43 lines
1.3 KiB
Diff
43 lines
1.3 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Ricardo Pardini <ricardo@pardini.net>
|
|
Date: Mon, 20 Oct 2025 21:42:28 +0200
|
|
Subject: 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 111111111111..222222222222 100644
|
|
--- a/drivers/net/phy/realtek/realtek_main.c
|
|
+++ b/drivers/net/phy/realtek/realtek_main.c
|
|
@@ -310,6 +310,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;
|
|
@@ -890,6 +899,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",
|
|
--
|
|
Armbian
|
|
|