u-boot/arch/arm
Andre Przywara 0a137ac501 sunxi: arm64: boot0.h: runtime check for RVBAR address
Some SoCs of the H616 family use a die variant, that puts some CPU power
and reset control registers at a different address. There are examples
of two instances of the same board, using different die revisions of the
otherwise same H313 SoC. We need to write to a register in that block
*very* early in the SPL boot, to switch the core to AArch64.

Since the devices are otherwise indistinguishable, let the SPL code read
that die variant and use the respective RVBAR address based on that.
That is a bit tricky, since we need to do that in hand-coded AArch32
machine language, shared by all 64-bit SoCs. To avoid build dependencies
in this mess, we always provide two addresses to choose from, and just
give identical values for all other SoCs. This allows the same code to
run on all 64-bit SoCs, and controls this switch behaviour purely from
Kconfig.

Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Reviewed-by: Jernej Skrabec <jernej.skrabec@gmail.com>
2023-04-12 00:17:22 +01:00
..
cpu ARM: remove SPEAR entry in makefile 2023-03-06 17:03:56 -05:00
dts ARM: dts: sun6i: mixtile-loftq: Add USB1 VBUS regulator 2023-04-12 00:17:21 +01:00
include sunxi: arm64: boot0.h: runtime check for RVBAR address 2023-04-12 00:17:22 +01:00
lib arm: lib: add __gnu_thumb1_case_si 2023-04-06 19:10:08 -04:00
mach-apple
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 mmc: bcm2835-host: let firmware manage the clock divisor 2023-03-24 14:43:20 +00:00
mach-bcmbca
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 Correct SPL use of EXYNOS7420 2023-02-09 16:32:26 -05:00
mach-highbank
mach-hpe arm: Correct cpu_reset function prototype on some platforms 2023-03-22 15:22:48 -04:00
mach-imx arm64: imx: Add support for imx8mp-beacon-kit 2023-04-04 09:40:25 +02:00
mach-integrator
mach-ipq40xx
mach-k3 arm: mach-k3: introduce generic board detction kconfig option 2023-03-29 13:30:28 -04:00
mach-keystone global: Move remaining CONFIG_SYS_* to CFG_SYS_* 2022-12-05 16:06:08 -05:00
mach-kirkwood arm: kirkwood: Move internal registers in arch_very_early_init() function 2023-03-24 13:11:47 +01:00
mach-lpc32xx arm: lpc32xx: Remove unused hsuart driver 2022-12-05 16:07:13 -05:00
mach-mediatek arm: Correct cpu_reset function prototype on some platforms 2023-03-22 15:22:48 -04:00
mach-meson ARM: meson: switch AXG & GX dwc2 otg to DM 2023-01-20 16:21:31 +01:00
mach-mvebu arm: mvebu: Define all options for AXP BOOT_FROM_* macros 2023-03-30 07:05:20 +02: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
mach-octeontx2
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 ARM: renesas: Add R8A779G0 V4H White Hawk board code 2023-04-07 17:13:28 +02:00
mach-rockchip Merge branch 'master' into next 2023-03-27 15:19:57 -04:00
mach-s5pc1xx exynos: Rework legacy PWM usage 2022-12-23 10:07:03 -05:00
mach-snapdragon clocks: qcs404: Add support for I2C clocks 2023-02-13 10:01:52 -05:00
mach-socfpga Use grep -E or plain grep instead of egrep 2023-01-11 15:02:24 -05:00
mach-sti
mach-stm32
mach-stm32mp Correct SPL use of STM32MP15X_STM32IMAGE 2023-02-10 07:41:40 -05:00
mach-sunxi sunxi: arm64: boot0.h: runtime check for RVBAR address 2023-04-12 00:17:22 +01:00
mach-tegra ARM: tegra20: implement BCT patching 2023-02-23 12:55:37 -07: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 xilinx: zynqmp: Add missing prototype for zynqmp_mmio_write 2023-03-09 13:15:00 +01:00
mach-versal-net xilinx: zynqmp: Add missing prototype for zynqmp_mmio_write 2023-03-09 13:15:00 +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 Merge branch 'master' into next 2023-03-27 15:19:57 -04:00
Kconfig.debug
Makefile