On Thu, Feb 08, 2024 at 12:58:02PM -0300, Hiago De Franco wrote: > Hello all, > > while doing some tests with kernel v6.8-rc3 and Colibri iMX7D, we > noticed the following error: > > [ 0.432547] mxsfb 30730000.lcdif: error -ENODEV: Cannot connect bridge > > This was introduced by commit edbbae7fba495284f72f05768696572691231558 > ("ARM: dts: imx7: add MIPI-DSI support"). This patch is routing the > lcdif to the mipi_dsi_in_lcdif endpoint, however we do not have the DSI > pins available in our edge connector. Instead, we use the parallel RGB > LCD interface directly with, as example, an external LVDS transmitter: > > &lcdif { > ... > status = "disabled"; > > port { > lcdif_out: endpoint { > remote-endpoint = <&lcd_panel_in>; > }; > }; > }; > > By applying the following patch, the issue is gone and the LVDS works > again: > > diff --git a/arch/arm/boot/dts/nxp/imx/imx7s.dtsi b/arch/arm/boot/dts/nxp/imx/imx7s.dtsi > index ebf7befcc11e..9c81c6baa2d3 100644 > --- a/arch/arm/boot/dts/nxp/imx/imx7s.dtsi > +++ b/arch/arm/boot/dts/nxp/imx/imx7s.dtsi > @@ -834,16 +834,6 @@ lcdif: lcdif@30730000 { > <&clks IMX7D_LCDIF_PIXEL_ROOT_CLK>; > clock-names = "pix", "axi"; > status = "disabled"; > - > - port { > - #address-cells = <1>; > - #size-cells = <0>; > - > - lcdif_out_mipi_dsi: endpoint@0 { > - reg = <0>; > - remote-endpoint = <&mipi_dsi_in_lcdif>; > - }; > - }; > }; > > mipi_csi: mipi-csi@30750000 { > @@ -895,22 +885,6 @@ mipi_dsi: dsi@30760000 { > samsung,esc-clock-frequency = <20000000>; > samsung,pll-clock-frequency = <24000000>; > status = "disabled"; > - > - ports { > - #address-cells = <1>; > - #size-cells = <0>; > - > - port@0 { > - reg = <0>; > - #address-cells = <1>; > - #size-cells = <0>; > - > - mipi_dsi_in_lcdif: endpoint@0 { > - reg = <0>; > - remote-endpoint = <&lcdif_out_mipi_dsi>; > - }; > - }; > - }; > }; > }; > > I would like to know your opinion about this patch before sending it, > does it makes sense for you? I understand that routing to endpoint > should be done in the SoM device tree, so we are free to rout other > endpoint without issues. As far as I understood, the LCDIF -> DSI connection is always present in the SoC. Can you overwrite the routing in your dts like this:? &lcdif_out_mipi_dsi { remote-endpoint = <&lcd_panel_in>; }; I'm not sure what is the best default solution here for imx7s.dtsi. Also the labels don't work out in that case, this could be improved. Regards, - Roland -- Roland Hieber, Pengutronix e.K. | r.hieber@xxxxxxxxxxxxxx | Steuerwalder Str. 21 | https://www.pengutronix.de/ | 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |