[PATCH v1 00/13] Add StarFive JHB100 syscon modules

Changhuang Liang
2026-04-03T05:50:02Z

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)
- gpu0_syscon (GPU0 syscon)
- gpu1_syscon
- b2h0_syscon (BMC to Host0 syscon)
- b2h1_syscon (BMC to Host1 syscon)
- h02b_syscon (Host0 to BMC syscon)
- h12b_syscon (Host1 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

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-7: syscon PLL driver
-PATCH 8-10: syscon reset driver
-PATCH 11-12: syscon socinfo driver
-PATCH 13: syscon device tree

This series depends on the series:
https://lore.kernel.org/all/20260402105523.447523-1-changhuang.liang@starfivetech.com/

Changhuang Liang (13):
dt-bindings: soc: starfive: Add StarFive JHB100 syscon modules
dt-bindings: clock: Add system-0 domain PLL clock
clk: starfive: Add system-0 domain PLL clock driver
dt-bindings: clock: Add peripheral-0 domain PLL clock
clk: starfive: Add peripheral-0 domain PLL clock driver
dt-bindings: clock: Add peripheral-1 domain PLL clock
clk: starfive: Add Peripheral-1 domain PLL clock driver
dt-bindings: reset: Add StarFive JHB100 reset generator
reset: starfive: Introduce assert_polarity
reset: starfive: Add syscon reset driver support
dt-bindings: hwinfo: Add starfive,jhb100-socinfo
soc: starfive: Add socinfo driver for JHB100 SoC
riscv: dts: starfive: jhb100: Add syscon nodes

.../bindings/clock/starfive,jhb100-pll.yaml | 46 ++
.../hwinfo/starfive,jhb100-socinfo.yaml | 36 ++
.../reset/starfive,jhb100-reset-pcierp.yaml | 38 ++
.../soc/starfive/starfive,jhb100-syscon.yaml | 140 +++++
MAINTAINERS | 11 +
arch/riscv/boot/dts/starfive/jhb100.dtsi | 220 +++++--
drivers/clk/starfive/Kconfig | 8 +
drivers/clk/starfive/Makefile | 1 +
.../clk/starfive/clk-starfive-jhb100-pll.c | 554 ++++++++++++++++++
drivers/reset/starfive/Kconfig | 9 +
drivers/reset/starfive/Makefile | 1 +
.../reset/starfive/reset-starfive-common.c | 51 +-
.../reset/starfive/reset-starfive-common.h | 5 +
.../starfive/reset-starfive-jhb100-syscon.c | 48 ++
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 +
23 files changed, 1259 insertions(+), 37 deletions(-)
create mode 100644 Documentation/devicetree/bindings/clock/starfive,jhb100-pll.yaml
create mode 100644 Documentation/devicetree/bindings/hwinfo/starfive,jhb100-socinfo.yaml
create mode 100644 Documentation/devicetree/bindings/reset/starfive,jhb100-reset-pcierp.yaml
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