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
https://github.com/torvalds/linux/blob/master/drivers/gpu/drm/panel/panel-sitronix-st7701.c 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 18.104.22.1686507
[ 5.850436] wlan: loading driver v22.214.171.124
[ 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)
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:126.96.36.199, FW:188.8.131.528, 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)
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?
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?
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 https://coral.ai/support/
one can look at coral tutorial
Since it uses Mendel Linux ( derivative Debian) more relevant to look at i.MX8M
boundary devices debian release
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 source.codeaurora.org/external/imx/linux-imx repository