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