/*
 *
 * Copyright (C) 2012-2019, Samsung Electronics Co., Ltd.
 *
 * STMicroelectronix FTS Touch protocol header file
 */

#ifndef _FTS_DRIVER_H_
#define _FTS_DRIVER_H_

/******************************************************************************
 * INCLUDE
 ******************************************************************************/

#include <tee_internal_api.h>
#include "tuiHal.h"
#include "touch_queue.h"

/******************************************************************************
 * LOCAL DEFINITIONS
 ******************************************************************************/

/******************************************************************************
 * EXPORTED TYPES
 ******************************************************************************/
struct fts_version {
    uint16_t fw_version_of_ic;
    uint16_t config_version_of_ic;
    uint32_t fw_main_version_of_ic;
};

struct fts_ts_info {
    unsigned int max_x;
    unsigned int max_y;
    unsigned int width;
    unsigned int height;
    struct fts_version version;
};

/******************************************************************************
 * EXPORTED DATA
 ******************************************************************************/

extern struct fts_ts_info fts_data;

/******************************************************************************
 * EXPORTED FUNCTIONS
 ******************************************************************************/

int fts_driver_init(void);
int fts_driver_release(void);
int fts_irq_process(void);

#endif /* _FTS_DRIVER_H_ */
