summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Crispin <john@openwrt.org>2014-11-19 14:09:10 +0000
committerJohn Crispin <john@openwrt.org>2014-11-19 14:09:10 +0000
commitda5001475c093f296248fe6842d9188d4f64fd4e (patch)
treea32f6d32a31f513e20c975d92b09d3e456ea4687
parent6521f53c653fcea9ca9b7d0f338a2afc5e4c5946 (diff)
downloadmtk-20170518-da5001475c093f296248fe6842d9188d4f64fd4e.zip
mtk-20170518-da5001475c093f296248fe6842d9188d4f64fd4e.tar.gz
mtk-20170518-da5001475c093f296248fe6842d9188d4f64fd4e.tar.bz2
gemini: add basic nas4220 board support
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> SVN-Revision: 43319
-rw-r--r--target/linux/gemini/Makefile1
-rw-r--r--target/linux/gemini/image/ImageInfo-ib422019
-rw-r--r--target/linux/gemini/image/Makefile32
-rw-r--r--target/linux/gemini/raidsonic/config-3.105
-rw-r--r--target/linux/gemini/raidsonic/target.mk11
-rw-r--r--target/linux/gemini/wiligear/target.mk10
6 files changed, 76 insertions, 2 deletions
diff --git a/target/linux/gemini/Makefile b/target/linux/gemini/Makefile
index 7eb751e..2c10af2 100644
--- a/target/linux/gemini/Makefile
+++ b/target/linux/gemini/Makefile
@@ -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
index 0000000..68fca5b
--- /dev/null
+++ b/target/linux/gemini/image/ImageInfo-ib4220
@@ -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"
diff --git a/target/linux/gemini/image/Makefile b/target/linux/gemini/image/Makefile
index 85da888..d4d0aac 100644
--- a/target/linux/gemini/image/Makefile
+++ b/target/linux/gemini/image/Makefile
@@ -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
index 0000000..9160523
--- /dev/null
+++ b/target/linux/gemini/raidsonic/config-3.10
@@ -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
index 0000000..1e4320e
--- /dev/null
+++ b/target/linux/gemini/raidsonic/target.mk
@@ -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
index 0000000..97cab18
--- /dev/null
+++ b/target/linux/gemini/wiligear/target.mk
@@ -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