On 8/6/20 3:50 AM, Tan, Ley Foon wrote: Hi,
>>>>>>> diff --git a/Makefile b/Makefile >>>>>>> index 2629a74..13429a0 100644 >>>>>>> --- a/Makefile >>>>>>> +++ b/Makefile >>>>>>> @@ -1578,8 +1578,9 @@ u-boot.spr: spl/u-boot-spl.img u-boot.img >>>>>> FORCE >>>>>>> ifneq ($(CONFIG_ARCH_SOCFPGA),) quiet_cmd_socboot = SOCBOOT >>>> $@ >>>>>>> cmd_socboot = cat spl/u-boot-spl.sfp spl/u-boot-spl.sfp \ >>>>>>> - spl/u-boot-spl.sfp spl/u-boot-spl.sfp \ >>>>>>> - u-boot.img > $@ || rm -f $@ >>>>>>> + spl/u-boot-spl.sfp \ >>>>>>> + spl/u-boot-spl.sfp > spl/u-boot-splx4.sfp ; \ >>>>>>> + cat spl/u-boot-splx4.sfp u-boot.img > $@ || rm -f $@ >>>>>> >>>>>> Isn't that what the existing code does already ? >>>>>> >>>>>> Also, this will I think fail on 128k erase block size NAND due to >>>>>> missing padding. >>>>> This is to generate an output file (spl/u-boot-splx4.sfp) with 4 SPL >>>>> images, >>>> each SPL image size is 256KB. >>>>> So, spl/u-boot-splx4.sfp is always with 1MB size (4x256KB). >>>>> Shouldn't have >>>> problem for 128KB erase size NAND. >>>> >>>> Isn't the SPL padded to 64 kiB each ? >>> Cyclone 5 and Arria 10 have different size. >>> >>> Cyclone 5 SPL: 64KB each, spl/u-boot-splx4.sfp is 256KB >>> >>> Arria 10 SPL: 256KB each, spl/u-boot-splx4.sfp is 1MB >> >> So are you sure this will work on NAND with 128 kiB erase blocks on CV/AV ? >> I think you will run into problems with padding there. But maybe we don't >> support that anyway, so add a comment and be done with it. > If the erase block size is 128KB and we program the spl/u-boot-splx4.sfp with > 256KB for Cyclone5. It consumes 2 erase block size, why do you think it will > have problem? See "Figure A-7: NAND Flash Image Layout for 128 KB Memory Blocks" in Cyclone V datasheet, appending A. > By the way, tested spl/u-boot-splx4.sfp on Arria 10 NAND with 128KB erase > block size, it is working. Isn't that only because it picks the first SPL copy and it accidentally works fine ? Try to write in an image with SPL 0,2,3 corrupted and only SPL 1 valid , then it wont boot I think.