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>,
Brian Masney <bmasney@redhat.com>, 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>
Cc: Chen Wang <unicorn_wang@outlook.com>,
Inochi Amaoto <inochiama@gmail.com>,
Alexey Charkov <alchark@gmail.com>,
Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
Keguang Zhang <keguang.zhang@gmail.com>,
linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org,
devicetree@vger.kernel.org, linux-riscv@lists.infradead.org,
Changhuang Liang <changhuang.liang@starfivetech.com>
Subject: [PATCH v4 0/8] Add StarFive JHB100 syscon modules
Date: Sat, 8 Aug 2026 18:50:46 -0700 [thread overview]
Message-ID: <20260809015054.210577-1-changhuang.liang@starfivetech.com> (raw)
StarFive JHB100 has many syscon modules, as listed below:
- pcieep0_ecsr_syscon (PCIe endpoint 0 externel syscon)
- pcieep1_ecsr_syscon
- host0_syscon (Host0 syscon)
- host1_syscon
- husb0_syscon (Host USB 0 syscon)
- husb1_syscon
- husbd0_syscon (Host USB device 0 syscon)
- husbd1_syscon
- husbcmn_syscon (Host USB common syscon)
- gpu0_syscon (GPU0 syscon)
- gpu1_syscon
- b2h_syscon (BMC to Host syscon)
- h2b_syscon (Host to BMC syscon)
- vout_syscon (Video output syscon)
- pcierp_ecsr_syscon (PCIe root port externel syscon)
- pcierp_syscon (PCIe root port syscon)
- usb_syscon
- npu_syscon
- per0_syscon (Peripheral 0 syscon)
- per1_syscon
- per2_syscon
- per3_syscon
- sys0_syscon (System 0 syscon)
- sys1_syscon
- sys2_syscon
- strap_syscon
- sfc0_filter_syscon (SFC0 filter syscon)
- sfc1_filter_syscon
- sfc2_filter_syscon
Some syscon modules contain PLL, reset, and socinfo nodes
This series will add these syscon modules, as well as the
nodes under them.
-PATCH 1: syscon binging
-PATCH 2/3/4: syscon sys0/per0/per1 PLL driver
-PATCH 5/6: syscon PCIe RP reset driver
-PATCH 7: syscon socinfo driver
-PATCH 8: syscon device tree
This series depends on the series:
https://lore.kernel.org/all/20260807112923.191627-1-changhuang.liang@starfivetech.com/
changes since v3:
PATCH 1:
- Add a new "starfive,jhb100-sfc-filter-syscon" use for JHB100 SFC
PATCH 2:
- clk use regmap_read_poll_timeout() instead of the _atomic() variant.
- clk switch PLL ops from .enable.disable to .prepare.unprepare so the
sleeping syscon regmap is no longer accessed under the Common Clock
Framework spinlock.
- clk use 64-bit math and div64_ul() in jhb100_pll_rate_to_preset()
- clk use mul_u32_u32 and div64_ul() in jhb100_pll_recalc_rate()
- Replace builtin_platform_driver_probe with builtin_platform_driver
to support deferred probing.
PATCH 5:
- Add bool active_low = data->info && data->info->active_low;
to simplify the code
PATCH 6:
- Fix typo: discontigous ==> discontiguous
- Fix typo: JHB110 ==> JHB100
- Allow RESET_STARFIVE_JHB100_SYSCON to be compiled as a module
PATCH 7:
- check kasprintf() failure in the socinfo probe path.
- Add #define pr_fmt(fmt) "jhb100-socinfo: " fmt
- include the <linux/slab.h> and <linux/string.h> headers
PATCH 8:
- Fix sys2_syscon reg length (0x4000 - 0x2000); it overlapped
strap_syscon.
- Add sfc0/1/2_filter_syscon nodes.
v3: https://lore.kernel.org/all/20260521012932.24163-1-changhuang.liang@starfivetech.com/
v2: https://lore.kernel.org/all/20260512083521.3448-1-changhuang.liang@starfivetech.com/
V1: https://lore.kernel.org/all/20260403054945.467700-1-changhuang.liang@starfivetech.com/
Changhuang Liang (8):
dt-bindings: soc: starfive: Add StarFive JHB100 syscon modules
clk: starfive: Add system-0 domain PLL clock driver
clk: starfive: Add peripheral-0 domain PLL clock driver
clk: starfive: Add Peripheral-1 domain PLL clock driver
reset: starfive: Introduce active_low
reset: starfive: Add syscon reset driver support
soc: starfive: Add socinfo driver for JHB100 SoC
riscv: dts: starfive: jhb100: Add syscon nodes
.../soc/starfive/starfive,jhb100-syscon.yaml | 115 ++++
MAINTAINERS | 11 +
arch/riscv/boot/dts/starfive/jhb100.dtsi | 193 +++++-
drivers/clk/starfive/Kconfig | 8 +
drivers/clk/starfive/Makefile | 1 +
.../clk/starfive/clk-starfive-jhb100-pll.c | 593 ++++++++++++++++++
drivers/reset/starfive/Kconfig | 9 +
drivers/reset/starfive/Makefile | 1 +
.../reset/starfive/reset-starfive-common.c | 6 +-
.../reset/starfive/reset-starfive-common.h | 6 +
.../starfive/reset-starfive-jhb100-syscon.c | 62 ++
drivers/soc/Kconfig | 1 +
drivers/soc/Makefile | 1 +
drivers/soc/starfive/Kconfig | 6 +
drivers/soc/starfive/Makefile | 2 +
drivers/soc/starfive/socinfo/Kconfig | 11 +
drivers/soc/starfive/socinfo/Makefile | 2 +
drivers/soc/starfive/socinfo/jhb100-socinfo.c | 90 +++
.../dt-bindings/clock/starfive,jhb100-crg.h | 12 +
.../dt-bindings/reset/starfive,jhb100-crg.h | 3 +
20 files changed, 1098 insertions(+), 35 deletions(-)
create mode 100644 Documentation/devicetree/bindings/soc/starfive/starfive,jhb100-syscon.yaml
create mode 100644 drivers/clk/starfive/clk-starfive-jhb100-pll.c
create mode 100644 drivers/reset/starfive/reset-starfive-jhb100-syscon.c
create mode 100644 drivers/soc/starfive/Kconfig
create mode 100644 drivers/soc/starfive/Makefile
create mode 100644 drivers/soc/starfive/socinfo/Kconfig
create mode 100644 drivers/soc/starfive/socinfo/Makefile
create mode 100644 drivers/soc/starfive/socinfo/jhb100-socinfo.c
--
2.25.1
next reply other threads:[~2026-08-09 7:25 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-09 1:50 Changhuang Liang [this message]
2026-08-09 1:50 ` [PATCH v4 1/8] dt-bindings: soc: starfive: Add StarFive JHB100 syscon modules Changhuang Liang
2026-08-09 1:50 ` [PATCH v4 2/8] clk: starfive: Add system-0 domain PLL clock driver Changhuang Liang
2026-08-09 1:50 ` [PATCH v4 3/8] clk: starfive: Add peripheral-0 " Changhuang Liang
2026-08-09 1:50 ` [PATCH v4 4/8] clk: starfive: Add Peripheral-1 " Changhuang Liang
2026-08-09 1:50 ` [PATCH v4 5/8] reset: starfive: Introduce active_low Changhuang Liang
2026-08-09 1:50 ` [PATCH v4 6/8] reset: starfive: Add syscon reset driver support Changhuang Liang
2026-08-09 1:50 ` [PATCH v4 7/8] soc: starfive: Add socinfo driver for JHB100 SoC Changhuang Liang
2026-08-09 1:50 ` [PATCH v4 8/8] riscv: dts: starfive: jhb100: Add syscon 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=20260809015054.210577-1-changhuang.liang@starfivetech.com \
--to=changhuang.liang@starfivetech.com \
--cc=alchark@gmail.com \
--cc=alex@ghiti.fr \
--cc=aou@eecs.berkeley.edu \
--cc=bmasney@redhat.com \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=inochiama@gmail.com \
--cc=keguang.zhang@gmail.com \
--cc=kernel@esmil.dk \
--cc=krzk+dt@kernel.org \
--cc=linux-clk@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-riscv@lists.infradead.org \
--cc=mturquette@baylibre.com \
--cc=p.zabel@pengutronix.de \
--cc=palmer@dabbelt.com \
--cc=pjw@kernel.org \
--cc=robh@kernel.org \
--cc=sboyd@kernel.org \
--cc=tsbogend@alpha.franken.de \
--cc=unicorn_wang@outlook.com \
/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