From nobody Sun Apr 5 13:05:43 2026 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8E7F22F4A1E for ; Tue, 17 Feb 2026 21:21:18 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771363280; cv=none; b=P0y6EhFCN2DonoF5AtOszD/QK05UQL/h2p8Zu/BZFCzgVTqeFmOt3cLyAOlx8awY/tcYk/2RXHYzIo72Lop/tTfM5sRIZ5c9oZv/Td14rSDapBsHpQa6Zz0eSeyhqAHZHAVAy0uI/5B+z5YmYyWqMPi0M3yMrIt35pDr8fHTOrY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771363280; c=relaxed/simple; bh=S3qPSfVWqBCbd+ntjyTD1O9IO2zhtykZgF+++wySYII=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Ce0F6ePu9ayZSwfypzXFYQvd8WZ2qMICJ+JB/bbF6s6zatNh/kSntA9m6HA6hIyV/cd2lc81rl3rgCPlTBe0tqlZ0PA2bsD8EH101W4u1tKJCMeWwkRmdbwrDZHk8UkU0aEBA7QDgBW00yuAeau/eD9kqjr66yvSlul8eokBUVs= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=DWrnT4sp; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=dA3JHvXB; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="DWrnT4sp"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="dA3JHvXB" Received: from pps.filterd (m0279864.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 61HH7TbU1545000 for ; Tue, 17 Feb 2026 21:21:18 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= 3QF+eMxQgvc4fslgZreg9vs3cJS8DH4xWaAj2KWJXxk=; b=DWrnT4spEwD6KXsz jJ5wxbyiy7mD689Lqd2DMBw0231gI5IFUm3sWUC8ajsibK0cv7zjiq2NMWsdQbqt ReInsQL3kRZIy5wwyMffigA15+EGEIq8XTlB7rDeO0TMceSN+9npKgJHhl5B29Rf AhwoknZoH/8Ll+WBQgW3JqnzwXWSYB/VANJr2G+jIxCYA7gyUREGfsDEW2X71LK9 iVxn1aDgoN6D++9AXeI2Liia0RuwJuEdca5t0hWkJaLLVoEGfmU+AgLT+w0WmKI9 0imLc9FDtjm1w8iJp3C9n2b86b/DOwCI9uaFeEf/mbAqLX3T8MZw3fKYOg5haRtI 2aILOg== Received: from mail-qk1-f198.google.com (mail-qk1-f198.google.com [209.85.222.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4cc7ajuvx8-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 17 Feb 2026 21:21:17 +0000 (GMT) Received: by mail-qk1-f198.google.com with SMTP id af79cd13be357-8c70b6a5821so2592294785a.0 for ; Tue, 17 Feb 2026 13:21:17 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1771363276; x=1771968076; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=3QF+eMxQgvc4fslgZreg9vs3cJS8DH4xWaAj2KWJXxk=; b=dA3JHvXBZVf+ms22+PVNV581Fa+hd1fVt+WVWfXKcs3xK9Vp9KzWlc0Ts5qxtyk4pQ 14d+XxX2+XyRbCEKYlqFdBB18K2ZbIHqMbeB5tNqht37YSXpteGDqkb6D87G4jb9z6cg zsHhrNmpeeLpyzKo7l+rb7+Znpe+EPFu5SBvxHKi20TNwg2YiUSWGF29lx0EZZ3U1SEy +YahIU9qyRCESRYJB+GZU7V2bFnRSdMlZ81LsP8wWYUIuaXL4T+IT/7ixjmNWy0YuYZ6 apPzsrN97dtHRAwEQ632lYGcX9MI8W3NYfz6gczj6rAN0x9/YupUVsxEC1KLvkpl4/UZ bT7w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1771363276; x=1771968076; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=3QF+eMxQgvc4fslgZreg9vs3cJS8DH4xWaAj2KWJXxk=; b=WQQjiATfpH0fRJIdKJwbsp+eizkkqAmuCFLM7ideQlJdZ268syOImCBYXVpXZPObkR Qo9i1TZcvnyV7icb+F+t2XTN3P37A9ofdhZRQLvoYMRMiF+QIm3f5YcZA9NCgXLpaR9N VgwHsRUaSCa/dH+eVME4qNlWXo1+hJVjN0uUTO8eg1wBfDfnQrzVsk9YiKp2FkHk2+DT JcoAB9w7T+1CTiBnFRjJQ20J+rEQn0LEe3OwFXnjbHu3pOmmlXrcW51TYIR7MKIq+I2q aDgofeVvFABuurn3JZrbcZVX8zDMV8PPVvJ+yuIAUOkDTx77IMFPNntDneno5XbjT7wu 5WKw== X-Forwarded-Encrypted: i=1; AJvYcCWh7rlO41wPPJKW4LS9PmvDzOwqOG51mL4JN9lOs1/OiNq3OxBzzHR1zFYetEeQKL6pih3jJIhQjpkzTYc=@vger.kernel.org X-Gm-Message-State: AOJu0YxaQFFdsfLMmHUMn3QZAd3rBPOtkze8h/3MG+KEwOUcxCK3e2SK VhG7J1kqZqGSZ3ig/uP7no5YCLkdEw6871zz0eJOV9GDNb5wsjexnhcsdUCEwXOqcKf0gWNWmtB 6DfLgsnzRVOvRkwsBtb/MIJvIjbcKyvAnmsHR6tWj2UrdwUnyzomIs7rcopGxiiyuE8A= X-Gm-Gg: AZuq6aKDDuYTHy2MSvLip33nxhwP6QDNWaASqxjOaSIR8yUA1tVQNB6A6RZ1M3wX7yS hFN92Bb1d6YK+CXAmToXrCynmLebknLp8JBQys6XkfACnIMZbq/uqr5XHZ7rNugDU3LRBDFai7B a7NcWlcx5JZ4kQCITZOwgpCKtao5ncskWclnTxOEqG+50+DShASxAGAPDswNPqEz+V8qHZ07w1Y nNA2mb+jSMJSjVEMKay9oJsA5etnQAKHeRJo/Kw73ahek4rXr3anC/cNjlH97sj/Dc1pk3su+4R WDLGVKwdiPbhFX/Rg1mVaMmu4O45uEd9oEmQUkmeD0HzMQyFiqHNejDn2TW8jWdpiGe5B+qoHAG kWWcBY380d19tf+NBpTljW0GB/FhcIOiSamsYfcIfmOnEEcdH/LVoVvP1/Oori6YGrPDlFzJqtt zxs0VKQiJPWpcGojIa364v03LM1brFsEDpGaQ= X-Received: by 2002:a05:620a:8592:b0:8cb:4db3:f6f3 with SMTP id af79cd13be357-8cb4db3f970mr956773785a.87.1771363275544; Tue, 17 Feb 2026 13:21:15 -0800 (PST) X-Received: by 2002:a05:620a:8592:b0:8cb:4db3:f6f3 with SMTP id af79cd13be357-8cb4db3f970mr956763785a.87.1771363272688; Tue, 17 Feb 2026 13:21:12 -0800 (PST) Received: from umbar.lan (2001-14ba-a073-af00-264b-feff-fe8b-be8a.rev.dnainternet.fi. [2001:14ba:a073:af00:264b:feff:fe8b:be8a]) by smtp.gmail.com with ESMTPSA id 38308e7fff4ca-387068923c3sm39293311fa.5.2026.02.17.13.21.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 17 Feb 2026 13:21:10 -0800 (PST) From: Dmitry Baryshkov Date: Tue, 17 Feb 2026 23:20:45 +0200 Subject: [PATCH 4/4] arm64: dts: qcom: add device tree for SDM845-HDK Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260217-sdm845-hdk-v1-4-866f1965fef7@oss.qualcomm.com> References: <20260217-sdm845-hdk-v1-0-866f1965fef7@oss.qualcomm.com> In-Reply-To: <20260217-sdm845-hdk-v1-0-866f1965fef7@oss.qualcomm.com> To: Bjorn Andersson , Michael Turquette , Stephen Boyd , Ulf Hansson , Konrad Dybcio , Rob Herring , Krzysztof Kozlowski , Conor Dooley Cc: linux-arm-msm@vger.kernel.org, linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=openpgp-sha256; l=19710; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=S3qPSfVWqBCbd+ntjyTD1O9IO2zhtykZgF+++wySYII=; b=owGbwMvMwMXYbdNlx6SpcZXxtFoSQ+aU27v8d7+T77EP/Kog9FAtaXa7nwqDUC73zJ3hnXtZe gy/zavoZDRmYWDkYpAVU2TxKWiZGrMpOezDjqn1MINYmUCmMHBxCsBEyv3Y/5nuOSAnVWRWO6dv +re3j78qlxUb3AriW5XbeedZuL3D73z7vCK+jlr3RBOtFovad0fPxNl3PHae/39VZHv6TknZJ2v 92q28MtpeLC/iF41s/vdoj8rNK3uu2E1iveubJxKfF+2+tHgmmxWvFL+K+QEF66ZpS26ZPjeLl+ w0vV6pVlLIaVScv990ueaDKTM17/xY23z36bpbPM1nzFJcd89gvJf+fVVjhs7+KQ8uWypZtL+PW rG9UybSrOfHHZdDzY80rrfrCdi9ijnLPtmyaMV1sSN/zOKP/nZY/+bPzr3xvr83d7WlTPQIPcfJ 9FJlxdf/HNIlHmaKJvL8Ey24mr+e0fi54sT0nqh5plzcAA== X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMjE3MDE3NSBTYWx0ZWRfX/mTgH2S4lRfj X555EaiWFjpxBiVMbD4Du1raIz/UvwqNqPN0Lx3eQKo238CPLQ0R6XujS2P1slX4mVindUStKOV RkWjaCju+HANB+DRUTN7VOrZYNaT/b319Ah5NACmag1gDjDB2RMepBXtcqCg8S8goNOXZO+55U1 mDxxI4lZ22kDzSlHKsducOPRVYoe91FLSbPBa/eYbWP7LcYc1oSpj0512ngg6XTZNViSJbe90eG 06RtvRkjT+yz0n0FfBL8yTVR+DDJj5lTDiZ17VNFAhjLykfpKF1u116KM+c8mWEcVxUyPjl2jnd vNuMhaefTs1rDJvKp+fiyJnOfE/jtZ+gVuhQLCdmXU0F1dw9xW7vnCL97NQgPWVKw9e4wJPdjne XQ6I2kpwRsEWOYBDq1iKgGyHBZuvlhFWERDPs8ooOsx+FsAP81OQVPkqgQHFIgdPI8V1uIeaLYP JPTYgZr7bwW4LqlUf4Q== X-Proofpoint-ORIG-GUID: r16j0FpNS4SL-iOKVQnNF62eHP0HUoMi X-Authority-Analysis: v=2.4 cv=BryQAIX5 c=1 sm=1 tr=0 ts=6994dbcd cx=c_pps a=qKBjSQ1v91RyAK45QCPf5w==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=HzLeVaNsDn8A:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=Mpw57Om8IfrbqaoTuvik:22 a=GgsMoib0sEa3-_RKJdDe:22 a=EUspDBNiAAAA:8 a=56gVuG9mKJOFi302aVEA:9 a=QEXdDO2ut3YA:10 a=NFOGd7dJGGMPyQGDc5-O:22 X-Proofpoint-GUID: r16j0FpNS4SL-iOKVQnNF62eHP0HUoMi X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-02-17_03,2026-02-16_04,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 spamscore=0 lowpriorityscore=0 suspectscore=0 phishscore=0 clxscore=1015 adultscore=0 bulkscore=0 priorityscore=1501 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2601150000 definitions=main-2602170175 Add device tree for the Qualcomm / Lantronix SDM845 HDK. It is the development platform using the modem-less (SDA845) SoC, optional onboard DSI panel and a rich set of connectors. Working: - HDMI display - uSD, UFS, USB - DSPs, WiFi, BT - Buttons, LEDs Not working or not tested: - DisplayPort - TCPM not supported for this PMIC - WiGig - requires power sequencing driver, doesn't work with the current in-kernel driver - Audio - FingerPrint - USIM Signed-off-by: Dmitry Baryshkov --- arch/arm64/boot/dts/qcom/Makefile | 1 + arch/arm64/boot/dts/qcom/sdm845-hdk.dts | 820 ++++++++++++++++++++++++++++= ++++ 2 files changed, 821 insertions(+) diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/M= akefile index f80b5d9cf1e8..dc901a0fa8b3 100644 --- a/arch/arm64/boot/dts/qcom/Makefile +++ b/arch/arm64/boot/dts/qcom/Makefile @@ -272,6 +272,7 @@ sdm845-db845c-navigation-mezzanine-dtbs :=3D sdm845-db8= 45c.dtb sdm845-db845c-navig dtb-$(CONFIG_ARCH_QCOM) +=3D sdm845-db845c-navigation-mezzanine.dtb dtb-$(CONFIG_ARCH_QCOM) +=3D sdm845-google-crosshatch.dtb dtb-$(CONFIG_ARCH_QCOM) +=3D sdm845-google-blueline.dtb +dtb-$(CONFIG_ARCH_QCOM) +=3D sdm845-hdk.dtb dtb-$(CONFIG_ARCH_QCOM) +=3D sdm845-lg-judyln.dtb dtb-$(CONFIG_ARCH_QCOM) +=3D sdm845-lg-judyp.dtb dtb-$(CONFIG_ARCH_QCOM) +=3D sdm845-mtp.dtb diff --git a/arch/arm64/boot/dts/qcom/sdm845-hdk.dts b/arch/arm64/boot/dts/= qcom/sdm845-hdk.dts new file mode 100644 index 000000000000..4dd426912d20 --- /dev/null +++ b/arch/arm64/boot/dts/qcom/sdm845-hdk.dts @@ -0,0 +1,820 @@ +// SPDX-License-Identifier: BSD-3-Clause +/* + * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries. + */ + +/dts-v1/; + +#include +#include +#include +#include "sdm845.dtsi" +#include "pm8005.dtsi" +#include "pm8998.dtsi" +#include "pmi8998.dtsi" + +/ { + model =3D "Qualcomm Technologies, Inc. SDM845 HDK"; + compatible =3D "qcom,sdm845-hdk", "qcom,sdm845"; + chassis-type =3D "embedded"; + + aliases { + serial0 =3D &uart9; + }; + + chosen { + stdout-path =3D "serial0:115200n8"; + }; + + gpio-keys { + compatible =3D "gpio-keys"; + autorepeat; + + pinctrl-names =3D "default"; + pinctrl-0 =3D <&home_pin_a>, <&vol_up_pin_a>; + + key-home { + label =3D "Home"; + linux,code =3D ; + gpios =3D <&pm8998_gpios 5 GPIO_ACTIVE_LOW>; + }; + + key-vol-up { + label =3D "Volume Up"; + linux,code =3D ; + gpios =3D <&pm8998_gpios 6 GPIO_ACTIVE_LOW>; + }; + }; + + hdmi-out { + compatible =3D "hdmi-connector"; + type =3D "a"; + + port { + hdmi_con: endpoint { + remote-endpoint =3D <<9611_out>; + }; + }; + }; + + /* + * Apparently RPMh does not provide support for PM8998 S4 and S6 + * because they are always-on; model them as fixed regulators. + */ + vreg_s4a_1p8: regulator-pm8998-smps4 { + compatible =3D "regulator-fixed"; + regulator-name =3D "vreg_s4a_1p8"; + + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <1800000>; + + regulator-always-on; + regulator-boot-on; + + vin-supply =3D <&vph_pwr>; + }; + + vreg_s6a_0p8: regulator-pm8998-smps6 { + compatible =3D "regulator-fixed"; + regulator-name =3D "vreg_s6a_0p8"; + + regulator-min-microvolt =3D <800000>; + regulator-max-microvolt =3D <800000>; + + regulator-always-on; + regulator-boot-on; + + vin-supply =3D <&vph_pwr>; + }; + + vreg_sys_bob_3p3: regulator-sys-bob { + compatible =3D "regulator-fixed"; + regulator-name =3D "sys_bob"; + regulator-min-microvolt =3D <3300000>; + regulator-max-microvolt =3D <3300000>; + + regulator-always-on; + regulator-boot-on; + + vin-supply =3D <&vreg_s4a_1p8>; + }; + + vph_pwr: regulator-vph-pwr { + compatible =3D "regulator-fixed"; + regulator-name =3D "vph_pwr"; + regulator-min-microvolt =3D <3700000>; + regulator-max-microvolt =3D <3700000>; + }; +}; + +&adsp_pas { + firmware-name =3D "qcom/sdm845/adsp.mbn"; + + status =3D "okay"; +}; + +&apps_rsc { + regulators-0 { + compatible =3D "qcom,pm8998-rpmh-regulators"; + qcom,pmic-id =3D "a"; + + vdd-s1-supply =3D <&vph_pwr>; + vdd-s2-supply =3D <&vph_pwr>; + vdd-s3-supply =3D <&vph_pwr>; + vdd-s4-supply =3D <&vph_pwr>; + vdd-s5-supply =3D <&vph_pwr>; + vdd-s6-supply =3D <&vph_pwr>; + vdd-s7-supply =3D <&vph_pwr>; + vdd-s8-supply =3D <&vph_pwr>; + vdd-s9-supply =3D <&vph_pwr>; + vdd-s10-supply =3D <&vph_pwr>; + vdd-s11-supply =3D <&vph_pwr>; + vdd-s12-supply =3D <&vph_pwr>; + vdd-s13-supply =3D <&vph_pwr>; + vdd-l1-l27-supply =3D <&vreg_s7a_1p025>; + vdd-l2-l8-l17-supply =3D <&vreg_s3a_1p35>; + vdd-l3-l11-supply =3D <&vreg_s7a_1p025>; + vdd-l4-l5-supply =3D <&vreg_s7a_1p025>; + vdd-l6-supply =3D <&vph_pwr>; + vdd-l7-l12-l14-l15-supply =3D <&vreg_s5a_2p04>; + vdd-l9-supply =3D <&vreg_bob>; + vdd-l10-l23-l25-supply =3D <&vreg_bob>; + vdd-l13-l19-l21-supply =3D <&vreg_bob>; + vdd-l16-l28-supply =3D <&vreg_bob>; + vdd-l18-l22-supply =3D <&vreg_bob>; + vdd-l20-l24-supply =3D <&vreg_bob>; + vdd-l26-supply =3D <&vreg_s3a_1p35>; + vin-lvs-1-2-supply =3D <&vreg_s4a_1p8>; + + vreg_s2a_1p125: smps2 { + regulator-min-microvolt =3D <1100000>; + regulator-max-microvolt =3D <1100000>; + }; + + vreg_s3a_1p35: smps3 { + regulator-min-microvolt =3D <1352000>; + regulator-max-microvolt =3D <1352000>; + }; + + vreg_s5a_2p04: smps5 { + regulator-min-microvolt =3D <1904000>; + regulator-max-microvolt =3D <2040000>; + }; + + vreg_s7a_1p025: smps7 { + regulator-min-microvolt =3D <900000>; + regulator-max-microvolt =3D <1028000>; + }; + + vreg_l1a_0p88: ldo1 { + regulator-min-microvolt =3D <880000>; + regulator-max-microvolt =3D <880000>; + regulator-initial-mode =3D ; + }; + + vreg_l2a_1p2: ldo2 { + regulator-min-microvolt =3D <1200000>; + regulator-max-microvolt =3D <1200000>; + regulator-initial-mode =3D ; + regulator-always-on; + }; + + vreg_l3a_1p0: ldo3 { + regulator-min-microvolt =3D <1000000>; + regulator-max-microvolt =3D <1000000>; + regulator-initial-mode =3D ; + }; + + vreg_l5a_0p8: ldo5 { + regulator-min-microvolt =3D <800000>; + regulator-max-microvolt =3D <800000>; + regulator-initial-mode =3D ; + }; + + vreg_l6a_1p85: ldo6 { + regulator-min-microvolt =3D <1856000>; + regulator-max-microvolt =3D <1856000>; + regulator-initial-mode =3D ; + }; + + vreg_l7a_1p8: ldo7 { + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <1800000>; + regulator-initial-mode =3D ; + }; + + vreg_l8a_1p2: ldo8 { + regulator-min-microvolt =3D <1200000>; + regulator-max-microvolt =3D <1248000>; + regulator-initial-mode =3D ; + }; + + vreg_l9a_1p8: ldo9 { + regulator-min-microvolt =3D <1704000>; + regulator-max-microvolt =3D <2928000>; + regulator-initial-mode =3D ; + }; + + vreg_l10a_1p8: ldo10 { + regulator-min-microvolt =3D <1704000>; + regulator-max-microvolt =3D <2928000>; + regulator-initial-mode =3D ; + }; + + vreg_l11a_1p0: ldo11 { + regulator-min-microvolt =3D <1000000>; + regulator-max-microvolt =3D <1048000>; + regulator-initial-mode =3D ; + }; + + vreg_l12a_1p8: ldo12 { + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <1800000>; + regulator-initial-mode =3D ; + }; + + vreg_l13a_2p95: ldo13 { + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <2960000>; + regulator-initial-mode =3D ; + }; + + vreg_l14a_1p8: ldo14 { + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <1800000>; + regulator-initial-mode =3D ; + }; + + vreg_l15a_1p8: ldo15 { + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <1800000>; + regulator-initial-mode =3D ; + }; + + vreg_l16a_2p7: ldo16 { + regulator-min-microvolt =3D <2704000>; + regulator-max-microvolt =3D <2704000>; + regulator-initial-mode =3D ; + }; + + vreg_l17a_1p3: ldo17 { + regulator-min-microvolt =3D <1304000>; + regulator-max-microvolt =3D <1304000>; + regulator-initial-mode =3D ; + }; + + vreg_l18a_2p7: ldo18 { + regulator-min-microvolt =3D <2704000>; + regulator-max-microvolt =3D <2960000>; + regulator-initial-mode =3D ; + }; + + vreg_l19a_3p0: ldo19 { + regulator-min-microvolt =3D <2856000>; + regulator-max-microvolt =3D <3104000>; + regulator-initial-mode =3D ; + }; + + vreg_l20a_2p95: ldo20 { + regulator-min-microvolt =3D <2704000>; + regulator-max-microvolt =3D <2960000>; + regulator-initial-mode =3D ; + }; + + vreg_l21a_2p95: ldo21 { + regulator-min-microvolt =3D <2704000>; + regulator-max-microvolt =3D <2960000>; + regulator-initial-mode =3D ; + }; + + vreg_l22a_2p85: ldo22 { + regulator-min-microvolt =3D <2864000>; + regulator-max-microvolt =3D <3312000>; + regulator-initial-mode =3D ; + }; + + vreg_l23a_3p3: ldo23 { + regulator-min-microvolt =3D <3300000>; + regulator-max-microvolt =3D <3312000>; + regulator-initial-mode =3D ; + }; + + vreg_l24a_3p075: ldo24 { + regulator-min-microvolt =3D <3088000>; + regulator-max-microvolt =3D <3088000>; + regulator-initial-mode =3D ; + }; + + vreg_l25a_3p3: ldo25 { + regulator-min-microvolt =3D <3300000>; + regulator-max-microvolt =3D <3312000>; + regulator-initial-mode =3D ; + }; + + vreg_l26a_1p2: ldo26 { + regulator-min-microvolt =3D <1200000>; + regulator-max-microvolt =3D <1200000>; + regulator-initial-mode =3D ; + }; + + vreg_l28a_3p0: ldo28 { + regulator-min-microvolt =3D <2856000>; + regulator-max-microvolt =3D <3008000>; + regulator-initial-mode =3D ; + }; + + vreg_lvs1a_1p8: lvs1 { + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <1800000>; + }; + + vreg_lvs2a_1p8: lvs2 { + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <1800000>; + }; + }; + + regulators-1 { + compatible =3D "qcom,pmi8998-rpmh-regulators"; + qcom,pmic-id =3D "b"; + + vdd-bob-supply =3D <&vph_pwr>; + + vreg_bob: bob { + regulator-min-microvolt =3D <3312000>; + regulator-max-microvolt =3D <3600000>; + regulator-initial-mode =3D ; + regulator-allow-bypass; + }; + }; + + regulators-2 { + compatible =3D "qcom,pm8005-rpmh-regulators"; + qcom,pmic-id =3D "c"; + + vdd-s1-supply =3D <&vph_pwr>; + vdd-s2-supply =3D <&vph_pwr>; + vdd-s3-supply =3D <&vph_pwr>; + vdd-s4-supply =3D <&vph_pwr>; + + vreg_s3c_0p6: smps3 { + regulator-min-microvolt =3D <600000>; + regulator-max-microvolt =3D <600000>; + }; + }; +}; + +&cluster_sleep_0 { + /* default, 0x4100c244, kills the board */ + arm,psci-suspend-param =3D <0x41008244>; +}; + +&cdsp_pas { + firmware-name =3D "qcom/sdm845/cdsp.mbn"; + + status =3D "okay"; +}; + +&gcc { + protected-clocks =3D , + , + , + , + ; +}; + +&gpi_dma0 { + status =3D "okay"; +}; + +&gpi_dma1 { + status =3D "okay"; +}; + +&gpu { + status =3D "okay"; +}; + +&gpu_zap_shader { + firmware-name =3D "qcom/sdm845/a630_zap.mbn"; +}; + +&i2c3 { + clock-frequency =3D <400000>; + + status =3D "okay"; + + lt9611_codec: hdmi-bridge@3b { + compatible =3D "lontium,lt9611"; + reg =3D <0x3b>; + #sound-dai-cells =3D <1>; + + interrupts-extended =3D <&tlmm 113 IRQ_TYPE_EDGE_FALLING>; + + reset-gpios =3D <&tlmm 76 GPIO_ACTIVE_HIGH>; + + vdd-supply =3D <&vreg_s4a_1p8>; + vcc-supply =3D <&vreg_sys_bob_3p3>; + + pinctrl-names =3D "default"; + pinctrl-0 =3D <<9611_irq_pin>; + + ports { + #address-cells =3D <1>; + #size-cells =3D <0>; + + port@0 { + reg =3D <0>; + + lt9611_a: endpoint { + remote-endpoint =3D <&mdss_dsi0_out>; + }; + }; + + port@1 { + reg =3D <1>; + + lt9611_b: endpoint { + remote-endpoint =3D <&mdss_dsi1_out>; + }; + }; + + port@2 { + reg =3D <2>; + + lt9611_out: endpoint { + remote-endpoint =3D <&hdmi_con>; + }; + }; + }; + }; +}; + +&mdss { + status =3D "okay"; +}; + +&mdss_dsi0 { + status =3D "okay"; + vdda-supply =3D <&vreg_l26a_1p2>; + + qcom,dual-dsi-mode; + qcom,master-dsi; +}; + +&mdss_dsi0_out { + remote-endpoint =3D <<9611_a>; + data-lanes =3D <0 1 2 3>; +}; + +&mdss_dsi0_phy { + status =3D "okay"; + vdds-supply =3D <&vreg_s6a_0p8>; +}; + +&mdss_dsi1 { + vdda-supply =3D <&vreg_l26a_1p2>; + + qcom,dual-dsi-mode; + + /* DSI1 is slave, so use DSI0 clocks */ + assigned-clock-parents =3D <&mdss_dsi0_phy DSI_BYTE_PLL_CLK>, + <&mdss_dsi0_phy DSI_PIXEL_PLL_CLK>; + + status =3D "okay"; +}; + +&mdss_dsi1_out { + remote-endpoint =3D <<9611_b>; + data-lanes =3D <0 1 2 3>; +}; + +&mdss_dsi1_phy { + vdds-supply =3D <&vreg_s6a_0p8>; + status =3D "okay"; +}; + +&mss_pil { + firmware-name =3D "qcom/sdm845/mba.mbn", "qcom/sdm845/modem.mbn"; + + status =3D "okay"; +}; + +&pcie0 { + perst-gpios =3D <&tlmm 35 GPIO_ACTIVE_LOW>; + + pinctrl-0 =3D <&pcie0_default_state>; + pinctrl-names =3D "default"; + + status =3D "okay"; +}; + +&pcie0_phy { + vdda-phy-supply =3D <&vreg_l1a_0p88>; + vdda-pll-supply =3D <&vreg_l26a_1p2>; + + status =3D "okay"; +}; + +&pcie1 { + perst-gpios =3D <&tlmm 102 GPIO_ACTIVE_LOW>; + + pinctrl-names =3D "default"; + pinctrl-0 =3D <&pcie1_default_state>; + + status =3D "okay"; +}; + +&pcie1_phy { + status =3D "okay"; + + vdda-phy-supply =3D <&vreg_l1a_0p88>; + vdda-pll-supply =3D <&vreg_l26a_1p2>; +}; + +&pm8998_gpios { + home_pin_a: home-active-state { + pins =3D "gpio6"; + function =3D "normal"; + input-enable; + bias-pull-up; + qcom,drive-strength =3D ; + }; + + vol_up_pin_a: vol-up-active-state { + pins =3D "gpio6"; + function =3D "normal"; + input-enable; + bias-pull-up; + qcom,drive-strength =3D ; + }; +}; + +&pm8998_resin { + linux,code =3D ; + + status =3D "okay"; +}; + +&pmi8998_lpg { + status =3D "okay"; + + qcom,power-source =3D <1>; + + led@3 { + reg =3D <3>; + color =3D ; + function =3D LED_FUNCTION_BLUETOOTH; + linux,default-trigger =3D "bluetooth-power"; + }; + + led@4 { + reg =3D <4>; + color =3D ; + function =3D LED_FUNCTION_HEARTBEAT; + linux,default-trigger =3D "heartbeat"; + function-enumerator =3D <2>; + }; + + led@5 { + reg =3D <5>; + color =3D ; + function =3D LED_FUNCTION_INDICATOR; + function-enumerator =3D <1>; + }; +}; + +&pmi8998_wled { + status =3D "disabled"; +}; + +&qupv3_id_0 { + status =3D "okay"; +}; + +&qupv3_id_1 { + status =3D "okay"; +}; + +&sdhc_2 { + status =3D "okay"; + + pinctrl-0 =3D <&sdc2_default_state &sdc2_card_det_n>; + pinctrl-names =3D "default"; + + vmmc-supply =3D <&vreg_l21a_2p95>; + vqmmc-supply =3D <&vreg_l13a_2p95>; + + bus-width =3D <4>; + cd-gpios =3D <&tlmm 126 GPIO_ACTIVE_LOW>; +}; + +&slpi_pas { + firmware-name =3D "qcom/sdm845/Qualcomm/SDM845-HDK/slpi.mbn"; + + status =3D "okay"; +}; + +&tlmm { + gpio-reserved-ranges =3D <0 4>, /* SPI (eSE - embedded Secure Element) */ + <81 4>; /* SPI (fingerprint reader) */ + + lt9611_irq_pin: lt9611-irq-state { + pins =3D "gpio113"; + function =3D "gpio"; + bias-disable; + }; + + pcie0_default_state: pcie0-default-state { + clkreq-pins { + pins =3D "gpio36"; + function =3D "pci_e0"; + bias-pull-up; + }; + + perst-n-pins { + pins =3D "gpio35"; + function =3D "gpio"; + drive-strength =3D <2>; + bias-pull-down; + }; + + wake-n-pins { + pins =3D "gpio37"; + function =3D "gpio"; + drive-strength =3D <2>; + bias-pull-up; + }; + }; + + pcie1_default_state: pcie1-default-state { + clkreq-pins { + pins =3D "gpio103"; + function =3D "pci_e1"; + bias-pull-up; + }; + + perst-n-pins { + pins =3D "gpio102"; + function =3D "gpio"; + drive-strength =3D <16>; + bias-pull-down; + }; + + wake-n-pins { + pins =3D "gpio104"; + function =3D "gpio"; + drive-strength =3D <2>; + bias-pull-up; + }; + }; + + sdc2_default_state: sdc2-default-state { + clk-pins { + pins =3D "sdc2_clk"; + bias-disable; + + /* + * It seems that mmc_test reports errors if drive + * strength is not 16 on clk, cmd, and data pins. + */ + drive-strength =3D <16>; + }; + + cmd-pins { + pins =3D "sdc2_cmd"; + bias-pull-up; + drive-strength =3D <10>; + }; + + data-pins { + pins =3D "sdc2_data"; + bias-pull-up; + drive-strength =3D <10>; + }; + }; + + sdc2_card_det_n: sd-card-det-n-state { + pins =3D "gpio126"; + function =3D "gpio"; + bias-pull-up; + }; +}; + +&uart6 { + pinctrl-0 =3D <&qup_uart6_4pin>; + + status =3D "okay"; + + bluetooth { + compatible =3D "qcom,wcn3990-bt"; + + vddio-supply =3D <&vreg_s4a_1p8>; + vddxo-supply =3D <&vreg_l7a_1p8>; + vddrf-supply =3D <&vreg_l17a_1p3>; + vddch0-supply =3D <&vreg_l25a_3p3>; + max-speed =3D <3200000>; + }; +}; + +&uart9 { + status =3D "okay"; +}; + +&ufs_mem_hc { + status =3D "okay"; + + reset-gpios =3D <&tlmm 150 GPIO_ACTIVE_LOW>; + + vcc-supply =3D <&vreg_l20a_2p95>; + vcc-max-microamp =3D <800000>; +}; + +&ufs_mem_phy { + status =3D "okay"; + + vdda-phy-supply =3D <&vreg_l1a_0p88>; + vdda-pll-supply =3D <&vreg_l26a_1p2>; +}; + +&usb_1 { + status =3D "okay"; +}; + +&usb_1_dwc3 { + dr_mode =3D "peripheral"; +}; + +&usb_1_hsphy { + status =3D "okay"; + + vdd-supply =3D <&vreg_l1a_0p88>; + vdda-pll-supply =3D <&vreg_l12a_1p8>; + vdda-phy-dpdm-supply =3D <&vreg_l24a_3p075>; + + qcom,imp-res-offset-value =3D <8>; + qcom,hstx-trim-value =3D ; + qcom,preemphasis-level =3D ; + qcom,preemphasis-width =3D ; +}; + +&usb_1_qmpphy { + vdda-phy-supply =3D <&vreg_l26a_1p2>; + vdda-pll-supply =3D <&vreg_l1a_0p88>; + + status =3D "okay"; +}; + +/* HS only */ +&usb_2 { + qcom,select-utmi-as-pipe-clk; + + status =3D "okay"; +}; + +&usb_2_dwc3 { + maximum-speed =3D "high-speed"; + phys =3D <&usb_2_hsphy>; + phy-names =3D "usb2-phy"; + + dr_mode =3D "host"; +}; + +&usb_2_hsphy { + vdd-supply =3D <&vreg_l1a_0p88>; + vdda-pll-supply =3D <&vreg_l12a_1p8>; + vdda-phy-dpdm-supply =3D <&vreg_l24a_3p075>; + + qcom,imp-res-offset-value =3D <8>; + qcom,hstx-trim-value =3D ; + + status =3D "okay"; +}; + +&venus { + status =3D "okay"; +}; + +&wifi { + vdd-0.8-cx-mx-supply =3D <&vreg_l5a_0p8>; + vdd-1.8-xo-supply =3D <&vreg_l7a_1p8>; + vdd-1.3-rfa-supply =3D <&vreg_l17a_1p3>; + vdd-3.3-ch0-supply =3D <&vreg_l25a_3p3>; + vdd-3.3-ch1-supply =3D <&vreg_l23a_3p3>; + + qcom,snoc-host-cap-8bit-quirk; + qcom,calibration-variant =3D "Qualcomm_sdm845hdk"; + + status =3D "okay"; +}; + +/* PINCTRL - additions to nodes defined in sdm845.dtsi */ +&qup_uart9_rx { + drive-strength =3D <2>; + bias-pull-up; +}; + +&qup_uart9_tx { + drive-strength =3D <2>; + bias-disable; +}; --=20 2.47.3