[PATCH v2 0/2] rockchip: ringneck-px30: always reset STM32 companion controller on boot

Quentin Schulz foss+uboot at 0leil.net
Fri Nov 3 10:28:11 CET 2023


It's happened that glitches on the STM32_RST and STM32_BOOT lines have
put the STM32 companion microcontroller into DFU mode making it not boot
its FW, rendering it useless for the user.

Considering that the STM32 companion microcontroller is always reset on
a reboot or power cycle, resetting it once again in U-Boot SPL isn't
going to hurt it any more.

For ATtiny companion microcontroller, the situation is a bit different
because a reboot or power cycle doesn't reset it. Additionally, since it
can only be reset with a UPDI reset on the STM32_RST line, and that is
virtually impossible to mistakenly trigger, the ATtiny is unlikely to be
in unwanted reset or enter reset because U-Boot toggles STM32_RST line.

This series adds this (sometimes) required reset of the MCU in U-Boot
SPL on Ringneck PX30 to recover from this unwanted DFU state.

Signed-off-by: Quentin Schulz <quentin.schulz at theobroma-systems.com>
---
Changes in v2:
- updated comments to use /**/ form
- updated error messages to indicate direction and level
- added Heiko's Rb for the second patch
- split int ret = gpio_request into two different lines for coding style
  consistency with the other gpio_request instruction
- Link to v1: https://lore.kernel.org/r/20231025-ringneck-stm32-reset-v1-0-052562bec53f@theobroma-systems.com

---
Quentin Schulz (2):
      rockchip: ringneck-px30: always reset STM32 companion controller on boot
      rockchip: ringneck-px30: enable SPL_BOARD_INIT

 .../ringneck_px30/ringneck-px30.c                  | 53 ++++++++++++++++++++++
 configs/ringneck-px30_defconfig                    |  1 +
 2 files changed, 54 insertions(+)
---
base-commit: 07fe79c93c5caba181f37844ca95fbda4db3f613
change-id: 20231024-ringneck-stm32-reset-b5b7e7355ae4

Best regards,
-- 
Quentin Schulz <quentin.schulz at theobroma-systems.com>



More information about the U-Boot mailing list