114 lines
3.7 KiB
C
114 lines
3.7 KiB
C
// SPDX-License-Identifier: GPL-2.0-or-later
|
|
|
|
#ifndef CTS_TEST_H
|
|
#define CTS_TEST_H
|
|
|
|
struct cts_device;
|
|
|
|
#define CTS_TEST_FLAG_RESET_BEFORE_TEST (1u << 0)
|
|
#define CTS_TEST_FLAG_RESET_AFTER_TEST (1u << 1)
|
|
#define CTS_TEST_FLAG_DISPLAY_ON (1u << 2)
|
|
#define CTS_TEST_FLAG_DISABLE_GAS (1u << 3)
|
|
#define CTS_TEST_FLAG_DISABLE_LINESHIFT (1u << 4)
|
|
|
|
#define CTS_TEST_FLAG_VALIDATE_DATA (1u << 8)
|
|
#define CTS_TEST_FLAG_VALIDATE_PER_NODE (1u << 9)
|
|
#define CTS_TEST_FLAG_VALIDATE_MIN (1u << 10)
|
|
#define CTS_TEST_FLAG_VALIDATE_MAX (1u << 11)
|
|
#define CTS_TEST_FLAG_VALIDATE_SKIP_INVALID_NODE (1u << 12)
|
|
#define CTS_TEST_FLAG_STOP_TEST_IF_VALIDATE_FAILED (1u << 13)
|
|
|
|
#define CTS_TEST_FLAG_DUMP_TEST_DATA_TO_CONSOLE (1u << 16)
|
|
#define CTS_TEST_FLAG_DUMP_TEST_DATA_TO_USERSPACE (1u << 17)
|
|
#define CTS_TEST_FLAG_DUMP_TEST_DATA_TO_FILE (1u << 18)
|
|
#define CTS_TEST_FLAG_DUMP_TEST_DATA_TO_FILE_APPEND (1u << 19)
|
|
#define CTS_TEST_FLAG_DUMP_TEST_DATA_TO_FILE_CSV (1u << 20)
|
|
|
|
#define CTS_TEST_FLAG_DRIVER_LOG_TO_USERSPACE (1u << 24)
|
|
#define CTS_TEST_FLAG_DRIVER_LOG_TO_FILE (1u << 25)
|
|
#define CTS_TEST_FLAG_DRIVER_LOG_TO_FILE_APPEND (1u << 26)
|
|
|
|
#define MAKE_INVALID_NODE(r, c) (((c) << 16) | (r))
|
|
#define INVALID_NODE_ROW(node) ((u16)(node))
|
|
#define INVALID_NODE_COL(node) ((u16)((node) >> 16))
|
|
|
|
enum cts_test_item {
|
|
CTS_TEST_RESET_PIN = 1,
|
|
CTS_TEST_INT_PIN,
|
|
CTS_TEST_RAWDATA,
|
|
CTS_TEST_NOISE,
|
|
CTS_TEST_OPEN,
|
|
CTS_TEST_SHORT,
|
|
CTS_TEST_COMPENSATE_CAP,
|
|
CTS_TEST_STYLUS_RAWDATA,
|
|
CTS_TEST_STYLUS_NOISE,
|
|
};
|
|
|
|
struct cts_test_param {
|
|
int test_item;
|
|
|
|
__u32 flags;
|
|
|
|
__u32 num_invalid_node;
|
|
__u32 *invalid_nodes;
|
|
int *min;
|
|
int *max;
|
|
|
|
int *test_result;
|
|
s64 *elapsed_time_ms;
|
|
|
|
void *test_data_buf;
|
|
int test_data_buf_size;
|
|
int *test_data_wr_size;
|
|
const char *test_data_filepath;
|
|
|
|
int driver_log_level;
|
|
char *driver_log_buf;
|
|
int driver_log_buf_size;
|
|
int *driver_log_wr_size;
|
|
const char *driver_log_filepath;
|
|
|
|
void *priv_param;
|
|
int priv_param_size;
|
|
};
|
|
|
|
struct cts_rawdata_test_priv_param {
|
|
__u32 frames;
|
|
//__u8 work_mode;
|
|
};
|
|
|
|
struct cts_noise_test_priv_param {
|
|
__u32 frames;
|
|
//__u8 work_mode;
|
|
};
|
|
|
|
extern const char *cts_test_item_str(int test_item);
|
|
extern int cts_write_file(struct file *filp, const void *data, size_t size);
|
|
extern int cts_mkdir_for_file(const char *filepath, umode_t mode);
|
|
|
|
extern int cts_start_dump_test_data_to_file(const char *filepath,
|
|
bool append_to_file);
|
|
extern void cts_stop_dump_test_data_to_file(void);
|
|
|
|
extern int cts_test_reset_pin(struct cts_device *cts_dev,
|
|
struct cts_test_param *param);
|
|
extern int cts_test_int_pin(struct cts_device *cts_dev,
|
|
struct cts_test_param *param);
|
|
extern int cts_test_rawdata(struct cts_device *cts_dev,
|
|
struct cts_test_param *param);
|
|
extern int cts_test_noise(struct cts_device *cts_dev,
|
|
struct cts_test_param *param);
|
|
extern int cts_test_open(struct cts_device *cts_dev,
|
|
struct cts_test_param *param);
|
|
extern int cts_test_short(struct cts_device *cts_dev,
|
|
struct cts_test_param *param);
|
|
extern int cts_test_compensate_cap(struct cts_device *cts_dev,
|
|
struct cts_test_param *param);
|
|
extern int cts_test_stylus_rawdata(struct cts_device *cts_dev,
|
|
struct cts_test_param *param);
|
|
extern int cts_test_stylus_noise(struct cts_device *cts_dev,
|
|
struct cts_test_param *param);
|
|
extern int cts_test_stylus_mnt_rawdata(struct cts_device *cts_dev,
|
|
struct cts_test_param *param);
|
|
#endif /* CTS_TEST_H */
|