39 lines
1 KiB
C
39 lines
1 KiB
C
|
#ifndef __PHY_FIXED_H
|
||
|
#define __PHY_FIXED_H
|
||
|
|
||
|
#define MII_REGS_NUM 29
|
||
|
|
||
|
/* max number of virtual phy stuff */
|
||
|
#define MAX_PHY_AMNT 10
|
||
|
/*
|
||
|
The idea is to emulate normal phy behavior by responding with
|
||
|
pre-defined values to mii BMCR read, so that read_status hook could
|
||
|
take all the needed info.
|
||
|
*/
|
||
|
|
||
|
struct fixed_phy_status {
|
||
|
u8 link;
|
||
|
u16 speed;
|
||
|
u8 duplex;
|
||
|
};
|
||
|
|
||
|
/*-----------------------------------------------------------------------------
|
||
|
* Private information hoder for mii_bus
|
||
|
*-----------------------------------------------------------------------------*/
|
||
|
struct fixed_info {
|
||
|
u16 *regs;
|
||
|
u8 regs_num;
|
||
|
struct fixed_phy_status phy_status;
|
||
|
struct phy_device *phydev; /* pointer to the container */
|
||
|
/* link & speed cb */
|
||
|
int (*link_update) (struct net_device *, struct fixed_phy_status *);
|
||
|
|
||
|
};
|
||
|
|
||
|
|
||
|
int fixed_mdio_set_link_update(struct phy_device *,
|
||
|
int (*link_update) (struct net_device *, struct fixed_phy_status *));
|
||
|
struct fixed_info *fixed_mdio_get_phydev (int phydev_ind);
|
||
|
|
||
|
#endif /* __PHY_FIXED_H */
|