[Uboot-devel] booting sunxi in falcon mode
Brought to you by:
ubaldu
From: Bjørnar N. <bjo...@gm...> - 2017-09-30 13:25:51
|
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 |