From patchwork Sun Mar 9 21:13:58 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Prabhakar X-Patchwork-Id: 14009036 X-Patchwork-Delegate: geert@linux-m68k.org Received: from mail-wm1-f41.google.com (mail-wm1-f41.google.com [209.85.128.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 93D282144AE; Sun, 9 Mar 2025 21:14:25 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.41 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741554867; cv=none; b=rx1dL9A2L5EreVOdlkZGHNMXXZa6Su/kRbbDS4I9BD0+mv8vEf8MFlIikLE+LhL0niUwte7uSlQfQXkMo+1MEMKieA/sDT/leUozfE055qjJ5Xq1Pxp6K/n+KJqQ+t1VC9O2KQzmvN3ItMN8b4GRFuEFdWU8dYl+Q8s6oNwaCLw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741554867; c=relaxed/simple; bh=q3nuNRZKAWImELCntNh9m9fvTH3snOLd+bvPr457zWM=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=XWu1rQ4H7ySe4YXcyPZa1yP+ThsxyHlttVs04JS2LGzy27HehMrQshJK0FQRBcDKLXSiJpPEdDA03Yh9lHxQaPpIh5+sVDx3LCb1yegMs+DpyuhlqA6MKE7ejm6GhaaBzXzzF9oqTNkQ70PcxDTZPJ8GbMiYYUGIQE2vp7tARO8= 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=dYUG4Y4g; arc=none smtp.client-ip=209.85.128.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="dYUG4Y4g" Received: by mail-wm1-f41.google.com with SMTP id 5b1f17b1804b1-43bb6b0b898so30193645e9.1; Sun, 09 Mar 2025 14:14:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1741554864; x=1742159664; 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; bh=FXKHJBpWRSe9XkFdvaV0KeS04LB7f34Ir4er9ZP0uBM=; b=dYUG4Y4gkBMwAWLkrbgXOQvvQKp4hc6HMJ9a9rbEvsmbOAlAph3cqr8oY/yRPhUEPt WCTTBX8AuAOgRgF3NLcVv2HbwnqGkFZF0Y0KbECZghehILXEnq5Lk6Mx3juKnuzmJjJb +wC2ou+YNGKi/W3szhxYNJ9+HJJ61TRB46HA11zyDPT8gxErnggPpTqdR7P7sMVz/ZsB GBrDWYJtl2fEgzbni+sbU6s6t0uqF1MyKAJ1MdR1qqu07QhfyE6+Az88CUkGl7jS6t/C RU2tap75fvgOc/8h8s5k8M6IkNM3WfhY26fLbeL8Yyguw3u5BO+99iFfPj/tidO60wTZ UAdg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741554864; x=1742159664; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=FXKHJBpWRSe9XkFdvaV0KeS04LB7f34Ir4er9ZP0uBM=; b=b6PY6+E645IjsPnpPaFHZb9qemMFuh0/PyMErlt9VDUFlJHtGf0qX/aQh3UHZFx3Mu +fJ9jaURFVAcRDa8Z2h+Ar41w1fodMQXILkqlykkguFRJ3FumXEG6Z5cyhqlltfzP4fD VgrRYnIVaG0GaRouaC6WJssSeTRmPBDOCKjOdG8sf9QOD8oxJWYF032tjtQVxFI/iqhs oCii9QA7L8U/4ONBsKcF6YxBwFGAxsRWkDmPrxmnwa5ImKKYrwjh57LDYJXhZVbsp7Zm T4DkHTLNgfe+8BinyoB/GLI6G15ib1S9A8qwwhvNYBVrtaM/Fylrye4HBKe/XJPWmiku aeEA== X-Forwarded-Encrypted: i=1; AJvYcCVSZm5e38U+G8xWNcljTX6jDtSEmW6h+xmJ5lA75quETOJJELh5UVGP92RaLb6SCL7da0sNw3dkh0zbhEvhY0W7VKw=@vger.kernel.org, AJvYcCVpNecGFqcKRJZJKjjhAocqhPXl1qwkecRc3yuVOxd22Jd1hWe2i68Jq1Ayam9APL/9wSwR7Cf503dogBY=@vger.kernel.org X-Gm-Message-State: AOJu0YxxOho3VyWxWBSJHFTFWxstOqWRgQ2pJqVOeQsmOwvtvT58ErH2 fvOC2YxgrvsqPf2qqEInds0GbqhECd45Kgo8ZYXveEKzsmNAflin X-Gm-Gg: ASbGnct/LnprpdfajuQro/2x7i+5gLijcD0MVDyN/bIM0MXZZGMo6pb3uVo6GnOi3sj 6eKEs9Z11ReL9b+CVNRHklUXHAJouBWxTN8Zw5sWPimtdd7IJA95OKAYkl8yn84jEx4JvjInSsU 1bHnUx4KBct7JihnjnLKZcUhlbNxnLKmtJLBKuTMSjFZuiy28xgD30+eRTQkGU893H0s/KXfq+m 2bhKYAfPQW8WiP4DdUSACPrfKCJI/lYswCGiI983isQ21fWZtJ3QEICoA+TtKF9i8YptjMpjnpH zNYmFe9m/EIskqa30U3mmrmAH254BltoO6G6Fbv4lVxMCjNyYKtdZ4aw4O4yyS0SqAQ2xL8n4g= = X-Google-Smtp-Source: AGHT+IF3BRuFf5oUet1l+Hq4UXH40CIdvVq4cyvs4dimwu7l+UgqhTJ6Zv6fl1Wy6KrhrH4a+fMaIA== X-Received: by 2002:a05:600c:1d08:b0:43c:f184:2e16 with SMTP id 5b1f17b1804b1-43cf184310dmr19365635e9.5.1741554863575; Sun, 09 Mar 2025 14:14:23 -0700 (PDT) Received: from prasmi.Home ([2a06:5906:61b:2d00:e951:ba7a:6a53:bac5]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-43ce70d13b4sm64443845e9.38.2025.03.09.14.14.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 09 Mar 2025 14:14:23 -0700 (PDT) From: Prabhakar X-Google-Original-From: Prabhakar To: Geert Uytterhoeven , Michael Turquette , Stephen Boyd Cc: linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org, linux-renesas-soc@vger.kernel.org, Prabhakar , Biju Das , Fabrizio Castro , Lad Prabhakar Subject: [PATCH v2 1/5] clk: renesas: rzv2h: Refactor PLL configuration handling Date: Sun, 9 Mar 2025 21:13:58 +0000 Message-ID: <20250309211402.80886-2-prabhakar.mahadev-lad.rj@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250309211402.80886-1-prabhakar.mahadev-lad.rj@bp.renesas.com> References: <20250309211402.80886-1-prabhakar.mahadev-lad.rj@bp.renesas.com> Precedence: bulk X-Mailing-List: linux-renesas-soc@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 From: Lad Prabhakar Refactor PLL handling by introducing a `struct pll` to encapsulate PLL configuration parameters, ensuring consistency with the existing dynamic divider structure. Introduce the `PLL_PACK()` macro to simplify PLL structure initialization and update the `DEF_PLL()` macro to use the new `pll` structure. Modify relevant clock register functions to utilize the structured PLL data instead of raw configuration values. This refactoring improves code readability, maintainability, and alignment with the existing clock configuration approach. Signed-off-by: Lad Prabhakar --- v1->v2 - New patch --- drivers/clk/renesas/r9a09g047-cpg.c | 2 +- drivers/clk/renesas/r9a09g057-cpg.c | 2 +- drivers/clk/renesas/rzv2h-cpg.c | 13 ++++++++----- drivers/clk/renesas/rzv2h-cpg.h | 30 +++++++++++++++++++++-------- 4 files changed, 32 insertions(+), 15 deletions(-) diff --git a/drivers/clk/renesas/r9a09g047-cpg.c b/drivers/clk/renesas/r9a09g047-cpg.c index e9cf4342d0cf..7b9311af603e 100644 --- a/drivers/clk/renesas/r9a09g047-cpg.c +++ b/drivers/clk/renesas/r9a09g047-cpg.c @@ -79,7 +79,7 @@ static const struct cpg_core_clk r9a09g047_core_clks[] __initconst = { DEF_FIXED(".pllcm33", CLK_PLLCM33, CLK_QEXTAL, 200, 3), DEF_FIXED(".pllcln", CLK_PLLCLN, CLK_QEXTAL, 200, 3), DEF_FIXED(".plldty", CLK_PLLDTY, CLK_QEXTAL, 200, 3), - DEF_PLL(".pllca55", CLK_PLLCA55, CLK_QEXTAL, PLL_CONF(0x64)), + DEF_PLL(".pllca55", CLK_PLLCA55, CLK_QEXTAL, PLLCA55), DEF_FIXED(".pllvdo", CLK_PLLVDO, CLK_QEXTAL, 105, 2), /* Internal Core Clocks */ diff --git a/drivers/clk/renesas/r9a09g057-cpg.c b/drivers/clk/renesas/r9a09g057-cpg.c index d63eafbca780..031f332893a1 100644 --- a/drivers/clk/renesas/r9a09g057-cpg.c +++ b/drivers/clk/renesas/r9a09g057-cpg.c @@ -85,7 +85,7 @@ static const struct cpg_core_clk r9a09g057_core_clks[] __initconst = { DEF_FIXED(".pllcm33", CLK_PLLCM33, CLK_QEXTAL, 200, 3), DEF_FIXED(".pllcln", CLK_PLLCLN, CLK_QEXTAL, 200, 3), DEF_FIXED(".plldty", CLK_PLLDTY, CLK_QEXTAL, 200, 3), - DEF_PLL(".pllca55", CLK_PLLCA55, CLK_QEXTAL, PLL_CONF(0x64)), + DEF_PLL(".pllca55", CLK_PLLCA55, CLK_QEXTAL, PLLCA55), DEF_FIXED(".pllvdo", CLK_PLLVDO, CLK_QEXTAL, 105, 2), /* Internal Core Clocks */ diff --git a/drivers/clk/renesas/rzv2h-cpg.c b/drivers/clk/renesas/rzv2h-cpg.c index 2b9771ab2b3f..d115a810a46b 100644 --- a/drivers/clk/renesas/rzv2h-cpg.c +++ b/drivers/clk/renesas/rzv2h-cpg.c @@ -44,9 +44,11 @@ #define CPG_BUS_1_MSTOP (0xd00) #define CPG_BUS_MSTOP(m) (CPG_BUS_1_MSTOP + ((m) - 1) * 4) +#define CPG_PLL_CLK1(x) ((x) + 0x004) #define KDIV(val) ((s16)FIELD_GET(GENMASK(31, 16), (val))) #define MDIV(val) FIELD_GET(GENMASK(15, 6), (val)) #define PDIV(val) FIELD_GET(GENMASK(5, 0), (val)) +#define CPG_PLL_CLK2(x) ((x) + 0x008) #define SDIV(val) FIELD_GET(GENMASK(2, 0), (val)) #define DDIV_DIVCTL_WEN(shift) BIT((shift) + 16) @@ -94,7 +96,7 @@ struct pll_clk { struct rzv2h_cpg_priv *priv; void __iomem *base; struct clk_hw hw; - unsigned int conf; + struct pll pll; unsigned int type; }; @@ -145,14 +147,15 @@ static unsigned long rzv2h_cpg_pll_clk_recalc_rate(struct clk_hw *hw, { struct pll_clk *pll_clk = to_pll(hw); struct rzv2h_cpg_priv *priv = pll_clk->priv; + struct pll pll = pll_clk->pll; unsigned int clk1, clk2; u64 rate; - if (!PLL_CLK_ACCESS(pll_clk->conf)) + if (!pll.clk) return 0; - clk1 = readl(priv->base + PLL_CLK1_OFFSET(pll_clk->conf)); - clk2 = readl(priv->base + PLL_CLK2_OFFSET(pll_clk->conf)); + clk1 = readl(priv->base + CPG_PLL_CLK1(pll.offset)); + clk2 = readl(priv->base + CPG_PLL_CLK2(pll.offset)); rate = mul_u64_u32_shr(parent_rate, (MDIV(clk1) << 16) + KDIV(clk1), 16 + SDIV(clk2)); @@ -193,7 +196,7 @@ rzv2h_cpg_pll_clk_register(const struct cpg_core_clk *core, init.num_parents = 1; pll_clk->hw.init = &init; - pll_clk->conf = core->cfg.conf; + pll_clk->pll = core->cfg.pll; pll_clk->base = base; pll_clk->priv = priv; pll_clk->type = core->type; diff --git a/drivers/clk/renesas/rzv2h-cpg.h b/drivers/clk/renesas/rzv2h-cpg.h index 576a070763cb..0a99a85433bd 100644 --- a/drivers/clk/renesas/rzv2h-cpg.h +++ b/drivers/clk/renesas/rzv2h-cpg.h @@ -10,6 +10,25 @@ #include +/** + * struct pll - Structure for PLL configuration + * + * @offset: STBY register offset + * @clk: Flag to indicate if CLK1/2 are accessible or not + */ +struct pll { + unsigned int offset:9; + unsigned int clk:1; +}; + +#define PLL_PACK(_offset, _clk) \ + ((struct pll){ \ + .offset = _offset, \ + .clk = _clk \ + }) + +#define PLLCA55 PLL_PACK(0x60, 1) + /** * struct ddiv - Structure for dynamic switching divider * @@ -74,6 +93,7 @@ struct cpg_core_clk { union { unsigned int conf; struct ddiv ddiv; + struct pll pll; } cfg; const struct clk_div_table *dtable; u32 flag; @@ -87,18 +107,12 @@ enum clk_types { CLK_TYPE_DDIV, /* Dynamic Switching Divider */ }; -/* BIT(31) indicates if CLK1/2 are accessible or not */ -#define PLL_CONF(n) (BIT(31) | ((n) & ~GENMASK(31, 16))) -#define PLL_CLK_ACCESS(n) ((n) & BIT(31) ? 1 : 0) -#define PLL_CLK1_OFFSET(n) ((n) & ~GENMASK(31, 16)) -#define PLL_CLK2_OFFSET(n) (((n) & ~GENMASK(31, 16)) + (0x4)) - #define DEF_TYPE(_name, _id, _type...) \ { .name = _name, .id = _id, .type = _type } #define DEF_BASE(_name, _id, _type, _parent...) \ DEF_TYPE(_name, _id, _type, .parent = _parent) -#define DEF_PLL(_name, _id, _parent, _conf) \ - DEF_TYPE(_name, _id, CLK_TYPE_PLL, .parent = _parent, .cfg.conf = _conf) +#define DEF_PLL(_name, _id, _parent, _pll_packed) \ + DEF_TYPE(_name, _id, CLK_TYPE_PLL, .parent = _parent, .cfg.pll = _pll_packed) #define DEF_INPUT(_name, _id) \ DEF_TYPE(_name, _id, CLK_TYPE_IN) #define DEF_FIXED(_name, _id, _parent, _mult, _div) \ From patchwork Sun Mar 9 21:13:59 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Prabhakar X-Patchwork-Id: 14009037 X-Patchwork-Delegate: geert@linux-m68k.org Received: from mail-wr1-f48.google.com (mail-wr1-f48.google.com [209.85.221.48]) (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 A93F821D5A9; Sun, 9 Mar 2025 21:14:26 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.48 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741554868; cv=none; b=GZNjF1iiW6X52iXWuBonHIe7XouC+bFvJ4/G9M51eldwjh+dSOlh7GvsEYg18DCLHZ4s5l/yrTC1N3KCQnS5S/aQW/CKffTODiuoEkmAySwr2e284TeGyKM9aiXNAFryRElr8obNK0kx1Nnmr3zy+I1mgi54+eGIIssH1nk0ZjI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741554868; c=relaxed/simple; bh=Ctb3XdJaw1yEZi06F78U/2yJIF/pTdQZx9Potu1zAF8=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Lzb6nOoqLfEuD+YbKr3piXKMeVC57bPKMUwFYmtW+GnHtG5bkmZj5pUzSdz3DGSpnyMVcoKniEji59m/Y835m0N087jy6hQoXFSOyXVy3FtlMVxlOSy/U1UkRf7F0xQElnbZWRTSJm9BbXCFDRMxT26y9x/D5R+n8UdDoY+T+8M= 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=l70Y3QPU; arc=none smtp.client-ip=209.85.221.48 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="l70Y3QPU" Received: by mail-wr1-f48.google.com with SMTP id ffacd0b85a97d-3911748893aso2213268f8f.3; Sun, 09 Mar 2025 14:14:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1741554865; x=1742159665; 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; bh=qQsVu3V7iTkYEpNppecMtm9vo+fb/bvtnYLC+K5awKM=; b=l70Y3QPUP15y2p11PdSJaSCN5rcMvKrxd4ZMgXaWdUQLP43fWIK7hgY3scwU7CB8/D ypJ8ZlrFSvBOnmLgnUxOxKyre7ur2zwpgPJQNCdaIbcDk1wLb5T2uQEZuHFzH7wiUD0x IOSEn7W4Veu2vZg9an/CTpNpnxqnBff/UZUbXsmOdBjr5dhFovQ9buEb0IMXRsPO+1L+ kN8W3XYR2JcSYfvTdL0/laHnuA7Pm6SdEBECpOeyPUnmccGLXBQTmFZGayyyMVJOt2V2 AEi3I1I86CbvULio9mDD0aIs+1S0+GvAfhUsE2OAvPDmN7Zf9frMwnVME80WuF6LRNr6 tgCw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741554865; x=1742159665; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=qQsVu3V7iTkYEpNppecMtm9vo+fb/bvtnYLC+K5awKM=; b=t9Avjq03683SDql6ksWCp8BD/LrN1Eh8+O5vUmn6yRUw0uGs/QzmTvWBPJuqEaudca rECkaMGM/+7wvEj1FPPcfhBYeKV64t+TR1p7sYts9acqRn0l8Gmb/9gPI64jkUI4gNEp sMKXf2Jio+b+jz81QZJh1HZ8eCS607fBnFOt5zgVK+FZF91aYpHbXCjqysBTiXh/3ztb 4DR7woQDg2L0hzvgqL/i6sea/rLvjvQXjhL951gwyRJUeDT0VtlTGIFLfAQkr5slR9k8 FMiPf01mUSD/ghrPP3sjwp8/GmwRfFtNeXwmcET/Zv8/tymYyq6OBxPNigNZJc77wJKE dXPA== X-Forwarded-Encrypted: i=1; AJvYcCVHUvnerzseuvE/7Z0VAPnUOocXeXCqcb3bjSZ5hErfepfmvoTd/41tmA2joAcn1YB3opjyEtRfRjxfjsA=@vger.kernel.org, AJvYcCXjFKkiM8vzVn7miV3np89BD1PJcb3m8ilFjfS+Gu1WTjlNfFFRHBjN6yW4F7KEQGT+huGy0OyALZeBQ3TR+YZzLqE=@vger.kernel.org X-Gm-Message-State: AOJu0Yz4+tgBOXGJOd93pPCIltXHvtLVC5mNAfqlzuihpsXtlwqNS2x1 DAc8ab8sphRwwP5e0rbjt3OZP0zWL+83dGc+yDSgxG7OgHNtPOa3 X-Gm-Gg: ASbGncs2srNp5W0wjcLV9WlA1Dc90xYm84Ey9eT/kjXdj3+5l/87H3MxbLuixYWWOue csVJzf1dxAK5nLkGcMiTKhJfISDN2oWeWBdETLe0yuMI+VwfXZ5WvhkQlH2kXNQIYeEWPlTq6I1 JXXMMTMzShSdyIMTt2GZG+6jeHBieuEQ7Rl0vV3Y2w7RYZftxZtJhvHU6KsS9RuQxeyuXOfk5UH ePRxDMxPN0hCeU1sSFlPIiJ9LWeKkf0mj4tNEEnQlcw8HTln63LMr/9wqsjIF2SsljiE/64OaaK qMX0yrn5m0pN/od5nuYwQ2Y8N7Smus1hktyuZ2t8Yi4v3CvmgcisbLkIj7poHzBHvF+U/rfAUg= = X-Google-Smtp-Source: AGHT+IGUIWLdyFE/AX8vkaEOfJOg5Gcqr6TEZTjX6eN4222W7kkPwwOcDk+uL3P+elhwAd+QmBK6BQ== X-Received: by 2002:a5d:6c66:0:b0:391:4763:2a with SMTP id ffacd0b85a97d-39147630139mr1587245f8f.47.1741554864782; Sun, 09 Mar 2025 14:14:24 -0700 (PDT) Received: from prasmi.Home ([2a06:5906:61b:2d00:e951:ba7a:6a53:bac5]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-43ce70d13b4sm64443845e9.38.2025.03.09.14.14.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 09 Mar 2025 14:14:24 -0700 (PDT) From: Prabhakar X-Google-Original-From: Prabhakar To: Geert Uytterhoeven , Michael Turquette , Stephen Boyd Cc: linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org, linux-renesas-soc@vger.kernel.org, Prabhakar , Biju Das , Fabrizio Castro , Lad Prabhakar Subject: [PATCH v2 2/5] clk: renesas: rzv2h: Remove unused `type` field from `struct pll_clk` Date: Sun, 9 Mar 2025 21:13:59 +0000 Message-ID: <20250309211402.80886-3-prabhakar.mahadev-lad.rj@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250309211402.80886-1-prabhakar.mahadev-lad.rj@bp.renesas.com> References: <20250309211402.80886-1-prabhakar.mahadev-lad.rj@bp.renesas.com> Precedence: bulk X-Mailing-List: linux-renesas-soc@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 From: Lad Prabhakar Remove the redundant `type` field from `struct pll_clk`, as it is not used in the PLL clock handling logic. Signed-off-by: Lad Prabhakar --- v1->v2 - New patch --- drivers/clk/renesas/rzv2h-cpg.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/drivers/clk/renesas/rzv2h-cpg.c b/drivers/clk/renesas/rzv2h-cpg.c index d115a810a46b..e489ce28ae63 100644 --- a/drivers/clk/renesas/rzv2h-cpg.c +++ b/drivers/clk/renesas/rzv2h-cpg.c @@ -97,7 +97,6 @@ struct pll_clk { void __iomem *base; struct clk_hw hw; struct pll pll; - unsigned int type; }; #define to_pll(_hw) container_of(_hw, struct pll_clk, hw) @@ -199,7 +198,6 @@ rzv2h_cpg_pll_clk_register(const struct cpg_core_clk *core, pll_clk->pll = core->cfg.pll; pll_clk->base = base; pll_clk->priv = priv; - pll_clk->type = core->type; ret = devm_clk_hw_register(dev, &pll_clk->hw); if (ret) From patchwork Sun Mar 9 21:14:00 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Prabhakar X-Patchwork-Id: 14009038 X-Patchwork-Delegate: geert@linux-m68k.org Received: from mail-wm1-f53.google.com (mail-wm1-f53.google.com [209.85.128.53]) (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 D253F21E097; Sun, 9 Mar 2025 21:14:27 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.53 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741554869; cv=none; b=EO+SdvHqQKEkhRHx/5eN/XwZs6RbBFo12LwkQZd2tKFyOrqeOGCugPSSAOiGBOGs0SmFcK38YkIYaT6ZD/qG995+6C8//6J4KfQycnpcwMXQl4lGvFm1bxYeY2E0xX78Iwh8CuIb+sWuyPr0gdsxeDuNSVzCDpLNUw0prFmfXRY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741554869; c=relaxed/simple; bh=6EnlHtcPAQHrjaXU7Hw9sqzeoi92vW50TaKacMfMjyg=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=hQgBbcUWjzubu7opkh7UdbRwihw0ui19rTGQ6kVFQqqSrVljSifme04XdbvBkKKws+IPTSD/iIdWWU4lkRrFw/51Suntb0YjPkNm5ChbPdrjG1Pk9KhCoF4gjjOG63MbUHmKyLYNG/JdW7QLbYHs19MSBa8OC4bgN5fqYAmcbdg= 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=GJgnx5Wl; arc=none smtp.client-ip=209.85.128.53 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="GJgnx5Wl" Received: by mail-wm1-f53.google.com with SMTP id 5b1f17b1804b1-43948f77f1aso20585145e9.0; Sun, 09 Mar 2025 14:14:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1741554866; x=1742159666; 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; bh=IHfhS/Bw+59m0t+UTTunw4CckJqGA/E44i/0mpYARhs=; b=GJgnx5WlT33XQtGYTkavnGPzfK9rg6JFaXKhwkHcmT9AGHYMJ7amRcjJn/kA+tDakV BnLwTkggECn/0aEkS8qwOSeDNeW8z2WF9P0xA7DnG3BfKpSjhNBdlWRnHu6uDdG0toao Y4VkVvX1aDme3uRVLPQlKIzitC3Gr3k6XR1yArwbcAPZ7LBLpqHOrfx0r0uaoU2aJ5uq JhWvYq5Q/vb7lL0rm4jZ4qE9yMM9KveGvN7dZDzdZhYJYsjdK+nQ2KhS/4Z/qg9hXHRE ZZIwG8j9QbNB3U6ZezbnwAlZxE7b6QIyrSFlcesvggSrJVl7rMYEWCuR/BGgBCqgv4dT oePA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741554866; x=1742159666; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=IHfhS/Bw+59m0t+UTTunw4CckJqGA/E44i/0mpYARhs=; b=AkjHqIqP+O7MicgzNN8zseIEQ3NUtf/Br84LSqCvB1RBL2CnWCNs43DR4yE0Fxk2eu rBizZ2WMoywBp+AysfpyUdDlIcCldNxQ+uD8i2l/wfK5RW7BdHU28zoQgId9XA/s5iG5 hwY+ffinWWCsyoX6ITeONFS2yMexj4HRiX8M/DajC2F7mfXnMTDDPUlQlmFKpQXiouAS 0QcdaWzS5/ZvuYxQlFXLuFx3c4jWzFERvnZXx4VYk9N87iJmt96yAPeY3Rov4FOWrjLT N7zFOckMSb1HO0J/NyriewLcEGo7ecViBWvJsNztDcnGAuC/pGdGq3SAk2br1Y5wODHO zU0Q== X-Forwarded-Encrypted: i=1; AJvYcCUc2u8TnjDlhnuTaUCVnwSPoLC1olLUcH2tkuRrel7yS6MaqROGJZzPkeR0VxiMHPX5mqbLaU90HkUMmWQ=@vger.kernel.org, AJvYcCXHFhF4S+afMBjiyHUduI3D3ntd5uyev0h3w0zpuEzF17MfAV272lWJW7efckdfcoUSxS6E21jdkX+WEHQH06eZORU=@vger.kernel.org X-Gm-Message-State: AOJu0Ywo9rqUuQ0pQnw8eyBfCwGxv6Upunqatw0PKrUKF9TOX289yquY sdP+kr2Xi9DfpsTUUJa1qD9/GCCxu/PCvwMpRs9ey1YLdyxU1iPZ X-Gm-Gg: ASbGncsypgQdNOealixZyJUzeOxk5jGGO7o0kD/fm5wzlvN7ftlOiFAxYkhBtRluzPy ThEZzhh6PIC2NhGCGwTTtcbPAdi28tEHOyfvYixYraFW43aNOwkLa1RYh4/sIQZZw5ERo0hCedQ lRV+NmmxkX/bc9ZKBSzM+dBgai/0sx1VAHuZoIKbIa++vHxdXFsw0mfymfXjMZM5kDMrZICWwcH WGw0MPDvWfNdnL3pfdUcfRhVVH5JCTWYCm2Foy5CRoyAY1b4ujTDkRsLlDaIswzWo5iHxE3mf+B dTPomJNBijG4zPyINDGETPKD4qXT/lad/gNOeDpfspvgS9Wtl+4zlDsuWKpcqEcXzohdh9ODOg= = X-Google-Smtp-Source: AGHT+IH1DSVdLrc2wBsbZvpGn2hr8dhJhwVGGU++2bVvIZFO1IMB+b3XfaJngqF8cRmkUZkSSoL0/Q== X-Received: by 2002:a05:600c:4f0c:b0:43c:eeee:b706 with SMTP id 5b1f17b1804b1-43ceeeeb95amr17980455e9.24.1741554865919; Sun, 09 Mar 2025 14:14:25 -0700 (PDT) Received: from prasmi.Home ([2a06:5906:61b:2d00:e951:ba7a:6a53:bac5]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-43ce70d13b4sm64443845e9.38.2025.03.09.14.14.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 09 Mar 2025 14:14:25 -0700 (PDT) From: Prabhakar X-Google-Original-From: Prabhakar To: Geert Uytterhoeven , Michael Turquette , Stephen Boyd Cc: linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org, linux-renesas-soc@vger.kernel.org, Prabhakar , Biju Das , Fabrizio Castro , Lad Prabhakar Subject: [PATCH v2 3/5] clk: renesas: rzv2h-cpg: Add support for enabling PLLs Date: Sun, 9 Mar 2025 21:14:00 +0000 Message-ID: <20250309211402.80886-4-prabhakar.mahadev-lad.rj@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250309211402.80886-1-prabhakar.mahadev-lad.rj@bp.renesas.com> References: <20250309211402.80886-1-prabhakar.mahadev-lad.rj@bp.renesas.com> Precedence: bulk X-Mailing-List: linux-renesas-soc@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 From: Lad Prabhakar Some RZ/V2H(P) SoC variants do not have a GPU, resulting in PLLGPU being disabled by default in TF-A. Add support for enabling PLL clocks in the RZ/V2H(P) CPG driver to manage this. Introduce `is_enabled` and `enable` callbacks to handle PLL state transitions. With the `enable` callback, PLLGPU will be turned ON only when the GPU node is enabled; otherwise, it will remain off. Define new macros for PLL standby and monitor registers to facilitate this process. Signed-off-by: Lad Prabhakar --- v1->v2 - Updated macros to get PLL offsets - Switched to readl_poll_timeout_atomic() and updated the timeout --- drivers/clk/renesas/rzv2h-cpg.c | 49 +++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) diff --git a/drivers/clk/renesas/rzv2h-cpg.c b/drivers/clk/renesas/rzv2h-cpg.c index e489ce28ae63..76ad037b4361 100644 --- a/drivers/clk/renesas/rzv2h-cpg.c +++ b/drivers/clk/renesas/rzv2h-cpg.c @@ -44,12 +44,18 @@ #define CPG_BUS_1_MSTOP (0xd00) #define CPG_BUS_MSTOP(m) (CPG_BUS_1_MSTOP + ((m) - 1) * 4) +#define CPG_PLL_STBY(x) ((x)) +#define CPG_PLL_STBY_RESETB BIT(0) +#define CPG_PLL_STBY_RESETB_WEN BIT(16) #define CPG_PLL_CLK1(x) ((x) + 0x004) #define KDIV(val) ((s16)FIELD_GET(GENMASK(31, 16), (val))) #define MDIV(val) FIELD_GET(GENMASK(15, 6), (val)) #define PDIV(val) FIELD_GET(GENMASK(5, 0), (val)) #define CPG_PLL_CLK2(x) ((x) + 0x008) #define SDIV(val) FIELD_GET(GENMASK(2, 0), (val)) +#define CPG_PLL_MON(x) ((x) + 0x010) +#define CPG_PLL_MON_RESETB BIT(0) +#define CPG_PLL_MON_LOCK BIT(4) #define DDIV_DIVCTL_WEN(shift) BIT((shift) + 16) @@ -141,6 +147,47 @@ struct ddiv_clk { #define to_ddiv_clock(_div) container_of(_div, struct ddiv_clk, div) +static int rzv2h_cpg_pll_clk_is_enabled(struct clk_hw *hw) +{ + struct pll_clk *pll_clk = to_pll(hw); + struct rzv2h_cpg_priv *priv = pll_clk->priv; + u32 val = readl(priv->base + CPG_PLL_MON(pll_clk->pll.offset)); + + /* Ensure both RESETB and LOCK bits are set */ + return (val & (CPG_PLL_MON_RESETB | CPG_PLL_MON_LOCK)) == + (CPG_PLL_MON_RESETB | CPG_PLL_MON_LOCK); +} + +static int rzv2h_cpg_pll_clk_enable(struct clk_hw *hw) +{ + struct pll_clk *pll_clk = to_pll(hw); + struct rzv2h_cpg_priv *priv = pll_clk->priv; + struct pll pll = pll_clk->pll; + u32 stby_offset; + u32 mon_offset; + u32 val; + int ret; + + if (rzv2h_cpg_pll_clk_is_enabled(hw)) + return 0; + + stby_offset = CPG_PLL_STBY(pll.offset); + mon_offset = CPG_PLL_MON(pll.offset); + + writel(CPG_PLL_STBY_RESETB_WEN | CPG_PLL_STBY_RESETB, + priv->base + stby_offset); + + /* ensure PLL is in normal mode */ + ret = readl_poll_timeout_atomic(priv->base + mon_offset, val, + (val & (CPG_PLL_MON_RESETB | CPG_PLL_MON_LOCK)) == + (CPG_PLL_MON_RESETB | CPG_PLL_MON_LOCK), 10, 100); + if (ret) + dev_err(priv->dev, "Failed to enable PLL 0x%x/%pC\n", + stby_offset, hw->clk); + + return ret; +} + static unsigned long rzv2h_cpg_pll_clk_recalc_rate(struct clk_hw *hw, unsigned long parent_rate) { @@ -163,6 +210,8 @@ static unsigned long rzv2h_cpg_pll_clk_recalc_rate(struct clk_hw *hw, } static const struct clk_ops rzv2h_cpg_pll_ops = { + .is_enabled = rzv2h_cpg_pll_clk_is_enabled, + .enable = rzv2h_cpg_pll_clk_enable, .recalc_rate = rzv2h_cpg_pll_clk_recalc_rate, }; From patchwork Sun Mar 9 21:14:01 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Prabhakar X-Patchwork-Id: 14009039 X-Patchwork-Delegate: geert@linux-m68k.org Received: from mail-wm1-f52.google.com (mail-wm1-f52.google.com [209.85.128.52]) (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 AAF75220689; Sun, 9 Mar 2025 21:14:28 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.52 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741554870; cv=none; b=f7vPN2aDy8LtsgvqpEqDPE9ed02I9W9VGvrqZWYjTorn5mgRwUiR2h8rSBm2deoEN9fISi1aIdDYJiBzz+Si8qmo3quRtGb2nMh8ixZxb2EVJB8UvsHILInVs8mIk0dBTg5I90V5YXOOPfV7+hVXh5GHCNhObFxO8w+YLUJ/gbo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741554870; c=relaxed/simple; bh=p4tw7sIno7aVydPLMnfjr/iLNqWWqcNw8pI/a7Z8t+I=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=ELoLpw42cvjFMdDmlVfKI8XN+yi3LtdE44ZU9E/fyj/h27xwf4oQU5DjpEhpub0bQYSfwq3SDyialUxkxDRutBPkxDTYZaTvgaXuFiCRQ08NVTQWALkX+djfgNe0Ygm5+pOsOQmuaWqlGna22wCde3AcTnLTbPhvz+d/sJiBCm4= 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=lmAizCNE; arc=none smtp.client-ip=209.85.128.52 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="lmAizCNE" Received: by mail-wm1-f52.google.com with SMTP id 5b1f17b1804b1-43cf58eea0fso2103585e9.0; Sun, 09 Mar 2025 14:14:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1741554867; x=1742159667; 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; bh=CrQCeWkox3LKz8pG/0aW5QkQIzDRaa4lkk69wZlu4/0=; b=lmAizCNEcRb28vAxmbaC/zFAOgatai4z0VWOZQtxoS25P1HNW1Cp/s3Kh/mmMocgtm 1Y9dxMMTH64afnoOUeYoellQjAB1fRMeENKoZZ2yXAVAjBr3zdOVnV0Upn4bhWay+4ks s0XsElI7WSjM+6PUlRosq92OjASbu03rTRg9mj9J5Pk8ZThqMaCzcSYwvD5N86oyRmms ZfsVuaRrRzzAUd2LM1TYF88VYb7Jr2swv4e/5WVClYAa3BCSz5Fq1lbxL+Fw0BFEpfv0 5FcoyQJWLhPzEWRjbYFqmNWX15iXKytjckGAImj859E8pFMmgIYyqw8a4lUWhELvpXLd zPFQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741554867; x=1742159667; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=CrQCeWkox3LKz8pG/0aW5QkQIzDRaa4lkk69wZlu4/0=; b=aBtfCFsS7dsx6JeAsDCWYO8DWgf+V1z9lqtK9TgWi/jWCxreGJ4g4cSxkpP/1UYjiY LNa6EfiV0RHEy6n+j3JmAEN84B7BYy6XX0l+U87dtvsb6pcIHlP1TkP8/b8CS5D7SliP +turnbrmJnDw5nJwvGMbP4/OLDZAM3X5vjCceGnUPkT/Wykl+CrqLjqApGsUdw8iHy+N hiMO7epV86N8q+FRtcGLBV5rqoZA/6IE23nFxjlFJSJ4NpLjzGHHKLO8xWmiVZJNIE+Y /kmRMhL02I768Iq8MkVVRGdGsmoKh0Ag8WmG6F++ojgDYOkQ5QsqitUZP7Aup67/NlSZ 7MqQ== X-Forwarded-Encrypted: i=1; AJvYcCWC7A2dIY2jOFc6/KuA6vypJezRteL2yKKYMnAf5T0KjLL6iiVVlOTR+Pi5FH1Qc2jGt7Jgu5g/WlbUWK16PETr714=@vger.kernel.org, AJvYcCXygWTTDCixYOZgMLPcB54XRe/KheDzLIhCa/nQPgm07bFaUk0mHeZ7zDrrbrsZ15bLE3jYqC9w6otuvUY=@vger.kernel.org X-Gm-Message-State: AOJu0YywxRvY311N+RDwqQBRYSCVVYiFxphaUDrrAI7/BnHV16Uni5MU bORlVTYVUJxWnbfBZXUo8cUZnUr78lSpicJby9/4pvkeUWbNFZyK X-Gm-Gg: ASbGncttMovLLkeHaodNmtGdRP4Gl3foUxZwSbS9V62lXxgw7r76uET6t4c/TOrfQ0E CT0sr2vENZwVlFX/MN90ywLF7hxZEdtSyBMpFchZo+S8nPfdrww402EGPP++RfCatiayzv+x3PH p2qG0JdxOmgjWH0XQlUubGJg3PizI2vIkYfOirJ0tVhO3XZSHuwREAphLvs4HSm2oVBTSlSk8kK GmKTl0JndYBN/SZE8bk0FARNLfG1Rx8UunnfDd+YgRAOcS33816QaVrowT2e7eDjlXo2tWxkwmK oeCnEDucG79r5vGb4+WeYGqA2WouGUQvflau9bzb9zvKYdCSzAy5Xjz/XVqwPd3Um6iFP9n3Vyd DrxAfIjo9 X-Google-Smtp-Source: AGHT+IGnmkx/xNxOL/OQ/1kn2+TTCWf85yqTkdX3FkV68fvBFjLQjqET6YPRrfDPu/WR4GmLazuEzA== X-Received: by 2002:a05:600c:4e8e:b0:43b:cc3c:60bc with SMTP id 5b1f17b1804b1-43c5a60ed21mr71724985e9.15.1741554867009; Sun, 09 Mar 2025 14:14:27 -0700 (PDT) Received: from prasmi.Home ([2a06:5906:61b:2d00:e951:ba7a:6a53:bac5]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-43ce70d13b4sm64443845e9.38.2025.03.09.14.14.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 09 Mar 2025 14:14:26 -0700 (PDT) From: Prabhakar X-Google-Original-From: Prabhakar To: Geert Uytterhoeven , Michael Turquette , Stephen Boyd Cc: linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org, linux-renesas-soc@vger.kernel.org, Prabhakar , Biju Das , Fabrizio Castro , Lad Prabhakar Subject: [PATCH v2 4/5] clk: renesas: rzv2h: Rename PLL field macros for consistency Date: Sun, 9 Mar 2025 21:14:01 +0000 Message-ID: <20250309211402.80886-5-prabhakar.mahadev-lad.rj@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250309211402.80886-1-prabhakar.mahadev-lad.rj@bp.renesas.com> References: <20250309211402.80886-1-prabhakar.mahadev-lad.rj@bp.renesas.com> Precedence: bulk X-Mailing-List: linux-renesas-soc@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 From: Lad Prabhakar Rename PLL field extraction macros to include the associated register name (`CPG_PLL_CLK1` or `CPG_PLL_CLK2`) to maintain consistency with other PLL register macros. Update all corresponding macro references accordingly. Signed-off-by: Lad Prabhakar --- v1->v2 - New patch --- drivers/clk/renesas/rzv2h-cpg.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/drivers/clk/renesas/rzv2h-cpg.c b/drivers/clk/renesas/rzv2h-cpg.c index 76ad037b4361..a11aa0c4295d 100644 --- a/drivers/clk/renesas/rzv2h-cpg.c +++ b/drivers/clk/renesas/rzv2h-cpg.c @@ -48,11 +48,11 @@ #define CPG_PLL_STBY_RESETB BIT(0) #define CPG_PLL_STBY_RESETB_WEN BIT(16) #define CPG_PLL_CLK1(x) ((x) + 0x004) -#define KDIV(val) ((s16)FIELD_GET(GENMASK(31, 16), (val))) -#define MDIV(val) FIELD_GET(GENMASK(15, 6), (val)) -#define PDIV(val) FIELD_GET(GENMASK(5, 0), (val)) +#define CPG_PLL_CLK1_KDIV(x) ((s16)FIELD_GET(GENMASK(31, 16), (x))) +#define CPG_PLL_CLK1_MDIV(x) FIELD_GET(GENMASK(15, 6), (x)) +#define CPG_PLL_CLK1_PDIV(x) FIELD_GET(GENMASK(5, 0), (x)) #define CPG_PLL_CLK2(x) ((x) + 0x008) -#define SDIV(val) FIELD_GET(GENMASK(2, 0), (val)) +#define CPG_PLL_CLK2_SDIV(x) FIELD_GET(GENMASK(2, 0), (x)) #define CPG_PLL_MON(x) ((x) + 0x010) #define CPG_PLL_MON_RESETB BIT(0) #define CPG_PLL_MON_LOCK BIT(4) @@ -203,10 +203,10 @@ static unsigned long rzv2h_cpg_pll_clk_recalc_rate(struct clk_hw *hw, clk1 = readl(priv->base + CPG_PLL_CLK1(pll.offset)); clk2 = readl(priv->base + CPG_PLL_CLK2(pll.offset)); - rate = mul_u64_u32_shr(parent_rate, (MDIV(clk1) << 16) + KDIV(clk1), - 16 + SDIV(clk2)); + rate = mul_u64_u32_shr(parent_rate, (CPG_PLL_CLK1_MDIV(clk1) << 16) + + CPG_PLL_CLK1_KDIV(clk1), 16 + CPG_PLL_CLK2_SDIV(clk2)); - return DIV_ROUND_CLOSEST_ULL(rate, PDIV(clk1)); + return DIV_ROUND_CLOSEST_ULL(rate, CPG_PLL_CLK1_PDIV(clk1)); } static const struct clk_ops rzv2h_cpg_pll_ops = { From patchwork Sun Mar 9 21:14:02 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Prabhakar X-Patchwork-Id: 14009040 X-Patchwork-Delegate: geert@linux-m68k.org Received: from mail-wm1-f49.google.com (mail-wm1-f49.google.com [209.85.128.49]) (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 C3D1E2206BE; Sun, 9 Mar 2025 21:14:29 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.49 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741554871; cv=none; b=lIE+oTjhFMFFpMScW/WWLN2CwgmS9s+8Bdm09cqcE0Sq6/K6H+WoxWR8T313daPC8r637bqaSvuYjszQ5ftXb9dpNWuHfTFqIuwDcFG+IBagbMUF6UMHvjz4F9zue26tFFwamyudmYXCL96o3KDMyKMf/nehMm9UPBr6RsDeCp4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741554871; c=relaxed/simple; bh=R/BXmOQg30jl0nVpS/h0fNQD8heiMCgc156WqboVeJ4=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=TP8dFXZgTT7Bda/Z+bloWYgJK/VxjSR54pHsukyAc8xt2J5AFhCledkAlFAVBKthv6plGBh53zJmU6M2ie9FozkQshTT6TQyfUVcyz7K1g7XiY0IAyAD+MxKJ4MYsGtswAZw/2xogJ7Dvch4y1Qeud0s43bZFqLbz8eZZ6Bnjmc= 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=CclIsDMo; arc=none smtp.client-ip=209.85.128.49 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="CclIsDMo" Received: by mail-wm1-f49.google.com with SMTP id 5b1f17b1804b1-4394345e4d5so20049195e9.0; Sun, 09 Mar 2025 14:14:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1741554868; x=1742159668; 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; bh=LAShnsPUhf9cglR8slP2JBk+kW7Nxb0DmVJJ6OxiJRs=; b=CclIsDMo8CYB8SaqdIUXTXjHkVvuzVvZ/RjkTrk9AnH3sQbtRIaDv/aF7z/Yk/LABX zM19gVa7UpKMeY1U88pMFzJveOWidDg+yMVppNjkkEwMCdBmV77chqkyRFCnJiK5Noew 6LjTwbU+I5Qv7+yCPS9MxtLMbp+tZuZ3qD4u8uVi2Ao2223Qx5QBCvRYfsBysXAvjFY2 gdA4L378pHW05wlOSP2d5eBSBbLuz012/mkNUNp5Z1etusyzICahqWTJ4YDPUCwm2zRQ lJuPkr595cr3gH63Q6rHsOztYISUOlNzT0YrT6js9K4sbtfUfJhX7k6u4E3MzWDhUWns K2ZA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741554868; x=1742159668; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=LAShnsPUhf9cglR8slP2JBk+kW7Nxb0DmVJJ6OxiJRs=; b=bhRmUXry1EQXTs1xQuP37exo6j0J1Q9EgDqgLXNFL4xWqgP6NExJEufyX6vNtd9gtq E5sdRDzCnLsJs9hgzXrHHLlUUSvbSKv8kiysNgPET29oZMyXJK6L56U09nQHtVFfhjAp A8n7femtEJY/M4S+hxkn98cZdP0I7zgG1IDTkWYaSuV2P9adCREOPu9ygXCFqV3gcUQQ 1oWdFBFy6P/rQ6sRUI4LTSN3A59ybL13wgkPw10N5fBWHiRSEohe7/ASyonZ5vclBjzx Jq5873VhphizDS8u4PHCAOsid1SIxAn/2Shjek8F0ocxCfQU2InO6XiS49MAI2umIO33 WOcQ== X-Forwarded-Encrypted: i=1; AJvYcCUBlq5jWYtgH3vYO7hvJDoac2f1vSce3r0XIt9CHttDtkBrJxjSKHEczrS1jL6B5N+FytVI0GsyC+w6US14d61NC9Y=@vger.kernel.org, AJvYcCVRF9hb5x4rexw2wjN61cnJ3PunGjephfP2Nzer8CIz2YTxUKE9r6iCJs3VoMcfWKO+cb6y0YJCRmUpG2I=@vger.kernel.org X-Gm-Message-State: AOJu0Yyc1O28GqLCSGSvMKjfIooteX+pf6NzUegh+deo4ZfJAg5w649j RAG3f3x2XN/aS1VboUanIp/yuJwH9BsQKqZiyURiOJfsj6Q/lCh6 X-Gm-Gg: ASbGnct0YGVQpyWatOLG0ktbu3KHkW4q0KSpnFr0Cm6g+n47ehIsXAegkFjkXNKBhFY 6SuuombISq03a+nr2Mgjc6DvVDGu/1FOO1oGAJH9WmJfU6rzVfag+IBOswV0y8t5whGqR6C8xVv 2WPQVS0BmJACLlMZKxvnQ3iz/VU3PCoG4ywE/jpLgDgJH9YCd/gdZSDDTF16Cag7rkEICR7hJUR 8SUbQImzkuJdnodOGndst3a9Pv9nrsarGHADdvmXSR3x+b4AVrodyO9kCEQmCvfcIQAWr9PDfxk PQ2J39NhD963n8jWyHMVVqn/4w7T8Qi8YaPyGjglk9hrMw4KiVJ2GgyLUXEU9w3VwhVhBYjKBQ= = X-Google-Smtp-Source: AGHT+IHv+w3TxswrfWotUBiLv8XrK+czTV7uOweKd1xPSuLoak2fV6j2Wg9pUQtMgecpAh+agMYb/g== X-Received: by 2002:a05:600c:218c:b0:43c:eae0:6264 with SMTP id 5b1f17b1804b1-43ceae0630dmr25742865e9.25.1741554867984; Sun, 09 Mar 2025 14:14:27 -0700 (PDT) Received: from prasmi.Home ([2a06:5906:61b:2d00:e951:ba7a:6a53:bac5]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-43ce70d13b4sm64443845e9.38.2025.03.09.14.14.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 09 Mar 2025 14:14:27 -0700 (PDT) From: Prabhakar X-Google-Original-From: Prabhakar To: Geert Uytterhoeven , Michael Turquette , Stephen Boyd Cc: linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org, linux-renesas-soc@vger.kernel.org, Prabhakar , Biju Das , Fabrizio Castro , Lad Prabhakar Subject: [PATCH v2 5/5] clk: renesas: r9a09g057: Add clock and reset entries for GE3D Date: Sun, 9 Mar 2025 21:14:02 +0000 Message-ID: <20250309211402.80886-6-prabhakar.mahadev-lad.rj@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250309211402.80886-1-prabhakar.mahadev-lad.rj@bp.renesas.com> References: <20250309211402.80886-1-prabhakar.mahadev-lad.rj@bp.renesas.com> Precedence: bulk X-Mailing-List: linux-renesas-soc@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 From: Lad Prabhakar Add PLLGPU along with the necessary clock and reset entries for GE3D. Signed-off-by: Lad Prabhakar --- v1->v2 - Dropped reviewed tag from Geert as PLLGPU macro was added --- drivers/clk/renesas/r9a09g057-cpg.c | 14 ++++++++++++++ drivers/clk/renesas/rzv2h-cpg.h | 2 ++ 2 files changed, 16 insertions(+) diff --git a/drivers/clk/renesas/r9a09g057-cpg.c b/drivers/clk/renesas/r9a09g057-cpg.c index 031f332893a1..da20dbaead1f 100644 --- a/drivers/clk/renesas/r9a09g057-cpg.c +++ b/drivers/clk/renesas/r9a09g057-cpg.c @@ -29,6 +29,7 @@ enum clk_ids { CLK_PLLDTY, CLK_PLLCA55, CLK_PLLVDO, + CLK_PLLGPU, /* Internal Core Clocks */ CLK_PLLCM33_DIV4, @@ -47,6 +48,7 @@ enum clk_ids { CLK_PLLVDO_CRU1, CLK_PLLVDO_CRU2, CLK_PLLVDO_CRU3, + CLK_PLLGPU_GEAR, /* Module Clocks */ MOD_CLK_BASE, @@ -87,6 +89,7 @@ static const struct cpg_core_clk r9a09g057_core_clks[] __initconst = { DEF_FIXED(".plldty", CLK_PLLDTY, CLK_QEXTAL, 200, 3), DEF_PLL(".pllca55", CLK_PLLCA55, CLK_QEXTAL, PLLCA55), DEF_FIXED(".pllvdo", CLK_PLLVDO, CLK_QEXTAL, 105, 2), + DEF_PLL(".pllgpu", CLK_PLLGPU, CLK_QEXTAL, PLLGPU), /* Internal Core Clocks */ DEF_FIXED(".pllcm33_div4", CLK_PLLCM33_DIV4, CLK_PLLCM33, 1, 4), @@ -110,6 +113,8 @@ static const struct cpg_core_clk r9a09g057_core_clks[] __initconst = { DEF_DDIV(".pllvdo_cru2", CLK_PLLVDO_CRU2, CLK_PLLVDO, CDDIV4_DIVCTL1, dtable_2_4), DEF_DDIV(".pllvdo_cru3", CLK_PLLVDO_CRU3, CLK_PLLVDO, CDDIV4_DIVCTL2, dtable_2_4), + DEF_DDIV(".pllgpu_gear", CLK_PLLGPU_GEAR, CLK_PLLGPU, CDDIV3_DIVCTL1, dtable_2_64), + /* Core Clocks */ DEF_FIXED("sys_0_pclk", R9A09G057_SYS_0_PCLK, CLK_QEXTAL, 1, 1), DEF_DDIV("ca55_0_coreclk0", R9A09G057_CA55_0_CORE_CLK0, CLK_PLLCA55, @@ -238,6 +243,12 @@ static const struct rzv2h_mod_clk r9a09g057_mod_clks[] __initconst = { BUS_MSTOP(9, BIT(7))), DEF_MOD("cru_3_pclk", CLK_PLLDTY_DIV16, 13, 13, 6, 29, BUS_MSTOP(9, BIT(7))), + DEF_MOD("gpu_0_clk", CLK_PLLGPU_GEAR, 15, 0, 7, 16, + BUS_MSTOP(3, BIT(4))), + DEF_MOD("gpu_0_axi_clk", CLK_PLLDTY_ACPU_DIV2, 15, 1, 7, 17, + BUS_MSTOP(3, BIT(4))), + DEF_MOD("gpu_0_ace_clk", CLK_PLLDTY_ACPU_DIV2, 15, 2, 7, 18, + BUS_MSTOP(3, BIT(4))), }; static const struct rzv2h_reset r9a09g057_resets[] __initconst = { @@ -287,6 +298,9 @@ static const struct rzv2h_reset r9a09g057_resets[] __initconst = { DEF_RST(12, 14, 5, 31), /* CRU_3_PRESETN */ DEF_RST(12, 15, 6, 0), /* CRU_3_ARESETN */ DEF_RST(13, 0, 6, 1), /* CRU_3_S_RESETN */ + DEF_RST(13, 13, 6, 14), /* GPU_0_RESETN */ + DEF_RST(13, 14, 6, 15), /* GPU_0_AXI_RESETN */ + DEF_RST(13, 15, 6, 16), /* GPU_0_ACE_RESETN */ }; const struct rzv2h_cpg_info r9a09g057_cpg_info __initconst = { diff --git a/drivers/clk/renesas/rzv2h-cpg.h b/drivers/clk/renesas/rzv2h-cpg.h index 0a99a85433bd..2f59547e69bf 100644 --- a/drivers/clk/renesas/rzv2h-cpg.h +++ b/drivers/clk/renesas/rzv2h-cpg.h @@ -28,6 +28,7 @@ struct pll { }) #define PLLCA55 PLL_PACK(0x60, 1) +#define PLLGPU PLL_PACK(0x120, 1) /** * struct ddiv - Structure for dynamic switching divider @@ -63,6 +64,7 @@ struct ddiv { #define CDDIV1_DIVCTL1 DDIV_PACK(CPG_CDDIV1, 4, 2, 5) #define CDDIV1_DIVCTL2 DDIV_PACK(CPG_CDDIV1, 8, 2, 6) #define CDDIV1_DIVCTL3 DDIV_PACK(CPG_CDDIV1, 12, 2, 7) +#define CDDIV3_DIVCTL1 DDIV_PACK(CPG_CDDIV3, 4, 3, 13) #define CDDIV3_DIVCTL2 DDIV_PACK(CPG_CDDIV3, 8, 3, 14) #define CDDIV3_DIVCTL3 DDIV_PACK(CPG_CDDIV3, 12, 1, 15) #define CDDIV4_DIVCTL0 DDIV_PACK(CPG_CDDIV4, 0, 1, 16)