xref: /freebsd/sys/contrib/device-tree/Bindings/iio/frequency/adi,admfm2000.yaml (revision 01950c46b8155250f64374fb72fc11faa44bf099)
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