xref: /linux/Documentation/devicetree/bindings/iio/amplifiers/adi,hmc425a.yaml (revision ef9226cd56b718c79184a3466d32984a51cb449c)
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/iio/amplifiers/adi,hmc425a.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Analog Devices HMC425A and similar Digital Step Attenuators
8
9maintainers:
10  - Michael Hennerich <michael.hennerich@analog.com>
11
12description: |
13  Digital Step Attenuator IIO devices with gpio interface.
14  Offer various frequency and attenuation ranges.
15  ADRF5750 2 dB LSB, 4-Bit, Silicon Digital Attenuator, 10 MHz to 60 GHz
16    https://www.analog.com/media/en/technical-documentation/data-sheets/adrf5740.pdf
17
18  HMC425A 0.5 dB LSB GaAs MMIC 6-BIT DIGITAL POSITIVE CONTROL ATTENUATOR, 2.2 - 8.0 GHz
19    https://www.analog.com/media/en/technical-documentation/data-sheets/hmc425A.pdf
20
21  HMC540S 1 dB LSB Silicon MMIC 4-Bit Digital Positive Control Attenuator, 0.1 - 8 GHz
22    https://www.analog.com/media/en/technical-documentation/data-sheets/hmc540s.pdf
23
24  LTC6373 is a 3-Bit precision instrumentation amplifier with fully differential outputs
25    https://www.analog.com/media/en/technical-documentation/data-sheets/ltc6373.pdf
26
27properties:
28  compatible:
29    enum:
30      - adi,adrf5740
31      - adi,hmc425a
32      - adi,hmc540s
33      - adi,ltc6373
34
35  vcc-supply: true
36
37  ctrl-gpios:
38    description:
39      Must contain an array of GPIO specifiers, referring to the GPIO pins
40      connected to the control pins.
41        ADRF5740  - 4 GPIO connected to D2-D5
42        HMC540S   - 4 GPIO connected to V1-V4
43        HMC425A   - 6 GPIO connected to V1-V6
44        LTC6373   - 3 GPIO connected to A0-A2
45    minItems: 1
46    maxItems: 6
47
48allOf:
49  - if:
50      properties:
51        compatible:
52          contains:
53            const: adi,hmc425a
54    then:
55      properties:
56        ctrl-gpios:
57          minItems: 6
58          maxItems: 6
59  - if:
60      properties:
61        compatible:
62          contains:
63            anyOf:
64              - const: adi,adrf5740
65              - const: adi,hmc540s
66    then:
67      properties:
68        ctrl-gpios:
69          minItems: 4
70          maxItems: 4
71  - if:
72      properties:
73        compatible:
74          contains:
75            const: adi,ltc6373
76    then:
77      properties:
78        ctrl-gpios:
79          minItems: 3
80          maxItems: 3
81
82required:
83  - compatible
84  - ctrl-gpios
85
86additionalProperties: false
87
88examples:
89  - |
90    #include <dt-bindings/gpio/gpio.h>
91    gpio_hmc425a: hmc425a {
92      compatible = "adi,hmc425a";
93      ctrl-gpios = <&gpio 40 GPIO_ACTIVE_HIGH>,
94        <&gpio 39 GPIO_ACTIVE_HIGH>,
95        <&gpio 38 GPIO_ACTIVE_HIGH>,
96        <&gpio 37 GPIO_ACTIVE_HIGH>,
97        <&gpio 36 GPIO_ACTIVE_HIGH>,
98        <&gpio 35 GPIO_ACTIVE_HIGH>;
99      vcc-supply = <&foo>;
100    };
101...
102