From 118a9c515452e3cb45e27e67defc573da9ce8672 Mon Sep 17 00:00:00 2001
From: nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Date: Thu, 28 Apr 2011 21:27:42 +0000
Subject: [PATCH] ar71xx: use the ar8316 switch driver on the PB92 board and
 add a matching default network config

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@26779 3c298f89-4303-0410-b956-a3cf2f4a3e73
---
 .../base-files/etc/defconfig/pb92/network     | 31 +++++++++++++++++++
 target/linux/ar71xx/base-files/lib/ar71xx.sh  |  3 ++
 .../ar71xx/files/arch/mips/ar71xx/mach-pb92.c | 11 ++-----
 3 files changed, 37 insertions(+), 8 deletions(-)
 create mode 100644 target/linux/ar71xx/base-files/etc/defconfig/pb92/network

diff --git a/target/linux/ar71xx/base-files/etc/defconfig/pb92/network b/target/linux/ar71xx/base-files/etc/defconfig/pb92/network
new file mode 100644
index 000000000..c2d3e1cb4
--- /dev/null
+++ b/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"
diff --git a/target/linux/ar71xx/base-files/lib/ar71xx.sh b/target/linux/ar71xx/base-files/lib/ar71xx.sh
index 25915616f..bedc3c131 100755
--- a/target/linux/ar71xx/base-files/lib/ar71xx.sh
+++ b/target/linux/ar71xx/base-files/lib/ar71xx.sh
@@ -61,6 +61,9 @@ ar71xx_board_name() {
 	*PB44)
 		name="pb44"
 		;;
+	*PB92)
+		name="pb92"
+		;;
 	*"RouterBOARD 411/A/AH")
 		name="rb-411"
 		;;
diff --git a/target/linux/ar71xx/files/arch/mips/ar71xx/mach-pb92.c b/target/linux/ar71xx/files/arch/mips/ar71xx/mach-pb92.c
index 4a05f5bdc..e598ebc53 100644
--- a/target/linux/ar71xx/files/arch/mips/ar71xx/mach-pb92.c
+++ b/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_mdio(~0);
+	ar71xx_add_device_mdio(~BIT(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.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(1);
 
 	ar71xx_register_gpio_keys_polled(-1, PB92_KEYS_POLL_INTERVAL,
 					 ARRAY_SIZE(pb92_gpio_keys),
-- 
2.20.1