[PATCH v4 1/2] arm: move CONFIG_PREBOOT="usb start" to KConfig

This commit moves CONFIG_PREBOOT="usb start" to common/KConfig for all boards also declaring USB_KEYBOARD.
Besides simplifying defconfig files, this also enables support for board-specific CONFIG_PREBOOT for sunxi boards: commit 37304aaf60bf ("Convert CONFIG_USE_PREBOOT and CONFIG_PREBOOT to Kconfig") intended to support CONFIG_PREBOOT, but include/configs/sunxi-common.h hardcodes preboot as part of internally defined CONSOLE_STDIN_SETTINGS, silently ignoring any board-specific CONFIG_PREBOOT.
Signed-off-by: Jonas Smedegaard dr@jones.dk Series-Cc: Jagan Teki jagan@amarulasolutions.com Series-Cc: Lukasz Majewski lukma@denx.de Series-Cc: Andre Przywara andre.przywara@arm.com
---
(no changes since v1)
Changes in v4: - generalize to cover all boards, thanks to Jagan Teki
Changes in v3: - move default setting to KConfig, thanks to Andre Przywara and Lukasz Majewski
Changes in v2: - Rephrase commit message to clarify relationship with KConfig entries
--- common/Kconfig | 1 + configs/libretech-ac_defconfig | 1 - configs/libretech-s905d-pc_defconfig | 1 - configs/libretech-s912-pc_defconfig | 1 - configs/pinebook-pro-rk3399_defconfig | 1 - configs/rockpro64-rk3399_defconfig | 1 - configs/rpi_0_w_defconfig | 1 - configs/rpi_2_defconfig | 1 - configs/rpi_3_32b_defconfig | 1 - configs/rpi_3_b_plus_defconfig | 1 - configs/rpi_3_defconfig | 1 - configs/rpi_defconfig | 1 - configs/seaboard_defconfig | 1 - configs/ventana_defconfig | 1 - include/configs/sunxi-common.h | 1 - 15 files changed, 1 insertion(+), 14 deletions(-)
diff --git a/common/Kconfig b/common/Kconfig index 67b3818fde..62d78c5bd7 100644 --- a/common/Kconfig +++ b/common/Kconfig @@ -403,6 +403,7 @@ config BOOTCOMMAND
config USE_PREBOOT bool "Enable preboot" + default "usb start" if USB_KEYBOARD help When this option is enabled, the existence of the environment variable "preboot" will be checked immediately before starting the diff --git a/configs/libretech-ac_defconfig b/configs/libretech-ac_defconfig index d3fc9cb25d..3fb7f36193 100644 --- a/configs/libretech-ac_defconfig +++ b/configs/libretech-ac_defconfig @@ -14,7 +14,6 @@ CONFIG_IDENT_STRING=" libretech-ac" CONFIG_DEBUG_UART=y CONFIG_OF_BOARD_SETUP=y CONFIG_USE_PREBOOT=y -CONFIG_PREBOOT="usb start" CONFIG_MISC_INIT_R=y # CONFIG_DISPLAY_CPUINFO is not set # CONFIG_DISPLAY_BOARDINFO is not set diff --git a/configs/libretech-s905d-pc_defconfig b/configs/libretech-s905d-pc_defconfig index 67e52925db..18192ece34 100644 --- a/configs/libretech-s905d-pc_defconfig +++ b/configs/libretech-s905d-pc_defconfig @@ -14,7 +14,6 @@ CONFIG_IDENT_STRING=" libretech-s905d-pc" CONFIG_DEBUG_UART=y CONFIG_OF_BOARD_SETUP=y CONFIG_USE_PREBOOT=y -CONFIG_PREBOOT="usb start" CONFIG_MISC_INIT_R=y # CONFIG_DISPLAY_CPUINFO is not set # CONFIG_CMD_BDI is not set diff --git a/configs/libretech-s912-pc_defconfig b/configs/libretech-s912-pc_defconfig index 50138aa3ac..6b2c949823 100644 --- a/configs/libretech-s912-pc_defconfig +++ b/configs/libretech-s912-pc_defconfig @@ -13,7 +13,6 @@ CONFIG_IDENT_STRING=" libretech-s912-pc" CONFIG_DEBUG_UART=y CONFIG_OF_BOARD_SETUP=y CONFIG_USE_PREBOOT=y -CONFIG_PREBOOT="usb start" CONFIG_MISC_INIT_R=y # CONFIG_DISPLAY_CPUINFO is not set # CONFIG_CMD_BDI is not set diff --git a/configs/pinebook-pro-rk3399_defconfig b/configs/pinebook-pro-rk3399_defconfig index e0839286f9..a97e055cbf 100644 --- a/configs/pinebook-pro-rk3399_defconfig +++ b/configs/pinebook-pro-rk3399_defconfig @@ -14,7 +14,6 @@ CONFIG_DEBUG_UART=y CONFIG_DEFAULT_DEVICE_TREE="rk3399-pinebook-pro" CONFIG_BOOTDELAY=3 CONFIG_USE_PREBOOT=y -CONFIG_PREBOOT="usb start" CONFIG_DEFAULT_FDT_FILE="rockchip/rk3399-pinebook-pro.dtb" CONFIG_MISC_INIT_R=y CONFIG_DISPLAY_BOARDINFO_LATE=y diff --git a/configs/rockpro64-rk3399_defconfig b/configs/rockpro64-rk3399_defconfig index 31b3ee2aa4..7abd3be3f8 100644 --- a/configs/rockpro64-rk3399_defconfig +++ b/configs/rockpro64-rk3399_defconfig @@ -13,7 +13,6 @@ CONFIG_SPL_SPI_FLASH_SUPPORT=y CONFIG_SPL_SPI_SUPPORT=y CONFIG_DEBUG_UART=y CONFIG_USE_PREBOOT=y -CONFIG_PREBOOT="usb start" CONFIG_DEFAULT_FDT_FILE="rockchip/rk3399-rockpro64.dtb" CONFIG_MISC_INIT_R=y CONFIG_DISPLAY_BOARDINFO_LATE=y diff --git a/configs/rpi_0_w_defconfig b/configs/rpi_0_w_defconfig index 5053a38822..9bb0046ee0 100644 --- a/configs/rpi_0_w_defconfig +++ b/configs/rpi_0_w_defconfig @@ -8,7 +8,6 @@ CONFIG_NR_DRAM_BANKS=1 CONFIG_DISTRO_DEFAULTS=y CONFIG_OF_BOARD_SETUP=y CONFIG_USE_PREBOOT=y -CONFIG_PREBOOT="usb start" CONFIG_MISC_INIT_R=y # CONFIG_DISPLAY_CPUINFO is not set # CONFIG_DISPLAY_BOARDINFO is not set diff --git a/configs/rpi_2_defconfig b/configs/rpi_2_defconfig index 0000a759f1..0ecf2d63e3 100644 --- a/configs/rpi_2_defconfig +++ b/configs/rpi_2_defconfig @@ -8,7 +8,6 @@ CONFIG_NR_DRAM_BANKS=1 CONFIG_DISTRO_DEFAULTS=y CONFIG_OF_BOARD_SETUP=y CONFIG_USE_PREBOOT=y -CONFIG_PREBOOT="usb start" CONFIG_MISC_INIT_R=y # CONFIG_DISPLAY_CPUINFO is not set # CONFIG_DISPLAY_BOARDINFO is not set diff --git a/configs/rpi_3_32b_defconfig b/configs/rpi_3_32b_defconfig index a714f9ec49..f44b190b98 100644 --- a/configs/rpi_3_32b_defconfig +++ b/configs/rpi_3_32b_defconfig @@ -9,7 +9,6 @@ CONFIG_NR_DRAM_BANKS=1 CONFIG_DISTRO_DEFAULTS=y CONFIG_OF_BOARD_SETUP=y CONFIG_USE_PREBOOT=y -CONFIG_PREBOOT="usb start" CONFIG_MISC_INIT_R=y # CONFIG_DISPLAY_CPUINFO is not set # CONFIG_DISPLAY_BOARDINFO is not set diff --git a/configs/rpi_3_b_plus_defconfig b/configs/rpi_3_b_plus_defconfig index c9efa0671d..4d81d12a0d 100644 --- a/configs/rpi_3_b_plus_defconfig +++ b/configs/rpi_3_b_plus_defconfig @@ -9,7 +9,6 @@ CONFIG_NR_DRAM_BANKS=1 CONFIG_DISTRO_DEFAULTS=y CONFIG_OF_BOARD_SETUP=y CONFIG_USE_PREBOOT=y -CONFIG_PREBOOT="usb start" CONFIG_MISC_INIT_R=y # CONFIG_DISPLAY_CPUINFO is not set # CONFIG_DISPLAY_BOARDINFO is not set diff --git a/configs/rpi_3_defconfig b/configs/rpi_3_defconfig index 244d9b3a78..5c6e1a1d4e 100644 --- a/configs/rpi_3_defconfig +++ b/configs/rpi_3_defconfig @@ -9,7 +9,6 @@ CONFIG_NR_DRAM_BANKS=1 CONFIG_DISTRO_DEFAULTS=y CONFIG_OF_BOARD_SETUP=y CONFIG_USE_PREBOOT=y -CONFIG_PREBOOT="usb start" CONFIG_MISC_INIT_R=y # CONFIG_DISPLAY_CPUINFO is not set # CONFIG_DISPLAY_BOARDINFO is not set diff --git a/configs/rpi_defconfig b/configs/rpi_defconfig index 64bb184c2b..e4d303ecc7 100644 --- a/configs/rpi_defconfig +++ b/configs/rpi_defconfig @@ -8,7 +8,6 @@ CONFIG_NR_DRAM_BANKS=1 CONFIG_DISTRO_DEFAULTS=y CONFIG_OF_BOARD_SETUP=y CONFIG_USE_PREBOOT=y -CONFIG_PREBOOT="usb start" CONFIG_MISC_INIT_R=y # CONFIG_DISPLAY_CPUINFO is not set # CONFIG_DISPLAY_BOARDINFO is not set diff --git a/configs/seaboard_defconfig b/configs/seaboard_defconfig index 54506329c2..35430e2ccf 100644 --- a/configs/seaboard_defconfig +++ b/configs/seaboard_defconfig @@ -9,7 +9,6 @@ CONFIG_TEGRA20=y CONFIG_TARGET_SEABOARD=y CONFIG_OF_SYSTEM_SETUP=y CONFIG_USE_PREBOOT=y -CONFIG_PREBOOT="usb start" CONFIG_SYS_PROMPT="Tegra20 (SeaBoard) # " # CONFIG_CMD_IMI is not set # CONFIG_CMD_FLASH is not set diff --git a/configs/ventana_defconfig b/configs/ventana_defconfig index 8959a5c99a..a446e109a1 100644 --- a/configs/ventana_defconfig +++ b/configs/ventana_defconfig @@ -9,7 +9,6 @@ CONFIG_TEGRA20=y CONFIG_TARGET_VENTANA=y CONFIG_OF_SYSTEM_SETUP=y CONFIG_USE_PREBOOT=y -CONFIG_PREBOOT="usb start" CONFIG_SYS_PROMPT="Tegra20 (Ventana) # " # CONFIG_CMD_IMI is not set CONFIG_CMD_GPIO=y diff --git a/include/configs/sunxi-common.h b/include/configs/sunxi-common.h index 5b0bec0561..5d7544b5cd 100644 --- a/include/configs/sunxi-common.h +++ b/include/configs/sunxi-common.h @@ -425,7 +425,6 @@ extern int soft_i2c_gpio_scl;
#ifdef CONFIG_USB_KEYBOARD #define CONSOLE_STDIN_SETTINGS \ - "preboot=usb start\0" \ "stdin=serial,usbkbd\0" #else #define CONSOLE_STDIN_SETTINGS \

A64-Teres-I board is a laptop which comes with a builtin keyboard. The keyboard+trackpad controller pauses for 2 seconds at a firmware prompt before loading its HID interface.
U-Boot needs to wait equally long to reliably enable the keyboard.
Signed-off-by: Jonas Smedegaard dr@jones.dk Series-Cc: Jagan Teki jagan@amarulasolutions.com Series-Cc: Lukasz Majewski lukma@denx.de Series-Cc: Andre Przywara andre.przywara@arm.com
---
(no changes since v1)
Changes in v4: - (none) Changes in v3: - (none) Changes in v2: - (none)
--- configs/teres_i_defconfig | 1 + 1 file changed, 1 insertion(+)
diff --git a/configs/teres_i_defconfig b/configs/teres_i_defconfig index 1eba20e5f5..036068e639 100644 --- a/configs/teres_i_defconfig +++ b/configs/teres_i_defconfig @@ -7,6 +7,7 @@ CONFIG_DRAM_ZQ=3881949 CONFIG_MMC_SUNXI_SLOT_EXTRA=2 CONFIG_USB1_VBUS_PIN="PL7" CONFIG_I2C0_ENABLE=y +CONFIG_PREBOOT="setenv usb_pgood_delay 2000; usb reset" CONFIG_DEFAULT_DEVICE_TREE="sun50i-a64-teres-i" CONFIG_DM_REGULATOR=y CONFIG_DM_REGULATOR_FIXED=y

Hi,
On 19/07/2020 15:56, Jonas Smedegaard wrote:
This commit moves CONFIG_PREBOOT="usb start" to common/KConfig for all boards also declaring USB_KEYBOARD.
Besides simplifying defconfig files, this also enables support for board-specific CONFIG_PREBOOT for sunxi boards: commit 37304aaf60bf ("Convert CONFIG_USE_PREBOOT and CONFIG_PREBOOT to Kconfig") intended to support CONFIG_PREBOOT, but include/configs/sunxi-common.h hardcodes preboot as part of internally defined CONSOLE_STDIN_SETTINGS, silently ignoring any board-specific CONFIG_PREBOOT.
Signed-off-by: Jonas Smedegaard dr@jones.dk Series-Cc: Jagan Teki jagan@amarulasolutions.com Series-Cc: Lukasz Majewski lukma@denx.de Series-Cc: Andre Przywara andre.przywara@arm.com
(no changes since v1)
Changes in v4:
- generalize to cover all boards, thanks to Jagan Teki
Changes in v3:
- move default setting to KConfig, thanks to Andre Przywara and Lukasz Majewski
Changes in v2:
- Rephrase commit message to clarify relationship with KConfig entries
common/Kconfig | 1 + configs/libretech-ac_defconfig | 1 - configs/libretech-s905d-pc_defconfig | 1 - configs/libretech-s912-pc_defconfig | 1 - configs/pinebook-pro-rk3399_defconfig | 1 - configs/rockpro64-rk3399_defconfig | 1 - configs/rpi_0_w_defconfig | 1 - configs/rpi_2_defconfig | 1 - configs/rpi_3_32b_defconfig | 1 - configs/rpi_3_b_plus_defconfig | 1 - configs/rpi_3_defconfig | 1 - configs/rpi_defconfig | 1 - configs/seaboard_defconfig | 1 - configs/ventana_defconfig | 1 - include/configs/sunxi-common.h | 1 - 15 files changed, 1 insertion(+), 14 deletions(-)
diff --git a/common/Kconfig b/common/Kconfig index 67b3818fde..62d78c5bd7 100644 --- a/common/Kconfig +++ b/common/Kconfig @@ -403,6 +403,7 @@ config BOOTCOMMAND
config USE_PREBOOT bool "Enable preboot"
- default "usb start" if USB_KEYBOARD help When this option is enabled, the existence of the environment variable "preboot" will be checked immediately before starting the
diff --git a/configs/libretech-ac_defconfig b/configs/libretech-ac_defconfig index d3fc9cb25d..3fb7f36193 100644 --- a/configs/libretech-ac_defconfig +++ b/configs/libretech-ac_defconfig @@ -14,7 +14,6 @@ CONFIG_IDENT_STRING=" libretech-ac" CONFIG_DEBUG_UART=y CONFIG_OF_BOARD_SETUP=y CONFIG_USE_PREBOOT=y -CONFIG_PREBOOT="usb start" CONFIG_MISC_INIT_R=y # CONFIG_DISPLAY_CPUINFO is not set # CONFIG_DISPLAY_BOARDINFO is not set diff --git a/configs/libretech-s905d-pc_defconfig b/configs/libretech-s905d-pc_defconfig index 67e52925db..18192ece34 100644 --- a/configs/libretech-s905d-pc_defconfig +++ b/configs/libretech-s905d-pc_defconfig @@ -14,7 +14,6 @@ CONFIG_IDENT_STRING=" libretech-s905d-pc" CONFIG_DEBUG_UART=y CONFIG_OF_BOARD_SETUP=y CONFIG_USE_PREBOOT=y -CONFIG_PREBOOT="usb start" CONFIG_MISC_INIT_R=y # CONFIG_DISPLAY_CPUINFO is not set # CONFIG_CMD_BDI is not set diff --git a/configs/libretech-s912-pc_defconfig b/configs/libretech-s912-pc_defconfig index 50138aa3ac..6b2c949823 100644 --- a/configs/libretech-s912-pc_defconfig +++ b/configs/libretech-s912-pc_defconfig @@ -13,7 +13,6 @@ CONFIG_IDENT_STRING=" libretech-s912-pc" CONFIG_DEBUG_UART=y CONFIG_OF_BOARD_SETUP=y CONFIG_USE_PREBOOT=y -CONFIG_PREBOOT="usb start" CONFIG_MISC_INIT_R=y # CONFIG_DISPLAY_CPUINFO is not set # CONFIG_CMD_BDI is not set
For Amlogic libretech amlogic boards.
Reviewed-by: Neil Armstrong narmstrong@baylibre.com
Neil

On Sun, Jul 19, 2020 at 03:56:31PM +0200, Jonas Smedegaard wrote:
This commit moves CONFIG_PREBOOT="usb start" to common/KConfig for all boards also declaring USB_KEYBOARD.
Besides simplifying defconfig files, this also enables support for board-specific CONFIG_PREBOOT for sunxi boards: commit 37304aaf60bf ("Convert CONFIG_USE_PREBOOT and CONFIG_PREBOOT to Kconfig") intended to support CONFIG_PREBOOT, but include/configs/sunxi-common.h hardcodes preboot as part of internally defined CONSOLE_STDIN_SETTINGS, silently ignoring any board-specific CONFIG_PREBOOT.
Signed-off-by: Jonas Smedegaard dr@jones.dk Series-Cc: Jagan Teki jagan@amarulasolutions.com Series-Cc: Lukasz Majewski lukma@denx.de Series-Cc: Andre Przywara andre.przywara@arm.com
Reviewed-by: Tom Rini trini@konsulko.com

On Sun, 19 Jul 2020 at 07:56, Jonas Smedegaard dr@jones.dk wrote:
This commit moves CONFIG_PREBOOT="usb start" to common/KConfig for all boards also declaring USB_KEYBOARD.
Besides simplifying defconfig files, this also enables support for board-specific CONFIG_PREBOOT for sunxi boards: commit 37304aaf60bf ("Convert CONFIG_USE_PREBOOT and CONFIG_PREBOOT to Kconfig") intended to support CONFIG_PREBOOT, but include/configs/sunxi-common.h hardcodes preboot as part of internally defined CONSOLE_STDIN_SETTINGS, silently ignoring any board-specific CONFIG_PREBOOT.
Signed-off-by: Jonas Smedegaard dr@jones.dk Series-Cc: Jagan Teki jagan@amarulasolutions.com Series-Cc: Lukasz Majewski lukma@denx.de Series-Cc: Andre Przywara andre.przywara@arm.com
(no changes since v1)
Changes in v4:
- generalize to cover all boards, thanks to Jagan Teki
Changes in v3:
- move default setting to KConfig, thanks to Andre Przywara and Lukasz Majewski
Changes in v2:
- Rephrase commit message to clarify relationship with KConfig entries
common/Kconfig | 1 + configs/libretech-ac_defconfig | 1 - configs/libretech-s905d-pc_defconfig | 1 - configs/libretech-s912-pc_defconfig | 1 - configs/pinebook-pro-rk3399_defconfig | 1 - configs/rockpro64-rk3399_defconfig | 1 - configs/rpi_0_w_defconfig | 1 - configs/rpi_2_defconfig | 1 - configs/rpi_3_32b_defconfig | 1 - configs/rpi_3_b_plus_defconfig | 1 - configs/rpi_3_defconfig | 1 - configs/rpi_defconfig | 1 - configs/seaboard_defconfig | 1 - configs/ventana_defconfig | 1 - include/configs/sunxi-common.h | 1 - 15 files changed, 1 insertion(+), 14 deletions(-)
Reviewed-by: Simon Glass sjg@chromium.org
participants (4)
-
Jonas Smedegaard
-
Neil Armstrong
-
Simon Glass
-
Tom Rini