[Freedreno] toshiba tc358775 dsi2lvds brige - panel port mapping failing

VINAY SIMHA B N vinaysimha at inforcecomputing.com
Tue May 22 12:58:01 UTC 2018


hi,

i am trying to add support for dsi2lvds toshiba tc358775 driver ,
testing with apq8016 - ifc6309 board.

if i hardcode the panel modes, driver works.
trying to add the port method to the bridge and panel, it is failing
at the drm_of_find_panel_or_bridge. please suggest

while compiling the dtsi files, get some warnings
arch/arm64/boot/dts/qcom/apq8016-sbc-lvds.dtb: Warning
(graph_endpoint): /soc/i2c at 78b8000/bridge at 0f/ports/port at 1/endpoint:
graph connection to node '/soc/panel-in' is not bidirectional
arch/arm64/boot/dts/qcom/apq8016-sbc-lvds.dtb: Warning
(graph_endpoint): /soc/panel-in/port/endpoint: graph connection to
node '/soc/i2c at 78b8000/bridge at 0f/ports/port at 1/endpoint' is not
bidirectional

dtsi -
https://github.com/vinaysimhabn/msm/blob/a662442b63f2c1c943953107a239d4fe1c25f46c/arch/arm64/boot/dts/qcom/apq8016-sbc-lvds.dtsi

bridge driver file -
https://github.com/vinaysimhabn/msm/blob/a662442b63f2c1c943953107a239d4fe1c25f46c/drivers/gpu/drm/bridge/tc358775.c

It is failing in the bridge probe

 /* port at 1 is the output port */
        ret = drm_of_find_panel_or_bridge(dev->of_node, 1, 0, &tc->panel, NULL);
        if (ret && ret != -ENODEV)
        {
                pr_debug(" panel port failed ****\n");
                return ret;
        }

i2c at 78b8000 {
/* On High speed expansion */
label = "HS-I2C2";
status = "okay";

tc_bridge: bridge at 0f {
                                status = "okay";

                                compatible = "toshiba,tc358775";
                                reg = <0x0f>;

                                tc,dsi-lanes = <4>;

                                stby-gpio = <&msmgpio 99 GPIO_ACTIVE_LOW>;
                                reset-gpio = <&msmgpio 72 GPIO_ACTIVE_LOW>;

                                ports {
                                        #address-cells = <1>;
                                        #size-cells = <0>;

                                        port at 0 {
                                                reg = <0>;
                                                d2l_in: endpoint {

remote-endpoint = <&dsi0_out>;
                                                };
                                        };

                                        port at 1 {
                                                reg = <1>;
                                                d2l_out: endpoint {

remote-endpoint = <&panel_in>;
                                                };
                                    };
                   };
             };
};

panel_in: panel-in {
       status = "okay";
       compatible = "innolux,n116bge";
        power-supply = <&pm8916_l14>;

                      port {
                                lvds0_in: endpoint {
                                        remote-endpoint = <&d2l_out>;
                                };
                        };
};



Regards,
vinay simha


More information about the Freedreno mailing list