summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRussell King (Oracle) <rmk+kernel@armlinux.org.uk>2024-01-30 14:38:27 +0000
committerRussell King (Oracle) <rmk+kernel@armlinux.org.uk>2024-02-27 15:36:47 +0000
commit81321a905b6a9f0d531bc4428d7510d58fdf8062 (patch)
tree60637aa8e3ef9c9531f692d595d1b6e0a4d590bb
parent1d44310fa01aed5a9fd97026dacb6c7abbcc2138 (diff)
net: phy: bcm84881: provide phy_query_inband() implementation
BCM84881 has no support for inband signalling, so this is a trivial implementation that returns no support for inband. Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
-rw-r--r--drivers/net/phy/bcm84881.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/net/phy/bcm84881.c b/drivers/net/phy/bcm84881.c
index f1d47c264058..f414059100e0 100644
--- a/drivers/net/phy/bcm84881.c
+++ b/drivers/net/phy/bcm84881.c
@@ -235,11 +235,21 @@ static int bcm84881_read_status(struct phy_device *phydev)
return genphy_c45_read_mdix(phydev);
}
+/* The Broadcom BCM84881 in the Methode DM7052 is unable to provide a SGMII
+ * or 802.3z control word, so inband will not work.
+ */
+static unsigned int bcm84881_query_inband(struct phy_device *phydev,
+ phy_interface_t interface)
+{
+ return LINK_INBAND_VALID;
+}
+
static struct phy_driver bcm84881_drivers[] = {
{
.phy_id = 0xae025150,
.phy_id_mask = 0xfffffff0,
.name = "Broadcom BCM84881",
+ .query_inband = bcm84881_query_inband,
.config_init = bcm84881_config_init,
.probe = bcm84881_probe,
.get_features = bcm84881_get_features,