I am using a VART-DART-MX8M MINI to interface a LCD panel ( using MIPI_DSI ) which is of make:- YOURI and model no:- ET020HV03-OT, it used driver IC:- SITRONIX ST7796s. I took reference from driver code of st7701:-
and dts entry :-
to write my driver code and to make changes in the dts of my board. I am using yocto ZEUS ( kernel 5.4.3) to build image for my board. When I am running the built image on board I am getting these prints in kernel logs :-
[ 1.727930] [drm] No driver support for vblank timestamp query.
[ 1.727995] imx-drm soc@0:bus@32c00000:display-subsystem: bound imx-lcdif-crtc.0 (ops lcdif_crtc_ops)
[ 1.735181] imx6q-pcie 33800000.pcie: IO 0x1ff80000..0x1ff8ffff -> 0x00000000
[ 1.741233] imx_sec_dsim_drv 32e10000.mipi_dsi: version number is 0x1060200
[ 1.750310] imx6q-pcie 33800000.pcie: MEM 0x18000000..0x1fefffff -> 0x18000000
[ 1.757934] ****PURENDRA**** from st7796_dsi_probe started
[ 1.764721] imx6q-pcie 33800000.pcie: EXT REF_CLK is used!.
[ 1.772075] st7796 32e10000.mipi_dsi.0: 32e10000.mipi_dsi.0 supply VCC not found, using dummy regulator
[ 1.792639] st7796 32e10000.mipi_dsi.0: 32e10000.mipi_dsi.0 supply IOVCC not found, using dummy regulator
[ 1.802268] ****PURENDRA**** from drm_panel_init
[ 1.806978] ****PURENDRA**** from st7796_dsi_probe end
[ 1.812206] ****PURENDRA**** from mipi_dsi_attach
[ 1.816915] imx_sec_dsim_drv 32e10000.mipi_dsi: unsupported dsi mode
[ 1.823344] st7796: probe of 32e10000.mipi_dsi.0 failed with error -22
[ 1.829899] imx_sec_dsim_drv 32e10000.mipi_dsi: Failed to attach bridge: 32e10000.mipi_dsi
[ 1.838202] imx-drm soc@0:bus@32c00000:display-subsystem: bound 32e10000.mipi_dsi (ops imx_sec_dsim_ops)
[ 1.848236] [drm] Initialized imx-drm 1.0.0 20120507 for soc@0:bus@32c00000:display-subsystem on minor 0
[ 1.857768] [drm] Cannot find any crtc or sizes
I added printk in my driver's probe function to as to verify whether my driver is getting called or not. It is getting called but the probe is failing with error -22. I would like to add that by default the board's dts has entry for LVDS bridge SN65DSI84 which I have commented out as we have bypassed it on board.
Also there is an error related to unsupported dsi mode but when I checked out every panel driver which were present already in the kernel source has same dsi modes which is:-
DRM_MODE_TYPE_DRIVER | DRM_MODE_TYPE_PREFERRED
I am attaching the kernel logs, my dts file with changes and my driver. It would be great help if someone can point out what mistake I am doing or missing something.
Thanks in advance.
for sitronix panel usage with i.MX8MMini one can look at below link: