Back to home page

OSCL-LXR

 
 

    


0001 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
0002 %YAML 1.2
0003 ---
0004 $id: http://devicetree.org/schemas/iio/imu/adi,adis16480.yaml#
0005 $schema: http://devicetree.org/meta-schemas/core.yaml#
0006 
0007 title: Analog Devices ADIS16480 and similar IMUs
0008 
0009 maintainers:
0010   - Alexandru Tachici <alexandru.tachici@analog.com>
0011 
0012 properties:
0013   compatible:
0014     enum:
0015       - adi,adis16375
0016       - adi,adis16480
0017       - adi,adis16485
0018       - adi,adis16488
0019       - adi,adis16490
0020       - adi,adis16495-1
0021       - adi,adis16495-2
0022       - adi,adis16495-3
0023       - adi,adis16497-1
0024       - adi,adis16497-2
0025       - adi,adis16497-3
0026 
0027   reg:
0028     maxItems: 1
0029 
0030   interrupts:
0031     minItems: 1
0032     maxItems: 2
0033     description: |
0034       Accepted interrupt types are:
0035       * IRQ_TYPE_EDGE_RISING
0036       * IRQ_TYPE_EDGE_FALLING
0037 
0038   interrupt-names:
0039     minItems: 1
0040     maxItems: 2
0041     description:
0042       Default if not supplied is DIO1.
0043     items:
0044       enum:
0045         - DIO1
0046         - DIO2
0047         - DIO3
0048         - DIO4
0049 
0050   spi-max-frequency: true
0051 
0052   spi-cpha: true
0053   spi-cpol: true
0054 
0055   reset-gpios:
0056     maxItems: 1
0057     description: Connected to RESET pin which is active low.
0058 
0059   clocks:
0060     maxItems: 1
0061     description: If not provided, then the internal clock is used.
0062 
0063   clock-names:
0064     description: |
0065       sync: In sync mode, the internal clock is disabled and the frequency
0066             of the external clock signal establishes therate of data
0067             collection and processing. See Fig 14 and 15 in the datasheet.
0068             The clock-frequency must be:
0069             * 3000 to 4500 Hz for adis1649x devices.
0070             * 700 to 2400 Hz for adis1648x devices.
0071       pps:  In Pulse Per Second (PPS) Mode, the rate of data collection and
0072             production is equal to the product of the external clock
0073             frequency and the scale factor in the SYNC_SCALE register, see
0074             Table 154 in the datasheet.
0075             The clock-frequency must be:
0076             * 1 to 128 Hz for adis1649x devices.
0077             * This mode is not supported by adis1648x devices.
0078     enum:
0079       - sync
0080       - pps
0081 
0082   adi,ext-clk-pin:
0083     $ref: /schemas/types.yaml#/definitions/string
0084     description: |
0085       The DIOx line to be used as an external clock input.
0086       Each DIOx pin supports only one function at a time (data ready line
0087       selection or external clock input). When a single pin has two
0088       two assignments, the enable bit for the lower priority function
0089       automatically resets to zero (disabling the lower priority function).
0090       Data ready has highest priority.
0091       If not provided then DIO2 is assigned as default external clock
0092       input pin.
0093     enum:
0094       - DIO1
0095       - DIO2
0096       - DIO3
0097       - DIO4
0098 
0099 additionalProperties: false
0100 
0101 required:
0102   - compatible
0103   - reg
0104   - interrupts
0105   - spi-cpha
0106   - spi-cpol
0107   - spi-max-frequency
0108 
0109 examples:
0110   - |
0111     #include <dt-bindings/interrupt-controller/irq.h>
0112     spi {
0113         #address-cells = <1>;
0114         #size-cells = <0>;
0115 
0116         imu@0 {
0117             compatible = "adi,adis16495-1";
0118             reg = <0>;
0119             spi-max-frequency = <3200000>;
0120             spi-cpol;
0121             spi-cpha;
0122             interrupts = <25 IRQ_TYPE_EDGE_FALLING>;
0123             interrupt-parent = <&gpio>;
0124             interrupt-names = "DIO2";
0125             clocks = <&adis16495_sync>;
0126             clock-names = "sync";
0127             adi,ext-clk-pin = "DIO1";
0128         };
0129     };
0130 ...