u32 tbiaddr = CONFIG_SYS_TBIPA_VALUE;
ofnode parent;
const char *phy_mode;
+ fdt_addr_t reg;
int ret;
pdata->iobase = (phys_addr_t)dev_read_addr(dev);
}
parent = ofnode_get_parent(phandle_args.node);
- if (ofnode_valid(parent)) {
- int reg = ofnode_get_addr_index(parent, 0);
-
- priv->phyregs_sgmii = (struct tsec_mii_mng *)reg;
- } else {
- debug("No parent node for PHY?\n");
+ if (!ofnode_valid(parent)) {
+ printf("No parent node for PHY?\n");
return -ENOENT;
}
+ reg = ofnode_get_addr_index(parent, 0);
+ priv->phyregs_sgmii = (struct tsec_mii_mng *)
+ (reg + TSEC_MDIO_REGS_OFFSET);
+
ret = dev_read_phandle_with_args(dev, "tbi-handle", NULL, 0, 0,
&phandle_args);
if (ret == 0)
#include <config.h>
#include <phy.h>
+#define TSEC_MDIO_REGS_OFFSET 0x520
+
#ifndef CONFIG_DM_ETH
#ifdef CONFIG_ARCH_LS1021A
#define TSEC_MDIO_OFFSET 0x01000
#endif
-#define CONFIG_SYS_MDIO_BASE_ADDR (MDIO_BASE_ADDR + 0x520)
+#define CONFIG_SYS_MDIO_BASE_ADDR (MDIO_BASE_ADDR + TSEC_MDIO_REGS_OFFSET)
#define TSEC_GET_REGS(num, offset) \
(struct tsec __iomem *)\