ARM_APPENDED_DTB: Support for RPi 3B+
Opened this issue · 1 comments
HI everyone,
we are trying to make the RPi fast-boot and appreciate this effort.
In our project we use the RPi 3B+ model and got problems with the attached DTB file to the kernel.
After kernel compilation, we include the DTB with
cat arch/arm/boot/zImage arch/arm/boot/dts/bcm2710-rpi-3-b-plus.dtb > $KERNEL-atfo+3bpdtb.img
In addition, we have to delete both bcm2710-rpi-3-b-plus.dtb and bcm2710-rpi-3-b.dtb from the boot FS or the RPi hangs.
Although the RPi boots correctly into a Qt application, several hardware modules (I2C f.i.) are not initialized correctly and the boot message schows different models detected (watch 'OF: fdt: Machine model' and 'Reserved memory'):
With DTB included:
...
[ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] Linux version 5.10.17-v7-atfo (usrv@buildsystem) (arm-linux-gnueabihf-gcc (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0, GNU ld (GNU Binutils for Ubuntu) 2.34) #3 SMP Mon Oct 4 14:12:26 UTC 2021
[ 0.000000] CPU: ARMv7 Processor [410fd034] revision 4 (ARMv7), cr=10c5383d
[ 0.000000] CPU: div instructions available: patching division code
[ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[ 0.000000] OF: fdt: Machine model: Raspberry Pi 3 Model B+
[ 0.000000] Memory policy: Data cache writealloc
[ 0.000000] Reserved memory: created CMA memory pool at 0x2c000000, size 64 MiB
[ 0.000000] OF: reserved mem: initialized node linux,cma, compatible id shared-dma-pool
...
W/O DTB (DTB from Filesystem):
...
[ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] Linux version 5.10.17-v7-atfo (usrv@buildsystem) (arm-linux-gnueabihf-gcc (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0, GNU ld (GNU Binutils for Ubuntu) 2.34) #3 SMP Mon Oct 4 14:12:26 UTC 2021
[ 0.000000] CPU: ARMv7 Processor [410fd034] revision 4 (ARMv7), cr=10c5383d
[ 0.000000] CPU: div instructions available: patching division code
[ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[ 0.000000] OF: fdt: Machine model: Raspberry Pi 3 Model B Plus Rev 1.3
[ 0.000000] Memory policy: Data cache writealloc
[ 0.000000] Reserved memory: created CMA memory pool at 0x2ac00000, size 64 MiB
[ 0.000000] OF: reserved mem: initialized node linux,cma, compatible id shared-dma-pool
...
Any suggestions where to dig deeper?
Best regards
Niklas
everal hardware modules (I2C f.i.) are not initialized correctly
check dev handling. You may need eudev support.
the boot message schows different models detected
Check the dtsi of your device trees. I think your are providing an old dtb when appending it to the kernel.