--- 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"
+#endif /* __NSA310_H */
--- /dev/null
+++ b/configs/nsa310_defconfig
-@@ -0,0 +1,40 @@
+@@ -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_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,117 @@
+@@ -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 \