[U-Boot] Booting imx_4.14.98_2.0.0_ga on i.MX8QM MEK Board

Hi Peng, Stefano and Fabio
We are currently trying to boot the Linux kernel from NXP's downstream Linux BSP 4.14.98_2.0.0_ga with mainline U-Boot. However, that currently seems to crash as follows:
... [ 1.563380] 5a090000.serial: ttyLP3 at MMIO 0x5a090010 (irq = 72, base_baud = 5000000) is a FSL_LPUART [ 1.575723] arm-smmu 51400000.iommu: probing hardware configuration... [ 1.582278] arm-smmu 51400000.iommu: SMMUv2 with: [ 1.586993] Synchronous External Abort: synchronous external abort (0x96000210) at 0xffff00000fa40020 [ 1.596233] Internal error: : 96000210 [#1] PREEMPT SMP [ 1.601458] Modules linked in: [ 1.604521] CPU: 2 PID: 1 Comm: swapper/0 Not tainted 4.14.98- imx_4.14.98_2.0.0_ga+g5d6cbea #1 [ 1.613132] Hardware name: Freescale i.MX8QM MEK (DT) [ 1.618180] task: ffff8008f6c98000 task.stack: ffff000008068000 [ 1.624119] PC is at arm_smmu_device_probe+0x334/0xc58 [ 1.629256] LR is at arm_smmu_device_probe+0x334/0xc58 [ 1.634399] pc : [<ffff00000865108c>] lr : [<ffff00000865108c>] pstate: 40000045 [ 1.641792] sp : ffff00000806bbf0 [ 1.645100] x29: ffff00000806bbf0 x28: ffff0000094dab58 [ 1.650417] x27: 0000000000000007 x26: ffff0000093b046c [ 1.655733] x25: 0000000000000000 x24: 0000000000000000 [ 1.661050] x23: ffff00000fa40020 x22: ffff8008f72e3410 [ 1.666367] x21: 0000000000000021 x20: ffff00000fa40000 [ 1.671684] x19: ffff8008f78e3218 x18: 0000000000000010 [ 1.677000] x17: 0000000000000001 x16: 0000000000000000 [ 1.682308] x15: ffffffffffffffff x14: ffff0000896a5547 [ 1.687625] x13: ffff0000096a5555 x12: ffff0000094f8df8 [ 1.692942] x11: ffff0000086373a0 x10: ffff00000806b850 [ 1.698259] x9 : 0000000000000006 x8 : 203276554d4d5320 [ 1.703575] x7 : 3a756d6d6f692e30 x6 : 00000000000000e4 [ 1.708892] x5 : 0000000000000000 x4 : 0000000000000000 [ 1.714209] x3 : ffffffffffffffff x2 : ffff000009512f68 [ 1.719526] x1 : ffff8008f6c98000 x0 : 0000000000000025 [ 1.724845] Process swapper/0 (pid: 1, stack limit = 0xffff000008068000) [ 1.731545] Call trace: [ 1.733994] Exception stack(0xffff00000806bab0 to 0xffff00000806bbf0) [ 1.740441] baa0: 0000000000000025 ffff8008f6c98000 [ 1.748275] bac0: ffff000009512f68 ffffffffffffffff 0000000000000000 0000000000000000 [ 1.756111] bae0: 00000000000000e4 3a756d6d6f692e30 203276554d4d5320 0000000000000006 [ 1.763947] bb00: ffff00000806b850 ffff0000086373a0 ffff0000094f8df8 ffff0000096a5555 [ 1.771783] bb20: ffff0000896a5547 ffffffffffffffff 0000000000000000 0000000000000001 [ 1.779619] bb40: 0000000000000010 ffff8008f78e3218 ffff00000fa40000 0000000000000021 [ 1.787458] bb60: ffff8008f72e3410 ffff00000fa40020 0000000000000000 0000000000000000 [ 1.795292] bb80: ffff0000093b046c 0000000000000007 ffff0000094dab58 ffff00000806bbf0 [ 1.803130] bba0: ffff00000865108c ffff00000806bbf0 ffff00000865108c 0000000040000045 [ 1.810964] bbc0: 0000000000000002 ffffffffffffffff ffffffffffffffff 0000000000000000 [ 1.818799] bbe0: ffff00000806bbf0 ffff00000865108c [ 1.823678] [<ffff00000865108c>] arm_smmu_device_probe+0x334/0xc58 [ 1.829867] [<ffff0000086da948>] platform_drv_probe+0x58/0xb8 [ 1.835612] [<ffff0000086d8d28>] driver_probe_device+0x210/0x2d0 [ 1.841624] [<ffff0000086d8ea4>] __driver_attach+0xbc/0xc0 [ 1.847117] [<ffff0000086d6e84>] bus_for_each_dev+0x4c/0x98 [ 1.852691] [<ffff0000086d8640>] driver_attach+0x20/0x28 [ 1.858001] [<ffff0000086d8190>] bus_add_driver+0x1b8/0x228 [ 1.863575] [<ffff0000086d9840>] driver_register+0x60/0xf8 [ 1.869057] [<ffff0000086da898>] __platform_driver_register+0x40/0x48 [ 1.875502] [<ffff0000093fded4>] arm_smmu_driver_init+0x1c/0x24 [ 1.881424] [<ffff000008083c90>] do_one_initcall+0x38/0x128 [ 1.887004] [<ffff0000093b0d0c>] kernel_init_freeable+0x188/0x22c [ 1.893102] [<ffff000008da15b8>] kernel_init+0x10/0x108 [ 1.898325] [<ffff000008084ed8>] ret_from_fork+0x10/0x18 [ 1.903637] Code: 911ac021 1a9f17e2 11000442 94020db0 (b94002f7) [ 1.909748] ---[ end trace c4668f185ae22c3f ]--- [ 1.914394] Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b [ 1.914394] [ 1.923532] SMP: stopping secondary CPUs [ 1.927458] Kernel Offset: disabled [ 1.930950] CPU features: 0x180200c [ 1.934441] Memory Limit: none [ 1.937501] ---[ end Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b [ 1.937501]
Does any of you know what exactly could be going on?
BTW: The exact same crash is observed on Apalis iMX8 as well, while both the i.MX8QXP MEK as well as Colibri iMX8QXP boot that same downstream Linux kernel just fine. Must be something i.MX 8QuadMax specific...
Cheers
Marcel

Hi Marcel,
Subject: Booting imx_4.14.98_2.0.0_ga on i.MX8QM MEK Board
Hi Peng, Stefano and Fabio
We are currently trying to boot the Linux kernel from NXP's downstream Linux BSP 4.14.98_2.0.0_ga with mainline U-Boot. However, that currently seems to crash as follows:
... [ 1.563380] 5a090000.serial: ttyLP3 at MMIO 0x5a090010 (irq = 72, base_baud = 5000000) is a FSL_LPUART [ 1.575723] arm-smmu 51400000.iommu: probing hardware configuration... [ 1.582278] arm-smmu 51400000.iommu: SMMUv2 with: [ 1.586993] Synchronous External Abort: synchronous external abort (0x96000210) at 0xffff00000fa40020 [ 1.596233] Internal error: : 96000210 [#1] PREEMPT SMP [ 1.601458] Modules linked in: [ 1.604521] CPU: 2 PID: 1 Comm: swapper/0 Not tainted 4.14.98- imx_4.14.98_2.0.0_ga+g5d6cbea #1 [ 1.613132] Hardware name: Freescale i.MX8QM MEK (DT) [ 1.618180] task: ffff8008f6c98000 task.stack: ffff000008068000 [ 1.624119] PC is at arm_smmu_device_probe+0x334/0xc58 [ 1.629256] LR is at arm_smmu_device_probe+0x334/0xc58 [ 1.634399] pc : [<ffff00000865108c>] lr : [<ffff00000865108c>] pstate: 40000045 [ 1.641792] sp : ffff00000806bbf0 [ 1.645100] x29: ffff00000806bbf0 x28: ffff0000094dab58 [ 1.650417] x27: 0000000000000007 x26: ffff0000093b046c [ 1.655733] x25: 0000000000000000 x24: 0000000000000000 [ 1.661050] x23: ffff00000fa40020 x22: ffff8008f72e3410 [ 1.666367] x21: 0000000000000021 x20: ffff00000fa40000 [ 1.671684] x19: ffff8008f78e3218 x18: 0000000000000010 [ 1.677000] x17: 0000000000000001 x16: 0000000000000000 [ 1.682308] x15: ffffffffffffffff x14: ffff0000896a5547 [ 1.687625] x13: ffff0000096a5555 x12: ffff0000094f8df8 [ 1.692942] x11: ffff0000086373a0 x10: ffff00000806b850 [ 1.698259] x9 : 0000000000000006 x8 : 203276554d4d5320 [ 1.703575] x7 : 3a756d6d6f692e30 x6 : 00000000000000e4 [ 1.708892] x5 : 0000000000000000 x4 : 0000000000000000 [ 1.714209] x3 : ffffffffffffffff x2 : ffff000009512f68 [ 1.719526] x1 : ffff8008f6c98000 x0 : 0000000000000025 [ 1.724845] Process swapper/0 (pid: 1, stack limit = 0xffff000008068000) [ 1.731545] Call trace: [ 1.733994] Exception stack(0xffff00000806bab0 to 0xffff00000806bbf0) [ 1.740441] baa0: 0000000000000025 ffff8008f6c98000 [ 1.748275] bac0: ffff000009512f68 ffffffffffffffff 0000000000000000 0000000000000000 [ 1.756111] bae0: 00000000000000e4 3a756d6d6f692e30 203276554d4d5320 0000000000000006 [ 1.763947] bb00: ffff00000806b850 ffff0000086373a0 ffff0000094f8df8 ffff0000096a5555 [ 1.771783] bb20: ffff0000896a5547 ffffffffffffffff 0000000000000000 0000000000000001 [ 1.779619] bb40: 0000000000000010 ffff8008f78e3218 ffff00000fa40000 0000000000000021 [ 1.787458] bb60: ffff8008f72e3410 ffff00000fa40020 0000000000000000 0000000000000000 [ 1.795292] bb80: ffff0000093b046c 0000000000000007 ffff0000094dab58 ffff00000806bbf0 [ 1.803130] bba0: ffff00000865108c ffff00000806bbf0 ffff00000865108c 0000000040000045 [ 1.810964] bbc0: 0000000000000002 ffffffffffffffff ffffffffffffffff 0000000000000000 [ 1.818799] bbe0: ffff00000806bbf0 ffff00000865108c [ 1.823678] [<ffff00000865108c>] arm_smmu_device_probe+0x334/0xc58 [ 1.829867] [<ffff0000086da948>] platform_drv_probe+0x58/0xb8 [ 1.835612] [<ffff0000086d8d28>] driver_probe_device+0x210/0x2d0 [ 1.841624] [<ffff0000086d8ea4>] __driver_attach+0xbc/0xc0 [ 1.847117] [<ffff0000086d6e84>] bus_for_each_dev+0x4c/0x98 [ 1.852691] [<ffff0000086d8640>] driver_attach+0x20/0x28 [ 1.858001] [<ffff0000086d8190>] bus_add_driver+0x1b8/0x228 [ 1.863575] [<ffff0000086d9840>] driver_register+0x60/0xf8 [ 1.869057] [<ffff0000086da898>] __platform_driver_register+0x40/0x48 [ 1.875502] [<ffff0000093fded4>] arm_smmu_driver_init+0x1c/0x24 [ 1.881424] [<ffff000008083c90>] do_one_initcall+0x38/0x128 [ 1.887004] [<ffff0000093b0d0c>] kernel_init_freeable+0x188/0x22c [ 1.893102] [<ffff000008da15b8>] kernel_init+0x10/0x108 [ 1.898325] [<ffff000008084ed8>] ret_from_fork+0x10/0x18 [ 1.903637] Code: 911ac021 1a9f17e2 11000442 94020db0 (b94002f7) [ 1.909748] ---[ end trace c4668f185ae22c3f ]--- [ 1.914394] Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b [ 1.914394] [ 1.923532] SMP: stopping secondary CPUs [ 1.927458] Kernel Offset: disabled [ 1.930950] CPU features: 0x180200c [ 1.934441] Memory Limit: none [ 1.937501] ---[ end Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b [ 1.937501]
Does any of you know what exactly could be going on?
SMMU is not powered up, so smmu driver probe triggers abort when accessing SMMU registers. Need power up SC_R_SMMU.
BTW: The exact same crash is observed on Apalis iMX8 as well, while both the i.MX8QXP MEK as well as Colibri iMX8QXP boot that same downstream Linux kernel just fine. Must be something i.MX 8QuadMax specific...
There is no SMMU on i.MX8QXP.
Regards, Peng.
Cheers
Marcel

Hi Peng
On Thu, 2019-05-02 at 03:57 +0000, Peng Fan wrote:
Hi Marcel,
Subject: Booting imx_4.14.98_2.0.0_ga on i.MX8QM MEK Board
Hi Peng, Stefano and Fabio
We are currently trying to boot the Linux kernel from NXP's downstream Linux BSP 4.14.98_2.0.0_ga with mainline U-Boot. However, that currently seems to crash as follows:
...
Does any of you know what exactly could be going on?
SMMU is not powered up, so smmu driver probe triggers abort when accessing SMMU registers. Need power up SC_R_SMMU.
I see, this is actually done in downstream U-Boot:
https://source.codeaurora.org/external/imx/uboot-imx/commit/?h=imx_v2018.03_...
Wondering how that is supposed to work with mainline U-Boot at the end.
BTW: The exact same crash is observed on Apalis iMX8 as well, while both the i.MX8QXP MEK as well as Colibri iMX8QXP boot that same downstream Linux kernel just fine. Must be something i.MX 8QuadMax specific...
There is no SMMU on i.MX8QXP.
Funny, at least in downstream U-Boot the same SMMU setup is done (;-p).
Regards, Peng.
Thanks, Peng!
Cheers
Marcel
Cheers
Marcel

-----Original Message----- From: Marcel Ziswiler [mailto:marcel.ziswiler@toradex.com] Sent: 2019年5月2日 17:47 To: Peng Fan peng.fan@nxp.com; Fabio Estevam fabio.estevam@nxp.com; sbabic@denx.de Cc: u-boot@lists.denx.de; dl-uboot-imx uboot-imx@nxp.com Subject: Re: Booting imx_4.14.98_2.0.0_ga on i.MX8QM MEK Board
Hi Peng
On Thu, 2019-05-02 at 03:57 +0000, Peng Fan wrote:
Hi Marcel,
Subject: Booting imx_4.14.98_2.0.0_ga on i.MX8QM MEK Board
Hi Peng, Stefano and Fabio
We are currently trying to boot the Linux kernel from NXP's downstream Linux BSP 4.14.98_2.0.0_ga with mainline U-Boot. However, that currently seems to crash as follows:
...
Does any of you know what exactly could be going on?
SMMU is not powered up, so smmu driver probe triggers abort when accessing SMMU registers. Need power up SC_R_SMMU.
I see, this is actually done in downstream U-Boot:
https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fsource .codeaurora.org%2Fexternal%2Fimx%2Fuboot-imx%2Fcommit%2F%3Fh%3Di mx_v2018.03_4.14.98_2.0.0_ga%26id%3D45308e7da90f342c2de7fbec1f8c5 b8bd3f1b8e5&data=02%7C01%7Cpeng.fan%40nxp.com%7C4ba5e68e20 6341af29df08d6cee328ab%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0% 7C0%7C636923872368096043&sdata=tj%2B9CGkzJhsidj8HvniZ7%2B%2 FFK%2BbbE4GrP%2FJ5aeu5NiE%3D&reserved=0
Wondering how that is supposed to work with mainline U-Boot at the end.
I think just power up SMMU is fine in mainline U-Boot.
BTW: The exact same crash is observed on Apalis iMX8 as well, while both the i.MX8QXP MEK as well as Colibri iMX8QXP boot that same downstream Linux kernel just fine. Must be something i.MX 8QuadMax specific...
There is no SMMU on i.MX8QXP.
Funny, at least in downstream U-Boot the same SMMU setup is done (;-p).
CONFIG_IMX_SMMU is not defined for i.MX8QXP.
Regards, Peng.
Regards, Peng.
Thanks, Peng!
Cheers
Marcel
Cheers
Marcel

Hi Peng
On Thu, 2019-05-02 at 10:06 +0000, Peng Fan wrote:
-----Original Message----- From: Marcel Ziswiler [mailto:marcel.ziswiler@toradex.com] Sent: 2019年5月2日 17:47 To: Peng Fan peng.fan@nxp.com; Fabio Estevam fabio.estevam@nxp.com; sbabic@denx.de Cc: u-boot@lists.denx.de; dl-uboot-imx uboot-imx@nxp.com Subject: Re: Booting imx_4.14.98_2.0.0_ga on i.MX8QM MEK Board
Hi Peng
On Thu, 2019-05-02 at 03:57 +0000, Peng Fan wrote:
Hi Marcel,
Subject: Booting imx_4.14.98_2.0.0_ga on i.MX8QM MEK Board
Hi Peng, Stefano and Fabio
We are currently trying to boot the Linux kernel from NXP's downstream Linux BSP 4.14.98_2.0.0_ga with mainline U-Boot. However, that currently seems to crash as follows:
...
Does any of you know what exactly could be going on?
SMMU is not powered up, so smmu driver probe triggers abort when accessing SMMU registers. Need power up SC_R_SMMU.
I see, this is actually done in downstream U-Boot:
https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fsource .codeaurora.org%2Fexternal%2Fimx%2Fuboot-imx%2Fcommit%2F%3Fh%3Di mx_v2018.03_4.14.98_2.0.0_ga%26id%3D45308e7da90f342c2de7fbec1f8c5 b8bd3f1b8e5&data=02%7C01%7Cpeng.fan%40nxp.com%7C4ba5e68e20 6341af29df08d6cee328ab%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0% 7C0%7C636923872368096043&sdata=tj%2B9CGkzJhsidj8HvniZ7%2B%2 FFK%2BbbE4GrP%2FJ5aeu5NiE%3D&reserved=0
Wondering how that is supposed to work with mainline U-Boot at the end.
Any comment/suggestion?
I think just power up SMMU is fine in mainline U-Boot.
BTW: The exact same crash is observed on Apalis iMX8 as well, while both the i.MX8QXP MEK as well as Colibri iMX8QXP boot that same downstream Linux kernel just fine. Must be something i.MX 8QuadMax specific...
There is no SMMU on i.MX8QXP.
Funny, at least in downstream U-Boot the same SMMU setup is done (;-p).
CONFIG_IMX_SMMU is not defined for i.MX8QXP.
I am wondering why exactly you would come to such a conclusion. At least the following configuration header file still seems to define it:
https://source.codeaurora.org/external/imx/uboot-imx/tree/include/configs/im...
Regards, Peng.
Regards, Peng.
Thanks, Peng!
Cheers
Marcel
Cheers
Marcel
Cheers
Marcel
participants (2)
-
Marcel Ziswiler
-
Peng Fan