summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJim Liu <[email protected]>2025-10-14 13:20:05 +0800
committerJerome Forissier <[email protected]>2025-10-22 14:28:33 +0200
commited6ec8d1ca0658d811df1cc78d06fec4f7f69fc9 (patch)
tree7a5090fa46e4a2629c715241677646edefa0d0f4
parent85c2c2c517ac8a6bba406bfd84fa11b26bbcb9aa (diff)
net: designware: fix bitbang init error
The Synchronous Abort and reset errors occurred due to incorrect parameter passing during initialization. Signed-off-by: Jim Liu <[email protected]> [jf: add missing #if IS_ENABLED(CONFIG_BITBANGMII)] Signed-off-by: Jerome Forissier <[email protected]>
-rw-r--r--drivers/net/designware.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/drivers/net/designware.c b/drivers/net/designware.c
index 2fd92cf16bb..6ed9c6d538a 100644
--- a/drivers/net/designware.c
+++ b/drivers/net/designware.c
@@ -125,6 +125,16 @@ static int dw_mdio_reset(struct mii_dev *bus)
return __dw_mdio_reset(dev);
}
+
+#if IS_ENABLED(CONFIG_BITBANGMII)
+static int dw_bb_mdio_reset(struct mii_dev *bus)
+{
+ struct dw_eth_dev *priv = bus->priv;
+
+ return __dw_mdio_reset(priv->dev);
+}
+#endif
+
#endif
#if IS_ENABLED(CONFIG_DM_MDIO)
@@ -348,7 +358,7 @@ static int dw_bb_mdio_init(const char *name, struct udevice *dev)
bus->read = dw_bb_miiphy_read;
bus->write = dw_bb_miiphy_write;
#if CONFIG_IS_ENABLED(DM_GPIO)
- bus->reset = dw_mdio_reset;
+ bus->reset = dw_bb_mdio_reset;
#endif
bus->priv = dwpriv;