IMX8M MINI LVDS

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

IMX8M MINI LVDS

935 Views
VinithNama
Contributor III

 

Hi,

     I'm working on IM8M MINI EVK Linux platform, we are working on integration of panasys LVDS display and we are using SN65DSI83 as an bridge converter.

I 'have applied below patch at the directory kernel-sourcr/.../git/drivers/gpu/drm/bridge.

and i have updated in my device tree file build/tmp/work-shared/imx8qmevk/kernel-source/arch/arm64/boot/dts/freescale/imx8mm-evk.dts as below

&lcdif{
 max-res = <1280>, <1024>;
 status = "okay";
};
 
&mipi_dsi {
       status = "okay";
 
        port@1 {
                dsim_to_sn65dsi8: endpoint {
                        remote-endpoint = <&sn65dsi83_in>;
                };
       };
};
 
&i2c2 {
    clock-frequency = <100000>;
    pinctrl-names = "default";
    status = "okay";
 
    lvds_bridge: sn65dsi83@2c {
        compatible = "ti,sn65dsi83";
       reg = <0x2c>;
        ti,dsi-lanes = <4>;
        ti,lvds-format = <2>;
        ti,lvds-bpp = <24>;
        ti,width-mm = <376>;
        ti,height-mm = <301>;
 
        enable-gpios = <&gpio1 14  GPIO_ACTIVE_HIGH>;
        pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_dsi_lvds_bridge>;
        status = "okay";
 
       display-timings {
            lvds {
/*
                clock-frequency = <90000000>;
               hactive = <1280>;
                hsync-len = <54>;
                hback-porch = <75>;
                hfront-porch = <75>;
                vactive = <1024>;
                vsync-len = <10>;
                vback-porch = <10>;
                vfront-porch = <22>;
 
                vsync-active = <0>;
                hsync-active =<0>;
                de-active =<0>;
                pixelclk-active =<0>;
*/
                         clock-frequency = <108000000>;
                         hactive = <1280>;
                         hsync-len = <28>;
                         hback-porch = <200>;
                         hfront-porch = <180>;
                         vactive = <1023>;
                         vsync-len = <7>;
                         vback-porch = <30>;
                         vfront-porch = <5>;
 
                         vsync-active = <0>;
                         hsync-active =<0>;
                         de-active =<0>;
                         pixelclk-active =<0>;
 
           };
        };
 
        port {
           sn65dsi83_in: endpoint {
                remote-endpoint = <&dsim_to_sn65dsi8>;
           };
        };
    };
 
};
after compiling and deploying the kernel using 

bitbake -c compile -f linux-imx and bitbake -c deploy -f linux-imx then I have built entire image using bitbake imx-image-full. I cannot see any display on the LVDS ,can you help me where i was struck.

0 Kudos
3 Replies

567 Views
paul_geurts
Contributor III

Hi,

I have run into the same issue with the DSI interface (and the same MIPI/LVDS bridge) using the latest 5.15.32_2.0.0 kernel. I have looked around a bit and found the problem in the DSIM driver. I don't know whether this is still an issue for you, but it might be useful for other people finding this ticket. The problem occurs because the dsim driver probe is deferred as the SN65DSI83 initialization was not done yet. When retrying the probe an error occurs because the first try didn't release the aquired resources.

Please apply the attached patch to overcome the issue.

0 Kudos

554 Views
dianapredescu
NXP Employee
NXP Employee

Hi @paul_geurts,

Thank you very much for the feedback! Indeed, this issue was already reported and a patch has been developed, tested and will be integrated in Q4 BSP release.

Best regards,

Diana

0 Kudos

923 Views
Zhiming_Liu
NXP TechSupport
NXP TechSupport

Hi

 

Please kindly check the error in your log...reset pin

[ 2.762593] Call trace:
[ 2.765042] __reset_control_get_internal+0x64/0x110
[ 2.770008] __of_reset_control_get+0x158/0x1b0
[ 2.774539] of_reset_control_array_get+0xac/0x1a0
[ 2.779334] imx_sec_dsim_bind+0x208/0x348
[ 2.783433] component_bind_all+0xfc/0x258
[ 2.787532] imx_drm_bind+0xb8/0x150
[ 2.791106] try_to_bring_up_master+0x164/0x1c8
[ 2.795636] __component_add+0xa0/0x168
[ 2.799475] component_add+0x10/0x18
[ 2.803051] imx_sec_dsim_probe+0x4c/0x70
[ 2.807062] platform_drv_probe+0x50/0xa0
[ 2.811072] really_probe+0xd4/0x318
[ 2.814648] driver_probe_device+0x54/0xe8
[ 2.818746] __device_attach_driver+0x80/0xb8
[ 2.823105] bus_for_each_drv+0x74/0xc0
[ 2.826939] __device_attach+0xdc/0x138
[ 2.830776] device_initial_probe+0x10/0x18
[ 2.834959] bus_probe_device+0x90/0x98
[ 2.838796] deferred_probe_work_func+0x64/0x98
[ 2.843331] process_one_work+0x198/0x320
[ 2.847342] worker_thread+0x1f0/0x420
[ 2.851092] kthread+0xf0/0x120
[ 2.854235] ret_from_fork+0x10/0x18

0 Kudos