Skip to content

[Celestica] Icecubem: Config: Introduce icecubem platform configs for Netlake2.0#1352

Draft
zhongedward wants to merge 1 commit into
facebook:mainfrom
zhongedward:add_icecubem_platform_configs_for_Netlake2.0
Draft

[Celestica] Icecubem: Config: Introduce icecubem platform configs for Netlake2.0#1352
zhongedward wants to merge 1 commit into
facebook:mainfrom
zhongedward:add_icecubem_platform_configs_for_Netlake2.0

Conversation

@zhongedward

Copy link
Copy Markdown
Contributor

Pre-submission checklist

  • I've ran the linters locally and fixed lint errors related to the files I modified in this PR. You can install the linters by running pip install -r requirements-dev.txt && pre-commit install
  • pre-commit run
icecube

Summary

This PR implements and brings up the initial icecubem platform configurations for Netlake 2.0 by leveraging and extending the topology baselines from the existing icecube platform heritage.

Key Changes

1. Platform Manager (platform_manager)

  • IDL Enum Registry: Updated platform_manager_validators.thrift to support ICECUBEM_MCB and register the icecubem asset token within the ALLOWED_PMUNIT_NAMES list.
  • Bus Abstraction: Standardized the CPU side bus naming abstraction using the unified virtual bus CPU_BUS.
  • Hardware Identification: Implemented the runtime pmUnitConfigs and versionedPmUnitConfigs engines specialized for NETLAKE20 board tracking.
  • Sysfs Paths & Mappings: Updated the symbolicLinkToDevicePath configurations and sysfs discovery paths to fully align with the new NETLAKE20 I2C switch topology routing.

2. Sensor Service (sensor_service)

  • Telemetry Mapping: Added NETLAKE20 sensor dictionary profiles, monitoring thresholds, and platform-specific sysfs paths to support the redesigned physical layout.
  • Note: Please refer to the golden master spreadsheet for the exact threshold definitions: Google Drive: icecubem_netlake2.0_sensor_thresholds

3. Firmware Utility (fw_util)

  • SPI Flash Logic: Updated the fw_util action blueprint for BIOS upgrades to properly orchestrate NETLAKE20 specific flash sequences.
  • BSP Dependency Note: The underlying flashrom bin utility needs to explicitly support the AMD secure boot BIOS upgrade sequence; the corresponding package update patch will be pushed independently to the BSP tracking repository.

4. BSP Tests (bsp_tests)

  • Sanity Validation: Updated the bsp_tests.json config map to enable full test matrix harness support for the icecubem asset class.

5. Config Adjustments & Retained Profiles

  • Fan Service (fan_service.json): Updated the sensor name alignment from CPU_UNCORE_TEMP to COME_U1_CPU_UNCORE_TEMP to fully match the revised sysfs telemetry naming standard on Netlake 2.0. The PID settings (kp, ki, kd) and pwm threshold behaviors remain unchanged.
  • Retained Configs (Pass-Through): Checked in with No Changes (inherits baseline attributes directly): led_manager.json and rma_showtech.json.

Test Plan

Platform Services build validation and schema verification have successfully passed with zero compiler warnings.
The comprehensive target validation covered the following engineering criteria (all results returned PASS):

  1. Software/Platform Layers: Verified core initialization daemons, utilities runtime, and service unit tests.
  2. Hardware & Driver Interface: Full evaluation of HW sysfs handles and underlying BSP layer mapping stability.
  3. Component Multi-Sourcing (Infineon Verified): Fully verified telemetry consistency and register stability across all Infineon (Primary Source) power rails components.
    • Note on MPS (Secondary Source): The multi-sourcing code architecture for Monolithic Power Systems (MPS) regulators has been completely implemented and validated via static schema checks. Physical hardware validation for MPS rails will be performed in a subsequent delta task once the secondary-source board becomes available from the hardware pool.

The complete test execution tracker and comprehensive diagnostic log files are securely archived here:
Google Drive: icecubem_netlake2.0_before_bringup_fboss_test

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

1 participant