]> git.karo-electronics.de Git - mv-sheeva.git/blob - include/linux/mv643xx_eth.h
mv643xx_eth: mbus decode window support
[mv-sheeva.git] / include / linux / mv643xx_eth.h
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_shared"
11 #define MV643XX_ETH_NAME                "mv643xx_eth"
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 };
21
22 struct mv643xx_eth_platform_data {
23         struct platform_device  *shared;
24         int             port_number;
25
26         u16             force_phy_addr; /* force override if phy_addr == 0 */
27         u16             phy_addr;
28
29         /* If speed is 0, then speed and duplex are autonegotiated. */
30         int             speed;          /* 0, SPEED_10, SPEED_100, SPEED_1000 */
31         int             duplex;         /* DUPLEX_HALF or DUPLEX_FULL */
32
33         /* non-zero values of the following fields override defaults */
34         u32             tx_queue_size;
35         u32             rx_queue_size;
36         u32             tx_sram_addr;
37         u32             tx_sram_size;
38         u32             rx_sram_addr;
39         u32             rx_sram_size;
40         u8              mac_addr[6];    /* mac address if non-zero*/
41 };
42
43 #endif /* __LINUX_MV643XX_ETH_H */