imx7: Update CONFIG_SPL_STACK defaults in Kconfig
Update the Kconfig entry to have the correct defaults for i.MX7 platforms, and move the existing large comment from imx7_spl.h to doc/imx/common/imx7.txt so that it's not lost. Signed-off-by: Tom Rini <trini@konsulko.com>
This commit is contained in:
parent
23780398b5
commit
8b83b53a8d
@ -360,7 +360,7 @@ config TPL_SYS_MALLOC_SIMPLE
|
||||
config SPL_SHARES_INIT_SP_ADDR
|
||||
bool "SPL and U-Boot use the same initial stack pointer location"
|
||||
depends on (ARM || ARCH_JZ47XX || MICROBLAZE || RISCV) && SPL_FRAMEWORK
|
||||
default n if ARCH_SUNXI || ARCH_MX6
|
||||
default n if ARCH_SUNXI || ARCH_MX6 || ARCH_MX7
|
||||
default y
|
||||
help
|
||||
In many cases, we can use the same initial stack pointer address for
|
||||
@ -371,6 +371,7 @@ config SPL_STACK
|
||||
hex "Initial stack pointer location"
|
||||
depends on (ARM || ARCH_JZ47XX || MICROBLAZE || RISCV) && SPL_FRAMEWORK
|
||||
depends on !SPL_SHARES_INIT_SP_ADDR
|
||||
default 0x946bb8 if ARCH_MX7
|
||||
default 0x93ffb8 if ARCH_MX6 && MX6_OCRAM_256KB
|
||||
default 0x91ffb8 if ARCH_MX6 && !MX6_OCRAM_256KB
|
||||
help
|
||||
|
@ -28,8 +28,6 @@ CONFIG_BOARD_LATE_INIT=y
|
||||
CONFIG_SPL_MAX_SIZE=0xe000
|
||||
CONFIG_SPL_BSS_MAX_SIZE=0x100000
|
||||
CONFIG_SPL_BOARD_INIT=y
|
||||
# CONFIG_SPL_SHARES_INIT_SP_ADDR is not set
|
||||
CONFIG_SPL_STACK=0x946bb8
|
||||
CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR=0x80
|
||||
CONFIG_SPL_I2C=y
|
||||
CONFIG_SPL_SPI_LOAD=y
|
||||
|
@ -26,8 +26,6 @@ CONFIG_DEFAULT_FDT_FILE="ask"
|
||||
# CONFIG_BOARD_EARLY_INIT_F is not set
|
||||
CONFIG_SPL_MAX_SIZE=0xe000
|
||||
CONFIG_SPL_BSS_MAX_SIZE=0x100000
|
||||
# CONFIG_SPL_SHARES_INIT_SP_ADDR is not set
|
||||
CONFIG_SPL_STACK=0x946bb8
|
||||
CONFIG_SPL_I2C=y
|
||||
CONFIG_SPL_USB_HOST=y
|
||||
CONFIG_SPL_USB_GADGET=y
|
||||
|
@ -27,8 +27,6 @@ CONFIG_BOOTCOMMAND="run findfdt; run finduuid; run distro_bootcmd"
|
||||
CONFIG_DEFAULT_FDT_FILE="imx7d-pico-dwarf.dtb"
|
||||
CONFIG_SPL_MAX_SIZE=0xe000
|
||||
CONFIG_SPL_BSS_MAX_SIZE=0x100000
|
||||
# CONFIG_SPL_SHARES_INIT_SP_ADDR is not set
|
||||
CONFIG_SPL_STACK=0x946bb8
|
||||
CONFIG_SPL_I2C=y
|
||||
CONFIG_SPL_USB_HOST=y
|
||||
CONFIG_SPL_USB_GADGET=y
|
||||
|
@ -27,8 +27,6 @@ CONFIG_BOOTCOMMAND="run findfdt; run finduuid; run distro_bootcmd"
|
||||
CONFIG_DEFAULT_FDT_FILE="imx7d-pico-hobbit.dtb"
|
||||
CONFIG_SPL_MAX_SIZE=0xe000
|
||||
CONFIG_SPL_BSS_MAX_SIZE=0x100000
|
||||
# CONFIG_SPL_SHARES_INIT_SP_ADDR is not set
|
||||
CONFIG_SPL_STACK=0x946bb8
|
||||
CONFIG_SPL_I2C=y
|
||||
CONFIG_SPL_USB_HOST=y
|
||||
CONFIG_SPL_USB_GADGET=y
|
||||
|
@ -28,8 +28,6 @@ CONFIG_USE_BOOTCOMMAND=y
|
||||
CONFIG_BOOTCOMMAND="run distro_bootcmd"
|
||||
CONFIG_SPL_MAX_SIZE=0xe000
|
||||
CONFIG_SPL_BSS_MAX_SIZE=0x100000
|
||||
# CONFIG_SPL_SHARES_INIT_SP_ADDR is not set
|
||||
CONFIG_SPL_STACK=0x946bb8
|
||||
CONFIG_SPL_I2C=y
|
||||
CONFIG_SPL_USB_HOST=y
|
||||
CONFIG_SPL_USB_GADGET=y
|
||||
|
@ -27,8 +27,6 @@ CONFIG_BOOTCOMMAND="run findfdt; run finduuid; run distro_bootcmd"
|
||||
CONFIG_DEFAULT_FDT_FILE="ask"
|
||||
CONFIG_SPL_MAX_SIZE=0xe000
|
||||
CONFIG_SPL_BSS_MAX_SIZE=0x100000
|
||||
# CONFIG_SPL_SHARES_INIT_SP_ADDR is not set
|
||||
CONFIG_SPL_STACK=0x946bb8
|
||||
CONFIG_SPL_I2C=y
|
||||
CONFIG_SPL_USB_HOST=y
|
||||
CONFIG_SPL_USB_GADGET=y
|
||||
|
@ -27,8 +27,6 @@ CONFIG_BOOTCOMMAND="run findfdt; run finduuid; run distro_bootcmd"
|
||||
CONFIG_DEFAULT_FDT_FILE="imx7d-pico-dwarf.dtb"
|
||||
CONFIG_SPL_MAX_SIZE=0xe000
|
||||
CONFIG_SPL_BSS_MAX_SIZE=0x100000
|
||||
# CONFIG_SPL_SHARES_INIT_SP_ADDR is not set
|
||||
CONFIG_SPL_STACK=0x946bb8
|
||||
CONFIG_SPL_I2C=y
|
||||
CONFIG_SPL_USB_HOST=y
|
||||
CONFIG_SPL_USB_GADGET=y
|
||||
|
@ -27,8 +27,6 @@ CONFIG_BOOTCOMMAND="run findfdt; run finduuid; run distro_bootcmd"
|
||||
CONFIG_DEFAULT_FDT_FILE="imx7d-pico-pi.dtb"
|
||||
CONFIG_SPL_MAX_SIZE=0xe000
|
||||
CONFIG_SPL_BSS_MAX_SIZE=0x100000
|
||||
# CONFIG_SPL_SHARES_INIT_SP_ADDR is not set
|
||||
CONFIG_SPL_STACK=0x946bb8
|
||||
CONFIG_SPL_I2C=y
|
||||
CONFIG_SPL_USB_HOST=y
|
||||
CONFIG_SPL_USB_GADGET=y
|
||||
|
23
doc/imx/common/imx7.txt
Normal file
23
doc/imx/common/imx7.txt
Normal file
@ -0,0 +1,23 @@
|
||||
U-Boot for Freescale i.MX7
|
||||
|
||||
SPL Stack size and location notes
|
||||
---------------------------------
|
||||
See figure 6-22 in i.MX 7Dual/Solo Reference manuals:
|
||||
- IMX7D/S OCRAM free area RAM (OCRAM) is from 0x00910000 to
|
||||
0x00946C00.
|
||||
- Set the stack at the end of the free area section, at 0x00946BB8.
|
||||
- The BOOT ROM loads what they consider the firmware image
|
||||
which consists of a 4K header in front of us that contains the IVT, DCD
|
||||
and some padding. However, the manual also states that the ROM uses the
|
||||
OCRAM_EPCD and OCRAM_PXP areas for itself. While the SPL is free to use
|
||||
this range for stack and malloc, the SPL itself must fit below 0x920000,
|
||||
or the image will be truncated in at least some boot modes like USB SDP.
|
||||
Thus our max size is really 0x00920000 - 0x00912000. If necessary,
|
||||
CONFIG_SPL_TEXT_BASE could be moved to 0x00911000 to gain 4KB of space
|
||||
for the SPL, but 56KB should be more than enough for the SPL.
|
||||
- Pad SPL to 68KB (4KB header + 56KB max size + 8KB extra padding)
|
||||
The extra padding could be removed, but this value was used historically
|
||||
based on an incorrect CONFIG_SPL_MAX_SIZE definition.
|
||||
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).
|
@ -11,29 +11,6 @@
|
||||
#define __IMX7_SPL_CONFIG_H
|
||||
|
||||
#ifdef CONFIG_SPL
|
||||
/*
|
||||
* see figure 6-22 in i.MX 7Dual/Solo Reference manuals:
|
||||
* - IMX7D/S OCRAM free area RAM (OCRAM) is from 0x00910000 to
|
||||
* 0x00946C00.
|
||||
* - Set the stack at the end of the free area section, at 0x00946BB8.
|
||||
* - The BOOT ROM loads what they consider the firmware image
|
||||
* which consists of a 4K header in front of us that contains the IVT, DCD
|
||||
* and some padding. However, the manual also states that the ROM uses the
|
||||
* OCRAM_EPCD and OCRAM_PXP areas for itself. While the SPL is free to use
|
||||
* this range for stack and malloc, the SPL itself must fit below 0x920000,
|
||||
* or the image will be truncated in at least some boot modes like USB SDP.
|
||||
* Thus our max size is really 0x00920000 - 0x00912000. If necessary,
|
||||
* CONFIG_SPL_TEXT_BASE could be moved to 0x00911000 to gain 4KB of space
|
||||
* for the SPL, but 56KB should be more than enough for the SPL.
|
||||
*/
|
||||
/*
|
||||
* Pad SPL to 68KB (4KB header + 56KB max size + 8KB extra padding)
|
||||
* The extra padding could be removed, but this value was used historically
|
||||
* based on an incorrect CONFIG_SPL_MAX_SIZE definition.
|
||||
* 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).
|
||||
*/
|
||||
|
||||
/* MMC support */
|
||||
#if defined(CONFIG_SPL_MMC)
|
||||
|
Loading…
Reference in New Issue
Block a user