[PATCH] imx8mq_evk: enlarge SYS_MALLOC_F_LEN

From: Peng Fan peng.fan@nxp.com
There is "alloc space exhausted" with DEBUG_UART enabled with the options enabled.
CONFIG_DEBUG_UART_BASE=0x30860000 # for uart1 CONFIG_DEBUG_UART_CLOCK=24000000
It is because CONFIG_SYS_MALLOC_F_LEN is too small, enlarge it. And set CONFIG_SPL_STACK to 0x188000 to not waste the top 16bytes.
Reported-by: Heiko Thiery heiko.thiery@gmail.com Signed-off-by: Peng Fan peng.fan@nxp.com --- configs/imx8mq_evk_defconfig | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/configs/imx8mq_evk_defconfig b/configs/imx8mq_evk_defconfig index cf207295e54..d877a1290f9 100644 --- a/configs/imx8mq_evk_defconfig +++ b/configs/imx8mq_evk_defconfig @@ -2,6 +2,8 @@ CONFIG_ARM=y CONFIG_ARCH_IMX8M=y CONFIG_SYS_TEXT_BASE=0x40200000 CONFIG_SYS_MALLOC_LEN=0x600000 +CONFIG_SYS_MALLOC_F_LEN=0x10000 +CONFIG_SPL_SYS_MALLOC_F_LEN=0x2000 CONFIG_SPL_GPIO=y CONFIG_SPL_LIBCOMMON_SUPPORT=y CONFIG_SPL_LIBGENERIC_SUPPORT=y @@ -36,7 +38,7 @@ CONFIG_SPL_BSS_START_ADDR=0x180000 CONFIG_SPL_BSS_MAX_SIZE=0x2000 CONFIG_SPL_BOARD_INIT=y # CONFIG_SPL_SHARES_INIT_SP_ADDR is not set -CONFIG_SPL_STACK=0x187ff0 +CONFIG_SPL_STACK=0x188000 CONFIG_SYS_SPL_MALLOC=y CONFIG_HAS_CUSTOM_SPL_MALLOC_START=y CONFIG_CUSTOM_SYS_SPL_MALLOC_ADDR=0x42200000

Hi,
Am Mi., 14. Sept. 2022 um 03:38 Uhr schrieb Peng Fan (OSS) peng.fan@oss.nxp.com:
From: Peng Fan peng.fan@nxp.com
There is "alloc space exhausted" with DEBUG_UART enabled with the options enabled.
CONFIG_DEBUG_UART_BASE=0x30860000 # for uart1 CONFIG_DEBUG_UART_CLOCK=24000000
It is because CONFIG_SYS_MALLOC_F_LEN is too small, enlarge it. And set CONFIG_SPL_STACK to 0x188000 to not waste the top 16bytes.
When changing these values on the kontron_pitx_imx8m_defconfig this board also works again. Maybe it could be a good idea to change these values for all imx8mq boards.
Reported-by: Heiko Thiery heiko.thiery@gmail.com Signed-off-by: Peng Fan peng.fan@nxp.com
Tested-by: Heiko Thiery heiko.thiery@gmail.com
configs/imx8mq_evk_defconfig | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/configs/imx8mq_evk_defconfig b/configs/imx8mq_evk_defconfig index cf207295e54..d877a1290f9 100644 --- a/configs/imx8mq_evk_defconfig +++ b/configs/imx8mq_evk_defconfig @@ -2,6 +2,8 @@ CONFIG_ARM=y CONFIG_ARCH_IMX8M=y CONFIG_SYS_TEXT_BASE=0x40200000 CONFIG_SYS_MALLOC_LEN=0x600000 +CONFIG_SYS_MALLOC_F_LEN=0x10000 +CONFIG_SPL_SYS_MALLOC_F_LEN=0x2000 CONFIG_SPL_GPIO=y CONFIG_SPL_LIBCOMMON_SUPPORT=y CONFIG_SPL_LIBGENERIC_SUPPORT=y @@ -36,7 +38,7 @@ CONFIG_SPL_BSS_START_ADDR=0x180000 CONFIG_SPL_BSS_MAX_SIZE=0x2000 CONFIG_SPL_BOARD_INIT=y # CONFIG_SPL_SHARES_INIT_SP_ADDR is not set -CONFIG_SPL_STACK=0x187ff0 +CONFIG_SPL_STACK=0x188000 CONFIG_SYS_SPL_MALLOC=y CONFIG_HAS_CUSTOM_SPL_MALLOC_START=y CONFIG_CUSTOM_SYS_SPL_MALLOC_ADDR=0x42200000 -- 2.36.0
Thank you

Hi,
Am Mi., 14. Sept. 2022 um 06:12 Uhr schrieb Heiko Thiery heiko.thiery@gmail.com:
Hi,
Am Mi., 14. Sept. 2022 um 03:38 Uhr schrieb Peng Fan (OSS) peng.fan@oss.nxp.com:
From: Peng Fan peng.fan@nxp.com
There is "alloc space exhausted" with DEBUG_UART enabled with the options enabled.
I don't think the explanation is right. The alloc problem is also there if you don't enable DEBUG_UART. But only with enabled DEBUG_UART you can see the output message(s).
CONFIG_DEBUG_UART_BASE=0x30860000 # for uart1 CONFIG_DEBUG_UART_CLOCK=24000000
It is because CONFIG_SYS_MALLOC_F_LEN is too small, enlarge it. And set CONFIG_SPL_STACK to 0x188000 to not waste the top 16bytes.
When changing these values on the kontron_pitx_imx8m_defconfig this board also works again. Maybe it could be a good idea to change these values for all imx8mq boards.
Reported-by: Heiko Thiery heiko.thiery@gmail.com Signed-off-by: Peng Fan peng.fan@nxp.com
Tested-by: Heiko Thiery heiko.thiery@gmail.com
configs/imx8mq_evk_defconfig | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/configs/imx8mq_evk_defconfig b/configs/imx8mq_evk_defconfig index cf207295e54..d877a1290f9 100644 --- a/configs/imx8mq_evk_defconfig +++ b/configs/imx8mq_evk_defconfig @@ -2,6 +2,8 @@ CONFIG_ARM=y CONFIG_ARCH_IMX8M=y CONFIG_SYS_TEXT_BASE=0x40200000 CONFIG_SYS_MALLOC_LEN=0x600000 +CONFIG_SYS_MALLOC_F_LEN=0x10000 +CONFIG_SPL_SYS_MALLOC_F_LEN=0x2000 CONFIG_SPL_GPIO=y CONFIG_SPL_LIBCOMMON_SUPPORT=y CONFIG_SPL_LIBGENERIC_SUPPORT=y @@ -36,7 +38,7 @@ CONFIG_SPL_BSS_START_ADDR=0x180000 CONFIG_SPL_BSS_MAX_SIZE=0x2000 CONFIG_SPL_BOARD_INIT=y # CONFIG_SPL_SHARES_INIT_SP_ADDR is not set -CONFIG_SPL_STACK=0x187ff0 +CONFIG_SPL_STACK=0x188000 CONFIG_SYS_SPL_MALLOC=y CONFIG_HAS_CUSTOM_SPL_MALLOC_START=y CONFIG_CUSTOM_SYS_SPL_MALLOC_ADDR=0x42200000 -- 2.36.0
Thank you
Heiko

On Wed, Sep 14, 2022 at 1:12 AM Heiko Thiery heiko.thiery@gmail.com wrote:
When changing these values on the kontron_pitx_imx8m_defconfig this board also works again. Maybe it could be a good idea to change these values for all imx8mq boards.
Yes, agreed. It would be great if someone could align these values for all imx8mq boards.

Hi,
Am Mi., 14. Sept. 2022 um 13:34 Uhr schrieb Fabio Estevam festevam@gmail.com:
On Wed, Sep 14, 2022 at 1:12 AM Heiko Thiery heiko.thiery@gmail.com wrote:
When changing these values on the kontron_pitx_imx8m_defconfig this board also works again. Maybe it could be a good idea to change these values for all imx8mq boards.
Yes, agreed. It would be great if someone could align these values for all imx8mq boards.
Strange thing is, that we already had the value of 0x10000 (introduced by 545eceb52062cdc995c45b9581174b7ae66b0e6f and reverted by b598957206e541b3f8876ae34a15fac6da90dcef) and Peng said that the MALLOC BASE address of the IMX8MQ is set to OCRAM_S amd has 32kB [1].
[1] https://lore.kernel.org/u-boot/718b5b97-2b53-06f0-540b-70dd45f3915c@oss.nxp....
-- Heiko

On 9/14/2022 7:51 PM, Heiko Thiery wrote:
Hi,
Am Mi., 14. Sept. 2022 um 13:34 Uhr schrieb Fabio Estevam festevam@gmail.com:
On Wed, Sep 14, 2022 at 1:12 AM Heiko Thiery heiko.thiery@gmail.com wrote:
When changing these values on the kontron_pitx_imx8m_defconfig this board also works again. Maybe it could be a good idea to change these values for all imx8mq boards.
Yes, agreed. It would be great if someone could align these values for all imx8mq boards.
Strange thing is, that we already had the value of 0x10000 (introduced by 545eceb52062cdc995c45b9581174b7ae66b0e6f and reverted by b598957206e541b3f8876ae34a15fac6da90dcef) and Peng said that the MALLOC BASE address of the IMX8MQ is set to OCRAM_S amd has 32kB [1].
CONFIG_SPL_SYS_MALLOC_F_LEN should be set to 0x2000 CONFIG_SYS_MALLOC_F_LEN should be a bit larger after DM CLK enabled.
Regards, Peng.
[1] https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Flore.kerne...
-- Heiko
participants (4)
-
Fabio Estevam
-
Heiko Thiery
-
Peng Fan
-
Peng Fan (OSS)