u-boot/arch/arm
Andre Przywara 382b837134 sunxi: eMMC: support TOC0 on boot partitions
To determine whether we have been booted from an eMMC boot partition, we
replay some of the checks that the BROM must have done to successfully
load the SPL. This involves a checksum check, which currently relies on
the SPL being wrapped in an "eGON" header.

If a board has secure boot enabled, the BROM will only accept the "TOC0"
format, which is internally very different, but uses the same
checksumming algorithm. Actually the only difference for calculating the
checksum is that the size of the SPL is stored at a different offset.

Do a header check to determine whether we deal with an eGON or TOC0
format, then set the SPL size accordingly. The rest of the code is
unchanged.

This fixes booting from an eMMC boot partition on devices with secure
boot enabled, like the Remix Mini PC.

Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Reviewed-by: Samuel Holland <samuel@sholland.org>
2023-01-23 01:18:23 +00:00
..
cpu sunxi: fel: drop redundant "control register" save/restore 2023-01-21 01:32:23 +00:00
dts sunxi: f1c100s: Drop no-MMC hack 2023-01-21 01:32:23 +00:00
include global: Finish CONFIG -> CFG migration 2023-01-20 12:27:24 -05:00
lib arm: lib1funcs.S: Update compatibility with Linux comment slightly 2023-01-20 12:27:06 -05:00
mach-apple Rename CONFIG_SYS_TEXT_BASE to CONFIG_TEXT_BASE 2022-10-31 11:01:31 -04:00
mach-aspeed global: Move remaining CONFIG_SYS_SDRAM_* to CFG_SYS_SDRAM_* 2022-12-05 16:06:07 -05:00
mach-at91 global: Remove unused CONFIG defines 2023-01-20 12:27:06 -05:00
mach-bcm283x
mach-bcmbca timer: bcmbca: use arm global timer for bcm63138 SoC 2022-10-31 08:56:00 -04:00
mach-bcmstb
mach-cortina
mach-davinci global: Migrate CONFIG_MAX_RAM_BANK_SIZE to CFG 2022-12-23 10:14:51 -05:00
mach-exynos trace: Use notrace for short 2023-01-18 11:49:12 -07:00
mach-highbank common: Drop init.h from common header 2020-05-18 17:33:33 -04:00
mach-hpe ARM: hpe: gxp: add core support 2022-06-22 21:30:04 -04:00
mach-imx Added dcp_rng driver initialization code 2023-01-12 11:25:46 -05:00
mach-integrator
mach-ipq40xx Rename CONFIG_SYS_TEXT_BASE to CONFIG_TEXT_BASE 2022-10-31 11:01:31 -04:00
mach-k3 misc: fs_loader: Add function to get the chosen loader 2023-01-12 14:06:15 -05:00
mach-keystone global: Move remaining CONFIG_SYS_* to CFG_SYS_* 2022-12-05 16:06:08 -05:00
mach-kirkwood arm: kirkwood: Convert to DM Serial for various Kirkwood boards 2023-01-17 07:08:42 +01:00
mach-lpc32xx arm: lpc32xx: Remove unused hsuart driver 2022-12-05 16:07:13 -05:00
mach-mediatek global: Move remaining CONFIG_SYS_SDRAM_* to CFG_SYS_SDRAM_* 2022-12-05 16:06:07 -05:00
mach-meson ARM: meson: fixup error on efuse commands return 2022-08-08 09:56:38 +02:00
mach-mvebu configs: Remove unused or redundant CONFIG symbols 2022-12-23 10:15:13 -05:00
mach-nexell arm: s5p4418: dm_serial: remove old code / add DEBUG_UART 2023-01-02 16:06:08 -05:00
mach-npcm global: Move remaining CONFIG_SYS_* to CFG_SYS_* 2022-12-05 16:06:08 -05:00
mach-octeontx Rename CONFIG_SYS_TEXT_BASE to CONFIG_TEXT_BASE 2022-10-31 11:01:31 -04:00
mach-octeontx2 Rename CONFIG_SYS_TEXT_BASE to CONFIG_TEXT_BASE 2022-10-31 11:01:31 -04:00
mach-omap2 global: Finish CONFIG -> CFG migration 2023-01-20 12:27:24 -05:00
mach-orion5x global: Migrate CONFIG_MAX_RAM_BANK_SIZE to CFG 2022-12-23 10:14:51 -05:00
mach-owl global: Move remaining CONFIG_SYS_SDRAM_* to CFG_SYS_SDRAM_* 2022-12-05 16:06:07 -05:00
mach-qemu
mach-rmobile global: Finish CONFIG -> CFG migration 2023-01-20 12:27:24 -05:00
mach-rockchip global: Finish CONFIG -> CFG migration 2023-01-20 12:27:24 -05:00
mach-s5pc1xx exynos: Rework legacy PWM usage 2022-12-23 10:07:03 -05:00
mach-snapdragon SoC: sdm845: find and save KASLR to env variables 2023-01-10 15:39:07 -05:00
mach-socfpga Use grep -E or plain grep instead of egrep 2023-01-11 15:02:24 -05:00
mach-sti stm32mp1: fix reference for STMicroelectronics 2022-06-17 14:12:27 +02:00
mach-stm32 configs: stm32f746-disco: Migrate SPL flags to defconfig 2022-05-10 13:56:12 +02:00
mach-stm32mp image: Move common image code to image_board and command 2023-01-16 18:26:50 -05:00
mach-sunxi sunxi: eMMC: support TOC0 on boot partitions 2023-01-23 01:18:23 +00:00
mach-tegra global: Finish CONFIG -> CFG migration 2023-01-20 12:27:24 -05:00
mach-u8500 global: Move remaining CONFIG_SYS_* to CFG_SYS_* 2022-12-05 16:06:08 -05:00
mach-uniphier arm: uniphier: use DM_TIMER of arm a9 global timer 2023-01-02 16:01:39 -05:00
mach-versal arm64: versal: Define zynqmp_mmio_write() for versal 2022-09-13 11:32:48 +02:00
mach-versal-net soc: xilinx: versal-net: Add soc_xilinx_versal_net driver 2022-11-22 15:02:07 +01:00
mach-versatile global: Move remaining CONFIG_SYS_* to CFG_SYS_* 2022-12-05 16:06:08 -05:00
mach-zynq global: Move remaining CONFIG_SYS_SDRAM_* to CFG_SYS_SDRAM_* 2022-12-05 16:06:07 -05:00
mach-zynqmp arm64: zynqmp: Do not include psu_init to U-Boot by default 2022-12-05 08:55:55 +01:00
mach-zynqmp-r5
thumb1/include/asm/proc-armv
config.mk Convert CONFIG_STANDALONE_LOAD_ADDR to Kconfig 2022-12-22 10:31:48 -05:00
Kconfig event: Correct dependencies on the EVENT framework 2023-01-18 12:46:13 -05:00
Kconfig.debug
Makefile arm64: versal-net: Add support for Versal NET platform 2022-09-26 14:23:29 +02:00