18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-only */
28c2ecf20Sopenharmony_ci/*
38c2ecf20Sopenharmony_ci * vivid-touch-cap.h - touch support functions.
48c2ecf20Sopenharmony_ci */
58c2ecf20Sopenharmony_ci#ifndef _VIVID_TOUCH_CAP_H_
68c2ecf20Sopenharmony_ci#define _VIVID_TOUCH_CAP_H_
78c2ecf20Sopenharmony_ci
88c2ecf20Sopenharmony_ci#define VIVID_TCH_HEIGHT	12
98c2ecf20Sopenharmony_ci#define VIVID_TCH_WIDTH		21
108c2ecf20Sopenharmony_ci#define VIVID_MIN_PRESSURE	180
118c2ecf20Sopenharmony_ci#define VIVID_PRESSURE_LIMIT	40
128c2ecf20Sopenharmony_ci#define TCH_SEQ_COUNT		16
138c2ecf20Sopenharmony_ci#define TCH_PATTERN_COUNT	12
148c2ecf20Sopenharmony_ci
158c2ecf20Sopenharmony_cienum vivid_tch_test {
168c2ecf20Sopenharmony_ci	SINGLE_TAP,
178c2ecf20Sopenharmony_ci	DOUBLE_TAP,
188c2ecf20Sopenharmony_ci	TRIPLE_TAP,
198c2ecf20Sopenharmony_ci	MOVE_LEFT_TO_RIGHT,
208c2ecf20Sopenharmony_ci	ZOOM_IN,
218c2ecf20Sopenharmony_ci	ZOOM_OUT,
228c2ecf20Sopenharmony_ci	PALM_PRESS,
238c2ecf20Sopenharmony_ci	MULTIPLE_PRESS,
248c2ecf20Sopenharmony_ci	TEST_CASE_MAX
258c2ecf20Sopenharmony_ci};
268c2ecf20Sopenharmony_ci
278c2ecf20Sopenharmony_ciextern const struct vb2_ops vivid_touch_cap_qops;
288c2ecf20Sopenharmony_ci
298c2ecf20Sopenharmony_ciint vivid_enum_fmt_tch(struct file *file, void  *priv, struct v4l2_fmtdesc *f);
308c2ecf20Sopenharmony_ciint vivid_g_fmt_tch(struct file *file, void *priv, struct v4l2_format *f);
318c2ecf20Sopenharmony_ciint vivid_g_fmt_tch_mplane(struct file *file, void *priv, struct v4l2_format *f);
328c2ecf20Sopenharmony_ciint vivid_enum_input_tch(struct file *file, void *priv, struct v4l2_input *inp);
338c2ecf20Sopenharmony_ciint vivid_g_input_tch(struct file *file, void *priv, unsigned int *i);
348c2ecf20Sopenharmony_ciint vivid_s_input_tch(struct file *file, void *priv, unsigned int i);
358c2ecf20Sopenharmony_civoid vivid_fillbuff_tch(struct vivid_dev *dev, struct vivid_buffer *buf);
368c2ecf20Sopenharmony_ciint vivid_set_touch(struct vivid_dev *dev, unsigned int i);
378c2ecf20Sopenharmony_ciint vivid_g_parm_tch(struct file *file, void *priv,
388c2ecf20Sopenharmony_ci		     struct v4l2_streamparm *parm);
398c2ecf20Sopenharmony_ci#endif
40