From nobody Wed Dec 17 22:44:07 2025 Received: from mail-wm1-f50.google.com (mail-wm1-f50.google.com [209.85.128.50]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0CC41201004 for ; Fri, 14 Mar 2025 14:03:48 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.50 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741961032; cv=none; b=LN0qUF8hdlYbts7M9XR37rOgIUUQuyuA4c4zWsBXnAczZZ6eWZ7l++pfSr7lvZNq8nWlOBaucEwgrQfNv2/KJH6wnh4XzOVmB/S0HGd84YOYDmIsIIorAAwUYKGG2+Kd7J2adiJzr+kYPsCuu+e+1BpBPWLiisLIRQtFeoSVr9U= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741961032; c=relaxed/simple; bh=envVJgAYcJgvXTI9ja2jQtku34MFUzer2NQvgSRh3k8=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=QX/itZ80Lnun0C4IwxawmGXfjnL4ZWxdWtci5Jee+ol07v8kFby4ZggCu0L2b5tP8HW8oWlg9sGYY3gYELfOOK+T/XxTcV6egkYanTwfDzEPEenCC2ILjRcd6Q4c8xmvusMD2ps3PQ7U5kT45kD8P5GLwSoToTY6+oy3Q1rywJo= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=yJvt2+sE; arc=none smtp.client-ip=209.85.128.50 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="yJvt2+sE" Received: by mail-wm1-f50.google.com with SMTP id 5b1f17b1804b1-43d04ea9d9aso14756505e9.3 for ; Fri, 14 Mar 2025 07:03:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1741961027; x=1742565827; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=O2v5g8knvG6rMm331WMS8ZfhGvycGziL+FiSPZa8nKk=; b=yJvt2+sEh/q3OFfGMTwyI5Hqi2PPrX2bBMMItNCVMh3Vs4/R0lq4DHNt5OFkqv0LIo uVUljPYx6iulVqM3vp161/b4cStU6hPn4JgGJBg2XhL88yvku3lTYPNPGlBEd+nsiD6G Lql1Kny7wsbnnVnQ9V2NlXAMuB624kggRiRAiXvl9rI0LCbCBbMxf6uT4M1rAs+0TISC nl7u0/tzfJU68u6xaGxfEZ+tpcmghqcwWbzNBNDHsDpi4LXvNJQ9IuWaSAbNigwRff4q hcjGV9sfPL93A+tO/rsDm6Wr7meXaQ0QP1DLnIf/zfbPIl1giVqf6DW8e15V71405x+A yYGA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741961027; x=1742565827; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=O2v5g8knvG6rMm331WMS8ZfhGvycGziL+FiSPZa8nKk=; b=IByObenrDzBsRBYQwIBV1yS3c6f8UGbLQeywC2jYL/UgQ7yp8/4YKCxGO3axGnCLc3 W8cKliKR+g0o1omawkQVGZuJMLyZPLDO5GRWEt8Q33hlbXiFOb/wuwiljBbBqYkSF4co /2ivji8MiINZJrpYHo4/qAmBfGg9jf3ipvqRJFXYFYpYiiGY41fGdcJCc63wWitz2l+H tg1hHt2indEk2M1cwW+nmYKDaDxj6MYDnKIDQ2Os4P4nxpeIJjHLUqJFZrpO9h4Uz2lu R6WXUdj4lqensIiuG8I0hGxS3GAo2QLXyuEMOP9JAIbNR+jivcVS7VD2MthzWENYD4sO O5jA== X-Forwarded-Encrypted: i=1; AJvYcCWvAVn/IcEyGxdgNQEB8NjWVzXOEHdPnWqV7U5accw5fbNNLHjc9j8jLNu3zbzY8Q+wkZrnV8DvsSsA1FQ=@vger.kernel.org X-Gm-Message-State: AOJu0YwP/W+2wnO161jhLV5AWC96WUewG0hpm5vgQDxKJiiaDodzwVsi 9gV32+5Mq4EtMyk0cA6SeGmvs6v8ya3t6BQeaixwaAsaxXSo1rBLB9rGLKYra2s= X-Gm-Gg: ASbGncumoGHximFJ/AlheO4442tEuwS5gZwJsBqLVLsXEf3d77k2k9Da0j3vb/v3Z5b YMGD0OWlXt/ICVdzD4QtDEtNCxx69lwKsoUNsvmNzeOl1XiM3E+6E5K3e1QWglAZNHvWH7X7Rko j3+Es7E8sM0hEHXky+aLhOTpuSqRngA8Fjvg4JqN8P4+sS3gtzlHrUKtPbD4gZwif9/M59Em4N2 VaanIRTZkpGVvfTqKm2b5KbcNVypipWOkfP9o4wnJsZaRr3b55cl7moAX5udZ5yLyQhPrVOeQmL Kgb6jgEmWngCmEEKwQpURkhv7QJsuOYCHorzvIis0Oc= X-Google-Smtp-Source: AGHT+IG8p7gFMtIqYkhqE41hYkz+HeRDkw9DUML1iiUqsUDZohzx3ALR0VV1rQDMOXq8RxORrgwdpg== X-Received: by 2002:a05:600c:56c5:b0:43c:fffc:7886 with SMTP id 5b1f17b1804b1-43d1ef4b074mr29961595e9.8.1741961026270; Fri, 14 Mar 2025 07:03:46 -0700 (PDT) Received: from hackbox.lan ([62.231.96.41]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-43d200fae32sm18156455e9.31.2025.03.14.07.03.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 14 Mar 2025 07:03:45 -0700 (PDT) From: Abel Vesa To: Bjorn Andersson , Konrad Dybcio , Rob Herring , Krzysztof Kozlowski , Conor Dooley Cc: Johan Hovold , Dmitry Baryshkov , linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Sebastian Reichel Subject: [PATCH v3 2/3] arm64: dts: qcom: x1e78100-t14s: Add LCD variant with backlight support Date: Fri, 14 Mar 2025 16:03:24 +0200 Message-Id: <20250314140325.4143779-3-abel.vesa@linaro.org> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250314140325.4143779-1-abel.vesa@linaro.org> References: <20250314140325.4143779-1-abel.vesa@linaro.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Due to the fact that Lenovo Thinkpad T14s Gen6 is available with both OLED and LCD, the backlight control differs HW-wise. For the LCD variant, the panel's backlight is controlled via one of the PWMs provided by the PMK8550 PMIC. For the OLED variant, the backlight is internal to the panel and therefore it is not described in devicetree. For this reason, create a generic dtsi for the T14s by renaming the existing dts. While at it, add a node name to panel and drop the enable gpio and pinctrl properties from the panel node. Then add the LCD variant dts file with the old name and describe all backlight related nodes. So the existing dts will now be used for LCD variant while for OLED new dts will be added. Tested-by: Sebastian Reichel Signed-off-by: Abel Vesa --- .../qcom/x1e78100-lenovo-thinkpad-t14s.dts | 1506 +---------------- ...dts =3D> x1e78100-lenovo-thinkpad-t14s.dtsi} | 6 +- 2 files changed, 61 insertions(+), 1451 deletions(-) rewrite arch/arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s.dts (98%) copy arch/arm64/boot/dts/qcom/{x1e78100-lenovo-thinkpad-t14s.dts =3D> x1e7= 8100-lenovo-thinkpad-t14s.dtsi} (99%) diff --git a/arch/arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s.dts b/a= rch/arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s.dts dissimilarity index 98% index 05b2f3bf1fc8..5cc6a63d1ef6 100644 --- a/arch/arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s.dts +++ b/arch/arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s.dts @@ -1,1446 +1,60 @@ -// SPDX-License-Identifier: BSD-3-Clause -/* - * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved. - * Copyright (c) 2024, Linaro Limited - */ - -/dts-v1/; - -#include -#include -#include -#include - -#include "x1e80100.dtsi" -#include "x1e80100-pmics.dtsi" - -/ { - model =3D "Lenovo ThinkPad T14s Gen 6"; - compatible =3D "lenovo,thinkpad-t14s", "qcom,x1e78100", "qcom,x1e80100"; - chassis-type =3D "laptop"; - - wcd938x: audio-codec { - compatible =3D "qcom,wcd9385-codec"; - - pinctrl-0 =3D <&wcd_default>; - pinctrl-names =3D "default"; - - qcom,micbias1-microvolt =3D <1800000>; - qcom,micbias2-microvolt =3D <1800000>; - qcom,micbias3-microvolt =3D <1800000>; - qcom,micbias4-microvolt =3D <1800000>; - qcom,mbhc-buttons-vthreshold-microvolt =3D <75000 150000 237000 500000 5= 00000 500000 500000 500000>; - qcom,mbhc-headset-vthreshold-microvolt =3D <1700000>; - qcom,mbhc-headphone-vthreshold-microvolt =3D <50000>; - qcom,rx-device =3D <&wcd_rx>; - qcom,tx-device =3D <&wcd_tx>; - - reset-gpios =3D <&tlmm 191 GPIO_ACTIVE_LOW>; - - vdd-buck-supply =3D <&vreg_l15b_1p8>; - vdd-rxtx-supply =3D <&vreg_l15b_1p8>; - vdd-io-supply =3D <&vreg_l15b_1p8>; - vdd-mic-bias-supply =3D <&vreg_bob1>; - - #sound-dai-cells =3D <1>; - }; - - gpio-keys { - compatible =3D "gpio-keys"; - - pinctrl-0 =3D <&hall_int_n_default>; - pinctrl-names =3D "default"; - - switch-lid { - gpios =3D <&tlmm 92 GPIO_ACTIVE_LOW>; - linux,input-type =3D ; - linux,code =3D ; - wakeup-source; - wakeup-event-action =3D ; - }; - }; - - pmic-glink { - compatible =3D "qcom,x1e80100-pmic-glink", - "qcom,sm8550-pmic-glink", - "qcom,pmic-glink"; - orientation-gpios =3D <&tlmm 121 GPIO_ACTIVE_HIGH>, - <&tlmm 123 GPIO_ACTIVE_HIGH>; - #address-cells =3D <1>; - #size-cells =3D <0>; - - /* Display-adjacent port */ - connector@0 { - compatible =3D "usb-c-connector"; - reg =3D <0>; - power-role =3D "dual"; - data-role =3D "dual"; - - ports { - #address-cells =3D <1>; - #size-cells =3D <0>; - - port@0 { - reg =3D <0>; - - pmic_glink_ss0_hs_in: endpoint { - remote-endpoint =3D <&usb_1_ss0_dwc3_hs>; - }; - }; - - port@1 { - reg =3D <1>; - - pmic_glink_ss0_ss_in: endpoint { - remote-endpoint =3D <&retimer_ss0_ss_out>; - }; - }; - - port@2 { - reg =3D <2>; - - pmic_glink_ss0_con_sbu_in: endpoint { - remote-endpoint =3D <&retimer_ss0_con_sbu_out>; - }; - }; - }; - }; - - /* User-adjacent port */ - connector@1 { - compatible =3D "usb-c-connector"; - reg =3D <1>; - power-role =3D "dual"; - data-role =3D "dual"; - - ports { - #address-cells =3D <1>; - #size-cells =3D <0>; - - port@0 { - reg =3D <0>; - - pmic_glink_ss1_hs_in: endpoint { - remote-endpoint =3D <&usb_1_ss1_dwc3_hs>; - }; - }; - - port@1 { - reg =3D <1>; - - pmic_glink_ss1_ss_in: endpoint { - remote-endpoint =3D <&retimer_ss1_ss_out>; - }; - }; - - port@2 { - reg =3D <2>; - - pmic_glink_ss1_con_sbu_in: endpoint { - remote-endpoint =3D <&retimer_ss1_con_sbu_out>; - }; - }; - }; - }; - }; - - reserved-memory { - linux,cma { - compatible =3D "shared-dma-pool"; - size =3D <0x0 0x8000000>; - reusable; - linux,cma-default; - }; - }; - - vreg_edp_3p3: regulator-edp-3p3 { - compatible =3D "regulator-fixed"; - - regulator-name =3D "VREG_EDP_3P3"; - regulator-min-microvolt =3D <3300000>; - regulator-max-microvolt =3D <3300000>; - - gpio =3D <&tlmm 70 GPIO_ACTIVE_HIGH>; - enable-active-high; - - pinctrl-0 =3D <&edp_reg_en>; - pinctrl-names =3D "default"; - - regulator-boot-on; - }; - - vreg_nvme: regulator-nvme { - compatible =3D "regulator-fixed"; - - regulator-name =3D "VREG_NVME_3P3"; - regulator-min-microvolt =3D <3300000>; - regulator-max-microvolt =3D <3300000>; - - gpio =3D <&tlmm 18 GPIO_ACTIVE_HIGH>; - enable-active-high; - - pinctrl-0 =3D <&nvme_reg_en>; - pinctrl-names =3D "default"; - - regulator-boot-on; - }; - - vreg_rtmr0_1p15: regulator-rtmr0-1p15 { - compatible =3D "regulator-fixed"; - - regulator-name =3D "VREG_RTMR0_1P15"; - regulator-min-microvolt =3D <1150000>; - regulator-max-microvolt =3D <1150000>; - - gpio =3D <&pmc8380_5_gpios 8 GPIO_ACTIVE_HIGH>; - enable-active-high; - - pinctrl-0 =3D <&usb0_pwr_1p15_reg_en>; - pinctrl-names =3D "default"; - - regulator-boot-on; - }; - - vreg_rtmr0_1p8: regulator-rtmr0-1p8 { - compatible =3D "regulator-fixed"; - - regulator-name =3D "VREG_RTMR0_1P8"; - regulator-min-microvolt =3D <1800000>; - regulator-max-microvolt =3D <1800000>; - - gpio =3D <&pm8550ve_9_gpios 8 GPIO_ACTIVE_HIGH>; - enable-active-high; - - pinctrl-0 =3D <&usb0_1p8_reg_en>; - pinctrl-names =3D "default"; - - regulator-boot-on; - }; - - vreg_rtmr0_3p3: regulator-rtmr0-3p3 { - compatible =3D "regulator-fixed"; - - regulator-name =3D "VREG_RTMR0_3P3"; - regulator-min-microvolt =3D <3300000>; - regulator-max-microvolt =3D <3300000>; - - gpio =3D <&pm8550_gpios 11 GPIO_ACTIVE_HIGH>; - enable-active-high; - - pinctrl-0 =3D <&usb0_3p3_reg_en>; - pinctrl-names =3D "default"; - - regulator-boot-on; - }; - - vreg_rtmr1_1p15: regulator-rtmr1-1p15 { - compatible =3D "regulator-fixed"; - - regulator-name =3D "VREG_RTMR1_1P15"; - regulator-min-microvolt =3D <1150000>; - regulator-max-microvolt =3D <1150000>; - - gpio =3D <&tlmm 188 GPIO_ACTIVE_HIGH>; - enable-active-high; - - pinctrl-0 =3D <&usb1_pwr_1p15_reg_en>; - pinctrl-names =3D "default"; - - regulator-boot-on; - }; - - vreg_rtmr1_1p8: regulator-rtmr1-1p8 { - compatible =3D "regulator-fixed"; - - regulator-name =3D "VREG_RTMR1_1P8"; - regulator-min-microvolt =3D <1800000>; - regulator-max-microvolt =3D <1800000>; - - gpio =3D <&tlmm 175 GPIO_ACTIVE_HIGH>; - enable-active-high; - - pinctrl-0 =3D <&usb1_pwr_1p8_reg_en>; - pinctrl-names =3D "default"; - - regulator-boot-on; - }; - - vreg_rtmr1_3p3: regulator-rtmr1-3p3 { - compatible =3D "regulator-fixed"; - - regulator-name =3D "VREG_RTMR1_3P3"; - regulator-min-microvolt =3D <3300000>; - regulator-max-microvolt =3D <3300000>; - - gpio =3D <&tlmm 186 GPIO_ACTIVE_HIGH>; - enable-active-high; - - pinctrl-0 =3D <&usb1_pwr_3p3_reg_en>; - pinctrl-names =3D "default"; - - regulator-boot-on; - }; - - vph_pwr: regulator-vph-pwr { - compatible =3D "regulator-fixed"; - - regulator-name =3D "vph_pwr"; - regulator-min-microvolt =3D <3700000>; - regulator-max-microvolt =3D <3700000>; - - regulator-always-on; - regulator-boot-on; - }; - - sound { - compatible =3D "qcom,x1e80100-sndcard"; - model =3D "X1E80100-LENOVO-Thinkpad-T14s"; - audio-routing =3D "SpkrLeft IN", "WSA WSA_SPK1 OUT", - "SpkrRight IN", "WSA WSA_SPK2 OUT", - "IN1_HPHL", "HPHL_OUT", - "IN2_HPHR", "HPHR_OUT", - "AMIC2", "MIC BIAS2", - "VA DMIC0", "MIC BIAS1", - "VA DMIC1", "MIC BIAS1", - "VA DMIC0", "VA MIC BIAS1", - "VA DMIC1", "VA MIC BIAS1", - "TX SWR_INPUT1", "ADC2_OUTPUT"; - - wcd-playback-dai-link { - link-name =3D "WCD Playback"; - - cpu { - sound-dai =3D <&q6apmbedai RX_CODEC_DMA_RX_0>; - }; - - codec { - sound-dai =3D <&wcd938x 0>, <&swr1 0>, <&lpass_rxmacro 0>; - }; - - platform { - sound-dai =3D <&q6apm>; - }; - }; - - wcd-capture-dai-link { - link-name =3D "WCD Capture"; - - cpu { - sound-dai =3D <&q6apmbedai TX_CODEC_DMA_TX_3>; - }; - - codec { - sound-dai =3D <&wcd938x 1>, <&swr2 1>, <&lpass_txmacro 0>; - }; - - platform { - sound-dai =3D <&q6apm>; - }; - }; - - wsa-dai-link { - link-name =3D "WSA Playback"; - - cpu { - sound-dai =3D <&q6apmbedai WSA_CODEC_DMA_RX_0>; - }; - - codec { - sound-dai =3D <&left_spkr>, <&right_spkr>, <&swr0 0>, <&lpass_wsamacro= 0>; - }; - - platform { - sound-dai =3D <&q6apm>; - }; - }; - - va-dai-link { - link-name =3D "VA Capture"; - - cpu { - sound-dai =3D <&q6apmbedai VA_CODEC_DMA_TX_0>; - }; - - codec { - sound-dai =3D <&lpass_vamacro 0>; - }; - - platform { - sound-dai =3D <&q6apm>; - }; - }; - }; -}; - -&apps_rsc { - regulators-0 { - compatible =3D "qcom,pm8550-rpmh-regulators"; - qcom,pmic-id =3D "b"; - - vdd-bob1-supply =3D <&vph_pwr>; - vdd-bob2-supply =3D <&vph_pwr>; - vdd-l1-l4-l10-supply =3D <&vreg_s4c_1p8>; - vdd-l2-l13-l14-supply =3D <&vreg_bob1>; - vdd-l5-l16-supply =3D <&vreg_bob1>; - vdd-l6-l7-supply =3D <&vreg_bob2>; - vdd-l8-l9-supply =3D <&vreg_bob1>; - vdd-l12-supply =3D <&vreg_s5j_1p2>; - vdd-l15-supply =3D <&vreg_s4c_1p8>; - vdd-l17-supply =3D <&vreg_bob2>; - - vreg_bob1: bob1 { - regulator-name =3D "vreg_bob1"; - regulator-min-microvolt =3D <3008000>; - regulator-max-microvolt =3D <3960000>; - regulator-initial-mode =3D ; - }; - - vreg_bob2: bob2 { - regulator-name =3D "vreg_bob2"; - regulator-min-microvolt =3D <2504000>; - regulator-max-microvolt =3D <3008000>; - regulator-initial-mode =3D ; - }; - - vreg_l1b_1p8: ldo1 { - regulator-name =3D "vreg_l1b_1p8"; - regulator-min-microvolt =3D <1800000>; - regulator-max-microvolt =3D <1800000>; - regulator-initial-mode =3D ; - }; - - vreg_l2b_3p0: ldo2 { - regulator-name =3D "vreg_l2b_3p0"; - regulator-min-microvolt =3D <3072000>; - regulator-max-microvolt =3D <3072000>; - regulator-initial-mode =3D ; - }; - - vreg_l4b_1p8: ldo4 { - regulator-name =3D "vreg_l4b_1p8"; - regulator-min-microvolt =3D <1800000>; - regulator-max-microvolt =3D <1800000>; - regulator-initial-mode =3D ; - }; - - vreg_l6b_1p8: ldo6 { - regulator-name =3D "vreg_l6b_1p8"; - regulator-min-microvolt =3D <1800000>; - regulator-max-microvolt =3D <2960000>; - regulator-initial-mode =3D ; - }; - - vreg_l8b_3p0: ldo8 { - regulator-name =3D "vreg_l8b_3p0"; - regulator-min-microvolt =3D <3072000>; - regulator-max-microvolt =3D <3072000>; - regulator-initial-mode =3D ; - }; - - vreg_l9b_2p9: ldo9 { - regulator-name =3D "vreg_l9b_2p9"; - regulator-min-microvolt =3D <2960000>; - regulator-max-microvolt =3D <2960000>; - regulator-initial-mode =3D ; - }; - - vreg_l10b_1p8: ldo10 { - regulator-name =3D "vreg_l10b_1p8"; - regulator-min-microvolt =3D <1800000>; - regulator-max-microvolt =3D <1800000>; - regulator-initial-mode =3D ; - }; - - vreg_l12b_1p2: ldo12 { - regulator-name =3D "vreg_l12b_1p2"; - regulator-min-microvolt =3D <1200000>; - regulator-max-microvolt =3D <1200000>; - regulator-initial-mode =3D ; - }; - - vreg_l13b_3p0: ldo13 { - regulator-name =3D "vreg_l13b_3p0"; - regulator-min-microvolt =3D <3072000>; - regulator-max-microvolt =3D <3072000>; - regulator-initial-mode =3D ; - }; - - vreg_l14b_3p0: ldo14 { - regulator-name =3D "vreg_l14b_3p0"; - regulator-min-microvolt =3D <3072000>; - regulator-max-microvolt =3D <3072000>; - regulator-initial-mode =3D ; - }; - - vreg_l15b_1p8: ldo15 { - regulator-name =3D "vreg_l15b_1p8"; - regulator-min-microvolt =3D <1800000>; - regulator-max-microvolt =3D <1800000>; - regulator-initial-mode =3D ; - }; - - vreg_l17b_2p5: ldo17 { - regulator-name =3D "vreg_l17b_2p5"; - regulator-min-microvolt =3D <2504000>; - regulator-max-microvolt =3D <2504000>; - regulator-initial-mode =3D ; - }; - }; - - regulators-1 { - compatible =3D "qcom,pm8550ve-rpmh-regulators"; - qcom,pmic-id =3D "c"; - - vdd-l1-supply =3D <&vreg_s5j_1p2>; - vdd-l2-supply =3D <&vreg_s1f_0p7>; - vdd-l3-supply =3D <&vreg_s1f_0p7>; - vdd-s4-supply =3D <&vph_pwr>; - - vreg_s4c_1p8: smps4 { - regulator-name =3D "vreg_s4c_1p8"; - regulator-min-microvolt =3D <1856000>; - regulator-max-microvolt =3D <2000000>; - regulator-initial-mode =3D ; - }; - - vreg_l1c_1p2: ldo1 { - regulator-name =3D "vreg_l1c_1p2"; - regulator-min-microvolt =3D <1200000>; - regulator-max-microvolt =3D <1200000>; - regulator-initial-mode =3D ; - }; - - vreg_l2c_0p8: ldo2 { - regulator-name =3D "vreg_l2c_0p8"; - regulator-min-microvolt =3D <880000>; - regulator-max-microvolt =3D <880000>; - regulator-initial-mode =3D ; - }; - - vreg_l3c_0p8: ldo3 { - regulator-name =3D "vreg_l3c_0p8"; - regulator-min-microvolt =3D <912000>; - regulator-max-microvolt =3D <912000>; - regulator-initial-mode =3D ; - }; - }; - - regulators-2 { - compatible =3D "qcom,pmc8380-rpmh-regulators"; - qcom,pmic-id =3D "d"; - - vdd-l1-supply =3D <&vreg_s1f_0p7>; - vdd-l2-supply =3D <&vreg_s1f_0p7>; - vdd-l3-supply =3D <&vreg_s4c_1p8>; - vdd-s1-supply =3D <&vph_pwr>; - - vreg_l1d_0p8: ldo1 { - regulator-name =3D "vreg_l1d_0p8"; - regulator-min-microvolt =3D <880000>; - regulator-max-microvolt =3D <880000>; - regulator-initial-mode =3D ; - }; - - vreg_l2d_0p9: ldo2 { - regulator-name =3D "vreg_l2d_0p9"; - regulator-min-microvolt =3D <912000>; - regulator-max-microvolt =3D <912000>; - regulator-initial-mode =3D ; - }; - - vreg_l3d_1p8: ldo3 { - regulator-name =3D "vreg_l3d_1p8"; - regulator-min-microvolt =3D <1800000>; - regulator-max-microvolt =3D <1800000>; - regulator-initial-mode =3D ; - }; - }; - - regulators-3 { - compatible =3D "qcom,pmc8380-rpmh-regulators"; - qcom,pmic-id =3D "e"; - - vdd-l2-supply =3D <&vreg_s1f_0p7>; - vdd-l3-supply =3D <&vreg_s5j_1p2>; - - vreg_l2e_0p8: ldo2 { - regulator-name =3D "vreg_l2e_0p8"; - regulator-min-microvolt =3D <880000>; - regulator-max-microvolt =3D <880000>; - regulator-initial-mode =3D ; - }; - - vreg_l3e_1p2: ldo3 { - regulator-name =3D "vreg_l3e_1p2"; - regulator-min-microvolt =3D <1200000>; - regulator-max-microvolt =3D <1200000>; - regulator-initial-mode =3D ; - }; - }; - - regulators-4 { - compatible =3D "qcom,pmc8380-rpmh-regulators"; - qcom,pmic-id =3D "f"; - - vdd-l1-supply =3D <&vreg_s5j_1p2>; - vdd-l2-supply =3D <&vreg_s5j_1p2>; - vdd-l3-supply =3D <&vreg_s5j_1p2>; - vdd-s1-supply =3D <&vph_pwr>; - - vreg_s1f_0p7: smps1 { - regulator-name =3D "vreg_s1f_0p7"; - regulator-min-microvolt =3D <700000>; - regulator-max-microvolt =3D <1100000>; - regulator-initial-mode =3D ; - }; - }; - - regulators-6 { - compatible =3D "qcom,pm8550ve-rpmh-regulators"; - qcom,pmic-id =3D "i"; - - vdd-l1-supply =3D <&vreg_s4c_1p8>; - vdd-l2-supply =3D <&vreg_s5j_1p2>; - vdd-l3-supply =3D <&vreg_s1f_0p7>; - vdd-s1-supply =3D <&vph_pwr>; - vdd-s2-supply =3D <&vph_pwr>; - - vreg_l1i_1p8: ldo1 { - regulator-name =3D "vreg_l1i_1p8"; - regulator-min-microvolt =3D <1800000>; - regulator-max-microvolt =3D <1800000>; - regulator-initial-mode =3D ; - }; - - vreg_l2i_1p2: ldo2 { - regulator-name =3D "vreg_l2i_1p2"; - regulator-min-microvolt =3D <1200000>; - regulator-max-microvolt =3D <1200000>; - regulator-initial-mode =3D ; - }; - - vreg_l3i_0p8: ldo3 { - regulator-name =3D "vreg_l3i_0p8"; - regulator-min-microvolt =3D <880000>; - regulator-max-microvolt =3D <880000>; - regulator-initial-mode =3D ; - }; - }; - - regulators-7 { - compatible =3D "qcom,pm8550ve-rpmh-regulators"; - qcom,pmic-id =3D "j"; - - vdd-l1-supply =3D <&vreg_s1f_0p7>; - vdd-l2-supply =3D <&vreg_s5j_1p2>; - vdd-l3-supply =3D <&vreg_s1f_0p7>; - vdd-s5-supply =3D <&vph_pwr>; - - vreg_s5j_1p2: smps5 { - regulator-name =3D "vreg_s5j_1p2"; - regulator-min-microvolt =3D <1256000>; - regulator-max-microvolt =3D <1304000>; - regulator-initial-mode =3D ; - }; - - vreg_l1j_0p8: ldo1 { - regulator-name =3D "vreg_l1j_0p8"; - regulator-min-microvolt =3D <912000>; - regulator-max-microvolt =3D <912000>; - regulator-initial-mode =3D ; - }; - - vreg_l2j_1p2: ldo2 { - regulator-name =3D "vreg_l2j_1p2"; - regulator-min-microvolt =3D <1256000>; - regulator-max-microvolt =3D <1256000>; - regulator-initial-mode =3D ; - }; - - vreg_l3j_0p8: ldo3 { - regulator-name =3D "vreg_l3j_0p8"; - regulator-min-microvolt =3D <880000>; - regulator-max-microvolt =3D <880000>; - regulator-initial-mode =3D ; - }; - }; -}; - -&gpu { - status =3D "okay"; - - zap-shader { - firmware-name =3D "qcom/x1e80100/LENOVO/21N1/qcdxkmsuc8380.mbn"; - }; -}; - -&i2c0 { - clock-frequency =3D <400000>; - - pinctrl-0 =3D <&qup_i2c0_data_clk>, <&tpad_default>; - pinctrl-names =3D "default"; - - status =3D "okay"; - - /* ELAN06E2 or ELAN06E3 */ - touchpad@15 { - compatible =3D "hid-over-i2c"; - reg =3D <0x15>; - - hid-descr-addr =3D <0x1>; - interrupts-extended =3D <&tlmm 3 IRQ_TYPE_LEVEL_LOW>; - - wakeup-source; - }; - - /* SYNA8022 or SYNA8024 */ - touchpad@2c { - compatible =3D "hid-over-i2c"; - reg =3D <0x2c>; - - hid-descr-addr =3D <0x20>; - interrupts-extended =3D <&tlmm 3 IRQ_TYPE_LEVEL_LOW>; - - wakeup-source; - }; - - /* ELAN06F1 or SYNA06F2 */ - keyboard@3a { - compatible =3D "hid-over-i2c"; - reg =3D <0x3a>; - - hid-descr-addr =3D <0x1>; - interrupts-extended =3D <&tlmm 67 IRQ_TYPE_LEVEL_LOW>; - - pinctrl-0 =3D <&kybd_default>; - pinctrl-names =3D "default"; - - wakeup-source; - }; -}; - -&i2c3 { - clock-frequency =3D <400000>; - - status =3D "okay"; - - typec-mux@8 { - compatible =3D "parade,ps8830"; - reg =3D <0x08>; - - clocks =3D <&rpmhcc RPMH_RF_CLK3>; - - vdd-supply =3D <&vreg_rtmr0_1p15>; - vdd33-supply =3D <&vreg_rtmr0_3p3>; - vdd33-cap-supply =3D <&vreg_rtmr0_3p3>; - vddar-supply =3D <&vreg_rtmr0_1p15>; - vddat-supply =3D <&vreg_rtmr0_1p15>; - vddio-supply =3D <&vreg_rtmr0_1p8>; - - reset-gpios =3D <&pm8550_gpios 10 GPIO_ACTIVE_LOW>; - - pinctrl-0 =3D <&rtmr0_default>; - pinctrl-names =3D "default"; - - orientation-switch; - retimer-switch; - - ports { - #address-cells =3D <1>; - #size-cells =3D <0>; - - port@0 { - reg =3D <0>; - - retimer_ss0_ss_out: endpoint { - remote-endpoint =3D <&pmic_glink_ss0_ss_in>; - }; - }; - - port@1 { - reg =3D <1>; - - retimer_ss0_ss_in: endpoint { - remote-endpoint =3D <&usb_1_ss0_qmpphy_out>; - }; - }; - - port@2 { - reg =3D <2>; - - retimer_ss0_con_sbu_out: endpoint { - remote-endpoint =3D <&pmic_glink_ss0_con_sbu_in>; - }; - }; - }; - }; -}; - -&i2c5 { - clock-frequency =3D <400000>; - - status =3D "okay"; - - eusb5_repeater: redriver@43 { - compatible =3D "nxp,ptn3222"; - reg =3D <0x43>; - #phy-cells =3D <0>; - - vdd3v3-supply =3D <&vreg_l13b_3p0>; - vdd1v8-supply =3D <&vreg_l4b_1p8>; - - reset-gpios =3D <&tlmm 7 GPIO_ACTIVE_LOW>; - - pinctrl-0 =3D <&eusb5_reset_n>; - pinctrl-names =3D "default"; - }; - - eusb3_repeater: redriver@47 { - compatible =3D "nxp,ptn3222"; - reg =3D <0x47>; - #phy-cells =3D <0>; - - vdd3v3-supply =3D <&vreg_l13b_3p0>; - vdd1v8-supply =3D <&vreg_l4b_1p8>; - - reset-gpios =3D <&tlmm 6 GPIO_ACTIVE_LOW>; - - pinctrl-0 =3D <&eusb3_reset_n>; - pinctrl-names =3D "default"; - }; - - eusb6_repeater: redriver@4f { - compatible =3D "nxp,ptn3222"; - reg =3D <0x4f>; - #phy-cells =3D <0>; - - vdd3v3-supply =3D <&vreg_l13b_3p0>; - vdd1v8-supply =3D <&vreg_l4b_1p8>; - - reset-gpios =3D <&tlmm 184 GPIO_ACTIVE_LOW>; - - pinctrl-0 =3D <&eusb6_reset_n>; - pinctrl-names =3D "default"; - }; -}; - -&i2c7 { - clock-frequency =3D <400000>; - - status =3D "okay"; - - typec-mux@8 { - compatible =3D "parade,ps8830"; - reg =3D <0x8>; - - clocks =3D <&rpmhcc RPMH_RF_CLK4>; - - vdd-supply =3D <&vreg_rtmr1_1p15>; - vdd33-supply =3D <&vreg_rtmr1_3p3>; - vdd33-cap-supply =3D <&vreg_rtmr1_3p3>; - vddar-supply =3D <&vreg_rtmr1_1p15>; - vddat-supply =3D <&vreg_rtmr1_1p15>; - vddio-supply =3D <&vreg_rtmr1_1p8>; - - reset-gpios =3D <&tlmm 176 GPIO_ACTIVE_LOW>; - - pinctrl-0 =3D <&rtmr1_default>; - pinctrl-names =3D "default"; - - retimer-switch; - orientation-switch; - - ports { - #address-cells =3D <1>; - #size-cells =3D <0>; - - port@0 { - reg =3D <0>; - - retimer_ss1_ss_out: endpoint { - remote-endpoint =3D <&pmic_glink_ss1_ss_in>; - }; - }; - - port@1 { - reg =3D <1>; - - retimer_ss1_ss_in: endpoint { - remote-endpoint =3D <&usb_1_ss1_qmpphy_out>; - }; - }; - - port@2 { - reg =3D <2>; - - retimer_ss1_con_sbu_out: endpoint { - remote-endpoint =3D <&pmic_glink_ss1_con_sbu_in>; - }; - }; - }; - }; -}; - -&i2c8 { - clock-frequency =3D <400000>; - - status =3D "okay"; - - /* ILIT2911 or GTCH1563 */ - touchscreen@10 { - compatible =3D "hid-over-i2c"; - reg =3D <0x10>; - - hid-descr-addr =3D <0x1>; - interrupts-extended =3D <&tlmm 51 IRQ_TYPE_LEVEL_LOW>; - - pinctrl-0 =3D <&ts0_default>; - pinctrl-names =3D "default"; - }; - - /* TODO: second-sourced touchscreen @ 0x41 */ -}; - -&lpass_tlmm { - spkr_01_sd_n_active: spkr-01-sd-n-active-state { - pins =3D "gpio12"; - function =3D "gpio"; - drive-strength =3D <16>; - bias-disable; - output-low; - }; -}; - -&lpass_vamacro { - pinctrl-0 =3D <&dmic01_default>; - pinctrl-names =3D "default"; - - vdd-micb-supply =3D <&vreg_l1b_1p8>; - qcom,dmic-sample-rate =3D <4800000>; -}; - -&mdss { - status =3D "okay"; -}; - -&mdss_dp0 { - status =3D "okay"; -}; - -&mdss_dp0_out { - data-lanes =3D <0 1>; -}; - -&mdss_dp1 { - status =3D "okay"; -}; - -&mdss_dp1_out { - data-lanes =3D <0 1>; -}; - -&mdss_dp3 { - compatible =3D "qcom,x1e80100-dp"; - /delete-property/ #sound-dai-cells; - - status =3D "okay"; - - aux-bus { - panel { - compatible =3D "edp-panel"; - enable-gpios =3D <&pmc8380_3_gpios 4 GPIO_ACTIVE_HIGH>; - power-supply =3D <&vreg_edp_3p3>; - - pinctrl-0 =3D <&edp_bl_en>; - pinctrl-names =3D "default"; - - port { - edp_panel_in: endpoint { - remote-endpoint =3D <&mdss_dp3_out>; - }; - }; - }; - }; - - ports { - port@1 { - reg =3D <1>; - - mdss_dp3_out: endpoint { - data-lanes =3D <0 1 2 3>; - link-frequencies =3D /bits/ 64 <1620000000 2700000000 5400000000 81000= 00000>; - - remote-endpoint =3D <&edp_panel_in>; - }; - }; - }; -}; - -&mdss_dp3_phy { - vdda-phy-supply =3D <&vreg_l3j_0p8>; - vdda-pll-supply =3D <&vreg_l2j_1p2>; - - status =3D "okay"; -}; - -&pcie4 { - perst-gpios =3D <&tlmm 146 GPIO_ACTIVE_LOW>; - wake-gpios =3D <&tlmm 148 GPIO_ACTIVE_LOW>; - - pinctrl-0 =3D <&pcie4_default>; - pinctrl-names =3D "default"; - - status =3D "okay"; -}; - -&pcie4_phy { - vdda-phy-supply =3D <&vreg_l3i_0p8>; - vdda-pll-supply =3D <&vreg_l3e_1p2>; - - status =3D "okay"; -}; - -&pcie6a { - perst-gpios =3D <&tlmm 152 GPIO_ACTIVE_LOW>; - wake-gpios =3D <&tlmm 154 GPIO_ACTIVE_LOW>; - - vddpe-3v3-supply =3D <&vreg_nvme>; - - pinctrl-0 =3D <&pcie6a_default>; - pinctrl-names =3D "default"; - - status =3D "okay"; -}; - -&pcie6a_phy { - vdda-phy-supply =3D <&vreg_l1d_0p8>; - vdda-pll-supply =3D <&vreg_l2j_1p2>; - - status =3D "okay"; -}; - -&pm8550_gpios { - rtmr0_default: rtmr0-reset-n-active-state { - pins =3D "gpio10"; - function =3D "normal"; - power-source =3D <1>; /* 1.8V */ - bias-disable; - input-disable; - output-enable; - }; - - usb0_3p3_reg_en: usb0-3p3-reg-en-state { - pins =3D "gpio11"; - function =3D "normal"; - power-source =3D <1>; /* 1.8V */ - bias-disable; - input-disable; - output-enable; - }; -}; - -&pm8550ve_9_gpios { - usb0_1p8_reg_en: usb0-1p8-reg-en-state { - pins =3D "gpio8"; - function =3D "normal"; - power-source =3D <1>; /* 1.8V */ - bias-disable; - input-disable; - output-enable; - }; -}; - -&pmc8380_3_gpios { - edp_bl_en: edp-bl-en-state { - pins =3D "gpio4"; - function =3D "normal"; - power-source =3D <1>; - input-disable; - output-enable; - }; -}; - -&pmc8380_5_gpios { - usb0_pwr_1p15_reg_en: usb0-pwr-1p15-reg-en-state { - pins =3D "gpio8"; - function =3D "normal"; - power-source =3D <1>; /* 1.8V */ - bias-disable; - input-disable; - output-enable; - }; -}; - -&qupv3_0 { - status =3D "okay"; -}; - -&qupv3_1 { - status =3D "okay"; -}; - -&qupv3_2 { - status =3D "okay"; -}; - -&remoteproc_adsp { - firmware-name =3D "qcom/x1e80100/LENOVO/21N1/qcadsp8380.mbn", - "qcom/x1e80100/LENOVO/21N1/adsp_dtbs.elf"; - - status =3D "okay"; -}; - -&remoteproc_cdsp { - firmware-name =3D "qcom/x1e80100/LENOVO/21N1/qccdsp8380.mbn", - "qcom/x1e80100/LENOVO/21N1/cdsp_dtbs.elf"; - - status =3D "okay"; -}; - -&smb2360_0 { - status =3D "okay"; -}; - -&smb2360_0_eusb2_repeater { - vdd18-supply =3D <&vreg_l3d_1p8>; - vdd3-supply =3D <&vreg_l2b_3p0>; -}; - -&smb2360_1 { - status =3D "okay"; -}; - -&smb2360_1_eusb2_repeater { - vdd18-supply =3D <&vreg_l3d_1p8>; - vdd3-supply =3D <&vreg_l14b_3p0>; -}; - -&swr0 { - status =3D "okay"; - - pinctrl-0 =3D <&wsa_swr_active>, <&spkr_01_sd_n_active>; - pinctrl-names =3D "default"; - - /* WSA8845, Left Speaker */ - left_spkr: speaker@0,0 { - compatible =3D "sdw20217020400"; - reg =3D <0 0>; - reset-gpios =3D <&lpass_tlmm 12 GPIO_ACTIVE_LOW>; - #sound-dai-cells =3D <0>; - sound-name-prefix =3D "SpkrLeft"; - vdd-1p8-supply =3D <&vreg_l15b_1p8>; - vdd-io-supply =3D <&vreg_l12b_1p2>; - qcom,port-mapping =3D <1 2 3 7 10 13>; - }; - - /* WSA8845, Right Speaker */ - right_spkr: speaker@0,1 { - compatible =3D "sdw20217020400"; - reg =3D <0 1>; - reset-gpios =3D <&lpass_tlmm 12 GPIO_ACTIVE_LOW>; - #sound-dai-cells =3D <0>; - sound-name-prefix =3D "SpkrRight"; - vdd-1p8-supply =3D <&vreg_l15b_1p8>; - vdd-io-supply =3D <&vreg_l12b_1p2>; - qcom,port-mapping =3D <4 5 6 7 11 13>; - }; -}; - -&swr1 { - status =3D "okay"; - - /* WCD9385 RX */ - wcd_rx: codec@0,4 { - compatible =3D "sdw20217010d00"; - reg =3D <0 4>; - qcom,rx-port-mapping =3D <1 2 3 4 5>; - }; -}; - -&swr2 { - status =3D "okay"; - - /* WCD9385 TX */ - wcd_tx: codec@0,3 { - compatible =3D "sdw20217010d00"; - reg =3D <0 3>; - qcom,tx-port-mapping =3D <2 2 3 4>; - }; -}; - -&tlmm { - gpio-reserved-ranges =3D <34 2>, /* Unused */ - <44 4>, /* SPI (TPM) */ - <72 2>, /* Secure EC I2C connection (?) */ - <238 1>; /* UFS Reset */ - - eusb3_reset_n: eusb3-reset-n-state { - pins =3D "gpio6"; - function =3D "gpio"; - drive-strength =3D <2>; - bias-disable; - output-low; - }; - - eusb5_reset_n: eusb5-reset-n-state { - pins =3D "gpio7"; - function =3D "gpio"; - drive-strength =3D <2>; - bias-disable; - output-low; - }; - - eusb6_reset_n: eusb6-reset-n-state { - pins =3D "gpio184"; - function =3D "gpio"; - drive-strength =3D <2>; - bias-disable; - output-low; - }; - - tpad_default: tpad-default-state { - pins =3D "gpio3"; - function =3D "gpio"; - bias-pull-up; - }; - - nvme_reg_en: nvme-reg-en-state { - pins =3D "gpio18"; - function =3D "gpio"; - drive-strength =3D <2>; - bias-disable; - }; - - ts0_default: ts0-default-state { - reset-n-pins { - pins =3D "gpio48"; - function =3D "gpio"; - output-high; - drive-strength =3D <16>; - }; - - int-n-pins { - pins =3D "gpio51"; - function =3D "gpio"; - bias-disable; - }; - }; - - kybd_default: kybd-default-state { - pins =3D "gpio67"; - function =3D "gpio"; - bias-disable; - }; - - edp_reg_en: edp-reg-en-state { - pins =3D "gpio70"; - function =3D "gpio"; - drive-strength =3D <16>; - bias-disable; - }; - - hall_int_n_default: hall-int-n-state { - pins =3D "gpio92"; - function =3D "gpio"; - bias-disable; - }; - - pcie4_default: pcie4-default-state { - clkreq-n-pins { - pins =3D "gpio147"; - function =3D "pcie4_clk"; - drive-strength =3D <2>; - bias-pull-up; - }; - - perst-n-pins { - pins =3D "gpio146"; - function =3D "gpio"; - drive-strength =3D <2>; - bias-disable; - }; - - wake-n-pins { - pins =3D "gpio148"; - function =3D "gpio"; - drive-strength =3D <2>; - bias-pull-up; - }; - }; - - pcie6a_default: pcie6a-default-state { - clkreq-n-pins { - pins =3D "gpio153"; - function =3D "pcie6a_clk"; - drive-strength =3D <2>; - bias-pull-up; - }; - - perst-n-pins { - pins =3D "gpio152"; - function =3D "gpio"; - drive-strength =3D <2>; - bias-disable; - }; - - wake-n-pins { - pins =3D "gpio154"; - function =3D "gpio"; - drive-strength =3D <2>; - bias-pull-up; - }; - }; - - rtmr1_default: rtmr1-reset-n-active-state { - pins =3D "gpio176"; - function =3D "gpio"; - drive-strength =3D <2>; - bias-disable; - }; - - usb1_pwr_1p15_reg_en: usb1-pwr-1p15-reg-en-state { - pins =3D "gpio188"; - function =3D "gpio"; - drive-strength =3D <2>; - bias-disable; - }; - - usb1_pwr_1p8_reg_en: usb1-pwr-1p8-reg-en-state { - pins =3D "gpio175"; - function =3D "gpio"; - drive-strength =3D <2>; - bias-disable; - }; - - usb1_pwr_3p3_reg_en: usb1-pwr-3p3-reg-en-state { - pins =3D "gpio186"; - function =3D "gpio"; - drive-strength =3D <2>; - bias-disable; - }; - - wcd_default: wcd-reset-n-active-state { - pins =3D "gpio191"; - function =3D "gpio"; - drive-strength =3D <16>; - bias-disable; - output-low; - }; -}; - -&usb_1_ss0_hsphy { - vdd-supply =3D <&vreg_l3j_0p8>; - vdda12-supply =3D <&vreg_l2j_1p2>; - - phys =3D <&smb2360_0_eusb2_repeater>; - - status =3D "okay"; -}; - -&usb_1_ss0_qmpphy { - vdda-phy-supply =3D <&vreg_l2j_1p2>; - vdda-pll-supply =3D <&vreg_l1j_0p8>; - - status =3D "okay"; -}; - -&usb_1_ss0 { - status =3D "okay"; -}; - -&usb_1_ss0_dwc3 { - dr_mode =3D "host"; -}; - -&usb_1_ss0_dwc3_hs { - remote-endpoint =3D <&pmic_glink_ss0_hs_in>; -}; - -&usb_1_ss0_qmpphy_out { - remote-endpoint =3D <&retimer_ss0_ss_in>; -}; - -&usb_1_ss1_hsphy { - vdd-supply =3D <&vreg_l3j_0p8>; - vdda12-supply =3D <&vreg_l2j_1p2>; - - phys =3D <&smb2360_1_eusb2_repeater>; - - status =3D "okay"; -}; - -&usb_1_ss1_qmpphy { - vdda-phy-supply =3D <&vreg_l2j_1p2>; - vdda-pll-supply =3D <&vreg_l2d_0p9>; - - status =3D "okay"; -}; - -&usb_1_ss1 { - status =3D "okay"; -}; - -&usb_1_ss1_dwc3 { - dr_mode =3D "host"; -}; - -&usb_1_ss1_dwc3_hs { - remote-endpoint =3D <&pmic_glink_ss1_hs_in>; -}; - -&usb_1_ss1_qmpphy_out { - remote-endpoint =3D <&retimer_ss1_ss_in>; -}; - -&usb_2 { - status =3D "okay"; -}; - -&usb_2_dwc3 { - dr_mode =3D "host"; -}; - -&usb_2_hsphy { - vdd-supply =3D <&vreg_l2e_0p8>; - vdda12-supply =3D <&vreg_l3e_1p2>; - - phys =3D <&eusb5_repeater>; - - status =3D "okay"; -}; - -&usb_mp { - status =3D "okay"; -}; - -&usb_mp_hsphy0 { - vdd-supply =3D <&vreg_l2e_0p8>; - vdda12-supply =3D <&vreg_l3e_1p2>; - - phys =3D <&eusb6_repeater>; - - status =3D "okay"; -}; - -&usb_mp_hsphy1 { - vdd-supply =3D <&vreg_l2e_0p8>; - vdda12-supply =3D <&vreg_l3e_1p2>; - - phys =3D <&eusb3_repeater>; - - status =3D "okay"; -}; - -&usb_mp_qmpphy0 { - vdda-phy-supply =3D <&vreg_l3e_1p2>; - vdda-pll-supply =3D <&vreg_l3c_0p8>; - - status =3D "okay"; -}; - -&usb_mp_qmpphy1 { - vdda-phy-supply =3D <&vreg_l3e_1p2>; - vdda-pll-supply =3D <&vreg_l3c_0p8>; - - status =3D "okay"; -}; +// SPDX-License-Identifier: BSD-3-Clause +/* + * Copyright (c) 2025, Linaro Limited + */ + +#include "x1e78100-lenovo-thinkpad-t14s.dtsi" + +/ { + model =3D "Lenovo ThinkPad T14s Gen 6 (LCD)"; + compatible =3D "lenovo,thinkpad-t14s-lcd", "lenovo,thinkpad-t14s", + "qcom,x1e78100", "qcom,x1e80100"; + + backlight: backlight { + compatible =3D "pwm-backlight"; + pwms =3D <&pmk8550_pwm 0 4266537>; + enable-gpios =3D <&pmc8380_3_gpios 4 GPIO_ACTIVE_HIGH>; + power-supply =3D <&vreg_edp_bl>; + + pinctrl-0 =3D <&edp_bl_en>, <&edp_bl_pwm>; + pinctrl-names =3D "default"; + }; + + vreg_edp_bl: regulator-edp-bl { + compatible =3D "regulator-fixed"; + + regulator-name =3D "VBL9"; + regulator-min-microvolt =3D <3600000>; + regulator-max-microvolt =3D <3600000>; + + gpio =3D <&pmc8380_3_gpios 10 GPIO_ACTIVE_HIGH>; + enable-active-high; + + pinctrl-names =3D "default"; + pinctrl-0 =3D <&edp_bl_reg_en>; + + regulator-boot-on; + }; +}; + +&panel { + backlight =3D <&backlight>; +}; + +&pmc8380_3_gpios { + edp_bl_reg_en: edp-bl-reg-en-state { + pins =3D "gpio10"; + function =3D "normal"; + }; +}; + +&pmk8550_gpios { + edp_bl_pwm: edp-bl-pwm-state { + pins =3D "gpio5"; + function =3D "func3"; + }; +}; + +&pmk8550_pwm { + status =3D "okay"; +}; diff --git a/arch/arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s.dts b/a= rch/arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s.dtsi similarity index 99% copy from arch/arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s.dts copy to arch/arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s.dtsi index 05b2f3bf1fc8..eff0e73640bc 100644 --- a/arch/arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s.dts +++ b/arch/arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s.dtsi @@ -946,14 +946,10 @@ &mdss_dp3 { status =3D "okay"; =20 aux-bus { - panel { + panel: panel { compatible =3D "edp-panel"; - enable-gpios =3D <&pmc8380_3_gpios 4 GPIO_ACTIVE_HIGH>; power-supply =3D <&vreg_edp_3p3>; =20 - pinctrl-0 =3D <&edp_bl_en>; - pinctrl-names =3D "default"; - port { edp_panel_in: endpoint { remote-endpoint =3D <&mdss_dp3_out>; --=20 2.34.1