Quoting Harigovindan P (2020-02-17 00:58:42) > diff --git a/arch/arm64/boot/dts/qcom/sc7180-idp.dts b/arch/arm64/boot/dts/qcom/sc7180-idp.dts > index 388f50ad4fde..349db8fe78a5 100644 > --- a/arch/arm64/boot/dts/qcom/sc7180-idp.dts > +++ b/arch/arm64/boot/dts/qcom/sc7180-idp.dts > @@ -232,6 +233,57 @@ vreg_bob: bob { > }; > }; > > +&dsi0 { > + status = "okay"; > + > + vdda-supply = <&vreg_l3c_1p2>; > + > + panel@0 { > + compatible = "visionox,rm69299-1080p-display"; > + reg = <0>; > + > + vdda-supply = <&vreg_l8c_1p8>; > + vdd3p3-supply = <&vreg_l18a_2p8>; > + > + pinctrl-names = "default"; > + pinctrl-0 = <&disp_pins>; > + > + reset-gpios = <&pm6150l_gpio 3 GPIO_ACTIVE_HIGH>; > + > + ports { > + #address-cells = <1>; > + #size-cells = <0>; > + port@0 { > + reg = <0>; > + panel0_in: endpoint { > + remote-endpoint = <&dsi0_out>; > + }; > + }; > + }; > + }; > + > + ports { > + port@1 { > + endpoint { > + remote-endpoint = <&panel0_in>; > + data-lanes = <0 1 2 3>; Is this property needed? If it's the default assumption it would be nice to omit it so that we don't have to think about it. > + }; > + }; > + }; > +}; > + > +&dsi_phy { > + status = "okay"; > +}; > + > +&mdp { > + status = "okay"; > +}; > + > +&mdss { > + status = "okay"; > +}; > + > &qspi { > status = "okay"; > pinctrl-names = "default"; > @@ -289,6 +341,17 @@ &usb_1_qmpphy { > > /* PINCTRL - additions to nodes defined in sc7180.dtsi */ > > +&pm6150l_gpio { > + disp_pins: disp-pins { Curious how this works. It looks like PMIC GPIOS are expecting the node to look like: disp_pins: disp-pins { pinconf { pins = "gpio3"; function = PMIC_GPIO_FUNC_FUNC1; qcom,drive-strength = <PMIC_GPIO_STRENGTH_MED>; power-source = <PM6150_GPIO_VPH>; bias-disable; output-low; }; but this doesn't use the macros or the subnode for pinconf. Why? Also, the PM6150_GPIO_VPH macro doesn't exist. > + pins = "gpio3"; > + function = "func1"; > + qcom,drive-strength = <2>; > + power-source = <0>; > + bias-disable; > + output-low; > + }; > +}; > +