aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/mv643xx_eth.h
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2008-10-15 07:46:29 -0400
committerIngo Molnar <mingo@elte.hu>2008-10-15 07:46:29 -0400
commitb2aaf8f74cdc84a9182f6cabf198b7763bcb9d40 (patch)
tree53ccb1c2c14751fe69cf93102e76e97021f6df07 /include/linux/mv643xx_eth.h
parent4f962d4d65923d7b722192e729840cfb79af0a5a (diff)
parent278429cff8809958d25415ba0ed32b59866ab1a8 (diff)
Merge branch 'linus' into stackprotector
Conflicts: arch/x86/kernel/Makefile include/asm-x86/pda.h
Diffstat (limited to 'include/linux/mv643xx_eth.h')
-rw-r--r--include/linux/mv643xx_eth.h70
1 files changed, 51 insertions, 19 deletions
diff --git a/include/linux/mv643xx_eth.h b/include/linux/mv643xx_eth.h
index a15cdd4a8e58..cbbbe9bfecad 100644
--- a/include/linux/mv643xx_eth.h
+++ b/include/linux/mv643xx_eth.h
@@ -17,30 +17,62 @@
17 17
18struct mv643xx_eth_shared_platform_data { 18struct mv643xx_eth_shared_platform_data {
19 struct mbus_dram_target_info *dram; 19 struct mbus_dram_target_info *dram;
20 unsigned int t_clk; 20 struct platform_device *shared_smi;
21 unsigned int t_clk;
21}; 22};
22 23
24#define MV643XX_ETH_PHY_ADDR_DEFAULT 0
25#define MV643XX_ETH_PHY_ADDR(x) (0x80 | (x))
26#define MV643XX_ETH_PHY_NONE 0xff
27
23struct mv643xx_eth_platform_data { 28struct mv643xx_eth_platform_data {
29 /*
30 * Pointer back to our parent instance, and our port number.
31 */
24 struct platform_device *shared; 32 struct platform_device *shared;
25 int port_number; 33 int port_number;
26 34
27 struct platform_device *shared_smi; 35 /*
36 * Whether a PHY is present, and if yes, at which address.
37 */
38 int phy_addr;
39
40 /*
41 * Use this MAC address if it is valid, overriding the
42 * address that is already in the hardware.
43 */
44 u8 mac_addr[6];
28 45
29 u16 force_phy_addr; /* force override if phy_addr == 0 */ 46 /*
30 u16 phy_addr; 47 * If speed is 0, autonegotiation is enabled.
31 48 * Valid values for speed: 0, SPEED_10, SPEED_100, SPEED_1000.
32 /* If speed is 0, then speed and duplex are autonegotiated. */ 49 * Valid values for duplex: DUPLEX_HALF, DUPLEX_FULL.
33 int speed; /* 0, SPEED_10, SPEED_100, SPEED_1000 */ 50 */
34 int duplex; /* DUPLEX_HALF or DUPLEX_FULL */ 51 int speed;
35 52 int duplex;
36 /* non-zero values of the following fields override defaults */ 53
37 u32 tx_queue_size; 54 /*
38 u32 rx_queue_size; 55 * How many RX/TX queues to use.
39 u32 tx_sram_addr; 56 */
40 u32 tx_sram_size; 57 int rx_queue_count;
41 u32 rx_sram_addr; 58 int tx_queue_count;
42 u32 rx_sram_size; 59
43 u8 mac_addr[6]; /* mac address if non-zero*/ 60 /*
61 * Override default RX/TX queue sizes if nonzero.
62 */
63 int rx_queue_size;
64 int tx_queue_size;
65
66 /*
67 * Use on-chip SRAM for RX/TX descriptors if size is nonzero
68 * and sufficient to contain all descriptors for the requested
69 * ring sizes.
70 */
71 unsigned long rx_sram_addr;
72 int rx_sram_size;
73 unsigned long tx_sram_addr;
74 int tx_sram_size;
44}; 75};
45 76
46#endif /* __LINUX_MV643XX_ETH_H */ 77
78#endif