Interfacing MIPI-DSI panel to IMX8M (Google Coral SoM)

Showing results for 
Search instead for 
Did you mean: 

Interfacing MIPI-DSI panel to IMX8M (Google Coral SoM)

Contributor II

Hi all, I am trying to add a DSI display to a carrier board that uses the Coral SoM - this has an i.MX8M SoC and I believe uses the nxp kernel source.

I could use some beginner level help! 

Looking at the fsl-imx8mq-som.dtsi file

( ),

relevant entries exist such as &dcss, &mipi_dsi, &mipi_dsi_bridge exist, configured to use the raydium,rm67191 driver.  I intended to enable these and then swap for the st7701 driver such as and adapt that to my panel.

However when I enable mipi_dsi and mipi_dsi_bridge, I have errors upon initialisation "could not get PHY" (as below).  If I enable &dcss, the device freezes early on in the boot.

What is the correct way to add and initialise the mipi-dsi interface and a dsi panel driver?  I know there are several similar topics, but I am not getting to the stage of a panel that is not initialised properly yet.  If there is a primer about this architecture please point me to that.

Also I am not sure what the mipi_dsi_bridge is and whether I should be using it.

Many thanks for any advice.

[5.658454] imx-sdma 302c0000.sdma: no iram assigned, using external mem
[ 5.679825] ina2xx 1-0040: error configuring the device: -6
[ 5.687147] imx-sdma 302c0000.sdma: loaded firmware 4.2
[ 5.696605] nwl-mipi-dsi 30a00000.mipi_dsi_bridge: Could not get PHY (-517)
[ 5.711258] ina2xx 1-0041: error configuring the device: -6
[ 5.776151] galcore: loading out-of-tree module taints kernel.
[ 5.789530] Galcore version
[ 5.850436] wlan: loading driver v4.5.23.1
[ 5.860218] hif_pci_probe:, con_mode= 0x0
[ 5.865471] PCI device id is 003e :003e
[ 5.869812] hif_pci 0000:01:00.0: BAR 0: assigned [mem 0x18000000-0x181fffff 64bit]
[ 5.877767] hif_pci 0000:01:00.0: enabling device (0000 -> 0002)
[ 5.879299]
hif_pci_configure : num_desired MSI set to 1
[ 5.915323] hif_pci_probe: ramdump base 0xffff800024c00000 size 2095136
[ 5.941512] [drm] Initialized vivante 1.0.0 20170808 for 38000000.gpu on minor 0
[ 5.949900] nwl-mipi-dsi 30a00000.mipi_dsi_bridge: Could not get PHY (-517)
[ 5.953784] NUM_DEV=1 FWMODE=0x2 FWSUBMODE=0x0 FWBR_BUF 0
[ 6.205617] EXT4-fs (mmcblk0p3): mounted filesystem with ordered data mode. Opts: (null)
[ 6.682848] +HWT
[ 6.695456] -HWT
[ 6.744574] HTT: full reorder offload enabled
[ 6.769551] Pkt log is disabled
[ 6.776838] Host SW:, FW:, HW:QCA6174_REV3_2
[ 6.783127] target uses HTT version 3.50; host uses 3.28
[ 6.783551] ol_pktlog_init: pktlogmod_init successfull
[ 6.794693] wlan: driver loaded in 944000
[ 6.799935] nwl-mipi-dsi 30a00000.mipi_dsi_bridge: Could not get PHY (-517)
[ 7.349884] random: crng init done
[ 7.353357] random: 7 urandom warning(s) missed due to ratelimiting
[ 7.500757] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[ 7.509660] nwl-mipi-dsi 30a00000.mipi_dsi_bridge: Could not get PHY (-517)
[ 7.517780] Generic PHY 30be0000.ethernet-1:00: attached PHY driver [Generic PHY] (mii_bus:phy_addr=30be0000.ethernet-1:00, irq=POLL)




0 Kudos
5 Replies

Contributor II

That's very helpful, thank you.

The examples .dts files all seem to refer to a bridge.  I assume this is some kind of mipi-dsi to parallel RGB bridge on the EVK?  

Are you aware of any example where the mipi-dsi display is connected directly?

0 Kudos

NXP TechSupport
NXP TechSupport

Hi et0


it is not bridge, it is mipi lcd (rm67191) connected directly.

Example of such lcd using rm67191 :


Best regards

0 Kudos

Contributor II

Hi Igor, thanks for the guidance.

The kernel included identifies as

4.14.98-imx #1 SMP PREEMPT Fri Jul 17 01:15:45 UTC 2020 aarch64 GNU/Linux

And the directory structure and sources look identical to the official ones, although the build process may be a bit different.  Is it OK to ask questions about this distribution here?


0 Kudos

NXP TechSupport
NXP TechSupport

Hi et0


for MIPI-DSI display one can enable it using i.MX8MQ EVK, use dts

NXP Linux documentation:

May be suggested to check initialization sequence with EVK board and compare it with

Som board. For debugging may be useful:

For support for coral board one can apply to


Best regards

0 Kudos

NXP TechSupport
NXP TechSupport

Hi et0


one can look at coral tutorial

Since it uses Mendel Linux ( derivative Debian) more relevant to look at i.MX8M
boundary devices debian release

Debian Tutorial

NXP does not support debian in its official linux releases.

MIPI-DSI initialization is described in 6.4.2 MIPI DSI Interface (drivers/video/fbdev/mxc/mipi_dsi_northwest.c)  i.MX Linux Reference Manual​

Below link of latest nxp official linux in repository


Best regards