hc
2024-09-20 cf4ce59b3b70238352c7f1729f0f7223214828ad
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
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:
 
   accelerometer@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: accelerometer@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>;
   };