Skip to content

Conversation

@khoung76642
Copy link
Contributor

Summary:

  • Fix UBC(delta) address setting when different board version
  • add shell commands
    -clock_ctrl
    -fru_print
    -jtag_mux
    -power_good_status
    -vqps
  • add VR_OSFP_3V3 firmware update
  • add blackbox events-smbus alert & fix power fault issue
  • modified power_steps_on power on one by one
  • add smbus alert trigger function
  • update new vr threshold
  • add LEAK2 trigger funciton(EVB FAB2)
  • add ASIC die temperature sensor LED control funciton
  • remove iris_power steps_on shell command debug message
  • modify ALL_VR_PM_ALERT_R_N trigger funciton execute immediately when trigger
  • when asic is updating it needs to turn off cpld RESET register all pins and will restore when update is finished
  • add shell_spi explanatory text
  • add U200051_IO init and reading data base on dc on/off
  • update VQPS shell command with unified control & status
  • add shell commands for delay_asic_rst and delay_module_pg
  • add CPLD power capping control shell command
  • add PCIe PERST control shell command
  • add soc_pwron_reset bit control support
  • update SENSOR_NUM_ASIC_P0V4_VDDQL_HBM0246_VOLT_V threshold
  • add fan control setting to cool down ASIC(EVB only)
  • IRIS boot0 update
  • add ads7066 & ad4058 sensor reading and test shell command
  • add iris smbus alert function
  • update power sequence
  • modified vqps shell cmd
  • add allow user to choose which reset IO to trigger on MMC
  • modified UBC Current UCR to 180000
  • modified pldm iris boot0 update by i2c_master_write
  • fix CLK enable shows “AEGIS” in name, change to "RAINBOW"
  • add temp status get all , strap_control_manual enable/disable
  • add new 4V2, 3V3CLK, P1V5_PLL_VDDA_OWL_E, P1V5_PLL_VDDA_OWL_W in power sequence, power good status, steps_on
  • add disable_steps_on functions that will disable all power to power off status
  • add showing the power good value when steps_on
  • edit some names
  • update VQPS shell command with unified control & status
  • add shell commands for delay_asic_rst and delay_module_pg
  • add CPLD power capping control shell command
  • add PCIe PERST control shell command
  • add soc_pwron_reset bit control support
  • update SENSOR_NUM_ASIC_P0V4_VDDQL_HBM0246_VOLT_V threshold
  • add fan control setting to cool down ASIC(EVB only)
  • IRIS boot0 update
  • add ads7066 & ad4058 sensor reading and test shell command
  • add iris temp sensor black box event and checking thread
  • modified PERST delay time base on 10ms adam
  • add iris smbus alert function
  • update power sequence adam
  • modified vqps shell cmd billy
  • add allow user to choose which reset IO to trigger on MMC
  • modified UBC Current UCR to 180000
  • modified pldm iris boot0 update by i2c_master_write
  • fix CLK enable shows “AEGIS” in name, change to "RAINBOW"
  • add temp status get all , strap_control_manual enable/disable adam
  • fix adc index error
  • modified adc_test read buf and buf_raw
  • update temperature threshold adam
  • fix strap pin mapping
  • fix adc index error
  • add U200052 ioexp. init and control function
  • add shell: get_fw_version force_read_asic
  • add 3v3osfp(EVB only) in power good status, power on and 1-steps on
  • add "get" for shell cmd "strap_control_manual" adam
  • move VR_HOT_EVB default init to tca6424a_init billy
  • add pca6416a_init to set HAMSA_MFIO19 default low billy
  • fix tca6424a mapping billy
  • fix delay pcie reset perm setting adam
  • thermal: move board_id init out of loop
  • thermal: update VR_HOT handling for temperature alert event
  • refactor status read and add success/fail flag
  • add iris temp sensor black box event and checking thread
  • modified power steps and add 4V2 pwrgd
  • modify soc_pcie_perst command function adam
  • add power_capping: enable autocomplete and simplify shell logic billy
  • add clock_status: autocomplete, all option, and CLK_GEN_100M_U86 billy
  • modify bootstrap default
  • add shell command "bmc_sensor get" to get P52V_ASIC_SENSE_PWR
  • add power_capping_control: VR_HOT IO exp support on EVB
  • add U200070_IO support and set default IO directions/values billy
  • update VQPS shell cmd for U200070 and EVT-specific bit mapping billy
  • add shell vr version get will check p3v3 and p5v pwrgd before get version

Test Plan:

  • Build code: Pass

Kevin Huang and others added 30 commits January 16, 2026 10:11
Summary:
- Version commit for sb-rb-20254201

Test Plan:
- Build code: Pass
- Check BIC version: Pass
Summary:
- add shell commands
	-shell_clock_ctrl
	-shell_fru
	-shell_jtag_mux
	-shell_power_good_status
	-shell_vqps

Test Plan:
- Build code: Pass
Summary:
- Version commit for sb-rb-20254301

Test Plan:
- Build code: Pass
- Check BIC version: Pass
Summary:
- update new vr threshold
- add LEAK2 trigger funciton(EVB FAB2)
- add ASIC die temperature sensor LED control funciton
- remove iris_power steps_on shell command debug message
- modify ALL_VR_PM_ALERT_R_N trigger funciton execute immediately when trigger
- when asic is updating it needs to turn off cpld RESET register all pins and restore when update is finished
- add shell_spi explanatory text

Test Plan:
- Build code: Pass
Summary:
- Version commit for sb-rb-20254501

Test Plan:
- Build code: Pass
- Check BIC version: Pass
Summary:
- Update new vr threshold
- add LEAK2 trigger funciton(EVB FAB2)
- add ASIC die temperature sensor LED control funciton
- remove iris_power steps_on shell command debug message
- modify ALL_VR_PM_ALERT_R_N trigger funciton execute immediately when trigger
- when asic is updating it needs to turn off cpld RESET register all pins and restore when update is finished

Test Plan:
- Build code: Pass
Summary:
- Add CPLD bit-level reset control (override/get/set)
- Implement read-modify-write for single-byte reset register
Test Plan:
- Build: Pass
- soc_pwron_reset override 0/1
- soc_pwron_reset get all
- soc_pwron_reset set <NAME> <0|1>
Summary:
- Add pcie_perst_control get/set/override commands
- Implement CPLD PERST register control with override ON=0xFF and OFF=0xF0
- Support individual bit control for HAMSA_PCIe0~3 PERST
Test Plan:
- Build: Pass
- pcie_perst_control override 0/1
- pcie_perst_control set <NAME> <0|1>
- pcie_perst_control get all
Summary:
- Implement power_capping_control shell command
- Support get/set operations for LV1/LV2/LV3 power capping bits
- Add override command to quickly switch all power capping levels on/off
Test Plan:
- Build: pass
- power_capping_control get all: pass
- power_capping_control set <NAME> <0|1>: pass
- power_capping_control override <0|1>: pass
S-J-Tang and others added 21 commits January 16, 2026 12:20
Summary:
- Route VR_HOT get/set to TCA6424A IO expander on EVB boards
- Keep VR_HOT control via CPLD on Rainbow boards
- Use tca6424a_i2c_read() / tca6424a_i2c_write_bit() to access VR_HOT bit
Test Plan:
- Build: pass
- Rainbow: `power_capping_control get all` and `set MEDHA*_PWR_CAP_* <0|1>` work as before
- EVB: `power_capping_control get all` shows VR_HOT from IO expander
- EVB: `power_capping_control set VR_HOT <0|1>` correctly toggles IO expander VR_HOT bit
Summary:
- Unified register read flow and removed duplicated code
- Append "success!" when status == 0x00, otherwise "fail!"
Test Plan:
- Build: pass
- clock_status get/all works as expected
Summary:
- Reordered power good checks to align with the defined power sequence
Test Plan:
- Build: Pass
- Verified power good sequence with power-on sequence
Summary:
- Added pca6416a_init() to initialize PCA6416A IO expander during boot
- Set HAMSA_MFIO19 output bit to default 0 using tca6424a_i2c_write_bit()
- Ensures VR_HOT (EVB) starts in a known-safe state
Test Plan:
- Build: pass
- Verified HAMSA_MFIO19 reads back as 0 after initialization
Summary:
- Replaced original HAMSA_MFIO_REG update logic with ASIC_VR_HOT_SWITCH control
- Added board-specific VR_HOT handling:
  * Rainbow: drive VR_HOT via CPLD register ASIC_VR_HOT_SWITCH
  * EVB: drive VR_HOT via TCA6424A IO expander using tca6424a_i2c_write_bit()
- Unified temperature alert flow to trigger VR_HOT through the new mechanism
Test Plan:
- Build: pass
- Verified VR_HOT behavior on Rainbow and EVB during temperature alert
Summary:
- Declared board_id outside the for-loop to avoid repeated get_asic_board_id() calls
Test Plan:
- Build: pass
Summary:
- fix delay pcie reset perm setting
Test Plan:
- Build: Pass
- verify "delay_pcie_perst set perm" and "perm_config" command
Summary:
- Moved HAMSA_MFIO19 (VR_HOT_EVB_BIT) default 0 initialization from pca6416a_init to tca6424a_init
Test Plan:
- Build: pass
Summary:
- fix power good status shell sequence
Test Plan
- Build code: Pass
Summary:
- add sub command "get" for strap_control_manual to get STRAP_HIZ_EN
  status
Test Plan:
- Build code: pass
Summary:
- fix adc index error
- add U200052 ioexp. init and control function
- add shell: get_fw_version force_read_asic
- add 3v3osfp(EVB only) in power good status, power on and 1-steps on

Test Plan:
- Build code: Pass
Summary:
- Add new VQPS control item: P1V8_OWL_EW_VQPS_EN.
- EVB EVT1B: control via TCA6424A (OUTPUT_PORT_2).
- EVB EVT2: control via PCA6554APW IO expander.
- Non-EVB boards reject this control item.
Test Plan:
- Build code: pass
- Verified vqps get/set behavior on EVT1B & EVT2.
Summary:
- Implement TRAY_INFO_REG handling in i2c target reply path
- Return 2-byte data: { mmc_slot, tray_location }
Test Plan:
- Build code: Pass
- Verified TRAY_INFO_REG read returns correct values
Summary:
- Add support for U200070_IO device.
- Initialize IO3–IO5 as input (1).
- Initialize IO0, IO1, IO2, IO7 as output with default value 0.
Test Plan:
- Build code: Pass
- Verified U200070_IO init sets correct direction and default outputs.
Summary:
- Change VQPS shell command handling from U200052 to U200070 IO expander.
- Update P1V8_OWL_EW_VQPS_EN bit mapping:
  - EVT1B → bit 1
  - EVT2  → bit 7
Test Plan:
- Build code: Pass
- Verified VQPS get/set works correctly on EVT1B and EVT2 boards.
Summary:
- Version commit for sb-rb-20254901

Test Plan:
- Build code: Pass
- Check BIC version: Pass
@meta-cla meta-cla bot added the CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. label Jan 16, 2026
@meta-codesync
Copy link

meta-codesync bot commented Jan 16, 2026

@facebook-github-bot has imported this pull request. If you are a Meta employee, you can view this in D90850843. (Because this pull request was imported automatically, there will not be any future comments.)

@facebook-github-bot
Copy link
Contributor

@khoung76642 has updated the pull request. You must reimport the pull request before landing.

@khoung76642
Copy link
Contributor Author

For these error is that different init will have different device, so this is for our design
meta-facebook/sb-rb/src/platform/plat_adc.c:291:24:Local variable 'cs_ctrl' shadows outer variable
meta-facebook/sb-rb/src/platform/plat_adc.c:351:24:Local variable 'cs_ctrl' shadows outer variable
meta-facebook/sb-rb/src/platform/plat_adc.c:403:24:Local variable 'cs_ctrl' shadows outer variable
meta-facebook/sb-rb/src/platform/plat_adc.c:472:24:Local variable 'cs_ctrl' shadows outer variable
meta-facebook/sb-rb/src/platform/plat_adc.c:530:24:Local variable 'cs_ctrl' shadows outer variable
meta-facebook/sb-rb/src/platform/plat_adc.c:587:24:Local variable 'cs_ctrl' shadows outer variable

But this one we checked there is no problem of logic:
meta-facebook/sb-rb/src/platform/plat_i2c_target.c:576:23:Condition 'data_type==VR_TIME_WINDOW' is always true

@meta-codesync meta-codesync bot closed this in bfda410 Jan 16, 2026
@meta-codesync
Copy link

meta-codesync bot commented Jan 16, 2026

This pull request has been merged in bfda410.

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

Labels

CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. Merged

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants