ar71xx: use the new ar7240 switch driver on the DIR-600-A1 as well (fixes #7563)
authorFelix Fietkau <nbd@openwrt.org>
Thu, 14 Oct 2010 00:14:59 +0000 (00:14 +0000)
committerFelix Fietkau <nbd@openwrt.org>
Thu, 14 Oct 2010 00:14:59 +0000 (00:14 +0000)
SVN-Revision: 23432

target/linux/ar71xx/base-files/etc/defconfig/dir-600-a1/network
target/linux/ar71xx/files/arch/mips/ar71xx/mach-dir-600-a1.c

index 2108d3a..de201bf 100644 (file)
@@ -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"
index 438d194..5c36402 100644 (file)
@@ -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);
 }