Hello Conor,
On 2024-07-16 18:15, Conor Dooley wrote:
On Mon, Jul 15, 2024 at 01:02:49PM +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@xxxxxxxxx>
---
.../bindings/clock/voltage-oscillator.yaml | 49
+++++++++++++++++++
1 file changed, 49 insertions(+)
create mode 100644
Documentation/devicetree/bindings/clock/voltage-oscillator.yaml
diff --git
a/Documentation/devicetree/bindings/clock/voltage-oscillator.yaml
b/Documentation/devicetree/bindings/clock/voltage-oscillator.yaml
new file mode 100644
index 0000000000000..8bff6b0fd582e
--- /dev/null
+++ b/Documentation/devicetree/bindings/clock/voltage-oscillator.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/voltage-oscillator.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Voltage controlled oscillator
Voltage controlled oscillator? Really? That sounds far too similar to a
VCO to me, and the input voltage here (according to the description at
least) does not affect the frequency of oscillation.
Yup, "voltage controlled oscillator" really isn't the right choice for
the name, as I wrote about already. [1]
[1]
https://lore.kernel.org/linux-rockchip/ec84dc37e2c421ee6d31294e08392d57@xxxxxxxxxxx/
Why the dedicated binding, rather than adding a supply and enable-gpio
to the existing "fixed-clock" binding? I suspect that a large portion
of
"fixed-clock"s actually require a supply that is (effectively)
always-on.
+
+maintainers:
+ - Heiko Stuebner <heiko@xxxxxxxxx>
+
+properties:
+ compatible:
+ const: voltage-oscillator
+
+ "#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 = "voltage-oscillator";
+ #clock-cells = <0>;
+ clock-frequency = <1000000000>;
+ vdd-supply = <®_vdd>;
+ };
+...
--
2.39.2
_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@xxxxxxxxxxxxxxxxxxx
http://lists.infradead.org/mailman/listinfo/linux-rockchip