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> Reported-by: kernel test robot <lkp@xxxxxxxxx> Closes: https://lore.kernel.org/oe-kbuild-all/202311220624.J7Nqg5h1-lkp@xxxxxxxxx/ --- 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 | 140 ++++++++++++++++++ MAINTAINERS | 7 + 2 files changed, 147 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 000000000..57844c8b7 --- /dev/null +++ b/Documentation/devicetree/bindings/iio/frequency/adi,admfm2000.yaml @@ -0,0 +1,140 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +# Copyright 2023 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 + + switch1-gpios: + items: + - description: + Setting B15 GPIO to high and B16 GPIO to low will result in channel 1 + being in Direct IF mode. + - description: + Setting B15 GPIO to low and B16 GPIO to high will result in channel 1 + being in Mixer mode. + + switch2-gpios: + items: + - description: + Setting K14 GPIO to high and L14 GPIO to low will result in channel 2 + being in Mixer mode. + - description: + Setting K14 GPIO to low and L14 GPIO to high will result in channel 2 + being in Direct IF mode. + + attenuation1-gpios: + description: + Must contain an array of 5 GPIO specifiers, referring to the GPIO pins + connected to the C14, C15, C16, D14, and D15. The DSA attenuation control + is by the logic level of the GPIO pins. All high at the logic level on + the GPIO pins give the minimum attenuation, 0 dB and all low for the + maximum attenuation, at 31 dB. + minItems: 5 + maxItems: 5 + + attenuation2-gpios: + description: + Must contain an array of 5 GPIO specifiers, referring to the GPIO pins + connected to the L15, L16, M14, M15, and M16. The DSA attenuation control + is by the logic level of the GPIO pins. All high at the logic level on + the GPIO pins give the minimum attenuation, 0 dB and all low for the + maximum attenuation, at 31 dB. + minItems: 5 + maxItems: 5 + + '#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,mode: + description: + RF path selected for the channel. + 0 - Direct IF mode + 1 - Mixer mode + $ref: /schemas/types.yaml#/definitions/uint32 + enum: [0, 1] + + required: + - reg + - adi,mode + +required: + - compatible + - switch1-gpios + - switch2-gpios + - attenuation1-gpios + - attenuation2-gpios + +additionalProperties: false + +examples: + - | + #include <dt-bindings/gpio/gpio.h> + converter { + compatible = "adi,admfm2000"; + + switch1-gpios = <&gpio 1 GPIO_ACTIVE_LOW>, + <&gpio 2 GPIO_ACTIVE_HIGH>; + + switch2-gpios = <&gpio 3 GPIO_ACTIVE_LOW>, + <&gpio 4 GPIO_ACTIVE_HIGH>; + + attenuation1-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>; + + attenuation2-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>; + + #address-cells = <1>; + #size-cells = <0>; + + channel@0 { + reg = <0>; + adi,mode = <1>; + }; + + channel@1 { + reg = <1>; + adi,mode = <1>; + }; + }; +... diff --git a/MAINTAINERS b/MAINTAINERS index 0e79e24b6..f1692ec68 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -1247,6 +1247,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: c2d5304e6c648ebcf653bace7e51e0e6742e46c8 -- 2.34.1