Merge tag 'armsoc-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc
[sfrench/cifs-2.6.git] / Documentation / devicetree / bindings / iio / imu / adi,adis16480.txt
1
2 Analog Devices ADIS16480 and similar IMUs
3
4 Required properties for the ADIS16480:
5
6 - compatible: Must be one of
7         * "adi,adis16375"
8         * "adi,adis16480"
9         * "adi,adis16485"
10         * "adi,adis16488"
11         * "adi,adis16495-1"
12         * "adi,adis16495-2"
13         * "adi,adis16495-3"
14         * "adi,adis16497-1"
15         * "adi,adis16497-2"
16         * "adi,adis16497-3"
17 - reg: SPI chip select number for the device
18 - spi-max-frequency: Max SPI frequency to use
19         see: Documentation/devicetree/bindings/spi/spi-bus.txt
20 - spi-cpha: See Documentation/devicetree/bindings/spi/spi-bus.txt
21 - spi-cpol: See Documentation/devicetree/bindings/spi/spi-bus.txt
22 - interrupts: interrupt mapping for IRQ, accepted values are:
23         * IRQF_TRIGGER_RISING
24         * IRQF_TRIGGER_FALLING
25
26 Optional properties:
27
28 - interrupt-names: Data ready line selection. Valid values are:
29         * DIO1
30         * DIO2
31         * DIO3
32         * DIO4
33         If this field is left empty, DIO1 is assigned as default data ready
34         signal.
35 - reset-gpios: must be the device tree identifier of the RESET pin. As the line
36         is active low, it should be marked GPIO_ACTIVE_LOW.
37 - clocks: phandle to the external clock. Should be set according to
38         "clock-names".
39         If this field is left empty together with the "clock-names" field, then
40         the internal clock is used.
41 - clock-names: The name of the external clock to be used. Valid values are:
42         * sync: In sync mode, the internal clock is disabled and the frequency
43                 of the external clock signal establishes therate of data
44                 collection and processing. See Fig 14 and 15 in the datasheet.
45                 The clock-frequency must be:
46                 * 3000 to 4500 Hz for adis1649x devices.
47                 * 700 to 2400 Hz for adis1648x devices.
48         * pps: In Pulse Per Second (PPS) Mode, the rate of data collection and
49                production is equal to the product of the external clock
50                frequency and the scale factor in the SYNC_SCALE register, see
51                Table 154 in the datasheet.
52                The clock-frequency must be:
53                * 1 to 128 Hz for adis1649x devices.
54                * This mode is not supported by adis1648x devices.
55         If this field is left empty together with the "clocks" field, then the
56         internal clock is used.
57 - adi,ext-clk-pin: The DIOx line to be used as an external clock input.
58         Valid values are:
59         * DIO1
60         * DIO2
61         * DIO3
62         * DIO4
63         Each DIOx pin supports only one function at a time (data ready line
64         selection or external clock input). When a single pin has two
65         two assignments, the enable bit for the lower priority function
66         automatically resets to zero (disabling the lower priority function).
67         Data ready has highest priority.
68         If this field is left empty, DIO2 is assigned as default external clock
69         input pin.
70
71 Example:
72
73         imu@0 {
74                 compatible = "adi,adis16495-1";
75                 reg = <0>;
76                 spi-max-frequency = <3200000>;
77                 spi-cpol;
78                 spi-cpha;
79                 interrupts = <25 IRQF_TRIGGER_FALLING>;
80                 interrupt-parent = <&gpio>;
81                 interrupt-names = "DIO2";
82                 clocks = <&adis16495_sync>;
83                 clock-names = "sync";
84                 adi,ext-clk-pin = "DIO1";
85         };