
Date: Mon, 22 Jan 2024 16:16:34 +0200 From: "Ivan T. Ivanov" iivanov@suse.de
Hi,
On 01-22 13:57, Ivan T. Ivanov wrote:
Am 20.01.24 um 10:48 schrieb Jens Maus:
Hi,
Am 20.01.2024 um 10:22 schrieb Stefan Wahren wahrenst@gmx.net:
Am 19.01.24 um 22:26 schrieb Jens Maus:
I actually do have some good and bad news:
Good news: I got u-boot finally showing up with my RaspberryPi5 8GB both on the HDMI and on the serial debug UART like you reported.
Bad news: I actually got it working by downgrading the rpi-eeprom to the same 2023/10/30 (VERSION:30de0ba5) version like you have.
One idea would be to enable early debug in U-Boot (no idea how to achieve this). I assume U-Boot crashes before it's able to print the first line, but it's hard to believe it crashes at the very first instruction of U-Boot. So with some luck we should be able to narrow done the cause.
I was able to enable early debug UART in U-Boot and I will try to find what is happening, once I get some free cycles.
Ok, this was relatively easy to find :-)
New versions of EEPROM firmware change “kernel”/U-Boot load address from 0x80000 to 0x200000. And because on RPi’s CONFIG_TEXT_BASE is hardcoded to 0x80000 code run through the fields.
Hopefully simple patch like bellow make it work fine in older and newer EEPROM firmware versions.
Regards, Ivan
diff --git a/configs/rpi_arm64_defconfig b/configs/rpi_arm64_defconfig index 11ede9435d..ce64f9554f 100644 --- a/configs/rpi_arm64_defconfig +++ b/configs/rpi_arm64_defconfig @@ -1,6 +1,7 @@ CONFIG_ARM=y CONFIG_ARCH_BCM283X=y CONFIG_TEXT_BASE=0x00080000 +CONFIG_POSITION_INDEPENDENT=y
Not sure if it really matters, but for the Apple M1 config I set CONFIG_TEXT_BASE to 0x00000000 (zero).