1 #ifndef BCM63XX_DEV_ENET_H_ 2 #define BCM63XX_DEV_ENET_H_ 3 4 #include <linux/if_ether.h> 5 #include <linux/init.h> 6 7 /* 8 * on board ethernet platform data 9 */ 10 struct bcm63xx_enet_platform_data { 11 char mac_addr[ETH_ALEN]; 12 13 int has_phy; 14 15 /* if has_phy, then set use_internal_phy */ 16 int use_internal_phy; 17 18 /* or fill phy info to use an external one */ 19 int phy_id; 20 int has_phy_interrupt; 21 int phy_interrupt; 22 23 /* if has_phy, use autonegociated pause parameters or force 24 * them */ 25 int pause_auto; 26 int pause_rx; 27 int pause_tx; 28 29 /* if !has_phy, set desired forced speed/duplex */ 30 int force_speed_100; 31 int force_duplex_full; 32 33 /* if !has_phy, set callback to perform mii device 34 * init/remove */ 35 int (*mii_config)(struct net_device *dev, int probe, 36 int (*mii_read)(struct net_device *dev, 37 int phy_id, int reg), 38 void (*mii_write)(struct net_device *dev, 39 int phy_id, int reg, int val)); 40 }; 41 42 int __init bcm63xx_enet_register(int unit, 43 const struct bcm63xx_enet_platform_data *pd); 44 45 #endif /* ! BCM63XX_DEV_ENET_H_ */ 46