| # 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@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 |
| |
| '#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>; |
| }; |
| }; |
| ... |