* [PATCH v2 0/8] Microsoft Surface Pro 11 support
@ 2025-12-01 1:14 Dale Whinham
2025-12-01 1:14 ` [PATCH v2 1/8] dt-bindings: arm: qcom: Document Microsoft Surface Pro 11 Dale Whinham
` (5 more replies)
0 siblings, 6 replies; 17+ messages in thread
From: Dale Whinham @ 2025-12-01 1:14 UTC (permalink / raw)
To: Abhinav Kumar, Jessica Zhang, Sean Paul, Marijn Suijten,
Bjorn Andersson, Jeff Johnson, linux-arm-msm, devicetree,
linux-kernel, linux-wireless, ath12k, dri-devel, freedreno,
platform-driver-x86
Cc: Jérôme de Bretagne, Dale Whinham, Konrad Dybcio,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Johannes Berg,
Jeff Johnson, Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann,
David Airlie, Simona Vetter, Rob Clark, Dmitry Baryshkov,
Maximilian Luz, Hans de Goede, Ilpo Järvinen
This series brings support for the X1E80100/X1P64100-based Microsoft
Surface Pro 11.
Patches 6 to 8 are included as RFC as we are unsure of how best to
achieve the required functionality, however the implementation is
functional.
v2:
- Dropped ATNA30DW01 patch as it was merged.
- Split device tree into x1e (OLED)/x1p (LCD) specific *.dts files and move common code into x1-microsoft-denali.dtsi (patch 4).
- Device tree now enables higher external monitor refresh rates/resolutions (patch 4).
- Device tree now enables partially working audio output; requires alsa-ucm-conf and audioreach-topology definitions in userspace (patch 4).
- Replaced 'Work around bogus maximum link rate' with a quirk-based approach (patch 5).
- Improve the commit message about the disable-rfkill property in response to feedback (patch 6).
Dale Whinham (5):
firmware: qcom: scm: allow QSEECOM on Surface Pro 11
platform/surface: aggregator_registry: Add Surface Pro 11
arm64: dts: qcom: Add support for Surface Pro 11
wifi: ath12k: Add support for disabling rfkill via devicetree
arm64: dts: qcom: x1-microsoft-denali: Disable rfkill for wifi0
Jérôme de Bretagne (3):
dt-bindings: arm: qcom: Document Microsoft Surface Pro 11
drm/msm/dp: Add dpcd link_rate quirk for Surface Pro 11 OLED
dt-bindings: wireless: ath12k: Add disable-rfkill property
.../devicetree/bindings/arm/qcom.yaml | 1 +
.../bindings/net/wireless/qcom,ath12k.yaml | 3 +
arch/arm64/boot/dts/qcom/Makefile | 4 +
.../boot/dts/qcom/x1-microsoft-denali.dtsi | 1340 +++++++++++++++++
.../qcom/x1e80100-microsoft-denali-oled.dts | 20 +
.../dts/qcom/x1p64100-microsoft-denali.dts | 16 +
drivers/firmware/qcom/qcom_scm.c | 1 +
drivers/gpu/drm/display/drm_dp_helper.c | 2 +
drivers/gpu/drm/msm/dp/dp_panel.c | 14 +
drivers/net/wireless/ath/ath12k/core.c | 3 +
.../surface/surface_aggregator_registry.c | 18 +
include/drm/display/drm_dp_helper.h | 7 +
12 files changed, 1429 insertions(+)
create mode 100644 arch/arm64/boot/dts/qcom/x1-microsoft-denali.dtsi
create mode 100644 arch/arm64/boot/dts/qcom/x1e80100-microsoft-denali-oled.dts
create mode 100644 arch/arm64/boot/dts/qcom/x1p64100-microsoft-denali.dts
--
2.52.0
^ permalink raw reply [flat|nested] 17+ messages in thread
* [PATCH v2 1/8] dt-bindings: arm: qcom: Document Microsoft Surface Pro 11
2025-12-01 1:14 [PATCH v2 0/8] Microsoft Surface Pro 11 support Dale Whinham
@ 2025-12-01 1:14 ` Dale Whinham
2025-12-01 2:17 ` Rob Herring (Arm)
2025-12-01 7:30 ` Krzysztof Kozlowski
2025-12-01 1:14 ` [PATCH v2 2/8] firmware: qcom: scm: allow QSEECOM on " Dale Whinham
` (4 subsequent siblings)
5 siblings, 2 replies; 17+ messages in thread
From: Dale Whinham @ 2025-12-01 1:14 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley
Cc: Jérôme de Bretagne, Dale Whinham, linux-arm-msm,
devicetree, linux-kernel
From: Jérôme de Bretagne <jerome.debretagne@gmail.com>
Add the compatible for the Qualcomm X1-based Microsoft Surface Pro 11,
using its Denali codename.
Signed-off-by: Jérôme de Bretagne <jerome.debretagne@gmail.com>
Signed-off-by: Dale Whinham <daleyo@gmail.com>
---
Documentation/devicetree/bindings/arm/qcom.yaml | 1 +
1 file changed, 1 insertion(+)
diff --git a/Documentation/devicetree/bindings/arm/qcom.yaml b/Documentation/devicetree/bindings/arm/qcom.yaml
index 18b5ed044f9f..e35e7764dd8b 100644
--- a/Documentation/devicetree/bindings/arm/qcom.yaml
+++ b/Documentation/devicetree/bindings/arm/qcom.yaml
@@ -1069,6 +1069,7 @@ properties:
- hp,elitebook-ultra-g1q
- hp,omnibook-x14
- lenovo,yoga-slim7x
+ - microsoft,denali
- microsoft,romulus13
- microsoft,romulus15
- qcom,x1e80100-crd
--
2.52.0
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH v2 2/8] firmware: qcom: scm: allow QSEECOM on Surface Pro 11
2025-12-01 1:14 [PATCH v2 0/8] Microsoft Surface Pro 11 support Dale Whinham
2025-12-01 1:14 ` [PATCH v2 1/8] dt-bindings: arm: qcom: Document Microsoft Surface Pro 11 Dale Whinham
@ 2025-12-01 1:14 ` Dale Whinham
2025-12-04 1:25 ` Dmitry Baryshkov
2025-12-01 1:14 ` [PATCH v2 4/8] arm64: dts: qcom: Add support for " Dale Whinham
` (3 subsequent siblings)
5 siblings, 1 reply; 17+ messages in thread
From: Dale Whinham @ 2025-12-01 1:14 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio
Cc: Jérôme de Bretagne, Dale Whinham, linux-arm-msm,
linux-kernel
Enables access to EFI variables on this machine.
Tested-by: Jérôme de Bretagne <jerome.debretagne@gmail.com>
Signed-off-by: Dale Whinham <daleyo@gmail.com>
---
drivers/firmware/qcom/qcom_scm.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/firmware/qcom/qcom_scm.c b/drivers/firmware/qcom/qcom_scm.c
index e777b7cb9b12..5d123c11d8ed 100644
--- a/drivers/firmware/qcom/qcom_scm.c
+++ b/drivers/firmware/qcom/qcom_scm.c
@@ -2007,6 +2007,7 @@ static const struct of_device_id qcom_scm_qseecom_allowlist[] __maybe_unused = {
{ .compatible = "lenovo,yoga-slim7x" },
{ .compatible = "microsoft,arcata", },
{ .compatible = "microsoft,blackrock" },
+ { .compatible = "microsoft,denali", },
{ .compatible = "microsoft,romulus13", },
{ .compatible = "microsoft,romulus15", },
{ .compatible = "qcom,hamoa-iot-evk" },
--
2.52.0
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH v2 4/8] arm64: dts: qcom: Add support for Surface Pro 11
2025-12-01 1:14 [PATCH v2 0/8] Microsoft Surface Pro 11 support Dale Whinham
2025-12-01 1:14 ` [PATCH v2 1/8] dt-bindings: arm: qcom: Document Microsoft Surface Pro 11 Dale Whinham
2025-12-01 1:14 ` [PATCH v2 2/8] firmware: qcom: scm: allow QSEECOM on " Dale Whinham
@ 2025-12-01 1:14 ` Dale Whinham
2025-12-01 15:35 ` Konrad Dybcio
2025-12-01 1:14 ` [PATCH v2 5/8] drm/msm/dp: Add dpcd link_rate quirk for Surface Pro 11 OLED Dale Whinham
` (2 subsequent siblings)
5 siblings, 1 reply; 17+ messages in thread
From: Dale Whinham @ 2025-12-01 1:14 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley
Cc: Jérôme de Bretagne, Dale Whinham, linux-arm-msm,
devicetree, linux-kernel
Add device trees for the Qualcomm X1E and X1P-based Microsoft Surface
Pro 11 machines (codenamed 'Denali').
This device is very similar to the Surface Laptop 7 ('Romulus').
Use a similar strategy to x1-asus-zenbook-a14.dtsi so that we can create
x1e and x1p-specific flavors of the device tree without too much code
duplication.
Hardware support is similar to other X1E machines. The most notable
features missing are:
- Touchscreen and pen
- Cameras (and status LEDs)
Tested-by: Jérôme de Bretagne <jerome.debretagne@gmail.com>
Signed-off-by: Dale Whinham <daleyo@gmail.com>
---
arch/arm64/boot/dts/qcom/Makefile | 4 +
.../boot/dts/qcom/x1-microsoft-denali.dtsi | 1338 +++++++++++++++++
.../qcom/x1e80100-microsoft-denali-oled.dts | 20 +
.../dts/qcom/x1p64100-microsoft-denali.dts | 16 +
4 files changed, 1378 insertions(+)
create mode 100644 arch/arm64/boot/dts/qcom/x1-microsoft-denali.dtsi
create mode 100644 arch/arm64/boot/dts/qcom/x1e80100-microsoft-denali-oled.dts
create mode 100644 arch/arm64/boot/dts/qcom/x1p64100-microsoft-denali.dts
diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile
index 296688f7cb26..fe2054ee093e 100644
--- a/arch/arm64/boot/dts/qcom/Makefile
+++ b/arch/arm64/boot/dts/qcom/Makefile
@@ -336,6 +336,8 @@ x1e80100-hp-omnibook-x14-el2-dtbs := x1e80100-hp-omnibook-x14.dtb x1-el2.dtbo
dtb-$(CONFIG_ARCH_QCOM) += x1e80100-hp-omnibook-x14.dtb x1e80100-hp-omnibook-x14-el2.dtb
x1e80100-lenovo-yoga-slim7x-el2-dtbs := x1e80100-lenovo-yoga-slim7x.dtb x1-el2.dtbo
dtb-$(CONFIG_ARCH_QCOM) += x1e80100-lenovo-yoga-slim7x.dtb x1e80100-lenovo-yoga-slim7x-el2.dtb
+x1e80100-microsoft-denali-oled-el2-dtbs := x1e80100-microsoft-denali-oled.dtb x1-el2.dtbo
+dtb-$(CONFIG_ARCH_QCOM) += x1e80100-microsoft-denali-oled.dtb x1e80100-microsoft-denali-oled-el2.dtb
x1e80100-microsoft-romulus13-el2-dtbs := x1e80100-microsoft-romulus13.dtb x1-el2.dtbo
dtb-$(CONFIG_ARCH_QCOM) += x1e80100-microsoft-romulus13.dtb x1e80100-microsoft-romulus13-el2.dtb
x1e80100-microsoft-romulus15-el2-dtbs := x1e80100-microsoft-romulus15.dtb x1-el2.dtbo
@@ -350,3 +352,5 @@ x1p42100-hp-omnibook-x14-el2-dtbs := x1p42100-hp-omnibook-x14.dtb x1-el2.dtbo
dtb-$(CONFIG_ARCH_QCOM) += x1p42100-hp-omnibook-x14.dtb x1p42100-hp-omnibook-x14-el2.dtb
x1p42100-lenovo-thinkbook-16-el2-dtbs := x1p42100-lenovo-thinkbook-16.dtb x1-el2.dtbo
dtb-$(CONFIG_ARCH_QCOM) += x1p42100-lenovo-thinkbook-16.dtb x1p42100-lenovo-thinkbook-16-el2.dtb
+x1p64100-microsoft-denali-el2-dtbs := x1p64100-microsoft-denali.dtb x1-el2.dtbo
+dtb-$(CONFIG_ARCH_QCOM) += x1p64100-microsoft-denali.dtb x1p64100-microsoft-denali-el2.dtb
diff --git a/arch/arm64/boot/dts/qcom/x1-microsoft-denali.dtsi b/arch/arm64/boot/dts/qcom/x1-microsoft-denali.dtsi
new file mode 100644
index 000000000000..64eabe2b96cf
--- /dev/null
+++ b/arch/arm64/boot/dts/qcom/x1-microsoft-denali.dtsi
@@ -0,0 +1,1338 @@
+// SPDX-License-Identifier: BSD-3-Clause
+/*
+ * Copyright (c) 2024 Qualcomm Innovation Center, Inc. All rights reserved.
+ * Copyright (c) 2025 Dale Whinham <daleyo@gmail.com>
+ */
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/input/gpio-keys.h>
+#include <dt-bindings/input/input.h>
+#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
+
+#include "x1e80100-pmics.dtsi"
+
+/ {
+ aliases {
+ serial0 = &uart2;
+ serial1 = &uart14;
+ };
+
+ gpio-keys {
+ compatible = "gpio-keys";
+
+ pinctrl-0 = <&hall_int_n_default>;
+ pinctrl-names = "default";
+
+ switch-lid {
+ gpios = <&tlmm 2 GPIO_ACTIVE_LOW>;
+ linux,input-type = <EV_SW>;
+ linux,code = <SW_LID>;
+ wakeup-source;
+ wakeup-event-action = <EV_ACT_DEASSERTED>;
+ };
+ };
+
+ pmic-glink {
+ compatible = "qcom,x1e80100-pmic-glink",
+ "qcom,sm8550-pmic-glink",
+ "qcom,pmic-glink";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ orientation-gpios = <&tlmm 121 GPIO_ACTIVE_HIGH>,
+ <&tlmm 123 GPIO_ACTIVE_HIGH>;
+
+ /* Left-side rear port */
+ connector@0 {
+ compatible = "usb-c-connector";
+ reg = <0>;
+ power-role = "dual";
+ data-role = "dual";
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+
+ pmic_glink_ss0_hs_in: endpoint {
+ remote-endpoint = <&usb_1_ss0_dwc3_hs>;
+ };
+ };
+
+ port@1 {
+ reg = <1>;
+
+ pmic_glink_ss0_ss_in: endpoint {
+ remote-endpoint = <&retimer_ss0_ss_out>;
+ };
+ };
+
+ port@2 {
+ reg = <2>;
+
+ pmic_glink_ss0_con_sbu_in: endpoint {
+ remote-endpoint = <&retimer_ss0_con_sbu_out>;
+ };
+ };
+ };
+ };
+
+ /* Left-side front port */
+ connector@1 {
+ compatible = "usb-c-connector";
+ reg = <1>;
+ power-role = "dual";
+ data-role = "dual";
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+
+ pmic_glink_ss1_hs_in: endpoint {
+ remote-endpoint = <&usb_1_ss1_dwc3_hs>;
+ };
+ };
+
+ port@1 {
+ reg = <1>;
+
+ pmic_glink_ss1_ss_in: endpoint {
+ remote-endpoint = <&retimer_ss1_ss_out>;
+ };
+ };
+
+ port@2 {
+ reg = <2>;
+
+ pmic_glink_ss1_con_sbu_in: endpoint {
+ remote-endpoint = <&retimer_ss1_con_sbu_out>;
+ };
+ };
+ };
+ };
+ };
+
+ reserved-memory {
+ linux,cma {
+ compatible = "shared-dma-pool";
+ size = <0x0 0x8000000>;
+ reusable;
+ linux,cma-default;
+ };
+ };
+
+ vreg_edp_3p3: regulator-edp-3p3 {
+ compatible = "regulator-fixed";
+
+ regulator-name = "VREG_EDP_3P3";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+
+ gpio = <&tlmm 70 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+
+ pinctrl-0 = <&edp_reg_en>;
+ pinctrl-names = "default";
+
+ regulator-boot-on;
+ };
+
+ vreg_rtmr0_1p15: regulator-rtmr0-1p15 {
+ compatible = "regulator-fixed";
+
+ regulator-name = "VREG_RTMR0_1P15";
+
+ regulator-min-microvolt = <1150000>;
+ regulator-max-microvolt = <1150000>;
+
+ gpio = <&pmc8380_5_gpios 8 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+
+ pinctrl-0 = <&rtmr0_1p15_reg_en>;
+ pinctrl-names = "default";
+
+ regulator-boot-on;
+ };
+
+ vreg_rtmr0_1p8: regulator-rtmr0-1p8 {
+ compatible = "regulator-fixed";
+
+ regulator-name = "VREG_RTMR0_1P8";
+
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+
+ gpio = <&pm8550ve_9_gpios 8 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+
+ pinctrl-0 = <&rtmr0_1p8_reg_en>;
+ pinctrl-names = "default";
+
+ regulator-boot-on;
+ };
+
+ vreg_rtmr0_3p3: regulator-rtmr0-3p3 {
+ compatible = "regulator-fixed";
+
+ regulator-name = "VREG_RTMR0_3P3";
+
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+
+ gpio = <&pm8550_gpios 11 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+
+ pinctrl-0 = <&rtmr0_3p3_reg_en>;
+ pinctrl-names = "default";
+
+ regulator-boot-on;
+ };
+
+ vreg_rtmr1_1p15: regulator-rtmr1-1p15 {
+ compatible = "regulator-fixed";
+
+ regulator-name = "VREG_RTMR1_1P15";
+
+ regulator-min-microvolt = <1150000>;
+ regulator-max-microvolt = <1150000>;
+
+ gpio = <&tlmm 188 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+
+ pinctrl-0 = <&rtmr1_1p15_reg_en>;
+ pinctrl-names = "default";
+
+ regulator-boot-on;
+ };
+
+ vreg_rtmr1_1p8: regulator-rtmr1-1p8 {
+ compatible = "regulator-fixed";
+
+ regulator-name = "VREG_RTMR1_1P8";
+
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+
+ gpio = <&tlmm 175 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+
+ pinctrl-0 = <&rtmr1_1p8_reg_en>;
+ pinctrl-names = "default";
+
+ regulator-boot-on;
+ };
+
+ vreg_rtmr1_3p3: regulator-rtmr1-3p3 {
+ compatible = "regulator-fixed";
+
+ regulator-name = "VREG_RTMR1_3P3";
+
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+
+ gpio = <&tlmm 186 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+
+ pinctrl-0 = <&rtmr1_3p3_reg_en>;
+ pinctrl-names = "default";
+
+ regulator-boot-on;
+ };
+
+ vreg_nvme: regulator-nvme {
+ compatible = "regulator-fixed";
+
+ regulator-name = "VREG_NVME_3P3";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+
+ gpio = <&tlmm 18 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+
+ pinctrl-0 = <&nvme_reg_en>;
+ pinctrl-names = "default";
+
+ regulator-boot-on;
+ };
+
+ vph_pwr: regulator-vph-pwr {
+ compatible = "regulator-fixed";
+
+ regulator-name = "vph_pwr";
+ regulator-min-microvolt = <3700000>;
+ regulator-max-microvolt = <3700000>;
+
+ regulator-always-on;
+ regulator-boot-on;
+ };
+
+ vreg_wcn_3p3: regulator-wcn-3p3 {
+ compatible = "regulator-fixed";
+
+ regulator-name = "VREG_WCN_3P3";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+
+ gpio = <&tlmm 214 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+
+ pinctrl-0 = <&wcn_sw_en>;
+ pinctrl-names = "default";
+
+ regulator-boot-on;
+ };
+
+ /*
+ * TODO: These two regulators are actually part of the removable M.2
+ * card and not the CRD mainboard. Need to describe this differently.
+ * Functionally it works correctly, because all we need to do is to
+ * turn on the actual 3.3V supply above.
+ */
+ vreg_wcn_0p95: regulator-wcn-0p95 {
+ compatible = "regulator-fixed";
+
+ regulator-name = "VREG_WCN_0P95";
+ regulator-min-microvolt = <950000>;
+ regulator-max-microvolt = <950000>;
+
+ vin-supply = <&vreg_wcn_3p3>;
+ };
+
+ vreg_wcn_1p9: regulator-wcn-1p9 {
+ compatible = "regulator-fixed";
+
+ regulator-name = "VREG_WCN_1P9";
+ regulator-min-microvolt = <1900000>;
+ regulator-max-microvolt = <1900000>;
+
+ vin-supply = <&vreg_wcn_3p3>;
+ };
+
+ sound {
+ compatible = "qcom,x1e80100-sndcard";
+ model = "X1E80100-Microsoft-Surface-Pro-11";
+ audio-routing = "SpkrLeft IN", "WSA WSA_SPK1 OUT",
+ "SpkrRight IN", "WSA WSA_SPK2 OUT",
+ "VA DMIC0", "vdd-micb",
+ "VA DMIC1", "vdd-micb";
+
+ wsa-dai-link {
+ link-name = "WSA Playback";
+
+ cpu {
+ sound-dai = <&q6apmbedai WSA_CODEC_DMA_RX_0>;
+ };
+
+ codec {
+ sound-dai = <&left_spkr>, <&right_spkr>, <&swr0 0>, <&lpass_wsamacro 0>;
+ };
+
+ platform {
+ sound-dai = <&q6apm>;
+ };
+ };
+
+ va-dai-link {
+ link-name = "VA Capture";
+
+ cpu {
+ sound-dai = <&q6apmbedai VA_CODEC_DMA_TX_0>;
+ };
+
+ codec {
+ sound-dai = <&lpass_vamacro 0>;
+ };
+
+ platform {
+ sound-dai = <&q6apm>;
+ };
+ };
+ };
+
+ wcn7850-pmu {
+ compatible = "qcom,wcn7850-pmu";
+
+ vdd-supply = <&vreg_wcn_0p95>;
+ vddio-supply = <&vreg_l15b_1p8>;
+ vddaon-supply = <&vreg_wcn_0p95>;
+ vdddig-supply = <&vreg_wcn_0p95>;
+ vddrfa1p2-supply = <&vreg_wcn_1p9>;
+ vddrfa1p8-supply = <&vreg_wcn_1p9>;
+
+ wlan-enable-gpios = <&tlmm 117 GPIO_ACTIVE_HIGH>;
+ bt-enable-gpios = <&tlmm 116 GPIO_ACTIVE_HIGH>;
+
+ pinctrl-0 = <&wcn_wlan_bt_en>;
+ pinctrl-names = "default";
+
+ regulators {
+ vreg_pmu_rfa_cmn: ldo0 {
+ regulator-name = "vreg_pmu_rfa_cmn";
+ };
+
+ vreg_pmu_aon_0p59: ldo1 {
+ regulator-name = "vreg_pmu_aon_0p59";
+ };
+
+ vreg_pmu_wlcx_0p8: ldo2 {
+ regulator-name = "vreg_pmu_wlcx_0p8";
+ };
+
+ vreg_pmu_wlmx_0p85: ldo3 {
+ regulator-name = "vreg_pmu_wlmx_0p85";
+ };
+
+ vreg_pmu_btcmx_0p85: ldo4 {
+ regulator-name = "vreg_pmu_btcmx_0p85";
+ };
+
+ vreg_pmu_rfa_0p8: ldo5 {
+ regulator-name = "vreg_pmu_rfa_0p8";
+ };
+
+ vreg_pmu_rfa_1p2: ldo6 {
+ regulator-name = "vreg_pmu_rfa_1p2";
+ };
+
+ vreg_pmu_rfa_1p8: ldo7 {
+ regulator-name = "vreg_pmu_rfa_1p8";
+ };
+
+ vreg_pmu_pcie_0p9: ldo8 {
+ regulator-name = "vreg_pmu_pcie_0p9";
+ };
+
+ vreg_pmu_pcie_1p8: ldo9 {
+ regulator-name = "vreg_pmu_pcie_1p8";
+ };
+ };
+ };
+};
+
+&apps_rsc {
+ regulators-0 {
+ compatible = "qcom,pm8550-rpmh-regulators";
+ qcom,pmic-id = "b";
+
+ vdd-bob1-supply = <&vph_pwr>;
+ vdd-bob2-supply = <&vph_pwr>;
+ vdd-l1-l4-l10-supply = <&vreg_s4c_1p8>;
+ vdd-l2-l13-l14-supply = <&vreg_bob1>;
+ vdd-l5-l16-supply = <&vreg_bob1>;
+ vdd-l6-l7-supply = <&vreg_bob2>;
+ vdd-l8-l9-supply = <&vreg_bob1>;
+ vdd-l12-supply = <&vreg_s5j_1p2>;
+ vdd-l15-supply = <&vreg_s4c_1p8>;
+ vdd-l17-supply = <&vreg_bob2>;
+
+ vreg_bob1: bob1 {
+ regulator-name = "vreg_bob1";
+ regulator-min-microvolt = <3008000>;
+ regulator-max-microvolt = <3960000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_bob2: bob2 {
+ regulator-name = "vreg_bob2";
+ regulator-min-microvolt = <2504000>;
+ regulator-max-microvolt = <3008000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l1b_1p8: ldo1 {
+ regulator-name = "vreg_l1b_1p8";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l2b_3p0: ldo2 {
+ regulator-name = "vreg_l2b_3p0";
+ regulator-min-microvolt = <3072000>;
+ regulator-max-microvolt = <3072000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l4b_1p8: ldo4 {
+ regulator-name = "vreg_l4b_1p8";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l6b_1p8: ldo6 {
+ regulator-name = "vreg_l6b_1p8";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <2960000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l8b_3p0: ldo8 {
+ regulator-name = "vreg_l8b_3p0";
+ regulator-min-microvolt = <3072000>;
+ regulator-max-microvolt = <3072000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l9b_2p9: ldo9 {
+ regulator-name = "vreg_l9b_2p9";
+ regulator-min-microvolt = <2960000>;
+ regulator-max-microvolt = <2960000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l10b_1p8: ldo10 {
+ regulator-name = "vreg_l10b_1p8";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l12b_1p2: ldo12 {
+ regulator-name = "vreg_l12b_1p2";
+ regulator-min-microvolt = <1200000>;
+ regulator-max-microvolt = <1200000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l13b_3p0: ldo13 {
+ regulator-name = "vreg_l13b_3p0";
+ regulator-min-microvolt = <3072000>;
+ regulator-max-microvolt = <3072000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l14b_3p0: ldo14 {
+ regulator-name = "vreg_l14b_3p0";
+ regulator-min-microvolt = <3072000>;
+ regulator-max-microvolt = <3072000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l15b_1p8: ldo15 {
+ regulator-name = "vreg_l15b_1p8";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l17b_2p5: ldo17 {
+ regulator-name = "vreg_l17b_2p5";
+ regulator-min-microvolt = <2504000>;
+ regulator-max-microvolt = <2504000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+ };
+
+ regulators-1 {
+ compatible = "qcom,pm8550ve-rpmh-regulators";
+ qcom,pmic-id = "c";
+
+ vdd-l1-supply = <&vreg_s5j_1p2>;
+ vdd-l2-supply = <&vreg_s1f_0p7>;
+ vdd-l3-supply = <&vreg_s1f_0p7>;
+ vdd-s4-supply = <&vph_pwr>;
+
+ vreg_s4c_1p8: smps4 {
+ regulator-name = "vreg_s4c_1p8";
+ regulator-min-microvolt = <1856000>;
+ regulator-max-microvolt = <2000000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l1c_1p2: ldo1 {
+ regulator-name = "vreg_l1c_1p2";
+ regulator-min-microvolt = <1200000>;
+ regulator-max-microvolt = <1200000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l2c_0p8: ldo2 {
+ regulator-name = "vreg_l2c_0p8";
+ regulator-min-microvolt = <880000>;
+ regulator-max-microvolt = <880000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l3c_0p8: ldo3 {
+ regulator-name = "vreg_l3c_0p8";
+ regulator-min-microvolt = <912000>;
+ regulator-max-microvolt = <912000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+ };
+
+ regulators-2 {
+ compatible = "qcom,pmc8380-rpmh-regulators";
+ qcom,pmic-id = "d";
+
+ vdd-l1-supply = <&vreg_s1f_0p7>;
+ vdd-l2-supply = <&vreg_s1f_0p7>;
+ vdd-l3-supply = <&vreg_s4c_1p8>;
+ vdd-s1-supply = <&vph_pwr>;
+
+ vreg_l1d_0p8: ldo1 {
+ regulator-name = "vreg_l1d_0p8";
+ regulator-min-microvolt = <880000>;
+ regulator-max-microvolt = <880000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l2d_0p9: ldo2 {
+ regulator-name = "vreg_l2d_0p9";
+ regulator-min-microvolt = <912000>;
+ regulator-max-microvolt = <912000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l3d_1p8: ldo3 {
+ regulator-name = "vreg_l3d_1p8";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+ };
+
+ regulators-3 {
+ compatible = "qcom,pmc8380-rpmh-regulators";
+ qcom,pmic-id = "e";
+
+ vdd-l2-supply = <&vreg_s1f_0p7>;
+ vdd-l3-supply = <&vreg_s5j_1p2>;
+
+ vreg_l2e_0p8: ldo2 {
+ regulator-name = "vreg_l2e_0p8";
+ regulator-min-microvolt = <880000>;
+ regulator-max-microvolt = <880000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l3e_1p2: ldo3 {
+ regulator-name = "vreg_l3e_1p2";
+ regulator-min-microvolt = <1200000>;
+ regulator-max-microvolt = <1200000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+ };
+
+ regulators-4 {
+ compatible = "qcom,pmc8380-rpmh-regulators";
+ qcom,pmic-id = "f";
+
+ vdd-l1-supply = <&vreg_s5j_1p2>;
+ vdd-l2-supply = <&vreg_s5j_1p2>;
+ vdd-l3-supply = <&vreg_s5j_1p2>;
+ vdd-s1-supply = <&vph_pwr>;
+
+ vreg_s1f_0p7: smps1 {
+ regulator-name = "vreg_s1f_0p7";
+ regulator-min-microvolt = <700000>;
+ regulator-max-microvolt = <1100000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+ };
+
+ regulators-6 {
+ compatible = "qcom,pm8550ve-rpmh-regulators";
+ qcom,pmic-id = "i";
+
+ vdd-l1-supply = <&vreg_s4c_1p8>;
+ vdd-l2-supply = <&vreg_s5j_1p2>;
+ vdd-l3-supply = <&vreg_s1f_0p7>;
+ vdd-s1-supply = <&vph_pwr>;
+ vdd-s2-supply = <&vph_pwr>;
+
+ vreg_s1i_0p9: smps1 {
+ regulator-name = "vreg_s1i_0p9";
+ regulator-min-microvolt = <900000>;
+ regulator-max-microvolt = <920000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_s2i_1p0: smps2 {
+ regulator-name = "vreg_s2i_1p0";
+ regulator-min-microvolt = <1000000>;
+ regulator-max-microvolt = <1100000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l1i_1p8: ldo1 {
+ regulator-name = "vreg_l1i_1p8";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l2i_1p2: ldo2 {
+ regulator-name = "vreg_l2i_1p2";
+ regulator-min-microvolt = <1200000>;
+ regulator-max-microvolt = <1200000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l3i_0p8: ldo3 {
+ regulator-name = "vreg_l3i_0p8";
+ regulator-min-microvolt = <880000>;
+ regulator-max-microvolt = <880000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+ };
+
+ regulators-7 {
+ compatible = "qcom,pm8550ve-rpmh-regulators";
+ qcom,pmic-id = "j";
+
+ vdd-l1-supply = <&vreg_s1f_0p7>;
+ vdd-l2-supply = <&vreg_s5j_1p2>;
+ vdd-l3-supply = <&vreg_s1f_0p7>;
+ vdd-s5-supply = <&vph_pwr>;
+
+ vreg_s5j_1p2: smps5 {
+ regulator-name = "vreg_s5j_1p2";
+ regulator-min-microvolt = <1256000>;
+ regulator-max-microvolt = <1304000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l1j_0p8: ldo1 {
+ regulator-name = "vreg_l1j_0p8";
+ regulator-min-microvolt = <912000>;
+ regulator-max-microvolt = <912000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l2j_1p2: ldo2 {
+ regulator-name = "vreg_l2j_1p2";
+ regulator-min-microvolt = <1256000>;
+ regulator-max-microvolt = <1256000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l3j_0p8: ldo3 {
+ regulator-name = "vreg_l3j_0p8";
+ regulator-min-microvolt = <880000>;
+ regulator-max-microvolt = <880000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+ };
+};
+
+&gpu {
+ status = "okay";
+
+ zap-shader {
+ memory-region = <&gpu_microcode_mem>;
+ firmware-name = "qcom/x1e80100/microsoft/qcdxkmsuc8380.mbn";
+ };
+};
+
+&i2c0 {
+ clock-frequency = <400000>;
+
+ status = "disabled";
+};
+
+&i2c3 {
+ clock-frequency = <400000>;
+
+ status = "okay";
+
+ /* Left-side rear port */
+ typec-mux@8 {
+ compatible = "parade,ps8830";
+ reg = <0x8>;
+
+ reset-gpios = <&pm8550_gpios 10 GPIO_ACTIVE_LOW>;
+
+ clocks = <&rpmhcc RPMH_RF_CLK3>;
+
+ vdd-supply = <&vreg_rtmr0_1p15>;
+ vdd33-supply = <&vreg_rtmr0_3p3>;
+ vdd33-cap-supply = <&vreg_rtmr0_3p3>;
+ vddar-supply = <&vreg_rtmr0_1p15>;
+ vddat-supply = <&vreg_rtmr0_1p15>;
+ vddio-supply = <&vreg_rtmr0_1p8>;
+
+ pinctrl-0 = <&rtmr0_default>;
+ pinctrl-names = "default";
+
+ retimer-switch;
+ orientation-switch;
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+
+ retimer_ss0_ss_out: endpoint {
+ remote-endpoint = <&pmic_glink_ss0_ss_in>;
+ };
+ };
+
+ port@1 {
+ reg = <1>;
+
+ retimer_ss0_ss_in: endpoint {
+ remote-endpoint = <&usb_1_ss0_qmpphy_out>;
+ };
+ };
+
+ port@2 {
+ reg = <2>;
+
+ retimer_ss0_con_sbu_out: endpoint {
+ remote-endpoint = <&pmic_glink_ss0_con_sbu_in>;
+ };
+ };
+ };
+ };
+};
+
+&i2c4 {
+ clock-frequency = <400000>;
+
+ status = "disabled";
+};
+
+&i2c5 {
+ clock-frequency = <400000>;
+
+ status = "disabled";
+};
+
+&i2c7 {
+ clock-frequency = <400000>;
+
+ status = "okay";
+
+ /* Left-side front port */
+ typec-mux@8 {
+ compatible = "parade,ps8830";
+ reg = <0x8>;
+
+ reset-gpios = <&tlmm 176 GPIO_ACTIVE_LOW>;
+
+ clocks = <&rpmhcc RPMH_RF_CLK4>;
+
+ vdd-supply = <&vreg_rtmr1_1p15>;
+ vdd33-supply = <&vreg_rtmr1_3p3>;
+ vdd33-cap-supply = <&vreg_rtmr1_3p3>;
+ vddar-supply = <&vreg_rtmr1_1p15>;
+ vddat-supply = <&vreg_rtmr1_1p15>;
+ vddio-supply = <&vreg_rtmr1_1p8>;
+
+ retimer-switch;
+ orientation-switch;
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+
+ retimer_ss1_ss_out: endpoint {
+ remote-endpoint = <&pmic_glink_ss1_ss_in>;
+ };
+ };
+
+ port@1 {
+ reg = <1>;
+
+ retimer_ss1_ss_in: endpoint {
+ remote-endpoint = <&usb_1_ss1_qmpphy_out>;
+ };
+ };
+
+ port@2 {
+ reg = <2>;
+
+ retimer_ss1_con_sbu_out: endpoint {
+ remote-endpoint = <&pmic_glink_ss1_con_sbu_in>;
+ };
+ };
+ };
+ };
+};
+
+&lpass_tlmm {
+ spkr_01_sd_n_active: spkr-01-sd-n-active-state {
+ pins = "gpio12";
+ function = "gpio";
+ drive-strength = <16>;
+ bias-disable;
+ output-low;
+ };
+
+ spkr_23_sd_n_active: spkr-23-sd-n-active-state {
+ pins = "gpio13";
+ function = "gpio";
+ drive-strength = <16>;
+ bias-disable;
+ output-low;
+ };
+};
+
+&lpass_vamacro {
+ pinctrl-0 = <&dmic01_default>, <&dmic23_default>;
+ pinctrl-names = "default";
+
+ vdd-micb-supply = <&vreg_l1b_1p8>;
+ qcom,dmic-sample-rate = <4800000>;
+};
+
+&mdss {
+ status = "okay";
+};
+
+&mdss_dp0 {
+ status = "okay";
+};
+
+&mdss_dp0_out {
+ link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000 8100000000>;
+};
+
+&mdss_dp1 {
+ status = "okay";
+};
+
+&mdss_dp1_out {
+ link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000 8100000000>;
+};
+
+&mdss_dp3 {
+ compatible = "qcom,x1e80100-dp";
+ /delete-property/ #sound-dai-cells;
+
+ status = "okay";
+
+ aux-bus {
+ panel: panel {
+ compatible = "edp-panel";
+ enable-gpios = <&pmc8380_3_gpios 4 GPIO_ACTIVE_HIGH>;
+ power-supply = <&vreg_edp_3p3>;
+
+ pinctrl-0 = <&edp_bl_en>;
+ pinctrl-names = "default";
+
+ port {
+ edp_panel_in: endpoint {
+ remote-endpoint = <&mdss_dp3_out>;
+ };
+ };
+ };
+ };
+
+ ports {
+ port@1 {
+ reg = <1>;
+
+ mdss_dp3_out: endpoint {
+ data-lanes = <0 1 2 3>;
+ link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000 8100000000>;
+
+ remote-endpoint = <&edp_panel_in>;
+ };
+ };
+ };
+};
+
+&mdss_dp3_phy {
+ vdda-phy-supply = <&vreg_l3j_0p8>;
+ vdda-pll-supply = <&vreg_l2j_1p2>;
+
+ status = "okay";
+};
+
+&pcie4 {
+ status = "okay";
+};
+
+&pcie4_phy {
+ vdda-phy-supply = <&vreg_l3i_0p8>;
+ vdda-pll-supply = <&vreg_l3e_1p2>;
+
+ status = "okay";
+};
+
+&pcie4_port0 {
+ wifi@0 {
+ compatible = "pci17cb,1107";
+ reg = <0x10000 0x0 0x0 0x0 0x0>;
+
+ vddaon-supply = <&vreg_pmu_aon_0p59>;
+ vddwlcx-supply = <&vreg_pmu_wlcx_0p8>;
+ vddwlmx-supply = <&vreg_pmu_wlmx_0p85>;
+ vddrfacmn-supply = <&vreg_pmu_rfa_cmn>;
+ vddrfa0p8-supply = <&vreg_pmu_rfa_0p8>;
+ vddrfa1p2-supply = <&vreg_pmu_rfa_1p2>;
+ vddrfa1p8-supply = <&vreg_pmu_rfa_1p8>;
+ vddpcie0p9-supply = <&vreg_pmu_pcie_0p9>;
+ vddpcie1p8-supply = <&vreg_pmu_pcie_1p8>;
+ };
+};
+
+&pcie6a {
+ perst-gpios = <&tlmm 152 GPIO_ACTIVE_LOW>;
+ wake-gpios = <&tlmm 154 GPIO_ACTIVE_LOW>;
+
+ vddpe-3v3-supply = <&vreg_nvme>;
+
+ pinctrl-0 = <&pcie6a_default>;
+ pinctrl-names = "default";
+
+ status = "okay";
+};
+
+&pcie6a_phy {
+ vdda-phy-supply = <&vreg_l1d_0p8>;
+ vdda-pll-supply = <&vreg_l2j_1p2>;
+
+ status = "okay";
+};
+
+&pm8550_gpios {
+ rtmr0_default: rtmr0-reset-n-active-state {
+ pins = "gpio10";
+ function = "normal";
+ power-source = <1>; /* 1.8V */
+ };
+
+ rtmr0_3p3_reg_en: rtmr0-3p3-reg-en-state {
+ pins = "gpio11";
+ function = "normal";
+ power-source = <1>; /* 1.8V */
+ };
+};
+
+&pm8550ve_9_gpios {
+ rtmr0_1p8_reg_en: rtmr0-1p8-reg-en-state {
+ pins = "gpio8";
+ function = "normal";
+ power-source = <1>; /* 1.8V */
+ };
+};
+
+&pmc8380_3_gpios {
+ edp_bl_en: edp-bl-en-state {
+ pins = "gpio4";
+ function = "normal";
+ power-source = <1>; /* 1.8V */
+ input-disable;
+ output-enable;
+ };
+};
+
+&pmc8380_5_gpios {
+ rtmr0_1p15_reg_en: rtmr0-1p15-reg-en-state {
+ pins = "gpio8";
+ function = "normal";
+ power-source = <1>; /* 1.8V */
+ };
+};
+
+&qupv3_0 {
+ status = "okay";
+};
+
+&qupv3_1 {
+ status = "okay";
+};
+
+&qupv3_2 {
+ status = "okay";
+};
+
+&remoteproc_adsp {
+ firmware-name = "qcom/x1e80100/microsoft/Denali/qcadsp8380.mbn",
+ "qcom/x1e80100/microsoft/Denali/adsp_dtb.mbn";
+
+ status = "okay";
+};
+
+&remoteproc_cdsp {
+ firmware-name = "qcom/x1e80100/microsoft/Denali/qccdsp8380.mbn",
+ "qcom/x1e80100/microsoft/Denali/cdsp_dtb.mbn";
+
+ status = "okay";
+};
+
+&smb2360_0 {
+ status = "okay";
+};
+
+&smb2360_0_eusb2_repeater {
+ vdd18-supply = <&vreg_l3d_1p8>;
+ vdd3-supply = <&vreg_l2b_3p0>;
+};
+
+&smb2360_1 {
+ status = "okay";
+};
+
+&smb2360_1_eusb2_repeater {
+ vdd18-supply = <&vreg_l3d_1p8>;
+ vdd3-supply = <&vreg_l14b_3p0>;
+};
+
+&smb2360_2 {
+ status = "okay";
+};
+
+&smb2360_2_eusb2_repeater {
+ vdd18-supply = <&vreg_l3d_1p8>;
+ vdd3-supply = <&vreg_l8b_3p0>;
+};
+
+&swr0 {
+ status = "okay";
+
+ pinctrl-0 = <&wsa_swr_active>, <&spkr_01_sd_n_active>;
+ pinctrl-names = "default";
+
+ /* WSA8845, Left Speaker */
+ left_spkr: speaker@0,0 {
+ compatible = "sdw20217020400";
+ reg = <0 0>;
+ reset-gpios = <&lpass_tlmm 12 GPIO_ACTIVE_LOW>;
+ #sound-dai-cells = <0>;
+ sound-name-prefix = "SpkrLeft";
+ vdd-1p8-supply = <&vreg_l15b_1p8>;
+ vdd-io-supply = <&vreg_l12b_1p2>;
+ qcom,port-mapping = <1 2 3 7 10 13>;
+ };
+
+ /* WSA8845, Right Speaker */
+ right_spkr: speaker@0,1 {
+ compatible = "sdw20217020400";
+ reg = <0 1>;
+ reset-gpios = <&lpass_tlmm 12 GPIO_ACTIVE_LOW>;
+ #sound-dai-cells = <0>;
+ sound-name-prefix = "SpkrRight";
+ vdd-1p8-supply = <&vreg_l15b_1p8>;
+ vdd-io-supply = <&vreg_l12b_1p2>;
+ qcom,port-mapping = <4 5 6 7 11 13>;
+ };
+};
+
+&tlmm {
+ gpio-reserved-ranges = <44 4>, /* SPI (TPM) */
+ <238 1>; /* UFS Reset */
+
+ hall_int_n_default: hall-int-n-state {
+ pins = "gpio2";
+ function = "gpio";
+ bias-disable;
+ };
+
+ nvme_reg_en: nvme-reg-en-state {
+ pins = "gpio18";
+ function = "gpio";
+ drive-strength = <2>;
+ bias-disable;
+ };
+
+ edp_reg_en: edp-reg-en-state {
+ pins = "gpio70";
+ function = "gpio";
+ drive-strength = <16>;
+ bias-disable;
+ };
+
+ ssam_state: ssam-state-state {
+ pins = "gpio91";
+ function = "gpio";
+ bias-disable;
+ };
+
+ pcie4_default: pcie4-default-state {
+ clkreq-n-pins {
+ pins = "gpio147";
+ function = "pcie4_clk";
+ drive-strength = <2>;
+ bias-pull-up;
+ };
+
+ perst-n-pins {
+ pins = "gpio146";
+ function = "gpio";
+ drive-strength = <2>;
+ bias-disable;
+ };
+
+ wake-n-pins {
+ pins = "gpio148";
+ function = "gpio";
+ drive-strength = <2>;
+ bias-pull-up;
+ };
+ };
+
+ pcie6a_default: pcie6a-default-state {
+ perst-n-pins {
+ pins = "gpio152";
+ function = "gpio";
+ drive-strength = <2>;
+ bias-disable;
+ };
+
+ clkreq-n-pins {
+ pins = "gpio153";
+ function = "pcie6a_clk";
+ drive-strength = <2>;
+ bias-pull-up;
+ };
+
+ wake-n-pins {
+ pins = "gpio154";
+ function = "gpio";
+ drive-strength = <2>;
+ bias-pull-up;
+ };
+ };
+
+ rtmr1_1p8_reg_en: rtmr1-1p8-reg-en-state {
+ pins = "gpio175";
+ function = "gpio";
+ drive-strength = <2>;
+ bias-disable;
+ };
+
+ rtmr1_3p3_reg_en: rtmr1-3p3-reg-en-state {
+ pins = "gpio186";
+ function = "gpio";
+ drive-strength = <2>;
+ bias-disable;
+ };
+
+ rtmr1_1p15_reg_en: rtmr1-1p15-reg-en-state {
+ pins = "gpio188";
+ function = "gpio";
+ drive-strength = <2>;
+ bias-disable;
+ };
+
+ cam_indicator_en: cam-indicator-en-state {
+ pins = "gpio225";
+ function = "gpio";
+ drive-strength = <2>;
+ bias-disable;
+ };
+
+ wcn_sw_en: wcn-sw-en-state {
+ pins = "gpio214";
+ function = "gpio";
+ drive-strength = <2>;
+ bias-disable;
+ };
+
+ wcn_wlan_bt_en: wcn-wlan-bt-en-state {
+ pins = "gpio116", "gpio117";
+ function = "gpio";
+ drive-strength = <2>;
+ bias-disable;
+ };
+};
+
+&uart2 {
+ status = "okay";
+
+ embedded-controller {
+ compatible = "microsoft,surface-sam";
+
+ interrupts-extended = <&tlmm 91 IRQ_TYPE_EDGE_RISING>;
+
+ current-speed = <4000000>;
+
+ pinctrl-0 = <&ssam_state>;
+ pinctrl-names = "default";
+ };
+};
+
+&uart14 {
+ status = "okay";
+
+ bluetooth {
+ compatible = "qcom,wcn7850-bt";
+ max-speed = <3200000>;
+
+ vddaon-supply = <&vreg_pmu_aon_0p59>;
+ vddwlcx-supply = <&vreg_pmu_wlcx_0p8>;
+ vddwlmx-supply = <&vreg_pmu_wlmx_0p85>;
+ vddrfacmn-supply = <&vreg_pmu_rfa_cmn>;
+ vddrfa0p8-supply = <&vreg_pmu_rfa_0p8>;
+ vddrfa1p2-supply = <&vreg_pmu_rfa_1p2>;
+ vddrfa1p8-supply = <&vreg_pmu_rfa_1p8>;
+ };
+};
+
+&usb_1_ss0_hsphy {
+ vdd-supply = <&vreg_l3j_0p8>;
+ vdda12-supply = <&vreg_l2j_1p2>;
+
+ phys = <&smb2360_0_eusb2_repeater>;
+
+ status = "okay";
+};
+
+&usb_1_ss0_qmpphy {
+ vdda-phy-supply = <&vreg_l2j_1p2>;
+ vdda-pll-supply = <&vreg_l1j_0p8>;
+
+ status = "okay";
+};
+
+&usb_1_ss0 {
+ status = "okay";
+};
+
+&usb_1_ss0_dwc3 {
+ dr_mode = "host";
+};
+
+&usb_1_ss0_dwc3_hs {
+ remote-endpoint = <&pmic_glink_ss0_hs_in>;
+};
+
+&usb_1_ss0_qmpphy_out {
+ remote-endpoint = <&retimer_ss0_ss_in>;
+};
+
+&usb_1_ss1_hsphy {
+ vdd-supply = <&vreg_l3j_0p8>;
+ vdda12-supply = <&vreg_l2j_1p2>;
+
+ phys = <&smb2360_1_eusb2_repeater>;
+
+ status = "okay";
+};
+
+&usb_1_ss1_qmpphy {
+ vdda-phy-supply = <&vreg_l2j_1p2>;
+ vdda-pll-supply = <&vreg_l2d_0p9>;
+
+ status = "okay";
+};
+
+&usb_1_ss1 {
+ status = "okay";
+};
+
+&usb_1_ss1_dwc3 {
+ dr_mode = "host";
+};
+
+&usb_1_ss1_dwc3_hs {
+ remote-endpoint = <&pmic_glink_ss1_hs_in>;
+};
+
+&usb_1_ss1_qmpphy_out {
+ remote-endpoint = <&retimer_ss1_ss_in>;
+};
diff --git a/arch/arm64/boot/dts/qcom/x1e80100-microsoft-denali-oled.dts b/arch/arm64/boot/dts/qcom/x1e80100-microsoft-denali-oled.dts
new file mode 100644
index 000000000000..f7159eef1d85
--- /dev/null
+++ b/arch/arm64/boot/dts/qcom/x1e80100-microsoft-denali-oled.dts
@@ -0,0 +1,20 @@
+// SPDX-License-Identifier: BSD-3-Clause
+/*
+ * Copyright (c) 2024 Qualcomm Innovation Center, Inc. All rights reserved.
+ * Copyright (c) 2025 Dale Whinham <daleyo@gmail.com>
+ */
+
+/dts-v1/;
+
+#include "x1e80100.dtsi"
+#include "x1-microsoft-denali.dtsi"
+
+/ {
+ model = "Microsoft Surface Pro 11th Edition (OLED)";
+ compatible = "microsoft,denali-oled", "microsoft,denali",
+ "qcom,x1e80100";
+};
+
+&panel {
+ compatible = "samsung,atna30dw01", "samsung,atna33xc20";
+};
diff --git a/arch/arm64/boot/dts/qcom/x1p64100-microsoft-denali.dts b/arch/arm64/boot/dts/qcom/x1p64100-microsoft-denali.dts
new file mode 100644
index 000000000000..7c064ad49395
--- /dev/null
+++ b/arch/arm64/boot/dts/qcom/x1p64100-microsoft-denali.dts
@@ -0,0 +1,16 @@
+// SPDX-License-Identifier: BSD-3-Clause
+/*
+ * Copyright (c) 2024 Qualcomm Innovation Center, Inc. All rights reserved.
+ * Copyright (c) 2025 Dale Whinham <daleyo@gmail.com>
+ */
+
+/dts-v1/;
+
+#include "x1e80100.dtsi"
+#include "x1-microsoft-denali.dtsi"
+
+/ {
+ model = "Microsoft Surface Pro 11th Edition (LCD)";
+ compatible = "microsoft,denali-lcd", "microsoft,denali",
+ "qcom,x1p64100", "qcom,x1e80100";
+};
--
2.52.0
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH v2 5/8] drm/msm/dp: Add dpcd link_rate quirk for Surface Pro 11 OLED
2025-12-01 1:14 [PATCH v2 0/8] Microsoft Surface Pro 11 support Dale Whinham
` (2 preceding siblings ...)
2025-12-01 1:14 ` [PATCH v2 4/8] arm64: dts: qcom: Add support for " Dale Whinham
@ 2025-12-01 1:14 ` Dale Whinham
2025-12-04 9:46 ` Dmitry Baryshkov
2025-12-01 1:14 ` [PATCH v2 8/8] arm64: dts: qcom: x1-microsoft-denali: Disable rfkill for wifi0 Dale Whinham
2025-12-01 12:27 ` [PATCH v2 0/8] Microsoft Surface Pro 11 support Rob Herring
5 siblings, 1 reply; 17+ messages in thread
From: Dale Whinham @ 2025-12-01 1:14 UTC (permalink / raw)
To: Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, David Airlie,
Simona Vetter, Rob Clark, Dmitry Baryshkov, Abhinav Kumar,
Jessica Zhang, Sean Paul, Marijn Suijten
Cc: Jérôme de Bretagne, Dale Whinham, dri-devel,
linux-kernel, linux-arm-msm, freedreno
From: Jérôme de Bretagne <jerome.debretagne@gmail.com>
The Samsung ATNA30DW01-1 OLED panel in Microsoft Surface Pro 11 (Denali)
reports a max link rate value of 0 in the DPCD register, causing the
panel to fail to probe.
Add a quirk for this panel during DPCD read to set the max link rate
to 8.1Gbps (HBR3), which is the expected value as reported by the
"EDPOverrideDPCDCaps" block found in the DSDT (0x1E).
Signed-off-by: Jérôme de Bretagne <jerome.debretagne@gmail.com>
Tested-by: Dale Whinham <daleyo@gmail.com>
---
drivers/gpu/drm/display/drm_dp_helper.c | 2 ++
drivers/gpu/drm/msm/dp/dp_panel.c | 14 ++++++++++++++
include/drm/display/drm_dp_helper.h | 7 +++++++
3 files changed, 23 insertions(+)
diff --git a/drivers/gpu/drm/display/drm_dp_helper.c b/drivers/gpu/drm/display/drm_dp_helper.c
index 4aaeae4fa03c..a533fbb2988d 100644
--- a/drivers/gpu/drm/display/drm_dp_helper.c
+++ b/drivers/gpu/drm/display/drm_dp_helper.c
@@ -2543,6 +2543,8 @@ static const struct dpcd_quirk dpcd_quirk_list[] = {
{ OUI(0x00, 0x0C, 0xE7), DEVICE_ID_ANY, false, BIT(DP_DPCD_QUIRK_HBLANK_EXPANSION_REQUIRES_DSC) },
/* Apple MacBookPro 2017 15 inch eDP Retina panel reports too low DP_MAX_LINK_RATE */
{ OUI(0x00, 0x10, 0xfa), DEVICE_ID(101, 68, 21, 101, 98, 97), false, BIT(DP_DPCD_QUIRK_CAN_DO_MAX_LINK_RATE_3_24_GBPS) },
+ /* Samsung ATNA30DW01-1 OLED panel in Microsoft Surface Pro 11 reports a DP_MAX_LINK_RATE of 0 */
+ { OUI(0xBA, 0x41, 0x59), DEVICE_ID_ANY, false, BIT(DP_DPCD_QUIRK_CAN_DO_MAX_LINK_RATE_8_1_GBPS) },
};
#undef OUI
diff --git a/drivers/gpu/drm/msm/dp/dp_panel.c b/drivers/gpu/drm/msm/dp/dp_panel.c
index 15b7f6c7146e..6bcfefd457c4 100644
--- a/drivers/gpu/drm/msm/dp/dp_panel.c
+++ b/drivers/gpu/drm/msm/dp/dp_panel.c
@@ -91,6 +91,7 @@ static int msm_dp_panel_read_dpcd(struct msm_dp_panel *msm_dp_panel)
int rc, max_lttpr_lanes, max_lttpr_rate;
struct msm_dp_panel_private *panel;
struct msm_dp_link_info *link_info;
+ struct drm_dp_desc desc;
u8 *dpcd, major, minor;
panel = container_of(msm_dp_panel, struct msm_dp_panel_private, msm_dp_panel);
@@ -99,6 +100,19 @@ static int msm_dp_panel_read_dpcd(struct msm_dp_panel *msm_dp_panel)
if (rc)
return rc;
+ rc = drm_dp_read_desc(panel->aux, &desc, drm_dp_is_branch(dpcd));
+ if (rc)
+ return rc;
+
+ /*
+ * for some reason the ATNA30DW01-1 OLED panel in Microsoft Surface Pro 11
+ * reports a max link rate of 0 in the DPCD register. Fix this to match the
+ * EDPOverrideDPCDCaps value (0x1E) found in the ACPI DSDT
+ */
+ if (drm_dp_has_quirk(&desc, DP_DPCD_QUIRK_CAN_DO_MAX_LINK_RATE_8_1_GBPS)) {
+ dpcd[1] = DP_LINK_BW_8_1;
+ }
+
msm_dp_panel->vsc_sdp_supported = drm_dp_vsc_sdp_supported(panel->aux, dpcd);
link_info = &msm_dp_panel->link_info;
link_info->revision = dpcd[DP_DPCD_REV];
diff --git a/include/drm/display/drm_dp_helper.h b/include/drm/display/drm_dp_helper.h
index 87caa4f1fdb8..737ec5317666 100644
--- a/include/drm/display/drm_dp_helper.h
+++ b/include/drm/display/drm_dp_helper.h
@@ -820,6 +820,13 @@ enum drm_dp_quirk {
* requires enabling DSC.
*/
DP_DPCD_QUIRK_HBLANK_EXPANSION_REQUIRES_DSC,
+ /**
+ * @DP_DPCD_QUIRK_CAN_DO_MAX_LINK_RATE_8_1_GBPS:
+ *
+ * The device supports a link rate of 8.1 Gbps / HBR3 (0x1e) despite
+ * the DP_MAX_LINK_RATE register reporting a lower max multiplier.
+ */
+ DP_DPCD_QUIRK_CAN_DO_MAX_LINK_RATE_8_1_GBPS,
};
/**
--
2.52.0
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH v2 8/8] arm64: dts: qcom: x1-microsoft-denali: Disable rfkill for wifi0
2025-12-01 1:14 [PATCH v2 0/8] Microsoft Surface Pro 11 support Dale Whinham
` (3 preceding siblings ...)
2025-12-01 1:14 ` [PATCH v2 5/8] drm/msm/dp: Add dpcd link_rate quirk for Surface Pro 11 OLED Dale Whinham
@ 2025-12-01 1:14 ` Dale Whinham
2025-12-01 7:35 ` Krzysztof Kozlowski
2025-12-01 12:27 ` [PATCH v2 0/8] Microsoft Surface Pro 11 support Rob Herring
5 siblings, 1 reply; 17+ messages in thread
From: Dale Whinham @ 2025-12-01 1:14 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley
Cc: Jérôme de Bretagne, Dale Whinham, linux-arm-msm,
devicetree, linux-kernel
Disable rfkill as it is supposed to be according to the ath12k feature
flags in the Microsoft Surface Pro 11 ACPI DSDT.
Signed-off-by: Dale Whinham <daleyo@gmail.com>
Signed-off-by: Jérôme de Bretagne <jerome.debretagne@gmail.com>
---
arch/arm64/boot/dts/qcom/x1-microsoft-denali.dtsi | 2 ++
1 file changed, 2 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/x1-microsoft-denali.dtsi b/arch/arm64/boot/dts/qcom/x1-microsoft-denali.dtsi
index 64eabe2b96cf..0bde0db01f47 100644
--- a/arch/arm64/boot/dts/qcom/x1-microsoft-denali.dtsi
+++ b/arch/arm64/boot/dts/qcom/x1-microsoft-denali.dtsi
@@ -976,6 +976,8 @@ wifi@0 {
vddrfa1p8-supply = <&vreg_pmu_rfa_1p8>;
vddpcie0p9-supply = <&vreg_pmu_pcie_0p9>;
vddpcie1p8-supply = <&vreg_pmu_pcie_1p8>;
+
+ disable-rfkill;
};
};
--
2.52.0
^ permalink raw reply related [flat|nested] 17+ messages in thread
* Re: [PATCH v2 1/8] dt-bindings: arm: qcom: Document Microsoft Surface Pro 11
2025-12-01 1:14 ` [PATCH v2 1/8] dt-bindings: arm: qcom: Document Microsoft Surface Pro 11 Dale Whinham
@ 2025-12-01 2:17 ` Rob Herring (Arm)
2025-12-01 7:30 ` Krzysztof Kozlowski
1 sibling, 0 replies; 17+ messages in thread
From: Rob Herring (Arm) @ 2025-12-01 2:17 UTC (permalink / raw)
To: Dale Whinham
Cc: linux-arm-msm, linux-kernel, Jérôme de Bretagne,
Bjorn Andersson, Conor Dooley, devicetree, Konrad Dybcio,
Krzysztof Kozlowski
On Mon, 01 Dec 2025 01:14:42 +0000, Dale Whinham wrote:
> From: Jérôme de Bretagne <jerome.debretagne@gmail.com>
>
> Add the compatible for the Qualcomm X1-based Microsoft Surface Pro 11,
> using its Denali codename.
>
> Signed-off-by: Jérôme de Bretagne <jerome.debretagne@gmail.com>
> Signed-off-by: Dale Whinham <daleyo@gmail.com>
> ---
> Documentation/devicetree/bindings/arm/qcom.yaml | 1 +
> 1 file changed, 1 insertion(+)
>
My bot found errors running 'make dt_binding_check' on your patch:
yamllint warnings/errors:
dtschema/dtc warnings/errors:
Documentation/devicetree/bindings/thermal/thermal-sensor.example.dtb: /example-0/soc/thermal-sensor@c263000: failed to match any schema with compatible: ['qcom,sdm845-tsens', 'qcom,tsens-v2']
Documentation/devicetree/bindings/thermal/thermal-sensor.example.dtb: /example-0/soc/thermal-sensor@c263000: failed to match any schema with compatible: ['qcom,sdm845-tsens', 'qcom,tsens-v2']
Documentation/devicetree/bindings/thermal/thermal-sensor.example.dtb: /example-0/soc/thermal-sensor@c265000: failed to match any schema with compatible: ['qcom,sdm845-tsens', 'qcom,tsens-v2']
Documentation/devicetree/bindings/thermal/thermal-sensor.example.dtb: /example-0/soc/thermal-sensor@c265000: failed to match any schema with compatible: ['qcom,sdm845-tsens', 'qcom,tsens-v2']
doc reference errors (make refcheckdocs):
See https://patchwork.ozlabs.org/project/devicetree-bindings/patch/20251201011457.17422-2-daleyo@gmail.com
The base for the series is generally the latest rc1. A different dependency
should be noted in *this* patch.
If you already ran 'make dt_binding_check' and didn't see the above
error(s), then make sure 'yamllint' is installed and dt-schema is up to
date:
pip3 install dtschema --upgrade
Please check and re-submit after running the above command yourself. Note
that DT_SCHEMA_FILES can be set to your schema file to speed up checking
your schema. However, it must be unset to test all examples with your schema.
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH v2 1/8] dt-bindings: arm: qcom: Document Microsoft Surface Pro 11
2025-12-01 1:14 ` [PATCH v2 1/8] dt-bindings: arm: qcom: Document Microsoft Surface Pro 11 Dale Whinham
2025-12-01 2:17 ` Rob Herring (Arm)
@ 2025-12-01 7:30 ` Krzysztof Kozlowski
1 sibling, 0 replies; 17+ messages in thread
From: Krzysztof Kozlowski @ 2025-12-01 7:30 UTC (permalink / raw)
To: Dale Whinham, Bjorn Andersson, Konrad Dybcio, Rob Herring,
Krzysztof Kozlowski, Conor Dooley
Cc: Jérôme de Bretagne, linux-arm-msm, devicetree,
linux-kernel
On 01/12/2025 02:14, Dale Whinham wrote:
> From: Jérôme de Bretagne <jerome.debretagne@gmail.com>
>
> Add the compatible for the Qualcomm X1-based Microsoft Surface Pro 11,
> using its Denali codename.
>
> Signed-off-by: Jérôme de Bretagne <jerome.debretagne@gmail.com>
> Signed-off-by: Dale Whinham <daleyo@gmail.com>
> ---
Don't ask us to do the work twice. It is waste of time.
<form letter>
This is a friendly reminder during the review process.
It looks like you received a tag and forgot to add it.
If you do not know the process, here is a short explanation:
Please add Acked-by/Reviewed-by/Tested-by tags when posting new versions
of patchset, under or above your Signed-off-by tag, unless patch changed
significantly (e.g. new properties added to the DT bindings). Tag is
"received", when provided in a message replied to you on the mailing
list. Tools like b4 can help here. However, there's no need to repost
patches *only* to add the tags. The upstream maintainer will do that for
tags received on the version they apply.
Please read:
https://elixir.bootlin.com/linux/v6.12-rc3/source/Documentation/process/submitting-patches.rst#L577
If a tag was not added on purpose, please state why and what changed.
</form letter>
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH v2 8/8] arm64: dts: qcom: x1-microsoft-denali: Disable rfkill for wifi0
2025-12-01 1:14 ` [PATCH v2 8/8] arm64: dts: qcom: x1-microsoft-denali: Disable rfkill for wifi0 Dale Whinham
@ 2025-12-01 7:35 ` Krzysztof Kozlowski
0 siblings, 0 replies; 17+ messages in thread
From: Krzysztof Kozlowski @ 2025-12-01 7:35 UTC (permalink / raw)
To: Dale Whinham, Bjorn Andersson, Konrad Dybcio, Rob Herring,
Krzysztof Kozlowski, Conor Dooley
Cc: Jérôme de Bretagne, linux-arm-msm, devicetree,
linux-kernel
On 01/12/2025 02:14, Dale Whinham wrote:
> Disable rfkill as it is supposed to be according to the ath12k feature
> flags in the Microsoft Surface Pro 11 ACPI DSDT.
>
> Signed-off-by: Dale Whinham <daleyo@gmail.com>
> Signed-off-by: Jérôme de Bretagne <jerome.debretagne@gmail.com>
> ---
> arch/arm64/boot/dts/qcom/x1-microsoft-denali.dtsi | 2 ++
> 1 file changed, 2 insertions(+)
>
No, you just added this file. This must be squashed.
What happened with the rest of patches? I got only 1, 4, 6 and 8?
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH v2 0/8] Microsoft Surface Pro 11 support
2025-12-01 1:14 [PATCH v2 0/8] Microsoft Surface Pro 11 support Dale Whinham
` (4 preceding siblings ...)
2025-12-01 1:14 ` [PATCH v2 8/8] arm64: dts: qcom: x1-microsoft-denali: Disable rfkill for wifi0 Dale Whinham
@ 2025-12-01 12:27 ` Rob Herring
5 siblings, 0 replies; 17+ messages in thread
From: Rob Herring @ 2025-12-01 12:27 UTC (permalink / raw)
To: Dale Whinham
Cc: platform-driver-x86, David Airlie, Krzysztof Kozlowski,
linux-kernel, Rob Clark, linux-wireless, linux-arm-msm,
Maximilian Luz, Conor Dooley, Johannes Berg, Bjorn Andersson,
freedreno, Marijn Suijten, Jeff Johnson, ath12k,
Jérôme de Bretagne, Hans de Goede, Thomas Zimmermann,
Ilpo Järvinen, Abhinav Kumar, Sean Paul, Jessica Zhang,
Maxime Ripard, dri-devel, Konrad Dybcio, Simona Vetter,
Maarten Lankhorst, devicetree, Dmitry Baryshkov, Jeff Johnson
On Mon, 01 Dec 2025 01:14:41 +0000, Dale Whinham wrote:
> This series brings support for the X1E80100/X1P64100-based Microsoft
> Surface Pro 11.
>
> Patches 6 to 8 are included as RFC as we are unsure of how best to
> achieve the required functionality, however the implementation is
> functional.
>
> v2:
> - Dropped ATNA30DW01 patch as it was merged.
> - Split device tree into x1e (OLED)/x1p (LCD) specific *.dts files and move common code into x1-microsoft-denali.dtsi (patch 4).
> - Device tree now enables higher external monitor refresh rates/resolutions (patch 4).
> - Device tree now enables partially working audio output; requires alsa-ucm-conf and audioreach-topology definitions in userspace (patch 4).
> - Replaced 'Work around bogus maximum link rate' with a quirk-based approach (patch 5).
> - Improve the commit message about the disable-rfkill property in response to feedback (patch 6).
>
> Dale Whinham (5):
> firmware: qcom: scm: allow QSEECOM on Surface Pro 11
> platform/surface: aggregator_registry: Add Surface Pro 11
> arm64: dts: qcom: Add support for Surface Pro 11
> wifi: ath12k: Add support for disabling rfkill via devicetree
> arm64: dts: qcom: x1-microsoft-denali: Disable rfkill for wifi0
>
> Jérôme de Bretagne (3):
> dt-bindings: arm: qcom: Document Microsoft Surface Pro 11
> drm/msm/dp: Add dpcd link_rate quirk for Surface Pro 11 OLED
> dt-bindings: wireless: ath12k: Add disable-rfkill property
>
> .../devicetree/bindings/arm/qcom.yaml | 1 +
> .../bindings/net/wireless/qcom,ath12k.yaml | 3 +
> arch/arm64/boot/dts/qcom/Makefile | 4 +
> .../boot/dts/qcom/x1-microsoft-denali.dtsi | 1340 +++++++++++++++++
> .../qcom/x1e80100-microsoft-denali-oled.dts | 20 +
> .../dts/qcom/x1p64100-microsoft-denali.dts | 16 +
> drivers/firmware/qcom/qcom_scm.c | 1 +
> drivers/gpu/drm/display/drm_dp_helper.c | 2 +
> drivers/gpu/drm/msm/dp/dp_panel.c | 14 +
> drivers/net/wireless/ath/ath12k/core.c | 3 +
> .../surface/surface_aggregator_registry.c | 18 +
> include/drm/display/drm_dp_helper.h | 7 +
> 12 files changed, 1429 insertions(+)
> create mode 100644 arch/arm64/boot/dts/qcom/x1-microsoft-denali.dtsi
> create mode 100644 arch/arm64/boot/dts/qcom/x1e80100-microsoft-denali-oled.dts
> create mode 100644 arch/arm64/boot/dts/qcom/x1p64100-microsoft-denali.dts
>
> --
> 2.52.0
>
>
>
My bot found new DTB warnings on the .dts files added or changed in this
series.
Some warnings may be from an existing SoC .dtsi. Or perhaps the warnings
are fixed by another series. Ultimately, it is up to the platform
maintainer whether these warnings are acceptable or not. No need to reply
unless the platform maintainer has comments.
If you already ran DT checks and didn't see these error(s), then
make sure dt-schema is up to date:
pip3 install dtschema --upgrade
This patch series was applied (using b4) to base:
Base: attempting to guess base-commit...
Base: tags/v6.18-rc1-44-g4b94d21fac33 (exact match)
Base: tags/v6.18-rc1-44-g4b94d21fac33 (use --merge-base to override)
If this is not the correct base, please add 'base-commit' tag
(or use b4 which does this automatically)
New warnings running 'make CHECK_DTBS=y for arch/arm64/boot/dts/qcom/' for 20251201011457.17422-1-daleyo@gmail.com:
arch/arm64/boot/dts/qcom/x1e80100-microsoft-denali-oled.dtb: / (microsoft,denali-oled): compatible: 'oneOf' conditional failed, one must be fixed:
['microsoft,denali-oled', 'microsoft,denali', 'qcom,x1e80100'] is too long
['microsoft,denali-oled', 'microsoft,denali', 'qcom,x1e80100'] is too short
'microsoft,denali-oled' is not one of ['qcom,apq8016-sbc', 'schneider,apq8016-hmibsc']
'microsoft,denali-oled' is not one of ['asus,sparrow', 'huawei,sturgeon', 'lg,lenok', 'samsung,matisse-wifi', 'samsung,milletwifi']
'microsoft,denali-oled' is not one of ['asus,nexus7-flo', 'lg,nexus4-mako', 'sony,xperia-yuga', 'qcom,apq8064-cm-qs600', 'qcom,apq8064-ifc6410']
'microsoft,denali-oled' is not one of ['qcom,apq8074-dragonboard']
'microsoft,denali-oled' is not one of ['qcom,apq8060-dragonboard', 'qcom,msm8660-surf']
'microsoft,denali-oled' is not one of ['qcom,apq8084-mtp', 'qcom,apq8084-sbc']
'microsoft,denali-oled' is not one of ['microsoft,dempsey', 'microsoft,makepeace', 'microsoft,moneypenny', 'motorola,falcon', 'samsung,ms013g', 'samsung,s3ve3g']
'microsoft,denali-oled' is not one of ['htc,memul', 'microsoft,superman-lte', 'microsoft,tesla', 'motorola,peregrine', 'samsung,matisselte']
'microsoft,denali-oled' is not one of ['wingtech,wt82918hd']
'microsoft,denali-oled' is not one of ['huawei,kiwi', 'longcheer,l9100', 'samsung,a7', 'sony,kanuti-tulip', 'square,apq8039-t2', 'wingtech,wt82918', 'wingtech,wt82918hdhw39']
'microsoft,denali-oled' is not one of ['sony,kugo-row', 'sony,suzu-row']
'microsoft,denali-oled' is not one of ['qcom,msm8960-cdp', 'samsung,expressatt']
'microsoft,denali-oled' is not one of ['sony,huashan']
'microsoft,denali-oled' is not one of ['lge,hammerhead', 'samsung,hlte', 'sony,xperia-amami', 'sony,xperia-honami', 'sony,xperia-togari']
'microsoft,denali-oled' is not one of ['fairphone,fp2', 'htc,m8', 'oneplus,bacon', 'samsung,klte', 'sony,xperia-aries', 'sony,xperia-castor', 'sony,xperia-leo']
'microsoft,denali-oled' is not one of ['samsung,kltechn']
'microsoft,denali-oled' is not one of ['longcheer,l9360']
'microsoft,denali-oled' is not one of ['acer,a1-724', 'alcatel,idol347', 'asus,z00l', 'gplus,fl8005a', 'huawei,g7', 'lg,c50', 'lg,m216', 'longcheer,l8910', 'longcheer,l8150', 'motorola,harpia', 'motorola,osprey', 'motorola,surnia', 'qcom,msm8916-mtp', 'samsung,a3u-eur', 'samsung,a5u-eur', 'samsung,e5', 'samsung,e7', 'samsung,fortuna3g', 'samsung,gprimeltecan', 'samsung,grandmax', 'samsung,grandprimelte', 'samsung,gt510', 'samsung,gt58', 'samsung,j3ltetw', 'samsung,j5', 'samsung,j5x', 'samsung,rossa', 'samsung,serranove', 'thwc,uf896', 'thwc,ufi001c', 'wingtech,wt86518', 'wingtech,wt86528', 'wingtech,wt88047', 'yiming,uz801-v3']
'microsoft,denali-oled' is not one of ['xiaomi,riva']
'microsoft,denali-oled' is not one of ['flipkart,rimob', 'motorola,potter', 'xiaomi,daisy', 'xiaomi,mido', 'xiaomi,tissot', 'xiaomi,vince']
'microsoft,denali-oled' is not one of ['lg,bullhead', 'lg,h815', 'microsoft,talkman', 'xiaomi,libra']
'microsoft,denali-oled' is not one of ['sony,karin_windy']
'microsoft,denali-oled' is not one of ['huawei,angler', 'microsoft,cityman', 'sony,ivy-row', 'sony,karin-row', 'sony,satsuki-row', 'sony,sumire-row', 'sony,suzuran-row']
'microsoft,denali-oled' is not one of ['arrow,apq8096-db820c', 'inforce,ifc6640']
'microsoft,denali-oled' is not one of ['oneplus,oneplus3', 'oneplus,oneplus3t', 'qcom,msm8996-mtp', 'sony,dora-row', 'sony,kagura-row', 'sony,keyaki-row', 'xiaomi,gemini']
'microsoft,denali-oled' is not one of ['xiaomi,natrium', 'xiaomi,scorpio']
'microsoft,denali-oled' is not one of ['asus,novago-tp370ql', 'fxtec,pro1', 'hp,envy-x2', 'lenovo,miix-630', 'oneplus,cheeseburger', 'oneplus,dumpling', 'qcom,msm8998-mtp', 'sony,xperia-lilac', 'sony,xperia-maple', 'sony,xperia-poplar', 'xiaomi,sagit']
'microsoft,denali-oled' is not one of ['8dev,jalapeno', 'alfa-network,ap120c-ac']
'microsoft,denali-oled' is not one of ['qcom,ipq4019-ap-dk01.1-c1', 'qcom,ipq4019-ap-dk04.1-c3', 'qcom,ipq4019-ap-dk07.1-c1', 'qcom,ipq4019-ap-dk07.1-c2', 'qcom,ipq4019-dk04.1-c1']
'microsoft,denali-oled' is not one of ['qcom,ipq5018-rdp432-c2', 'tplink,archer-ax55-v1']
'microsoft,denali-oled' is not one of ['qcom,ipq5332-ap-mi01.2', 'qcom,ipq5332-ap-mi01.3', 'qcom,ipq5332-ap-mi01.6', 'qcom,ipq5332-ap-mi01.9']
'microsoft,denali-oled' is not one of ['qcom,ipq5424-rdp466']
'microsoft,denali-oled' is not one of ['mikrotik,rb3011', 'qcom,ipq8064-ap148']
'microsoft,denali-oled' is not one of ['qcom,ipq8074-hk01', 'qcom,ipq8074-hk10-c1', 'qcom,ipq8074-hk10-c2']
'microsoft,denali-oled' is not one of ['qcom,ipq9574-ap-al02-c2', 'qcom,ipq9574-ap-al02-c6', 'qcom,ipq9574-ap-al02-c7', 'qcom,ipq9574-ap-al02-c8', 'qcom,ipq9574-ap-al02-c9']
'swir,mangoh-green-wp8548' was expected
'microsoft,denali-oled' is not one of ['qcom,qrb2210-rb1']
'microsoft,denali-oled' is not one of ['fairphone,fp5', 'particle,tachyon', 'qcom,qcm6490-idp', 'qcom,qcs6490-rb3gen2', 'shift,otter']
'microsoft,denali-oled' is not one of ['qcom,qdu1000-idp', 'qcom,qdu1000-x100']
'microsoft,denali-oled' is not one of ['qcom,qru1000-idp']
'microsoft,denali-oled' is not one of ['qcom,qar2130p']
'microsoft,denali-oled' is not one of ['acer,aspire1', 'qcom,sc7180-idp']
'google,coachz-rev1' was expected
'google,coachz' was expected
'google,coachz-rev1-sku0' was expected
'google,coachz-sku0' was expected
'google,homestar-rev2' was expected
'google,homestar-rev3' was expected
'google,homestar' was expected
'google,kingoftown-rev0' was expected
'google,kingoftown' was expected
'google,lazor-rev0' was expected
'google,lazor-rev1' was expected
'google,lazor-rev3' was expected
'google,lazor-rev9' was expected
'google,lazor' was expected
'google,lazor-rev1-sku2' was expected
'google,lazor-rev3-sku2' was expected
'google,lazor-rev9-sku2' was expected
'google,lazor-sku2' was expected
'google,lazor-rev1-sku0' was expected
'google,lazor-rev3-sku0' was expected
'google,lazor-rev9-sku0' was expected
'google,lazor-sku0' was expected
'google,lazor-rev4-sku4' was expected
'google,lazor-rev9-sku4' was expected
'google,lazor-sku4' was expected
'google,lazor-rev4-sku5' was expected
'google,lazor-rev5-sku5' was expected
'google,lazor-rev9-sku6' was expected
'google,lazor-sku6' was expected
'google,mrbland-rev0-sku0' was expected
'google,mrbland-sku1536' was expected
'google,mrbland-rev0-sku16' was expected
'google,mrbland-sku1024' was expected
'google,pazquel-sku5' was expected
'google,pazquel-sku1' was expected
'google,pazquel-sku6' was expected
'google,pazquel-sku0' was expected
'google,pazquel-sku22' was expected
'google,pazquel-sku21' was expected
'google,pompom-rev1' was expected
'google,pompom-rev2' was expected
'google,pompom' was expected
'google,pompom-rev1-sku0' was expected
'google,pompom-rev2-sku0' was expected
'google,pompom-sku0' was expected
'google,quackingstick-sku1537' was expected
'google,quackingstick-sku1536' was expected
'google,trogdor' was expected
'google,trogdor-sku0' was expected
'google,wormdingler-rev0-sku16' was expected
'google,wormdingler-sku1024' was expected
'google,wormdingler-sku1025' was expected
'google,wormdingler-rev0-sku0' was expected
'google,wormdingler-sku0' was expected
'google,wormdingler-sku1' was expected
'qcom,sc7280-crd' was expected
'google,zoglin' was expected
'google,zoglin-sku1536' was expected
'qcom,sc7280-idp' was expected
'qcom,sc7280-idp2' was expected
'google,evoker' was expected
'google,evoker-sku512' was expected
'google,herobrine' was expected
'google,villager-rev0' was expected
'google,villager' was expected
'google,villager-sku512' was expected
'google,zombie' was expected
'google,zombie-sku512' was expected
'google,zombie-sku2' was expected
'google,zombie-sku514' was expected
'microsoft,denali-oled' is not one of ['lenovo,flex-5g', 'microsoft,surface-prox', 'qcom,sc8180x-primus']
'microsoft,denali-oled' is not one of ['huawei,gaokun3', 'lenovo,thinkpad-x13s', 'microsoft,arcata', 'microsoft,blackrock', 'qcom,sc8280xp-crd', 'qcom,sc8280xp-qrd']
'microsoft,denali-oled' is not one of ['lenovo,tbx605f', 'motorola,ali']
'microsoft,denali-oled' is not one of ['sony,discovery-row', 'sony,kirin-row', 'sony,pioneer-row', 'sony,voyager-row']
'microsoft,denali-oled' is not one of ['inforce,ifc6560']
'microsoft,denali-oled' is not one of ['fairphone,fp3', 'motorola,ocean']
'microsoft,denali-oled' is not one of ['sony,mermaid-row']
'microsoft,denali-oled' is not one of ['xiaomi,lavender']
'microsoft,denali-oled' is not one of ['google,sargo']
'microsoft,denali-oled' is not one of ['qcom,sdx55-mtp', 'qcom,sdx55-telit-fn980-tlb', 'qcom,sdx55-t55']
'microsoft,denali-oled' is not one of ['qcom,sdx65-mtp']
'microsoft,denali-oled' is not one of ['qcom,sdx75-idp']
'microsoft,denali-oled' is not one of ['qcom,ipq6018-cp01', 'qcom,ipq6018-cp01-c1']
'microsoft,denali-oled' is not one of ['qcom,qcs404-evb-1000', 'qcom,qcs404-evb-4000']
'microsoft,denali-oled' is not one of ['qcom,monaco-evk', 'qcom,qcs8300-ride']
'microsoft,denali-oled' is not one of ['qcom,qcs615-ride']
'microsoft,denali-oled' is not one of ['qcom,sa8155p-adp']
'microsoft,denali-oled' is not one of ['qcom,sa8295p-adp', 'qcom,sa8540p-ride']
'microsoft,denali-oled' is not one of ['qcom,sa8775p-ride', 'qcom,sa8775p-ride-r3']
'microsoft,denali-oled' is not one of ['qcom,lemans-evk', 'qcom,qcs9100-ride', 'qcom,qcs9100-ride-r3']
'microsoft,denali-oled' is not one of ['lenovo,yoga-c630', 'lg,judyln', 'lg,judyp', 'oneplus,enchilada', 'oneplus,fajita', 'qcom,sdm845-mtp', 'shift,axolotl', 'samsung,starqltechn', 'samsung,w737', 'sony,akari-row', 'sony,akatsuki-row', 'sony,apollo-row', 'thundercomm,db845c', 'xiaomi,beryllium', 'xiaomi,beryllium-ebbg', 'xiaomi,polaris']
'microsoft,denali-oled' is not one of ['oneplus,billie2']
'microsoft,denali-oled' is not one of ['qcom,qrb4210-rb2']
'microsoft,denali-oled' is not one of ['qcom,sm4450-qrd']
'microsoft,denali-oled' is not one of ['fxtec,pro1x']
'microsoft,denali-oled' is not one of ['lenovo,j606f']
'microsoft,denali-oled' is not one of ['sony,pdx201', 'xiaomi,ginkgo', 'xiaomi,laurel-sprout']
'microsoft,denali-oled' is not one of ['sony,pdx213']
'microsoft,denali-oled' is not one of ['sony,pdx225']
'microsoft,denali-oled' is not one of ['xiaomi,curtana', 'xiaomi,joyeuse']
'microsoft,denali-oled' is not one of ['google,sunfish']
'microsoft,denali-oled' is not one of ['fairphone,fp4']
'microsoft,denali-oled' is not one of ['nothing,spacewar']
'microsoft,denali-oled' is not one of ['microsoft,surface-duo', 'qcom,sm8150-hdk', 'qcom,sm8150-mtp', 'sony,bahamut-generic', 'sony,griffin-generic']
'microsoft,denali-oled' is not one of ['qcom,qrb5165-rb5', 'qcom,sm8250-hdk', 'qcom,sm8250-mtp', 'samsung,r8q', 'samsung,x1q', 'sony,pdx203-generic', 'sony,pdx206-generic', 'xiaomi,elish', 'xiaomi,pipa']
'microsoft,denali-oled' is not one of ['microsoft,surface-duo2', 'qcom,sm8350-hdk', 'qcom,sm8350-mtp', 'sony,pdx214-generic', 'sony,pdx215-generic']
'microsoft,denali-oled' is not one of ['qcom,sm8450-hdk', 'qcom,sm8450-qrd', 'samsung,r0q', 'sony,pdx223', 'sony,pdx224']
'microsoft,denali-oled' is not one of ['qcom,sm8550-hdk', 'qcom,sm8550-mtp', 'qcom,sm8550-qrd', 'samsung,q5q', 'sony,pdx234']
'microsoft,denali-oled' is not one of ['qcom,qcs8550-aim300-aiot']
'microsoft,denali-oled' is not one of ['qcom,sm8650-hdk', 'qcom,sm8650-mtp', 'qcom,sm8650-qrd']
'microsoft,denali-oled' is not one of ['qcom,sm8750-mtp', 'qcom,sm8750-qrd']
'microsoft,denali-oled' is not one of ['qcom,x1e001de-devkit']
'microsoft,denali-oled' is not one of ['lenovo,thinkpad-t14s-lcd', 'lenovo,thinkpad-t14s-oled']
'microsoft,denali-oled' is not one of ['asus,vivobook-s15', 'asus,zenbook-a14-ux3407ra', 'dell,inspiron-14-plus-7441', 'dell,latitude-7455', 'dell,xps13-9345', 'hp,elitebook-ultra-g1q', 'hp,omnibook-x14', 'lenovo,yoga-slim7x', 'microsoft,denali', 'microsoft,romulus13', 'microsoft,romulus15', 'qcom,x1e80100-crd', 'qcom,x1e80100-qcp']
'microsoft,denali-oled' is not one of ['qcom,hamoa-iot-evk']
'microsoft,denali-oled' is not one of ['asus,zenbook-a14-ux3407qa', 'hp,omnibook-x14-fe1', 'lenovo,thinkbook-16', 'qcom,x1p42100-crd']
'qcom,apq8016' was expected
'qcom,apq8026' was expected
'qcom,apq8064' was expected
'qcom,apq8074' was expected
'qcom,msm8660' was expected
'qcom,apq8084' was expected
'qcom,msm8226' was expected
'qcom,msm8926' was expected
'qcom,msm8929' was expected
'qcom,msm8939' was expected
'qcom,msm8956' was expected
'qcom,msm8960' was expected
'qcom,msm8960t' was expected
'qcom,msm8974' was expected
'qcom,msm8974pro' was expected
'samsung,klte' was expected
'qcom,msm8976' was expected
'qcom,msm8916' was expected
'qcom,msm8917' was expected
'qcom,msm8953' was expected
'qcom,msm8992' was expected
'qcom,apq8094' was expected
'qcom,msm8994' was expected
'qcom,apq8096-sbc' was expected
'qcom,msm8996' was expected
'qcom,msm8996pro' was expected
'qcom,msm8998' was expected
'qcom,ipq4018' was expected
'qcom,ipq4019' was expected
'qcom,ipq5018' was expected
'qcom,ipq5332' was expected
'qcom,ipq5424' was expected
'qcom,ipq8064' was expected
'qcom,ipq8074' was expected
'qcom,ipq9574' was expected
'swir,wp8548' was expected
'qcom,qrb2210' was expected
'qcom,qcm6490' was expected
'qcom,qdu1000' was expected
'qcom,qru1000' was expected
'qcom,sar2130p' was expected
'qcom,sc7180' was expected
'google,coachz-rev2' was expected
'google,coachz-rev2-sku0' was expected
'google,homestar-rev23' was expected
'google,lazor-rev2' was expected
'google,lazor-rev4' was expected
'google,lazor-rev2-sku2' was expected
'google,lazor-rev4-sku2' was expected
'google,lazor-rev2-sku0' was expected
'google,lazor-rev4-sku0' was expected
'google,lazor-rev9-sku10' was expected
'google,lazor-sku10' was expected
'google,lazor-rev5-sku4' was expected
'google,lazor-rev9-sku15' was expected
'google,lazor-sku15' was expected
'google,lazor-rev5-sku6' was expected
'google,lazor-rev9-sku18' was expected
'google,lazor-sku18' was expected
'google,mrbland-sku768' was expected
'google,pazquel-sku4' was expected
'google,pazquel-sku2' was expected
'google,pazquel-sku20' was expected
'google,hoglin-rev3' was expected
'google,hoglin' was expected
'google,hoglin-sku1536' was expected
'google,senor' was expected
'google,piglin' was expected
'qcom,sc7280' was expected
'google,zombie-sku3' was expected
'qcom,sc8180x' was expected
'qcom,sc8280xp' was expected
'qcom,sdm450' was expected
'qcom,sdm630' was expected
'qcom,sda660' was expected
'qcom,sdm632' was expected
'qcom,sdm636' was expected
'qcom,sdm660' was expected
'qcom,sdm670' was expected
'qcom,sdx55' was expected
'qcom,sdx65' was expected
'qcom,sdx75' was expected
'qcom,ipq6018' was expected
'qcom,qcs404-evb' was expected
'qcom,qcs8300' was expected
'qcom,qcs615' was expected
'qcom,sa8155p' was expected
'qcom,sa8540p' was expected
'qcom,sa8775p' was expected
'qcom,qcs9100' was expected
'qcom,sdm845' was expected
'qcom,sm4250' was expected
'qcom,qrb4210' was expected
'qcom,sm4450' was expected
'qcom,sm6115' was expected
'qcom,sm6115p' was expected
'qcom,sm6125' was expected
'qcom,sm6350' was expected
'qcom,sm6375' was expected
'qcom,sm7125' was expected
'qcom,sm7150' was expected
'qcom,sm7225' was expected
'qcom,sm7325' was expected
'qcom,sm8150' was expected
'qcom,sm8250' was expected
'qcom,sm8350' was expected
'qcom,sm8450' was expected
'qcom,sm8550' was expected
'qcom,qcs8550-aim300' was expected
'qcom,sm8650' was expected
'qcom,sm8750' was expected
'qcom,x1e001de' was expected
'lenovo,thinkpad-t14s' was expected
'qcom,x1e80100' was expected
'qcom,hamoa-iot-som' was expected
'qcom,x1p42100' was expected
'qcom,apq8096' was expected
'qcom,mdm9615' was expected
'qcom,qcm2290' was expected
'google,lazor-rev5' was expected
'google,lazor-rev5-sku2' was expected
'google,lazor-rev5-sku0' was expected
'google,lazor-rev6-sku4' was expected
'google,lazor-rev6-sku6' was expected
'google,hoglin-rev4' was expected
'google,zombie-sku515' was expected
'qcom,qcs404' was expected
'qcom,sm6150' was expected
'qcom,qcs8550' was expected
'qcom,x1e78100' was expected
from schema $id: http://devicetree.org/schemas/arm/qcom.yaml
arch/arm64/boot/dts/qcom/x1e80100-microsoft-denali-oled.dtb: /: failed to match any schema with compatible: ['microsoft,denali-oled', 'microsoft,denali', 'qcom,x1e80100']
arch/arm64/boot/dts/qcom/x1p64100-microsoft-denali.dtb: / (microsoft,denali-lcd): compatible: 'oneOf' conditional failed, one must be fixed:
['microsoft,denali-lcd', 'microsoft,denali', 'qcom,x1p64100', 'qcom,x1e80100'] is too long
['microsoft,denali-lcd', 'microsoft,denali', 'qcom,x1p64100', 'qcom,x1e80100'] is too short
'microsoft,denali-lcd' is not one of ['qcom,apq8016-sbc', 'schneider,apq8016-hmibsc']
'microsoft,denali-lcd' is not one of ['asus,sparrow', 'huawei,sturgeon', 'lg,lenok', 'samsung,matisse-wifi', 'samsung,milletwifi']
'microsoft,denali-lcd' is not one of ['asus,nexus7-flo', 'lg,nexus4-mako', 'sony,xperia-yuga', 'qcom,apq8064-cm-qs600', 'qcom,apq8064-ifc6410']
'microsoft,denali-lcd' is not one of ['qcom,apq8074-dragonboard']
'microsoft,denali-lcd' is not one of ['qcom,apq8060-dragonboard', 'qcom,msm8660-surf']
'microsoft,denali-lcd' is not one of ['qcom,apq8084-mtp', 'qcom,apq8084-sbc']
'microsoft,denali-lcd' is not one of ['microsoft,dempsey', 'microsoft,makepeace', 'microsoft,moneypenny', 'motorola,falcon', 'samsung,ms013g', 'samsung,s3ve3g']
'microsoft,denali-lcd' is not one of ['htc,memul', 'microsoft,superman-lte', 'microsoft,tesla', 'motorola,peregrine', 'samsung,matisselte']
'microsoft,denali-lcd' is not one of ['wingtech,wt82918hd']
'microsoft,denali-lcd' is not one of ['huawei,kiwi', 'longcheer,l9100', 'samsung,a7', 'sony,kanuti-tulip', 'square,apq8039-t2', 'wingtech,wt82918', 'wingtech,wt82918hdhw39']
'microsoft,denali-lcd' is not one of ['sony,kugo-row', 'sony,suzu-row']
'microsoft,denali-lcd' is not one of ['qcom,msm8960-cdp', 'samsung,expressatt']
'microsoft,denali-lcd' is not one of ['sony,huashan']
'microsoft,denali-lcd' is not one of ['lge,hammerhead', 'samsung,hlte', 'sony,xperia-amami', 'sony,xperia-honami', 'sony,xperia-togari']
'microsoft,denali-lcd' is not one of ['fairphone,fp2', 'htc,m8', 'oneplus,bacon', 'samsung,klte', 'sony,xperia-aries', 'sony,xperia-castor', 'sony,xperia-leo']
'microsoft,denali-lcd' is not one of ['samsung,kltechn']
'microsoft,denali-lcd' is not one of ['longcheer,l9360']
'microsoft,denali-lcd' is not one of ['acer,a1-724', 'alcatel,idol347', 'asus,z00l', 'gplus,fl8005a', 'huawei,g7', 'lg,c50', 'lg,m216', 'longcheer,l8910', 'longcheer,l8150', 'motorola,harpia', 'motorola,osprey', 'motorola,surnia', 'qcom,msm8916-mtp', 'samsung,a3u-eur', 'samsung,a5u-eur', 'samsung,e5', 'samsung,e7', 'samsung,fortuna3g', 'samsung,gprimeltecan', 'samsung,grandmax', 'samsung,grandprimelte', 'samsung,gt510', 'samsung,gt58', 'samsung,j3ltetw', 'samsung,j5', 'samsung,j5x', 'samsung,rossa', 'samsung,serranove', 'thwc,uf896', 'thwc,ufi001c', 'wingtech,wt86518', 'wingtech,wt86528', 'wingtech,wt88047', 'yiming,uz801-v3']
'microsoft,denali-lcd' is not one of ['xiaomi,riva']
'microsoft,denali-lcd' is not one of ['flipkart,rimob', 'motorola,potter', 'xiaomi,daisy', 'xiaomi,mido', 'xiaomi,tissot', 'xiaomi,vince']
'microsoft,denali-lcd' is not one of ['lg,bullhead', 'lg,h815', 'microsoft,talkman', 'xiaomi,libra']
'microsoft,denali-lcd' is not one of ['sony,karin_windy']
'microsoft,denali-lcd' is not one of ['huawei,angler', 'microsoft,cityman', 'sony,ivy-row', 'sony,karin-row', 'sony,satsuki-row', 'sony,sumire-row', 'sony,suzuran-row']
'microsoft,denali-lcd' is not one of ['arrow,apq8096-db820c', 'inforce,ifc6640']
'microsoft,denali-lcd' is not one of ['oneplus,oneplus3', 'oneplus,oneplus3t', 'qcom,msm8996-mtp', 'sony,dora-row', 'sony,kagura-row', 'sony,keyaki-row', 'xiaomi,gemini']
'microsoft,denali-lcd' is not one of ['xiaomi,natrium', 'xiaomi,scorpio']
'microsoft,denali-lcd' is not one of ['asus,novago-tp370ql', 'fxtec,pro1', 'hp,envy-x2', 'lenovo,miix-630', 'oneplus,cheeseburger', 'oneplus,dumpling', 'qcom,msm8998-mtp', 'sony,xperia-lilac', 'sony,xperia-maple', 'sony,xperia-poplar', 'xiaomi,sagit']
'microsoft,denali-lcd' is not one of ['8dev,jalapeno', 'alfa-network,ap120c-ac']
'microsoft,denali-lcd' is not one of ['qcom,ipq4019-ap-dk01.1-c1', 'qcom,ipq4019-ap-dk04.1-c3', 'qcom,ipq4019-ap-dk07.1-c1', 'qcom,ipq4019-ap-dk07.1-c2', 'qcom,ipq4019-dk04.1-c1']
'microsoft,denali-lcd' is not one of ['qcom,ipq5018-rdp432-c2', 'tplink,archer-ax55-v1']
'microsoft,denali-lcd' is not one of ['qcom,ipq5332-ap-mi01.2', 'qcom,ipq5332-ap-mi01.3', 'qcom,ipq5332-ap-mi01.6', 'qcom,ipq5332-ap-mi01.9']
'microsoft,denali-lcd' is not one of ['qcom,ipq5424-rdp466']
'microsoft,denali-lcd' is not one of ['mikrotik,rb3011', 'qcom,ipq8064-ap148']
'microsoft,denali-lcd' is not one of ['qcom,ipq8074-hk01', 'qcom,ipq8074-hk10-c1', 'qcom,ipq8074-hk10-c2']
'microsoft,denali-lcd' is not one of ['qcom,ipq9574-ap-al02-c2', 'qcom,ipq9574-ap-al02-c6', 'qcom,ipq9574-ap-al02-c7', 'qcom,ipq9574-ap-al02-c8', 'qcom,ipq9574-ap-al02-c9']
'swir,mangoh-green-wp8548' was expected
'microsoft,denali-lcd' is not one of ['qcom,qrb2210-rb1']
'microsoft,denali-lcd' is not one of ['fairphone,fp5', 'particle,tachyon', 'qcom,qcm6490-idp', 'qcom,qcs6490-rb3gen2', 'shift,otter']
'microsoft,denali-lcd' is not one of ['qcom,qdu1000-idp', 'qcom,qdu1000-x100']
'microsoft,denali-lcd' is not one of ['qcom,qru1000-idp']
'microsoft,denali-lcd' is not one of ['qcom,qar2130p']
'microsoft,denali-lcd' is not one of ['acer,aspire1', 'qcom,sc7180-idp']
'google,coachz-rev1' was expected
'google,coachz' was expected
'google,coachz-rev1-sku0' was expected
'google,coachz-sku0' was expected
'google,homestar-rev2' was expected
'google,homestar-rev3' was expected
'google,homestar' was expected
'google,kingoftown-rev0' was expected
'google,kingoftown' was expected
'google,lazor-rev0' was expected
'google,lazor-rev1' was expected
'google,lazor-rev3' was expected
'google,lazor-rev9' was expected
'google,lazor' was expected
'google,lazor-rev1-sku2' was expected
'google,lazor-rev3-sku2' was expected
'google,lazor-rev9-sku2' was expected
'google,lazor-sku2' was expected
'google,lazor-rev1-sku0' was expected
'google,lazor-rev3-sku0' was expected
'google,lazor-rev9-sku0' was expected
'google,lazor-sku0' was expected
'google,lazor-rev4-sku4' was expected
'google,lazor-rev9-sku4' was expected
'google,lazor-sku4' was expected
'google,lazor-rev4-sku5' was expected
'google,lazor-rev5-sku5' was expected
'google,lazor-rev9-sku6' was expected
'google,lazor-sku6' was expected
'google,mrbland-rev0-sku0' was expected
'google,mrbland-sku1536' was expected
'google,mrbland-rev0-sku16' was expected
'google,mrbland-sku1024' was expected
'google,pazquel-sku5' was expected
'google,pazquel-sku1' was expected
'google,pazquel-sku6' was expected
'google,pazquel-sku0' was expected
'google,pazquel-sku22' was expected
'google,pazquel-sku21' was expected
'google,pompom-rev1' was expected
'google,pompom-rev2' was expected
'google,pompom' was expected
'google,pompom-rev1-sku0' was expected
'google,pompom-rev2-sku0' was expected
'google,pompom-sku0' was expected
'google,quackingstick-sku1537' was expected
'google,quackingstick-sku1536' was expected
'google,trogdor' was expected
'google,trogdor-sku0' was expected
'google,wormdingler-rev0-sku16' was expected
'google,wormdingler-sku1024' was expected
'google,wormdingler-sku1025' was expected
'google,wormdingler-rev0-sku0' was expected
'google,wormdingler-sku0' was expected
'google,wormdingler-sku1' was expected
'qcom,sc7280-crd' was expected
'google,zoglin' was expected
'google,zoglin-sku1536' was expected
'qcom,sc7280-idp' was expected
'qcom,sc7280-idp2' was expected
'google,evoker' was expected
'google,evoker-sku512' was expected
'google,herobrine' was expected
'google,villager-rev0' was expected
'google,villager' was expected
'google,villager-sku512' was expected
'google,zombie' was expected
'google,zombie-sku512' was expected
'google,zombie-sku2' was expected
'google,zombie-sku514' was expected
'microsoft,denali-lcd' is not one of ['lenovo,flex-5g', 'microsoft,surface-prox', 'qcom,sc8180x-primus']
'microsoft,denali-lcd' is not one of ['huawei,gaokun3', 'lenovo,thinkpad-x13s', 'microsoft,arcata', 'microsoft,blackrock', 'qcom,sc8280xp-crd', 'qcom,sc8280xp-qrd']
'microsoft,denali-lcd' is not one of ['lenovo,tbx605f', 'motorola,ali']
'microsoft,denali-lcd' is not one of ['sony,discovery-row', 'sony,kirin-row', 'sony,pioneer-row', 'sony,voyager-row']
'microsoft,denali-lcd' is not one of ['inforce,ifc6560']
'microsoft,denali-lcd' is not one of ['fairphone,fp3', 'motorola,ocean']
'microsoft,denali-lcd' is not one of ['sony,mermaid-row']
'microsoft,denali-lcd' is not one of ['xiaomi,lavender']
'microsoft,denali-lcd' is not one of ['google,sargo']
'microsoft,denali-lcd' is not one of ['qcom,sdx55-mtp', 'qcom,sdx55-telit-fn980-tlb', 'qcom,sdx55-t55']
'microsoft,denali-lcd' is not one of ['qcom,sdx65-mtp']
'microsoft,denali-lcd' is not one of ['qcom,sdx75-idp']
'microsoft,denali-lcd' is not one of ['qcom,ipq6018-cp01', 'qcom,ipq6018-cp01-c1']
'microsoft,denali-lcd' is not one of ['qcom,qcs404-evb-1000', 'qcom,qcs404-evb-4000']
'microsoft,denali-lcd' is not one of ['qcom,monaco-evk', 'qcom,qcs8300-ride']
'microsoft,denali-lcd' is not one of ['qcom,qcs615-ride']
'microsoft,denali-lcd' is not one of ['qcom,sa8155p-adp']
'microsoft,denali-lcd' is not one of ['qcom,sa8295p-adp', 'qcom,sa8540p-ride']
'microsoft,denali-lcd' is not one of ['qcom,sa8775p-ride', 'qcom,sa8775p-ride-r3']
'microsoft,denali-lcd' is not one of ['qcom,lemans-evk', 'qcom,qcs9100-ride', 'qcom,qcs9100-ride-r3']
'microsoft,denali-lcd' is not one of ['lenovo,yoga-c630', 'lg,judyln', 'lg,judyp', 'oneplus,enchilada', 'oneplus,fajita', 'qcom,sdm845-mtp', 'shift,axolotl', 'samsung,starqltechn', 'samsung,w737', 'sony,akari-row', 'sony,akatsuki-row', 'sony,apollo-row', 'thundercomm,db845c', 'xiaomi,beryllium', 'xiaomi,beryllium-ebbg', 'xiaomi,polaris']
'microsoft,denali-lcd' is not one of ['oneplus,billie2']
'microsoft,denali-lcd' is not one of ['qcom,qrb4210-rb2']
'microsoft,denali-lcd' is not one of ['qcom,sm4450-qrd']
'microsoft,denali-lcd' is not one of ['fxtec,pro1x']
'microsoft,denali-lcd' is not one of ['lenovo,j606f']
'microsoft,denali-lcd' is not one of ['sony,pdx201', 'xiaomi,ginkgo', 'xiaomi,laurel-sprout']
'microsoft,denali-lcd' is not one of ['sony,pdx213']
'microsoft,denali-lcd' is not one of ['sony,pdx225']
'microsoft,denali-lcd' is not one of ['xiaomi,curtana', 'xiaomi,joyeuse']
'microsoft,denali-lcd' is not one of ['google,sunfish']
'microsoft,denali-lcd' is not one of ['fairphone,fp4']
'microsoft,denali-lcd' is not one of ['nothing,spacewar']
'microsoft,denali-lcd' is not one of ['microsoft,surface-duo', 'qcom,sm8150-hdk', 'qcom,sm8150-mtp', 'sony,bahamut-generic', 'sony,griffin-generic']
'microsoft,denali-lcd' is not one of ['qcom,qrb5165-rb5', 'qcom,sm8250-hdk', 'qcom,sm8250-mtp', 'samsung,r8q', 'samsung,x1q', 'sony,pdx203-generic', 'sony,pdx206-generic', 'xiaomi,elish', 'xiaomi,pipa']
'microsoft,denali-lcd' is not one of ['microsoft,surface-duo2', 'qcom,sm8350-hdk', 'qcom,sm8350-mtp', 'sony,pdx214-generic', 'sony,pdx215-generic']
'microsoft,denali-lcd' is not one of ['qcom,sm8450-hdk', 'qcom,sm8450-qrd', 'samsung,r0q', 'sony,pdx223', 'sony,pdx224']
'microsoft,denali-lcd' is not one of ['qcom,sm8550-hdk', 'qcom,sm8550-mtp', 'qcom,sm8550-qrd', 'samsung,q5q', 'sony,pdx234']
'microsoft,denali-lcd' is not one of ['qcom,qcs8550-aim300-aiot']
'microsoft,denali-lcd' is not one of ['qcom,sm8650-hdk', 'qcom,sm8650-mtp', 'qcom,sm8650-qrd']
'microsoft,denali-lcd' is not one of ['qcom,sm8750-mtp', 'qcom,sm8750-qrd']
'microsoft,denali-lcd' is not one of ['qcom,x1e001de-devkit']
'microsoft,denali-lcd' is not one of ['lenovo,thinkpad-t14s-lcd', 'lenovo,thinkpad-t14s-oled']
'microsoft,denali-lcd' is not one of ['asus,vivobook-s15', 'asus,zenbook-a14-ux3407ra', 'dell,inspiron-14-plus-7441', 'dell,latitude-7455', 'dell,xps13-9345', 'hp,elitebook-ultra-g1q', 'hp,omnibook-x14', 'lenovo,yoga-slim7x', 'microsoft,denali', 'microsoft,romulus13', 'microsoft,romulus15', 'qcom,x1e80100-crd', 'qcom,x1e80100-qcp']
'microsoft,denali-lcd' is not one of ['qcom,hamoa-iot-evk']
'microsoft,denali-lcd' is not one of ['asus,zenbook-a14-ux3407qa', 'hp,omnibook-x14-fe1', 'lenovo,thinkbook-16', 'qcom,x1p42100-crd']
'qcom,apq8016' was expected
'qcom,apq8026' was expected
'qcom,apq8064' was expected
'qcom,apq8074' was expected
'qcom,msm8660' was expected
'qcom,apq8084' was expected
'qcom,msm8226' was expected
'qcom,msm8926' was expected
'qcom,msm8929' was expected
'qcom,msm8939' was expected
'qcom,msm8956' was expected
'qcom,msm8960' was expected
'qcom,msm8960t' was expected
'qcom,msm8974' was expected
'qcom,msm8974pro' was expected
'samsung,klte' was expected
'qcom,msm8976' was expected
'qcom,msm8916' was expected
'qcom,msm8917' was expected
'qcom,msm8953' was expected
'qcom,msm8992' was expected
'qcom,apq8094' was expected
'qcom,msm8994' was expected
'qcom,apq8096-sbc' was expected
'qcom,msm8996' was expected
'qcom,msm8996pro' was expected
'qcom,msm8998' was expected
'qcom,ipq4018' was expected
'qcom,ipq4019' was expected
'qcom,ipq5018' was expected
'qcom,ipq5332' was expected
'qcom,ipq5424' was expected
'qcom,ipq8064' was expected
'qcom,ipq8074' was expected
'qcom,ipq9574' was expected
'swir,wp8548' was expected
'qcom,qrb2210' was expected
'qcom,qcm6490' was expected
'qcom,qdu1000' was expected
'qcom,qru1000' was expected
'qcom,sar2130p' was expected
'qcom,sc7180' was expected
'google,coachz-rev2' was expected
'google,coachz-rev2-sku0' was expected
'google,homestar-rev23' was expected
'google,lazor-rev2' was expected
'google,lazor-rev4' was expected
'google,lazor-rev2-sku2' was expected
'google,lazor-rev4-sku2' was expected
'google,lazor-rev2-sku0' was expected
'google,lazor-rev4-sku0' was expected
'google,lazor-rev9-sku10' was expected
'google,lazor-sku10' was expected
'google,lazor-rev5-sku4' was expected
'google,lazor-rev9-sku15' was expected
'google,lazor-sku15' was expected
'google,lazor-rev5-sku6' was expected
'google,lazor-rev9-sku18' was expected
'google,lazor-sku18' was expected
'google,mrbland-sku768' was expected
'google,pazquel-sku4' was expected
'google,pazquel-sku2' was expected
'google,pazquel-sku20' was expected
'google,hoglin-rev3' was expected
'google,hoglin' was expected
'google,hoglin-sku1536' was expected
'google,senor' was expected
'google,piglin' was expected
'qcom,sc7280' was expected
'google,zombie-sku3' was expected
'qcom,sc8180x' was expected
'qcom,sc8280xp' was expected
'qcom,sdm450' was expected
'qcom,sdm630' was expected
'qcom,sda660' was expected
'qcom,sdm632' was expected
'qcom,sdm636' was expected
'qcom,sdm660' was expected
'qcom,sdm670' was expected
'qcom,sdx55' was expected
'qcom,sdx65' was expected
'qcom,sdx75' was expected
'qcom,ipq6018' was expected
'qcom,qcs404-evb' was expected
'qcom,qcs8300' was expected
'qcom,qcs615' was expected
'qcom,sa8155p' was expected
'qcom,sa8540p' was expected
'qcom,sa8775p' was expected
'qcom,qcs9100' was expected
'qcom,sdm845' was expected
'qcom,sm4250' was expected
'qcom,qrb4210' was expected
'qcom,sm4450' was expected
'qcom,sm6115' was expected
'qcom,sm6115p' was expected
'qcom,sm6125' was expected
'qcom,sm6350' was expected
'qcom,sm6375' was expected
'qcom,sm7125' was expected
'qcom,sm7150' was expected
'qcom,sm7225' was expected
'qcom,sm7325' was expected
'qcom,sm8150' was expected
'qcom,sm8250' was expected
'qcom,sm8350' was expected
'qcom,sm8450' was expected
'qcom,sm8550' was expected
'qcom,qcs8550-aim300' was expected
'qcom,sm8650' was expected
'qcom,sm8750' was expected
'qcom,x1e001de' was expected
'lenovo,thinkpad-t14s' was expected
'qcom,x1e80100' was expected
'qcom,hamoa-iot-som' was expected
'qcom,x1p42100' was expected
'qcom,apq8096' was expected
'qcom,mdm9615' was expected
'qcom,qcm2290' was expected
'google,lazor-rev5' was expected
'google,lazor-rev5-sku2' was expected
'google,lazor-rev5-sku0' was expected
'google,lazor-rev6-sku4' was expected
'google,lazor-rev6-sku6' was expected
'google,hoglin-rev4' was expected
'google,zombie-sku515' was expected
'qcom,qcs404' was expected
'qcom,sm6150' was expected
'qcom,qcs8550' was expected
'qcom,x1e78100' was expected
'google,lazor-rev6' was expected
'google,lazor-rev6-sku2' was expected
'google,lazor-rev6-sku0' was expected
'google,lazor-rev7-sku4' was expected
'google,lazor-rev7-sku6' was expected
'google,piglin-rev3' was expected
from schema $id: http://devicetree.org/schemas/arm/qcom.yaml
arch/arm64/boot/dts/qcom/x1p64100-microsoft-denali.dtb: /: failed to match any schema with compatible: ['microsoft,denali-lcd', 'microsoft,denali', 'qcom,x1p64100', 'qcom,x1e80100']
arch/arm64/boot/dts/qcom/x1p64100-microsoft-denali.dtb: /: failed to match any schema with compatible: ['microsoft,denali-lcd', 'microsoft,denali', 'qcom,x1p64100', 'qcom,x1e80100']
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH v2 4/8] arm64: dts: qcom: Add support for Surface Pro 11
2025-12-01 1:14 ` [PATCH v2 4/8] arm64: dts: qcom: Add support for " Dale Whinham
@ 2025-12-01 15:35 ` Konrad Dybcio
2025-12-02 18:50 ` Jérôme de Bretagne
0 siblings, 1 reply; 17+ messages in thread
From: Konrad Dybcio @ 2025-12-01 15:35 UTC (permalink / raw)
To: Dale Whinham, Bjorn Andersson, Konrad Dybcio, Rob Herring,
Krzysztof Kozlowski, Conor Dooley
Cc: Jérôme de Bretagne, linux-arm-msm, devicetree,
linux-kernel
On 12/1/25 2:14 AM, Dale Whinham wrote:
> Add device trees for the Qualcomm X1E and X1P-based Microsoft Surface
> Pro 11 machines (codenamed 'Denali').
>
> This device is very similar to the Surface Laptop 7 ('Romulus').
>
> Use a similar strategy to x1-asus-zenbook-a14.dtsi so that we can create
> x1e and x1p-specific flavors of the device tree without too much code
> duplication.
[...]
> + pinctrl-0 = <&hall_int_n_default>;
> + pinctrl-names = "default";
> +
> + switch-lid {
> + gpios = <&tlmm 2 GPIO_ACTIVE_LOW>;
> + linux,input-type = <EV_SW>;
> + linux,code = <SW_LID>;
I.. don't think this device has a lid - what triggers this GPIO?
[...]
> + /*
> + * TODO: These two regulators are actually part of the removable M.2
> + * card and not the CRD mainboard. Need to describe this differently.
> + * Functionally it works correctly, because all we need to do is to
> + * turn on the actual 3.3V supply above.
There's not a M.2 card, the WLAN chip is soldered on board
https://www.ifixit.com/Guide/Microsoft+Surface+Pro+11+Chip+ID/174016#s370945
> + sound {
> + compatible = "qcom,x1e80100-sndcard";
> + model = "X1E80100-Microsoft-Surface-Pro-11";
> + audio-routing = "SpkrLeft IN", "WSA WSA_SPK1 OUT",
> + "SpkrRight IN", "WSA WSA_SPK2 OUT",
> + "VA DMIC0", "vdd-micb",
> + "VA DMIC1", "vdd-micb";
> +
> + wsa-dai-link {
> + link-name = "WSA Playback";
> +
> + cpu {
> + sound-dai = <&q6apmbedai WSA_CODEC_DMA_RX_0>;
> + };
> +
> + codec {
'co'dec < 'cp'u
please flip the order of the two
[...]
> +&i2c0 {
> + clock-frequency = <400000>;
> +
> + status = "disabled";
Is there anything connected to that controller?
If so, let's keep it enabled so that it's accessible through i2c-tools
It'd be even better if you could document (in a comment, like in romulus.dtsi)
what and at what address that is
[...]
> +&lpass_tlmm {
> + spkr_01_sd_n_active: spkr-01-sd-n-active-state {
> + pins = "gpio12";
> + function = "gpio";
> + drive-strength = <16>;
> + bias-disable;
> + output-low;
Please drop output-low from both definitions, the output state is
controlled manually by the WSA driver. Although from the diff below
it looks like spkr_23_sd_n is unused and you only have 2 speakers
[...]
> +&tlmm {
> + gpio-reserved-ranges = <44 4>, /* SPI (TPM) */
> + <238 1>; /* UFS Reset */
Please ensure your tab width is set to 8
[...]
> + cam_indicator_en: cam-indicator-en-state {
> + pins = "gpio225";
> + function = "gpio";
> + drive-strength = <2>;
> + bias-disable;
> + };
> +
> + wcn_sw_en: wcn-sw-en-state {
> + pins = "gpio214";
> + function = "gpio";
> + drive-strength = <2>;
> + bias-disable;
> + };
> +
> + wcn_wlan_bt_en: wcn-wlan-bt-en-state {
> + pins = "gpio116", "gpio117";
> + function = "gpio";
> + drive-strength = <2>;
> + bias-disable;
> + };
and here (+ these last 2 entries are out of order, GPIO num-wise,
please adjust that )
[...]
> +++ b/arch/arm64/boot/dts/qcom/x1e80100-microsoft-denali-oled.dts
> @@ -0,0 +1,20 @@
> +// SPDX-License-Identifier: BSD-3-Clause
> +/*
> + * Copyright (c) 2024 Qualcomm Innovation Center, Inc. All rights reserved.
> + * Copyright (c) 2025 Dale Whinham <daleyo@gmail.com>
> + */
> +
> +/dts-v1/;
> +
> +#include "x1e80100.dtsi"
> +#include "x1-microsoft-denali.dtsi"
> +
> +/ {
> + model = "Microsoft Surface Pro 11th Edition (OLED)";
> + compatible = "microsoft,denali-oled", "microsoft,denali",
> + "qcom,x1e80100";
Are the OLED models always X1E and the LCD ones always based on X1E80100
and LCD models always based on X1P64100?
Konrad
> +};
> +
> +&panel {
> + compatible = "samsung,atna30dw01", "samsung,atna33xc20";
> +};
> diff --git a/arch/arm64/boot/dts/qcom/x1p64100-microsoft-denali.dts b/arch/arm64/boot/dts/qcom/x1p64100-microsoft-denali.dts
> new file mode 100644
> index 000000000000..7c064ad49395
> --- /dev/null
> +++ b/arch/arm64/boot/dts/qcom/x1p64100-microsoft-denali.dts
> @@ -0,0 +1,16 @@
> +// SPDX-License-Identifier: BSD-3-Clause
> +/*
> + * Copyright (c) 2024 Qualcomm Innovation Center, Inc. All rights reserved.
> + * Copyright (c) 2025 Dale Whinham <daleyo@gmail.com>
> + */
> +
> +/dts-v1/;
> +
> +#include "x1e80100.dtsi"
> +#include "x1-microsoft-denali.dtsi"
> +
> +/ {
> + model = "Microsoft Surface Pro 11th Edition (LCD)";
> + compatible = "microsoft,denali-lcd", "microsoft,denali",
> + "qcom,x1p64100", "qcom,x1e80100";
> +};
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH v2 4/8] arm64: dts: qcom: Add support for Surface Pro 11
2025-12-01 15:35 ` Konrad Dybcio
@ 2025-12-02 18:50 ` Jérôme de Bretagne
2025-12-03 10:56 ` Konrad Dybcio
0 siblings, 1 reply; 17+ messages in thread
From: Jérôme de Bretagne @ 2025-12-02 18:50 UTC (permalink / raw)
To: Konrad Dybcio
Cc: Dale Whinham, Bjorn Andersson, Konrad Dybcio, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, linux-arm-msm, devicetree,
linux-kernel
Hello,
As discussed with Dale, I will take over the v3 submission since we've
worked on this patchset together until now. Here is my feedback below.
Le lun. 1 déc. 2025 à 16:35, Konrad Dybcio
<konrad.dybcio@oss.qualcomm.com> a écrit :
>
> On 12/1/25 2:14 AM, Dale Whinham wrote:
> > Add device trees for the Qualcomm X1E and X1P-based Microsoft Surface
> > Pro 11 machines (codenamed 'Denali').
> >
> > This device is very similar to the Surface Laptop 7 ('Romulus').
> >
> > Use a similar strategy to x1-asus-zenbook-a14.dtsi so that we can create
> > x1e and x1p-specific flavors of the device tree without too much code
> > duplication.
>
> [...]
>
> > + pinctrl-0 = <&hall_int_n_default>;
> > + pinctrl-names = "default";in v3
> > +
> > + switch-lid {
> > + gpios = <&tlmm 2 GPIO_ACTIVE_LOW>;
> > + linux,input-type = <EV_SW>;
> > + linux,code = <SW_LID>;
>
> I.. don't think this device has a lid - what triggers this GPIO?
When a Surface tablet is connected to a Surface keyboard, opening/closing
the keyboard triggers a wakeup/suspend event. I will double-check if this
entry is involved and will remove/keep it in v3 based on this check.
> [...]
>
> > + /*
> > + * TODO: These two regulators are actually part of the removable M.2
> > + * card and not the CRD mainboard. Need to describe this differently.
> > + * Functionally it works correctly, because all we need to do is to
> > + * turn on the actual 3.3V supply above.
>
> There's not a M.2 card, the WLAN chip is soldered on board
>
> https://www.ifixit.com/Guide/Microsoft+Surface+Pro+11+Chip+ID/174016#s370945
Indeed, I will remove this comment as it is not applicable to this model.
> > + sound {
> > + compatible = "qcom,x1e80100-sndcard";
> > + model = "X1E80100-Microsoft-Surface-Pro-11";
> > + audio-routing = "SpkrLeft IN", "WSA WSA_SPK1 OUT",
> > + "SpkrRight IN", "WSA WSA_SPK2 OUT",
> > + "VA DMIC0", "vdd-micb",
> > + "VA DMIC1", "vdd-micb";
> > +
> > + wsa-dai-link {
> > + link-name = "WSA Playback";
> > +
> > + cpu {
> > + sound-dai = <&q6apmbedai WSA_CODEC_DMA_RX_0>;
> > + };
> > +
> > + codec {
>
> 'co'dec < 'cp'u
>
> please flip the order of the two
Sure, will do in v3. For info, this is also in the wrong order in *romulus.dtsi.
> [...]
>
> > +&i2c0 {
> > + clock-frequency = <400000>;
> > +
> > + status = "disabled";
>
> Is there anything connected to that controller?
Not clear yet, maybe for the touchscreen and pen, still to be investigated.
> If so, let's keep it enabled so that it's accessible through i2c-tools
> It'd be even better if you could document (in a comment, like in romulus.dtsi)
> what and at what address that is
I will enable it in v3, not sure if I'll find the right info to add a
useful comment.
> [...]
>
> > +&lpass_tlmm {
> > + spkr_01_sd_n_active: spkr-01-sd-n-active-state {
> > + pins = "gpio12";
> > + function = "gpio";
> > + drive-strength = <16>;
> > + bias-disable;
> > + output-low;
>
> Please drop output-low from both definitions, the output state is
Ok for v3.
> controlled manually by the WSA driver. Although from the diff below
> it looks like spkr_23_sd_n is unused and you only have 2 speakers
Looking at the public specs, it only has 2 speakers indeed.
> [...]
>
> > +&tlmm {
> > + gpio-reserved-ranges = <44 4>, /* SPI (TPM) */
> > + <238 1>; /* UFS Reset */
>
> Please ensure your tab width is set to 8
I will fix this in v3.
> [...]
> > + cam_indicator_en: cam-indicator-en-state {
> > + pins = "gpio225";
> > + function = "gpio";
> > + drive-strength = <2>;
> > + bias-disable;
> > + };
> > +
> > + wcn_sw_en: wcn-sw-en-state {
> > + pins = "gpio214";
> > + function = "gpio";
> > + drive-strength = <2>;
> > + bias-disable;
> > + };
> > +
> > + wcn_wlan_bt_en: wcn-wlan-bt-en-state {
> > + pins = "gpio116", "gpio117";
> > + function = "gpio";
> > + drive-strength = <2>;
> > + bias-disable;
> > + };
>
> and here (+ these last 2 entries are out of order, GPIO num-wise,
> please adjust that )
Noted for the tabs here + the 2 entries to reorder based on GPIO.
> [...]
>
> > +++ b/arch/arm64/boot/dts/qcom/x1e80100-microsoft-denali-oled.dts
> > @@ -0,0 +1,20 @@
> > +// SPDX-License-Identifier: BSD-3-Clause
> > +/*
> > + * Copyright (c) 2024 Qualcomm Innovation Center, Inc. All rights reserved.
> > + * Copyright (c) 2025 Dale Whinham <daleyo@gmail.com>
> > + */
> > +
> > +/dts-v1/;
> > +
> > +#include "x1e80100.dtsi"
> > +#include "x1-microsoft-denali.dtsi"
> > +
> > +/ {
> > + model = "Microsoft Surface Pro 11th Edition (OLED)";
> > + compatible = "microsoft,denali-oled", "microsoft,denali",
> > + "qcom,x1e80100";
>
> Are the OLED models always X1E and the LCD ones always based on X1E80100
> and LCD models always based on X1P64100?
The OLED models are always with the X1E and the LCD ones with X1P64100,
at least this is our understanding from the specs and online configurations.
> Konrad
Thanks a lot for your review,
Jérôme
> > +};
> > +
> > +&panel {
> > + compatible = "samsung,atna30dw01", "samsung,atna33xc20";
> > +};
> > diff --git a/arch/arm64/boot/dts/qcom/x1p64100-microsoft-denali.dts b/arch/arm64/boot/dts/qcom/x1p64100-microsoft-denali.dts
> > new file mode 100644
> > index 000000000000..7c064ad49395
> > --- /dev/null
> > +++ b/arch/arm64/boot/dts/qcom/x1p64100-microsoft-denali.dts
> > @@ -0,0 +1,16 @@
> > +// SPDX-License-Identifier: BSD-3-Clause
> > +/*
> > + * Copyright (c) 2024 Qualcomm Innovation Center, Inc. All rights reserved.
> > + * Copyright (c) 2025 Dale Whinham <daleyo@gmail.com>
> > + */
> > +
> > +/dts-v1/;
> > +
> > +#include "x1e80100.dtsi"
> > +#include "x1-microsoft-denali.dtsi"
> > +
> > +/ {
> > + model = "Microsoft Surface Pro 11th Edition (LCD)";
> > + compatible = "microsoft,denali-lcd", "microsoft,denali",
> > + "qcom,x1p64100", "qcom,x1e80100";
> > +};
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH v2 4/8] arm64: dts: qcom: Add support for Surface Pro 11
2025-12-02 18:50 ` Jérôme de Bretagne
@ 2025-12-03 10:56 ` Konrad Dybcio
2025-12-03 21:58 ` Jérôme de Bretagne
0 siblings, 1 reply; 17+ messages in thread
From: Konrad Dybcio @ 2025-12-03 10:56 UTC (permalink / raw)
To: Jérôme de Bretagne
Cc: Dale Whinham, Bjorn Andersson, Konrad Dybcio, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, linux-arm-msm, devicetree,
linux-kernel
On 12/2/25 7:50 PM, Jérôme de Bretagne wrote:
> Hello,
>
> As discussed with Dale, I will take over the v3 submission since we've
> worked on this patchset together until now. Here is my feedback below.
>
> Le lun. 1 déc. 2025 à 16:35, Konrad Dybcio
> <konrad.dybcio@oss.qualcomm.com> a écrit :
>>
>> On 12/1/25 2:14 AM, Dale Whinham wrote:
>>> Add device trees for the Qualcomm X1E and X1P-based Microsoft Surface
>>> Pro 11 machines (codenamed 'Denali').
>>>
>>> This device is very similar to the Surface Laptop 7 ('Romulus').
>>>
>>> Use a similar strategy to x1-asus-zenbook-a14.dtsi so that we can create
>>> x1e and x1p-specific flavors of the device tree without too much code
>>> duplication.
>>
>> [...]
>>
>>> + pinctrl-0 = <&hall_int_n_default>;
>>> + pinctrl-names = "default";in v3
>>> +
>>> + switch-lid {
>>> + gpios = <&tlmm 2 GPIO_ACTIVE_LOW>;
>>> + linux,input-type = <EV_SW>;
>>> + linux,code = <SW_LID>;
>>
>> I.. don't think this device has a lid - what triggers this GPIO?
>
> When a Surface tablet is connected to a Surface keyboard, opening/closing
> the keyboard triggers a wakeup/suspend event. I will double-check if this
> entry is involved and will remove/keep it in v3 based on this check.
If you have a magnet handy, you can run `evtest` as root and try waving it
around the screen frame - it's presumably just a hall sensor
Konrad
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH v2 4/8] arm64: dts: qcom: Add support for Surface Pro 11
2025-12-03 10:56 ` Konrad Dybcio
@ 2025-12-03 21:58 ` Jérôme de Bretagne
2025-12-04 9:02 ` Konrad Dybcio
0 siblings, 1 reply; 17+ messages in thread
From: Jérôme de Bretagne @ 2025-12-03 21:58 UTC (permalink / raw)
To: Konrad Dybcio
Cc: Dale Whinham, Bjorn Andersson, Konrad Dybcio, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, linux-arm-msm, devicetree,
linux-kernel
Le mer. 3 déc. 2025 à 11:56, Konrad Dybcio
<konrad.dybcio@oss.qualcomm.com> a écrit :
>
> On 12/2/25 7:50 PM, Jérôme de Bretagne wrote:
> > Hello,
> >
> > As discussed with Dale, I will take over the v3 submission since we've
> > worked on this patchset together until now. Here is my feedback below.
> >
> > Le lun. 1 déc. 2025 à 16:35, Konrad Dybcio
> > <konrad.dybcio@oss.qualcomm.com> a écrit :
> >>
> >> On 12/1/25 2:14 AM, Dale Whinham wrote:
> >>> Add device trees for the Qualcomm X1E and X1P-based Microsoft Surface
> >>> Pro 11 machines (codenamed 'Denali').
> >>>
> >>> This device is very similar to the Surface Laptop 7 ('Romulus').
> >>>
> >>> Use a similar strategy to x1-asus-zenbook-a14.dtsi so that we can create
> >>> x1e and x1p-specific flavors of the device tree without too much code
> >>> duplication.
> >>
> >> [...]
> >>
> >>> + pinctrl-0 = <&hall_int_n_default>;
> >>> + pinctrl-names = "default";in v3
> >>> +
> >>> + switch-lid {
> >>> + gpios = <&tlmm 2 GPIO_ACTIVE_LOW>;
> >>> + linux,input-type = <EV_SW>;
> >>> + linux,code = <SW_LID>;
> >>
> >> I.. don't think this device has a lid - what triggers this GPIO?
> >
> > When a Surface tablet is connected to a Surface keyboard, opening/closing
> > the keyboard triggers a wakeup/suspend event. I will double-check if this
> > entry is involved and will remove/keep it in v3 based on this check.
>
> If you have a magnet handy, you can run `evtest` as root and try waving it
> around the screen frame - it's presumably just a hall sensor
After testing tonight, I can confirm that the switch-lid entry is required.
Jérôme
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH v2 2/8] firmware: qcom: scm: allow QSEECOM on Surface Pro 11
2025-12-01 1:14 ` [PATCH v2 2/8] firmware: qcom: scm: allow QSEECOM on " Dale Whinham
@ 2025-12-04 1:25 ` Dmitry Baryshkov
0 siblings, 0 replies; 17+ messages in thread
From: Dmitry Baryshkov @ 2025-12-04 1:25 UTC (permalink / raw)
To: Dale Whinham
Cc: Bjorn Andersson, Konrad Dybcio, Jérôme de Bretagne,
linux-arm-msm, linux-kernel
On Mon, Dec 01, 2025 at 01:14:43AM +0000, Dale Whinham wrote:
> Enables access to EFI variables on this machine.
>
> Tested-by: Jérôme de Bretagne <jerome.debretagne@gmail.com>
> Signed-off-by: Dale Whinham <daleyo@gmail.com>
> ---
> drivers/firmware/qcom/qcom_scm.c | 1 +
> 1 file changed, 1 insertion(+)
>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
--
With best wishes
Dmitry
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH v2 4/8] arm64: dts: qcom: Add support for Surface Pro 11
2025-12-03 21:58 ` Jérôme de Bretagne
@ 2025-12-04 9:02 ` Konrad Dybcio
0 siblings, 0 replies; 17+ messages in thread
From: Konrad Dybcio @ 2025-12-04 9:02 UTC (permalink / raw)
To: Jérôme de Bretagne
Cc: Dale Whinham, Bjorn Andersson, Konrad Dybcio, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, linux-arm-msm, devicetree,
linux-kernel
On 12/3/25 10:58 PM, Jérôme de Bretagne wrote:
> Le mer. 3 déc. 2025 à 11:56, Konrad Dybcio
> <konrad.dybcio@oss.qualcomm.com> a écrit :
>>
>> On 12/2/25 7:50 PM, Jérôme de Bretagne wrote:
>>> Hello,
>>>
>>> As discussed with Dale, I will take over the v3 submission since we've
>>> worked on this patchset together until now. Here is my feedback below.
>>>
>>> Le lun. 1 déc. 2025 à 16:35, Konrad Dybcio
>>> <konrad.dybcio@oss.qualcomm.com> a écrit :
>>>>
>>>> On 12/1/25 2:14 AM, Dale Whinham wrote:
>>>>> Add device trees for the Qualcomm X1E and X1P-based Microsoft Surface
>>>>> Pro 11 machines (codenamed 'Denali').
>>>>>
>>>>> This device is very similar to the Surface Laptop 7 ('Romulus').
>>>>>
>>>>> Use a similar strategy to x1-asus-zenbook-a14.dtsi so that we can create
>>>>> x1e and x1p-specific flavors of the device tree without too much code
>>>>> duplication.
>>>>
>>>> [...]
>>>>
>>>>> + pinctrl-0 = <&hall_int_n_default>;
>>>>> + pinctrl-names = "default";in v3
>>>>> +
>>>>> + switch-lid {
>>>>> + gpios = <&tlmm 2 GPIO_ACTIVE_LOW>;
>>>>> + linux,input-type = <EV_SW>;
>>>>> + linux,code = <SW_LID>;
>>>>
>>>> I.. don't think this device has a lid - what triggers this GPIO?
>>>
>>> When a Surface tablet is connected to a Surface keyboard, opening/closing
>>> the keyboard triggers a wakeup/suspend event. I will double-check if this
>>> entry is involved and will remove/keep it in v3 based on this check.
>>
>> If you have a magnet handy, you can run `evtest` as root and try waving it
>> around the screen frame - it's presumably just a hall sensor
>
> After testing tonight, I can confirm that the switch-lid entry is required.
Nice, thanks
Konrad
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH v2 5/8] drm/msm/dp: Add dpcd link_rate quirk for Surface Pro 11 OLED
2025-12-01 1:14 ` [PATCH v2 5/8] drm/msm/dp: Add dpcd link_rate quirk for Surface Pro 11 OLED Dale Whinham
@ 2025-12-04 9:46 ` Dmitry Baryshkov
0 siblings, 0 replies; 17+ messages in thread
From: Dmitry Baryshkov @ 2025-12-04 9:46 UTC (permalink / raw)
To: Dale Whinham
Cc: Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, David Airlie,
Simona Vetter, Rob Clark, Dmitry Baryshkov, Abhinav Kumar,
Jessica Zhang, Sean Paul, Marijn Suijten,
Jérôme de Bretagne, dri-devel, linux-kernel,
linux-arm-msm, freedreno
On Mon, Dec 01, 2025 at 01:14:46AM +0000, Dale Whinham wrote:
> From: Jérôme de Bretagne <jerome.debretagne@gmail.com>
>
> The Samsung ATNA30DW01-1 OLED panel in Microsoft Surface Pro 11 (Denali)
> reports a max link rate value of 0 in the DPCD register, causing the
> panel to fail to probe.
>
> Add a quirk for this panel during DPCD read to set the max link rate
> to 8.1Gbps (HBR3), which is the expected value as reported by the
> "EDPOverrideDPCDCaps" block found in the DSDT (0x1E).
>
> Signed-off-by: Jérôme de Bretagne <jerome.debretagne@gmail.com>
> Tested-by: Dale Whinham <daleyo@gmail.com>
> ---
> drivers/gpu/drm/display/drm_dp_helper.c | 2 ++
> drivers/gpu/drm/msm/dp/dp_panel.c | 14 ++++++++++++++
> include/drm/display/drm_dp_helper.h | 7 +++++++
> 3 files changed, 23 insertions(+)
>
> diff --git a/drivers/gpu/drm/display/drm_dp_helper.c b/drivers/gpu/drm/display/drm_dp_helper.c
> index 4aaeae4fa03c..a533fbb2988d 100644
> --- a/drivers/gpu/drm/display/drm_dp_helper.c
> +++ b/drivers/gpu/drm/display/drm_dp_helper.c
> @@ -2543,6 +2543,8 @@ static const struct dpcd_quirk dpcd_quirk_list[] = {
> { OUI(0x00, 0x0C, 0xE7), DEVICE_ID_ANY, false, BIT(DP_DPCD_QUIRK_HBLANK_EXPANSION_REQUIRES_DSC) },
> /* Apple MacBookPro 2017 15 inch eDP Retina panel reports too low DP_MAX_LINK_RATE */
> { OUI(0x00, 0x10, 0xfa), DEVICE_ID(101, 68, 21, 101, 98, 97), false, BIT(DP_DPCD_QUIRK_CAN_DO_MAX_LINK_RATE_3_24_GBPS) },
> + /* Samsung ATNA30DW01-1 OLED panel in Microsoft Surface Pro 11 reports a DP_MAX_LINK_RATE of 0 */
> + { OUI(0xBA, 0x41, 0x59), DEVICE_ID_ANY, false, BIT(DP_DPCD_QUIRK_CAN_DO_MAX_LINK_RATE_8_1_GBPS) },
NAK, DP_MAX_LINK_RATE = 0 is a part of the eDP standard. The driver
should use alternative method (Link Rate Table) to identify supported
link rates.
> };
>
> #undef OUI
--
With best wishes
Dmitry
^ permalink raw reply [flat|nested] 17+ messages in thread
end of thread, other threads:[~2025-12-04 9:46 UTC | newest]
Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-12-01 1:14 [PATCH v2 0/8] Microsoft Surface Pro 11 support Dale Whinham
2025-12-01 1:14 ` [PATCH v2 1/8] dt-bindings: arm: qcom: Document Microsoft Surface Pro 11 Dale Whinham
2025-12-01 2:17 ` Rob Herring (Arm)
2025-12-01 7:30 ` Krzysztof Kozlowski
2025-12-01 1:14 ` [PATCH v2 2/8] firmware: qcom: scm: allow QSEECOM on " Dale Whinham
2025-12-04 1:25 ` Dmitry Baryshkov
2025-12-01 1:14 ` [PATCH v2 4/8] arm64: dts: qcom: Add support for " Dale Whinham
2025-12-01 15:35 ` Konrad Dybcio
2025-12-02 18:50 ` Jérôme de Bretagne
2025-12-03 10:56 ` Konrad Dybcio
2025-12-03 21:58 ` Jérôme de Bretagne
2025-12-04 9:02 ` Konrad Dybcio
2025-12-01 1:14 ` [PATCH v2 5/8] drm/msm/dp: Add dpcd link_rate quirk for Surface Pro 11 OLED Dale Whinham
2025-12-04 9:46 ` Dmitry Baryshkov
2025-12-01 1:14 ` [PATCH v2 8/8] arm64: dts: qcom: x1-microsoft-denali: Disable rfkill for wifi0 Dale Whinham
2025-12-01 7:35 ` Krzysztof Kozlowski
2025-12-01 12:27 ` [PATCH v2 0/8] Microsoft Surface Pro 11 support Rob Herring
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox