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

From: Conor Dooley
Date: Tue Jan 23 2024 - 11:17:06 EST


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