Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

phy: marvell: Add support for 88E1540 PHY

The 88E1540 can be found embedded in the Marvell 88E6352 switch. It
is compatible with the 88E1510, so add support for it, using the
88E1510 specific functions.

Signed-off-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>

authored by

Andrew Lunn and committed by
David S. Miller
819ec8e1 ec0738db

+17
+16
drivers/net/phy/marvell.c
··· 1154 1154 .driver = { .owner = THIS_MODULE }, 1155 1155 }, 1156 1156 { 1157 + .phy_id = MARVELL_PHY_ID_88E1540, 1158 + .phy_id_mask = MARVELL_PHY_ID_MASK, 1159 + .name = "Marvell 88E1540", 1160 + .features = PHY_GBIT_FEATURES, 1161 + .flags = PHY_HAS_INTERRUPT, 1162 + .config_aneg = &m88e1510_config_aneg, 1163 + .read_status = &marvell_read_status, 1164 + .ack_interrupt = &marvell_ack_interrupt, 1165 + .config_intr = &marvell_config_intr, 1166 + .did_interrupt = &m88e1121_did_interrupt, 1167 + .resume = &genphy_resume, 1168 + .suspend = &genphy_suspend, 1169 + .driver = { .owner = THIS_MODULE }, 1170 + }, 1171 + { 1157 1172 .phy_id = MARVELL_PHY_ID_88E3016, 1158 1173 .phy_id_mask = MARVELL_PHY_ID_MASK, 1159 1174 .name = "Marvell 88E3016", ··· 1201 1186 { MARVELL_PHY_ID_88E1318S, MARVELL_PHY_ID_MASK }, 1202 1187 { MARVELL_PHY_ID_88E1116R, MARVELL_PHY_ID_MASK }, 1203 1188 { MARVELL_PHY_ID_88E1510, MARVELL_PHY_ID_MASK }, 1189 + { MARVELL_PHY_ID_88E1540, MARVELL_PHY_ID_MASK }, 1204 1190 { MARVELL_PHY_ID_88E3016, MARVELL_PHY_ID_MASK }, 1205 1191 { } 1206 1192 };
+1
include/linux/marvell_phy.h
··· 16 16 #define MARVELL_PHY_ID_88E1318S 0x01410e90 17 17 #define MARVELL_PHY_ID_88E1116R 0x01410e40 18 18 #define MARVELL_PHY_ID_88E1510 0x01410dd0 19 + #define MARVELL_PHY_ID_88E1540 0x01410eb0 19 20 #define MARVELL_PHY_ID_88E3016 0x01410e60 20 21 21 22 /* struct phy_device dev_flags definitions */