xref: /linux/include/linux/mv643xx_eth.h (revision fa3959f457109cc7d082b86ea6daae927982815b)
1c4a6a2abSLennert Buytenhek /*
2c4a6a2abSLennert Buytenhek  * MV-643XX ethernet platform device data definition file.
3c4a6a2abSLennert Buytenhek  */
4*fa3959f4SLennert Buytenhek 
5c4a6a2abSLennert Buytenhek #ifndef __LINUX_MV643XX_ETH_H
6c4a6a2abSLennert Buytenhek #define __LINUX_MV643XX_ETH_H
7c4a6a2abSLennert Buytenhek 
8c4a6a2abSLennert Buytenhek #define MV643XX_ETH_SHARED_NAME		"mv643xx_eth_shared"
9c4a6a2abSLennert Buytenhek #define MV643XX_ETH_NAME		"mv643xx_eth"
10c4a6a2abSLennert Buytenhek #define MV643XX_ETH_SHARED_REGS		0x2000
11c4a6a2abSLennert Buytenhek #define MV643XX_ETH_SHARED_REGS_SIZE	0x2000
123077d78aSDale Farnsworth #define MV643XX_ETH_BAR_4		0x2220
133077d78aSDale Farnsworth #define MV643XX_ETH_SIZE_REG_4		0x2224
143077d78aSDale Farnsworth #define MV643XX_ETH_BASE_ADDR_ENABLE_REG	0x2290
15c4a6a2abSLennert Buytenhek 
16c4a6a2abSLennert Buytenhek struct mv643xx_eth_platform_data {
17*fa3959f4SLennert Buytenhek 	struct platform_device	*shared;
18c4a6a2abSLennert Buytenhek 	int		port_number;
19*fa3959f4SLennert Buytenhek 
20c4a6a2abSLennert Buytenhek 	u16		force_phy_addr;	/* force override if phy_addr == 0 */
21c4a6a2abSLennert Buytenhek 	u16		phy_addr;
22c4a6a2abSLennert Buytenhek 
23c4a6a2abSLennert Buytenhek 	/* If speed is 0, then speed and duplex are autonegotiated. */
24c4a6a2abSLennert Buytenhek 	int		speed;		/* 0, SPEED_10, SPEED_100, SPEED_1000 */
25c4a6a2abSLennert Buytenhek 	int		duplex;		/* DUPLEX_HALF or DUPLEX_FULL */
26c4a6a2abSLennert Buytenhek 
27c4a6a2abSLennert Buytenhek 	/* non-zero values of the following fields override defaults */
28c4a6a2abSLennert Buytenhek 	u32		tx_queue_size;
29c4a6a2abSLennert Buytenhek 	u32		rx_queue_size;
30c4a6a2abSLennert Buytenhek 	u32		tx_sram_addr;
31c4a6a2abSLennert Buytenhek 	u32		tx_sram_size;
32c4a6a2abSLennert Buytenhek 	u32		rx_sram_addr;
33c4a6a2abSLennert Buytenhek 	u32		rx_sram_size;
34c4a6a2abSLennert Buytenhek 	u8		mac_addr[6];	/* mac address if non-zero*/
35c4a6a2abSLennert Buytenhek };
36c4a6a2abSLennert Buytenhek 
37c4a6a2abSLennert Buytenhek #endif /* __LINUX_MV643XX_ETH_H */
38