diff options
author | Gabor Juhos <juhosg@openwrt.org> | 2010-04-09 08:40:09 +0000 |
---|---|---|
committer | Gabor Juhos <juhosg@openwrt.org> | 2010-04-09 08:40:09 +0000 |
commit | d6c03638848d1b31beb79a828e875119f12cf316 (patch) | |
tree | 508b81abd6a925903585ac0ece65ccecf39fd620 | |
parent | 4c29a2c2630d362813b79a6033c5ce32620b5db2 (diff) | |
download | upstream-d6c03638848d1b31beb79a828e875119f12cf316.tar.gz upstream-d6c03638848d1b31beb79a828e875119f12cf316.tar.bz2 upstream-d6c03638848d1b31beb79a828e875119f12cf316.zip |
ar71xx: make the AR8216 driver usable on the TEW-632BRP/DIR-615-Cx boards
Cc: backfire@openwrt.org
SVN-Revision: 20752
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 0000000000..a2204d4a34 --- /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 2d4d8e0121..a2204d4a34 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 f5eb7b2e43..8433b0cf14 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 2bf9ad9b03..787f83eb01 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); |