From nobody Thu Nov 28 22:42:47 2024 Received: from mail-pj1-f53.google.com (mail-pj1-f53.google.com [209.85.216.53]) (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 CB0B51BBBD5; Fri, 27 Sep 2024 09:46:26 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.53 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1727430388; cv=none; b=SMElsu0fNi86me5mCyOmIbxYB6YoH4yIeSDrmyXf1hi019WLk0a0XOxla4R3iWHdCuX+1ThYKKw3/JaVFrVH+w9RPGwD7hzByng16Jg85fl5mqdetkRq0r5g9KmtqwZ7SmGP+tbUJZIZNkiA59k08sJwC/4KQgc1VD7Y63uyX2Q= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1727430388; c=relaxed/simple; bh=J80zbYE64ugzoPnsQmP1Pi7KGo1gxWGXpWL2hL9vOW0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=ChOzNcYEl5fq+Kwq9IYxKglK3NnJn1PLCNeuJu+ZK6aNi7u+x/2hhugBKUQ2kcn4S43tnJMhOPK9HIgqIitMK3gqq4zfzBsOUDO2BAAzCEhiUd+ndTy6eCLb/iC9SB6KKD8OS1RMZFM7nqQQLLSmaW988+qp+s1UBbE3Qcfa+2M= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=Rrkm0hhT; arc=none smtp.client-ip=209.85.216.53 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="Rrkm0hhT" Received: by mail-pj1-f53.google.com with SMTP id 98e67ed59e1d1-2e06fade5eeso1570102a91.2; Fri, 27 Sep 2024 02:46:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1727430386; x=1728035186; 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=gcnUqmhmYbtsZKEu33H7lWqlzIAVOLaFTWRauQR0b6g=; b=Rrkm0hhTxAdE688g634mZ1HhXZrIZG8L3Q9Cn63ep6nRqymBP46ACr2WmMs7BoW38l cSUzgyZwqnuxevAx8dqelKG212OpgaBt0/p5wlMFFawucGbwzY8tm5fIumpFb5sP81Jn aKUsbg0rReSvnD7SdKnmOa0GVafqN//vpZXzGxd9tl9ozrQkyDFdjwFjbSjfHvE+fkfq etINlIODPQUKSnGEOyCGG6Kzln4RkQPEgg76NZdKW6IZEmVl1zvoCT/4vP7QFBMYft2w fI2dAKk1Q1WYQh1N6oqhkStse6BCEB+TteJLjkf23j1SHLCd0aGLcw+IC9AaZARxhKn0 NF3g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1727430386; x=1728035186; 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=gcnUqmhmYbtsZKEu33H7lWqlzIAVOLaFTWRauQR0b6g=; b=gDN4pLodi3BC4Evnn4WND5vx4gjDCptV79Dk6KteiVnTXJqnKX/taDdTx29Xf500Id /7XfS8S/tjRJVIPJYS3ojPIGNIlhxD46MX15b8iPz+y00tc/zV5Zla18H7GmYoeSG1bp uQCG7ESA1643IYehdDFa4yfgouGLDh5p9Lk1QbQApdyaJekRCDRQeLcQjnIANr8uEkEK g8Urqk+H0K3iFLx9lKyIOW0O2Xea5y2oXJgIeHMDPVsH7nDK4jbZIEo40G2PupltJ4B6 GC6J1b2wTf9Xj9l+qOwvOvuI6g1yeu4tzoRuziHOqXA9vQLRK2CKFoDYwaCgmARTCptJ WHMg== X-Forwarded-Encrypted: i=1; AJvYcCWvGcYlHKcYdbvqZOTCMhOorYyzCecsIhaxzw8k2Uo0bpBtr+Ku73NsUiumGFUDKH7v0r8bt4KuI/TYRdzQWQ==@vger.kernel.org, AJvYcCWy8Hl7sLN+8LDnUBMlpNBAo2qvPuSqtv/hSfu/lquFkx+f7LJPMyy4EYhiOO8rS4EAMK1wWtPtLzzR@vger.kernel.org, AJvYcCWzimIlPdEeEI1/ojNxhqXKmxzjDpw0GMBk3TVFwV7uZOy1Zmlgbveh9bJ0j6uCWmYNK/fhWyDPYa6oq/rk@vger.kernel.org X-Gm-Message-State: AOJu0Yy7l4W9ddsi+FlmMLgDFXPJtSELtUEgsQ1zd2vByNwfdEDHVIPt HOz+Wouj6EsoZjrZP8B3ULYn/g7GlqIOhH7RuZhruJSDhoBcyHgVqlYPd08vYZCp X-Google-Smtp-Source: AGHT+IEHb4p77Hn1JJyu0YqpCPvRN18o9vewDqzeX3yZabdYnxCxboQuhJ7bWVN9xtbc5wuaNkCk4Q== X-Received: by 2002:a17:90b:2306:b0:2de:ec70:84d with SMTP id 98e67ed59e1d1-2e0b8c5aaefmr3134740a91.24.1727430385778; Fri, 27 Sep 2024 02:46:25 -0700 (PDT) Received: from localhost.. ([42.116.8.116]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-20b37e4e61csm10533895ad.237.2024.09.27.02.46.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 27 Sep 2024 02:46:25 -0700 (PDT) From: Aleksandrs Vinarskis To: Bjorn Andersson , Krzysztof Kozlowski , Dmitry Baryshkov , linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Konrad Dybcio , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Aleksandrs Vinarskis Subject: [PATCH v3 3/3] arm64: dts: qcom: Add support for X1-based Dell XPS 13 9345 Date: Fri, 27 Sep 2024 11:44:20 +0200 Message-ID: <20240927094544.6966-4-alex.vinarskis@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240927094544.6966-1-alex.vinarskis@gmail.com> References: <20240927094544.6966-1-alex.vinarskis@gmail.com> 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" Initial support for Dell XPS 9345 13" 2024 (Tributo) based on X1E80100. Working: * Touchpad * Keyboard (only post suspend&resume, i2c-hid patch required [1]) * Touchscreen * eDP (low-res IPS, OLED) with brightness control * NVME * USB Type-C ports in USB2/USB3 (one orientation) * WiFi * GPU/aDSP/cDSP firmware loading (requires binaries from Windows) * Lid switch * Sleep/suspend, nothing visibly broken on resume Not working: * Speakers (WIP, pin guessing, x4 WSA8845) * Microphones (WIP, pin guessing) * Fingerprint Reader (WIP, USB MP with ptn3222) * USB as DP/USB3 (WIP, PS8830 based) * Camera Should be working, but cannot be tested due to lack of hw: * higher res IPS panel [1] https://lore.kernel.org/all/20240925100303.9112-1-alex.vinarskis@gmail.= com/ Signed-off-by: Aleksandrs Vinarskis --- arch/arm64/boot/dts/qcom/Makefile | 1 + .../dts/qcom/x1e80100-dell-tributo-13.dts | 863 ++++++++++++++++++ 2 files changed, 864 insertions(+) create mode 100644 arch/arm64/boot/dts/qcom/x1e80100-dell-tributo-13.dts diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/M= akefile index ae002c7cf126..111c589d6bae 100644 --- a/arch/arm64/boot/dts/qcom/Makefile +++ b/arch/arm64/boot/dts/qcom/Makefile @@ -271,6 +271,7 @@ dtb-$(CONFIG_ARCH_QCOM) +=3D sm8650-qrd.dtb dtb-$(CONFIG_ARCH_QCOM) +=3D x1e78100-lenovo-thinkpad-t14s.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-tributo-13.dtb dtb-$(CONFIG_ARCH_QCOM) +=3D x1e80100-lenovo-yoga-slim7x.dtb dtb-$(CONFIG_ARCH_QCOM) +=3D x1e80100-microsoft-romulus13.dtb dtb-$(CONFIG_ARCH_QCOM) +=3D x1e80100-microsoft-romulus15.dtb diff --git a/arch/arm64/boot/dts/qcom/x1e80100-dell-tributo-13.dts b/arch/a= rm64/boot/dts/qcom/x1e80100-dell-tributo-13.dts new file mode 100644 index 000000000000..7a3540fd21d7 --- /dev/null +++ b/arch/arm64/boot/dts/qcom/x1e80100-dell-tributo-13.dts @@ -0,0 +1,863 @@ +// SPDX-License-Identifier: BSD-3-Clause +/* + * Copyright (c) 2024 Qualcomm Innovation Center, Inc. All rights reserved. + * Copyright (c) 2024 Aleksandrs Vinarskis + */ + +/dts-v1/; + +#include +#include +#include +#include +#include + +#include "x1e80100.dtsi" +#include "x1e80100-pmics.dtsi" + +/ { + model =3D "Dell XPS 13 9345"; + compatible =3D "dell,tributo-13", "qcom,x1e80100"; + chassis-type =3D "laptop"; + + aliases { + serial0 =3D &uart21; + }; + + 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 ; + }; + }; + + leds { + compatible =3D "gpio-leds"; + + pinctrl-names =3D "default"; + pinctrl-0 =3D <&cam_indicator_en>; + + led-camera-indicator { + label =3D "white:camera-indicator"; + function =3D LED_FUNCTION_INDICATOR; + color =3D ; + gpios =3D <&tlmm 110 GPIO_ACTIVE_HIGH>; + linux,default-trigger =3D "none"; + default-state =3D "off"; + /* Reuse as a panic indicator until we get a "camera on" trigger */ + panic-indicator; + }; + }; + + 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>; + + /* Right-side USB Type-C 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>; + }; + }; + }; + }; + + /* Left-side USB Type-C 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"; + }; + + vreg_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; + }; +}; + +&apps_rsc { + regulators-0 { + compatible =3D "qcom,pm8550-rpmh-regulators"; + qcom,pmic-id =3D "b"; + vdd-bob1-supply =3D <&vreg_vph_pwr>; + vdd-bob2-supply =3D <&vreg_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_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_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>; + + 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_0p9: ldo3 { + regulator-name =3D "vreg_l3c_0p9"; + regulator-min-microvolt =3D <920000>; + regulator-max-microvolt =3D <920000>; + 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 <&vreg_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 <&vreg_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 <&vreg_vph_pwr>; + vdd-s2-supply =3D <&vreg_vph_pwr>; + + vreg_s1i_0p9: smps1 { + regulator-name =3D "vreg_s1i_0p9"; + regulator-min-microvolt =3D <900000>; + regulator-max-microvolt =3D <920000>; + regulator-initial-mode =3D ; + }; + + vreg_s2i_1p0: smps2 { + regulator-name =3D "vreg_s2i_1p0"; + regulator-min-microvolt =3D <1000000>; + regulator-max-microvolt =3D <1100000>; + regulator-initial-mode =3D ; + }; + + 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 <&vreg_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_0p9: ldo1 { + regulator-name =3D "vreg_l1j_0p9"; + 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/dell/tributo/qcdxkmsuc8380.mbn"; + }; +}; + +&i2c0 { + clock-frequency =3D <400000>; + status =3D "okay"; + + keyboard@5 { + compatible =3D "hid-over-i2c"; + reg =3D <0x5>; + + hid-descr-addr =3D <0x20>; + 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 "disabled"; + /* PS8830 Retimer @0x8 */ + /* Unknown device @0x9 */ +}; + +&i2c5 { + clock-frequency =3D <100000>; + status =3D "disabled"; + /* Unknown device @0x3b */ +}; + +&i2c7 { + clock-frequency =3D <400000>; + status =3D "disabled"; + /* PS8830 Retimer @0x8 */ + /* Unknown device @0x9 */ +}; + +&i2c8 { + clock-frequency =3D <400000>; + + status =3D "okay"; + + 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"; + }; +}; + +&i2c9 { + clock-frequency =3D <400000>; + status =3D "disabled"; + /* USB3 retimer device @0x4f */ +}; + +&i2c17 { + clock-frequency =3D <400000>; + status =3D "okay"; + + touchpad@2c { + compatible =3D "hid-over-i2c"; + reg =3D <0x2c>; + + hid-descr-addr =3D <0x20>; + interrupts-extended =3D <&tlmm 3 IRQ_TYPE_LEVEL_LOW>; + + pinctrl-0 =3D <&tpad_default>; + pinctrl-names =3D "default"; + + wakeup-source; + }; +}; + +&mdss { + status =3D "okay"; +}; + +&mdss_dp3 { + /delete-property/ #sound-dai-cells; + + status =3D "okay"; + + aux-bus { + panel { + /* 1920x1200 IPS panel is SHP1593, PNP09FF compatible */ + compatible =3D "edp-panel"; + power-supply =3D <&vreg_edp_3p3>; + + 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"; +}; + +&qupv3_0 { + status =3D "okay"; +}; + +&qupv3_1 { + status =3D "okay"; +}; + +&qupv3_2 { + status =3D "okay"; +}; + +&remoteproc_adsp { + firmware-name =3D "qcom/x1e80100/dell/tributo/qcadsp8380.mbn", + "qcom/x1e80100/dell/tributo/adsp_dtbs.elf"; + + status =3D "okay"; +}; + +&remoteproc_cdsp { + firmware-name =3D "qcom/x1e80100/dell/tributo/qccdsp8380.mbn", + "qcom/x1e80100/dell/tributo/cdsp_dtbs.elf"; + + status =3D "okay"; +}; + +&smb2360_0_eusb2_repeater { + vdd18-supply =3D <&vreg_l3d_1p8>; + vdd3-supply =3D <&vreg_l2b_3p0>; +}; + +&smb2360_1_eusb2_repeater { + vdd18-supply =3D <&vreg_l3d_1p8>; + vdd3-supply =3D <&vreg_l14b_3p0>; +}; + +&tlmm { + gpio-reserved-ranges =3D <44 4>, /* SPI11 (TPM) */ + <76 4>, /* SPI19 (TZ Protected) */ + <238 1>; /* UFS Reset */ + + cam_indicator_en: cam-indicator-en-state { + pins =3D "gpio110"; + function =3D "gpio"; + drive-strength =3D <2>; + 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; + }; + + kybd_default: kybd-default-state { + pins =3D "gpio67"; + 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; + }; + + 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; + }; + }; + + tpad_default: tpad-default-state { + disable-pins { + pins =3D "gpio38"; + function =3D "gpio"; + output-high; + }; + + int-n-pins { + pins =3D "gpio3"; + function =3D "gpio"; + bias-pull-up; + }; + + reset-n-pins { + pins =3D "gpio52"; + function =3D "gpio"; + bias-disable; + }; + }; + + ts0_default: ts0-default-state { + disable-pins { + pins =3D "gpio75"; + function =3D "gpio"; + output-high; + }; + + int-n-pins { + pins =3D "gpio51"; + function =3D "gpio"; + bias-pull-up; + }; + + reset-n-pins { + /* Technically should be High-Z input */ + pins =3D "gpio48"; + function =3D "gpio"; + output-low; + drive-strength =3D <2>; + }; + }; +}; + +&uart21 { + compatible =3D "qcom,geni-debug-uart"; + status =3D "okay"; +}; + +&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_l3e_1p2>; + vdda-pll-supply =3D <&vreg_l1j_0p9>; + + 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_l3e_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>; +}; --=20 2.43.0