Re: [PATCH v8 1/2] dt-bindings: iio: frequency: add admfm2000

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

 



On Tue, Jan 23, 2024 at 04:10:58PM +0800, Kim Seer Paller wrote:
> Dual microwave down converter module with input RF and LO frequency
> ranges from 0.5 to 32 GHz and an output IF frequency range from 0.1 to
> 8 GHz. It consists of a LNA, mixer, IF filter, DSA, and IF amplifier
> for each down conversion path.
> 
> Signed-off-by: Kim Seer Paller <kimseer.paller@xxxxxxxxxx>

Reviewed-by: Conor Dooley <conor.dooley@xxxxxxxxxxxxx>

Thanks for the updates. One comment below that I missed previvously, but
is not worth a resend.


> ---
> V7 -> V8: Added adequate description for mixer mode property. Modified description
>           for switch gpio property.
> V6 -> V7: Changed RF path mode property to boolean.
> V5 -> V6: Moved array of switch and attenuation GPIOs to the channel node.
>           Changed pin coords with friendly names. Removed Reviewed-by tag.
> V4 -> V5: Added Reviewed-by tag.
> V3 -> V4: Updated the description of the properties with multiple entries and
>           defined the order.
> V2 -> V3: Adjusted indentation to resolve wrong indentation warning. 
>           Changed node name to converter. Updated the descriptions to clarify
>           the properties.
> V1 -> V2: Removed '|' after description. Specified the pins connected to
>           the GPIOs. Added additionalProperties: false. Changed node name to gpio.
>           Aligned < syntax with the previous syntax in the examples.
> 
>  .../bindings/iio/frequency/adi,admfm2000.yaml | 127 ++++++++++++++++++
>  MAINTAINERS                                   |   7 +
>  2 files changed, 134 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/iio/frequency/adi,admfm2000.yaml
> 
> diff --git a/Documentation/devicetree/bindings/iio/frequency/adi,admfm2000.yaml b/Documentation/devicetree/bindings/iio/frequency/adi,admfm2000.yaml
> new file mode 100644
> index 000000000000..2bcf4bbc12e4
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/iio/frequency/adi,admfm2000.yaml
> @@ -0,0 +1,127 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +# Copyright 2024 Analog Devices Inc.
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/iio/frequency/adi,admfm2000.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: ADMFM2000 Dual Microwave Down Converter
> +
> +maintainers:
> +  - Kim Seer Paller <kimseer.paller@xxxxxxxxxx>
> +
> +description:
> +  Dual microwave down converter module with input RF and LO frequency ranges
> +  from 0.5 to 32 GHz and an output IF frequency range from 0.1 to 8 GHz.
> +  It consists of a LNA, mixer, IF filter, DSA, and IF amplifier for each down
> +  conversion path.
> +
> +properties:
> +  compatible:
> +    enum:
> +      - adi,admfm2000

If you do not have other devices to add to this binding, the enum: can be
become a const:

Cheers,
Conor.

> +
> +  '#address-cells':
> +    const: 1
> +
> +  '#size-cells':
> +    const: 0
> +
> +patternProperties:
> +  "^channel@[0-1]$":
> +    type: object
> +    description: Represents a channel of the device.
> +
> +    additionalProperties: false
> +
> +    properties:
> +      reg:
> +        description:
> +          The channel number.
> +        minimum: 0
> +        maximum: 1
> +
> +      adi,mixer-mode:
> +        description:
> +          Enable mixer mode for the channel. It downconverts RF between 5 GHz
> +          and 32 GHz to IF between 0.5 GHz and 8 GHz. If not present, the channel
> +          is in direct IF mode which bypasses the mixer and downconverts RF
> +          between 2 GHz and 8 GHz to IF between 0.5 GHz and 8 GHz.
> +        type: boolean
> +
> +      switch-gpios:
> +        description: |
> +          GPIOs to select the RF path for the channel. The same state of CTRL-A
> +          and CTRL-B GPIOs is not permitted.
> +          CTRL-A   CTRL-B    CH1 Status        CH2 Status
> +          1        0         Direct IF mode    Mixer mode
> +          0        1         Mixer mode        Direct IF mode
> +
> +        items:
> +          - description: CTRL-A GPIO
> +          - description: CTRL-B GPIO
> +
> +      attenuation-gpios:
> +        description: |
> +          Choice of attenuation:
> +          DSA-V4  DSA-V3  DSA-V2  DSA-V1  DSA-V0
> +          1       1       1       1       1        0 dB
> +          1       1       1       1       0        -1 dB
> +          1       1       1       0       1        -2 dB
> +          1       1       0       1       1        -4 dB
> +          1       0       1       1       1        -8 dB
> +          0       1       1       1       1        -16 dB
> +          0       0       0       0       0        -31 dB
> +
> +        items:
> +          - description: DSA-V0 GPIO
> +          - description: DSA-V1 GPIO
> +          - description: DSA-V2 GPIO
> +          - description: DSA-V3 GPIO
> +          - description: DSA-V4 GPIO
> +
> +    required:
> +      - reg
> +      - switch-gpios
> +      - attenuation-gpios
> +
> +required:
> +  - compatible
> +
> +additionalProperties: false
> +
> +examples:
> +  - |
> +    #include <dt-bindings/gpio/gpio.h>
> +    converter {
> +      compatible = "adi,admfm2000";
> +
> +      #address-cells = <1>;
> +      #size-cells = <0>;
> +
> +      channel@0 {
> +        reg = <0>;
> +        switch-gpios = <&gpio 1 GPIO_ACTIVE_LOW>,
> +                       <&gpio 2 GPIO_ACTIVE_HIGH>;
> +
> +        attenuation-gpios = <&gpio 17 GPIO_ACTIVE_LOW>,
> +                            <&gpio 22 GPIO_ACTIVE_LOW>,
> +                            <&gpio 23 GPIO_ACTIVE_LOW>,
> +                            <&gpio 24 GPIO_ACTIVE_LOW>,
> +                            <&gpio 25 GPIO_ACTIVE_LOW>;
> +      };
> +
> +      channel@1 {
> +        reg = <1>;
> +        adi,mixer-mode;
> +        switch-gpios = <&gpio 3 GPIO_ACTIVE_LOW>,
> +                       <&gpio 4 GPIO_ACTIVE_HIGH>;
> +
> +        attenuation-gpios = <&gpio 0 GPIO_ACTIVE_LOW>,
> +                            <&gpio 5 GPIO_ACTIVE_LOW>,
> +                            <&gpio 6 GPIO_ACTIVE_LOW>,
> +                            <&gpio 16 GPIO_ACTIVE_LOW>,
> +                            <&gpio 26 GPIO_ACTIVE_LOW>;
> +      };
> +    };
> +...
> diff --git a/MAINTAINERS b/MAINTAINERS
> index 8d1052fa6a69..1f7cd2e848de 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -1267,6 +1267,13 @@ W:	https://ez.analog.com/linux-software-drivers
>  F:	Documentation/devicetree/bindings/hwmon/adi,adm1177.yaml
>  F:	drivers/hwmon/adm1177.c
>  
> +ANALOG DEVICES INC ADMFM2000 DRIVER
> +M:	Kim Seer Paller <kimseer.paller@xxxxxxxxxx>
> +L:	linux-iio@xxxxxxxxxxxxxxx
> +S:	Supported
> +W:	https://ez.analog.com/linux-software-drivers
> +F:	Documentation/devicetree/bindings/iio/frequency/adi,admfm2000.yaml
> +
>  ANALOG DEVICES INC ADMV1013 DRIVER
>  M:	Antoniu Miclaus <antoniu.miclaus@xxxxxxxxxx>
>  L:	linux-iio@xxxxxxxxxxxxxxx
> 
> base-commit: 7ed2632ec7d72e926b9e8bcc9ad1bb0cd37274bf
> -- 
> 2.34.1
> 

Attachment: signature.asc
Description: PGP signature


[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