diff mbox series

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

Message ID 20220705060644.4509-2-peng.fan@oss.nxp.com
State Not Applicable
Delegated to: Stefano Babic
Headers show
Series imx: support i.MX93 | expand

Commit Message

Peng Fan (OSS) July 5, 2022, 6:05 a.m. UTC
From: Peng Fan <peng.fan@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@nxp.com>
---
 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(-)

Comments

Frieder Schrempf July 5, 2022, 6:50 a.m. UTC | #1
Am 05.07.22 um 08:05 schrieb Peng Fan (OSS):
> From: Peng Fan <peng.fan@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@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!?

Nevertheless:

Acked-by: Frieder Schrempf <frieder.schrempf@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
Peng Fan (OSS) July 5, 2022, 11:52 p.m. UTC | #2
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@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@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@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
Frieder Schrempf July 6, 2022, 6:34 a.m. UTC | #3
Am 06.07.22 um 01:52 schrieb Peng Fan:
> 
> 
> 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@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@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!!

Thanks for the explanation! That was the part I was missing. If you
happen to respin this, it would be nice to have this explanation in the
commit message.
diff mbox series

Patch

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