* [PATCH v3 0/6] Microsoft Surface Pro 11 support
@ 2025-12-17 23:56 Jérôme de Bretagne via B4 Relay
2025-12-17 23:56 ` [PATCH v3 1/6] dt-bindings: arm: qcom: Document Microsoft Surface Pro 11 Jérôme de Bretagne via B4 Relay
` (6 more replies)
0 siblings, 7 replies; 14+ messages in thread
From: Jérôme de Bretagne via B4 Relay @ 2025-12-17 23:56 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Johannes Berg, Lorenzo Bianconi, Maximilian Luz,
Hans de Goede, Ilpo Järvinen, Jeff Johnson
Cc: linux-arm-msm, devicetree, linux-kernel, linux-wireless,
platform-driver-x86, ath12k, Dale Whinham,
Jérôme de Bretagne, Dmitry Baryshkov
This series brings support for the Qualcomm-based Microsoft Surface
Pro 11 covering both the OLED and LCD variants.
Signed-off-by: Dale Whinham <daleyo@gmail.com>
Signed-off-by: Jérôme de Bretagne <jerome.debretagne@gmail.com>
---
Changes in v3:
- Update the compatible strings to document both the OLED and LCD variants
- Move the disable-rfkill property into ieee80211.yaml [Rob,Krzysztof]
- Reference commit c6a7c0b09d5f and detail the disable-rfkill patch description [Rob,Krzysztof]
- Switch to the renamed hamoa.dtsi and hamoa-pmics.dtsi [Dale]
- Improve the comments describing the 2 USB Type-C port location
- Update the speaker definition to describe only 2-speakers [Konrad]
- Drop output-low from the speaker definition [Konrad]
- Enable i2c0 to make it accessible through i2c-tools [Konrad]
- Delete a non-applicable comment about removable WLAN card [Konrad]
- Re-order a few nodes and fix indentation issues [Konrad]
- Squash one of the patches as suggested [Krzysztof]
- Drop the NAKed patch patch about a dpcd link rate quirk [Dmitry]
- Include the Reviewed-by: tags
- Link to v2: https://lore.kernel.org/all/20251201011457.17422-1-daleyo@gmail.com/
Changes in 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 (4):
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
Jérôme de Bretagne (2):
dt-bindings: arm: qcom: Document Microsoft Surface Pro 11
dt-bindings: wireless: ieee80211: Add disable-rfkill property
Documentation/devicetree/bindings/arm/qcom.yaml | 8 +
.../bindings/net/wireless/ieee80211.yaml | 6 +
arch/arm64/boot/dts/qcom/Makefile | 4 +
arch/arm64/boot/dts/qcom/x1-microsoft-denali.dtsi | 1326 ++++++++++++++++++++
.../dts/qcom/x1e80100-microsoft-denali-oled.dts | 20 +
.../boot/dts/qcom/x1p64100-microsoft-denali.dts | 16 +
drivers/firmware/qcom/qcom_scm.c | 1 +
drivers/net/wireless/ath/ath12k/core.c | 3 +
.../platform/surface/surface_aggregator_registry.c | 18 +
9 files changed, 1402 insertions(+)
---
base-commit: 8f0b4cce4481fb22653697cced8d0d04027cb1e8
change-id: 20251218-surface-sp11-for-next-626e327f7b33
Best regards,
--
Jérôme de Bretagne <jerome.debretagne@gmail.com>
^ permalink raw reply [flat|nested] 14+ messages in thread* [PATCH v3 1/6] dt-bindings: arm: qcom: Document Microsoft Surface Pro 11 2025-12-17 23:56 [PATCH v3 0/6] Microsoft Surface Pro 11 support Jérôme de Bretagne via B4 Relay @ 2025-12-17 23:56 ` Jérôme de Bretagne via B4 Relay 2025-12-18 14:15 ` Konrad Dybcio 2025-12-17 23:56 ` [PATCH v3 2/6] dt-bindings: wireless: ieee80211: Add disable-rfkill property Jérôme de Bretagne via B4 Relay ` (5 subsequent siblings) 6 siblings, 1 reply; 14+ messages in thread From: Jérôme de Bretagne via B4 Relay @ 2025-12-17 23:56 UTC (permalink / raw) To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Johannes Berg, Lorenzo Bianconi, Maximilian Luz, Hans de Goede, Ilpo Järvinen, Jeff Johnson Cc: linux-arm-msm, devicetree, linux-kernel, linux-wireless, platform-driver-x86, ath12k, Dale Whinham, Jérôme de Bretagne From: Jérôme de Bretagne <jerome.debretagne@gmail.com> Add the compatibles for the Qualcomm-based Microsoft Surface Pro 11, using its Denali codename. The LCD models are using the Qualcomm Snapdragon X1 Plus (X1P64100), the OLED ones are using the Qualcomm Snapdragon X1 Elite (X1E80100). Due to the difference in how the built-in panel is being handled between the OLED variant and LCD one, it is required to have two separate DTBs, so document the compatible string for both variants. Signed-off-by: Jérôme de Bretagne <jerome.debretagne@gmail.com> --- Documentation/devicetree/bindings/arm/qcom.yaml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/Documentation/devicetree/bindings/arm/qcom.yaml b/Documentation/devicetree/bindings/arm/qcom.yaml index d84bd3bca2010508a8225b9549d8c634efa06531..7c99bc0d3aae3dc6e9c08fef0a535e114a3297a8 100644 --- a/Documentation/devicetree/bindings/arm/qcom.yaml +++ b/Documentation/devicetree/bindings/arm/qcom.yaml @@ -1067,6 +1067,14 @@ properties: - const: qcom,x1e78100 - const: qcom,x1e80100 + - items: + - enum: + - microsoft,denali-lcd + - microsoft,denali-oled + - const: microsoft,denali + - const: qcom,x1p64100 + - const: qcom,x1e80100 + - items: - enum: - asus,vivobook-s15 -- 2.47.3 ^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [PATCH v3 1/6] dt-bindings: arm: qcom: Document Microsoft Surface Pro 11 2025-12-17 23:56 ` [PATCH v3 1/6] dt-bindings: arm: qcom: Document Microsoft Surface Pro 11 Jérôme de Bretagne via B4 Relay @ 2025-12-18 14:15 ` Konrad Dybcio 2025-12-18 16:35 ` Jérôme de Bretagne 0 siblings, 1 reply; 14+ messages in thread From: Konrad Dybcio @ 2025-12-18 14:15 UTC (permalink / raw) To: jerome.debretagne, Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Johannes Berg, Lorenzo Bianconi, Maximilian Luz, Hans de Goede, Ilpo Järvinen, Jeff Johnson Cc: linux-arm-msm, devicetree, linux-kernel, linux-wireless, platform-driver-x86, ath12k, Dale Whinham On 12/18/25 12:56 AM, Jérôme de Bretagne via B4 Relay wrote: > From: Jérôme de Bretagne <jerome.debretagne@gmail.com> > > Add the compatibles for the Qualcomm-based Microsoft Surface Pro 11, > using its Denali codename. > > The LCD models are using the Qualcomm Snapdragon X1 Plus (X1P64100), > the OLED ones are using the Qualcomm Snapdragon X1 Elite (X1E80100). > > Due to the difference in how the built-in panel is being handled > between the OLED variant and LCD one, it is required to have two > separate DTBs, so document the compatible string for both variants. > > Signed-off-by: Jérôme de Bretagne <jerome.debretagne@gmail.com> > --- > Documentation/devicetree/bindings/arm/qcom.yaml | 8 ++++++++ > 1 file changed, 8 insertions(+) > > diff --git a/Documentation/devicetree/bindings/arm/qcom.yaml b/Documentation/devicetree/bindings/arm/qcom.yaml > index d84bd3bca2010508a8225b9549d8c634efa06531..7c99bc0d3aae3dc6e9c08fef0a535e114a3297a8 100644 > --- a/Documentation/devicetree/bindings/arm/qcom.yaml > +++ b/Documentation/devicetree/bindings/arm/qcom.yaml > @@ -1067,6 +1067,14 @@ properties: > - const: qcom,x1e78100 > - const: qcom,x1e80100 > > + - items: > + - enum: > + - microsoft,denali-lcd > + - microsoft,denali-oled > + - const: microsoft,denali > + - const: qcom,x1p64100 > + - const: qcom,x1e80100 As the bot pointed out, this is valid, but not what you want: This expects "microsoft,denali-(lcd/oled)", "microsoft,denali", "qcom,x1p64100", "qcom,x1e80100" whereas you're looking for 2 entries: - items: const: microsoft,denali-lcd const: microsoft,denali const: qcom,x1p64100 const: qcom,x1e80100 - items: const: microsoft,denali-oled const: microsoft,denali const: qcom,x1e80100 Konrad ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH v3 1/6] dt-bindings: arm: qcom: Document Microsoft Surface Pro 11 2025-12-18 14:15 ` Konrad Dybcio @ 2025-12-18 16:35 ` Jérôme de Bretagne 2025-12-19 11:33 ` Konrad Dybcio 0 siblings, 1 reply; 14+ messages in thread From: Jérôme de Bretagne @ 2025-12-18 16:35 UTC (permalink / raw) To: Konrad Dybcio Cc: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Johannes Berg, Lorenzo Bianconi, Maximilian Luz, Hans de Goede, Ilpo Järvinen, Jeff Johnson, linux-arm-msm, devicetree, linux-kernel, linux-wireless, platform-driver-x86, ath12k, Dale Whinham Le jeu. 18 déc. 2025 à 15:15, Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> a écrit : > > On 12/18/25 12:56 AM, Jérôme de Bretagne via B4 Relay wrote: > > From: Jérôme de Bretagne <jerome.debretagne@gmail.com> > > > > Add the compatibles for the Qualcomm-based Microsoft Surface Pro 11, > > using its Denali codename. > > > > The LCD models are using the Qualcomm Snapdragon X1 Plus (X1P64100), > > the OLED ones are using the Qualcomm Snapdragon X1 Elite (X1E80100). > > > > Due to the difference in how the built-in panel is being handled > > between the OLED variant and LCD one, it is required to have two > > separate DTBs, so document the compatible string for both variants. > > > > Signed-off-by: Jérôme de Bretagne <jerome.debretagne@gmail.com> > > --- > > Documentation/devicetree/bindings/arm/qcom.yaml | 8 ++++++++ > > 1 file changed, 8 insertions(+) > > > > diff --git a/Documentation/devicetree/bindings/arm/qcom.yaml b/Documentation/devicetree/bindings/arm/qcom.yaml > > index d84bd3bca2010508a8225b9549d8c634efa06531..7c99bc0d3aae3dc6e9c08fef0a535e114a3297a8 100644 > > --- a/Documentation/devicetree/bindings/arm/qcom.yaml > > +++ b/Documentation/devicetree/bindings/arm/qcom.yaml > > @@ -1067,6 +1067,14 @@ properties: > > - const: qcom,x1e78100 > > - const: qcom,x1e80100 > > > > + - items: > > + - enum: > > + - microsoft,denali-lcd > > + - microsoft,denali-oled > > + - const: microsoft,denali > > + - const: qcom,x1p64100 > > + - const: qcom,x1e80100 > > As the bot pointed out, this is valid, but not what you want: > > This expects > > "microsoft,denali-(lcd/oled)", "microsoft,denali", "qcom,x1p64100", > "qcom,x1e80100" > > whereas you're looking for 2 entries: > > - items: > const: microsoft,denali-lcd > const: microsoft,denali > const: qcom,x1p64100 > const: qcom,x1e80100 > > - items: > const: microsoft,denali-oled > const: microsoft,denali > const: qcom,x1e80100 I was trying to group the 2 variants together, as they are very much related. Your description captures the 2 variants way more precisely, I will switch to 2 distinct entries in v4. > Konrad Thanks again for your review, Jérôme ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH v3 1/6] dt-bindings: arm: qcom: Document Microsoft Surface Pro 11 2025-12-18 16:35 ` Jérôme de Bretagne @ 2025-12-19 11:33 ` Konrad Dybcio 0 siblings, 0 replies; 14+ messages in thread From: Konrad Dybcio @ 2025-12-19 11:33 UTC (permalink / raw) To: Jérôme de Bretagne Cc: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Johannes Berg, Lorenzo Bianconi, Maximilian Luz, Hans de Goede, Ilpo Järvinen, Jeff Johnson, linux-arm-msm, devicetree, linux-kernel, linux-wireless, platform-driver-x86, ath12k, Dale Whinham On 12/18/25 5:35 PM, Jérôme de Bretagne wrote: > Le jeu. 18 déc. 2025 à 15:15, Konrad Dybcio > <konrad.dybcio@oss.qualcomm.com> a écrit : >> >> On 12/18/25 12:56 AM, Jérôme de Bretagne via B4 Relay wrote: >>> From: Jérôme de Bretagne <jerome.debretagne@gmail.com> >>> >>> Add the compatibles for the Qualcomm-based Microsoft Surface Pro 11, >>> using its Denali codename. >>> >>> The LCD models are using the Qualcomm Snapdragon X1 Plus (X1P64100), >>> the OLED ones are using the Qualcomm Snapdragon X1 Elite (X1E80100). >>> >>> Due to the difference in how the built-in panel is being handled >>> between the OLED variant and LCD one, it is required to have two >>> separate DTBs, so document the compatible string for both variants. >>> >>> Signed-off-by: Jérôme de Bretagne <jerome.debretagne@gmail.com> >>> --- >>> Documentation/devicetree/bindings/arm/qcom.yaml | 8 ++++++++ >>> 1 file changed, 8 insertions(+) >>> >>> diff --git a/Documentation/devicetree/bindings/arm/qcom.yaml b/Documentation/devicetree/bindings/arm/qcom.yaml >>> index d84bd3bca2010508a8225b9549d8c634efa06531..7c99bc0d3aae3dc6e9c08fef0a535e114a3297a8 100644 >>> --- a/Documentation/devicetree/bindings/arm/qcom.yaml >>> +++ b/Documentation/devicetree/bindings/arm/qcom.yaml >>> @@ -1067,6 +1067,14 @@ properties: >>> - const: qcom,x1e78100 >>> - const: qcom,x1e80100 >>> >>> + - items: >>> + - enum: >>> + - microsoft,denali-lcd >>> + - microsoft,denali-oled >>> + - const: microsoft,denali >>> + - const: qcom,x1p64100 >>> + - const: qcom,x1e80100 >> >> As the bot pointed out, this is valid, but not what you want: >> >> This expects >> >> "microsoft,denali-(lcd/oled)", "microsoft,denali", "qcom,x1p64100", >> "qcom,x1e80100" >> >> whereas you're looking for 2 entries: >> >> - items: >> const: microsoft,denali-lcd >> const: microsoft,denali >> const: qcom,x1p64100 >> const: qcom,x1e80100 >> >> - items: >> const: microsoft,denali-oled >> const: microsoft,denali >> const: qcom,x1e80100 > > I was trying to group the 2 variants together, as they are very much > related. Your description captures the 2 variants way more precisely, > I will switch to 2 distinct entries in v4. Unfortunately, in math terms, this is a: ab + ac + bc situation, as in you see there's a lot of repetition, but there's no way to find a common neat factor for every entry Konrad ^ permalink raw reply [flat|nested] 14+ messages in thread
* [PATCH v3 2/6] dt-bindings: wireless: ieee80211: Add disable-rfkill property 2025-12-17 23:56 [PATCH v3 0/6] Microsoft Surface Pro 11 support Jérôme de Bretagne via B4 Relay 2025-12-17 23:56 ` [PATCH v3 1/6] dt-bindings: arm: qcom: Document Microsoft Surface Pro 11 Jérôme de Bretagne via B4 Relay @ 2025-12-17 23:56 ` Jérôme de Bretagne via B4 Relay 2025-12-17 23:56 ` [PATCH v3 3/6] firmware: qcom: scm: allow QSEECOM on Surface Pro 11 Jérôme de Bretagne via B4 Relay ` (4 subsequent siblings) 6 siblings, 0 replies; 14+ messages in thread From: Jérôme de Bretagne via B4 Relay @ 2025-12-17 23:56 UTC (permalink / raw) To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Johannes Berg, Lorenzo Bianconi, Maximilian Luz, Hans de Goede, Ilpo Järvinen, Jeff Johnson Cc: linux-arm-msm, devicetree, linux-kernel, linux-wireless, platform-driver-x86, ath12k, Dale Whinham, Jérôme de Bretagne From: Jérôme de Bretagne <jerome.debretagne@gmail.com> For some devices, Wi-Fi is entirely hard blocked by default making the Wi-Fi radio unusable, except if rfkill is disabled as expected on those models. Commit c6a7c0b09d5f ("wifi: ath12k: Add Support for enabling or disabling specific features based on ACPI bitflag") added a way to support features set via ACPI, including the DISABLE_RFKILL bit. Add a disable-rfkill property to expose the DISABLE_RFKILL bit equivalent for devices described by a Devicetree instead of ACPI. Tested-by: Dale Whinham <daleyo@gmail.com> Signed-off-by: Jérôme de Bretagne <jerome.debretagne@gmail.com> --- Documentation/devicetree/bindings/net/wireless/ieee80211.yaml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Documentation/devicetree/bindings/net/wireless/ieee80211.yaml b/Documentation/devicetree/bindings/net/wireless/ieee80211.yaml index d89f7a3f88a71d45d6f4ab2ae909eae09cbcaf9a..c10a4675640be947cd0b5eaec2c7ff367fd93945 100644 --- a/Documentation/devicetree/bindings/net/wireless/ieee80211.yaml +++ b/Documentation/devicetree/bindings/net/wireless/ieee80211.yaml @@ -29,6 +29,12 @@ properties: different 5 GHz subbands. Using them incorrectly could not work or decrease performance noticeably + disable-rfkill: + type: boolean + description: + Disable rfkill for some devices on which Wi-Fi would be entirely hard + blocked by default otherwise + additionalProperties: true examples: -- 2.47.3 ^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH v3 3/6] firmware: qcom: scm: allow QSEECOM on Surface Pro 11 2025-12-17 23:56 [PATCH v3 0/6] Microsoft Surface Pro 11 support Jérôme de Bretagne via B4 Relay 2025-12-17 23:56 ` [PATCH v3 1/6] dt-bindings: arm: qcom: Document Microsoft Surface Pro 11 Jérôme de Bretagne via B4 Relay 2025-12-17 23:56 ` [PATCH v3 2/6] dt-bindings: wireless: ieee80211: Add disable-rfkill property Jérôme de Bretagne via B4 Relay @ 2025-12-17 23:56 ` Jérôme de Bretagne via B4 Relay 2025-12-17 23:56 ` [PATCH v3 4/6] platform/surface: aggregator_registry: Add " Jérôme de Bretagne via B4 Relay ` (3 subsequent siblings) 6 siblings, 0 replies; 14+ messages in thread From: Jérôme de Bretagne via B4 Relay @ 2025-12-17 23:56 UTC (permalink / raw) To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Johannes Berg, Lorenzo Bianconi, Maximilian Luz, Hans de Goede, Ilpo Järvinen, Jeff Johnson Cc: linux-arm-msm, devicetree, linux-kernel, linux-wireless, platform-driver-x86, ath12k, Dale Whinham, Jérôme de Bretagne, Dmitry Baryshkov From: Dale Whinham <daleyo@gmail.com> Enables access to EFI variables on this machine. Signed-off-by: Dale Whinham <daleyo@gmail.com> Signed-off-by: Jérôme de Bretagne <jerome.debretagne@gmail.com> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.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 1a6f85e463e06a12814614cea20719c90a371b69..3dabb04094f91811a430e84998d3c6c759b5c747 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.47.3 ^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH v3 4/6] platform/surface: aggregator_registry: Add Surface Pro 11 2025-12-17 23:56 [PATCH v3 0/6] Microsoft Surface Pro 11 support Jérôme de Bretagne via B4 Relay ` (2 preceding siblings ...) 2025-12-17 23:56 ` [PATCH v3 3/6] firmware: qcom: scm: allow QSEECOM on Surface Pro 11 Jérôme de Bretagne via B4 Relay @ 2025-12-17 23:56 ` Jérôme de Bretagne via B4 Relay 2025-12-18 0:07 ` Dmitry Baryshkov 2025-12-17 23:56 ` [PATCH v3 5/6] arm64: dts: qcom: Add support for " Jérôme de Bretagne via B4 Relay ` (2 subsequent siblings) 6 siblings, 1 reply; 14+ messages in thread From: Jérôme de Bretagne via B4 Relay @ 2025-12-17 23:56 UTC (permalink / raw) To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Johannes Berg, Lorenzo Bianconi, Maximilian Luz, Hans de Goede, Ilpo Järvinen, Jeff Johnson Cc: linux-arm-msm, devicetree, linux-kernel, linux-wireless, platform-driver-x86, ath12k, Dale Whinham, Jérôme de Bretagne From: Dale Whinham <daleyo@gmail.com> This enables support for the X1-based Surface Pro 11. Signed-off-by: Dale Whinham <daleyo@gmail.com> Signed-off-by: Jérôme de Bretagne <jerome.debretagne@gmail.com> Reviewed-by: Maximilian Luz <luzmaximilian@gmail.com> --- drivers/platform/surface/surface_aggregator_registry.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/drivers/platform/surface/surface_aggregator_registry.c b/drivers/platform/surface/surface_aggregator_registry.c index 78ac3a8fbb736384f7e50f1888a71297a892a7c3..c18d991afc8b0a0bbb26966351b75b8ea01097a4 100644 --- a/drivers/platform/surface/surface_aggregator_registry.c +++ b/drivers/platform/surface/surface_aggregator_registry.c @@ -406,6 +406,22 @@ static const struct software_node *ssam_node_group_sp9_5g[] = { NULL, }; +/* Devices for Surface Pro 11 (ARM/QCOM) */ +static const struct software_node *ssam_node_group_sp11[] = { + &ssam_node_root, + &ssam_node_hub_kip, + &ssam_node_bat_ac, + &ssam_node_bat_main, + &ssam_node_tmp_sensors, + &ssam_node_hid_kip_keyboard, + &ssam_node_hid_kip_penstash, + &ssam_node_hid_kip_touchpad, + &ssam_node_hid_kip_fwupd, + &ssam_node_hid_sam_sensors, + &ssam_node_kip_tablet_switch, + NULL, +}; + /* -- SSAM platform/meta-hub driver. ---------------------------------------- */ static const struct acpi_device_id ssam_platform_hub_acpi_match[] = { @@ -485,6 +501,8 @@ static const struct of_device_id ssam_platform_hub_of_match[] __maybe_unused = { /* Surface Laptop 7 */ { .compatible = "microsoft,romulus13", (void *)ssam_node_group_sl7 }, { .compatible = "microsoft,romulus15", (void *)ssam_node_group_sl7 }, + /* Surface Pro 11 */ + { .compatible = "microsoft,denali", (void *)ssam_node_group_sp11 }, { }, }; -- 2.47.3 ^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [PATCH v3 4/6] platform/surface: aggregator_registry: Add Surface Pro 11 2025-12-17 23:56 ` [PATCH v3 4/6] platform/surface: aggregator_registry: Add " Jérôme de Bretagne via B4 Relay @ 2025-12-18 0:07 ` Dmitry Baryshkov 2025-12-18 8:04 ` Jérôme de Bretagne 0 siblings, 1 reply; 14+ messages in thread From: Dmitry Baryshkov @ 2025-12-18 0:07 UTC (permalink / raw) To: jerome.debretagne Cc: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Johannes Berg, Lorenzo Bianconi, Maximilian Luz, Hans de Goede, Ilpo Järvinen, Jeff Johnson, linux-arm-msm, devicetree, linux-kernel, linux-wireless, platform-driver-x86, ath12k, Dale Whinham On Thu, Dec 18, 2025 at 12:56:40AM +0100, Jérôme de Bretagne via B4 Relay wrote: > From: Dale Whinham <daleyo@gmail.com> > > This enables support for the X1-based Surface Pro 11. > > Signed-off-by: Dale Whinham <daleyo@gmail.com> > Signed-off-by: Jérôme de Bretagne <jerome.debretagne@gmail.com> > Reviewed-by: Maximilian Luz <luzmaximilian@gmail.com> > --- > drivers/platform/surface/surface_aggregator_registry.c | 18 ++++++++++++++++++ > 1 file changed, 18 insertions(+) > > diff --git a/drivers/platform/surface/surface_aggregator_registry.c b/drivers/platform/surface/surface_aggregator_registry.c > index 78ac3a8fbb736384f7e50f1888a71297a892a7c3..c18d991afc8b0a0bbb26966351b75b8ea01097a4 100644 > --- a/drivers/platform/surface/surface_aggregator_registry.c > +++ b/drivers/platform/surface/surface_aggregator_registry.c > @@ -406,6 +406,22 @@ static const struct software_node *ssam_node_group_sp9_5g[] = { > NULL, > }; > > +/* Devices for Surface Pro 11 (ARM/QCOM) */ > +static const struct software_node *ssam_node_group_sp11[] = { > + &ssam_node_root, > + &ssam_node_hub_kip, > + &ssam_node_bat_ac, > + &ssam_node_bat_main, > + &ssam_node_tmp_sensors, > + &ssam_node_hid_kip_keyboard, > + &ssam_node_hid_kip_penstash, > + &ssam_node_hid_kip_touchpad, > + &ssam_node_hid_kip_fwupd, > + &ssam_node_hid_sam_sensors, > + &ssam_node_kip_tablet_switch, > + NULL, > +}; > + > /* -- SSAM platform/meta-hub driver. ---------------------------------------- */ > > static const struct acpi_device_id ssam_platform_hub_acpi_match[] = { > @@ -485,6 +501,8 @@ static const struct of_device_id ssam_platform_hub_of_match[] __maybe_unused = { > /* Surface Laptop 7 */ > { .compatible = "microsoft,romulus13", (void *)ssam_node_group_sl7 }, > { .compatible = "microsoft,romulus15", (void *)ssam_node_group_sl7 }, > + /* Surface Pro 11 */ > + { .compatible = "microsoft,denali", (void *)ssam_node_group_sp11 }, Please keep it sorted. arcata < denali < romulus > { }, > }; > > > -- > 2.47.3 > > -- With best wishes Dmitry ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH v3 4/6] platform/surface: aggregator_registry: Add Surface Pro 11 2025-12-18 0:07 ` Dmitry Baryshkov @ 2025-12-18 8:04 ` Jérôme de Bretagne 0 siblings, 0 replies; 14+ messages in thread From: Jérôme de Bretagne @ 2025-12-18 8:04 UTC (permalink / raw) To: Dmitry Baryshkov Cc: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Johannes Berg, Lorenzo Bianconi, Maximilian Luz, Hans de Goede, Ilpo Järvinen, Jeff Johnson, linux-arm-msm, devicetree, linux-kernel, linux-wireless, platform-driver-x86, ath12k, Dale Whinham Le jeu. 18 déc. 2025 à 01:07, Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> a écrit : > > On Thu, Dec 18, 2025 at 12:56:40AM +0100, Jérôme de Bretagne via B4 Relay wrote: > > From: Dale Whinham <daleyo@gmail.com> > > > > This enables support for the X1-based Surface Pro 11. > > > > Signed-off-by: Dale Whinham <daleyo@gmail.com> > > Signed-off-by: Jérôme de Bretagne <jerome.debretagne@gmail.com> > > Reviewed-by: Maximilian Luz <luzmaximilian@gmail.com> > > --- > > drivers/platform/surface/surface_aggregator_registry.c | 18 ++++++++++++++++++ > > 1 file changed, 18 insertions(+) > > > > diff --git a/drivers/platform/surface/surface_aggregator_registry.c b/drivers/platform/surface/surface_aggregator_registry.c > > index 78ac3a8fbb736384f7e50f1888a71297a892a7c3..c18d991afc8b0a0bbb26966351b75b8ea01097a4 100644 > > --- a/drivers/platform/surface/surface_aggregator_registry.c > > +++ b/drivers/platform/surface/surface_aggregator_registry.c > > @@ -406,6 +406,22 @@ static const struct software_node *ssam_node_group_sp9_5g[] = { > > NULL, > > }; > > > > +/* Devices for Surface Pro 11 (ARM/QCOM) */ > > +static const struct software_node *ssam_node_group_sp11[] = { > > + &ssam_node_root, > > + &ssam_node_hub_kip, > > + &ssam_node_bat_ac, > > + &ssam_node_bat_main, > > + &ssam_node_tmp_sensors, > > + &ssam_node_hid_kip_keyboard, > > + &ssam_node_hid_kip_penstash, > > + &ssam_node_hid_kip_touchpad, > > + &ssam_node_hid_kip_fwupd, > > + &ssam_node_hid_sam_sensors, > > + &ssam_node_kip_tablet_switch, > > + NULL, > > +}; > > + > > /* -- SSAM platform/meta-hub driver. ---------------------------------------- */ > > > > static const struct acpi_device_id ssam_platform_hub_acpi_match[] = { > > @@ -485,6 +501,8 @@ static const struct of_device_id ssam_platform_hub_of_match[] __maybe_unused = { > > /* Surface Laptop 7 */ > > { .compatible = "microsoft,romulus13", (void *)ssam_node_group_sl7 }, > > { .compatible = "microsoft,romulus15", (void *)ssam_node_group_sl7 }, > > + /* Surface Pro 11 */ > > + { .compatible = "microsoft,denali", (void *)ssam_node_group_sp11 }, > > Please keep it sorted. arcata < denali < romulus Thank you, I will fix this in v4. > > { }, > > }; > > > > > > -- > > 2.47.3 > > > > > > -- > With best wishes > Dmitry ^ permalink raw reply [flat|nested] 14+ messages in thread
* [PATCH v3 5/6] arm64: dts: qcom: Add support for Surface Pro 11 2025-12-17 23:56 [PATCH v3 0/6] Microsoft Surface Pro 11 support Jérôme de Bretagne via B4 Relay ` (3 preceding siblings ...) 2025-12-17 23:56 ` [PATCH v3 4/6] platform/surface: aggregator_registry: Add " Jérôme de Bretagne via B4 Relay @ 2025-12-17 23:56 ` Jérôme de Bretagne via B4 Relay 2025-12-18 10:54 ` Konrad Dybcio 2025-12-17 23:56 ` [PATCH v3 6/6] wifi: ath12k: Add support for disabling rfkill via devicetree Jérôme de Bretagne via B4 Relay 2025-12-18 14:10 ` [PATCH v3 0/6] Microsoft Surface Pro 11 support Rob Herring 6 siblings, 1 reply; 14+ messages in thread From: Jérôme de Bretagne via B4 Relay @ 2025-12-17 23:56 UTC (permalink / raw) To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Johannes Berg, Lorenzo Bianconi, Maximilian Luz, Hans de Goede, Ilpo Järvinen, Jeff Johnson Cc: linux-arm-msm, devicetree, linux-kernel, linux-wireless, platform-driver-x86, ath12k, Dale Whinham, Jérôme de Bretagne From: Dale Whinham <daleyo@gmail.com> 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 X1 machines. The most notable missing features are: - Touchscreen and pen - Cameras (and status LEDs) Signed-off-by: Dale Whinham <daleyo@gmail.com> Tested-by: Dale Whinham <daleyo@gmail.com> Signed-off-by: Jérôme de Bretagne <jerome.debretagne@gmail.com> --- arch/arm64/boot/dts/qcom/Makefile | 4 + arch/arm64/boot/dts/qcom/x1-microsoft-denali.dtsi | 1326 ++++++++++++++++++++ .../dts/qcom/x1e80100-microsoft-denali-oled.dts | 20 + .../boot/dts/qcom/x1p64100-microsoft-denali.dts | 16 + 4 files changed, 1366 insertions(+) diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile index 6f34d5ed331c4cc5ec01de7a0ecbc45f64c3ee15..3641f9371aae0f856e9f2050b48027a998b0c2c2 100644 --- a/arch/arm64/boot/dts/qcom/Makefile +++ b/arch/arm64/boot/dts/qcom/Makefile @@ -346,6 +346,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 @@ -362,3 +364,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 0000000000000000000000000000000000000000..32c88f420ebd4a9b8899d11ab14ecbb6c2859ec3 --- /dev/null +++ b/arch/arm64/boot/dts/qcom/x1-microsoft-denali.dtsi @@ -0,0 +1,1326 @@ +// 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 "hamoa-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 bottom 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 top 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; + }; + + 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"; + + codec { + sound-dai = <&left_spkr>, <&right_spkr>, + <&swr0 0>, <&lpass_wsamacro 0>; + }; + + cpu { + sound-dai = <&q6apmbedai WSA_CODEC_DMA_RX_0>; + }; + + platform { + sound-dai = <&q6apm>; + }; + }; + + va-dai-link { + link-name = "VA Capture"; + + codec { + sound-dai = <&lpass_vamacro 0>; + }; + + cpu { + sound-dai = <&q6apmbedai VA_CODEC_DMA_TX_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 = "okay"; +}; + +&i2c3 { + clock-frequency = <400000>; + + status = "okay"; + + /* Left-side bottom 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 top 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; + }; +}; + +&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>; + + disable-rfkill; + }; +}; + +&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; + }; + + wcn_wlan_bt_en: wcn-wlan-bt-en-state { + pins = "gpio116", "gpio117"; + function = "gpio"; + drive-strength = <2>; + 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; + }; + + wcn_sw_en: wcn-sw-en-state { + pins = "gpio214"; + function = "gpio"; + drive-strength = <2>; + bias-disable; + }; + + cam_indicator_en: cam-indicator-en-state { + pins = "gpio225"; + 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 0000000000000000000000000000000000000000..9347d246af10cc6aadbca1a0d9ea37828cd1b9b3 --- /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 "hamoa.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 0000000000000000000000000000000000000000..93f1620ad8c71c6cf36ba3ec34b9eebc47bf3f18 --- /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 "hamoa.dtsi" +#include "x1-microsoft-denali.dtsi" + +/ { + model = "Microsoft Surface Pro 11th Edition (LCD)"; + compatible = "microsoft,denali-lcd", "microsoft,denali", + "qcom,x1p64100", "qcom,x1e80100"; +}; -- 2.47.3 ^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [PATCH v3 5/6] arm64: dts: qcom: Add support for Surface Pro 11 2025-12-17 23:56 ` [PATCH v3 5/6] arm64: dts: qcom: Add support for " Jérôme de Bretagne via B4 Relay @ 2025-12-18 10:54 ` Konrad Dybcio 0 siblings, 0 replies; 14+ messages in thread From: Konrad Dybcio @ 2025-12-18 10:54 UTC (permalink / raw) To: jerome.debretagne, Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Johannes Berg, Lorenzo Bianconi, Maximilian Luz, Hans de Goede, Ilpo Järvinen, Jeff Johnson Cc: linux-arm-msm, devicetree, linux-kernel, linux-wireless, platform-driver-x86, ath12k, Dale Whinham On 12/18/25 12:56 AM, Jérôme de Bretagne via B4 Relay wrote: > From: Dale Whinham <daleyo@gmail.com> > > 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 X1 machines. The most notable > missing features are: > > - Touchscreen and pen > - Cameras (and status LEDs) > > Signed-off-by: Dale Whinham <daleyo@gmail.com> > Tested-by: Dale Whinham <daleyo@gmail.com> > Signed-off-by: Jérôme de Bretagne <jerome.debretagne@gmail.com> > --- [...] > +&i2c4 { > + clock-frequency = <400000>; > + > + status = "disabled"; > +}; > + > +&i2c5 { > + clock-frequency = <400000>; > + > + status = "disabled"; > +}; A little bit odd to leave them explicitly disabled. If they're useful, enabling them makes sense. If not, removing the reference seems to be the way to go. With that taken care of, one way or the other: Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> Konrad ^ permalink raw reply [flat|nested] 14+ messages in thread
* [PATCH v3 6/6] wifi: ath12k: Add support for disabling rfkill via devicetree 2025-12-17 23:56 [PATCH v3 0/6] Microsoft Surface Pro 11 support Jérôme de Bretagne via B4 Relay ` (4 preceding siblings ...) 2025-12-17 23:56 ` [PATCH v3 5/6] arm64: dts: qcom: Add support for " Jérôme de Bretagne via B4 Relay @ 2025-12-17 23:56 ` Jérôme de Bretagne via B4 Relay 2025-12-18 14:10 ` [PATCH v3 0/6] Microsoft Surface Pro 11 support Rob Herring 6 siblings, 0 replies; 14+ messages in thread From: Jérôme de Bretagne via B4 Relay @ 2025-12-17 23:56 UTC (permalink / raw) To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Johannes Berg, Lorenzo Bianconi, Maximilian Luz, Hans de Goede, Ilpo Järvinen, Jeff Johnson Cc: linux-arm-msm, devicetree, linux-kernel, linux-wireless, platform-driver-x86, ath12k, Dale Whinham, Jérôme de Bretagne From: Dale Whinham <daleyo@gmail.com> Some devices (e.g. Microsoft Surface Pro 11) indicate that the rfkill feature should be disabled by means of an ACPI bitflag. If ACPI is not being used (i.e. booting using a devicetree) then this property will not be read and therefore rfkill may be enabled and the ath12k will be hard-blocked with no way to disable it. Add a devicetree property that allows us to disable the rfkill feature. Signed-off-by: Dale Whinham <daleyo@gmail.com> Tested-by: Jérôme de Bretagne <jerome.debretagne@gmail.com> Signed-off-by: Jérôme de Bretagne <jerome.debretagne@gmail.com> --- drivers/net/wireless/ath/ath12k/core.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/net/wireless/ath/ath12k/core.c b/drivers/net/wireless/ath/ath12k/core.c index cc352eef1939937ce902bee2fbd9737ca3ab5993..e10073bb975cfd2e9ee418edcc49d0d51cf93de1 100644 --- a/drivers/net/wireless/ath/ath12k/core.c +++ b/drivers/net/wireless/ath/ath12k/core.c @@ -77,6 +77,9 @@ static int ath12k_core_rfkill_config(struct ath12k_base *ab) if (ath12k_acpi_get_disable_rfkill(ab)) return 0; + if (of_property_read_bool(ab->dev->of_node, "disable-rfkill")) + return 0; + for (i = 0; i < ab->num_radios; i++) { ar = ab->pdevs[i].ar; -- 2.47.3 ^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [PATCH v3 0/6] Microsoft Surface Pro 11 support 2025-12-17 23:56 [PATCH v3 0/6] Microsoft Surface Pro 11 support Jérôme de Bretagne via B4 Relay ` (5 preceding siblings ...) 2025-12-17 23:56 ` [PATCH v3 6/6] wifi: ath12k: Add support for disabling rfkill via devicetree Jérôme de Bretagne via B4 Relay @ 2025-12-18 14:10 ` Rob Herring 6 siblings, 0 replies; 14+ messages in thread From: Rob Herring @ 2025-12-18 14:10 UTC (permalink / raw) To: Jérôme de Bretagne Cc: Lorenzo Bianconi, platform-driver-x86, linux-arm-msm, Maximilian Luz, Bjorn Andersson, Jeff Johnson, Dale Whinham, linux-kernel, Conor Dooley, linux-wireless, Krzysztof Kozlowski, devicetree, Dmitry Baryshkov, Konrad Dybcio, Ilpo Järvinen, Hans de Goede, ath12k, Johannes Berg On Thu, 18 Dec 2025 00:56:36 +0100, Jérôme de Bretagne wrote: > This series brings support for the Qualcomm-based Microsoft Surface > Pro 11 covering both the OLED and LCD variants. > > Signed-off-by: Dale Whinham <daleyo@gmail.com> > Signed-off-by: Jérôme de Bretagne <jerome.debretagne@gmail.com> > --- > Changes in v3: > - Update the compatible strings to document both the OLED and LCD variants > - Move the disable-rfkill property into ieee80211.yaml [Rob,Krzysztof] > - Reference commit c6a7c0b09d5f and detail the disable-rfkill patch description [Rob,Krzysztof] > - Switch to the renamed hamoa.dtsi and hamoa-pmics.dtsi [Dale] > - Improve the comments describing the 2 USB Type-C port location > - Update the speaker definition to describe only 2-speakers [Konrad] > - Drop output-low from the speaker definition [Konrad] > - Enable i2c0 to make it accessible through i2c-tools [Konrad] > - Delete a non-applicable comment about removable WLAN card [Konrad] > - Re-order a few nodes and fix indentation issues [Konrad] > - Squash one of the patches as suggested [Krzysztof] > - Drop the NAKed patch patch about a dpcd link rate quirk [Dmitry] > - Include the Reviewed-by: tags > - Link to v2: https://lore.kernel.org/all/20251201011457.17422-1-daleyo@gmail.com/ > > Changes in 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 (4): > 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 > > Jérôme de Bretagne (2): > dt-bindings: arm: qcom: Document Microsoft Surface Pro 11 > dt-bindings: wireless: ieee80211: Add disable-rfkill property > > Documentation/devicetree/bindings/arm/qcom.yaml | 8 + > .../bindings/net/wireless/ieee80211.yaml | 6 + > arch/arm64/boot/dts/qcom/Makefile | 4 + > arch/arm64/boot/dts/qcom/x1-microsoft-denali.dtsi | 1326 ++++++++++++++++++++ > .../dts/qcom/x1e80100-microsoft-denali-oled.dts | 20 + > .../boot/dts/qcom/x1p64100-microsoft-denali.dts | 16 + > drivers/firmware/qcom/qcom_scm.c | 1 + > drivers/net/wireless/ath/ath12k/core.c | 3 + > .../platform/surface/surface_aggregator_registry.c | 18 + > 9 files changed, 1402 insertions(+) > --- > base-commit: 8f0b4cce4481fb22653697cced8d0d04027cb1e8 > change-id: 20251218-surface-sp11-for-next-626e327f7b33 > > Best regards, > -- > Jérôme de Bretagne <jerome.debretagne@gmail.com> > > > 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: 8f0b4cce4481fb22653697cced8d0d04027cb1e8 (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 20251218-surface-sp11-for-next-v3-0-875afc7bd3b7@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 ['asus,z00t', '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 ['xiaomi,land'] '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', 'radxa,dragon-q6a', '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 ['huawei,planck', '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,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-lcd', 'asus,zenbook-a14-ux3407qa-oled'] 'microsoft,denali-oled' is not one of ['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,msm8937' 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 'asus,zenbook-a14-ux3407qa' 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 'qcom,x1p64100' was expected from schema $id: http://devicetree.org/schemas/arm/qcom.yaml arch/arm64/boot/dts/qcom/x1e80100-microsoft-denali-oled.dtb: wifi@0 (pci17cb,1107): 'disable-rfkill' does not match any of the regexes: '^pinctrl-[0-9]+$' from schema $id: http://devicetree.org/schemas/net/wireless/qcom,ath12k.yaml arch/arm64/boot/dts/qcom/x1p64100-microsoft-denali.dtb: wifi@0 (pci17cb,1107): 'disable-rfkill' does not match any of the regexes: '^pinctrl-[0-9]+$' from schema $id: http://devicetree.org/schemas/net/wireless/qcom,ath12k.yaml ^ permalink raw reply [flat|nested] 14+ messages in thread
end of thread, other threads:[~2025-12-19 11:33 UTC | newest] Thread overview: 14+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2025-12-17 23:56 [PATCH v3 0/6] Microsoft Surface Pro 11 support Jérôme de Bretagne via B4 Relay 2025-12-17 23:56 ` [PATCH v3 1/6] dt-bindings: arm: qcom: Document Microsoft Surface Pro 11 Jérôme de Bretagne via B4 Relay 2025-12-18 14:15 ` Konrad Dybcio 2025-12-18 16:35 ` Jérôme de Bretagne 2025-12-19 11:33 ` Konrad Dybcio 2025-12-17 23:56 ` [PATCH v3 2/6] dt-bindings: wireless: ieee80211: Add disable-rfkill property Jérôme de Bretagne via B4 Relay 2025-12-17 23:56 ` [PATCH v3 3/6] firmware: qcom: scm: allow QSEECOM on Surface Pro 11 Jérôme de Bretagne via B4 Relay 2025-12-17 23:56 ` [PATCH v3 4/6] platform/surface: aggregator_registry: Add " Jérôme de Bretagne via B4 Relay 2025-12-18 0:07 ` Dmitry Baryshkov 2025-12-18 8:04 ` Jérôme de Bretagne 2025-12-17 23:56 ` [PATCH v3 5/6] arm64: dts: qcom: Add support for " Jérôme de Bretagne via B4 Relay 2025-12-18 10:54 ` Konrad Dybcio 2025-12-17 23:56 ` [PATCH v3 6/6] wifi: ath12k: Add support for disabling rfkill via devicetree Jérôme de Bretagne via B4 Relay 2025-12-18 14:10 ` [PATCH v3 0/6] 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