Support for Zyxel NSA320

@4numen
Hi. Can you compile image with this patch and test it on your device?

diff --git a/package/boot/uboot-envtools/files/kirkwood b/package/boot/uboot-envtools/files/kirkwood
index b5f7ddccb7..0b61f39126 100644
--- a/package/boot/uboot-envtools/files/kirkwood
+++ b/package/boot/uboot-envtools/files/kirkwood
@@ -20,6 +20,7 @@ linksys,viper|\
raidsonic,ib-nas62x0|\
seagate,dockstar|\
zyxel,nsa310b|\
+zyxel,nsa320|\
zyxel,nsa325)
	ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x20000" "0x20000"
	;;
diff --git a/package/kernel/linux/modules/hwmon.mk b/package/kernel/linux/modules/hwmon.mk
index bf2860881e..f78dc4b7f7 100644
--- a/package/kernel/linux/modules/hwmon.mk
+++ b/package/kernel/linux/modules/hwmon.mk
@@ -257,6 +257,21 @@ endef
$(eval $(call KernelPackage,hwmon-ltc4151))


+define KernelPackage/hwmon-nsa320
+  TITLE:=NSA320 monitoring support
+  KCONFIG:=CONFIG_SENSORS_NSA320
+  FILES:=$(LINUX_DIR)/drivers/hwmon/nsa320-hwmmon.ko
+  AUTOLOAD:=$(call AutoProbe,nsa320-hwmon)
+  $(call AddDepends/hwmon,)
+endef
+
+define KernelPackage/hwmon-nsa320/description
+ Kernel module for temperature and fan cintrol MCU installed in NSA320
+endef
+
+$(eval $(call KernelPackage,hwmon-ltc4151))
+
+
define KernelPackage/hwmon-nct6775
  TITLE:=NCT6106D/6775F/6776F/6779D/6791D/6792D/6793D and compatibles monitoring support
  KCONFIG:=CONFIG_SENSORS_NCT6775
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 5cfc4cf309..1af00df765 100755
--- a/target/linux/kirkwood/base-files/etc/board.d/01_leds
+++ b/target/linux/kirkwood/base-files/etc/board.d/01_leds
@@ -43,6 +43,12 @@ case "$board" in
	ucidef_set_led_ataport "hdd" "HDD" "nsa310:green:hdd" "1"
	ucidef_set_led_ataport "esata" "eSata" "nsa310:green:esata" "2"
	;;
+"zyxel,nsa320")
+	ucidef_set_led_default "health" "health" "nsa320:green:sys" "1"
+	ucidef_set_led_usbhost "usb" "USB" "nsa320:green:usb"
+	ucidef_set_led_ataport "hdd" "HDD" "nsa320:green:hdd" "1"
+	ucidef_set_led_ataport "esata" "eSata" "nsa320:green:esata" "2"
+	;;
"zyxel,nsa325")
	ucidef_set_led_default "health" "health" "nsa325:green:sys" "1"
	ucidef_set_led_usbhost "usb" "USB" "nsa325:green:usb"
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 15e51d88f2..890879b4c3 100755
--- a/target/linux/kirkwood/base-files/etc/board.d/02_network
+++ b/target/linux/kirkwood/base-files/etc/board.d/02_network
@@ -30,6 +30,7 @@ case "$board" in
		"0:lan" "1:lan" "2:lan" "3:lan" "4:wan" "5@eth0" "6@eth1"
	;;
"zyxel,nsa310b"|\
+"zyxel,nsa320"|\
"zyxel,nsa325")
	ucidef_set_interface_lan "eth0" "dhcp"
	ucidef_set_interface_macaddr "lan" $( mtd_get_mac_ascii uboot_env ethaddr )
diff --git a/target/linux/kirkwood/image/Makefile b/target/linux/kirkwood/image/Makefile
index 0672ba0374..270621b62f 100644
--- a/target/linux/kirkwood/image/Makefile
+++ b/target/linux/kirkwood/image/Makefile
@@ -144,6 +144,14 @@ define Device/zyxel_nsa310b
endef
TARGET_DEVICES += zyxel_nsa310b

+define Device/zyxel_nsa320
+  DEVICE_TITLE := ZyXEL NSA320
+  DEVICE_DTS := kirkwood-nsa320
+  DEVICE_PACKAGES := kmod-gpio-button-hotplug kmod-hwmon-nsa320
+  BOARD_NAME := nsa320
+endef
+TARGET_DEVICES += zyxel_nsa320
+
define Device/zyxel_nsa325
  DEVICE_TITLE := ZyXEL NSA325 (v1 and v2)
  DEVICE_DTS := kirkwood-nsa325

Probably you need to install this u-boot.
Check if image boot corectly, leds, fan and temperature sensor.