[U-Boot] [PATCH 0/4] Switch odroid to use distro_bootcmd.

Using distro_bootcmd standardizes board behavior across many platforms. This is particularly useful for distributions supporting multiple boards without requiring custom configuration for each board.
There are a few changes needed to support distro_bootcmd, such as fixing the default value for the console setting, increasing the environment size, and allowing distro bootcmd to set the default bootdelay.
These patches have been used in Debian's u-boot packaging since May of 2016.
Vagrant Cascadian (4): Fix default console on odroid to only specify the device, as "console=" is redundant with the boot environment. Increase the default environment size on odroid, as config_distro_bootcmd requires a more space for the environment. Switch odroid to use config_distro_bootcmd. Inherit default value for bootdelay from distro_bootcmd on odroid.
include/configs/odroid.h | 25 +++++++++++++++++++------ 1 file changed, 19 insertions(+), 6 deletions(-)

Signed-off-by: Vagrant Cascadian vagrant@debian.org ---
include/configs/odroid.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/include/configs/odroid.h b/include/configs/odroid.h index 6cc7dd16a2..0fbda7dd76 100644 --- a/include/configs/odroid.h +++ b/include/configs/odroid.h @@ -45,7 +45,7 @@
#define CONFIG_BOOTARGS "Please use defined boot" #define CONFIG_BOOTCOMMAND "run autoboot" -#define CONFIG_DEFAULT_CONSOLE "console=ttySAC1,115200n8\0" +#define CONFIG_DEFAULT_CONSOLE "ttySAC1,115200n8\0"
#define CONFIG_SYS_INIT_SP_ADDR (CONFIG_SYS_LOAD_ADDR \ - GENERATED_GBL_DATA_SIZE)

Signed-off-by: Vagrant Cascadian vagrant@debian.org ---
include/configs/odroid.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/include/configs/odroid.h b/include/configs/odroid.h index 0fbda7dd76..abae044b66 100644 --- a/include/configs/odroid.h +++ b/include/configs/odroid.h @@ -54,7 +54,7 @@
#define CONFIG_ENV_IS_IN_MMC #define CONFIG_SYS_MMC_ENV_DEV CONFIG_MMC_DEFAULT_DEV -#define CONFIG_ENV_SIZE 4096 +#define CONFIG_ENV_SIZE 8192 #define CONFIG_ENV_OFFSET (SZ_1K * 1280) /* 1.25 MiB offset */ #define CONFIG_ENV_OVERWRITE

Using distro_bootcmd standardizes board behavior across many platforms. This is particularly useful for distributions supporting multiple boards without requiring custom configuration for each board.
Signed-off-by: Vagrant Cascadian vagrant@debian.org ---
include/configs/odroid.h | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-)
diff --git a/include/configs/odroid.h b/include/configs/odroid.h index abae044b66..fa9edd0cbc 100644 --- a/include/configs/odroid.h +++ b/include/configs/odroid.h @@ -43,8 +43,6 @@
/* Console configuration */
-#define CONFIG_BOOTARGS "Please use defined boot" -#define CONFIG_BOOTCOMMAND "run autoboot" #define CONFIG_DEFAULT_CONSOLE "ttySAC1,115200n8\0"
#define CONFIG_SYS_INIT_SP_ADDR (CONFIG_SYS_LOAD_ADDR \ @@ -87,6 +85,20 @@ "bl2 raw 0x1f 0x1d;" \ "tzsw raw 0x83f 0x138\0"
+#define BOOT_TARGET_DEVICES(func) \ + func(MMC, mmc, 1) \ + func(MMC, mmc, 0) + +#include <config_distro_bootcmd.h> + +#define MEM_LAYOUT_ENV_SETTINGS \ + "bootm_size=0x10000000\0" \ + "kernel_addr_r=0x42000000\0" \ + "fdt_addr_r=0x43000000\0" \ + "ramdisk_addr_r=0x43300000\0" \ + "scriptaddr=0x50000000\0" \ + "pxefile_addr_r=0x51000000\0" + /* * Bootable media layout: * dev: SD eMMC(part boot) @@ -173,7 +185,9 @@ "initrdname=uInitrd\0" \ "initrdaddr=42000000\0" \ "scriptaddr=0x42000000\0" \ - "fdtaddr=40800000\0" + "fdtaddr=40800000\0" \ + MEM_LAYOUT_ENV_SETTINGS \ + BOOTENV
/* I2C */ #define CONFIG_SYS_I2C_S3C24X0

The default value with distro_bootcmd is 2 seconds, which is reasonably fast, and provides a consistent experience across platforms supporting distro_bootcmd.
The current bootdelay value of 0 seconds is a bit challenging to interrupt when desired.
Signed-off-by: Vagrant Cascadian vagrant@debian.org ---
include/configs/odroid.h | 1 - 1 file changed, 1 deletion(-)
diff --git a/include/configs/odroid.h b/include/configs/odroid.h index fa9edd0cbc..8317f62548 100644 --- a/include/configs/odroid.h +++ b/include/configs/odroid.h @@ -177,7 +177,6 @@ "mmcbootpart=1\0" \ "mmcrootdev=0\0" \ "mmcrootpart=2\0" \ - "bootdelay=0\0" \ "dfu_alt_system="CONFIG_DFU_ALT \ "dfu_alt_info=Please reset the board\0" \ "consoleon=set console console=ttySAC1,115200n8; save; reset\0" \

Hi Vagrant,
Using distro_bootcmd standardizes board behavior across many platforms. This is particularly useful for distributions supporting multiple boards without requiring custom configuration for each board.
There are a few changes needed to support distro_bootcmd, such as fixing the default value for the console setting, increasing the environment size, and allowing distro bootcmd to set the default bootdelay.
These patches have been used in Debian's u-boot packaging since May of 2016.
Reviewed-by: Lukasz Majewski lukma@denx.de Acked-by: Lukasz Majewski lukma@denx.de
Vagrant Cascadian (4): Fix default console on odroid to only specify the device, as "console=" is redundant with the boot environment. Increase the default environment size on odroid, as config_distro_bootcmd requires a more space for the environment. Switch odroid to use config_distro_bootcmd. Inherit default value for bootdelay from distro_bootcmd on odroid.
include/configs/odroid.h | 25 +++++++++++++++++++------ 1 file changed, 19 insertions(+), 6 deletions(-)
Best regards,
Lukasz Majewski
--
DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd@denx.de
participants (2)
-
Lukasz Majewski
-
Vagrant Cascadian