Hello Stephen,
On 2024-07-27 00:21, Stephen Boyd wrote:
Quoting Conor Dooley (2024-07-18 08:59:50)
FWIW, I wouldn't classify this as device-specific. "enable-gpios" and
"vdd-supply" are pretty generic and I think the latter is missing from
the vast majority of real* "fixed-clocks". I would expect that devices
where the datasheet would call
* Real because there's plenty of "fixed-clocks" (both in and out of
tree)
that are used to work around the lack of a clock-controller driver for
an
SoC.
I agree!
> I think generic power-sequences
> were the topic back then, though that might have changed over time?
> - There are places that describe "fixed-clock" as
> "basic fixed-rate clock that cannot gate" [1]
I think that that is something that could be changed, it's "just" a
comment in some code! Sounds like Stephen disagrees though :)
It's more about making a clear break from the fixed-clock binding so
that the extra properties are required.
> - Stephen also suggested a separate binding [2]
I liked your "gated-oscillator" suggestion in another reply, but
"gated-fixed-clock" might be a better "thematic" fit since this is a
special case of fixed-clocks?
It looks to me like we've arrived at the hardest problem in computer
science, i.e. naming. Any of these names is fine. I'd look to see what
those parts on mouser are called and use that to drive the compatible
name decision if you can't decide. The description section in the
binding could be verbose and link to some parts/pdfs if that helps too.
In the past I've seen EEs call these things clock buffers. I'm not a
classically trained EE myself but it usually helps to use similar names
from the schematic in DT because DT authors are sorta translating
schematics to DT.
Please note that the hardware components modeled by these DT bindings
are definitely not clock buffers. Those are simply clock generators,
which can be gated, hense the proposal to use "gated-fixed-clock".
If we were to additionally model Aurasemi AU5426 or Diodes PI6C557 into
new DT bindings and into the board dts file(s), which I'd support
because
of accuracy, those should actually be called "clock-buffer".