[U-Boot] [PATCH] ARNDALE: Enhance arndale config to be more flexible on boot.

This patch enhances the boot of arndale board by adding support to bootz, initrd, bootenv loading and boot script. It still keeps the previous mmc load command if boot script fails.
Signed-off-by: Guillaume GARDET guillaume.gardet@free.fr Cc: Minkyu Kang mk7.kang@samsung.com
--- include/configs/arndale.h | 38 ++++++++++++++++++++++++++++++++++---- 1 file changed, 34 insertions(+), 4 deletions(-)
diff --git a/include/configs/arndale.h b/include/configs/arndale.h index 75f9933..edf9ee6 100644 --- a/include/configs/arndale.h +++ b/include/configs/arndale.h @@ -72,9 +72,6 @@ "stdout=serial\0" \ "stderr=serial\0"
-#define CONFIG_EXTRA_ENV_SETTINGS \ - EXYNOS_DEVICE_SETTINGS - /* SD/MMC configuration */ #define CONFIG_GENERIC_MMC #define CONFIG_MMC @@ -103,8 +100,11 @@ #define CONFIG_CMD_MMC #define CONFIG_CMD_EXT2 #define CONFIG_CMD_FAT +#define CONFIG_CMD_FS_GENERIC #define CONFIG_CMD_NET #define CONFIG_CMD_HASH +#define CONFIG_SUPPORT_RAW_INITRD +#define CONFIG_CMD_BOOTZ
#define CONFIG_BOOTDELAY 3 #define CONFIG_ZERO_BOOTDELAY_CHECK @@ -130,7 +130,37 @@ #define CONFIG_SPL_TEXT_BASE 0x02023400 #define CONFIG_SPL_MAX_FOOTPRINT (14 * 1024)
-#define CONFIG_BOOTCOMMAND "mmc read 40007000 451 2000; bootm 40007000" +#define CONFIG_EXTRA_ENV_SETTINGS \ + EXYNOS_DEVICE_SETTINGS \ + "loadaddr=0x40007000\0" \ + "rdaddr=0x4f000000\0" \ + "kerneladdr=0x40007000\0" \ + "ramdiskaddr=0x4f000000\0" \ + "console=ttySAC2,115200n8\0" \ + "mmcdev=1\0" \ + "bootenv=uEnv.txt\0" \ + "loadbootenv=load mmc ${mmcdev} ${loadaddr} ${bootenv}\0" \ + "importbootenv=echo Importing environment from mmc ...; " \ + "env import -t $loadaddr $filesize\0" \ + "loadbootscript=load mmc ${mmcdev} ${loadaddr} boot.scr\0" \ + "bootscript=echo Running bootscript from mmc${mmcdev} ...; " \ + "source ${loadaddr}\0" +#define CONFIG_BOOTCOMMAND \ + "if mmc rescan; then " \ + "echo SD/MMC found on device ${mmcdev}; " \ + "if run loadbootenv; then " \ + "echo Loaded environment from ${bootenv}; " \ + "run importbootenv; " \ + "fi; " \ + "if test -n $uenvcmd; then " \ + "echo Running uenvcmd ...; " \ + "run uenvcmd; " \ + "fi; " \ + "if run loadbootscript; then " \ + "run bootscript; " \ + "fi; " \ + "fi; " \ + "mmc read ${loadaddr} 451 2000; bootm ${loadaddr} "
/* Miscellaneous configurable options */ #define CONFIG_SYS_LONGHELP /* undef to save memory */

Ping.
Guillaume
Le 19/09/2014 15:31, Guillaume GARDET a écrit :
This patch enhances the boot of arndale board by adding support to bootz, initrd, bootenv loading and boot script. It still keeps the previous mmc load command if boot script fails.
Signed-off-by: Guillaume GARDET guillaume.gardet@free.fr Cc: Minkyu Kang mk7.kang@samsung.com
include/configs/arndale.h | 38 ++++++++++++++++++++++++++++++++++---- 1 file changed, 34 insertions(+), 4 deletions(-)
diff --git a/include/configs/arndale.h b/include/configs/arndale.h index 75f9933..edf9ee6 100644 --- a/include/configs/arndale.h +++ b/include/configs/arndale.h @@ -72,9 +72,6 @@ "stdout=serial\0" \ "stderr=serial\0"
-#define CONFIG_EXTRA_ENV_SETTINGS \
- EXYNOS_DEVICE_SETTINGS
- /* SD/MMC configuration */ #define CONFIG_GENERIC_MMC #define CONFIG_MMC
@@ -103,8 +100,11 @@ #define CONFIG_CMD_MMC #define CONFIG_CMD_EXT2 #define CONFIG_CMD_FAT +#define CONFIG_CMD_FS_GENERIC #define CONFIG_CMD_NET #define CONFIG_CMD_HASH +#define CONFIG_SUPPORT_RAW_INITRD +#define CONFIG_CMD_BOOTZ
#define CONFIG_BOOTDELAY 3 #define CONFIG_ZERO_BOOTDELAY_CHECK @@ -130,7 +130,37 @@ #define CONFIG_SPL_TEXT_BASE 0x02023400 #define CONFIG_SPL_MAX_FOOTPRINT (14 * 1024)
-#define CONFIG_BOOTCOMMAND "mmc read 40007000 451 2000; bootm 40007000" +#define CONFIG_EXTRA_ENV_SETTINGS \
- EXYNOS_DEVICE_SETTINGS \
- "loadaddr=0x40007000\0" \
- "rdaddr=0x4f000000\0" \
- "kerneladdr=0x40007000\0" \
- "ramdiskaddr=0x4f000000\0" \
- "console=ttySAC2,115200n8\0" \
- "mmcdev=1\0" \
- "bootenv=uEnv.txt\0" \
- "loadbootenv=load mmc ${mmcdev} ${loadaddr} ${bootenv}\0" \
- "importbootenv=echo Importing environment from mmc ...; " \
"env import -t $loadaddr $filesize\0" \
- "loadbootscript=load mmc ${mmcdev} ${loadaddr} boot.scr\0" \
- "bootscript=echo Running bootscript from mmc${mmcdev} ...; " \
"source ${loadaddr}\0"
+#define CONFIG_BOOTCOMMAND \
"if mmc rescan; then " \
"echo SD/MMC found on device ${mmcdev}; " \
"if run loadbootenv; then " \
"echo Loaded environment from ${bootenv}; " \
"run importbootenv; " \
"fi; " \
"if test -n $uenvcmd; then " \
"echo Running uenvcmd ...; " \
"run uenvcmd; " \
"fi; " \
"if run loadbootscript; then " \
"run bootscript; " \
"fi; " \
"fi; " \
"mmc read ${loadaddr} 451 2000; bootm ${loadaddr} "
/* Miscellaneous configurable options */ #define CONFIG_SYS_LONGHELP /* undef to save memory */

Hi Guillaume,
On Mon, 2014-09-29 at 08:36 +0200, Guillaume Gardet wrote:
I missed this before. You might be interested in http://lists.denx.de/pipermail/u-boot/2014-September/189939.html http://lists.denx.de/pipermail/u-boot/2014-September/190128.html
Which I think together have much the same affect in a more standardised way. What do you think?
Ian.

Hi Ian,
Le 29/09/2014 12:27, Ian Campbell a écrit :
Hi Guillaume,
On Mon, 2014-09-29 at 08:36 +0200, Guillaume Gardet wrote:
I missed this before. You might be interested in http://lists.denx.de/pipermail/u-boot/2014-September/189939.html http://lists.denx.de/pipermail/u-boot/2014-September/190128.html
Which I think together have much the same affect in a more standardised way. What do you think?
Not tested, but seems ok to me.
Guillaume

On 19/09/14 22:31, Guillaume GARDET wrote:
This patch enhances the boot of arndale board by adding support to bootz, initrd, bootenv loading and boot script. It still keeps the previous mmc load command if boot script fails.
Signed-off-by: Guillaume GARDET guillaume.gardet@free.fr Cc: Minkyu Kang mk7.kang@samsung.com
include/configs/arndale.h | 38 ++++++++++++++++++++++++++++++++++---- 1 file changed, 34 insertions(+), 4 deletions(-)
diff --git a/include/configs/arndale.h b/include/configs/arndale.h index 75f9933..edf9ee6 100644 --- a/include/configs/arndale.h +++ b/include/configs/arndale.h @@ -72,9 +72,6 @@ "stdout=serial\0" \ "stderr=serial\0"
-#define CONFIG_EXTRA_ENV_SETTINGS \
- EXYNOS_DEVICE_SETTINGS
/* SD/MMC configuration */ #define CONFIG_GENERIC_MMC #define CONFIG_MMC @@ -103,8 +100,11 @@ #define CONFIG_CMD_MMC #define CONFIG_CMD_EXT2 #define CONFIG_CMD_FAT +#define CONFIG_CMD_FS_GENERIC #define CONFIG_CMD_NET #define CONFIG_CMD_HASH +#define CONFIG_SUPPORT_RAW_INITRD +#define CONFIG_CMD_BOOTZ
#define CONFIG_BOOTDELAY 3 #define CONFIG_ZERO_BOOTDELAY_CHECK @@ -130,7 +130,37 @@ #define CONFIG_SPL_TEXT_BASE 0x02023400 #define CONFIG_SPL_MAX_FOOTPRINT (14 * 1024)
-#define CONFIG_BOOTCOMMAND "mmc read 40007000 451 2000; bootm 40007000" +#define CONFIG_EXTRA_ENV_SETTINGS \
- EXYNOS_DEVICE_SETTINGS \
- "loadaddr=0x40007000\0" \
- "rdaddr=0x4f000000\0" \
- "kerneladdr=0x40007000\0" \
- "ramdiskaddr=0x4f000000\0" \
- "console=ttySAC2,115200n8\0" \
- "mmcdev=1\0" \
- "bootenv=uEnv.txt\0" \
- "loadbootenv=load mmc ${mmcdev} ${loadaddr} ${bootenv}\0" \
- "importbootenv=echo Importing environment from mmc ...; " \
"env import -t $loadaddr $filesize\0" \
- "loadbootscript=load mmc ${mmcdev} ${loadaddr} boot.scr\0" \
- "bootscript=echo Running bootscript from mmc${mmcdev} ...; " \
"source ${loadaddr}\0"
+#define CONFIG_BOOTCOMMAND \
- "if mmc rescan; then " \
"echo SD/MMC found on device ${mmcdev}; " \
"if run loadbootenv; then " \
"echo Loaded environment from ${bootenv}; " \
"run importbootenv; " \
"fi; " \
"if test -n $uenvcmd; then " \
"echo Running uenvcmd ...; " \
"run uenvcmd; " \
"fi; " \
"if run loadbootscript; then " \
"run bootscript; " \
"fi; " \
- "fi; " \
- "mmc read ${loadaddr} 451 2000; bootm ${loadaddr} "
/* Miscellaneous configurable options */ #define CONFIG_SYS_LONGHELP /* undef to save memory */
Please rebase this patch.
Thanks, Minkyu Kang.

Le 25/11/2014 02:29, Minkyu Kang a écrit :
On 19/09/14 22:31, Guillaume GARDET wrote:
This patch enhances the boot of arndale board by adding support to bootz, initrd, bootenv loading and boot script. It still keeps the previous mmc load command if boot script fails.
Signed-off-by: Guillaume GARDET guillaume.gardet@free.fr Cc: Minkyu Kang mk7.kang@samsung.com
include/configs/arndale.h | 38 ++++++++++++++++++++++++++++++++++---- 1 file changed, 34 insertions(+), 4 deletions(-)
diff --git a/include/configs/arndale.h b/include/configs/arndale.h index 75f9933..edf9ee6 100644 --- a/include/configs/arndale.h +++ b/include/configs/arndale.h @@ -72,9 +72,6 @@ "stdout=serial\0" \ "stderr=serial\0"
-#define CONFIG_EXTRA_ENV_SETTINGS \
- EXYNOS_DEVICE_SETTINGS
- /* SD/MMC configuration */ #define CONFIG_GENERIC_MMC #define CONFIG_MMC
@@ -103,8 +100,11 @@ #define CONFIG_CMD_MMC #define CONFIG_CMD_EXT2 #define CONFIG_CMD_FAT +#define CONFIG_CMD_FS_GENERIC #define CONFIG_CMD_NET #define CONFIG_CMD_HASH +#define CONFIG_SUPPORT_RAW_INITRD +#define CONFIG_CMD_BOOTZ
#define CONFIG_BOOTDELAY 3 #define CONFIG_ZERO_BOOTDELAY_CHECK @@ -130,7 +130,37 @@ #define CONFIG_SPL_TEXT_BASE 0x02023400 #define CONFIG_SPL_MAX_FOOTPRINT (14 * 1024)
-#define CONFIG_BOOTCOMMAND "mmc read 40007000 451 2000; bootm 40007000" +#define CONFIG_EXTRA_ENV_SETTINGS \
- EXYNOS_DEVICE_SETTINGS \
- "loadaddr=0x40007000\0" \
- "rdaddr=0x4f000000\0" \
- "kerneladdr=0x40007000\0" \
- "ramdiskaddr=0x4f000000\0" \
- "console=ttySAC2,115200n8\0" \
- "mmcdev=1\0" \
- "bootenv=uEnv.txt\0" \
- "loadbootenv=load mmc ${mmcdev} ${loadaddr} ${bootenv}\0" \
- "importbootenv=echo Importing environment from mmc ...; " \
"env import -t $loadaddr $filesize\0" \
- "loadbootscript=load mmc ${mmcdev} ${loadaddr} boot.scr\0" \
- "bootscript=echo Running bootscript from mmc${mmcdev} ...; " \
"source ${loadaddr}\0"
+#define CONFIG_BOOTCOMMAND \
"if mmc rescan; then " \
"echo SD/MMC found on device ${mmcdev}; " \
"if run loadbootenv; then " \
"echo Loaded environment from ${bootenv}; " \
"run importbootenv; " \
"fi; " \
"if test -n $uenvcmd; then " \
"echo Running uenvcmd ...; " \
"run uenvcmd; " \
"fi; " \
"if run loadbootscript; then " \
"run bootscript; " \
"fi; " \
"fi; " \
"mmc read ${loadaddr} 451 2000; bootm ${loadaddr} "
/* Miscellaneous configurable options */ #define CONFIG_SYS_LONGHELP /* undef to save memory */
Please rebase this patch.
This patch is now obsolete since arndale now uses distro boot modes. So, just drop it.
Guillaume
participants (4)
-
Guillaume GARDET
-
Guillaume Gardet
-
Ian Campbell
-
Minkyu Kang