* [PATCH v4 0/3] arm64: dts: qcom: Lenovo ThinkPad T14s Gen 7 (Mahua) support
@ 2026-09-29 22:18 Srinivas Kandagatla
2026-09-29 22:18 ` [PATCH v4 1/3] dt-bindings: arm: qcom: add Lenovo ThinkPad T14s Gen 7 (Mahua) Srinivas Kandagatla
` (2 more replies)
0 siblings, 3 replies; 5+ messages in thread
From: Srinivas Kandagatla @ 2026-09-29 22:18 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley
Cc: Abel Vesa, Neil Armstrong, Dmitry Baryshkov, linux-arm-msm,
devicetree, linux-kernel, Srinivas Kandagatla
Add support for the Lenovo ThinkPad T14s Gen 7 (Mahua), a Snapdragon X2
Elite laptop. Patch 1 adds the board compatible under qcom,mahua.
Patch 2 is the T14s Gen 7 (LCD) device tree; it follows the Qualcomm
Glymur reference design used by mahua-crd. Patch 3 allowlists QSEECOM
on this platform.
Currently working on the board: internal eDP display (with backlight
on/off), WSA8845 speaker playback and DMIC capture, DisplayPort audio
on the two USB-C DP outputs, USB-C (host + charging on both ports),
WCN7850 Wi-Fi and Bluetooth, NVMe, HID-over-I2C touchpad / keyboard /
TrackPoint, lid switch. WWAN wiring is included but untested (no such
SKU on hand).
Real backlight brightness control needs the PMK8850 LPG/PWM (the
EDP_BL/PWMR_BV_PS signal on the schematic). That will follow as a
separate series adding qcom,pmk8850-pwm to leds-qcom-lpg, a PWM subnode
to pmk8850.dtsi, and switching the T14s backlight to pwm-backlight.
Changes since v3 [1]:
- Address Sashiko AI review [2]:
* fixed conflciting gpios
* add panel backlight switch.
- Sort PMIC includes alphabetically.
- Pick up Acked-by: Rob Herring on the dt-bindings patch.
[1] https://lore.kernel.org/all/20260928145122.1337186-1-srinivas.kandagatla@oss.qualcomm.com/
[2] https://sashiko.dev/#/patchset/20260928145122.1337186-1-srinivas.kandagatla@oss.qualcomm.com
Srinivas Kandagatla (3):
dt-bindings: arm: qcom: add Lenovo ThinkPad T14s Gen 7 (Mahua)
arm64: dts: qcom: Add Lenovo ThinkPad T14s Gen 7
firmware: qcom: scm: Allow QSEECOM on ThinkPad T14s Gen 7
.../devicetree/bindings/arm/qcom.yaml | 7 +
arch/arm64/boot/dts/qcom/Makefile | 1 +
.../mahua-lenovo-thinkpad-t14s-gen7-lcd.dts | 1277 +++++++++++++++++
drivers/firmware/qcom/qcom_scm.c | 1 +
4 files changed, 1286 insertions(+)
create mode 100644 arch/arm64/boot/dts/qcom/mahua-lenovo-thinkpad-t14s-gen7-lcd.dts
--
2.53.0
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH v4 1/3] dt-bindings: arm: qcom: add Lenovo ThinkPad T14s Gen 7 (Mahua)
2026-09-29 22:18 [PATCH v4 0/3] arm64: dts: qcom: Lenovo ThinkPad T14s Gen 7 (Mahua) support Srinivas Kandagatla
@ 2026-09-29 22:18 ` Srinivas Kandagatla
2026-09-29 22:18 ` [PATCH v4 2/3] arm64: dts: qcom: Add Lenovo ThinkPad T14s Gen 7 Srinivas Kandagatla
2026-09-29 22:18 ` [PATCH v4 3/3] firmware: qcom: scm: Allow QSEECOM on " Srinivas Kandagatla
2 siblings, 0 replies; 5+ messages in thread
From: Srinivas Kandagatla @ 2026-09-29 22:18 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley
Cc: Abel Vesa, Neil Armstrong, Dmitry Baryshkov, linux-arm-msm,
devicetree, linux-kernel, Srinivas Kandagatla
Add lenovo,thinkpad-t14s-gen7 as a board compatible under qcom,mahua.
The T14s Gen 7 uses the Mahua SoC (a 12-core variant of Glymur with
cluster2 / cpu12-cpu17 fused off) rather than Glymur proper, matching
what the platform's ACPI MADT dump reports (12 enabled + 6 disabled
processors).
Assisted-by: Claude:claude-opus-4-7
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@oss.qualcomm.com>
Acked-by: Rob Herring (Arm) <robh@kernel.org>
---
Documentation/devicetree/bindings/arm/qcom.yaml | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/Documentation/devicetree/bindings/arm/qcom.yaml b/Documentation/devicetree/bindings/arm/qcom.yaml
index 18a13b4a460f..de4647501085 100644
--- a/Documentation/devicetree/bindings/arm/qcom.yaml
+++ b/Documentation/devicetree/bindings/arm/qcom.yaml
@@ -194,6 +194,13 @@ properties:
- qcom,mahua-crd
- const: qcom,mahua
+ - items:
+ - enum:
+ - lenovo,thinkpad-t14s-gen7-lcd
+ - lenovo,thinkpad-t14s-gen7-oled
+ - const: lenovo,thinkpad-t14s-gen7
+ - const: qcom,mahua
+
- description: Sierra Wireless MangOH Green with WP8548 Module
items:
- const: swir,mangoh-green-wp8548
--
2.53.0
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH v4 2/3] arm64: dts: qcom: Add Lenovo ThinkPad T14s Gen 7
2026-09-29 22:18 [PATCH v4 0/3] arm64: dts: qcom: Lenovo ThinkPad T14s Gen 7 (Mahua) support Srinivas Kandagatla
2026-09-29 22:18 ` [PATCH v4 1/3] dt-bindings: arm: qcom: add Lenovo ThinkPad T14s Gen 7 (Mahua) Srinivas Kandagatla
@ 2026-09-29 22:18 ` Srinivas Kandagatla
2026-10-01 2:30 ` Bjorn Andersson
2026-09-29 22:18 ` [PATCH v4 3/3] firmware: qcom: scm: Allow QSEECOM on " Srinivas Kandagatla
2 siblings, 1 reply; 5+ messages in thread
From: Srinivas Kandagatla @ 2026-09-29 22:18 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley
Cc: Abel Vesa, Neil Armstrong, Dmitry Baryshkov, linux-arm-msm,
devicetree, linux-kernel, Srinivas Kandagatla, Abel Vesa,
Konrad Dybcio
Introduce a device tree for the Mahua-based Lenovo ThinkPad T14s Gen 7,
a Snapdragon X2 Elite laptop. It follows the Qualcomm Glymur reference
design used by mahua-crd.
Currently working:
- Display (internal eDP panel)
- Audio playback and capture (2x WSA8845 speakers on swr0, DMICs via
the VA macro)
- DisplayPort audio on the two USB-C DP outputs (DP0/DP1)
- USB-C (host + charging on both ports)
- Wi-Fi (WCN7850 on PCIe4), Bluetooth (over uart14)
- NVMe on PCIe5
- HID-over-I2C touchpad, keyboard and TrackPoint on i2c0
- Lid switch
- Internal USB2 camera on usb_hs (via PTN3222 redriver)
- Goodix fingerprint reader on usb_2
- WWAN wiring is included but remains untested due to lack of access
to such a SKU.
Assisted-by: Claude:claude-opus-4-7
Reviewed-by: Abel Vesa <abel.vesa@oss.qualcomm.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@oss.qualcomm.com>
---
arch/arm64/boot/dts/qcom/Makefile | 1 +
.../mahua-lenovo-thinkpad-t14s-gen7-lcd.dts | 1277 +++++++++++++++++
2 files changed, 1278 insertions(+)
create mode 100644 arch/arm64/boot/dts/qcom/mahua-lenovo-thinkpad-t14s-gen7-lcd.dts
diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile
index 7ee7b98994c2..a9e372e0285a 100644
--- a/arch/arm64/boot/dts/qcom/Makefile
+++ b/arch/arm64/boot/dts/qcom/Makefile
@@ -62,6 +62,7 @@ dtb-$(CONFIG_ARCH_QCOM) += lemans-evk-el2.dtb
lemans-evk-ifp-mezzanine-dtbs := lemans-evk.dtb lemans-evk-ifp-mezzanine.dtbo
dtb-$(CONFIG_ARCH_QCOM) += lemans-evk-ifp-mezzanine.dtb
dtb-$(CONFIG_ARCH_QCOM) += mahua-crd.dtb
+dtb-$(CONFIG_ARCH_QCOM) += mahua-lenovo-thinkpad-t14s-gen7-lcd.dtb
dtb-$(CONFIG_ARCH_QCOM) += milos-fairphone-fp6.dtb
dtb-$(CONFIG_ARCH_QCOM) += milos-nothing-asteroids.dtb
dtb-$(CONFIG_ARCH_QCOM) += monaco-arduino-monza.dtb
diff --git a/arch/arm64/boot/dts/qcom/mahua-lenovo-thinkpad-t14s-gen7-lcd.dts b/arch/arm64/boot/dts/qcom/mahua-lenovo-thinkpad-t14s-gen7-lcd.dts
new file mode 100644
index 000000000000..b3c6559df964
--- /dev/null
+++ b/arch/arm64/boot/dts/qcom/mahua-lenovo-thinkpad-t14s-gen7-lcd.dts
@@ -0,0 +1,1277 @@
+// SPDX-License-Identifier: BSD-3-Clause
+/*
+ * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
+ */
+/dts-v1/;
+
+#include "mahua.dtsi"
+
+#include "pmcx0102.dtsi"
+#include "pmh0101.dtsi"
+#include "pmh0104-glymur.dtsi"
+#include "pmh0110-glymur.dtsi"
+#include "pmk8850.dtsi"
+#include "smb2370.dtsi"
+
+#include <dt-bindings/input/gpio-keys.h>
+#include <dt-bindings/input/input.h>
+#include <dt-bindings/leds/common.h>
+#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
+
+/* PMICs tied to Glymur's cluster2 are absent on Mahua. */
+/delete-node/ &pmcx0102_d_e0;
+/delete-node/ &pmcx0102_d0_thermal;
+/delete-node/ &pmh0104_i_e0;
+/delete-node/ &pmh0104_i0_thermal;
+/delete-node/ &pmh0104_j_e0;
+/delete-node/ &pmh0104_j0_thermal;
+
+/ {
+ model = "Lenovo ThinkPad T14s Gen 7 (LCD)";
+ compatible = "lenovo,thinkpad-t14s-gen7-lcd", "lenovo,thinkpad-t14s-gen7",
+ "qcom,mahua";
+
+ aliases {
+ i2c0 = &i2c0;
+ i2c5 = &i2c5;
+
+ serial0 = &uart21;
+ serial1 = &uart14;
+ };
+
+ chosen {
+ stdout-path = "serial0:115200n8";
+ };
+
+ clocks {
+ xo_board: xo-board {
+ compatible = "fixed-clock";
+ clock-frequency = <38400000>;
+ #clock-cells = <0>;
+ };
+
+ sleep_clk: sleep-clk {
+ compatible = "fixed-clock";
+ clock-frequency = <32000>;
+ #clock-cells = <0>;
+ };
+ };
+
+ backlight: backlight {
+ compatible = "gpio-backlight";
+ gpios = <&tlmm 18 GPIO_ACTIVE_HIGH>;
+
+ pinctrl-0 = <&edp_bl_en>;
+ pinctrl-names = "default";
+ };
+
+ gpio-keys {
+ compatible = "gpio-keys";
+
+ pinctrl-0 = <&hall_int_n_default>;
+ pinctrl-names = "default";
+
+ switch-lid {
+ label = "lid";
+ gpios = <&tlmm 92 GPIO_ACTIVE_LOW>;
+ linux,input-type = <EV_SW>;
+ linux,code = <SW_LID>;
+ wakeup-source;
+ wakeup-event-action = <EV_ACT_DEASSERTED>;
+ };
+ };
+
+ pmic-glink {
+ compatible = "qcom,glymur-pmic-glink",
+ "qcom,pmic-glink";
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ /* Left-side USB-C 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_hs_in: endpoint {
+ remote-endpoint = <&usb_0_dwc3_hs>;
+ };
+ };
+
+ port@1 {
+ reg = <1>;
+
+ pmic_glink_ss_in: endpoint {
+ remote-endpoint = <&usb_0_qmpphy_out>;
+ };
+ };
+ };
+ };
+
+ /* Right-side USB-C 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_hs_in1: endpoint {
+ remote-endpoint = <&usb_1_dwc3_hs>;
+ };
+ };
+
+ port@1 {
+ reg = <1>;
+
+ pmic_glink_ss_in1: endpoint {
+ remote-endpoint = <&usb_1_qmpphy_out>;
+ };
+ };
+ };
+ };
+ };
+
+ 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_edp_bl: regulator-edp-bl {
+ compatible = "regulator-fixed";
+
+ regulator-name = "VREG_EDP_BL";
+ regulator-min-microvolt = <3600000>;
+ regulator-max-microvolt = <3600000>;
+
+ gpio = <&tlmm 19 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+
+ pinctrl-0 = <&edp_bl_reg_en>;
+ pinctrl-names = "default";
+
+ regulator-boot-on;
+ regulator-always-on;
+ };
+
+ vreg_misc_3p3: regulator-misc-3p3 {
+ compatible = "regulator-fixed";
+
+ regulator-name = "VREG_MISC_3P3";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+
+ gpio = <&pmh0110_f_e0_gpios 6 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+
+ pinctrl-0 = <&misc_3p3_reg_en>;
+ pinctrl-names = "default";
+
+ regulator-boot-on;
+ regulator-always-on;
+ };
+
+ vreg_nvme: regulator-nvme {
+ compatible = "regulator-fixed";
+
+ regulator-name = "VREG_NVME_3P3";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+
+ gpio = <&pmh0101_gpios 14 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+
+ pinctrl-0 = <&nvme_reg_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_3p3: regulator-wcn-3p3 {
+ compatible = "regulator-fixed";
+
+ regulator-name = "VREG_WCN_3P3";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+
+ gpio = <&tlmm 94 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+
+ pinctrl-0 = <&wcn_sw_en>;
+ pinctrl-names = "default";
+
+ regulator-boot-on;
+ };
+
+ vreg_wwan: regulator-wwan {
+ compatible = "regulator-fixed";
+
+ regulator-name = "VREG_WWAN_3P3";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+
+ gpio = <&tlmm 246 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+
+ pinctrl-0 = <&wwan_reg_en>;
+ pinctrl-names = "default";
+ };
+
+ reserved-memory {
+ linux,cma {
+ compatible = "shared-dma-pool";
+ size = <0x0 0x10000000>;
+ reusable;
+ linux,cma-default;
+ };
+ };
+
+ sound {
+ compatible = "qcom,glymur-sndcard";
+ model = "Lenovo-ThinkPad-T14s-Gen-7";
+ 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>;
+ };
+ };
+
+ displayport-0-dai-link {
+ link-name = "DisplayPort0 Playback";
+
+ cpu {
+ sound-dai = <&q6apmbedai DISPLAY_PORT_RX_0>;
+ };
+
+ codec {
+ sound-dai = <&mdss_dp0>;
+ };
+
+ platform {
+ sound-dai = <&q6apm>;
+ };
+ };
+
+ displayport-1-dai-link {
+ link-name = "DisplayPort1 Playback";
+
+ cpu {
+ sound-dai = <&q6apmbedai DISPLAY_PORT_RX_1>;
+ };
+
+ codec {
+ sound-dai = <&mdss_dp1>;
+ };
+
+ platform {
+ sound-dai = <&q6apm>;
+ };
+ };
+
+ };
+
+ wcn7850-pmu {
+ compatible = "qcom,wcn7850-pmu";
+
+ vdd-supply = <&vreg_wcn_0p95>;
+ vddio-supply = <&vreg_l15b_e0_1p8>;
+ vddaon-supply = <&vreg_l15b_e0_1p8>;
+ vdddig-supply = <&vreg_l15b_e0_1p8>;
+ vddrfa1p2-supply = <&vreg_l15b_e0_1p8>;
+ vddrfa1p8-supply = <&vreg_l15b_e0_1p8>;
+
+ 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,pmh0101-rpmh-regulators";
+ qcom,pmic-id = "B_E0";
+
+ vreg_bob1_e0: bob1 {
+ regulator-name = "vreg_bob1_e0";
+ regulator-min-microvolt = <2200000>;
+ regulator-max-microvolt = <4224000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
+ };
+
+ vreg_bob2_e0: bob2 {
+ regulator-name = "vreg_bob2_e0";
+ regulator-min-microvolt = <2540000>;
+ regulator-max-microvolt = <3600000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
+ };
+
+ vreg_l1b_e0_1p8: ldo1 {
+ regulator-name = "vreg_l1b_e0_1p8";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l2b_e0_2p9: ldo2 {
+ regulator-name = "vreg_l2b_e0_2p9";
+ regulator-min-microvolt = <2904000>;
+ regulator-max-microvolt = <2904000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l7b_e0_2p79: ldo7 {
+ regulator-name = "vreg_l7b_e0_2p79";
+ regulator-min-microvolt = <2790000>;
+ regulator-max-microvolt = <2792000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l8b_e0_3p3: ldo8 {
+ regulator-name = "vreg_l8b_e0_3p3";
+ regulator-min-microvolt = <1504000>;
+ regulator-max-microvolt = <3304000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l9b_e0_2p9: ldo9 {
+ regulator-name = "vreg_l9b_e0_2p9";
+ regulator-min-microvolt = <2704000>;
+ regulator-max-microvolt = <2960000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l10b_e0_1p8: ldo10 {
+ regulator-name = "vreg_l10b_e0_1p8";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l11b_e0_1p2: ldo11 {
+ regulator-name = "vreg_l11b_e0_1p2";
+ regulator-min-microvolt = <1200000>;
+ regulator-max-microvolt = <1200000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l12b_e0_1p2: ldo12 {
+ regulator-name = "vreg_l12b_e0_1p2";
+ regulator-min-microvolt = <1144000>;
+ regulator-max-microvolt = <1200000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l15b_e0_1p8: ldo15 {
+ regulator-name = "vreg_l15b_e0_1p8";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ regulator-always-on;
+ };
+
+ vreg_l17b_e0_2p4: ldo17 {
+ regulator-name = "vreg_l17b_e0_2p4";
+ regulator-min-microvolt = <2400000>;
+ regulator-max-microvolt = <2700000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l18b_e0_1p2: ldo18 {
+ regulator-name = "vreg_l18b_e0_1p2";
+ regulator-min-microvolt = <1200000>;
+ regulator-max-microvolt = <1200000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ regulator-always-on;
+ };
+ };
+
+ regulators-1 {
+ compatible = "qcom,pmcx0102-rpmh-regulators";
+ qcom,pmic-id = "C_E1";
+
+ vreg_l1c_e1_0p82: ldo1 {
+ regulator-name = "vreg_l1c_e1_0p82";
+ regulator-min-microvolt = <832000>;
+ regulator-max-microvolt = <832000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l2c_e1_1p14: ldo2 {
+ regulator-name = "vreg_l2c_e1_1p14";
+ regulator-min-microvolt = <1144000>;
+ regulator-max-microvolt = <1144000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l3c_e1_0p89: ldo3 {
+ regulator-name = "vreg_l3c_e1_0p89";
+ regulator-min-microvolt = <890000>;
+ regulator-max-microvolt = <980000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l4c_e1_0p72: ldo4 {
+ regulator-name = "vreg_l4c_e1_0p72";
+ regulator-min-microvolt = <720000>;
+ regulator-max-microvolt = <720000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+ };
+
+ regulators-2 {
+ compatible = "qcom,pmh0110-rpmh-regulators";
+ qcom,pmic-id = "F_E0";
+
+ vreg_s7f_e0_1p32: smps7 {
+ regulator-name = "vreg_s7f_e0_1p32";
+ regulator-min-microvolt = <1320000>;
+ regulator-max-microvolt = <1352000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_s8f_e0_0p95: smps8 {
+ regulator-name = "vreg_s8f_e0_0p95";
+ regulator-min-microvolt = <952000>;
+ regulator-max-microvolt = <1200000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_s9f_e0_1p9: smps9 {
+ regulator-name = "vreg_s9f_e0_1p9";
+ regulator-min-microvolt = <1900000>;
+ regulator-max-microvolt = <2000000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l2f_e0_0p94: ldo2 {
+ regulator-name = "vreg_l2f_e0_0p94";
+ regulator-min-microvolt = <936000>;
+ regulator-max-microvolt = <936000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l3f_e0_0p91: ldo3 {
+ regulator-name = "vreg_l3f_e0_0p91";
+ regulator-min-microvolt = <912000>;
+ regulator-max-microvolt = <912000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l4f_e0_0p3: ldo4 {
+ regulator-name = "vreg_l4f_e0_0p3";
+ regulator-min-microvolt = <1080000>;
+ regulator-max-microvolt = <1200000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+ };
+
+ regulators-3 {
+ compatible = "qcom,pmh0110-rpmh-regulators";
+ qcom,pmic-id = "F_E1";
+
+ vreg_s7f_e1_0p3: smps7 {
+ regulator-name = "vreg_s7f_e1_0p3";
+ regulator-min-microvolt = <300000>;
+ regulator-max-microvolt = <1200000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l1f_e1_0p88: ldo1 {
+ regulator-name = "vreg_l1f_e1_0p88";
+ regulator-min-microvolt = <880000>;
+ regulator-max-microvolt = <880000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l2f_e1_0p9: ldo2 {
+ regulator-name = "vreg_l2f_e1_0p9";
+ regulator-min-microvolt = <904000>;
+ regulator-max-microvolt = <904000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l4f_e1_1p2: ldo4 {
+ regulator-name = "vreg_l4f_e1_1p2";
+ regulator-min-microvolt = <1200000>;
+ regulator-max-microvolt = <1200000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+ };
+
+ regulators-4 {
+ compatible = "qcom,pmh0110-rpmh-regulators";
+ qcom,pmic-id = "H_E0";
+
+ vreg_l1h_e0_0p94: ldo1 {
+ regulator-name = "vreg_l1h_e0_0p94";
+ regulator-min-microvolt = <936000>;
+ regulator-max-microvolt = <936000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l2h_e0_0p72: ldo2 {
+ regulator-name = "vreg_l2h_e0_0p72";
+ regulator-min-microvolt = <832000>;
+ regulator-max-microvolt = <832000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l3h_e0_0p32: ldo3 {
+ regulator-name = "vreg_l3h_e0_0p32";
+ regulator-min-microvolt = <320000>;
+ regulator-max-microvolt = <2000000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l4h_e0_1p2: ldo4 {
+ regulator-name = "vreg_l4h_e0_1p2";
+ regulator-min-microvolt = <1080000>;
+ regulator-max-microvolt = <1320000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+ };
+};
+
+/* GPU/GMU not fully functional yet on this platform. */
+&gmu {
+ status = "disabled";
+};
+
+&gpu {
+ status = "disabled";
+};
+
+&i2c0 {
+ clock-frequency = <400000>;
+
+ status = "okay";
+
+ touchpad@2c {
+ compatible = "hid-over-i2c";
+ reg = <0x2c>;
+
+ hid-descr-addr = <0x20>;
+ interrupts-extended = <&tlmm 3 IRQ_TYPE_LEVEL_LOW>;
+
+ vdd-supply = <&vreg_misc_3p3>;
+ vddl-supply = <&vreg_l15b_e0_1p8>;
+
+ pinctrl-0 = <&tpad_default>;
+ pinctrl-names = "default";
+
+ wakeup-source;
+ };
+
+ keyboard@3a {
+ compatible = "hid-over-i2c";
+ reg = <0x3a>;
+
+ hid-descr-addr = <0x1>;
+ interrupts-extended = <&tlmm 67 IRQ_TYPE_LEVEL_LOW>;
+
+ vdd-supply = <&vreg_misc_3p3>;
+ vddl-supply = <&vreg_l15b_e0_1p8>;
+
+ pinctrl-0 = <&kybd_default>;
+ pinctrl-names = "default";
+
+ wakeup-source;
+ };
+};
+
+&i2c5 {
+ clock-frequency = <400000>;
+
+ status = "okay";
+
+ ptn3222_0: redriver@43 {
+ compatible = "nxp,ptn3222";
+ reg = <0x43>;
+
+ reset-gpios = <&tlmm 8 GPIO_ACTIVE_LOW>;
+
+ vdd3v3-supply = <&vreg_l8b_e0_3p3>;
+ vdd1v8-supply = <&vreg_l15b_e0_1p8>;
+
+ #phy-cells = <0>;
+ };
+
+ ptn3222_1: redriver@4b {
+ compatible = "nxp,ptn3222";
+ reg = <0x4b>;
+
+ reset-gpios = <&tlmm 184 GPIO_ACTIVE_LOW>;
+
+ vdd3v3-supply = <&vreg_l8b_e0_3p3>;
+ vdd1v8-supply = <&vreg_l15b_e0_1p8>;
+
+ #phy-cells = <0>;
+ };
+
+ ptn3222_cam: redriver@47 {
+ compatible = "nxp,ptn3222";
+ reg = <0x47>;
+
+ reset-gpios = <&tlmm 9 GPIO_ACTIVE_LOW>;
+
+ vdd3v3-supply = <&vreg_l8b_e0_3p3>;
+ vdd1v8-supply = <&vreg_l15b_e0_1p8>;
+
+ #phy-cells = <0>;
+ };
+
+ ptn3222_fpr: redriver@4f {
+ compatible = "nxp,ptn3222";
+ reg = <0x4f>;
+
+ reset-gpios = <&tlmm 40 GPIO_ACTIVE_LOW>;
+
+ vdd3v3-supply = <&vreg_l8b_e0_3p3>;
+ vdd1v8-supply = <&vreg_l15b_e0_1p8>;
+
+ #phy-cells = <0>;
+ };
+};
+
+&lpass_vamacro {
+ pinctrl-0 = <&dmic01_default>;
+ pinctrl-names = "default";
+ qcom,dmic-sample-rate = <4800000>;
+ vdd-micb-supply = <&vreg_l1b_e0_1p8>;
+};
+
+&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 {
+ /delete-property/ #sound-dai-cells;
+
+ pinctrl-0 = <&edp0_hpd_default>;
+ pinctrl-names = "default";
+
+ status = "okay";
+
+ aux-bus {
+ panel {
+ compatible = "edp-panel";
+ power-supply = <&vreg_edp_3p3>;
+ backlight = <&backlight>;
+
+ port {
+ edp_panel_in: endpoint {
+ remote-endpoint = <&mdss_dp3_out>;
+ };
+ };
+ };
+ };
+};
+
+&mdss_dp3_out {
+ 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_l2f_e1_0p9>;
+ vdda-pll-supply = <&vreg_l4f_e1_1p2>;
+
+ status = "okay";
+};
+
+/* PCIe4: on-board WLAN (WCN7850) */
+&pcie4 {
+ pinctrl-0 = <&pcie4_default>;
+ pinctrl-names = "default";
+
+ status = "okay";
+};
+
+&pcie4_phy {
+ vdda-phy-supply = <&vreg_l1c_e1_0p82>;
+ vdda-pll-supply = <&vreg_l4f_e1_1p2>;
+
+ status = "okay";
+};
+
+&pcie4_port0 {
+ reset-gpios = <&tlmm 146 GPIO_ACTIVE_LOW>;
+ wake-gpios = <&tlmm 148 GPIO_ACTIVE_LOW>;
+
+ 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>;
+ };
+};
+
+/* PCIe5: primary M.2 2280 NVMe */
+&pcie5 {
+ vddpe-3v3-supply = <&vreg_nvme>;
+
+ pinctrl-0 = <&pcie5_default>;
+ pinctrl-names = "default";
+
+ status = "okay";
+};
+
+&pcie5_phy {
+ vdda-phy-supply = <&vreg_l2f_e0_0p94>;
+ vdda-pll-supply = <&vreg_l4h_e0_1p2>;
+
+ status = "okay";
+};
+
+&pcie5_port0 {
+ reset-gpios = <&tlmm 152 GPIO_ACTIVE_LOW>;
+ wake-gpios = <&tlmm 154 GPIO_ACTIVE_LOW>;
+};
+
+/* PCIe6: optional WWAN M.2 3042 */
+&pcie6 {
+ vddpe-3v3-supply = <&vreg_wwan>;
+
+ pinctrl-0 = <&pcie6_default>;
+ pinctrl-names = "default";
+
+ status = "okay";
+};
+
+&pcie6_phy {
+ vdda-phy-supply = <&vreg_l1c_e1_0p82>;
+ vdda-pll-supply = <&vreg_l4f_e1_1p2>;
+
+ status = "okay";
+};
+
+&pcie6_port0 {
+ reset-gpios = <&tlmm 149 GPIO_ACTIVE_LOW>;
+ wake-gpios = <&tlmm 151 GPIO_ACTIVE_LOW>;
+};
+
+&pmh0101_gpios {
+ nvme_reg_en: nvme-reg-en-state {
+ pins = "gpio14";
+ function = "normal";
+ bias-disable;
+ };
+};
+
+&pmh0110_f_e0_gpios {
+ misc_3p3_reg_en: misc-3p3-reg-en-state {
+ pins = "gpio6";
+ function = "normal";
+ bias-disable;
+ input-disable;
+ output-enable;
+ drive-push-pull;
+ power-source = <1>; /* 1.8 V */
+ qcom,drive-strength = <PMIC_GPIO_STRENGTH_LOW>;
+ };
+};
+
+&pmk8850_rtc {
+ qcom,no-alarm;
+};
+
+&remoteproc_adsp {
+ firmware-name = "qcom/glymur/LENOVO/22A8/qcadsp8480.mbn",
+ "qcom/glymur/LENOVO/22A8/adsp_dtbs.elf";
+
+ status = "okay";
+};
+
+&remoteproc_cdsp {
+ firmware-name = "qcom/glymur/LENOVO/22A8/qccdsp8480.mbn",
+ "qcom/glymur/LENOVO/22A8/cdsp_dtbs.elf";
+
+ status = "okay";
+};
+
+&swr0 {
+ status = "okay";
+
+ /* WSA8845, Left */
+ 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_e0_1p8>;
+ vdd-io-supply = <&vreg_l18b_e0_1p2>;
+ qcom,port-mapping = <1 2 3 7 12 14>;
+ };
+
+ /* WSA8845, Right */
+ 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_e0_1p8>;
+ vdd-io-supply = <&vreg_l18b_e0_1p2>;
+ qcom,port-mapping = <4 5 6 7 13 15>;
+ };
+};
+
+&smb2370_j_e2_eusb2_repeater {
+ vdd18-supply = <&vreg_l15b_e0_1p8>;
+ vdd3-supply = <&vreg_l7b_e0_2p79>;
+};
+
+&smb2370_k_e2_eusb2_repeater {
+ vdd18-supply = <&vreg_l15b_e0_1p8>;
+ vdd3-supply = <&vreg_l7b_e0_2p79>;
+};
+
+&tcsr {
+ vdda-qrefrpt0-0p9-supply = <&vreg_l2f_e1_0p9>;
+ vdda-qrefrpt1-0p9-supply = <&vreg_l2f_e1_0p9>;
+ vdda-qrefrpt2-0p9-supply = <&vreg_l2f_e1_0p9>;
+ vdda-qrefrpt3-0p9-supply = <&vreg_l2h_e0_0p72>;
+ vdda-qrefrpt4-0p9-supply = <&vreg_l2h_e0_0p72>;
+ vdda-qrefrpt5-0p9-supply = <&vreg_l2h_e0_0p72>;
+ vdda-qrefrx0-0p9-supply = <&vreg_l2f_e1_0p9>;
+ vdda-qrefrx1-0p9-supply = <&vreg_l2f_e1_0p9>;
+ vdda-qrefrx2-0p9-supply = <&vreg_l2f_e1_0p9>;
+ vdda-qrefrx3-0p9-supply = <&vreg_l2h_e0_0p72>;
+ vdda-qrefrx4-0p9-supply = <&vreg_l2h_e0_0p72>;
+ vdda-qrefrx5-0p9-supply = <&vreg_l3f_e0_0p91>;
+ vdda-qreftx0-0p9-supply = <&vreg_l3f_e0_0p91>;
+ vdda-qreftx0-1p2-supply = <&vreg_l4h_e0_1p2>;
+ vdda-qreftx1-0p9-supply = <&vreg_l1f_e1_0p88>;
+ vdda-refgen3-0p9-supply = <&vreg_l2f_e0_0p94>;
+ vdda-refgen3-1p2-supply = <&vreg_l4h_e0_1p2>;
+ vdda-refgen4-0p9-supply = <&vreg_l1f_e1_0p88>;
+ vdda-refgen4-1p2-supply = <&vreg_l4f_e1_1p2>;
+};
+
+&tlmm {
+ gpio-reserved-ranges = <4 4>, /* EC TZ Secure I3C */
+ <10 2>, /* OOB UART */
+ <27 1>, /* TZ trigger */
+ <44 4>, /* TPM */
+ <139 1>; /* TZ trigger */
+
+ edp_bl_en: edp-bl-en-state {
+ pins = "gpio18";
+ function = "gpio";
+ drive-strength = <2>;
+ bias-disable;
+ };
+
+ edp_bl_reg_en: edp-bl-reg-en-state {
+ pins = "gpio19";
+ function = "gpio";
+ drive-strength = <2>;
+ bias-disable;
+ };
+
+ edp_reg_en: edp-reg-en-state {
+ pins = "gpio70";
+ function = "gpio";
+ drive-strength = <16>;
+ bias-disable;
+ };
+
+ edp0_hpd_default: edp0-hpd-default-state {
+ pins = "gpio119";
+ function = "edp0_hot";
+ bias-disable;
+ };
+
+ hall_int_n_default: hall-int-n-state {
+ pins = "gpio92";
+ function = "gpio";
+ bias-disable;
+ };
+
+ kybd_default: kybd-default-state {
+ pins = "gpio67";
+ function = "gpio";
+ bias-disable;
+ };
+
+ pcie4_default: pcie4-default-state {
+ clkreq-n-pins {
+ pins = "gpio147";
+ function = "pcie4_clk_req_n";
+ 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;
+ };
+ };
+
+ pcie5_default: pcie5-default-state {
+ clkreq-n-pins {
+ pins = "gpio153";
+ function = "pcie5_clk_req_n";
+ drive-strength = <2>;
+ bias-pull-up;
+ };
+
+ perst-n-pins {
+ pins = "gpio152";
+ function = "gpio";
+ drive-strength = <2>;
+ bias-disable;
+ };
+
+ wake-n-pins {
+ pins = "gpio154";
+ function = "gpio";
+ drive-strength = <2>;
+ bias-pull-up;
+ };
+ };
+
+ pcie6_default: pcie6-default-state {
+ clkreq-n-pins {
+ pins = "gpio150";
+ function = "pcie6_clk_req_n";
+ drive-strength = <2>;
+ bias-pull-up;
+ };
+
+ perst-n-pins {
+ pins = "gpio149";
+ function = "gpio";
+ drive-strength = <2>;
+ bias-disable;
+ };
+
+ wake-n-pins {
+ pins = "gpio151";
+ function = "gpio";
+ drive-strength = <2>;
+ bias-pull-up;
+ };
+ };
+
+ tpad_default: tpad-default-state {
+ pins = "gpio3";
+ function = "gpio";
+ bias-disable;
+ };
+
+ wcn_wlan_bt_en: wcn-wlan-bt-en-state {
+ pins = "gpio116", "gpio117";
+ function = "gpio";
+ drive-strength = <2>;
+ bias-disable;
+ };
+
+ wcn_sw_en: wcn-sw-en-state {
+ pins = "gpio94";
+ function = "gpio";
+ drive-strength = <2>;
+ bias-disable;
+ };
+
+ wwan_reg_en: wwan-reg-en-state {
+ pins = "gpio246";
+ function = "gpio";
+ drive-strength = <2>;
+ bias-disable;
+ };
+};
+
+&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_0 {
+ status = "okay";
+};
+
+&usb_0_dwc3_hs {
+ remote-endpoint = <&pmic_glink_hs_in>;
+};
+
+&usb_0_hsphy {
+ vdd-supply = <&vreg_l3f_e0_0p91>;
+ vdda12-supply = <&vreg_l4h_e0_1p2>;
+
+ phys = <&smb2370_j_e2_eusb2_repeater>;
+
+ status = "okay";
+};
+
+&usb_0_qmpphy {
+ vdda-phy-supply = <&vreg_l3f_e0_0p91>;
+ vdda-pll-supply = <&vreg_l4h_e0_1p2>;
+ refgen-supply = <&vreg_l2f_e0_0p94>;
+
+ status = "okay";
+};
+
+&usb_0_qmpphy_out {
+ remote-endpoint = <&pmic_glink_ss_in>;
+};
+
+&usb_1 {
+ status = "okay";
+};
+
+&usb_1_dwc3_hs {
+ remote-endpoint = <&pmic_glink_hs_in1>;
+};
+
+&usb_1_hsphy {
+ vdd-supply = <&vreg_l3f_e0_0p91>;
+ vdda12-supply = <&vreg_l4h_e0_1p2>;
+
+ phys = <&smb2370_k_e2_eusb2_repeater>;
+
+ status = "okay";
+};
+
+&usb_1_qmpphy {
+ vdda-phy-supply = <&vreg_l1h_e0_0p94>;
+ vdda-pll-supply = <&vreg_l4h_e0_1p2>;
+ refgen-supply = <&vreg_l2f_e0_0p94>;
+
+ status = "okay";
+};
+
+&usb_1_qmpphy_out {
+ remote-endpoint = <&pmic_glink_ss_in1>;
+};
+
+&usb_mp {
+ status = "okay";
+};
+
+&usb_mp_hsphy0 {
+ vdd-supply = <&vreg_l2h_e0_0p72>;
+ vdda12-supply = <&vreg_l4h_e0_1p2>;
+
+ phys = <&ptn3222_0>;
+
+ status = "okay";
+};
+
+&usb_mp_hsphy1 {
+ vdd-supply = <&vreg_l2h_e0_0p72>;
+ vdda12-supply = <&vreg_l4h_e0_1p2>;
+
+ phys = <&ptn3222_1>;
+
+ status = "okay";
+};
+
+&usb_mp_qmpphy0 {
+ vdda-phy-supply = <&vreg_l2h_e0_0p72>;
+ vdda-pll-supply = <&vreg_l4h_e0_1p2>;
+ refgen-supply = <&vreg_l4f_e1_1p2>;
+
+ status = "okay";
+};
+
+&usb_mp_qmpphy1 {
+ vdda-phy-supply = <&vreg_l2h_e0_0p72>;
+ vdda-pll-supply = <&vreg_l4h_e0_1p2>;
+ refgen-supply = <&vreg_l4f_e1_1p2>;
+
+ status = "okay";
+};
+
+&usb_hs {
+ dr_mode = "host";
+
+ status = "okay";
+};
+
+&usb_hs_phy {
+ vdd-supply = <&vreg_l2h_e0_0p72>;
+ vdda12-supply = <&vreg_l4h_e0_1p2>;
+
+ phys = <&ptn3222_cam>;
+
+ status = "okay";
+};
+
+&usb_2 {
+ dr_mode = "host";
+ maximum-speed = "high-speed";
+
+ /delete-property/ usb-role-switch;
+ phys = <&usb_2_hsphy>;
+ phy-names = "usb2-phy";
+
+ status = "okay";
+};
+
+&usb_2_hsphy {
+ vdd-supply = <&vreg_l4c_e1_0p72>;
+ vdda12-supply = <&vreg_l4f_e1_1p2>;
+
+ phys = <&ptn3222_fpr>;
+
+ status = "okay";
+};
--
2.53.0
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH v4 3/3] firmware: qcom: scm: Allow QSEECOM on ThinkPad T14s Gen 7
2026-09-29 22:18 [PATCH v4 0/3] arm64: dts: qcom: Lenovo ThinkPad T14s Gen 7 (Mahua) support Srinivas Kandagatla
2026-09-29 22:18 ` [PATCH v4 1/3] dt-bindings: arm: qcom: add Lenovo ThinkPad T14s Gen 7 (Mahua) Srinivas Kandagatla
2026-09-29 22:18 ` [PATCH v4 2/3] arm64: dts: qcom: Add Lenovo ThinkPad T14s Gen 7 Srinivas Kandagatla
@ 2026-09-29 22:18 ` Srinivas Kandagatla
2 siblings, 0 replies; 5+ messages in thread
From: Srinivas Kandagatla @ 2026-09-29 22:18 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley
Cc: Abel Vesa, Neil Armstrong, Dmitry Baryshkov, linux-arm-msm,
devicetree, linux-kernel, Srinivas Kandagatla
Allow the use of QSEECOM on the Mahua-based Lenovo ThinkPad T14s Gen 7,
matching the pattern established for the Yoga Slim 7x Gen 11.
Assisted-by: Claude:claude-opus-4-7
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@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 899573674c2e..43e250faea75 100644
--- a/drivers/firmware/qcom/qcom_scm.c
+++ b/drivers/firmware/qcom/qcom_scm.c
@@ -2244,6 +2244,7 @@ static const struct of_device_id qcom_scm_qseecom_allowlist[] __maybe_unused = {
{ .compatible = "lenovo,ideacentre-mini-01q8x10" },
{ .compatible = "lenovo,thinkbook-16" },
{ .compatible = "lenovo,thinkpad-t14s" },
+ { .compatible = "lenovo,thinkpad-t14s-gen7" },
{ .compatible = "lenovo,thinkpad-x13s", },
{ .compatible = "lenovo,yoga-slim7x" },
{ .compatible = "lenovo,yoga-slim7x-gen11" },
--
2.53.0
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH v4 2/3] arm64: dts: qcom: Add Lenovo ThinkPad T14s Gen 7
2026-09-29 22:18 ` [PATCH v4 2/3] arm64: dts: qcom: Add Lenovo ThinkPad T14s Gen 7 Srinivas Kandagatla
@ 2026-10-01 2:30 ` Bjorn Andersson
0 siblings, 0 replies; 5+ messages in thread
From: Bjorn Andersson @ 2026-10-01 2:30 UTC (permalink / raw)
To: Srinivas Kandagatla
Cc: Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Abel Vesa, Neil Armstrong, Dmitry Baryshkov, linux-arm-msm,
devicetree, linux-kernel, Abel Vesa, Konrad Dybcio
On Tue, Sep 29, 2026 at 11:18:20PM +0100, Srinivas Kandagatla wrote:
> Introduce a device tree for the Mahua-based Lenovo ThinkPad T14s Gen 7,
> a Snapdragon X2 Elite laptop. It follows the Qualcomm Glymur reference
> design used by mahua-crd.
>
I already merged v3, so please check the delta and submit any
incremental fixes.
> Currently working:
> - Display (internal eDP panel)
> - Audio playback and capture (2x WSA8845 speakers on swr0, DMICs via
> the VA macro)
> - DisplayPort audio on the two USB-C DP outputs (DP0/DP1)
> - USB-C (host + charging on both ports)
> - Wi-Fi (WCN7850 on PCIe4), Bluetooth (over uart14)
> - NVMe on PCIe5
> - HID-over-I2C touchpad, keyboard and TrackPoint on i2c0
> - Lid switch
> - Internal USB2 camera on usb_hs (via PTN3222 redriver)
> - Goodix fingerprint reader on usb_2
> - WWAN wiring is included but remains untested due to lack of access
> to such a SKU.
>
> Assisted-by: Claude:claude-opus-4-7
Now in the future this should be:
Assisted-by: LLM
Regards,
Bjorn
> Reviewed-by: Abel Vesa <abel.vesa@oss.qualcomm.com>
> Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
> Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@oss.qualcomm.com>
> ---
> arch/arm64/boot/dts/qcom/Makefile | 1 +
> .../mahua-lenovo-thinkpad-t14s-gen7-lcd.dts | 1277 +++++++++++++++++
> 2 files changed, 1278 insertions(+)
> create mode 100644 arch/arm64/boot/dts/qcom/mahua-lenovo-thinkpad-t14s-gen7-lcd.dts
>
> diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile
> index 7ee7b98994c2..a9e372e0285a 100644
> --- a/arch/arm64/boot/dts/qcom/Makefile
> +++ b/arch/arm64/boot/dts/qcom/Makefile
> @@ -62,6 +62,7 @@ dtb-$(CONFIG_ARCH_QCOM) += lemans-evk-el2.dtb
> lemans-evk-ifp-mezzanine-dtbs := lemans-evk.dtb lemans-evk-ifp-mezzanine.dtbo
> dtb-$(CONFIG_ARCH_QCOM) += lemans-evk-ifp-mezzanine.dtb
> dtb-$(CONFIG_ARCH_QCOM) += mahua-crd.dtb
> +dtb-$(CONFIG_ARCH_QCOM) += mahua-lenovo-thinkpad-t14s-gen7-lcd.dtb
> dtb-$(CONFIG_ARCH_QCOM) += milos-fairphone-fp6.dtb
> dtb-$(CONFIG_ARCH_QCOM) += milos-nothing-asteroids.dtb
> dtb-$(CONFIG_ARCH_QCOM) += monaco-arduino-monza.dtb
> diff --git a/arch/arm64/boot/dts/qcom/mahua-lenovo-thinkpad-t14s-gen7-lcd.dts b/arch/arm64/boot/dts/qcom/mahua-lenovo-thinkpad-t14s-gen7-lcd.dts
> new file mode 100644
> index 000000000000..b3c6559df964
> --- /dev/null
> +++ b/arch/arm64/boot/dts/qcom/mahua-lenovo-thinkpad-t14s-gen7-lcd.dts
> @@ -0,0 +1,1277 @@
> +// SPDX-License-Identifier: BSD-3-Clause
> +/*
> + * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
> + */
> +/dts-v1/;
> +
> +#include "mahua.dtsi"
> +
> +#include "pmcx0102.dtsi"
> +#include "pmh0101.dtsi"
> +#include "pmh0104-glymur.dtsi"
> +#include "pmh0110-glymur.dtsi"
> +#include "pmk8850.dtsi"
> +#include "smb2370.dtsi"
> +
> +#include <dt-bindings/input/gpio-keys.h>
> +#include <dt-bindings/input/input.h>
> +#include <dt-bindings/leds/common.h>
> +#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
> +
> +/* PMICs tied to Glymur's cluster2 are absent on Mahua. */
> +/delete-node/ &pmcx0102_d_e0;
> +/delete-node/ &pmcx0102_d0_thermal;
> +/delete-node/ &pmh0104_i_e0;
> +/delete-node/ &pmh0104_i0_thermal;
> +/delete-node/ &pmh0104_j_e0;
> +/delete-node/ &pmh0104_j0_thermal;
> +
> +/ {
> + model = "Lenovo ThinkPad T14s Gen 7 (LCD)";
> + compatible = "lenovo,thinkpad-t14s-gen7-lcd", "lenovo,thinkpad-t14s-gen7",
> + "qcom,mahua";
> +
> + aliases {
> + i2c0 = &i2c0;
> + i2c5 = &i2c5;
> +
> + serial0 = &uart21;
> + serial1 = &uart14;
> + };
> +
> + chosen {
> + stdout-path = "serial0:115200n8";
> + };
> +
> + clocks {
> + xo_board: xo-board {
> + compatible = "fixed-clock";
> + clock-frequency = <38400000>;
> + #clock-cells = <0>;
> + };
> +
> + sleep_clk: sleep-clk {
> + compatible = "fixed-clock";
> + clock-frequency = <32000>;
> + #clock-cells = <0>;
> + };
> + };
> +
> + backlight: backlight {
> + compatible = "gpio-backlight";
> + gpios = <&tlmm 18 GPIO_ACTIVE_HIGH>;
> +
> + pinctrl-0 = <&edp_bl_en>;
> + pinctrl-names = "default";
> + };
> +
> + gpio-keys {
> + compatible = "gpio-keys";
> +
> + pinctrl-0 = <&hall_int_n_default>;
> + pinctrl-names = "default";
> +
> + switch-lid {
> + label = "lid";
> + gpios = <&tlmm 92 GPIO_ACTIVE_LOW>;
> + linux,input-type = <EV_SW>;
> + linux,code = <SW_LID>;
> + wakeup-source;
> + wakeup-event-action = <EV_ACT_DEASSERTED>;
> + };
> + };
> +
> + pmic-glink {
> + compatible = "qcom,glymur-pmic-glink",
> + "qcom,pmic-glink";
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + /* Left-side USB-C 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_hs_in: endpoint {
> + remote-endpoint = <&usb_0_dwc3_hs>;
> + };
> + };
> +
> + port@1 {
> + reg = <1>;
> +
> + pmic_glink_ss_in: endpoint {
> + remote-endpoint = <&usb_0_qmpphy_out>;
> + };
> + };
> + };
> + };
> +
> + /* Right-side USB-C 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_hs_in1: endpoint {
> + remote-endpoint = <&usb_1_dwc3_hs>;
> + };
> + };
> +
> + port@1 {
> + reg = <1>;
> +
> + pmic_glink_ss_in1: endpoint {
> + remote-endpoint = <&usb_1_qmpphy_out>;
> + };
> + };
> + };
> + };
> + };
> +
> + 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_edp_bl: regulator-edp-bl {
> + compatible = "regulator-fixed";
> +
> + regulator-name = "VREG_EDP_BL";
> + regulator-min-microvolt = <3600000>;
> + regulator-max-microvolt = <3600000>;
> +
> + gpio = <&tlmm 19 GPIO_ACTIVE_HIGH>;
> + enable-active-high;
> +
> + pinctrl-0 = <&edp_bl_reg_en>;
> + pinctrl-names = "default";
> +
> + regulator-boot-on;
> + regulator-always-on;
> + };
> +
> + vreg_misc_3p3: regulator-misc-3p3 {
> + compatible = "regulator-fixed";
> +
> + regulator-name = "VREG_MISC_3P3";
> + regulator-min-microvolt = <3300000>;
> + regulator-max-microvolt = <3300000>;
> +
> + gpio = <&pmh0110_f_e0_gpios 6 GPIO_ACTIVE_HIGH>;
> + enable-active-high;
> +
> + pinctrl-0 = <&misc_3p3_reg_en>;
> + pinctrl-names = "default";
> +
> + regulator-boot-on;
> + regulator-always-on;
> + };
> +
> + vreg_nvme: regulator-nvme {
> + compatible = "regulator-fixed";
> +
> + regulator-name = "VREG_NVME_3P3";
> + regulator-min-microvolt = <3300000>;
> + regulator-max-microvolt = <3300000>;
> +
> + gpio = <&pmh0101_gpios 14 GPIO_ACTIVE_HIGH>;
> + enable-active-high;
> +
> + pinctrl-0 = <&nvme_reg_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_3p3: regulator-wcn-3p3 {
> + compatible = "regulator-fixed";
> +
> + regulator-name = "VREG_WCN_3P3";
> + regulator-min-microvolt = <3300000>;
> + regulator-max-microvolt = <3300000>;
> +
> + gpio = <&tlmm 94 GPIO_ACTIVE_HIGH>;
> + enable-active-high;
> +
> + pinctrl-0 = <&wcn_sw_en>;
> + pinctrl-names = "default";
> +
> + regulator-boot-on;
> + };
> +
> + vreg_wwan: regulator-wwan {
> + compatible = "regulator-fixed";
> +
> + regulator-name = "VREG_WWAN_3P3";
> + regulator-min-microvolt = <3300000>;
> + regulator-max-microvolt = <3300000>;
> +
> + gpio = <&tlmm 246 GPIO_ACTIVE_HIGH>;
> + enable-active-high;
> +
> + pinctrl-0 = <&wwan_reg_en>;
> + pinctrl-names = "default";
> + };
> +
> + reserved-memory {
> + linux,cma {
> + compatible = "shared-dma-pool";
> + size = <0x0 0x10000000>;
> + reusable;
> + linux,cma-default;
> + };
> + };
> +
> + sound {
> + compatible = "qcom,glymur-sndcard";
> + model = "Lenovo-ThinkPad-T14s-Gen-7";
> + 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>;
> + };
> + };
> +
> + displayport-0-dai-link {
> + link-name = "DisplayPort0 Playback";
> +
> + cpu {
> + sound-dai = <&q6apmbedai DISPLAY_PORT_RX_0>;
> + };
> +
> + codec {
> + sound-dai = <&mdss_dp0>;
> + };
> +
> + platform {
> + sound-dai = <&q6apm>;
> + };
> + };
> +
> + displayport-1-dai-link {
> + link-name = "DisplayPort1 Playback";
> +
> + cpu {
> + sound-dai = <&q6apmbedai DISPLAY_PORT_RX_1>;
> + };
> +
> + codec {
> + sound-dai = <&mdss_dp1>;
> + };
> +
> + platform {
> + sound-dai = <&q6apm>;
> + };
> + };
> +
> + };
> +
> + wcn7850-pmu {
> + compatible = "qcom,wcn7850-pmu";
> +
> + vdd-supply = <&vreg_wcn_0p95>;
> + vddio-supply = <&vreg_l15b_e0_1p8>;
> + vddaon-supply = <&vreg_l15b_e0_1p8>;
> + vdddig-supply = <&vreg_l15b_e0_1p8>;
> + vddrfa1p2-supply = <&vreg_l15b_e0_1p8>;
> + vddrfa1p8-supply = <&vreg_l15b_e0_1p8>;
> +
> + 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,pmh0101-rpmh-regulators";
> + qcom,pmic-id = "B_E0";
> +
> + vreg_bob1_e0: bob1 {
> + regulator-name = "vreg_bob1_e0";
> + regulator-min-microvolt = <2200000>;
> + regulator-max-microvolt = <4224000>;
> + regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
> + };
> +
> + vreg_bob2_e0: bob2 {
> + regulator-name = "vreg_bob2_e0";
> + regulator-min-microvolt = <2540000>;
> + regulator-max-microvolt = <3600000>;
> + regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
> + };
> +
> + vreg_l1b_e0_1p8: ldo1 {
> + regulator-name = "vreg_l1b_e0_1p8";
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> + };
> +
> + vreg_l2b_e0_2p9: ldo2 {
> + regulator-name = "vreg_l2b_e0_2p9";
> + regulator-min-microvolt = <2904000>;
> + regulator-max-microvolt = <2904000>;
> + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> + };
> +
> + vreg_l7b_e0_2p79: ldo7 {
> + regulator-name = "vreg_l7b_e0_2p79";
> + regulator-min-microvolt = <2790000>;
> + regulator-max-microvolt = <2792000>;
> + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> + };
> +
> + vreg_l8b_e0_3p3: ldo8 {
> + regulator-name = "vreg_l8b_e0_3p3";
> + regulator-min-microvolt = <1504000>;
> + regulator-max-microvolt = <3304000>;
> + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> + };
> +
> + vreg_l9b_e0_2p9: ldo9 {
> + regulator-name = "vreg_l9b_e0_2p9";
> + regulator-min-microvolt = <2704000>;
> + regulator-max-microvolt = <2960000>;
> + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> + };
> +
> + vreg_l10b_e0_1p8: ldo10 {
> + regulator-name = "vreg_l10b_e0_1p8";
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> + };
> +
> + vreg_l11b_e0_1p2: ldo11 {
> + regulator-name = "vreg_l11b_e0_1p2";
> + regulator-min-microvolt = <1200000>;
> + regulator-max-microvolt = <1200000>;
> + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> + };
> +
> + vreg_l12b_e0_1p2: ldo12 {
> + regulator-name = "vreg_l12b_e0_1p2";
> + regulator-min-microvolt = <1144000>;
> + regulator-max-microvolt = <1200000>;
> + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> + };
> +
> + vreg_l15b_e0_1p8: ldo15 {
> + regulator-name = "vreg_l15b_e0_1p8";
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> + regulator-always-on;
> + };
> +
> + vreg_l17b_e0_2p4: ldo17 {
> + regulator-name = "vreg_l17b_e0_2p4";
> + regulator-min-microvolt = <2400000>;
> + regulator-max-microvolt = <2700000>;
> + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> + };
> +
> + vreg_l18b_e0_1p2: ldo18 {
> + regulator-name = "vreg_l18b_e0_1p2";
> + regulator-min-microvolt = <1200000>;
> + regulator-max-microvolt = <1200000>;
> + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> + regulator-always-on;
> + };
> + };
> +
> + regulators-1 {
> + compatible = "qcom,pmcx0102-rpmh-regulators";
> + qcom,pmic-id = "C_E1";
> +
> + vreg_l1c_e1_0p82: ldo1 {
> + regulator-name = "vreg_l1c_e1_0p82";
> + regulator-min-microvolt = <832000>;
> + regulator-max-microvolt = <832000>;
> + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> + };
> +
> + vreg_l2c_e1_1p14: ldo2 {
> + regulator-name = "vreg_l2c_e1_1p14";
> + regulator-min-microvolt = <1144000>;
> + regulator-max-microvolt = <1144000>;
> + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> + };
> +
> + vreg_l3c_e1_0p89: ldo3 {
> + regulator-name = "vreg_l3c_e1_0p89";
> + regulator-min-microvolt = <890000>;
> + regulator-max-microvolt = <980000>;
> + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> + };
> +
> + vreg_l4c_e1_0p72: ldo4 {
> + regulator-name = "vreg_l4c_e1_0p72";
> + regulator-min-microvolt = <720000>;
> + regulator-max-microvolt = <720000>;
> + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> + };
> + };
> +
> + regulators-2 {
> + compatible = "qcom,pmh0110-rpmh-regulators";
> + qcom,pmic-id = "F_E0";
> +
> + vreg_s7f_e0_1p32: smps7 {
> + regulator-name = "vreg_s7f_e0_1p32";
> + regulator-min-microvolt = <1320000>;
> + regulator-max-microvolt = <1352000>;
> + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> + };
> +
> + vreg_s8f_e0_0p95: smps8 {
> + regulator-name = "vreg_s8f_e0_0p95";
> + regulator-min-microvolt = <952000>;
> + regulator-max-microvolt = <1200000>;
> + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> + };
> +
> + vreg_s9f_e0_1p9: smps9 {
> + regulator-name = "vreg_s9f_e0_1p9";
> + regulator-min-microvolt = <1900000>;
> + regulator-max-microvolt = <2000000>;
> + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> + };
> +
> + vreg_l2f_e0_0p94: ldo2 {
> + regulator-name = "vreg_l2f_e0_0p94";
> + regulator-min-microvolt = <936000>;
> + regulator-max-microvolt = <936000>;
> + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> + };
> +
> + vreg_l3f_e0_0p91: ldo3 {
> + regulator-name = "vreg_l3f_e0_0p91";
> + regulator-min-microvolt = <912000>;
> + regulator-max-microvolt = <912000>;
> + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> + };
> +
> + vreg_l4f_e0_0p3: ldo4 {
> + regulator-name = "vreg_l4f_e0_0p3";
> + regulator-min-microvolt = <1080000>;
> + regulator-max-microvolt = <1200000>;
> + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> + };
> + };
> +
> + regulators-3 {
> + compatible = "qcom,pmh0110-rpmh-regulators";
> + qcom,pmic-id = "F_E1";
> +
> + vreg_s7f_e1_0p3: smps7 {
> + regulator-name = "vreg_s7f_e1_0p3";
> + regulator-min-microvolt = <300000>;
> + regulator-max-microvolt = <1200000>;
> + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> + };
> +
> + vreg_l1f_e1_0p88: ldo1 {
> + regulator-name = "vreg_l1f_e1_0p88";
> + regulator-min-microvolt = <880000>;
> + regulator-max-microvolt = <880000>;
> + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> + };
> +
> + vreg_l2f_e1_0p9: ldo2 {
> + regulator-name = "vreg_l2f_e1_0p9";
> + regulator-min-microvolt = <904000>;
> + regulator-max-microvolt = <904000>;
> + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> + };
> +
> + vreg_l4f_e1_1p2: ldo4 {
> + regulator-name = "vreg_l4f_e1_1p2";
> + regulator-min-microvolt = <1200000>;
> + regulator-max-microvolt = <1200000>;
> + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> + };
> + };
> +
> + regulators-4 {
> + compatible = "qcom,pmh0110-rpmh-regulators";
> + qcom,pmic-id = "H_E0";
> +
> + vreg_l1h_e0_0p94: ldo1 {
> + regulator-name = "vreg_l1h_e0_0p94";
> + regulator-min-microvolt = <936000>;
> + regulator-max-microvolt = <936000>;
> + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> + };
> +
> + vreg_l2h_e0_0p72: ldo2 {
> + regulator-name = "vreg_l2h_e0_0p72";
> + regulator-min-microvolt = <832000>;
> + regulator-max-microvolt = <832000>;
> + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> + };
> +
> + vreg_l3h_e0_0p32: ldo3 {
> + regulator-name = "vreg_l3h_e0_0p32";
> + regulator-min-microvolt = <320000>;
> + regulator-max-microvolt = <2000000>;
> + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> + };
> +
> + vreg_l4h_e0_1p2: ldo4 {
> + regulator-name = "vreg_l4h_e0_1p2";
> + regulator-min-microvolt = <1080000>;
> + regulator-max-microvolt = <1320000>;
> + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> + };
> + };
> +};
> +
> +/* GPU/GMU not fully functional yet on this platform. */
> +&gmu {
> + status = "disabled";
> +};
> +
> +&gpu {
> + status = "disabled";
> +};
> +
> +&i2c0 {
> + clock-frequency = <400000>;
> +
> + status = "okay";
> +
> + touchpad@2c {
> + compatible = "hid-over-i2c";
> + reg = <0x2c>;
> +
> + hid-descr-addr = <0x20>;
> + interrupts-extended = <&tlmm 3 IRQ_TYPE_LEVEL_LOW>;
> +
> + vdd-supply = <&vreg_misc_3p3>;
> + vddl-supply = <&vreg_l15b_e0_1p8>;
> +
> + pinctrl-0 = <&tpad_default>;
> + pinctrl-names = "default";
> +
> + wakeup-source;
> + };
> +
> + keyboard@3a {
> + compatible = "hid-over-i2c";
> + reg = <0x3a>;
> +
> + hid-descr-addr = <0x1>;
> + interrupts-extended = <&tlmm 67 IRQ_TYPE_LEVEL_LOW>;
> +
> + vdd-supply = <&vreg_misc_3p3>;
> + vddl-supply = <&vreg_l15b_e0_1p8>;
> +
> + pinctrl-0 = <&kybd_default>;
> + pinctrl-names = "default";
> +
> + wakeup-source;
> + };
> +};
> +
> +&i2c5 {
> + clock-frequency = <400000>;
> +
> + status = "okay";
> +
> + ptn3222_0: redriver@43 {
> + compatible = "nxp,ptn3222";
> + reg = <0x43>;
> +
> + reset-gpios = <&tlmm 8 GPIO_ACTIVE_LOW>;
> +
> + vdd3v3-supply = <&vreg_l8b_e0_3p3>;
> + vdd1v8-supply = <&vreg_l15b_e0_1p8>;
> +
> + #phy-cells = <0>;
> + };
> +
> + ptn3222_1: redriver@4b {
> + compatible = "nxp,ptn3222";
> + reg = <0x4b>;
> +
> + reset-gpios = <&tlmm 184 GPIO_ACTIVE_LOW>;
> +
> + vdd3v3-supply = <&vreg_l8b_e0_3p3>;
> + vdd1v8-supply = <&vreg_l15b_e0_1p8>;
> +
> + #phy-cells = <0>;
> + };
> +
> + ptn3222_cam: redriver@47 {
> + compatible = "nxp,ptn3222";
> + reg = <0x47>;
> +
> + reset-gpios = <&tlmm 9 GPIO_ACTIVE_LOW>;
> +
> + vdd3v3-supply = <&vreg_l8b_e0_3p3>;
> + vdd1v8-supply = <&vreg_l15b_e0_1p8>;
> +
> + #phy-cells = <0>;
> + };
> +
> + ptn3222_fpr: redriver@4f {
> + compatible = "nxp,ptn3222";
> + reg = <0x4f>;
> +
> + reset-gpios = <&tlmm 40 GPIO_ACTIVE_LOW>;
> +
> + vdd3v3-supply = <&vreg_l8b_e0_3p3>;
> + vdd1v8-supply = <&vreg_l15b_e0_1p8>;
> +
> + #phy-cells = <0>;
> + };
> +};
> +
> +&lpass_vamacro {
> + pinctrl-0 = <&dmic01_default>;
> + pinctrl-names = "default";
> + qcom,dmic-sample-rate = <4800000>;
> + vdd-micb-supply = <&vreg_l1b_e0_1p8>;
> +};
> +
> +&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 {
> + /delete-property/ #sound-dai-cells;
> +
> + pinctrl-0 = <&edp0_hpd_default>;
> + pinctrl-names = "default";
> +
> + status = "okay";
> +
> + aux-bus {
> + panel {
> + compatible = "edp-panel";
> + power-supply = <&vreg_edp_3p3>;
> + backlight = <&backlight>;
> +
> + port {
> + edp_panel_in: endpoint {
> + remote-endpoint = <&mdss_dp3_out>;
> + };
> + };
> + };
> + };
> +};
> +
> +&mdss_dp3_out {
> + 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_l2f_e1_0p9>;
> + vdda-pll-supply = <&vreg_l4f_e1_1p2>;
> +
> + status = "okay";
> +};
> +
> +/* PCIe4: on-board WLAN (WCN7850) */
> +&pcie4 {
> + pinctrl-0 = <&pcie4_default>;
> + pinctrl-names = "default";
> +
> + status = "okay";
> +};
> +
> +&pcie4_phy {
> + vdda-phy-supply = <&vreg_l1c_e1_0p82>;
> + vdda-pll-supply = <&vreg_l4f_e1_1p2>;
> +
> + status = "okay";
> +};
> +
> +&pcie4_port0 {
> + reset-gpios = <&tlmm 146 GPIO_ACTIVE_LOW>;
> + wake-gpios = <&tlmm 148 GPIO_ACTIVE_LOW>;
> +
> + 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>;
> + };
> +};
> +
> +/* PCIe5: primary M.2 2280 NVMe */
> +&pcie5 {
> + vddpe-3v3-supply = <&vreg_nvme>;
> +
> + pinctrl-0 = <&pcie5_default>;
> + pinctrl-names = "default";
> +
> + status = "okay";
> +};
> +
> +&pcie5_phy {
> + vdda-phy-supply = <&vreg_l2f_e0_0p94>;
> + vdda-pll-supply = <&vreg_l4h_e0_1p2>;
> +
> + status = "okay";
> +};
> +
> +&pcie5_port0 {
> + reset-gpios = <&tlmm 152 GPIO_ACTIVE_LOW>;
> + wake-gpios = <&tlmm 154 GPIO_ACTIVE_LOW>;
> +};
> +
> +/* PCIe6: optional WWAN M.2 3042 */
> +&pcie6 {
> + vddpe-3v3-supply = <&vreg_wwan>;
> +
> + pinctrl-0 = <&pcie6_default>;
> + pinctrl-names = "default";
> +
> + status = "okay";
> +};
> +
> +&pcie6_phy {
> + vdda-phy-supply = <&vreg_l1c_e1_0p82>;
> + vdda-pll-supply = <&vreg_l4f_e1_1p2>;
> +
> + status = "okay";
> +};
> +
> +&pcie6_port0 {
> + reset-gpios = <&tlmm 149 GPIO_ACTIVE_LOW>;
> + wake-gpios = <&tlmm 151 GPIO_ACTIVE_LOW>;
> +};
> +
> +&pmh0101_gpios {
> + nvme_reg_en: nvme-reg-en-state {
> + pins = "gpio14";
> + function = "normal";
> + bias-disable;
> + };
> +};
> +
> +&pmh0110_f_e0_gpios {
> + misc_3p3_reg_en: misc-3p3-reg-en-state {
> + pins = "gpio6";
> + function = "normal";
> + bias-disable;
> + input-disable;
> + output-enable;
> + drive-push-pull;
> + power-source = <1>; /* 1.8 V */
> + qcom,drive-strength = <PMIC_GPIO_STRENGTH_LOW>;
> + };
> +};
> +
> +&pmk8850_rtc {
> + qcom,no-alarm;
> +};
> +
> +&remoteproc_adsp {
> + firmware-name = "qcom/glymur/LENOVO/22A8/qcadsp8480.mbn",
> + "qcom/glymur/LENOVO/22A8/adsp_dtbs.elf";
> +
> + status = "okay";
> +};
> +
> +&remoteproc_cdsp {
> + firmware-name = "qcom/glymur/LENOVO/22A8/qccdsp8480.mbn",
> + "qcom/glymur/LENOVO/22A8/cdsp_dtbs.elf";
> +
> + status = "okay";
> +};
> +
> +&swr0 {
> + status = "okay";
> +
> + /* WSA8845, Left */
> + 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_e0_1p8>;
> + vdd-io-supply = <&vreg_l18b_e0_1p2>;
> + qcom,port-mapping = <1 2 3 7 12 14>;
> + };
> +
> + /* WSA8845, Right */
> + 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_e0_1p8>;
> + vdd-io-supply = <&vreg_l18b_e0_1p2>;
> + qcom,port-mapping = <4 5 6 7 13 15>;
> + };
> +};
> +
> +&smb2370_j_e2_eusb2_repeater {
> + vdd18-supply = <&vreg_l15b_e0_1p8>;
> + vdd3-supply = <&vreg_l7b_e0_2p79>;
> +};
> +
> +&smb2370_k_e2_eusb2_repeater {
> + vdd18-supply = <&vreg_l15b_e0_1p8>;
> + vdd3-supply = <&vreg_l7b_e0_2p79>;
> +};
> +
> +&tcsr {
> + vdda-qrefrpt0-0p9-supply = <&vreg_l2f_e1_0p9>;
> + vdda-qrefrpt1-0p9-supply = <&vreg_l2f_e1_0p9>;
> + vdda-qrefrpt2-0p9-supply = <&vreg_l2f_e1_0p9>;
> + vdda-qrefrpt3-0p9-supply = <&vreg_l2h_e0_0p72>;
> + vdda-qrefrpt4-0p9-supply = <&vreg_l2h_e0_0p72>;
> + vdda-qrefrpt5-0p9-supply = <&vreg_l2h_e0_0p72>;
> + vdda-qrefrx0-0p9-supply = <&vreg_l2f_e1_0p9>;
> + vdda-qrefrx1-0p9-supply = <&vreg_l2f_e1_0p9>;
> + vdda-qrefrx2-0p9-supply = <&vreg_l2f_e1_0p9>;
> + vdda-qrefrx3-0p9-supply = <&vreg_l2h_e0_0p72>;
> + vdda-qrefrx4-0p9-supply = <&vreg_l2h_e0_0p72>;
> + vdda-qrefrx5-0p9-supply = <&vreg_l3f_e0_0p91>;
> + vdda-qreftx0-0p9-supply = <&vreg_l3f_e0_0p91>;
> + vdda-qreftx0-1p2-supply = <&vreg_l4h_e0_1p2>;
> + vdda-qreftx1-0p9-supply = <&vreg_l1f_e1_0p88>;
> + vdda-refgen3-0p9-supply = <&vreg_l2f_e0_0p94>;
> + vdda-refgen3-1p2-supply = <&vreg_l4h_e0_1p2>;
> + vdda-refgen4-0p9-supply = <&vreg_l1f_e1_0p88>;
> + vdda-refgen4-1p2-supply = <&vreg_l4f_e1_1p2>;
> +};
> +
> +&tlmm {
> + gpio-reserved-ranges = <4 4>, /* EC TZ Secure I3C */
> + <10 2>, /* OOB UART */
> + <27 1>, /* TZ trigger */
> + <44 4>, /* TPM */
> + <139 1>; /* TZ trigger */
> +
> + edp_bl_en: edp-bl-en-state {
> + pins = "gpio18";
> + function = "gpio";
> + drive-strength = <2>;
> + bias-disable;
> + };
> +
> + edp_bl_reg_en: edp-bl-reg-en-state {
> + pins = "gpio19";
> + function = "gpio";
> + drive-strength = <2>;
> + bias-disable;
> + };
> +
> + edp_reg_en: edp-reg-en-state {
> + pins = "gpio70";
> + function = "gpio";
> + drive-strength = <16>;
> + bias-disable;
> + };
> +
> + edp0_hpd_default: edp0-hpd-default-state {
> + pins = "gpio119";
> + function = "edp0_hot";
> + bias-disable;
> + };
> +
> + hall_int_n_default: hall-int-n-state {
> + pins = "gpio92";
> + function = "gpio";
> + bias-disable;
> + };
> +
> + kybd_default: kybd-default-state {
> + pins = "gpio67";
> + function = "gpio";
> + bias-disable;
> + };
> +
> + pcie4_default: pcie4-default-state {
> + clkreq-n-pins {
> + pins = "gpio147";
> + function = "pcie4_clk_req_n";
> + 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;
> + };
> + };
> +
> + pcie5_default: pcie5-default-state {
> + clkreq-n-pins {
> + pins = "gpio153";
> + function = "pcie5_clk_req_n";
> + drive-strength = <2>;
> + bias-pull-up;
> + };
> +
> + perst-n-pins {
> + pins = "gpio152";
> + function = "gpio";
> + drive-strength = <2>;
> + bias-disable;
> + };
> +
> + wake-n-pins {
> + pins = "gpio154";
> + function = "gpio";
> + drive-strength = <2>;
> + bias-pull-up;
> + };
> + };
> +
> + pcie6_default: pcie6-default-state {
> + clkreq-n-pins {
> + pins = "gpio150";
> + function = "pcie6_clk_req_n";
> + drive-strength = <2>;
> + bias-pull-up;
> + };
> +
> + perst-n-pins {
> + pins = "gpio149";
> + function = "gpio";
> + drive-strength = <2>;
> + bias-disable;
> + };
> +
> + wake-n-pins {
> + pins = "gpio151";
> + function = "gpio";
> + drive-strength = <2>;
> + bias-pull-up;
> + };
> + };
> +
> + tpad_default: tpad-default-state {
> + pins = "gpio3";
> + function = "gpio";
> + bias-disable;
> + };
> +
> + wcn_wlan_bt_en: wcn-wlan-bt-en-state {
> + pins = "gpio116", "gpio117";
> + function = "gpio";
> + drive-strength = <2>;
> + bias-disable;
> + };
> +
> + wcn_sw_en: wcn-sw-en-state {
> + pins = "gpio94";
> + function = "gpio";
> + drive-strength = <2>;
> + bias-disable;
> + };
> +
> + wwan_reg_en: wwan-reg-en-state {
> + pins = "gpio246";
> + function = "gpio";
> + drive-strength = <2>;
> + bias-disable;
> + };
> +};
> +
> +&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_0 {
> + status = "okay";
> +};
> +
> +&usb_0_dwc3_hs {
> + remote-endpoint = <&pmic_glink_hs_in>;
> +};
> +
> +&usb_0_hsphy {
> + vdd-supply = <&vreg_l3f_e0_0p91>;
> + vdda12-supply = <&vreg_l4h_e0_1p2>;
> +
> + phys = <&smb2370_j_e2_eusb2_repeater>;
> +
> + status = "okay";
> +};
> +
> +&usb_0_qmpphy {
> + vdda-phy-supply = <&vreg_l3f_e0_0p91>;
> + vdda-pll-supply = <&vreg_l4h_e0_1p2>;
> + refgen-supply = <&vreg_l2f_e0_0p94>;
> +
> + status = "okay";
> +};
> +
> +&usb_0_qmpphy_out {
> + remote-endpoint = <&pmic_glink_ss_in>;
> +};
> +
> +&usb_1 {
> + status = "okay";
> +};
> +
> +&usb_1_dwc3_hs {
> + remote-endpoint = <&pmic_glink_hs_in1>;
> +};
> +
> +&usb_1_hsphy {
> + vdd-supply = <&vreg_l3f_e0_0p91>;
> + vdda12-supply = <&vreg_l4h_e0_1p2>;
> +
> + phys = <&smb2370_k_e2_eusb2_repeater>;
> +
> + status = "okay";
> +};
> +
> +&usb_1_qmpphy {
> + vdda-phy-supply = <&vreg_l1h_e0_0p94>;
> + vdda-pll-supply = <&vreg_l4h_e0_1p2>;
> + refgen-supply = <&vreg_l2f_e0_0p94>;
> +
> + status = "okay";
> +};
> +
> +&usb_1_qmpphy_out {
> + remote-endpoint = <&pmic_glink_ss_in1>;
> +};
> +
> +&usb_mp {
> + status = "okay";
> +};
> +
> +&usb_mp_hsphy0 {
> + vdd-supply = <&vreg_l2h_e0_0p72>;
> + vdda12-supply = <&vreg_l4h_e0_1p2>;
> +
> + phys = <&ptn3222_0>;
> +
> + status = "okay";
> +};
> +
> +&usb_mp_hsphy1 {
> + vdd-supply = <&vreg_l2h_e0_0p72>;
> + vdda12-supply = <&vreg_l4h_e0_1p2>;
> +
> + phys = <&ptn3222_1>;
> +
> + status = "okay";
> +};
> +
> +&usb_mp_qmpphy0 {
> + vdda-phy-supply = <&vreg_l2h_e0_0p72>;
> + vdda-pll-supply = <&vreg_l4h_e0_1p2>;
> + refgen-supply = <&vreg_l4f_e1_1p2>;
> +
> + status = "okay";
> +};
> +
> +&usb_mp_qmpphy1 {
> + vdda-phy-supply = <&vreg_l2h_e0_0p72>;
> + vdda-pll-supply = <&vreg_l4h_e0_1p2>;
> + refgen-supply = <&vreg_l4f_e1_1p2>;
> +
> + status = "okay";
> +};
> +
> +&usb_hs {
> + dr_mode = "host";
> +
> + status = "okay";
> +};
> +
> +&usb_hs_phy {
> + vdd-supply = <&vreg_l2h_e0_0p72>;
> + vdda12-supply = <&vreg_l4h_e0_1p2>;
> +
> + phys = <&ptn3222_cam>;
> +
> + status = "okay";
> +};
> +
> +&usb_2 {
> + dr_mode = "host";
> + maximum-speed = "high-speed";
> +
> + /delete-property/ usb-role-switch;
> + phys = <&usb_2_hsphy>;
> + phy-names = "usb2-phy";
> +
> + status = "okay";
> +};
> +
> +&usb_2_hsphy {
> + vdd-supply = <&vreg_l4c_e1_0p72>;
> + vdda12-supply = <&vreg_l4f_e1_1p2>;
> +
> + phys = <&ptn3222_fpr>;
> +
> + status = "okay";
> +};
> --
> 2.53.0
>
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2026-10-01 2:30 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-09-29 22:18 [PATCH v4 0/3] arm64: dts: qcom: Lenovo ThinkPad T14s Gen 7 (Mahua) support Srinivas Kandagatla
2026-09-29 22:18 ` [PATCH v4 1/3] dt-bindings: arm: qcom: add Lenovo ThinkPad T14s Gen 7 (Mahua) Srinivas Kandagatla
2026-09-29 22:18 ` [PATCH v4 2/3] arm64: dts: qcom: Add Lenovo ThinkPad T14s Gen 7 Srinivas Kandagatla
2026-10-01 2:30 ` Bjorn Andersson
2026-09-29 22:18 ` [PATCH v4 3/3] firmware: qcom: scm: Allow QSEECOM on " Srinivas Kandagatla
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®