[U-Boot] [PATCH 01/12] sunxi: Add initial support for R40

Maxime Ripard maxime.ripard at free-electrons.com
Wed Mar 1 10:55:37 UTC 2017


Hi Chen-Yu

On Wed, Mar 01, 2017 at 03:04:36PM +0800, Chen-Yu Tsai wrote:
> The R40 is the successor to the A20. It is a hybrid of the A20, A33
> and the H3.
> 
> The R40's PIO controller is compatible with the A20,
> Reuse the A20 UART and I2C muxing code by adding the R40's macro.
> 
> The display pipeline is the newer DE 2.0 variant.
> Block enabling video on R40 for now.
> 
> Signed-off-by: Chen-Yu Tsai <wens at csie.org>
> ---
>  arch/arm/mach-sunxi/board.c    | 10 +++++++---
>  arch/arm/mach-sunxi/cpu_info.c |  2 ++
>  board/sunxi/Kconfig            |  9 +++++++--
>  board/sunxi/board.c            | 19 ++++++++++++++-----
>  4 files changed, 30 insertions(+), 10 deletions(-)
> 
> diff --git a/arch/arm/mach-sunxi/board.c b/arch/arm/mach-sunxi/board.c
> index 5e03d039433a..5a74c9717d84 100644
> --- a/arch/arm/mach-sunxi/board.c
> +++ b/arch/arm/mach-sunxi/board.c
> @@ -69,12 +69,14 @@ struct mm_region *mem_map = sunxi_mem_map;
>  static int gpio_init(void)
>  {
>  #if CONFIG_CONS_INDEX == 1 && defined(CONFIG_UART0_PORT_F)
> -#if defined(CONFIG_MACH_SUN4I) || defined(CONFIG_MACH_SUN7I)
> +#if defined(CONFIG_MACH_SUN4I) || \
> +    defined(CONFIG_MACH_SUN7I) || \
> +    defined(CONFIG_MACH_SUN8I_R40)
>  	/* disable GPB22,23 as uart0 tx,rx to avoid conflict */
>  	sunxi_gpio_set_cfgpin(SUNXI_GPB(22), SUNXI_GPIO_INPUT);
>  	sunxi_gpio_set_cfgpin(SUNXI_GPB(23), SUNXI_GPIO_INPUT);
>  #endif
> -#if defined(CONFIG_MACH_SUN8I)
> +#if defined(CONFIG_MACH_SUN8I) && !defined(CONFIG_MACH_SUN8I_R40)
>  	sunxi_gpio_set_cfgpin(SUNXI_GPF(2), SUN8I_GPF_UART0);
>  	sunxi_gpio_set_cfgpin(SUNXI_GPF(4), SUN8I_GPF_UART0);
>  #else
> @@ -82,7 +84,9 @@ static int gpio_init(void)
>  	sunxi_gpio_set_cfgpin(SUNXI_GPF(4), SUNXI_GPF_UART0);
>  #endif
>  	sunxi_gpio_set_pull(SUNXI_GPF(4), 1);
> -#elif CONFIG_CONS_INDEX == 1 && (defined(CONFIG_MACH_SUN4I) || defined(CONFIG_MACH_SUN7I))
> +#elif CONFIG_CONS_INDEX == 1 && (defined(CONFIG_MACH_SUN4I) || \
> +				 defined(CONFIG_MACH_SUN7I) || \
> +				 defined(CONFIG_MACH_SUN8I_R40))
>  	sunxi_gpio_set_cfgpin(SUNXI_GPB(22), SUN4I_GPB_UART0);
>  	sunxi_gpio_set_cfgpin(SUNXI_GPB(23), SUN4I_GPB_UART0);
>  	sunxi_gpio_set_pull(SUNXI_GPB(23), SUNXI_GPIO_PULL_UP);
> diff --git a/arch/arm/mach-sunxi/cpu_info.c b/arch/arm/mach-sunxi/cpu_info.c
> index 85633ccec216..7851de299ab5 100644
> --- a/arch/arm/mach-sunxi/cpu_info.c
> +++ b/arch/arm/mach-sunxi/cpu_info.c
> @@ -87,6 +87,8 @@ int print_cpuinfo(void)
>  	printf("CPU:   Allwinner A83T (SUN8I %04x)\n", sunxi_get_sram_id());
>  #elif defined CONFIG_MACH_SUN8I_H3
>  	printf("CPU:   Allwinner H3 (SUN8I %04x)\n", sunxi_get_sram_id());
> +#elif defined CONFIG_MACH_SUN8I_R40
> +	printf("CPU:   Allwinner R40 (SUN8I %04x)\n", sunxi_get_sram_id());
>  #elif defined CONFIG_MACH_SUN9I
>  	puts("CPU:   Allwinner A80 (SUN9I)\n");
>  #elif defined CONFIG_MACH_SUN50I
> diff --git a/board/sunxi/Kconfig b/board/sunxi/Kconfig
> index 3e0e2624737e..8e8b9cd0d5fd 100644
> --- a/board/sunxi/Kconfig
> +++ b/board/sunxi/Kconfig
> @@ -132,6 +132,11 @@ config MACH_SUN8I_H3
>  	select MACH_SUNXI_H3_H5
>  	select ARMV7_BOOT_SEC_DEFAULT if OLD_SUNXI_KERNEL_COMPAT
>  
> +config MACH_SUN8I_R40
> +	bool "sun8i (Allwinner R40)"
> +	select CPU_V7
> +	select SUNXI_GEN_SUN6I
> +
>  config MACH_SUN9I
>  	bool "sun9i (Allwinner A80)"
>  	select CPU_V7
> @@ -157,7 +162,7 @@ endchoice
>  # The sun8i SoCs share a lot, this helps to avoid a lot of "if A23 || A33"
>  config MACH_SUN8I
>  	bool
> -	default y if MACH_SUN8I_A23 || MACH_SUN8I_A33 || MACH_SUNXI_H3_H5 || MACH_SUN8I_A83T
> +	default y if MACH_SUN8I_A23 || MACH_SUN8I_A33 || MACH_SUNXI_H3_H5 || MACH_SUN8I_A83T || MACH_SUN8I_R40

You should really wrap that line too (and CONFIG_VIDEO below).

Once done, you have my
Acked-by: Maxime Ripard <maxime.ripard at free-electrons.com>

Thanks!
Maxime
-- 
Maxime Ripard, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 801 bytes
Desc: not available
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20170301/36375585/attachment.sig>


More information about the U-Boot mailing list