Re: [PATCH v2 1/3] dt-bindings: clocks: add binding for voltage-controlled-oscillators

Dragan Simic
2024-07-16T17:54:09Z

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@sntech.de>
>> ---
>> .../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@manjaro.org/

> 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@sntech.de>
>> +
>> +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 = <&reg_vdd>;
>> + };
>> +...
>> --
>> 2.39.2
>>
>
> _______________________________________________
> Linux-rockchip mailing list
> Linux-rockchip@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-rockchip