diff options
author | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2010-10-14 00:14:59 +0000 |
---|---|---|
committer | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2010-10-14 00:14:59 +0000 |
commit | c952d82a6c4a10c792dd4058c2430fcd6b310062 (patch) | |
tree | d2aef034212cd246824546b044d381fd663c1ca5 | |
parent | 5f24fa9f3a8ac0af1b56d5f7de85cd0924a384c2 (diff) |
ar71xx: use the new ar7240 switch driver on the DIR-600-A1 as well (fixes #7563)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@23432 3c298f89-4303-0410-b956-a3cf2f4a3e73
-rw-r--r-- | target/linux/ar71xx/base-files/etc/defconfig/dir-600-a1/network | 14 | ||||
-rw-r--r-- | target/linux/ar71xx/files/arch/mips/ar71xx/mach-dir-600-a1.c | 19 |
2 files changed, 27 insertions, 6 deletions
diff --git a/target/linux/ar71xx/base-files/etc/defconfig/dir-600-a1/network b/target/linux/ar71xx/base-files/etc/defconfig/dir-600-a1/network index 2108d3ae8e..de201bf5ec 100644 --- a/target/linux/ar71xx/base-files/etc/defconfig/dir-600-a1/network +++ b/target/linux/ar71xx/base-files/etc/defconfig/dir-600-a1/network @@ -4,12 +4,8 @@ config interface loopback option ipaddr 127.0.0.1 option netmask 255.0.0.0 -config interface eth - option ifname eth0 - option proto none - config interface lan - option ifname 'lan1 lan2 lan3 lan4' + option ifname eth0 option type bridge option proto static option ipaddr 192.168.1.1 @@ -18,3 +14,11 @@ config interface lan config interface wan option ifname eth1 option proto dhcp + +config switch eth0 + 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-600-a1.c b/target/linux/ar71xx/files/arch/mips/ar71xx/mach-dir-600-a1.c index 438d19468d..5c36402e34 100644 --- a/target/linux/ar71xx/files/arch/mips/ar71xx/mach-dir-600-a1.c +++ b/target/linux/ar71xx/files/arch/mips/ar71xx/mach-dir-600-a1.c @@ -133,7 +133,24 @@ static void __init dir_600_a1_setup(void) ARRAY_SIZE(dir_600_a1_gpio_buttons), dir_600_a1_gpio_buttons); - ap91_eth_init(NULL); + ar71xx_eth1_data.has_ar7240_switch = 1; + ar71xx_init_mac(ar71xx_eth0_data.mac_addr, mac, 0); + ar71xx_init_mac(ar71xx_eth1_data.mac_addr, mac, 1); + + /* WAN port */ + ar71xx_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RMII; + ar71xx_eth0_data.speed = SPEED_100; + ar71xx_eth0_data.duplex = DUPLEX_FULL; + + /* LAN ports */ + ar71xx_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_RMII; + ar71xx_eth1_data.speed = SPEED_1000; + ar71xx_eth1_data.duplex = DUPLEX_FULL; + + ar71xx_add_device_mdio(0x0); + ar71xx_add_device_eth(1); + ar71xx_add_device_eth(0); + ap91_pci_init(ee, mac); } |