165 lines
4.9 KiB
C
165 lines
4.9 KiB
C
|
/*!
|
||
|
*******************************************************************************
|
||
|
**
|
||
|
** \file gd_adc.h
|
||
|
**
|
||
|
** \brief ADC.
|
||
|
**
|
||
|
** Copyright: 2012 - 2013 (C) GoKe Microelectronics ShangHai Branch
|
||
|
**
|
||
|
** \attention THIS SAMPLE CODE IS PROVIDED AS IS. GOKE MICROELECTRONICS
|
||
|
** ACCEPTS NO RESPONSIBILITY OR LIABILITY FOR ANY ERRORS OR
|
||
|
** OMMISSIONS.
|
||
|
**
|
||
|
** \note Do not modify this file as it is generated automatically.
|
||
|
**
|
||
|
******************************************************************************/
|
||
|
#ifndef _GD_ADC_H_
|
||
|
#define _GD_ADC_H_
|
||
|
|
||
|
#include "gmodids.h"
|
||
|
|
||
|
|
||
|
|
||
|
//*****************************************************************************
|
||
|
//*****************************************************************************
|
||
|
//** Defines and Macros
|
||
|
//*****************************************************************************
|
||
|
//*****************************************************************************
|
||
|
#define GD_ADC_ERR_BASE (GD_ADC_MODULE_ID << 16)
|
||
|
#define GD_ADC_AUX_ATOP_INITIALIZE 0x025A
|
||
|
#define GD_ADC_CONTROL_INITIALIZE 0x000A
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
//*****************************************************************************
|
||
|
//*****************************************************************************
|
||
|
//** Enumerated types
|
||
|
//*****************************************************************************
|
||
|
//*****************************************************************************
|
||
|
|
||
|
/*!
|
||
|
*******************************************************************************
|
||
|
**
|
||
|
** \brief ADC driver error codes.
|
||
|
**
|
||
|
*******************************************************************************
|
||
|
*/
|
||
|
enum
|
||
|
{
|
||
|
GD_ERR_ADC_TYPE_NOT_SUPPORTED = GD_ADC_ERR_BASE, //!< Device not supported.
|
||
|
};
|
||
|
|
||
|
/*---------------------------------------------------------------------------*/
|
||
|
/* types, enums and structures */
|
||
|
/*---------------------------------------------------------------------------*/
|
||
|
/*!
|
||
|
*******************************************************************************
|
||
|
**
|
||
|
** \brief ADC channel number.
|
||
|
**
|
||
|
** \sa GD_ADC_OPEN_PARAMS_S
|
||
|
**
|
||
|
******************************************************************************/
|
||
|
typedef enum
|
||
|
{
|
||
|
GD_ADC_ENABLE_DISABLE = 0,
|
||
|
GD_ADC_ENABLE_ENABLE,
|
||
|
GD_ADC_ENABLE_COUNT,
|
||
|
}GD_ADC_ENABLE_E;
|
||
|
|
||
|
typedef enum
|
||
|
{
|
||
|
GD_ADC_CONTROL_CHANNEL_ONE = 0x5, //!< ADC pad_sar_key1.
|
||
|
GD_ADC_CONTROL_CHANNEL_TWO = 0x6, //!< ADC pad_sar_key2.
|
||
|
GD_ADC_CONTROL_CHANNEL_COUNT,
|
||
|
}GD_ADC_CONTROL_CHANNEL_E;
|
||
|
|
||
|
typedef enum
|
||
|
{
|
||
|
GD_ADC_CHANNEL_ONE = 0, //!< ADC channel 1.
|
||
|
GD_ADC_CHANNEL_TWO, //!< ADC channel 2.
|
||
|
GD_ADC_CHANNEL_COUNT,
|
||
|
}GD_ADC_CHANNEL_E;
|
||
|
|
||
|
enum
|
||
|
{
|
||
|
GD_ADC_REQ_CHANNEL_ONE = 1, //!< ADC req channel 1.
|
||
|
GD_ADC_REQ_CHANNEL_TWO, //!< ADC req channel 2.
|
||
|
};
|
||
|
//*****************************************************************************
|
||
|
//*****************************************************************************
|
||
|
//** Data Structures
|
||
|
//*****************************************************************************
|
||
|
//*****************************************************************************
|
||
|
/*!
|
||
|
*******************************************************************************
|
||
|
**
|
||
|
** \brief Init parameters.
|
||
|
**
|
||
|
** \sa GD_ADC_Open() <BR>
|
||
|
**
|
||
|
******************************************************************************/
|
||
|
typedef struct
|
||
|
{
|
||
|
U32 val_lo : 10;
|
||
|
U32 : 5;
|
||
|
U32 val_hi : 10;
|
||
|
U32 : 5;
|
||
|
U32 en_lo : 1;
|
||
|
U32 en_hi : 1;
|
||
|
} GD_ADC_CONTROL_S;
|
||
|
typedef union
|
||
|
{
|
||
|
U32 data;
|
||
|
GD_ADC_CONTROL_S control;
|
||
|
}GD_ADC_CRYPTO_DATA_T;
|
||
|
|
||
|
typedef struct
|
||
|
{
|
||
|
GD_ADC_CHANNEL_E channel;
|
||
|
GD_ADC_CRYPTO_DATA_T control;
|
||
|
} GD_ADC_OPEN_PARAMS_S;
|
||
|
|
||
|
|
||
|
//*****************************************************************************
|
||
|
//*****************************************************************************
|
||
|
//** Global Data
|
||
|
//*****************************************************************************
|
||
|
//*****************************************************************************
|
||
|
|
||
|
|
||
|
|
||
|
//*****************************************************************************
|
||
|
//*****************************************************************************
|
||
|
//** API Functions
|
||
|
//*****************************************************************************
|
||
|
//*****************************************************************************
|
||
|
|
||
|
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
extern "C" {
|
||
|
#endif
|
||
|
|
||
|
GERR GD_ADC_Init(void);
|
||
|
GERR GD_ADC_Exit(void);
|
||
|
GERR GD_ADC_Open(GD_ADC_OPEN_PARAMS_S * openParamsP, GD_HANDLE* pHandle );
|
||
|
GERR GD_ADC_Close(GD_HANDLE * pHandle);
|
||
|
GERR GD_ADC_Read(GD_HANDLE *pHandle, U32* data);
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
}
|
||
|
#endif
|
||
|
|
||
|
|
||
|
|
||
|
#endif /* _GD_ADC_H_ */
|
||
|
|
||
|
|
||
|
/*----------------------------------------------------------------------------*/
|
||
|
/* end of file */
|
||
|
/*----------------------------------------------------------------------------*/
|
||
|
|