18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
28c2ecf20Sopenharmony_ci%YAML 1.2
38c2ecf20Sopenharmony_ci---
48c2ecf20Sopenharmony_ci$id: http://devicetree.org/schemas/iio/imu/adi,adis16475.yaml#
58c2ecf20Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
68c2ecf20Sopenharmony_ci
78c2ecf20Sopenharmony_cititle: Analog Devices ADIS16475 and similar IMUs
88c2ecf20Sopenharmony_ci
98c2ecf20Sopenharmony_cimaintainers:
108c2ecf20Sopenharmony_ci  - Nuno Sá <nuno.sa@analog.com>
118c2ecf20Sopenharmony_ci
128c2ecf20Sopenharmony_cidescription: |
138c2ecf20Sopenharmony_ci  Analog Devices ADIS16475 and similar IMUs
148c2ecf20Sopenharmony_ci  https://www.analog.com/media/en/technical-documentation/data-sheets/ADIS16475.pdf
158c2ecf20Sopenharmony_ci
168c2ecf20Sopenharmony_ciproperties:
178c2ecf20Sopenharmony_ci  compatible:
188c2ecf20Sopenharmony_ci    enum:
198c2ecf20Sopenharmony_ci      - adi,adis16475-1
208c2ecf20Sopenharmony_ci      - adi,adis16475-2
218c2ecf20Sopenharmony_ci      - adi,adis16475-3
228c2ecf20Sopenharmony_ci      - adi,adis16477-1
238c2ecf20Sopenharmony_ci      - adi,adis16477-2
248c2ecf20Sopenharmony_ci      - adi,adis16477-3
258c2ecf20Sopenharmony_ci      - adi,adis16470
268c2ecf20Sopenharmony_ci      - adi,adis16465-1
278c2ecf20Sopenharmony_ci      - adi,adis16465-2
288c2ecf20Sopenharmony_ci      - adi,adis16465-3
298c2ecf20Sopenharmony_ci      - adi,adis16467-1
308c2ecf20Sopenharmony_ci      - adi,adis16467-2
318c2ecf20Sopenharmony_ci      - adi,adis16467-3
328c2ecf20Sopenharmony_ci      - adi,adis16500
338c2ecf20Sopenharmony_ci      - adi,adis16505-1
348c2ecf20Sopenharmony_ci      - adi,adis16505-2
358c2ecf20Sopenharmony_ci      - adi,adis16505-3
368c2ecf20Sopenharmony_ci      - adi,adis16507-1
378c2ecf20Sopenharmony_ci      - adi,adis16507-2
388c2ecf20Sopenharmony_ci      - adi,adis16507-3
398c2ecf20Sopenharmony_ci
408c2ecf20Sopenharmony_ci  reg:
418c2ecf20Sopenharmony_ci    maxItems: 1
428c2ecf20Sopenharmony_ci
438c2ecf20Sopenharmony_ci  spi-cpha: true
448c2ecf20Sopenharmony_ci
458c2ecf20Sopenharmony_ci  spi-cpol: true
468c2ecf20Sopenharmony_ci
478c2ecf20Sopenharmony_ci  spi-max-frequency:
488c2ecf20Sopenharmony_ci    maximum: 2000000
498c2ecf20Sopenharmony_ci
508c2ecf20Sopenharmony_ci  interrupts:
518c2ecf20Sopenharmony_ci    maxItems: 1
528c2ecf20Sopenharmony_ci
538c2ecf20Sopenharmony_ci  clocks:
548c2ecf20Sopenharmony_ci    maxItems: 1
558c2ecf20Sopenharmony_ci
568c2ecf20Sopenharmony_ci  reset-gpios:
578c2ecf20Sopenharmony_ci    description:
588c2ecf20Sopenharmony_ci      Must be the device tree identifier of the RESET pin. If specified,
598c2ecf20Sopenharmony_ci      it will be asserted during driver probe. As the line is active low,
608c2ecf20Sopenharmony_ci      it should be marked GPIO_ACTIVE_LOW.
618c2ecf20Sopenharmony_ci    maxItems: 1
628c2ecf20Sopenharmony_ci
638c2ecf20Sopenharmony_ci  adi,sync-mode:
648c2ecf20Sopenharmony_ci    description:
658c2ecf20Sopenharmony_ci      Configures the device SYNC pin. The following modes are supported
668c2ecf20Sopenharmony_ci      0 - output_sync
678c2ecf20Sopenharmony_ci      1 - direct_sync
688c2ecf20Sopenharmony_ci      2 - scaled_sync
698c2ecf20Sopenharmony_ci      3 - pulse_sync
708c2ecf20Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/uint32
718c2ecf20Sopenharmony_ci    minimum: 0
728c2ecf20Sopenharmony_ci    maximum: 3
738c2ecf20Sopenharmony_ci
748c2ecf20Sopenharmony_ci  adi,scaled-output-hz:
758c2ecf20Sopenharmony_ci    description:
768c2ecf20Sopenharmony_ci      This property must be present if the clock mode is scaled-sync through
778c2ecf20Sopenharmony_ci      clock-names property. In this mode, the input clock can have a range
788c2ecf20Sopenharmony_ci      of 1Hz to 128HZ which must be scaled to originate an allowable sample
798c2ecf20Sopenharmony_ci      rate. This property specifies that rate.
808c2ecf20Sopenharmony_ci    minimum: 1900
818c2ecf20Sopenharmony_ci    maximum: 2100
828c2ecf20Sopenharmony_ci
838c2ecf20Sopenharmony_cirequired:
848c2ecf20Sopenharmony_ci  - compatible
858c2ecf20Sopenharmony_ci  - reg
868c2ecf20Sopenharmony_ci  - interrupts
878c2ecf20Sopenharmony_ci  - spi-cpha
888c2ecf20Sopenharmony_ci  - spi-cpol
898c2ecf20Sopenharmony_ci
908c2ecf20Sopenharmony_ciallOf:
918c2ecf20Sopenharmony_ci  - if:
928c2ecf20Sopenharmony_ci      properties:
938c2ecf20Sopenharmony_ci        compatible:
948c2ecf20Sopenharmony_ci          contains:
958c2ecf20Sopenharmony_ci            enum:
968c2ecf20Sopenharmony_ci              - adi,adis16500
978c2ecf20Sopenharmony_ci              - adi,adis16505-1
988c2ecf20Sopenharmony_ci              - adi,adis16505-2
998c2ecf20Sopenharmony_ci              - adi,adis16505-3
1008c2ecf20Sopenharmony_ci              - adi,adis16507-1
1018c2ecf20Sopenharmony_ci              - adi,adis16507-2
1028c2ecf20Sopenharmony_ci              - adi,adis16507-3
1038c2ecf20Sopenharmony_ci
1048c2ecf20Sopenharmony_ci    then:
1058c2ecf20Sopenharmony_ci      properties:
1068c2ecf20Sopenharmony_ci        adi,sync-mode:
1078c2ecf20Sopenharmony_ci          minimum: 0
1088c2ecf20Sopenharmony_ci          maximum: 2
1098c2ecf20Sopenharmony_ci
1108c2ecf20Sopenharmony_ci  - if:
1118c2ecf20Sopenharmony_ci      properties:
1128c2ecf20Sopenharmony_ci        adi,sync-mode:
1138c2ecf20Sopenharmony_ci          enum: [1, 2, 3]
1148c2ecf20Sopenharmony_ci
1158c2ecf20Sopenharmony_ci    then:
1168c2ecf20Sopenharmony_ci      dependencies:
1178c2ecf20Sopenharmony_ci        adi,sync-mode: [ clocks ]
1188c2ecf20Sopenharmony_ci
1198c2ecf20Sopenharmony_ciadditionalProperties: false
1208c2ecf20Sopenharmony_ci
1218c2ecf20Sopenharmony_ciexamples:
1228c2ecf20Sopenharmony_ci  - |
1238c2ecf20Sopenharmony_ci    #include <dt-bindings/interrupt-controller/irq.h>
1248c2ecf20Sopenharmony_ci    spi {
1258c2ecf20Sopenharmony_ci            #address-cells = <1>;
1268c2ecf20Sopenharmony_ci            #size-cells = <0>;
1278c2ecf20Sopenharmony_ci
1288c2ecf20Sopenharmony_ci            adis16475: adis16475-3@0 {
1298c2ecf20Sopenharmony_ci                    compatible = "adi,adis16475-3";
1308c2ecf20Sopenharmony_ci                    reg = <0>;
1318c2ecf20Sopenharmony_ci                    spi-cpha;
1328c2ecf20Sopenharmony_ci                    spi-cpol;
1338c2ecf20Sopenharmony_ci                    spi-max-frequency = <2000000>;
1348c2ecf20Sopenharmony_ci                    interrupts = <4 IRQ_TYPE_EDGE_RISING>;
1358c2ecf20Sopenharmony_ci                    interrupt-parent = <&gpio>;
1368c2ecf20Sopenharmony_ci            };
1378c2ecf20Sopenharmony_ci    };
1388c2ecf20Sopenharmony_ci...
139