]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
imx7: Update CONFIG_SPL_STACK defaults in Kconfig
authorTom Rini <trini@konsulko.com>
Thu, 26 May 2022 17:46:32 +0000 (13:46 -0400)
committerTom Rini <trini@konsulko.com>
Mon, 6 Jun 2022 16:09:28 +0000 (12:09 -0400)
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>
common/spl/Kconfig
configs/cl-som-imx7_defconfig
configs/imx7_cm_defconfig
configs/pico-dwarf-imx7d_defconfig
configs/pico-hobbit-imx7d_defconfig
configs/pico-imx7d_bl33_defconfig
configs/pico-imx7d_defconfig
configs/pico-nymph-imx7d_defconfig
configs/pico-pi-imx7d_defconfig
doc/imx/common/imx7.txt [new file with mode: 0644]
include/configs/imx7_spl.h

index 173c7e0202403253e2d2ec68f28d0527a9404387..8f3985d612f91272700c4dccd36028a83c7c4b1b 100644 (file)
@@ -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
index 67b70d9523d84f98791bd6b2f6f223130f07c95b..af7fb37afccd54ae52f633470fb8e554c5d90e47 100644 (file)
@@ -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
index 8b05ee2f6df5eb354f21d52a2182b215f920f3d1..351d47fe552e4202c9fd5b1ac64c5396091f0bec 100644 (file)
@@ -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
index e1d0e3438ddb3b63fa4e131366641b45b1ff3174..00067d2e46d962512d714465746bcaed444a622f 100644 (file)
@@ -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
index 4ccbcf90a6180bf81dcc7948e8d20a0bc1a98d26..64c2ca4b189f087e824b1fec3417f261d3669f89 100644 (file)
@@ -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
index 3d342d78186b94c8682079a33eee3cdcc71d2e69..d13336d0548c994a47269d44a237e688ccd17c26 100644 (file)
@@ -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
index df57fa13321aac0404263ce4bf3d1fd5a1bd0ef2..a6ee5cebfe26e0ac80655cc0f1036ec2fb72101d 100644 (file)
@@ -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
index e1d0e3438ddb3b63fa4e131366641b45b1ff3174..00067d2e46d962512d714465746bcaed444a622f 100644 (file)
@@ -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
index c799968944c662d4c1b3660cf347d0b8c8faf6a8..b74b2582cb957d5b63ea9b00ed0bcc6e6451df54 100644 (file)
@@ -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
diff --git a/doc/imx/common/imx7.txt b/doc/imx/common/imx7.txt
new file mode 100644 (file)
index 0000000..b9db103
--- /dev/null
@@ -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).
index 019ed5e203a9e24a3cd5d50d809995aa48e9ee93..9fe0dbdfe9762b376b40046277c93191e3febe1f 100644 (file)
 #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)