1
0
Fork 0
mirror of https://github.com/Ysurac/openmptcprouter.git synced 2025-02-15 04:42:02 +00:00
openmptcprouter/6.6/target/linux/bcm27xx/patches-6.6/0409-net-phy-broadcom-Make-LEDs-3-4-shadow-LEDs-1-2.patch
Ycarus (Yannick Chabanois) 12de1d2995 Add RPI kernel 6.6 support
2024-04-05 20:55:33 +02:00

40 lines
1.6 KiB
Diff

From 665ff200d402e36937e42d9a710e4d11343f35e8 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.com>
Date: Tue, 3 Jan 2023 16:00:21 +0000
Subject: [PATCH 0409/1002] net: phy: broadcom: Make LEDs 3+4 shadow LEDs 1+2
CM4 uses BCM54210PE, which supports 2 additional LEDs, choosing LED3
for the amber LED because it shows activity by default (LED4 is not
connected). However, this makes it uncontrollable by the eth_led<n>
dtparams which target LEDs 1+2.
Solve the problem by making LEDs 3+4 mirror LEDs 1+2 (which is much
simpler than adding baseboard-specific overrides, but comes with a
risk of making one of the LEDs redundant).
See: https://github.com/raspberrypi/linux/issues/5289
Signed-off-by: Phil Elwell <phil@raspberrypi.com>
---
drivers/net/phy/broadcom.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/drivers/net/phy/broadcom.c b/drivers/net/phy/broadcom.c
index 359fd8852b1e..bec3f0abdbf1 100644
--- a/drivers/net/phy/broadcom.c
+++ b/drivers/net/phy/broadcom.c
@@ -429,6 +429,11 @@ static int bcm54xx_config_init(struct phy_device *phydev)
val = BCM54XX_SHD_LEDS1_LED1(BCM_LED_SRC_MULTICOLOR1) |
BCM54XX_SHD_LEDS1_LED3(BCM_LED_SRC_MULTICOLOR1);
bcm_phy_write_shadow(phydev, BCM54XX_SHD_LEDS1, val);
+ /* BCM54210PE controls two extra LEDs with the next register.
+ * Make them shadow the first pair of LEDs - useful on CM4 which
+ * uses LED3 for ETH_LEDY instead of LED1.
+ */
+ bcm_phy_write_shadow(phydev, BCM54XX_SHD_LEDS1 + 1, val);
val = BCM_LED_MULTICOLOR_IN_PHASE |
BCM54XX_SHD_LEDS1_LED1(led_modes[0]) |
--
2.44.0