[PATCH v4 3/7] clk: spacemit: add reset controller support
Philipp Zabel
p.zabel at pengutronix.de
Tue Apr 15 01:24:39 PDT 2025
On Mo, 2025-04-14 at 14:17 -0500, Alex Elder wrote:
> Define ccu_reset_data as a structure that contains the constant
> register offset and bitmasks used to assert and deassert a reset
> control on a SpacemiT K1 CCU. Add a pointer to an array of those
> structures to the spacemit_ccu_data structure, along with a field
> indicating how many elements are in that array. Resets will be
> optional, and if none are defined the reset array pointer will be
> null.
>
> Define a new ccu_reset_controller structure, which (for a CCU with
> resets) contains a pointer to the constant reset data, the regmap
> to be used for the controller, and an embedded a reset controller
> structure.
>
> Each reset control is asserted or deasserted by updating bits in
> a register. The bits used are defined by an assert mask and a
> deassert mask. In some cases, one (non-zero) mask asserts reset
> and a different (non-zero) mask deasserts it. Otherwise one mask
> is nonzero, and the other is zero. Either way, the bits in
> both masks are cleared, then either the assert mask or the deassert
> mask is set in a register to affect the state of a reset control.
>
> Signed-off-by: Alex Elder <elder at riscstar.com>
Reviewed-by: Philipp Zabel <p.zabel at pengutronix.de>
regards
Philipp
More information about the linux-riscv
mailing list