12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- From 3ab0c4b6aa76a4dedb51c4e800b5b4ba29187c46 Mon Sep 17 00:00:00 2001
- From: James Hughes <[email protected]>
- Date: Thu, 31 Oct 2019 14:39:44 +0000
- Subject: [PATCH] net:phy:2711 Allow ethernet LED mode to be set via
- device tree
- Add device tree entries and code to allow the specification of
- the lighting modes for the LED's on the ethernet connector.
- Signed-off-by: James Hughes <[email protected]>
- ---
- drivers/net/phy/broadcom.c | 9 +++++++--
- 1 file changed, 7 insertions(+), 2 deletions(-)
- --- a/drivers/net/phy/broadcom.c
- +++ b/drivers/net/phy/broadcom.c
- @@ -314,6 +314,9 @@ static void bcm54xx_adjust_rxrefclk(stru
- static int bcm54xx_config_init(struct phy_device *phydev)
- {
- int reg, err, val;
- + u32 led_modes[] = {BCM_LED_MULTICOLOR_LINK_ACT,
- + BCM_LED_MULTICOLOR_LINK_ACT};
- + struct device_node *np = phydev->mdio.dev.of_node;
-
- reg = phy_read(phydev, MII_BCM54XX_ECR);
- if (reg < 0)
- @@ -369,6 +372,8 @@ static int bcm54xx_config_init(struct ph
-
- bcm54xx_phydsp_config(phydev);
-
- + of_property_read_u32_array(np, "led-modes", led_modes, 2);
- +
- /* Encode link speed into LED1 and LED3 pair (green/amber).
- * Also flash these two LEDs on activity. This means configuring
- * them for MULTICOLOR and encoding link/activity into them.
- @@ -378,8 +383,8 @@ static int bcm54xx_config_init(struct ph
- bcm_phy_write_shadow(phydev, BCM5482_SHD_LEDS1, val);
-
- val = BCM_LED_MULTICOLOR_IN_PHASE |
- - BCM5482_SHD_LEDS1_LED1(BCM_LED_MULTICOLOR_LINK_ACT) |
- - BCM5482_SHD_LEDS1_LED3(BCM_LED_MULTICOLOR_LINK_ACT);
- + BCM5482_SHD_LEDS1_LED1(led_modes[0]) |
- + BCM5482_SHD_LEDS1_LED3(led_modes[1]);
- bcm_phy_write_exp(phydev, BCM_EXP_MULTICOLOR, val);
-
- return 0;
|