From 869a40f41d73f96e2d1a0ae349ba67e8148a1151 Mon Sep 17 00:00:00 2001
From: Kevin Mihelich <kevin@archlinuxarm.org>
Date: Sat, 2 Jul 2016 17:14:04 -0600
Subject: [PATCH] arch linux arm modifications

---
 include/configs/pico-imx6ul.h | 40 +++++++++++++++++++++++++++-------------
 1 file changed, 27 insertions(+), 13 deletions(-)

diff --git a/include/configs/pico-imx6ul.h b/include/configs/pico-imx6ul.h
index 1c46ec3..60a4d12 100644
--- a/include/configs/pico-imx6ul.h
+++ b/include/configs/pico-imx6ul.h
@@ -14,6 +14,8 @@
 #include "mx6_common.h"
 #include <asm/imx-common/gpio.h>
 
+#define CONFIG_IDENT_STRING        " Arch Linux ARM"
+
 #define CONFIG_DISPLAY_CPUINFO
 #define CONFIG_DISPLAY_BOARDINFO
 
@@ -80,15 +82,29 @@
 	"mmcautodetect=yes\0" \
 	"dfu_alt_info=boot raw 0x2 0x400 mmcpart 1\0" \
 	"mmcargs=setenv bootargs console=${console},${baudrate} " \
-		"root=${mmcroot}\0" \
-	"loadimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${image}\0" \
-	"loadfdt=fatload mmc ${mmcdev}:${mmcpart} ${fdt_addr} ${fdt_file}\0" \
+		"root=${mmcroot} ${optargs}\0" \
+	"loadimage=load mmc ${mmcdev}:${mmcpart} ${loadaddr} /boot/${image}\0" \
+	"loadfdt=load mmc ${mmcdev}:${mmcpart} ${fdt_addr} /boot/dtbs/${fdt_file}\0" \
 	"mmcboot=echo Booting from mmc ...; " \
-		"run mmcargs; " \
-		"if run loadfdt; then " \
-			"bootz ${loadaddr} - ${fdt_addr}; " \
+		"if test -e mmc ${mmcdev}:${mmcpart} /boot/uEnv.txt; then " \
+			"load mmc ${mmcdev}:${mmcpart} ${loadaddr} /boot/uEnv.txt;" \
+			"env import -t ${loadaddr} ${filesize};" \
+			"echo Loaded environment from /boot/uEnv.txt;" \
+			"echo Checking if uenvcmd is set ...;" \
+			"if test -n ${uenvcmd}; then " \
+				"echo Running uenvcmd ...;" \
+				"run uenvcmd;" \
+			"fi;" \
+		"fi;" \
+		"if run loadimage; then " \
+			"if run loadfdt; then " \
+				"run mmcargs; " \
+				"bootz ${loadaddr} - ${fdt_addr}; " \
+			"else " \
+				"echo WARN: Cannot load the DT; " \
+			"fi;" \
 		"else " \
-			"echo WARN: Cannot load the DT; " \
+			"echo WARN: Cannot load zImage; " \
 		"fi;\0" \
 	"netargs=setenv bootargs console=${console},${baudrate} " \
 		"root=/dev/nfs " \
@@ -117,11 +133,9 @@
 
 #define CONFIG_BOOTCOMMAND \
 	   "if mmc rescan; then " \
-		   "if run loadimage; then " \
-			   "run mmcboot; " \
-		   "else run netboot; " \
-		   "fi; " \
-	   "else run netboot; fi"
+		   "run mmcboot; " \
+	   "fi; " \
+	   "run netboot"
 
 #define CONFIG_SYS_MEMTEST_START	0x80000000
 #define CONFIG_SYS_MEMTEST_END		CONFIG_SYS_MEMTEST_START + SZ_128M
@@ -166,6 +180,6 @@
 
 #define CONFIG_SYS_MMC_ENV_DEV		0
 #define CONFIG_SYS_MMC_ENV_PART		0
-#define CONFIG_MMCROOT			"/dev/mmcblk0p2"
+#define CONFIG_MMCROOT			"/dev/mmcblk0p1"
 
 #endif /* __PICO_IMX6UL_CONFIG_H */
-- 
2.10.0