35 #ifndef _SAME70_SSC_COMPONENT_    36 #define _SAME70_SSC_COMPONENT_    44 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))    49   __I  uint32_t Reserved1[2];
    56   __I  uint32_t Reserved2[2];
    65   __I  uint32_t Reserved3[37];
    68   __I  uint32_t Reserved4[4];
    73 #define SSC_CR_RXEN (0x1u << 0)     74 #define SSC_CR_RXDIS (0x1u << 1)     75 #define SSC_CR_TXEN (0x1u << 8)     76 #define SSC_CR_TXDIS (0x1u << 9)     77 #define SSC_CR_SWRST (0x1u << 15)     79 #define SSC_CMR_DIV_Pos 0    80 #define SSC_CMR_DIV_Msk (0xfffu << SSC_CMR_DIV_Pos)     81 #define SSC_CMR_DIV(value) ((SSC_CMR_DIV_Msk & ((value) << SSC_CMR_DIV_Pos)))    83 #define SSC_RCMR_CKS_Pos 0    84 #define SSC_RCMR_CKS_Msk (0x3u << SSC_RCMR_CKS_Pos)     85 #define SSC_RCMR_CKS(value) ((SSC_RCMR_CKS_Msk & ((value) << SSC_RCMR_CKS_Pos)))    86 #define   SSC_RCMR_CKS_MCK (0x0u << 0)     87 #define   SSC_RCMR_CKS_TK (0x1u << 0)     88 #define   SSC_RCMR_CKS_RK (0x2u << 0)     89 #define SSC_RCMR_CKO_Pos 2    90 #define SSC_RCMR_CKO_Msk (0x7u << SSC_RCMR_CKO_Pos)     91 #define SSC_RCMR_CKO(value) ((SSC_RCMR_CKO_Msk & ((value) << SSC_RCMR_CKO_Pos)))    92 #define   SSC_RCMR_CKO_NONE (0x0u << 2)     93 #define   SSC_RCMR_CKO_CONTINUOUS (0x1u << 2)     94 #define   SSC_RCMR_CKO_TRANSFER (0x2u << 2)     95 #define SSC_RCMR_CKI (0x1u << 5)     96 #define SSC_RCMR_CKG_Pos 6    97 #define SSC_RCMR_CKG_Msk (0x3u << SSC_RCMR_CKG_Pos)     98 #define SSC_RCMR_CKG(value) ((SSC_RCMR_CKG_Msk & ((value) << SSC_RCMR_CKG_Pos)))    99 #define   SSC_RCMR_CKG_CONTINUOUS (0x0u << 6)    100 #define   SSC_RCMR_CKG_EN_RF_LOW (0x1u << 6)    101 #define   SSC_RCMR_CKG_EN_RF_HIGH (0x2u << 6)    102 #define SSC_RCMR_START_Pos 8   103 #define SSC_RCMR_START_Msk (0xfu << SSC_RCMR_START_Pos)    104 #define SSC_RCMR_START(value) ((SSC_RCMR_START_Msk & ((value) << SSC_RCMR_START_Pos)))   105 #define   SSC_RCMR_START_CONTINUOUS (0x0u << 8)    106 #define   SSC_RCMR_START_TRANSMIT (0x1u << 8)    107 #define   SSC_RCMR_START_RF_LOW (0x2u << 8)    108 #define   SSC_RCMR_START_RF_HIGH (0x3u << 8)    109 #define   SSC_RCMR_START_RF_FALLING (0x4u << 8)    110 #define   SSC_RCMR_START_RF_RISING (0x5u << 8)    111 #define   SSC_RCMR_START_RF_LEVEL (0x6u << 8)    112 #define   SSC_RCMR_START_RF_EDGE (0x7u << 8)    113 #define   SSC_RCMR_START_CMP_0 (0x8u << 8)    114 #define SSC_RCMR_STOP (0x1u << 12)    115 #define SSC_RCMR_STTDLY_Pos 16   116 #define SSC_RCMR_STTDLY_Msk (0xffu << SSC_RCMR_STTDLY_Pos)    117 #define SSC_RCMR_STTDLY(value) ((SSC_RCMR_STTDLY_Msk & ((value) << SSC_RCMR_STTDLY_Pos)))   118 #define SSC_RCMR_PERIOD_Pos 24   119 #define SSC_RCMR_PERIOD_Msk (0xffu << SSC_RCMR_PERIOD_Pos)    120 #define SSC_RCMR_PERIOD(value) ((SSC_RCMR_PERIOD_Msk & ((value) << SSC_RCMR_PERIOD_Pos)))   122 #define SSC_RFMR_DATLEN_Pos 0   123 #define SSC_RFMR_DATLEN_Msk (0x1fu << SSC_RFMR_DATLEN_Pos)    124 #define SSC_RFMR_DATLEN(value) ((SSC_RFMR_DATLEN_Msk & ((value) << SSC_RFMR_DATLEN_Pos)))   125 #define SSC_RFMR_LOOP (0x1u << 5)    126 #define SSC_RFMR_MSBF (0x1u << 7)    127 #define SSC_RFMR_DATNB_Pos 8   128 #define SSC_RFMR_DATNB_Msk (0xfu << SSC_RFMR_DATNB_Pos)    129 #define SSC_RFMR_DATNB(value) ((SSC_RFMR_DATNB_Msk & ((value) << SSC_RFMR_DATNB_Pos)))   130 #define SSC_RFMR_FSLEN_Pos 16   131 #define SSC_RFMR_FSLEN_Msk (0xfu << SSC_RFMR_FSLEN_Pos)    132 #define SSC_RFMR_FSLEN(value) ((SSC_RFMR_FSLEN_Msk & ((value) << SSC_RFMR_FSLEN_Pos)))   133 #define SSC_RFMR_FSOS_Pos 20   134 #define SSC_RFMR_FSOS_Msk (0x7u << SSC_RFMR_FSOS_Pos)    135 #define SSC_RFMR_FSOS(value) ((SSC_RFMR_FSOS_Msk & ((value) << SSC_RFMR_FSOS_Pos)))   136 #define   SSC_RFMR_FSOS_NONE (0x0u << 20)    137 #define   SSC_RFMR_FSOS_NEGATIVE (0x1u << 20)    138 #define   SSC_RFMR_FSOS_POSITIVE (0x2u << 20)    139 #define   SSC_RFMR_FSOS_LOW (0x3u << 20)    140 #define   SSC_RFMR_FSOS_HIGH (0x4u << 20)    141 #define   SSC_RFMR_FSOS_TOGGLING (0x5u << 20)    142 #define SSC_RFMR_FSEDGE (0x1u << 24)    143 #define   SSC_RFMR_FSEDGE_POSITIVE (0x0u << 24)    144 #define   SSC_RFMR_FSEDGE_NEGATIVE (0x1u << 24)    145 #define SSC_RFMR_FSLEN_EXT_Pos 28   146 #define SSC_RFMR_FSLEN_EXT_Msk (0xfu << SSC_RFMR_FSLEN_EXT_Pos)    147 #define SSC_RFMR_FSLEN_EXT(value) ((SSC_RFMR_FSLEN_EXT_Msk & ((value) << SSC_RFMR_FSLEN_EXT_Pos)))   149 #define SSC_TCMR_CKS_Pos 0   150 #define SSC_TCMR_CKS_Msk (0x3u << SSC_TCMR_CKS_Pos)    151 #define SSC_TCMR_CKS(value) ((SSC_TCMR_CKS_Msk & ((value) << SSC_TCMR_CKS_Pos)))   152 #define   SSC_TCMR_CKS_MCK (0x0u << 0)    153 #define   SSC_TCMR_CKS_RK (0x1u << 0)    154 #define   SSC_TCMR_CKS_TK (0x2u << 0)    155 #define SSC_TCMR_CKO_Pos 2   156 #define SSC_TCMR_CKO_Msk (0x7u << SSC_TCMR_CKO_Pos)    157 #define SSC_TCMR_CKO(value) ((SSC_TCMR_CKO_Msk & ((value) << SSC_TCMR_CKO_Pos)))   158 #define   SSC_TCMR_CKO_NONE (0x0u << 2)    159 #define   SSC_TCMR_CKO_CONTINUOUS (0x1u << 2)    160 #define   SSC_TCMR_CKO_TRANSFER (0x2u << 2)    161 #define SSC_TCMR_CKI (0x1u << 5)    162 #define SSC_TCMR_CKG_Pos 6   163 #define SSC_TCMR_CKG_Msk (0x3u << SSC_TCMR_CKG_Pos)    164 #define SSC_TCMR_CKG(value) ((SSC_TCMR_CKG_Msk & ((value) << SSC_TCMR_CKG_Pos)))   165 #define   SSC_TCMR_CKG_CONTINUOUS (0x0u << 6)    166 #define   SSC_TCMR_CKG_EN_TF_LOW (0x1u << 6)    167 #define   SSC_TCMR_CKG_EN_TF_HIGH (0x2u << 6)    168 #define SSC_TCMR_START_Pos 8   169 #define SSC_TCMR_START_Msk (0xfu << SSC_TCMR_START_Pos)    170 #define SSC_TCMR_START(value) ((SSC_TCMR_START_Msk & ((value) << SSC_TCMR_START_Pos)))   171 #define   SSC_TCMR_START_CONTINUOUS (0x0u << 8)    172 #define   SSC_TCMR_START_RECEIVE (0x1u << 8)    173 #define   SSC_TCMR_START_TF_LOW (0x2u << 8)    174 #define   SSC_TCMR_START_TF_HIGH (0x3u << 8)    175 #define   SSC_TCMR_START_TF_FALLING (0x4u << 8)    176 #define   SSC_TCMR_START_TF_RISING (0x5u << 8)    177 #define   SSC_TCMR_START_TF_LEVEL (0x6u << 8)    178 #define   SSC_TCMR_START_TF_EDGE (0x7u << 8)    179 #define SSC_TCMR_STTDLY_Pos 16   180 #define SSC_TCMR_STTDLY_Msk (0xffu << SSC_TCMR_STTDLY_Pos)    181 #define SSC_TCMR_STTDLY(value) ((SSC_TCMR_STTDLY_Msk & ((value) << SSC_TCMR_STTDLY_Pos)))   182 #define SSC_TCMR_PERIOD_Pos 24   183 #define SSC_TCMR_PERIOD_Msk (0xffu << SSC_TCMR_PERIOD_Pos)    184 #define SSC_TCMR_PERIOD(value) ((SSC_TCMR_PERIOD_Msk & ((value) << SSC_TCMR_PERIOD_Pos)))   186 #define SSC_TFMR_DATLEN_Pos 0   187 #define SSC_TFMR_DATLEN_Msk (0x1fu << SSC_TFMR_DATLEN_Pos)    188 #define SSC_TFMR_DATLEN(value) ((SSC_TFMR_DATLEN_Msk & ((value) << SSC_TFMR_DATLEN_Pos)))   189 #define SSC_TFMR_DATDEF (0x1u << 5)    190 #define SSC_TFMR_MSBF (0x1u << 7)    191 #define SSC_TFMR_DATNB_Pos 8   192 #define SSC_TFMR_DATNB_Msk (0xfu << SSC_TFMR_DATNB_Pos)    193 #define SSC_TFMR_DATNB(value) ((SSC_TFMR_DATNB_Msk & ((value) << SSC_TFMR_DATNB_Pos)))   194 #define SSC_TFMR_FSLEN_Pos 16   195 #define SSC_TFMR_FSLEN_Msk (0xfu << SSC_TFMR_FSLEN_Pos)    196 #define SSC_TFMR_FSLEN(value) ((SSC_TFMR_FSLEN_Msk & ((value) << SSC_TFMR_FSLEN_Pos)))   197 #define SSC_TFMR_FSOS_Pos 20   198 #define SSC_TFMR_FSOS_Msk (0x7u << SSC_TFMR_FSOS_Pos)    199 #define SSC_TFMR_FSOS(value) ((SSC_TFMR_FSOS_Msk & ((value) << SSC_TFMR_FSOS_Pos)))   200 #define   SSC_TFMR_FSOS_NONE (0x0u << 20)    201 #define   SSC_TFMR_FSOS_NEGATIVE (0x1u << 20)    202 #define   SSC_TFMR_FSOS_POSITIVE (0x2u << 20)    203 #define   SSC_TFMR_FSOS_LOW (0x3u << 20)    204 #define   SSC_TFMR_FSOS_HIGH (0x4u << 20)    205 #define   SSC_TFMR_FSOS_TOGGLING (0x5u << 20)    206 #define SSC_TFMR_FSDEN (0x1u << 23)    207 #define SSC_TFMR_FSEDGE (0x1u << 24)    208 #define   SSC_TFMR_FSEDGE_POSITIVE (0x0u << 24)    209 #define   SSC_TFMR_FSEDGE_NEGATIVE (0x1u << 24)    210 #define SSC_TFMR_FSLEN_EXT_Pos 28   211 #define SSC_TFMR_FSLEN_EXT_Msk (0xfu << SSC_TFMR_FSLEN_EXT_Pos)    212 #define SSC_TFMR_FSLEN_EXT(value) ((SSC_TFMR_FSLEN_EXT_Msk & ((value) << SSC_TFMR_FSLEN_EXT_Pos)))   214 #define SSC_RHR_RDAT_Pos 0   215 #define SSC_RHR_RDAT_Msk (0xffffffffu << SSC_RHR_RDAT_Pos)    217 #define SSC_THR_TDAT_Pos 0   218 #define SSC_THR_TDAT_Msk (0xffffffffu << SSC_THR_TDAT_Pos)    219 #define SSC_THR_TDAT(value) ((SSC_THR_TDAT_Msk & ((value) << SSC_THR_TDAT_Pos)))   221 #define SSC_RSHR_RSDAT_Pos 0   222 #define SSC_RSHR_RSDAT_Msk (0xffffu << SSC_RSHR_RSDAT_Pos)    224 #define SSC_TSHR_TSDAT_Pos 0   225 #define SSC_TSHR_TSDAT_Msk (0xffffu << SSC_TSHR_TSDAT_Pos)    226 #define SSC_TSHR_TSDAT(value) ((SSC_TSHR_TSDAT_Msk & ((value) << SSC_TSHR_TSDAT_Pos)))   228 #define SSC_RC0R_CP0_Pos 0   229 #define SSC_RC0R_CP0_Msk (0xffffu << SSC_RC0R_CP0_Pos)    230 #define SSC_RC0R_CP0(value) ((SSC_RC0R_CP0_Msk & ((value) << SSC_RC0R_CP0_Pos)))   232 #define SSC_RC1R_CP1_Pos 0   233 #define SSC_RC1R_CP1_Msk (0xffffu << SSC_RC1R_CP1_Pos)    234 #define SSC_RC1R_CP1(value) ((SSC_RC1R_CP1_Msk & ((value) << SSC_RC1R_CP1_Pos)))   236 #define SSC_SR_TXRDY (0x1u << 0)    237 #define SSC_SR_TXEMPTY (0x1u << 1)    238 #define SSC_SR_RXRDY (0x1u << 4)    239 #define SSC_SR_OVRUN (0x1u << 5)    240 #define SSC_SR_CP0 (0x1u << 8)    241 #define SSC_SR_CP1 (0x1u << 9)    242 #define SSC_SR_TXSYN (0x1u << 10)    243 #define SSC_SR_RXSYN (0x1u << 11)    244 #define SSC_SR_TXEN (0x1u << 16)    245 #define SSC_SR_RXEN (0x1u << 17)    247 #define SSC_IER_TXRDY (0x1u << 0)    248 #define SSC_IER_TXEMPTY (0x1u << 1)    249 #define SSC_IER_RXRDY (0x1u << 4)    250 #define SSC_IER_OVRUN (0x1u << 5)    251 #define SSC_IER_CP0 (0x1u << 8)    252 #define SSC_IER_CP1 (0x1u << 9)    253 #define SSC_IER_TXSYN (0x1u << 10)    254 #define SSC_IER_RXSYN (0x1u << 11)    256 #define SSC_IDR_TXRDY (0x1u << 0)    257 #define SSC_IDR_TXEMPTY (0x1u << 1)    258 #define SSC_IDR_RXRDY (0x1u << 4)    259 #define SSC_IDR_OVRUN (0x1u << 5)    260 #define SSC_IDR_CP0 (0x1u << 8)    261 #define SSC_IDR_CP1 (0x1u << 9)    262 #define SSC_IDR_TXSYN (0x1u << 10)    263 #define SSC_IDR_RXSYN (0x1u << 11)    265 #define SSC_IMR_TXRDY (0x1u << 0)    266 #define SSC_IMR_TXEMPTY (0x1u << 1)    267 #define SSC_IMR_RXRDY (0x1u << 4)    268 #define SSC_IMR_OVRUN (0x1u << 5)    269 #define SSC_IMR_CP0 (0x1u << 8)    270 #define SSC_IMR_CP1 (0x1u << 9)    271 #define SSC_IMR_TXSYN (0x1u << 10)    272 #define SSC_IMR_RXSYN (0x1u << 11)    274 #define SSC_WPMR_WPEN (0x1u << 0)    275 #define SSC_WPMR_WPKEY_Pos 8   276 #define SSC_WPMR_WPKEY_Msk (0xffffffu << SSC_WPMR_WPKEY_Pos)    277 #define SSC_WPMR_WPKEY(value) ((SSC_WPMR_WPKEY_Msk & ((value) << SSC_WPMR_WPKEY_Pos)))   278 #define   SSC_WPMR_WPKEY_PASSWD (0x535343u << 8)    280 #define SSC_WPSR_WPVS (0x1u << 0)    281 #define SSC_WPSR_WPVSRC_Pos 8   282 #define SSC_WPSR_WPVSRC_Msk (0xffffu << SSC_WPSR_WPVSRC_Pos)    284 #define SSC_VERSION_VERSION_Pos 0   285 #define SSC_VERSION_VERSION_Msk (0xffffu << SSC_VERSION_VERSION_Pos)    286 #define SSC_VERSION_MFN_Pos 16   287 #define SSC_VERSION_MFN_Msk (0x7u << SSC_VERSION_MFN_Pos)  __I uint32_t SSC_WPSR
(Ssc Offset: 0xE8) Write Protection Status Register 
 
__IO uint32_t SSC_RC1R
(Ssc Offset: 0x3C) Receive Compare 1 Register 
 
__IO uint32_t SSC_TFMR
(Ssc Offset: 0x1C) Transmit Frame Mode Register 
 
__IO uint32_t SSC_WPMR
(Ssc Offset: 0xE4) Write Protection Mode Register 
 
__I uint32_t SSC_RHR
(Ssc Offset: 0x20) Receive Holding Register 
 
__IO uint32_t SSC_CMR
(Ssc Offset: 0x4) Clock Mode Register 
 
__O uint32_t SSC_THR
(Ssc Offset: 0x24) Transmit Holding Register 
 
__O uint32_t SSC_CR
(Ssc Offset: 0x0) Control Register 
 
__IO uint32_t SSC_RCMR
(Ssc Offset: 0x10) Receive Clock Mode Register 
 
__O uint32_t SSC_IER
(Ssc Offset: 0x44) Interrupt Enable Register 
 
__I uint32_t SSC_SR
(Ssc Offset: 0x40) Status Register 
 
__IO uint32_t SSC_TSHR
(Ssc Offset: 0x34) Transmit Sync. Holding Register 
 
__IO uint32_t SSC_TCMR
(Ssc Offset: 0x18) Transmit Clock Mode Register 
 
__I uint32_t SSC_VERSION
(Ssc Offset: 0xFC) Version Register 
 
__I uint32_t SSC_RSHR
(Ssc Offset: 0x30) Receive Sync. Holding Register 
 
__O uint32_t SSC_IDR
(Ssc Offset: 0x48) Interrupt Disable Register 
 
__IO uint32_t SSC_RFMR
(Ssc Offset: 0x14) Receive Frame Mode Register 
 
__IO uint32_t SSC_RC0R
(Ssc Offset: 0x38) Receive Compare 0 Register 
 
__I uint32_t SSC_IMR
(Ssc Offset: 0x4C) Interrupt Mask Register