From nobody Mon Sep 28 19:23:39 2026 Received: from mail-pj1-f50.google.com (mail-pj1-f50.google.com [209.85.216.50]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id BE30541A571 for ; Tue, 18 Aug 2026 08:08:32 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.50 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787040514; cv=none; b=FDyW78dRuci0YtEIOXcFaF6MY3H4dIcR9WU9jtPb5PMcE5jleUtHEABqt+Gh754QAlTEgcq8idPSV95TzMnh1SOX5ge677DUv5k1t3u/QKTTSyKRthFKDWADDGnjTg1Awm6ETmZgKVjJ9eKui1iNe0I9inFc/BHUa894RCMKt0Q= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787040514; c=relaxed/simple; bh=5rxYfB6fEA8QV4OQaA+5imSOiEABtOgJH0KumSHC5aw=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=ip5dZACeNqXQ/XuAHUcKWi+QOS8Ec4w/sObPNDV6BH3OXnlWY2wXawETylXP/SBn7cPR4WoPr2oC3lqjD224LkrvJ4/0pSM1UrgbWLonJUGfmFCin3W7GczsTwkqn8yKnNfORWkpFXYzTDPcAllTfx4JAoYkcRx9C+l7ncODeuA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=ffgphiyd; arc=none smtp.client-ip=209.85.216.50 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="ffgphiyd" Received: by mail-pj1-f50.google.com with SMTP id 98e67ed59e1d1-38dd55ad76cso730663a91.1 for ; Tue, 18 Aug 2026 01:08:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1787040512; x=1787645312; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=qPC9kIZPJX9w+966AchnoLlTw6QUfW1S03XH4obRJBg=; b=ffgphiydLPqrMkvk8Ocx6DiIu+lI1/7goj88H6UgB2YOdr40c99aKs+YYM4Jz96h9S jq2/DQtbrhaFcyOAQxNLORVNArEAtRuoAF7lMpsfFqm3785kaoMyBrY8W3JxVTynw35F HVMxARa5jXZgkXFu1iZ48mBLAMquJNr5mcBcXkAus8CxW4oj5XfEG0Bsz7ecCJmtJzBI h0CMJ0IdVO/UfeVozGIbQMQQCcRr8BYwb/tUp9BsDjO4iEJca4z4GANPLq57AfgXTnny ZSia6VPVULPEQpySkyAXGCeJ3wgnd0PmChD1TwLPTmO35xt0g7TZyIKMNw7JKC20Prsv vqhg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787040512; x=1787645312; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=qPC9kIZPJX9w+966AchnoLlTw6QUfW1S03XH4obRJBg=; b=pNctZgv8D6qP+WWER5Ypjzlhmb1gIX3UnuEBYLlpVKSSdWhM9H70G3FWAYmFt+VZ0z Zw/lln2IBw97PdMtVOF7X/5Qm8ynoPDSEnci3RBgCRFW2S8K4/6T3Dcxncn7gZUERXnR D5y8BcvAd82ddVn+L2bGsGFzysZ299lySuvL5bVg1KOD3QuX5iBA1b4upRtPJIASODnP M16uGkiUQz3EjLkYCYh65/sdPKihNsj3YkCQAKCAlB40fWv42Bsk4wFPvY2ZM8j12sog xCZzR82BcQvS8OUcEbSgAyY7EGWA1F9gNP9ePIkeuf9lqO79/mtte/TZSwnDcBqQYJvR rBiw== X-Forwarded-Encrypted: i=1; AHgh+RqG+HwRMvczki/vuxO5j4yK5wN+S/E5EZyO7lg+9y9/lNeQl8zloWkHpXTMNI4Py5T49kmTdpeRSptrOoY=@vger.kernel.org X-Gm-Message-State: AOJu0Yz92qAswYfTTu1vZNBjSb7vLeKRaSFVdP2MkWaLm7FAv7At0Tna P+nrHONCXRwg5nu42JUGiK+9xOspGRq+JueTlLPLtoUVbtkcUUG1G850 X-Gm-Gg: AR+sD10o/yX+FQ9ooOIDyVoJlnC4d/aDHUMIvsRFHp9sdZanevMq2alMHNJREJmdAzH tRR2qSEtUXeeH6CNuo+Yg1hwYlUPptLSqV5/XftWycnEcMti4A3/vE9j1rBMr5ApDM7MRKd2DEX Poupd2TVCMgKjZsMnQ6LHRf2itjDikgarUfhFo8sVdyD5vVjDkW5zA6pgg1LdWRs8tliXPMb5+V MwqBjoDaFFr5lnXtWMoOyMZfhJVF+Y5EVXrY9rs7LLS+IPgWLiXh1CnbCfEPBi61XYyQ0Y9zLfu n0jr0orpXTaO4X+CqRNpCBO4yBCiGHAX5Rt41Z73AghKSEbejlFZrIiC1QMvHvDVe2ZV4/Km4pG T4SgaYr++7Jr6nbbNAzNdrBx/5un9xMDYGL2TAABaGEjuUVAVfCXOGfoqXB/6i06cNwamGprymL vN4GyMZodvASQ9TcLymcZ526R+nhPvd6sOV4rTdVDh8/ovp8Jdnjv51GjufqtPn5yZSH2iex+Y6 ToMgVMEfHw= X-Received: by 2002:a17:90b:2e42:b0:380:86d8:8162 with SMTP id 98e67ed59e1d1-3955f1b64b4mr5407158a91.18.1787040512026; Tue, 18 Aug 2026 01:08:32 -0700 (PDT) Received: from localhost.localdomain ([152.58.217.90]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-32678dd08d6sm22606290eec.4.2026.08.18.01.08.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 18 Aug 2026 01:08:31 -0700 (PDT) From: Sreeshankar K To: robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org, andersson@kernel.org, mturquette@baylibre.com, sboyd@kernel.org, konradybcio@kernel.org, tglx@kernel.org, ulfh@kernel.org Cc: bmasney@redhat.com, lpieralisi@kernel.org, quic_tdas@quicinc.com, danila@mainlining.org, davidwronek@gmail.com, robimarko@gmail.com, linux@gurudas.dev, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-clk@vger.kernel.org, linux-pm@vger.vger.kernel.org, Sreeshankar K Subject: [PATCH 01/12] dt-bindings: arm: qcom,ids: Add SoC ID for SM7250 Date: Tue, 18 Aug 2026 08:07:43 +0000 Message-ID: <20260818080754.4362-2-sreeshankar0910@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260818080754.4362-1-sreeshankar0910@gmail.com> References: <20260818080754.4362-1-sreeshankar0910@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Add the ID for the Qualcomm SM7250 SoC. Signed-off-by: Sreeshankar K Reviewed-by and Acked-by tags are properly included. Reviewed-by: Dmitry Baryshkov --- include/dt-bindings/arm/qcom,ids.h | 1 + 1 file changed, 1 insertion(+) diff --git a/include/dt-bindings/arm/qcom,ids.h b/include/dt-bindings/arm/q= com,ids.h index 1af73c0ad..3c1ba5168 100644 --- a/include/dt-bindings/arm/qcom,ids.h +++ b/include/dt-bindings/arm/qcom,ids.h @@ -208,6 +208,7 @@ #define QCOM_ID_IPQ8172 397 #define QCOM_ID_IPQ8173 398 #define QCOM_ID_IPQ8174 399 +#define QCOM_ID_SM7250 400 #define QCOM_ID_IPQ6018 402 #define QCOM_ID_IPQ6028 403 #define QCOM_ID_SDM429W 416 --=20 2.43.0 From nobody Mon Sep 28 19:23:39 2026 Received: from mail-pl1-f170.google.com (mail-pl1-f170.google.com [209.85.214.170]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6332D41D116 for ; Tue, 18 Aug 2026 08:08:41 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.170 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787040522; cv=none; b=n6qsgLoK2hzo6wkzHPH/cOCHanpl1cz2ASlMkIwhellzyL+W53OxZBOj03V3/nNg+Mf4YmCTuSMz2x7UE0qhJyH0tzwsGEB7x/r9PJZfvP2Etad1YVcshOuqWNfKZyBNAg3huE3X/ZdDGeVsemrrXr42IhVb1bCUBiiuogvEi7M= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787040522; c=relaxed/simple; bh=St8ucU3ojSXInIoaRiplnocZp7Q2Y7UGXGTdomltuLA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=MpgRmafGmhSgGic3YnHVcCpVDkiQZTdFc9ZnUAiYU+I7rOmHlV9DJ6KytRkYEdBHKkpEkkId1XpPIm5qFK+9ipqE/bUbRUNFZCauGsXGWMFDiPJuJ2HXsD2SPoEZvl7e53BdyTrEZV18q27iy7qT8IbpPK9OxvlXZlNPn/oEaSI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=bI6XYGs/; arc=none smtp.client-ip=209.85.214.170 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="bI6XYGs/" Received: by mail-pl1-f170.google.com with SMTP id d9443c01a7336-2d01663d816so38493985ad.1 for ; Tue, 18 Aug 2026 01:08:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1787040520; x=1787645320; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=S/HU2YPUNtFosepQ51+dsKsorbBYkh3zE8nDrxs9nac=; b=bI6XYGs/BsTbQPfQw1cFnhLWv7COTDPyZ5g/Pw68p6BAToDUUV/gE6z3R2zuIkwSmX PzhEaxzm1omhRunR2Z4KS8nwLmlkqMXOmq5EjAVUeqGRlwSqvLuLsBy8igmNnHLPrAK6 CqIeJj3iB7/427Z+viTXFzDUlFRGNI2Y0eKbpOrNcxx5OK3f1X3ZKhermACkBXkunqs8 W2Ecnr1u4L1BBOb8VSLHZRQ6y2Hfe5uMrrhwCr0uzPFYX6+Tz0XfhgYskuD/rp/IPZXk TRf5Re2k0RsSxaFZhDp55aWvQVDEw1ndq1zVEgaYxGuIEuL2GsVxyylnCKTDdhie6IjN sANw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787040520; x=1787645320; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=S/HU2YPUNtFosepQ51+dsKsorbBYkh3zE8nDrxs9nac=; b=JoRNPCS4zcDg7n55iktd2XpAkYVZ7S8CWtuUqEeMx1dWPu8lLlOD0GDZWTs0O1+0Wb vroU4tQRXWM7HRtn6o5MbMQI/fRsx3QOv04t/lbO++yVzPMlz/hz8+DS5E1LHauppJ/l WO+qA/S6GWhshYTG5/g6ISCMy3xyTUAKvWd2LPWQqzXVzi6lfHG2T0uMVYtE0PyoM7PI 7KmvWwWdCnDo5PZiMJjiDPPIBFySX0ZJhK5mGeoZIIEHMv47OJ1V5sVILSfJIZmZDo4C sTyfPkSDVn1w115VFxx1VZd1Mn+g1INcyI0DFrGsHHmKySnwY95x4y/6PP3s2HHA+CM5 gTMg== X-Forwarded-Encrypted: i=1; AHgh+RqqnfqZOntwCRuE87oyqTaDzFZbxOdFFYolc1Qem0JBUjC/lQW1g7nuHvP3iuuCv/kLxmwluJU6rCEI0kE=@vger.kernel.org X-Gm-Message-State: AOJu0YzqtW+6Mqtw2GsUX8QXRbzmAlgqQFGzT+tSG+ANJNEA2M11OwFl rlWN1Z6kZnf/UixUJZLPJbPQVggGvl1ml3KCp0n+obA55iAzQjfetELA X-Gm-Gg: AR+sD13RI6JjjDoPrNdLuLe9ft4kxbFvWXbZXLxSDSRUBUmksmRSa0IzOTR8zyymRXG tGMak0GK///i7fLrvsYbqvyx+tZRySvvIjbV3+hSI8adWkALTji9pz3NPJ1hutHdhsRTxxMJBFm xNcwrj7+dUcFPUP0Bt282H7ZiRNkv7gjcUtsTLfcJL/Fu3wX5ZMIsMObTrP/VGLmfStEtUT8Tyg jdnsUBWtURu+HQEak21YZMGr8eLT8hRgtxOo4DBenahXmk1gJB8ybRFGaHnf04q1Dn/++S+RHkY M6sqktYnMm/vyHK5BjvKluS5dbC1h2CO9wBCeKrPwfvaCVIEFmZuMNrERaIqrDy0lP2mQvAXOM0 QQVjKF6Z/VmiSD/kzSgeBRK5AhbDqBPPI7jPMOIt9j1UsWKjBMVJpdoPQV9tzLq198gMZCxGN3h N+1TAHks9d2aFlGOQX+/kyyhBG0Fgw+KI4Y3YWpsQiYcATPEyIYrJx80twniChxnIuoxyGwrmZm T8ET18BRKY= X-Received: by 2002:a17:902:d592:b0:2c2:62ee:5a0d with SMTP id d9443c01a7336-2d3b0d5cec9mr386376235ad.14.1787040520521; Tue, 18 Aug 2026 01:08:40 -0700 (PDT) Received: from localhost.localdomain ([152.58.217.90]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-32678dd08d6sm22606290eec.4.2026.08.18.01.08.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 18 Aug 2026 01:08:39 -0700 (PDT) From: Sreeshankar K To: robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org, andersson@kernel.org, mturquette@baylibre.com, sboyd@kernel.org, konradybcio@kernel.org, tglx@kernel.org, ulfh@kernel.org Cc: bmasney@redhat.com, lpieralisi@kernel.org, quic_tdas@quicinc.com, danila@mainlining.org, davidwronek@gmail.com, robimarko@gmail.com, linux@gurudas.dev, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-clk@vger.kernel.org, linux-pm@vger.vger.kernel.org, Sreeshankar K Subject: [PATCH 02/12] soc: qcom: socinfo: Add SM7250 SoC ID Date: Tue, 18 Aug 2026 08:07:44 +0000 Message-ID: <20260818080754.4362-3-sreeshankar0910@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260818080754.4362-1-sreeshankar0910@gmail.com> References: <20260818080754.4362-1-sreeshankar0910@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Add SoC ID for Qualcomm SM7250 SoC. Signed-off-by: Sreeshankar K Reviewed-by: Dmitry Baryshkov --- drivers/soc/qcom/socinfo.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/soc/qcom/socinfo.c b/drivers/soc/qcom/socinfo.c index af418adad..54b1f8e1b 100644 --- a/drivers/soc/qcom/socinfo.c +++ b/drivers/soc/qcom/socinfo.c @@ -449,6 +449,7 @@ static const struct soc_id soc_id[] =3D { { qcom_board_id(IPQ8172) }, { qcom_board_id(IPQ8173) }, { qcom_board_id(IPQ8174) }, + { qcom_board_id(SM7250) }, { qcom_board_id(IPQ6018) }, { qcom_board_id(IPQ6028) }, { qcom_board_id(SDM429W) }, --=20 2.43.0 From nobody Mon Sep 28 19:23:39 2026 Received: from mail-pg1-f176.google.com (mail-pg1-f176.google.com [209.85.215.176]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3596941A571 for ; Tue, 18 Aug 2026 08:08:50 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.215.176 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787040531; cv=none; b=iP0WJDcNTLt4t+js1EYzNtLdMo1MFBdI8Xcn0QFNmebAQawXz7Bv8HimZgG8FBNWD45axSvELi18X/5TaMItypLDWb+NY3fSpsRnyM7ppzgkR+6q3d2ZLgMQkN9/uozT27AuF3IjM0u5hEwU/a2tIkDHT7X34d+Ric4owgTB+uQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787040531; c=relaxed/simple; bh=V3BsvXGs5IFJJuE877W5SUR35lgE74HHiCMr7/LjSIA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Z5k0lpjfZqVxVubAhGa5+YZjeBXfeMtAeX6b7zxGJSRGIUts8punI/zh6/OYCIe4+vM3/RAD0sZsFQZ6ulllD/Xd1rGrCoSKlA43ChAwi2Ha/LTuNY8Cts61WlYSIKaMG/pEX3mcIzyyDHQu+7NeDEP2GkgU+6ZOKbE66X2Eo+Q= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=UTOo2ZhU; arc=none smtp.client-ip=209.85.215.176 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="UTOo2ZhU" Received: by mail-pg1-f176.google.com with SMTP id 41be03b00d2f7-cbedbaba5fdso2695527a12.0 for ; Tue, 18 Aug 2026 01:08:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1787040529; x=1787645329; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=ZyrcVJ+jzSGokuOaTYZFRCTRNPCgg0ilN5DZ4UomYas=; b=UTOo2ZhUpdtImEIX1wBalNLklcf2kPuSL8rqwYwTsVEmr3Gr4SDb9bepU44j5/rp8q gjHoHCGe+R6s6rpw2uGwKGDZEYc/DnUMsQv2TIbV5Fx/An7ixbjNbXqR+nQtEFc9+YEA GN7zUogA1nVTmD8EdOzEYY5VksCgaZQH8RV/9YDQT3cLa4xSTSZ9aC4kpM6qujQnpx35 5MkcWlEGZeczJt+zqRTZcW//Fn2B5eHUdqVOHqXCmlAn0ya9cVwEK7BZrSiIy0evEOFQ lNY/5nlJFFBX+UUrhksrl02hxz5ChBpBSXA3LQvOinr+CiAa8Yg/CEduTuYKTUlwyS4f cBiQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787040529; x=1787645329; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=ZyrcVJ+jzSGokuOaTYZFRCTRNPCgg0ilN5DZ4UomYas=; b=TR3jqmUZclyabmPrMad1vDW8/BAqenj5VegNe6TXh6SrTPadm4R9L1y/zDJ81K4FG0 eKUKMSvHKrFnSC+5woeB1iH3K6eQjluVlJyrrgLJCrzmgvsc+X+NqPtY7TFx6EES5vzN ChCvJtN0YWL046JYonL7vmbtgE5ccgyO+JbW3X6uZl6a7XRs1i1CzrxctkT//KGDko6y oBcpSkA9WXzw8DmnsL4UvH42I+Z0BDsf9sWxo1+Qu2vmXPVKrFx4C0vnENSoj+FaEsDX j05hV8SzhaU1iIO3ZzG3p6GJigXcchIE8BbCYvWJtDDPykwrhAywXalb7YTZwpL5ZnjC yoGg== X-Forwarded-Encrypted: i=1; AHgh+Rqn0UBKPFeGZb9fZhv3hMYz/KdF2BaEBSW5q6rEYiHcPNonGYYTorqW7nHEi1XqFgIJG9YEMdlLkqn6FX0=@vger.kernel.org X-Gm-Message-State: AOJu0YwzF0ZkJ5BGdm4ynK+7OHwMvOqQ/3mayaXpgBfQifn3FEleutrv 3T0mockom21CpnbYqscYK0lICSZPwP08jfqnmsnrjICjjKwVZ9z9YhrX X-Gm-Gg: AR+sD13KvOT61Zv8P0qIyKLeEjxepQPlzV9vINVZEGdsjvMHDG/hMpjk0iEwy0oBZM0 XfjsUDWye3oL2yWzWkrJdnY8LT7wnULMrTlXmNEi1hK5XWOVzxlzqLpGL9eQDSV720WJzaBtV5j j/W3krVYZYDr/ZEdM0/nXgBqzuhjNfrkVqoQT0CPDJP7yXVXIzt5IZpxxMlGU34NzFNpqY/WUXN c5m6l1O+HO+wZjJr7ooOddRxUWzxZBTQEuDrmCxZeHFwblPu/8afnEwizsdX7R88mKDAA7R1AWl F2UU0qONBD0G5s2/RWpF86XkEZ87FwPJYkrivR9tHVmZLr54K7df/QhA1dMGQsIVL2E5WECnley A2Q6TMI6xG6k5gCrG/3nBQGwBl7B3GzbcaaJconpjjguPQdrz9DVS2B+ioJK8F3G/JKOszbhVkF tly9n6Qqw+fMKukFbDRYilCYMYUEloZMtjRhGm7ajVufyaj9vVtxGhUmyenWCLcd2K2hZhiM1iM fOXOEILKUo= X-Received: by 2002:a05:6a20:9c95:b0:3c3:812a:2198 with SMTP id adf61e73a8af0-3ccda4035b7mr9307087637.4.1787040529457; Tue, 18 Aug 2026 01:08:49 -0700 (PDT) Received: from localhost.localdomain ([152.58.217.90]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-32678dd08d6sm22606290eec.4.2026.08.18.01.08.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 18 Aug 2026 01:08:48 -0700 (PDT) From: Sreeshankar K To: robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org, andersson@kernel.org, mturquette@baylibre.com, sboyd@kernel.org, konradybcio@kernel.org, tglx@kernel.org, ulfh@kernel.org Cc: bmasney@redhat.com, lpieralisi@kernel.org, quic_tdas@quicinc.com, danila@mainlining.org, davidwronek@gmail.com, robimarko@gmail.com, linux@gurudas.dev, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-clk@vger.kernel.org, linux-pm@vger.vger.kernel.org, Sreeshankar K Subject: [PATCH 03/12] dt-bindings: clock: Add GCC clock bindings for SM7250 Date: Tue, 18 Aug 2026 08:07:45 +0000 Message-ID: <20260818080754.4362-4-sreeshankar0910@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260818080754.4362-1-sreeshankar0910@gmail.com> References: <20260818080754.4362-1-sreeshankar0910@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Add device tree bindings for global clock controller on SM7250 SoC. Signed-off-by: Sreeshankar K Reviewed-by: Krzysztof Kozlowski --- Dependencies: This series is based on and depends on the following patch: > [PATCH] dt-bindings: clock: qcom,sm6375-gcc: Merge SM7150 into SM6375 Link: https://lore.kernel.org/linux-arm-msm/20260817082457.64797-2-krzyszto= f.kozlowski@oss.qualcomm.com .../bindings/clock/qcom,sm6375-gcc.yaml | 4 +- include/dt-bindings/clock/qcom,sm7250-gcc.h | 163 ++++++++++++++++++ 2 files changed, 166 insertions(+), 1 deletion(-) create mode 100644 include/dt-bindings/clock/qcom,sm7250-gcc.h diff --git a/Documentation/devicetree/bindings/clock/qcom,sm6375-gcc.yaml b= /Documentation/devicetree/bindings/clock/qcom,sm6375-gcc.yaml index b4ad2ad14..39a2d2839 100644 --- a/Documentation/devicetree/bindings/clock/qcom,sm6375-gcc.yaml +++ b/Documentation/devicetree/bindings/clock/qcom,sm6375-gcc.yaml @@ -4,13 +4,14 @@ $id: http://devicetree.org/schemas/clock/qcom,sm6375-gcc.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# =20 -title: Qualcomm Global Clock & Reset Controller on SM6375 and SM7150 +title: Qualcomm Global Clock & Reset Controller on SM6375, SM7150 and SM72= 50 =20 maintainers: - Konrad Dybcio - Bjorn Andersson - Danila Tikhonov - David Wronek + - Sreeshankar K =20 description: | Qualcomm global clock control module provides the clocks, resets and pow= er @@ -26,6 +27,7 @@ properties: enum: - qcom,sm6375-gcc - qcom,sm7150-gcc + - qcom,sm7250-gcc =20 clocks: items: diff --git a/include/dt-bindings/clock/qcom,sm7250-gcc.h b/include/dt-bindi= ngs/clock/qcom,sm7250-gcc.h new file mode 100644 index 000000000..f50a13173 --- /dev/null +++ b/include/dt-bindings/clock/qcom,sm7250-gcc.h @@ -0,0 +1,163 @@ +/* SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) */ +/* + * Copyright (c) 2020, The Linux Foundation. All rights reserved. + * Copyright (c) 2026, Sreeshankar K + */ + +#ifndef _DT_BINDINGS_CLK_QCOM_GCC_SM7250_H +#define _DT_BINDINGS_CLK_QCOM_GCC_SM7250_H + +/* GCC clocks */ +#define GPLL0 0 +#define GPLL0_OUT_EVEN 1 +#define GPLL6 2 +#define GPLL9 3 +#define GCC_AGGRE_UFS_PHY_AXI_CLK 4 +#define GCC_AGGRE_USB3_PRIM_AXI_CLK 5 +#define GCC_BOOT_ROM_AHB_CLK 6 +#define GCC_CAMERA_AHB_CLK 7 +#define GCC_CAMERA_HF_AXI_CLK 8 +#define GCC_CAMERA_SF_AXI_CLK 9 +#define GCC_CAMERA_XO_CLK 10 +#define GCC_CFG_NOC_USB3_PRIM_AXI_CLK 11 +#define GCC_CPUSS_AHB_CLK 12 +#define GCC_CPUSS_AHB_CLK_SRC 13 +#define GCC_CPUSS_GNOC_CLK 14 +#define GCC_CPUSS_RBCPR_CLK 15 +#define GCC_DDRSS_GPU_AXI_CLK 16 +#define GCC_DISP_GPLL0_CLK_SRC 17 +#define GCC_DISP_AHB_CLK 18 +#define GCC_DISP_HF_AXI_CLK 19 +#define GCC_DISP_SF_AXI_CLK 20 +#define GCC_DISP_XO_CLK 21 +#define GCC_GP1_CLK 22 +#define GCC_GP1_CLK_SRC 23 +#define GCC_GP2_CLK 24 +#define GCC_GP2_CLK_SRC 25 +#define GCC_GP3_CLK 26 +#define GCC_GP3_CLK_SRC 27 +#define GCC_GPU_CFG_AHB_CLK 28 +#define GCC_GPU_GPLL0_CLK_SRC 29 +#define GCC_GPU_GPLL0_DIV_CLK_SRC 30 +#define GCC_GPU_IREF_CLK 31 +#define GCC_GPU_MEMNOC_GFX_CLK 32 +#define GCC_GPU_SNOC_DVM_GFX_CLK 33 +#define GCC_NPU_AXI_CLK 34 +#define GCC_NPU_BWMON2_AXI_CLK 35 +#define GCC_NPU_BWMON_AXI_CLK 36 +#define GCC_NPU_BWMON_CFG_AHB_CLK 37 +#define GCC_NPU_CFG_AHB_CLK 38 +#define GCC_NPU_DMA_CLK 39 +#define GCC_NPU_GPLL0_CLK_SRC 40 +#define GCC_NPU_GPLL0_DIV_CLK_SRC 41 +#define GCC_PDM2_CLK 42 +#define GCC_PDM2_CLK_SRC 43 +#define GCC_PDM_AHB_CLK 44 +#define GCC_PDM_XO4_CLK 45 +#define GCC_PRNG_AHB_CLK 46 +#define GCC_QMIP_CAMERA_NRT_AHB_CLK 47 +#define GCC_QMIP_CAMERA_RT_AHB_CLK 48 +#define GCC_QMIP_DISP_AHB_CLK 49 +#define GCC_QMIP_RT_DISP_AHB_CLK 50 +#define GCC_QMIP_VIDEO_CVP_AHB_CLK 51 +#define GCC_QMIP_VIDEO_VCODEC_AHB_CLK 52 +#define GCC_QUPV3_WRAP0_CORE_2X_CLK 53 +#define GCC_QUPV3_WRAP0_CORE_CLK 54 +#define GCC_QUPV3_WRAP0_S0_CLK 55 +#define GCC_QUPV3_WRAP0_S0_CLK_SRC 56 +#define GCC_QUPV3_WRAP0_S1_CLK 57 +#define GCC_QUPV3_WRAP0_S1_CLK_SRC 58 +#define GCC_QUPV3_WRAP0_S2_CLK 59 +#define GCC_QUPV3_WRAP0_S2_CLK_SRC 60 +#define GCC_QUPV3_WRAP0_S3_CLK 61 +#define GCC_QUPV3_WRAP0_S3_CLK_SRC 62 +#define GCC_QUPV3_WRAP0_S4_CLK 63 +#define GCC_QUPV3_WRAP0_S4_CLK_SRC 64 +#define GCC_QUPV3_WRAP0_S5_CLK 65 +#define GCC_QUPV3_WRAP0_S5_CLK_SRC 66 +#define GCC_QUPV3_WRAP1_CORE_2X_CLK 67 +#define GCC_QUPV3_WRAP1_CORE_CLK 68 +#define GCC_QUPV3_WRAP1_S0_CLK 69 +#define GCC_QUPV3_WRAP1_S0_CLK_SRC 70 +#define GCC_QUPV3_WRAP1_S1_CLK 71 +#define GCC_QUPV3_WRAP1_S1_CLK_SRC 72 +#define GCC_QUPV3_WRAP1_S2_CLK 73 +#define GCC_QUPV3_WRAP1_S2_CLK_SRC 74 +#define GCC_QUPV3_WRAP1_S3_CLK 75 +#define GCC_QUPV3_WRAP1_S3_CLK_SRC 76 +#define GCC_QUPV3_WRAP1_S4_CLK 77 +#define GCC_QUPV3_WRAP1_S4_CLK_SRC 78 +#define GCC_QUPV3_WRAP1_S5_CLK 79 +#define GCC_QUPV3_WRAP1_S5_CLK_SRC 80 +#define GCC_QUPV3_WRAP_0_M_AHB_CLK 81 +#define GCC_QUPV3_WRAP_0_S_AHB_CLK 82 +#define GCC_QUPV3_WRAP_1_M_AHB_CLK 83 +#define GCC_QUPV3_WRAP_1_S_AHB_CLK 84 +#define GCC_SDCC1_AHB_CLK 85 +#define GCC_SDCC1_APPS_CLK 86 +#define GCC_SDCC1_APPS_CLK_SRC 87 +#define GCC_SDCC1_ICE_CORE_CLK 88 +#define GCC_SDCC1_ICE_CORE_CLK_SRC 89 +#define GCC_SDCC2_AHB_CLK 90 +#define GCC_SDCC2_APPS_CLK 91 +#define GCC_SDCC2_APPS_CLK_SRC 92 +#define GCC_SDCC4_AHB_CLK 93 +#define GCC_SDCC4_APPS_CLK 94 +#define GCC_SDCC4_APPS_CLK_SRC 95 +#define GCC_SYS_NOC_CPUSS_AHB_CLK 96 +#define GCC_UFS_1X_CLKREF_CLK 97 +#define GCC_UFS_PHY_AHB_CLK 98 +#define GCC_UFS_PHY_AXI_CLK 99 +#define GCC_UFS_PHY_AXI_CLK_SRC 100 +#define GCC_UFS_PHY_ICE_CORE_CLK 101 +#define GCC_UFS_PHY_ICE_CORE_CLK_SRC 102 +#define GCC_UFS_PHY_PHY_AUX_CLK 103 +#define GCC_UFS_PHY_PHY_AUX_CLK_SRC 104 +#define GCC_UFS_PHY_RX_SYMBOL_0_CLK 105 +#define GCC_UFS_PHY_RX_SYMBOL_1_CLK 106 +#define GCC_UFS_PHY_TX_SYMBOL_0_CLK 107 +#define GCC_UFS_PHY_UNIPRO_CORE_CLK 108 +#define GCC_UFS_PHY_UNIPRO_CORE_CLK_SRC 109 +#define GCC_USB30_PRIM_MASTER_CLK 110 +#define GCC_USB30_PRIM_MASTER_CLK_SRC 111 +#define GCC_USB30_PRIM_MOCK_UTMI_CLK 112 +#define GCC_USB30_PRIM_MOCK_UTMI_CLK_SRC 113 +#define GCC_USB30_PRIM_SLEEP_CLK 114 +#define GCC_USB3_PRIM_CLKREF_CLK 115 +#define GCC_USB3_PRIM_PHY_AUX_CLK 116 +#define GCC_USB3_PRIM_PHY_AUX_CLK_SRC 117 +#define GCC_USB3_PRIM_PHY_COM_AUX_CLK 118 +#define GCC_USB3_PRIM_PHY_PIPE_CLK 119 +#define GCC_VIDEO_AHB_CLK 120 +#define GCC_VIDEO_AXI_CLK 121 +#define GCC_VIDEO_XO_CLK 122 + +/* GCC resets */ +#define GCC_DPM_BCR 0 +#define GCC_GPU_BCR 1 +#define GCC_MMSS_BCR 2 +#define GCC_NPU_BWMON_BCR 3 +#define GCC_NPU_BCR 4 +#define GCC_PDM_BCR 5 +#define GCC_PRNG_BCR 6 +#define GCC_QUPV3_WRAPPER_0_BCR 7 +#define GCC_QUPV3_WRAPPER_1_BCR 8 +#define GCC_QUSB2PHY_PRIM_BCR 9 +#define GCC_SDCC1_BCR 10 +#define GCC_SDCC2_BCR 11 +#define GCC_SDCC4_BCR 12 +#define GCC_UFS_PHY_BCR 13 +#define GCC_USB30_PRIM_BCR 14 +#define GCC_USB3_DP_PHY_PRIM_BCR 15 +#define GCC_USB3_PHY_PRIM_BCR 16 +#define GCC_USB3PHY_PHY_PRIM_BCR 17 +#define GCC_USB_PHY_CFG_AHB2PHY_BCR 18 + +/* GCC power domains */ +#define UFS_PHY_GDSC 0 +#define USB30_PRIM_GDSC 1 +#define HLOS1_VOTE_MMNOC_MMU_TBU_HF0_GDSC 2 +#define HLOS1_VOTE_MMNOC_MMU_TBU_HF1_GDSC 3 +#define HLOS1_VOTE_MMNOC_MMU_TBU_SF0_GDSC 4 + +#endif --=20 2.43.0 From nobody Mon Sep 28 19:23:39 2026 Received: from mail-pl1-f182.google.com (mail-pl1-f182.google.com [209.85.214.182]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id F0B17411F8D for ; Tue, 18 Aug 2026 08:08:59 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.182 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787040544; cv=none; b=FeJcXcEgaHuFaWKScLufmtIHasRxGDSUKGU/v80VSr/CILSNMTTIR6VujA08ZqcfUTly7pKvdYgW7syROfp8XYYrwvZR7hOpBKUCUJC7NvTpReJfDCk5TIB0trGp2ByIR2s9QiIMuVlzxMxXG9kIPI/PiJirLLVJJ5XsNostjjg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787040544; c=relaxed/simple; bh=/dptuaHKgT1whzOz/vwUqsekg8Lg5s1+KiELrnmosyc=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=ELLN2MjvfizXU3Q8wPMlIYgpuAhPHp9V0Du+aYYGwwVf4Fk4nFVWDjBWjpzJQxSpKxXGdOIxnHfJhgZF4JlkAz3bnVpv/NCkNRaqjBeCtCh0QYkT7ieDVg6dvofG8tPWyxm10tjudFUlKdsrsdwJl4ZkNJBIYkqLwjaP17J6UNM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=or7rl7Q8; arc=none smtp.client-ip=209.85.214.182 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="or7rl7Q8" Received: by mail-pl1-f182.google.com with SMTP id d9443c01a7336-2cf27856f9cso40540645ad.2 for ; Tue, 18 Aug 2026 01:08:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1787040539; x=1787645339; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=S1uSr3dL2b8xuaOZBxbRMamRVISdWp8pmVFJjdsomiE=; b=or7rl7Q8yYyyc0hhqC50soPsgLR73EvgscVPMZmQyn9Fmfed3E61P5+oy77nlUVesf gidUeEaZaBZyAtNuWqiZZx01WYlkMPPDO72+zIm6x7JRWOFxes8SMlBxwF7mxAp2yU2S BjpLvhPMs7CYVYxfd0TJeLABehi7K0u6b23PhyBkyKzUruLX/CpEC1zRw8HDN3AQD3MU zUIvgYnhmQoxmdYQ/Eq9U50hoewpT1fWRO0+zwyGiaVmCV7AfdTg6G3DXf8EM3xwUYNV lSxlSgIJuZ/Sb0IntFC6lP3xoKvnE9picxxKYm7EVvkZF7IdKJQs0Ne1ZWt0lkGdhkX5 W0Sw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787040539; x=1787645339; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=S1uSr3dL2b8xuaOZBxbRMamRVISdWp8pmVFJjdsomiE=; b=CjISextnFsnbK3Z7yIxAaKvHuDcRpMkhsLwzziiEPzT7l1FDUsNBTbsT/YSTYeuqc6 QKJfzWAkH5v5plzmx364m6428lsvTXqQ7Edqaz+x6KciQf/IvGqjym3Cg5DUR4s3s0Vs Lri72S26TWZgGen7CiQ8kjNmtrgfTh9vIaYKfb56n9DCP37PN1GU9JZ0sZ6KPHQIG5DJ BjzZ+ZT4LCUN98x/4rAGZtTUD7h+fltR1HbZQ8pZsKm0aB1QkiI4HcMBB9wc1zunmrG6 bJslx8/8nLMC3m1CsoM6prLkovBGpnnR99Xm+EnCdTys3Lm8G9Y2i2pPtw2VJG84s20l ieug== X-Forwarded-Encrypted: i=1; AHgh+RpXhA62z1ncmeOwiTGUjpeao7aBRJ3kG7q1oF7N4wxXqVtEoJvsQpXjVxi6xiyBY/aLxOx24vriKCyYC7c=@vger.kernel.org X-Gm-Message-State: AOJu0YxWvFcKb7WO5T9ZitRHHogdwjY4GjpkAjswoShc4Jsqu/wOvOha aJxtb/TG5wE0kIUyWvDuPFkgVMEZrAb8meAwV5cRae/GYJfwVzPnxGwn X-Gm-Gg: AR+sD11rku31xwhIF5t3nuoVm8tbT9BlHNDEjXxDAb50QSQt6cukb6ke0SizKBuZykY T39ugkdlMGqpfhUKMdxWNlgoK31LyHLZcfyqPKTNfMJKFajvXX5SaArkCEMJgSb9krhxSytc17O kTGK24uoyYhIaDrs2NW3K6CSQp5dg++fgHsXCYOlrJUX+InZLrunFuF0LoWOCvdl2GuxePmy3Cv 9cGtR5j8TnHmMgWCTbbs9uR3tuD1j+eXU4Z+2XP81kua4x96oHw8iQht8ymkkyD1q46UESrHkBZ kFhouJF1Hm199ieHCItzq+vs2OxmYZ5bSYIiCk8PzNe0lRJcg/OEza1r3jkbbxs6IU6OuosLSM3 0Tqn60TJQPdYk9xjcEUMjrDk8XahvzYIYq2xTCayVwOnVR4hBPKFgLlPsFB5aXTvX9z+klbFuCK B43Ug4lnvzpvG5vtZV1g//EFVR83OZeBT3boW2njz8lDm358eJ6/eoehh9/82g16Ah0XJd5V8Mt 4XpqFzf79A= X-Received: by 2002:a17:90b:4986:b0:38d:f94d:4c6e with SMTP id 98e67ed59e1d1-3955aa36b9bmr8223532a91.17.1787040539032; Tue, 18 Aug 2026 01:08:59 -0700 (PDT) Received: from localhost.localdomain ([152.58.217.90]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-32678dd08d6sm22606290eec.4.2026.08.18.01.08.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 18 Aug 2026 01:08:58 -0700 (PDT) From: Sreeshankar K To: robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org, andersson@kernel.org, mturquette@baylibre.com, sboyd@kernel.org, konradybcio@kernel.org, tglx@kernel.org, ulfh@kernel.org Cc: bmasney@redhat.com, lpieralisi@kernel.org, quic_tdas@quicinc.com, danila@mainlining.org, davidwronek@gmail.com, robimarko@gmail.com, linux@gurudas.dev, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-clk@vger.kernel.org, linux-pm@vger.vger.kernel.org, Sreeshankar K Subject: [PATCH 04/12] clk: qcom: Add Global Clock Controller (GCC) driver for SM7250 Date: Tue, 18 Aug 2026 08:07:46 +0000 Message-ID: <20260818080754.4362-5-sreeshankar0910@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260818080754.4362-1-sreeshankar0910@gmail.com> References: <20260818080754.4362-1-sreeshankar0910@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Add support for the global clock controller found on SM7250 based devices. This should allow most non-multimedia device drivers to probe and control their clocks. Signed-off-by: Sreeshankar K --- drivers/clk/qcom/Kconfig | 9 + drivers/clk/qcom/Makefile | 1 + drivers/clk/qcom/gcc-sm7250.c | 2347 +++++++++++++++++++++++++++++++++ 3 files changed, 2357 insertions(+) create mode 100644 drivers/clk/qcom/gcc-sm7250.c diff --git a/drivers/clk/qcom/Kconfig b/drivers/clk/qcom/Kconfig index 7d84c2f1d..532d8f002 100644 --- a/drivers/clk/qcom/Kconfig +++ b/drivers/clk/qcom/Kconfig @@ -1416,6 +1416,15 @@ config SM_GCC_7150 Say Y if you want to use peripheral devices such as UART, SPI, I2C, USB, SD/UFS, PCIe etc. =20 +config SM_GCC_7250 + tristate "SM7250 Global Clock Controller" + depends on ARM64 || COMPILE_TEST + select QCOM_GDSC + help + Support for the global clock controller on SM7250 devices. + Say Y if you want to use peripheral devices such as UART, + SPI, I2C, USB, SD/UFS etc. + config SM_GCC_MILOS tristate "Milos Global Clock Controller" depends on ARM64 || COMPILE_TEST diff --git a/drivers/clk/qcom/Makefile b/drivers/clk/qcom/Makefile index 58f9a5eb6..18414089c 100644 --- a/drivers/clk/qcom/Makefile +++ b/drivers/clk/qcom/Makefile @@ -174,6 +174,7 @@ obj-$(CONFIG_SM_GCC_6125) +=3D gcc-sm6125.o obj-$(CONFIG_SM_GCC_6350) +=3D gcc-sm6350.o obj-$(CONFIG_SM_GCC_6375) +=3D gcc-sm6375.o obj-$(CONFIG_SM_GCC_7150) +=3D gcc-sm7150.o +obj-$(CONFIG_SM_GCC_7250) +=3D gcc-sm7250.o obj-$(CONFIG_SM_GCC_8150) +=3D gcc-sm8150.o obj-$(CONFIG_SM_GCC_8250) +=3D gcc-sm8250.o obj-$(CONFIG_SM_GCC_8350) +=3D gcc-sm8350.o diff --git a/drivers/clk/qcom/gcc-sm7250.c b/drivers/clk/qcom/gcc-sm7250.c new file mode 100644 index 000000000..d77e02509 --- /dev/null +++ b/drivers/clk/qcom/gcc-sm7250.c @@ -0,0 +1,2347 @@ +// SPDX-License-Identifier: GPL-2.0-only +/* + * Copyright (c) 2020, The Linux Foundation. All rights reserved. + * Copyright (c) 2026, Sreeshankar K + */ + +#include +#include +#include +#include +#include +#include +#include + +#include + +#include "clk-alpha-pll.h" +#include "clk-branch.h" +#include "clk-rcg.h" +#include "clk-regmap.h" +#include "common.h" +#include "gdsc.h" +#include "reset.h" + +enum { + P_BI_TCXO, + P_GPLL0_OUT_EVEN, + P_GPLL0_OUT_MAIN, + P_GPLL6_OUT_MAIN, + P_GPLL9_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], + .clkr =3D { + .enable_reg =3D 0x52010, + .enable_mask =3D BIT(0), + .hw.init =3D &(struct clk_init_data){ + .name =3D "gpll0", + .parent_data =3D &(const struct clk_parent_data){ + .fw_name =3D "bi_tcxo", + }, + .num_parents =3D 1, + .ops =3D &clk_alpha_pll_fixed_lucid_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 8, + .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], + .clkr.hw.init =3D &(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_ops, + }, +}; + +static struct clk_alpha_pll gpll6 =3D { + .offset =3D 0x13000, + .regs =3D clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_LUCID], + .clkr =3D { + .enable_reg =3D 0x52010, + .enable_mask =3D BIT(6), + .hw.init =3D &(struct clk_init_data){ + .name =3D "gpll6", + .parent_data =3D &(const struct clk_parent_data){ + .fw_name =3D "bi_tcxo", + }, + .num_parents =3D 1, + .ops =3D &clk_alpha_pll_fixed_lucid_ops, + }, + }, +}; + +static struct clk_alpha_pll gpll9 =3D { + .offset =3D 0x1c000, + .regs =3D clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_LUCID], + .clkr =3D { + .enable_reg =3D 0x52010, + .enable_mask =3D BIT(9), + .hw.init =3D &(struct clk_init_data){ + .name =3D "gpll9", + .parent_data =3D &(const struct clk_parent_data){ + .fw_name =3D "bi_tcxo", + }, + .num_parents =3D 1, + .ops =3D &clk_alpha_pll_fixed_lucid_ops, + }, + }, +}; + +static const struct parent_map gcc_parent_map_0[] =3D { + { P_BI_TCXO, 0 }, + { P_GPLL0_OUT_MAIN, 1 }, + { P_GPLL0_OUT_EVEN, 6 }, +}; + +static const struct clk_parent_data gcc_parent_data_0[] =3D { + { .fw_name =3D "bi_tcxo" }, + { .hw =3D &gpll0.clkr.hw }, + { .hw =3D &gpll0_out_even.clkr.hw }, +}; + +static const struct clk_parent_data gcc_parent_data_0_ao[] =3D { + { .fw_name =3D "bi_tcxo_ao" }, + { .hw =3D &gpll0.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_SLEEP_CLK, 5 }, + { P_GPLL0_OUT_EVEN, 6 }, +}; + +static const struct clk_parent_data gcc_parent_data_1[] =3D { + { .fw_name =3D "bi_tcxo" }, + { .hw =3D &gpll0.clkr.hw }, + { .fw_name =3D "sleep_clk" }, + { .hw =3D &gpll0_out_even.clkr.hw }, +}; + +static const struct parent_map gcc_parent_map_2[] =3D { + { P_BI_TCXO, 0 }, +}; + +static const struct clk_parent_data gcc_parent_data_2[] =3D { + { .fw_name =3D "bi_tcxo" }, +}; + +static const struct parent_map gcc_parent_map_3[] =3D { + { P_BI_TCXO, 0 }, + { P_GPLL0_OUT_MAIN, 1 }, + { P_GPLL6_OUT_MAIN, 2 }, + { P_GPLL0_OUT_EVEN, 6 }, +}; + +static const struct clk_parent_data gcc_parent_data_3[] =3D { + { .fw_name =3D "bi_tcxo" }, + { .hw =3D &gpll0.clkr.hw }, + { .hw =3D &gpll6.clkr.hw }, + { .hw =3D &gpll0_out_even.clkr.hw }, +}; + +static const struct parent_map gcc_parent_map_4[] =3D { + { P_BI_TCXO, 0 }, + { P_GPLL0_OUT_MAIN, 1 }, + { P_GPLL9_OUT_MAIN, 2 }, + { P_GPLL0_OUT_EVEN, 6 }, +}; + +static const struct clk_parent_data gcc_parent_data_4[] =3D { + { .fw_name =3D "bi_tcxo" }, + { .hw =3D &gpll0.clkr.hw }, + { .hw =3D &gpll9.clkr.hw }, + { .hw =3D &gpll0_out_even.clkr.hw }, +}; + +static const struct parent_map gcc_parent_map_5[] =3D { + { P_BI_TCXO, 0 }, + { P_SLEEP_CLK, 5 }, +}; + +static const struct clk_parent_data gcc_parent_data_5[] =3D { + { .fw_name =3D "bi_tcxo" }, + { .fw_name =3D "sleep_clk" }, +}; + +static const struct freq_tbl ftbl_gcc_cpuss_ahb_clk_src[] =3D { + F(19200000, P_BI_TCXO, 1, 0, 0), + { } +}; + +static struct clk_rcg2 gcc_cpuss_ahb_clk_src =3D { + .cmd_rcgr =3D 0x48010, + .mnd_width =3D 0, + .hid_width =3D 5, + .parent_map =3D gcc_parent_map_0, + .freq_tbl =3D ftbl_gcc_cpuss_ahb_clk_src, + .clkr.hw.init =3D &(struct clk_init_data){ + .name =3D "gcc_cpuss_ahb_clk_src", + .parent_data =3D gcc_parent_data_0_ao, + .num_parents =3D ARRAY_SIZE(gcc_parent_data_0_ao), + .flags =3D CLK_SET_RATE_PARENT, + .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(25000000, P_GPLL0_OUT_EVEN, 12, 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 0x64004, + .mnd_width =3D 8, + .hid_width =3D 5, + .parent_map =3D gcc_parent_map_1, + .freq_tbl =3D ftbl_gcc_gp1_clk_src, + .clkr.hw.init =3D &(struct clk_init_data){ + .name =3D "gcc_gp1_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_rcg2 gcc_gp2_clk_src =3D { + .cmd_rcgr =3D 0x65004, + .mnd_width =3D 8, + .hid_width =3D 5, + .parent_map =3D gcc_parent_map_1, + .freq_tbl =3D ftbl_gcc_gp1_clk_src, + .clkr.hw.init =3D &(struct clk_init_data){ + .name =3D "gcc_gp2_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_rcg2 gcc_gp3_clk_src =3D { + .cmd_rcgr =3D 0x66004, + .mnd_width =3D 8, + .hid_width =3D 5, + .parent_map =3D gcc_parent_map_1, + .freq_tbl =3D ftbl_gcc_gp1_clk_src, + .clkr.hw.init =3D &(struct clk_init_data){ + .name =3D "gcc_gp3_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_pdm2_clk_src[] =3D { + F(9600000, P_BI_TCXO, 2, 0, 0), + 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 0x33010, + .mnd_width =3D 0, + .hid_width =3D 5, + .parent_map =3D gcc_parent_map_0, + .freq_tbl =3D ftbl_gcc_pdm2_clk_src, + .clkr.hw.init =3D &(struct clk_init_data){ + .name =3D "gcc_pdm2_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_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(50000000, P_GPLL0_OUT_EVEN, 6, 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), + F(102400000, P_GPLL0_OUT_EVEN, 1, 128, 375), + F(112000000, P_GPLL0_OUT_EVEN, 1, 28, 75), + F(117964800, P_GPLL0_OUT_EVEN, 1, 6144, 15625), + F(120000000, P_GPLL0_OUT_EVEN, 2.5, 0, 0), + F(128000000, P_GPLL0_OUT_MAIN, 1, 16, 75), + { } +}; + +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 0x17010, + .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 0x17140, + .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 0x17270, + .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 0x173a0, + .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 0x174d0, + .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 struct clk_init_data gcc_qupv3_wrap0_s5_clk_src_init =3D { + .name =3D "gcc_qupv3_wrap0_s5_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_s5_clk_src =3D { + .cmd_rcgr =3D 0x17600, + .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_s5_clk_src_init, +}; + +static struct clk_init_data gcc_qupv3_wrap1_s0_clk_src_init =3D { + .name =3D "gcc_qupv3_wrap1_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_wrap1_s0_clk_src =3D { + .cmd_rcgr =3D 0x18010, + .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_wrap1_s0_clk_src_init, +}; + +static struct clk_init_data gcc_qupv3_wrap1_s1_clk_src_init =3D { + .name =3D "gcc_qupv3_wrap1_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_wrap1_s1_clk_src =3D { + .cmd_rcgr =3D 0x18140, + .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_wrap1_s1_clk_src_init, +}; + +static struct clk_init_data gcc_qupv3_wrap1_s2_clk_src_init =3D { + .name =3D "gcc_qupv3_wrap1_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_wrap1_s2_clk_src =3D { + .cmd_rcgr =3D 0x18270, + .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_wrap1_s2_clk_src_init, +}; + +static struct clk_init_data gcc_qupv3_wrap1_s3_clk_src_init =3D { + .name =3D "gcc_qupv3_wrap1_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_wrap1_s3_clk_src =3D { + .cmd_rcgr =3D 0x183a0, + .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_wrap1_s3_clk_src_init, +}; + +static struct clk_init_data gcc_qupv3_wrap1_s4_clk_src_init =3D { + .name =3D "gcc_qupv3_wrap1_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_wrap1_s4_clk_src =3D { + .cmd_rcgr =3D 0x184d0, + .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_wrap1_s4_clk_src_init, +}; + +static struct clk_init_data gcc_qupv3_wrap1_s5_clk_src_init =3D { + .name =3D "gcc_qupv3_wrap1_s5_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_wrap1_s5_clk_src =3D { + .cmd_rcgr =3D 0x18600, + .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_wrap1_s5_clk_src_init, +}; + +static const struct freq_tbl ftbl_gcc_sdcc1_apps_clk_src[] =3D { + F(144000, P_BI_TCXO, 16, 3, 25), + F(400000, P_BI_TCXO, 12, 1, 4), + F(20000000, P_GPLL0_OUT_EVEN, 5, 1, 3), + F(25000000, P_GPLL0_OUT_EVEN, 6, 1, 2), + F(50000000, P_GPLL0_OUT_EVEN, 6, 0, 0), + F(100000000, P_GPLL0_OUT_EVEN, 3, 0, 0), + F(192000000, P_GPLL6_OUT_MAIN, 2, 0, 0), + F(384000000, P_GPLL6_OUT_MAIN, 1, 0, 0), + { } +}; + +static struct clk_rcg2 gcc_sdcc1_apps_clk_src =3D { + .cmd_rcgr =3D 0x26024, + .mnd_width =3D 8, + .hid_width =3D 5, + .parent_map =3D gcc_parent_map_3, + .freq_tbl =3D ftbl_gcc_sdcc1_apps_clk_src, + .clkr.hw.init =3D &(struct clk_init_data){ + .name =3D "gcc_sdcc1_apps_clk_src", + .parent_data =3D gcc_parent_data_3, + .num_parents =3D ARRAY_SIZE(gcc_parent_data_3), + .flags =3D CLK_OPS_PARENT_ENABLE, + .ops =3D &clk_rcg2_floor_ops, + }, +}; + + +static const struct freq_tbl ftbl_gcc_sdcc1_ice_core_clk_src[] =3D { + F(100000000, P_GPLL0_OUT_EVEN, 3, 0, 0), + F(150000000, P_GPLL0_OUT_MAIN, 4, 0, 0), + F(300000000, P_GPLL0_OUT_MAIN, 2, 0, 0), + { } +}; + +static struct clk_rcg2 gcc_sdcc1_ice_core_clk_src =3D { + .cmd_rcgr =3D 0x2600c, + .mnd_width =3D 0, + .hid_width =3D 5, + .parent_map =3D gcc_parent_map_0, + .freq_tbl =3D ftbl_gcc_sdcc1_ice_core_clk_src, + .clkr.hw.init =3D &(struct clk_init_data){ + .name =3D "gcc_sdcc1_ice_core_clk_src", + .parent_data =3D gcc_parent_data_0, + .num_parents =3D ARRAY_SIZE(gcc_parent_data_0), + .flags =3D CLK_OPS_PARENT_ENABLE, + .ops =3D &clk_rcg2_floor_ops, + }, +}; + +static const struct freq_tbl ftbl_gcc_sdcc2_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, 6, 1, 2), + F(50000000, P_GPLL0_OUT_EVEN, 6, 0, 0), + F(100000000, P_GPLL0_OUT_EVEN, 3, 0, 0), + F(202000000, P_GPLL9_OUT_MAIN, 4, 0, 0), + { } +}; + +static struct clk_rcg2 gcc_sdcc2_apps_clk_src =3D { + .cmd_rcgr =3D 0x1400c, + .mnd_width =3D 8, + .hid_width =3D 5, + .parent_map =3D gcc_parent_map_4, + .freq_tbl =3D ftbl_gcc_sdcc2_apps_clk_src, + .clkr.hw.init =3D &(struct clk_init_data){ + .name =3D "gcc_sdcc2_apps_clk_src", + .parent_data =3D gcc_parent_data_4, + .num_parents =3D ARRAY_SIZE(gcc_parent_data_4), + .flags =3D CLK_OPS_PARENT_ENABLE, + .ops =3D &clk_rcg2_floor_ops, + }, +}; + +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, 6, 1, 2), + F(50000000, P_GPLL0_OUT_EVEN, 6, 0, 0), + F(100000000, P_GPLL0_OUT_EVEN, 3, 0, 0), + { } +}; + +static struct clk_rcg2 gcc_sdcc4_apps_clk_src =3D { + .cmd_rcgr =3D 0x1600c, + .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 &(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_floor_ops, + }, +}; + +static const struct freq_tbl ftbl_gcc_ufs_phy_axi_clk_src[] =3D { + F(25000000, P_GPLL0_OUT_EVEN, 12, 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), + F(240000000, P_GPLL0_OUT_MAIN, 2.5, 0, 0), + { } +}; + +static struct clk_rcg2 gcc_ufs_phy_axi_clk_src =3D { + .cmd_rcgr =3D 0x77024, + .mnd_width =3D 8, + .hid_width =3D 5, + .parent_map =3D gcc_parent_map_0, + .freq_tbl =3D ftbl_gcc_ufs_phy_axi_clk_src, + .clkr.hw.init =3D &(struct clk_init_data){ + .name =3D "gcc_ufs_phy_axi_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_ufs_phy_ice_core_clk_src[] =3D { + F(37500000, P_GPLL0_OUT_EVEN, 8, 0, 0), + F(75000000, P_GPLL0_OUT_EVEN, 4, 0, 0), + F(150000000, P_GPLL0_OUT_MAIN, 4, 0, 0), + F(300000000, P_GPLL0_OUT_MAIN, 2, 0, 0), + { } +}; + +static struct clk_rcg2 gcc_ufs_phy_ice_core_clk_src =3D { + .cmd_rcgr =3D 0x7706c, + .mnd_width =3D 0, + .hid_width =3D 5, + .parent_map =3D gcc_parent_map_0, + .freq_tbl =3D ftbl_gcc_ufs_phy_ice_core_clk_src, + .clkr.hw.init =3D &(struct clk_init_data){ + .name =3D "gcc_ufs_phy_ice_core_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_ufs_phy_phy_aux_clk_src[] =3D { + F(19200000, P_BI_TCXO, 1, 0, 0), + { } +}; + +static struct clk_rcg2 gcc_ufs_phy_phy_aux_clk_src =3D { + .cmd_rcgr =3D 0x770a0, + .mnd_width =3D 0, + .hid_width =3D 5, + .parent_map =3D gcc_parent_map_2, + .freq_tbl =3D ftbl_gcc_ufs_phy_phy_aux_clk_src, + .clkr.hw.init =3D &(struct clk_init_data){ + .name =3D "gcc_ufs_phy_phy_aux_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_ufs_phy_unipro_core_clk_src[] =3D { + F(37500000, P_GPLL0_OUT_EVEN, 8, 0, 0), + F(75000000, P_GPLL0_OUT_MAIN, 8, 0, 0), + F(150000000, P_GPLL0_OUT_MAIN, 4, 0, 0), + { } +}; + +static struct clk_rcg2 gcc_ufs_phy_unipro_core_clk_src =3D { + .cmd_rcgr =3D 0x77084, + .mnd_width =3D 0, + .hid_width =3D 5, + .parent_map =3D gcc_parent_map_0, + .freq_tbl =3D ftbl_gcc_ufs_phy_unipro_core_clk_src, + .clkr.hw.init =3D &(struct clk_init_data){ + .name =3D "gcc_ufs_phy_unipro_core_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_usb30_prim_master_clk_src[] =3D { + F(66666667, P_GPLL0_OUT_EVEN, 4.5, 0, 0), + F(133333333, P_GPLL0_OUT_MAIN, 4.5, 0, 0), + F(200000000, P_GPLL0_OUT_MAIN, 3, 0, 0), + F(240000000, P_GPLL0_OUT_MAIN, 2.5, 0, 0), + { } +}; + +static struct clk_rcg2 gcc_usb30_prim_master_clk_src =3D { + .cmd_rcgr =3D 0xf020, + .mnd_width =3D 8, + .hid_width =3D 5, + .parent_map =3D gcc_parent_map_0, + .freq_tbl =3D ftbl_gcc_usb30_prim_master_clk_src, + .clkr.hw.init =3D &(struct clk_init_data){ + .name =3D "gcc_usb30_prim_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_usb30_prim_mock_utmi_clk_src =3D { + .cmd_rcgr =3D 0xf038, + .mnd_width =3D 0, + .hid_width =3D 5, + .parent_map =3D gcc_parent_map_0, + .freq_tbl =3D ftbl_gcc_ufs_phy_phy_aux_clk_src, + .clkr.hw.init =3D &(struct clk_init_data){ + .name =3D "gcc_usb30_prim_mock_utmi_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_usb3_prim_phy_aux_clk_src =3D { + .cmd_rcgr =3D 0xf064, + .mnd_width =3D 0, + .hid_width =3D 5, + .parent_map =3D gcc_parent_map_5, + .freq_tbl =3D ftbl_gcc_ufs_phy_phy_aux_clk_src, + .clkr.hw.init =3D &(struct clk_init_data){ + .name =3D "gcc_usb3_prim_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 struct clk_branch gcc_aggre_ufs_phy_axi_clk =3D { + .halt_reg =3D 0x770cc, + .halt_check =3D BRANCH_HALT_VOTED, + .hwcg_reg =3D 0x770cc, + .hwcg_bit =3D 1, + .clkr =3D { + .enable_reg =3D 0x770cc, + .enable_mask =3D BIT(0), + .hw.init =3D &(struct clk_init_data){ + .name =3D "gcc_aggre_ufs_phy_axi_clk", + .parent_hws =3D (const struct clk_hw*[]){ + &gcc_ufs_phy_axi_clk_src.clkr.hw, + }, + .num_parents =3D 1, + .flags =3D CLK_SET_RATE_PARENT, + .ops =3D &clk_branch2_ops, + }, + }, +}; + +static struct clk_branch gcc_aggre_usb3_prim_axi_clk =3D { + .halt_reg =3D 0xf080, + .halt_check =3D BRANCH_HALT_VOTED, + .clkr =3D { + .enable_reg =3D 0xf080, + .enable_mask =3D BIT(0), + .hw.init =3D &(struct clk_init_data){ + .name =3D "gcc_aggre_usb3_prim_axi_clk", + .parent_hws =3D (const struct clk_hw*[]){ + &gcc_usb30_prim_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_boot_rom_ahb_clk =3D { + .halt_reg =3D 0x38004, + .halt_check =3D BRANCH_HALT_VOTED, + .hwcg_reg =3D 0x38004, + .hwcg_bit =3D 1, + .clkr =3D { + .enable_reg =3D 0x52000, + .enable_mask =3D BIT(10), + .hw.init =3D &(struct clk_init_data){ + .name =3D "gcc_boot_rom_ahb_clk", + .ops =3D &clk_branch2_ops, + }, + }, +}; + +static struct clk_branch gcc_camera_hf_axi_clk =3D { + .halt_reg =3D 0xb028, + .halt_check =3D BRANCH_HALT_VOTED, + .clkr =3D { + .enable_reg =3D 0xb028, + .enable_mask =3D BIT(0), + .hw.init =3D &(struct clk_init_data){ + .name =3D "gcc_camera_hf_axi_clk", + .ops =3D &clk_branch2_ops, + }, + }, +}; + +static struct clk_branch gcc_camera_sf_axi_clk =3D { + .halt_reg =3D 0xb02c, + .halt_check =3D BRANCH_HALT_VOTED, + .clkr =3D { + .enable_reg =3D 0xb02c, + .enable_mask =3D BIT(0), + .hw.init =3D &(struct clk_init_data){ + .name =3D "gcc_camera_sf_axi_clk", + .ops =3D &clk_branch2_ops, + }, + }, +}; + +static struct clk_branch gcc_camera_xo_clk =3D { + .halt_reg =3D 0xb03c, + .halt_check =3D BRANCH_HALT, + .clkr =3D { + .enable_reg =3D 0xb03c, + .enable_mask =3D BIT(0), + .hw.init =3D &(struct clk_init_data){ + .name =3D "gcc_camera_xo_clk", + .ops =3D &clk_branch2_ops, + }, + }, +}; + +static struct clk_branch gcc_cfg_noc_usb3_prim_axi_clk =3D { + .halt_reg =3D 0xf07c, + .halt_check =3D BRANCH_HALT_VOTED, + .clkr =3D { + .enable_reg =3D 0xf07c, + .enable_mask =3D BIT(0), + .hw.init =3D &(struct clk_init_data){ + .name =3D "gcc_cfg_noc_usb3_prim_axi_clk", + .parent_hws =3D (const struct clk_hw*[]){ + &gcc_usb30_prim_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_cpuss_ahb_clk =3D { + .halt_reg =3D 0x48000, + .halt_check =3D BRANCH_HALT_VOTED, + .clkr =3D { + .enable_reg =3D 0x52000, + .enable_mask =3D BIT(21), + .hw.init =3D &(struct clk_init_data){ + .name =3D "gcc_cpuss_ahb_clk", + .parent_hws =3D (const struct clk_hw*[]){ + &gcc_cpuss_ahb_clk_src.clkr.hw, + }, + .num_parents =3D 1, + .flags =3D CLK_IS_CRITICAL | CLK_SET_RATE_PARENT, + .ops =3D &clk_branch2_ops, + }, + }, +}; + +static struct clk_branch gcc_cpuss_gnoc_clk =3D { + .halt_reg =3D 0x48064, + .halt_check =3D BRANCH_HALT_VOTED, + .clkr =3D { + .enable_reg =3D 0x52000, + .enable_mask =3D BIT(29), + .hw.init =3D &(struct clk_init_data){ + .name =3D "gcc_cpuss_gnoc_clk", + .ops =3D &clk_branch2_ops, + }, + }, +}; + +static struct clk_branch gcc_cpuss_rbcpr_clk =3D { + .halt_reg =3D 0x48004, + .halt_check =3D BRANCH_HALT, + .clkr =3D { + .enable_reg =3D 0x48004, + .enable_mask =3D BIT(0), + .hw.init =3D &(struct clk_init_data){ + .name =3D "gcc_cpuss_rbcpr_clk", + .ops =3D &clk_branch2_ops, + }, + }, +}; + +static struct clk_branch gcc_ddrss_gpu_axi_clk =3D { + .halt_reg =3D 0x71154, + .halt_check =3D BRANCH_HALT_VOTED, + .clkr =3D { + .enable_reg =3D 0x71154, + .enable_mask =3D BIT(0), + .hw.init =3D &(struct clk_init_data){ + .name =3D "gcc_ddrss_gpu_axi_clk", + .ops =3D &clk_branch2_ops, + }, + }, +}; + +static struct clk_branch gcc_disp_gpll0_clk_src =3D { + .halt_check =3D BRANCH_HALT_DELAY, + .clkr =3D { + .enable_reg =3D 0x52000, + .enable_mask =3D BIT(20), + .hw.init =3D &(struct clk_init_data){ + .name =3D "gcc_disp_gpll0_clk_src", + .parent_hws =3D (const struct clk_hw*[]){ + &gpll0.clkr.hw, + }, + .num_parents =3D 1, + .flags =3D CLK_SET_RATE_PARENT, + .ops =3D &clk_branch2_ops, + }, + }, +}; + +static struct clk_branch gcc_disp_hf_axi_clk =3D { + .halt_reg =3D 0xb030, + .halt_check =3D BRANCH_HALT_VOTED, + .clkr =3D { + .enable_reg =3D 0xb030, + .enable_mask =3D BIT(0), + .hw.init =3D &(struct clk_init_data){ + .name =3D "gcc_disp_hf_axi_clk", + .ops =3D &clk_branch2_ops, + }, + }, +}; + +static struct clk_branch gcc_disp_sf_axi_clk =3D { + .halt_reg =3D 0xb034, + .halt_check =3D BRANCH_HALT_VOTED, + .clkr =3D { + .enable_reg =3D 0xb034, + .enable_mask =3D BIT(0), + .hw.init =3D &(struct clk_init_data){ + .name =3D "gcc_disp_sf_axi_clk", + .ops =3D &clk_branch2_ops, + }, + }, +}; + +static struct clk_branch gcc_disp_xo_clk =3D { + .halt_reg =3D 0xb040, + .halt_check =3D BRANCH_HALT, + .clkr =3D { + .enable_reg =3D 0xb040, + .enable_mask =3D BIT(0), + .hw.init =3D &(struct clk_init_data){ + .name =3D "gcc_disp_xo_clk", + .ops =3D &clk_branch2_ops, + }, + }, +}; + +static struct clk_branch gcc_gp1_clk =3D { + .halt_reg =3D 0x64000, + .halt_check =3D BRANCH_HALT, + .clkr =3D { + .enable_reg =3D 0x64000, + .enable_mask =3D BIT(0), + .hw.init =3D &(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 0x65000, + .halt_check =3D BRANCH_HALT, + .clkr =3D { + .enable_reg =3D 0x65000, + .enable_mask =3D BIT(0), + .hw.init =3D &(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 0x66000, + .halt_check =3D BRANCH_HALT, + .clkr =3D { + .enable_reg =3D 0x66000, + .enable_mask =3D BIT(0), + .hw.init =3D &(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_gpu_gpll0_clk_src =3D { + .halt_check =3D BRANCH_HALT_DELAY, + .clkr =3D { + .enable_reg =3D 0x52000, + .enable_mask =3D BIT(15), + .hw.init =3D &(struct clk_init_data){ + .name =3D "gcc_gpu_gpll0_clk_src", + .parent_hws =3D (const struct clk_hw*[]){ + &gpll0.clkr.hw, + }, + .num_parents =3D 1, + .flags =3D CLK_SET_RATE_PARENT, + .ops =3D &clk_branch2_ops, + }, + }, +}; + +static struct clk_branch gcc_gpu_gpll0_div_clk_src =3D { + .halt_check =3D BRANCH_HALT_DELAY, + .clkr =3D { + .enable_reg =3D 0x52000, + .enable_mask =3D BIT(16), + .hw.init =3D &(struct clk_init_data){ + .name =3D "gcc_gpu_gpll0_div_clk_src", + .parent_hws =3D (const struct clk_hw*[]){ + &gpll0_out_even.clkr.hw, + }, + .num_parents =3D 1, + .flags =3D CLK_SET_RATE_PARENT, + .ops =3D &clk_branch2_ops, + }, + }, +}; + +static struct clk_branch gcc_gpu_iref_clk =3D { + .halt_reg =3D 0x8c014, + .halt_check =3D BRANCH_HALT, + .clkr =3D { + .enable_reg =3D 0x8c014, + .enable_mask =3D BIT(0), + .hw.init =3D &(struct clk_init_data){ + .name =3D "gcc_gpu_iref_clk", + .ops =3D &clk_branch2_ops, + }, + }, +}; + +static struct clk_branch gcc_gpu_memnoc_gfx_clk =3D { + .halt_reg =3D 0x7100c, + .halt_check =3D BRANCH_HALT_VOTED, + .clkr =3D { + .enable_reg =3D 0x7100c, + .enable_mask =3D BIT(0), + .hw.init =3D &(struct clk_init_data){ + .name =3D "gcc_gpu_memnoc_gfx_clk", + .ops =3D &clk_branch2_ops, + }, + }, +}; + +static struct clk_branch gcc_gpu_snoc_dvm_gfx_clk =3D { + .halt_reg =3D 0x71018, + .halt_check =3D BRANCH_HALT, + .clkr =3D { + .enable_reg =3D 0x71018, + .enable_mask =3D BIT(0), + .hw.init =3D &(struct clk_init_data){ + .name =3D "gcc_gpu_snoc_dvm_gfx_clk", + .ops =3D &clk_branch2_ops, + }, + }, +}; + +static struct clk_branch gcc_npu_axi_clk =3D { + .halt_reg =3D 0x4d008, + .halt_check =3D BRANCH_HALT_VOTED, + .clkr =3D { + .enable_reg =3D 0x4d008, + .enable_mask =3D BIT(0), + .hw.init =3D &(struct clk_init_data){ + .name =3D "gcc_npu_axi_clk", + .ops =3D &clk_branch2_ops, + }, + }, +}; + +static struct clk_branch gcc_npu_bwmon2_axi_clk =3D { + .halt_reg =3D 0x7000c, + .halt_check =3D BRANCH_HALT_VOTED, + .clkr =3D { + .enable_reg =3D 0x7000c, + .enable_mask =3D BIT(0), + .hw.init =3D &(struct clk_init_data){ + .name =3D "gcc_npu_bwmon2_axi_clk", + .ops =3D &clk_branch2_ops, + }, + }, +}; + +static struct clk_branch gcc_npu_bwmon_axi_clk =3D { + .halt_reg =3D 0x70008, + .halt_check =3D BRANCH_HALT_VOTED, + .clkr =3D { + .enable_reg =3D 0x70008, + .enable_mask =3D BIT(0), + .hw.init =3D &(struct clk_init_data){ + .name =3D "gcc_npu_bwmon_axi_clk", + .ops =3D &clk_branch2_ops, + }, + }, +}; + +static struct clk_branch gcc_npu_bwmon_cfg_ahb_clk =3D { + .halt_reg =3D 0x70004, + .halt_check =3D BRANCH_HALT, + .clkr =3D { + .enable_reg =3D 0x70004, + .enable_mask =3D BIT(0), + .hw.init =3D &(struct clk_init_data){ + .name =3D "gcc_npu_bwmon_cfg_ahb_clk", + .ops =3D &clk_branch2_ops, + }, + }, +}; + +static struct clk_branch gcc_npu_cfg_ahb_clk =3D { + .halt_reg =3D 0x4d004, + .halt_check =3D BRANCH_HALT, + .hwcg_reg =3D 0x4d004, + .hwcg_bit =3D 1, + .clkr =3D { + .enable_reg =3D 0x4d004, + .enable_mask =3D BIT(0), + .hw.init =3D &(struct clk_init_data){ + .name =3D "gcc_npu_cfg_ahb_clk", + .ops =3D &clk_branch2_ops, + }, + }, +}; + +static struct clk_branch gcc_npu_dma_clk =3D { + .halt_reg =3D 0x4d00c, + .halt_check =3D BRANCH_HALT_VOTED, + .clkr =3D { + .enable_reg =3D 0x4d00c, + .enable_mask =3D BIT(0), + .hw.init =3D &(struct clk_init_data){ + .name =3D "gcc_npu_dma_clk", + .ops =3D &clk_branch2_ops, + }, + }, +}; + +static struct clk_branch gcc_npu_gpll0_clk_src =3D { + .halt_check =3D BRANCH_HALT_DELAY, + .clkr =3D { + .enable_reg =3D 0x52000, + .enable_mask =3D BIT(18), + .hw.init =3D &(struct clk_init_data){ + .name =3D "gcc_npu_gpll0_clk_src", + .parent_hws =3D (const struct clk_hw*[]){ + &gpll0.clkr.hw, + }, + .num_parents =3D 1, + .flags =3D CLK_SET_RATE_PARENT, + .ops =3D &clk_branch2_ops, + }, + }, +}; + +static struct clk_branch gcc_npu_gpll0_div_clk_src =3D { + .halt_check =3D BRANCH_HALT_DELAY, + .clkr =3D { + .enable_reg =3D 0x52000, + .enable_mask =3D BIT(19), + .hw.init =3D &(struct clk_init_data){ + .name =3D "gcc_npu_gpll0_div_clk_src", + .parent_hws =3D (const struct clk_hw*[]){ + &gpll0_out_even.clkr.hw, + }, + .num_parents =3D 1, + .flags =3D CLK_SET_RATE_PARENT, + .ops =3D &clk_branch2_ops, + }, + }, +}; + +static struct clk_branch gcc_pdm2_clk =3D { + .halt_reg =3D 0x3300c, + .halt_check =3D BRANCH_HALT, + .clkr =3D { + .enable_reg =3D 0x3300c, + .enable_mask =3D BIT(0), + .hw.init =3D &(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 0x33004, + .halt_check =3D BRANCH_HALT, + .hwcg_reg =3D 0x33004, + .hwcg_bit =3D 1, + .clkr =3D { + .enable_reg =3D 0x33004, + .enable_mask =3D BIT(0), + .hw.init =3D &(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 0x33008, + .halt_check =3D BRANCH_HALT, + .clkr =3D { + .enable_reg =3D 0x33008, + .enable_mask =3D BIT(0), + .hw.init =3D &(struct clk_init_data){ + .name =3D "gcc_pdm_xo4_clk", + .ops =3D &clk_branch2_ops, + }, + }, +}; + +static struct clk_branch gcc_prng_ahb_clk =3D { + .halt_reg =3D 0x34004, + .halt_check =3D BRANCH_HALT_VOTED, + .clkr =3D { + .enable_reg =3D 0x52000, + .enable_mask =3D BIT(13), + .hw.init =3D &(struct clk_init_data){ + .name =3D "gcc_prng_ahb_clk", + .ops =3D &clk_branch2_ops, + }, + }, +}; + +static struct clk_branch gcc_qmip_camera_nrt_ahb_clk =3D { + .halt_reg =3D 0xb018, + .halt_check =3D BRANCH_HALT_VOTED, + .hwcg_reg =3D 0xb018, + .hwcg_bit =3D 1, + .clkr =3D { + .enable_reg =3D 0xb018, + .enable_mask =3D BIT(0), + .hw.init =3D &(struct clk_init_data){ + .name =3D "gcc_qmip_camera_nrt_ahb_clk", + .ops =3D &clk_branch2_ops, + }, + }, +}; + +static struct clk_branch gcc_qmip_camera_rt_ahb_clk =3D { + .halt_reg =3D 0xb01c, + .halt_check =3D BRANCH_HALT_VOTED, + .hwcg_reg =3D 0xb01c, + .hwcg_bit =3D 1, + .clkr =3D { + .enable_reg =3D 0xb01c, + .enable_mask =3D BIT(0), + .hw.init =3D &(struct clk_init_data){ + .name =3D "gcc_qmip_camera_rt_ahb_clk", + .ops =3D &clk_branch2_ops, + }, + }, +}; + +static struct clk_branch gcc_qmip_disp_ahb_clk =3D { + .halt_reg =3D 0xb020, + .halt_check =3D BRANCH_HALT_VOTED, + .hwcg_reg =3D 0xb020, + .hwcg_bit =3D 1, + .clkr =3D { + .enable_reg =3D 0xb020, + .enable_mask =3D BIT(0), + .hw.init =3D &(struct clk_init_data){ + .name =3D "gcc_qmip_disp_ahb_clk", + .ops =3D &clk_branch2_ops, + }, + }, +}; + +static struct clk_branch gcc_qmip_rt_disp_ahb_clk =3D { + .halt_reg =3D 0xb07c, + .halt_check =3D BRANCH_HALT_VOTED, + .hwcg_reg =3D 0xb07c, + .hwcg_bit =3D 1, + .clkr =3D { + .enable_reg =3D 0xb07c, + .enable_mask =3D BIT(0), + .hw.init =3D &(struct clk_init_data){ + .name =3D "gcc_qmip_rt_disp_ahb_clk", + .ops =3D &clk_branch2_ops, + }, + }, +}; + +static struct clk_branch gcc_qmip_video_cvp_ahb_clk =3D { + .halt_reg =3D 0xb010, + .halt_check =3D BRANCH_HALT_VOTED, + .hwcg_reg =3D 0xb010, + .hwcg_bit =3D 1, + .clkr =3D { + .enable_reg =3D 0xb010, + .enable_mask =3D BIT(0), + .hw.init =3D &(struct clk_init_data){ + .name =3D "gcc_qmip_video_cvp_ahb_clk", + .ops =3D &clk_branch2_ops, + }, + }, +}; + +static struct clk_branch gcc_qmip_video_vcodec_ahb_clk =3D { + .halt_reg =3D 0xb014, + .halt_check =3D BRANCH_HALT_VOTED, + .hwcg_reg =3D 0xb014, + .hwcg_bit =3D 1, + .clkr =3D { + .enable_reg =3D 0xb014, + .enable_mask =3D BIT(0), + .hw.init =3D &(struct clk_init_data){ + .name =3D "gcc_qmip_video_vcodec_ahb_clk", + .ops =3D &clk_branch2_ops, + }, + }, +}; + +static struct clk_branch gcc_qupv3_wrap0_core_2x_clk =3D { + .halt_reg =3D 0x23008, + .halt_check =3D BRANCH_HALT_VOTED, + .clkr =3D { + .enable_reg =3D 0x52008, + .enable_mask =3D BIT(9), + .hw.init =3D &(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 0x23000, + .halt_check =3D BRANCH_HALT_VOTED, + .clkr =3D { + .enable_reg =3D 0x52008, + .enable_mask =3D BIT(8), + .hw.init =3D &(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 0x1700c, + .halt_check =3D BRANCH_HALT_VOTED, + .clkr =3D { + .enable_reg =3D 0x52008, + .enable_mask =3D BIT(10), + .hw.init =3D &(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 0x1713c, + .halt_check =3D BRANCH_HALT_VOTED, + .clkr =3D { + .enable_reg =3D 0x52008, + .enable_mask =3D BIT(11), + .hw.init =3D &(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 0x1726c, + .halt_check =3D BRANCH_HALT_VOTED, + .clkr =3D { + .enable_reg =3D 0x52008, + .enable_mask =3D BIT(12), + .hw.init =3D &(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 0x1739c, + .halt_check =3D BRANCH_HALT_VOTED, + .clkr =3D { + .enable_reg =3D 0x52008, + .enable_mask =3D BIT(13), + .hw.init =3D &(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 0x174cc, + .halt_check =3D BRANCH_HALT_VOTED, + .clkr =3D { + .enable_reg =3D 0x52008, + .enable_mask =3D BIT(14), + .hw.init =3D &(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_wrap0_s5_clk =3D { + .halt_reg =3D 0x175fc, + .halt_check =3D BRANCH_HALT_VOTED, + .clkr =3D { + .enable_reg =3D 0x52008, + .enable_mask =3D BIT(15), + .hw.init =3D &(struct clk_init_data){ + .name =3D "gcc_qupv3_wrap0_s5_clk", + .parent_hws =3D (const struct clk_hw*[]){ + &gcc_qupv3_wrap0_s5_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_wrap1_core_2x_clk =3D { + .halt_reg =3D 0x23140, + .halt_check =3D BRANCH_HALT_VOTED, + .clkr =3D { + .enable_reg =3D 0x52008, + .enable_mask =3D BIT(18), + .hw.init =3D &(struct clk_init_data){ + .name =3D "gcc_qupv3_wrap1_core_2x_clk", + .ops =3D &clk_branch2_ops, + }, + }, +}; + +static struct clk_branch gcc_qupv3_wrap1_core_clk =3D { + .halt_reg =3D 0x23138, + .halt_check =3D BRANCH_HALT_VOTED, + .clkr =3D { + .enable_reg =3D 0x52008, + .enable_mask =3D BIT(19), + .hw.init =3D &(struct clk_init_data){ + .name =3D "gcc_qupv3_wrap1_core_clk", + .ops =3D &clk_branch2_ops, + }, + }, +}; + +static struct clk_branch gcc_qupv3_wrap1_s0_clk =3D { + .halt_reg =3D 0x1800c, + .halt_check =3D BRANCH_HALT_VOTED, + .clkr =3D { + .enable_reg =3D 0x52008, + .enable_mask =3D BIT(22), + .hw.init =3D &(struct clk_init_data){ + .name =3D "gcc_qupv3_wrap1_s0_clk", + .parent_hws =3D (const struct clk_hw*[]){ + &gcc_qupv3_wrap1_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_wrap1_s1_clk =3D { + .halt_reg =3D 0x1813c, + .halt_check =3D BRANCH_HALT_VOTED, + .clkr =3D { + .enable_reg =3D 0x52008, + .enable_mask =3D BIT(23), + .hw.init =3D &(struct clk_init_data){ + .name =3D "gcc_qupv3_wrap1_s1_clk", + .parent_hws =3D (const struct clk_hw*[]){ + &gcc_qupv3_wrap1_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_wrap1_s2_clk =3D { + .halt_reg =3D 0x1826c, + .halt_check =3D BRANCH_HALT_VOTED, + .clkr =3D { + .enable_reg =3D 0x52008, + .enable_mask =3D BIT(24), + .hw.init =3D &(struct clk_init_data){ + .name =3D "gcc_qupv3_wrap1_s2_clk", + .parent_hws =3D (const struct clk_hw*[]){ + &gcc_qupv3_wrap1_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_wrap1_s3_clk =3D { + .halt_reg =3D 0x1839c, + .halt_check =3D BRANCH_HALT_VOTED, + .clkr =3D { + .enable_reg =3D 0x52008, + .enable_mask =3D BIT(25), + .hw.init =3D &(struct clk_init_data){ + .name =3D "gcc_qupv3_wrap1_s3_clk", + .parent_hws =3D (const struct clk_hw*[]){ + &gcc_qupv3_wrap1_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_wrap1_s4_clk =3D { + .halt_reg =3D 0x184cc, + .halt_check =3D BRANCH_HALT_VOTED, + .clkr =3D { + .enable_reg =3D 0x52008, + .enable_mask =3D BIT(26), + .hw.init =3D &(struct clk_init_data){ + .name =3D "gcc_qupv3_wrap1_s4_clk", + .parent_hws =3D (const struct clk_hw*[]){ + &gcc_qupv3_wrap1_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_wrap1_s5_clk =3D { + .halt_reg =3D 0x185fc, + .halt_check =3D BRANCH_HALT_VOTED, + .clkr =3D { + .enable_reg =3D 0x52008, + .enable_mask =3D BIT(27), + .hw.init =3D &(struct clk_init_data){ + .name =3D "gcc_qupv3_wrap1_s5_clk", + .parent_hws =3D (const struct clk_hw*[]){ + &gcc_qupv3_wrap1_s5_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 0x17004, + .halt_check =3D BRANCH_HALT_VOTED, + .clkr =3D { + .enable_reg =3D 0x52008, + .enable_mask =3D BIT(6), + .hw.init =3D &(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 0x17008, + .halt_check =3D BRANCH_HALT_VOTED, + .hwcg_reg =3D 0x17008, + .hwcg_bit =3D 1, + .clkr =3D { + .enable_reg =3D 0x52008, + .enable_mask =3D BIT(7), + .hw.init =3D &(struct clk_init_data){ + .name =3D "gcc_qupv3_wrap_0_s_ahb_clk", + .ops =3D &clk_branch2_ops, + }, + }, +}; + +static struct clk_branch gcc_qupv3_wrap_1_m_ahb_clk =3D { + .halt_reg =3D 0x18004, + .halt_check =3D BRANCH_HALT_VOTED, + .clkr =3D { + .enable_reg =3D 0x52008, + .enable_mask =3D BIT(20), + .hw.init =3D &(struct clk_init_data){ + .name =3D "gcc_qupv3_wrap_1_m_ahb_clk", + .ops =3D &clk_branch2_ops, + }, + }, +}; + +static struct clk_branch gcc_qupv3_wrap_1_s_ahb_clk =3D { + .halt_reg =3D 0x18008, + .halt_check =3D BRANCH_HALT_VOTED, + .hwcg_reg =3D 0x18008, + .hwcg_bit =3D 1, + .clkr =3D { + .enable_reg =3D 0x52008, + .enable_mask =3D BIT(21), + .hw.init =3D &(struct clk_init_data){ + .name =3D "gcc_qupv3_wrap_1_s_ahb_clk", + .ops =3D &clk_branch2_ops, + }, + }, +}; + +static struct clk_branch gcc_sdcc1_ahb_clk =3D { + .halt_reg =3D 0x26004, + .halt_check =3D BRANCH_HALT, + .hwcg_reg =3D 0x26004, + .hwcg_bit =3D 1, + .clkr =3D { + .enable_reg =3D 0x26004, + .enable_mask =3D BIT(0), + .hw.init =3D &(struct clk_init_data){ + .name =3D "gcc_sdcc1_ahb_clk", + .ops =3D &clk_branch2_ops, + }, + }, +}; + +static struct clk_branch gcc_sdcc1_apps_clk =3D { + .halt_reg =3D 0x26008, + .halt_check =3D BRANCH_HALT, + .clkr =3D { + .enable_reg =3D 0x26008, + .enable_mask =3D BIT(0), + .hw.init =3D &(struct clk_init_data){ + .name =3D "gcc_sdcc1_apps_clk", + .parent_hws =3D (const struct clk_hw*[]){ + &gcc_sdcc1_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_sdcc1_ice_core_clk =3D { + .halt_reg =3D 0x2603c, + .halt_check =3D BRANCH_HALT, + .clkr =3D { + .enable_reg =3D 0x2603c, + .enable_mask =3D BIT(0), + .hw.init =3D &(struct clk_init_data){ + .name =3D "gcc_sdcc1_ice_core_clk", + .parent_hws =3D (const struct clk_hw*[]){ + &gcc_sdcc1_ice_core_clk_src.clkr.hw, + }, + .num_parents =3D 1, + .flags =3D CLK_SET_RATE_PARENT, + .ops =3D &clk_branch2_ops, + }, + }, +}; + +static struct clk_branch gcc_sdcc2_ahb_clk =3D { + .halt_reg =3D 0x14008, + .halt_check =3D BRANCH_HALT, + .clkr =3D { + .enable_reg =3D 0x14008, + .enable_mask =3D BIT(0), + .hw.init =3D &(struct clk_init_data){ + .name =3D "gcc_sdcc2_ahb_clk", + .ops =3D &clk_branch2_ops, + }, + }, +}; + +static struct clk_branch gcc_sdcc2_apps_clk =3D { + .halt_reg =3D 0x14004, + .halt_check =3D BRANCH_HALT, + .clkr =3D { + .enable_reg =3D 0x14004, + .enable_mask =3D BIT(0), + .hw.init =3D &(struct clk_init_data){ + .name =3D "gcc_sdcc2_apps_clk", + .parent_hws =3D (const struct clk_hw*[]){ + &gcc_sdcc2_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_sdcc4_ahb_clk =3D { + .halt_reg =3D 0x16008, + .halt_check =3D BRANCH_HALT, + .clkr =3D { + .enable_reg =3D 0x16008, + .enable_mask =3D BIT(0), + .hw.init =3D &(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 0x16004, + .halt_check =3D BRANCH_HALT, + .clkr =3D { + .enable_reg =3D 0x16004, + .enable_mask =3D BIT(0), + .hw.init =3D &(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_ufs_1x_clkref_clk =3D { + .halt_reg =3D 0x8c000, + .halt_check =3D BRANCH_HALT, + .clkr =3D { + .enable_reg =3D 0x8c000, + .enable_mask =3D BIT(0), + .hw.init =3D &(struct clk_init_data){ + .name =3D "gcc_ufs_1x_clkref_clk", + .ops =3D &clk_branch2_ops, + }, + }, +}; + +static struct clk_branch gcc_ufs_phy_ahb_clk =3D { + .halt_reg =3D 0x77018, + .halt_check =3D BRANCH_HALT_VOTED, + .hwcg_reg =3D 0x77018, + .hwcg_bit =3D 1, + .clkr =3D { + .enable_reg =3D 0x77018, + .enable_mask =3D BIT(0), + .hw.init =3D &(struct clk_init_data){ + .name =3D "gcc_ufs_phy_ahb_clk", + .ops =3D &clk_branch2_ops, + }, + }, +}; + +static struct clk_branch gcc_ufs_phy_axi_clk =3D { + .halt_reg =3D 0x77010, + .halt_check =3D BRANCH_HALT, + .hwcg_reg =3D 0x77010, + .hwcg_bit =3D 1, + .clkr =3D { + .enable_reg =3D 0x77010, + .enable_mask =3D BIT(0), + .hw.init =3D &(struct clk_init_data){ + .name =3D "gcc_ufs_phy_axi_clk", + .parent_hws =3D (const struct clk_hw*[]){ + &gcc_ufs_phy_axi_clk_src.clkr.hw, + }, + .num_parents =3D 1, + .flags =3D CLK_SET_RATE_PARENT, + .ops =3D &clk_branch2_ops, + }, + }, +}; + +static struct clk_branch gcc_ufs_phy_ice_core_clk =3D { + .halt_reg =3D 0x77064, + .halt_check =3D BRANCH_HALT_VOTED, + .hwcg_reg =3D 0x77064, + .hwcg_bit =3D 1, + .clkr =3D { + .enable_reg =3D 0x77064, + .enable_mask =3D BIT(0), + .hw.init =3D &(struct clk_init_data){ + .name =3D "gcc_ufs_phy_ice_core_clk", + .parent_hws =3D (const struct clk_hw*[]){ + &gcc_ufs_phy_ice_core_clk_src.clkr.hw, + }, + .num_parents =3D 1, + .flags =3D CLK_SET_RATE_PARENT, + .ops =3D &clk_branch2_ops, + }, + }, +}; + +static struct clk_branch gcc_ufs_phy_phy_aux_clk =3D { + .halt_reg =3D 0x7709c, + .halt_check =3D BRANCH_HALT, + .hwcg_reg =3D 0x7709c, + .hwcg_bit =3D 1, + .clkr =3D { + .enable_reg =3D 0x7709c, + .enable_mask =3D BIT(0), + .hw.init =3D &(struct clk_init_data){ + .name =3D "gcc_ufs_phy_phy_aux_clk", + .parent_hws =3D (const struct clk_hw*[]){ + &gcc_ufs_phy_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_ufs_phy_rx_symbol_0_clk =3D { + .halt_reg =3D 0x77020, + .halt_check =3D BRANCH_HALT_SKIP, + .clkr =3D { + .enable_reg =3D 0x77020, + .enable_mask =3D BIT(0), + .hw.init =3D &(struct clk_init_data){ + .name =3D "gcc_ufs_phy_rx_symbol_0_clk", + .ops =3D &clk_branch2_ops, + }, + }, +}; + +static struct clk_branch gcc_ufs_phy_rx_symbol_1_clk =3D { + .halt_reg =3D 0x770b8, + .halt_check =3D BRANCH_HALT_SKIP, + .clkr =3D { + .enable_reg =3D 0x770b8, + .enable_mask =3D BIT(0), + .hw.init =3D &(struct clk_init_data){ + .name =3D "gcc_ufs_phy_rx_symbol_1_clk", + .ops =3D &clk_branch2_ops, + }, + }, +}; + +static struct clk_branch gcc_ufs_phy_tx_symbol_0_clk =3D { + .halt_reg =3D 0x7701c, + .halt_check =3D BRANCH_HALT_SKIP, + .clkr =3D { + .enable_reg =3D 0x7701c, + .enable_mask =3D BIT(0), + .hw.init =3D &(struct clk_init_data){ + .name =3D "gcc_ufs_phy_tx_symbol_0_clk", + .ops =3D &clk_branch2_ops, + }, + }, +}; + +static struct clk_branch gcc_ufs_phy_unipro_core_clk =3D { + .halt_reg =3D 0x7705c, + .halt_check =3D BRANCH_HALT, + .hwcg_reg =3D 0x7705c, + .hwcg_bit =3D 1, + .clkr =3D { + .enable_reg =3D 0x7705c, + .enable_mask =3D BIT(0), + .hw.init =3D &(struct clk_init_data){ + .name =3D "gcc_ufs_phy_unipro_core_clk", + .parent_hws =3D (const struct clk_hw*[]){ + &gcc_ufs_phy_unipro_core_clk_src.clkr.hw, + }, + .num_parents =3D 1, + .flags =3D CLK_SET_RATE_PARENT, + .ops =3D &clk_branch2_ops, + }, + }, +}; + +static struct clk_branch gcc_usb30_prim_master_clk =3D { + .halt_reg =3D 0xf010, + .halt_check =3D BRANCH_HALT_VOTED, + .clkr =3D { + .enable_reg =3D 0xf010, + .enable_mask =3D BIT(0), + .hw.init =3D &(struct clk_init_data){ + .name =3D "gcc_usb30_prim_master_clk", + .parent_hws =3D (const struct clk_hw*[]){ + &gcc_usb30_prim_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_usb30_prim_mock_utmi_clk =3D { + .halt_reg =3D 0xf01c, + .halt_check =3D BRANCH_HALT, + .clkr =3D { + .enable_reg =3D 0xf01c, + .enable_mask =3D BIT(0), + .hw.init =3D &(struct clk_init_data){ + .name =3D "gcc_usb30_prim_mock_utmi_clk", + .parent_hws =3D (const struct clk_hw*[]) { + &gcc_usb30_prim_mock_utmi_clk_src.clkr.hw, + }, + .num_parents =3D 1, + .flags =3D CLK_SET_RATE_PARENT, + .ops =3D &clk_branch2_ops, + }, + }, +}; + +static struct clk_branch gcc_usb30_prim_sleep_clk =3D { + .halt_reg =3D 0xf018, + .halt_check =3D BRANCH_HALT, + .clkr =3D { + .enable_reg =3D 0xf018, + .enable_mask =3D BIT(0), + .hw.init =3D &(struct clk_init_data){ + .name =3D "gcc_usb30_prim_sleep_clk", + .ops =3D &clk_branch2_ops, + }, + }, +}; + +static struct clk_branch gcc_usb3_prim_clkref_clk =3D { + .halt_reg =3D 0x8c010, + .halt_check =3D BRANCH_HALT, + .clkr =3D { + .enable_reg =3D 0x8c010, + .enable_mask =3D BIT(0), + .hw.init =3D &(struct clk_init_data){ + .name =3D "gcc_usb3_prim_clkref_clk", + .ops =3D &clk_branch2_ops, + }, + }, +}; + +static struct clk_branch gcc_usb3_prim_phy_aux_clk =3D { + .halt_reg =3D 0xf054, + .halt_check =3D BRANCH_HALT, + .clkr =3D { + .enable_reg =3D 0xf054, + .enable_mask =3D BIT(0), + .hw.init =3D &(struct clk_init_data){ + .name =3D "gcc_usb3_prim_phy_aux_clk", + .parent_hws =3D (const struct clk_hw*[]){ + &gcc_usb3_prim_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_usb3_prim_phy_com_aux_clk =3D { + .halt_reg =3D 0xf058, + .halt_check =3D BRANCH_HALT, + .clkr =3D { + .enable_reg =3D 0xf058, + .enable_mask =3D BIT(0), + .hw.init =3D &(struct clk_init_data){ + .name =3D "gcc_usb3_prim_phy_com_aux_clk", + .parent_hws =3D (const struct clk_hw*[]){ + &gcc_usb3_prim_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_usb3_prim_phy_pipe_clk =3D { + .halt_reg =3D 0xf05c, + .halt_check =3D BRANCH_HALT_SKIP, + .clkr =3D { + .enable_reg =3D 0xf05c, + .enable_mask =3D BIT(0), + .hw.init =3D &(struct clk_init_data){ + .name =3D "gcc_usb3_prim_phy_pipe_clk", + .ops =3D &clk_branch2_ops, + }, + }, +}; + +static struct clk_branch gcc_video_axi_clk =3D { + .halt_reg =3D 0xb080, + .halt_check =3D BRANCH_HALT_VOTED, + .clkr =3D { + .enable_reg =3D 0xb080, + .enable_mask =3D BIT(0), + .hw.init =3D &(struct clk_init_data){ + .name =3D "gcc_video_axi_clk", + .ops =3D &clk_branch2_ops, + }, + }, +}; + +static struct clk_branch gcc_video_xo_clk =3D { + .halt_reg =3D 0xb038, + .halt_check =3D BRANCH_HALT, + .clkr =3D { + .enable_reg =3D 0xb038, + .enable_mask =3D BIT(0), + .hw.init =3D &(struct clk_init_data){ + .name =3D "gcc_video_xo_clk", + .ops =3D &clk_branch2_ops, + }, + }, +}; + +static struct gdsc ufs_phy_gdsc =3D { + .gdscr =3D 0x77004, + .pd =3D { + .name =3D "ufs_phy_gdsc", + }, + .pwrsts =3D PWRSTS_OFF_ON, +}; + +static struct gdsc usb30_prim_gdsc =3D { + .gdscr =3D 0xf004, + .pd =3D { + .name =3D "usb30_prim_gdsc", + }, + .pwrsts =3D PWRSTS_RET_ON, +}; + +static struct gdsc hlos1_vote_mmnoc_mmu_tbu_hf0_gdsc =3D { + .gdscr =3D 0x7d050, + .pd =3D { + .name =3D "hlos1_vote_mmnoc_mmu_tbu_hf0_gdsc", + }, + .pwrsts =3D PWRSTS_OFF_ON, + .flags =3D VOTABLE, +}; + +static struct gdsc hlos1_vote_mmnoc_mmu_tbu_hf1_gdsc =3D { + .gdscr =3D 0x7d058, + .pd =3D { + .name =3D "hlos1_vote_mmnoc_mmu_tbu_hf1_gdsc", + }, + .pwrsts =3D PWRSTS_OFF_ON, + .flags =3D VOTABLE, +}; + +static struct gdsc hlos1_vote_mmnoc_mmu_tbu_sf0_gdsc =3D { + .gdscr =3D 0x7d054, + .pd =3D { + .name =3D "hlos1_vote_mmnoc_mmu_tbu_sf0_gdsc", + }, + .pwrsts =3D PWRSTS_OFF_ON, + .flags =3D VOTABLE, +}; + +static struct clk_regmap *gcc_sm7250_clocks[] =3D { + [GCC_AGGRE_UFS_PHY_AXI_CLK] =3D &gcc_aggre_ufs_phy_axi_clk.clkr, + [GCC_AGGRE_USB3_PRIM_AXI_CLK] =3D &gcc_aggre_usb3_prim_axi_clk.clkr, + [GCC_BOOT_ROM_AHB_CLK] =3D &gcc_boot_rom_ahb_clk.clkr, + [GCC_CAMERA_HF_AXI_CLK] =3D &gcc_camera_hf_axi_clk.clkr, + [GCC_CAMERA_SF_AXI_CLK] =3D &gcc_camera_sf_axi_clk.clkr, + [GCC_CAMERA_XO_CLK] =3D &gcc_camera_xo_clk.clkr, + [GCC_CFG_NOC_USB3_PRIM_AXI_CLK] =3D &gcc_cfg_noc_usb3_prim_axi_clk.clkr, + [GCC_CPUSS_AHB_CLK] =3D &gcc_cpuss_ahb_clk.clkr, + [GCC_CPUSS_AHB_CLK_SRC] =3D &gcc_cpuss_ahb_clk_src.clkr, + [GCC_CPUSS_GNOC_CLK] =3D &gcc_cpuss_gnoc_clk.clkr, + [GCC_CPUSS_RBCPR_CLK] =3D &gcc_cpuss_rbcpr_clk.clkr, + [GCC_DDRSS_GPU_AXI_CLK] =3D &gcc_ddrss_gpu_axi_clk.clkr, + [GCC_DISP_GPLL0_CLK_SRC] =3D &gcc_disp_gpll0_clk_src.clkr, + [GCC_DISP_HF_AXI_CLK] =3D &gcc_disp_hf_axi_clk.clkr, + [GCC_DISP_SF_AXI_CLK] =3D &gcc_disp_sf_axi_clk.clkr, + [GCC_DISP_XO_CLK] =3D &gcc_disp_xo_clk.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_GPU_GPLL0_CLK_SRC] =3D &gcc_gpu_gpll0_clk_src.clkr, + [GCC_GPU_GPLL0_DIV_CLK_SRC] =3D &gcc_gpu_gpll0_div_clk_src.clkr, + [GCC_GPU_IREF_CLK] =3D &gcc_gpu_iref_clk.clkr, + [GCC_GPU_MEMNOC_GFX_CLK] =3D &gcc_gpu_memnoc_gfx_clk.clkr, + [GCC_GPU_SNOC_DVM_GFX_CLK] =3D &gcc_gpu_snoc_dvm_gfx_clk.clkr, + [GCC_NPU_AXI_CLK] =3D &gcc_npu_axi_clk.clkr, + [GCC_NPU_BWMON2_AXI_CLK] =3D &gcc_npu_bwmon2_axi_clk.clkr, + [GCC_NPU_BWMON_AXI_CLK] =3D &gcc_npu_bwmon_axi_clk.clkr, + [GCC_NPU_BWMON_CFG_AHB_CLK] =3D &gcc_npu_bwmon_cfg_ahb_clk.clkr, + [GCC_NPU_CFG_AHB_CLK] =3D &gcc_npu_cfg_ahb_clk.clkr, + [GCC_NPU_DMA_CLK] =3D &gcc_npu_dma_clk.clkr, + [GCC_NPU_GPLL0_CLK_SRC] =3D &gcc_npu_gpll0_clk_src.clkr, + [GCC_NPU_GPLL0_DIV_CLK_SRC] =3D &gcc_npu_gpll0_div_clk_src.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_PRNG_AHB_CLK] =3D &gcc_prng_ahb_clk.clkr, + [GCC_QMIP_CAMERA_NRT_AHB_CLK] =3D &gcc_qmip_camera_nrt_ahb_clk.clkr, + [GCC_QMIP_CAMERA_RT_AHB_CLK] =3D &gcc_qmip_camera_rt_ahb_clk.clkr, + [GCC_QMIP_DISP_AHB_CLK] =3D &gcc_qmip_disp_ahb_clk.clkr, + [GCC_QMIP_RT_DISP_AHB_CLK] =3D &gcc_qmip_rt_disp_ahb_clk.clkr, + [GCC_QMIP_VIDEO_CVP_AHB_CLK] =3D &gcc_qmip_video_cvp_ahb_clk.clkr, + [GCC_QMIP_VIDEO_VCODEC_AHB_CLK] =3D &gcc_qmip_video_vcodec_ahb_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_WRAP0_S5_CLK] =3D &gcc_qupv3_wrap0_s5_clk.clkr, + [GCC_QUPV3_WRAP0_S5_CLK_SRC] =3D &gcc_qupv3_wrap0_s5_clk_src.clkr, + [GCC_QUPV3_WRAP1_CORE_2X_CLK] =3D &gcc_qupv3_wrap1_core_2x_clk.clkr, + [GCC_QUPV3_WRAP1_CORE_CLK] =3D &gcc_qupv3_wrap1_core_clk.clkr, + [GCC_QUPV3_WRAP1_S0_CLK] =3D &gcc_qupv3_wrap1_s0_clk.clkr, + [GCC_QUPV3_WRAP1_S0_CLK_SRC] =3D &gcc_qupv3_wrap1_s0_clk_src.clkr, + [GCC_QUPV3_WRAP1_S1_CLK] =3D &gcc_qupv3_wrap1_s1_clk.clkr, + [GCC_QUPV3_WRAP1_S1_CLK_SRC] =3D &gcc_qupv3_wrap1_s1_clk_src.clkr, + [GCC_QUPV3_WRAP1_S2_CLK] =3D &gcc_qupv3_wrap1_s2_clk.clkr, + [GCC_QUPV3_WRAP1_S2_CLK_SRC] =3D &gcc_qupv3_wrap1_s2_clk_src.clkr, + [GCC_QUPV3_WRAP1_S3_CLK] =3D &gcc_qupv3_wrap1_s3_clk.clkr, + [GCC_QUPV3_WRAP1_S3_CLK_SRC] =3D &gcc_qupv3_wrap1_s3_clk_src.clkr, + [GCC_QUPV3_WRAP1_S4_CLK] =3D &gcc_qupv3_wrap1_s4_clk.clkr, + [GCC_QUPV3_WRAP1_S4_CLK_SRC] =3D &gcc_qupv3_wrap1_s4_clk_src.clkr, + [GCC_QUPV3_WRAP1_S5_CLK] =3D &gcc_qupv3_wrap1_s5_clk.clkr, + [GCC_QUPV3_WRAP1_S5_CLK_SRC] =3D &gcc_qupv3_wrap1_s5_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_QUPV3_WRAP_1_M_AHB_CLK] =3D &gcc_qupv3_wrap_1_m_ahb_clk.clkr, + [GCC_QUPV3_WRAP_1_S_AHB_CLK] =3D &gcc_qupv3_wrap_1_s_ahb_clk.clkr, + [GCC_SDCC1_AHB_CLK] =3D &gcc_sdcc1_ahb_clk.clkr, + [GCC_SDCC1_APPS_CLK] =3D &gcc_sdcc1_apps_clk.clkr, + [GCC_SDCC1_APPS_CLK_SRC] =3D &gcc_sdcc1_apps_clk_src.clkr, + [GCC_SDCC1_ICE_CORE_CLK] =3D &gcc_sdcc1_ice_core_clk.clkr, + [GCC_SDCC1_ICE_CORE_CLK_SRC] =3D &gcc_sdcc1_ice_core_clk_src.clkr, + [GCC_SDCC2_AHB_CLK] =3D &gcc_sdcc2_ahb_clk.clkr, + [GCC_SDCC2_APPS_CLK] =3D &gcc_sdcc2_apps_clk.clkr, + [GCC_SDCC2_APPS_CLK_SRC] =3D &gcc_sdcc2_apps_clk_src.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_UFS_1X_CLKREF_CLK] =3D &gcc_ufs_1x_clkref_clk.clkr, + [GCC_UFS_PHY_AHB_CLK] =3D &gcc_ufs_phy_ahb_clk.clkr, + [GCC_UFS_PHY_AXI_CLK] =3D &gcc_ufs_phy_axi_clk.clkr, + [GCC_UFS_PHY_AXI_CLK_SRC] =3D &gcc_ufs_phy_axi_clk_src.clkr, + [GCC_UFS_PHY_ICE_CORE_CLK] =3D &gcc_ufs_phy_ice_core_clk.clkr, + [GCC_UFS_PHY_ICE_CORE_CLK_SRC] =3D &gcc_ufs_phy_ice_core_clk_src.clkr, + [GCC_UFS_PHY_PHY_AUX_CLK] =3D &gcc_ufs_phy_phy_aux_clk.clkr, + [GCC_UFS_PHY_PHY_AUX_CLK_SRC] =3D &gcc_ufs_phy_phy_aux_clk_src.clkr, + [GCC_UFS_PHY_RX_SYMBOL_0_CLK] =3D &gcc_ufs_phy_rx_symbol_0_clk.clkr, + [GCC_UFS_PHY_RX_SYMBOL_1_CLK] =3D &gcc_ufs_phy_rx_symbol_1_clk.clkr, + [GCC_UFS_PHY_TX_SYMBOL_0_CLK] =3D &gcc_ufs_phy_tx_symbol_0_clk.clkr, + [GCC_UFS_PHY_UNIPRO_CORE_CLK] =3D &gcc_ufs_phy_unipro_core_clk.clkr, + [GCC_UFS_PHY_UNIPRO_CORE_CLK_SRC] =3D + &gcc_ufs_phy_unipro_core_clk_src.clkr, + [GCC_USB30_PRIM_MASTER_CLK] =3D &gcc_usb30_prim_master_clk.clkr, + [GCC_USB30_PRIM_MASTER_CLK_SRC] =3D &gcc_usb30_prim_master_clk_src.clkr, + [GCC_USB30_PRIM_MOCK_UTMI_CLK] =3D &gcc_usb30_prim_mock_utmi_clk.clkr, + [GCC_USB30_PRIM_MOCK_UTMI_CLK_SRC] =3D + &gcc_usb30_prim_mock_utmi_clk_src.clkr, + [GCC_USB30_PRIM_SLEEP_CLK] =3D &gcc_usb30_prim_sleep_clk.clkr, + [GCC_USB3_PRIM_CLKREF_CLK] =3D &gcc_usb3_prim_clkref_clk.clkr, + [GCC_USB3_PRIM_PHY_AUX_CLK] =3D &gcc_usb3_prim_phy_aux_clk.clkr, + [GCC_USB3_PRIM_PHY_AUX_CLK_SRC] =3D &gcc_usb3_prim_phy_aux_clk_src.clkr, + [GCC_USB3_PRIM_PHY_COM_AUX_CLK] =3D &gcc_usb3_prim_phy_com_aux_clk.clkr, + [GCC_USB3_PRIM_PHY_PIPE_CLK] =3D &gcc_usb3_prim_phy_pipe_clk.clkr, + [GCC_VIDEO_AXI_CLK] =3D &gcc_video_axi_clk.clkr, + [GCC_VIDEO_XO_CLK] =3D &gcc_video_xo_clk.clkr, + [GPLL0] =3D &gpll0.clkr, + [GPLL0_OUT_EVEN] =3D &gpll0_out_even.clkr, + [GPLL6] =3D &gpll6.clkr, + [GPLL9] =3D &gpll9.clkr, +}; + +static struct gdsc *gcc_sm7250_gdscs[] =3D { + [UFS_PHY_GDSC] =3D &ufs_phy_gdsc, + [USB30_PRIM_GDSC] =3D &usb30_prim_gdsc, + [HLOS1_VOTE_MMNOC_MMU_TBU_HF0_GDSC] =3D + &hlos1_vote_mmnoc_mmu_tbu_hf0_gdsc, + [HLOS1_VOTE_MMNOC_MMU_TBU_HF1_GDSC] =3D + &hlos1_vote_mmnoc_mmu_tbu_hf1_gdsc, + [HLOS1_VOTE_MMNOC_MMU_TBU_SF0_GDSC] =3D + &hlos1_vote_mmnoc_mmu_tbu_sf0_gdsc, +}; + +static const struct qcom_reset_map gcc_sm7250_resets[] =3D { + [GCC_DPM_BCR] =3D { 0x46000 }, + [GCC_GPU_BCR] =3D { 0x71000 }, + [GCC_MMSS_BCR] =3D { 0xb000 }, + [GCC_NPU_BWMON_BCR] =3D { 0x70000 }, + [GCC_NPU_BCR] =3D { 0x4d000 }, + [GCC_PDM_BCR] =3D { 0x33000 }, + [GCC_PRNG_BCR] =3D { 0x34000 }, + [GCC_QUPV3_WRAPPER_0_BCR] =3D { 0x17000 }, + [GCC_QUPV3_WRAPPER_1_BCR] =3D { 0x18000 }, + [GCC_QUSB2PHY_PRIM_BCR] =3D { 0x12000 }, + [GCC_SDCC1_BCR] =3D { 0x26000 }, + [GCC_SDCC2_BCR] =3D { 0x14000 }, + [GCC_SDCC4_BCR] =3D { 0x16000 }, + [GCC_UFS_PHY_BCR] =3D { 0x77000 }, + [GCC_USB30_PRIM_BCR] =3D { 0xf000 }, + [GCC_USB3_DP_PHY_PRIM_BCR] =3D { 0x50008 }, + [GCC_USB3_PHY_PRIM_BCR] =3D { 0x50000 }, + [GCC_USB3PHY_PHY_PRIM_BCR] =3D { 0x50004 }, + [GCC_USB_PHY_CFG_AHB2PHY_BCR] =3D { 0x6a000 }, +}; + +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), + DEFINE_RCG_DFS(gcc_qupv3_wrap0_s5_clk_src), + DEFINE_RCG_DFS(gcc_qupv3_wrap1_s0_clk_src), + DEFINE_RCG_DFS(gcc_qupv3_wrap1_s1_clk_src), + DEFINE_RCG_DFS(gcc_qupv3_wrap1_s2_clk_src), + DEFINE_RCG_DFS(gcc_qupv3_wrap1_s3_clk_src), + DEFINE_RCG_DFS(gcc_qupv3_wrap1_s4_clk_src), + DEFINE_RCG_DFS(gcc_qupv3_wrap1_s5_clk_src), +}; + +static const struct regmap_config gcc_sm7250_regmap_config =3D { + .reg_bits =3D 32, + .reg_stride =3D 4, + .val_bits =3D 32, + .max_register =3D 0x9c100, + .fast_io =3D true, +}; + +static const struct qcom_cc_desc gcc_sm7250_desc =3D { + .config =3D &gcc_sm7250_regmap_config, + .clks =3D gcc_sm7250_clocks, + .num_clks =3D ARRAY_SIZE(gcc_sm7250_clocks), + .resets =3D gcc_sm7250_resets, + .num_resets =3D ARRAY_SIZE(gcc_sm7250_resets), + .gdscs =3D gcc_sm7250_gdscs, + .num_gdscs =3D ARRAY_SIZE(gcc_sm7250_gdscs), +}; + +static const struct of_device_id gcc_sm7250_match_table[] =3D { + { .compatible =3D "qcom,sm7250-gcc" }, + { } +}; +MODULE_DEVICE_TABLE(of, gcc_sm7250_match_table); + +static int gcc_sm7250_probe(struct platform_device *pdev) +{ + struct regmap *regmap; + int ret; + + regmap =3D qcom_cc_map(pdev, &gcc_sm7250_desc); + if (IS_ERR(regmap)) + return PTR_ERR(regmap); + + /* + * Disable the GPLL0 active input to NPU and GPU + * via MISC registers. + */ + regmap_update_bits(regmap, 0x4d110, 0x3, 0x3); + regmap_update_bits(regmap, 0x71028, 0x3, 0x3); + + /* Keep some clocks always-on */ + qcom_branch_set_clk_en(regmap, 0x0b004); /* GCC_VIDEO_AHB_CLK */ + qcom_branch_set_clk_en(regmap, 0x0b008); /* GCC_CAMERA_AHB_CLK */ + qcom_branch_set_clk_en(regmap, 0x0b00c); /* GCC_DISP_AHB_CLK */ + qcom_branch_set_clk_en(regmap, 0x71004); /* GCC_GPU_CFG_AHB_CLK */ + qcom_branch_set_clk_en(regmap, 0x52000); /* GCC_SYS_NOC_CPUSS_AHB_CLK */ + + ret =3D qcom_cc_register_rcg_dfs(regmap, gcc_dfs_clocks, + ARRAY_SIZE(gcc_dfs_clocks)); + if (ret) + return ret; + + return qcom_cc_really_probe(&pdev->dev, &gcc_sm7250_desc, regmap); +} + +static struct platform_driver gcc_sm7250_driver =3D { + .probe =3D gcc_sm7250_probe, + .driver =3D { + .name =3D "gcc-sm7250", + .of_match_table =3D gcc_sm7250_match_table, + }, +}; + +static int __init gcc_sm7250_init(void) +{ + return platform_driver_register(&gcc_sm7250_driver); +} +subsys_initcall(gcc_sm7250_init); + +static void __exit gcc_sm7250_exit(void) +{ + platform_driver_unregister(&gcc_sm7250_driver); +} +module_exit(gcc_sm7250_exit); + +MODULE_DESCRIPTION("QTI GCC SM7250 Driver"); +MODULE_LICENSE("GPL"); --=20 2.43.0 From nobody Mon Sep 28 19:23:39 2026 Received: from mail-pl1-f177.google.com (mail-pl1-f177.google.com [209.85.214.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6F0C141D13B for ; Tue, 18 Aug 2026 08:09:08 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.177 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787040550; cv=none; b=bk8KARJ3UoPF3bPGr5WztcZIw/370yGd2hSuHMtdkYcHb4gCitbglAkqhYfPkYeMrnxj012tvSYfl0PyB5I9NvTHGqvPOeTjmF0VU4isedjiluRjdBKVvfx3SqFzOA5V6tSWiGFq8u5LizOveG7RkPpXHTOVKBD8mRP6xzNEVfM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787040550; c=relaxed/simple; bh=9lh6SnLl8V0+6EkqXPMHz3NbVXtbKUgYWv5JtTJxcyA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=HfmN2uwS1/tQRaFrOISK2jdHnRcQMjfJEQ05IENbZSa+L6pTfHA0oqVt2nPLGgbboyXOGfLZGY2UtTTBAQBjiOgzmkHRfsKphvQH0C4gMGRj/rGoq1Ise/WINN6S5jSnMtMDYBYMxq6v7FxudkJI6NLG4+SbAu7cCLmy9ZKFaoA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=h3mAW38B; arc=none smtp.client-ip=209.85.214.177 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="h3mAW38B" Received: by mail-pl1-f177.google.com with SMTP id d9443c01a7336-2cacb8416a1so41710005ad.1 for ; Tue, 18 Aug 2026 01:09:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1787040548; x=1787645348; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=8ovohQRp3uO6IS6H5dgbCzXT2FrwL8JP6NNpNzDBnNU=; b=h3mAW38BsYjZeHUgtpAJqG0AzgkNFFTZlrl7UcAxllu952+AKrEXOd8Th1rzGLwLJ1 akMsfwOVGolyAcDf8RaLje6Vh25fXnKfg2MUktDBuSPz3Ia3YluhJmX2+DswYjZ2Yduu Y7PUULH98cIbQvs/b+UUzYQTKBpM/H27yepQsFG6aC+QAr6VukzY6ihHcq0Ezcgm0/N/ +ipa7vsyULKl8v3EhpM4CtAoebJr5eSifAzxKsJfYU+4i304KMD+aXTLI8GBO6umqCwG 0TLps4l2wj93rcM+82fp2FYYmemyLS+MZHKdCfjdWLYmC+g85YLZGrWhLWGbQ3jt65tJ kn4g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787040548; x=1787645348; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=8ovohQRp3uO6IS6H5dgbCzXT2FrwL8JP6NNpNzDBnNU=; b=Rf5+sMBzcjYpfJqTiYl1ZEXRkZwTNpqQpc0w3jQelJbfY0uoiFW5lzXzBOelc4dEKA tCmtGrckFNOqZlMUqQ9mDOexQYTG3hxAIdTYZ9q2EPTL0AWazkWMjWru/AY5f3IyVEgd rbVymNqxJwmmqPQs1xwcGEn+gYdYPgqSgfD2CZpOFTIBSPdZskFdi7A1daq7VO9gN86K sfIH+COHMr/9bxqhejMM+7UDKps1Wbbg6ldHZCykhTL/5/R9ieWbeNtQ0q/49Tv6Ptuz GxQIvXgc5LVi9AoojKmNtH6sXg1G7jhXWDBdR0pIyYFkmmIKK7DxOGmvRvmFz93Iz7c3 NtWw== X-Forwarded-Encrypted: i=1; AHgh+RqaI+qD17lFCZi70QGm9sAhP73YA6sOg24jFuPt3mpQrWhSqGGOhsRiloXVFUvKDtiKKojB0ja2M4Nf5Rg=@vger.kernel.org X-Gm-Message-State: AOJu0Yz1MEqwQL2blAsHyJ1rjB+mjbI2eF+cY1ED5Y6tITUySZ3SFBA8 BotMuIKsXPc5Y8p1zTQNVlShUU3MJNGARdE5S2je2hbo+FPZqP6EJ4wJ X-Gm-Gg: AR+sD10jYvTmdLS/hui/e25NfWfiXfC25mpuFGrgnPRaZTugIubEnCi2p1KtlZVp0Pr iFahzJTfbl4P7GwdIEH3gg5fd6VFrbZNG63qkN1DdlDS/YfdYdHwTAXJ2q7Hm/krowl6O+WjWW7 JZTk3efQ13LGw3dnfzu3rorwkrNtJIG+v2Oj6IhhQghQNR2EGJoIaZ9Wzqipuu+i8Mp/T2c5vtY pZZD6NcvjOdN0CeRQU0/nrm6FliACx/9CAjU9wW+WOwmmb7bNoxcZSo0s3COgcCammAoucgH5Oo /z8W+hQflmrTCfHiWlZyKqAYnS2VhW3I52iej4p00aVHJp6ZYj/kqGITvmKkqcQc9Fr4eCnNBPk Sko7OTJds8iqagH17VK/0WuJyOBLTTuWM8PMige0P1C6BiDkk8bUJP95Vg0bDnUs7um3Zb/2Y+q H3BJoEqGSlh9u56OXWwz/k15SwRnDl6cl23zdeL6rN1FieLFU9SAptCzZpv82G4yDcizQxTRLQE m98uc9lVkHZylnzU3wgMQ== X-Received: by 2002:a17:902:cf03:b0:2cf:ca89:499d with SMTP id d9443c01a7336-2d3b0b1f7a7mr335017295ad.7.1787040547743; Tue, 18 Aug 2026 01:09:07 -0700 (PDT) Received: from localhost.localdomain ([152.58.217.90]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-32678dd08d6sm22606290eec.4.2026.08.18.01.08.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 18 Aug 2026 01:09:07 -0700 (PDT) From: Sreeshankar K To: robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org, andersson@kernel.org, mturquette@baylibre.com, sboyd@kernel.org, konradybcio@kernel.org, tglx@kernel.org, ulfh@kernel.org Cc: bmasney@redhat.com, lpieralisi@kernel.org, quic_tdas@quicinc.com, danila@mainlining.org, davidwronek@gmail.com, robimarko@gmail.com, linux@gurudas.dev, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-clk@vger.kernel.org, linux-pm@vger.vger.kernel.org, Sreeshankar K Subject: [PATCH 05/12] dt-bindings: clock: qcom,rpmhcc: Document RPMHCC bindings for SM7250 Date: Tue, 18 Aug 2026 08:07:47 +0000 Message-ID: <20260818080754.4362-6-sreeshankar0910@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260818080754.4362-1-sreeshankar0910@gmail.com> References: <20260818080754.4362-1-sreeshankar0910@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Document RPMHCC bindings for clock rpmh driver on Qualcomm SM7250 SoC. Signed-off-by: Sreeshankar K Reviewed-by and Acked-by tags are properly included. --- 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 d344b3386..df9e37f90 100644 --- a/Documentation/devicetree/bindings/clock/qcom,rpmhcc.yaml +++ b/Documentation/devicetree/bindings/clock/qcom,rpmhcc.yaml @@ -38,6 +38,7 @@ properties: - qcom,sdx75-rpmh-clk - qcom,sm4450-rpmh-clk - qcom,sm6350-rpmh-clk + - qcom,sm7250-rpmh-clk - qcom,sm8150-rpmh-clk - qcom,sm8250-rpmh-clk - qcom,sm8350-rpmh-clk --=20 2.43.0 From nobody Mon Sep 28 19:23:39 2026 Received: from mail-pg1-f178.google.com (mail-pg1-f178.google.com [209.85.215.178]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A4AAE33F58B for ; Tue, 18 Aug 2026 08:09:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.215.178 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787040559; cv=none; b=FUhEhvLQL7swV/uwgM8S8seIzWjEnmYqC1jZ/a9rVHFp9OIsbsd7AKMbualnsNMrc8jIWAfh2EeQvH/HiP1wvXmHzxwM5wpt8gGzR5bIXsTXtfscoe221Q/OHMJ6I0tDWdZzKggrdG1KquytbWhaAt4bBmir3B1pQxRHRfMemtI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787040559; c=relaxed/simple; bh=99pJRjLsjgQp97RPaeWEZ1YZegnfkzqsNfQJNAJNwP4=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=tmw31GVkkZzoRgL41PndZzHdRvOJfz2bJvzQBz09bIpJNJNfg8YS5VKvTy00TRHYIF/fSyW7YEdEHraLeo81eMoDiGRrXfsM6wn8mYpk3FR01mkI7HdtBMQ9q3tDCHDp6GoVf/7eeFUj6WnaDWPk5U1nFOitsI1PHZLyvpF+Cwc= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=IEWORsss; arc=none smtp.client-ip=209.85.215.178 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="IEWORsss" Received: by mail-pg1-f178.google.com with SMTP id 41be03b00d2f7-cbb8b54fcf8so3944748a12.0 for ; Tue, 18 Aug 2026 01:09:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1787040557; x=1787645357; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=iXCkXj9IgKaAKQ31oXzwXtt5dbLLTdIsAYd130AoDV0=; b=IEWORsssTau2nCRyVcCAFGoqDUhK9/8Jn1gXjl9G0ucpd0cuPctQlH6DIUMBp3ArPX KKO1pLUNK+lkc0w19q+daqr3iyyfKl0a8glEjrCIo8gklCtsNScwmQYae8FJntVZ0PuY SvHktqp0I+mlQnbLK6598dvW4m/2opaQWu2VsAnJ12+kFs4vdT05CYifBjl5Dp1XJrLl FHvaAcWrLCzVWtvoTlmiJuKG1Au+XJ8CQvTTXIH8ZchYZQOw43Oo8RxptMMT6ZgX0B45 /UX1Pw9niHqXqC7PO78Ds+AiU+pKaMYuY8kFxtboz4XF7FW7VdNbOcUMDKDFL/E1dD9k 1XYg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787040557; x=1787645357; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=iXCkXj9IgKaAKQ31oXzwXtt5dbLLTdIsAYd130AoDV0=; b=ThjDpm2GaB/GwnyHsZ8KET3l2avRnJ9LsF4YxH8tFuU91QTWGIzYNoMnwrEtZuotEo TCCnb9ziFaSFry6v0Jm1YS93JxAYD3ORO85ToGOCRSr8L3A7WEfdDjXfJo45fwWGq9ql KnsJCrc4E/9iBBO3jNVuFIzkDnnl7sS+8I1C18sJVoIxB2j7b1gTCAdT/fL/PLnK9Vhe ea63uriD2Tumoh5feJ+KB1QbZO8qXMh6591evFnBpPIE2BR+s5AcymH9QZ/4M7JKqCqb qxd+5fsTAGJoeqThM9Bb3QnN79iJzYkwxBvndM/H8WL65wH2FGmvFYCIUg7BSRAHiyPH fupQ== X-Forwarded-Encrypted: i=1; AHgh+RpfQOtEKXCzEgcRxEI1an3aR8Ofl0BKFkK96Or0Ur10sgzDcCfXyxi7xrUqZq4uNT2f86iZel20WDO3ShE=@vger.kernel.org X-Gm-Message-State: AOJu0YxyW4ffsUP4E1gVILXaXQg+zeELw9SExd+QpgV9PlDPL4RkXtiv PyRMYJDKLhMtyDymmoa0PyVGfzLMa7fWn8SJEm7daC/NIYDf9ofkQN8X X-Gm-Gg: AR+sD10KKaaON7CvozrtQewrwWJDFhbYYIQxkEDTGwyEJr0umw6uMGKTT0Bbdpp+ST3 KBy2EflDiKyXbqZo1dnt5sUX+tuDT3Ti4nwrXUGvFRgLiYj8KgOya0ZnZS9rnGNCc2vDzag93YS 29QWBClUWNVIPpqefPWHSlAyyXnq0FdBOm+6momm5+d6wiKZSEME22W5ux4J3+oZ6V32iHmzlTn RpuBO6SAi4Fh9rVxUUNJ62xFzhnLLmu9MXZibYBP8qeYURFeFu3zYY4RfRTbDMzJpPV0WzeK0YM TpTl1pndvIalU0TademO2UJpuE2Q8X65kgNSAR7D3A8LQr3u4tI3FcQdqQsEAA0z4jBRYHikTKl o660Sq4TU5nwMESVCZ/slScAuUVYD9+7WVVwokRb3PmIdMdX0X+5cpxgz6r8rzZPHVEuGzFKblH x6O13TruAA8xhUbVnL61L+IfHrfqOMfGdxs/yphIf6e6BPAtXh6LI1yZKR0DGpZejEweiw9IgBo A8GcjlSzmk= X-Received: by 2002:a05:6a21:328b:b0:3c3:704d:57c4 with SMTP id adf61e73a8af0-3ccda9e2767mr8314311637.12.1787040556809; Tue, 18 Aug 2026 01:09:16 -0700 (PDT) Received: from localhost.localdomain ([152.58.217.90]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-32678dd08d6sm22606290eec.4.2026.08.18.01.09.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 18 Aug 2026 01:09:15 -0700 (PDT) From: Sreeshankar K To: robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org, andersson@kernel.org, mturquette@baylibre.com, sboyd@kernel.org, konradybcio@kernel.org, tglx@kernel.org, ulfh@kernel.org Cc: bmasney@redhat.com, lpieralisi@kernel.org, quic_tdas@quicinc.com, danila@mainlining.org, davidwronek@gmail.com, robimarko@gmail.com, linux@gurudas.dev, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-clk@vger.kernel.org, linux-pm@vger.vger.kernel.org, Sreeshankar K Subject: [PATCH 06/12] clk: qcom: rpmh: Add SM7250 rpmh clocks Date: Tue, 18 Aug 2026 08:07:48 +0000 Message-ID: <20260818080754.4362-7-sreeshankar0910@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260818080754.4362-1-sreeshankar0910@gmail.com> References: <20260818080754.4362-1-sreeshankar0910@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Add the RPMH clocks present in SM7250 SoC. Signed-off-by: Sreeshankar K Reviewed-by: Abel Vesa Reviewed-by: Dmitry Baryshkov --- drivers/clk/qcom/clk-rpmh.c | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/drivers/clk/qcom/clk-rpmh.c b/drivers/clk/qcom/clk-rpmh.c index 6367b2a5a..f4cafa274 100644 --- a/drivers/clk/qcom/clk-rpmh.c +++ b/drivers/clk/qcom/clk-rpmh.c @@ -1011,6 +1011,29 @@ static const struct clk_rpmh_desc clk_rpmh_hawi =3D { .num_clks =3D ARRAY_SIZE(hawi_rpmh_clocks), }; =20 +static struct clk_hw *sm7250_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_LN_BB_CLK2] =3D &clk_rpmh_ln_bb_clk2_a2.hw, + [RPMH_LN_BB_CLK2_A] =3D &clk_rpmh_ln_bb_clk2_a2_ao.hw, + [RPMH_LN_BB_CLK3] =3D &clk_rpmh_ln_bb_clk3_a2.hw, + [RPMH_LN_BB_CLK3_A] =3D &clk_rpmh_ln_bb_clk3_a2_ao.hw, + [RPMH_RF_CLK1] =3D &clk_rpmh_rf_clk1_d.hw, + [RPMH_RF_CLK1_A] =3D &clk_rpmh_rf_clk1_d_ao.hw, + [RPMH_RF_CLK2] =3D &clk_rpmh_rf_clk2_d.hw, + [RPMH_RF_CLK2_A] =3D &clk_rpmh_rf_clk2_d_ao.hw, + [RPMH_RF_CLK3] =3D &clk_rpmh_rf_clk3_d.hw, + [RPMH_RF_CLK3_A] =3D &clk_rpmh_rf_clk3_d_ao.hw, + [RPMH_RF_CLK4] =3D &clk_rpmh_rf_clk4_d.hw, + [RPMH_RF_CLK4_A] =3D &clk_rpmh_rf_clk4_d_ao.hw, + [RPMH_IPA_CLK] =3D &clk_rpmh_ipa.hw, +}; + +static const struct clk_rpmh_desc clk_rpmh_sm7250 =3D { + .clks =3D sm7250_rpmh_clocks, + .num_clks =3D ARRAY_SIZE(sm7250_rpmh_clocks), +}; + static struct clk_hw *of_clk_rpmh_hw_get(struct of_phandle_args *clkspec, void *data) { @@ -1120,6 +1143,7 @@ static const struct of_device_id clk_rpmh_match_table= [] =3D { { .compatible =3D "qcom,sdx75-rpmh-clk", .data =3D &clk_rpmh_sdx75}, { .compatible =3D "qcom,sm4450-rpmh-clk", .data =3D &clk_rpmh_sm4450}, { .compatible =3D "qcom,sm6350-rpmh-clk", .data =3D &clk_rpmh_sm6350}, + { .compatible =3D "qcom,sm7250-rpmh-clk", .data =3D &clk_rpmh_sm7250}, { .compatible =3D "qcom,sm8150-rpmh-clk", .data =3D &clk_rpmh_sm8150}, { .compatible =3D "qcom,sm8250-rpmh-clk", .data =3D &clk_rpmh_sm8250}, { .compatible =3D "qcom,sm8350-rpmh-clk", .data =3D &clk_rpmh_sm8350}, --=20 2.43.0 From nobody Mon Sep 28 19:23:39 2026 Received: from mail-pg1-f179.google.com (mail-pg1-f179.google.com [209.85.215.179]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2C659411F8D for ; Tue, 18 Aug 2026 08:09:26 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.215.179 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787040567; cv=none; b=lykZb4azOaonAxHGYkj0HP5Gw8TypgLbCTuFRrNiaP8puqF+Qz0cdAD4OQt1n6w8wgeMjqZ8iaW4/r1J2Qy+QYiAyMfW1a+W7rLOW2+xSv+1lV6iUc1oUlnAVN7rlNKneE68MqGUF55Yh5Uw/BwhcWkg/NwLoMIRE5NX+htrZRg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787040567; c=relaxed/simple; bh=WQnQ6/awaqesyO4FuxnwtkQQVd/qID9Itar1frdoCTo=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=KEAuXSJFQq3oD2+VFSBMXJ9sxfmGScjx+qYM5+FNjUgtZup6wTMl5PY9fO7UzJS7TsumhX1EtOb0vGjT++oKaSqGpl/yOlrn1ScV/03WGlFM3Q6e+1DnF+qYYUZrB8LnsqsRP+lkdzY3UvpTjfexGK+MjBbFSfMyAEcfR/HoVUA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=s9wSldjb; arc=none smtp.client-ip=209.85.215.179 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="s9wSldjb" Received: by mail-pg1-f179.google.com with SMTP id 41be03b00d2f7-cbb8b54fcf8so3944931a12.0 for ; Tue, 18 Aug 2026 01:09:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1787040565; x=1787645365; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=iuOxCh9qY6VsPX+/asBmCdWifj8i9okEwYPqtY8odhc=; b=s9wSldjbks3MfCo+8vm1hxSmEmAAB/txoB4gFiYiRNrHVnJM1HIY1YEg5L5BxOkXUV ZrT1lLOH+CQxSqnDy/6vj7gIHDBwjqatAamXFVgb3N6sxHcW3Zz61TNPWBPbCsffDr5T Vp8W3zizV0EzMRwh6kaoMJH/Bkhs6trLuBsjEsDGdZcqMXtoctDuwiSPTyw+u/a0qMwX m+dvdxpfjoG5OaJ4pRkTYSJGk3fwExd5pLgGiDC/u4DPcbeqjdu+cVDYXHEZfIOBUCr4 MfqZjfiK2m1Qfq3Fmsi0bMe1opD39BvudrRi0KZSESysYlu/JirR76VWHw7c1bKEaHeN sQTA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787040565; x=1787645365; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=iuOxCh9qY6VsPX+/asBmCdWifj8i9okEwYPqtY8odhc=; b=GtPmI7UqG6W5pQDwfk53vtVUJOf9UcblTdaeQalyIqlkpPU4/zH8Sj6+QQLYTxDsE1 tYIBTu/XPZay6EiDo8hPpG3IMeNED9wusAw3/JjhO7WmiXshavfIVqyWE9KFl9IY6J5J jXq2Wm2eh5P75DCV/+TDVJR7d/vVl68hznbOKbQ1CFLvDJ9GCGiXr7Xk97W8dvxWF4+D kn7n7Ks52leiCaSpQghygdbI42CqP5teSZOYpVpT65dm5+FrJ/GblR+AQ8pWukRO4yAq VbhdERNDGx3rvXcr0Kaa39UsCDeHhVlG1XfPdBNd/tPRM9h/fJj5y5AVgbKGNUUjkMsr AfiQ== X-Forwarded-Encrypted: i=1; AHgh+RqCyIi/A4hCJboooHoEclblEVi2fr7W/IGyzFQtY5u7E9dJwbFj4rp3Q0IlqZtK/4AY4+HqJIHfvpmMVwg=@vger.kernel.org X-Gm-Message-State: AOJu0Yx4xm3ca8UDQC1I/k/Qw4AMRtguJeqWJ9lEn3DtRVzXDZ07O9Tl lmVvMbdI/t8l3mN8TcW1Bxy9PsJ0iPx6R5JlTr0bHe5HTK5QTlDoPiO5 X-Gm-Gg: AR+sD10dtagvZQ9HXASxtHwurb6HNQhzLnAohxdGnCEFUAzSjV5b2kmm4Qz3C+Qd9JB Ev9e/37K0Vg1q2+x9LSpMG9XmEoVxLwk9ZTS8P2U+kXMmVISXnvpy0dwEAWPO83Q+Ris9h6ureT mJCPEx+wlFKJdHll7oqC93OpAxET5Anxz6e8rBXjfhgHyNIHS6aNjkKMkXM7M5fgChuGotPYUJr ikRHRnSZl3LL/Sg2f5JGjZSyooWj6yjDyhmUqLco518wZ1QNJpTC8Abr71dxYzZwBJ/RKVB6g8V GVkAsMsZaw4GCAdyhFSmBHj4HEDzacUuCy78pXJFlmq2YBRCC+xk+4SZiv7TAlaLXCAj52nPgi6 OE95r6sYSIU/Pt2ffO5nrPLgxhXv8Vr5nMSWTGAFNTbWHV1VVz2fuQJP/6ipbhIOmwKm05I2cZc 54tu/cV3gZoLS5kuaUL9YUwK2pmKBZ4d9qX+xZ/jKJet+rn/OwP3VAkEK0oau6ZiatwG4IYL1Uk ZfQB9l2F/E= X-Received: by 2002:a05:6a21:7d0c:b0:3c3:a3fd:db0a with SMTP id adf61e73a8af0-3ccdaa0da04mr9243528637.16.1787040565566; Tue, 18 Aug 2026 01:09:25 -0700 (PDT) Received: from localhost.localdomain ([152.58.217.90]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-32678dd08d6sm22606290eec.4.2026.08.18.01.09.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 18 Aug 2026 01:09:24 -0700 (PDT) From: Sreeshankar K To: robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org, andersson@kernel.org, mturquette@baylibre.com, sboyd@kernel.org, konradybcio@kernel.org, tglx@kernel.org, ulfh@kernel.org Cc: bmasney@redhat.com, lpieralisi@kernel.org, quic_tdas@quicinc.com, danila@mainlining.org, davidwronek@gmail.com, robimarko@gmail.com, linux@gurudas.dev, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-clk@vger.kernel.org, linux-pm@vger.vger.kernel.org, Sreeshankar K Subject: [PATCH 07/12] dt-bindings: power: qcom,rpmhpd: Document RPMh power domain for SM7250 Date: Tue, 18 Aug 2026 08:07:49 +0000 Message-ID: <20260818080754.4362-8-sreeshankar0910@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260818080754.4362-1-sreeshankar0910@gmail.com> References: <20260818080754.4362-1-sreeshankar0910@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Document the RPMh power domain for SM7250 SoC. Signed-off-by: Sreeshankar K --- 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 0744a867c..427953913 100644 --- a/Documentation/devicetree/bindings/power/qcom,rpmpd.yaml +++ b/Documentation/devicetree/bindings/power/qcom,rpmpd.yaml @@ -63,6 +63,7 @@ properties: - qcom,sm6350-rpmhpd - qcom,sm6375-rpmpd - qcom,sm7150-rpmhpd + - qcom,sm7250-rpmhpd - qcom,sm8150-rpmhpd - qcom,sm8250-rpmhpd - qcom,sm8350-rpmhpd --=20 2.43.0 From nobody Mon Sep 28 19:23:39 2026 Received: from mail-pj1-f41.google.com (mail-pj1-f41.google.com [209.85.216.41]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1644541D22B for ; Tue, 18 Aug 2026 08:09:35 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.41 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787040576; cv=none; b=HHf/ux9KwSS4rlxRiP86WLk5ynghR2+8gfs5mu0W2VNrHoDAACkle+xBearhcmJUHAQklNkVKRxGG8UnOqAhaTh+YdFDqeJ1wXU9wpslJdWxYQ6wz++Hkjg64UiB1c/VmQtYAKJjxT1ZTLX30F0pEdMQHzkSLF2o3Fi0kt5qlAY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787040576; c=relaxed/simple; bh=hrc0R6KlKcRZuarL4/2xinfYS5AgbkPGLDVTEkPPZ74=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=dPo4C82VMOdVmA330nuX/iwOrhOirmS5t1OZBSEajX7t2ak/Nk+xhpMpvgX/JfRsYtJO/P4C1rd1k90zjcznj5w626B87Sr6HJ5YX8rU5jhEP9/W4mocPUZ8axLulJtXgntrUt/BooTTNRQPxueWc5HVQ5HF/wjrpvPUEWw+teE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=kq47DFGP; arc=none smtp.client-ip=209.85.216.41 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="kq47DFGP" Received: by mail-pj1-f41.google.com with SMTP id 98e67ed59e1d1-38759bcd877so5120893a91.2 for ; Tue, 18 Aug 2026 01:09:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1787040574; x=1787645374; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=nFL4XLJFCNL3jRTkLbh6D9yBXB9KUubku8W2Rf3apf0=; b=kq47DFGPvRJcz75Mi8zmusYZvrGwBi+gNHXdUCS7+A5Oo0m5Hpot7zqZiA4rw1q7Ka NfIQNdy1X9ekRSEc9pYsr0i2qJPAQEtEKEBXn4JVTeoAWZPWE2NJOji/N1SIvw3XZVdf qqyR3yithe8Otr0fBgJMCE9gnQNaNtG2zoN827L4CAgOViVFYUTEQpKBGzUgxNi4t8x9 bNE6T6TCCj4K888ZR+lz4Ahcz85RmndunXg3ZGedGdM/Pi4gan7TX9SpEF9QPRS1D3sd ys2dhqh9zjLi6PcU3UorArwmlxPKE3vhMyokQlQDtjio019tL+5nvdFQnfwBZKxAw1ES UBlg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787040574; x=1787645374; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=nFL4XLJFCNL3jRTkLbh6D9yBXB9KUubku8W2Rf3apf0=; b=bmAC4YwV5sgx0qGO0972JhbYn8TNJCkSQG6dL2gHMSJyNa8JcZnctzft5Zjyhy2ZPv jbYsvZ5WssRv/CCClBDc3PiuP8w2hsoBQNw7D3rOaphTLGIBjnBn5i17lJG0q4zFnDBQ ozjXvyzaECmpa5y4BRSOV7cZja0LtFmGRVzpWg7zTkuODMywABw8UmG3u7tDz/a7UYAp vTyXANJBTXzpeNX/PGclldM6fRFK2nZIPH8mxGL2DropOdQVJiMmrjWudVO9bds1wLvC 6Ztna7l1LtylxDFlY9hIkPMCZ2iNUYgd8ciKGAg2T1BHFI3YGtvNLxCrrwPO3zVKdQQP cszA== X-Forwarded-Encrypted: i=1; AHgh+RoSMBZeYTX60RxGBT+k5D6SU+iRo/0aqCD9WW8SaW4n3S/k7CIxDB3sBO3tI+Bnff4L+FulUiE/WZH8ZcI=@vger.kernel.org X-Gm-Message-State: AOJu0YztXjdEXpG6Zy4trRxMCh7IHq9WimDpygAIRIPVUZJMkLxqsS09 yHa4TNGrtDcF04Qn/q2nvNV/ro3AAyHTwfbnspFDllrfFxS7KbB7t3sY X-Gm-Gg: AR+sD11UUc2lazuzBSfCbEGc95O+eDnbs7yCa5Q8g/Qf/ecLOPZVHXGndrqLxmOGBAu mdNjp6Jdm33NqjF7RaN0vGUM3yz0EHujQiFckKhWleOhg22ew21HzBzb8OAbizV+gWJn0GttJHA tdbd0I+7DHm5MljGRUWfjK0XAhLyvqGpfOt24MzR36WXOB9hKPMIl02XocqplxYy9+/FtlOjbwl AKAFrPBOszqaXhNw+WdwBX+km4H1EcH1lVFKqguYc2yXdEqPQzyZKkqFPeU2dS43ObLuv8lmrnB ny86XTa/8W4Q8FWzUfHrzcPcyFDwFkOPcA+LAUQRrU6JZcptwvQiVjOveWD3SbOmoefd2L9bLmX lSX9972v07JenDZocs36b8YNvDv9deD9RXSTtvECWnAJM39yPng8C3BOi+P2glcQaDiq3O7fhZp kvTG3UaCBRQGf/vTPbGNRLsUaz38h2+wA81dOMrKPES5hTEbD8Wr4lLm6IYVusA3io8Uzhfr+ch F2duLy1Kps= X-Received: by 2002:a17:90b:4cc1:b0:37f:be6c:f3f2 with SMTP id 98e67ed59e1d1-3933bd0dd0fmr38889309a91.2.1787040574404; Tue, 18 Aug 2026 01:09:34 -0700 (PDT) Received: from localhost.localdomain ([152.58.217.90]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-32678dd08d6sm22606290eec.4.2026.08.18.01.09.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 18 Aug 2026 01:09:33 -0700 (PDT) From: Sreeshankar K To: robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org, andersson@kernel.org, mturquette@baylibre.com, sboyd@kernel.org, konradybcio@kernel.org, tglx@kernel.org, ulfh@kernel.org Cc: bmasney@redhat.com, lpieralisi@kernel.org, quic_tdas@quicinc.com, danila@mainlining.org, davidwronek@gmail.com, robimarko@gmail.com, linux@gurudas.dev, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-clk@vger.kernel.org, linux-pm@vger.vger.kernel.org, Sreeshankar K Subject: [PATCH 08/12] pmdomain: qcom: rpmhpd: Add RMPh power domains for SM7250 Date: Tue, 18 Aug 2026 08:07:50 +0000 Message-ID: <20260818080754.4362-9-sreeshankar0910@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260818080754.4362-1-sreeshankar0910@gmail.com> References: <20260818080754.4362-1-sreeshankar0910@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Add RMPh power domains for SM7250 SoC. Signed-off-by: Sreeshankar K Reviewed-by: Abel Vesa --- drivers/pmdomain/qcom/rpmhpd.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/drivers/pmdomain/qcom/rpmhpd.c b/drivers/pmdomain/qcom/rpmhpd.c index ffc46de8d..6f4bd6b53 100644 --- a/drivers/pmdomain/qcom/rpmhpd.c +++ b/drivers/pmdomain/qcom/rpmhpd.c @@ -494,6 +494,24 @@ static const struct rpmhpd_desc sm7150_desc =3D { .num_pds =3D ARRAY_SIZE(sm7150_rpmhpds), }; =20 +/* SM7250 RPMH powerdomains */ +static struct rpmhpd *sm7250_rpmhpds[] =3D { + [RPMHPD_CX] =3D &cx_w_mx_parent, + [RPMHPD_CX_AO] =3D &cx_ao_w_mx_parent, + [RPMHPD_EBI] =3D &ebi, + [RPMHPD_GFX] =3D &gfx, + [RPMHPD_LCX] =3D &lcx, + [RPMHPD_LMX] =3D &lmx, + [RPMHPD_MSS] =3D &mss, + [RPMHPD_MX] =3D &mx, + [RPMHPD_MX_AO] =3D &mx_ao, +}; + +static const struct rpmhpd_desc sm7250_desc =3D { + .rpmhpds =3D sm7250_rpmhpds, + .num_pds =3D ARRAY_SIZE(sm7250_rpmhpds), +}; + /* SM8150 RPMH powerdomains */ static struct rpmhpd *sm8150_rpmhpds[] =3D { [SM8150_CX] =3D &cx_w_mx_parent, @@ -914,6 +932,7 @@ static const struct of_device_id rpmhpd_match_table[] = =3D { { .compatible =3D "qcom,sm4450-rpmhpd", .data =3D &sm4450_desc }, { .compatible =3D "qcom,sm6350-rpmhpd", .data =3D &sm6350_desc }, { .compatible =3D "qcom,sm7150-rpmhpd", .data =3D &sm7150_desc }, + { .compatible =3D "qcom,sm7250-rpmhpd", .data =3D &sm7250_desc }, { .compatible =3D "qcom,sm8150-rpmhpd", .data =3D &sm8150_desc }, { .compatible =3D "qcom,sm8250-rpmhpd", .data =3D &sm8250_desc }, { .compatible =3D "qcom,sm8350-rpmhpd", .data =3D &sm8350_desc }, --=20 2.43.0 From nobody Mon Sep 28 19:23:39 2026 Received: from mail-pl1-f180.google.com (mail-pl1-f180.google.com [209.85.214.180]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 047FF41D225 for ; Tue, 18 Aug 2026 08:09:43 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.180 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787040585; cv=none; b=rExehgWRFVtCyYt7F/6LQj121QtnZejwo8YklNOhb6PYRlh0CbCti2YrftPIjTajXl9LfWMPqWA/lz0Pj04U0gRIMAydkI0mCc25wBvJtjLVAsZQUGOGEyej0GEW57pZ1t4Jo/vRdX0K2Md9QKwnXtNnWSuCl+Pyz6xifcOn+LI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787040585; c=relaxed/simple; bh=Unl00eAfFi9To3aFPzg9GlTfdXTVfm9Q5VowGJ6jvsU=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=h+Psus9nrSPq2Qw91B6adeLWEQPEQoYNCiBRabE0oo7ITnv4b+zaiAuvUfkdbcUJ/vHuwjuuiQSyh9XKUhqouszwNGi2fDT+kKPFyiQI7cv9rzMSQ7+x/QiVif7Vv400P+FNIGDG6VJjiJT5SW+beCniPJfHoCFBSxOn7rO4mvA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=FF4dQhan; arc=none smtp.client-ip=209.85.214.180 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="FF4dQhan" Received: by mail-pl1-f180.google.com with SMTP id d9443c01a7336-2caf228a910so32810675ad.2 for ; Tue, 18 Aug 2026 01:09:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1787040583; x=1787645383; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=iR99/HU1Sv6a6aJcZCVFplbKZQ+GSq64X/oQnCgwbZk=; b=FF4dQhanQa80jrhuV8O5EinHloE+L7I9SIrdGbMeow0FtBxQ/1MNZz24ApzJDTPdB+ gwE9iSNQ2eYHu1a7SOyWGMlSdtEYDoOFftLjKciW03I6Wg2waaZbgvwAW8DnBqPpPM/L JicDDisW6Iwz0YYCCK0uwCVxgT1834HS+4IUTv9fNAcQZagbGBMkSGs7w/a7M4xGPgkp 5DrDSU7IYe6Z2Hl8u93vz95vl4T5hxs/L1rElblduNAqZ0Q9Q4CZGm0eWjsFpt+bYaRt JhNuOytstuQJgX8Wsk8YrYCdgs9VJkp2VOlOoPaHdG8Fh8h/OKQh6SZA7QbCwGI5Petf Qfsg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787040583; x=1787645383; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=iR99/HU1Sv6a6aJcZCVFplbKZQ+GSq64X/oQnCgwbZk=; b=jUwqg1s4EaceUskWJEAmxn8gcvMmxvkEdku8gcKgz6K5sGU7xVZP9UdkvRd5foks7J ZJ94xwEulG00i7ceBGeuLNjRIAOGfowQq5AYwRzG0pKTwoF4GhJGGKlo6EB2k0cu+XLv CnXWcjSs4zvoxktHArMm/o83kcV/4M8A5OaLJp5wapN+SiJpGyw0BvQhOmXr8jQLv7B1 kL66IF/4eUukrPTMpZQDzlC56R0sgZ//sZwE4py1APAK5cSFeZk0igR0tyHgvOY/5+b1 SYZ9o5vkm/UiwvjGDF7UUV2TnqG9AX6QzKn67hSIOYjf+7Md9LBF57/mAfhWm/kSBNiP Cvzw== X-Forwarded-Encrypted: i=1; AHgh+RpjqnV/yAQ3D9uEGRNXCqzB6ns6Tmyw6Tj4dThRWJN2OJzYqxTlNqlhQlEUXIy9O854ol3zdcQzzjhntMY=@vger.kernel.org X-Gm-Message-State: AOJu0Yy3GN5hXYnzdnnCYSwyNYCJNlngH82LP3qWXH2mCLYSXgVCSdQR wf+hwJ5B/+tynn0ieDCXqPQlLCROqqswK5nYce6HomdW/ZdkNXek01p0 X-Gm-Gg: AR+sD13Sxx9MjH6Td0NsPMZX63xreWrGHHTfVvFEfM0jnVmaSABDDaFThYOZajN/1cW Ddj6Xy9m0GUpJvmmMRCUMGgwCsPUTD9m95jyrssRbNSKQQNGtKyE1bCSk2HIMHLydgJaAdq28z7 sE4QOfRYVP0fyZYMaqekyU2qmn06GAsoDZlNegOF1XsA02gN2uhekt8vqM2r6iO9wb5BoUpbU93 qyh/0QjcrFrxuhJ3GJAQ4sFoPGUa7IpP6JaRmMm3C1Lz8XzJF34cIueHwfxuwxR/NqGcvtgOw+/ a3NQhEh8GqTBsdk1MIwi08uGWFkAe8oQiPgWW+nagbVASL4ptfOZBDjIh+ye6IdsxYkK57Kha/B Ma/CVnsMT1ggJznNEbPgiGFs3A4Z7pu7wRJukuwyF+rk+mP5fpszUncISHCm7fBwGJJ5iqiCHCi T2hCcdVZVIiUw9CVtyDN5QoMxVDxn7PCy/yY5HA32BybPxFXD8O7bi3Y+UtDvvHAKm5W5yW1mvy dfAijgGFlw= X-Received: by 2002:a17:90a:e18d:b0:380:7688:fbe9 with SMTP id 98e67ed59e1d1-3933b764d23mr35772186a91.8.1787040583219; Tue, 18 Aug 2026 01:09:43 -0700 (PDT) Received: from localhost.localdomain ([152.58.217.90]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-32678dd08d6sm22606290eec.4.2026.08.18.01.09.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 18 Aug 2026 01:09:42 -0700 (PDT) From: Sreeshankar K To: robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org, andersson@kernel.org, mturquette@baylibre.com, sboyd@kernel.org, konradybcio@kernel.org, tglx@kernel.org, ulfh@kernel.org Cc: bmasney@redhat.com, lpieralisi@kernel.org, quic_tdas@quicinc.com, danila@mainlining.org, davidwronek@gmail.com, robimarko@gmail.com, linux@gurudas.dev, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-clk@vger.kernel.org, linux-pm@vger.vger.kernel.org, Sreeshankar K Subject: [PATCH 09/12] dt-bindings: arm: cpus: Document Kryo 475 CPUs Date: Tue, 18 Aug 2026 08:07:51 +0000 Message-ID: <20260818080754.4362-10-sreeshankar0910@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260818080754.4362-1-sreeshankar0910@gmail.com> References: <20260818080754.4362-1-sreeshankar0910@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Document Kryo 475 CPUs found in Qualcomm SM7250 SoC. Signed-off-by: Sreeshankar K --- Documentation/devicetree/bindings/arm/cpus.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/Documentation/devicetree/bindings/arm/cpus.yaml b/Documentatio= n/devicetree/bindings/arm/cpus.yaml index 5be89c584..2a90af67c 100644 --- a/Documentation/devicetree/bindings/arm/cpus.yaml +++ b/Documentation/devicetree/bindings/arm/cpus.yaml @@ -212,6 +212,7 @@ properties: - qcom,kryo465 - qcom,kryo468 - qcom,kryo470 + - qcom,kryo475 - qcom,kryo485 - qcom,kryo560 - qcom,kryo570 --=20 2.43.0 From nobody Mon Sep 28 19:23:39 2026 Received: from mail-pf1-f176.google.com (mail-pf1-f176.google.com [209.85.210.176]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 92B7141D225 for ; Tue, 18 Aug 2026 08:09:52 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.176 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787040594; cv=none; b=dibW8DFi7ADPEf7udFSeKlyIbcSUcoyNYAdC+ziOKRe4Yjgd+EHxoXazztgc6NagA54jZbN5sSryMH81TeZwSKP1YtDY2Egnh3I86CXLN0+uaVx26cdx29E4c3IO8K2jyhbBTezfTpFseFrH2kPHSq+naKdCHLQklZL32gvpRvk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787040594; c=relaxed/simple; bh=R6Ql6qBhxv8nRfMWDl4ii2I8yaMmIwHS8a/lEb+KgZg=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Acis3r+sPkxRSK6xn8/TxsyXkBfQaX06fkUa4kr9ab2rkMlxi+WiK5p84oyj3lAM/5ztiyhU/jPodUVnwx5VbVMaNYRHm68B3LtvZhPye2BSiFv4G3JTX/CzdRSR+G1Ah2RV4+KJ2nSSudK7Zqb/Pkgh1RrI5YtzNCd+9KZR4Xk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=RqF0OkXv; arc=none smtp.client-ip=209.85.210.176 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="RqF0OkXv" Received: by mail-pf1-f176.google.com with SMTP id d2e1a72fcca58-8518d5ddaabso2186675b3a.2 for ; Tue, 18 Aug 2026 01:09:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1787040592; x=1787645392; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=Xro5hLO6XYdeO9sCaq310qk5ul0LDKCYcbgwbKMsfxo=; b=RqF0OkXvtql/Sg6zAj8GbAFhLm80lL97I3T5Zd9Gkaf0mfeenzHtQ3F2IThpdlGxPl 0AKNqagT6PBkqI33PmpWn9dZ88CJJ80rFrvNfUI9ea6DkbAXc/RgegrD7F6RnLathQm2 QWe9fLQqD2mu3tepMuAMST+NP6rxhjLJTJnfkHLScU54zEKsWk78JkGpnTrWiA8327e2 dICxHo6ivixJSLyu4BhM3Lio9DiX9VxqJeChKgq/nnF4J/5DO/+IIGJyXdKU3Fyn5Oa9 TZeMwJMMxjicsK1ETNEoG3KGU47lNzGLAcpl79o4jf6U+51jlVUbPmWAyr6RbPTy0p/Y ptIQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787040592; x=1787645392; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=Xro5hLO6XYdeO9sCaq310qk5ul0LDKCYcbgwbKMsfxo=; b=Gx+XvCnrIx7v9bmbL2EIRFvqOjo5vz77hKeSbDr2jeD8FlFIYZnT/7Y/Yzlq6wkyr9 WpY4z7xvesjow25grIl9X579g9M7TAYNAYgcUMZCkoA7JPxN7LLtuLTI2hJ9VC+Lmocj kOV+BxoJQsStufOnamw0XlMuyKkEaKErL4HJPUCGKZIGAPHMUNt0Wij3wQKe7t43dL6Q mW/Ui27lbT+z2U914a/gl3MGQ25Roxl9S57qPfUTRb5bGjvRhvXXtbMWZQfb7rW2O79i PuYFLXz0BAPOzFFy7McXJTxg0IJ6dKvnQiH0HmCaOym2UGQP1gpNOsgWcczMsGPqwdCE 8NNQ== X-Forwarded-Encrypted: i=1; AHgh+RqRqk42NhVhFHTsVxWaqurHVeKnTNEpDX5C574Rhac5ILGDEECRab7Oqp73WrTx0Y9gr6DmygzRqwkGbTo=@vger.kernel.org X-Gm-Message-State: AOJu0YzJr1VPGkeUATMFl5fwgJaPpyqaAYH/ZQnGp5L0/cT+y+wYM44G 36qvMjlfnlc1vrYQ0/4ci6K3MbRP373a2TCU10qzUxOW4YBLxdxzphWJ X-Gm-Gg: AR+sD11OWSc6LGDQdb6GR2htJFlI8+SeBiJvu+LpQ2J3GJqotI3+6Mqi5ZahzQYTknG RQ/4mpJVp5JzjteSb3nCM6zml5D12xY7YUulEundR8MFxx1FNK3A38Tcns2487+7QwaaJP/r0l3 fsulZBmUI7PcuXKTVWHiWZw5LAwgdvyWqMzV0oSgTklOQjzxiVb8zI+GqHAbPuIaC11rh2scsDm cuZXIHKlnh+7Du7yB4BBoKjPgqkA3A1uAZQD31W2QlIWUmbc6lxssd0bXx0UUpzBvfFsAP9hLWj ERmbDWy03xwgjDGUIWrIVVSGWANimyL5DUGqW6GjtNehFaIilWFa5+FU+7nAi76VoyCW3cuTQVI LHY/QgCgc0HX0V3wDDQVzHJUMQA3Qf5ZUbjZJYdikdoYVA0kgsabjwrrWenuXtN3O9Gy35tQRBC owgerJaUDvh82OAN1XlxOxk1Pf05JexOehNXwIdDIpkmodzT5yPUpK03JtspGOziEGD6VNkvhB8 Dpb6aiukS0oANXZMoVQJQ== X-Received: by 2002:a05:6a20:9143:b0:3c3:76a8:c0f with SMTP id adf61e73a8af0-3cc7196e809mr31096183637.4.1787040591855; Tue, 18 Aug 2026 01:09:51 -0700 (PDT) Received: from localhost.localdomain ([152.58.217.90]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-32678dd08d6sm22606290eec.4.2026.08.18.01.09.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 18 Aug 2026 01:09:51 -0700 (PDT) From: Sreeshankar K To: robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org, andersson@kernel.org, mturquette@baylibre.com, sboyd@kernel.org, konradybcio@kernel.org, tglx@kernel.org, ulfh@kernel.org Cc: bmasney@redhat.com, lpieralisi@kernel.org, quic_tdas@quicinc.com, danila@mainlining.org, davidwronek@gmail.com, robimarko@gmail.com, linux@gurudas.dev, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-clk@vger.kernel.org, linux-pm@vger.vger.kernel.org, Sreeshankar K Subject: [PATCH 10/12] dt-bindings: firmware: qcom,scm: Document SM7250 SCM Date: Tue, 18 Aug 2026 08:07:52 +0000 Message-ID: <20260818080754.4362-11-sreeshankar0910@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260818080754.4362-1-sreeshankar0910@gmail.com> References: <20260818080754.4362-1-sreeshankar0910@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Document the SCM compatible for Qualcomm SM7250 SoC. Signed-off-by: Sreeshankar K --- 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 25f62bacb..7446a54eb 100644 --- a/Documentation/devicetree/bindings/firmware/qcom,scm.yaml +++ b/Documentation/devicetree/bindings/firmware/qcom,scm.yaml @@ -72,6 +72,7 @@ properties: - qcom,scm-sm6350 - qcom,scm-sm6375 - qcom,scm-sm7150 + - qcom,scm-sm7250 - qcom,scm-sm8150 - qcom,scm-sm8250 - qcom,scm-sm8350 --=20 2.43.0 From nobody Mon Sep 28 19:23:39 2026 Received: from mail-pf1-f179.google.com (mail-pf1-f179.google.com [209.85.210.179]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5B3EF41D4D0 for ; Tue, 18 Aug 2026 08:10:01 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.179 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787040602; cv=none; b=XEoWdgF19YPPYLyaKcd4TjG02BYC2OOHzE7DH87V+Aunf6wdDDCHZRQfISGXsCrwLejx2wdbIIQd6O352MXzZBrdGpkzJ6g1X2yHiZhT01sC0bmUxJYvhMs693dDIuevHJ6Zs43Hq+K8C0HM/qux9IjFC2pgK43WnP52N70Vqpw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787040602; c=relaxed/simple; bh=S4gVIUWwuoALYuzwzRm82WuAYzYN5KLWtNbqZ/oM/+w=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=PWdhxjeBqdampWnHCvGapP3VyIuQaARj7FrJb4z3iLZ8U5/w3ccRYHWEPx7JL+rrdAd7oCLJR5vYDuISBCEtGtzRPSdqqYTdmKxjKhqrB5g1WVQjA3C0+RgXao4yfQF0Ua8wkC1rzN+JUbj/1giMzl4vCgSfzVhsVv6Al5U012g= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=ZutLx8fV; arc=none smtp.client-ip=209.85.210.179 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="ZutLx8fV" Received: by mail-pf1-f179.google.com with SMTP id d2e1a72fcca58-84830c774a0so3783024b3a.1 for ; Tue, 18 Aug 2026 01:10:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1787040601; x=1787645401; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=g3FdfDbvToHSgtTrj8YFlW83QqqTfihaw6vnLz7PZc8=; b=ZutLx8fVQsNjJW+UYFKcn+/9BS700/+Jxm2OVUn1IjzYxKEVD5al5vpJsPYo/nKsB5 4IG/C814SQn+hNonVomBldnUlMeHzEGC+fddLhup4ze34KiVZTc6l9Le1S6pVa2RMWf/ /36P0cxuIAEg2lt/ib5v+tu1C3dvI4PWcwuGGnIvEDdL71BTmnlJSWNllsrf9C7/xY3B FOI7eaT4/k/P69U3LmZ4B5a9FsXe1YX/zIfR1sveeycFPUjahPt/QswvWYYaYPLlteYt KpnYusEmyCRsxaiB5q/NjeOK2g+k3n6bUp2Pc4amf30ry4258uWaG8daInERp/qZds7Y 33Gw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787040601; x=1787645401; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=g3FdfDbvToHSgtTrj8YFlW83QqqTfihaw6vnLz7PZc8=; b=IBCw8ZPiJyXvR5RZyZMDtYr2MNkPjVj5f9ApdlbG2mROy1HFVy9egdIb/JhPCrkDF2 6PMBsAZBhawyR8iny29vjnDFXe0cM+yv6Ir87tkgH1YfQ7q1AhTs3voviwCTAFpWOjvO YSzPjiVHXo52eaHkL+Hh/K+nr0XIe4UXXluuyQKDNbz8G2JxXrn6JrW4nRpdjAFPAU9E OzYhCUqT+RB+KtAq93RybFRSy/nMu/8Wj8XHRoS7EY7LiDvF7/UKnrp+A8UZJg8PzOnK oFnGgTNKBMy2erOw/nTFWST3eJeDA5gpJavE9/lgYne/Tn24hEB28rCxH1DOK8FVuG7h dDPg== X-Forwarded-Encrypted: i=1; AHgh+RrJN1eibBK+2rMQBJZA81kb449LbOT/lId4t4a1ICFekn6cjBnmkrNpdrhvAsLbAiyvuXX3XNuvTx4+oTU=@vger.kernel.org X-Gm-Message-State: AOJu0YxvljZTj3Z35m1cqX90PkUyHrJH2ce+muSQeSWcNICXaC56iQ7z qDbPKn7hlhHHp5BechenWb083feHpa3sXg9ivPn31j6VHTLD0CD0vp3S X-Gm-Gg: AR+sD12AmG89U+GMc9wWhNJ0uLRFZJze21xOzEnkoxv3saUnVgIbtWUYUbps7eb5NIK /I/BsV724VvRjomGnCfLZtR4EBFnQJdhtemZH5zQ1ccSAeeunhLR1yISpquNo3xXmr5OolqcWdw USJX8ICU/fD59ETA/sefbjGt1JPkjkoBYp5ySDZeJqEWsveJ29F9IVDhKB4A+B68PxqyRtA2JMr EuOFuCP0oLfWbySnHnh1ckZ1wJjnmN1dGIBbVTmBwtSr6iKUQ2dMAxGXI6tfoD8JN6sL5a3WfJk fwbM0JGxZ7EHBXGGLoXFCHpbcPaxrv8S4KbQcRk60WN/kJC5B110uBk8cJf31Td614T8f1dDQ2X HriJtIhP+Wjx9kuPYBCvh+rbq6m5rIZ98e2Hr+eNRkzLGiP9OM+iy3Rgr0oJA49qu1b46BU861B lK8l0AtC4vqs3DvFFLU0XAS7adZji/PPPhf4kHbGmMyVpcavvOKEEYJH3dKve0222BUQB6zjRnE J/O5+wM3B8= X-Received: by 2002:a05:6a21:3b4a:b0:3cc:b26a:7686 with SMTP id adf61e73a8af0-3ccb26a7a6bmr16133613637.6.1787040600556; Tue, 18 Aug 2026 01:10:00 -0700 (PDT) Received: from localhost.localdomain ([152.58.217.90]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-32678dd08d6sm22606290eec.4.2026.08.18.01.09.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 18 Aug 2026 01:09:59 -0700 (PDT) From: Sreeshankar K To: robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org, andersson@kernel.org, mturquette@baylibre.com, sboyd@kernel.org, konradybcio@kernel.org, tglx@kernel.org, ulfh@kernel.org Cc: bmasney@redhat.com, lpieralisi@kernel.org, quic_tdas@quicinc.com, danila@mainlining.org, davidwronek@gmail.com, robimarko@gmail.com, linux@gurudas.dev, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-clk@vger.kernel.org, linux-pm@vger.vger.kernel.org, Sreeshankar K Subject: [PATCH 11/12] dt-bindings: interrupt-controller: qcom,pdc: Document SM7250 PDC Date: Tue, 18 Aug 2026 08:07:53 +0000 Message-ID: <20260818080754.4362-12-sreeshankar0910@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260818080754.4362-1-sreeshankar0910@gmail.com> References: <20260818080754.4362-1-sreeshankar0910@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Document the PDC block on the SM7250 SoC. Signed-off-by: Sreeshankar K --- .../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 8162a49d4..c30b88589 100644 --- a/Documentation/devicetree/bindings/interrupt-controller/qcom,pdc.yaml +++ b/Documentation/devicetree/bindings/interrupt-controller/qcom,pdc.yaml @@ -50,6 +50,7 @@ properties: - qcom,sdx75-pdc - qcom,sm4450-pdc - qcom,sm6350-pdc + - qcom,sm7250-pdc - qcom,sm8150-pdc - qcom,sm8250-pdc - qcom,sm8350-pdc --=20 2.43.0 From nobody Mon Sep 28 19:23:39 2026 Received: from mail-pj1-f43.google.com (mail-pj1-f43.google.com [209.85.216.43]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C849F41D63A for ; Tue, 18 Aug 2026 08:10:10 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.43 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787040612; cv=none; b=nJTYRSm99Fml/We2Oo/yaA3D6nVql56QxYGIYS4d8T1ZG7AMpppG5rF68THY/Ekoe9cMy56MBCLpGzHX/AYQAdqvkh+f7CSSWN5G/OOfUQ5sRz/wWc039PNE7Ob6Ljn9GP+8GM12Xj95TiSWCbn+VlVFuWrcTgcbxj1EnpCCzbA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787040612; c=relaxed/simple; bh=U7Xe3Ghk6YiOxrcqjcvKcRICzku3TonfbBqw8FCgUS8=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=pHCSR1tf1cdWxA7livIyTozc6d7JN+3QXyeoKzM3qBle79c1SBHPAyNkt0/Wihj3/1ccWvMu5piSKQ6nLl9gfF98tWtPxRKe9bAhqIM+nArZxtXynHk8f7CYAvKUqv3MGxkvPD/5hoNw/NR4ab2yLk2YhcV+H/1M/ojUNqVb9Uw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=pk1IQ5DV; arc=none smtp.client-ip=209.85.216.43 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="pk1IQ5DV" Received: by mail-pj1-f43.google.com with SMTP id 98e67ed59e1d1-383b4a3755fso4429163a91.3 for ; Tue, 18 Aug 2026 01:10:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1787040610; x=1787645410; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=aByoav8ekJz/qmyEYpcX1qnDez9t7vTKYg7JjRl3V1w=; b=pk1IQ5DVtoOejaweP7EbCQfw5PJIZbVzCCFj5J0927yC52+iipFQtpJ23Du0ct2pID YusZKEnAPG81OvOjE/Af1ktqUthScthY5fSzxs5UcjYMWRxqmX3PRB19aPOYEOc9dokQ llHQXAGODoZthOABkAbTPhteIbiWTzxPiIi05eEIuM7C/TM8lutadvr+2RMUh7hszAEp Sk6pimARf2ezGHuDvB8G1H6KiSWapt2st78IjKUuokqjZAD2zBYRlSgU4yYVwFtXaq6+ WVt1UqxUy6vQ/X6g2/zYynv1oKy56cHVWFbNpKyxGme1KJZsU+yt+NckG6AoD3nb3RPd dCoQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787040610; x=1787645410; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=aByoav8ekJz/qmyEYpcX1qnDez9t7vTKYg7JjRl3V1w=; b=Z4IqDLPzLv9Ot0Ysagb+FaL1CMNmCuvJKwviFLt7tP8zFY90MNavZnb9wRPIbKUTTM oNg229ExkGxm/TOlOPJhHKcXX5vGFBxo2p130Q7je///mNTqPofd1dSaNTei5mFSmOMH yEXsMzP/LSTCeebzBwHD4wXD0wvvGS+FvEQs3cIueEurPlUPb0pyUsqsYEH4wL/1mMF4 XVqXRZsCQnLX7GLvuOVRLJy4BwuSCSfF2R/Q0Q5ro5eeTcUz2jHKXKfLFsfmESaLyv7w BZ8iokOVFqdEn+E0z2xAArgY/065HmbyLkNBJ49L4s4mvC+lICWo5GPNpsx5YSIWEa8U P+iw== X-Forwarded-Encrypted: i=1; AHgh+Rp+ekzQPMx40GmJhSFKQv6QdtmRu+57EcaWhbSJ0HSig56sAuIouodSAX9qyRpb1vi50HuLgMoSDvvzB3g=@vger.kernel.org X-Gm-Message-State: AOJu0YyI8mtHkKyz94jD+kn1H+dX/bkI/6eWcitUG9oXff8JX1yX0J2G Wiybsb9pKDHzjkrF4+IWDSdpOsROLgW3iHaIiUYJsYoy7b4uj1K2E33AjX2S7+7Ygr8= X-Gm-Gg: AR+sD109FuaEsn57UMiQXsWvVZ3Ug6i7RXHaP8VOInffOhq4xkE3pUezepTmhYj1Q7E M+8XhPZfVJE1fNR7T8FWcOGtOToZodvBw/Uy0BgevaCCwAtwrGtAitZDN5RaHAZa4+RVOzvrVCm Exc5GG/jnL4oL0PwmqxvJkhHmCmqgC4amsKWDY5z4uiF+91pRponndKGglActTcGk30c/CBmwKW a9D42hAUXzODJ3gXHJ0vmEPTSY+qfQ/Ae1ugI2O5Hy5lFaERBJFT0PZd19d8t8Xhd6zYoIRNiWV SY7MoQDpSah7vkz0b9TI6XZJkITAli6oYzFDW7RErqjwv5ZSOvbjUaUEjWdUAVkYrtbvcKULVzL 5zHMqwcBeCJARA5slSH+2GEm16n1gamOyWB3x7g0s/+b+eka/1Eoh8hnhB0XW1P4W/bQaqxef3l e/iXalpG8e8nGivOqXP5XFAZ6uII/6nozhTdICPblhVEXLtoupMBpS3AX2Ex6qR5AQ9qpEnKaiQ MrbEl41hFQ= X-Received: by 2002:a17:90b:520d:b0:38f:5801:cd76 with SMTP id 98e67ed59e1d1-3933b6d0171mr36666554a91.3.1787040610155; Tue, 18 Aug 2026 01:10:10 -0700 (PDT) Received: from localhost.localdomain ([152.58.217.90]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-32678dd08d6sm22606290eec.4.2026.08.18.01.10.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 18 Aug 2026 01:10:09 -0700 (PDT) From: Sreeshankar K To: robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org, andersson@kernel.org, mturquette@baylibre.com, sboyd@kernel.org, konradybcio@kernel.org, tglx@kernel.org, ulfh@kernel.org Cc: bmasney@redhat.com, lpieralisi@kernel.org, quic_tdas@quicinc.com, danila@mainlining.org, davidwronek@gmail.com, robimarko@gmail.com, linux@gurudas.dev, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-clk@vger.kernel.org, linux-pm@vger.vger.kernel.org, Sreeshankar K Subject: [PATCH 12/12] arm64: dts: qcom: Add SM7250 devicetree file Date: Tue, 18 Aug 2026 08:07:54 +0000 Message-ID: <20260818080754.4362-13-sreeshankar0910@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260818080754.4362-1-sreeshankar0910@gmail.com> References: <20260818080754.4362-1-sreeshankar0910@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Add base devicetree file for SM7250 SoC. This file adds the basic nodes like cpu, psci and other required configuration for booting up to the serial console. Signed-off-by: Sreeshankar K --- arch/arm64/boot/dts/qcom/sm7250.dtsi | 556 +++++++++++++++++++++++++++ 1 file changed, 556 insertions(+) create mode 100644 arch/arm64/boot/dts/qcom/sm7250.dtsi diff --git a/arch/arm64/boot/dts/qcom/sm7250.dtsi b/arch/arm64/boot/dts/qco= m/sm7250.dtsi new file mode 100644 index 000000000..3f052daef --- /dev/null +++ b/arch/arm64/boot/dts/qcom/sm7250.dtsi @@ -0,0 +1,556 @@ +// SPDX-License-Identifier: BSD-3-Clause +/* + * Copyright (c) 2026, Sreeshankar K + */ + +#include +#include +#include +#include +#include +#include + +/ { + interrupt-parent =3D <&intc>; + #address-cells =3D <2>; + #size-cells =3D <2>; + + 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 <32764>; + #clock-cells =3D <0>; + }; + }; + + cpus { + #address-cells =3D <2>; + #size-cells =3D <0>; + + cpu0: cpu@0 { + device_type =3D "cpu"; + compatible =3D "qcom,kryo475"; + reg =3D <0x0 0x0>; + enable-method =3D "psci"; + next-level-cache =3D <&l2_0>; + + l2_0: l2-cache { + compatible =3D "cache"; + cache-level =3D <2>; + cache-size =3D <0x20000>; + cache-unified; + next-level-cache =3D <&l3_0>; + + l3_0: l3-cache { + compatible =3D "cache"; + cache-level =3D <3>; + cache-size =3D <0x200000>; + cache-unified; + }; + }; + }; + + cpu1: cpu@100 { + device_type =3D "cpu"; + compatible =3D "qcom,kryo475"; + reg =3D <0x0 0x100>; + enable-method =3D "psci"; + next-level-cache =3D <&l2_100>; + + l2_100: l2-cache { + compatible =3D "cache"; + cache-level =3D <2>; + cache-size =3D <0x20000>; + cache-unified; + next-level-cache =3D <&l3_0>; + }; + }; + + cpu2: cpu@200 { + device_type =3D "cpu"; + compatible =3D "qcom,kryo475"; + reg =3D <0x0 0x200>; + enable-method =3D "psci"; + next-level-cache =3D <&l2_200>; + + l2_200: l2-cache { + compatible =3D "cache"; + cache-level =3D <2>; + cache-size =3D <0x20000>; + cache-unified; + next-level-cache =3D <&l3_0>; + }; + }; + + cpu3: cpu@300 { + device_type =3D "cpu"; + compatible =3D "qcom,kryo475"; + reg =3D <0x0 0x300>; + enable-method =3D "psci"; + next-level-cache =3D <&l2_300>; + + l2_300: l2-cache { + compatible =3D "cache"; + cache-level =3D <2>; + cache-size =3D <0x20000>; + cache-unified; + next-level-cache =3D <&l3_0>; + }; + }; + + cpu4: cpu@400 { + device_type =3D "cpu"; + compatible =3D "qcom,kryo475"; + reg =3D <0x0 0x400>; + enable-method =3D "psci"; + next-level-cache =3D <&l2_400>; + + l2_400: l2-cache { + compatible =3D "cache"; + cache-level =3D <2>; + cache-size =3D <0x20000>; + cache-unified; + next-level-cache =3D <&l3_0>; + }; + }; + + cpu5: cpu@500 { + device_type =3D "cpu"; + compatible =3D "qcom,kryo475"; + reg =3D <0x0 0x500>; + enable-method =3D "psci"; + next-level-cache =3D <&l2_500>; + + l2_500: l2-cache { + compatible =3D "cache"; + cache-level =3D <2>; + cache-size =3D <0x20000>; + cache-unified; + next-level-cache =3D <&l3_0>; + }; + }; + + cpu6: cpu@600 { + device_type =3D "cpu"; + compatible =3D "qcom,kryo475"; + reg =3D <0x0 0x600>; + enable-method =3D "psci"; + next-level-cache =3D <&l2_600>; + + l2_600: l2-cache { + compatible =3D "cache"; + cache-level =3D <2>; + cache-size =3D <0x40000>; + cache-unified; + next-level-cache =3D <&l3_0>; + }; + }; + + cpu7: cpu@700 { + device_type =3D "cpu"; + compatible =3D "qcom,kryo475"; + reg =3D <0x0 0x700>; + enable-method =3D "psci"; + next-level-cache =3D <&l2_700>; + + l2_700: l2-cache { + compatible =3D "cache"; + cache-level =3D <2>; + cache-size =3D <0x80000>; + cache-unified; + next-level-cache =3D <&l3_0>; + }; + }; + + cpu-map { + cluster0 { + core0 { + cpu =3D <&cpu0>; + }; + + core1 { + cpu =3D <&cpu1>; + }; + + core2 { + cpu =3D <&cpu2>; + }; + + core3 { + cpu =3D <&cpu3>; + }; + + core4 { + cpu =3D <&cpu4>; + }; + + core5 { + cpu =3D <&cpu5>; + }; + }; + + cluster1 { + core6 { + cpu =3D <&cpu6>; + }; + }; + + cluster2 { + core7 { + cpu =3D <&cpu7>; + }; + }; + }; + }; + + firmware { + scm: scm { + compatible =3D "qcom,scm-sm7250", "qcom,scm"; + #reset-cells =3D <1>; + }; + }; + + memory@80000000 { + device_type =3D "memory"; + /* We expect the bootloader to fill in the size */ + reg =3D <0x0 0x80000000 0x0 0x0>; + }; + + pmu { + compatible =3D "arm,armv8-pmuv3"; + interrupts =3D ; + }; + + psci { + compatible =3D "arm,psci-1.0"; + method =3D "smc"; + }; + + reserved_memory: reserved-memory { + #address-cells =3D <2>; + #size-cells =3D <2>; + ranges; + + hyp_mem: hyp@80000000 { + reg =3D <0x0 0x80000000 0x0 0x600000>; + no-map; + }; + + xbl_aop_mem: xbl-aop@80700000 { + reg =3D <0x0 0x80700000 0x0 0x160000>; + no-map; + }; + + cmd_db: cmd-db@80860000 { + compatible =3D "qcom,cmd-db"; + reg =3D <0x0 0x80860000 0x0 0x20000>; + no-map; + }; + + xbl_uefi_mem: xbl-uefi@80880000 { + reg =3D <0 0x80880000 0 0x14000>; + no-map; + }; + + smem_mem: smem@80900000 { + compatible =3D "qcom,smem"; + reg =3D <0x0 0x80900000 0x0 0x200000>; + no-map; + hwlocks =3D <&tcsr_mutex 3>; + }; + + removed_mem: removed@80b00000 { + reg =3D <0x0 0x80b00000 0x0 0x1300000>; + no-map; + }; + + camera_mem: camera@86000000 { + reg =3D <0x0 0x86000000 0x0 0x500000>; + no-map; + }; + + npu_mem: npu@86500000 { + reg =3D <0x0 0x86500000 0x0 0x500000>; + no-map; + }; + + video_mem: video@86a00000 { + reg =3D <0x0 0x86a00000 0x0 0x500000>; + no-map; + }; + + cdsp_mem: cdsp@87400000 { + reg =3D <0x0 0x87400000 0x0 0x1e00000>; + no-map; + }; + + adsp_mem: adsp@89200000 { + reg =3D <0x0 0x89200000 0x0 0x2800000>; + no-map; + }; + + wlan_fw_mem: wlan-fw@8ba00000 { + reg =3D <0x0 0x8ba00000 0x0 0x200000>; + no-map; + }; + + ipa_fw_mem: ipa-fw@8bc00000 { + reg =3D <0x0 0x8bc00000 0x0 0x10000>; + no-map; + }; + + ipa_gsi_mem: ipa-gsi@8bc10000 { + reg =3D <0x0 0x8bc10000 0x0 0x5400>; + no-map; + }; + + gpu_mem: gpu@8bc15400 { + reg =3D <0x0 0x8bc15400 0x0 0x2000>; + no-map; + }; + + modem_wlan_mem: modem-wlan@8c000000 { + reg =3D <0x0 0x8c000000 0x0 0xf800000>; + no-map; + }; + + cdsp_sec_mem: cdsp-sec@9f400000 { + reg =3D <0x0 0x9f400000 0x0 0xc00000>; + no-map; + }; + }; + + soc: soc@0 { + #address-cells =3D <2>; + #size-cells =3D <2>; + ranges =3D <0 0 0 0 0x10 0>; + dma-ranges =3D <0 0 0 0 0x10 0>; + compatible =3D "simple-bus"; + + gcc: clock-controller@100000 { + compatible =3D "qcom,sm7250-gcc"; + reg =3D <0x0 0x00100000 0x0 0x1f0000>; + clock-names =3D "bi_tcxo", + "bi_tcxo_ao", + "sleep_clk"; + clocks =3D <&rpmhcc RPMH_CXO_CLK>, + <&rpmhcc RPMH_CXO_CLK_A>, + <&sleep_clk>; + power-domains =3D <&rpmhpd RPMHPD_CX>; + #clock-cells =3D <1>; + #reset-cells =3D <1>; + #power-domain-cells =3D <1>; + }; + + qupv3_id_1: geniqup@9c0000 { + compatible =3D "qcom,geni-se-qup"; + reg =3D <0x0 0x009c0000 0x0 0x6000>; + clock-names =3D "m-ahb", "s-ahb"; + clocks =3D <&gcc GCC_QUPV3_WRAP_1_M_AHB_CLK>, + <&gcc GCC_QUPV3_WRAP_1_S_AHB_CLK>; + #address-cells =3D <2>; + #size-cells =3D <2>; + ranges; + status =3D "disabled"; + + uart2: serial@988000 { + compatible =3D "qcom,geni-debug-uart"; + reg =3D <0 0x00988000 0 0x4000>; + clock-names =3D "se"; + clocks =3D <&gcc GCC_QUPV3_WRAP1_S2_CLK>; + interrupts =3D ; + status =3D "disabled"; + }; + }; + + intc: interrupt-controller@17a00000 { + compatible =3D "arm,gic-v3"; + reg =3D <0x0 0x17a00000 0x0 0x10000>, /* GICD */ + <0x0 0x17a60000 0x0 0x100000>; /* GICR * 8 */ + #interrupt-cells =3D <3>; + interrupt-controller; + interrupts =3D ; + }; + + pdc: interrupt-controller@b220000 { + compatible =3D "qcom,sm7250-pdc", "qcom,pdc"; + reg =3D <0 0xb220000 0 0x30000>, <0 0x17c000f0 0 0x60>; + qcom,pdc-ranges =3D <0 480 42>, <42 612 28>, + <70 63 1>, <71 640 15>, <86 522 52>; + #interrupt-cells =3D <2>; + interrupt-parent =3D <&intc>; + interrupt-controller; + }; + + spmi_bus: spmi@c440000 { + compatible =3D "qcom,spmi-pmic-arb"; + reg =3D <0x0 0x0c440000 0x0 0x0001100>, + <0x0 0x0c600000 0x0 0x2000000>, + <0x0 0x0e600000 0x0 0x0100000>, + <0x0 0x0e700000 0x0 0x00a0000>, + <0x0 0x0c40a000 0x0 0x0026000>; + reg-names =3D "core", "chnls", "obsrvr", "intr", "cnfg"; + interrupt-names =3D "periph_irq"; + interrupts-extended =3D <&pdc 1 IRQ_TYPE_LEVEL_HIGH>; + qcom,ee =3D <0>; + qcom,channel =3D <0>; + #address-cells =3D <2>; + #size-cells =3D <0>; + interrupt-controller; + #interrupt-cells =3D <4>; + }; + + apps_rsc: rsc@18200000 { + compatible =3D "qcom,rpmh-rsc"; + reg =3D <0x0 0x18200000 0x0 0x10000>, + <0x0 0x18210000 0x0 0x10000>, + <0x0 0x18220000 0x0 0x10000>; + reg-names =3D "drv-0", "drv-1", "drv-2"; + interrupts =3D , + , + ; + label =3D "apps_rsc"; + qcom,tcs-offset =3D <0xd00>; + qcom,drv-id =3D <2>; + qcom,tcs-config =3D , , + , ; + + rpmhcc: clock-controller { + compatible =3D "qcom,sm7250-rpmh-clk"; + #clock-cells =3D <1>; + clock-names =3D "xo"; + clocks =3D <&xo_board>; + }; + + rpmhpd: power-controller { + compatible =3D "qcom,sm7250-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 ; + }; + }; + }; + }; + + tcsr_mutex: hwlock@1f40000 { + compatible =3D "qcom,tcsr-mutex"; + reg =3D <0x0 0x01f40000 0x0 0x40000>; + #hwlock-cells =3D <1>; + }; + + timer@17c20000 { + #address-cells =3D <1>; + #size-cells =3D <1>; + ranges; + compatible =3D "arm,armv7-timer-mem"; + reg =3D <0x0 0x17c20000 0x0 0x1000>; + clock-frequency =3D <19200000>; + + frame@17c21000 { + frame-number =3D <0>; + interrupts =3D , + ; + reg =3D <0x17c21000 0x1000>, + <0x17c22000 0x1000>; + }; + + frame@17c23000 { + frame-number =3D <1>; + interrupts =3D ; + reg =3D <0x17c23000 0x1000>; + status =3D "disabled"; + }; + + frame@17c25000 { + frame-number =3D <2>; + interrupts =3D ; + reg =3D <0x17c25000 0x1000>; + status =3D "disabled"; + }; + + frame@17c27000 { + frame-number =3D <3>; + interrupts =3D ; + reg =3D <0x17c27000 0x1000>; + status =3D "disabled"; + }; + + frame@17c29000 { + frame-number =3D <4>; + interrupts =3D ; + reg =3D <0x17c29000 0x1000>; + status =3D "disabled"; + }; + + frame@17c2b000 { + frame-number =3D <5>; + interrupts =3D ; + reg =3D <0x17c2b000 0x1000>; + status =3D "disabled"; + }; + + frame@17c2d000 { + frame-number =3D <6>; + interrupts =3D ; + reg =3D <0x17c2d000 0x1000>; + status =3D "disabled"; + }; + }; + + }; + + timer { + compatible =3D "arm,armv8-timer"; + interrupts =3D , + , + , + ; + }; +}; --=20 2.43.0