Commit 32030345 authored by Linus Walleij's avatar Linus Walleij Committed by Paolo Abeni
Browse files

net: phy: amd: Support the Altima AMI101L

The Altima AC101L is obviously compatible with the AMD PHY,
as seen by reading the datasheet.

Datasheet: https://docs.broadcom.com/doc/AC101L-DS05-405-RDS.pdf



Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
Reviewed-by: default avatarAndrew Lunn <andrew@lunn.ch>
Link: https://lore.kernel.org/r/20230924-ac101l-phy-v1-1-5e6349e28aa4@linaro.org


Signed-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
parent ef35bed6
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -69,9 +69,9 @@ config SFP
comment "MII PHY device drivers"

config AMD_PHY
	tristate "AMD PHYs"
	tristate "AMD and Altima PHYs"
	help
	  Currently supports the am79c874
	  Currently supports the AMD am79c874 and Altima AC101L.

config MESON_GXL_PHY
	tristate "Amlogic Meson GXL Internal PHY"
+23 −10
Original line number Diff line number Diff line
@@ -13,6 +13,7 @@
#include <linux/mii.h>
#include <linux/phy.h>

#define PHY_ID_AC101L		0x00225520
#define PHY_ID_AM79C874		0x0022561b

#define MII_AM79C_IR		17	/* Interrupt Status/Control Register */
@@ -87,7 +88,8 @@ static irqreturn_t am79c_handle_interrupt(struct phy_device *phydev)
	return IRQ_HANDLED;
}

static struct phy_driver am79c_driver[] = { {
static struct phy_driver am79c_drivers[] = {
	{
		.phy_id		= PHY_ID_AM79C874,
		.name		= "AM79C874",
		.phy_id_mask	= 0xfffffff0,
@@ -95,11 +97,22 @@ static struct phy_driver am79c_driver[] = { {
		.config_init	= am79c_config_init,
		.config_intr	= am79c_config_intr,
		.handle_interrupt = am79c_handle_interrupt,
} };
	},
	{
		.phy_id		= PHY_ID_AC101L,
		.name		= "AC101L",
		.phy_id_mask	= 0xfffffff0,
		/* PHY_BASIC_FEATURES */
		.config_init	= am79c_config_init,
		.config_intr	= am79c_config_intr,
		.handle_interrupt = am79c_handle_interrupt,
	},
};

module_phy_driver(am79c_driver);
module_phy_driver(am79c_drivers);

static struct mdio_device_id __maybe_unused amd_tbl[] = {
	{ PHY_ID_AC101L, 0xfffffff0 },
	{ PHY_ID_AM79C874, 0xfffffff0 },
	{ }
};