ar71xx: add nbg460n image generation
authorGabor Juhos <juhosg@openwrt.org>
Fri, 10 Dec 2010 15:17:03 +0000 (15:17 +0000)
committerGabor Juhos <juhosg@openwrt.org>
Fri, 10 Dec 2010 15:17:03 +0000 (15:17 +0000)
This adds image generation for NBG460N/550N/550NH boards.

Signed-off-by: Michael Kurz <michi.kurz@googlemail.com>
SVN-Revision: 24419

target/linux/ar71xx/base-files/etc/defconfig/nbg460n_550n_550nh/network [new file with mode: 0644]
target/linux/ar71xx/base-files/etc/diag.sh
target/linux/ar71xx/base-files/etc/uci-defaults/nbg460n_550n_550nh [new file with mode: 0644]
target/linux/ar71xx/base-files/lib/ar71xx.sh
target/linux/ar71xx/base-files/lib/upgrade/platform.sh
target/linux/ar71xx/generic/profiles/zyxel.mk
target/linux/ar71xx/image/Makefile

diff --git a/target/linux/ar71xx/base-files/etc/defconfig/nbg460n_550n_550nh/network b/target/linux/ar71xx/base-files/etc/defconfig/nbg460n_550n_550nh/network
new file mode 100644 (file)
index 0000000..3ab4bc8
--- /dev/null
@@ -0,0 +1,26 @@
+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
+
+config switch
+       option name     rtl8366s
+       option reset    1
+       option enable_vlan 1
+
+config switch_vlan
+       option device   rtl8366s
+       option vlan     0
+       option ports    "0 1 2 3 5"
index 77217c7..a89ede9 100755 (executable)
@@ -66,6 +66,9 @@ get_status_led() {
        mzk-w300nh)
                status_led="mzk-w300nh:green:status"
                ;;
+       nbg460n_550n_550nh)
+               status_led="nbg460n:green:power"
+               ;;
        pb44)
                status_led="pb44:amber:jump1"
                ;;
diff --git a/target/linux/ar71xx/base-files/etc/uci-defaults/nbg460n_550n_550nh b/target/linux/ar71xx/base-files/etc/uci-defaults/nbg460n_550n_550nh
new file mode 100644 (file)
index 0000000..f3fbaf2
--- /dev/null
@@ -0,0 +1,22 @@
+#!/bin/sh
+#
+# Copyright (C) 2010 OpenWrt.org
+#
+
+. /lib/ar71xx.sh
+
+board=$(ar71xx_board_name)
+
+nbg460n_550n_550nh_set_wlan_led() {
+       uci batch <<EOF
+set system.wlan_led=led
+set system.wlan_led.name='WLAN'
+set system.wlan_led.sysfs='nbg460n:green:wlan'
+set system.wlan_led.trigger='phy0rx'
+commit system
+EOF
+}
+
+if [ "${board}" == "nbg460n_550n_550nh" ]; then
+       nbg460n_550n_550nh_set_wlan_led
+fi
index fa00516..ec3aa5b 100755 (executable)
@@ -49,6 +49,9 @@ ar71xx_board_name() {
        *MZK-W300NH)
                name="mzk-w300nh"
                ;;
+       *"NBG460N/550N/550NH")
+               name="nbg460n_550n_550nh"
+               ;;
        *PB42)
                name="pb42"
                ;;
index 089f5f4..36e2b21 100755 (executable)
@@ -68,7 +68,7 @@ platform_check_image() {
        [ "$ARGC" -gt 1 ] && return 1
 
        case "$board" in
-       ap81 | ap83 | dir-600-a1 | dir-615-c1 | dir-825-b1 | mzk-w04nu | mzk-w300nh | tew-632brp | wrt400n | bullet-m | nanostation-m | rocket-m | wzr-hp-g300nh )
+       ap81 | ap83 | dir-600-a1 | dir-615-c1 | dir-825-b1 | mzk-w04nu | mzk-w300nh | tew-632brp | wrt400n | bullet-m | nanostation-m | rocket-m | wzr-hp-g300nh | nbg460n_550n_550nh)
                [ "$magic" != "2705" ] && {
                        echo "Invalid image type."
                        return 1
index 73ae4e2..8004d15 100644 (file)
@@ -7,7 +7,7 @@
 
 define Profile/NBG_460N_550N_550NH
        NAME:=Zyxel NBG 460N/550N/550NH
-       PACKAGES:=kmod-ath9k swconfig
+       PACKAGES:=kmod-ath9k kmod-rtc-pcf8563 swconfig uboot-ar71xx-nbg460n_550n_550nh
 endef
 
 define Profile/NBG_460N_550N_550NH/Description
index 313a642..4c96a88 100644 (file)
@@ -373,6 +373,29 @@ define Image/Build/WNDR3700
                -o $(call imgname,$(1),$(2))-factory.img
 endef
 
+define Image/Build/ZyXEL
+       $(call PatchKernelLzma,$(2),$(3))
+       if [ `stat -c%s "$(KDIR)/vmlinux-$(2).bin.lzma"` -gt 917504 ]; then \
+               echo "Warning: $(KDIR)/vmlinux-$(2).bin.lzma is too big"; \
+       else if [ `stat -c%s $(KDIR)/root.$(1)` -gt 2752512 ]; then \
+               echo "Warning: $(KDIR)/root.$(1) is too big"; \
+       else \
+               mkimage -A mips -O linux -T kernel -a 0x80060000 -C lzma -e \
+                       0x80060000 \
+                       -n 'MIPS OpenWrt Linux-$(LINUX_VERSION)' \
+                       -d $(KDIR)/vmlinux-$(2).bin.lzma $(KDIR)/vmlinux-$(2).uImage; \
+               ( \
+                       dd if=$(KDIR)/vmlinux-$(2).uImage bs=896k conv=sync; \
+                       dd if=$(KDIR)/root.$(1); \
+               ) > $(call imgname,$(1),$(2))-sysupgrade.bin; \
+               $(STAGING_DIR_HOST)/bin/mkzynfw \
+                       -B $(4) \
+                       -b $(BIN_DIR)/$(IMG_PREFIX)-$(2)-u-boot.bin \
+                       -r $(call imgname,$(1),$(2))-sysupgrade.bin:0x10000 \
+                       -o $(call imgname,$(1),$(2))-factory.bin; \
+       fi; fi
+endef
+
 define Image/Build/WNDR3700/initramfs
        $(call PatchKernelLzma,$(2),$(3) $(wndr3700_mtdlayout))
        $(call MkImageLzma,$(KDIR)/vmlinux-$(2).bin.lzma,$(KDIR)/vmlinux-$(2).uImage)
@@ -541,6 +564,10 @@ define Image/Build/Profile/MZKW300NH
        $(call Image/Build/Template/$(fs_64k)/$(1),Planex,mzk-w300nh,board=MZK-W300NH)
 endef
 
+define Image/Build/Profile/NBG_460N_550N_550NH
+       $(call Image/Build/Template/$(fs_64k)/$(1),ZyXEL,nbg460n_550n_550nh,board=NBG460N,NBG-460N)
+endef
+
 define Image/Build/Profile/TLMR3420V1
        $(call Image/Build/Template/$(fs_4k)/$(1),TPLINK,tl-mr3420-v1,board=TL-MR3420,TL-MR3420v1)
 endef
@@ -629,6 +656,7 @@ define Image/Build/Profile/Default
        $(call Image/Build/Profile/JWAP003,$(1))
        $(call Image/Build/Profile/MZKW04NU,$(1))
        $(call Image/Build/Profile/MZKW300NH,$(1))
+       $(call Image/Build/Profile/NBG_460N_550N_550NH,$(1))
        $(call Image/Build/Profile/PB42,$(1))
        $(call Image/Build/Profile/PB44,$(1))
        $(call Image/Build/Profile/PB92,$(1))