[v2,2/4] arm64: dts: qcom: sm8250-xiaomi-elish: Add mdss and dsi node
Commit Message
xiaomi-elish uses dual dsi mode panel and dsi phy type is cphy.
Signed-off-by: Jianhua Lu <lujianhua000@gmail.com>
---
Changes in v2:
- Include missing <dt-bindings/phy/phy.h> for phy-type property.
.../dts/qcom/sm8250-xiaomi-elish-common.dtsi | 73 +++++++++++++++++++
1 file changed, 73 insertions(+)
Comments
On 22.03.2023 18:15, Jianhua Lu wrote:
> xiaomi-elish uses dual dsi mode panel and dsi phy type is cphy.
>
> Signed-off-by: Jianhua Lu <lujianhua000@gmail.com>
> ---
> Changes in v2:
> - Include missing <dt-bindings/phy/phy.h> for phy-type property.
>
> .../dts/qcom/sm8250-xiaomi-elish-common.dtsi | 73 +++++++++++++++++++
> 1 file changed, 73 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/qcom/sm8250-xiaomi-elish-common.dtsi b/arch/arm64/boot/dts/qcom/sm8250-xiaomi-elish-common.dtsi
> index a43d4b73ffca..4ff8454d4abe 100644
> --- a/arch/arm64/boot/dts/qcom/sm8250-xiaomi-elish-common.dtsi
> +++ b/arch/arm64/boot/dts/qcom/sm8250-xiaomi-elish-common.dtsi
> @@ -5,6 +5,7 @@
>
> #include <dt-bindings/arm/qcom,ids.h>
> #include <dt-bindings/regulator/qcom,rpmh-regulator.h>
> +#include <dt-bindings/phy/phy.h>
'p' < 'r'
> #include "sm8250.dtsi"
> #include "pm8150.dtsi"
> #include "pm8150b.dtsi"
> @@ -469,6 +470,74 @@ &cdsp {
> status = "okay";
> };
>
> +&dsi0 {
> + vdda-supply = <&vreg_l9a_1p2>;
> + qcom,dual-dsi-mode;
> + qcom,master-dsi;
Keep the master property after qcom,sync-dual-dsi so that we
get a nice reverse-Christmas-tree.
> + qcom,sync-dual-dsi;
> + status = "okay";
> +
> + display_panel: panel@0 {
> + reg = <0>;
> + vddio-supply = <&vreg_l14a_1p88>;
> + reset-gpios = <&tlmm 75 GPIO_ACTIVE_LOW>;
> + backlight = <&backlight>;
> +
> + status = "disabled";
> +
> + ports {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + port@0 {
> + reg = <0>;
Please add newlines before subnodes.
Konrad
> + panel_in_0: endpoint {
> + remote-endpoint = <&dsi0_out>;
> + };
> + };
> +
> + port@1{
> + reg = <1>;
> + panel_in_1: endpoint {
> + remote-endpoint = <&dsi1_out>;
> + };
> + };
> +
> + };
> + };
> +};
> +
> +&dsi0_out {
> + data-lanes = <0 1 2>;
> + remote-endpoint = <&panel_in_0>;
> +};
> +
> +&dsi0_phy {
> + vdds-supply = <&vreg_l5a_0p88>;
> + phy-type = <PHY_TYPE_CPHY>;
> + status = "okay";
> +};
> +
> +&dsi1 {
> + vdda-supply = <&vreg_l9a_1p2>;
> + qcom,dual-dsi-mode;
> + qcom,sync-dual-dsi;
> + /* DSI1 is slave, so use DSI0 clocks */
> + assigned-clock-parents = <&dsi0_phy 0>, <&dsi0_phy 1>;
> + status = "okay";
> +};
> +
> +&dsi1_out {
> + data-lanes = <0 1 2>;
> + remote-endpoint = <&panel_in_1>;
> +};
> +
> +&dsi1_phy {
> + vdds-supply = <&vreg_l5a_0p88>;
> + phy-type = <PHY_TYPE_CPHY>;
> + status = "okay";
> +};
> +
> &gmu {
> status = "okay";
> };
> @@ -533,6 +602,10 @@ fuel-gauge@55 {
> };
> };
>
> +&mdss {
> + status = "okay";
> +};
> +
> &pcie0 {
> status = "okay";
> };
On Wed, Mar 22, 2023 at 07:16:40PM +0100, Konrad Dybcio wrote:
>
>
> On 22.03.2023 18:15, Jianhua Lu wrote:
> > xiaomi-elish uses dual dsi mode panel and dsi phy type is cphy.
> >
> > Signed-off-by: Jianhua Lu <lujianhua000@gmail.com>
> > ---
> > Changes in v2:
> > - Include missing <dt-bindings/phy/phy.h> for phy-type property.
> >
> > .../dts/qcom/sm8250-xiaomi-elish-common.dtsi | 73 +++++++++++++++++++
> > 1 file changed, 73 insertions(+)
> >
> > diff --git a/arch/arm64/boot/dts/qcom/sm8250-xiaomi-elish-common.dtsi b/arch/arm64/boot/dts/qcom/sm8250-xiaomi-elish-common.dtsi
> > index a43d4b73ffca..4ff8454d4abe 100644
> > --- a/arch/arm64/boot/dts/qcom/sm8250-xiaomi-elish-common.dtsi
> > +++ b/arch/arm64/boot/dts/qcom/sm8250-xiaomi-elish-common.dtsi
> > @@ -5,6 +5,7 @@
> >
> > #include <dt-bindings/arm/qcom,ids.h>
> > #include <dt-bindings/regulator/qcom,rpmh-regulator.h>
> > +#include <dt-bindings/phy/phy.h>
> 'p' < 'r'
Acked
>
>
> > #include "sm8250.dtsi"
> > #include "pm8150.dtsi"
> > #include "pm8150b.dtsi"
> > @@ -469,6 +470,74 @@ &cdsp {
> > status = "okay";
> > };
> >
> > +&dsi0 {
> > + vdda-supply = <&vreg_l9a_1p2>;
> > + qcom,dual-dsi-mode;
> > + qcom,master-dsi;
> Keep the master property after qcom,sync-dual-dsi so that we
> get a nice reverse-Christmas-tree.
Acked
>
> > + qcom,sync-dual-dsi;
> > + status = "okay";
> > +
> > + display_panel: panel@0 {
> > + reg = <0>;
> > + vddio-supply = <&vreg_l14a_1p88>;
> > + reset-gpios = <&tlmm 75 GPIO_ACTIVE_LOW>;
> > + backlight = <&backlight>;
> > +
> > + status = "disabled";
> > +
> > + ports {
> > + #address-cells = <1>;
> > + #size-cells = <0>;
> > +
> > + port@0 {
> > + reg = <0>;
> Please add newlines before subnodes.
Acked
>
> Konrad
> > + panel_in_0: endpoint {
> > + remote-endpoint = <&dsi0_out>;
> > + };
> > + };
> > +
> > + port@1{
> > + reg = <1>;
> > + panel_in_1: endpoint {
> > + remote-endpoint = <&dsi1_out>;
> > + };
> > + };
> > +
> > + };
> > + };
> > +};
> > +
> > +&dsi0_out {
> > + data-lanes = <0 1 2>;
> > + remote-endpoint = <&panel_in_0>;
> > +};
> > +
> > +&dsi0_phy {
> > + vdds-supply = <&vreg_l5a_0p88>;
> > + phy-type = <PHY_TYPE_CPHY>;
> > + status = "okay";
> > +};
> > +
> > +&dsi1 {
> > + vdda-supply = <&vreg_l9a_1p2>;
> > + qcom,dual-dsi-mode;
> > + qcom,sync-dual-dsi;
> > + /* DSI1 is slave, so use DSI0 clocks */
> > + assigned-clock-parents = <&dsi0_phy 0>, <&dsi0_phy 1>;
> > + status = "okay";
> > +};
> > +
> > +&dsi1_out {
> > + data-lanes = <0 1 2>;
> > + remote-endpoint = <&panel_in_1>;
> > +};
> > +
> > +&dsi1_phy {
> > + vdds-supply = <&vreg_l5a_0p88>;
> > + phy-type = <PHY_TYPE_CPHY>;
> > + status = "okay";
> > +};
> > +
> > &gmu {
> > status = "okay";
> > };
> > @@ -533,6 +602,10 @@ fuel-gauge@55 {
> > };
> > };
> >
> > +&mdss {
> > + status = "okay";
> > +};
> > +
> > &pcie0 {
> > status = "okay";
> > };
@@ -5,6 +5,7 @@
#include <dt-bindings/arm/qcom,ids.h>
#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
+#include <dt-bindings/phy/phy.h>
#include "sm8250.dtsi"
#include "pm8150.dtsi"
#include "pm8150b.dtsi"
@@ -469,6 +470,74 @@ &cdsp {
status = "okay";
};
+&dsi0 {
+ vdda-supply = <&vreg_l9a_1p2>;
+ qcom,dual-dsi-mode;
+ qcom,master-dsi;
+ qcom,sync-dual-dsi;
+ status = "okay";
+
+ display_panel: panel@0 {
+ reg = <0>;
+ vddio-supply = <&vreg_l14a_1p88>;
+ reset-gpios = <&tlmm 75 GPIO_ACTIVE_LOW>;
+ backlight = <&backlight>;
+
+ status = "disabled";
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+ panel_in_0: endpoint {
+ remote-endpoint = <&dsi0_out>;
+ };
+ };
+
+ port@1{
+ reg = <1>;
+ panel_in_1: endpoint {
+ remote-endpoint = <&dsi1_out>;
+ };
+ };
+
+ };
+ };
+};
+
+&dsi0_out {
+ data-lanes = <0 1 2>;
+ remote-endpoint = <&panel_in_0>;
+};
+
+&dsi0_phy {
+ vdds-supply = <&vreg_l5a_0p88>;
+ phy-type = <PHY_TYPE_CPHY>;
+ status = "okay";
+};
+
+&dsi1 {
+ vdda-supply = <&vreg_l9a_1p2>;
+ qcom,dual-dsi-mode;
+ qcom,sync-dual-dsi;
+ /* DSI1 is slave, so use DSI0 clocks */
+ assigned-clock-parents = <&dsi0_phy 0>, <&dsi0_phy 1>;
+ status = "okay";
+};
+
+&dsi1_out {
+ data-lanes = <0 1 2>;
+ remote-endpoint = <&panel_in_1>;
+};
+
+&dsi1_phy {
+ vdds-supply = <&vreg_l5a_0p88>;
+ phy-type = <PHY_TYPE_CPHY>;
+ status = "okay";
+};
+
&gmu {
status = "okay";
};
@@ -533,6 +602,10 @@ fuel-gauge@55 {
};
};
+&mdss {
+ status = "okay";
+};
+
&pcie0 {
status = "okay";
};