Skip to content

Commit 7bcefae

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 7887fea commit 7bcefae

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
@@ -536,6 +536,7 @@ static int bcm54xx_config_init(struct phy_device *phydev)
536536
* these settings will cause LOS to malfunction.
537537
*/
538538
if (!phy_on_sfp(phydev)) {
539+
int led_swap = of_property_read_bool(np, "led-swap") ? 1 : 0;
539540
val = BCM54XX_SHD_LEDS1_LED1(BCM_LED_SRC_MULTICOLOR1) |
540541
BCM54XX_SHD_LEDS1_LED3(BCM_LED_SRC_MULTICOLOR1);
541542
bcm_phy_write_shadow(phydev, BCM54XX_SHD_LEDS1, val);
@@ -550,8 +551,8 @@ static int bcm54xx_config_init(struct phy_device *phydev)
550551
bcm_phy_write_shadow(phydev, BCM54XX_SHD_LEDS2, reg);
551552

552553
val = BCM_LED_MULTICOLOR_IN_PHASE |
553-
BCM54XX_SHD_LEDS1_LED1(led_modes[0]) |
554-
BCM54XX_SHD_LEDS1_LED3(led_modes[1]);
554+
BCM54XX_SHD_LEDS1_LED1(led_modes[0 ^ led_swap]) |
555+
BCM54XX_SHD_LEDS1_LED3(led_modes[1 ^ led_swap]);
555556
bcm_phy_write_exp(phydev, BCM_EXP_MULTICOLOR, val);
556557
}
557558

0 commit comments

Comments
 (0)