⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jz4740.h

📁 ucos mips linux 光盘所得
💻 H
📖 第 1 页 / 共 5 页
字号:
#define	REG_ICDC_APSR		REG32(ICDC_APSR)#define REG_ICDC_CDCCR1         REG32(ICDC_CDCCR1)#define REG_ICDC_CDCCR2         REG32(ICDC_CDCCR2)/* ICDC Control Register */#define	ICDC_CR_LINVOL_BIT	24 /* LINE Input Volume Gain: GAIN=LINVOL*1.5-34.5 */#define	ICDC_CR_LINVOL_MASK	(0x1f << ICDC_CR_LINVOL_BIT)#define	ICDC_CR_ASRATE_BIT	20 /* Audio Sample Rate */#define	ICDC_CR_ASRATE_MASK	(0x0f << ICDC_CR_ASRATE_BIT)  #define ICDC_CR_ASRATE_8000	(0x0 << ICDC_CR_ASRATE_BIT)  #define ICDC_CR_ASRATE_11025	(0x1 << ICDC_CR_ASRATE_BIT)  #define ICDC_CR_ASRATE_12000	(0x2 << ICDC_CR_ASRATE_BIT)  #define ICDC_CR_ASRATE_16000	(0x3 << ICDC_CR_ASRATE_BIT)  #define ICDC_CR_ASRATE_22050	(0x4 << ICDC_CR_ASRATE_BIT)  #define ICDC_CR_ASRATE_24000	(0x5 << ICDC_CR_ASRATE_BIT)  #define ICDC_CR_ASRATE_32000	(0x6 << ICDC_CR_ASRATE_BIT)  #define ICDC_CR_ASRATE_44100	(0x7 << ICDC_CR_ASRATE_BIT)  #define ICDC_CR_ASRATE_48000	(0x8 << ICDC_CR_ASRATE_BIT)#define	ICDC_CR_MICBG_BIT	18 /* MIC Boost Gain */#define	ICDC_CR_MICBG_MASK	(0x3 << ICDC_CR_MICBG_BIT)  #define ICDC_CR_MICBG_0DB	(0x0 << ICDC_CR_MICBG_BIT)  #define ICDC_CR_MICBG_6DB	(0x1 << ICDC_CR_MICBG_BIT)  #define ICDC_CR_MICBG_12DB	(0x2 << ICDC_CR_MICBG_BIT)  #define ICDC_CR_MICBG_20DB	(0x3 << ICDC_CR_MICBG_BIT)#define	ICDC_CR_HPVOL_BIT	16 /* Headphone Volume Gain */#define	ICDC_CR_HPVOL_MASK	(0x3 << ICDC_CR_HPVOL_BIT)  #define ICDC_CR_HPVOL_0DB	(0x0 << ICDC_CR_HPVOL_BIT)  #define ICDC_CR_HPVOL_2DB	(0x1 << ICDC_CR_HPVOL_BIT)  #define ICDC_CR_HPVOL_4DB	(0x2 << ICDC_CR_HPVOL_BIT)  #define ICDC_CR_HPVOL_6DB	(0x3 << ICDC_CR_HPVOL_BIT)#define ICDC_CR_ELINEIN		(1 << 13) /* Enable LINE Input */#define ICDC_CR_EMIC		(1 << 12) /* Enable MIC Input */#define ICDC_CR_SW1ON		(1 << 11) /* Switch 1 in CODEC is on */#define ICDC_CR_EADC		(1 << 10) /* Enable ADC */#define ICDC_CR_SW2ON		(1 << 9)  /* Switch 2 in CODEC is on */#define ICDC_CR_EDAC		(1 << 8)  /* Enable DAC */#define ICDC_CR_HPMUTE		(1 << 5)  /* Headphone Mute */#define ICDC_CR_HPTON		(1 << 4)  /* Headphone Amplifier Trun On */#define ICDC_CR_HPTOFF		(1 << 3)  /* Headphone Amplifier Trun Off */#define ICDC_CR_TAAP		(1 << 2)  /* Turn Around of the Anti-Pop Procedure */#define ICDC_CR_EAP		(1 << 1)  /* Enable Anti-Pop Procedure */#define ICDC_CR_SUSPD		(1 << 0)  /* CODEC Suspend *//* Anti-Pop WAIT Stage Timing Control Register */#define	ICDC_APWAIT_WAITSN_BIT	0#define	ICDC_APWAIT_WAITSN_MASK	(0x7ff << ICDC_APWAIT_WAITSN_BIT)/* Anti-Pop HPEN-PRE Stage Timing Control Register */#define	ICDC_APPRE_PRESN_BIT	0#define	ICDC_APPRE_PRESN_MASK	(0x1ff << ICDC_APPRE_PRESN_BIT)/* Anti-Pop HPEN Stage Timing Control Register */#define	ICDC_APHPEN_HPENSN_BIT	0#define	ICDC_APHPEN_HPENSN_MASK	(0x3fff << ICDC_APHPEN_HPENSN_BIT)/* Anti-Pop Status Register */#define	ICDC_SR_HPST_BIT	14  /* Headphone Amplifier State */#define	ICDC_SR_HPST_MASK	(0x7 << ICDC_SR_HPST_BIT)#define ICDC_SR_HPST_HP_OFF	 (0x0 << ICDC_SR_HPST_BIT) /* HP amplifier is off */#define ICDC_SR_HPST_TON_WAIT	 (0x1 << ICDC_SR_HPST_BIT) /* wait state in turn-on */  #define ICDC_SR_HPST_TON_PRE	 (0x2 << ICDC_SR_HPST_BIT) /* pre-enable state in turn-on */#define ICDC_SR_HPST_TON_HPEN	 (0x3 << ICDC_SR_HPST_BIT) /* HP enable state in turn-on */  #define ICDC_SR_HPST_TOFF_HPEN (0x4 << ICDC_SR_HPST_BIT) /* HP enable state in turn-off */  #define ICDC_SR_HPST_TOFF_PRE  (0x5 << ICDC_SR_HPST_BIT) /* pre-enable state in turn-off */  #define ICDC_SR_HPST_TOFF_WAIT (0x6 << ICDC_SR_HPST_BIT) /* wait state in turn-off */  #define ICDC_SR_HPST_HP_ON	 (0x7 << ICDC_SR_HPST_BIT) /* HP amplifier is on */#define	ICDC_SR_SNCNT_BIT	0  /* Sample Number Counter */#define	ICDC_SR_SNCNT_MASK	(0x3fff << ICDC_SR_SNCNT_BIT)/************************************************************************* * I2C *************************************************************************/#define	I2C_DR			(I2C_BASE + 0x000)#define	I2C_CR			(I2C_BASE + 0x004)#define	I2C_SR			(I2C_BASE + 0x008)#define	I2C_GR			(I2C_BASE + 0x00C)#define	REG_I2C_DR		REG8(I2C_DR)#define	REG_I2C_CR		REG8(I2C_CR)#define REG_I2C_SR		REG8(I2C_SR)#define REG_I2C_GR		REG16(I2C_GR)/* I2C Control Register (I2C_CR) */#define I2C_CR_IEN		(1 << 4)#define I2C_CR_STA		(1 << 3)#define I2C_CR_STO		(1 << 2)#define I2C_CR_AC		(1 << 1)#define I2C_CR_I2CE		(1 << 0)/* I2C Status Register (I2C_SR) */#define I2C_SR_STX		(1 << 4)#define I2C_SR_BUSY		(1 << 3)#define I2C_SR_TEND		(1 << 2)#define I2C_SR_DRF		(1 << 1)#define I2C_SR_ACKF		(1 << 0)/************************************************************************* * SSI *************************************************************************/#define	SSI_DR			(SSI_BASE + 0x000)#define	SSI_CR0			(SSI_BASE + 0x004)#define	SSI_CR1			(SSI_BASE + 0x008)#define	SSI_SR			(SSI_BASE + 0x00C)#define	SSI_ITR			(SSI_BASE + 0x010)#define	SSI_ICR			(SSI_BASE + 0x014)#define	SSI_GR			(SSI_BASE + 0x018)#define	REG_SSI_DR		REG32(SSI_DR)#define	REG_SSI_CR0		REG16(SSI_CR0)#define	REG_SSI_CR1		REG32(SSI_CR1)#define	REG_SSI_SR		REG32(SSI_SR)#define	REG_SSI_ITR		REG16(SSI_ITR)#define	REG_SSI_ICR		REG8(SSI_ICR)#define	REG_SSI_GR		REG16(SSI_GR)/* SSI Data Register (SSI_DR) */#define	SSI_DR_GPC_BIT		0#define	SSI_DR_GPC_MASK		(0x1ff << SSI_DR_GPC_BIT)/* SSI Control Register 0 (SSI_CR0) */#define SSI_CR0_SSIE		(1 << 15)#define SSI_CR0_TIE		(1 << 14)#define SSI_CR0_RIE		(1 << 13)#define SSI_CR0_TEIE		(1 << 12)#define SSI_CR0_REIE		(1 << 11)#define SSI_CR0_LOOP		(1 << 10)#define SSI_CR0_RFINE		(1 << 9)#define SSI_CR0_RFINC		(1 << 8)#define SSI_CR0_FSEL		(1 << 6)#define SSI_CR0_TFLUSH		(1 << 2)#define SSI_CR0_RFLUSH		(1 << 1)#define SSI_CR0_DISREV		(1 << 0)/* SSI Control Register 1 (SSI_CR1) */#define SSI_CR1_FRMHL_BIT	30#define SSI_CR1_FRMHL_MASK	(0x3 << SSI_CR1_FRMHL_BIT)  #define SSI_CR1_FRMHL_CELOW_CE2LOW	(0 << SSI_CR1_FRMHL_BIT) /* SSI_CE_ is low valid and SSI_CE2_ is low valid */  #define SSI_CR1_FRMHL_CEHIGH_CE2LOW	(1 << SSI_CR1_FRMHL_BIT) /* SSI_CE_ is high valid and SSI_CE2_ is low valid */  #define SSI_CR1_FRMHL_CELOW_CE2HIGH	(2 << SSI_CR1_FRMHL_BIT) /* SSI_CE_ is low valid  and SSI_CE2_ is high valid */  #define SSI_CR1_FRMHL_CEHIGH_CE2HIGH	(3 << SSI_CR1_FRMHL_BIT) /* SSI_CE_ is high valid and SSI_CE2_ is high valid */#define SSI_CR1_TFVCK_BIT	28#define SSI_CR1_TFVCK_MASK	(0x3 << SSI_CR1_TFVCK_BIT)  #define SSI_CR1_TFVCK_0	  (0 << SSI_CR1_TFVCK_BIT)  #define SSI_CR1_TFVCK_1	  (1 << SSI_CR1_TFVCK_BIT)  #define SSI_CR1_TFVCK_2	  (2 << SSI_CR1_TFVCK_BIT)  #define SSI_CR1_TFVCK_3	  (3 << SSI_CR1_TFVCK_BIT)#define SSI_CR1_TCKFI_BIT	26#define SSI_CR1_TCKFI_MASK	(0x3 << SSI_CR1_TCKFI_BIT)  #define SSI_CR1_TCKFI_0	  (0 << SSI_CR1_TCKFI_BIT)  #define SSI_CR1_TCKFI_1	  (1 << SSI_CR1_TCKFI_BIT)  #define SSI_CR1_TCKFI_2	  (2 << SSI_CR1_TCKFI_BIT)  #define SSI_CR1_TCKFI_3	  (3 << SSI_CR1_TCKFI_BIT)#define SSI_CR1_LFST		(1 << 25)#define SSI_CR1_ITFRM		(1 << 24)#define SSI_CR1_UNFIN		(1 << 23)#define SSI_CR1_MULTS		(1 << 22)#define SSI_CR1_FMAT_BIT	20#define SSI_CR1_FMAT_MASK	(0x3 << SSI_CR1_FMAT_BIT)  #define SSI_CR1_FMAT_SPI	  (0 << SSI_CR1_FMAT_BIT) /* Motorola¡¯s SPI format */  #define SSI_CR1_FMAT_SSP	  (1 << SSI_CR1_FMAT_BIT) /* TI's SSP format */  #define SSI_CR1_FMAT_MW1	  (2 << SSI_CR1_FMAT_BIT) /* National Microwire 1 format */  #define SSI_CR1_FMAT_MW2	  (3 << SSI_CR1_FMAT_BIT) /* National Microwire 2 format */#define SSI_CR1_MCOM_BIT	12#define SSI_CR1_MCOM_MASK	(0xf << SSI_CR1_MCOM_BIT)  #define SSI_CR1_MCOM_1BIT	  (0x0 << SSI_CR1_MCOM_BIT) /* 1-bit command selected */  #define SSI_CR1_MCOM_2BIT	  (0x1 << SSI_CR1_MCOM_BIT) /* 2-bit command selected */  #define SSI_CR1_MCOM_3BIT	  (0x2 << SSI_CR1_MCOM_BIT) /* 3-bit command selected */  #define SSI_CR1_MCOM_4BIT	  (0x3 << SSI_CR1_MCOM_BIT) /* 4-bit command selected */  #define SSI_CR1_MCOM_5BIT	  (0x4 << SSI_CR1_MCOM_BIT) /* 5-bit command selected */  #define SSI_CR1_MCOM_6BIT	  (0x5 << SSI_CR1_MCOM_BIT) /* 6-bit command selected */  #define SSI_CR1_MCOM_7BIT	  (0x6 << SSI_CR1_MCOM_BIT) /* 7-bit command selected */  #define SSI_CR1_MCOM_8BIT	  (0x7 << SSI_CR1_MCOM_BIT) /* 8-bit command selected */  #define SSI_CR1_MCOM_9BIT	  (0x8 << SSI_CR1_MCOM_BIT) /* 9-bit command selected */  #define SSI_CR1_MCOM_10BIT	  (0x9 << SSI_CR1_MCOM_BIT) /* 10-bit command selected */  #define SSI_CR1_MCOM_11BIT	  (0xA << SSI_CR1_MCOM_BIT) /* 11-bit command selected */  #define SSI_CR1_MCOM_12BIT	  (0xB << SSI_CR1_MCOM_BIT) /* 12-bit command selected */  #define SSI_CR1_MCOM_13BIT	  (0xC << SSI_CR1_MCOM_BIT) /* 13-bit command selected */  #define SSI_CR1_MCOM_14BIT	  (0xD << SSI_CR1_MCOM_BIT) /* 14-bit command selected */  #define SSI_CR1_MCOM_15BIT	  (0xE << SSI_CR1_MCOM_BIT) /* 15-bit command selected */  #define SSI_CR1_MCOM_16BIT	  (0xF << SSI_CR1_MCOM_BIT) /* 16-bit command selected */#define SSI_CR1_TTRG_BIT	10#define SSI_CR1_TTRG_MASK	(0x3 << SSI_CR1_TTRG_BIT)  #define SSI_CR1_TTRG_1	  (0 << SSI_CR1_TTRG_BIT)/* Less than or equal to 1 */  #define SSI_CR1_TTRG_4	  (1 << SSI_CR1_TTRG_BIT) /* Less than or equal to 4 */  #define SSI_CR1_TTRG_8	  (2 << SSI_CR1_TTRG_BIT) /* Less than or equal to 8 */  #define SSI_CR1_TTRG_14	  (3 << SSI_CR1_TTRG_BIT) /* Less than or equal to 14 */#define SSI_CR1_RTRG_BIT	8#define SSI_CR1_RTRG_MASK	(0x3 << SSI_CR1_RTRG_BIT)  #define SSI_CR1_RTRG_1	  (0 << SSI_CR1_RTRG_BIT) /* More than or equal to 1 */  #define SSI_CR1_RTRG_4	  (1 << SSI_CR1_RTRG_BIT) /* More than or equal to 4 */  #define SSI_CR1_RTRG_8	  (2 << SSI_CR1_RTRG_BIT) /* More than or equal to 8 */  #define SSI_CR1_RTRG_14	  (3 << SSI_CR1_RTRG_BIT) /* More than or equal to 14 */#define SSI_CR1_FLEN_BIT	4#define SSI_CR1_FLEN_MASK	(0xf << SSI_CR1_FLEN_BIT)  #define SSI_CR1_FLEN_2BIT	  (0x0 << SSI_CR1_FLEN_BIT)  #define SSI_CR1_FLEN_3BIT	  (0x1 << SSI_CR1_FLEN_BIT)  #define SSI_CR1_FLEN_4BIT	  (0x2 << SSI_CR1_FLEN_BIT)  #define SSI_CR1_FLEN_5BIT	  (0x3 << SSI_CR1_FLEN_BIT)  #define SSI_CR1_FLEN_6BIT	  (0x4 << SSI_CR1_FLEN_BIT)  #define SSI_CR1_FLEN_7BIT	  (0x5 << SSI_CR1_FLEN_BIT)  #define SSI_CR1_FLEN_8BIT	  (0x6 << SSI_CR1_FLEN_BIT)  #define SSI_CR1_FLEN_9BIT	  (0x7 << SSI_CR1_FLEN_BIT)  #define SSI_CR1_FLEN_10BIT	  (0x8 << SSI_CR1_FLEN_BIT)  #define SSI_CR1_FLEN_11BIT	  (0x9 << SSI_CR1_FLEN_BIT)  #define SSI_CR1_FLEN_12BIT	  (0xA << SSI_CR1_FLEN_BIT)  #define SSI_CR1_FLEN_13BIT	  (0xB << SSI_CR1_FLEN_BIT)  #define SSI_CR1_FLEN_14BIT	  (0xC << SSI_CR1_FLEN_BIT)  #define SSI_CR1_FLEN_15BIT	  (0xD << SSI_CR1_FLEN_BIT)  #define SSI_CR1_FLEN_16BIT	  (0xE << SSI_CR1_FLEN_BIT)  #define SSI_CR1_FLEN_17BIT	  (0xF << SSI_CR1_FLEN_BIT)#define SSI_CR1_PHA		(1 << 1)#define SSI_CR1_POL		(1 << 0)/* SSI Status Register (SSI_SR) */#define SSI_SR_TFIFONUM_BIT	13#define SSI_SR_TFIFONUM_MASK	(0x1f << SSI_SR_TFIFONUM_BIT)#define SSI_SR_RFIFONUM_BIT	8#define SSI_SR_RFIFONUM_MASK	(0x1f << SSI_SR_RFIFONUM_BIT)#define SSI_SR_END		(1 << 7)#define SSI_SR_BUSY		(1 << 6)#define SSI_SR_TFF		(1 << 5)#define SSI_SR_RFE		(1 << 4)#define SSI_SR_TFHE		(1 << 3)#define SSI_SR_RFHF		(1 << 2)#define SSI_SR_UNDR		(1 << 1)#define SSI_SR_OVER		(1 << 0)/* SSI Interval Time Control Register (SSI_ITR) */#define	SSI_ITR_CNTCLK		(1 << 15)#define SSI_ITR_IVLTM_BIT	0#define SSI_ITR_IVLTM_MASK	(0x7fff << SSI_ITR_IVLTM_BIT)/************************************************************************* * MSC *************************************************************************/#define	MSC_STRPCL		(MSC_BASE + 0x000)#define	MSC_STAT		(MSC_BASE + 0x004)#define	MSC_CLKRT		(MSC_BASE + 0x008)#define	MSC_CMDAT		(MSC_BASE + 0x00C)#define	MSC_RESTO		(MSC_BASE + 0x010)#define	MSC_RDTO		(MSC_BASE + 0x014)#define	MSC_BLKLEN		(MSC_BASE + 0x018)#define	MSC_NOB			(MSC_BASE + 0x01C)#define	MSC_SNOB		(MSC_BASE + 0x020)#define	MSC_IMASK		(MSC_BASE + 0x024)#define	MSC_IREG		(MSC_BASE + 0x028)#define	MSC_CMD			(MSC_BASE + 0x02C)#define	MSC_ARG			(MSC_BASE + 0x030)#define	MSC_RES			(MSC_BASE + 0x034)#define	MSC_RXFIFO		(MSC_BASE + 0x038)#define	MSC_TXFIFO		(MSC_BASE + 0x03C)#define	REG_MSC_STRPCL		REG16(MSC_STRPCL)#define	REG_MSC_STAT		REG32(MSC_STAT)#define	REG_MSC_CLKRT		REG16(MSC_CLKRT)#define	REG_MSC_CMDAT		REG32(MSC_CMDAT)#define	REG_MSC_RESTO		REG16(MSC_RESTO)#define	REG_MSC_RDTO		REG16(MSC_RDTO)#define	REG_MSC_BLKLEN		REG16(MSC_BLKLEN)#define	REG_MSC_NOB		REG16(MSC_NOB)#define	REG_MSC_SNOB		REG16(MSC_SNOB)#define	REG_MSC_IMASK		REG16(MSC_IMASK)#define	REG_MSC_IREG		REG16(MSC_IREG)#define	REG_MSC_CMD		REG8(MSC_CMD)#define	REG_MSC_ARG		REG32(MSC_ARG)#define	REG_MSC_RES		REG16(MSC_RES)#define	REG_MSC_RXFIFO		REG32(MSC_RXFIFO)#define	REG_MSC_TXFIFO		REG32(MSC_TXFIFO)/* MSC Clock and Control Register (MSC_STRPCL) */#define MSC_STRPCL_EXIT_MULTIPLE	(1 << 7)#define MSC_STRPCL_EXIT_TRANSFER	(1 << 6)#define MSC_STRPCL_START_READWAIT	(1 << 5)#define MSC_STRPCL_STOP_READWAIT	(1 << 4)#define MSC_STRPCL_RESET		(1 << 3)#define MSC_STRPCL_START_OP		(1 << 2)#define MSC_STRPCL_CLOCK_CONTROL_BIT	0#define MSC_STRPCL_CLOCK_CONTROL_MASK	(0x3 << MSC_STRPCL_CLOCK_CONTROL_BIT)  #define MSC_STRPCL_CLOCK_CONTROL_STOP	  (0x1 << MSC_STRPCL_CLOCK_CONTROL_BIT) /* Stop MMC/SD clock */  #define MSC_STRPCL_CLOCK_CONTROL_START  (0x2 << MSC_STRPCL_CLOCK_CONTROL_BIT) /* Start MMC/SD clock *//* MSC Status Register (MSC_STAT) */#define MSC_STAT_IS_RESETTING		(1 << 15)#define MSC_STAT_SDIO_INT_ACTIVE	(1 << 14)#define MSC_STAT_PRG_DONE		(1 << 13)#define MSC_STAT_DATA_TRAN_DONE		(1 << 12)#define MSC_STAT_END_CMD_RES		(1 << 11)#define MSC_STAT_DATA_FIFO_AFULL	(1 << 10)#define MSC_STAT_IS_READWAIT		(1 << 9)#define MSC_STAT_CLK_EN			(1 << 8)#define MSC_STAT_DATA_FIFO_FULL		(1 << 7)#define MSC_STAT_DATA_FIFO_EMPTY	(1 << 6)#define MSC_STAT_CRC_RES_ERR		(1 << 5)#define MSC_STAT_CRC_READ_ERROR		(1 << 4)#define MSC_STAT_CRC_WRITE_ERROR_BIT	2#define MSC_STAT_CRC_WRITE_ERROR_MASK	(0x3 << MSC_STAT_CRC_WRITE_ERROR_BIT)  #define MSC_STAT_CRC_WRITE_ERROR_NO		(0 << MSC_STAT_CRC_WRITE_ERROR_BIT) /* No error on transmission of data */  #define MSC_STAT_CRC_WRITE_ERROR		(1 << MSC_STAT_CRC_WRITE_ERROR_BIT) /* Card observed erroneous transmission of data */  #define MSC_STAT_CRC_WRITE_ERROR_NOSTS	(2 << MSC_STAT_CRC_WRITE_ERROR_BIT) /* No CRC status is sent back */#define MSC_STAT_TIME_OUT_RES		(1 << 1)#define MSC_STAT_TIME_OUT_R

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -