linux/drivers/input/touchscreen/cyttsp4_core.h

/* SPDX-License-Identifier: GPL-2.0-only */
/*
 * cyttsp4_core.h
 * Cypress TrueTouch(TM) Standard Product V4 Core driver module.
 * For use with Cypress Txx4xx parts.
 * Supported parts include:
 * TMA4XX
 * TMA1036
 *
 * Copyright (C) 2012 Cypress Semiconductor
 *
 * Contact Cypress Semiconductor at www.cypress.com <[email protected]>
 */

#ifndef _LINUX_CYTTSP4_CORE_H
#define _LINUX_CYTTSP4_CORE_H

#include <linux/device.h>
#include <linux/err.h>
#include <linux/input.h>
#include <linux/kernel.h>
#include <linux/limits.h>
#include <linux/module.h>
#include <linux/stringify.h>
#include <linux/types.h>
#include <linux/platform_data/cyttsp4.h>

#define CY_REG_BASE

#define CY_POST_CODEL_WDG_RST
#define CY_POST_CODEL_CFG_DATA_CRC_FAIL
#define CY_POST_CODEL_PANEL_TEST_FAIL

#define CY_NUM_BTN_PER_REG

/* touch record system information offset masks and shifts */
#define CY_BYTE_OFS_MASK
#define CY_BOFS_MASK
#define CY_BOFS_SHIFT

#define CY_TMA1036_TCH_REC_SIZE
#define CY_TMA4XX_TCH_REC_SIZE
#define CY_TMA1036_MAX_TCH
#define CY_TMA4XX_MAX_TCH

#define CY_NORMAL_ORIGIN
#define CY_INVERT_ORIGIN

/* helpers */
#define GET_NUM_TOUCHES(x)
#define IS_LARGE_AREA(x)
#define IS_BAD_PKT(x)
#define IS_BOOTLOADER(hst_mode, reset_detect)
#define IS_TMO(t)


enum cyttsp_cmd_bits {};

/* Timeout in ms. */
#define CY_WATCHDOG_TIMEOUT

#define CY_MAX_PRINT_SIZE
#ifdef VERBOSE_DEBUG
#define CY_MAX_PRBUF_SIZE
#define CY_PR_TRUNCATED
#endif

enum cyttsp4_ic_grpnum {};

enum cyttsp4_int_state {};

enum cyttsp4_mode {};

enum cyttsp4_sleep_state {};

enum cyttsp4_startup_state {};

#define CY_NUM_REVCTRL
struct cyttsp4_cydata {} __packed;

struct cyttsp4_test {} __packed;

struct cyttsp4_pcfg {} __packed;

struct cyttsp4_tch_rec_params {} __packed;

#define CY_NUM_TCH_FIELDS
#define CY_NUM_EXT_TCH_FIELDS
struct cyttsp4_opcfg {} __packed;

struct cyttsp4_sysinfo_ptr {} __packed;

struct cyttsp4_sysinfo_data {} __packed;

enum cyttsp4_tch_abs {};

struct cyttsp4_touch {};

struct cyttsp4_tch_abs_params {};

struct cyttsp4_sysinfo_ofs {};

enum cyttsp4_btn_state {};

struct cyttsp4_btn {};

struct cyttsp4_sysinfo {};

struct cyttsp4_mt_data {};

struct cyttsp4 {};

struct cyttsp4_bus_ops {};

enum cyttsp4_hst_mode_bits {};

/* abs settings */
#define CY_IGNORE_VALUE

/* abs signal capabilities offsets in the frameworks array */
enum cyttsp4_sig_caps {};

/* abs axis signal offsets in the framworks array  */
enum cyttsp4_sig_ost {};

enum cyttsp4_flags {};

enum cyttsp4_object_id {};

enum cyttsp4_event_id {};

/* x-axis resolution of panel in pixels */
#define CY_PCFG_RESOLUTION_X_MASK

/* y-axis resolution of panel in pixels */
#define CY_PCFG_RESOLUTION_Y_MASK

/* x-axis, 0:origin is on left side of panel, 1: right */
#define CY_PCFG_ORIGIN_X_MASK

/* y-axis, 0:origin is on top side of panel, 1: bottom */
#define CY_PCFG_ORIGIN_Y_MASK

static inline int cyttsp4_adap_read(struct cyttsp4 *ts, u16 addr, int size,
		void *buf)
{}

static inline int cyttsp4_adap_write(struct cyttsp4 *ts, u16 addr, int size,
		const void *buf)
{}

extern struct cyttsp4 *cyttsp4_probe(const struct cyttsp4_bus_ops *ops,
		struct device *dev, u16 irq, size_t xfer_buf_size);
extern int cyttsp4_remove(struct cyttsp4 *ts);
int cyttsp_i2c_write_block_data(struct device *dev, u8 *xfer_buf, u16 addr,
		u8 length, const void *values);
int cyttsp_i2c_read_block_data(struct device *dev, u8 *xfer_buf, u16 addr,
		u8 length, void *values);
extern const struct dev_pm_ops cyttsp4_pm_ops;

#endif /* _LINUX_CYTTSP4_CORE_H */