Re: [PATCH 4/4] clk: siflower: Add SF19A2890 peripheral clock and reset manager driver

From: Chuanhong Guo

Date: Wed Nov 04 2026 - 08:37:01 EST


On Wed, Nov 4, 2026 at 3:21 PM Joseph Telaak via B4 Relay
<devnull+joseph.telaak.dev@xxxxxxxxxx> wrote:
>
> From: Chuanhong Guo <gch981213@xxxxxxxxx>
>
> Add a platform driver for the peripheral clock and reset manager (CRM)
> block found on Siflower SF19A2890 and compatible SoCs.
>
> Each CRM block manages a group of APB peripherals through three registers:
> a reset register, a clock gate register, and a shared Bus Output Enable
> (BOE) register that must be asserted for any peripheral in the block to
> respond to bus transactions.
>
> The driver registers a clock gate controller and a reset controller from
> a single DT node. A shared spinlock protects all read-modify-write
> accesses across both. BOE is managed automatically: asserted when the
> first clock gate is enabled and deasserted when the last one is disabled.
>
> Signed-off-by: Chuanhong Guo <gch981213@xxxxxxxxx>
> [jt: from Chuanhong's siflower-7.1 branch; one compatible per block with
> its gate bits, critical gates and reset masks in tables here instead of
> the siflower,valid-gates, siflower,critical-gates, siflower,reset-masks
> and siflower,num-resets properties

Why? This block is one used repeatedly inside this SoC and SF21,
I think a generic binding with clock & reset description in dt makes it
reusable without further changes and also results in a shorter driver
without a table. This table in driver aren't simplifying the dt bindings
anyway since it still needs one block per node.

--
Regards,
Chuanhong Guo