summaryrefslogtreecommitdiffstats
path: root/kernel/Documentation/devicetree/bindings/misc/lis302.txt
blob: 2a19bff9693fc55a7b61bb45dcf32963bc7f224a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
LIS302 accelerometer devicetree bindings

This device is matched via its bus drivers, and has a number of properties
that apply in on the generic device (independent from the bus).


Required properties for the SPI bindings:
 - compatible: 		should be set to "st,lis3lv02d_spi"
 - reg:			the chipselect index
 - spi-max-frequency:	maximal bus speed, should be set to 1000000 unless
			constrained by external circuitry
 - interrupts:		the interrupt generated by the device

Required properties for the I2C bindings:
 - compatible:		should be set to "st,lis3lv02d"
 - reg:			i2c slave address
 - Vdd-supply:		The input supply for Vdd
 - Vdd_IO-supply:	The input supply for Vdd_IO


Optional properties for all bus drivers:

 - st,click-single-{x,y,z}:	if present, tells the device to issue an
				interrupt on single click events on the
				x/y/z axis.
 - st,click-double-{x,y,z}:	if present, tells the device to issue an
				interrupt on double click events on the
				x/y/z axis.
 - st,click-thresh-{x,y,z}:	set the x/y/z axis threshold
 - st,click-click-time-limit:	click time limit, from 0 to 127.5msec
				with step of 0.5 msec
 - st,click-latency:		click latency, from 0 to 255 msec with
				step of 1 msec.
 - st,click-window:		click window, from 0 to 255 msec with
				step of 1 msec.
 - st,irq{1,2}-disable:		disable IRQ 1/2
 - st,irq{1,2}-ff-wu-1:		raise IRQ 1/2 on FF_WU_1 condition
 - st,irq{1,2}-ff-wu-2:		raise IRQ 1/2 on FF_WU_2 condition
 - st,irq{1,2}-data-ready:	raise IRQ 1/2 on data ready contition
 - st,irq{1,2}-click:		raise IRQ 1/2 on click condition
 - st,irq-open-drain:		consider IRQ lines open-drain
 - st,irq-active-low:		make IRQ lines active low
 - st,wu-duration-1:		duration register for Free-Fall/Wake-Up
				interrupt 1
 - st,wu-duration-2:		duration register for Free-Fall/Wake-Up
				interrupt 2
 - st,wakeup-{x,y,z}-{lo,hi}:	set wakeup condition on x/y/z axis for
				upper/lower limit
 - st,wakeup-threshold:		set wakeup threshold
 - st,wakeup2-{x,y,z}-{lo,hi}:	set wakeup condition on x/y/z axis for
				upper/lower limit for second wakeup
				engine.
 - st,wakeup2-threshold:	set wakeup threshold for second wakeup
				engine.
 - st,highpass-cutoff-hz=:	1, 2, 4 or 8 for 1Hz, 2Hz, 4Hz or 8Hz of
				highpass cut-off frequency
 - st,hipass{1,2}-disable:	disable highpass 1/2.
 - st,default-rate=:		set the default rate
 - st,axis-{x,y,z}=:		set the axis to map to the three coordinates.
				Negative values can be used for inverted axis.
 - st,{min,max}-limit-{x,y,z}	set the min/max limits for x/y/z axis
				(used by self-test)


Example for a SPI device node:

	lis302@0 {
		compatible = "st,lis302dl-spi";
		reg = <0>;
		spi-max-frequency = <1000000>;
		interrupt-parent = <&gpio>;
		interrupts = <104 0>;

		st,click-single-x;
		st,click-single-y;
		st,click-single-z;
		st,click-thresh-x = <10>;
		st,click-thresh-y = <10>;
		st,click-thresh-z = <10>;
		st,irq1-click;
		st,irq2-click;
		st,wakeup-x-lo;
		st,wakeup-x-hi;
		st,wakeup-y-lo;
		st,wakeup-y-hi;
		st,wakeup-z-lo;
		st,wakeup-z-hi;
	};

Example for a I2C device node:

	lis331dlh: lis331dlh@18 {
		compatible = "st,lis331dlh", "st,lis3lv02d";
		reg = <0x18>;
		Vdd-supply = <&lis3_reg>;
		Vdd_IO-supply = <&lis3_reg>;

		st,click-single-x;
		st,click-single-y;
		st,click-single-z;
		st,click-thresh-x = <10>;
		st,click-thresh-y = <10>;
		st,click-thresh-z = <10>;
		st,irq1-click;
		st,irq2-click;
		st,wakeup-x-lo;
		st,wakeup-x-hi;
		st,wakeup-y-lo;
		st,wakeup-y-hi;
		st,wakeup-z-lo;
		st,wakeup-z-hi;
		st,min-limit-x = <120>;
		st,min-limit-y = <120>;
		st,min-limit-z = <140>;
		st,max-limit-x = <550>;
		st,max-limit-y = <550>;
		st,max-limit-z = <750>;
	};