[U-Boot] boot.bin on SD Card for SAMA5D3 Xplained

Derald D. Woods woods.technical at gmail.com
Sat Dec 8 02:37:48 UTC 2018


On Thu, Dec 06, 2018 at 08:02:19AM +0000, Eugen.Hristev at microchip.com wrote:
> 
> 
> On 05.12.2018 22:38, Robert Nelson wrote:
> > On Wed, Dec 5, 2018 at 8:37 AM <Eugen.Hristev at microchip.com> wrote:
> >>
> >>
> >>
> >> On 05.12.2018 02:15, Daniel Evans wrote:
> >>> Trying to get uboot SPL boot.bin to run on an SD card for the sama5d3 xplained board.  All I get is RomBOOT and no other messages.  I have tried throwing in a couple test pins to toggle in board_early_init_f but still not getting any debug.  I can get at91bootstrap to produce a boot.bin that works on the sama5d3 xplained so I am assuming I don’t have a bad board.  My boot partition is FAT16.  To compile I just run the following on Debian Buster :
> >>>
> >>> make mrproper
> >>> make sama5d3_xplained_mmc_defconfig
> >>> make
> >>>
> >>> Cross Compiler is gcc-linaro-6.4.1-2018.05-x86_64_arm-linux-gnueabihf
> >>>
> >>> When finished compiling I just copy the boot.bin to my BOOT partition.
> >>>
> >>> Has to be something obvious that I am missing.  Any insight is appreciated…
> >>
> >> Hello,
> >>
> >> Check the datasheet for sama5d3 SoC section 11.4.3. - Valid code
> >> detection (my datasheet is dated 2 Feb 2016 if it helps)
> >>
> >> Basically the vector 6 needs to have hardcoded the binary size. Are you
> >> doing that ? Otherwise the RomBOOT code will consider your binary as faulty.
> >>
> >> PS. make sure endianess is right, use a good hexeditor...
> >>
> >> Hope this helps,
> >> Eugen
> > 
> > Okay, just finished my git bisect, this turned out to be a miss-placed
> > #endif when Wenyou did the "configs: at91: Remove
> > CONFIG_SYS_EXTRA_OPTIONS assignment" patch:
> > 
> > https://github.com/u-boot/u-boot/commit/5541543f686b43210fb92181003ff7175d4ab036#diff-651b6ffe22be4df459343a0d6d25154e
> 
> Interesting find, is this wrongly done for all the boards in the commit 
> or just sama5d3_xplained ?
> 
> Feel free to submit a patch if this fixes the issue, and we will review it.
> 
> Thanks !
> 

Would this be an acceptable alternative?

---8<-------------------------------------------------------------------
--- a/scripts/Makefile.spl
+++ b/scripts/Makefile.spl
@@ -166,10 +166,12 @@ ifeq ($(CONFIG_SYS_SOC),"at91")
 MKIMAGEFLAGS_boot.bin = -T atmelimage
 
 ifeq ($(CONFIG_SPL_GENERATE_ATMEL_PMECC_HEADER),y)
+ifneq ($(CONFIG_SD_BOOT),y)
 MKIMAGEFLAGS_boot.bin += -n $(shell $(obj)/../tools/atmel_pmecc_params)
 
 boot.bin: $(obj)/../tools/atmel_pmecc_params
 endif
+endif
 
 boot.bin: $(obj)/u-boot-spl.bin FORCE
        $(call if_changed,mkimage)
---8<-------------------------------------------------------------------

It guards the modification of 'boot.bin' at the build location. Also, as
Kconfig items are cleaned-up, the guard will still hold.

I can submit a proper patch, if this is reasonable.

Derald

> 
> > 
> > => RomBOOT
> > <debug_uart>
> > U-Boot spl 2019.01-rc1-00021-g2e2a2a5d4f-dirty (Dec 05 2018 - 14:30:22 -0600)
> > Trying to boot from MMC1
> > <debug_uart>
> > 
> > U-Boot 2019.01-rc1-00021-g2e2a2a5d4f-dirty (Dec 05 2018 - 14:30:22 -0600)
> > 
> > <snip>
> > 
> > diff --git a/include/configs/sama5d3_xplained.h
> > b/include/configs/sama5d3_xplained.h
> > index d0d8087ca3..f87713319d 100644
> > --- a/include/configs/sama5d3_xplained.h
> > +++ b/include/configs/sama5d3_xplained.h
> > @@ -80,7 +80,6 @@
> >   #elif CONFIG_NAND_BOOT
> >   #define CONFIG_SPL_NAND_DRIVERS
> >   #define CONFIG_SPL_NAND_BASE
> > -#endif
> >   #define CONFIG_SYS_NAND_U_BOOT_OFFS    0x40000
> >   #define CONFIG_SYS_NAND_5_ADDR_CYCLE
> >   #define CONFIG_SYS_NAND_PAGE_SIZE      0x800
> > @@ -91,3 +90,5 @@
> >   #define CONFIG_SPL_GENERATE_ATMEL_PMECC_HEADER
> > 
> >   #endif
> > +
> > +#endif
> > 
> > Before:
> > #ifdef CONFIG_SYS_USE_MMC
> > #define CONFIG_SYS_MMCSD_FS_BOOT_PARTITION 1
> > #define CONFIG_SPL_FS_LOAD_PAYLOAD_NAME "u-boot.img"
> > 
> > #elif CONFIG_SYS_USE_NANDFLASH
> > #define CONFIG_SPL_NAND_DRIVERS
> > #define CONFIG_SPL_NAND_BASE
> > #define CONFIG_SYS_NAND_U_BOOT_OFFS 0x40000
> > #define CONFIG_SYS_NAND_5_ADDR_CYCLE
> > #define CONFIG_SYS_NAND_PAGE_SIZE 0x800
> > #define CONFIG_SYS_NAND_PAGE_COUNT 64
> > #define CONFIG_SYS_NAND_OOBSIZE 64
> > #define CONFIG_SYS_NAND_BLOCK_SIZE 0x20000
> > #define CONFIG_SYS_NAND_BAD_BLOCK_POS 0x0
> > #define CONFIG_SPL_GENERATE_ATMEL_PMECC_HEADER
> > 
> > #endif
> > 
> > After:
> > #ifdef CONFIG_SD_BOOT
> > #define CONFIG_SYS_MMCSD_FS_BOOT_PARTITION 1
> > #define CONFIG_SPL_FS_LOAD_PAYLOAD_NAME "u-boot.img"
> > 
> > #elif CONFIG_NAND_BOOT
> > #define CONFIG_SPL_NAND_DRIVERS
> > #define CONFIG_SPL_NAND_BASE
> > #endif
> > <------------------------------------------------- WHY HERE????
> > #define CONFIG_SYS_NAND_U_BOOT_OFFS 0x40000
> > #define CONFIG_SYS_NAND_5_ADDR_CYCLE
> > #define CONFIG_SYS_NAND_PAGE_SIZE 0x800
> > #define CONFIG_SYS_NAND_PAGE_COUNT 64
> > #define CONFIG_SYS_NAND_OOBSIZE 64
> > #define CONFIG_SYS_NAND_BLOCK_SIZE 0x20000
> > #define CONFIG_SYS_NAND_BAD_BLOCK_POS 0x0
> > #define CONFIG_SPL_GENERATE_ATMEL_PMECC_HEADER
> > 
> > #endif
> > 
> > Regards,
> > 
> _______________________________________________
> 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