linux/include/linux/smscphy.h

/* SPDX-License-Identifier: GPL-2.0 */
#ifndef __LINUX_SMSCPHY_H__
#define __LINUX_SMSCPHY_H__

#define MII_LAN83C185_ISF
#define MII_LAN83C185_IM
#define MII_LAN83C185_CTRL_STATUS
#define MII_LAN83C185_SPECIAL_MODES

#define MII_LAN83C185_ISF_INT1
#define MII_LAN83C185_ISF_INT2
#define MII_LAN83C185_ISF_INT3
#define MII_LAN83C185_ISF_INT4
#define MII_LAN83C185_ISF_INT5
#define MII_LAN83C185_ISF_INT6
#define MII_LAN83C185_ISF_INT7

#define MII_LAN83C185_ISF_INT_ALL

#define MII_LAN83C185_ISF_INT_PHYLIB_EVENTS

#define MII_LAN83C185_EDPWRDOWN
#define MII_LAN83C185_ENERGYON

#define MII_LAN83C185_MODE_MASK
#define MII_LAN83C185_MODE_POWERDOWN
#define MII_LAN83C185_MODE_ALL

int smsc_phy_config_intr(struct phy_device *phydev);
irqreturn_t smsc_phy_handle_interrupt(struct phy_device *phydev);
int smsc_phy_config_init(struct phy_device *phydev);
int lan87xx_read_status(struct phy_device *phydev);
int smsc_phy_get_tunable(struct phy_device *phydev,
			 struct ethtool_tunable *tuna, void *data);
int smsc_phy_set_tunable(struct phy_device *phydev,
			 struct ethtool_tunable *tuna, const void *data);
int smsc_phy_probe(struct phy_device *phydev);

#define MII_LAN874X_PHY_MMD_WOL_WUCSR
#define MII_LAN874X_PHY_MMD_WOL_WUF_CFGA
#define MII_LAN874X_PHY_MMD_WOL_WUF_CFGB
#define MII_LAN874X_PHY_MMD_WOL_WUF_MASK0
#define MII_LAN874X_PHY_MMD_WOL_WUF_MASK1
#define MII_LAN874X_PHY_MMD_WOL_WUF_MASK2
#define MII_LAN874X_PHY_MMD_WOL_WUF_MASK3
#define MII_LAN874X_PHY_MMD_WOL_WUF_MASK4
#define MII_LAN874X_PHY_MMD_WOL_WUF_MASK5
#define MII_LAN874X_PHY_MMD_WOL_WUF_MASK6
#define MII_LAN874X_PHY_MMD_WOL_WUF_MASK7
#define MII_LAN874X_PHY_MMD_WOL_RX_ADDRA
#define MII_LAN874X_PHY_MMD_WOL_RX_ADDRB
#define MII_LAN874X_PHY_MMD_WOL_RX_ADDRC
#define MII_LAN874X_PHY_MMD_MCFGR

#define MII_LAN874X_PHY_PME1_SET
#define MII_LAN874X_PHY_PME2_SET
#define MII_LAN874X_PHY_PME_SELF_CLEAR
#define MII_LAN874X_PHY_WOL_PFDA_FR
#define MII_LAN874X_PHY_WOL_WUFR
#define MII_LAN874X_PHY_WOL_MPR
#define MII_LAN874X_PHY_WOL_BCAST_FR
#define MII_LAN874X_PHY_WOL_PFDAEN
#define MII_LAN874X_PHY_WOL_WUEN
#define MII_LAN874X_PHY_WOL_MPEN
#define MII_LAN874X_PHY_WOL_BCSTEN

#define MII_LAN874X_PHY_WOL_FILTER_EN
#define MII_LAN874X_PHY_WOL_FILTER_MCASTTEN
#define MII_LAN874X_PHY_WOL_FILTER_BCSTEN

#define MII_LAN874X_PHY_PME_SELF_CLEAR_DELAY

#endif /* __LINUX_SMSCPHY_H__ */