Skip to content

Commit a8cff4a

Browse files
pelwellpopcornmix
authored andcommitted
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 ff67d4e commit a8cff4a

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
@@ -518,6 +518,7 @@ static int bcm54xx_config_init(struct phy_device *phydev)
518518
* these settings will cause LOS to malfunction.
519519
*/
520520
if (!phy_on_sfp(phydev)) {
521+
int led_swap = of_property_read_bool(np, "led-swap") ? 1 : 0;
521522
val = BCM54XX_SHD_LEDS1_LED1(BCM_LED_SRC_MULTICOLOR1) |
522523
BCM54XX_SHD_LEDS1_LED3(BCM_LED_SRC_MULTICOLOR1);
523524
bcm_phy_write_shadow(phydev, BCM54XX_SHD_LEDS1, val);
@@ -532,8 +533,8 @@ static int bcm54xx_config_init(struct phy_device *phydev)
532533
bcm_phy_write_shadow(phydev, BCM54XX_SHD_LEDS2, reg);
533534

534535
val = BCM_LED_MULTICOLOR_IN_PHASE |
535-
BCM54XX_SHD_LEDS1_LED1(led_modes[0]) |
536-
BCM54XX_SHD_LEDS1_LED3(led_modes[1]);
536+
BCM54XX_SHD_LEDS1_LED1(led_modes[0 ^ led_swap]) |
537+
BCM54XX_SHD_LEDS1_LED3(led_modes[1 ^ led_swap]);
537538
bcm_phy_write_exp(phydev, BCM_EXP_MULTICOLOR, val);
538539
}
539540

0 commit comments

Comments
 (0)