From nobody Sat Feb 7 07:09:51 2026 Received: from mail-wm1-f44.google.com (mail-wm1-f44.google.com [209.85.128.44]) (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 6779722CBE9 for ; Mon, 10 Mar 2025 14:15:19 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.44 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741616121; cv=none; b=b71pGlUasGKEJ9IQpcXJZoC8x0Z6ldQyUpohswEJuVEt6FX54rEQZpup9ObQH0chlvg43/EOfN+BGQy+Q6FeaNySVpnvp5ytFVw8OVTWZap2ZAvn1Zvw31tUD4Pido1pFSJHvEs+qtGkgz7TjnVLgM/TO/08MaO15aeribs6qtE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741616121; c=relaxed/simple; bh=VEQ4+hEeDHQ0ccw84pNvHcnSY7FOHv7KlXvL5LFijkY=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=Fohf8FIPf2OoEqZRLqmT2O2XinwPjzIVvrVaqTUhCup5GSUID+a3a6eXlrShKilFD7zgAtxLSvQm4qvpVNRgqiJVe4KPx1M10uY668Ow4sps2VG9gGTQm/23/Ww0B8sHM4OrLRynq0tYJcX9c6FQWTLr0xcOMjf3G3av8T8Oyug= 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=of9/8G05; arc=none smtp.client-ip=209.85.128.44 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="of9/8G05" Received: by mail-wm1-f44.google.com with SMTP id 5b1f17b1804b1-4394036c0efso24480585e9.2 for ; Mon, 10 Mar 2025 07:15:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1741616118; x=1742220918; 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=Bmb5F0W6Z7jeeDJaB9XNcpqLpScSh5IgdYNKbsZAHXk=; b=of9/8G05eoTWP0n1P7No18h6mnOnOt6ib1x0GgJsWjwnrO7rI0pguTogo1gu++Kv+5 9k8LvoZVIJGtPjb98xPj0H6fgfo5/B3jA3GTu+1AoPyBNJRXWY0mh6OanUKVwiFwr5CL cYWBZSW7H3OtymaTs+gL3BovQePuUlUm1rq/aqHgYYYBCzHmDlzNcJ2uwFrBbnI6e0Ee vsSGXnk1/+Fi2Ti5iAvptxY42l3DsOTcKIcLRXKbX5Cy1Kn4iHAZFzq6707cAZhVE+gq ykO5ex/HPMbp19nRzydbX4iJKcHbf3mBsmKaySK8ku1lTlNawwuGWVcvdFHlhRnZ7N01 0/Mw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741616118; x=1742220918; 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=Bmb5F0W6Z7jeeDJaB9XNcpqLpScSh5IgdYNKbsZAHXk=; b=NcJY87R7g4t97X8ZSiuuPN2kmIGpG4f4Cdd9dtIFmBx93EOikJNUdUA2CSL5LqKPn8 2t3+jtEToUvuB8wu8QX887gCk4T4UTb8qIX7IWeiw8G9fd2w+YI18E9QYZgMqDaL0U57 q3ahBgiUhs4AYzkMBfy491SsJ7zzdq4VQOghoHGfOsKOT99ZjOzWyAkLnBl6o3yBwjFJ wHMdfBK1CuUCAyC/H5MaE3TkZ3bpEdHmOCEKzMldHUZHEa+0hR0BzCU4ygYX+Wri/Xyk Tyif/5CrvD7VdAI1WMA5sq9KMzLgGM8MMqfPpDjlyZu8qoVXHVoOMfGAZIWl4aDn0Lh6 bUlQ== X-Forwarded-Encrypted: i=1; AJvYcCUT9pKKpJJZGS35e/4JPbPaXouxQqP7i/TMmWXtEThH0ogGI+dMvev0o+sl/IszAonc1Cg5IHoAwru/SQ0=@vger.kernel.org X-Gm-Message-State: AOJu0Yz5Dopyz0sWkBpbjEBHmM5YGrD5+btwRE1UwN1fwxtlYUPsceYO jts4TMpL9t+MbswGXffX+3nYteLnHH/RlXd3RuQlft3ye/t25V+QZi5KTUauqlw= X-Gm-Gg: ASbGnctT2hRFu6KWmo1LgSNvrxhiC2MxzDI9Cv4hm9shjE6i/Edzh1Nr9tyJLPFFfZM 4uOdFnN46R+A3VCEeuDb39/pWc4YH20tRa2gDTSNHGq3LrvmpU8gEzoDthpiyKom19TF5R1/4vi h3NJjXwvKmM3KnJHRGmhBHCiDZokaNDvzmAT+N6GY9vgwEQr42IT2hae7kaad6hB+m1doy4sshy FBFhorFWk9/6PI37UrC8Ll6a5Rf7JGS4FqXeJGtqpOQLS77cMByRd+S+SqNJ7nw4zkwlfXRGjvA nBRj7Nccy4Nat1p1GP3zxxjDOkq73MAfFFdaG/y2x+HUGagC4RZBDg== X-Google-Smtp-Source: AGHT+IF6nMeJGjQ3VoeuLz0WsGtCfmOBe+MhQFbZffoJpmsn4bCNhptkAG0B7rxQUATmUtt6M9GZBA== X-Received: by 2002:a05:600c:154d:b0:43d:160:cd97 with SMTP id 5b1f17b1804b1-43d0160cfb3mr1473885e9.25.1741616117589; Mon, 10 Mar 2025 07:15:17 -0700 (PDT) Received: from hackbox.lan ([62.231.96.41]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-43bdd8da097sm149824545e9.17.2025.03.10.07.15.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 10 Mar 2025 07:15:17 -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 v2 1/3] dt-bindings: arm: qcom: Document Lenovo ThinkPad T14s Gen 6 LCD and OLED Date: Mon, 10 Mar 2025 16:15:02 +0200 Message-Id: <20250310141504.3008517-2-abel.vesa@linaro.org> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250310141504.3008517-1-abel.vesa@linaro.org> References: <20250310141504.3008517-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 difference in how the panel backlight is being handled between the OLED variant and LCD one, it is required to have two separate DTBs. So document the compatible string for both the OLED and LCD variants. Signed-off-by: Abel Vesa Reviewed-by: Krzysztof Kozlowski --- Documentation/devicetree/bindings/arm/qcom.yaml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Documentation/devicetree/bindings/arm/qcom.yaml b/Documentatio= n/devicetree/bindings/arm/qcom.yaml index 618a87693ac1..6260839fe972 100644 --- a/Documentation/devicetree/bindings/arm/qcom.yaml +++ b/Documentation/devicetree/bindings/arm/qcom.yaml @@ -1123,7 +1123,9 @@ properties: =20 - items: - enum: - - lenovo,thinkpad-t14s + - lenovo,thinkpad-t14s-lcd + - lenovo,thinkpad-t14s-oled + - const: lenovo,thinkpad-t14s - const: qcom,x1e78100 - const: qcom,x1e80100 =20 --=20 2.34.1 From nobody Sat Feb 7 07:09:51 2026 Received: from mail-wr1-f49.google.com (mail-wr1-f49.google.com [209.85.221.49]) (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 7DC7122D4E4 for ; Mon, 10 Mar 2025 14:15:23 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.49 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741616126; cv=none; b=sJysrONWUf07wtUDe4EtNM2XOEB1zkRNd8QteBgkULSZtPyjs3khi52qCb5/YIVgCmvjry+kCmtp68G5WpFuz/6MVPicCiswXGuNahztAmHLvC32qjReAMsDtNlzXW85xKt7Co+CfpD29zNlb5VSd/2K2mMVU0qze5GZZMGcDAw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741616126; c=relaxed/simple; bh=w0/fT+X+RpQjJ4AvxXfhf72WYwh5sjIEVpiL7a1Z0xY=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=dVunAJ9pUS3Ze1aSNk3J42Atz3pN+TiaIjeG0iJG3D4LhhcOW3oQbzmiOuldXAoHppeVQpPpi9Oxx02jyqjigrqwEk0k/g9AWh7zNNQa2AJ2gZtt0hrPICSuITre4Dzx/tEhcWbnOUpmw9V0BqVESDw4kfGA7m4TQaZ3JHCzlD8= 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=vn0ZSjaU; arc=none smtp.client-ip=209.85.221.49 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="vn0ZSjaU" Received: by mail-wr1-f49.google.com with SMTP id ffacd0b85a97d-3912d2c89ecso3684074f8f.2 for ; Mon, 10 Mar 2025 07:15:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1741616122; x=1742220922; 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=uraff8DolofhJQXEwU9A7SiozseSpGxirP8OUbgZzkw=; b=vn0ZSjaUnlIkSfhBJRJIfYEa1s/ZZ6WnjYcg9JBPeTsgZidRSoBUJ5I4fSTYEBCGF0 0F/ZR8Afjh/xUDW51zAczwQ/bt+ig6pDI3w9d+tvePoFB8Q0ckfbdNGVM5hBJfWcgbCn PXhX9zM5Nowf3/k/uy5Jqj7Pw/h1jrnKZhF/aJCLKSlPB43/sRYR6VI993sv4Vu6+a4d HMN4ND62AMC6GPyiL/u2DhYLPYnZbuXmh6LAmfUKy8m3BtnVeB9bjgtVzWE3WjnIDDQG /6KNeIsZyZy6s1dSR13qvlzm5BFEWYiCA/LuPj/e07nvZGZNguVnIeZRT7uqMoxCATQP v9og== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741616122; x=1742220922; 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=uraff8DolofhJQXEwU9A7SiozseSpGxirP8OUbgZzkw=; b=prc7MaVPxa6Gw7m7IGH1b6UHlHcjgriyWczjG4Eypwud8FHmbMHpWZsr3wFCKgbR3J +SoAF8AKw/g2fSAniN3t+O3fL0c2MuloZusX73FH3tNRJLyLPmevdw2ubrZGC2CuQuBm 5yR70zmSFnBCkZFn/vq+9DIjfdcRAxhoPFat8RMymBZUrcCjfZ5RuhDFxVFyF3LxBzzV AuM3t27zoWl3SgiqkW1KHKJi9GSipm9ogLMwjkQYXkunktImPYZGpeMdVGktK92tjnBL zO7AAE3CcAzf9bIkbCZAIe6MJKexWN5jmjPgFY5CcXLMuxKvkxTe12SJBQLvhQE8Uq14 ejCg== X-Forwarded-Encrypted: i=1; AJvYcCVkuD7OaVeT4yDPjHkfWq09qqtuQdrQJ7eQJx1+PwslmQdy9CtjSq9O/zwDA3W+SFAlvvliQyH4ZMII67s=@vger.kernel.org X-Gm-Message-State: AOJu0YxIunFnqk2QrlI8bI6QdzO/Cnpd/aqFYbHX/4UizLmHgfEeDNld zXceeJ698r5a9IGnWlysbYgnLsHSCcOEmABdNC5mXWaqG081cqwDhqYtX5xG6yA= X-Gm-Gg: ASbGncvMjHnFtbL338ho/cDAc3yW1N+nBaNE5UKhfz6gTSXhLRbrQnZCBN+V9YNlZ0y wXKPz+jOaUvStDNsJcgA7xvv6DCczvQbuKCf581tlaur/vbaBsL4jT5IPRBf6/9B/khwA8S3WoD w2/JqcCN/vgJS1sbOSZ56wkad6CtUj5XJMV0AGRlvYYass9uzihHgsrbo8Pko99GxafkxBkR9P4 fsUg6vkh4JtRQI4tq8mW0j263LCf5+YGpgsWeuHP8wEJHLNqvxxaYhvtGQlPJKhNCi+xjywHWB2 QKHb4JrbT8XEIchSAWYI/U5DsW3q4QEil77jthP7fHw= X-Google-Smtp-Source: AGHT+IGDkyTtvfB4nsBHDgBFUJwMn6SOPgJ7LUQBuQ6EQpV5qazIlV1LORTG58SshmfQhfw6YmKQfQ== X-Received: by 2002:a5d:64ec:0:b0:391:3406:b4e2 with SMTP id ffacd0b85a97d-3913406b7e9mr8608917f8f.49.1741616119929; Mon, 10 Mar 2025 07:15:19 -0700 (PDT) Received: from hackbox.lan ([62.231.96.41]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-43bdd8da097sm149824545e9.17.2025.03.10.07.15.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 10 Mar 2025 07:15:19 -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 v2 2/3] arm64: dts: qcom: x1e78100-t14s: Add LCD variant with backlight support Date: Mon, 10 Mar 2025 16:15:03 +0200 Message-Id: <20250310141504.3008517-3-abel.vesa@linaro.org> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250310141504.3008517-1-abel.vesa@linaro.org> References: <20250310141504.3008517-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 Reviewed-by: Krzysztof Kozlowski --- .../qcom/x1e78100-lenovo-thinkpad-t14s.dts | 1194 +---------------- ...dts =3D> x1e78100-lenovo-thinkpad-t14s.dtsi} | 6 +- 2 files changed, 61 insertions(+), 1139 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 b2c2347f54fa..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,1134 +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 <&usb_1_ss0_qmpphy_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 <&usb_1_ss1_qmpphy_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; - }; - - 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; - }; -}; - -&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"; - }; -}; - -&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_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"; -}; - -&pmc8380_3_gpios { - edp_bl_en: edp-bl-en-state { - pins =3D "gpio4"; - function =3D "normal"; - power-source =3D <1>; - 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; - }; - }; - - 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 <&pmic_glink_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 <&pmic_glink_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 b2c2347f54fa..802c50f78436 100644 --- a/arch/arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s.dts +++ b/arch/arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s.dtsi @@ -704,14 +704,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 From nobody Sat Feb 7 07:09:51 2026 Received: from mail-wr1-f54.google.com (mail-wr1-f54.google.com [209.85.221.54]) (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 A0D8122CBDC for ; Mon, 10 Mar 2025 14:15:24 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.54 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741616126; cv=none; b=J3Gqft4nn1gLpzVRGFJwW7qEeiQtRp1c+PZkUbPAPRcXYccJVTSBQE+0E4XiTf9s6lIsLDA/iYEPCWSNorFD4fk2DJ20y32eaJf+k1BkS9uvu4nySsh4F1akjC6H7hLsLhFQ3Var7rOWfmsJDgJcHHv8Bf9LUs9/qNlsUHA+OKk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741616126; c=relaxed/simple; bh=fqTqMIhWNpfM5LYJZu3n6CNwSGS8W23mDWqQ26Vmdao=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=fl8s2KvXGx6pFh1yo5fw5G2m7JJ3QCOEgpkJ1n5FbIvwRKAzxHITh9irKzji6WtBB0o0Wv+ULBmuPTto2uSu5dLgEdqaev0r6lSzCZnNAxqS3HOVFdEfH3NSu5rHy7wjbi0j/+ioo776su9H/EdyuQNif0UZumWhY2Xnjug0Q2Y= 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=TnDzu/4W; arc=none smtp.client-ip=209.85.221.54 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="TnDzu/4W" Received: by mail-wr1-f54.google.com with SMTP id ffacd0b85a97d-39141ffa9fcso1284151f8f.0 for ; Mon, 10 Mar 2025 07:15:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1741616123; x=1742220923; 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=LmTqTAHRMrZdwKLgsfK2/thaztYYY0csGZPufN3JueY=; b=TnDzu/4WKNvtx/XtijuxPIJZZcLUWn+L6CKsnatweFO7z7Bmr4srqtWvqGoRRzWmBQ lFq3EX6s0dNQhzHtjH79RdRMtx3bgA4ARMT5lg+8M46CF7V7mvj7D4ygMzCV3C6cWhAt Ujuddxr5b/gTquY66kXK4CN5ko7prJeZVscs+Er9VY1HSIyhUsFeFwGm1SAUInpd5bwY +Dvt+9wO16srPLSn5Knu5CQ8Zt3nOIVNaJSWni5zyZ06oVIhedUPrT+vNSTWDqf1jq+x V1W4W7l2yz2GKqF/IvlKEHqeQQ7WLZW7IMNTWAkpI2mdDJWhQ1Qxd6x9NPJu5YCEdUd6 Oa0g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741616123; x=1742220923; 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=LmTqTAHRMrZdwKLgsfK2/thaztYYY0csGZPufN3JueY=; b=IlMGrgL8siXcnkhpWmjE0Iz0ZtduoQmpWVIIgpyH+osXPJx8Ajk9GbpQ3xTzYWZHWX FsfSn+/dEztpZWTQpngjoLJUn9Tqmmq9u4xZZgL1KMAh/l/8lvxzePlebdcf3sG3Whje TmP3xLbVNYFua+jaGcYUb9yQgp4f17CwqygxAxDc75Z123ooVOHMmIN5VENlfeDhL4+w OUeGh6n4maF19gQDsciFtUmrhDpM9lpFitkNxCgG/Hhl0OhFDYveA/hvr7/nYmXxznN4 WIZBvt4zFo/T1vzjLIx9QzTpTCBQFdtCeAx2TuAMaS4rtauYYnKwVyCdCcU3D5UVJC/J j+XA== X-Forwarded-Encrypted: i=1; AJvYcCXU1QTUcyIzE+kF192BK+C/T9d1mSjhwmlRgOwwx6yokcyu8OBpYe/yURAtrOeXofvYUo+Ef1JR2iR9LHw=@vger.kernel.org X-Gm-Message-State: AOJu0YyWQn7XURRW1x6lv91/NNeAo4oWZHw2xqCDISbvblxJQ+FRZUI1 Hth03wdbzCPRVRY4gAV1WMLAj494Zjo6/E5OzM5G5ZTnv3/DEntnMRHtmT9MfHY= X-Gm-Gg: ASbGncvLZXv8V56IW7jfBIsjXovZClaKDhFxdB6tQvUbLHe1fVvflwpe74r2BUrrA8Y dc7l1a9XYfzreLMddf7DSP/ash7qVlGnFToBmDJED0ZUcStFRaYvl6P0dHQyXCAyC1lqu16FN5s AQWZAtA3bSEIHSNODTql0uLLe1FukNQbw5DoVgszyNzJH0DDCS2LXDqCRnWfHI6Q5dEQofsL190 JdppFmrbHJ1LgETDrRnd4OFGBMQvuc3w2N8wU9vjFHTk2iVX9ST0v7uRpHCuc5EClYv0mNccoNO w9+AQOSnytrI3RxvKWqmEeIXieSMrWM7f/NJXse/eO4= X-Google-Smtp-Source: AGHT+IFGVt+pDHq6EUpM/aSC+I2TplLZ4xEg3fnnc4wQ8YzS/eyx+MSJesISoV8khPoQ4Ai4zCCC4g== X-Received: by 2002:a5d:6d09:0:b0:38f:4d20:4a17 with SMTP id ffacd0b85a97d-39132d1f8acmr10073432f8f.13.1741616122894; Mon, 10 Mar 2025 07:15:22 -0700 (PDT) Received: from hackbox.lan ([62.231.96.41]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-43bdd8da097sm149824545e9.17.2025.03.10.07.15.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 10 Mar 2025 07:15:22 -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 v2 3/3] arm64: dts: qcom: x1e78100-t14s: Add OLED variant Date: Mon, 10 Mar 2025 16:15:04 +0200 Message-Id: <20250310141504.3008517-4-abel.vesa@linaro.org> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250310141504.3008517-1-abel.vesa@linaro.org> References: <20250310141504.3008517-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" Since the Lenovo Thinkpad T14s Gen6 is available with an OLED, add dedicated a dedicated dts for it. This is needed because the backlight is handled differently for OLED panels when compared to LCD ones. Signed-off-by: Abel Vesa Reviewed-by: Krzysztof Kozlowski --- arch/arm64/boot/dts/qcom/Makefile | 1 + .../dts/qcom/x1e78100-lenovo-thinkpad-t14s-oled.dts | 12 ++++++++++++ 2 files changed, 13 insertions(+) create mode 100644 arch/arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s-= oled.dts diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/M= akefile index b54f45b3bec8..df8d63560d06 100644 --- a/arch/arm64/boot/dts/qcom/Makefile +++ b/arch/arm64/boot/dts/qcom/Makefile @@ -290,6 +290,7 @@ dtb-$(CONFIG_ARCH_QCOM) +=3D sm8750-mtp.dtb dtb-$(CONFIG_ARCH_QCOM) +=3D sm8750-qrd.dtb dtb-$(CONFIG_ARCH_QCOM) +=3D x1e001de-devkit.dtb dtb-$(CONFIG_ARCH_QCOM) +=3D x1e78100-lenovo-thinkpad-t14s.dtb +dtb-$(CONFIG_ARCH_QCOM) +=3D x1e78100-lenovo-thinkpad-t14s-oled.dtb dtb-$(CONFIG_ARCH_QCOM) +=3D x1e80100-asus-vivobook-s15.dtb dtb-$(CONFIG_ARCH_QCOM) +=3D x1e80100-crd.dtb dtb-$(CONFIG_ARCH_QCOM) +=3D x1e80100-dell-xps13-9345.dtb diff --git a/arch/arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s-oled.dt= s b/arch/arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s-oled.dts new file mode 100644 index 000000000000..be65fafafa73 --- /dev/null +++ b/arch/arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s-oled.dts @@ -0,0 +1,12 @@ +// SPDX-License-Identifier: BSD-3-Clause +/* + * Copyright (c) 2025, Linaro Limited + */ + +#include "x1e78100-lenovo-thinkpad-t14s.dtsi" + +/ { + model =3D "Lenovo ThinkPad T14s Gen 6 (OLED)"; + compatible =3D "lenovo,thinkpad-t14s-oled", "lenovo,thinkpad-t14s", + "qcom,x1e78100", "qcom,x1e80100"; +}; --=20 2.34.1