From 3919aa1722a2b01683a8747e1eab1ec9f6de0f40 Mon Sep 17 00:00:00 2001 From: Marek Vasut Date: Mon, 6 Dec 2021 21:58:09 +0100 Subject: ARM: dts: stm32: Add DFU support for DHCOR recovery This patch configures U-Boot SPL for DHCOR SoM to permit DFU upload of SPL and subsequent u-boot.itb for recovery or commissioning purposes. To start U-Boot on DHCOR based board, e.g. Avenger96, proceed as follows: - Install dfu-util on the host PC (in debian this is package 'dfu-util') - Power off the Avenger96 board. - Connect both USB-serial console and USB-OTG microB ports to host PC. - Switch Avenger96 to USB boot mode -- BOOT0..2 switches all set to 0. - Power on the Avenger96 board. - Verify using '$ dmesg' that a new device has been detected as follows: New USB device found, idVendor=0483, idProduct=df11, bcdDevice= 2.00 New USB device strings: Mfr=1, Product=2, SerialNumber=3 Product: DFU in HS Mode @Device ID /0x500, @Revision ID /0x0000 Manufacturer: STMicroelectronics - Upload U-Boot SPL: $ dfu-util -a 1 -D u-boot-spl.stm32 - Upload U-Boot proper: $ dfu-util -a 0 -D u-boot.itb - At this point, SPL will wait for user to press "Ctrl-C" on serial console. When ready to interact with U-Boot, press Ctrl-C to start the bootloader. Signed-off-by: Marek Vasut Cc: Patrice Chotard Cc: Patrick Delaunay Reviewed-by: Patrice Chotard --- include/configs/stm32mp15_dh_dhsom.h | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'include') diff --git a/include/configs/stm32mp15_dh_dhsom.h b/include/configs/stm32mp15_dh_dhsom.h index c79f0272cbe..bb95480eeb2 100644 --- a/include/configs/stm32mp15_dh_dhsom.h +++ b/include/configs/stm32mp15_dh_dhsom.h @@ -11,6 +11,13 @@ /* PHY needs a longer autoneg timeout */ #define PHY_ANEG_TIMEOUT 20000 +#ifdef CONFIG_SPL_BUILD +#define CONFIG_EXTRA_ENV_SETTINGS \ + "dfu_alt_info_ram=u-boot.itb ram " \ + __stringify(CONFIG_SPL_LOAD_FIT_ADDRESS) \ + " 0x800000\0" +#endif + #define STM32MP_BOARD_EXTRA_ENV \ "usb_pgood_delay=1000\0" \ "update_sf=" /* Erase SPI NOR and install U-Boot from SD */ \ -- cgit v1.3.1 From d5e8119baed0dda4bd38984c1a16a8409f9219af Mon Sep 17 00:00:00 2001 From: Patrick Delaunay Date: Tue, 7 Dec 2021 10:05:58 +0100 Subject: stm32mp: remove the bootcount activation Today the bootcount is not managed by the Linux kernel for STM32MP15 as we don't have driver to update the used backup register in TAMP and the recovery command still executes the normal bootcmd with 'altbootcmd=run bootcmd'. So the bootcount feature is never used, the config CONFIG_BOOTCOUNT_LIMIT and the associated environment variable 'altbootcmd' can be removed to reduce the U-Boot size. Each boards can re-enable this feature later in their defconfig, if it is needed, with the expected backend, for example CONFIG_BOOTCOUNT_GENERIC or CONFIG_BOOTCOUNT_ENV. CC: Marek Vasut Signed-off-by: Patrick Delaunay Reviewed-by: Patrice Chotard --- arch/arm/mach-stm32mp/Kconfig | 8 -------- include/configs/stm32mp15_common.h | 1 - 2 files changed, 9 deletions(-) (limited to 'include') diff --git a/arch/arm/mach-stm32mp/Kconfig b/arch/arm/mach-stm32mp/Kconfig index 06ac349e2e7..1ed2aad63ec 100644 --- a/arch/arm/mach-stm32mp/Kconfig +++ b/arch/arm/mach-stm32mp/Kconfig @@ -68,9 +68,7 @@ choice config TARGET_ST_STM32MP15x bool "STMicroelectronics STM32MP15x boards" select STM32MP15x - imply BOOTCOUNT_LIMIT imply BOOTSTAGE - imply CMD_BOOTCOUNT imply CMD_BOOTSTAGE imply CMD_CLS if CMD_BMP imply DISABLE_CONSOLE @@ -85,9 +83,7 @@ config TARGET_ST_STM32MP15x config TARGET_MICROGEA_STM32MP1 bool "Engicam MicroGEA STM32MP1 SOM" select STM32MP15x - imply BOOTCOUNT_LIMIT imply BOOTSTAGE - imply CMD_BOOTCOUNT imply CMD_BOOTSTAGE imply CMD_CLS if CMD_BMP imply DISABLE_CONSOLE @@ -112,9 +108,7 @@ config TARGET_MICROGEA_STM32MP1 config TARGET_ICORE_STM32MP1 bool "Engicam i.Core STM32MP1 SOM" select STM32MP15x - imply BOOTCOUNT_LIMIT imply BOOTSTAGE - imply CMD_BOOTCOUNT imply CMD_BOOTSTAGE imply CMD_CLS if CMD_BMP imply DISABLE_CONSOLE @@ -136,8 +130,6 @@ config TARGET_ICORE_STM32MP1 config TARGET_DH_STM32MP1_PDK2 bool "DH STM32MP1 PDK2" select STM32MP15x - imply BOOTCOUNT_LIMIT - imply CMD_BOOTCOUNT help Target the DH PDK2 development kit with STM32MP15x SoM. diff --git a/include/configs/stm32mp15_common.h b/include/configs/stm32mp15_common.h index 2bbc8def820..175d546a158 100644 --- a/include/configs/stm32mp15_common.h +++ b/include/configs/stm32mp15_common.h @@ -137,7 +137,6 @@ #endif #define STM32MP_EXTRA \ - "altbootcmd=run bootcmd\0" \ "env_check=if env info -p -d -q; then env save; fi\0" \ "boot_net_usb_start=true\0" -- cgit v1.3.1