Commit 9d844da6 authored by Chad Monroe's avatar Chad Monroe Committed by Jakub Kicinski
Browse files

net: phy: mxl-gpy: add support for MxL86211C



MxL86211C is a smaller and more efficient version of the GPY211C.
Add the PHY ID and phy_driver instance to the mxl-gpy driver.

Signed-off-by: default avatarChad Monroe <chad@monroe.io>
Signed-off-by: default avatarDaniel Golle <daniel@makrotopia.org>
Reviewed-by: default avatarAndrew Lunn <andrew@lunn.ch>
Link: https://patch.msgid.link/cabf3559d6511bed6b8a925f540e3162efc20f6b.1763818120.git.daniel@makrotopia.org


Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent ce28e333
Loading
Loading
Loading
Loading
+24 −0
Original line number Diff line number Diff line
@@ -30,6 +30,7 @@
#define PHY_ID_GPY241B		0x67C9DE40
#define PHY_ID_GPY241BM		0x67C9DE80
#define PHY_ID_GPY245B		0x67C9DEC0
#define PHY_ID_MXL86211C	0xC1335400

#define PHY_CTL1		0x13
#define PHY_CTL1_MDICD		BIT(3)
@@ -1268,6 +1269,28 @@ static struct phy_driver gpy_drivers[] = {
		.get_wol	= gpy_get_wol,
		.set_loopback	= gpy_loopback,
	},
	{
		PHY_ID_MATCH_MODEL(PHY_ID_MXL86211C),
		.name		= "Maxlinear Ethernet MxL86211C",
		.get_features	= genphy_c45_pma_read_abilities,
		.config_init	= gpy_config_init,
		.probe		= gpy_probe,
		.suspend	= genphy_suspend,
		.resume		= genphy_resume,
		.config_aneg	= gpy_config_aneg,
		.aneg_done	= genphy_c45_aneg_done,
		.read_status	= gpy_read_status,
		.config_intr	= gpy_config_intr,
		.handle_interrupt = gpy_handle_interrupt,
		.set_wol	= gpy_set_wol,
		.get_wol	= gpy_get_wol,
		.set_loopback	= gpy_loopback,
		.led_brightness_set = gpy_led_brightness_set,
		.led_hw_is_supported = gpy_led_hw_is_supported,
		.led_hw_control_get = gpy_led_hw_control_get,
		.led_hw_control_set = gpy_led_hw_control_set,
		.led_polarity_set = gpy_led_polarity_set,
	},
};
module_phy_driver(gpy_drivers);

@@ -1284,6 +1307,7 @@ static const struct mdio_device_id __maybe_unused gpy_tbl[] = {
	{PHY_ID_MATCH_MODEL(PHY_ID_GPY241B)},
	{PHY_ID_MATCH_MODEL(PHY_ID_GPY241BM)},
	{PHY_ID_MATCH_MODEL(PHY_ID_GPY245B)},
	{PHY_ID_MATCH_MODEL(PHY_ID_MXL86211C)},
	{ }
};
MODULE_DEVICE_TABLE(mdio, gpy_tbl);