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

Daniel Evans photonthunder at gmail.com
Thu Jan 17 18:38:00 UTC 2019


So I did a fresh clone of Uboot and got the same result:
RomBOOT
<debug_uart> Missing DTB
### ERROR ### Please RESET the board ###

To create the boot.bin I ran the following:
make mrproper
make sama5d3_xplained_nandflash_defconfig

I would then use an SD card to boot linux and then copy the boot.bin and other files with flash_erase and hand_write:

flash_erase /dev/mtd0 0 0
nandwrite -p /dev/mtd0 boot.bin

And here is the size of mtd0:
dev:    size   erasesize  name
mtd0: 00040000 00020000 “uboot_spl"

And you can see in the boot.bin file the following hex values:

0000000 2405 c090 2405 c090 2405 c090 2405 c090
*
00000d0 000f ea00 f014 e59f f014 e59f f014 e59f
00000e0 f014 e59f c51e 0000 f014 e59f f014 e59f


Which does correspond to the size once you remove the 208 header bytes.:
-rw-r--r-- 1 nelson nelson 50670 Jan 17 11:15 boot.bin

And it does appear to include the DTB since boot.bin without the nandheader (tail -C+209) is identical to spl/u-boot-spl.bin (except for the 6th vector), which is identical to spl/u-boot-spl-dtb.bin.  

Can you get it to work?

For completeness my cross compiler is gcc-linaro-7.3.1-2018.05-x86_64_arm-linux-gnueabihf

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



More information about the U-Boot mailing list