summaryrefslogtreecommitdiff
path: root/target/linux/ar71xx/files/arch
diff options
context:
space:
mode:
authorjuhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73>2011-12-15 22:25:11 +0000
committerjuhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73>2011-12-15 22:25:11 +0000
commit812763d48e6daa3895406d100008307d7154985e (patch)
tree0a86f9e71b7857a4de958debdbc510078a96f0f7 /target/linux/ar71xx/files/arch
parent867f0fa967d8cbb1c12a0a17fcc217e4bf1ac389 (diff)
ar71xx: introduce ar71xx_switch_data
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29549 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/ar71xx/files/arch')
-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);