public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [PATCH] sunxi: support boot console on uart1 for sun8i
@ 2021-02-12 14:08 Tobias Schramm
  2021-02-13 17:40 ` Andre Przywara
  0 siblings, 1 reply; 4+ messages in thread
From: Tobias Schramm @ 2021-02-12 14:08 UTC (permalink / raw)
  To: u-boot

From: Tobias Schramm <t.schramm@manjaro.org>

This commit adds support for using uart1 as boot console on sun8i.

Signed-off-by: Tobias Schramm <t.schramm@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);
 #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"
 #else
 #error Unsupported console port nr. Please fix stdout-path in sunxi-common.h.
 #endif
-- 
2.30.0

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [PATCH] sunxi: support boot console on uart1 for sun8i
  2021-02-12 14:08 [PATCH] sunxi: support boot console on uart1 for sun8i Tobias Schramm
@ 2021-02-13 17:40 ` Andre Przywara
  2021-02-13 18:45   ` Tobias Schramm
  0 siblings, 1 reply; 4+ messages in thread
From: Andre Przywara @ 2021-02-13 17:40 UTC (permalink / raw)
  To: u-boot

On Fri, 12 Feb 2021 15:08:23 +0100
Tobias Schramm <tobleminer@gmail.com> wrote:

Hi Tobias,

> From: Tobias Schramm <t.schramm@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@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

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [PATCH] sunxi: support boot console on uart1 for sun8i
  2021-02-13 17:40 ` Andre Przywara
@ 2021-02-13 18:45   ` Tobias Schramm
  2021-02-14  0:14     ` Andre Przywara
  0 siblings, 1 reply; 4+ messages in thread
From: Tobias Schramm @ 2021-02-13 18:45 UTC (permalink / raw)
  To: u-boot

Hi Andre,

 > Which particular SoC or board is this triggered by?
 >

I'm currently using a board with a Sochip S3 SoC, where the boot console 
is on uart1.

 >  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?

I can - at least in the commit description. Unfortunately there is no 
real distinction between V3s and S3 in u-boot. I could of course define 
a new "S3" SoC variant and add it to the ifdef for the uart iomux. Would 
you prefer me to do that?

[...]

 > So I'd recommend to leave this out, I will probably send a patch to
 > remove this altogether.
Ok. I'll leave that out in v2 then.


Thanks,

Tobias

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [PATCH] sunxi: support boot console on uart1 for sun8i
  2021-02-13 18:45   ` Tobias Schramm
@ 2021-02-14  0:14     ` Andre Przywara
  0 siblings, 0 replies; 4+ messages in thread
From: Andre Przywara @ 2021-02-14  0:14 UTC (permalink / raw)
  To: u-boot

On Sat, 13 Feb 2021 19:45:45 +0100
Tobias Schramm <t.schramm@manjaro.org> wrote:

Hi,

>  > Which particular SoC or board is this triggered by?
>  >  
> 
> I'm currently using a board with a Sochip S3 SoC, where the boot console 
> is on uart1.
> 
>  >  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?  
> 
> I can - at least in the commit description. Unfortunately there is no 
> real distinction between V3s and S3 in u-boot. I could of course define 
> a new "S3" SoC variant and add it to the ifdef for the uart iomux. Would 
> you prefer me to do that?

Ah, looking closer it seems that a V3s don't route out those pins, but
is still using the same die as the S3.

So for the sake of this patch we can assume that the V3s has those
pins as well.

I would say, use: (defined(CONFIG_MACH_SUN8I) && !defined(CONFIG_MACH_SUN8I_R40))

Cheers,
Andre.

> 
> [...]
> 
>  > So I'd recommend to leave this out, I will probably send a patch to
>  > remove this altogether.  
> Ok. I'll leave that out in v2 then.
> 
> 
> Thanks,
> 
> Tobias

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2021-02-14  0:14 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-02-12 14:08 [PATCH] sunxi: support boot console on uart1 for sun8i Tobias Schramm
2021-02-13 17:40 ` Andre Przywara
2021-02-13 18:45   ` Tobias Schramm
2021-02-14  0:14     ` Andre Przywara

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox