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