diff options
author | Lennert Buytenhek <buytenh@wantstofly.org> | 2007-10-19 06:09:53 +0400 |
---|---|---|
committer | Dale Farnsworth <dale@farnsworth.org> | 2007-10-23 19:22:58 +0400 |
commit | c4a6a2ab5e99980b10d1eef761cd95f2a19ba46d (patch) | |
tree | fc7317aa9d289316e1173cc86ebafc626f1eb4bd | |
parent | e8b8c977734193adedf2b0f607d6252c78e86394 (diff) | |
download | linux-c4a6a2ab5e99980b10d1eef761cd95f2a19ba46d.tar.xz |
mv643xx_eth: Split off mv643xx_eth platform device data
The mv643xx ethernet silicon block is also found in a couple of other
Marvell chips. As a first step towards splitting off the mv643xx_eth
bits from the rest of the mv643xx bits, this patch splits the mv643xx
ethernet platform device data struct in linux/mv643xx.h off into
linux/mv643xx_eth.h, and includes the latter from the former.
Signed-off-by: Lennert Buytenhek <buytenh@marvell.com>
Acked-by: Tzachi Perelstein <tzachi@marvell.com>
Signed-off-by: Dale Farnsworth <dale@farnsworth.org>
-rw-r--r-- | include/linux/mv643xx.h | 26 | ||||
-rw-r--r-- | include/linux/mv643xx_eth.h | 31 |
2 files changed, 32 insertions, 25 deletions
diff --git a/include/linux/mv643xx.h b/include/linux/mv643xx.h index 9c8049005052..e67d7eceb660 100644 --- a/include/linux/mv643xx.h +++ b/include/linux/mv643xx.h @@ -14,6 +14,7 @@ #define __ASM_MV643XX_H #include <asm/types.h> +#include <linux/mv643xx_eth.h> /****************************************/ /* Processor Address Space */ @@ -658,9 +659,6 @@ /* Ethernet Unit Registers */ /****************************************/ -#define MV643XX_ETH_SHARED_REGS 0x2000 -#define MV643XX_ETH_SHARED_REGS_SIZE 0x2000 - #define MV643XX_ETH_PHY_ADDR_REG 0x2000 #define MV643XX_ETH_SMI_REG 0x2004 #define MV643XX_ETH_UNIT_DEFAULT_ADDR_REG 0x2008 @@ -1280,28 +1278,6 @@ struct mv64xxx_i2c_pdata { #define MV643XX_ETH_DESC_SIZE 64 -#define MV643XX_ETH_SHARED_NAME "mv643xx_eth_shared" -#define MV643XX_ETH_NAME "mv643xx_eth" - -struct mv643xx_eth_platform_data { - int port_number; - u16 force_phy_addr; /* force override if phy_addr == 0 */ - u16 phy_addr; - - /* If speed is 0, then speed and duplex are autonegotiated. */ - int speed; /* 0, SPEED_10, SPEED_100, SPEED_1000 */ - int duplex; /* DUPLEX_HALF or DUPLEX_FULL */ - - /* non-zero values of the following fields override defaults */ - u32 tx_queue_size; - u32 rx_queue_size; - u32 tx_sram_addr; - u32 tx_sram_size; - u32 rx_sram_addr; - u32 rx_sram_size; - u8 mac_addr[6]; /* mac address if non-zero*/ -}; - /* Watchdog Platform Device, Driver Data */ #define MV64x60_WDT_NAME "mv64x60_wdt" diff --git a/include/linux/mv643xx_eth.h b/include/linux/mv643xx_eth.h new file mode 100644 index 000000000000..3f272396642b --- /dev/null +++ b/include/linux/mv643xx_eth.h @@ -0,0 +1,31 @@ +/* + * MV-643XX ethernet platform device data definition file. + */ +#ifndef __LINUX_MV643XX_ETH_H +#define __LINUX_MV643XX_ETH_H + +#define MV643XX_ETH_SHARED_NAME "mv643xx_eth_shared" +#define MV643XX_ETH_NAME "mv643xx_eth" +#define MV643XX_ETH_SHARED_REGS 0x2000 +#define MV643XX_ETH_SHARED_REGS_SIZE 0x2000 + +struct mv643xx_eth_platform_data { + int port_number; + u16 force_phy_addr; /* force override if phy_addr == 0 */ + u16 phy_addr; + + /* If speed is 0, then speed and duplex are autonegotiated. */ + int speed; /* 0, SPEED_10, SPEED_100, SPEED_1000 */ + int duplex; /* DUPLEX_HALF or DUPLEX_FULL */ + + /* non-zero values of the following fields override defaults */ + u32 tx_queue_size; + u32 rx_queue_size; + u32 tx_sram_addr; + u32 tx_sram_size; + u32 rx_sram_addr; + u32 rx_sram_size; + u8 mac_addr[6]; /* mac address if non-zero*/ +}; + +#endif /* __LINUX_MV643XX_ETH_H */ |