Merge tag 'sched-urgent-2024-03-24' of git://git.kernel.org/pub/scm/linux/kernel...
[sfrench/cifs-2.6.git] / Documentation / devicetree / bindings / iio / frequency / adi,admfm2000.yaml
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
8 title: ADMFM2000 Dual Microwave Down Converter
9
10 maintainers:
11   - Kim Seer Paller <kimseer.paller@analog.com>
12
13 description:
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
19 properties:
20   compatible:
21     enum:
22       - adi,admfm2000
23
24   '#address-cells':
25     const: 1
26
27   '#size-cells':
28     const: 0
29
30 patternProperties:
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
88 required:
89   - compatible
90
91 additionalProperties: false
92
93 examples:
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 ...