35 #ifndef _SAME70_I2SC_COMPONENT_    36 #define _SAME70_I2SC_COMPONENT_    44 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))    61 #define I2SC_CR_RXEN (0x1u << 0)     62 #define I2SC_CR_RXDIS (0x1u << 1)     63 #define I2SC_CR_CKEN (0x1u << 2)     64 #define I2SC_CR_CKDIS (0x1u << 3)     65 #define I2SC_CR_TXEN (0x1u << 4)     66 #define I2SC_CR_TXDIS (0x1u << 5)     67 #define I2SC_CR_SWRST (0x1u << 7)     69 #define I2SC_MR_MODE (0x1u << 0)     70 #define   I2SC_MR_MODE_SLAVE (0x0u << 0)     71 #define   I2SC_MR_MODE_MASTER (0x1u << 0)     72 #define I2SC_MR_DATALENGTH_Pos 2    73 #define I2SC_MR_DATALENGTH_Msk (0x7u << I2SC_MR_DATALENGTH_Pos)     74 #define I2SC_MR_DATALENGTH(value) ((I2SC_MR_DATALENGTH_Msk & ((value) << I2SC_MR_DATALENGTH_Pos)))    75 #define   I2SC_MR_DATALENGTH_32_BITS (0x0u << 2)     76 #define   I2SC_MR_DATALENGTH_24_BITS (0x1u << 2)     77 #define   I2SC_MR_DATALENGTH_20_BITS (0x2u << 2)     78 #define   I2SC_MR_DATALENGTH_18_BITS (0x3u << 2)     79 #define   I2SC_MR_DATALENGTH_16_BITS (0x4u << 2)     80 #define   I2SC_MR_DATALENGTH_16_BITS_COMPACT (0x5u << 2)     81 #define   I2SC_MR_DATALENGTH_8_BITS (0x6u << 2)     82 #define   I2SC_MR_DATALENGTH_8_BITS_COMPACT (0x7u << 2)     83 #define I2SC_MR_FORMAT_Pos 6    84 #define I2SC_MR_FORMAT_Msk (0x3u << I2SC_MR_FORMAT_Pos)     85 #define I2SC_MR_FORMAT(value) ((I2SC_MR_FORMAT_Msk & ((value) << I2SC_MR_FORMAT_Pos)))    86 #define   I2SC_MR_FORMAT_I2S (0x0u << 6)     87 #define   I2SC_MR_FORMAT_LJ (0x1u << 6)     88 #define I2SC_MR_RXMONO (0x1u << 8)     89 #define I2SC_MR_RXDMA (0x1u << 9)     90 #define I2SC_MR_RXLOOP (0x1u << 10)     91 #define I2SC_MR_TXMONO (0x1u << 12)     92 #define I2SC_MR_TXDMA (0x1u << 13)     93 #define I2SC_MR_TXSAME (0x1u << 14)     94 #define I2SC_MR_IMCKDIV_Pos 16    95 #define I2SC_MR_IMCKDIV_Msk (0x3fu << I2SC_MR_IMCKDIV_Pos)     96 #define I2SC_MR_IMCKDIV(value) ((I2SC_MR_IMCKDIV_Msk & ((value) << I2SC_MR_IMCKDIV_Pos)))    97 #define I2SC_MR_IMCKFS_Pos 24    98 #define I2SC_MR_IMCKFS_Msk (0x3fu << I2SC_MR_IMCKFS_Pos)     99 #define I2SC_MR_IMCKFS(value) ((I2SC_MR_IMCKFS_Msk & ((value) << I2SC_MR_IMCKFS_Pos)))   100 #define   I2SC_MR_IMCKFS_M2SF32 (0x0u << 24)    101 #define   I2SC_MR_IMCKFS_M2SF64 (0x1u << 24)    102 #define   I2SC_MR_IMCKFS_M2SF96 (0x2u << 24)    103 #define   I2SC_MR_IMCKFS_M2SF128 (0x3u << 24)    104 #define   I2SC_MR_IMCKFS_M2SF192 (0x5u << 24)    105 #define   I2SC_MR_IMCKFS_M2SF256 (0x7u << 24)    106 #define   I2SC_MR_IMCKFS_M2SF384 (0xBu << 24)    107 #define   I2SC_MR_IMCKFS_M2SF512 (0xFu << 24)    108 #define   I2SC_MR_IMCKFS_M2SF768 (0x17u << 24)    109 #define   I2SC_MR_IMCKFS_M2SF1024 (0x1Fu << 24)    110 #define   I2SC_MR_IMCKFS_M2SF1536 (0x2Fu << 24)    111 #define   I2SC_MR_IMCKFS_M2SF2048 (0x3Fu << 24)    112 #define I2SC_MR_IMCKMODE (0x1u << 30)    113 #define I2SC_MR_IWS (0x1u << 31)    115 #define I2SC_SR_RXEN (0x1u << 0)    116 #define I2SC_SR_RXRDY (0x1u << 1)    117 #define I2SC_SR_RXOR (0x1u << 2)    118 #define I2SC_SR_TXEN (0x1u << 4)    119 #define I2SC_SR_TXRDY (0x1u << 5)    120 #define I2SC_SR_TXUR (0x1u << 6)    121 #define I2SC_SR_RXORCH_Pos 8   122 #define I2SC_SR_RXORCH_Msk (0x3u << I2SC_SR_RXORCH_Pos)    123 #define I2SC_SR_TXURCH_Pos 20   124 #define I2SC_SR_TXURCH_Msk (0x3u << I2SC_SR_TXURCH_Pos)    126 #define I2SC_SCR_RXOR (0x1u << 2)    127 #define I2SC_SCR_TXUR (0x1u << 6)    128 #define I2SC_SCR_RXORCH_Pos 8   129 #define I2SC_SCR_RXORCH_Msk (0x3u << I2SC_SCR_RXORCH_Pos)    130 #define I2SC_SCR_RXORCH(value) ((I2SC_SCR_RXORCH_Msk & ((value) << I2SC_SCR_RXORCH_Pos)))   131 #define I2SC_SCR_TXURCH_Pos 20   132 #define I2SC_SCR_TXURCH_Msk (0x3u << I2SC_SCR_TXURCH_Pos)    133 #define I2SC_SCR_TXURCH(value) ((I2SC_SCR_TXURCH_Msk & ((value) << I2SC_SCR_TXURCH_Pos)))   135 #define I2SC_SSR_RXOR (0x1u << 2)    136 #define I2SC_SSR_TXUR (0x1u << 6)    137 #define I2SC_SSR_RXORCH_Pos 8   138 #define I2SC_SSR_RXORCH_Msk (0x3u << I2SC_SSR_RXORCH_Pos)    139 #define I2SC_SSR_RXORCH(value) ((I2SC_SSR_RXORCH_Msk & ((value) << I2SC_SSR_RXORCH_Pos)))   140 #define I2SC_SSR_TXURCH_Pos 20   141 #define I2SC_SSR_TXURCH_Msk (0x3u << I2SC_SSR_TXURCH_Pos)    142 #define I2SC_SSR_TXURCH(value) ((I2SC_SSR_TXURCH_Msk & ((value) << I2SC_SSR_TXURCH_Pos)))   144 #define I2SC_IER_RXRDY (0x1u << 1)    145 #define I2SC_IER_RXOR (0x1u << 2)    146 #define I2SC_IER_TXRDY (0x1u << 5)    147 #define I2SC_IER_TXUR (0x1u << 6)    149 #define I2SC_IDR_RXRDY (0x1u << 1)    150 #define I2SC_IDR_RXOR (0x1u << 2)    151 #define I2SC_IDR_TXRDY (0x1u << 5)    152 #define I2SC_IDR_TXUR (0x1u << 6)    154 #define I2SC_IMR_RXRDY (0x1u << 1)    155 #define I2SC_IMR_RXOR (0x1u << 2)    156 #define I2SC_IMR_TXRDY (0x1u << 5)    157 #define I2SC_IMR_TXUR (0x1u << 6)    159 #define I2SC_RHR_RHR_Pos 0   160 #define I2SC_RHR_RHR_Msk (0xffffffffu << I2SC_RHR_RHR_Pos)    162 #define I2SC_THR_THR_Pos 0   163 #define I2SC_THR_THR_Msk (0xffffffffu << I2SC_THR_THR_Pos)    164 #define I2SC_THR_THR(value) ((I2SC_THR_THR_Msk & ((value) << I2SC_THR_THR_Pos)))   166 #define I2SC_VERSION_VERSION_Pos 0   167 #define I2SC_VERSION_VERSION_Msk (0xfffu << I2SC_VERSION_VERSION_Pos)    168 #define I2SC_VERSION_MFN_Pos 16   169 #define I2SC_VERSION_MFN_Msk (0x7u << I2SC_VERSION_MFN_Pos)  __O uint32_t I2SC_SCR
(I2sc Offset: 0x0C) Status Clear Register 
 
__O uint32_t I2SC_SSR
(I2sc Offset: 0x10) Status Set Register 
 
__O uint32_t I2SC_IDR
(I2sc Offset: 0x18) Interrupt Disable Register 
 
__O uint32_t I2SC_IER
(I2sc Offset: 0x14) Interrupt Enable Register 
 
__I uint32_t I2SC_VERSION
(I2sc Offset: 0x28) Version Register 
 
__O uint32_t I2SC_CR
(I2sc Offset: 0x00) Control Register 
 
__I uint32_t I2SC_SR
(I2sc Offset: 0x08) Status Register 
 
__I uint32_t I2SC_IMR
(I2sc Offset: 0x1C) Interrupt Mask Register 
 
__O uint32_t I2SC_THR
(I2sc Offset: 0x24) Transmitter Holding Register 
 
__I uint32_t I2SC_RHR
(I2sc Offset: 0x20) Receiver Holding Register 
 
__IO uint32_t I2SC_MR
(I2sc Offset: 0x04) Mode Register