linux/drivers/input/mouse/elan_i2c.h

/* SPDX-License-Identifier: GPL-2.0-only */
/*
 * Elan I2C/SMBus Touchpad driver
 *
 * Copyright (c) 2013 ELAN Microelectronics Corp.
 *
 * Author: 林政維 (Duson Lin) <[email protected]>
 *
 * Based on cyapa driver:
 * copyright (c) 2011-2012 Cypress Semiconductor, Inc.
 * copyright (c) 2011-2012 Google, Inc.
 *
 * Trademarks are the property of their respective owners.
 */

#ifndef _ELAN_I2C_H
#define _ELAN_I2C_H

#include <linux/types.h>

#define ETP_ENABLE_ABS
#define ETP_ENABLE_CALIBRATE
#define ETP_DISABLE_CALIBRATE
#define ETP_DISABLE_POWER
#define ETP_PRESSURE_OFFSET

#define ETP_CALIBRATE_MAX_LEN

#define ETP_FEATURE_REPORT_MK

#define ETP_REPORT_ID
#define ETP_TP_REPORT_ID
#define ETP_TP_REPORT_ID2
#define ETP_REPORT_ID2

#define ETP_REPORT_ID_OFFSET
#define ETP_TOUCH_INFO_OFFSET
#define ETP_FINGER_DATA_OFFSET
#define ETP_HOVER_INFO_OFFSET
#define ETP_MK_DATA_OFFSET

#define ETP_MAX_REPORT_LEN

#define ETP_MAX_FINGERS
#define ETP_FINGER_DATA_LEN

/* IAP Firmware handling */
#define ETP_PRODUCT_ID_FORMAT_STRING
#define ETP_FW_NAME
#define ETP_IAP_START_ADDR
#define ETP_FW_IAP_PAGE_ERR
#define ETP_FW_IAP_INTF_ERR
#define ETP_FW_PAGE_SIZE
#define ETP_FW_PAGE_SIZE_128
#define ETP_FW_PAGE_SIZE_512
#define ETP_FW_SIGNATURE_SIZE

#define ETP_PRODUCT_ID_WHITEBOX
#define ETP_PRODUCT_ID_VOXEL
#define ETP_PRODUCT_ID_DELBIN
#define ETP_PRODUCT_ID_MAGPIE
#define ETP_PRODUCT_ID_BOBBA

struct i2c_client;
struct completion;

enum tp_mode {};

struct elan_transport_ops {};

extern const struct elan_transport_ops elan_smbus_ops, elan_i2c_ops;

#endif /* _ELAN_I2C_H */