linux/drivers/input/touchscreen/fsl-imx25-tcq.c

// SPDX-License-Identifier: GPL-2.0
//
// Copyright (C) 2014-2015 Pengutronix, Markus Pargmann <[email protected]>
// Based on driver from 2011:
//   Juergen Beisert, Pengutronix <[email protected]>
//
// This is the driver for the imx25 TCQ (Touchscreen Conversion Queue)
// connected to the imx25 ADC.

#include <linux/clk.h>
#include <linux/device.h>
#include <linux/input.h>
#include <linux/interrupt.h>
#include <linux/mfd/imx25-tsadc.h>
#include <linux/module.h>
#include <linux/of.h>
#include <linux/platform_device.h>
#include <linux/regmap.h>

static const char mx25_tcq_name[] =;

enum mx25_tcq_mode {};

struct mx25_tcq_priv {};

static const struct regmap_config mx25_tcq_regconfig =;

static const struct of_device_id mx25_tcq_ids[] =;
MODULE_DEVICE_TABLE(of, mx25_tcq_ids);

#define TSC_4WIRE_PRE_INDEX
#define TSC_4WIRE_X_INDEX
#define TSC_4WIRE_Y_INDEX
#define TSC_4WIRE_POST_INDEX
#define TSC_4WIRE_LEAVE

#define MX25_TSC_DEF_THRESHOLD
#define TSC_MAX_SAMPLES

#define MX25_TSC_REPEAT_WAIT

enum mx25_adc_configurations {};

#define MX25_PRECHARGE_VALUE

#define MX25_TOUCH_DETECT_VALUE

static void imx25_setup_queue_cfgs(struct mx25_tcq_priv *priv,
				   unsigned int settling_cnt)
{}

static int imx25_setup_queue_4wire(struct mx25_tcq_priv *priv,
				   unsigned settling_cnt, int *items)
{}

static void mx25_tcq_disable_touch_irq(struct mx25_tcq_priv *priv)
{}

static void mx25_tcq_enable_touch_irq(struct mx25_tcq_priv *priv)
{}

static void mx25_tcq_disable_fifo_irq(struct mx25_tcq_priv *priv)
{}

static void mx25_tcq_enable_fifo_irq(struct mx25_tcq_priv *priv)
{}

static void mx25_tcq_force_queue_start(struct mx25_tcq_priv *priv)
{}

static void mx25_tcq_force_queue_stop(struct mx25_tcq_priv *priv)
{}

static void mx25_tcq_fifo_reset(struct mx25_tcq_priv *priv)
{}

static void mx25_tcq_re_enable_touch_detection(struct mx25_tcq_priv *priv)
{}

static void mx25_tcq_create_event_for_4wire(struct mx25_tcq_priv *priv,
					    u32 *sample_buf,
					    unsigned int samples)
{}

static irqreturn_t mx25_tcq_irq_thread(int irq, void *dev_id)
{}

static irqreturn_t mx25_tcq_irq(int irq, void *dev_id)
{}

/* configure the state machine for a 4-wire touchscreen */
static int mx25_tcq_init(struct mx25_tcq_priv *priv)
{}

static int mx25_tcq_parse_dt(struct platform_device *pdev,
			     struct mx25_tcq_priv *priv)
{}

static int mx25_tcq_open(struct input_dev *idev)
{}

static void mx25_tcq_close(struct input_dev *idev)
{}

static int mx25_tcq_probe(struct platform_device *pdev)
{}

static struct platform_driver mx25_tcq_driver =;
module_platform_driver();

MODULE_DESCRIPTION();
MODULE_AUTHOR();
MODULE_LICENSE();