Skip to content

Conversation

@ec-michael-shih
Copy link
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
black................................................(no files to check)Skipped
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...............................................................Passed
check for merge conflicts................................................Passed
ruff check...........................................(no files to check)Skipped

Summary

On the Wedge800 series, 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 the latest DOM_FPGA PLD firmware (wedge800_domfpga.v8005_golden_wedge800_domfpga.v0005_primary.bin) 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-1. Wedge800 BACT: led_service_hw_test (LED color change) — PASSED
w800b_2026_01_22_11_44_led_color_change_test_passed.txt
1-2. Wedge800 CACT: led_service_hw_test (LED color change) — PASSED
w800c_2026_01_21_11_12_led_color_change_test_passed.txt
2-1. Wedge800 BACT: led_service_hw_test (LED blinking test) — PASSED
w800b_2026_01_22_11_44_led_blink_test_passed.txt
2-2. Wedge800 CACT: led_service_hw_test (LED blinking test) — PASSED
w800c_2026_01_21_11_12_led_blink_test_passed.txt
3-1. Wedge800 BACT: Verified register value consistency for Port 1 ~ Port 33 — PASSED
w800b_2026_01_22_11_44_led_unitest_passed.txt
3-2. Wedge800 CACT: Verified register value consistency for Port 1 ~ Port 33 — PASSED
w800c_2026_01_21_11_12_led_unitest_passed.txt

Signed-off-by: michael_shih <michael_shih@accton.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants