[Feature]Upload Modem source code
Change-Id: Id4294f30faced84d3e6fd6d5e61e1111bf287a37
diff --git a/mcu/driver/peripheral/inc/dcl_hts.h b/mcu/driver/peripheral/inc/dcl_hts.h
new file mode 100644
index 0000000..ab84c4f
--- /dev/null
+++ b/mcu/driver/peripheral/inc/dcl_hts.h
@@ -0,0 +1,331 @@
+#ifndef DCL_HTS_H_
+#define DCL_HTS_H_
+
+#include "dcl.h"
+
+#define DCL_HTS_MAGIC_NUM 0x40000000
+
+typedef DCL_UINT32 HTS_DEV;
+typedef enum
+{
+ TOUCH_PANEL_R=1
+}HTS_DEV_T;
+
+typedef DCL_UINT32 HTS_EVENT;
+typedef enum
+{
+ DCL_EVENT_HTS_PEN_DOWN=1,
+ DCL_EVENT_HTS_PEN_UP,
+ DCL_EVENT_HTS_MAX
+}HTS_EVENT_T;
+
+//touch panel driver command of hardware layer.
+typedef DCL_UINT32 HTS_CMD;
+
+typedef enum
+{
+ HTS_CMD_GET_TP_ADC,
+ HTS_CMD_TS_READ_ADC,
+ HTS_CMD_GET_TP_LEVEL,
+ HTS_CMD_GET_TP_LEVEL_PRESSURE,
+ HTS_CMD_TP_UPDATENOTIFY,
+ HTS_CMD_GET_TP_PRESSURE,
+ HTS_CMD_TP_PRESSURE_VALUE,
+ HTS_CMD_SET_CONFIG,
+ HTS_CMD_GET_TP_POINT,
+ HTS_CMD_GET_TP_POINT_NUM,
+ HTS_CMD_GET_TP_TYPE,
+ HTS_CMD_SET_CALI_VALUE,
+ HTS_CMD_GET_CALI_VALUE,
+ HTS_CMD_SET_DEBOUNCE_TIME,
+ HTS_CMD_GET_DEBOUNCE_TIME,
+ HTS_CMD_SET_SPL_NUM,
+ HTS_CMD_GET_SPL_NUM
+}HTS_CMD_T;
+
+//HTS_CMD_SET_DEBOUNCE_TIME
+typedef struct
+{
+ DCL_UINT32 u4DebounceTime;
+}HTS_CTRL_DT_T;
+
+
+//HTS_CMD_TP_SET_PARAMETERS
+typedef struct
+{
+ DCL_UINT32 u4SampleResolution;
+ DCL_UINT32 u4ModeSelection;
+} HTS_CTRL_CONFIG_T;
+typedef enum {
+ //Not use the same values as ts_hw.h
+ //Otherwise it easy to cause bug if change ts_hw.h, but forget to change these
+ DCL_TS_CMD_DIFFERENTIAL,
+ DCL_TS_CMD_SINGLE_END,
+ DCL_TS_CMD_MODE_8BIT,
+ DCL_TS_CMD_MODE_10BIT,
+ DCL_TS_CMD_MODE_12BIT
+} HTS_PARAMETER_T;
+
+//HTS_CMD_TP_LEVEL,
+typedef struct
+{
+ DCL_BOOL fgIsUP;
+ DCL_UINT32 pressure_value;
+} HTS_CTRL_TL_T;
+
+
+//HTS_CMD_TP_READ_ADC
+typedef struct
+{
+ DCL_INT16 *pi2x;
+ DCL_INT16 *pi2y;
+} HTS_CTRL_TPRA_T;
+
+//HTS_CMD_TS_READ_ADC
+typedef enum {
+ TS_COORD_HTS_ADDR_Y,
+ TS_COORD_HTS_ADDR_Z1,
+ TS_COORD_HTS_ADDR_Z2,
+ TS_COORD_HTS_ADDR_X
+} TS_COORD_ENUM;
+typedef struct
+{
+ DCL_INT16 i2AdcValue;
+ TS_COORD_ENUM uCoord;
+} HTS_CTRL_TSRA_T;
+
+//HTS_CMD_TP_PRESSURE
+typedef struct
+{
+ DCL_BOOL fgIsPressed;
+} HTS_CTRL_TPP_T;
+
+//HTS_CMD_TP_PRESSURE_VALUE
+typedef struct
+{
+ DCL_INT32 fgPressureValue;
+} HTS_CTRL_TPPV_T;
+//HTS_CMD_READ_ADC
+typedef struct
+{
+ DCL_INT16 *pi2x;
+ DCL_INT16 *pi2y;
+} HTS_CTRL_RA_T;
+
+//HTS_CMD_ADC_TO_COORDINATE
+typedef struct
+{
+ DCL_BOOL fgValid;
+ DCL_INT16 *pi2x;
+ DCL_INT16 *pi2y;
+} HTS_CTRL_ATC_T;
+
+//HTS_CMD_GET_SPL_NUM
+typedef struct
+{
+ DCL_UINT32 u4SPLNum;
+}HTS_CTRL_SN_T;
+
+typedef union
+{
+ HTS_CTRL_TL_T rTSCtrlTL;
+ HTS_CTRL_TPRA_T rTSCtrlTPRA;
+ HTS_CTRL_TSRA_T rTSCtrlTSRA;
+ HTS_CTRL_TPP_T rTSCtrlTPP;
+ HTS_CTRL_TPPV_T rTSCtrlTPPV;
+ HTS_CTRL_RA_T rTSCtrlRA;
+ HTS_CTRL_ATC_T rTSCtrlATC;
+ HTS_CTRL_CONFIG_T rTSCtrlConfig;
+ HTS_CTRL_DT_T rTSCtrlDebouncetime;
+ HTS_CTRL_SN_T rTSCtrlSPLNum;
+}HTS_CTRL_DATA_T;
+
+
+/*************************************************************************
+* FUNCTION
+* DclHTS_Close
+*
+* DESCRIPTION
+* This function is to close the HW TS module.
+*
+* CALLS
+* It is called to close HW TS module
+*
+* PARAMETERS
+* None
+*
+* RETURNS
+* DCL_STATUS_OK
+* STATUS_INVALID_ARGUMENT: invalid arguments
+*
+* GLOBALS AFFECTED
+* external_global
+*************************************************************************/
+extern DCL_STATUS DclHTS_Close(DCL_HANDLE handle);
+/*************************************************************************
+* FUNCTION
+* DclHTS_Configure
+*
+* DESCRIPTION
+* This function is to configure the HW TS module.
+*
+* CALLS
+* It is called to configure of the HW TS module.
+*
+* PARAMETERS
+* handle - a valid handle return by DclHTS_Open()
+* configure - a structure which include the TS configuration.
+*
+* RETURNS
+* STATUS_OK: command is executed successfully.
+* STATUS_FAIL: not open yet.
+* STATUS_INVALID_ARGUMENT: not a valid handle.
+*
+* GLOBALS AFFECTED
+* external_global
+*************************************************************************/
+//extern DCL_STATUS DclHTS_Configure(DCL_HANDLE handle, DCL_CONFIGURE_T *configure);
+/*************************************************************************
+* FUNCTION
+* DclHTS_Control
+*
+* DESCRIPTION
+* This function is to send command to control the TS module.
+*
+* CALLS
+* It is called to send command to control the TS module.
+*
+* PARAMETERS
+* handle - a valid handle return by DclHTS_Open()
+* cmd - a control command for TS module
+* 1. HTS_CMD_TP_LEVEL :to detect whether TP is touched or NOT
+* 2. HTS_CMD_TP_UPDATE_NOTIFY :to set a event to TP task to indicate we are at UP state
+* 3. HTS_CMD_TP_READ_ADC :to read x and y adc value from AUXADC HW. (with touch_panel_filter_thresold which avoid detect error)
+* 4. HTS_CMD_TP_PRESSURE :to check is touch panel pressed.
+* 5. HTS_CMD_TS_DRV_INIT :to initial HW driver and switch on work around funciton
+* 6. HTS_CMD_READ_ADC :to read adc from touch panel module. (with Landscape support, compile option: __PORTRAIT_LCM_SIMULATE_LANDSCAPE_LCM__)
+* 7. HTS_CMD_TS_READ_ADC :to read x or y adc value from AUXADC HW.
+*
+* data - a union of DCL_CTRL_DATA_T
+* rTSCtrlTL; //HTS_CTRL_TL_T
+* rTSCtrlTPRA; //HTS_CTRL_TPRA_T
+* rTSCtrlTPP; //HTS_CTRL_TPP_T
+* rTSCtrlRA; //HTS_CTRL_RA_T
+* rTSCtrlTSRA //HTS_CMD_TS_READ_ADC
+*
+* RETURNS
+* STATUS_OK: command is executed successfully.
+* STATUS_FAIL: command is failed.
+* STATUS_INVALID_CMD: It's a invalid command.
+* STATUS_INVALID_ARGUMENT: not a valid handle.
+*
+* GLOBALS AFFECTED
+* external_global
+*************************************************************************/
+extern DCL_STATUS DclHTS_Control(DCL_HANDLE handle, HTS_CMD cmd, HTS_CTRL_DATA_T *data);
+/*************************************************************************
+* FUNCTION
+* DclHTS_Initialize
+*
+* DESCRIPTION
+* This function is to initialize HW TS module
+*
+* CALLS
+* It is called to initialize HW TS module
+*
+* PARAMETERS
+* None
+*
+* RETURNS
+* DCL_STATUS_OK
+*
+* GLOBALS AFFECTED
+* external_global
+*************************************************************************/
+extern DCL_STATUS DclHTS_Initialize(void);
+/*************************************************************************
+* FUNCTION
+* DclHTS_Open
+*
+* DESCRIPTION
+* This function is to open the TS HW module and return a handle
+*
+* CALLS
+* It is called to open HW TS module
+*
+* PARAMETERS
+* dev - valid for DCL_TS
+* flags - no sepcial flags is needed. Please use FLAGS_NONE
+*
+* RETURNS
+* DCL_HANDLE_INVALID - Open failed.
+* Other value - a valid handle
+*
+* GLOBALS AFFECTED
+* external_global
+*************************************************************************/
+extern DCL_HANDLE DclHTS_Open(HTS_DEV dev, DCL_FLAGS flags);
+/*************************************************************************
+* FUNCTION
+* DclHTS_ReadData
+*
+* DESCRIPTION
+* This function unsupported.
+*
+* CALLS
+* It is unsupported.
+*
+* PARAMETERS
+* handle
+* buff
+* buf_len
+* options
+*
+* RETURNS
+* STATUS_UNSUPPORTED: command unsupported
+*
+* GLOBALS AFFECTED
+* external_global
+*************************************************************************/
+extern DCL_STATUS DclHTS_ReadData(DCL_HANDLE handle, DCL_BUFF *buff, DCL_BUFF_LEN *buf_len, DCL_OPTIONS options);
+/*************************************************************************
+* FUNCTION
+* DclHTS_RegisterCallback
+*
+* DESCRIPTION
+* This function is to register HW TS call back funciton.
+*
+* CALLS
+* It is called to register HW TS call back funciton.
+*
+* PARAMETERS
+* event - a valid event indicate register which event's call back funciton
+* 1. DCL_EVENT_HTS_PEN_DOWN,
+* 2. DCL_EVENT_HTS_PEN_UP
+* callback - a call back funciton
+*
+* RETURNS
+* STATUS_OK: register is executed successfully.
+* STATUS_FAIL: register is failed.
+* STATUS_INVALID_CMD: It's a invalid command.
+*
+* GLOBALS AFFECTED
+* external_global
+*************************************************************************/
+extern DCL_STATUS DclHTS_RegisterCallback(DCL_HANDLE handle, DCL_EVENT event, PFN_DCL_CALLBACK callback);
+
+
+
+
+
+
+#endif
+
+
+
+
+
+
+
+
+