mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH 0/2] arm64: dts: qcom: sc8280xp-microsoft-blackrock: DP audio + 4-lane altmode
@ 2026-08-23  8:35 Jens Glathe via B4 Relay
  2026-08-23  8:35 ` [PATCH 1/2] arm64: dts: qcom: sc8280xp-microsoft-blackrock: enable DisplayPort audio Jens Glathe via B4 Relay
  2026-08-23  8:35 ` [PATCH 2/2] arm64: dts: qcom: sc8280xp-microsoft-blackrock: enable 4-lane DP altmode Jens Glathe via B4 Relay
  0 siblings, 2 replies; 5+ messages in thread
From: Jens Glathe via B4 Relay @ 2026-08-23  8:35 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>
---
Jens Glathe (2):
      arm64: dts: qcom: sc8280xp-microsoft-blackrock: enable DisplayPort audio
      arm64: dts: qcom: sc8280xp-microsoft-blackrock: enable 4-lane DP altmode

 .../boot/dts/qcom/sc8280xp-microsoft-blackrock.dts | 149 +++++----------------
 1 file changed, 31 insertions(+), 118 deletions(-)
---
base-commit: 903c1cf6dff9964e71eda98a39e2e5d442050472
change-id: 20260822-blackrock-audio-3a90de4ac4f9

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



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

* [PATCH 1/2] arm64: dts: qcom: sc8280xp-microsoft-blackrock: enable DisplayPort audio
  2026-08-23  8:35 [PATCH 0/2] arm64: dts: qcom: sc8280xp-microsoft-blackrock: DP audio + 4-lane altmode Jens Glathe via B4 Relay
@ 2026-08-23  8:35 ` Jens Glathe via B4 Relay
  2026-08-24  7:33   ` Konrad Dybcio
  2026-08-23  8:35 ` [PATCH 2/2] arm64: dts: qcom: sc8280xp-microsoft-blackrock: enable 4-lane DP altmode Jens Glathe via B4 Relay
  1 sibling, 1 reply; 5+ messages in thread
From: Jens Glathe via B4 Relay @ 2026-08-23  8:35 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 | 134 +++------------------
 1 file changed, 20 insertions(+), 114 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..a94141d670f62 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";
@@ -585,6 +559,7 @@ &mdss0 {
 };
 
 &mdss0_dp0 {
+	sound-name-prefix = "DisplayPort0";
 	status = "okay";
 };
 
@@ -594,6 +569,7 @@ &mdss0_dp0_out {
 };
 
 &mdss0_dp1 {
+	sound-name-prefix = "DisplayPort1";
 	status = "okay";
 };
 
@@ -603,6 +579,7 @@ &mdss0_dp1_out {
 };
 
 &mdss0_dp2 {
+	sound-name-prefix = "DisplayPort2";
 	compatible = "qcom,sc8280xp-dp";
 
 	data-lanes = <0 1 2 3>;
@@ -858,17 +835,17 @@ &rxmacro {
 
 &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 +853,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 +869,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 +1009,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 +1216,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";

-- 
2.53.0



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

* [PATCH 2/2] arm64: dts: qcom: sc8280xp-microsoft-blackrock: enable 4-lane DP altmode
  2026-08-23  8:35 [PATCH 0/2] arm64: dts: qcom: sc8280xp-microsoft-blackrock: DP audio + 4-lane altmode Jens Glathe via B4 Relay
  2026-08-23  8:35 ` [PATCH 1/2] arm64: dts: qcom: sc8280xp-microsoft-blackrock: enable DisplayPort audio Jens Glathe via B4 Relay
@ 2026-08-23  8:35 ` Jens Glathe via B4 Relay
  2026-08-24  7:34   ` Konrad Dybcio
  1 sibling, 1 reply; 5+ messages in thread
From: Jens Glathe via B4 Relay @ 2026-08-23  8:35 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 (same treatment as on the X13s).

Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
---
 arch/arm64/boot/dts/qcom/sc8280xp-microsoft-blackrock.dts | 15 +++++++++++----
 1 file changed, 11 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 a94141d670f62..aceeda96911db 100644
--- a/arch/arm64/boot/dts/qcom/sc8280xp-microsoft-blackrock.dts
+++ b/arch/arm64/boot/dts/qcom/sc8280xp-microsoft-blackrock.dts
@@ -564,7 +564,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>;
 };
 
@@ -574,7 +576,9 @@ &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>;
 };
 
@@ -582,12 +586,13 @@ &mdss0_dp2 {
 	sound-name-prefix = "DisplayPort2";
 	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>;
 };
 
@@ -932,6 +937,7 @@ &usb_0_qmpphy {
 	vdda-phy-supply = <&vreg_l9d>;
 	vdda-pll-supply = <&vreg_l4d>;
 
+	mode-switch;
 	orientation-switch;
 
 	status = "okay";
@@ -969,6 +975,7 @@ &usb_1_qmpphy {
 	vdda-phy-supply = <&vreg_l4b>;
 	vdda-pll-supply = <&vreg_l3b>;
 
+	mode-switch;
 	orientation-switch;
 
 	status = "okay";

-- 
2.53.0



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

* Re: [PATCH 1/2] arm64: dts: qcom: sc8280xp-microsoft-blackrock: enable DisplayPort audio
  2026-08-23  8:35 ` [PATCH 1/2] arm64: dts: qcom: sc8280xp-microsoft-blackrock: enable DisplayPort audio Jens Glathe via B4 Relay
@ 2026-08-24  7:33   ` Konrad Dybcio
  0 siblings, 0 replies; 5+ messages in thread
From: Konrad Dybcio @ 2026-08-24  7:33 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/23/26 10:35 AM, 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.

That's a good update, but it's a little strange in a commit titled
"enable DP audio"

[...]

>  &mdss0_dp0 {
> +	sound-name-prefix = "DisplayPort0";

Push that to sc8280xp.dtsi, please

Konrad


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

* Re: [PATCH 2/2] arm64: dts: qcom: sc8280xp-microsoft-blackrock: enable 4-lane DP altmode
  2026-08-23  8:35 ` [PATCH 2/2] arm64: dts: qcom: sc8280xp-microsoft-blackrock: enable 4-lane DP altmode Jens Glathe via B4 Relay
@ 2026-08-24  7:34   ` Konrad Dybcio
  0 siblings, 0 replies; 5+ messages in thread
From: Konrad Dybcio @ 2026-08-24  7:34 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/23/26 10:35 AM, Jens Glathe via B4 Relay wrote:
> 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 (same treatment as on the X13s).
> 
> Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
> ---

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

Konrad

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

end of thread, other threads:[~2026-08-24  7:34 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-08-23  8:35 [PATCH 0/2] arm64: dts: qcom: sc8280xp-microsoft-blackrock: DP audio + 4-lane altmode Jens Glathe via B4 Relay
2026-08-23  8:35 ` [PATCH 1/2] arm64: dts: qcom: sc8280xp-microsoft-blackrock: enable DisplayPort audio Jens Glathe via B4 Relay
2026-08-24  7:33   ` Konrad Dybcio
2026-08-23  8:35 ` [PATCH 2/2] arm64: dts: qcom: sc8280xp-microsoft-blackrock: enable 4-lane DP altmode Jens Glathe via B4 Relay
2026-08-24  7:34   ` Konrad Dybcio

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®