linux/drivers/input/mouse/cypress_ps2.h

/* SPDX-License-Identifier: GPL-2.0 */
#ifndef _CYPRESS_PS2_H
#define _CYPRESS_PS2_H

#include "psmouse.h"

#define CMD_BITS_MASK
#define COMPOSIT(x, s)

#define ENCODE_CMD(aa, bb, cc, dd)
#define CYTP_CMD_ABS_NO_PRESSURE_MODE
#define CYTP_CMD_ABS_WITH_PRESSURE_MODE
#define CYTP_CMD_SMBUS_MODE
#define CYTP_CMD_STANDARD_MODE
#define CYTP_CMD_CYPRESS_REL_MODE
#define CYTP_CMD_READ_CYPRESS_ID
#define CYTP_CMD_READ_TP_METRICS
#define CYTP_CMD_SET_HSCROLL_WIDTH(w)
#define CYTP_CMD_SET_HSCROLL_MASK
#define CYTP_CMD_SET_VSCROLL_WIDTH(w)
#define CYTP_CMD_SET_VSCROLL_MASK
#define CYTP_CMD_SET_PALM_GEOMETRY(e)
#define CYTP_CMD_PALM_GEMMETRY_MASK
#define CYTP_CMD_SET_PALM_SENSITIVITY(s)
#define CYTP_CMD_PALM_SENSITIVITY_MASK
#define CYTP_CMD_SET_MOUSE_SENSITIVITY(s)
#define CYTP_CMD_MOUSE_SENSITIVITY_MASK
#define CYTP_CMD_REQUEST_BASELINE_STATUS
#define CYTP_CMD_REQUEST_RECALIBRATION

#define DECODE_CMD_AA(x)
#define DECODE_CMD_BB(x)
#define DECODE_CMD_CC(x)
#define DECODE_CMD_DD(x)

/* Cypress trackpad working mode. */
#define CYTP_BIT_ABS_PRESSURE
#define CYTP_BIT_ABS_NO_PRESSURE
#define CYTP_BIT_CYPRESS_REL
#define CYTP_BIT_STANDARD_REL
#define CYTP_BIT_REL_MASK
#define CYTP_BIT_ABS_MASK
#define CYTP_BIT_ABS_REL_MASK

#define CYTP_BIT_HIGH_RATE
/*
 * report mode bit is set, firmware working in Remote Mode.
 * report mode bit is cleared, firmware working in Stream Mode.
 */
#define CYTP_BIT_REPORT_MODE

/* scrolling width values for set HSCROLL and VSCROLL width command. */
#define SCROLL_WIDTH_NARROW
#define SCROLL_WIDTH_NORMAL
#define SCROLL_WIDTH_WIDE

#define PALM_GEOMETRY_ENABLE
#define PALM_GEOMETRY_DISABLE

#define TP_METRICS_MASK
#define FW_VERSION_MASX
#define FW_VER_HIGH_MASK
#define FW_VER_LOW_MASK

/* Times to retry a ps2_command and millisecond delay between tries. */
#define CYTP_PS2_CMD_TRIES
#define CYTP_PS2_CMD_DELAY

/* time out for PS/2 command only in milliseconds. */
#define CYTP_CMD_TIMEOUT
#define CYTP_DATA_TIMEOUT

#define CYTP_EXT_CMD

#define CYTP_105001_WIDTH
#define CYTP_105001_HIGH
#define CYTP_DEFAULT_WIDTH
#define CYTP_DEFAULT_HIGH

#define CYTP_ABS_MAX_X
#define CYTP_ABS_MAX_Y
#define CYTP_MAX_PRESSURE
#define CYTP_MIN_PRESSURE

/* header byte bits of relative package. */
#define BTN_LEFT_BIT
#define BTN_RIGHT_BIT
#define BTN_MIDDLE_BIT
#define REL_X_SIGN_BIT
#define REL_Y_SIGN_BIT

/* header byte bits of absolute package. */
#define ABS_VSCROLL_BIT
#define ABS_HSCROLL_BIT
#define ABS_MULTIFINGER_TAP
#define ABS_EDGE_MOTION_MASK

#define DFLT_RESP_BITS_VALID
#define DFLT_RESP_SMBUS_BIT
#define DFLT_SMBUS_MODE
#define DFLT_PS2_MODE
#define DFLT_RESP_BIT_MODE
#define DFLT_RESP_REMOTE_MODE
#define DFLT_RESP_STREAM_MODE
#define DFLT_RESP_BIT_REPORTING
#define DFLT_RESP_BIT_SCALING

#define TP_METRICS_BIT_PALM
#define TP_METRICS_BIT_STUBBORN
#define TP_METRICS_BIT_2F_JITTER
#define TP_METRICS_BIT_1F_JITTER
#define TP_METRICS_BIT_APA
#define TP_METRICS_BIT_MTG
#define TP_METRICS_BIT_ABS_PKT_FORMAT_SET
#define TP_METRICS_BIT_2F_SPIKE
#define TP_METRICS_BIT_1F_SPIKE

/* bits of first byte response of E9h-Status Request command. */
#define RESP_BTN_RIGHT_BIT
#define RESP_BTN_MIDDLE_BIT
#define RESP_BTN_LEFT_BIT
#define RESP_SCALING_BIT
#define RESP_ENABLE_BIT
#define RESP_REMOTE_BIT
#define RESP_SMBUS_BIT

#define CYTP_MAX_MT_SLOTS

struct cytp_contact {};

/* The structure of Cypress Trackpad event data. */
struct cytp_report_data {};

/* The structure of Cypress Trackpad device private data. */
struct cytp_data {};


int cypress_detect(struct psmouse *psmouse, bool set_properties);
int cypress_init(struct psmouse *psmouse);

#endif  /* _CYPRESS_PS2_H */