xref: /openbmc/linux/Documentation/devicetree/bindings/iio/imu/adi,adis16480.yaml (revision 4f2c0a4acffbec01079c28f839422e64ddeff004)
13ead692bSJonathan Cameron# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
23ead692bSJonathan Cameron%YAML 1.2
33ead692bSJonathan Cameron---
43ead692bSJonathan Cameron$id: http://devicetree.org/schemas/iio/imu/adi,adis16480.yaml#
53ead692bSJonathan Cameron$schema: http://devicetree.org/meta-schemas/core.yaml#
63ead692bSJonathan Cameron
73ead692bSJonathan Camerontitle: Analog Devices ADIS16480 and similar IMUs
83ead692bSJonathan Cameron
93ead692bSJonathan Cameronmaintainers:
10f0ca36b0SAlexandru Tachici  - Alexandru Tachici <alexandru.tachici@analog.com>
113ead692bSJonathan Cameron
123ead692bSJonathan Cameronproperties:
133ead692bSJonathan Cameron  compatible:
143ead692bSJonathan Cameron    enum:
153ead692bSJonathan Cameron      - adi,adis16375
163ead692bSJonathan Cameron      - adi,adis16480
173ead692bSJonathan Cameron      - adi,adis16485
183ead692bSJonathan Cameron      - adi,adis16488
193ead692bSJonathan Cameron      - adi,adis16490
203ead692bSJonathan Cameron      - adi,adis16495-1
213ead692bSJonathan Cameron      - adi,adis16495-2
223ead692bSJonathan Cameron      - adi,adis16495-3
233ead692bSJonathan Cameron      - adi,adis16497-1
243ead692bSJonathan Cameron      - adi,adis16497-2
253ead692bSJonathan Cameron      - adi,adis16497-3
263ead692bSJonathan Cameron
273ead692bSJonathan Cameron  reg:
283ead692bSJonathan Cameron    maxItems: 1
293ead692bSJonathan Cameron
303ead692bSJonathan Cameron  interrupts:
313ead692bSJonathan Cameron    minItems: 1
323ead692bSJonathan Cameron    maxItems: 2
333ead692bSJonathan Cameron    description: |
343ead692bSJonathan Cameron      Accepted interrupt types are:
353ead692bSJonathan Cameron      * IRQ_TYPE_EDGE_RISING
363ead692bSJonathan Cameron      * IRQ_TYPE_EDGE_FALLING
373ead692bSJonathan Cameron
383ead692bSJonathan Cameron  interrupt-names:
393ead692bSJonathan Cameron    minItems: 1
403ead692bSJonathan Cameron    maxItems: 2
413ead692bSJonathan Cameron    description:
423ead692bSJonathan Cameron      Default if not supplied is DIO1.
433ead692bSJonathan Cameron    items:
443ead692bSJonathan Cameron      enum:
453ead692bSJonathan Cameron        - DIO1
463ead692bSJonathan Cameron        - DIO2
473ead692bSJonathan Cameron        - DIO3
483ead692bSJonathan Cameron        - DIO4
493ead692bSJonathan Cameron
503ead692bSJonathan Cameron  spi-cpha: true
513ead692bSJonathan Cameron  spi-cpol: true
523ead692bSJonathan Cameron
533ead692bSJonathan Cameron  reset-gpios:
543ead692bSJonathan Cameron    maxItems: 1
553ead692bSJonathan Cameron    description: Connected to RESET pin which is active low.
563ead692bSJonathan Cameron
573ead692bSJonathan Cameron  clocks:
583ead692bSJonathan Cameron    maxItems: 1
593ead692bSJonathan Cameron    description: If not provided, then the internal clock is used.
603ead692bSJonathan Cameron
613ead692bSJonathan Cameron  clock-names:
623ead692bSJonathan Cameron    description: |
633ead692bSJonathan Cameron      sync: In sync mode, the internal clock is disabled and the frequency
643ead692bSJonathan Cameron            of the external clock signal establishes therate of data
653ead692bSJonathan Cameron            collection and processing. See Fig 14 and 15 in the datasheet.
663ead692bSJonathan Cameron            The clock-frequency must be:
673ead692bSJonathan Cameron            * 3000 to 4500 Hz for adis1649x devices.
683ead692bSJonathan Cameron            * 700 to 2400 Hz for adis1648x devices.
693ead692bSJonathan Cameron      pps:  In Pulse Per Second (PPS) Mode, the rate of data collection and
703ead692bSJonathan Cameron            production is equal to the product of the external clock
713ead692bSJonathan Cameron            frequency and the scale factor in the SYNC_SCALE register, see
723ead692bSJonathan Cameron            Table 154 in the datasheet.
733ead692bSJonathan Cameron            The clock-frequency must be:
743ead692bSJonathan Cameron            * 1 to 128 Hz for adis1649x devices.
753ead692bSJonathan Cameron            * This mode is not supported by adis1648x devices.
763ead692bSJonathan Cameron    enum:
773ead692bSJonathan Cameron      - sync
783ead692bSJonathan Cameron      - pps
793ead692bSJonathan Cameron
803ead692bSJonathan Cameron  adi,ext-clk-pin:
813ead692bSJonathan Cameron    $ref: /schemas/types.yaml#/definitions/string
823ead692bSJonathan Cameron    description: |
833ead692bSJonathan Cameron      The DIOx line to be used as an external clock input.
843ead692bSJonathan Cameron      Each DIOx pin supports only one function at a time (data ready line
853ead692bSJonathan Cameron      selection or external clock input). When a single pin has two
863ead692bSJonathan Cameron      two assignments, the enable bit for the lower priority function
873ead692bSJonathan Cameron      automatically resets to zero (disabling the lower priority function).
883ead692bSJonathan Cameron      Data ready has highest priority.
893ead692bSJonathan Cameron      If not provided then DIO2 is assigned as default external clock
903ead692bSJonathan Cameron      input pin.
913ead692bSJonathan Cameron    enum:
923ead692bSJonathan Cameron      - DIO1
933ead692bSJonathan Cameron      - DIO2
943ead692bSJonathan Cameron      - DIO3
953ead692bSJonathan Cameron      - DIO4
963ead692bSJonathan Cameron
973ead692bSJonathan Cameronrequired:
983ead692bSJonathan Cameron  - compatible
993ead692bSJonathan Cameron  - reg
1003ead692bSJonathan Cameron  - interrupts
1013ead692bSJonathan Cameron  - spi-cpha
1023ead692bSJonathan Cameron  - spi-cpol
1033ead692bSJonathan Cameron  - spi-max-frequency
1043ead692bSJonathan Cameron
105*8d98a8c6SKrzysztof KozlowskiallOf:
106*8d98a8c6SKrzysztof Kozlowski  - $ref: /schemas/spi/spi-peripheral-props.yaml#
107*8d98a8c6SKrzysztof Kozlowski
108*8d98a8c6SKrzysztof KozlowskiunevaluatedProperties: false
109*8d98a8c6SKrzysztof Kozlowski
1103ead692bSJonathan Cameronexamples:
1113ead692bSJonathan Cameron  - |
1123ead692bSJonathan Cameron    #include <dt-bindings/interrupt-controller/irq.h>
1133ead692bSJonathan Cameron    spi {
1143ead692bSJonathan Cameron        #address-cells = <1>;
1153ead692bSJonathan Cameron        #size-cells = <0>;
1163ead692bSJonathan Cameron
1173ead692bSJonathan Cameron        imu@0 {
1183ead692bSJonathan Cameron            compatible = "adi,adis16495-1";
1193ead692bSJonathan Cameron            reg = <0>;
1203ead692bSJonathan Cameron            spi-max-frequency = <3200000>;
1213ead692bSJonathan Cameron            spi-cpol;
1223ead692bSJonathan Cameron            spi-cpha;
1233ead692bSJonathan Cameron            interrupts = <25 IRQ_TYPE_EDGE_FALLING>;
1243ead692bSJonathan Cameron            interrupt-parent = <&gpio>;
1253ead692bSJonathan Cameron            interrupt-names = "DIO2";
1263ead692bSJonathan Cameron            clocks = <&adis16495_sync>;
1273ead692bSJonathan Cameron            clock-names = "sync";
1283ead692bSJonathan Cameron            adi,ext-clk-pin = "DIO1";
1293ead692bSJonathan Cameron        };
1303ead692bSJonathan Cameron    };
1313ead692bSJonathan Cameron...
132