[PATCH] cpsw_mdio.c: Use correct reg in cpsw_mdio_get_alive
Ulf Samuelsson
ulf at emagii.com
Tue Feb 7 09:25:27 CET 2023
cpsw_mdio_get_alive reads the wrong register.
See page 2316 in SPRUH73Q AM335x TRM
Signed-off-by: Ulf Samuelsson <ulf at emagii.com>
Cc: Joe Hershberger <joe.hershberger at ni.com>
Cc: Ramon Fried <rfried.dev at gmail.com>
---
drivers/net/ti/cpsw_mdio.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/net/ti/cpsw_mdio.c b/drivers/net/ti/cpsw_mdio.c
index a5ba73b739..ac791faa81 100644
--- a/drivers/net/ti/cpsw_mdio.c
+++ b/drivers/net/ti/cpsw_mdio.c
@@ -51,7 +51,7 @@ struct cpsw_mdio_regs {
#define USERACCESS_PHY_REG_SHIFT (21)
#define USERACCESS_PHY_ADDR_SHIFT (16)
#define USERACCESS_DATA GENMASK(15, 0)
- } user[0];
+ } user[2];
};
#define CPSW_MDIO_DIV_DEF 0xff
@@ -366,8 +366,8 @@ u32 cpsw_mdio_get_alive(struct mii_dev *bus)
struct cpsw_mdio *mdio = bus->priv;
u32 val;
- val = readl(&mdio->regs->control);
- return val & GENMASK(15, 0);
+ val = readl(&mdio->regs->alive);
+ return val & GENMASK(7, 0);
}
struct mii_dev *cpsw_mdio_init(const char *name, phys_addr_t mdio_base,
--
2.17.1
More information about the U-Boot
mailing list