From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id A24DDCA5FE5 for ; Fri, 2 Oct 2026 19:51:01 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References: Message-ID:Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=bjlurI6guI0sSWeKN+1kYzUTfgzfECCRnFp3hwMVedQ=; b=HY9ROO1pFQSXJU NIfiu0wT34wdO0HbIgZIV3Peo/pZN3MLDAWHsNayDQ++65eIlByvUrr117w71LU9z6Zrfjp5d61ER 4iVsWfozS1i38wWVkcZYz8wiQvha8pqnNqB2h+2MeT3ywl5HIveYbeM+ewOaZYnyWJFqo8nho4zZs 1uGW/ZSDzCQkU9vJO3XKK2WMyrTvphzV3/ajHrfniXHRyHkdlQ5zIpOPbdgsfxp6yNV+t9Jbv9GST MVhP+poIok1nACeKqC3oe3rcM4Iyrj3udtjv4L41/RGPTT4Hs0OGZg1XdMatV+hJQcwaKmI5qtOuB XX6MXsvXMoLf5Poxu3zw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.99.1 #2 (Red Hat Linux)) id 1xCjHM-0000000CR0n-3Jgh; Fri, 02 Oct 2026 19:50:49 +0000 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by bombadil.infradead.org with esmtps (Exim 4.99.1 #2 (Red Hat Linux)) id 1xCjHJ-0000000CR0Q-2muo for linux-riscv@lists.infradead.org; Fri, 02 Oct 2026 19:50:47 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1790970644; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=F25QBZ61ZmBrTf7fU7xFNKMRCKDf4lsr8/BxhtCtQxg=; b=fVLWMH+yuPFYzuO4xiKa9+Fl73p4+uhPGqXXxaJqEv8L7Y0FLwUmuo36VD73G+/en05UGn pTf4RIoqVx/tfudGIlR+QIoTH8sU4edlVYR8lNIqczbnxBvnnxNW3aZsgW9nBMnoKbbm/g GcxFkSlPJ6dyYpElHpOUHaM3PpIA2jI= Received: from mail-yw1-f200.google.com (mail-yw1-f200.google.com [209.85.128.200]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-686-h6fKlkcQOFCHfD3Y5fpAEQ-1; Fri, 02 Oct 2026 15:50:40 -0400 X-MC-Unique: h6fKlkcQOFCHfD3Y5fpAEQ-1 X-Mimecast-MFC-AGG-ID: h6fKlkcQOFCHfD3Y5fpAEQ_1790970640 Received: by mail-yw1-f200.google.com with SMTP id 00721157ae682-895241d7405so125906347b3.2 for ; Fri, 02 Oct 2026 12:50:40 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1790970640; x=1791575440; h=user-agent:in-reply-to:content-disposition:content-type :mime-version:references:message-id:subject:cc:to:from:date:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=F25QBZ61ZmBrTf7fU7xFNKMRCKDf4lsr8/BxhtCtQxg=; b=o0SFWXwGX+9fMN7g0lnLxd+o5b7E/QQ7AeJdhcxMA5SKEypv12OL2vbX0MtjAGc/ou kCv2yuY1E6sJ7oCtbTTw/JSu9STb25Ls5RUJqg8RuOlau+8oRbUVFG3sjAtmvk6NRLUw vasqtvuKLu3eWOWJ0/koF56v6oBBEXskVu9WktkPRE2Zq8kExO1H1Z8Kere5ofOFQpfm aoiH8dhnV+Xr2JgbBFwdFPBnADGZgiaGr/tGe+0JBD4eZZXjJ+8tHx7C3+ulmLosl1JI 7/aDmDmP+BnYmWJvLJU3kBIh1F1ZRUfElYPXHsklUzAGlVTHdCMBBqaNYCGx0d7EI/Nb u14g== X-Forwarded-Encrypted: i=1; AKwUvBzJGad0CTB3JiuJdxomQ+XACu77Q2h6CAQbS6FzmYnbABLL6vQ9EutUigmWt++kys+w8U+48qhLyDc+WQ==@lists.infradead.org X-Gm-Message-State: AFq9FYImjoD+2jkv213bIFYpwraDEmCxh7wrorHlzj6+0bwnamn4fPaG uhEfA9nMWHykvOY87T5UD9NIrRxquCdrvl1V2vpcHK5y0OnaskwUUn4GO86kHgavSbYeV3P1pKN jUOUZ52BLBxJMFTVzIqPL8NVCyi8KXV0B+5xr87oXtEaePaH/L/z4FsHmt7eTOyVa+uIFLQ== X-Gm-Gg: AYBFou0V9EkqrWIm7q0KYjntReoLlBgtBYMS1NHWh6cUOSwz6GvuniSqrJz8K0NJzMl Rn0iWZHPyvvSNgN+XT8pCeZ7wmcNEhHUI1SsOqzQOWZShV83AaRjUIfpAvyTeOX7MtguQn9Cx+O qHzzHBgVz7eH8Y7qbXcbC3TOemzPSM+0U5eQjYV7Z1mpmd2q0F5LEMxX36r1ahZWRpi6xELaj8m SxrGutmz2iFnPzSNosqg+O143pSII3IKy/XXUbBvsXbLP88/+DQ1e/dgmgFrM66vytG3oSFS5MP bUu4MOXaDpwHU8HDffLxLH2mHp7S4rcuycoPTM33JpghZxQbG8OPIsSBUA6t61KaGHDz+ud8jA= = X-Received: by 2002:a05:690c:808:b0:894:4ded:2746 with SMTP id 00721157ae682-8ae39bc3a5emr15283767b3.36.1790970639965; Fri, 02 Oct 2026 12:50:39 -0700 (PDT) X-Received: by 2002:a05:690c:808:b0:894:4ded:2746 with SMTP id 00721157ae682-8ae39bc3a5emr15283607b3.36.1790970639475; Fri, 02 Oct 2026 12:50:39 -0700 (PDT) Received: from redhat.com ([2600:382:850b:d4de:3546:fbce:3693:8762]) by smtp.gmail.com with ESMTPSA id 00721157ae682-8ae32cf2f27sm13728657b3.26.2026.10.02.12.50.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 02 Oct 2026 12:50:38 -0700 (PDT) Date: Fri, 2 Oct 2026 15:50:34 -0400 From: Brian Masney To: Changhuang Liang Cc: Michael Turquette , Jerome Brunet , Stephen Boyd , Philipp Zabel , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Paul Walmsley , Palmer Dabbelt , Albert Ou , Alexandre Ghiti , Emil Renner Berthing , Kees Cook , "Gustavo A . R . Silva" , Richard Cochran , linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, linux-riscv@lists.infradead.org, linux-hardening@vger.kernel.org, netdev@vger.kernel.org, Hal Feng Subject: Re: [PATCH v5 10/23] clk: starfive: Add JHB100 System-2 clock generator driver Message-ID: References: <20260930124317.5648-1-changhuang.liang@starfivetech.com> <20260930124317.5648-11-changhuang.liang@starfivetech.com> MIME-Version: 1.0 In-Reply-To: <20260930124317.5648-11-changhuang.liang@starfivetech.com> User-Agent: Mutt/2.4.2 (2026-08-30) X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: NFI_wTSoyZN-qiVFvxCQlcNg6AwByn-Ao8OoDwX1Q_Q_1790970640 X-Mimecast-Originator: redhat.com Content-Disposition: inline X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.9.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20261002_125045_781703_EE1B5DA1 X-CRM114-Status: GOOD ( 21.65 ) X-BeenThere: linux-riscv@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-riscv" Errors-To: linux-riscv-bounces+linux-riscv=archiver.kernel.org@lists.infradead.org Hi Changhuang, On Wed, Sep 30, 2026 at 05:43:04AM -0700, Changhuang Liang wrote: > Add support for JHB100 System-2 clock generator (SYS2CRG). > > Signed-off-by: Changhuang Liang > --- > drivers/clk/starfive/Kconfig | 10 ++ > drivers/clk/starfive/Makefile | 1 + > .../clk/starfive/clk-starfive-jhb100-sys2.c | 129 ++++++++++++++++++ > 3 files changed, 140 insertions(+) > create mode 100644 drivers/clk/starfive/clk-starfive-jhb100-sys2.c > > diff --git a/drivers/clk/starfive/Kconfig b/drivers/clk/starfive/Kconfig > index 11da8bcc4046..cfaac934a8e0 100644 > --- a/drivers/clk/starfive/Kconfig > +++ b/drivers/clk/starfive/Kconfig > @@ -92,3 +92,13 @@ config CLK_STARFIVE_JHB100_SYS1 > help > Say yes here to support the system-1 clock controller on the > StarFive JHB100 SoC. > + > +config CLK_STARFIVE_JHB100_SYS2 > + bool "StarFive JHB100 system-2 clock support" > + depends on ARCH_STARFIVE || COMPILE_TEST > + select CLK_STARFIVE_JH71X0 > + select RESET_STARFIVE_JHB100 if RESET_CONTROLLER > + default ARCH_STARFIVE > + help > + Say yes here to support the system-2 clock controller on the > + StarFive JHB100 SoC. > diff --git a/drivers/clk/starfive/Makefile b/drivers/clk/starfive/Makefile > index 0061550e0f7e..29cdef20575e 100644 > --- a/drivers/clk/starfive/Makefile > +++ b/drivers/clk/starfive/Makefile > @@ -13,3 +13,4 @@ obj-$(CONFIG_CLK_STARFIVE_JH7110_VOUT) += clk-starfive-jh7110-vout.o > > obj-$(CONFIG_CLK_STARFIVE_JHB100_SYS0) += clk-starfive-jhb100-sys0.o > obj-$(CONFIG_CLK_STARFIVE_JHB100_SYS1) += clk-starfive-jhb100-sys1.o > +obj-$(CONFIG_CLK_STARFIVE_JHB100_SYS2) += clk-starfive-jhb100-sys2.o > diff --git a/drivers/clk/starfive/clk-starfive-jhb100-sys2.c b/drivers/clk/starfive/clk-starfive-jhb100-sys2.c > new file mode 100644 > index 000000000000..a2c7e8eba9b6 > --- /dev/null > +++ b/drivers/clk/starfive/clk-starfive-jhb100-sys2.c > @@ -0,0 +1,129 @@ > +// SPDX-License-Identifier: GPL-2.0 > +/* > + * StarFive JHB100 System-2 Clock Driver > + * > + * Copyright (C) 2024 StarFive Technology Co., Ltd. > + * > + * Author: Changhuang Liang > + * > + */ > + > +#include > +#include > +#include > + > +#include "clk-starfive-jh71x0.h" > + > +#define JHB100_SYS2CLK_NUM_CLKS (JHB100_SYS2CLK_MAIN_ICG_EN_JTAG1 + 1) > + > +/* external clocks */ > +#define JHB100_SYS2CLK_OSC (JHB100_SYS2CLK_NUM_CLKS + 0) > +#define JHB100_SYS2CLK_PLL1 (JHB100_SYS2CLK_NUM_CLKS + 1) > +#define JHB100_SYS2CLK_GPU0_NCNOC_INIT (JHB100_SYS2CLK_NUM_CLKS + 2) > +#define JHB100_SYS2CLK_GPU1_NCNOC_INIT (JHB100_SYS2CLK_NUM_CLKS + 3) > + > +static const char * const jhb100_sys2_ext_clk[] = { > + "osc", > + "pll1", > + "gpu0_ncnoc_init", > + "gpu1_ncnoc_init", > +}; > + > +static const struct jh71x0_clk_data jhb100_sys2crg_clk_data[] = { > + /* jtag mst*/ > + JH71X0__DIV(JHB100_SYS2CLK_JTAGM0_HCLK, "jtagm0_hclk", 6, > + JHB100_SYS2CLK_PLL1), > + JH71X0__DIV(JHB100_SYS2CLK_JTAGM1_HCLK, "jtagm1_hclk", 6, > + JHB100_SYS2CLK_PLL1), > + JH71X0__DIV(JHB100_SYS2CLK_JTAGM0_ATPG, "jtagm0_ATPG", 12, > + JHB100_SYS2CLK_PLL1), > + JH71X0__DIV(JHB100_SYS2CLK_JTAGM1_ATPG, "jtagm1_ATPG", 12, > + JHB100_SYS2CLK_PLL1), > + JH71X0__DIV(JHB100_SYS2CLK_JTAGM0_ATPG_TCLOCK, "jtagm0_atpg_tclock", 2, > + JHB100_SYS2CLK_JTAGM0_ATPG), > + JH71X0__DIV(JHB100_SYS2CLK_JTAGM1_ATPG_TCLOCK, "jtagm1_atpg_tclock", 2, > + JHB100_SYS2CLK_JTAGM1_ATPG), > + JH71X0_GATE(JHB100_SYS2CLK_JTAG0_MST_WRAP_HCLK, "jtag0_mst_wrap_hclk", > + CLK_IGNORE_UNUSED, JHB100_SYS2CLK_JTAGM0_HCLK), Can you leave a comment somewhere about why CLK_IGNORE_UNUSED is on some of these clocks? We may be able to deprecate this flag once some variation of the clk sync_state support lands: https://lore.kernel.org/linux-clk/20260626-clk-sync-state-v1-0-4156d8196dc8@redhat.com/ > + JH71X0_GATE(JHB100_SYS2CLK_JTAG0_MST_WRAP_CLK_JTAG, "jtag0_mst_wrap_clk_jtag", > + CLK_IGNORE_UNUSED, JHB100_SYS2CLK_JTAGM0_HCLK), > + JH71X0_GATE(JHB100_SYS2CLK_JTAG0_MST_WRAP_APB_PCLK, "jtag0_mst_wrap_apb_pclk", > + CLK_IGNORE_UNUSED, JHB100_SYS2CLK_JTAGM0_ATPG), > + JH71X0_GATE(JHB100_SYS2CLK_JTAG0_MST_WRAP_ATPG_TCLOCK, "jtag0_mst_wrap_atpg_tclock", > + CLK_IGNORE_UNUSED, JHB100_SYS2CLK_JTAGM0_ATPG), > + JH71X0_GATE(JHB100_SYS2CLK_JTAG1_MST_WRAP_HCLK, "jtag1_mst_wrap_hclk", > + CLK_IGNORE_UNUSED, JHB100_SYS2CLK_JTAGM1_HCLK), > + JH71X0_GATE(JHB100_SYS2CLK_JTAG1_MST_WRAP_CLK_JTAG, "jtag1_mst_wrap_clk_jtag", > + CLK_IGNORE_UNUSED, JHB100_SYS2CLK_JTAGM1_HCLK), > + JH71X0_GATE(JHB100_SYS2CLK_JTAG1_MST_WRAP_APB_PCLK, "jtag1_mst_wrap_apb_pclk", > + CLK_IGNORE_UNUSED, JHB100_SYS2CLK_JTAGM1_ATPG), > + JH71X0_GATE(JHB100_SYS2CLK_JTAG1_MST_WRAP_ATPG_TCLOCK, "jtag1_mst_wrap_atpg_tclock", > + CLK_IGNORE_UNUSED, JHB100_SYS2CLK_JTAGM1_ATPG), > + /* hostusbcmn */ > + JH71X0__DIV(JHB100_SYS2CLK_HOSTUSB_NCNOC_TARG, "hostusb_ncnoc_targ", 12, > + JHB100_SYS2CLK_PLL1), > + JH71X0__DIV(JHB100_SYS2CLK_HOSTUSBCMN_CFG_500, "hostusbcmn_cfg_500", 4, > + JHB100_SYS2CLK_PLL1), > + /* bmcperiph1 */ > + JH71X0__DIV(JHB100_SYS2CLK_BMCPER1_NCNOC_TARG, "bmcper1_ncnoc_targ", 6, > + JHB100_SYS2CLK_PLL1), > + JH71X0__DIV(JHB100_SYS2CLK_BMCPER1_CFG_250, "bmcper1_cfg_250", 5, > + JHB100_SYS2CLK_PLL1), > + JH71X0__DIV(JHB100_SYS2CLK_BMCPER1_CFG_143_DFT, "bmcper1_cfg_143_dft", 8, > + JHB100_SYS2CLK_PLL1), > + JH71X0_GATE(JHB100_SYS2CLK_BMCPER1_CFG_143, "bmcper1_cfg_143", CLK_IS_CRITICAL, Also please leave a comment why CLK_IS_CRITICAL is needed as well for these particular clocks. Brian _______________________________________________ linux-riscv mailing list linux-riscv@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-riscv