[PATCH V4 01/49] spl: imx8mm: enlarge SPL_MAX_SIZE

Peng Fan peng.fan at oss.nxp.com
Wed Jul 6 01:52:33 CEST 2022



On 7/5/2022 2:50 PM, Frieder Schrempf wrote:
> Am 05.07.22 um 08:05 schrieb Peng Fan (OSS):
>> From: Peng Fan <peng.fan at nxp.com>
>>
>> The CONFIG_SPL_MAX_SIZE could be 0x27000 for i.MX8MM when SPL_TEXT_BASE
>> set to 0x7E1000.
>>
>> Signed-off-by: Peng Fan <peng.fan at nxp.com>
> 
> I wonder if there is any more explanation for the maximum size that can
> be used. According to the RM, the TCML and TCMU area has a total size of
> 256 KB. But it seems only 156 KB is usable for the SPL!?

Without binman to pack ddr firmware, ddr firmware will take 96KB
so 4KB + 156KB + 96KB = 256KB. With binman enabled in the future,
SPL_MAX_SIZE could be larger. With ddr firmware runtime on demand
loading ,it will larger!!

Regards,
Peng.

> 
> Nevertheless:
> 
> Acked-by: Frieder Schrempf <frieder.schrempf at kontron.de>
> 
>> ---
>>   common/spl/Kconfig                            | 1 +
>>   configs/imx8mm-cl-iot-gate-optee_defconfig    | 1 -
>>   configs/imx8mm-cl-iot-gate_defconfig          | 1 -
>>   configs/imx8mm-icore-mx8mm-ctouch2_defconfig  | 1 -
>>   configs/imx8mm-icore-mx8mm-edimm2.2_defconfig | 1 -
>>   configs/imx8mm-mx8menlo_defconfig             | 1 -
>>   configs/imx8mm_beacon_defconfig               | 1 -
>>   configs/imx8mm_data_modul_edm_sbc_defconfig   | 1 -
>>   configs/imx8mm_evk_defconfig                  | 1 -
>>   configs/imx8mm_venice_defconfig               | 1 -
>>   configs/kontron-sl-mx8mm_defconfig            | 1 -
>>   configs/phycore-imx8mm_defconfig              | 1 -
>>   configs/verdin-imx8mm_defconfig               | 1 -
>>   13 files changed, 1 insertion(+), 12 deletions(-)
>>
>> diff --git a/common/spl/Kconfig b/common/spl/Kconfig
>> index 3fd56448006..27b3abea87b 100644
>> --- a/common/spl/Kconfig
>> +++ b/common/spl/Kconfig
>> @@ -82,6 +82,7 @@ config SPL_MAX_SIZE
>>   	default 0x7fa0 if SUNXI_SRAM_ADDRESS = 0x20000 && !MACH_SUN50I_H616
>>   	default 0x7000 if RCAR_GEN3
>>   	default 0x5fa0 if SUNXI_SRAM_ADDRESS = 0x0
>> +	default 0x27000 if IMX8MM && SPL_TEXT_BASE = 0x7E1000
>>   	default 0x0
>>   	help
>>   	  Maximum size of the SPL image (text, data, rodata, and linker lists
>> diff --git a/configs/imx8mm-cl-iot-gate-optee_defconfig b/configs/imx8mm-cl-iot-gate-optee_defconfig
>> index 80055912096..a02010621ea 100644
>> --- a/configs/imx8mm-cl-iot-gate-optee_defconfig
>> +++ b/configs/imx8mm-cl-iot-gate-optee_defconfig
>> @@ -23,7 +23,6 @@ CONFIG_SPL_LOAD_FIT=y
>>   # CONFIG_USE_SPL_FIT_GENERATOR is not set
>>   CONFIG_OF_SYSTEM_SETUP=y
>>   CONFIG_BOARD_LATE_INIT=y
>> -CONFIG_SPL_MAX_SIZE=0x25000
>>   CONFIG_SPL_HAS_BSS_LINKER_SECTION=y
>>   CONFIG_SPL_BSS_START_ADDR=0x910000
>>   CONFIG_SPL_BSS_MAX_SIZE=0x2000
>> diff --git a/configs/imx8mm-cl-iot-gate_defconfig b/configs/imx8mm-cl-iot-gate_defconfig
>> index dae7ddc20e0..f05ac98326c 100644
>> --- a/configs/imx8mm-cl-iot-gate_defconfig
>> +++ b/configs/imx8mm-cl-iot-gate_defconfig
>> @@ -25,7 +25,6 @@ CONFIG_SPL_LOAD_FIT=y
>>   # CONFIG_USE_SPL_FIT_GENERATOR is not set
>>   CONFIG_OF_SYSTEM_SETUP=y
>>   CONFIG_BOARD_LATE_INIT=y
>> -CONFIG_SPL_MAX_SIZE=0x25000
>>   CONFIG_SPL_HAS_BSS_LINKER_SECTION=y
>>   CONFIG_SPL_BSS_START_ADDR=0x910000
>>   CONFIG_SPL_BSS_MAX_SIZE=0x2000
>> diff --git a/configs/imx8mm-icore-mx8mm-ctouch2_defconfig b/configs/imx8mm-icore-mx8mm-ctouch2_defconfig
>> index 69ebc6fa325..7d08b244f2c 100644
>> --- a/configs/imx8mm-icore-mx8mm-ctouch2_defconfig
>> +++ b/configs/imx8mm-icore-mx8mm-ctouch2_defconfig
>> @@ -23,7 +23,6 @@ CONFIG_SPL_LOAD_FIT=y
>>   CONFIG_SPL_FIT_GENERATOR="arch/arm/mach-imx/mkimage_fit_atf.sh"
>>   CONFIG_OF_SYSTEM_SETUP=y
>>   CONFIG_DEFAULT_FDT_FILE="imx8mm-icore-mx8mm-ctouch2.dtb"
>> -CONFIG_SPL_MAX_SIZE=0x25000
>>   CONFIG_SPL_HAS_BSS_LINKER_SECTION=y
>>   CONFIG_SPL_BSS_START_ADDR=0x910000
>>   CONFIG_SPL_BSS_MAX_SIZE=0x2000
>> diff --git a/configs/imx8mm-icore-mx8mm-edimm2.2_defconfig b/configs/imx8mm-icore-mx8mm-edimm2.2_defconfig
>> index a3c142feb28..acc5d34659b 100644
>> --- a/configs/imx8mm-icore-mx8mm-edimm2.2_defconfig
>> +++ b/configs/imx8mm-icore-mx8mm-edimm2.2_defconfig
>> @@ -23,7 +23,6 @@ CONFIG_SPL_LOAD_FIT=y
>>   CONFIG_SPL_FIT_GENERATOR="arch/arm/mach-imx/mkimage_fit_atf.sh"
>>   CONFIG_OF_SYSTEM_SETUP=y
>>   CONFIG_DEFAULT_FDT_FILE="imx8mm-icore-mx8mm-edimm2.2.dtb"
>> -CONFIG_SPL_MAX_SIZE=0x25000
>>   CONFIG_SPL_HAS_BSS_LINKER_SECTION=y
>>   CONFIG_SPL_BSS_START_ADDR=0x910000
>>   CONFIG_SPL_BSS_MAX_SIZE=0x2000
>> diff --git a/configs/imx8mm-mx8menlo_defconfig b/configs/imx8mm-mx8menlo_defconfig
>> index ec672f8764e..2a6f3b7c412 100644
>> --- a/configs/imx8mm-mx8menlo_defconfig
>> +++ b/configs/imx8mm-mx8menlo_defconfig
>> @@ -34,7 +34,6 @@ CONFIG_LOG=y
>>   # CONFIG_DISPLAY_BOARDINFO is not set
>>   CONFIG_DISPLAY_BOARDINFO_LATE=y
>>   CONFIG_BOARD_LATE_INIT=y
>> -CONFIG_SPL_MAX_SIZE=0x25000
>>   CONFIG_SPL_HAS_BSS_LINKER_SECTION=y
>>   CONFIG_SPL_BSS_START_ADDR=0x910000
>>   CONFIG_SPL_BSS_MAX_SIZE=0x2000
>> diff --git a/configs/imx8mm_beacon_defconfig b/configs/imx8mm_beacon_defconfig
>> index bf2b6486347..fd21f9f6db8 100644
>> --- a/configs/imx8mm_beacon_defconfig
>> +++ b/configs/imx8mm_beacon_defconfig
>> @@ -25,7 +25,6 @@ CONFIG_OF_SYSTEM_SETUP=y
>>   CONFIG_USE_BOOTCOMMAND=y
>>   CONFIG_BOOTCOMMAND="mmc dev ${mmcdev}; if mmc rescan; then if run loadbootscript; then run bootscript; else if run loadimage; then run mmcboot; else run netboot; fi; fi; fi;"
>>   CONFIG_DEFAULT_FDT_FILE="imx8mm-beacon-kit.dtb"
>> -CONFIG_SPL_MAX_SIZE=0x25000
>>   CONFIG_SPL_HAS_BSS_LINKER_SECTION=y
>>   CONFIG_SPL_BSS_START_ADDR=0x910000
>>   CONFIG_SPL_BSS_MAX_SIZE=0x2000
>> diff --git a/configs/imx8mm_data_modul_edm_sbc_defconfig b/configs/imx8mm_data_modul_edm_sbc_defconfig
>> index 399b388460f..1fae936bda5 100644
>> --- a/configs/imx8mm_data_modul_edm_sbc_defconfig
>> +++ b/configs/imx8mm_data_modul_edm_sbc_defconfig
>> @@ -41,7 +41,6 @@ CONFIG_CONSOLE_MUX=y
>>   CONFIG_SYS_CONSOLE_ENV_OVERWRITE=y
>>   CONFIG_ARCH_MISC_INIT=y
>>   CONFIG_BOARD_LATE_INIT=y
>> -CONFIG_SPL_MAX_SIZE=0x25000
>>   CONFIG_SPL_HAS_BSS_LINKER_SECTION=y
>>   CONFIG_SPL_BSS_START_ADDR=0x910000
>>   CONFIG_SPL_BSS_MAX_SIZE=0x2000
>> diff --git a/configs/imx8mm_evk_defconfig b/configs/imx8mm_evk_defconfig
>> index 00af724bbaa..24bb136c7ad 100644
>> --- a/configs/imx8mm_evk_defconfig
>> +++ b/configs/imx8mm_evk_defconfig
>> @@ -23,7 +23,6 @@ CONFIG_SPL_LOAD_FIT=y
>>   # CONFIG_USE_SPL_FIT_GENERATOR is not set
>>   CONFIG_OF_SYSTEM_SETUP=y
>>   CONFIG_BOARD_LATE_INIT=y
>> -CONFIG_SPL_MAX_SIZE=0x25000
>>   CONFIG_SPL_HAS_BSS_LINKER_SECTION=y
>>   CONFIG_SPL_BSS_START_ADDR=0x910000
>>   CONFIG_SPL_BSS_MAX_SIZE=0x2000
>> diff --git a/configs/imx8mm_venice_defconfig b/configs/imx8mm_venice_defconfig
>> index 190209d6325..2f7857bdfb6 100644
>> --- a/configs/imx8mm_venice_defconfig
>> +++ b/configs/imx8mm_venice_defconfig
>> @@ -31,7 +31,6 @@ CONFIG_OF_SYSTEM_SETUP=y
>>   CONFIG_USE_PREBOOT=y
>>   CONFIG_PREBOOT="gsc wd-disable"
>>   CONFIG_BOARD_LATE_INIT=y
>> -CONFIG_SPL_MAX_SIZE=0x25000
>>   CONFIG_SPL_HAS_BSS_LINKER_SECTION=y
>>   CONFIG_SPL_BSS_START_ADDR=0x910000
>>   CONFIG_SPL_BSS_MAX_SIZE=0x2000
>> diff --git a/configs/kontron-sl-mx8mm_defconfig b/configs/kontron-sl-mx8mm_defconfig
>> index 17658d5334d..ec0c1d7f50d 100644
>> --- a/configs/kontron-sl-mx8mm_defconfig
>> +++ b/configs/kontron-sl-mx8mm_defconfig
>> @@ -26,7 +26,6 @@ CONFIG_SPL_LOAD_FIT=y
>>   # CONFIG_USE_SPL_FIT_GENERATOR is not set
>>   CONFIG_OF_BOARD_SETUP=y
>>   CONFIG_BOARD_TYPES=y
>> -CONFIG_SPL_MAX_SIZE=0x25000
>>   CONFIG_SPL_HAS_BSS_LINKER_SECTION=y
>>   CONFIG_SPL_BSS_START_ADDR=0x910000
>>   CONFIG_SPL_BSS_MAX_SIZE=0x2000
>> diff --git a/configs/phycore-imx8mm_defconfig b/configs/phycore-imx8mm_defconfig
>> index 0316d45caeb..3a169692735 100644
>> --- a/configs/phycore-imx8mm_defconfig
>> +++ b/configs/phycore-imx8mm_defconfig
>> @@ -26,7 +26,6 @@ CONFIG_USE_BOOTCOMMAND=y
>>   CONFIG_BOOTCOMMAND="mmc dev ${mmcdev}; if mmc rescan; then if run loadimage; then run mmcboot; else run netboot; fi; fi;"
>>   CONFIG_DEFAULT_FDT_FILE="oftree"
>>   CONFIG_BOARD_LATE_INIT=y
>> -CONFIG_SPL_MAX_SIZE=0x25000
>>   CONFIG_SPL_HAS_BSS_LINKER_SECTION=y
>>   CONFIG_SPL_BSS_START_ADDR=0x910000
>>   CONFIG_SPL_BSS_MAX_SIZE=0x2000
>> diff --git a/configs/verdin-imx8mm_defconfig b/configs/verdin-imx8mm_defconfig
>> index 34afdc57911..8c5274d33f1 100644
>> --- a/configs/verdin-imx8mm_defconfig
>> +++ b/configs/verdin-imx8mm_defconfig
>> @@ -32,7 +32,6 @@ CONFIG_LOG=y
>>   # CONFIG_DISPLAY_BOARDINFO is not set
>>   CONFIG_DISPLAY_BOARDINFO_LATE=y
>>   CONFIG_BOARD_LATE_INIT=y
>> -CONFIG_SPL_MAX_SIZE=0x25000
>>   CONFIG_SPL_HAS_BSS_LINKER_SECTION=y
>>   CONFIG_SPL_BSS_START_ADDR=0x910000
>>   CONFIG_SPL_BSS_MAX_SIZE=0x2000


More information about the U-Boot mailing list