[PATCH] sunxi: support boot console on uart1 for sun8i
Andre Przywara
andre.przywara at arm.com
Sat Feb 13 18:40:10 CET 2021
On Fri, 12 Feb 2021 15:08:23 +0100
Tobias Schramm <tobleminer at gmail.com> wrote:
Hi Tobias,
> From: Tobias Schramm <t.schramm at manjaro.org>
>
> This commit adds support for using uart1 as boot console on sun8i.
Which particular SoC or board is this triggered by?
From the SoCs listed as belonging to the MACH_SUN8I "family", I don't
see the R40 and V3s having UART1 muxed on PortG, only A23, A33, H3, H5,
and A83T have.
So can you restrict the conditions?
...
>
> Signed-off-by: Tobias Schramm <t.schramm at manjaro.org>
> ---
> arch/arm/include/asm/arch-sunxi/gpio.h | 1 +
> arch/arm/mach-sunxi/board.c | 4 ++++
> include/configs/sunxi-common.h | 2 ++
> 3 files changed, 7 insertions(+)
>
> diff --git a/arch/arm/include/asm/arch-sunxi/gpio.h b/arch/arm/include/asm/arch-sunxi/gpio.h
> index de77bf638e..2969a530ae 100644
> --- a/arch/arm/include/asm/arch-sunxi/gpio.h
> +++ b/arch/arm/include/asm/arch-sunxi/gpio.h
> @@ -190,6 +190,7 @@ enum sunxi_gpio_number {
> #define SUN5I_GPG_SDC1 2
> #define SUN6I_GPG_SDC1 2
> #define SUN8I_GPG_SDC1 2
> +#define SUN8I_GPG_UART1 2
> #define SUN6I_GPG_TWI3 2
> #define SUN5I_GPG_UART1 4
>
> diff --git a/arch/arm/mach-sunxi/board.c b/arch/arm/mach-sunxi/board.c
> index ae6bc656d9..febec0ae03 100644
> --- a/arch/arm/mach-sunxi/board.c
> +++ b/arch/arm/mach-sunxi/board.c
> @@ -144,6 +144,10 @@ static int gpio_init(void)
> sunxi_gpio_set_cfgpin(SUNXI_GPL(2), SUN8I_GPL_R_UART);
> sunxi_gpio_set_cfgpin(SUNXI_GPL(3), SUN8I_GPL_R_UART);
> sunxi_gpio_set_pull(SUNXI_GPL(3), SUNXI_GPIO_PULL_UP);
> +#elif CONFIG_CONS_INDEX == 2 && defined(CONFIG_MACH_SUN8I)
> + sunxi_gpio_set_cfgpin(SUNXI_GPG(6), SUN8I_GPG_UART1);
> + sunxi_gpio_set_cfgpin(SUNXI_GPG(7), SUN8I_GPG_UART1);
> + sunxi_gpio_set_pull(SUNXI_GPL(7), SUNXI_GPIO_PULL_UP);
This should be SUNXI_GPG(7).
> #else
> #error Unsupported console port number. Please fix pin mux settings in board.c
> #endif
> diff --git a/include/configs/sunxi-common.h b/include/configs/sunxi-common.h
> index 000f386470..19f0026888 100644
> --- a/include/configs/sunxi-common.h
> +++ b/include/configs/sunxi-common.h
> @@ -251,6 +251,8 @@ extern int soft_i2c_gpio_scl;
> #define OF_STDOUT_PATH "/soc at 01c00000/serial at 01c28800:115200"
> #elif CONFIG_CONS_INDEX == 5 && defined(CONFIG_MACH_SUN8I)
> #define OF_STDOUT_PATH "/soc at 01c00000/serial at 01f02800:115200"
> +#elif CONFIG_CONS_INDEX == 2 && defined(CONFIG_MACH_SUN8I)
> +#define OF_STDOUT_PATH "/soc at 01c00000/serial at 01c28400:115200"
The leading zeroes in there make me suspicious that this has been
broken for a while.
And also it looks like all(?) board DTs have a stdout-path
property already anyway.
So I'd recommend to leave this out, I will probably send a patch to
remove this altogether.
Cheers,
Andre
> #else
> #error Unsupported console port nr. Please fix stdout-path in sunxi-common.h.
> #endif
More information about the U-Boot
mailing list