1 /* 2 * MV-643XX ethernet platform device data definition file. 3 */ 4 5 #ifndef __LINUX_MV643XX_ETH_H 6 #define __LINUX_MV643XX_ETH_H 7 8 #include <linux/mbus.h> 9 10 #define MV643XX_ETH_SHARED_NAME "mv643xx_eth" 11 #define MV643XX_ETH_NAME "mv643xx_eth_port" 12 #define MV643XX_ETH_SHARED_REGS 0x2000 13 #define MV643XX_ETH_SHARED_REGS_SIZE 0x2000 14 #define MV643XX_ETH_BAR_4 0x2220 15 #define MV643XX_ETH_SIZE_REG_4 0x2224 16 #define MV643XX_ETH_BASE_ADDR_ENABLE_REG 0x2290 17 18 struct mv643xx_eth_shared_platform_data { 19 struct mbus_dram_target_info *dram; 20 unsigned int t_clk; 21 }; 22 23 struct mv643xx_eth_platform_data { 24 struct platform_device *shared; 25 int port_number; 26 27 struct platform_device *shared_smi; 28 29 u16 force_phy_addr; /* force override if phy_addr == 0 */ 30 u16 phy_addr; 31 32 /* If speed is 0, then speed and duplex are autonegotiated. */ 33 int speed; /* 0, SPEED_10, SPEED_100, SPEED_1000 */ 34 int duplex; /* DUPLEX_HALF or DUPLEX_FULL */ 35 36 /* non-zero values of the following fields override defaults */ 37 u32 tx_queue_size; 38 u32 rx_queue_size; 39 u32 tx_sram_addr; 40 u32 tx_sram_size; 41 u32 rx_sram_addr; 42 u32 rx_sram_size; 43 u8 mac_addr[6]; /* mac address if non-zero*/ 44 }; 45 46 #endif /* __LINUX_MV643XX_ETH_H */ 47