[ar71xx] ethernet driver preparation for gigabit support
[openwrt/svn-archive/archive.git] / target / linux / ar71xx / files / include / asm-mips / mach-ar71xx / platform.h
index f24ff800b591cffeab5643b96d67be051639205c..f845c42f30942e3303ad1909ac34b2dcc6fc766a 100644 (file)
 #include <linux/skbuff.h>
 #include <linux/phy.h>
 #include <linux/spi/spi.h>
+#include <linux/leds.h>
+#include <linux/gpio_buttons.h>
 
 struct ag71xx_platform_data {
+       phy_interface_t phy_if_mode;
+       u32             phy_mask;
+       int             speed;
+       int             duplex;
        u32             reset_bit;
        u32             flush_reg;
-       u32             phy_mask;
-       phy_interface_t phy_if_mode;
        u32             mii_if;
        u8              mac_addr[ETH_ALEN];
+
+       u8              has_gbit:1;
+};
+
+struct ag71xx_mdio_platform_data {
+       u32             phy_mask;
 };
 
 struct ar71xx_spi_platform_data {
@@ -39,8 +49,22 @@ extern void ar71xx_add_device_spi(struct ar71xx_spi_platform_data *pdata,
                                struct spi_board_info const *info,
                                unsigned n) __init;
 
-extern void ar71xx_set_mac_base(char *mac_str) __init;
-extern void ar71xx_add_device_eth(unsigned int id, phy_interface_t phy_if_mode,
-                               u32 phy_mask) __init;
+extern void ar71xx_set_mac_base(unsigned char *mac) __init;
+extern void ar71xx_parse_mac_addr(char *mac_str) __init;
+
+extern struct ag71xx_platform_data ar71xx_eth0_data;
+extern struct ag71xx_platform_data ar71xx_eth1_data;
+extern void ar71xx_add_device_eth(unsigned int id) __init;
+
+extern void ar71xx_add_device_mdio(u32 phy_mask) __init;
+
+extern void ar71xx_add_device_leds_gpio(int id,
+                                  unsigned num_leds,
+                                  struct gpio_led *leds) __init;
+
+extern void ar71xx_add_device_gpio_buttons(int id,
+                                  unsigned poll_interval,
+                                  unsigned nbuttons,
+                                  struct gpio_button *buttons) __init;
 
 #endif /* __ASM_MACH_AR71XX_PLATFORM_H */