diff options
author | Felix Fietkau <nbd@openwrt.org> | 2010-10-14 00:14:59 +0000 |
---|---|---|
committer | Felix Fietkau <nbd@openwrt.org> | 2010-10-14 00:14:59 +0000 |
commit | 3941621dbcc805e37d2582132d03b2b62c220738 (patch) | |
tree | bc056efaa576881a2670def17cde6d1f3e791895 | |
parent | d84a69e187dd9b55b98e3a228ef29a535a3e28a6 (diff) | |
download | mtk-20170518-3941621dbcc805e37d2582132d03b2b62c220738.zip mtk-20170518-3941621dbcc805e37d2582132d03b2b62c220738.tar.gz mtk-20170518-3941621dbcc805e37d2582132d03b2b62c220738.tar.bz2 |
ar71xx: use the new ar7240 switch driver on the DIR-600-A1 as well (fixes #7563)
SVN-Revision: 23432
-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 2108d3a..de201bf 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 438d194..5c36402 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); } |