IMX8MM: assign panel to mipi_dsi in a device tree

Jagan Teki jagan at amarulasolutions.com
Sun Mar 5 18:35:03 UTC 2023


On Sun, Mar 5, 2023 at 11:39 PM Patrick Boettcher
<patrick.boettcher at posteo.de> wrote:
>
> Hi list,
>
> After several days of trying I realize my too small/old brain is unable
> to map around how to assign/connect a panel to the mipi_dsi-node in a
> device.
>
> We are using a 'tdo,tl070wsh30' panel connected to the
> mipi-dsi-interface of a imx8mm.
>
> Of all the references I found on the in public repositories none of
> them is using this exact panel. Well.
>
> Looking at other device trees I came up with the following dts-node add
> to the mipi_dsi-node:
>
> &mipi_dsi {
>         #address-cells = <1>;
>         #size-cells = <0>;
>         status = "okay";
>
>         port at 0 {
>                 reg = <0>;
>                 mipi_dsi_panel0_out: endpoint {
>                         remote-endpoint = <&panel0_in>;
>                         attach-bridge;
>                 };
>         };
>
>         panel at 0 {
>                 compatible = "tdo,tl070wsh30";
>                 reg = <0>;
>
>                 pinctrl-0 = <&pinctrl_mipi_dsi>;
>                 pinctrl-names = "default";
>                 reset-gpios = <&gpio4 4 GPIO_ACTIVE_LOW>;
>                 enable-gpios = <&gpio4 6 GPIO_ACTIVE_LOW>;
>
>                 backlight = <&panel_gpio_backlight>;
>                 power-supply = <&panel_gpio_regulator>;
>
>                 dsi-lanes = <4>;
>
>                 video-mode = <0>;
>
>                 panel-width-mm = <157>;
>                 panel-height-mm = <86>;
>
>                 status = "okay";
>
>                 port {
>                         panel0_in: endpoint {
>                                 remote-endpoint =<&mipi_dsi_panel0_out>;
>                         };
>                 };
>         };
> };
>
>
> You'll see that I used the attach-bridge-option, which is maybe not
> necessary. I found this during a debug-print-session in the
> drm-bridge-driver, it wasn't attaching a bridge. But maybe I don't need
> a bridge as the panel-driver contains everything to control the
> controllers of the panel. I don't really know.
>
> However, with this I have the following messages:
>
> [    0.393985] [drm:drm_bridge_attach] *ERROR* failed to attach bridge /soc at 0/bus at 32c00000/mipi_dsi at 32e10000 to encoder DSI-34: -19
> [    0.405626] imx_sec_dsim_drv 32e10000.mipi_dsi: Failed to attach bridge: 32e10000.mipi_dsi
> [    0.413974] imx_sec_dsim_drv 32e10000.mipi_dsi: failed to bind sec dsim bridge: -517
>
> The panel driver is never instantiated.
>
> I'm using 5.15.51 (-imx). mipi_dsi and the panel-driver are built into
> the kernel.

Please share the source repo link? B/W if you may try the mainline
code base of imx8mm dsi please check here.
https://github.com/openedev/kernel/commits/imx8mm-dsi-v16

Jagan.


More information about the dri-devel mailing list