| # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) |
| %YAML 1.2 |
| --- |
| $id: http://devicetree.org/schemas/iio/imu/adi,adis16480.yaml# |
| $schema: http://devicetree.org/meta-schemas/core.yaml# |
| |
| title: Analog Devices ADIS16480 and similar IMUs |
| |
| maintainers: |
| - Alexandru Ardelean <alexandru.ardelean@analog.com> |
| |
| properties: |
| compatible: |
| enum: |
| - adi,adis16375 |
| - adi,adis16480 |
| - adi,adis16485 |
| - adi,adis16488 |
| - adi,adis16490 |
| - adi,adis16495-1 |
| - adi,adis16495-2 |
| - adi,adis16495-3 |
| - adi,adis16497-1 |
| - adi,adis16497-2 |
| - adi,adis16497-3 |
| |
| reg: |
| maxItems: 1 |
| |
| interrupts: |
| minItems: 1 |
| maxItems: 2 |
| description: | |
| Accepted interrupt types are: |
| * IRQ_TYPE_EDGE_RISING |
| * IRQ_TYPE_EDGE_FALLING |
| |
| interrupt-names: |
| minItems: 1 |
| maxItems: 2 |
| description: |
| Default if not supplied is DIO1. |
| items: |
| enum: |
| - DIO1 |
| - DIO2 |
| - DIO3 |
| - DIO4 |
| |
| spi-max-frequency: true |
| |
| spi-cpha: true |
| spi-cpol: true |
| |
| reset-gpios: |
| maxItems: 1 |
| description: Connected to RESET pin which is active low. |
| |
| clocks: |
| maxItems: 1 |
| description: If not provided, then the internal clock is used. |
| |
| clock-names: |
| description: | |
| sync: In sync mode, the internal clock is disabled and the frequency |
| of the external clock signal establishes therate of data |
| collection and processing. See Fig 14 and 15 in the datasheet. |
| The clock-frequency must be: |
| * 3000 to 4500 Hz for adis1649x devices. |
| * 700 to 2400 Hz for adis1648x devices. |
| pps: In Pulse Per Second (PPS) Mode, the rate of data collection and |
| production is equal to the product of the external clock |
| frequency and the scale factor in the SYNC_SCALE register, see |
| Table 154 in the datasheet. |
| The clock-frequency must be: |
| * 1 to 128 Hz for adis1649x devices. |
| * This mode is not supported by adis1648x devices. |
| enum: |
| - sync |
| - pps |
| |
| adi,ext-clk-pin: |
| $ref: /schemas/types.yaml#/definitions/string |
| description: | |
| The DIOx line to be used as an external clock input. |
| Each DIOx pin supports only one function at a time (data ready line |
| selection or external clock input). When a single pin has two |
| two assignments, the enable bit for the lower priority function |
| automatically resets to zero (disabling the lower priority function). |
| Data ready has highest priority. |
| If not provided then DIO2 is assigned as default external clock |
| input pin. |
| enum: |
| - DIO1 |
| - DIO2 |
| - DIO3 |
| - DIO4 |
| |
| additionalProperties: false |
| |
| required: |
| - compatible |
| - reg |
| - interrupts |
| - spi-cpha |
| - spi-cpol |
| - spi-max-frequency |
| |
| examples: |
| - | |
| #include <dt-bindings/interrupt-controller/irq.h> |
| spi { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| |
| imu@0 { |
| compatible = "adi,adis16495-1"; |
| reg = <0>; |
| spi-max-frequency = <3200000>; |
| spi-cpol; |
| spi-cpha; |
| interrupts = <25 IRQ_TYPE_EDGE_FALLING>; |
| interrupt-parent = <&gpio>; |
| interrupt-names = "DIO2"; |
| clocks = <&adis16495_sync>; |
| clock-names = "sync"; |
| adi,ext-clk-pin = "DIO1"; |
| }; |
| }; |
| ... |