Received: by 2002:a6b:fb09:0:0:0:0:0 with SMTP id h9csp2909557iog; Mon, 27 Jun 2022 05:34:15 -0700 (PDT) X-Google-Smtp-Source: AGRyM1sa+lsVqRymGIbxxvBXnDbLXMsOFSgBwzia93cqTfYXeCMeCfuDg7mPP7f3s5C4zYuBCORc X-Received: by 2002:a17:906:70c8:b0:726:2b17:7b24 with SMTP id g8-20020a17090670c800b007262b177b24mr12234834ejk.333.1656333254983; Mon, 27 Jun 2022 05:34:14 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1656333254; cv=none; d=google.com; s=arc-20160816; b=EBEt/rO3y8zYg/wJZA39VPihhpzjk9bXVmh65WG5kBsAOxgTc5qTO8rb1aYryJauIV oJ10OjBK6oPfMg8yLBDEXxR3yMPK4iOzCPTBYTUGgwLiZqyAIgHTgrRGl9gMv0nMewcj zqgOMAyFbyaxWkKT3urWrjRz+OCNDT/xCvOtcpS6/zh+insIjA2p+JqXLXzsCverixN0 K93gdND4klw6phIsDYcy1QgJncaTcJB9E4x/w1G4DPatr0BuXD1mIma52QR6sfgrui+V IcuGZp9cznStF5/lu1XRLUhGn9Rlpwkle07CNFxWDD2q4yNt0+k+5eSvbC/g4gS9DHez bkWA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:in-reply-to:from :references:cc:to:content-language:subject:user-agent:mime-version :date:message-id; bh=cS8zon+JHsGnM8saaIwA7iGyc3KjUw57ngSSS2zC3Ro=; b=Bmgbl3gfD4FTj6KW1e8Qkfd0BcALuKoN6ZezR09BjVHet2X27MShL34Fvziq/CgtKK ZvLMnQyAGMRRhFQgee0aO6cx1BgMe7ugEJFQEF2eboPmkSY/z/d3kbMJ1uxqOU+uE2pA u1nFWrRydfXLNN0FGuMDH/kHKf2ge/5/dc/tHTqpu4s7XAekqAyPi5cScICsl+VxgWDS 5clW/2XvqKJ2CEwoaEak/fxpZDha9Vj7jrCBp5b2SF+abtgWM5XXA99OBzRQc2gEObvr Q9xto/9GCml8fM8Pm1MKDXafjuitxNjiu9sailNu7Sv1bgiPAGPPoSSVtA92RDQm8wmJ Yg5g== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id cr13-20020a170906d54d00b0072642116126si8465695ejc.888.2022.06.27.05.33.48; Mon, 27 Jun 2022 05:34:14 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S238004AbiF0Lrj (ORCPT + 99 others); Mon, 27 Jun 2022 07:47:39 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:43134 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S237500AbiF0Lnv (ORCPT ); Mon, 27 Jun 2022 07:43:51 -0400 Received: from relay08.th.seeweb.it (relay08.th.seeweb.it [IPv6:2001:4b7a:2000:18::169]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 318F9A473; Mon, 27 Jun 2022 04:38:52 -0700 (PDT) Received: from [192.168.1.101] (abxi223.neoplus.adsl.tpnet.pl [83.9.2.223]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by m-r2.th.seeweb.it (Postfix) with ESMTPSA id 939E43F791; Mon, 27 Jun 2022 13:38:48 +0200 (CEST) Message-ID: <96394aa2-aefc-63c4-d86f-15c06d092d75@somainline.org> Date: Mon, 27 Jun 2022 13:38:47 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.10.0 Subject: Re: [PATCH v3] arm64: dts: qcom: sc8280xp: add Lenovo Thinkpad X13s devicetree Content-Language: en-US To: Johan Hovold , Bjorn Andersson Cc: Andy Gross , Rob Herring , Krzysztof Kozlowski , Manivannan Sadhasivam , Jassi Brar , linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org References: <20220622132617.24604-1-johan+linaro@kernel.org> From: Konrad Dybcio In-Reply-To: <20220622132617.24604-1-johan+linaro@kernel.org> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,NICE_REPLY_A, RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 22.06.2022 15:26, Johan Hovold wrote: > Add an initial devicetree for the Lenovo Thinkpad X13s with support for > USB, backlight, keyboard, touchpad, touchscreen (to be verified), PMICs > and remoteprocs. > > Signed-off-by: Johan Hovold > Reviewed-by: Krzysztof Kozlowski > --- > > Changes since v2 > - Amend commit message > - Drop unused include files (depends on updating sc8280xp-pmics.dtsi) > - Rename fixed-regulator nodes > - Shorten two comments > - Drop a couple of newline separators in the pinctrl nodes > > Changs since v1: > - New patch > > arch/arm64/boot/dts/qcom/Makefile | 1 + > .../qcom/sc8280xp-lenovo-thinkpad-x13s.dts | 389 ++++++++++++++++++ > 2 files changed, 390 insertions(+) > create mode 100644 arch/arm64/boot/dts/qcom/sc8280xp-lenovo-thinkpad-x13s.dts > > diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile > index 2f416b84b71c..43053f1f6be9 100644 > --- a/arch/arm64/boot/dts/qcom/Makefile > +++ b/arch/arm64/boot/dts/qcom/Makefile > @@ -91,6 +91,7 @@ dtb-$(CONFIG_ARCH_QCOM) += sc7280-idp.dtb > dtb-$(CONFIG_ARCH_QCOM) += sc7280-idp2.dtb > dtb-$(CONFIG_ARCH_QCOM) += sc7280-crd-r3.dtb > dtb-$(CONFIG_ARCH_QCOM) += sc8280xp-crd.dtb > +dtb-$(CONFIG_ARCH_QCOM) += sc8280xp-lenovo-thinkpad-x13s.dtb > dtb-$(CONFIG_ARCH_QCOM) += sdm630-sony-xperia-ganges-kirin.dtb > dtb-$(CONFIG_ARCH_QCOM) += sdm630-sony-xperia-nile-discovery.dtb > dtb-$(CONFIG_ARCH_QCOM) += sdm630-sony-xperia-nile-pioneer.dtb > diff --git a/arch/arm64/boot/dts/qcom/sc8280xp-lenovo-thinkpad-x13s.dts b/arch/arm64/boot/dts/qcom/sc8280xp-lenovo-thinkpad-x13s.dts > new file mode 100644 > index 000000000000..9ffc4d69228e > --- /dev/null > +++ b/arch/arm64/boot/dts/qcom/sc8280xp-lenovo-thinkpad-x13s.dts > @@ -0,0 +1,389 @@ > +// SPDX-License-Identifier: BSD-3-Clause > +/* > + * Copyright (c) 2021, The Linux Foundation. All rights reserved. > + * Copyright (c) 2022, Linaro Limited > + */ > + > +/dts-v1/; > + > +#include > +#include > + > +#include "sc8280xp.dtsi" > +#include "sc8280xp-pmics.dtsi" > + > +/ { > + model = "Lenovo ThinkPad X13s"; > + compatible = "lenovo,thinkpad-x13s", "qcom,sc8280xp"; > + > + backlight { > + compatible = "pwm-backlight"; > + pwms = <&pmc8280c_lpg 3 1000000>; > + enable-gpios = <&pmc8280_1_gpios 8 GPIO_ACTIVE_HIGH>; > + power-supply = <&vreg_edp_bl>; > + > + pinctrl-names = "default"; > + pinctrl-0 = <&edp_bl_en>, <&edp_bl_pwm>; > + }; > + > + vreg_edp_bl: regulator-edp-bl { > + compatible = "regulator-fixed"; > + > + regulator-name = "VBL9"; > + regulator-min-microvolt = <3600000>; > + regulator-max-microvolt = <3600000>; > + > + gpio = <&pmc8280_1_gpios 9 GPIO_ACTIVE_HIGH>; > + enable-active-high; > + > + pinctrl-names = "default"; > + pinctrl-0 = <&edp_bl_reg_en>; > + > + regulator-boot-on; > + }; > + > + vreg_misc_3p3: regulator-misc-3p3 { > + compatible = "regulator-fixed"; > + > + regulator-name = "VCC3B"; > + regulator-min-microvolt = <3300000>; > + regulator-max-microvolt = <3300000>; > + > + gpio = <&pmc8280_1_gpios 1 GPIO_ACTIVE_HIGH>; > + enable-active-high; > + > + pinctrl-names = "default"; > + pinctrl-0 = <&misc_3p3_reg_en>; > + > + regulator-boot-on; > + regulator-always-on; > + }; > + > + reserved-memory { > + }; You still haven't explained this weird node (I don't believe the thing doesn't mind you poking at 'secure' regions, and even if otherwise, it is unused for now). Other than this: Reviewed-by: Konrad Dybcio Konrad > +}; > + > +&apps_rsc { > + pmc8280-1-rpmh-regulators { > + compatible = "qcom,pm8350-rpmh-regulators"; > + qcom,pmic-id = "b"; > + > + vdd-l3-l5-supply = <&vreg_s11b>; > + > + vreg_s11b: smps11 { > + regulator-name = "vreg_s11b"; > + regulator-min-microvolt = <1272000>; > + regulator-max-microvolt = <1272000>; > + regulator-initial-mode = ; > + }; > + > + vreg_l3b: ldo3 { > + regulator-name = "vreg_l3b"; > + regulator-min-microvolt = <1200000>; > + regulator-max-microvolt = <1200000>; > + regulator-initial-mode = ; > + regulator-allow-set-load; > + regulator-boot-on; > + }; > + > + vreg_l4b: ldo4 { > + regulator-name = "vreg_l4b"; > + regulator-min-microvolt = <912000>; > + regulator-max-microvolt = <912000>; > + regulator-initial-mode = ; > + regulator-allow-set-load; > + }; > + > + vreg_l6b: ldo6 { > + regulator-name = "vreg_l6b"; > + regulator-min-microvolt = <880000>; > + regulator-max-microvolt = <880000>; > + regulator-initial-mode = ; > + regulator-allow-set-load; > + regulator-boot-on; > + regulator-always-on; // FIXME: VDD_A_EDP_0_0P9 > + }; > + }; > + > + pmc8280c-rpmh-regulators { > + compatible = "qcom,pm8350c-rpmh-regulators"; > + qcom,pmic-id = "c"; > + > + vreg_l1c: ldo1 { > + regulator-name = "vreg_l1c"; > + regulator-min-microvolt = <1800000>; > + regulator-max-microvolt = <1800000>; > + regulator-initial-mode = ; > + regulator-allow-set-load; > + }; > + > + vreg_l12c: ldo12 { > + regulator-name = "vreg_l12c"; > + regulator-min-microvolt = <1800000>; > + regulator-max-microvolt = <1800000>; > + regulator-initial-mode = ; > + regulator-allow-set-load; > + }; > + > + vreg_l13c: ldo13 { > + regulator-name = "vreg_l13c"; > + regulator-min-microvolt = <3072000>; > + regulator-max-microvolt = <3072000>; > + regulator-initial-mode = ; > + regulator-allow-set-load; > + }; > + }; > + > + pmc8280-2-rpmh-regulators { > + compatible = "qcom,pm8350-rpmh-regulators"; > + qcom,pmic-id = "d"; > + > + vdd-l1-l4-supply = <&vreg_s11b>; > + > + vreg_l3d: ldo3 { > + regulator-name = "vreg_l3d"; > + regulator-min-microvolt = <1200000>; > + regulator-max-microvolt = <1200000>; > + regulator-initial-mode = ; > + regulator-allow-set-load; > + }; > + > + vreg_l4d: ldo4 { > + regulator-name = "vreg_l4d"; > + regulator-min-microvolt = <1200000>; > + regulator-max-microvolt = <1200000>; > + regulator-initial-mode = ; > + regulator-allow-set-load; > + }; > + > + vreg_l7d: ldo7 { > + regulator-name = "vreg_l7d"; > + regulator-min-microvolt = <3072000>; > + regulator-max-microvolt = <3072000>; > + regulator-initial-mode = ; > + regulator-allow-set-load; > + }; > + > + vreg_l9d: ldo9 { > + regulator-name = "vreg_l9d"; > + regulator-min-microvolt = <912000>; > + regulator-max-microvolt = <912000>; > + regulator-initial-mode = ; > + regulator-allow-set-load; > + }; > + }; > +}; > + > +&pmc8280c_lpg { > + status = "okay"; > +}; > + > +&pmk8280_pon_pwrkey { > + status = "okay"; > +}; > + > +&qup0 { > + status = "okay"; > +}; > + > +&qup0_i2c4 { > + clock-frequency = <400000>; > + > + pinctrl-names = "default"; > + pinctrl-0 = <&qup0_i2c4_default>, <&ts0_default>; > + > + status = "okay"; > + > + /* FIXME: verify */ > + touchscreen@10 { > + compatible = "hid-over-i2c"; > + reg = <0x10>; > + hid-descr-addr = <0x1>; > + interrupts-extended = <&tlmm 175 IRQ_TYPE_LEVEL_LOW>; > + vdd-supply = <&vreg_misc_3p3>; > + }; > +}; > + > +&qup1 { > + status = "okay"; > +}; > + > +&qup2 { > + status = "okay"; > +}; > + > +&qup2_i2c5 { > + clock-frequency = <400000>; > + > + pinctrl-names = "default"; > + pinctrl-0 = <&qup2_i2c5_default>, <&kybd_default>, <&tpad_default>; > + > + status = "okay"; > + > + touchpad@2c { > + compatible = "hid-over-i2c"; > + reg = <0x2c>; > + hid-descr-addr = <0x20>; > + interrupts-extended = <&tlmm 182 IRQ_TYPE_LEVEL_LOW>; > + vdd-supply = <&vreg_misc_3p3>; > + }; > + > + keyboard@68 { > + compatible = "hid-over-i2c"; > + reg = <0x68>; > + hid-descr-addr = <0x1>; > + interrupts-extended = <&tlmm 104 IRQ_TYPE_LEVEL_LOW>; > + vdd-supply = <&vreg_misc_3p3>; > + }; > +}; > + > +&remoteproc_adsp { > + firmware-name = "qcom/sc8280xp/qcadsp8280.mbn"; > + > + status = "okay"; > +}; > + > +&remoteproc_nsp0 { > + firmware-name = "qcom/sc8280xp/qccdsp8280.mbn"; > + > + status = "okay"; > +}; > + > +&usb_0 { > + status = "okay"; > +}; > + > +&usb_0_dwc3 { > + /* TODO: Define USB-C connector properly */ > + dr_mode = "host"; > +}; > + > +&usb_0_hsphy { > + vdda-pll-supply = <&vreg_l9d>; > + vdda18-supply = <&vreg_l1c>; > + vdda33-supply = <&vreg_l7d>; > + > + status = "okay"; > +}; > + > +&usb_0_qmpphy { > + vdda-phy-supply = <&vreg_l9d>; > + vdda-pll-supply = <&vreg_l4d>; > + > + status = "okay"; > +}; > + > +&usb_1 { > + status = "okay"; > +}; > + > +&usb_1_dwc3 { > + /* TODO: Define USB-C connector properly */ > + dr_mode = "host"; > +}; > + > +&usb_1_hsphy { > + vdda-pll-supply = <&vreg_l4b>; > + vdda18-supply = <&vreg_l1c>; > + vdda33-supply = <&vreg_l13c>; > + > + status = "okay"; > +}; > + > +&usb_1_qmpphy { > + vdda-phy-supply = <&vreg_l4b>; > + vdda-pll-supply = <&vreg_l3b>; > + > + status = "okay"; > +}; > + > +&xo_board_clk { > + clock-frequency = <38400000>; > +}; > + > +/* PINCTRL */ > + > +&pmc8280_1_gpios { > + edp_bl_en: edp-bl-en-state { > + pins = "gpio8"; > + function = "normal"; > + }; > + > + edp_bl_reg_en: edp-bl-reg-en-state { > + pins = "gpio9"; > + function = "normal"; > + }; > + > + misc_3p3_reg_en: misc-3p3-reg-en-state { > + pins = "gpio1"; > + function = "normal"; > + }; > +}; > + > +&pmc8280c_gpios { > + edp_bl_pwm: edp-bl-pwm-state { > + pins = "gpio8"; > + function = "func1"; > + }; > +}; > + > +&tlmm { > + gpio-reserved-ranges = <70 2>, <74 6>, <83 4>, <125 2>, <128 2>, <154 7>; > + > + kybd_default: kybd-default-state { > + disable { > + pins = "gpio102"; > + function = "gpio"; > + output-low; > + }; > + > + int-n { > + pins = "gpio104"; > + function = "gpio"; > + bias-disable; > + }; > + > + reset { > + pins = "gpio105"; > + function = "gpio"; > + bias-disable; > + }; > + }; > + > + qup0_i2c4_default: qup0-i2c4-default-state { > + pins = "gpio171", "gpio172"; > + function = "qup4"; > + bias-disable; > + drive-strength = <16>; > + }; > + > + qup2_i2c5_default: qup2-i2c5-default-state { > + pins = "gpio81", "gpio82"; > + function = "qup21"; > + bias-disable; > + drive-strength = <16>; > + }; > + > + tpad_default: tpad-default-state { > + int-n { > + pins = "gpio182"; > + function = "gpio"; > + bias-disable; > + }; > + }; > + > + ts0_default: ts0-default-state { > + int-n { > + pins = "gpio175"; > + function = "gpio"; > + bias-pull-up; > + }; > + > + reset-n { > + pins = "gpio99"; > + function = "gpio"; > + output-high; > + drive-strength = <16>; > + }; > + }; > +}; >