Need a Support for st7701 with imx8mm

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

Need a Support for st7701 with imx8mm

1,251 Views
Udhay_
Contributor III

I am integrating the dsi display st7701 with imx8mm.
my dts node panel@0
        { compatible = "techstar,ts8550b", "sitronix,st7701";
         reg = <0>;
         pinctrl-0 = <&pinctrl_mipi_dsi_en>;
         reset-gpio = <&gpio1 8 GPIO_ACTIVE_HIGH>;
         dsi-lanes = <2>;
         video-mode = <2>; /* 0: burst mode
                                        * 1: non-burst mode with sync event
                                         * 2: non-burst mode with sync pulse
                                         * 3: command mode */
        panel-width-mm = <68>;
        panel-height-mm = <121>;
        status = "okay";
       };
     my driver code panel-sitronix-st7701.c and kernel version is 5.15
     when i am using default setting, getting the error like
                  [ 14.046955] imx_sec_dsim_drv 32e10000.mipi_dsi: wait rx done time out
                  [ 14.430905] imx_sec_dsim_drv 32e10000.mipi_dsi: wait payload tx done time out after this
     i followed this below link

                    https://community.nxp.com/t5/i-MX-Processors/iMX8MP-MIPI-DSI-Commands-Timing-Out/m-p/1703214

after i move init_sequence function to enable function i am not getting any error but tpg is working but stream is not working
Note : why kernel is not supporting st7701 with imx8mm?
I have seen many links on nxp but most of them got same error but i cannot able to find the solution?
should we need to change the init_sequence? if we did how can i change the register setting and all?


I have followed these links but did not find any solution 
                    https://community.nxp.com/t5/i-MX-Processors/sitronix-st7701-panel-issue-with-kernel-5-15-71-kirksto...
                   https://community.nxp.com/t5/i-MX-Processors/integration-of-sitronix-st7701-MIPI-DSI-in-u-boot-i-MX8...
the output i am getting this related to this post 
                    https://community.nxp.com/t5/i-MX-Processors/i-MX6-MIPI-DSI-Display-ST7701-controller/m-p/839536
                    https://community.nxp.com/t5/i-MX-Processors/how-to-add-a-new-panel-with-imx8mm-evk-I-got-some-probl...

0 Kudos
Reply
4 Replies

1,117 Views
Udhay_
Contributor III

Hi @Priyanshi 

I am not getting any error on systemctl or weston

Whenever i tried on default or this driver code https://github.com/torvalds/linux/blob/master/drivers/gpu/drm/panel/panel-sitronix-st7701.c

it stucks here 

------------[ cut here ]------------
[ 41.403898] WARNING: CPU: 0 PID: 87 at drivers/reset/core.c:765 __reset_control_get_internal+0x68/0x160
[ 41.403916] Modules linked in:
[ 41.403925] CPU: 0 PID: 87 Comm: kworker/u8:1 Not tainted 5.15.48+gb6597629c15c #1
[ 41.403931] Hardware name: FSL i.MX8MM EVK board (DT)
[ 41.403936] Workqueue: events_unbound deferred_probe_work_func
[ 41.403948] pstate: 20000005 (nzCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
[ 41.403954] pc : __reset_control_get_internal+0x68/0x160
[ 41.403959] lr : __of_reset_control_get+0x16c/0x1d0
[ 41.403964] sp : ffff80000a273990
[ 41.403966] x29: ffff80000a273990 x28: ffff000055c096b8 x27: ffff000004d99838
[ 41.403976] x26: 0000000000000001 x25: 0000000000000000 x24: 0000000000000001
[ 41.403983] x23: 0000000000000000 x22: ffff0000049f0580 x21: 0000000000000005
[ 41.403992] x20: ffff0000049f05a0 x19: ffff0000043cb200 x18: ffffffffffffffff
[ 41.404005] x17: 73203220746e656d x16: 67657320746b6d20 x15: ffff000004d9950a
[ 41.404015] x14: ffffffffffffffff x13: 0000000000000018 x12: 0101010101010101
[ 41.404022] x11: 0000000000000010 x10: 0101010101010101 x9 : 0000000000000000
[ 41.404032] x8 : 7f7f7f7f7f7f7f7f x7 : 2c6c766f21ff726b x6 : 0000802370771f48
[ 41.404043] x5 : fffffbfffdc0a178 x4 : 0000000000000000 x3 : 0000000000000001
[ 41.404052] x2 : 0000000000000005 x1 : 0000000000000005 x0 : 0000000000000000
[ 41.404062] Call trace:
[ 41.404065] __reset_control_get_internal+0x68/0x160
[ 41.404071] __of_reset_control_get+0x16c/0x1d0
[ 41.404075] of_reset_control_array_get+0xb0/0x240
[ 41.404082] imx_sec_dsim_probe+0x21c/0x310
[ 41.404088] platform_probe+0x6c/0xe0
[ 41.404093] really_probe.part.0+0x9c/0x310
[ 41.404101] __driver_probe_device+0x98/0x144
[ 41.404109] driver_probe_device+0xc8/0x15c
[ 41.404117] __device_attach_driver+0xb8/0x120
[ 41.404125] bus_for_each_drv+0x78/0xd0
[ 41.404132] __device_attach+0xa8/0x1c0
[ 41.404140] device_initial_probe+0x18/0x24
[ 41.404148] bus_probe_device+0xa0/0xac
[ 41.404155] deferred_probe_work_func+0x80/0xc0
[ 41.404163] process_one_work+0x1d0/0x354
[ 41.404172] worker_thread+0x2c0/0x470
[ 41.404180] kthread+0x154/0x160
[ 41.404187] ret_from_fork+0x10/0x20
[ 41.404194] ---[ end trace 54f4231683195b75 ]---
[ 41.404226] ------------[ cut here ]------------
[ 41.404228] WARNING: CPU: 0 PID: 87 at drivers/reset/core.c:765 __reset_control_get_internal+0x68/0x160
[ 41.404235] Modules linked in:
[ 41.404238] CPU: 0 PID: 87 Comm: kworker/u8:1 Tainted: G W 5.15.48+gb6597629c15c #1
[ 41.404243] Hardware name: FSL i.MX8MM EVK board (DT)
[ 41.404246] Workqueue: events_unbound deferred_probe_work_func
[ 41.404255] pstate: 20000005 (nzCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
[ 41.404260] pc : __reset_control_get_internal+0x68/0x160
[ 41.404267] lr : __of_reset_control_get+0x16c/0x1d0
[ 41.404271] sp : ffff80000a273990
[ 41.404273] x29: ffff80000a273990 x28: ffff000055c098e0 x27: ffff000004d99838
[ 41.404283] x26: 0000000000000001 x25: 0000000000000000 x24: 0000000000000001
[ 41.404292] x23: 0000000000000000 x22: ffff0000049f0c80 x21: 0000000000000009
[ 41.404302] x20: ffff0000049f0ca0 x19: ffff0000043cb400 x18: ffffffffffffffff
[ 41.404312] x17: 73203220746e656d x16: 67657320746b6d20 x15: ffff000004d9950a
[ 41.404323] x14: ffffffffffffffff x13: 0000000000000018 x12: 0101010101010101
[ 41.404331] x11: 0000000000000010 x10: 0101010101010101 x9 : 0000000000000000
[ 41.404341] x8 : 7f7f7f7f7f7f7f7f x7 : 2c6c766f21ff726b x6 : 0000802370771f48
[ 41.404350] x5 : fffffbfffdc0a1c0 x4 : 0000000000000000 x3 : 0000000000000001
[ 41.404361] x2 : 0000000000000009 x1 : 0000000000000009 x0 : 0000000000000000
[ 41.404368] Call trace:
[ 41.404372] __reset_control_get_internal+0x68/0x160
[ 41.404379] __of_reset_control_get+0x16c/0x1d0
[ 41.404386] of_reset_control_array_get+0xb0/0x240
[ 41.404390] imx_sec_dsim_probe+0x21c/0x310
[ 41.404394] platform_probe+0x6c/0xe0
[ 41.404401] really_probe.part.0+0x9c/0x310
[ 41.404409] __driver_probe_device+0x98/0x144
[ 41.404416] driver_probe_device+0xc8/0x15c
[ 41.404424] __device_attach_driver+0xb8/0x120
[ 41.404433] bus_for_each_drv+0x78/0xd0
[ 41.404440] __device_attach+0xa8/0x1c0
[ 41.404447] device_initial_probe+0x18/0x24
[ 41.404455] bus_probe_device+0xa0/0xac
[ 41.404462] deferred_probe_work_func+0x80/0xc0
[ 41.404470] process_one_work+0x1d0/0x354
[ 41.404476] worker_thread+0x2c0/0x470
[ 41.404484] kthread+0x154/0x160
[ 41.404489] ret_from_fork+0x10/0x20
[ 41.404494] ---[ end trace 54f4231683195b76 ]---
[ 41.404522] ------------[ cut here ]------------
[ 41.404524] WARNING: CPU: 0 PID: 87 at drivers/reset/core.c:765 __reset_control_get_internal+0x68/0x160
[ 41.404532] Modules linked in:
[ 41.404535] CPU: 0 PID: 87 Comm: kworker/u8:1 Tainted: G W 5.15.48+gb6597629c15c #1
[ 41.404541] Hardware name: FSL i.MX8MM EVK board (DT)
[ 41.404544] Workqueue: events_unbound deferred_probe_work_func
[ 41.404551] pstate: 20000005 (nzCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
[ 41.404558] pc : __reset_control_get_internal+0x68/0x160
[ 41.404565] lr : __of_reset_control_get+0x16c/0x1d0
[ 41.404569] sp : ffff80000a273990
[ 41.404571] x29: ffff80000a273990 x28: ffff000055c09b08 x27: ffff000004d99838
[ 41.404581] x26: 0000000000000001 x25: 0000000000000000 x24: 0000000000000001
[ 41.404590] x23: 0000000000000000 x22: ffff0000049f1380 x21: 0000000000000001
[ 41.404600] x20: ffff0000049f13a0 x19: ffff0000043cb180 x18: ffffffffffffffff
[ 41.404610] x17: 73203220746e656d x16: 67657320746b6d20 x15: ffff000004d9950a
[ 41.404621] x14: ffffffffffffffff x13: 0000000000000018 x12: 0101010101010101
[ 41.404631] x11: 0000000000000010 x10: 0101010101010101 x9 : 0000000000000000
[ 41.404640] x8 : 7f7f7f7f7f7f7f7f x7 : 2c6c766f21ff726b x6 : 0000802370771f48
[ 41.404650] x5 : fffffbfffdc0a210 x4 : 0000000000000000 x3 : 0000000000000001
[ 41.404661] x2 : 0000000000000001 x1 : 0000000000000001 x0 : 0000000000000000
[ 41.404670] Call trace:
[ 41.404672] __reset_control_get_internal+0x68/0x160
[ 41.404679] __of_reset_control_get+0x16c/0x1d0
[ 41.404683] of_reset_control_array_get+0xb0/0x240
[ 41.404688] imx_sec_dsim_probe+0x21c/0x310
[ 41.404692] platform_probe+0x6c/0xe0
[ 41.404698] really_probe.part.0+0x9c/0x310
[ 41.404707] __driver_probe_device+0x98/0x144
[ 41.404714] driver_probe_device+0xc8/0x15c
[ 41.404722] __device_attach_driver+0xb8/0x120
[ 41.404730] bus_for_each_drv+0x78/0xd0
[ 41.404737] __device_attach+0xa8/0x1c0
[ 41.404744] device_initial_probe+0x18/0x24
[ 41.404752] bus_probe_device+0xa0/0xac
[ 41.404759] deferred_probe_work_func+0x80/0xc0
[ 41.404767] process_one_work+0x1d0/0x354
[ 41.404775] worker_thread+0x2c0/0x470
[ 41.404783] kthread+0x154/0x160
[ 41.404788] ret_from_fork+0x10/0x20
[ 41.404794] ---[ end trace 54f4231683195b77 ]---
[ 41.404800] imx_sec_dsim_drv 32e10000.mipi_dsi: no invalid reset control exists
[ 41.404889] imx_sec_dsim_drv: probe of 32e10000.mipi_dsi failed with error -22


Where i am missing?

0 Kudos
Reply

1,209 Views
joanxie
NXP TechSupport
NXP TechSupport

st7701 isn't nxp official support display, we don't have this panel to test or reproduce customer issue on nxp board, so it's hard to offer a simple patch, need customer porting by themselves based on rm67191  panel, you can refer to the rm67191 code, but for the init or reset, timing parts, you need to change according to your panel spec, I attached the application note, you need measure if your timing is meets the spec or not, check the esc clock, pixel clock, byte clock, this issue should be related to the timing issue

"https://community.nxp.com/docs/DOC-345307"

0 Kudos
Reply

1,067 Views
Udhay_
Contributor III

@joanxie 

Where i need to enable pll clock? 

and st7701s supports 480p but if csi camera sends 480 it can support resolution right?

0 Kudos
Reply

1,053 Views
joanxie
NXP TechSupport
NXP TechSupport
0 Kudos
Reply