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

From: Alex Elder
Date: Fri Mar 28 2025 - 17:02:50 EST


This series adds reset controller support for the SpacemiT K1 SoC.
It is based on Linux v6.14. This version of the series is updated
in reponse to review feedback from the initial version:
https://lore.kernel.org/lkml/20250321151831.623575-1-elder@xxxxxxxxxxxx/

As before, this version 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@xxxxxxx/

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 basic content of the patches has not changed since last time, so
I won't repeat the explantion of each here.

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

Since last time:
- Added Rob's Reviewed-by tag on the first patch
- Renamed the of_match_data data type (and one or two other symbols) to
use "spacemit" rather than "k1".
- Replaced the abbreviated "rst" or "RST" in names of newly-defined
sympols with "reset" or "RESET" respectively.
- Eliminated rcdev_to_controller(), which was only used once.
- Changed a function that unsafely did a read/modify/write of a register
to use regmap_update_bits() instead as suggested by Haylen.
- Eliminated a null check for a pointer known to be non-null.
- Reordered the assignment of reset controller device fields.
- Added a "sentinel" comment as requested by Yixun.
- Updated to be based on Linux v6.14 final.

Note that I did *not* change anything related to the "remote CPU" (RCPU
and RCPU2) resets (and clocks).

-Alex

Alex Elder (7):
dt-bindings: soc: spacemit: define spacemit,k1-ccu resets
clk: spacemit: define struct spacemit_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 | 380 +++++++++++++++++-
include/dt-bindings/clock/spacemit,k1-ccu.h | 128 ++++++
4 files changed, 521 insertions(+), 18 deletions(-)

--
2.45.2