Problem IMX8MN booting legacy kernel and mipi display

Hi all
I have now able to pack those combination and all of them look ok
- mainline uboot - optee 3.15.0 - atf 2.5 - mainline kernel
- mainline uboot - optee 3.15.0 - imx-atf rel_imx_5.4.70_2.3.2 - Linux rel_imx_5.4.70_2.3.2
I have a setup where I can test some peripherals. I can run an optee test on both combinations The big issue I have it's the DSIM display it's not working and crashes the kernel using the rel_imx_5.4.70_2.3.2 nxp version. The mipi randomly deadlock the booting. If I don't register the mipi part it's ok. Can someone have an idea?
All of them can be test using a buildroot setup
Michael

On Wed, Feb 2, 2022 at 6:24 AM Michael Nazzareno Trimarchi michael@amarulasolutions.com wrote:
Hi all
I have now able to pack those combination and all of them look ok
mainline uboot
optee 3.15.0
atf 2.5
mainline kernel
mainline uboot
optee 3.15.0
imx-atf rel_imx_5.4.70_2.3.2
Linux rel_imx_5.4.70_2.3.2
I have a setup where I can test some peripherals. I can run an optee test on both combinations The big issue I have it's the DSIM display it's not working and crashes the kernel using the rel_imx_5.4.70_2.3.2 nxp version. The mipi randomly deadlock the booting. If I don't register the mipi part it's ok. Can someone have an idea?
Are you using the Linux rel_imx_5.4.70_2.3.2 with imx-atf rel_imx_5.4.70_2.3.2?
The NXP kernel expects the NXP ATF code. The power-domain drivers in the NXP branch make secure calls to ATF which enable/disable the power-domains which control a bunch of peripherals like DSI, CSI, USB and GPU. If you're using the mainline ATF, I don't believe it contains the power-domain controllers, so when the Linux power-domain drivers make the secure calls, it's likely the power-domains won't change.
adam
All of them can be test using a buildroot setup
Michael

Hi Adam
On Wed, Feb 2, 2022 at 2:02 PM Adam Ford aford173@gmail.com wrote:
On Wed, Feb 2, 2022 at 6:24 AM Michael Nazzareno Trimarchi michael@amarulasolutions.com wrote:
Hi all
I have now able to pack those combination and all of them look ok
mainline uboot
optee 3.15.0
atf 2.5
mainline kernel
mainline uboot
optee 3.15.0
imx-atf rel_imx_5.4.70_2.3.2
Linux rel_imx_5.4.70_2.3.2
I have a setup where I can test some peripherals. I can run an optee test on both combinations The big issue I have it's the DSIM display it's not working and crashes the kernel using the rel_imx_5.4.70_2.3.2 nxp version. The mipi randomly deadlock the booting. If I don't register the mipi part it's ok. Can someone have an idea?
Are you using the Linux rel_imx_5.4.70_2.3.2 with imx-atf rel_imx_5.4.70_2.3.2?
The NXP kernel expects the NXP ATF code. The power-domain drivers in the NXP branch make secure calls to ATF which enable/disable the power-domains which control a bunch of peripherals like DSI, CSI, USB and GPU. If you're using the mainline ATF, I don't believe it contains the power-domain controllers, so when the Linux power-domain drivers make the secure calls, it's likely the power-domains won't change.
- mainline uboot - optee 3.15.0 - imx-atf rel_imx_5.4.70_2.3.2 - Linux rel_imx_5.4.70_2.3.2
I have tried even to not load optee in the image but still the same
Michael
adam
All of them can be test using a buildroot setup
Michael

On Wed, Feb 2, 2022 at 5:04 AM Michael Nazzareno Trimarchi michael@amarulasolutions.com wrote:
Hi Adam
On Wed, Feb 2, 2022 at 2:02 PM Adam Ford aford173@gmail.com wrote:
On Wed, Feb 2, 2022 at 6:24 AM Michael Nazzareno Trimarchi michael@amarulasolutions.com wrote:
Hi all
I have now able to pack those combination and all of them look ok
mainline uboot
optee 3.15.0
atf 2.5
mainline kernel
mainline uboot
optee 3.15.0
imx-atf rel_imx_5.4.70_2.3.2
Linux rel_imx_5.4.70_2.3.2
I have a setup where I can test some peripherals. I can run an optee test on both combinations The big issue I have it's the DSIM display it's not working and crashes the kernel using the rel_imx_5.4.70_2.3.2 nxp version. The mipi randomly deadlock the booting. If I don't register the mipi part it's ok. Can someone have an idea?
Are you using the Linux rel_imx_5.4.70_2.3.2 with imx-atf rel_imx_5.4.70_2.3.2?
The NXP kernel expects the NXP ATF code. The power-domain drivers in the NXP branch make secure calls to ATF which enable/disable the power-domains which control a bunch of peripherals like DSI, CSI, USB and GPU. If you're using the mainline ATF, I don't believe it contains the power-domain controllers, so when the Linux power-domain drivers make the secure calls, it's likely the power-domains won't change.
- mainline uboot
- optee 3.15.0
- imx-atf rel_imx_5.4.70_2.3.2
- Linux rel_imx_5.4.70_2.3.2
I have tried even to not load optee in the image but still the same
Michael
adam
All of them can be test using a buildroot setup
Michael
Michael,
I have not bothered with NXP's kernel, but I do have DSIM working on 5.15 with a set of patches here https://github.com/Gateworks/linux-venice if it is helpful. I've been using this with a mainline U-Boot, imx-atf lf_v2.4.
Tim

Hi
On Wed, Feb 2, 2022 at 4:54 PM Tim Harvey tharvey@gateworks.com wrote:
On Wed, Feb 2, 2022 at 5:04 AM Michael Nazzareno Trimarchi michael@amarulasolutions.com wrote:
Hi Adam
On Wed, Feb 2, 2022 at 2:02 PM Adam Ford aford173@gmail.com wrote:
On Wed, Feb 2, 2022 at 6:24 AM Michael Nazzareno Trimarchi michael@amarulasolutions.com wrote:
Hi all
I have now able to pack those combination and all of them look ok
mainline uboot
optee 3.15.0
atf 2.5
mainline kernel
mainline uboot
optee 3.15.0
imx-atf rel_imx_5.4.70_2.3.2
Linux rel_imx_5.4.70_2.3.2
I have a setup where I can test some peripherals. I can run an optee test on both combinations The big issue I have it's the DSIM display it's not working and crashes the kernel using the rel_imx_5.4.70_2.3.2 nxp version. The mipi randomly deadlock the booting. If I don't register the mipi part it's ok. Can someone have an idea?
Are you using the Linux rel_imx_5.4.70_2.3.2 with imx-atf rel_imx_5.4.70_2.3.2?
The NXP kernel expects the NXP ATF code. The power-domain drivers in the NXP branch make secure calls to ATF which enable/disable the power-domains which control a bunch of peripherals like DSI, CSI, USB and GPU. If you're using the mainline ATF, I don't believe it contains the power-domain controllers, so when the Linux power-domain drivers make the secure calls, it's likely the power-domains won't change.
- mainline uboot
- optee 3.15.0
- imx-atf rel_imx_5.4.70_2.3.2
- Linux rel_imx_5.4.70_2.3.2
I have tried even to not load optee in the image but still the same
Michael
adam
All of them can be test using a buildroot setup
Michael
Michael,
I have not bothered with NXP's kernel, but I do have DSIM working on 5.15 with a set of patches here https://github.com/Gateworks/linux-venice if it is helpful. I've been using this with a mainline U-Boot, imx-atf lf_v2.4.
I can not boot with lf_v2.4 but I can with atf 2.5
U-Boot SPL 2022.01 (Feb 03 2022 - 00:40:59 +0100) WDT: Started watchdog@30280000 with servicing (60s timeout) Trying to boot from BOOTROM Find img info 0x&4802ea00, size 1304 Need continue download 1024 Download 1091320, Total size 1092856 NOTICE: BL31: v2.5(debug):2021.11-1336-gd5b2784b98 NOTICE: BL31: Built : 00:40:52, Feb 3 2022 INFO: GICv3 with legacy support detected. INFO: ARM GICv3 driver initialized in EL3 INFO: Maximum SPI INTID supported: 159 INFO: BL31: Initializing runtime services INFO: BL31: cortex_a53: CPU workaround for 855873 was applied WARNING: BL31: cortex_a53: CPU workaround for 1530924 was missing! INFO: BL31: Initializing BL32 INFO: BL31: Preparing for EL3 exit to normal world INFO: Entry point address = 0x40200000 INFO: SPSR = 0x3c9
U-Boot 2022.01 (Feb 03 2022 - 00:40:59 +0100)
CPU: Freescale i.MX8MNano Solo rev1.0 at 1200 MHz Reset cause: POR Model: BSH SMM S2 PRO DRAM: 504 MiB WDT: Started watchdog@30280000 with servicing (60s timeout) MMC: FSL_SDHC: 0, FSL_SDHC: 1 Loading Environment from nowhere... OK In: serial Out: serial Err: serial
Michael
Tim

Hi Tim
You are using the imx8mm. I have problems on imx8mn. It's like some part is not implemented. Time to time power domain timeout if I enabled mipi pipeline
Michael
On Wed, Feb 2, 2022 at 4:54 PM Tim Harvey tharvey@gateworks.com wrote:
On Wed, Feb 2, 2022 at 5:04 AM Michael Nazzareno Trimarchi michael@amarulasolutions.com wrote:
Hi Adam
On Wed, Feb 2, 2022 at 2:02 PM Adam Ford aford173@gmail.com wrote:
On Wed, Feb 2, 2022 at 6:24 AM Michael Nazzareno Trimarchi michael@amarulasolutions.com wrote:
Hi all
I have now able to pack those combination and all of them look ok
mainline uboot
optee 3.15.0
atf 2.5
mainline kernel
mainline uboot
optee 3.15.0
imx-atf rel_imx_5.4.70_2.3.2
Linux rel_imx_5.4.70_2.3.2
I have a setup where I can test some peripherals. I can run an optee test on both combinations The big issue I have it's the DSIM display it's not working and crashes the kernel using the rel_imx_5.4.70_2.3.2 nxp version. The mipi randomly deadlock the booting. If I don't register the mipi part it's ok. Can someone have an idea?
Are you using the Linux rel_imx_5.4.70_2.3.2 with imx-atf rel_imx_5.4.70_2.3.2?
The NXP kernel expects the NXP ATF code. The power-domain drivers in the NXP branch make secure calls to ATF which enable/disable the power-domains which control a bunch of peripherals like DSI, CSI, USB and GPU. If you're using the mainline ATF, I don't believe it contains the power-domain controllers, so when the Linux power-domain drivers make the secure calls, it's likely the power-domains won't change.
- mainline uboot
- optee 3.15.0
- imx-atf rel_imx_5.4.70_2.3.2
- Linux rel_imx_5.4.70_2.3.2
I have tried even to not load optee in the image but still the same
Michael
adam
All of them can be test using a buildroot setup
Michael
Michael,
I have not bothered with NXP's kernel, but I do have DSIM working on 5.15 with a set of patches here https://github.com/Gateworks/linux-venice if it is helpful. I've been using this with a mainline U-Boot, imx-atf lf_v2.4.
Tim

On Sat, Feb 12, 2022 at 1:27 PM Michael Nazzareno Trimarchi michael@amarulasolutions.com wrote:
Hi Tim
You are using the imx8mm. I have problems on imx8mn. It's like some part is not implemented. Time to time power domain timeout if I enabled mipi pipeline
If you're using ATF from its mainline branch, it likely does not have the power domain code enabled, so many peripherals (including DSI and CSI) likely won't work.
The power-domain code would be located in gpc.v [1], but as far as I know, attempts to push that upstream were abandoned in favor of having Linux do the power domain stuff, so to use NXP's kernel, you'll need NXP's ATF.
[1] - https://source.codeaurora.org/external/imx/imx-atf/tree/plat/imx/imx8m/imx8m...
adam
Michael
On Wed, Feb 2, 2022 at 4:54 PM Tim Harvey tharvey@gateworks.com wrote:
On Wed, Feb 2, 2022 at 5:04 AM Michael Nazzareno Trimarchi michael@amarulasolutions.com wrote:
Hi Adam
On Wed, Feb 2, 2022 at 2:02 PM Adam Ford aford173@gmail.com wrote:
On Wed, Feb 2, 2022 at 6:24 AM Michael Nazzareno Trimarchi michael@amarulasolutions.com wrote:
Hi all
I have now able to pack those combination and all of them look ok
mainline uboot
optee 3.15.0
atf 2.5
mainline kernel
mainline uboot
optee 3.15.0
imx-atf rel_imx_5.4.70_2.3.2
Linux rel_imx_5.4.70_2.3.2
I have a setup where I can test some peripherals. I can run an optee test on both combinations The big issue I have it's the DSIM display it's not working and crashes the kernel using the rel_imx_5.4.70_2.3.2 nxp version. The mipi randomly deadlock the booting. If I don't register the mipi part it's ok. Can someone have an idea?
Are you using the Linux rel_imx_5.4.70_2.3.2 with imx-atf rel_imx_5.4.70_2.3.2?
The NXP kernel expects the NXP ATF code. The power-domain drivers in the NXP branch make secure calls to ATF which enable/disable the power-domains which control a bunch of peripherals like DSI, CSI, USB and GPU. If you're using the mainline ATF, I don't believe it contains the power-domain controllers, so when the Linux power-domain drivers make the secure calls, it's likely the power-domains won't change.
- mainline uboot
- optee 3.15.0
- imx-atf rel_imx_5.4.70_2.3.2
- Linux rel_imx_5.4.70_2.3.2
I have tried even to not load optee in the image but still the same
Michael
adam
All of them can be test using a buildroot setup
Michael
Michael,
I have not bothered with NXP's kernel, but I do have DSIM working on 5.15 with a set of patches here https://github.com/Gateworks/linux-venice if it is helpful. I've been using this with a mainline U-Boot, imx-atf lf_v2.4.
Tim
-- Michael Nazzareno Trimarchi Co-Founder & Chief Executive Officer M. +39 347 913 2170 michael@amarulasolutions.com __________________________________
Amarula Solutions BV Joop Geesinkweg 125, 1114 AB, Amsterdam, NL T. +31 (0)85 111 9172 info@amarulasolutions.com www.amarulasolutions.com

Hi Adam
On Sun, Feb 13, 2022 at 5:03 PM Adam Ford aford173@gmail.com wrote:
On Sat, Feb 12, 2022 at 1:27 PM Michael Nazzareno Trimarchi michael@amarulasolutions.com wrote:
Hi Tim
You are using the imx8mm. I have problems on imx8mn. It's like some part is not implemented. Time to time power domain timeout if I enabled mipi pipeline
If you're using ATF from its mainline branch, it likely does not have the power domain code enabled, so many peripherals (including DSI and CSI) likely won't work.
The power-domain code would be located in gpc.v [1], but as far as I know, attempts to push that upstream were abandoned in favor of having Linux do the power domain stuff, so to use NXP's kernel, you'll need NXP's ATF.
[1] - https://source.codeaurora.org/external/imx/imx-atf/tree/plat/imx/imx8m/imx8m...
I;m working on mainline on each component. I was thinking that blk-ctrl do the stuff there
Michael
adam
Michael
On Wed, Feb 2, 2022 at 4:54 PM Tim Harvey tharvey@gateworks.com wrote:
On Wed, Feb 2, 2022 at 5:04 AM Michael Nazzareno Trimarchi michael@amarulasolutions.com wrote:
Hi Adam
On Wed, Feb 2, 2022 at 2:02 PM Adam Ford aford173@gmail.com wrote:
On Wed, Feb 2, 2022 at 6:24 AM Michael Nazzareno Trimarchi michael@amarulasolutions.com wrote:
Hi all
I have now able to pack those combination and all of them look ok
mainline uboot
optee 3.15.0
atf 2.5
mainline kernel
mainline uboot
optee 3.15.0
imx-atf rel_imx_5.4.70_2.3.2
Linux rel_imx_5.4.70_2.3.2
I have a setup where I can test some peripherals. I can run an optee test on both combinations The big issue I have it's the DSIM display it's not working and crashes the kernel using the rel_imx_5.4.70_2.3.2 nxp version. The mipi randomly deadlock the booting. If I don't register the mipi part it's ok. Can someone have an idea?
Are you using the Linux rel_imx_5.4.70_2.3.2 with imx-atf rel_imx_5.4.70_2.3.2?
The NXP kernel expects the NXP ATF code. The power-domain drivers in the NXP branch make secure calls to ATF which enable/disable the power-domains which control a bunch of peripherals like DSI, CSI, USB and GPU. If you're using the mainline ATF, I don't believe it contains the power-domain controllers, so when the Linux power-domain drivers make the secure calls, it's likely the power-domains won't change.
- mainline uboot
- optee 3.15.0
- imx-atf rel_imx_5.4.70_2.3.2
- Linux rel_imx_5.4.70_2.3.2
I have tried even to not load optee in the image but still the same
Michael
adam
All of them can be test using a buildroot setup
Michael
Michael,
I have not bothered with NXP's kernel, but I do have DSIM working on 5.15 with a set of patches here https://github.com/Gateworks/linux-venice if it is helpful. I've been using this with a mainline U-Boot, imx-atf lf_v2.4.
Tim
-- Michael Nazzareno Trimarchi Co-Founder & Chief Executive Officer M. +39 347 913 2170 michael@amarulasolutions.com __________________________________
Amarula Solutions BV Joop Geesinkweg 125, 1114 AB, Amsterdam, NL T. +31 (0)85 111 9172 info@amarulasolutions.com www.amarulasolutions.com

On Sun, Feb 13, 2022 at 10:27 AM Michael Nazzareno Trimarchi michael@amarulasolutions.com wrote:
Hi Adam
On Sun, Feb 13, 2022 at 5:03 PM Adam Ford aford173@gmail.com wrote:
On Sat, Feb 12, 2022 at 1:27 PM Michael Nazzareno Trimarchi michael@amarulasolutions.com wrote:
Hi Tim
You are using the imx8mm. I have problems on imx8mn. It's like some part is not implemented. Time to time power domain timeout if I enabled mipi pipeline
If you're using ATF from its mainline branch, it likely does not have the power domain code enabled, so many peripherals (including DSI and CSI) likely won't work.
The power-domain code would be located in gpc.v [1], but as far as I know, attempts to push that upstream were abandoned in favor of having Linux do the power domain stuff, so to use NXP's kernel, you'll need NXP's ATF.
[1] - https://source.codeaurora.org/external/imx/imx-atf/tree/plat/imx/imx8m/imx8m...
I;m working on mainline on each component. I was thinking that blk-ctrl do the stuff there
When I did the blk-ctrl porting to the Nano, we didn't have a functional DSI driver, so I did what I thought was best based on the limited information I had and I had no way to test it. I know several others have attempted various driver ports, but I don;t know which one you're trying to use. If you have a repo that you're using, I can try to take a look at it.
adam
Michael
adam
Michael
On Wed, Feb 2, 2022 at 4:54 PM Tim Harvey tharvey@gateworks.com wrote:
On Wed, Feb 2, 2022 at 5:04 AM Michael Nazzareno Trimarchi michael@amarulasolutions.com wrote:
Hi Adam
On Wed, Feb 2, 2022 at 2:02 PM Adam Ford aford173@gmail.com wrote:
On Wed, Feb 2, 2022 at 6:24 AM Michael Nazzareno Trimarchi michael@amarulasolutions.com wrote: > > Hi all > > I have now able to pack those combination and all of them look ok > > - mainline uboot > - optee 3.15.0 > - atf 2.5 > - mainline kernel > > - mainline uboot > - optee 3.15.0 > - imx-atf rel_imx_5.4.70_2.3.2 > - Linux rel_imx_5.4.70_2.3.2 > > I have a setup where I can test some peripherals. I can run an optee > test on both combinations > The big issue I have it's the DSIM display it's not working and > crashes the kernel using the rel_imx_5.4.70_2.3.2 nxp version. The > mipi > randomly deadlock the booting. If I don't register the mipi part it's > ok. Can someone have an idea?
Are you using the Linux rel_imx_5.4.70_2.3.2 with imx-atf rel_imx_5.4.70_2.3.2?
The NXP kernel expects the NXP ATF code. The power-domain drivers in the NXP branch make secure calls to ATF which enable/disable the power-domains which control a bunch of peripherals like DSI, CSI, USB and GPU. If you're using the mainline ATF, I don't believe it contains the power-domain controllers, so when the Linux power-domain drivers make the secure calls, it's likely the power-domains won't change.
- mainline uboot
- optee 3.15.0
- imx-atf rel_imx_5.4.70_2.3.2
- Linux rel_imx_5.4.70_2.3.2
I have tried even to not load optee in the image but still the same
Michael
adam > > All of them can be test using a buildroot setup > > Michael
Michael,
I have not bothered with NXP's kernel, but I do have DSIM working on 5.15 with a set of patches here https://github.com/Gateworks/linux-venice if it is helpful. I've been using this with a mainline U-Boot, imx-atf lf_v2.4.
Tim
-- Michael Nazzareno Trimarchi Co-Founder & Chief Executive Officer M. +39 347 913 2170 michael@amarulasolutions.com __________________________________
Amarula Solutions BV Joop Geesinkweg 125, 1114 AB, Amsterdam, NL T. +31 (0)85 111 9172 info@amarulasolutions.com www.amarulasolutions.com
-- Michael Nazzareno Trimarchi Co-Founder & Chief Executive Officer M. +39 347 913 2170 michael@amarulasolutions.com __________________________________
Amarula Solutions BV Joop Geesinkweg 125, 1114 AB, Amsterdam, NL T. +31 (0)85 111 9172 info@amarulasolutions.com www.amarulasolutions.com
participants (3)
-
Adam Ford
-
Michael Nazzareno Trimarchi
-
Tim Harvey