📄 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 + -