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