rpi: Fix compilation with larger configs
authorIlias Apalodimas <ilias.apalodimas@linaro.org>
Sat, 15 Nov 2025 07:33:29 +0000 (09:33 +0200)
committerPeter Robinson <pbrobinson@gmail.com>
Tue, 25 Nov 2025 09:22:12 +0000 (09:22 +0000)
commit46e0ac55e56638d2543fc5a4c1ed28470095233e
tree9b8c1dd3caa109f1514293e60c971b6c160e308a
parentc5e6d2ab7eba68cbfb600cdc131c0c375ced2ec9
rpi: Fix compilation with larger configs

Tom reports that adding more Kconfig options fails with
board/raspberrypi/rpi/lowlevel_init.o: in function `save_boot_params':
board/raspberrypi/rpi/lowlevel_init.S:20:(.text+0x0):
relocation truncated to fit: R_AARCH64_ADR_PREL_LO21
against symbol `fw_dtb_pointer' defined in .data section
in board/raspberrypi/rpi/rpi.o
make: *** [Makefile:2029: u-boot] Error 1

Since fw_dtb_pointer lives in .data it might end up above the
+-1MB that adr can reach.
So switch over to adrp+add which has a +-4gb reach.

Reported-by: Tom Rini <trini@konsulko.com>
Closes: https://source.denx.de/u-boot/custodians/u-boot-raspberrypi/-/issues/2
Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Reviewed-by: Peter Robinson <pbrobinson@gmail.com>
board/raspberrypi/rpi/lowlevel_init.S