No MIPI DSI ouput at the i.MX 8M Mini

I am currently working on generating any kind of MIPI DSI signal out of the MCU “i.MX 8M Mini”, placed on symphony board V1.2. By default the output on the developer board is LVDS, provided by the MIPI-LVDS bridge SN65DSI83. In order to obtain the MIPI output directly, the IC LVDS bridge chip SN65DSI83 was physically removed and shorted via flying wires. In order to test the MIPI DSI output, I am using currently an existing driver file “panel-raydium-rm67191.c” (please look in the attachment).
Regarding the kernel, I did the following adaption:

  • I took the dts file “fls-imx8mm-var-som”, disabled the LVDS bridge:

    dsi_lvds_bridge: sn65dsi84@2c {
    compatible = “ti,sn65dsi83”;
    reg = <0x2c>;
    ti,dsi-lanes = <4>;
    ti,lvds-format = <1>;
    ti,lvds-bpp = <24>;
    ti,width-mm = <430>;
    ti,height-mm = <254>;
    enable-gpios = <&gpio2 11 GPIO_ACTIVE_HIGH>;
    pinctrl-names = “default”;
    pinctrl-0 = <&pinctrl_lvds>;
    status = “disabled”;

    display-timings {
    lvds {
    clock-frequency = <33000000>;
    hactive = <800>;
    vactive = <480>;
    hback-porch = <40>;
    hfront-porch = <40>;
    vback-porch = <29>;
    vfront-porch = <13>;
    hsync-len = <48>;
    vsync-len = <3>;
    hsync-active = <0>;
    vsync-active = <0>;
    de-active = <1>;
    pixelclk-active = <0>;
    };
    };
    /*
    port {
    dsi_lvds_bridge_in: endpoint {
    remote-endpoint = <&mipi_dsi_out>;
    };
    };
    */
    };

  • I added the MIPI DSI to the dts file in correspondence to the Raydium RM67191 as follows:

    &mipi_dsi {
    status = “okay”;
    fsl,clock-drop-level = <2>;

    panel@0 {
    #address-cells = <1>;
    #size-cells = <0>;
    compatible = “raydium,rm67191”;
    reg = <0>;
    reset-gpios = <&gpio4 7 GPIO_ACTIVE_LOW>;
    dsi-lanes = <4>;
    video-mode = <2>;
    width-mm = <68>;
    height-mm = <121>;

    port@0 {
    reg = <0>;
    panel0_in: endpoint {
    remote-endpoint = <&mipi0_panel_out>;
    };
    };
    };

    ports {
    /delete-node/ port@1;
    port@1 {
    reg = <1>;
    mipi0_panel_out: endpoint {
    remote-endpoint = <&panel0_in>;
    };
    };
    };
    };
    .
    .
    .

&iomuxc {
pinctrl-names = “default”;
imx8mm-var-som {
pinctrl_lvds: lvdsgrp {
fsl,pins = <
MX8MM_IOMUXC_SD1_STROBE_GPIO2_IO11 0x16
>;
};

  pinctrl_mipi_dsi_en: mipidsiengrp {
     fsl,pins = <
        MX8MM_IOMUXC_SAI1_TXD0_GPIO4_IO12         0x16
     >;
  };

};
};

  • I changed two configuration in the file my_defconfig:

CONFIG_DRM_PANEL_RAYDIUM_RM67191=m
CONFIG_DRM_IMX_LDB=n

Once I tried to boot the compiled kernel and I got the following output of the serial terminal:

[drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[drm] No driver support for vblank timestamp query.
imx-drm display-subsystem: bound imx-lcdif-crtc.0 (ops lcdif_crtc_ops)
imx-drm display-subsystem: failed to bind 32e10000.mipi_dsi (ops imx_sec_dsim_ops): -517
imx-drm display-subsystem: master bind failed: -517

What can be the causes of the binding failure messages and how can I resolve them?

It should be noted, that no display panel is connected to the symphony board (resulting in, no connection to the MCU).

Many thanks in advance
Best regards
Christian