aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/ar71xx/files/arch/mips
diff options
context:
space:
mode:
authorGabor Juhos <juhosg@openwrt.org>2011-12-15 22:25:11 +0000
committerGabor Juhos <juhosg@openwrt.org>2011-12-15 22:25:11 +0000
commit9ae65588d834ca05168c292aeab1ba08769ef63e (patch)
treed309d22182658a1656001b6ba82387d3d1abda01 /target/linux/ar71xx/files/arch/mips
parentbfe747b7d93221ba8010d6a19e468aff5e6b06a5 (diff)
downloadupstream-9ae65588d834ca05168c292aeab1ba08769ef63e.tar.gz
upstream-9ae65588d834ca05168c292aeab1ba08769ef63e.tar.bz2
upstream-9ae65588d834ca05168c292aeab1ba08769ef63e.zip
ar71xx: introduce ar71xx_switch_data
SVN-Revision: 29549
Diffstat (limited to 'target/linux/ar71xx/files/arch/mips')
-rw-r--r--target/linux/ar71xx/files/arch/mips/ar71xx/devices.c6
-rw-r--r--target/linux/ar71xx/files/arch/mips/ar71xx/devices.h2
-rw-r--r--target/linux/ar71xx/files/arch/mips/include/asm/mach-ar71xx/platform.h7
3 files changed, 12 insertions, 3 deletions
diff --git a/target/linux/ar71xx/files/arch/mips/ar71xx/devices.c b/target/linux/ar71xx/files/arch/mips/ar71xx/devices.c
index 548a35e853..966afeac62 100644
--- a/target/linux/ar71xx/files/arch/mips/ar71xx/devices.c
+++ b/target/linux/ar71xx/files/arch/mips/ar71xx/devices.c
@@ -527,6 +527,8 @@ struct platform_device ar71xx_eth1_device = {
},
};
+struct ag71xx_switch_platform_data ar71xx_switch_data;
+
#define AR71XX_PLL_VAL_1000 0x00110000
#define AR71XX_PLL_VAL_100 0x00001099
#define AR71XX_PLL_VAL_10 0x00991099
@@ -830,7 +832,7 @@ void __init ar71xx_add_device_eth(unsigned int id)
pdata->speed = SPEED_1000;
pdata->duplex = DUPLEX_FULL;
- pdata->has_ar7240_switch = 1;
+ pdata->switch_data = &ar71xx_switch_data;
}
pdata->has_gbit = 1;
pdata->is_ar724x = 1;
@@ -885,7 +887,7 @@ void __init ar71xx_add_device_eth(unsigned int id)
pdata->speed = SPEED_1000;
pdata->duplex = DUPLEX_FULL;
- pdata->has_ar7240_switch = 1;
+ pdata->switch_data = &ar71xx_switch_data;
}
pdata->has_gbit = 1;
diff --git a/target/linux/ar71xx/files/arch/mips/ar71xx/devices.h b/target/linux/ar71xx/files/arch/mips/ar71xx/devices.h
index b92e482a58..0f75fe7d83 100644
--- a/target/linux/ar71xx/files/arch/mips/ar71xx/devices.h
+++ b/target/linux/ar71xx/files/arch/mips/ar71xx/devices.h
@@ -40,6 +40,8 @@ extern struct platform_device ar71xx_eth0_device;
extern struct platform_device ar71xx_eth1_device;
void ar71xx_add_device_eth(unsigned int id) __init;
+extern struct ag71xx_switch_platform_data ar71xx_switch_data;
+
extern struct platform_device ar71xx_mdio0_device;
extern struct platform_device ar71xx_mdio1_device;
void ar71xx_add_device_mdio(unsigned int id, u32 phy_mask) __init;
diff --git a/target/linux/ar71xx/files/arch/mips/include/asm/mach-ar71xx/platform.h b/target/linux/ar71xx/files/arch/mips/include/asm/mach-ar71xx/platform.h
index c60641b512..88dd051823 100644
--- a/target/linux/ar71xx/files/arch/mips/include/asm/mach-ar71xx/platform.h
+++ b/target/linux/ar71xx/files/arch/mips/include/asm/mach-ar71xx/platform.h
@@ -17,6 +17,10 @@
#include <linux/phy.h>
#include <linux/spi/spi.h>
+struct ag71xx_switch_platform_data {
+ int dummy;
+};
+
struct ag71xx_platform_data {
phy_interface_t phy_if_mode;
u32 phy_mask;
@@ -31,7 +35,8 @@ struct ag71xx_platform_data {
u8 is_ar7240:1;
u8 is_ar724x:1;
u8 has_ar8216:1;
- u8 has_ar7240_switch:1;
+
+ struct ag71xx_switch_platform_data *switch_data;
void (*ddr_flush)(void);
void (*set_speed)(int speed);