GNU Linux-libre 6.8.9-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   spi-cs-inactive-delay-ns:
51     minimum: 16000
52     default: 16000
53
54   interrupts:
55     maxItems: 1
56
57   clocks:
58     maxItems: 1
59
60   reset-gpios:
61     description:
62       Must be the device tree identifier of the RESET pin. If specified,
63       it will be asserted during driver probe. As the line is active low,
64       it should be marked GPIO_ACTIVE_LOW.
65     maxItems: 1
66
67   adi,sync-mode:
68     description:
69       Configures the device SYNC pin. The following modes are supported
70       0 - output_sync
71       1 - direct_sync
72       2 - scaled_sync
73       3 - pulse_sync
74     $ref: /schemas/types.yaml#/definitions/uint32
75     minimum: 0
76     maximum: 3
77
78 required:
79   - compatible
80   - reg
81   - interrupts
82   - spi-cpha
83   - spi-cpol
84
85 allOf:
86   - $ref: /schemas/spi/spi-peripheral-props.yaml#
87   - if:
88       properties:
89         compatible:
90           contains:
91             enum:
92               - adi,adis16500
93               - adi,adis16505-1
94               - adi,adis16505-2
95               - adi,adis16505-3
96               - adi,adis16507-1
97               - adi,adis16507-2
98               - adi,adis16507-3
99
100     then:
101       properties:
102         adi,sync-mode:
103           minimum: 0
104           maximum: 2
105
106   - if:
107       properties:
108         adi,sync-mode:
109           enum: [1, 2, 3]
110
111     then:
112       dependencies:
113         adi,sync-mode: [ clocks ]
114
115 unevaluatedProperties: false
116
117 examples:
118   - |
119     #include <dt-bindings/interrupt-controller/irq.h>
120     spi {
121         #address-cells = <1>;
122         #size-cells = <0>;
123
124         adis16475: adis16475-3@0 {
125             compatible = "adi,adis16475-3";
126             reg = <0>;
127             spi-cpha;
128             spi-cpol;
129             spi-max-frequency = <2000000>;
130             interrupts = <4 IRQ_TYPE_EDGE_RISING>;
131             interrupt-parent = <&gpio>;
132         };
133     };
134 ...