Skip to content

Commit 9e24315

Browse files
committed
net: phy: broadcom: Add led-swap property support
Extend the LED control features of the led-modes property by adding a led-swap property. This allows the same led-modes values to be used across designs where the LED assignments differ. Signed-off-by: Phil Elwell <[email protected]>
1 parent 407877a commit 9e24315

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

drivers/net/phy/broadcom.c

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -508,6 +508,7 @@ static int bcm54xx_config_init(struct phy_device *phydev)
508508
* these settings will cause LOS to malfunction.
509509
*/
510510
if (!phy_on_sfp(phydev)) {
511+
int led_swap = of_property_read_bool(np, "led-swap") ? 1 : 0;
511512
val = BCM54XX_SHD_LEDS1_LED1(BCM_LED_SRC_MULTICOLOR1) |
512513
BCM54XX_SHD_LEDS1_LED3(BCM_LED_SRC_MULTICOLOR1);
513514
bcm_phy_write_shadow(phydev, BCM54XX_SHD_LEDS1, val);
@@ -522,8 +523,8 @@ static int bcm54xx_config_init(struct phy_device *phydev)
522523
bcm_phy_write_shadow(phydev, BCM54XX_SHD_LEDS2, reg);
523524

524525
val = BCM_LED_MULTICOLOR_IN_PHASE |
525-
BCM54XX_SHD_LEDS1_LED1(led_modes[0]) |
526-
BCM54XX_SHD_LEDS1_LED3(led_modes[1]);
526+
BCM54XX_SHD_LEDS1_LED1(led_modes[0 ^ led_swap]) |
527+
BCM54XX_SHD_LEDS1_LED3(led_modes[1 ^ led_swap]);
527528
bcm_phy_write_exp(phydev, BCM_EXP_MULTICOLOR, val);
528529
}
529530

0 commit comments

Comments
 (0)