Message ID | 20240828101503.1478491-2-heiko@sntech.de (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | Binding and driver for gated-fixed-clocks | expand |
On Wed, Aug 28, 2024 at 12:14:59PM +0200, Heiko Stuebner wrote: > In contrast to fixed clocks that are described as ungateable, boards > sometimes use additional oscillators for things like PCIe reference > clocks, that need actual supplies to get enabled and enable-gpios to be > toggled for them to work. > > This adds a binding for such oscillators that are not configurable > themself, but need to handle supplies for them to work. > > In schematics they often can be seen as > > ---------------- > Enable - | 100MHz,3.3V, | - VDD > | 3225 | > GND - | | - OUT > ---------------- > > or similar. The enable pin might be separate but can also just be tied > to the vdd supply, hence it is optional in the binding. > > Signed-off-by: Heiko Stuebner <heiko@sntech.de> > --- > .../bindings/clock/gated-fixed-clock.yaml | 49 +++++++++++++++++++ > 1 file changed, 49 insertions(+) > create mode 100644 Documentation/devicetree/bindings/clock/gated-fixed-clock.yaml > > diff --git a/Documentation/devicetree/bindings/clock/gated-fixed-clock.yaml b/Documentation/devicetree/bindings/clock/gated-fixed-clock.yaml > new file mode 100644 > index 000000000000..76d264770d35 > --- /dev/null > +++ b/Documentation/devicetree/bindings/clock/gated-fixed-clock.yaml > @@ -0,0 +1,49 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/clock/gated-fixed-clock.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Gated Fixed clock > + > +maintainers: > + - Heiko Stuebner <heiko@sntech.de> > + > +properties: > + compatible: > + const: gated-fixed-clock > + > + "#clock-cells": > + const: 0 > + > + clock-frequency: true > + > + clock-output-names: > + maxItems: 1 > + > + enable-gpios: > + description: > + Contains a single GPIO specifier for the GPIO that enables and disables > + the oscillator. > + maxItems: 1 > + > + vdd-supply: > + description: handle of the regulator that provides the supply voltage > + > +required: > + - compatible > + - "#clock-cells" > + - clock-frequency > + - vdd-supply > + > +additionalProperties: false > + > +examples: > + - | > + voltage-oscillator { clock-1000000000 Reviewed-by: Rob Herring (Arm) <robh@kernel.org> > + compatible = "gated-fixed-clock"; > + #clock-cells = <0>; > + clock-frequency = <1000000000>; > + vdd-supply = <®_vdd>; > + }; > +... > -- > 2.43.0 >
On Wed, Aug 28, 2024 at 12:14:59PM +0200, Heiko Stuebner wrote: > In contrast to fixed clocks that are described as ungateable, boards > sometimes use additional oscillators for things like PCIe reference > clocks, that need actual supplies to get enabled and enable-gpios to be > toggled for them to work. > > This adds a binding for such oscillators that are not configurable > themself, but need to handle supplies for them to work. > > In schematics they often can be seen as > > ---------------- > Enable - | 100MHz,3.3V, | - VDD > | 3225 | > GND - | | - OUT > ---------------- > > or similar. The enable pin might be separate but can also just be tied > to the vdd supply, hence it is optional in the binding. > > Signed-off-by: Heiko Stuebner <heiko@sntech.de> With Rob's fix, Reviewed-by: Conor Dooley <conor.dooley@microchip.com> Think the current name is more clear about what this is, thanks.
diff --git a/Documentation/devicetree/bindings/clock/gated-fixed-clock.yaml b/Documentation/devicetree/bindings/clock/gated-fixed-clock.yaml new file mode 100644 index 000000000000..76d264770d35 --- /dev/null +++ b/Documentation/devicetree/bindings/clock/gated-fixed-clock.yaml @@ -0,0 +1,49 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/clock/gated-fixed-clock.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Gated Fixed clock + +maintainers: + - Heiko Stuebner <heiko@sntech.de> + +properties: + compatible: + const: gated-fixed-clock + + "#clock-cells": + const: 0 + + clock-frequency: true + + clock-output-names: + maxItems: 1 + + enable-gpios: + description: + Contains a single GPIO specifier for the GPIO that enables and disables + the oscillator. + maxItems: 1 + + vdd-supply: + description: handle of the regulator that provides the supply voltage + +required: + - compatible + - "#clock-cells" + - clock-frequency + - vdd-supply + +additionalProperties: false + +examples: + - | + voltage-oscillator { + compatible = "gated-fixed-clock"; + #clock-cells = <0>; + clock-frequency = <1000000000>; + vdd-supply = <®_vdd>; + }; +...
In contrast to fixed clocks that are described as ungateable, boards sometimes use additional oscillators for things like PCIe reference clocks, that need actual supplies to get enabled and enable-gpios to be toggled for them to work. This adds a binding for such oscillators that are not configurable themself, but need to handle supplies for them to work. In schematics they often can be seen as ---------------- Enable - | 100MHz,3.3V, | - VDD | 3225 | GND - | | - OUT ---------------- or similar. The enable pin might be separate but can also just be tied to the vdd supply, hence it is optional in the binding. Signed-off-by: Heiko Stuebner <heiko@sntech.de> --- .../bindings/clock/gated-fixed-clock.yaml | 49 +++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 Documentation/devicetree/bindings/clock/gated-fixed-clock.yaml