mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH v2 0/2] arm64: dts: qcom: sc8280xp-microsoft-blackrock: DP audio + 4-lane altmode
@ 2026-08-25 14:07 Jens Glathe via B4 Relay
  2026-08-25 14:07 ` [PATCH v2 1/2] arm64: dts: qcom: sc8280xp-microsoft-blackrock: Replace old sound nodes, enable DisplayPort audio Jens Glathe via B4 Relay
  2026-08-25 14:07 ` [PATCH v2 2/2] arm64: dts: qcom: sc8280xp-microsoft-blackrock: Enable 4-lane DP altmode Jens Glathe via B4 Relay
  0 siblings, 2 replies; 8+ messages in thread
From: Jens Glathe via B4 Relay @ 2026-08-25 14:07 UTC (permalink / raw)
  To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley
  Cc: Konrad Dybcio, Jérôme de Bretagne, linux-arm-msm,
	devicetree, linux-kernel, Jens Glathe

This series contains some well-tested improvements for the Windows Dev
Kit 2023 (Blackrock).

Patch 1 is for enabling audio via DisplayPort outputs (DP0..DP2).

Patch 2 enables full 4-lane DP altmode on the USB-C ports and the
mini-DP connector. It's the same treatment that was previously done 
for the X13s.

Related (still pending) fix that makes DP altmode on USB0 work in both
orientations on that port:

  https://lore.kernel.org/all/20250609-blackrock-usb0-mux-v1-1-7903c3b071e4@oldschoolsolutions.biz/

Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
---
Changes in v2:
- removed the residual &rxmacro enable - thanks Sashiko-Bot
- amended the commit message on patch 1 to clarify its a replacement 
  "Replace old sound nodes, enable DisplayPort audio"
- moved common definitions to sc8280xp.dtsi
- picked up reviewed-by from Konrad, thank you
- rebased to next-20260825
- Link to v1: https://lore.kernel.org/r/20260823-blackrock-audio-v1-0-f319387fc6a6@oldschoolsolutions.biz

---
Jens Glathe (2):
      arm64: dts: qcom: sc8280xp-microsoft-blackrock: Replace old sound nodes, enable DisplayPort audio
      arm64: dts: qcom: sc8280xp-microsoft-blackrock: Enable 4-lane DP altmode

 .../boot/dts/qcom/sc8280xp-microsoft-blackrock.dts | 148 ++++-----------------
 arch/arm64/boot/dts/qcom/sc8280xp.dtsi             |   8 ++
 2 files changed, 34 insertions(+), 122 deletions(-)
---
base-commit: a8406e6c0b793ce0788019683837c40855b55995
change-id: 20260822-blackrock-audio-3a90de4ac4f9

Best regards,
-- 
Jens Glathe <jens.glathe@oldschoolsolutions.biz>



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

* [PATCH v2 1/2] arm64: dts: qcom: sc8280xp-microsoft-blackrock: Replace old sound nodes, enable DisplayPort audio
  2026-08-25 14:07 [PATCH v2 0/2] arm64: dts: qcom: sc8280xp-microsoft-blackrock: DP audio + 4-lane altmode Jens Glathe via B4 Relay
@ 2026-08-25 14:07 ` Jens Glathe via B4 Relay
  2026-08-25 15:26   ` Konrad Dybcio
                     ` (2 more replies)
  2026-08-25 14:07 ` [PATCH v2 2/2] arm64: dts: qcom: sc8280xp-microsoft-blackrock: Enable 4-lane DP altmode Jens Glathe via B4 Relay
  1 sibling, 3 replies; 8+ messages in thread
From: Jens Glathe via B4 Relay @ 2026-08-25 14:07 UTC (permalink / raw)
  To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley
  Cc: Konrad Dybcio, Jérôme de Bretagne, linux-arm-msm,
	devicetree, linux-kernel, Jens Glathe

From: Jens Glathe <jens.glathe@oldschoolsolutions.biz>

The Windows Dev Kit 2023 has no built-in speakers, microphones or
headphone jack. Likewise the device with the same mainboard, Surface
Pro 9 5G [1]. The previous WCD938x / WSA / VA sound card definition
was therefore non-functional.

Replace the unused codec nodes, SoundWire controllers, LPASS macros
and related pinctrl with DisplayPort DAI links (DP0/DP1/DP2) so that
audio is available over the DP connectors. Add the required
sound-name-prefix properties and update the card model name to the
conventional SC8280XP-MICROSOFT-BLACKROCK form.

[1]: https://support.microsoft.com/en-us/surface/models/surface-pro-9-features-and-specs

Fixes: 16a7fed11714 ("arm64: dts: qcom: sc8280xp-blackrock: dt definition for WDK2023")
Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
---
 .../boot/dts/qcom/sc8280xp-microsoft-blackrock.dts | 135 +++------------------
 arch/arm64/boot/dts/qcom/sc8280xp.dtsi             |   4 +
 2 files changed, 21 insertions(+), 118 deletions(-)

diff --git a/arch/arm64/boot/dts/qcom/sc8280xp-microsoft-blackrock.dts b/arch/arm64/boot/dts/qcom/sc8280xp-microsoft-blackrock.dts
index 4f4b5f4285ec2..ac22f44020a64 100644
--- a/arch/arm64/boot/dts/qcom/sc8280xp-microsoft-blackrock.dts
+++ b/arch/arm64/boot/dts/qcom/sc8280xp-microsoft-blackrock.dts
@@ -28,32 +28,6 @@ aliases {
 		serial1 = &uart2;
 	};
 
-	wcd938x: audio-codec {
-		compatible = "qcom,wcd9380-codec";
-
-		pinctrl-0 = <&wcd_default>;
-		pinctrl-names = "default";
-
-		reset-gpios = <&tlmm 106 GPIO_ACTIVE_LOW>;
-
-		vdd-buck-supply = <&vreg_s10b>;
-		vdd-rxtx-supply = <&vreg_s10b>;
-		vdd-io-supply = <&vreg_s10b>;
-		vdd-mic-bias-supply = <&vreg_bob>;
-
-		qcom,micbias1-microvolt = <1800000>;
-		qcom,micbias2-microvolt = <1800000>;
-		qcom,micbias3-microvolt = <1800000>;
-		qcom,micbias4-microvolt = <1800000>;
-		qcom,mbhc-buttons-vthreshold-microvolt = <75000 150000 237000 500000 500000 500000 500000 500000>;
-		qcom,mbhc-headset-vthreshold-microvolt = <1700000>;
-		qcom,mbhc-headphone-vthreshold-microvolt = <50000>;
-		qcom,rx-device = <&wcd_rx>;
-		qcom,tx-device = <&wcd_tx>;
-
-		#sound-dai-cells = <1>;
-	};
-
 	dp3_connector: connector {
 		compatible = "dp-connector";
 		label = "DP-3";
@@ -852,23 +826,19 @@ &remoteproc_nsp0 {
 	status = "okay";
 };
 
-&rxmacro {
-	status = "okay";
-};
-
 &sound {
 	compatible = "qcom,sc8280xp-sndcard";
-	model = "microsoft/blackrock";
+	model = "SC8280XP-MICROSOFT-BLACKROCK";
 
-	wcd-playback-dai-link {
-		link-name = "WCD Playback";
+	dp0-dai-link {
+		link-name = "DP0 Playback";
 
-		cpu {
-			sound-dai = <&q6apmbedai RX_CODEC_DMA_RX_0>;
+		codec {
+			sound-dai = <&mdss0_dp0>;
 		};
 
-		codec {
-			sound-dai = <&wcd938x 0>, <&swr1 0>, <&rxmacro 0>;
+		cpu {
+			sound-dai = <&q6apmbedai DISPLAY_PORT_RX_0>;
 		};
 
 		platform {
@@ -876,15 +846,15 @@ platform {
 		};
 	};
 
-	wcd-capture-dai-link {
-		link-name = "WCD Capture";
+	dp1-dai-link {
+		link-name = "DP1 Playback";
 
-		cpu {
-			sound-dai = <&q6apmbedai TX_CODEC_DMA_TX_3>;
+		codec {
+			sound-dai = <&mdss0_dp1>;
 		};
 
-		codec {
-			sound-dai = <&wcd938x 1>, <&swr2 0>, <&txmacro 0>;
+		cpu {
+			sound-dai = <&q6apmbedai DISPLAY_PORT_RX_1>;
 		};
 
 		platform {
@@ -892,67 +862,23 @@ platform {
 		};
 	};
 
-	wsa-dai-link {
-		link-name = "WSA Playback";
-
-		cpu {
-			sound-dai = <&q6apmbedai WSA_CODEC_DMA_RX_0>;
-		};
+	dp2-dai-link {
+		link-name = "DP2 Playback";
 
 		codec {
-			sound-dai = <&swr0 0>, <&wsamacro 0>;
-		};
-
-		platform {
-			sound-dai = <&q6apm>;
+			sound-dai = <&mdss0_dp2>;
 		};
-	};
-
-	va-dai-link {
-		link-name = "VA Capture";
 
 		cpu {
-			sound-dai = <&q6apmbedai VA_CODEC_DMA_TX_0>;
+			sound-dai = <&q6apmbedai DISPLAY_PORT_RX_2>;
 		};
 
 		platform {
 			sound-dai = <&q6apm>;
 		};
-
-		codec {
-			sound-dai = <&vamacro 0>;
-		};
 	};
 };
 
-&swr0 {
-	status = "okay";
-};
-
-&swr1 {
-	status = "okay";
-
-	wcd_rx: wcd9380-rx@0,4 {
-		compatible = "sdw20217010d00";
-		reg = <0 4>;
-		qcom,rx-port-mapping = <1 2 3 4 5>;
-	};
-};
-
-&swr2 {
-	status = "okay";
-
-	wcd_tx: wcd9380-tx@0,3 {
-		compatible = "sdw20217010d00";
-		reg = <0 3>;
-		qcom,tx-port-mapping = <1 1 2 3>;
-	};
-};
-
-&txmacro {
-	status = "okay";
-};
-
 &uart2 {
 	pinctrl-0 = <&uart2_default>;
 	pinctrl-names = "default";
@@ -1076,31 +1002,12 @@ &usb_2_qmpphy0 {
 	status = "okay";
 };
 
-&vamacro {
-	pinctrl-0 = <&dmic01_default>, <&dmic23_default>;
-	pinctrl-names = "default";
-
-	vdd-micb-supply = <&vreg_s10b>;
-
-	qcom,dmic-sample-rate = <4800000>;
-
-	status = "okay";
-};
-
-&wsamacro {
-	status = "okay";
-};
-
 &xo_board_clk {
 	clock-frequency = <38400000>;
 };
 
 /* PINCTRL */
 
-&lpass_tlmm {
-	status = "okay";
-};
-
 &pmc8280_1_gpios {
 	misc_3p3_reg_en: misc-3p3-reg-en-state {
 		pins = "gpio1";
@@ -1302,14 +1209,6 @@ usb2_en_state: usb2-en-state {
 		output-low;
 	};
 
-	wcd_default: wcd-default-state {
-		reset-pins {
-			pins = "gpio106";
-			function = "gpio";
-			bias-disable;
-		};
-	};
-
 	wlan_en: wlan-en-state {
 		pins = "gpio134";
 		function = "gpio";
diff --git a/arch/arm64/boot/dts/qcom/sc8280xp.dtsi b/arch/arm64/boot/dts/qcom/sc8280xp.dtsi
index fbcfd3883bbb4..baca36b151853 100644
--- a/arch/arm64/boot/dts/qcom/sc8280xp.dtsi
+++ b/arch/arm64/boot/dts/qcom/sc8280xp.dtsi
@@ -4903,6 +4903,7 @@ mdss0_dp0: displayport-controller@ae90000 {
 				phy-names = "dp";
 
 				#sound-dai-cells = <0>;
+				sound-name-prefix = "DisplayPort0";
 
 				operating-points-v2 = <&mdss0_dp0_opp_table>;
 				power-domains = <&rpmhpd SC8280XP_MMCX>;
@@ -5168,6 +5169,7 @@ mdss0_dp1: displayport-controller@ae98000 {
 				phy-names = "dp";
 
 				#sound-dai-cells = <0>;
+				sound-name-prefix = "DisplayPort1";
 
 				operating-points-v2 = <&mdss0_dp1_opp_table>;
 				power-domains = <&rpmhpd SC8280XP_MMCX>;
@@ -5252,6 +5254,7 @@ mdss0_dp2: displayport-controller@ae9a000 {
 				operating-points-v2 = <&mdss0_dp2_opp_table>;
 
 				#sound-dai-cells = <0>;
+				sound-name-prefix = "DisplayPort2";
 
 				status = "disabled";
 
@@ -5327,6 +5330,7 @@ mdss0_dp3: displayport-controller@aea0000 {
 				operating-points-v2 = <&mdss0_dp3_opp_table>;
 
 				#sound-dai-cells = <0>;
+				sound-name-prefix = "DisplayPort3";
 
 				status = "disabled";
 

-- 
2.53.0



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

* [PATCH v2 2/2] arm64: dts: qcom: sc8280xp-microsoft-blackrock: Enable 4-lane DP altmode
  2026-08-25 14:07 [PATCH v2 0/2] arm64: dts: qcom: sc8280xp-microsoft-blackrock: DP audio + 4-lane altmode Jens Glathe via B4 Relay
  2026-08-25 14:07 ` [PATCH v2 1/2] arm64: dts: qcom: sc8280xp-microsoft-blackrock: Replace old sound nodes, enable DisplayPort audio Jens Glathe via B4 Relay
@ 2026-08-25 14:07 ` Jens Glathe via B4 Relay
  2026-08-25 16:32   ` Jérôme de Bretagne
  1 sibling, 1 reply; 8+ messages in thread
From: Jens Glathe via B4 Relay @ 2026-08-25 14:07 UTC (permalink / raw)
  To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley
  Cc: Konrad Dybcio, Jérôme de Bretagne, linux-arm-msm,
	devicetree, linux-kernel, Jens Glathe

From: Jens Glathe <jens.glathe@oldschoolsolutions.biz>

Allow up to 4 lanes for the DisplayPort links on the USB-C ports and
the mini-DP connector. Add the standard link-frequencies and move
data-lanes to the out endpoints where required by the current bindings.

Also enable mode-switch on the QMP combo PHYs so that altmode events
can reach them.

Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
---
 arch/arm64/boot/dts/qcom/sc8280xp-microsoft-blackrock.dts | 13 +++++++++----
 arch/arm64/boot/dts/qcom/sc8280xp.dtsi                    |  4 ++++
 2 files changed, 13 insertions(+), 4 deletions(-)

diff --git a/arch/arm64/boot/dts/qcom/sc8280xp-microsoft-blackrock.dts b/arch/arm64/boot/dts/qcom/sc8280xp-microsoft-blackrock.dts
index ac22f44020a64..f5140d3985503 100644
--- a/arch/arm64/boot/dts/qcom/sc8280xp-microsoft-blackrock.dts
+++ b/arch/arm64/boot/dts/qcom/sc8280xp-microsoft-blackrock.dts
@@ -563,7 +563,9 @@ &mdss0_dp0 {
 };
 
 &mdss0_dp0_out {
-	data-lanes = <0 1>;
+	data-lanes = <0 1 2 3>;
+
+	link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000 8100000000>;
 	remote-endpoint = <&usb_0_qmpphy_dp_in>;
 };
 
@@ -572,19 +574,22 @@ &mdss0_dp1 {
 };
 
 &mdss0_dp1_out {
-	data-lanes = <0 1>;
+	data-lanes = <0 1 2 3>;
+	link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000 8100000000>;
+
 	remote-endpoint = <&usb_1_qmpphy_dp_in>;
 };
 
 &mdss0_dp2 {
 	compatible = "qcom,sc8280xp-dp";
 
-	data-lanes = <0 1 2 3>;
-
 	status = "okay";
 };
 
 &mdss0_dp2_out {
+	data-lanes = <0 1 2 3>;
+	link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000 8100000000>;
+
 	remote-endpoint = <&dp1_connector_in>;
 };
 
diff --git a/arch/arm64/boot/dts/qcom/sc8280xp.dtsi b/arch/arm64/boot/dts/qcom/sc8280xp.dtsi
index baca36b151853..1c8836c1aae63 100644
--- a/arch/arm64/boot/dts/qcom/sc8280xp.dtsi
+++ b/arch/arm64/boot/dts/qcom/sc8280xp.dtsi
@@ -3692,6 +3692,8 @@ usb_0_qmpphy: phy@88eb000 {
 			#clock-cells = <1>;
 			#phy-cells = <1>;
 
+			mode-switch;
+
 			status = "disabled";
 
 			ports {
@@ -3807,6 +3809,8 @@ usb_1_qmpphy: phy@8903000 {
 			#clock-cells = <1>;
 			#phy-cells = <1>;
 
+			mode-switch;
+
 			status = "disabled";
 
 			ports {

-- 
2.53.0



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

* Re: [PATCH v2 1/2] arm64: dts: qcom: sc8280xp-microsoft-blackrock: Replace old sound nodes, enable DisplayPort audio
  2026-08-25 14:07 ` [PATCH v2 1/2] arm64: dts: qcom: sc8280xp-microsoft-blackrock: Replace old sound nodes, enable DisplayPort audio Jens Glathe via B4 Relay
@ 2026-08-25 15:26   ` Konrad Dybcio
  2026-08-25 16:15   ` Jérôme de Bretagne
  2026-09-29  3:13   ` Bjorn Andersson
  2 siblings, 0 replies; 8+ messages in thread
From: Konrad Dybcio @ 2026-08-25 15:26 UTC (permalink / raw)
  To: jens.glathe, Bjorn Andersson, Konrad Dybcio, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley
  Cc: Jérôme de Bretagne, linux-arm-msm, devicetree, linux-kernel

On 8/25/26 4:07 PM, Jens Glathe via B4 Relay wrote:
> From: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
> 
> The Windows Dev Kit 2023 has no built-in speakers, microphones or
> headphone jack. Likewise the device with the same mainboard, Surface
> Pro 9 5G [1]. The previous WCD938x / WSA / VA sound card definition
> was therefore non-functional.

Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>

Konrad

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

* Re: [PATCH v2 1/2] arm64: dts: qcom: sc8280xp-microsoft-blackrock: Replace old sound nodes, enable DisplayPort audio
  2026-08-25 14:07 ` [PATCH v2 1/2] arm64: dts: qcom: sc8280xp-microsoft-blackrock: Replace old sound nodes, enable DisplayPort audio Jens Glathe via B4 Relay
  2026-08-25 15:26   ` Konrad Dybcio
@ 2026-08-25 16:15   ` Jérôme de Bretagne
  2026-09-29  3:13   ` Bjorn Andersson
  2 siblings, 0 replies; 8+ messages in thread
From: Jérôme de Bretagne @ 2026-08-25 16:15 UTC (permalink / raw)
  To: Jens Glathe
  Cc: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Konrad Dybcio, linux-arm-msm, devicetree, LKML

Le mar. 25 août 2026 à 16:07, Jens Glathe via B4 Relay
<devnull+jens.glathe.oldschoolsolutions.biz@kernel.org> a écrit :
>
> From: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
>
> The Windows Dev Kit 2023 has no built-in speakers, microphones or
> headphone jack. Likewise the device with the same mainboard, Surface
> Pro 9 5G [1].

Potential nitpick, I don't know : the Surface Pro 9 5G has built-in
speakers and microphones but no headphone jack, so I find the
"Likewise ..." sentence confusing or misleading somehow.

This has no impact on the actual code changes though.

> The previous WCD938x / WSA / VA sound card definition
> was therefore non-functional.
>
> Replace the unused codec nodes, SoundWire controllers, LPASS macros
> and related pinctrl with DisplayPort DAI links (DP0/DP1/DP2) so that
> audio is available over the DP connectors. Add the required
> sound-name-prefix properties and update the card model name to the
> conventional SC8280XP-MICROSOFT-BLACKROCK form.
>
> [1]: https://support.microsoft.com/en-us/surface/models/surface-pro-9-features-and-specs
>
> Fixes: 16a7fed11714 ("arm64: dts: qcom: sc8280xp-blackrock: dt definition for WDK2023")
> Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>

Cheers,
Jérôme

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

* Re: [PATCH v2 2/2] arm64: dts: qcom: sc8280xp-microsoft-blackrock: Enable 4-lane DP altmode
  2026-08-25 14:07 ` [PATCH v2 2/2] arm64: dts: qcom: sc8280xp-microsoft-blackrock: Enable 4-lane DP altmode Jens Glathe via B4 Relay
@ 2026-08-25 16:32   ` Jérôme de Bretagne
  0 siblings, 0 replies; 8+ messages in thread
From: Jérôme de Bretagne @ 2026-08-25 16:32 UTC (permalink / raw)
  To: jens.glathe
  Cc: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Konrad Dybcio, linux-arm-msm, devicetree,
	linux-kernel

Le mar. 25 août 2026 à 16:07, Jens Glathe via B4 Relay
<devnull+jens.glathe.oldschoolsolutions.biz@kernel.org> a écrit :
>
> From: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
>
> Allow up to 4 lanes for the DisplayPort links on the USB-C ports and
> the mini-DP connector. Add the standard link-frequencies and move
> data-lanes to the out endpoints where required by the current bindings.
>
> Also enable mode-switch on the QMP combo PHYs so that altmode events
> can reach them.
>
> Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
> Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
> ---
>  arch/arm64/boot/dts/qcom/sc8280xp-microsoft-blackrock.dts | 13 +++++++++----
>  arch/arm64/boot/dts/qcom/sc8280xp.dtsi                    |  4 ++++
>  2 files changed, 13 insertions(+), 4 deletions(-)
>
> diff --git a/arch/arm64/boot/dts/qcom/sc8280xp-microsoft-blackrock.dts b/arch/arm64/boot/dts/qcom/sc8280xp-microsoft-blackrock.dts
> index ac22f44020a64..f5140d3985503 100644
> --- a/arch/arm64/boot/dts/qcom/sc8280xp-microsoft-blackrock.dts
> +++ b/arch/arm64/boot/dts/qcom/sc8280xp-microsoft-blackrock.dts
> @@ -563,7 +563,9 @@ &mdss0_dp0 {
>  };
>
>  &mdss0_dp0_out {
> -       data-lanes = <0 1>;
> +       data-lanes = <0 1 2 3>;
> +
> +       link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000 8100000000>;
>         remote-endpoint = <&usb_0_qmpphy_dp_in>;
>  };
>
> @@ -572,19 +574,22 @@ &mdss0_dp1 {
>  };
>
>  &mdss0_dp1_out {
> -       data-lanes = <0 1>;
> +       data-lanes = <0 1 2 3>;
> +       link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000 8100000000>;
> +
>         remote-endpoint = <&usb_1_qmpphy_dp_in>;
>  };
>
>  &mdss0_dp2 {
>         compatible = "qcom,sc8280xp-dp";
>
> -       data-lanes = <0 1 2 3>;
> -
>         status = "okay";
>  };
>
>  &mdss0_dp2_out {
> +       data-lanes = <0 1 2 3>;
> +       link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000 8100000000>;
> +
>         remote-endpoint = <&dp1_connector_in>;
>  };
>
> diff --git a/arch/arm64/boot/dts/qcom/sc8280xp.dtsi b/arch/arm64/boot/dts/qcom/sc8280xp.dtsi
> index baca36b151853..1c8836c1aae63 100644
> --- a/arch/arm64/boot/dts/qcom/sc8280xp.dtsi
> +++ b/arch/arm64/boot/dts/qcom/sc8280xp.dtsi
> @@ -3692,6 +3692,8 @@ usb_0_qmpphy: phy@88eb000 {
>                         #clock-cells = <1>;
>                         #phy-cells = <1>;
>
> +                       mode-switch;
> +
>                         status = "disabled";
>
>                         ports {
> @@ -3807,6 +3809,8 @@ usb_1_qmpphy: phy@8903000 {
>                         #clock-cells = <1>;
>                         #phy-cells = <1>;
>
> +                       mode-switch;
> +

As you've moved this common definition to sc8280xp.dtsi, should you
also update the x13s and arcata devicetrees to remove the now
duplicated mode-switch for both usb_0_qmpphy and usb_1_qmpphy?

Thank you,
Jérôme

>                         status = "disabled";
>
>                         ports {
>
> --
> 2.53.0

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

* Re: [PATCH v2 1/2] arm64: dts: qcom: sc8280xp-microsoft-blackrock: Replace old sound nodes, enable DisplayPort audio
  2026-08-25 14:07 ` [PATCH v2 1/2] arm64: dts: qcom: sc8280xp-microsoft-blackrock: Replace old sound nodes, enable DisplayPort audio Jens Glathe via B4 Relay
  2026-08-25 15:26   ` Konrad Dybcio
  2026-08-25 16:15   ` Jérôme de Bretagne
@ 2026-09-29  3:13   ` Bjorn Andersson
  2026-09-29  7:54     ` Jens Glathe
  2 siblings, 1 reply; 8+ messages in thread
From: Bjorn Andersson @ 2026-09-29  3:13 UTC (permalink / raw)
  To: jens.glathe
  Cc: Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Konrad Dybcio, Jérôme de Bretagne, linux-arm-msm,
	devicetree, linux-kernel

On Tue, Aug 25, 2026 at 04:07:45PM +0200, Jens Glathe via B4 Relay wrote:
> From: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
> 
> The Windows Dev Kit 2023 has no built-in speakers, microphones or
> headphone jack. Likewise the device with the same mainboard, Surface
> Pro 9 5G [1]. The previous WCD938x / WSA / VA sound card definition
> was therefore non-functional.
> 
> Replace the unused codec nodes, SoundWire controllers, LPASS macros
> and related pinctrl with DisplayPort DAI links (DP0/DP1/DP2) so that
> audio is available over the DP connectors. Add the required
> sound-name-prefix properties and update the card model name to the
> conventional SC8280XP-MICROSOFT-BLACKROCK form.
> 
> [1]: https://support.microsoft.com/en-us/surface/models/surface-pro-9-features-and-specs

Computer says:

arch/arm64/boot/dts/qcom/sc8280xp-crd-el2.dtb: displayport-controller@aea0000 (qcom,sc8280xp-edp): Unevaluated properties are not allowed ('sound-name-prefix' was unexpected)
    from schema $id: http://devicetree.org/schemas/display/msm/dp-controller.yaml
+ 5 more times...

What am I doing wrong?

Regards,
Bjorn

> 
> Fixes: 16a7fed11714 ("arm64: dts: qcom: sc8280xp-blackrock: dt definition for WDK2023")
> Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
> ---
>  .../boot/dts/qcom/sc8280xp-microsoft-blackrock.dts | 135 +++------------------
>  arch/arm64/boot/dts/qcom/sc8280xp.dtsi             |   4 +
>  2 files changed, 21 insertions(+), 118 deletions(-)
> 
> diff --git a/arch/arm64/boot/dts/qcom/sc8280xp-microsoft-blackrock.dts b/arch/arm64/boot/dts/qcom/sc8280xp-microsoft-blackrock.dts
> index 4f4b5f4285ec2..ac22f44020a64 100644
> --- a/arch/arm64/boot/dts/qcom/sc8280xp-microsoft-blackrock.dts
> +++ b/arch/arm64/boot/dts/qcom/sc8280xp-microsoft-blackrock.dts
> @@ -28,32 +28,6 @@ aliases {
>  		serial1 = &uart2;
>  	};
>  
> -	wcd938x: audio-codec {
> -		compatible = "qcom,wcd9380-codec";
> -
> -		pinctrl-0 = <&wcd_default>;
> -		pinctrl-names = "default";
> -
> -		reset-gpios = <&tlmm 106 GPIO_ACTIVE_LOW>;
> -
> -		vdd-buck-supply = <&vreg_s10b>;
> -		vdd-rxtx-supply = <&vreg_s10b>;
> -		vdd-io-supply = <&vreg_s10b>;
> -		vdd-mic-bias-supply = <&vreg_bob>;
> -
> -		qcom,micbias1-microvolt = <1800000>;
> -		qcom,micbias2-microvolt = <1800000>;
> -		qcom,micbias3-microvolt = <1800000>;
> -		qcom,micbias4-microvolt = <1800000>;
> -		qcom,mbhc-buttons-vthreshold-microvolt = <75000 150000 237000 500000 500000 500000 500000 500000>;
> -		qcom,mbhc-headset-vthreshold-microvolt = <1700000>;
> -		qcom,mbhc-headphone-vthreshold-microvolt = <50000>;
> -		qcom,rx-device = <&wcd_rx>;
> -		qcom,tx-device = <&wcd_tx>;
> -
> -		#sound-dai-cells = <1>;
> -	};
> -
>  	dp3_connector: connector {
>  		compatible = "dp-connector";
>  		label = "DP-3";
> @@ -852,23 +826,19 @@ &remoteproc_nsp0 {
>  	status = "okay";
>  };
>  
> -&rxmacro {
> -	status = "okay";
> -};
> -
>  &sound {
>  	compatible = "qcom,sc8280xp-sndcard";
> -	model = "microsoft/blackrock";
> +	model = "SC8280XP-MICROSOFT-BLACKROCK";
>  
> -	wcd-playback-dai-link {
> -		link-name = "WCD Playback";
> +	dp0-dai-link {
> +		link-name = "DP0 Playback";
>  
> -		cpu {
> -			sound-dai = <&q6apmbedai RX_CODEC_DMA_RX_0>;
> +		codec {
> +			sound-dai = <&mdss0_dp0>;
>  		};
>  
> -		codec {
> -			sound-dai = <&wcd938x 0>, <&swr1 0>, <&rxmacro 0>;
> +		cpu {
> +			sound-dai = <&q6apmbedai DISPLAY_PORT_RX_0>;
>  		};
>  
>  		platform {
> @@ -876,15 +846,15 @@ platform {
>  		};
>  	};
>  
> -	wcd-capture-dai-link {
> -		link-name = "WCD Capture";
> +	dp1-dai-link {
> +		link-name = "DP1 Playback";
>  
> -		cpu {
> -			sound-dai = <&q6apmbedai TX_CODEC_DMA_TX_3>;
> +		codec {
> +			sound-dai = <&mdss0_dp1>;
>  		};
>  
> -		codec {
> -			sound-dai = <&wcd938x 1>, <&swr2 0>, <&txmacro 0>;
> +		cpu {
> +			sound-dai = <&q6apmbedai DISPLAY_PORT_RX_1>;
>  		};
>  
>  		platform {
> @@ -892,67 +862,23 @@ platform {
>  		};
>  	};
>  
> -	wsa-dai-link {
> -		link-name = "WSA Playback";
> -
> -		cpu {
> -			sound-dai = <&q6apmbedai WSA_CODEC_DMA_RX_0>;
> -		};
> +	dp2-dai-link {
> +		link-name = "DP2 Playback";
>  
>  		codec {
> -			sound-dai = <&swr0 0>, <&wsamacro 0>;
> -		};
> -
> -		platform {
> -			sound-dai = <&q6apm>;
> +			sound-dai = <&mdss0_dp2>;
>  		};
> -	};
> -
> -	va-dai-link {
> -		link-name = "VA Capture";
>  
>  		cpu {
> -			sound-dai = <&q6apmbedai VA_CODEC_DMA_TX_0>;
> +			sound-dai = <&q6apmbedai DISPLAY_PORT_RX_2>;
>  		};
>  
>  		platform {
>  			sound-dai = <&q6apm>;
>  		};
> -
> -		codec {
> -			sound-dai = <&vamacro 0>;
> -		};
>  	};
>  };
>  
> -&swr0 {
> -	status = "okay";
> -};
> -
> -&swr1 {
> -	status = "okay";
> -
> -	wcd_rx: wcd9380-rx@0,4 {
> -		compatible = "sdw20217010d00";
> -		reg = <0 4>;
> -		qcom,rx-port-mapping = <1 2 3 4 5>;
> -	};
> -};
> -
> -&swr2 {
> -	status = "okay";
> -
> -	wcd_tx: wcd9380-tx@0,3 {
> -		compatible = "sdw20217010d00";
> -		reg = <0 3>;
> -		qcom,tx-port-mapping = <1 1 2 3>;
> -	};
> -};
> -
> -&txmacro {
> -	status = "okay";
> -};
> -
>  &uart2 {
>  	pinctrl-0 = <&uart2_default>;
>  	pinctrl-names = "default";
> @@ -1076,31 +1002,12 @@ &usb_2_qmpphy0 {
>  	status = "okay";
>  };
>  
> -&vamacro {
> -	pinctrl-0 = <&dmic01_default>, <&dmic23_default>;
> -	pinctrl-names = "default";
> -
> -	vdd-micb-supply = <&vreg_s10b>;
> -
> -	qcom,dmic-sample-rate = <4800000>;
> -
> -	status = "okay";
> -};
> -
> -&wsamacro {
> -	status = "okay";
> -};
> -
>  &xo_board_clk {
>  	clock-frequency = <38400000>;
>  };
>  
>  /* PINCTRL */
>  
> -&lpass_tlmm {
> -	status = "okay";
> -};
> -
>  &pmc8280_1_gpios {
>  	misc_3p3_reg_en: misc-3p3-reg-en-state {
>  		pins = "gpio1";
> @@ -1302,14 +1209,6 @@ usb2_en_state: usb2-en-state {
>  		output-low;
>  	};
>  
> -	wcd_default: wcd-default-state {
> -		reset-pins {
> -			pins = "gpio106";
> -			function = "gpio";
> -			bias-disable;
> -		};
> -	};
> -
>  	wlan_en: wlan-en-state {
>  		pins = "gpio134";
>  		function = "gpio";
> diff --git a/arch/arm64/boot/dts/qcom/sc8280xp.dtsi b/arch/arm64/boot/dts/qcom/sc8280xp.dtsi
> index fbcfd3883bbb4..baca36b151853 100644
> --- a/arch/arm64/boot/dts/qcom/sc8280xp.dtsi
> +++ b/arch/arm64/boot/dts/qcom/sc8280xp.dtsi
> @@ -4903,6 +4903,7 @@ mdss0_dp0: displayport-controller@ae90000 {
>  				phy-names = "dp";
>  
>  				#sound-dai-cells = <0>;
> +				sound-name-prefix = "DisplayPort0";
>  
>  				operating-points-v2 = <&mdss0_dp0_opp_table>;
>  				power-domains = <&rpmhpd SC8280XP_MMCX>;
> @@ -5168,6 +5169,7 @@ mdss0_dp1: displayport-controller@ae98000 {
>  				phy-names = "dp";
>  
>  				#sound-dai-cells = <0>;
> +				sound-name-prefix = "DisplayPort1";
>  
>  				operating-points-v2 = <&mdss0_dp1_opp_table>;
>  				power-domains = <&rpmhpd SC8280XP_MMCX>;
> @@ -5252,6 +5254,7 @@ mdss0_dp2: displayport-controller@ae9a000 {
>  				operating-points-v2 = <&mdss0_dp2_opp_table>;
>  
>  				#sound-dai-cells = <0>;
> +				sound-name-prefix = "DisplayPort2";
>  
>  				status = "disabled";
>  
> @@ -5327,6 +5330,7 @@ mdss0_dp3: displayport-controller@aea0000 {
>  				operating-points-v2 = <&mdss0_dp3_opp_table>;
>  
>  				#sound-dai-cells = <0>;
> +				sound-name-prefix = "DisplayPort3";
>  
>  				status = "disabled";
>  
> 
> -- 
> 2.53.0
> 
> 

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

* Re: [PATCH v2 1/2] arm64: dts: qcom: sc8280xp-microsoft-blackrock: Replace old sound nodes, enable DisplayPort audio
  2026-09-29  3:13   ` Bjorn Andersson
@ 2026-09-29  7:54     ` Jens Glathe
  0 siblings, 0 replies; 8+ messages in thread
From: Jens Glathe @ 2026-09-29  7:54 UTC (permalink / raw)
  To: Bjorn Andersson
  Cc: Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Konrad Dybcio, Jérôme de Bretagne, linux-arm-msm,
	devicetree, linux-kernel

Hi Bjorn,

On 9/29/26 05:13, Bjorn Andersson wrote:
> On Tue, Aug 25, 2026 at 04:07:45PM +0200, Jens Glathe via B4 Relay wrote:
>> From: Jens Glathe<jens.glathe@oldschoolsolutions.biz>
>>
>> The Windows Dev Kit 2023 has no built-in speakers, microphones or
>> headphone jack. Likewise the device with the same mainboard, Surface
>> Pro 9 5G [1]. The previous WCD938x / WSA / VA sound card definition
>> was therefore non-functional.
>>
>> Replace the unused codec nodes, SoundWire controllers, LPASS macros
>> and related pinctrl with DisplayPort DAI links (DP0/DP1/DP2) so that
>> audio is available over the DP connectors. Add the required
>> sound-name-prefix properties and update the card model name to the
>> conventional SC8280XP-MICROSOFT-BLACKROCK form.
>>
>> [1]:https://support.microsoft.com/en-us/surface/models/surface-pro-9-features-and-specs
> Computer says:
>
> arch/arm64/boot/dts/qcom/sc8280xp-crd-el2.dtb: displayport-controller@aea0000 (qcom,sc8280xp-edp): Unevaluated properties are not allowed ('sound-name-prefix' was unexpected)
>      from schema $id:http://devicetree.org/schemas/display/msm/dp-controller.yaml
> + 5 more times...

Ouch. EDP has no sound node, it explicitly gets deleted. In 
sc8280xp.dtsi the compatible for mdss0_dp3 is "qcom,sc8280xp-dp", 
though. Therefore I added the sound-name-prefix there, too. I guess 
adding the sound-name-prefixes in the .dtsi is only semi-good. So the 
way forward (without changing all the sc8280xp-based dts files ) would 
be to keep sound-name-prefix in the dts and live with that? Specifically 
omitting sound-name-prefix in mdss0_dp3 is the worse choice, IMO.

with best regards

Jens



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

end of thread, other threads:[~2026-09-29  8:07 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-08-25 14:07 [PATCH v2 0/2] arm64: dts: qcom: sc8280xp-microsoft-blackrock: DP audio + 4-lane altmode Jens Glathe via B4 Relay
2026-08-25 14:07 ` [PATCH v2 1/2] arm64: dts: qcom: sc8280xp-microsoft-blackrock: Replace old sound nodes, enable DisplayPort audio Jens Glathe via B4 Relay
2026-08-25 15:26   ` Konrad Dybcio
2026-08-25 16:15   ` Jérôme de Bretagne
2026-09-29  3:13   ` Bjorn Andersson
2026-09-29  7:54     ` Jens Glathe
2026-08-25 14:07 ` [PATCH v2 2/2] arm64: dts: qcom: sc8280xp-microsoft-blackrock: Enable 4-lane DP altmode Jens Glathe via B4 Relay
2026-08-25 16:32   ` Jérôme de Bretagne

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®