realtek: Add support for the RTL8221B PHY
authorBirger Koblitz <git@birger-koblitz.de>
Sun, 30 Jan 2022 06:22:21 +0000 (07:22 +0100)
committerDaniel Golle <daniel@makrotopia.org>
Thu, 17 Feb 2022 15:21:47 +0000 (15:21 +0000)
The RTL8221B PHY is a newer version of the RTL8226, also supporting
2.5GBit Ethernet. It is found with RTL931X devices such as the
EdgeCore ECS4125-10P

Signed-off-by: Sebastian Gottschall <s.gottschall@dd-wrt.com>
Signed-off-by: Birger Koblitz <git@birger-koblitz.de>
target/linux/realtek/files-5.10/drivers/net/phy/rtl83xx-phy.c
target/linux/realtek/files-5.10/drivers/net/phy/rtl83xx-phy.h

index f44f2f4adc1490b563a96b4418d34fd31fbd535e..c1d6af63751f139e2f92547e36ddaa0866efd001 100644 (file)
@@ -4025,6 +4025,23 @@ static struct phy_driver rtl83xx_phy_driver[] = {
                .set_eee        = rtl8218d_set_eee,
                .get_eee        = rtl8218d_get_eee,
        },
+       {
+               PHY_ID_MATCH_MODEL(PHY_ID_RTL8221B),
+               .name           = "REALTEK RTL8221B",
+               .features       = PHY_GBIT_FEATURES,
+               .probe          = rtl8226_phy_probe,
+               .suspend        = genphy_suspend,
+               .resume         = genphy_resume,
+               .set_loopback   = genphy_loopback,
+               .read_mmd       = rtl8226_read_mmd,
+               .write_mmd      = rtl8226_write_mmd,
+               .read_page      = rtl8226_read_page,
+               .write_page     = rtl8226_write_page,
+               .read_status    = rtl8226_read_status,
+               .config_aneg    = rtl8226_config_aneg,
+               .set_eee        = rtl8226_set_eee,
+               .get_eee        = rtl8226_get_eee,
+       },
        {
                PHY_ID_MATCH_MODEL(PHY_ID_RTL8226),
                .name           = "REALTEK RTL8226",
index f6e42e4722c5fcaad042a54fb5bdf5c6ba2ea31c..1ccb560d2ab6214df3f997f7379d65aa67531d15 100644 (file)
@@ -30,6 +30,7 @@ struct __attribute__ ((__packed__)) fw_header {
 #define PHY_ID_RTL8218B_E      0x001cc981
 #define PHY_ID_RTL8218D                0x001cc983
 #define PHY_ID_RTL8218B_I      0x001cca40
+#define PHY_ID_RTL8221B                0x001cc849
 #define PHY_ID_RTL8226         0x001cc838
 #define PHY_ID_RTL8390_GENERIC 0x001ccab0
 #define PHY_ID_RTL8393_I       0x001c8393