[U-Boot] no DTB with nand SPL on sama5d3

Eugen.Hristev at microchip.com Eugen.Hristev at microchip.com
Mon Jan 21 08:06:43 UTC 2019



On 20.01.2019 17:23, Ben Whitten wrote:
> Hi,
> 
> On 17/01/2019 21:34, Daniel Evans wrote:
>> Follow up question:
>>
>> I notice that u-boot-spl-pad.bin is empty even though 
>> CONFIG_SPL_PAD_TO = CONFIG_SPL_MAX_SIZE = 0x18000.  Is that why it 
>> isn’t find the dtb because it isn’t padded properly?
> 
> As an aside although it buried as a footnote in the datasheet.
> When the ROM code in the SAMA5D3 checks to see if SPL is valid code 
> based on the size in the 6th vector or by checking the size of boot.bin 
> from FAT, it must fit within SRAM0 (64KB, 0x10000) [1]
> 
> So whilst you have 128KB of SRAM, you can only load and execute SPL 
> within 64KB (0x10000), perhaps CONFIG_SPL_MAX_SIZE should updated.
> 
> [1] Atmel SAMA5D3 datasheet, 11.4.3.1 under Figure 11-7, & 11.4.3.2.
> 
> Thanks,
> Ben

It is true. 64 KB is reserved for Rom code itself (stack + code) and the 
rest of 64KB is free for copying the application binary and executing it.
If the MAX_SPL is wrong then we need to correct it. We also need to 
check if it's oversized in which case it's normal that the DTB won't be 
copied. Rom Code will copy at most 64 KB.

Daniel can you confirm this ?

Thanks

> 
>>
>> Dan
>>
>>> On Jan 17, 2019, at 2:09 AM, Eugen.Hristev at microchip.com wrote:
>>>
>>>
>>>
>>> On 17.01.2019 11:05, Simon Goldschmidt wrote:
>>>> On Thu, Jan 17, 2019 at 10:02 AM <Eugen.Hristev at microchip.com> wrote:
>>>>>
>>>>>
>>>>>
>>>>> On 16.01.2019 21:05, Daniel Evans wrote:
>>>>>> Hello,
>>>>>>
>>>>>> Yes, I am trying to load the U-boot SPL
>>>>>>
>>>>>> What I posted previously was a custom board.  I switched over to 
>>>>>> the sama5d3_xplained and all I get with 
>>>>>> sama5d3_xplained_nandflash_defconfig is ROMBOOT.
>>>>>
>>>>> This is definitely weird. Are you using vanilla u-boot and no 
>>>>> changes on
>>>>> top with the sama5d3_xplained? Looks like not even your console 
>>>>> works in
>>>>> spl, or, you have a bad binary .
>>>>
>>>> With debug uart enabled it shows the DTB is missing. So when using the
>>>> mainline defconfig (where debug uart is disabled) it fails to find a 
>>>> console as
>>>> the DTB is missing. That's unfortunate, but expected behaviour with 
>>>> DM_SERIAL,
>>>> I guess.
>>>>
>>>> I don't know the hardware, but the real problem seems to me that the 
>>>> binary
>>>> being flashed is somehow missing the DTB?
>>>
>>> Yes that can happen, I suggested that some parts of the SPL are missing
>>> - either the binary flashed is smaller than the real size (and the DTB,
>>> being at the end is not copied...),
>>>
>>> or the value inside the 6th vector is wrong, and the first stage
>>> bootloader is not copying enough data from NAND to RAM when executing
>>> the SPL binary. The first stage BL only copies the number of bytes given
>>> by 6th vector value
>>>
>>>>
>>>> Regards,
>>>> Simon
>>>>
>>>>>
>>>>>>
>>>>>> AT91bootstrap works fine.
>>>>>>
>>>>>> I know there was the issue with the nand_header showing up for the 
>>>>>> SD card but that shouldn’t effect the nand.  Some other patch I am 
>>>>>> missing to get a non-modified boot.bin nand working?
>>>>>
>>>>> How are you writing your nandflash ? are you using our sam-ba tool to
>>>>> write it ? do you use writeboot applet ?
>>>>>
>>>>>>
>>>>>> The size of the 6th reset vector looks correct, with the 
>>>>>> assumption that it does not include the 208 bytes of nand_header?
>>>>>
>>>>> Yes it should not include it. And if you write using sam-ba the nand
>>>>> header will be written by sam-ba, so your binary should not include it
>>>>> already.
>>>>>
>>>>> I also suggest you open up a support ticket on 
>>>>> support.microchip.com as
>>>>> our FAE have a lot of experience to assist with such situations.
>>>>>
>>>>> Hope this helps,
>>>>> Eugen
>>>>>
>>>>>>
>>>>>> Dan
>>>>>>
>>>>>>
>>>>>>
>>>>>>> On Jan 16, 2019, at 6:02 AM, Eugen.Hristev at microchip.com wrote:
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> On 16.01.2019 03:13, Daniel Evans wrote:
>>>>>>>> After flashing my boot.bin to nand I get the following output:
>>>>>>>>
>>>>>>>> RomBOOT
>>>>>>>> <debug_uart> Missing DTB
>>>>>>>> ### ERROR ### Please RESET the board ###
>>>>>>>>
>>>>>>>> I found the error message in fdtdec.c, but not sure what I am 
>>>>>>>> missing.  I have checked that my DTB is included in the boot.bin 
>>>>>>>> output.  Any insight on what I am missing?
>>>>>>>
>>>>>>> Hello Daniel,
>>>>>>>
>>>>>>> Which defconfig are you using when building u-boot ?
>>>>>>>
>>>>>>> You are trying to load the U-boot SPL right ?
>>>>>>>
>>>>>>> It doesn't look like you even get to the point when you get to 
>>>>>>> load the
>>>>>>> u-boot proper, so maybe there are missing parts from your SPL, or 
>>>>>>> the
>>>>>>> size inside the 6th reset vector is not correctly calculated
>>>>>>>
>>>>>>> Did you try with our at91bootstrap proprietary second level 
>>>>>>> bootloader
>>>>>>> and get the same issue when booting the proper u-boot with it ?
>>>>>>>
>>>>>>> Hope this helps,
>>>>>>>
>>>>>>> Eugen
>>>>>>>
>>>>>>>>
>>>>>>>> Dan
>>>>>>>> _______________________________________________
>>>>>>>> U-Boot mailing list
>>>>>>>> U-Boot at lists.denx.de
>>>>>>>> https://lists.denx.de/listinfo/u-boot
>>>>>>>>
>>>>>>
>>>>>>
>>>>> _______________________________________________
>>>>> U-Boot mailing list
>>>>> U-Boot at lists.denx.de
>>>>> https://lists.denx.de/listinfo/u-boot
>>
>> _______________________________________________
>> U-Boot mailing list
>> U-Boot at lists.denx.de
>> https://lists.denx.de/listinfo/u-boot
>>
> 


More information about the U-Boot mailing list