Merge branch 'master' of git://www.denx.de/git/u-boot-imx
diff --git a/configs/udoo_neo_defconfig b/configs/udoo_neo_defconfig
index f9b1337..aa2f59d 100644
--- a/configs/udoo_neo_defconfig
+++ b/configs/udoo_neo_defconfig
@@ -13,22 +13,13 @@
 CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=arch/arm/imx-common/spl_sd.cfg"
 CONFIG_BOARD_EARLY_INIT_F=y
 CONFIG_SPL=y
-CONFIG_HUSH_PARSER=y
-CONFIG_CMD_BOOTZ=y
+CONFIG_DISTRO_DEFAULTS=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 CONFIG_CMD_MMC=y
-CONFIG_CMD_PART=y
 CONFIG_CMD_GPIO=y
 # CONFIG_CMD_SETEXPR is not set
-CONFIG_CMD_DHCP=y
 CONFIG_CMD_CACHE=y
 CONFIG_CMD_TIME=y
-CONFIG_CMD_EXT2=y
-CONFIG_CMD_EXT4=y
 CONFIG_CMD_EXT4_WRITE=y
-CONFIG_CMD_FAT=y
-CONFIG_CMD_FS_GENERIC=y
-CONFIG_ISO_PARTITION=y
-CONFIG_EFI_PARTITION=y
 CONFIG_OF_LIBFDT=y
diff --git a/drivers/mtd/nand/Kconfig b/drivers/mtd/nand/Kconfig
index 65bb040..a2ea9b1 100644
--- a/drivers/mtd/nand/Kconfig
+++ b/drivers/mtd/nand/Kconfig
@@ -82,7 +82,7 @@
 
 config NAND_MXS
 	bool "MXS NAND support"
-	depends on MX6
+	depends on MX6 || MX7
 	help
 	  This enables NAND driver for the NAND flash controller on the
 	  MXS processors.
diff --git a/include/configs/tqma6.h b/include/configs/tqma6.h
index 09783a2..1c0a762 100644
--- a/include/configs/tqma6.h
+++ b/include/configs/tqma6.h
@@ -93,10 +93,6 @@
 #define CONFIG_MII
 
 #define CONFIG_ARP_TIMEOUT		200UL
-/* Network config - Allow larger/faster download for TFTP/NFS */
-#define CONFIG_IP_DEFRAG
-#define CONFIG_TFTP_BLOCKSIZE	4096
-#define CONFIG_NFS_READ_SIZE	4096
 
 /* Command definition */
 #define CONFIG_CMD_BMODE
@@ -137,8 +133,8 @@
 	"update_uboot=if tftp ${uboot}; then "                                 \
 		"if itest ${filesize} > 0; then "                              \
 			"mmc dev ${mmcdev}; mmc rescan; "                      \
-			"setexpr blkc ${filesize} / 0x200; "                   \
-			"setexpr blkc ${blkc} + 1; "                           \
+			"setexpr blkc ${filesize} + 0x1ff; "                   \
+			"setexpr blkc ${blkc} / 0x200; "                       \
 			"if itest ${blkc} <= ${uboot_size}; then "             \
 				"mmc write ${loadaddr} ${uboot_start} "        \
 					"${blkc}; "                            \
@@ -149,8 +145,8 @@
 		"if tftp ${kernel}; then "                                     \
 			"if itest ${filesize} > 0; then "                      \
 				"mmc dev ${mmcdev}; mmc rescan; "              \
-				"setexpr blkc ${filesize} / 0x200; "           \
-				"setexpr blkc ${blkc} + 1; "                   \
+				"setexpr blkc ${filesize} + 0x1ff; "           \
+				"setexpr blkc ${blkc} / 0x200; "               \
 				"if itest ${blkc} <= ${kernel_size}; then "    \
 					"mmc write ${loadaddr} "               \
 						"${kernel_start} ${blkc}; "    \
@@ -161,8 +157,8 @@
 	"update_fdt=if tftp ${fdt_file}; then "                                \
 		"if itest ${filesize} > 0; then "                              \
 			"mmc dev ${mmcdev}; mmc rescan; "                      \
-			"setexpr blkc ${filesize} / 0x200; "                   \
-			"setexpr blkc ${blkc} + 1; "                           \
+			"setexpr blkc ${filesize} + 0x1ff; "                   \
+			"setexpr blkc ${blkc} / 0x200; "                       \
 			"if itest ${blkc} <= ${fdt_size}; then "               \
 				"mmc write ${loadaddr} ${fdt_start} ${blkc}; " \
 			"fi; "                                                 \
@@ -266,7 +262,7 @@
 			__stringify(TQMA6_SPI_FLASH_SECTOR_SIZE)"; "           \
 		"setexpr offset ${fdt_start} * "                               \
 			__stringify(TQMA6_SPI_FLASH_SECTOR_SIZE)"; "           \
-		"sf read ${${fdt_addr}} ${offset} ${size}; "                   \
+		"sf read ${fdt_addr} ${offset} ${size}; "                      \
 		"setenv size ; setenv offset\0"                                \
 
 #define CONFIG_BOOTCOMMAND                                                     \
@@ -281,6 +277,9 @@
 /* 128 MiB offset as in ARM related docu for linux suggested */
 #define TQMA6_FDT_ADDRESS		0x18000000
 
+/* set to a resonable value, changeable by user */
+#define TQMA6_CMA_SIZE                 160M
+
 #define CONFIG_EXTRA_ENV_SETTINGS                                              \
 	"board=tqma6\0"                                                        \
 	"uimage=uImage\0"                                                      \
@@ -292,17 +291,21 @@
 	"uboot=u-boot.imx\0"                                                   \
 	"fdt_file=" CONFIG_DEFAULT_FDT_FILE "\0"                               \
 	"fdt_addr="__stringify(TQMA6_FDT_ADDRESS)"\0"                          \
-	"console=" CONSOLE_DEV "\0"                                     \
+	"console=" CONSOLE_DEV "\0"                                            \
+	"cma_size="__stringify(TQMA6_CMA_SIZE)"\0"                             \
 	"fdt_high=0xffffffff\0"                                                \
 	"initrd_high=0xffffffff\0"                                             \
+	"rootfsmode=ro\0"                                                      \
+	"addcma=setenv bootargs ${bootargs} cma=${cma_size}\0"                 \
 	"addtty=setenv bootargs ${bootargs} console=${console},${baudrate}\0"  \
 	"addfb=setenv bootargs ${bootargs} "                                   \
 		"imx-fbdev.legacyfb_depth=32 consoleblank=0\0"                 \
 	"mmcpart=2\0"                                                          \
 	"mmcblkdev=0\0"                                                        \
-	"mmcargs=run addmmc addtty addfb\0"                                    \
+	"mmcargs=run addmmc addtty addfb addcma\0"                             \
 	"addmmc=setenv bootargs ${bootargs} "                                  \
-		"root=/dev/mmcblk${mmcblkdev}p${mmcpart} rw rootwait\0"        \
+		"root=/dev/mmcblk${mmcblkdev}p${mmcpart} ${rootfsmode} "       \
+		"rootwait\0"                                                   \
 	"mmcboot=echo Booting from mmc ...; "                                  \
 		"setenv bootargs; "                                            \
 		"run mmcargs; "                                                \
@@ -317,7 +320,7 @@
 	"netdev=eth0\0"                                                        \
 	"rootpath=/srv/nfs/tqma6\0"                                            \
 	"ipmode=static\0"                                                      \
-	"netargs=run addnfs addip addtty addfb\0"                              \
+	"netargs=run addnfs addip addtty addfb addcma\0"                       \
 	"addnfs=setenv bootargs ${bootargs} "                                  \
 		"root=/dev/nfs rw "                                            \
 		"nfsroot=${serverip}:${rootpath},v3,tcp;\0"                    \
diff --git a/include/configs/udoo_neo.h b/include/configs/udoo_neo.h
index 23a3685..1d737cc 100644
--- a/include/configs/udoo_neo.h
+++ b/include/configs/udoo_neo.h
@@ -30,6 +30,7 @@
 /* Linux only */
 #define CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG
 #define CONFIG_EXTRA_ENV_SETTINGS \
+	"console=ttymxc0,115200\0" \
 	"fdt_high=0xffffffff\0" \
 	"initrd_high=0xffffffff\0" \
 	"fdtfile=undefined\0" \
@@ -51,7 +52,7 @@
 			"echo WARNING: Could not determine dtb to use; fi\0" \
 	"kernel_addr_r=" __stringify(CONFIG_LOADADDR) "\0" \
 	"pxefile_addr_r=" __stringify(CONFIG_LOADADDR) "\0" \
-	"ramdisk_addr_r=0x83000000\0" \
+	"ramdisk_addr_r=0x84000000\0" \
 	"scriptaddr=" __stringify(CONFIG_LOADADDR) "\0" \
 	BOOTENV