brintos

brintos / linux-shallow public Read only

0
0
Text · 2.8 KiB · 882434b Raw
118 lines · c
1/* SPDX-License-Identifier: GPL-2.0-or-later */2/*3 * HID report descriptors, structures and routines4 * 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>8 */9 10#ifndef AMD_SFH_HID_DESCRIPTOR_H11#define AMD_SFH_HID_DESCRIPTOR_H12 13enum desc_type {14	/* Report descriptor name */15	descr_size = 1,16	input_size,17	feature_size,18};19 20struct common_feature_property {21	/* common properties */22	u8 report_id;23	u8 connection_type;24	u8 report_state;25	u8 power_state;26	u8 sensor_state;27	u32 report_interval;28} __packed;29 30struct common_input_property {31	/* common properties */32	u8 report_id;33	u8 sensor_state;34	u8 event_type;35} __packed;36 37struct 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;43} __packed;44 45struct accel3_input_report {46	struct	common_input_property common_property;47	/* values specific to this sensor */48	int in_accel_x_value;49	int in_accel_y_value;50	int in_accel_z_value;51	/* include if required to support the "shake" event */52	u8 in_accel_shake_detection;53} __packed;54 55struct 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;61} __packed;62 63struct gyro_input_report {64	struct	common_input_property common_property;65	/* values specific to this sensor */66	int in_angel_x_value;67	int in_angel_y_value;68	int in_angel_z_value;69} __packed;70 71struct magno_feature_report {72	struct common_feature_property common_property;73	/*properties specific to this sensor */74	u16 magno_headingchange_sensitivity;75	s16 heading_min;76	s16 heading_max;77	u16 flux_change_sensitivity;78	s16 flux_min;79	s16 flux_max;80} __packed;81 82struct magno_input_report {83	struct	common_input_property common_property;84	int in_magno_x;85	int in_magno_y;86	int in_magno_z;87	int in_magno_accuracy;88} __packed;89 90struct 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;96} __packed;97 98struct 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;105} __packed;106 107struct hpd_feature_report {108	struct common_feature_property common_property;109} __packed;110 111struct hpd_input_report {112	struct common_input_property common_property;113	 /* values specific to human presence sensor */114	u8 human_presence;115} __packed;116 117#endif118