1
0
mirror of https://xff.cz/git/u-boot/ synced 2025-11-03 03:46:02 +01:00

net: tsec: Use priv->tbiaddr to initialize TBI PHY address

Add a new member 'tbiaddr' to tsec_private struct. For non-DM driver,
it is initialized as CONFIG_SYS_TBIPA_VALUE, but for DM driver, we
can get this from device tree. Update the bindings doc as well.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
This commit is contained in:
Bin Meng
2016-01-11 22:41:25 -08:00
committed by Joe Hershberger
parent 9a1d6af55e
commit a1c76c1508
3 changed files with 34 additions and 1 deletions

View File

@@ -658,7 +658,7 @@ static int init_phy(struct tsec_private *priv)
supported |= SUPPORTED_1000baseT_Full;
/* Assign a Physical address to the TBI */
out_be32(&regs->tbipa, CONFIG_SYS_TBIPA_VALUE);
out_be32(&regs->tbipa, priv->tbiaddr);
priv->interface = tsec_get_interface(priv);
@@ -707,6 +707,7 @@ static int tsec_initialize(bd_t *bis, struct tsec_info_struct *tsec_info)
priv->phyregs_sgmii = tsec_info->miiregs_sgmii;
priv->phyaddr = tsec_info->phyaddr;
priv->tbiaddr = CONFIG_SYS_TBIPA_VALUE;
priv->flags = tsec_info->flags;
sprintf(dev->name, tsec_info->devname);
@@ -801,6 +802,16 @@ int tsec_probe(struct udevice *dev)
return -ENOENT;
}
offset = fdtdec_lookup_phandle(gd->fdt_blob, dev->of_offset,
"tbi-handle");
if (offset > 0) {
reg = fdtdec_get_int(gd->fdt_blob, offset, "reg",
CONFIG_SYS_TBIPA_VALUE);
priv->tbiaddr = reg;
} else {
priv->tbiaddr = CONFIG_SYS_TBIPA_VALUE;
}
phy_mode = fdt_getprop(gd->fdt_blob, dev->of_offset,
"phy-connection-type", NULL);
if (phy_mode)