net: phy: marvell: add basic support of 88E308X/88E609X family
authorPawel Dembicki <paweldembicki@gmail.com>
Tue, 2 Apr 2024 20:11:18 +0000 (22:11 +0200)
committerJakub Kicinski <kuba@kernel.org>
Thu, 4 Apr 2024 02:33:20 +0000 (19:33 -0700)
This patch implements only basic support.

It covers PHY used in multiple IC:
PHY: 88E308288E3083
Switch: 88E609688E6097

Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Reviewed-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
Link: https://lore.kernel.org/r/20240402201123.2961909-1-paweldembicki@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/phy/marvell.c
include/linux/marvell_phy.h

index 42ed013385bfbfba54d75142bb460ff5005f5ec1..fae7eb57ee2cf5afab17471ca0226153419c1b80 100644 (file)
@@ -3289,6 +3289,18 @@ static struct phy_driver marvell_drivers[] = {
                .get_strings = marvell_get_strings,
                .get_stats = marvell_get_stats,
        },
+       {
+               .phy_id = MARVELL_PHY_ID_88E3082,
+               .phy_id_mask = MARVELL_PHY_ID_MASK,
+               .name = "Marvell 88E308X/88E609X Family",
+               /* PHY_BASIC_FEATURES */
+               .probe = marvell_probe,
+               .config_init = marvell_config_init,
+               .aneg_done = marvell_aneg_done,
+               .read_status = marvell_read_status,
+               .resume = genphy_resume,
+               .suspend = genphy_suspend,
+       },
        {
                .phy_id = MARVELL_PHY_ID_88E1112,
                .phy_id_mask = MARVELL_PHY_ID_MASK,
@@ -3742,6 +3754,7 @@ module_phy_driver(marvell_drivers);
 
 static struct mdio_device_id __maybe_unused marvell_tbl[] = {
        { MARVELL_PHY_ID_88E1101, MARVELL_PHY_ID_MASK },
+       { MARVELL_PHY_ID_88E3082, MARVELL_PHY_ID_MASK },
        { MARVELL_PHY_ID_88E1112, MARVELL_PHY_ID_MASK },
        { MARVELL_PHY_ID_88E1111, MARVELL_PHY_ID_MASK },
        { MARVELL_PHY_ID_88E1111_FINISAR, MARVELL_PHY_ID_MASK },
index 693eba9869e4f1bfae388ca1de185baad1ad2cd2..88254f9aec2b211db3ad7aa6814917044bcf0f0e 100644 (file)
@@ -7,6 +7,7 @@
 
 /* Known PHY IDs */
 #define MARVELL_PHY_ID_88E1101         0x01410c60
+#define MARVELL_PHY_ID_88E3082         0x01410c80
 #define MARVELL_PHY_ID_88E1112         0x01410c90
 #define MARVELL_PHY_ID_88E1111         0x01410cc0
 #define MARVELL_PHY_ID_88E1118         0x01410e10