1 /*
2  * HID Sensors Driver
3  * Copyright (c) 2012, Intel Corporation.
4  *
5  * This program is free software; you can redistribute it and/or modify it
6  * under the terms and conditions of the GNU General Public License,
7  * version 2, as published by the Free Software Foundation.
8  *
9  * This program is distributed in the hope it will be useful, but WITHOUT
10  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
12  * more details.
13  *
14  * You should have received a copy of the GNU General Public License along with
15  * this program; if not, write to the Free Software Foundation, Inc.,
16  * 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
17  *
18  */
19 #ifndef _HID_SENSORS_IDS_H
20 #define _HID_SENSORS_IDS_H
21 
22 #define HID_MAX_PHY_DEVICES					0xFF
23 
24 #define HID_USAGE_SENSOR_COLLECTION				0x200001
25 
26 /* Accel 3D (200073) */
27 #define HID_USAGE_SENSOR_ACCEL_3D				0x200073
28 #define HID_USAGE_SENSOR_DATA_ACCELERATION			0x200452
29 #define HID_USAGE_SENSOR_ACCEL_X_AXIS				0x200453
30 #define HID_USAGE_SENSOR_ACCEL_Y_AXIS				0x200454
31 #define HID_USAGE_SENSOR_ACCEL_Z_AXIS				0x200455
32 
33 /* ALS (200041) */
34 #define HID_USAGE_SENSOR_ALS					0x200041
35 #define HID_USAGE_SENSOR_DATA_LIGHT				0x2004d0
36 #define HID_USAGE_SENSOR_LIGHT_ILLUM				0x2004d1
37 
38 /* PROX (200011) */
39 #define HID_USAGE_SENSOR_PROX                                   0x200011
40 #define HID_USAGE_SENSOR_DATA_PRESENCE                          0x2004b0
41 #define HID_USAGE_SENSOR_HUMAN_PRESENCE                         0x2004b1
42 
43 /* Pressure (200031) */
44 #define HID_USAGE_SENSOR_PRESSURE                               0x200031
45 #define HID_USAGE_SENSOR_DATA_ATMOSPHERIC_PRESSURE              0x200430
46 #define HID_USAGE_SENSOR_ATMOSPHERIC_PRESSURE                   0x200431
47 
48 /* Tempreture (200033) */
49 #define	HID_USAGE_SENSOR_TEMPERATURE				0x200033
50 #define	HID_USAGE_SENSOR_DATA_ENVIRONMENTAL_TEMPERATURE		0x200434
51 
52 /* humidity */
53 #define HID_USAGE_SENSOR_HUMIDITY                              0x200032
54 #define HID_USAGE_SENSOR_ATMOSPHERIC_HUMIDITY                  0x200433
55 
56 /* Gyro 3D: (200076) */
57 #define HID_USAGE_SENSOR_GYRO_3D				0x200076
58 #define HID_USAGE_SENSOR_DATA_ANGL_VELOCITY			0x200456
59 #define HID_USAGE_SENSOR_ANGL_VELOCITY_X_AXIS			0x200457
60 #define HID_USAGE_SENSOR_ANGL_VELOCITY_Y_AXIS			0x200458
61 #define HID_USAGE_SENSOR_ANGL_VELOCITY_Z_AXIS			0x200459
62 
63 /* Gravity vector */
64 #define HID_USAGE_SENSOR_GRAVITY_VECTOR				0x20007B
65 
66 /* ORIENTATION: Compass 3D: (200083) */
67 #define HID_USAGE_SENSOR_COMPASS_3D				0x200083
68 #define HID_USAGE_SENSOR_DATA_ORIENTATION			0x200470
69 #define HID_USAGE_SENSOR_ORIENT_MAGN_HEADING			0x200471
70 #define HID_USAGE_SENSOR_ORIENT_MAGN_HEADING_X			0x200472
71 #define HID_USAGE_SENSOR_ORIENT_MAGN_HEADING_Y			0x200473
72 #define HID_USAGE_SENSOR_ORIENT_MAGN_HEADING_Z			0x200474
73 
74 #define HID_USAGE_SENSOR_ORIENT_COMP_MAGN_NORTH			0x200475
75 #define HID_USAGE_SENSOR_ORIENT_COMP_TRUE_NORTH			0x200476
76 #define HID_USAGE_SENSOR_ORIENT_MAGN_NORTH			0x200477
77 #define HID_USAGE_SENSOR_ORIENT_TRUE_NORTH			0x200478
78 
79 #define HID_USAGE_SENSOR_ORIENT_DISTANCE			0x200479
80 #define HID_USAGE_SENSOR_ORIENT_DISTANCE_X			0x20047A
81 #define HID_USAGE_SENSOR_ORIENT_DISTANCE_Y			0x20047B
82 #define HID_USAGE_SENSOR_ORIENT_DISTANCE_Z			0x20047C
83 #define HID_USAGE_SENSOR_ORIENT_DISTANCE_OUT_OF_RANGE		0x20047D
84 
85 /* ORIENTATION: Inclinometer 3D: (200086) */
86 #define HID_USAGE_SENSOR_INCLINOMETER_3D			0x200086
87 #define HID_USAGE_SENSOR_ORIENT_TILT				0x20047E
88 #define HID_USAGE_SENSOR_ORIENT_TILT_X				0x20047F
89 #define HID_USAGE_SENSOR_ORIENT_TILT_Y				0x200480
90 #define HID_USAGE_SENSOR_ORIENT_TILT_Z				0x200481
91 
92 #define HID_USAGE_SENSOR_DEVICE_ORIENTATION			0x20008A
93 #define HID_USAGE_SENSOR_RELATIVE_ORIENTATION			0x20008E
94 #define HID_USAGE_SENSOR_GEOMAGNETIC_ORIENTATION		0x2000C1
95 #define HID_USAGE_SENSOR_ORIENT_ROTATION_MATRIX			0x200482
96 #define HID_USAGE_SENSOR_ORIENT_QUATERNION			0x200483
97 #define HID_USAGE_SENSOR_ORIENT_MAGN_FLUX			0x200484
98 
99 #define HID_USAGE_SENSOR_ORIENT_MAGN_FLUX_X_AXIS		0x200485
100 #define HID_USAGE_SENSOR_ORIENT_MAGN_FLUX_Y_AXIS		0x200486
101 #define HID_USAGE_SENSOR_ORIENT_MAGN_FLUX_Z_AXIS		0x200487
102 
103 /* Time (2000a0) */
104 #define HID_USAGE_SENSOR_TIME					0x2000a0
105 #define HID_USAGE_SENSOR_TIME_YEAR				0x200521
106 #define HID_USAGE_SENSOR_TIME_MONTH				0x200522
107 #define HID_USAGE_SENSOR_TIME_DAY				0x200523
108 #define HID_USAGE_SENSOR_TIME_HOUR				0x200525
109 #define HID_USAGE_SENSOR_TIME_MINUTE				0x200526
110 #define HID_USAGE_SENSOR_TIME_SECOND				0x200527
111 #define HID_USAGE_SENSOR_TIME_TIMESTAMP				0x200529
112 
113 /* Units */
114 #define HID_USAGE_SENSOR_UNITS_NOT_SPECIFIED			0x00
115 #define HID_USAGE_SENSOR_UNITS_LUX				0x01
116 #define HID_USAGE_SENSOR_UNITS_KELVIN				0x01000100
117 #define HID_USAGE_SENSOR_UNITS_FAHRENHEIT			0x03000100
118 #define HID_USAGE_SENSOR_UNITS_PASCAL				0xF1E1
119 #define HID_USAGE_SENSOR_UNITS_NEWTON				0x11E1
120 #define HID_USAGE_SENSOR_UNITS_METERS_PER_SECOND		0x11F0
121 #define HID_USAGE_SENSOR_UNITS_METERS_PER_SEC_SQRD		0x11E0
122 #define HID_USAGE_SENSOR_UNITS_FARAD				0xE14F2000
123 #define HID_USAGE_SENSOR_UNITS_AMPERE				0x01001000
124 #define HID_USAGE_SENSOR_UNITS_WATT				0x21d1
125 #define HID_USAGE_SENSOR_UNITS_HENRY				0x21E1E000
126 #define HID_USAGE_SENSOR_UNITS_OHM				0x21D1E000
127 #define HID_USAGE_SENSOR_UNITS_VOLT				0x21D1F000
128 #define HID_USAGE_SENSOR_UNITS_HERTZ				0x01F0
129 #define HID_USAGE_SENSOR_UNITS_DEGREES_PER_SEC_SQRD		0x14E0
130 #define HID_USAGE_SENSOR_UNITS_RADIANS				0x12
131 #define HID_USAGE_SENSOR_UNITS_RADIANS_PER_SECOND		0x12F0
132 #define HID_USAGE_SENSOR_UNITS_RADIANS_PER_SEC_SQRD		0x12E0
133 #define HID_USAGE_SENSOR_UNITS_SECOND				0x0110
134 #define HID_USAGE_SENSOR_UNITS_GAUSS				0x01E1F000
135 #define HID_USAGE_SENSOR_UNITS_GRAM				0x0101
136 #define HID_USAGE_SENSOR_UNITS_CENTIMETER			0x11
137 #define HID_USAGE_SENSOR_UNITS_G				0x1A
138 #define HID_USAGE_SENSOR_UNITS_MILLISECOND			0x19
139 #define HID_USAGE_SENSOR_UNITS_PERCENT				0x17
140 #define HID_USAGE_SENSOR_UNITS_DEGREES				0x14
141 #define HID_USAGE_SENSOR_UNITS_DEGREES_PER_SECOND		0x15
142 
143 /* Common selectors */
144 #define HID_USAGE_SENSOR_PROP_REPORT_INTERVAL			0x20030E
145 #define HID_USAGE_SENSOR_PROP_SENSITIVITY_ABS			0x20030F
146 #define HID_USAGE_SENSOR_PROP_SENSITIVITY_RANGE_PCT		0x200310
147 #define HID_USAGE_SENSOR_PROP_SENSITIVITY_REL_PCT		0x200311
148 #define HID_USAGE_SENSOR_PROP_ACCURACY				0x200312
149 #define HID_USAGE_SENSOR_PROP_RESOLUTION			0x200313
150 #define HID_USAGE_SENSOR_PROP_RANGE_MAXIMUM			0x200314
151 #define HID_USAGE_SENSOR_PROP_RANGE_MINIMUM			0x200315
152 #define HID_USAGE_SENSOR_PROP_REPORT_STATE			0x200316
153 #define HID_USAGE_SENSOR_PROY_POWER_STATE			0x200319
154 
155 /* Batch mode selectors */
156 #define HID_USAGE_SENSOR_PROP_REPORT_LATENCY			0x20031B
157 
158 /* Per data field properties */
159 #define HID_USAGE_SENSOR_DATA_MOD_NONE					0x00
160 #define HID_USAGE_SENSOR_DATA_MOD_CHANGE_SENSITIVITY_ABS		0x1000
161 
162 /* Power state enumerations */
163 #define HID_USAGE_SENSOR_PROP_POWER_STATE_UNDEFINED_ENUM	0x200850
164 #define HID_USAGE_SENSOR_PROP_POWER_STATE_D0_FULL_POWER_ENUM	0x200851
165 #define HID_USAGE_SENSOR_PROP_POWER_STATE_D1_LOW_POWER_ENUM	0x200852
166 #define HID_USAGE_SENSOR_PROP_POWER_STATE_D2_STANDBY_WITH_WAKE_ENUM 0x200853
167 #define HID_USAGE_SENSOR_PROP_POWER_STATE_D3_SLEEP_WITH_WAKE_ENUM 0x200854
168 #define HID_USAGE_SENSOR_PROP_POWER_STATE_D4_POWER_OFF_ENUM	0x200855
169 
170 /* Report State enumerations */
171 #define HID_USAGE_SENSOR_PROP_REPORTING_STATE_NO_EVENTS_ENUM	0x200840
172 #define HID_USAGE_SENSOR_PROP_REPORTING_STATE_ALL_EVENTS_ENUM	0x200841
173 
174 #endif
175