From 3a189e38317e3390ba5b17523f55bd2fb1b72327 Mon Sep 17 00:00:00 2001 From: Daniel Golle Date: Fri, 17 Jan 2025 20:53:03 +0000 Subject: [PATCH] generic: net: phy: realtek: expose temperature sensors MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Expose the temperature sensor built-into RTL822x 2.5G and 5G PHYs. Signed-off-by: Daniel Golle Signed-off-by: Álvaro Fernández Rojas --- ...HWMON-support-for-standalone-version.patch | 64 +++++++++++++++++++ ...-use-genphy_soft_reset-for-2.5G-PHYs.patch | 14 ++-- ...altek-introduce-rtl822x_aldps_probe.patch} | 30 +++++---- ...ealtek-support-interrupt-of-RTL8221B.patch | 8 +-- 4 files changed, 92 insertions(+), 24 deletions(-) create mode 100644 target/linux/generic/backport-6.6/781-26-v6.14-net-phy-realtek-HWMON-support-for-standalone-version.patch rename target/linux/generic/pending-6.6/{720-04-net-phy-realtek-introduce-rtl822x_probe.patch => 720-04-net-phy-realtek-introduce-rtl822x_aldps_probe.patch} (85%) diff --git a/target/linux/generic/backport-6.6/781-26-v6.14-net-phy-realtek-HWMON-support-for-standalone-version.patch b/target/linux/generic/backport-6.6/781-26-v6.14-net-phy-realtek-HWMON-support-for-standalone-version.patch new file mode 100644 index 0000000000..8b8c97c54f --- /dev/null +++ b/target/linux/generic/backport-6.6/781-26-v6.14-net-phy-realtek-HWMON-support-for-standalone-version.patch @@ -0,0 +1,64 @@ +From 64ff63aeefb03139ae27454bd4208244579ae88e Mon Sep 17 00:00:00 2001 +From: Aleksander Jan Bajkowski +Date: Fri, 17 Jan 2025 23:24:21 +0100 +Subject: [PATCH] net: phy: realtek: HWMON support for standalone versions of + RTL8221B and RTL8251 + +HWMON support has been added for the RTL8221/8251 PHYs integrated together +with the MAC inside the RTL8125/8126 chips. This patch extends temperature +reading support for standalone variants of the mentioned PHYs. + +I don't know whether the earlier revisions of the RTL8226 also have a +built-in temperature sensor, so they have been skipped for now. + +Tested on RTL8221B-VB-CG. + +Signed-off-by: Aleksander Jan Bajkowski +Reviewed-by: Andrew Lunn +Signed-off-by: David S. Miller +--- + drivers/net/phy/realtek/realtek_main.c | 5 +++++ + 1 file changed, 5 insertions(+) + +--- a/drivers/net/phy/realtek/realtek_main.c ++++ b/drivers/net/phy/realtek/realtek_main.c +@@ -1474,6 +1474,7 @@ static struct phy_driver realtek_drvs[] + }, { + .match_phy_device = rtl8221b_vb_cg_c22_match_phy_device, + .name = "RTL8221B-VB-CG 2.5Gbps PHY (C22)", ++ .probe = rtl822x_probe, + .get_features = rtl822x_get_features, + .config_aneg = rtl822x_config_aneg, + .config_init = rtl822xb_config_init, +@@ -1486,6 +1487,7 @@ static struct phy_driver realtek_drvs[] + }, { + .match_phy_device = rtl8221b_vb_cg_c45_match_phy_device, + .name = "RTL8221B-VB-CG 2.5Gbps PHY (C45)", ++ .probe = rtl822x_probe, + .config_init = rtl822xb_config_init, + .get_rate_matching = rtl822xb_get_rate_matching, + .get_features = rtl822x_c45_get_features, +@@ -1496,6 +1498,7 @@ static struct phy_driver realtek_drvs[] + }, { + .match_phy_device = rtl8221b_vn_cg_c22_match_phy_device, + .name = "RTL8221B-VM-CG 2.5Gbps PHY (C22)", ++ .probe = rtl822x_probe, + .get_features = rtl822x_get_features, + .config_aneg = rtl822x_config_aneg, + .config_init = rtl822xb_config_init, +@@ -1508,6 +1511,7 @@ static struct phy_driver realtek_drvs[] + }, { + .match_phy_device = rtl8221b_vn_cg_c45_match_phy_device, + .name = "RTL8221B-VN-CG 2.5Gbps PHY (C45)", ++ .probe = rtl822x_probe, + .config_init = rtl822xb_config_init, + .get_rate_matching = rtl822xb_get_rate_matching, + .get_features = rtl822x_c45_get_features, +@@ -1518,6 +1522,7 @@ static struct phy_driver realtek_drvs[] + }, { + .match_phy_device = rtl8251b_c45_match_phy_device, + .name = "RTL8251B 5Gbps PHY", ++ .probe = rtl822x_probe, + .get_features = rtl822x_get_features, + .config_aneg = rtl822x_config_aneg, + .read_status = rtl822x_read_status, diff --git a/target/linux/generic/pending-6.6/720-01-net-phy-realtek-use-genphy_soft_reset-for-2.5G-PHYs.patch b/target/linux/generic/pending-6.6/720-01-net-phy-realtek-use-genphy_soft_reset-for-2.5G-PHYs.patch index 3f43412648..24885e3681 100644 --- a/target/linux/generic/pending-6.6/720-01-net-phy-realtek-use-genphy_soft_reset-for-2.5G-PHYs.patch +++ b/target/linux/generic/pending-6.6/720-01-net-phy-realtek-use-genphy_soft_reset-for-2.5G-PHYs.patch @@ -52,30 +52,30 @@ Signed-off-by: Daniel Golle .match_phy_device = rtl8221b_vb_cg_c22_match_phy_device, .name = "RTL8221B-VB-CG 2.5Gbps PHY (C22)", + .soft_reset = genphy_soft_reset, + .probe = rtl822x_probe, .get_features = rtl822x_get_features, .config_aneg = rtl822x_config_aneg, - .config_init = rtl822xb_config_init, -@@ -1486,6 +1491,7 @@ static struct phy_driver realtek_drvs[] +@@ -1487,6 +1492,7 @@ static struct phy_driver realtek_drvs[] }, { .match_phy_device = rtl8221b_vb_cg_c45_match_phy_device, .name = "RTL8221B-VB-CG 2.5Gbps PHY (C45)", + .soft_reset = genphy_soft_reset, + .probe = rtl822x_probe, .config_init = rtl822xb_config_init, .get_rate_matching = rtl822xb_get_rate_matching, - .get_features = rtl822x_c45_get_features, -@@ -1496,6 +1502,7 @@ static struct phy_driver realtek_drvs[] +@@ -1498,6 +1504,7 @@ static struct phy_driver realtek_drvs[] }, { .match_phy_device = rtl8221b_vn_cg_c22_match_phy_device, .name = "RTL8221B-VM-CG 2.5Gbps PHY (C22)", + .soft_reset = genphy_soft_reset, + .probe = rtl822x_probe, .get_features = rtl822x_get_features, .config_aneg = rtl822x_config_aneg, - .config_init = rtl822xb_config_init, -@@ -1508,6 +1515,7 @@ static struct phy_driver realtek_drvs[] +@@ -1511,6 +1518,7 @@ static struct phy_driver realtek_drvs[] }, { .match_phy_device = rtl8221b_vn_cg_c45_match_phy_device, .name = "RTL8221B-VN-CG 2.5Gbps PHY (C45)", + .soft_reset = genphy_soft_reset, + .probe = rtl822x_probe, .config_init = rtl822xb_config_init, .get_rate_matching = rtl822xb_get_rate_matching, - .get_features = rtl822x_c45_get_features, diff --git a/target/linux/generic/pending-6.6/720-04-net-phy-realtek-introduce-rtl822x_probe.patch b/target/linux/generic/pending-6.6/720-04-net-phy-realtek-introduce-rtl822x_aldps_probe.patch similarity index 85% rename from target/linux/generic/pending-6.6/720-04-net-phy-realtek-introduce-rtl822x_probe.patch rename to target/linux/generic/pending-6.6/720-04-net-phy-realtek-introduce-rtl822x_aldps_probe.patch index b73e6c6443..6610af12c3 100644 --- a/target/linux/generic/pending-6.6/720-04-net-phy-realtek-introduce-rtl822x_probe.patch +++ b/target/linux/generic/pending-6.6/720-04-net-phy-realtek-introduce-rtl822x_aldps_probe.patch @@ -44,7 +44,7 @@ Signed-off-by: Daniel Golle + + phy_write_mmd(phydev, MDIO_MMD_VEND1, RTL8221B_PHYCR1, val); + -+ return 0; ++ return rtl822x_probe(phydev); +} + static int rtlgen_resume(struct phy_device *phydev) @@ -66,35 +66,39 @@ Signed-off-by: Daniel Golle .soft_reset = genphy_soft_reset, .get_features = rtl822x_get_features, .config_aneg = rtl822x_config_aneg, -@@ -1502,6 +1527,7 @@ static struct phy_driver realtek_drvs[] - }, { +@@ -1503,7 +1528,7 @@ static struct phy_driver realtek_drvs[] .match_phy_device = rtl8221b_vb_cg_c22_match_phy_device, .name = "RTL8221B-VB-CG 2.5Gbps PHY (C22)", -+ .probe = rtl822x_aldps_probe, .soft_reset = genphy_soft_reset, +- .probe = rtl822x_probe, ++ .probe = rtl822x_aldps_probe, .get_features = rtl822x_get_features, .config_aneg = rtl822x_config_aneg, -@@ -1515,6 +1541,7 @@ static struct phy_driver realtek_drvs[] - }, { + .config_init = rtl822xb_config_init, +@@ -1517,7 +1542,7 @@ static struct phy_driver realtek_drvs[] .match_phy_device = rtl8221b_vb_cg_c45_match_phy_device, .name = "RTL8221B-VB-CG 2.5Gbps PHY (C45)", -+ .probe = rtl822x_aldps_probe, .soft_reset = genphy_soft_reset, +- .probe = rtl822x_probe, ++ .probe = rtl822x_aldps_probe, .config_init = rtl822xb_config_init, .get_rate_matching = rtl822xb_get_rate_matching, -@@ -1526,6 +1553,7 @@ static struct phy_driver realtek_drvs[] - }, { + .get_features = rtl822x_c45_get_features, +@@ -1529,7 +1554,7 @@ static struct phy_driver realtek_drvs[] .match_phy_device = rtl8221b_vn_cg_c22_match_phy_device, .name = "RTL8221B-VM-CG 2.5Gbps PHY (C22)", -+ .probe = rtl822x_aldps_probe, .soft_reset = genphy_soft_reset, +- .probe = rtl822x_probe, ++ .probe = rtl822x_aldps_probe, .get_features = rtl822x_get_features, .config_aneg = rtl822x_config_aneg, -@@ -1539,6 +1567,7 @@ static struct phy_driver realtek_drvs[] - }, { + .config_init = rtl822xb_config_init, +@@ -1543,7 +1568,7 @@ static struct phy_driver realtek_drvs[] .match_phy_device = rtl8221b_vn_cg_c45_match_phy_device, .name = "RTL8221B-VN-CG 2.5Gbps PHY (C45)", -+ .probe = rtl822x_aldps_probe, .soft_reset = genphy_soft_reset, +- .probe = rtl822x_probe, ++ .probe = rtl822x_aldps_probe, .config_init = rtl822xb_config_init, .get_rate_matching = rtl822xb_get_rate_matching, + .get_features = rtl822x_c45_get_features, diff --git a/target/linux/generic/pending-6.6/720-06-net-phy-realtek-support-interrupt-of-RTL8221B.patch b/target/linux/generic/pending-6.6/720-06-net-phy-realtek-support-interrupt-of-RTL8221B.patch index c855a211e8..3e9b34b8a5 100644 --- a/target/linux/generic/pending-6.6/720-06-net-phy-realtek-support-interrupt-of-RTL8221B.patch +++ b/target/linux/generic/pending-6.6/720-06-net-phy-realtek-support-interrupt-of-RTL8221B.patch @@ -70,8 +70,8 @@ Signed-off-by: Jianhui Zhao .name = "RTL8221B-VB-CG 2.5Gbps PHY (C22)", + .config_intr = rtl8221b_config_intr, + .handle_interrupt = rtl8221b_handle_interrupt, - .probe = rtl822x_aldps_probe, .soft_reset = genphy_soft_reset, + .probe = rtl822x_aldps_probe, .get_features = rtl822x_get_features, @@ -1563,6 +1610,8 @@ static struct phy_driver realtek_drvs[] }, { @@ -79,8 +79,8 @@ Signed-off-by: Jianhui Zhao .name = "RTL8221B-VB-CG 2.5Gbps PHY (C45)", + .config_intr = rtl8221b_config_intr, + .handle_interrupt = rtl8221b_handle_interrupt, - .probe = rtl822x_aldps_probe, .soft_reset = genphy_soft_reset, + .probe = rtl822x_aldps_probe, .config_init = rtl822xb_config_init, @@ -1575,6 +1624,8 @@ static struct phy_driver realtek_drvs[] }, { @@ -88,8 +88,8 @@ Signed-off-by: Jianhui Zhao .name = "RTL8221B-VM-CG 2.5Gbps PHY (C22)", + .config_intr = rtl8221b_config_intr, + .handle_interrupt = rtl8221b_handle_interrupt, - .probe = rtl822x_aldps_probe, .soft_reset = genphy_soft_reset, + .probe = rtl822x_aldps_probe, .get_features = rtl822x_get_features, @@ -1589,6 +1640,8 @@ static struct phy_driver realtek_drvs[] }, { @@ -97,6 +97,6 @@ Signed-off-by: Jianhui Zhao .name = "RTL8221B-VN-CG 2.5Gbps PHY (C45)", + .config_intr = rtl8221b_config_intr, + .handle_interrupt = rtl8221b_handle_interrupt, - .probe = rtl822x_aldps_probe, .soft_reset = genphy_soft_reset, + .probe = rtl822x_aldps_probe, .config_init = rtl822xb_config_init, -- 2.30.2