mirror of
https://github.com/brain-hackers/u-boot-brain
synced 2024-09-27 23:20:26 +09:00
net: tsec: Access eTSEC registers using virtual address
The current code accesses eTSEC registers using physical address directly, it's not correct, though no problem on current platforms. It won't work on platforms, which does not support 1:1 virtual-physical address map. Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com> Reviewed-by: Vladimir Oltean <vladimir.oltean@nxp.com> Tested-by: Vladimir Oltean <vladimir.oltean@nxp.com> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
This commit is contained in:
parent
a139ac58a7
commit
bf67eb325b
@ -800,7 +800,7 @@ int tsec_probe(struct udevice *dev)
|
||||
int ret;
|
||||
|
||||
pdata->iobase = (phys_addr_t)dev_read_addr(dev);
|
||||
priv->regs = (struct tsec *)pdata->iobase;
|
||||
priv->regs = dev_remap_addr(dev);
|
||||
|
||||
if (dev_read_phandle_with_args(dev, "phy-handle", NULL, 0, 0,
|
||||
&phandle_args)) {
|
||||
@ -819,8 +819,13 @@ int tsec_probe(struct udevice *dev)
|
||||
}
|
||||
|
||||
reg = ofnode_get_addr_index(parent, 0);
|
||||
priv->phyregs_sgmii = (struct tsec_mii_mng *)
|
||||
(reg + TSEC_MDIO_REGS_OFFSET);
|
||||
if (reg == FDT_ADDR_T_NONE) {
|
||||
printf("No 'reg' property of MII for external PHY\n");
|
||||
return -ENOENT;
|
||||
}
|
||||
|
||||
priv->phyregs_sgmii = map_physmem(reg + TSEC_MDIO_REGS_OFFSET, 0,
|
||||
MAP_NOCACHE);
|
||||
|
||||
ret = dev_read_phandle_with_args(dev, "tbi-handle", NULL, 0, 0,
|
||||
&phandle_args);
|
||||
|
Loading…
Reference in New Issue
Block a user