From: Changhuang Liang <changhuang.liang@starfivetech.com>
To: Michael Turquette <mturquette@baylibre.com>,
Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
Stephen Boyd <sboyd@kernel.org>, Paul Walmsley <pjw@kernel.org>,
Palmer Dabbelt <palmer@dabbelt.com>,
Albert Ou <aou@eecs.berkeley.edu>,
Alexandre Ghiti <alex@ghiti.fr>,
Philipp Zabel <p.zabel@pengutronix.de>,
Emil Renner Berthing <kernel@esmil.dk>,
Kees Cook <kees@kernel.org>,
"Gustavo A . R . Silva" <gustavoars@kernel.org>,
Richard Cochran <richardcochran@gmail.com>
Cc: 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 <hal.feng@starfivetech.com>,
Changhuang Liang <changhuang.liang@starfivetech.com>
Subject: [PATCH v3 00/22] Add basic clocks and resets for JHB100 SoC
Date: Fri, 7 Aug 2026 04:29:01 -0700 [thread overview]
Message-ID: <20260807112923.191627-1-changhuang.liang@starfivetech.com> (raw)
The JHB100 SoC includes CRG (Clock and Reset Generator) for multiple
subsystems:
The JHB100 SoC is divided into multiple subsystems, and basically
each subsystem includes a CRG(Clock and Reset Generator):
- sys0crg/sys1crg/sys2crg/
- per0crg/per1crg/per2crg/per3crg/
- voutcrg
- vcecrg
- gpu0crg/gpu1crg
- cpucrg
- usbcrg
- host0crg/host1crg
- pcierpcrg
- husb0crg/husb1crg
- husbcmncrg
- husbd0crg/husbd1crg
- npucrg
In the current series, we will only add the following CRG:
- sys0crg/sys1crg/sys2crg/
- per0crg/per1crg/per2crg/per3crg/
The remaining CRG will be implemented in future series.
This series depends on the series:
https://lore.kernel.org/all/20260806122553.182449-1-changhuang.liang@starfivetech.com/
and it has been tested on the StarFive JHB100 EVB-1.
changes since v2:
PATCH 5/7/9/11/13/15/17/19:
- Fix file name errors:
<dt-bindings/reset/starfive-jhb100-crg.h> ==> <dt-bindings/reset/starfive,jhb100-crg.h>
PATCH 6:
- Execute kfree (rdev) on the path where auxiliary_device_init() returns an error;
- Check the return value of devm_pm_runtime_enable().
- Replace struct jhb100_crg_domain_info with struct starfive_crg_domain_info
for common files.
- Restructure index validation in `starfive_clk_get`, add sparse
hole check to return `-ENOENT` for unregistered clock entries.
PATCH 6/8/10/12/14/16/18/20:
- Repalce module_platform_driver() with builtin_platform_driver()
- Add missing static qualifier.
patch 21:
- Mark struct starfive_reset_info as const.
- Mark struct starfive_reset_map as const.
- Fix typo: discontigous ==> discontiguous
- Fix typo: JHB110 ==> JHB100
- For discontiguous type of reset controller, use ARRAY_SIZE()
to calculate the number of resets.
- Add STARFIVE_RESET_ID_INVALID for handling invalid ID cases.
v2: https://lore.kernel.org/all/20260508053632.818548-1-changhuang.liang@starfivetech.com/
v1: https://lore.kernel.org/all/20260402105523.447523-1-changhuang.liang@starfivetech.com/
Changhuang Liang (18):
dt-bindings: clock: Add StarFive JHB100 System-0 clock and reset
generator
clk: starfive: Add JHB100 System-0 clock generator driver
dt-bindings: clock: Add StarFive JHB100 System-1 clock and reset
generator
clk: starfive: Add JHB100 System-1 clock generator driver
dt-bindings: clock: Add StarFive JHB100 System-2 clock and reset
generator
clk: starfive: Add JHB100 System-2 clock generator driver
dt-bindings: clock: Add StarFive JHB100 Peripheral-0 clock and reset
generator
clk: starfive: Introduce inverter and divider
clk: starfive: Expand the storage of clock parent index
clk: starfive: Add StarFive JHB100 Peripheral-0 clock driver
dt-bindings: clock: Add StarFive JHB100 Peripheral-1 clock and reset
generator
clk: starfive: Add StarFive JHB100 Peripheral-1 clock driver
dt-bindings: clock: Add StarFive JHB100 Peripheral-2 clock and reset
generator
clk: starfive: Add StarFive JHB100 Peripheral-2 clock driver
dt-bindings: clock: Add StarFive JHB100 Peripheral-3 clock and reset
generator
clk: starfive: Add StarFive JHB100 Peripheral-3 clock driver
reset: starfive: Add StarFive JHB100 reset driver
riscv: dts: starfive: jhb100: Add clocks and resets nodes
Sia Jee Heng (4):
reset: starfive: Rename file name "jh71x0" to "common"
reset: starfive: Convert the word "jh71x0" to "starfive"
clk: starfive: Rename file name "jh71x0" to "common"
clk: starfive: Convert the word "jh71x0" to "starfive"
.../clock/starfive,jhb100-per0crg.yaml | 70 ++
.../clock/starfive,jhb100-per1crg.yaml | 70 ++
.../clock/starfive,jhb100-per2crg.yaml | 76 +++
.../clock/starfive,jhb100-per3crg.yaml | 76 +++
.../clock/starfive,jhb100-sys0crg.yaml | 63 ++
.../clock/starfive,jhb100-sys1crg.yaml | 71 +++
.../clock/starfive,jhb100-sys2crg.yaml | 64 ++
MAINTAINERS | 13 +
arch/riscv/boot/dts/starfive/jhb100.dtsi | 198 +++++-
drivers/clk/starfive/Kconfig | 85 ++-
drivers/clk/starfive/Makefile | 10 +-
drivers/clk/starfive/clk-starfive-common.c | 487 ++++++++++++++
drivers/clk/starfive/clk-starfive-common.h | 147 +++++
.../clk/starfive/clk-starfive-jh7100-audio.c | 127 ++--
drivers/clk/starfive/clk-starfive-jh7100.c | 503 +++++++--------
.../clk/starfive/clk-starfive-jh7110-aon.c | 62 +-
.../clk/starfive/clk-starfive-jh7110-isp.c | 72 +--
.../clk/starfive/clk-starfive-jh7110-stg.c | 94 +--
.../clk/starfive/clk-starfive-jh7110-sys.c | 525 +++++++--------
.../clk/starfive/clk-starfive-jh7110-vout.c | 74 +--
drivers/clk/starfive/clk-starfive-jh7110.h | 4 +-
drivers/clk/starfive/clk-starfive-jh71x0.c | 339 ----------
drivers/clk/starfive/clk-starfive-jh71x0.h | 127 ----
.../clk/starfive/clk-starfive-jhb100-per0.c | 599 ++++++++++++++++++
.../clk/starfive/clk-starfive-jhb100-per1.c | 149 +++++
.../clk/starfive/clk-starfive-jhb100-per2.c | 174 +++++
.../clk/starfive/clk-starfive-jhb100-per3.c | 132 ++++
.../clk/starfive/clk-starfive-jhb100-sys0.c | 150 +++++
.../clk/starfive/clk-starfive-jhb100-sys1.c | 105 +++
.../clk/starfive/clk-starfive-jhb100-sys2.c | 129 ++++
drivers/reset/starfive/Kconfig | 15 +-
drivers/reset/starfive/Makefile | 3 +-
.../reset/starfive/reset-starfive-common.c | 211 ++++++
.../reset/starfive/reset-starfive-common.h | 33 +
.../reset/starfive/reset-starfive-jh7100.c | 4 +-
.../reset/starfive/reset-starfive-jh7110.c | 8 +-
.../reset/starfive/reset-starfive-jh71x0.c | 134 ----
.../reset/starfive/reset-starfive-jh71x0.h | 14 -
.../reset/starfive/reset-starfive-jhb100.c | 302 +++++++++
.../dt-bindings/clock/starfive,jhb100-crg.h | 542 ++++++++++++++++
.../dt-bindings/reset/starfive,jhb100-crg.h | 186 ++++++
...rfive-jh71x0.h => reset-starfive-common.h} | 10 +-
42 files changed, 4895 insertions(+), 1362 deletions(-)
create mode 100644 Documentation/devicetree/bindings/clock/starfive,jhb100-per0crg.yaml
create mode 100644 Documentation/devicetree/bindings/clock/starfive,jhb100-per1crg.yaml
create mode 100644 Documentation/devicetree/bindings/clock/starfive,jhb100-per2crg.yaml
create mode 100644 Documentation/devicetree/bindings/clock/starfive,jhb100-per3crg.yaml
create mode 100644 Documentation/devicetree/bindings/clock/starfive,jhb100-sys0crg.yaml
create mode 100644 Documentation/devicetree/bindings/clock/starfive,jhb100-sys1crg.yaml
create mode 100644 Documentation/devicetree/bindings/clock/starfive,jhb100-sys2crg.yaml
create mode 100644 drivers/clk/starfive/clk-starfive-common.c
create mode 100644 drivers/clk/starfive/clk-starfive-common.h
delete mode 100644 drivers/clk/starfive/clk-starfive-jh71x0.c
delete mode 100644 drivers/clk/starfive/clk-starfive-jh71x0.h
create mode 100644 drivers/clk/starfive/clk-starfive-jhb100-per0.c
create mode 100644 drivers/clk/starfive/clk-starfive-jhb100-per1.c
create mode 100644 drivers/clk/starfive/clk-starfive-jhb100-per2.c
create mode 100644 drivers/clk/starfive/clk-starfive-jhb100-per3.c
create mode 100644 drivers/clk/starfive/clk-starfive-jhb100-sys0.c
create mode 100644 drivers/clk/starfive/clk-starfive-jhb100-sys1.c
create mode 100644 drivers/clk/starfive/clk-starfive-jhb100-sys2.c
create mode 100644 drivers/reset/starfive/reset-starfive-common.c
create mode 100644 drivers/reset/starfive/reset-starfive-common.h
delete mode 100644 drivers/reset/starfive/reset-starfive-jh71x0.c
delete mode 100644 drivers/reset/starfive/reset-starfive-jh71x0.h
create mode 100644 drivers/reset/starfive/reset-starfive-jhb100.c
create mode 100644 include/dt-bindings/clock/starfive,jhb100-crg.h
create mode 100644 include/dt-bindings/reset/starfive,jhb100-crg.h
rename include/soc/starfive/{reset-starfive-jh71x0.h => reset-starfive-common.h} (50%)
--
2.25.1
next reply other threads:[~2026-08-07 11:29 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-07 11:29 Changhuang Liang [this message]
2026-08-07 11:29 ` [PATCH v3 01/22] reset: starfive: Rename file name "jh71x0" to "common" Changhuang Liang
2026-08-07 11:29 ` [PATCH v3 02/22] reset: starfive: Convert the word "jh71x0" to "starfive" Changhuang Liang
2026-08-07 11:29 ` [PATCH v3 03/22] clk: starfive: Rename file name "jh71x0" to "common" Changhuang Liang
2026-08-07 11:29 ` [PATCH v3 04/22] clk: starfive: Convert the word "jh71x0" to "starfive" Changhuang Liang
2026-08-07 11:29 ` [PATCH v3 05/22] dt-bindings: clock: Add StarFive JHB100 System-0 clock and reset generator Changhuang Liang
2026-08-07 11:29 ` [PATCH v3 06/22] clk: starfive: Add JHB100 System-0 clock generator driver Changhuang Liang
2026-08-07 11:29 ` [PATCH v3 07/22] dt-bindings: clock: Add StarFive JHB100 System-1 clock and reset generator Changhuang Liang
2026-08-07 11:29 ` [PATCH v3 08/22] clk: starfive: Add JHB100 System-1 clock generator driver Changhuang Liang
2026-08-07 11:29 ` [PATCH v3 09/22] dt-bindings: clock: Add StarFive JHB100 System-2 clock and reset generator Changhuang Liang
2026-08-07 11:29 ` [PATCH v3 10/22] clk: starfive: Add JHB100 System-2 clock generator driver Changhuang Liang
2026-08-07 11:29 ` [PATCH v3 11/22] dt-bindings: clock: Add StarFive JHB100 Peripheral-0 clock and reset generator Changhuang Liang
2026-08-07 11:29 ` [PATCH v3 12/22] clk: starfive: Introduce inverter and divider Changhuang Liang
2026-08-07 11:29 ` [PATCH v3 13/22] clk: starfive: Expand the storage of clock parent index Changhuang Liang
2026-08-07 11:29 ` [PATCH v3 14/22] clk: starfive: Add StarFive JHB100 Peripheral-0 clock driver Changhuang Liang
2026-08-07 11:29 ` [PATCH v3 15/22] dt-bindings: clock: Add StarFive JHB100 Peripheral-1 clock and reset generator Changhuang Liang
2026-08-07 13:02 ` Rob Herring (Arm)
2026-08-07 11:29 ` [PATCH v3 16/22] clk: starfive: Add StarFive JHB100 Peripheral-1 clock driver Changhuang Liang
2026-08-07 11:29 ` [PATCH v3 17/22] dt-bindings: clock: Add StarFive JHB100 Peripheral-2 clock and reset generator Changhuang Liang
2026-08-07 11:29 ` [PATCH v3 18/22] clk: starfive: Add StarFive JHB100 Peripheral-2 clock driver Changhuang Liang
2026-08-07 11:29 ` [PATCH v3 19/22] dt-bindings: clock: Add StarFive JHB100 Peripheral-3 clock and reset generator Changhuang Liang
2026-08-07 11:29 ` [PATCH v3 20/22] clk: starfive: Add StarFive JHB100 Peripheral-3 clock driver Changhuang Liang
2026-08-07 11:29 ` [PATCH v3 21/22] reset: starfive: Add StarFive JHB100 reset driver Changhuang Liang
2026-08-07 11:29 ` [PATCH v3 22/22] riscv: dts: starfive: jhb100: Add clocks and resets nodes Changhuang Liang
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260807112923.191627-1-changhuang.liang@starfivetech.com \
--to=changhuang.liang@starfivetech.com \
--cc=alex@ghiti.fr \
--cc=aou@eecs.berkeley.edu \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=gustavoars@kernel.org \
--cc=hal.feng@starfivetech.com \
--cc=kees@kernel.org \
--cc=kernel@esmil.dk \
--cc=krzk+dt@kernel.org \
--cc=linux-clk@vger.kernel.org \
--cc=linux-hardening@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-riscv@lists.infradead.org \
--cc=mturquette@baylibre.com \
--cc=netdev@vger.kernel.org \
--cc=p.zabel@pengutronix.de \
--cc=palmer@dabbelt.com \
--cc=pjw@kernel.org \
--cc=richardcochran@gmail.com \
--cc=robh@kernel.org \
--cc=sboyd@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox