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