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/* Gyro 3D: (200076) */
49#define HID_USAGE_SENSOR_GYRO_3D				0x200076
50#define HID_USAGE_SENSOR_DATA_ANGL_VELOCITY			0x200456
51#define HID_USAGE_SENSOR_ANGL_VELOCITY_X_AXIS			0x200457
52#define HID_USAGE_SENSOR_ANGL_VELOCITY_Y_AXIS			0x200458
53#define HID_USAGE_SENSOR_ANGL_VELOCITY_Z_AXIS			0x200459
54
55/* ORIENTATION: Compass 3D: (200083) */
56#define HID_USAGE_SENSOR_COMPASS_3D				0x200083
57#define HID_USAGE_SENSOR_DATA_ORIENTATION			0x200470
58#define HID_USAGE_SENSOR_ORIENT_MAGN_HEADING			0x200471
59#define HID_USAGE_SENSOR_ORIENT_MAGN_HEADING_X			0x200472
60#define HID_USAGE_SENSOR_ORIENT_MAGN_HEADING_Y			0x200473
61#define HID_USAGE_SENSOR_ORIENT_MAGN_HEADING_Z			0x200474
62
63#define HID_USAGE_SENSOR_ORIENT_COMP_MAGN_NORTH			0x200475
64#define HID_USAGE_SENSOR_ORIENT_COMP_TRUE_NORTH			0x200476
65#define HID_USAGE_SENSOR_ORIENT_MAGN_NORTH			0x200477
66#define HID_USAGE_SENSOR_ORIENT_TRUE_NORTH			0x200478
67
68#define HID_USAGE_SENSOR_ORIENT_DISTANCE			0x200479
69#define HID_USAGE_SENSOR_ORIENT_DISTANCE_X			0x20047A
70#define HID_USAGE_SENSOR_ORIENT_DISTANCE_Y			0x20047B
71#define HID_USAGE_SENSOR_ORIENT_DISTANCE_Z			0x20047C
72#define HID_USAGE_SENSOR_ORIENT_DISTANCE_OUT_OF_RANGE		0x20047D
73
74/* ORIENTATION: Inclinometer 3D: (200086) */
75#define HID_USAGE_SENSOR_INCLINOMETER_3D			0x200086
76#define HID_USAGE_SENSOR_ORIENT_TILT				0x20047E
77#define HID_USAGE_SENSOR_ORIENT_TILT_X				0x20047F
78#define HID_USAGE_SENSOR_ORIENT_TILT_Y				0x200480
79#define HID_USAGE_SENSOR_ORIENT_TILT_Z				0x200481
80
81#define HID_USAGE_SENSOR_DEVICE_ORIENTATION			0x20008A
82#define HID_USAGE_SENSOR_ORIENT_ROTATION_MATRIX			0x200482
83#define HID_USAGE_SENSOR_ORIENT_QUATERNION			0x200483
84#define HID_USAGE_SENSOR_ORIENT_MAGN_FLUX			0x200484
85
86#define HID_USAGE_SENSOR_ORIENT_MAGN_FLUX_X_AXIS		0x200485
87#define HID_USAGE_SENSOR_ORIENT_MAGN_FLUX_Y_AXIS		0x200486
88#define HID_USAGE_SENSOR_ORIENT_MAGN_FLUX_Z_AXIS		0x200487
89
90/* Time (2000a0) */
91#define HID_USAGE_SENSOR_TIME					0x2000a0
92#define HID_USAGE_SENSOR_TIME_YEAR				0x200521
93#define HID_USAGE_SENSOR_TIME_MONTH				0x200522
94#define HID_USAGE_SENSOR_TIME_DAY				0x200523
95#define HID_USAGE_SENSOR_TIME_HOUR				0x200525
96#define HID_USAGE_SENSOR_TIME_MINUTE				0x200526
97#define HID_USAGE_SENSOR_TIME_SECOND				0x200527
98
99/* Units */
100#define HID_USAGE_SENSOR_UNITS_NOT_SPECIFIED			0x00
101#define HID_USAGE_SENSOR_UNITS_LUX				0x01
102#define HID_USAGE_SENSOR_UNITS_KELVIN				0x01000100
103#define HID_USAGE_SENSOR_UNITS_FAHRENHEIT			0x03000100
104#define HID_USAGE_SENSOR_UNITS_PASCAL				0xF1E1
105#define HID_USAGE_SENSOR_UNITS_NEWTON				0x11E1
106#define HID_USAGE_SENSOR_UNITS_METERS_PER_SECOND		0x11F0
107#define HID_USAGE_SENSOR_UNITS_METERS_PER_SEC_SQRD		0x11E0
108#define HID_USAGE_SENSOR_UNITS_FARAD				0xE14F2000
109#define HID_USAGE_SENSOR_UNITS_AMPERE				0x01001000
110#define HID_USAGE_SENSOR_UNITS_WATT				0x21d1
111#define HID_USAGE_SENSOR_UNITS_HENRY				0x21E1E000
112#define HID_USAGE_SENSOR_UNITS_OHM				0x21D1E000
113#define HID_USAGE_SENSOR_UNITS_VOLT				0x21D1F000
114#define HID_USAGE_SENSOR_UNITS_HERTZ				0x01F0
115#define HID_USAGE_SENSOR_UNITS_DEGREES_PER_SEC_SQRD		0x14E0
116#define HID_USAGE_SENSOR_UNITS_RADIANS				0x12
117#define HID_USAGE_SENSOR_UNITS_RADIANS_PER_SECOND		0x12F0
118#define HID_USAGE_SENSOR_UNITS_RADIANS_PER_SEC_SQRD		0x12E0
119#define HID_USAGE_SENSOR_UNITS_SECOND				0x0110
120#define HID_USAGE_SENSOR_UNITS_GAUSS				0x01E1F000
121#define HID_USAGE_SENSOR_UNITS_GRAM				0x0101
122#define HID_USAGE_SENSOR_UNITS_CENTIMETER			0x11
123#define HID_USAGE_SENSOR_UNITS_G				0x1A
124#define HID_USAGE_SENSOR_UNITS_MILLISECOND			0x19
125#define HID_USAGE_SENSOR_UNITS_PERCENT				0x17
126#define HID_USAGE_SENSOR_UNITS_DEGREES				0x14
127#define HID_USAGE_SENSOR_UNITS_DEGREES_PER_SECOND		0x15
128
129/* Common selectors */
130#define HID_USAGE_SENSOR_PROP_REPORT_INTERVAL			0x20030E
131#define HID_USAGE_SENSOR_PROP_SENSITIVITY_ABS			0x20030F
132#define HID_USAGE_SENSOR_PROP_SENSITIVITY_RANGE_PCT		0x200310
133#define HID_USAGE_SENSOR_PROP_SENSITIVITY_REL_PCT		0x200311
134#define HID_USAGE_SENSOR_PROP_ACCURACY				0x200312
135#define HID_USAGE_SENSOR_PROP_RESOLUTION			0x200313
136#define HID_USAGE_SENSOR_PROP_RANGE_MAXIMUM			0x200314
137#define HID_USAGE_SENSOR_PROP_RANGE_MINIMUM			0x200315
138#define HID_USAGE_SENSOR_PROP_REPORT_STATE			0x200316
139#define HID_USAGE_SENSOR_PROY_POWER_STATE			0x200319
140
141/* Per data field properties */
142#define HID_USAGE_SENSOR_DATA_MOD_NONE					0x00
143#define HID_USAGE_SENSOR_DATA_MOD_CHANGE_SENSITIVITY_ABS		0x1000
144
145/* Power state enumerations */
146#define HID_USAGE_SENSOR_PROP_POWER_STATE_UNDEFINED_ENUM	0x200850
147#define HID_USAGE_SENSOR_PROP_POWER_STATE_D0_FULL_POWER_ENUM	0x200851
148#define HID_USAGE_SENSOR_PROP_POWER_STATE_D1_LOW_POWER_ENUM	0x200852
149#define HID_USAGE_SENSOR_PROP_POWER_STATE_D2_STANDBY_WITH_WAKE_ENUM 0x200853
150#define HID_USAGE_SENSOR_PROP_POWER_STATE_D3_SLEEP_WITH_WAKE_ENUM 0x200854
151#define HID_USAGE_SENSOR_PROP_POWER_STATE_D4_POWER_OFF_ENUM	0x200855
152
153/* Report State enumerations */
154#define HID_USAGE_SENSOR_PROP_REPORTING_STATE_NO_EVENTS_ENUM	0x200840
155#define HID_USAGE_SENSOR_PROP_REPORTING_STATE_ALL_EVENTS_ENUM	0x200841
156
157#endif
158