MIPI dsi panel without bridge on imx8 mini nano

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

MIPI dsi panel without bridge on imx8 mini nano

跳至解决方案
3,114 次查看
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 项奖励
回复
1 解答
3,098 次查看
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.

在原帖中查看解决方案

2 回复数
3,099 次查看
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.

3,108 次查看
igorpadykov
NXP Employee
NXP Employee