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

Ben Whitten ben.whitten at gmail.com
Sun Jan 20 15:23:06 UTC 2019


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

> 
> 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