GNU Linux-libre 6.1.90-gnu
[releases.git] / Documentation / devicetree / bindings / iio / imu / adi,adis16475.yaml
1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/iio/imu/adi,adis16475.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Analog Devices ADIS16475 and similar IMUs
8
9 maintainers:
10   - Nuno Sá <nuno.sa@analog.com>
11
12 description: |
13   Analog Devices ADIS16475 and similar IMUs
14   https://www.analog.com/media/en/technical-documentation/data-sheets/ADIS16475.pdf
15
16 properties:
17   compatible:
18     enum:
19       - adi,adis16475-1
20       - adi,adis16475-2
21       - adi,adis16475-3
22       - adi,adis16477-1
23       - adi,adis16477-2
24       - adi,adis16477-3
25       - adi,adis16470
26       - adi,adis16465-1
27       - adi,adis16465-2
28       - adi,adis16465-3
29       - adi,adis16467-1
30       - adi,adis16467-2
31       - adi,adis16467-3
32       - adi,adis16500
33       - adi,adis16505-1
34       - adi,adis16505-2
35       - adi,adis16505-3
36       - adi,adis16507-1
37       - adi,adis16507-2
38       - adi,adis16507-3
39
40   reg:
41     maxItems: 1
42
43   spi-cpha: true
44
45   spi-cpol: true
46
47   spi-max-frequency:
48     maximum: 2000000
49
50   interrupts:
51     maxItems: 1
52
53   clocks:
54     maxItems: 1
55
56   reset-gpios:
57     description:
58       Must be the device tree identifier of the RESET pin. If specified,
59       it will be asserted during driver probe. As the line is active low,
60       it should be marked GPIO_ACTIVE_LOW.
61     maxItems: 1
62
63   adi,sync-mode:
64     description:
65       Configures the device SYNC pin. The following modes are supported
66       0 - output_sync
67       1 - direct_sync
68       2 - scaled_sync
69       3 - pulse_sync
70     $ref: /schemas/types.yaml#/definitions/uint32
71     minimum: 0
72     maximum: 3
73
74 required:
75   - compatible
76   - reg
77   - interrupts
78   - spi-cpha
79   - spi-cpol
80
81 allOf:
82   - if:
83       properties:
84         compatible:
85           contains:
86             enum:
87               - adi,adis16500
88               - adi,adis16505-1
89               - adi,adis16505-2
90               - adi,adis16505-3
91               - adi,adis16507-1
92               - adi,adis16507-2
93               - adi,adis16507-3
94
95     then:
96       properties:
97         adi,sync-mode:
98           minimum: 0
99           maximum: 2
100
101   - if:
102       properties:
103         adi,sync-mode:
104           enum: [1, 2, 3]
105
106     then:
107       dependencies:
108         adi,sync-mode: [ clocks ]
109
110 additionalProperties: false
111
112 examples:
113   - |
114     #include <dt-bindings/interrupt-controller/irq.h>
115     spi {
116             #address-cells = <1>;
117             #size-cells = <0>;
118
119             adis16475: adis16475-3@0 {
120                     compatible = "adi,adis16475-3";
121                     reg = <0>;
122                     spi-cpha;
123                     spi-cpol;
124                     spi-max-frequency = <2000000>;
125                     interrupts = <4 IRQ_TYPE_EDGE_RISING>;
126                     interrupt-parent = <&gpio>;
127             };
128     };
129 ...