~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/include/linux/input/adxl34x.h

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /include/linux/input/adxl34x.h (Version linux-6.12-rc7) and /include/linux/input/adxl34x.h (Version policy-sample)


  1 /* SPDX-License-Identifier: GPL-2.0-or-later *      1 
  2 /*                                                
  3  * include/linux/input/adxl34x.h                  
  4  *                                                
  5  * Digital Accelerometer characteristics are h    
  6  * and may vary between boards and models. The    
  7  * device's "struct device" holds this informa    
  8  *                                                
  9  * Copyright 2009 Analog Devices Inc.             
 10  */                                               
 11                                                   
 12 #ifndef __LINUX_INPUT_ADXL34X_H__                 
 13 #define __LINUX_INPUT_ADXL34X_H__                 
 14                                                   
 15 #include <linux/input.h>                          
 16                                                   
 17 struct adxl34x_platform_data {                    
 18                                                   
 19         /*                                        
 20          * X,Y,Z Axis Offset:                     
 21          * offer user offset adjustments in tw    
 22          * form with a scale factor of 15.6 mg    
 23          */                                       
 24                                                   
 25         s8 x_axis_offset;                         
 26         s8 y_axis_offset;                         
 27         s8 z_axis_offset;                         
 28                                                   
 29         /*                                        
 30          * TAP_X/Y/Z Enable: Setting TAP_X, Y,    
 31          * Y, or Z participation in Tap detect    
 32          * selected axis from participation in    
 33          * Setting the SUPPRESS bit suppresses    
 34          * acceleration greater than tap_thres    
 35          * tap_latency period, i.e. after the     
 36          * opening of the second tap window.      
 37          */                                       
 38                                                   
 39 #define ADXL_SUPPRESS   (1 << 3)                  
 40 #define ADXL_TAP_X_EN   (1 << 2)                  
 41 #define ADXL_TAP_Y_EN   (1 << 1)                  
 42 #define ADXL_TAP_Z_EN   (1 << 0)                  
 43                                                   
 44         u8 tap_axis_control;                      
 45                                                   
 46         /*                                        
 47          * tap_threshold:                         
 48          * holds the threshold value for tap d    
 49          * The data format is unsigned. The sc    
 50          * (i.e. 0xFF = +16 g). A zero value m    
 51          * behavior if Tap/Double Tap is enabl    
 52          */                                       
 53                                                   
 54         u8 tap_threshold;                         
 55                                                   
 56         /*                                        
 57          * tap_duration:                          
 58          * is an unsigned time value represent    
 59          * time that an event must be above th    
 60          * to qualify as a tap event. The scal    
 61          * value will prevent Tap/Double Tap f    
 62          */                                       
 63                                                   
 64         u8 tap_duration;                          
 65                                                   
 66         /*                                        
 67          * tap_latency:                           
 68          * is an unsigned time value represent    
 69          * from the detection of a tap event t    
 70          * window tap_window for a possible se    
 71          * factor is 1.25 ms/LSB. A zero value    
 72          * function.                              
 73          */                                       
 74                                                   
 75         u8 tap_latency;                           
 76                                                   
 77         /*                                        
 78          * tap_window:                            
 79          * is an unsigned time value represent    
 80          * of time after the expiration of tap    
 81          * tap can begin. The scale factor is     
 82          * disable the Double Tap function.       
 83          */                                       
 84                                                   
 85         u8 tap_window;                            
 86                                                   
 87         /*                                        
 88          * act_axis_control:                      
 89          * X/Y/Z Enable: A '1' enables X, Y, o    
 90          * or inactivity detection. A '' exclu    
 91          * participation. If all of the axes a    
 92          * disabled.                              
 93          * AC/DC: A '' = DC coupled operation     
 94          * operation. In DC coupled operation,    
 95          * compared with activity_threshold an    
 96          * to determine whether activity or in    
 97          * coupled operation for activity dete    
 98          * at the start of activity detection     
 99          * New samples of acceleration are the    
100          * reference value and if the magnitud    
101          * activity_threshold the device will     
102          * AC coupled operation for inactivity    
103          * is used again for comparison and is    
104          * device exceeds the inactivity thres    
105          * value is selected, the device compa    
106          * difference between the reference va    
107          * acceleration with inactivity_thresh    
108          * inactivity_threshold for a total of    
109          * considered inactive and the inactiv    
110          */                                       
111                                                   
112 #define ADXL_ACT_ACDC           (1 << 7)          
113 #define ADXL_ACT_X_EN           (1 << 6)          
114 #define ADXL_ACT_Y_EN           (1 << 5)          
115 #define ADXL_ACT_Z_EN           (1 << 4)          
116 #define ADXL_INACT_ACDC         (1 << 3)          
117 #define ADXL_INACT_X_EN         (1 << 2)          
118 #define ADXL_INACT_Y_EN         (1 << 1)          
119 #define ADXL_INACT_Z_EN         (1 << 0)          
120                                                   
121         u8 act_axis_control;                      
122                                                   
123         /*                                        
124          * activity_threshold:                    
125          * holds the threshold value for activ    
126          * The data format is unsigned. The sc    
127          * 62.5 mg/LSB. A zero value may resul    
128          * Activity interrupt is enabled.         
129          */                                       
130                                                   
131         u8 activity_threshold;                    
132                                                   
133         /*                                        
134          * inactivity_threshold:                  
135          * holds the threshold value for inact    
136          * detection. The data format is unsig    
137          * factor is 62.5 mg/LSB. A zero value    
138          * behavior if Inactivity interrupt is    
139          */                                       
140                                                   
141         u8 inactivity_threshold;                  
142                                                   
143         /*                                        
144          * inactivity_time:                       
145          * is an unsigned time value represent    
146          * amount of time that acceleration mu    
147          * inactivity_threshold for inactivity    
148          * is 1 second/LSB. Unlike the other i    
149          * operate on unfiltered data, the ina    
150          * filtered output data. At least one     
151          * generated for the inactivity interr    
152          * result in the function appearing un    
153          * inactivity_time register is set wit    
154          * constant of the Output Data Rate. A    
155          * interrupt when the output data is b    
156          */                                       
157                                                   
158         u8 inactivity_time;                       
159                                                   
160         /*                                        
161          * free_fall_threshold:                   
162          * holds the threshold value for Free-    
163          * The data format is unsigned. The ro    
164          * of all axes is calculated and compa    
165          * free_fall_threshold to determine if    
166          * occurring.  The scale factor is 62.    
167          * result in undesirable behavior if F    
168          * enabled. Values between 300 and 600    
169          * recommended.                           
170          */                                       
171                                                   
172         u8 free_fall_threshold;                   
173                                                   
174         /*                                        
175          * free_fall_time:                        
176          * is an unsigned time value represent    
177          * time that the RSS value of all axes    
178          * free_fall_threshold to generate a F    
179          * scale factor is 5 ms/LSB. A zero va    
180          * undesirable behavior if Free-Fall i    
181          * Values between 100 to 350 ms (0x14     
182          */                                       
183                                                   
184         u8 free_fall_time;                        
185                                                   
186         /*                                        
187          * data_rate:                             
188          * Selects device bandwidth and output    
189          * RATE = 3200 Hz / (2^(15 - x)). Defa    
190          * Output Data Rate. An Output Data Ra    
191          * is appropriate for the communicatio    
192          * selected. Selecting too high of an     
193          * communication speed will result in     
194          */                                       
195                                                   
196         u8 data_rate;                             
197                                                   
198         /*                                        
199          * data_range:                            
200          * FULL_RES: When this bit is set with    
201          * in Full-Resolution Mode, where the     
202          * with RANGE to maintain a 4 mg/LSB s    
203          * bit is cleared the device is in 10-    
204          * maximum g-Range and scale factor.      
205          */                                       
206                                                   
207 #define ADXL_FULL_RES           (1 << 3)          
208 #define ADXL_RANGE_PM_2g        0                 
209 #define ADXL_RANGE_PM_4g        1                 
210 #define ADXL_RANGE_PM_8g        2                 
211 #define ADXL_RANGE_PM_16g       3                 
212                                                   
213         u8 data_range;                            
214                                                   
215         /*                                        
216          * low_power_mode:                        
217          * A '' = Normal operation and a '1' =    
218          * power operation with somewhat highe    
219          */                                       
220                                                   
221         u8 low_power_mode;                        
222                                                   
223         /*                                        
224          * power_mode:                            
225          * LINK: A '1' with both the activity     
226          * enabled will delay the start of the    
227          * inactivity is detected. Once activi    
228          * detection will begin and prevent th    
229          * bit serially links the activity and    
230          * the inactivity and activity functio    
231          * information can be found in the ADX    
232          * section under Link Mode.               
233          * AUTO_SLEEP: A '1' sets the ADXL34x     
234          * when inactivity (acceleration has b    
235          * for at least inactivity_time) is de    
236          * A '' disables automatic switching t    
237          * Sleep Bit section of the ADXL34x da    
238          */                                       
239                                                   
240 #define ADXL_LINK       (1 << 5)                  
241 #define ADXL_AUTO_SLEEP (1 << 4)                  
242                                                   
243         u8 power_mode;                            
244                                                   
245         /*                                        
246          * fifo_mode:                             
247          * BYPASS The FIFO is bypassed            
248          * FIFO   FIFO collects up to 32 value    
249          * STREAM FIFO holds the last 32 data     
250          *        oldest data is lost as it is    
251          *                                        
252          * DEFAULT should be ADXL_FIFO_STREAM     
253          */                                       
254                                                   
255 #define ADXL_FIFO_BYPASS        0                 
256 #define ADXL_FIFO_FIFO          1                 
257 #define ADXL_FIFO_STREAM        2                 
258                                                   
259         u8 fifo_mode;                             
260                                                   
261         /*                                        
262          * watermark:                             
263          * The Watermark feature can be used t    
264          * of the system. The FIFO fills up to    
265          * [1..32] and then generates an inter    
266          * A '' disables the watermark feature    
267          */                                       
268                                                   
269         u8 watermark;                             
270                                                   
271         /*                                        
272          * When acceleration measurements are     
273          * events are sent to the event subsys    
274          * select the event type and event cod    
275          * respectively.                          
276          */                                       
277         u32 ev_type;    /* EV_ABS or EV_REL */    
278                                                   
279         u32 ev_code_x;  /* ABS_X,Y,Z or REL_X,    
280         u32 ev_code_y;  /* ABS_X,Y,Z or REL_X,    
281         u32 ev_code_z;  /* ABS_X,Y,Z or REL_X,    
282                                                   
283         /*                                        
284          * A valid BTN or KEY Code; use tap_ax    
285          * event reporting                        
286          */                                       
287                                                   
288         u32 ev_code_tap[3];     /* EV_KEY {X-A    
289                                                   
290         /*                                        
291          * A valid BTN or KEY Code for Free-Fa    
292          * input event reporting. A '' disable    
293          * Activity reporting.                    
294          */                                       
295                                                   
296         u32 ev_code_ff; /* EV_KEY */              
297         u32 ev_code_act_inactivity;     /* EV_    
298                                                   
299         /*                                        
300          * Use ADXL34x INT2 pin instead of INT    
301          */                                       
302         u8 use_int2;                              
303                                                   
304         /*                                        
305          * ADXL346 only ORIENTATION SENSING fe    
306          * The orientation function of the ADX    
307          * 3-D orientation concurrently.          
308          */                                       
309                                                   
310 #define ADXL_EN_ORIENTATION_2D          1         
311 #define ADXL_EN_ORIENTATION_3D          2         
312 #define ADXL_EN_ORIENTATION_2D_3D       3         
313                                                   
314         u8 orientation_enable;                    
315                                                   
316         /*                                        
317          * The width of the deadzone region be    
318          * orientation positions is determined    
319          * value. The deadzone region size can    
320          * resolution of 3.6deg. The deadzone     
321          * angle where the orientation is cons    
322          */                                       
323                                                   
324 #define ADXL_DEADZONE_ANGLE_0p0         0         
325 #define ADXL_DEADZONE_ANGLE_3p6         1         
326 #define ADXL_DEADZONE_ANGLE_7p2         2         
327 #define ADXL_DEADZONE_ANGLE_10p8        3         
328 #define ADXL_DEADZONE_ANGLE_14p4        4         
329 #define ADXL_DEADZONE_ANGLE_18p0        5         
330 #define ADXL_DEADZONE_ANGLE_21p6        6         
331 #define ADXL_DEADZONE_ANGLE_25p2        7         
332                                                   
333         u8 deadzone_angle;                        
334                                                   
335         /*                                        
336          * To eliminate most human motion such    
337          * a Divisor value should be selected     
338          * orientation bandwidth. Set the dept    
339          * low-pass filter the measured accele    
340          * orientation sensing                    
341          */                                       
342                                                   
343 #define ADXL_LP_FILTER_DIVISOR_2        0         
344 #define ADXL_LP_FILTER_DIVISOR_4        1         
345 #define ADXL_LP_FILTER_DIVISOR_8        2         
346 #define ADXL_LP_FILTER_DIVISOR_16       3         
347 #define ADXL_LP_FILTER_DIVISOR_32       4         
348 #define ADXL_LP_FILTER_DIVISOR_64       5         
349 #define ADXL_LP_FILTER_DIVISOR_128      6         
350 #define ADXL_LP_FILTER_DIVISOR_256      7         
351                                                   
352         u8 divisor_length;                        
353                                                   
354         u32 ev_codes_orient_2d[4];      /* EV_    
355         u32 ev_codes_orient_3d[6];      /* EV_    
356 };                                                
357 #endif                                            
358                                                   

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php