]> git.dujemihanovic.xyz Git - u-boot.git/commit
rockchip: ringneck-px30: put STM32_RST line in input mode instead of output
authorQuentin Schulz <quentin.schulz@theobroma-systems.com>
Fri, 9 Feb 2024 13:18:09 +0000 (14:18 +0100)
committerKever Yang <kever.yang@rock-chips.com>
Fri, 26 Apr 2024 07:47:03 +0000 (15:47 +0800)
commit73d72107919e93418f61cace088c1622fc25089b
tree4ddc4535e654a1403688121caea6b739da9548f5
parenta597a77b6eee4e434901e1b2fa94c781c256509c
rockchip: ringneck-px30: put STM32_RST line in input mode instead of output

The STM32_RST line is routed to the ATtiny microcontroller
PA0/RESET/UPDI pin. By driving the PX30 SoC pin as GPIO output high, we
prevent external UPDI to be used for flashing without first putting this
pin as GPIO input, an extra step we could avoid in userspace.

There's an external hardware pull-up strong enough to keep the STM32_RST
state high on ATtiny side but weak enough it can be overridden by
external UPDI. This also means it is safe to use for the STM32 variant,
where STM32_RST line will be in the same state as if output high was
used.

The Q7 standard specifies that MFG_NC1 and MFG_NC2 (used for UPDI for
Ringneck) pins should neither be driven by the carrierboard, nor have
pull-up or pull-down resistors. This means this commit is safe to use
regardless of the carrierboard this module would be connected to
(provided it follows the Q7 standard).

Fixes: 6acdd63e8771 ("rockchip: ringneck-px30: always reset STM32 companion controller on boot")
Cc: Quentin Schulz <foss+uboot@0leil.net>
Signed-off-by: Quentin Schulz <quentin.schulz@theobroma-systems.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
board/theobroma-systems/ringneck_px30/ringneck-px30.c