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 <w...@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.rip...@free-electrons.com> Thanks! Maxime -- Maxime Ripard, Free Electrons Embedded Linux and Kernel engineering http://free-electrons.com
signature.asc
Description: PGP signature
_______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/listinfo/u-boot