On 11/15/2016 06:42 PM, Stefan Agner wrote: > On 2016-11-15 08:12, Tom Rini wrote: >> On Tue, Nov 15, 2016 at 09:59:22AM +0000, Max Krummenacher wrote: >>> Hi Stefan >>> >>> On Mon, 2016-11-14 at 18:06 -0800, Stefan Agner wrote: >>>> From: Stefan Agner <[email protected]> >>>> >>>> When building SPL with eMMC boot support, specify standard padding >>>> for payload to match the load sector during boot. This allows to >>>> use the u-boot-with-spl.imx build target to generate a direcly >>>> flashable image which can be flashed using: >>>> >>>> dd if=u-boot-with-spl.imx of=/dev/mmcblk0 bs=512 skip=2 >>>> >>>> Signed-off-by: Stefan Agner <[email protected]> >>>> >>>> --- >>>> >>>> include/configs/imx6_spl.h | 6 ++++++ >>>> 1 file changed, 6 insertions(+) >>>> >>>> diff --git a/include/configs/imx6_spl.h b/include/configs/imx6_spl.h >>>> index 76d1ca0..ca3ed19 100644 >>>> --- a/include/configs/imx6_spl.h >>>> +++ b/include/configs/imx6_spl.h >>>> @@ -42,6 +42,12 @@ >>>> #define CONFIG_SYS_MMCSD_FS_BOOT_PARTITION 1 >>>> #define >>>> CONFIG_SYS_MONITOR_LEN (CONFIG_SYS_U_BOOT_MAX_SIZE_SECTORS/2*1024) >>>> #define CONFIG_SPL_ABORT_ON_RAW_IMAGE >>>> +/* >>>> + * SPL starts at 1KB (ROM offset), hence we need to pad SPL up to >>>> 68KB so >>>> + * that payload (U-Boot) will be at 69KB (sector 138) on the eMMC/SD >>>> card. >>>> + * Required for targets such as u-boot-with-spl.imx. >>>> + */ >>>> +#define CONFIG_SPL_PAD_TO 0x11000 >>>> #endif >>>> >>>> /* SATA support */ >>> >>> This has been brought up already: >>> https://www.mail-archive.com/[email protected]/msg228246.html >>> I agreed with Marek that this might disrupt other boot sources >>> (NOR/SPI/ ...) which may or may not decide to use another offset >>> between SPL and U-Boot. >>> Thus it is advisable to move that define to the individual board >>> configuration where one knows for what boot device one wants to >>> use the combined u-boot-with-spl.imx binary. >> >> I'm going to have to disagree with Marek here then. Looking over the >> explanation in include/configs/imx6_spl.h we have: >> 1KiB up front "wasted" for a partition table >> 4KiB up next for the ROM-mandated header >> 64KiB for SPL itself, which is our max size, unconditionally set above >> this bit of context. But it is the lowest common denominator in terms >> of IRAM size in the families. >> >> Which brings us to the SPL_PAD_TO above, 68KiB. We cannot go lower than >> this. No one is changing any of this either today nor setting >> SPL_PAD_TO so >> u-boot-with-spl.imx isn't usable today. None of this breaks using >> separate files. > > I agree here, the pad seems pretty natural and should be usable across > boot devices. In fact, it probably should not be inside > CONFIG_SPL_MMC_SUPPORT, but at the top along with CONFIG_SPL_MAX_SIZE. > > So far, include/config_fallbacks.h defined SPL_PAD_TO to 64KiB, which > renders u-boot-with-spl.imx unusable for SD/eMMC boot. Other boot > devices probably know a similar define (CONFIG_SYS_NAND_U_BOOT_OFFS). > Judging from existing board files it does not seem that anybody relied > on that 64kB padding so far... I guess if a board with a different boot > device wants to make use of u-boot-with-spl.imx, then it should make > sure that the offset is set correctly in its board file (e.g. using > #define CONFIG_SYS_NAND_U_BOOT_OFFS SPL_PAD_TO). > > Marek?
I'm fine with it, esp. now that the other boot media are checked. Thanks -- Best regards, Marek Vasut _______________________________________________ U-Boot mailing list [email protected] http://lists.denx.de/mailman/listinfo/u-boot

