[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20240212110706.ibrreoj2wgzhltyw@pengutronix.de>
Date: Mon, 12 Feb 2024 12:07:06 +0100
From: Roland Hieber <rhi@...gutronix.de>
To: Hiago De Franco <hiagofranco@...il.com>
Cc: Marco Felsch <m.felsch@...gutronix.de>, Shawn Guo <shawnguo@...nel.org>,
Rob Herring <robh+dt@...nel.org>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@...aro.org>,
Conor Dooley <conor+dt@...nel.org>,
Sascha Hauer <s.hauer@...gutronix.de>,
Philipp Zabel <p.zabel@...gutronix.de>, kernel@...gutronix.de,
devicetree@...r.kernel.org, linux-arm-kernel@...ts.infradead.org,
linux-kernel@...r.kernel.org
Subject: Re: MXSFB error: -ENODEV: Cannot connect bridge
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@...30000 {
> <&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@...50000 {
> @@ -895,22 +885,6 @@ mipi_dsi: dsi@...60000 {
> 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@...gutronix.de |
Steuerwalder Str. 21 | https://www.pengutronix.de/ |
31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
Powered by blists - more mailing lists