Hi, On 07/19/2018 01:37 PM, Marcin Niestroj wrote: > ERR011115 in IMX6UL errata says to use OCRAM memory above > 0x908000 (instead of 0x907000) for silicon revision 1.2 shipped > prior date code 1740. > > As we cannot check affected targets in runtime, apply that > workaround by default for all IMX6UL platforms. Leave possibility > to disable that workaround for non-affected targets, so more OCRAM > area can be used by SPL (e.g. for featureful SPL images). > > Signed-off-by: Marcin Niestroj <m.niest...@grinn-global.com> > --- > arch/arm/mach-imx/mx6/Kconfig | 9 +++++++++ > include/configs/imx6_spl.h | 11 +++++++++-- > 2 files changed, 18 insertions(+), 2 deletions(-) > > diff --git a/arch/arm/mach-imx/mx6/Kconfig b/arch/arm/mach-imx/mx6/Kconfig > index 521fad74b5..61708a0526 100644 > --- a/arch/arm/mach-imx/mx6/Kconfig > +++ b/arch/arm/mach-imx/mx6/Kconfig > @@ -58,6 +58,15 @@ config MX6UL > select SYSCOUNTER_TIMER > bool > > +config MX6UL_ERR011115 > + bool "Workaround for ERR011115 in IMX6UL Errata" > + depends on MX6UL > + default MX6UL > + help > + Say N here if you are sure that your platform is not affected > + with ERR011115. Doing so might be useful in case of featureful > + (big) SPL images. > + > config MX6UL_LITESOM > bool > select MX6UL > diff --git a/include/configs/imx6_spl.h b/include/configs/imx6_spl.h > index 720ff045a7..42d12c7503 100644 > --- a/include/configs/imx6_spl.h > +++ b/include/configs/imx6_spl.h > @@ -19,16 +19,23 @@ > * which consists of a 4K header in front of us that contains the IVT, DCD > * and some padding thus 'our' max size is really 0x00908000 - 0x00918000 > * or 64KB > + * - Use 0x00909000 as start of OCRAM Free Area as a workaround for > + * ERR011115 in IMX6UL Errata > */ > +#ifdef CONFIG_MX6UL_ERR011115 > +#define CONFIG_SPL_TEXT_BASE 0x00909000 > +#else > #define CONFIG_SPL_TEXT_BASE 0x00908000 > -#define CONFIG_SPL_MAX_SIZE 0x10000 > +#endif > + > +#define CONFIG_SPL_MAX_SIZE (0x00918000 - CONFIG_SPL_TEXT_BASE) > #define CONFIG_SPL_STACK 0x0091FFB8 > /* > * Pad SPL to 68KB (4KB header + 64KB max size). This allows to write the > * SPL/U-Boot combination generated with u-boot-with-spl.imx directly to a > * boot media (given that boot media specific offset is configured properly). > */ > -#define CONFIG_SPL_PAD_TO 0x11000 > +#define CONFIG_SPL_PAD_TO (CONFIG_SPL_MAX_SIZE + 0x1000)
I got the following error when building the u-boot-with-spl.imx file: /home/sszy/development/armadeus-git-opos6ul/buildroot/output/host/usr/bin/arm-linux-gnueabihf-objcopy: --pad-to: bad number: (CONFIG_SPL_MAX_SIZE + 0x1000) Anyway, this is wrong and will break the u-boot-with-spl.imx for MMC/SD boot device. The default offset for the U-Boot image on MMC/SD boot device is 69KB (see SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR) so I think CONFIG_SPL_PAD_TO should always be 0x11000 (== 68KB). Regards, > > /* MMC support */ > #if defined(CONFIG_SPL_MMC_SUPPORT) > -- Sébastien Szymanski Software engineer, Armadeus Systems Tel: +33 (0)9 72 29 41 44 Fax: +33 (0)9 72 28 79 26 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot