[U-Boot] [PATCH 00/12] ARM: tegra: Share cboot code with Tegra210

Thierry Reding thierry.reding at gmail.com
Fri Mar 8 19:43:26 UTC 2019


From: Thierry Reding <treding at nvidia.com>

Code to support chainloading by nvtboot was introduced along with
Tegar186 support. Since then, support for chainloading U-Boot has been
extended to other Tegra SoC generations. This series of patches makes
this code more widely available so that it can be reused.

Also, the early bootloader responsible for chainloading U-Boot is called
cboot nowadays, so the files and functions are renamed to reflect that.

Patches 1-6 are preparatory changes that guard various bits of code and
header includes with a Kconfig symbol, which makes it easier to support
Tegra186 and earlier generations from a larger body of code.

Patch 7 makes the save_boot_params() prototype more generic so that it
can be reused on 64-bit ARM platforms.

Patch 8 is the bulk of the series and moves the nvtboot code to a more
central location and renames it.

Patches 9-12 build on top of this to extend the cboot functionality with
additional features.

Thierry

Thierry Reding (12):
  ARM: tegra: Use common header for PMU declarations
  ARM: tegra: Guard clock code with a Kconfig symbol
  ARM: tegra: Guard GP pad control code with a Kconfig symbol
  ARM: tegra: Guard memory controller code with a Kconfig symbol
  ARM: tegra: Guard pin controller code with a Kconfig symbol
  ARM: tegra: Guard powergate code with a Kconfig symbol
  ARM: tegra: Fix save_boot_params() prototype
  ARM: tegra: Unify Tegra186 builds
  ARM: tegra: Allow boards to override boot target devices
  ARM: tegra: Implement cboot_save_boot_params() in C
  ARM: tegra: Support TZ-only access to PMC
  ARM: tegra: Implement cboot_get_ethaddr()

 arch/arm/include/asm/arch-tegra/cboot.h       |  45 ++
 arch/arm/include/asm/arch-tegra/pmc.h         |  20 +-
 .../asm/{arch-tegra20 => arch-tegra}/pmu.h    |   6 +-
 arch/arm/include/asm/arch-tegra114/pmu.h      |  12 -
 arch/arm/include/asm/arch-tegra124/pmu.h      |  13 -
 arch/arm/include/asm/arch-tegra210/pmu.h      |  13 -
 arch/arm/include/asm/arch-tegra30/pmu.h       |  12 -
 arch/arm/mach-tegra/Kconfig                   |  30 +
 arch/arm/mach-tegra/Makefile                  |  16 +-
 arch/arm/mach-tegra/board.c                   |  41 +-
 arch/arm/mach-tegra/board186.c                |  32 -
 arch/arm/mach-tegra/board2.c                  |  37 +-
 arch/arm/mach-tegra/cache.c                   |   2 +
 arch/arm/mach-tegra/cboot.c                   | 558 ++++++++++++++++++
 arch/arm/mach-tegra/clock.c                   |  13 +-
 arch/arm/mach-tegra/cmd_enterrcm.c            |   6 +-
 arch/arm/mach-tegra/cpu.c                     |  20 +-
 arch/arm/mach-tegra/emc.c                     |   2 +-
 arch/arm/mach-tegra/lowlevel_init.S           |  39 --
 arch/arm/mach-tegra/pmc.c                     |  92 +++
 arch/arm/mach-tegra/powergate.c               |  11 +-
 arch/arm/mach-tegra/tegra186/Makefile         |   4 -
 arch/arm/mach-tegra/tegra186/nvtboot_ll.S     |  20 -
 arch/arm/mach-tegra/tegra186/nvtboot_mem.c    | 172 ------
 board/nvidia/p2771-0000/p2771-0000.c          |  10 +-
 include/configs/tegra-common-post.h           |   2 +
 26 files changed, 865 insertions(+), 363 deletions(-)
 create mode 100644 arch/arm/include/asm/arch-tegra/cboot.h
 rename arch/arm/include/asm/{arch-tegra20 => arch-tegra}/pmu.h (73%)
 delete mode 100644 arch/arm/include/asm/arch-tegra114/pmu.h
 delete mode 100644 arch/arm/include/asm/arch-tegra124/pmu.h
 delete mode 100644 arch/arm/include/asm/arch-tegra210/pmu.h
 delete mode 100644 arch/arm/include/asm/arch-tegra30/pmu.h
 delete mode 100644 arch/arm/mach-tegra/board186.c
 create mode 100644 arch/arm/mach-tegra/cboot.c
 delete mode 100644 arch/arm/mach-tegra/lowlevel_init.S
 create mode 100644 arch/arm/mach-tegra/pmc.c
 delete mode 100644 arch/arm/mach-tegra/tegra186/nvtboot_ll.S
 delete mode 100644 arch/arm/mach-tegra/tegra186/nvtboot_mem.c

-- 
2.20.1



More information about the U-Boot mailing list