]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
arm64: dts: qcom: Add the Lenovo IdeaCentre Mini X
authorBjorn Andersson <bjorn.andersson@oss.qualcomm.com>
Thu, 2 Apr 2026 02:31:26 +0000 (21:31 -0500)
committerBjorn Andersson <andersson@kernel.org>
Thu, 2 Apr 2026 21:08:54 +0000 (16:08 -0500)
The Lenovo IdeaCentre Mini X (Snapdragon) Desktop is a Hamoa-based
ultracompact desktop PC. It provides HDMI, DisplayPort, USB Type-C
display outputs, 5 additional USB ports, Ethernet, dual NVME slots,
headphone jack, WiFi, and Bluetooth.

Introduce a DeviceTree describing this device.

Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Signed-off-by: Bjorn Andersson <bjorn.andersson@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20260401-ideacentre-v2-2-5745fe2c764e@oss.qualcomm.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
arch/arm64/boot/dts/qcom/Makefile
arch/arm64/boot/dts/qcom/hamoa-lenovo-ideacentre-mini-01q8x10.dts [new file with mode: 0644]

index 09159d48faea85a418c9dc1fea0f07f90e601c06..4ba8e73064194926096b98b9556a3207e8f24d72 100644 (file)
@@ -21,6 +21,7 @@ dtb-$(CONFIG_ARCH_QCOM)       += hamoa-iot-evk.dtb
 hamoa-iot-evk-el2-dtbs := hamoa-iot-evk.dtb x1-el2.dtbo
 
 dtb-$(CONFIG_ARCH_QCOM)        += hamoa-iot-evk-el2.dtb
+dtb-$(CONFIG_ARCH_QCOM)        += hamoa-lenovo-ideacentre-mini-01q8x10.dtb
 dtb-$(CONFIG_ARCH_QCOM)        += ipq5018-rdp432-c2.dtb
 dtb-$(CONFIG_ARCH_QCOM)        += ipq5018-tplink-archer-ax55-v1.dtb
 dtb-$(CONFIG_ARCH_QCOM)        += ipq5210-rdp504.dtb
diff --git a/arch/arm64/boot/dts/qcom/hamoa-lenovo-ideacentre-mini-01q8x10.dts b/arch/arm64/boot/dts/qcom/hamoa-lenovo-ideacentre-mini-01q8x10.dts
new file mode 100644 (file)
index 0000000..bfb7cea
--- /dev/null
@@ -0,0 +1,1200 @@
+// SPDX-License-Identifier: BSD-3-Clause
+/*
+ * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
+ */
+
+/dts-v1/;
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
+
+#include "hamoa.dtsi"
+#include "hamoa-pmics.dtsi"
+
+/ {
+       model = "Lenovo IdeaCentre Mini 01Q8X10";
+       compatible = "lenovo,ideacentre-mini-01q8x10", "qcom,x1e80100";
+       chassis-type = "desktop";
+
+       aliases {
+               serial0 = &uart14;
+       };
+
+       wcd938x: audio-codec {
+               compatible = "qcom,wcd9385-codec";
+
+               pinctrl-0 = <&wcd_default>;
+               pinctrl-names = "default";
+
+               qcom,micbias1-microvolt = <1800000>;
+               qcom,micbias2-microvolt = <1800000>;
+               qcom,micbias3-microvolt = <1800000>;
+               qcom,micbias4-microvolt = <1800000>;
+               qcom,mbhc-buttons-vthreshold-microvolt = <75000 150000 237000 500000 500000 500000 500000 500000>;
+               qcom,mbhc-headset-vthreshold-microvolt = <1700000>;
+               qcom,mbhc-headphone-vthreshold-microvolt = <50000>;
+               qcom,rx-device = <&wcd_rx>;
+               qcom,tx-device = <&wcd_tx>;
+
+               reset-gpios = <&tlmm 191 GPIO_ACTIVE_LOW>;
+               mux-controls = <&us_euro_mux_ctrl>;
+
+               vdd-buck-supply = <&vreg_l15b>;
+               vdd-rxtx-supply = <&vreg_l15b>;
+               vdd-io-supply = <&vreg_l15b>;
+               vdd-mic-bias-supply = <&vreg_bob1>;
+
+               #sound-dai-cells = <1>;
+       };
+
+       dp-connector {
+               compatible = "dp-connector";
+               type = "full-size";
+
+               pinctrl-0 = <&usb1_dp_hot_plug_detect>;
+               pinctrl-names = "default";
+
+               port {
+                       dp_port_in: endpoint {
+                               remote-endpoint = <&usb_1_ss1_qmpphy_out_dp>;
+                       };
+               };
+       };
+
+       hdmi-bridge {
+               compatible = "parade,ps185hdm";
+
+               pinctrl-0 = <&usb2_dp_hot_plug_detect>;
+               pinctrl-names = "default";
+
+               ports {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+
+                       port@0 {
+                               reg = <0>;
+
+                               hdmi_bridge_in: endpoint {
+                                       remote-endpoint = <&usb_1_ss2_qmpphy_out_dp>;
+                               };
+                       };
+
+                       port@1 {
+                               reg = <1>;
+
+                               hdmi_bridge_out: endpoint {
+                                       remote-endpoint = <&hdmi_con>;
+                               };
+                       };
+               };
+       };
+
+       hdmi-connector {
+               compatible = "hdmi-connector";
+               type = "a";
+
+               port {
+                       hdmi_con: endpoint {
+                               remote-endpoint = <&hdmi_bridge_out>;
+                       };
+               };
+       };
+
+       us_euro_mux_ctrl: mux-controller {
+               compatible = "gpio-mux";
+               pinctrl-0 = <&us_euro_hs_sel>;
+               pinctrl-names = "default";
+               mux-supply = <&vreg_l16b>;
+               #mux-control-cells = <0>;
+               mux-gpios = <&tlmm 68 GPIO_ACTIVE_HIGH>;
+       };
+
+       pmic-glink {
+               compatible = "qcom,x1e80100-pmic-glink",
+                            "qcom,sm8550-pmic-glink",
+                            "qcom,pmic-glink";
+               orientation-gpios = <&tlmm 121 GPIO_ACTIVE_HIGH>;
+
+               #address-cells = <1>;
+               #size-cells = <0>;
+
+               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_port0_hs_in: endpoint {
+                                               remote-endpoint = <&usb_1_ss0_dwc3_hs>;
+                                       };
+                               };
+
+                               port@1 {
+                                       reg = <1>;
+
+                                       pmic_glink_port0_ss_in: endpoint {
+                                               remote-endpoint = <&usb0_retimer_out>;
+                                       };
+                               };
+
+                               port@2 {
+                                       reg = <2>;
+
+                                       pmic_glink_port0_sbu_in: endpoint {
+                                               remote-endpoint = <&usb0_retimer_sbu_out>;
+                                       };
+                               };
+                       };
+               };
+       };
+
+       vreg_nvme1_3p3: regulator-nvme1-3p3 {
+               compatible = "regulator-fixed";
+
+               regulator-name = "VREG_NVME1_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;
+       };
+
+       vreg_nvme2_3p3: regulator-nvme2-3p3 {
+               compatible = "regulator-fixed";
+
+               regulator-name = "VREG_NVME2_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;
+       };
+
+       vreg_v0p9: regulator-v0p9 {
+               compatible = "regulator-fixed";
+
+               regulator-name = "V0P9";
+               regulator-min-microvolt = <906000>;
+               regulator-max-microvolt = <906000>;
+
+               gpio = <&pmc8380_5_gpios 8 GPIO_ACTIVE_HIGH>;
+               enable-active-high;
+
+               pinctrl-0 = <&usb0_pwr_1p15_reg_en>;
+               pinctrl-names = "default";
+
+               regulator-boot-on;
+       };
+
+       vreg_vdd1v8: regulator-vdd1v8 {
+               compatible = "regulator-fixed";
+
+               regulator-name = "VDD1V8";
+               regulator-min-microvolt = <1800000>;
+               regulator-max-microvolt = <1800000>;
+
+               vin-supply = <&vreg_l15b>;
+
+               gpio = <&pm8550ve_9_gpios 8 GPIO_ACTIVE_HIGH>;
+               enable-active-high;
+
+               pinctrl-0 = <&usb0_1p8_reg_en>;
+               pinctrl-names = "default";
+
+               regulator-boot-on;
+       };
+
+       vreg_vdd33_rtmr: regulator-vdd33-rtmr {
+               compatible = "regulator-fixed";
+
+               regulator-name = "VDD33_RTMR";
+               regulator-min-microvolt = <3300000>;
+               regulator-max-microvolt = <3300000>;
+
+               gpio = <&pm8550_gpios 11 GPIO_ACTIVE_HIGH>;
+               enable-active-high;
+
+               pinctrl-0 = <&usb0_3p3_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_wifi_3v3>;
+       };
+
+       vreg_wifi_3v3: regulator-wcn-3p3 {
+               compatible = "regulator-fixed";
+
+               regulator-name = "WIFI_3V3";
+               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";
+       };
+
+       vreg_wifi_1v8: regulator-wifi-1v8 {
+               compatible = "regulator-fixed";
+
+               regulator-name = "WIFI_1V8";
+               regulator-min-microvolt = <1800000>;
+               regulator-max-microvolt = <1800000>;
+
+               vin-supply = <&vreg_l15b>;
+       };
+
+       reserved-memory {
+               linux,cma {
+                       compatible = "shared-dma-pool";
+                       size = <0x0 0x8000000>;
+                       reusable;
+                       linux,cma-default;
+               };
+       };
+
+       sound {
+               compatible = "qcom,x1e80100-sndcard";
+               model = "X1E80100-LENOVO-IdeaCentre-Mini";
+               audio-routing = "IN1_HPHL", "HPHL_OUT",
+                               "IN2_HPHR", "HPHR_OUT",
+                               "AMIC2", "MIC BIAS2",
+                               "TX SWR_INPUT1", "ADC2_OUTPUT";
+
+               wcd-playback-dai-link {
+                       link-name = "WCD Playback";
+
+                       cpu {
+                               sound-dai = <&q6apmbedai RX_CODEC_DMA_RX_0>;
+                       };
+
+                       codec {
+                               sound-dai = <&wcd938x 0>, <&swr1 0>, <&lpass_rxmacro 0>;
+                       };
+
+                       platform {
+                               sound-dai = <&q6apm>;
+                       };
+               };
+
+               wcd-capture-dai-link {
+                       link-name = "WCD Capture";
+
+                       cpu {
+                               sound-dai = <&q6apmbedai TX_CODEC_DMA_TX_3>;
+                       };
+
+                       codec {
+                               sound-dai = <&wcd938x 1>, <&swr2 1>, <&lpass_txmacro 0>;
+                       };
+
+                       platform {
+                               sound-dai = <&q6apm>;
+                       };
+               };
+
+               displayport-0-dai-link {
+                       link-name = "DisplayPort0 Playback";
+
+                       codec {
+                               sound-dai = <&mdss_dp0>;
+                       };
+
+                       cpu {
+                               sound-dai = <&q6apmbedai DISPLAY_PORT_RX_0>;
+                       };
+
+                       platform {
+                               sound-dai = <&q6apm>;
+                       };
+               };
+
+               displayport-1-dai-link {
+                       link-name = "DisplayPort1 Playback";
+
+                       codec {
+                               sound-dai = <&mdss_dp1>;
+                       };
+
+                       cpu {
+                               sound-dai = <&q6apmbedai DISPLAY_PORT_RX_1>;
+                       };
+
+                       platform {
+                               sound-dai = <&q6apm>;
+                       };
+               };
+
+               displayport-2-dai-link {
+                       link-name = "DisplayPort2 Playback";
+
+                       codec {
+                               sound-dai = <&mdss_dp2>;
+                       };
+
+                       cpu {
+                               sound-dai = <&q6apmbedai DISPLAY_PORT_RX_2>;
+                       };
+
+                       platform {
+                               sound-dai = <&q6apm>;
+                       };
+               };
+       };
+
+       wcn7850-pmu {
+               compatible = "qcom,wcn7850-pmu";
+
+               vdd-supply = <&vreg_wcn_0p95>;
+               vddio-supply = <&vreg_l15b>;
+               vddaon-supply = <&vreg_wcn_0p95>;
+               vdddig-supply = <&vreg_wcn_0p95>;
+               vddrfa1p2-supply = <&vreg_wifi_1v8>;
+               vddrfa1p8-supply = <&vreg_wifi_1v8>;
+
+               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";
+
+               vreg_bob1: bob1 {
+                       regulator-name = "vreg_bob1";
+                       regulator-min-microvolt = <3008000>;
+                       regulator-max-microvolt = <3960000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+               };
+
+               vreg_l2b: ldo2 {
+                       regulator-name = "VREG_L2B";
+                       regulator-min-microvolt = <3072000>;
+                       regulator-max-microvolt = <3072000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+               };
+
+               vreg_l4b: ldo4 {
+                       regulator-name = "VREG_L4B";
+                       regulator-min-microvolt = <1800000>;
+                       regulator-max-microvolt = <1800000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+               };
+
+               vreg_l13b: ldo13 {
+                       regulator-name = "VREG_L13B";
+                       regulator-min-microvolt = <3072000>;
+                       regulator-max-microvolt = <3072000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+               };
+
+               vreg_l15b: ldo15 {
+                       regulator-name = "VREG_L15B";
+                       regulator-min-microvolt = <1800000>;
+                       regulator-max-microvolt = <1800000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+                       regulator-always-on;
+               };
+
+               vreg_l16b: ldo16 {
+                       regulator-name = "VREG_L16B";
+                       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";
+
+               vreg_l3c: ldo3 {
+                       regulator-name = "VREG_L3C";
+                       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";
+
+               vreg_l1d: ldo1 {
+                       regulator-name = "VREG_L1D";
+                       regulator-min-microvolt = <880000>;
+                       regulator-max-microvolt = <920000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+               };
+
+               vreg_l2d: ldo2 {
+                       regulator-name = "VREG_L2D";
+                       regulator-min-microvolt = <912000>;
+                       regulator-max-microvolt = <912000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+               };
+
+               vreg_l3d: ldo3 {
+                       regulator-name = "VREG_L3D";
+                       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";
+
+               vreg_l2e: ldo2 {
+                       regulator-name = "VREG_L2E";
+                       regulator-min-microvolt = <880000>;
+                       regulator-max-microvolt = <880000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+               };
+
+               vreg_l3e: ldo3 {
+                       regulator-name = "VREG_L3E";
+                       regulator-min-microvolt = <1200000>;
+                       regulator-max-microvolt = <1200000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+               };
+       };
+
+       regulators-4 {
+               compatible = "qcom,pm8550ve-rpmh-regulators";
+               qcom,pmic-id = "i";
+
+               vreg_l3i: ldo3 {
+                       regulator-name = "VREG_L3I";
+                       regulator-min-microvolt = <880000>;
+                       regulator-max-microvolt = <920000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+               };
+       };
+
+       regulators-5 {
+               compatible = "qcom,pm8550ve-rpmh-regulators";
+               qcom,pmic-id = "j";
+
+               vreg_l1j: ldo1 {
+                       regulator-name = "VREG_L1J";
+                       regulator-min-microvolt = <912000>;
+                       regulator-max-microvolt = <912000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+               };
+
+               vreg_l2j: ldo2 {
+                       regulator-name = "VREG_L2J";
+                       regulator-min-microvolt = <1256000>;
+                       regulator-max-microvolt = <1256000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+               };
+
+               vreg_l3j: ldo3 {
+                       regulator-name = "VREG_L3J";
+                       regulator-min-microvolt = <880000>;
+                       regulator-max-microvolt = <880000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+               };
+       };
+};
+
+&i2c3 {
+       clock-frequency = <400000>;
+
+       status = "okay";
+
+       typec-mux@8 {
+               compatible = "parade,ps8833", "parade,ps8830";
+               reg = <0x08>;
+
+               clocks = <&rpmhcc RPMH_RF_CLK3>;
+
+               vdd-supply = <&vreg_v0p9>;
+               vdd33-supply = <&vreg_vdd33_rtmr>;
+               vdd33-cap-supply = <&vreg_vdd33_rtmr>;
+               vddar-supply = <&vreg_v0p9>;
+               vddat-supply = <&vreg_v0p9>;
+               vddio-supply = <&vreg_vdd1v8>;
+
+               reset-gpios = <&pm8550_gpios 10 GPIO_ACTIVE_LOW>;
+
+               pinctrl-0 = <&usb0_reset_n>;
+               pinctrl-names = "default";
+
+               retimer-switch;
+               orientation-switch;
+
+               ports {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+
+                       port@0 {
+                               reg = <0>;
+
+                               usb0_retimer_out: endpoint {
+                                       remote-endpoint = <&pmic_glink_port0_ss_in>;
+                               };
+                       };
+
+                       port@1 {
+                               reg = <1>;
+
+                               usb0_retimer_in: endpoint {
+                                       remote-endpoint = <&usb_1_ss0_qmpphy_out>;
+                               };
+                       };
+
+                       port@2 {
+                               reg = <2>;
+
+                               usb0_retimer_sbu_out: endpoint {
+                                       remote-endpoint = <&pmic_glink_port0_sbu_in>;
+                               };
+                       };
+               };
+       };
+};
+
+&i2c5 {
+       clock-frequency = <400000>;
+
+       status = "okay";
+
+       eusb3_repeater: redriver@47 {
+               compatible = "nxp,ptn3222";
+               reg = <0x47>;
+               #phy-cells = <0>;
+
+               vdd3v3-supply = <&vreg_l13b>;
+               vdd1v8-supply = <&vreg_l4b>;
+
+               reset-gpios = <&tlmm 6 GPIO_ACTIVE_LOW>;
+
+               pinctrl-0 = <&eusb3_reset_n>;
+               pinctrl-names = "default";
+       };
+
+       eusb6_repeater: redriver@4f {
+               compatible = "nxp,ptn3222";
+               reg = <0x4f>;
+               #phy-cells = <0>;
+
+               vdd3v3-supply = <&vreg_l13b>;
+               vdd1v8-supply = <&vreg_l4b>;
+
+               reset-gpios = <&tlmm 184 GPIO_ACTIVE_LOW>;
+
+               pinctrl-0 = <&eusb6_reset_n>;
+               pinctrl-names = "default";
+       };
+};
+
+&iris {
+       firmware-name = "qcom/x1e80100/LENOVO/91B6/qcvss8380.mbn";
+
+       status = "okay";
+};
+
+&gpu {
+       status = "okay";
+};
+
+&gpu_zap_shader {
+       firmware-name = "qcom/x1e80100/LENOVO/91B6/qcdxkmsuc8380.mbn";
+};
+
+&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_dp2 {
+       status = "okay";
+};
+
+&mdss_dp2_out {
+       link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000 8100000000>;
+};
+
+&pcie3 {
+       pinctrl-0 = <&pcie3_default>;
+       pinctrl-names = "default";
+
+       vddpe-3v3-supply = <&vreg_nvme2_3p3>;
+
+       status = "okay";
+};
+
+&pcie3_phy {
+       vdda-phy-supply = <&vreg_l3c>;
+       vdda-pll-supply = <&vreg_l3e>;
+
+       status = "okay";
+};
+
+&pcie3_port0 {
+       reset-gpios = <&tlmm 143 GPIO_ACTIVE_LOW>;
+       wake-gpios = <&tlmm 145 GPIO_ACTIVE_LOW>;
+};
+
+&pcie4 {
+       pinctrl-0 = <&pcie4_default>;
+       pinctrl-names = "default";
+
+       status = "okay";
+};
+
+&pcie4_phy {
+       vdda-phy-supply = <&vreg_l3i>;
+       vdda-pll-supply = <&vreg_l3e>;
+
+       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 {
+       pinctrl-0 = <&pcie5_default>;
+       pinctrl-names = "default";
+
+       status = "okay";
+};
+
+&pcie5_phy {
+       vdda-phy-supply = <&vreg_l3i>;
+       vdda-pll-supply = <&vreg_l3e>;
+
+       status = "okay";
+};
+
+&pcie5_port0 {
+       reset-gpios = <&tlmm 149 GPIO_ACTIVE_LOW>;
+       wake-gpios = <&tlmm 151 GPIO_ACTIVE_LOW>;
+};
+
+&pcie6a {
+       vddpe-3v3-supply = <&vreg_nvme1_3p3>;
+
+       pinctrl-0 = <&pcie6a_default>;
+       pinctrl-names = "default";
+
+       status = "okay";
+};
+
+&pcie6a_phy {
+       vdda-phy-supply = <&vreg_l1d>;
+       vdda-pll-supply = <&vreg_l2j>;
+
+       status = "okay";
+};
+
+&pcie6a_port0 {
+       reset-gpios = <&tlmm 152 GPIO_ACTIVE_LOW>;
+       wake-gpios = <&tlmm 154 GPIO_ACTIVE_LOW>;
+};
+
+&pmc8380_5_gpios {
+       usb0_pwr_1p15_reg_en: usb0-pwr-1p15-reg-en-state {
+               pins = "gpio8";
+               function = "normal";
+               power-source = <1>;
+               bias-disable;
+               input-disable;
+               output-enable;
+       };
+};
+
+&pm8550_gpios {
+       usb0_reset_n: usb0-reset-n-state {
+               pins = "gpio10";
+               function = "normal";
+               power-source = <1>;
+               bias-disable;
+               input-disable;
+               output-enable;
+       };
+
+       usb0_3p3_reg_en: usb0-3p3-reg-en-state {
+               pins = "gpio11";
+               function = "normal";
+               power-source = <1>;
+               bias-disable;
+               input-disable;
+               output-enable;
+       };
+};
+
+&pm8550ve_9_gpios {
+       usb0_1p8_reg_en: usb0-1p8-reg-en-state {
+               pins = "gpio8";
+               function = "normal";
+               power-source = <1>;
+               bias-disable;
+               input-disable;
+               output-enable;
+       };
+};
+
+&qupv3_0 {
+       status = "okay";
+};
+
+&qupv3_1 {
+       status = "okay";
+};
+
+&qupv3_2 {
+       status = "okay";
+};
+
+&remoteproc_adsp {
+       firmware-name = "qcom/x1e80100/LENOVO/91B6/qcadsp8380.mbn",
+                       "qcom/x1e80100/LENOVO/91B6/adsp_dtbs.elf";
+
+       status = "okay";
+};
+
+&remoteproc_cdsp {
+       firmware-name = "qcom/x1e80100/LENOVO/91B6/qccdsp8380.mbn",
+                       "qcom/x1e80100/LENOVO/91B6/cdsp_dtbs.elf";
+
+       status = "okay";
+};
+
+&smb2360_0 {
+       status = "okay";
+};
+
+&smb2360_0_eusb2_repeater {
+       vdd18-supply = <&vreg_l3d>;
+       vdd3-supply = <&vreg_l2b>;
+};
+
+&swr1 {
+       status = "okay";
+
+       /* WCD9385 RX */
+       wcd_rx: codec@0,4 {
+               compatible = "sdw20217010d00";
+               reg = <0 4>;
+               qcom,rx-port-mapping = <1 2 3 4 5>;
+       };
+};
+
+&swr2 {
+       status = "okay";
+
+       /* WCD9385 TX */
+       wcd_tx: codec@0,3 {
+               compatible = "sdw20217010d00";
+               reg = <0 3>;
+               qcom,tx-port-mapping = <2 2 3 4>;
+       };
+};
+
+&tlmm {
+       gpio-reserved-ranges = <44 4>,  /* SPI11 (TPM) */
+                              <76 4>,  /* SPI19 (TZ Protected) */
+                              <238 1>; /* UFS Reset */
+
+       eusb3_reset_n: eusb3-reset-n-state {
+               pins = "gpio6";
+               function = "gpio";
+               drive-strength = <2>;
+               bias-disable;
+               output-low;
+       };
+
+       nvme_reg_en: nvme-reg-en-state {
+               pins = "gpio18";
+               function = "gpio";
+               drive-strength = <2>;
+               bias-disable;
+       };
+
+       us_euro_hs_sel: us-euro-hs-sel-state {
+               pins = "gpio68";
+               function = "gpio";
+               bias-pull-down;
+               drive-strength = <2>;
+       };
+
+       wcn_wlan_bt_en: wcn-wlan-bt-en-state {
+               pins = "gpio116", "gpio117";
+               function = "gpio";
+               drive-strength = <2>;
+               bias-disable;
+       };
+
+       usb1_dp_hot_plug_detect: ub1-dp-hot-plug-detect-state {
+               pins = "gpio124";
+               function = "usb1_dp";
+               bias-disable;
+       };
+
+       usb2_dp_hot_plug_detect: usb2-dp-hot-plug-detect-state {
+               pins = "gpio126";
+               function = "usb2_dp";
+               bias-disable;
+       };
+
+       pcie3_default: pcie3-default-state {
+               clkreq-n-pins {
+                       pins = "gpio144";
+                       function = "pcie3_clk";
+                       drive-strength = <2>;
+                       bias-pull-up;
+               };
+
+               perst-n-pins {
+                       pins = "gpio143";
+                       function = "gpio";
+                       drive-strength = <2>;
+                       bias-pull-down;
+               };
+
+               wake-n-pins {
+                       pins = "gpio145";
+                       function = "gpio";
+                       drive-strength = <2>;
+                       bias-pull-up;
+               };
+       };
+
+       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;
+               };
+       };
+
+       pcie5_default: pcie5-default-state {
+               clkreq-n-pins {
+                       pins = "gpio150";
+                       function = "pcie5_clk";
+                       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;
+               };
+       };
+
+       pcie6a_default: pcie6a-default-state {
+               clkreq-n-pins {
+                       pins = "gpio153";
+                       function = "pcie6a_clk";
+                       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;
+               };
+       };
+
+       eusb6_reset_n: eusb6-reset-n-state {
+               pins = "gpio184";
+               function = "gpio";
+               drive-strength = <2>;
+               bias-disable;
+               output-low;
+       };
+
+       wcd_default: wcd-reset-n-active-state {
+               pins = "gpio191";
+               function = "gpio";
+               drive-strength = <16>;
+               bias-disable;
+               output-low;
+       };
+
+       wcn_sw_en: wcn-sw-en-state {
+               pins = "gpio214";
+               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_1_ss0 {
+       dr_mode = "host";
+
+       status = "okay";
+};
+
+&usb_1_ss0_dwc3_hs {
+       remote-endpoint = <&pmic_glink_port0_hs_in>;
+};
+
+&usb_1_ss0_hsphy {
+       vdd-supply = <&vreg_l3j>;
+       vdda12-supply = <&vreg_l2j>;
+
+       phys = <&smb2360_0_eusb2_repeater>;
+
+       status = "okay";
+};
+
+&usb_1_ss0_qmpphy {
+       vdda-phy-supply = <&vreg_l2j>;
+       vdda-pll-supply = <&vreg_l1j>;
+
+       status = "okay";
+};
+
+&usb_1_ss0_qmpphy_out {
+       remote-endpoint = <&usb0_retimer_in>;
+};
+
+&usb_1_ss1_qmpphy {
+       vdda-phy-supply = <&vreg_l2j>;
+       vdda-pll-supply = <&vreg_l2d>;
+
+       /delete-property/ mode-switch;
+       /delete-property/ orientation-switch;
+
+       status = "okay";
+
+       ports {
+               port@0 {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+
+                       /delete-node/ endpoint;
+
+                       usb_1_ss1_qmpphy_out_dp: endpoint@0 {
+                               reg = <0>;
+
+                               data-lanes = <3 2 1 0>;
+                               remote-endpoint = <&dp_port_in>;
+                       };
+               };
+       };
+};
+
+&usb_1_ss2_qmpphy {
+       vdda-phy-supply = <&vreg_l2j>;
+       vdda-pll-supply = <&vreg_l2d>;
+
+       /delete-property/ mode-switch;
+       /delete-property/ orientation-switch;
+
+       status = "okay";
+
+       ports {
+               port@0 {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+
+                       /delete-node/ endpoint;
+
+                       usb_1_ss2_qmpphy_out_dp: endpoint@0 {
+                               reg = <0>;
+
+                               data-lanes = <3 2 1 0>;
+                               remote-endpoint = <&hdmi_bridge_in>;
+                       };
+               };
+       };
+};
+
+&usb_mp {
+       status = "okay";
+};
+
+&usb_mp_hsphy0 {
+       vdd-supply = <&vreg_l2e>;
+       vdda12-supply = <&vreg_l3e>;
+
+       phys = <&eusb3_repeater>;
+
+       status = "okay";
+};
+
+&usb_mp_hsphy1 {
+       vdd-supply = <&vreg_l2e>;
+       vdda12-supply = <&vreg_l3e>;
+
+       phys = <&eusb6_repeater>;
+
+       status = "okay";
+};
+
+&usb_mp_qmpphy0 {
+       vdda-phy-supply = <&vreg_l3e>;
+       vdda-pll-supply = <&vreg_l3c>;
+
+       status = "okay";
+};
+
+&usb_mp_qmpphy1 {
+       vdda-phy-supply = <&vreg_l3e>;
+       vdda-pll-supply = <&vreg_l3c>;
+
+       status = "okay";
+};