mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-29 10:08:59 +00:00
b92ec82235
Removed upstreamed: generic/backport-5.10/350-v5.18-MIPS-pgalloc-fix-memory-leak-caused-by-pgd_free.patch generic/pending-5.10/850-0014-PCI-aardvark-Fix-reading-PCI_EXP_RTSTA_PME-bit-on-em.patch ipq40xx/patches-5.10/105-ipq40xx-fix-sleep-clock.patch All patches automatically rebased. Build system: x86_64 Build-tested: bcm2711/RPi4B, mt7622/RT3200 Run-tested: bcm2711/RPi4B, mt7622/RT3200 Compile-/run-tested: ath79/generic (Archer C7 v2). Signed-off-by: John Audia <graysky@archlinux.us>
47 lines
1.7 KiB
Diff
47 lines
1.7 KiB
Diff
From 3ab0c4b6aa76a4dedb51c4e800b5b4ba29187c46 Mon Sep 17 00:00:00 2001
|
|
From: James Hughes <james.hughes@raspberrypi.org>
|
|
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 <james.hughes@raspberrypi.org>
|
|
---
|
|
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;
|