2023-03-23 01:00:47

by Jianhua Lu

[permalink] [raw]
Subject: [PATCH v3 1/3] arm64: dts: qcom: Split elish dts into common dtsi and elish-boe dts

There are two panel variants of xiaomi-elish, BOE and CSOT panels.
In order to support both panels, so split elish dts into common dtsi
and elish-boe dts.

Signed-off-by: Jianhua Lu <[email protected]>
---
Changes in v2:
- Remove sm8250-xiaomi-elish.dtb to avoid build failure.

Changes in v3:
- squash patch[3/4]

arch/arm64/boot/dts/qcom/Makefile | 2 +-
.../arm64/boot/dts/qcom/sm8250-xiaomi-elish-boe.dts | 13 +++++++++++++
...mi-elish.dts => sm8250-xiaomi-elish-common.dtsi} | 4 ----
3 files changed, 14 insertions(+), 5 deletions(-)
create mode 100644 arch/arm64/boot/dts/qcom/sm8250-xiaomi-elish-boe.dts
rename arch/arm64/boot/dts/qcom/{sm8250-xiaomi-elish.dts => sm8250-xiaomi-elish-common.dtsi} (99%)

diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile
index 1a29403400b7..808f46947661 100644
--- a/arch/arm64/boot/dts/qcom/Makefile
+++ b/arch/arm64/boot/dts/qcom/Makefile
@@ -183,7 +183,7 @@ dtb-$(CONFIG_ARCH_QCOM) += sm8250-hdk.dtb
dtb-$(CONFIG_ARCH_QCOM) += sm8250-mtp.dtb
dtb-$(CONFIG_ARCH_QCOM) += sm8250-sony-xperia-edo-pdx203.dtb
dtb-$(CONFIG_ARCH_QCOM) += sm8250-sony-xperia-edo-pdx206.dtb
-dtb-$(CONFIG_ARCH_QCOM) += sm8250-xiaomi-elish.dtb
+dtb-$(CONFIG_ARCH_QCOM) += sm8250-xiaomi-elish-boe.dtb
dtb-$(CONFIG_ARCH_QCOM) += sm8350-hdk.dtb
dtb-$(CONFIG_ARCH_QCOM) += sm8350-microsoft-surface-duo2.dtb
dtb-$(CONFIG_ARCH_QCOM) += sm8350-mtp.dtb
diff --git a/arch/arm64/boot/dts/qcom/sm8250-xiaomi-elish-boe.dts b/arch/arm64/boot/dts/qcom/sm8250-xiaomi-elish-boe.dts
new file mode 100644
index 000000000000..bd9ad109daf9
--- /dev/null
+++ b/arch/arm64/boot/dts/qcom/sm8250-xiaomi-elish-boe.dts
@@ -0,0 +1,13 @@
+// SPDX-License-Identifier: BSD-3-Clause
+/*
+ * Copyright (c) 2023 Jianhua Lu <[email protected]>
+ */
+
+/dts-v1/;
+
+#include "sm8250-xiaomi-elish-common.dtsi"
+
+/ {
+ model = "Xiaomi Mi Pad 5 Pro (BOE)";
+ compatible = "xiaomi,elish", "qcom,sm8250";
+};
diff --git a/arch/arm64/boot/dts/qcom/sm8250-xiaomi-elish.dts b/arch/arm64/boot/dts/qcom/sm8250-xiaomi-elish-common.dtsi
similarity index 99%
rename from arch/arm64/boot/dts/qcom/sm8250-xiaomi-elish.dts
rename to arch/arm64/boot/dts/qcom/sm8250-xiaomi-elish-common.dtsi
index dd79671f5614..a43d4b73ffca 100644
--- a/arch/arm64/boot/dts/qcom/sm8250-xiaomi-elish.dts
+++ b/arch/arm64/boot/dts/qcom/sm8250-xiaomi-elish-common.dtsi
@@ -3,8 +3,6 @@
* Copyright (c) 2022, 2023 Jianhua Lu <[email protected]>
*/

-/dts-v1/;
-
#include <dt-bindings/arm/qcom,ids.h>
#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
#include "sm8250.dtsi"
@@ -24,8 +22,6 @@
/delete-node/ &xbl_aop_mem;

/ {
- model = "Xiaomi Mi Pad 5 Pro";
- compatible = "xiaomi,elish", "qcom,sm8250";
classis-type = "tablet";

/* required for bootloader to select correct board */
--
2.39.2


2023-03-23 01:00:50

by Jianhua Lu

[permalink] [raw]
Subject: [PATCH v3 2/3] arm64: dts: qcom: sm8250-xiaomi-elish-boe: Add mdss and dsi panel

Add nodes for BOE NT36523 panel found in xiaomi-elish. This panel
is a dual dsi mode panel and the dsi phy type is cphy.

Signed-off-by: Jianhua Lu <[email protected]>
---
Changes in v2:
- Include missing <dt-bindings/phy/phy.h> for phy-type property.

Changes in v3:
- Sort include header.
- Move qcom,sync-dual-dsi to the front of qcom,master-dsi
- Add newline before subnode.

.../boot/dts/qcom/sm8250-xiaomi-elish-boe.dts | 5 ++
.../dts/qcom/sm8250-xiaomi-elish-common.dtsi | 75 +++++++++++++++++++
2 files changed, 80 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/sm8250-xiaomi-elish-boe.dts b/arch/arm64/boot/dts/qcom/sm8250-xiaomi-elish-boe.dts
index bd9ad109daf9..8b2ae39950ff 100644
--- a/arch/arm64/boot/dts/qcom/sm8250-xiaomi-elish-boe.dts
+++ b/arch/arm64/boot/dts/qcom/sm8250-xiaomi-elish-boe.dts
@@ -11,3 +11,8 @@ / {
model = "Xiaomi Mi Pad 5 Pro (BOE)";
compatible = "xiaomi,elish", "qcom,sm8250";
};
+
+&display_panel {
+ compatible = "xiaomi,elish-boe-nt36523";
+ status = "okay";
+};
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..4585f61781f1 100644
--- a/arch/arm64/boot/dts/qcom/sm8250-xiaomi-elish-common.dtsi
+++ b/arch/arm64/boot/dts/qcom/sm8250-xiaomi-elish-common.dtsi
@@ -4,6 +4,7 @@
*/

#include <dt-bindings/arm/qcom,ids.h>
+#include <dt-bindings/phy/phy.h>
#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
#include "sm8250.dtsi"
#include "pm8150.dtsi"
@@ -469,6 +470,76 @@ &cdsp {
status = "okay";
};

+&dsi0 {
+ vdda-supply = <&vreg_l9a_1p2>;
+ qcom,dual-dsi-mode;
+ qcom,sync-dual-dsi;
+ qcom,master-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 +604,10 @@ fuel-gauge@55 {
};
};

+&mdss {
+ status = "okay";
+};
+
&pcie0 {
status = "okay";
};
--
2.39.2

2023-03-23 01:03:12

by Jianhua Lu

[permalink] [raw]
Subject: [PATCH v3 3/3] arm64: dts: qcom: sm8250-xiaomi-elish-csot: Add Xiaomi Mi Pad 5 Pro CSOT variant

Add support for the Xiaomi Mi Pad 5 Pro CSOT variant. The CSOT variant
uses China Star Optoelectronics Technology (CSOT) panel based on NT36523
display controller.

Signed-off-by: Jianhua Lu <[email protected]>
Reviewed-by: Konrad Dybcio <[email protected]>
---
Changes in v3:
- Pick up Konrad's R-b

No changes in v2

arch/arm64/boot/dts/qcom/Makefile | 1 +
.../boot/dts/qcom/sm8250-xiaomi-elish-csot.dts | 18 ++++++++++++++++++
2 files changed, 19 insertions(+)
create mode 100644 arch/arm64/boot/dts/qcom/sm8250-xiaomi-elish-csot.dts

diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile
index 808f46947661..b755b198cfb7 100644
--- a/arch/arm64/boot/dts/qcom/Makefile
+++ b/arch/arm64/boot/dts/qcom/Makefile
@@ -184,6 +184,7 @@ dtb-$(CONFIG_ARCH_QCOM) += sm8250-mtp.dtb
dtb-$(CONFIG_ARCH_QCOM) += sm8250-sony-xperia-edo-pdx203.dtb
dtb-$(CONFIG_ARCH_QCOM) += sm8250-sony-xperia-edo-pdx206.dtb
dtb-$(CONFIG_ARCH_QCOM) += sm8250-xiaomi-elish-boe.dtb
+dtb-$(CONFIG_ARCH_QCOM) += sm8250-xiaomi-elish-csot.dtb
dtb-$(CONFIG_ARCH_QCOM) += sm8350-hdk.dtb
dtb-$(CONFIG_ARCH_QCOM) += sm8350-microsoft-surface-duo2.dtb
dtb-$(CONFIG_ARCH_QCOM) += sm8350-mtp.dtb
diff --git a/arch/arm64/boot/dts/qcom/sm8250-xiaomi-elish-csot.dts b/arch/arm64/boot/dts/qcom/sm8250-xiaomi-elish-csot.dts
new file mode 100644
index 000000000000..a4d5341495cf
--- /dev/null
+++ b/arch/arm64/boot/dts/qcom/sm8250-xiaomi-elish-csot.dts
@@ -0,0 +1,18 @@
+// SPDX-License-Identifier: BSD-3-Clause
+/*
+ * Copyright (c) 2023 Jianhua Lu <[email protected]>
+ */
+
+/dts-v1/;
+
+#include "sm8250-xiaomi-elish-common.dtsi"
+
+/ {
+ model = "Xiaomi Mi Pad 5 Pro (CSOT)";
+ compatible = "xiaomi,elish", "qcom,sm8250";
+};
+
+&display_panel {
+ compatible = "xiaomi,elish-csot-nt36523";
+ status = "okay";
+};
--
2.39.2

2023-03-23 06:53:38

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [PATCH v3 1/3] arm64: dts: qcom: Split elish dts into common dtsi and elish-boe dts

On 23/03/2023 01:59, Jianhua Lu wrote:
> There are two panel variants of xiaomi-elish, BOE and CSOT panels.
> In order to support both panels, so split elish dts into common dtsi
> and elish-boe dts.
>
> Signed-off-by: Jianhua Lu <[email protected]>
> ---
> Changes in v2:
> - Remove sm8250-xiaomi-elish.dtb to avoid build failure.
>
> Changes in v3:
> - squash patch[3/4]

Reviewed-by: Krzysztof Kozlowski <[email protected]>

Best regards,
Krzysztof

2023-03-23 16:33:05

by Konrad Dybcio

[permalink] [raw]
Subject: Re: [PATCH v3 2/3] arm64: dts: qcom: sm8250-xiaomi-elish-boe: Add mdss and dsi panel



On 23.03.2023 01:59, Jianhua Lu wrote:
> Add nodes for BOE NT36523 panel found in xiaomi-elish. This panel
> is a dual dsi mode panel and the dsi phy type is cphy.
>
> Signed-off-by: Jianhua Lu <[email protected]>
> ---
Reviewed-by: Konrad Dybcio <[email protected]>

Konrad
> Changes in v2:
> - Include missing <dt-bindings/phy/phy.h> for phy-type property.
>
> Changes in v3:
> - Sort include header.
> - Move qcom,sync-dual-dsi to the front of qcom,master-dsi
> - Add newline before subnode.
>
> .../boot/dts/qcom/sm8250-xiaomi-elish-boe.dts | 5 ++
> .../dts/qcom/sm8250-xiaomi-elish-common.dtsi | 75 +++++++++++++++++++
> 2 files changed, 80 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/qcom/sm8250-xiaomi-elish-boe.dts b/arch/arm64/boot/dts/qcom/sm8250-xiaomi-elish-boe.dts
> index bd9ad109daf9..8b2ae39950ff 100644
> --- a/arch/arm64/boot/dts/qcom/sm8250-xiaomi-elish-boe.dts
> +++ b/arch/arm64/boot/dts/qcom/sm8250-xiaomi-elish-boe.dts
> @@ -11,3 +11,8 @@ / {
> model = "Xiaomi Mi Pad 5 Pro (BOE)";
> compatible = "xiaomi,elish", "qcom,sm8250";
> };
> +
> +&display_panel {
> + compatible = "xiaomi,elish-boe-nt36523";
> + status = "okay";
> +};
> 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..4585f61781f1 100644
> --- a/arch/arm64/boot/dts/qcom/sm8250-xiaomi-elish-common.dtsi
> +++ b/arch/arm64/boot/dts/qcom/sm8250-xiaomi-elish-common.dtsi
> @@ -4,6 +4,7 @@
> */
>
> #include <dt-bindings/arm/qcom,ids.h>
> +#include <dt-bindings/phy/phy.h>
> #include <dt-bindings/regulator/qcom,rpmh-regulator.h>
> #include "sm8250.dtsi"
> #include "pm8150.dtsi"
> @@ -469,6 +470,76 @@ &cdsp {
> status = "okay";
> };
>
> +&dsi0 {
> + vdda-supply = <&vreg_l9a_1p2>;
> + qcom,dual-dsi-mode;
> + qcom,sync-dual-dsi;
> + qcom,master-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 +604,10 @@ fuel-gauge@55 {
> };
> };
>
> +&mdss {
> + status = "okay";
> +};
> +
> &pcie0 {
> status = "okay";
> };

2023-04-07 18:53:48

by Bjorn Andersson

[permalink] [raw]
Subject: Re: (subset) [PATCH v3 1/3] arm64: dts: qcom: Split elish dts into common dtsi and elish-boe dts

On Thu, 23 Mar 2023 08:59:23 +0800, Jianhua Lu wrote:
> There are two panel variants of xiaomi-elish, BOE and CSOT panels.
> In order to support both panels, so split elish dts into common dtsi
> and elish-boe dts.
>
>

Applied, thanks!

[1/3] arm64: dts: qcom: Split elish dts into common dtsi and elish-boe dts
commit: 68434024dae509455bdd2a9e321a2cf58a6d0a75
[2/3] arm64: dts: qcom: sm8250-xiaomi-elish-boe: Add mdss and dsi panel
commit: 51c4c2bd6f314de8b1bb7b5c949d2432be19d419
[3/3] arm64: dts: qcom: sm8250-xiaomi-elish-csot: Add Xiaomi Mi Pad 5 Pro CSOT variant
commit: 8a786036c7b682c4d77abf7f396b87bc7eec98f9

Best regards,
--
Bjorn Andersson <[email protected]>

2023-04-08 13:17:58

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [PATCH v3 2/3] arm64: dts: qcom: sm8250-xiaomi-elish-boe: Add mdss and dsi panel

On 23/03/2023 01:59, Jianhua Lu wrote:
> Add nodes for BOE NT36523 panel found in xiaomi-elish. This panel
> is a dual dsi mode panel and the dsi phy type is cphy.
>
> Signed-off-by: Jianhua Lu <[email protected]>
> ---
> Changes in v2:
> - Include missing <dt-bindings/phy/phy.h> for phy-type property.
>
> Changes in v3:
> - Sort include header.
> - Move qcom,sync-dual-dsi to the front of qcom,master-dsi
> - Add newline before subnode.
>
> .../boot/dts/qcom/sm8250-xiaomi-elish-boe.dts | 5 ++
> .../dts/qcom/sm8250-xiaomi-elish-common.dtsi | 75 +++++++++++++++++++
> 2 files changed, 80 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/qcom/sm8250-xiaomi-elish-boe.dts b/arch/arm64/boot/dts/qcom/sm8250-xiaomi-elish-boe.dts
> index bd9ad109daf9..8b2ae39950ff 100644
> --- a/arch/arm64/boot/dts/qcom/sm8250-xiaomi-elish-boe.dts
> +++ b/arch/arm64/boot/dts/qcom/sm8250-xiaomi-elish-boe.dts
> @@ -11,3 +11,8 @@ / {
> model = "Xiaomi Mi Pad 5 Pro (BOE)";
> compatible = "xiaomi,elish", "qcom,sm8250";
> };
> +
> +&display_panel {
> + compatible = "xiaomi,elish-boe-nt36523";

If you add new bindings and new nodes using these - in this case this
panel - please test it. This is why we have DT schema, so you can verify
your DTS. Sending DTS which is entirely different than the bindings you
sent, is adding quite an effort for us later to fix it.

Best regards,
Krzysztof

2023-04-08 13:39:53

by Jianhua Lu

[permalink] [raw]
Subject: Re: [PATCH v3 2/3] arm64: dts: qcom: sm8250-xiaomi-elish-boe: Add mdss and dsi panel

On Sat, Apr 08, 2023 at 03:04:52PM +0200, Krzysztof Kozlowski wrote:
> On 23/03/2023 01:59, Jianhua Lu wrote:
> > Add nodes for BOE NT36523 panel found in xiaomi-elish. This panel
> > is a dual dsi mode panel and the dsi phy type is cphy.
> >
> > Signed-off-by: Jianhua Lu <[email protected]>
> > ---
> > Changes in v2:
> > - Include missing <dt-bindings/phy/phy.h> for phy-type property.
> >
> > Changes in v3:
> > - Sort include header.
> > - Move qcom,sync-dual-dsi to the front of qcom,master-dsi
> > - Add newline before subnode.
> >
> > .../boot/dts/qcom/sm8250-xiaomi-elish-boe.dts | 5 ++
> > .../dts/qcom/sm8250-xiaomi-elish-common.dtsi | 75 +++++++++++++++++++
> > 2 files changed, 80 insertions(+)
> >
> > diff --git a/arch/arm64/boot/dts/qcom/sm8250-xiaomi-elish-boe.dts b/arch/arm64/boot/dts/qcom/sm8250-xiaomi-elish-boe.dts
> > index bd9ad109daf9..8b2ae39950ff 100644
> > --- a/arch/arm64/boot/dts/qcom/sm8250-xiaomi-elish-boe.dts
> > +++ b/arch/arm64/boot/dts/qcom/sm8250-xiaomi-elish-boe.dts
> > @@ -11,3 +11,8 @@ / {
> > model = "Xiaomi Mi Pad 5 Pro (BOE)";
> > compatible = "xiaomi,elish", "qcom,sm8250";
> > };
> > +
> > +&display_panel {
> > + compatible = "xiaomi,elish-boe-nt36523";
>
> If you add new bindings and new nodes using these - in this case this
> panel - please test it. This is why we have DT schema, so you can verify
> your DTS. Sending DTS which is entirely different than the bindings you
> sent, is adding quite an effort for us later to fix it.

I apologize for this. I will test it before sending patches next time.
>
> Best regards,
> Krzysztof
>