u-boot/arch/arm
Lukasz Majewski 014315b2d8 spl: Provide more space to be used for storing SPL on imx28 OCRAM
With the current configuration provided in mxsimage{-spl}.mx28.cfg the
size of SPL binary has been constrained to 32 KiB, due to "LOAD IVT"
command with 0x8000 offset.

The problem was that, the imx28 ROM takes the u-boot.sb and then
extracts from it the IVT header and places it on the 0x8000 OCRAM offset
overwriting any valid (i.e. loaded from eMMC or SPI-NOR) SPL code. This
bug was unnoticed as the overwrite size was just 32 bytes, so the
probability that some important code is altered was low.

However, in the XEA board (where the SPL size is ~39KiB), the overwritten
data was `(struct dm_spi_ops *) 0x800c <mxs_spi_ops>`, which is used
during the boot process.

As a result the SPL execution code hanged with "undefined instruction"
abort as callbacks (with wrong addresses) from it were called.

The fix is to change the OCRAM's offset where IVT is loaded to 0xE000,
so the SPL can grow up to ~57KiB (the maximal size of OCRAM memory
available is 0xE3FC).

Signed-off-by: Lukasz Majewski <lukma@denx.de>
2022-02-05 13:38:39 +01:00
..
cpu spl: Provide more space to be used for storing SPL on imx28 OCRAM 2022-02-05 13:38:39 +01:00
dts ARM: dts: imx6ull: Use the correct name for ESAI_TX0 2022-02-05 13:38:39 +01:00
include imx8ulp: clock: Handle the DDRLOCKED when setting DDR clock 2022-02-05 13:38:39 +01:00
lib efi_loader: fix SectionAlignment, FileAlignment 2022-01-15 10:57:22 +01:00
mach-apple arm: apple: Use watchdog timer for system reset 2022-01-13 06:55:46 +01:00
mach-aspeed ast2600: spl: Locate load buffer in DRAM space 2021-11-17 17:05:00 -05:00
mach-at91 Convert CONFIG_AT91_EFLASH to Kconfig 2022-01-21 14:01:35 -05:00
mach-bcm283x doc: replace @return by Return: 2022-01-19 18:11:34 +01:00
mach-bcmstb
mach-cortina
mach-davinci Finish conversion of CONFIG_SYS_CLK_FREQ to Kconfig 2021-12-27 16:20:18 -05:00
mach-exynos Pull request doc-2022-04-rc1 2022-01-20 09:39:45 -05:00
mach-highbank
mach-imx mx6: Use imx6_src_get_boot_mode() to check boot device 2022-02-05 13:38:39 +01:00
mach-integrator
mach-ipq40xx
mach-k3 mach-k3: am64_spl: Alias Ethernet RGMII boot to CPGMAC 2022-01-15 10:38:26 -05:00
mach-keystone arch/arm/mach-keystone/ddr3.c: Fix spelling of "resetting". 2022-01-13 07:57:50 -05:00
mach-kirkwood arm: kirkwood: Pogoplug-V4 : Add Kconfig files 2022-01-31 10:23:37 +01:00
mach-lpc32xx
mach-mediatek arm: mediatek: merge board Kconfigs into mach-mediatek 2021-09-23 14:15:32 -04:00
mach-meson ARM: amlogic: add sm efuse write support and cmd for read/write efuse 2021-10-29 14:06:45 +02:00
mach-mvebu arm: mvebu: spl: Fix 100 column exceeds 2022-01-20 11:35:29 +01:00
mach-nexell Convert CONFIG_CONS_INDEX et al to Kconfig 2021-12-27 08:41:38 -05:00
mach-octeontx Convert CONFIG_SYS_PCI_64BIT to Kconfig 2021-12-27 16:20:17 -05:00
mach-octeontx2 Convert CONFIG_SYS_PCI_64BIT to Kconfig 2021-12-27 16:20:17 -05:00
mach-omap2 WS cleanup: remove SPACE(s) followed by TAB 2021-09-30 09:08:16 -04:00
mach-orion5x Convert CONFIG_88F5182 et al to Kconfig 2021-12-27 16:20:19 -05:00
mach-owl
mach-qemu
mach-rmobile ARM: rmobile: beacon: Enable reference clocks for USB and AVB 2021-10-29 21:52:20 +02:00
mach-rockchip - disable CONFIG_NET_RANDOM_ETHADDR when unnecessary on amlogic based configs 2022-01-09 07:56:31 -05:00
mach-s5pc1xx doc: replace @return by Return: 2022-01-19 18:11:34 +01:00
mach-snapdragon board: samsung: add Samsung Galaxy S9/S9+(SM-G96x0) board 2021-10-31 11:25:38 -04:00
mach-socfpga arm: socfpga: arria10: Enable double peripheral RBF configuration 2021-12-17 12:58:01 +08:00
mach-sti
mach-stm32 serial: Rename SERIAL_SUPPORT to SERIAL 2021-09-04 12:26:01 -04:00
mach-stm32mp configs: stm32mp15: Enable OF_BOARD flag 2022-01-24 11:03:21 +01:00
mach-sunxi mach-sunxi: Add support for SUNIV architecture 2022-02-04 00:09:57 +00:00
mach-tegra Merge https://source.denx.de/u-boot/custodians/u-boot-marvell 2022-01-20 12:40:20 -05:00
mach-u8500 board: stemmy: Update documentation 2021-09-01 19:25:37 -04:00
mach-uniphier mmc: Rename MMC_SUPPORT to MMC 2021-09-04 11:42:41 -04:00
mach-versal arm: Migrate GICV2 / GICV3 to Kconfig 2021-08-30 14:13:26 -04:00
mach-versatile WS cleanup: remove trailing empty lines 2021-09-30 08:08:56 -04:00
mach-zynq spi: Rename SPI_SUPPORT to SPI 2021-09-04 12:26:02 -04:00
mach-zynqmp arm64: zynqmp: allow overriding board name 2021-10-21 08:51:00 +02:00
mach-zynqmp-r5 Convert CONFIG_CPU_FREQ_HZ to Kconfig 2021-12-27 16:20:19 -05:00
thumb1/include/asm/proc-armv
config.mk ARM: Prevent the compiler from using NEON registers 2021-09-02 11:19:58 -04:00
Kconfig sunxi: move Cortex SMPEN setting into start.S 2022-02-04 00:09:36 +00:00
Kconfig.debug
Makefile arm: apple: Add initial support for Apple's M1 SoC 2021-10-31 08:46:44 -04:00