aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAdemar Arvati Filho <arvati@hotmail.com>2018-07-06 00:56:58 +0000
committerJohn Crispin <john@phrozen.org>2018-07-30 15:21:00 +0200
commit27b2f0fc0fc5513304a5be3c5b8cb23aeb09e6f5 (patch)
tree253c883fe0e69ed393da2022731da56550d01f01
parent26dbf79f4905e6b5ba5aafdc2271c3a864dd1924 (diff)
downloadupstream-27b2f0fc0fc5513304a5be3c5b8cb23aeb09e6f5.tar.gz
upstream-27b2f0fc0fc5513304a5be3c5b8cb23aeb09e6f5.tar.bz2
upstream-27b2f0fc0fc5513304a5be3c5b8cb23aeb09e6f5.zip
kirkwood: add support for Iomega Storcenter ix2-200
Iomega Storcenter ix2-200 is a dual SATA NAS powered by a Marvell Kirkwood SoC clocked at 1GHz. It has 256MB of RAM and 32MB of flash memory, 3x USB 2.0 and 1x 1Gbit/s NIC Specification: - SoC: Marvell Kirkwood 88F6281 - CPU/Speed: 1000Mhz - Flash-Chip: Hynix NAND - Flash size: 32 MiB,erase size:16 KiB,page size:512,OOB size:16 - RAM: 256MB - LAN: 1x 1000 Mbps Ethernet - WiFi: none - 3x USB 2.0 - UART: for serial console Installation instructions - easy steps: 1. download factory.bin and copy into tftp server 2. access uboot environment with serial cable and run ``` setenv mainlineLinux yes setenv arcNumber 1682 setenv console 'console=ttyS0,115200n8' setenv mtdparts 'mtdparts=orion_nand:0x100000@0x000000(u-boot)ro,0x20000@0xA0000(u-boot environment)ro,0x300000@0x100000(kernel),0x1C00000@0x400000(ubi)' setenv bootargs_root 'root=' setenv bootcmd 'setenv bootargs ${console} ${mtdparts} ${bootargs_root}; nand read.e 0x800000 0x100000 0x300000; bootm 0x00800000' saveenv setenv serverip 192.168.1.1 setenv ipaddr 192.168.1.13 tftpboot 0x00800000 factory.bin nand erase 0x100000 $(filesize) nand write 0x00800000 0x100000 $(filesize) run bootcmd ``` 3. access openwrt by dhcp ip address assigned by your router (p.ex: 192.168.1.13) Installation steps nand bad blocks proof: 1. download initramfs-uImage and copy into usb ext2 partition ``` mkfs.ext2 -L ext2 /dev/sdh1 mount -t ext2 /dev/sdh1 /mnt cp initramfs-uImage /mnt/initramfs.bin umount /mnt ``` 2. access uboot environment with serial cable and run ``` setenv mainlineLinux yes setenv arcNumber 1682 setenv console 'console=ttyS0,115200n8' setenv mtdparts 'mtdparts=orion_nand:0x100000@0x000000(u-boot)ro,0x20000@0xA0000(u-boot environment)ro,0x300000@0x100000(kernel),0x1C00000@0x400000(ubi)' setenv bootargs_root 'root=' setenv bootcmd 'setenv bootargs ${console} ${mtdparts} ${bootargs_root}; nand read.e 0x800000 0x100000 0x300000; bootm 0x00800000' saveenv usb reset; ext2load usb 0:1 0x00800000 /initramfs.bin; bootm 0x00800000 ``` 3. log into openwrt and sysupgrade to install into flash ``` sysupgrade -n /tmp/sysupgrade.bin ``` 4. access openwrt by dhcp ip address assigned by your router (p.ex: 192.168.1.13) Signed-off-by: Ademar Arvati Filho <arvati@hotmail.com>
-rw-r--r--package/boot/uboot-envtools/files/kirkwood1
-rwxr-xr-xtarget/linux/kirkwood/base-files/etc/board.d/01_leds3
-rwxr-xr-xtarget/linux/kirkwood/base-files/etc/board.d/02_network1
-rwxr-xr-xtarget/linux/kirkwood/base-files/etc/diag.sh3
-rwxr-xr-xtarget/linux/kirkwood/base-files/etc/init.d/hwmon_fancontrol (renamed from target/linux/kirkwood/base-files/etc/init.d/nsa310_fancontrol)13
-rw-r--r--target/linux/kirkwood/image/Makefile16
-rw-r--r--target/linux/kirkwood/patches-4.14/103-iomega-ix2-200.patch33
-rw-r--r--target/linux/kirkwood/patches-4.9/103-iomega-ix2-200.patch33
8 files changed, 98 insertions, 5 deletions
diff --git a/package/boot/uboot-envtools/files/kirkwood b/package/boot/uboot-envtools/files/kirkwood
index 16123846cc..b5f7ddccb7 100644
--- a/package/boot/uboot-envtools/files/kirkwood
+++ b/package/boot/uboot-envtools/files/kirkwood
@@ -15,6 +15,7 @@ board=$(board_name)
case "$board" in
cloudengines,pogoe02|\
cloudengines,pogoplugv4|\
+iom,ix2-200|\
linksys,viper|\
raidsonic,ib-nas62x0|\
seagate,dockstar|\
diff --git a/target/linux/kirkwood/base-files/etc/board.d/01_leds b/target/linux/kirkwood/base-files/etc/board.d/01_leds
index 4e72e344aa..5cfc4cf309 100755
--- a/target/linux/kirkwood/base-files/etc/board.d/01_leds
+++ b/target/linux/kirkwood/base-files/etc/board.d/01_leds
@@ -14,6 +14,9 @@ case "$board" in
ucidef_set_led_default "health" "health" "pogo_e02:green:health" "1"
ucidef_set_led_default "fault" "fault" "pogo_e02:orange:fault" "1"
;;
+"iom,ix2-200")
+ ucidef_set_led_timer "health" "health" "status:white:rebuild_led" "200" "800"
+ ;;
"linksys,audi")
ucidef_set_led_default "power" "power" "audi:green:power" "1"
;;
diff --git a/target/linux/kirkwood/base-files/etc/board.d/02_network b/target/linux/kirkwood/base-files/etc/board.d/02_network
index 5d66e0ffea..15e51d88f2 100755
--- a/target/linux/kirkwood/base-files/etc/board.d/02_network
+++ b/target/linux/kirkwood/base-files/etc/board.d/02_network
@@ -17,6 +17,7 @@ case "$board" in
"cloudengines,pogoe02"|\
"cloudengines,pogoplugv4"|\
"iom,iconnect-1.1"|\
+"iom,ix2-200"|\
"raidsonic,ib-nas62x0"|\
"seagate,dockstar"|\
"seagate,goflexhome"|\
diff --git a/target/linux/kirkwood/base-files/etc/diag.sh b/target/linux/kirkwood/base-files/etc/diag.sh
index 0667ad29fe..fc61846c11 100755
--- a/target/linux/kirkwood/base-files/etc/diag.sh
+++ b/target/linux/kirkwood/base-files/etc/diag.sh
@@ -15,6 +15,9 @@ get_status_led() {
cloudengines,pogoplugv4)
status_led="pogoplugv4:green:health"
;;
+ iom,ix2-200)
+ status_led="status:white:power_led"
+ ;;
linksys,audi)
status_led="audi:green:power"
;;
diff --git a/target/linux/kirkwood/base-files/etc/init.d/nsa310_fancontrol b/target/linux/kirkwood/base-files/etc/init.d/hwmon_fancontrol
index 10eb5aa73c..0adc5d0726 100755
--- a/target/linux/kirkwood/base-files/etc/init.d/nsa310_fancontrol
+++ b/target/linux/kirkwood/base-files/etc/init.d/hwmon_fancontrol
@@ -4,17 +4,20 @@ START=98
boot() {
. /lib/functions.sh
-#configuring lm85 onboard temp/fan controller to run the fan on its own
+#configuring (lm85/lm63) onboard temp/fan controller to run the fan on its own
#for more information, please read https://www.kernel.org/doc/Documentation/hwmon/sysfs-interface
-path_to_hwmon='/sys/devices/platform/ocp@f1000000/f1011000.i2c/i2c-0/0-002e/hwmon/hwmon0'
-
case $(board_name) in
- zyxel,nsa310b)
+zyxel,nsa310b)
+ path_to_hwmon='/sys/devices/platform/ocp@f1000000/f1011000.i2c/i2c-0/0-002e/hwmon/hwmon0'
echo 2 > "$path_to_hwmon/pwm1_enable" # fan is on pwm1
echo 1 > "$path_to_hwmon/pwm1_auto_channels" # temp1 is the only one that changes
echo 23000 > "$path_to_hwmon/temp1_auto_temp_min"
echo 43000 > "$path_to_hwmon/temp1_auto_temp_max" # next step is 49600 millicelsius, or 50 celsius, 43 celsius is better
- ;;
+ ;;
+iom,ix2-200)
+ path_to_hwmon='/sys/class/hwmon/hwmon0'
+ echo 2 > "$path_to_hwmon/pwm1_enable" # fan is on pwm1
+ ;;
esac
}
diff --git a/target/linux/kirkwood/image/Makefile b/target/linux/kirkwood/image/Makefile
index fdf86099bc..84e749f494 100644
--- a/target/linux/kirkwood/image/Makefile
+++ b/target/linux/kirkwood/image/Makefile
@@ -62,6 +62,22 @@ define Device/iom_iconnect-1.1
endef
TARGET_DEVICES += iom_iconnect-1.1
+define Device/iom_ix2_200
+ DEVICE_TITLE := Iomega StorCenter ix2-200
+ DEVICE_DTS := kirkwood-iomega_ix2_200
+ DEVICE_PACKAGES += kmod-gpio-button-hotplug kmod-i2c-mv64xxx kmod-hwmon-lm63
+ DEVICE_TYPE:=nas
+ PAGESIZE := 512
+ SUBPAGESIZE := 256
+ BLOCKSIZE := 16KiB
+ KERNEL_SIZE := 3072k
+ KERNEL_IN_UBI := 0
+ UBINIZE_OPTS := -E 5
+ IMAGE_SIZE := 32505856
+ IMAGE/factory.bin := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-ubi | check-size $$$$(IMAGE_SIZE)
+endef
+TARGET_DEVICES += iom_ix2_200
+
define Device/linksys_audi
DEVICE_TITLE := Linksys EA3500 (Audi)
DEVICE_PACKAGES := kmod-mwl8k swconfig wpad-mini kmod-gpio-button-hotplug
diff --git a/target/linux/kirkwood/patches-4.14/103-iomega-ix2-200.patch b/target/linux/kirkwood/patches-4.14/103-iomega-ix2-200.patch
new file mode 100644
index 0000000000..5b479aba4e
--- /dev/null
+++ b/target/linux/kirkwood/patches-4.14/103-iomega-ix2-200.patch
@@ -0,0 +1,33 @@
+--- a/arch/arm/boot/dts/kirkwood-iomega_ix2_200.dts
++++ b/arch/arm/boot/dts/kirkwood-iomega_ix2_200.dts
+@@ -185,18 +185,18 @@
+ };
+
+ partition@a0000 {
+- label = "env";
++ label = "u-boot environment";
+ reg = <0xa0000 0x20000>;
+ read-only;
+ };
+
+ partition@100000 {
+- label = "uImage";
++ label = "kernel";
+ reg = <0x100000 0x300000>;
+ };
+
+ partition@400000 {
+- label = "rootfs";
++ label = "ubi";
+ reg = <0x400000 0x1C00000>;
+ };
+ };
+@@ -210,7 +210,7 @@
+ };
+
+ &eth0 {
+- status = "okay";
++ status = "disabled";
+ ethernet0-port@0 {
+ speed = <1000>;
+ duplex = <1>; \ No newline at end of file
diff --git a/target/linux/kirkwood/patches-4.9/103-iomega-ix2-200.patch b/target/linux/kirkwood/patches-4.9/103-iomega-ix2-200.patch
new file mode 100644
index 0000000000..5b479aba4e
--- /dev/null
+++ b/target/linux/kirkwood/patches-4.9/103-iomega-ix2-200.patch
@@ -0,0 +1,33 @@
+--- a/arch/arm/boot/dts/kirkwood-iomega_ix2_200.dts
++++ b/arch/arm/boot/dts/kirkwood-iomega_ix2_200.dts
+@@ -185,18 +185,18 @@
+ };
+
+ partition@a0000 {
+- label = "env";
++ label = "u-boot environment";
+ reg = <0xa0000 0x20000>;
+ read-only;
+ };
+
+ partition@100000 {
+- label = "uImage";
++ label = "kernel";
+ reg = <0x100000 0x300000>;
+ };
+
+ partition@400000 {
+- label = "rootfs";
++ label = "ubi";
+ reg = <0x400000 0x1C00000>;
+ };
+ };
+@@ -210,7 +210,7 @@
+ };
+
+ &eth0 {
+- status = "okay";
++ status = "disabled";
+ ethernet0-port@0 {
+ speed = <1000>;
+ duplex = <1>; \ No newline at end of file