u-boot/arch/arm/include/asm
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
..
arch-am33xx arm: ti814x: Remove remaining support code 2022-12-22 10:31:48 -05:00
arch-apple arm: apple: nvme: Add SART support and RTKit buffer management 2022-06-23 08:24:49 -04:00
arch-armada8k SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
arch-armv7 SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
arch-aspeed ram: ast2600: Align the RL and WL setting 2022-11-24 16:26:01 -05:00
arch-bcm235xx SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
arch-bcm281xx SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
arch-bcmcygnus global: Move remaining CONFIG_SYS_NS16550_* to CFG_SYS_NS16550_* 2022-12-05 16:06:07 -05:00
arch-bcmns3 board: ns3: add api to save boot parameters passed from BL31 2020-07-29 10:13:41 -04:00
arch-bcmnsp global: Move remaining CONFIG_SYS_NS16550_* to CFG_SYS_NS16550_* 2022-12-05 16:06:07 -05:00
arch-fsl-layerscape global: Finish CONFIG -> CFG migration 2023-01-20 12:27:24 -05:00
arch-hi3660 common: Drop linux/bitops.h from common header 2020-05-18 21:19:23 -04:00
arch-hi3798cv200 poplar: clean up board level mmc initialization code 2019-01-25 12:12:57 -05:00
arch-hi6220 doc: replace @return by Return: 2022-01-19 18:11:34 +01:00
arch-imx imx: imxrt1170-evk: Add support for the NXP i.MXRT1170-EVK 2022-09-18 20:42:56 +02:00
arch-imx8 imx8: scu_api: sync sc_rm_is_pad_owned api change 2023-01-31 19:44:23 +01:00
arch-imx8m arm64: imx8mp: Drop EQoS GPR[1] board workaround 2023-03-30 13:51:33 +02:00
arch-imx8ulp imx: ahab: Move imx9 and imx8ulp AHAB support together 2023-03-29 22:27:38 +02:00
arch-imx9 imx: ahab: Move imx9 and imx8ulp AHAB support together 2023-03-29 22:27:38 +02:00
arch-imxrt clk: imxrt: Use dts for anatop base address 2022-04-12 21:08:23 +02:00
arch-lpc32xx arm: lpc32xx: Remove unused hsuart driver 2022-12-05 16:07:13 -05:00
arch-ls102xa global: Migrate CONFIG_MAX_MEM_MAPPED to CFG 2022-12-23 10:14:51 -05:00
arch-mediatek mediatek: Drop dm.h header file 2020-08-03 22:19:54 -04:00
arch-meson asm/arch-meson: add missing meson_sm_write_efuse signature 2023-01-10 15:25:48 +01:00
arch-mvebu km/spi: remove deprecated SPI flash driver code for KM Kirkwood boards 2019-07-11 10:58:03 +02:00
arch-mx5 WS cleanup: remove SPACE(s) followed by TAB 2021-09-30 09:08:16 -04:00
arch-mx6 global: Migrate CONFIG_SYS_FSL* symbols to the CFG_SYS namespace 2022-11-10 10:08:55 -05:00
arch-mx7 global: Migrate CONFIG_SYS_FSL* symbols to the CFG_SYS namespace 2022-11-10 10:08:55 -05:00
arch-mx7ulp global: Migrate CONFIG_SYS_FSL* symbols to the CFG_SYS namespace 2022-11-10 10:08:55 -05:00
arch-mx27 ARM: imx: imx27: Introduce and use UART_BASE_ADDR(n) 2022-05-20 09:03:01 +02:00
arch-mx31 global: Move remaining CONFIG_SYS_* to CFG_SYS_* 2022-12-05 16:06:08 -05:00
arch-mxs Rename CONFIG_SYS_TEXT_BASE to CONFIG_TEXT_BASE 2022-10-31 11:01:31 -04:00
arch-npcm7xx misc: nuvoton: Add NPCM7xx otp controller driver 2022-06-22 21:30:05 -04:00
arch-npcm8xx arm: npcm8xx: add security feature header 2023-01-27 12:51:26 -05:00
arch-octeontx arm: octeontx: Add headers for OcteonTX 2020-08-25 08:01:16 +02:00
arch-octeontx2 arm: octeontx2: Add headers for OcteonTX2 2020-08-25 08:01:16 +02:00
arch-omap3 arm: omap3: Make some memory functions static and clean headers 2022-02-21 08:35:40 -05:00
arch-omap4 arm: omap2plus: Move CONFIG_SYS_PTV out of CONFIG namespace 2022-06-06 12:09:00 -04:00
arch-omap5 arm: omap2plus: Move CONFIG_SYS_PTV out of CONFIG namespace 2022-06-06 12:09:00 -04:00
arch-orion5x SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
arch-owl net: designware: s700: Add glue code for S700 mac 2020-07-07 17:11:58 -04:00
arch-px30 rockchip: add px30 architecture core 2019-11-17 17:23:24 +08:00
arch-rk322x rockchip: add common header boot0.h and gpio.h for soc 2019-05-08 17:34:12 +08:00
arch-rk3036 rockchip: add common header boot0.h and gpio.h for soc 2019-05-08 17:34:12 +08:00
arch-rk3066 rockchip: rk3066: add core support 2022-04-18 11:25:13 +08:00
arch-rk3128 rockchip: add common header boot0.h and gpio.h for soc 2019-05-08 17:34:12 +08:00
arch-rk3188 rockchip: add common header boot0.h and gpio.h for soc 2019-05-08 17:34:12 +08:00
arch-rk3288 rockchip: add common header boot0.h and gpio.h for soc 2019-05-08 17:34:12 +08:00
arch-rk3308 arm: Don't include common.h in header files 2020-05-18 14:54:24 -04:00
arch-rk3328 rockchip: add common header boot0.h and gpio.h for soc 2019-05-08 17:34:12 +08:00
arch-rk3368 rockchip: add common header boot0.h and gpio.h for soc 2019-05-08 17:34:12 +08:00
arch-rk3399 rockchip: add common header boot0.h and gpio.h for soc 2019-05-08 17:34:12 +08:00
arch-rk3568 rockchip: Add rk3568 architecture core 2021-06-18 14:36:24 +08:00
arch-rk3588 arm: rockchip: Add RK3588 arch core support 2023-02-28 18:07:28 +08:00
arch-rockchip arm: rockchip: Add ioc header for rk3588 2023-02-28 18:07:28 +08:00
arch-rv1108 rockchip: add common header boot0.h and gpio.h for soc 2019-05-08 17:34:12 +08:00
arch-rv1126 arm: rockchip: Add RV1126 arch core support 2023-01-16 18:01:11 +08:00
arch-stih410 treewide: Update email address Patrick Delaunay and Patrice Chotard 2020-12-09 10:57:50 +01:00
arch-stm32 gpio: stm32: create include file for driver private data 2021-11-10 17:03:36 +01:00
arch-stm32f4 gpio: stm32: create include file for driver private data 2021-11-10 17:03:36 +01:00
arch-stm32f7 configs: stm32f769-disco: Fix internal flash size 2022-09-26 17:21:02 +02:00
arch-stm32h7 gpio: stm32: create include file for driver private data 2021-11-10 17:03:36 +01:00
arch-stv0991 global: Move remaining CONFIG_SYS_* to CFG_SYS_* 2022-12-05 16:06:08 -05:00
arch-sunxi sunxi: arm64: boot0.h: runtime check for RVBAR address 2023-04-12 00:17:22 +01:00
arch-tegra video: tegra-dc: pass DC regmap to internal devices 2023-04-07 19:47:52 +02:00
arch-tegra20 doc: replace @return by Return: 2022-01-19 18:11:34 +01:00
arch-tegra30 video: tegra20: add DSI controller driver 2023-04-07 19:52:54 +02:00
arch-tegra114 ARM: tegra: Use common header for PMU declarations 2019-06-05 09:16:33 -07:00
arch-tegra124 doc: replace @return by Return: 2022-01-19 18:11:34 +01:00
arch-tegra186 SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
arch-tegra210 ARM: tegra: Use common header for PMU declarations 2019-06-05 09:16:33 -07:00
arch-vf610 Convert CONFIG_IOMUX_SHARE_CONF_REG et al to Kconfig 2022-12-05 16:07:12 -05:00
armv8 armv8: always use current exception level for TCR_ELx access 2022-06-16 15:22:55 -04:00
iproc-common bcmcygnus: Convert CONFIG_IPROC to Kconfig 2022-12-23 10:15:13 -05:00
kona-common SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
mach-imx imx: spl_imx_romapi: Get and print boot stage 2023-03-30 00:45:39 +02:00
proc-armv arm: Remove strongarm support 2022-07-08 17:57:33 -04:00
ti-common global: Migrate CONFIG_KSNET_NETCP_BASE to CFG 2022-12-23 10:14:50 -05:00
xen Revert "arch: arm/xen: add putc() for debugging" 2020-10-23 09:16:07 -04:00
acpi_table.h acpi: Add missing ARM acpi_table header 2021-01-18 15:14:15 -05:00
armv7.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
armv7_mpu.h common: Drop linux/bitops.h from common header 2020-05-18 21:19:23 -04:00
armv7m.h arm: armv7m: clean up armv7m unified code compilation 2018-09-10 21:19:33 -04:00
assembler.h arm: ARMv4 assembly compatibility 2022-09-02 13:40:42 -04:00
atomic.h ARM: use asm-generic/atomic.h 2018-09-25 21:49:18 -04:00
barriers.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
bitops.h common: Drop linux/bitops.h from common header 2020-05-18 21:19:23 -04:00
boot0-linux-kernel-header.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
bootm.h arm: use CONFIG_SUPPORT_PASSING_ATAGS 2021-09-24 14:30:46 -04:00
byteorder.h armv8: Use __aarch64__ rather than CONFIG_ARM64 in some cases 2014-01-10 10:10:23 +01:00
cache.h arm: cp15: remove weak function arm_init_domains 2021-03-02 15:53:37 -05:00
config.h Convert CONFIG_SYS_BOOT_RAMDISK_HIGH to Kconfig 2022-07-07 14:01:09 -04:00
davinci_rtc.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
dma-mapping.h arm: Don't include common.h in header files 2020-05-18 14:54:24 -04:00
ehci-omap.h usb: ehci-omap: Drop dead code 2022-02-23 05:25:17 +01:00
emif.h global: Move remaining CONFIG_SYS_SDRAM_* to CFG_SYS_SDRAM_* 2022-12-05 16:06:07 -05:00
esr.h arm64: Import some ESR and SPSR defines from Linux 2022-04-01 16:56:53 -04:00
fsl_secure_boot.h Convert CONFIG_FLASH_SPANSION_S29WS_N et al to Kconfig 2022-12-22 10:31:48 -05:00
gic-v3.h Revert "arch: arm: use dt and UCLASS_SYSCON to get gic lpi details" 2021-10-31 08:46:29 -04:00
gic.h arm64 patch: gicv3 support 2014-04-08 00:15:12 +02:00
global_data.h imx: imx8ulp: Adjust handshake to sync TRDC and XRDC completion 2023-03-29 20:15:42 +02:00
gpio.h gpio: Introduce CONFIG_GPIO_EXTRA_HEADER to cleanup #ifdefs 2021-07-06 14:07:36 -04:00
handoff.h arm: Add arm handoff header file 2020-01-24 11:19:52 -05:00
hardware.h
io.h arm: Clean up asm/io.h 2022-03-02 13:59:29 -05:00
linkage.h
mach-types.h ARM: at91: remove references to RM9200DK 2021-09-21 10:08:24 +03:00
macro.h armv8: Fix and simplify branch_if_master/branch_if_slave 2022-03-02 13:59:29 -05:00
memory.h Various, accumulated typos collected from around the tree. 2016-10-06 20:57:40 -04:00
omap_common.h arm: omap2plus: Move CONFIG_SYS_PTV out of CONFIG namespace 2022-06-06 12:09:00 -04:00
omap_gpio.h doc: replace @return by Return: 2022-01-19 18:11:34 +01:00
omap_i2c.h dm: i2c: use CONFIG_IS_ENABLED macro for DM_I2C/DM_I2C_GPIO 2021-02-21 06:08:00 +01:00
omap_mmc.h common: Drop linux/bitops.h from common header 2020-05-18 21:19:23 -04:00
omap_musb.h dm: treewide: Rename ..._platdata variables to just ..._plat 2020-12-13 16:51:09 -07:00
omap_sec_common.h arm: Don't include common.h in header files 2020-05-18 14:54:24 -04:00
opcodes-sec.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
opcodes-virt.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
opcodes.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
pl310.h arm: mvebu: Fix moving internal registers 2022-09-13 09:04:22 +02:00
posix_types.h armv8: Use __aarch64__ rather than CONFIG_ARM64 in some cases 2014-01-10 10:10:23 +01:00
processor.h Remove ${objtree}/include/asm/proc/ link 2014-06-11 16:27:05 -04:00
psci.h arm: psci: Fix RESET2 hook 2023-01-31 15:46:39 +01:00
ptrace.h Remove ${objtree}/include/asm/proc/ link 2014-06-11 16:27:05 -04:00
sections.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
secure.h treewide: Convert macro and uses of __section(foo) to __section("foo") 2021-05-24 14:21:30 -04:00
setjmp.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
setup.h treewide: Convert macro and uses of __section(foo) to __section("foo") 2021-05-24 14:21:30 -04:00
spin_table.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
spl.h arm: samsung: Migrate a number of symbols to Kconfig 2022-06-28 17:04:37 -04:00
string.h arm64: Kconfig: Enable usage of optimized memset/memcpy/memmove 2021-09-24 07:49:16 -04:00
system.h armv8: Always unmask SErrors 2022-03-02 13:59:29 -05:00
types.h arch: types.h: factor out fixed width typedefs to int-ll64.h 2018-09-10 20:48:16 -04:00
u-boot-arm.h arm64: Save esr in pt_regs 2022-04-01 16:56:53 -04:00
u-boot.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
unaligned.h arm64: core support 2014-01-09 16:08:44 +01:00
unified.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
utils.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
xen.h WS cleanup: remove trailing empty lines 2021-09-30 08:08:56 -04:00