Skip to content

Commit c03ed60

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 cbf015d commit c03ed60

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
@@ -520,6 +520,7 @@ static int bcm54xx_config_init(struct phy_device *phydev)
520520
* these settings will cause LOS to malfunction.
521521
*/
522522
if (!phy_on_sfp(phydev)) {
523+
int led_swap = of_property_read_bool(np, "led-swap") ? 1 : 0;
523524
val = BCM54XX_SHD_LEDS1_LED1(BCM_LED_SRC_MULTICOLOR1) |
524525
BCM54XX_SHD_LEDS1_LED3(BCM_LED_SRC_MULTICOLOR1);
525526
bcm_phy_write_shadow(phydev, BCM54XX_SHD_LEDS1, val);
@@ -534,8 +535,8 @@ static int bcm54xx_config_init(struct phy_device *phydev)
534535
bcm_phy_write_shadow(phydev, BCM54XX_SHD_LEDS2, reg);
535536

536537
val = BCM_LED_MULTICOLOR_IN_PHASE |
537-
BCM54XX_SHD_LEDS1_LED1(led_modes[0]) |
538-
BCM54XX_SHD_LEDS1_LED3(led_modes[1]);
538+
BCM54XX_SHD_LEDS1_LED1(led_modes[0 ^ led_swap]) |
539+
BCM54XX_SHD_LEDS1_LED3(led_modes[1 ^ led_swap]);
539540
bcm_phy_write_exp(phydev, BCM_EXP_MULTICOLOR, val);
540541
}
541542

0 commit comments

Comments
 (0)