From nobody Tue Sep 29 09:09:42 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 DC8E83BA244 for ; Mon, 10 Aug 2026 11:08:17 +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=1786360102; cv=none; b=oiJAv57Ih693yoBQm4RP67dfvnQkCvP2eVYJO7SK8kDifsWrK0317eNipfXUXdf0ZzmgNKhZy7sroQgEkdC7djvVZzCp6odtfWcQXEfRiz/S2S60TkSzczM6h0CGnIGIaDOP31KFhb0lCkRDKA7hRL7eAxu8pBs4PDrOakbSEOQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786360102; c=relaxed/simple; bh=z4+IBj8tVu7516ZDuOoQNn02C6vNB1oQwFshmevHOQU=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=MK2x9CWRw9MmB72oOnjf175kHxgaI+Mc6oJmdOza/ULynWk8FBpbMqtgrz7dF0MHOCsC6UYyY19nhXaiOiaQ9O+sCyqCCfETj77t8768x5ltmKHNabJG3F6pWztgy4qIHZdYoYgFNWfcoq2XF39qGuJSCclEihXiQf4cVp466OQ= 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=joNlgBjp; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=Ytuvu4X9; 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="joNlgBjp"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="Ytuvu4X9" Received: from pps.filterd (m0279867.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 67A9SKJA2341876 for ; Mon, 10 Aug 2026 11:08:17 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=qcppdkim1; bh=dEiPe5VvFmU apOmQg3JabqmsBy5aifpVP8z53jajb0s=; b=joNlgBjpzAEwR2XvYQW3kYonWbh 9XX1k3vyWk8lnBWdATcBpoJJcrzJ+qSVcpn5F2MOtY4mUbbrxFqnybIjfsf1bZ3V Y4mBl+YDEh+lClNfgNNdWtn5HaIs+0UD8CWNnELqyjYS7gbZOqrqmDjvucSeCYRb /855vprc4/BxYnjnuX7QUXbos4TLCUdrus4b+L0pVHrU/Ae7yNRmIBg1uKXe5wRm T1Il/8Q7jo5gzBApoceA5SeReZZ1UxIGE0cq/Uwueu5p63TFPZTGTomvrxkYHdLD XvYGPw1siJn/V5nNINucG/gGw/ue7UiNGS0mrTJm+jAlsc+As8cwW7PEvGg== Received: from mail-pj1-f72.google.com (mail-pj1-f72.google.com [209.85.216.72]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4fy19kj5vt-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Mon, 10 Aug 2026 11:08:16 +0000 (GMT) Received: by mail-pj1-f72.google.com with SMTP id 98e67ed59e1d1-3811279d51aso3568070a91.1 for ; Mon, 10 Aug 2026 04:08:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1786360096; x=1786964896; 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:content-type; bh=dEiPe5VvFmUapOmQg3JabqmsBy5aifpVP8z53jajb0s=; b=Ytuvu4X9HG2RvuulUx/FB/YBFgQEGs70CZipvCTIvBMKuf08JKcadZI+noEnuC6GNh eDjBUww1uRT0WvHIr7mKfjfS3+VPmVM0lhUCnpsK6UXD7aNN6miXGO5NtcsHsAZc4owA M9+NQ0hYh4nLccxNjgvbtQdMp9wgf4KvriXIr3n2DLqpQrkoFqiQUnoFgaOHKNf+4PaT V2CsckjgGrChrSDOrXU0P1WP+nfe/30yFADXv0Bjx0rnWSAQY7p4ZbvjXfdDM5pU7hoo KtDl9ZGCnG0gzjILkSJYOQY4ERl0UUniIDfKACVgokKjeAh7WP4/TV8ObBpIDQVWu/OV kwrw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1786360096; x=1786964896; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=dEiPe5VvFmUapOmQg3JabqmsBy5aifpVP8z53jajb0s=; b=TF8Lkax8sPpkxRdbzV2w9AhO27C8JKAKVCxQy34BJr3gr5UgqwKzIkxfjEGQKDrm88 u+ggqiD6FMk7c8U4zZSXvo0djKmfJsBY9X97P1ZRieSDuLAEgJelvsN0RYe4aA1wwzBd ZtMr9oF4i7+2roHdnRdJYQia1gdotUMn8c1amIqmM+NY5eZX57Fc9b8VLk2oSZky9Esi NZu1shJ9L+88aaBHxswWyEYVuVA7pFrwcXg8APTVP/or4IRj0CbAOJ1M65bnnD8QWzDN S6jvGjzLTkcCB/jcP7o/Ob9lDPrn5SBT4p6KZa33EA1C6p8dYDpv7QQDROu1zjdziGgu wprw== X-Forwarded-Encrypted: i=1; AHgh+RrXMxn0wiEQXVQ5jSiK0M0y9Gpium7IXHdTqW1xzuyRyEZN8CRtwNQp38XNUZBnFqMdYQNfFnDnthrW/nE=@vger.kernel.org X-Gm-Message-State: AOJu0Yy8ySl0Bhg5+aaFdIxHnDdpnBFJ1YM4ucDE2JfHBHhZvXfXQVQb hA9kYvnqlYXRGROWGTmYsNdJF2f5TJkM7IZ9hFsP9z6pPtGdRoMdxr1w2zQrHJ7Zwb1zT0uaIbL F3WthWDKGD08/Ixric3jLFgv+HcSRq9ULu8Agu6/LL1pwToGdvhU5KU4XoVPCBep+qhY= X-Gm-Gg: AR+sD13OrvG/m4DjjS9ARCN7Lrh2zhYU2647U76GnGIDlE4huq2gN20hstdz7Fd2DMf kMK46zw4fNOAMel6icuPTZJOmEhNqLQDhvR3u5+qMd1koMe1ZVdvKsJQk7l/pF0o9JzVBa2dwF/ 7UGHfiDu+PRoBqamOQoDtlC9rL62t+3436tSbinxZz6KCMpZ8+rTIplXyFV6WlnYVXlfOpaXL4D 2sAytEEQWXHzL3BHIu7WRUyKsalJHmzRG4rJb67xXqZCEywfMM5JwxGPeqZKRZ5KEkzkTgDwYkz En80CSatiujBiJzx1ukJAlYmG6+bzXIlBKBqTp+58bponLDBuN6whQtK7kMy+Ij+aAJehm4CSNT 4lroxpqZ7+Sm3ZicTpUhEG58ZN68CkDTbKmMPl0AGNGlXeq+hgeLGLnaZKaBK X-Received: by 2002:a05:6a20:7290:b0:3c3:becb:b705 with SMTP id adf61e73a8af0-3cbc0431ddcmr23683924637.27.1786360095038; Mon, 10 Aug 2026 04:08:15 -0700 (PDT) X-Received: by 2002:a05:6a20:7290:b0:3c3:becb:b705 with SMTP id adf61e73a8af0-3cbc0431ddcmr23682969637.27.1786360088710; Mon, 10 Aug 2026 04:08:08 -0700 (PDT) Received: from QCOM-aGQu4IUr3Y.qualcomm.com (i-global052.qualcomm.com. [199.106.103.52]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-315bebde353sm46520198eec.23.2026.08.10.04.08.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 10 Aug 2026 04:08:08 -0700 (PDT) From: Shawn Guo To: Bjorn Andersson Cc: Konrad Dybcio , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Bartosz Golaszewski , Deepti Jaggi , Mukesh Savaliya , Yadu M G , Kuldeep Singh , devicetree@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, Shawn Guo , Bartosz Golaszewski , Konrad Dybcio Subject: [PATCH v10 1/6] arm64: dts: qcom: Add device tree for Nord SoC series Date: Mon, 10 Aug 2026 19:07:20 +0800 Message-ID: <20260810110726.775084-2-shengchao.guo@oss.qualcomm.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260810110726.775084-1-shengchao.guo@oss.qualcomm.com> References: <20260810110726.775084-1-shengchao.guo@oss.qualcomm.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 X-Proofpoint-ORIG-GUID: nVg7H_9MEk0x7SL2ilBm5GW5qOTi9REE X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODEwMDA5NyBTYWx0ZWRfX62GP5Kixxg9Q Td5ka7ujegUwoohy2MDIIpZzb8we/DjKOfHAbWkR6iD7IW58MWkb4zn+u9deq4POrgOMLMixr5p 47XOPWTqptxEFdUwM87rfXb30cogNec4RAi0Ncdo4ugdCSR/XLIUXpVmSEGt2BEzyxu8QID26JB XS+4BIwabgnsvgkFBi01N+REOHYw+K6yXgc0FxcO6pBHSO2xWNm8FEhu2FpZokSrkJ/0zKv3AAW 3qYdn8PXGweegBS9QzPxvdDVTVqfNHjtqUPlyw62kxbuJckYo2EG/ZhTJy2e7GSgLz+nRsWb/rh wokRfVZhBhu4iQSR9iNysTY9cQCV295/Xrcw4MmKLi9GXfrceWyheM6CV/UcSbH64MJSxT7wkiU moGqSAMR8aXWRIYrnc88ony3N7mBQIzO7Q83jfNfxiM25us0Y2M9C1F/q8Qh2tHUkXKfUB5s75B /aUlTpa5LCXb5Q1ESsg== X-Proofpoint-Spam-Info: AW1haW4tMjYwODEwMDA5NyBTYWx0ZWRfX049F7KterblC Js5Aw0cQmGC94OeVbTVP67UBfNpBACNZ/oBL8Xh5rz6GYiREKkJsGRWiOjJGgbx2epDyROD2L1d FNlwZBnWetcc594i5qKpOg6a2+HkpOs= X-Proofpoint-GUID: nVg7H_9MEk0x7SL2ilBm5GW5qOTi9REE X-Authority-Analysis: v=2.4 cv=abxRWxot c=1 sm=1 tr=0 ts=6a79b121 cx=c_pps a=RP+M6JBNLl+fLTcSJhASfg==:117 a=b9+bayejhc3NMeqCNyeLQQ==:17 a=Sv0fKeRqtYgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=eoimf2acIAo5FJnRuUoq:22 a=EUspDBNiAAAA:8 a=8CEx8uHD1C-9Ad5L0JgA:9 a=iS9zxrgQBfv6-_F4QbHw:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-08-10_02,2026-08-07_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 lowpriorityscore=0 malwarescore=0 suspectscore=0 impostorscore=0 priorityscore=1501 spamscore=0 phishscore=0 clxscore=1015 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608100097 Content-Type: text/plain; charset="utf-8" Add base device tree include (nord.dtsi) for the Nord SoC series describing the core hardware components: - 18 Oryon (qcom,oryon-1-5) cores in three clusters, with PSCI-based power management and CPU/cluster idle states - ARM GICv3 interrupt controller with ITS - TLMM GPIO/pinctrl controller - 8 TSENS thermal sensors with thermal zones - 3 APPS SMMU-500 instances - 3 QUPv3 GENI SE QUP blocks - PDP SCMI channel and mailbox - Watchdog, Crypto, TRNG and TCSR - Reserved memory, CMD-DB and firmware SCM - PSCI and architected timers Co-developed-by: Deepti Jaggi Signed-off-by: Deepti Jaggi Co-developed-by: Bartosz Golaszewski Signed-off-by: Bartosz Golaszewski Reviewed-by: Konrad Dybcio Signed-off-by: Shawn Guo --- arch/arm64/boot/dts/qcom/nord.dtsi | 4623 ++++++++++++++++++++++++++++ 1 file changed, 4623 insertions(+) create mode 100644 arch/arm64/boot/dts/qcom/nord.dtsi diff --git a/arch/arm64/boot/dts/qcom/nord.dtsi b/arch/arm64/boot/dts/qcom/= nord.dtsi new file mode 100644 index 000000000000..6373d2e65f24 --- /dev/null +++ b/arch/arm64/boot/dts/qcom/nord.dtsi @@ -0,0 +1,4623 @@ +// SPDX-License-Identifier: BSD-3-Clause +/* + * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries. + */ + +#include + +/ { + interrupt-parent =3D <&intc>; + #address-cells =3D <2>; + #size-cells =3D <2>; + + cpus { + #address-cells =3D <2>; + #size-cells =3D <0>; + + cpu0: cpu@0 { + device_type =3D "cpu"; + compatible =3D "qcom,oryon-1-5"; + reg =3D <0x0 0x0>; + enable-method =3D "psci"; + power-domains =3D <&cpu0_pd>; + power-domain-names =3D "psci"; + next-level-cache =3D <&l2_0>; + clocks =3D <&cpu_perf 0>; + #cooling-cells =3D <2>; + + l2_0: l2-cache { + compatible =3D "cache"; + cache-level =3D <2>; + cache-unified; + }; + }; + + cpu1: cpu@100 { + device_type =3D "cpu"; + compatible =3D "qcom,oryon-1-5"; + reg =3D <0x0 0x100>; + enable-method =3D "psci"; + power-domains =3D <&cpu1_pd>; + power-domain-names =3D "psci"; + next-level-cache =3D <&l2_0>; + clocks =3D <&cpu_perf 0>; + #cooling-cells =3D <2>; + }; + + cpu2: cpu@200 { + device_type =3D "cpu"; + compatible =3D "qcom,oryon-1-5"; + reg =3D <0x0 0x200>; + enable-method =3D "psci"; + power-domains =3D <&cpu2_pd>; + power-domain-names =3D "psci"; + next-level-cache =3D <&l2_0>; + clocks =3D <&cpu_perf 0>; + #cooling-cells =3D <2>; + }; + + cpu3: cpu@300 { + device_type =3D "cpu"; + compatible =3D "qcom,oryon-1-5"; + reg =3D <0x0 0x300>; + enable-method =3D "psci"; + power-domains =3D <&cpu3_pd>; + power-domain-names =3D "psci"; + next-level-cache =3D <&l2_0>; + clocks =3D <&cpu_perf 0>; + #cooling-cells =3D <2>; + }; + + cpu4: cpu@400 { + device_type =3D "cpu"; + compatible =3D "qcom,oryon-1-5"; + reg =3D <0x0 0x400>; + enable-method =3D "psci"; + power-domains =3D <&cpu4_pd>; + power-domain-names =3D "psci"; + next-level-cache =3D <&l2_0>; + clocks =3D <&cpu_perf 0>; + #cooling-cells =3D <2>; + }; + + cpu5: cpu@500 { + device_type =3D "cpu"; + compatible =3D "qcom,oryon-1-5"; + reg =3D <0x0 0x500>; + enable-method =3D "psci"; + power-domains =3D <&cpu5_pd>; + power-domain-names =3D "psci"; + next-level-cache =3D <&l2_0>; + clocks =3D <&cpu_perf 0>; + #cooling-cells =3D <2>; + }; + + cpu6: cpu@10000 { + device_type =3D "cpu"; + compatible =3D "qcom,oryon-1-5"; + reg =3D <0x0 0x10000>; + power-domains =3D <&cpu6_pd>; + power-domain-names =3D "psci"; + enable-method =3D "psci"; + next-level-cache =3D <&l2_10000>; + clocks =3D <&cpu_perf 1>; + #cooling-cells =3D <2>; + + l2_10000: l2-cache { + compatible =3D "cache"; + cache-level =3D <2>; + cache-unified; + }; + }; + + cpu7: cpu@10100 { + device_type =3D "cpu"; + compatible =3D "qcom,oryon-1-5"; + reg =3D <0x0 0x10100>; + enable-method =3D "psci"; + power-domains =3D <&cpu7_pd>; + power-domain-names =3D "psci"; + next-level-cache =3D <&l2_10000>; + clocks =3D <&cpu_perf 1>; + #cooling-cells =3D <2>; + }; + + cpu8: cpu@10200 { + device_type =3D "cpu"; + compatible =3D "qcom,oryon-1-5"; + reg =3D <0x0 0x10200>; + enable-method =3D "psci"; + power-domains =3D <&cpu8_pd>; + power-domain-names =3D "psci"; + next-level-cache =3D <&l2_10000>; + clocks =3D <&cpu_perf 1>; + #cooling-cells =3D <2>; + }; + + cpu9: cpu@10300 { + device_type =3D "cpu"; + compatible =3D "qcom,oryon-1-5"; + reg =3D <0x0 0x10300>; + enable-method =3D "psci"; + power-domains =3D <&cpu9_pd>; + power-domain-names =3D "psci"; + next-level-cache =3D <&l2_10000>; + clocks =3D <&cpu_perf 1>; + #cooling-cells =3D <2>; + }; + + cpu10: cpu@10400 { + device_type =3D "cpu"; + compatible =3D "qcom,oryon-1-5"; + reg =3D <0x0 0x10400>; + enable-method =3D "psci"; + power-domains =3D <&cpu10_pd>; + power-domain-names =3D "psci"; + next-level-cache =3D <&l2_10000>; + clocks =3D <&cpu_perf 1>; + #cooling-cells =3D <2>; + }; + + cpu11: cpu@10500 { + device_type =3D "cpu"; + compatible =3D "qcom,oryon-1-5"; + reg =3D <0x0 0x10500>; + enable-method =3D "psci"; + power-domains =3D <&cpu11_pd>; + power-domain-names =3D "psci"; + next-level-cache =3D <&l2_10000>; + clocks =3D <&cpu_perf 1>; + #cooling-cells =3D <2>; + }; + + cpu12: cpu@20000 { + device_type =3D "cpu"; + compatible =3D "qcom,oryon-1-5"; + reg =3D <0x0 0x20000>; + enable-method =3D "psci"; + power-domains =3D <&cpu12_pd>; + power-domain-names =3D "psci"; + next-level-cache =3D <&l2_20000>; + clocks =3D <&cpu_perf 2>; + #cooling-cells =3D <2>; + + l2_20000: l2-cache { + compatible =3D "cache"; + cache-level =3D <2>; + cache-unified; + }; + }; + + cpu13: cpu@20100 { + device_type =3D "cpu"; + compatible =3D "qcom,oryon-1-5"; + reg =3D <0x0 0x20100>; + enable-method =3D "psci"; + power-domains =3D <&cpu13_pd>; + power-domain-names =3D "psci"; + next-level-cache =3D <&l2_20000>; + clocks =3D <&cpu_perf 2>; + #cooling-cells =3D <2>; + }; + + cpu14: cpu@20200 { + device_type =3D "cpu"; + compatible =3D "qcom,oryon-1-5"; + reg =3D <0x0 0x20200>; + enable-method =3D "psci"; + power-domains =3D <&cpu14_pd>; + power-domain-names =3D "psci"; + next-level-cache =3D <&l2_20000>; + clocks =3D <&cpu_perf 2>; + #cooling-cells =3D <2>; + }; + + cpu15: cpu@20300 { + device_type =3D "cpu"; + compatible =3D "qcom,oryon-1-5"; + reg =3D <0x0 0x20300>; + enable-method =3D "psci"; + power-domains =3D <&cpu15_pd>; + power-domain-names =3D "psci"; + next-level-cache =3D <&l2_20000>; + clocks =3D <&cpu_perf 2>; + #cooling-cells =3D <2>; + }; + + cpu16: cpu@20400 { + device_type =3D "cpu"; + compatible =3D "qcom,oryon-1-5"; + reg =3D <0x0 0x20400>; + enable-method =3D "psci"; + power-domains =3D <&cpu16_pd>; + power-domain-names =3D "psci"; + next-level-cache =3D <&l2_20000>; + clocks =3D <&cpu_perf 2>; + #cooling-cells =3D <2>; + }; + + cpu17: cpu@20500 { + device_type =3D "cpu"; + compatible =3D "qcom,oryon-1-5"; + reg =3D <0x0 0x20500>; + enable-method =3D "psci"; + power-domains =3D <&cpu17_pd>; + power-domain-names =3D "psci"; + next-level-cache =3D <&l2_20000>; + clocks =3D <&cpu_perf 2>; + #cooling-cells =3D <2>; + }; + + cpu-map { + cluster0 { + core0 { + cpu =3D <&cpu0>; + }; + + core1 { + cpu =3D <&cpu1>; + }; + + core2 { + cpu =3D <&cpu2>; + }; + + core3 { + cpu =3D <&cpu3>; + }; + + core4 { + cpu =3D <&cpu4>; + }; + + core5 { + cpu =3D <&cpu5>; + }; + }; + + cluster1 { + core0 { + cpu =3D <&cpu6>; + }; + + core1 { + cpu =3D <&cpu7>; + }; + + core2 { + cpu =3D <&cpu8>; + }; + + core3 { + cpu =3D <&cpu9>; + }; + + core4 { + cpu =3D <&cpu10>; + }; + + core5 { + cpu =3D <&cpu11>; + }; + }; + + cluster2 { + core0 { + cpu =3D <&cpu12>; + }; + + core1 { + cpu =3D <&cpu13>; + }; + + core2 { + cpu =3D <&cpu14>; + }; + + core3 { + cpu =3D <&cpu15>; + }; + + core4 { + cpu =3D <&cpu16>; + }; + + core5 { + cpu =3D <&cpu17>; + }; + }; + }; + + idle-states { + entry-method =3D "psci"; + + core_off_c4: cluster-c4 { + compatible =3D "arm,idle-state"; + idle-state-name =3D "retention"; + entry-latency-us =3D <93>; + exit-latency-us =3D <129>; + min-residency-us =3D <560>; + arm,psci-suspend-param =3D <0x00000003>; + }; + }; + + domain-idle-states { + cluster_pwr_dn: cluster-sleep-0 { + compatible =3D "domain-idle-state"; + arm,psci-suspend-param =3D <0x01000053>; + entry-latency-us =3D <2150>; + exit-latency-us =3D <1983>; + min-residency-us =3D <9144>; + }; + + domain_ss3: domain-sleep-0 { + compatible =3D "domain-idle-state"; + arm,psci-suspend-param =3D <0x02000153>; + entry-latency-us =3D <2800>; + exit-latency-us =3D <4400>; + min-residency-us =3D <10150>; + }; + }; + }; + + firmware: firmware { + scm { + compatible =3D "qcom,scm-nord", + "qcom,scm"; + qcom,dload-mode =3D <&tcsr 0x79000>; + }; + + pdp_scmi: scmi { + compatible =3D "arm,scmi"; + mboxes =3D <&pdp0_mbox 0>, + <&pdp0_mbox 11>, + <&pdp0_mbox 1>; + mbox-names =3D "tx", + "tx_reply", + "rx"; + shmem =3D <&pdp0_a2p>, + <&pdp0_p2a>; + #address-cells =3D <1>; + #size-cells =3D <0>; + + cpu_perf: protocol@13 { + reg =3D <0x13>; + #clock-cells =3D <1>; + }; + }; + }; + + memory@80000000 { + device_type =3D "memory"; + /* Size will be updated by bootloader */ + reg =3D <0x0 0x80000000 0x0 0x0>; + }; + + psci { + compatible =3D "arm,psci-1.0"; + method =3D "smc"; + + cpu0_pd: power-domain-cpu0 { + #power-domain-cells =3D <0>; + power-domains =3D <&cluster0_pd>; + domain-idle-states =3D <&core_off_c4>; + }; + + cpu1_pd: power-domain-cpu1 { + #power-domain-cells =3D <0>; + power-domains =3D <&cluster0_pd>; + domain-idle-states =3D <&core_off_c4>; + }; + + cpu2_pd: power-domain-cpu2 { + #power-domain-cells =3D <0>; + power-domains =3D <&cluster0_pd>; + domain-idle-states =3D <&core_off_c4>; + }; + + cpu3_pd: power-domain-cpu3 { + #power-domain-cells =3D <0>; + power-domains =3D <&cluster0_pd>; + domain-idle-states =3D <&core_off_c4>; + }; + + cpu4_pd: power-domain-cpu4 { + #power-domain-cells =3D <0>; + power-domains =3D <&cluster0_pd>; + domain-idle-states =3D <&core_off_c4>; + }; + + cpu5_pd: power-domain-cpu5 { + #power-domain-cells =3D <0>; + power-domains =3D <&cluster0_pd>; + domain-idle-states =3D <&core_off_c4>; + }; + + cpu6_pd: power-domain-cpu6 { + #power-domain-cells =3D <0>; + power-domains =3D <&cluster1_pd>; + domain-idle-states =3D <&core_off_c4>; + }; + + cpu7_pd: power-domain-cpu7 { + #power-domain-cells =3D <0>; + power-domains =3D <&cluster1_pd>; + domain-idle-states =3D <&core_off_c4>; + }; + + cpu8_pd: power-domain-cpu8 { + #power-domain-cells =3D <0>; + power-domains =3D <&cluster1_pd>; + domain-idle-states =3D <&core_off_c4>; + }; + + cpu9_pd: power-domain-cpu9 { + #power-domain-cells =3D <0>; + power-domains =3D <&cluster1_pd>; + domain-idle-states =3D <&core_off_c4>; + }; + + cpu10_pd: power-domain-cpu10 { + #power-domain-cells =3D <0>; + power-domains =3D <&cluster1_pd>; + domain-idle-states =3D <&core_off_c4>; + }; + + cpu11_pd: power-domain-cpu11 { + #power-domain-cells =3D <0>; + power-domains =3D <&cluster1_pd>; + domain-idle-states =3D <&core_off_c4>; + }; + + cpu12_pd: power-domain-cpu12 { + #power-domain-cells =3D <0>; + power-domains =3D <&cluster2_pd>; + domain-idle-states =3D <&core_off_c4>; + }; + + cpu13_pd: power-domain-cpu13 { + #power-domain-cells =3D <0>; + power-domains =3D <&cluster2_pd>; + domain-idle-states =3D <&core_off_c4>; + }; + + cpu14_pd: power-domain-cpu14 { + #power-domain-cells =3D <0>; + power-domains =3D <&cluster2_pd>; + domain-idle-states =3D <&core_off_c4>; + }; + + cpu15_pd: power-domain-cpu15 { + #power-domain-cells =3D <0>; + power-domains =3D <&cluster2_pd>; + domain-idle-states =3D <&core_off_c4>; + }; + + cpu16_pd: power-domain-cpu16 { + #power-domain-cells =3D <0>; + power-domains =3D <&cluster2_pd>; + domain-idle-states =3D <&core_off_c4>; + }; + + cpu17_pd: power-domain-cpu17 { + #power-domain-cells =3D <0>; + power-domains =3D <&cluster2_pd>; + domain-idle-states =3D <&core_off_c4>; + }; + + cluster0_pd: power-domain-cluster0 { + #power-domain-cells =3D <0>; + power-domains =3D <&system_pd>; + domain-idle-states =3D <&cluster_pwr_dn>; + }; + + cluster1_pd: power-domain-cluster1 { + #power-domain-cells =3D <0>; + power-domains =3D <&system_pd>; + domain-idle-states =3D <&cluster_pwr_dn>; + }; + + cluster2_pd: power-domain-cluster2 { + #power-domain-cells =3D <0>; + power-domains =3D <&system_pd>; + domain-idle-states =3D <&cluster_pwr_dn>; + }; + + system_pd: power-domain-system { + #power-domain-cells =3D <0>; + domain-idle-states =3D <&domain_ss3>; + }; + }; + + reserved_memory: reserved-memory { + #address-cells =3D <2>; + #size-cells =3D <2>; + ranges; + + cpucp_scandump_mem: cpucp-scandump-region@80000000 { + reg =3D <0x0 0x80000000 0x0 0x800000>; + no-map; + }; + + tme_sail_mem: tme-sail-region@81ff0000 { + reg =3D <0x0 0x81ff0000 0x0 0x10000>; + no-map; + }; + + tz_sail_mailbox_mem: tz-sail-mailbox-region@82000000 { + reg =3D <0x0 0x82000000 0x0 0x8000>; + no-map; + }; + + sail_mailbox_mem: sail-mailbox-region@82008000 { + reg =3D <0x0 0x82008000 0x0 0x1f8000>; + no-map; + }; + + sail_ota_mem: sail-ota-region@82200000 { + reg =3D <0x0 0x82200000 0x0 0x5ff000>; + no-map; + }; + + sail_vdt_mem: sail-vdt-region@827ff000 { + reg =3D <0x0 0x827ff000 0x0 0x1000>; + no-map; + }; + + hyp_mem: hyp-region@82800000 { + reg =3D <0x0 0x82800000 0x0 0x2400000>; + no-map; + }; + + deepsleep_mem: deepsleep-region@84c00000 { + reg =3D <0x0 0x84c00000 0x0 0x800000>; + no-map; + }; + + deepsleep_backup_mem: deepsleep-backup-region@86a00000 { + reg =3D <0x0 0x86a00000 0x0 0x200000>; + no-map; + }; + + soccp_fe_vm_0: soccp-fe-vm-0-region@86c00000 { + reg =3D <0x0 0x86c00000 0x0 0xac000>; + no-map; + }; + + soccp_fe_vm_1: soccp-fe-vm-1-region@86cac000 { + reg =3D <0x0 0x86cac000 0x0 0x18d000>; + no-map; + }; + + soccp_fe_vm_2: soccp-fe-vm-2-region@86e39000 { + reg =3D <0x0 0x86e39000 0x0 0x1c7000>; + no-map; + }; + + tme_crash_dump_mem: tme-crash-dump-region@87000000 { + reg =3D <0x0 0x87000000 0x0 0xa0000>; + no-map; + }; + + tme_log_mem: tme-log-region@87140000 { + reg =3D <0x0 0x87140000 0x0 0x4000>; + no-map; + }; + + aop_cmd_db_p_mem: aop-cmd-db-p-region@87148000 { + compatible =3D "qcom,cmd-db"; + reg =3D <0x0 0x87148000 0x0 0x20000>; + no-map; + }; + + nsp_sync_buffer_mem: nsp-sync-buffer-region@871ff000 { + reg =3D <0x0 0x871ff000 0x0 0x1000>; + no-map; + }; + + ddr_training_checksum_data_mem: ddr-training-checksum-data-region@872000= 00 { + reg =3D <0x0 0x87200000 0x0 0x2000>; + no-map; + }; + + xbl_dtlog_mem: xbl-dtlog-region@87202000 { + reg =3D <0x0 0x87202000 0x0 0x60000>; + no-map; + }; + + xbl_ramdump_mem: xbl-ramdump-region@87262000 { + reg =3D <0x0 0x87262000 0x0 0x1c0000>; + no-map; + }; + + uefi_log: uefi-log@87442000 { + reg =3D <0x0 0x87442000 0x0 0x10000>; + no-map; + }; + + secdata_apss_mem: secdata-apss-region@87452000 { + reg =3D <0x0 0x87452000 0x0 0x1000>; + no-map; + }; + + antireplay_emulation_mem: antireplay-emulation-region@87453000 { + reg =3D <0x0 0x87453000 0x0 0x1000>; + no-map; + }; + + soccp_sdi_mem: soccp-sdi-region@87454000 { + reg =3D <0x0 0x87454000 0x0 0x40000>; + no-map; + }; + + hyp_mem_database_mem: hyp-mem-database-region@87494000 { + reg =3D <0x0 0x87494000 0x0 0x60000>; + no-map; + }; + + pmic_mini_dump_mem: pmic-mini-dump-region@874f4000 { + reg =3D <0x0 0x874f4000 0x0 0x80000>; + no-map; + }; + + qup_fw_mem: qup-fw-region@87574000 { + reg =3D <0x0 0x87574000 0x0 0x20000>; + no-map; + }; + + softsku_mem: softsku-region@87594000 { + reg =3D <0x0 0x87594000 0x0 0x9000>; + no-map; + }; + + resource_scheduler_mem: resource-scheduler-region@8759d000 { + reg =3D <0x0 0x8759d000 0x0 0x20000>; + no-map; + }; + + pdp_ns_mem: pdp-ns-mem-region@87600000 { + reg =3D <0x0 0x87600000 0x0 0x8000>, + <0x0 0x87609000 0x0 0x1f7000>; + no-map; + }; + + pdp0_p2a: scmi-shmem@87608000 { + compatible =3D "arm,scmi-shmem"; + reg =3D <0x0 0x87608000 0x0 0x80>; + no-map; + }; + + pdp0_a2p: scmi-shmem@87608180 { + compatible =3D "arm,scmi-shmem"; + reg =3D <0x0 0x87608180 0x0 0x80>; + no-map; + }; + + tz_stat_mem: tz-stat-region@87a00000 { + reg =3D <0x0 0x87a00000 0x0 0x100000>; + no-map; + }; + + qdss_apps_mem: qdss-apps-region@87b00000 { + reg =3D <0x0 0x87b00000 0x0 0x2000000>; + no-map; + }; + + global_sync_mem: global-sync-region@89f00000 { + reg =3D <0x0 0x89f00000 0x0 0x400000>; + no-map; + }; + + tzffi_mem: tzffi-region@8a300000 { + compatible =3D "shared-dma-pool"; + reg =3D <0x0 0x8a300000 0x0 0x1400000>; + no-map; + }; + + gunyah_md_mem: gunyah-md-region@8b700000 { + reg =3D <0x0 0x8b700000 0x0 0x80000>; + no-map; + }; + + flashless_qntm_tool_mem: flashless-qntm-tool-region@8b780000 { + reg =3D <0x0 0x8b780000 0x0 0x182000>; + no-map; + }; + + ipa_fw_mem: ipa-fw-region@8bb00000 { + reg =3D <0x0 0x8bb00000 0x0 0x10000>; + no-map; + }; + + ipa_gsi_mem: ipa-gsi-region@8bb10000 { + reg =3D <0x0 0x8bb10000 0x0 0xa000>; + no-map; + }; + + gpu_microcode_mem: gpu-microcode-region@8bb1a000 { + reg =3D <0x0 0x8bb1a000 0x0 0x2000>; + no-map; + }; + + gpu_microcode_2_mem: gpu-microcode-2-region@8bb1c000 { + reg =3D <0x0 0x8bb1c000 0x0 0x2000>; + no-map; + }; + + soccp_mem: soccp-region@8bc00000 { + reg =3D <0x0 0x8bc00000 0x0 0x300000>; + no-map; + }; + + cvp_mem: cvp-region@8d100000 { + reg =3D <0x0 0x8d100000 0x0 0x800000>; + no-map; + }; + + cdsp0_mem: cdsp0-region@8d900000 { + reg =3D <0x0 0x8d900000 0x0 0x2300000>; + no-map; + }; + + cdsp1_mem: cdsp1-region@8fc00000 { + reg =3D <0x0 0x8fc00000 0x0 0x2300000>; + no-map; + }; + + cdsp2_mem: cdsp2-region@91f00000 { + reg =3D <0x0 0x91f00000 0x0 0x2300000>; + no-map; + }; + + cdsp3_mem: cdsp3-region@94200000 { + reg =3D <0x0 0x94200000 0x0 0x2300000>; + no-map; + }; + + hpass_dsp0_mem: hpass-dsp0-region@96500000 { + reg =3D <0x0 0x96500000 0x0 0x2800000>; + no-map; + }; + + hpass_dsp1_mem: hpass-dsp1-region@98d00000 { + reg =3D <0x0 0x98d00000 0x0 0x2800000>; + no-map; + }; + + hpass_dsp2_mem: hpass-dsp2-region@9b500000 { + reg =3D <0x0 0x9b500000 0x0 0x2800000>; + no-map; + }; + + q6_cdsp0_dtb_mem: q6-cdsp0-dtb-region@9dd00000 { + reg =3D <0x0 0x9dd00000 0x0 0x80000>; + no-map; + }; + + q6_cdsp1_dtb_mem: q6-cdsp1-dtb-region@9dd80000 { + reg =3D <0x0 0x9dd80000 0x0 0x80000>; + no-map; + }; + + q6_cdsp2_dtb_mem: q6-cdsp2-dtb-region@9de00000 { + reg =3D <0x0 0x9de00000 0x0 0x80000>; + no-map; + }; + + q6_cdsp3_dtb_mem: q6-cdsp3-dtb-region@9de80000 { + reg =3D <0x0 0x9de80000 0x0 0x80000>; + no-map; + }; + + hpass_dsp0_dtb_mem: hpass-dsp0-dtb-region@9df00000 { + reg =3D <0x0 0x9df00000 0x0 0x80000>; + no-map; + }; + + hpass_dsp1_dtb_mem: hpass-dsp1-dtb-region@9df80000 { + reg =3D <0x0 0x9df80000 0x0 0x80000>; + no-map; + }; + + hpass_dsp2_dtb_mem: hpass-dsp2-dtb-region@9e000000 { + reg =3D <0x0 0x9e000000 0x0 0x100000>; + no-map; + }; + + camera_icp_1_mem: camera-icp-1-region@9e100000 { + reg =3D <0x0 0x9e100000 0x0 0x800000>; + no-map; + }; + + camera_icp_2_mem: camera-icp-2-region@9e900000 { + reg =3D <0x0 0x9e900000 0x0 0x800000>; + no-map; + }; + + camera_qup_1_mem: camera-qup-1-region@9f100000 { + reg =3D <0x0 0x9f100000 0x0 0x200000>; + no-map; + }; + + camera_qup_2_mem: camera-qup-2-region@9f300000 { + reg =3D <0x0 0x9f300000 0x0 0x200000>; + no-map; + }; + + video_mem: video-region@9f500000 { + reg =3D <0x0 0x9f500000 0x0 0xc00000>; + no-map; + }; + + pil_umd_reserved: mdt-load-region@a0100000 { + reg =3D <0x0 0xa0100000 0x0 0x100000>; + no-map; + }; + + mm_dspq: mm-dspq-region@ba200000 { + reg =3D <0x0 0xba200000 0x0 0x200000>; + no-map; + }; + + display_config_reserved: display-config-region@ba400000 { + reg =3D <0x0 0xba400000 0x0 0xa00000>; + no-map; + }; + + mm_calibration_data_mem: mm-calibration-data-region@bae00000 { + reg =3D <0x0 0xbae00000 0x0 0x800000>; + no-map; + }; + + audio_config_mem: audio-config-region@bb600000 { + reg =3D <0x0 0xbb600000 0x0 0xa00000>; + no-map; + }; + + dare_tz_mem: dare-tz-region@bc000000 { + reg =3D <0x0 0xbc000000 0x0 0xa300000>; + no-map; + }; + + hpass_rpc_remote_heap_mem: hpass-rpc-remote-heap-region@d4600000 { + reg =3D <0x0 0xd4600000 0x0 0x800000>; + no-map; + }; + + mdf_mem: mdf-region@d4e00000 { + reg =3D <0x0 0xd4e00000 0x0 0x2000000>; + no-map; + }; + + firmware_mem: firmware-region@d6e00000 { + reg =3D <0x0 0xd6e00000 0x0 0x800000>; + no-map; + }; + + firmware_shared_mem: firmware-shared-region@d7650000 { + reg =3D <0x0 0xd7650000 0x0 0x180000>; + no-map; + }; + + firmware_logs_mem: firmware-logs-region@d77d0000 { + reg =3D <0x0 0xd77d0000 0x0 0x20000>; + no-map; + }; + + sail_p_mem: sail-p-region@8c0000000 { + reg =3D <0x8 0xc0000000 0x0 0x8000000>; + no-map; + }; + + reserved_mem2: reserved-region@8c8000000 { + reg =3D <0x8 0xc8000000 0x0 0x18000000>; + no-map; + }; + + dump_mem: mem-dump-region { + alloc-ranges =3D <0x0 0x00000000 0x0 0xffffffff>; + size =3D <0x0 0x79b0000>; + }; + }; + + soc: soc@0 { + compatible =3D "simple-bus"; + #address-cells =3D <2>; + #size-cells =3D <2>; + dma-ranges =3D <0 0 0 0 0x10 0>; + ranges =3D <0 0 0 0 0x10 0>; + + qupv3_2: geniqup@8c0000 { + compatible =3D "qcom,geni-se-qup"; + reg =3D <0x0 0x008c0000 0x0 0x2000>; + #address-cells =3D <2>; + #size-cells =3D <2>; + iommus =3D <&apps_smmu_0 0x15a3 0x0>; + ranges; + + i2c14: i2c@880000 { + compatible =3D "qcom,geni-i2c"; + reg =3D <0x0 0x00880000 0x0 0x4000>; + interrupts =3D ; + + #address-cells =3D <1>; + #size-cells =3D <0>; + + status =3D "disabled"; + }; + + spi14: spi@880000 { + compatible =3D "qcom,geni-spi"; + reg =3D <0x0 0x00880000 0x0 0x4000>; + interrupts =3D ; + + status =3D "disabled"; + }; + + uart14: serial@880000 { + compatible =3D "qcom,geni-uart"; + reg =3D <0x0 0x00880000 0x0 0x4000>; + interrupts =3D ; + + status =3D "disabled"; + }; + + i2c15: i2c@884000 { + compatible =3D "qcom,geni-i2c"; + reg =3D <0x0 0x00884000 0x0 0x4000>; + interrupts =3D ; + + #address-cells =3D <1>; + #size-cells =3D <0>; + + status =3D "disabled"; + }; + + spi15: spi@884000 { + compatible =3D "qcom,geni-spi"; + reg =3D <0x0 0x00884000 0x0 0x4000>; + interrupts =3D ; + + status =3D "disabled"; + }; + + uart15: serial@884000 { + compatible =3D "qcom,geni-debug-uart"; + reg =3D <0x0 0x00884000 0x0 0x4000>; + interrupts =3D ; + + status =3D "disabled"; + }; + + i2c16: i2c@888000 { + compatible =3D "qcom,geni-i2c"; + reg =3D <0x0 0x00888000 0x0 0x4000>; + interrupts =3D ; + + #address-cells =3D <1>; + #size-cells =3D <0>; + + status =3D "disabled"; + }; + + spi16: spi@888000 { + compatible =3D "qcom,geni-spi"; + reg =3D <0x0 0x00888000 0x0 0x4000>; + interrupts =3D ; + + status =3D "disabled"; + }; + + uart16: serial@888000 { + compatible =3D "qcom,geni-uart"; + reg =3D <0x0 0x00888000 0x0 0x4000>; + interrupts =3D ; + + status =3D "disabled"; + }; + + i2c17: i2c@88c000 { + compatible =3D "qcom,geni-i2c"; + reg =3D <0x0 0x0088c000 0x0 0x4000>; + interrupts =3D ; + + #address-cells =3D <1>; + #size-cells =3D <0>; + + status =3D "disabled"; + }; + + spi17: spi@88c000 { + compatible =3D "qcom,geni-spi"; + reg =3D <0x0 0x0088c000 0x0 0x4000>; + interrupts =3D ; + + status =3D "disabled"; + }; + + uart17: serial@88c000 { + compatible =3D "qcom,geni-uart"; + reg =3D <0x0 0x0088c000 0x0 0x4000>; + interrupts =3D ; + + status =3D "disabled"; + }; + + i2c18: i2c@890000 { + compatible =3D "qcom,geni-i2c"; + reg =3D <0x0 0x00890000 0x0 0x4000>; + interrupts =3D ; + + #address-cells =3D <1>; + #size-cells =3D <0>; + + status =3D "disabled"; + }; + + spi18: spi@890000 { + compatible =3D "qcom,geni-spi"; + reg =3D <0x0 0x00890000 0x0 0x4000>; + interrupts =3D ; + + status =3D "disabled"; + }; + + uart18: serial@890000 { + compatible =3D "qcom,geni-uart"; + reg =3D <0x0 0x00890000 0x0 0x4000>; + interrupts =3D ; + + status =3D "disabled"; + }; + + i2c19: i2c@894000 { + compatible =3D "qcom,geni-i2c"; + reg =3D <0x0 0x00894000 0x0 0x4000>; + interrupts =3D ; + + #address-cells =3D <1>; + #size-cells =3D <0>; + + status =3D "disabled"; + }; + + spi19: spi@894000 { + compatible =3D "qcom,geni-spi"; + reg =3D <0x0 0x00894000 0x0 0x4000>; + interrupts =3D ; + + status =3D "disabled"; + }; + + uart19: serial@894000 { + compatible =3D "qcom,geni-uart"; + reg =3D <0x0 0x00894000 0x0 0x4000>; + interrupts =3D ; + + status =3D "disabled"; + }; + + i2c20: i2c@898000 { + compatible =3D "qcom,geni-i2c"; + reg =3D <0x0 0x00898000 0x0 0x4000>; + interrupts =3D ; + + #address-cells =3D <1>; + #size-cells =3D <0>; + + status =3D "disabled"; + }; + + spi20: spi@898000 { + compatible =3D "qcom,geni-spi"; + reg =3D <0x0 0x00898000 0x0 0x4000>; + interrupts =3D ; + + status =3D "disabled"; + }; + + uart20: serial@898000 { + compatible =3D "qcom,geni-uart"; + reg =3D <0x0 0x00898000 0x0 0x4000>; + interrupts =3D ; + + status =3D "disabled"; + }; + }; + + qupv3_0: geniqup@9c0000 { + compatible =3D "qcom,geni-se-qup"; + reg =3D <0x0 0x009c0000 0x0 0x2000>; + #address-cells =3D <2>; + #size-cells =3D <2>; + iommus =3D <&apps_smmu_2 0x1003 0x0>; + ranges; + + i2c0: i2c@980000 { + compatible =3D "qcom,geni-i2c"; + reg =3D <0x0 0x00980000 0x0 0x4000>; + interrupts =3D ; + + #address-cells =3D <1>; + #size-cells =3D <0>; + + status =3D "disabled"; + }; + + spi0: spi@980000 { + compatible =3D "qcom,geni-spi"; + reg =3D <0x0 0x00980000 0x0 0x4000>; + interrupts =3D ; + + status =3D "disabled"; + }; + + uart0: serial@980000 { + compatible =3D "qcom,geni-uart"; + reg =3D <0x0 0x00980000 0x0 0x4000>; + interrupts =3D ; + + status =3D "disabled"; + }; + + i2c1: i2c@984000 { + compatible =3D "qcom,geni-i2c"; + reg =3D <0x0 0x00984000 0x0 0x4000>; + interrupts =3D ; + + #address-cells =3D <1>; + #size-cells =3D <0>; + + status =3D "disabled"; + }; + + spi1: spi@984000 { + compatible =3D "qcom,geni-spi"; + reg =3D <0x0 0x00984000 0x0 0x4000>; + interrupts =3D ; + + status =3D "disabled"; + }; + + uart1: serial@984000 { + compatible =3D "qcom,geni-uart"; + reg =3D <0x0 0x00984000 0x0 0x4000>; + interrupts =3D ; + + status =3D "disabled"; + }; + + i2c2: i2c@988000 { + compatible =3D "qcom,geni-i2c"; + reg =3D <0x0 0x00988000 0x0 0x4000>; + interrupts =3D ; + + #address-cells =3D <1>; + #size-cells =3D <0>; + + status =3D "disabled"; + }; + + spi2: spi@988000 { + compatible =3D "qcom,geni-spi"; + reg =3D <0x0 0x00988000 0x0 0x4000>; + interrupts =3D ; + + status =3D "disabled"; + }; + + uart2: serial@988000 { + compatible =3D "qcom,geni-uart"; + reg =3D <0x0 0x00988000 0x0 0x4000>; + interrupts =3D ; + + status =3D "disabled"; + }; + + i2c3: i2c@98c000 { + compatible =3D "qcom,geni-i2c"; + reg =3D <0x0 0x0098c000 0x0 0x4000>; + interrupts =3D ; + + #address-cells =3D <1>; + #size-cells =3D <0>; + + status =3D "disabled"; + }; + + spi3: spi@98c000 { + compatible =3D "qcom,geni-spi"; + reg =3D <0x0 0x0098c000 0x0 0x4000>; + interrupts =3D ; + + status =3D "disabled"; + }; + + uart3: serial@98c000 { + compatible =3D "qcom,geni-uart"; + reg =3D <0x0 0x0098c000 0x0 0x4000>; + interrupts =3D ; + + status =3D "disabled"; + }; + + i2c4: i2c@990000 { + compatible =3D "qcom,geni-i2c"; + reg =3D <0x0 0x00990000 0x0 0x4000>; + interrupts =3D ; + + #address-cells =3D <1>; + #size-cells =3D <0>; + + status =3D "disabled"; + }; + + spi4: spi@990000 { + compatible =3D "qcom,geni-spi"; + reg =3D <0x0 0x00990000 0x0 0x4000>; + interrupts =3D ; + + status =3D "disabled"; + }; + + uart4: serial@990000 { + compatible =3D "qcom,geni-uart"; + reg =3D <0x0 0x00990000 0x0 0x4000>; + interrupts =3D ; + + status =3D "disabled"; + }; + + i2c5: i2c@994000 { + compatible =3D "qcom,geni-i2c"; + reg =3D <0x0 0x00994000 0x0 0x4000>; + interrupts =3D ; + + #address-cells =3D <1>; + #size-cells =3D <0>; + + status =3D "disabled"; + }; + + spi5: spi@994000 { + compatible =3D "qcom,geni-spi"; + reg =3D <0x0 0x00994000 0x0 0x4000>; + interrupts =3D ; + + status =3D "disabled"; + }; + + uart5: serial@994000 { + compatible =3D "qcom,geni-uart"; + reg =3D <0x0 0x00994000 0x0 0x4000>; + interrupts =3D ; + + status =3D "disabled"; + }; + }; + + qupv3_1: geniqup@ac0000 { + compatible =3D "qcom,geni-se-qup"; + reg =3D <0x0 0x00ac0000 0x0 0x2000>; + #address-cells =3D <2>; + #size-cells =3D <2>; + iommus =3D <&apps_smmu_2 0x1043 0x0>; + ranges; + + i2c7: i2c@a80000 { + compatible =3D "qcom,geni-i2c"; + reg =3D <0x0 0x00a80000 0x0 0x4000>; + interrupts =3D ; + + #address-cells =3D <1>; + #size-cells =3D <0>; + + status =3D "disabled"; + }; + + spi7: spi@a80000 { + compatible =3D "qcom,geni-spi"; + reg =3D <0x0 0x00a80000 0x0 0x4000>; + interrupts =3D ; + + status =3D "disabled"; + }; + + uart7: serial@a80000 { + compatible =3D "qcom,geni-uart"; + reg =3D <0x0 0x00a80000 0x0 0x4000>; + interrupts =3D ; + + status =3D "disabled"; + }; + + i2c8: i2c@a84000 { + compatible =3D "qcom,geni-i2c"; + reg =3D <0x0 0x00a84000 0x0 0x4000>; + interrupts =3D ; + + #address-cells =3D <1>; + #size-cells =3D <0>; + + status =3D "disabled"; + }; + + spi8: spi@a84000 { + compatible =3D "qcom,geni-spi"; + reg =3D <0x0 0x00a84000 0x0 0x4000>; + interrupts =3D ; + + status =3D "disabled"; + }; + + uart8: serial@a84000 { + compatible =3D "qcom,geni-uart"; + reg =3D <0x0 0x00a84000 0x0 0x4000>; + interrupts =3D ; + + status =3D "disabled"; + }; + + i2c9: i2c@a88000 { + compatible =3D "qcom,geni-i2c"; + reg =3D <0x0 0x00a88000 0x0 0x4000>; + interrupts =3D ; + + #address-cells =3D <1>; + #size-cells =3D <0>; + + status =3D "disabled"; + }; + + uart9: serial@a88000 { + compatible =3D "qcom,geni-uart"; + reg =3D <0x0 0x00a88000 0x0 0x4000>; + interrupts =3D ; + + status =3D "disabled"; + }; + + i2c10: i2c@a8c000 { + compatible =3D "qcom,geni-i2c"; + reg =3D <0x0 0x00a8c000 0x0 0x4000>; + interrupts =3D ; + + #address-cells =3D <1>; + #size-cells =3D <0>; + + status =3D "disabled"; + }; + + uart10: serial@a8c000 { + compatible =3D "qcom,geni-uart"; + reg =3D <0x0 0x00a8c000 0x0 0x4000>; + interrupts =3D ; + + status =3D "disabled"; + }; + + i2c11: i2c@a90000 { + compatible =3D "qcom,geni-i2c"; + reg =3D <0x0 0x00a90000 0x0 0x4000>; + interrupts =3D ; + + #address-cells =3D <1>; + #size-cells =3D <0>; + + status =3D "disabled"; + }; + + spi11: spi@a90000 { + compatible =3D "qcom,geni-spi"; + reg =3D <0x0 0x00a90000 0x0 0x4000>; + interrupts =3D ; + + status =3D "disabled"; + }; + + uart11: serial@a90000 { + compatible =3D "qcom,geni-uart"; + reg =3D <0x0 0x00a90000 0x0 0x4000>; + interrupts =3D ; + + status =3D "disabled"; + }; + + i2c12: i2c@a94000 { + compatible =3D "qcom,geni-i2c"; + reg =3D <0x0 0x00a94000 0x0 0x4000>; + interrupts =3D ; + + #address-cells =3D <1>; + #size-cells =3D <0>; + + status =3D "disabled"; + }; + + spi12: spi@a94000 { + compatible =3D "qcom,geni-spi"; + reg =3D <0x0 0x00a94000 0x0 0x4000>; + interrupts =3D ; + + status =3D "disabled"; + }; + + uart12: serial@a94000 { + compatible =3D "qcom,geni-uart"; + reg =3D <0x0 0x00a94000 0x0 0x4000>; + interrupts =3D ; + + status =3D "disabled"; + }; + + i2c13: i2c@a98000 { + compatible =3D "qcom,geni-i2c"; + reg =3D <0x0 0x00a98000 0x0 0x4000>; + interrupts =3D ; + + #address-cells =3D <1>; + #size-cells =3D <0>; + + status =3D "disabled"; + }; + + spi13: spi@a98000 { + compatible =3D "qcom,geni-spi"; + reg =3D <0x0 0x00a98000 0x0 0x4000>; + interrupts =3D ; + + status =3D "disabled"; + }; + + uart13: serial@a98000 { + compatible =3D "qcom,geni-uart"; + reg =3D <0x0 0x00a98000 0x0 0x4000>; + interrupts =3D ; + + status =3D "disabled"; + }; + }; + + rng: rng@10c3000 { + compatible =3D "qcom,nord-trng", + "qcom,trng"; + reg =3D <0x0 0x010c3000 0x0 0x1000>; + }; + + ufs_mem_hc: ufshc@1d44000 { + compatible =3D "qcom,nord-ufshc", + "qcom,ufshc", + "jedec,ufs-2.0"; + reg =3D <0x0 0x01d44000 0x0 0x3000>, + <0x0 0x01d60000 0x0 0x15000>; + reg-names =3D "std", + "mcq"; + interrupts =3D ; + lanes-per-direction =3D <2>; + iommus =3D <&apps_smmu_0 0x14c0 0x0>; + dma-coherent; + msi-parent =3D <&gic_its 0x14c0>; + + status =3D "disabled"; + }; + + cryptobam: dma-controller@1dc4000 { + compatible =3D "qcom,bam-v1.7.4", "qcom,bam-v1.7.0"; + reg =3D <0x0 0x01dc4000 0x0 0x28000>; + interrupts =3D ; + #dma-cells =3D <1>; + iommus =3D <&apps_smmu_0 0x1689 0>; + qcom,ee =3D <0>; + qcom,num-ees =3D <4>; + num-channels =3D <20>; + qcom,controlled-remotely; + }; + + crypto: crypto@1dfa000 { + compatible =3D "qcom,nord-qce", "qcom,sm8150-qce", "qcom,qce"; + reg =3D <0x0 0x01dfa000 0x0 0x6000>; + dmas =3D <&cryptobam 4>, <&cryptobam 5>; + dma-names =3D "rx", "tx"; + iommus =3D <&apps_smmu_0 0x1689 0>; + + /* It stops nord-gearvm variant from booting to console */ + status =3D "disabled"; + }; + + tcsr_mutex: hwlock@1f40000 { + compatible =3D "qcom,tcsr-mutex"; + reg =3D <0x0 0x01f40000 0x0 0x20000>; + #hwlock-cells =3D <1>; + }; + + tcsr: syscon@1f60000 { + compatible =3D "qcom,nord-tcsr", + "syscon"; + reg =3D <0x0 0x01f60000 0x0 0xa0000>; + }; + + pdc: interrupt-controller@b220000 { + compatible =3D "qcom,nord-pdc", + "qcom,pdc"; + reg =3D <0x0 0x0b220000 0x0 0x10000>; + qcom,pdc-ranges =3D <0 745 43>, + <67 543 31>, + <98 609 32>, + <130 717 12>, + <142 251 5>, + <147 796 16>; + #interrupt-cells =3D <2>; + interrupt-parent =3D <&intc>; + interrupt-controller; + }; + + tsens0: thermal-sensor@c22c000 { + compatible =3D "qcom,nord-tsens", + "qcom,tsens-v2"; + reg =3D <0x0 0x0c22c000 0x0 0x1000>, + <0x0 0x0c222000 0x0 0x1000>; + interrupts =3D , + ; + interrupt-names =3D "uplow", + "critical"; + #qcom,sensors =3D <16>; + #thermal-sensor-cells =3D <1>; + }; + + tsens1: thermal-sensor@c22d000 { + compatible =3D "qcom,nord-tsens", + "qcom,tsens-v2"; + reg =3D <0x0 0x0c22d000 0x0 0x1000>, + <0x0 0x0c223000 0x0 0x1000>; + interrupts =3D , + ; + interrupt-names =3D "uplow", + "critical"; + #qcom,sensors =3D <16>; + #thermal-sensor-cells =3D <1>; + }; + + tsens2: thermal-sensor@c22e000 { + compatible =3D "qcom,nord-tsens", + "qcom,tsens-v2"; + reg =3D <0x0 0x0c22e000 0x0 0x1000>, + <0x0 0x0c224000 0x0 0x1000>; + interrupts =3D , + ; + interrupt-names =3D "uplow", + "critical"; + #qcom,sensors =3D <16>; + #thermal-sensor-cells =3D <1>; + }; + + tsens3: thermal-sensor@c22f000 { + compatible =3D "qcom,nord-tsens", + "qcom,tsens-v2"; + reg =3D <0x0 0x0c22f000 0x0 0x1000>, + <0x0 0x0c225000 0x0 0x1000>; + interrupts =3D , + ; + interrupt-names =3D "uplow", + "critical"; + #qcom,sensors =3D <16>; + #thermal-sensor-cells =3D <1>; + }; + + tsens4: thermal-sensor@c230000 { + compatible =3D "qcom,nord-tsens", + "qcom,tsens-v2"; + reg =3D <0x0 0x0c230000 0x0 0x1000>, + <0x0 0x0c226000 0x0 0x1000>; + interrupts =3D , + ; + interrupt-names =3D "uplow", + "critical"; + #qcom,sensors =3D <16>; + #thermal-sensor-cells =3D <1>; + }; + + tsens5: thermal-sensor@c231000 { + compatible =3D "qcom,nord-tsens", + "qcom,tsens-v2"; + reg =3D <0x0 0x0c231000 0x0 0x1000>, + <0x0 0x0c227000 0x0 0x1000>; + interrupts =3D , + ; + interrupt-names =3D "uplow", + "critical"; + #qcom,sensors =3D <16>; + #thermal-sensor-cells =3D <1>; + }; + + tsens6: thermal-sensor@c232000 { + compatible =3D "qcom,nord-tsens", + "qcom,tsens-v2"; + reg =3D <0x0 0x0c232000 0x0 0x1000>, + <0x0 0x0c228000 0x0 0x1000>; + interrupts =3D , + ; + interrupt-names =3D "uplow", + "critical"; + #qcom,sensors =3D <16>; + #thermal-sensor-cells =3D <1>; + }; + + tsens7: thermal-sensor@c233000 { + compatible =3D "qcom,nord-tsens", + "qcom,tsens-v2"; + reg =3D <0x0 0x0c233000 0x0 0x1000>, + <0x0 0x0c229000 0x0 0x1000>; + interrupts =3D , + ; + interrupt-names =3D "uplow", + "critical"; + #qcom,sensors =3D <16>; + #thermal-sensor-cells =3D <1>; + }; + + tlmm: pinctrl@f100000 { + compatible =3D "qcom,nord-tlmm"; + reg =3D <0x0 0x0f100000 0x0 0xc0000>; + interrupts =3D ; + gpio-controller; + #gpio-cells =3D <2>; + interrupt-controller; + #interrupt-cells =3D <2>; + gpio-ranges =3D <&tlmm 0 0 181>; + wakeup-parent =3D <&pdc>; + }; + + apps_smmu_0: iommu@15a00000 { + compatible =3D "qcom,nord-smmu-500", + "qcom,smmu-500", + "arm,mmu-500"; + reg =3D <0x0 0x15a00000 0x0 0x100000>; + #iommu-cells =3D <2>; + #global-interrupts =3D <1>; + dma-coherent; + interrupts =3D , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + ; + }; + + apps_smmu_1: iommu@15c00000 { + compatible =3D "qcom,nord-smmu-500", + "qcom,smmu-500", + "arm,mmu-500"; + reg =3D <0x0 0x15c00000 0x0 0x100000>; + #iommu-cells =3D <2>; + #global-interrupts =3D <1>; + dma-coherent; + interrupts =3D , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + ; + }; + + apps_smmu_2: iommu@15e00000 { + compatible =3D "qcom,nord-smmu-500", + "qcom,smmu-500", + "arm,mmu-500"; + reg =3D <0x0 0x15e00000 0x0 0x100000>; + #iommu-cells =3D <2>; + #global-interrupts =3D <1>; + dma-coherent; + interrupts =3D , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + ; + }; + + intc: interrupt-controller@17000000 { + compatible =3D "arm,gic-v3"; + reg =3D <0x0 0x17000000 0x0 0x10000>, + <0x0 0x17080000 0x0 0x480000>; + interrupts =3D ; + #interrupt-cells =3D <3>; + interrupt-controller; + #redistributor-regions =3D <1>; + redistributor-stride =3D <0x0 0x40000>; + #address-cells =3D <2>; + #size-cells =3D <2>; + ranges; + + gic_its: msi-controller@17040000 { + compatible =3D "arm,gic-v3-its"; + reg =3D <0x0 0x17040000 0x0 0x40000>; + msi-controller; + #msi-cells =3D <1>; + }; + }; + + pdp0_mbox: mailbox@17610000 { + compatible =3D "qcom,nord-cpucp-mbox", + "qcom,x1e80100-cpucp-mbox"; + reg =3D <0x0 0x17610000 0x0 0x4c08>, + <0x0 0x19980000 0x0 0x300>; + #mbox-cells =3D <1>; + interrupts =3D ; + }; + + memtimer: timer@17810000 { + compatible =3D "arm,armv7-timer-mem"; + reg =3D <0x0 0x17810000 0x0 0x1000>; + ranges =3D <0x0 0x0 0x0 0x20000000>; + #address-cells =3D <1>; + #size-cells =3D <1>; + + frame@17811000 { + reg =3D <0x17811000 0x1000>, + <0x17812000 0x1000>; + interrupts =3D , + ; + frame-number =3D <0>; + }; + + frame@17813000 { + reg =3D <0x17813000 0x1000>; + interrupts =3D ; + frame-number =3D <1>; + + status =3D "disabled"; + }; + + frame@17815000 { + reg =3D <0x17815000 0x1000>; + interrupts =3D ; + frame-number =3D <2>; + + status =3D "disabled"; + }; + + frame@17817000 { + reg =3D <0x17817000 0x1000>; + interrupts =3D ; + frame-number =3D <3>; + + status =3D "disabled"; + }; + + frame@17819000 { + reg =3D <0x17819000 0x1000>; + interrupts =3D ; + frame-number =3D <4>; + + status =3D "disabled"; + }; + + frame@1781b000 { + reg =3D <0x1781b000 0x1000>; + interrupts =3D ; + frame-number =3D <5>; + + status =3D "disabled"; + }; + + frame@1781d000 { + reg =3D <0x1781d000 0x1000>; + interrupts =3D ; + frame-number =3D <6>; + + status =3D "disabled"; + }; + }; + + watchdog@17826000 { + compatible =3D "qcom,apss-wdt-nord", + "qcom,kpss-wdt"; + reg =3D <0x0 0x17826000 0x0 0x1000>; + clocks =3D <&sleep_clk>; + interrupts =3D ; + }; + }; + + arch_timer: timer { + compatible =3D "arm,armv8-timer"; + interrupts =3D , + , + , + ; + }; + + thermal_zones: thermal-zones { + ddr-0-0-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsens0 0>; + + trips { + trip-point0 { + temperature =3D <105000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + + trip-point1 { + temperature =3D <115000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + }; + }; + + cpu-0-0-0-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsens0 1>; + + trips { + trip-point0 { + temperature =3D <105000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + + trip-point1 { + temperature =3D <125000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + }; + }; + + cpu-0-1-0-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsens0 2>; + + trips { + trip-point0 { + temperature =3D <105000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + + trip-point1 { + temperature =3D <125000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + }; + }; + + cpu-0-2-0-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsens0 3>; + + trips { + trip-point0 { + temperature =3D <105000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + + trip-point1 { + temperature =3D <125000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + }; + }; + + cpu-0-3-0-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsens0 4>; + + trips { + trip-point0 { + temperature =3D <105000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + + trip-point1 { + temperature =3D <125000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + }; + }; + + cpu-0-4-0-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsens0 5>; + + trips { + trip-point0 { + temperature =3D <105000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + + trip-point1 { + temperature =3D <125000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + }; + }; + + cpu-0-5-0-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsens0 6>; + + trips { + trip-point0 { + temperature =3D <105000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + + trip-point1 { + temperature =3D <125000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + }; + }; + + cpullc-0-0-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsens0 7>; + + trips { + trip-point0 { + temperature =3D <105000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + + trip-point1 { + temperature =3D <115000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + }; + }; + + cpu-1-0-0-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsens0 8>; + + trips { + trip-point0 { + temperature =3D <105000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + + trip-point1 { + temperature =3D <125000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + }; + }; + + cpu-1-1-0-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsens0 9>; + + trips { + trip-point0 { + temperature =3D <105000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + + trip-point1 { + temperature =3D <125000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + }; + }; + + cpu-1-2-0-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsens0 10>; + + trips { + trip-point0 { + temperature =3D <105000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + + trip-point1 { + temperature =3D <125000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + }; + }; + + cpu-1-3-0-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsens0 11>; + + trips { + trip-point0 { + temperature =3D <105000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + + trip-point1 { + temperature =3D <125000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + }; + }; + + cpu-1-4-0-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsens0 12>; + + trips { + trip-point0 { + temperature =3D <105000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + + trip-point1 { + temperature =3D <125000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + }; + }; + + cpu-1-5-0-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsens0 13>; + + trips { + trip-point0 { + temperature =3D <105000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + + trip-point1 { + temperature =3D <125000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + }; + }; + + cpullc-1-0-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsens0 14>; + + trips { + trip-point0 { + temperature =3D <105000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + + trip-point1 { + temperature =3D <115000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + }; + }; + + ddr-1-0-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsens0 15>; + + trips { + trip-point0 { + temperature =3D <105000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + + trip-point1 { + temperature =3D <115000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + }; + }; + + ddr-0-1-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsens1 0>; + + trips { + trip-point0 { + temperature =3D <105000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + + trip-point1 { + temperature =3D <115000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + }; + }; + + cpu-0-0-1-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsens1 1>; + + trips { + trip-point0 { + temperature =3D <105000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + + trip-point1 { + temperature =3D <125000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + }; + }; + + cpu-0-1-1-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsens1 2>; + + trips { + trip-point0 { + temperature =3D <105000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + + trip-point1 { + temperature =3D <125000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + }; + }; + + cpu-0-2-1-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsens1 3>; + + trips { + trip-point0 { + temperature =3D <105000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + + trip-point1 { + temperature =3D <125000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + }; + }; + + cpu-0-3-1-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsens1 4>; + + trips { + trip-point0 { + temperature =3D <105000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + + trip-point1 { + temperature =3D <125000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + }; + }; + + cpu-0-4-1-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsens1 5>; + + trips { + trip-point0 { + temperature =3D <105000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + + trip-point1 { + temperature =3D <125000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + }; + }; + + cpu-0-5-1-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsens1 6>; + + trips { + trip-point0 { + temperature =3D <105000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + + trip-point1 { + temperature =3D <125000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + }; + }; + + cpullc-0-1-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsens1 7>; + + trips { + trip-point0 { + temperature =3D <105000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + + trip-point1 { + temperature =3D <115000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + }; + }; + + cpu-1-0-1-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsens1 8>; + + trips { + trip-point0 { + temperature =3D <105000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + + trip-point1 { + temperature =3D <125000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + }; + }; + + cpu-1-1-1-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsens1 9>; + + trips { + trip-point0 { + temperature =3D <105000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + + trip-point1 { + temperature =3D <125000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + }; + }; + + cpu-1-2-1-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsens1 10>; + + trips { + trip-point0 { + temperature =3D <105000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + + trip-point1 { + temperature =3D <125000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + }; + }; + + cpu-1-3-1-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsens1 11>; + + trips { + trip-point0 { + temperature =3D <105000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + + trip-point1 { + temperature =3D <125000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + }; + }; + + cpu-1-4-1-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsens1 12>; + + trips { + trip-point0 { + temperature =3D <105000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + + trip-point1 { + temperature =3D <125000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + }; + }; + + cpu-1-5-1-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsens1 13>; + + trips { + trip-point0 { + temperature =3D <105000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + + trip-point1 { + temperature =3D <125000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + }; + }; + + cpullc-1-1-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsens1 14>; + + trips { + trip-point0 { + temperature =3D <105000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + + trip-point1 { + temperature =3D <115000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + }; + }; + + ddr-1-1-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsens1 15>; + + trips { + trip-point0 { + temperature =3D <105000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + + trip-point1 { + temperature =3D <115000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + }; + }; + + amux-2-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsens2 0>; + + trips { + trip-point0 { + temperature =3D <105000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + + trip-point1 { + temperature =3D <115000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + }; + }; + + cpu-2-0-0-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsens2 1>; + + trips { + trip-point0 { + temperature =3D <105000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + + trip-point1 { + temperature =3D <125000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + }; + }; + + cpu-2-1-0-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsens2 2>; + + trips { + trip-point0 { + temperature =3D <105000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + + trip-point1 { + temperature =3D <125000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + }; + }; + + cpu-2-2-0-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsens2 3>; + + trips { + trip-point0 { + temperature =3D <105000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + + trip-point1 { + temperature =3D <125000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + }; + }; + + cpu-2-3-0-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsens2 4>; + + trips { + trip-point0 { + temperature =3D <105000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + + trip-point1 { + temperature =3D <125000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + }; + }; + + cpu-2-4-0-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsens2 5>; + + trips { + trip-point0 { + temperature =3D <105000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + + trip-point1 { + temperature =3D <125000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + }; + }; + + cpu-2-5-0-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsens2 6>; + + trips { + trip-point0 { + temperature =3D <105000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + + trip-point1 { + temperature =3D <125000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + }; + }; + + cpullc-2-0-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsens2 7>; + + trips { + trip-point0 { + temperature =3D <105000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + + trip-point1 { + temperature =3D <115000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + }; + }; + + audhvx-0-0-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsens2 8>; + + trips { + trip-point0 { + temperature =3D <105000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + + trip-point1 { + temperature =3D <115000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + }; + }; + + audhmx-0-0-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsens2 9>; + + trips { + trip-point0 { + temperature =3D <105000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + + trip-point1 { + temperature =3D <115000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + }; + }; + + audhvx-1-0-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsens2 10>; + + trips { + trip-point0 { + temperature =3D <105000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + + trip-point1 { + temperature =3D <115000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + }; + }; + + audhmx-1-0-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsens2 11>; + + trips { + trip-point0 { + temperature =3D <105000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + + trip-point1 { + temperature =3D <115000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + }; + }; + + audhvx-2-0-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsens2 12>; + + trips { + trip-point0 { + temperature =3D <105000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + + trip-point1 { + temperature =3D <115000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + }; + }; + + audhmx-2-0-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsens2 13>; + + trips { + trip-point0 { + temperature =3D <105000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + + trip-point1 { + temperature =3D <115000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + }; + }; + + pcie-0-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsens2 15>; + + trips { + trip-point0 { + temperature =3D <105000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + + trip-point1 { + temperature =3D <115000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + }; + }; + + amux-3-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsens3 0>; + + trips { + trip-point0 { + temperature =3D <105000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + + trip-point1 { + temperature =3D <115000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + }; + }; + + cpu-2-0-1-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsens3 1>; + + trips { + trip-point0 { + temperature =3D <105000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + + trip-point1 { + temperature =3D <125000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + }; + }; + + cpu-2-1-1-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsens3 2>; + + trips { + trip-point0 { + temperature =3D <105000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + + trip-point1 { + temperature =3D <125000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + }; + }; + + cpu-2-2-1-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsens3 3>; + + trips { + trip-point0 { + temperature =3D <105000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + + trip-point1 { + temperature =3D <125000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + }; + }; + + cpu-2-3-1-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsens3 4>; + + trips { + trip-point0 { + temperature =3D <105000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + + trip-point1 { + temperature =3D <125000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + }; + }; + + cpu-2-4-1-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsens3 5>; + + trips { + trip-point0 { + temperature =3D <105000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + + trip-point1 { + temperature =3D <125000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + }; + }; + + cpu-2-5-1-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsens3 6>; + + trips { + trip-point0 { + temperature =3D <105000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + + trip-point1 { + temperature =3D <125000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + }; + }; + + cpullc-2-1-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsens3 7>; + + trips { + trip-point0 { + temperature =3D <105000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + + trip-point1 { + temperature =3D <115000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + }; + }; + + audhvx-0-1-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsens3 8>; + + trips { + trip-point0 { + temperature =3D <105000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + + trip-point1 { + temperature =3D <115000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + }; + }; + + audhmx-0-1-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsens3 9>; + + trips { + trip-point0 { + temperature =3D <105000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + + trip-point1 { + temperature =3D <115000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + }; + }; + + audhvx-1-1-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsens3 10>; + + trips { + trip-point0 { + temperature =3D <105000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + + trip-point1 { + temperature =3D <115000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + }; + }; + + audhmx-1-1-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsens3 11>; + + trips { + trip-point0 { + temperature =3D <105000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + + trip-point1 { + temperature =3D <115000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + }; + }; + + audhvx-2-1-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsens3 12>; + + trips { + trip-point0 { + temperature =3D <105000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + + trip-point1 { + temperature =3D <115000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + }; + }; + + audhmx-2-1-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsens3 13>; + + trips { + trip-point0 { + temperature =3D <105000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + + trip-point1 { + temperature =3D <115000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + }; + }; + + pcie-1-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsens3 15>; + + trips { + trip-point0 { + temperature =3D <105000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + + trip-point1 { + temperature =3D <115000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + }; + }; + + nsphvx-0-0-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsens4 0>; + + trips { + trip-point0 { + temperature =3D <105000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + + trip-point1 { + temperature =3D <115000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + }; + }; + + nsphvx-0-2-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsens4 1>; + + trips { + trip-point0 { + temperature =3D <105000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + + trip-point1 { + temperature =3D <115000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + }; + }; + + nsp-0-0-0-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsens4 2>; + + trips { + trip-point0 { + temperature =3D <105000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + + trip-point1 { + temperature =3D <115000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + }; + }; + + nsp-0-1-0-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsens4 3>; + + trips { + trip-point0 { + temperature =3D <105000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + + trip-point1 { + temperature =3D <115000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + }; + }; + + nsphvx-1-0-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsens4 4>; + + trips { + trip-point0 { + temperature =3D <105000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + + trip-point1 { + temperature =3D <115000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + }; + }; + + nsphvx-1-2-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsens4 5>; + + trips { + trip-point0 { + temperature =3D <105000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + + trip-point1 { + temperature =3D <115000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + }; + }; + + nsp-1-0-0-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsens4 6>; + + trips { + trip-point0 { + temperature =3D <105000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + + trip-point1 { + temperature =3D <115000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + }; + }; + + nsp-1-1-0-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsens4 7>; + + trips { + trip-point0 { + temperature =3D <105000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + + trip-point1 { + temperature =3D <115000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + }; + }; + + nsphvx-2-0-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsens4 8>; + + trips { + trip-point0 { + temperature =3D <105000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + + trip-point1 { + temperature =3D <115000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + }; + }; + + nsphvx-2-2-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsens4 9>; + + trips { + trip-point0 { + temperature =3D <105000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + + trip-point1 { + temperature =3D <115000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + }; + }; + + nsp-2-0-0-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsens4 10>; + + trips { + trip-point0 { + temperature =3D <105000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + + trip-point1 { + temperature =3D <115000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + }; + }; + + nsp-2-1-0-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsens4 11>; + + trips { + trip-point0 { + temperature =3D <105000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + + trip-point1 { + temperature =3D <115000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + }; + }; + + nsphvx-3-0-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsens4 12>; + + trips { + trip-point0 { + temperature =3D <105000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + + trip-point1 { + temperature =3D <115000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + }; + }; + + nsphvx-3-2-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsens4 13>; + + trips { + trip-point0 { + temperature =3D <105000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + + trip-point1 { + temperature =3D <115000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + }; + }; + + nsp-3-0-0-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsens4 14>; + + trips { + trip-point0 { + temperature =3D <105000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + + trip-point1 { + temperature =3D <115000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + }; + }; + + nsp-3-1-0-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsens4 15>; + + trips { + trip-point0 { + temperature =3D <105000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + + trip-point1 { + temperature =3D <115000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + }; + }; + + nsphvx-0-1-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsens5 0>; + + trips { + trip-point0 { + temperature =3D <105000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + + trip-point1 { + temperature =3D <115000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + }; + }; + + nsphvx-0-3-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsens5 1>; + + trips { + trip-point0 { + temperature =3D <105000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + + trip-point1 { + temperature =3D <115000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + }; + }; + + nsp-0-0-1-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsens5 2>; + + trips { + trip-point0 { + temperature =3D <105000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + + trip-point1 { + temperature =3D <115000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + }; + }; + + nsp-0-1-1-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsens5 3>; + + trips { + trip-point0 { + temperature =3D <105000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + + trip-point1 { + temperature =3D <115000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + }; + }; + + nsphvx-1-1-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsens5 4>; + + trips { + trip-point0 { + temperature =3D <105000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + + trip-point1 { + temperature =3D <115000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + }; + }; + + nsphvx-1-3-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsens5 5>; + + trips { + trip-point0 { + temperature =3D <105000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + + trip-point1 { + temperature =3D <115000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + }; + }; + + nsp-1-0-1-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsens5 6>; + + trips { + trip-point0 { + temperature =3D <105000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + + trip-point1 { + temperature =3D <115000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + }; + }; + + nsp-1-1-1-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsens5 7>; + + trips { + trip-point0 { + temperature =3D <105000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + + trip-point1 { + temperature =3D <115000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + }; + }; + + nsphvx-2-1-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsens5 8>; + + trips { + trip-point0 { + temperature =3D <105000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + + trip-point1 { + temperature =3D <115000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + }; + }; + + nsphvx-2-3-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsens5 9>; + + trips { + trip-point0 { + temperature =3D <105000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + + trip-point1 { + temperature =3D <115000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + }; + }; + + nsp-2-0-1-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsens5 10>; + + trips { + trip-point0 { + temperature =3D <105000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + + trip-point1 { + temperature =3D <115000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + }; + }; + + nsp-2-1-1-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsens5 11>; + + trips { + trip-point0 { + temperature =3D <105000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + + trip-point1 { + temperature =3D <115000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + }; + }; + + nsphvx-3-1-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsens5 12>; + + trips { + trip-point0 { + temperature =3D <105000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + + trip-point1 { + temperature =3D <115000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + }; + }; + + nsphvx-3-3-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsens5 13>; + + trips { + trip-point0 { + temperature =3D <105000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + + trip-point1 { + temperature =3D <115000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + }; + }; + + nsp-3-0-1-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsens5 14>; + + trips { + trip-point0 { + temperature =3D <105000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + + trip-point1 { + temperature =3D <115000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + }; + }; + + nsp-3-1-1-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsens5 15>; + + trips { + trip-point0 { + temperature =3D <105000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + + trip-point1 { + temperature =3D <115000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + }; + }; + + amux-6-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsens6 0>; + + trips { + trip-point0 { + temperature =3D <105000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + + trip-point1 { + temperature =3D <115000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + }; + }; + + gpuss-0-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsens6 1>; + + trips { + trip-point0 { + temperature =3D <105000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + + trip-point1 { + temperature =3D <115000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + }; + }; + + gpuss-1-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsens6 2>; + + trips { + trip-point0 { + temperature =3D <105000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + + trip-point1 { + temperature =3D <115000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + }; + }; + + gpuss-2-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsens6 3>; + + trips { + trip-point0 { + temperature =3D <105000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + + trip-point1 { + temperature =3D <115000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + }; + }; + + gpu-0-0-0-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsens6 4>; + + trips { + trip-point0 { + temperature =3D <105000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + + trip-point1 { + temperature =3D <115000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + }; + }; + + gpuss-1-0-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsens6 5>; + + trips { + trip-point0 { + temperature =3D <105000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + + trip-point1 { + temperature =3D <115000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + }; + }; + + gpuss-1-1-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsens6 6>; + + trips { + trip-point0 { + temperature =3D <105000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + + trip-point1 { + temperature =3D <115000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + }; + }; + + cv-0-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsens6 7>; + + trips { + trip-point0 { + temperature =3D <105000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + + trip-point1 { + temperature =3D <115000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + }; + }; + + video-0-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsens6 8>; + + trips { + trip-point0 { + temperature =3D <105000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + + trip-point1 { + temperature =3D <115000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + }; + }; + + camera-1-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsens6 9>; + + trips { + trip-point0 { + temperature =3D <105000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + + trip-point1 { + temperature =3D <115000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + }; + }; + + ddr-2-0-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsens6 10>; + + trips { + trip-point0 { + temperature =3D <105000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + + trip-point1 { + temperature =3D <115000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + }; + }; + + ddr-3-0-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsens6 11>; + + trips { + trip-point0 { + temperature =3D <105000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + + trip-point1 { + temperature =3D <115000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + }; + }; + + gpuss-0-1-1-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsens6 12>; + + trips { + trip-point0 { + temperature =3D <105000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + + trip-point1 { + temperature =3D <115000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + }; + }; + + gpuss-1-1-1-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsens6 13>; + + trips { + trip-point0 { + temperature =3D <105000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + + trip-point1 { + temperature =3D <115000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + }; + }; + + gpuss-2-1-1-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsens6 14>; + + trips { + trip-point0 { + temperature =3D <105000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + + trip-point1 { + temperature =3D <115000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + }; + }; + + gpu-0-1-1-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsens6 15>; + + trips { + trip-point0 { + temperature =3D <105000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + + trip-point1 { + temperature =3D <115000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + }; + }; + + amux-7-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsens7 0>; + + trips { + trip-point0 { + temperature =3D <105000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + + trip-point1 { + temperature =3D <115000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + }; + }; + + gpuss-0-1-0-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsens7 1>; + + trips { + trip-point0 { + temperature =3D <105000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + + trip-point1 { + temperature =3D <115000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + }; + }; + + gpuss-1-1-0-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsens7 2>; + + trips { + trip-point0 { + temperature =3D <105000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + + trip-point1 { + temperature =3D <115000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + }; + }; + + gpuss-2-1-0-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsens7 3>; + + trips { + trip-point0 { + temperature =3D <105000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + + trip-point1 { + temperature =3D <115000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + }; + }; + + gpu-0-1-0-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsens7 4>; + + trips { + trip-point0 { + temperature =3D <105000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + + trip-point1 { + temperature =3D <115000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + }; + }; + + gpuss-1-2-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsens7 5>; + + trips { + trip-point0 { + temperature =3D <105000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + + trip-point1 { + temperature =3D <115000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + }; + }; + + gpu-1-0-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsens7 6>; + + trips { + trip-point0 { + temperature =3D <105000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + + trip-point1 { + temperature =3D <115000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + }; + }; + + cv-1-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsens7 7>; + + trips { + trip-point0 { + temperature =3D <105000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + + trip-point1 { + temperature =3D <115000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + }; + }; + + video-1-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsens7 8>; + + trips { + trip-point0 { + temperature =3D <105000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + + trip-point1 { + temperature =3D <115000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + }; + }; + + camera-2-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsens7 9>; + + trips { + trip-point0 { + temperature =3D <105000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + + trip-point1 { + temperature =3D <115000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + }; + }; + + ddr-2-1-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsens7 10>; + + trips { + trip-point0 { + temperature =3D <105000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + + trip-point1 { + temperature =3D <115000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + }; + }; + + ddr-3-1-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsens7 11>; + + trips { + trip-point0 { + temperature =3D <105000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + + trip-point1 { + temperature =3D <115000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + }; + }; + + gpuss-0-1-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsens7 12>; + + trips { + trip-point0 { + temperature =3D <105000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + + trip-point1 { + temperature =3D <115000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + }; + }; + + gpuss-1-0-1-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsens7 13>; + + trips { + trip-point0 { + temperature =3D <105000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + + trip-point1 { + temperature =3D <115000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + }; + }; + + gpuss-2-0-1-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsens7 14>; + + trips { + trip-point0 { + temperature =3D <105000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + + trip-point1 { + temperature =3D <115000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + }; + }; + + gpu-0-0-1-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsens7 15>; + + trips { + trip-point0 { + temperature =3D <105000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + + trip-point1 { + temperature =3D <115000>; + hysteresis =3D <10000>; + type =3D "passive"; + }; + }; + }; + }; +}; --=20 2.43.0 From nobody Tue Sep 29 09:09:42 2026 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 D87593BED1E for ; Mon, 10 Aug 2026 11:08:25 +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=1786360111; cv=none; b=UDYrJpWByuzzw+1Ph4fbstQdwXOA4BqTpZIhw1DbjfKiJK+4kO0JQE6OirxgSx3qp+TWlDIfUPDf4HlHZgOb32hVvWxVp7ZZ029uFTSSACRmFnOj6xDSkcnL3+tjXS1JFgv9uazrCvjQXZCtfKjfaHMEmj8nDbvbkaaB5+38Gtg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786360111; c=relaxed/simple; bh=iWXTPmtMqIOF0mmP+aCIYUTs0ejaYfyGp4HDuA1kqUE=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=HbxfuvDF6cP6i6aD7XN0ZSlafI61HlNerVOlYcFLIEAeWvYofC6zCsndlGLjXMISQXQlC1PuTBETSTDfSTyK5l/mBS3wq44hkvpY+mLIg1SDSiJIwxKEUmbSCEFVE3fz89+aIqAP0GTXYyoOm8ydajb9mVshCQlYPgcG7GTLpf0= 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=eid15H2r; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=Ows0SW9I; 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="eid15H2r"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="Ows0SW9I" Received: from pps.filterd (m0279873.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 67A9S26P1189434 for ; Mon, 10 Aug 2026 11:08:25 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=qcppdkim1; bh=CQG8hzsUvsJ yfuajFcuAKU9rDPRvEiEWDJS8VbBt4qI=; b=eid15H2ruLX+ZULSiPE07yHg1pH cRKcXS4cP65/Qg9R95jHBR0K4dX7tsZyGlQO92N39KrT/d/42H5QgsdY4p31tnBp XfcLselpHYvSwkBKoG0fehcYyjPi8H2CCIyK70jj1ee35RfCE6JJ6N3vLSWAt+4T OZoVktTeEmSFIzYImcxbJ9L3PlpWCAFDnPPXFR9GZcyL4HHP6Mefai+DhIZ1U9L8 2mF6IGBgcMJh5kreBFo+2X7LwA75o4lSoe8zfGTm9ucg1CuSKEQilEKH+K35wrDj 8yss5vXQDI9FTNKRy66O0edz8revpNolG8cTTeLqZiccwvSZ1l8HDBclBUA== Received: from mail-pj1-f71.google.com (mail-pj1-f71.google.com [209.85.216.71]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4fy8v2974a-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Mon, 10 Aug 2026 11:08:24 +0000 (GMT) Received: by mail-pj1-f71.google.com with SMTP id 98e67ed59e1d1-385d2703b64so4265298a91.1 for ; Mon, 10 Aug 2026 04:08:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1786360104; x=1786964904; 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:content-type; bh=CQG8hzsUvsJyfuajFcuAKU9rDPRvEiEWDJS8VbBt4qI=; b=Ows0SW9IUkXmrig54wb4gP8GDPzFU0na/77Y7Fyj5pJ1pJz2jw2n/LNYVO5HVwnAhP xypJEVp1OLhIocTiEKtj6xDv51waQcKgpr70UWHcdfbcC/Y0Qt/YNd1avRe0HHsk3aIu 1rspRhzRT9Ni8+sHF+FJRgmBTP68Os19+gy4IIyBNbddI1c7m51fk16BBU1wQna4JuDM DrObdTBRiqMxoygwLD5zy3c5OC9cXoKJv4btBEg6pO8jKCznQAWNC9aD4YA2lBtorcxH IrFo8VhNARegHvE5qiNohC/a6kl7sA8zrdrZ7ORNu8o204q5tJYAH8MKtvfIN7EqvwZE fzWA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1786360104; x=1786964904; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=CQG8hzsUvsJyfuajFcuAKU9rDPRvEiEWDJS8VbBt4qI=; b=WSl7K3qpqVwGEC9FZRQEf9M6u/UXb8VQznk3BEY+5k6zTHUeCT9T57HkAFJXqQvwY/ ADapdfg8lx28GqBWhr1rLuWBAFzVdzWNN1AVohxkmlmRQDluw5avvla9JydL+X5bM2+/ fEwgYP4Qyqo7tc2NwhgnEndUjlVvj4gvH9rMmPqUTEmfUpgJColRTScVm6t++Zoc0P3J sy0yNMpHhfg84EvXIDuP+8TPBQv9TIVvhu3IaGhpbQWB0qC2MnTlJl5dCKThJtCs7caK 4Ve3YfKw6upsu3jvmG6eHTydC4CIKwJL8tLhwLAiZ9BUvGwXDX/Fkb/xh5V5CWU3ar6u QPcA== X-Forwarded-Encrypted: i=1; AHgh+Ro8lMoA+aGwvdTU8tM9X71W58SnGxGmbjdBogSj8rA+syVUjsDoY5+YhPRV1dNM63+vj9WtdPEAfZmzGqs=@vger.kernel.org X-Gm-Message-State: AOJu0Yz/c9i1HRQjAQvBSw0pDryy7UjUE/lKFLTSF/la/gFUis2rTVe7 3v9C2YbiGWJtC3cIZ2HcGGsPZxcBVDf4WxUaVsXT2cTGqW9JaoeDf5kg7UYWPdGMjyIAg12+5KF 2sEyst/++i2rTUiLa113Rncecwo4dnNNNgUZSIXJIqiPIMvgwGwUf8Qljc7jWD2FGzFg= X-Gm-Gg: AR+sD10jO+tKtSsfIvoq9wy6IEBdeZtbWMNqx+DElAt9k7fUDoz3FAleJBkph9VOVlr ZRarAJFILiqUnKIO7iGYl3MLKWV/fRNwZg9hlRquurjHDELSX38UXxfmva26rvGme+hdIxCRgQ1 Rm9ca7oxMn9wio0XsTnvLaf0+TlfXM8slrsWL/s6Ft+Xp4erAFPS+6hi3xKFupc0siTPeokmh0d XSuS6qf4NgjBiYe/YHRWKf+dgCkyVnX+ZlKAKQvkgEEgUWSWxbi1yBXyTAEWUhmzdYxzdPQtwnh SJAUuei6S1trTg7c8PXV+3pvudAkeAiwTEQuBXgnZ0SZU9wOYJbvmiVPBm30nXijmKi5Hrq1VRY gCtGwPz2CeSnHmLUv3jbuaQQHjy19QwPYwlzdsfdnDpnv/oDfJMveIgw+5liK X-Received: by 2002:a17:90b:55c8:b0:387:d5bd:6231 with SMTP id 98e67ed59e1d1-3928479c13bmr7529698a91.20.1786360102450; Mon, 10 Aug 2026 04:08:22 -0700 (PDT) X-Received: by 2002:a17:90b:55c8:b0:387:d5bd:6231 with SMTP id 98e67ed59e1d1-3928479c13bmr7529626a91.20.1786360101474; Mon, 10 Aug 2026 04:08:21 -0700 (PDT) Received: from QCOM-aGQu4IUr3Y.qualcomm.com (i-global052.qualcomm.com. [199.106.103.52]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-315bebde353sm46520198eec.23.2026.08.10.04.08.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 10 Aug 2026 04:08:21 -0700 (PDT) From: Shawn Guo To: Bjorn Andersson Cc: Konrad Dybcio , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Bartosz Golaszewski , Deepti Jaggi , Mukesh Savaliya , Yadu M G , Kuldeep Singh , devicetree@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, Bartosz Golaszewski , Shawn Guo Subject: [PATCH v10 2/6] arm64: dts: qcom: Add device tree for Nord GearVM variant Date: Mon, 10 Aug 2026 19:07:22 +0800 Message-ID: <20260810110726.775084-4-shengchao.guo@oss.qualcomm.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260810110726.775084-1-shengchao.guo@oss.qualcomm.com> References: <20260810110726.775084-1-shengchao.guo@oss.qualcomm.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 X-Authority-Analysis: v=2.4 cv=S9PpBosP c=1 sm=1 tr=0 ts=6a79b128 cx=c_pps a=UNFcQwm+pnOIJct1K4W+Mw==:117 a=b9+bayejhc3NMeqCNyeLQQ==:17 a=Sv0fKeRqtYgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=rJkE3RaqiGZ5pbrm-msn:22 a=EUspDBNiAAAA:8 a=C7SS7-jxath9lZw70LYA:9 a=uKXjsCUrEbL0IQVhDsJ9:22 X-Proofpoint-ORIG-GUID: dl3h9hBOENd_e8lmmlq0txiVAONJaLWB X-Proofpoint-GUID: dl3h9hBOENd_e8lmmlq0txiVAONJaLWB X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODEwMDA5NyBTYWx0ZWRfX4tvqYKako+Gc 3E+4dSo/kPeutlqnzkOLRDIe3bsU0lgv09ACdnUu3q8XS1fTFp7X2ODx6BLnokaqLS7GGF+cDd7 z+3i/0+WOuIOmis9K1orfxamxPA0LCxa9PTYhYXGALBxe9UyeBvUGk+YaZ7Qd+YxsKliTrQ/2Mk ZnbE+S9bQye1zDn8YdH/fteGCITTBViLLbTUCXdBRXvPfFiWZy/iaRM7pf29mhT4i34h1ieN0zn esZs8cxQNnnIO4rNJVzvcemJB3oJlY16hwWf1trvMq3NuSQ8BOIHR2p9fDt8Rujjv0tgQhBYir2 2kii8PVpgtbspMTjw56mKuDL7U2QBaOLARS7Wq2OEcPcMCfk1yHc9iY/+NdNHm9lT9FzXnaKEz2 cXkZFhTEuaImGCbTC2mVb77GTTBmY++Z+aze0KG/sPvJFfmlhimWrXV7njQz0YHtMHl2Is+NIJT 3+54wGurb3/L7fqfL3g== X-Proofpoint-Spam-Info: AW1haW4tMjYwODEwMDA5NyBTYWx0ZWRfX73D0jOOs6Xvn la2yDi8uSJZearg1VG1gTZMv1JyJp0xj9jqK/M/ISJmPyUuMmb7QqGzbCGBbKEl51E+/vWi/YNS k6EXVt8e/EQ0vGwhMamYbKfI6g6zFsw= X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-08-10_02,2026-08-07_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 bulkscore=0 adultscore=0 lowpriorityscore=0 malwarescore=0 priorityscore=1501 clxscore=1015 suspectscore=0 impostorscore=0 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608100097 Content-Type: text/plain; charset="utf-8" From: Deepti Jaggi Add SoC-level device tree include for Nord GearVM variant, where a VM controls platform resources (clocks, regulators, powerdomains, etc.) as SCMI server. It currently covers: - 64 SCMI shared memory regions reserved at 0xd7600000-0xd763f000 for SMC-based firmware communication channels - Three QUPV3 GENI SE QUP blocks (qupv3_0/1/2) with I2C/SPI/UART controllers using SCMI power and performance domains via scmi11 - UFS host controller with SCMI power domain via scmi3 Signed-off-by: Deepti Jaggi Reviewed-by: Bartosz Golaszewski Signed-off-by: Shawn Guo --- arch/arm64/boot/dts/qcom/nord-gearvm.dtsi | 2848 +++++++++++++++++++++ 1 file changed, 2848 insertions(+) create mode 100644 arch/arm64/boot/dts/qcom/nord-gearvm.dtsi diff --git a/arch/arm64/boot/dts/qcom/nord-gearvm.dtsi b/arch/arm64/boot/dt= s/qcom/nord-gearvm.dtsi new file mode 100644 index 000000000000..cd20acb89c1b --- /dev/null +++ b/arch/arm64/boot/dts/qcom/nord-gearvm.dtsi @@ -0,0 +1,2848 @@ +// SPDX-License-Identifier: BSD-3-Clause +/* + * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries. + */ + +#include "nord.dtsi" + +&firmware { + scmi0: scmi-0 { + compatible =3D "qcom,scmi-smc"; + arm,smc-id =3D <0xc6008012>; + shmem =3D <&shmem0>; + /* We expect the bootloader to update the IRQ number */ + interrupts =3D ; + interrupt-names =3D "a2p"; + #address-cells =3D <1>; + #size-cells =3D <0>; + arm,max-msg =3D <10>; + arm,max-msg-size =3D <256>; + arm,max-rx-timeout-ms =3D <3000>; + + status =3D "disabled"; + + scmi0_pd: protocol@11 { + reg =3D <0x11>; + #power-domain-cells =3D <1>; + }; + + scmi0_dvfs: protocol@13 { + reg =3D <0x13>; + #power-domain-cells =3D <1>; + }; + + scmi0_rst: protocol@16 { + reg =3D <0x16>; + #reset-cells =3D <1>; + }; + }; + + scmi1: scmi-1 { + compatible =3D "qcom,scmi-smc"; + arm,smc-id =3D <0xc6008012>; + shmem =3D <&shmem1>; + interrupts =3D ; + interrupt-names =3D "a2p"; + #address-cells =3D <1>; + #size-cells =3D <0>; + arm,max-msg =3D <10>; + arm,max-msg-size =3D <256>; + arm,max-rx-timeout-ms =3D <3000>; + + status =3D "disabled"; + + scmi1_pd: protocol@11 { + reg =3D <0x11>; + #power-domain-cells =3D <1>; + }; + + scmi1_dvfs: protocol@13 { + reg =3D <0x13>; + #power-domain-cells =3D <1>; + }; + + scmi1_rst: protocol@16 { + reg =3D <0x16>; + #reset-cells =3D <1>; + }; + }; + + scmi2: scmi-2 { + compatible =3D "qcom,scmi-smc"; + arm,smc-id =3D <0xc6008012>; + shmem =3D <&shmem2>; + interrupts =3D ; + interrupt-names =3D "a2p"; + #address-cells =3D <1>; + #size-cells =3D <0>; + arm,max-msg =3D <10>; + arm,max-msg-size =3D <256>; + arm,max-rx-timeout-ms =3D <3000>; + + status =3D "disabled"; + + scmi2_pd: protocol@11 { + reg =3D <0x11>; + #power-domain-cells =3D <1>; + }; + + scmi2_dvfs: protocol@13 { + reg =3D <0x13>; + #power-domain-cells =3D <1>; + }; + + scmi2_rst: protocol@16 { + reg =3D <0x16>; + #reset-cells =3D <1>; + }; + }; + + scmi3: scmi-3 { + compatible =3D "qcom,scmi-smc"; + arm,smc-id =3D <0xc6008012>; + shmem =3D <&shmem3>; + interrupts =3D ; + interrupt-names =3D "a2p"; + #address-cells =3D <1>; + #size-cells =3D <0>; + arm,max-msg =3D <10>; + arm,max-msg-size =3D <256>; + arm,max-rx-timeout-ms =3D <3000>; + + status =3D "disabled"; + + scmi3_pd: protocol@11 { + reg =3D <0x11>; + #power-domain-cells =3D <1>; + }; + + scmi3_dvfs: protocol@13 { + reg =3D <0x13>; + #power-domain-cells =3D <1>; + }; + + scmi3_rst: protocol@16 { + reg =3D <0x16>; + #reset-cells =3D <1>; + }; + }; + + scmi4: scmi-4 { + compatible =3D "qcom,scmi-smc"; + arm,smc-id =3D <0xc6008012>; + shmem =3D <&shmem4>; + interrupts =3D ; + interrupt-names =3D "a2p"; + #address-cells =3D <1>; + #size-cells =3D <0>; + arm,max-msg =3D <10>; + arm,max-msg-size =3D <256>; + arm,max-rx-timeout-ms =3D <3000>; + + status =3D "disabled"; + + scmi4_pd: protocol@11 { + reg =3D <0x11>; + #power-domain-cells =3D <1>; + }; + + scmi4_dvfs: protocol@13 { + reg =3D <0x13>; + #power-domain-cells =3D <1>; + }; + + scmi4_rst: protocol@16 { + reg =3D <0x16>; + #reset-cells =3D <1>; + }; + }; + + scmi5: scmi-5 { + compatible =3D "qcom,scmi-smc"; + arm,smc-id =3D <0xc6008012>; + shmem =3D <&shmem5>; + interrupts =3D ; + interrupt-names =3D "a2p"; + #address-cells =3D <1>; + #size-cells =3D <0>; + arm,max-msg =3D <10>; + arm,max-msg-size =3D <256>; + arm,max-rx-timeout-ms =3D <3000>; + + status =3D "disabled"; + + scmi5_pd: protocol@11 { + reg =3D <0x11>; + #power-domain-cells =3D <1>; + }; + + scmi5_dvfs: protocol@13 { + reg =3D <0x13>; + #power-domain-cells =3D <1>; + }; + + scmi5_rst: protocol@16 { + reg =3D <0x16>; + #reset-cells =3D <1>; + }; + }; + + scmi6: scmi-6 { + compatible =3D "qcom,scmi-smc"; + arm,smc-id =3D <0xc6008012>; + shmem =3D <&shmem6>; + interrupts =3D ; + interrupt-names =3D "a2p"; + #address-cells =3D <1>; + #size-cells =3D <0>; + arm,max-msg =3D <10>; + arm,max-msg-size =3D <256>; + arm,max-rx-timeout-ms =3D <3000>; + + status =3D "disabled"; + + scmi6_pd: protocol@11 { + reg =3D <0x11>; + #power-domain-cells =3D <1>; + }; + + scmi6_dvfs: protocol@13 { + reg =3D <0x13>; + #power-domain-cells =3D <1>; + }; + + scmi6_rst: protocol@16 { + reg =3D <0x16>; + #reset-cells =3D <1>; + }; + }; + + scmi7: scmi-7 { + compatible =3D "qcom,scmi-smc"; + arm,smc-id =3D <0xc6008012>; + shmem =3D <&shmem7>; + interrupts =3D ; + interrupt-names =3D "a2p"; + #address-cells =3D <1>; + #size-cells =3D <0>; + arm,max-msg =3D <10>; + arm,max-msg-size =3D <256>; + arm,max-rx-timeout-ms =3D <3000>; + + status =3D "disabled"; + + scmi7_pd: protocol@11 { + reg =3D <0x11>; + #power-domain-cells =3D <1>; + }; + + scmi7_dvfs: protocol@13 { + reg =3D <0x13>; + #power-domain-cells =3D <1>; + }; + + scmi7_rst: protocol@16 { + reg =3D <0x16>; + #reset-cells =3D <1>; + }; + }; + + scmi8: scmi-8 { + compatible =3D "qcom,scmi-smc"; + arm,smc-id =3D <0xc6008012>; + shmem =3D <&shmem8>; + interrupts =3D ; + interrupt-names =3D "a2p"; + #address-cells =3D <1>; + #size-cells =3D <0>; + arm,max-msg =3D <10>; + arm,max-msg-size =3D <256>; + arm,max-rx-timeout-ms =3D <3000>; + + status =3D "disabled"; + + scmi8_pd: protocol@11 { + reg =3D <0x11>; + #power-domain-cells =3D <1>; + }; + + scmi8_dvfs: protocol@13 { + reg =3D <0x13>; + #power-domain-cells =3D <1>; + }; + + scmi8_rst: protocol@16 { + reg =3D <0x16>; + #reset-cells =3D <1>; + }; + }; + + scmi9: scmi-9 { + compatible =3D "qcom,scmi-smc"; + arm,smc-id =3D <0xc6008012>; + shmem =3D <&shmem9>; + interrupts =3D ; + interrupt-names =3D "a2p"; + #address-cells =3D <1>; + #size-cells =3D <0>; + arm,max-msg =3D <10>; + arm,max-msg-size =3D <256>; + arm,max-rx-timeout-ms =3D <3000>; + + status =3D "disabled"; + + scmi9_pd: protocol@11 { + reg =3D <0x11>; + #power-domain-cells =3D <1>; + }; + + scmi9_dvfs: protocol@13 { + reg =3D <0x13>; + #power-domain-cells =3D <1>; + }; + + scmi9_rst: protocol@16 { + reg =3D <0x16>; + #reset-cells =3D <1>; + }; + }; + + scmi10: scmi-10 { + compatible =3D "qcom,scmi-smc"; + arm,smc-id =3D <0xc6008012>; + shmem =3D <&shmem10>; + interrupts =3D ; + interrupt-names =3D "a2p"; + #address-cells =3D <1>; + #size-cells =3D <0>; + arm,max-msg =3D <10>; + arm,max-msg-size =3D <256>; + arm,max-rx-timeout-ms =3D <3000>; + + status =3D "disabled"; + + scmi10_pd: protocol@11 { + reg =3D <0x11>; + #power-domain-cells =3D <1>; + }; + + scmi10_dvfs: protocol@13 { + reg =3D <0x13>; + #power-domain-cells =3D <1>; + }; + + scmi10_rst: protocol@16 { + reg =3D <0x16>; + #reset-cells =3D <1>; + }; + }; + + scmi11: scmi-11 { + compatible =3D "qcom,scmi-smc"; + arm,smc-id =3D <0xc6008012>; + shmem =3D <&shmem11>; + interrupts =3D ; + interrupt-names =3D "a2p"; + #address-cells =3D <1>; + #size-cells =3D <0>; + arm,max-msg =3D <10>; + arm,max-msg-size =3D <256>; + arm,max-rx-timeout-ms =3D <3000>; + + status =3D "disabled"; + + scmi11_pd: protocol@11 { + reg =3D <0x11>; + #power-domain-cells =3D <1>; + }; + + scmi11_dvfs: protocol@13 { + reg =3D <0x13>; + #power-domain-cells =3D <1>; + }; + + scmi11_rst: protocol@16 { + reg =3D <0x16>; + #reset-cells =3D <1>; + }; + }; + + scmi12: scmi-12 { + compatible =3D "qcom,scmi-smc"; + arm,smc-id =3D <0xc6008012>; + shmem =3D <&shmem12>; + interrupts =3D ; + interrupt-names =3D "a2p"; + #address-cells =3D <1>; + #size-cells =3D <0>; + arm,max-msg =3D <10>; + arm,max-msg-size =3D <256>; + arm,max-rx-timeout-ms =3D <3000>; + + status =3D "disabled"; + + scmi12_pd: protocol@11 { + reg =3D <0x11>; + #power-domain-cells =3D <1>; + }; + + scmi12_dvfs: protocol@13 { + reg =3D <0x13>; + #power-domain-cells =3D <1>; + }; + + scmi12_rst: protocol@16 { + reg =3D <0x16>; + #reset-cells =3D <1>; + }; + }; + + scmi13: scmi-13 { + compatible =3D "qcom,scmi-smc"; + arm,smc-id =3D <0xc6008012>; + shmem =3D <&shmem13>; + interrupts =3D ; + interrupt-names =3D "a2p"; + #address-cells =3D <1>; + #size-cells =3D <0>; + arm,max-msg =3D <10>; + arm,max-msg-size =3D <256>; + arm,max-rx-timeout-ms =3D <3000>; + + status =3D "disabled"; + + scmi13_pd: protocol@11 { + reg =3D <0x11>; + #power-domain-cells =3D <1>; + }; + + scmi13_dvfs: protocol@13 { + reg =3D <0x13>; + #power-domain-cells =3D <1>; + }; + + scmi13_rst: protocol@16 { + reg =3D <0x16>; + #reset-cells =3D <1>; + }; + }; + + scmi14: scmi-14 { + compatible =3D "qcom,scmi-smc"; + arm,smc-id =3D <0xc6008012>; + shmem =3D <&shmem14>; + interrupts =3D ; + interrupt-names =3D "a2p"; + #address-cells =3D <1>; + #size-cells =3D <0>; + arm,max-msg =3D <10>; + arm,max-msg-size =3D <256>; + arm,max-rx-timeout-ms =3D <3000>; + + status =3D "disabled"; + + scmi14_pd: protocol@11 { + reg =3D <0x11>; + #power-domain-cells =3D <1>; + }; + + scmi14_dvfs: protocol@13 { + reg =3D <0x13>; + #power-domain-cells =3D <1>; + }; + + scmi14_rst: protocol@16 { + reg =3D <0x16>; + #reset-cells =3D <1>; + }; + }; + + scmi15: scmi-15 { + compatible =3D "qcom,scmi-smc"; + arm,smc-id =3D <0xc6008012>; + shmem =3D <&shmem15>; + interrupts =3D ; + interrupt-names =3D "a2p"; + #address-cells =3D <1>; + #size-cells =3D <0>; + arm,max-msg =3D <10>; + arm,max-msg-size =3D <256>; + arm,max-rx-timeout-ms =3D <3000>; + + status =3D "disabled"; + + scmi15_pd: protocol@11 { + reg =3D <0x11>; + #power-domain-cells =3D <1>; + }; + + scmi15_dvfs: protocol@13 { + reg =3D <0x13>; + #power-domain-cells =3D <1>; + }; + + scmi15_rst: protocol@16 { + reg =3D <0x16>; + #reset-cells =3D <1>; + }; + }; + + scmi16: scmi-16 { + compatible =3D "qcom,scmi-smc"; + arm,smc-id =3D <0xc6008012>; + shmem =3D <&shmem16>; + interrupts =3D ; + interrupt-names =3D "a2p"; + #address-cells =3D <1>; + #size-cells =3D <0>; + arm,max-msg =3D <10>; + arm,max-msg-size =3D <256>; + arm,max-rx-timeout-ms =3D <3000>; + + status =3D "disabled"; + + scmi16_pd: protocol@11 { + reg =3D <0x11>; + #power-domain-cells =3D <1>; + }; + + scmi16_dvfs: protocol@13 { + reg =3D <0x13>; + #power-domain-cells =3D <1>; + }; + + scmi16_rst: protocol@16 { + reg =3D <0x16>; + #reset-cells =3D <1>; + }; + }; + + scmi17: scmi-17 { + compatible =3D "qcom,scmi-smc"; + arm,smc-id =3D <0xc6008012>; + shmem =3D <&shmem17>; + interrupts =3D ; + interrupt-names =3D "a2p"; + #address-cells =3D <1>; + #size-cells =3D <0>; + arm,max-msg =3D <10>; + arm,max-msg-size =3D <256>; + arm,max-rx-timeout-ms =3D <3000>; + + status =3D "disabled"; + + scmi17_pd: protocol@11 { + reg =3D <0x11>; + #power-domain-cells =3D <1>; + }; + + scmi17_dvfs: protocol@13 { + reg =3D <0x13>; + #power-domain-cells =3D <1>; + }; + + scmi17_rst: protocol@16 { + reg =3D <0x16>; + #reset-cells =3D <1>; + }; + }; + + scmi18: scmi-18 { + compatible =3D "qcom,scmi-smc"; + arm,smc-id =3D <0xc6008012>; + shmem =3D <&shmem18>; + interrupts =3D ; + interrupt-names =3D "a2p"; + #address-cells =3D <1>; + #size-cells =3D <0>; + arm,max-msg =3D <10>; + arm,max-msg-size =3D <256>; + arm,max-rx-timeout-ms =3D <3000>; + + status =3D "disabled"; + + scmi18_pd: protocol@11 { + reg =3D <0x11>; + #power-domain-cells =3D <1>; + }; + + scmi18_dvfs: protocol@13 { + reg =3D <0x13>; + #power-domain-cells =3D <1>; + }; + + scmi18_rst: protocol@16 { + reg =3D <0x16>; + #reset-cells =3D <1>; + }; + }; + + scmi19: scmi-19 { + compatible =3D "qcom,scmi-smc"; + arm,smc-id =3D <0xc6008012>; + shmem =3D <&shmem19>; + interrupts =3D ; + interrupt-names =3D "a2p"; + #address-cells =3D <1>; + #size-cells =3D <0>; + arm,max-msg =3D <10>; + arm,max-msg-size =3D <256>; + arm,max-rx-timeout-ms =3D <3000>; + + status =3D "disabled"; + + scmi19_pd: protocol@11 { + reg =3D <0x11>; + #power-domain-cells =3D <1>; + }; + + scmi19_dvfs: protocol@13 { + reg =3D <0x13>; + #power-domain-cells =3D <1>; + }; + + scmi19_rst: protocol@16 { + reg =3D <0x16>; + #reset-cells =3D <1>; + }; + }; + + scmi20: scmi-20 { + compatible =3D "qcom,scmi-smc"; + arm,smc-id =3D <0xc6008012>; + shmem =3D <&shmem20>; + interrupts =3D ; + interrupt-names =3D "a2p"; + #address-cells =3D <1>; + #size-cells =3D <0>; + arm,max-msg =3D <10>; + arm,max-msg-size =3D <256>; + arm,max-rx-timeout-ms =3D <3000>; + + status =3D "disabled"; + + scmi20_pd: protocol@11 { + reg =3D <0x11>; + #power-domain-cells =3D <1>; + }; + + scmi20_dvfs: protocol@13 { + reg =3D <0x13>; + #power-domain-cells =3D <1>; + }; + + scmi20_rst: protocol@16 { + reg =3D <0x16>; + #reset-cells =3D <1>; + }; + }; + + scmi21: scmi-21 { + compatible =3D "qcom,scmi-smc"; + arm,smc-id =3D <0xc6008012>; + shmem =3D <&shmem21>; + interrupts =3D ; + interrupt-names =3D "a2p"; + #address-cells =3D <1>; + #size-cells =3D <0>; + arm,max-msg =3D <10>; + arm,max-msg-size =3D <256>; + arm,max-rx-timeout-ms =3D <3000>; + + status =3D "disabled"; + + scmi21_pd: protocol@11 { + reg =3D <0x11>; + #power-domain-cells =3D <1>; + }; + + scmi21_dvfs: protocol@13 { + reg =3D <0x13>; + #power-domain-cells =3D <1>; + }; + + scmi21_rst: protocol@16 { + reg =3D <0x16>; + #reset-cells =3D <1>; + }; + }; + + scmi22: scmi-22 { + compatible =3D "qcom,scmi-smc"; + arm,smc-id =3D <0xc6008012>; + shmem =3D <&shmem22>; + interrupts =3D ; + interrupt-names =3D "a2p"; + #address-cells =3D <1>; + #size-cells =3D <0>; + arm,max-msg =3D <10>; + arm,max-msg-size =3D <256>; + arm,max-rx-timeout-ms =3D <3000>; + + status =3D "disabled"; + + scmi22_pd: protocol@11 { + reg =3D <0x11>; + #power-domain-cells =3D <1>; + }; + + scmi22_dvfs: protocol@13 { + reg =3D <0x13>; + #power-domain-cells =3D <1>; + }; + + scmi22_rst: protocol@16 { + reg =3D <0x16>; + #reset-cells =3D <1>; + }; + }; + + scmi23: scmi-23 { + compatible =3D "qcom,scmi-smc"; + arm,smc-id =3D <0xc6008012>; + shmem =3D <&shmem23>; + interrupts =3D ; + interrupt-names =3D "a2p"; + #address-cells =3D <1>; + #size-cells =3D <0>; + arm,max-msg =3D <10>; + arm,max-msg-size =3D <256>; + arm,max-rx-timeout-ms =3D <3000>; + + status =3D "disabled"; + + scmi23_sensor: protocol@15 { + reg =3D <0x15>; + #thermal-sensor-cells =3D <1>; + }; + }; + + scmi24: scmi-24 { + compatible =3D "qcom,scmi-smc"; + arm,smc-id =3D <0xc6008012>; + shmem =3D <&shmem24>; + interrupts =3D ; + interrupt-names =3D "a2p"; + #address-cells =3D <1>; + #size-cells =3D <0>; + arm,max-msg =3D <10>; + arm,max-msg-size =3D <256>; + arm,max-rx-timeout-ms =3D <3000>; + + status =3D "disabled"; + + scmi24_pd: protocol@11 { + reg =3D <0x11>; + #power-domain-cells =3D <1>; + }; + + scmi24_dvfs: protocol@13 { + reg =3D <0x13>; + #power-domain-cells =3D <1>; + }; + + scmi24_rst: protocol@16 { + reg =3D <0x16>; + #reset-cells =3D <1>; + }; + }; + + scmi25: scmi-25 { + compatible =3D "qcom,scmi-smc"; + arm,smc-id =3D <0xc6008012>; + shmem =3D <&shmem25>; + interrupts =3D ; + interrupt-names =3D "a2p"; + #address-cells =3D <1>; + #size-cells =3D <0>; + arm,max-msg =3D <10>; + arm,max-msg-size =3D <256>; + arm,max-rx-timeout-ms =3D <3000>; + + status =3D "disabled"; + + scmi25_pd: protocol@11 { + reg =3D <0x11>; + #power-domain-cells =3D <1>; + }; + + scmi25_dvfs: protocol@13 { + reg =3D <0x13>; + #power-domain-cells =3D <1>; + }; + + scmi25_rst: protocol@16 { + reg =3D <0x16>; + #reset-cells =3D <1>; + }; + }; + + scmi26: scmi-26 { + compatible =3D "qcom,scmi-smc"; + arm,smc-id =3D <0xc6008012>; + shmem =3D <&shmem26>; + interrupts =3D ; + interrupt-names =3D "a2p"; + #address-cells =3D <1>; + #size-cells =3D <0>; + arm,max-msg =3D <10>; + arm,max-msg-size =3D <256>; + arm,max-rx-timeout-ms =3D <3000>; + + status =3D "disabled"; + + scmi26_pd: protocol@11 { + reg =3D <0x11>; + #power-domain-cells =3D <1>; + }; + + scmi26_dvfs: protocol@13 { + reg =3D <0x13>; + #power-domain-cells =3D <1>; + }; + + scmi26_rst: protocol@16 { + reg =3D <0x16>; + #reset-cells =3D <1>; + }; + }; + + scmi27: scmi-27 { + compatible =3D "qcom,scmi-smc"; + arm,smc-id =3D <0xc6008012>; + shmem =3D <&shmem27>; + interrupts =3D ; + interrupt-names =3D "a2p"; + #address-cells =3D <1>; + #size-cells =3D <0>; + arm,max-msg =3D <10>; + arm,max-msg-size =3D <256>; + arm,max-rx-timeout-ms =3D <3000>; + + status =3D "disabled"; + + scmi27_pd: protocol@11 { + reg =3D <0x11>; + #power-domain-cells =3D <1>; + }; + + scmi27_dvfs: protocol@13 { + reg =3D <0x13>; + #power-domain-cells =3D <1>; + }; + + scmi27_rst: protocol@16 { + reg =3D <0x16>; + #reset-cells =3D <1>; + }; + }; + + scmi28: scmi-28 { + compatible =3D "qcom,scmi-smc"; + arm,smc-id =3D <0xc6008012>; + shmem =3D <&shmem28>; + interrupts =3D ; + interrupt-names =3D "a2p"; + #address-cells =3D <1>; + #size-cells =3D <0>; + arm,max-msg =3D <10>; + arm,max-msg-size =3D <256>; + arm,max-rx-timeout-ms =3D <3000>; + + status =3D "disabled"; + + scmi28_pd: protocol@11 { + reg =3D <0x11>; + #power-domain-cells =3D <1>; + }; + + scmi28_dvfs: protocol@13 { + reg =3D <0x13>; + #power-domain-cells =3D <1>; + }; + + scmi28_rst: protocol@16 { + reg =3D <0x16>; + #reset-cells =3D <1>; + }; + }; + + scmi29: scmi-29 { + compatible =3D "qcom,scmi-smc"; + arm,smc-id =3D <0xc6008012>; + shmem =3D <&shmem29>; + interrupts =3D ; + interrupt-names =3D "a2p"; + #address-cells =3D <1>; + #size-cells =3D <0>; + arm,max-msg =3D <10>; + arm,max-msg-size =3D <256>; + arm,max-rx-timeout-ms =3D <3000>; + + status =3D "disabled"; + + scmi29_pd: protocol@11 { + reg =3D <0x11>; + #power-domain-cells =3D <1>; + }; + + scmi29_dvfs: protocol@13 { + reg =3D <0x13>; + #power-domain-cells =3D <1>; + }; + + scmi29_rst: protocol@16 { + reg =3D <0x16>; + #reset-cells =3D <1>; + }; + }; + + scmi30: scmi-30 { + compatible =3D "qcom,scmi-smc"; + arm,smc-id =3D <0xc6008012>; + shmem =3D <&shmem30>; + interrupts =3D ; + interrupt-names =3D "a2p"; + #address-cells =3D <1>; + #size-cells =3D <0>; + arm,max-msg =3D <10>; + arm,max-msg-size =3D <256>; + arm,max-rx-timeout-ms =3D <3000>; + + status =3D "disabled"; + + scmi30_pd: protocol@11 { + reg =3D <0x11>; + #power-domain-cells =3D <1>; + }; + + scmi30_dvfs: protocol@13 { + reg =3D <0x13>; + #power-domain-cells =3D <1>; + }; + + scmi30_rst: protocol@16 { + reg =3D <0x16>; + #reset-cells =3D <1>; + }; + }; + + scmi31: scmi-31 { + compatible =3D "qcom,scmi-smc"; + arm,smc-id =3D <0xc6008012>; + shmem =3D <&shmem31>; + interrupts =3D ; + interrupt-names =3D "a2p"; + #address-cells =3D <1>; + #size-cells =3D <0>; + arm,max-msg =3D <10>; + arm,max-msg-size =3D <256>; + arm,max-rx-timeout-ms =3D <3000>; + + status =3D "disabled"; + + scmi31_pd: protocol@11 { + reg =3D <0x11>; + #power-domain-cells =3D <1>; + }; + + scmi31_dvfs: protocol@13 { + reg =3D <0x13>; + #power-domain-cells =3D <1>; + }; + + scmi31_rst: protocol@16 { + reg =3D <0x16>; + #reset-cells =3D <1>; + }; + }; + + scmi32: scmi-32 { + compatible =3D "qcom,scmi-smc"; + arm,smc-id =3D <0xc6008012>; + shmem =3D <&shmem32>; + interrupts =3D ; + interrupt-names =3D "a2p"; + #address-cells =3D <1>; + #size-cells =3D <0>; + arm,max-msg =3D <10>; + arm,max-msg-size =3D <256>; + arm,max-rx-timeout-ms =3D <3000>; + + status =3D "disabled"; + + scmi32_pd: protocol@11 { + reg =3D <0x11>; + #power-domain-cells =3D <1>; + }; + + scmi32_dvfs: protocol@13 { + reg =3D <0x13>; + #power-domain-cells =3D <1>; + }; + + scmi32_rst: protocol@16 { + reg =3D <0x16>; + #reset-cells =3D <1>; + }; + }; + + scmi33: scmi-33 { + compatible =3D "qcom,scmi-smc"; + arm,smc-id =3D <0xc6008012>; + shmem =3D <&shmem33>; + interrupts =3D ; + interrupt-names =3D "a2p"; + #address-cells =3D <1>; + #size-cells =3D <0>; + arm,max-msg =3D <10>; + arm,max-msg-size =3D <256>; + arm,max-rx-timeout-ms =3D <3000>; + + status =3D "disabled"; + + scmi33_pd: protocol@11 { + reg =3D <0x11>; + #power-domain-cells =3D <1>; + }; + + scmi33_dvfs: protocol@13 { + reg =3D <0x13>; + #power-domain-cells =3D <1>; + }; + + scmi33_rst: protocol@16 { + reg =3D <0x16>; + #reset-cells =3D <1>; + }; + }; + + scmi34: scmi-34 { + compatible =3D "qcom,scmi-smc"; + arm,smc-id =3D <0xc6008012>; + shmem =3D <&shmem34>; + interrupts =3D ; + interrupt-names =3D "a2p"; + #address-cells =3D <1>; + #size-cells =3D <0>; + arm,max-msg =3D <10>; + arm,max-msg-size =3D <256>; + arm,max-rx-timeout-ms =3D <3000>; + + status =3D "disabled"; + + scmi34_pd: protocol@11 { + reg =3D <0x11>; + #power-domain-cells =3D <1>; + }; + + scmi34_dvfs: protocol@13 { + reg =3D <0x13>; + #power-domain-cells =3D <1>; + }; + + scmi34_rst: protocol@16 { + reg =3D <0x16>; + #reset-cells =3D <1>; + }; + }; + + scmi35: scmi-35 { + compatible =3D "qcom,scmi-smc"; + arm,smc-id =3D <0xc6008012>; + shmem =3D <&shmem35>; + interrupts =3D ; + interrupt-names =3D "a2p"; + #address-cells =3D <1>; + #size-cells =3D <0>; + arm,max-msg =3D <10>; + arm,max-msg-size =3D <256>; + arm,max-rx-timeout-ms =3D <3000>; + + status =3D "disabled"; + + scmi35_pd: protocol@11 { + reg =3D <0x11>; + #power-domain-cells =3D <1>; + }; + + scmi35_dvfs: protocol@13 { + reg =3D <0x13>; + #power-domain-cells =3D <1>; + }; + + scmi35_rst: protocol@16 { + reg =3D <0x16>; + #reset-cells =3D <1>; + }; + }; + + scmi36: scmi-36 { + compatible =3D "qcom,scmi-smc"; + arm,smc-id =3D <0xc6008012>; + shmem =3D <&shmem36>; + interrupts =3D ; + interrupt-names =3D "a2p"; + #address-cells =3D <1>; + #size-cells =3D <0>; + arm,max-msg =3D <10>; + arm,max-msg-size =3D <256>; + arm,max-rx-timeout-ms =3D <3000>; + + status =3D "disabled"; + + scmi36_pd: protocol@11 { + reg =3D <0x11>; + #power-domain-cells =3D <1>; + }; + + scmi36_dvfs: protocol@13 { + reg =3D <0x13>; + #power-domain-cells =3D <1>; + }; + + scmi36_rst: protocol@16 { + reg =3D <0x16>; + #reset-cells =3D <1>; + }; + }; + + scmi37: scmi-37 { + compatible =3D "qcom,scmi-smc"; + arm,smc-id =3D <0xc6008012>; + shmem =3D <&shmem37>; + interrupts =3D ; + interrupt-names =3D "a2p"; + #address-cells =3D <1>; + #size-cells =3D <0>; + arm,max-msg =3D <10>; + arm,max-msg-size =3D <256>; + arm,max-rx-timeout-ms =3D <3000>; + + status =3D "disabled"; + + scmi37_pd: protocol@11 { + reg =3D <0x11>; + #power-domain-cells =3D <1>; + }; + + scmi37_dvfs: protocol@13 { + reg =3D <0x13>; + #power-domain-cells =3D <1>; + }; + + scmi37_rst: protocol@16 { + reg =3D <0x16>; + #reset-cells =3D <1>; + }; + }; + + scmi38: scmi-38 { + compatible =3D "qcom,scmi-smc"; + arm,smc-id =3D <0xc6008012>; + shmem =3D <&shmem38>; + interrupts =3D ; + interrupt-names =3D "a2p"; + #address-cells =3D <1>; + #size-cells =3D <0>; + arm,max-msg =3D <10>; + arm,max-msg-size =3D <256>; + arm,max-rx-timeout-ms =3D <3000>; + + status =3D "disabled"; + + scmi38_pd: protocol@11 { + reg =3D <0x11>; + #power-domain-cells =3D <1>; + }; + + scmi38_dvfs: protocol@13 { + reg =3D <0x13>; + #power-domain-cells =3D <1>; + }; + + scmi38_rst: protocol@16 { + reg =3D <0x16>; + #reset-cells =3D <1>; + }; + }; + + scmi39: scmi-39 { + compatible =3D "qcom,scmi-smc"; + arm,smc-id =3D <0xc6008012>; + shmem =3D <&shmem39>; + interrupts =3D ; + interrupt-names =3D "a2p"; + #address-cells =3D <1>; + #size-cells =3D <0>; + arm,max-msg =3D <10>; + arm,max-msg-size =3D <256>; + arm,max-rx-timeout-ms =3D <3000>; + + status =3D "disabled"; + + scmi39_pd: protocol@11 { + reg =3D <0x11>; + #power-domain-cells =3D <1>; + }; + + scmi39_dvfs: protocol@13 { + reg =3D <0x13>; + #power-domain-cells =3D <1>; + }; + + scmi39_rst: protocol@16 { + reg =3D <0x16>; + #reset-cells =3D <1>; + }; + }; + + scmi40: scmi-40 { + compatible =3D "qcom,scmi-smc"; + arm,smc-id =3D <0xc6008012>; + shmem =3D <&shmem40>; + interrupts =3D ; + interrupt-names =3D "a2p"; + #address-cells =3D <1>; + #size-cells =3D <0>; + arm,max-msg =3D <10>; + arm,max-msg-size =3D <256>; + arm,max-rx-timeout-ms =3D <3000>; + + status =3D "disabled"; + + scmi40_pd: protocol@11 { + reg =3D <0x11>; + #power-domain-cells =3D <1>; + }; + + scmi40_dvfs: protocol@13 { + reg =3D <0x13>; + #power-domain-cells =3D <1>; + }; + + scmi40_rst: protocol@16 { + reg =3D <0x16>; + #reset-cells =3D <1>; + }; + }; + + scmi41: scmi-41 { + compatible =3D "qcom,scmi-smc"; + arm,smc-id =3D <0xc6008012>; + shmem =3D <&shmem41>; + interrupts =3D ; + interrupt-names =3D "a2p"; + #address-cells =3D <1>; + #size-cells =3D <0>; + arm,max-msg =3D <10>; + arm,max-msg-size =3D <256>; + arm,max-rx-timeout-ms =3D <3000>; + + status =3D "disabled"; + + scmi41_pd: protocol@11 { + reg =3D <0x11>; + #power-domain-cells =3D <1>; + }; + + scmi41_dvfs: protocol@13 { + reg =3D <0x13>; + #power-domain-cells =3D <1>; + }; + + scmi41_rst: protocol@16 { + reg =3D <0x16>; + #reset-cells =3D <1>; + }; + }; + + scmi42: scmi-42 { + compatible =3D "qcom,scmi-smc"; + arm,smc-id =3D <0xc6008012>; + shmem =3D <&shmem42>; + interrupts =3D ; + interrupt-names =3D "a2p"; + #address-cells =3D <1>; + #size-cells =3D <0>; + arm,max-msg =3D <10>; + arm,max-msg-size =3D <256>; + arm,max-rx-timeout-ms =3D <3000>; + + status =3D "disabled"; + + scmi42_pd: protocol@11 { + reg =3D <0x11>; + #power-domain-cells =3D <1>; + }; + + scmi42_dvfs: protocol@13 { + reg =3D <0x13>; + #power-domain-cells =3D <1>; + }; + + scmi42_rst: protocol@16 { + reg =3D <0x16>; + #reset-cells =3D <1>; + }; + }; + + scmi43: scmi-43 { + compatible =3D "qcom,scmi-smc"; + arm,smc-id =3D <0xc6008012>; + shmem =3D <&shmem43>; + interrupts =3D ; + interrupt-names =3D "a2p"; + #address-cells =3D <1>; + #size-cells =3D <0>; + arm,max-msg =3D <10>; + arm,max-msg-size =3D <256>; + arm,max-rx-timeout-ms =3D <3000>; + + status =3D "disabled"; + + scmi43_pd: protocol@11 { + reg =3D <0x11>; + #power-domain-cells =3D <1>; + }; + + scmi43_dvfs: protocol@13 { + reg =3D <0x13>; + #power-domain-cells =3D <1>; + }; + + scmi43_rst: protocol@16 { + reg =3D <0x16>; + #reset-cells =3D <1>; + }; + }; + + scmi44: scmi-44 { + compatible =3D "qcom,scmi-smc"; + arm,smc-id =3D <0xc6008012>; + shmem =3D <&shmem44>; + interrupts =3D ; + interrupt-names =3D "a2p"; + #address-cells =3D <1>; + #size-cells =3D <0>; + arm,max-msg =3D <10>; + arm,max-msg-size =3D <256>; + arm,max-rx-timeout-ms =3D <3000>; + + status =3D "disabled"; + + scmi44_pd: protocol@11 { + reg =3D <0x11>; + #power-domain-cells =3D <1>; + }; + + scmi44_dvfs: protocol@13 { + reg =3D <0x13>; + #power-domain-cells =3D <1>; + }; + + scmi44_rst: protocol@16 { + reg =3D <0x16>; + #reset-cells =3D <1>; + }; + }; + + scmi45: scmi-45 { + compatible =3D "qcom,scmi-smc"; + arm,smc-id =3D <0xc6008012>; + shmem =3D <&shmem45>; + interrupts =3D ; + interrupt-names =3D "a2p"; + #address-cells =3D <1>; + #size-cells =3D <0>; + arm,max-msg =3D <10>; + arm,max-msg-size =3D <256>; + arm,max-rx-timeout-ms =3D <3000>; + + status =3D "disabled"; + + scmi45_pd: protocol@11 { + reg =3D <0x11>; + #power-domain-cells =3D <1>; + }; + + scmi45_dvfs: protocol@13 { + reg =3D <0x13>; + #power-domain-cells =3D <1>; + }; + + scmi45_rst: protocol@16 { + reg =3D <0x16>; + #reset-cells =3D <1>; + }; + }; + + scmi46: scmi-46 { + compatible =3D "qcom,scmi-smc"; + arm,smc-id =3D <0xc6008012>; + shmem =3D <&shmem46>; + interrupts =3D ; + interrupt-names =3D "a2p"; + #address-cells =3D <1>; + #size-cells =3D <0>; + arm,max-msg =3D <10>; + arm,max-msg-size =3D <256>; + arm,max-rx-timeout-ms =3D <3000>; + + status =3D "disabled"; + + scmi46_pd: protocol@11 { + reg =3D <0x11>; + #power-domain-cells =3D <1>; + }; + + scmi46_dvfs: protocol@13 { + reg =3D <0x13>; + #power-domain-cells =3D <1>; + }; + + scmi46_rst: protocol@16 { + reg =3D <0x16>; + #reset-cells =3D <1>; + }; + }; + + scmi47: scmi-47 { + compatible =3D "qcom,scmi-smc"; + arm,smc-id =3D <0xc6008012>; + shmem =3D <&shmem47>; + interrupts =3D ; + interrupt-names =3D "a2p"; + #address-cells =3D <1>; + #size-cells =3D <0>; + arm,max-msg =3D <10>; + arm,max-msg-size =3D <256>; + arm,max-rx-timeout-ms =3D <3000>; + + status =3D "disabled"; + + scmi47_pd: protocol@11 { + reg =3D <0x11>; + #power-domain-cells =3D <1>; + }; + + scmi47_dvfs: protocol@13 { + reg =3D <0x13>; + #power-domain-cells =3D <1>; + }; + + scmi47_rst: protocol@16 { + reg =3D <0x16>; + #reset-cells =3D <1>; + }; + }; + + scmi48: scmi-48 { + compatible =3D "qcom,scmi-smc"; + arm,smc-id =3D <0xc6008012>; + shmem =3D <&shmem48>; + interrupts =3D ; + interrupt-names =3D "a2p"; + #address-cells =3D <1>; + #size-cells =3D <0>; + arm,max-msg =3D <10>; + arm,max-msg-size =3D <256>; + arm,max-rx-timeout-ms =3D <3000>; + + status =3D "disabled"; + + scmi48_pd: protocol@11 { + reg =3D <0x11>; + #power-domain-cells =3D <1>; + }; + + scmi48_dvfs: protocol@13 { + reg =3D <0x13>; + #power-domain-cells =3D <1>; + }; + + scmi48_rst: protocol@16 { + reg =3D <0x16>; + #reset-cells =3D <1>; + }; + }; + + scmi49: scmi-49 { + compatible =3D "qcom,scmi-smc"; + arm,smc-id =3D <0xc6008012>; + shmem =3D <&shmem49>; + interrupts =3D ; + interrupt-names =3D "a2p"; + #address-cells =3D <1>; + #size-cells =3D <0>; + arm,max-msg =3D <10>; + arm,max-msg-size =3D <256>; + arm,max-rx-timeout-ms =3D <3000>; + + status =3D "disabled"; + + scmi49_pd: protocol@11 { + reg =3D <0x11>; + #power-domain-cells =3D <1>; + }; + + scmi49_dvfs: protocol@13 { + reg =3D <0x13>; + #power-domain-cells =3D <1>; + }; + + scmi49_rst: protocol@16 { + reg =3D <0x16>; + #reset-cells =3D <1>; + }; + }; + + scmi50: scmi-50 { + compatible =3D "qcom,scmi-smc"; + arm,smc-id =3D <0xc6008012>; + shmem =3D <&shmem50>; + interrupts =3D ; + interrupt-names =3D "a2p"; + #address-cells =3D <1>; + #size-cells =3D <0>; + arm,max-msg =3D <10>; + arm,max-msg-size =3D <256>; + arm,max-rx-timeout-ms =3D <3000>; + + status =3D "disabled"; + + scmi50_pd: protocol@11 { + reg =3D <0x11>; + #power-domain-cells =3D <1>; + }; + + scmi50_dvfs: protocol@13 { + reg =3D <0x13>; + #power-domain-cells =3D <1>; + }; + + scmi50_rst: protocol@16 { + reg =3D <0x16>; + #reset-cells =3D <1>; + }; + }; + + scmi51: scmi-51 { + compatible =3D "qcom,scmi-smc"; + arm,smc-id =3D <0xc6008012>; + shmem =3D <&shmem51>; + interrupts =3D ; + interrupt-names =3D "a2p"; + #address-cells =3D <1>; + #size-cells =3D <0>; + arm,max-msg =3D <10>; + arm,max-msg-size =3D <256>; + arm,max-rx-timeout-ms =3D <3000>; + + status =3D "disabled"; + + scmi51_pd: protocol@11 { + reg =3D <0x11>; + #power-domain-cells =3D <1>; + }; + + scmi51_dvfs: protocol@13 { + reg =3D <0x13>; + #power-domain-cells =3D <1>; + }; + + scmi51_rst: protocol@16 { + reg =3D <0x16>; + #reset-cells =3D <1>; + }; + }; + + scmi52: scmi-52 { + compatible =3D "qcom,scmi-smc"; + arm,smc-id =3D <0xc6008012>; + shmem =3D <&shmem52>; + interrupts =3D ; + interrupt-names =3D "a2p"; + #address-cells =3D <1>; + #size-cells =3D <0>; + arm,max-msg =3D <10>; + arm,max-msg-size =3D <256>; + arm,max-rx-timeout-ms =3D <3000>; + + status =3D "disabled"; + + scmi52_pd: protocol@11 { + reg =3D <0x11>; + #power-domain-cells =3D <1>; + }; + + scmi52_dvfs: protocol@13 { + reg =3D <0x13>; + #power-domain-cells =3D <1>; + }; + + scmi52_rst: protocol@16 { + reg =3D <0x16>; + #reset-cells =3D <1>; + }; + }; + + scmi53: scmi-53 { + compatible =3D "qcom,scmi-smc"; + arm,smc-id =3D <0xc6008012>; + shmem =3D <&shmem53>; + interrupts =3D ; + interrupt-names =3D "a2p"; + #address-cells =3D <1>; + #size-cells =3D <0>; + arm,max-msg =3D <10>; + arm,max-msg-size =3D <256>; + arm,max-rx-timeout-ms =3D <3000>; + + status =3D "disabled"; + + scmi53_pd: protocol@11 { + reg =3D <0x11>; + #power-domain-cells =3D <1>; + }; + + scmi53_dvfs: protocol@13 { + reg =3D <0x13>; + #power-domain-cells =3D <1>; + }; + + scmi53_rst: protocol@16 { + reg =3D <0x16>; + #reset-cells =3D <1>; + }; + }; + + scmi54: scmi-54 { + compatible =3D "qcom,scmi-smc"; + arm,smc-id =3D <0xc6008012>; + shmem =3D <&shmem54>; + interrupts =3D ; + interrupt-names =3D "a2p"; + #address-cells =3D <1>; + #size-cells =3D <0>; + arm,max-msg =3D <10>; + arm,max-msg-size =3D <256>; + arm,max-rx-timeout-ms =3D <3000>; + + status =3D "disabled"; + + scmi54_pd: protocol@11 { + reg =3D <0x11>; + #power-domain-cells =3D <1>; + }; + + scmi54_dvfs: protocol@13 { + reg =3D <0x13>; + #power-domain-cells =3D <1>; + }; + + scmi54_rst: protocol@16 { + reg =3D <0x16>; + #reset-cells =3D <1>; + }; + }; + + scmi55: scmi-55 { + compatible =3D "qcom,scmi-smc"; + arm,smc-id =3D <0xc6008012>; + shmem =3D <&shmem55>; + interrupts =3D ; + interrupt-names =3D "a2p"; + #address-cells =3D <1>; + #size-cells =3D <0>; + arm,max-msg =3D <10>; + arm,max-msg-size =3D <256>; + arm,max-rx-timeout-ms =3D <3000>; + + status =3D "disabled"; + + scmi55_pd: protocol@11 { + reg =3D <0x11>; + #power-domain-cells =3D <1>; + }; + + scmi55_dvfs: protocol@13 { + reg =3D <0x13>; + #power-domain-cells =3D <1>; + }; + + scmi55_rst: protocol@16 { + reg =3D <0x16>; + #reset-cells =3D <1>; + }; + }; + + scmi56: scmi-56 { + compatible =3D "qcom,scmi-smc"; + arm,smc-id =3D <0xc6008012>; + shmem =3D <&shmem56>; + interrupts =3D ; + interrupt-names =3D "a2p"; + #address-cells =3D <1>; + #size-cells =3D <0>; + arm,max-msg =3D <10>; + arm,max-msg-size =3D <256>; + arm,max-rx-timeout-ms =3D <3000>; + + status =3D "disabled"; + + scmi56_pd: protocol@11 { + reg =3D <0x11>; + #power-domain-cells =3D <1>; + }; + + scmi56_dvfs: protocol@13 { + reg =3D <0x13>; + #power-domain-cells =3D <1>; + }; + + scmi56_rst: protocol@16 { + reg =3D <0x16>; + #reset-cells =3D <1>; + }; + }; + + scmi57: scmi-57 { + compatible =3D "qcom,scmi-smc"; + arm,smc-id =3D <0xc6008012>; + shmem =3D <&shmem57>; + interrupts =3D ; + interrupt-names =3D "a2p"; + #address-cells =3D <1>; + #size-cells =3D <0>; + arm,max-msg =3D <10>; + arm,max-msg-size =3D <256>; + arm,max-rx-timeout-ms =3D <3000>; + + status =3D "disabled"; + + scmi57_pd: protocol@11 { + reg =3D <0x11>; + #power-domain-cells =3D <1>; + }; + + scmi57_dvfs: protocol@13 { + reg =3D <0x13>; + #power-domain-cells =3D <1>; + }; + + scmi57_rst: protocol@16 { + reg =3D <0x16>; + #reset-cells =3D <1>; + }; + }; + + scmi58: scmi-58 { + compatible =3D "qcom,scmi-smc"; + arm,smc-id =3D <0xc6008012>; + shmem =3D <&shmem58>; + interrupts =3D ; + interrupt-names =3D "a2p"; + #address-cells =3D <1>; + #size-cells =3D <0>; + arm,max-msg =3D <10>; + arm,max-msg-size =3D <256>; + arm,max-rx-timeout-ms =3D <3000>; + + status =3D "disabled"; + + scmi58_pd: protocol@11 { + reg =3D <0x11>; + #power-domain-cells =3D <1>; + }; + + scmi58_dvfs: protocol@13 { + reg =3D <0x13>; + #power-domain-cells =3D <1>; + }; + + scmi58_rst: protocol@16 { + reg =3D <0x16>; + #reset-cells =3D <1>; + }; + }; + + scmi59: scmi-59 { + compatible =3D "qcom,scmi-smc"; + arm,smc-id =3D <0xc6008012>; + shmem =3D <&shmem59>; + interrupts =3D ; + interrupt-names =3D "a2p"; + #address-cells =3D <1>; + #size-cells =3D <0>; + arm,max-msg =3D <10>; + arm,max-msg-size =3D <256>; + arm,max-rx-timeout-ms =3D <3000>; + + status =3D "disabled"; + + scmi59_pd: protocol@11 { + reg =3D <0x11>; + #power-domain-cells =3D <1>; + }; + + scmi59_dvfs: protocol@13 { + reg =3D <0x13>; + #power-domain-cells =3D <1>; + }; + + scmi59_rst: protocol@16 { + reg =3D <0x16>; + #reset-cells =3D <1>; + }; + }; + + scmi60: scmi-60 { + compatible =3D "qcom,scmi-smc"; + arm,smc-id =3D <0xc6008012>; + shmem =3D <&shmem60>; + interrupts =3D ; + interrupt-names =3D "a2p"; + #address-cells =3D <1>; + #size-cells =3D <0>; + arm,max-msg =3D <10>; + arm,max-msg-size =3D <256>; + arm,max-rx-timeout-ms =3D <3000>; + + status =3D "disabled"; + + scmi60_pd: protocol@11 { + reg =3D <0x11>; + #power-domain-cells =3D <1>; + }; + + scmi60_dvfs: protocol@13 { + reg =3D <0x13>; + #power-domain-cells =3D <1>; + }; + + scmi60_rst: protocol@16 { + reg =3D <0x16>; + #reset-cells =3D <1>; + }; + }; + + scmi61: scmi-61 { + compatible =3D "qcom,scmi-smc"; + arm,smc-id =3D <0xc6008012>; + shmem =3D <&shmem61>; + interrupts =3D ; + interrupt-names =3D "a2p"; + #address-cells =3D <1>; + #size-cells =3D <0>; + arm,max-msg =3D <10>; + arm,max-msg-size =3D <256>; + arm,max-rx-timeout-ms =3D <3000>; + + status =3D "disabled"; + + scmi61_pd: protocol@11 { + reg =3D <0x11>; + #power-domain-cells =3D <1>; + }; + + scmi61_dvfs: protocol@13 { + reg =3D <0x13>; + #power-domain-cells =3D <1>; + }; + + scmi61_rst: protocol@16 { + reg =3D <0x16>; + #reset-cells =3D <1>; + }; + }; + + scmi62: scmi-62 { + compatible =3D "qcom,scmi-smc"; + arm,smc-id =3D <0xc6008012>; + shmem =3D <&shmem62>; + interrupts =3D ; + interrupt-names =3D "a2p"; + #address-cells =3D <1>; + #size-cells =3D <0>; + arm,max-msg =3D <10>; + arm,max-msg-size =3D <256>; + arm,max-rx-timeout-ms =3D <3000>; + + status =3D "disabled"; + + scmi62_pd: protocol@11 { + reg =3D <0x11>; + #power-domain-cells =3D <1>; + }; + + scmi62_dvfs: protocol@13 { + reg =3D <0x13>; + #power-domain-cells =3D <1>; + }; + + scmi62_rst: protocol@16 { + reg =3D <0x16>; + #reset-cells =3D <1>; + }; + }; + + scmi63: scmi-63 { + compatible =3D "qcom,scmi-smc"; + arm,smc-id =3D <0xc6008012>; + shmem =3D <&shmem63>; + interrupts =3D ; + interrupt-names =3D "a2p"; + #address-cells =3D <1>; + #size-cells =3D <0>; + arm,max-msg =3D <10>; + arm,max-msg-size =3D <256>; + arm,max-rx-timeout-ms =3D <3000>; + + status =3D "disabled"; + + scmi63_pd: protocol@11 { + reg =3D <0x11>; + #power-domain-cells =3D <1>; + }; + + scmi63_dvfs: protocol@13 { + reg =3D <0x13>; + #power-domain-cells =3D <1>; + }; + + scmi63_rst: protocol@16 { + reg =3D <0x16>; + #reset-cells =3D <1>; + }; + }; +}; + +&i2c0 { + compatible =3D "qcom,sa8797p-geni-i2c", + "qcom,sa8255p-geni-i2c"; + power-domains =3D <&scmi11_pd 0>, + <&scmi11_dvfs 0>; + power-domain-names =3D "power", + "perf"; +}; + +&i2c1 { + compatible =3D "qcom,sa8797p-geni-i2c", + "qcom,sa8255p-geni-i2c"; + power-domains =3D <&scmi11_pd 1>, + <&scmi11_dvfs 1>; + power-domain-names =3D "power", + "perf"; +}; + +&i2c2 { + compatible =3D "qcom,sa8797p-geni-i2c", + "qcom,sa8255p-geni-i2c"; + power-domains =3D <&scmi11_pd 2>, + <&scmi11_dvfs 2>; + power-domain-names =3D "power", + "perf"; +}; + +&i2c3 { + compatible =3D "qcom,sa8797p-geni-i2c", + "qcom,sa8255p-geni-i2c"; + power-domains =3D <&scmi11_pd 3>, + <&scmi11_dvfs 3>; + power-domain-names =3D "power", + "perf"; +}; + +&i2c4 { + compatible =3D "qcom,sa8797p-geni-i2c", + "qcom,sa8255p-geni-i2c"; + power-domains =3D <&scmi11_pd 4>, + <&scmi11_dvfs 4>; + power-domain-names =3D "power", + "perf"; +}; + +&i2c5 { + compatible =3D "qcom,sa8797p-geni-i2c", + "qcom,sa8255p-geni-i2c"; + power-domains =3D <&scmi11_pd 5>, + <&scmi11_dvfs 5>; + power-domain-names =3D "power", + "perf"; +}; + +&i2c7 { + compatible =3D "qcom,sa8797p-geni-i2c", + "qcom,sa8255p-geni-i2c"; + power-domains =3D <&scmi11_pd 7>, + <&scmi11_dvfs 7>; + power-domain-names =3D "power", + "perf"; +}; + +&i2c8 { + compatible =3D "qcom,sa8797p-geni-i2c", + "qcom,sa8255p-geni-i2c"; + power-domains =3D <&scmi11_pd 8>, + <&scmi11_dvfs 8>; + power-domain-names =3D "power", + "perf"; +}; + +&i2c9 { + compatible =3D "qcom,sa8797p-geni-i2c", + "qcom,sa8255p-geni-i2c"; + power-domains =3D <&scmi11_pd 9>, + <&scmi11_dvfs 9>; + power-domain-names =3D "power", + "perf"; +}; + +&i2c10 { + compatible =3D "qcom,sa8797p-geni-i2c", + "qcom,sa8255p-geni-i2c"; + power-domains =3D <&scmi11_pd 10>, + <&scmi11_dvfs 10>; + power-domain-names =3D "power", + "perf"; +}; + +&i2c11 { + compatible =3D "qcom,sa8797p-geni-i2c", + "qcom,sa8255p-geni-i2c"; + power-domains =3D <&scmi11_pd 11>, + <&scmi11_dvfs 11>; + power-domain-names =3D "power", + "perf"; +}; + +&i2c12 { + compatible =3D "qcom,sa8797p-geni-i2c", + "qcom,sa8255p-geni-i2c"; + power-domains =3D <&scmi11_pd 12>, + <&scmi11_dvfs 12>; + power-domain-names =3D "power", + "perf"; +}; + +&i2c13 { + compatible =3D "qcom,sa8797p-geni-i2c", + "qcom,sa8255p-geni-i2c"; + power-domains =3D <&scmi11_pd 13>, + <&scmi11_dvfs 13>; + power-domain-names =3D "power", + "perf"; +}; + +&i2c14 { + compatible =3D "qcom,sa8797p-geni-i2c", + "qcom,sa8255p-geni-i2c"; + power-domains =3D <&scmi11_pd 14>, + <&scmi11_dvfs 14>; + power-domain-names =3D "power", + "perf"; +}; + +&i2c15 { + compatible =3D "qcom,sa8797p-geni-i2c", + "qcom,sa8255p-geni-i2c"; + power-domains =3D <&scmi11_pd 15>, + <&scmi11_dvfs 15>; + power-domain-names =3D "power", + "perf"; +}; + +&i2c16 { + compatible =3D "qcom,sa8797p-geni-i2c", + "qcom,sa8255p-geni-i2c"; + power-domains =3D <&scmi11_pd 16>, + <&scmi11_dvfs 16>; + power-domain-names =3D "power", + "perf"; +}; + +&i2c17 { + compatible =3D "qcom,sa8797p-geni-i2c", + "qcom,sa8255p-geni-i2c"; + power-domains =3D <&scmi11_pd 17>, + <&scmi11_dvfs 17>; + power-domain-names =3D "power", + "perf"; +}; + +&i2c18 { + compatible =3D "qcom,sa8797p-geni-i2c", + "qcom,sa8255p-geni-i2c"; + power-domains =3D <&scmi11_pd 18>, + <&scmi11_dvfs 18>; + power-domain-names =3D "power", + "perf"; +}; + +&i2c19 { + compatible =3D "qcom,sa8797p-geni-i2c", + "qcom,sa8255p-geni-i2c"; + power-domains =3D <&scmi11_pd 19>, + <&scmi11_dvfs 19>; + power-domain-names =3D "power", + "perf"; +}; + +&i2c20 { + compatible =3D "qcom,sa8797p-geni-i2c", + "qcom,sa8255p-geni-i2c"; + power-domains =3D <&scmi11_pd 20>, + <&scmi11_dvfs 20>; + power-domain-names =3D "power", + "perf"; +}; + +&qupv3_0 { + compatible =3D "qcom,sa8797p-geni-se-qup", + "qcom,sa8255p-geni-se-qup"; +}; + +&qupv3_1 { + compatible =3D "qcom,sa8797p-geni-se-qup", + "qcom,sa8255p-geni-se-qup"; +}; + +&qupv3_2 { + compatible =3D "qcom,sa8797p-geni-se-qup", + "qcom,sa8255p-geni-se-qup"; +}; + +&reserved_memory { + shmem0: scmi-shmem@d7600000 { + compatible =3D "arm,scmi-shmem"; + reg =3D <0x0 0xd7600000 0x0 0x1000>; + no-map; + }; + + shmem1: scmi-shmem@d7601000 { + compatible =3D "arm,scmi-shmem"; + reg =3D <0x0 0xd7601000 0x0 0x1000>; + no-map; + }; + + shmem2: scmi-shmem@d7602000 { + compatible =3D "arm,scmi-shmem"; + reg =3D <0x0 0xd7602000 0x0 0x1000>; + no-map; + }; + + shmem3: scmi-shmem@d7603000 { + compatible =3D "arm,scmi-shmem"; + reg =3D <0x0 0xd7603000 0x0 0x1000>; + no-map; + }; + + shmem4: scmi-shmem@d7604000 { + compatible =3D "arm,scmi-shmem"; + reg =3D <0x0 0xd7604000 0x0 0x1000>; + no-map; + }; + + shmem5: scmi-shmem@d7605000 { + compatible =3D "arm,scmi-shmem"; + reg =3D <0x0 0xd7605000 0x0 0x1000>; + no-map; + }; + + shmem6: scmi-shmem@d7606000 { + compatible =3D "arm,scmi-shmem"; + reg =3D <0x0 0xd7606000 0x0 0x1000>; + no-map; + }; + + shmem7: scmi-shmem@d7607000 { + compatible =3D "arm,scmi-shmem"; + reg =3D <0x0 0xd7607000 0x0 0x1000>; + no-map; + }; + + shmem8: scmi-shmem@d7608000 { + compatible =3D "arm,scmi-shmem"; + reg =3D <0x0 0xd7608000 0x0 0x1000>; + no-map; + }; + + shmem9: scmi-shmem@d7609000 { + compatible =3D "arm,scmi-shmem"; + reg =3D <0x0 0xd7609000 0x0 0x1000>; + no-map; + }; + + shmem10: scmi-shmem@d760a000 { + compatible =3D "arm,scmi-shmem"; + reg =3D <0x0 0xd760a000 0x0 0x1000>; + no-map; + }; + + shmem11: scmi-shmem@d760b000 { + compatible =3D "arm,scmi-shmem"; + reg =3D <0x0 0xd760b000 0x0 0x1000>; + no-map; + }; + + shmem12: scmi-shmem@d760c000 { + compatible =3D "arm,scmi-shmem"; + reg =3D <0x0 0xd760c000 0x0 0x1000>; + no-map; + }; + + shmem13: scmi-shmem@d760d000 { + compatible =3D "arm,scmi-shmem"; + reg =3D <0x0 0xd760d000 0x0 0x1000>; + no-map; + }; + + shmem14: scmi-shmem@d760e000 { + compatible =3D "arm,scmi-shmem"; + reg =3D <0x0 0xd760e000 0x0 0x1000>; + no-map; + }; + + shmem15: scmi-shmem@d760f000 { + compatible =3D "arm,scmi-shmem"; + reg =3D <0x0 0xd760f000 0x0 0x1000>; + no-map; + }; + + shmem16: scmi-shmem@d7610000 { + compatible =3D "arm,scmi-shmem"; + reg =3D <0x0 0xd7610000 0x0 0x1000>; + no-map; + }; + + shmem17: scmi-shmem@d7611000 { + compatible =3D "arm,scmi-shmem"; + reg =3D <0x0 0xd7611000 0x0 0x1000>; + no-map; + }; + + shmem18: scmi-shmem@d7612000 { + compatible =3D "arm,scmi-shmem"; + reg =3D <0x0 0xd7612000 0x0 0x1000>; + no-map; + }; + + shmem19: scmi-shmem@d7613000 { + compatible =3D "arm,scmi-shmem"; + reg =3D <0x0 0xd7613000 0x0 0x1000>; + no-map; + }; + + shmem20: scmi-shmem@d7614000 { + compatible =3D "arm,scmi-shmem"; + reg =3D <0x0 0xd7614000 0x0 0x1000>; + no-map; + }; + + shmem21: scmi-shmem@d7615000 { + compatible =3D "arm,scmi-shmem"; + reg =3D <0x0 0xd7615000 0x0 0x1000>; + no-map; + }; + + shmem22: scmi-shmem@d7616000 { + compatible =3D "arm,scmi-shmem"; + reg =3D <0x0 0xd7616000 0x0 0x1000>; + no-map; + }; + + shmem23: scmi-shmem@d7617000 { + compatible =3D "arm,scmi-shmem"; + reg =3D <0x0 0xd7617000 0x0 0x1000>; + no-map; + }; + + shmem24: scmi-shmem@d7618000 { + compatible =3D "arm,scmi-shmem"; + reg =3D <0x0 0xd7618000 0x0 0x1000>; + no-map; + }; + + shmem25: scmi-shmem@d7619000 { + compatible =3D "arm,scmi-shmem"; + reg =3D <0x0 0xd7619000 0x0 0x1000>; + no-map; + }; + + shmem26: scmi-shmem@d761a000 { + compatible =3D "arm,scmi-shmem"; + reg =3D <0x0 0xd761a000 0x0 0x1000>; + no-map; + }; + + shmem27: scmi-shmem@d761b000 { + compatible =3D "arm,scmi-shmem"; + reg =3D <0x0 0xd761b000 0x0 0x1000>; + no-map; + }; + + shmem28: scmi-shmem@d761c000 { + compatible =3D "arm,scmi-shmem"; + reg =3D <0x0 0xd761c000 0x0 0x1000>; + no-map; + }; + + shmem29: scmi-shmem@d761d000 { + compatible =3D "arm,scmi-shmem"; + reg =3D <0x0 0xd761d000 0x0 0x1000>; + no-map; + }; + + shmem30: scmi-shmem@d761e000 { + compatible =3D "arm,scmi-shmem"; + reg =3D <0x0 0xd761e000 0x0 0x1000>; + no-map; + }; + + shmem31: scmi-shmem@d761f000 { + compatible =3D "arm,scmi-shmem"; + reg =3D <0x0 0xd761f000 0x0 0x1000>; + no-map; + }; + + shmem32: scmi-shmem@d7620000 { + compatible =3D "arm,scmi-shmem"; + reg =3D <0x0 0xd7620000 0x0 0x1000>; + no-map; + }; + + shmem33: scmi-shmem@d7621000 { + compatible =3D "arm,scmi-shmem"; + reg =3D <0x0 0xd7621000 0x0 0x1000>; + no-map; + }; + + shmem34: scmi-shmem@d7622000 { + compatible =3D "arm,scmi-shmem"; + reg =3D <0x0 0xd7622000 0x0 0x1000>; + no-map; + }; + + shmem35: scmi-shmem@d7623000 { + compatible =3D "arm,scmi-shmem"; + reg =3D <0x0 0xd7623000 0x0 0x1000>; + no-map; + }; + + shmem36: scmi-shmem@d7624000 { + compatible =3D "arm,scmi-shmem"; + reg =3D <0x0 0xd7624000 0x0 0x1000>; + no-map; + }; + + shmem37: scmi-shmem@d7625000 { + compatible =3D "arm,scmi-shmem"; + reg =3D <0x0 0xd7625000 0x0 0x1000>; + no-map; + }; + + shmem38: scmi-shmem@d7626000 { + compatible =3D "arm,scmi-shmem"; + reg =3D <0x0 0xd7626000 0x0 0x1000>; + no-map; + }; + + shmem39: scmi-shmem@d7627000 { + compatible =3D "arm,scmi-shmem"; + reg =3D <0x0 0xd7627000 0x0 0x1000>; + no-map; + }; + + shmem40: scmi-shmem@d7628000 { + compatible =3D "arm,scmi-shmem"; + reg =3D <0x0 0xd7628000 0x0 0x1000>; + no-map; + }; + + shmem41: scmi-shmem@d7629000 { + compatible =3D "arm,scmi-shmem"; + reg =3D <0x0 0xd7629000 0x0 0x1000>; + no-map; + }; + + shmem42: scmi-shmem@d762a000 { + compatible =3D "arm,scmi-shmem"; + reg =3D <0x0 0xd762a000 0x0 0x1000>; + no-map; + }; + + shmem43: scmi-shmem@d762b000 { + compatible =3D "arm,scmi-shmem"; + reg =3D <0x0 0xd762b000 0x0 0x1000>; + no-map; + }; + + shmem44: scmi-shmem@d762c000 { + compatible =3D "arm,scmi-shmem"; + reg =3D <0x0 0xd762c000 0x0 0x1000>; + no-map; + }; + + shmem45: scmi-shmem@d762d000 { + compatible =3D "arm,scmi-shmem"; + reg =3D <0x0 0xd762d000 0x0 0x1000>; + no-map; + }; + + shmem46: scmi-shmem@d762e000 { + compatible =3D "arm,scmi-shmem"; + reg =3D <0x0 0xd762e000 0x0 0x1000>; + no-map; + }; + + shmem47: scmi-shmem@d762f000 { + compatible =3D "arm,scmi-shmem"; + reg =3D <0x0 0xd762f000 0x0 0x1000>; + no-map; + }; + + shmem48: scmi-shmem@d7630000 { + compatible =3D "arm,scmi-shmem"; + reg =3D <0x0 0xd7630000 0x0 0x1000>; + no-map; + }; + + shmem49: scmi-shmem@d7631000 { + compatible =3D "arm,scmi-shmem"; + reg =3D <0x0 0xd7631000 0x0 0x1000>; + no-map; + }; + + shmem50: scmi-shmem@d7632000 { + compatible =3D "arm,scmi-shmem"; + reg =3D <0x0 0xd7632000 0x0 0x1000>; + no-map; + }; + + shmem51: scmi-shmem@d7633000 { + compatible =3D "arm,scmi-shmem"; + reg =3D <0x0 0xd7633000 0x0 0x1000>; + no-map; + }; + + shmem52: scmi-shmem@d7634000 { + compatible =3D "arm,scmi-shmem"; + reg =3D <0x0 0xd7634000 0x0 0x1000>; + no-map; + }; + + shmem53: scmi-shmem@d7635000 { + compatible =3D "arm,scmi-shmem"; + reg =3D <0x0 0xd7635000 0x0 0x1000>; + no-map; + }; + + shmem54: scmi-shmem@d7636000 { + compatible =3D "arm,scmi-shmem"; + reg =3D <0x0 0xd7636000 0x0 0x1000>; + no-map; + }; + + shmem55: scmi-shmem@d7637000 { + compatible =3D "arm,scmi-shmem"; + reg =3D <0x0 0xd7637000 0x0 0x1000>; + no-map; + }; + + shmem56: scmi-shmem@d7638000 { + compatible =3D "arm,scmi-shmem"; + reg =3D <0x0 0xd7638000 0x0 0x1000>; + no-map; + }; + + shmem57: scmi-shmem@d7639000 { + compatible =3D "arm,scmi-shmem"; + reg =3D <0x0 0xd7639000 0x0 0x1000>; + no-map; + }; + + shmem58: scmi-shmem@d763a000 { + compatible =3D "arm,scmi-shmem"; + reg =3D <0x0 0xd763a000 0x0 0x1000>; + no-map; + }; + + shmem59: scmi-shmem@d763b000 { + compatible =3D "arm,scmi-shmem"; + reg =3D <0x0 0xd763b000 0x0 0x1000>; + no-map; + }; + + shmem60: scmi-shmem@d763c000 { + compatible =3D "arm,scmi-shmem"; + reg =3D <0x0 0xd763c000 0x0 0x1000>; + no-map; + }; + + shmem61: scmi-shmem@d763d000 { + compatible =3D "arm,scmi-shmem"; + reg =3D <0x0 0xd763d000 0x0 0x1000>; + no-map; + }; + + shmem62: scmi-shmem@d763e000 { + compatible =3D "arm,scmi-shmem"; + reg =3D <0x0 0xd763e000 0x0 0x1000>; + no-map; + }; + + shmem63: scmi-shmem@d763f000 { + compatible =3D "arm,scmi-shmem"; + reg =3D <0x0 0xd763f000 0x0 0x1000>; + no-map; + }; +}; + +&spi0 { + compatible =3D "qcom,sa8797p-geni-spi", + "qcom,sa8255p-geni-spi"; + power-domains =3D <&scmi11_pd 0>, + <&scmi11_dvfs 0>; + power-domain-names =3D "power", + "perf"; +}; + +&spi1 { + compatible =3D "qcom,sa8797p-geni-spi", + "qcom,sa8255p-geni-spi"; + power-domains =3D <&scmi11_pd 1>, + <&scmi11_dvfs 1>; + power-domain-names =3D "power", + "perf"; +}; + +&spi2 { + compatible =3D "qcom,sa8797p-geni-spi", + "qcom,sa8255p-geni-spi"; + power-domains =3D <&scmi11_pd 2>, + <&scmi11_dvfs 2>; + power-domain-names =3D "power", + "perf"; +}; + +&spi3 { + compatible =3D "qcom,sa8797p-geni-spi", + "qcom,sa8255p-geni-spi"; + power-domains =3D <&scmi11_pd 3>, + <&scmi11_dvfs 3>; + power-domain-names =3D "power", + "perf"; +}; + +&spi4 { + compatible =3D "qcom,sa8797p-geni-spi", + "qcom,sa8255p-geni-spi"; + power-domains =3D <&scmi11_pd 4>, + <&scmi11_dvfs 4>; + power-domain-names =3D "power", + "perf"; +}; + +&spi5 { + compatible =3D "qcom,sa8797p-geni-spi", + "qcom,sa8255p-geni-spi"; + power-domains =3D <&scmi11_pd 5>, + <&scmi11_dvfs 5>; + power-domain-names =3D "power", + "perf"; +}; + +&spi7 { + compatible =3D "qcom,sa8797p-geni-spi", + "qcom,sa8255p-geni-spi"; + power-domains =3D <&scmi11_pd 7>, + <&scmi11_dvfs 7>; + power-domain-names =3D "power", + "perf"; +}; + +&spi8 { + compatible =3D "qcom,sa8797p-geni-spi", + "qcom,sa8255p-geni-spi"; + power-domains =3D <&scmi11_pd 8>, + <&scmi11_dvfs 8>; + power-domain-names =3D "power", + "perf"; +}; + +&spi11 { + compatible =3D "qcom,sa8797p-geni-spi", + "qcom,sa8255p-geni-spi"; + power-domains =3D <&scmi11_pd 11>, + <&scmi11_dvfs 11>; + power-domain-names =3D "power", + "perf"; +}; + +&spi12 { + compatible =3D "qcom,sa8797p-geni-spi", + "qcom,sa8255p-geni-spi"; + power-domains =3D <&scmi11_pd 12>, + <&scmi11_dvfs 12>; + power-domain-names =3D "power", + "perf"; +}; + +&spi13 { + compatible =3D "qcom,sa8797p-geni-spi", + "qcom,sa8255p-geni-spi"; + power-domains =3D <&scmi11_pd 13>, + <&scmi11_dvfs 13>; + power-domain-names =3D "power", + "perf"; +}; + +&spi14 { + compatible =3D "qcom,sa8797p-geni-spi", + "qcom,sa8255p-geni-spi"; + power-domains =3D <&scmi11_pd 14>, + <&scmi11_dvfs 14>; + power-domain-names =3D "power", + "perf"; +}; + +&spi15 { + compatible =3D "qcom,sa8797p-geni-spi", + "qcom,sa8255p-geni-spi"; + power-domains =3D <&scmi11_pd 15>, + <&scmi11_dvfs 15>; + power-domain-names =3D "power", + "perf"; +}; + +&spi16 { + compatible =3D "qcom,sa8797p-geni-spi", + "qcom,sa8255p-geni-spi"; + power-domains =3D <&scmi11_pd 16>, + <&scmi11_dvfs 16>; + power-domain-names =3D "power", + "perf"; +}; + +&spi17 { + compatible =3D "qcom,sa8797p-geni-spi", + "qcom,sa8255p-geni-spi"; + power-domains =3D <&scmi11_pd 17>, + <&scmi11_dvfs 17>; + power-domain-names =3D "power", + "perf"; +}; + +&spi18 { + compatible =3D "qcom,sa8797p-geni-spi", + "qcom,sa8255p-geni-spi"; + power-domains =3D <&scmi11_pd 18>, + <&scmi11_dvfs 18>; + power-domain-names =3D "power", + "perf"; +}; + +&spi19 { + compatible =3D "qcom,sa8797p-geni-spi", + "qcom,sa8255p-geni-spi"; + power-domains =3D <&scmi11_pd 19>, + <&scmi11_dvfs 19>; + power-domain-names =3D "power", + "perf"; +}; + +&spi20 { + compatible =3D "qcom,sa8797p-geni-spi", + "qcom,sa8255p-geni-spi"; + power-domains =3D <&scmi11_pd 20>, + <&scmi11_dvfs 20>; + power-domain-names =3D "power", + "perf"; +}; + +&uart0 { + compatible =3D "qcom,sa8797p-geni-uart", + "qcom,sa8255p-geni-uart"; + power-domains =3D <&scmi11_pd 0>, + <&scmi11_dvfs 0>; + power-domain-names =3D "power", + "perf"; +}; + +&uart1 { + compatible =3D "qcom,sa8797p-geni-uart", + "qcom,sa8255p-geni-uart"; + power-domains =3D <&scmi11_pd 1>, + <&scmi11_dvfs 1>; + power-domain-names =3D "power", + "perf"; +}; + +&uart2 { + compatible =3D "qcom,sa8797p-geni-uart", + "qcom,sa8255p-geni-uart"; + power-domains =3D <&scmi11_pd 2>, + <&scmi11_dvfs 2>; + power-domain-names =3D "power", + "perf"; +}; + +&uart3 { + compatible =3D "qcom,sa8797p-geni-uart", + "qcom,sa8255p-geni-uart"; + power-domains =3D <&scmi11_pd 3>, + <&scmi11_dvfs 3>; + power-domain-names =3D "power", + "perf"; +}; + +&uart4 { + compatible =3D "qcom,sa8797p-geni-uart", + "qcom,sa8255p-geni-uart"; + power-domains =3D <&scmi11_pd 4>, + <&scmi11_dvfs 4>; + power-domain-names =3D "power", + "perf"; +}; + +&uart5 { + compatible =3D "qcom,sa8797p-geni-uart", + "qcom,sa8255p-geni-uart"; + power-domains =3D <&scmi11_pd 5>, + <&scmi11_dvfs 5>; + power-domain-names =3D "power", + "perf"; +}; + +&uart7 { + compatible =3D "qcom,sa8797p-geni-uart", + "qcom,sa8255p-geni-uart"; + power-domains =3D <&scmi11_pd 7>, + <&scmi11_dvfs 7>; + power-domain-names =3D "power", + "perf"; +}; + +&uart8 { + compatible =3D "qcom,sa8797p-geni-uart", + "qcom,sa8255p-geni-uart"; + power-domains =3D <&scmi11_pd 8>, + <&scmi11_dvfs 8>; + power-domain-names =3D "power", + "perf"; +}; + +&uart9 { + compatible =3D "qcom,sa8797p-geni-uart", + "qcom,sa8255p-geni-uart"; + power-domains =3D <&scmi11_pd 9>, + <&scmi11_dvfs 9>; + power-domain-names =3D "power", + "perf"; +}; + +&uart10 { + compatible =3D "qcom,sa8797p-geni-uart", + "qcom,sa8255p-geni-uart"; + power-domains =3D <&scmi11_pd 10>, + <&scmi11_dvfs 10>; + power-domain-names =3D "power", + "perf"; +}; + +&uart11 { + compatible =3D "qcom,sa8797p-geni-uart", + "qcom,sa8255p-geni-uart"; + power-domains =3D <&scmi11_pd 11>, + <&scmi11_dvfs 11>; + power-domain-names =3D "power", + "perf"; +}; + +&uart12 { + compatible =3D "qcom,sa8797p-geni-uart", + "qcom,sa8255p-geni-uart"; + power-domains =3D <&scmi11_pd 12>, + <&scmi11_dvfs 12>; + power-domain-names =3D "power", + "perf"; +}; + +&uart13 { + compatible =3D "qcom,sa8797p-geni-uart", + "qcom,sa8255p-geni-uart"; + power-domains =3D <&scmi11_pd 13>, + <&scmi11_dvfs 13>; + power-domain-names =3D "power", + "perf"; +}; + +&uart14 { + compatible =3D "qcom,sa8797p-geni-uart", + "qcom,sa8255p-geni-uart"; + power-domains =3D <&scmi11_pd 14>, + <&scmi11_dvfs 14>; + power-domain-names =3D "power", + "perf"; +}; + +&uart15 { + compatible =3D "qcom,sa8797p-geni-debug-uart", + "qcom,sa8255p-geni-debug-uart"; + power-domains =3D <&scmi11_pd 15>, + <&scmi11_dvfs 15>; + power-domain-names =3D "power", + "perf"; +}; + +&uart16 { + compatible =3D "qcom,sa8797p-geni-uart", + "qcom,sa8255p-geni-uart"; + power-domains =3D <&scmi11_pd 16>, + <&scmi11_dvfs 16>; + power-domain-names =3D "power", + "perf"; +}; + +&uart17 { + compatible =3D "qcom,sa8797p-geni-uart", + "qcom,sa8255p-geni-uart"; + power-domains =3D <&scmi11_pd 17>, + <&scmi11_dvfs 17>; + power-domain-names =3D "power", + "perf"; +}; + +&uart18 { + compatible =3D "qcom,sa8797p-geni-uart", + "qcom,sa8255p-geni-uart"; + power-domains =3D <&scmi11_pd 18>, + <&scmi11_dvfs 18>; + power-domain-names =3D "power", + "perf"; +}; + +&uart19 { + compatible =3D "qcom,sa8797p-geni-uart", + "qcom,sa8255p-geni-uart"; + power-domains =3D <&scmi11_pd 19>, + <&scmi11_dvfs 19>; + power-domain-names =3D "power", + "perf"; +}; + +&uart20 { + compatible =3D "qcom,sa8797p-geni-uart", + "qcom,sa8255p-geni-uart"; + power-domains =3D <&scmi11_pd 20>, + <&scmi11_dvfs 20>; + power-domain-names =3D "power", + "perf"; +}; + +&ufs_mem_hc { + compatible =3D "qcom,sa8797p-ufshc", + "qcom,sa8255p-ufshc"; + power-domains =3D <&scmi3_pd 0>; +}; --=20 2.43.0 From nobody Tue Sep 29 09:09:42 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 55CC53BED32 for ; Mon, 10 Aug 2026 11:08:29 +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=1786360113; cv=none; b=dRf5JQwszJlB/n+qb4fgsgpQWDUv/d+v6hZZJNTDcdxREvm3EM5whkEWCAEmt6+tC7fKT///uNT8bDRhhw6Z06N5XGU5j2IvF1ZXJyE6TA88UNOhEhbNBe0X1phBFV+w/Qi8HER6UstNrjrCfua1FiscHT/2TKO/bOMNjwaeey0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786360113; c=relaxed/simple; bh=b3Sb9Mx2jd2z6M/jL6CsDGVAZi6mFZJep1cUCjPR5CM=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=qwYd6vKzO1q34IjCk4uBkN9YuUpdfJbjl67Yrdgq+4UQW7p174o9kuGa3KfG6TQK0B4AD4KtihZHznelEhO+wd0fEEqDl4dyC+bNJtBnpa4sGXd2sJ0ZBy93b5gqLQBH+QLRXLUcgdApPdHeq9usUpjZcseuRulQijE4AmvOfio= 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=iI2oObVL; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=fr5nMoTP; 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="iI2oObVL"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="fr5nMoTP" 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 67A9SBhd446601 for ; Mon, 10 Aug 2026 11:08:28 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=qcppdkim1; bh=FxiXOv8cRCe kbwHp9SA036Bo6ytp/kjSE8cxt4QammE=; b=iI2oObVLEKS7RONt/E7fGvDFePR BlTDaWD9mHgmNJOnrRINbSJVS+8bYhvzxOQtZjPqZ+1TtFDTIa+XW0d8U8LVD/IH OMZ+31tNlzrYvvxIHsy4fhGXAmkzb4cuOVE7FWbxm08cVGG8gse3eQN/qJvvL0qR 2brCmrxpFS1oTWb2ymBsnZ9GyBgniCvPm5MoyrMry3PcP1aagyAaYZVMVQvyAuk6 vPLxDv29D5bGwFra5XCZs48pAZCB48o+jR/19a2rspL3N2/PP+OmZNwF5hVT6CkZ 4PmO+A85iCp3Ngxq+O8MyQwDdefm6na2KshNWb2uodmyFTiwXkEBrojwNjg== Received: from mail-pg1-f197.google.com (mail-pg1-f197.google.com [209.85.215.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4fy8v913vh-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Mon, 10 Aug 2026 11:08:28 +0000 (GMT) Received: by mail-pg1-f197.google.com with SMTP id 41be03b00d2f7-c88cfe287e1so1518466a12.1 for ; Mon, 10 Aug 2026 04:08:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1786360107; x=1786964907; 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:content-type; bh=FxiXOv8cRCekbwHp9SA036Bo6ytp/kjSE8cxt4QammE=; b=fr5nMoTPm3eoTq0ZPHV4ma7T5jQIc7ZQrfFRC9UzHov3CMQLtXTKSY7OttPhEe+PdC uoyrVsrRmW5VQHuIhhJ68e0vZ0lpVALwd7BjpXZSVUy66feo8pooDTNGdgYi3Ut0zEfK nLOXc+Kw/xuzer/nuNxhpvb2px4l6PgW1OyanYA0uLuDOhoehPJwbo391JDNgkw0SSU/ Oqb4e0T4PKTKwnrknaY6VYo+yMJekZ5anxsICPFrTHNfhcBI8rnFpT8GebgkkLSNXs3m 22Mw6gElzwJ+aLjljOrgegSHOygyDxRDdvnQCWRSQXTQi8VVAI0BBmqBOP43qGKHxHpA lp8A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1786360107; x=1786964907; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=FxiXOv8cRCekbwHp9SA036Bo6ytp/kjSE8cxt4QammE=; b=ikg8BKu5kcluE0JZ9/HBE5Z9vKWkrMMJJ5qDeXex0IjTxw/3k3tR3yA99UyE6NKHzS 2C4/KtAmUJDjcQSOnNHz3hhtNIUfFoIXeFXHmho9VvTmNyW0PP1e/kARZ4E7FZQ2vvqH xe/gZVpQ05ycjp2GZEsvCWLMiPKFmmLLm8Gk/wPua2cgtIiKIczw9VOIajOCXNLT+Zlp h4IHJXiCvHYyEdWHLlA7Q8IDGiqk1JzZOCxkneQjTTtZ/TyCjEkaw5PqWVrogT6DSRy3 kG/DGUO1XawW78kJb1DjaAxi70Wj7TXKC7VrattU3pMEOtBwWhnrg27QjcuW82BDp6v6 n+wg== X-Forwarded-Encrypted: i=1; AHgh+Rqrnq6MtAUZIUe1N9hwFGHqmfM64ZqpXDTx/Jt6XuihKcY3s4KE6cMB0t8y+EVbHMWjcCjc2V2wImObsCc=@vger.kernel.org X-Gm-Message-State: AOJu0Ywv8tRe0vGZ0na5+cvUrUfVRaEvS7CAdyUxU4/V48jeG1feBGPt UgCUvrSVM20WPuhOV4Z/vGbOIfp9hXbDB3ENpsL35wlHnSudzuqteruPhj6Wecpd9TpWi/704pe zEC97PI+xbNgGD2LjoGc8dN1muBBI6PznPybPvivG7C0rJjbVM/x9ntM7N9uPqu/N1NM= X-Gm-Gg: AR+sD13MfLxJCTPYZau8u7eYKvWOj0LMLv1oo6mCE/0TWtOLpcpg3VtwGmOIuh7YWhl h8iU1prgde4xGaSKZECNtcqDVVM/kXrZHZLd6BSQTEppDdM8ynC+reyDTnXA83u5UoS2qX1P+ZO /Jb2FxohnAuC4R297idr2Sui3iv1vI6Zaod1ke3QqEkH6bDW/ZxcLtbFS7kwzu2aS419Osov/IU F4DPlFPZkr/zspKC/8zNx3h62zoDgnMBeq9FG+MGUH+8R9fOtAy4K18p/QoSsTi8/mvgJGgeBAe /UluTa7CHIGPU2moWClwPlMEoJ9jGghmb+d3OASBV9vfA5yAzPQoi26Ex5c+QbqK9/6ev4wAC2t HRSwUsRxo0PvMPJRNFSjb1ukzOxYyUDx4tTESyfxLrhKvszCeS6CDID+PQ6Pn X-Received: by 2002:a05:6300:6182:b0:3bf:6237:4d4a with SMTP id adf61e73a8af0-3cbadc62729mr35695418637.24.1786360106769; Mon, 10 Aug 2026 04:08:26 -0700 (PDT) X-Received: by 2002:a05:6300:6182:b0:3bf:6237:4d4a with SMTP id adf61e73a8af0-3cbadc62729mr35695298637.24.1786360106045; Mon, 10 Aug 2026 04:08:26 -0700 (PDT) Received: from QCOM-aGQu4IUr3Y.qualcomm.com (i-global052.qualcomm.com. [199.106.103.52]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-315bebde353sm46520198eec.23.2026.08.10.04.08.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 10 Aug 2026 04:08:25 -0700 (PDT) From: Shawn Guo To: Bjorn Andersson Cc: Konrad Dybcio , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Bartosz Golaszewski , Deepti Jaggi , Mukesh Savaliya , Yadu M G , Kuldeep Singh , devicetree@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, Shawn Guo , Bartosz Golaszewski , Konrad Dybcio Subject: [PATCH v10 3/6] arm64: dts: qcom: Add device tree for Nord Embedded variant Date: Mon, 10 Aug 2026 19:07:23 +0800 Message-ID: <20260810110726.775084-5-shengchao.guo@oss.qualcomm.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260810110726.775084-1-shengchao.guo@oss.qualcomm.com> References: <20260810110726.775084-1-shengchao.guo@oss.qualcomm.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 X-Proofpoint-Spam-Info: AW1haW4tMjYwODEwMDA5NyBTYWx0ZWRfXx+P03wkbgolJ pzLbKXm0712a5quXMWShNIe18xEONafscXxL9SGREkT99nc45ol4ZxlUA2RKCfX1qlwuaz5ud1T YtdkU1KrvP8CoBJL7TGjx25ab73n1Ks= X-Proofpoint-ORIG-GUID: Uz90SPuBob3-c89Om8GmMUe-fMu-vcQY X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODEwMDA5NyBTYWx0ZWRfX9QO9JoZUbOJS kSSc2Q7mS7los9AOHwQTbPSRR97PH1nEzUCmi5GWC4T0+YjVk3UvIFHwgBKYXigm96CCcBPVr/i dSrcTv1yIXGVPwwAIohYOKsTQZ34dPbgYE5rLjGfNrJGuqhin3sPPiK7vOEoggS1fb2T/6fPegE xndZ3KtdiTKfKF7O8/vpZYpiWruMtSgcluINBZHr9HAeyeH7selB7PD6tlXJRAqWq5WIu0NwWbR FifozXbU6ldoB03uGTO38BpZvMlz/MRLSSk6ktEZahsZtuqUK2DIp3FZ2XHCey0VfQudkoGVXXN QDk/r6Tr7TytNT7UO+61vLAaLyFRxhiQewXmDma9E4OuocBr5rAMHqMyJ8G//TueR9YODorB3iO Aa4tBCVmbXyg4wtEfESdXvVCHr0AZPbYlJkLRiAR7q4J9ihGJCqmIYTbvKaR5x5QEyBEZKxzNH1 SjAR1gdUHynf3PmjhrQ== X-Authority-Analysis: v=2.4 cv=T5m8ifKQ c=1 sm=1 tr=0 ts=6a79b12c cx=c_pps a=rz3CxIlbcmazkYymdCej/Q==:117 a=b9+bayejhc3NMeqCNyeLQQ==:17 a=Sv0fKeRqtYgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=DJpcGTmdVt4CTyJn9g5Z:22 a=EUspDBNiAAAA:8 a=M_pxE5vcLJVX-WqgpTUA:9 a=bFCP_H2QrGi7Okbo017w:22 X-Proofpoint-GUID: Uz90SPuBob3-c89Om8GmMUe-fMu-vcQY X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-08-10_02,2026-08-07_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 adultscore=0 clxscore=1015 suspectscore=0 phishscore=0 spamscore=0 malwarescore=0 priorityscore=1501 bulkscore=0 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608100097 Content-Type: text/plain; charset="utf-8" Unlike the GearVM variant, Nord Embedded variant has platform resources (clocks, regulators, powerdomains, pins, etc.) directly controlled by the operating system. Add a separate dtsi file extending the existing top-level nord.dtsi with nodes representing these peripherals as well as describing how they are wired up with the already defined components. Co-developed-by: Bartosz Golaszewski Signed-off-by: Bartosz Golaszewski Reviewed-by: Konrad Dybcio Signed-off-by: Shawn Guo --- arch/arm64/boot/dts/qcom/nord-embedded.dtsi | 1726 +++++++++++++++++++ 1 file changed, 1726 insertions(+) create mode 100644 arch/arm64/boot/dts/qcom/nord-embedded.dtsi diff --git a/arch/arm64/boot/dts/qcom/nord-embedded.dtsi b/arch/arm64/boot/= dts/qcom/nord-embedded.dtsi new file mode 100644 index 000000000000..f27ccc6f56db --- /dev/null +++ b/arch/arm64/boot/dts/qcom/nord-embedded.dtsi @@ -0,0 +1,1726 @@ +// SPDX-License-Identifier: BSD-3-Clause +/* + * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "nord.dtsi" + +/ { + clk_virt: interconnect-clk-virt { + compatible =3D "qcom,nord-clk-virt"; + #interconnect-cells =3D <2>; + qcom,bcm-voters =3D <&apps_bcm_voter>; + }; + + mc_virt: interconnect-mc-virt { + compatible =3D "qcom,nord-mc-virt"; + #interconnect-cells =3D <2>; + qcom,bcm-voters =3D <&apps_bcm_voter>; + }; +}; + +&crypto { + interconnects =3D <&aggre1_noc_tile MASTER_CRYPTO_CORE0 QCOM_ICC_TAG_ALWA= YS + &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>; + interconnect-names =3D "memory"; + + status =3D "okay"; +}; + +&i2c0 { + clocks =3D <&segcc SE_GCC_QUPV3_WRAP0_S0_CLK>; + clock-names =3D "se"; + interconnects =3D <&clk_virt MASTER_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS + &clk_virt SLAVE_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS>, + <&hscnoc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS + &config_noc SLAVE_QUP_0 QCOM_ICC_TAG_ALWAYS>, + <&aggre2_noc_tile MASTER_QUP_0 QCOM_ICC_TAG_ALWAYS + &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>; + interconnect-names =3D "qup-core", "qup-config", "qup-memory"; + pinctrl-0 =3D <&qup_i2c0_default>; + pinctrl-names =3D "default"; +}; + +&i2c1 { + clocks =3D <&segcc SE_GCC_QUPV3_WRAP0_S1_CLK>; + clock-names =3D "se"; + interconnects =3D <&clk_virt MASTER_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS + &clk_virt SLAVE_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS>, + <&hscnoc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS + &config_noc SLAVE_QUP_0 QCOM_ICC_TAG_ALWAYS>, + <&aggre2_noc_tile MASTER_QUP_0 QCOM_ICC_TAG_ALWAYS + &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>; + interconnect-names =3D "qup-core", "qup-config", "qup-memory"; + pinctrl-0 =3D <&qup_i2c1_default>; + pinctrl-names =3D "default"; +}; + +&i2c2 { + clocks =3D <&segcc SE_GCC_QUPV3_WRAP0_S2_CLK>; + clock-names =3D "se"; + interconnects =3D <&clk_virt MASTER_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS + &clk_virt SLAVE_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS>, + <&hscnoc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS + &config_noc SLAVE_QUP_0 QCOM_ICC_TAG_ALWAYS>, + <&aggre2_noc_tile MASTER_QUP_0 QCOM_ICC_TAG_ALWAYS + &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>; + interconnect-names =3D "qup-core", "qup-config", "qup-memory"; + pinctrl-0 =3D <&qup_i2c2_default>; + pinctrl-names =3D "default"; +}; + +&i2c3 { + clocks =3D <&segcc SE_GCC_QUPV3_WRAP0_S3_CLK>; + clock-names =3D "se"; + interconnects =3D <&clk_virt MASTER_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS + &clk_virt SLAVE_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS>, + <&hscnoc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS + &config_noc SLAVE_QUP_0 QCOM_ICC_TAG_ALWAYS>, + <&aggre2_noc_tile MASTER_QUP_0 QCOM_ICC_TAG_ALWAYS + &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>; + interconnect-names =3D "qup-core", "qup-config", "qup-memory"; + pinctrl-0 =3D <&qup_i2c3_default>; + pinctrl-names =3D "default"; +}; + +&i2c4 { + clocks =3D <&segcc SE_GCC_QUPV3_WRAP0_S4_CLK>; + clock-names =3D "se"; + interconnects =3D <&clk_virt MASTER_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS + &clk_virt SLAVE_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS>, + <&hscnoc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS + &config_noc SLAVE_QUP_0 QCOM_ICC_TAG_ALWAYS>, + <&aggre2_noc_tile MASTER_QUP_0 QCOM_ICC_TAG_ALWAYS + &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>; + interconnect-names =3D "qup-core", "qup-config", "qup-memory"; + pinctrl-0 =3D <&qup_i2c4_default>; + pinctrl-names =3D "default"; +}; + +&i2c5 { + clocks =3D <&segcc SE_GCC_QUPV3_WRAP0_S5_CLK>; + clock-names =3D "se"; + interconnects =3D <&clk_virt MASTER_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS + &clk_virt SLAVE_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS>, + <&hscnoc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS + &config_noc SLAVE_QUP_0 QCOM_ICC_TAG_ALWAYS>, + <&aggre2_noc_tile MASTER_QUP_0 QCOM_ICC_TAG_ALWAYS + &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>; + interconnect-names =3D "qup-core", "qup-config", "qup-memory"; + pinctrl-0 =3D <&qup_i2c5_default>; + pinctrl-names =3D "default"; +}; + +&i2c7 { + clocks =3D <&segcc SE_GCC_QUPV3_WRAP1_S0_CLK>; + clock-names =3D "se"; + interconnects =3D <&clk_virt MASTER_QUP_CORE_1 QCOM_ICC_TAG_ALWAYS + &clk_virt SLAVE_QUP_CORE_1 QCOM_ICC_TAG_ALWAYS>, + <&hscnoc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS + &config_noc SLAVE_QUP_1 QCOM_ICC_TAG_ALWAYS>, + <&aggre2_noc_tile MASTER_QUP_1 QCOM_ICC_TAG_ALWAYS + &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>; + interconnect-names =3D "qup-core", "qup-config", "qup-memory"; + pinctrl-0 =3D <&qup_i2c7_default>; + pinctrl-names =3D "default"; +}; + +&i2c8 { + clocks =3D <&segcc SE_GCC_QUPV3_WRAP1_S1_CLK>; + clock-names =3D "se"; + interconnects =3D <&clk_virt MASTER_QUP_CORE_1 QCOM_ICC_TAG_ALWAYS + &clk_virt SLAVE_QUP_CORE_1 QCOM_ICC_TAG_ALWAYS>, + <&hscnoc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS + &config_noc SLAVE_QUP_1 QCOM_ICC_TAG_ALWAYS>, + <&aggre2_noc_tile MASTER_QUP_1 QCOM_ICC_TAG_ALWAYS + &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>; + interconnect-names =3D "qup-core", "qup-config", "qup-memory"; + pinctrl-0 =3D <&qup_i2c8_default>; + pinctrl-names =3D "default"; +}; + +&i2c9 { + clocks =3D <&segcc SE_GCC_QUPV3_WRAP1_S2_CLK>; + clock-names =3D "se"; + interconnects =3D <&clk_virt MASTER_QUP_CORE_1 QCOM_ICC_TAG_ALWAYS + &clk_virt SLAVE_QUP_CORE_1 QCOM_ICC_TAG_ALWAYS>, + <&hscnoc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS + &config_noc SLAVE_QUP_1 QCOM_ICC_TAG_ALWAYS>, + <&aggre2_noc_tile MASTER_QUP_1 QCOM_ICC_TAG_ALWAYS + &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>; + interconnect-names =3D "qup-core", "qup-config", "qup-memory"; + pinctrl-0 =3D <&qup_i2c9_default>; + pinctrl-names =3D "default"; +}; + +&i2c10 { + clocks =3D <&segcc SE_GCC_QUPV3_WRAP1_S3_CLK>; + clock-names =3D "se"; + interconnects =3D <&clk_virt MASTER_QUP_CORE_1 QCOM_ICC_TAG_ALWAYS + &clk_virt SLAVE_QUP_CORE_1 QCOM_ICC_TAG_ALWAYS>, + <&hscnoc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS + &config_noc SLAVE_QUP_1 QCOM_ICC_TAG_ALWAYS>, + <&aggre2_noc_tile MASTER_QUP_1 QCOM_ICC_TAG_ALWAYS + &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>; + interconnect-names =3D "qup-core", "qup-config", "qup-memory"; + pinctrl-0 =3D <&qup_i2c10_default>; + pinctrl-names =3D "default"; +}; + +&i2c11 { + clocks =3D <&segcc SE_GCC_QUPV3_WRAP1_S4_CLK>; + clock-names =3D "se"; + interconnects =3D <&clk_virt MASTER_QUP_CORE_1 QCOM_ICC_TAG_ALWAYS + &clk_virt SLAVE_QUP_CORE_1 QCOM_ICC_TAG_ALWAYS>, + <&hscnoc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS + &config_noc SLAVE_QUP_1 QCOM_ICC_TAG_ALWAYS>, + <&aggre2_noc_tile MASTER_QUP_1 QCOM_ICC_TAG_ALWAYS + &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>; + interconnect-names =3D "qup-core", "qup-config", "qup-memory"; + pinctrl-0 =3D <&qup_i2c11_default>; + pinctrl-names =3D "default"; +}; + +&i2c12 { + clocks =3D <&segcc SE_GCC_QUPV3_WRAP1_S5_CLK>; + clock-names =3D "se"; + interconnects =3D <&clk_virt MASTER_QUP_CORE_1 QCOM_ICC_TAG_ALWAYS + &clk_virt SLAVE_QUP_CORE_1 QCOM_ICC_TAG_ALWAYS>, + <&hscnoc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS + &config_noc SLAVE_QUP_1 QCOM_ICC_TAG_ALWAYS>, + <&aggre2_noc_tile MASTER_QUP_1 QCOM_ICC_TAG_ALWAYS + &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>; + interconnect-names =3D "qup-core", "qup-config", "qup-memory"; + pinctrl-0 =3D <&qup_i2c12_default>; + pinctrl-names =3D "default"; +}; + +&i2c13 { + clocks =3D <&segcc SE_GCC_QUPV3_WRAP1_S6_CLK>; + clock-names =3D "se"; + interconnects =3D <&clk_virt MASTER_QUP_CORE_1 QCOM_ICC_TAG_ALWAYS + &clk_virt SLAVE_QUP_CORE_1 QCOM_ICC_TAG_ALWAYS>, + <&hscnoc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS + &config_noc SLAVE_QUP_1 QCOM_ICC_TAG_ALWAYS>, + <&aggre2_noc_tile MASTER_QUP_1 QCOM_ICC_TAG_ALWAYS + &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>; + interconnect-names =3D "qup-core", "qup-config", "qup-memory"; + pinctrl-0 =3D <&qup_i2c13_default>; + pinctrl-names =3D "default"; +}; + +&i2c14 { + clocks =3D <&negcc NE_GCC_QUPV3_WRAP2_S0_CLK>; + clock-names =3D "se"; + interconnects =3D <&clk_virt MASTER_QUP_CORE_2 QCOM_ICC_TAG_ALWAYS + &clk_virt SLAVE_QUP_CORE_2 QCOM_ICC_TAG_ALWAYS>, + <&hscnoc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS + &config_noc SLAVE_QUP_2 QCOM_ICC_TAG_ALWAYS>, + <&aggre1_noc_tile MASTER_QUP_2 QCOM_ICC_TAG_ALWAYS + &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>; + interconnect-names =3D "qup-core", "qup-config", "qup-memory"; + pinctrl-0 =3D <&qup_i2c14_default>; + pinctrl-names =3D "default"; +}; + +&i2c16 { + clocks =3D <&negcc NE_GCC_QUPV3_WRAP2_S2_CLK>; + clock-names =3D "se"; + interconnects =3D <&clk_virt MASTER_QUP_CORE_2 QCOM_ICC_TAG_ALWAYS + &clk_virt SLAVE_QUP_CORE_2 QCOM_ICC_TAG_ALWAYS>, + <&hscnoc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS + &config_noc SLAVE_QUP_2 QCOM_ICC_TAG_ALWAYS>, + <&aggre1_noc_tile MASTER_QUP_2 QCOM_ICC_TAG_ALWAYS + &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>; + interconnect-names =3D "qup-core", "qup-config", "qup-memory"; + pinctrl-0 =3D <&qup_i2c16_default>; + pinctrl-names =3D "default"; +}; + +&i2c17 { + clocks =3D <&negcc NE_GCC_QUPV3_WRAP2_S3_CLK>; + clock-names =3D "se"; + interconnects =3D <&clk_virt MASTER_QUP_CORE_2 QCOM_ICC_TAG_ALWAYS + &clk_virt SLAVE_QUP_CORE_2 QCOM_ICC_TAG_ALWAYS>, + <&hscnoc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS + &config_noc SLAVE_QUP_2 QCOM_ICC_TAG_ALWAYS>, + <&aggre1_noc_tile MASTER_QUP_2 QCOM_ICC_TAG_ALWAYS + &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>; + interconnect-names =3D "qup-core", "qup-config", "qup-memory"; + pinctrl-0 =3D <&qup_i2c17_default>; + pinctrl-names =3D "default"; +}; + +&i2c18 { + clocks =3D <&negcc NE_GCC_QUPV3_WRAP2_S4_CLK>; + clock-names =3D "se"; + interconnects =3D <&clk_virt MASTER_QUP_CORE_2 QCOM_ICC_TAG_ALWAYS + &clk_virt SLAVE_QUP_CORE_2 QCOM_ICC_TAG_ALWAYS>, + <&hscnoc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS + &config_noc SLAVE_QUP_2 QCOM_ICC_TAG_ALWAYS>, + <&aggre1_noc_tile MASTER_QUP_2 QCOM_ICC_TAG_ALWAYS + &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>; + interconnect-names =3D "qup-core", "qup-config", "qup-memory"; + pinctrl-0 =3D <&qup_i2c18_default>; + pinctrl-names =3D "default"; +}; + +&i2c19 { + clocks =3D <&negcc NE_GCC_QUPV3_WRAP2_S5_CLK>; + clock-names =3D "se"; + interconnects =3D <&clk_virt MASTER_QUP_CORE_2 QCOM_ICC_TAG_ALWAYS + &clk_virt SLAVE_QUP_CORE_2 QCOM_ICC_TAG_ALWAYS>, + <&hscnoc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS + &config_noc SLAVE_QUP_2 QCOM_ICC_TAG_ALWAYS>, + <&aggre1_noc_tile MASTER_QUP_2 QCOM_ICC_TAG_ALWAYS + &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>; + interconnect-names =3D "qup-core", "qup-config", "qup-memory"; + pinctrl-0 =3D <&qup_i2c19_default>; + pinctrl-names =3D "default"; +}; + +&i2c20 { + clocks =3D <&negcc NE_GCC_QUPV3_WRAP2_S6_CLK>; + clock-names =3D "se"; + interconnects =3D <&clk_virt MASTER_QUP_CORE_2 QCOM_ICC_TAG_ALWAYS + &clk_virt SLAVE_QUP_CORE_2 QCOM_ICC_TAG_ALWAYS>, + <&hscnoc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS + &config_noc SLAVE_QUP_2 QCOM_ICC_TAG_ALWAYS>, + <&aggre1_noc_tile MASTER_QUP_2 QCOM_ICC_TAG_ALWAYS + &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>; + interconnect-names =3D "qup-core", "qup-config", "qup-memory"; + pinctrl-0 =3D <&qup_i2c20_default>; + pinctrl-names =3D "default"; +}; + +&qupv3_0 { + clocks =3D <&segcc SE_GCC_QUPV3_WRAP0_M_AHB_CLK>, + <&segcc SE_GCC_QUPV3_WRAP0_S_AHB_CLK>; + clock-names =3D "m-ahb", "s-ahb"; +}; + +&qupv3_1 { + clocks =3D <&segcc SE_GCC_QUPV3_WRAP1_M_AHB_CLK>, + <&segcc SE_GCC_QUPV3_WRAP1_S_AHB_CLK>; + clock-names =3D "m-ahb", "s-ahb"; +}; + +&qupv3_2 { + clocks =3D <&negcc NE_GCC_QUPV3_WRAP2_M_AHB_CLK>, + <&negcc NE_GCC_QUPV3_WRAP2_S_AHB_CLK>; + clock-names =3D "m-ahb", + "s-ahb"; +}; + +&spi0 { + clocks =3D <&segcc SE_GCC_QUPV3_WRAP0_S0_CLK>; + clock-names =3D "se"; + interconnects =3D <&clk_virt MASTER_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS + &clk_virt SLAVE_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS>, + <&hscnoc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS + &config_noc SLAVE_QUP_0 QCOM_ICC_TAG_ALWAYS>, + <&aggre2_noc_tile MASTER_QUP_0 QCOM_ICC_TAG_ALWAYS + &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>; + interconnect-names =3D "qup-core", "qup-config", "qup-memory"; + pinctrl-0 =3D <&qup_spi0_default>; + pinctrl-names =3D "default"; +}; + +&spi1 { + clocks =3D <&segcc SE_GCC_QUPV3_WRAP0_S1_CLK>; + clock-names =3D "se"; + interconnects =3D <&clk_virt MASTER_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS + &clk_virt SLAVE_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS>, + <&hscnoc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS + &config_noc SLAVE_QUP_0 QCOM_ICC_TAG_ALWAYS>, + <&aggre2_noc_tile MASTER_QUP_0 QCOM_ICC_TAG_ALWAYS + &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>; + interconnect-names =3D "qup-core", "qup-config", "qup-memory"; + pinctrl-0 =3D <&qup_spi1_default>; + pinctrl-names =3D "default"; +}; + +&spi2 { + clocks =3D <&segcc SE_GCC_QUPV3_WRAP0_S2_CLK>; + clock-names =3D "se"; + interconnects =3D <&clk_virt MASTER_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS + &clk_virt SLAVE_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS>, + <&hscnoc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS + &config_noc SLAVE_QUP_0 QCOM_ICC_TAG_ALWAYS>, + <&aggre2_noc_tile MASTER_QUP_0 QCOM_ICC_TAG_ALWAYS + &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>; + interconnect-names =3D "qup-core", "qup-config", "qup-memory"; + pinctrl-0 =3D <&qup_spi2_default>; + pinctrl-names =3D "default"; +}; + +&spi3 { + clocks =3D <&segcc SE_GCC_QUPV3_WRAP0_S3_CLK>; + clock-names =3D "se"; + interconnects =3D <&clk_virt MASTER_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS + &clk_virt SLAVE_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS>, + <&hscnoc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS + &config_noc SLAVE_QUP_0 QCOM_ICC_TAG_ALWAYS>, + <&aggre2_noc_tile MASTER_QUP_0 QCOM_ICC_TAG_ALWAYS + &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>; + interconnect-names =3D "qup-core", "qup-config", "qup-memory"; + pinctrl-0 =3D <&qup_spi3_default>; + pinctrl-names =3D "default"; +}; + +&spi4 { + clocks =3D <&segcc SE_GCC_QUPV3_WRAP0_S4_CLK>; + clock-names =3D "se"; + interconnects =3D <&clk_virt MASTER_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS + &clk_virt SLAVE_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS>, + <&hscnoc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS + &config_noc SLAVE_QUP_0 QCOM_ICC_TAG_ALWAYS>, + <&aggre2_noc_tile MASTER_QUP_0 QCOM_ICC_TAG_ALWAYS + &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>; + interconnect-names =3D "qup-core", "qup-config", "qup-memory"; + pinctrl-0 =3D <&qup_spi4_default>; + pinctrl-names =3D "default"; +}; + +&spi5 { + clocks =3D <&segcc SE_GCC_QUPV3_WRAP0_S5_CLK>; + clock-names =3D "se"; + interconnects =3D <&clk_virt MASTER_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS + &clk_virt SLAVE_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS>, + <&hscnoc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS + &config_noc SLAVE_QUP_0 QCOM_ICC_TAG_ALWAYS>, + <&aggre2_noc_tile MASTER_QUP_0 QCOM_ICC_TAG_ALWAYS + &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>; + interconnect-names =3D "qup-core", "qup-config", "qup-memory"; + pinctrl-0 =3D <&qup_spi5_default>; + pinctrl-names =3D "default"; +}; + +&spi7 { + clocks =3D <&segcc SE_GCC_QUPV3_WRAP1_S0_CLK>; + clock-names =3D "se"; + interconnects =3D <&clk_virt MASTER_QUP_CORE_1 QCOM_ICC_TAG_ALWAYS + &clk_virt SLAVE_QUP_CORE_1 QCOM_ICC_TAG_ALWAYS>, + <&hscnoc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS + &config_noc SLAVE_QUP_1 QCOM_ICC_TAG_ALWAYS>, + <&aggre2_noc_tile MASTER_QUP_1 QCOM_ICC_TAG_ALWAYS + &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>; + interconnect-names =3D "qup-core", "qup-config", "qup-memory"; + pinctrl-0 =3D <&qup_spi7_default>; + pinctrl-names =3D "default"; +}; + +&spi8 { + clocks =3D <&segcc SE_GCC_QUPV3_WRAP1_S1_CLK>; + clock-names =3D "se"; + interconnects =3D <&clk_virt MASTER_QUP_CORE_1 QCOM_ICC_TAG_ALWAYS + &clk_virt SLAVE_QUP_CORE_1 QCOM_ICC_TAG_ALWAYS>, + <&hscnoc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS + &config_noc SLAVE_QUP_1 QCOM_ICC_TAG_ALWAYS>, + <&aggre2_noc_tile MASTER_QUP_1 QCOM_ICC_TAG_ALWAYS + &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>; + interconnect-names =3D "qup-core", "qup-config", "qup-memory"; + pinctrl-0 =3D <&qup_spi8_default>; + pinctrl-names =3D "default"; +}; + +&spi11 { + clocks =3D <&segcc SE_GCC_QUPV3_WRAP1_S4_CLK>; + clock-names =3D "se"; + interconnects =3D <&clk_virt MASTER_QUP_CORE_1 QCOM_ICC_TAG_ALWAYS + &clk_virt SLAVE_QUP_CORE_1 QCOM_ICC_TAG_ALWAYS>, + <&hscnoc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS + &config_noc SLAVE_QUP_1 QCOM_ICC_TAG_ALWAYS>, + <&aggre2_noc_tile MASTER_QUP_1 QCOM_ICC_TAG_ALWAYS + &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>; + interconnect-names =3D "qup-core", "qup-config", "qup-memory"; + pinctrl-0 =3D <&qup_spi11_default>; + pinctrl-names =3D "default"; +}; + +&spi12 { + clocks =3D <&segcc SE_GCC_QUPV3_WRAP1_S5_CLK>; + clock-names =3D "se"; + interconnects =3D <&clk_virt MASTER_QUP_CORE_1 QCOM_ICC_TAG_ALWAYS + &clk_virt SLAVE_QUP_CORE_1 QCOM_ICC_TAG_ALWAYS>, + <&hscnoc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS + &config_noc SLAVE_QUP_1 QCOM_ICC_TAG_ALWAYS>, + <&aggre2_noc_tile MASTER_QUP_1 QCOM_ICC_TAG_ALWAYS + &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>; + interconnect-names =3D "qup-core", "qup-config", "qup-memory"; + pinctrl-0 =3D <&qup_spi12_default>; + pinctrl-names =3D "default"; +}; + +&spi13 { + clocks =3D <&segcc SE_GCC_QUPV3_WRAP1_S6_CLK>; + clock-names =3D "se"; + interconnects =3D <&clk_virt MASTER_QUP_CORE_1 QCOM_ICC_TAG_ALWAYS + &clk_virt SLAVE_QUP_CORE_1 QCOM_ICC_TAG_ALWAYS>, + <&hscnoc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS + &config_noc SLAVE_QUP_1 QCOM_ICC_TAG_ALWAYS>, + <&aggre2_noc_tile MASTER_QUP_1 QCOM_ICC_TAG_ALWAYS + &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>; + interconnect-names =3D "qup-core", "qup-config", "qup-memory"; + pinctrl-0 =3D <&qup_spi13_default>; + pinctrl-names =3D "default"; +}; + +&spi14 { + clocks =3D <&negcc NE_GCC_QUPV3_WRAP2_S0_CLK>; + clock-names =3D "se"; + interconnects =3D <&clk_virt MASTER_QUP_CORE_2 QCOM_ICC_TAG_ALWAYS + &clk_virt SLAVE_QUP_CORE_2 QCOM_ICC_TAG_ALWAYS>, + <&hscnoc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS + &config_noc SLAVE_QUP_2 QCOM_ICC_TAG_ALWAYS>, + <&aggre1_noc_tile MASTER_QUP_2 QCOM_ICC_TAG_ALWAYS + &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>; + interconnect-names =3D "qup-core", "qup-config", "qup-memory"; + pinctrl-0 =3D <&qup_spi14_default>; + pinctrl-names =3D "default"; +}; + +&spi16 { + clocks =3D <&negcc NE_GCC_QUPV3_WRAP2_S2_CLK>; + clock-names =3D "se"; + interconnects =3D <&clk_virt MASTER_QUP_CORE_2 QCOM_ICC_TAG_ALWAYS + &clk_virt SLAVE_QUP_CORE_2 QCOM_ICC_TAG_ALWAYS>, + <&hscnoc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS + &config_noc SLAVE_QUP_2 QCOM_ICC_TAG_ALWAYS>, + <&aggre1_noc_tile MASTER_QUP_2 QCOM_ICC_TAG_ALWAYS + &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>; + interconnect-names =3D "qup-core", "qup-config", "qup-memory"; + pinctrl-0 =3D <&qup_spi16_default>; + pinctrl-names =3D "default"; +}; + +&spi17 { + clocks =3D <&negcc NE_GCC_QUPV3_WRAP2_S3_CLK>; + clock-names =3D "se"; + interconnects =3D <&clk_virt MASTER_QUP_CORE_2 QCOM_ICC_TAG_ALWAYS + &clk_virt SLAVE_QUP_CORE_2 QCOM_ICC_TAG_ALWAYS>, + <&hscnoc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS + &config_noc SLAVE_QUP_2 QCOM_ICC_TAG_ALWAYS>, + <&aggre1_noc_tile MASTER_QUP_2 QCOM_ICC_TAG_ALWAYS + &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>; + interconnect-names =3D "qup-core", "qup-config", "qup-memory"; + pinctrl-0 =3D <&qup_spi17_default>; + pinctrl-names =3D "default"; +}; + +&spi18 { + clocks =3D <&negcc NE_GCC_QUPV3_WRAP2_S4_CLK>; + clock-names =3D "se"; + interconnects =3D <&clk_virt MASTER_QUP_CORE_2 QCOM_ICC_TAG_ALWAYS + &clk_virt SLAVE_QUP_CORE_2 QCOM_ICC_TAG_ALWAYS>, + <&hscnoc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS + &config_noc SLAVE_QUP_2 QCOM_ICC_TAG_ALWAYS>, + <&aggre1_noc_tile MASTER_QUP_2 QCOM_ICC_TAG_ALWAYS + &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>; + interconnect-names =3D "qup-core", "qup-config", "qup-memory"; + pinctrl-0 =3D <&qup_spi18_default>; + pinctrl-names =3D "default"; +}; + +&spi19 { + clocks =3D <&negcc NE_GCC_QUPV3_WRAP2_S5_CLK>; + clock-names =3D "se"; + interconnects =3D <&clk_virt MASTER_QUP_CORE_2 QCOM_ICC_TAG_ALWAYS + &clk_virt SLAVE_QUP_CORE_2 QCOM_ICC_TAG_ALWAYS>, + <&hscnoc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS + &config_noc SLAVE_QUP_2 QCOM_ICC_TAG_ALWAYS>, + <&aggre1_noc_tile MASTER_QUP_2 QCOM_ICC_TAG_ALWAYS + &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>; + interconnect-names =3D "qup-core", "qup-config", "qup-memory"; + pinctrl-0 =3D <&qup_spi19_default>; + pinctrl-names =3D "default"; +}; + +&spi20 { + clocks =3D <&negcc NE_GCC_QUPV3_WRAP2_S6_CLK>; + clock-names =3D "se"; + interconnects =3D <&clk_virt MASTER_QUP_CORE_2 QCOM_ICC_TAG_ALWAYS + &clk_virt SLAVE_QUP_CORE_2 QCOM_ICC_TAG_ALWAYS>, + <&hscnoc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS + &config_noc SLAVE_QUP_2 QCOM_ICC_TAG_ALWAYS>, + <&aggre1_noc_tile MASTER_QUP_2 QCOM_ICC_TAG_ALWAYS + &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>; + interconnect-names =3D "qup-core", "qup-config", "qup-memory"; + pinctrl-0 =3D <&qup_spi20_default>; + pinctrl-names =3D "default"; +}; + +&soc { + gcc: clock-controller@100000 { + compatible =3D "qcom,nord-gcc"; + reg =3D <0x0 0x00100000 0x0 0x1f4200>; + clocks =3D <&bi_tcxo_div2>, + <&sleep_clk>, + <0>, + <0>, + <0>, + <0>; + #clock-cells =3D <1>; + #reset-cells =3D <1>; + #power-domain-cells =3D <1>; + }; + + cnoc_main: interconnect@1500000 { + compatible =3D "qcom,nord-cnoc-main"; + reg =3D <0x0 0x01500000 0x0 0x1d200>; + #interconnect-cells =3D <2>; + qcom,bcm-voters =3D <&apps_bcm_voter>; + }; + + config_noc: interconnect@1600000 { + compatible =3D "qcom,nord-cnoc-cfg"; + reg =3D <0x0 0x01600000 0x0 0xd200>; + #interconnect-cells =3D <2>; + qcom,bcm-voters =3D <&apps_bcm_voter>; + }; + + system_noc: interconnect@1680000 { + compatible =3D "qcom,nord-system-noc"; + reg =3D <0x0 0x01680000 0x0 0x1c080>; + #interconnect-cells =3D <2>; + qcom,bcm-voters =3D <&apps_bcm_voter>; + }; + + aggre2_noc_tile: interconnect@16c0000 { + compatible =3D "qcom,nord-aggre2-noc-tile"; + reg =3D <0x0 0x016c0000 0x0 0x1b400>; + #interconnect-cells =3D <2>; + qcom,bcm-voters =3D <&apps_bcm_voter>; + }; + + aggre1_noc: interconnect@16e0000 { + compatible =3D "qcom,nord-aggre1-noc"; + reg =3D <0x0 0x016e0000 0x0 0x1c400>; + #interconnect-cells =3D <2>; + qcom,bcm-voters =3D <&apps_bcm_voter>; + }; + + aggre2_noc: interconnect@1700000 { + compatible =3D "qcom,nord-aggre2-noc"; + reg =3D <0x0 0x01700000 0x0 0x1b400>; + #interconnect-cells =3D <2>; + qcom,bcm-voters =3D <&apps_bcm_voter>; + clocks =3D <&rpmhcc RPMH_IPA_CLK>; + }; + + aggre1_noc_tile: interconnect@1720000 { + compatible =3D "qcom,nord-aggre1-noc-tile"; + reg =3D <0x0 0x01720000 0x0 0x23400>; + #interconnect-cells =3D <2>; + qcom,bcm-voters =3D <&apps_bcm_voter>; + clocks =3D <&negcc NE_GCC_AGGRE_NOC_USB2_AXI_CLK>, + <&negcc NE_GCC_AGGRE_NOC_USB3_PRIM_AXI_CLK>, + <&negcc NE_GCC_AGGRE_NOC_USB3_SEC_AXI_CLK>, + <&negcc NE_GCC_AGGRE_NOC_UFS_PHY_AXI_CLK>; + }; + + mmss_noc: interconnect@1780000 { + compatible =3D "qcom,nord-mmss-noc"; + reg =3D <0x0 0x01780000 0x0 0x72800>; + #interconnect-cells =3D <2>; + qcom,bcm-voters =3D <&apps_bcm_voter>; + }; + + pcie_cfg: interconnect@1ba0000 { + compatible =3D "qcom,nord-pcie-cfg"; + reg =3D <0x0 0x01ba0000 0x0 0x7200>; + #interconnect-cells =3D <2>; + qcom,bcm-voters =3D <&apps_bcm_voter>; + }; + + pcie_data_outbound: interconnect@1bc0000 { + compatible =3D "qcom,nord-pcie-data-outbound"; + reg =3D <0x0 0x01bc0000 0x0 0x17000>; + #interconnect-cells =3D <2>; + qcom,bcm-voters =3D <&apps_bcm_voter>; + }; + + pcie_data_inbound: interconnect@1c00000 { + compatible =3D "qcom,nord-pcie-data-inbound"; + reg =3D <0x0 0x01c00000 0x0 0x4b080>; + #interconnect-cells =3D <2>; + qcom,bcm-voters =3D <&apps_bcm_voter>; + }; + + ufs_mem_phy: phy@1d40000 { + compatible =3D "qcom,nord-qmp-ufs-phy", + "qcom,sm8650-qmp-ufs-phy"; + reg =3D <0x0 0x01d40000 0x0 0x2000>; + + clocks =3D <&rpmhcc RPMH_CXO_CLK>, + <&negcc NE_GCC_UFS_PHY_PHY_AUX_CLK>, + <&tcsrcc TCSR_UFS_CLKREF_EN>; + clock-names =3D "ref", + "ref_aux", + "qref"; + + resets =3D <&ufs_mem_hc 0>; + reset-names =3D "ufsphy"; + + power-domains =3D <&negcc NE_GCC_UFS_MEM_PHY_GDSC>; + #clock-cells =3D <1>; + #phy-cells =3D <0>; + + status =3D "disabled"; + }; + + ice: crypto@1d48000 { + compatible =3D "qcom,nord-inline-crypto-engine", + "qcom,inline-crypto-engine"; + reg =3D <0x0 0x01d48000 0x0 0x18000>; + clocks =3D <&negcc NE_GCC_UFS_PHY_ICE_CORE_CLK>, + <&negcc NE_GCC_UFS_PHY_AHB_CLK>; + clock-names =3D "core", + "iface"; + power-domains =3D <&negcc NE_GCC_UFS_PHY_GDSC>; + }; + + hscnoc: interconnect@2000000 { + compatible =3D "qcom,nord-hscnoc"; + reg =3D <0x0 0x02000000 0x0 0xb22000>; + #interconnect-cells =3D <2>; + qcom,bcm-voters =3D <&apps_bcm_voter>; + }; + + hpass_ag_noc: interconnect@5fc0000 { + compatible =3D "qcom,nord-hpass-ag-noc"; + reg =3D <0x0 0x05fc0000 0x0 0x37080>; + #interconnect-cells =3D <2>; + qcom,bcm-voters =3D <&apps_bcm_voter>; + }; + + negcc: clock-controller@8900000 { + compatible =3D "qcom,nord-negcc"; + reg =3D <0x0 0x08900000 0x0 0xf4200>; + clocks =3D <&bi_tcxo_div2>, + <&sleep_clk>, + <0>, + <0>, + <0>, + <0>, + <0>; + #clock-cells =3D <1>; + #reset-cells =3D <1>; + #power-domain-cells =3D <1>; + }; + + segcc: clock-controller@8a00000 { + compatible =3D "qcom,nord-segcc"; + reg =3D <0x0 0x08a00000 0x0 0xf4200>; + clocks =3D <&bi_tcxo_div2>, + <&sleep_clk>; + #clock-cells =3D <1>; + #reset-cells =3D <1>; + #power-domain-cells =3D <1>; + }; + + nwgcc: clock-controller@8b00000 { + compatible =3D "qcom,nord-nwgcc"; + reg =3D <0x0 0x08b00000 0x0 0xf4200>; + clocks =3D <&bi_tcxo_div2>, + <&sleep_clk>; + #clock-cells =3D <1>; + #reset-cells =3D <1>; + #power-domain-cells =3D <1>; + }; + + tcsrcc: clock-controller@f1d9000 { + compatible =3D "qcom,nord-tcsrcc", + "syscon"; + reg =3D <0x0 0x0f1d9000 0x0 0xf00c>; + clocks =3D <&rpmhcc RPMH_CXO_CLK>; + #clock-cells =3D <1>; + #reset-cells =3D <1>; + }; + + apps_rsc: rsc@18900000 { + compatible =3D "qcom,rpmh-rsc"; + reg =3D <0x0 0x18900000 0x0 0x10000>, + <0x0 0x18910000 0x0 0x10000>, + <0x0 0x18920000 0x0 0x10000>; + reg-names =3D "drv-0", + "drv-1", + "drv-2"; + interrupts =3D , + , + ; + qcom,tcs-offset =3D <0xd00>; + qcom,drv-id =3D <2>; + qcom,tcs-config =3D , + , + , + ; + label =3D "apps_rsc"; + power-domains =3D <&system_pd>; + + apps_bcm_voter: bcm-voter { + compatible =3D "qcom,bcm-voter"; + }; + + rpmhcc: clock-controller { + compatible =3D "qcom,nord-rpmh-clk"; + clocks =3D <&xo_board>; + clock-names =3D "xo"; + #clock-cells =3D <1>; + }; + + rpmhpd: power-controller { + compatible =3D "qcom,nord-rpmhpd"; + #power-domain-cells =3D <1>; + operating-points-v2 =3D <&rpmhpd_opp_table>; + + rpmhpd_opp_table: opp-table { + compatible =3D "operating-points-v2"; + + rpmhpd_opp_ret: opp-0 { + opp-level =3D ; + }; + + rpmhpd_opp_min_svs: opp-1 { + opp-level =3D ; + }; + + rpmhpd_opp_low_svs: opp2 { + opp-level =3D ; + }; + + rpmhpd_opp_svs: opp3 { + opp-level =3D ; + }; + + rpmhpd_opp_svs_l1: opp-4 { + opp-level =3D ; + }; + + rpmhpd_opp_nom: opp-5 { + opp-level =3D ; + }; + + rpmhpd_opp_nom_l1: opp-6 { + opp-level =3D ; + }; + + rpmhpd_opp_nom_l2: opp-7 { + opp-level =3D ; + }; + + rpmhpd_opp_turbo: opp-8 { + opp-level =3D ; + }; + + rpmhpd_opp_turbo_l1: opp-9 { + opp-level =3D ; + }; + }; + }; + }; + + nsp_data_noc_0: interconnect@1f200000 { + compatible =3D "qcom,nord-nsp-data-noc-0"; + reg =3D <0x0 0x1f200000 0x0 0x2a200>; + #interconnect-cells =3D <2>; + qcom,bcm-voters =3D <&apps_bcm_voter>; + }; + + nsp_data_noc_1: interconnect@1f600000 { + compatible =3D "qcom,nord-nsp-data-noc-1"; + reg =3D <0x0 0x1f600000 0x0 0x2a200>; + #interconnect-cells =3D <2>; + qcom,bcm-voters =3D <&apps_bcm_voter>; + }; + + nsp_data_noc_2: interconnect@1fa00000 { + compatible =3D "qcom,nord-nsp-data-noc-2"; + reg =3D <0x0 0x1fa00000 0x0 0x2a200>; + #interconnect-cells =3D <2>; + qcom,bcm-voters =3D <&apps_bcm_voter>; + }; + + nsp_data_noc_3: interconnect@1fe00000 { + compatible =3D "qcom,nord-nsp-data-noc-3"; + reg =3D <0x0 0x1fe00000 0x0 0x2a200>; + #interconnect-cells =3D <2>; + qcom,bcm-voters =3D <&apps_bcm_voter>; + }; +}; + +&tlmm { + qup_i2c0_default: qup-i2c0-default-state { + pins =3D "gpio111", "gpio112"; + function =3D "qup0_se0"; + drive-strength =3D <2>; + bias-pull-up; + }; + + qup_i2c1_default: qup-i2c1-default-state { + pins =3D "gpio111", "gpio112"; + function =3D "qup0_se1"; + drive-strength =3D <2>; + bias-pull-up; + }; + + qup_i2c2_default: qup-i2c2-default-state { + pins =3D "gpio113", "gpio114"; + function =3D "qup0_se2"; + drive-strength =3D <2>; + bias-pull-up; + }; + + qup_i2c3_default: qup-i2c3-default-state { + pins =3D "gpio115", "gpio116"; + function =3D "qup0_se3"; + drive-strength =3D <2>; + bias-pull-up; + }; + + qup_i2c4_default: qup-i2c4-default-state { + pins =3D "gpio117", "gpio118"; + function =3D "qup0_se4"; + drive-strength =3D <2>; + bias-pull-up; + }; + + qup_i2c5_default: qup-i2c5-default-state { + pins =3D "gpio121", "gpio122"; + function =3D "qup0_se5"; + drive-strength =3D <2>; + bias-pull-up; + }; + + qup_i2c7_default: qup-i2c7-default-state { + pins =3D "gpio123", "gpio124"; + function =3D "qup1_se0"; + drive-strength =3D <2>; + bias-pull-up; + }; + + qup_i2c8_default: qup-i2c8-default-state { + pins =3D "gpio125", "gpio126"; + function =3D "qup1_se1"; + drive-strength =3D <2>; + bias-pull-up; + }; + + qup_i2c9_default: qup-i2c9-default-state { + pins =3D "gpio127", "gpio128"; + function =3D "qup1_se2"; + drive-strength =3D <2>; + bias-pull-up; + }; + + qup_i2c10_default: qup-i2c10-default-state { + pins =3D "gpio129", "gpio130"; + function =3D "qup1_se3"; + drive-strength =3D <2>; + bias-pull-up; + }; + + qup_i2c11_default: qup-i2c11-default-state { + pins =3D "gpio131", "gpio132"; + function =3D "qup1_se4"; + drive-strength =3D <2>; + bias-pull-up; + }; + + qup_i2c12_default: qup-i2c12-default-state { + pins =3D "gpio133", "gpio134"; + function =3D "qup1_se5"; + drive-strength =3D <2>; + bias-pull-up; + }; + + qup_i2c13_default: qup-i2c13-default-state { + pins =3D "gpio137", "gpio138"; + function =3D "qup1_se6"; + drive-strength =3D <2>; + bias-pull-up; + }; + + qup_i2c14_default: qup-i2c14-default-state { + pins =3D "gpio139", "gpio140"; + function =3D "qup2_se0"; + drive-strength =3D <2>; + bias-pull-up; + }; + + qup_i2c16_default: qup-i2c16-default-state { + pins =3D "gpio145", "gpio146"; + function =3D "qup2_se2"; + drive-strength =3D <2>; + bias-pull-up; + }; + + qup_i2c17_default: qup-i2c17-default-state { + pins =3D "gpio150", "gpio151"; + function =3D "qup2_se3"; + drive-strength =3D <2>; + bias-pull-up; + }; + + qup_i2c18_default: qup-i2c18-default-state { + pins =3D "gpio154", "gpio155"; + function =3D "qup2_se4"; + drive-strength =3D <2>; + bias-pull-up; + }; + + qup_i2c19_default: qup-i2c19-default-state { + pins =3D "gpio156", "gpio157"; + function =3D "qup2_se5"; + drive-strength =3D <2>; + bias-pull-up; + }; + + qup_i2c20_default: qup-i2c20-default-state { + pins =3D "gpio158", "gpio159"; + function =3D "qup2_se6"; + drive-strength =3D <2>; + bias-pull-up; + }; + + qup_spi0_default: qup-spi0-default-state { + data-pins { + pins =3D "gpio109", "gpio111", "gpio112"; + function =3D "qup0_se0"; + drive-strength =3D <6>; + bias-disable; + }; + + cs-pins { + pins =3D "gpio110"; + function =3D "qup0_se0"; + drive-strength =3D <2>; + bias-disable; + }; + }; + + qup_spi1_default: qup-spi1-default-state { + data-pins { + pins =3D "gpio109", "gpio111", "gpio112"; + function =3D "qup0_se1"; + drive-strength =3D <6>; + bias-disable; + }; + + cs-pins { + pins =3D "gpio110"; + function =3D "qup0_se1"; + drive-strength =3D <2>; + bias-disable; + }; + }; + + qup_spi2_default: qup-spi2-default-state { + data-pins { + pins =3D "gpio113", "gpio114", "gpio115"; + function =3D "qup0_se2"; + drive-strength =3D <6>; + bias-disable; + }; + + cs-pins { + pins =3D "gpio116"; + function =3D "qup0_se2"; + drive-strength =3D <2>; + bias-disable; + }; + }; + + qup_spi3_default: qup-spi3-default-state { + data-pins { + pins =3D "gpio113", "gpio115", "gpio116"; + function =3D "qup0_se3"; + drive-strength =3D <6>; + bias-disable; + }; + + cs-pins { + pins =3D "gpio114"; + function =3D "qup0_se3"; + drive-strength =3D <2>; + bias-disable; + }; + }; + + qup_spi4_default: qup-spi4-default-state { + data-pins { + pins =3D "gpio117", "gpio118", "gpio119"; + function =3D "qup0_se4"; + drive-strength =3D <6>; + bias-disable; + }; + + cs-pins { + pins =3D "gpio120"; + function =3D "qup0_se4"; + drive-strength =3D <2>; + bias-disable; + }; + }; + + qup_spi5_default: qup-spi5-default-state { + data-pins { + pins =3D "gpio109", "gpio121", "gpio122"; + function =3D "qup0_se5"; + drive-strength =3D <6>; + bias-disable; + }; + + cs-pins { + pins =3D "gpio110"; + function =3D "qup0_se5"; + drive-strength =3D <2>; + bias-disable; + }; + }; + + qup_spi7_default: qup-spi7-default-state { + data-pins { + pins =3D "gpio123", "gpio124", "gpio125"; + function =3D "qup1_se0"; + drive-strength =3D <6>; + bias-disable; + }; + + cs-pins { + pins =3D "gpio126"; + function =3D "qup1_se0"; + drive-strength =3D <2>; + bias-disable; + }; + }; + + qup_spi8_default: qup-spi8-default-state { + data-pins { + pins =3D "gpio123", "gpio125", "gpio126"; + function =3D "qup1_se1"; + drive-strength =3D <6>; + bias-disable; + }; + + cs-pins { + pins =3D "gpio124"; + function =3D "qup1_se1"; + drive-strength =3D <2>; + bias-disable; + }; + }; + + qup_spi11_default: qup-spi11-default-state { + data-pins { + pins =3D "gpio131", "gpio132", "gpio137"; + function =3D "qup1_se4"; + drive-strength =3D <6>; + bias-disable; + }; + + cs-pins { + pins =3D "gpio138"; + function =3D "qup1_se4"; + drive-strength =3D <2>; + bias-disable; + }; + }; + + qup_spi12_default: qup-spi12-default-state { + data-pins { + pins =3D "gpio133", "gpio134", "gpio135"; + function =3D "qup1_se5"; + drive-strength =3D <6>; + bias-disable; + }; + + cs-pins { + pins =3D "gpio136"; + function =3D "qup1_se5"; + drive-strength =3D <2>; + bias-disable; + }; + }; + + qup_spi13_default: qup-spi13-default-state { + data-pins { + pins =3D "gpio131", "gpio137", "gpio138"; + function =3D "qup1_se6"; + drive-strength =3D <6>; + bias-disable; + }; + + cs-pins { + pins =3D "gpio132"; + function =3D "qup1_se6"; + drive-strength =3D <2>; + bias-disable; + }; + }; + + qup_spi14_default: qup-spi14-default-state { + data-pins { + pins =3D "gpio139", "gpio140", "gpio141"; + function =3D "qup2_se0"; + drive-strength =3D <6>; + bias-disable; + }; + + cs-pins { + pins =3D "gpio142"; + function =3D "qup2_se0"; + drive-strength =3D <2>; + bias-disable; + }; + }; + + qup_spi16_default: qup-spi16-default-state { + data-pins { + pins =3D "gpio145", "gpio146", "gpio147"; + function =3D "qup2_se2"; + drive-strength =3D <6>; + bias-disable; + }; + + cs-pins { + pins =3D "gpio148"; + function =3D "qup2_se2"; + drive-strength =3D <2>; + bias-disable; + }; + }; + + qup_spi17_default: qup-spi17-default-state { + data-pins { + pins =3D "gpio150", "gpio151", "gpio152"; + function =3D "qup2_se3"; + drive-strength =3D <6>; + bias-disable; + }; + + cs-pins { + pins =3D "gpio153"; + function =3D "qup2_se3"; + drive-strength =3D <2>; + bias-disable; + }; + }; + + qup_spi18_default: qup-spi18-default-state { + data-pins { + pins =3D "gpio143", "gpio154", "gpio155"; + function =3D "qup2_se4"; + drive-strength =3D <6>; + bias-disable; + }; + + cs-pins { + pins =3D "gpio144"; + function =3D "qup2_se4"; + drive-strength =3D <2>; + bias-disable; + }; + }; + + qup_spi19_default: qup-spi19-default-state { + data-pins { + pins =3D "gpio156", "gpio157", "gpio158"; + function =3D "qup2_se5"; + drive-strength =3D <6>; + bias-disable; + }; + + cs-pins { + pins =3D "gpio159"; + function =3D "qup2_se5"; + drive-strength =3D <2>; + bias-disable; + }; + }; + + qup_spi20_default: qup-spi20-default-state { + data-pins { + pins =3D "gpio156", "gpio158", "gpio159"; + function =3D "qup2_se6"; + drive-strength =3D <6>; + bias-disable; + }; + + cs-pins { + pins =3D "gpio157"; + function =3D "qup2_se6"; + drive-strength =3D <2>; + bias-disable; + }; + }; + + qup_uart0_default: qup-uart0-default-state { + pins =3D "gpio109", "gpio110"; + function =3D "qup0_se0"; + drive-strength =3D <2>; + bias-disable; + }; + + qup_uart1_default: qup-uart1-default-state { + pins =3D "gpio109", "gpio110"; + function =3D "qup0_se1"; + drive-strength =3D <2>; + bias-disable; + }; + + qup_uart2_default: qup-uart2-default-state { + pins =3D "gpio115", "gpio116"; + function =3D "qup0_se2"; + drive-strength =3D <2>; + bias-disable; + }; + + qup_uart3_default: qup-uart3-default-state { + pins =3D "gpio113", "gpio114"; + function =3D "qup0_se3"; + drive-strength =3D <2>; + bias-disable; + }; + + qup_uart4_default: qup-uart4-default-state { + pins =3D "gpio119", "gpio120"; + function =3D "qup0_se4"; + drive-strength =3D <2>; + bias-disable; + }; + + qup_uart5_default: qup-uart5-default-state { + pins =3D "gpio109", "gpio110"; + function =3D "qup0_se5"; + drive-strength =3D <2>; + bias-disable; + }; + + qup_uart7_default: qup-uart7-default-state { + pins =3D "gpio125", "gpio126"; + function =3D "qup1_se0"; + drive-strength =3D <2>; + bias-disable; + }; + + qup_uart8_default: qup-uart8-default-state { + pins =3D "gpio123", "gpio124"; + function =3D "qup1_se1"; + drive-strength =3D <2>; + bias-disable; + }; + + qup_uart9_default: qup-uart9-default-state { + pins =3D "gpio127", "gpio128"; + function =3D "qup1_se2"; + drive-strength =3D <2>; + bias-disable; + }; + + qup_uart10_default: qup-uart10-default-state { + pins =3D "gpio129", "gpio130"; + function =3D "qup1_se3"; + drive-strength =3D <2>; + bias-disable; + }; + + qup_uart11_default: qup-uart11-default-state { + pins =3D "gpio137", "gpio138"; + function =3D "qup1_se4"; + drive-strength =3D <2>; + bias-disable; + }; + + qup_uart12_default: qup-uart12-default-state { + pins =3D "gpio135", "gpio136"; + function =3D "qup1_se5"; + drive-strength =3D <2>; + bias-disable; + }; + + qup_uart13_default: qup-uart13-default-state { + pins =3D "gpio131", "gpio132"; + function =3D "qup1_se6"; + drive-strength =3D <2>; + bias-disable; + }; + + qup_uart14_default: qup-uart14-default-state { + pins =3D "gpio141", "gpio142"; + function =3D "qup2_se0"; + drive-strength =3D <2>; + bias-disable; + }; + + qup_uart15_default: qup-uart15-default-state { + pins =3D "gpio143", "gpio144"; + function =3D "qup2_se1"; + drive-strength =3D <2>; + bias-disable; + }; + + qup_uart16_default: qup-uart16-default-state { + pins =3D "gpio147", "gpio148"; + function =3D "qup2_se2"; + drive-strength =3D <2>; + bias-disable; + }; + + qup_uart17_default: qup-uart17-default-state { + pins =3D "gpio150", "gpio151", "gpio152", "gpio153"; + function =3D "qup2_se3"; + drive-strength =3D <2>; + bias-disable; + }; + + qup_uart18_default: qup-uart18-default-state { + pins =3D "gpio143", "gpio144"; + function =3D "qup2_se4"; + drive-strength =3D <2>; + bias-disable; + }; + + qup_uart19_default: qup-uart19-default-state { + pins =3D "gpio158", "gpio159"; + function =3D "qup2_se5"; + drive-strength =3D <2>; + bias-disable; + }; + + qup_uart20_default: qup-uart20-default-state { + pins =3D "gpio156", "gpio157"; + function =3D "qup2_se6"; + drive-strength =3D <2>; + bias-disable; + }; +}; + +&uart0 { + clocks =3D <&segcc SE_GCC_QUPV3_WRAP0_S0_CLK>; + clock-names =3D "se"; + interconnects =3D <&clk_virt MASTER_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS + &clk_virt SLAVE_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS>, + <&hscnoc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS + &config_noc SLAVE_QUP_0 QCOM_ICC_TAG_ALWAYS>; + interconnect-names =3D "qup-core", "qup-config"; + pinctrl-0 =3D <&qup_uart0_default>; + pinctrl-names =3D "default"; +}; + +&uart1 { + clocks =3D <&segcc SE_GCC_QUPV3_WRAP0_S1_CLK>; + clock-names =3D "se"; + interconnects =3D <&clk_virt MASTER_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS + &clk_virt SLAVE_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS>, + <&hscnoc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS + &config_noc SLAVE_QUP_0 QCOM_ICC_TAG_ALWAYS>; + interconnect-names =3D "qup-core", "qup-config"; + pinctrl-0 =3D <&qup_uart1_default>; + pinctrl-names =3D "default"; +}; + +&uart2 { + clocks =3D <&segcc SE_GCC_QUPV3_WRAP0_S2_CLK>; + clock-names =3D "se"; + interconnects =3D <&clk_virt MASTER_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS + &clk_virt SLAVE_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS>, + <&hscnoc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS + &config_noc SLAVE_QUP_0 QCOM_ICC_TAG_ALWAYS>; + interconnect-names =3D "qup-core", "qup-config"; + pinctrl-0 =3D <&qup_uart2_default>; + pinctrl-names =3D "default"; +}; + +&uart3 { + clocks =3D <&segcc SE_GCC_QUPV3_WRAP0_S3_CLK>; + clock-names =3D "se"; + interconnects =3D <&clk_virt MASTER_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS + &clk_virt SLAVE_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS>, + <&hscnoc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS + &config_noc SLAVE_QUP_0 QCOM_ICC_TAG_ALWAYS>; + interconnect-names =3D "qup-core", "qup-config"; + pinctrl-0 =3D <&qup_uart3_default>; + pinctrl-names =3D "default"; +}; + +&uart4 { + clocks =3D <&segcc SE_GCC_QUPV3_WRAP0_S4_CLK>; + clock-names =3D "se"; + interconnects =3D <&clk_virt MASTER_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS + &clk_virt SLAVE_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS>, + <&hscnoc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS + &config_noc SLAVE_QUP_0 QCOM_ICC_TAG_ALWAYS>; + interconnect-names =3D "qup-core", "qup-config"; + pinctrl-0 =3D <&qup_uart4_default>; + pinctrl-names =3D "default"; +}; + +&uart5 { + clocks =3D <&segcc SE_GCC_QUPV3_WRAP0_S5_CLK>; + clock-names =3D "se"; + interconnects =3D <&clk_virt MASTER_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS + &clk_virt SLAVE_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS>, + <&hscnoc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS + &config_noc SLAVE_QUP_0 QCOM_ICC_TAG_ALWAYS>; + interconnect-names =3D "qup-core", "qup-config"; + pinctrl-0 =3D <&qup_uart5_default>; + pinctrl-names =3D "default"; +}; + +&uart7 { + clocks =3D <&segcc SE_GCC_QUPV3_WRAP1_S0_CLK>; + clock-names =3D "se"; + interconnects =3D <&clk_virt MASTER_QUP_CORE_1 QCOM_ICC_TAG_ALWAYS + &clk_virt SLAVE_QUP_CORE_1 QCOM_ICC_TAG_ALWAYS>, + <&hscnoc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS + &config_noc SLAVE_QUP_1 QCOM_ICC_TAG_ALWAYS>; + interconnect-names =3D "qup-core", "qup-config"; + pinctrl-0 =3D <&qup_uart7_default>; + pinctrl-names =3D "default"; +}; + +&uart8 { + clocks =3D <&segcc SE_GCC_QUPV3_WRAP1_S1_CLK>; + clock-names =3D "se"; + interconnects =3D <&clk_virt MASTER_QUP_CORE_1 QCOM_ICC_TAG_ALWAYS + &clk_virt SLAVE_QUP_CORE_1 QCOM_ICC_TAG_ALWAYS>, + <&hscnoc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS + &config_noc SLAVE_QUP_1 QCOM_ICC_TAG_ALWAYS>; + interconnect-names =3D "qup-core", "qup-config"; + pinctrl-0 =3D <&qup_uart8_default>; + pinctrl-names =3D "default"; +}; + +&uart9 { + clocks =3D <&segcc SE_GCC_QUPV3_WRAP1_S2_CLK>; + clock-names =3D "se"; + interconnects =3D <&clk_virt MASTER_QUP_CORE_1 QCOM_ICC_TAG_ALWAYS + &clk_virt SLAVE_QUP_CORE_1 QCOM_ICC_TAG_ALWAYS>, + <&hscnoc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS + &config_noc SLAVE_QUP_1 QCOM_ICC_TAG_ALWAYS>; + interconnect-names =3D "qup-core", "qup-config"; + pinctrl-0 =3D <&qup_uart9_default>; + pinctrl-names =3D "default"; +}; + +&uart10 { + clocks =3D <&segcc SE_GCC_QUPV3_WRAP1_S3_CLK>; + clock-names =3D "se"; + interconnects =3D <&clk_virt MASTER_QUP_CORE_1 QCOM_ICC_TAG_ALWAYS + &clk_virt SLAVE_QUP_CORE_1 QCOM_ICC_TAG_ALWAYS>, + <&hscnoc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS + &config_noc SLAVE_QUP_1 QCOM_ICC_TAG_ALWAYS>; + interconnect-names =3D "qup-core", "qup-config"; + pinctrl-0 =3D <&qup_uart10_default>; + pinctrl-names =3D "default"; +}; + +&uart11 { + clocks =3D <&segcc SE_GCC_QUPV3_WRAP1_S4_CLK>; + clock-names =3D "se"; + interconnects =3D <&clk_virt MASTER_QUP_CORE_1 QCOM_ICC_TAG_ALWAYS + &clk_virt SLAVE_QUP_CORE_1 QCOM_ICC_TAG_ALWAYS>, + <&hscnoc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS + &config_noc SLAVE_QUP_1 QCOM_ICC_TAG_ALWAYS>; + interconnect-names =3D "qup-core", "qup-config"; + pinctrl-0 =3D <&qup_uart11_default>; + pinctrl-names =3D "default"; +}; + +&uart12 { + clocks =3D <&segcc SE_GCC_QUPV3_WRAP1_S5_CLK>; + clock-names =3D "se"; + interconnects =3D <&clk_virt MASTER_QUP_CORE_1 QCOM_ICC_TAG_ALWAYS + &clk_virt SLAVE_QUP_CORE_1 QCOM_ICC_TAG_ALWAYS>, + <&hscnoc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS + &config_noc SLAVE_QUP_1 QCOM_ICC_TAG_ALWAYS>; + interconnect-names =3D "qup-core", "qup-config"; + pinctrl-0 =3D <&qup_uart12_default>; + pinctrl-names =3D "default"; +}; + +&uart13 { + clocks =3D <&segcc SE_GCC_QUPV3_WRAP1_S6_CLK>; + clock-names =3D "se"; + interconnects =3D <&clk_virt MASTER_QUP_CORE_1 QCOM_ICC_TAG_ALWAYS + &clk_virt SLAVE_QUP_CORE_1 QCOM_ICC_TAG_ALWAYS>, + <&hscnoc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS + &config_noc SLAVE_QUP_1 QCOM_ICC_TAG_ALWAYS>; + interconnect-names =3D "qup-core", "qup-config"; + pinctrl-0 =3D <&qup_uart13_default>; + pinctrl-names =3D "default"; +}; + +&uart14 { + clocks =3D <&negcc NE_GCC_QUPV3_WRAP2_S0_CLK>; + clock-names =3D "se"; + interconnects =3D <&clk_virt MASTER_QUP_CORE_2 QCOM_ICC_TAG_ALWAYS + &clk_virt SLAVE_QUP_CORE_2 QCOM_ICC_TAG_ALWAYS>, + <&hscnoc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS + &config_noc SLAVE_QUP_2 QCOM_ICC_TAG_ALWAYS>; + interconnect-names =3D "qup-core", "qup-config"; + pinctrl-0 =3D <&qup_uart14_default>; + pinctrl-names =3D "default"; +}; + +&uart15 { + clocks =3D <&negcc NE_GCC_QUPV3_WRAP2_S1_CLK>; + clock-names =3D "se"; + interconnects =3D <&clk_virt MASTER_QUP_CORE_2 QCOM_ICC_TAG_ALWAYS + &clk_virt SLAVE_QUP_CORE_2 QCOM_ICC_TAG_ALWAYS>, + <&hscnoc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS + &config_noc SLAVE_QUP_2 QCOM_ICC_TAG_ALWAYS>; + interconnect-names =3D "qup-core", "qup-config"; + pinctrl-0 =3D <&qup_uart15_default>; + pinctrl-names =3D "default"; +}; + +&uart16 { + clocks =3D <&negcc NE_GCC_QUPV3_WRAP2_S2_CLK>; + clock-names =3D "se"; + interconnects =3D <&clk_virt MASTER_QUP_CORE_2 QCOM_ICC_TAG_ALWAYS + &clk_virt SLAVE_QUP_CORE_2 QCOM_ICC_TAG_ALWAYS>, + <&hscnoc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS + &config_noc SLAVE_QUP_2 QCOM_ICC_TAG_ALWAYS>; + interconnect-names =3D "qup-core", "qup-config"; + pinctrl-0 =3D <&qup_uart16_default>; + pinctrl-names =3D "default"; +}; + +&uart17 { + clocks =3D <&negcc NE_GCC_QUPV3_WRAP2_S3_CLK>; + clock-names =3D "se"; + interconnects =3D <&clk_virt MASTER_QUP_CORE_2 QCOM_ICC_TAG_ALWAYS + &clk_virt SLAVE_QUP_CORE_2 QCOM_ICC_TAG_ALWAYS>, + <&hscnoc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS + &config_noc SLAVE_QUP_2 QCOM_ICC_TAG_ALWAYS>; + interconnect-names =3D "qup-core", "qup-config"; + pinctrl-0 =3D <&qup_uart17_default>; + pinctrl-names =3D "default"; +}; + +&uart18 { + clocks =3D <&negcc NE_GCC_QUPV3_WRAP2_S4_CLK>; + clock-names =3D "se"; + interconnects =3D <&clk_virt MASTER_QUP_CORE_2 QCOM_ICC_TAG_ALWAYS + &clk_virt SLAVE_QUP_CORE_2 QCOM_ICC_TAG_ALWAYS>, + <&hscnoc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS + &config_noc SLAVE_QUP_2 QCOM_ICC_TAG_ALWAYS>; + interconnect-names =3D "qup-core", "qup-config"; + pinctrl-0 =3D <&qup_uart18_default>; + pinctrl-names =3D "default"; +}; + +&uart19 { + clocks =3D <&negcc NE_GCC_QUPV3_WRAP2_S5_CLK>; + clock-names =3D "se"; + interconnects =3D <&clk_virt MASTER_QUP_CORE_2 QCOM_ICC_TAG_ALWAYS + &clk_virt SLAVE_QUP_CORE_2 QCOM_ICC_TAG_ALWAYS>, + <&hscnoc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS + &config_noc SLAVE_QUP_2 QCOM_ICC_TAG_ALWAYS>; + interconnect-names =3D "qup-core", "qup-config"; + pinctrl-0 =3D <&qup_uart19_default>; + pinctrl-names =3D "default"; +}; + +&uart20 { + clocks =3D <&negcc NE_GCC_QUPV3_WRAP2_S6_CLK>; + clock-names =3D "se"; + interconnects =3D <&clk_virt MASTER_QUP_CORE_2 QCOM_ICC_TAG_ALWAYS + &clk_virt SLAVE_QUP_CORE_2 QCOM_ICC_TAG_ALWAYS>, + <&hscnoc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS + &config_noc SLAVE_QUP_2 QCOM_ICC_TAG_ALWAYS>; + interconnect-names =3D "qup-core", "qup-config"; + pinctrl-0 =3D <&qup_uart20_default>; + pinctrl-names =3D "default"; +}; + +&ufs_mem_hc { + clocks =3D <&negcc NE_GCC_UFS_PHY_AXI_CLK>, + <&negcc NE_GCC_AGGRE_NOC_UFS_PHY_AXI_CLK>, + <&negcc NE_GCC_UFS_PHY_AHB_CLK>, + <&negcc NE_GCC_UFS_PHY_UNIPRO_CORE_CLK>, + <&tcsrcc TCSR_UFS_CLKREF_EN>, + <&negcc NE_GCC_UFS_PHY_TX_SYMBOL_0_CLK>, + <&negcc NE_GCC_UFS_PHY_RX_SYMBOL_0_CLK>, + <&negcc NE_GCC_UFS_PHY_RX_SYMBOL_1_CLK>; + clock-names =3D "core_clk", + "bus_aggr_clk", + "iface_clk", + "core_clk_unipro", + "ref_clk", + "tx_lane0_sync_clk", + "rx_lane0_sync_clk", + "rx_lane1_sync_clk"; + + resets =3D <&negcc NE_GCC_UFS_PHY_BCR>; + reset-names =3D "rst"; + + interconnects =3D <&aggre1_noc_tile MASTER_UFS_MEM QCOM_ICC_TAG_ALWAYS + &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>, + <&hscnoc MASTER_APPSS_PROC QCOM_ICC_TAG_ACTIVE_ONLY + &config_noc SLAVE_UFS_MEM_CFG QCOM_ICC_TAG_ACTIVE_ONLY>; + interconnect-names =3D "ufs-ddr", + "cpu-ufs"; + + phys =3D <&ufs_mem_phy>; + phy-names =3D "ufsphy"; + + power-domains =3D <&negcc NE_GCC_UFS_PHY_GDSC>; + operating-points-v2 =3D <&ufs_opp_table>; + required-opps =3D <&rpmhpd_opp_nom>; + qcom,ice =3D <&ice>; + #reset-cells =3D <1>; + + ufs_opp_table: opp-table { + compatible =3D "operating-points-v2"; + + opp-100000000 { + opp-hz =3D /bits/ 64 <100000000>, + /bits/ 64 <0>, + /bits/ 64 <0>, + /bits/ 64 <100000000>, + /bits/ 64 <0>, + /bits/ 64 <0>, + /bits/ 64 <0>, + /bits/ 64 <0>; + required-opps =3D <&rpmhpd_opp_low_svs>; + }; + + opp-201500000 { + opp-hz =3D /bits/ 64 <201500000>, + /bits/ 64 <0>, + /bits/ 64 <0>, + /bits/ 64 <201500000>, + /bits/ 64 <0>, + /bits/ 64 <0>, + /bits/ 64 <0>, + /bits/ 64 <0>; + required-opps =3D <&rpmhpd_opp_svs>; + }; + + opp-403000000 { + opp-hz =3D /bits/ 64 <403000000>, + /bits/ 64 <0>, + /bits/ 64 <0>, + /bits/ 64 <403000000>, + /bits/ 64 <0>, + /bits/ 64 <0>, + /bits/ 64 <0>, + /bits/ 64 <0>; + required-opps =3D <&rpmhpd_opp_nom>; + }; + }; +}; --=20 2.43.0 From nobody Tue Sep 29 09:09:42 2026 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 C1E163BFE24 for ; Mon, 10 Aug 2026 11:08:33 +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=1786360115; cv=none; b=CEKJAwFZUtzz3aEdv521dfU/xuGs2LjDdgAti0f4Dt3DhB3epLzrzDXeHixmswYcyl/uKRG5mvO+/J+zFegW/mxypij6W9XZrMAK9Z4i8BHwb9IGMhecL9rFpHCU3IsoKE4b0dXGLgpYjF9Bcf6aWN/9n9NzZAuwZZteA7K6TNc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786360115; c=relaxed/simple; bh=taHT/FWrTTmTNXum4aFu4vc3zEZd97waKqjHUDl8gfk=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=lsYswYS5VzZjTCY5jVZmQ+4bcdTsAjUY14hlS6w57khsrwLtc/bI8RcDchYon/G/fs7exIJvbQzu79xOLkqotiN6WVrRVzUZKSmY0yk+bwAgCWTk9k7a57uE1yMOEkCX0fNT+Tt5XbBimNXYeuG4k549KWV9uW64cFWHf9XuIo8= 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=SLHQD42I; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=IaJAfy1d; 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="SLHQD42I"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="IaJAfy1d" Received: from pps.filterd (m0279869.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 67AA09n3009884 for ; Mon, 10 Aug 2026 11:08:32 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=qcppdkim1; bh=euO68b8p5f2 lwR2HBSoTd9oe/4Nd/VdBWR8tOJjtlZg=; b=SLHQD42IJjhJjrwrc1vUX/UrkAR PjP7jXeCU7Ov40Da2cHjhiWodrxWYXvX3EoNvqa62dIl0rh1gyCWzv5ttci462fU lmmAQQsiWKZNhv2+qvTMUZacgZRjJd/HAsjnJmuLgXa2NNtn/7xh8oeqN76zo90+ fauXqL2mUuUMJxPB5MSky3wlFomO4k5XoFF+497WsYXSDwizoHSxQ2jMTvDACetA C+q2PLphQKhXECstujA9v4GeJQAbEGMi4lcjA5bd5Y6F5F6hI6AYqVlvHoAbmP14 zOIQPy3V6sqNFoV310PnmoEeSFWvtWZcDlPCymsq9UF3FuVjS0ZkzPNu6jg== Received: from mail-pg1-f199.google.com (mail-pg1-f199.google.com [209.85.215.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4fycger7uy-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Mon, 10 Aug 2026 11:08:32 +0000 (GMT) Received: by mail-pg1-f199.google.com with SMTP id 41be03b00d2f7-c96b4f58ddcso1462444a12.3 for ; Mon, 10 Aug 2026 04:08:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1786360111; x=1786964911; 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:content-type; bh=euO68b8p5f2lwR2HBSoTd9oe/4Nd/VdBWR8tOJjtlZg=; b=IaJAfy1dTIbFHauYZSJFzbmEeUWgDQj4CNNGAAShGm+j/6+DGgvfz0lpo4XNKb58WB ftfeSDEXD6b3QbA/ESMvtc8kr8SkzIacq+bYD+wOpasUp4VH9kV644O5PLEDJZoHSMz2 /hMygV2ZIWdDCEHCfmru3r3MoMxB7cDrhG2KNZQCGmnQBXGG42Euj9yr4eS5lQ719Pu7 ZyhjmJQPCERmbc4zLo+j6brEtd+JwAX+FsZKgH2dSjzcZbViu/zueyWhDnlr83Sbky5q R7thxPrQLEASMuoqvKhyjkiqIorNUehkIBr+ZNJAC+VILMWB45DTeGR7AstLpheYR3/B 2byw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1786360111; x=1786964911; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=euO68b8p5f2lwR2HBSoTd9oe/4Nd/VdBWR8tOJjtlZg=; b=NgTiKzFiVQduFFRB//CZLLmUkgg1ZkvsNmNNI/T69YXax34nlwCS4aWmY0/ELSj72V GHrxKPPBEXIvVPQ3HAo4UsZJ3Gq4U732rFA5e/qAApRXckHmArICLPzXT/TVnTs6SZ0U FxyXNfh4juTMR7NP/6bxw33p4/qaCHD1ZBhrLGHeTFzZyTeKDloEi+jYEeG7BMUthI2h 1FcbA4IVUt6ZoOmItnGE/mkYQcI1yaRViAQ+q8WDxW5Iyd8cx/3w4MnOoVtPEgE0vyeF +S2kV6MS0WFH386YLYPHVKPFQq/wnvJNDOjGWUyvY5MQIXKPCkNuJvKU3CzCx2N8G+hW /qrw== X-Forwarded-Encrypted: i=1; AHgh+RoFXhoH7RCyiSw6XiqClZsm2uZuD8PxCO62PI4RBydNdP8jE7rx/H2Tt0T7U0seP1MAg6UJd3mJInB+4vQ=@vger.kernel.org X-Gm-Message-State: AOJu0YwutdapkXgdhsSxab9P0symUhEQTigHI+6RSGKJagVlG6CjmlWo AmlOYXr2WhsD7t5hWt407NIegAAfsVI6XSivYNMM0ggfPD9MxgzeTJP3lXVM9Gx4Y/EyF2ul+7R bnTFQexv0eECFhLOzki+diGO1TlhXmwOYTXJ8LLfX4xOi8ZsqJg9mFcXBY9EZw3u/NpPs+Eurze izvw== X-Gm-Gg: AR+sD12Qq/1Ke+BiVy8cjJXixtri2gaN0BE7s1VhhGIaBuF/0txNIj+1bugjey40wpo inaS7idQex9FcwXVJIr1FiQzUrP3rS3fIsLddAoQnoQYiszlGWxWX3X56s8Vc5AGk6CYeuzK9Fg QzWRjGfgNal8UabIp/3VcSPdvyv049bUZWSeNEsMROXfHVPLF9F8dFUcEqSnlDNLB2tI2LWpYa4 RBgXOR2TFhEv15+eWKMYKlh/NjMqBB7Br97WwoSf7DDTYCZZplBHTU0jnQWuM2V8ogtQcs8gOs+ 6z54sdB8GwxkdfLTcnkBWv+ayPv4punh4FB8adHYLudCYPCSLR1uBrI3tAquznyXaIkkMKzl7rO ADpLhkUIkNpg4f+jj9g2XOHve6et0wxKT1mueaQDOWA2/5u5+lAuQ37JssslW X-Received: by 2002:a05:6a20:d43:b0:3c3:b5db:cd93 with SMTP id adf61e73a8af0-3cbce7999e3mr21462735637.13.1786360111026; Mon, 10 Aug 2026 04:08:31 -0700 (PDT) X-Received: by 2002:a05:6a20:d43:b0:3c3:b5db:cd93 with SMTP id adf61e73a8af0-3cbce7999e3mr21462676637.13.1786360110565; Mon, 10 Aug 2026 04:08:30 -0700 (PDT) Received: from QCOM-aGQu4IUr3Y.qualcomm.com (i-global052.qualcomm.com. [199.106.103.52]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-315bebde353sm46520198eec.23.2026.08.10.04.08.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 10 Aug 2026 04:08:30 -0700 (PDT) From: Shawn Guo To: Bjorn Andersson Cc: Konrad Dybcio , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Bartosz Golaszewski , Deepti Jaggi , Mukesh Savaliya , Yadu M G , Kuldeep Singh , devicetree@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, Shawn Guo , Krzysztof Kozlowski , Bartosz Golaszewski Subject: [PATCH v10 4/6] dt-bindings: arm: qcom: Document Nord reference boards Date: Mon, 10 Aug 2026 19:07:24 +0800 Message-ID: <20260810110726.775084-6-shengchao.guo@oss.qualcomm.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260810110726.775084-1-shengchao.guo@oss.qualcomm.com> References: <20260810110726.775084-1-shengchao.guo@oss.qualcomm.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 X-Proofpoint-ORIG-GUID: AW4TtpUJNX8dALJJr8AgIiHZ2G3ApgVd X-Authority-Analysis: v=2.4 cv=R4cz39RX c=1 sm=1 tr=0 ts=6a79b130 cx=c_pps a=Oh5Dbbf/trHjhBongsHeRQ==:117 a=b9+bayejhc3NMeqCNyeLQQ==:17 a=Sv0fKeRqtYgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_glEPmIy2e8OvE2BGh3C:22 a=EUspDBNiAAAA:8 a=3mLb7b5QgQ_nS9KBAK4A:9 a=_Vgx9l1VpLgwpw_dHYaR:22 X-Proofpoint-GUID: AW4TtpUJNX8dALJJr8AgIiHZ2G3ApgVd X-Proofpoint-Spam-Info: AW1haW4tMjYwODEwMDA5NyBTYWx0ZWRfXwryYWduLwVs4 dlIs++giK3qA/Dr5WQgNaDjKiyBi4yGGX/4Ui1+Ab3X3oin+fgg+BoIDztLkqhEnaBJNRjVO+/Z QgQkLQFqYFagK1yfVYXgwycoVXZp+oA= X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODEwMDA5NyBTYWx0ZWRfX/roMREL3FSiW 6WtVkLP7AqIfU4B5r5lH9hz1s6nDp6BN+5k+717JD9wmfw2qUb2GgEP53YaI874PkWVcuwMDJux 3NrwiPH5wul4AGBd0zYZalJdEzcA700HnznYvNtVi3tMwBveXp3zQMy9cDXgNbhcLcJEqaDMgaG O5oSBpxCUP2LAwFrM+8CgfJ4jrEi0Cr03MoM81jtGmaDFeF06wiwtX+jjD58bjJWeJKf98KV45M QsKfPsu/jUtCvrKV1gwhC0G188UyvMCcWb4nqGRqks47eM2lqRML8i5FBbKs3v1BV1d24gS7N1Z GFIn6PxGuW4/lL6plkms9QBzT7mOhBGgf/D3mrnxSlfEHdp9av/iIdIojNIszFD4w8r+365W1An eR6c+slFHUhR+I6cIsF7cGFWnu0clGT10dZ19tMbQlAjzIURUVHwzb/UEOvO3RDIPPC06RbcvHR hycfZb6OJ7kofoUgLzA== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-08-10_02,2026-08-07_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 adultscore=0 malwarescore=0 priorityscore=1501 bulkscore=0 suspectscore=0 clxscore=1015 lowpriorityscore=0 impostorscore=0 phishscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608100097 Content-Type: text/plain; charset="utf-8" Nord is a new generation of SoC series from Qualcomm which includes SA8797P (for Automotive) and Dragonwing IQ10 (for IOT/Robotics). Document SA8797P Ride and IQ10 Robotics Reference Design (RRD) boards. Acked-by: Krzysztof Kozlowski Reviewed-by: Bartosz Golaszewski Signed-off-by: Shawn Guo --- Documentation/devicetree/bindings/arm/qcom.yaml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Documentation/devicetree/bindings/arm/qcom.yaml b/Documentatio= n/devicetree/bindings/arm/qcom.yaml index ff8a35df7862..198314ddaa84 100644 --- a/Documentation/devicetree/bindings/arm/qcom.yaml +++ b/Documentation/devicetree/bindings/arm/qcom.yaml @@ -402,6 +402,12 @@ properties: - xiaomi,sagit - const: qcom,msm8998 =20 + - items: + - enum: + - qcom,iq10-rrd + - qcom,sa8797p-ride + - const: qcom,nord + - description: Qualcomm Technologies, Inc. Robotics RB1 items: - enum: --=20 2.43.0 From nobody Tue Sep 29 09:09:42 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 E190D3C0602 for ; Mon, 10 Aug 2026 11:08:36 +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=1786360118; cv=none; b=P9n6iNS+rXrY3yQfZ1Ega1A+nOJc6OhFmMzC5MJX3fDygRyf5LRgnU4aWv/+9PKQztQlZm7FfWz8JvkcgiOZ5l+NSw756f3KP9fmRSoh9PVW9bxMUEO6yOkuNfnBo2MEtXU33Ale4TDyDZKIh0PNyvGVWX3mhp9MQ5vxDeVFocA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786360118; c=relaxed/simple; bh=gsg21OR/hoxtdFYhtUBcUpC5bz3X5ywHu9xrO9slTe8=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=pPxHWZDPAP7JUPhu5rpuxi7/0R1wA5JjLRrFb+lUetKpuueHgwwCsHQdUCaXcuKCPduWaH7PsfNQVYVDPZFzshPMZJ8xiy/zLPRix+wwq0DZkLWxzo+jCtrLe0nluEC2tVeUuRAoRmWH+cjemjr0n0Uxxn5jX8Uo/6J5Dt+kMWw= 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=Nlf9T/fa; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=hW1g3kkh; 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="Nlf9T/fa"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="hW1g3kkh" Received: from pps.filterd (m0279867.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 67A9SMp72341940 for ; Mon, 10 Aug 2026 11:08:36 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=qcppdkim1; bh=zBGRaEJAQRs nbMtd/JgkXPRhp91d80n5JouRnn0psjQ=; b=Nlf9T/fayuykpORJyjoYqJAg1/r EiGNCyiX1JmFGO3YLQ02YDVdRWHJEx4csomXSf8v2IgTl7I3vSRdKYBIYHMc2Pq7 8Lw/Kq2VnMxMTSiRSKuR+25D7e7xvD0tG4SDVlruse6ophkGHP4xCncdvHS/g1HY pzfjp79OuZXTMb07t2ayDFUpKL0qA7ZnTBjfncmkACFm9GNJWz+JilYXHD2Otly4 /7da3r1hsdBBoPW2mq1Zv4tlSQ2Flux2Fm4NTw15SC5BS8tpelkwQInc3SBcHxxe IFy+c4SRtjQDDIT/8FzOmU18VEx+hQPo1YW2Z1vOCreox241ua4LhzzhNhA== Received: from mail-pg1-f200.google.com (mail-pg1-f200.google.com [209.85.215.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4fy19kj5x0-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Mon, 10 Aug 2026 11:08:36 +0000 (GMT) Received: by mail-pg1-f200.google.com with SMTP id 41be03b00d2f7-cab041eced3so3089460a12.1 for ; Mon, 10 Aug 2026 04:08:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1786360115; x=1786964915; 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:content-type; bh=zBGRaEJAQRsnbMtd/JgkXPRhp91d80n5JouRnn0psjQ=; b=hW1g3kkhsSAatW5gkjeRWbWCDMcLkOMcU4bu5snJN3Q112XB89NnoVoUH/FpUup1kR Z3Ln9LKmZmJUTAFClymYJomRnOyYLn6PbWbrVFQs+C9OJ3xIK7P8PsAtK0xYaFBo4nu2 nb/j3WNe9WrW3CjcYx3V89VVx8ZoTPG0H1KJBxAUoJ63jz0fWGb+7w7f0GHcDVqpiwSV ZUZsAT4mWyYTC92MKB49edGmijzq4pWF5r2w1EPdlE3qnPgYnGTSTNZRFTV0GwS3BxwV bhHZ2DGgsc7vQekeqEJ3s66NEyZFEcEVhaMhIdQo/HDkpxFrwsKa/BjNG3Bt+tZGN+qd CtvA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1786360115; x=1786964915; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=zBGRaEJAQRsnbMtd/JgkXPRhp91d80n5JouRnn0psjQ=; b=rAqIiLzUOHMKyAo8im3LPyMzVxQDjQ3gw9nHwBeeO68PvzmhimNejq3ZdtYYn4rCwu X54ziwMMktXNb7caRgY+AMBr7Oy/R1UY2z0M8Ea/d3GPw8CBUhQ01IyPkHNwG6HZXr3a YUEtVKK7m12+Vhp0r7/wYbQ8auuRfhZkI3lJnPLSkop27WKcs82f8lGhJuWcRsjq5t3q rn37TvHzXQXzqwYgtajj1WAbJgdw8pWp4ttObEYemYHKu+HlI8XIZgpbEq7PAtMfx+95 DI2l/uqH7dc9Ssy+f1mgtc3toPQoQmjgnQjPL4PJZFC3okLmT8EwExpC/zvicRRmMNW0 QM0Q== X-Forwarded-Encrypted: i=1; AHgh+RrRf/iD5G/qmaSMa4Vs6vattZVBApoxQVf/RmqxNbVEESE+IZRhB8nLlJy/c3+0iBDDjRv0SyeFNr9uSJ8=@vger.kernel.org X-Gm-Message-State: AOJu0YwczqxQLCVxEDSZqPhnUy5J6Nks4RHkXvSaVmRpkuthHm2+oFP/ HtqJ/NPCn9Ns6Z1y1GdVqpHlWbTqxBJJHWKr31xytHCPo9EpnempmTRojOHO9IJU3QTbG6BySma kh08yWxyqHDD6lH5VvG2jLjQAWzkKutAZtt/xrl2Ap1e68k64Aogwxa7DGPOcP0DrPLU= X-Gm-Gg: AR+sD10Mb1o59pm9Bu8FyTYfSkb8Ar2aj3r0Ns2EQk+OgOMKdwxczWjTcogWKqYebZa pZqY3b3xRx5NRomgkL3nNikKfSPRIixGF361w8JwCEzybva/qwoYNkLKXP9D9rYLBeejedZ2cra 5V2CHd671Kmv3owc2CtwUuen2YaqTwzaNWifaPUcazc3nwPLuW2S3XA/nCe0BMkti2bLQJVzaQ3 8Bl5wmNRnHGt5xAyT70cxkEU8qxaB8EOPjmEujhghM+3XeP7QQ+pSkDA4eQRCzJmNfMeJkc4jaP vtugYzkhhw0ijnHi9smG96mBYftxLlAweU0vVNclFvlcZ6BqfAdXGLdhoMVlw5W3nOOhfXYNOJL CnC6aZQHlSzlF1eAyd4pGqfL5xW+X4A36mYh/Tc+GmIAktXJYnqunyea0wvR9 X-Received: by 2002:a05:6a20:6f8d:b0:3bf:d487:4b42 with SMTP id adf61e73a8af0-3cc1a435dd8mr1175886637.35.1786360115396; Mon, 10 Aug 2026 04:08:35 -0700 (PDT) X-Received: by 2002:a05:6a20:6f8d:b0:3bf:d487:4b42 with SMTP id adf61e73a8af0-3cc1a435dd8mr1175819637.35.1786360114902; Mon, 10 Aug 2026 04:08:34 -0700 (PDT) Received: from QCOM-aGQu4IUr3Y.qualcomm.com (i-global052.qualcomm.com. [199.106.103.52]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-315bebde353sm46520198eec.23.2026.08.10.04.08.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 10 Aug 2026 04:08:34 -0700 (PDT) From: Shawn Guo To: Bjorn Andersson Cc: Konrad Dybcio , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Bartosz Golaszewski , Deepti Jaggi , Mukesh Savaliya , Yadu M G , Kuldeep Singh , devicetree@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, Bartosz Golaszewski , Shawn Guo Subject: [PATCH v10 5/6] arm64: dts: qcom: Add device tree for Nord Ride board Date: Mon, 10 Aug 2026 19:07:25 +0800 Message-ID: <20260810110726.775084-7-shengchao.guo@oss.qualcomm.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260810110726.775084-1-shengchao.guo@oss.qualcomm.com> References: <20260810110726.775084-1-shengchao.guo@oss.qualcomm.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 X-Proofpoint-ORIG-GUID: 9VMcPgC-uS4LdPC44xvcU2dQiEAZAzwX X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODEwMDA5NyBTYWx0ZWRfX7oXcQ2dysvu/ HwNOwJ3a+sh5AapR8tc721JfHUaRj3jt+lCzfQZIiwtiOe80fOsBnZdNoglDG7F5YKrjpTxTZHA bToJG8937xSFo0bHB9Fv5TlfXd7MmLKe2NyorqR8RbGi8D10D7HgmQJnVkSDxR47fQ15dfyDkbn YYUZ2nEA5kdGEhY3zXR8Wyc//CGpPj01E2xkI0mXGJeTU46OulDYg9q2NCwHUCekFzHSD9Hotd6 4ng4TlJCmuFU3GpQkdOZvyuD7t70nX2wD5ZIkqHO7HG5TIjGbBJRoxElRa97VOu3bQw8e7eV/7E q7Bgkd8TedGSjm8UbJG0oYzcv+XY0iVy394YfCtbp24tb05UPyhbX1f7aEVaCAIgl4GyOUAwtHf etfqmQm3Q0btcRYfgO9K3U3HvuINi8ucpVdgmDmmfNdZOR89/KPP8WkPwLUxiwiX97KJhX8opCZ GWseTVjA0NahXVecymw== X-Proofpoint-Spam-Info: AW1haW4tMjYwODEwMDA5NyBTYWx0ZWRfX8R00pZcIYfKG WzYA9e3iHcPvxd9o6cWxh0gXRoRSesFmlCLwkldoM0SdTzeXyvTrdtVF2HNtTY1PDPXUKU0wUFA WVN2P6wL1Ghc3aM1OZhyvW9VXbz1CEs= X-Proofpoint-GUID: 9VMcPgC-uS4LdPC44xvcU2dQiEAZAzwX X-Authority-Analysis: v=2.4 cv=abxRWxot c=1 sm=1 tr=0 ts=6a79b134 cx=c_pps a=oF/VQ+ItUULfLr/lQ2/icg==:117 a=b9+bayejhc3NMeqCNyeLQQ==:17 a=Sv0fKeRqtYgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=eoimf2acIAo5FJnRuUoq:22 a=EUspDBNiAAAA:8 a=2Hjw6vQzkyH4OD-tzjAA:9 a=3WC7DwWrALyhR5TkjVHa:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-08-10_02,2026-08-07_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 lowpriorityscore=0 malwarescore=0 suspectscore=0 impostorscore=0 priorityscore=1501 spamscore=0 phishscore=0 clxscore=1015 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608100097 Content-Type: text/plain; charset="utf-8" From: Deepti Jaggi Add initial device tree for the Qualcomm SA8797P Ride reference board, which is built on Nord GearVM variant. - Configure UART15 as the primary console and UART4 as the secondary serial port - Enable UFS storage support - Define thermal zones for PMIC dies, UFS, and two SDRAM sensors, all sourced from SCMI sensor protocol on channel 23 Signed-off-by: Deepti Jaggi Reviewed-by: Bartosz Golaszewski Tested-by: Yadu M G Signed-off-by: Shawn Guo --- arch/arm64/boot/dts/qcom/Makefile | 1 + arch/arm64/boot/dts/qcom/nord-ride.dts | 236 +++++++++++++++++++++++++ 2 files changed, 237 insertions(+) create mode 100644 arch/arm64/boot/dts/qcom/nord-ride.dts diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/M= akefile index 1c86e7e98f55..d05920a0d5eb 100644 --- a/arch/arm64/boot/dts/qcom/Makefile +++ b/arch/arm64/boot/dts/qcom/Makefile @@ -160,6 +160,7 @@ dtb-$(CONFIG_ARCH_QCOM) +=3D msm8998-sony-xperia-yoshin= o-lilac.dtb dtb-$(CONFIG_ARCH_QCOM) +=3D msm8998-sony-xperia-yoshino-maple.dtb dtb-$(CONFIG_ARCH_QCOM) +=3D msm8998-sony-xperia-yoshino-poplar.dtb dtb-$(CONFIG_ARCH_QCOM) +=3D msm8998-xiaomi-sagit.dtb +dtb-$(CONFIG_ARCH_QCOM) +=3D nord-ride.dtb dtb-$(CONFIG_ARCH_QCOM) +=3D purwa-iot-evk.dtb =20 purwa-iot-evk-el2-dtbs :=3D purwa-iot-evk.dtb x1-el2.dtbo diff --git a/arch/arm64/boot/dts/qcom/nord-ride.dts b/arch/arm64/boot/dts/q= com/nord-ride.dts new file mode 100644 index 000000000000..4a762e4ce62a --- /dev/null +++ b/arch/arm64/boot/dts/qcom/nord-ride.dts @@ -0,0 +1,236 @@ +// SPDX-License-Identifier: BSD-3-Clause +/* + * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries. + */ + +/dts-v1/; + +#include "nord-gearvm.dtsi" + +/ { + model =3D "Qualcomm Technologies, Inc. SA8797P Ride"; + compatible =3D "qcom,sa8797p-ride", "qcom,nord"; + + aliases { + serial0 =3D &uart15; + serial1 =3D &uart4; + }; + + chosen { + stdout-path =3D "serial0:115200n8"; + }; + + clocks { + xo_board_clk: xo-board-clk { + compatible =3D "fixed-clock"; + clock-frequency =3D <38400000>; + #clock-cells =3D <0>; + }; + + sleep_clk: sleep-clk { + compatible =3D "fixed-clock"; + clock-frequency =3D <32000>; + #clock-cells =3D <0>; + }; + }; +}; + +&scmi3 { + status =3D "okay"; +}; + +&scmi11 { + status =3D "okay"; +}; + +&scmi23 { + status =3D "okay"; +}; + +&thermal_zones { + pmic_kobra_thermal: pmic-a-die-thermal { + polling-delay-passive =3D <100>; + thermal-sensors =3D <&scmi23_sensor 3>; + + trips { + trip0 { + temperature =3D <115000>; + hysteresis =3D <5000>; + type =3D "passive"; + }; + }; + }; + + pmic_kai_0_thermal: pmic-e-die-thermal { + polling-delay-passive =3D <100>; + thermal-sensors =3D <&scmi23_sensor 4>; + + trips { + trip0 { + temperature =3D <115000>; + hysteresis =3D <5000>; + type =3D "passive"; + }; + }; + }; + + pmic_kai_1_thermal: pmic-f-die-thermal { + polling-delay-passive =3D <100>; + thermal-sensors =3D <&scmi23_sensor 5>; + + trips { + trip0 { + temperature =3D <115000>; + hysteresis =3D <5000>; + type =3D "passive"; + }; + }; + }; + + pmic_kai_2_thermal: pmic-g-die-thermal { + polling-delay-passive =3D <100>; + thermal-sensors =3D <&scmi23_sensor 6>; + + trips { + trip0 { + temperature =3D <115000>; + hysteresis =3D <5000>; + type =3D "passive"; + }; + }; + }; + + pmic_kai_3_thermal: pmic-h-die-thermal { + polling-delay-passive =3D <100>; + thermal-sensors =3D <&scmi23_sensor 7>; + + trips { + trip0 { + temperature =3D <115000>; + hysteresis =3D <5000>; + type =3D "passive"; + }; + }; + }; + + pmic_kai_4_thermal: pmic-i-die-thermal { + polling-delay-passive =3D <100>; + thermal-sensors =3D <&scmi23_sensor 8>; + + trips { + trip0 { + temperature =3D <115000>; + hysteresis =3D <5000>; + type =3D "passive"; + }; + }; + }; + + pmic_kai_5_thermal: pmic-j-die-thermal { + polling-delay-passive =3D <100>; + thermal-sensors =3D <&scmi23_sensor 9>; + + trips { + trip0 { + temperature =3D <115000>; + hysteresis =3D <5000>; + type =3D "passive"; + }; + }; + }; + + pmic_kai_6_thermal: pmic-k-die-thermal { + polling-delay-passive =3D <100>; + thermal-sensors =3D <&scmi23_sensor 10>; + + trips { + trip0 { + temperature =3D <115000>; + hysteresis =3D <5000>; + type =3D "passive"; + }; + }; + }; + + pmic_kai_7_thermal: pmic-l-die-thermal { + polling-delay-passive =3D <100>; + thermal-sensors =3D <&scmi23_sensor 11>; + + trips { + trip0 { + temperature =3D <115000>; + hysteresis =3D <5000>; + type =3D "passive"; + }; + }; + }; + + pmic_kai_ufs_thermal: ufs-thermal { + polling-delay-passive =3D <0>; + thermal-sensors =3D <&scmi23_sensor 0>; + + trips { + trip0 { + temperature =3D <105000>; + hysteresis =3D <5000>; + type =3D "passive"; + }; + + trip1 { + temperature =3D <115000>; + hysteresis =3D <5000>; + type =3D "critical"; + }; + }; + }; + + pmic_kai_sdram0_thermal: sdram0-thermal { + polling-delay-passive =3D <0>; + thermal-sensors =3D <&scmi23_sensor 1>; + + trips { + trip0 { + temperature =3D <105000>; + hysteresis =3D <5000>; + type =3D "passive"; + }; + + trip1 { + temperature =3D <115000>; + hysteresis =3D <5000>; + type =3D "critical"; + }; + }; + }; + + pmic_kai_sdram1_thermal: sdram1-thermal { + polling-delay-passive =3D <0>; + thermal-sensors =3D <&scmi23_sensor 2>; + + trips { + trip0 { + temperature =3D <105000>; + hysteresis =3D <5000>; + type =3D "passive"; + }; + + trip1 { + temperature =3D <115000>; + hysteresis =3D <5000>; + type =3D "critical"; + }; + }; + }; +}; + +&uart4 { + status =3D "okay"; +}; + +&uart15 { + status =3D "okay"; +}; + +&ufs_mem_hc { + status =3D "okay"; +}; --=20 2.43.0 From nobody Tue Sep 29 09:09:42 2026 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 4E9A43C10A8 for ; Mon, 10 Aug 2026 11:08:42 +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=1786360124; cv=none; b=RpqlQZeFQ/ACji18hzMsjpUIaYLT3ZhTVba05cA5C9K9a6UdBLFNqIBLTPcgP4PyjEAC8GxQELRqqJvPY+qMFNeXwDI8PUAGcI8X8aw932hFRafeA8Ov9daTarkmXzXtziGYVDj+O0dlo0hqECi/byvp6rL1E+YbUVt8iaRve+A= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786360124; c=relaxed/simple; bh=UaIDN6yWgs5pDz3PdB0xkxDt+8H0xlpb0fpd0mg/N18=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=svhLgc2bsX6xeZGOsw8xTHKEhcmPPLayydOwSzV47edQGyoy5AVWioXx9HtFvINhvPccc7kWjWkmMvYIKM6G60BeLFUGg/8wS9yv1x3yOVRAL++kSLYE/r3QFz2kvm4EU/77KM+dTY0hu95aUB6CMRYlvPtPLqITE5P2762IW0k= 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=W9uuJGK4; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=AMb2amyR; 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="W9uuJGK4"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="AMb2amyR" Received: from pps.filterd (m0279870.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 67A9SA1P1166956 for ; Mon, 10 Aug 2026 11:08:41 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=qcppdkim1; bh=o51iuA6uoiG dl/QkrCwawbC1+zsfZY/TN/8qfduP4rY=; b=W9uuJGK4qkbBO3yKOl0HKmM39Sa jgiA0I8zknitZJELqnFBEtuEmoOIgoLWdQ5nnuZiPlzl0GJlU6lXtGyNgJwz7jYP rwUi+/zuLPncTr3O8ocRMa5o95WPNPs/qVLjX4sIv1Qcvh1sMWAqmL4CJMjlRPyY 3ck/FZdUePXWxoHA+IHWq83sUnizu0o6eHNifNSxlCWsMpDAtQNMB5fAaHAUT+4s QcFZdp74Nw/w8FaGti5O4G65v9lBvxOjhrezNHIX/RORNWcmYRoEDYddJN5HsgiQ KtlLQHLTyZTNpTUjP/WDn1L9V9TOIqlf5NeyLkf7IzO5Verkgf7zwwMQukA== Received: from mail-pg1-f197.google.com (mail-pg1-f197.google.com [209.85.215.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4fy8vhh5nn-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Mon, 10 Aug 2026 11:08:41 +0000 (GMT) Received: by mail-pg1-f197.google.com with SMTP id 41be03b00d2f7-cab041eced3so3089595a12.1 for ; Mon, 10 Aug 2026 04:08:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1786360120; x=1786964920; 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:content-type; bh=o51iuA6uoiGdl/QkrCwawbC1+zsfZY/TN/8qfduP4rY=; b=AMb2amyRetOo0JDEtBKh0v3IPJavL9dHR9bmlBcV2jHHpQSBnfl4YjEgIuYr1FvRrI 7KXRMkOOXk5/DaxsiZAivsuo7A+119C7LW5XDpoHBehyQ4HCo7BpHf/phQUDSF6ni7Z/ lYOGOcGYnAYzg4lwC1OEER5QuDnsD2o5Y/ZsqcoeL9nrXU4mr3ntkBGhdEQ6GTIKRBVF oecOjhQcNtrDp8folp5PcyF7bXvn7c24GvTp2mF7cDEBVLsZb7TsXL3GJ+QOVC0qdkYk f1yESs3QTb+igXUY/UlAGBt9Wa+ItdjhAX0+yPNackMgRhuzdqcurBAxugGSJq4iiOoz bwuQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1786360120; x=1786964920; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=o51iuA6uoiGdl/QkrCwawbC1+zsfZY/TN/8qfduP4rY=; b=AZiV0ILks6Wgd3P3N+oYWZvM7SzdVf05wYnr9dQ8lAESFwW/9DHQPYRGS/3M9OcF8W +ZdsAIQvFX7AKL7w1qHqGazh+HxiZtqI9mtjNJUCbbX8WE0prkHXcAApDMUzYaEYiqmo dL/YeYuP/R+FWoO3/lpWkaxyxwIApJsT2mGkAzD3Xx1xIw6KCFfGQtKUD8/97+98leCr 2ZFk9uGwcwJYtQPs0fDTJazab4rTPsV5bYZXnLMYh2Ruwzg6uEFPFain8BBiCzQZe7ME E3Yf/SSuDoahS+qXrpuIojI0dknPrbVqu0oYqXdl4A5DDPNVV3joau9xGzCWu5/MHtTL 4i4w== X-Forwarded-Encrypted: i=1; AHgh+RoXeg+DgFtpRPTDd6tnPri9OJebJLvZKpHTrKVL27O2zsFtm//YM6EhD43PQMtgjt+k8qCTOt7v1Smlid0=@vger.kernel.org X-Gm-Message-State: AOJu0YwLur9sAmwlwPAR1zCO281tAFsyWfj/PZw9Wc69k65M95eqcMhv af0EwYiI2ONs/d/iaQJc8Rk0Rc4hvtzqnIzi/o5O0uYnEmEnH8ifVam8AkxoY8R4kY78wDXD9zm L1Tc4v6wZ8RX834/HVn23xXOUZSlM8wmBOWT2fxV0M466R942QCJil3xP/VEDNXKJUH0= X-Gm-Gg: AR+sD111WlfVgwe+yVbcIG8J9p9JKA880Ck34khJqsFFngsOL2Kk3eOF3+RbdGsxx+h juzRUl+vm91rMTgvUEamGREDPtKXzf1yVGtAnTpX7RrHaqKSw1YpBoDAIukK3sMvroawY5zKUaZ 1Q0H2NRjuloJglJI6Cuv8ifLQCuUcleWLwR2QTrwA5LUWRj+5D82L4qWPA/dB5P59ixdmRnuNCi 4qQDMVXMP12B3msDeGfmE/7e13FkkN97hRz1pw8xXxJWzWTw1vrCvfiyySocjm+ObjBOSLclD4U SxCkvsRm5KiMUBM2IPSAuq+3EA0MB1OnA8tca1bYhgsaBBmQwMtHzb5JV7J5mqW9CGgIT0JDuxy 4gTVzbdPdsH5BB1+I8TJu32tV+94O/xUrI1tSgGIiiyHASw+b62CZYaSjp4S3 X-Received: by 2002:a05:6a20:d10e:b0:3b4:8f18:33a with SMTP id adf61e73a8af0-3cc1a0bcd09mr1275438637.1.1786360119931; Mon, 10 Aug 2026 04:08:39 -0700 (PDT) X-Received: by 2002:a05:6a20:d10e:b0:3b4:8f18:33a with SMTP id adf61e73a8af0-3cc1a0bcd09mr1275345637.1.1786360119339; Mon, 10 Aug 2026 04:08:39 -0700 (PDT) Received: from QCOM-aGQu4IUr3Y.qualcomm.com (i-global052.qualcomm.com. [199.106.103.52]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-315bebde353sm46520198eec.23.2026.08.10.04.08.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 10 Aug 2026 04:08:39 -0700 (PDT) From: Shawn Guo To: Bjorn Andersson Cc: Konrad Dybcio , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Bartosz Golaszewski , Deepti Jaggi , Mukesh Savaliya , Yadu M G , Kuldeep Singh , devicetree@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, Shawn Guo , Bartosz Golaszewski , Konrad Dybcio Subject: [PATCH v10 6/6] arm64: dts: qcom: Add device tree for Nord RRD board Date: Mon, 10 Aug 2026 19:07:26 +0800 Message-ID: <20260810110726.775084-8-shengchao.guo@oss.qualcomm.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260810110726.775084-1-shengchao.guo@oss.qualcomm.com> References: <20260810110726.775084-1-shengchao.guo@oss.qualcomm.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 X-Authority-Analysis: v=2.4 cv=MMtQXsZl c=1 sm=1 tr=0 ts=6a79b139 cx=c_pps a=rz3CxIlbcmazkYymdCej/Q==:117 a=b9+bayejhc3NMeqCNyeLQQ==:17 a=Sv0fKeRqtYgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=gowsoOTTUOVcmtlkKump:22 a=EUspDBNiAAAA:8 a=7kUQgkP5GImsC5sEelMA:9 a=bFCP_H2QrGi7Okbo017w:22 X-Proofpoint-ORIG-GUID: QVblghLi6exI-yJvhl5SPdTZkzvy1HoC X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODEwMDA5NyBTYWx0ZWRfX1NNTCI0U+oyU hsjZyMEyZ0meTf9aF2zeYMv9ZPhrh+SxBcNC3KqFyQ8iQKigGHO/P4t9MhZJNNFsC9Cz9e6aTmx LOvUakmr+dEKVFeDlP7j/58uTQR7IBDxVQjliedNrykLCkex4K7+b18pvfwGotjqPWE2JeiTE3R 8DletY+hc5sXsIZFtjGeAisTD3vqTbhkWc7i6QNHgVjJ+dI06o0zOOUHKw5r5oecMGWv0vd9Lxu 8vWfDLYhU1Ofoxe+QfP3dM/Dtmh/kM0HHkZHZmAWZPxeL03UmHgWbaHE468jAd9YmVw9oNjNS9/ yIl6ARMw+yXfzEOw+SG+zwz9Cg6m/xZoEfpdbwrIw0+5yYlRY8KcwaxR30ca/Nng1KaUljEMAo6 1fxEHzZtMq4zh8WdK9mzbkOY8qjUoL2Lq2CT7HhCFxQd0odMJMRoUfLY9caRMahp0wWOyQ3rUWD rJTbMA5J1VPnAdTdJ0A== X-Proofpoint-GUID: QVblghLi6exI-yJvhl5SPdTZkzvy1HoC X-Proofpoint-Spam-Info: AW1haW4tMjYwODEwMDA5NyBTYWx0ZWRfX/6IT2eEcIKT4 y4C0TKvWKT4TXxyJq/dyfGosiQGMJ6fc06dljmk1lvoYya0ZceZU5VeAguBVn/kJ7ZO5kHqdU+D cZKPaNMwe8a9cobhXuUdjEtfcdizUcA= X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-08-10_02,2026-08-07_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 suspectscore=0 spamscore=0 impostorscore=0 bulkscore=0 priorityscore=1501 clxscore=1015 lowpriorityscore=0 phishscore=0 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608100097 Content-Type: text/plain; charset="utf-8" Add initial device tree for the Qualcomm Dragonwing IQ10 RRD (Robotics Reference Design) board, which is built on Nord Embedded variant. Enable the debug UART, UFS storage, PMICs, I2C and SPI. Co-developed-by: Bartosz Golaszewski Signed-off-by: Bartosz Golaszewski Reviewed-by: Konrad Dybcio Signed-off-by: Shawn Guo --- arch/arm64/boot/dts/qcom/Makefile | 1 + arch/arm64/boot/dts/qcom/nord-rrd.dts | 548 ++++++++++++++++++++++++++ 2 files changed, 549 insertions(+) create mode 100644 arch/arm64/boot/dts/qcom/nord-rrd.dts diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/M= akefile index d05920a0d5eb..38d326644146 100644 --- a/arch/arm64/boot/dts/qcom/Makefile +++ b/arch/arm64/boot/dts/qcom/Makefile @@ -161,6 +161,7 @@ dtb-$(CONFIG_ARCH_QCOM) +=3D msm8998-sony-xperia-yoshin= o-maple.dtb dtb-$(CONFIG_ARCH_QCOM) +=3D msm8998-sony-xperia-yoshino-poplar.dtb dtb-$(CONFIG_ARCH_QCOM) +=3D msm8998-xiaomi-sagit.dtb dtb-$(CONFIG_ARCH_QCOM) +=3D nord-ride.dtb +dtb-$(CONFIG_ARCH_QCOM) +=3D nord-rrd.dtb dtb-$(CONFIG_ARCH_QCOM) +=3D purwa-iot-evk.dtb =20 purwa-iot-evk-el2-dtbs :=3D purwa-iot-evk.dtb x1-el2.dtbo diff --git a/arch/arm64/boot/dts/qcom/nord-rrd.dts b/arch/arm64/boot/dts/qc= om/nord-rrd.dts new file mode 100644 index 000000000000..a2a19f2304fa --- /dev/null +++ b/arch/arm64/boot/dts/qcom/nord-rrd.dts @@ -0,0 +1,548 @@ +// SPDX-License-Identifier: BSD-3-Clause +/* + * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries. + */ + +/dts-v1/; + +#include +#include + +#include "nord-embedded.dtsi" + +/ { + model =3D "Qualcomm Technologies, Inc. IQ10 RRD"; + compatible =3D "qcom,iq10-rrd", "qcom,nord"; + + aliases { + serial0 =3D &uart15; + }; + + chosen { + stdout-path =3D "serial0:115200n8"; + }; + + clocks { + xo_board: xo-board-clk { + compatible =3D "fixed-clock"; + clock-frequency =3D <38400000>; + #clock-cells =3D <0>; + }; + + sleep_clk: sleep-clk { + compatible =3D "fixed-clock"; + clock-frequency =3D <32000>; + #clock-cells =3D <0>; + }; + + bi_tcxo_div2: bi-tcxo-div2-clk { + compatible =3D "fixed-factor-clock"; + #clock-cells =3D <0>; + clocks =3D <&rpmhcc RPMH_CXO_CLK>; + clock-mult =3D <1>; + clock-div =3D <2>; + }; + + bi_tcxo_ao_div2: bi-tcxo-ao-div2-clk { + compatible =3D "fixed-factor-clock"; + #clock-cells =3D <0>; + clocks =3D <&rpmhcc RPMH_CXO_CLK_A>; + clock-mult =3D <1>; + clock-div =3D <2>; + }; + }; +}; + +&apps_rsc { + /* PMIC A - Kobra_MM (PMM8650AU) - SID 0x0, Bus E0 */ + regulators-0 { + compatible =3D "qcom,pmm8654au-rpmh-regulators"; + qcom,pmic-id =3D "A_E0"; + + vreg_l4a_1p2: ldo4 { + regulator-name =3D "vreg_l4a_1p2"; + regulator-min-microvolt =3D <1200000>; + regulator-max-microvolt =3D <1200000>; + regulator-initial-mode =3D ; + regulator-allow-set-load; + regulator-allowed-modes =3D ; + }; + + vreg_l6a_1p2: ldo6 { + regulator-name =3D "vreg_l6a_1p2"; + regulator-min-microvolt =3D <1200000>; + regulator-max-microvolt =3D <1200000>; + regulator-initial-mode =3D ; + regulator-allow-set-load; + regulator-allowed-modes =3D ; + }; + + vreg_l7a_1p2: ldo7 { + regulator-name =3D "vreg_l7a_1p2"; + regulator-min-microvolt =3D <1200000>; + regulator-max-microvolt =3D <1200000>; + regulator-initial-mode =3D ; + regulator-always-on; + regulator-boot-on; + regulator-allow-set-load; + regulator-allowed-modes =3D ; + }; + + vreg_l8a_1p8: ldo8 { + regulator-name =3D "vreg_l8a_1p8"; + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <1800000>; + regulator-initial-mode =3D ; + regulator-always-on; + regulator-boot-on; + regulator-allow-set-load; + regulator-allowed-modes =3D ; + }; + + vreg_s1a_vdd2h_l: smps1 { + regulator-name =3D "vreg_s1a_vdd2h_l"; + regulator-min-microvolt =3D <900000>; + regulator-max-microvolt =3D <1100000>; + regulator-initial-mode =3D ; + regulator-always-on; + regulator-boot-on; + }; + + vreg_s3a_1p8: smps3 { + regulator-name =3D "vreg_s3a_1p8"; + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <1800000>; + regulator-initial-mode =3D ; + regulator-always-on; + regulator-boot-on; + }; + + vreg_s5a_mv: smps5 { + regulator-name =3D "vreg_s5a_mv"; + regulator-min-microvolt =3D <1328000>; + regulator-max-microvolt =3D <1370000>; + regulator-initial-mode =3D ; + regulator-always-on; + regulator-boot-on; + }; + + vreg_s6a_vddq_l: smps6 { + regulator-name =3D "vreg_s6a_vddq_l"; + regulator-min-microvolt =3D <500000>; + regulator-max-microvolt =3D <570000>; + regulator-initial-mode =3D ; + regulator-allow-set-load; + regulator-allowed-modes =3D ; + }; + + vreg_s8a_vdda_ebi: smps8 { + regulator-name =3D "vreg_s8a_vdda_ebi"; + regulator-min-microvolt =3D <300000>; + regulator-max-microvolt =3D <1200000>; + regulator-initial-mode =3D ; + regulator-always-on; + regulator-boot-on; + }; + }; + + /* PMIC E - Kai_MV - SID 0x4, Bus E0 */ + regulators-1 { + compatible =3D "qcom,pmau0102-rpmh-regulators"; + qcom,pmic-id =3D "E_E0"; + + vreg_l1e_0p9: ldo1 { + regulator-name =3D "vreg_l1e_0p9"; + regulator-min-microvolt =3D <936000>; + regulator-max-microvolt =3D <936000>; + regulator-initial-mode =3D ; + regulator-allow-set-load; + regulator-allowed-modes =3D ; + }; + + vreg_l2e_0p9: ldo2 { + regulator-name =3D "vreg_l2e_0p9"; + regulator-min-microvolt =3D <936000>; + regulator-max-microvolt =3D <936000>; + regulator-initial-mode =3D ; + regulator-allow-set-load; + regulator-allowed-modes =3D ; + }; + + vreg_l3e_1p8: ldo3 { + regulator-name =3D "vreg_l3e_1p8"; + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <1800000>; + regulator-initial-mode =3D ; + regulator-allow-set-load; + regulator-allowed-modes =3D ; + }; + + vreg_s1e_nsp3: smps1 { + regulator-name =3D "vreg_s1e_nsp3"; + regulator-min-microvolt =3D <300000>; + regulator-max-microvolt =3D <1200000>; + regulator-initial-mode =3D ; + regulator-allow-set-load; + regulator-allowed-modes =3D ; + }; + + vreg_s7e_mxa: smps7 { + regulator-name =3D "vreg_s7e_mxa"; + regulator-min-microvolt =3D <300000>; + regulator-max-microvolt =3D <1200000>; + regulator-initial-mode =3D ; + regulator-always-on; + regulator-boot-on; + }; + }; + + /* PMIC F - Kai_MV - SID 0x5, Bus E0 */ + regulators-2 { + compatible =3D "qcom,pmau0102-rpmh-regulators"; + qcom,pmic-id =3D "F_E0"; + + vreg_l1f_vdd2l: ldo1 { + regulator-name =3D "vreg_l1f_vdd2l"; + regulator-min-microvolt =3D <904000>; + regulator-max-microvolt =3D <904000>; + regulator-initial-mode =3D ; + regulator-always-on; + regulator-boot-on; + regulator-allow-set-load; + regulator-allowed-modes =3D ; + }; + + vreg_l3f_vdd1: ldo3 { + regulator-name =3D "vreg_l3f_vdd1"; + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <1800000>; + regulator-initial-mode =3D ; + regulator-always-on; + regulator-boot-on; + regulator-allow-set-load; + regulator-allowed-modes =3D ; + }; + + vreg_s1f_nsp1: smps1 { + regulator-name =3D "vreg_s1f_nsp1"; + regulator-min-microvolt =3D <300000>; + regulator-max-microvolt =3D <1200000>; + regulator-initial-mode =3D ; + regulator-allow-set-load; + regulator-allowed-modes =3D ; + }; + + vreg_s7f_lv_sub: smps7 { + regulator-name =3D "vreg_s7f_lv_sub"; + regulator-min-microvolt =3D <1036000>; + regulator-max-microvolt =3D <1136000>; + regulator-initial-mode =3D ; + regulator-always-on; + regulator-boot-on; + }; + + vreg_s8f_vddq_h: smps8 { + regulator-name =3D "vreg_s8f_vddq_h"; + regulator-min-microvolt =3D <500000>; + regulator-max-microvolt =3D <570000>; + regulator-initial-mode =3D ; + regulator-allow-set-load; + regulator-allowed-modes =3D ; + }; + }; + + /* PMIC G - Kai_MV - SID 0x6, Bus E0 */ + regulators-3 { + compatible =3D "qcom,pmau0102-rpmh-regulators"; + qcom,pmic-id =3D "G_E0"; + + vreg_l2g_0p7: ldo2 { + regulator-name =3D "vreg_l2g_0p7"; + regulator-min-microvolt =3D <752000>; + regulator-max-microvolt =3D <752000>; + regulator-initial-mode =3D ; + regulator-allow-set-load; + regulator-allowed-modes =3D ; + }; + + vreg_s1g_nsp0: smps1 { + regulator-name =3D "vreg_s1g_nsp0"; + regulator-min-microvolt =3D <300000>; + regulator-max-microvolt =3D <1200000>; + regulator-initial-mode =3D ; + regulator-allow-set-load; + regulator-allowed-modes =3D ; + }; + + vreg_s5g_vdd2h_h: smps5 { + regulator-name =3D "vreg_s5g_vdd2h_h"; + regulator-min-microvolt =3D <1080000>; + regulator-max-microvolt =3D <1150000>; + regulator-initial-mode =3D ; + regulator-always-on; + regulator-boot-on; + }; + }; + + /* PMIC H - Kai_MV - SID 0x7, Bus E0 */ + regulators-4 { + compatible =3D "qcom,pmau0102-rpmh-regulators"; + qcom,pmic-id =3D "H_E0"; + + vreg_l1h_0p9: ldo1 { + regulator-name =3D "vreg_l1h_0p9"; + regulator-min-microvolt =3D <904000>; + regulator-max-microvolt =3D <904000>; + regulator-initial-mode =3D ; + regulator-allow-set-load; + regulator-allowed-modes =3D ; + }; + + vreg_l2h_1p2: ldo2 { + regulator-name =3D "vreg_l2h_1p2"; + regulator-min-microvolt =3D <1200000>; + regulator-max-microvolt =3D <1200000>; + regulator-initial-mode =3D ; + }; + + vreg_s1h_nsp2: smps1 { + regulator-name =3D "vreg_s1h_nsp2"; + regulator-min-microvolt =3D <300000>; + regulator-max-microvolt =3D <1200000>; + regulator-initial-mode =3D ; + regulator-allow-set-load; + regulator-allowed-modes =3D ; + }; + + vreg_s5h_mxc: smps5 { + regulator-name =3D "vreg_s5h_mxc"; + regulator-min-microvolt =3D <300000>; + regulator-max-microvolt =3D <1200000>; + regulator-initial-mode =3D ; + regulator-allow-set-load; + regulator-allowed-modes =3D ; + }; + }; + + /* PMIC I - Kai_MV - SID 0x8, Bus E0 */ + regulators-5 { + compatible =3D "qcom,pmau0102-rpmh-regulators"; + qcom,pmic-id =3D "I_E0"; + + vreg_l1i_0p9: ldo1 { + regulator-name =3D "vreg_l1i_0p9"; + regulator-min-microvolt =3D <912000>; + regulator-max-microvolt =3D <912000>; + 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 ; + regulator-allow-set-load; + regulator-allowed-modes =3D ; + }; + + vreg_l3i_2p5: ldo3 { + regulator-name =3D "vreg_l3i_2p5"; + regulator-min-microvolt =3D <2504000>; + regulator-max-microvolt =3D <2504000>; + regulator-initial-mode =3D ; + regulator-allow-set-load; + regulator-allowed-modes =3D ; + }; + + vreg_s2i_gfx0: smps2 { + regulator-name =3D "vreg_s2i_gfx0"; + regulator-min-microvolt =3D <300000>; + regulator-max-microvolt =3D <1200000>; + regulator-initial-mode =3D ; + regulator-allow-set-load; + regulator-allowed-modes =3D ; + }; + + vreg_s7i_mm: smps7 { + regulator-name =3D "vreg_s7i_mm"; + regulator-min-microvolt =3D <300000>; + regulator-max-microvolt =3D <1200000>; + regulator-initial-mode =3D ; + regulator-allow-set-load; + regulator-allowed-modes =3D ; + }; + }; + + /* PMIC J - Kai_MV - SID 0x9, Bus E0 */ + regulators-6 { + compatible =3D "qcom,pmau0102-rpmh-regulators"; + qcom,pmic-id =3D "J_E0"; + + vreg_s7j_gfx1: smps7 { + regulator-name =3D "vreg_s7j_gfx1"; + regulator-min-microvolt =3D <300000>; + regulator-max-microvolt =3D <1200000>; + regulator-initial-mode =3D ; + regulator-allow-set-load; + regulator-allowed-modes =3D ; + }; + }; + + /* PMIC K - Kai_MV - SID 0xA, Bus E0 */ + regulators-7 { + compatible =3D "qcom,pmau0102-rpmh-regulators"; + qcom,pmic-id =3D "K_E0"; + + vreg_l1k_vdd2l: ldo1 { + regulator-name =3D "vreg_l1k_vdd2l"; + regulator-min-microvolt =3D <904000>; + regulator-max-microvolt =3D <904000>; + regulator-initial-mode =3D ; + regulator-always-on; + regulator-boot-on; + regulator-allow-set-load; + regulator-allowed-modes =3D ; + }; + + vreg_l2k_0p9: ldo2 { + regulator-name =3D "vreg_l2k_0p9"; + regulator-min-microvolt =3D <880000>; + regulator-max-microvolt =3D <880000>; + regulator-initial-mode =3D ; + regulator-allow-set-load; + regulator-allowed-modes =3D ; + }; + + vreg_l3k_vdd1: ldo3 { + regulator-name =3D "vreg_l3k_vdd1"; + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <1800000>; + regulator-initial-mode =3D ; + regulator-always-on; + regulator-boot-on; + regulator-allow-set-load; + regulator-allowed-modes =3D ; + }; + }; + + /* PMIC L - Kai_MV - SID 0xB, Bus E0 */ + regulators-8 { + compatible =3D "qcom,pmau0102-rpmh-regulators"; + qcom,pmic-id =3D "L_E0"; + + vreg_l3l_1p8: ldo3 { + regulator-name =3D "vreg_l3l_1p8"; + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <1800000>; + regulator-initial-mode =3D ; + regulator-allow-set-load; + regulator-allowed-modes =3D ; + }; + + vreg_s1l_nsp_mxc: smps1 { + regulator-name =3D "vreg_s1l_nsp_mxc"; + regulator-min-microvolt =3D <300000>; + regulator-max-microvolt =3D <1200000>; + regulator-initial-mode =3D ; + regulator-allow-set-load; + regulator-allowed-modes =3D ; + }; + + vreg_s2l_cx: smps2 { + regulator-name =3D "vreg_s2l_cx"; + regulator-min-microvolt =3D <300000>; + regulator-max-microvolt =3D <1200000>; + regulator-initial-mode =3D ; + regulator-allow-set-load; + regulator-allowed-modes =3D ; + }; + }; +}; + +&i2c7 { + clock-frequency =3D <400000>; + + status =3D "okay"; + + rtc@32 { + compatible =3D "epson,rx8900"; + reg =3D <0x32>; + }; +}; + +&qupv3_0 { + firmware-name =3D "qcom/nord/qupv3fw.elf"; + + status =3D "okay"; +}; + +&qupv3_1 { + firmware-name =3D "qcom/nord/qupv3fw.elf"; + + status =3D "okay"; +}; + +&qupv3_2 { + firmware-name =3D "qcom/nord/qupv3fw.elf"; + + status =3D "okay"; +}; + +&spi16 { + status =3D "okay"; +}; + +&uart4 { + status =3D "okay"; +}; + +&uart15 { + status =3D "okay"; +}; + +&ufs_mem_hc { + reset-gpios =3D <&tlmm 181 GPIO_ACTIVE_LOW>; + + vcc-supply =3D <&vreg_l3i_2p5>; + vcc-max-microamp =3D <1300000>; + vccq-supply =3D <&vreg_l2i_1p2>; + vccq-max-microamp =3D <1200000>; + + status =3D "okay"; +}; + +&ufs_mem_phy { + vdda-phy-supply =3D <&vreg_l1i_0p9>; + vdda-pll-supply =3D <&vreg_l2h_1p2>; + + status =3D "okay"; +}; --=20 2.43.0 From nobody Tue Sep 29 09:09:42 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 3B3C03BE17E for ; Mon, 10 Aug 2026 11:08:19 +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=1786360101; cv=none; b=tNlIhRukJm1aVQ3yYXvh7GObs3YSsTT1Nr+h+dHHbA4Mu+4Cq+siG+iZcXj8kWskPxYhlwzVUN1K3hUmq+PSxBzMWzwHKFElSkVbZatLDJGUdylthC6JkOG5f2qTOVYE/SM3quei2SY3jBc4Y4c86O4g3HNJ3mQPQeEJBgjNvG8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786360101; c=relaxed/simple; bh=8L6bJTlzx0bGVJbb/ovIXlP6IJd0N/SlUl0KukXfZ/M=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=D3SW0T6PEu7zpQ4qY6uUPySrgHsLWdjqr0VFSobCo869/c1+EwND1XCbCpvR0v19AWuH+Kyg/naj2P3rhYCoVyiPQqSzIoqg/5Ne63tmbo4fe5ZYQOYDOea2IkeQNG8juLlAFfH+4Z7a3wV1/HNAAfG6HFZyyltILilNBNE/gj4= 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=kJfGzK6V; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=SrNe3HLv; 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="kJfGzK6V"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="SrNe3HLv" 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 67A9SCxw446658 for ; Mon, 10 Aug 2026 11:08:18 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=qcppdkim1; bh=23skQEeEBI5 OaBpjMQT1Kq5avPBud9tEUlUKsYNzTys=; b=kJfGzK6VRRjg1nKDEpMRr5Q5XKx 3Wf1JqKZJYzZaFpCnmycWtTLdTm1OoZ4grm8xR6PbxL0YKOt6pfxooqQeEdzti7e YGKYAKe+zZQzk0HiTRRsI/+07a57luNKT0UCM4v/AoXk/ADhMSzEu5UrRO5W9hub w1tnrGTlsk3876SJcodAP6ZsGwvLJPDIyY+so/2ZnS1qQbekHhDiCt+lLsTWgl2J 2lLaOGXLk5Hz5IlJ/tDg3rUJf3KaUdy5o5EiTttuxHelPg69kU/vZB99kQ/C9LNR 8F3PeMfgPiPSnNFd/D3HUVxCuAKK2dkqc5c7LVk3zpiKc+A+z1CGouOYvvA== Received: from mail-pl1-f199.google.com (mail-pl1-f199.google.com [209.85.214.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4fy8v913ur-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Mon, 10 Aug 2026 11:08:18 +0000 (GMT) Received: by mail-pl1-f199.google.com with SMTP id d9443c01a7336-2cfe48ca1efso24029675ad.0 for ; Mon, 10 Aug 2026 04:08:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1786360098; x=1786964898; 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:content-type; bh=23skQEeEBI5OaBpjMQT1Kq5avPBud9tEUlUKsYNzTys=; b=SrNe3HLvrn9/e1+17k3wUN3vA/bDXkIdP5HTLV6LW8Oq99DK/Q4t4eUEf2K+LJNtCT rIVg2kPrUG4DyvplTP6ELTGZKKPBRMvXRA6PpGg1VPRK6jz8AGe8cZ3XFtBccyrCy3E2 V/SM7X7wZ0ydx5i9EhiYc8ZMRDrVfH3VAgIP1xJcjvUkJBXnZfeqERttKdFbGBkSWvzz CBcs34y9bTvBUiKpxnrHTFwMDEyxb501fdRuBPPhsNDyl5JjzMc98cN73sSDmAKiJ0LE VxsVffEOUv0RzZORM8SiYfLXzciVnrrMkWy9dfe3LnYfESp07C98ahro+MSbmHk0fVFO 20Zg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1786360098; x=1786964898; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=23skQEeEBI5OaBpjMQT1Kq5avPBud9tEUlUKsYNzTys=; b=ZzSvp89qH65aSaHg+S6ZDQvgFbDgzD4+spCSy9MvoCmGJeB3/WDKjSv4XyokE2wQ+L 40PhHKwEj46RRpzhN4Ns+zAHycb15BVtZcfDjCk9dW6WP2x+spaNENwBtsiV9oudnUtO 8WIrFMxnIH3/0/XBu1eIS9in+oRZ2ZogWe/nNMVPYwX0gkhA16zRTJCbjrycEnUPNJz7 OoEFRRPeqfUKkG++UpJZ/eYQGpkEaZpYQ3mzAaNnmfHTNHo32Tibov2g07y5MIHWjUNg XMIiCCIKPwrau4ccwtvVXQzTu4YnUGDzK/6eImZBNx9RKlUedu4YhJISuHfRJda/nmlp hLEA== X-Forwarded-Encrypted: i=1; AHgh+RrDKOHwDDUApeZR3MsOk3/GxxkladC5+W9LOnx0I0CJYsU/Yc0lSoWSSIP0/xY1YZxVrXQ7XqFCMhmXZGw=@vger.kernel.org X-Gm-Message-State: AOJu0YwYBUwF5Jlcr4xzFPUpAYhOqRmqA9sx7R2hLtzkW3xkDXrh090t FmFatenLO5rCjucefN0yqTvesYNHz5XhG8E0Z5Ym/4VCGfxQSBWJ782FKxKDFDr4YmnzAxzkrIO jbMzU38zrViwH9E3HIU93OPgbHn1nTrHfisYPRNGLwNDqRvNr/aUjlM4uuPs32LFB+9M= X-Gm-Gg: AR+sD12IUWzSt23jCcjqdFFUX2UliP1jSYTBcRIrU3dye5fOKcTIr2x+ra7y6lUtdY0 N6UzbFYc5B7U06WUIYq/naOz2oX62Ti28RYPVbKgLoFig46XsTvwUZFRl6Rtzla+Nb14O1QdPAA gHKdtHUhkE069RUSm/LfOBWLh/sJgE4/ZeRgsBPfEQeumJ6F7VIUM3DTzvvW97SS2BpquTloOpg QQevfLhqpBQEalvD+KXtvYYI3/iFxvfHawPMi1Q41f+1h5ncga87JGoNEEtbfikTqGNoiN5jQwW fQ9qS8XlDdIGPa1sVxBM4htRVCz3b6t4QWoT0XYQIJ4CfuIJiwJ0aMz8WmnLLokUID23fyLchg4 Jsvvt+2bxAPoPpKeg4nvxKQO6a8WU+SKqzgP8YXVJUto3lyctx8jKaxVhOXfZ X-Received: by 2002:a17:902:f691:b0:2ce:faa6:7cbb with SMTP id d9443c01a7336-2d2a8457716mr213656795ad.4.1786360097520; Mon, 10 Aug 2026 04:08:17 -0700 (PDT) X-Received: by 2002:a17:902:f691:b0:2ce:faa6:7cbb with SMTP id d9443c01a7336-2d2a8457716mr213655985ad.4.1786360096983; Mon, 10 Aug 2026 04:08:16 -0700 (PDT) Received: from QCOM-aGQu4IUr3Y.qualcomm.com (i-global052.qualcomm.com. [199.106.103.52]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-315bebde353sm46520198eec.23.2026.08.10.04.08.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 10 Aug 2026 04:08:16 -0700 (PDT) From: Shawn Guo To: Bjorn Andersson Cc: Konrad Dybcio , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Bartosz Golaszewski , Deepti Jaggi , Mukesh Savaliya , Yadu M G , Kuldeep Singh , devicetree@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, Shawn Guo Subject: [PATCH] remoteproc: qcom_q6v5_pas: add HPASS ADSP cluster boot-order and SSR coupling Date: Mon, 10 Aug 2026 19:07:21 +0800 Message-ID: <20260810110726.775084-3-shengchao.guo@oss.qualcomm.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260810110726.775084-1-shengchao.guo@oss.qualcomm.com> References: <20260810110726.775084-1-shengchao.guo@oss.qualcomm.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 X-Proofpoint-Spam-Info: AW1haW4tMjYwODEwMDA5NyBTYWx0ZWRfX9aO/nM2TKP0i 0iuJcOX432cQnSuxiDiP8Z+eySQ0AxdhYLaDYTVjjBi2cNFPhg0MsrWFKqP18YWE1p7BE4wLIjb aATwP4UkiNHf+foOgcANzzq8N7BVc9o= X-Proofpoint-ORIG-GUID: kRI8IjJ9S7JMqBWAXOapfWlb2wt0TmMh X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODEwMDA5NyBTYWx0ZWRfX7500dSqv7UE1 xlRM2ysUvc0hfQM10bl6/p/Gvb7dsKhf1YNN8GaIROj0sjuZKXp1d28IuaSLKjEHcU3ElVqOS25 GERo20BcCxmIALdbwfHCnvaMPsUR4/tDj/Bh7eDK0K3cfobqenZy8UKgnfVapLys/IPby+pOzR2 SRYUzBxJvFtE4r3YXp/5ve1UjtxyPiFQcWZGIiERTyJjE1+06yuib3PbI0AjLe021HZtOoz0qXI 9lAQ7ojgdvTynIiHw7CvCJkLpKpUTjiYaR/0YXIyCHZs7jYNZRd6Cp4UgFV5zUsohnInMXx3GPm dfrUrojiaZnhM7J9rZU5+/+FxTQmulQd6bZiJJPhx/4ltgyNtqslnJ4T+7p8Ag+G/wfjZPbaPmM /jvmPKydm9hrK3l36dNLoQnmKc+eq8thzfxjyAXjh7sLrHzvih8uz8Tlj/MF9on7Odzp5hWb7Qk eiRu+Y5OigrApAffs0A== X-Authority-Analysis: v=2.4 cv=T5m8ifKQ c=1 sm=1 tr=0 ts=6a79b122 cx=c_pps a=JL+w9abYAAE89/QcEU+0QA==:117 a=b9+bayejhc3NMeqCNyeLQQ==:17 a=Sv0fKeRqtYgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=DJpcGTmdVt4CTyJn9g5Z:22 a=5NhFmEo_CSIvw-HNUjEA:9 a=324X-CrmTo6CU4MGRt3R:22 X-Proofpoint-GUID: kRI8IjJ9S7JMqBWAXOapfWlb2wt0TmMh X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-08-10_02,2026-08-07_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 adultscore=0 clxscore=1015 suspectscore=0 phishscore=0 spamscore=0 malwarescore=0 priorityscore=1501 bulkscore=0 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608100097 Content-Type: text/plain; charset="utf-8" Some Qualcomm SoCs (e.g. Nord's HPASS ADSP0/1/2) group multiple PAS instances that share clock/reset/NoC resources: one instance (the "root") must finish booting before its siblings can cold boot, and any member crashing, or being manually stopped on its own, must bring the whole group down and back up together - matching the downstream coupled-SSR ("MDF") group model, which never leaves the group in a partially up/down state and has no notion of restarting a single member alone. Add a shared, kref-managed struct qcom_pas_cluster (mutex, members list, waitqueue, booted/restart_pending flags), looked up or created order-independently in qcom_pas_probe() keyed by the cluster root's device_node (works regardless of which member probes first), and torn down via kref_put() in qcom_pas_remove(). Non-root members now wait for the root to finish booting before their own qcom_pas_start()/qcom_pas_attach() proceeds (qcom_pas_wait_for_cluster_= root()), and the root marks the cluster booted once it completes its own boot (qcom_pas_cluster_mark_booted()). A new subdev callback, qcom_pas_cluster_stop(), fans a stop event on any one member out to every other member: a real crash is propagated via rproc_report_crash() so the whole cluster crashes and automatically recovers together, while a manual (non-crash) stop instead force-stops every other member via a deferred rproc_shutdown() (run from a dedicated work item, since calling it inline would race with the target's own concurrently running IRQ-driven state machine). A restart_pending latch ensures only the first member to observe the stop acts on the rest, and is cleared once the root reboots. A manual start of a single non-root member is deliberately not turned into a whole-cluster boot: qcom_pas_wait_for_cluster_root() just waits out its timeout and fails if the root isn't already up, rejecting the solo start rather than force-booting the root on the caller's behalf. --- drivers/remoteproc/qcom_q6v5_pas.c | 271 +++++++++++++++++++++++++++++ 1 file changed, 271 insertions(+) diff --git a/drivers/remoteproc/qcom_q6v5_pas.c b/drivers/remoteproc/qcom_q= 6v5_pas.c index 275847e15638..8e99659975c9 100644 --- a/drivers/remoteproc/qcom_q6v5_pas.c +++ b/drivers/remoteproc/qcom_q6v5_pas.c @@ -13,7 +13,10 @@ #include #include #include +#include +#include #include +#include #include #include #include @@ -28,6 +31,8 @@ #include #include #include +#include +#include =20 #include "qcom_common.h" #include "qcom_pil_info.h" @@ -35,9 +40,36 @@ #include "remoteproc_internal.h" =20 #define QCOM_PAS_DECRYPT_SHUTDOWN_DELAY_MS 100 +#define QCOM_PAS_CLUSTER_BOOT_TIMEOUT_MS 5000 =20 #define MAX_ASSIGN_COUNT 3 =20 +/* + * Some Qualcomm SoCs (e.g. Nord's HPASS ADSP0/1/2) group multiple PAS + * instances into a cluster that shares boot ordering and crash recovery: + * one instance (the "root", pointed to by the others' "qcom,depends-on" + * phandle) must finish booting before its siblings can cold boot, and any + * one member crashing forces the whole cluster to crash and restart + * together, matching the downstream coupled-SSR ("MDF") group model. + * + * qcom_pas_cluster_list/_lock is a registry of these shared cluster + * objects, keyed by the root's device_node, used to look up or create the + * cluster a newly probed qcom_pas instance belongs to. + */ +static LIST_HEAD(qcom_pas_cluster_list); +static DEFINE_MUTEX(qcom_pas_cluster_list_lock); + +struct qcom_pas_cluster { + struct kref kref; + struct list_head node; + struct device_node *root_node; + struct mutex lock; + struct list_head members; + wait_queue_head_t wq; + bool booted; + bool restart_pending; +}; + struct qcom_pas_data { int crash_reason_smem; const char *firmware_name; @@ -122,6 +154,11 @@ struct qcom_pas { =20 struct qcom_pas_context *pas_ctx; struct qcom_pas_context *dtb_pas_ctx; + + struct qcom_pas_cluster *cluster; + struct list_head cluster_node; + struct rproc_subdev cluster_subdev; + struct work_struct cluster_stop_work; }; =20 static void qcom_pas_segment_dump(struct rproc *rproc, @@ -274,11 +311,146 @@ static int qcom_pas_map_carveout(struct rproc *rproc= , phys_addr_t mem_phys, size return ret; } =20 +/* Caller must hold qcom_pas_cluster_list_lock. */ +static struct qcom_pas_cluster *qcom_pas_cluster_find_locked(struct device= _node *root_node) +{ + struct qcom_pas_cluster *cluster; + + list_for_each_entry(cluster, &qcom_pas_cluster_list, node) { + if (cluster->root_node =3D=3D root_node) + return cluster; + } + + return NULL; +} + +/* + * Find or create the cluster rooted at @root_node, returning it with a + * reference held. On success, this function takes ownership of @root_node + * (either by keeping it as the newly created cluster's key, or by dropping + * it because an existing cluster already owns a reference to the same + * node). Callers must not touch @root_node again after calling this. + */ +static struct qcom_pas_cluster *qcom_pas_cluster_get(struct device_node *r= oot_node) +{ + struct qcom_pas_cluster *cluster, *new_cluster; + + mutex_lock(&qcom_pas_cluster_list_lock); + cluster =3D qcom_pas_cluster_find_locked(root_node); + if (cluster) { + kref_get(&cluster->kref); + mutex_unlock(&qcom_pas_cluster_list_lock); + of_node_put(root_node); + return cluster; + } + mutex_unlock(&qcom_pas_cluster_list_lock); + + new_cluster =3D kzalloc(sizeof(*new_cluster), GFP_KERNEL); + if (!new_cluster) { + of_node_put(root_node); + return NULL; + } + + kref_init(&new_cluster->kref); + new_cluster->root_node =3D root_node; + mutex_init(&new_cluster->lock); + INIT_LIST_HEAD(&new_cluster->members); + init_waitqueue_head(&new_cluster->wq); + + mutex_lock(&qcom_pas_cluster_list_lock); + cluster =3D qcom_pas_cluster_find_locked(root_node); + if (cluster) { + kref_get(&cluster->kref); + mutex_unlock(&qcom_pas_cluster_list_lock); + of_node_put(root_node); + kfree(new_cluster); + return cluster; + } + list_add_tail(&new_cluster->node, &qcom_pas_cluster_list); + mutex_unlock(&qcom_pas_cluster_list_lock); + + return new_cluster; +} + +static void qcom_pas_cluster_release(struct kref *kref) +{ + struct qcom_pas_cluster *cluster =3D container_of(kref, struct qcom_pas_c= luster, kref); + + list_del(&cluster->node); + of_node_put(cluster->root_node); + kfree(cluster); +} + +static void qcom_pas_cluster_put(struct qcom_pas_cluster *cluster) +{ + mutex_lock(&qcom_pas_cluster_list_lock); + kref_put(&cluster->kref, qcom_pas_cluster_release); + mutex_unlock(&qcom_pas_cluster_list_lock); +} + +/* + * Wait for the cluster root to finish booting. Only non-root members + * block here; this is a no-op for standalone instances and for the root + * itself, since a cluster of one (no "qcom,depends-on" siblings) always + * has root_node =3D=3D our own of_node. + * + * A manual start of a single non-root member is not turned into a + * whole-cluster boot: if the root isn't already up (or on its way up via + * a group crash/restart), this simply waits out the timeout below and + * fails, effectively rejecting the solo start rather than force-booting + * the root on the caller's behalf. + */ +static int qcom_pas_wait_for_cluster_root(struct qcom_pas *pas) +{ + struct qcom_pas_cluster *cluster =3D pas->cluster; + int ret; + + if (cluster->root_node =3D=3D pas->dev->of_node) + return 0; + + ret =3D wait_event_interruptible_timeout(cluster->wq, cluster->booted, + msecs_to_jiffies(QCOM_PAS_CLUSTER_BOOT_TIMEOUT_MS)); + if (ret =3D=3D 0) { + dev_err(pas->dev, "timed out waiting for cluster root to boot\n"); + return -ETIMEDOUT; + } else if (ret < 0) { + return ret; + } + + return 0; +} + +/* + * Called on successful boot completion (both qcom_pas_start() and + * qcom_pas_attach()). If we're the cluster root, mark the cluster booted + * and wake up any siblings waiting on us, and clear restart_pending now + * that the group restart (if any) that this boot was part of has + * completed. + */ +static void qcom_pas_cluster_mark_booted(struct qcom_pas *pas) +{ + struct qcom_pas_cluster *cluster =3D pas->cluster; + + if (cluster->root_node !=3D pas->dev->of_node) + return; + + mutex_lock(&cluster->lock); + cluster->booted =3D true; + cluster->restart_pending =3D false; + mutex_unlock(&cluster->lock); + + wake_up_interruptible(&cluster->wq); +} + static int qcom_pas_start(struct rproc *rproc) { struct qcom_pas *pas =3D rproc->priv; int ret; =20 + ret =3D qcom_pas_wait_for_cluster_root(pas); + if (ret) + return ret; + ret =3D qcom_q6v5_prepare(&pas->q6v5); if (ret) return ret; @@ -352,6 +524,8 @@ static int qcom_pas_start(struct rproc *rproc) /* firmware is used to pass reference from qcom_pas_start(), drop it now = */ pas->firmware =3D NULL; =20 + qcom_pas_cluster_mark_booted(pas); + return 0; =20 unmap_carveout: @@ -561,6 +735,8 @@ static int qcom_pas_attach(struct rproc *rproc) goto unroll_attach; } =20 + qcom_pas_cluster_mark_booted(pas); + return 0; =20 unroll_attach: @@ -798,6 +974,73 @@ static void qcom_pas_unassign_memory_region(struct qco= m_pas *pas) } } =20 +/* + * rproc_shutdown() must not be called inline from qcom_pas_cluster_stop(): + * that runs from inside the initiating member's own rproc_stop() call + * chain, and calling straight into another member's rproc_shutdown() from + * there races with that member's own concurrently running IRQ-driven state + * machine (e.g. its handover-IRQ thread), which isn't serialized against + * this. Defer it to process context instead, same as rproc_report_crash() + * already does via its own workqueue. + */ +static void qcom_pas_cluster_stop_work(struct work_struct *work) +{ + struct qcom_pas *pas =3D container_of(work, struct qcom_pas, cluster_stop= _work); + + rproc_shutdown(pas->rproc); +} + +/* + * The cluster is never left partially up, matching the downstream + * coupled-SSR "MDF" group behaviour where all HPASS instances are always + * torn down and brought back as one unit. This is a no-op for cluster-of-= one + * instances (no other members share the cluster). + * + * The two triggers are handled differently: + * - A real crash on any member is propagated to every *other* member via + * rproc_report_crash(), so the whole cluster crashes and automatically + * recovers together. + * - A manual (non-crash) stop of a single member must not bounce the + * cluster back up on its own - the caller asked for it to be stopped, n= ot + * restarted. So instead of reporting a crash, every *other* member is + * force-stopped via a deferred rproc_shutdown(), same as if the user had + * written "stop" to each of them too. They only come back up on an + * explicit subsequent start. + * + * Only the *first* member to reach here for a given cycle acts on the + * rest: every member in the cluster has this same subdev, so once the + * group-wide operation is under way, each other member's own stop (as a + * side effect of the crash recovery, or of the deferred rproc_shutdown() + * below) would otherwise re-trigger this all over again. restart_pending = is + * the latch that prevents that; it's cleared once the cluster root boots + * again (qcom_pas_cluster_mark_booted()). + */ +static void qcom_pas_cluster_stop(struct rproc_subdev *subdev, bool crashe= d) +{ + struct qcom_pas *pas =3D container_of(subdev, struct qcom_pas, cluster_su= bdev); + struct qcom_pas_cluster *cluster =3D pas->cluster; + struct qcom_pas *member; + + mutex_lock(&cluster->lock); + if (cluster->restart_pending) { + mutex_unlock(&cluster->lock); + return; + } + cluster->restart_pending =3D true; + cluster->booted =3D false; + mutex_unlock(&cluster->lock); + + list_for_each_entry(member, &cluster->members, cluster_node) { + if (member =3D=3D pas) + continue; + + if (crashed) + rproc_report_crash(member->rproc, RPROC_FATAL_ERROR); + else + schedule_work(&member->cluster_stop_work); + } +} + static int qcom_pas_probe(struct platform_device *pdev) { const struct qcom_pas_data *desc; @@ -806,6 +1049,7 @@ static int qcom_pas_probe(struct platform_device *pdev) struct device_node *node; const char *fw_name, *dtb_fw_name =3D NULL; const struct rproc_ops *ops =3D &qcom_pas_ops; + struct device_node *root_node; int ret; =20 desc =3D of_device_get_match_data(&pdev->dev); @@ -863,6 +1107,19 @@ static int qcom_pas_probe(struct platform_device *pde= v) } platform_set_drvdata(pdev, pas); =20 + root_node =3D of_parse_phandle(pdev->dev.of_node, "qcom,depends-on", 0); + if (!root_node) + root_node =3D of_node_get(pdev->dev.of_node); + + pas->cluster =3D qcom_pas_cluster_get(root_node); + if (!pas->cluster) { + ret =3D -ENOMEM; + goto free_rproc; + } + pas->cluster_subdev.stop =3D qcom_pas_cluster_stop; + rproc_add_subdev(rproc, &pas->cluster_subdev); + INIT_WORK(&pas->cluster_stop_work, qcom_pas_cluster_stop_work); + ret =3D device_init_wakeup(pas->dev, true); if (ret) goto free_rproc; @@ -929,6 +1186,10 @@ static int qcom_pas_probe(struct platform_device *pde= v) if (ret) goto remove_ssr_sysmon; =20 + mutex_lock(&pas->cluster->lock); + list_add_tail(&pas->cluster_node, &pas->cluster->members); + mutex_unlock(&pas->cluster->lock); + node =3D of_get_compatible_child(pdev->dev.of_node, "qcom,bam-dmux"); pas->bam_dmux =3D of_platform_device_create(node, NULL, &pdev->dev); of_node_put(node); @@ -948,6 +1209,8 @@ static int qcom_pas_probe(struct platform_device *pdev) unassign_mem: qcom_pas_unassign_memory_region(pas); free_rproc: + if (pas->cluster) + qcom_pas_cluster_put(pas->cluster); device_init_wakeup(pas->dev, false); =20 return ret; @@ -960,8 +1223,15 @@ static void qcom_pas_remove(struct platform_device *p= dev) if (pas->bam_dmux) of_platform_device_destroy(&pas->bam_dmux->dev, NULL); =20 + mutex_lock(&pas->cluster->lock); + list_del(&pas->cluster_node); + mutex_unlock(&pas->cluster->lock); + + cancel_work_sync(&pas->cluster_stop_work); + rproc_del(pas->rproc); =20 + rproc_remove_subdev(pas->rproc, &pas->cluster_subdev); qcom_q6v5_deinit(&pas->q6v5); qcom_pas_unassign_memory_region(pas); qcom_remove_glink_subdev(pas->rproc, &pas->glink_subdev); @@ -971,6 +1241,7 @@ static void qcom_pas_remove(struct platform_device *pd= ev) qcom_remove_ssr_subdev(pas->rproc, &pas->ssr_subdev); qcom_pas_pds_detach(pas, pas->proxy_pds, pas->proxy_pd_count); device_init_wakeup(pas->dev, false); + qcom_pas_cluster_put(pas->cluster); } =20 static const struct qcom_pas_data adsp_resource_init =3D { --=20 2.43.0