[U-Boot] booting sunxi in falcon mode
Bjørnar Ness
bjornar.ness at gmail.com
Sat Sep 30 13:29:39 UTC 2017
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!
--
Bj(/)rnar
More information about the U-Boot
mailing list