1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0-only */ 2*4882a593Smuzhiyun /* 3*4882a593Smuzhiyun * vivid-touch-cap.h - touch support functions. 4*4882a593Smuzhiyun */ 5*4882a593Smuzhiyun #ifndef _VIVID_TOUCH_CAP_H_ 6*4882a593Smuzhiyun #define _VIVID_TOUCH_CAP_H_ 7*4882a593Smuzhiyun 8*4882a593Smuzhiyun #define VIVID_TCH_HEIGHT 12 9*4882a593Smuzhiyun #define VIVID_TCH_WIDTH 21 10*4882a593Smuzhiyun #define VIVID_MIN_PRESSURE 180 11*4882a593Smuzhiyun #define VIVID_PRESSURE_LIMIT 40 12*4882a593Smuzhiyun #define TCH_SEQ_COUNT 16 13*4882a593Smuzhiyun #define TCH_PATTERN_COUNT 12 14*4882a593Smuzhiyun 15*4882a593Smuzhiyun enum vivid_tch_test { 16*4882a593Smuzhiyun SINGLE_TAP, 17*4882a593Smuzhiyun DOUBLE_TAP, 18*4882a593Smuzhiyun TRIPLE_TAP, 19*4882a593Smuzhiyun MOVE_LEFT_TO_RIGHT, 20*4882a593Smuzhiyun ZOOM_IN, 21*4882a593Smuzhiyun ZOOM_OUT, 22*4882a593Smuzhiyun PALM_PRESS, 23*4882a593Smuzhiyun MULTIPLE_PRESS, 24*4882a593Smuzhiyun TEST_CASE_MAX 25*4882a593Smuzhiyun }; 26*4882a593Smuzhiyun 27*4882a593Smuzhiyun extern const struct vb2_ops vivid_touch_cap_qops; 28*4882a593Smuzhiyun 29*4882a593Smuzhiyun int vivid_enum_fmt_tch(struct file *file, void *priv, struct v4l2_fmtdesc *f); 30*4882a593Smuzhiyun int vivid_g_fmt_tch(struct file *file, void *priv, struct v4l2_format *f); 31*4882a593Smuzhiyun int vivid_g_fmt_tch_mplane(struct file *file, void *priv, struct v4l2_format *f); 32*4882a593Smuzhiyun int vivid_enum_input_tch(struct file *file, void *priv, struct v4l2_input *inp); 33*4882a593Smuzhiyun int vivid_g_input_tch(struct file *file, void *priv, unsigned int *i); 34*4882a593Smuzhiyun int vivid_s_input_tch(struct file *file, void *priv, unsigned int i); 35*4882a593Smuzhiyun void vivid_fillbuff_tch(struct vivid_dev *dev, struct vivid_buffer *buf); 36*4882a593Smuzhiyun int vivid_set_touch(struct vivid_dev *dev, unsigned int i); 37*4882a593Smuzhiyun int vivid_g_parm_tch(struct file *file, void *priv, 38*4882a593Smuzhiyun struct v4l2_streamparm *parm); 39*4882a593Smuzhiyun #endif 40