Other Parts Discussed in Thread: TEST2
Hello Team,
SN65DSI86 is used as the transceiver from MIPI DSI to eDP.
The user is implementing driver code based on the linked source.
https://github.com/torvalds/linux/blob/master/drivers/gpu/drm/bridge/ti-sn65dsi86.c
I2C access is okay, but it cannot get the information from panel.
Please help to solve the following issue.
We are trying to register ti-sn65dsi86 (mipi DSI to eDP bridge) driver in i.MX8QXP.
As far as I understand, following shall be the link of the nodes in the DTSI:
MIPI_DSI1 -> MIPI_DSI_BRIDGE1 -> eDP_BRIDGE > PANEL
To do so we have added the driver and done modifications in the DTSI (please find attached file). Please note that the customer uses the eDP bridge on i2c0_csi0 pad group and not the default i2c0_mipi_lvds0 for MIPI DSI display configuration and pinctrl changes were similarly done.
We are able to probe the I2C slave device (edp bridge) at 0x2c, but it fails to find a DRM Panel. We are trying to display on HDMI monitor of 1920x1080 resolution and used a panel (from panel-simple.c) similar to this.
We also have a query on how to register the drm_dp_aux_register for eDP bridge. We have added the i2c-bus node in the edp-bridge in dtsi to register the sub device of i2c. Is this the correct way to do it?
Please find the related logs as below:
root@imx8qxpdsw:~# dmesg | grep -i drm
[ 0.000000] Kernel command line: console=ttyLP0,115200 earlycon=lpuart32,0x5a060000,115200 root=/dev/mmcblk0p2 rootwait rw quiet drm.debug=0x3F
[ 0.457928] [drm:drm_core_init] Initialized
[ 0.463890] [drm:ti_sn_bridge_probe] *MSS* 685:: Enter Probe of DSI86
[ 0.470541] [drm:ti_sn_bridge_probe] *MSS* 691::
[ 0.475440] [drm:ti_sn_bridge_probe] *MSS* 698::
[ 0.480339] drm_of_find_panel_or_bridge:262:: node edp-bridge
[ 0.486267] drm_of_find_panel_or_bridge:263:: node /i2c@58226000/edp-bridge@2c
[ 0.511456] [drm:ti_sn_bridge_probe] *ERROR* could not find any panel node
[ 0.518346] [drm:ti_sn_bridge_probe] *MSS* 706:: node edp-bridge
[ 0.524541] [drm:ti_sn_bridge_probe] refclk not found
[ 0.524548] [drm:ti_sn_bridge_probe] *MSS* 720::
[ 0.529503] [drm:ti_sn_bridge_probe] *MSS* 728::
[ 0.534407] [drm:ti_sn_bridge_probe] *ERROR* failed to get enable gpio from DT
[ 0.541641] [drm:ti_sn_bridge_probe] *MSS* 740::
[ 0.546705] [drm:ti_sn_bridge_probe] *MSS* 747::
[ 0.564441] [drm:ti_sn_bridge_probe] *MSS* 758::
[ 0.569486] [drm:drm_dp_aux_register_devnode] drm_dp_aux_dev: aux [ti-sn65dsi86-aux] registered as minor 0
[ 0.569644] [drm:ti_sn_bridge_probe] *MSS* 772::
[ 0.574537] [drm:ti_sn_bridge_probe] *MSS* 775::
root@imx8qxpdsw:~# i2cdetect -l
i2c-3 i2c ti-sn65dsi86-aux I2C adapter
i2c-1 i2c 56246000.i2c I2C adapter
i2c-2 i2c 5a810000.i2c I2C adapter
i2c-0 i2c 58226000.i2c I2C adapter
root@imx8qxpdsw:~# i2cdetect 0
WARNING! This program can confuse your I2C bus, cause data loss and worse!
I will probe file /dev/i2c-0.
I will probe address range 0x03-0x77.
Continue? [Y/n] y
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- UU -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
Please help us know if I'm missing some crucial settings.