MIPI dsi panel without bridge on imx8 mini nano

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

MIPI dsi panel without bridge on imx8 mini nano

Jump to solution
1,634 Views
dr12345
Contributor I

Hello,

I have been trying to bring a MIPI DSI panel up on the iMX8 mini nano and seem to be getting nowhere, even after following and trying different examples. I have written a device driver for the 'com35h3n82' and can load it using modprobe but it only gets as far as 'insmod'. This is the boot output I am getting:

[ 0.665317] imx-drm 32c00000.bus:display-subsystem: bound imx-lcdif-crtc.0 (ops lcdif_crtc_ops)
[ 0.674445] imx_sec_dsim_drv 32e10000.dsi_controller: version number is 0x1060200
[ 0.682080] imx_sec_dsim_drv 32e10000.dsi_controller: Failed to attach bridge: 32e10000.dsi_controller
[ 0.691422] imx_sec_dsim_drv 32e10000.dsi_controller: failed to bind sec dsim bridge: -19
[ 0.699636] imx-drm 32c00000.bus:display-subsystem: bound 32e10000.dsi_controller (ops imx_sec_dsim_ops)
[ 0.709717] [drm] Initialized imx-drm 1.0.0 20120507 for 32c00000.bus:display-subsystem on minor 0

The relevent part of my device tree is attached.

Any suggestions welcome as I have tried multiple different device tree configurations but can't seen to get the driver to load. Nothing ever appears in sys->bus->mipi-dsi->devices. If I could just get the device to be panel to be recognised and my driver to load and start printing that's all I need to continue.

Thanks

0 Kudos
1 Solution
1,618 Views
dr12345
Contributor I

So my problem was I was trying to write a new driver and add it to the kernel in yocto, this was not working.
When I changed my panel to be compatible to "raydium,rm67191" and added support for this driver into the kernel it started printing on boot.

Not sure why it never worked with my own compatible "com35h3n82" string despite having the driver included using:

RPROVIDES += "kernel-module-panel-com35h3n82"
MACHINE_EXTRA_RDEPENDS += "kernel-module-panel-com35h3n82"

and seeing the driver appear in /sys/bus/mipi-dsi/drivers. But I am no linux/yocto expert so who knows.

However now when I modify the panel-raydium-rm67191.c source file and build I can see my code being run.

So if anyone else is stuck trying to write a custom driver, just modify an existing one instead.

View solution in original post

2 Replies
1,619 Views
dr12345
Contributor I

So my problem was I was trying to write a new driver and add it to the kernel in yocto, this was not working.
When I changed my panel to be compatible to "raydium,rm67191" and added support for this driver into the kernel it started printing on boot.

Not sure why it never worked with my own compatible "com35h3n82" string despite having the driver included using:

RPROVIDES += "kernel-module-panel-com35h3n82"
MACHINE_EXTRA_RDEPENDS += "kernel-module-panel-com35h3n82"

and seeing the driver appear in /sys/bus/mipi-dsi/drivers. But I am no linux/yocto expert so who knows.

However now when I modify the panel-raydium-rm67191.c source file and build I can see my code being run.

So if anyone else is stuck trying to write a custom driver, just modify an existing one instead.

1,628 Views
igorpadykov
NXP Employee
NXP Employee