* [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
* 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 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
* [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 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
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®