Lines Matching refs:vf50_ts
90 static void vf50_ts_enable_touch_detection(struct vf50_touch_device *vf50_ts) in vf50_ts_enable_touch_detection() argument
93 gpiod_set_value(vf50_ts->gpio_ym, 1); in vf50_ts_enable_touch_detection()
99 pinctrl_pm_select_idle_state(&vf50_ts->pdev->dev); in vf50_ts_enable_touch_detection()
110 struct vf50_touch_device *vf50_ts = private; in vf50_ts_irq_bh() local
111 struct device *dev = &vf50_ts->pdev->dev; in vf50_ts_irq_bh()
116 gpiod_set_value(vf50_ts->gpio_ym, 0); in vf50_ts_irq_bh()
121 while (!vf50_ts->stop_touchscreen) { in vf50_ts_irq_bh()
123 val_x = adc_ts_measure(&vf50_ts->channels[0], in vf50_ts_irq_bh()
124 vf50_ts->gpio_xp, vf50_ts->gpio_xm); in vf50_ts_irq_bh()
129 val_y = adc_ts_measure(&vf50_ts->channels[1], in vf50_ts_irq_bh()
130 vf50_ts->gpio_yp, vf50_ts->gpio_ym); in vf50_ts_irq_bh()
138 val_z1 = adc_ts_measure(&vf50_ts->channels[2], in vf50_ts_irq_bh()
139 vf50_ts->gpio_yp, vf50_ts->gpio_xm); in vf50_ts_irq_bh()
142 val_z2 = adc_ts_measure(&vf50_ts->channels[3], in vf50_ts_irq_bh()
143 vf50_ts->gpio_yp, vf50_ts->gpio_xm); in vf50_ts_irq_bh()
170 if (val_p < vf50_ts->min_pressure || val_p > 2000) in vf50_ts_irq_bh()
186 input_report_abs(vf50_ts->ts_input, in vf50_ts_irq_bh()
188 input_report_abs(vf50_ts->ts_input, in vf50_ts_irq_bh()
190 input_report_abs(vf50_ts->ts_input, in vf50_ts_irq_bh()
192 input_report_key(vf50_ts->ts_input, BTN_TOUCH, 1); in vf50_ts_irq_bh()
193 input_sync(vf50_ts->ts_input); in vf50_ts_irq_bh()
201 input_report_abs(vf50_ts->ts_input, ABS_PRESSURE, 0); in vf50_ts_irq_bh()
202 input_report_key(vf50_ts->ts_input, BTN_TOUCH, 0); in vf50_ts_irq_bh()
203 input_sync(vf50_ts->ts_input); in vf50_ts_irq_bh()
205 vf50_ts_enable_touch_detection(vf50_ts); in vf50_ts_irq_bh()