summaryrefslogtreecommitdiffstats
path: root/target/linux
diff options
context:
space:
mode:
authorjuhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73>2010-04-09 08:40:09 +0000
committerjuhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73>2010-04-09 08:40:09 +0000
commitd7e830a7a9c9ca49ce15c4104586e24e77571919 (patch)
tree4a0422ec8f139372461c0da81ef318ac8ba85ffe /target/linux
parentda7aaa905b604709004e6dd0699bb09fb329e825 (diff)
ar71xx: make the AR8216 driver usable on the TEW-632BRP/DIR-615-Cx boards
Cc: backfire@openwrt.org git-svn-id: svn://svn.openwrt.org/openwrt/trunk@20752 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux')
-rw-r--r--target/linux/ar71xx/base-files/etc/defconfig/dir-615-c1/network26
-rw-r--r--target/linux/ar71xx/base-files/etc/defconfig/tew-632brp/network10
-rw-r--r--target/linux/ar71xx/files/arch/mips/ar71xx/mach-dir-615-c1.c12
-rw-r--r--target/linux/ar71xx/files/arch/mips/ar71xx/mach-tew-632brp.c12
4 files changed, 52 insertions, 8 deletions
diff --git a/target/linux/ar71xx/base-files/etc/defconfig/dir-615-c1/network b/target/linux/ar71xx/base-files/etc/defconfig/dir-615-c1/network
new file mode 100644
index 000000000..a2204d4a3
--- /dev/null
+++ b/target/linux/ar71xx/base-files/etc/defconfig/dir-615-c1/network
@@ -0,0 +1,26 @@
+config interface loopback
+ option ifname lo
+ option proto static
+ option ipaddr 127.0.0.1
+ option netmask 255.0.0.0
+
+config interface lan
+ option ifname eth0
+ option type bridge
+ option proto static
+ option ipaddr 192.168.1.1
+ option netmask 255.255.255.0
+
+config interface wan
+ option ifname eth1
+ option proto dhcp
+
+config switch
+ option name eth0
+ option reset 1
+ option enable_vlan 1
+
+config switch_vlan
+ option device eth0
+ option vlan 1
+ option ports '0 1 2 3 4'
diff --git a/target/linux/ar71xx/base-files/etc/defconfig/tew-632brp/network b/target/linux/ar71xx/base-files/etc/defconfig/tew-632brp/network
index 2d4d8e012..a2204d4a3 100644
--- a/target/linux/ar71xx/base-files/etc/defconfig/tew-632brp/network
+++ b/target/linux/ar71xx/base-files/etc/defconfig/tew-632brp/network
@@ -14,3 +14,13 @@ config interface lan
config interface wan
option ifname eth1
option proto dhcp
+
+config switch
+ option name eth0
+ option reset 1
+ option enable_vlan 1
+
+config switch_vlan
+ option device eth0
+ option vlan 1
+ option ports '0 1 2 3 4'
diff --git a/target/linux/ar71xx/files/arch/mips/ar71xx/mach-dir-615-c1.c b/target/linux/ar71xx/files/arch/mips/ar71xx/mach-dir-615-c1.c
index f5eb7b2e4..8433b0cf1 100644
--- a/target/linux/ar71xx/files/arch/mips/ar71xx/mach-dir-615-c1.c
+++ b/target/linux/ar71xx/files/arch/mips/ar71xx/mach-dir-615-c1.c
@@ -128,6 +128,11 @@ static struct gpio_button dir_615c1_gpio_buttons[] __initdata = {
}
};
+#define DIR_615C1_LAN_PHYMASK BIT(0)
+#define DIR_615C1_WAN_PHYMASK BIT(4)
+#define DIR_615C1_MDIO_MASK (~(DIR_615C1_LAN_PHYMASK | \
+ DIR_615C1_WAN_PHYMASK))
+
static void __init dir_615c1_setup(void)
{
const char *config = (char *) KSEG1ADDR(DIR_615C1_CONFIG_ADDR);
@@ -141,14 +146,13 @@ static void __init dir_615c1_setup(void)
wlan_mac = mac;
}
- ar71xx_add_device_mdio(0x0);
+ ar71xx_add_device_mdio(DIR_615C1_MDIO_MASK);
ar71xx_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RMII;
- ar71xx_eth0_data.speed = SPEED_100;
- ar71xx_eth0_data.duplex = DUPLEX_FULL;
+ ar71xx_eth0_data.phy_mask = DIR_615C1_LAN_PHYMASK;
ar71xx_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_RMII;
- ar71xx_eth1_data.phy_mask = 0x10;
+ ar71xx_eth1_data.phy_mask = DIR_615C1_WAN_PHYMASK;
ar71xx_add_device_eth(0);
ar71xx_add_device_eth(1);
diff --git a/target/linux/ar71xx/files/arch/mips/ar71xx/mach-tew-632brp.c b/target/linux/ar71xx/files/arch/mips/ar71xx/mach-tew-632brp.c
index 2bf9ad9b0..787f83eb0 100644
--- a/target/linux/ar71xx/files/arch/mips/ar71xx/mach-tew-632brp.c
+++ b/target/linux/ar71xx/files/arch/mips/ar71xx/mach-tew-632brp.c
@@ -104,6 +104,11 @@ static struct gpio_button tew_632brp_gpio_buttons[] __initdata = {
}
};
+#define TEW_632BRP_LAN_PHYMASK BIT(0)
+#define TEW_632BRP_WAN_PHYMASK BIT(4)
+#define TEW_632BRP_MDIO_MASK (~(TEW_632BRP_LAN_PHYMASK | \
+ TEW_632BRP_WAN_PHYMASK))
+
static void __init tew_632brp_setup(void)
{
const char *config = (char *) KSEG1ADDR(TEW_632BRP_CONFIG_ADDR);
@@ -117,14 +122,13 @@ static void __init tew_632brp_setup(void)
wlan_mac = mac;
}
- ar71xx_add_device_mdio(0x0);
+ ar71xx_add_device_mdio(TEW_632BRP_MDIO_MASK);
ar71xx_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RMII;
- ar71xx_eth0_data.speed = SPEED_100;
- ar71xx_eth0_data.duplex = DUPLEX_FULL;
+ ar71xx_eth0_data.phy_mask = TEW_632BRP_LAN_PHYMASK;
ar71xx_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_RMII;
- ar71xx_eth1_data.phy_mask = 0x10;
+ ar71xx_eth1_data.phy_mask = TEW_632BRP_WAN_PHYMASK;
ar71xx_add_device_eth(0);
ar71xx_add_device_eth(1);