Skip to content

[Accton][wedge800bact] Update Port33 mapping for dual-LED control.#1116

Open
ec-michael-shih wants to merge 1 commit into
facebook:mainfrom
ec-michael-shih:20260422_w800b_port33_support_dual_led_control
Open

[Accton][wedge800bact] Update Port33 mapping for dual-LED control.#1116
ec-michael-shih wants to merge 1 commit into
facebook:mainfrom
ec-michael-shih:20260422_w800b_port33_support_dual_led_control

Conversation

@ec-michael-shih

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
clang-format.............................................................Passed
shellcheck...........................................(no files to check)Skipped
shfmt................................................(no files to check)Skipped
trim trailing whitespace.................................................Passed
fix end of files.........................................................Passed
check yaml...........................................(no files to check)Skipped
check json...........................................(no files to check)Skipped
check for merge conflicts................................................Passed
ruff check...........................................(no files to check)Skipped
ruff format..........................................(no files to check)Skipped

Summary

On the Wedge800bact, Port 33 (QSFP/Service Port) is equipped with two LEDs. Currently, both LEDs operate simultaneously (mirrored behavior).
To meet new behavioral requirements, we are updating the logic to allow these two LEDs to operate independently.

This modification requires DOM_FPGA PLD firmware (wedge800_domfpga.v8005_golden_wedge800_domfpga.v0005_primary.bin) or a newer version to achieve the intended effect.

Note on Compatibility:
If the system is not paired with the new DOM_FPGA PLD version, this PR will not cause any side effects. The LEDs will simply maintain their original behavior (operating simultaneously).

Implementation Details

  1. Configuration Update (platform_manager.json)
    Updated Port 33 configuration to specify two LEDs instead of one.
    Calculated and assigned unique register addresses for both LEDs:
    --
    Port33-LED1: 0xfb540590
    Port33-LED2: 0xfb540594
    --

  2. BSP Mapping Update (Wedge800xACT_BspMapping.csv)
    Added the data structure for Port33-LED2 (ID=98).
    Regenerated the BSP platform mapping JSON files using the fboss/lib/bsp/bspmapping/run-helper.sh utility.

Verification Results:
Verified that both register addresses are accessible and writable using devmem2:

Bash
# Set value to 0x9 for both LEDs
[root@localhost ~]# devmem2 0xfb540590 w 0x9
[root@localhost ~]# devmem2 0xfb540594 w 0x9
# Readback
[root@localhost ~]# devmem2 0xfb540590  # Returns 0x00000009
[root@localhost ~]# devmem2 0xfb540594  # Returns 0x00000009

# Set value to 0x19 for both LEDs
[root@localhost ~]# devmem2 0xfb540590 w 0x19
[root@localhost ~]# devmem2 0xfb540594 w 0x19
# Readback
[root@localhost ~]# devmem2 0xfb540590  # Returns 0x00000019
[root@localhost ~]# devmem2 0xfb540594  # Returns 0x00000019

# Set value to 0x1d (Default/Steady state)
[root@localhost ~]# devmem2 0xfb540590 w 0x1d
[root@localhost ~]# devmem2 0xfb540594 w 0x1d
# Readback
[root@localhost ~]# devmem2 0xfb540590  # Returns 0x0000001d
[root@localhost ~]# devmem2 0xfb540594  # Returns 0x0000001d

Test Plan

  1. Wedge800 BACT: led_service_hw_test (LED color change) — PASSED
    w800b_2026_01_22_11_44_led_color_change_test_passed.txt
  2. Wedge800 BACT: led_service_hw_test (LED blinking test) — PASSED
    w800b_2026_01_22_11_44_led_blink_test_passed.txt
  3. Wedge800 BACT: Verified register value consistency for Port 1 ~ Port 33 — PASSED
    w800b_2026_01_22_11_44_led_unitest_passed.txt
Signed-off-by: michael_shih <michael_shih@accton.com>
@ec-michael-shih ec-michael-shih requested a review from a team as a code owner April 22, 2026 10:08
@meta-cla meta-cla Bot added the CLA Signed label Apr 22, 2026
@ec-michael-shih

ec-michael-shih commented Apr 22, 2026

Copy link
Copy Markdown
Contributor Author

Extracted from #890.
This PR provides the necessary updates for the Wedge800 CPU migration to NL2. As the related platform_manager.json modifications are already merged(#1068), this PR is required to ensure system compatibility.

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

1 participant