Skip to content

sb: el: sync 2026.16.01 to 2026.19.01 release updates#2719

Open
S-J-Tang wants to merge 25 commits into
facebook:mainfrom
S-J-Tang:sb-el_20261901_release
Open

sb: el: sync 2026.16.01 to 2026.19.01 release updates#2719
S-J-Tang wants to merge 25 commits into
facebook:mainfrom
S-J-Tang:sb-el_20261901_release

Conversation

@S-J-Tang
Copy link
Copy Markdown
Contributor

Summary

This PR syncs the Santa Barbara Electra release updates from 2026.16.01 through 2026.19.01, including EVB power/control flow refinement, IO expander and CPLD polling updates, I2C target telemetry support, I2C/NPCM patch integration, and related platform adjustments.

Features
-Refine EVB IO expander, bootstrap, and OSFP P3V3 control flow
-Add CPLD polling shell control and fix power capping time window validation
-Add I2C target telemetry support, including telemetry table initialization, telemetry read reply handling, and master write thread -handling
-Update PLDM_MAX_DATA_SIZE to 1450
-Update EVB GPIO and JTAG mux mappings
-Refine EVB CPLD polling, ASIC reset sync, and DC-on handling flow
-Enable I2C target on bus 4, 5, 7, and 8
-Extend DC-on delay from 1000 ms to 1500 ms

Included releases
-2026.16.01
-2026.17.01
-2026.18.01
-2026.19.01

Test Plan
-Build code: Pass
-Function check: Pass

S-J-Tang added 24 commits May 15, 2026 18:17
Summary:
- Add helper function to sync ASIC reset status from CPLD to IO expanders
- Update U200070, U200053, and U200052 output ports based on ASIC reset status
- Trigger reset status sync in CPLD polling flow on EVB

Test Plan:
- Build code: Pass
- Function check:Pass
Summary:
- Increase DC on wait time from 1000 ms to 1500 ms
- Allow additional delay for DC on status to become stable before handling follow-up flow

Test Plan:
- Build code: Pass
- Verify DC on flow works with 1500 ms delay
Summary:
- Enable I2C target on bus 4, 5, 7, and 8 in 1-based numbering
- Assign target address 0x40 to bus 4, 5, and 8
- Keep target address 0x42 on bus 7
- Add command_reply_data_handle callback for enabled 0x40 targets

Test Plan:
- Build code: Pass
- Function check: Pass
Summary:
- Add EVB-only function to read U200052 io0~io5 PWRGD status
- Disable U200051 FM_P3V3_P1~P6_EN when corresponding PWRGD is high
- Enable U200051 FM_P3V3_P1~P6_EN when corresponding PWRGD is low
- Call the sync flow from CPLD polling

Test Plan:
- Build code: Pass
- Verify U200051 output changes match U200052 PWRGD input status
Summary:
- Change GPIO B1, 03, 04, and 20 from push-pull to open-drain

Test Plan:
- Build code: Pass
Summary:
- Add `is_mb_dc_on()` check in `plat_poll_cpld_registers()`
- Run EVB reset status sync and OSFP P3V3 sync only after MB DC-on
- Align CPLD polling behavior with EVB power state flow
- Follow related changes from commits:
  - `2a392b993dee964d3fd9c0d67262f0fbc430aed8`
  - `fa70cf4bc6d7ea46a4ab84223b33f1af7c3f740f`

Test Plan:
- Build code: Pass
Summary:
- Change `FM_OWL_E_JTAG_MUX_SEL_01` from `GPIOB3` to `GPIOB1`

Test Plan:
- Build code: Pass
Summary:
- Update `PLDM_MAX_DATA_SIZE` to `1450`

Test Plan:
- Build code: Pass
Summary:
- Enable EVB-specific power-on flow in `shell_arke_power.c`
- Trigger `steps_on_p3v3_osfp()` after `FM_P1V80_EN` for EVB boards
- Enable EVB bootstrap handling in `shell_plat_bootstrap.c`
- Block MFIO6, MFIO8, and MFIO10 changes when related TEST_STRAP drive level is 0

Test Plan:
- Build code: Pass
- Function check: Pass
Summary:
  - Version commit for 2026.16.01.

Test Plan:
  - Build code: Pass
  - Function check: Pass
Summary:
- Change OSFP P3V3 sync flow to read PWRGD status from `U200053`
- Update `FM_P3V3_P1~P6_EN` control based on `U200053` input status
- Keep EVB-only OSFP P3V3 enable synchronization flow

Test Plan:
- Build code: Pass
- Verify OSFP P3V3 enable state follows `U200053` input status correctly
Summary:
- Adjust IO expander bootstrap init sequence
- Write bootstrap value before setting pin configuration to output
- Prevent default output value from being driven during output mode transition

Test Plan:
- Build code: Pass
Summary:
  - Version commit for 2026.17.01.

Test Plan:
  - Build code: Pass
  - Function check: Pass
Summary:
- Fix range check condition for `value` in `set_power_capping_time_w()`
- Change invalid value check from `&&` to `||`
- Prevent out-of-range power capping time window values from being accepted

Test Plan:
- Build code: Pass
Summary:
- Set output value before configuring IO expander direction
- Update U200051, U200052, U200053, and U200070 init flow

Test Plan:
- Build code: Pass
Summary:
- Add `init_U200051_IO()` to EVB initialization in `pal_post_init()`
- Add `init_U200051_IO()` to EVB DC-on flow in `ISR_GPIO_RST_ARKE_PWR_ON_PLD_R1_N()`
- Remove on-demand `U200051` init logic from `quick_sensor_poll_handler()`
- Remove `power_on_p3v3_osfp()` call from the power-on flow
- Remove `set_ioe_init_flag(0)` handling
- Simplify EVB IO expander initialization flow

Test Plan:
- Build code: Pass
- Function check: Pass
Summary:
- Update `init_U200051_IO()` to read `U200053` input before setting `U200051` output
- Initialize `U200051` bit0~bit5 according to `U200053` bit0~bit5 status
- Keep `U200051` bit7 default output set to 1
- Fall back to default output value if reading `U200053` fails

Related:
- `7188b3b66608a08b59844de97c659c97ba6a1d81`

Test Plan:
- Build code: Pass
Summary:
- Add CPLD polling control in `set_sensor_polling`
- Support enabling and disabling CPLD polling
- Update polling status output to include CPLD state

Test Plan:
- Build code: Pass
- Function check: Pass
Summary:
- Remove EVB-specific OSFP P3V3 power-on flow from `shell_arke_power.c`
- Remove `steps_on_p3v3_osfp()`, `power_on_p3v3_osfp()`, and `power_off_p3v3_osfp()`
- Remove `ioe_pwr_on_table` and related OSFP P3V3 shell handling
- Stop inserting EVB OSFP P3V3 sequence after `FM_P1V80_EN`

Related:
- `7188b3b66608a08b59844de97c659c97ba6a1d81`

Test Plan:
- Build code: Pass
Summary:
- Version commit for 2026.18.01.

Test Plan:
- Build code: Pass
- Function check: Pass
Summary:
- Add `plat_telemetry_table_init()` for platform telemetry table setup
- Initialize telemetry-related sensor reading table before I2C target telemetry access
- Prepare cached sensor reading data for target command handling

Test Plan:
- Build code: Pass
Summary:
- Add `command_reply_data_handle()` to handle I2C target telemetry replies
- Return telemetry data based on register offset mapping
- Support cached telemetry response flow for target read requests

Related:
- `9c083cc74467037988c4978e4d75dd5ea9739921`

Test Plan:
- Build code: Pass
…mands

Summary:
- Add `plat_master_write_thread_handler()` to process I2C target write commands
- Add master write thread initialization in telemetry setup flow
- Support handling bootstrap update, sensor polling control, and I2C bridge command requests
- Dispatch target write requests through workqueue-based handlers

Related:
- `9c083cc74467037988c4978e4d75dd5ea9739921`
- `34b977331cb47bd66b24c2e9bc474b12060bc0ea`

Test Plan:
- Build code: Pass
Summary:
- Version commit for 2026.19.01.

Test Plan:
- Build code: Pass
- Function check: 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 May 15, 2026
@meta-codesync
Copy link
Copy Markdown
Contributor

meta-codesync Bot commented May 15, 2026

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

Summary:
- Replace redundant `else if` with `else` in power capping mode handling
- Fix always-true condition reported by cppcheck

Test Plan:
- Build code: Pass
@facebook-github-tools
Copy link
Copy Markdown

@S-J-Tang has updated the pull request. You must reimport the pull request before landing.

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.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant