aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/kirkwood
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/kirkwood')
-rwxr-xr-xtarget/linux/kirkwood/base-files/etc/board.d/01_leds3
-rwxr-xr-xtarget/linux/kirkwood/base-files/etc/board.d/02_network8
-rwxr-xr-xtarget/linux/kirkwood/base-files/etc/diag.sh3
-rwxr-xr-xtarget/linux/kirkwood/base-files/etc/init.d/nsa310_fancontrol21
-rwxr-xr-xtarget/linux/kirkwood/base-files/lib/kirkwood.sh4
-rw-r--r--target/linux/kirkwood/image/Makefile9
-rw-r--r--target/linux/kirkwood/patches-4.4/190-zyxel-nsa3xx-common-nand-partitions.patch47
-rw-r--r--target/linux/kirkwood/patches-4.4/191-nsa310b.patch169
-rw-r--r--target/linux/kirkwood/patches-4.4/192-nsa310s.patch (renamed from target/linux/kirkwood/patches-4.4/190-nsa310s.patch)20
9 files changed, 271 insertions, 13 deletions
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 ce1309966e..4518fc4b64 100755
--- a/target/linux/kirkwood/base-files/etc/board.d/01_leds
+++ b/target/linux/kirkwood/base-files/etc/board.d/01_leds
@@ -38,6 +38,9 @@ case "$board" in
"guruplug-server-plus")
ucidef_set_led_timer "health" "health" "guruplug:red:health" "200" "800"
;;
+"nsa310b")
+ ucidef_set_led_default "health" "health" "nsa310:green:sys" "1"
+ ;;
"sheevaplug" | \
"sheevaplug-esata")
ucidef_set_led_timer "health" "health" "sheevaplug:blue:health" "200" "800"
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 f91e8a3252..91b59b93bd 100755
--- a/target/linux/kirkwood/base-files/etc/board.d/02_network
+++ b/target/linux/kirkwood/base-files/etc/board.d/02_network
@@ -22,13 +22,17 @@ case "$board" in
"sheevaplug-esata")
ucidef_set_interface_lan "eth0" "dhcp"
;;
+"guruplug-server-plus")
+ ucidef_set_interface_lan "eth0 eth1" "dhcp"
+ ;;
"linksys-audi"|\
"linksys-viper")
ucidef_add_switch "switch0" \
"0:lan" "1:lan" "2:lan" "3:lan" "4:wan" "5@eth0" "6@eth1"
;;
-"guruplug-server-plus")
- ucidef_set_interface_lan "eth0 eth1" "dhcp"
+"nsa310b")
+ ucidef_set_interface_lan "eth0" "dhcp"
+ ucidef_set_interface_macaddr "lan" $( fw_printenv ethaddr | awk -F"=" '{print $2}' )
;;
*)
ucidef_set_interface_lan "eth0"
diff --git a/target/linux/kirkwood/base-files/etc/diag.sh b/target/linux/kirkwood/base-files/etc/diag.sh
index 91cb8cf78e..1c4632d613 100755
--- a/target/linux/kirkwood/base-files/etc/diag.sh
+++ b/target/linux/kirkwood/base-files/etc/diag.sh
@@ -20,6 +20,9 @@ get_status_led() {
linksys-viper)
status_led="viper:white:health"
;;
+ nsa310b)
+ status_led="nsa310:green:sys"
+ ;;
esac
}
diff --git a/target/linux/kirkwood/base-files/etc/init.d/nsa310_fancontrol b/target/linux/kirkwood/base-files/etc/init.d/nsa310_fancontrol
new file mode 100755
index 0000000000..32e863e55d
--- /dev/null
+++ b/target/linux/kirkwood/base-files/etc/init.d/nsa310_fancontrol
@@ -0,0 +1,21 @@
+#!/bin/sh /etc/rc.common
+
+START=98
+boot() {
+. /lib/functions.sh
+. /lib/kirkwood.sh
+
+#configuring lm85 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 $(kirkwood_board_name) in
+ nsa310b)
+ 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
+ ;;
+esac
+}
diff --git a/target/linux/kirkwood/base-files/lib/kirkwood.sh b/target/linux/kirkwood/base-files/lib/kirkwood.sh
index 0e898ac197..f0efec4994 100755
--- a/target/linux/kirkwood/base-files/lib/kirkwood.sh
+++ b/target/linux/kirkwood/base-files/lib/kirkwood.sh
@@ -57,6 +57,10 @@ kirkwood_board_detect() {
name="sheevaplug-esata"
;;
+ "ZyXEL NSA310b")
+ name="nsa310b"
+ ;;
+
"ZyXEL NSA310S")
name="nsa310s"
;;
diff --git a/target/linux/kirkwood/image/Makefile b/target/linux/kirkwood/image/Makefile
index 520430f2c2..ece7c1adf6 100644
--- a/target/linux/kirkwood/image/Makefile
+++ b/target/linux/kirkwood/image/Makefile
@@ -11,7 +11,7 @@ include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/image.mk
KERNEL_LOADADDR:=0x8000
-TARGET_DEVICES = linksys-audi linksys-viper dockstar goflexnet goflexhome iconnect pogo_e02 ib62x0
+TARGET_DEVICES = linksys-audi linksys-viper dockstar goflexnet goflexhome iconnect pogo_e02 ib62x0 nsa310b
UBI_OPTS := -m 2048 -p 128KiB -s 512
UBIFS_OPTS := -m 2048 -e 126KiB -c 4096
@@ -80,6 +80,13 @@ $(Device/dockstar)
DEVICE_DTS := kirkwood-iconnect
endef
+define Device/nsa310b
+$(Device/dockstar)
+ DEVICE_TITLE := ZyXEL NSA310b
+ DEVICE_DTS := kirkwood-nsa310b
+ DEVICE_PACKAGES := kmod-r8169 kmod-gpio-button-hotplug kmod-hwmon-lm85
+endef
+
define Device/pogo_e02
$(Device/dockstar)
DEVICE_TITLE := Cloud Engines Pogoplug E02
diff --git a/target/linux/kirkwood/patches-4.4/190-zyxel-nsa3xx-common-nand-partitions.patch b/target/linux/kirkwood/patches-4.4/190-zyxel-nsa3xx-common-nand-partitions.patch
new file mode 100644
index 0000000000..c8e15d4f81
--- /dev/null
+++ b/target/linux/kirkwood/patches-4.4/190-zyxel-nsa3xx-common-nand-partitions.patch
@@ -0,0 +1,47 @@
+--- a/arch/arm/boot/dts/kirkwood-nsa3x0-common.dtsi
++++ b/arch/arm/boot/dts/kirkwood-nsa3x0-common.dtsi
+@@ -121,39 +121,15 @@
+
+ partition@0 {
+ label = "uboot";
+- reg = <0x0000000 0x0100000>;
++ reg = <0x0000000 0x00c0000>;
+ read-only;
+ };
+ partition@100000 {
+ label = "uboot_env";
+- reg = <0x0100000 0x0080000>;
++ reg = <0x00c0000 0x0080000>;
+ };
+- partition@180000 {
+- label = "key_store";
+- reg = <0x0180000 0x0080000>;
+- };
+- partition@200000 {
+- label = "info";
+- reg = <0x0200000 0x0080000>;
+- };
+- partition@280000 {
+- label = "etc";
+- reg = <0x0280000 0x0a00000>;
+- };
+- partition@c80000 {
+- label = "kernel_1";
+- reg = <0x0c80000 0x0a00000>;
+- };
+- partition@1680000 {
+- label = "rootfs1";
+- reg = <0x1680000 0x2fc0000>;
+- };
+- partition@4640000 {
+- label = "kernel_2";
+- reg = <0x4640000 0x0a00000>;
+- };
+- partition@5040000 {
+- label = "rootfs2";
+- reg = <0x5040000 0x2fc0000>;
++ partition@140000 {
++ label = "ubi";
++ reg = <0x0140000 0x7ec0000>;
+ };
+ };
diff --git a/target/linux/kirkwood/patches-4.4/191-nsa310b.patch b/target/linux/kirkwood/patches-4.4/191-nsa310b.patch
new file mode 100644
index 0000000000..b0afb8e623
--- /dev/null
+++ b/target/linux/kirkwood/patches-4.4/191-nsa310b.patch
@@ -0,0 +1,169 @@
+kirkwood: add nsa310b dtb, a zyxel nsa310 variant
+
+add support to a nsa310 variant with red/green usb led
+and lm85 temp/fan controller
+
+Signed-off-by: Alberto Bursi <alberto.bursi@outlook.it>
+
+NOTE: this patch can be upstreamed as-is, LEDE-specific
+ nand partitions are set in another patch
+
+--- a/arch/arm/boot/dts/Makefile
++++ b/arch/arm/boot/dts/Makefile
+@@ -203,6 +203,7 @@ dtb-$(CONFIG_MACH_KIRKWOOD) += \
+ kirkwood-ns2mini.dtb \
+ kirkwood-nsa310.dtb \
+ kirkwood-nsa310a.dtb \
++ kirkwood-nsa310b.dtb \
+ kirkwood-openblocks_a6.dtb \
+ kirkwood-openblocks_a7.dtb \
+ kirkwood-openrd-base.dtb \
+--- /dev/null
++++ b/arch/arm/boot/dts/kirkwood-nsa310b.dts
+@@ -0,0 +1,146 @@
++/dts-v1/;
++
++#include "kirkwood-nsa3x0-common.dtsi"
++
++/*
++ * There are at least two different NSA310 designs. This variant has
++ * a red/green USB Led (same as nsa310) and a lm85 temp/fan controller.
++ */
++
++/ {
++ model = "ZyXEL NSA310b";
++ compatible = "zyxel,nsa310a", "zyxel,nsa310", "marvell,kirkwood-88f6281", "marvell,kirkwood";
++
++ memory {
++ device_type = "memory";
++ reg = <0x00000000 0x10000000>;
++ };
++
++ chosen {
++ bootargs = "console=ttyS0,115200";
++ stdout-path = "&uart0";
++ };
++
++ mbus {
++ pcie-controller {
++ status = "okay";
++
++ pcie@1,0 {
++ status = "okay";
++ };
++ };
++ };
++
++ ocp@f1000000 {
++ pinctrl: pin-controller@10000 {
++ pinctrl-0 = <&pmx_unknown>;
++ pinctrl-names = "default";
++
++ pmx_led_esata_green: pmx-led-esata-green {
++ marvell,pins = "mpp12";
++ marvell,function = "gpio";
++ };
++
++ pmx_led_esata_red: pmx-led-esata-red {
++ marvell,pins = "mpp13";
++ marvell,function = "gpio";
++ };
++
++ pmx_led_usb_green: pmx-led-usb-green {
++ marvell,pins = "mpp15";
++ marvell,function = "gpio";
++ };
++
++ pmx_led_usb_red: pmx-led-usb-red {
++ marvell,pins = "mpp16";
++ marvell,function = "gpio";
++ };
++
++ pmx_led_sys_green: pmx-led-sys-green {
++ marvell,pins = "mpp28";
++ marvell,function = "gpio";
++ };
++
++ pmx_led_sys_red: pmx-led-sys-red {
++ marvell,pins = "mpp29";
++ marvell,function = "gpio";
++ };
++
++ pmx_led_hdd_green: pmx-led-hdd-green {
++ marvell,pins = "mpp41";
++ marvell,function = "gpio";
++ };
++
++ pmx_led_hdd_red: pmx-led-hdd-red {
++ marvell,pins = "mpp42";
++ marvell,function = "gpio";
++ };
++
++ pmx_unknown: pmx-unknown {
++ marvell,pins = "mpp44";
++ marvell,function = "gpio";
++ };
++
++ };
++
++ i2c@11000 {
++ status = "okay";
++
++ lm85@2e {
++ compatible = "national,lm85";
++ reg = <0x2e>;
++ };
++ };
++ };
++
++ gpio-leds {
++ compatible = "gpio-leds";
++ pinctrl-0 = <&pmx_led_esata_green &pmx_led_esata_red
++ &pmx_led_usb_green &pmx_led_usb_red
++ &pmx_led_sys_green &pmx_led_sys_red
++ &pmx_led_copy_green &pmx_led_copy_red
++ &pmx_led_hdd_green &pmx_led_hdd_red>;
++ pinctrl-names = "default";
++
++ green-sys {
++ label = "nsa310:green:sys";
++ gpios = <&gpio0 28 GPIO_ACTIVE_HIGH>;
++ };
++ red-sys {
++ label = "nsa310:red:sys";
++ gpios = <&gpio0 29 GPIO_ACTIVE_HIGH>;
++ };
++ green-hdd {
++ label = "nsa310:green:hdd";
++ gpios = <&gpio1 9 GPIO_ACTIVE_HIGH>;
++ };
++ red-hdd {
++ label = "nsa310:red:hdd";
++ gpios = <&gpio1 10 GPIO_ACTIVE_HIGH>;
++ };
++ green-esata {
++ label = "nsa310:green:esata";
++ gpios = <&gpio0 12 GPIO_ACTIVE_HIGH>;
++ };
++ red-esata {
++ label = "nsa310:red:esata";
++ gpios = <&gpio0 13 GPIO_ACTIVE_HIGH>;
++ };
++ green-usb {
++ label = "nsa310:green:usb";
++ gpios = <&gpio0 15 GPIO_ACTIVE_HIGH>;
++ };
++ red-usb {
++ label = "nsa310:red:usb";
++ gpios = <&gpio0 16 GPIO_ACTIVE_HIGH>;
++ };
++ green-copy {
++ label = "nsa310:green:copy";
++ gpios = <&gpio1 7 GPIO_ACTIVE_HIGH>;
++ };
++ red-copy {
++ label = "nsa310:red:copy";
++ gpios = <&gpio1 8 GPIO_ACTIVE_HIGH>;
++ };
++ };
++};
diff --git a/target/linux/kirkwood/patches-4.4/190-nsa310s.patch b/target/linux/kirkwood/patches-4.4/192-nsa310s.patch
index d88cd74e99..e78e680bc3 100644
--- a/target/linux/kirkwood/patches-4.4/190-nsa310s.patch
+++ b/target/linux/kirkwood/patches-4.4/192-nsa310s.patch
@@ -1,3 +1,13 @@
+--- a/arch/arm/boot/dts/Makefile
++++ b/arch/arm/boot/dts/Makefile
+@@ -204,6 +204,7 @@ dtb-$(CONFIG_MACH_KIRKWOOD) += \
+ kirkwood-nsa310.dtb \
+ kirkwood-nsa310a.dtb \
+ kirkwood-nsa310b.dtb \
++ kirkwood-nsa310s.dtb \
+ kirkwood-openblocks_a6.dtb \
+ kirkwood-openblocks_a7.dtb \
+ kirkwood-openrd-base.dtb \
--- /dev/null
+++ b/arch/arm/boot/dts/kirkwood-nsa310s.dts
@@ -0,0 +1,287 @@
@@ -288,13 +298,3 @@
+ phy-handle = <&ethphy0>;
+ };
+};
---- a/arch/arm/boot/dts/Makefile
-+++ b/arch/arm/boot/dts/Makefile
-@@ -203,6 +203,7 @@ dtb-$(CONFIG_MACH_KIRKWOOD) += \
- kirkwood-ns2mini.dtb \
- kirkwood-nsa310.dtb \
- kirkwood-nsa310a.dtb \
-+ kirkwood-nsa310s.dtb \
- kirkwood-openblocks_a6.dtb \
- kirkwood-openblocks_a7.dtb \
- kirkwood-openrd-base.dtb \