📄 csl_i2chal.h
字号:
#define _I2C_I2CSAR0_FSETS(FIELD,SYM) _I2C_I2CSAR_FSETS(0,##FIELD,##SYM)
#define _I2C_I2CSAR1_FSETS(FIELD,SYM) _I2C_I2CSAR_FSETS(1,##FIELD,##SYM)
/******************************************************************************\
* ___________________
* | |
* | I 2 C D X R |
* |___________________|
*
* I2CDXR0 - I2C0 Data Transmit register
* I2CDXR1 - I2C1 Data Transmit register
*
* FIELDS (msb -> lsb)
* (rw) D
\******************************************************************************/
#define _I2C_I2CDXR_OFFSET 8
#define _I2C_I2CDXR0_ADDR 0x01B40020
#define _I2C_I2CDXR1_ADDR 0x01B44020
#define _I2C_I2CDXR_D_MASK 0x000000FFu
#define _I2C_I2CDXR_D_SHIFT 0x00000000u
#define I2C_I2CDXR_D_DEFAULT 0x00000000u
#define I2C_I2CDXR_D_OF(x) _VALUEOF(x)
#define I2C_I2CDXR_OF(x) _VALUEOF(x)
#define I2C_I2CDXR_DEFAULT (Uint32)(\
_PER_FDEFAULT(I2C,I2CDXR,D)\
)
#define I2C_I2CDXR_RMK(d) (Uint32)(\
_PER_FMK(I2C,I2CDXR,D,d)\
)
#define _I2C_I2CDXR_FGET(N,FIELD)\
_PER_FGET(_I2C_I2CDXR##N##_ADDR,I2C,I2CDXR,##FIELD)
#define _I2C_I2CDXR_FSET(N,FIELD,field)\
_PER_FSET(_I2C_I2CDXR##N##_ADDR,I2C,I2CDXR,##FIELD,field)
#define _I2C_I2CDXR_FSETS(N,FIELD,SYM)\
_PER_FSETS(_I2C_I2CDXR##N##_ADDR,I2C,I2CDXR,##FIELD,##SYM)
#define _I2C_I2CDXR0_FGET(FIELD) _I2C_I2CDXR_FGET(0,##FIELD)
#define _I2C_I2CDXR1_FGET(FIELD) _I2C_I2CDXR_FGET(1,##FIELD)
#define _I2C_I2CDXR0_FSET(FIELD,f) _I2C_I2CDXR_FSET(0,##FIELD,f)
#define _I2C_I2CDXR1_FSET(FIELD,f) _I2C_I2CDXR_FSET(1,##FIELD,f)
#define _I2C_I2CDXR0_FSETS(FIELD,SYM) _I2C_I2CDXR_FSETS(0,##FIELD,##SYM)
#define _I2C_I2CDXR1_FSETS(FIELD,SYM) _I2C_I2CDXR_FSETS(1,##FIELD,##SYM)
/******************************************************************************\
* ___________________
* | |
* | I 2 C M D R |
* |___________________|
*
* I2CMDR0 - I2C0 Mode register
* I2CMDR1 - I2C1 Mode register
*
* FIELDS (msb -> lsb)
* (rw) NACKMOD
* (rw) FREE
* (rw) STT
* (rw) STP
* (rw) MST
* (rw) TRX
* (rw) XA
* (rw) RM
* (rw) DLB
* (rw) IRS
* (rw) STB
* (rw) FDF
* (rw) BC
\******************************************************************************/
#define _I2C_I2CMDR_OFFSET 9
#define _I2C_I2CMDR0_ADDR 0x01B40024
#define _I2C_I2CMDR1_ADDR 0x01B44024
#define _I2C_I2CMDR_NACKMOD_MASK 0x00008000u
#define _I2C_I2CMDR_NACKMOD_SHIFT 0x0000000Fu
#define I2C_I2CMDR_NACKMOD_DEFAULT 0x00000000u
#define I2C_I2CMDR_NACKMOD_OF(x) _VALUEOF(x)
#define I2C_I2CMDR_NACKMOD_ACK 0x00000000u
#define I2C_I2CMDR_NACKMOD_NACK 0x00000001u
#define _I2C_I2CMDR_FREE_MASK 0x00004000u
#define _I2C_I2CMDR_FREE_SHIFT 0x0000000Eu
#define I2C_I2CMDR_FREE_DEFAULT 0x00000000u
#define I2C_I2CMDR_FREE_OF(x) _VALUEOF(x)
#define I2C_I2CMDR_FREE_BSTOP 0x00000000u
#define I2C_I2CMDR_FREE_RFREE 0x00000001u
#define _I2C_I2CMDR_STT_MASK 0x00002000u
#define _I2C_I2CMDR_STT_SHIFT 0x0000000Du
#define I2C_I2CMDR_STT_DEFAULT 0x00000000u
#define I2C_I2CMDR_STT_OF(x) _VALUEOF(x)
#define I2C_I2CMDR_STT_NONE 0x00000000u
#define I2C_I2CMDR_STT_START 0x00000001u
#define _I2C_I2CMDR_STP_MASK 0x00000800u
#define _I2C_I2CMDR_STP_SHIFT 0x0000000Bu
#define I2C_I2CMDR_STP_DEFAULT 0x00000000u
#define I2C_I2CMDR_STP_OF(x) _VALUEOF(x)
#define I2C_I2CMDR_STP_NONE 0x00000000u
#define I2C_I2CMDR_STP_STOP 0x00000001u
#define _I2C_I2CMDR_MST_MASK 0x00000400u
#define _I2C_I2CMDR_MST_SHIFT 0x0000000Au
#define I2C_I2CMDR_MST_DEFAULT 0x00000000u
#define I2C_I2CMDR_MST_OF(x) _VALUEOF(x)
#define I2C_I2CMDR_MST_SLAVE 0x00000000u
#define I2C_I2CMDR_MST_MASTER 0x00000001u
#define _I2C_I2CMDR_TRX_MASK 0x00000200u
#define _I2C_I2CMDR_TRX_SHIFT 0x00000009u
#define I2C_I2CMDR_TRX_DEFAULT 0x00000000u
#define I2C_I2CMDR_TRX_OF(x) _VALUEOF(x)
#define I2C_I2CMDR_TRX_RCV 0x00000000u
#define I2C_I2CMDR_TRX_XMT 0x00000001u
#define _I2C_I2CMDR_XA_MASK 0x00000100u
#define _I2C_I2CMDR_XA_SHIFT 0x00000008u
#define I2C_I2CMDR_XA_DEFAULT 0x00000000u
#define I2C_I2CMDR_XA_OF(x) _VALUEOF(x)
#define I2C_I2CMDR_XA_7BIT 0x00000000u
#define I2C_I2CMDR_XA_10BIT 0x00000001u
#define _I2C_I2CMDR_RM_MASK 0x00000080u
#define _I2C_I2CMDR_RM_SHIFT 0x00000007u
#define I2C_I2CMDR_RM_DEFAULT 0x00000000u
#define I2C_I2CMDR_RM_OF(x) _VALUEOF(x)
#define I2C_I2CMDR_RM_NONE 0x00000000u
#define I2C_I2CMDR_RM_REPEAD 0x00000001u
#define _I2C_I2CMDR_DLB_MASK 0x00000040u
#define _I2C_I2CMDR_DLB_SHIFT 0x00000006u
#define I2C_I2CMDR_DLB_DEFAULT 0x00000000u
#define I2C_I2CMDR_DLB_OF(x) _VALUEOF(x)
#define I2C_I2CMDR_DLB_NONE 0x00000000u
#define I2C_I2CMDR_DLB_LOOPBACK 0x00000001u
#define _I2C_I2CMDR_IRS_MASK 0x00000020u
#define _I2C_I2CMDR_IRS_SHIFT 0x00000005u
#define I2C_I2CMDR_IRS_DEFAULT 0x00000000u
#define I2C_I2CMDR_IRS_OF(x) _VALUEOF(x)
#define I2C_I2CMDR_IRS_RST 0x00000000u
#define I2C_I2CMDR_IRS_NRST 0x00000001u
#define _I2C_I2CMDR_STB_MASK 0x00000010u
#define _I2C_I2CMDR_STB_SHIFT 0x00000004u
#define I2C_I2CMDR_STB_DEFAULT 0x00000000u
#define I2C_I2CMDR_STB_OF(x) _VALUEOF(x)
#define I2C_I2CMDR_STB_NONE 0x00000000u
#define I2C_I2CMDR_STB_SET 0x00000001u
#define _I2C_I2CMDR_FDF_MASK 0x00000008u
#define _I2C_I2CMDR_FDF_SHIFT 0x00000003u
#define I2C_I2CMDR_FDF_DEFAULT 0x00000000u
#define I2C_I2CMDR_FDF_OF(x) _VFDFUEOF(x)
#define I2C_I2CMDR_FDF_NONE 0x00000000u
#define I2C_I2CMDR_FDF_SET 0x00000001u
#define _I2C_I2CMDR_BC_MASK 0x00000007u
#define _I2C_I2CMDR_BC_SHIFT 0x00000000u
#define I2C_I2CMDR_BC_DEFAULT 0x00000000u
#define I2C_I2CMDR_BC_OF(x) _VALUEOF(x)
#define I2C_I2CMDR_BC_BIT8FDF 0x00000000u
#define I2C_I2CMDR_BC_BIT7FDF 0x00000007u
#define I2C_I2CMDR_BC_BIT6FDF 0x00000006u
#define I2C_I2CMDR_BC_BIT5FDF 0x00000005u
#define I2C_I2CMDR_BC_BIT4FDF 0x00000004u
#define I2C_I2CMDR_BC_BIT3FDF 0x00000003u
#define I2C_I2CMDR_BC_BIT2FDF 0x00000002u
#define I2C_I2CMDR_BC_BIT1FDF 0x00000001u
#define I2C_I2CMDR_OF(x) _VALUEOF(x)
#define I2C_I2CMDR_DEFAULT (Uint32)(\
_PER_FDEFAULT(I2C,I2CMDR,NACKMOD)\
|_PER_FDEFAULT(I2C,I2CMDR,FREE)\
|_PER_FDEFAULT(I2C,I2CMDR,STT)\
|_PER_FDEFAULT(I2C,I2CMDR,STP)\
|_PER_FDEFAULT(I2C,I2CMDR,MST)\
|_PER_FDEFAULT(I2C,I2CMDR,TRX)\
|_PER_FDEFAULT(I2C,I2CMDR,XA)\
|_PER_FDEFAULT(I2C,I2CMDR,RM)\
|_PER_FDEFAULT(I2C,I2CMDR,DLB)\
|_PER_FDEFAULT(I2C,I2CMDR,IRS)\
|_PER_FDEFAULT(I2C,I2CMDR,STB)\
|_PER_FDEFAULT(I2C,I2CMDR,FDF)\
|_PER_FDEFAULT(I2C,I2CMDR,BC)\
)
#define I2C_I2CMDR_RMK(nackmod,free,stt,stp,mst,trx,xa,rm,dlb,irs,stb,fdf,bc) (Uint32)(\
_PER_FMK(I2C,I2CMDR,NACKMOD,nackmod)\
|_PER_FMK(I2C,I2CMDR,FREE,free)\
|_PER_FMK(I2C,I2CMDR,STT,stt)\
|_PER_FMK(I2C,I2CMDR,STP,stp)\
|_PER_FMK(I2C,I2CMDR,MST,mst)\
|_PER_FMK(I2C,I2CMDR,TRX,trx)\
|_PER_FMK(I2C,I2CMDR,XA,xa)\
|_PER_FMK(I2C,I2CMDR,RM,rm)\
|_PER_FMK(I2C,I2CMDR,DLB,dlb)\
|_PER_FMK(I2C,I2CMDR,IRS,irs)\
|_PER_FMK(I2C,I2CMDR,STB,stb)\
|_PER_FMK(I2C,I2CMDR,FDF,fdf)\
|_PER_FMK(I2C,I2CMDR,BC,bc)\
)
#define _I2C_I2CMDR_FGET(N,FIELD)\
_PER_FGET(_I2C_I2CMDR##N##_ADDR,I2C,I2CMDR,##FIELD)
#define _I2C_I2CMDR_FSET(N,FIELD,field)\
_PER_FSET(_I2C_I2CMDR##N##_ADDR,I2C,I2CMDR,##FIELD,field)
#define _I2C_I2CMDR_FSETS(N,FIELD,SYM)\
_PER_FSETS(_I2C_I2CMDR##N##_ADDR,I2C,I2CMDR,##FIELD,##SYM)
#define _I2C_I2CMDR0_FGET(FIELD) _I2C_I2CMDR_FGET(0,##FIELD)
#define _I2C_I2CMDR1_FGET(FIELD) _I2C_I2CMDR_FGET(1,##FIELD)
#define _I2C_I2CMDR0_FSET(FIELD,f) _I2C_I2CMDR_FSET(0,##FIELD,f)
#define _I2C_I2CMDR1_FSET(FIELD,f) _I2C_I2CMDR_FSET(1,##FIELD,f)
#define _I2C_I2CMDR0_FSETS(FIELD,SYM) _I2C_I2CMDR_FSETS(0,##FIELD,##SYM)
#define _I2C_I2CMDR1_FSETS(FIELD,SYM) _I2C_I2CMDR_FSETS(1,##FIELD,##SYM)
/******************************************************************************\
* ___________________
* | |
* | I 2 C I V R |
* |___________________|
*
* I2CIVR0 - I2C0 Interrupt Vector register
* I2CIVR1 - I2C1 Interrupt Vector register
*
* FIELDS (msb -> lsb)
* (r) INTCODE
\******************************************************************************/
#define _I2C_I2CIVR_OFFSET 10
#define _I2C_I2CIVR0_ADDR 0x01B40028
#define _I2C_I2CIVR1_ADDR 0x01B44028
/*** old names ***/
#define _I2C_I2CISR0_ADDR _I2C_I2CIVR0_ADDR
#define _I2C_I2CISR1_ADDR _I2C_I2CIVR1_ADDR
#define _I2C_I2CIVR_INTCODE_MASK 0x00000007u
#define _I2C_I2CIVR_INTCODE_SHIFT 0x00000000u
#define I2C_I2CIVR_INTCODE_DEFAULT 0x00000000u
#define I2C_I2CIVR_INTCODE_OF(x) _VALUEOF(x)
#define I2C_I2CIVR_INTCODE_NONE 0x00000000u
#define I2C_I2CIVR_INTCODE_AL 0x00000001u
#define I2C_I2CIVR_INTCODE_NACK 0x00000002u
#define I2C_I2CIVR_INTCODE_RAR 0x00000003u
#define I2C_I2CIVR_INTCODE_RDR 0x00000004u
#define I2C_I2CIVR_INTCODE_XDR 0x00000005u
#define I2C_I2CIVR_OF(x) _VALUEOF(x)
#define I2C_I2CIVR_DEFAULT (Uint32)(\
_PER_FDEFAULT(I2C,I2CIVR,INTCODE)\
)
#define I2C_I2CIVR_RMK(intcode) (Uint32)(\
_PER_FMK(I2C,I2CIVR,INTCODE,intcode)\
)
#define _I2C_I2CIVR_FGET(N,FIELD)\
_PER_FGET(_I2C_I2CIVR##N##_ADDR,I2C,I2CIVR,##FIELD)
#define _I2C_I2CIVR_FSET(N,FIELD,field)\
_PER_FSET(_I2C_I2CIVR##N##_ADDR,I2C,I2CIVR,##FIELD,field)
#define _I2C_I2CIVR_FSETS(N,FIELD,SYM)\
_PER_FSETS(_I2C_I2CIVR##N##_ADDR,I2C,I2CIVR,##FIELD,##SYM)
#define _I2C_I2CIVR0_FGET(FIELD) _I2C_I2CIVR_FGET(0,##FIELD)
#define _I2C_I2CIVR1_FGET(FIELD) _I2C_I2CIVR_FGET(1,##FIELD)
#define _I2C_I2CIVR0_FSET(FIELD,f) _I2C_I2CIVR_FSET(0,##FIELD,f)
#define _I2C_I2CIVR1_FSET(FIELD,f) _I2C_I2CIVR_FSET(1,##FIELD,f)
#define _I2C_I2CIVR0_FSETS(FIELD,SYM) _I2C_I2CIVR_FSETS(0,##FIELD,##SYM)
#define _I2C_I2CIVR1_FSETS(FIELD,SYM) _I2C_I2CIVR_FSETS(1,##FIELD,##SYM)
/******************************************************************************\
* ___________________
* | |
* | I 2 C P S C |
* |___________________|
*
* I2CPSC0 - I2C0 Prescaler register
* I2CPSC1 - I2C1 Prescaler register
*
* FIELDS (msb -> lsb)
* (rw) IPSC
\******************************************************************************/
#define _I2C_I2CPSC_OFFSET 12
#define _I2C_I2CPSC0_ADDR 0x01B40030
#define _I2C_I2CPSC1_ADDR 0x01B44030
#define _I2C_I2CPSC_IPSC_MASK 0x000000FFu
#define _I2C_I2CPSC_IPSC_SHIFT 0x00000000u
#define I2C_I2CPSC_IPSC_DEFAULT 0x00000000u
#define I2C_I2CPSC_IPSC_OF(x) _VALUEOF(x)
#define I2C_I2CPSC_OF(x) _VALUEOF(x)
#define I2C_I2CPSC_DEFAULT (Uint32)(\
_PER_FDEFAULT(I2C,I2CPSC,IPSC)\
)
#define I2C_I2CPSC_RMK(ipsc) (Uint32)(\
_PER_FMK(I2C,I2CPSC,IPSC,ipsc)\
)
#define _I2C_I2CPSC_FGET(N,FIELD)\
_PER_FGET(_I2C_I2CPSC##N##_ADDR,I2C,I2CPSC,##FIELD)
#define _I2C_I2CPSC_FSET(N,FIELD,field)\
_PER_FSET(_I2C_I2CPSC##N##_ADDR,I2C,I2CPSC,##FIELD,field)
#define _I2C_I2CPSC_FSETS(N,FIELD,SYM)\
_PER_FSETS(_I2C_I2CPSC##N##_ADDR,I2C,I2CPSC,##FIELD,##SYM)
#define _I2C_I2CPSC0_FGET(FIELD) _I2C_I2CPSC_FGET(0,##FIELD)
#define _I2C_I2CPSC1_FGET(FIELD) _I2C_I2CPSC_FGET(1,##FIELD)
#define _I2C_I2CPSC0_FSET(FIELD,f) _I2C_I2CPSC_FSET(0,##FIELD,f)
#define _I2C_I2CPSC1_FSET(FIELD,f) _I2C_I2CPSC_FSET(1,##FIELD,f)
#define _I2C_I2CPSC0_FSETS(FIELD,SYM) _I2C_I2CPSC_FSETS(0,##FIELD,##SYM)
#define _I2C_I2CPSC1_FSETS(FIELD,SYM) _I2C_I2CPSC_FSETS(1,##FIELD,##SYM)
#endif /* I2C_SUPPORT */
#endif /* _CSL_I2CHAL_H_ */
/******************************************************************************\
* End of csl_i2chal.h
\******************************************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -