[U-Boot] [PATCH 0/7] Exynos4412 SPL support

Simon Shields simon at lineageos.org
Wed Sep 12 08:28:26 UTC 2018


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

-- 
2.18.0



More information about the U-Boot mailing list