"Failed to attach bridge" when trying to use MIPI DSI output

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

"Failed to attach bridge" when trying to use MIPI DSI output

64,688 Views
amaan_cheval
Contributor I

Hi!

I have the VAR-DART-MX8M Mini (originally had an "LD" configuration to convert MIPI DSI to LVDS using the SN65DSI84, but the hardware configuration was changed using instructions as in the file attached).

I'm running Android 9.0 on the board, following these instructions, so the board is running Linux 4.14.78.

I am attempting to backport drivers for a new panel (my panel uses the ILI9881C IC and I'm using the rm67191 device tree and driver code as a reference, backporting from the most recent kernel), however I get an error before my panel driver is even initiated.

In the default configuration (i.e. not having added the new panel's driver or custom device tree files), I see this error in the logs (through `dmesg`):

[    1.369380] sn65dsi83 0-002c: failed reading at 0x09
[    1.374373] sn65dsi83 0-002c: Failed to reset the device
[    1.379699] sn65dsi83 0-002c: Failed to reset the device
[    1.388714] [drm] Supports vblank timestamp caching Rev 2 (21
.10.2013).
[    1.395353] [drm] No driver support for vblank timestamp quer
y.
[    1.401364] imx-drm display-subsystem: bound imx-lcdif-crtc.0
 (ops lcdif_crtc_ops)
[    1.409038] imx_sec_dsim_drv 32e10000.mipi_dsi: version numbe
r is 0x1060200
[    1.416060] imx_sec_dsim_drv 32e10000.mipi_dsi: Failed to att
ach bridge: 32e10000.mipi_dsi
[    1.424340] imx_sec_dsim_drv 32e10000.mipi_dsi: failed to bin
d sec dsim bridge: -19

Understandably, the sn65dsi83 errors are because the IC isn't on the board anymore, and I can make them go away by disabling it in the device tree.

However, can someone shed some light on what the "Failed to attach bridge" error is about? Even with my customized DTS and driver files (patch attached), I still see the same error.

In addition, could someone clarify whether I'm on the right track with this patch? I've seen some posts on NXP using the DCSS system instead of the default LCDIF one.

Labels (1)
Tags (1)
0 Kudos
Reply
4 Replies

63,807 Views
sd05
Contributor III

I am also facing a similar issue I am interfacing shenzhen,ue040fd lcd

following are the changes I made to dts imx8mm-var-dart.dts

diff --git a/arch/arm64/boot/dts/freescale/imx8mm-var-dart.dts b/arch/arm64/boot/dts/freescale/imx8mm-var-dart.dts
index e338fb8aeca1..ecbde593998a 100644
--- a/arch/arm64/boot/dts/freescale/imx8mm-var-dart.dts
+++ b/arch/arm64/boot/dts/freescale/imx8mm-var-dart.dts
@@ -193,6 +193,11 @@
>;
};

+ pinctrl_mipi_dsi_rst: mipi_dsi_rst {
+ fsl,pins = <
+ MX8MM_IOMUXC_SPDIF_TX_GPIO5_IO3 0x05
+ >;
+ };
pinctrl_fec1: fec1grp {
fsl,pins = <
MX8MM_IOMUXC_ENET_MDC_ENET1_MDC 0x3

@@@ -715,7 +715,7 @
};
};

- dsi_lvds_bridge: sn65dsi84@2c {
+ /*dsi_lvds_bridge: sn65dsi84@2c {
compatible = "ti,sn65dsi83";
reg = <0x2c>;
ti,dsi-lanes = <4>;
@@ -752,7 +752,7 @@
remote-endpoint = <&mipi_dsi_out>;
};
};
- };
+ };*/
};

&i2c2 {

@@ -1082,12 +1087,20 @@

&mipi_dsi {
status = "okay";
-
- port@1 {
- mipi_dsi_out: endpoint {
- remote-endpoint = <&dsi_lvds_bridge_in>;
- attach-bridge;
- };
+ panel@0 {
+ compatible = "shenzhen,ue040fd";
+ reg = <0>;
+ pinctrl-0 = <&pinctrl_mipi_dsi_rst>;
+ reset-gpio =<&gpio1 3 GPIO_ACTIVE_LOW>;
+ dsi-lanes = <4>;
+ video-mode = <2>; /* 0: burst mode (high speed)
+ * 1: Low-Power Mode
+ */
+ vrefresh = <60>;
+ panel-width-mm = <52>;
+ panel-height-mm = <107>;
+ backlight = <&gpio1 01 GPIO_ACTIVE_LOW>; //comment it for now
+
};
};

 

getting these errrors please guide


[ 3.557283] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[ 3.563914] [drm] No driver support for vblank timestamp query.
[ 3.569900] imx-drm soc@0:bus@32c00000:display-subsystem: bound imx-lcdif-crtc.0 (ops lcdif_crtc_ops)
[ 3.582752] imx_sec_dsim_drv 32e10000.mipi_dsi: version number is 0x1060200
[ 3.589889] imx_sec_dsim_drv 32e10000.mipi_dsi: Failed to attach bridge: 32e10000.mipi_dsi
[ 3.602714] imx_sec_dsim_drv 32e10000.mipi_dsi: failed to bind sec dsim bridge: -517
[ 3.610534] imx-drm soc@0:bus@32c00000:display-subsystem: failed to bind 32e10000.mipi_dsi (ops imx_sec_dsim_ops): -517
[ 3.610622] imx-drm soc@0:bus@32c00000:display-subsystem: master bind failed: -517

0 Kudos
Reply

64,313 Views
purendra_singh
Contributor II

Hi Amaan,

I am using the same board with yocto zeus (kernel 5.4.3) and getting same errors as yours. I too followed the rm67191 device tree and driver code as a reference. Have you resolved your issue ? If yes it would be very helpful if you share the approach you followed to remove the errors and getting the LCD working.

Thanks in advance.

 

63,799 Views
sd05
Contributor III

Getting same error please share how you resolved those errors

0 Kudos
Reply

64,468 Views
igorpadykov
NXP Employee
NXP Employee

Hi Amaan

one can try to debug error messages using description of mipi-dsi driver (drivers/gpu/drm/imx/sec_mipi_dsmi-imx.c)

in sect.6.4.2 MIPI DSI Interface attached Linux Manual and Linux MIPI-DSI subsystem

in presentation https://elinux.org/images/7/73/Jagan_Teki_-_Demystifying_Linux_MIPI-DSI_Subsystem.pdf 

For ILI9881C specific initialization should be performed in rm67191 init functions rad_panel_push_cmd_list(),

"cmd_set_table manufacturer_cmd_set[]"

panel-raydium-rm67191.c\panel\drm\gpu\drivers - linux-imx - i.MX Linux kernel 

Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos
Reply