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> --- .../bindings/iio/frequency/adi,admfm2000.yaml | 128 ++++++++++++++++++ MAINTAINERS | 7 + 2 files changed, 135 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..7ea5ede7b --- /dev/null +++ b/Documentation/devicetree/bindings/iio/frequency/adi,admfm2000.yaml @@ -0,0 +1,128 @@ +# 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: + description: + Must contain an array of 2 GPIO specifiers, referring to the GPIO pins + connected to the channel 1 switch controls. + minItems: 2 + maxItems: 2 + + switch2-gpios: + description: + Must contain an array of 2 GPIO specifiers, referring to the GPIO pins + connected to the channel 2 switch controls. + minItems: 2 + maxItems: 2 + + attenuation1-gpios: + description: + Must contain an array of 5 GPIO specifiers, referring to the GPIO pins + connected to the channel 1 DSA attenuation controls. + minItems: 5 + maxItems: 5 + + attenuation2-gpios: + description: + Must contain an array of 5 GPIO specifiers, referring to the GPIO pins + connected to the channel 2 DSA attenuation controls. + 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. + + 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> + admfm2000 { + 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 5c9f868e1..505eb57eb 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: c42d9eeef8e5ba9292eda36fd8e3c11f35ee065c -- 2.34.1