mirror of
https://source.denx.de/u-boot/u-boot.git
synced 2025-09-30 02:01:47 +02:00
dm: net: macb: Update macb_linkspd_cb() signature
This updates DM version macb_linkspd_cb() signature for future expansion, eg: adding an implementation for link speed changes. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Lukas Auer <lukas.auer@aisec.fraunhofer.de> Acked-by: Joe Hershberger <joe.hershberger@ni.com>
This commit is contained in:
parent
49191d259f
commit
a5e3d2350b
@ -488,15 +488,23 @@ static int macb_phy_find(struct macb_device *macb, const char *name)
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* macb_linkspd_cb - Linkspeed change callback function
|
* macb_linkspd_cb - Linkspeed change callback function
|
||||||
* @regs: Base Register of MACB devices
|
* @dev/@regs: MACB udevice (DM version) or
|
||||||
|
* Base Register of MACB devices (non-DM version)
|
||||||
* @speed: Linkspeed
|
* @speed: Linkspeed
|
||||||
* Returns 0 when operation success and negative errno number
|
* Returns 0 when operation success and negative errno number
|
||||||
* when operation failed.
|
* when operation failed.
|
||||||
*/
|
*/
|
||||||
|
#ifdef CONFIG_DM_ETH
|
||||||
|
int __weak macb_linkspd_cb(struct udevice *dev, unsigned int speed)
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
#else
|
||||||
int __weak macb_linkspd_cb(void *regs, unsigned int speed)
|
int __weak macb_linkspd_cb(void *regs, unsigned int speed)
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef CONFIG_DM_ETH
|
#ifdef CONFIG_DM_ETH
|
||||||
static int macb_phy_init(struct udevice *dev, const char *name)
|
static int macb_phy_init(struct udevice *dev, const char *name)
|
||||||
@ -589,7 +597,11 @@ static int macb_phy_init(struct macb_device *macb, const char *name)
|
|||||||
|
|
||||||
macb_writel(macb, NCFGR, ncfgr);
|
macb_writel(macb, NCFGR, ncfgr);
|
||||||
|
|
||||||
|
#ifdef CONFIG_DM_ETH
|
||||||
|
ret = macb_linkspd_cb(dev, _1000BASET);
|
||||||
|
#else
|
||||||
ret = macb_linkspd_cb(macb->regs, _1000BASET);
|
ret = macb_linkspd_cb(macb->regs, _1000BASET);
|
||||||
|
#endif
|
||||||
if (ret)
|
if (ret)
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
@ -614,9 +626,17 @@ static int macb_phy_init(struct macb_device *macb, const char *name)
|
|||||||
ncfgr &= ~(MACB_BIT(SPD) | MACB_BIT(FD) | GEM_BIT(GBE));
|
ncfgr &= ~(MACB_BIT(SPD) | MACB_BIT(FD) | GEM_BIT(GBE));
|
||||||
if (speed) {
|
if (speed) {
|
||||||
ncfgr |= MACB_BIT(SPD);
|
ncfgr |= MACB_BIT(SPD);
|
||||||
|
#ifdef CONFIG_DM_ETH
|
||||||
|
ret = macb_linkspd_cb(dev, _100BASET);
|
||||||
|
#else
|
||||||
ret = macb_linkspd_cb(macb->regs, _100BASET);
|
ret = macb_linkspd_cb(macb->regs, _100BASET);
|
||||||
|
#endif
|
||||||
} else {
|
} else {
|
||||||
|
#ifdef CONFIG_DM_ETH
|
||||||
|
ret = macb_linkspd_cb(dev, _10BASET);
|
||||||
|
#else
|
||||||
ret = macb_linkspd_cb(macb->regs, _10BASET);
|
ret = macb_linkspd_cb(macb->regs, _10BASET);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ret)
|
if (ret)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user