[U-Boot] [PATCH 0/7] Exynos4412 SPL support
Minkyu Kang
mk7.kang at samsung.com
Thu Oct 4 02:09:40 UTC 2018
Dear Simon Shields,
On 12/09/18 17:28, Simon Shields wrote:
> Hi,
>
> This patch series adds support for using U-Boot's SPL as the second
> stage bootloader ("BL2") on Exynos4412 SoCs.
>
> - Patch #1 adds support for the EMMC/SD OM pin configuration, which is used
> by the boards I tested on.
> - Patch #2 configures the magic values used to indicate system suspend
> state (which are identical to exynos5).
> - Patch #3 renames the existing exynos4 clock/dmc initialisation code
> to reflect the fact that it only supports exynos4210.
> - Patches #4 and #5 add/fill in structs reflecting the PMU and TZASC
> register layouts on exynos4412, respectively.
> - Patch #6 adds the exynos4412 DMC and clock initialisation code and
> enables building the SPL on exynos4412 platforms.
> - Patch #7 enables building the "mkexynosspl" utility for exynos4 SoCs.
>
> The majority of the logic in patch #6 comes from a vendor u-boot dump
> (2010.12!), however, small portions (mostly code used for 2GB RAM
> initialisation) were reverse engineered from the vendor
> bootloader found on a GT-N7100.
>
> This patch series has been tested on a GT-I9300 (exynos4412, 1GB RAM)
> and a GT-N7100 (exynos4412 prime, 2GB RAM), with a few additional
> patchsets applied for board/HW support (which I intend to upstream in
> the future).
>
> Cheers,
> Simon
>
> Simon Shields (7):
> ARM: exynos: spl: add EMMC/SD boot mode support
> exynos4: configure power down magic values
> ARM: exynos: rename exynos4 setup files to exynos4210
> ARM: exynos: fill in exynos4412_power struct
> ARM: exynos: add exynos4412 TZASC memory layout
> ARM: exynos: SPL support for exynos 4412
> tools: build mkexynosspl for exynos4 as well
>
> arch/arm/mach-exynos/Kconfig | 6 +
> arch/arm/mach-exynos/Makefile | 3 +-
> ...init_exynos4.c => clock_init_exynos4210.c} | 2 +-
> arch/arm/mach-exynos/clock_init_exynos4412.c | 122 +++++
> ...c_init_exynos4.c => dmc_init_exynos4210.c} | 2 +-
> arch/arm/mach-exynos/dmc_init_exynos4412.c | 185 ++++++++
> .../{exynos4_setup.h => exynos4210_setup.h} | 0
> arch/arm/mach-exynos/exynos4412_setup.h | 425 ++++++++++++++++++
> arch/arm/mach-exynos/include/mach/cpu.h | 2 +-
> arch/arm/mach-exynos/include/mach/dmc.h | 19 +
> arch/arm/mach-exynos/include/mach/power.h | 290 +++++++++++-
> arch/arm/mach-exynos/power.c | 12 +
> arch/arm/mach-exynos/spl_boot.c | 22 +-
> include/configs/exynos4-common.h | 5 +
> tools/Makefile | 1 +
> 15 files changed, 1084 insertions(+), 12 deletions(-)
> rename arch/arm/mach-exynos/{clock_init_exynos4.c => clock_init_exynos4210.c} (99%)
> create mode 100644 arch/arm/mach-exynos/clock_init_exynos4412.c
> rename arch/arm/mach-exynos/{dmc_init_exynos4.c => dmc_init_exynos4210.c} (99%)
> create mode 100644 arch/arm/mach-exynos/dmc_init_exynos4412.c
> rename arch/arm/mach-exynos/{exynos4_setup.h => exynos4210_setup.h} (100%)
> create mode 100644 arch/arm/mach-exynos/exynos4412_setup.h
>
I've got warning/error.
arch/arm/mach-exynos/spl_boot.c: In function 'copy_uboot_to_ram':
arch/arm/mach-exynos/spl_boot.c:189:6: warning: unused variable 'ret' [-Wunused-variable]
u32 ret;
^~~
CC spl/arch/arm/mach-exynos/lowlevel_init.o
AS spl/arch/arm/lib/crt0_arm_efi.o
LD spl/arch/arm/lib/built-in.o
CC spl/arch/arm/lib/reloc_arm_efi.o
AR spl/arch/arm/lib/lib.a
LD spl/arch/arm/mach-exynos/built-in.o
spl/arch/arm/mach-exynos/dmc_init_exynos4412.o: In function `board_num_mem_chips':
/home/share/Work/u-boot-samsung/arch/arm/mach-exynos/dmc_init_exynos4412.c:35: multiple definition of `mem_ctrl_init'
spl/arch/arm/mach-exynos/dmc_init_exynos4210.o:/home/share/Work/u-boot-samsung/arch/arm/mach-exynos/dmc_init_exynos4210.c:169: first defined here
spl/arch/arm/mach-exynos/clock_init_exynos4412.o: In function `system_clock_init':
/home/share/Work/u-boot-samsung/arch/arm/mach-exynos/clock_init_exynos4412.c:34: multiple definition of `system_clock_init'
spl/arch/arm/mach-exynos/clock_init_exynos4210.o:/home/share/Work/u-boot-samsung/arch/arm/mach-exynos/clock_init_exynos4210.c:40: first defined here
make[2]: *** [spl/arch/arm/mach-exynos/built-in.o] Error 1
make[1]: *** [spl/arch/arm/mach-exynos] Error 2
make: *** [spl/u-boot-spl] Error 2
Could you please check?
Thanks,
Minkyu Kang.
More information about the U-Boot
mailing list