Skip to contentSkip to conversation

dt-bindings: display: panel: samsung,atna45dc02: Document ATNA45DC02

PATCH Superseded Rob Clark 5 participants 8 messages Jul 19, 2024 – Jul 22, 2024

Subsystems (6)

v2 of 3 Superseded Latest is v3 →

lore
Share & tools
lore

Rob Clark

author
#0 lore raw

PATCH v2 1/2 dt-bindings: display: panel: samsung,atna45dc02: Document ATNA45DC02

From: Rob Clark <[email protected]>

The Samsung ATNA45DC02 panel is an AMOLED eDP panel, similar to the existing ATNA45AF01 and ATNA33XC20 panel but with a higher resolution.

---
 .../devicetree/bindings/display/panel/samsung,atna33xc20.yaml | 4 ++++
 1 file changed, 4 insertions(+)
Documentation/devicetree/bindings/display/panel/samsung,atna33xc20.yaml +4 -0
index 5192c93fbd67..3ec9b8c79b5f 100644
@@ -21,6 +21,10 @@ properties:
       - items:
           - const: samsung,atna45af01
           - const: samsung,atna33xc20
+      # Samsung 14.5" 3K (2944x1840 pixels) eDP AMOLED panel
+      - items:
+          - const: samsung,atna45dc02
+          - const: samsung,atna33xc20
 
   enable-gpios: true
   port: true
Signature · 1 line
2.45.2
author
#1 lore raw

PATCH v2 2/2 arm64: dts: qcom: x1e80100-yoga: Update panel bindings

From: Rob Clark <[email protected]>

Use the correct panel compatible, and wire up enable-gpio. It is wired up in the same way as the x1e80100-crd.

---
 .../boot/dts/qcom/x1e80100-lenovo-yoga-slim7x.dts   | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)
arch/arm64/boot/dts/qcom/x1e80100-lenovo-yoga-slim7x.dts +12 -1
index f569f0fbd1fc..28a6ea5a24fd 100644
@@ -592,9 +592,13 @@ &mdss_dp3 {
 
 	aux-bus {
 		panel {
-			compatible = "edp-panel";
+			compatible = "samsung,atna45dc02", "samsung,atna33xc20";
+			enable-gpios = <&pmc8380_3_gpios 4 GPIO_ACTIVE_HIGH>;
 			power-supply = <&vreg_edp_3p3>;
 
+			pinctrl-0 = <&edp_bl_en>;
+			pinctrl-names = "default";
+
 			port {
 				edp_panel_in: endpoint {
 					remote-endpoint = <&mdss_dp3_out>;
@@ -663,6 +667,13 @@ &pcie6a_phy {
 	status = "okay";
 };
 
+&pmc8380_3_gpios {
+	edp_bl_en: edp-bl-en-state {
+		pins = "gpio4";
+		function = "normal";
+	};
+};
+
 &qupv3_0 {
 	status = "okay";
 };
Signature · 1 line
2.45.2
Reviewed-by on v2 2/2
#2 lore raw

Re: [PATCH v2 2/2] arm64: dts: qcom: x1e80100-yoga: Update panel bindings

Quoted 6 lines · Rob Clark

From: Rob Clark <[email protected]>

Use the correct panel compatible, and wire up enable-gpio. It is wired up in the same way as the x1e80100-crd.

Quoted 40 lines
---
 .../boot/dts/qcom/x1e80100-lenovo-yoga-slim7x.dts   | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)
arch/arm64/boot/dts/qcom/x1e80100-lenovo-yoga-slim7x.dts +12 -1
index f569f0fbd1fc..28a6ea5a24fd 100644
@@ -592,9 +592,13 @@ &mdss_dp3 {
 
 	aux-bus {
 		panel {
-			compatible = "edp-panel";
+			compatible = "samsung,atna45dc02", "samsung,atna33xc20";
+			enable-gpios = <&pmc8380_3_gpios 4 GPIO_ACTIVE_HIGH>;
 			power-supply = <&vreg_edp_3p3>;
 
+			pinctrl-0 = <&edp_bl_en>;
+			pinctrl-names = "default";
+
 			port {
 				edp_panel_in: endpoint {
 					remote-endpoint = <&mdss_dp3_out>;
@@ -663,6 +667,13 @@ &pcie6a_phy {
 	status = "okay";
 };
 
+&pmc8380_3_gpios {
+	edp_bl_en: edp-bl-en-state {
+		pins = "gpio4";
+		function = "normal";
+	};
+};
+
 &qupv3_0 {
 	status = "okay";
 };
Signature · 1 line
2.45.2
#3 lore raw

Re: [PATCH v2 2/2] arm64: dts: qcom: x1e80100-yoga: Update panel bindings

In reply to Rob Clark
Quoted 30 lines · Rob Clark

From: Rob Clark <[email protected]>

Use the correct panel compatible, and wire up enable-gpio. It is wired up in the same way as the x1e80100-crd.

---
 .../boot/dts/qcom/x1e80100-lenovo-yoga-slim7x.dts   | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)
arch/arm64/boot/dts/qcom/x1e80100-lenovo-yoga-slim7x.dts +5 -1
index f569f0fbd1fc..28a6ea5a24fd 100644
@@ -592,9 +592,13 @@ &mdss_dp3 {
 
 	aux-bus {
 		panel {
-			compatible = "edp-panel";
+			compatible = "samsung,atna45dc02", "samsung,atna33xc20";
+			enable-gpios = <&pmc8380_3_gpios 4 GPIO_ACTIVE_HIGH>;
 			power-supply = <&vreg_edp_3p3>;
 
+			pinctrl-0 = <&edp_bl_en>;
+			pinctrl-names = "default";
+
 			port {
 				edp_panel_in: endpoint {
 					remote-endpoint = <&mdss_dp3_out>;

arch/arm64/boot/dts/qcom/x1e80100-lenovo-yoga-slim7x.dts &pcie6a_phy { · line 674

Quoted 8 lines
arch/arm64/boot/dts/qcom/x1e80100-lenovo-yoga-slim7x.dts +5 -0
@@ -663,6 +667,13 @@ &pcie6a_phy {
 	status = "okay";
 };
 
+&pmc8380_3_gpios {
+	edp_bl_en: edp-bl-en-state {
+		pins = "gpio4";
+		function = "normal";
+	};

Did you omit the "power-source" here on purpose? It works without because the firmware already configures this pin, but ideally we should provide the full configuration.

In /sys/kernel/debug/gpio you can check how the firmware has configured the pin. It is probably exactly the same as for the CRD.

Thanks,
Stephan

author
#4 lore raw

Re: [PATCH v2 2/2] arm64: dts: qcom: x1e80100-yoga: Update panel bindings

Quoted 35 lines · Stephan Gerhold
Quoted 33 lines · Rob Clark

From: Rob Clark <[email protected]>

Use the correct panel compatible, and wire up enable-gpio. It is wired up in the same way as the x1e80100-crd.

---
 .../boot/dts/qcom/x1e80100-lenovo-yoga-slim7x.dts   | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)
arch/arm64/boot/dts/qcom/x1e80100-lenovo-yoga-slim7x.dts +5 -1
index f569f0fbd1fc..28a6ea5a24fd 100644
@@ -592,9 +592,13 @@ &mdss_dp3 {
 
      aux-bus {
              panel {
-                     compatible = "edp-panel";
+                     compatible = "samsung,atna45dc02", "samsung,atna33xc20";
+                     enable-gpios = <&pmc8380_3_gpios 4 GPIO_ACTIVE_HIGH>;
                      power-supply = <&vreg_edp_3p3>;
 
+                     pinctrl-0 = <&edp_bl_en>;
+                     pinctrl-names = "default";
+
                      port {
                              edp_panel_in: endpoint {
                                      remote-endpoint = <&mdss_dp3_out>;
@@ -663,6 +667,13 @@ &pcie6a_phy {
      status = "okay";
 };
 
Quoted 9 lines

arch/arm64/boot/dts/qcom/x1e80100-lenovo-yoga-slim7x.dts &pcie6a_phy { · line 674

Quoted 5 lines
arch/arm64/boot/dts/qcom/x1e80100-lenovo-yoga-slim7x.dts +5 -0
+&pmc8380_3_gpios {
+     edp_bl_en: edp-bl-en-state {
+             pins = "gpio4";
+             function = "normal";
+     };

Did you omit the "power-source" here on purpose? It works without because the firmware already configures this pin, but ideally we should provide the full configuration.

I just copied the CRD.. other than the panel, things appear to be wired up in the same way.

BR,
-R

Quoted 5 lines

In /sys/kernel/debug/gpio you can check how the firmware has configured the pin. It is probably exactly the same as for the CRD.

Thanks,
Stephan

#5 lore raw

Re: [PATCH v2 2/2] arm64: dts: qcom: x1e80100-yoga: Update panel bindings

Quoted 47 lines · Rob Clark
Quoted 35 lines · Stephan Gerhold
Quoted 33 lines · Rob Clark

From: Rob Clark <[email protected]>

Use the correct panel compatible, and wire up enable-gpio. It is wired up in the same way as the x1e80100-crd.

---
 .../boot/dts/qcom/x1e80100-lenovo-yoga-slim7x.dts   | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)
arch/arm64/boot/dts/qcom/x1e80100-lenovo-yoga-slim7x.dts +5 -1
index f569f0fbd1fc..28a6ea5a24fd 100644
@@ -592,9 +592,13 @@ &mdss_dp3 {
 
      aux-bus {
              panel {
-                     compatible = "edp-panel";
+                     compatible = "samsung,atna45dc02", "samsung,atna33xc20";
+                     enable-gpios = <&pmc8380_3_gpios 4 GPIO_ACTIVE_HIGH>;
                      power-supply = <&vreg_edp_3p3>;
 
+                     pinctrl-0 = <&edp_bl_en>;
+                     pinctrl-names = "default";
+
                      port {
                              edp_panel_in: endpoint {
                                      remote-endpoint = <&mdss_dp3_out>;
@@ -663,6 +667,13 @@ &pcie6a_phy {
      status = "okay";
 };
 
Quoted 9 lines

arch/arm64/boot/dts/qcom/x1e80100-lenovo-yoga-slim7x.dts &pcie6a_phy { · line 674

Quoted 5 lines
arch/arm64/boot/dts/qcom/x1e80100-lenovo-yoga-slim7x.dts +5 -0
+&pmc8380_3_gpios {
+     edp_bl_en: edp-bl-en-state {
+             pins = "gpio4";
+             function = "normal";
+     };

Did you omit the "power-source" here on purpose? It works without because the firmware already configures this pin, but ideally we should provide the full configuration.

Quoted 3 lines

I just copied the CRD.. other than the panel, things appear to be wired up in the same way.

It looks like Abel has an older version of my patch in his tree. The patch that I sent upstream has the "power-source":

https://lore.kernel.org/linux-arm-msm/[email protected]/

Can you copy it from there?

Thanks,
Stephan

#6 lore raw
In reply to Rob Clark
Quoted 15 lines · Rob Clark

From: Rob Clark <[email protected]>

The Samsung ATNA45DC02 panel is an AMOLED eDP panel, similar to the existing ATNA45AF01 and ATNA33XC20 panel but with a higher resolution.

---
 .../devicetree/bindings/display/panel/samsung,atna33xc20.yaml | 4 ++++
 1 file changed, 4 insertions(+)
Documentation/devicetree/bindings/display/panel/samsung,atna33xc20.yaml +0 -0
index 5192c93fbd67..3ec9b8c79b5f 100644

Documentation/devicetree/bindings/display/panel/samsung,atna33xc20.yaml properties: · line 26

Quoted 6 lines
Documentation/devicetree/bindings/display/panel/samsung,atna33xc20.yaml +3 -0
@@ -21,6 +21,10 @@ properties:
       - items:
           - const: samsung,atna45af01
           - const: samsung,atna33xc20
+      # Samsung 14.5" 3K (2944x1840 pixels) eDP AMOLED panel
+      - items:
+          - const: samsung,atna45dc02

This should be just enum of above entry (the first compatible).

Best regards,
Krzysztof