Skip to contentSkip to conversation

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

PATCH Superseded Rob Clark 4 participants 9 messages Jul 18, 2024 – Jul 19, 2024

Subsystems (6)

v1 of 3 Superseded Latest is v3 →

lore
Share & tools
lore

Rob Clark

author
#0 lore raw

PATCH 1/3 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   | 2 ++
 1 file changed, 2 insertions(+)
Documentation/devicetree/bindings/display/panel/samsung,atna33xc20.yaml +2 -0
index d668e8d0d296..284a4ee79bbf 100644
@@ -19,6 +19,8 @@ properties:
       - samsung,atna33xc20
       # Samsung 14.5" WQXGA+ (2880x1800 pixels) eDP AMOLED panel
       - samsung,atna45af01
+      # Samsung 14.5" 3K (2944x1840 pixels) eDP AMOLED panel
+      - samsung,atna45dc02
 
   enable-gpios: true
   port: true
Signature · 1 line
2.45.2
author
#1 lore raw

PATCH 2/3 drm/panel: samsung,atna33xc20: Add compatible for ATNA45DC02

From: Rob Clark <[email protected]>

The Samsung ATNA45DC02 panel needs the same power sequencing as the ATNA45AF01 and ATNA33XC20.

---
 drivers/gpu/drm/panel/panel-samsung-atna33xc20.c | 1 +
 1 file changed, 1 insertion(+)
drivers/gpu/drm/panel/panel-samsung-atna33xc20.c +1 -0
index fd56fd02df87..748ce8752f85 100644
@@ -334,6 +334,7 @@ static void atana33xc20_remove(struct dp_aux_ep_device *aux_ep)
 static const struct of_device_id atana33xc20_dt_match[] = {
 	{ .compatible = "samsung,atna33xc20", },
 	{ .compatible = "samsung,atna45af01", },
+	{ .compatible = "samsung,atna45dc02", },
 	{ /* sentinal */ }
 };
 MODULE_DEVICE_TABLE(of, atana33xc20_dt_match);
Signature · 1 line
2.45.2
#2 lore raw

Re: [PATCH 2/3] drm/panel: samsung,atna33xc20: Add compatible for ATNA45DC02

Hi,

Quoted 10 lines · Rob Clark

From: Rob Clark <[email protected]>

The Samsung ATNA45DC02 panel needs the same power sequencing as the ATNA45AF01 and ATNA33XC20.

---
 drivers/gpu/drm/panel/panel-samsung-atna33xc20.c | 1 +
 1 file changed, 1 insertion(+)

I believe this patch should be dropped and, until there is special logic needed for "samsung,atna45dc02" we can just rely on the fallback compatible ("samsung,atna33xc20") matching.

-Doug

author
#3 lore raw

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

In reply to 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 +12 -1
index f569f0fbd1fc..37ef05f8c7e0 100644
@@ -592,9 +592,13 @@ &mdss_dp3 {
 
 	aux-bus {
 		panel {
-			compatible = "edp-panel";
+			compatible = "samsung,atna45dc02";
+			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
#5 lore raw

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

In reply to Rob Clark

Hi,

Quoted 16 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 +0 -0
index f569f0fbd1fc..37ef05f8c7e0 100644

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

Quoted 5 lines
arch/arm64/boot/dts/qcom/x1e80100-lenovo-yoga-slim7x.dts +1 -1
@@ -592,9 +592,13 @@ &mdss_dp3 {
 
        aux-bus {
                panel {
-                       compatible = "edp-panel";
+                       compatible = "samsung,atna45dc02";

Instead of the above, I believe you should use:

compatible = "samsung,atna45dc02", "samsung,atna33xc20";

...which makes the dts work without any code changes. This is what we decided upon for Stephen's panel [0]

[0] https://lore.kernel.org/r/[email protected]/

-Doug

author
#6 lore raw

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

Quoted 28 lines · Doug Anderson

Hi,

Quoted 16 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 +0 -0
index f569f0fbd1fc..37ef05f8c7e0 100644

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

Quoted 5 lines
arch/arm64/boot/dts/qcom/x1e80100-lenovo-yoga-slim7x.dts +1 -1
@@ -592,9 +592,13 @@ &mdss_dp3 {
 
        aux-bus {
                panel {
-                       compatible = "edp-panel";
+                       compatible = "samsung,atna45dc02";

Instead of the above, I believe you should use:

Quoted 4 lines

compatible = "samsung,atna45dc02", "samsung,atna33xc20";

...which makes the dts work without any code changes. This is what we decided upon for Stephen's panel [0]

sure, that sounds reasonable.. I only saw the first version because that is what is in the x1e80100-next branch atm

BR,
-R

Quoted 4 lines

[0] https://lore.kernel.org/r/[email protected]/

-Doug

#7 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   | 2 ++
 1 file changed, 2 insertions(+)
Documentation/devicetree/bindings/display/panel/samsung,atna33xc20.yaml +0 -0
index d668e8d0d296..284a4ee79bbf 100644

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

Quoted 5 lines
Documentation/devicetree/bindings/display/panel/samsung,atna33xc20.yaml +2 -0
@@ -19,6 +19,8 @@ properties:
       - samsung,atna33xc20
       # Samsung 14.5" WQXGA+ (2880x1800 pixels) eDP AMOLED panel
       - samsung,atna45af01
+      # Samsung 14.5" 3K (2944x1840 pixels) eDP AMOLED panel
+      - samsung,atna45dc02

This makes me wonder if we should define a cover compatible like samsung,amoled-edp-panel.

Quoted 6 lines
Documentation/devicetree/bindings/display/panel/samsung,atna33xc20.yaml +0 -0
   enable-gpios: true
   port: true
Signature · 1 line
2.45.2
Signature · 2 lines
With best wishes
Dmitry
#8 lore raw

Hi,

Quoted 12 lines · Dmitry Baryshkov
Quoted 10 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   | 2 ++
 1 file changed, 2 insertions(+)
Quoted 10 lines

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

Quoted 10 lines
Documentation/devicetree/bindings/display/panel/samsung,atna33xc20.yaml +2 -0
index d668e8d0d296..284a4ee79bbf 100644
@@ -19,6 +19,8 @@ properties:
       - samsung,atna33xc20
       # Samsung 14.5" WQXGA+ (2880x1800 pixels) eDP AMOLED panel
       - samsung,atna45af01
+      # Samsung 14.5" 3K (2944x1840 pixels) eDP AMOLED panel
+      - samsung,atna45dc02

Please follow what we decided in Stephan Gerhold's case and use a fallback compatible. In other words: your patch seems to be based on his v1 and not his v2.

Quoted 2 lines

This makes me wonder if we should define a cover compatible like samsung,amoled-edp-panel.

I will bow to the wisdom of the DT folks, but my understanding is that we shouldn't do that. The fallback compatible can just be the compatible of the first panel that we supported that used the same interface.

-Doug