cslr_spi.h

来自「dsp在音频处理中的运用」· C头文件 代码 · 共 1,379 行 · 第 1/4 页

H
1,379
字号
#ifndef _CSLR_SPI_001_H_
#define _CSLR_SPI_001_H_

#include <cslr.h>
#include <tistdtypes.h>


/**************************************************************************\
* Register Overlay Structure
\**************************************************************************/
typedef struct  {
    volatile Uint32 SPI_REV;
    volatile Uint32 SPI_RESERVED1;
    volatile Uint32 SPI_RESERVED2;
    volatile Uint32 SPI_RESERVED3;
    volatile Uint32 SPI_SCR;
    volatile Uint32 SPI_SSR;
    volatile Uint32 SPI_ISR;
    volatile Uint32 SPI_IER;
    volatile Uint32 SPI_RESERVED4;
    volatile Uint32 SPI_SET1;
    volatile Uint32 SPI_SET2;
    volatile Uint32 SPI_CTRL;
    volatile Uint32 SPI_DSR;
    volatile Uint32 SPI_TX;
    volatile Uint32 SPI_RX;
    volatile Uint32 SPI_TEST;
} CSL_SpiRegs;
typedef CSL_SpiRegs*			CSL_SpiRegsOvly;

/**************************************************************************\
* Register Id's
\**************************************************************************/
typedef enum  {
   CSL_SPI_SPIGCR0 = 0x0000u,
   CSL_SPI_SPIGCR1 = 0x0004u,
   CSL_SPI_SPIINT0 = 0x0008u,
   CSL_SPI_SPILVL = 0x000cu,
   CSL_SPI_SPIFLG = 0x0010u,
   CSL_SPI_SPIPC0 = 0x0014u,
   CSL_SPI_SPIPC1 = 0x0018u,
   CSL_SPI_SPIPC2 = 0x001cu,
   CSL_SPI_SPIPC3 = 0x0020u,
   CSL_SPI_SPIPC4 = 0x0024u,
   CSL_SPI_SPIPC5 = 0x0028u,
   CSL_SPI_SPIPC6 = 0x002cu,
   CSL_SPI_SPIPC7 = 0x0030u,
   CSL_SPI_SPIDAT0 = 0x0034u,
   CSL_SPI_SPIDAT1 = 0x0038u,
   CSL_SPI_SPIBUF = 0x003cu,
   CSL_SPI_SPIEMU = 0x0040u,
   CSL_SPI_SPIDELAY = 0x0044u,
   CSL_SPI_SPIDEF = 0x0048u,
   CSL_SPI_SPIFMT = 0x004cu,
   CSL_SPI_TGINTVEC = 0x005cu,
   CSL_SPI_SPIE = 0x0070u,
   CSL_SPI_TGITENST = 0x0074u,
   CSL_SPI_TGITENCR = 0x0078u,
   CSL_SPI_TGITLVST = 0x007cu,
   CSL_SPI_TGITLVCR = 0x0080u,
   CSL_SPI_TGINTFLAG = 0x0084u,
   CSL_SPI_TICKCNT = 0x0090u,
   CSL_SPI_LTGPEND = 0x0094u,
   CSL_SPI_TGCTRL = 0x0098u,
   CSL_SPI_DMACTRL = 0x00d8u,
   CSL_SPI_TXBUF = 0x0400u,
   CSL_SPI_RXBUF = 0x0500u
} CSL_SpiRegIds;

/**************************************************************************\
* Field Definition Macros
\**************************************************************************/

/* SPIREV */
#define CSL_SPI_SPIREV_REV_MASK         (0x000000FFu)
#define CSL_SPI_SPIREV_REV_SHIFT        (0x00000000u)
#define CSL_SPI_SPIREV_REV_RESETVAL     (0x00000000u)
#define CSL_SPI_SPIREV_RESETVAL         (0x00000000u)

/* SPISCR */
#define CSL_SPI_SPISCR_IDLEMODE_MASK    (0x00000018u)
#define CSL_SPI_SPISCR_IDLEMODE_SHIFT   (0x00000003u)
#define CSL_SPI_SPISCR_IDLEMODE_RESETVAL (0x00000000u)
#define CSL_SPI_SPISCR_IDLEMODE_FRC     (0x00000000u)
#define CSL_SPI_SPISCR_IDLEMODE_NO      (0x00000001u)
#define CSL_SPI_SPISCR_IDLEMODE_SMRT    (0x00000002u)

#define CSL_SPI_SPISCR_WAKEUPEN_MASK    (0x00000004u)
#define CSL_SPI_SPISCR_WAKEUPEN_SHIFT   (0x00000002u)
#define CSL_SPI_SPISCR_WAKEUPEN_RESETVAL (0x00000000u)
#define CSL_SPI_SPISCR_WAKEUPEN_DIS     (0x00000000u)
#define CSL_SPI_SPISCR_WAKEUPEN_EN      (0x00000001u)

#define CSL_SPI_SPISCR_RESET_MASK		(0x00000002u)
#define CSL_SPI_SPISCR_RESET_SHIFT		(0x00000001u)
#define CSL_SPI_SPISCR_RESET_RESETVAL	(0x00000000u)
#define CSL_SPI_SPISCR_RESET_YES		(0x00000001u)
#define CSL_SPI_SPISCR_RESET_NO			(0x00000000u)

#define CSL_SPI_SPISCR_AUTO_IDLE_MASK   (0x00000001u)
#define CSL_SPI_SPISCR_AUTO_IDLE_SHIFT  (0x00000000u)
#define CSL_SPI_SPISCR_AUTO_IDLE_RESETVAL (0x00000000u)
#define CSL_SPI_SPISCR_AUTO_IDLE_FREE   (0x00000000u)
#define CSL_SPI_SPISCR_AUTO_IDLE_AUTO   (0x00000001u)

#define CSL_SPI_SPISCR_RESETVAL         (0x00000000u)

/* SPISSR */
#define CSL_SPI_SPISSR_RESET_MASK		(0x00000001u)
#define CSL_SPI_SPISSR_RESET_SHIFT		(0x00000000u)
#define CSL_SPI_SPISSR_RESET_RESETVAL	(0x00000000u)
#define CSL_SPI_SPISSR_RESET_VAL		(0x00000001u)

#define CSL_SPI_SPISSR_RESETVAL         (0x00000000u)

/* SPIISR */
#define CSL_SPI_SPIISR_FLAG_MASK		(0x0000001Fu)
#define CSL_SPI_SPIISR_FLAG_SHIFT		(0x00000000u)
#define CSL_SPI_SPIISR_FLAG_RESETVAL	(0x00000000u)
#define CSL_SPI_SPIISR_FLAG_ENABLE		(0x00000001u)
#define CSL_SPI_SPIISR_FLAG_DISABLE		(0x00000000u)

#define CSL_SPI_SPIISR_RESETVAL         (0x00000000u)

/* SPIIER */
#define CSL_SPI_SPIIER_INT_MASK			(0x0000001Fu)
#define CSL_SPI_SPIIER_INT_SHIFT		(0x00000000u)
#define CSL_SPI_SPIIER_INT_RESETVAL		(0x00000000u)
#define CSL_SPI_SPIIER_INT_ENABLE		(0x00000001u)
#define CSL_SPI_SPIIER_INT_DISABLE		(0x00000000u)

#define CSL_SPI_SPIIER_RESETVAL         (0x00000000u)

/* SPISET1 */
#define CSL_SPI_SPISET1_SPIEN_MASK		(0x00000001u)
#define CSL_SPI_SPISET1_SPIEN_SHIFT		(0x00000000u)
#define CSL_SPI_SPISET1_SPIEN_RESETVAL	(0x00000000u)
#define CSL_SPI_SPISET1_SPIEN_ENABLE	(0x00000001u)
#define CSL_SPI_SPISET1_SPIEN_DISABLE	(0x00000000u)

#define CSL_SPI_SPISET1_PRESCALE_MASK	(0x0000001Eu)
#define CSL_SPI_SPISET1_PRESCALE_SHIFT	(0x00000001u)
#define CSL_SPI_SPISET1_PRESCALE_RESETVAL (0x00000000u)

#define CSL_SPI_SPISET1_DMA_MASK		(0x00000020u)
#define CSL_SPI_SPISET1_DMA_SHIFT		(0x00000005u)
#define CSL_SPI_SPISET1_DMA_RESETVAL	(0x00000000u)
#define CSL_SPI_SPISET1_DMA_ENABLE		(0x00000001u)
#define CSL_SPI_SPISET1_DMA_DISABLE		(0x00000000u)

#define CSL_SPI_SPISET1_RESETVAL         (0x00000000u)

/* SPISET2 */
#define CSL_SPI_SPISET2_MASTER_MASK		(0x00008000u)
#define CSL_SPI_SPISET2_MASTER_SHIFT	(0x0000000Fu)
#define CSL_SPI_SPISET2_MASTER_RESETVAL	(0x00000000u)
#define CSL_SPI_SPISET2_MASTER_NO		(0x00000000u)
#define CSL_SPI_SPISET2_MASTER_YES		(0x00000001u)

#define CSL_SPI_SPISET2_PHASE_MASK		(0x00007C00u)
#define CSL_SPI_SPISET2_PHASE_SHIFT		(0x0000000Au)
#define CSL_SPI_SPISET2_PHASE_RESETVAL	(0x00000000u)
#define CSL_SPI_SPISET2_PHASE_IN		(0x00000001u)
#define CSL_SPI_SPISET2_PHASE_OUT		(0x00000000u)

#define CSL_SPI_SPISET2_CE_MASK         (0x000003E0u)
#define CSL_SPI_SPISET2_CE_SHIFT        (0x00000005u)
#define CSL_SPI_SPISET2_CE_RESETVAL     (0x00000000u)
#define CSL_SPI_SPISET2_CE_HIGH         (0x00000001u)
#define CSL_SPI_SPISET2_CE_LOW           (0x00000000u)

#define CSL_SPI_SPISET2_POLARITY_MASK	(0x0000001Fu)
#define CSL_SPI_SPISET2_POLARITY_SHIFT	(0x00000000u)
#define CSL_SPI_SPISET2_POLARITY_RESETVAL (0x00000000u)
#define CSL_SPI_SPISET2_POLARITY_IN		(0x00000001u)
#define CSL_SPI_SPISET2_POLARITY_OUT	(0x00000000u)

#define CSL_SPI_SPISET2_RESETVAL         (0x00000000u)

/* SPICTRL */
#define CSL_SPI_SPICTRL_CSEL_MASK		(0x00000F80u)
#define CSL_SPI_SPICTRL_CSEL_SHIFT		(0x00000007u)
#define CSL_SPI_SPICTRL_CSEL_RESETVAL	(0x00000000u)
#define CSL_SPI_SPICTRL_CSEL_ENABLE		(0x00000001u)
#define CSL_SPI_SPICTRL_CSEL_DISABLE	(0x00000000u)

#define CSL_SPI_SPICTRL_NBITS_MASK		(0x0000007Cu)
#define CSL_SPI_SPICTRL_NBITS_SHIFT		(0x00000002u)
#define CSL_SPI_SPICTRL_NBITS_RESETVAL	(0x00000000u)

#define CSL_SPI_SPICTRL_RW_MASK			(0x00000001u)
#define CSL_SPI_SPICTRL_RW_SHIFT		(0x00000000u)
#define CSL_SPI_SPICTRL_RW_RESETVAL		(0x00000000u)
#define CSL_SPI_SPICTRL_RW_ENABLE		(0x00000001u)
#define CSL_SPI_SPICTRL_RW_DISABLE		(0x00000000u)

#define CSL_SPI_SPICTRL_W_MASK			(0x00000002u)
#define CSL_SPI_SPICTRL_W_SHIFT			(0x00000001u)
#define CSL_SPI_SPICTRL_W_RESETVAL		(0x00000000u)
#define CSL_SPI_SPICTRL_W_ENABLE		(0x00000001u)
#define CSL_SPI_SPICTRL_W_DISABLE		(0x00000000u)

#define CSL_SPI_SPICTRL_RESETVAL        (0x00000000u)

/* SPITX */

#define CSL_SPI_SPITX_RESETVAL         (0x00000000u)

/* SPITEST */
#define CSL_SPI_SPITEST_LOOPBK_MASK		(0x00000001u)
#define CSL_SPI_SPITEST_LOOPBK_SHIFT	(0x00000000u)
#define CSL_SPI_SPITEST_LOOPBK_RESETVAL	(0x00000000u)
#define CSL_SPI_SPITEST_LOOPBK_DISABLE	(0x00000000u)
#define CSL_SPI_SPITEST_LOOPBK_ENABLE	(0x00000001u)

#define CSL_SPI_SPITEST_RESETVAL         (0x00000000u)

/* Mispi Definition maintained here for compatability */

#define CSL_SPI_SPIGCR0_RESET_MASK    (0x00000001u)
#define CSL_SPI_SPIGCR0_RESET_SHIFT   (0x00000000u)
#define CSL_SPI_SPIGCR0_RESET_RESETVAL (0x00000000u)
#define CSL_SPI_SPIGCR0_RESET_YES     (0x00000000u)
#define CSL_SPI_SPIGCR0_RESET_NO      (0x00000001u)

#define CSL_SPI_SPIGCR0_RESETVAL      (0x00000000u)

/* SPIGCR1 */

#define CSL_SPI_SPIGCR1_SPIEN_MASK    	(0x01000000u)
#define CSL_SPI_SPIGCR1_SPIEN_SHIFT   	(0x00000018u)
#define CSL_SPI_SPIGCR1_SPIEN_RESETVAL 	(0x00000000u)
#define CSL_SPI_SPIGCR1_SPIEN_INRESET 	(0x00000000u)
#define CSL_SPI_SPIGCR1_SPIEN_ACTIVE  	(0x00000001u)

#define CSL_SPI_SPIGCR1_LOOPBK_MASK   	(0x00000001u)
#define CSL_SPI_SPIGCR1_LOOPBK_SHIFT  	(0x00000000u)
#define CSL_SPI_SPIGCR1_LOOPBK_RESETVAL 	(0x00000000u)
#define CSL_SPI_SPIGCR1_LOOPBK_DISABLE 	(0x00000000u)
#define CSL_SPI_SPIGCR1_LOOPBK_ENABLE 	(0x00000001u)

#define CSL_SPI_SPIGCR1_PWRDN_MASK    	(0x00000100u)
#define CSL_SPI_SPIGCR1_PWRDN_SHIFT   	(0x00000008u)
#define CSL_SPI_SPIGCR1_PWRDN_RESETVAL	(0x00000000u)
#define CSL_SPI_SPIGCR1_PWRDN_ACTIVE  	(0x00000000u)
#define CSL_SPI_SPIGCR1_PWRDN_PWRDN   	(0x00000001u)

#define CSL_SPI_SPIGCR1_CLKMOD_MASK   	(0x00000002u)
#define CSL_SPI_SPIGCR1_CLKMOD_SHIFT  	(0x00000001u)
#define CSL_SPI_SPIGCR1_CLKMOD_RESETVAL 	(0x00000000u)
#define CSL_SPI_SPIGCR1_CLKMOD_EXTERNAL 	(0x00000000u)
#define CSL_SPI_SPIGCR1_CLKMOD_INTERNAL 	(0x00000001u)

#define CSL_SPI_SPIGCR1_MASTER_MASK   	(0x00008000u)
#define CSL_SPI_SPIGCR1_MASTER_SHIFT  	(0x0000000Fu)
#define CSL_SPI_SPIGCR1_MASTER_RESETVAL 	(0x00000000u)
#define CSL_SPI_SPIGCR1_MASTER_NO     	(CSL_SPI_SPISET2_MASTER_NO)
#define CSL_SPI_SPIGCR1_MASTER_YES    	(CSL_SPI_SPISET2_MASTER_YES)

#define CSL_SPI_SPIGCR1_RESETVAL      	(0x00000002u)

/* SPIINT0 */

#define CSL_SPI_SPIINT0_ENAHIGHZ_MASK (0x01000000u)
#define CSL_SPI_SPIINT0_ENAHIGHZ_SHIFT (0x00000018u)
#define CSL_SPI_SPIINT0_ENAHIGHZ_RESETVAL (0x00000000u)
#define CSL_SPI_SPIINT0_ENAHIGHZ_DISABLE (0x00000000u)
#define CSL_SPI_SPIINT0_ENAHIGHZ_ENABLE (0x00000001u)

#define CSL_SPI_SPIINT0_DMAREQ_MASK   (0x00010000u)
#define CSL_SPI_SPIINT0_DMAREQ_SHIFT  (0x00000010u)
#define CSL_SPI_SPIINT0_DMAREQ_RESETVAL (0x00000000u)
#define CSL_SPI_SPIINT0_DMAREQ_DISABLE (0x00000000u)
#define CSL_SPI_SPIINT0_DMAREQ_ENABLE (0x00000001u)

#define CSL_SPI_SPIINT0_RXINT_MASK    (0x00000001u)
#define CSL_SPI_SPIINT0_RXINT_SHIFT   (0x00000000u)
#define CSL_SPI_SPIINT0_RXINT_RESETVAL (0x00000000u)
#define CSL_SPI_SPIINT0_RXINT_DISABLE (0x00000000u)
#define CSL_SPI_SPIINT0_RXINT_ENABLE  (0x00000001u)

#define CSL_SPI_SPIINT0_OVRNINT_MASK  (0x00000004u)
#define CSL_SPI_SPIINT0_OVRNINT_SHIFT (0x00000003u)
#define CSL_SPI_SPIINT0_OVRNINT_RESETVAL (0x00000000u)
#define CSL_SPI_SPIINT0_OVRNINT_DISABLE (0x00000000u)
#define CSL_SPI_SPIINT0_OVRNINT_ENABLE (0x00000001u)

#define CSL_SPI_SPIINT0_BITERR_MASK   (0x00000010u)
#define CSL_SPI_SPIINT0_BITERR_SHIFT  (0x00000004u)
#define CSL_SPI_SPIINT0_BITERR_RESETVAL (0x00000000u)
#define CSL_SPI_SPIINT0_BITERR_DISABLE (0x00000000u)
#define CSL_SPI_SPIINT0_BITERR_ENABLE (0x00000001u)

#define CSL_SPI_SPIINT0_DESYNC_MASK   (0x00000008u)
#define CSL_SPI_SPIINT0_DESYNC_SHIFT  (0x00000004u)
#define CSL_SPI_SPIINT0_DESYNC_RESETVAL (0x00000000u)
#define CSL_SPI_SPIINT0_DESYNC_DISABLE (0x00000000u)
#define CSL_SPI_SPIINT0_DESYNC_ENABLE (0x00000001u)

#define CSL_SPI_SPIINT0_PARERR_MASK   (0x00000010u)
#define CSL_SPI_SPIINT0_PARERR_SHIFT  (0x00000005u)
#define CSL_SPI_SPIINT0_PARERR_RESETVAL (0x00000000u)
#define CSL_SPI_SPIINT0_PARERR_DISABLE (0x00000000u)
#define CSL_SPI_SPIINT0_PARERR_ENABLE (0x00000001u)

#define CSL_SPI_SPIINT0_TIMEOUT_MASK  (0x00000020u)
#define CSL_SPI_SPIINT0_TIMEOUT_SHIFT (0x00000005u)
#define CSL_SPI_SPIINT0_TIMEOUT_RESETVAL (0x00000000u)
#define CSL_SPI_SPIINT0_TIMEOUT_DISABLE (0x00000000u)
#define CSL_SPI_SPIINT0_TIMEOUT_ENABLE (0x00000001u)

#define CSL_SPI_SPIINT0_RESETVAL      (0x00000000u)

/* SPILVL */

#define CSL_SPI_SPILVL_RXINT_MASK     (0x00000100u)
#define CSL_SPI_SPILVL_RXINT_SHIFT    (0x00000008u)
#define CSL_SPI_SPILVL_RXINT_RESETVAL (0x00000000u)
#define CSL_SPI_SPILVL_RXINT_INT0     (0x00000000u)
#define CSL_SPI_SPILVL_RXINT_INT1     (0x00000001u)

#define CSL_SPI_SPILVL_OVRNINT_MASK   (0x00000040u)
#define CSL_SPI_SPILVL_OVRNINT_SHIFT  (0x00000006u)
#define CSL_SPI_SPILVL_OVRNINT_RESETVAL (0x00000000u)
#define CSL_SPI_SPILVL_OVRNINT_INT0   (0x00000000u)
#define CSL_SPI_SPILVL_OVRNINT_INT1   (0x00000001u)

#define CSL_SPI_SPILVL_BITERR_MASK    (0x00000010u)
#define CSL_SPI_SPILVL_BITERR_SHIFT   (0x00000004u)
#define CSL_SPI_SPILVL_BITERR_RESETVAL (0x00000000u)
#define CSL_SPI_SPILVL_BITERR_INT0    (0x00000000u)
#define CSL_SPI_SPILVL_BITERR_INT1    (0x00000001u)

#define CSL_SPI_SPILVL_DESYNC_MASK    (0x00000008u)
#define CSL_SPI_SPILVL_DESYNC_SHIFT   (0x00000003u)
#define CSL_SPI_SPILVL_DESYNC_RESETVAL (0x00000000u)
#define CSL_SPI_SPILVL_DESYNC_INT0    (0x00000000u)
#define CSL_SPI_SPILVL_DESYNC_INT1    (0x00000001u)

#define CSL_SPI_SPILVL_PARERR_MASK    (0x00000004u)
#define CSL_SPI_SPILVL_PARERR_SHIFT   (0x00000002u)
#define CSL_SPI_SPILVL_PARERR_RESETVAL (0x00000000u)
#define CSL_SPI_SPILVL_PARERR_INT0    (0x00000000u)
#define CSL_SPI_SPILVL_PARERR_INT1    (0x00000001u)

⌨️ 快捷键说明

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