Message ID | 20231116005643.245314-1-kimseer.paller@analog.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | [1/2] dt-bindings: iio: frequency: add admfm2000 | expand |
On 16/11/2023 01:56, 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@analog.com> > --- ... > + > +title: ADMFM2000 Dual Microwave Down Converter > + > +maintainers: > + - Kim Seer Paller <kimseer.paller@analog.com> > + > +description: | Do not need '|' unless you need to preserve formatting. > + 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 That's obvious. Instead say which pins are this. > + 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. Missing additionalProperties: false. Look at other bindings. > + > + 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 { Node names should be generic. See also an explanation and list of examples (not exhaustive) in DT specification: https://devicetree-specification.readthedocs.io/en/latest/chapter2-devicetree-basics.html#generic-names-recommendation > + compatible = "adi,admfm2000"; > + > + switch1-gpios = <&gpio 1 GPIO_ACTIVE_LOW>, > + <&gpio 2 GPIO_ACTIVE_HIGH>; Align this with previous < > + > + switch2-gpios = <&gpio 3 GPIO_ACTIVE_LOW>, > + <&gpio 4 GPIO_ACTIVE_HIGH>; > + Best regards, Krzysztof
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@analog.com> + +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@analog.com> +L: linux-iio@vger.kernel.org +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@analog.com> L: linux-iio@vger.kernel.org
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@analog.com> --- .../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 base-commit: c42d9eeef8e5ba9292eda36fd8e3c11f35ee065c