123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158 |
- /* SPDX-License-Identifier: GPL-2.0-only */
- /*
- * Copyright (c) 2016-2021, The Linux Foundation. All rights reserved.
- * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
- */
- #include <linux/types.h>
- #ifndef _QBT_HANDLER_H_
- #define _QBT_HANDLER_H_
- #define MAX_NAME_SIZE 32
- #define QBT_IS_WUHB_CONNECTED 100
- #define QBT_SEND_KEY_EVENT 101
- #define QBT_ENABLE_IPC 102
- #define QBT_DISABLE_IPC 103
- #define QBT_ENABLE_FD 104
- #define QBT_DISABLE_FD 105
- #define QBT_CONFIGURE_TOUCH_FD 106
- #define QBT_ACQUIRE_WAKELOCK 107
- #define QBT_RELEASE_WAKELOCK 108
- #define QBT_GET_TOUCH_FD_VERSION 109
- #define QBT_CONFIGURE_TOUCH_FD_V2 110
- #define QBT_INTR2_TEST 111
- #define QBT_CONFIGURE_TOUCH_FD_V3 112
- /*
- * enum qbt_finger_events -
- * enumeration of qbt finger events
- * @QBT_EVENT_FINGER_UP - finger up detected
- * @QBT_EVENT_FINGER_DOWN - finger down detected
- * @QBT_EVENT_FINGER_MOVE - finger move detected
- */
- enum qbt_finger_events {
- QBT_EVENT_FINGER_UP,
- QBT_EVENT_FINGER_DOWN,
- QBT_EVENT_FINGER_MOVE
- };
- /*
- * enum qbt_fw_event -
- * enumeration of firmware events
- * @FW_EVENT_FINGER_DOWN - finger down detected
- * @FW_EVENT_FINGER_UP - finger up detected
- * @FW_EVENT_IPC - an IPC from the firmware is pending
- */
- enum qbt_fw_event {
- FW_EVENT_FINGER_DOWN = 1,
- FW_EVENT_FINGER_UP = 2,
- FW_EVENT_IPC = 3,
- };
- /*
- * struct qbt_wuhb_connected_status -
- * used to query whether WUHB INT line is connected
- * @is_wuhb_connected - if non-zero, WUHB INT line is connected
- */
- struct qbt_wuhb_connected_status {
- _Bool is_wuhb_connected;
- };
- /*
- * struct qbt_key_event -
- * used to send key event
- * @key - the key event to send
- * @value - value of the key event
- */
- struct qbt_key_event {
- int key;
- int value;
- };
- /*
- * struct qbt_touch_config -
- * used to configure touch finger detect
- * @rad_filter_enable - flag to enable/disable radius based filtering
- * @rad_x: movement radius in x direction
- * @rad_y: movement radius in y direction
- */
- struct qbt_touch_config {
- _Bool rad_filter_enable;
- int rad_x;
- int rad_y;
- };
- /*
- * struct qbt_touch_fd_version -
- * used to get touch finger detect version
- * @version: version number
- */
- struct qbt_touch_fd_version {
- int version;
- };
- /*
- * struct qbt_touch_config_v2 -
- * used to configure touch finger detect
- * @version - touch FD version
- * @touch_fd_enable - flag to enable/disable touch finger detect
- * @rad_filter_enable - flag to enable/disable radius based filtering
- * @left - x-coordinate of top left corner of AOI
- * @top - y-coordinate of top left corner of AOI
- * @right - x-coordinate of bottom right corner of AOI
- * @bottom - y--coordinate of bottom right corner of AOI
- * @rad_x: movement radius in x direction
- * @rad_y: movement radius in y direction
- */
- struct qbt_touch_config_v2 {
- struct qbt_touch_fd_version version;
- _Bool touch_fd_enable;
- _Bool rad_filter_enable;
- int left;
- int top;
- int right;
- int bottom;
- int rad_x;
- int rad_y;
- };
- /*
- * struct qbt_touch_config_v3 -
- * used to configure touch finger detect
- * @version - touch FD version
- * @touch_fd_enable - flag to enable/disable touch finger detect
- * @rad_filter_enable - flag to enable/disable radius based filtering
- * @left - x-coordinate of top left corner of AOI
- * @top - y-coordinate of top left corner of AOI
- * @right - x-coordinate of bottom right corner of AOI
- * @bottom - y--coordinate of bottom right corner of AOI
- * @rad_x: movement radius in x direction
- * @rad_y: movement radius in y direction
- * @intr2_enable - flag to enable/disable intr2
- */
- struct qbt_touch_config_v3 {
- struct qbt_touch_fd_version version;
- _Bool touch_fd_enable;
- _Bool rad_filter_enable;
- int left;
- int top;
- int right;
- int bottom;
- int rad_x;
- int rad_y;
- _Bool intr2_enable;
- };
- /*
- * struct qbt_intr2_test -
- * used for INTR2 factory test
- * @state: state to toggle INTR2 pin
- */
- struct qbt_intr2_test {
- __s32 state;
- };
- #endif /* _QBT_HANDLER_H_ */
|