1 /******************************************************************************
2 ** File Name: adi_hal_internal.h *
5 ** Copyright: 2010 Spreatrum, Incoporated. All Rights Reserved. *
6 ** Description: This file defines the basic operation interfaces of *
7 ** Analog to Digital Module. *
9 ******************************************************************************
11 ******************************************************************************
13 ** ------------------------------------------------------------------------- *
14 ** DATE NAME DESCRIPTION *
15 ** 2/25/2010 Tim Luo Create. *
17 ******************************************************************************/
20 #ifndef _ADI_HAL_INTERNAL_H_
21 #define _ADI_HAL_INTERNAL_H_
23 #include "sci_types.h"
26 unsigned short ADI_Analogdie_reg_read (unsigned int addr);
28 void ADI_Analogdie_reg_write (unsigned int addr, unsigned short data);
33 ///for analog die register operation
34 #define ANA_REG_OR(reg_addr, value) \
36 unsigned short adi_tmp_val = ADI_Analogdie_reg_read(reg_addr); \
37 adi_tmp_val |= (unsigned short)(value); \
38 ADI_Analogdie_reg_write(reg_addr, adi_tmp_val); \
40 #define ANA_REG_MSK_OR(reg_addr, value, msk) \
42 unsigned short adi_tmp_val = ADI_Analogdie_reg_read(reg_addr); \
43 adi_tmp_val &= (unsigned short)(~(msk)); \
44 adi_tmp_val |= (unsigned short)((value)&(msk)); \
45 ADI_Analogdie_reg_write(reg_addr, adi_tmp_val); \
47 #define ANA_REG_AND(reg_addr, value) \
49 unsigned short adi_tmp_val = ADI_Analogdie_reg_read(reg_addr); \
50 adi_tmp_val &= (unsigned short)(value); \
51 ADI_Analogdie_reg_write(reg_addr, adi_tmp_val); \
53 #define ANA_REG_BIC(reg_addr, value) \
55 unsigned short adi_tmp_val = ADI_Analogdie_reg_read(reg_addr); \
56 adi_tmp_val &= (unsigned short)(~value); \
57 ADI_Analogdie_reg_write(reg_addr, adi_tmp_val); \
61 #define ANA_REG_SET(reg_addr, value) ADI_Analogdie_reg_write(reg_addr, (unsigned short)(value))
63 #define ANA_REG_GET(reg_addr) ADI_Analogdie_reg_read(reg_addr)
66 #endif //_ADI_HAL_INTERNAL_H_