[U-Boot] booting sunxi in falcon mode

Hello!
The last couple evenings I have been experimenting with booting Linux from spl on a opiz board (sun8i/allwinner H2+)
I am using FIT with kernel/fdt and status is I can boot this from within uboot using:
mmc read $ramdisk_addr_r 0x1000 0x2000 bootm $ramdisk_addr_r
but:
After preparing fdt: mmc read $ramdisk_addr_r 0x1000 0x2000 spl export fdt $ramdisk_addr_r mmc write $ramdisk_addr_r 0x2000 0x100
..and then placing this fdt into the FIT, I confirm the fdt is actually passed to the Linux kernel, and that it has been prepared (correctly?) by "spl export", but in Linux I get:
ERROR: Failed to allocate 0x0000000000002000 bytes below 0x0000000000000000
So seems there is some issues with memory. The fdt has:
memory { reg = <0x40000000 0x20000000>; device_type = "memory"; };
One difference I see when booting Linux from uboot is the following extra line:
[ 0.000000] OF: fdt: Ignoring memory range 0x40000000 - 0x48000000
Where from spl, I only see:
[ 0.000000] OF: fdt: Machine model: Xunlong Orange Pi Zero Hero
I have also tried to prepare the fdt using the method described under "Example with FDT: a3m071 board" in doc/README.falcon, but with no success (and it does not add /memory at all)
After trying to read trough most of the code to figure out if the board is doing something special before handing over control to Linux from uboot, I cant really find anything of interest.
Hope someone is able to guide me in the right direction!
participants (1)
-
Bjørnar Ness