[U-Boot] [PATCH 1/6] sunxi: makes an invisible option for H3-like DRAM controllers
André Przywara
andre.przywara at arm.com
Wed Mar 15 00:23:07 UTC 2017
On 13/03/17 17:50, Icenowy Zheng wrote:
Hi Icenowy,
as mentioned before, I like this patch.
In general, can you rebase this series on top of sunxi/master? There are
some rather easy conflicts due to the H5 support being merged in.
One minor thing below...
> Allwinner SoCs after H3 (e.g. A64, H5, R40, V3s) uses a H3-like
> DesignWare DRAM controller, which do not have official free DRAM
> initialization code, but can use modified dram_sun8i_h3.c.
>
> Add a invisible option for easier DRAM initialization code reuse.
>
> Signed-off-by: Icenowy Zheng <icenowy at aosc.xyz>
> Acked-by: Maxime Ripard <maxime.ripard at free-electrons.com>
> ---
> arch/arm/include/asm/arch-sunxi/dram.h | 4 ++--
> .../include/asm/arch-sunxi/{dram_sun8i_h3.h => dram_sunxi_dw.h} | 0
> arch/arm/mach-sunxi/Makefile | 2 +-
> arch/arm/mach-sunxi/{dram_sun8i_h3.c => dram_sunxi_dw.c} | 0
> board/sunxi/Kconfig | 9 +++++++++
> 5 files changed, 12 insertions(+), 3 deletions(-)
> rename arch/arm/include/asm/arch-sunxi/{dram_sun8i_h3.h => dram_sunxi_dw.h} (100%)
> rename arch/arm/mach-sunxi/{dram_sun8i_h3.c => dram_sunxi_dw.c} (100%)
>
> diff --git a/arch/arm/include/asm/arch-sunxi/dram.h b/arch/arm/include/asm/arch-sunxi/dram.h
> index 53e6d471d2..80abac95b8 100644
> --- a/arch/arm/include/asm/arch-sunxi/dram.h
> +++ b/arch/arm/include/asm/arch-sunxi/dram.h
> @@ -24,8 +24,8 @@
> #include <asm/arch/dram_sun8i_a33.h>
> #elif defined(CONFIG_MACH_SUN8I_A83T)
> #include <asm/arch/dram_sun8i_a83t.h>
> -#elif defined(CONFIG_MACH_SUN8I_H3) || defined(CONFIG_MACH_SUN50I)
> -#include <asm/arch/dram_sun8i_h3.h>
> +#elif defined(CONFIG_SUNXI_DRAM_DW)
> +#include <asm/arch/dram_sunxi_dw.h>
> #elif defined(CONFIG_MACH_SUN9I)
> #include <asm/arch/dram_sun9i.h>
> #else
> diff --git a/arch/arm/include/asm/arch-sunxi/dram_sun8i_h3.h b/arch/arm/include/asm/arch-sunxi/dram_sunxi_dw.h
> similarity index 100%
> rename from arch/arm/include/asm/arch-sunxi/dram_sun8i_h3.h
> rename to arch/arm/include/asm/arch-sunxi/dram_sunxi_dw.h
> diff --git a/arch/arm/mach-sunxi/Makefile b/arch/arm/mach-sunxi/Makefile
> index 7daba1169c..b8f01e3b61 100644
> --- a/arch/arm/mach-sunxi/Makefile
> +++ b/arch/arm/mach-sunxi/Makefile
> @@ -48,7 +48,7 @@ obj-$(CONFIG_MACH_SUN7I) += dram_sun4i.o
> obj-$(CONFIG_MACH_SUN8I_A23) += dram_sun8i_a23.o
> obj-$(CONFIG_MACH_SUN8I_A33) += dram_sun8i_a33.o
> obj-$(CONFIG_MACH_SUN8I_A83T) += dram_sun8i_a83t.o
> -obj-$(CONFIG_MACH_SUN8I_H3) += dram_sun8i_h3.o
> +obj-$(CONFIG_SUNXI_DRAM_DW) += dram_sunxi_dw.o
> obj-$(CONFIG_MACH_SUN9I) += dram_sun9i.o
> obj-$(CONFIG_MACH_SUN50I) += dram_sun8i_h3.o
This line needs to be removed as well, otherwise you break the build for
A64 boards.
Cheers,
Andre.
> endif
> diff --git a/arch/arm/mach-sunxi/dram_sun8i_h3.c b/arch/arm/mach-sunxi/dram_sunxi_dw.c
> similarity index 100%
> rename from arch/arm/mach-sunxi/dram_sun8i_h3.c
> rename to arch/arm/mach-sunxi/dram_sunxi_dw.c
> diff --git a/board/sunxi/Kconfig b/board/sunxi/Kconfig
> index 56b7513fe3..e71fdaee86 100644
> --- a/board/sunxi/Kconfig
> +++ b/board/sunxi/Kconfig
> @@ -42,6 +42,13 @@ config SUNXI_GEN_SUN6I
> separate ahb reset control registers, custom pmic bus, new style
> watchdog, etc.
>
> +config SUNXI_DRAM_DW
> + bool
> + ---help---
> + Select this for sunxi SoCs which uses a DRAM controller like the
> + DesignWare controller used in H3, mainly SoCs after H3, which do
> + not have official open-source DRAM initialization code, but can
> + use modified H3 DRAM initialization code.
>
> choice
> prompt "Sunxi SoC Variant"
> @@ -113,6 +120,7 @@ config MACH_SUN8I_H3
> select ARCH_SUPPORT_PSCI
> select SUNXI_GEN_SUN6I
> select SUPPORT_SPL
> + select SUNXI_DRAM_DW
> select ARMV7_BOOT_SEC_DEFAULT if OLD_SUNXI_KERNEL_COMPAT
>
> config MACH_SUN8I_V3S
> @@ -135,6 +143,7 @@ config MACH_SUN50I
> select ARM64
> select SUNXI_GEN_SUN6I
> select SUPPORT_SPL
> + select SUNXI_DRAM_DW
>
> endchoice
>
>
More information about the U-Boot
mailing list