Prechádzať zdrojové kódy

ar71xx: use the ar8316 switch driver on the PB92 board and add a matching default network config

SVN-Revision: 26779
Felix Fietkau 14 rokov pred
rodič
commit
cbc75a9c70

+ 31 - 0
target/linux/ar71xx/base-files/etc/defconfig/pb92/network

@@ -0,0 +1,31 @@
+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.1
+	option type	bridge
+	option proto	static
+	option ipaddr	192.168.1.1
+	option netmask	255.255.255.0
+
+config interface wan
+	option ifname	eth0.2
+	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    "0t 1 3 4 5"
+
+config switch_vlan
+        option device   eth0
+        option vlan     2
+        option ports    "0t 2"

+ 3 - 0
target/linux/ar71xx/base-files/lib/ar71xx.sh

@@ -61,6 +61,9 @@ ar71xx_board_name() {
 	*PB44)
 	*PB44)
 		name="pb44"
 		name="pb44"
 		;;
 		;;
+	*PB92)
+		name="pb92"
+		;;
 	*"RouterBOARD 411/A/AH")
 	*"RouterBOARD 411/A/AH")
 		name="rb-411"
 		name="rb-411"
 		;;
 		;;

+ 3 - 8
target/linux/ar71xx/files/arch/mips/ar71xx/mach-pb92.c

@@ -86,19 +86,14 @@ static void __init pb92_init(void)
 
 
 	ar71xx_add_device_m25p80(&pb92_flash_data);
 	ar71xx_add_device_m25p80(&pb92_flash_data);
 
 
-	ar71xx_add_device_mdio(~0);
+	ar71xx_add_device_mdio(~BIT(0));
 	ar71xx_init_mac(ar71xx_eth0_data.mac_addr, mac, 0);
 	ar71xx_init_mac(ar71xx_eth0_data.mac_addr, mac, 0);
-	ar71xx_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RMII;
+	ar71xx_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
 	ar71xx_eth0_data.speed = SPEED_1000;
 	ar71xx_eth0_data.speed = SPEED_1000;
 	ar71xx_eth0_data.duplex = DUPLEX_FULL;
 	ar71xx_eth0_data.duplex = DUPLEX_FULL;
-
-	ar71xx_init_mac(ar71xx_eth1_data.mac_addr, mac, 1);
-	ar71xx_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_RMII;
-	ar71xx_eth1_data.speed = SPEED_1000;
-	ar71xx_eth1_data.duplex = DUPLEX_FULL;
+	ar71xx_eth0_data.phy_mask = BIT(0);
 
 
 	ar71xx_add_device_eth(0);
 	ar71xx_add_device_eth(0);
-	ar71xx_add_device_eth(1);
 
 
 	ar71xx_register_gpio_keys_polled(-1, PB92_KEYS_POLL_INTERVAL,
 	ar71xx_register_gpio_keys_polled(-1, PB92_KEYS_POLL_INTERVAL,
 					 ARRAY_SIZE(pb92_gpio_keys),
 					 ARRAY_SIZE(pb92_gpio_keys),