1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2# Copyright 2024 Analog Devices Inc. 3%YAML 1.2 4--- 5$id: http://devicetree.org/schemas/iio/frequency/adi,admfm2000.yaml# 6$schema: http://devicetree.org/meta-schemas/core.yaml# 7 8title: ADMFM2000 Dual Microwave Down Converter 9 10maintainers: 11 - Kim Seer Paller <kimseer.paller@analog.com> 12 13description: 14 Dual microwave down converter module with input RF and LO frequency ranges 15 from 0.5 to 32 GHz and an output IF frequency range from 0.1 to 8 GHz. 16 It consists of a LNA, mixer, IF filter, DSA, and IF amplifier for each down 17 conversion path. 18 19properties: 20 compatible: 21 enum: 22 - adi,admfm2000 23 24 '#address-cells': 25 const: 1 26 27 '#size-cells': 28 const: 0 29 30patternProperties: 31 "^channel@[0-1]$": 32 type: object 33 description: Represents a channel of the device. 34 35 additionalProperties: false 36 37 properties: 38 reg: 39 description: 40 The channel number. 41 minimum: 0 42 maximum: 1 43 44 adi,mixer-mode: 45 description: 46 Enable mixer mode for the channel. It downconverts RF between 5 GHz 47 and 32 GHz to IF between 0.5 GHz and 8 GHz. If not present, the channel 48 is in direct IF mode which bypasses the mixer and downconverts RF 49 between 2 GHz and 8 GHz to IF between 0.5 GHz and 8 GHz. 50 type: boolean 51 52 switch-gpios: 53 description: | 54 GPIOs to select the RF path for the channel. The same state of CTRL-A 55 and CTRL-B GPIOs is not permitted. 56 CTRL-A CTRL-B CH1 Status CH2 Status 57 1 0 Direct IF mode Mixer mode 58 0 1 Mixer mode Direct IF mode 59 60 items: 61 - description: CTRL-A GPIO 62 - description: CTRL-B GPIO 63 64 attenuation-gpios: 65 description: | 66 Choice of attenuation: 67 DSA-V4 DSA-V3 DSA-V2 DSA-V1 DSA-V0 68 1 1 1 1 1 0 dB 69 1 1 1 1 0 -1 dB 70 1 1 1 0 1 -2 dB 71 1 1 0 1 1 -4 dB 72 1 0 1 1 1 -8 dB 73 0 1 1 1 1 -16 dB 74 0 0 0 0 0 -31 dB 75 76 items: 77 - description: DSA-V0 GPIO 78 - description: DSA-V1 GPIO 79 - description: DSA-V2 GPIO 80 - description: DSA-V3 GPIO 81 - description: DSA-V4 GPIO 82 83 required: 84 - reg 85 - switch-gpios 86 - attenuation-gpios 87 88required: 89 - compatible 90 91additionalProperties: false 92 93examples: 94 - | 95 #include <dt-bindings/gpio/gpio.h> 96 converter { 97 compatible = "adi,admfm2000"; 98 99 #address-cells = <1>; 100 #size-cells = <0>; 101 102 channel@0 { 103 reg = <0>; 104 switch-gpios = <&gpio 1 GPIO_ACTIVE_LOW>, 105 <&gpio 2 GPIO_ACTIVE_HIGH>; 106 107 attenuation-gpios = <&gpio 17 GPIO_ACTIVE_LOW>, 108 <&gpio 22 GPIO_ACTIVE_LOW>, 109 <&gpio 23 GPIO_ACTIVE_LOW>, 110 <&gpio 24 GPIO_ACTIVE_LOW>, 111 <&gpio 25 GPIO_ACTIVE_LOW>; 112 }; 113 114 channel@1 { 115 reg = <1>; 116 adi,mixer-mode; 117 switch-gpios = <&gpio 3 GPIO_ACTIVE_LOW>, 118 <&gpio 4 GPIO_ACTIVE_HIGH>; 119 120 attenuation-gpios = <&gpio 0 GPIO_ACTIVE_LOW>, 121 <&gpio 5 GPIO_ACTIVE_LOW>, 122 <&gpio 6 GPIO_ACTIVE_LOW>, 123 <&gpio 16 GPIO_ACTIVE_LOW>, 124 <&gpio 26 GPIO_ACTIVE_LOW>; 125 }; 126 }; 127... 128