1
0
Fork 0
mirror of https://github.com/Ysurac/openmptcprouter.git synced 2025-02-15 04:42:02 +00:00
openmptcprouter/root/target/linux/bcm27xx/patches-5.15/950-0184-net-phy-2711-Allow-ethernet-LED-mode-to-be-set-via-d.patch

56 lines
2 KiB
Diff
Raw Normal View History

2022-04-22 15:00:47 +00:00
From 2fb210003b2001472850579242c46cc17392f5e1 Mon Sep 17 00:00:00 2001
2021-11-24 17:32:01 +00:00
From: James Hughes <james.hughes@raspberrypi.org>
Date: Thu, 31 Oct 2019 14:39:44 +0000
2022-04-22 15:00:47 +00:00
Subject: [PATCH 184/828] net:phy:2711 Allow ethernet LED mode to be set via
2021-11-24 17:32:01 +00:00
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 <james.hughes@raspberrypi.org>
net:phy:2711 Change the default ethernet LED actions
This should return default behaviour back to that of previous
releases.
---
drivers/net/phy/broadcom.c | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)
--- a/drivers/net/phy/broadcom.c
+++ b/drivers/net/phy/broadcom.c
2022-04-22 15:00:47 +00:00
@@ -316,6 +316,9 @@ static void bcm54xx_adjust_rxrefclk(stru
2021-11-24 17:32:01 +00:00
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};
+ struct device_node *np = phydev->mdio.dev.of_node;
reg = phy_read(phydev, MII_BCM54XX_ECR);
if (reg < 0)
2022-04-22 15:00:47 +00:00
@@ -371,10 +374,10 @@ static int bcm54xx_config_init(struct ph
2021-11-24 17:32:01 +00:00
bcm54xx_phydsp_config(phydev);
+ of_property_read_u32_array(np, "led-modes", led_modes, 2);
+
/* For non-SFP setups, 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.
* Don't do this for devices on an SFP module, since some of these
* use the LED outputs to control the SFP LOS signal, and changing
* these settings will cause LOS to malfunction.
2022-04-22 15:00:47 +00:00
@@ -385,8 +388,8 @@ static int bcm54xx_config_init(struct ph
2021-11-24 17:32:01 +00:00
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);
}