blob: 2bcf4bbc12e41f5efb5ccee3f7abc83c47463df6 [file] [log] [blame]
Tom Rini6bb92fc2024-05-20 09:54:58 -06001# 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...