summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xtarget/linux/ar71xx/base-files/etc/uci-defaults/network3
-rwxr-xr-xtarget/linux/ar71xx/base-files/lib/ar71xx.sh3
-rwxr-xr-xtarget/linux/ar71xx/base-files/lib/upgrade/platform.sh3
-rw-r--r--target/linux/ar71xx/files/arch/mips/ath79/mach-ew-dorin.c40
-rw-r--r--target/linux/ar71xx/image/Makefile2
-rw-r--r--target/linux/ar71xx/patches-3.3/610-MIPS-ath79-openwrt-machines.patch3
6 files changed, 49 insertions, 5 deletions
diff --git a/target/linux/ar71xx/base-files/etc/uci-defaults/network b/target/linux/ar71xx/base-files/etc/uci-defaults/network
index 3a5b704e7..ae4b88b7c 100755
--- a/target/linux/ar71xx/base-files/etc/uci-defaults/network
+++ b/target/linux/ar71xx/base-files/etc/uci-defaults/network
@@ -133,6 +133,7 @@ wzr-hp-g300nh)
aw-nr580 |\
bullet-m |\
eap7660d |\
+ew-dorin |\
rb-411 |\
tl-mr11u |\
tl-mr3020 |\
@@ -186,7 +187,7 @@ wzr-hp-g450h)
ucidef_add_switch_vlan "eth0" "2" "0t 1"
;;
-ew-dorin)
+ew-dorin-router)
ucidef_set_interfaces_lan_wan "eth0" "eth1"
ucidef_add_switch "eth0" "1" "1"
ucidef_add_switch_vlan "eth0" "1" "0 2 3"
diff --git a/target/linux/ar71xx/base-files/lib/ar71xx.sh b/target/linux/ar71xx/base-files/lib/ar71xx.sh
index 2829d9f29..648cca8b5 100755
--- a/target/linux/ar71xx/base-files/lib/ar71xx.sh
+++ b/target/linux/ar71xx/base-files/lib/ar71xx.sh
@@ -399,6 +399,9 @@ ar71xx_board_detect() {
*EmbWir-Dorin)
name="ew-dorin"
;;
+ *EmbWir-Dorin-Router)
+ name="ew-dorin-router"
+ ;;
esac
case "$machine" in
diff --git a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
index 0e086039c..fb5fe7318 100755
--- a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
+++ b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
@@ -94,13 +94,14 @@ platform_check_image() {
}
return 0
;;
- ew-dorin | \
ap81 | \
ap83 | \
dir-600-a1 | \
dir-615-c1 | \
dir-615-e4 | \
dir-825-b1 | \
+ ew-dorin | \
+ ew-dorin-router | \
mzk-w04nu | \
mzk-w300nh | \
tew-632brp | \
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-ew-dorin.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-ew-dorin.c
index dc052c486..47ed51b5d 100644
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-ew-dorin.c
+++ b/target/linux/ar71xx/files/arch/mips/ath79/mach-ew-dorin.c
@@ -85,6 +85,42 @@ static void __init ew_dorin_setup(void)
mac[3] |= 0x40;
ath79_init_mac(ath79_eth1_data.mac_addr, mac, 0);
+ ath79_register_mdio(0, 0x0);
+
+ /* LAN ports */
+ ath79_register_eth(1);
+
+ ath79_register_leds_gpio(-1, ARRAY_SIZE(dorin_leds_gpio),
+ dorin_leds_gpio);
+ ath79_register_gpio_keys_polled(-1, DORIN_KEYS_POLL_INTERVAL,
+ ARRAY_SIZE(dorin_gpio_keys),
+ dorin_gpio_keys);
+}
+
+MIPS_MACHINE(ATH79_MACH_EW_DORIN, "EW-DORIN", "EmbWir-Dorin",
+ ew_dorin_setup);
+
+
+static void __init ew_dorin_router_setup(void)
+{
+ u8 *art = (u8 *) KSEG1ADDR(0x1fff0000);
+ static u8 mac[6];
+
+ ath79_register_m25p80(NULL);
+
+ ath79_register_usb();
+
+ if (ar93xx_wmac_read_mac_address(mac)) {
+ ath79_register_wmac(NULL, NULL);
+ } else {
+ ath79_register_wmac(art + DORIN_CALDATA_OFFSET,
+ art + DORIN_WMAC_MAC_OFFSET);
+ memcpy(mac, art + DORIN_WMAC_MAC_OFFSET, sizeof(mac));
+ }
+
+ mac[3] |= 0x40;
+ ath79_init_mac(ath79_eth1_data.mac_addr, mac, 0);
+
mac[3] &= 0x3F;
ath79_init_mac(ath79_eth0_data.mac_addr, mac, 0);
ath79_setup_ar933x_phy4_switch(true, true);
@@ -104,5 +140,5 @@ static void __init ew_dorin_setup(void)
dorin_gpio_keys);
}
-MIPS_MACHINE(ATH79_MACH_EW_DORIN, "EW-DORIN", "EmbWir-Dorin",
- ew_dorin_setup);
+MIPS_MACHINE(ATH79_MACH_EW_DORIN_ROUTER, "EW-DORIN-ROUTER",
+ "EmbWir-Dorin-Router", ew_dorin_router_setup);
diff --git a/target/linux/ar71xx/image/Makefile b/target/linux/ar71xx/image/Makefile
index 6e6de706f..3897dd49b 100644
--- a/target/linux/ar71xx/image/Makefile
+++ b/target/linux/ar71xx/image/Makefile
@@ -682,9 +682,11 @@ define Image/Build/Profile/AP121MINI
endef
ew-dorin_cmdline=board=EW-DORIN console=ttyATH0,115200
+ew-dorin-router_cmdline=board=EW-DORIN-ROUTER console=ttyATH0,115200
ew-dorin_mtdlayout_4M=mtdparts=spi0.0:256k(u-boot)ro,64k(u-boot-env),1024k(kernel),2688k(rootfs),64k(art),3712k@0x50000(firmware)
define Image/Build/Profile/EWDORIN
$(call Image/Build/Template/$(fs_64k)/$(1),AthLzma,ew-dorin,$(ew-dorin_cmdline),$(ew-dorin_mtdlayout_4M),1048576,2752512,KRuImage)
+ $(call Image/Build/Template/$(fs_64k)/$(1),AthLzma,ew-dorin-router,$(ew-dorin-router_cmdline),$(ew-dorin_mtdlayout_4M),1048576,2752512,KRuImage)
endef
ap81_cmdline=board=AP81 console=ttyS0,115200
diff --git a/target/linux/ar71xx/patches-3.3/610-MIPS-ath79-openwrt-machines.patch b/target/linux/ar71xx/patches-3.3/610-MIPS-ath79-openwrt-machines.patch
index 6ef787124..4179681a2 100644
--- a/target/linux/ar71xx/patches-3.3/610-MIPS-ath79-openwrt-machines.patch
+++ b/target/linux/ar71xx/patches-3.3/610-MIPS-ath79-openwrt-machines.patch
@@ -1,6 +1,6 @@
--- a/arch/mips/ath79/machtypes.h
+++ b/arch/mips/ath79/machtypes.h
-@@ -16,18 +16,92 @@
+@@ -16,18 +16,93 @@
enum ath79_mach_type {
ATH79_MACH_GENERIC = 0,
@@ -22,6 +22,7 @@
+ ATH79_MACH_DIR_615_E4, /* D-Link DIR-615 rev. E4 */
+ ATH79_MACH_DIR_825_B1, /* D-Link DIR-825 rev. B1 */
+ ATH79_MACH_EW_DORIN, /* embedded wireless Dorin Platform */
++ ATH79_MACH_EW_DORIN_ROUTER, /* embedded wireless Dorin Router Platform */
+ ATH79_MACH_EAP7660D, /* Senao EAP7660D */
+ ATH79_MACH_JA76PF, /* jjPlus JA76PF */
+ ATH79_MACH_JA76PF2, /* jjPlus JA76PF2 */