[ar71xx] move machine setup code
[openwrt/svn-archive/archive.git] / target / linux / ar71xx / files / include / asm-mips / mach-ar71xx / platform.h
index 32ca2965ebcb28f8e378be12ca56a1abfcb167c7..a82d621a4873775bf01fbfeace266f656c336aae 100644 (file)
 #include <linux/gpio_buttons.h>
 
 struct ag71xx_platform_data {
-       u32             reset_bit;
-       u32             flush_reg;
-       u32             phy_mask;
        phy_interface_t phy_if_mode;
+       u32             phy_mask;
+       int             speed;
+       int             duplex;
+       u32             reset_bit;
        u32             mii_if;
        u8              mac_addr[ETH_ALEN];
+
+       u8              has_gbit:1;
+       u8              is_ar91xx:1;
+
+       void            (* ddr_flush)(void);
+       void            (* set_pll)(u32 pll);
 };
 
 struct ag71xx_mdio_platform_data {
        u32             phy_mask;
 };
 
+struct ar71xx_ehci_platform_data {
+       u8              is_ar91xx;
+};
+
 struct ar71xx_spi_platform_data {
        unsigned        bus_num;
        unsigned        num_chipselect;
@@ -45,9 +56,12 @@ 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;
 
@@ -60,4 +74,12 @@ extern void ar71xx_add_device_gpio_buttons(int id,
                                   unsigned nbuttons,
                                   struct gpio_button *buttons) __init;
 
+#ifdef CONFIG_AR71XX_EARLY_SERIAL
+static inline void ar71xx_add_device_uart(void) {}
+#else
+extern void ar71xx_add_device_uart(void) __init;
+#endif
+
+extern void ar71xx_add_device_wdt(void) __init;
+
 #endif /* __ASM_MACH_AR71XX_PLATFORM_H */