--- a/arch/arm/mach-kirkwood/Kconfig
+++ b/arch/arm/mach-kirkwood/Kconfig
-@@ -56,6 +56,9 @@ config TARGET_GOFLEXHOME
+@@ -53,6 +53,9 @@ config TARGET_GOFLEXHOME
config TARGET_NAS220
bool "BlackArmor NAS220"
-
+
+config TARGET_NSA310
+ bool "Zyxel NSA310 Board"
+
config TARGET_NSA310S
bool "Zyxel NSA310S"
-
-@@ -80,6 +83,7 @@ source "board/raidsonic/ib62x0/Kconfig"
+
+@@ -86,6 +89,7 @@ source "board/raidsonic/ib62x0/Kconfig"
source "board/Seagate/dockstar/Kconfig"
source "board/Seagate/goflexhome/Kconfig"
source "board/Seagate/nas220/Kconfig"
+source "board/zyxel/nsa310/Kconfig"
source "board/zyxel/nsa310s/Kconfig"
-
- endif
+ source "board/alliedtelesis/SBx81LIFKW/Kconfig"
+ source "board/alliedtelesis/SBx81LIFXCAT/Kconfig"
--- /dev/null
+++ b/board/zyxel/nsa310/Kconfig
@@ -0,0 +1,12 @@
+#endif /* __NSA310_H */
--- /dev/null
+++ b/configs/nsa310_defconfig
-@@ -0,0 +1,37 @@
+@@ -0,0 +1,48 @@
+CONFIG_ARM=y
++CONFIG_SYS_DCACHE_OFF=y
++CONFIG_ARCH_CPU_INIT=y
+CONFIG_KIRKWOOD=y
+CONFIG_SYS_TEXT_BASE=0x600000
+CONFIG_TARGET_NSA310=y
+CONFIG_IDENT_STRING="\nZyXEL NSA310 1-Bay Power Media Server"
++CONFIG_NR_DRAM_BANKS=2
+CONFIG_BOOTDELAY=3
+CONFIG_SYS_PROMPT="NSA310> "
+# CONFIG_CMD_IMLS is not set
+# CONFIG_CMD_FLASH is not set
++CONFIG_MVGBE=y
++CONFIG_MII=y
+CONFIG_SYS_NS16550=y
+CONFIG_CMD_FDT=y
+CONFIG_OF_LIBFDT=y
+CONFIG_CMD_EXT4=y
+CONFIG_CMD_FAT=y
+CONFIG_CMD_JFFS2=y
++CONFIG_MTD=y
++CONFIG_MTD_RAW_NAND=y
+CONFIG_MTDPARTS_DEFAULT="mtdparts=orion_nand:0x0c0000(uboot),0x80000(uboot_env),0x7ec0000(ubi)"
+CONFIG_CMD_MTDPARTS=y
+CONFIG_CMD_ENV=y
+CONFIG_CMD_NAND=y
+CONFIG_EFI_PARTITION=y
+CONFIG_ENV_IS_IN_NAND=y
++CONFIG_ENV_SIZE=0x20000
++CONFIG_ENV_OFFSET=0xC0000
++CONFIG_ENV_SECT_SIZE=0x20000
++CONFIG_ENV_ADDR=0xC0000
+CONFIG_CMD_UBI=y
+CONFIG_USB=y
+CONFIG_USB_EHCI_HCD=y
+CONFIG_SYS_LONGHELP=y
--- /dev/null
+++ b/include/configs/nsa310.h
-@@ -0,0 +1,119 @@
+@@ -0,0 +1,103 @@
+/* Copyright (C) 2015-2016 bodhi <mibodhi@gmail.com>
+ *
+ * Based on
+#include "mv-common.h"
+
+/*
-+ * Environment variables configurations
-+ */
-+#ifdef CONFIG_CMD_NAND
-+#define CONFIG_ENV_SECT_SIZE 0x20000 /* 128K */
-+#endif
-+
-+/* max 4k env size is enough, but in case of nand
-+ * it has to be rounded to sector size
-+ */
-+#define CONFIG_ENV_SIZE 0x20000 /* 128k */
-+#define CONFIG_ENV_ADDR 0xc0000
-+#define CONFIG_ENV_OFFSET 0xc0000 /* env starts here */
-+
-+/*
+ * Default environment variables
+ */
+#define CONFIG_BOOTCOMMAND \
+#define CONFIG_EXTRA_ENV_SETTINGS \
+ "console=console=ttyS0,115200\0" \
+ "mtdids=nand0=orion_nand\0" \
-+ "mtdparts="CONFIG_MTDPARTS_DEFAULT \
++ "mtdparts="CONFIG_MTDPARTS_DEFAULT "\0" \
+ "bootargs_root=\0"
+
+/*
+ */
+#define CONFIG_JFFS2_NAND
+#define CONFIG_JFFS2_LZO
-+#define CONFIG_MTD_DEVICE /* needed for mtdparts commands */
-+#define CONFIG_MTD_PARTITIONS
+
+/*
+ * Date Time