[PATCH RESEND 0/7] clk: spacemit: add K1 reset support

Alex Elder
2025-03-21T15:18:36Z

(Resending as requested by Yixun, this timing adding the SpacemiT
mailing list to the CC list.)

This series adds reset controller support for the SpacemiT K1 SoC.
It is based on Linux v6.14-rc1.

It is built upon the clock controller driver that Haylen Chu
currently has out for review (currently at v5):
https://lore.kernel.org/lkml/20250306175750.22480-2-heylenay@4d2.org/

It also depends on two commits that will land in v6.15: 5728c92ae1123
("mfd: syscon: Restore device_node_to_regmap() for non-syscon nodes")
and 7ff4faba63571 ("pinctrl: spacemit: enable config option").

The first patch adds three more system controller CCU nodes to those
implemented by the SpacemiT K1. The second updates the existing clock
driver with a structure used for OF match data, allowing both clocks
and resets to be specified. The third provides code that implements
reset functionality. The fourth defines groups of reset controls
implemented by the CCUs that have alraady been defined. The fifth
makes it possible for a CCU to be defined with resets but no clocks.
The sixth defines three new CCUs which define only resets. And the
last patch defines these additional syscon nodes in "k1.dtsi".

All of these patches are available here:
https://github.com/riscstar/linux/tree/outgoing/reset-v1

-Alex

Alex Elder (7):
dt-bindings: soc: spacemit: define spacemit,k1-ccu resets
clk: spacemit: define struct k1_ccu_data
clk: spacemit: add reset controller support
clk: spacemit: define existing syscon resets
clk: spacemit: make clocks optional
clk: spacemit: define new syscons with only resets
riscv: dts: spacemit: add reset support for the K1 SoC

.../soc/spacemit/spacemit,k1-syscon.yaml | 13 +-
arch/riscv/boot/dts/spacemit/k1.dtsi | 18 +
drivers/clk/spacemit/ccu-k1.c | 393 +++++++++++++++++-
include/dt-bindings/clock/spacemit,k1-ccu.h | 134 ++++++
4 files changed, 539 insertions(+), 19 deletions(-)

--
2.43.0