From d360a52adc08b17c6ce2a7efb174b9c474a3cd43 Mon Sep 17 00:00:00 2001
From: juhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Date: Tue, 17 Mar 2009 18:07:16 +0000
Subject: [PATCH] [ar71xx] ap81: register ethernet devices, and add default
 network configuration file

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@14921 3c298f89-4303-0410-b956-a3cf2f4a3e73
---
 .../ar71xx/base-files/etc/defconfig/ap81/network | 16 ++++++++++++++++
 target/linux/ar71xx/base-files/lib/ar71xx.sh     |  3 +++
 .../ar71xx/files/arch/mips/ar71xx/mach-ap81.c    | 14 ++++++++++++++
 3 files changed, 33 insertions(+)
 create mode 100644 target/linux/ar71xx/base-files/etc/defconfig/ap81/network

diff --git a/target/linux/ar71xx/base-files/etc/defconfig/ap81/network b/target/linux/ar71xx/base-files/etc/defconfig/ap81/network
new file mode 100644
index 000000000..2d4d8e012
--- /dev/null
+++ b/target/linux/ar71xx/base-files/etc/defconfig/ap81/network
@@ -0,0 +1,16 @@
+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
+	option type	bridge
+	option proto	static
+	option ipaddr	192.168.1.1
+	option netmask	255.255.255.0
+
+config interface wan
+	option ifname	eth1
+	option proto	dhcp
diff --git a/target/linux/ar71xx/base-files/lib/ar71xx.sh b/target/linux/ar71xx/base-files/lib/ar71xx.sh
index a41d6b5f3..15c6159e1 100755
--- a/target/linux/ar71xx/base-files/lib/ar71xx.sh
+++ b/target/linux/ar71xx/base-files/lib/ar71xx.sh
@@ -10,6 +10,9 @@ ar71xx_board_name() {
 	machine=$(awk 'BEGIN{FS="[ \t]+:[ \t]"} /machine/ {print $2}' /proc/cpuinfo)
 
 	case "$machine" in
+	*AP81)
+		name="ap81"
+		;;
 	*AW-NR580)
 		name="aw-nr580"
 		;;
diff --git a/target/linux/ar71xx/files/arch/mips/ar71xx/mach-ap81.c b/target/linux/ar71xx/files/arch/mips/ar71xx/mach-ap81.c
index 01504a7d9..659c9599a 100644
--- a/target/linux/ar71xx/files/arch/mips/ar71xx/mach-ap81.c
+++ b/target/linux/ar71xx/files/arch/mips/ar71xx/mach-ap81.c
@@ -16,6 +16,20 @@
 
 static void __init ap81_setup(void)
 {
+	ar71xx_add_device_mdio(0x0);
+
+	ar71xx_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RMII;
+	ar71xx_eth0_data.phy_mask = 0xf;
+	ar71xx_eth0_data.speed = SPEED_100;
+	ar71xx_eth0_data.duplex = DUPLEX_FULL;
+	ar71xx_eth0_data.has_ar8216 = 1;
+
+	ar71xx_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_RMII;
+	ar71xx_eth1_data.phy_mask = 0x10;
+
+	ar71xx_add_device_eth(0);
+	ar71xx_add_device_eth(1);
+
 	ar91xx_add_device_wmac();
 }