From nobody Mon Sep 28 12:34:02 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 741E248EBFA for ; Fri, 21 Aug 2026 16:09:23 +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=1787328565; cv=none; b=KUXvWVtCyrPRri0Sn3eFS82YLF3uQBj+eVxufBoZyaMrWI1ePhbUR/qCwQyKPYlcNjxF/6AdRAOzG8NFUXtqWUSZ+Iocp5P1LjG6KgW+Rloy/BfatnLKkp/9EcmXXcVu7ZIn4LxWbDTNGb/nDu/wB5iJkh1yUHxS4zQM9Te/YC0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787328565; c=relaxed/simple; bh=gHxGYWhnicYORaElGwhsc1d3PMvje3as8cNJCACI2hM=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=gVr4eWPV0R31V/5hTBjbYAHlE7MNX5ohYLy4jhC9xpnTd+7eL16hzLrJGHhwCtSisoMgh5srCrFcn/hp8gt6GZonSQnDcjYU5QF2Z4tCEhsol/yTx3OnnfKQYd6m4d1ne7TBVKpy2SQMak/N5MjQnOeF0tkrL2T4zI2iyphwLAs= 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=NYWY0oMx; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=anwZT0cX; 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="NYWY0oMx"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="anwZT0cX" 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 67LFnAVX2406391 for ; Fri, 21 Aug 2026 16:09:21 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=NYWY0oMxw+QLdiJo szf4Io4ug8e3+O/mIiPbVMM5c/2BPdee8O1E5qJAnkta2E2HgzBMhKX6jPFcd0lV lGm3udZmOC0tefQvPJFyRxvdhq1knlg1reSDMqL0N0vs19pQT7AMMyd8N4XGSeAH J+DgvQ3/3Q1sfUYPvpzvCvtI/dtxRjVXq65/Ufyj50g2bGE24zS5PQD61Bxlvd4s E09nXbAhQRfHaTirqbfKfoDMjyChElU1Yu6ftq8Q4eEXpjYU3hKzMUKExIXMqukr 9Z5uLF6/I1ipqHOPrJWKaOhSQkqnMuUqMAW5Fx41FwZPJqxFzvgFjBblZypiEs7P +ECtBg== Received: from mail-oi1-f198.google.com (mail-oi1-f198.google.com [209.85.167.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4g6d06b36k-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 21 Aug 2026 16:09:21 +0000 (GMT) Received: by mail-oi1-f198.google.com with SMTP id 5614622812f47-4a45b3f0bdfso2085903b6e.1 for ; Fri, 21 Aug 2026 09:09:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1787328561; x=1787933361; 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=anwZT0cX4MNvJJ1LhVASj+H19+8iSF2FKYZ0G7QW4dF6XGhMftGZjig5TqJh8M34/p zxVthY10v13COb1kcowm8wFcytw9OfLEkU31llDgOQuZi/LqypkvjrvjizfiSNxR9IOD hJpZYdl+RISstZMAFcpp0Vpby9QE+0jS4zljP6UV9JLLef0bG+AMKDVYq7dGXubRPW6O GwFwGWJHGF4duIFn2IvHSFcs/rGWoKfo/i1Kkk6UVRQP4wX3SMLaVUT0T1fmqG5ukYGh sYKzGcTMGEyEHvCvEuJkVO9NfluDdrb2Z/dTpRECbWkKC9NuKNKjs9yF5Xl0ZUbroJ0k JBaw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787328561; x=1787933361; 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=Hx1KaxhKzrEVE5idPusfHxXFYTqzxaUTMV2iLPFdwj4JmgWiS4YHanYBXpXX9/yTu3 WboCcMuwiHzaTjYm4UGdJ5BzZkOYVdvhHg8XBkH2vRVdde7Buk2fPSAIOk57lhqPqyfn lhDl/T2G/GRcTa24NYGFIfWXQajPuZgxLlr0lBj489o+PnGl9u5xrDYfBmRF3BhelW1m 5HS1g29Lfxc89OiaQyeQsCo0mkAr26i8fLxXe8Z+kMnI2VZXqtaHJk0XJ7kbbAd4FIwU 1AE5VKRsFSfleajc1aKxlW/tFOuLIlbThLb3vrqufqZFBa6LW64Hd4dGsCDHTRFFonqF syhg== X-Forwarded-Encrypted: i=1; AHgh+RrwZaWQlURYsjc0wb4AKlmfM5RNBq1uxa2Y8gizjUEUwtFoeC2mrBcrEbL++hwid0JM8DrMkXXOxzliwdQ=@vger.kernel.org X-Gm-Message-State: AOJu0YxyeZVAf3RAJ/vgKFrn4P0zpDf02RlkinFlR/ILUX1S3Q4l957f 2m4VL9pr+Hq+la/RbLV+qyU8XkVlmeaE4YmTWTAa/EkFEJoX2z83VvTYBTa4R2QwlmBmK0hP5JQ BvsPNmCDpBMlDD35Vv1A68suebkwimfP2y7YZ0RsKc+J2KuyLx4PBQMwjYHOkJppLTsE= X-Gm-Gg: AR+sD103ADuvamwBph7u9OJy4G7jJcwPsMsFB4C3MYGLkePNQlESJHOli93BsFEITYp 35yk1PDIdYc0T1nUXHyghEQq0gBWikGO2sZ5+wIuWVFlNTf9RYGw3t5gn0RgnyAMQ3gkey8lHjP JEFTfDyI36WGvVyDMc88qsIiV/OblQW2gBuOnSDnIKZvWI6weENeGKy47Ap3IRXA6pIbqyix68x iEaDqrnmRuvrGSIne3KEDw74Rr5xBSmXuBDDMGL1fPM6oCbZkmQvs+V7/17dZ8tj0NdMm5FClVL z4DbpuQZ4UCeKyRGeSWRneizS/IHxelG6keLRLJL035Yp38e4rSxzKAtvCff4+y+hP6KwrwlAA/ ceQdPD9BrLmm+TE5b1RtTdaG1zAw2tA8ZfCt0k91k9/P6Oadiiu9RIhfqaxXXyvq9//O2RrwQw5 NCT6tfP558F5CggTfNxfWrXms= X-Received: by 2002:a05:6808:1394:b0:4a4:866:c395 with SMTP id 5614622812f47-4b2ef3079d1mr9004990b6e.13.1787328560671; Fri, 21 Aug 2026 09:09:20 -0700 (PDT) X-Received: by 2002:a05:6808:1394:b0:4a4:866:c395 with SMTP id 5614622812f47-4b2ef3079d1mr9004887b6e.13.1787328560203; Fri, 21 Aug 2026 09:09:20 -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 5614622812f47-4b2d6d34c8esm4804321b6e.13.2026.08.21.09.09.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 21 Aug 2026 09:09:19 -0700 (PDT) From: Hardeep Sharma Date: Fri, 21 Aug 2026 21:38:54 +0530 Subject: [PATCH v3 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: <20260821-kuno-soc-support-v3-1-196e2b306368@oss.qualcomm.com> References: <20260821-kuno-soc-support-v3-0-196e2b306368@oss.qualcomm.com> In-Reply-To: <20260821-kuno-soc-support-v3-0-196e2b306368@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=1787328540; l=973; i=hardeep.sharma@oss.qualcomm.com; s=20260204; h=from:subject:message-id; bh=gHxGYWhnicYORaElGwhsc1d3PMvje3as8cNJCACI2hM=; b=4s47+ystpTmuQ1rGl9zmtQ2TkeJgm/KBhTGCUovSPNHKV9O35WPS3bN4aQd0VIeR1yIiv559R UNXDB+NH73zAksFBSuiERuQP6ZxsPQORcPPodjzf0EqvrTjR6vodKD3 X-Developer-Key: i=hardeep.sharma@oss.qualcomm.com; a=ed25519; pk=IvwPDKA2xr6jWaCIBBY2ran/H0124QUzVfun+CtEikM= X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODIxMDEyNiBTYWx0ZWRfX8Ffh5kceFKIY HWEgz9rm7rERY8Q1DlJjKNJBXPt9avpJ0m8ia6XHWIdpzMCmwKwNHgs62c6EtqJ7gVdMXJ0PGc5 3tPqAKg5Kv1pPMCqpG1/iNM9RIWCmAUy2rE/AxyFqvyvtylwVgQU4FdGVTrEGhn7kfPHvZwu2xZ QK/PSu9hdWTOdvJxOAc7kenK41WQo54MNDhhPMCv3izMljxtE92RMIBZVSr2RbedIzA0t1dP3jB 0C1SZFjQZRwagaVgi05IOHrRQHYLG2f10r07DBGYBSBw1JsyASExWcnrUsolBgCxU1xDdramMOM v60eyvD6i02zZAIwXw0T8iJR9JaHaQ6Mms8owh2g9+nlLjiW+FTEOu2sAOKuyBYVxcFwu1PbBC3 VxxzxQBZN3BkZIexMnJ+XZHCH8F6vMZmiLgDsSNEJZVJpTJl10EK+kZDQ6LYVclQFzfB6/niyks 2eN4Z9MGHYjZXZeQ2/Q== X-Proofpoint-Spam-Info: AW1haW4tMjYwODIxMDEyNiBTYWx0ZWRfX96huu+JNDaur 7hKs6hTCkWCQlToLTDbJSRkSTxxDIKk6Vjw9REazsmcEgyqwu/XFV7RqiHOu6bhq84OpHjStMlU ky4+WCtRF5yJvvMzgAeZ+RfFKZFFw/c= X-Authority-Analysis: v=2.4 cv=DdQnbPtW c=1 sm=1 tr=0 ts=6a887831 cx=c_pps a=4ztaESFFfuz8Af0l9swBwA==: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=6t05LGSwh5SlIrDCal4A:9 a=QEXdDO2ut3YA:10 a=TPnrazJqx2CeVZ-ItzZ-:22 X-Proofpoint-ORIG-GUID: xpunwibMHzIJQouvIyUhNaK4rwV95Soc X-Proofpoint-GUID: xpunwibMHzIJQouvIyUhNaK4rwV95Soc 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-21_05,2026-08-21_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 clxscore=1015 priorityscore=1501 phishscore=0 bulkscore=0 impostorscore=0 suspectscore=0 adultscore=0 lowpriorityscore=0 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608210126 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 Reviewed-by: Abel Vesa --- 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 Mon Sep 28 12:34:02 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 57A14492531 for ; Fri, 21 Aug 2026 16:09:31 +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=1787328572; cv=none; b=TK7XAVFUvjFSW0rmmX4CVRGk/RSHPpG/CSemkKxaII+LEaXE1dmHdA9eOfokAB14ErBmzxL6a81ebvnW381hZjgFUcp/D+gSb2NMWLUJYGlvbCJ3D13yCqOm6ojhldrcc4/HWdit2ilxZdviF/jNwxc9UqR+4j6jpEzhFNWNkYg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787328572; c=relaxed/simple; bh=ZHsN8zM/JbhignLDIxWKpOEJ0dJLsvtVmGGylPc0eUU=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=gDyYbzg1BCz/rpAPcW2vlj7STZbrqB/BBFNortYTeD5EfJkwsI7HVMVc7jHWHHdWbmapsUbgXvTRSSkx9Qfp2S5P6ZcXWP0jBtToZ+vh5PGZba4CG8SKYeVM+dyr8PjfSPTOAXFgYb/W+OVjFAvfDD/zYZZkhQKU7n60sZvFcTI= 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=FbSuQsMA; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=RFGg6a75; 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="FbSuQsMA"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="RFGg6a75" Received: from pps.filterd (m0279864.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 67LFmY141875209 for ; Fri, 21 Aug 2026 16:09:30 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= tKKYzTTyUQNx49FteOTvUbeUFOC22ARPMGkTLmOUYjE=; b=FbSuQsMA9sGD9voT 5IaGH3EiIi/OTZuLG8vKc9zA4Z3DaeBixdMWvdfTUEKqdd3PBGdpFpoyXc8qweAf j1E1tKFeNxV7yiIAAKb8aJY5yynFbmyqh8/hAD8mIhg8e/ECvma5Xi0+b9IMCuwr MoMfkp6t8zUU6ZjglAnWs/EWYaoGV9vuc94oO8z7nCIq3q+SxzwgoTso+ZQidL1Q ghSVox4FohOz3TE5pUoJQpUMWIPHBcXembkdVC9J9z80zg/np0ucA31A5iJa2yRJ mX9BcyO0fqbNpifGjlGE0UydBnMgXaQsFzb0+eD9AjB05Cl6bgwj+zxj9juCHPop nz8DcQ== Received: from mail-oi1-f197.google.com (mail-oi1-f197.google.com [209.85.167.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4g6gdeacfx-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 21 Aug 2026 16:09:30 +0000 (GMT) Received: by mail-oi1-f197.google.com with SMTP id 5614622812f47-4a45b3f0bdfso2086094b6e.1 for ; Fri, 21 Aug 2026 09:09:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1787328570; x=1787933370; 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=tKKYzTTyUQNx49FteOTvUbeUFOC22ARPMGkTLmOUYjE=; b=RFGg6a756xYLlFgMmr6POeUQGP7xjfe9hCVYpiZUCdicqiGB84tRgoSluUvbeHXodk KTrQ03IiH7yLN3qBoqc0zXHoFHS2f1ERDRHhYPYimcqC0dVm+pFGCxR0adDHTS7HRJG1 21L+eepo7JEE9fz88BDEVFGy4RivDWeMW2R9LjMmBE/Ro6J8/McILjDY0H8GzCD3PIAV 8NDTqeId5zyFvlmEboMG7x7FYz1aptR6hKFysgaXjN9HL0nFl0DWgq1Zh49enrKjiIWI gc/KMcJv+kvyXCyiU1IZjjh3I9Njvo5KdC608D5JhDXzBBH9npqZ/zANP3QKHUUo5GOY 93DA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787328570; x=1787933370; 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=tKKYzTTyUQNx49FteOTvUbeUFOC22ARPMGkTLmOUYjE=; b=qHjhho6/T3hvooc4CMCBXmvzfE2XQsvtzShO0hHXZk5aoAFb9u923QMFD2cw+nr9l5 rwnRYQX59ajDORP4N9AkOVVttZxEjKhjGWfD3dodsk2Dk+T4g0L91jtQ46mvq6Tur7Vx S4RmTiSZbh3nklUCrIIhcz1akO8YiECzj9Qju777SQkS0617Q68KsaKP5gtJCBAf8See 4wFNpPTMLEndRNiIwScoYOo2quc5FCsvAl1szIDHwIZqRfYiOjG5gHepaUgd4s9MW4wT 5TEKYOtK9pr6gZPUSnlDczlNvzdirABdOODkcJf3+Y0B5Qbg6LTdJ2NV8lTDUAb9DfAJ VNBA== X-Forwarded-Encrypted: i=1; AHgh+RpjTvVUHXBQU7vUfDDoAHGHoJV2GqX9TyXfUyfUxlu00yQDnyjmIwXTlYYkSXDqDKJT27VOYk4KrxHB6HQ=@vger.kernel.org X-Gm-Message-State: AOJu0YwWbqIdBTod09t9mRyxstrc6pRIZkbYkl+t+vMIF8KFDVO1JT4z ACLQXbd4BgkHP+N7KtkfMKd2N0q+9Qi/IlA2HkznK7+lARYM4EiJSW6TpTkwmtqmyWXOZD3p8yp csds15i14xfhn3Yzs6qZ4oHAIrH5pnqLqEsYGxzVSILw2yAOTKhl1KPOYPrMZBtT0kT8= X-Gm-Gg: AR+sD12socZzeZ6vENgfbxev+aG86uXvihDQH4Xh7b2e9TAEl22/yUkztwc6lyOfhLf DzitCSeafCcysmSjrVc28uqbUgTl51kbyqZkT1nb695q6oF8pE7TOXX9JJ3vgnzXAlRHNk1PegZ 4PdyZ0/JORxPr5M2Y6+RLgv22FdzbpQuwI8y1wnj/xB9MuljuWQWxDn45/2A3JVcVPg3eRlR606 r513fMvfuGsU90U8naH6DjixsbJeeb0sZMTq/VFdcyUFnFu3Dzpno950HoJ5G2gpfCiBNTR1xNf H26XeAm0EHkXfYI0+nLF3hDGugC87dMCckF5aYL1L1zW1/k31+MMRa2j7Qokt4a7VatlI3iRPgf AAXi02XyM79a7338RN3u5g0KAcNGozH+hSHYl1lDQ9jFSrv5qLkPM69qqy2djCjurHiWG5ckOkv M7TN7hqDqzV+fkXCK4VkZJiR4= X-Received: by 2002:a05:6808:192a:b0:4b2:8e51:91fb with SMTP id 5614622812f47-4b2ef38cbe8mr7352825b6e.16.1787328569754; Fri, 21 Aug 2026 09:09:29 -0700 (PDT) X-Received: by 2002:a05:6808:192a:b0:4b2:8e51:91fb with SMTP id 5614622812f47-4b2ef38cbe8mr7352770b6e.16.1787328569363; Fri, 21 Aug 2026 09:09:29 -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 5614622812f47-4b2d6d34c8esm4804321b6e.13.2026.08.21.09.09.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 21 Aug 2026 09:09:28 -0700 (PDT) From: Hardeep Sharma Date: Fri, 21 Aug 2026 21:38:55 +0530 Subject: [PATCH v3 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: <20260821-kuno-soc-support-v3-2-196e2b306368@oss.qualcomm.com> References: <20260821-kuno-soc-support-v3-0-196e2b306368@oss.qualcomm.com> In-Reply-To: <20260821-kuno-soc-support-v3-0-196e2b306368@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=1787328540; l=871; i=hardeep.sharma@oss.qualcomm.com; s=20260204; h=from:subject:message-id; bh=ZHsN8zM/JbhignLDIxWKpOEJ0dJLsvtVmGGylPc0eUU=; b=ZQq6hRuOT3Sv/p7Iga2o5Z4xvQ9K+e6HZ+qa9CVj+pK4W5CH8S/NVmAjuwyych0jxhamOfo9l Js/JNZDemsPAg1fxECd3OG7G21mKItHm9LrkYx7HK9DBgMn6nY1ZEKT X-Developer-Key: i=hardeep.sharma@oss.qualcomm.com; a=ed25519; pk=IvwPDKA2xr6jWaCIBBY2ran/H0124QUzVfun+CtEikM= X-Authority-Analysis: v=2.4 cv=BcroFLt2 c=1 sm=1 tr=0 ts=6a88783a cx=c_pps a=WJcna6AvsNCxL/DJwPP1KA==:117 a=Ou0eQOY4+eZoSc0qltEV5Q==:17 a=IkcTkHD0fZMA:10 a=Sv0fKeRqtYgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=DJpcGTmdVt4CTyJn9g5Z:22 a=EUspDBNiAAAA:8 a=lHgBgSUrZIjjmBdF2hoA:9 a=QEXdDO2ut3YA:10 a=_Y9Zt4tPzoBS9L09Snn2:22 X-Proofpoint-GUID: 7D4kv2r54Uwml51CvtIQMAizyXy4cOwI X-Proofpoint-ORIG-GUID: 7D4kv2r54Uwml51CvtIQMAizyXy4cOwI X-Proofpoint-Spam-Info: AW1haW4tMjYwODIxMDEyNiBTYWx0ZWRfX1ZmVMGNDOpjl TN/lBonmZyYJ7v3RzWFr7e2gW8ZpuZiM5jNz7o7pRHn74VC2hZDPbPSeuqgyl15AJnW3JTYwcse 6vy8xngxKeEjtDp1wSoHyUnr/rNqrnw= X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODIxMDEyNiBTYWx0ZWRfX5Hbps+5pVtBl hk8EMNWLJLL2hCgg4C1BqptI8qzmrJDb3V6K2amCcUvXWqzdCioq7Xrubi0K8qgIEFphXnQYRM7 k9InosFnXzMBmZhUhEWuQLfGjK8vg7ZNXvIe+y+3BbrJfbA0xPCZBNcXDze/sJEhgeM5V/kwYvf LxJ87Aw4VuiUTIcaIZvY4gCZ9Rd8brfP2FKR9lJHRjtK6BKo8dzhCnKywlp2lRIAKGDOOGM/VCt d8bZop/Hv5tHtqD7d1lp/L+ZWU49sHBQs9eA0lE5vfsubQ4TtOCF95g2iSUyrr61mDTQcZBRx9X tZ69KjUn87p/ECxek4T0Z5f0CLt8N38uXhQf5cxviTAvPAmSQTSoOx+ciDGiktZGaErx7zDElww 9OW+DcqJH27L2S0hWBgSVRPKUK6hGu8SxVVNlvU7GxjD6jrUpVjzcvblqMRiq54FHXlyp9xLVxP 1iUWRyrj3uy2dNIuqGQ== 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-21_05,2026-08-21_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 impostorscore=0 phishscore=0 malwarescore=0 suspectscore=0 priorityscore=1501 bulkscore=0 clxscore=1015 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-2608210126 Document the RPMh power domains for the Qualcomm Kuno SoC. Acked-by: Krzysztof Kozlowski Signed-off-by: Hardeep Sharma --- 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 Mon Sep 28 12:34:02 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 1CDB84C77A7 for ; Fri, 21 Aug 2026 16:09:40 +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=1787328583; cv=none; b=utpJx1KT4JYSnMq6CepBiGA2Y76ZltLYdpCUwYQy834MiycWSqoI4tH1Dhh7bf7YBj9hPRJFaoguYU0aUIz+Sb6AT2zOGbmezoMJv7AaupCM0oOLpJXzkdFgG+EBzLb4j8V3vbizfBcB7prrv+88cRtHSEUB5Ek2F9LWx9aoROc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787328583; c=relaxed/simple; bh=tzDqNTEhoFVwtAYNfXTfFhwNi1y+wzNPDmbGPl082TY=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=rRvW3KaE3zscq2rib08ZH/k0vS3uw3isJ7jFGz2/aWV/5TYT8wmB/vByEJDUNcte4iJD6LUPlzzR5/9/cZh4qq9V9PQYJ0sOqCgghFuqLV/uLjIRszw2RpGRTQMOpScPPHgrX0nTXDVCMLVEjXU7m1H2hANGSPmeDcmUH3+zroY= 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=Sc6ERies; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=aDJqomlL; 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="Sc6ERies"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="aDJqomlL" 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 67LFmLvf2323007 for ; Fri, 21 Aug 2026 16:09:40 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= yksA1f4CIEDmfZUrVzhMhyAFPy3A2If+RJxkkjk66Z0=; b=Sc6ERiescPJxMtCO q20LPtHZHJlYliJPC77R2myg7VPX1FBpmh4j2CABvdp866c6hagoFGYJ4agPu2BL vhuH2Qt/fQNe0U845R/0llDR9orG8AhBhR2/xqVZhhig74LdNwj93FIduXHCM7HG 8cEjrAGJZkHTd3e7Zcc+gNk4sBPCJPg1npfC0byjo2aMc2L1NrkeSLrNu5PWXixF SxZJjlTbhBaZhUfTYhzlKA5NBbCS7O+AhY/xXHi0M3sKTzo+aZ4noBrb2HaorCbI AZbB6X2JYUhK4UaCQ8etsqNRBLvGhvx7YYsOEgZlGIz1JdKD5xsrToEKl6xTObMo hiVlSA== Received: from mail-oi1-f197.google.com (mail-oi1-f197.google.com [209.85.167.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4g6fbwajru-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 21 Aug 2026 16:09:40 +0000 (GMT) Received: by mail-oi1-f197.google.com with SMTP id 5614622812f47-4af9bf0f53bso1904338b6e.1 for ; Fri, 21 Aug 2026 09:09:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1787328579; x=1787933379; 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=yksA1f4CIEDmfZUrVzhMhyAFPy3A2If+RJxkkjk66Z0=; b=aDJqomlLqKvRianifF4ErXJ4addT3KkyNjBeHh2DzIkJmtEIvW/OoA159q6md35MI1 4EaA1dD9eMATE0IYX2BhxMvrw8eCZpN76c8Zia1rIsp7A1BDqkWFtTn/d5K7XqrYwsov 3jKUsVvU1wSvWu8KdtHKZLP1s/9dwECNsF1iQuvAVkwbEqRh5lFLlSAquzoUtN+5WGTM zMVt6hq2MSUcvkvFIV7nvHaQWooCt6ewYQFBzxNlfJcM1VASAlVPV47uRUZOp3/PnExI 73kySQMXxuIfYIDObCZ64Iy38O8kQ1jhU7p9zX4DzvbS84WPEytVYqgu2thlBdEm1Xqh I9SQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787328579; x=1787933379; 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=yksA1f4CIEDmfZUrVzhMhyAFPy3A2If+RJxkkjk66Z0=; b=W9UQZfqETj5K0p+NsPunTt5mS7XT9k8FlvemEQJwLDg0uUVJkQKswYytw/Nn7eVeBS GRdPLrltqw9t9ZiOTUFIPhO1CLw6nIHI8kqxlFkIdl0OLBVZPtvOeqT9t0MBAq+QEN/3 NTLG7075lmJm7jB2PvTI8eHTdJPbzlCcy/+yePiASloUuHsAUhzuB1htbOmF55YAwyq8 DQC1FEXuWIthE6N0SJdS+/5OUWFWO8/u3VY+queBgYeMAK4ANwgvUwGsEFLyoJg/amOG l0fTVnS3Oh8CYn3WvYMEc85L9r7yVeeRZ4STFlZiViCvysHFa5F4KSUVZvKttEjcGZHa FmwA== X-Forwarded-Encrypted: i=1; AHgh+RoUm+eiO6gP4XBBRNyYlFManizl/mSbI2ZfJipgdpE8yQocm0McCkhXeHtHfgKBKRCQkucPA/XAthYcUlw=@vger.kernel.org X-Gm-Message-State: AOJu0YwQeF34UIEr437Wt5Qq+PALsBh83Y/K9INDHwVOkjAit++6mY9l OXLmqAQ9J1QYcqNpt66G2k1gwoqrvVps+Z9QRaZGvQFQZl66lam10x6CfNdwaXKMPUOQult1CR4 d48FBeTFULToYk/ZXH29xhFfDNngjH7DPsVZtgZMNz7M9pVcDbFgfSUGZMwsEuzMCaUM= X-Gm-Gg: AR+sD117vUvtOlpaG19RYWJZHyeNr7y5PAEMok5YZr/z6qYQosw6ciAqmjnJqPJJgVU Mg3ZuUfKSHemIfxhCM7VBEKzfiSBFJ/WSpAtBzSg0Sv7vUh5JulCzdg/wRt31iDlpTPlEjWqksk m9T9ObJdYgPrWelxUQRtMtsjKR/HL1j4o069hIL8hWOAZ+GbAg5r5n5gjffeBIEh1tyaKQQoSjp H8vI1JTuCmuh5OJxXB025fS4BuPSwzr3oxIS3eo/+5K1u8mYtHkraHRP0WMsR1BrGqBExkknH84 QWBp0/9W+GZKIb/25X/qkmU7M+rWItmWfOOoQUDsDKA2HfTr+ZtkL9J970fF8izIsE4CAylG/R0 WAhMRaJPcIau8iHfEkHB9bVgvbbjvpDoyANVCRiMxhKs7Pq9l0DPoyjflposrjQYHGMF8PY1RsW /JmoPwfruLWxUs9kt0hOuqzp4= X-Received: by 2002:a05:6808:f94:b0:4b1:ba28:5df5 with SMTP id 5614622812f47-4b2ef327908mr7079741b6e.18.1787328579325; Fri, 21 Aug 2026 09:09:39 -0700 (PDT) X-Received: by 2002:a05:6808:f94:b0:4b1:ba28:5df5 with SMTP id 5614622812f47-4b2ef327908mr7079658b6e.18.1787328578881; Fri, 21 Aug 2026 09:09:38 -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 5614622812f47-4b2d6d34c8esm4804321b6e.13.2026.08.21.09.09.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 21 Aug 2026 09:09:38 -0700 (PDT) From: Hardeep Sharma Date: Fri, 21 Aug 2026 21:38:56 +0530 Subject: [PATCH v3 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: <20260821-kuno-soc-support-v3-3-196e2b306368@oss.qualcomm.com> References: <20260821-kuno-soc-support-v3-0-196e2b306368@oss.qualcomm.com> In-Reply-To: <20260821-kuno-soc-support-v3-0-196e2b306368@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 , Konrad Dybcio X-Mailer: b4 0.15-dev-47773 X-Developer-Signature: v=1; a=ed25519-sha256; t=1787328540; l=1748; i=hardeep.sharma@oss.qualcomm.com; s=20260204; h=from:subject:message-id; bh=tzDqNTEhoFVwtAYNfXTfFhwNi1y+wzNPDmbGPl082TY=; b=CxsWXOKtJP6Cvh3tIteifLhUXNDAbb56aoAXVsLa6v3Cfb3Hb+XK4dUrRN7H+p4kVAxUL64uA XGzbF+q4je/BNf+gDCsy3Rm4JwOd+U8TlxfPvt0d5PYj3u/qV6owX4L X-Developer-Key: i=hardeep.sharma@oss.qualcomm.com; a=ed25519; pk=IvwPDKA2xr6jWaCIBBY2ran/H0124QUzVfun+CtEikM= X-Proofpoint-Spam-Info: AW1haW4tMjYwODIxMDEyNiBTYWx0ZWRfX4C/ogWo+eZir +VlxVo1zh0RVmskallgTgQFteJ2mqolXbi7KbicEbTtv5mx1xaZSCs+SKQl7PUaK7eec3dcw4fc qU1EvV8D5tTAkrOQxIWMrafAVkRbdHU= X-Proofpoint-ORIG-GUID: Mzfr1IaYk6WD6miyf9jnJpuJ6PY0cMpJ X-Authority-Analysis: v=2.4 cv=L9AtheT8 c=1 sm=1 tr=0 ts=6a887844 cx=c_pps a=WJcna6AvsNCxL/DJwPP1KA==: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=1FmER_HI0FvT1hCPThAA:9 a=QEXdDO2ut3YA:10 a=_Y9Zt4tPzoBS9L09Snn2:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODIxMDEyNiBTYWx0ZWRfX6qPaT4WKNpho Hb4Ezgl/2gb5ltDU3sshJfAWv/YjnOdsxhJRHC8Oase3QDH3APkSFyuWaX+KLSO8wZ8duW4Tkib Ohd++oyMw2x1NIGotmSlAvdKvusmjZgM6FDXm9KWg0dd8h1RC/dEQyYEw4lKDxMRMBTxxxmSjqG LVX6U4y/MvbpiqnSdwBYvweDQ1ighiKwnwx+9h9vgetm6Nxu1V5+x9LL1+4TRSYXXX5GDhP6lpj Ku/z2TeipQgZt9i6ssc4Fu9ktMtiK3eLxPCsZngugh4JBHlQYwnpITOkCOTb7h8ziD9vFc77ExA SgcslKx/nClhWh0sbZkHnIMKNe0w/bzIceEV5xXcEF4JkmKkXOJ+70OMxuS9AhZRPB5JR3JYKK0 MDBaVaQtuQ8d8k12AbtntJOjC4pMDlpLLijXOgpTgS+9IxpklUc3mAR7CqVkPTw/oz7OrDDI1W5 ipYobpd7sBhFlLhNsgg== X-Proofpoint-GUID: Mzfr1IaYk6WD6miyf9jnJpuJ6PY0cMpJ 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-21_05,2026-08-21_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 bulkscore=0 clxscore=1015 priorityscore=1501 suspectscore=0 lowpriorityscore=0 malwarescore=0 phishscore=0 adultscore=0 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608210126 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). Reviewed-by: Konrad Dybcio Signed-off-by: Hardeep Sharma Reviewed-by: Abel Vesa --- 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 Mon Sep 28 12:34:02 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 AD05D499F2B for ; Fri, 21 Aug 2026 16:09:50 +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=1787328592; cv=none; b=bdWVFDamsFhala8BdiFpPMOJ94jB60Zr2l1uKC/C+4SVg2tGFkx0ImMzd7ECs/Pcg98e9vTllH4hnJz/gKB3zatrK13MoyJS+HwGcvv5GrBznEp1Uu7LGycX1/+MHLINalFSRcF/APb0b4Ep3ERdMyZxQ9XB02i+/XNhQ2/cXQo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787328592; c=relaxed/simple; bh=PwVD29DtUH4dIGkOMbXE9qMjiF+K6OUxLIjMJeof/6o=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=T3PmbhG+0pnnsS2lpYi7tN/oBvAlcsPVtHeBGPIHg6knH5pULyeZa0L/5JgbGJDPLqoxLIHus3oq/OHsoB4vBZdzeprtRA5bd2NdQJCyv8vsSUMzDgOUve9UrgI9evYPflb5UxZrGihRQ45q1fmK6kTxelhULfDS+/KSBVMRdEw= 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=HvNWmG3c; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=YuoDbA+k; 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="HvNWmG3c"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="YuoDbA+k" 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 67LFmHYd3172976 for ; Fri, 21 Aug 2026 16:09:49 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= zPYfTHbFrfi2XEod5q3VXPMVscV9WPdiBhHDyk/uC10=; b=HvNWmG3cGQB5SN1o 4S3jxthaESGU+fyHigSOwfsTnZbKqpVnpCTbUecz1r5nSNMMinJgUXYolTR6o3ie 8wT2ApfQ5/PSaP1GxDXac/14trJvUBgn9tAO7dg+OphPz6xc3jQIVWU9RdRzFIeJ ScK2Pz+RmxS2j1IK1IQfxdtwJTHNET+gP8z/o+9WwvZ/uyBRlg5yyMDl5RZGeNTn hiQjUdmKJb+cX8SYYCx3s1v+TjYuRbNCi5Fj736JNVVo6oqkrkthuws5OxUXtszV inVG5sRuw6mgdK9RC9i8TLgwY4HKQtOJXGnh/1YWyslE4VuCjkxDatf9JN/Dd55W 10STMA== Received: from mail-oi1-f197.google.com (mail-oi1-f197.google.com [209.85.167.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4g6gdf2d2g-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 21 Aug 2026 16:09:49 +0000 (GMT) Received: by mail-oi1-f197.google.com with SMTP id 5614622812f47-4a41f46d629so2096872b6e.3 for ; Fri, 21 Aug 2026 09:09:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1787328588; x=1787933388; 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=zPYfTHbFrfi2XEod5q3VXPMVscV9WPdiBhHDyk/uC10=; b=YuoDbA+kBGEX1SK3s2wqw5gVIWf2hmDIjuZwyQhXv89OYTxJLQrbisIWioOQCW9se6 0SDNQerYTz+rXyuqOYjeDFxWUdVLm1mK8MyiGhytjViDjIcEb694Gl2B5EccGgUyAHMG jr56RcJX4njTroQW2XfKeE4ayXEYeWBjjPt55MSABCCmZJbaN6f2LD1sNYXspd/HdU0b k6+WXqP0zjeZrtz3eYhMPX2HVnp4zMcgPXJFV9sEGk0bgRaXgsMwkaKEVFN1REvZ6KWm 0kQAdcxODnMMOl9D5SwNiToMIL5EmIXljFDJF6/DzyGBrGTt9809xjFsshzKNIzRbfpY KRdQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787328588; x=1787933388; 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=zPYfTHbFrfi2XEod5q3VXPMVscV9WPdiBhHDyk/uC10=; b=qjr57ON05dFnKW4VB4haBh24lmPNX49yjRQXtusJmrHjSVaM2rWE4+Ut9WxbVzq6Ui EmjtkKtv27gC0YUoq9EZLCfyZYqjlUAMjpAkUrDTvmmbbUu6ThRjEO3A7Ipo1Qu5h0/Q KyogDgGKq++d7DkNibPQ1StE/Horzyc7hBd4Ga197T24jtchQMB08CBAhluBgKjG37jV hw2Z2EOfGko3McO9UJLYUn2pBtbxzRvPntp6uQzxggZASzr3aqBpCZmD2Vl0RKIUd6Zw Qj7i8qyQIcqLYSWKEXhNiVjmVp3FirtD2IOYXBHHysyr7cVtK6M5gnyoMaQ6U0iRL0Rl YkvQ== X-Forwarded-Encrypted: i=1; AHgh+RpkIT3MwyDN9bPwFIrPuQG5/yax2p7PxUQk6dhUOBx3qC7OXOOumfOAl5ryDxhAKmRQ0i9waLRFUr1HBBw=@vger.kernel.org X-Gm-Message-State: AOJu0YzyX6+KgAf3l2CjZDM0asKoxVojDLp/vFabm1Jq/7db8RW6WdR8 9LnFEcrEEUWaEk605JoTYcsdjgQBNRCAko3Kj8GbiwETxfDn+wXcxFo+nAIoWqBAZEXZ49qMuwS kebSQkBP9XiBcxVFog3xcFxjZMs1ot6gLdwXngALas9VULtdhGz65+Yt9HFmRidUFc6I= X-Gm-Gg: AR+sD11qwBHvVLX1BIIznE6ZmiTcJb4zuxt4neRFc2nz+MTrg5VUfXAvbjMJKIPz7Qo e9Ayu10gLloiUPSCVxa1IJjjhHd8nDwiTVOJyYlkF6tWtTKOHIylKOEQW3mp3K7AXAbRMWF01T5 mw+JviMCcJanZDoBQcIbVW+Aej2b9/m56d3puXAaLXwqTHjrRHxoUMA8n7E7CSOT5bDT0sVODDg 8HarFNaNSjrmPLMSsS76b1LuZh8nepMrXftI8ZOhm4GeVfmTiFYd1D6/yKrPtmOJr2DRMm60chY +edKhrw6rwrO7OCQJvEAOe1jAO8HWHFZnrbfOAjHzVHhw9mckVwBRMwdaW7byPmfZvbu5l/sMS5 slPXo0S2TdFuIksWsE11wMSr/5nkH2U8izsc1ZHn/Se4afJ/nkubShu7MpYpfR4OTDRBzwi1/WL AHPCBl65boNfdDKjqJ1tFEpeM= X-Received: by 2002:a05:6808:c40a:b0:4b2:8ea1:b9dc with SMTP id 5614622812f47-4b2ef175630mr7078436b6e.3.1787328588578; Fri, 21 Aug 2026 09:09:48 -0700 (PDT) X-Received: by 2002:a05:6808:c40a:b0:4b2:8ea1:b9dc with SMTP id 5614622812f47-4b2ef175630mr7078344b6e.3.1787328588130; Fri, 21 Aug 2026 09:09:48 -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 5614622812f47-4b2d6d34c8esm4804321b6e.13.2026.08.21.09.09.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 21 Aug 2026 09:09:47 -0700 (PDT) From: Hardeep Sharma Date: Fri, 21 Aug 2026 21:38:57 +0530 Subject: [PATCH v3 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: <20260821-kuno-soc-support-v3-4-196e2b306368@oss.qualcomm.com> References: <20260821-kuno-soc-support-v3-0-196e2b306368@oss.qualcomm.com> In-Reply-To: <20260821-kuno-soc-support-v3-0-196e2b306368@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=1787328540; l=902; i=hardeep.sharma@oss.qualcomm.com; s=20260204; h=from:subject:message-id; bh=PwVD29DtUH4dIGkOMbXE9qMjiF+K6OUxLIjMJeof/6o=; b=9IPV7eFcmcQy3YV7XduUDzVOHCb0O8TQeRqyjO8MMMACqn9sPoWMnZYcaAMUrzKUCuPu/vqFO PVRyy4d1nvKCgSpIwfSYSyxpTfHjH7jkE0NF+jGaoQYV7MN4Ry/ukC4 X-Developer-Key: i=hardeep.sharma@oss.qualcomm.com; a=ed25519; pk=IvwPDKA2xr6jWaCIBBY2ran/H0124QUzVfun+CtEikM= X-Authority-Analysis: v=2.4 cv=CsqPtH4D c=1 sm=1 tr=0 ts=6a88784d cx=c_pps a=WJcna6AvsNCxL/DJwPP1KA==: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=VE4QQHX-7aIn0oL__EwA:9 a=QEXdDO2ut3YA:10 a=_Y9Zt4tPzoBS9L09Snn2:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODIxMDEyNiBTYWx0ZWRfX9SMjiN8BpV6E oDl5BLWqyiR7MZKTv0L38dgijfiPU6sq23hz99ii5aBin7q08V/gGNjBGfl0yyhuLXKfzja6cB4 +7XeCByHHhSTi5f76+m/NIWJM1RKm3Yg0YZCCOk4J9DU5BIikIU1j4bHYMDGam7flfpf7F7EbZS MhcVydEeiR3KapGNjC1AgC+QhkGk5GctX4KFA1XO8TfJcRDytZAtX0g/dVc1Ju6A5vhf9gdRGKl 2+bS+2dF4TRH5YEeLMWofTg/O0vQI8aAdVSP3Z02iWk7Shulga6giP2gnJUBPalrKwDOn6p5eis xKX9Zc2xY7O/YfXB+VqWtNfg6trh3nRuqc4p/7+7s3L6mMm3rrYd8QzyUiZbVIDZZsyPVO3M7mD l5SDzssgCCIm8yD8m2DqtbvgNK7uwpDZgjTlIMgq2yxAHu59lqpEoq14iJSVraD1oE6uCbsQ/M6 HfYP4GzY8t4UhxwHuDA== X-Proofpoint-ORIG-GUID: 0l-8RODyITXmiyWNoQnGx86_rbFvj1la X-Proofpoint-GUID: 0l-8RODyITXmiyWNoQnGx86_rbFvj1la X-Proofpoint-Spam-Info: AW1haW4tMjYwODIxMDEyNiBTYWx0ZWRfX+uHpsb8VNdVY lxIcMAr7RMCQAW5NZlq7pY1vBgkF5TkOR6iH1JrULjIG/OckgLBbbUvw94kySH8GOfsrfKtXBnR DsXA4ZNiHKl0fdnqcWE3V47Xk+12i1k= 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-21_05,2026-08-21_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 spamscore=0 lowpriorityscore=0 suspectscore=0 phishscore=0 malwarescore=0 clxscore=1015 adultscore=0 bulkscore=0 priorityscore=1501 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608210126 Document the RPMh clock controller compatible for the Qualcomm Kuno SoC. Acked-by: Krzysztof Kozlowski Signed-off-by: Hardeep Sharma --- 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 Mon Sep 28 12:34:02 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 3FFF635200D for ; Fri, 21 Aug 2026 16:10:00 +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=1787328602; cv=none; b=SJQSYbX/LJtPh2XWu5ZxgTB9Wx/v+mCcI3VtPkSvWv/A0z87UEyJ+kZw/OO1qtx69qgl5Z/vNkaMzt8fqmtJJ3JqRKr1iuBG05hX/FDZEbkszi/zfFjqDBCWJteHFHTDOQBS8y029zEaKg29kKcBi0zAcLDxBBLahRoR8ykB4mo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787328602; c=relaxed/simple; bh=IARJjUuJ8TzYCPtgJnhyF2BzcDD2X/PGevklk7LPqgQ=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=mCH3JRlX+vXyJcrZgxdHpg0Ms9qD166mwfaJ/8TL8gYZrfWrOsQjyuUwBbsx7OAODcmrGfZRvIWri0ED2gRMD0Ic+GMRDCnYP0uLXMJ+oQr0TybE4vcebO+FI6GShj66/Q/98wEAu34JKfehWYxTMu9qOqaiE7c6R9pqhw3CozE= 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=exBzJcqa; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=fohbY8hm; 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="exBzJcqa"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="fohbY8hm" 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 67LFmVvp1641180 for ; Fri, 21 Aug 2026 16:09:59 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= kxB2TVVV9UUWFYD7YAFBVvidijpeGeeSursYSHQlDO0=; b=exBzJcqaIq9wwJQe NJ8C2aFeQTxEGuDq7YswVucBjbLHDdmFjC1AfQxgqsUIGcF6vVFpAIR9kSgyIUFk 54HOmMzRJ9xHx+4aXiJwriH5AkCH0LQq4Ew8elrF4OMPGBt4WLLYteQ/HsXuJcjT VvULgHyzz6f549pvkP8GcgP13Ga3zM4cYSLlR7GNTvx8aiS0+Q7PpORDvGvW/DlS idYctx8WvLfQxJXqAGzkiqBb31VazanhqqCYwOBTnVqyBT9oAWjTVq8agDWrPOKW QiD02hD1AMdWlCtT+SAqCu1JPnG3te0l3ItQB2jOxt9JHerXKxrNHK3I9V3D21DZ c4GRlA== Received: from mail-oi1-f198.google.com (mail-oi1-f198.google.com [209.85.167.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4g6ebuttmt-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 21 Aug 2026 16:09:59 +0000 (GMT) Received: by mail-oi1-f198.google.com with SMTP id 5614622812f47-4b28dafb8e1so1733635b6e.2 for ; Fri, 21 Aug 2026 09:09:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1787328598; x=1787933398; 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=kxB2TVVV9UUWFYD7YAFBVvidijpeGeeSursYSHQlDO0=; b=fohbY8hmtSosH9P1j1nS1Y5zmj1sarFNCvftPzr2XRELqnZLFk/tnwKLbH+Q6TvgYo EaPK1SoUkjfa3XJ3ZVoHcY0o0oKc3bwedxiv9TEwriNSCtyK08id/6CVio/fE+nimXf+ qmV0mOxwZaR4lCe0zC+wVtmgwYpDGsApSutAisN70QF+CFT1MKhOoApxe1gdBCVQB/9L m0Y5OV6E86z4x6pMC1maElad1CUzWejJ+1exKzomi9iaBIAV+RqUqE4aQhJdms4Psai9 eJE+WCaVXW0vrZVwACdqKLd9ofLEG9L9+k4tpbrRWtoZgcao3Qv/MdR4w2mj8hiHcJmV w4hw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787328598; x=1787933398; 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=kxB2TVVV9UUWFYD7YAFBVvidijpeGeeSursYSHQlDO0=; b=aYZ90IhegBKh5BHxuK/PWG32Stxu+L2MzFV0Umd048UUrA1E7lKTAPivBBwkbphZQ9 ZiqxPa7nzPYhcssDV5z0JzF+J8mjJ/e1TzYmqtNCtwvZfIHltvs3jHz7TUV2PWxrBlhe 5i2xwWojyJuULcTP9wuX+5SIC0fATKvqXcRSM0mo5HLfos7M9czesRne/b4RHuSr+nvt 3yxurGOwGAnVUU0SRz+vRY1KqXRBLgBC1QqK6Qjmy+ajlJ1K/QZUlTAqyfS9UFfFZTiW so0/kPuX1Y0yFMM6tzHm937SMQnx5+0MTzOZGDCBOuyhKq0bRETu36ihNRnRM0MCocxC AH+g== X-Forwarded-Encrypted: i=1; AHgh+Rp3ySrIr5Bf1XO464egs4ocesMWbKwv+BCbTM59r00mmnQdxChVM+7GX5IHDcFf7naUA78t/vy4kZ02XKQ=@vger.kernel.org X-Gm-Message-State: AOJu0Ywo3iRTapaBsyt3nYJIbJg7nNFDIMJQRQ/N7DDAReRNl9fV7eJa EbmQKUT0CSGc2NzqEvuLQj6hzT2sare85wwZChMVuirKlRq1kDzCjYCUfyOlnN/4hM2GQeETjkk RABQdmVTyCvAB4pu1bD/OrzFR8nR7grMPH4kDOpA3R5caQ4EX087e0wp9zIry9ALZ510= X-Gm-Gg: AR+sD10HoxCE60uRK08v9+sgKO7faxYfnzWxRrDsYBBgCHgsLtZqvpADcVNpHfKBxHB /eIizoGC4u8l0O352uy5VwoUOUbf2hYL74/2peQg4XVRgENlTbiZ8FVV/PHf45br6WPx5Z2NYeG 4J951VeCiAzWkvz3LtDkZkKcyoqbwlM7vL51d33PSrV/jTlztEmZYNfhGqWwlvNCF6TMRLR3VLm ESBqKYYYQBJHw1t/yD15nZ3eSVwQ2DQDePLcU7TLB7HpsGHZLsLSt4SW50T0NOT85+gNquTDEdQ KZkeR1wsFaw8kyR5/rAr2a8lIrLvuIu8bjKkMEYFnRyWYZwZFqvGFkzkhRJLolUAa5C77GX3D+l HJlgEjhAXmjNwK/5eyS+l4EMDLT2OjanDJOCRjXEJSHpZ+0adn5fwHqZ4fBl0uHHPEln2yDrbzg a9TkSUGJJ7UYo06Z7Zk7OBQ0E= X-Received: by 2002:a05:6808:c2d2:b0:486:4892:d553 with SMTP id 5614622812f47-4b2eef57c60mr7714229b6e.0.1787328598413; Fri, 21 Aug 2026 09:09:58 -0700 (PDT) X-Received: by 2002:a05:6808:c2d2:b0:486:4892:d553 with SMTP id 5614622812f47-4b2eef57c60mr7714168b6e.0.1787328597957; Fri, 21 Aug 2026 09:09:57 -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 5614622812f47-4b2d6d34c8esm4804321b6e.13.2026.08.21.09.09.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 21 Aug 2026 09:09:57 -0700 (PDT) From: Hardeep Sharma Date: Fri, 21 Aug 2026 21:38:58 +0530 Subject: [PATCH v3 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: <20260821-kuno-soc-support-v3-5-196e2b306368@oss.qualcomm.com> References: <20260821-kuno-soc-support-v3-0-196e2b306368@oss.qualcomm.com> In-Reply-To: <20260821-kuno-soc-support-v3-0-196e2b306368@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 , Konrad Dybcio X-Mailer: b4 0.15-dev-47773 X-Developer-Signature: v=1; a=ed25519-sha256; t=1787328540; l=2081; i=hardeep.sharma@oss.qualcomm.com; s=20260204; h=from:subject:message-id; bh=IARJjUuJ8TzYCPtgJnhyF2BzcDD2X/PGevklk7LPqgQ=; b=KmDwPQXORl1Ra/lOX6PTLp4448/qlVRagyslHmyTMRKAmZ2TjRjYeGXCKrSJhH8L1o0oYoqcg mL+qVKKxt5UCvGeiVmeELj3lxlLw3pxFMOsKUgQ94CFkDvv8sp0mfH7 X-Developer-Key: i=hardeep.sharma@oss.qualcomm.com; a=ed25519; pk=IvwPDKA2xr6jWaCIBBY2ran/H0124QUzVfun+CtEikM= X-Proofpoint-GUID: t0P8-M_F47uKscenqe00w5Uf3gDWjcis X-Proofpoint-ORIG-GUID: t0P8-M_F47uKscenqe00w5Uf3gDWjcis X-Proofpoint-Spam-Info: AW1haW4tMjYwODIxMDEyNiBTYWx0ZWRfX8f46JuQ/5YJH g29dmDkShX8H3R5C0YaTM1qTGhsE+QueMJSZy39hEQXFAyMt+KnUn1r0r0sEKC1AeGFbAS6/pgP GX8wIfoHjmLMDntqOK85u1PuUY17y/4= X-Authority-Analysis: v=2.4 cv=QJlYgALL c=1 sm=1 tr=0 ts=6a887857 cx=c_pps a=4ztaESFFfuz8Af0l9swBwA==: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=cbMe9IPPLhjBV4UIYdkA:9 a=QEXdDO2ut3YA:10 a=TPnrazJqx2CeVZ-ItzZ-:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODIxMDEyNiBTYWx0ZWRfX2gA4JUlypPJK Ph/GpJvFLlHrN6Y2UeDH4zbOls331UdrMPyI0TKqVIuPrehyigRQ6vKzonRzvShwBKzR6+xlQDp B9VhGfOiCz+qBRQCOT7dT0iPc8FW8VIONdkPoUcIwT4zCzP0jVUGIoxdJiFcT7GyHp2fZwTe6uR Z7vUMQmm8VJmq2Hl+Lafwz2vDXQTeksOSI4lCmA1Bk15fBGe1i2xuDpVporNlD1vubsSle5VxKp HlZbYUjCsf8fjZuw01KUEf4TgdD4eobzUXbWKquCb/6iDCHCqYN7GjFfkm775L3EQohAuTqv3JW Tos2KI95YgPBYwacHf4QW0F4E4RQD5CFi0BYSuKFHBmYtv1i+McrC1CCUk6uOlLSfbedaeWxCYZ 3f2MpLlNQgiF23Q0aWwm3jSmMrV2ftPa3+R3MPbTVh+jjSYXuHmX3B6KfmAKksOw+Hhf0zxlctF Bs6tIF8gfvrNYdNsyNA== 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-21_05,2026-08-21_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 bulkscore=0 suspectscore=0 impostorscore=0 clxscore=1015 priorityscore=1501 spamscore=0 lowpriorityscore=0 phishscore=0 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608210126 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 Reviewed-by: Konrad Dybcio Signed-off-by: Hardeep Sharma Reviewed-by: Abel Vesa --- 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 Mon Sep 28 12:34:02 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 D827C48F826 for ; Fri, 21 Aug 2026 16:10:09 +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=1787328611; cv=none; b=lS7jQ/O4lDIh1GVZP+HfyivlIalcXBo+dRXyS8t2PPIYp+N2sK5UtXFA4W3rnfGdeVke26h1hMR3HUJqi8Z4iVubxCvEw/4tHGbscmIHF9ew9f1rHk3xu/BTDLOosmWKZesjZle0zOvRnlxbF/SFYF3HYMo7BbLkUbVdBMcjRPU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787328611; c=relaxed/simple; bh=mtVrV1uYZXDyrVr/tVpZRG4gZ+TsBy9yYnmosCcfvew=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=ZUFJsrVLUbo8dVflfimPqtxZ+GK8MoVa6OKKjJJ2M1Q32cn8hZsTTCstGhwCkYHVrlCA2R09gFn9veBfkLfpiZOUH0Ozc26GXOZdSmQ5pwudc+FL42pJY95yhqYELkScAi6Fat8PPTWjDYkVNYkeOYvnu84WxelbSJZGjaXFc0s= 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=JdfK5mYB; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=RSREcyfu; 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="JdfK5mYB"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="RSREcyfu" 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 67LFmIU22645596 for ; Fri, 21 Aug 2026 16:10: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= rk58wJ7XjlTEPJ1BKH7WAT75TFyVOUcMIVRSJOcLN7c=; b=JdfK5mYBUw8Od7lx mnYx8xKrBAxPDulL9nPlnbBpRY36/r+pFoL97Bg45H0yVhsu0CGisLqDW9AjEsMe ULzloGtMg2JztODH5JxXXXTyPEeaAMNnHBeFvCdsWDxEOkc8fqz0PR35v4Vo+V8U fDiv/YlPsOX58o4V489IAh69Zpx76LVbTtmVw4+TQD/Q1Pxi7uI4uXCGDFIhpk5A W8hcNNYKipPedlEhm4xDESYRn69mWSDPS998p0VENHHo24Yd9MYkk1RG9MSh395R of3OveJN7v8USCDTyRkAlWov61FuxFX+ma0wx6jp5VzPJ8IQR6dSfN6WNVglvT38 LRDIeQ== Received: from mail-oi1-f197.google.com (mail-oi1-f197.google.com [209.85.167.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4g6ecbasj0-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 21 Aug 2026 16:10:08 +0000 (GMT) Received: by mail-oi1-f197.google.com with SMTP id 5614622812f47-4af9bf0f53bso1905250b6e.1 for ; Fri, 21 Aug 2026 09:10:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1787328608; x=1787933408; 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=rk58wJ7XjlTEPJ1BKH7WAT75TFyVOUcMIVRSJOcLN7c=; b=RSREcyfu9dV+/ICVueQ2vbGIYIg4ReUZvQPY7LIak62FVO/8Khi8zu6PZvrq2wnoNm htrh5F1JhDrBT0ivTQQQkj+Qvm3qFfD86Urhk/Bkr4uVsdTNs/smseBkZollBh8GMGKS 9VEvsteph8W7SY3l3OH6EViEPHDRhwKj0YJRSy+78lKcb/9AVmBSK9HQbxlsqUJEWybg bldnOzpbASBSZpqHnFkW0s38amIhKnJBcdV1Iryp6QnLE09gjRK/S2HmrGMpakQs6oLB V5lQvslCuZY/HFluPLj1zySGCb4rmlWaMtZxBugkVk/U1Niv0UioUoI/9D7a8QPw2r4u A+Ow== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787328608; x=1787933408; 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=rk58wJ7XjlTEPJ1BKH7WAT75TFyVOUcMIVRSJOcLN7c=; b=MxwDlWfVwVJ6MUxFu4wwGKuVNjp7UnfTauGJt6NBftQXHJ7TKNkREDk8SS5aKipEJn Nl7koBCr2GSNvItahE46aPvbkQrhyLjumOI+eQQklQR67oJ7+RlfWLqkVdmpjMckqjGP e10T4irDbMIsyaAMTnp6iYCbouXSjOmeLcd04k4eNyxg1vqpbWkaylGRgI7XKOK5Vv/n mPCtdvAPC8gzUfKhTzc9BXAUIuhS8YABNlzGIENsMoKxnmFX660ZeRNwD0kHMW+AL7+G MGLlHe1n0rfBbjoxDMnfhPLm9982AuNuKyuj539XVckW41NmkaPVyLTFTxgM9ByuuOpI hthw== X-Forwarded-Encrypted: i=1; AHgh+Rrn0teCBep+jGXrVJhZ9cuH6C9YO8YByuI5yu8LhPac5+9JnohWzOxiTtLgQQT2eyKn3zRWJZStwtUSp8E=@vger.kernel.org X-Gm-Message-State: AOJu0Yys4gV3IbffKsvUKFk4faEAgY4h+j28YkT/sTfMfEzd7mp1kP1D Q6zhm7x3O2efV44f0nCjIk/mhdd/t/52A01jT/uBZRx6eGNQvH1D9Xtzm1haQ7C8MlChdTtrOK4 D95fQPFzP3GrjHP9brHJ79Ze5QyCoPrdkUEEv11tGAH6E6qrLf6bYBVC38GZKQr6KPKA= X-Gm-Gg: AR+sD10YmkpwQCrzX3TKOOr1NAEi9wXvc+iGXV3Mjf3un6tbTwn0DlLAAj1U8uM8DjW 30a5b+OTuBM2LbhbWbxquAZpfCmfAi+MCYD7RcK5WMAgk3Raid2fw7fgiJ68BBbnQ+pDw/620yu JXoFVOWbfHkUoJVYw97OWK900nNYyMVVHhvYWWqJzkWxrlZbFjAqcL3AL7mo/tUjuW/pM0ys1cD xRYlo76m4zfBE3L03s6Ova/uoy1S9Poip4HmFrRp1UYLRk3xbDYrk+XdZOMiM5jHZYK8Lc/A2bx HENArWw/voZAap8lJzgyPl7IdOlVL7TxQ+Psz5xm8+Eg7BlC5Yd/GV8Y/3Ql3OeH+noeHGiQtUM yGP35oXNRZBUL/ktAs/RbBl7ce0lIvAWmSZw1qRbk8pmztxKVxb4HYKvehAFMN/JrxhbC22G+95 aQzhCvDI+lsqXrK/xeJ3T2UG4= X-Received: by 2002:a05:6808:3c49:b0:49b:dcb8:e2b5 with SMTP id 5614622812f47-4b2ef32fbbfmr8775313b6e.19.1787328607644; Fri, 21 Aug 2026 09:10:07 -0700 (PDT) X-Received: by 2002:a05:6808:3c49:b0:49b:dcb8:e2b5 with SMTP id 5614622812f47-4b2ef32fbbfmr8775199b6e.19.1787328607195; Fri, 21 Aug 2026 09:10: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 5614622812f47-4b2d6d34c8esm4804321b6e.13.2026.08.21.09.09.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 21 Aug 2026 09:10:06 -0700 (PDT) From: Hardeep Sharma Date: Fri, 21 Aug 2026 21:38:59 +0530 Subject: [PATCH v3 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: <20260821-kuno-soc-support-v3-6-196e2b306368@oss.qualcomm.com> References: <20260821-kuno-soc-support-v3-0-196e2b306368@oss.qualcomm.com> In-Reply-To: <20260821-kuno-soc-support-v3-0-196e2b306368@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=1787328540; l=6723; i=hardeep.sharma@oss.qualcomm.com; s=20260204; h=from:subject:message-id; bh=mtVrV1uYZXDyrVr/tVpZRG4gZ+TsBy9yYnmosCcfvew=; b=7PUGi/8pw2fm6JVgwRuMQ1lLjBQHi4gKEBJbyChLH2ALoQTlEK8RuCF8rjiCbtGttm4CyiGBe p05KznwNYIEA9LdZDATX5ua/pk+BnSBmqZuAeqP0x9UX7cj6BCJxQ3Y X-Developer-Key: i=hardeep.sharma@oss.qualcomm.com; a=ed25519; pk=IvwPDKA2xr6jWaCIBBY2ran/H0124QUzVfun+CtEikM= X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODIxMDEyNiBTYWx0ZWRfXzmIZfc/qS413 Max/g/lMi5rJ0LjwSulcswaf1aWNzgKELy6m57Fd12gLz5ApYnwlBRpwtiThGIozW9tR4GE1JxA NGirDlcoq+8+naVGMMuF4l+yZDaARuPVJorRRCnacXSOyPO+6cryZS4VsHQp2nYk5KxwnOxRD0J 7o5/xM4LzXaG1daGcz2d+vry/PRchcvg+Nnz6ARMmmvTVhJLQ2PCeEie3Ak/oIrWBNFqN5N4E1N RZCX+oG3laHNPTruZHX9zQIIOP/qoY1aVbOqMCF+SvOBh5fhE5vdfM/2wptLs4B9czxiVYCICRX AyJFtPfHjnw+brO6UDNJmgBHtt1O0leu6S/Gfx6685/PUCsmTCvG0js2bSQFhDy3QP2naG6zr4C rRp+2uSsQn03RytIsJYv7/tUepFmRiYJi/IOLZV8DLpkqtnG/JsqnA600eKtidHTUw/9wxi6cN5 NVkvdQxpm9a2j+E5bYA== X-Authority-Analysis: v=2.4 cv=e/s2j6p/ c=1 sm=1 tr=0 ts=6a887860 cx=c_pps a=WJcna6AvsNCxL/DJwPP1KA==: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=gEfo2CItAAAA:8 a=EUspDBNiAAAA:8 a=HzFHdt0s4hRtsg76xsUA:9 a=SZrWHX6rubHfZbWI:21 a=QEXdDO2ut3YA:10 a=_Y9Zt4tPzoBS9L09Snn2:22 a=sptkURWiP4Gy88Gu7hUp:22 X-Proofpoint-GUID: i9xp2lV2XpgRnrCR03a1w-xtPW7ZDXgR X-Proofpoint-Spam-Info: AW1haW4tMjYwODIxMDEyNiBTYWx0ZWRfX7rKzMMPD+hT+ 1ZbIxBVGOXZHhHabqQ8rXbFdHDs7Fq6AQuvhefjVwYgbk3DdeIxDNvALKbQfoFx7Tb+/sqh/Hu2 6cTjOlplATTQCVyQ4Cd1uuJHXEwBbuk= X-Proofpoint-ORIG-GUID: i9xp2lV2XpgRnrCR03a1w-xtPW7ZDXgR 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-21_05,2026-08-21_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 impostorscore=0 suspectscore=0 spamscore=0 phishscore=0 lowpriorityscore=0 clxscore=1015 malwarescore=0 priorityscore=1501 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608210126 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 | 117 +++++++++++++++++= ++++ include/dt-bindings/interconnect/qcom,kuno.h | 89 ++++++++++++++++ 2 files changed, 206 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..576ce8b1a802 --- /dev/null +++ b/Documentation/devicetree/bindings/interconnect/qcom,kuno-rpmh.yaml @@ -0,0 +1,117 @@ +# 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: + maxItems: 2 + +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 + else: + required: + - reg + + - if: + properties: + compatible: + contains: + const: qcom,kuno-aggre-noc + then: + properties: + clocks: + items: + - description: System NoC USB SF AXI clock + - description: IPA clock + + - if: + properties: + compatible: + contains: + const: qcom,kuno-system-noc + then: + properties: + clocks: + items: + - description: IPA clock + + - if: + properties: + compatible: + contains: + enum: + - qcom,kuno-aggre-noc + - qcom,kuno-system-noc + then: + required: + - clocks + else: + properties: + clocks: false + +unevaluatedProperties: false + +examples: + - | + #include + #include + + 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>; + clocks =3D <&gcc GCC_SYS_NOC_USB_SF_AXI_CLK>, + <&rpmhcc RPMH_IPA_CLK>; + #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 Mon Sep 28 12:34:02 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 04F36499F2B for ; Fri, 21 Aug 2026 16:10:19 +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=1787328622; cv=none; b=kdGoZ/VWqdrMkVJP2yjsDpt7G0SITH+/UauJvJKQrLvVd9xcqVRJNlAkLblDuG6ZWz2hJj4AJAfdCNKY+ldQMbm3tMN9pHW/xKYq+Rc2vc3zagFQBsCJV6axjTNLc/57O0vD9lxs+7Pwk0JJ0AKY0T24vFv2Zvf3ZEaUzmhpHPc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787328622; c=relaxed/simple; bh=BQn/i8vUb00h+kfJ4ltVWrDU8MvR6zWfn9QzbnnuKvk=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=OsF3qxhEvNxJFVAsNz4jhAZ3p8D34Z5gJzsnb81P09UFvBHGxfkdIm/PT+eoq3e6xiVC8X2uGEt6kw0ZlH1HD8WCVj0DobqLK8sKoxpt+6Hi7m7PbuYeIdbrM6+HxIMa0CtdmM3GpJCKqdpgyGLOe59beKxMcCoptjQLS0696RE= 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=Ar3L9aqt; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=TGLgXI2A; 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="Ar3L9aqt"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="TGLgXI2A" 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 67LFm4hI2855776 for ; Fri, 21 Aug 2026 16:10:19 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= HqK1knqGHv/HUSayWZOr9UZTC9wJTpyqZ9oLPKDxULg=; b=Ar3L9aqt0Sbulqau yewb4eIIm22Z3hix/alOsP6n4FxHS2Ih/oaIlemudgoagSKEWlFIknAD0LOs9tAY YMjl+TfSR265qNaDIgn5ZyzgiO6tMM9ISeStx+D/AXn7BQ3dSqcEnNBndNWUa6mQ C4Cy/6B0Hw+5R3CgCnUX0JCJZCC5cT0uFBaXz260J0gycGAJ2oUlqQUa8ZtV0/Bj Qony3PnPig3xt/YypjyqKbLsjjdxX3CXbWyvGvsfhtTubHdnmq72jevxoBRa2cKF y53fw7nTzXFVZi7tRDGyD7X6jtaN2J6lbB2dQ3Uj4TX4F/FEadYC6VGmYmBK8p9H 93iN5Q== Received: from mail-oi1-f200.google.com (mail-oi1-f200.google.com [209.85.167.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4g6gddjdpm-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 21 Aug 2026 16:10:18 +0000 (GMT) Received: by mail-oi1-f200.google.com with SMTP id 5614622812f47-4b26d8d2498so1884783b6e.2 for ; Fri, 21 Aug 2026 09:10:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1787328618; x=1787933418; 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=HqK1knqGHv/HUSayWZOr9UZTC9wJTpyqZ9oLPKDxULg=; b=TGLgXI2AMHKUun7++KGZhkIZsoNcaGD3t8TDFkbk/MSh9OUu6REYqdLWD+hrHzQwkd VoMnplLsJrmzIMf+Vr0OWidhxM9hsW2hVCKJwW+PqxnhKXDjurqpcnyWaNmYwEA3A7LM VSDv0Ugfrbmc4qJLO5x0/8Db2nuxXtwGMqSj6ogRxyiym7KLAm8+r4PxjVQ/HkjTLBjI WmvTaAx6KSz7WVlh3V6H+45S5GncLg5uuX+hOBo0rdI/fmPyy1JkMm3B9GNkbSfAoEq5 jrGCKAzXgI35PIruHWi8ShgxL8TjpuDBh+5Wl0sP0dZg2gHaouJyApjY93MnmxGbTbvW ioRw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787328618; x=1787933418; 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=HqK1knqGHv/HUSayWZOr9UZTC9wJTpyqZ9oLPKDxULg=; b=Cz3lX6Ko02MNZeYOY7Hpdg09jxjS5EB8elYZ4cUXqkSLHpPlm3nGrZ4+H1GkCPMofS qxlAIUsr5VXDjVG54RkYQkudJ5ZNH9z/9UXouK+6xTR6J2YFCuasHjvTA6so1TzCHS/O X4yXjZYDa04eowHahszQ0aptQ8wErxTF6r4mXGDHxepgnKN9CwaEpl0HZfCqi30biE9h ZJtdUdD9Pppy1K3DHYX3bDaDIST34FW6VbegihMP3B7YB1qIvQ79JgHJJlwVvs3mihTy toEk1zlEV1Sd52kJwCeCEZo9cqUIQANcsTJMcmlGPUXwpgy4FrWNTp/1dmXR2ITLS0yD 86Dg== X-Forwarded-Encrypted: i=1; AHgh+Ro54g9oKKvGHpd7fsw+aPcAP7LzMJmm0mO4ROjiOklg8TGUBDUDrU55vNF1og8/345r9SIHmugG/N5FIY4=@vger.kernel.org X-Gm-Message-State: AOJu0Yz0fUoNfLaUgcnxaaMYQT4f1PtX7ytMzkLxvK1zWxXLhGANONFF xL3HpgpjZ2BRgyu4xUcYwtgrO37tJbWl0o4vQX2NXuZI42Bjrc0ctljokmxgSDo1oCOHSVMNaMl 7TJVnzDO49xV4XC4CuWcNq1JkypxnvLioqbdIHTaOUn4dICtq1XvCjQJnSqCURpt9JCs= X-Gm-Gg: AR+sD11/MZ6evXlMnSpIJ0S6BrTVoXRL7h3P5YGXEaY/dgKO0KFBMlmJ7MFQb49OtJ0 mBj/6uVU6ETKnzihXxoOerTieFv/uYsviPQrXN/XtoJrWpMv9zT9ErrSDxsAbMUPubcxyy5z5Tn qfk3nd8mXPS9SbR0LpdX4L88wPZTnWWxaK5H7DriMd0rAOG+a9oYl5rAzAbAGEj8IGRUrT4GkHj Io3GRimJe7uXYfl70K0rOTJDYKv/ul0Cc6/dWkwMUwPPvgUe4PAz4qrBX+psLj1guLH4r/Thq4N TloqzuIifHOZwG7lu4IviRtvgKP/8u3BXccST2Rr9QMJHh9wQK/vEtWlNJKU0ZfjfnrzYwN9sai GYMjg5aMv/BaA2Ol7JpFudWum6FGsbXlcg2pt6s7htWzVazU4wuGencAu8G9eiCrgAntyGUkjKq ixSv4HTZiXaEX37kIOrYrDGy0= X-Received: by 2002:a05:6808:444a:b0:4a4:82b:2a36 with SMTP id 5614622812f47-4b2ef2746fdmr8391587b6e.11.1787328617730; Fri, 21 Aug 2026 09:10:17 -0700 (PDT) X-Received: by 2002:a05:6808:444a:b0:4a4:82b:2a36 with SMTP id 5614622812f47-4b2ef2746fdmr8391410b6e.11.1787328616774; Fri, 21 Aug 2026 09:10:16 -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 5614622812f47-4b2d6d34c8esm4804321b6e.13.2026.08.21.09.10.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 21 Aug 2026 09:10:16 -0700 (PDT) From: Hardeep Sharma Date: Fri, 21 Aug 2026 21:39:00 +0530 Subject: [PATCH v3 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: <20260821-kuno-soc-support-v3-7-196e2b306368@oss.qualcomm.com> References: <20260821-kuno-soc-support-v3-0-196e2b306368@oss.qualcomm.com> In-Reply-To: <20260821-kuno-soc-support-v3-0-196e2b306368@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 , Konrad Dybcio X-Mailer: b4 0.15-dev-47773 X-Developer-Signature: v=1; a=ed25519-sha256; t=1787328540; l=26014; i=hardeep.sharma@oss.qualcomm.com; s=20260204; h=from:subject:message-id; bh=BQn/i8vUb00h+kfJ4ltVWrDU8MvR6zWfn9QzbnnuKvk=; b=j2B8hFbim9jDcZ2iJPP+Ihhd97O2T8NnFsZ5CKWV2ULab4TXW/BbLzzPf7MDMsWYkGUGKH4cI TocHB6SnlefDZWeJKphKR4PjKAW57wHJQ5CPpHpjNtaGQz3BU/Wufqg X-Developer-Key: i=hardeep.sharma@oss.qualcomm.com; a=ed25519; pk=IvwPDKA2xr6jWaCIBBY2ran/H0124QUzVfun+CtEikM= X-Proofpoint-Spam-Info: AW1haW4tMjYwODIxMDEyNiBTYWx0ZWRfX9UueA7QErn04 oZ5wnyLN+mNlqGsZnerGEEGS5nyQkzDR9YiZ1Dw7w49MRUcMH9LppzhVUB46Dqbn0VkSSp1LYqK E6oiL/EPOx/0QtT8MztOL04KSnnXOVI= X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODIxMDEyNiBTYWx0ZWRfX6H54Y87d2qss j1Wv1ChGATh5uaR0gE3VBWBOB/aKddOg0kJ4g7yJgY8RMFbCy3mz5RzZa6K2kPVlQ9fuak5gS+3 6NhUrceEI1G+maLwOYIM29FBsESDmyRY3SukRz2CWcCVfBcLPt2bcLpVlvZG/iHASphtQj2Cr4v o6NuwTHCRlSAY48FaNgF6tJWokAXkPtRaTM5bLMywbRMp5xRLCxGLdoPThs3N/a+spnAapvaRna zJk3kKTVTRRtga1b4r4rRhGEuerRJZYqd5fyqCWfPRQjVLW5CLGwqh0pqNo2BwhjFhMwz294iFo wsrlRwPFVXG94rzEBjWmnhfq3bz6mokG5FXgMfSmMIBD+tN8AcjMQXQZ4cwQ4iCh+za+9QE2NOk fNYHCbpE8IOLJl5lxVEFURNfioOex1G7JiPZ0xsrJynUoBJVEpL+aN1Cv5IIZiCgCfDZudYyPPb eMsXMFPuwgiTB4TGYug== X-Authority-Analysis: v=2.4 cv=ApHeGu9P c=1 sm=1 tr=0 ts=6a88786a cx=c_pps a=AKZTfHrQPB8q3CcvmcIuDA==: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=iVTsJ7-joaQjrYqFYAsA:9 a=QEXdDO2ut3YA:10 a=pF_qn-MSjDawc0seGVz6:22 X-Proofpoint-GUID: bs9nDrnFY4Cya25UXSnhgLJnR6YDX48N X-Proofpoint-ORIG-GUID: bs9nDrnFY4Cya25UXSnhgLJnR6YDX48N 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-21_05,2026-08-21_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 spamscore=0 bulkscore=0 priorityscore=1501 clxscore=1015 lowpriorityscore=0 adultscore=0 phishscore=0 suspectscore=0 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608210126 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. Reviewed-by: Konrad Dybcio Signed-off-by: Hardeep Sharma --- 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 Mon Sep 28 12:34:02 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 60C5D4C9567 for ; Fri, 21 Aug 2026 16:10:30 +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=1787328632; cv=none; b=ebLjOEDah5yniQuo3PT02lBaAEgWhRJ2iRYgAe+ALcwLjZd2Or30CBMGYIRHRERYvY4D8MQFIT9lWOrdySHiNNyEXFw/igU5Lk7b2Lae8J3iFHKyqQI0LSjaBFjjQzuKvVYrd6k+2wCmx1jks7mh47KBSoYiNZBLbsuYBPUOHTw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787328632; c=relaxed/simple; bh=9Fecwe0sAktGee+deC69QVwT+mIH7oP8T6NEsor/Km4=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=P61oxR6vZ9nfsex7OXL0sAnyD9uKBBUqzkCHVfRd4nqJieqAvUAUPHNjv35wxxNA/xwOEBW7wEJn3uvCjC5aSKbFbVFviUPvNZXwV2IGee44B0zPz2n0l6ZoJ7cMWFPkrcT16YCEymtk6kfrmVwkcNDU+q/qwRtFm1f0z6Y1Hi8= 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=PPgLb3lw; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=BW2AgI+p; 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="PPgLb3lw"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="BW2AgI+p" Received: from pps.filterd (m0279865.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 67LFlwZt3391866 for ; Fri, 21 Aug 2026 16:10: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= yS6bCkgNl2tfRL+N0AQpU6w6x0P3yKp8A+VMwA4EIUo=; b=PPgLb3lwYUJG5+g0 fvDX8DuCMbQHqT5CJKUFNy3H/gjJu01HE+uh+zeAB7nNSuRFJ38rJNbXeHWJcJaq B/kzKAoh3QkAb85xB1RribP/fRNwjngplIQU9P/PVICnayAvGyw0c79BKcpljzIL jJyrxP1kQ0LEnnsVnT30ptJYg2CAqWXamT9Bs598DixiGdiKYKbciUz67nDpVDoc woxYhb6L46ftHDcHOFr1Tbmzzdd1Sk1iHW6/uPxqo68rnyb/ULHR7cvJxGVcc9Ea P97ZMserwIs6kytqEkLqfBBBcKUottzi9cgsUEKYiYaLGPvYDHucNrmXq2G13VVV ED08Aw== Received: from mail-oi1-f199.google.com (mail-oi1-f199.google.com [209.85.167.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4g6fuhjfbv-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 21 Aug 2026 16:10:29 +0000 (GMT) Received: by mail-oi1-f199.google.com with SMTP id 5614622812f47-4b28d8d1b76so1040030b6e.3 for ; Fri, 21 Aug 2026 09:10:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1787328628; x=1787933428; 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=yS6bCkgNl2tfRL+N0AQpU6w6x0P3yKp8A+VMwA4EIUo=; b=BW2AgI+pKJ+yrSCLaYhO+ijXGOT7ynriX9X+pGmY72d47kU0B39NI69hNMduMSPoas tpKCuWTiBj5lbNfgbOd+v8azZoSwaoGBbOaOBzGgzhW374P33de/8Kkp10m/NDr9hw6Y 918fAhIMmbw9T0eKTDCufqwyRT08CiiNf6Nr4VfZYvoo/ua0ZqGmDq4+25y9b0HcJKcU mLD13XPUfHysxf/vGzA5jyf0wIjpQ0XlnJ7JAUwp0NInVQ75pIlQXN6LUIVt53JSuCLv e3lbl7d9PXbGt04GOv8TwKpaBQQI3NVKgSLp4hakE7CVXVvuycUlqocmSRyamftJSKST q0kQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787328628; x=1787933428; 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=yS6bCkgNl2tfRL+N0AQpU6w6x0P3yKp8A+VMwA4EIUo=; b=QOuZBlfIDiHFVUCESRir79K4DzZqJ6uoqho0U6hzzlJ906NPqGGQHAt/sPiHlqmCOj ziFtblTqV+gGbpwSSvGdge0ARh6u5XhnQnMxvp2BZP5TrOT5x5TistDMojzrV6cKc1U0 ontuQV6hivEjZYhRBGeNSwlIIFFOjbLO9mHO1XD0nGTAw3J5LGW7D7GUDt7r8dYAb8WR ctvwH7C3CsssE3ttf67k9BVJ0C9vHBvoW6H5Xo35Ewkx2QrIsFfdEbN+0HGIp14ElEFd bK5uVRn9uOekIHgZ8nlUeZqWn20tMC67B/0/nI6t0/ONv/bvl7EPHOLj8J1UcszDO53G Y5nw== X-Forwarded-Encrypted: i=1; AHgh+RqrkU+S5jQCfLBMsf48VxekFk0iJdsk6iI7Tlje8X10VYRh+bU8E0wr4Y9AnV5tQhyo9KSsFbBXC83gn2c=@vger.kernel.org X-Gm-Message-State: AOJu0YzKyX3i9AVr88b+AvPFE69TJH4wqaAP33LgLKrng5pXrz2rPKQT JNkAcMqOLt3i1t8qhU/DlGkodlWXSeaGhfVJJkb64DRab7kzvNn44deY7QlrGNVd+6EgdjChRGo 8EOMVJYaTU+If14VMlbcLk++bJ885TIlEkXn+f21gZM6qOy5Pne0KIedsdNqek76wTrs= X-Gm-Gg: AR+sD10O3F29HftYR0e7+eSm08uzJvKYxUJVLsoc7Ch0LFMENzGHB2G6XwilSGffbzL kQluzZOLTgzo84xObYOWZU5V5mFyJJZAs/fSi8P8OPL6oHZmlHIahab4PYeFiaG+sOQILbvWJM5 8B45xhAB6DbI+CT5vuQtkIDDBMlIQ3O91yuAmhTa57ojDn+C9UpESRH8f7pOuNdLLx6OIoVJkQu ek06wXHUwDOQaYQoaA1A7K0UggmlkkdyQN5gJW56xBQo9AUyP/2c2EoLQfepPBKeN+AsihlG4XJ PLHF3Fl/s6+k+UdaaYHM6uVojbxke7ePZbmJ8z9RS2KXonGBjQP3mcAx/EI+tydti5za1+aQqcU jvQVgL1VB+R1dHDOD21eLKarVi/yXARiekVu07mZqNRxeS3pypzXh+7ueiSjM8PwPFsz9JyaV8b UQsHN+l9MGVR4UMe2J/2/nYmA= X-Received: by 2002:a05:6808:4703:b0:4ae:f5be:fe30 with SMTP id 5614622812f47-4b2ef468b49mr7770341b6e.18.1787328627510; Fri, 21 Aug 2026 09:10:27 -0700 (PDT) X-Received: by 2002:a05:6808:4703:b0:4ae:f5be:fe30 with SMTP id 5614622812f47-4b2ef468b49mr7770153b6e.18.1787328626352; Fri, 21 Aug 2026 09:10:26 -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 5614622812f47-4b2d6d34c8esm4804321b6e.13.2026.08.21.09.10.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 21 Aug 2026 09:10:25 -0700 (PDT) From: Hardeep Sharma Date: Fri, 21 Aug 2026 21:39:01 +0530 Subject: [PATCH v3 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: <20260821-kuno-soc-support-v3-8-196e2b306368@oss.qualcomm.com> References: <20260821-kuno-soc-support-v3-0-196e2b306368@oss.qualcomm.com> In-Reply-To: <20260821-kuno-soc-support-v3-0-196e2b306368@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=1787328540; l=3999; i=hardeep.sharma@oss.qualcomm.com; s=20260204; h=from:subject:message-id; bh=9Fecwe0sAktGee+deC69QVwT+mIH7oP8T6NEsor/Km4=; b=Q8ZMyfCR02v6uEtw3VdSdFS9dyKXekOPxO3TtqHZoj3K4816tbpTbhYqHkkim/lnsQ8o+qV+P v6BsZGvbu9bC/aQR+sWrFAmb9kEc2bUcNItHHwaqPKy3uBIi4CPkbRG X-Developer-Key: i=hardeep.sharma@oss.qualcomm.com; a=ed25519; pk=IvwPDKA2xr6jWaCIBBY2ran/H0124QUzVfun+CtEikM= X-Proofpoint-ORIG-GUID: hTgWlq0MsgX2GkEr1l-dRRnhgcePduxZ X-Proofpoint-Spam-Info: AW1haW4tMjYwODIxMDEyNiBTYWx0ZWRfX6wcp3l7LEwDd MY/6I6/eWs8oUgK0v6bfmQIoN72WUhzz+Z3RBHBi2e75vCI12i+N4BJeEd5EHcPA/4EIY/16yk6 2JbVPQDQ8VFN+sm+UkrSUZOo9A0t5aI= X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODIxMDEyNiBTYWx0ZWRfX1QtUyAebB2go M0+QtkPxLxSrD4VQ2JcChuekbJMkiyDfbtEZaLQQda/jBIIMY9hzGW2rVRC1zMm1tg0MmHKDevg 35o+Txm+FN5Ntt8sBba2s8c4+A6I0rcEbwclVASm/dil5SJn+YnaMRlpJbuSDn/o47So/oOBa0f GrgMUKir+0mqYa+Jx+DUKHmj6psKtZKbtp6J3emgvZlkE5kHwxKYgKpE6Re5TXu+jLBqWIt1H1E seLGwLl0C1Vb2GyYXfy70B9wpfn+hr3TtT47nPOL8NcOGQEgeX4ZaYu9uHHWJS2bIDbOG7SjQ6S 9LmkkDAw7QO9y8ee6Df0cFKfVz0NeDN01HGTqeB0cb1Ovl4Tw13kLQ3iVabPA5ybIlqgFJXGv50 Pv5QegsFWCFW9NFzOG/KFBzh+f/D4z8tq4CAcz1mJqV6ivlFjmc8G3BUzW/78CZoSZCs7p1cub7 MAsVDy9PqYkrPgp7/+A== X-Proofpoint-GUID: hTgWlq0MsgX2GkEr1l-dRRnhgcePduxZ X-Authority-Analysis: v=2.4 cv=UtFT8ewB c=1 sm=1 tr=0 ts=6a887875 cx=c_pps a=yymyAM/LQ7lj/HqAiIiKTw==:117 a=Ou0eQOY4+eZoSc0qltEV5Q==:17 a=IkcTkHD0fZMA:10 a=Sv0fKeRqtYgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=Um2Pa8k9VHT-vaBCBUpS:22 a=gEfo2CItAAAA:8 a=EUspDBNiAAAA:8 a=CaveSyEksWnKhASb3GUA:9 a=QEXdDO2ut3YA:10 a=efpaJB4zofY2dbm2aIRb:22 a=sptkURWiP4Gy88Gu7hUp:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-08-21_05,2026-08-21_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 lowpriorityscore=0 malwarescore=0 priorityscore=1501 impostorscore=0 suspectscore=0 bulkscore=0 adultscore=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-2608210126 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 | 110 +++++++++++++++++= ++++ 1 file changed, 110 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..2250526dfae2 --- /dev/null +++ b/Documentation/devicetree/bindings/pinctrl/qcom,kuno-tlmm.yaml @@ -0,0 +1,110 @@ +# 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_cti_trig1_mire, 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 Mon Sep 28 12:34:02 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 BD0A04C77B4 for ; Fri, 21 Aug 2026 16:10:38 +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=1787328641; cv=none; b=phfMPVgwmFfyJxXMP77x8ujFyPKzZlPdHFTxWNANlYiZpPhloW3pKtRjcQ4hwdZVFxtrnwlzSLgj8jY5NO4ACKkxtjpT8CG0MAZQGqSwM8awnK7uWPM/gZj8LVbC/WDkq6w2waPnqzB/bCozp4ox2SZVYU3PHUwf+4C/x2m8CLY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787328641; c=relaxed/simple; bh=yqXI7z4oCD6EBcCQyBmX5Y6hzBDu47ievTbReCl/KdM=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=MvHkyuiSGs6npfzIZqcQYRmRVsedRgKtZO4fOD5MzMRo1n9dXExZ5HDmTP0kUDeQ8+j6Mxsf8c3ayTdPoLvVrzaSo9FR2pk7uccuwoGWpBiLbmF05uKiWWJL5p5PB8AzrDM8r1zIy9onOvI25/nbE4VKgxf6W4T4nB7kVMrVCB4= 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=pCWknll7; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=ZKXWTZWz; 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="pCWknll7"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="ZKXWTZWz" 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 67LFmA673172871 for ; Fri, 21 Aug 2026 16:10: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= soUVhsUV/P2GQGB4dBr9inO3X8x4As/P+tpu/NnxHyk=; b=pCWknll7LqfrLFZ+ 6YGF+n4401lu+3mxc/NIoY7q9V8TKV6DWm5vfXrnqhz5x57x+3EdBP1W931C7UL4 QKSJruM/rafrEW85yVW6uGh3PlJRyFs0DEcQ3dGvEWnQiDceeR7PFvX0K2/576p9 f0s0V7lY52urcIUPi8gLT9Ph764njx1/xT8lFTqRgEZOW+tOHSwGyAgqR5Fezw/E 1gyotf0NCuCGmuumv44jwHrTiX8uI6qU+2Y+mFq+hZnSN5yXpJnItfTr5Sdn3xbA HqONpYhFIAYk3Vob8Is35AxMHuVftk9ZmLFQ88LDoEXn2rAfxuoNBXTG59IoEAJ5 yXswYg== Received: from mail-oi1-f197.google.com (mail-oi1-f197.google.com [209.85.167.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4g6gdf2d6p-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 21 Aug 2026 16:10:37 +0000 (GMT) Received: by mail-oi1-f197.google.com with SMTP id 5614622812f47-4a46e8eec4bso474422b6e.1 for ; Fri, 21 Aug 2026 09:10:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1787328637; x=1787933437; 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=soUVhsUV/P2GQGB4dBr9inO3X8x4As/P+tpu/NnxHyk=; b=ZKXWTZWzkNsUnJBIzIcwlk241/lTRQtI2bcnHjikwme/51v3C0O2iS/I6QOtNF0Ggn qeHPAgd3XZQ0LtFn3tTLQxEsh6PQvJWmFL9gyv0RwH6kAwJSHmok4ADGVI+iEkWXTr7F aMUfBYv7OTeaQrsBi5cgDacroy5aazT2YDfzjHCfzGGz/PD+OmlMv9oe9UaRqfQMRDZq /o+JWil8htBsOsmkN4kPfJUEI1+FUNXhcD1VJQ//QchwqcbAJNFrLOogamHLHu69onCL mttq9erKHw2Qb80rK7cQIyOBotKfxlxsE/TCwMKKOxRJM/mrdu348nvo7JMGEAmdWXyU FEpQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787328637; x=1787933437; 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=soUVhsUV/P2GQGB4dBr9inO3X8x4As/P+tpu/NnxHyk=; b=sLhHw1VD2j3De8YkYIB4QMEoO19UQiHImjzCRcqkl0fVr3hBGqeUa5QLSh7Fueb47W fym2y91CKHyA/JyU8/WnqH+UU6xlJIvEsAJJplVg5HN23A3TJOaLLnu4K3GvMRM9xQ2M B2nNfOMKTawe++TxkkvC6Y9RgOUaIMM7ionBPQz3mVsrZyysrQgUk6r3s0nLWbnkZKob jaFLtSR80Y+70+FjlqPOcdPskFERmhA8ea+a0SvTgTFJ5EikBDmU0YmHWwKGiRaNzDeX 3YUH4kAKPUSIKhSjtL8Ph99bmIIaB2a3EEOQlNQknMa+R8MSEpKMpOFwsMwe/tJ5Xvc2 7KFA== X-Forwarded-Encrypted: i=1; AHgh+RolKHfHZOcERJP/CsqmD3Rhf+cVRwksAfVJzqx8sr6/59KgMOThYN02Tth97JETuftEsUiM+AJ+QtZhMTQ=@vger.kernel.org X-Gm-Message-State: AOJu0Yz4/F0Al9hja5ckb4wJzK6G/aCdAVj4GZz4gnUi+W32ZjeDyYtD foPb+5v4lvlpBqVSMgJ/myGWg6j21+qhFWrxephJ4WuCJVBk3OMpWUZ/V5P96mrkHQGtkLGqYCt 8bSH+BuZqYhi6RrXUqHRJB0hbPs3K9dZQm9pgX3gLqO8Y4mOnXeWjXoKAb4B8aCcHgjw= X-Gm-Gg: AR+sD12ZQrgBSfiPyfAFHEpkXKqJIAW7M7+VGJOUpiD0E3h3WliHzr3N4brZhhHbKc/ zhqe8Z0QKnVsMkYktNg1YaZBczd2PdECrlaS/G2S/QWwvnYaj9KDn4MratOaaukseO7Dbz2pyNT Cafy2NhPO7xcHBsr98CDPTMLQagMDgWJUxVsidM0IQmPBL71fZraXZrpMTDkiYK0ykgXRAJzQtU +sWYJ+F41aBfQMnWVk4WsZt3t6eQ2n2VOzusUAGxyffcnG8dGu5vbRynYwtezk1JYlDu/KbsGyX tHJCkxWl/xlorw9hIMNRNtmi3srKtVwjw5RZopH6zTexsIVInovr2aog1vM5Ag+pqAj43y8SvoK 328w2XRomM5+4ahz+8xb4UgbxjY9kmSMKBVos5NqEirGAucKKlmg01BSVJ2ANkx9yQTYmSKPbXs qgFcqT9mMmq6k4jsjgYBFx/Ns= X-Received: by 2002:a05:6808:6f96:b0:492:5684:7ab3 with SMTP id 5614622812f47-4b2ef46b19emr8558680b6e.21.1787328636351; Fri, 21 Aug 2026 09:10:36 -0700 (PDT) X-Received: by 2002:a05:6808:6f96:b0:492:5684:7ab3 with SMTP id 5614622812f47-4b2ef46b19emr8558547b6e.21.1787328635671; Fri, 21 Aug 2026 09:10: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 5614622812f47-4b2d6d34c8esm4804321b6e.13.2026.08.21.09.10.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 21 Aug 2026 09:10:35 -0700 (PDT) From: Hardeep Sharma Date: Fri, 21 Aug 2026 21:39:02 +0530 Subject: [PATCH v3 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: <20260821-kuno-soc-support-v3-9-196e2b306368@oss.qualcomm.com> References: <20260821-kuno-soc-support-v3-0-196e2b306368@oss.qualcomm.com> In-Reply-To: <20260821-kuno-soc-support-v3-0-196e2b306368@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=1787328540; l=29370; i=hardeep.sharma@oss.qualcomm.com; s=20260204; h=from:subject:message-id; bh=yqXI7z4oCD6EBcCQyBmX5Y6hzBDu47ievTbReCl/KdM=; b=makAys6idosntSG0OD40moiiI8Ulel8B1iSWmMc63dVas5k6+aUChzcSVyWmIAwdX82b/GPg9 IWE9H+wM6A7Ax6O1EVdK8VtqWf43iMWwwykWt8aNKgD0zkKpckxcQBE X-Developer-Key: i=hardeep.sharma@oss.qualcomm.com; a=ed25519; pk=IvwPDKA2xr6jWaCIBBY2ran/H0124QUzVfun+CtEikM= X-Authority-Analysis: v=2.4 cv=CsqPtH4D c=1 sm=1 tr=0 ts=6a88787d cx=c_pps a=WJcna6AvsNCxL/DJwPP1KA==: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=CsXzbs-S2857TcPiuzUA:9 a=QEXdDO2ut3YA:10 a=O8hF6Hzn-FEA:10 a=_Y9Zt4tPzoBS9L09Snn2:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODIxMDEyNiBTYWx0ZWRfX6GoJg6jUMC0v ItwvIVzG/+pK/fd/mpzaeJ5p62y1fuFh7TpPaYId6mWkzQLrtP1bMqslvVLuAtqk1+ze1cFLJWL PHXv+8zeEAOaIz0jsfvH+FsNgd5s5HcXxfV3O7kzPL+r3iB5lMU3HwMHGsOUGX3HRTyoSd5JIG9 P2QDUM80G4Y8k9EbHa4R0OMEqmTp96YITJhQDxxGQJTAvYpzbUW2LvJ9twaWMZxZ83OufUUivBv 0SV72CpAbGagWT8gpUgfwolIdQsEdD+DUd2yLuOMLkOuBmDWZ1dl8Ttt8eVE8NHjdgLO1sCx11G yjm2TSBzN1ITuyPy2ySdvK3bL76TNj86P/TtqqAIWdPe48rcPsgasL0HEyYeHDcmHiCNPUCpPQC McvVP6yyokG3kCKIkTKmWsOfqORkBsVw0I7BJ5nYAbFfbvfKoeaiJyn/y9g7RNyctJgrsAe0hrM 84EQyLlfyGnkqbzRZRA== X-Proofpoint-ORIG-GUID: kbPfTSPVocv8VnzGZT8XBi-dEwqRBl8m X-Proofpoint-GUID: kbPfTSPVocv8VnzGZT8XBi-dEwqRBl8m X-Proofpoint-Spam-Info: AW1haW4tMjYwODIxMDEyNiBTYWx0ZWRfX5n/LQnUUTtet xzBNSHL8zEFjdFrlnQuWdArPH712yUr6zvgxRU3aZcipwdwrRz7Q0JH4qe29TKOUW6qFOfwR7y6 Xl35h3Sy1YPrI5xQz5f9kP0rqpbYqoM= 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-21_05,2026-08-21_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 spamscore=0 lowpriorityscore=0 suspectscore=0 phishscore=0 malwarescore=0 clxscore=1015 adultscore=0 bulkscore=0 priorityscore=1501 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608210126 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 | 801 ++++++++++++++++++++++++++++++++= ++++ 3 files changed, 813 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..f3f8ec3e09de --- /dev/null +++ b/drivers/pinctrl/qcom/pinctrl-kuno.c @@ -0,0 +1,801 @@ +// 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_cti_trig1_mire, + 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", "gpio66", "gpio101", + "gpio102", +}; +static const char * const qdss_cti_trig1_mire_groups[] =3D { + "gpio65", "gpio66", +}; + +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_cti_trig1_mire), + 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_mire, NA, = NA, NA, NA, NA, NA), + [66] =3D PINGROUP(66, qup0_se1, qdss_cti_trig1, qdss_cti_trig1_mire, NA, = NA, NA, 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 Mon Sep 28 12:34:02 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 578EA499F2B for ; Fri, 21 Aug 2026 16:10: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=1787328649; cv=none; b=o5bTJN3+Bw1dVpQSw4H0T+a1cVMZ7zYPgdH/jrNe8AMMeVMXoDOA0Yb/CiVXXLxqxPU/pv9dyoRIUMvmiqClVbuPs0OXJe9x6Zr81Fj2gs5LhCbydMbTgL6ek5rCT1fk7MHOuqrvv3ACLlfu4E5kdzHQ75e9RHaAgynMw+SDJTY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787328649; c=relaxed/simple; bh=Wpq78rgozBemMvqXHShHTN41xjvjcSPxsv2keQOrZLk=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=aMgqrIAYBtXXz9P2xEriXnQjI9/YIhprXJneiMR1QmY8cbdhYSxzyBERoyEn9KQa2Drh+10cbOmEexa4db2kWnRkJBJzjKdqmRBUFQxke8EfFaXRqj24TScRlWxfEq2QA6cmBR2bu4JKm4mbpp/YAaBQhDVFDD6zR/d0NoBgTRo= 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=edXqU8uq; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=OMqR02mC; 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="edXqU8uq"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="OMqR02mC" 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 67LFmCww2645497 for ; Fri, 21 Aug 2026 16:10:46 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= yNOGYQ0AHTnuxmnh8Au8PEXHgS0m8i9EzpDyehvezYc=; b=edXqU8uqZdz//uFl 5RyLDYxnwzVQCD99oR0I/rcuPGBGWqmkOpoKvNkPuU+tNp9nitjoWlUOvmkv12Ke /xwANwZAXPLynBXIcC7sHstPBqXCRHIbK7yLVwg/2dIRXvzORZ8Ko+TwVrNcVdeQ IwHLlH1lurvue0YVmVdgT+jvv9ut+4b+PEWcwh9WabYe7YMizbK0hBSiUWiH8rBD QD/HbsWxwpmbwnnIZ1BNt0s/2NqkIy02iXpeFATuRhNDicQRIRXZvkMZHtqtMXlQ Wb1MSUx1iPIRlErdo5b5MeDgE6GGXzgsCrbJJ6/ju9azQAbXqAfPBBv7C4QRjtkS YtbPUQ== Received: from mail-oi1-f198.google.com (mail-oi1-f198.google.com [209.85.167.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4g6ecbasmx-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 21 Aug 2026 16:10:46 +0000 (GMT) Received: by mail-oi1-f198.google.com with SMTP id 5614622812f47-4b28d8d1b76so1040237b6e.3 for ; Fri, 21 Aug 2026 09:10:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1787328645; x=1787933445; 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=yNOGYQ0AHTnuxmnh8Au8PEXHgS0m8i9EzpDyehvezYc=; b=OMqR02mCD2GHHmduIUZh+Rz1AUWhbdkLDU2Aejm8zAfEh87QEiDHx5x1ap+HRMHK9S l2WRzkUGli6IxV0OjEHySDY2zCToeLgiEU0fNi5Q8TKMmavmWTOehkAIIFEOVH9NAUDr RcwutTafIc/qNdRi6AREFqTv5k6jn3yZUwXzv20s95ICAzsUlsAQr2EtHSdwOMFtn44k u/arMDCpdrg5PtYOQ/GXzv5hlsg+cJNbLV/jRqs8bWZAVv1ZxIopl6lIVA+Hu8YjLjnR Ts8Z2Pg3wqZUJwMEWBO1JbVBpiSUesJf0P9q8UZkZKWvbSbj3bvCTSqXx1E4yCjsuoTl uZxw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787328645; x=1787933445; 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=yNOGYQ0AHTnuxmnh8Au8PEXHgS0m8i9EzpDyehvezYc=; b=l7ZxS0wBh+xwiw324IbmBF/7wQBO1GNxq0jKdybSZEYllm4BqUxuS2p3Ym6pe6vG08 PaWoziC5gsNcLmmWS7hSasRfBkUKom4mUyhWsyxGghMPZyS5a38pqii6ONjNokH2tVdU OELlSifzXkuedMywlnTj88uncL9cC6EDI9IwJC6LzRHbjuOCqXkpIy8fOf2bqcXJ4SZk mpFSDxVz/P55hQ/GcPXfV5TX0uvVcHXXg/smiJ4YghC5ODsOfS1KUdIOSL3ao0An0jUk zgFzH3JxGOaLpDhzHDOP3NtypPdsgbH0s9qQepkcUdqF+Ymo+lAvatESTwjd8sHw1VY1 Kncg== X-Forwarded-Encrypted: i=1; AHgh+RqxpwbcbNxTGw5Xh/Y7Q59+CnpoTfiDe5T98b0YddAhslJJ+THVfeRldAOhe5lBPE6dA4rPDjn0k1td2OA=@vger.kernel.org X-Gm-Message-State: AOJu0YxLsa6kaZ1LARtMkSicBqeZ5oIoexboZdqqwiqp9uNBcHzDaN3n brCYcjK5SpAz3zLCdb21icwu8PB0GU240QBCWv94mC6x6KiYnmew/TJTaIiF7/91Z8yuTeJQBla cJqSiiltDfcIYrZ11FXcbXV5jvZYrX/+/L9E4U4YerDEt6WXvV+U8vvsKyzFFT55ccWk= X-Gm-Gg: AR+sD11AxCU9zVXI3zYaTl7W+l33aMn5Kcqptbg1J3vhcQD18l9czBGwER4bEuirsRj ecSZH9ohjmRMNBqIsZUp1UCU1C+j4rhVCfi2aPvkn5NnukLNDPSeaRYoIV0VktGbzL0JFDl32Gd 3l78bzOkNrxcH2sqifQVvJtnuJpFsT232x7iwK4Owi7nMoXGpM6STKQiVxTnE20EloKcUnWr12N +M6nPIzHK6umxe3xMMMBIyc2U2G1zBanohjKoFHkKaLthce55aRZgGA/BXLAMUkr9QMg+FVi6xO UgAYDewu6xbHPmlrSfKRvNP2nMQPlwbU/FExJZBuzg/D+eyYKbNFYWahcJbpht0pavLfdCK85K+ bNj84AYs+UhcyEJ5y2Th8VnzFF4Zht55itVISWRQcL4/2KgIv0zhnYC2DhhVEXdKbXAvef6sII6 KeHaFag9rhWu73FsorvO/GQdI= X-Received: by 2002:a05:6808:4f65:b0:4b2:8dbf:771 with SMTP id 5614622812f47-4b2ef36ac0dmr8148622b6e.10.1787328645397; Fri, 21 Aug 2026 09:10:45 -0700 (PDT) X-Received: by 2002:a05:6808:4f65:b0:4b2:8dbf:771 with SMTP id 5614622812f47-4b2ef36ac0dmr8148515b6e.10.1787328644850; Fri, 21 Aug 2026 09:10: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 5614622812f47-4b2d6d34c8esm4804321b6e.13.2026.08.21.09.10.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 21 Aug 2026 09:10:44 -0700 (PDT) From: Hardeep Sharma Date: Fri, 21 Aug 2026 21:39:03 +0530 Subject: [PATCH v3 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: <20260821-kuno-soc-support-v3-10-196e2b306368@oss.qualcomm.com> References: <20260821-kuno-soc-support-v3-0-196e2b306368@oss.qualcomm.com> In-Reply-To: <20260821-kuno-soc-support-v3-0-196e2b306368@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=1787328540; l=5624; i=hardeep.sharma@oss.qualcomm.com; s=20260204; h=from:subject:message-id; bh=Wpq78rgozBemMvqXHShHTN41xjvjcSPxsv2keQOrZLk=; b=2JB3MH5BwbpK/GnBaySz6WvTOeAwNs8O1+wa0QVsVL28hl2+1sSGtcKdI0IIYQe62SiAl0V7V RpKGgcVPhFgA2cQCqTfAJcHVOe2O4mu0C4giH0PGmxMn88OZLcBee3L X-Developer-Key: i=hardeep.sharma@oss.qualcomm.com; a=ed25519; pk=IvwPDKA2xr6jWaCIBBY2ran/H0124QUzVfun+CtEikM= X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODIxMDEyNiBTYWx0ZWRfXz8f0UaSS9MIq P1ejc3FyUnCWoxordKkpaHLiiPKgc/dmyqs5SQWg+5v7YSHJqFUXQXtcFLboGPioNOFIF9qEKoM BxGcv++tY4EOYs/anQFRAcRxhx7afQXEUTYAppADRRCNUERyZacQO+9nz1KaIRHchDeJTSMEIBo hrqmm+XbSdDqWXk/2EpcsMOr9jr1ZZOeRPRdg4C8eLWwOv2qcodLtEUrl/DXO6YrN/LwfgGNL7p LlFLTnHOHRzhCHeNJ501JT44DbegWedgoHv7sgyUtMeMRsXFOVk3nziuwWNkDdI2YwByM9cChQJ 28HJXbmh+OkFWxWjqxCMWBGJEq43oTn6reQPiTPfvCRc51OCHkIsQP4gCvuZivIf1xIJa3dHYZq itI7mvtdWTrOP7iZeUzEm0PW+p8gnJh2atsH99tj8NdbnIHGmFF4/WXWYZaLDbcQdKMSjZmxPvY zxsLUa7BtkxCTJeMNlQ== X-Authority-Analysis: v=2.4 cv=e/s2j6p/ c=1 sm=1 tr=0 ts=6a887886 cx=c_pps a=4ztaESFFfuz8Af0l9swBwA==: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=gEfo2CItAAAA:8 a=EUspDBNiAAAA:8 a=PKuh8qK-LUMqOkA3WUgA:9 a=QEXdDO2ut3YA:10 a=TPnrazJqx2CeVZ-ItzZ-:22 a=sptkURWiP4Gy88Gu7hUp:22 X-Proofpoint-GUID: myUYntdmmhhNyN5vGDr8Kj5DOVHeOA3f X-Proofpoint-Spam-Info: AW1haW4tMjYwODIxMDEyNiBTYWx0ZWRfX5A4HWNaXKG7F GQvuXRkEozAPyHSgEPzdYv2ltAVlbGwjqTLd5LMnoT5Aw53WHNHjcY//RY6gqE6dcGJ+NUWVW7g czmzFAc4BeYRsj3PvzhJEeDaDZPbiIA= X-Proofpoint-ORIG-GUID: myUYntdmmhhNyN5vGDr8Kj5DOVHeOA3f 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-21_05,2026-08-21_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 impostorscore=0 suspectscore=0 spamscore=0 phishscore=0 lowpriorityscore=0 clxscore=1015 malwarescore=0 priorityscore=1501 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608210126 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 | 52 ++++++++++++ include/dt-bindings/clock/qcom,kuno-gcc.h | 95 ++++++++++++++++++= ++++ 2 files changed, 147 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..7ae37033a1af --- /dev/null +++ b/Documentation/devicetree/bindings/clock/qcom,kuno-gcc.yaml @@ -0,0 +1,52 @@ +# 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 + - '#power-domain-cells' + +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>; + #power-domain-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 Mon Sep 28 12:34:02 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 2351E4A33F6 for ; Fri, 21 Aug 2026 16:10:58 +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=1787328661; cv=none; b=DgDYgKIgyvqea1eCvSc0TDsFLEuAN7kROO8O5eIIB7JPpPmmZa/Q4U0AaoUsWyJOzt62cobK4FA+oJm1S0PLo1MgbyrnAOVmxMxSL9tOb/Azo2yUEpZC3MqoV9MECW7NMr0lkAQmlOF7Ld+xjeppAdz/VqEByzNA2EUkD8MTWPk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787328661; c=relaxed/simple; bh=0vobFLWZmPudHxrL0db6xTXjzu/JJVm9bdpzAx4K9XU=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=siv3HhGOfWG/J4D7B2Rlg4HGVxyaNoC51PfRh04sNhHx99WyB5YGZcfGEPtzIoH+e3zWfzJzEpEcsEzrx3SFcixd7QhKKm4UZQr9y9xV412I5KfS+homwYc8fKgN2BDtfceASuS7phFDwlFyjVHBfmJt89w76KI4Jr+L8S3SZIo= 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=DnXTcGwZ; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=VPmHYdTE; 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="DnXTcGwZ"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="VPmHYdTE" 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 67LFm5Yb2743885 for ; Fri, 21 Aug 2026 16:10:57 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= yFrFBEPtRwon3lgoo+GCQ+3jgfgNK9BmgxglGbg9eSc=; b=DnXTcGwZRHsol/RN baOhOMzXobfZC/E41nvp6PK05ndItlCiMVCas1M4Fu/Hlkof5zmx5d+zzbP5s33r Yrt1g+Aa+daHLVWBaZXSZeDxDm15xXVZcL3J+p6IHSv3ssdDoYx+HZFUjM+mfrGh odnxw5lPr5jchn5MUA2Ekpbhf3++JRWfT7X5HnsgAZh1vgILcrg89SKzCh5USUcw wxQs/JIxhfVLJ2NYWYJSX6RL+haeybgavEuIANWorXuLTDwDD4k4YmdVudtQ0KeX L+C6CldNRQVTl+5ra4hcK99wAlW7J0hTpJ1ncXhbGa9Fs3XzDCkGdLj+oMr7hIJ2 1EV4uw== Received: from mail-oi1-f197.google.com (mail-oi1-f197.google.com [209.85.167.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4g6gdnaf69-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 21 Aug 2026 16:10:56 +0000 (GMT) Received: by mail-oi1-f197.google.com with SMTP id 5614622812f47-4ab4f652f9bso1096938b6e.0 for ; Fri, 21 Aug 2026 09:10:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1787328656; x=1787933456; 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=yFrFBEPtRwon3lgoo+GCQ+3jgfgNK9BmgxglGbg9eSc=; b=VPmHYdTEK46wZhYrrr0HIz9+HY09PswL19LQls7ccbKU66SgIHxy1m46mKCqU6PDNO uTUBlaQgCQFrJWIvW6B9WEhv2RdFW3T74AaPLOif+K56ZZRpgPGmE2RTqjeIT1jhYP2+ 5yNcSd13fXp3JG5ScvyLDMnsrnNN8f9dcJRgkS+O3LMgrT47QV8T+aKExCNsOUOPL5Ay IsFDbNJ77y8jWtrq6yUX1PYoB1QXoBpAtdm/CCrBwmnLSRUBbX7tPkIysAygGZ+fOeXK 3pNxh4CwiUS9mCXrJhoW2mOrgoMlGz58mMpUizgT6KgpJctydqE8+sRGFpjoli4Ka11R 3hEg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787328656; x=1787933456; 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=yFrFBEPtRwon3lgoo+GCQ+3jgfgNK9BmgxglGbg9eSc=; b=diApI37KisCEDUU8OCAAdhC4EqG1IVFFGT6nRTZFs9B/ViybkCSjWI9jIwCRHLs5TF +SKzg45yP+m5Uk/PZk/6ogidECXcaRWRVIsr/tbxscvTvD17BcCBLxENU7VqBPLfDYLK bh9rHEIsWCNdPlV6ppcyLqr8z7/IJmoGfx9lfZK9QxQTGKpAyDwp5UlKpaiC7DPS40O1 11zW9GwCN2+fHClpjYxtZWHCOcW3+EWV/QNOm080Y5fioyPKNYZ4SX0TP3ssrhSRG4VF NvnJhFyo/f6iOjMDAHlbDxCWAZ1nBs3301Eb3UBN9bctl4Ww8ki4OiJkMDEa1t0ScBmI aASw== X-Forwarded-Encrypted: i=1; AHgh+RobIaMIh3XGWJbJHHXmcKVPuRX0fR1zqo9vflm2wqRNOt4qokL3ineiOPQ4rLw6w8lSURCDsVcy/SiUtOM=@vger.kernel.org X-Gm-Message-State: AOJu0YyhBpu1qFT/w2JxanslZkqHUyRlSzChHHnFT9AER2nIG3jPYjRa 45oIEpYUAPuebIVA3GYiC5naE2Z7+jahwje5i9J6JRSttIAIn8JquBEQgmEjEIynEuOE8a4zIxr CnoRlqKP82FBTX0n9vDkZv8fu9OjuRdhirIqMhahnjFZ6DzUh9MIGCQXrKRZpFlM3h6Q= X-Gm-Gg: AR+sD10+2SVz+fInLRbAXIaKedKV75ykw+HKQ6qxV3RX6QIbrnEA7AofWQGyAwPqO/I w2uP8l4JOackIMPAngjkYWPOaK60TRMQiI3ElSHtdfc7oOGNr8iV61KrTnXmjT96hEzHyC8ZA87 m7MDmu9Dt2fcOoACQl2E6Tw1B6OaimUteuEZSvKLVRUbjjJZXNVeUZVdH3tP7Jenye94jIEcrhU dBUgSJyo56P3shCq+7nu38ltQfBxKgeLCyJN0Fm6tm9aVkyXfCC7FUFmEfmQo2WGSS4Yu3OB7oI 7qrh6/DKatOGs4EBloTM2+3xGAl6yTUgEEyedJm1kfbn86da0jcFu4BZ21DVl3WaDpfDLOUwaaI sZVNemckoBsvZ1gKRW8m0bZl546Fx4yP/h/44mys7CK5TtYN5rHYRjDbP0F9vXhlTF6gA6nOOsh tuYOqmWgp5MntPUoyovA4WaHg= X-Received: by 2002:a05:6808:318b:b0:48f:c907:7a40 with SMTP id 5614622812f47-4b2ef32ff78mr7132850b6e.11.1787328655574; Fri, 21 Aug 2026 09:10:55 -0700 (PDT) X-Received: by 2002:a05:6808:318b:b0:48f:c907:7a40 with SMTP id 5614622812f47-4b2ef32ff78mr7132728b6e.11.1787328654773; Fri, 21 Aug 2026 09:10:54 -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 5614622812f47-4b2d6d34c8esm4804321b6e.13.2026.08.21.09.10.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 21 Aug 2026 09:10:54 -0700 (PDT) From: Hardeep Sharma Date: Fri, 21 Aug 2026 21:39:04 +0530 Subject: [PATCH v3 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: <20260821-kuno-soc-support-v3-11-196e2b306368@oss.qualcomm.com> References: <20260821-kuno-soc-support-v3-0-196e2b306368@oss.qualcomm.com> In-Reply-To: <20260821-kuno-soc-support-v3-0-196e2b306368@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 , Konrad Dybcio X-Mailer: b4 0.15-dev-47773 X-Developer-Signature: v=1; a=ed25519-sha256; t=1787328540; l=42439; i=hardeep.sharma@oss.qualcomm.com; s=20260204; h=from:subject:message-id; bh=0vobFLWZmPudHxrL0db6xTXjzu/JJVm9bdpzAx4K9XU=; b=gfjL0HRV8bF+F6AgjbsL/udkYfmuk3AIDxcCZz/EHI/3p6Baw8/ckhw/mc2nHfG480fjCe8eu Boiai/x0acIBWcFvVOLKEjK+LW2UO3jBgMnpAhe+hdgOBBfXUs2w7Tr X-Developer-Key: i=hardeep.sharma@oss.qualcomm.com; a=ed25519; pk=IvwPDKA2xr6jWaCIBBY2ran/H0124QUzVfun+CtEikM= X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODIxMDEyNiBTYWx0ZWRfX8EBt0/1vv68B daBBXLPRUN9R4MX6twCjibhPLQhVIU+iOicRp+KQQCnrQiZgrw/6SaUUzfqyqdAv4fMi69kiA/0 AKsWTxqFJ6wVBTohZv6uUnLlVBkRKPqzXe+51A6Oa6lvdzZtTVV/lW2HyjVtacLboPq/pWJH/VJ qdQSO9dFzvtoPfz1obOHD21julQlL3v0haRBibXmQ6uRtwoezUdWGtazfhu2GqTbo5WDweDCDGO BuAapFBfHcZING0l7GIdxi5hLumfOuKgi/4u/Ccbo0B8blbX6jalIgpgoM5OkDnodkwqkybDvIB CwkCgzTFac/sDteNHjyoigU4h57r+5nfYnC+moCoMauwerAwJRD78SA5KITMN97ePCIwRxLgCXg ScIiXBuncC8HCRYyvGXlEKYby7QSbtsQd1suSkNfpEQagSUKAnhuadVUY1mseMttNvrUzmxh+ZL 6Mwc253Y0ZLW9FI2Jow== X-Proofpoint-Spam-Info: AW1haW4tMjYwODIxMDEyNiBTYWx0ZWRfX3kPsuNt3x3nY rLib0MemQk2twrmGZEv+j1EDTc5q48H8+ZxgCtEx9/uqIremPoeYl5BSYcj37feE6gxQ/ub/XZS zRKY+QdgIpa+8lLuR/omodychzZNrmY= X-Proofpoint-ORIG-GUID: lFhJcvU4DBZD-cxOfesDGbo_L5jiJ5QB X-Authority-Analysis: v=2.4 cv=BJyDalQG c=1 sm=1 tr=0 ts=6a887890 cx=c_pps a=WJcna6AvsNCxL/DJwPP1KA==: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=J8yo-5BD-G8eLS-r1ecA:9 a=QEXdDO2ut3YA:10 a=_Y9Zt4tPzoBS9L09Snn2:22 X-Proofpoint-GUID: lFhJcvU4DBZD-cxOfesDGbo_L5jiJ5QB 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-21_05,2026-08-21_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 malwarescore=0 bulkscore=0 clxscore=1015 impostorscore=0 adultscore=0 phishscore=0 priorityscore=1501 suspectscore=0 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608210126 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. Reviewed-by: Konrad Dybcio Signed-off-by: Hardeep Sharma Reviewed-by: Abel Vesa --- 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 Mon Sep 28 12:34:02 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 E02F74C77D7 for ; Fri, 21 Aug 2026 16:11:06 +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=1787328668; cv=none; b=HrMWj4o1Ahbg9M9TGUDxsUcqmrsxCur4VO73EqbaLcDw3CPUlRPgMp166eYVkzNQiu6yYkOfjLoducPhSIJlYyQlUzLi2OGHIMX6pvF1uwla5UOgyKl0P5kqt/AIj3wThJmSUOaH26MibMVs3suqufOXkeoXSnbta9wsX6uWn5A= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787328668; c=relaxed/simple; bh=+/+CnJFkK28UfCOUz91D0FsS6GYOqD6AEiwdg9UDtAE=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=ULgr3ob9yhotT9A/H2Mo8lwrSBOTLkTujuWM308Cj7NYBniZ50uhwvH6cWcVy+IbR2eg0HgKqfPTc3/K6lFKm4RTgQ/pti52QMQu2rAu7utkhu35qXGspboFzsFRBF1eLryNnOLokginKgoCzo62WYWSiyJfbK9DPl+vFTzr3qM= 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=DcrIhoj+; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=T/mKRU2a; 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="DcrIhoj+"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="T/mKRU2a" 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 67LFm9ZS3172831 for ; Fri, 21 Aug 2026 16:11:05 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=DcrIhoj+gqo3VxAl tAgB5aH3Q1SeXxZuJe0u4LaSmlPLEOh63oYoo/ckaKBnJ3XJUkdDsz6hKN99ufzR 4rfYJNYug5C7UvsvwIX45j1G2A5Hso7HenY0VGh5L3o8jqLhfMwBNW0gw0Bxaz4m oWiBlv0r7efT58Rm9tTWpn10p9fTpgNHi8glJjp1b68wNgK3pKQJV236uOh6K835 kFQh+odBAX/BYl4UotEWrqXaCyYZ31Q3EMaFLpn5aXl5ww5RfZUBtk3TgWD+UPsI ay4aXM+IzfvcWH6dNW+zL4AV60tRtb4v3dUojZ3RysausmqtZ50bB0JwwOjw38CY H0eO1g== Received: from mail-oi1-f198.google.com (mail-oi1-f198.google.com [209.85.167.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4g6gdf2dav-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 21 Aug 2026 16:11:05 +0000 (GMT) Received: by mail-oi1-f198.google.com with SMTP id 5614622812f47-4b28dafb8e1so1734850b6e.2 for ; Fri, 21 Aug 2026 09:11:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1787328665; x=1787933465; 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=T/mKRU2a+Fkwck9lx6vyWD/BcsiJ0x31YVTg+db9Rd9qDFOPoub38Ig6c4B+QdvwLS iDHzA1oagalSBFEfHBJGYidJ+L7C2XCpG7/JI8RV/dMhRtGiUdfOgMtjhS6dszWsBeGk b5zIdJyT6E9rNMwKW6JobxGrpdBQ5nkHqyUUmf5xv7mceOhbgxqfL/rp6vqKGlxaiAgn BuZWbiHWIzFmgY/3VanOVyzAglShZyLtbBcudHllnNBX8bIIBRBaKMzk72M/OXH8DTZH TZjsH7CuWq2llrCbkWg4Pn3u5NyJ7akqK63CV6nJE6u01ujZ91sXVGstICFMdvGot/KA fSXQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787328665; x=1787933465; 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=ZWhQwQAvCICfJapbWmT1s903h75qa4NX8ZJuirGMjVWzfzOcSIZ3FiU9L7Iw+8M+VZ m5eKEWh6SH2uvCxThmfuywG9GcyLGoVdqbSowhNw2mpf0eUuhb0/m1n1UtdULLQ4LSqJ VMQT4eavMCyGULRFJNFunfBdV8+4gDs2wP/llJeGqwpUamXe+KnI9cFg4VfNklkrc5kD H6rf6sYWU6xAbevcBkmFw7KJi+KZVgWSWE5XPAJFbL4kIex4ZAPVWCWUp1qXVqu8rft7 r6nfgSsRUNIBYygoiW8Qd+k9Ipn903zJG95xP/wDia74kcSXlbz/cnclQhnAeE88xQ5A uEIw== X-Forwarded-Encrypted: i=1; AHgh+RqwLT/bETF/g7k5AsLOB/D1MSRZOlTFQb0a4r5EkG+ThTB+pFWwvDpZd/44rOyt7Grq10Nb48+LkoRi8sQ=@vger.kernel.org X-Gm-Message-State: AOJu0YwcQ5OI5EKR/mpjrLu2hC+qoW7jORw057EWbSTUj1jwbA/itNp8 mCrkjDWD/kYI8MNvWI6ziJYbOOMSgjJfOTa/7NvJWST8O6LQVySwrDs2FS0kX5vuMRA+M+eMbiN 8loMP2QkziZzzl8qwR233z8NH78eDe35/po/p/OjboSDAVfuEMFQfTucegOuATMVs+18= X-Gm-Gg: AR+sD10UFUToTzZ73A5wTENgAyfPYBqa6Eo29UTnIKprAgsRflK7Blxj2iQvkcNIo0x A698ziHXXkfGeCOCByvL3SL6l+wsBVT5LdEwpy4y0wiKq+izzRP9WbBHpc9PaB+zbUEdeI0wGPP FKoJfCujQY+WAQ8NzIjXdpfhkYGF4M2W4mFsmhSIJZNW6be53dtMhCxbfuHX52Y5Hqi0XoK11I9 CBiIZ0GYA441nbMpBSw/lBfoV9zcAJYNJmkxeD2839DtE3yP1qqrBZXOA/HuW90dyVi0mtr48kh 114eKQhHlgwO68CCHs1vGUEhfl3Hn9bLagLaB69lFHwnM8IaplWNEE5GL94yE3mOGOWhV59RTWX yKn99eFxEmlhVLsXlNTuM1/cdNpz6/8yZukKVhpzM9nBbu8PcZte+2YRTnomBmD8TG+j98012LR WtUtBHfwjuDrJtgok1UyURjSA= X-Received: by 2002:a05:6808:6f85:b0:497:d1e7:5e90 with SMTP id 5614622812f47-4b2ef484825mr7959327b6e.18.1787328664795; Fri, 21 Aug 2026 09:11:04 -0700 (PDT) X-Received: by 2002:a05:6808:6f85:b0:497:d1e7:5e90 with SMTP id 5614622812f47-4b2ef484825mr7959242b6e.18.1787328664353; Fri, 21 Aug 2026 09:11:04 -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 5614622812f47-4b2d6d34c8esm4804321b6e.13.2026.08.21.09.10.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 21 Aug 2026 09:11:03 -0700 (PDT) From: Hardeep Sharma Date: Fri, 21 Aug 2026 21:39:05 +0530 Subject: [PATCH v3 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: <20260821-kuno-soc-support-v3-12-196e2b306368@oss.qualcomm.com> References: <20260821-kuno-soc-support-v3-0-196e2b306368@oss.qualcomm.com> In-Reply-To: <20260821-kuno-soc-support-v3-0-196e2b306368@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=1787328540; l=922; i=hardeep.sharma@oss.qualcomm.com; s=20260204; h=from:subject:message-id; bh=+/+CnJFkK28UfCOUz91D0FsS6GYOqD6AEiwdg9UDtAE=; b=2sItnI1/4L/9XIOYN3sjBKJAtfnUof413EvY0YP56XbV9w7Vj89ry+ko23SAtQezQt949xqJR aNNjt6EqrBDAYsTIf9MkOarrSc5KZaM0lgvJno63rZtiFUlIGrbWl9n X-Developer-Key: i=hardeep.sharma@oss.qualcomm.com; a=ed25519; pk=IvwPDKA2xr6jWaCIBBY2ran/H0124QUzVfun+CtEikM= X-Authority-Analysis: v=2.4 cv=CsqPtH4D c=1 sm=1 tr=0 ts=6a887899 cx=c_pps a=4ztaESFFfuz8Af0l9swBwA==: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=_KRvd0mH2JNXacczCDAA:9 a=QEXdDO2ut3YA:10 a=TPnrazJqx2CeVZ-ItzZ-:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODIxMDEyNiBTYWx0ZWRfX1jNMts0YM0Il +jpCNMLWM9u3Hosps/5awACfRSj4fNqcROclJ1Yt4Z9cTKWG2d0Jz1/JNNydPEmvD8vaWOcEq+L JaRuR4fiRa4hEPsIzllsna1EIoYqqOY4LMo44C9yyOsgSEdJgETUimP9K5TP/3H+rFqa778LXHc t8qoMvPehLvShB+VcgLrPpCEd8w62lOYeHY+hh+QDPbZyM9PTMAcMl2v2296TR2huFM5XNYyUsN xM5bKK3Kh6mP7QKupvzF7RMPCDua2/+WRP9gz1hU6O78u2VgKBNwoQc7toktT2+HKt9h52pxA0k eAbW3lSLZJoHrw/XCkRXwOu9z2DDc00HNETL+U87Fln9LIICAAe7KgwvzJAQ2C50f9rWvpQZhDs WDIa/QsOou8O9jSFwM9QOIkEOhtv8E3oJgq8e2cUk2MfAZtZVtTXp8MG9k4rnB+gI9tvQgH+BR5 C2zO3zhtfzehAMnJ3tQ== X-Proofpoint-ORIG-GUID: 7NzIdnEKQB52jJ6PhYAoTXciSFBVMoPr X-Proofpoint-GUID: 7NzIdnEKQB52jJ6PhYAoTXciSFBVMoPr X-Proofpoint-Spam-Info: AW1haW4tMjYwODIxMDEyNiBTYWx0ZWRfX11bMB13UCNYr FMnMb0aGdR88+nasG20EPT8Catuiz6VncSCgyrNS63u+yT/j8THulZ0gujh9Tar3iak+m0Caiok FGS42e/eVmo4U3L8Tn6vOQpKMkb05rc= 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-21_05,2026-08-21_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 spamscore=0 lowpriorityscore=0 suspectscore=0 phishscore=0 malwarescore=0 clxscore=1015 adultscore=0 bulkscore=0 priorityscore=1501 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608210126 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 Mon Sep 28 12:34:02 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 D29A74C9576 for ; Fri, 21 Aug 2026 16:11: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=1787328677; cv=none; b=WxTDJvqWwBxc+YjIbOQ6NT1uLf9/AM8+Ly80Gw2sS5ahz3wQ+/I5M7/tTGoveDh+c4VBDNtcCJ9vR/X59WRUMJGwJ0xGsNwnaEonGhLN81SzS9kVsFxdk2/gWlPjOJj653Onp9yHrHh/9keMuCRNzYcn/M5mhjVC+7WC4J2SIw8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787328677; 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=ThGGvFWEuqBXF1xIFS/cNSy0MaAn4GjhROF6b5f2TV4mo/OpVhbl1bio7dOP5hPyrhoRhDqXD4QShJFwNNkIOPzycoceSeaoHt116PnOs3gJzGBCf4b9Tlqisog3+xhBYDRPafLwJjzwJ4F7nzknt07RPo6eZeb4kioKUIE+OmE= 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=d9XAmLb2; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=cDZBAIUB; 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="d9XAmLb2"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="cDZBAIUB" Received: from pps.filterd (m0279867.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 67LFmLFQ3876810 for ; Fri, 21 Aug 2026 16:11:15 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=d9XAmLb2d3tEemEY /SV0V+IgeXry0mDhpnxfXqW1JuUmV9keyxYmh2XiCUi7KJ1FHXQcEfrPWSo0cwv7 3vu+37Q2Vzu5+aZnKCitDbG2XLn7Mu9tONdEPOv8C/NARtsoc6Sp5UclXYAKep+B Hhp/D+/Z5TpHpiBNJf58LQMV37uLM5NKNFx/PMKRAMETckK7W/JuYzELNhatVZsJ QSvk7ofCY16GqUI323X4Dlpeu0n34jtuj4ezj3RbQuj7L2XLxaDEy70Z1pMWB0x0 C1kHPl7BWWggG9Fhf9PVozA/NZay7YJ/atuBya/jXZXKuwLQ+B7BlrrGvgovpYAB dvx+pA== Received: from mail-oi1-f199.google.com (mail-oi1-f199.google.com [209.85.167.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4g6fg9tj30-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 21 Aug 2026 16:11:15 +0000 (GMT) Received: by mail-oi1-f199.google.com with SMTP id 5614622812f47-4b28db3a47aso2156926b6e.2 for ; Fri, 21 Aug 2026 09:11:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1787328674; x=1787933474; 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=cDZBAIUBgqxl4HxOqUuLwg8GfBYw2hWub2BwpvMWVMr6jRJKQViVXctVUaF6+bXusE B+++cTuJqx+UQXRoaCA+QksMNtq89OePM+ilox8t5wcBUpxMMYE4czESAVW/owBoLU9u wVDPQc8csS0eGOqPsUEw/dGH+fHdgGOZUV/XYru+b6aPvUeolW8VPU0Y1zj1dV/EKfU2 ZWYk2+xmSvjaTWPmfphV2B4xdYLw+zI9NK3R2A6ZY5aaU7H4VUDZJsSRLPYzliAQYzQj XaVTo0Sy/QzzOu7PcVaECvvZbsssas7sshpdhv0chOmbJyL0S+aQqjyb24sKFI/6lRpy yIZw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787328674; x=1787933474; 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=De+C37JmWcVCtYiC498+RozyBe9UAhVrQmJTo65mDUn5lD2AtEbyt9pMPz9c3CBcBK 7TZWfiN4ATd5StiyyM5mM3mkyp7HZdSsErf3gJnL5s/65TpXIqJOXTux0nvGTOMerYBX BqpQ7VNMs8Bw7EDbOnkOwSAhFdtazVND5Nw9ryR9aQwLFifbYGgXpJ0fnwlSYwcZ8J7U lnHlIHEo7yPZOgQlzQ708x0l609nxAO0gvgEEqFtOkIGJnaArSatUiQH/SrYCndYdw8l mWGRaWe8niXG8ORgUntva94SDC3+pcdrJcvnWJpAMmX1rLcQCeWk6ZPs0lzzFBF09DhX PUVw== X-Forwarded-Encrypted: i=1; AHgh+Roo1aEgT58n4kjttTCvZYSE4xD961Gl5RH/9hKekmPcWGD8TkTcAozINnY5JASkblaCm9f4h6zSnyNKiWU=@vger.kernel.org X-Gm-Message-State: AOJu0YwbQzrMMOGGQHKh3n0gpOhoVVWsX3WUnNXYXL+jLOEReu1jk2yT d5bw9Ru8Kf3bpCIzD2QOCs7IhTYe6X4PpjnBnbx2P90hmaA84B7/axwtFdiHdLaW0PiDhJOvTPL 2A6yhnerqwMzesKxvrHfptH19bJQU4xso/J1Is8vpcS5MxauDvdutbiQcQG1MdJAWsho= X-Gm-Gg: AR+sD12rchkpcsskMfZcGIoCRhkPKzjdLF2h1hljyMSQgzv+pN7lYaG4VZnZ5slzl18 9vtqofuKxL4qY2EXKxZJpxi/O4gAGoHPOxatDkJaFM0GhwEwL1PT7rkwGuS1lHQNS2jDoQmbWww Hs95lVHLliKOG9S40GYTaC84+VpMVGhI5NVj2r9so2CQM28GlM2ee2Z4bpGZ2cu/pK7pogJEQig laAb4C/xNfT7p6QqsgLGE6UW59GdKPw7Mp5S85iacxXHjf1Qe5oPmolv98uq2dSWnpzemXTiV0q yzRbBWtIeSSfPjt19/nSn56yJ/FYZ+b6in+80+PNudQ/RwzCH2LmXObEc4mhW4jhj158wGokiQb jItRhJVvYNe1Awy1SgJHQI625+pP+kLby652YRA+QgQQSCPCb7kPXPAbHGrTMLq6HFCogX5tsug N7YT3RbteHgSlKZVkcDCvQpEE= X-Received: by 2002:a05:6808:d46:b0:4a3:26e5:cc02 with SMTP id 5614622812f47-4b2ef33a94amr7457132b6e.10.1787328674374; Fri, 21 Aug 2026 09:11:14 -0700 (PDT) X-Received: by 2002:a05:6808:d46:b0:4a3:26e5:cc02 with SMTP id 5614622812f47-4b2ef33a94amr7457022b6e.10.1787328673861; Fri, 21 Aug 2026 09:11:13 -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 5614622812f47-4b2d6d34c8esm4804321b6e.13.2026.08.21.09.11.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 21 Aug 2026 09:11:13 -0700 (PDT) From: Hardeep Sharma Date: Fri, 21 Aug 2026 21:39:06 +0530 Subject: [PATCH v3 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: <20260821-kuno-soc-support-v3-13-196e2b306368@oss.qualcomm.com> References: <20260821-kuno-soc-support-v3-0-196e2b306368@oss.qualcomm.com> In-Reply-To: <20260821-kuno-soc-support-v3-0-196e2b306368@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=1787328540; l=871; i=hardeep.sharma@oss.qualcomm.com; s=20260204; h=from:subject:message-id; bh=9JHmO47xFcHiKwRcWRppqe+FIDEC/EmRY/1PhD8wx0w=; b=Ag3di3btT/XFPjezWsEE6sVb9FnCj3hpe8zj0J0Q0SOouAab1EOy4dpmgGa+2+2q7vu1xOsD6 WyI4wCSjoG1D/AfPoIgDEjP9SKXjtAhxL2dv3aPIUrCAfJUfwsb3ZKm X-Developer-Key: i=hardeep.sharma@oss.qualcomm.com; a=ed25519; pk=IvwPDKA2xr6jWaCIBBY2ran/H0124QUzVfun+CtEikM= X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODIxMDEyNyBTYWx0ZWRfXzlJlzLvQjh5C X7vRQMQAUbXZmZQigkmM/1kEFcBakNIH6GHO/KQjDYzGzeKSj+bH5N08731KH735OjDky0OdMw6 JDGHmqkN7GZ2F+yjVbFPPj4zCLWfVXLSd0CtE2gYgqYmYfDZ6h3i2NqNrrHTWCVNgSklC/oU5Yg ujQiTlImFZ+03dspc6yG+v9fdy4viOKJi4RnV9vUhSwDnb0sLUuHwxrhS7jR2kGNAqk7Jjp4hjT ONlRpRhrYT4QWOO7JK2ORkMX3wM+iqT8zVig/d8wihEnweIq1XegecYNJ3onIAach+2+ejQ4M/A R3qossqCEbFm95ZmjAchHpBh26vn4v30LERCKS/wElrdLGpqgKNjiaqQ48+3zo9rhFWSPVa0yqo OdrHJYWu/59yKEG8Cs5IZsyBNsYqevYO7+RMZc19v5p98vpaEJslu6xmVbybSqHoZkswWULpyd7 QYDKqAz1EpD3r8Gv0pw== X-Proofpoint-ORIG-GUID: OV076-P_MoBM63asPzc9sXPBsAlqlvxF X-Proofpoint-Spam-Info: AW1haW4tMjYwODIxMDEyNyBTYWx0ZWRfX6NZu1W563VZG DKRrXfv7TrhZs499bU37Uyg7b6D0jd4W5t3BRtXXFv4YULBYV7AT8YeVgGRD5bBGwO9z5Mhe4Aq eH6yH32ao1nD/1sP/c3YMX41nPlCVuE= X-Authority-Analysis: v=2.4 cv=Av/eGu9P c=1 sm=1 tr=0 ts=6a8878a3 cx=c_pps a=yymyAM/LQ7lj/HqAiIiKTw==:117 a=Ou0eQOY4+eZoSc0qltEV5Q==:17 a=IkcTkHD0fZMA:10 a=Sv0fKeRqtYgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=eoimf2acIAo5FJnRuUoq:22 a=EUspDBNiAAAA:8 a=M4Tw70yJP9P6qS8g1QAA:9 a=QEXdDO2ut3YA:10 a=efpaJB4zofY2dbm2aIRb:22 X-Proofpoint-GUID: OV076-P_MoBM63asPzc9sXPBsAlqlvxF 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-21_05,2026-08-21_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 phishscore=0 lowpriorityscore=0 suspectscore=0 spamscore=0 clxscore=1015 bulkscore=0 priorityscore=1501 adultscore=0 impostorscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608210127 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 Mon Sep 28 12:34:02 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 9186C4CA270 for ; Fri, 21 Aug 2026 16:11:26 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787328691; cv=none; b=dt0kh3t4jvI2PwRLAjYWQ2DcOEGuUV+ID9AUxkrbxKrUns7hSO+Z++qcLxVMwfTsSXT2Zhak7t5lR96FR6L08wM5MoUcjnYH8f3UHH/oZ1sPu1bZuqsr+gmGoDV5zgmoOgmxMRyP8KztbsYcLrTWD69Car+gxPcHE1m3V3l/YOE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787328691; c=relaxed/simple; bh=mcaRPD1yVE1lNbFj9arsqohiAw2BWUacERpzcyqjwvI=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=tZlWgFk2qyPzokRlC5PAyjX/HdzE8XzFGkkX9OVQXLG7qYa9G0BVAdES+fFj0zrIUZTkAhd+Ka8nG1ItNzlxRFFKW9Y/+dw8gBOnyPHyg2JDmpwW6WlQeoH+0GFToLyV287MjSQmyWzW3qGsiPhMOWybQWW3WjKpnrXl/bUXbMA= 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=OCoPJGGX; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=V6gbQ3l1; 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="OCoPJGGX"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="V6gbQ3l1" 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 67LFmCiD3172880 for ; Fri, 21 Aug 2026 16:11:25 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= knkJrTiDE4SRc4qBJ0Ar/hCVAjYZAE9e1hRiGXLNN2Y=; b=OCoPJGGX7igyFx7L ze7Q6ck88ijWO0zgCDWL5grpQ8CYTsRf6T8Fw5NRWY+/9gIWHYJ/oaXY25t5xj++ /6OXmeH0tfHJDQCU86+tPCxhIoaIfCpgtXP/oxvX6eYCzE3B6CweyXVW9RjOPQVX Vo3c5bFb8wVOND6wQqSAA5ytnKLRydFeNx7AeOA7QpUDVQ1e4re3P7/VcK6Hdmm5 fzi+LKp9AXuO4OL5+Z2GzmlZnB4yheVQWLjbO8BwjEfDgj8YcNMsSg3LA+GrLO3+ Sy+/TIweQxRzI/WWeTVIB/xKfxaCMArcQ7pijkQ1KGpXp9JICZrN5kKaFQYe9zYQ 2c8+1Q== Received: from mail-oi1-f197.google.com (mail-oi1-f197.google.com [209.85.167.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4g6gdf2dcx-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 21 Aug 2026 16:11:24 +0000 (GMT) Received: by mail-oi1-f197.google.com with SMTP id 5614622812f47-4a41f46d629so2099882b6e.3 for ; Fri, 21 Aug 2026 09:11:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1787328684; x=1787933484; 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=knkJrTiDE4SRc4qBJ0Ar/hCVAjYZAE9e1hRiGXLNN2Y=; b=V6gbQ3l1dkk1RtQ76g7lSI5tu5bSAHIySYpj+n2xMZEIbz2HWZxvOLoAqTid85uJV2 hfHCqQGg4b6eyMrjxmcPa/Z9NSa1Aj65YAkgsD1IrUrSvC0NtGdyKA7lp2g8mp6zmLuf pOuWDXPXDpeelGk7CD4wnkaMYW4y5hbuordM0DkDQtbCV26qXpNs1xYwYNO51R2yKJyf qR4qrHUwIZ35s772ILEyEngCcaCT+qZ+l5fQoQMO97QPr9vUKHNT9SaVG8fZeDbHi9Lx DY8wWMo2zSPk1+J9whC5TpEmXYDgq4bd42oQeTTaSCaxnKfGOkpQH9demsUaVV85smsi RxZA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787328684; x=1787933484; 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=knkJrTiDE4SRc4qBJ0Ar/hCVAjYZAE9e1hRiGXLNN2Y=; b=HsFkPFYoWM2bgTCwDNGNfpcAOdRWumSjuFYkAleYwub3eCnPpMP90TnQEngbbpPzZe q3SrZB2GU95iS3WpuHaDvTKTfDuAKRPKS70U4JVse2iyKudfccVOaFWipLbzvSRmoMf/ s3PF3+8zgCxXEv7SfzV+o0tJHKo4NuxTUPHRILG0NsMinCN5lYDcBYuwpfQEuMA9iYW4 Y4fKrFPpYkHkEMXkmUyEevsdUqeASSO2UXP76g1STunHk5BH02LG8iRy1XcZE0zEC4xb cZzp6zz8Uks7jhpP8OYaLJdCVBjpbITLIO+q6ghBWP0K1doUG7HMgKs452o5CZQOUNM0 ZosQ== X-Forwarded-Encrypted: i=1; AHgh+RrHIlymq+pZ8eWa3ZT+MOveV7jrpf6qCfRQ0mc6s7u2gfarO20ZkeK+oinBeP2bp0zuDsO8rb2X2q1436c=@vger.kernel.org X-Gm-Message-State: AOJu0YziOmJKTamLhbQ+38Lm7YU5cGTxTp+cL3LrxYbJ0fVT1BqF2//F tUmFqcDn9+ugES/YOf6BG/0ittrbq+QOUHE9UGswW8l5u7YP6vrpRebcyVSVevE1qWob5VeNAjR 5D12VMXRXZXiGNAnI4FzoFu27202VPafWvyvleOOmRiYRm1iAEOEdkF3ySLKyuqH8eME= X-Gm-Gg: AR+sD13oXVUf/siIaC7CTNgRVtHsKzvBf2xiAjnwq0qahZimbBxnU4rhlwQxG6lShCr VK19W/b8cy0HoOJ44TV4iuSPCA0YN2wpu+ae9bkiRMejkMKckwqie9mVv1zzFIWVmoFdLa8oWUZ 1mBpCfCRzteY2Idcm2Alp0wlgqU4gQMGYGoWmVZXZ6gISxmjyf9GFwkLOCSPS8zKW0/0NuTojfM e841aikqPoEhGPWpPvQL+lNxz3V2SVAX3zRhcs4b98c0jvGBWclcnGFwwSoz9HPhNtbDwY7TP9G 8RD1e3vcbPLG1rOTKMCPhAWe9us0oPE+ljTw5FPAw0K4Qsqxs9dVQNUyh0nNecYasnBCumu7gP3 ceWAY0nb67xQKH7rDO+mr7JXgs/7W9wFjjL0mpT1JqvKDsUiIVNlu0IPFCQ02e4fLEcf1mhjoEV OTcD1Z66f3gIbGr3Q37GV91rg= X-Received: by 2002:a05:6808:13ca:b0:4aa:cad:cb4d with SMTP id 5614622812f47-4b2ef40c7e8mr7487869b6e.19.1787328683878; Fri, 21 Aug 2026 09:11:23 -0700 (PDT) X-Received: by 2002:a05:6808:13ca:b0:4aa:cad:cb4d with SMTP id 5614622812f47-4b2ef40c7e8mr7487786b6e.19.1787328683448; Fri, 21 Aug 2026 09:11:23 -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 5614622812f47-4b2d6d34c8esm4804321b6e.13.2026.08.21.09.11.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 21 Aug 2026 09:11:22 -0700 (PDT) From: Hardeep Sharma Date: Fri, 21 Aug 2026 21:39:07 +0530 Subject: [PATCH v3 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: <20260821-kuno-soc-support-v3-14-196e2b306368@oss.qualcomm.com> References: <20260821-kuno-soc-support-v3-0-196e2b306368@oss.qualcomm.com> In-Reply-To: <20260821-kuno-soc-support-v3-0-196e2b306368@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=1787328540; l=2248; i=hardeep.sharma@oss.qualcomm.com; s=20260204; h=from:subject:message-id; bh=mcaRPD1yVE1lNbFj9arsqohiAw2BWUacERpzcyqjwvI=; b=Hxd1KRhg3fuPoN/wzOapNCFMOpVN0UkreJGyf7jijbcGmh57K1Z7/71AU6X9faB+nSPnaT1+h 8mT6dYe/TeVBYZ8bww9LHWpu5Jr6CksRvJkR49o+XgXXPxgcb2rDP9x X-Developer-Key: i=hardeep.sharma@oss.qualcomm.com; a=ed25519; pk=IvwPDKA2xr6jWaCIBBY2ran/H0124QUzVfun+CtEikM= X-Authority-Analysis: v=2.4 cv=CsqPtH4D c=1 sm=1 tr=0 ts=6a8878ac cx=c_pps a=WJcna6AvsNCxL/DJwPP1KA==: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=vXfy1ps2I0IJequeNBIA:9 a=QEXdDO2ut3YA:10 a=_Y9Zt4tPzoBS9L09Snn2:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODIxMDEyNyBTYWx0ZWRfX2fL6oNDHknnL RCfs63feye7+KZcZRUaB5chukfjkrYHQ+BEK4f/E6i1SKkMgKygQcgamCEc7g4UXZgqSqi3fQko PQzmi5ALSM6bjkS/HIPHwJfSIxmcDvN+ud7RNbsYoOSQ9LOiRltObX8+CM6DJgMnWBnSVCwobBS nO1ANgNVWwYro+cDTlQOHLTOdu+tnJUZG0hxI97loU7okI2OAaU6xKhmjew6/BYWVKx4U4t2PKf 3XrqZSiwnjxd0S3j80E0EfMGRA6dFqevQYw5rws3+rw1jD4L9RGCMIWVzhhoxi8TRrr5HrkAeDG XMV6YnA5uPVJ8YzIpwq3ysZr9EFGwrrkilA6daHxerHVpE1bqZh4zwl9FoD5F29jEXqykRUWtMW rNLyueMpPMjhoSz7rolTYLaQchSqC0Fe1qO5P+W42ATyWH0aVYHpwizxR9anEsv6uFgVADgx1dq lSJzv76ELAF9eiyIrzw== X-Proofpoint-ORIG-GUID: nAcCb7hMvQND8RmjU7p0v617vIAIx86i X-Proofpoint-GUID: nAcCb7hMvQND8RmjU7p0v617vIAIx86i X-Proofpoint-Spam-Info: AW1haW4tMjYwODIxMDEyNyBTYWx0ZWRfX9FM0UhYkBwhE UWgDgxM8Vp5YihxbWkzxrm49e/F9Kzoc1TVTXcawn5sCuUbgMYNE4DevPZkFr2SeAd9rjS91wUn R1R4NxIRXKD252lnHIx6OlIFj+bWygs= 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-21_05,2026-08-21_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 spamscore=0 lowpriorityscore=0 suspectscore=0 phishscore=0 malwarescore=0 clxscore=1015 adultscore=0 bulkscore=0 priorityscore=1501 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608210127 Document the Qualcomm Kuno IDP board and register the "kuno" codename in the SoC naming convention schema. Reviewed-by: Krzysztof Kozlowski Signed-off-by: Hardeep Sharma Reviewed-by: Bartosz Golaszewski --- 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 Mon Sep 28 12:34:02 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 5FABD4CA28B for ; Fri, 21 Aug 2026 16:11:35 +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=1787328698; cv=none; b=eAwpwHV1RzF2/zAn4fQlOMiPjIMIpAL4Womto0fPbYpK8+F4m5gJDGaaWRE6r1T+BJ0xWwX4fZZ9RoHQ2JaL2qYPhBdLus3oJgFvVokDN10ryZSjXYklnVH2L3V5/HhpuMfPKBuiK0/JJKv5v3hhAw3kDag8cbEzgeU8tF3Iy3Y= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787328698; c=relaxed/simple; bh=DuMwK3OKSJEevno7mkkx4FR6n3VlpAVcMMNJhaXiwFQ=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=bbNuvohZlFq/ee04sGi5Aakv53SzLtjZkCBHywHL2aHNzpAFVbN55gseGkzea6BFy7mnW2JldzKzS3HwpZfyHwQeNA9WOfOYEFy7LLl/o+ghSjHBtCMsjUzSi0RYyKFWPrVZCBZVCCeKwTKD5+N+MFP+uyvYXmCJinsbF/dgZRU= 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=djfy8lFO; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=NL6+CWeD; 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="djfy8lFO"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="NL6+CWeD" 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 67LFm9mx2832687 for ; Fri, 21 Aug 2026 16:11:34 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= KCbVk4wyyGFVNYPCHfx6DotfAlwRoSfnbqF+bYAIivM=; b=djfy8lFOVYFbDwSZ HkSLE/0dSJg+YdUsPgMxBBrs0GO6MTo57cT3U5XD0NbKJA1wTi/uwO7bcf9UiYjU SG138eauuJIg3kdGuU89lSAGkf3R5cU6yW7J0yfyeZAOXUDhaDu0YgluVtC5RZQ/ HMs79aUEMg9sOXL1xX6TDbKK8fUuElOjKNECx+qHSedKrrXdk1Don6ppidsmCCaA ssu2FRpjLYl9II7shAcCT/b0BRAe4gEmrmcXw0gjK20vWqgmTEdl00FExp2cuBVk S5p6bIVts6PmY+hEcwKe3zYS/vM/KqFltkb73xHSAVZhuyFmZndVBesuHp5fKcFf sf07vg== Received: from mail-oi1-f199.google.com (mail-oi1-f199.google.com [209.85.167.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4g6cdsk5ty-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 21 Aug 2026 16:11:34 +0000 (GMT) Received: by mail-oi1-f199.google.com with SMTP id 5614622812f47-4b28dbf4197so1986115b6e.2 for ; Fri, 21 Aug 2026 09:11:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1787328694; x=1787933494; 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=KCbVk4wyyGFVNYPCHfx6DotfAlwRoSfnbqF+bYAIivM=; b=NL6+CWeDE49YFgnFPo8VXBT7LuZW0KiUUD2XrhxzjJI0P23C3ojYXwUTPyKz+JihlV 10k+4tdIAxD3pBAINGO5kVeCk0Q6hgzlHmNlXLJkbStj4gpQhm8ZARgF9arVRAWFjx06 tPrqikvBMmK/w2BpVKZv2v2ij13xRuRXo1JLmrcfhI1Dt5iqxTk4RHNTOtCC8zQfxxd0 Iu3UOV891YqWaHh4OAZJAgWmkwk8PsP6k+yN5GLx6Ab2vZRfpPrwi0iLCKyeD7x17xou QJMgnYmn8ijDEBHtaU2de+pqcWPWOO2T0oDsB3vn1SdtNrO42vMM1qXo5dmKSxcrhfhT vajQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787328694; x=1787933494; 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=KCbVk4wyyGFVNYPCHfx6DotfAlwRoSfnbqF+bYAIivM=; b=KyhlBtPvq64aOj7DsaYVHbY3xdRXfMSbxyIwReS2GkkYDzFAmk4zW9HH5rgUeuxqqi LAOlx3xnI1iGoM8uWrIbD1Urbi/WpkbDzrW+8VNVs5/jCa2UvuuGdy++u3KivAKJ20zM CdXgqGxP+mi1lUyjkQGmEqSzNTdFyYIQbDpykNT2z+GNTXw0XZrv8JZaW8WaZuMqwpEr xvY1LBaSVhJgwLjtw6+T5c14WCawnxEm0VWoZ/OP19LMWOBMyDp1jIDFniGxhilAkW5w MRIq9oLKnL3BObkIPEeroPNXIvUtUXDVmdvrZBoYXWbBRGtwEDga9g5Frw5ZHcvdHH4P m6Tw== X-Forwarded-Encrypted: i=1; AHgh+RoxtCnQzd6r7L0m64vsnw4g+m8+yOIsEWmeVqtFolPIyI55oaDdIr+9q5Uu//aiYxOZ54C2T/odXjqbMW4=@vger.kernel.org X-Gm-Message-State: AOJu0Yz/1Qv/hBNYIYruq9G4ROq3MeO0emv3bGJjsySULaNJE3ROGOl7 kyFPz+hvfU0PmOS/NNzjIXKNr77ziW3DrsjPyGe0q+yOfvpMNsEilACWYLIaOtr8gUnY7W2ksbH vbR1DlOyHUz4hVBaJzmvNDFdDVA7FHeThdxJk7AKRB9FdMmzE3EId+vEHzKEe3ROt09w= X-Gm-Gg: AR+sD124GVIRGBWDbrh8wJ3omtBuL0ddRAPl1OLIQUebHPIAIPdB0WNqdT3XVNhN3o2 sSYS/Z+7QbBePmz9xsT/6EV2xC7+WpAWmFvOojNw0YKCdXsoesqPRkirRntZneH9jMGD/nFtqJQ QMiVeDSPeVZVoDY3Uxx42mHHxpshywd+J1Jrx48IfnDQbDRymRS/snl63jthSAd4lEjk9XVyAFj AMu8MEsT+B6uImm9ROHZJIcpNbKtHlefKhwW3rjPcVrmc9l3CQqjgCNovVm8nqZscSBYxli9Az6 wHF3auGBTxt9/3xJJI6P/QfxkmrO5hkhKTo8hfMnU9hXyU+jNFw1YYRRyi7ige19lbm0gSPG9er tw+F/amTfTHAv7BXZ9Gjb27VrMFxWEDNqEu9C40CileMSnUEAdFRdt3ulQ3fOmrGq6mg3JoRqfU apy5FY0dhYMHkuvDcAwSh7Adk= X-Received: by 2002:a05:6808:1a06:b0:4a4:866:c39e with SMTP id 5614622812f47-4b2ef369ce7mr6700230b6e.11.1787328693481; Fri, 21 Aug 2026 09:11:33 -0700 (PDT) X-Received: by 2002:a05:6808:1a06:b0:4a4:866:c39e with SMTP id 5614622812f47-4b2ef369ce7mr6700156b6e.11.1787328692979; Fri, 21 Aug 2026 09:11:32 -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 5614622812f47-4b2d6d34c8esm4804321b6e.13.2026.08.21.09.11.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 21 Aug 2026 09:11:32 -0700 (PDT) From: Hardeep Sharma Date: Fri, 21 Aug 2026 21:39:08 +0530 Subject: [PATCH v3 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: <20260821-kuno-soc-support-v3-15-196e2b306368@oss.qualcomm.com> References: <20260821-kuno-soc-support-v3-0-196e2b306368@oss.qualcomm.com> In-Reply-To: <20260821-kuno-soc-support-v3-0-196e2b306368@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=1787328540; l=12258; i=hardeep.sharma@oss.qualcomm.com; s=20260204; h=from:subject:message-id; bh=DuMwK3OKSJEevno7mkkx4FR6n3VlpAVcMMNJhaXiwFQ=; b=LeR66SQa/iN3SmU82/dvl6HBC6YcQog0pHVVtyHHVGGuFR9aMiH+RDhJdVujUPotRv5ZdG8Mv GqZ5zxiVdJsDBqSH+D2dM+lRsFVYxihnO8pFmMqahnxHESwI4kyQZMa X-Developer-Key: i=hardeep.sharma@oss.qualcomm.com; a=ed25519; pk=IvwPDKA2xr6jWaCIBBY2ran/H0124QUzVfun+CtEikM= X-Proofpoint-ORIG-GUID: S1dj0I6OfyZMsqOvFmFp8SHpDlYA8i_R X-Proofpoint-GUID: S1dj0I6OfyZMsqOvFmFp8SHpDlYA8i_R X-Proofpoint-Spam-Info: AW1haW4tMjYwODIxMDEyNyBTYWx0ZWRfXyzPa7OFqHgQV zk+RroJKExmA+EA+6ACWmxYYclCkiPSFYC1rkhRHG8C/txMjgnAERwd7QlNdwprG3j1fKglUQN+ EVfDsy21sW5aEFYEuUeAhj6C5B/LmhY= X-Authority-Analysis: v=2.4 cv=RN2D2Yi+ c=1 sm=1 tr=0 ts=6a8878b6 cx=c_pps a=yymyAM/LQ7lj/HqAiIiKTw==: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=VwQbUJbxAAAA:8 a=lKFnvmfiA1OmcLezn0cA:9 a=QEXdDO2ut3YA:10 a=efpaJB4zofY2dbm2aIRb:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODIxMDEyNyBTYWx0ZWRfXxLivG+SpzVU6 mw5OE3druwq7pFRSxBriP4YYNgQwarBeVnQqT5STAaciARIEpOEebMvchv6dNIvqRPIi85dIX9/ 8+/sTP1cPSZspdECfEwrvSTihVxsSV0zDDx61l0JrKoU3U5m60ecn4CYcCN8NFjCx3NojVtowpG qdayQ4P19gV3rIzNy7HlGYHixaW1e97zxKB0e6e4TWytp1pvRaIfUHmeYIsDDTHy7DwUBpOlh+3 NDtWjYb9HXQGFacpyvgQYgYNUDu6FQ0PD3ayhoRkIpX42pSvYOozpj1zYVENliGXHvh+jc/U7TK Y/I81KVRWY/+cdBWkXpdErb4XqE207P3qjWQ1YvI1EtMfJCIpbfFXaVKylIQPF0HVm31zXLatJY GRLlVA4ORyOQPAW0h3njdfkX12f9RQK30zzmRRZ2p4ihwmUcbfcCrXFhQYvpYxm/e97qJuDIpQB CuFjqXnTwBpwjUY+Bbw== 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-21_05,2026-08-21_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 suspectscore=0 malwarescore=0 adultscore=0 clxscore=1015 impostorscore=0 lowpriorityscore=0 phishscore=0 spamscore=0 priorityscore=1501 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608210127 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 Reviewed-by: Linus Walleij Signed-off-by: Hardeep Sharma Reviewed-by: Abel Vesa --- 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 | 422 +++++++++++++++++++++++++++= ++++ 3 files changed, 448 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..d430e65e08bf --- /dev/null +++ b/arch/arm/boot/dts/qcom/qcom-kuno.dtsi @@ -0,0 +1,422 @@ +// 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>; + #power-domain-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>; + clocks =3D <&gcc GCC_SYS_NOC_USB_SF_AXI_CLK>, + <&rpmhcc RPMH_IPA_CLK>; + #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