linux-arm-msm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/9] arm64: dts: qcom: x1: Add missing pinctrl for eDP HPD
@ 2025-08-14 13:30 Stephan Gerhold
  2025-08-14 13:30 ` [PATCH 1/9] arm64: dts: qcom: x1-asus-zenbook-a14: " Stephan Gerhold
                   ` (8 more replies)
  0 siblings, 9 replies; 20+ messages in thread
From: Stephan Gerhold @ 2025-08-14 13:30 UTC (permalink / raw)
  To: Bjorn Andersson, Konrad Dybcio
  Cc: Aleksandrs Vinarskis, Abel Vesa, Xilin Wu, Jens Glathe,
	Srinivas Kandagatla, Sibi Sankar, Rajendra Nayak, linux-arm-msm,
	devicetree, linux-kernel, Johan Hovold, Christopher Obbard

At the moment, we indirectly rely on the boot firmware to set up the
pinctrl for the eDP HPD line coming from the internal display. If the boot
firmware does not configure the display (e.g. because a different display
is selected for output in the UEFI settings), then the display fails to
come up and there are several errors in the kernel log:

 [drm:dpu_encoder_phys_vid_wait_for_commit_done:544] [dpu error]vblank timeout: 80020041
 [drm:dpu_kms_wait_for_commit_done:524] [dpu error]wait for commit done returned -110
 [drm:dpu_encoder_frame_done_timeout:2715] [dpu error]enc40 frame done timeout
 ...

Fix this by adding the missing pinctrl for gpio119 for all the boards
supported upstream.

I ran into this issue on the X1E CRD while testing some things and had this
fix in my local tree for a while. Chris made a similar patch for the T14s
[1], this series fixes up all of the boards upstream.

[1]: https://lore.kernel.org/linux-arm-msm/20250731-wip-obbardc-qcom-t14s-oled-panel-v6-1-4782074104d1@linaro.org/

Signed-off-by: Stephan Gerhold <stephan.gerhold@linaro.org>
---
Stephan Gerhold (9):
      arm64: dts: qcom: x1-asus-zenbook-a14: Add missing pinctrl for eDP HPD
      arm64: dts: qcom: x1-crd: Add missing pinctrl for eDP HPD
      arm64: dts: qcom: x1e78100-lenovo-thinkpad-t14s: Add missing pinctrl for eDP HPD
      arm64: dts: qcom: x1e80100-asus-vivobook-s15: Add missing pinctrl for eDP HPD
      arm64: dts: qcom: x1e80100-dell-xps13-9345: Add missing pinctrl for eDP HPD
      arm64: dts: qcom: x1e80100-hp-omnibook-x14: Add missing pinctrl for eDP HPD
      arm64: dts: qcom: x1e80100-lenovo-yoga-slim7x: Add missing pinctrl for eDP HPD
      arm64: dts: qcom: x1e80100-microsoft-romulus: Add missing pinctrl for eDP HPD
      arm64: dts: qcom: x1e80100-qcp: Add missing pinctrl for eDP HPD

 arch/arm64/boot/dts/qcom/x1-asus-zenbook-a14.dtsi           | 9 +++++++++
 arch/arm64/boot/dts/qcom/x1-crd.dtsi                        | 9 +++++++++
 arch/arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s.dtsi | 9 +++++++++
 arch/arm64/boot/dts/qcom/x1e80100-asus-vivobook-s15.dts     | 9 +++++++++
 arch/arm64/boot/dts/qcom/x1e80100-dell-xps13-9345.dts       | 9 +++++++++
 arch/arm64/boot/dts/qcom/x1e80100-hp-omnibook-x14.dts       | 9 +++++++++
 arch/arm64/boot/dts/qcom/x1e80100-lenovo-yoga-slim7x.dts    | 9 +++++++++
 arch/arm64/boot/dts/qcom/x1e80100-microsoft-romulus.dtsi    | 9 +++++++++
 arch/arm64/boot/dts/qcom/x1e80100-qcp.dts                   | 9 +++++++++
 9 files changed, 81 insertions(+)
---
base-commit: 33a21dab19b31540dfeb06dde02e55129a10aec4
change-id: 20250813-x1e80100-add-edp-hpd-91209c5a0720

Best regards,
-- 
Stephan Gerhold <stephan.gerhold@linaro.org>


^ permalink raw reply	[flat|nested] 20+ messages in thread

* [PATCH 1/9] arm64: dts: qcom: x1-asus-zenbook-a14: Add missing pinctrl for eDP HPD
  2025-08-14 13:30 [PATCH 0/9] arm64: dts: qcom: x1: Add missing pinctrl for eDP HPD Stephan Gerhold
@ 2025-08-14 13:30 ` Stephan Gerhold
  2025-08-15  9:26   ` Aleksandrs Vinarskis
  2025-08-15 22:06   ` Dmitry Baryshkov
  2025-08-14 13:30 ` [PATCH 2/9] arm64: dts: qcom: x1-crd: " Stephan Gerhold
                   ` (7 subsequent siblings)
  8 siblings, 2 replies; 20+ messages in thread
From: Stephan Gerhold @ 2025-08-14 13:30 UTC (permalink / raw)
  To: Bjorn Andersson, Konrad Dybcio
  Cc: Aleksandrs Vinarskis, Abel Vesa, Xilin Wu, Jens Glathe,
	Srinivas Kandagatla, Sibi Sankar, Rajendra Nayak, linux-arm-msm,
	devicetree, linux-kernel, Johan Hovold, Christopher Obbard

At the moment, we indirectly rely on the boot firmware to set up the
pinctrl for the eDP HPD line coming from the internal display. If the boot
firmware does not configure the display (e.g. because a different display
is selected for output in the UEFI settings), then the display fails to
come up and there are several errors in the kernel log:

 [drm:dpu_encoder_phys_vid_wait_for_commit_done:544] [dpu error]vblank timeout: 80020041
 [drm:dpu_kms_wait_for_commit_done:524] [dpu error]wait for commit done returned -110
 [drm:dpu_encoder_frame_done_timeout:2715] [dpu error]enc40 frame done timeout
 ...

Fix this by adding the missing pinctrl for gpio119 (func1/edp0_hot and
bias-disable according to the ACPI DSDT).

Fixes: 6516961352a1 ("arm64: dts: qcom: Add support for X1-based Asus Zenbook A14")
Signed-off-by: Stephan Gerhold <stephan.gerhold@linaro.org>
---
 arch/arm64/boot/dts/qcom/x1-asus-zenbook-a14.dtsi | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/x1-asus-zenbook-a14.dtsi b/arch/arm64/boot/dts/qcom/x1-asus-zenbook-a14.dtsi
index 16d045cf64c08c02c420787e000f4f45cfc2c6ff..613c675aac296f931293a1ba3d8506c6663bad21 100644
--- a/arch/arm64/boot/dts/qcom/x1-asus-zenbook-a14.dtsi
+++ b/arch/arm64/boot/dts/qcom/x1-asus-zenbook-a14.dtsi
@@ -1001,6 +1001,9 @@ &mdss_dp1_out {
 &mdss_dp3 {
 	/delete-property/ #sound-dai-cells;
 
+	pinctrl-0 = <&edp_hpd_default>;
+	pinctrl-names = "default";
+
 	status = "okay";
 
 	aux-bus {
@@ -1236,6 +1239,12 @@ cam_indicator_en: cam-indicator-en-state {
 		bias-disable;
 	};
 
+	edp_hpd_default: edp-hpd-default-state {
+		pins = "gpio119";
+		function = "edp0_hot";
+		bias-disable;
+	};
+
 	edp_reg_en: edp-reg-en-state {
 		pins = "gpio70";
 		function = "gpio";

-- 
2.50.1


^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [PATCH 2/9] arm64: dts: qcom: x1-crd: Add missing pinctrl for eDP HPD
  2025-08-14 13:30 [PATCH 0/9] arm64: dts: qcom: x1: Add missing pinctrl for eDP HPD Stephan Gerhold
  2025-08-14 13:30 ` [PATCH 1/9] arm64: dts: qcom: x1-asus-zenbook-a14: " Stephan Gerhold
@ 2025-08-14 13:30 ` Stephan Gerhold
  2025-08-14 13:30 ` [PATCH 3/9] arm64: dts: qcom: x1e78100-lenovo-thinkpad-t14s: " Stephan Gerhold
                   ` (6 subsequent siblings)
  8 siblings, 0 replies; 20+ messages in thread
From: Stephan Gerhold @ 2025-08-14 13:30 UTC (permalink / raw)
  To: Bjorn Andersson, Konrad Dybcio
  Cc: Aleksandrs Vinarskis, Abel Vesa, Xilin Wu, Jens Glathe,
	Srinivas Kandagatla, Sibi Sankar, Rajendra Nayak, linux-arm-msm,
	devicetree, linux-kernel, Johan Hovold, Christopher Obbard

At the moment, we indirectly rely on the boot firmware to set up the
pinctrl for the eDP HPD line coming from the internal display. If the boot
firmware does not configure the display (e.g. because a different display
is selected for output in the UEFI settings), then the display fails to
come up and there are several errors in the kernel log:

 [drm:dpu_encoder_phys_vid_wait_for_commit_done:544] [dpu error]vblank timeout: 80020041
 [drm:dpu_kms_wait_for_commit_done:524] [dpu error]wait for commit done returned -110
 [drm:dpu_encoder_frame_done_timeout:2715] [dpu error]enc40 frame done timeout
 ...

Fix this by adding the missing pinctrl for gpio119 (func1/edp0_hot and
bias-disable according to the ACPI DSDT).

Fixes: d7e03cce0400 ("arm64: dts: qcom: x1e80100-crd: Enable more support")
Signed-off-by: Stephan Gerhold <stephan.gerhold@linaro.org>
---
 arch/arm64/boot/dts/qcom/x1-crd.dtsi | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/x1-crd.dtsi b/arch/arm64/boot/dts/qcom/x1-crd.dtsi
index e3d2fc342bd184473b37882f3bc4f9c4d23135bd..26b7930070265ddad07cee08b63b21ab3ee9c0b7 100644
--- a/arch/arm64/boot/dts/qcom/x1-crd.dtsi
+++ b/arch/arm64/boot/dts/qcom/x1-crd.dtsi
@@ -1174,6 +1174,9 @@ &mdss_dp2_out {
 &mdss_dp3 {
 	/delete-property/ #sound-dai-cells;
 
+	pinctrl-0 = <&edp_hpd_default>;
+	pinctrl-names = "default";
+
 	status = "okay";
 
 	aux-bus {
@@ -1478,6 +1481,12 @@ &tlmm {
 			       <44 4>, /* SPI (TPM) */
 			       <238 1>; /* UFS Reset */
 
+	edp_hpd_default: edp-hpd-default-state {
+		pins = "gpio119";
+		function = "edp0_hot";
+		bias-disable;
+	};
+
 	edp_reg_en: edp-reg-en-state {
 		pins = "gpio70";
 		function = "gpio";

-- 
2.50.1


^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [PATCH 3/9] arm64: dts: qcom: x1e78100-lenovo-thinkpad-t14s: Add missing pinctrl for eDP HPD
  2025-08-14 13:30 [PATCH 0/9] arm64: dts: qcom: x1: Add missing pinctrl for eDP HPD Stephan Gerhold
  2025-08-14 13:30 ` [PATCH 1/9] arm64: dts: qcom: x1-asus-zenbook-a14: " Stephan Gerhold
  2025-08-14 13:30 ` [PATCH 2/9] arm64: dts: qcom: x1-crd: " Stephan Gerhold
@ 2025-08-14 13:30 ` Stephan Gerhold
  2025-08-14 20:08   ` Christopher Obbard
  2025-08-14 13:30 ` [PATCH 4/9] arm64: dts: qcom: x1e80100-asus-vivobook-s15: " Stephan Gerhold
                   ` (5 subsequent siblings)
  8 siblings, 1 reply; 20+ messages in thread
From: Stephan Gerhold @ 2025-08-14 13:30 UTC (permalink / raw)
  To: Bjorn Andersson, Konrad Dybcio
  Cc: Aleksandrs Vinarskis, Abel Vesa, Xilin Wu, Jens Glathe,
	Srinivas Kandagatla, Sibi Sankar, Rajendra Nayak, linux-arm-msm,
	devicetree, linux-kernel, Johan Hovold, Christopher Obbard

At the moment, we indirectly rely on the boot firmware to set up the
pinctrl for the eDP HPD line coming from the internal display. If the boot
firmware does not configure the display (e.g. because a different display
is selected for output in the UEFI settings), then the display fails to
come up and there are several errors in the kernel log:

 [drm:dpu_encoder_phys_vid_wait_for_commit_done:544] [dpu error]vblank timeout: 80020041
 [drm:dpu_kms_wait_for_commit_done:524] [dpu error]wait for commit done returned -110
 [drm:dpu_encoder_frame_done_timeout:2715] [dpu error]enc40 frame done timeout
 ...

Fix this by adding the missing pinctrl for gpio119 (func1/edp0_hot and
bias-disable according to the ACPI DSDT).

Fixes: 7d1cbe2f4985 ("arm64: dts: qcom: Add X1E78100 ThinkPad T14s Gen 6")
Signed-off-by: Stephan Gerhold <stephan.gerhold@linaro.org>
---
 arch/arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s.dtsi | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s.dtsi b/arch/arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s.dtsi
index 4cf61c2a34e31233b1adc93332bcabef22de3f86..b775110bbcaff165cac259cacc7509a64746b987 100644
--- a/arch/arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s.dtsi
+++ b/arch/arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s.dtsi
@@ -1010,6 +1010,9 @@ &mdss_dp1_out {
 &mdss_dp3 {
 	/delete-property/ #sound-dai-cells;
 
+	pinctrl-0 = <&edp_hpd_default>;
+	pinctrl-names = "default";
+
 	status = "okay";
 
 	aux-bus {
@@ -1263,6 +1266,12 @@ &tlmm {
 			       <72 2>, /* Secure EC I2C connection (?) */
 			       <238 1>; /* UFS Reset */
 
+	edp_hpd_default: edp-hpd-default-state {
+		pins = "gpio119";
+		function = "edp0_hot";
+		bias-disable;
+	};
+
 	eusb3_reset_n: eusb3-reset-n-state {
 		pins = "gpio6";
 		function = "gpio";

-- 
2.50.1


^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [PATCH 4/9] arm64: dts: qcom: x1e80100-asus-vivobook-s15: Add missing pinctrl for eDP HPD
  2025-08-14 13:30 [PATCH 0/9] arm64: dts: qcom: x1: Add missing pinctrl for eDP HPD Stephan Gerhold
                   ` (2 preceding siblings ...)
  2025-08-14 13:30 ` [PATCH 3/9] arm64: dts: qcom: x1e78100-lenovo-thinkpad-t14s: " Stephan Gerhold
@ 2025-08-14 13:30 ` Stephan Gerhold
  2025-08-15  6:24   ` Maud Spierings
  2025-08-14 13:30 ` [PATCH 5/9] arm64: dts: qcom: x1e80100-dell-xps13-9345: " Stephan Gerhold
                   ` (4 subsequent siblings)
  8 siblings, 1 reply; 20+ messages in thread
From: Stephan Gerhold @ 2025-08-14 13:30 UTC (permalink / raw)
  To: Bjorn Andersson, Konrad Dybcio
  Cc: Aleksandrs Vinarskis, Abel Vesa, Xilin Wu, Jens Glathe,
	Srinivas Kandagatla, Sibi Sankar, Rajendra Nayak, linux-arm-msm,
	devicetree, linux-kernel, Johan Hovold, Christopher Obbard

At the moment, we indirectly rely on the boot firmware to set up the
pinctrl for the eDP HPD line coming from the internal display. If the boot
firmware does not configure the display (e.g. because a different display
is selected for output in the UEFI settings), then the display fails to
come up and there are several errors in the kernel log:

 [drm:dpu_encoder_phys_vid_wait_for_commit_done:544] [dpu error]vblank timeout: 80020041
 [drm:dpu_kms_wait_for_commit_done:524] [dpu error]wait for commit done returned -110
 [drm:dpu_encoder_frame_done_timeout:2715] [dpu error]enc40 frame done timeout
 ...

Fix this by adding the missing pinctrl for gpio119 (func1/edp0_hot and
bias-disable according to the ACPI DSDT).

Fixes: d0e2f8f62dff ("arm64: dts: qcom: Add device tree for ASUS Vivobook S 15")
Signed-off-by: Stephan Gerhold <stephan.gerhold@linaro.org>
---
 arch/arm64/boot/dts/qcom/x1e80100-asus-vivobook-s15.dts | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/x1e80100-asus-vivobook-s15.dts b/arch/arm64/boot/dts/qcom/x1e80100-asus-vivobook-s15.dts
index 62eba17cdc87c088ca471b4cbf5b44af06400fe4..312d754df18cc71aede13f77b07846ad04d06eaa 100644
--- a/arch/arm64/boot/dts/qcom/x1e80100-asus-vivobook-s15.dts
+++ b/arch/arm64/boot/dts/qcom/x1e80100-asus-vivobook-s15.dts
@@ -593,6 +593,9 @@ &mdss {
 &mdss_dp3 {
 	/delete-property/ #sound-dai-cells;
 
+	pinctrl-0 = <&edp_hpd_default>;
+	pinctrl-names = "default";
+
 	status = "okay";
 
 	aux-bus {
@@ -741,6 +744,12 @@ &tlmm {
 			       <44 4>, /* SPI (TPM) */
 			       <238 1>; /* UFS Reset */
 
+	edp_hpd_default: edp-hpd-default-state {
+		pins = "gpio119";
+		function = "edp0_hot";
+		bias-disable;
+	};
+
 	edp_reg_en: edp-reg-en-state {
 		pins = "gpio70";
 		function = "gpio";

-- 
2.50.1


^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [PATCH 5/9] arm64: dts: qcom: x1e80100-dell-xps13-9345: Add missing pinctrl for eDP HPD
  2025-08-14 13:30 [PATCH 0/9] arm64: dts: qcom: x1: Add missing pinctrl for eDP HPD Stephan Gerhold
                   ` (3 preceding siblings ...)
  2025-08-14 13:30 ` [PATCH 4/9] arm64: dts: qcom: x1e80100-asus-vivobook-s15: " Stephan Gerhold
@ 2025-08-14 13:30 ` Stephan Gerhold
  2025-08-15  9:24   ` Aleksandrs Vinarskis
  2025-08-14 13:30 ` [PATCH 6/9] arm64: dts: qcom: x1e80100-hp-omnibook-x14: " Stephan Gerhold
                   ` (3 subsequent siblings)
  8 siblings, 1 reply; 20+ messages in thread
From: Stephan Gerhold @ 2025-08-14 13:30 UTC (permalink / raw)
  To: Bjorn Andersson, Konrad Dybcio
  Cc: Aleksandrs Vinarskis, Abel Vesa, Xilin Wu, Jens Glathe,
	Srinivas Kandagatla, Sibi Sankar, Rajendra Nayak, linux-arm-msm,
	devicetree, linux-kernel, Johan Hovold, Christopher Obbard

At the moment, we indirectly rely on the boot firmware to set up the
pinctrl for the eDP HPD line coming from the internal display. If the boot
firmware does not configure the display (e.g. because a different display
is selected for output in the UEFI settings), then the display fails to
come up and there are several errors in the kernel log:

 [drm:dpu_encoder_phys_vid_wait_for_commit_done:544] [dpu error]vblank timeout: 80020041
 [drm:dpu_kms_wait_for_commit_done:524] [dpu error]wait for commit done returned -110
 [drm:dpu_encoder_frame_done_timeout:2715] [dpu error]enc40 frame done timeout
 ...

Fix this by adding the missing pinctrl for gpio119 (func1/edp0_hot and
bias-disable according to the ACPI DSDT).

Fixes: f5b788d0e8cd ("arm64: dts: qcom: Add support for X1-based Dell XPS 13 9345")
Signed-off-by: Stephan Gerhold <stephan.gerhold@linaro.org>
---
 arch/arm64/boot/dts/qcom/x1e80100-dell-xps13-9345.dts | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/x1e80100-dell-xps13-9345.dts b/arch/arm64/boot/dts/qcom/x1e80100-dell-xps13-9345.dts
index 6b27067f0be66b5c41fa681ff3b4f535100bdf59..6cb98197eb9c0d6e171741aa83e7f4ff77e911c9 100644
--- a/arch/arm64/boot/dts/qcom/x1e80100-dell-xps13-9345.dts
+++ b/arch/arm64/boot/dts/qcom/x1e80100-dell-xps13-9345.dts
@@ -900,6 +900,9 @@ &mdss_dp1_out {
 &mdss_dp3 {
 	/delete-property/ #sound-dai-cells;
 
+	pinctrl-0 = <&edp_hpd_default>;
+	pinctrl-names = "default";
+
 	status = "okay";
 
 	aux-bus {
@@ -1080,6 +1083,12 @@ edp_bl_en: edp-bl-en-state {
 		bias-disable;
 	};
 
+	edp_hpd_default: edp-hpd-default-state {
+		pins = "gpio119";
+		function = "edp0_hot";
+		bias-disable;
+	};
+
 	edp_reg_en: edp-reg-en-state {
 		pins = "gpio70";
 		function = "gpio";

-- 
2.50.1


^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [PATCH 6/9] arm64: dts: qcom: x1e80100-hp-omnibook-x14: Add missing pinctrl for eDP HPD
  2025-08-14 13:30 [PATCH 0/9] arm64: dts: qcom: x1: Add missing pinctrl for eDP HPD Stephan Gerhold
                   ` (4 preceding siblings ...)
  2025-08-14 13:30 ` [PATCH 5/9] arm64: dts: qcom: x1e80100-dell-xps13-9345: " Stephan Gerhold
@ 2025-08-14 13:30 ` Stephan Gerhold
  2025-08-14 13:30 ` [PATCH 7/9] arm64: dts: qcom: x1e80100-lenovo-yoga-slim7x: " Stephan Gerhold
                   ` (2 subsequent siblings)
  8 siblings, 0 replies; 20+ messages in thread
From: Stephan Gerhold @ 2025-08-14 13:30 UTC (permalink / raw)
  To: Bjorn Andersson, Konrad Dybcio
  Cc: Aleksandrs Vinarskis, Abel Vesa, Xilin Wu, Jens Glathe,
	Srinivas Kandagatla, Sibi Sankar, Rajendra Nayak, linux-arm-msm,
	devicetree, linux-kernel, Johan Hovold, Christopher Obbard

At the moment, we indirectly rely on the boot firmware to set up the
pinctrl for the eDP HPD line coming from the internal display. If the boot
firmware does not configure the display (e.g. because a different display
is selected for output in the UEFI settings), then the display fails to
come up and there are several errors in the kernel log:

 [drm:dpu_encoder_phys_vid_wait_for_commit_done:544] [dpu error]vblank timeout: 80020041
 [drm:dpu_kms_wait_for_commit_done:524] [dpu error]wait for commit done returned -110
 [drm:dpu_encoder_frame_done_timeout:2715] [dpu error]enc40 frame done timeout
 ...

Fix this by adding the missing pinctrl for gpio119 (func1/edp0_hot and
bias-disable according to the ACPI DSDT).

Fixes: 6f18b8d4142c ("arm64: dts: qcom: x1e80100-hp-x14: dt for HP Omnibook X Laptop 14")
Signed-off-by: Stephan Gerhold <stephan.gerhold@linaro.org>
---
 arch/arm64/boot/dts/qcom/x1e80100-hp-omnibook-x14.dts | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/x1e80100-hp-omnibook-x14.dts b/arch/arm64/boot/dts/qcom/x1e80100-hp-omnibook-x14.dts
index f9ce2a63767c151192b0618ee2154e8d97316c1b..a701146ce98db4a2b01cb9798c0805d7db7f5df6 100644
--- a/arch/arm64/boot/dts/qcom/x1e80100-hp-omnibook-x14.dts
+++ b/arch/arm64/boot/dts/qcom/x1e80100-hp-omnibook-x14.dts
@@ -1044,6 +1044,9 @@ &mdss_dp1_out {
 &mdss_dp3 {
 	/delete-property/ #sound-dai-cells;
 
+	pinctrl-0 = <&edp_hpd_default>;
+	pinctrl-names = "default";
+
 	status = "okay";
 
 	aux-bus {
@@ -1314,6 +1317,12 @@ &tlmm {
 			       <72 2>, /* Secure EC I2C connection (?) */
 			       <238 1>; /* UFS Reset */
 
+	edp_hpd_default: edp-hpd-default-state {
+		pins = "gpio119";
+		function = "edp0_hot";
+		bias-disable;
+	};
+
 	edp_reg_en: edp-reg-en-state {
 		pins = "gpio70";
 		function = "gpio";

-- 
2.50.1


^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [PATCH 7/9] arm64: dts: qcom: x1e80100-lenovo-yoga-slim7x: Add missing pinctrl for eDP HPD
  2025-08-14 13:30 [PATCH 0/9] arm64: dts: qcom: x1: Add missing pinctrl for eDP HPD Stephan Gerhold
                   ` (5 preceding siblings ...)
  2025-08-14 13:30 ` [PATCH 6/9] arm64: dts: qcom: x1e80100-hp-omnibook-x14: " Stephan Gerhold
@ 2025-08-14 13:30 ` Stephan Gerhold
  2025-08-14 13:30 ` [PATCH 8/9] arm64: dts: qcom: x1e80100-microsoft-romulus: " Stephan Gerhold
  2025-08-14 13:30 ` [PATCH 9/9] arm64: dts: qcom: x1e80100-qcp: " Stephan Gerhold
  8 siblings, 0 replies; 20+ messages in thread
From: Stephan Gerhold @ 2025-08-14 13:30 UTC (permalink / raw)
  To: Bjorn Andersson, Konrad Dybcio
  Cc: Aleksandrs Vinarskis, Abel Vesa, Xilin Wu, Jens Glathe,
	Srinivas Kandagatla, Sibi Sankar, Rajendra Nayak, linux-arm-msm,
	devicetree, linux-kernel, Johan Hovold, Christopher Obbard

At the moment, we indirectly rely on the boot firmware to set up the
pinctrl for the eDP HPD line coming from the internal display. If the boot
firmware does not configure the display (e.g. because a different display
is selected for output in the UEFI settings), then the display fails to
come up and there are several errors in the kernel log:

 [drm:dpu_encoder_phys_vid_wait_for_commit_done:544] [dpu error]vblank timeout: 80020041
 [drm:dpu_kms_wait_for_commit_done:524] [dpu error]wait for commit done returned -110
 [drm:dpu_encoder_frame_done_timeout:2715] [dpu error]enc40 frame done timeout
 ...

Fix this by adding the missing pinctrl for gpio119 (func1/edp0_hot and
bias-disable according to the ACPI DSDT).

Fixes: 45247fe17db2 ("arm64: dts: qcom: x1e80100: add Lenovo Thinkpad Yoga slim 7x devicetree")
Signed-off-by: Stephan Gerhold <stephan.gerhold@linaro.org>
---
 arch/arm64/boot/dts/qcom/x1e80100-lenovo-yoga-slim7x.dts | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/x1e80100-lenovo-yoga-slim7x.dts b/arch/arm64/boot/dts/qcom/x1e80100-lenovo-yoga-slim7x.dts
index 71becfc5e6f649299b05b0b93cf74b81dea9fa57..2d9e78d515a1246ed46f00d5575e4b83bae1ef8f 100644
--- a/arch/arm64/boot/dts/qcom/x1e80100-lenovo-yoga-slim7x.dts
+++ b/arch/arm64/boot/dts/qcom/x1e80100-lenovo-yoga-slim7x.dts
@@ -1086,6 +1086,9 @@ &mdss_dp2_out {
 &mdss_dp3 {
 	/delete-property/ #sound-dai-cells;
 
+	pinctrl-0 = <&edp_hpd_default>;
+	pinctrl-names = "default";
+
 	status = "okay";
 
 	aux-bus {
@@ -1345,6 +1348,12 @@ &tlmm {
 			       <44 4>, /* SPI (TPM) */
 			       <238 1>; /* UFS Reset */
 
+	edp_hpd_default: edp-hpd-default-state {
+		pins = "gpio119";
+		function = "edp0_hot";
+		bias-disable;
+	};
+
 	edp_reg_en: edp-reg-en-state {
 		pins = "gpio70";
 		function = "gpio";

-- 
2.50.1


^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [PATCH 8/9] arm64: dts: qcom: x1e80100-microsoft-romulus: Add missing pinctrl for eDP HPD
  2025-08-14 13:30 [PATCH 0/9] arm64: dts: qcom: x1: Add missing pinctrl for eDP HPD Stephan Gerhold
                   ` (6 preceding siblings ...)
  2025-08-14 13:30 ` [PATCH 7/9] arm64: dts: qcom: x1e80100-lenovo-yoga-slim7x: " Stephan Gerhold
@ 2025-08-14 13:30 ` Stephan Gerhold
  2025-08-14 13:30 ` [PATCH 9/9] arm64: dts: qcom: x1e80100-qcp: " Stephan Gerhold
  8 siblings, 0 replies; 20+ messages in thread
From: Stephan Gerhold @ 2025-08-14 13:30 UTC (permalink / raw)
  To: Bjorn Andersson, Konrad Dybcio
  Cc: Aleksandrs Vinarskis, Abel Vesa, Xilin Wu, Jens Glathe,
	Srinivas Kandagatla, Sibi Sankar, Rajendra Nayak, linux-arm-msm,
	devicetree, linux-kernel, Johan Hovold, Christopher Obbard

At the moment, we indirectly rely on the boot firmware to set up the
pinctrl for the eDP HPD line coming from the internal display. If the boot
firmware does not configure the display (e.g. because a different display
is selected for output in the UEFI settings), then the display fails to
come up and there are several errors in the kernel log:

 [drm:dpu_encoder_phys_vid_wait_for_commit_done:544] [dpu error]vblank timeout: 80020041
 [drm:dpu_kms_wait_for_commit_done:524] [dpu error]wait for commit done returned -110
 [drm:dpu_encoder_frame_done_timeout:2715] [dpu error]enc40 frame done timeout
 ...

Fix this by adding the missing pinctrl for gpio119 (func1/edp0_hot and
bias-disable according to the ACPI DSDT).

Fixes: 09d77be56093 ("arm64: dts: qcom: Add support for X1-based Surface Laptop 7 devices")
Signed-off-by: Stephan Gerhold <stephan.gerhold@linaro.org>
---
 arch/arm64/boot/dts/qcom/x1e80100-microsoft-romulus.dtsi | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/x1e80100-microsoft-romulus.dtsi b/arch/arm64/boot/dts/qcom/x1e80100-microsoft-romulus.dtsi
index 27dd5e4e9939124360544ee9c59900ebb01f3f49..688db57a472844fccb143c45ecf66155477286bf 100644
--- a/arch/arm64/boot/dts/qcom/x1e80100-microsoft-romulus.dtsi
+++ b/arch/arm64/boot/dts/qcom/x1e80100-microsoft-romulus.dtsi
@@ -965,6 +965,9 @@ &mdss_dp1_out {
 &mdss_dp3 {
 	/delete-property/ #sound-dai-cells;
 
+	pinctrl-0 = <&edp_hpd_default>;
+	pinctrl-names = "default";
+
 	status = "okay";
 
 	aux-bus {
@@ -1207,6 +1210,12 @@ &tlmm {
 	gpio-reserved-ranges = <44 4>, /* SPI (TPM) */
 			       <238 1>; /* UFS Reset */
 
+	edp_hpd_default: edp-hpd-default-state {
+		pins = "gpio119";
+		function = "edp0_hot";
+		bias-disable;
+	};
+
 	hall_int_n_default: hall-int-n-state {
 		pins = "gpio2";
 		function = "gpio";

-- 
2.50.1


^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [PATCH 9/9] arm64: dts: qcom: x1e80100-qcp: Add missing pinctrl for eDP HPD
  2025-08-14 13:30 [PATCH 0/9] arm64: dts: qcom: x1: Add missing pinctrl for eDP HPD Stephan Gerhold
                   ` (7 preceding siblings ...)
  2025-08-14 13:30 ` [PATCH 8/9] arm64: dts: qcom: x1e80100-microsoft-romulus: " Stephan Gerhold
@ 2025-08-14 13:30 ` Stephan Gerhold
  8 siblings, 0 replies; 20+ messages in thread
From: Stephan Gerhold @ 2025-08-14 13:30 UTC (permalink / raw)
  To: Bjorn Andersson, Konrad Dybcio
  Cc: Aleksandrs Vinarskis, Abel Vesa, Xilin Wu, Jens Glathe,
	Srinivas Kandagatla, Sibi Sankar, Rajendra Nayak, linux-arm-msm,
	devicetree, linux-kernel, Johan Hovold, Christopher Obbard

At the moment, we indirectly rely on the boot firmware to set up the
pinctrl for the eDP HPD line coming from the internal display. If the boot
firmware does not configure the display (e.g. because a different display
is selected for output in the UEFI settings), then the display fails to
come up and there are several errors in the kernel log:

 [drm:dpu_encoder_phys_vid_wait_for_commit_done:544] [dpu error]vblank timeout: 80020041
 [drm:dpu_kms_wait_for_commit_done:524] [dpu error]wait for commit done returned -110
 [drm:dpu_encoder_frame_done_timeout:2715] [dpu error]enc40 frame done timeout
 ...

Fix this by adding the missing pinctrl for gpio119 (func1/edp0_hot and
bias-disable according to the ACPI DSDT).

Fixes: f9a9c11471da ("arm64: dts: qcom: x1e80100-qcp: Enable more support")
Signed-off-by: Stephan Gerhold <stephan.gerhold@linaro.org>
---
 arch/arm64/boot/dts/qcom/x1e80100-qcp.dts | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/x1e80100-qcp.dts b/arch/arm64/boot/dts/qcom/x1e80100-qcp.dts
index 9369b76c668b5c008fefd85d5ca18e87ab9ce93f..c7f9f0dfdfac187ea88b1b207a882eaaeabe749a 100644
--- a/arch/arm64/boot/dts/qcom/x1e80100-qcp.dts
+++ b/arch/arm64/boot/dts/qcom/x1e80100-qcp.dts
@@ -915,6 +915,9 @@ &mdss_dp2_out {
 &mdss_dp3 {
 	/delete-property/ #sound-dai-cells;
 
+	pinctrl-0 = <&edp_hpd_default>;
+	pinctrl-names = "default";
+
 	status = "okay";
 
 	aux-bus {
@@ -1179,6 +1182,12 @@ &tlmm {
 			       <44 4>, /* SPI (TPM) */
 			       <238 1>; /* UFS Reset */
 
+	edp_hpd_default: edp-hpd-default-state {
+		pins = "gpio119";
+		function = "edp0_hot";
+		bias-disable;
+	};
+
 	edp_reg_en: edp-reg-en-state {
 		pins = "gpio70";
 		function = "gpio";

-- 
2.50.1


^ permalink raw reply related	[flat|nested] 20+ messages in thread

* Re: [PATCH 3/9] arm64: dts: qcom: x1e78100-lenovo-thinkpad-t14s: Add missing pinctrl for eDP HPD
  2025-08-14 13:30 ` [PATCH 3/9] arm64: dts: qcom: x1e78100-lenovo-thinkpad-t14s: " Stephan Gerhold
@ 2025-08-14 20:08   ` Christopher Obbard
  0 siblings, 0 replies; 20+ messages in thread
From: Christopher Obbard @ 2025-08-14 20:08 UTC (permalink / raw)
  To: Stephan Gerhold
  Cc: Bjorn Andersson, Konrad Dybcio, Aleksandrs Vinarskis, Abel Vesa,
	Xilin Wu, Jens Glathe, Srinivas Kandagatla, Sibi Sankar,
	Rajendra Nayak, linux-arm-msm, devicetree, linux-kernel,
	Johan Hovold

Hi Stephan,

On Thu, 14 Aug 2025 at 14:30, Stephan Gerhold
<stephan.gerhold@linaro.org> wrote:
>
> At the moment, we indirectly rely on the boot firmware to set up the
> pinctrl for the eDP HPD line coming from the internal display. If the boot
> firmware does not configure the display (e.g. because a different display
> is selected for output in the UEFI settings), then the display fails to
> come up and there are several errors in the kernel log:
>
>  [drm:dpu_encoder_phys_vid_wait_for_commit_done:544] [dpu error]vblank timeout: 80020041
>  [drm:dpu_kms_wait_for_commit_done:524] [dpu error]wait for commit done returned -110
>  [drm:dpu_encoder_frame_done_timeout:2715] [dpu error]enc40 frame done timeout
>  ...
>
> Fix this by adding the missing pinctrl for gpio119 (func1/edp0_hot and
> bias-disable according to the ACPI DSDT).
>
> Fixes: 7d1cbe2f4985 ("arm64: dts: qcom: Add X1E78100 ThinkPad T14s Gen 6")
> Signed-off-by: Stephan Gerhold <stephan.gerhold@linaro.org>

Tested-by: Christopher Obbard <christopher.obbard@linaro.org>
Reviewed-by: Christopher Obbard <christopher.obbard@linaro.org>

> ---
>  arch/arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s.dtsi | 9 +++++++++
>  1 file changed, 9 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s.dtsi b/arch/arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s.dtsi
> index 4cf61c2a34e31233b1adc93332bcabef22de3f86..b775110bbcaff165cac259cacc7509a64746b987 100644
> --- a/arch/arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s.dtsi
> +++ b/arch/arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s.dtsi
> @@ -1010,6 +1010,9 @@ &mdss_dp1_out {
>  &mdss_dp3 {
>         /delete-property/ #sound-dai-cells;
>
> +       pinctrl-0 = <&edp_hpd_default>;
> +       pinctrl-names = "default";
> +
>         status = "okay";
>
>         aux-bus {
> @@ -1263,6 +1266,12 @@ &tlmm {
>                                <72 2>, /* Secure EC I2C connection (?) */
>                                <238 1>; /* UFS Reset */
>
> +       edp_hpd_default: edp-hpd-default-state {
> +               pins = "gpio119";
> +               function = "edp0_hot";
> +               bias-disable;
> +       };
> +
>         eusb3_reset_n: eusb3-reset-n-state {
>                 pins = "gpio6";
>                 function = "gpio";
>
> --
> 2.50.1
>

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PATCH 4/9] arm64: dts: qcom: x1e80100-asus-vivobook-s15: Add missing pinctrl for eDP HPD
  2025-08-14 13:30 ` [PATCH 4/9] arm64: dts: qcom: x1e80100-asus-vivobook-s15: " Stephan Gerhold
@ 2025-08-15  6:24   ` Maud Spierings
  0 siblings, 0 replies; 20+ messages in thread
From: Maud Spierings @ 2025-08-15  6:24 UTC (permalink / raw)
  To: stephan.gerhold
  Cc: abel.vesa, alex.vinarskis, andersson, christopher.obbard,
	devicetree, jens.glathe, johan, konradybcio, linux-arm-msm,
	linux-kernel, quic_rjendra, quic_sibis, srini, wuxilin123

> At the moment, we indirectly rely on the boot firmware to set up the
> pinctrl for the eDP HPD line coming from the internal display. If the boot
> firmware does not configure the display (e.g. because a different display
> is selected for output in the UEFI settings), then the display fails to
> come up and there are several errors in the kernel log:
> 
>  [drm:dpu_encoder_phys_vid_wait_for_commit_done:544] [dpu error]vblank timeout: 80020041
>  [drm:dpu_kms_wait_for_commit_done:524] [dpu error]wait for commit done returned -110
>  [drm:dpu_encoder_frame_done_timeout:2715] [dpu error]enc40 frame done timeout
>  ...
> 
> Fix this by adding the missing pinctrl for gpio119 (func1/edp0_hot and
> bias-disable according to the ACPI DSDT).
> 
> Fixes: d0e2f8f62dff ("arm64: dts: qcom: Add device tree for ASUS Vivobook S 15")
> Signed-off-by: Stephan Gerhold <stephan.gerhold@linaro.org>

Tested-by: Maud Spierings <maud_spierings@hotmail.com>

> ---
>  arch/arm64/boot/dts/qcom/x1e80100-asus-vivobook-s15.dts | 9 +++++++++
>  1 file changed, 9 insertions(+)
> 
> diff --git a/arch/arm64/boot/dts/qcom/x1e80100-asus-vivobook-s15.dts b/arch/arm64/boot/dts/qcom/x1e80100-asus-vivobook-s15.dts
> index 62eba17cdc87c088ca471b4cbf5b44af06400fe4..312d754df18cc71aede13f77b07846ad04d06eaa 100644
> --- a/arch/arm64/boot/dts/qcom/x1e80100-asus-vivobook-s15.dts
> +++ b/arch/arm64/boot/dts/qcom/x1e80100-asus-vivobook-s15.dts
> @@ -593,6 +593,9 @@ &mdss {
>  &mdss_dp3 {
>  	/delete-property/ #sound-dai-cells;
>  
> +	pinctrl-0 = <&edp_hpd_default>;
> +	pinctrl-names = "default";
> +
>  	status = "okay";
>  
>  	aux-bus {
> @@ -741,6 +744,12 @@ &tlmm {
>  			       <44 4>, /* SPI (TPM) */
>  			       <238 1>; /* UFS Reset */
>  
> +	edp_hpd_default: edp-hpd-default-state {
> +		pins = "gpio119";
> +		function = "edp0_hot";
> +		bias-disable;
> +	};
> +
>  	edp_reg_en: edp-reg-en-state {
>  		pins = "gpio70";
>  		function = "gpio";
> 
> -- 
> 2.50.1


^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PATCH 5/9] arm64: dts: qcom: x1e80100-dell-xps13-9345: Add missing pinctrl for eDP HPD
  2025-08-14 13:30 ` [PATCH 5/9] arm64: dts: qcom: x1e80100-dell-xps13-9345: " Stephan Gerhold
@ 2025-08-15  9:24   ` Aleksandrs Vinarskis
  0 siblings, 0 replies; 20+ messages in thread
From: Aleksandrs Vinarskis @ 2025-08-15  9:24 UTC (permalink / raw)
  To: Stephan Gerhold
  Cc: Bjorn Andersson, Konrad Dybcio, Abel Vesa, Xilin Wu, Jens Glathe,
	Srinivas Kandagatla, Sibi Sankar, Rajendra Nayak, linux-arm-msm,
	devicetree, linux-kernel, Johan Hovold, Christopher Obbard

On Thu, 14 Aug 2025 at 15:30, Stephan Gerhold
<stephan.gerhold@linaro.org> wrote:
>
> At the moment, we indirectly rely on the boot firmware to set up the
> pinctrl for the eDP HPD line coming from the internal display. If the boot
> firmware does not configure the display (e.g. because a different display
> is selected for output in the UEFI settings), then the display fails to
> come up and there are several errors in the kernel log:
>
>  [drm:dpu_encoder_phys_vid_wait_for_commit_done:544] [dpu error]vblank timeout: 80020041
>  [drm:dpu_kms_wait_for_commit_done:524] [dpu error]wait for commit done returned -110
>  [drm:dpu_encoder_frame_done_timeout:2715] [dpu error]enc40 frame done timeout
>  ...
>
> Fix this by adding the missing pinctrl for gpio119 (func1/edp0_hot and
> bias-disable according to the ACPI DSDT).
>
> Fixes: f5b788d0e8cd ("arm64: dts: qcom: Add support for X1-based Dell XPS 13 9345")
> Signed-off-by: Stephan Gerhold <stephan.gerhold@linaro.org>

Tested-by: Aleksandrs Vinarskis <alex.vinarskis@gmail.com>    # 3K OLED
Reviewed-by: Aleksandrs Vinarskis <alex.vinarskis@gmail.com>

> ---
>  arch/arm64/boot/dts/qcom/x1e80100-dell-xps13-9345.dts | 9 +++++++++
>  1 file changed, 9 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/qcom/x1e80100-dell-xps13-9345.dts b/arch/arm64/boot/dts/qcom/x1e80100-dell-xps13-9345.dts
> index 6b27067f0be66b5c41fa681ff3b4f535100bdf59..6cb98197eb9c0d6e171741aa83e7f4ff77e911c9 100644
> --- a/arch/arm64/boot/dts/qcom/x1e80100-dell-xps13-9345.dts
> +++ b/arch/arm64/boot/dts/qcom/x1e80100-dell-xps13-9345.dts
> @@ -900,6 +900,9 @@ &mdss_dp1_out {
>  &mdss_dp3 {
>         /delete-property/ #sound-dai-cells;
>
> +       pinctrl-0 = <&edp_hpd_default>;
> +       pinctrl-names = "default";
> +
>         status = "okay";
>
>         aux-bus {
> @@ -1080,6 +1083,12 @@ edp_bl_en: edp-bl-en-state {
>                 bias-disable;
>         };
>
> +       edp_hpd_default: edp-hpd-default-state {
> +               pins = "gpio119";
> +               function = "edp0_hot";
> +               bias-disable;
> +       };
> +
>         edp_reg_en: edp-reg-en-state {
>                 pins = "gpio70";
>                 function = "gpio";
>
> --
> 2.50.1
>

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PATCH 1/9] arm64: dts: qcom: x1-asus-zenbook-a14: Add missing pinctrl for eDP HPD
  2025-08-14 13:30 ` [PATCH 1/9] arm64: dts: qcom: x1-asus-zenbook-a14: " Stephan Gerhold
@ 2025-08-15  9:26   ` Aleksandrs Vinarskis
  2025-08-15 22:06   ` Dmitry Baryshkov
  1 sibling, 0 replies; 20+ messages in thread
From: Aleksandrs Vinarskis @ 2025-08-15  9:26 UTC (permalink / raw)
  To: Stephan Gerhold
  Cc: Bjorn Andersson, Konrad Dybcio, Abel Vesa, Xilin Wu, Jens Glathe,
	Srinivas Kandagatla, Sibi Sankar, Rajendra Nayak, linux-arm-msm,
	devicetree, linux-kernel, Johan Hovold, Christopher Obbard

On Thu, 14 Aug 2025 at 15:30, Stephan Gerhold
<stephan.gerhold@linaro.org> wrote:
>
> At the moment, we indirectly rely on the boot firmware to set up the
> pinctrl for the eDP HPD line coming from the internal display. If the boot
> firmware does not configure the display (e.g. because a different display
> is selected for output in the UEFI settings), then the display fails to
> come up and there are several errors in the kernel log:
>
>  [drm:dpu_encoder_phys_vid_wait_for_commit_done:544] [dpu error]vblank timeout: 80020041
>  [drm:dpu_kms_wait_for_commit_done:524] [dpu error]wait for commit done returned -110
>  [drm:dpu_encoder_frame_done_timeout:2715] [dpu error]enc40 frame done timeout
>  ...
>
> Fix this by adding the missing pinctrl for gpio119 (func1/edp0_hot and
> bias-disable according to the ACPI DSDT).
>
> Fixes: 6516961352a1 ("arm64: dts: qcom: Add support for X1-based Asus Zenbook A14")
> Signed-off-by: Stephan Gerhold <stephan.gerhold@linaro.org>

Tested-by: Aleksandrs Vinarskis <alex.vinarskis@gmail.com>    # FHD OLED
Reviewed-by: Aleksandrs Vinarskis <alex.vinarskis@gmail.com>

> ---
>  arch/arm64/boot/dts/qcom/x1-asus-zenbook-a14.dtsi | 9 +++++++++
>  1 file changed, 9 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/qcom/x1-asus-zenbook-a14.dtsi b/arch/arm64/boot/dts/qcom/x1-asus-zenbook-a14.dtsi
> index 16d045cf64c08c02c420787e000f4f45cfc2c6ff..613c675aac296f931293a1ba3d8506c6663bad21 100644
> --- a/arch/arm64/boot/dts/qcom/x1-asus-zenbook-a14.dtsi
> +++ b/arch/arm64/boot/dts/qcom/x1-asus-zenbook-a14.dtsi
> @@ -1001,6 +1001,9 @@ &mdss_dp1_out {
>  &mdss_dp3 {
>         /delete-property/ #sound-dai-cells;
>
> +       pinctrl-0 = <&edp_hpd_default>;
> +       pinctrl-names = "default";
> +
>         status = "okay";
>
>         aux-bus {
> @@ -1236,6 +1239,12 @@ cam_indicator_en: cam-indicator-en-state {
>                 bias-disable;
>         };
>
> +       edp_hpd_default: edp-hpd-default-state {
> +               pins = "gpio119";
> +               function = "edp0_hot";
> +               bias-disable;
> +       };
> +
>         edp_reg_en: edp-reg-en-state {
>                 pins = "gpio70";
>                 function = "gpio";
>
> --
> 2.50.1
>

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PATCH 1/9] arm64: dts: qcom: x1-asus-zenbook-a14: Add missing pinctrl for eDP HPD
  2025-08-14 13:30 ` [PATCH 1/9] arm64: dts: qcom: x1-asus-zenbook-a14: " Stephan Gerhold
  2025-08-15  9:26   ` Aleksandrs Vinarskis
@ 2025-08-15 22:06   ` Dmitry Baryshkov
  2025-08-18  7:44     ` Stephan Gerhold
  1 sibling, 1 reply; 20+ messages in thread
From: Dmitry Baryshkov @ 2025-08-15 22:06 UTC (permalink / raw)
  To: Stephan Gerhold
  Cc: Bjorn Andersson, Konrad Dybcio, Aleksandrs Vinarskis, Abel Vesa,
	Xilin Wu, Jens Glathe, Srinivas Kandagatla, Sibi Sankar,
	Rajendra Nayak, linux-arm-msm, devicetree, linux-kernel,
	Johan Hovold, Christopher Obbard

On Thu, Aug 14, 2025 at 03:30:28PM +0200, Stephan Gerhold wrote:
> At the moment, we indirectly rely on the boot firmware to set up the
> pinctrl for the eDP HPD line coming from the internal display. If the boot
> firmware does not configure the display (e.g. because a different display
> is selected for output in the UEFI settings), then the display fails to
> come up and there are several errors in the kernel log:
> 
>  [drm:dpu_encoder_phys_vid_wait_for_commit_done:544] [dpu error]vblank timeout: 80020041
>  [drm:dpu_kms_wait_for_commit_done:524] [dpu error]wait for commit done returned -110
>  [drm:dpu_encoder_frame_done_timeout:2715] [dpu error]enc40 frame done timeout
>  ...
> 
> Fix this by adding the missing pinctrl for gpio119 (func1/edp0_hot and
> bias-disable according to the ACPI DSDT).
> 
> Fixes: 6516961352a1 ("arm64: dts: qcom: Add support for X1-based Asus Zenbook A14")
> Signed-off-by: Stephan Gerhold <stephan.gerhold@linaro.org>
> ---
>  arch/arm64/boot/dts/qcom/x1-asus-zenbook-a14.dtsi | 9 +++++++++
>  1 file changed, 9 insertions(+)
> 
> diff --git a/arch/arm64/boot/dts/qcom/x1-asus-zenbook-a14.dtsi b/arch/arm64/boot/dts/qcom/x1-asus-zenbook-a14.dtsi
> index 16d045cf64c08c02c420787e000f4f45cfc2c6ff..613c675aac296f931293a1ba3d8506c6663bad21 100644
> --- a/arch/arm64/boot/dts/qcom/x1-asus-zenbook-a14.dtsi
> +++ b/arch/arm64/boot/dts/qcom/x1-asus-zenbook-a14.dtsi
> @@ -1001,6 +1001,9 @@ &mdss_dp1_out {
>  &mdss_dp3 {
>  	/delete-property/ #sound-dai-cells;
>  
> +	pinctrl-0 = <&edp_hpd_default>;
> +	pinctrl-names = "default";
> +
>  	status = "okay";
>  
>  	aux-bus {
> @@ -1236,6 +1239,12 @@ cam_indicator_en: cam-indicator-en-state {
>  		bias-disable;
>  	};
>  
> +	edp_hpd_default: edp-hpd-default-state {
> +		pins = "gpio119";
> +		function = "edp0_hot";
> +		bias-disable;
> +	};

I think this is common enough. Let's maybe push this into the SoC dtsi
instead of copying it to all devices?

> +
>  	edp_reg_en: edp-reg-en-state {
>  		pins = "gpio70";
>  		function = "gpio";
> 
> -- 
> 2.50.1
> 

-- 
With best wishes
Dmitry

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PATCH 1/9] arm64: dts: qcom: x1-asus-zenbook-a14: Add missing pinctrl for eDP HPD
  2025-08-15 22:06   ` Dmitry Baryshkov
@ 2025-08-18  7:44     ` Stephan Gerhold
  2025-08-18 10:33       ` Dmitry Baryshkov
  0 siblings, 1 reply; 20+ messages in thread
From: Stephan Gerhold @ 2025-08-18  7:44 UTC (permalink / raw)
  To: Dmitry Baryshkov, Bjorn Andersson, Konrad Dybcio
  Cc: Aleksandrs Vinarskis, Abel Vesa, Xilin Wu, Jens Glathe,
	Srinivas Kandagatla, Sibi Sankar, Rajendra Nayak, linux-arm-msm,
	devicetree, linux-kernel, Johan Hovold, Christopher Obbard

On Sat, Aug 16, 2025 at 01:06:50AM +0300, Dmitry Baryshkov wrote:
> On Thu, Aug 14, 2025 at 03:30:28PM +0200, Stephan Gerhold wrote:
> > At the moment, we indirectly rely on the boot firmware to set up the
> > pinctrl for the eDP HPD line coming from the internal display. If the boot
> > firmware does not configure the display (e.g. because a different display
> > is selected for output in the UEFI settings), then the display fails to
> > come up and there are several errors in the kernel log:
> > 
> >  [drm:dpu_encoder_phys_vid_wait_for_commit_done:544] [dpu error]vblank timeout: 80020041
> >  [drm:dpu_kms_wait_for_commit_done:524] [dpu error]wait for commit done returned -110
> >  [drm:dpu_encoder_frame_done_timeout:2715] [dpu error]enc40 frame done timeout
> >  ...
> > 
> > Fix this by adding the missing pinctrl for gpio119 (func1/edp0_hot and
> > bias-disable according to the ACPI DSDT).
> > 
> > Fixes: 6516961352a1 ("arm64: dts: qcom: Add support for X1-based Asus Zenbook A14")
> > Signed-off-by: Stephan Gerhold <stephan.gerhold@linaro.org>
> > ---
> >  arch/arm64/boot/dts/qcom/x1-asus-zenbook-a14.dtsi | 9 +++++++++
> >  1 file changed, 9 insertions(+)
> > 
> > diff --git a/arch/arm64/boot/dts/qcom/x1-asus-zenbook-a14.dtsi b/arch/arm64/boot/dts/qcom/x1-asus-zenbook-a14.dtsi
> > index 16d045cf64c08c02c420787e000f4f45cfc2c6ff..613c675aac296f931293a1ba3d8506c6663bad21 100644
> > --- a/arch/arm64/boot/dts/qcom/x1-asus-zenbook-a14.dtsi
> > +++ b/arch/arm64/boot/dts/qcom/x1-asus-zenbook-a14.dtsi
> > @@ -1001,6 +1001,9 @@ &mdss_dp1_out {
> >  &mdss_dp3 {
> >  	/delete-property/ #sound-dai-cells;
> >  
> > +	pinctrl-0 = <&edp_hpd_default>;
> > +	pinctrl-names = "default";
> > +
> >  	status = "okay";
> >  
> >  	aux-bus {
> > @@ -1236,6 +1239,12 @@ cam_indicator_en: cam-indicator-en-state {
> >  		bias-disable;
> >  	};
> >  
> > +	edp_hpd_default: edp-hpd-default-state {
> > +		pins = "gpio119";
> > +		function = "edp0_hot";
> > +		bias-disable;
> > +	};
> 
> I think this is common enough. Let's maybe push this into the SoC dtsi
> instead of copying it to all devices?
> 

I had it there before, but Johan commented on the patch set from Chris
that he would prefer to keep the potentially board-specific pinctrl out
of the SoC dtsi [1]. So I can either address his feedback or yours. :-)

There isn't really a convention for X1E either - we have a wild mix
where some pinctrl is defined in the SoC dtsi (UART, I2C, SDHCI, ...)
and others is copied for each board (e.g. PCIe).

The reason I chose this approach is that I didn't feel it is guaranteed
that the HPD pin has external pull down. It seems to be the case on most
devices, but in theory a device could maybe rely on the internal pull
down. Might be better to have it explicitly defined, the 5 additional
lines are not that much at the end.

I'm also fine with moving it. Perhaps Bjorn or Konrad could comment if
they would prefer to have the pinctrl template defined in the SoC dtsi?

Thanks,
Stephan

[1]: https://lore.kernel.org/linux-arm-msm/Z_kB3jOH04-zFnym@hovoldconsulting.com/

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PATCH 1/9] arm64: dts: qcom: x1-asus-zenbook-a14: Add missing pinctrl for eDP HPD
  2025-08-18  7:44     ` Stephan Gerhold
@ 2025-08-18 10:33       ` Dmitry Baryshkov
  2025-08-18 10:37         ` Stephan Gerhold
  0 siblings, 1 reply; 20+ messages in thread
From: Dmitry Baryshkov @ 2025-08-18 10:33 UTC (permalink / raw)
  To: Stephan Gerhold
  Cc: Bjorn Andersson, Konrad Dybcio, Aleksandrs Vinarskis, Abel Vesa,
	Xilin Wu, Jens Glathe, Srinivas Kandagatla, Sibi Sankar,
	Rajendra Nayak, linux-arm-msm, devicetree, linux-kernel,
	Johan Hovold, Christopher Obbard

On Mon, Aug 18, 2025 at 09:44:36AM +0200, Stephan Gerhold wrote:
> On Sat, Aug 16, 2025 at 01:06:50AM +0300, Dmitry Baryshkov wrote:
> > On Thu, Aug 14, 2025 at 03:30:28PM +0200, Stephan Gerhold wrote:
> > > At the moment, we indirectly rely on the boot firmware to set up the
> > > pinctrl for the eDP HPD line coming from the internal display. If the boot
> > > firmware does not configure the display (e.g. because a different display
> > > is selected for output in the UEFI settings), then the display fails to
> > > come up and there are several errors in the kernel log:
> > > 
> > >  [drm:dpu_encoder_phys_vid_wait_for_commit_done:544] [dpu error]vblank timeout: 80020041
> > >  [drm:dpu_kms_wait_for_commit_done:524] [dpu error]wait for commit done returned -110
> > >  [drm:dpu_encoder_frame_done_timeout:2715] [dpu error]enc40 frame done timeout
> > >  ...
> > > 
> > > Fix this by adding the missing pinctrl for gpio119 (func1/edp0_hot and
> > > bias-disable according to the ACPI DSDT).
> > > 
> > > Fixes: 6516961352a1 ("arm64: dts: qcom: Add support for X1-based Asus Zenbook A14")
> > > Signed-off-by: Stephan Gerhold <stephan.gerhold@linaro.org>
> > > ---
> > >  arch/arm64/boot/dts/qcom/x1-asus-zenbook-a14.dtsi | 9 +++++++++
> > >  1 file changed, 9 insertions(+)
> > > 
> > > diff --git a/arch/arm64/boot/dts/qcom/x1-asus-zenbook-a14.dtsi b/arch/arm64/boot/dts/qcom/x1-asus-zenbook-a14.dtsi
> > > index 16d045cf64c08c02c420787e000f4f45cfc2c6ff..613c675aac296f931293a1ba3d8506c6663bad21 100644
> > > --- a/arch/arm64/boot/dts/qcom/x1-asus-zenbook-a14.dtsi
> > > +++ b/arch/arm64/boot/dts/qcom/x1-asus-zenbook-a14.dtsi
> > > @@ -1001,6 +1001,9 @@ &mdss_dp1_out {
> > >  &mdss_dp3 {
> > >  	/delete-property/ #sound-dai-cells;
> > >  
> > > +	pinctrl-0 = <&edp_hpd_default>;
> > > +	pinctrl-names = "default";
> > > +
> > >  	status = "okay";
> > >  
> > >  	aux-bus {
> > > @@ -1236,6 +1239,12 @@ cam_indicator_en: cam-indicator-en-state {
> > >  		bias-disable;
> > >  	};
> > >  
> > > +	edp_hpd_default: edp-hpd-default-state {
> > > +		pins = "gpio119";
> > > +		function = "edp0_hot";
> > > +		bias-disable;
> > > +	};
> > 
> > I think this is common enough. Let's maybe push this into the SoC dtsi
> > instead of copying it to all devices?
> > 
> 
> I had it there before, but Johan commented on the patch set from Chris
> that he would prefer to keep the potentially board-specific pinctrl out
> of the SoC dtsi [1]. So I can either address his feedback or yours. :-)
> 
> There isn't really a convention for X1E either - we have a wild mix
> where some pinctrl is defined in the SoC dtsi (UART, I2C, SDHCI, ...)
> and others is copied for each board (e.g. PCIe).

PCIe pinctrl is a part of SoC DTSI for SM8[4567]0.

> The reason I chose this approach is that I didn't feel it is guaranteed
> that the HPD pin has external pull down. It seems to be the case on most
> devices, but in theory a device could maybe rely on the internal pull
> down. Might be better to have it explicitly defined, the 5 additional
> lines are not that much at the end.

I don't think anybody will use internal pull-down for this, it would be
too risky in case the eDP cable is bad. I have checked several laptops,
they use external pull-down or two MOSFETs.

> I'm also fine with moving it. Perhaps Bjorn or Konrad could comment if
> they would prefer to have the pinctrl template defined in the SoC dtsi?

-- 
With best wishes
Dmitry

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PATCH 1/9] arm64: dts: qcom: x1-asus-zenbook-a14: Add missing pinctrl for eDP HPD
  2025-08-18 10:33       ` Dmitry Baryshkov
@ 2025-08-18 10:37         ` Stephan Gerhold
  2025-08-18 10:39           ` Dmitry Baryshkov
  0 siblings, 1 reply; 20+ messages in thread
From: Stephan Gerhold @ 2025-08-18 10:37 UTC (permalink / raw)
  To: Dmitry Baryshkov
  Cc: Bjorn Andersson, Konrad Dybcio, Aleksandrs Vinarskis, Abel Vesa,
	Xilin Wu, Jens Glathe, Srinivas Kandagatla, Sibi Sankar,
	Rajendra Nayak, linux-arm-msm, devicetree, linux-kernel,
	Johan Hovold, Christopher Obbard

On Mon, Aug 18, 2025 at 01:33:43PM +0300, Dmitry Baryshkov wrote:
> On Mon, Aug 18, 2025 at 09:44:36AM +0200, Stephan Gerhold wrote:
> > On Sat, Aug 16, 2025 at 01:06:50AM +0300, Dmitry Baryshkov wrote:
> > > On Thu, Aug 14, 2025 at 03:30:28PM +0200, Stephan Gerhold wrote:
> > > > At the moment, we indirectly rely on the boot firmware to set up the
> > > > pinctrl for the eDP HPD line coming from the internal display. If the boot
> > > > firmware does not configure the display (e.g. because a different display
> > > > is selected for output in the UEFI settings), then the display fails to
> > > > come up and there are several errors in the kernel log:
> > > > 
> > > >  [drm:dpu_encoder_phys_vid_wait_for_commit_done:544] [dpu error]vblank timeout: 80020041
> > > >  [drm:dpu_kms_wait_for_commit_done:524] [dpu error]wait for commit done returned -110
> > > >  [drm:dpu_encoder_frame_done_timeout:2715] [dpu error]enc40 frame done timeout
> > > >  ...
> > > > 
> > > > Fix this by adding the missing pinctrl for gpio119 (func1/edp0_hot and
> > > > bias-disable according to the ACPI DSDT).
> > > > 
> > > > Fixes: 6516961352a1 ("arm64: dts: qcom: Add support for X1-based Asus Zenbook A14")
> > > > Signed-off-by: Stephan Gerhold <stephan.gerhold@linaro.org>
> > > > ---
> > > >  arch/arm64/boot/dts/qcom/x1-asus-zenbook-a14.dtsi | 9 +++++++++
> > > >  1 file changed, 9 insertions(+)
> > > > 
> > > > diff --git a/arch/arm64/boot/dts/qcom/x1-asus-zenbook-a14.dtsi b/arch/arm64/boot/dts/qcom/x1-asus-zenbook-a14.dtsi
> > > > index 16d045cf64c08c02c420787e000f4f45cfc2c6ff..613c675aac296f931293a1ba3d8506c6663bad21 100644
> > > > --- a/arch/arm64/boot/dts/qcom/x1-asus-zenbook-a14.dtsi
> > > > +++ b/arch/arm64/boot/dts/qcom/x1-asus-zenbook-a14.dtsi
> > > > @@ -1001,6 +1001,9 @@ &mdss_dp1_out {
> > > >  &mdss_dp3 {
> > > >  	/delete-property/ #sound-dai-cells;
> > > >  
> > > > +	pinctrl-0 = <&edp_hpd_default>;
> > > > +	pinctrl-names = "default";
> > > > +
> > > >  	status = "okay";
> > > >  
> > > >  	aux-bus {
> > > > @@ -1236,6 +1239,12 @@ cam_indicator_en: cam-indicator-en-state {
> > > >  		bias-disable;
> > > >  	};
> > > >  
> > > > +	edp_hpd_default: edp-hpd-default-state {
> > > > +		pins = "gpio119";
> > > > +		function = "edp0_hot";
> > > > +		bias-disable;
> > > > +	};
> > > 
> > > I think this is common enough. Let's maybe push this into the SoC dtsi
> > > instead of copying it to all devices?
> > > 
> > 
> > I had it there before, but Johan commented on the patch set from Chris
> > that he would prefer to keep the potentially board-specific pinctrl out
> > of the SoC dtsi [1]. So I can either address his feedback or yours. :-)
> > 
> > There isn't really a convention for X1E either - we have a wild mix
> > where some pinctrl is defined in the SoC dtsi (UART, I2C, SDHCI, ...)
> > and others is copied for each board (e.g. PCIe).
> 
> PCIe pinctrl is a part of SoC DTSI for SM8[4567]0.
> 

For some reason it's not on X1E.

> > The reason I chose this approach is that I didn't feel it is guaranteed
> > that the HPD pin has external pull down. It seems to be the case on most
> > devices, but in theory a device could maybe rely on the internal pull
> > down. Might be better to have it explicitly defined, the 5 additional
> > lines are not that much at the end.
> 
> I don't think anybody will use internal pull-down for this, it would be
> too risky in case the eDP cable is bad. I have checked several laptops,
> they use external pull-down or two MOSFETs.
> 

So are you suggesting to put just the "template" (the
edp-hpd-default-state node) into the SoC dtsi and keep the
pinctrl-0/pinctrl-names reference in the board DT, or to put everything
into the SoC dtsi? I'm not sure if there is a use case where there
wouldn't be any HPD connected to GPIO119.

Thanks,
Stephan

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PATCH 1/9] arm64: dts: qcom: x1-asus-zenbook-a14: Add missing pinctrl for eDP HPD
  2025-08-18 10:37         ` Stephan Gerhold
@ 2025-08-18 10:39           ` Dmitry Baryshkov
  2025-08-18 10:43             ` Stephan Gerhold
  0 siblings, 1 reply; 20+ messages in thread
From: Dmitry Baryshkov @ 2025-08-18 10:39 UTC (permalink / raw)
  To: Stephan Gerhold
  Cc: Bjorn Andersson, Konrad Dybcio, Aleksandrs Vinarskis, Abel Vesa,
	Xilin Wu, Jens Glathe, Srinivas Kandagatla, Sibi Sankar,
	Rajendra Nayak, linux-arm-msm, devicetree, linux-kernel,
	Johan Hovold, Christopher Obbard

On Mon, 18 Aug 2025 at 13:37, Stephan Gerhold
<stephan.gerhold@linaro.org> wrote:
>
> On Mon, Aug 18, 2025 at 01:33:43PM +0300, Dmitry Baryshkov wrote:
> > On Mon, Aug 18, 2025 at 09:44:36AM +0200, Stephan Gerhold wrote:
> > > On Sat, Aug 16, 2025 at 01:06:50AM +0300, Dmitry Baryshkov wrote:
> > > > On Thu, Aug 14, 2025 at 03:30:28PM +0200, Stephan Gerhold wrote:
> > > > > At the moment, we indirectly rely on the boot firmware to set up the
> > > > > pinctrl for the eDP HPD line coming from the internal display. If the boot
> > > > > firmware does not configure the display (e.g. because a different display
> > > > > is selected for output in the UEFI settings), then the display fails to
> > > > > come up and there are several errors in the kernel log:
> > > > >
> > > > >  [drm:dpu_encoder_phys_vid_wait_for_commit_done:544] [dpu error]vblank timeout: 80020041
> > > > >  [drm:dpu_kms_wait_for_commit_done:524] [dpu error]wait for commit done returned -110
> > > > >  [drm:dpu_encoder_frame_done_timeout:2715] [dpu error]enc40 frame done timeout
> > > > >  ...
> > > > >
> > > > > Fix this by adding the missing pinctrl for gpio119 (func1/edp0_hot and
> > > > > bias-disable according to the ACPI DSDT).
> > > > >
> > > > > Fixes: 6516961352a1 ("arm64: dts: qcom: Add support for X1-based Asus Zenbook A14")
> > > > > Signed-off-by: Stephan Gerhold <stephan.gerhold@linaro.org>
> > > > > ---
> > > > >  arch/arm64/boot/dts/qcom/x1-asus-zenbook-a14.dtsi | 9 +++++++++
> > > > >  1 file changed, 9 insertions(+)
> > > > >
> > > > > diff --git a/arch/arm64/boot/dts/qcom/x1-asus-zenbook-a14.dtsi b/arch/arm64/boot/dts/qcom/x1-asus-zenbook-a14.dtsi
> > > > > index 16d045cf64c08c02c420787e000f4f45cfc2c6ff..613c675aac296f931293a1ba3d8506c6663bad21 100644
> > > > > --- a/arch/arm64/boot/dts/qcom/x1-asus-zenbook-a14.dtsi
> > > > > +++ b/arch/arm64/boot/dts/qcom/x1-asus-zenbook-a14.dtsi
> > > > > @@ -1001,6 +1001,9 @@ &mdss_dp1_out {
> > > > >  &mdss_dp3 {
> > > > >         /delete-property/ #sound-dai-cells;
> > > > >
> > > > > +       pinctrl-0 = <&edp_hpd_default>;
> > > > > +       pinctrl-names = "default";
> > > > > +
> > > > >         status = "okay";
> > > > >
> > > > >         aux-bus {
> > > > > @@ -1236,6 +1239,12 @@ cam_indicator_en: cam-indicator-en-state {
> > > > >                 bias-disable;
> > > > >         };
> > > > >
> > > > > +       edp_hpd_default: edp-hpd-default-state {
> > > > > +               pins = "gpio119";
> > > > > +               function = "edp0_hot";
> > > > > +               bias-disable;
> > > > > +       };
> > > >
> > > > I think this is common enough. Let's maybe push this into the SoC dtsi
> > > > instead of copying it to all devices?
> > > >
> > >
> > > I had it there before, but Johan commented on the patch set from Chris
> > > that he would prefer to keep the potentially board-specific pinctrl out
> > > of the SoC dtsi [1]. So I can either address his feedback or yours. :-)
> > >
> > > There isn't really a convention for X1E either - we have a wild mix
> > > where some pinctrl is defined in the SoC dtsi (UART, I2C, SDHCI, ...)
> > > and others is copied for each board (e.g. PCIe).
> >
> > PCIe pinctrl is a part of SoC DTSI for SM8[4567]0.
> >
>
> For some reason it's not on X1E.
>
> > > The reason I chose this approach is that I didn't feel it is guaranteed
> > > that the HPD pin has external pull down. It seems to be the case on most
> > > devices, but in theory a device could maybe rely on the internal pull
> > > down. Might be better to have it explicitly defined, the 5 additional
> > > lines are not that much at the end.
> >
> > I don't think anybody will use internal pull-down for this, it would be
> > too risky in case the eDP cable is bad. I have checked several laptops,
> > they use external pull-down or two MOSFETs.
> >
>
> So are you suggesting to put just the "template" (the
> edp-hpd-default-state node) into the SoC dtsi and keep the
> pinctrl-0/pinctrl-names reference in the board DT,

Yes.

> or to put everything
> into the SoC dtsi? I'm not sure if there is a use case where there
> wouldn't be any HPD connected to GPIO119.

Still it's a board configuration (pretty much like PCIe config is).


-- 
With best wishes
Dmitry

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PATCH 1/9] arm64: dts: qcom: x1-asus-zenbook-a14: Add missing pinctrl for eDP HPD
  2025-08-18 10:39           ` Dmitry Baryshkov
@ 2025-08-18 10:43             ` Stephan Gerhold
  0 siblings, 0 replies; 20+ messages in thread
From: Stephan Gerhold @ 2025-08-18 10:43 UTC (permalink / raw)
  To: Dmitry Baryshkov
  Cc: Bjorn Andersson, Konrad Dybcio, Aleksandrs Vinarskis, Abel Vesa,
	Xilin Wu, Jens Glathe, Srinivas Kandagatla, Sibi Sankar,
	Rajendra Nayak, linux-arm-msm, devicetree, linux-kernel,
	Johan Hovold, Christopher Obbard

On Mon, Aug 18, 2025 at 01:39:26PM +0300, Dmitry Baryshkov wrote:
> On Mon, 18 Aug 2025 at 13:37, Stephan Gerhold
> <stephan.gerhold@linaro.org> wrote:
> > On Mon, Aug 18, 2025 at 01:33:43PM +0300, Dmitry Baryshkov wrote:
> > > On Mon, Aug 18, 2025 at 09:44:36AM +0200, Stephan Gerhold wrote:
> > > > On Sat, Aug 16, 2025 at 01:06:50AM +0300, Dmitry Baryshkov wrote:
> > > > > On Thu, Aug 14, 2025 at 03:30:28PM +0200, Stephan Gerhold wrote:
> > > > > > At the moment, we indirectly rely on the boot firmware to set up the
> > > > > > pinctrl for the eDP HPD line coming from the internal display. If the boot
> > > > > > firmware does not configure the display (e.g. because a different display
> > > > > > is selected for output in the UEFI settings), then the display fails to
> > > > > > come up and there are several errors in the kernel log:
> > > > > >
> > > > > >  [drm:dpu_encoder_phys_vid_wait_for_commit_done:544] [dpu error]vblank timeout: 80020041
> > > > > >  [drm:dpu_kms_wait_for_commit_done:524] [dpu error]wait for commit done returned -110
> > > > > >  [drm:dpu_encoder_frame_done_timeout:2715] [dpu error]enc40 frame done timeout
> > > > > >  ...
> > > > > >
> > > > > > Fix this by adding the missing pinctrl for gpio119 (func1/edp0_hot and
> > > > > > bias-disable according to the ACPI DSDT).
> > > > > >
> > > > > > Fixes: 6516961352a1 ("arm64: dts: qcom: Add support for X1-based Asus Zenbook A14")
> > > > > > Signed-off-by: Stephan Gerhold <stephan.gerhold@linaro.org>
> > > > > > ---
> > > > > >  arch/arm64/boot/dts/qcom/x1-asus-zenbook-a14.dtsi | 9 +++++++++
> > > > > >  1 file changed, 9 insertions(+)
> > > > > >
> > > > > > diff --git a/arch/arm64/boot/dts/qcom/x1-asus-zenbook-a14.dtsi b/arch/arm64/boot/dts/qcom/x1-asus-zenbook-a14.dtsi
> > > > > > index 16d045cf64c08c02c420787e000f4f45cfc2c6ff..613c675aac296f931293a1ba3d8506c6663bad21 100644
> > > > > > --- a/arch/arm64/boot/dts/qcom/x1-asus-zenbook-a14.dtsi
> > > > > > +++ b/arch/arm64/boot/dts/qcom/x1-asus-zenbook-a14.dtsi
> > > > > > @@ -1001,6 +1001,9 @@ &mdss_dp1_out {
> > > > > >  &mdss_dp3 {
> > > > > >         /delete-property/ #sound-dai-cells;
> > > > > >
> > > > > > +       pinctrl-0 = <&edp_hpd_default>;
> > > > > > +       pinctrl-names = "default";
> > > > > > +
> > > > > >         status = "okay";
> > > > > >
> > > > > >         aux-bus {
> > > > > > @@ -1236,6 +1239,12 @@ cam_indicator_en: cam-indicator-en-state {
> > > > > >                 bias-disable;
> > > > > >         };
> > > > > >
> > > > > > +       edp_hpd_default: edp-hpd-default-state {
> > > > > > +               pins = "gpio119";
> > > > > > +               function = "edp0_hot";
> > > > > > +               bias-disable;
> > > > > > +       };
> > > > >
> > > > > I think this is common enough. Let's maybe push this into the SoC dtsi
> > > > > instead of copying it to all devices?
> > > > >
> > > >
> > > > I had it there before, but Johan commented on the patch set from Chris
> > > > that he would prefer to keep the potentially board-specific pinctrl out
> > > > of the SoC dtsi [1]. So I can either address his feedback or yours. :-)
> > > >
> > > > There isn't really a convention for X1E either - we have a wild mix
> > > > where some pinctrl is defined in the SoC dtsi (UART, I2C, SDHCI, ...)
> > > > and others is copied for each board (e.g. PCIe).
> > >
> > > PCIe pinctrl is a part of SoC DTSI for SM8[4567]0.
> > >
> >
> > For some reason it's not on X1E.
> >
> > > > The reason I chose this approach is that I didn't feel it is guaranteed
> > > > that the HPD pin has external pull down. It seems to be the case on most
> > > > devices, but in theory a device could maybe rely on the internal pull
> > > > down. Might be better to have it explicitly defined, the 5 additional
> > > > lines are not that much at the end.
> > >
> > > I don't think anybody will use internal pull-down for this, it would be
> > > too risky in case the eDP cable is bad. I have checked several laptops,
> > > they use external pull-down or two MOSFETs.
> > >
> >
> > So are you suggesting to put just the "template" (the
> > edp-hpd-default-state node) into the SoC dtsi and keep the
> > pinctrl-0/pinctrl-names reference in the board DT,
> 
> Yes.
> 
> > or to put everything
> > into the SoC dtsi? I'm not sure if there is a use case where there
> > wouldn't be any HPD connected to GPIO119.
> 
> Still it's a board configuration (pretty much like PCIe config is).
> 

Ok, thanks. I'm fine with either approach really (putting it entirely in
board DT or the template in SoC dtsi and reference in board DT). I'll
wait a couple more days for more opinions, otherwise I'll send a v2 with
the template moved to the SoC dtsi.

Thanks,
Stephan

^ permalink raw reply	[flat|nested] 20+ messages in thread

end of thread, other threads:[~2025-08-18 10:43 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-08-14 13:30 [PATCH 0/9] arm64: dts: qcom: x1: Add missing pinctrl for eDP HPD Stephan Gerhold
2025-08-14 13:30 ` [PATCH 1/9] arm64: dts: qcom: x1-asus-zenbook-a14: " Stephan Gerhold
2025-08-15  9:26   ` Aleksandrs Vinarskis
2025-08-15 22:06   ` Dmitry Baryshkov
2025-08-18  7:44     ` Stephan Gerhold
2025-08-18 10:33       ` Dmitry Baryshkov
2025-08-18 10:37         ` Stephan Gerhold
2025-08-18 10:39           ` Dmitry Baryshkov
2025-08-18 10:43             ` Stephan Gerhold
2025-08-14 13:30 ` [PATCH 2/9] arm64: dts: qcom: x1-crd: " Stephan Gerhold
2025-08-14 13:30 ` [PATCH 3/9] arm64: dts: qcom: x1e78100-lenovo-thinkpad-t14s: " Stephan Gerhold
2025-08-14 20:08   ` Christopher Obbard
2025-08-14 13:30 ` [PATCH 4/9] arm64: dts: qcom: x1e80100-asus-vivobook-s15: " Stephan Gerhold
2025-08-15  6:24   ` Maud Spierings
2025-08-14 13:30 ` [PATCH 5/9] arm64: dts: qcom: x1e80100-dell-xps13-9345: " Stephan Gerhold
2025-08-15  9:24   ` Aleksandrs Vinarskis
2025-08-14 13:30 ` [PATCH 6/9] arm64: dts: qcom: x1e80100-hp-omnibook-x14: " Stephan Gerhold
2025-08-14 13:30 ` [PATCH 7/9] arm64: dts: qcom: x1e80100-lenovo-yoga-slim7x: " Stephan Gerhold
2025-08-14 13:30 ` [PATCH 8/9] arm64: dts: qcom: x1e80100-microsoft-romulus: " Stephan Gerhold
2025-08-14 13:30 ` [PATCH 9/9] arm64: dts: qcom: x1e80100-qcp: " Stephan Gerhold

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).