Re: [PATCH v6 0/3] riscv: canaan: Add support for K230-Canmv clock
From: Stephen Boyd
Date: Thu Jul 24 2025 - 18:14:19 EST
Quoting Xukai Wang (2025-07-13 09:48:44)
>
> I'm working on a Linux clock driver and have encountered a question
> regarding how to properly represent a particular type of clock source.
>
> In K230 SoC, there's a mux clock whose parent can optionally be an
> external pulse signal, which is counted via a pin (the input is not
> generated internally but comes from an external source). I’m wondering:
>
> Should this external pulse signal be modeled as a clock within the
> Common Clock Framework (CCF)?
Likely, yes.
>
> If so, what would be the correct way to register or describe such a
> clock in the driver?
If it is a fixed rate pulse signal I would use a fixed rate clk node at
the root of the DT tree:
clock-50000 {
compatible = "fixed-clock";
#clock-cells = <0>;
clock-frequency = <50000>;
}
If you need pinctrl settings to make that clk work you can assign them
in that node, although I don't know if I've ever seen such a case
before. If the external parent clk needs to be gated you'll need to
write a more featured driver, unless it can be controlled with a gpio or
something like that.