/*
- * 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
#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;
int speed;
int duplex;
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 (*ddr_flush)(void);
+ void (*set_speed)(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 {
#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 */