Files
BPI-CM9-Linux/build/patch/kernel/archive/rockchip64-6.19/net-phy-realtek-add-rtl8211x-LED-configuration-from-OF.patch

43 lines
1.3 KiB
Diff

From ccdd6b8919f09b003f0881648ea937743c825fd7 Mon Sep 17 00:00:00 2001
From: Ricardo Pardini <ricardo@pardini.net>
Date: Mon, 20 Oct 2025 21:42:28 +0200
Subject: [PATCH] net: phy: realtek: add rtl8211x LED configuration from OF
Signed-off-by: retro98boy <retro98boy@qq.com>
---
drivers/net/phy/realtek/realtek_main.c | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/drivers/net/phy/realtek/realtek_main.c b/drivers/net/phy/realtek/realtek_main.c
index 6ff038520..c77a0d169 100644
--- a/drivers/net/phy/realtek/realtek_main.c
+++ b/drivers/net/phy/realtek/realtek_main.c
@@ -248,6 +248,15 @@ static int rtl821x_modify_ext_page(struct phy_device *phydev, u16 ext_page,
return phy_restore_page(phydev, oldpage, ret);
}
+static void rtl821x_led_of_init(struct phy_device *phydev)
+{
+ struct device *dev = &phydev->mdio.dev;
+ u32 val;
+
+ if (!of_property_read_u32(dev->of_node, "realtek,led-data", &val))
+ phy_write_paged(phydev, 0xd04, 0x10, val);
+}
+
static int rtl821x_probe(struct phy_device *phydev)
{
struct device *dev = &phydev->mdio.dev;
@@ -712,6 +721,8 @@ static int rtl8211f_config_init(struct phy_device *phydev)
if (ret)
return ret;
+ rtl821x_led_of_init(phydev);
+
ret = rtl8211f_config_clk_out(phydev);
if (ret) {
dev_err(dev, "clkout configuration failed: %pe\n",
--
2.53.0