gemini: add basic nas4220 board support
authorblogic <blogic@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Wed, 19 Nov 2014 14:09:10 +0000 (14:09 +0000)
committerblogic <blogic@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Wed, 19 Nov 2014 14:09:10 +0000 (14:09 +0000)
Few notes:
- redboot partitions are unusable
- redboot declares only 16M of RAM, hence the mem arg in cmdline and separate kernel config
- boots fine but only ethernet works for now
- split wiliboard and raidsonic boards into different subtargets

Signed-off-by: Roman Yeryomin <roman@advem.lv>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43319 3c298f89-4303-0410-b956-a3cf2f4a3e73

target/linux/gemini/Makefile
target/linux/gemini/image/ImageInfo-ib4220 [new file with mode: 0644]
target/linux/gemini/image/Makefile
target/linux/gemini/raidsonic/config-3.10 [new file with mode: 0644]
target/linux/gemini/raidsonic/target.mk [new file with mode: 0644]
target/linux/gemini/wiligear/target.mk [new file with mode: 0644]

index 7eb751e..2c10af2 100644 (file)
@@ -9,6 +9,7 @@ include $(TOPDIR)/rules.mk
 ARCH:=arm
 BOARD:=gemini
 BOARDNAME:=Cortina Systems CS351x
+SUBTARGETS:=raidsonic wiligear
 FEATURES:=squashfs pci
 CPU_TYPE:=fa526
 MAINTAINER:=Imre Kaloz <kaloz@openwrt.org>
diff --git a/target/linux/gemini/image/ImageInfo-ib4220 b/target/linux/gemini/image/ImageInfo-ib4220
new file mode 100644 (file)
index 0000000..68fca5b
--- /dev/null
@@ -0,0 +1,19 @@
+Distribution="OpenWrt"
+Layout="Compact"
+UpgradeImages="zImage rd.gz hddapp.tgz"
+productName="IB-NAS4220-B"
+hardwareName="MP-LNU23SL"
+productVendor="   "
+VendorID="macpower"
+ProductID="pddlan"
+UpgradeVersion="300"
+ExtraVersion=""
+manufacturerURL="   "
+Description="IB-NAS4220-B"
+hostname="IB-NAS4220-B"
+softwareVersion="3.0"
+TSS="enabled"
+DIRECT_MODE="disabled"
+Raid_Support="raid0_raid1_raid5_linear"
+RaidTestDiskSize="0"
+Raid_Show_Disk="2"
index 85da888..d4d0aac 100644 (file)
@@ -1,5 +1,5 @@
 #
-# Copyright (C) 2009-2010 OpenWrt.org
+# Copyright (C) 2009-2014 OpenWrt.org
 #
 # This is free software, licensed under the GNU General Public License v2.
 # See /LICENSE for more information.
@@ -7,6 +7,7 @@
 include $(TOPDIR)/rules.mk
 include $(INCLUDE_DIR)/image.mk
 
+ifeq ($(SUBTARGET),wiligear)
 define Image/Prepare
 # WBD111: mach id 1690 (0x69a)
        echo -en "\x06\x1c\xa0\xe3\x9a\x10\x81\xe3" > $(KDIR)/$(IMG_PREFIX)-wbd111-zImage
@@ -15,7 +16,17 @@ define Image/Prepare
        echo -en "\x0a\x1c\xa0\xe3\xc1\x10\x81\xe3" > $(KDIR)/$(IMG_PREFIX)-wbd222-zImage
        cat $(KDIR)/zImage >> $(KDIR)/$(IMG_PREFIX)-wbd222-zImage
 endef
+endif
 
+ifeq ($(SUBTARGET),raidsonic)
+define Image/Prepare
+# NAS4220: mach id 2038 (0x7F6)
+       echo -en "\x07\x1c\xa0\xe3\xf6\x10\x81\xe3" > $(BIN_DIR)/$(IMG_PREFIX)-nas4220-zImage
+       cat $(KDIR)/zImage >> $(BIN_DIR)/$(IMG_PREFIX)-nas4220-zImage
+endef
+endif
+
+ifeq ($(SUBTARGET),wiligear)
 define Image/BuildKernel
 # workaround the bootloader's bug with extra nops
        echo -en "\x00\x00\xa0\xe1\x00\x00\xa0\xe1\x00\x00\xa0\xe1\x00\x00\xa0\xe1" > $(BIN_DIR)/$(IMG_PREFIX)-wbd111-zImage
@@ -23,6 +34,7 @@ define Image/BuildKernel
        echo -en "\x00\x00\xa0\xe1\x00\x00\xa0\xe1\x00\x00\xa0\xe1\x00\x00\xa0\xe1" > $(BIN_DIR)/$(IMG_PREFIX)-wbd222-zImage
        cat $(KDIR)/$(IMG_PREFIX)-wbd222-zImage >> $(BIN_DIR)/$(IMG_PREFIX)-wbd222-zImage
 endef
+endif
 
 define Image/Build/jffs2-64k
        dd if=$(KDIR)/root.$(1) of=$(BIN_DIR)/$(IMG_PREFIX)-$(1).img bs=64k conv=sync
@@ -37,9 +49,9 @@ define Image/Build/squashfs
        dd if=$(KDIR)/root.$(1) of=$(BIN_DIR)/$(IMG_PREFIX)-$(1).img bs=128k conv=sync
 endef
 
+ifeq ($(SUBTARGET),wiligear)
 define Image/Build
        $(call Image/Build/$(1),$(1))
-
        -$(STAGING_DIR_HOST)/bin/mkfwimage2 \
                -m GEOS -f 0x30000000 -z \
                -v WILI-S.WILIBOARD.v5.00.SL3512.OpenWrt.00000.000000.000000 \
@@ -54,5 +66,21 @@ define Image/Build
                -p Kernel:0x020000:0x100000:0:0:$(BIN_DIR)/$(IMG_PREFIX)-wbd222-zImage \
                -p Ramdisk:0x120000:0x500000:0:0:$(BIN_DIR)/$(IMG_PREFIX)-$(1).img
 endef
+endif
+
+ifeq ($(SUBTARGET),raidsonic)
+define Image/Build
+       $(call Image/Build/$(1),$(1))
+       dd if=$(BIN_DIR)/$(IMG_PREFIX)-$(1).img of=$(BIN_DIR)/rd.gz bs=6M count=1
+#      dd if=/dev/zero of=$(BIN_DIR)/hddapp.tgz bs=6M count=1
+       dd if=$(BIN_DIR)/$(IMG_PREFIX)-$(1).img of=$(BIN_DIR)/hddapp.tgz bs=6M count=1 seek=1
+       cp $(BIN_DIR)/$(IMG_PREFIX)-nas4220-zImage $(BIN_DIR)/zImage
+       cp ./ImageInfo-ib4220 $(BIN_DIR)/ImageInfo
+       (cd $(BIN_DIR); tar -czf sysupgrade-ib4220.tar.gz ImageInfo zImage rd.gz hddapp.tgz)
+       mv $(BIN_DIR)/rd.gz $(BIN_DIR)/$(IMG_PREFIX)-nas4220-rd.gz
+       mv $(BIN_DIR)/hddapp.tgz $(BIN_DIR)/$(IMG_PREFIX)-nas4220-hddapp.tgz
+       rm -f $(BIN_DIR)/zImage $(BIN_DIR)/ImageInfo
+endef
+endif
 
 $(eval $(call BuildImage))
diff --git a/target/linux/gemini/raidsonic/config-3.10 b/target/linux/gemini/raidsonic/config-3.10
new file mode 100644 (file)
index 0000000..9160523
--- /dev/null
@@ -0,0 +1,5 @@
+CONFIG_CMDLINE="rootfstype=squashfs,jffs2 noinitrd console=ttyS0,19200 mem=128M mtdparts=physmap-flash.0:128k(BOOT),3072k(Kern),6144k(Ramdisk),6144k(Application),128k(VCTL),640k(CurConf),128k(FIS-directory),12288k@0x320000(rootfs),15360k@0x20000(firmware) root=/dev/mtdblock7"
+CONFIG_MACH_NAS4220B=y
+CONFIG_MTD_CMDLINE_PARTS=y
+# CONFIG_MTD_REDBOOT_PARTS is not set
+CONFIG_MTD_SPLIT_FIRMWARE=y
diff --git a/target/linux/gemini/raidsonic/target.mk b/target/linux/gemini/raidsonic/target.mk
new file mode 100644 (file)
index 0000000..1e4320e
--- /dev/null
@@ -0,0 +1,11 @@
+#
+# Copyright (C) 2014 OpenWrt.org
+#
+
+SUBTARGET:=raidsonic
+BOARDNAME:=Raidsonic NAS42x0
+FEATURES+=jffs2
+
+define Target/Description
+       Build firmware images for Raidsonic NAS4220.
+endef
diff --git a/target/linux/gemini/wiligear/target.mk b/target/linux/gemini/wiligear/target.mk
new file mode 100644 (file)
index 0000000..97cab18
--- /dev/null
@@ -0,0 +1,10 @@
+#
+# Copyright (C) 2014 OpenWrt.org
+#
+
+SUBTARGET:=wiligear
+BOARDNAME:=Wiligear WBD-222/111
+
+define Target/Description
+       Build firmware images for Wiligear WBD-222 and WBD-111 boards.
+endef