From nobody Tue Sep 29 01:19:00 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 1FA6841A922 for ; Fri, 14 Aug 2026 07:32:15 +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=1786692742; cv=none; b=ULF6NgtWk2ZrBlEWX3aaBlaA3PIfdNTcgvJ44jHKTiLAwDSSo7pBdP+gWYAcBl0Fd7OfSUSPBPe9S6zl4gAc1/+R4fySE955MEdcP/SvVQM1On1rbvzy4unokL4HGeveAepHmJ/Ba5p6XauZ+a5g7p5DJJu4T6/JbFpe4Lr66c4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786692742; c=relaxed/simple; bh=gHxGYWhnicYORaElGwhsc1d3PMvje3as8cNJCACI2hM=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=VjgVGtVMnu2K+7t5ebva7q10+a2s6sw+3nslVUsX9XkxAx3r/dl5HOA5Vj19C+hK2CbQWvkaCBhXZtCgopC3AGYMVU/8FjIobeLXL5CXzSest84QN4uuOgjC94EPbKsdZlIOpjmzz1/bYvqqHnBABfsqVKyrg+U3Tr0ByuLnJ2Y= 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=ZqyQF3qY; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=biUsmutG; 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="ZqyQF3qY"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="biUsmutG" Received: from pps.filterd (m0279863.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 67E7E7AW1017667 for ; Fri, 14 Aug 2026 07:32:12 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= Sx6lBFvEGNhy/q5sHRGfQDQiM//S9qhbvL0j8qSm5v4=; b=ZqyQF3qYsoI0iga1 P0dUrddoNGW/Ab0986gmxFI6kCZjk9D4aTCdcl93gkZ2gOTsEG6zttj+vk3n3sHB yUvoH3WK4ACmQpd0rPzTZ49Sq1QiErQrMef5rdf9kgWxLaNU2+lb/iJezrienF7i i8g503thezTB+pMyNyqOu3rcpyv+IFNrNZrbpjVstKQp0oDTBsaaB9yL/mFzalz6 C8V9gcQnN1b7BIZl4McYrwLCnDa47eZgfZwEtiBoImeoOqnJQuCnuoDybPbU9FMo 09GAHagxNwe4H5BATQW0FFiMJ+VQJ2l0JFX2lUGIoh+Cvz4VCKD2uMmkBKbIllAn 85WIJw== Received: from mail-pl1-f197.google.com (mail-pl1-f197.google.com [209.85.214.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4g1xexg1yn-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 14 Aug 2026 07:32:12 +0000 (GMT) Received: by mail-pl1-f197.google.com with SMTP id d9443c01a7336-2cd01a14e81so11322485ad.1 for ; Fri, 14 Aug 2026 00:32:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1786692732; x=1787297532; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=Sx6lBFvEGNhy/q5sHRGfQDQiM//S9qhbvL0j8qSm5v4=; b=biUsmutGWzySCJfQ8FqlX7Xo4V07x5LwsyNCpoG+jfuacZI5uHHc+qZxgl2LTIMIiA 3H0AY4zpSLSMjAzF1YJdbflBnSpuQNkMyMvmCeS0nXJVJIwAk1qULnE2kD+hsYB+VNHY y7UyONEnjMGPlxiYV/jh0N3eCulvETaY33CO/wJGmkg7c5nyBpP3W6Fh/xV1r8jlQTtA 256wsbDvZ9ug/1Jim6k30u+z9HMA1N8qk6P07nny7PmQIICLZbftwzbC/bXq2EftWnFy E/AR3OIzMf6I9bXSncv/NjosefxE7++0nS4nS7OdmVDFcDEz7W0Hn0Vhi0fH+0wiKeAh M27Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1786692732; x=1787297532; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=Sx6lBFvEGNhy/q5sHRGfQDQiM//S9qhbvL0j8qSm5v4=; b=JuGn+jx9ZLAkwJ9B6u8mQZ44QtML79IB66anVvbdZwqqLRG2zjO9Qax7sonA8Cfnpd OUpv87sQcgbCH+7TgrYHF2Uket9RoabfE07s706aouQy0+ZhtoGiIYC/9PRzPZjo8pRU +KGoEZoS5Ppn54De6yj4LYvNfSznHegJgsr21tqjmxZbLQvFFK8u8VYepXKa2YOUWvDS V50U0+IAU9I9J8ui5YLaIqX+3qUqTSeLr4BZqyFTCyJanINkX4vg+pIxwn8HmLfHg9ON WBVd0Uk1HqWbI3MkJ9taxf1DLJqFRCWiS8QBtM8WazEfTd8mEiMlfcCjzGENW+i5Nh7j c6ig== X-Forwarded-Encrypted: i=1; AHgh+Rp8yKn5MZIRRdqgHrszLXN5uL9DfpwrFsCsW9npfPXK//rD7dLVBME1yxGyioJZhzWCopAlrfTG8FKBlN4=@vger.kernel.org X-Gm-Message-State: AOJu0YwVmZw3D0hH3Wng7Z5o79RwJX5ziFp+Oc3Afkbynf6P0XGTM3Ua wdU/PGWV15DIJd497P6bDJJWJlROQCPcIDr/ZG1yHK2Xiqkk48v7HIB/DYLlF6jK3muU1dna3k4 IgLcnsohmqzw3QALMiMzlkVXGpnSpdvWGL0GORvmr9cXl2afGG2aOL2wmotaT74wkrAQ= X-Gm-Gg: AR+sD131sBbyz9CkZ76WJ0w3YvVmnd7BBrxXDAXsXZ7VFyTat5X4H/ap/23pvSjSFOZ mXQ9GBmHkE44r4Ni/eFjeowQgVpImR4n1LC3HmOpzhiQyoyyMMQEEZi8eEvzh0xKx0Fm3xmc2OE vuj4JM8yT3XfaK+3kGlSgXmLszni9t2TOF8tEimQqfDMGx27bAd6vK66W1l2PfDmMCC8H8Zx2g+ RsmJOAmD6F/Y16aamPtE5UlJMN4hNYo6W9+FfAEY3DV84Hzx+gGmeKIBKV9MlVUE/8kcL01/zaO sr77e+14438+Bv6qU3oK463ZzA9SX8BZYNbM4gjj/aC1/+kTHrgoO9GQDGrWV+0p+fLG6YzXMmb 1xKzhQ+RtVmJtodYR507r3F4WEhd6TC2yik7Wh1YGuuxcfB6Wv4+6ZMF9xNdhyhxtyrlZxpK/v0 KJk4DrWseKMJYXNrjwebyX8Yk= X-Received: by 2002:a17:903:2c0f:b0:2c7:ebfb:618f with SMTP id d9443c01a7336-2d3b0eec2f6mr47930985ad.14.1786692731582; Fri, 14 Aug 2026 00:32:11 -0700 (PDT) X-Received: by 2002:a17:903:2c0f:b0:2c7:ebfb:618f with SMTP id d9443c01a7336-2d3b0eec2f6mr47930065ad.14.1786692731101; Fri, 14 Aug 2026 00:32:11 -0700 (PDT) Received: from hu-hardshar-blr.qualcomm.com (blr-bdr-fw-01_GlobalNAT_AllZones-Outside.qualcomm.com. [103.229.18.19]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-320ea804233sm1062280eec.26.2026.08.14.00.32.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 14 Aug 2026 00:32:10 -0700 (PDT) From: Hardeep Sharma Date: Fri, 14 Aug 2026 13:01:32 +0530 Subject: [PATCH v2 01/15] soc: qcom: geni-se: allow selection on 32-bit ARM Qualcomm SoCs Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260814-kuno-soc-support-v2-1-3079794f0f73@oss.qualcomm.com> References: <20260814-kuno-soc-support-v2-0-3079794f0f73@oss.qualcomm.com> In-Reply-To: <20260814-kuno-soc-support-v2-0-3079794f0f73@oss.qualcomm.com> To: Bjorn Andersson , Konrad Dybcio , Krzysztof Kozlowski , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Ulf Hansson , Michael Turquette , Stephen Boyd , Brian Masney , Taniya Das , Georgi Djakov , Bartosz Golaszewski , Linus Walleij , Thomas Gleixner , Radu Rendec , Robert Marko , Guru Das Srinagesh Cc: linux-arm-msm@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, linux-pm@vger.kernel.org, linux-clk@vger.kernel.org, linux-gpio@vger.kernel.org, Hardeep Sharma , Mukesh Savaliya X-Mailer: b4 0.15-dev-47773 X-Developer-Signature: v=1; a=ed25519-sha256; t=1786692713; l=973; i=hardeep.sharma@oss.qualcomm.com; s=20260204; h=from:subject:message-id; bh=gHxGYWhnicYORaElGwhsc1d3PMvje3as8cNJCACI2hM=; b=I0K2b/N6iz/Hf/cAEZCNxofz9Q4I9Wd0lnRLDoR4xw7gpjXX9Y5mTLDuaUuwduG/xIi8+eCO4 Fhxl4TnLyFUAy1u4Qn15sFvcwtEhWmOFc2g9+d78zMwYmEfpYDN52DO X-Developer-Key: i=hardeep.sharma@oss.qualcomm.com; a=ed25519; pk=IvwPDKA2xr6jWaCIBBY2ran/H0124QUzVfun+CtEikM= X-Proofpoint-Spam-Info: AW1haW4tMjYwODE0MDA1OCBTYWx0ZWRfX4TyRIMJz5fHb 4PN8MofGDenE9+sf+m4E2L2tYg8hfTusPLNYJg1p3o5K2XyLECai+0Uzo7FVaJ7opH84VJWGNU3 ti8Zm8R0FjxiRDJPahTvCGHf1K4n6c0= X-Proofpoint-GUID: 9_KvrHFzGzt2PsE-k-K5hJNwEn_DfXP9 X-Authority-Analysis: v=2.4 cv=eO4jSnp1 c=1 sm=1 tr=0 ts=6a7ec47c cx=c_pps a=cmESyDAEBpBGqyK7t0alAg==:117 a=Ou0eQOY4+eZoSc0qltEV5Q==:17 a=IkcTkHD0fZMA:10 a=Sv0fKeRqtYgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=yOCtJkima9RkubShWh1s:22 a=EUspDBNiAAAA:8 a=6t05LGSwh5SlIrDCal4A:9 a=QEXdDO2ut3YA:10 a=1OuFwYUASf3TG4hYMiVC:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODE0MDA1OCBTYWx0ZWRfX0BvSMjlapDOw OxdLpduNfib3jBtqDivuLfPA88KovX02zKuuBXzHKVTUb1SwpHRsYGg9VB6qEaGdNIBay6sq2R0 HPZlodL4BhO1HmyYAE0lLNeA1dwImR+98Fyu8YXQXhQ1OO7DCc1KzsIKlRHXnQbrHgyco4zEJbT RTOjuhnwR2b6Gqe5UtggQEJyFiQBPtnTYlHBk6aSL7AK1aYUO7PFjBe3d2efieJrneblzhAXqOE r4ueuPJdN4M8ufBG17+TDUlP60AiXykIqh/r0+mtMwcfnrqGiaM/seXcIaQoKvCS1rksvBNT9Xv /dC+T6GkHdSGFM+DTakeLr31Ox3RW9CseqU9dxMoDa/fTBrQHeUN5rGZyMUlQ1FTab0OycH1Kw4 zEEoGhQaYWo6UwjVuoebUonA8gxd6lCwUs89lc7yXaYDEVjW/rNF3LduvRoKlSLUGf8y5I94Fqq NIeY8lPaFkfhlbvis0Q== X-Proofpoint-ORIG-GUID: 9_KvrHFzGzt2PsE-k-K5hJNwEn_DfXP9 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-14_02,2026-08-12_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 malwarescore=0 phishscore=0 bulkscore=0 adultscore=0 impostorscore=0 lowpriorityscore=0 suspectscore=0 clxscore=1015 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608140058 Kuno, a 32-bit ARM Cortex-A7 Qualcomm SoC, uses the GENI-based QUP wrapper for its debug UART. Drop the explicit ARM64 dependency so the driver can be selected on 32-bit ARM as well; QCOM_GENI_SE already sits under the QCOM_SOC menuconfig, which is gated by ARCH_QCOM || COMPILE_TEST, so no replacement dependency is needed. Acked-by: Mukesh Savaliya Signed-off-by: Hardeep Sharma --- drivers/soc/qcom/Kconfig | 1 - 1 file changed, 1 deletion(-) diff --git a/drivers/soc/qcom/Kconfig b/drivers/soc/qcom/Kconfig index fd4d4ecd2df0..5b3c9d31fd7f 100644 --- a/drivers/soc/qcom/Kconfig +++ b/drivers/soc/qcom/Kconfig @@ -39,7 +39,6 @@ config QCOM_COMMAND_DB =20 config QCOM_GENI_SE tristate "Qualcomm GENI Serial Engine Driver" - depends on ARM64 || COMPILE_TEST default ARCH_QCOM help This driver is used to manage Generic Interface (GENI) firmware based --=20 2.43.0 From nobody Tue Sep 29 01:19:00 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 6F70941D633 for ; Fri, 14 Aug 2026 07:32:27 +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=1786692752; cv=none; b=sznjSrs4wQqtX+AICzJtyUM4aQ3HT4EYXQQlkcy3Bp0K52Vy3B5EA2mvy9X6M1TLvu0DjBhZQ7z4vEA0FJjBRiSGg3DLU+LEXSnvLTkV6ZJL/US8oMzsD2WKZp8LoHuhPb/qg79hDBnq8PbuL/0q8UeacZIe84sBBxcKxJAFJ5E= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786692752; c=relaxed/simple; bh=lLT782FdZyRPskpp4opbNA4IOV3INNb0OEUPXEsUiSs=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=lAzSby4wQvKYCWzCS8YASl3dksAA+jBWkI6DWWWb7CkWEv0VdNjD74Jp5el+c9lodvyFUBF6CfFmtduSDZLdJoKg2x34t1n1PRcopRj1zPqcXXTa9z1MC3lQw/8/WefPC8f3PX0XSKBYNfh8nWKNtNhWz8XxV35LW7yLJedjK8w= 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=Yk7TcyFX; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=Isqemrlm; 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="Yk7TcyFX"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="Isqemrlm" Received: from pps.filterd (m0279866.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 67E4iJL4292030 for ; Fri, 14 Aug 2026 07:32:20 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= 5Jgmi8wIPoCDQdyFphlVzecqrFuQqOuAqeN/auAyVgE=; b=Yk7TcyFXpfXHEiYM OKZWAYRpq7iwBqV8Xw7er2cFPE6P/LnOQJb/1rWdgXG0punTGdfUKgL8O1Bjr90V JEiuciafApLfSAM/NitwRI4j1MIlcapFGQDxhnruY1q2dQ47kBROGW2jS34p6PKm 2Ku8lRQ3Xp3xoGXR/Ki0lfbPwQmPeSPngRNk1dj4qStwtwefNDsMXKiy/M/qWUIC QEOblOOU1/Y9JDUUwN7bF3R1jHEk/2f52O9UtHQ67YwxjZLhHKJFZI9KdSmtBHDu b/AlgJR76mHiCTOxPcB+tjgoW9onz5COgRuoOI69kICnnAuEpdqy8UKo/3AF/BlN meNU0g== Received: from mail-pl1-f198.google.com (mail-pl1-f198.google.com [209.85.214.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4g1v8prjvf-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 14 Aug 2026 07:32:20 +0000 (GMT) Received: by mail-pl1-f198.google.com with SMTP id d9443c01a7336-2ccb6823efcso8013175ad.0 for ; Fri, 14 Aug 2026 00:32:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1786692740; x=1787297540; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=5Jgmi8wIPoCDQdyFphlVzecqrFuQqOuAqeN/auAyVgE=; b=IsqemrlmQiWkybnmOflgTXVnYyZz66Pqrwx56dDWMtBtHRQRvenUH/AASRcPGnRNkc OWUs+REAVLmUa7bXn9Zcy2oB3L3mQ2ysXBbW/cX7iesdtDs6qC54NaRu5uP60dOifOBl Fma3Okd14KZA+4fgeg47PS/LSlICoSLIOAJ/ViTrqG2F3OJ6sqTUHGrOZdMKnHFH3f5S mDJjuHvfWaj2BCiRE3FDC0dx4si2jpVDVocBLPByvl4sIRgGAEWNE4uchAv/b7kiwkc3 DF5N40xdT59GvylmqnBlJWCVWSqnDMb8zf0kJ5grVWWSlkE/pvD7W0La3JPD5LPa0DU/ 2esA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1786692740; x=1787297540; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=5Jgmi8wIPoCDQdyFphlVzecqrFuQqOuAqeN/auAyVgE=; b=meOh8BxY0YQtouj1dQNbJJwVcQypUfqfjWw1WDuQGSj2Ldg/iwt1v62KBMhbz0yuTP BebX59wWJXDX2KGFpdnirv2B9fvRQlOQdHP1+TdOb0SxPhaSGq2zYgAEa9HWQb/y+hFa kZo2mPUfJhvSR8gXo8TWVGdcVkSPrIv6QZaGLuMvmMAQkFoLP+WbN9YSles2KlzYhFVB nL2GZ1WX8SoZBAwyJh5KzKNUuXy0PdkTdhAsusyTHLtf5cSC0n/4WSBm9AJe01SphXTN yUTmOr6CKp8bZKwZ7FgGkug4UHYobiYclofBtlXIpwuzLrSBih4LdagBAO/hcjLJfwQ9 0Opw== X-Forwarded-Encrypted: i=1; AHgh+Rr4uz7soNUHO4/63LfGz+BHd+x2rxCOSccsZVWi+PnLpmuL5CO6lJRsHl/4Df6WhWhp9s0S+Cwb2pvvcGc=@vger.kernel.org X-Gm-Message-State: AOJu0YzwCAjXOkRBEi+HJSvVsX58TSAGWvhAcMMIqW9sw7Lt3Iy6c3yw QQq6TCiAkFaaUNTOho9N56jJ/8qJFb+fTjKTdZjRTO4BLse1/xIIEb+DIPe6TME18Dizz7MnA5Q TBD4aiODI4JachyOHKwaoBXB0AdGIqN/ZAJX6yQCIqONfOdU+YtH6+R/c4zw3hUARMJk= X-Gm-Gg: AR+sD116YTytLVwYKtYUL7KOOrePIU+8rDCh17YyoQCI6fXw0NszSdEt7L5XEfNKcUs bICxJqxz5vDH8ucqdsQOifeImwRmUuG/S4DQkEZ5THZP1Pes6QzTX+lwU9dPdrXAJBZ+gFi3wP9 JUZcf6lC9hsuzJDm5p0g3Chtxe/yb3fPKBh9CchDMkJBccAHWAkDoiRcs1TwwnaxDLKL+wACf88 tXTWtVnqTN+2voB2BNDDveyX0oOiUO8oAJ0m1/li8TV4+Mb9nyGD8mIelFtoeE/uBFBI5dNGikn PEikB9bucv9MfkITnWlq/tRYQp+HpZfksePLO+kj9msqejW2anLvcQgx3qjVPnIybjSP/cF4bic pG/q33IvQr4gWb1myAnsr4vl8htmjmOVIwpHaS3aubujPxFInyllAegLcEIC3qGFhIXgfL/ZQ03 W22sasNsNgMLwOq+nbr9mj5vY= X-Received: by 2002:a17:903:4b50:b0:2c9:a5e9:c26e with SMTP id d9443c01a7336-2d3b0eec2e4mr44891215ad.13.1786692740060; Fri, 14 Aug 2026 00:32:20 -0700 (PDT) X-Received: by 2002:a17:903:4b50:b0:2c9:a5e9:c26e with SMTP id d9443c01a7336-2d3b0eec2e4mr44890695ad.13.1786692739653; Fri, 14 Aug 2026 00:32:19 -0700 (PDT) Received: from hu-hardshar-blr.qualcomm.com (blr-bdr-fw-01_GlobalNAT_AllZones-Outside.qualcomm.com. [103.229.18.19]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-320ea804233sm1062280eec.26.2026.08.14.00.32.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 14 Aug 2026 00:32:18 -0700 (PDT) From: Hardeep Sharma Date: Fri, 14 Aug 2026 13:01:33 +0530 Subject: [PATCH v2 02/15] dt-bindings: power: rpmpd: Document Kuno RPMh power domains Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260814-kuno-soc-support-v2-2-3079794f0f73@oss.qualcomm.com> References: <20260814-kuno-soc-support-v2-0-3079794f0f73@oss.qualcomm.com> In-Reply-To: <20260814-kuno-soc-support-v2-0-3079794f0f73@oss.qualcomm.com> To: Bjorn Andersson , Konrad Dybcio , Krzysztof Kozlowski , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Ulf Hansson , Michael Turquette , Stephen Boyd , Brian Masney , Taniya Das , Georgi Djakov , Bartosz Golaszewski , Linus Walleij , Thomas Gleixner , Radu Rendec , Robert Marko , Guru Das Srinagesh Cc: linux-arm-msm@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, linux-pm@vger.kernel.org, linux-clk@vger.kernel.org, linux-gpio@vger.kernel.org, Hardeep Sharma X-Mailer: b4 0.15-dev-47773 X-Developer-Signature: v=1; a=ed25519-sha256; t=1786692713; l=801; i=hardeep.sharma@oss.qualcomm.com; s=20260204; h=from:subject:message-id; bh=lLT782FdZyRPskpp4opbNA4IOV3INNb0OEUPXEsUiSs=; b=jDdmD78RpRBpRWF34hMwTuXF0ZnrvD+D2rjqsQjw/43sLItFVbt4tdFC24drYcgzLI/5fzvfY fwnnvkQ/oibBSN8xWcqibqoln9lMeEGWd+kpB6pUZSv6OpNSU6jyRXv X-Developer-Key: i=hardeep.sharma@oss.qualcomm.com; a=ed25519; pk=IvwPDKA2xr6jWaCIBBY2ran/H0124QUzVfun+CtEikM= X-Authority-Analysis: v=2.4 cv=K4MS2SWI c=1 sm=1 tr=0 ts=6a7ec484 cx=c_pps a=MTSHoo12Qbhz2p7MsH1ifg==:117 a=Ou0eQOY4+eZoSc0qltEV5Q==:17 a=IkcTkHD0fZMA:10 a=Sv0fKeRqtYgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=YMgV9FUhrdKAYTUUvYB2:22 a=EUspDBNiAAAA:8 a=lHgBgSUrZIjjmBdF2hoA:9 a=QEXdDO2ut3YA:10 a=GvdueXVYPmCkWapjIL-Q:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODE0MDA1OCBTYWx0ZWRfX5/80kStQg+0o aqj2FBOO5hOrGNgFCeShCaPL7wAtJvQMoSnF/o59d24kmdVIijilNuDcFwYFBpbGKhO7y2LGa7s hH2XfCseG7+7kY2cl6XrM2/94Uvho1OXBb4+lOzG7cTyhnAOABoIdPA2DVA9DCTUb2koBCJTtAm gKWxTm2L6QMJiXlL8zrTC4BqpyhTGGDp0nux3S+ffE0m7ofKIEtg4vt0NE9yqsVdEGXkPYaiMqr mahXYk0JHbueTWVigJcvxnmiSecaKX2vPUa1/VCA1WHw9xl9vAPsjU2tmKW3Mv60ajCGMbWdous cBhfUFhUWZeBeqpEf3XoVy16nRqOrGfvFBlKtU02iViy5/DHnD5qrq7qO5HCW+XcUOAZui6GGQf OKpu8+nAQjWZIBkrWTTmrsvGk4RJaeQ6ogfUcDpTVWsA93g0DUu90Ub5ya12zlkOrW/7vpQIecb w42dH5bJS+mwQpdLOSw== X-Proofpoint-GUID: cTOC7CpL9GlgMeQuYHeFL6AZKNXz0hNg X-Proofpoint-ORIG-GUID: cTOC7CpL9GlgMeQuYHeFL6AZKNXz0hNg X-Proofpoint-Spam-Info: AW1haW4tMjYwODE0MDA1OCBTYWx0ZWRfX8D9VDmHnN4E+ Fm2BI7WReiXgqAbeoPyCl99sCmp9pqkeS5jHVuP8f1Jv6QjCjDV+YmXZbdMdd9RLKMGMVrBFEsU R9dMIMUPwtb9zOGCxBj45v0Hu558tUM= 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-14_02,2026-08-12_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 suspectscore=0 phishscore=0 priorityscore=1501 lowpriorityscore=0 spamscore=0 adultscore=0 clxscore=1015 malwarescore=0 impostorscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608140058 Document the RPMh power domains for the Qualcomm Kuno SoC. Signed-off-by: Hardeep Sharma Acked-by: Krzysztof Kozlowski --- Documentation/devicetree/bindings/power/qcom,rpmpd.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/Documentation/devicetree/bindings/power/qcom,rpmpd.yaml b/Docu= mentation/devicetree/bindings/power/qcom,rpmpd.yaml index 0a45e1f55062..7fc3927efa27 100644 --- a/Documentation/devicetree/bindings/power/qcom,rpmpd.yaml +++ b/Documentation/devicetree/bindings/power/qcom,rpmpd.yaml @@ -21,6 +21,7 @@ properties: - qcom,glymur-rpmhpd - qcom,hawi-rpmhpd - qcom,kaanapali-rpmhpd + - qcom,kuno-rpmhpd - qcom,mdm9607-rpmpd - qcom,milos-rpmhpd - qcom,msm8226-rpmpd --=20 2.43.0 From nobody Tue Sep 29 01:19:00 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 2353441D627 for ; Fri, 14 Aug 2026 07:32:34 +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=1786692763; cv=none; b=DzsiSfNRor4ndw3teaL3MUa3TTjtl2h0ozMKUqdF9cwkYIsPIkpTNzBkB5/sZzWA26A9tKx24VLlba7+QGEfCxwq3yRvnKxbp1fWWP6rQFb8dEtvEK0/Td4ReNfXby4uRfY5Kp6JRE4mEwag49ITn7U3nVuyisn3foqco4iMVTY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786692763; c=relaxed/simple; bh=KipaZ7f4mPPcv70WXg+eNoIM2CY2fZVm54MKxlYcJC8=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=S2hG/NGahJHBKqaJJ3iJ5rQxsizfvpBuOFiANxJNYFDNALPL2AA5uN6Qxn2/gP+ACqvGhvh86/PXSPICbxSprBQyI66FwVYbhGHaYdM4ompFrImF3SUPUDXE5H05sgF37jmOCYUihx9WU/kk0olt6XnOjWHshdqk+JrOuLEvUck= 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=RUyy9rIn; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=EDjPtrET; 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="RUyy9rIn"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="EDjPtrET" 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 67E4QfFc669354 for ; Fri, 14 Aug 2026 07:32:29 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= dXlEBzajiJxYfo/PgAtKHciD8wbm1lPVA6bGD/VsF2M=; b=RUyy9rInWyBciczu D83Nts2aJ8bcd+uFbYRw88Ee82h4Mmc1YQ3LEpAFFt6Exb8viEB+y71OWiUyyBu6 yczX+WWLyn7lMFIqGzrBa5n+572VYSlJ+8jPUQTN9vdsxqGtQG2OGEhchTiwQKSS pd/YVSYZvGfGUJV2FhqBV4Mk2PoE8mGA5fPFraBXYupkuebaOUQW/6TjfS/zJ3XZ oHnjCLvcVNbHwqqakxlquledZ0429PxmB+8S21s1h8pD3j5exzxLk/ETmmpXX5kh oVMPXZcHmHs7+Hm6JlTPDKsVZZ3Z1h+ri1Q86B7ls0S4AIpu2jmK2flOXTWvI7bD dykCwA== Received: from mail-pf1-f199.google.com (mail-pf1-f199.google.com [209.85.210.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4g1h1uua4g-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 14 Aug 2026 07:32:29 +0000 (GMT) Received: by mail-pf1-f199.google.com with SMTP id d2e1a72fcca58-848860def2cso561134b3a.2 for ; Fri, 14 Aug 2026 00:32:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1786692748; x=1787297548; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=dXlEBzajiJxYfo/PgAtKHciD8wbm1lPVA6bGD/VsF2M=; b=EDjPtrETUc+84NuoeS1Wo0r88mMvEkDBOGMqHHlyOEdiAP6W8Dh/sS+RFm0XAMFg/+ Ip6pg80q8OeMivn5aIwfIwdc6f4BM8ZoxLT1FW4iVQF+7zGiw1IKLPhRrZOUUohhFMtK 6N9pPcDWauXT6sKSqXTsL3vpZEvjCL+yK7QcACJvEwDk5cxdW8ze+JePL0/9rZ+GUr4X FaDsmgplW+4D1k6HDu6NPSOUaXKj16ynjYdOOk7LXgSRDDgQ3zsZZ6znzeC8aYTD3R0d TYWzn5YXrNCou7xBw2d3H71CJYa7DyVguP135tOrhDS4mw3c1SjJ2NBQ0aor3i/KxgnJ UYBA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1786692748; x=1787297548; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=dXlEBzajiJxYfo/PgAtKHciD8wbm1lPVA6bGD/VsF2M=; b=egM31yfc7v7yjJn1G+8LDHmbpiWd259678tV6cw7fpUw0B5whB+QRPCah159qBo89k iuhNS+jL8+Q0ZHwwx15sN0nbEwbazkapVrPAn0GFpaIWK+TTFrhdF4DIto/85PICAUwh M63mbzhXfxt+xXQCeg/rPBR17ctRLVCJSzB0I5xzzXZK3eN/7i+g+Mn2FSO6deBzl3f9 AUWXNLifl1MMd8wfa1g9W4u2YDFXw8Suv42JsHwrOTjx61SgvfHJf0Itk8x25GOi8pAv r2rczHC/jS54Z/Ip9ji41tAXZwAQ0nVGRU/XnY7NWAHIq0ADF0p0dd1BgUR8bdT8TU8y snDA== X-Forwarded-Encrypted: i=1; AHgh+Rq0i2Q+6EJcCMIRD6t7znP63DgY28MYA3x5EpnHXTMzEr+t7utU6SC9XYOrCCMbgDajj+eQpHK8mOVEjKE=@vger.kernel.org X-Gm-Message-State: AOJu0Yz8vTV+zjzDG2OpS4GKbkANnnZYCox7n1+ku/zL1g2Sua7zganz rcpdkXxYK8k4vFa61pitGrtYDYkuet9klfnsXMPaux8j7w4EntRbLNNU/FXxmw3qK9/knN6soRs UV05I+6SULt4R3vA9oWzZLq1n3qlMtC62hGh4yX3NOOGsEMHdkca82rYwRvTNXr9VWmU= X-Gm-Gg: AR+sD12cEo8ASOEuwYLEIdl42/UPGhewME/gm/RTEhqX9x+eGjPKCpvVfpJdn0IqXiu quG4n2T0vn+QJW/l9mB6MuJF1XN7VkDo3pqqgDDTxBt/nGehSW7aodnEu/vXZ/YzZy/tE6W9LOo 2ojFw8D64zegYhSy9Yi11fsEX6x5dgbaVzTM/wF/4Y6+iYsmMF1gLPVDb1LiwpNmehqec0FCqIA Q4ybphFx2bYVGMO1vq4BVu211mMALtIgkqJtmsgqyoxaypPVlhN2KgtXjZjmD0CfiF5/a8el1U9 KIIEwPS0wA0GBqiXeONYO3W1UThB2KnI6S3ZbAFfVO40hMVERf+H784yZCZqlo9XARCsWLPud+6 Q0M3F1a+rR6SpuQ4ICRDy8aqCmI76Wve64ChVxz31yBRg3jjU3UbkmZPuSMe4xpS4P+lZ34BDKK FD+g0UWONrKQqaZq3SyFXTCek= X-Received: by 2002:a05:6a21:3401:b0:3c0:b766:751b with SMTP id adf61e73a8af0-3cc71e1b532mr4325577637.14.1786692748127; Fri, 14 Aug 2026 00:32:28 -0700 (PDT) X-Received: by 2002:a05:6a21:3401:b0:3c0:b766:751b with SMTP id adf61e73a8af0-3cc71e1b532mr4325510637.14.1786692747710; Fri, 14 Aug 2026 00:32:27 -0700 (PDT) Received: from hu-hardshar-blr.qualcomm.com (blr-bdr-fw-01_GlobalNAT_AllZones-Outside.qualcomm.com. [103.229.18.19]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-320ea804233sm1062280eec.26.2026.08.14.00.32.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 14 Aug 2026 00:32:27 -0700 (PDT) From: Hardeep Sharma Date: Fri, 14 Aug 2026 13:01:34 +0530 Subject: [PATCH v2 03/15] pmdomain: qcom: rpmhpd: Add power domains for Kuno Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260814-kuno-soc-support-v2-3-3079794f0f73@oss.qualcomm.com> References: <20260814-kuno-soc-support-v2-0-3079794f0f73@oss.qualcomm.com> In-Reply-To: <20260814-kuno-soc-support-v2-0-3079794f0f73@oss.qualcomm.com> To: Bjorn Andersson , Konrad Dybcio , Krzysztof Kozlowski , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Ulf Hansson , Michael Turquette , Stephen Boyd , Brian Masney , Taniya Das , Georgi Djakov , Bartosz Golaszewski , Linus Walleij , Thomas Gleixner , Radu Rendec , Robert Marko , Guru Das Srinagesh Cc: linux-arm-msm@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, linux-pm@vger.kernel.org, linux-clk@vger.kernel.org, linux-gpio@vger.kernel.org, Hardeep Sharma X-Mailer: b4 0.15-dev-47773 X-Developer-Signature: v=1; a=ed25519-sha256; t=1786692713; l=1687; i=hardeep.sharma@oss.qualcomm.com; s=20260204; h=from:subject:message-id; bh=KipaZ7f4mPPcv70WXg+eNoIM2CY2fZVm54MKxlYcJC8=; b=IeMzgQyVvcMMtvAxfcExuQ5BmxImJ7KS7ifwcfX8fgmRZDKNbKcdDGODd9Nm/GVl5P3uZaieX DJJyOyg9fskB33y4FAgAar4Tgob+7ECF8an3TdKOdsyS7BEsEj/4J85 X-Developer-Key: i=hardeep.sharma@oss.qualcomm.com; a=ed25519; pk=IvwPDKA2xr6jWaCIBBY2ran/H0124QUzVfun+CtEikM= X-Proofpoint-GUID: 7_G-cCIHYObfwcBQIk1vzbpNXwpCMmvC X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODE0MDA1OCBTYWx0ZWRfXxA9RCMiWRnyO giFLXgFoK4lyl+5dvlGOMBHE+htQq6WS1VJ4pudfbixRnsjxxY0ddkUjm2lkd6qyTpbIXNyrByg fj6DZD0GmpD5x40XDbmiZ1UURGQIi+QAZIV5VeVSSU/ZpvAvJTsATssKyZpnYfg6nx8Msvxj+0I SpVg10esJdzht/tI/txQ6qAK6aDFAGf3l8D7wA98yz1gaSl2pkKAPwpDhOBpdIv/DDt22H8TpII sO8oFCRe8/ajC5kS5PV4oJm+8nStEyNaEBhGtTLVY3ExI+MHPNcI4Iz2CIx1sDMtjBlzbhstXcm jAPCRAsWAWNWtOBuYRTlbY+fthWLYcRqJNbJL2nn9wPHxzq/Sa2wiZkZTevmhBDCIwGt2YJWr/n hxjkGN+fin0F8Ii0cs7nzbhKjT+pwCXXeZE/mxS7/271c3eJ8YsCxuiNeAIbFC73eH1P0noSkhG 9orPJVE0VcoDgOjT1VA== X-Proofpoint-ORIG-GUID: 7_G-cCIHYObfwcBQIk1vzbpNXwpCMmvC X-Authority-Analysis: v=2.4 cv=HMjz0Itv c=1 sm=1 tr=0 ts=6a7ec48d cx=c_pps a=WW5sKcV1LcKqjgzy2JUPuA==:117 a=Ou0eQOY4+eZoSc0qltEV5Q==:17 a=IkcTkHD0fZMA:10 a=Sv0fKeRqtYgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=gowsoOTTUOVcmtlkKump:22 a=EUspDBNiAAAA:8 a=1FmER_HI0FvT1hCPThAA:9 a=QEXdDO2ut3YA:10 a=OpyuDcXvxspvyRM73sMx:22 X-Proofpoint-Spam-Info: AW1haW4tMjYwODE0MDA1OCBTYWx0ZWRfXwmHt3P1ZD/SU vDj3dL90nlhKwXhS/AIcyz2q/dE2lrCmb80ddlpYORi7puJ7tqBsxakPrlVfj9AAw/v8NRqDSTy 3jhjzVvexmv4WT/OCn/3UIpfTTkrJD8= 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-14_02,2026-08-12_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 bulkscore=0 spamscore=0 phishscore=0 priorityscore=1501 suspectscore=0 clxscore=1015 impostorscore=0 adultscore=0 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608140058 Add the RPMh power-domain data for the Qualcomm Kuno SoC to enable the new qcom,kuno-rpmhpd compatible to expose RPMh power domains. Kuno exposes CX, MX and MXC domains (including always-on variants). Signed-off-by: Hardeep Sharma Reviewed-by: Konrad Dybcio --- drivers/pmdomain/qcom/rpmhpd.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/drivers/pmdomain/qcom/rpmhpd.c b/drivers/pmdomain/qcom/rpmhpd.c index 96e4bd2f5a14..3c7755735dc9 100644 --- a/drivers/pmdomain/qcom/rpmhpd.c +++ b/drivers/pmdomain/qcom/rpmhpd.c @@ -685,6 +685,21 @@ static const struct rpmhpd_desc kaanapali_desc =3D { .num_pds =3D ARRAY_SIZE(kaanapali_rpmhpds), }; =20 +/* Kuno RPMH power domains */ +static struct rpmhpd *kuno_rpmhpds[] =3D { + [RPMHPD_CX] =3D &cx, + [RPMHPD_CX_AO] =3D &cx_ao, + [RPMHPD_MX] =3D &mx, + [RPMHPD_MX_AO] =3D &mx_ao, + [RPMHPD_MXC] =3D &mxc, + [RPMHPD_MXC_AO] =3D &mxc_ao, +}; + +static const struct rpmhpd_desc kuno_desc =3D { + .rpmhpds =3D kuno_rpmhpds, + .num_pds =3D ARRAY_SIZE(kuno_rpmhpds), +}; + /* Hawi RPMH powerdomains */ static struct rpmhpd *hawi_rpmhpds[] =3D { [RPMHPD_CX] =3D &cx, @@ -889,6 +904,7 @@ static const struct of_device_id rpmhpd_match_table[] = =3D { { .compatible =3D "qcom,glymur-rpmhpd", .data =3D &glymur_desc }, { .compatible =3D "qcom,hawi-rpmhpd", .data =3D &hawi_desc }, { .compatible =3D "qcom,kaanapali-rpmhpd", .data =3D &kaanapali_desc }, + { .compatible =3D "qcom,kuno-rpmhpd", .data =3D &kuno_desc }, { .compatible =3D "qcom,milos-rpmhpd", .data =3D &milos_desc }, { .compatible =3D "qcom,nord-rpmhpd", .data =3D &nord_desc }, { .compatible =3D "qcom,qcs615-rpmhpd", .data =3D &qcs615_desc }, --=20 2.43.0 From nobody Tue Sep 29 01:19:00 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 BFCE233BBAF for ; Fri, 14 Aug 2026 07:32:40 +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=1786692764; cv=none; b=so9H8wAqbpRWRZCblNollOeC/WD5VEGL/S5pqYqnzwQFQ58PRHnRknyNgmEmz9tRKejjTC8vJE2Dt2bYbymMcrBESBW2PI3CSo+hOftOh9FmCzvNN9UYJBprmZhaIsY/wlGLVYFKAuyVMcqhMS4yKw+Ud8ux/kkxOucZnXArYEk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786692764; c=relaxed/simple; bh=YcUBetlcsSXeTFWwHSGREMaHV5BuwRS6tuHjLEZyQ0M=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=covQ8D8cAABBZ6kX1X0K0TWng+AFTNg0tvFzlPpo+s9mCUe3iPGL5RWdJvWiscmwcgbnhVkKBToxnR6aupJB3FvbthLQ4shdnf6magX0rdOaJuzJDfHlQMrEZkYQh5warB8Ti/haTDafPF0eCuxhb39PBQuw3/EEiZqUxScx0dk= 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=lnISA80p; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=ceCaKSnE; 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="lnISA80p"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="ceCaKSnE" 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 67E4QVM7669251 for ; Fri, 14 Aug 2026 07:32:37 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= lEdztFo2bCdgvgq+SmdX/lBDeTodlOJ5UoO+aB0wLTE=; b=lnISA80pp0MtFeSl U3EVZCDo3EyOfVDx+/TsveQ+mF0Y80K29xOXOoWi1R5pdsmvKV4nWFDlMdiAPt4E GMt8xvH/Q0S3H65lQSunJmrYJRwxhsktGq1WjVY65fbpS3u3xShbRsjdzi1fg0Ms bShujkqlCcPu39FC0AhkncONkQw7VNMeuegIvYDp5Z1CUXh/c85OEs4O3FK1E/YA llm4S3UPMlKy7CrbyPw4RE0GXSv10BffY/lQc9pgYzxnQCrZPPG51DIN/PB0u1pz LaYeHglputGmjijYFnQsjyMiblKDbZVOtqFhF19RwOyHVlKC0HdIjvY2/8oEggSf Nt6I5g== Received: from mail-pl1-f198.google.com (mail-pl1-f198.google.com [209.85.214.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4g1h1uua57-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 14 Aug 2026 07:32:37 +0000 (GMT) Received: by mail-pl1-f198.google.com with SMTP id d9443c01a7336-2cc7e86e7c5so14562745ad.3 for ; Fri, 14 Aug 2026 00:32:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1786692756; x=1787297556; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=lEdztFo2bCdgvgq+SmdX/lBDeTodlOJ5UoO+aB0wLTE=; b=ceCaKSnEttv/XlCPurC5I+bAMghWymXVtTTKd/L8XNmYE/ndGpmnCu9liQgclQlbvr BkoRgsSmMr5kW+8gIyujlW5k83GCQ4ppKI3KrthoHgm4lgbsRTfUGAiVI755ssHv2+Gv Zm5NBFuXy7T30rowT6hQsWEO4uIwvdvB9OyikdctgxGw9lncP1To/ab217B9NqpkUGQZ xLKDFRx7zRjin20Plh7lwIIkHbzPiVMxlQeXV2zFg65sLJWUSam04aTrafQSGONNBs1Z k7oICbRujASh4ODnWOER+ZDGj2fe1prtSP26mDq3fHPAlIM1CG+1kxENN7yar11nfv6w qZig== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1786692756; x=1787297556; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=lEdztFo2bCdgvgq+SmdX/lBDeTodlOJ5UoO+aB0wLTE=; b=RTC7GdNd+Pxva/3Dekwxhu8Df8Rw5zqxq/xtYBjQKn4CyOztUBzulyxjnK/rKoXvlU LlQD5JjPsDZwxtM6wlSyS9lcXXOg2UzFRlITVp0z7U/9LfVNw4MQJJN8JKW2qZQG0diY IxRwHZSiO0sJv6HbLlGaQ7f3P+ruSnbVQEUMOBUH8vtZJIhojtcZt/AkJGk9q5uRsr6U AJeUb72ocn9B+MOKXWl8MOIBCwlyRVO5WC4fDrgJdAdIAZcbYxXITLlm6RjEpZ80VsTU YycHAS1t+sORSBMmC549+vjc29amGSYdxRDfkDtiGQbE3WVO8gTANINhhw/8/n/L3IHg mrTg== X-Forwarded-Encrypted: i=1; AHgh+Rqy7cM+7vvQHavsp3lCKA0VX0oHP+BWqEeepjyJ4xh9nEhlet/BGD3y6QPUJtdHWWYU9G7wOoX6ajOxZJk=@vger.kernel.org X-Gm-Message-State: AOJu0YxeFnqFD+t+c91WaNQMTUXSlmOkeG9jGVZpkD6716miYhv9Hh0y Ydfe9pFGd7DhRDvQWsbA8hW6DrqrqENZo15T+fFO/0MsLdUhqSOuksygpKjXZCz2ouxLgjE1Fe7 EMOO8Ngeu2b0M008oNESDwEfp2ZxWshseH4rcB26IBg5Wt11Dsvtf1CHiSt8Cl8M4Quk= X-Gm-Gg: AR+sD111tkyksFFRsLx8Ysj+pHDtFcuB1wB4dw2UwUh5H0ZTNQ4WOEBSlgUaUeN34aT C+Dnne1EMcFl+OdqSdZnItIpLSw1T4lVs2yo9pa4I9EwU1b3i4Huke/qn38vsG8vX4+c+g+iZmD zH2/iuxZkeetmthRBI+bMkmG6q7vqG71K6T9E9TMVbyRRrLsVOdAZ35RTugOdQgnY4mxsnkHr4f WQ3sL3gVqM8sy/NFQZVHX15ppF/gdi3NKLXVVwLG/J1/Xi1zigR9wX6xBqzsGv815CbhRfK+BTU pCPqugTN/7QXAjmKJsdmWKNen8HJ7M4m3BFV0QWjkE6SzJCjwVXXO1Sh8zuK0UCbkzQMBesgQpI WaDoAef84laPImAT7kdURMy4f5+4CbeG2aMeF3paf1oeN3YvMuSqgro7EvJ047w/3Q9bj0nFlNe PD4qcgpr/EYKLQVwnjabsIFWc= X-Received: by 2002:a17:902:d549:b0:2cc:6018:f030 with SMTP id d9443c01a7336-2d3b0c6832dmr44861705ad.14.1786692756413; Fri, 14 Aug 2026 00:32:36 -0700 (PDT) X-Received: by 2002:a17:902:d549:b0:2cc:6018:f030 with SMTP id d9443c01a7336-2d3b0c6832dmr44860775ad.14.1786692755732; Fri, 14 Aug 2026 00:32:35 -0700 (PDT) Received: from hu-hardshar-blr.qualcomm.com (blr-bdr-fw-01_GlobalNAT_AllZones-Outside.qualcomm.com. [103.229.18.19]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-320ea804233sm1062280eec.26.2026.08.14.00.32.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 14 Aug 2026 00:32:35 -0700 (PDT) From: Hardeep Sharma Date: Fri, 14 Aug 2026 13:01:35 +0530 Subject: [PATCH v2 04/15] dt-bindings: clock: qcom,rpmhcc: Add Kuno RPMh clock controller Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260814-kuno-soc-support-v2-4-3079794f0f73@oss.qualcomm.com> References: <20260814-kuno-soc-support-v2-0-3079794f0f73@oss.qualcomm.com> In-Reply-To: <20260814-kuno-soc-support-v2-0-3079794f0f73@oss.qualcomm.com> To: Bjorn Andersson , Konrad Dybcio , Krzysztof Kozlowski , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Ulf Hansson , Michael Turquette , Stephen Boyd , Brian Masney , Taniya Das , Georgi Djakov , Bartosz Golaszewski , Linus Walleij , Thomas Gleixner , Radu Rendec , Robert Marko , Guru Das Srinagesh Cc: linux-arm-msm@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, linux-pm@vger.kernel.org, linux-clk@vger.kernel.org, linux-gpio@vger.kernel.org, Hardeep Sharma X-Mailer: b4 0.15-dev-47773 X-Developer-Signature: v=1; a=ed25519-sha256; t=1786692713; l=832; i=hardeep.sharma@oss.qualcomm.com; s=20260204; h=from:subject:message-id; bh=YcUBetlcsSXeTFWwHSGREMaHV5BuwRS6tuHjLEZyQ0M=; b=m2FUOtKrBcO8lDcVtLcayWa7nyzy59baesSptJr8XNM0Qaura5kGzPtzto+lk9HJK0wo93r8l uo738BHCf4uAPc/1tAGHJokyJx9v32/xEviKMqHgfKVtEhcUdhQDE0+ X-Developer-Key: i=hardeep.sharma@oss.qualcomm.com; a=ed25519; pk=IvwPDKA2xr6jWaCIBBY2ran/H0124QUzVfun+CtEikM= X-Proofpoint-GUID: vcHbAXKmdEWf5hARl9tHmCt1TCe8tbfg X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODE0MDA1OCBTYWx0ZWRfX3N5lJPzlfOZD BmvfyZ0Q+PpWhHkwu5Tk2eouOOiE/A/aORM+rIJYZ5t0YMdr2dh27vjhY1t3GDLbjhIOKjOmBj+ Xm71i33V6Cw9Y4w/sdpWWcBCKCCLyQiN30QAAMiGFahszPvAYVpy3BHliZCnELzXdBYmICoZMeK E0wdw6UZeWXUlfNKLJbJZaCJ3dH8DUO0uc8Pc7jfNrSmLjHBlGKTwFWe6N3hSXPmCM3Znd05LUB 0uBh3yVWoeQ4wAV8ilFPnx9nyNRu31hXGLiLWtgPBwDW2p7C3yOvFU5fO5nXmOidAMA405Aozpk H99oc+5P3PkfHZhMdgJAWjtL2c7HNADyzV46/M3yZtpmfCUpHpS1uDC3OMKhVLLp6B9t2v8/YQs GJ1+BSs8iiYQBo1Pisu47rzolaQ3YNF4SsKEkIkqfH/Cd71ZxXBhYW3M12lmye/KsvTXmw70aa6 NN4h/1vht8H82Pbfd4Q== X-Proofpoint-ORIG-GUID: vcHbAXKmdEWf5hARl9tHmCt1TCe8tbfg X-Authority-Analysis: v=2.4 cv=HMjz0Itv c=1 sm=1 tr=0 ts=6a7ec495 cx=c_pps a=MTSHoo12Qbhz2p7MsH1ifg==:117 a=Ou0eQOY4+eZoSc0qltEV5Q==:17 a=IkcTkHD0fZMA:10 a=Sv0fKeRqtYgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=gowsoOTTUOVcmtlkKump:22 a=EUspDBNiAAAA:8 a=VE4QQHX-7aIn0oL__EwA:9 a=QEXdDO2ut3YA:10 a=GvdueXVYPmCkWapjIL-Q:22 X-Proofpoint-Spam-Info: AW1haW4tMjYwODE0MDA1OCBTYWx0ZWRfX9YxnuW5M3AmC 1Xr5+j8SYt7ZMkkTkLklw182aEbfKNfQoj0CwBcWVxf5ZfVoIiKzLUBha4NuknZFh5BGV/NWAoO U5IfrnwkglWnGCwcZ4W4OGr4QRfF4/M= 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-14_02,2026-08-12_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 bulkscore=0 spamscore=0 phishscore=0 priorityscore=1501 suspectscore=0 clxscore=1015 impostorscore=0 adultscore=0 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608140058 Document the RPMh clock controller compatible for the Qualcomm Kuno SoC. Signed-off-by: Hardeep Sharma Acked-by: Krzysztof Kozlowski --- Documentation/devicetree/bindings/clock/qcom,rpmhcc.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/Documentation/devicetree/bindings/clock/qcom,rpmhcc.yaml b/Doc= umentation/devicetree/bindings/clock/qcom,rpmhcc.yaml index 2b446aca5207..9d521ac9c33f 100644 --- a/Documentation/devicetree/bindings/clock/qcom,rpmhcc.yaml +++ b/Documentation/devicetree/bindings/clock/qcom,rpmhcc.yaml @@ -22,6 +22,7 @@ properties: - qcom,glymur-rpmh-clk - qcom,hawi-rpmh-clk - qcom,kaanapali-rpmh-clk + - qcom,kuno-rpmh-clk - qcom,milos-rpmh-clk - qcom,nord-rpmh-clk - qcom,qcs615-rpmh-clk --=20 2.43.0 From nobody Tue Sep 29 01:19:00 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 E98A441A795 for ; Fri, 14 Aug 2026 07:32:47 +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=1786692772; cv=none; b=E9Kgw7YNp4vZCnUHhc3oMSYbCBsmJeMrWSq3Hpf1uEZN17g7WDAKWCRjjTfDygj+V4Ez4I6PacdE4ZxMouKJO1d3yANYutM+xqx+DsSBE/09IXPN/LyMEs55e2SzKdRDQv2znmv9jIK44j0kRaJWNoRkiEU+Cpa0W3oRFoiXicU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786692772; c=relaxed/simple; bh=8hC59DyE4kj4f5wzO4D/36omhn2O6YGXfOLRxNZloa4=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=m4Q5wSknDyWG3BnJ5i7S31D1YQxY6oWr4U8WMRdPN48UXB7bs0gmO2VYaEWVhu07DSZor78Y6iCeCzcRFN9PfEU0nzDdqvSwMACHQi/ovQySIo2PsuuTS/EldI6NETGqtYZLPnsTR4GKX84L7XVUozNQNt+zJqj2PQxUXV9goO0= 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=HGJngbYj; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=SYux/mul; 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="HGJngbYj"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="SYux/mul" Received: from pps.filterd (m0279871.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 67E4QYt3979831 for ; Fri, 14 Aug 2026 07:32:45 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= Zp+kA094X+7twp5uja4H1YDm8f2Rm0D13sUBNmXg8Cw=; b=HGJngbYjRMOrarCE KFhpMptW1UjYqafDEYe2rL6wkNAV2KygZXURHGALi/gJZgrCPl8nQDHokEoT72Xo z9gRZfqQs5Z2MDrkN/GE6mJM/ABiOirplTtrJIzco3aEKCExCLOiB2Evl5v6/SnJ JR6gs2M1Qr1IpRyAyfl6WOczN5M1CnUU+4/waHhzwZwIbA1zkohAaTZlqgZeRwyQ YKahf3EMVSV7CcrSojbtdgfzSCI6oGLfTzsWdVW/KPiRLowSmVCPUug2Uk4yeJFV 1vfkhGVS28IK6p4gzP/ApnuAZET5/qtLEvzZ0+O+NpW/qh0+x5raz3n2aXKjeVeA Eo6spA== Received: from mail-pf1-f197.google.com (mail-pf1-f197.google.com [209.85.210.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4g1pea1qkw-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 14 Aug 2026 07:32:45 +0000 (GMT) Received: by mail-pf1-f197.google.com with SMTP id d2e1a72fcca58-8488ac68185so1560245b3a.2 for ; Fri, 14 Aug 2026 00:32:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1786692764; x=1787297564; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=Zp+kA094X+7twp5uja4H1YDm8f2Rm0D13sUBNmXg8Cw=; b=SYux/mul5SFBA5q7OJL/BTAY0Bhxe6k9r6B7QIzj+3H0CUInrDdvqy0PTu8y2mTR0A j/bP8YjPm1qp1JgE15KNsQRYQ1NLzvXqU8Y1Q6O2z7OpWEu1Ejo9hPvaygJZqEt9q1MC n9OaIyKrdyb8L9wtHc4U5IR7Jzkf8vXJ0qUnD//23g0tlIFtleyoBuCzh58115Nqhieq taBjAaN5qGAmDncqrzJFYdZVlu56hYvuGHXqhrQCHAiDM/PEuEeUt3ONaEa/8auaZQQG 3PMnwwWzyPkuC+6ug86dyB5ltJBRK07CvsrUx7yDAoSCDiaAXV/V/UHbPIxJeIeDHhHy +b5A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1786692764; x=1787297564; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=Zp+kA094X+7twp5uja4H1YDm8f2Rm0D13sUBNmXg8Cw=; b=bta0tXbj/cKyg0rp53aNObcqZtBDJQKgJHyMwNibQxyA4q7EPMH1iYlHMSiQhexJDy X4XRjJLN9PM2utd3u9ib38D47dCmds3zD7ucIl9n6/XnwXZQISc9Xf9AqU9W7y1kUSFz FT/d1la5qpdPJ8eF3g+g9342OGd7WVIZTpPs85YunqRBbWxMRNd5Hff/k4T12+PaUrWi H0lzPJ2kdTnXnZuuUrOOsZYoffeCxJtTU34P57w446809YiIn+6a4Rvhd2amtC05TGU6 +zkEISOTp9vD8jRGi0GtjrWIFza1B5zxh0I7FeP1APQCN+Q67G8Q8J00vwJc5PFwd1Yx 1tcQ== X-Forwarded-Encrypted: i=1; AHgh+RqsIpy7DgdpIl8ffhaoaIpZh3+PF1tGX4YFJIb4T5wyv8K1BRtxp7NTgckBimybkpzfSLd5gSUot2OQYU8=@vger.kernel.org X-Gm-Message-State: AOJu0YzF/T6Sj/udhMedWrZEBVI4a6pjQ6ClS72BegJv2q8DcUKr50nJ XHvK9Ztm/2qIzQl4dlxDsgWGhrnx3eFxgb8B5v1+kCXqDulUqjHjm0qAwEtdaBPAYrOBc8/Q+6+ IewxK9BSKETcd1Bx2Q4Gl/3T+rNLWZXRwAh7APEd9EL6eVvBxJ/Re/spGZGG3lCcnl1g= X-Gm-Gg: AR+sD115DZNXNvT0LVwRLRejBLl70lQX/ovSkxWWNLBcqg4mTuw82MLGhH3//iLF9lg AeiHP2l4E06nbt2wRQM45HF5qBcxW4e7orhBRjPR5N/nd0cegl2Jb9fD8gktFSRXr/cUUrAwQxU Gq3Rq85bJntdysN/yKi4j8D/NF/Q9LbDfepq7NpWtGVGAfpE7N/M1Zcktf12Boa3+nu3DzBEvKd 9CO+RQOt/UFamuqATYr9i+RbYUhe4vrqe9DRtekT3N5PVlUJO5sMC+flVyu/Zf0IqnfM0puCt2b VSfph0O8aRs7lYF1KcG2GgM1eXJUGC7LHZivB4lZLd0fW0cqY8aNrjUziQkSsWlRlM8X74K1+1X 2jYm3wBcLAc+kbjvdUzlWYmdPnz9mgsWBVqb5zn8/YhSCFHjKjRtkF8MbtAkuTySYYjNHhJ+Ly2 Pz1SrXAeZnpebohrZIMQk4VCk= X-Received: by 2002:a05:6a21:3398:b0:3bc:5284:5445 with SMTP id adf61e73a8af0-3cc71d53eacmr4045605637.21.1786692764421; Fri, 14 Aug 2026 00:32:44 -0700 (PDT) X-Received: by 2002:a05:6a21:3398:b0:3bc:5284:5445 with SMTP id adf61e73a8af0-3cc71d53eacmr4045548637.21.1786692764036; Fri, 14 Aug 2026 00:32:44 -0700 (PDT) Received: from hu-hardshar-blr.qualcomm.com (blr-bdr-fw-01_GlobalNAT_AllZones-Outside.qualcomm.com. [103.229.18.19]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-320ea804233sm1062280eec.26.2026.08.14.00.32.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 14 Aug 2026 00:32:43 -0700 (PDT) From: Hardeep Sharma Date: Fri, 14 Aug 2026 13:01:36 +0530 Subject: [PATCH v2 05/15] clk: qcom: clk-rpmh: Add support for Kuno RPMh clocks Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260814-kuno-soc-support-v2-5-3079794f0f73@oss.qualcomm.com> References: <20260814-kuno-soc-support-v2-0-3079794f0f73@oss.qualcomm.com> In-Reply-To: <20260814-kuno-soc-support-v2-0-3079794f0f73@oss.qualcomm.com> To: Bjorn Andersson , Konrad Dybcio , Krzysztof Kozlowski , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Ulf Hansson , Michael Turquette , Stephen Boyd , Brian Masney , Taniya Das , Georgi Djakov , Bartosz Golaszewski , Linus Walleij , Thomas Gleixner , Radu Rendec , Robert Marko , Guru Das Srinagesh Cc: linux-arm-msm@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, linux-pm@vger.kernel.org, linux-clk@vger.kernel.org, linux-gpio@vger.kernel.org, Hardeep Sharma , Dmitry Baryshkov X-Mailer: b4 0.15-dev-47773 X-Developer-Signature: v=1; a=ed25519-sha256; t=1786692713; l=2020; i=hardeep.sharma@oss.qualcomm.com; s=20260204; h=from:subject:message-id; bh=8hC59DyE4kj4f5wzO4D/36omhn2O6YGXfOLRxNZloa4=; b=Bp3nz6QUprcZk2VGvZmq2p8bTdzjWGyyjR/4qIxFefb+IZyXceD21k0toykb2OeXrboXpRTIL rAH62D/G2N5DfIQtvymarQsd9LnsiUadpWv7+b/csPnmAztLysObdNR X-Developer-Key: i=hardeep.sharma@oss.qualcomm.com; a=ed25519; pk=IvwPDKA2xr6jWaCIBBY2ran/H0124QUzVfun+CtEikM= X-Authority-Analysis: v=2.4 cv=TbGmcxQh c=1 sm=1 tr=0 ts=6a7ec49d cx=c_pps a=rEQLjTOiSrHUhVqRoksmgQ==:117 a=Ou0eQOY4+eZoSc0qltEV5Q==:17 a=IkcTkHD0fZMA:10 a=Sv0fKeRqtYgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=3WHJM1ZQz_JShphwDgj5:22 a=EUspDBNiAAAA:8 a=81ep5gnlwPa1PUBqnVYA:9 a=QEXdDO2ut3YA:10 a=2VI0MkxyNR6bbpdq8BZq:22 X-Proofpoint-GUID: 87kOb-3zIpFbZQhJjGMQAPefAw0-5pJm X-Proofpoint-ORIG-GUID: 87kOb-3zIpFbZQhJjGMQAPefAw0-5pJm X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODE0MDA1OCBTYWx0ZWRfX4BbUPO2iDDA/ Y7RbbBB2P8LHpcmUgHK+iMna59egdq4kNOMRMHamQPoeAPA2fQ0u5e30xPuGxQe1IF3gpcnShjX dbkWAtwgfxghlQ9udjzjx0+3qYi6JnhuQZ/d0AWJF+kyJRkVnVkiNExwMpQWK0Q2Eeu7cKdVrhy IUT6i/M52PIjh4kxqXcPbLm/GilV/NU77GuoCq9dSOk6McGN2ZwpA3Yp9jTjQGLg/1rjWm0e+El Dp/B5V/GOG7Vr2m2A2Xd7Ka4Zsblo3UAorPQiTSnK3oOkrrOOBKveOoJjYqU65Zbu49+j764072 nQBPtBkwwNPNVs3pGAwz9knJgREjPslR2cvXHZyxRqAuE7I7ylfvwN/I8EeqdfNmVvjNMDbMZxh /8z+Mx8751Pl8ia2Bg8sZBcMusiTkivQBdcLyyW/Rzw2T9GVlshuw1KkLKpP7HNipx7R1/7rlx3 bfIpiLT2tM6s5JY7uDg== X-Proofpoint-Spam-Info: AW1haW4tMjYwODE0MDA1OCBTYWx0ZWRfX70FEJ3ylSTw5 TWwxhpuYimHXocD/asiwlqguS4G/+GqV9tzjBQE8uJjCYtUuCP3OQXUO26Qvc3VqflkgKrabBvm k6QO56T3+qdiGg3FKhkm7FFBDeVQzKs= 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-14_02,2026-08-12_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 spamscore=0 malwarescore=0 priorityscore=1501 bulkscore=0 adultscore=0 suspectscore=0 impostorscore=0 lowpriorityscore=0 clxscore=1015 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608140058 Add the RPMh clock description for the Qualcomm Kuno SoC so the qcom,kuno-rpmh-clk compatible can provide the RPMh-managed clocks to consumers: the CXO div-2 (and always-on variant), RF clock 1 (and always-on variant), the QPIC BCM clock and the IPA clock. Reviewed-by: Dmitry Baryshkov Signed-off-by: Hardeep Sharma Reviewed-by: Konrad Dybcio --- drivers/clk/qcom/clk-rpmh.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/drivers/clk/qcom/clk-rpmh.c b/drivers/clk/qcom/clk-rpmh.c index 6367b2a5a4e0..d8c3a6b12d4a 100644 --- a/drivers/clk/qcom/clk-rpmh.c +++ b/drivers/clk/qcom/clk-rpmh.c @@ -943,6 +943,20 @@ static const struct clk_rpmh_desc clk_rpmh_kaanapali = =3D { .num_clks =3D ARRAY_SIZE(kaanapali_rpmh_clocks), }; =20 +static struct clk_hw *kuno_rpmh_clocks[] =3D { + [RPMH_CXO_CLK] =3D &clk_rpmh_bi_tcxo_div2.hw, + [RPMH_CXO_CLK_A] =3D &clk_rpmh_bi_tcxo_div2_ao.hw, + [RPMH_RF_CLK1] =3D &clk_rpmh_rf_clk1_a.hw, + [RPMH_RF_CLK1_A] =3D &clk_rpmh_rf_clk1_a_ao.hw, + [RPMH_QPIC_CLK] =3D &clk_rpmh_qpic_clk.hw, + [RPMH_IPA_CLK] =3D &clk_rpmh_ipa.hw, +}; + +static const struct clk_rpmh_desc clk_rpmh_kuno =3D { + .clks =3D kuno_rpmh_clocks, + .num_clks =3D ARRAY_SIZE(kuno_rpmh_clocks), +}; + static struct clk_hw *eliza_rpmh_clocks[] =3D { [RPMH_CXO_CLK] =3D &clk_rpmh_bi_tcxo_div2.hw, [RPMH_CXO_CLK_A] =3D &clk_rpmh_bi_tcxo_div2_ao.hw, @@ -1103,6 +1117,7 @@ static const struct of_device_id clk_rpmh_match_table= [] =3D { { .compatible =3D "qcom,glymur-rpmh-clk", .data =3D &clk_rpmh_glymur}, { .compatible =3D "qcom,hawi-rpmh-clk", .data =3D &clk_rpmh_hawi}, { .compatible =3D "qcom,kaanapali-rpmh-clk", .data =3D &clk_rpmh_kaanapal= i}, + { .compatible =3D "qcom,kuno-rpmh-clk", .data =3D &clk_rpmh_kuno}, { .compatible =3D "qcom,milos-rpmh-clk", .data =3D &clk_rpmh_milos}, { .compatible =3D "qcom,nord-rpmh-clk", .data =3D &clk_rpmh_nord}, { .compatible =3D "qcom,qcs615-rpmh-clk", .data =3D &clk_rpmh_qcs615}, --=20 2.43.0 From nobody Tue Sep 29 01:19:00 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 2ED1341F5C4 for ; Fri, 14 Aug 2026 07:32:56 +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=1786692800; cv=none; b=Y9+hPFd9iQRx/WBmURMHLXlu60PvCiRolcDXgHkhoI35yt9HdH+36BLj+0WANfgGDVcu5/jakHPSuG9PrExJ3Ih6xuNg5bOd459WHM6R2BULhfIDCbW7tQmPRMN0j9RxxTzy4GJcgdRHIprT/OxmCZT+pX46/bz/IAMbkH3wuY4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786692800; c=relaxed/simple; bh=jFRWsP9ISRPrclLZb7Xm99XFKDmAoPy99ddr/r8mkjM=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=DyRvf0yJc0DsSXUfj19yner+iDQa5w+ghveYnV8wDLdzBMEv4V18If7+OkvuQE99LU7RVkrClfsxaddJ+bA1KEnPRSxJjdmVOThfcpfH6gZUOti46siSHcmxIN+fYH7y6Rf4VlhKUIgeAFOC1yb0BWj+y7lq/dpnfXWnXFYkJME= 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=WIcfgo/7; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=kJzN6qcm; 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="WIcfgo/7"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="kJzN6qcm" 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 67E4QeCg3614505 for ; Fri, 14 Aug 2026 07:32:54 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= jpeiabKTD0jeAQh1gSJUWOUbLOHro//2dly8tKNUA1Q=; b=WIcfgo/7KEGV64C0 J7AKr8WAnY7tgbXIQFTJwndXFAGNINJElsybvR2zepfh1H20VZLK/dejAt7aTwPR cp5AxQcqPee9AlvHuiW2RJEomHptjqIeWv8nVUwl65Qk73/ZIbUhn+v5tg7yu4x3 AxRyAKhskmNzjUrj/aoit9+bSNTrkKUHc+PSvrr2GV0fkaN5n/GUZjPVy9DnvruV Yl6ZSJAMw9XZ7Z6+jvPloNOaChrHwmKniqbz40ygAsx48wHCwI36N/ArozgUvqxj W9Y4lLvsypZMZowQMlA6FXEH4MguajPvpqzb0rp1frbBWFVi46XNdrH0G2rtYagI SiKIhA== Received: from mail-pg1-f198.google.com (mail-pg1-f198.google.com [209.85.215.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4g1hgy32q6-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 14 Aug 2026 07:32:53 +0000 (GMT) Received: by mail-pg1-f198.google.com with SMTP id 41be03b00d2f7-cb7d6ba548eso749113a12.1 for ; Fri, 14 Aug 2026 00:32:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1786692773; x=1787297573; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=jpeiabKTD0jeAQh1gSJUWOUbLOHro//2dly8tKNUA1Q=; b=kJzN6qcmsfZtZ0mhtAGEjuedHuiKNan0y0xkRXuBt81I4k8l5Gj7BCZOQllZQw7wZT SxgP6QQC/y+vMtwLD+RxbMgUL4PSS4ypz/3lzAlz5K8K8EYWWCcQsP8tVzOfi0Um2jkZ vDh98B5U+7dGxwAXQO4DHm7W4dCvOVnfpl5EHsPKFJURLgXPaHLiuCPTaFv8Q2FrOkAm zKJ6SscZbt/nbGMvHrEiFZfd/RIJIuXHYhl5NhuWejlwAujj1OJwc75VC6XFh4+vebz8 em9IxbUkLVfMjUL7dY79+zp8R0RJmX1AmqVfth33gS5ub68xENPTjqvjCnOjnvW3SpIf 5WGQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1786692773; x=1787297573; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=jpeiabKTD0jeAQh1gSJUWOUbLOHro//2dly8tKNUA1Q=; b=WGu2delYNmncQtRnZ74OVLPe7LgZwAtntCkBOiBKgaFqQWY1fdY387Io9pXUgxIiJC W6QpRTtfsuBQJYN+HVglPKSYf8iTPnOgWgDp9+F/ZgVeSOfASKGXk+gZKu9+VWzM2LpO IiWkmwTzU2IJnkMKUnG6zbBGYo68NC1usWX3v+Jcr/A1NNLQ+W4NQwruddRBLR/RJVbV 6m84VRxOY2m1PYgVKqujkTC6GaUc/DlX8I3jmxetCa6kH/zCUm7OH6VXHLB8tglaXmHW GJK7zmkBP1B7vUpAIXZLMjZ0ebonsxOV0qPp6Q/TswwWcnIvDiQwjxoUHO0en3I9vrXi awag== X-Forwarded-Encrypted: i=1; AHgh+RpncZ5z16sSQc6Fkd+rWv12Tnurm56q5cBjF0gVMxmJgzpxOonwwgandab9w5lOqQJ8FogsRhqSwvQIrdg=@vger.kernel.org X-Gm-Message-State: AOJu0YwRvVnM/xxPIcW7bmeID4iPYFJMOd9+sMfiDfrS/bFuTsmPZOft If4mWUdY+Olpg7CB/t9vKSNLofQpj4dD3yu73coTgc1YqisjhMDADgssX/8zOTl4Anrhkk8F5Lj YALY2fE84XC1RjU154EryWR1gFuQ7T4Z+T0C2V/ErYdOp8oZWCOYrTkEIjGsoUAAvziU= X-Gm-Gg: AR+sD126tBCULp8EFsfxFNIcCNTqMjZzk7ynB/sFc/7GxHYxCRJMbz5WB9Vabor4SWb KwwYyusgEzz/PxAw2T12fE3p6Wx6d8SzcN2dXtKC4ySxki94VngKL4PPuuRB57JzrojRaMigIbU 0+0+HOo9qZZJfvruMmc0JpHu+5P0zDBTerRDxwPFT7UoMB29GQNjMbhLExU5RsjVZdLpFfCYfmS rre6cjvel+YWFdF8w8PzBwI5IsZ4D4LSuvIUJ+TRKxVhnYB32P7z0Ekj6QmFRXxTEPSakGcNqzh waPoUCZDTmBOD4Io8SJ7sMdJDfZAvQLJp1RADW0KMeRFsLRBhyeP/GaZvn3l4OhLuECVTESi5o6 iIB86lfBGhIpAEob3aQdOYd+YvoULlzmd/Rkvn+Bu4u6T4x0doFHBjzx2F0Z5UHbtLT25h97zGw b2CGTZvJWX2Tj2QhYGSLT6qH0= X-Received: by 2002:a05:6a20:12d2:b0:3c3:a024:1360 with SMTP id adf61e73a8af0-3cc71de3b8dmr4123516637.28.1786692772857; Fri, 14 Aug 2026 00:32:52 -0700 (PDT) X-Received: by 2002:a05:6a20:12d2:b0:3c3:a024:1360 with SMTP id adf61e73a8af0-3cc71de3b8dmr4123472637.28.1786692772425; Fri, 14 Aug 2026 00:32:52 -0700 (PDT) Received: from hu-hardshar-blr.qualcomm.com (blr-bdr-fw-01_GlobalNAT_AllZones-Outside.qualcomm.com. [103.229.18.19]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-320ea804233sm1062280eec.26.2026.08.14.00.32.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 14 Aug 2026 00:32:51 -0700 (PDT) From: Hardeep Sharma Date: Fri, 14 Aug 2026 13:01:37 +0530 Subject: [PATCH v2 06/15] dt-bindings: interconnect: Add Qualcomm Kuno NoC Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260814-kuno-soc-support-v2-6-3079794f0f73@oss.qualcomm.com> References: <20260814-kuno-soc-support-v2-0-3079794f0f73@oss.qualcomm.com> In-Reply-To: <20260814-kuno-soc-support-v2-0-3079794f0f73@oss.qualcomm.com> To: Bjorn Andersson , Konrad Dybcio , Krzysztof Kozlowski , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Ulf Hansson , Michael Turquette , Stephen Boyd , Brian Masney , Taniya Das , Georgi Djakov , Bartosz Golaszewski , Linus Walleij , Thomas Gleixner , Radu Rendec , Robert Marko , Guru Das Srinagesh Cc: linux-arm-msm@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, linux-pm@vger.kernel.org, linux-clk@vger.kernel.org, linux-gpio@vger.kernel.org, Hardeep Sharma X-Mailer: b4 0.15-dev-47773 X-Developer-Signature: v=1; a=ed25519-sha256; t=1786692713; l=5865; i=hardeep.sharma@oss.qualcomm.com; s=20260204; h=from:subject:message-id; bh=jFRWsP9ISRPrclLZb7Xm99XFKDmAoPy99ddr/r8mkjM=; b=7b2Un2s/M9mSVl4PcO5B7+YBwe8pYT85+NxWU5VAq9nRbWwFhkwfruk2XYApzqPIJwzEU/NBQ dxyxR/9bwCpBtxHwy7PehIbzLXwNKJ1HkURps7UyuuYOa1mjc1QsHpF X-Developer-Key: i=hardeep.sharma@oss.qualcomm.com; a=ed25519; pk=IvwPDKA2xr6jWaCIBBY2ran/H0124QUzVfun+CtEikM= X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODE0MDA1OCBTYWx0ZWRfX1aQCEfO7yakK 04xk4to+h24QlXW2tYCgUKBD8CEPV3C3qzW+v+cMlKiaJj39Ky1pHUXL/ivk/WBdYaF7k79AvjA eWc7QJcT5dhM1X4dFcb6eD6Gl0fcZN4+2vj0+krMPnMaIeWRlNfALSNQ43WrxOeVmOAXxXbROsa 89mbKQhpRT3lF215x1LoSK3uHXfWd/84q/VmNy4H3WrWZO+BmiF0paE+ou1QlaCcoNaSEybHttG vcRRRfP7gHCsMj5WKQyIP02TXI9xiKg1C5S9bZ3TcXHZN7clCRn6v37J7In9qsB+uRmZ+IPLKYE Fh1S92GepKI5ua225ucZdbFBfQCgN6gciWxJEj7Gy/pkQjPkb2qtExZSljSLZbHFCySZauHZqQg Lso1hu5PleKaw0bxjVujW/o677vcbaELqTTT1b4cX8Bmqv2MYjie/9rYPnsSeRmCrM9UfzVxniC yCgLiKgRLlDaQIJTGpw== X-Authority-Analysis: v=2.4 cv=AaSB2XXG c=1 sm=1 tr=0 ts=6a7ec4a5 cx=c_pps a=Qgeoaf8Lrialg5Z894R3/Q==:117 a=Ou0eQOY4+eZoSc0qltEV5Q==:17 a=IkcTkHD0fZMA:10 a=Sv0fKeRqtYgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_glEPmIy2e8OvE2BGh3C:22 a=gEfo2CItAAAA:8 a=EUspDBNiAAAA:8 a=UOSSyZSmw6qQ1N8pRZUA:9 a=_XYWEmbmkuNYmnV3:21 a=QEXdDO2ut3YA:10 a=x9snwWr2DeNwDh03kgHS:22 a=sptkURWiP4Gy88Gu7hUp:22 X-Proofpoint-ORIG-GUID: qh9i_myhL8CqYFoSevGsBBxenRCTYZys X-Proofpoint-GUID: qh9i_myhL8CqYFoSevGsBBxenRCTYZys X-Proofpoint-Spam-Info: AW1haW4tMjYwODE0MDA1OCBTYWx0ZWRfX0kjABtojfpIR DOB51KSZmkg0OzPlF56LkPGNMYXoF5OmOQfgqEfQ0b5QL6eia9IMD7c6Q5ZhrxIUJf3YdxIhfC5 yOGBw9iDo29ZsNL2lrtkNGcqmKkJFFw= 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-14_02,2026-08-12_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 malwarescore=0 clxscore=1015 priorityscore=1501 spamscore=0 impostorscore=0 suspectscore=0 bulkscore=0 lowpriorityscore=0 phishscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608140058 Document the RPMh-based Network-on-Chip interconnect providers and associated node-ID definitions for the Qualcomm Kuno SoC. Signed-off-by: Hardeep Sharma --- .../bindings/interconnect/qcom,kuno-rpmh.yaml | 82 ++++++++++++++++++= ++ include/dt-bindings/interconnect/qcom,kuno.h | 89 ++++++++++++++++++= ++++ 2 files changed, 171 insertions(+) diff --git a/Documentation/devicetree/bindings/interconnect/qcom,kuno-rpmh.= yaml b/Documentation/devicetree/bindings/interconnect/qcom,kuno-rpmh.yaml new file mode 100644 index 000000000000..ffbf14356f12 --- /dev/null +++ b/Documentation/devicetree/bindings/interconnect/qcom,kuno-rpmh.yaml @@ -0,0 +1,82 @@ +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/interconnect/qcom,kuno-rpmh.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Qualcomm RPMh Network-On-Chip Interconnect on Kuno SoC + +maintainers: + - Hardeep Sharma + +description: | + RPMh interconnect providers support system bandwidth requirements through + RPMh hardware accelerators known as Bus Clock Manager (BCM). The provide= r is + able to communicate with the BCM through the Resource State Coordinator = (RSC) + associated with each execution environment. Provider nodes must point to= at + least one RPMh device child node pertaining to their RSC and each provid= er + can map to multiple RPMh resources. + + See also: include/dt-bindings/interconnect/qcom,kuno.h + +properties: + compatible: + enum: + - qcom,kuno-aggre-noc + - qcom,kuno-clk-virt + - qcom,kuno-cnoc-main + - qcom,kuno-dc-noc + - qcom,kuno-mc-virt + - qcom,kuno-mem-noc + - qcom,kuno-pcie-anoc + - qcom,kuno-system-noc + + reg: + maxItems: 1 + + clocks: + minItems: 1 + maxItems: 4 + + clock-names: + minItems: 1 + maxItems: 4 + +required: + - compatible + +allOf: + - $ref: qcom,rpmh-common.yaml# + - if: + properties: + compatible: + contains: + enum: + - qcom,kuno-clk-virt + - qcom,kuno-mc-virt + then: + properties: + reg: false + clocks: false + clock-names: false + else: + required: + - reg + +unevaluatedProperties: false + +examples: + - | + interconnect-clk-virt { + compatible =3D "qcom,kuno-clk-virt"; + #interconnect-cells =3D <1>; + qcom,bcm-voters =3D <&apps_bcm_voter>; + }; + + interconnect@1640000 { + compatible =3D "qcom,kuno-aggre-noc"; + reg =3D <0x01640000 0x33400>; + #interconnect-cells =3D <1>; + qcom,bcm-voters =3D <&apps_bcm_voter>; + }; +... diff --git a/include/dt-bindings/interconnect/qcom,kuno.h b/include/dt-bind= ings/interconnect/qcom,kuno.h new file mode 100644 index 000000000000..eacbae38f85d --- /dev/null +++ b/include/dt-bindings/interconnect/qcom,kuno.h @@ -0,0 +1,89 @@ +/* SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) */ +/* + * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries. + */ + +#ifndef __DT_BINDINGS_INTERCONNECT_QCOM_KUNO_H +#define __DT_BINDINGS_INTERCONNECT_QCOM_KUNO_H + +#define MASTER_SYS_TCU 0 +#define MASTER_LLCC 1 +#define MASTER_AUDIO 2 +#define MASTER_CPUCP 3 +#define MASTER_PCIE_RSCC 4 +#define MASTER_QDSS_BAM 5 +#define MASTER_QPIC 6 +#define MASTER_QUP_0 7 +#define MASTER_ANOC_SNOC 8 +#define MASTER_CNOC_DC_NOC 9 +#define MASTER_CNOC_SNOC 10 +#define MASTER_MSS_PROC 11 +#define MASTER_GEM_NOC_CFG 12 +#define MASTER_GEM_NOC_CNOC 13 +#define MASTER_GEM_NOC_PCIE_SNOC 14 +#define MASTER_ANOC_PCIE_GEM_NOC 15 +#define MASTER_SNOC_SF_MEM_NOC 16 +#define MASTER_QUP_CORE_0 17 +#define MASTER_CRYPTO 18 +#define MASTER_IPA 19 +#define MASTER_MSS_NAV 20 +#define MASTER_TME 21 +#define MASTER_APPSS_PROC 22 +#define MASTER_EMAC 23 +#define MASTER_IPA_PCIE 24 +#define MASTER_PCIE_0 25 +#define MASTER_QDSS_DAP 26 +#define MASTER_QDSS_ETR 27 +#define MASTER_QDSS_ETR_1 28 +#define MASTER_SDCC_4 29 +#define MASTER_USB3_0 30 +#define SLAVE_EBI1 31 +#define SLAVE_AHB2PHY 32 +#define SLAVE_AOSS 33 +#define SLAVE_APPSS 34 +#define SLAVE_AUDIO 35 +#define SLAVE_CLK_CTL 36 +#define SLAVE_RBCPR_CX_CFG 37 +#define SLAVE_RBCPR_MXA_CFG 38 +#define SLAVE_RBCPR_MXC_CFG 39 +#define SLAVE_CRYPTO_0_CFG 40 +#define SLAVE_EMAC_CFG 41 +#define SLAVE_IMEM_CFG 42 +#define SLAVE_IPA_CFG 43 +#define SLAVE_IPC_ROUTER_CFG 44 +#define SLAVE_LAGG_CFG 45 +#define SLAVE_MCCC_MASTER 46 +#define SLAVE_CNOC_MSS 47 +#define SLAVE_PCIE_0_CFG 48 +#define SLAVE_PCIE_RSC_CFG 49 +#define SLAVE_PDM 50 +#define SLAVE_PMU_WRAPPER_CFG 51 +#define SLAVE_PRNG 52 +#define SLAVE_QDSS_CFG 53 +#define SLAVE_QPIC 54 +#define SLAVE_QUP_0 55 +#define SLAVE_SDCC_4 56 +#define SLAVE_SPMI_VGI_COEX 57 +#define SLAVE_TCSR 58 +#define SLAVE_TLMM 59 +#define SLAVE_TME_CFG 60 +#define SLAVE_USB3 61 +#define SLAVE_VSENSE_CTRL_CFG 62 +#define SLAVE_A1NOC_CFG 63 +#define SLAVE_DDRSS_CFG 64 +#define SLAVE_LLCC 65 +#define SLAVE_GEM_NOC_CNOC 66 +#define SLAVE_SNOC_MEM_NOC_SF 67 +#define SLAVE_MEM_NOC_PCIE_SNOC 68 +#define SLAVE_ANOC_PCIE_GEM_NOC 69 +#define SLAVE_SNOC_CNOC 70 +#define SLAVE_ANOC_THROTTLE_CFG 71 +#define SLAVE_QUP_CORE_0 72 +#define SLAVE_BOOT_IMEM 73 +#define SLAVE_IMEM 74 +#define SLAVE_SERVICE_GEM_NOC 75 +#define SLAVE_PCIE_0 76 +#define SLAVE_QDSS_STM 77 +#define SLAVE_TCU 78 + +#endif --=20 2.43.0 From nobody Tue Sep 29 01:19:00 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 D3269421A15 for ; Fri, 14 Aug 2026 07:33:05 +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=1786692793; cv=none; b=LzviAmPja504CYkKnWFeZjg23YdZUh+N7XwP9I8a8TnpAuX9tz40A7YqUxp2QEMJJL8aMzqKZmeelaQWZxH5z57PX2ermJXLVcD8REf3k7WxAOceaLGugj7g+fsO4t2EolJAy5KAwkagozKaaA9Xe0yU5nEwhKGkAZz9+zR/Aok= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786692793; c=relaxed/simple; bh=wcrjG5rc8ExV+e5igJD2SN05FcTnc+axGJhELOfLN1k=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=CgFjnINvKJF9jHd5NsSQh4lFeteDYB99VQuRwLzfrn2Ec56ymkCv/XGCB79zVYrAOaenO1+3nlheC4IsZnI76Qy4ZXRgncACKpaINTjCikZGCirqimMt7WMqZvnECC1mR6ipdy8VtyNfRFJYY+T6ZH4TR/J+UQ6fBt2aynywdNg= 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=XWoeEwP4; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=kkPGjh9n; 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="XWoeEwP4"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="kkPGjh9n" Received: from pps.filterd (m0279868.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 67E4QdYQ510037 for ; Fri, 14 Aug 2026 07:33:03 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= 5G4QguS65FsGt7r0Sfd+9p4UZQFQIShobip3DsMGj0o=; b=XWoeEwP4KsGexFZv 3so+JBWLVBbFkWDsfwwAfNnTR10udas8m9FDRYcIuF3J8n7pkrplJQPHfg5GHx9O nF/Ly1cqcrrFsIOoVwVKfvhpOaM9y8DM1kG9pERnyGPsV/3vHCXfRloLGxKUUrQC QdyEM+d6+1FpM6ruewdDnv2d20m213SnsBlq0RuLLogADqLYyvVqIL0H0sJ5Gv1C c7Z1QC3e03tplpkAOIXqXqA579MC0P1xty46AaORqhAFRWvUAs18yfI/or/cEgw6 a7W9SMkBeaE2hfznmCylk6lDgYxMdyyCpSk5DcywAiaPqQKmSzB3lpGwf4IUssbC xYEo2g== 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 4g1fg3usfn-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 14 Aug 2026 07:33:02 +0000 (GMT) Received: by mail-pg1-f197.google.com with SMTP id 41be03b00d2f7-cbe77d6864dso1043085a12.2 for ; Fri, 14 Aug 2026 00:33:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1786692782; x=1787297582; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=5G4QguS65FsGt7r0Sfd+9p4UZQFQIShobip3DsMGj0o=; b=kkPGjh9n0wzLz+78MJN8Oaec6OeGz/II+NKPUBEINwrSVI9y+Zh0DPNcUlPY7N3cFT lgPsAtKvIapSutfonZRxKv/Yj4InIC0Ar5Jv5A7piZdmqW+0aJapHmWlrw8DN+1WvplY oHU79TCOz7+kn2/D1Pw5/i3ya0TndCYqgJQJmujRMLsY8Xya/EyaGF4b7rWQi20Rl736 OvUz55P9AK4P1aXHkAuOyK6bf3DmctjGmhhgNqMaoP0J8z1uICuCklAiMzzgtL6aHP8v D4bIriDZRVvhfJt39n3WcgTvA2ImGeUdiNlNCSfYGgv3EVCu4II7gSyKf8l0T97JlXtA 8KCQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1786692782; x=1787297582; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=5G4QguS65FsGt7r0Sfd+9p4UZQFQIShobip3DsMGj0o=; b=mrYXei/aQ0wW7LOqIiowJ18vi8hvxiqFuyXmSksjG2AX+yRUWMD7pDpWh+TnzsmZAC fG5cpeaGG+IY7gf+aVMZkT/Z3+QR6OsqHSBeM9fTLjSWEdeBTMGvOwGhVzScvGKxbVNF DDEn3OmecY2k5r1QbPDoalpPL/1v+xo07PiWOwvzm6C3xJM2m393ZiD4M1QFO4v5b3wF nm9ezPcvq97tJKObNkxABHZp4iRmlDgZt8GHndtYX95ifOezflwcJZliiXXmD0YZtQ09 19SmcEgOrAHqFrUaU7EdDX7JkNGEik+j6VSA01RSLLjyJWQsW7L0qw4NfBSoszndSV9w L9jA== X-Forwarded-Encrypted: i=1; AHgh+Rq7ByXz61X+fLFtScjq8wrTFolqokEB1Ez/Y3eRqXg9epAVVtENkMY10FHhteXDtCgiKYh3NwHPQ+frxyI=@vger.kernel.org X-Gm-Message-State: AOJu0YzkiQHADoMAheLLzGSmxuYaXfNFuhedn78QKGVPB3WHf7AyfiSf xbYdIktE+4LA3B0heBpv/w/tFEsD+eEWwJy+KkyejmJajSU00bvcrKbSQX4/WfEMdMwKPmcYJYo 4OoH6a8W1qAZ13OHSbwaxkZf0gnXrp0Vs8eJ8+AzAP+EyKPWvWOEwkMCK6ubPsgqMQtA= X-Gm-Gg: AR+sD13HWp2NTXytEDkfpirlJr/NIc62ZoqkJiXgr3koe07XKJydV5dHwG1Aw3hfGCT XkpFOiYDX8ZJQd/aL3NjJbgSjK+7BJN/H9FdY0JfCGt0+95TPGyQrZNg5+8C7xmIfhmcs9+lPxF 0cCwLwpbU3Jtk7U8nv0gXqFo5X0iraK4cKgzB2LupWOiGgXN2ujmC3pF0oWAflevw/zHjviuMjm u9EuvLHA2Gj7Vb/hXFZ6yF+iXoULS0QQdcQhRqwKyKvJ6yiy4+Mi8IIOnFiXRV4nM8czc4vLXA3 85DUzWmuoy1ps/LojUUa3zzo1YgHW9CyTFyUpmC4lydobXG8+RzgiZBE0jaHVs6VNPk4IAuNsLr olqE5rqHa7QFPbIDyLX/j6GU+qSbo6KqX0qzEsLwIMJUNeig5MCoDuJ/XF6j7xbYrPOkyiy0Uyd UylEF018cXdNC0Fszglf77Nps= X-Received: by 2002:a05:6a20:7349:b0:3b4:8bc6:138 with SMTP id adf61e73a8af0-3cc71c61e24mr3997412637.23.1786692781695; Fri, 14 Aug 2026 00:33:01 -0700 (PDT) X-Received: by 2002:a05:6a20:7349:b0:3b4:8bc6:138 with SMTP id adf61e73a8af0-3cc71c61e24mr3997327637.23.1786692781099; Fri, 14 Aug 2026 00:33:01 -0700 (PDT) Received: from hu-hardshar-blr.qualcomm.com (blr-bdr-fw-01_GlobalNAT_AllZones-Outside.qualcomm.com. [103.229.18.19]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-320ea804233sm1062280eec.26.2026.08.14.00.32.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 14 Aug 2026 00:33:00 -0700 (PDT) From: Hardeep Sharma Date: Fri, 14 Aug 2026 13:01:38 +0530 Subject: [PATCH v2 07/15] interconnect: qcom: Add Kuno interconnect provider driver Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260814-kuno-soc-support-v2-7-3079794f0f73@oss.qualcomm.com> References: <20260814-kuno-soc-support-v2-0-3079794f0f73@oss.qualcomm.com> In-Reply-To: <20260814-kuno-soc-support-v2-0-3079794f0f73@oss.qualcomm.com> To: Bjorn Andersson , Konrad Dybcio , Krzysztof Kozlowski , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Ulf Hansson , Michael Turquette , Stephen Boyd , Brian Masney , Taniya Das , Georgi Djakov , Bartosz Golaszewski , Linus Walleij , Thomas Gleixner , Radu Rendec , Robert Marko , Guru Das Srinagesh Cc: linux-arm-msm@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, linux-pm@vger.kernel.org, linux-clk@vger.kernel.org, linux-gpio@vger.kernel.org, Hardeep Sharma X-Mailer: b4 0.15-dev-47773 X-Developer-Signature: v=1; a=ed25519-sha256; t=1786692714; l=25953; i=hardeep.sharma@oss.qualcomm.com; s=20260204; h=from:subject:message-id; bh=wcrjG5rc8ExV+e5igJD2SN05FcTnc+axGJhELOfLN1k=; b=djmFfj3M9aw3SCAxAUTMS9eZ+7IxyW9sleu7gD5apV8WC/ErrFjNOvzLUF0axAbY/QUoUe4wZ AePk/65RNBFAOKeYfcjpgCQDZFxHgWTw93pQ3gST7prjfZsPJNxXM8d X-Developer-Key: i=hardeep.sharma@oss.qualcomm.com; a=ed25519; pk=IvwPDKA2xr6jWaCIBBY2ran/H0124QUzVfun+CtEikM= X-Authority-Analysis: v=2.4 cv=NsfhtcdJ c=1 sm=1 tr=0 ts=6a7ec4af cx=c_pps a=rz3CxIlbcmazkYymdCej/Q==:117 a=Ou0eQOY4+eZoSc0qltEV5Q==:17 a=IkcTkHD0fZMA:10 a=Sv0fKeRqtYgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=ZpdpYltYx_vBUK5n70dp:22 a=EUspDBNiAAAA:8 a=iVTsJ7-joaQjrYqFYAsA:9 a=QEXdDO2ut3YA:10 a=bFCP_H2QrGi7Okbo017w:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODE0MDA1OCBTYWx0ZWRfXxy2u+jAHUr1j Bz11rS1wDHlJUo9ygfShC9xIKms9gl8NoGz/N9ciSk/OzBgFsS09BV+44sKUzgGlFIxNgZzj981 V0qAZn1H7q7c+t+RxJf8Q0z9PShMh87+oQUYNzj+HV1yWj2fH/0aL2cpFf1s7T579uxGbTc0KZm swnbRBtUILJ2ChfnAZ2P42sbZSZepjUF1apiqbmHr/P1Atzsay/ShePLqctT1xjM8n0Bk5exIsV 6PEjqu09Ym3nruKY7W/+ax4FhBl2Wv5NFlxFpIJvSM6znm3cNjVs9xBwRhQxQpxkhjepaB4i+G6 ELMfkGW8pVJ+9d3wliOnDPjNXid6Agu8d2EgmeOz7eS/tIk4QEuK9Kl6m1h30XkVxPqalztb79f pC6HsWBvBqaqJzPywfX6NSpcsBnEg16d48ykkGPXK0Pl+Y+tHZfW6scYCsYtYm9/lN0em7D232C kuio2/EkaATmcHp2PSw== X-Proofpoint-ORIG-GUID: RR28YRFOXJhe6D6PdCHlf94U9wXj7RCl X-Proofpoint-GUID: RR28YRFOXJhe6D6PdCHlf94U9wXj7RCl X-Proofpoint-Spam-Info: AW1haW4tMjYwODE0MDA1OCBTYWx0ZWRfXxyu/ykc/UnAz WLNzcRuH/anZn7nr1uQoes4JSffmGMSxmViyz/fxi2NkcAbayy2hKY4sEHakgQaCOEATFuNa1dg wF/oBbyf4D9HwdfWiFl8vC4dLFXx+P8= 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-14_02,2026-08-12_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 lowpriorityscore=0 spamscore=0 bulkscore=0 adultscore=0 clxscore=1015 priorityscore=1501 malwarescore=0 suspectscore=0 impostorscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608140058 Add the interconnect provider driver for the Qualcomm Kuno SoC to enable bus bandwidth voting on the platform. This includes the aggre-noc and cnoc-main NoC instances with their associated BCM nodes. Signed-off-by: Hardeep Sharma Reviewed-by: Konrad Dybcio --- drivers/interconnect/qcom/Kconfig | 13 + drivers/interconnect/qcom/Makefile | 2 + drivers/interconnect/qcom/kuno.c | 977 +++++++++++++++++++++++++++++++++= ++++ 3 files changed, 992 insertions(+) diff --git a/drivers/interconnect/qcom/Kconfig b/drivers/interconnect/qcom/= Kconfig index b3187acf90b8..6e6b80f22dbd 100644 --- a/drivers/interconnect/qcom/Kconfig +++ b/drivers/interconnect/qcom/Kconfig @@ -47,6 +47,19 @@ config INTERCONNECT_QCOM_KAANAPALI This is a driver for the Qualcomm Network-on-Chip on kaanapali-based platforms. =20 +config INTERCONNECT_QCOM_KUNO + tristate "Qualcomm Kuno interconnect driver" + depends on INTERCONNECT_QCOM_RPMH_POSSIBLE + depends on ARM || COMPILE_TEST + select INTERCONNECT_QCOM_RPMH + select INTERCONNECT_QCOM_BCM_VOTER + default ARCH_QCOM + help + This is a driver for the Qualcomm Network-on-Chip on kuno-based + platforms. The interconnect provider collects and aggregates the + consumer bandwidth requests to satisfy constraints placed on the + Network-on-Chip performance states. + config INTERCONNECT_QCOM_MAILI tristate "Qualcomm MAILI interconnect driver" depends on INTERCONNECT_QCOM_RPMH_POSSIBLE diff --git a/drivers/interconnect/qcom/Makefile b/drivers/interconnect/qcom= /Makefile index 5f139a370bbe..a71478aaf591 100644 --- a/drivers/interconnect/qcom/Makefile +++ b/drivers/interconnect/qcom/Makefile @@ -8,6 +8,7 @@ qnoc-eliza-objs :=3D eliza.o qnoc-glymur-objs :=3D glymur.o qnoc-hawi-objs :=3D hawi.o qnoc-kaanapali-objs :=3D kaanapali.o +qnoc-kuno-objs :=3D kuno.o qnoc-maili-objs :=3D maili.o qnoc-milos-objs :=3D milos.o qnoc-msm8909-objs :=3D msm8909.o @@ -57,6 +58,7 @@ obj-$(CONFIG_INTERCONNECT_QCOM_ELIZA) +=3D qnoc-eliza.o obj-$(CONFIG_INTERCONNECT_QCOM_GLYMUR) +=3D qnoc-glymur.o obj-$(CONFIG_INTERCONNECT_QCOM_HAWI) +=3D qnoc-hawi.o obj-$(CONFIG_INTERCONNECT_QCOM_KAANAPALI) +=3D qnoc-kaanapali.o +obj-$(CONFIG_INTERCONNECT_QCOM_KUNO) +=3D qnoc-kuno.o obj-$(CONFIG_INTERCONNECT_QCOM_MAILI) +=3D qnoc-maili.o obj-$(CONFIG_INTERCONNECT_QCOM_MILOS) +=3D qnoc-milos.o obj-$(CONFIG_INTERCONNECT_QCOM_MSM8909) +=3D qnoc-msm8909.o diff --git a/drivers/interconnect/qcom/kuno.c b/drivers/interconnect/qcom/k= uno.c new file mode 100644 index 000000000000..9a5bd53e7ed9 --- /dev/null +++ b/drivers/interconnect/qcom/kuno.c @@ -0,0 +1,977 @@ +// SPDX-License-Identifier: GPL-2.0-only +/* + * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries. + */ + +#include +#include +#include +#include +#include +#include + +#include + +#include "bcm-voter.h" +#include "icc-rpmh.h" + +static struct qcom_icc_node qup0_core_slave =3D { + .name =3D "qup0_core_slave", + .channels =3D 1, + .buswidth =3D 4, + .num_links =3D 0, +}; + +static struct qcom_icc_node qhs_ahb2_phy =3D { + .name =3D "qhs_ahb2_phy", + .channels =3D 1, + .buswidth =3D 4, + .num_links =3D 0, +}; + +static struct qcom_icc_node qhs_aoss =3D { + .name =3D "qhs_aoss", + .channels =3D 1, + .buswidth =3D 4, + .num_links =3D 0, +}; + +static struct qcom_icc_node qhs_apss =3D { + .name =3D "qhs_apss", + .channels =3D 1, + .buswidth =3D 4, + .num_links =3D 0, +}; + +static struct qcom_icc_node qhs_audio =3D { + .name =3D "qhs_audio", + .channels =3D 1, + .buswidth =3D 4, + .num_links =3D 0, +}; + +static struct qcom_icc_node qhs_clk_ctl =3D { + .name =3D "qhs_clk_ctl", + .channels =3D 1, + .buswidth =3D 4, + .num_links =3D 0, +}; + +static struct qcom_icc_node qhs_cpr_cx =3D { + .name =3D "qhs_cpr_cx", + .channels =3D 1, + .buswidth =3D 4, + .num_links =3D 0, +}; + +static struct qcom_icc_node qhs_cpr_mxa =3D { + .name =3D "qhs_cpr_mxa", + .channels =3D 1, + .buswidth =3D 4, + .num_links =3D 0, +}; + +static struct qcom_icc_node qhs_cpr_mxc =3D { + .name =3D "qhs_cpr_mxc", + .channels =3D 1, + .buswidth =3D 4, + .num_links =3D 0, +}; + +static struct qcom_icc_node qhs_crypto_cfg =3D { + .name =3D "qhs_crypto_cfg", + .channels =3D 1, + .buswidth =3D 4, + .num_links =3D 0, +}; + +static struct qcom_icc_node qhs_emac0_cfg =3D { + .name =3D "qhs_emac0_cfg", + .channels =3D 1, + .buswidth =3D 4, + .num_links =3D 0, +}; + +static struct qcom_icc_node qhs_imem_cfg =3D { + .name =3D "qhs_imem_cfg", + .channels =3D 1, + .buswidth =3D 4, + .num_links =3D 0, +}; + +static struct qcom_icc_node qhs_ipa =3D { + .name =3D "qhs_ipa", + .channels =3D 1, + .buswidth =3D 4, + .num_links =3D 0, +}; + +static struct qcom_icc_node qhs_ipc_router =3D { + .name =3D "qhs_ipc_router", + .channels =3D 1, + .buswidth =3D 4, + .num_links =3D 0, +}; + +static struct qcom_icc_node qhs_mss_cfg =3D { + .name =3D "qhs_mss_cfg", + .channels =3D 1, + .buswidth =3D 4, + .num_links =3D 0, +}; + +static struct qcom_icc_node qhs_pcie0_cfg =3D { + .name =3D "qhs_pcie0_cfg", + .channels =3D 1, + .buswidth =3D 4, + .num_links =3D 0, +}; + +static struct qcom_icc_node qhs_pcie_rscc =3D { + .name =3D "qhs_pcie_rscc", + .channels =3D 1, + .buswidth =3D 4, + .num_links =3D 0, +}; + +static struct qcom_icc_node qhs_pdm =3D { + .name =3D "qhs_pdm", + .channels =3D 1, + .buswidth =3D 4, + .num_links =3D 0, +}; + +static struct qcom_icc_node qhs_pmu_wrapper_cfg =3D { + .name =3D "qhs_pmu_wrapper_cfg", + .channels =3D 1, + .buswidth =3D 4, + .num_links =3D 0, +}; + +static struct qcom_icc_node qhs_prng =3D { + .name =3D "qhs_prng", + .channels =3D 1, + .buswidth =3D 4, + .num_links =3D 0, +}; + +static struct qcom_icc_node qhs_qdss_cfg =3D { + .name =3D "qhs_qdss_cfg", + .channels =3D 1, + .buswidth =3D 4, + .num_links =3D 0, +}; + +static struct qcom_icc_node qhs_qpic =3D { + .name =3D "qhs_qpic", + .channels =3D 1, + .buswidth =3D 4, + .num_links =3D 0, +}; + +static struct qcom_icc_node qhs_qup0 =3D { + .name =3D "qhs_qup0", + .channels =3D 1, + .buswidth =3D 4, + .num_links =3D 0, +}; + +static struct qcom_icc_node qhs_sdc4 =3D { + .name =3D "qhs_sdc4", + .channels =3D 1, + .buswidth =3D 4, + .num_links =3D 0, +}; + +static struct qcom_icc_node qhs_spmi_vgi_coex =3D { + .name =3D "qhs_spmi_vgi_coex", + .channels =3D 1, + .buswidth =3D 4, + .num_links =3D 0, +}; + +static struct qcom_icc_node qhs_tcsr =3D { + .name =3D "qhs_tcsr", + .channels =3D 1, + .buswidth =3D 4, + .num_links =3D 0, +}; + +static struct qcom_icc_node qhs_tlmm =3D { + .name =3D "qhs_tlmm", + .channels =3D 1, + .buswidth =3D 4, + .num_links =3D 0, +}; + +static struct qcom_icc_node qhs_tme_cfg =3D { + .name =3D "qhs_tme_cfg", + .channels =3D 1, + .buswidth =3D 4, + .num_links =3D 0, +}; + +static struct qcom_icc_node qhs_usb3 =3D { + .name =3D "qhs_usb3", + .channels =3D 1, + .buswidth =3D 4, + .num_links =3D 0, +}; + +static struct qcom_icc_node qhs_vsense_ctrl_cfg =3D { + .name =3D "qhs_vsense_ctrl_cfg", + .channels =3D 1, + .buswidth =3D 4, + .num_links =3D 0, +}; + +static struct qcom_icc_node qss_anoc_throttle_cfg =3D { + .name =3D "qss_anoc_throttle_cfg", + .channels =3D 1, + .buswidth =3D 4, + .num_links =3D 0, +}; + +static struct qcom_icc_node qxs_boot_imem =3D { + .name =3D "qxs_boot_imem", + .channels =3D 1, + .buswidth =3D 8, + .num_links =3D 0, +}; + +static struct qcom_icc_node qxs_imem =3D { + .name =3D "qxs_imem", + .channels =3D 1, + .buswidth =3D 8, + .num_links =3D 0, +}; + +static struct qcom_icc_node xs_qdss_stm =3D { + .name =3D "xs_qdss_stm", + .channels =3D 1, + .buswidth =3D 4, + .num_links =3D 0, +}; + +static struct qcom_icc_node xs_sys_tcu_cfg =3D { + .name =3D "xs_sys_tcu_cfg", + .channels =3D 1, + .buswidth =3D 8, + .num_links =3D 0, +}; + +static struct qcom_icc_node qhs_lagg =3D { + .name =3D "qhs_lagg", + .channels =3D 1, + .buswidth =3D 4, + .num_links =3D 0, +}; + +static struct qcom_icc_node qhs_mccc_master =3D { + .name =3D "qhs_mccc_master", + .channels =3D 1, + .buswidth =3D 4, + .num_links =3D 0, +}; + +static struct qcom_icc_node ebi =3D { + .name =3D "ebi", + .channels =3D 1, + .buswidth =3D 4, + .num_links =3D 0, +}; + +static struct qcom_icc_node srvc_memnoc =3D { + .name =3D "srvc_memnoc", + .channels =3D 1, + .buswidth =3D 4, + .num_links =3D 0, +}; + +static struct qcom_icc_node xs_pcie_0 =3D { + .name =3D "xs_pcie_0", + .channels =3D 1, + .buswidth =3D 8, + .num_links =3D 0, +}; + +static struct qcom_icc_node qup0_core_master =3D { + .name =3D "qup0_core_master", + .channels =3D 1, + .buswidth =3D 4, + .num_links =3D 1, + .link_nodes =3D { &qup0_core_slave }, +}; + +static struct qcom_icc_node qnm_cnoc =3D { + .name =3D "qnm_cnoc", + .channels =3D 1, + .buswidth =3D 4, + .num_links =3D 2, + .link_nodes =3D { &qhs_lagg, &qhs_mccc_master }, +}; + +static struct qcom_icc_node llcc_mc =3D { + .name =3D "llcc_mc", + .channels =3D 1, + .buswidth =3D 4, + .num_links =3D 1, + .link_nodes =3D { &ebi }, +}; + +static struct qcom_icc_node qnm_memnoc_cfg =3D { + .name =3D "qnm_memnoc_cfg", + .channels =3D 1, + .buswidth =3D 4, + .num_links =3D 1, + .link_nodes =3D { &srvc_memnoc }, +}; + +static struct qcom_icc_node qnm_memnoc_pcie =3D { + .name =3D "qnm_memnoc_pcie", + .channels =3D 1, + .buswidth =3D 8, + .num_links =3D 1, + .link_nodes =3D { &xs_pcie_0 }, +}; + +static struct qcom_icc_node xm_ipa2pcie =3D { + .name =3D "xm_ipa2pcie", + .channels =3D 1, + .buswidth =3D 8, + .num_links =3D 1, + .link_nodes =3D { &xs_pcie_0 }, +}; + +static struct qcom_icc_node qns_ddrss_cfg =3D { + .name =3D "qns_ddrss_cfg", + .channels =3D 1, + .buswidth =3D 4, + .num_links =3D 1, + .link_nodes =3D { &qnm_cnoc }, +}; + +static struct qcom_icc_node qns_llcc =3D { + .name =3D "qns_llcc", + .channels =3D 1, + .buswidth =3D 16, + .num_links =3D 1, + .link_nodes =3D { &llcc_mc }, +}; + +static struct qcom_icc_node qns_pcie =3D { + .name =3D "qns_pcie", + .channels =3D 1, + .buswidth =3D 8, + .num_links =3D 1, + .link_nodes =3D { &qnm_memnoc_pcie }, +}; + +static struct qcom_icc_node qhm_pcie_rscc =3D { + .name =3D "qhm_pcie_rscc", + .channels =3D 1, + .buswidth =3D 4, + .num_links =3D 34, + .link_nodes =3D { &qhs_ahb2_phy, &qhs_aoss, + &qhs_apss, &qhs_audio, + &qhs_clk_ctl, &qhs_cpr_cx, + &qhs_cpr_mxa, &qhs_cpr_mxc, + &qhs_crypto_cfg, &qhs_emac0_cfg, + &qhs_imem_cfg, &qhs_ipa, + &qhs_ipc_router, &qhs_mss_cfg, + &qhs_pcie0_cfg, &qhs_pdm, + &qhs_pmu_wrapper_cfg, &qhs_prng, + &qhs_qdss_cfg, &qhs_qpic, + &qhs_qup0, &qhs_sdc4, + &qhs_spmi_vgi_coex, &qhs_tcsr, + &qhs_tlmm, &qhs_tme_cfg, + &qhs_usb3, &qhs_vsense_ctrl_cfg, + &qns_ddrss_cfg, &qss_anoc_throttle_cfg, + &qxs_boot_imem, &qxs_imem, + &xs_qdss_stm, &xs_sys_tcu_cfg }, +}; + +static struct qcom_icc_node qnm_memnoc_cnoc =3D { + .name =3D "qnm_memnoc_cnoc", + .channels =3D 1, + .buswidth =3D 8, + .num_links =3D 35, + .link_nodes =3D { &qhs_ahb2_phy, &qhs_aoss, + &qhs_apss, &qhs_audio, + &qhs_clk_ctl, &qhs_cpr_cx, + &qhs_cpr_mxa, &qhs_cpr_mxc, + &qhs_crypto_cfg, &qhs_emac0_cfg, + &qhs_imem_cfg, &qhs_ipa, + &qhs_ipc_router, &qhs_mss_cfg, + &qhs_pcie0_cfg, &qhs_pcie_rscc, + &qhs_pdm, &qhs_pmu_wrapper_cfg, + &qhs_prng, &qhs_qdss_cfg, + &qhs_qpic, &qhs_qup0, + &qhs_sdc4, &qhs_spmi_vgi_coex, + &qhs_tcsr, &qhs_tlmm, + &qhs_tme_cfg, &qhs_usb3, + &qhs_vsense_ctrl_cfg, &qns_ddrss_cfg, + &qss_anoc_throttle_cfg, &qxs_boot_imem, + &qxs_imem, &xs_qdss_stm, + &xs_sys_tcu_cfg }, +}; + +static struct qcom_icc_node qns_memnoc_cnoc =3D { + .name =3D "qns_memnoc_cnoc", + .channels =3D 1, + .buswidth =3D 8, + .num_links =3D 1, + .link_nodes =3D { &qnm_memnoc_cnoc }, +}; + +static struct qcom_icc_node alm_sys_tcu =3D { + .name =3D "alm_sys_tcu", + .channels =3D 1, + .buswidth =3D 8, + .num_links =3D 2, + .link_nodes =3D { &qns_llcc, &qns_memnoc_cnoc }, +}; + +static struct qcom_icc_node qnm_mdsp =3D { + .name =3D "qnm_mdsp", + .channels =3D 1, + .buswidth =3D 8, + .num_links =3D 3, + .link_nodes =3D { &qns_llcc, &qns_memnoc_cnoc, + &qns_pcie }, +}; + +static struct qcom_icc_node qnm_pcie =3D { + .name =3D "qnm_pcie", + .channels =3D 1, + .buswidth =3D 8, + .num_links =3D 2, + .link_nodes =3D { &qns_llcc, &qns_memnoc_cnoc }, +}; + +static struct qcom_icc_node qnm_snoc_sf =3D { + .name =3D "qnm_snoc_sf", + .channels =3D 1, + .buswidth =3D 8, + .num_links =3D 2, + .link_nodes =3D { &qns_llcc, &qns_memnoc_cnoc }, +}; + +static struct qcom_icc_node xm_apps0 =3D { + .name =3D "xm_apps0", + .channels =3D 1, + .buswidth =3D 16, + .num_links =3D 3, + .link_nodes =3D { &qns_llcc, &qns_memnoc_cnoc, + &qns_pcie }, +}; + +static struct qcom_icc_node qns_pcie_memnoc =3D { + .name =3D "qns_pcie_memnoc", + .channels =3D 1, + .buswidth =3D 8, + .num_links =3D 1, + .link_nodes =3D { &qnm_pcie }, +}; + +static struct qcom_icc_node qns_memnoc_sf =3D { + .name =3D "qns_memnoc_sf", + .channels =3D 1, + .buswidth =3D 8, + .num_links =3D 1, + .link_nodes =3D { &qnm_snoc_sf }, +}; + +static struct qcom_icc_node xm_pcie3_0 =3D { + .name =3D "xm_pcie3_0", + .channels =3D 1, + .buswidth =3D 8, + .num_links =3D 1, + .link_nodes =3D { &qns_pcie_memnoc }, +}; + +static struct qcom_icc_node qhm_cpucp =3D { + .name =3D "qhm_cpucp", + .channels =3D 1, + .buswidth =3D 4, + .num_links =3D 1, + .link_nodes =3D { &qns_memnoc_sf }, +}; + +static struct qcom_icc_node qnm_aggre_noc =3D { + .name =3D "qnm_aggre_noc", + .channels =3D 1, + .buswidth =3D 8, + .num_links =3D 2, + .link_nodes =3D { &qns_memnoc_sf, &xs_pcie_0 }, +}; + +static struct qcom_icc_node qnm_cnoc_datapath =3D { + .name =3D "qnm_cnoc_datapath", + .channels =3D 1, + .buswidth =3D 4, + .num_links =3D 2, + .link_nodes =3D { &qns_memnoc_sf, &xs_pcie_0 }, +}; + +static struct qcom_icc_node qxm_mss_nav_ce =3D { + .name =3D "qxm_mss_nav_ce", + .channels =3D 1, + .buswidth =3D 8, + .num_links =3D 2, + .link_nodes =3D { &qns_memnoc_sf, &xs_pcie_0 }, +}; + +static struct qcom_icc_node qxm_tme =3D { + .name =3D "qxm_tme", + .channels =3D 1, + .buswidth =3D 8, + .num_links =3D 2, + .link_nodes =3D { &qns_memnoc_sf, &xs_pcie_0 }, +}; + +static struct qcom_icc_node qns_a1noc =3D { + .name =3D "qns_a1noc", + .channels =3D 1, + .buswidth =3D 8, + .num_links =3D 1, + .link_nodes =3D { &qnm_aggre_noc }, +}; + +static struct qcom_icc_node qns_snoc_datapath =3D { + .name =3D "qns_snoc_datapath", + .channels =3D 1, + .buswidth =3D 4, + .num_links =3D 1, + .link_nodes =3D { &qnm_cnoc_datapath }, +}; + +static struct qcom_icc_node qhm_audio =3D { + .name =3D "qhm_audio", + .channels =3D 1, + .buswidth =3D 4, + .num_links =3D 1, + .link_nodes =3D { &qns_a1noc }, +}; + +static struct qcom_icc_node qhm_qdss_bam =3D { + .name =3D "qhm_qdss_bam", + .channels =3D 1, + .buswidth =3D 4, + .num_links =3D 1, + .link_nodes =3D { &qns_a1noc }, +}; + +static struct qcom_icc_node qhm_qpic =3D { + .name =3D "qhm_qpic", + .channels =3D 1, + .buswidth =3D 4, + .num_links =3D 1, + .link_nodes =3D { &qns_a1noc }, +}; + +static struct qcom_icc_node qhm_qup0 =3D { + .name =3D "qhm_qup0", + .channels =3D 1, + .buswidth =3D 4, + .num_links =3D 1, + .link_nodes =3D { &qns_a1noc }, +}; + +static struct qcom_icc_node qxm_crypto =3D { + .name =3D "qxm_crypto", + .channels =3D 1, + .buswidth =3D 8, + .num_links =3D 1, + .link_nodes =3D { &qns_a1noc }, +}; + +static struct qcom_icc_node qxm_ipa =3D { + .name =3D "qxm_ipa", + .channels =3D 1, + .buswidth =3D 8, + .num_links =3D 1, + .link_nodes =3D { &qns_a1noc }, +}; + +static struct qcom_icc_node xm_emac_0 =3D { + .name =3D "xm_emac_0", + .channels =3D 1, + .buswidth =3D 8, + .num_links =3D 1, + .link_nodes =3D { &qns_a1noc }, +}; + +static struct qcom_icc_node xm_qdss_etr0 =3D { + .name =3D "xm_qdss_etr0", + .channels =3D 1, + .buswidth =3D 8, + .num_links =3D 1, + .link_nodes =3D { &qns_a1noc }, +}; + +static struct qcom_icc_node xm_qdss_etr1 =3D { + .name =3D "xm_qdss_etr1", + .channels =3D 1, + .buswidth =3D 8, + .num_links =3D 1, + .link_nodes =3D { &qns_a1noc }, +}; + +static struct qcom_icc_node xm_sdc4 =3D { + .name =3D "xm_sdc4", + .channels =3D 1, + .buswidth =3D 8, + .num_links =3D 1, + .link_nodes =3D { &qns_a1noc }, +}; + +static struct qcom_icc_node xm_usb3 =3D { + .name =3D "xm_usb3", + .channels =3D 1, + .buswidth =3D 8, + .num_links =3D 1, + .link_nodes =3D { &qns_a1noc }, +}; + +static struct qcom_icc_node xm_qdss_dap =3D { + .name =3D "xm_qdss_dap", + .channels =3D 1, + .buswidth =3D 8, + .num_links =3D 36, + .link_nodes =3D { &qhs_ahb2_phy, &qhs_aoss, + &qhs_apss, &qhs_audio, + &qhs_clk_ctl, &qhs_cpr_cx, + &qhs_cpr_mxa, &qhs_cpr_mxc, + &qhs_crypto_cfg, &qhs_emac0_cfg, + &qhs_imem_cfg, &qhs_ipa, + &qhs_ipc_router, &qhs_mss_cfg, + &qhs_pcie0_cfg, &qhs_pcie_rscc, + &qhs_pdm, &qhs_pmu_wrapper_cfg, + &qhs_prng, &qhs_qdss_cfg, + &qhs_qpic, &qhs_qup0, + &qhs_sdc4, &qhs_spmi_vgi_coex, + &qhs_tcsr, &qhs_tlmm, + &qhs_tme_cfg, &qhs_usb3, + &qhs_vsense_ctrl_cfg, &qns_ddrss_cfg, + &qns_snoc_datapath, &qss_anoc_throttle_cfg, + &qxs_boot_imem, &qxs_imem, + &xs_qdss_stm, &xs_sys_tcu_cfg }, +}; + +static struct qcom_icc_bcm bcm_acv =3D { + .name =3D "ACV", + .enable_mask =3D 0x8, + .num_nodes =3D 1, + .nodes =3D { &ebi }, +}; + +static struct qcom_icc_bcm bcm_ce0 =3D { + .name =3D "CE0", + .num_nodes =3D 1, + .nodes =3D { &qxm_crypto }, +}; + +static struct qcom_icc_bcm bcm_cn0 =3D { + .name =3D "CN0", + .keepalive =3D true, + .enable_mask =3D 0x1, + .num_nodes =3D 39, + .nodes =3D { &qhm_pcie_rscc, &qnm_memnoc_cnoc, + &xm_qdss_dap, &qhs_ahb2_phy, + &qhs_aoss, &qhs_apss, + &qhs_audio, &qhs_clk_ctl, + &qhs_cpr_cx, &qhs_cpr_mxa, + &qhs_cpr_mxc, &qhs_crypto_cfg, + &qhs_emac0_cfg, &qhs_imem_cfg, + &qhs_ipa, &qhs_ipc_router, + &qhs_mss_cfg, &qhs_pcie0_cfg, + &qhs_pcie_rscc, &qhs_pdm, + &qhs_pmu_wrapper_cfg, &qhs_prng, + &qhs_qdss_cfg, &qhs_qpic, + &qhs_qup0, &qhs_sdc4, + &qhs_spmi_vgi_coex, &qhs_tcsr, + &qhs_tlmm, &qhs_tme_cfg, + &qhs_usb3, &qhs_vsense_ctrl_cfg, + &qns_ddrss_cfg, &qns_snoc_datapath, + &qss_anoc_throttle_cfg, &qxs_boot_imem, + &qxs_imem, &xs_qdss_stm, + &xs_sys_tcu_cfg }, +}; + +static struct qcom_icc_bcm bcm_mc0 =3D { + .name =3D "MC0", + .keepalive =3D true, + .num_nodes =3D 1, + .nodes =3D { &ebi }, +}; + +static struct qcom_icc_bcm bcm_qup0 =3D { + .name =3D "QUP0", + .vote_scale =3D 1, + .num_nodes =3D 1, + .nodes =3D { &qup0_core_slave }, +}; + +static struct qcom_icc_bcm bcm_sh0 =3D { + .name =3D "SH0", + .keepalive =3D true, + .num_nodes =3D 1, + .nodes =3D { &qns_llcc }, +}; + +static struct qcom_icc_bcm bcm_sh1 =3D { + .name =3D "SH1", + .enable_mask =3D 0x1, + .num_nodes =3D 2, + .nodes =3D { &qns_memnoc_cnoc, &qns_pcie }, +}; + +static struct qcom_icc_bcm bcm_sn0 =3D { + .name =3D "SN0", + .keepalive =3D true, + .num_nodes =3D 1, + .nodes =3D { &qns_memnoc_sf }, +}; + +static struct qcom_icc_bcm bcm_sn1 =3D { + .name =3D "SN1", + .enable_mask =3D 0x1, + .num_nodes =3D 1, + .nodes =3D { &xm_pcie3_0 }, +}; + +static struct qcom_icc_bcm bcm_sn2 =3D { + .name =3D "SN2", + .num_nodes =3D 2, + .nodes =3D { &qns_a1noc, &qnm_aggre_noc }, +}; + +static struct qcom_icc_bcm bcm_sn4 =3D { + .name =3D "SN4", + .num_nodes =3D 1, + .nodes =3D { &qxm_mss_nav_ce }, +}; + +static struct qcom_icc_bcm bcm_sn7 =3D { + .name =3D "SN7", + .num_nodes =3D 1, + .nodes =3D { &xs_pcie_0 }, +}; + +static struct qcom_icc_bcm * const aggre_noc_bcms[] =3D { + &bcm_ce0, +}; + +static struct qcom_icc_node * const aggre_noc_nodes[] =3D { + [MASTER_AUDIO] =3D &qhm_audio, + [MASTER_QDSS_BAM] =3D &qhm_qdss_bam, + [MASTER_QPIC] =3D &qhm_qpic, + [MASTER_QUP_0] =3D &qhm_qup0, + [MASTER_CRYPTO] =3D &qxm_crypto, + [MASTER_IPA] =3D &qxm_ipa, + [MASTER_EMAC] =3D &xm_emac_0, + [MASTER_QDSS_ETR] =3D &xm_qdss_etr0, + [MASTER_QDSS_ETR_1] =3D &xm_qdss_etr1, + [MASTER_SDCC_4] =3D &xm_sdc4, + [MASTER_USB3_0] =3D &xm_usb3, + [SLAVE_A1NOC_CFG] =3D &qns_a1noc, +}; + +static const struct qcom_icc_desc kuno_aggre_noc =3D { + .nodes =3D aggre_noc_nodes, + .num_nodes =3D ARRAY_SIZE(aggre_noc_nodes), + .bcms =3D aggre_noc_bcms, + .num_bcms =3D ARRAY_SIZE(aggre_noc_bcms), +}; + +static struct qcom_icc_bcm * const clk_virt_bcms[] =3D { + &bcm_qup0, +}; + +static struct qcom_icc_node * const clk_virt_nodes[] =3D { + [MASTER_QUP_CORE_0] =3D &qup0_core_master, + [SLAVE_QUP_CORE_0] =3D &qup0_core_slave, +}; + +static const struct qcom_icc_desc kuno_clk_virt =3D { + .nodes =3D clk_virt_nodes, + .num_nodes =3D ARRAY_SIZE(clk_virt_nodes), + .bcms =3D clk_virt_bcms, + .num_bcms =3D ARRAY_SIZE(clk_virt_bcms), +}; + +static struct qcom_icc_bcm * const cnoc_main_bcms[] =3D { + &bcm_cn0, +}; + +static struct qcom_icc_node * const cnoc_main_nodes[] =3D { + [MASTER_PCIE_RSCC] =3D &qhm_pcie_rscc, + [MASTER_GEM_NOC_CNOC] =3D &qnm_memnoc_cnoc, + [MASTER_QDSS_DAP] =3D &xm_qdss_dap, + [SLAVE_AHB2PHY] =3D &qhs_ahb2_phy, + [SLAVE_AOSS] =3D &qhs_aoss, + [SLAVE_APPSS] =3D &qhs_apss, + [SLAVE_AUDIO] =3D &qhs_audio, + [SLAVE_CLK_CTL] =3D &qhs_clk_ctl, + [SLAVE_RBCPR_CX_CFG] =3D &qhs_cpr_cx, + [SLAVE_RBCPR_MXA_CFG] =3D &qhs_cpr_mxa, + [SLAVE_RBCPR_MXC_CFG] =3D &qhs_cpr_mxc, + [SLAVE_CRYPTO_0_CFG] =3D &qhs_crypto_cfg, + [SLAVE_EMAC_CFG] =3D &qhs_emac0_cfg, + [SLAVE_IMEM_CFG] =3D &qhs_imem_cfg, + [SLAVE_IPA_CFG] =3D &qhs_ipa, + [SLAVE_IPC_ROUTER_CFG] =3D &qhs_ipc_router, + [SLAVE_CNOC_MSS] =3D &qhs_mss_cfg, + [SLAVE_PCIE_0_CFG] =3D &qhs_pcie0_cfg, + [SLAVE_PCIE_RSC_CFG] =3D &qhs_pcie_rscc, + [SLAVE_PDM] =3D &qhs_pdm, + [SLAVE_PMU_WRAPPER_CFG] =3D &qhs_pmu_wrapper_cfg, + [SLAVE_PRNG] =3D &qhs_prng, + [SLAVE_QDSS_CFG] =3D &qhs_qdss_cfg, + [SLAVE_QPIC] =3D &qhs_qpic, + [SLAVE_QUP_0] =3D &qhs_qup0, + [SLAVE_SDCC_4] =3D &qhs_sdc4, + [SLAVE_SPMI_VGI_COEX] =3D &qhs_spmi_vgi_coex, + [SLAVE_TCSR] =3D &qhs_tcsr, + [SLAVE_TLMM] =3D &qhs_tlmm, + [SLAVE_TME_CFG] =3D &qhs_tme_cfg, + [SLAVE_USB3] =3D &qhs_usb3, + [SLAVE_VSENSE_CTRL_CFG] =3D &qhs_vsense_ctrl_cfg, + [SLAVE_DDRSS_CFG] =3D &qns_ddrss_cfg, + [SLAVE_SNOC_CNOC] =3D &qns_snoc_datapath, + [SLAVE_ANOC_THROTTLE_CFG] =3D &qss_anoc_throttle_cfg, + [SLAVE_BOOT_IMEM] =3D &qxs_boot_imem, + [SLAVE_IMEM] =3D &qxs_imem, + [SLAVE_QDSS_STM] =3D &xs_qdss_stm, + [SLAVE_TCU] =3D &xs_sys_tcu_cfg, +}; + +static const struct qcom_icc_desc kuno_cnoc_main =3D { + .nodes =3D cnoc_main_nodes, + .num_nodes =3D ARRAY_SIZE(cnoc_main_nodes), + .bcms =3D cnoc_main_bcms, + .num_bcms =3D ARRAY_SIZE(cnoc_main_bcms), +}; + +static struct qcom_icc_node * const dc_noc_nodes[] =3D { + [MASTER_CNOC_DC_NOC] =3D &qnm_cnoc, + [SLAVE_LAGG_CFG] =3D &qhs_lagg, + [SLAVE_MCCC_MASTER] =3D &qhs_mccc_master, +}; + +static const struct qcom_icc_desc kuno_dc_noc =3D { + .nodes =3D dc_noc_nodes, + .num_nodes =3D ARRAY_SIZE(dc_noc_nodes), +}; + +static struct qcom_icc_bcm * const mc_virt_bcms[] =3D { + &bcm_acv, + &bcm_mc0, +}; + +static struct qcom_icc_node * const mc_virt_nodes[] =3D { + [MASTER_LLCC] =3D &llcc_mc, + [SLAVE_EBI1] =3D &ebi, +}; + +static const struct qcom_icc_desc kuno_mc_virt =3D { + .nodes =3D mc_virt_nodes, + .num_nodes =3D ARRAY_SIZE(mc_virt_nodes), + .bcms =3D mc_virt_bcms, + .num_bcms =3D ARRAY_SIZE(mc_virt_bcms), +}; + +static struct qcom_icc_bcm * const mem_noc_bcms[] =3D { + &bcm_sh0, + &bcm_sh1, +}; + +static struct qcom_icc_node * const mem_noc_nodes[] =3D { + [MASTER_SYS_TCU] =3D &alm_sys_tcu, + [MASTER_MSS_PROC] =3D &qnm_mdsp, + [MASTER_GEM_NOC_CFG] =3D &qnm_memnoc_cfg, + [MASTER_ANOC_PCIE_GEM_NOC] =3D &qnm_pcie, + [MASTER_SNOC_SF_MEM_NOC] =3D &qnm_snoc_sf, + [MASTER_APPSS_PROC] =3D &xm_apps0, + [SLAVE_LLCC] =3D &qns_llcc, + [SLAVE_GEM_NOC_CNOC] =3D &qns_memnoc_cnoc, + [SLAVE_MEM_NOC_PCIE_SNOC] =3D &qns_pcie, + [SLAVE_SERVICE_GEM_NOC] =3D &srvc_memnoc, +}; + +static const struct qcom_icc_desc kuno_mem_noc =3D { + .nodes =3D mem_noc_nodes, + .num_nodes =3D ARRAY_SIZE(mem_noc_nodes), + .bcms =3D mem_noc_bcms, + .num_bcms =3D ARRAY_SIZE(mem_noc_bcms), +}; + +static struct qcom_icc_bcm * const pcie_anoc_bcms[] =3D { + &bcm_sn1, +}; + +static struct qcom_icc_node * const pcie_anoc_nodes[] =3D { + [MASTER_PCIE_0] =3D &xm_pcie3_0, + [SLAVE_ANOC_PCIE_GEM_NOC] =3D &qns_pcie_memnoc, +}; + +static const struct qcom_icc_desc kuno_pcie_anoc =3D { + .nodes =3D pcie_anoc_nodes, + .num_nodes =3D ARRAY_SIZE(pcie_anoc_nodes), + .bcms =3D pcie_anoc_bcms, + .num_bcms =3D ARRAY_SIZE(pcie_anoc_bcms), +}; + +static struct qcom_icc_bcm * const system_noc_bcms[] =3D { + &bcm_sn0, + &bcm_sn2, + &bcm_sn4, + &bcm_sn7, +}; + +static struct qcom_icc_node * const system_noc_nodes[] =3D { + [MASTER_CPUCP] =3D &qhm_cpucp, + [MASTER_ANOC_SNOC] =3D &qnm_aggre_noc, + [MASTER_CNOC_SNOC] =3D &qnm_cnoc_datapath, + [MASTER_GEM_NOC_PCIE_SNOC] =3D &qnm_memnoc_pcie, + [MASTER_MSS_NAV] =3D &qxm_mss_nav_ce, + [MASTER_TME] =3D &qxm_tme, + [MASTER_IPA_PCIE] =3D &xm_ipa2pcie, + [SLAVE_SNOC_MEM_NOC_SF] =3D &qns_memnoc_sf, + [SLAVE_PCIE_0] =3D &xs_pcie_0, +}; + +static const struct qcom_icc_desc kuno_system_noc =3D { + .nodes =3D system_noc_nodes, + .num_nodes =3D ARRAY_SIZE(system_noc_nodes), + .bcms =3D system_noc_bcms, + .num_bcms =3D ARRAY_SIZE(system_noc_bcms), +}; + +static const struct of_device_id qnoc_of_match[] =3D { + { .compatible =3D "qcom,kuno-aggre-noc", .data =3D &kuno_aggre_noc }, + { .compatible =3D "qcom,kuno-clk-virt", .data =3D &kuno_clk_virt }, + { .compatible =3D "qcom,kuno-cnoc-main", .data =3D &kuno_cnoc_main }, + { .compatible =3D "qcom,kuno-dc-noc", .data =3D &kuno_dc_noc }, + { .compatible =3D "qcom,kuno-mc-virt", .data =3D &kuno_mc_virt }, + { .compatible =3D "qcom,kuno-mem-noc", .data =3D &kuno_mem_noc }, + { .compatible =3D "qcom,kuno-pcie-anoc", .data =3D &kuno_pcie_anoc }, + { .compatible =3D "qcom,kuno-system-noc", .data =3D &kuno_system_noc }, + { } +}; +MODULE_DEVICE_TABLE(of, qnoc_of_match); + +static struct platform_driver qnoc_driver =3D { + .probe =3D qcom_icc_rpmh_probe, + .remove =3D qcom_icc_rpmh_remove, + .driver =3D { + .name =3D "qnoc-kuno", + .of_match_table =3D qnoc_of_match, + .sync_state =3D icc_sync_state, + }, +}; +module_platform_driver(qnoc_driver); + +MODULE_DESCRIPTION("Kuno NoC driver"); +MODULE_LICENSE("GPL"); --=20 2.43.0 From nobody Tue Sep 29 01:19:00 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 C1D0541A55A for ; Fri, 14 Aug 2026 07:33:15 +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=1786692803; cv=none; b=hFwe9wFlxWszZptN+uhgHd2va2WywT4cEvqUwo0b8580a0i7Fs6W59aAgUtshs2i2Xncb2yAc1cvl0NuZ2KQfXHj5nAISOe6Ub8kH2mrrFUZhgXw+Q/ae6X62CC4qRfnb9w1hyzqmXNYWq6SBzhdWvfP7JSvzr3G9IT2GGd8Vr4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786692803; c=relaxed/simple; bh=4z/M2eUF++qMVVESopEVCO5xHLKHISN/jqlSOg71SV4=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=dV80zy4L7e+enjnYs65CUXmFAfXCguLy2PK38+7TWb10vKRvWW2UqlQHP7/NtIvbdVe47aWu1iSTpDWe2WTq2jvUUJYP5rBHvB3925FmO/Ckq4zAYrLAqLtwzyIXICfdvq16N+YNXoMNT32wVVSJ/nTHJOl+7Anjq4EQ8LZUqWs= 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=JO7d7EFR; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=ZJX4ryXt; 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="JO7d7EFR"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="ZJX4ryXt" 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 67E4QYGK669314 for ; Fri, 14 Aug 2026 07:33:11 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= A3v6CEl22R3ZSvcqUczYoW5Tyuq2qb91XkxugMVwZ7o=; b=JO7d7EFRu2glBHAw bAN6yPdczbHuZT1pSDgP9hlRmEqT6vOP87+s8dHg4552v7Tk12oQLe0lIqbF4eKM op+GKvuYKB930gzHJ6FFgNUaBYrN+6lNPQJZih9uHF0xsuFfopszmdtxghveuzSe hgfC4jWrQsut9KLyUIJdFiyWKgoutmhpI7yCaQ1gUYaRUCBoe63lBNjHxHa43A/5 fzysoF61a8zX/XmeAowlHubC3SrUHYe6Zi7suXXBP5Ly5q3DtG2VxR3/Ze2hVHQ2 zWbBRU/2DtMYNstHb+mhw10DjMJw/b9p2FXY7wWP0mjywQCbB0PXYdNo0FXzQdkM w/WPcg== Received: from mail-pj1-f70.google.com (mail-pj1-f70.google.com [209.85.216.70]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4g1h1uua8t-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 14 Aug 2026 07:33:10 +0000 (GMT) Received: by mail-pj1-f70.google.com with SMTP id 98e67ed59e1d1-38e8e864ef0so1105665a91.0 for ; Fri, 14 Aug 2026 00:33:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1786692790; x=1787297590; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=A3v6CEl22R3ZSvcqUczYoW5Tyuq2qb91XkxugMVwZ7o=; b=ZJX4ryXtAEghn+R46jGvq936F2ElKD/9vZ0A7Nkxx9x5YhrVSRpG4cxBqH5ZlDl0Q9 EFIcU9qxdov9TUNI0JR6jFxhmpdHSj0v6rOEImQe+B5QkD68lBEj+E8OtOUzSTjqp7LD tgDt23wUFWbhwBSQqCI3NdV0wlsVpBss5oXM6gAP97aC3kE/3XGxzi1Iz0m5E7Nzyg7D g6w6bqUb2ZSMqJXQMfDHgf2kBqViTd0WRM7JLE77M38pIOMMVepTqEgbWYRoBFz3zhDs 9JgUvsBBkSy89tHsm13vYm866z9cc7/QkN8I1DdE2Ce1rWOFISkTbkMbMmTBeHt4ZyXK GC2Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1786692790; x=1787297590; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=A3v6CEl22R3ZSvcqUczYoW5Tyuq2qb91XkxugMVwZ7o=; b=mnfUgCcF4baQvOeRdhGU1iGItm6OChl7tf5+9R8uyOD0sgRKNPWrTIdrn3mzy4qFxy ndJYJ34SrOGkR+RS5UBctB3EI4dcoNKByPlVTQSfVCMZkNarseASLDH2uiGFmTmz0IZp rBM62jqiYnOaSaZPYP2nvmU2SUlXhCnS74JbQu7ku0UO3AKIpttQk/R9eeNNSLCugW0c KurIHuwfNCJepOIWSJ1yxgjVe3NeyiBvNdjHeUMKEvJZmujiFpG/+lZyot4xJ5O2P4cg UenEVs/9uVNzUCACFwaqon0uR7B1Oj7QA3hjHZ+A6h26Gy1xpJeAfQjz3+D3jL13aE9h tUJw== X-Forwarded-Encrypted: i=1; AHgh+RoRA5qiulftsnwyEVtwQzRU/LxWiTLxUkr6BU0CvwMX/Ne/CAn52MhPvW1uWHhTJD3PxNAifek9uonrxxQ=@vger.kernel.org X-Gm-Message-State: AOJu0YwY/8TAWp1kgBEMOTVwq0W1KK7spWft31997PH0MY2uKgoAJfmo 7Z1YVvSDLPXwHfzKzFTSDW/88muvtIfyOmSaLKSGzzg+JII7PjFC/VtfeLZ3F5UwAP9r5I7EDet Sa3pl+F+bxnL1NcvDp/SDpIuwrNDIxc30YAnYsYGIAA3BjSQHGDveHCbBZfWxKb2rKoo= X-Gm-Gg: AR+sD102s8p8UbTjE0JSlRCFx1B04PV/Sj1MWRdZkliDwrG3GRTUFli65Far1WbidCn iZBsPG+FgwYwdEPsUHkOFEq6Njy4p5/waLkvJOOgzaA+o7EnaYI2RczCuxGjAficOIv8sHUCjre fGV3u6gY1A4zzSLHntpUyNFkGBcKFYXjsfGmCLw9sJu4f92j8FzXpDoCYMPQP0RfzBEDABsnFEp ju9Z+9A/w4yp8RYc02PCfRe21Oh0ca6Xppurwfs3v+kkeyviGKNydD0LFoThILo621lpMHdW1WN rhFFAMz9T25t9Pg3lSXRknZgrI8RjRpf74VQutebRS+ogFfCi8QrrgxBCUypZ7aOePli5C8yDFA gA/9Cu/D+XhwO3rbK9jAUiwMPD8UzNisp3cTqPl5VEm7coY5pBl6QMaFI5lRHLzbQRnKZ/ZOb8a 26Bz0G/gTyCDfnKJXXGktpyAM= X-Received: by 2002:a17:90b:1f88:b0:392:c868:35af with SMTP id 98e67ed59e1d1-3933bd46d96mr4390036a91.20.1786692789844; Fri, 14 Aug 2026 00:33:09 -0700 (PDT) X-Received: by 2002:a17:90b:1f88:b0:392:c868:35af with SMTP id 98e67ed59e1d1-3933bd46d96mr4389986a91.20.1786692789380; Fri, 14 Aug 2026 00:33:09 -0700 (PDT) Received: from hu-hardshar-blr.qualcomm.com (blr-bdr-fw-01_GlobalNAT_AllZones-Outside.qualcomm.com. [103.229.18.19]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-320ea804233sm1062280eec.26.2026.08.14.00.33.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 14 Aug 2026 00:33:08 -0700 (PDT) From: Hardeep Sharma Date: Fri, 14 Aug 2026 13:01:39 +0530 Subject: [PATCH v2 08/15] dt-bindings: pinctrl: qcom: Add Kuno TLMM Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260814-kuno-soc-support-v2-8-3079794f0f73@oss.qualcomm.com> References: <20260814-kuno-soc-support-v2-0-3079794f0f73@oss.qualcomm.com> In-Reply-To: <20260814-kuno-soc-support-v2-0-3079794f0f73@oss.qualcomm.com> To: Bjorn Andersson , Konrad Dybcio , Krzysztof Kozlowski , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Ulf Hansson , Michael Turquette , Stephen Boyd , Brian Masney , Taniya Das , Georgi Djakov , Bartosz Golaszewski , Linus Walleij , Thomas Gleixner , Radu Rendec , Robert Marko , Guru Das Srinagesh Cc: linux-arm-msm@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, linux-pm@vger.kernel.org, linux-clk@vger.kernel.org, linux-gpio@vger.kernel.org, Hardeep Sharma X-Mailer: b4 0.15-dev-47773 X-Developer-Signature: v=1; a=ed25519-sha256; t=1786692714; l=3960; i=hardeep.sharma@oss.qualcomm.com; s=20260204; h=from:subject:message-id; bh=4z/M2eUF++qMVVESopEVCO5xHLKHISN/jqlSOg71SV4=; b=hEeDgEgfigIgPHtEobpT5LzskiygxdZVnX2CdaOAWLjSjBFijGbnfdypOdmfi+V70J0wZrgYV 9Uxtp4FCfLTAxs6dYTuBNUJPLrrVOKEgljY70GNM4h2fQK31poTO2zu X-Developer-Key: i=hardeep.sharma@oss.qualcomm.com; a=ed25519; pk=IvwPDKA2xr6jWaCIBBY2ran/H0124QUzVfun+CtEikM= X-Proofpoint-GUID: 9JDpKvUs5c9CnEaAGbj5nNAdfjJWcsgn X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODE0MDA1OCBTYWx0ZWRfXyv7yP8GlMTVm 9dkdHOa41i36V7F9Vr+LCPz2qchVCVnX3Yfoonrr2H4tzATnlYSzK/0GIraxiTBUOO5e+QK7MBr /NpGhySnZUT/fWw//74R4EHgIeiEO5WBjUUIfs6/FLjTZXNC6h6LseEb66evTJPY9vSitgXLOBt OEQpR+P3BhMT2Onf/sUXrxKCunEu0EY4A0MW3Fx7Y3Rk+gBYW612XSeVQhco0POQMmk9wotGs5n QXOKakbUqTQ/xnuuasrroFr0c3jEydn7AWOA+F1YT7RgcpC7jcOAlj1xkDVb7jZFP5esmVvhg9+ 3o6ga4Pi6ow6MXcng7mjvsBsYUI3VO6Zg6HBk90uSz2+5ZPLyddDitlWWgpqVCzE8/bi8SOYpTC /8G+jB4DR3bSuQTqLOg7V4kfjuB/frUW4dQGSGa64+piPv2lhJrOIp3OupQ84LzRNd3wbvClQEl IuHyOH1G5FPTB+7trdA== X-Proofpoint-ORIG-GUID: 9JDpKvUs5c9CnEaAGbj5nNAdfjJWcsgn X-Authority-Analysis: v=2.4 cv=HMjz0Itv c=1 sm=1 tr=0 ts=6a7ec4b6 cx=c_pps a=0uOsjrqzRL749jD1oC5vDA==:117 a=Ou0eQOY4+eZoSc0qltEV5Q==:17 a=IkcTkHD0fZMA:10 a=Sv0fKeRqtYgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=gowsoOTTUOVcmtlkKump:22 a=gEfo2CItAAAA:8 a=EUspDBNiAAAA:8 a=CaveSyEksWnKhASb3GUA:9 a=QEXdDO2ut3YA:10 a=mQ_c8vxmzFEMiUWkPHU9:22 a=sptkURWiP4Gy88Gu7hUp:22 X-Proofpoint-Spam-Info: AW1haW4tMjYwODE0MDA1OCBTYWx0ZWRfX+sHeH+tHDpzN Pu1vmR9Fe8Vze19R1MHxtlXDhI8DxH8OWIfNZP0HePe/jVFT/VVP9RPWQ4LY4AHoGgLUK1UN6pr MqhUNfWqRDTAkdGAInbPxWK2/5nfaFI= 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-14_02,2026-08-12_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 bulkscore=0 spamscore=0 phishscore=0 priorityscore=1501 suspectscore=0 clxscore=1015 impostorscore=0 adultscore=0 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608140058 Add device tree bindings for the Top Level Mode Multiplexer (TLMM) pin controller block found on the Qualcomm Kuno platform. Reviewed-by: Krzysztof Kozlowski Signed-off-by: Hardeep Sharma --- .../bindings/pinctrl/qcom,kuno-tlmm.yaml | 109 +++++++++++++++++= ++++ 1 file changed, 109 insertions(+) diff --git a/Documentation/devicetree/bindings/pinctrl/qcom,kuno-tlmm.yaml = b/Documentation/devicetree/bindings/pinctrl/qcom,kuno-tlmm.yaml new file mode 100644 index 000000000000..6db65d2e1c23 --- /dev/null +++ b/Documentation/devicetree/bindings/pinctrl/qcom,kuno-tlmm.yaml @@ -0,0 +1,109 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/pinctrl/qcom,kuno-tlmm.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Qualcomm Technologies, Inc. Kuno TLMM block + +maintainers: + - Hardeep Sharma + +description: + Top Level Mode Multiplexer pin controller in Qualcomm Kuno SoC. + +allOf: + - $ref: /schemas/pinctrl/qcom,tlmm-common.yaml# + +properties: + compatible: + const: qcom,kuno-tlmm + + reg: + maxItems: 1 + + interrupts: + maxItems: 1 + + gpio-reserved-ranges: + minItems: 1 + maxItems: 55 + + gpio-line-names: + maxItems: 110 + +patternProperties: + "-state$": + oneOf: + - $ref: "#/$defs/qcom-kuno-tlmm-state" + - patternProperties: + "-pins$": + $ref: "#/$defs/qcom-kuno-tlmm-state" + additionalProperties: false + +$defs: + qcom-kuno-tlmm-state: + type: object + description: + Pinctrl node's client devices use subnodes for desired pin configura= tion. + Client device subnodes use below standard properties. + $ref: qcom,tlmm-common.yaml#/$defs/qcom-tlmm-state + unevaluatedProperties: false + + properties: + pins: + description: + List of gpio pins affected by the properties specified in this + subnode. + items: + pattern: "^gpio([0-9]|[1-9][0-9]|10[0-9])$" + minItems: 1 + maxItems: 36 + + function: + description: + Specify the alternative function to be configured for the specif= ied + pins. + enum: [ gpio, audio_ref_clk, coex_uart, ebi2_lcd_a, + ebi2_lcd_cs, ebi2_lcd_reset, ebi2_lcd_te, emac_mdc, emac_m= dio, + emac_pps_in, emac_ptp_aux, emac_ptp_pps, gcc_gp1_clk, + gcc_gp2_clk, gcc_gp3_clk, mi2s0_data0, mi2s0_data1, mi2s0_= sck, + mi2s0_ws, mi2s1_data0, mi2s1_data1, mi2s1_sck, mi2s1_ws, + mi2s_mclk, nav_gpio, pci_e_rst, + pcie_clkreq_n, pll_bist_sync, pll_clk_aux, qdss_cti_trig0, + qdss_cti_trig1, qdss_gpio_traceclk, qdss_gpio_tracectl, + qup0_se0, qup0_se1, qup0_se2, qup0_se3_mira, qup0_se3_mirb, + qup0_se4, sdc4_clk, sdc4_cmd, + sdc4_data, sdc4_tb_trig, sgmii_phy_intr, spmi_coex_clk, + spmi_coex_data, spmi_vgi_hwevent, uim1_clk, uim1_data, + uim1_present, uim1_reset, usb2phy_ac_en ] + + required: + - pins + +required: + - compatible + - reg + +unevaluatedProperties: false + +examples: + - | + #include + + tlmm: pinctrl@f000000 { + compatible =3D "qcom,kuno-tlmm"; + reg =3D <0x0f000000 0x400000>; + interrupts =3D ; + gpio-controller; + #gpio-cells =3D <2>; + gpio-ranges =3D <&tlmm 0 0 110>; + interrupt-controller; + #interrupt-cells =3D <2>; + + spmi-state { + pins =3D "gpio78", "gpio79"; + function =3D "spmi_vgi_hwevent"; + }; + }; +... --=20 2.43.0 From nobody Tue Sep 29 01:19:00 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 A7DC83EA968 for ; Fri, 14 Aug 2026 07:33:23 +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=1786692816; cv=none; b=RxswtL8F+PJLqHzymmKV3Ip8kGyF21o5JyKbUKINfVtIui4SFySptG+rLFmcl91xZ31QZJFSbbGuYfCl+UwKvfN3Rm7g0p1hg+D7jpZmzWoPTevEATxeLSFXCbQuddHBjVYy4MCTcs3nK+q5ZWOsJQ6TC1dIWm06LQJb8D42WmY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786692816; c=relaxed/simple; bh=aXWpR9RFXpy9ud1Dns2lQygbdcCe3sMTa3o62RhIi0M=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=tG3IYsl/LU04SxrguGBbxoXoEr4cFUzaBXLa3uVW/ZVA3sNEu+0nSr0f5OVx5pnewXjrU3if+hy+iDkfbuwCpmcKiXtYmjsmvmmRC4ep97J6XCAdH8k+Gmhdv0ju5QIYNhHm0njZ7UT4vtA8h/8wfL0JDQms0wCJCDJQNMW2fZg= 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=mQRCEUQt; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=Iojjg1/z; 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="mQRCEUQt"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="Iojjg1/z" Received: from pps.filterd (m0279868.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 67E4QcX4509953 for ; Fri, 14 Aug 2026 07:33:20 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= x5vJI2qJH2lLpq70iJNQR3nSA73Yk8o+xPkD1glMQXQ=; b=mQRCEUQtidTT+p/E BFhmM3RYpvqsEwBaf52BIfPfBqoUu6guKEfkJLtAX/MAAazL2+KsQWjdx1vvI58o JaWXQ639iCMocOdq+xZ6qjuy5+aOXRc+jr+NUYG4eUwyI9FUMGjRHRBXirl+/kqc QNsQ0aCPjl1q/T3GwebnGEQdCnkdRNrboIMGPrjhr0Mzz5HsILhB6CgqFFoMJiFe aLLpt1FA5qJgDYhaDxXmOTrSAqAZFt6s3VTc4QVwPijNzFuX9lcYQW0/q8ZFLeAh a/3iKM2thmKDyZz/1EMd3FAg42LeEU36HzttUQ17/obMIMypkIOn2i3seTVNriqX sesobA== 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 4g1fg3usgy-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 14 Aug 2026 07:33:19 +0000 (GMT) Received: by mail-pj1-f72.google.com with SMTP id 98e67ed59e1d1-38f0fe57470so1947070a91.0 for ; Fri, 14 Aug 2026 00:33:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1786692799; x=1787297599; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=x5vJI2qJH2lLpq70iJNQR3nSA73Yk8o+xPkD1glMQXQ=; b=Iojjg1/zRhiF1/XKqVGOmuEmAFonhHTWwBtAd66S0uX0AXiZtxEwSovYv/1iiFhlzR 02zjN2E1KfNRw1WASPjKTzA+vJz06NrWk0wjHEpcvi+SQXxZ73EoYXX269uIBS/9mSdt 7APP1bzFJQvhIfB/EvNSxqCKRd61s4Ieit1ff99krnAmo+4/a/PuqrqwouMa5kFP72lu sYF7mM/TCvAYpQfoggD8lxRabR/rcJ+85eENVa2giyHNhYi/7T/PqRDBiG0tcbdWeqfX H6Y2AlLIHuwHWPOxSSQlx/zXkRe4sifZ903o8URvhnrE85i1tvne0u87V82GhhdBmo8q ekug== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1786692799; x=1787297599; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=x5vJI2qJH2lLpq70iJNQR3nSA73Yk8o+xPkD1glMQXQ=; b=IaId6uPLSPuUKcArolg6kobVeWYdUioJt2npzk1B7HejaypXMdFQZYIhiX++FYCIs2 Wyzh5dpiS4e3CEouXFW+HTmgD/N6Pn7/v8DWIkYQ5uOBbqeObF8resVqopAKPxyPi1ZP QVlPKu0e8rC+L395OSbIVfvhX2LqcgIjlxnHlZIBbjpRAJfDpMYooI21biM34hC3s0Yh zj05nZpRO3jGuN/cGlPbxv6Qt3KWn7rbNB0/HLyfyqMjUgFn2FroTgg0VixDO02TA2WR iP6B6RqGCSGHpP49to47KVe361dT3kujezszJXB+OqhwPC+e8p8ceQoQO6mwfPZfQKRc 3JBA== X-Forwarded-Encrypted: i=1; AHgh+RoLfUhJIN1UhvASfOFUu4DpzqNeIAbbyYeM3fRDEHj8I4zB3EdkgDyXW2lZMl/N419ZL0MQjfhhVJ5LwWg=@vger.kernel.org X-Gm-Message-State: AOJu0Yw3++fpjTzENoTKsuXfaqxe6E0XnK8ObL5YWgMdss1K5RFQokrk X3tvcZDol/d9ihDmuDyrnFycqDneS3JGp99ABk025gn4Uj1gcVpQgNMwG4GBRYjZJqcXWRTB02z 9u2Oe8Mbm4aip+l8baXluD1RUvqPhaTr8oE2YeMIQV38vgYMYvw5HopsIMDBKdIJiPSQ= X-Gm-Gg: AR+sD11OV719CN4A01eRqLquHjfXVNUYXyko5/AhYG40MIwdKBRYGt7EqW6sNQViFeZ Nw1WkWc+cNmLhe1xKrW2Z5S7JFPkj2x6+wKhjWF+JTa7MJx/SsKJnVFo5fd2fs6+VpQoluxVGaz lsjoUAPQFKMz5o1nOIiNnUubiykErPm81N2AoJ6xyI7vJE7bU9x6S1NuXF+0CVi3UYbEGr9mIEK ll+qxXGTGW7LvlHRvQ5A1mXylinNlXEhPwbEiqe4+skX90KK962fThJKZsPph8SmMHt4mpKJurD php6imxx1vsffZM9fnyCUTYlyzhZSc10CDh2QJOK1owk6Ni92GcTLiD1kM/cmS5tOMJ0lIWJg22 CM5OOSNUKVRaphEAHuoG192K/+AHt5vvYyHreb+RmVqvufCbYM0spH5hCp1UawpTJ23dxQjMFnJ rn+Wfv4yDQago3VZRdJmVqG+g= X-Received: by 2002:a17:90b:5445:b0:386:ca4b:16a9 with SMTP id 98e67ed59e1d1-3933b0d5e25mr3003604a91.16.1786692798396; Fri, 14 Aug 2026 00:33:18 -0700 (PDT) X-Received: by 2002:a17:90b:5445:b0:386:ca4b:16a9 with SMTP id 98e67ed59e1d1-3933b0d5e25mr3003542a91.16.1786692797694; Fri, 14 Aug 2026 00:33:17 -0700 (PDT) Received: from hu-hardshar-blr.qualcomm.com (blr-bdr-fw-01_GlobalNAT_AllZones-Outside.qualcomm.com. [103.229.18.19]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-320ea804233sm1062280eec.26.2026.08.14.00.33.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 14 Aug 2026 00:33:17 -0700 (PDT) From: Hardeep Sharma Date: Fri, 14 Aug 2026 13:01:40 +0530 Subject: [PATCH v2 09/15] pinctrl: qcom: Add Kuno pinctrl driver Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260814-kuno-soc-support-v2-9-3079794f0f73@oss.qualcomm.com> References: <20260814-kuno-soc-support-v2-0-3079794f0f73@oss.qualcomm.com> In-Reply-To: <20260814-kuno-soc-support-v2-0-3079794f0f73@oss.qualcomm.com> To: Bjorn Andersson , Konrad Dybcio , Krzysztof Kozlowski , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Ulf Hansson , Michael Turquette , Stephen Boyd , Brian Masney , Taniya Das , Georgi Djakov , Bartosz Golaszewski , Linus Walleij , Thomas Gleixner , Radu Rendec , Robert Marko , Guru Das Srinagesh Cc: linux-arm-msm@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, linux-pm@vger.kernel.org, linux-clk@vger.kernel.org, linux-gpio@vger.kernel.org, Hardeep Sharma X-Mailer: b4 0.15-dev-47773 X-Developer-Signature: v=1; a=ed25519-sha256; t=1786692714; l=29217; i=hardeep.sharma@oss.qualcomm.com; s=20260204; h=from:subject:message-id; bh=aXWpR9RFXpy9ud1Dns2lQygbdcCe3sMTa3o62RhIi0M=; b=2wya2YYUH226pEJURqjBggGg3K5Y+STwebqxUW54cDLNcPd2hZMvpTLVuuxFkYiN+XnLhfbUe 1B12g07qVbaDkaYJuQCAj76e2HF8T5H2qnC3RxeEBPeQ6QopndIgpn7 X-Developer-Key: i=hardeep.sharma@oss.qualcomm.com; a=ed25519; pk=IvwPDKA2xr6jWaCIBBY2ran/H0124QUzVfun+CtEikM= X-Authority-Analysis: v=2.4 cv=NsfhtcdJ c=1 sm=1 tr=0 ts=6a7ec4bf cx=c_pps a=RP+M6JBNLl+fLTcSJhASfg==:117 a=Ou0eQOY4+eZoSc0qltEV5Q==:17 a=IkcTkHD0fZMA:10 a=Sv0fKeRqtYgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=ZpdpYltYx_vBUK5n70dp:22 a=EUspDBNiAAAA:8 a=CsXzbs-S2857TcPiuzUA:9 a=QEXdDO2ut3YA:10 a=O8hF6Hzn-FEA:10 a=iS9zxrgQBfv6-_F4QbHw:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODE0MDA1OCBTYWx0ZWRfX9nAW1Ybbqo+x 7YMENUmedbTQBHQg/pQ+CjxSI4GMpfGK4R/VhvrpcB3XTDC29QvZjHJDJkdHxZ8HsQC1ACabbTH RTUjoRN4BmJfaIuOgRky1XtjFtSs1m00Llcx6OCUfHX9M3FJg0t2gKXmI3NuGVyA/3HJEtpVsIm 7glUaG0cdzh1tZzbPTbJOy8yBPWrXolnCRKtAz0Hf8cdUv2jT2afJC1ZFawgfd4p8l31Pjqm0Ge sinXQDHjpLCiA/IwTZ3C/zL07RrDPPQvVeMrLQhx+TUKwZDKpEwJWJ6rA74PQZx0bD0+dyJC/BH +Wd96Goi3cKW2DXObaV9iT4XflixQGW0FFYSWSB8HOBLYxTttwB9Umqcf1r1Rle6/qn4PFI8AY8 ZbxoX/p8rLVk7ZaslwiTq1z4l6XrOtfSARAuFDcBUNy8UdZY+4sg/F6GObFnsxO6zy8CKNbor2w bzxvEyo+f1jnEDVBgxg== X-Proofpoint-ORIG-GUID: Y4otGvxy1Qx_FFvvMQqfxAvdjzyqrMEO X-Proofpoint-GUID: Y4otGvxy1Qx_FFvvMQqfxAvdjzyqrMEO X-Proofpoint-Spam-Info: AW1haW4tMjYwODE0MDA1OCBTYWx0ZWRfX3dNk2Eq2i179 Zoodq/r6gfJivMaeft+ksSKllL8T7IBV4yx14neLLcez30ueZOLI2AUubAiqhoNSZwAkMJeqHWD gIajUS1sNOOM8yGstMPk9p4HecmtXkA= 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-14_02,2026-08-12_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 lowpriorityscore=0 spamscore=0 bulkscore=0 adultscore=0 clxscore=1015 priorityscore=1501 malwarescore=0 suspectscore=0 impostorscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608140058 Add the TLMM pinctrl driver for the Qualcomm Kuno platform, supporting 110 GPIOs and their pin multiplexing, pin configuration and gpiolib interface through the common pinctrl-msm driver. Signed-off-by: Hardeep Sharma --- drivers/pinctrl/qcom/Kconfig.msm | 11 + drivers/pinctrl/qcom/Makefile | 1 + drivers/pinctrl/qcom/pinctrl-kuno.c | 796 ++++++++++++++++++++++++++++++++= ++++ 3 files changed, 808 insertions(+) diff --git a/drivers/pinctrl/qcom/Kconfig.msm b/drivers/pinctrl/qcom/Kconfi= g.msm index 42875457b5fc..9b95bf8ecb22 100644 --- a/drivers/pinctrl/qcom/Kconfig.msm +++ b/drivers/pinctrl/qcom/Kconfig.msm @@ -153,6 +153,17 @@ config PINCTRL_KAANAPALI Qualcomm Technologies Inc TLMM block found on the Qualcomm Technologies Inc Kaanapali platform. =20 +config PINCTRL_KUNO + tristate "Qualcomm Kuno pin controller driver" + depends on ARM || COMPILE_TEST + default ARCH_QCOM + help + This is the pinctrl, pinmux, pinconf and gpiolib driver for the + Qualcomm Technologies Inc TLMM block found on the Qualcomm + Technologies Inc Kuno platform. + Say Y here to compile statically, or M here to compile it as a + module. If unsure, say N. + config PINCTRL_MAILI tristate "Qualcomm Technologies Inc Maili pin controller driver" depends on ARM64 || COMPILE_TEST diff --git a/drivers/pinctrl/qcom/Makefile b/drivers/pinctrl/qcom/Makefile index 43ecd246afe8..f003add981ab 100644 --- a/drivers/pinctrl/qcom/Makefile +++ b/drivers/pinctrl/qcom/Makefile @@ -17,6 +17,7 @@ obj-$(CONFIG_PINCTRL_IPQ6018) +=3D pinctrl-ipq6018.o obj-$(CONFIG_PINCTRL_IPQ9574) +=3D pinctrl-ipq9574.o obj-$(CONFIG_PINCTRL_IPQ9650) +=3D pinctrl-ipq9650.o obj-$(CONFIG_PINCTRL_KAANAPALI) +=3D pinctrl-kaanapali.o +obj-$(CONFIG_PINCTRL_KUNO) +=3D pinctrl-kuno.o obj-$(CONFIG_PINCTRL_MAILI) +=3D pinctrl-maili.o obj-$(CONFIG_PINCTRL_MSM8226) +=3D pinctrl-msm8226.o obj-$(CONFIG_PINCTRL_MSM8660) +=3D pinctrl-msm8660.o diff --git a/drivers/pinctrl/qcom/pinctrl-kuno.c b/drivers/pinctrl/qcom/pin= ctrl-kuno.c new file mode 100644 index 000000000000..3211c8a4054f --- /dev/null +++ b/drivers/pinctrl/qcom/pinctrl-kuno.c @@ -0,0 +1,796 @@ +// SPDX-License-Identifier: GPL-2.0-only +/* + * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries. + */ + +#include +#include +#include + +#include "pinctrl-msm.h" + +#define REG_BASE 0x100000 +#define REG_SIZE 0x1000 +#define PINGROUP(id, f1, f2, f3, f4, f5, f6, f7, f8, f9) \ + { \ + .grp =3D PINCTRL_PINGROUP("gpio" #id, \ + gpio##id##_pins, \ + ARRAY_SIZE(gpio##id##_pins)), \ + .funcs =3D (int[]){ \ + msm_mux_gpio, /* gpio mode */ \ + msm_mux_##f1, \ + msm_mux_##f2, \ + msm_mux_##f3, \ + msm_mux_##f4, \ + msm_mux_##f5, \ + msm_mux_##f6, \ + msm_mux_##f7, \ + msm_mux_##f8, \ + msm_mux_##f9 \ + }, \ + .nfuncs =3D 10, \ + .ctl_reg =3D REG_BASE + REG_SIZE * id, \ + .io_reg =3D REG_BASE + 0x4 + REG_SIZE * id, \ + .intr_cfg_reg =3D REG_BASE + 0x8 + REG_SIZE * id, \ + .intr_status_reg =3D REG_BASE + 0xc + REG_SIZE * id, \ + .mux_bit =3D 2, \ + .pull_bit =3D 0, \ + .drv_bit =3D 6, \ + .oe_bit =3D 9, \ + .in_bit =3D 0, \ + .out_bit =3D 1, \ + .intr_enable_bit =3D 0, \ + .intr_status_bit =3D 0, \ + .intr_target_bit =3D 5, \ + .intr_target_kpss_val =3D 3, \ + .intr_raw_status_bit =3D 4, \ + .intr_polarity_bit =3D 1, \ + .intr_detection_bit =3D 2, \ + .intr_detection_width =3D 2, \ + } + +static const struct pinctrl_pin_desc kuno_pins[] =3D { + PINCTRL_PIN(0, "GPIO_0"), + PINCTRL_PIN(1, "GPIO_1"), + PINCTRL_PIN(2, "GPIO_2"), + PINCTRL_PIN(3, "GPIO_3"), + PINCTRL_PIN(4, "GPIO_4"), + PINCTRL_PIN(5, "GPIO_5"), + PINCTRL_PIN(6, "GPIO_6"), + PINCTRL_PIN(7, "GPIO_7"), + PINCTRL_PIN(8, "GPIO_8"), + PINCTRL_PIN(9, "GPIO_9"), + PINCTRL_PIN(10, "GPIO_10"), + PINCTRL_PIN(11, "GPIO_11"), + PINCTRL_PIN(12, "GPIO_12"), + PINCTRL_PIN(13, "GPIO_13"), + PINCTRL_PIN(14, "GPIO_14"), + PINCTRL_PIN(15, "GPIO_15"), + PINCTRL_PIN(16, "GPIO_16"), + PINCTRL_PIN(17, "GPIO_17"), + PINCTRL_PIN(18, "GPIO_18"), + PINCTRL_PIN(19, "GPIO_19"), + PINCTRL_PIN(20, "GPIO_20"), + PINCTRL_PIN(21, "GPIO_21"), + PINCTRL_PIN(22, "GPIO_22"), + PINCTRL_PIN(23, "GPIO_23"), + PINCTRL_PIN(24, "GPIO_24"), + PINCTRL_PIN(25, "GPIO_25"), + PINCTRL_PIN(26, "GPIO_26"), + PINCTRL_PIN(27, "GPIO_27"), + PINCTRL_PIN(28, "GPIO_28"), + PINCTRL_PIN(29, "GPIO_29"), + PINCTRL_PIN(30, "GPIO_30"), + PINCTRL_PIN(31, "GPIO_31"), + PINCTRL_PIN(32, "GPIO_32"), + PINCTRL_PIN(33, "GPIO_33"), + PINCTRL_PIN(34, "GPIO_34"), + PINCTRL_PIN(35, "GPIO_35"), + PINCTRL_PIN(36, "GPIO_36"), + PINCTRL_PIN(37, "GPIO_37"), + PINCTRL_PIN(38, "GPIO_38"), + PINCTRL_PIN(39, "GPIO_39"), + PINCTRL_PIN(40, "GPIO_40"), + PINCTRL_PIN(41, "GPIO_41"), + PINCTRL_PIN(42, "GPIO_42"), + PINCTRL_PIN(43, "GPIO_43"), + PINCTRL_PIN(44, "GPIO_44"), + PINCTRL_PIN(45, "GPIO_45"), + PINCTRL_PIN(46, "GPIO_46"), + PINCTRL_PIN(47, "GPIO_47"), + PINCTRL_PIN(48, "GPIO_48"), + PINCTRL_PIN(49, "GPIO_49"), + PINCTRL_PIN(50, "GPIO_50"), + PINCTRL_PIN(51, "GPIO_51"), + PINCTRL_PIN(52, "GPIO_52"), + PINCTRL_PIN(53, "GPIO_53"), + PINCTRL_PIN(54, "GPIO_54"), + PINCTRL_PIN(55, "GPIO_55"), + PINCTRL_PIN(56, "GPIO_56"), + PINCTRL_PIN(57, "GPIO_57"), + PINCTRL_PIN(58, "GPIO_58"), + PINCTRL_PIN(59, "GPIO_59"), + PINCTRL_PIN(60, "GPIO_60"), + PINCTRL_PIN(61, "GPIO_61"), + PINCTRL_PIN(62, "GPIO_62"), + PINCTRL_PIN(63, "GPIO_63"), + PINCTRL_PIN(64, "GPIO_64"), + PINCTRL_PIN(65, "GPIO_65"), + PINCTRL_PIN(66, "GPIO_66"), + PINCTRL_PIN(67, "GPIO_67"), + PINCTRL_PIN(68, "GPIO_68"), + PINCTRL_PIN(69, "GPIO_69"), + PINCTRL_PIN(70, "GPIO_70"), + PINCTRL_PIN(71, "GPIO_71"), + PINCTRL_PIN(72, "GPIO_72"), + PINCTRL_PIN(73, "GPIO_73"), + PINCTRL_PIN(74, "GPIO_74"), + PINCTRL_PIN(75, "GPIO_75"), + PINCTRL_PIN(76, "GPIO_76"), + PINCTRL_PIN(77, "GPIO_77"), + PINCTRL_PIN(78, "GPIO_78"), + PINCTRL_PIN(79, "GPIO_79"), + PINCTRL_PIN(80, "GPIO_80"), + PINCTRL_PIN(81, "GPIO_81"), + PINCTRL_PIN(82, "GPIO_82"), + PINCTRL_PIN(83, "GPIO_83"), + PINCTRL_PIN(84, "GPIO_84"), + PINCTRL_PIN(85, "GPIO_85"), + PINCTRL_PIN(86, "GPIO_86"), + PINCTRL_PIN(87, "GPIO_87"), + PINCTRL_PIN(88, "GPIO_88"), + PINCTRL_PIN(89, "GPIO_89"), + PINCTRL_PIN(90, "GPIO_90"), + PINCTRL_PIN(91, "GPIO_91"), + PINCTRL_PIN(92, "GPIO_92"), + PINCTRL_PIN(93, "GPIO_93"), + PINCTRL_PIN(94, "GPIO_94"), + PINCTRL_PIN(95, "GPIO_95"), + PINCTRL_PIN(96, "GPIO_96"), + PINCTRL_PIN(97, "GPIO_97"), + PINCTRL_PIN(98, "GPIO_98"), + PINCTRL_PIN(99, "GPIO_99"), + PINCTRL_PIN(100, "GPIO_100"), + PINCTRL_PIN(101, "GPIO_101"), + PINCTRL_PIN(102, "GPIO_102"), + PINCTRL_PIN(103, "GPIO_103"), + PINCTRL_PIN(104, "GPIO_104"), + PINCTRL_PIN(105, "GPIO_105"), + PINCTRL_PIN(106, "GPIO_106"), + PINCTRL_PIN(107, "GPIO_107"), + PINCTRL_PIN(108, "GPIO_108"), + PINCTRL_PIN(109, "GPIO_109"), +}; + +#define DECLARE_MSM_GPIO_PINS(pin) \ + static const unsigned int gpio##pin##_pins[] =3D { pin } +DECLARE_MSM_GPIO_PINS(0); +DECLARE_MSM_GPIO_PINS(1); +DECLARE_MSM_GPIO_PINS(2); +DECLARE_MSM_GPIO_PINS(3); +DECLARE_MSM_GPIO_PINS(4); +DECLARE_MSM_GPIO_PINS(5); +DECLARE_MSM_GPIO_PINS(6); +DECLARE_MSM_GPIO_PINS(7); +DECLARE_MSM_GPIO_PINS(8); +DECLARE_MSM_GPIO_PINS(9); +DECLARE_MSM_GPIO_PINS(10); +DECLARE_MSM_GPIO_PINS(11); +DECLARE_MSM_GPIO_PINS(12); +DECLARE_MSM_GPIO_PINS(13); +DECLARE_MSM_GPIO_PINS(14); +DECLARE_MSM_GPIO_PINS(15); +DECLARE_MSM_GPIO_PINS(16); +DECLARE_MSM_GPIO_PINS(17); +DECLARE_MSM_GPIO_PINS(18); +DECLARE_MSM_GPIO_PINS(19); +DECLARE_MSM_GPIO_PINS(20); +DECLARE_MSM_GPIO_PINS(21); +DECLARE_MSM_GPIO_PINS(22); +DECLARE_MSM_GPIO_PINS(23); +DECLARE_MSM_GPIO_PINS(24); +DECLARE_MSM_GPIO_PINS(25); +DECLARE_MSM_GPIO_PINS(26); +DECLARE_MSM_GPIO_PINS(27); +DECLARE_MSM_GPIO_PINS(28); +DECLARE_MSM_GPIO_PINS(29); +DECLARE_MSM_GPIO_PINS(30); +DECLARE_MSM_GPIO_PINS(31); +DECLARE_MSM_GPIO_PINS(32); +DECLARE_MSM_GPIO_PINS(33); +DECLARE_MSM_GPIO_PINS(34); +DECLARE_MSM_GPIO_PINS(35); +DECLARE_MSM_GPIO_PINS(36); +DECLARE_MSM_GPIO_PINS(37); +DECLARE_MSM_GPIO_PINS(38); +DECLARE_MSM_GPIO_PINS(39); +DECLARE_MSM_GPIO_PINS(40); +DECLARE_MSM_GPIO_PINS(41); +DECLARE_MSM_GPIO_PINS(42); +DECLARE_MSM_GPIO_PINS(43); +DECLARE_MSM_GPIO_PINS(44); +DECLARE_MSM_GPIO_PINS(45); +DECLARE_MSM_GPIO_PINS(46); +DECLARE_MSM_GPIO_PINS(47); +DECLARE_MSM_GPIO_PINS(48); +DECLARE_MSM_GPIO_PINS(49); +DECLARE_MSM_GPIO_PINS(50); +DECLARE_MSM_GPIO_PINS(51); +DECLARE_MSM_GPIO_PINS(52); +DECLARE_MSM_GPIO_PINS(53); +DECLARE_MSM_GPIO_PINS(54); +DECLARE_MSM_GPIO_PINS(55); +DECLARE_MSM_GPIO_PINS(56); +DECLARE_MSM_GPIO_PINS(57); +DECLARE_MSM_GPIO_PINS(58); +DECLARE_MSM_GPIO_PINS(59); +DECLARE_MSM_GPIO_PINS(60); +DECLARE_MSM_GPIO_PINS(61); +DECLARE_MSM_GPIO_PINS(62); +DECLARE_MSM_GPIO_PINS(63); +DECLARE_MSM_GPIO_PINS(64); +DECLARE_MSM_GPIO_PINS(65); +DECLARE_MSM_GPIO_PINS(66); +DECLARE_MSM_GPIO_PINS(67); +DECLARE_MSM_GPIO_PINS(68); +DECLARE_MSM_GPIO_PINS(69); +DECLARE_MSM_GPIO_PINS(70); +DECLARE_MSM_GPIO_PINS(71); +DECLARE_MSM_GPIO_PINS(72); +DECLARE_MSM_GPIO_PINS(73); +DECLARE_MSM_GPIO_PINS(74); +DECLARE_MSM_GPIO_PINS(75); +DECLARE_MSM_GPIO_PINS(76); +DECLARE_MSM_GPIO_PINS(77); +DECLARE_MSM_GPIO_PINS(78); +DECLARE_MSM_GPIO_PINS(79); +DECLARE_MSM_GPIO_PINS(80); +DECLARE_MSM_GPIO_PINS(81); +DECLARE_MSM_GPIO_PINS(82); +DECLARE_MSM_GPIO_PINS(83); +DECLARE_MSM_GPIO_PINS(84); +DECLARE_MSM_GPIO_PINS(85); +DECLARE_MSM_GPIO_PINS(86); +DECLARE_MSM_GPIO_PINS(87); +DECLARE_MSM_GPIO_PINS(88); +DECLARE_MSM_GPIO_PINS(89); +DECLARE_MSM_GPIO_PINS(90); +DECLARE_MSM_GPIO_PINS(91); +DECLARE_MSM_GPIO_PINS(92); +DECLARE_MSM_GPIO_PINS(93); +DECLARE_MSM_GPIO_PINS(94); +DECLARE_MSM_GPIO_PINS(95); +DECLARE_MSM_GPIO_PINS(96); +DECLARE_MSM_GPIO_PINS(97); +DECLARE_MSM_GPIO_PINS(98); +DECLARE_MSM_GPIO_PINS(99); +DECLARE_MSM_GPIO_PINS(100); +DECLARE_MSM_GPIO_PINS(101); +DECLARE_MSM_GPIO_PINS(102); +DECLARE_MSM_GPIO_PINS(103); +DECLARE_MSM_GPIO_PINS(104); +DECLARE_MSM_GPIO_PINS(105); +DECLARE_MSM_GPIO_PINS(106); +DECLARE_MSM_GPIO_PINS(107); +DECLARE_MSM_GPIO_PINS(108); +DECLARE_MSM_GPIO_PINS(109); + +enum kuno_functions { + msm_mux_gpio, + msm_mux_audio_ref_clk, + msm_mux_coex_uart, + msm_mux_ebi2_lcd_a, + msm_mux_ebi2_lcd_cs, + msm_mux_ebi2_lcd_reset, + msm_mux_ebi2_lcd_te, + msm_mux_emac_mdc, + msm_mux_emac_mdio, + msm_mux_emac_pps_in, + msm_mux_emac_ptp_aux, + msm_mux_emac_ptp_pps, + msm_mux_gcc_gp1_clk, + msm_mux_gcc_gp2_clk, + msm_mux_gcc_gp3_clk, + msm_mux_mi2s0_data0, + msm_mux_mi2s0_data1, + msm_mux_mi2s0_sck, + msm_mux_mi2s0_ws, + msm_mux_mi2s1_data0, + msm_mux_mi2s1_data1, + msm_mux_mi2s1_sck, + msm_mux_mi2s1_ws, + msm_mux_mi2s_mclk, + msm_mux_nav_gpio, + msm_mux_pci_e_rst, + msm_mux_pcie_clkreq_n, + msm_mux_pll_bist_sync, + msm_mux_pll_clk_aux, + msm_mux_qdss_cti_trig0, + msm_mux_qdss_cti_trig1, + msm_mux_qdss_gpio_traceclk, + msm_mux_qdss_gpio_tracectl, + msm_mux_qup0_se0, + msm_mux_qup0_se1, + msm_mux_qup0_se2, + msm_mux_qup0_se3_mira, + msm_mux_qup0_se3_mirb, + msm_mux_qup0_se4, + msm_mux_sdc4_clk, + msm_mux_sdc4_cmd, + msm_mux_sdc4_data, + msm_mux_sdc4_tb_trig, + msm_mux_sgmii_phy_intr, + msm_mux_spmi_coex_clk, + msm_mux_spmi_coex_data, + msm_mux_spmi_vgi_hwevent, + msm_mux_uim1_clk, + msm_mux_uim1_data, + msm_mux_uim1_present, + msm_mux_uim1_reset, + msm_mux_usb2phy_ac_en, + msm_mux_NA, +}; + +static const char * const gpio_groups[] =3D { + "gpio0", "gpio1", "gpio2", "gpio3", "gpio4", "gpio5", "gpio6", "gpio7", + "gpio8", "gpio9", "gpio10", "gpio11", "gpio12", "gpio13", "gpio14", + "gpio15", "gpio16", "gpio17", "gpio18", "gpio19", "gpio20", "gpio21", + "gpio22", "gpio23", "gpio24", "gpio25", "gpio26", "gpio27", "gpio28", + "gpio29", "gpio30", "gpio31", "gpio32", "gpio33", "gpio34", "gpio35", + "gpio36", "gpio37", "gpio38", "gpio39", "gpio40", "gpio41", "gpio42", + "gpio43", "gpio44", "gpio45", "gpio46", "gpio47", "gpio48", "gpio49", + "gpio50", "gpio51", "gpio52", "gpio53", "gpio54", "gpio55", "gpio56", + "gpio57", "gpio58", "gpio59", "gpio60", "gpio61", "gpio62", "gpio63", + "gpio64", "gpio65", "gpio66", "gpio67", "gpio68", "gpio69", "gpio70", + "gpio71", "gpio72", "gpio73", "gpio74", "gpio75", "gpio76", "gpio77", + "gpio78", "gpio79", "gpio80", "gpio81", "gpio82", "gpio83", "gpio84", + "gpio85", "gpio86", "gpio87", "gpio88", "gpio89", "gpio90", "gpio91", + "gpio92", "gpio93", "gpio94", "gpio95", "gpio96", "gpio97", "gpio98", + "gpio99", "gpio100", "gpio101", "gpio102", "gpio103", "gpio104", + "gpio105", "gpio106", "gpio107", "gpio108", "gpio109", +}; + +static const char * const audio_ref_clk_groups[] =3D { + "gpio62", +}; + +static const char * const coex_uart_groups[] =3D { + "gpio44", "gpio45", +}; + +static const char * const ebi2_lcd_a_groups[] =3D { + "gpio93", +}; + +static const char * const ebi2_lcd_cs_groups[] =3D { + "gpio94", +}; + +static const char * const ebi2_lcd_reset_groups[] =3D { + "gpio89", +}; + +static const char * const ebi2_lcd_te_groups[] =3D { + "gpio88", +}; + +static const char * const emac_mdc_groups[] =3D { + "gpio98", +}; + +static const char * const emac_mdio_groups[] =3D { + "gpio99", +}; + +static const char * const emac_pps_in_groups[] =3D { + "gpio88", +}; + +static const char * const emac_ptp_aux_groups[] =3D { + "gpio93", "gpio94", +}; + +static const char * const emac_ptp_pps_groups[] =3D { + "gpio93", "gpio94", +}; + +static const char * const gcc_gp1_clk_groups[] =3D { + "gpio34", +}; + +static const char * const gcc_gp2_clk_groups[] =3D { + "gpio46", +}; + +static const char * const gcc_gp3_clk_groups[] =3D { + "gpio35", +}; + +static const char * const mi2s0_data0_groups[] =3D { + "gpio13", +}; + +static const char * const mi2s0_data1_groups[] =3D { + "gpio14", +}; + +static const char * const mi2s0_sck_groups[] =3D { + "gpio15", +}; + +static const char * const mi2s0_ws_groups[] =3D { + "gpio12", +}; + +static const char * const mi2s1_data0_groups[] =3D { + "gpio17", +}; + +static const char * const mi2s1_data1_groups[] =3D { + "gpio18", +}; + +static const char * const mi2s1_sck_groups[] =3D { + "gpio19", +}; + +static const char * const mi2s1_ws_groups[] =3D { + "gpio16", +}; + +static const char * const mi2s_mclk_groups[] =3D { + "gpio62", +}; + +static const char * const nav_gpio_groups[] =3D { + "gpio31", "gpio32", "gpio33", +}; + +static const char * const pci_e_rst_groups[] =3D { + "gpio57", +}; + +static const char * const pcie_clkreq_n_groups[] =3D { + "gpio56", +}; + +static const char * const pll_bist_sync_groups[] =3D { + "gpio47", +}; + +static const char * const pll_clk_aux_groups[] =3D { + "gpio54", +}; + +static const char * const qdss_cti_trig0_groups[] =3D { + "gpio16", "gpio17", "gpio54", "gpio55", "gpio60", "gpio84", "gpio101", + "gpio102", +}; + +static const char * const qdss_cti_trig1_groups[] =3D { + "gpio16", "gpio17", "gpio54", "gpio55", "gpio65", "gpio65", "gpio66", + "gpio66", "gpio101", "gpio102", +}; + +static const char * const qdss_gpio_traceclk_groups[] =3D { + "gpio8", +}; + +static const char * const qdss_gpio_tracectl_groups[] =3D { + "gpio9", +}; + +static const char * const qup0_se0_groups[] =3D { + "gpio14", "gpio18", "gpio19", "gpio48", "gpio49", "gpio92", "gpio101", +}; + +static const char * const qup0_se1_groups[] =3D { + "gpio14", "gpio63", "gpio64", "gpio65", "gpio66", "gpio92", "gpio101", +}; + +static const char * const qup0_se2_groups[] =3D { + "gpio4", "gpio5", "gpio6", "gpio7", "gpio14", "gpio92", "gpio101", +}; + +static const char * const qup0_se3_mira_groups[] =3D { + "gpio8", "gpio9", "gpio14", "gpio16", "gpio17", "gpio92", "gpio101", +}; + +static const char * const qup0_se3_mirb_groups[] =3D { + "gpio12", "gpio13", "gpio14", "gpio15", +}; + +static const char * const qup0_se4_groups[] =3D { + "gpio10", "gpio11", "gpio14", "gpio80", "gpio81", "gpio92", "gpio101", +}; + +static const char * const sdc4_clk_groups[] =3D { + "gpio103", +}; + +static const char * const sdc4_cmd_groups[] =3D { + "gpio102", +}; + +static const char * const sdc4_data_groups[] =3D { + "gpio104", "gpio105", "gpio106", "gpio107", +}; + +static const char * const sdc4_tb_trig_groups[] =3D { + "gpio101", +}; + +static const char * const sgmii_phy_intr_groups[] =3D { + "gpio91", +}; + +static const char * const spmi_coex_clk_groups[] =3D { + "gpio76", +}; + +static const char * const spmi_coex_data_groups[] =3D { + "gpio75", +}; + +static const char * const spmi_vgi_hwevent_groups[] =3D { + "gpio78", "gpio79", +}; + +static const char * const uim1_clk_groups[] =3D { + "gpio3", +}; + +static const char * const uim1_data_groups[] =3D { + "gpio0", +}; + +static const char * const uim1_present_groups[] =3D { + "gpio1", +}; + +static const char * const uim1_reset_groups[] =3D { + "gpio2", +}; + +static const char * const usb2phy_ac_en_groups[] =3D { + "gpio90", +}; + +static const struct pinfunction kuno_functions[] =3D { + MSM_GPIO_PIN_FUNCTION(gpio), + MSM_PIN_FUNCTION(audio_ref_clk), + MSM_PIN_FUNCTION(coex_uart), + MSM_PIN_FUNCTION(ebi2_lcd_a), + MSM_PIN_FUNCTION(ebi2_lcd_cs), + MSM_PIN_FUNCTION(ebi2_lcd_reset), + MSM_PIN_FUNCTION(ebi2_lcd_te), + MSM_PIN_FUNCTION(emac_mdc), + MSM_PIN_FUNCTION(emac_mdio), + MSM_PIN_FUNCTION(emac_pps_in), + MSM_PIN_FUNCTION(emac_ptp_aux), + MSM_PIN_FUNCTION(emac_ptp_pps), + MSM_PIN_FUNCTION(gcc_gp1_clk), + MSM_PIN_FUNCTION(gcc_gp2_clk), + MSM_PIN_FUNCTION(gcc_gp3_clk), + MSM_PIN_FUNCTION(mi2s0_data0), + MSM_PIN_FUNCTION(mi2s0_data1), + MSM_PIN_FUNCTION(mi2s0_sck), + MSM_PIN_FUNCTION(mi2s0_ws), + MSM_PIN_FUNCTION(mi2s1_data0), + MSM_PIN_FUNCTION(mi2s1_data1), + MSM_PIN_FUNCTION(mi2s1_sck), + MSM_PIN_FUNCTION(mi2s1_ws), + MSM_PIN_FUNCTION(mi2s_mclk), + MSM_PIN_FUNCTION(nav_gpio), + MSM_PIN_FUNCTION(pci_e_rst), + MSM_PIN_FUNCTION(pcie_clkreq_n), + MSM_PIN_FUNCTION(pll_bist_sync), + MSM_PIN_FUNCTION(pll_clk_aux), + MSM_PIN_FUNCTION(qdss_cti_trig0), + MSM_PIN_FUNCTION(qdss_cti_trig1), + MSM_PIN_FUNCTION(qdss_gpio_traceclk), + MSM_PIN_FUNCTION(qdss_gpio_tracectl), + MSM_PIN_FUNCTION(qup0_se0), + MSM_PIN_FUNCTION(qup0_se1), + MSM_PIN_FUNCTION(qup0_se2), + MSM_PIN_FUNCTION(qup0_se3_mira), + MSM_PIN_FUNCTION(qup0_se3_mirb), + MSM_PIN_FUNCTION(qup0_se4), + MSM_PIN_FUNCTION(sdc4_clk), + MSM_PIN_FUNCTION(sdc4_cmd), + MSM_PIN_FUNCTION(sdc4_data), + MSM_PIN_FUNCTION(sdc4_tb_trig), + MSM_PIN_FUNCTION(sgmii_phy_intr), + MSM_PIN_FUNCTION(spmi_coex_clk), + MSM_PIN_FUNCTION(spmi_coex_data), + MSM_PIN_FUNCTION(spmi_vgi_hwevent), + MSM_PIN_FUNCTION(uim1_clk), + MSM_PIN_FUNCTION(uim1_data), + MSM_PIN_FUNCTION(uim1_present), + MSM_PIN_FUNCTION(uim1_reset), + MSM_PIN_FUNCTION(usb2phy_ac_en), +}; + +/* Every pin is maintained as a single group, and missing or non-existing = pin + * would be maintained as dummy group to synchronize pin group index with + * pin descriptor registered with pinctrl core. + * Clients would not be able to request these dummy pin groups. + */ +static const struct msm_pingroup kuno_groups[] =3D { + [0] =3D PINGROUP(0, uim1_data, NA, NA, NA, NA, NA, NA, NA, NA), + [1] =3D PINGROUP(1, uim1_present, NA, NA, NA, NA, NA, NA, NA, NA), + [2] =3D PINGROUP(2, uim1_reset, NA, NA, NA, NA, NA, NA, NA, NA), + [3] =3D PINGROUP(3, uim1_clk, NA, NA, NA, NA, NA, NA, NA, NA), + [4] =3D PINGROUP(4, qup0_se2, NA, NA, NA, NA, NA, NA, NA, NA), + [5] =3D PINGROUP(5, qup0_se2, NA, NA, NA, NA, NA, NA, NA, NA), + [6] =3D PINGROUP(6, qup0_se2, NA, NA, NA, NA, NA, NA, NA, NA), + [7] =3D PINGROUP(7, qup0_se2, NA, NA, NA, NA, NA, NA, NA, NA), + [8] =3D PINGROUP(8, qup0_se3_mira, NA, qdss_gpio_traceclk, NA, NA, NA, NA= , NA, NA), + [9] =3D PINGROUP(9, qup0_se3_mira, NA, qdss_gpio_tracectl, NA, NA, NA, NA= , NA, NA), + [10] =3D PINGROUP(10, qup0_se4, NA, NA, NA, NA, NA, NA, NA, NA), + [11] =3D PINGROUP(11, qup0_se4, NA, NA, NA, NA, NA, NA, NA, NA), + [12] =3D PINGROUP(12, mi2s0_ws, qup0_se3_mirb, NA, NA, NA, NA, NA, NA, NA= ), + [13] =3D PINGROUP(13, mi2s0_data0, qup0_se3_mirb, NA, NA, NA, NA, NA, NA,= NA), + [14] =3D PINGROUP(14, mi2s0_data1, qup0_se3_mirb, qup0_se0, qup0_se1, qup= 0_se2, + qup0_se3_mira, qup0_se4, NA, NA), + [15] =3D PINGROUP(15, mi2s0_sck, qup0_se3_mirb, NA, NA, NA, NA, NA, NA, N= A), + [16] =3D PINGROUP(16, mi2s1_ws, qup0_se3_mira, qdss_cti_trig1, qdss_cti_t= rig0, + NA, NA, NA, NA, NA), + [17] =3D PINGROUP(17, mi2s1_data0, qup0_se3_mira, qdss_cti_trig1, qdss_ct= i_trig0, + NA, NA, NA, NA, NA), + [18] =3D PINGROUP(18, mi2s1_data1, qup0_se0, NA, NA, NA, NA, NA, NA, NA), + [19] =3D PINGROUP(19, mi2s1_sck, qup0_se0, NA, NA, NA, NA, NA, NA, NA), + [20] =3D PINGROUP(20, NA, NA, NA, NA, NA, NA, NA, NA, NA), + [21] =3D PINGROUP(21, NA, NA, NA, NA, NA, NA, NA, NA, NA), + [22] =3D PINGROUP(22, NA, NA, NA, NA, NA, NA, NA, NA, NA), + [23] =3D PINGROUP(23, NA, NA, NA, NA, NA, NA, NA, NA, NA), + [24] =3D PINGROUP(24, NA, NA, NA, NA, NA, NA, NA, NA, NA), + [25] =3D PINGROUP(25, NA, NA, NA, NA, NA, NA, NA, NA, NA), + [26] =3D PINGROUP(26, NA, NA, NA, NA, NA, NA, NA, NA, NA), + [27] =3D PINGROUP(27, NA, NA, NA, NA, NA, NA, NA, NA, NA), + [28] =3D PINGROUP(28, NA, NA, NA, NA, NA, NA, NA, NA, NA), + [29] =3D PINGROUP(29, NA, NA, NA, NA, NA, NA, NA, NA, NA), + [30] =3D PINGROUP(30, NA, NA, NA, NA, NA, NA, NA, NA, NA), + [31] =3D PINGROUP(31, nav_gpio, NA, NA, NA, NA, NA, NA, NA, NA), + [32] =3D PINGROUP(32, nav_gpio, NA, NA, NA, NA, NA, NA, NA, NA), + [33] =3D PINGROUP(33, nav_gpio, NA, NA, NA, NA, NA, NA, NA, NA), + [34] =3D PINGROUP(34, NA, gcc_gp1_clk, NA, NA, NA, NA, NA, NA, NA), + [35] =3D PINGROUP(35, NA, NA, gcc_gp3_clk, NA, NA, NA, NA, NA, NA), + [36] =3D PINGROUP(36, NA, NA, NA, NA, NA, NA, NA, NA, NA), + [37] =3D PINGROUP(37, NA, NA, NA, NA, NA, NA, NA, NA, NA), + [38] =3D PINGROUP(38, NA, NA, NA, NA, NA, NA, NA, NA, NA), + [39] =3D PINGROUP(39, NA, NA, NA, NA, NA, NA, NA, NA, NA), + [40] =3D PINGROUP(40, NA, NA, NA, NA, NA, NA, NA, NA, NA), + [41] =3D PINGROUP(41, NA, NA, NA, NA, NA, NA, NA, NA, NA), + [42] =3D PINGROUP(42, NA, NA, NA, NA, NA, NA, NA, NA, NA), + [43] =3D PINGROUP(43, NA, NA, NA, NA, NA, NA, NA, NA, NA), + [44] =3D PINGROUP(44, coex_uart, NA, NA, NA, NA, NA, NA, NA, NA), + [45] =3D PINGROUP(45, coex_uart, NA, NA, NA, NA, NA, NA, NA, NA), + [46] =3D PINGROUP(46, NA, NA, NA, gcc_gp2_clk, NA, NA, NA, NA, NA), + [47] =3D PINGROUP(47, NA, pll_bist_sync, NA, NA, NA, NA, NA, NA, NA), + [48] =3D PINGROUP(48, qup0_se0, NA, NA, NA, NA, NA, NA, NA, NA), + [49] =3D PINGROUP(49, qup0_se0, NA, NA, NA, NA, NA, NA, NA, NA), + [50] =3D PINGROUP(50, NA, NA, NA, NA, NA, NA, NA, NA, NA), + [51] =3D PINGROUP(51, NA, NA, NA, NA, NA, NA, NA, NA, NA), + [52] =3D PINGROUP(52, NA, NA, NA, NA, NA, NA, NA, NA, NA), + [53] =3D PINGROUP(53, NA, NA, NA, NA, NA, NA, NA, NA, NA), + [54] =3D PINGROUP(54, qdss_cti_trig1, qdss_cti_trig0, pll_clk_aux, NA, NA= , NA, NA, NA, NA), + [55] =3D PINGROUP(55, qdss_cti_trig1, qdss_cti_trig0, NA, NA, NA, NA, NA,= NA, NA), + [56] =3D PINGROUP(56, pcie_clkreq_n, NA, NA, NA, NA, NA, NA, NA, NA), + [57] =3D PINGROUP(57, pci_e_rst, NA, NA, NA, NA, NA, NA, NA, NA), + [58] =3D PINGROUP(58, NA, NA, NA, NA, NA, NA, NA, NA, NA), + [59] =3D PINGROUP(59, NA, NA, NA, NA, NA, NA, NA, NA, NA), + [60] =3D PINGROUP(60, qdss_cti_trig0, NA, NA, NA, NA, NA, NA, NA, NA), + [61] =3D PINGROUP(61, NA, NA, NA, NA, NA, NA, NA, NA, NA), + [62] =3D PINGROUP(62, mi2s_mclk, audio_ref_clk, NA, NA, NA, NA, NA, NA, N= A), + [63] =3D PINGROUP(63, qup0_se1, NA, NA, NA, NA, NA, NA, NA, NA), + [64] =3D PINGROUP(64, qup0_se1, NA, NA, NA, NA, NA, NA, NA, NA), + [65] =3D PINGROUP(65, qup0_se1, qdss_cti_trig1, qdss_cti_trig1, NA, NA, N= A, NA, NA, NA), + [66] =3D PINGROUP(66, qup0_se1, qdss_cti_trig1, qdss_cti_trig1, NA, NA, N= A, NA, NA, NA), + [67] =3D PINGROUP(67, NA, NA, NA, NA, NA, NA, NA, NA, NA), + [68] =3D PINGROUP(68, NA, NA, NA, NA, NA, NA, NA, NA, NA), + [69] =3D PINGROUP(69, NA, NA, NA, NA, NA, NA, NA, NA, NA), + [70] =3D PINGROUP(70, NA, NA, NA, NA, NA, NA, NA, NA, NA), + [71] =3D PINGROUP(71, NA, NA, NA, NA, NA, NA, NA, NA, NA), + [72] =3D PINGROUP(72, NA, NA, NA, NA, NA, NA, NA, NA, NA), + [73] =3D PINGROUP(73, NA, NA, NA, NA, NA, NA, NA, NA, NA), + [74] =3D PINGROUP(74, NA, NA, NA, NA, NA, NA, NA, NA, NA), + [75] =3D PINGROUP(75, spmi_coex_data, NA, NA, NA, NA, NA, NA, NA, NA), + [76] =3D PINGROUP(76, spmi_coex_clk, NA, NA, NA, NA, NA, NA, NA, NA), + [77] =3D PINGROUP(77, NA, NA, NA, NA, NA, NA, NA, NA, NA), + [78] =3D PINGROUP(78, spmi_vgi_hwevent, NA, NA, NA, NA, NA, NA, NA, NA), + [79] =3D PINGROUP(79, spmi_vgi_hwevent, NA, NA, NA, NA, NA, NA, NA, NA), + [80] =3D PINGROUP(80, qup0_se4, NA, NA, NA, NA, NA, NA, NA, NA), + [81] =3D PINGROUP(81, qup0_se4, NA, NA, NA, NA, NA, NA, NA, NA), + [82] =3D PINGROUP(82, NA, NA, NA, NA, NA, NA, NA, NA, NA), + [83] =3D PINGROUP(83, NA, NA, NA, NA, NA, NA, NA, NA, NA), + [84] =3D PINGROUP(84, qdss_cti_trig0, NA, NA, NA, NA, NA, NA, NA, NA), + [85] =3D PINGROUP(85, NA, NA, NA, NA, NA, NA, NA, NA, NA), + [86] =3D PINGROUP(86, NA, NA, NA, NA, NA, NA, NA, NA, NA), + [87] =3D PINGROUP(87, NA, NA, NA, NA, NA, NA, NA, NA, NA), + [88] =3D PINGROUP(88, ebi2_lcd_te, emac_pps_in, NA, NA, NA, NA, NA, NA, N= A), + [89] =3D PINGROUP(89, ebi2_lcd_reset, NA, NA, NA, NA, NA, NA, NA, NA), + [90] =3D PINGROUP(90, usb2phy_ac_en, NA, NA, NA, NA, NA, NA, NA, NA), + [91] =3D PINGROUP(91, sgmii_phy_intr, NA, NA, NA, NA, NA, NA, NA, NA), + [92] =3D PINGROUP(92, qup0_se0, qup0_se1, qup0_se2, qup0_se3_mira, qup0_s= e4, NA, NA, NA, NA), + [93] =3D PINGROUP(93, ebi2_lcd_a, emac_ptp_pps, emac_ptp_aux, NA, NA, NA,= NA, NA, NA), + [94] =3D PINGROUP(94, ebi2_lcd_cs, emac_ptp_pps, emac_ptp_aux, NA, NA, NA= , NA, NA, NA), + [95] =3D PINGROUP(95, NA, NA, NA, NA, NA, NA, NA, NA, NA), + [96] =3D PINGROUP(96, NA, NA, NA, NA, NA, NA, NA, NA, NA), + [97] =3D PINGROUP(97, NA, NA, NA, NA, NA, NA, NA, NA, NA), + [98] =3D PINGROUP(98, emac_mdc, NA, NA, NA, NA, NA, NA, NA, NA), + [99] =3D PINGROUP(99, emac_mdio, NA, NA, NA, NA, NA, NA, NA, NA), + [100] =3D PINGROUP(100, NA, NA, NA, NA, NA, NA, NA, NA, NA), + [101] =3D PINGROUP(101, sdc4_tb_trig, qdss_cti_trig1, qdss_cti_trig0, qup= 0_se0, + qup0_se1, qup0_se2, qup0_se3_mira, qup0_se4, NA), + [102] =3D PINGROUP(102, sdc4_cmd, qdss_cti_trig1, qdss_cti_trig0, NA, NA,= NA, NA, NA, NA), + [103] =3D PINGROUP(103, sdc4_clk, NA, NA, NA, NA, NA, NA, NA, NA), + [104] =3D PINGROUP(104, sdc4_data, NA, NA, NA, NA, NA, NA, NA, NA), + [105] =3D PINGROUP(105, sdc4_data, NA, NA, NA, NA, NA, NA, NA, NA), + [106] =3D PINGROUP(106, sdc4_data, NA, NA, NA, NA, NA, NA, NA, NA), + [107] =3D PINGROUP(107, sdc4_data, NA, NA, NA, NA, NA, NA, NA, NA), + [108] =3D PINGROUP(108, NA, NA, NA, NA, NA, NA, NA, NA, NA), + [109] =3D PINGROUP(109, NA, NA, NA, NA, NA, NA, NA, NA, NA), +}; + +static const struct msm_gpio_wakeirq_map kuno_pdc_map[] =3D { + { 1, 62 }, { 2, 83 }, { 4, 59 }, { 5, 107 }, { 6, 112 }, { 7, 119 }, + { 8, 123 }, { 10, 52 }, { 11, 73 }, { 12, 74 }, { 13, 75 }, { 14, 76 }, + { 15, 77 }, { 16, 81 }, { 17, 82 }, { 18, 80 }, { 19, 100 }, { 21, 88 }, + { 22, 99 }, { 23, 84 }, { 24, 85 }, { 25, 97 }, { 26, 86 }, { 27, 102 }, + { 28, 87 }, { 35, 103 }, { 43, 90 }, { 44, 60 }, { 45, 61 }, { 46, 104 }, + { 47, 89 }, { 48, 105 }, { 49, 106 }, { 50, 101 }, { 52, 109 }, { 53, 79 = }, + { 54, 110 }, { 55, 111 }, { 56, 78 }, { 57, 71 }, { 60, 113 }, { 61, 114 = }, + { 63, 115 }, { 64, 116 }, { 65, 57 }, { 66, 117 }, { 68, 64 }, { 69, 118 = }, + { 71, 108 }, { 73, 120 }, { 74, 121 }, { 76, 47 }, { 77, 122 }, { 78, 65 = }, + { 79, 66 }, { 80, 124 }, { 81, 125 }, { 82, 126 }, { 83, 127 }, { 84, 93 = }, + { 85, 128 }, { 86, 129 }, { 87, 70 }, { 88, 130 }, { 96, 68 }, { 98, 50 }, + { 99, 67 }, { 100, 51 }, { 101, 53 }, { 102, 54 }, { 103, 98 }, { 104, 91= }, + { 105, 69 }, { 106, 55 }, { 107, 56 }, { 109, 72 }, +}; + +static const struct msm_pinctrl_soc_data kuno_tlmm =3D { + .pins =3D kuno_pins, + .npins =3D ARRAY_SIZE(kuno_pins), + .functions =3D kuno_functions, + .nfunctions =3D ARRAY_SIZE(kuno_functions), + .groups =3D kuno_groups, + .ngroups =3D ARRAY_SIZE(kuno_groups), + .ngpios =3D 110, + .wakeirq_map =3D kuno_pdc_map, + .nwakeirq_map =3D ARRAY_SIZE(kuno_pdc_map), +}; + +static int kuno_tlmm_probe(struct platform_device *pdev) +{ + return msm_pinctrl_probe(pdev, &kuno_tlmm); +} + +static const struct of_device_id kuno_tlmm_of_match[] =3D { + { .compatible =3D "qcom,kuno-tlmm", }, + { }, +}; +MODULE_DEVICE_TABLE(of, kuno_tlmm_of_match); + +static struct platform_driver kuno_tlmm_driver =3D { + .driver =3D { + .name =3D "kuno-tlmm", + .of_match_table =3D kuno_tlmm_of_match, + }, + .probe =3D kuno_tlmm_probe, +}; + +static int __init kuno_tlmm_init(void) +{ + return platform_driver_register(&kuno_tlmm_driver); +} +arch_initcall(kuno_tlmm_init); + +static void __exit kuno_tlmm_exit(void) +{ + platform_driver_unregister(&kuno_tlmm_driver); +} +module_exit(kuno_tlmm_exit); + +MODULE_DESCRIPTION("QTI Kuno TLMM driver"); +MODULE_LICENSE("GPL"); --=20 2.43.0 From nobody Tue Sep 29 01:19:00 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 9457B41DDE4 for ; Fri, 14 Aug 2026 07:33:32 +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=1786692820; cv=none; b=jfhAP2adlMtv80M7AA3EWzwe2r8Oo8QAOniCrWsiDn7kPPKsQ129BHxkk8UvGoksxQpbwSsZlZIgwd0bUCjc29kEqalXFiPTnVE81NQ09/2KiLfXLf4b0FRMXWk9gNnrfs8/L+/oStFm51dKevr9lN/Wu8IR6omsTs0vYZDeOTk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786692820; c=relaxed/simple; bh=RDAyPUHQMKd0UCR0T2UhbFhR2yIFwf1uGVlsiEAfgzI=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=koc7Hn2NK1tkhbLj7fF5o4oTF2GsT9NapTsx+zsL/OReGlBDSyfcLPY1xDaGDwm8kqssBOcsiQHSE/ZZ5ZcvLNqERxOgQp12FE+ggcaaKSji4wMvjVcsfAT02dlPsXKPd2ScEMcVv1R05SN1M4apazxsqX1y4AQJ6mzRrQ39jeo= 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=gpi8KKqn; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=R/PeFpii; 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="gpi8KKqn"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="R/PeFpii" 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 67E4QeCj3614505 for ; Fri, 14 Aug 2026 07:33:27 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= EG4tGMO6kvaIZbaI3ajfRrdIAplElSjZ8UgSgWuKV70=; b=gpi8KKqn25/uo+Jf BIPShBBH/LpHdwg/dXkV101E4hpWYBAsqbzH08bh057VNJAMOVl/vbtGTr0RwPLh FS62tdzCYo8X7qDQF4cU9fJM9bNyGFL3NUZ3i/yFVTQV6Tb/3935Qu9icnEvCV1R IK8tLBzw2uIjHZsLp0Wg4SJOF9o7X1KXv3iz/y/yusncpQSEo6qDRg4uHVWRF/CW Gy5mROfW3NUstgHchmPLxAEB8upxb0gX7hSWCWa935NHxYCbBEeIrrqKPsr1OqMf vuLxwX6jlWd7nJaUMJIDNXH1ZsVCHVOOw8o3lymVoDskN9RghD+ZtFpEcQE81Kif wrNJeQ== 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 4g1hgy32s6-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 14 Aug 2026 07:33:27 +0000 (GMT) Received: by mail-pg1-f199.google.com with SMTP id 41be03b00d2f7-cb5ea36f969so810222a12.2 for ; Fri, 14 Aug 2026 00:33:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1786692806; x=1787297606; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=EG4tGMO6kvaIZbaI3ajfRrdIAplElSjZ8UgSgWuKV70=; b=R/PeFpii9bTJpfGbOFZ+TNu3V7aer71b+wALZE7YxkzMk3+4E+n9BYZmv5gHfr/xHy VMCKEGDQW/jghBB/oLA6wyxR/yMnkR5xwMPfkAxejB+I5ep+GabmfuLQ47mLbTc/SEmF /j1t7U1poyXkL9wE5izB8K6bvqCWFbegwtPQDtFeUVWUyfi08cviULjIsvxkQMxSeR6i 0VFTR+3nS/1dpkaLAWD+U41ety/QKIQOXt/DLNWFKKK9vBz3JdBq5VUsJXin3J1/Ctwr nJnW8oEterxBc+ur4yg5D9s/8ChLM+dujOGIojv04FHmm+TpiW8eYE8o2Y+7wOiUvFSC luEA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1786692806; x=1787297606; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=EG4tGMO6kvaIZbaI3ajfRrdIAplElSjZ8UgSgWuKV70=; b=eZ/q7F8xyEhNjeTCVn+fuV4E4Y+RuoyzRZFcfRgxs88qbuam9+e29Lm/z3Y5MxTvel jbVd9qnYzFe8/Jgay9ojH4AIL9DxjrxMKXcRl/knOerG1l767WhJzJbfwB5+5fwjufUC uaAWVP0nLlxsFikSXhZ8g/fF836+JybCn7r3FhHm0R8zWUpj7k5VlgRk7Ia9AfJehgE1 zEZzAueh7qpxS7CWBY7Roz3I10kNCP4kBWwVeQJuNFzQ3xZ1JQopVn69VleXoE4zrSwE PPAtH1qV0FCaxE4NAhwG1vZ93XxZ5XjSPvulS1DpLrcLrY+nUUPnxoPV6zRSAZ1E4KPk hGLQ== X-Forwarded-Encrypted: i=1; AHgh+RqMU9PrSEubG6C7tpOj1QA0rhXctb2v6PW+HGSbIy6DAtmytri7+tx2ISoWMeJfkkku9Vv6oHRE4uBECjI=@vger.kernel.org X-Gm-Message-State: AOJu0Yxbksnl1m9YtVKkJTUS1tiS3o/31+KM4FgGS3Sz6gdmDQ8StSJ9 nSQZeZCh5DLWSNbWKIuqnr5FCu59zlWwBDlVzA7H0H2yUIT9u6AZ8q6k4eA46ZZLWyjFFIAxKj8 cTicSlp7KqUDcj9REPhdOtsoobWjZ6kMENrIKU8oxkeD/K/72RnoFS9hBkrNhofMY7YU= X-Gm-Gg: AR+sD11qEKQIWfJtsLPpH94cTVnbye3c8HgVdIJpke0qReQJo0s9Z0J31h73o40uqJ6 zq8QcaPVYsw7GrPBQCDE00JfrUdFTXnqJEmUNEaa3Zdxszeol7gRrP1YV8RiTRPDQnVk4uHTPDj 9M1D9kriEGUN91kxQgcOAQgqQZlwrqzKt7zMBUQJKUcNAmLZKGUAQuqLdfKOyMnSU2Qqb//0k7Q MMJR49hAMuLoXCjmomxpeEx/3sioXm/4m9J5lhb50Oet+RGee4U0+WBgtEmlLTpmU/6jWazYMc/ rYEl2EjbRU6Aem/mwWI2KJcGc0qwWKDRIi414scBpyWpFmilFq7sOs98tzcEtrz28CiwG91MYa3 Qa9XdmoeYiiSnvbweHvI7eOn4B+WMXRRtxKXDpnHpZiBmmlFBQcQ057ZfTOnddB5L8dLvQSZtUu W11jmpQQFMaUBPy0o7X+caL/E= X-Received: by 2002:a05:6a21:7316:b0:3c4:de3:816c with SMTP id adf61e73a8af0-3cc71ed56f7mr4073887637.37.1786692806222; Fri, 14 Aug 2026 00:33:26 -0700 (PDT) X-Received: by 2002:a05:6a21:7316:b0:3c4:de3:816c with SMTP id adf61e73a8af0-3cc71ed56f7mr4073819637.37.1786692805793; Fri, 14 Aug 2026 00:33:25 -0700 (PDT) Received: from hu-hardshar-blr.qualcomm.com (blr-bdr-fw-01_GlobalNAT_AllZones-Outside.qualcomm.com. [103.229.18.19]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-320ea804233sm1062280eec.26.2026.08.14.00.33.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 14 Aug 2026 00:33:25 -0700 (PDT) From: Hardeep Sharma Date: Fri, 14 Aug 2026 13:01:41 +0530 Subject: [PATCH v2 10/15] dt-bindings: clock: qcom: Add Kuno Global Clock Controller Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260814-kuno-soc-support-v2-10-3079794f0f73@oss.qualcomm.com> References: <20260814-kuno-soc-support-v2-0-3079794f0f73@oss.qualcomm.com> In-Reply-To: <20260814-kuno-soc-support-v2-0-3079794f0f73@oss.qualcomm.com> To: Bjorn Andersson , Konrad Dybcio , Krzysztof Kozlowski , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Ulf Hansson , Michael Turquette , Stephen Boyd , Brian Masney , Taniya Das , Georgi Djakov , Bartosz Golaszewski , Linus Walleij , Thomas Gleixner , Radu Rendec , Robert Marko , Guru Das Srinagesh Cc: linux-arm-msm@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, linux-pm@vger.kernel.org, linux-clk@vger.kernel.org, linux-gpio@vger.kernel.org, Hardeep Sharma X-Mailer: b4 0.15-dev-47773 X-Developer-Signature: v=1; a=ed25519-sha256; t=1786692714; l=5559; i=hardeep.sharma@oss.qualcomm.com; s=20260204; h=from:subject:message-id; bh=RDAyPUHQMKd0UCR0T2UhbFhR2yIFwf1uGVlsiEAfgzI=; b=UtRhbW+tGvbmJCG5ZtNLc/4AeeCek33ST2p1FOR5EXuF62dWA6YOgpMZXUiPfLfuKFzWtpf0z e5E/P+JXspLAq+QNE/gdi706COkQcU044BcOLZXRJSjdCOjr+Z/4A7T X-Developer-Key: i=hardeep.sharma@oss.qualcomm.com; a=ed25519; pk=IvwPDKA2xr6jWaCIBBY2ran/H0124QUzVfun+CtEikM= X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODE0MDA1OCBTYWx0ZWRfX65quC88E/SLM 5JkrviLJPI2gmFmtGxbPl9oGZP0kWd0J48Mkb0JYDWwQy5HQR7BT+03bY3IJiQEyF2JGE3DBOSX wAPhjZ7c+ISeRycgJ4IsxlYEXOURG/wnQMn+wITXNzTm2AEA+3rawyLZ9DI/8dc947LHUj/xokU xN2EWQbp5KNvKVGZ8YiYWGSIPVBcBdcbiS7OwYV/5VFYxG4M9PScVqXfey+ZDf4guzdjgbv8UJW 6Nakuh82JGMIsO+UrU4bnFof07QsJX3FcvLpEYx90xr0c9hSeEo4wK4QcxfnUjMPgQR9qETzTip 4FISybVsjC/zxEP3Gv0LYszkcBQFeCHq8RZ+T/2YE6THGkDozwdRLE6TEjMRaDO+wY72MjdnIG/ nqza41s5YLjtU+chvxJfNi2G7qQkq2czzzEO1imksrX6+drQjGVdAJf4ISaFLN5TnR20oH2f6tw GSNOkNMENi0N07WWXKQ== X-Authority-Analysis: v=2.4 cv=AaSB2XXG c=1 sm=1 tr=0 ts=6a7ec4c7 cx=c_pps a=Oh5Dbbf/trHjhBongsHeRQ==:117 a=Ou0eQOY4+eZoSc0qltEV5Q==:17 a=IkcTkHD0fZMA:10 a=Sv0fKeRqtYgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_glEPmIy2e8OvE2BGh3C:22 a=gEfo2CItAAAA:8 a=EUspDBNiAAAA:8 a=55wsOiQBk-PRjUXo0ZkA:9 a=QEXdDO2ut3YA:10 a=_Vgx9l1VpLgwpw_dHYaR:22 a=sptkURWiP4Gy88Gu7hUp:22 X-Proofpoint-ORIG-GUID: jrlU_Rc5LseJRVpKcS_5bEFEfSk8xqlv X-Proofpoint-GUID: jrlU_Rc5LseJRVpKcS_5bEFEfSk8xqlv X-Proofpoint-Spam-Info: AW1haW4tMjYwODE0MDA1OCBTYWx0ZWRfX4LeLEeXCKN6Z ROmSVB044Ic8X8k74KX0WUdEq6Oz0D1OxmoGxf+VPIxaIrainQ/iNaQUk054FprEaJpAHsl9gkw hWXnedEX9EPrbSMaGK+H9k1AGlzGxkM= 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-14_02,2026-08-12_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 malwarescore=0 clxscore=1015 priorityscore=1501 spamscore=0 impostorscore=0 suspectscore=0 bulkscore=0 lowpriorityscore=0 phishscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608140058 Document the Global Clock Controller (GCC) binding and associated clock/reset IDs for the Qualcomm Kuno SoC. Signed-off-by: Hardeep Sharma --- .../devicetree/bindings/clock/qcom,kuno-gcc.yaml | 50 ++++++++++++ include/dt-bindings/clock/qcom,kuno-gcc.h | 95 ++++++++++++++++++= ++++ 2 files changed, 145 insertions(+) diff --git a/Documentation/devicetree/bindings/clock/qcom,kuno-gcc.yaml b/D= ocumentation/devicetree/bindings/clock/qcom,kuno-gcc.yaml new file mode 100644 index 000000000000..c4919b518693 --- /dev/null +++ b/Documentation/devicetree/bindings/clock/qcom,kuno-gcc.yaml @@ -0,0 +1,50 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/clock/qcom,kuno-gcc.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Qualcomm Global Clock & Reset Controller on Kuno + +maintainers: + - Hardeep Sharma + +description: | + Qualcomm global clock control module provides the clocks and resets on K= uno. + + See also: include/dt-bindings/clock/qcom,kuno-gcc.h + +properties: + compatible: + const: qcom,kuno-gcc + + clocks: + items: + - description: Board XO source + - description: Board active-only XO source + - description: Sleep clock source + - description: PCIe pipe clock source + +required: + - compatible + - clocks + +allOf: + - $ref: qcom,gcc.yaml# + +unevaluatedProperties: false + +examples: + - | + #include + clock-controller@80000 { + compatible =3D "qcom,kuno-gcc"; + reg =3D <0x00080000 0x1f4200>; + clocks =3D <&rpmhcc RPMH_CXO_CLK>, + <&rpmhcc RPMH_CXO_CLK_A>, + <&sleep_clk>, + <&pcie_pipe_clk>; + #clock-cells =3D <1>; + #reset-cells =3D <1>; + }; +... diff --git a/include/dt-bindings/clock/qcom,kuno-gcc.h b/include/dt-binding= s/clock/qcom,kuno-gcc.h new file mode 100644 index 000000000000..bbaf1799590f --- /dev/null +++ b/include/dt-bindings/clock/qcom,kuno-gcc.h @@ -0,0 +1,95 @@ +/* SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) */ +/* + * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries. + */ + +#ifndef _DT_BINDINGS_CLK_QCOM_GCC_KUNO_H +#define _DT_BINDINGS_CLK_QCOM_GCC_KUNO_H + +/* GCC clocks */ +#define GPLL0 0 +#define GPLL0_OUT_EVEN 1 +#define GPLL2 2 +#define GPLL3 3 +#define GPLL4 4 +#define GPLL4_OUT_EVEN 5 +#define GCC_EMAC0_AXI_CLK 7 +#define GCC_EMAC0_PHY_AUX_CLK 8 +#define GCC_EMAC0_PHY_AUX_CLK_SRC 9 +#define GCC_EMAC0_PTP_CLK 10 +#define GCC_EMAC0_PTP_CLK_SRC 11 +#define GCC_EMAC0_RGMII_CLK 12 +#define GCC_EMAC0_RGMII_CLK_SRC 13 +#define GCC_EMAC0_SLV_AHB_CLK 14 +#define GCC_EMAC_0_CLKREF_EN 15 +#define GCC_GP1_CLK 16 +#define GCC_GP1_CLK_SRC 17 +#define GCC_GP2_CLK 18 +#define GCC_GP2_CLK_SRC 19 +#define GCC_GP3_CLK 20 +#define GCC_GP3_CLK_SRC 21 +#define GCC_PCIE_0_CLKREF_EN 22 +#define GCC_PCIE_AUX_CLK 23 +#define GCC_PCIE_AUX_CLK_SRC 24 +#define GCC_PCIE_AUX_PHY_CLK_SRC 25 +#define GCC_PCIE_CFG_AHB_CLK 26 +#define GCC_PCIE_MSTR_AXI_CLK 27 +#define GCC_PCIE_PIPE_CLK 28 +#define GCC_PCIE_PIPE_CLK_SRC 29 +#define GCC_PCIE_RCHNG_PHY_CLK 30 +#define GCC_PCIE_RCHNG_PHY_CLK_SRC 31 +#define GCC_PCIE_SLEEP_CLK 32 +#define GCC_PCIE_SLV_AXI_CLK 33 +#define GCC_PCIE_SLV_Q2A_AXI_CLK 34 +#define GCC_PDM2_CLK 35 +#define GCC_PDM2_CLK_SRC 36 +#define GCC_PDM_AHB_CLK 37 +#define GCC_PDM_XO4_CLK 38 +#define GCC_QUPV3_WRAP0_CORE_2X_CLK 39 +#define GCC_QUPV3_WRAP0_CORE_CLK 40 +#define GCC_QUPV3_WRAP0_S0_CLK 41 +#define GCC_QUPV3_WRAP0_S0_CLK_SRC 42 +#define GCC_QUPV3_WRAP0_S1_CLK 43 +#define GCC_QUPV3_WRAP0_S1_CLK_SRC 44 +#define GCC_QUPV3_WRAP0_S2_CLK 45 +#define GCC_QUPV3_WRAP0_S2_CLK_SRC 46 +#define GCC_QUPV3_WRAP0_S3_CLK 47 +#define GCC_QUPV3_WRAP0_S3_CLK_SRC 48 +#define GCC_QUPV3_WRAP0_S4_CLK 49 +#define GCC_QUPV3_WRAP0_S4_CLK_SRC 50 +#define GCC_QUPV3_WRAP_0_M_AHB_CLK 51 +#define GCC_QUPV3_WRAP_0_S_AHB_CLK 52 +#define GCC_SDCC4_AHB_CLK 53 +#define GCC_SDCC4_APPS_CLK 54 +#define GCC_SDCC4_APPS_CLK_SRC 55 +#define GCC_SNOC_CNOC_USB3_CLK 56 +#define GCC_SYS_NOC_USB_SF_AXI_CLK 57 +#define GCC_USB20_MASTER_CLK 58 +#define GCC_USB20_MASTER_CLK_SRC 59 +#define GCC_USB20_MOCK_UTMI_CLK 60 +#define GCC_USB20_MOCK_UTMI_CLK_SRC 61 +#define GCC_USB20_MOCK_UTMI_POSTDIV_CLK_SRC 62 +#define GCC_USB20_SLEEP_CLK 63 +#define GCC_USB2_CLKREF_EN 64 +#define GCC_USB3_PRIM_CLKREF_EN 65 +#define GCC_USB_PHY_CFG_AHB2PHY_CLK 66 +#define GCC_BOOT_ROM_AHB_CLK 68 + +/* GCC resets */ +#define GCC_EMAC0_BCR 0 +#define GCC_PCIE_BCR 1 +#define GCC_PCIE_LINK_DOWN_BCR 2 +#define GCC_PCIE_NOCSR_COM_PHY_BCR 3 +#define GCC_PCIE_PHY_BCR 4 +#define GCC_PCIE_PHY_CFG_AHB_BCR 5 +#define GCC_PCIE_PHY_COM_BCR 6 +#define GCC_PCIE_PHY_NOCSR_COM_PHY_BCR 7 +#define GCC_PDM_BCR 8 +#define GCC_QUPV3_WRAPPER_0_BCR 9 +#define GCC_QUSB2PHY_BCR 10 +#define GCC_SDCC4_BCR 11 +#define GCC_TCSR_PCIE_BCR 12 +#define GCC_USB20_BCR 13 +#define GCC_USB_PHY_CFG_AHB2PHY_BCR 14 + +#endif --=20 2.43.0 From nobody Tue Sep 29 01:19:00 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 AB37141DDF3 for ; Fri, 14 Aug 2026 07:33:40 +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=1786692831; cv=none; b=O7YfS6FVvSvHBkspDp806L35rYI72mdKs6TT5ZEHVFPNNJOV7pkI4JBmViIGOq73RctZsP9lS3sXvOD46/9kqiGrPIKndgxTSz6QLUoM8cGbsXNgiMM1KoF2TXycgbElyHc3IcOsEfb965Aooy4dkcZ+GreIt+hOddzxh5cf4/w= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786692831; c=relaxed/simple; bh=qHZZW94o3rDaOTbSa2o2b3i4/q7C8taxC2MipfjMv60=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=D+zdq8ZROmIV6kle6k3E08BY0R6haH0g/TQ27dA0SuBs7/NicUWTRQHcZaSSes6e104VaWAsW3dFrKT50QLTTybF6eJJoxrwFM1u807ITVqT9a5FiTzTEFTsa5RzTQrKsjRbYZmhoZtrRd7xe06Dfc6SKnPQxVkvmWiQevmFAxQ= 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=QqV5k+0I; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=kIzu7suN; 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="QqV5k+0I"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="kIzu7suN" Received: from pps.filterd (m0279872.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 67E4QuWA283607 for ; Fri, 14 Aug 2026 07:33:36 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= oCyNcTFbFInKLtapAAI1dYQ3ghZPPuG+TVLBnkP0sDo=; b=QqV5k+0IkgJ8yxJq hO0B/KY8RJ5jyRa15C1qWCrb6ZmcrN0FEAnWj21p8X2NiqFbE91u8XS/ctQlYCfT v09lTXJQQZdI7dGgJouB4eOULecTm18R0HdqeFto88GiY0x5dRvpQBSazbYYrapg 8q6ouC8r0wSmTErq+C3rXXWz5nAnz0N6lIe5RfXqwGOec2HKU4kLKTlSUeYJlCLx tc0y51EJ4x/mBcBunYNlBMmJKl6MRkyzo0OzJ74M1AEAdnZs76DgGaa5/uUCN82x MtvAwkBEYp8c+DwnmcLtsI2tY/kGsR/p9LHB3luqQJGlZjc/KwygRoWt7TDbWKHx JhhRXg== Received: from mail-pj1-f70.google.com (mail-pj1-f70.google.com [209.85.216.70]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4g1h90u5pc-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 14 Aug 2026 07:33:36 +0000 (GMT) Received: by mail-pj1-f70.google.com with SMTP id 98e67ed59e1d1-38ecc48b3c2so1021738a91.1 for ; Fri, 14 Aug 2026 00:33:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1786692815; x=1787297615; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=oCyNcTFbFInKLtapAAI1dYQ3ghZPPuG+TVLBnkP0sDo=; b=kIzu7suNalf3VoShlG0yxJFK52YH29pXyuV/c1Iai3P4L9k+ZEnBQ+Rtm50KTwLCla xklic1zfezRU/BxilwmfalMATExBXUA+QODjl5NM79sQ0EhSMWVsNUvgFyZGVnhWBP3Y cYyIguRm0HiWyjXKMM4BmIkzY3YU+DH5Fk3D1mpddOmsImnLZS85MnZ7yHRi3Us3fLlZ t9oxTpGY0ExvqYbDnyUcmAieDeI/9ONbP01j8XjR6C5tCOuP1ZoGzgLLYzp067UDyfZP FyvsAUJgNgCJGrRDmRi5PDC9F9HETcS1B8OZcEL+xelxerWn/bVyUCCsu88Iy5plOiTi 0kUw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1786692815; x=1787297615; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=oCyNcTFbFInKLtapAAI1dYQ3ghZPPuG+TVLBnkP0sDo=; b=tEM4vMApkUEp9kI++BaTzIHmmrLFNfN+FS5aaUGrJ4X64UvQvsf1J/XDXJgnlBWkUn 0r18cFZRSCBjkpi02LV/bie8dQuOsjbuyrpPbOzK/UrsMcuNd7guIshlOWY0nznv3WLa rmUpCrpNYYMRS+OAHJHvvqXnjThDlR+HQj14lssmRJ3SRQUPHkuGpE8yKKgA8tYuw14v +0mT87arp7duW9EZLtGebGCMZ/oTw+JUrWZ1iOCGd98nFHnk5aS4wnqyXnqcNjpfMnC7 RAb2SgLAxbjwYvzRgN7JZecobYnbKNKkhda0I1STQA2u4oi3LY8BTc64iCIyN3V2p6TK +6DQ== X-Forwarded-Encrypted: i=1; AHgh+RppmUp3UIiZWXDgTRuBzcvCsiMP5Bx8qjUSzt6d4u0AEnm9w1UTaVzJA9UqLPATNDVrXPFgflemR35tOck=@vger.kernel.org X-Gm-Message-State: AOJu0Yx/pnXxOr+2KlroDxenVJmv2UQ2MlfNPwvCpMqZ137C+AvE/LN8 3Ze3ArPaAyQ0XjZ7dMC6c2m4dez8kIErm2OdpUQ+iIvtVR0dYWUmzrpdfY9mgQIezS+MRRkz7/T 5lSPGpTxJjkcW60WwYdQ9yJGyTD7Pt9tEeve9Zvti3oBgi9ZMnW+V47fsGe0OIEZzP0E= X-Gm-Gg: AR+sD10AOeud5AD7UE6yakbixl7JTL41Kzd6IZZB0sYj/tzv0K8n1w5UOzICdfkBjAP Gtx0VyAb47yyevn4k5SVtTu0wCe+cAjBhbvFIsTAKhV3Cv3JdqV99zFprWAePtmwS2TSZEo6VZe QrlISJ60ns2vbIS0TaYK7OBVOlp+aACDO0XigZ96KrAAu9aXTHp+/Vj10OMEj3Nkr3Izlqp2mPO jpLVknrpJMTZZKwYkGUT1gSELa6kzJwnVF3zV1/eJO2rxJjVc6BOU7hHsu28GmzH61ft1Gzn0BI slK/lKkmudDyQ3yHIGp5sHj2zEOIUXX3/NSNnIw+0LdiCKGyK7Fxs/TxseNBWxzu6Obl5uojauq lFqFa6L3BYG/LBVPXM8q7SskfjO9ONQ7TD4XcQvhklX5F4qz22e+P3HZqqlq2hbkcnf1lZdUNsK 3RsRHBbbzFfDTbBzFgrdsqXjw= X-Received: by 2002:a17:90b:3c02:b0:38d:dfd1:7a8 with SMTP id 98e67ed59e1d1-3933b6e9788mr4570272a91.2.1786692814707; Fri, 14 Aug 2026 00:33:34 -0700 (PDT) X-Received: by 2002:a17:90b:3c02:b0:38d:dfd1:7a8 with SMTP id 98e67ed59e1d1-3933b6e9788mr4570175a91.2.1786692814060; Fri, 14 Aug 2026 00:33:34 -0700 (PDT) Received: from hu-hardshar-blr.qualcomm.com (blr-bdr-fw-01_GlobalNAT_AllZones-Outside.qualcomm.com. [103.229.18.19]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-320ea804233sm1062280eec.26.2026.08.14.00.33.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 14 Aug 2026 00:33:33 -0700 (PDT) From: Hardeep Sharma Date: Fri, 14 Aug 2026 13:01:42 +0530 Subject: [PATCH v2 11/15] clk: qcom: Add Global Clock Controller driver for Kuno Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260814-kuno-soc-support-v2-11-3079794f0f73@oss.qualcomm.com> References: <20260814-kuno-soc-support-v2-0-3079794f0f73@oss.qualcomm.com> In-Reply-To: <20260814-kuno-soc-support-v2-0-3079794f0f73@oss.qualcomm.com> To: Bjorn Andersson , Konrad Dybcio , Krzysztof Kozlowski , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Ulf Hansson , Michael Turquette , Stephen Boyd , Brian Masney , Taniya Das , Georgi Djakov , Bartosz Golaszewski , Linus Walleij , Thomas Gleixner , Radu Rendec , Robert Marko , Guru Das Srinagesh Cc: linux-arm-msm@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, linux-pm@vger.kernel.org, linux-clk@vger.kernel.org, linux-gpio@vger.kernel.org, Hardeep Sharma X-Mailer: b4 0.15-dev-47773 X-Developer-Signature: v=1; a=ed25519-sha256; t=1786692714; l=42378; i=hardeep.sharma@oss.qualcomm.com; s=20260204; h=from:subject:message-id; bh=qHZZW94o3rDaOTbSa2o2b3i4/q7C8taxC2MipfjMv60=; b=dVosZmYx6VdE9uFXTwMZVr7Y0lpBrFBwkZXBLHDRgGLZ4nf+3HQdWj+R9w3NaJ6QQFnG3Y4mN EcUMLb7a5QxAJBE8HhvRLdPQnavQhaS79nnC/TPd4LR2YzBgLiYKAGr X-Developer-Key: i=hardeep.sharma@oss.qualcomm.com; a=ed25519; pk=IvwPDKA2xr6jWaCIBBY2ran/H0124QUzVfun+CtEikM= X-Authority-Analysis: v=2.4 cv=Ovh/DS/t c=1 sm=1 tr=0 ts=6a7ec4d0 cx=c_pps a=0uOsjrqzRL749jD1oC5vDA==:117 a=Ou0eQOY4+eZoSc0qltEV5Q==:17 a=IkcTkHD0fZMA:10 a=Sv0fKeRqtYgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=yx91gb_oNiZeI1HMLzn7:22 a=EUspDBNiAAAA:8 a=J8yo-5BD-G8eLS-r1ecA:9 a=QEXdDO2ut3YA:10 a=mQ_c8vxmzFEMiUWkPHU9:22 X-Proofpoint-Spam-Info: AW1haW4tMjYwODE0MDA1OCBTYWx0ZWRfX0S2puVryKm2x leEKqqR6G8b6pyqR4P01iBIOfbjhAgD21KZoFENMCrsF2+HWCG7kx4s817z74u9T5hIYcJMZIhh ZMlit9D19mPlugHgDWtvrhw/yOY83s4= X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODE0MDA1OCBTYWx0ZWRfX6/1KB8KO4xgO /Df0sfIiZzP5fGQI6AyiMtaQQ+JCcvUeKvCpqhdWCaSl+o4SRdT1ijDMx3q7J1/0T4adwEyXot0 Rr+jiePz/nlVtRqHBaqzQXtLMoTKsswSGL8vi3q/sfLCpIj3lL1kJ7ZEEpsFPaed+/zvU05ucdq IEVMZerbsq/LIasv65bFun4bR13Va9NyU7w2JOEGgPysCs8wVhiApBrINY2PAeN5QBoy5GJnB2b WFOGwcvh2bw/TTJJLa+u725GO+EkZW1VZ/dchWN5g5+gaopH+KcoDv7n1U2e5jiaLZnToF0hQxv 8EkoaZG0CfY6uGvWRcPbjVYUcUbdvH1joVdM30cvkaKIkPpNVayElVT5Ci1Yd9RnDf24tJK1lVK RrYched6EfG69DOxbv/m+nNPEyODul57bJyX6UkT0pEO7CeCzbDA/xwJfY8/O4inoEAsFAgKEE6 USfKQS+ucRMcJyCMj3g== X-Proofpoint-ORIG-GUID: XHJ76MVQsrLcEYT2OJiNUK7ZUljcB7iz X-Proofpoint-GUID: XHJ76MVQsrLcEYT2OJiNUK7ZUljcB7iz 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-14_02,2026-08-12_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 spamscore=0 clxscore=1015 phishscore=0 lowpriorityscore=0 suspectscore=0 malwarescore=0 priorityscore=1501 adultscore=0 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608140058 Add the global clock controller (GCC) driver for the Qualcomm Kuno SoC, providing the PLLs, root clock generators, gate/branch clocks and resets used by the peripheral devices such as UART, SPI, I2C, USB, SD, PCIe and Ethernet. Signed-off-by: Hardeep Sharma Reviewed-by: Konrad Dybcio --- drivers/clk/qcom/Kconfig | 10 + drivers/clk/qcom/Makefile | 1 + drivers/clk/qcom/gcc-kuno.c | 1438 +++++++++++++++++++++++++++++++++++++++= ++++ 3 files changed, 1449 insertions(+) diff --git a/drivers/clk/qcom/Kconfig b/drivers/clk/qcom/Kconfig index e609a7819e07..1f31bf09de0c 100644 --- a/drivers/clk/qcom/Kconfig +++ b/drivers/clk/qcom/Kconfig @@ -212,6 +212,16 @@ config CLK_KAANAPALI_VIDEOCC Say Y if you want to support video devices and functionality such as video encode/decode. =20 +config CLK_KUNO_GCC + tristate "Kuno Global Clock Controller" + depends on ARM || COMPILE_TEST + default ARCH_QCOM + help + Support for the global clock controller (GCC) on Kuno devices. + Say Y if you want to use peripheral devices such as UART, SPI, + I2C, USB, SD, PCIe and Ethernet on the Kuno SoC. This clock + controller supplies the clocks and resets to those peripherals. + config CLK_NORD_DISPCC tristate "Nord Display Clock Controller" depends on ARM64 || COMPILE_TEST diff --git a/drivers/clk/qcom/Makefile b/drivers/clk/qcom/Makefile index b8590963736a..67f74898a582 100644 --- a/drivers/clk/qcom/Makefile +++ b/drivers/clk/qcom/Makefile @@ -45,6 +45,7 @@ obj-$(CONFIG_CLK_KAANAPALI_GCC) +=3D gcc-kaanapali.o obj-$(CONFIG_CLK_KAANAPALI_GPUCC) +=3D gpucc-kaanapali.o gxclkctl-kaanapal= i.o obj-$(CONFIG_CLK_KAANAPALI_TCSRCC) +=3D tcsrcc-kaanapali.o obj-$(CONFIG_CLK_KAANAPALI_VIDEOCC) +=3D videocc-kaanapali.o +obj-$(CONFIG_CLK_KUNO_GCC) +=3D gcc-kuno.o obj-$(CONFIG_CLK_MAILI_VIDEOCC) +=3D videocc-maili.o obj-$(CONFIG_CLK_NORD_DISPCC) +=3D dispcc0-nord.o dispcc1-nord.o obj-$(CONFIG_CLK_NORD_GCC) +=3D gcc-nord.o negcc-nord.o nwgcc-nord.o segcc= -nord.o diff --git a/drivers/clk/qcom/gcc-kuno.c b/drivers/clk/qcom/gcc-kuno.c new file mode 100644 index 000000000000..f7401ae315dd --- /dev/null +++ b/drivers/clk/qcom/gcc-kuno.c @@ -0,0 +1,1438 @@ +// SPDX-License-Identifier: GPL-2.0-only +/* + * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries. + */ + +#include +#include +#include +#include + +#include + +#include "clk-alpha-pll.h" +#include "clk-branch.h" +#include "clk-rcg.h" +#include "clk-regmap.h" +#include "clk-regmap-divider.h" +#include "clk-regmap-mux.h" +#include "clk-regmap-phy-mux.h" +#include "common.h" +#include "reset.h" + +/* Need to match the order of clocks in DT binding */ +enum { + DT_BI_TCXO, + DT_BI_TCXO_AO, + DT_SLEEP_CLK, + DT_PCIE_PIPE_CLK, +}; + +enum { + P_BI_TCXO, + P_GPLL0_OUT_EVEN, + P_GPLL0_OUT_MAIN, + P_GPLL2_OUT_MAIN, + P_GPLL3_OUT_MAIN, + P_GPLL4_OUT_EVEN, + P_GPLL4_OUT_MAIN, + P_SLEEP_CLK, +}; + +static struct clk_alpha_pll gpll0 =3D { + .offset =3D 0x0, + .regs =3D clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_LUCID_EVO], + .clkr =3D { + .enable_reg =3D 0x7d000, + .enable_mask =3D BIT(0), + .hw.init =3D &(const struct clk_init_data) { + .name =3D "gpll0", + .parent_data =3D &(const struct clk_parent_data) { + .index =3D DT_BI_TCXO, + }, + .num_parents =3D 1, + .ops =3D &clk_alpha_pll_fixed_lucid_evo_ops, + }, + }, +}; + +static const struct clk_div_table post_div_table_gpll0_out_even[] =3D { + { 0x1, 2 }, + { } +}; + +static struct clk_alpha_pll_postdiv gpll0_out_even =3D { + .offset =3D 0x0, + .post_div_shift =3D 10, + .post_div_table =3D post_div_table_gpll0_out_even, + .num_post_div =3D ARRAY_SIZE(post_div_table_gpll0_out_even), + .width =3D 4, + .regs =3D clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_LUCID_EVO], + .clkr.hw.init =3D &(const struct clk_init_data) { + .name =3D "gpll0_out_even", + .parent_hws =3D (const struct clk_hw*[]) { + &gpll0.clkr.hw, + }, + .num_parents =3D 1, + .ops =3D &clk_alpha_pll_postdiv_lucid_evo_ops, + }, +}; + +static struct clk_alpha_pll gpll2 =3D { + .offset =3D 0x2000, + .regs =3D clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_LUCID_EVO], + .clkr =3D { + .enable_reg =3D 0x7d000, + .enable_mask =3D BIT(2), + .hw.init =3D &(const struct clk_init_data) { + .name =3D "gpll2", + .parent_data =3D &(const struct clk_parent_data) { + .index =3D DT_BI_TCXO, + }, + .num_parents =3D 1, + .ops =3D &clk_alpha_pll_fixed_lucid_evo_ops, + }, + }, +}; + +static struct clk_alpha_pll gpll3 =3D { + .offset =3D 0x3000, + .regs =3D clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_LUCID_EVO], + .clkr =3D { + .enable_reg =3D 0x7d000, + .enable_mask =3D BIT(3), + .hw.init =3D &(const struct clk_init_data) { + .name =3D "gpll3", + .parent_data =3D &(const struct clk_parent_data) { + .index =3D DT_BI_TCXO, + }, + .num_parents =3D 1, + .ops =3D &clk_alpha_pll_fixed_lucid_evo_ops, + }, + }, +}; + +static struct clk_alpha_pll gpll4 =3D { + .offset =3D 0x4000, + .regs =3D clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_LUCID_EVO], + .clkr =3D { + .enable_reg =3D 0x7d000, + .enable_mask =3D BIT(4), + .hw.init =3D &(const struct clk_init_data) { + .name =3D "gpll4", + .parent_data =3D &(const struct clk_parent_data) { + .index =3D DT_BI_TCXO, + }, + .num_parents =3D 1, + .ops =3D &clk_alpha_pll_fixed_lucid_evo_ops, + }, + }, +}; + +static const struct clk_div_table post_div_table_gpll4_out_even[] =3D { + { 0x1, 2 }, + { } +}; + +static struct clk_alpha_pll_postdiv gpll4_out_even =3D { + .offset =3D 0x4000, + .post_div_shift =3D 10, + .post_div_table =3D post_div_table_gpll4_out_even, + .num_post_div =3D ARRAY_SIZE(post_div_table_gpll4_out_even), + .width =3D 4, + .regs =3D clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_LUCID_EVO], + .clkr.hw.init =3D &(const struct clk_init_data) { + .name =3D "gpll4_out_even", + .parent_hws =3D (const struct clk_hw*[]) { + &gpll4.clkr.hw, + }, + .num_parents =3D 1, + .ops =3D &clk_alpha_pll_postdiv_lucid_evo_ops, + }, +}; + +static const struct parent_map gcc_parent_map_0[] =3D { + { P_BI_TCXO, 0 }, + { P_GPLL0_OUT_MAIN, 1 }, + { P_GPLL4_OUT_EVEN, 2 }, + { P_GPLL0_OUT_EVEN, 6 }, +}; + +static const struct clk_parent_data gcc_parent_data_0[] =3D { + { .index =3D DT_BI_TCXO }, + { .hw =3D &gpll0.clkr.hw }, + { .hw =3D &gpll4_out_even.clkr.hw }, + { .hw =3D &gpll0_out_even.clkr.hw }, +}; + +static const struct parent_map gcc_parent_map_1[] =3D { + { P_BI_TCXO, 0 }, + { P_GPLL0_OUT_MAIN, 1 }, + { P_GPLL0_OUT_EVEN, 6 }, +}; + +static const struct clk_parent_data gcc_parent_data_1[] =3D { + { .index =3D DT_BI_TCXO }, + { .hw =3D &gpll0.clkr.hw }, + { .hw =3D &gpll0_out_even.clkr.hw }, +}; + +static const struct parent_map gcc_parent_map_2[] =3D { + { P_BI_TCXO, 0 }, + { P_GPLL0_OUT_MAIN, 1 }, + { P_GPLL4_OUT_EVEN, 2 }, + { P_SLEEP_CLK, 5 }, + { P_GPLL0_OUT_EVEN, 6 }, +}; + +static const struct clk_parent_data gcc_parent_data_2[] =3D { + { .index =3D DT_BI_TCXO }, + { .hw =3D &gpll0.clkr.hw }, + { .hw =3D &gpll4_out_even.clkr.hw }, + { .index =3D DT_SLEEP_CLK }, + { .hw =3D &gpll0_out_even.clkr.hw }, +}; + +static const struct parent_map gcc_parent_map_3[] =3D { + { P_BI_TCXO, 0 }, + { P_GPLL0_OUT_MAIN, 1 }, + { P_GPLL4_OUT_EVEN, 2 }, + { P_GPLL4_OUT_MAIN, 3 }, + { P_GPLL2_OUT_MAIN, 4 }, + { P_GPLL3_OUT_MAIN, 5 }, + { P_GPLL0_OUT_EVEN, 6 }, +}; + +static const struct clk_parent_data gcc_parent_data_3[] =3D { + { .index =3D DT_BI_TCXO }, + { .hw =3D &gpll0.clkr.hw }, + { .hw =3D &gpll4_out_even.clkr.hw }, + { .hw =3D &gpll4.clkr.hw }, + { .hw =3D &gpll2.clkr.hw }, + { .hw =3D &gpll3.clkr.hw }, + { .hw =3D &gpll0_out_even.clkr.hw }, +}; + +static const struct parent_map gcc_parent_map_4[] =3D { + { P_BI_TCXO, 0 }, + { P_SLEEP_CLK, 5 }, +}; + +static const struct clk_parent_data gcc_parent_data_4[] =3D { + { .index =3D DT_BI_TCXO }, + { .index =3D DT_SLEEP_CLK }, +}; + +static const struct parent_map gcc_parent_map_5[] =3D { + { P_BI_TCXO, 0 }, + { P_GPLL0_OUT_MAIN, 1 }, + { P_SLEEP_CLK, 5 }, +}; + +static const struct clk_parent_data gcc_parent_data_5[] =3D { + { .index =3D DT_BI_TCXO }, + { .hw =3D &gpll0.clkr.hw }, + { .index =3D DT_SLEEP_CLK }, +}; + +static const struct parent_map gcc_parent_map_6[] =3D { + { P_BI_TCXO, 2 }, +}; + +static struct clk_regmap_mux gcc_pcie_aux_clk_src =3D { + .reg =3D 0x5308c, + .shift =3D 0, + .width =3D 2, + .parent_map =3D gcc_parent_map_6, + .clkr =3D { + .hw.init =3D &(const struct clk_init_data) { + .name =3D "gcc_pcie_aux_clk_src", + .parent_data =3D &(const struct clk_parent_data) { + .index =3D DT_BI_TCXO, + }, + .num_parents =3D 1, + .ops =3D &clk_regmap_mux_closest_ops, + }, + }, +}; + +static struct clk_regmap_phy_mux gcc_pcie_pipe_clk_src =3D { + .reg =3D 0x53070, + .clkr =3D { + .hw.init =3D &(const struct clk_init_data) { + .name =3D "gcc_pcie_pipe_clk_src", + .parent_data =3D &(const struct clk_parent_data) { + .index =3D DT_PCIE_PIPE_CLK, + }, + .num_parents =3D 1, + .ops =3D &clk_regmap_phy_mux_ops, + }, + }, +}; + +static const struct freq_tbl ftbl_gcc_emac0_phy_aux_clk_src[] =3D { + F(19200000, P_BI_TCXO, 1, 0, 0), + { } +}; + +static struct clk_rcg2 gcc_emac0_phy_aux_clk_src =3D { + .cmd_rcgr =3D 0x7102c, + .mnd_width =3D 0, + .hid_width =3D 5, + .parent_map =3D gcc_parent_map_5, + .freq_tbl =3D ftbl_gcc_emac0_phy_aux_clk_src, + .clkr.hw.init =3D &(const struct clk_init_data) { + .name =3D "gcc_emac0_phy_aux_clk_src", + .parent_data =3D gcc_parent_data_5, + .num_parents =3D ARRAY_SIZE(gcc_parent_data_5), + .ops =3D &clk_rcg2_ops, + }, +}; + +static const struct freq_tbl ftbl_gcc_emac0_ptp_clk_src[] =3D { + F(62500000, P_GPLL4_OUT_EVEN, 4, 0, 0), + F(75000000, P_GPLL0_OUT_EVEN, 4, 0, 0), + F(125000000, P_GPLL2_OUT_MAIN, 4, 0, 0), + F(230400000, P_GPLL3_OUT_MAIN, 3.5, 0, 0), + { } +}; + +static struct clk_rcg2 gcc_emac0_ptp_clk_src =3D { + .cmd_rcgr =3D 0x71064, + .mnd_width =3D 16, + .hid_width =3D 5, + .parent_map =3D gcc_parent_map_3, + .freq_tbl =3D ftbl_gcc_emac0_ptp_clk_src, + .clkr.hw.init =3D &(const struct clk_init_data) { + .name =3D "gcc_emac0_ptp_clk_src", + .parent_data =3D gcc_parent_data_3, + .num_parents =3D ARRAY_SIZE(gcc_parent_data_3), + .ops =3D &clk_rcg2_ops, + }, +}; + +static const struct freq_tbl ftbl_gcc_emac0_rgmii_clk_src[] =3D { + F(41666667, P_GPLL4_OUT_EVEN, 6, 0, 0), + F(50000000, P_GPLL0_OUT_EVEN, 6, 0, 0), + F(125000000, P_GPLL2_OUT_MAIN, 4, 0, 0), + F(250000000, P_GPLL2_OUT_MAIN, 2, 0, 0), + { } +}; + +static struct clk_rcg2 gcc_emac0_rgmii_clk_src =3D { + .cmd_rcgr =3D 0x7104c, + .mnd_width =3D 16, + .hid_width =3D 5, + .parent_map =3D gcc_parent_map_3, + .freq_tbl =3D ftbl_gcc_emac0_rgmii_clk_src, + .clkr.hw.init =3D &(const struct clk_init_data) { + .name =3D "gcc_emac0_rgmii_clk_src", + .parent_data =3D gcc_parent_data_3, + .num_parents =3D ARRAY_SIZE(gcc_parent_data_3), + .ops =3D &clk_rcg2_ops, + }, +}; + +static const struct freq_tbl ftbl_gcc_gp1_clk_src[] =3D { + F(19200000, P_BI_TCXO, 1, 0, 0), + F(41666667, P_GPLL4_OUT_EVEN, 6, 0, 0), + F(50000000, P_GPLL0_OUT_EVEN, 6, 0, 0), + F(100000000, P_GPLL0_OUT_MAIN, 6, 0, 0), + F(200000000, P_GPLL0_OUT_MAIN, 3, 0, 0), + { } +}; + +static struct clk_rcg2 gcc_gp1_clk_src =3D { + .cmd_rcgr =3D 0x47004, + .mnd_width =3D 16, + .hid_width =3D 5, + .parent_map =3D gcc_parent_map_2, + .freq_tbl =3D ftbl_gcc_gp1_clk_src, + .clkr.hw.init =3D &(const struct clk_init_data) { + .name =3D "gcc_gp1_clk_src", + .parent_data =3D gcc_parent_data_2, + .num_parents =3D ARRAY_SIZE(gcc_parent_data_2), + .ops =3D &clk_rcg2_ops, + }, +}; + +static struct clk_rcg2 gcc_gp2_clk_src =3D { + .cmd_rcgr =3D 0x48004, + .mnd_width =3D 16, + .hid_width =3D 5, + .parent_map =3D gcc_parent_map_2, + .freq_tbl =3D ftbl_gcc_gp1_clk_src, + .clkr.hw.init =3D &(const struct clk_init_data) { + .name =3D "gcc_gp2_clk_src", + .parent_data =3D gcc_parent_data_2, + .num_parents =3D ARRAY_SIZE(gcc_parent_data_2), + .ops =3D &clk_rcg2_ops, + }, +}; + +static struct clk_rcg2 gcc_gp3_clk_src =3D { + .cmd_rcgr =3D 0x49004, + .mnd_width =3D 16, + .hid_width =3D 5, + .parent_map =3D gcc_parent_map_2, + .freq_tbl =3D ftbl_gcc_gp1_clk_src, + .clkr.hw.init =3D &(const struct clk_init_data) { + .name =3D "gcc_gp3_clk_src", + .parent_data =3D gcc_parent_data_2, + .num_parents =3D ARRAY_SIZE(gcc_parent_data_2), + .ops =3D &clk_rcg2_ops, + }, +}; + +static struct clk_rcg2 gcc_pcie_aux_phy_clk_src =3D { + .cmd_rcgr =3D 0x53074, + .mnd_width =3D 16, + .hid_width =3D 5, + .parent_map =3D gcc_parent_map_4, + .freq_tbl =3D ftbl_gcc_emac0_phy_aux_clk_src, + .clkr.hw.init =3D &(const struct clk_init_data) { + .name =3D "gcc_pcie_aux_phy_clk_src", + .parent_data =3D gcc_parent_data_4, + .num_parents =3D ARRAY_SIZE(gcc_parent_data_4), + .ops =3D &clk_rcg2_ops, + }, +}; + +static const struct freq_tbl ftbl_gcc_pcie_rchng_phy_clk_src[] =3D { + F(19200000, P_BI_TCXO, 1, 0, 0), + F(83333333, P_GPLL4_OUT_EVEN, 3, 0, 0), + F(100000000, P_GPLL0_OUT_EVEN, 3, 0, 0), + { } +}; + +static struct clk_rcg2 gcc_pcie_rchng_phy_clk_src =3D { + .cmd_rcgr =3D 0x53038, + .mnd_width =3D 0, + .hid_width =3D 5, + .parent_map =3D gcc_parent_map_2, + .freq_tbl =3D ftbl_gcc_pcie_rchng_phy_clk_src, + .clkr.hw.init =3D &(const struct clk_init_data) { + .name =3D "gcc_pcie_rchng_phy_clk_src", + .parent_data =3D gcc_parent_data_2, + .num_parents =3D ARRAY_SIZE(gcc_parent_data_2), + .ops =3D &clk_rcg2_ops, + }, +}; + +static const struct freq_tbl ftbl_gcc_pdm2_clk_src[] =3D { + F(19200000, P_BI_TCXO, 1, 0, 0), + F(60000000, P_GPLL0_OUT_MAIN, 10, 0, 0), + { } +}; + +static struct clk_rcg2 gcc_pdm2_clk_src =3D { + .cmd_rcgr =3D 0x34010, + .mnd_width =3D 0, + .hid_width =3D 5, + .parent_map =3D gcc_parent_map_1, + .freq_tbl =3D ftbl_gcc_pdm2_clk_src, + .clkr.hw.init =3D &(const struct clk_init_data) { + .name =3D "gcc_pdm2_clk_src", + .parent_data =3D gcc_parent_data_1, + .num_parents =3D ARRAY_SIZE(gcc_parent_data_1), + .ops =3D &clk_rcg2_ops, + }, +}; + +static const struct freq_tbl ftbl_gcc_qupv3_wrap0_s0_clk_src[] =3D { + F(7372800, P_GPLL0_OUT_EVEN, 1, 384, 15625), + F(14745600, P_GPLL0_OUT_EVEN, 1, 768, 15625), + F(19200000, P_BI_TCXO, 1, 0, 0), + F(29491200, P_GPLL0_OUT_EVEN, 1, 1536, 15625), + F(32000000, P_GPLL0_OUT_EVEN, 1, 8, 75), + F(48000000, P_GPLL0_OUT_EVEN, 1, 4, 25), + F(62500000, P_GPLL4_OUT_EVEN, 4, 0, 0), + F(64000000, P_GPLL0_OUT_EVEN, 1, 16, 75), + F(75000000, P_GPLL0_OUT_EVEN, 4, 0, 0), + F(80000000, P_GPLL0_OUT_EVEN, 1, 4, 15), + F(96000000, P_GPLL0_OUT_EVEN, 1, 8, 25), + F(100000000, P_GPLL0_OUT_MAIN, 6, 0, 0), + { } +}; + +static struct clk_init_data gcc_qupv3_wrap0_s0_clk_src_init =3D { + .name =3D "gcc_qupv3_wrap0_s0_clk_src", + .parent_data =3D gcc_parent_data_0, + .num_parents =3D ARRAY_SIZE(gcc_parent_data_0), + .ops =3D &clk_rcg2_ops, +}; + +static struct clk_rcg2 gcc_qupv3_wrap0_s0_clk_src =3D { + .cmd_rcgr =3D 0x6c004, + .mnd_width =3D 16, + .hid_width =3D 5, + .parent_map =3D gcc_parent_map_0, + .freq_tbl =3D ftbl_gcc_qupv3_wrap0_s0_clk_src, + .clkr.hw.init =3D &gcc_qupv3_wrap0_s0_clk_src_init, +}; + +static struct clk_init_data gcc_qupv3_wrap0_s1_clk_src_init =3D { + .name =3D "gcc_qupv3_wrap0_s1_clk_src", + .parent_data =3D gcc_parent_data_0, + .num_parents =3D ARRAY_SIZE(gcc_parent_data_0), + .ops =3D &clk_rcg2_ops, +}; + +static struct clk_rcg2 gcc_qupv3_wrap0_s1_clk_src =3D { + .cmd_rcgr =3D 0x6c13c, + .mnd_width =3D 16, + .hid_width =3D 5, + .parent_map =3D gcc_parent_map_0, + .freq_tbl =3D ftbl_gcc_qupv3_wrap0_s0_clk_src, + .clkr.hw.init =3D &gcc_qupv3_wrap0_s1_clk_src_init, +}; + +static struct clk_init_data gcc_qupv3_wrap0_s2_clk_src_init =3D { + .name =3D "gcc_qupv3_wrap0_s2_clk_src", + .parent_data =3D gcc_parent_data_0, + .num_parents =3D ARRAY_SIZE(gcc_parent_data_0), + .ops =3D &clk_rcg2_ops, +}; + +static struct clk_rcg2 gcc_qupv3_wrap0_s2_clk_src =3D { + .cmd_rcgr =3D 0x6c274, + .mnd_width =3D 16, + .hid_width =3D 5, + .parent_map =3D gcc_parent_map_0, + .freq_tbl =3D ftbl_gcc_qupv3_wrap0_s0_clk_src, + .clkr.hw.init =3D &gcc_qupv3_wrap0_s2_clk_src_init, +}; + +static struct clk_init_data gcc_qupv3_wrap0_s3_clk_src_init =3D { + .name =3D "gcc_qupv3_wrap0_s3_clk_src", + .parent_data =3D gcc_parent_data_0, + .num_parents =3D ARRAY_SIZE(gcc_parent_data_0), + .ops =3D &clk_rcg2_ops, +}; + +static struct clk_rcg2 gcc_qupv3_wrap0_s3_clk_src =3D { + .cmd_rcgr =3D 0x6c3ac, + .mnd_width =3D 16, + .hid_width =3D 5, + .parent_map =3D gcc_parent_map_0, + .freq_tbl =3D ftbl_gcc_qupv3_wrap0_s0_clk_src, + .clkr.hw.init =3D &gcc_qupv3_wrap0_s3_clk_src_init, +}; + +static struct clk_init_data gcc_qupv3_wrap0_s4_clk_src_init =3D { + .name =3D "gcc_qupv3_wrap0_s4_clk_src", + .parent_data =3D gcc_parent_data_0, + .num_parents =3D ARRAY_SIZE(gcc_parent_data_0), + .ops =3D &clk_rcg2_ops, +}; + +static struct clk_rcg2 gcc_qupv3_wrap0_s4_clk_src =3D { + .cmd_rcgr =3D 0x6c4e4, + .mnd_width =3D 16, + .hid_width =3D 5, + .parent_map =3D gcc_parent_map_0, + .freq_tbl =3D ftbl_gcc_qupv3_wrap0_s0_clk_src, + .clkr.hw.init =3D &gcc_qupv3_wrap0_s4_clk_src_init, +}; + +static const struct freq_tbl ftbl_gcc_sdcc4_apps_clk_src[] =3D { + F(400000, P_BI_TCXO, 12, 1, 4), + F(19200000, P_BI_TCXO, 1, 0, 0), + F(25000000, P_GPLL0_OUT_EVEN, 12, 1, 1), + F(50000000, P_GPLL0_OUT_EVEN, 6, 0, 0), + F(83333333, P_GPLL4_OUT_EVEN, 3, 0, 0), + F(100000000, P_GPLL0_OUT_EVEN, 3, 0, 0), + { } +}; + +static struct clk_rcg2 gcc_sdcc4_apps_clk_src =3D { + .cmd_rcgr =3D 0x6a01c, + .mnd_width =3D 8, + .hid_width =3D 5, + .parent_map =3D gcc_parent_map_0, + .freq_tbl =3D ftbl_gcc_sdcc4_apps_clk_src, + .clkr.hw.init =3D &(const struct clk_init_data) { + .name =3D "gcc_sdcc4_apps_clk_src", + .parent_data =3D gcc_parent_data_0, + .num_parents =3D ARRAY_SIZE(gcc_parent_data_0), + .ops =3D &clk_rcg2_ops, + }, +}; + +static const struct freq_tbl ftbl_gcc_usb20_master_clk_src[] =3D { + F(50000000, P_GPLL4_OUT_EVEN, 5, 0, 0), + F(60000000, P_GPLL0_OUT_EVEN, 5, 0, 0), + F(120000000, P_GPLL0_OUT_MAIN, 5, 0, 0), + { } +}; + +static struct clk_rcg2 gcc_usb20_master_clk_src =3D { + .cmd_rcgr =3D 0x27048, + .mnd_width =3D 8, + .hid_width =3D 5, + .parent_map =3D gcc_parent_map_0, + .freq_tbl =3D ftbl_gcc_usb20_master_clk_src, + .clkr.hw.init =3D &(const struct clk_init_data) { + .name =3D "gcc_usb20_master_clk_src", + .parent_data =3D gcc_parent_data_0, + .num_parents =3D ARRAY_SIZE(gcc_parent_data_0), + .ops =3D &clk_rcg2_ops, + }, +}; + +static struct clk_rcg2 gcc_usb20_mock_utmi_clk_src =3D { + .cmd_rcgr =3D 0x2702c, + .mnd_width =3D 0, + .hid_width =3D 5, + .parent_map =3D gcc_parent_map_1, + .freq_tbl =3D ftbl_gcc_emac0_phy_aux_clk_src, + .clkr.hw.init =3D &(const struct clk_init_data) { + .name =3D "gcc_usb20_mock_utmi_clk_src", + .parent_data =3D gcc_parent_data_1, + .num_parents =3D ARRAY_SIZE(gcc_parent_data_1), + .ops =3D &clk_rcg2_ops, + }, +}; + +static struct clk_regmap_div gcc_usb20_mock_utmi_postdiv_clk_src =3D { + .reg =3D 0x27044, + .shift =3D 0, + .width =3D 4, + .clkr.hw.init =3D &(const struct clk_init_data) { + .name =3D "gcc_usb20_mock_utmi_postdiv_clk_src", + .parent_hws =3D (const struct clk_hw*[]) { + &gcc_usb20_mock_utmi_clk_src.clkr.hw, + }, + .num_parents =3D 1, + .flags =3D CLK_SET_RATE_PARENT, + .ops =3D &clk_regmap_div_ro_ops, + }, +}; + +static struct clk_branch gcc_boot_rom_ahb_clk =3D { + .halt_reg =3D 0x37004, + .halt_check =3D BRANCH_HALT_VOTED, + .hwcg_reg =3D 0x37004, + .hwcg_bit =3D 1, + .clkr =3D { + .enable_reg =3D 0x7d008, + .enable_mask =3D BIT(26), + .hw.init =3D &(const struct clk_init_data) { + .name =3D "gcc_boot_rom_ahb_clk", + .ops =3D &clk_branch2_ops, + }, + }, +}; + +static struct clk_branch gcc_emac0_axi_clk =3D { + .halt_reg =3D 0x71018, + .halt_check =3D BRANCH_HALT_VOTED, + .hwcg_reg =3D 0x71018, + .hwcg_bit =3D 1, + .clkr =3D { + .enable_reg =3D 0x71018, + .enable_mask =3D BIT(0), + .hw.init =3D &(const struct clk_init_data) { + .name =3D "gcc_emac0_axi_clk", + .ops =3D &clk_branch2_ops, + }, + }, +}; + +static struct clk_branch gcc_emac0_phy_aux_clk =3D { + .halt_reg =3D 0x71028, + .halt_check =3D BRANCH_HALT, + .clkr =3D { + .enable_reg =3D 0x71028, + .enable_mask =3D BIT(0), + .hw.init =3D &(const struct clk_init_data) { + .name =3D "gcc_emac0_phy_aux_clk", + .parent_hws =3D (const struct clk_hw*[]) { + &gcc_emac0_phy_aux_clk_src.clkr.hw, + }, + .num_parents =3D 1, + .flags =3D CLK_SET_RATE_PARENT, + .ops =3D &clk_branch2_ops, + }, + }, +}; + +static struct clk_branch gcc_emac0_ptp_clk =3D { + .halt_reg =3D 0x71044, + .halt_check =3D BRANCH_HALT, + .clkr =3D { + .enable_reg =3D 0x71044, + .enable_mask =3D BIT(0), + .hw.init =3D &(const struct clk_init_data) { + .name =3D "gcc_emac0_ptp_clk", + .parent_hws =3D (const struct clk_hw*[]) { + &gcc_emac0_ptp_clk_src.clkr.hw, + }, + .num_parents =3D 1, + .flags =3D CLK_SET_RATE_PARENT, + .ops =3D &clk_branch2_ops, + }, + }, +}; + +static struct clk_branch gcc_emac0_rgmii_clk =3D { + .halt_reg =3D 0x71048, + .halt_check =3D BRANCH_HALT, + .clkr =3D { + .enable_reg =3D 0x71048, + .enable_mask =3D BIT(0), + .hw.init =3D &(const struct clk_init_data) { + .name =3D "gcc_emac0_rgmii_clk", + .parent_hws =3D (const struct clk_hw*[]) { + &gcc_emac0_rgmii_clk_src.clkr.hw, + }, + .num_parents =3D 1, + .flags =3D CLK_SET_RATE_PARENT, + .ops =3D &clk_branch2_ops, + }, + }, +}; + +static struct clk_branch gcc_emac0_slv_ahb_clk =3D { + .halt_reg =3D 0x71024, + .halt_check =3D BRANCH_HALT_VOTED, + .hwcg_reg =3D 0x71024, + .hwcg_bit =3D 1, + .clkr =3D { + .enable_reg =3D 0x71024, + .enable_mask =3D BIT(0), + .hw.init =3D &(const struct clk_init_data) { + .name =3D "gcc_emac0_slv_ahb_clk", + .ops =3D &clk_branch2_ops, + }, + }, +}; + +static struct clk_branch gcc_emac_0_clkref_en =3D { + .halt_reg =3D 0x94004, + .halt_check =3D BRANCH_HALT_DELAY, + .clkr =3D { + .enable_reg =3D 0x94004, + .enable_mask =3D BIT(0), + .hw.init =3D &(const struct clk_init_data) { + .name =3D "gcc_emac_0_clkref_en", + .ops =3D &clk_branch2_ops, + }, + }, +}; + +static struct clk_branch gcc_gp1_clk =3D { + .halt_reg =3D 0x47000, + .halt_check =3D BRANCH_HALT, + .clkr =3D { + .enable_reg =3D 0x47000, + .enable_mask =3D BIT(0), + .hw.init =3D &(const struct clk_init_data) { + .name =3D "gcc_gp1_clk", + .parent_hws =3D (const struct clk_hw*[]) { + &gcc_gp1_clk_src.clkr.hw, + }, + .num_parents =3D 1, + .flags =3D CLK_SET_RATE_PARENT, + .ops =3D &clk_branch2_ops, + }, + }, +}; + +static struct clk_branch gcc_gp2_clk =3D { + .halt_reg =3D 0x48000, + .halt_check =3D BRANCH_HALT, + .clkr =3D { + .enable_reg =3D 0x48000, + .enable_mask =3D BIT(0), + .hw.init =3D &(const struct clk_init_data) { + .name =3D "gcc_gp2_clk", + .parent_hws =3D (const struct clk_hw*[]) { + &gcc_gp2_clk_src.clkr.hw, + }, + .num_parents =3D 1, + .flags =3D CLK_SET_RATE_PARENT, + .ops =3D &clk_branch2_ops, + }, + }, +}; + +static struct clk_branch gcc_gp3_clk =3D { + .halt_reg =3D 0x49000, + .halt_check =3D BRANCH_HALT, + .clkr =3D { + .enable_reg =3D 0x49000, + .enable_mask =3D BIT(0), + .hw.init =3D &(const struct clk_init_data) { + .name =3D "gcc_gp3_clk", + .parent_hws =3D (const struct clk_hw*[]) { + &gcc_gp3_clk_src.clkr.hw, + }, + .num_parents =3D 1, + .flags =3D CLK_SET_RATE_PARENT, + .ops =3D &clk_branch2_ops, + }, + }, +}; + +static struct clk_branch gcc_pcie_0_clkref_en =3D { + .halt_reg =3D 0x94000, + .halt_check =3D BRANCH_HALT_DELAY, + .clkr =3D { + .enable_reg =3D 0x94000, + .enable_mask =3D BIT(0), + .hw.init =3D &(const struct clk_init_data) { + .name =3D "gcc_pcie_0_clkref_en", + .ops =3D &clk_branch2_ops, + }, + }, +}; + +static struct clk_branch gcc_pcie_aux_clk =3D { + .halt_reg =3D 0x53054, + .halt_check =3D BRANCH_HALT_DELAY, + .hwcg_reg =3D 0x53054, + .hwcg_bit =3D 1, + .clkr =3D { + .enable_reg =3D 0x7d010, + .enable_mask =3D BIT(15), + .hw.init =3D &(const struct clk_init_data) { + .name =3D "gcc_pcie_aux_clk", + .parent_hws =3D (const struct clk_hw*[]) { + &gcc_pcie_aux_clk_src.clkr.hw, + }, + .num_parents =3D 1, + .flags =3D CLK_SET_RATE_PARENT, + .ops =3D &clk_branch2_ops, + }, + }, +}; + +static struct clk_branch gcc_pcie_cfg_ahb_clk =3D { + .halt_reg =3D 0x53034, + .halt_check =3D BRANCH_HALT_VOTED, + .hwcg_reg =3D 0x53034, + .hwcg_bit =3D 1, + .clkr =3D { + .enable_reg =3D 0x7d010, + .enable_mask =3D BIT(13), + .hw.init =3D &(const struct clk_init_data) { + .name =3D "gcc_pcie_cfg_ahb_clk", + .ops =3D &clk_branch2_ops, + }, + }, +}; + +static struct clk_branch gcc_pcie_mstr_axi_clk =3D { + .halt_reg =3D 0x53028, + .halt_check =3D BRANCH_HALT_VOTED, + .hwcg_reg =3D 0x53028, + .hwcg_bit =3D 1, + .clkr =3D { + .enable_reg =3D 0x7d010, + .enable_mask =3D BIT(12), + .hw.init =3D &(const struct clk_init_data) { + .name =3D "gcc_pcie_mstr_axi_clk", + .ops =3D &clk_branch2_ops, + }, + }, +}; + +static struct clk_branch gcc_pcie_pipe_clk =3D { + .halt_reg =3D 0x53064, + .halt_check =3D BRANCH_HALT_DELAY, + .hwcg_reg =3D 0x53064, + .hwcg_bit =3D 1, + .clkr =3D { + .enable_reg =3D 0x7d010, + .enable_mask =3D BIT(17), + .hw.init =3D &(const struct clk_init_data) { + .name =3D "gcc_pcie_pipe_clk", + .parent_hws =3D (const struct clk_hw*[]) { + &gcc_pcie_pipe_clk_src.clkr.hw, + }, + .num_parents =3D 1, + .flags =3D CLK_SET_RATE_PARENT, + .ops =3D &clk_branch2_ops, + }, + }, +}; + +static struct clk_branch gcc_pcie_rchng_phy_clk =3D { + .halt_reg =3D 0x53050, + .halt_check =3D BRANCH_HALT_VOTED, + .hwcg_reg =3D 0x53050, + .hwcg_bit =3D 1, + .clkr =3D { + .enable_reg =3D 0x7d010, + .enable_mask =3D BIT(14), + .hw.init =3D &(const struct clk_init_data) { + .name =3D "gcc_pcie_rchng_phy_clk", + .parent_hws =3D (const struct clk_hw*[]) { + &gcc_pcie_rchng_phy_clk_src.clkr.hw, + }, + .num_parents =3D 1, + .flags =3D CLK_SET_RATE_PARENT, + .ops =3D &clk_branch2_ops, + }, + }, +}; + +static struct clk_branch gcc_pcie_sleep_clk =3D { + .halt_reg =3D 0x53060, + .halt_check =3D BRANCH_HALT_VOTED, + .hwcg_reg =3D 0x53060, + .hwcg_bit =3D 1, + .clkr =3D { + .enable_reg =3D 0x7d010, + .enable_mask =3D BIT(16), + .hw.init =3D &(const struct clk_init_data) { + .name =3D "gcc_pcie_sleep_clk", + .parent_hws =3D (const struct clk_hw*[]) { + &gcc_pcie_aux_phy_clk_src.clkr.hw, + }, + .num_parents =3D 1, + .flags =3D CLK_SET_RATE_PARENT, + .ops =3D &clk_branch2_ops, + }, + }, +}; + +static struct clk_branch gcc_pcie_slv_axi_clk =3D { + .halt_reg =3D 0x5301c, + .halt_check =3D BRANCH_HALT_VOTED, + .clkr =3D { + .enable_reg =3D 0x7d010, + .enable_mask =3D BIT(11), + .hw.init =3D &(const struct clk_init_data) { + .name =3D "gcc_pcie_slv_axi_clk", + .ops =3D &clk_branch2_ops, + }, + }, +}; + +static struct clk_branch gcc_pcie_slv_q2a_axi_clk =3D { + .halt_reg =3D 0x53018, + .halt_check =3D BRANCH_HALT_VOTED, + .hwcg_reg =3D 0x53018, + .hwcg_bit =3D 1, + .clkr =3D { + .enable_reg =3D 0x7d010, + .enable_mask =3D BIT(10), + .hw.init =3D &(const struct clk_init_data) { + .name =3D "gcc_pcie_slv_q2a_axi_clk", + .ops =3D &clk_branch2_ops, + }, + }, +}; + +static struct clk_branch gcc_pdm2_clk =3D { + .halt_reg =3D 0x3400c, + .halt_check =3D BRANCH_HALT, + .clkr =3D { + .enable_reg =3D 0x3400c, + .enable_mask =3D BIT(0), + .hw.init =3D &(const struct clk_init_data) { + .name =3D "gcc_pdm2_clk", + .parent_hws =3D (const struct clk_hw*[]) { + &gcc_pdm2_clk_src.clkr.hw, + }, + .num_parents =3D 1, + .flags =3D CLK_SET_RATE_PARENT, + .ops =3D &clk_branch2_ops, + }, + }, +}; + +static struct clk_branch gcc_pdm_ahb_clk =3D { + .halt_reg =3D 0x34004, + .halt_check =3D BRANCH_HALT, + .clkr =3D { + .enable_reg =3D 0x34004, + .enable_mask =3D BIT(0), + .hw.init =3D &(const struct clk_init_data) { + .name =3D "gcc_pdm_ahb_clk", + .ops =3D &clk_branch2_ops, + }, + }, +}; + +static struct clk_branch gcc_pdm_xo4_clk =3D { + .halt_reg =3D 0x34008, + .halt_check =3D BRANCH_HALT, + .clkr =3D { + .enable_reg =3D 0x34008, + .enable_mask =3D BIT(0), + .hw.init =3D &(const struct clk_init_data) { + .name =3D "gcc_pdm_xo4_clk", + .ops =3D &clk_branch2_ops, + }, + }, +}; + +static struct clk_branch gcc_qupv3_wrap0_core_2x_clk =3D { + .halt_reg =3D 0x2d018, + .halt_check =3D BRANCH_HALT_VOTED, + .clkr =3D { + .enable_reg =3D 0x7d008, + .enable_mask =3D BIT(15), + .hw.init =3D &(const struct clk_init_data) { + .name =3D "gcc_qupv3_wrap0_core_2x_clk", + .ops =3D &clk_branch2_ops, + }, + }, +}; + +static struct clk_branch gcc_qupv3_wrap0_core_clk =3D { + .halt_reg =3D 0x2d008, + .halt_check =3D BRANCH_HALT_VOTED, + .clkr =3D { + .enable_reg =3D 0x7d008, + .enable_mask =3D BIT(14), + .hw.init =3D &(const struct clk_init_data) { + .name =3D "gcc_qupv3_wrap0_core_clk", + .ops =3D &clk_branch2_ops, + }, + }, +}; + +static struct clk_branch gcc_qupv3_wrap0_s0_clk =3D { + .halt_reg =3D 0x6c130, + .halt_check =3D BRANCH_HALT_VOTED, + .clkr =3D { + .enable_reg =3D 0x7d008, + .enable_mask =3D BIT(16), + .hw.init =3D &(const struct clk_init_data) { + .name =3D "gcc_qupv3_wrap0_s0_clk", + .parent_hws =3D (const struct clk_hw*[]) { + &gcc_qupv3_wrap0_s0_clk_src.clkr.hw, + }, + .num_parents =3D 1, + .flags =3D CLK_SET_RATE_PARENT, + .ops =3D &clk_branch2_ops, + }, + }, +}; + +static struct clk_branch gcc_qupv3_wrap0_s1_clk =3D { + .halt_reg =3D 0x6c268, + .halt_check =3D BRANCH_HALT_VOTED, + .clkr =3D { + .enable_reg =3D 0x7d008, + .enable_mask =3D BIT(17), + .hw.init =3D &(const struct clk_init_data) { + .name =3D "gcc_qupv3_wrap0_s1_clk", + .parent_hws =3D (const struct clk_hw*[]) { + &gcc_qupv3_wrap0_s1_clk_src.clkr.hw, + }, + .num_parents =3D 1, + .flags =3D CLK_SET_RATE_PARENT, + .ops =3D &clk_branch2_ops, + }, + }, +}; + +static struct clk_branch gcc_qupv3_wrap0_s2_clk =3D { + .halt_reg =3D 0x6c3a0, + .halt_check =3D BRANCH_HALT_VOTED, + .clkr =3D { + .enable_reg =3D 0x7d008, + .enable_mask =3D BIT(18), + .hw.init =3D &(const struct clk_init_data) { + .name =3D "gcc_qupv3_wrap0_s2_clk", + .parent_hws =3D (const struct clk_hw*[]) { + &gcc_qupv3_wrap0_s2_clk_src.clkr.hw, + }, + .num_parents =3D 1, + .flags =3D CLK_SET_RATE_PARENT, + .ops =3D &clk_branch2_ops, + }, + }, +}; + +static struct clk_branch gcc_qupv3_wrap0_s3_clk =3D { + .halt_reg =3D 0x6c4d8, + .halt_check =3D BRANCH_HALT_VOTED, + .clkr =3D { + .enable_reg =3D 0x7d008, + .enable_mask =3D BIT(19), + .hw.init =3D &(const struct clk_init_data) { + .name =3D "gcc_qupv3_wrap0_s3_clk", + .parent_hws =3D (const struct clk_hw*[]) { + &gcc_qupv3_wrap0_s3_clk_src.clkr.hw, + }, + .num_parents =3D 1, + .flags =3D CLK_SET_RATE_PARENT, + .ops =3D &clk_branch2_ops, + }, + }, +}; + +static struct clk_branch gcc_qupv3_wrap0_s4_clk =3D { + .halt_reg =3D 0x6c610, + .halt_check =3D BRANCH_HALT_VOTED, + .clkr =3D { + .enable_reg =3D 0x7d008, + .enable_mask =3D BIT(20), + .hw.init =3D &(const struct clk_init_data) { + .name =3D "gcc_qupv3_wrap0_s4_clk", + .parent_hws =3D (const struct clk_hw*[]) { + &gcc_qupv3_wrap0_s4_clk_src.clkr.hw, + }, + .num_parents =3D 1, + .flags =3D CLK_SET_RATE_PARENT, + .ops =3D &clk_branch2_ops, + }, + }, +}; + +static struct clk_branch gcc_qupv3_wrap_0_m_ahb_clk =3D { + .halt_reg =3D 0x2d000, + .halt_check =3D BRANCH_HALT_VOTED, + .hwcg_reg =3D 0x2d000, + .hwcg_bit =3D 1, + .clkr =3D { + .enable_reg =3D 0x7d008, + .enable_mask =3D BIT(12), + .hw.init =3D &(const struct clk_init_data) { + .name =3D "gcc_qupv3_wrap_0_m_ahb_clk", + .ops =3D &clk_branch2_ops, + }, + }, +}; + +static struct clk_branch gcc_qupv3_wrap_0_s_ahb_clk =3D { + .halt_reg =3D 0x2d004, + .halt_check =3D BRANCH_HALT_VOTED, + .hwcg_reg =3D 0x2d004, + .hwcg_bit =3D 1, + .clkr =3D { + .enable_reg =3D 0x7d008, + .enable_mask =3D BIT(13), + .hw.init =3D &(const struct clk_init_data) { + .name =3D "gcc_qupv3_wrap_0_s_ahb_clk", + .ops =3D &clk_branch2_ops, + }, + }, +}; + +static struct clk_branch gcc_sdcc4_ahb_clk =3D { + .halt_reg =3D 0x6a010, + .halt_check =3D BRANCH_HALT, + .clkr =3D { + .enable_reg =3D 0x6a010, + .enable_mask =3D BIT(0), + .hw.init =3D &(const struct clk_init_data) { + .name =3D "gcc_sdcc4_ahb_clk", + .ops =3D &clk_branch2_ops, + }, + }, +}; + +static struct clk_branch gcc_sdcc4_apps_clk =3D { + .halt_reg =3D 0x6a004, + .halt_check =3D BRANCH_HALT, + .clkr =3D { + .enable_reg =3D 0x6a004, + .enable_mask =3D BIT(0), + .hw.init =3D &(const struct clk_init_data) { + .name =3D "gcc_sdcc4_apps_clk", + .parent_hws =3D (const struct clk_hw*[]) { + &gcc_sdcc4_apps_clk_src.clkr.hw, + }, + .num_parents =3D 1, + .flags =3D CLK_SET_RATE_PARENT, + .ops =3D &clk_branch2_ops, + }, + }, +}; + +static struct clk_branch gcc_snoc_cnoc_usb3_clk =3D { + .halt_reg =3D 0x27060, + .halt_check =3D BRANCH_HALT_VOTED, + .hwcg_reg =3D 0x27060, + .hwcg_bit =3D 1, + .clkr =3D { + .enable_reg =3D 0x27060, + .enable_mask =3D BIT(0), + .hw.init =3D &(const struct clk_init_data) { + .name =3D "gcc_snoc_cnoc_usb3_clk", + .parent_hws =3D (const struct clk_hw*[]) { + &gcc_usb20_master_clk_src.clkr.hw, + }, + .num_parents =3D 1, + .flags =3D CLK_SET_RATE_PARENT, + .ops =3D &clk_branch2_ops, + }, + }, +}; + +static struct clk_branch gcc_sys_noc_usb_sf_axi_clk =3D { + .halt_reg =3D 0x27064, + .halt_check =3D BRANCH_HALT_VOTED, + .hwcg_reg =3D 0x27064, + .hwcg_bit =3D 1, + .clkr =3D { + .enable_reg =3D 0x27064, + .enable_mask =3D BIT(0), + .hw.init =3D &(const struct clk_init_data) { + .name =3D "gcc_sys_noc_usb_sf_axi_clk", + .parent_hws =3D (const struct clk_hw*[]) { + &gcc_usb20_master_clk_src.clkr.hw, + }, + .num_parents =3D 1, + .flags =3D CLK_SET_RATE_PARENT, + .ops =3D &clk_branch2_ops, + }, + }, +}; + +static struct clk_branch gcc_usb20_master_clk =3D { + .halt_reg =3D 0x27018, + .halt_check =3D BRANCH_HALT_VOTED, + .clkr =3D { + .enable_reg =3D 0x27018, + .enable_mask =3D BIT(0), + .hw.init =3D &(const struct clk_init_data) { + .name =3D "gcc_usb20_master_clk", + .parent_hws =3D (const struct clk_hw*[]) { + &gcc_usb20_master_clk_src.clkr.hw, + }, + .num_parents =3D 1, + .flags =3D CLK_SET_RATE_PARENT, + .ops =3D &clk_branch2_ops, + }, + }, +}; + +static struct clk_branch gcc_usb20_mock_utmi_clk =3D { + .halt_reg =3D 0x27028, + .halt_check =3D BRANCH_HALT_VOTED, + .clkr =3D { + .enable_reg =3D 0x27028, + .enable_mask =3D BIT(0), + .hw.init =3D &(const struct clk_init_data) { + .name =3D "gcc_usb20_mock_utmi_clk", + .parent_hws =3D (const struct clk_hw*[]) { + &gcc_usb20_mock_utmi_postdiv_clk_src.clkr.hw, + }, + .num_parents =3D 1, + .flags =3D CLK_SET_RATE_PARENT, + .ops =3D &clk_branch2_ops, + }, + }, +}; + +static struct clk_branch gcc_usb20_sleep_clk =3D { + .halt_reg =3D 0x27024, + .halt_check =3D BRANCH_HALT_VOTED, + .clkr =3D { + .enable_reg =3D 0x27024, + .enable_mask =3D BIT(0), + .hw.init =3D &(const struct clk_init_data) { + .name =3D "gcc_usb20_sleep_clk", + .ops =3D &clk_branch2_ops, + }, + }, +}; + +static struct clk_branch gcc_usb2_clkref_en =3D { + .halt_reg =3D 0x94008, + .halt_check =3D BRANCH_HALT_DELAY, + .clkr =3D { + .enable_reg =3D 0x94008, + .enable_mask =3D BIT(0), + .hw.init =3D &(const struct clk_init_data) { + .name =3D "gcc_usb2_clkref_en", + .ops =3D &clk_branch2_ops, + }, + }, +}; + +static struct clk_branch gcc_usb3_prim_clkref_en =3D { + .halt_reg =3D 0x9400c, + .halt_check =3D BRANCH_HALT_DELAY, + .clkr =3D { + .enable_reg =3D 0x9400c, + .enable_mask =3D BIT(0), + .hw.init =3D &(const struct clk_init_data) { + .name =3D "gcc_usb3_prim_clkref_en", + .ops =3D &clk_branch2_ops, + }, + }, +}; + +static struct clk_branch gcc_usb_phy_cfg_ahb2phy_clk =3D { + .halt_reg =3D 0x29004, + .halt_check =3D BRANCH_HALT, + .hwcg_reg =3D 0x29004, + .hwcg_bit =3D 1, + .clkr =3D { + .enable_reg =3D 0x29004, + .enable_mask =3D BIT(0), + .hw.init =3D &(const struct clk_init_data) { + .name =3D "gcc_usb_phy_cfg_ahb2phy_clk", + .ops =3D &clk_branch2_aon_ops, + }, + }, +}; + +static struct clk_regmap *gcc_kuno_clocks[] =3D { + [GCC_BOOT_ROM_AHB_CLK] =3D &gcc_boot_rom_ahb_clk.clkr, + [GCC_EMAC0_AXI_CLK] =3D &gcc_emac0_axi_clk.clkr, + [GCC_EMAC0_PHY_AUX_CLK] =3D &gcc_emac0_phy_aux_clk.clkr, + [GCC_EMAC0_PHY_AUX_CLK_SRC] =3D &gcc_emac0_phy_aux_clk_src.clkr, + [GCC_EMAC0_PTP_CLK] =3D &gcc_emac0_ptp_clk.clkr, + [GCC_EMAC0_PTP_CLK_SRC] =3D &gcc_emac0_ptp_clk_src.clkr, + [GCC_EMAC0_RGMII_CLK] =3D &gcc_emac0_rgmii_clk.clkr, + [GCC_EMAC0_RGMII_CLK_SRC] =3D &gcc_emac0_rgmii_clk_src.clkr, + [GCC_EMAC0_SLV_AHB_CLK] =3D &gcc_emac0_slv_ahb_clk.clkr, + [GCC_EMAC_0_CLKREF_EN] =3D &gcc_emac_0_clkref_en.clkr, + [GCC_GP1_CLK] =3D &gcc_gp1_clk.clkr, + [GCC_GP1_CLK_SRC] =3D &gcc_gp1_clk_src.clkr, + [GCC_GP2_CLK] =3D &gcc_gp2_clk.clkr, + [GCC_GP2_CLK_SRC] =3D &gcc_gp2_clk_src.clkr, + [GCC_GP3_CLK] =3D &gcc_gp3_clk.clkr, + [GCC_GP3_CLK_SRC] =3D &gcc_gp3_clk_src.clkr, + [GCC_PCIE_0_CLKREF_EN] =3D &gcc_pcie_0_clkref_en.clkr, + [GCC_PCIE_AUX_CLK] =3D &gcc_pcie_aux_clk.clkr, + [GCC_PCIE_AUX_CLK_SRC] =3D &gcc_pcie_aux_clk_src.clkr, + [GCC_PCIE_AUX_PHY_CLK_SRC] =3D &gcc_pcie_aux_phy_clk_src.clkr, + [GCC_PCIE_CFG_AHB_CLK] =3D &gcc_pcie_cfg_ahb_clk.clkr, + [GCC_PCIE_MSTR_AXI_CLK] =3D &gcc_pcie_mstr_axi_clk.clkr, + [GCC_PCIE_PIPE_CLK] =3D &gcc_pcie_pipe_clk.clkr, + [GCC_PCIE_PIPE_CLK_SRC] =3D &gcc_pcie_pipe_clk_src.clkr, + [GCC_PCIE_RCHNG_PHY_CLK] =3D &gcc_pcie_rchng_phy_clk.clkr, + [GCC_PCIE_RCHNG_PHY_CLK_SRC] =3D &gcc_pcie_rchng_phy_clk_src.clkr, + [GCC_PCIE_SLEEP_CLK] =3D &gcc_pcie_sleep_clk.clkr, + [GCC_PCIE_SLV_AXI_CLK] =3D &gcc_pcie_slv_axi_clk.clkr, + [GCC_PCIE_SLV_Q2A_AXI_CLK] =3D &gcc_pcie_slv_q2a_axi_clk.clkr, + [GCC_PDM2_CLK] =3D &gcc_pdm2_clk.clkr, + [GCC_PDM2_CLK_SRC] =3D &gcc_pdm2_clk_src.clkr, + [GCC_PDM_AHB_CLK] =3D &gcc_pdm_ahb_clk.clkr, + [GCC_PDM_XO4_CLK] =3D &gcc_pdm_xo4_clk.clkr, + [GCC_QUPV3_WRAP0_CORE_2X_CLK] =3D &gcc_qupv3_wrap0_core_2x_clk.clkr, + [GCC_QUPV3_WRAP0_CORE_CLK] =3D &gcc_qupv3_wrap0_core_clk.clkr, + [GCC_QUPV3_WRAP0_S0_CLK] =3D &gcc_qupv3_wrap0_s0_clk.clkr, + [GCC_QUPV3_WRAP0_S0_CLK_SRC] =3D &gcc_qupv3_wrap0_s0_clk_src.clkr, + [GCC_QUPV3_WRAP0_S1_CLK] =3D &gcc_qupv3_wrap0_s1_clk.clkr, + [GCC_QUPV3_WRAP0_S1_CLK_SRC] =3D &gcc_qupv3_wrap0_s1_clk_src.clkr, + [GCC_QUPV3_WRAP0_S2_CLK] =3D &gcc_qupv3_wrap0_s2_clk.clkr, + [GCC_QUPV3_WRAP0_S2_CLK_SRC] =3D &gcc_qupv3_wrap0_s2_clk_src.clkr, + [GCC_QUPV3_WRAP0_S3_CLK] =3D &gcc_qupv3_wrap0_s3_clk.clkr, + [GCC_QUPV3_WRAP0_S3_CLK_SRC] =3D &gcc_qupv3_wrap0_s3_clk_src.clkr, + [GCC_QUPV3_WRAP0_S4_CLK] =3D &gcc_qupv3_wrap0_s4_clk.clkr, + [GCC_QUPV3_WRAP0_S4_CLK_SRC] =3D &gcc_qupv3_wrap0_s4_clk_src.clkr, + [GCC_QUPV3_WRAP_0_M_AHB_CLK] =3D &gcc_qupv3_wrap_0_m_ahb_clk.clkr, + [GCC_QUPV3_WRAP_0_S_AHB_CLK] =3D &gcc_qupv3_wrap_0_s_ahb_clk.clkr, + [GCC_SDCC4_AHB_CLK] =3D &gcc_sdcc4_ahb_clk.clkr, + [GCC_SDCC4_APPS_CLK] =3D &gcc_sdcc4_apps_clk.clkr, + [GCC_SDCC4_APPS_CLK_SRC] =3D &gcc_sdcc4_apps_clk_src.clkr, + [GCC_SNOC_CNOC_USB3_CLK] =3D &gcc_snoc_cnoc_usb3_clk.clkr, + [GCC_SYS_NOC_USB_SF_AXI_CLK] =3D &gcc_sys_noc_usb_sf_axi_clk.clkr, + [GCC_USB20_MASTER_CLK] =3D &gcc_usb20_master_clk.clkr, + [GCC_USB20_MASTER_CLK_SRC] =3D &gcc_usb20_master_clk_src.clkr, + [GCC_USB20_MOCK_UTMI_CLK] =3D &gcc_usb20_mock_utmi_clk.clkr, + [GCC_USB20_MOCK_UTMI_CLK_SRC] =3D &gcc_usb20_mock_utmi_clk_src.clkr, + [GCC_USB20_MOCK_UTMI_POSTDIV_CLK_SRC] =3D &gcc_usb20_mock_utmi_postdiv_cl= k_src.clkr, + [GCC_USB20_SLEEP_CLK] =3D &gcc_usb20_sleep_clk.clkr, + [GCC_USB2_CLKREF_EN] =3D &gcc_usb2_clkref_en.clkr, + [GCC_USB3_PRIM_CLKREF_EN] =3D &gcc_usb3_prim_clkref_en.clkr, + [GCC_USB_PHY_CFG_AHB2PHY_CLK] =3D &gcc_usb_phy_cfg_ahb2phy_clk.clkr, + [GPLL0] =3D &gpll0.clkr, + [GPLL0_OUT_EVEN] =3D &gpll0_out_even.clkr, + [GPLL2] =3D &gpll2.clkr, + [GPLL3] =3D &gpll3.clkr, + [GPLL4] =3D &gpll4.clkr, + [GPLL4_OUT_EVEN] =3D &gpll4_out_even.clkr, +}; + +static const struct qcom_reset_map gcc_kuno_resets[] =3D { + [GCC_EMAC0_BCR] =3D { 0x71000 }, + [GCC_PCIE_BCR] =3D { 0x53000 }, + [GCC_PCIE_LINK_DOWN_BCR] =3D { 0x87000 }, + [GCC_PCIE_NOCSR_COM_PHY_BCR] =3D { 0x88008 }, + [GCC_PCIE_PHY_BCR] =3D { 0x54000 }, + [GCC_PCIE_PHY_CFG_AHB_BCR] =3D { 0x88000 }, + [GCC_PCIE_PHY_COM_BCR] =3D { 0x88004 }, + [GCC_PCIE_PHY_NOCSR_COM_PHY_BCR] =3D { 0x8800c }, + [GCC_PDM_BCR] =3D { 0x34000 }, + [GCC_QUPV3_WRAPPER_0_BCR] =3D { 0x6c000 }, + [GCC_QUSB2PHY_BCR] =3D { 0x2a000 }, + [GCC_SDCC4_BCR] =3D { 0x6a000 }, + [GCC_TCSR_PCIE_BCR] =3D { 0x84000 }, + [GCC_USB20_BCR] =3D { 0x27000 }, + [GCC_USB_PHY_CFG_AHB2PHY_BCR] =3D { 0x29000 }, +}; + +static const struct clk_rcg_dfs_data gcc_dfs_clocks[] =3D { + DEFINE_RCG_DFS(gcc_qupv3_wrap0_s0_clk_src), + DEFINE_RCG_DFS(gcc_qupv3_wrap0_s1_clk_src), + DEFINE_RCG_DFS(gcc_qupv3_wrap0_s2_clk_src), + DEFINE_RCG_DFS(gcc_qupv3_wrap0_s3_clk_src), + DEFINE_RCG_DFS(gcc_qupv3_wrap0_s4_clk_src), +}; + +static const struct regmap_config gcc_kuno_regmap_config =3D { + .reg_bits =3D 32, + .reg_stride =3D 4, + .val_bits =3D 32, + .max_register =3D 0x1f41f0, + .fast_io =3D true, +}; + +static const u32 gcc_kuno_critical_cbcrs[] =3D { + 0x3e004, /* GCC_AHB_PCIE_LINK_CLK */ + 0x3e008, /* GCC_XO_PCIE_LINK_CLK */ +}; + +static const struct qcom_cc_driver_data gcc_kuno_driver_data =3D { + .dfs_rcgs =3D gcc_dfs_clocks, + .num_dfs_rcgs =3D ARRAY_SIZE(gcc_dfs_clocks), + .clk_cbcrs =3D gcc_kuno_critical_cbcrs, + .num_clk_cbcrs =3D ARRAY_SIZE(gcc_kuno_critical_cbcrs), +}; + +static const struct qcom_cc_desc gcc_kuno_desc =3D { + .config =3D &gcc_kuno_regmap_config, + .clks =3D gcc_kuno_clocks, + .num_clks =3D ARRAY_SIZE(gcc_kuno_clocks), + .resets =3D gcc_kuno_resets, + .num_resets =3D ARRAY_SIZE(gcc_kuno_resets), + .use_rpm =3D true, + .driver_data =3D &gcc_kuno_driver_data, +}; + +static const struct of_device_id gcc_kuno_match_table[] =3D { + { .compatible =3D "qcom,kuno-gcc" }, + { } +}; +MODULE_DEVICE_TABLE(of, gcc_kuno_match_table); + +static int gcc_kuno_probe(struct platform_device *pdev) +{ + return qcom_cc_probe(pdev, &gcc_kuno_desc); +} + +static struct platform_driver gcc_kuno_driver =3D { + .probe =3D gcc_kuno_probe, + .driver =3D { + .name =3D "gcc-kuno", + .of_match_table =3D gcc_kuno_match_table, + }, +}; + +static int __init gcc_kuno_init(void) +{ + return platform_driver_register(&gcc_kuno_driver); +} +subsys_initcall(gcc_kuno_init); + +static void __exit gcc_kuno_exit(void) +{ + platform_driver_unregister(&gcc_kuno_driver); +} +module_exit(gcc_kuno_exit); + +MODULE_DESCRIPTION("QTI GCC Kuno Driver"); +MODULE_LICENSE("GPL"); --=20 2.43.0 From nobody Tue Sep 29 01:19:00 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 D930036DA15 for ; Fri, 14 Aug 2026 07:33:48 +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=1786692871; cv=none; b=ZAsYUQLgYgY6OWqbhqAUeFWM5m8J6pQMgoI+oRzJcAFBd69d49S9sPZ622los2hS8QnuFZbKpynFLnu88XpD9f3mURcT9WlAKLboWFcbpFQYVtPHbXX5qLwO1uHxeVQKs0tWm7gJhCrCVDRhHF06X22p+mgDYIFgNynfB3xzpZI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786692871; c=relaxed/simple; bh=+/+CnJFkK28UfCOUz91D0FsS6GYOqD6AEiwdg9UDtAE=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=SWF0zJydzT+iy8AGJCeiYXy7pWvJyaAL6923k8UOjGaaqpLZuHzvRfFjGhJ/yEwWLLLXK7BS+LR4n6HthvP+cG43acivDns/WeQqzVrEQVNdOhxrxEKqD75Jytg2u1PruAY/4ALDFI95RLnN3+6DQ5/S3ij25S0oLrYnTYeLXAM= 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=f47cNOju; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=iFfetm2g; 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="f47cNOju"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="iFfetm2g" 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 67E4Qp0L594126 for ; Fri, 14 Aug 2026 07:33:43 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= GsdXzVEg/opOUMCjXIMLe0tWNQrrcXZla2NfQwnp4TE=; b=f47cNOju6Yg9bKgr pVlDJ9ZD1JPPwYQ3kYTqh0QE4byrKyuysRvlI0cjuCdzouB1EIo/rY7ONJaRiM3D 4e0Wfs35yErbB8+a0S6GCI2+0GqTZkiMDgQlWuoJDvop9jsAe7abC7somdrXeOSy m7w29WbZpnvknbkOeiNeJyscniNVcUN+ZRBdwH6oFVFs0a/5sZIB5L2TsOYGRmVC EQwU1HgTvwJqWAGZAXg9ySNKRlz9FEBpBc6GCxwf3TTEM2cUCozy+hj/taydQVl8 utrwPClqiXnV80cVBd6hlfMBJ2+FOMTamDkS3kjarFQ1bkPhxyfzaVzLmQSUKKWn yWQ2Wg== Received: from mail-pl1-f198.google.com (mail-pl1-f198.google.com [209.85.214.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4g1gy4u8jg-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 14 Aug 2026 07:33:43 +0000 (GMT) Received: by mail-pl1-f198.google.com with SMTP id d9443c01a7336-2d04908139bso11299675ad.2 for ; Fri, 14 Aug 2026 00:33:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1786692822; x=1787297622; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=GsdXzVEg/opOUMCjXIMLe0tWNQrrcXZla2NfQwnp4TE=; b=iFfetm2gDIAck+ar7ckmYqV6Pf7sVCA92rQe0Qe3H0FAKKjmlu8lLGI/DjpCy35Tff Toq7GTgoXECF62zhBiI4unHD4axhnsgpPNWivX9YztSfZH39KJrEo+Lsaf23qiusm7P+ z2xnx6t3zgs+zCTjuRmpsjeXD5NF/SFmmYWbhOcHCXse+PLo3lzIYpIk7k2OZPvA5nnn TR2emXZfJv17h1E8mK389+y6caGXnprrDDWGsdrMTeTIjKd/4511gn1s2UGv8Jp3b1CV 2zICOZrBi2fkQB0hH1SJGy7DZ1kDhA+5yiE4HX9TM5P9OJaoGFndvBIxKRff96PnilIK rHcA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1786692822; x=1787297622; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=GsdXzVEg/opOUMCjXIMLe0tWNQrrcXZla2NfQwnp4TE=; b=YZdQoBnRkP9t/8Ejw/XeiK0/b1/VMgZfN9ubLDv/Nsh/i4CNQdtajVbEUkvM+wIkJs /DEcC4ajisGpuh4Hfyeyf8hjiIyojMKd/aXMbulpYD0JvzAWo+Dpvzu4DSGTXVibnOrw MIDholAlR/P21EX3xB8gWh1l9jm9ROJtxvCqTYJeEVv6eJ3+2tO11XJxX8sF/weasv61 ghax8NRKM7a6z+xjhKdNvPfDTHovZ1UYd4fXVbLVXAL/uqvOcxwtRJl3n44dtcoKQsFX IH8G4RJHBAo/Cdb4HV+WvVy3PW1O7EIUvy4cPOEsMhXU4y7zqo37P9CqEnbXD2oFA4/g 9WQw== X-Forwarded-Encrypted: i=1; AHgh+Rqvg68ehSjlUa8IPr2a0XZ7/s0StTOUvaWZQEBkSHCxi0z77pyyj57jbLEm1U3Zv+w/cd1obqAxPOLbr3k=@vger.kernel.org X-Gm-Message-State: AOJu0Yxy26bcKEbyiRKqnZyMOFyw1a3mNTqk2VmU7vKbTXFzE8VxiU8s 4sGkLFp1EAUMmiA40+9YkGj8vE21MEb58cpGQ8/SQ7IGwi0P0qT4BzToapvcvrxhJSuVjuRJ2fy Sa7CCqb8rhYvZsWGmP8lUaAlJpfTeQRZkPjTUm8I451fhMAqU3fmHe0RxWpz1FtTHrbI= X-Gm-Gg: AR+sD119TfAiJ8dMmcwnNJeM4DKH0TGGn8uJT5YuSLe24+H5rjT3TJAned2umFRKOZo 3x3TqnuMMGmv/5frpDvYyASo+G8QrOh8lmx3KCYW4nAiFsrr7NcvgWlS2TnaVyQQmT1WE+oJbV3 zuSF2skdhk+89In1ityoIOFNIhevRVAdQcllHFLBk+VusQp7YXjwLhXaBmC4k6rYvmqrSRd44jy MVP1k+0xZ2zyzf9WeDuB4FfRa5S0M+mgQxX0fzOf/Wq+BPAB3e+YSIdD/iMHikCEPHkTRoSzZht BrebyucWnECltmg5i7EVqLgZxkeFY2yqH6ajr1u2ZZF7mFZKa+Igzo7pMT+Ysb73R2oUOqyaBd0 jlQQxAsg25wF1kCkxCkjAHAzBnZ5Ny7mvhl9eK/xUQd7eXlChEHtwpvby0h+AtFsn7boDW7sctg UG1ox2MNE9fiG2qd76y2d5gvs= X-Received: by 2002:a05:6a21:a98:b0:3c4:397a:69ba with SMTP id adf61e73a8af0-3cc71d7bd03mr4632013637.28.1786692822534; Fri, 14 Aug 2026 00:33:42 -0700 (PDT) X-Received: by 2002:a05:6a21:a98:b0:3c4:397a:69ba with SMTP id adf61e73a8af0-3cc71d7bd03mr4631945637.28.1786692822096; Fri, 14 Aug 2026 00:33:42 -0700 (PDT) Received: from hu-hardshar-blr.qualcomm.com (blr-bdr-fw-01_GlobalNAT_AllZones-Outside.qualcomm.com. [103.229.18.19]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-320ea804233sm1062280eec.26.2026.08.14.00.33.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 14 Aug 2026 00:33:41 -0700 (PDT) From: Hardeep Sharma Date: Fri, 14 Aug 2026 13:01:43 +0530 Subject: [PATCH v2 12/15] dt-bindings: interrupt-controller: qcom,pdc: Add Kuno compatible string Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260814-kuno-soc-support-v2-12-3079794f0f73@oss.qualcomm.com> References: <20260814-kuno-soc-support-v2-0-3079794f0f73@oss.qualcomm.com> In-Reply-To: <20260814-kuno-soc-support-v2-0-3079794f0f73@oss.qualcomm.com> To: Bjorn Andersson , Konrad Dybcio , Krzysztof Kozlowski , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Ulf Hansson , Michael Turquette , Stephen Boyd , Brian Masney , Taniya Das , Georgi Djakov , Bartosz Golaszewski , Linus Walleij , Thomas Gleixner , Radu Rendec , Robert Marko , Guru Das Srinagesh Cc: linux-arm-msm@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, linux-pm@vger.kernel.org, linux-clk@vger.kernel.org, linux-gpio@vger.kernel.org, Hardeep Sharma X-Mailer: b4 0.15-dev-47773 X-Developer-Signature: v=1; a=ed25519-sha256; t=1786692714; l=922; i=hardeep.sharma@oss.qualcomm.com; s=20260204; h=from:subject:message-id; bh=+/+CnJFkK28UfCOUz91D0FsS6GYOqD6AEiwdg9UDtAE=; b=5rfTSqeF3ZffhEbWQ/MCkAbuDD82v1o8NO8GUugDaLDLaKTC3LlK5BcLVBkEaw7CxqOZjkCyn LB5WOXsXFY3DZZxny1BmotvMhg1imljcHSJu02Gp/nx3UKotZJU73zb X-Developer-Key: i=hardeep.sharma@oss.qualcomm.com; a=ed25519; pk=IvwPDKA2xr6jWaCIBBY2ran/H0124QUzVfun+CtEikM= X-Proofpoint-ORIG-GUID: rWJgDIEZV1ncY8efVe11gjhMByOqfqXO X-Authority-Analysis: v=2.4 cv=ZYAt8MVA c=1 sm=1 tr=0 ts=6a7ec4d7 cx=c_pps a=MTSHoo12Qbhz2p7MsH1ifg==:117 a=Ou0eQOY4+eZoSc0qltEV5Q==:17 a=IkcTkHD0fZMA:10 a=Sv0fKeRqtYgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=rJkE3RaqiGZ5pbrm-msn:22 a=EUspDBNiAAAA:8 a=_KRvd0mH2JNXacczCDAA:9 a=QEXdDO2ut3YA:10 a=GvdueXVYPmCkWapjIL-Q:22 X-Proofpoint-Spam-Info: AW1haW4tMjYwODE0MDA1OCBTYWx0ZWRfX+sLedlYu0/3b WlUytYg8+CmH67wqZpJ/GYIFKgeIqO4ke7UwOYUWub/hZIxqaE2S0t+wHlQLFY4Sv0WKUljomIS Yr1xlmGbT+XKp1fl3yngGJRwcHGvJ9s= X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODE0MDA1OCBTYWx0ZWRfX2xEljVsf0+mu tjOS7uixS4USYiDANVPZLlHRSQTk5uWFTtCxnW6zp4wWs0E36nRmP9K/w7Oha+TTrTtGi3CGnRJ dKtsKy9WQ3ZxosNHoMrL+M1IizgqUMqCuz21/gexX0d9fz26JhL/gtXhofjOMxc96CLKDIAf0i8 SmIONkgdxAhu86SWSKuVfBOmtNUqr2J4oVGPvcdGmpkCgZSRcwlHmMM3LyWoJLVGDaZ7br7U8tF lsefMZTIkM5nRrQXxvUxKW1qmwlO77cu/SWWBWVtpK9A9BhWCuHZVdSNGs8q8mckQO2/W/yhmEu Y0WFolKNo7GAHh70+TGaw0OLvKMrlUIKOwHt/TmCTjX36zMcgMq2dZ7Lyb3lSoYTJ6aa4fo5LSG YK22fOLz0cH1t/3qGmJh6DWQEbAyA7HCa/kvpG51n8qktd9i96vYhWgL+DPy6W4xY+RYjoWobb9 a+l6gkiOsGzaMFhBOgg== X-Proofpoint-GUID: rWJgDIEZV1ncY8efVe11gjhMByOqfqXO 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-14_02,2026-08-12_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 malwarescore=0 spamscore=0 suspectscore=0 clxscore=1015 priorityscore=1501 impostorscore=0 bulkscore=0 phishscore=0 adultscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608140058 Document the Power Domain Controller found on the Qualcomm Kuno SoC. Acked-by: Krzysztof Kozlowski Signed-off-by: Hardeep Sharma --- Documentation/devicetree/bindings/interrupt-controller/qcom,pdc.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/Documentation/devicetree/bindings/interrupt-controller/qcom,pd= c.yaml b/Documentation/devicetree/bindings/interrupt-controller/qcom,pdc.ya= ml index 8162a49d49a6..518fbf6b2761 100644 --- a/Documentation/devicetree/bindings/interrupt-controller/qcom,pdc.yaml +++ b/Documentation/devicetree/bindings/interrupt-controller/qcom,pdc.yaml @@ -30,6 +30,7 @@ properties: - qcom,glymur-pdc - qcom,hawi-pdc - qcom,kaanapali-pdc + - qcom,kuno-pdc - qcom,maili-pdc - qcom,milos-pdc - qcom,nord-pdc --=20 2.43.0 From nobody Tue Sep 29 01:19:00 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 058B542A141 for ; Fri, 14 Aug 2026 07:33:56 +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=1786692853; cv=none; b=NCTiYZgBJlyDtaiX2BxIo5mj+lSeNCmgxmPbwKUHgEs5Zok68UAvA6jVsTKgtnggv7lJXBAUgg+TxEEdEYcbUummyr0lItHjZdo1DyYhD5Sb++r5GpquTPR0A6ZUwIyO/kNCOhG8I6aU1DJG1LTDWET34hF45x/r2UFrRci7fs0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786692853; c=relaxed/simple; bh=9JHmO47xFcHiKwRcWRppqe+FIDEC/EmRY/1PhD8wx0w=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=iyfFjQSNFrcHJlexTuHqAFS+Z6NQQjv4Ck8XCAvWjzn0QijiYPcmmE3W8wgSBX0mIiJ742yuIX5yQRHE5CNWEMNhE2YGcmd0SvfnfrUbRYKk81NXV8fs9PrebjQbNr05zxg5HCfJBhVU7IHkbAAS4Ab2lTA++mK2JR+2r4yTbjo= 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=AT6t0dk0; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=Sj+APCvQ; 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="AT6t0dk0"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="Sj+APCvQ" Received: from pps.filterd (m0279872.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 67E4QYeV282906 for ; Fri, 14 Aug 2026 07:33:52 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= wOoRRo1BzWfxcKIRahahL37V6D+SA2lxSIowy+5sCk0=; b=AT6t0dk0VwlEmCfy auBXcp+9FRKb+DNMMZILEbh4tMM9yL91QHjbuoAYRaosD01u0lRA0PYSAJURbBr6 09FD41Efcoh7+V7vM8DP7j8hWB0FQmmTUEydPIlk8c+YUvwoyUTaRtOSaf/3XbQT iVKRieSf7xWVikTnyVyDgBLhNG/ttLjc6S585jsn09P4cxchS9XlDgaMCidxn6XJ ZmLW83Co3mfGIzr87vKJ6Zwl7btTXca+MVWUOGvnbbGswM89D9Mqiy959rzIRlEA /s7a6T9MgGfI4q7q/1NOMlSDuKrfq8WpdKbYKQ1k6yU3bmMiFD0rkzzWqbt/ZvZQ JkDdWQ== Received: from mail-pl1-f200.google.com (mail-pl1-f200.google.com [209.85.214.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4g1h90u5qp-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 14 Aug 2026 07:33:52 +0000 (GMT) Received: by mail-pl1-f200.google.com with SMTP id d9443c01a7336-2cce14a21faso10139045ad.0 for ; Fri, 14 Aug 2026 00:33:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1786692831; x=1787297631; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=wOoRRo1BzWfxcKIRahahL37V6D+SA2lxSIowy+5sCk0=; b=Sj+APCvQ55Vuhly9iEexVOg9j5NiooMgBz/w6oXYGSpHiETEQB52svEMzsVYR4WU+R uO0nPmU/bIJyf3WcHcPzMjgZ38nQd6IFf9egAV1rW6QMEfi630a8F2s9zhaZKojupv9x juJlakHUvdTObIvD/ubRMVL3ZAkOH3JASj3Iw59C8tsk7X52NNhur8O3GGV2Gcjtvr/f lOhZDKDQjIUdWI3kHAIDtLdrXuuORatULJTmIDrtHJjcXrYx9Hu9xJ1SEcDLQ0oTpsS+ ovJbIUfbAmiUEfzlPbx2MRBCr49oD0JBjXEPjB22tVJOprh0vPtPfrXPuKN3iGmF2/Yp KIWw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1786692831; x=1787297631; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=wOoRRo1BzWfxcKIRahahL37V6D+SA2lxSIowy+5sCk0=; b=davpM4j22kzQ0PY65tHJFyXHECzBt6P8Ug0cjuAlCnnrNAK9MDy+/O4pQXBEF0pVh2 FPeBa/i0N8hLvETDjQbu6USOzoKWh5WW4wV0I15a7iIOLdXunb7/cHRR6eS/sVeBtOOe cQipUkPv+rv5nZgj0j+qxUporq1dMN8SympAuiSjlj/fDw6feB7ya25U/BZC8iRRVAVC 7yX09IBaDnQMJkuB0PbprbFzHoU6JYIE9fdAjdIX8QPLoxXTtyaqYNtNpeJ3poWimvwF W0W5+3laGWLdL7Z+1WZRN2279mpUtlWQokDsyOaCGSS/EeNcj+5ko7pDc6MbBJwRspu0 8wjw== X-Forwarded-Encrypted: i=1; AHgh+Rq30bNntfwem5HjqZlx+DggL+T4XLjMpY+AP+Ke6Z9F4CgUUNlfrWWOd3xJXxz/nO4GoOx3gKcpilPIaNc=@vger.kernel.org X-Gm-Message-State: AOJu0YxvmqnOmN93ZFFiLmF5z/F7x4dUMweGt7a4rhwArPw2+H4d6TgC SBO3h/oIHVDcV7RTRhMTuABR2y1C+uml1+z7ki2o9s9qmR1tUD/P5xIPyEa6nQF9LwU8sFWjv8n gNmV2R1arjHmEHEO3hxtcpM0Rzjc5mt1orD7s3fFKr/+7WayQTgfKa2qKfGbbusAb9o0= X-Gm-Gg: AR+sD11JK05+EADp640Mhrb0Sx8UmQL/IBzBEP3vwHnEZZtU610DGDjryi0NX4ONoUz uGQXYfigP2fLy7q2DgXgKZm1obrFrOD+aMOmX3V11+a+lEYqo540hhbgpmsr6szPvnjTRuXXpVZ Cs+sz4DCNnsF5vCDGNAovxkuUUNtRxP/xEmmMXql8eOS20hiX//mS5npPRdsaVAZ7idJL91z68g f8+ixjAmJItB0DHzsBhLbGcVU3bitFZv7T5mzzMrCH3EgKi6IlPGFLI4NaleL1sKRSkdBtYbsS1 lsGKKYRR1TKR7ZuwP/8+4JzBUd/hrYAGk+s4ngB+F3Xi0R2cGtcZVWANpO8LRLHkOMxD3DXCNPK bSV9yosSnOscP5qrhsb4ndatOEDdFtl7S4SnzRb3fGprec/c9reV0KzIce/p4ehWaO6nvO4B97Q m++9O0L8IAtTa/sv6ZaYWys8E= X-Received: by 2002:a17:902:ec83:b0:2d3:7122:833 with SMTP id d9443c01a7336-2d37f7c3e97mr128280175ad.15.1786692830905; Fri, 14 Aug 2026 00:33:50 -0700 (PDT) X-Received: by 2002:a17:902:ec83:b0:2d3:7122:833 with SMTP id d9443c01a7336-2d37f7c3e97mr128279735ad.15.1786692830500; Fri, 14 Aug 2026 00:33:50 -0700 (PDT) Received: from hu-hardshar-blr.qualcomm.com (blr-bdr-fw-01_GlobalNAT_AllZones-Outside.qualcomm.com. [103.229.18.19]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-320ea804233sm1062280eec.26.2026.08.14.00.33.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 14 Aug 2026 00:33:50 -0700 (PDT) From: Hardeep Sharma Date: Fri, 14 Aug 2026 13:01:44 +0530 Subject: [PATCH v2 13/15] dt-bindings: firmware: qcom,scm: Document SCM on Kuno SoC Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260814-kuno-soc-support-v2-13-3079794f0f73@oss.qualcomm.com> References: <20260814-kuno-soc-support-v2-0-3079794f0f73@oss.qualcomm.com> In-Reply-To: <20260814-kuno-soc-support-v2-0-3079794f0f73@oss.qualcomm.com> To: Bjorn Andersson , Konrad Dybcio , Krzysztof Kozlowski , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Ulf Hansson , Michael Turquette , Stephen Boyd , Brian Masney , Taniya Das , Georgi Djakov , Bartosz Golaszewski , Linus Walleij , Thomas Gleixner , Radu Rendec , Robert Marko , Guru Das Srinagesh Cc: linux-arm-msm@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, linux-pm@vger.kernel.org, linux-clk@vger.kernel.org, linux-gpio@vger.kernel.org, Hardeep Sharma , Bartosz Golaszewski X-Mailer: b4 0.15-dev-47773 X-Developer-Signature: v=1; a=ed25519-sha256; t=1786692714; l=871; i=hardeep.sharma@oss.qualcomm.com; s=20260204; h=from:subject:message-id; bh=9JHmO47xFcHiKwRcWRppqe+FIDEC/EmRY/1PhD8wx0w=; b=LjytsBkPoYsdC9vRseuwegbAfCjR98WF6lyMXA6E4gV+//wSFMjNp4wjfU3xOcIuFr6RfUusP hR+zxeIFBwZCJ+4W+anZV058xUGhsJzxj02HcyfbAGnEYjizcYHTv/p X-Developer-Key: i=hardeep.sharma@oss.qualcomm.com; a=ed25519; pk=IvwPDKA2xr6jWaCIBBY2ran/H0124QUzVfun+CtEikM= X-Authority-Analysis: v=2.4 cv=Ovh/DS/t c=1 sm=1 tr=0 ts=6a7ec4e0 cx=c_pps a=IZJwPbhc+fLeJZngyXXI0A==:117 a=Ou0eQOY4+eZoSc0qltEV5Q==:17 a=IkcTkHD0fZMA:10 a=Sv0fKeRqtYgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=yx91gb_oNiZeI1HMLzn7:22 a=EUspDBNiAAAA:8 a=M4Tw70yJP9P6qS8g1QAA:9 a=QEXdDO2ut3YA:10 a=uG9DUKGECoFWVXl0Dc02:22 X-Proofpoint-Spam-Info: AW1haW4tMjYwODE0MDA1OCBTYWx0ZWRfX3mHcuLO20Tnf 7DaVn+jmbdhyucnTVPhJQ7CeBn+/Wus0162q5xRsh8D6bNsf37PMHrAZrO7og0y00XboncwEoX8 Dq0EDjamO0v8EKZmYCw6ZCjVlyiegRk= X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODE0MDA1OCBTYWx0ZWRfXydtFV8Jx9qOf P+Nr6kll6bNpnMd923weZnQhXk+Q49qfzq3tO/MLvTzyXw5DeEQc66sEc0xwrsqf2oxHnpuNX1A nruYAhnmuTHPplH0vkK0tfXo0L9jlMoDJIZRUOBih73zWdQPu7geQB0tI/C0ZpYgurRlPzCa+MZ rgBwJRixveG2dzuytMGuvyuk47bH1WD6kwvaN1Ds0CiBPQZutx/5tWwFTzPyCsDOnp6v5PF3TcS jOrJUtK2HIo/445rqiwywV9S3SIXBpitCpAospLzg5xBCWWbUCX5PH3HGZ9/BUWst25OWmt1Bfa BzD/OSz6P4XdCAFtYNbaKE/WzKrFvJaft7yAgNuZE2CxurRz8RIQSzl3HaBpwzgI1T7KT2UOph/ PbJyyidaIJELmYLYAC4LH95SAwV5c1eCvHjQzsx9W1jgclJeIyGQ9pNMRfWJgbMB+khMfQRs3hY HfP42M7dywf4GfyHKJw== X-Proofpoint-ORIG-GUID: r2kFL7iXjswePW-LnKrjK0eIMpuBe6ZT X-Proofpoint-GUID: r2kFL7iXjswePW-LnKrjK0eIMpuBe6ZT 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-14_02,2026-08-12_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 spamscore=0 clxscore=1015 phishscore=0 lowpriorityscore=0 suspectscore=0 malwarescore=0 priorityscore=1501 adultscore=0 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608140058 Document the SCM firmware interface found on the Qualcomm Kuno SoC. Reviewed-by: Bartosz Golaszewski Signed-off-by: Hardeep Sharma --- Documentation/devicetree/bindings/firmware/qcom,scm.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/Documentation/devicetree/bindings/firmware/qcom,scm.yaml b/Doc= umentation/devicetree/bindings/firmware/qcom,scm.yaml index 037d4ad8f718..ecee5aef65a7 100644 --- a/Documentation/devicetree/bindings/firmware/qcom,scm.yaml +++ b/Documentation/devicetree/bindings/firmware/qcom,scm.yaml @@ -37,6 +37,7 @@ properties: - qcom,scm-ipq9574 - qcom,scm-ipq9650 - qcom,scm-kaanapali + - qcom,scm-kuno - qcom,scm-maili - qcom,scm-mdm9607 - qcom,scm-milos --=20 2.43.0 From nobody Tue Sep 29 01:19:00 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 D351D41F5EA for ; Fri, 14 Aug 2026 07:34:04 +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=1786692849; cv=none; b=nWcpPZoLHCaXOZovGLYv5CchQ6h7Srb0dEKXQTj/CzxcXYXAXH5vFUZB+U7kQxvBakwukdc9CvAABM3DFJztUTMhduVrMywPUarXaVStU0gIRs+4HPj5MtizYVyZ6KCaXdxEJlIMjO/WYUAwrogeNZaMzj56ASa1oRMWEfiXoxs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786692849; c=relaxed/simple; bh=n8GV6PoSXN4cpLFiEq+a5b/GV3P0P7iPA8E23y6lTkM=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Af4PE/tXGIRTlfeAauF+tOTYyem2KyQIgtTTSkVZ8XPyYJi0+sS/A3FkJxFDwXDiFB28n2k1cb3tVLkaHmd0uHdhCTE/gwaokucz6+o10Npg//CK0sLuorWDzruYrJcxnIcyqTuJg1VLt0R3IoaDdr3BmqvtyxG0fGqlsq7TRqE= 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=iBM7qggQ; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=J+ExaO0X; 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="iBM7qggQ"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="J+ExaO0X" 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 67E4Qg1m3614542 for ; Fri, 14 Aug 2026 07:34:00 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= GDi5NsGbxyIFciNY6O3JO4DjZ5N5Ti4JWxUyYD9feU4=; b=iBM7qggQJH6GlKGE RoyM7bsCwwIW23yScNYe/xWWIj/gDcu23CbE53thgM4y24K2Y+dUxq3fLUrIW4Ol 2/B+94aXS/6ztYwEA1xXBQv20U/duE9iazZdH1i9d6MHg8qx6i07sAAovTFBYuqy FYA4zh+gVEYRd87S5KlMPMKQFBWPKKl/BJ7Ax7ibnBg3SGg3glA44SW7bD1bz7Hf MX/HKi09+wKRt5hOkcKQBN2k5xBVTJvdi4cH8NSpakoJfWL3N1jABYX/fTo9AaJw 8xC6aGfi40IoR3JzMLCAzubsvVOj7rmEqU5re0neIn+UwI3oxjl7u417Yzq2VDM2 cL3tVg== Received: from mail-pl1-f200.google.com (mail-pl1-f200.google.com [209.85.214.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4g1hgy32u3-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 14 Aug 2026 07:34:00 +0000 (GMT) Received: by mail-pl1-f200.google.com with SMTP id d9443c01a7336-2cc73f47bdcso10869445ad.3 for ; Fri, 14 Aug 2026 00:33:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1786692839; x=1787297639; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=GDi5NsGbxyIFciNY6O3JO4DjZ5N5Ti4JWxUyYD9feU4=; b=J+ExaO0XR7HqT4WnggTZglBt/66LCaIkhOqj3DXDffSs6oZlga9bTsZQ47vhSaw2ng UzX2d8Vevtq5Sf/uf7m9ZSyNmnj1plPY7aAIkUxydWYRbHkbDuSP8Qh5SZLacca4wNkR ERelbQ6x/p0bsdP71RqX2TDGijP833zruYa+kbLacCuaEaob6pE9AaVWo5hc3kQQJOcA HWTRExkML8y8d91S3RRoCciObkhj5GLk4AZKnoK1pnJel4pGpCtODXTqbPZCzQW3wu1u ICcLnejO/lpKXz1vG0uJ6xhpzN/3IeQiSRRsg7xEkoFc/aZGPGspAnt528Dv7mx0zgnx eusQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1786692839; x=1787297639; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=GDi5NsGbxyIFciNY6O3JO4DjZ5N5Ti4JWxUyYD9feU4=; b=NXRfqaTFC1sH4DyqxUm4k8CBEW0Mh8VCkL8bh9cW9ECLjy2p3yd79e/8K9a5C0OZ+5 4xcgFimEoKTiW996Yapne+FG3OB6WZPkObG0ZDk7tMOcH8JdhtPSS4AH35fkUtdq33VV FeS5d3rxbGDyIaPrbnMK811IWZknQvFPI6gwAkrkiXkq4JfFABt7974liLHEoPGgM1ay Rf0W5/85Rhj5K+6+JfzsImVkJHNLP2tM3/X35/ZymAsFkf+ti6OwqpnCRQ6+mP17Msdn CfO+5Ukzng64dgRTjuYivAOZjzi7Xcfxdh1S5B4n53RX6uiRF6c8IAZwkorDHEvPue5/ 1hBQ== X-Forwarded-Encrypted: i=1; AHgh+RoAwTeOGouFSybFUlpkaGC7dWcywbkEA2hYx+Up1G83WBpPFhEYwQNLcihAN3ld2d4aQ8J1lUYEzRNV8Vc=@vger.kernel.org X-Gm-Message-State: AOJu0Ywekb8XowUxtWgkUXxV+tx4jqQKYx5SZKDiFRB909ABsvXbtjix lz+aW7aymG4nJIBreoNBEni6FaUtHvdXo2h9Md+8uDwtTz1boWJGJbCrwFr/aXbU8+HFEBGZmMG rJTSwAdxAyxo6jhhXFXKUZgpUDH/y9REzvC9Giud6LQ0zyjrbZ5sUgbaWz0R//4tfqYQ= X-Gm-Gg: AR+sD12WCVYtwFIKpKhOF2uzUZpuGgkXlwdM5Ji61SBcwZ6yIgSYrS7DM31pJVAAAvM jWdzw+phzM8ZJ5frOs12430IS0aVgYjfCx+oxKubwHZQNdDLXbC7PxAYg3KetmFTzjnBqhjF3G9 nzgRdMJyoB6SMNga14U7tNT/p1MNNlk2zn9M+y8f5ZvjOjFsa/Abe1osX41+88OOy0j5iFFX0e9 mm9TVlVTdjq7L7SxDPaRLCzPxcPTmSej29/dZxfm9G9bxp+oXboR+XBnpgx0wHbXCao32j6uPSL Oes6jr9KyLddh31nxxxr1WrnVlqmi0yBb9ipzny4kcl7wdSN4FtsyWUZGiRITXiIQLRG8TAQNFw JxUqGDM6SqMO+OohWR/OaqB0R1GLD2vjrpC4D2Lp5I1Yw9u1PTLziefH1Y4I6T6MYNyv5ZF1Lpn FpZNzUREY4b+JNhUD8mBaMIEc= X-Received: by 2002:a17:90b:3fc8:b0:37d:f206:a2ac with SMTP id 98e67ed59e1d1-3933b762b96mr4310477a91.7.1786692839049; Fri, 14 Aug 2026 00:33:59 -0700 (PDT) X-Received: by 2002:a17:90b:3fc8:b0:37d:f206:a2ac with SMTP id 98e67ed59e1d1-3933b762b96mr4310435a91.7.1786692838641; Fri, 14 Aug 2026 00:33:58 -0700 (PDT) Received: from hu-hardshar-blr.qualcomm.com (blr-bdr-fw-01_GlobalNAT_AllZones-Outside.qualcomm.com. [103.229.18.19]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-320ea804233sm1062280eec.26.2026.08.14.00.33.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 14 Aug 2026 00:33:58 -0700 (PDT) From: Hardeep Sharma Date: Fri, 14 Aug 2026 13:01:45 +0530 Subject: [PATCH v2 14/15] dt-bindings: arm: qcom: Document Kuno IDP board Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260814-kuno-soc-support-v2-14-3079794f0f73@oss.qualcomm.com> References: <20260814-kuno-soc-support-v2-0-3079794f0f73@oss.qualcomm.com> In-Reply-To: <20260814-kuno-soc-support-v2-0-3079794f0f73@oss.qualcomm.com> To: Bjorn Andersson , Konrad Dybcio , Krzysztof Kozlowski , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Ulf Hansson , Michael Turquette , Stephen Boyd , Brian Masney , Taniya Das , Georgi Djakov , Bartosz Golaszewski , Linus Walleij , Thomas Gleixner , Radu Rendec , Robert Marko , Guru Das Srinagesh Cc: linux-arm-msm@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, linux-pm@vger.kernel.org, linux-clk@vger.kernel.org, linux-gpio@vger.kernel.org, Hardeep Sharma X-Mailer: b4 0.15-dev-47773 X-Developer-Signature: v=1; a=ed25519-sha256; t=1786692714; l=2175; i=hardeep.sharma@oss.qualcomm.com; s=20260204; h=from:subject:message-id; bh=n8GV6PoSXN4cpLFiEq+a5b/GV3P0P7iPA8E23y6lTkM=; b=JnS955wsV2fvtkKSqmnST9ZqJcRZDmy4o5dUDkkHBhJd8gneTdqyf4wNaxSCaWi7HMrU16dfE hm42/mwko9nDFSCzQaIXYjmVgEsBn0PKq4PItkLcZdtJhhYwrynoaWZ X-Developer-Key: i=hardeep.sharma@oss.qualcomm.com; a=ed25519; pk=IvwPDKA2xr6jWaCIBBY2ran/H0124QUzVfun+CtEikM= X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODE0MDA1OCBTYWx0ZWRfX+wmKXLmXbuYI LDSCtvT2XNbyv73ELFIM2kVnWuwGgmt9RuTpGAsPbpwb5WFp2nSP02r+SmaREajQhOYbly8TgNW 5Pos0VpfQvo1wZxL8+hnJJXmjJuCmjqFOSqquCUNPrvMJJpXPHgcft7d3Vrd9gtOuA+hnhnpW1/ h7OaJ/fI+YfixSq5z+PyEZ+N3TTOil9X7VQBowhJxrEsj6CECn7aoQw1XRprZAdI5OgrMMFBaPE 47CyNfUJXmjyey5OGjVW9x8mXP4iDOspYU6/AdresQ34XAuuWglM908BRb+LDF1RhcLQdVRuY9V C8Xq9K7navFLkrZvbpY0AcjrgdEIUBYIcXvLdfz557L348WeUA1DIQJEN5ovscZU0nY97mhA6Dl vW3ZKIWsx+IdyUm7NAJAMe8xShu3yCnmJF0rtboW2u7uI27Z1zvTu0DohoCkTvE1qdK8QKX9yLt 5SYapi4m0n3B8sZNzUg== X-Authority-Analysis: v=2.4 cv=AaSB2XXG c=1 sm=1 tr=0 ts=6a7ec4e8 cx=c_pps a=IZJwPbhc+fLeJZngyXXI0A==:117 a=Ou0eQOY4+eZoSc0qltEV5Q==:17 a=IkcTkHD0fZMA:10 a=Sv0fKeRqtYgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_glEPmIy2e8OvE2BGh3C:22 a=EUspDBNiAAAA:8 a=vXfy1ps2I0IJequeNBIA:9 a=QEXdDO2ut3YA:10 a=uG9DUKGECoFWVXl0Dc02:22 X-Proofpoint-ORIG-GUID: eVnZuqwtdo0-0Adm5ouOUPqBLGwwfYgs X-Proofpoint-GUID: eVnZuqwtdo0-0Adm5ouOUPqBLGwwfYgs X-Proofpoint-Spam-Info: AW1haW4tMjYwODE0MDA1OCBTYWx0ZWRfX2aO93aWqJVHy 7rcWRD45fJqyV3YnIF3CY+nlWm8bq8U5Y0cspy+/M8ajSGnCKwzMNaYzc5G7xqfODQNQKgG9ONc E/IQvtRjse7v4YYyjnPOfEeFdM1PiFo= 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-14_02,2026-08-12_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 malwarescore=0 clxscore=1015 priorityscore=1501 spamscore=0 impostorscore=0 suspectscore=0 bulkscore=0 lowpriorityscore=0 phishscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608140058 Document the Qualcomm Kuno IDP board and register the "kuno" codename in the SoC naming convention schema. Signed-off-by: Hardeep Sharma Reviewed-by: Krzysztof Kozlowski --- Documentation/devicetree/bindings/arm/qcom-soc.yaml | 4 ++-- Documentation/devicetree/bindings/arm/qcom.yaml | 5 +++++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/Documentation/devicetree/bindings/arm/qcom-soc.yaml b/Document= ation/devicetree/bindings/arm/qcom-soc.yaml index e7160b63d814..179aadc86a9f 100644 --- a/Documentation/devicetree/bindings/arm/qcom-soc.yaml +++ b/Documentation/devicetree/bindings/arm/qcom-soc.yaml @@ -30,7 +30,7 @@ select: contains: oneOf: - pattern: "^qcom,.*(apq|ipq|mdm|msm|qcm|qcs|q[dr]u|sa|sar|sc|sd= [amx]|sm|x1[ep])[0-9]+.*$" - - pattern: "^qcom,.*(eliza|kaanapali|glymur|hawi|mahua|maili|mil= os|nord|shikra).*$" + - pattern: "^qcom,.*(eliza|kaanapali|kuno|glymur|hawi|mahua|mail= i|milos|nord|shikra).*$" required: - compatible =20 @@ -42,7 +42,7 @@ properties: - pattern: "^qcom,(apq|ipq|mdm|msm|qcm|qcs|q[dr]u|sa|sc|sd[amx]|sm= |x1[ep])[0-9]+(pro)?-.*$" - pattern: "^qcom,sar[0-9]+[a-z]?-.*$" - pattern: "^qcom,(sa|sc)8[0-9]+[a-z][a-z]?-.*$" - - pattern: "^qcom,(eliza|kaanapali|glymur|hawi|mahua|maili|milos|n= ord|shikra)-.+$" + - pattern: "^qcom,(eliza|kaanapali|kuno|glymur|hawi|mahua|maili|mi= los|nord|shikra)-.+$" =20 # Legacy namings - variations of existing patterns/compatibles are= OK, # but do not add completely new entries to these: diff --git a/Documentation/devicetree/bindings/arm/qcom.yaml b/Documentatio= n/devicetree/bindings/arm/qcom.yaml index ff8a35df7862..ca02a2f0396f 100644 --- a/Documentation/devicetree/bindings/arm/qcom.yaml +++ b/Documentation/devicetree/bindings/arm/qcom.yaml @@ -175,6 +175,11 @@ properties: - qcom,kaanapali-qrd - const: qcom,kaanapali =20 + - items: + - enum: + - qcom,kuno-idp + - const: qcom,kuno + - items: - enum: - qcom,mahua-crd --=20 2.43.0 From nobody Tue Sep 29 01:19:00 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 811C3438019 for ; Fri, 14 Aug 2026 07:34:10 +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=1786692857; cv=none; b=JMrLxp75k1N42iANYWOf9Vf1vrdTalOFLYgqTSqxv+g8lpPlJrY+aoHIhFmAelGMGqKMAfsiPpPKdHsRYphUy5FRv77ccK0rwo7Nubf4IJwI0HBy38usM/V/bUn1Pe6H9DVhUrWyPcZ+nzgExvf7aXfT7xWx5tfFIj1A0pgTshs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786692857; c=relaxed/simple; bh=gp6yCdc51qBisiiWkVrdjw9c7FzKOQM9INkmbdIYPkM=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=j4aUTh5VIzvQYOlyKcdN1aMkrP0Ea2dHOPCQ4aecTpqtpP0K+GRIdWvOlbtjdRSjBwLs5udsO4cDO9KzmYi2YzGKcsbD56FyqDVnDQvzrM1SseugOMjq3aLA545hjn7CB3X3o+p6HPzo5Co6Bprd3KuknqkjT16JVEBX/RH4E7Q= 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=IUHC1oUc; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=ht1fyn+3; 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="IUHC1oUc"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="ht1fyn+3" Received: from pps.filterd (m0279862.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 67E4Qfoq308291 for ; Fri, 14 Aug 2026 07:34:08 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= z7HaXC8EoAZXk/JVv9SlqpEQ7+HYIyqMH1CchV0wCD0=; b=IUHC1oUcXbN6NI0F IDQ4uJpCNRP3Yik0QaH9cBQf3oPPEEf8GduUZSDge+Ovq8d/p9ozwDuSecYRcBjg 2JsB0F+94xOUAoHlKqPSXaunhP2/Y+OOnXFBPxacZeWYIkXJEp0jwcnGYG+iHcXf Z6I2kn6A9l5BlkBTlXUSvXm/SPmDgq2fT1JLEj67GumjNlcuqPPeqcuL7A6OGusD OCyrq/IR7DGaNu/qGwcLXWMDAyTF+Juc4mgo3cikDnAhZaieuX+v0zBOut6uDDFX wJXkM/8vZRUj76fbs/9xViFKBBejPUoDHm5lr0wpJS4YlgUJ+c8jOac8tgSHZUQO s8AwKg== 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 4g1j2f2xpt-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 14 Aug 2026 07:34:08 +0000 (GMT) Received: by mail-pg1-f197.google.com with SMTP id 41be03b00d2f7-c89704da8c7so911927a12.0 for ; Fri, 14 Aug 2026 00:34:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1786692848; x=1787297648; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=z7HaXC8EoAZXk/JVv9SlqpEQ7+HYIyqMH1CchV0wCD0=; b=ht1fyn+3+Tw+Edw2Wo74j4F7zlYJfCvPgndE5vIe6+WK4Ihdm54FgYhzG8osUmEnoD VA6hbFTtkhltMsIXsSKgNeqSkzeQHiH69CTCmIQ2uw71kyAS6yQSzgYxp0qJGMy4ZV+B YcxKXh0SCbiMlJrlC4yI/Zavo/80/EZpcvTUDHTxHZ8F5r3kPgtLLDSecm6LH9V+7aK9 V1H0sckoRGuTloPdr57sea90k69daYpmE1zK6Ubjql4bBoWzoL78mJPQ/i+oLvvKFry9 zo9dL1g4X45BNfocI4cI7J8i46gv0tcXqdzViR3xPkFDyZLoxNjMXFUbea7q/okI7/a4 7JDg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1786692848; x=1787297648; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=z7HaXC8EoAZXk/JVv9SlqpEQ7+HYIyqMH1CchV0wCD0=; b=l0HRufMI3iq/pe41QmPzEbhEXMP4kzqwYJkkQ2LyO+wDYf4HGcucsidBdWp01vmmHp UKMBLmY1qRQVjjAEF6KA7eh9hHibe1iPsyI6V1ZSnriSwOv6b+OSCxklQx/6+X0846KW E3nNUoj7MaUG+JCVI4N4Be5I1Z/wSs9ncY7omJEs4BsxaIssrLNxVafaKL8e7EodQZbb 880fNujuCU5cHWlHOZItHQ2OCsJA4OiexdZztsZX8Uwqcc25gzOxVjB3+iA7MGWOeaj8 bscn+RjqV3YlSV7e6Wygcux9uxprmYCWk0DUxGuS716CUt8b5cm/+ErJOnmT5t8EITgU nscA== X-Forwarded-Encrypted: i=1; AHgh+Rp9M/NMhjoucEN0g7wbaF+7do2ZhbO9VeT6HWMX/HSjD4osCsrCFs6zN896+Ml1CD0Fo2yWFRbsh+0b7uA=@vger.kernel.org X-Gm-Message-State: AOJu0Yy5QqeiltzXvMSzjU4s6sQJpPHcj844ffquOgzpBF46BK6JeeyM Ni3q0o1xDA6TflkkZnwpSrKi3j8iAQd39SM/6W7DmlqamffWHtLFP4+ajphBjYTwr/RvWFBOjCZ OVyc7Y3nETl6qi/MuZRf2naq276N1WmmkwVhqmq+Q0v8Zyg5C7zP/WCECEWOrP0r7yXg= X-Gm-Gg: AR+sD13FWHP1bzuHzx3vxkGcF2O5QXICWWE+B2dBXGAOMxrKg6u/FdTWIcu8LD6lO6R 2ZVMx9USy9lTMKUdAHv9ZbofsclnaKuid007Y+m/jUxX7xVnYm6ocFAEXmzQtvknI0M09PzCDVa yfmN3e8aBSjr6kMFdJrZDhlyuULDuIWc80ELRK2yIy5RyFK4TKTHnaXWQp+4IA0kWEoehp/feK8 AsWdIVv9GUJpHyfYB0+TiEWTW/MIw3Au5p+qNIc1cAFhAnKigMqwC3KzIepnapIaWwfbZa21oyL ps1qXPqlVfAt7Q29qwamn3dz4fAVJQRICFg0/uwEifcv8fww2sEQJxx51JJ1eUHhhwDhsf+onWr vKSJXP4HCBuoxn8vUtDo/wGWBa5Ni/ibhtzkO5PSVOmVfISeQjLqg4SF4baNRwFgK/APZ9u7z3i hgedFwcr2fqGKIO9tuq6T5hKA= X-Received: by 2002:a05:6a20:a106:b0:3b4:61f:1fec with SMTP id adf61e73a8af0-3cc71ac37cbmr4311852637.2.1786692847529; Fri, 14 Aug 2026 00:34:07 -0700 (PDT) X-Received: by 2002:a05:6a20:a106:b0:3b4:61f:1fec with SMTP id adf61e73a8af0-3cc71ac37cbmr4311780637.2.1786692847013; Fri, 14 Aug 2026 00:34:07 -0700 (PDT) Received: from hu-hardshar-blr.qualcomm.com (blr-bdr-fw-01_GlobalNAT_AllZones-Outside.qualcomm.com. [103.229.18.19]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-320ea804233sm1062280eec.26.2026.08.14.00.33.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 14 Aug 2026 00:34:06 -0700 (PDT) From: Hardeep Sharma Date: Fri, 14 Aug 2026 13:01:46 +0530 Subject: [PATCH v2 15/15] ARM: dts: qcom: Add initial device tree for Kuno SoC Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260814-kuno-soc-support-v2-15-3079794f0f73@oss.qualcomm.com> References: <20260814-kuno-soc-support-v2-0-3079794f0f73@oss.qualcomm.com> In-Reply-To: <20260814-kuno-soc-support-v2-0-3079794f0f73@oss.qualcomm.com> To: Bjorn Andersson , Konrad Dybcio , Krzysztof Kozlowski , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Ulf Hansson , Michael Turquette , Stephen Boyd , Brian Masney , Taniya Das , Georgi Djakov , Bartosz Golaszewski , Linus Walleij , Thomas Gleixner , Radu Rendec , Robert Marko , Guru Das Srinagesh Cc: linux-arm-msm@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, linux-pm@vger.kernel.org, linux-clk@vger.kernel.org, linux-gpio@vger.kernel.org, Hardeep Sharma , Dmitry Baryshkov X-Mailer: b4 0.15-dev-47773 X-Developer-Signature: v=1; a=ed25519-sha256; t=1786692714; l=12098; i=hardeep.sharma@oss.qualcomm.com; s=20260204; h=from:subject:message-id; bh=gp6yCdc51qBisiiWkVrdjw9c7FzKOQM9INkmbdIYPkM=; b=TZq+MicD/ViBXxJoZtHic30BP9FNrklRRHvu98xnjtNmkedhSZVsKT7h6w1ciCr+tRSQa7rsH WAQFblbSiCgBuJXGim7dqfm6FhuBx7JT2DXez2lOwMN6zX/dBf7OISM X-Developer-Key: i=hardeep.sharma@oss.qualcomm.com; a=ed25519; pk=IvwPDKA2xr6jWaCIBBY2ran/H0124QUzVfun+CtEikM= X-Authority-Analysis: v=2.4 cv=FeMHAp+6 c=1 sm=1 tr=0 ts=6a7ec4f0 cx=c_pps a=rz3CxIlbcmazkYymdCej/Q==:117 a=Ou0eQOY4+eZoSc0qltEV5Q==:17 a=IkcTkHD0fZMA:10 a=Sv0fKeRqtYgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_K5XuSEh1TEqbUxoQ0s3:22 a=EUspDBNiAAAA:8 a=lKFnvmfiA1OmcLezn0cA:9 a=QEXdDO2ut3YA:10 a=bFCP_H2QrGi7Okbo017w:22 X-Proofpoint-GUID: 627T-Qvs_jqPAYRd4ytD51In381kndf4 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODE0MDA1OCBTYWx0ZWRfX0haCBEXTauLa 5mYu1vlZelCgOboWIXaiUDe/sGlDbGQEiE7TSA7LcvtouN+loh7Id8n9p+X8EklJ/TUbceQ8blH +xBtCb29GWkx2gA+h0hyWMdA7Lt2ebCcZBh/7LUNYmpPpGoVOT7SsJBcdTD6GIDmDDPT03Ea4bw ERNHdDTEfUOv2n6f+7ZDEAX9P4msoJf5WvxhRaXmI4Ji2+h9YlW+mEtAiDGe3hfIAyL3LbxCKyo s2o3jgsaahLwkWnawCu8utIa1s/TFQjtwhF1BUBSa4uUuJRBXWffh3XJ8LlhMspaNXLInwTNRbQ SgpUJZMdJxP1gHslB2KfYUg+27IZM+AtVKExghtJN3i1QTPUeufv88FI4kKnlxv3GKxH3mo24VI w/vTN1A1/lRWpBQl3KrYuJW3k6Qe/Jfa8YcXwecZUhQv4hyDEymvuAdCA2fWgknauGxSiE65mu3 H0+jfd6J5CTY8EdAqKA== X-Proofpoint-ORIG-GUID: 627T-Qvs_jqPAYRd4ytD51In381kndf4 X-Proofpoint-Spam-Info: AW1haW4tMjYwODE0MDA1OCBTYWx0ZWRfX4LwL0fD5Yqwb EFxR9jRsByV+xg7KrIrxxissfscq+uta8JiuI4mMD8PLTVUHWSdQs1Gl+dTXtnSGFR/Ou14XBDM 3CSVMnGvDTMpRiuLOu26RBXxnU9LmbI= 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-14_02,2026-08-12_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 malwarescore=0 lowpriorityscore=0 adultscore=0 impostorscore=0 suspectscore=0 clxscore=1015 priorityscore=1501 bulkscore=0 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608140058 Add SoC-level DTSI (qcom-kuno.dtsi) and IDP board DTS (qcom-kuno-idp.dts) for the Qualcomm Kuno SoC. Peripherals included in this initial set: - Single Cortex-A7 CPU with PSCI idle states - RPMh RSC with clock controller, power domains, and BCM voter - GCC (Global Clock Controller) - TLMM pin controller (110 GPIOs) - Interconnect (aggre-noc, cnoc-main) - GENI UART console (QUP SE3) - SMEM, hardware spinlocks (TCSR mutex) Reviewed-by: Dmitry Baryshkov Signed-off-by: Hardeep Sharma Reviewed-by: Linus Walleij --- arch/arm/boot/dts/qcom/Makefile | 1 + arch/arm/boot/dts/qcom/qcom-kuno-idp.dts | 25 ++ arch/arm/boot/dts/qcom/qcom-kuno.dtsi | 419 +++++++++++++++++++++++++++= ++++ 3 files changed, 445 insertions(+) diff --git a/arch/arm/boot/dts/qcom/Makefile b/arch/arm/boot/dts/qcom/Makef= ile index 026d5b682b2b..7327a7b8180e 100644 --- a/arch/arm/boot/dts/qcom/Makefile +++ b/arch/arm/boot/dts/qcom/Makefile @@ -26,6 +26,7 @@ dtb-$(CONFIG_ARCH_QCOM) +=3D \ qcom-ipq4019-ap.dk07.1-c2.dtb \ qcom-ipq8064-ap148.dtb \ qcom-ipq8064-rb3011.dtb \ + qcom-kuno-idp.dtb \ qcom-msm8226-microsoft-dempsey.dtb \ qcom-msm8226-microsoft-makepeace.dtb \ qcom-msm8226-microsoft-moneypenny.dtb \ diff --git a/arch/arm/boot/dts/qcom/qcom-kuno-idp.dts b/arch/arm/boot/dts/q= com/qcom-kuno-idp.dts new file mode 100644 index 000000000000..c2f6650d3fe6 --- /dev/null +++ b/arch/arm/boot/dts/qcom/qcom-kuno-idp.dts @@ -0,0 +1,25 @@ +// SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +/* + * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries. + */ + +/dts-v1/; + +#include "qcom-kuno.dtsi" + +/ { + model =3D "Qualcomm Technologies, Inc. Kuno IDP"; + compatible =3D "qcom,kuno-idp", "qcom,kuno"; + + aliases { + serial0 =3D &uart3; + }; + + chosen { + stdout-path =3D "serial0:115200n8"; + }; +}; + +&uart3 { + status =3D "okay"; +}; diff --git a/arch/arm/boot/dts/qcom/qcom-kuno.dtsi b/arch/arm/boot/dts/qcom= /qcom-kuno.dtsi new file mode 100644 index 000000000000..c5bfe0ecf2e9 --- /dev/null +++ b/arch/arm/boot/dts/qcom/qcom-kuno.dtsi @@ -0,0 +1,419 @@ +// SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +/* + * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries. + */ + +#include +#include +#include +#include +#include +#include + +/ { + #address-cells =3D <1>; + #size-cells =3D <1>; + interrupt-parent =3D <&intc>; + + clocks { + xo_board: xo-board { + 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>; + }; + }; + + cpus { + #address-cells =3D <1>; + #size-cells =3D <0>; + + cpu0: cpu@0 { + device_type =3D "cpu"; + compatible =3D "arm,cortex-a7"; + reg =3D <0x0>; + enable-method =3D "psci"; + cpu-idle-states =3D <&little_cpu_sleep_0>, <&little_cpu_sleep_1>; + power-domains =3D <&cpu_pd0>; + power-domain-names =3D "psci"; + }; + + idle-states { + entry-method =3D "psci"; + + little_cpu_sleep_0: cpu-sleep-0 { + compatible =3D "arm,idle-state"; + idle-state-name =3D "standalone-pc"; + entry-latency-us =3D <350>; + exit-latency-us =3D <450>; + min-residency-us =3D <1774>; + arm,psci-suspend-param =3D <0x40000003>; + local-timer-stop; + }; + + little_cpu_sleep_1: cpu-sleep-1 { + compatible =3D "arm,idle-state"; + idle-state-name =3D "pc"; + entry-latency-us =3D <550>; + exit-latency-us =3D <750>; + min-residency-us =3D <6700>; + arm,psci-suspend-param =3D <0x40000004>; + local-timer-stop; + }; + }; + + domain-idle-states { + cluster_sleep_0: cluster-sleep-0 { + compatible =3D "domain-idle-state"; + idle-state-name =3D "cx-min"; + entry-latency-us =3D <750>; + exit-latency-us =3D <2350>; + min-residency-us =3D <9144>; + arm,psci-suspend-param =3D <0x40000008>; + }; + }; + }; + + firmware { + scm { + compatible =3D "qcom,scm-kuno", "qcom,scm"; + }; + }; + + memory { + device_type =3D "memory"; + /* Bootloader will fill base and size */ + reg =3D <0x0 0x0>; + }; + + psci { + compatible =3D "arm,psci-1.0"; + method =3D "smc"; + + cpu_pd0: power-domain-cpu0 { + #power-domain-cells =3D <0>; + power-domains =3D <&cluster_pd>; + }; + + cluster_pd: power-domain-cluster { + #power-domain-cells =3D <0>; + domain-idle-states =3D <&cluster_sleep_0>; + }; + }; + + reserved-memory { + #address-cells =3D <1>; + #size-cells =3D <1>; + ranges; + + quickboot@82100000 { + reg =3D <0x82100000 0x100000>; + no-map; + }; + + aop-image@82200000 { + reg =3D <0x82200000 0x20000>; + no-map; + }; + + aop-cmd-db@82220000 { + compatible =3D "qcom,cmd-db"; + reg =3D <0x82220000 0x20000>; + no-map; + }; + + aop-config@82240000 { + reg =3D <0x82240000 0x20000>; + no-map; + }; + + uefi-log@82260000 { + reg =3D <0x82260000 0x10000>; + no-map; + }; + + ipa-fw@82270000 { + reg =3D <0x82270000 0x10000>; + no-map; + }; + + smem@82280000 { + compatible =3D "qcom,smem"; + reg =3D <0x82280000 0xc0000>; + hwlocks =3D <&tcsr_mutex 3>; + no-map; + }; + + tme-crashdump@82340000 { + reg =3D <0x82340000 0x40000>; + no-map; + }; + + tme-log@82380000 { + reg =3D <0x82380000 0x4000>; + no-map; + }; + + access-control-db@82384000 { + reg =3D <0x82384000 0x40000>; + no-map; + }; + + secdata@823c4000 { + reg =3D <0x823c4000 0x1000>; + no-map; + }; + + modem-efs@823c5000 { + reg =3D <0x823c5000 0x10000>; + no-map; + }; + + cpucp-fw@82400000 { + reg =3D <0x82400000 0x80000>; + no-map; + }; + + xbl-dt-log@824c0000 { + reg =3D <0x824c0000 0x20000>; + no-map; + }; + + qtee@82500000 { + reg =3D <0x82500000 0x180000>; + no-map; + }; + + trusted-apps@82680000 { + reg =3D <0x82680000 0x600000>; + no-map; + }; + + mpss-audio@82e00000 { + reg =3D <0x82e00000 0x5a00000>; + no-map; + }; + }; + + soc: soc@0 { + compatible =3D "simple-bus"; + #address-cells =3D <1>; + #size-cells =3D <1>; + ranges =3D <0 0 0xffffffff>; + + gcc: clock-controller@80000 { + compatible =3D "qcom,kuno-gcc"; + reg =3D <0x00080000 0x1f4200>; + clocks =3D <&rpmhcc RPMH_CXO_CLK>, + <&rpmhcc RPMH_CXO_CLK_A>, + <&sleep_clk>, + <0>; + #clock-cells =3D <1>; + #reset-cells =3D <1>; + }; + + qup0: geniqup@9c0000 { + compatible =3D "qcom,geni-se-qup"; + reg =3D <0x009c0000 0x2000>; + clocks =3D <&gcc GCC_QUPV3_WRAP_0_M_AHB_CLK>, + <&gcc GCC_QUPV3_WRAP_0_S_AHB_CLK>; + clock-names =3D "m-ahb", "s-ahb"; + #address-cells =3D <2>; + #size-cells =3D <2>; + ranges =3D <0x0 0x0 0x0 0x0 0x1000000>; + + uart3: serial@98c000 { + compatible =3D "qcom,geni-debug-uart"; + reg =3D <0x0 0x0098c000 0x0 0x4000>; + interrupts =3D ; + clocks =3D <&gcc GCC_QUPV3_WRAP0_S3_CLK>; + clock-names =3D "se"; + pinctrl-0 =3D <&uart_console_active>; + pinctrl-1 =3D <&uart_console_sleep>; + pinctrl-names =3D "default", "sleep"; + + status =3D "disabled"; + }; + }; + + cnoc_main: interconnect@1580000 { + compatible =3D "qcom,kuno-cnoc-main"; + reg =3D <0x01580000 0x19200>; + #interconnect-cells =3D <1>; + qcom,bcm-voters =3D <&apps_bcm_voter>; + }; + + aggre_noc: interconnect@1640000 { + compatible =3D "qcom,kuno-aggre-noc"; + reg =3D <0x01640000 0x33400>; + #interconnect-cells =3D <1>; + qcom,bcm-voters =3D <&apps_bcm_voter>; + }; + + tcsr_mutex: hwlock@1f40000 { + compatible =3D "qcom,tcsr-mutex"; + reg =3D <0x01f40000 0x40000>; + #hwlock-cells =3D <1>; + }; + + pdc: interrupt-controller@b220000 { + compatible =3D "qcom,kuno-pdc", "qcom,pdc"; + reg =3D <0x0b220000 0x10000>; + qcom,pdc-ranges =3D <1 148 6>, + <9 156 2>, + <17 164 7>; + #interrupt-cells =3D <2>; + interrupt-parent =3D <&intc>; + interrupt-controller; + }; + + restart@c264000 { + compatible =3D "qcom,pshold"; + reg =3D <0x0c264000 0x1000>; + }; + + tlmm: pinctrl@f000000 { + compatible =3D "qcom,kuno-tlmm"; + reg =3D <0x0f000000 0x400000>; + interrupts =3D ; + gpio-controller; + #gpio-cells =3D <2>; + gpio-ranges =3D <&tlmm 0 0 110>; + interrupt-controller; + #interrupt-cells =3D <2>; + + uart_console_active: uart-console-active-state { + pins =3D "gpio8", "gpio9"; + function =3D "qup0_se3_mira"; + drive-strength =3D <2>; + bias-disable; + }; + + uart_console_sleep: uart-console-sleep-state { + pins =3D "gpio8", "gpio9"; + function =3D "gpio"; + drive-strength =3D <2>; + bias-pull-down; + }; + }; + + intc: interrupt-controller@17000000 { + compatible =3D "qcom,msm-qgic2"; + reg =3D <0x17000000 0x1000>, + <0x17002000 0x1000>; + interrupt-controller; + #interrupt-cells =3D <3>; + }; + + timer@17020000 { + compatible =3D "arm,armv7-timer-mem"; + reg =3D <0x17020000 0x1000>; + #address-cells =3D <1>; + #size-cells =3D <1>; + ranges; + + frame@17021000 { + reg =3D <0x17021000 0x1000>, + <0x17022000 0x1000>; + frame-number =3D <0>; + interrupts =3D , + ; + }; + }; + + apps_rsc: rsc@17040000 { + compatible =3D "qcom,rpmh-rsc"; + reg =3D <0x17040000 0x10000>, + <0x17050000 0x10000>, + <0x17060000 0x10000>; + reg-names =3D "drv-0", + "drv-1", + "drv-2"; + interrupts =3D , + /* drv-1: placeholder (unused) */ + , + ; + qcom,tcs-offset =3D <0xd00>; + qcom,drv-id =3D <2>; + qcom,tcs-config =3D , + , + , + ; + power-domains =3D <&cluster_pd>; + + rpmhcc: clock-controller { + compatible =3D "qcom,kuno-rpmh-clk"; + clocks =3D <&xo_board>; + clock-names =3D "xo"; + #clock-cells =3D <1>; + }; + + rpmhpd: power-controller { + compatible =3D "qcom,kuno-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: opp1 { + opp-level =3D ; + }; + + rpmhpd_opp_min_svs: opp2 { + opp-level =3D ; + }; + + rpmhpd_opp_low_svs: opp3 { + opp-level =3D ; + }; + + rpmhpd_opp_svs: opp4 { + opp-level =3D ; + }; + + rpmhpd_opp_svs_l1: opp5 { + opp-level =3D ; + }; + + rpmhpd_opp_nom: opp6 { + opp-level =3D ; + }; + + rpmhpd_opp_nom_l1: opp7 { + opp-level =3D ; + }; + + rpmhpd_opp_nom_l2: opp8 { + opp-level =3D ; + }; + + rpmhpd_opp_turbo: opp9 { + opp-level =3D ; + }; + + rpmhpd_opp_turbo_l1: opp10 { + opp-level =3D ; + }; + }; + }; + + apps_bcm_voter: bcm-voter { + compatible =3D "qcom,bcm-voter"; + }; + }; + }; + + timer { + compatible =3D "arm,armv7-timer"; + interrupts =3D , + , + , + ; + }; +}; --=20 2.43.0