net: mdio-uclass: add wrappers for read/write/reset operations

Add wrappers dm_mdio_read(), dm_mdio_write() and dm_mdio_reset() for
DM MDIO's .read(), .write() and .reset() operations.

Signed-off-by: Marek Behún <marek.behun@nic.cz>
Reviewed-by: Ramon Fried <rfried.dev@gmail.com>
Reviewed-by: Vladimir Oltean <vladimir.oltean@nxp.com>
This commit is contained in:
Marek Behún
2022-04-07 00:32:58 +02:00
committed by Ramon Fried
parent f3dd213e15
commit 351bfa6ebd
2 changed files with 62 additions and 0 deletions

View File

@@ -57,6 +57,37 @@ static int dm_mdio_post_bind(struct udevice *dev)
return 0;
}
int dm_mdio_read(struct udevice *mdio_dev, int addr, int devad, int reg)
{
struct mdio_ops *ops = mdio_get_ops(mdio_dev);
if (!ops->read)
return -ENOSYS;
return ops->read(mdio_dev, addr, devad, reg);
}
int dm_mdio_write(struct udevice *mdio_dev, int addr, int devad, int reg,
u16 val)
{
struct mdio_ops *ops = mdio_get_ops(mdio_dev);
if (!ops->write)
return -ENOSYS;
return ops->write(mdio_dev, addr, devad, reg, val);
}
int dm_mdio_reset(struct udevice *mdio_dev)
{
struct mdio_ops *ops = mdio_get_ops(mdio_dev);
if (!ops->reset)
return 0;
return ops->reset(mdio_dev);
}
/*
* Following read/write/reset functions are registered with legacy MII code.
* These are called for PHY operations by upper layers and we further call the