[PATCH] rockchip: ringneck-px30: put STM32_RST line in input mode instead of output
Kever Yang
kever.yang at rock-chips.com
Sun Feb 18 02:14:20 CET 2024
Hi Quentin,
On 2024/2/9 21:18, Quentin Schulz wrote:
> From: Quentin Schulz<quentin.schulz at theobroma-systems.com>
>
> 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.
A little confuse here, this GPIO is an output for PX30, right?So the
config is:
1. the PX30 SPL init STM32_RST as input, with hardware pull-up the keep
STM32 work;
2. when need UPDI for flashing, need to set STM32_RST to output and
trigger the reset 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 sounds like it should use output and pull-none for these GPIOs?
Thanks,
- Kever
> 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 at 0leil.net>
> Signed-off-by: Quentin Schulz<quentin.schulz at theobroma-systems.com>
> ---
> board/theobroma-systems/ringneck_px30/ringneck-px30.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/board/theobroma-systems/ringneck_px30/ringneck-px30.c b/board/theobroma-systems/ringneck_px30/ringneck-px30.c
> index ff7e414303d..2ab1e7a12fa 100644
> --- a/board/theobroma-systems/ringneck_px30/ringneck-px30.c
> +++ b/board/theobroma-systems/ringneck_px30/ringneck-px30.c
> @@ -76,9 +76,9 @@ void spl_board_init(void)
>
> mdelay(1);
>
> - ret = gpio_direction_output(STM32_RST, 1);
> + ret = gpio_direction_input(STM32_RST);
> if (ret) {
> - debug("Failed to configure STM32_RST as output high\n");
> + debug("Failed to configure STM32_RST as input\n");
> return;
> }
> }
>
> ---
> base-commit: a4650bf65e4b7d3ef04c90ba8031374428e4a682
> change-id: 20240209-ringneck-stm32-rst-input-ca1cdfa67ff5
>
> Best regards,
More information about the U-Boot
mailing list