linux 2.6.16.38 w/ vs2.0.3-rc1
[linux-2.6.git] / include / linux / mv643xx.h
index edfa012..0b08cd6 100644 (file)
@@ -13,7 +13,7 @@
 #ifndef __ASM_MV643XX_H
 #define __ASM_MV643XX_H
 
-#ifdef __mips__
+#ifdef __MIPS__
 #include <asm/addrspace.h>
 #include <asm/marvell.h>
 #endif
@@ -1214,7 +1214,6 @@ struct mv64xxx_i2c_pdata {
 #define MV643XX_ETH_FORCE_BP_MODE_NO_JAM               0
 #define MV643XX_ETH_FORCE_BP_MODE_JAM_TX               (1<<7)
 #define MV643XX_ETH_FORCE_BP_MODE_JAM_TX_ON_RX_ERR     (1<<8)
-#define MV643XX_ETH_SERIAL_PORT_CONTROL_RESERVED       (1<<9)
 #define MV643XX_ETH_FORCE_LINK_FAIL                    0
 #define MV643XX_ETH_DO_NOT_FORCE_LINK_FAIL             (1<<10)
 #define MV643XX_ETH_RETRANSMIT_16_ATTEMPTS             0
@@ -1244,8 +1243,6 @@ struct mv64xxx_i2c_pdata {
 #define MV643XX_ETH_SET_MII_SPEED_TO_10                        0
 #define MV643XX_ETH_SET_MII_SPEED_TO_100               (1<<24)
 
-#define MV643XX_ETH_MAX_RX_PACKET_MASK                 (0x7<<17)
-
 #define        MV643XX_ETH_PORT_SERIAL_CONTROL_DEFAULT_VALUE           \
                MV643XX_ETH_DO_NOT_FORCE_LINK_PASS      |       \
                MV643XX_ETH_ENABLE_AUTO_NEG_FOR_DUPLX   |       \
@@ -1288,15 +1285,23 @@ struct mv64xxx_i2c_pdata {
 #define MV643XX_ETH_NAME       "mv643xx_eth"
 
 struct mv643xx_eth_platform_data {
+       /* 
+        * Non-values for mac_addr, phy_addr, port_config, etc.
+        * override the default value.  Setting the corresponding
+        * force_* field, causes the default value to be overridden
+        * even when zero.
+        */
+       unsigned int    force_phy_addr:1;
+       unsigned int    force_port_config:1;
+       unsigned int    force_port_config_extend:1;
+       unsigned int    force_port_sdma_config:1;
+       unsigned int    force_port_serial_control:1;
+       int             phy_addr;
        char            *mac_addr;      /* pointer to mac address */
-       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             port_config;
+       u32             port_config_extend;
+       u32             port_sdma_config;
+       u32             port_serial_control;
        u32             tx_queue_size;
        u32             rx_queue_size;
        u32             tx_sram_addr;