提交 f6854010 编写于 作者: J James Hughes 提交者: Zheng Zengkai

net:phy:2711 Allow ethernet LED mode to be set via device tree

raspberrypi inclusion
category: feature
bugzilla: 50432

--------------------------------

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: NJames Hughes <james.hughes@raspberrypi.org>
Signed-off-by: NFang Yafen <yafen@iscas.ac.cn>
Signed-off-by: NZheng Zengkai <zhengzengkai@huawei.com>
上级 de083101
...@@ -257,6 +257,9 @@ static void bcm54xx_adjust_rxrefclk(struct phy_device *phydev) ...@@ -257,6 +257,9 @@ static void bcm54xx_adjust_rxrefclk(struct phy_device *phydev)
static int bcm54xx_config_init(struct phy_device *phydev) static int bcm54xx_config_init(struct phy_device *phydev)
{ {
int reg, err, val; 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); reg = phy_read(phydev, MII_BCM54XX_ECR);
if (reg < 0) if (reg < 0)
...@@ -305,6 +308,8 @@ static int bcm54xx_config_init(struct phy_device *phydev) ...@@ -305,6 +308,8 @@ static int bcm54xx_config_init(struct phy_device *phydev)
bcm54xx_phydsp_config(phydev); 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). /* Encode link speed into LED1 and LED3 pair (green/amber).
* Also flash these two LEDs on activity. This means configuring * Also flash these two LEDs on activity. This means configuring
* them for MULTICOLOR and encoding link/activity into them. * them for MULTICOLOR and encoding link/activity into them.
...@@ -314,8 +319,8 @@ static int bcm54xx_config_init(struct phy_device *phydev) ...@@ -314,8 +319,8 @@ static int bcm54xx_config_init(struct phy_device *phydev)
bcm_phy_write_shadow(phydev, BCM5482_SHD_LEDS1, val); bcm_phy_write_shadow(phydev, BCM5482_SHD_LEDS1, val);
val = BCM_LED_MULTICOLOR_IN_PHASE | val = BCM_LED_MULTICOLOR_IN_PHASE |
BCM5482_SHD_LEDS1_LED1(BCM_LED_MULTICOLOR_LINK_ACT) | BCM5482_SHD_LEDS1_LED1(led_modes[0]) |
BCM5482_SHD_LEDS1_LED3(BCM_LED_MULTICOLOR_LINK_ACT); BCM5482_SHD_LEDS1_LED3(led_modes[1]);
bcm_phy_write_exp(phydev, BCM_EXP_MULTICOLOR, val); bcm_phy_write_exp(phydev, BCM_EXP_MULTICOLOR, val);
return 0; return 0;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册