Re: [PATCH v2 2/3] dt-bindings: iio: frequency: Add docs for ADF4360 PLL

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, 2020-01-27 at 15:35 -0600, Rob Herring wrote:
> On Wed, Jan 22, 2020 at 03:20:03PM +0200, Alexandru Ardelean wrote:
> > From: Edward Kigwana <ekigwana@xxxxxxxxx>
> > 
> > This change adds the device-tree bindings documentation for the ADF4360
> > family of PLLs.
> > 
> > Signed-off-by: Edward Kigwana <ekigwana@xxxxxxxxx>
> > Signed-off-by: Alexandru Ardelean <alexandru.ardelean@xxxxxxxxxx>
> > ---
> >  .../bindings/iio/frequency/adf4371.yaml       |  24 +--
> >  .../bindings/iio/frequency/adi,adf4360.yaml   | 158 ++++++++++++++++++
> >  2 files changed, 170 insertions(+), 12 deletions(-)
> >  create mode 100644
> > Documentation/devicetree/bindings/iio/frequency/adi,adf4360.yaml
> > 
> > diff --git a/Documentation/devicetree/bindings/iio/frequency/adf4371.yaml
> > b/Documentation/devicetree/bindings/iio/frequency/adf4371.yaml
> > index 7ec3ec94356b..6edb68e8febf 100644
> > --- a/Documentation/devicetree/bindings/iio/frequency/adf4371.yaml
> > +++ b/Documentation/devicetree/bindings/iio/frequency/adf4371.yaml
> > @@ -48,16 +48,16 @@ required:
> >  
> >  examples:
> >    - |
> > -    spi0 {
> > -        #address-cells = <1>;
> > -        #size-cells = <0>;
> > -
> > -        frequency@0 {
> > -                compatible = "adi,adf4371";
> > -                reg = <0>;
> > -                spi-max-frequency = <1000000>;
> > -                clocks = <&adf4371_clkin>;
> > -                clock-names = "clkin";
> > -        };
> > -    };
> > +      spi0 {
> > +          #address-cells = <1>;
> > +          #size-cells = <0>;
> > +
> > +          frequency@0 {
> > +                  compatible = "adi,adf4371";
> > +                  reg = <0>;
> > +                  spi-max-frequency = <1000000>;
> > +                  clocks = <&adf4371_clkin>;
> > +                  clock-names = "clkin";
> > +          };
> > +      };
> 
> What's this change for?

Wait... what?

I'll drop this.
I'll implement the rest.

> 
> >  ...
> > diff --git
> > a/Documentation/devicetree/bindings/iio/frequency/adi,adf4360.yaml
> > b/Documentation/devicetree/bindings/iio/frequency/adi,adf4360.yaml
> > new file mode 100644
> > index 000000000000..1a7f166d2a3f
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/iio/frequency/adi,adf4360.yaml
> > @@ -0,0 +1,158 @@
> > +# SPDX-License-Identifier: GPL-2.0
> > +# Copyright 2019-2020 Edward Kigwana
> > +%YAML 1.2
> > +---
> > +$id: http://devicetree.org/schemas/iio/frequency/adi,adf4360.yaml#
> > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > +
> > +title: Analog Devices ADF4360 PLL device driver
> > +
> > +maintainers:
> > +  - Lars-Peter Clausen <lars@xxxxxxxxxx>
> > +  - Edward Kigwana <ekigwana@xxxxxxxxx>
> > +
> > +description: |
> > +  Bindings for the Analog Devices ADF4360 family of clock generator phase-
> > locked
> > +  loop (PLL) devices with an integrated voltage-controlled oscillator
> > (VCO).
> > +  Each of the parts in the family supports a specific frequency range.
> > +  Datasheets can be found here:
> > +  
> > https://www.analog.com/media/en/technical-documentation/data-sheets/ADF4360-0.pdf
> > +  
> > https://www.analog.com/media/en/technical-documentation/data-sheets/ADF4360-1.pdf
> > +  
> > https://www.analog.com/media/en/technical-documentation/data-sheets/ADF4360-2.pdf
> > +  
> > https://www.analog.com/media/en/technical-documentation/data-sheets/ADF4360-3.pdf
> > +  
> > https://www.analog.com/media/en/technical-documentation/data-sheets/ADF4360-4.pdf
> > +  
> > https://www.analog.com/media/en/technical-documentation/data-sheets/ADF4360-5.pdf
> > +  
> > https://www.analog.com/media/en/technical-documentation/data-sheets/ADF4360-6.pdf
> > +  
> > https://www.analog.com/media/en/technical-documentation/data-sheets/ADF4360-7.pdf
> > +  
> > https://www.analog.com/media/en/technical-documentation/data-sheets/ADF4360-8.pdf
> > +  
> > https://www.analog.com/media/en/technical-documentation/data-sheets/ADF4360-9.pdf
> > +
> > +properties:
> > +  compatible:
> > +    enum:
> > +      - adi,adf4360-0
> > +      - adi,adf4360-1
> > +      - adi,adf4360-2
> > +      - adi,adf4360-3
> > +      - adi,adf4360-4
> > +      - adi,adf4360-5
> > +      - adi,adf4360-6
> > +      - adi,adf4360-7
> > +      - adi,adf4360-8
> > +      - adi,adf4360-9
> 
> The enum can be just:
> 
> pattern: '^adi,adf4360-[0-9]$'
> 
> 
> > +
> > +  reg:
> > +    maxItems: 1
> > +
> > +  clocks:
> > +    description: phandle to external reference clock.
> 
> Not all that specific to this define, so drop.
> 
> > +    maxItems: 1
> > +
> > +  clock-names:
> > +    items:
> > +      - const: clkin
> > +
> > +  '#clock-cells':
> > +    const: 0
> > +
> > +  adi,loop-filter-pfd-frequency-hz:
> > +    description: |
> > +      The phase-frequency-detector frequency that the external loop filter
> > was
> > +      designed for.
> > +    allOf:
> > +      - $ref: /schemas/types.yaml#/definitions/uint32
> 
> Standard type suffixes have a type already, so you can drop this.
> 
> > +    maxItems: 1
> 
> Any constraints in the value?
> 
> > +
> > +  adi,loop-filter-charger-pump-current-microamp:
> > +    description: |
> > +      The charge pump current that the external loop filter was designed
> > for.
> > +      The provided value is clamped to the closest enumerated value.
> > +    allOf:
> > +      - $ref: /schemas/types.yaml#/definitions/uint32
> 
> Can be dropped. Same goes for the rest.
> 
> > +      - enum: [310, 620, 930, 1250, 1560, 1870, 2180, 2500]
> > +    maxItems: 1
> > +
> > +  adi,vco-minimum-frequency-hz:
> > +    description: |
> > +      Required for ADF4360-7, ADF4360-8 and ADF4360-9. Minimum VCO
> > frequency
> > +      that can be supported by the tuning range set by the external
> > inductor.
> > +    allOf:
> > +      - $ref: /schemas/types.yaml#/definitions/uint32
> > +    maxItems: 1
> > +
> > +  adi,vco-maximum-frequency-hz:
> > +    description: |
> > +      Required for ADF4360-7, ADF4360-8 and ADF4360-9. Maximum VCO
> > frequency
> > +      that can be supported by the tuning range set by the external
> > inductor.
> > +    allOf:
> > +      - $ref: /schemas/types.yaml#/definitions/uint32
> > +    maxItems: 1
> > +
> > +  adi,loop-filter-inverting:
> > +    description: Indicates that the external loop filter is an inverting
> > filter.
> > +    type: boolean
> > +
> > +  adi,power-up-frequency-hz:
> > +    description: |
> > +      PLL tunes to the set frequency on probe or defaults to either the
> > minimum
> > +      for the part or value set using adi,vco-minimum-frequency-hz.
> > +    allOf:
> > +      - $ref: /schemas/types.yaml#/definitions/uint32
> > +    maxItems: 1
> > +
> > +  adi,vdd-supply:
> > +    description: |
> > +      vdd supply is used to enable or disable chip when regulator power
> > down
> > +      mode is set. Other power down modes are used to mitigate the case of
> > a
> > +      shared regulator.
> > +    maxItems: 1
> 
> -supply is always 1 item, so drop.
> 
> > +
> > +  adi,enable-gpios:
> 
> enable-gpios is a standard name, so drop the vendor prefix.
> 
> > +    description: |
> > +      Chip enable gpio is used to enable or disable chip when chip enable
> > power
> > +      down mode is set.
> > +    maxItems: 1
> > +
> > +  adi,muxout-gpios:
> > +    description: |
> > +      MUX out gpio is used to detect chip and test pll lock state on read
> > when
> > +      muxout control is set to lock detect.
> > +    maxItems: 1
> > +
> > +  adi,power-out-level-microamp:
> > +    description: |
> > +      Chip support setting of output power level. This property is
> > optional.
> > +      If it is not provided by default 11000 uA will be set.
> > +    allOf:
> > +      - enum: [3500, 5000, 7500, 11000]
> 
> Don't need the 'allOf'.
> 
> > +
> > +required:
> > +  - compatible
> > +  - reg
> > +  - clocks
> > +  - clock-names
> > +  - adi,loop-filter-charge-pump-current
> > +  - adi,loop-filter-pfd-frequency-hz
> > +
> > +examples:
> > +  - |
> > +      spi0 {
> > +          #address-cells = <1>;
> > +          #size-cells = <0>;
> > +
> > +          pll@0 {
> > +                  compatible = "adi,adf4360-7";
> > +                  reg = <0>;
> > +                  spi-max-frequency = <2000000>;
> > +                  clocks = <&ref_clock>;
> > +                  #clock-cells = <0>;
> > +                  clock-names = "clkin";
> > +                  clock-output-names = "adf4360-7";
> > +
> > +                  adi,loop-filter-charge-pump-current = <5>;
> > +                  adi,loop-filter-pfd-frequency-hz = <2500000>;
> > +                  adi,vco-minimum-frequency-hz = <700000000>;
> > +                  adi,vco-maximum-frequency-hz = <840000000>;
> > +          };
> > +      };
> > +...
> > -- 
> > 2.20.1
> > 




[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux