1 /* SPDX-License-Identifier: GPL-2.0-or-later */
3 * HID report descriptors, structures and routines
4 * Copyright 2020-2021 Advanced Micro Devices, Inc.
5 * Authors: Nehal Bakulchandra Shah <Nehal-bakulchandra.shah@amd.com>
6 * Sandeep Singh <Sandeep.singh@amd.com>
7 * Basavaraj Natikar <Basavaraj.Natikar@amd.com>
10 #ifndef AMD_SFH_HID_DESCRIPTOR_H
11 #define AMD_SFH_HID_DESCRIPTOR_H
14 /* Report descriptor name */
20 struct common_feature_property {
21 /* common properties */
30 struct common_input_property {
31 /* common properties */
37 struct accel3_feature_report {
38 struct common_feature_property common_property;
39 /* properties specific to this sensor */
40 u16 accel_change_sesnitivity;
41 s16 accel_sensitivity_max;
42 s16 accel_sensitivity_min;
45 struct accel3_input_report {
46 struct common_input_property common_property;
47 /* values specific to this sensor */
51 /* include if required to support the "shake" event */
52 u8 in_accel_shake_detection;
55 struct gyro_feature_report {
56 struct common_feature_property common_property;
57 /* properties specific to this sensor */
58 u16 gyro_change_sesnitivity;
59 s16 gyro_sensitivity_max;
60 s16 gyro_sensitivity_min;
63 struct gyro_input_report {
64 struct common_input_property common_property;
65 /* values specific to this sensor */
71 struct magno_feature_report {
72 struct common_feature_property common_property;
73 /*properties specific to this sensor */
74 u16 magno_headingchange_sensitivity;
77 u16 flux_change_sensitivity;
82 struct magno_input_report {
83 struct common_input_property common_property;
87 int in_magno_accuracy;
90 struct als_feature_report {
91 struct common_feature_property common_property;
92 /* properties specific to this sensor */
93 u16 als_change_sesnitivity;
94 s16 als_sensitivity_max;
95 s16 als_sensitivity_min;
98 struct als_input_report {
99 struct common_input_property common_property;
100 /* values specific to this sensor */
101 int illuminance_value;
102 int light_color_temp;
103 int chromaticity_x_value;
104 int chromaticity_y_value;
107 struct hpd_feature_report {
108 struct common_feature_property common_property;
111 struct hpd_input_report {
112 struct common_input_property common_property;
113 /* values specific to human presence sensor */