46 lines
		
	
	
	
		
			1 KiB
			
		
	
	
	
		
			C
		
	
	
	
	
	
		
		
			
		
	
	
			46 lines
		
	
	
	
		
			1 KiB
			
		
	
	
	
		
			C
		
	
	
	
	
	
|   | #ifndef BCM63XX_DEV_ENET_H_
 | ||
|  | #define BCM63XX_DEV_ENET_H_
 | ||
|  | 
 | ||
|  | #include <linux/if_ether.h>
 | ||
|  | #include <linux/init.h>
 | ||
|  | 
 | ||
|  | /*
 | ||
|  |  * on board ethernet platform data | ||
|  |  */ | ||
|  | struct bcm63xx_enet_platform_data { | ||
|  | 	char mac_addr[ETH_ALEN]; | ||
|  | 
 | ||
|  | 	int has_phy; | ||
|  | 
 | ||
|  | 	/* if has_phy, then set use_internal_phy */ | ||
|  | 	int use_internal_phy; | ||
|  | 
 | ||
|  | 	/* or fill phy info to use an external one */ | ||
|  | 	int phy_id; | ||
|  | 	int has_phy_interrupt; | ||
|  | 	int phy_interrupt; | ||
|  | 
 | ||
|  | 	/* if has_phy, use autonegociated pause parameters or force
 | ||
|  | 	 * them */ | ||
|  | 	int pause_auto; | ||
|  | 	int pause_rx; | ||
|  | 	int pause_tx; | ||
|  | 
 | ||
|  | 	/* if !has_phy, set desired forced speed/duplex */ | ||
|  | 	int force_speed_100; | ||
|  | 	int force_duplex_full; | ||
|  | 
 | ||
|  | 	/* if !has_phy, set callback to perform mii device
 | ||
|  | 	 * init/remove */ | ||
|  | 	int (*mii_config)(struct net_device *dev, int probe, | ||
|  | 			  int (*mii_read)(struct net_device *dev, | ||
|  | 					  int phy_id, int reg), | ||
|  | 			  void (*mii_write)(struct net_device *dev, | ||
|  | 					    int phy_id, int reg, int val)); | ||
|  | }; | ||
|  | 
 | ||
|  | int __init bcm63xx_enet_register(int unit, | ||
|  | 				 const struct bcm63xx_enet_platform_data *pd); | ||
|  | 
 | ||
|  | #endif /* ! BCM63XX_DEV_ENET_H_ */
 |