mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-10 15:14:43 +00:00
net: add comments to phy APIs
Added a comment on the limitations of phy_find_by_mask API when scanning MDIO buses with multiple PHYs present. Added short descriptions to the other APIs in phy.h for consistency. Signed-off-by: Alex Marginean <alexm.osslist@gmail.com> Acked-by: Joe Hershberger <joe.hershberger@ni.com> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
This commit is contained in:
parent
3bf135b6c3
commit
c38ac2893c
1 changed files with 80 additions and 0 deletions
|
@ -246,15 +246,71 @@ static inline int is_10g_interface(phy_interface_t interface)
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* phy_init() - Initializes the PHY drivers
|
||||||
|
*
|
||||||
|
* This function registers all available PHY drivers
|
||||||
|
*
|
||||||
|
* @return 0 if OK, -ve on error
|
||||||
|
*/
|
||||||
int phy_init(void);
|
int phy_init(void);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* phy_reset() - Resets the specified PHY
|
||||||
|
*
|
||||||
|
* Issues a reset of the PHY and waits for it to complete
|
||||||
|
*
|
||||||
|
* @phydev: PHY to reset
|
||||||
|
* @return 0 if OK, -ve on error
|
||||||
|
*/
|
||||||
int phy_reset(struct phy_device *phydev);
|
int phy_reset(struct phy_device *phydev);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* phy_find_by_mask() - Searches for a PHY on the specified MDIO bus
|
||||||
|
*
|
||||||
|
* The function checks the PHY addresses flagged in phy_mask and returns a
|
||||||
|
* phy_device pointer if it detects a PHY.
|
||||||
|
* This function should only be called if just one PHY is expected to be present
|
||||||
|
* in the set of addresses flagged in phy_mask. If multiple PHYs are present,
|
||||||
|
* it is undefined which of these PHYs is returned.
|
||||||
|
*
|
||||||
|
* @bus: MII/MDIO bus to scan
|
||||||
|
* @phy_mask: bitmap of PYH addresses to scan
|
||||||
|
* @interface: type of MAC-PHY interface
|
||||||
|
* @return pointer to phy_device if a PHY is found, or NULL otherwise
|
||||||
|
*/
|
||||||
struct phy_device *phy_find_by_mask(struct mii_dev *bus, unsigned phy_mask,
|
struct phy_device *phy_find_by_mask(struct mii_dev *bus, unsigned phy_mask,
|
||||||
phy_interface_t interface);
|
phy_interface_t interface);
|
||||||
|
|
||||||
#ifdef CONFIG_DM_ETH
|
#ifdef CONFIG_DM_ETH
|
||||||
|
|
||||||
|
/**
|
||||||
|
* phy_connect_dev() - Associates the given pair of PHY and Ethernet devices
|
||||||
|
* @phydev: PHY device
|
||||||
|
* @dev: Ethernet device
|
||||||
|
*/
|
||||||
void phy_connect_dev(struct phy_device *phydev, struct udevice *dev);
|
void phy_connect_dev(struct phy_device *phydev, struct udevice *dev);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* phy_connect() - Creates a PHY device for the Ethernet interface
|
||||||
|
*
|
||||||
|
* Creates a PHY device for the PHY at the given address, if one doesn't exist
|
||||||
|
* already, and associates it with the Ethernet device.
|
||||||
|
* The function may be called with addr <= 0, in this case addr value is ignored
|
||||||
|
* and the bus is scanned to detect a PHY. Scanning should only be used if only
|
||||||
|
* one PHY is expected to be present on the MDIO bus, otherwise it is undefined
|
||||||
|
* which PHY is returned.
|
||||||
|
*
|
||||||
|
* @bus: MII/MDIO bus that hosts the PHY
|
||||||
|
* @addr: PHY address on MDIO bus
|
||||||
|
* @dev: Ethernet device to associate to the PHY
|
||||||
|
* @interface: type of MAC-PHY interface
|
||||||
|
* @return pointer to phy_device if a PHY is found, or NULL otherwise
|
||||||
|
*/
|
||||||
struct phy_device *phy_connect(struct mii_dev *bus, int addr,
|
struct phy_device *phy_connect(struct mii_dev *bus, int addr,
|
||||||
struct udevice *dev,
|
struct udevice *dev,
|
||||||
phy_interface_t interface);
|
phy_interface_t interface);
|
||||||
|
|
||||||
static inline ofnode phy_get_ofnode(struct phy_device *phydev)
|
static inline ofnode phy_get_ofnode(struct phy_device *phydev)
|
||||||
{
|
{
|
||||||
if (ofnode_valid(phydev->node))
|
if (ofnode_valid(phydev->node))
|
||||||
|
@ -263,10 +319,34 @@ static inline ofnode phy_get_ofnode(struct phy_device *phydev)
|
||||||
return dev_ofnode(phydev->dev);
|
return dev_ofnode(phydev->dev);
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
|
|
||||||
|
/**
|
||||||
|
* phy_connect_dev() - Associates the given pair of PHY and Ethernet devices
|
||||||
|
* @phydev: PHY device
|
||||||
|
* @dev: Ethernet device
|
||||||
|
*/
|
||||||
void phy_connect_dev(struct phy_device *phydev, struct eth_device *dev);
|
void phy_connect_dev(struct phy_device *phydev, struct eth_device *dev);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* phy_connect() - Creates a PHY device for the Ethernet interface
|
||||||
|
*
|
||||||
|
* Creates a PHY device for the PHY at the given address, if one doesn't exist
|
||||||
|
* already, and associates it with the Ethernet device.
|
||||||
|
* The function may be called with addr <= 0, in this case addr value is ignored
|
||||||
|
* and the bus is scanned to detect a PHY. Scanning should only be used if only
|
||||||
|
* one PHY is expected to be present on the MDIO bus, otherwise it is undefined
|
||||||
|
* which PHY is returned.
|
||||||
|
*
|
||||||
|
* @bus: MII/MDIO bus that hosts the PHY
|
||||||
|
* @addr: PHY address on MDIO bus
|
||||||
|
* @dev: Ethernet device to associate to the PHY
|
||||||
|
* @interface: type of MAC-PHY interface
|
||||||
|
* @return pointer to phy_device if a PHY is found, or NULL otherwise
|
||||||
|
*/
|
||||||
struct phy_device *phy_connect(struct mii_dev *bus, int addr,
|
struct phy_device *phy_connect(struct mii_dev *bus, int addr,
|
||||||
struct eth_device *dev,
|
struct eth_device *dev,
|
||||||
phy_interface_t interface);
|
phy_interface_t interface);
|
||||||
|
|
||||||
static inline ofnode phy_get_ofnode(struct phy_device *phydev)
|
static inline ofnode phy_get_ofnode(struct phy_device *phydev)
|
||||||
{
|
{
|
||||||
return ofnode_null();
|
return ofnode_null();
|
||||||
|
|
Loading…
Reference in a new issue