From nobody Thu Oct 2 15:34:43 2025 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.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 4DF622C15B6 for ; Tue, 16 Sep 2025 04:24:26 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1757996668; cv=none; b=aj7d2wW9mQXDwt/1QuNQ6uZFcg7T2V5oSpoQ886SjMzqFz3TsoZ001IkPcUePzXiIY/5OFysaO0rGIpBYYYAUKQkTBD/Dn9fQU07kf92UEf2jCdgxt3mwIkg2jASHNJkBTjrUAeU5TCTUK8OS+K/ymetOygyXdPi5ZfUURmkrPY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1757996668; c=relaxed/simple; bh=x3qQy8HpoT+optWnjlhThI0ThOY6lVKqrGFc/cO34Eo=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=nY1ftsOqmO0PqKmnij0O75TLky/FuR3XrUm8If3XGyhuok0CxnWM+4sWTIX96GKvZu62DmdGqKKAiqtEIvecZBy05TgmZzFihmV7u+zdeZXV7Q/RbJtaqelQQbfI/S9Exq//zx9BaTFCxWmZj3E822ojrLrxaVVkek80f9PmL38= 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=fJ7Di0Hr; arc=none smtp.client-ip=205.220.180.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="fJ7Di0Hr" Received: from pps.filterd (m0279871.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 58G3pj0S012555 for ; Tue, 16 Sep 2025 04:24:25 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= Nerev66aTGRn8FjGrxMS3h5z5q19EWXELtXKnOa+Heo=; b=fJ7Di0HroE7RtLaX 0KHw1jAgL2ReUf7XfgeCsrusNjIZvS/rYJ3teEFgGHx49K/ONiYcpnH6pBpKs1Ik 64dEhO/b+ANrwzlyPAli62niyXPZnq9L8zNaMQ+nKINrnm+Bc64Qk38GCvWv20nm xEuLih/mlayDOWJN1mAMWodVGKO8gSda/HvaSv+r0NKy7mb14GcK/Ahz4mU0UMnf ZYuVTeJjv9Tdgel0OA9OB2ez3Mnr7W1lVioJGRoq7+4VhGSgxC7LSRxglvixcD/X R+5vhJEliO9JRUQ5VP7/gpwZbdcnblXHqCSrq3FLqZWh3QqIfedkj+U3EWp9rkM4 0gx3wg== Received: from mail-oi1-f200.google.com (mail-oi1-f200.google.com [209.85.167.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 495072qc5m-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Tue, 16 Sep 2025 04:24:25 +0000 (GMT) Received: by mail-oi1-f200.google.com with SMTP id 5614622812f47-4382445ed76so3322377b6e.1 for ; Mon, 15 Sep 2025 21:24:25 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1757996664; x=1758601464; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Nerev66aTGRn8FjGrxMS3h5z5q19EWXELtXKnOa+Heo=; b=QdAwkeRecWUtucLL/Zlp2Q/I7H0Xagr6/I4jyCiDrUn9acwUcWOLwLhAOceCEPtF+Y t6nQXbcThB1qNxuqBDOViZxnpzPzbixCg8T48DOMaa7HFMPONT7DyuTzHNfLPHRsk1SB 18m7yyEAEklulrxCvg1aQfoftrZOaZgmkaj9wqQ+6YTI1H3k3/+Ja4hFTQ9lLW4/iIjz uBfnwhBW/Ph3ayQnco8GEgNBGTg941TXihx3xEhcwxJvIwuGbQkq1r0lxbLRAvEirqoF LH+k4V+aNAyya5fE2R4zJkX4GDrvP5iUyO3GSKaJUuyKelyEvevHn/PhfO2gBzW7pFGD pBAA== X-Forwarded-Encrypted: i=1; AJvYcCUNsJ+FhZqCbTO0oHWh3kv1axCQIrgFXNaw+ATpBpty1g6tl9b1EsZccBhmTL7VMO1d2esqkp16O4gt5fw=@vger.kernel.org X-Gm-Message-State: AOJu0Yz9fOP12MZJSNjHf3e3+Cr/8kxFgrztqUG5913c+Bu7Vsb8nKZG 2oqixAzAXJICiOcyLz/9YpwlwzcRYmNBEnkMj6Bt29y4Yd659luGRMCkhj6I9bd/Ucpe3eeNBvO L9Cm/J93EYlmviuj6Z7Hkt6QYDDxFTv/CclAFpLQpCAGwX9jL6EbfsuRaLPW4yq147zakvjjiFx o= X-Gm-Gg: ASbGncuGUW+6Ji30a98T664WLVRG9mhEle+6Zbl53z5JgwPTN/63CA8qI9dtN/l8yVz Y0M9oiatShc0c0wtmyRnYHCQftsgAEDddYX4vnWr6IRfG2VkXW8SdkST7fmANmYtk9a73WfU0pO dS0zHLWk+XRp5wjn/BzlciZkEDxijNo8GyPkQkeawBZ64H1o28JFQALbU0O7JSv7+x0L2RVBjUV 3LFBDnVmKEQRJHMvnQs6lVOZPgml/WfmPIFjQprIVRncioHOltsITaHpQH415cs6E8S94VsCLUA VKdMXAFSvfVuLOI1NEqH5II0wmROYlsex7SNVctycm5W6w7qYm45wc5nU+x5ZRO/o3JwV2pG0qY 5x3UUdOegk5Ds5U3lETPm473XoGnl0+sPRp8Ai2w= X-Received: by 2002:a05:6808:190a:b0:437:7578:9c44 with SMTP id 5614622812f47-43b8da70129mr6859043b6e.42.1757996663973; Mon, 15 Sep 2025 21:24:23 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEGqhxtAaJCcfHq9qGuMGRREclxGyfoBHonCPlYamBCdzyNhWFOEKa8eFPm3H6WlSZE0ouPew== X-Received: by 2002:a05:6808:190a:b0:437:7578:9c44 with SMTP id 5614622812f47-43b8da70129mr6859022b6e.42.1757996663365; Mon, 15 Sep 2025 21:24:23 -0700 (PDT) Received: from [192.168.86.59] (104-57-184-186.lightspeed.austtx.sbcglobal.net. [104.57.184.186]) by smtp.gmail.com with ESMTPSA id 5614622812f47-43b82a73075sm2772862b6e.19.2025.09.15.21.24.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 15 Sep 2025 21:24:22 -0700 (PDT) From: Bjorn Andersson Date: Mon, 15 Sep 2025 23:24:17 -0500 Subject: [PATCH v2 3/3] arm64: dts: qcom: qcm6490: Introduce the Particle Tachyon 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: <20250915-tachyon-v2-3-4f8b02a17512@oss.qualcomm.com> References: <20250915-tachyon-v2-0-4f8b02a17512@oss.qualcomm.com> In-Reply-To: <20250915-tachyon-v2-0-4f8b02a17512@oss.qualcomm.com> To: Rob Herring , Krzysztof Kozlowski , Conor Dooley , Bjorn Andersson , Konrad Dybcio Cc: linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Bjorn Andersson X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=22154; i=bjorn.andersson@oss.qualcomm.com; h=from:subject:message-id; bh=x3qQy8HpoT+optWnjlhThI0ThOY6lVKqrGFc/cO34Eo=; b=owEBgwJ8/ZANAwAKAQsfOT8Nma3FAcsmYgBoyOZzUrQjFf6C3HDce48LHQOpmq6pKUkPGWpGV FANnwdmxUaJAkkEAAEKADMWIQQF3gPMXzXqTwlm1SULHzk/DZmtxQUCaMjmcxUcYW5kZXJzc29u QGtlcm5lbC5vcmcACgkQCx85Pw2ZrcVCtRAAor+F+zoYD2Lmqxts+1vQrVXtfqs4EheQZRCnTGV Rkts64mdIA/xwbH2DFSPkTmv6/pNmfb64Nx8l7z/bEMdhDv2z0EirTWBQ1VqiBD7vEs8LWvnFp2 /UyCjpjeQgD4/IsjwIhdrZFBDAF7ELbeCDqZHx5zHr5MF5ximyeFmABX2lP8DcFjZvpxmJyAwOz hm2wOFRxD219vdUje38nVVPLnfyfbdCOIZN/VjWVXwh0bXlnKIeJMxrOL2NTOEblZwJ2uvufyL7 vcv+oPHxL/8FzDdYuFC6g9B8BgzDzlsz3kKMJpdBM9xBH8a7t9uopRpHf/GYyFHvLvHGlOLWfEK 6945813uzyC5KcbrX78+3nVPqJuLBLW9RtU6ELhMyVFpOBbu3yNKtdK8xIBsd024N5ejqhIsnuO 7Tjgfkwvo/ECc2wIeoUsi9UdDq5mWYdr5fZukSaz5c0171Rj4TDCRy9qH+cizcy3q5uiq13RGNp M5p0iftuIDeuMdYpWfE747zjnVqkCFIv+qaqTri81z9z1dCenZvgm7zNDekc0RYeVOHJwxjutIX wH6Grr4HMuwgwapZohKOYb16hzf+/2KhsF85XK0r38lucLeoF5+/WmXoFo0p38Ak/x/j+6pbE1k WtP6aD2pMXY6vVUpCPEhK4x1zl2Njrzfwx+4GuclHv7Y= X-Developer-Key: i=bjorn.andersson@oss.qualcomm.com; a=openpgp; fpr=05DE03CC5F35EA4F0966D5250B1F393F0D99ADC5 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwOTEzMDAyNSBTYWx0ZWRfXxvYAlhaMrgx6 nzD8AC1uY/i1sf+sNS2m56MONEsSq15ia3SvHOMfIlH50rpiDk0oU7EOqqU6lQvud3X0we1XxDA WPPBidRBT9oCGxsNIiSY0LY2dVlmbps69mxz9l6mK7RfiU34GTGLufPUaQuZE66lsOzRURJwU5B zjKqgqXYFNUvLwjZIKPUBdOlkWeKmM6nOqsYpRH6m91fOwQ4JQCGndk7k5enIanc1G7Z/93sAKa Zo6+W5Dw+vlZxnwi6mZmElyTwGe8FqjXefHCL0+ccBG74NM+11gUVpgkpZFu2xd7FEvPGWvmFdM oh8C3FaA5L7H8Uycg5yhSdTEStETNCvhtOopLsCAYMqirnF4li6pcvOM+ltr5A1qDa69fa3qRYX pi29s7pW X-Proofpoint-GUID: cijE0Z03Z83VBgagIHnnU25Bzve9fazt X-Authority-Analysis: v=2.4 cv=WcsMa1hX c=1 sm=1 tr=0 ts=68c8e679 cx=c_pps a=AKZTfHrQPB8q3CcvmcIuDA==:117 a=DaeiM5VmU20ml6RIjrOvYw==:17 a=IkcTkHD0fZMA:10 a=yJojWOMRYYMA:10 a=EUspDBNiAAAA:8 a=6H0WHjuAAAAA:8 a=V4SrPvAJSiTePHaaKYkA:9 a=QEXdDO2ut3YA:10 a=pF_qn-MSjDawc0seGVz6:22 a=Soq9LBFxuPC4vsCAQt-j:22 X-Proofpoint-ORIG-GUID: cijE0Z03Z83VBgagIHnnU25Bzve9fazt X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1117,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-09-16_01,2025-09-12_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 impostorscore=0 adultscore=0 bulkscore=0 spamscore=0 suspectscore=0 phishscore=0 clxscore=1011 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2507300000 definitions=main-2509130025 The Particle Tachyon is a single board computer with 5G connectivity with AI accelerator, based on the Qualcomm QCM6490 platform. Introduce the board, with support for UFS, USB, USB Type-C PD and altmode (DisplayPort), GPU, charger/battery status, PCIe shield, SD-card, and remoteprocs. Signed-off-by: Bjorn Andersson --- arch/arm64/boot/dts/qcom/Makefile | 1 + .../boot/dts/qcom/qcm6490-particle-tachyon.dts | 864 +++++++++++++++++= ++++ 2 files changed, 865 insertions(+) diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/M= akefile index 5b52f9e4e5f31ac5a398d0762337a0a31af1f4dd..76d275991e83c013698dd98b467= d42e74f2c21e6 100644 --- a/arch/arm64/boot/dts/qcom/Makefile +++ b/arch/arm64/boot/dts/qcom/Makefile @@ -116,6 +116,7 @@ dtb-$(CONFIG_ARCH_QCOM) +=3D msm8998-sony-xperia-yoshin= o-poplar.dtb dtb-$(CONFIG_ARCH_QCOM) +=3D msm8998-xiaomi-sagit.dtb dtb-$(CONFIG_ARCH_QCOM) +=3D qcm6490-fairphone-fp5.dtb dtb-$(CONFIG_ARCH_QCOM) +=3D qcm6490-idp.dtb +dtb-$(CONFIG_ARCH_QCOM) +=3D qcm6490-particle-tachyon.dtb dtb-$(CONFIG_ARCH_QCOM) +=3D qcm6490-shift-otter.dtb dtb-$(CONFIG_ARCH_QCOM) +=3D qcs404-evb-1000.dtb dtb-$(CONFIG_ARCH_QCOM) +=3D qcs404-evb-4000.dtb diff --git a/arch/arm64/boot/dts/qcom/qcm6490-particle-tachyon.dts b/arch/a= rm64/boot/dts/qcom/qcm6490-particle-tachyon.dts new file mode 100644 index 0000000000000000000000000000000000000000..251e72f11428774ed6712b9c77e= cb56a6b00a4f7 --- /dev/null +++ b/arch/arm64/boot/dts/qcom/qcm6490-particle-tachyon.dts @@ -0,0 +1,864 @@ +// SPDX-License-Identifier: BSD-3-Clause +/* + * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries. + * Copyright (c) 2023, Luca Weiss + */ + +/dts-v1/; + +#include +#include +#include +#include +#include +#include "sc7280.dtsi" +#include "pm8350c.dtsi" +#include "pmk8350.dtsi" + +/delete-node/ &ipa_fw_mem; +/delete-node/ &rmtfs_mem; +/delete-node/ &xbl_mem; +/delete-node/ &adsp_mem; +/delete-node/ &cdsp_mem; +/delete-node/ &wpss_mem; + +/ { + model =3D "Particle Tachyon"; + compatible =3D "particle,tachyon", "qcom,qcm6490"; + chassis-type =3D "embedded"; + + aliases { + serial0 =3D &uart5; + serial1 =3D &uart12; + serial2 =3D &uart7; + serial3 =3D &uart8; + }; + + chosen { + stdout-path =3D "serial0:115200n8"; + }; + + leds { + compatible =3D "gpio-leds"; + + pinctrl-0 =3D <&activity_led_state>; + pinctrl-names =3D "default"; + + led-activity { + function =3D LED_FUNCTION_ACTIVITY; + color =3D ; + gpios =3D <&tlmm 14 GPIO_ACTIVE_HIGH>; + default-state =3D "on"; + panic-indicator; + }; + }; + + pmic-glink { + compatible =3D "qcom,qcm6490-pmic-glink", "qcom,pmic-glink"; + + #address-cells =3D <1>; + #size-cells =3D <0>; + orientation-gpios =3D <&tlmm 140 GPIO_ACTIVE_HIGH>; + + 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_hs_in: endpoint { + remote-endpoint =3D <&usb_1_dwc3_hs>; + }; + }; + + port@1 { + reg =3D <1>; + + pmic_glink_ss_in: endpoint { + remote-endpoint =3D <&usb_dp_qmpphy_out>; + }; + }; + + port@2 { + reg =3D <2>; + + pmic_glink_sbu_in: endpoint { + remote-endpoint =3D <&usbdp_sbu_mux>; + }; + }; + }; + }; + }; + + vreg_power_5v: regulator-power-5v { + compatible =3D "regulator-fixed"; + regulator-name =3D "power_5v"; + regulator-min-microvolt =3D <5000000>; + regulator-max-microvolt =3D <5000000>; + gpio =3D <&tlmm 13 GPIO_ACTIVE_HIGH>; + enable-active-high; + }; + + vph_pwr: regulator-vph-pwr { + compatible =3D "regulator-fixed"; + regulator-name =3D "vph_pwr"; + regulator-min-microvolt =3D <3700000>; + regulator-max-microvolt =3D <3700000>; + }; + + reserved-memory { + xbl_mem: xbl@80700000 { + reg =3D <0x0 0x80700000 0x0 0x100000>; + no-map; + }; + + tz_stat_mem: tz-stat@c0000000 { + reg =3D <0x0 0xc0000000 0x0 0x100000>; + no-map; + }; + + tags_mem: tags@c0100000 { + reg =3D <0x0 0xc0100000 0x0 0x1200000>; + no-map; + }; + + qtee_mem: qtee@c1300000 { + reg =3D <0x0 0xc1300000 0x0 0x500000>; + no-map; + }; + + trusted_apps_mem: trusted-apps@c1800000 { + reg =3D <0x0 0xc1800000 0x0 0x1c00000>; + no-map; + }; + + debug_vm_mem: debug-vm@d0600000 { + reg =3D <0x0 0xd0600000 0x0 0x100000>; + no-map; + }; + + adsp_mem: adsp@86100000 { + reg =3D <0x0 0x86700000 0x0 0x2800000>; + no-map; + }; + + cdsp_mem: cdsp@88900000 { + reg =3D <0x0 0x88f00000 0x0 0x1e00000>; + no-map; + }; + + wpss_mem: wpss@9ae00000 { + reg =3D <0x0 0x9ae00000 0x0 0x1900000>; + no-map; + }; + + mpss_mem: mpss@8b800000 { + reg =3D <0x0 0x8b800000 0x0 0xf600000>; + no-map; + }; + + ipa_fw_mem: ipa-fw@8b300000 { + reg =3D <0x0 0x8b700000 0x0 0x10000>; + no-map; + }; + + ipa_gsi_mem: ipa-gsi@8b310000 { + reg =3D <0x0 0x8b710000 0x0 0xa000>; + no-map; + }; + + rmtfs_mem: memory@f8500000 { + compatible =3D "qcom,rmtfs-mem"; + reg =3D <0x0 0xf8500000 0x0 0x600000>; + no-map; + + qcom,client-id =3D <1>; + qcom,vmid =3D , ; + }; + }; + + + usbdp-sbu-mux { + compatible =3D "pericom,pi3usb102", "gpio-sbu-mux"; + + enable-gpios =3D <&tlmm 108 GPIO_ACTIVE_HIGH>; + select-gpios =3D <&tlmm 42 GPIO_ACTIVE_HIGH>; + + pinctrl-0 =3D <&usbdp_sbu_default>; + pinctrl-names =3D "default"; + + mode-switch; + orientation-switch; + + port { + usbdp_sbu_mux: endpoint { + remote-endpoint =3D <&pmic_glink_sbu_in>; + }; + }; + }; +}; + +&apps_rsc { + regulators-0 { + compatible =3D "qcom,pm7325-rpmh-regulators"; + qcom,pmic-id =3D "b"; + + 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-l1-l4-l12-l15-supply =3D <&vreg_s7b_0p972>; + vdd-l2-l7-supply =3D <&vreg_bob_3p296>; + vdd-l6-l9-l10-supply =3D <&vreg_s8b_1p272>; + vdd-l8-supply =3D <&vreg_s7b_0p972>; + vdd-l11-l17-l18-l19-supply =3D <&vreg_s1b_1p872>; + vdd-l13-supply =3D <&vreg_s7b_0p972>; + vdd-l14-l16-supply =3D <&vreg_s8b_1p272>; + + vreg_s1b_1p872: smps1 { + regulator-name =3D "vreg_s1b_1p872"; + regulator-min-microvolt =3D <1840000>; + regulator-max-microvolt =3D <2040000>; + }; + + vreg_s7b_0p972: smps7 { + regulator-name =3D "vreg_s7b_0p972"; + regulator-min-microvolt =3D <535000>; + regulator-max-microvolt =3D <1120000>; + }; + + vreg_s8b_1p272: smps8 { + regulator-name =3D "vreg_s8b_1p272"; + regulator-min-microvolt =3D <1200000>; + regulator-max-microvolt =3D <1500000>; + regulator-initial-mode =3D ; + }; + + vreg_l1b_0p912: ldo1 { + regulator-name =3D "vreg_l1b_0p912"; + regulator-min-microvolt =3D <825000>; + regulator-max-microvolt =3D <925000>; + regulator-initial-mode =3D ; + }; + + vreg_l2b_3p072: ldo2 { + regulator-name =3D "vreg_l2b_3p072"; + regulator-min-microvolt =3D <2700000>; + regulator-max-microvolt =3D <3544000>; + regulator-initial-mode =3D ; + }; + + vreg_l3b_0p504: ldo3 { + regulator-name =3D "vreg_l3b_0p504"; + regulator-min-microvolt =3D <312000>; + regulator-max-microvolt =3D <910000>; + regulator-initial-mode =3D ; + }; + + vreg_l6b_1p2: ldo6 { + regulator-name =3D "vreg_l6b_1p2"; + regulator-min-microvolt =3D <1140000>; + regulator-max-microvolt =3D <1260000>; + regulator-initial-mode =3D ; + }; + + vreg_l7b_2p952: ldo7 { + regulator-name =3D "vreg_l7b_2p952"; + regulator-min-microvolt =3D <2952000>; + regulator-max-microvolt =3D <2952000>; + regulator-initial-mode =3D ; + }; + + vreg_l8b_0p904: ldo8 { + regulator-name =3D "vreg_l8b_0p904"; + regulator-min-microvolt =3D <870000>; + regulator-max-microvolt =3D <970000>; + regulator-initial-mode =3D ; + }; + + vreg_l9b_1p2: ldo9 { + regulator-name =3D "vreg_l9b_1p2"; + regulator-min-microvolt =3D <1200000>; + regulator-max-microvolt =3D <1200000>; + regulator-initial-mode =3D ; + regulator-allow-set-load; + regulator-allowed-modes =3D ; + }; + + vreg_l11b_1p504: ldo11 { + regulator-name =3D "vreg_l11b_1p504"; + regulator-min-microvolt =3D <1504000>; + regulator-max-microvolt =3D <2000000>; + regulator-initial-mode =3D ; + }; + + vreg_l12b_0p751: ldo12 { + regulator-name =3D "vreg_l12b_0p751"; + regulator-min-microvolt =3D <751000>; + regulator-max-microvolt =3D <824000>; + regulator-initial-mode =3D ; + }; + + vreg_l13b_0p53: ldo13 { + regulator-name =3D "vreg_l13b_0p53"; + regulator-min-microvolt =3D <530000>; + regulator-max-microvolt =3D <824000>; + regulator-initial-mode =3D ; + }; + + vreg_l14b_1p08: ldo14 { + regulator-name =3D "vreg_l14b_1p08"; + regulator-min-microvolt =3D <1080000>; + regulator-max-microvolt =3D <1304000>; + regulator-initial-mode =3D ; + }; + + vreg_l15b_0p765: ldo15 { + regulator-name =3D "vreg_l15b_0p765"; + regulator-min-microvolt =3D <765000>; + regulator-max-microvolt =3D <1020000>; + regulator-initial-mode =3D ; + }; + + vreg_l16b_1p1: ldo16 { + regulator-name =3D "vreg_l16b_1p1"; + regulator-min-microvolt =3D <1100000>; + regulator-max-microvolt =3D <1300000>; + regulator-initial-mode =3D ; + }; + + vreg_l17b_1p7: ldo17 { + regulator-name =3D "vreg_l17b_1p7"; + regulator-min-microvolt =3D <1700000>; + regulator-max-microvolt =3D <1900000>; + regulator-initial-mode =3D ; + }; + + vreg_l18b_1p8: ldo18 { + regulator-name =3D "vreg_l18b_1p8"; + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <2000000>; + regulator-initial-mode =3D ; + }; + + vreg_l19b_1p8: ldo19 { + regulator-name =3D "vreg_l19b_1p8"; + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <2000000>; + regulator-initial-mode =3D ; + }; + }; + + regulators-1 { + compatible =3D "qcom,pm8350c-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>; + 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-l1-l12-supply =3D <&vreg_s1b_1p872>; + vdd-l2-l8-supply =3D <&vreg_s1b_1p872>; + vdd-l3-l4-l5-l7-l13-supply =3D <&vreg_bob_3p296>; + vdd-l6-l9-l11-supply =3D <&vreg_bob_3p296>; + vdd-l10-supply =3D <&vreg_s7b_0p972>; + vdd-bob-supply =3D <&vph_pwr>; + + vreg_s1c_2p19: smps1 { + regulator-name =3D "vreg_s1c_2p19"; + regulator-min-microvolt =3D <2190000>; + regulator-max-microvolt =3D <2210000>; + }; + + vreg_s9c_1p084: smps9 { + regulator-name =3D "vreg_s9c_1p084"; + regulator-min-microvolt =3D <1084000>; + regulator-max-microvolt =3D <1170000>; + }; + + vreg_l1c_1p8: ldo1 { + regulator-name =3D "vreg_l1c_1p8"; + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <1980000>; + regulator-initial-mode =3D ; + }; + + vreg_l2c_1p62: ldo2 { + regulator-name =3D "vreg_l2c_1p62"; + regulator-min-microvolt =3D <1620000>; + regulator-max-microvolt =3D <1980000>; + regulator-initial-mode =3D ; + }; + + vreg_l3c_2p8: ldo3 { + regulator-name =3D "vreg_l3c_2p8"; + regulator-min-microvolt =3D <2800000>; + regulator-max-microvolt =3D <3540000>; + regulator-initial-mode =3D ; + }; + + vreg_l4c_1p62: ldo4 { + regulator-name =3D "vreg_l4c_1p62"; + regulator-min-microvolt =3D <1620000>; + regulator-max-microvolt =3D <3300000>; + regulator-initial-mode =3D ; + }; + + vreg_l5c_1p62: ldo5 { + regulator-name =3D "vreg_l5c_1p62"; + regulator-min-microvolt =3D <1620000>; + regulator-max-microvolt =3D <3300000>; + regulator-initial-mode =3D ; + }; + + vreg_l6c_2p96: ldo6 { + regulator-name =3D "vreg_l6c_2p96"; + regulator-min-microvolt =3D <1650000>; + regulator-max-microvolt =3D <3544000>; + regulator-initial-mode =3D ; + }; + + vreg_l7c_3p0: ldo7 { + regulator-name =3D "vreg_l7c_3p0"; + regulator-min-microvolt =3D <3000000>; + regulator-max-microvolt =3D <3544000>; + regulator-initial-mode =3D ; + }; + + vreg_l8c_1p62: ldo8 { + regulator-name =3D "vreg_l8c_1p62"; + regulator-min-microvolt =3D <1620000>; + regulator-max-microvolt =3D <2000000>; + regulator-initial-mode =3D ; + }; + + vreg_l9c_2p96: ldo9 { + regulator-name =3D "vreg_l9c_2p96"; + regulator-min-microvolt =3D <2960000>; + regulator-max-microvolt =3D <3544000>; + regulator-initial-mode =3D ; + }; + + vreg_l10c_0p88: ldo10 { + regulator-name =3D "vreg_l10c_0p88"; + regulator-min-microvolt =3D <720000>; + regulator-max-microvolt =3D <1050000>; + regulator-initial-mode =3D ; + }; + + vreg_l11c_2p8: ldo11 { + regulator-name =3D "vreg_l11c_2p8"; + regulator-min-microvolt =3D <2800000>; + regulator-max-microvolt =3D <3544000>; + regulator-initial-mode =3D ; + }; + + vreg_l12c_1p65: ldo12 { + regulator-name =3D "vreg_l12c_1p65"; + regulator-min-microvolt =3D <1650000>; + regulator-max-microvolt =3D <2000000>; + regulator-initial-mode =3D ; + }; + + vreg_l13c_2p7: ldo13 { + regulator-name =3D "vreg_l13c_2p7"; + regulator-min-microvolt =3D <2700000>; + regulator-max-microvolt =3D <3544000>; + regulator-initial-mode =3D ; + }; + + vreg_bob_3p296: bob { + regulator-name =3D "vreg_bob_3p296"; + regulator-min-microvolt =3D <3008000>; + regulator-max-microvolt =3D <3960000>; + }; + }; +}; + +&i2c1 { + clock-frequency =3D <100000>; + + status =3D "okay"; +}; + +&ipa { + firmware-name =3D "qcom/qcm6490/particle/tachyon/ipa_fws.mbn"; + qcom,gsi-loader =3D "self"; + memory-region =3D <&ipa_fw_mem>; + + status =3D "okay"; +}; + +&gcc { + protected-clocks =3D , + , + , + , + , + , + , + , + , + , + , + , + , + ; +}; + +&gpu { + status =3D "okay"; +}; + +&gpu_zap_shader { + firmware-name =3D "qcom/qcm6490/particle/tachyon/a660_zap.mbn"; +}; + +&mdss { + status =3D "okay"; +}; + +&mdss_dp { + status =3D "okay"; +}; + +&mdss_dp_out { + data-lanes =3D <0 1>; +}; + +&pcie0 { + perst-gpios =3D <&tlmm 87 GPIO_ACTIVE_LOW>; + wake-gpios =3D <&tlmm 89 GPIO_ACTIVE_HIGH>; + + pinctrl-0 =3D <&pcie0_reset_n>, <&pcie0_wake_n>, <&pcie0_clkreq_n>; + pinctrl-names =3D "default"; + + status =3D "okay"; +}; + +&pcie0_phy { + vdda-phy-supply =3D <&vreg_l10c_0p88>; + vdda-pll-supply =3D <&vreg_l6b_1p2>; + + status =3D "okay"; +}; + +&pcie1 { + perst-gpios =3D <&tlmm 2 GPIO_ACTIVE_LOW>; + + pinctrl-0 =3D <&pcie1_reset_n>, <&pcie1_wake_n>, <&pcie1_clkreq_n>; + pinctrl-names =3D "default"; + + vddpe-3v3-supply =3D <&vreg_power_5v>; + + status =3D "okay"; +}; + +&pcie1_phy { + vdda-phy-supply =3D <&vreg_l10c_0p88>; + vdda-pll-supply =3D <&vreg_l6b_1p2>; + + status =3D "okay"; +}; + +&pmk8350_adc_tm { + status =3D "okay"; + + xo-therm@0 { + reg =3D <0>; + io-channels =3D <&pmk8350_vadc PMK8350_ADC7_AMUX_THM1_100K_PU>; + qcom,ratiometric; + qcom,hw-settle-time-us =3D <200>; + }; +}; + +&pmk8350_rtc { + status =3D "okay"; +}; + +&pmk8350_vadc { + status =3D "okay"; + + channel@44 { + reg =3D ; + qcom,ratiometric; + qcom,hw-settle-time =3D <200>; + qcom,pre-scaling =3D <1 1>; + label =3D "pmk8350_xo_therm"; + }; +}; + +&pon_pwrkey { + status =3D "okay"; +}; + +&qupv3_id_0 { + status =3D "okay"; +}; + +&qupv3_id_1 { + status =3D "okay"; +}; + +&remoteproc_adsp { + firmware-name =3D "qcom/qcm6490/particle/tachyon/adsp.mbn"; + status =3D "okay"; +}; + +&remoteproc_cdsp { + firmware-name =3D "qcom/qcm6490/particle/tachyon/cdsp.mbn"; + status =3D "okay"; +}; + +&remoteproc_mpss { + firmware-name =3D "qcom/qcm6490/particle/tachyon/modem.mbn"; + status =3D "okay"; +}; + +&sdc2_clk { + bias-disable; + drive-strength =3D <16>; +}; + +&sdc2_cmd { + bias-pull-up; + drive-strength =3D <10>; +}; + +&sdc2_data { + bias-pull-up; + drive-strength =3D <10>; +}; + +&sdhc_2 { + vmmc-supply =3D <&vreg_l9c_2p96>; + vqmmc-supply =3D <&vreg_l6c_2p96>; + + cd-gpios =3D <&tlmm 91 GPIO_ACTIVE_LOW>; + + status =3D "okay"; +}; + +&tlmm { + activity_led_state: activity-led-state { + pins =3D "gpio14"; + function =3D "gpio"; + bias-disable; + }; + + bt_en_state: bt-default-state { + pins =3D "gpio84"; + function =3D "gpio"; + drive-strength =3D <16>; + output-low; + bias-pull-up; + }; + + pcie0_reset_n: pcie0-reset-n-state { + pins =3D "gpio87"; + function =3D "gpio"; + drive-strength =3D <16>; + output-low; + bias-disable; + }; + + pcie0_wake_n: pcie0-wake-n-state { + pins =3D "gpio89"; + function =3D "gpio"; + drive-strength =3D <2>; + bias-pull-up; + }; + + pcie1_reset_n: pcie1-reset-n-state { + pins =3D "gpio2"; + function =3D "gpio"; + drive-strength =3D <16>; + output-low; + bias-disable; + }; + + pcie1_wake_n: pcie1-wake-n-state { + pins =3D "gpio3"; + function =3D "gpio"; + drive-strength =3D <2>; + bias-pull-up; + }; + + qup_uart7_sleep_cts: qup-uart7-sleep-cts-state { + pins =3D "gpio28"; + function =3D "gpio"; + /* + * Configure a bias-bus-hold on CTS to lower power + * usage when Bluetooth is turned off. Bus hold will + * maintain a low power state regardless of whether + * the Bluetooth module drives the pin in either + * direction or leaves the pin fully unpowered. + */ + bias-bus-hold; + }; + + qup_uart7_sleep_rts: qup-uart7-sleep-rts-state { + pins =3D "gpio29"; + function =3D "gpio"; + /* + * Configure pull-down on RTS. As RTS is active low + * signal, pull it low to indicate the BT SoC that it + * can wakeup the system anytime from suspend state by + * pulling RX low (by sending wakeup bytes). + */ + bias-pull-down; + }; + + qup_uart7_sleep_tx: qup-uart7-sleep-tx-state { + pins =3D "gpio30"; + function =3D "gpio"; + /* + * Configure pull-up on TX when it isn't actively driven + * to prevent BT SoC from receiving garbage during sleep. + */ + bias-pull-up; + }; + + qup_uart7_sleep_rx: qup-uart7-sleep-rx-state { + pins =3D "gpio31"; + function =3D "gpio"; + /* + * Configure a pull-up on RX. This is needed to avoid + * garbage data when the TX pin of the Bluetooth module + * is floating which may cause spurious wakeups. + */ + bias-pull-up; + }; + + usbdp_sbu_default: usbdp-sbu-state { + oe-n-pins { + pins =3D "gpio108"; + function =3D "gpio"; + bias-disable; + drive-strength =3D <16>; + output-high; + }; + + sel-pins { + pins =3D "gpio42"; + function =3D "gpio"; + bias-disable; + drive-strength =3D <16>; + }; + }; + + wlan_en_state: wlan-default-state { + pins =3D "gpio85"; + function =3D "gpio"; + drive-strength =3D <16>; + output-low; + bias-pull-up; + }; +}; + +&uart5 { + status =3D "okay"; +}; + +&uart7 { + /delete-property/ interrupts; + interrupts-extended =3D <&intc GIC_SPI 608 IRQ_TYPE_LEVEL_HIGH>, + <&tlmm 31 IRQ_TYPE_EDGE_FALLING>; + + pinctrl-1 =3D <&qup_uart7_sleep_cts>, + <&qup_uart7_sleep_rts>, + <&qup_uart7_sleep_tx>, + <&qup_uart7_sleep_rx>; + pinctrl-names =3D "default", "sleep"; + + status =3D "okay"; +}; + +&uart8 { + status =3D "okay"; +}; + +&uart12 { + status =3D "okay"; +}; + +&ufs_mem_hc { + reset-gpios =3D <&tlmm 175 GPIO_ACTIVE_LOW>; + vcc-supply =3D <&vreg_l7b_2p952>; + vcc-max-microamp =3D <800000>; + vccq-supply =3D <&vreg_l9b_1p2>; + vccq-max-microamp =3D <900000>; + vccq2-supply =3D <&vreg_l9b_1p2>; + vccq2-max-microamp =3D <900000>; + + status =3D "okay"; +}; + +&ufs_mem_phy { + vdda-phy-supply =3D <&vreg_l10c_0p88>; + vdda-pll-supply =3D <&vreg_l6b_1p2>; + + status =3D "okay"; +}; + +&usb_1 { + dr_mode =3D "otg"; + usb-role-switch; + + status =3D "okay"; +}; + +&usb_1_dwc3_hs { + remote-endpoint =3D <&pmic_glink_hs_in>; +}; + +&usb_1_hsphy { + vdda-pll-supply =3D <&vreg_l10c_0p88>; + vdda33-supply =3D <&vreg_l2b_3p072>; + vdda18-supply =3D <&vreg_l1c_1p8>; + + status =3D "okay"; +}; + +&usb_1_qmpphy { + vdda-phy-supply =3D <&vreg_l6b_1p2>; + vdda-pll-supply =3D <&vreg_l1b_0p912>; + + status =3D "okay"; +}; + +&usb_2 { + dr_mode =3D "host"; + + status =3D "okay"; +}; + +&usb_2_hsphy { + vdda-pll-supply =3D <&vreg_l10c_0p88>; + vdda18-supply =3D <&vreg_l1c_1p8>; + vdda33-supply =3D <&vreg_l2b_3p072>; + + status =3D "okay"; +}; + +&usb_dp_qmpphy_out { + remote-endpoint =3D <&pmic_glink_ss_in>; +}; --=20 2.51.0