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  - 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
110additionalProperties: false
111
112examples:
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...
130