imx8mq allocation issue

HI,
I think on the imx8mq platform we have a problem with the introduction of the clock driver. I tried to debug the problem that the pitx-imx8m board was not able to start for some time. I was wondering why the pitx-im8m doesn't work anymore although the imx8mq_evk is running.
So I switched to the imx8mq_evk for counter testing. As I already figured out in [1] also the imx8mq_evk is not able to start properly.
On the EVK I enabled the DEBUG_UART and see the outputs below. I suspect all imx8mq boards have this problem.
CONFIG_DEBUG_UART_BASE=0x30860000 # for uart1 CONFIG_DEBUG_UART_CLOCK=24000000
--- 8< ---- U-Boot SPL 2022.10-rc4-00038-ge3fce5e560-dirty (Sep 09 2022 - 10:51:29 +0200) PMIC: PFUZE100 ID=0x10 SEC0: RNG instantiated Normal Boot Trying to boot from MMC2 clk_register: failed to get <NULL> device (parent of ckil) clk_register: failed to get <NULL> device (parent of clock-osc-27m) alloc space exhausted alloc space exhausted alloc space exhausted alloc space exhausted : : alloc space exhausted alloc space exhausted alloc space exhausted alloc space exhausted alloc space exhausted alloc space exhausted alloc space exhausted alloc space exhaustedÿ
U-Boot 2022.10-rc4-00038-ge3fce5e560-dirty (Sep 09 2022 - 10:51:29 +0200)
CPU: Freescale i.MX8MQ rev2.1 at 1000 MHz Reset cause: POR Model: NXP i.MX8MQ EVK DRAM: 3 GiB clk_register: failed to get <NULL> device (parent of ckil) clk_register: failed to get <NULL> device (parent of clock-osc-27m) clk_register: failed to get <NULL> device (parent of sys1_pll) clk_register: failed to get <NULL> device (parent of sys2_pll) clk_register: failed to get <NULL> device (parent of sys3_pll) Core: 147 devices, 21 uclasses, devicetree: separate MMC: FSL_SDHC: 0, FSL_SDHC: 1 Loading Environment from MMC... OK In: serial@30860000 Out: serial@30860000 Err: serial@30860000 SEC0: RNG instantiated Net: eth0: ethernet@30be0000 Hit any key to stop autoboot: 0 u-boot=> --- 8< ----
Could the maintainers of the other imx8mq boards please check if they can confirm this?
[1] https://lore.kernel.org/u-boot/CAEyMn7bCaC8Y8B0mOAi72yJTHMKDJt_oe_eBznrwHh4J...
Thanks, Heiko

Hi Heiko,
The librem5 (imx8mq) is able to boot using these [1] patches on top of u-boot-imx-20220729.
I believe the change that fixed the allocation issue for me was
CONFIG_SPL_MAX_SIZE=0x25000
Cheers, Angus
[1] https://lore.kernel.org/u-boot/20220825134602.382775-1-angus@akkea.ca/
On 2022-09-09 02:12, Heiko Thiery wrote:
HI,
I think on the imx8mq platform we have a problem with the introduction of the clock driver. I tried to debug the problem that the pitx-imx8m board was not able to start for some time. I was wondering why the pitx-im8m doesn't work anymore although the imx8mq_evk is running.
So I switched to the imx8mq_evk for counter testing. As I already figured out in [1] also the imx8mq_evk is not able to start properly.
On the EVK I enabled the DEBUG_UART and see the outputs below. I suspect all imx8mq boards have this problem.
CONFIG_DEBUG_UART_BASE=0x30860000 # for uart1 CONFIG_DEBUG_UART_CLOCK=24000000
--- 8< ---- U-Boot SPL 2022.10-rc4-00038-ge3fce5e560-dirty (Sep 09 2022 - 10:51:29 +0200) PMIC: PFUZE100 ID=0x10 SEC0: RNG instantiated Normal Boot Trying to boot from MMC2 clk_register: failed to get <NULL> device (parent of ckil) clk_register: failed to get <NULL> device (parent of clock-osc-27m) alloc space exhausted alloc space exhausted alloc space exhausted alloc space exhausted : : alloc space exhausted alloc space exhausted alloc space exhausted alloc space exhausted alloc space exhausted alloc space exhausted alloc space exhausted alloc space exhaustedÿ
U-Boot 2022.10-rc4-00038-ge3fce5e560-dirty (Sep 09 2022 - 10:51:29 +0200)
CPU: Freescale i.MX8MQ rev2.1 at 1000 MHz Reset cause: POR Model: NXP i.MX8MQ EVK DRAM: 3 GiB clk_register: failed to get <NULL> device (parent of ckil) clk_register: failed to get <NULL> device (parent of clock-osc-27m) clk_register: failed to get <NULL> device (parent of sys1_pll) clk_register: failed to get <NULL> device (parent of sys2_pll) clk_register: failed to get <NULL> device (parent of sys3_pll) Core: 147 devices, 21 uclasses, devicetree: separate MMC: FSL_SDHC: 0, FSL_SDHC: 1 Loading Environment from MMC... OK In: serial@30860000 Out: serial@30860000 Err: serial@30860000 SEC0: RNG instantiated Net: eth0: ethernet@30be0000 Hit any key to stop autoboot: 0 u-boot=> --- 8< ----
Could the maintainers of the other imx8mq boards please check if they can confirm this?
[1] https://lore.kernel.org/u-boot/CAEyMn7bCaC8Y8B0mOAi72yJTHMKDJt_oe_eBznrwHh4J...
Thanks, Heiko

Hi Angus,
Am Fr., 9. Sept. 2022 um 16:43 Uhr schrieb Angus Ainslie angus@akkea.ca:
Hi Heiko,
The librem5 (imx8mq) is able to boot using these [1] patches on top of u-boot-imx-20220729.
I believe the change that fixed the allocation issue for me was
CONFIG_SPL_MAX_SIZE=0x25000
The imx8mq_evk board boots also but when enabling the DEBUG_UART the output shown in my previous mail is seen. Could you also try to enable the DEBUG UART please?

Hi Heiko,
On 2022-09-09 07:45, Heiko Thiery wrote:
Hi Angus,
Am Fr., 9. Sept. 2022 um 16:43 Uhr schrieb Angus Ainslie angus@akkea.ca:
Hi Heiko,
The librem5 (imx8mq) is able to boot using these [1] patches on top of u-boot-imx-20220729.
I believe the change that fixed the allocation issue for me was
CONFIG_SPL_MAX_SIZE=0x25000
The imx8mq_evk board boots also but when enabling the DEBUG_UART the output shown in my previous mail is seen. Could you also try to enable the DEBUG UART please?
-- Heiko
Yeah it still boots
CUK**SH022.10-rc1-00013-g1b8b4362ac-dirty (Sep 09 2022 - 09:24:49 -0700) Initializing pinmux Initializing ECSPI Initializing DRAM SDRAM val 2 SDRAM val 3 SDRAM val 3 spl_dram_init: LPDDR4 3 GiB USB Boot Trying to boot from USB SDP board_usb_init : index 0 type 1 SDP: initialize... SDP: handle requests... Downloading file of size 946628 to 0x40400000... done Jumping to header at 0x40400000 Header Tag is not an IMX image Found header at 0x40410c00 board_usb_cleanup : 0 ?2~3
U-Boot 2022.10-rc1-00013-g1b8b4362ac-dirty (Sep 09 2022 - 09:24:49 -0700)
CPU: Freescale i.MX8MQ rev2.1 1500 MHz (running at 1000 MHz) CPU: Commercial temperature grade (0C to 95C) at 32C Reset cause: POR Model: Purism Librem 5r4 DRAM: 3 GiB clk_register: failed to get <NULL> device (parent of ckil) clk_register: failed to get <NULL> device (parent of clock-osc-27m) clk_register: failed to get <NULL> device (parent of sys1_pll) clk_register: failed to get <NULL> device (parent of sys2_pll) clk_register: failed to get <NULL> device (parent of sys3_pll) Enabling regulator-hub tps65982 boot successful Core: 193 devices, 25 uclasses, devicetree: separate MMC: FSL_SDHC: 0, FSL_SDHC: 1 Loading Environment from MMC... *** Warning - bad CRC, using default environment
In: serial Out: serial Err: serial Board name: librem5 Board rev: 4 USB Boot vol_down_key_pressed : 1 Net: No ethernet found. Hit any key to stop autoboot: 0
Cheers, Angus
[1] https://lore.kernel.org/u-boot/20220825134602.382775-1-angus@akkea.ca/
On 2022-09-09 02:12, Heiko Thiery wrote:
HI,
I think on the imx8mq platform we have a problem with the introduction of the clock driver. I tried to debug the problem that the pitx-imx8m board was not able to start for some time. I was wondering why the pitx-im8m doesn't work anymore although the imx8mq_evk is running.
So I switched to the imx8mq_evk for counter testing. As I already figured out in [1] also the imx8mq_evk is not able to start properly.
On the EVK I enabled the DEBUG_UART and see the outputs below. I suspect all imx8mq boards have this problem.
CONFIG_DEBUG_UART_BASE=0x30860000 # for uart1 CONFIG_DEBUG_UART_CLOCK=24000000
--- 8< ---- U-Boot SPL 2022.10-rc4-00038-ge3fce5e560-dirty (Sep 09 2022 - 10:51:29 +0200) PMIC: PFUZE100 ID=0x10 SEC0: RNG instantiated Normal Boot Trying to boot from MMC2 clk_register: failed to get <NULL> device (parent of ckil) clk_register: failed to get <NULL> device (parent of clock-osc-27m) alloc space exhausted alloc space exhausted alloc space exhausted alloc space exhausted : : alloc space exhausted alloc space exhausted alloc space exhausted alloc space exhausted alloc space exhausted alloc space exhausted alloc space exhausted alloc space exhaustedÿ
U-Boot 2022.10-rc4-00038-ge3fce5e560-dirty (Sep 09 2022 - 10:51:29 +0200)
CPU: Freescale i.MX8MQ rev2.1 at 1000 MHz Reset cause: POR Model: NXP i.MX8MQ EVK DRAM: 3 GiB clk_register: failed to get <NULL> device (parent of ckil) clk_register: failed to get <NULL> device (parent of clock-osc-27m) clk_register: failed to get <NULL> device (parent of sys1_pll) clk_register: failed to get <NULL> device (parent of sys2_pll) clk_register: failed to get <NULL> device (parent of sys3_pll) Core: 147 devices, 21 uclasses, devicetree: separate MMC: FSL_SDHC: 0, FSL_SDHC: 1 Loading Environment from MMC... OK In: serial@30860000 Out: serial@30860000 Err: serial@30860000 SEC0: RNG instantiated Net: eth0: ethernet@30be0000 Hit any key to stop autoboot: 0 u-boot=> --- 8< ----
Could the maintainers of the other imx8mq boards please check if they can confirm this?
[1] https://lore.kernel.org/u-boot/CAEyMn7bCaC8Y8B0mOAi72yJTHMKDJt_oe_eBznrwHh4J...
Thanks, Heiko

Hi Angus,
Am Fr., 9. Sept. 2022 um 18:38 Uhr schrieb Angus Ainslie angus@akkea.ca:
Hi Heiko,
On 2022-09-09 07:45, Heiko Thiery wrote:
Hi Angus,
Am Fr., 9. Sept. 2022 um 16:43 Uhr schrieb Angus Ainslie angus@akkea.ca:
Hi Heiko,
The librem5 (imx8mq) is able to boot using these [1] patches on top of u-boot-imx-20220729.
I believe the change that fixed the allocation issue for me was
CONFIG_SPL_MAX_SIZE=0x25000
The imx8mq_evk board boots also but when enabling the DEBUG_UART the output shown in my previous mail is seen. Could you also try to enable the DEBUG UART please?
-- Heiko
Yeah it still boots
CUK**SH022.10-rc1-00013-g1b8b4362ac-dirty (Sep 09 2022 - 09:24:49 -0700) Initializing pinmux Initializing ECSPI Initializing DRAM SDRAM val 2 SDRAM val 3 SDRAM val 3 spl_dram_init: LPDDR4 3 GiB USB Boot Trying to boot from USB SDP board_usb_init : index 0 type 1 SDP: initialize... SDP: handle requests... Downloading file of size 946628 to 0x40400000... done Jumping to header at 0x40400000 Header Tag is not an IMX image Found header at 0x40410c00 board_usb_cleanup : 0 ?2~3
U-Boot 2022.10-rc1-00013-g1b8b4362ac-dirty (Sep 09 2022 - 09:24:49 -0700)
CPU: Freescale i.MX8MQ rev2.1 1500 MHz (running at 1000 MHz) CPU: Commercial temperature grade (0C to 95C) at 32C Reset cause: POR Model: Purism Librem 5r4 DRAM: 3 GiB clk_register: failed to get <NULL> device (parent of ckil) clk_register: failed to get <NULL> device (parent of clock-osc-27m) clk_register: failed to get <NULL> device (parent of sys1_pll) clk_register: failed to get <NULL> device (parent of sys2_pll) clk_register: failed to get <NULL> device (parent of sys3_pll) Enabling regulator-hub tps65982 boot successful Core: 193 devices, 25 uclasses, devicetree: separate MMC: FSL_SDHC: 0, FSL_SDHC: 1 Loading Environment from MMC... *** Warning - bad CRC, using default environment
In: serial Out: serial Err: serial Board name: librem5 Board rev: 4 USB Boot vol_down_key_pressed : 1 Net: No ethernet found. Hit any key to stop autoboot: 0
If this is the output with DEBUG_UART enabled then it seems the problem is not seen on your board. As said, on the imx8mq-evk this is seen. I also have a google coral (phanbell) that I will test.

On 9/9/2022 5:12 PM, Heiko Thiery wrote:
HI,
I think on the imx8mq platform we have a problem with the introduction of the clock driver. I tried to debug the problem that the pitx-imx8m board was not able to start for some time. I was wondering why the pitx-im8m doesn't work anymore although the imx8mq_evk is running.
So I switched to the imx8mq_evk for counter testing. As I already figured out in [1] also the imx8mq_evk is not able to start properly.
On the EVK I enabled the DEBUG_UART and see the outputs below. I suspect all imx8mq boards have this problem.
CONFIG_DEBUG_UART_BASE=0x30860000 # for uart1 CONFIG_DEBUG_UART_CLOCK=24000000
--- 8< ---- U-Boot SPL 2022.10-rc4-00038-ge3fce5e560-dirty (Sep 09 2022 - 10:51:29 +0200) PMIC: PFUZE100 ID=0x10 SEC0: RNG instantiated Normal Boot Trying to boot from MMC2 clk_register: failed to get <NULL> device (parent of ckil) clk_register: failed to get <NULL> device (parent of clock-osc-27m) alloc space exhausted alloc space exhausted alloc space exhausted alloc space exhausted
Seems SPL_DM_CLK consumes the malloc space, so you meet such error.
Regards Peng
: : alloc space exhausted alloc space exhausted alloc space exhausted alloc space exhausted alloc space exhausted alloc space exhausted alloc space exhausted alloc space exhaustedÿ
U-Boot 2022.10-rc4-00038-ge3fce5e560-dirty (Sep 09 2022 - 10:51:29 +0200)
CPU: Freescale i.MX8MQ rev2.1 at 1000 MHz Reset cause: POR Model: NXP i.MX8MQ EVK DRAM: 3 GiB clk_register: failed to get <NULL> device (parent of ckil) clk_register: failed to get <NULL> device (parent of clock-osc-27m) clk_register: failed to get <NULL> device (parent of sys1_pll) clk_register: failed to get <NULL> device (parent of sys2_pll) clk_register: failed to get <NULL> device (parent of sys3_pll) Core: 147 devices, 21 uclasses, devicetree: separate MMC: FSL_SDHC: 0, FSL_SDHC: 1 Loading Environment from MMC... OK In: serial@30860000 Out: serial@30860000 Err: serial@30860000 SEC0: RNG instantiated Net: eth0: ethernet@30be0000 Hit any key to stop autoboot: 0 u-boot=> --- 8< ----
Could the maintainers of the other imx8mq boards please check if they can confirm this?
[1] https://lore.kernel.org/u-boot/CAEyMn7bCaC8Y8B0mOAi72yJTHMKDJt_oe_eBznrwHh4J...
Thanks, Heiko

Hi Peng,
Am Mo., 12. Sept. 2022 um 09:26 Uhr schrieb Peng Fan peng.fan@oss.nxp.com:
On 9/9/2022 5:12 PM, Heiko Thiery wrote:
HI,
I think on the imx8mq platform we have a problem with the introduction of the clock driver. I tried to debug the problem that the pitx-imx8m board was not able to start for some time. I was wondering why the pitx-im8m doesn't work anymore although the imx8mq_evk is running.
So I switched to the imx8mq_evk for counter testing. As I already figured out in [1] also the imx8mq_evk is not able to start properly.
On the EVK I enabled the DEBUG_UART and see the outputs below. I suspect all imx8mq boards have this problem.
CONFIG_DEBUG_UART_BASE=0x30860000 # for uart1 CONFIG_DEBUG_UART_CLOCK=24000000
--- 8< ---- U-Boot SPL 2022.10-rc4-00038-ge3fce5e560-dirty (Sep 09 2022 - 10:51:29 +0200) PMIC: PFUZE100 ID=0x10 SEC0: RNG instantiated Normal Boot Trying to boot from MMC2 clk_register: failed to get <NULL> device (parent of ckil) clk_register: failed to get <NULL> device (parent of clock-osc-27m) alloc space exhausted alloc space exhausted alloc space exhausted alloc space exhausted
Seems SPL_DM_CLK consumes the malloc space, so you meet such error.
I dont think the SPL is the problem. Because the output appears after "Trying to boot from MMC2".

On 9/12/2022 3:48 PM, Heiko Thiery wrote:
Hi Peng,
Am Mo., 12. Sept. 2022 um 09:26 Uhr schrieb Peng Fan peng.fan@oss.nxp.com:
On 9/9/2022 5:12 PM, Heiko Thiery wrote:
HI,
I think on the imx8mq platform we have a problem with the introduction of the clock driver. I tried to debug the problem that the pitx-imx8m board was not able to start for some time. I was wondering why the pitx-im8m doesn't work anymore although the imx8mq_evk is running.
So I switched to the imx8mq_evk for counter testing. As I already figured out in [1] also the imx8mq_evk is not able to start properly.
On the EVK I enabled the DEBUG_UART and see the outputs below. I suspect all imx8mq boards have this problem.
CONFIG_DEBUG_UART_BASE=0x30860000 # for uart1 CONFIG_DEBUG_UART_CLOCK=24000000
--- 8< ---- U-Boot SPL 2022.10-rc4-00038-ge3fce5e560-dirty (Sep 09 2022 - 10:51:29 +0200) PMIC: PFUZE100 ID=0x10 SEC0: RNG instantiated Normal Boot Trying to boot from MMC2 clk_register: failed to get <NULL> device (parent of ckil) clk_register: failed to get <NULL> device (parent of clock-osc-27m) alloc space exhausted alloc space exhausted alloc space exhausted alloc space exhausted
Seems SPL_DM_CLK consumes the malloc space, so you meet such error.
I dont think the SPL is the problem. Because the output appears after "Trying to boot from MMC2".
oh, it maybe CONFIG_MALLOC_F_ADDR and CONFIG_VAL(SYS_MALLOC_F_LEN) not large enough for DM CLK with DM_FLAG_PRE_RELOC?
Regards, Peng.

On 9/13/2022 2:43 PM, Peng Fan (OSS) wrote:
On 9/12/2022 3:48 PM, Heiko Thiery wrote:
Hi Peng,
Am Mo., 12. Sept. 2022 um 09:26 Uhr schrieb Peng Fan peng.fan@oss.nxp.com:
On 9/9/2022 5:12 PM, Heiko Thiery wrote:
HI,
I think on the imx8mq platform we have a problem with the introduction of the clock driver. I tried to debug the problem that the pitx-imx8m board was not able to start for some time. I was wondering why the pitx-im8m doesn't work anymore although the imx8mq_evk is running.
So I switched to the imx8mq_evk for counter testing. As I already figured out in [1] also the imx8mq_evk is not able to start properly.
On the EVK I enabled the DEBUG_UART and see the outputs below. I suspect all imx8mq boards have this problem.
CONFIG_DEBUG_UART_BASE=0x30860000 # for uart1 CONFIG_DEBUG_UART_CLOCK=24000000
--- 8< ---- U-Boot SPL 2022.10-rc4-00038-ge3fce5e560-dirty (Sep 09 2022 - 10:51:29 +0200) PMIC: PFUZE100 ID=0x10 SEC0: RNG instantiated Normal Boot Trying to boot from MMC2 clk_register: failed to get <NULL> device (parent of ckil) clk_register: failed to get <NULL> device (parent of clock-osc-27m) alloc space exhausted alloc space exhausted alloc space exhausted alloc space exhausted
Seems SPL_DM_CLK consumes the malloc space, so you meet such error.
I dont think the SPL is the problem. Because the output appears after "Trying to boot from MMC2".
oh, it maybe CONFIG_MALLOC_F_ADDR and CONFIG_VAL(SYS_MALLOC_F_LEN) not large enough for DM CLK with DM_FLAG_PRE_RELOC?
Ignore this comment.
Regards Peng
Regards, Peng.

On 9/12/2022 3:48 PM, Heiko Thiery wrote:
Hi Peng,
Am Mo., 12. Sept. 2022 um 09:26 Uhr schrieb Peng Fan peng.fan@oss.nxp.com:
On 9/9/2022 5:12 PM, Heiko Thiery wrote:
HI,
I think on the imx8mq platform we have a problem with the introduction of the clock driver. I tried to debug the problem that the pitx-imx8m board was not able to start for some time. I was wondering why the pitx-im8m doesn't work anymore although the imx8mq_evk is running.
So I switched to the imx8mq_evk for counter testing. As I already figured out in [1] also the imx8mq_evk is not able to start properly.
On the EVK I enabled the DEBUG_UART and see the outputs below. I suspect all imx8mq boards have this problem.
CONFIG_DEBUG_UART_BASE=0x30860000 # for uart1 CONFIG_DEBUG_UART_CLOCK=24000000
--- 8< ---- U-Boot SPL 2022.10-rc4-00038-ge3fce5e560-dirty (Sep 09 2022 - 10:51:29 +0200) PMIC: PFUZE100 ID=0x10 SEC0: RNG instantiated Normal Boot Trying to boot from MMC2 clk_register: failed to get <NULL> device (parent of ckil) clk_register: failed to get <NULL> device (parent of clock-osc-27m) alloc space exhausted alloc space exhausted alloc space exhausted alloc space exhausted
Seems SPL_DM_CLK consumes the malloc space, so you meet such error.
I dont think the SPL is the problem. Because the output appears after "Trying to boot from MMC2".
Do you have time to give a try?
diff --git a/configs/imx8mq_evk_defconfig b/configs/imx8mq_evk_defconfig index cf207295e54..14b49ab5906 100644 --- a/configs/imx8mq_evk_defconfig +++ b/configs/imx8mq_evk_defconfig @@ -2,6 +2,7 @@ CONFIG_ARM=y CONFIG_ARCH_IMX8M=y CONFIG_SYS_TEXT_BASE=0x40200000 CONFIG_SYS_MALLOC_LEN=0x600000 +CONFIG_SYS_MALLOC_F_LEN=0x2800 CONFIG_SPL_GPIO=y CONFIG_SPL_LIBCOMMON_SUPPORT=y CONFIG_SPL_LIBGENERIC_SUPPORT=y @@ -36,7 +37,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 diff --git a/include/configs/imx8mq_evk.h b/include/configs/imx8mq_evk.h index ea4305667f2..728b4f7e665 100644 --- a/include/configs/imx8mq_evk.h +++ b/include/configs/imx8mq_evk.h @@ -16,8 +16,6 @@ /*#define CONFIG_ENABLE_DDR_TRAINING_DEBUG*/ #define CONFIG_SYS_SPL_PTE_RAM_BASE 0x41580000
-/* malloc f used before GD_FLG_FULL_MALLOC_INIT set */ -#define CONFIG_MALLOC_F_ADDR 0x182000 /* For RAW image gives a error info not panic */
#define CONFIG_POWER_PFUZE100
Thanks, Peng.

Hi Peng,
Am Di., 13. Sept. 2022 um 09:00 Uhr schrieb Peng Fan peng.fan@oss.nxp.com:
On 9/12/2022 3:48 PM, Heiko Thiery wrote:
Hi Peng,
Am Mo., 12. Sept. 2022 um 09:26 Uhr schrieb Peng Fan peng.fan@oss.nxp.com:
On 9/9/2022 5:12 PM, Heiko Thiery wrote:
HI,
I think on the imx8mq platform we have a problem with the introduction of the clock driver. I tried to debug the problem that the pitx-imx8m board was not able to start for some time. I was wondering why the pitx-im8m doesn't work anymore although the imx8mq_evk is running.
So I switched to the imx8mq_evk for counter testing. As I already figured out in [1] also the imx8mq_evk is not able to start properly.
On the EVK I enabled the DEBUG_UART and see the outputs below. I suspect all imx8mq boards have this problem.
CONFIG_DEBUG_UART_BASE=0x30860000 # for uart1 CONFIG_DEBUG_UART_CLOCK=24000000
--- 8< ---- U-Boot SPL 2022.10-rc4-00038-ge3fce5e560-dirty (Sep 09 2022 - 10:51:29 +0200) PMIC: PFUZE100 ID=0x10 SEC0: RNG instantiated Normal Boot Trying to boot from MMC2 clk_register: failed to get <NULL> device (parent of ckil) clk_register: failed to get <NULL> device (parent of clock-osc-27m) alloc space exhausted alloc space exhausted alloc space exhausted alloc space exhausted
Seems SPL_DM_CLK consumes the malloc space, so you meet such error.
I dont think the SPL is the problem. Because the output appears after "Trying to boot from MMC2".
Do you have time to give a try?
diff --git a/configs/imx8mq_evk_defconfig b/configs/imx8mq_evk_defconfig index cf207295e54..14b49ab5906 100644 --- a/configs/imx8mq_evk_defconfig +++ b/configs/imx8mq_evk_defconfig @@ -2,6 +2,7 @@ CONFIG_ARM=y CONFIG_ARCH_IMX8M=y CONFIG_SYS_TEXT_BASE=0x40200000 CONFIG_SYS_MALLOC_LEN=0x600000 +CONFIG_SYS_MALLOC_F_LEN=0x2800 CONFIG_SPL_GPIO=y CONFIG_SPL_LIBCOMMON_SUPPORT=y CONFIG_SPL_LIBGENERIC_SUPPORT=y @@ -36,7 +37,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 diff --git a/include/configs/imx8mq_evk.h b/include/configs/imx8mq_evk.h index ea4305667f2..728b4f7e665 100644 --- a/include/configs/imx8mq_evk.h +++ b/include/configs/imx8mq_evk.h @@ -16,8 +16,6 @@ /*#define CONFIG_ENABLE_DDR_TRAINING_DEBUG*/ #define CONFIG_SYS_SPL_PTE_RAM_BASE 0x41580000
-/* malloc f used before GD_FLG_FULL_MALLOC_INIT set */ -#define CONFIG_MALLOC_F_ADDR 0x182000 /* For RAW image gives a error info not panic */
#define CONFIG_POWER_PFUZE100
This has no positive effect.
By the way: I have to remove the hdmi_phy node. Otherwise the board is no longer able to start:
--- 8< --- U-Boot SPL 2022.10-rc4-00038-ge3fce5e560-dirty (Sep 13 2022 - 09:20:21 +0200) pmic_alloc: No available memory for allocation! power_pfuze100_init: POWER allocation error! SEC0: RNG instantiated Normal Boot Trying to boot from MMC2 þ U-Boot SPL 2022.10-rc4-00038-ge3fce5e560-dirty (Sep 13 2022 - 09:20:21 +0200) pmic_alloc: No available memory for allocation! power_pfuze100_init: POWER allocation error! SEC0: RNG instantiated Normal Boot Trying to boot from MMC2 : --- 8< ---
diff --git a/arch/arm/dts/imx8mq.dtsi b/arch/arm/dts/imx8mq.dtsi index 49eadb081b..e0d1fd2b02 100644 --- a/arch/arm/dts/imx8mq.dtsi +++ b/arch/arm/dts/imx8mq.dtsi @@ -63,12 +63,12 @@ clock-output-names = "osc_27m"; };
- hdmi_phy_27m: clock-hdmi-phy-27m { - compatible = "fixed-clock"; - #clock-cells = <0>; - clock-frequency = <27000000>; - clock-output-names = "hdmi_phy_27m"; - }; +// hdmi_phy_27m: clock-hdmi-phy-27m { +// compatible = "fixed-clock"; +// #clock-cells = <0>; +// clock-frequency = <27000000>; +// clock-output-names = "hdmi_phy_27m"; +// };
clk_ext1: clock-ext1 { compatible = "fixed-clock";

On 9/13/2022 3:25 PM, Heiko Thiery wrote:
Hi Peng,
Am Di., 13. Sept. 2022 um 09:00 Uhr schrieb Peng Fan peng.fan@oss.nxp.com:
On 9/12/2022 3:48 PM, Heiko Thiery wrote:
Hi Peng,
Am Mo., 12. Sept. 2022 um 09:26 Uhr schrieb Peng Fan peng.fan@oss.nxp.com:
On 9/9/2022 5:12 PM, Heiko Thiery wrote:
HI,
I think on the imx8mq platform we have a problem with the introduction of the clock driver. I tried to debug the problem that the pitx-imx8m board was not able to start for some time. I was wondering why the pitx-im8m doesn't work anymore although the imx8mq_evk is running.
So I switched to the imx8mq_evk for counter testing. As I already figured out in [1] also the imx8mq_evk is not able to start properly.
On the EVK I enabled the DEBUG_UART and see the outputs below. I suspect all imx8mq boards have this problem.
CONFIG_DEBUG_UART_BASE=0x30860000 # for uart1 CONFIG_DEBUG_UART_CLOCK=24000000
--- 8< ---- U-Boot SPL 2022.10-rc4-00038-ge3fce5e560-dirty (Sep 09 2022 - 10:51:29 +0200) PMIC: PFUZE100 ID=0x10 SEC0: RNG instantiated Normal Boot Trying to boot from MMC2 clk_register: failed to get <NULL> device (parent of ckil) clk_register: failed to get <NULL> device (parent of clock-osc-27m) alloc space exhausted alloc space exhausted alloc space exhausted alloc space exhausted
Seems SPL_DM_CLK consumes the malloc space, so you meet such error.
I dont think the SPL is the problem. Because the output appears after "Trying to boot from MMC2".
Do you have time to give a try?
diff --git a/configs/imx8mq_evk_defconfig b/configs/imx8mq_evk_defconfig index cf207295e54..14b49ab5906 100644 --- a/configs/imx8mq_evk_defconfig +++ b/configs/imx8mq_evk_defconfig @@ -2,6 +2,7 @@ CONFIG_ARM=y CONFIG_ARCH_IMX8M=y CONFIG_SYS_TEXT_BASE=0x40200000 CONFIG_SYS_MALLOC_LEN=0x600000 +CONFIG_SYS_MALLOC_F_LEN=0x2800 CONFIG_SPL_GPIO=y CONFIG_SPL_LIBCOMMON_SUPPORT=y CONFIG_SPL_LIBGENERIC_SUPPORT=y @@ -36,7 +37,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 diff --git a/include/configs/imx8mq_evk.h b/include/configs/imx8mq_evk.h index ea4305667f2..728b4f7e665 100644 --- a/include/configs/imx8mq_evk.h +++ b/include/configs/imx8mq_evk.h @@ -16,8 +16,6 @@ /*#define CONFIG_ENABLE_DDR_TRAINING_DEBUG*/ #define CONFIG_SYS_SPL_PTE_RAM_BASE 0x41580000
-/* malloc f used before GD_FLG_FULL_MALLOC_INIT set */ -#define CONFIG_MALLOC_F_ADDR 0x182000 /* For RAW image gives a error info not panic */
#define CONFIG_POWER_PFUZE100
This has no positive effect.
Just posted a fix: "imx8mq_evk: enlarge SYS_MALLOC_F_LEN"
Thanks, Peng.
By the way: I have to remove the hdmi_phy node. Otherwise the board is no longer able to start:
--- 8< --- U-Boot SPL 2022.10-rc4-00038-ge3fce5e560-dirty (Sep 13 2022 - 09:20:21 +0200) pmic_alloc: No available memory for allocation! power_pfuze100_init: POWER allocation error! SEC0: RNG instantiated Normal Boot Trying to boot from MMC2 þ U-Boot SPL 2022.10-rc4-00038-ge3fce5e560-dirty (Sep 13 2022 - 09:20:21 +0200) pmic_alloc: No available memory for allocation! power_pfuze100_init: POWER allocation error! SEC0: RNG instantiated Normal Boot Trying to boot from MMC2 : --- 8< ---
diff --git a/arch/arm/dts/imx8mq.dtsi b/arch/arm/dts/imx8mq.dtsi index 49eadb081b..e0d1fd2b02 100644 --- a/arch/arm/dts/imx8mq.dtsi +++ b/arch/arm/dts/imx8mq.dtsi @@ -63,12 +63,12 @@ clock-output-names = "osc_27m"; };
hdmi_phy_27m: clock-hdmi-phy-27m {
compatible = "fixed-clock";
#clock-cells = <0>;
clock-frequency = <27000000>;
clock-output-names = "hdmi_phy_27m";
};
+// hdmi_phy_27m: clock-hdmi-phy-27m { +// compatible = "fixed-clock"; +// #clock-cells = <0>; +// clock-frequency = <27000000>; +// clock-output-names = "hdmi_phy_27m"; +// };
clk_ext1: clock-ext1 { compatible = "fixed-clock";
participants (3)
-
Angus Ainslie
-
Heiko Thiery
-
Peng Fan