From: Thierry Reding <tred...@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 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot