Lines Matching refs:ts

46 #define STMPE_TS_NAME			"stmpe-ts"
103 struct stmpe_touch *ts =
106 int_sta = stmpe_reg_read(ts->stmpe, STMPE_REG_INT_STA);
117 int_sta = stmpe_reg_read(ts->stmpe, STMPE_REG_INT_STA);
122 __stmpe_reset_fifo(ts->stmpe);
124 input_report_abs(ts->idev, ABS_PRESSURE, 0);
125 input_report_key(ts->idev, BTN_TOUCH, 0);
126 input_sync(ts->idev);
133 struct stmpe_touch *ts = data;
139 cancel_delayed_work_sync(&ts->work);
147 stmpe_set_bits(ts->stmpe, STMPE_REG_TSC_CTRL,
150 stmpe_block_read(ts->stmpe, STMPE_REG_TSC_DATA_XYZ, 4, data_set);
156 touchscreen_report_pos(ts->idev, &ts->prop, x, y, false);
157 input_report_abs(ts->idev, ABS_PRESSURE, z);
158 input_report_key(ts->idev, BTN_TOUCH, 1);
159 input_sync(ts->idev);
162 __stmpe_reset_fifo(ts->stmpe);
165 stmpe_set_bits(ts->stmpe, STMPE_REG_TSC_CTRL,
169 schedule_delayed_work(&ts->work, msecs_to_jiffies(50));
174 static int stmpe_init_hw(struct stmpe_touch *ts)
178 struct stmpe *stmpe = ts->stmpe;
179 struct device *dev = ts->dev;
193 tsc_cfg = STMPE_AVE_CTRL(ts->ave_ctrl) |
194 STMPE_DET_DELAY(ts->touch_det_delay) |
195 STMPE_SETTLING(ts->settling);
206 STMPE_FRACTION_Z(0xff), STMPE_FRACTION_Z(ts->fraction_z));
213 STMPE_I_DRIVE(0xff), STMPE_I_DRIVE(ts->i_drive));
238 struct stmpe_touch *ts = input_get_drvdata(dev);
241 ret = __stmpe_reset_fifo(ts->stmpe);
245 return stmpe_set_bits(ts->stmpe, STMPE_REG_TSC_CTRL,
251 struct stmpe_touch *ts = input_get_drvdata(dev);
253 cancel_delayed_work_sync(&ts->work);
255 stmpe_set_bits(ts->stmpe, STMPE_REG_TSC_CTRL,
260 struct stmpe_touch *ts)
267 ts->stmpe->sample_time = val;
269 ts->stmpe->mod_12b = val;
271 ts->stmpe->ref_sel = val;
273 ts->stmpe->adc_freq = val;
275 ts->ave_ctrl = val;
277 ts->touch_det_delay = val;
279 ts->settling = val;
281 ts->fraction_z = val;
283 ts->i_drive = val;
290 struct stmpe_touch *ts;
299 ts = devm_kzalloc(&pdev->dev, sizeof(*ts), GFP_KERNEL);
300 if (!ts)
307 platform_set_drvdata(pdev, ts);
308 ts->stmpe = stmpe;
309 ts->idev = idev;
310 ts->dev = &pdev->dev;
312 stmpe_ts_get_platform_info(pdev, ts);
314 INIT_DELAYED_WORK(&ts->work, stmpe_work);
318 IRQF_ONESHOT, STMPE_TS_NAME, ts);
324 error = stmpe_init_hw(ts);
335 input_set_drvdata(idev, ts);
342 touchscreen_parse_properties(idev, false, &ts->prop);
355 struct stmpe_touch *ts = platform_get_drvdata(pdev);
357 stmpe_disable(ts->stmpe, STMPE_BLOCK_TOUCHSCREEN);
370 { .compatible = "st,stmpe-ts", },