u-boot-brain/arch/arm/include/asm/arch-sunxi
Siarhei Siamashka b19236fd1c sunxi: Increase SPL header size to 64 bytes to avoid code corruption
The current SPL header, created by the 'mksunxiboot' tool, has size
32 bytes. But the code in the boot ROM stores the information about
the boot media at the offset 0x28 before passing control to the SPL.
For example, when booting from the SD card, the magic number written
by the boot ROM is 0. And when booting from the SPI flash, the magic
number is 3. NAND and eMMC probably have their own special magic
numbers too.

Currently the corrupted byte is a part of one of the instructions in
the reset vectors table:

    b     reset
    ldr   pc, _undefined_instruction
    ldr   pc, _software_interrupt      <- Corruption happens here
    ldr   pc, _prefetch_abort
    ldr   pc, _data_abort
    ldr   pc, _not_used
    ldr   pc, _irq
    ldr   pc, _fiq

In practice this does not cause any visible problems, but it's still
better to fix it. As a bonus, the reported boot media type can be
later used in the 'spl_boot_device' function, but this is out of
the scope of this patch.

Signed-off-by: Siarhei Siamashka <siarhei.siamashka@gmail.com>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
2016-05-25 17:52:39 +02:00
..
clock_sun4i.h sun6i: clock: Add support for the mipi pll 2015-08-14 08:37:39 +02:00
clock_sun6i.h sunxi: Add support for Allwinner A64 SoCs 2016-04-01 09:52:28 +02:00
clock_sun8i_a83t.h sunxi: clk: Fix USB PHY clock macros for A83T 2016-03-31 17:04:08 +02:00
clock_sun9i.h sunxi: Match sun4i, sun6i, sun9i CCI definitions for NAND and DMA 2015-05-29 13:46:36 +02:00
clock.h sunxi: Add support for Allwinner A64 SoCs 2016-04-01 09:52:28 +02:00
cpu_sun4i.h sunxi: Support SID e-fuses on A83T and H3 2016-03-23 22:04:13 +01:00
cpu_sun9i.h sunxi: rsb: Add sun9i (A80 support) 2015-02-02 13:55:14 +01:00
cpu.h sun9i: Add cpu_sun9i.h with iomem defines 2015-01-22 12:34:55 +01:00
cpucfg_sun6i.h sun6i: Add cpucfg register definitions 2014-11-13 14:49:01 +01:00
display.h sunxi: display: Fix composite video out on sun5i 2015-08-14 08:37:36 +02:00
dma_sun4i.h sunxi: Add DMA definitions 2015-05-29 13:46:36 +02:00
dma.h sunxi: Add DMA definitions 2015-05-29 13:46:36 +02:00
dram_sun4i.h sunxi: Make DRAM_ODT_EN Kconfig setting a bool 2015-05-19 18:46:44 +02:00
dram_sun6i.h sun6i: Add dram initialization code 2014-11-13 14:49:01 +01:00
dram_sun8i_a23.h sunxi: Make DRAM_ODT_EN Kconfig setting a bool 2015-05-19 18:46:44 +02:00
dram_sun8i_a33.h sunxi: Add a33 dram init code 2015-05-04 16:51:51 +02:00
dram_sun8i_a83t.h sunxi: Add support for LPDDR3 for A83T 2016-01-26 16:20:05 +01:00
dram_sun8i_h3.h sunxi: Add H3 DRAM initialization support 2015-11-22 11:31:00 +01:00
dram.h sunxi: Add support for Allwinner A83T DRAM 2015-12-10 15:45:47 +01:00
gpio.h sunxi: Add support for Allwinner A64 SoCs 2016-04-01 09:52:28 +02:00
i2c.h sunxi: Add support for the I2C controller which is part of the PRCM 2016-01-21 07:30:01 +01:00
mmc.h sunxi: Create helper function veryfing valid boot signature on MMC 2015-07-24 16:17:08 +02:00
p2wi.h sun6i: Add new p2wi controller driver 2014-11-13 14:49:01 +01:00
pmic_bus.h sunxi: axp: Move axp pmic register helpers to a separate file 2015-05-04 16:51:53 +02:00
prcm.h sunxi: Add support for the I2C controller which is part of the PRCM 2016-01-21 07:30:01 +01:00
rsb.h sunxi: rsb: Move rsb_set_device_mode() call to rsb_init() 2015-02-02 13:55:14 +01:00
spl.h sunxi: Increase SPL header size to 64 bytes to avoid code corruption 2016-05-25 17:52:39 +02:00
sys_proto.h sunxi: Fix gmac not working due to cpu_eth_init no longer being called 2016-03-23 22:04:13 +01:00
timer.h sunxi: Introduce a hidden SUNXI_GEN_SUNxI Kconfig bool 2015-05-04 16:51:51 +02:00
tzpc.h sunxi: Support Secure Memory Touch Arbiter (SMTA) in sun8i H3 2016-01-26 16:20:04 +01:00
usb_phy.h sunxi: usb-phy: Never power off the usb ports 2015-08-08 16:26:19 +02:00
watchdog.h sunxi: Use CONFIG_MACH_SUN?I from Kconfig instead of CONFIG_SUN?I 2014-11-05 13:09:58 +01:00