ar71xx: add missing ethernet driver fix backport (fixes #10089)
[openwrt-10.03/.git] / target / linux / ar71xx / files / arch / mips / include / asm / mach-ar71xx / platform.h
index 20d83bb74891bd697f3ed2fd5da2ec9d4109ebe6..84d4f1aaaf18428b75183b3157ed72ff6d3451ae 100644 (file)
@@ -1,7 +1,7 @@
 /*
- *  Atheros AR71xx SoC specific platform definitions
+ *  Atheros AR71xx SoC specific platform data definitions
  *
- *  Copyright (C) 2008 Gabor Juhos <juhosg@openwrt.org>
+ *  Copyright (C) 2008-2009 Gabor Juhos <juhosg@openwrt.org>
  *  Copyright (C) 2008 Imre Kaloz <kaloz@openwrt.org>
  *
  *  This program is free software; you can redistribute it and/or modify it
@@ -16,8 +16,6 @@
 #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;
@@ -27,16 +25,26 @@ struct ag71xx_platform_data {
        u32             reset_bit;
        u32             mii_if;
        u8              mac_addr[ETH_ALEN];
+       struct device   *mii_bus_dev;
 
        u8              has_gbit:1;
        u8              is_ar91xx:1;
+       u8              is_ar7240:1;
+       u8              is_ar724x:1;
+       u8              has_ar8216:1;
+       u8              has_ar7240_switch:1;
 
        void            (* ddr_flush)(void);
-       void            (* set_pll)(u32 pll);
+       void            (* set_pll)(int speed);
+
+       u32             fifo_cfg1;
+       u32             fifo_cfg2;
+       u32             fifo_cfg3;
 };
 
 struct ag71xx_mdio_platform_data {
        u32             phy_mask;
+       int             is_ar7240;
 };
 
 struct ar71xx_ehci_platform_data {
@@ -52,36 +60,4 @@ struct ar71xx_spi_platform_data {
 #define AR71XX_SPI_CS_INACTIVE 0
 #define AR71XX_SPI_CS_ACTIVE   1
 
-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(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;
-
-#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;
-
-extern void ar91xx_add_device_wmac(void) __init;
-
 #endif /* __ASM_MACH_AR71XX_PLATFORM_H */