a question about falcon mode

Alex G. mr.nuke.me at gmail.com
Fri Nov 26 15:18:56 CET 2021


On 11/26/21 1:53 AM, Chan Kim wrote:
> Hi Alex,
> Thanks for the reply.
> So I gather that to be able to use 'spl export fdt' to store the 'snapshot' to the storage I should make the spl program runnable at  least to that stage. (being able to load kernel image, dtb, initrd and give the spl export command to capture it to storage like SD card).
> What I'm thinking of is to let another processor(cortext-M7 based scp, system control processor) load the u-boot-spl.bin into on-chip RAM and kernel(including initramfs)and dtb into SDRAM all from SD card (RAW mode, no file system) and let the AP(application processor) start from u-boot-spl.bin. In this scheme u-boot-spl doesn't need to load anything and DRAM is already initialized and it just needs to run from kernel image after very minimal setup (passing kernel arguments). Do you think this is possible or an absurd idea?
> Any comment will be a big help for me.

I'm not sure if that mode is currently supported. You could try using 
CONFIG_SPL_RAM_SUPPORT=y, and one of two things:
   a) Package your kernel and DTB in a FIT.
   b) Extend common/spl/spl_ram.c to support the 'snapshot' dtb

Alex

> Thanks!
> Chan
> 
>> -----Original Message-----
>> From: Alex G. <mr.nuke.me at gmail.com>
>> Sent: Thursday, November 25, 2021 11:57 PM
>> To: Chan Kim <ckim at etri.re.kr>; U-Boot Mailing List <u-boot at lists.denx.de>
>> Subject: Re: a question about falcon mode
>>
>> On 11/25/21 1:07 AM, Chan Kim wrote:
>>> Hello all,
>>>
>>> I'm trying to implement falcon mode for our board. Then should I first
>>> implement the normal mode(spl + proper)?
>>>
>>> It looks like so while I'm reading doc/README.falcon. (It says, after
>>> loading kernel, DT etc. I should give 'spl export' command).
>>>
>>
>> Falcon mode is a bit board dependent.  There are a couple of ways you
>> could go about this.
>>
>> The first is to have an "fdtargs" partition. This is where "spl export"
>> comes in. Once you run "spl export", it will give a modified dtb at
>> "$fdtargsaddr". It's that DTB that you need to write to your ftdargs
>> partition. For example:
>>
>>       > spl export fdt $loadaddr - $fdt_addr_r
>>       > mmc write $fdtargsaddr 0x9800 0x8000
>>
>> In this example the ftdargs partition starts at sector 0x9800, and is
>> 0x800 sectors long.
>>
>>
>> The second option is to forget about "spl export" and "fdtargs", and
>> package your kernel, devicetree, and overlays in a FIT container. You'd
>> make sure to enable SPL_LOAD_FIT_APPLY_OVERLAY. There isn't much more to
>> this other than the usual gotcha's with FIT and overlays.
>>
>> Alex
>>
>>
> 
> 
> 
> 


More information about the U-Boot mailing list