128 lines · yaml
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)2# Copyright 2024 Analog Devices Inc.3%YAML 1.24---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 Converter9 10maintainers:11 - Kim Seer Paller <kimseer.paller@analog.com>12 13description:14 Dual microwave down converter module with input RF and LO frequency ranges15 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 down17 conversion path.18 19properties:20 compatible:21 enum:22 - adi,admfm200023 24 '#address-cells':25 const: 126 27 '#size-cells':28 const: 029 30patternProperties:31 "^channel@[0-1]$":32 type: object33 description: Represents a channel of the device.34 35 additionalProperties: false36 37 properties:38 reg:39 description:40 The channel number.41 minimum: 042 maximum: 143 44 adi,mixer-mode:45 description:46 Enable mixer mode for the channel. It downconverts RF between 5 GHz47 and 32 GHz to IF between 0.5 GHz and 8 GHz. If not present, the channel48 is in direct IF mode which bypasses the mixer and downconverts RF49 between 2 GHz and 8 GHz to IF between 0.5 GHz and 8 GHz.50 type: boolean51 52 switch-gpios:53 description: |54 GPIOs to select the RF path for the channel. The same state of CTRL-A55 and CTRL-B GPIOs is not permitted.56 CTRL-A CTRL-B CH1 Status CH2 Status57 1 0 Direct IF mode Mixer mode58 0 1 Mixer mode Direct IF mode59 60 items:61 - description: CTRL-A GPIO62 - description: CTRL-B GPIO63 64 attenuation-gpios:65 description: |66 Choice of attenuation:67 DSA-V4 DSA-V3 DSA-V2 DSA-V1 DSA-V068 1 1 1 1 1 0 dB69 1 1 1 1 0 -1 dB70 1 1 1 0 1 -2 dB71 1 1 0 1 1 -4 dB72 1 0 1 1 1 -8 dB73 0 1 1 1 1 -16 dB74 0 0 0 0 0 -31 dB75 76 items:77 - description: DSA-V0 GPIO78 - description: DSA-V1 GPIO79 - description: DSA-V2 GPIO80 - description: DSA-V3 GPIO81 - description: DSA-V4 GPIO82 83 required:84 - reg85 - switch-gpios86 - attenuation-gpios87 88required:89 - compatible90 91additionalProperties: false92 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