You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
kernel_samsung_sm7125/drivers/hid/hid-qvr.h

72 lines
1.6 KiB

/*
* Copyright (c) 2018-2019, The Linux Foundation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
* only version 2 as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
*/
#ifndef HID_QVR_H_FILE
#define HID_QVR_H_FILE
#define QVR_EXTERNAL_SENSOR_REPORT_ID 0x1
//CMD IDs
#define QVR_CMD_ID_CALIBRATION_DATA_SIZE 20
#define QVR_CMD_ID_CALIBRATION_BLOCK_DATA 21
#define QVR_CMD_ID_START_CALIBRATION_UPDATE 22
#define QVR_CMD_ID_UPDATE_CALIBRATION_BLOCK 23
#define QVR_CMD_ID_FINISH_CALIBRATION_UPDATE 24
#define QVR_CMD_ID_IMU_CONTROL 25
#define QVR_CMD_ID_IMU_CONTROL_FALLBACK 7
#define QVR_HID_REPORT_ID_CAL 2
#define QVR_HID_REQUEST_REPORT_SIZE 64
struct external_imu_format {
u8 reportID;
u8 padding;
u16 version;
u16 numIMUs;
u16 numSamplesPerImuPacket;
u16 totalPayloadSize;
u8 reservedPadding[28];
s16 imuID;
s16 sampleID;
s16 temperature;
u64 gts0;
u32 gNumerator;
u32 gDenominator;
s32 gx0;
s32 gy0;
s32 gz0;
u64 ats0;
u32 aNumerator;
u32 aDenominator;
s32 ax0;
s32 ay0;
s32 az0;
u64 mts0;
u32 mNumerator;
u32 mDenominator;
s32 mx0;
s32 my0;
s32 mz0;
} __packed;
void qvr_clear_def_parmeter(void);
void qvr_init(struct hid_device *hdev);
int qvr_input_init(void);
void qvr_input_remove(void);
#endif