[Feature][Modem]Update MTK MODEM V1.6 baseline version: MOLY.NR15.R3.MD700.IVT.MP1MR3.MP.V1.6
MTK modem version: MT2735_IVT_MOLY.NR15.R3.MD700.IVT.MP1MR3.MP.V1.6.tar.gz
RF modem version: NA
Change-Id: I45a4c2752fa9d1a618beacd5d40737fb39ab64fb
diff --git a/mcu/interface/driver/peripheral/dcl.h b/mcu/interface/driver/peripheral/dcl.h
new file mode 100644
index 0000000..3ec8dfd
--- /dev/null
+++ b/mcu/interface/driver/peripheral/dcl.h
@@ -0,0 +1,1395 @@
+/*****************************************************************************
+* Copyright Statement:
+* --------------------
+* This software is protected by Copyright and the information contained
+* herein is confidential. The software may not be copied and the information
+* contained herein may not be used or disclosed except with the written
+* permission of MediaTek Inc. (C) 2001
+*
+*****************************************************************************/
+
+/*****************************************************************************
+ *
+ * Filename:
+ * ---------
+ * dcl.h
+ *
+ * Project:
+ * --------
+ * Maui
+ *
+ * Description:
+ * ------------
+ * Header file of DCL (Driver Common Layer).
+ *
+ * Author:
+ * -------
+ * -------
+ *
+ *============================================================================
+ * HISTORY
+ * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
+ *------------------------------------------------------------------------------
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ *------------------------------------------------------------------------------
+ * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
+ *============================================================================
+ ****************************************************************************/
+
+#ifndef __DCL_H__
+#define __DCL_H__
+
+
+#if !defined(GEN_FOR_PC) && !defined(NVRAM_AUTO_GEN)
+#ifdef __CATEGORY_MODEM__
+//#error drv_features.h include by modem detection
+#endif
+#endif //!defined(GEN_FOR_PC) && !defined(NVRAM_AUTO_GEN)
+
+
+
+
+/* For solve build error after defined __CATEGORY_MODEM__ */
+/*
+#ifdef __CATEGORY_MODEM__ // doesn't need to include these module
+//#define NONE_MODEM_BMT
+//#define NONE_MODEM_RTC
+#define NONE_MODEM_I2C
+#define NONE_MODEM_AUX
+//#define NONE_MODEM_KBDH
+//#define NONE_MODEM_KBD
+#define NONE_MODEM_PWM
+#define NONE_MODEM_ALERTER
+#define NONE_MODEM_TS
+#define NONE_MODEM_SD
+#define NONE_MODEM_USBD
+#define NONE_MODEM_OTG
+#define NONE_MODEM_IRDA
+//#define NONE_MODEM_PW
+#define NONE_MODEM_PXS
+#endif
+*/
+
+//#define NONE_MODEM_IDC
+
+//ZTE73
+//#ifdef __MODEM_COMPONENT__ // doesn't need to include these module in modem ip
+//#define NONE_MODEM_BMT // l4misc
+//#define NONE_MODEM_RTC // l4misc
+//#define NONE_MODEM_KBDH // l4_classb
+//#define NONE_MODEM_KBD // l4_classb
+//#define NONE_MODEM_PW // l4_classb
+//#endif
+
+//NAMI76
+//#ifdef __MODEM_PRODUCT__ // doesn't need to include these module in modem product
+//#define NONE_MODEM_BMT // l4misc
+//#define NONE_MODEM_RTC // l4misc
+//#define NONE_MODEM_KBDH // l4misc l4_calssb
+//#define NONE_MODEM_KBD // l4misc l4_classb
+//#define NONE_MODEM_PW // l4misc peripheral l4_classb
+//#endif
+
+
+
+typedef char DCL_CHAR;
+typedef signed char DCL_INT8;
+typedef signed short DCL_INT16;
+typedef signed long DCL_INT32;
+
+typedef unsigned char DCL_UCHAR;
+typedef unsigned char DCL_UINT8;
+typedef unsigned short DCL_UINT16;
+typedef unsigned long DCL_UINT32;
+
+#if !defined(GEN_FOR_PC) && defined(_MSC_VER)
+ typedef signed __int64 DCL_INT64;
+typedef unsigned __int64 DCL_UINT64;
+#else
+ typedef unsigned long long DCL_UINT64;
+ typedef signed long long DCL_INT64;
+#endif
+
+typedef double DCL_DOUBLE;
+typedef int DCL_INT;
+
+//typedef int DCL_BOOL;
+typedef enum
+{
+ DCL_FALSE = 0,
+ DCL_TRUE
+}DCL_BOOLEAN;
+
+#define DCL_BOOL DCL_BOOLEAN
+
+#define DCL_DEFINITION_STRUCT
+
+#ifndef NONE_MODEM_GPT
+#include "dcl_gpt.h"
+#endif
+#ifndef NONE_MODEM_GPIO
+#include "dcl_gpio.h"
+#endif
+#ifndef NONE_MODEM_UART
+#include "dcl_uart.h"
+#endif
+#ifndef NONE_MODEM_WDT
+#include "dcl_wdt.h"
+#endif
+#ifndef NONE_MODEM_ADC
+#include "dcl_adc.h"
+#endif
+#ifndef NONE_MODEM_BMT
+#include "dcl_bmt.h"
+#endif
+#ifndef NONE_MODEM_PFC
+#include "dcl_pfc.h"
+#endif
+#ifndef NONE_MODEM_RTC
+#include "dcl_rtc.h"
+#endif
+#ifndef NONE_MODEM_I2C
+#include "dcl_i2c.h"
+#endif
+#ifndef NONE_MODEM_AUX
+#include "dcl_aux.h"
+#endif
+#if !defined(NONE_MODEM_PWM) && !defined(NONE_MODEM_ALERTER)
+#include "dcl_pwm.h"
+#endif
+#ifndef NONE_MODEM_KBDH
+#include "DclH_kbd.h"
+#endif
+#ifndef NONE_MODEM_KBD
+#include "DclS_kbd.h"
+#endif
+#ifndef NONE_MODEM_STS
+#include "dcl_sts.h"
+#endif
+#ifndef NONE_MODEM_MSDC
+#include "dcl_msdc.h"
+#endif
+#ifndef NONE_MODEM_USB
+#include "dcl_usb_drv.h"
+#endif
+#ifndef NONE_MODEM_USBD
+#include "dcl_usb_hcd.h"
+#endif
+#ifndef NONE_MODEM_OTG
+#include "dcl_otg_drv.h"
+#endif
+#ifndef NONE_MODEM_IRDA
+#include "dcl_irda.h"
+#endif
+#ifndef NONE_MODEM_SIM
+#include "dcl_sim.h"
+#endif
+#ifndef NONE_MODEM_PMU
+#include "dcl_pmu.h"
+#endif
+#ifndef NONE_MODEM_PW
+#include "dcl_pw.h"
+#endif
+#ifndef NONE_MODEM_CHR_USB_DET
+#include "dcl_chr_det.h"
+#endif
+#ifndef NONE_MODEM_SPMI
+#include "dcl_spmi.h"
+#endif
+#ifndef NONE_MODEM_PXS
+#include "dcl_pxs.h"
+#endif
+#ifndef NONE_MODEM_SIM_GPIO
+#include "dcl_sim_gpio.h"
+#endif
+#ifndef NONE_MODEM_F32K_CLK
+#include "dcl_f32k_clk.h"
+#endif
+#ifndef NONE_MODEM_IDC
+#include "dcl_idc.h"
+#endif
+#ifndef NONE_MTAD
+#include "dcl_mtad.h"
+#endif
+
+
+/*******************************************************************************
+ * DCL_STATUS
+ *******************************************************************************/
+#if defined(STATUS_OK)
+#undef STATUS_OK
+#endif
+
+#if defined(STATUS_FAIL)
+#undef STATUS_FAIL
+#endif
+
+typedef DCL_INT32 DCL_STATUS;
+typedef enum
+{
+ STATUS_OK = 0,
+ STATUS_FAIL = -1,
+ STATUS_INVALID_CMD = -2,
+ STATUS_UNSUPPORTED = -3,
+ STATUS_NOT_OPENED = -4,
+ STATUS_INVALID_EVENT = -5,
+ STATUS_INVALID_DCL_HANDLE = -6,
+ STATUS_INVALID_CTRL_DATA = -7,
+ STATUS_INVALID_CONFIGURATION = -8,
+ STATUS_INVALID_ARGUMENT = -9,
+ STATUS_ERROR_TIMEOUT = -10,
+ STATUS_ERROR_CRCERROR = -11,
+ STATUS_ERROR_READONLY = -12,
+ STATUS_ERROR_WRONG_STATE = -13,
+ STATUS_INVALID_DEVICE = -14,
+ STATUS_ALREADY_OPENED = -15,
+ STATUS_SET_VFIFO_FAIL = -16,
+ STATUS_INVALID_OPERATION = -17,
+ STATUS_DEVICE_NOT_EXIST = -18,
+
+ //*/ I2C DCL added /*//
+ STATUS_DEVICE_NOT_SUPPORT_DMA = -19,
+ STATUS_DEVICE_IS_BUSY = -20,
+ STATUS_ACKERR = -21,
+ STATUS_HS_NACKERR = -22,
+
+ STATUS_BUFFER_EMPTY = 1
+} DCL_STATUS_T;
+
+/*******************************************************************************
+ * DCL_DEV
+ *******************************************************************************/
+typedef DCL_UINT16 DCL_DEV;
+typedef enum
+{
+#ifndef NONE_MODEM_UART
+ DCL_UART_GROUP_START = 0,
+ DCL_UART_DEV // Marco defined in dcl_uart.h
+#endif
+#ifndef NONE_MODEM_GPIO
+ DCL_GPIO_GROUP_START = 0x100,
+ DCL_GPIO,
+ DCL_GPO,
+ DCL_GPIO_CLK,
+#endif
+#ifndef NONE_MODEM_GPT
+ DCL_GPT_GROUP_START = 0x200,
+ DCL_GPT_CB,
+ DCL_GPT_CB2,
+ DCL_GPT_BusyWait,
+ DCL_GPT_FreeRUN3,
+ DCL_GPT_FreeRUN4,
+ DCL_GPT_DEBUG,
+ DCL_XGPT,
+ DCL_GPT_CB_MS, /* dongming add for 1ms GPT */
+ DCL_LITEGPT_CB_ETMR, /* way add for ETMR */
+ DCL_GPT_CB_LOGGING, /* way add for LOGGING 1ms GPT */
+ DCL_GPT_C2K_OS, /* way add for C2K 1us OneShot timer */
+ DCL_GPT_C2K_AR, /* way add for C2K 1us Auto Repeat timer */
+ DCL_GPT_DSP, /* way add for DSP 1us OneShot timer */
+ DCL_GPT_DSCC_0, /* Alva add for DSCC 1us OneShot timer */
+ DCL_GPT_DSCC_1, /* Alva add for DSCC 1us OneShot timer */
+ DCL_GPT_DPCOPRO,
+#endif
+#ifndef NONE_MODEM_PWM
+ DCL_PWM_GROUP_START = 0x300,
+ DCL_PWM1,
+ DCL_PWM2,
+ DCL_PWM3,
+ DCL_PWM4,
+ DCL_PWM5,
+ DCL_PWM6,
+#endif
+ DCL_PWM_GROUP_END = 0x400,
+ DCL_REST_GROUP_START = DCL_PWM_GROUP_END,
+#ifndef NONE_MODEM_BMT
+ DCL_BMT_GROUP_START = 0x500,
+ DCL_BMT,
+#endif
+#ifndef NONE_MODEM_PFC
+ DCL_PFC_GROUP_START = 0x600,
+ DCL_PFC,
+#endif
+#ifndef NONE_MODEM_RTC
+ DCL_RTC_GROUP_START = 0x700,
+ DCL_RTC,
+#endif
+#ifndef NONE_MODEM_ADC
+ DCL_ADC_GROUP_START = 0x800,
+ DCL_ADC,
+#endif
+#ifndef NONE_MODEM_PMU
+ DCL_PMU_GROUP_START = 0x900,
+ DCL_PMU,
+#endif
+#ifndef NONE_MODEM_PW
+ DCL_PW_GROUP_START = 0xA00,
+ DCL_PW,
+#endif
+#ifndef NONE_MODEM_CHR_USB_DET
+ DCL_CHR_USB_DET_GROUP_START = 0xB00,
+ DCL_CHR_USB_DET,
+#endif
+#ifndef NONE_MODEM_ALERTER
+ DCL_ALERTER_GROUP_START = 0xC00,
+ DCL_ALERTER,
+#endif
+#ifndef NONE_MODEM_KBD
+ DCL_KBD_GROUP_START = 0xD00,
+ DCL_KBD,
+#endif
+#ifndef NONE_MODEM_TS
+ DCL_TS_GROUP_START = 0xE00,
+ DCL_TS,
+#endif
+#ifndef NONE_MODEM_I2C
+ DCL_I2C_GROUP_START = 0xF00,
+ DCL_I2C,
+#endif
+/* Moly have no ACCDET*/
+#if 0
+#ifndef NONE_MODEM_AUX
+/* under construction !*/
+/* under construction !*/
+#endif
+#endif
+#ifndef NONE_MODEM_WDT
+ DCL_WDT_GROUP_START = 0x1100,
+ DCL_WDT,
+#endif
+#ifndef NONE_MODEM_IRDA
+ DCL_IRDA_GROUP_START = 0x1200,
+ DCL_IRDA,
+#endif
+#ifndef NONE_MODEM_USB
+ DCL_USB_GROUP_START = 0x1300,
+ DCL_USB,
+#endif
+#ifndef NONE_MODEM_SIM
+ DCL_SIM_GROUP_START = 0x1400,
+ DCL_SIM,
+#endif
+#ifndef NONE_MODEM_SD
+ DCL_SD_GROUP_START = 0x1500,
+ DCL_SD,
+#endif
+#ifndef NONE_MODEM_MS
+ DCL_MS_GROUP_START = 0x1600,
+ DCL_MS,
+#endif
+#ifndef NONE_MODEM_SDIO
+ DCL_SDIO_GROUP_START = 0x1700,
+ DCL_SDIO,
+#endif
+#ifndef NONE_MODEM_ONEW
+ DCL_ONEW_GROUP_START = 0x1800,
+ DCL_ONEW, //1-wire
+#endif
+#ifndef NONE_MODEM_HDQ
+ DCL_HDQ_GROUP_START = 0x1900,
+ DCL_HDQ,
+#endif
+#ifndef NONE_MODEM_PXS
+ DCL_PXS_GROUP_START = 0x1A00,
+ DCL_PXS,
+#endif
+#ifndef NONE_MODEM_SIM_GPIO
+ DCL_SIM_GPIO_GROUP_START = 0x1B00,
+ DCL_SIM_GPIO,
+#endif
+#ifndef NONE_MODEM_SIM_GPI
+ DCL_SIM_GPI_GROUP_START = 0x1C00,
+ DCL_SIM_GPI,
+#endif
+#ifndef NONE_MODEM_F32K_CLK
+ DCL_F32K_CLK_GROUP_START = 0x1D00,
+ DCL_F32K_CLK,
+#endif
+#ifndef NONE_MODEM_IDC
+ DCL_IDC_GROUP_START = 0x1E00,
+ DCL_IDC,
+#endif
+#ifndef NONE_MTAD
+ DCL_MTAD_GROUP_START = 0x1F00,
+ DCL_MTAD,
+#endif
+#ifndef NONE_MODEM_SPMI
+ DCL_SPMI_GROUP_START = 0x2000,
+ DCL_SPMI
+#endif
+
+} DCL_DEV_T;
+
+/*******************************************************************************
+ * DCL_FLAGS
+ *******************************************************************************/
+typedef DCL_UINT32 DCL_FLAGS;
+typedef enum
+{
+ FLAGS_NONE = 0,
+#ifndef NONE_MODEM_PMU
+ /* Below is the command for PMU */
+ PMU_FLAGS_START = 0x100,
+ PMU_FLAGS //Please see dcl_pmu.h
+#endif
+ FLAGS_END
+} DCL_FLAGS_T;
+
+
+/*******************************************************************************
+ * DCL_OPTIONS
+ *******************************************************************************/
+typedef DCL_UINT32 DCL_OPTIONS;
+typedef enum
+{
+ OPTIONS_NONE = 0,
+#ifndef NONE_MODEM_GPT
+ GPT_OPTIONS_START = OPTIONS_NONE,
+ GPT_OPTIONS //Please see dcl_gpt.h
+#endif
+#ifndef NONE_MODEM_GPIO
+ GPIO_OPTIONS_START = 0x100,
+ GPIO_OPTIONS //Please see dcl_gpio.h
+#endif
+#ifndef NONE_MODEM_ADC
+ ADC_OPTIONS_START = 0x200,
+ ADC_OPTIONS //Please see dcl_adc.h
+#endif
+#ifndef NONE_MODEM_WDT
+ WDT_OPTIONS_START = 0x300,
+ WDT_OPTIONS //Please see dcl_wdt.h
+#endif
+#ifndef NONE_MODEM_BMT
+ BMT_OPTIONS_START = 0x400,
+ BMT_OPTIONS // Please see dcl_bmt.h
+#endif
+#ifndef NONE_MODEM_PFC
+ PFC_OPTIONS_START = 0x500,
+ PFC_OPTIONS // Please see dcl_pfc.h
+#endif
+#ifndef NONE_MODEM_RTC
+ RTC_OPTIONS_START = 0x600,
+ RTC_OPTIONS // Please see dcl_rtc.h
+#endif
+#ifndef NONE_MODEM_I2C
+ I2C_OPTIONS_START = 0x700,
+ I2C_OPTIONS //Please see dcl_i2c.h
+#endif
+#if 0
+#ifndef NONE_MODEM_AUX
+/* under construction !*/
+/* under construction !*/
+#endif
+#endif
+#ifndef NONE_MODEM_TS
+ TS_OPTIONS_START = 0x900,
+ TS_OPTIONS//Please see dcl_ts.h
+#endif
+#ifndef NONE_MODEM_USB
+ USB_DRV_OPTIONS_START = 0xA00,
+ USB_DRV_OPTIONS//Please see dcl_usb_drv.h
+#endif
+#ifndef NONE_MODEM_USBD
+ USB_HCD_OPTIONS_START = 0xB00,
+ USB_HCD_OPTIONS//Please see dcl_usb_hcd.h
+#endif
+#ifndef NONE_MODEM_OTG
+ OTG_DRV_OPTIONS_START = 0xC00,
+ OTG_DRV_OPTIONS//Please see dcl_otg_drv.h
+#endif
+#ifndef NONE_MODEM_IRDA
+ IRDA_OPTIONS_START = 0xD00,
+ IRDA_OPTIONS//Please see dcl_irda.h
+#endif
+#ifndef NONE_MODEM_PMU
+ PMU_OPTIONS_START = 0xE00,
+ PMU_OPTIONS // Please see dcl_pmu.h
+#endif
+#ifndef NONE_MODEM_PW
+ PW_OPTIONS_START = 0xF00,
+ PW_OPTIONS // Please see dcl_pw.h
+#endif
+#ifndef NONE_MODEM_CHR_USB_DET
+ CHR_DET_OPTIONS_START = 0x1000,
+ CHR_DET_OPTIONS // Please see dcl_chr_usb_det.h
+#endif
+#ifndef NONE_MODEM_SPMI
+ SPMI_OPTIONS_START = 0x1100,
+ SPMI_OPTIONS // Please see dcl_spmi.h
+#endif
+#ifndef NONE_MODEM_PXS
+ PXS_OPTIONS_START = 0x2000,
+ PXS_OPTIONS // Please see dcl_pxs.h
+#endif
+#ifndef NONE_MODEM_F32K_CLK
+ F32K_CLK_OPTIONS_START = 0x4000,
+ F32K_CLK_OPTIONS // Please see dcl_f32k_clk.h
+#endif
+#ifndef NONE_MODEM_IDC
+ IDC_OPTIONS_START = 0x5000,
+ IDC_OPTIONS // Please see dcl_idc.h
+#endif
+ OPTIONS_MAX
+} DCL_OPTIONS_T;
+
+/*******************************************************************************
+ * DCL_HANDLE
+ *******************************************************************************/
+typedef DCL_INT32 DCL_HANDLE;
+#define DCL_HANDLE_NONE (0)
+#define DCL_HANDLE_INVALID (-1)
+#define DCL_HANDLE_OCCUPIED (-2)
+
+/*******************************************************************************
+ * DCL_BUFF
+ *******************************************************************************/
+typedef DCL_UINT8 DCL_BUFF;
+typedef DCL_UINT32 DCL_BUFF_LEN;
+
+/*******************************************************************************
+ * DCL_CONFIGURE_T
+ *******************************************************************************/
+typedef union
+{
+#ifndef NONE_MODEM_PWM
+ PWM_CONFIGS//Please see dcl_PWM.h
+#endif
+#ifndef NONE_MODEM_ADC
+ // For ADC, please see dcl_adc.h
+ ADC_CONFIGS
+#endif
+#ifndef NONE_MODEM_BMT
+ // For BMT, please see dcl_bmt.h
+ BMT_CONFIGS
+#endif
+#ifndef NONE_MODEM_PFC
+ // For PFC, please see dcl_pfc.h
+ PFC_CONFIGS
+#endif
+#ifndef NONE_MODEM_RTC
+ // For RTC, please see dcl_rtc.h
+ RTC_CONFIGS
+#endif
+#ifndef NONE_MODEM_WDT
+ // For WDT, please see dcl_wdt.h
+ WDT_CONFIGS
+#endif
+#ifndef NONE_MODEM_I2C
+ // For I2C, please see dcl_i2c.h
+ I2C_CONFIGS
+#endif
+#if 0
+#ifndef NONE_MODEM_AUX
+/* under construction !*/
+/* under construction !*/
+#endif
+#endif
+#ifndef NONE_MODEM_USB
+ // For USB_DRV, please see dcl_usb_drv.h
+ USB_DRV_CONFIGS
+#endif
+#ifndef NONE_MODEM_USBD
+ // For USB_HCD, please see dcl_usb_hcd.h
+ USB_HCD_CONFIGS
+#endif
+#ifndef NONE_MODEM_OTG
+ // For OTG_DRV, please see dcl_otg_drv.h
+ OTG_DRV_CONFIGS
+#endif
+#ifndef NONE_MODEM_IRDA
+ // For IRDA, please see dcl_irda.h
+ IRDA_CONFIGS
+#endif
+#ifndef NONE_MODEM_PMU
+ // For PMU, please see dcl_pmu.h
+ PMU_CONFIGS
+#endif
+#ifndef NONE_MODEM_PW
+ // For PW, please see dcl_pw.h
+ PW_CONFIGS
+#endif
+#ifndef NONE_MODEM_CHR_USB_DET
+ // For CHR&USB detection , please see dcl_chr_usb_det.h
+ CHR_DET_CONFIGS
+#endif
+#ifndef NONE_MODEM_SPMI
+ // For SPMI, please see dcl_spmi.h
+ SPMI_CONFIGS
+#endif
+#ifndef NONE_MODEM_SIM
+ // For SIM, please see dcl_sim.h
+ SIM_CONFIGS
+#endif
+#ifndef NONE_MODEM_TS
+ //for TS, please see dcl_ts.h
+ TS_CONFIGS
+#endif
+#ifndef NONE_MODEM_PXS
+ // For PXS, please see dcl_pxs.h
+ PXS_CONFIGS
+#endif
+#ifndef NONE_MODEM_F32K_CLK
+ // For F32K_CLK, please see dcl_f32k_clk.h
+ F32K_CLK_CONFIGS
+#endif
+#ifndef NONE_MODEM_IDC
+ // For IDC, please see dcl_idc.h
+ IDC_CONFIGS
+#endif
+} DCL_CONFIGURE_T;
+
+
+/*******************************************************************************
+ * DCL_EVENT
+ *******************************************************************************/
+typedef DCL_UINT32 DCL_EVENT;
+typedef enum
+{
+ EVENT_NULL = 0,
+#ifndef NONE_MODEM_GPT
+ // For HGPT, please see dcl_gpt.h
+ GPT_EVENTS_START = EVENT_NULL,
+ GPT_EVENTS
+#endif
+#ifndef NONE_MODEM_GPIO
+ //for GPIO, please see dcl_gpio.h
+ GPIO_EVENTS_START = 0x100,
+ GPIO_EVENTS
+#endif
+#ifndef NONE_MODEM_BMT
+ // For BMT, please see dcl_bmt.h
+ BMT_EVENTS_START = 0x200,
+ BMT_EVENTS
+#endif
+#ifndef NONE_MODEM_PFC
+ // For PFC, please see dcl_pfc.h
+ PFC_EVENTS_START = 0x300,
+ PFC_EVENTS
+#endif
+#ifndef NONE_MODEM_RTC
+ // For RTC, please see dcl_rtc.h
+ RTC_EVENTS_START = 0x400,
+ RTC_EVENTS
+#endif
+#ifndef NONE_MODEM_WDT
+ // For WDT, please see dcl_wdt.h
+ WDT_EVENTS_START = 0x500,
+ WDT_EVENTS
+#endif
+#ifndef NONE_MODEM_ADC
+ // For ADC, please see dcl_adc.h
+ ADC_EVENTS_START = 0x600,
+ ADC_EVENTS
+#endif
+#ifndef NONE_MODEM_I2C
+ // For I2C, please see dcl_i2c.h
+ I2C_EVENTS_START = 0x700,
+ I2C_EVENTS
+#endif
+#if 0
+#ifndef NONE_MODEM_AUX
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+#endif
+#endif
+#ifndef NONE_MODEM_KBDH
+ //For Keypad, Please see dcl_kbd.h
+ KBDH_EVENTS_START = 0x900,
+ KBDH_EVENTS
+#endif
+#ifndef NONE_MODEM_TS
+ //For TS, Please see dcl_ts.h
+ TS_EVENTS_START = 0xA00,
+ TS_EVENTS
+#endif
+#ifndef NONE_MODEM_USB
+ //For USB_DRV, please see dcl_usb_drv.h
+ USB_DRV_EVENTS_START = 0xB00,
+ USB_DRV_EVENTS
+#endif
+#ifndef NONE_MODEM_USBD
+ //For USB_HCD, please see dcl_usb_hcd.h
+ USB_HCD_EVENTS_START = 0xC00,
+ USB_HCD_EVENTS
+#endif
+#ifndef NONE_MODEM_OTG
+ //For OTG_DRV, please see dcl_otg_drv.h
+ OTG_DRV_EVENTS_START = 0xD00,
+ OTG_DRV_EVENTS
+#endif
+#ifndef NONE_MODEM_IRDA
+ // For IrDA, please see dcl_irda.h
+ IRDA_EVENTS_START = 0xE00,
+ IRDA_EVENTS
+#endif
+#ifndef NONE_MODEM_PMU
+ // For pmu, please see dcl_pmu.h
+ PMU_EVENTS_START = 0xF00,
+ PMU_EVENTS
+#endif
+#ifndef NONE_MODEM_PW
+ // For pw, please see dcl_pw.h
+ PW_EVENTS_START = 0x1000,
+ PW_EVENTS
+#endif
+#ifndef NONE_MODEM_CHR_USB_DET
+ // For Chr&USB detection , please see dcl_chr_usb_det.h
+ CHR_DET_EVENTS_START = 0x1100,
+ CHR_DET_EVENTS
+#endif
+#ifndef NONE_MODEM_PXS
+ // For PXS, please see dcl_pxs.h
+ PXS_EVENTS_START = 0x1200,
+ PXS_EVENTS
+#endif
+#ifndef NONE_MODEM_F32K_CLK
+ // For F32K_CLK, please see dcl_f32k_clk.h
+ F32K_CLK_EVENTS_START = 0x1300,
+ F32K_CLK_EVENTS
+#endif
+#ifndef NONE_MODEM_IDC
+ // For IDC, please see dcl_idc.h
+ IDC_EVENTS_START = 0x1400,
+ IDC_EVENTS
+#endif
+#ifndef NONE_MODEM_SPMI
+ // For spmi, please see dcl_spmi.h
+ SPMI_EVENTS_START = 0x1500,
+ SPMI_EVENTS
+#endif
+ EVENT_END
+} DCL_EVENT_T;
+
+/*******************************************************************************
+ * PFN_DCL_CALLBACK
+ *******************************************************************************/
+typedef void (*PFN_DCL_CALLBACK)(DCL_EVENT event);
+
+/*******************************************************************************
+ * DCL_CTRL_CMD
+ *******************************************************************************/
+#if defined(CMD_END)
+#undef CMD_END
+#endif
+typedef DCL_UINT32 DCL_CTRL_CMD;
+typedef enum
+{
+ CMDS_START = 0,
+ /* Below is the command for GPIO */
+#ifndef NONE_MODEM_GPIO
+ //please make sure GPIO Command start from zero! [drv_tool genertate a char type variable]
+ GPIO_CMDS_START = CMDS_START,
+ GPIO_CMDS //please see dcl_gpio.h
+#endif
+#ifndef NONE_MODEM_UART
+ /* Below is the command for UART */
+ UART_CMDS_START = 0x100,
+ UART_CMDS //please see dcl_uart.h
+#endif
+#ifndef NONE_MODEM_GPT
+ /* Below is the command for GPT */
+ GPT_CMDS_START = 0x200,
+ GPT_CMDS //please see dcl_gpt.h
+#endif
+#ifndef NONE_MODEM_ADC
+ /* Below is the command for ADC */
+ /* Exported adc schedule APIs */
+ ADC_CMDS_START = 0x300,
+ ADC_CMDS
+ /* Interfac for Hardware ADC */
+ HADC_CMDS_START = 0x400,
+ HADC_CMDS
+#endif
+#ifndef NONE_MODEM_WDT
+ /* Below is the command for WDT */
+ WDT_CMDS_START = 0x500,
+ WDT_CMDS
+#endif
+#ifndef NONE_MODEM_BMT
+ /* Below is the command for BMT */
+ BMT_CMDS_START = 0x600,
+ BMT_CMDS // Please see dcl_bmt.h
+#endif
+#ifndef NONE_MODEM_PFC
+ /* Below is the command for PFC */
+ PFC_CMDS_START = 0x700,
+ PFC_CMDS // Please see dcl_pfc.h
+#endif
+#ifndef NONE_MODEM_RTC
+ /* Below is the command for RTC */
+ RTC_CMDS_START = 0x800,
+ RTC_CMDS // Please see dcl_rtc.h
+#endif
+#ifndef NONE_MODEM_I2C
+ /* Below is the command for I2C */
+ I2C_CMDS_START = 0x900,
+ I2C_CMDS
+#endif
+#if 0
+#ifndef NONE_MODEM_AUX
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+#endif
+#endif
+#ifndef NONE_MODEM_KBDH
+ /* Below is the command for KBD */
+ KBDH_CMDS_START = 0xB00,
+ KBDH_CMDS
+#endif
+#ifndef NONE_MODEM_KBD
+ KBD_CMDS_START = 0xC00,
+ KBD_CMDS//Please see dcl_kbd.h
+#endif
+#ifndef NONE_MODEM_PWM
+ /* Below is the command for OWM */
+ PWM_CMDS_START = 0xD00,
+ PWM_CMDS//Please see dcl_PWM.h
+#endif
+#ifndef NONE_MODEM_ALERTER
+ ALERTER_CMDS_START = 0xE00,
+ ALERTER_CMDS //please see dcl_pwm.h
+#endif
+#ifndef NONE_MODEM_TS
+ /* Below is the command for TS */
+ TS_CMDS_START = 0xF00,
+ TS_CMDS//Please see dcl_ts.h
+#endif
+#ifndef NONE_MODEM_SD
+ /* Below is the command for SD*/
+ SD_CMDS_START = 0x1000,
+ SD_CMDS//Please see dcl_msdc.h
+#endif
+#ifndef NONE_MODEM_SDIO
+ /* Below is the command for SDIO*/
+ SDIO_CMDS_START = 0x1100,
+ SDIO_CMDS//Please see dcl_msdc.h
+#endif
+#ifndef NONE_MODEM_USB
+ /* Below is the commands for USB_DRV, please see dcl_usb_drv.h */
+ USB_DRV_CMDS_START = 0x1300,
+ USB_DRV_CMDS
+#endif
+#ifndef NONE_MODEM_USBD
+ /* Below is the commands for USB_HCD, please see dcl_usb_hcd.h */
+ USB_HCD_CMDS_START = 0x1400,
+ USB_HCD_CMDS
+#endif
+#ifndef NONE_MODEM_OTG
+ /* Below is the commands for OTG_DRV, please see dcl_otg_drv.h */
+ OTG_DRV_CMDS_START = 0x1500,
+ OTG_DRV_CMDS
+#endif
+#ifndef NONE_MODEM_IRDA
+ /* Below is the command for IRDA*/
+ IRDA_CMDS_START = 0x1600,
+ IRDA_CMDS//Please see dcl_irda.h
+#endif
+#ifndef NONE_MODEM_SIM
+ /* Below is the command for SIM*/
+ SIM_CMDS_START = 0x1700,
+ SIM_CMDS//Please see dcl_msdc.h
+#endif
+#ifndef NONE_MODEM_PMU
+ /* Below is the command for PMU */
+ PMU_CMDS_START = 0x1800,
+ PMU_CMDS //Please see dcl_pmu.h
+#endif
+#ifndef NONE_MODEM_PW
+ /* Below is the command for PW */
+ PW_CMDS_START = 0x1900,
+ PW_CMDS //Please see dcl_pw.h
+#endif
+#ifndef NONE_MODEM_CHR_USB_DET
+ /* Below is the command for CHR USB DETECT */
+ CHR_DET_CMDS_START = 0x1A00,
+ CHR_DET_CMDS //Please see dcl_chr_usb_det.h
+#endif
+#ifndef NONE_MODEM_PXS
+ /* Below is the command for PXS */
+ PXS_CMDS_START = 0x1B00,
+ PXS_CMDS //Please see dcl_pxs.h
+#endif
+#ifndef NONE_MODEM_SIM_GPIO
+ /* Below is the command for SIM GPIO */
+ SIMGPIO_CMDS_START = 0x1C00,
+ SIMGPIO_CMDS //Please see dcl_sim_gpio.h
+#endif
+#ifndef NONE_MODEM_F32K_CLK
+ /* Below is the command for F32K_CLK */
+ F32K_CLK_CMDS_START = 0x1D00,
+ F32K_CLK_CMDS //please see dcl_f32k_clk.h
+#endif
+#ifndef NONE_MODEM_IDC
+ /* Below is the command for IDC */
+ IDC_CMDS_START = 0x1E00,
+ IDC_CMDS // Please see dcl_idc.h
+#endif
+#ifndef NONE_MODEM_SPMI
+ /* Below is the command for SPMI */
+ SPMI_CMDS_START = 0x1F00,
+ SPMI_CMDS //Please see dcl_spmi.h
+#endif
+ CMD_END
+} DCL_CTRL_CMD_T;
+
+/*******************************************************************************
+ * DCL_CTRL_DATA_T: Define the Control data structure for each module's command
+ *******************************************************************************/
+typedef union
+{
+#ifndef NONE_MODEM_GPT
+ /* GPT control datas, please see dcl_gpt.h */
+ GPT_CTRLS
+#endif
+#ifndef NONE_MODEM_UART
+ /* UART control datas, please see dcl_uart.h */
+ UART_CTRLS
+#endif
+#ifndef NONE_MODEM_GPIO
+ /* GPIO control datas, please see dcl_gpio.h */
+ GPIO_CTRLS
+#endif
+#ifndef NONE_MODEM_ADC
+ /* ADC control datas, please see dcl_adc.h */
+ ADC_CTRLS
+#endif
+#ifndef NONE_MODEM_WDT
+ /* WDT control datas, please see dcl_wdt.h */
+ WDT_CTRLS
+#endif
+#ifndef NONE_MODEM_BMT
+ /* Below is the ctrl structures for BMT */
+ BMT_CTRLS //Please see dcl_bmt.h
+#endif
+#ifndef NONE_MODEM_PFC
+ /* Below is the ctrl structures for PFC */
+ PFC_CTRLS // Please see dcl_pfc.h
+#endif
+#ifndef NONE_MODEM_RTC
+ /* RTC control datas, please see dcl_rtc.h */
+ RTC_CTRLS // Please see dcl_rtc.h
+#endif
+#ifndef NONE_MODEM_I2C
+ /* I2C control datas, please see dcl_i2c.h */
+ I2C_CTRLS
+#endif
+#if 0
+#ifndef NONE_MODEM_AUX
+/* under construction !*/
+/* under construction !*/
+#endif
+#endif
+#ifndef NONE_MODEM_KBD
+ /* KBD control datas, please see dcl_kbd.h */
+ KBDS_CTRLS//Please see dcl_kbd.h
+#endif
+#ifndef NONE_MODEM_KBDH
+ KBDH_CTRLS
+#endif
+#ifndef NONE_MODEM_PWM
+ /* PWM control datas, please see dcl_PWM.h */
+ PWM_CTRLS//Please see dcl_PWM.h
+#endif
+#ifndef NONE_MODEM_ALERTER
+ ALERTER_CTRLS
+#endif
+#ifndef NONE_MODEM_TS
+ /* TS control datas, please see dcl_ts.h */
+ TS_CTRLS//Please see dcl_ts.h
+#endif
+#ifndef NONE_MODEM_SD
+ /* Below is the ctrl structures for SD*/
+ SD_CTRLS//Please see dcl_msdc.h
+#endif
+#ifndef NONE_MODEM_SDIO
+ /* Below is the ctrl structures for SDIO*/
+ SDIO_CTRLS//Please see dcl_msdc.h
+#endif
+#ifndef NONE_MODEM_USB
+ /* Below is the control data structures for USB_DRV, please see dcl_usb_drv.h */
+ USB_DRV_CTRLS
+#endif
+#ifndef NONE_MODEM_USBD
+ /* Below is the control data structures for USB_HCD, please see dcl_usb_hcd.h */
+ USB_HCD_CTRLS
+#endif
+#ifndef NONE_MODEM_OTG
+ /* Below is the control data structures for OTG_DRV, please see dcl_otg_drv.h */
+ OTG_DRV_CTRLS
+#endif
+#ifndef NONE_MODEM_IRDA
+ /* Below is the ctrl structures for IRDA*/
+ IRDA_CTRLS//Please see dcl_irda.h
+#endif
+#ifndef NONE_MODEM_SIM
+ /* Below is the ctrl structures for SIM*/
+ SIM_CTRLS//Please see dcl_sim.h
+#endif
+#ifndef NONE_MODEM_PMU
+ /* Below is the ctrl structures for PMU */
+ PMU_CTRLS//Please see dcl_pmu.h
+#endif
+#ifndef NONE_MODEM_PW
+ /* Below is the ctrl structures for Power up reason */
+ PW_CTRLS//Please see dcl_pW.h
+#endif
+#ifndef NONE_MODEM_CHR_USB_DET
+ /* Below is the ctrl structures for Chr & USB detection */
+ CHR_DET_CTRLS//Please see dcl_chr_usb_det.h
+#endif
+#ifndef NONE_MODEM_SPMI
+ /* Below is the ctrl structures for SPMI */
+ SPMI_CTRLS//Please see dcl_spmi.h
+#endif
+#ifndef NONE_MODEM_PXS
+ /* Below is the ctrl structures for PXS */
+ PXS_CTRLS//Please see dcl_pxs.h
+#endif
+#ifndef NONE_MODEM_SIM_GPIO
+ /* Below is the ctrl structures for SIM_GPIO */
+ SIMGPIO_CTRLS//Please see dcl_sim_gpio.h
+#endif
+#ifndef NONE_MODEM_F32K_CLK
+ /* Below is the ctrl structures for SIM_GPIO */
+ F32K_CLK_CTRLS//please see dcl_f32k_clk.h
+#endif
+#ifndef NONE_MODEM_IDC
+ /* Below is the ctrl structures for IDC */
+ IDC_CTRLS//please see dcl_idc.h
+#endif
+#ifndef NONE_MTAD
+ /* Below is the ctrl structures for MTAD */
+ MTAD_CTRLS//please check dcl_mtad.h
+#endif
+} DCL_CTRL_DATA_T;
+
+
+/*definitions of structures are finished, undefine DCL_DEFINITION_STRUCT*/
+#undef DCL_DEFINITION_STRUCT
+#define DCL_DEFINITION_PROTOTYPE
+
+#ifndef NONE_MODEM_GPT
+#include "dcl_gpt.h"
+#endif
+#ifndef NONE_MODEM_GPIO
+#include "dcl_gpio.h"
+#endif
+#ifndef NONE_MODEM_UART
+#include "dcl_uart.h"
+#endif
+#ifndef NONE_MODEM_WDT
+#include "dcl_wdt.h"
+#endif
+#ifndef NONE_MODEM_ADC
+#include "dcl_adc.h"
+#endif
+#ifndef NONE_MODEM_BMT
+#include "dcl_bmt.h"
+#endif
+#ifndef NONE_MODEM_PFC
+#include "dcl_pfc.h"
+#endif
+#ifndef NONE_MODEM_RTC
+#include "dcl_rtc.h"
+#endif
+#ifndef NONE_MODEM_I2C
+#include "dcl_i2c.h"
+#endif
+#ifndef NONE_MODEM_AUX
+#include "dcl_aux.h"
+#endif
+#if !defined(NONE_MODEM_PWM) && !defined(NONE_MODEM_ALERTER)
+#include "dcl_pwm.h"
+#endif
+#ifndef NONE_MODEM_KBDH
+#include "DclH_kbd.h"
+#endif
+#ifndef NONE_MODEM_KBD
+#include "DclS_kbd.h"
+#endif
+#ifndef NONE_MODEM_STS
+#include "dcl_sts.h"
+#endif
+#ifndef NONE_MODEM_MSDC
+#include "dcl_msdc.h"
+#endif
+#ifndef NONE_MODEM_USB
+#include "dcl_usb_drv.h"
+#endif
+#ifndef NONE_MODEM_USBD
+#include "dcl_usb_hcd.h"
+#endif
+#ifndef NONE_MODEM_OTG
+#include "dcl_otg_drv.h"
+#endif
+#ifndef NONE_MODEM_IRDA
+#include "dcl_irda.h"
+#endif
+#ifndef NONE_MODEM_SIM
+#include "dcl_sim.h"
+#endif
+#ifndef NONE_MODEM_PMU
+#include "dcl_pmu.h"
+#endif
+#ifndef NONE_MODEM_PW
+#include "dcl_pw.h"
+#endif
+#ifndef NONE_MODEM_CHR_USB_DET
+#include "dcl_chr_det.h"
+#endif
+#ifndef NONE_MODEM_SPMI
+#include "dcl_spmi.h"
+#endif
+#ifndef NONE_MODEM_PXS
+#include "dcl_pxs.h"
+#endif
+#ifndef NONE_MODEM_SIM_GPIO
+#include "dcl_sim_gpio.h"
+#endif
+#ifndef NONE_MODEM_F32K_CLK
+#include "dcl_f32k_clk.h"
+#endif
+#ifndef NONE_MODEM_IDC
+#include "dcl_idc.h"
+#endif
+#ifndef NONE_MTAD
+#define DCL_DEFINITION_PROTOTYPE
+#include "dcl_mtad.h"
+#endif
+
+#undef DCL_DEFINITION_PROTOTYPE
+
+
+#endif /* __DCL_H__ */