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
7title: Analog Devices ADIS16475 and similar IMUs
8
9maintainers:
10  - Nuno Sá <nuno.sa@analog.com>
11
12description: |
13  Analog Devices ADIS16475 and similar IMUs
14  https://www.analog.com/media/en/technical-documentation/data-sheets/ADIS16475.pdf
15
16properties:
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
74required:
75  - compatible
76  - reg
77  - interrupts
78  - spi-cpha
79  - spi-cpol
80
81allOf:
82  - $ref: /schemas/spi/spi-peripheral-props.yaml#
83  - if:
84      properties:
85        compatible:
86          contains:
87            enum:
88              - adi,adis16500
89              - adi,adis16505-1
90              - adi,adis16505-2
91              - adi,adis16505-3
92              - adi,adis16507-1
93              - adi,adis16507-2
94              - adi,adis16507-3
95
96    then:
97      properties:
98        adi,sync-mode:
99          minimum: 0
100          maximum: 2
101
102  - if:
103      properties:
104        adi,sync-mode:
105          enum: [1, 2, 3]
106
107    then:
108      dependencies:
109        adi,sync-mode: [ clocks ]
110
111unevaluatedProperties: false
112
113examples:
114  - |
115    #include <dt-bindings/interrupt-controller/irq.h>
116    spi {
117            #address-cells = <1>;
118            #size-cells = <0>;
119
120            adis16475: adis16475-3@0 {
121                    compatible = "adi,adis16475-3";
122                    reg = <0>;
123                    spi-cpha;
124                    spi-cpol;
125                    spi-max-frequency = <2000000>;
126                    interrupts = <4 IRQ_TYPE_EDGE_RISING>;
127                    interrupt-parent = <&gpio>;
128            };
129    };
130...
131