1 /**************************************************************************//** 2 * @file sc_reg.h 3 * @version V1.00 4 * @brief SC register definition header file 5 * 6 * SPDX-License-Identifier: Apache-2.0 7 * @copyright (C) 2017-2020 Nuvoton Technology Corp. All rights reserved. 8 *****************************************************************************/ 9 #ifndef __SC_REG_H__ 10 #define __SC_REG_H__ 11 12 #if defined ( __CC_ARM ) 13 #pragma anon_unions 14 #endif 15 16 /** 17 @addtogroup REGISTER Control Register 18 @{ 19 */ 20 21 /** 22 @addtogroup SC Smart Card Host Interface Controller(SC) 23 Memory Mapped Structure for SC Controller 24 @{ */ 25 26 typedef struct 27 { 28 29 30 /** 31 * @var SC_T::DAT 32 * Offset: 0x00 SC Receive/Transmit Holding Buffer Register 33 * --------------------------------------------------------------------------------------------------- 34 * |Bits |Field |Descriptions 35 * | :----: | :----: | :---- | 36 * |[7:0] |DAT |Receive/Transmit Holding Buffer 37 * | | |Write Operation: 38 * | | |By writing data to DAT, the SC will send out an 8-bit data. 39 * | | |Note: If SCEN (SCn_CTL[0]) is not enabled, DAT cannot be programmed. 40 * | | |Read Operation: 41 * | | |By reading DAT, the SC will return an 8-bit received data. 42 * @var SC_T::CTL 43 * Offset: 0x04 SC Control Register 44 * --------------------------------------------------------------------------------------------------- 45 * |Bits |Field |Descriptions 46 * | :----: | :----: | :---- | 47 * |[0] |SCEN |SC Controller Enable Bit 48 * | | |Set this bit to 1 to enable SC operation. If this bit is cleared, 49 * | | |0 = SC will force all transition to IDLE state. 50 * | | |1 = SC controller is enabled and all function can work correctly. 51 * | | |Note1: SCEN must be set to 1 before filling in other SC registers, or smart card will not work properly. 52 * |[1] |RXOFF |RX Transition Disable Control Bit 53 * | | |This bit is used for disable Rx transition function. 54 * | | |0 = The receiver Enabled. 55 * | | |1 = The receiver Disabled. 56 * | | |Note1: If AUTOCEN (SCn_CTL[3]) is enabled, this field is ignored. 57 * |[2] |TXOFF |TX Transition Disable Control Bit 58 * | | |This bit is used for disable Tx transition function. 59 * | | |0 = The transceiver Enabled. 60 * | | |1 = The transceiver Disabled. 61 * |[3] |AUTOCEN |Auto Convention Enable Bit 62 * | | |This bit is used for enable auto convention function. 63 * | | |0 = Auto-convention Disabled. 64 * | | |1 = Auto-convention Enabled. 65 * | | |If user enables auto convention function, the setting step must be done before Answer to Reset (ATR) 66 * | | |state and the first data must be 0x3B or 0x3F. 67 * | | |After hardware received first data and stored it at buffer, hardware will decided the convention and 68 * | | |change the CONSEL (SCn_CTL[5:4]) bits automatically when received first data is 0x3B or 0x3F. 69 * | | |If received first byte is 0x3B, TS is direct convention, CONSEL (SCn_CTL[5:4]) will be set to 00 70 * | | |automatically, otherwise the TS is inverse convention, and CONSEL (SCn_CTL[5:4]) will be set to 11. 71 * | | |If the first data is not 0x3B or 0x3F, hardware will set ACERRIF (SCn_INTSTS[10]) and generate an 72 * | | |interrupt to CPU when ACERRIEN (SCn_INTEN[10]) is enabled. 73 * |[5:4] |CONSEL |Convention Selection 74 * | | |00 = Direct convention. 75 * | | |01 = Reserved. 76 * | | |10 = Reserved. 77 * | | |11 = Inverse convention. 78 * | | |Note: If AUTOCEN (SCn_CTL[3]) is enabled, this field is ignored. 79 * |[7:6] |RXTRGLV |Rx Buffer Trigger Level 80 * | | |When the number of bytes in the receiving buffer equals the RXTRGLV, the RDAIF will be set 81 * | | |If RDAIEN (SCn_INTEN[0]) is enabled, an interrupt will be generated to CPU. 82 * | | |00 = Rx Buffer Trigger Level with 01 bytes. 83 * | | |01 = Rx Buffer Trigger Level with 02 bytes. 84 * | | |10 = Rx Buffer Trigger Level with 03 bytes. 85 * | | |11 = Reserved. 86 * |[12:8] |BGT |Block Guard Time (BGT) 87 * | | |Block guard time means the minimum interval between the leading edges of two consecutive characters 88 * | | |between different transfer directions 89 * | | |This field indicates the counter for the bit length of block guard time 90 * | | |According to ISO 7816-3, in T = 0 mode, user must fill 15 (real block guard time = 16.5) to this 91 * | | |field; in T = 1 mode, user must fill 21 (real block guard time = 22.5) to it. 92 * | | |Note: The real block guard time is BGT + 1. 93 * |[14:13] |TMRSEL |Timer Channel Selection 94 * | | |00 = All internal timer function Disabled. 95 * | | |11 = Internal 24 bit timer and two 8 bit timers Enabled 96 * | | |User can configure them by setting SCn_TMRCTL0[23:0], SCn_TMRCTL1[7:0] and SCn_TMRCTL2[7:0]. 97 * | | |Other configurations are reserved 98 * |[15] |NSB |Stop Bit Length 99 * | | |This field indicates the length of stop bit. 100 * | | |0 = The stop bit length is 2 ETU. 101 * | | |1= The stop bit length is 1 ETU. 102 * | | |Note1: The default stop bit length is 2. SC and UART adopts NSB to program the stop bit length. 103 * | | |Note2: In UART mode, RX can receive the data sequence in 1 stop bit or 2 stop bits with NSB is set to 0. 104 * |[18:16] |RXRTY |RX Error Retry Count Number 105 * | | |This field indicates the maximum number of receiver retries that are allowed when parity error has occurred. 106 * | | |Note1: The real retry number is RXRTY + 1, so 8 is the maximum retry number. 107 * | | |Note2: This field cannot be changed when RXRTYEN enabled 108 * | | |The change flow is to disable RXRTYEN first and then fill in new retry value. 109 * |[19] |RXRTYEN |RX Error Retry Enable Bit 110 * | | |This bit enables receiver retry function when parity error has occurred. 111 * | | |0 = RX error retry function Disabled. 112 * | | |1 = RX error retry function Enabled. 113 * | | |Note: User must fill in the RXRTY value before enabling this bit. 114 * |[22:20] |TXRTY |TX Error Retry Count Number 115 * | | |This field indicates the maximum number of transmitter retries that are allowed when parity 116 * | | |error has occurred. 117 * | | |Note1: The real retry number is TXRTY + 1, so 8 is the maximum retry number. 118 * | | |Note2: This field cannot be changed when TXRTYEN enabled 119 * | | |The change flow is to disable TXRTYEN first and then fill in new retry value. 120 * |[23] |TXRTYEN |TX Error Retry Enable Bit 121 * | | |This bit enables transmitter retry function when parity error has occurred. 122 * | | |0 = TX error retry function Disabled. 123 * | | |1 = TX error retry function Enabled. 124 * |[25:24] |CDDBSEL |Card Detect De-bounce Selection 125 * | | |This field indicates the card detect de-bounce selection. 126 * | | |00 = De-bounce sample card insert once per 384 (128 * 3) SC module clocks and de-bounce 127 * | | |sample card removal once per 128 SC module clocks. 128 * | | |Other configurations are reserved. 129 * |[26] |CDLV |Card Detect Level Selection 130 * | | |0 = When hardware detects the card detect pin (SCn_CD) from high to low, it indicates a card is detected. 131 * | | |1 = When hardware detects the card detect pin (SCn_CD) from low to high, it indicates a card is detected. 132 * | | |Note: User must select card detect level before Smart Card controller enabled. 133 * |[30] |SYNC |SYNC Flag Indicator (Read Only) 134 * | | |Due to synchronization, user should check this bit before writing a new value to RXRTY and TXRTY fields. 135 * | | |0 = Synchronizing is completion, user can write new data to RXRTY and TXRTY. 136 * | | |1 = Last value is synchronizing. 137 * @var SC_T::ALTCTL 138 * Offset: 0x08 SC Alternate Control Register 139 * --------------------------------------------------------------------------------------------------- 140 * |Bits |Field |Descriptions 141 * | :----: | :----: | :---- | 142 * |[0] |TXRST |TX Software Reset 143 * | | |When TXRST is set, all the bytes in the transmit buffer and TX internal state machine will be cleared. 144 * | | |0 = No effect. 145 * | | |1 = Reset the TX internal state machine and pointers. 146 * | | |Note: This bit will be auto cleared after reset is complete. 147 * |[1] |RXRST |Rx Software Reset 148 * | | |When RXRST is set, all the bytes in the receive buffer and Rx internal state machine will be cleared. 149 * | | |0 = No effect. 150 * | | |1 = Reset the Rx internal state machine and pointers. 151 * | | |Note: This bit will be auto cleared after reset is complete. 152 * |[2] |DACTEN |Deactivation Sequence Generator Enable Bit 153 * | | |This bit enables SC controller to initiate the card by deactivation sequence. 154 * | | |0 = No effect. 155 * | | |1 = Deactivation sequence generator Enabled. 156 * | | |Note1: When the deactivation sequence completed, this bit will be cleared automatically and 157 * | | |the INITIF (SCn_INTSTS[8]) will be set to 1. 158 * | | |Note2: This field will be cleared by TXRST (SCn_ALTCTL[0]) and RXRST (SCn_ALTCTL[1]) 159 * | | |Thus, do not fill in this bit DACTEN, TXRST and RXRST at the same time. 160 * | | |Note3: If SCEN (SCn_CTL[0]) is not enabled, this filed cannot be programmed. 161 * |[3] |ACTEN |Activation Sequence Generator Enable Bit 162 * | | |This bit enables SC controller to initiate the card by activation sequence. 163 * | | |0 = No effect. 164 * | | |1 = Activation sequence generator Enabled. 165 * | | |Note1: When the activation sequence completed, this bit will be cleared automatically and the 166 * | | |INITIF (SCn_INTSTS[8]) will be set to 1. 167 * | | |Note2: This field will be cleared by TXRST (SCn_ALTCTL[0]) and RXRST (SCn_ALTCTL[1]) 168 * | | |Thus, do not fill in this bit ACTEN, TXRST and RXRST at the same time. 169 * | | |Note3: If SCEN (SCn_CTL[0]) is not enabled, this filed cannot be programmed. 170 * | | |Note4: During the activation sequence, RX is disabled automatically and can not receive data 171 * | | |After the activation sequence completion, RXOFF (SCn_CTL[1]) keeps the state before hardware activation. 172 * |[4] |WARSTEN |Warm Reset Sequence Generator Enable Bit 173 * | | |This bit enables SC controller to initiate the card by warm reset sequence. 174 * | | |0 = No effect. 175 * | | |1 = Warm reset sequence generator Enabled. 176 * | | |Note1: When the warm reset sequence completed, this bit will be cleared automatically and the 177 * | | |INITIF (SCn_INTSTS[8]) will be set to 1. 178 * | | |Note2: This field will be cleared by TXRST (SCn_ALTCTL[0]) and RXRST (SCn_ALTCTL[1]) 179 * | | |Thus, do not fill in this bit WARSTEN, TXRST and RXRST at the same time. 180 * | | |Note3: If SCEN (SCn_CTL[0]) is not enabled, this filed cannot be programmed. 181 * | | |Note4: During the warm reset sequence, RX is disabled automatically and can not receive data 182 * | | |After the warm reset sequence completion, RXOFF (SCn_CTL[1]) keeps the state before perform 183 * | | |warm reset sequence. 184 * |[5] |CNTEN0 |Internal Timer0 Start Enable Bit 185 * | | |This bit enables Timer 0 to start counting 186 * | | |User can fill 0 to stop it and set 1 to reload and count 187 * | | |The counter unit is ETU base. 188 * | | |0 = Stops counting. 189 * | | |1 = Start counting. 190 * | | |Note1: This field is used for internal 24 bit timer when TMRSEL (SCn_CTL[14:13]) is 11 only. 191 * | | |Note2: If the operation mode is not in auto-reload mode (SCn_TMRCTL0[26] = 0), this bit will 192 * | | |be auto-cleared by hardware. 193 * | | |Note3: If SCEN (SCn_CTL[0]) is not enabled, this filed cannot be programmed. 194 * |[6] |CNTEN1 |Internal Timer1 Start Enable Bit 195 * | | |This bit enables Timer 1 to start counting 196 * | | |User can fill 0 to stop it and set 1 to reload and count 197 * | | |The counter unit is ETU base. 198 * | | |0 = Stops counting. 199 * | | |1 = Start counting. 200 * | | |Note1: This field is used for internal 8 bit timer when TMRSEL(SCn_CTL[14:13]) is 11 only 201 * | | |Do not fill CNTEN1 when TMRSEL (SCn_CTL[14:13]) is not equal to 11. 202 * | | |Note2: If the operation mode is not in auto-reload mode (SCn_TMRCTL1[26] = 0), this bit will 203 * | | |be auto-cleared by hardware. 204 * | | |Note3: If SCEN (SCn_CTL[0]) is not enabled, this filed cannot be programmed. 205 * |[7] |CNTEN2 |Internal Timer2 Start Enable Bit 206 * | | |This bit enables Timer 2 to start counting 207 * | | |User can fill 0 to stop it and set 1 to reload and count 208 * | | |The counter unit is ETU base. 209 * | | |0 = Stops counting. 210 * | | |1 = Start counting. 211 * | | |Note1: This field is used for internal 8 bit timer when TMRSEL (SCn_CTL[14:13]) is 11 only 212 * | | |Do not fill in CNTEN2 when TMRSEL (SCn_CTL[14:13]) is not equal to 11. 213 * | | |Note2: If the operation mode is not in auto-reload mode (SCn_TMRCTL2[26] = 0), this bit will 214 * | | |be auto-cleared by hardware. 215 * | | |Note3: If SCEN (SCn_CTL[0]) is not enabled, this filed cannot be programmed. 216 * |[9:8] |INITSEL |Initial Timing Selection 217 * | | |This fields indicates the initial timing of hardware activation, warm-reset or deactivation. 218 * | | |The unit of initial timing is SC module clock. 219 * | | |Activation: refer to SC Activation Sequence in Figure 7.17-54. 220 * | | |Warm-reset: refer to Warm-Reset Sequence in Figure 7.17-5. 221 * | | |Deactivation: refer to Deactivation Sequence in Figure 7.17-56. 222 * | | |Note: When set activation and warm reset in Timer0 operation mode 0011, it may have deviation 223 * | | |at most 128 SC module clock cycles. 224 * |[11] |ADACEN |Auto Deactivation When Card Removal 225 * | | |This bit is used for enable hardware auto deactivation when smart card is removed. 226 * | | |0 = Auto deactivation Disabled. 227 * | | |1 = Auto deactivation Enabled. 228 * | | |Note: When the card is removed, hardware will stop any process and then do deactivation sequence 229 * | | |if this bit is set 230 * | | |If auto deactivation process completes, hardware will set INITIF (SCn_INTSTS[8]) also. 231 * |[12] |RXBGTEN |Receiver Block Guard Time Function Enable Bit 232 * | | |This bit enables the receiver block guard time function. 233 * | | |0 = Receiver block guard time function Disabled. 234 * | | |1 = Receiver block guard time function Enabled. 235 * |[13] |ACTSTS0 |Internal Timer0 Active Status (Read Only) 236 * | | |This bit indicates the timer counter status of timer0. 237 * | | |0 = Timer0 is not active. 238 * | | |1 = Timer0 is active. 239 * | | |Note: Timer0 is active does not always mean timer0 is counting the CNT (SCn_TMRCTL0[23:0]). 240 * |[14] |ACTSTS1 |Internal Timer1 Active Status (Read Only) 241 * | | |This bit indicates the timer counter status of timer1. 242 * | | |0 = Timer1 is not active. 243 * | | |1 = Timer1 is active. 244 * | | |Note: Timer1 is active does not always mean timer1 is counting the CNT (SCn_TMRCTL1[7:0]). 245 * |[15] |ACTSTS2 |Internal Timer2 Active Status (Read Only) 246 * | | |This bit indicates the timer counter status of timer2. 247 * | | |0 = Timer2 is not active. 248 * | | |1 = Timer2 is active. 249 * | | |Note: Timer2 is active does not always mean timer2 is counting the CNT (SCn_TMRCTL2[7:0]). 250 * |[31] |SYNC |SYNC Flag Indicator (Read Only) 251 * | | |Due to synchronization, user should check this bit when writing a new value to SCn_ALTCTL register. 252 * | | |0 = Synchronizing is completion, user can write new data to SCn_ALTCTL register. 253 * | | |1 = Last value is synchronizing. 254 * @var SC_T::EGT 255 * Offset: 0x0C SC Extra Guard Time Register 256 * --------------------------------------------------------------------------------------------------- 257 * |Bits |Field |Descriptions 258 * | :----: | :----: | :---- | 259 * |[7:0] |EGT |Extra Guard Time 260 * | | |This field indicates the extra guard time value. 261 * | | |Note: The extra guard time unit is ETU base. 262 * @var SC_T::RXTOUT 263 * Offset: 0x10 SC Receive Buffer Time-out Counter Register 264 * --------------------------------------------------------------------------------------------------- 265 * |Bits |Field |Descriptions 266 * | :----: | :----: | :---- | 267 * |[8:0] |RFTM |SC Receiver FIFO Time-out Counter 268 * | | |The time-out down counter resets and starts counting whenever the RX buffer received a new data 269 * | | |Once the counter decrease to 1 and no new data is received or CPU does not read data by 270 * | | |reading SCn_DAT, a receiver time-out flag RBTOIF (SCn_INTSTS[9]) will be set, and hardware will 271 * | | |generate an interrupt to CPU when RBTOIEN (SCn_INTEN[9]) is enabled. 272 * | | |Note1: The counter unit is ETU based and the interval of time-out is RFTM + 0.5. 273 * | | |Note2: Filling in all 0 to this field indicates to disable this function. 274 * @var SC_T::ETUCTL 275 * Offset: 0x14 SC Element Time Unit Control Register 276 * --------------------------------------------------------------------------------------------------- 277 * |Bits |Field |Descriptions 278 * | :----: | :----: | :---- | 279 * |[11:0] |ETURDIV |ETU Rate Divider 280 * | | |The field is used for ETU clock rate divider. 281 * | | |The real ETU is ETURDIV + 1. 282 * | | |Note: User can configure this field, but this field must be greater than 0x04. 283 * @var SC_T::INTEN 284 * Offset: 0x18 SC Interrupt Enable Control Register 285 * --------------------------------------------------------------------------------------------------- 286 * |Bits |Field |Descriptions 287 * | :----: | :----: | :---- | 288 * |[0] |RDAIEN |Receive Data Reach Interrupt Enable Bit 289 * | | |This field is used to enable received data reaching trigger level RXTRGLV (SCn_CTL[7:6]) interrupt. 290 * | | |0 = Receive data reach trigger level interrupt Disabled. 291 * | | |1 = Receive data reach trigger level interrupt Enabled. 292 * |[1] |TBEIEN |Transmit Buffer Empty Interrupt Enable Bit 293 * | | |This field is used to enable transmit buffer empty interrupt. 294 * | | |0 = Transmit buffer empty interrupt Disabled. 295 * | | |1 = Transmit buffer empty interrupt Enabled. 296 * |[2] |TERRIEN |Transfer Error Interrupt Enable Bit 297 * | | |This field is used to enable transfer error interrupt 298 * | | |The transfer error states is at SCn_STATUS register which includes receiver break error 299 * | | |BEF (SCn_STATUS[6]), frame error FEF (SCn_STATUS[5]), parity error PEF (SCn_STATUS[4]), receive 300 * | | |buffer overflow error RXOV (SCn_STATUS[0]), transmit buffer overflow error TXOV (SCn_STATUS[8]), 301 * | | |receiver retry over limit error RXOVERR (SCn_STATUS[22]) and transmitter retry over limit error 302 * | | |TXOVERR (SCn_STATUS[30]). 303 * | | |0 = Transfer error interrupt Disabled. 304 * | | |1 = Transfer error interrupt Enabled. 305 * |[3] |TMR0IEN |Timer0 Interrupt Enable Bit 306 * | | |This field is used to enable Timer0 interrupt function. 307 * | | |0 = Timer0 interrupt Disabled. 308 * | | |1 = Timer0 interrupt Enabled. 309 * |[4] |TMR1IEN |Timer1 Interrupt Enable Bit 310 * | | |This field is used to enable the Timer1 interrupt function. 311 * | | |0 = Timer1 interrupt Disabled. 312 * | | |1 = Timer1 interrupt Enabled. 313 * |[5] |TMR2IEN |Timer2 Interrupt Enable Bit 314 * | | |This field is used to enable Timer2 interrupt function. 315 * | | |0 = Timer2 interrupt Disabled. 316 * | | |1 = Timer2 interrupt Enabled. 317 * |[6] |BGTIEN |Block Guard Time Interrupt Enable Bit 318 * | | |This field is used to enable block guard time interrupt in receive direction. 319 * | | |0 = Block guard time interrupt Disabled. 320 * | | |1 = Block guard time interrupt Enabled. 321 * | | |Note: This bit is valid only for receive direction block guard time. 322 * |[7] |CDIEN |Card Detect Interrupt Enable Bit 323 * | | |This field is used to enable card detect interrupt 324 * | | |The card detect status is CDPINSTS (SCn_STATUS[13]). 325 * | | |0 = Card detect interrupt Disabled. 326 * | | |1 = Card detect interrupt Enabled. 327 * |[8] |INITIEN |Initial End Interrupt Enable Bit 328 * | | |This field is used to enable activation (ACTEN (SCn_ALTCTL[3] = 1)), deactivation 329 * | | |(DACTEN (SCn_ALTCTL[2] = 1)) and warm reset (WARSTEN (SCn_ALTCTL [4])) sequence complete interrupt. 330 * | | |0 = Initial end interrupt Disabled. 331 * | | |1 = Initial end interrupt Enabled. 332 * |[9] |RXTOIEN |Receiver Buffer Time-out Interrupt Enable Bit 333 * | | |This field is used to enable receiver buffer time-out interrupt. 334 * | | |0 = Receiver buffer time-out interrupt Disabled. 335 * | | |1 = Receiver buffer time-out interrupt Enabled. 336 * |[10] |ACERRIEN |Auto Convention Error Interrupt Enable Bit 337 * | | |This field is used to enable auto-convention error interrupt. 338 * | | |0 = Auto-convention error interrupt Disabled. 339 * | | |1 = Auto-convention error interrupt Enabled. 340 * @var SC_T::INTSTS 341 * Offset: 0x1C SC Interrupt Status Register 342 * --------------------------------------------------------------------------------------------------- 343 * |Bits |Field |Descriptions 344 * | :----: | :----: | :---- | 345 * |[0] |RDAIF |Receive Data Reach Interrupt Status Flag (Read Only) 346 * | | |This field is used for received data reaching trigger level RXTRGLV (SCn_CTL[7:6]) interrupt status flag. 347 * | | |0 = Number of receive buffer is less than RXTRGLV setting. 348 * | | |1 = Number of receive buffer data equals the RXTRGLV setting. 349 * | | |Note: This bit is read only 350 * | | |If user reads data from SCn_DAT and receiver buffer data byte number is less than RXTRGLV, 351 * | | |this bit will be cleared automatically. 352 * |[1] |TBEIF |Transmit Buffer Empty Interrupt Status Flag (Read Only) 353 * | | |This field is used for transmit buffer empty interrupt status flag. 354 * | | |0 = Transmit buffer is not empty. 355 * | | |1 = Transmit buffer is empty. 356 * | | |Note: This bit is read only 357 * | | |If user wants to clear this bit, user must write data to DAT (SCn_DAT[7:0]) and then this bit 358 * | | |will be cleared automatically. 359 * |[2] |TERRIF |Transfer Error Interrupt Status Flag 360 * | | |This field is used for transfer error interrupt status flag 361 * | | |The transfer error states is at SCn_STATUS register which includes receiver break error 362 * | | |BEF (SCn_STATUS[6]), frame error FEF (SCn_STATUS[5], parity error PEF (SCn_STATUS[4] and receive 363 * | | |buffer overflow error RXOV (SCn_STATUS[0]), transmit buffer overflow error TXOV (SCn_STATUS[8]), 364 * | | |receiver retry over limit error RXOVERR (SCn_STATUS[22] or transmitter retry over limit error 365 * | | |TXOVERR (SCn_STATUS[30]). 366 * | | |0 = Transfer error interrupt did not occur. 367 * | | |1 = Transfer error interrupt occurred. 368 * | | |Note1: This field is the status flag of BEF, FEF, PEF, RXOV, TXOV, RXOVERR or TXOVERR. 369 * | | |Note2: This bit can be cleared by writing 1 to it. 370 * |[3] |TMR0IF |Timer0 Interrupt Status Flag 371 * | | |This field is used for Timer0 interrupt status flag. 372 * | | |0 = Timer0 interrupt did not occur. 373 * | | |1 = Timer0 interrupt occurred. 374 * | | |Note: This bit can be cleared by writing 1 to it. 375 * |[4] |TMR1IF |Timer1 Interrupt Status Flag 376 * | | |This field is used for Timer1 interrupt status flag. 377 * | | |0 = Timer1 interrupt did not occur. 378 * | | |1 = Timer1 interrupt occurred. 379 * | | |Note: This bit can be cleared by writing 1 to it. 380 * |[5] |TMR2IF |Timer2 Interrupt Status Flag 381 * | | |This field is used for Timer2 interrupt status flag. 382 * | | |0 = Timer2 interrupt did not occur. 383 * | | |1 = Timer2 interrupt occurred. 384 * | | |Note: This bit can be cleared by writing 1 to it. 385 * |[6] |BGTIF |Block Guard Time Interrupt Status Flag 386 * | | |This field is used for indicate block guard time interrupt status flag in receive direction. 387 * | | |0 = Block guard time interrupt did not occur. 388 * | | |1 = Block guard time interrupt occurred. 389 * | | |Note1: This bit is valid only when RXBGTEN (SCn_ALTCTL[12]) is enabled. 390 * | | |Note2: This bit can be cleared by writing 1 to it. 391 * |[7] |CDIF |Card Detect Interrupt Status Flag (Read Only) 392 * | | |This field is used for card detect interrupt status flag 393 * | | |The card detect status is CINSERT (SCn_STATUS[12]) and CREMOVE (SCn_STATUS[11]). 394 * | | |0 = Card detect event did not occur. 395 * | | |1 = Card detect event occurred. 396 * | | |Note: This bit is read only, user must to clear CINSERT or CREMOVE status to clear it. 397 * |[8] |INITIF |Initial End Interrupt Status Flag 398 * | | |This field is used for activation (ACTEN (SCn_ALTCTL[3])), deactivation (DACTEN (SCn_ALTCTL[2])) 399 * | | |and warm reset (WARSTEN (SCn_ALTCTL[4])) sequence interrupt status flag. 400 * | | |0 = Initial sequence is not complete. 401 * | | |1 = Initial sequence is completed. 402 * | | |Note: This bit can be cleared by writing 1 to it. 403 * |[9] |RXTOIF |Receive Buffer Time-out Interrupt Status Flag (Read Only) 404 * | | |This field is used for indicate receive buffer time-out interrupt status flag. 405 * | | |0 = Receive buffer time-out interrupt did not occur. 406 * | | |1 = Receive buffer time-out interrupt occurred. 407 * | | |Note: This bit is read only, user must read all receive buffer remaining data by reading SCn_DAT 408 * | | |register to clear it. 409 * |[10] |ACERRIF |Auto Convention Error Interrupt Status Flag 410 * | | |This field indicates auto convention sequence error. 411 * | | |0 = Received TS at ATR state is 0x3B or 0x3F. 412 * | | |1 = Received TS at ATR state is neither 0x3B nor 0x3F. 413 * | | |Note: This bit can be cleared by writing 1 to it. 414 * @var SC_T::STATUS 415 * Offset: 0x20 SC Transfer Status Register 416 * --------------------------------------------------------------------------------------------------- 417 * |Bits |Field |Descriptions 418 * | :----: | :----: | :---- | 419 * |[0] |RXOV |Receive Overflow Error Status Flag 420 * | | |This bit is set when Rx buffer overflow. 421 * | | |0 = Rx buffer is not overflow. 422 * | | |1 = Rx buffer is overflow when the number of received bytes is greater than Rx buffer size (4 bytes). 423 * | | |Note: This bit can be cleared by writing 1 to it. 424 * |[1] |RXEMPTY |Receive Buffer Empty Status Flag (Read Only) 425 * | | |This bit indicates Rx buffer empty or not. 426 * | | |0 = Rx buffer is not empty. 427 * | | |1 = Rx buffer is empty, it means the last byte of Rx buffer has read from DAT (SCn_DAT[7:0]) by CPU. 428 * |[2] |RXFULL |Receive Buffer Full Status Flag (Read Only) 429 * | | |This bit indicates Rx buffer full or not. 430 * | | |0 = Rx buffer count is less than 4. 431 * | | |1 = Rx buffer count equals to 4. 432 * |[4] |PEF |Receiver Parity Error Status Flag 433 * | | |This bit is set to logic 1 whenever the received character does not have a valid parity bit. 434 * | | |0 = Receiver parity error flag did not occur. 435 * | | |1 = Receiver parity error flag occurred. 436 * | | |Note1: This bit can be cleared by writing 1 to it. 437 * | | |Note2: If CPU sets receiver retries function by setting RXRTYEN (SCn_CTL[19]), hardware will not 438 * | | |set this flag. 439 * |[5] |FEF |Receiver Frame Error Status Flag 440 * | | |This bit is set to logic 1 whenever the received character does not have a valid stop bit (that is, 441 * | | |the stop bit following the last data bit or parity bit is detected as logic 0). 442 * | | |0 = Receiver frame error flag did not occur. 443 * | | |1 = Receiver frame error flag occurred. 444 * | | |Note1: This bit can be cleared by writing 1 to it. 445 * | | |Note2: If CPU sets receiver retries function by setting RXRTYEN (SCn_CTL[19]), hardware will not 446 * | | |set this flag. 447 * |[6] |BEF |Receiver Break Error Status Flag 448 * | | |This bit is set to logic 1 whenever the received data input (Rx) held in the spacing state 449 * | | |(logic 0) is longer than a full word transmission time (that is, the total time of start bit + 450 * | | |data bits + parity bit + stop bit). 451 * | | |0 = Receiver break error flag did not occur. 452 * | | |1 = Receiver break error flag occurred. 453 * | | |Note1: This bit can be cleared by writing 1 to it. 454 * | | |Note2: If CPU sets receiver retries function by setting RXRTYEN (SCn_CTL[19]), hardware will not set 455 * | | |this flag. 456 * |[8] |TXOV |Transmit Overflow Error Interrupt Status Flag 457 * | | |This bit is set when Tx buffer overflow. 458 * | | |0 = Tx buffer is not overflow. 459 * | | |1 = Tx buffer is overflow when Tx buffer is full and an additional write operation to DAT (SCn_DAT[7:0]). 460 * | | |Note: This bit can be cleared by writing 1 to it. 461 * |[9] |TXEMPTY |Transmit Buffer Empty Status Flag (Read Only) 462 * | | |This bit indicates TX buffer empty or not. 463 * | | |0 = Tx buffer is not empty. 464 * | | |1 = Tx buffer is empty, it means the last byte of Tx buffer has been transferred to Transmitter 465 * | | |Shift Register. 466 * | | |Note: This bit will be cleared when writing data into DAT (SCn_DAT[7:0]). 467 * |[10] |TXFULL |Transmit Buffer Full Status Flag (Read Only) 468 * | | |This bit indicates Tx buffer full or not. 469 * | | |0 = Tx buffer count is less than 4. 470 * | | |1 = Tx buffer count equals to 4. 471 * |[11] |CREMOVE |Card Removal Status of SCn_CD Pin 472 * | | |This bit is set whenever card has been removal. 473 * | | |0 = No effect. 474 * | | |1 = Card removed. 475 * | | |Note1: This bit can be cleared by writing 1 to it. 476 * | | |Note2: Card detect function will start after SCEN (SCn_CTL[0]) set. 477 * |[12] |CINSERT |Card Insert Status of SCn_CD Pin 478 * | | |This bit is set whenever card has been inserted. 479 * | | |0 = No effect. 480 * | | |1 = Card insert. 481 * | | |Note1: This bit can be cleared by writing 1 to it. 482 * | | |Note2: The card detect function will start after SCEN (SCn_CTL[0]) set. 483 * |[13] |CDPINSTS |Card Detect Pin Status (Read Only) 484 * | | |This bit is the pin status of SCn_CD. 485 * | | |0 = The SCn_CD pin state at low. 486 * | | |1 = The SCn_CD pin state at high. 487 * |[18:16] |RXPOINT |Receive Buffer Pointer Status (Read Only) 488 * | | |This field indicates the Rx buffer pointer status 489 * | | |When SC controller receives one byte from external device, RXPOINT increases one 490 * | | |When one byte of Rx buffer is read by CPU, RXPOINT decreases one. 491 * |[21] |RXRERR |Receiver Retry Error 492 * | | |This bit is used for receiver error retry and set by hardware. 493 * | | |0 = No Rx retry transfer. 494 * | | |1 = Rx has any error and retries transfer. 495 * | | |Note1: This bit can be cleared by writing 1 to it. 496 * | | |Note2 This bit is a flag and cannot generate any interrupt to CPU. 497 * | | |Note3: If CPU enables receiver retries function by setting RXRTYEN (SCn_CTL[19]), 498 * | | |hardware will not set this flag. 499 * |[22] |RXOVERR |Receiver over Retry Error 500 * | | |This bit is used for receiver retry counts over than retry number limitation. 501 * | | |0 = Receiver retries counts is not over than RXRTY (SCn_CTL[18:16]) + 1. 502 * | | |1 = Receiver retries counts over than RXRTY (SCn_CTL[18:16]) + 1. 503 * | | |Note1: This bit can be cleared by writing 1 to it. 504 * | | |Note2: If CPU enables receiver retries function by setting RXRTYEN (SCn_CTL[19]), hardware 505 * | | |will not set this flag. 506 * |[23] |RXACT |Receiver in Active Status Flag (Read Only) 507 * | | |This bit indicates Rx transfer status. 508 * | | |0 = This bit is cleared automatically when Rx transfer is finished. 509 * | | |1 = This bit is set by hardware when Rx transfer is in active. 510 * | | |Note: This bit is read only. 511 * |[26:24] |TXPOINT |Transmit Buffer Pointer Status (Read Only) 512 * | | |This field indicates the Tx buffer pointer status 513 * | | |When CPU writes data into SCn_DAT, TXPOINT increases one 514 * | | |When one byte of Tx buffer is transferred to transmitter shift register, TXPOINT decreases one. 515 * |[29] |TXRERR |Transmitter Retry Error 516 * | | |This bit is used for indicate transmitter error retry and set by hardware. 517 * | | |0 = No Tx retry transfer. 518 * | | |1 = Tx has any error and retries transfer. 519 * | | |Note1: This bit can be cleared by writing 1 to it. 520 * | | |Note2: This bit is a flag and cannot generate any interrupt to CPU. 521 * |[30] |TXOVERR |Transmitter over Retry Error 522 * | | |This bit is used for transmitter retry counts over than retry number limitation. 523 * | | |0 = Transmitter retries counts is not over than TXRTY (SCn_CTL[22:20]) + 1. 524 * | | |1 = Transmitter retries counts over than TXRTY (SCn_CTL[22:20]) + 1. 525 * | | |Note: This bit can be cleared by writing 1 to it. 526 * |[31] |TXACT |Transmit in Active Status Flag (Read Only) 527 * | | |This bit indicates Tx transmit status. 528 * | | |0 = This bit is cleared automatically when Tx transfer is finished or the last byte transmission 529 * | | |has completed. 530 * | | |1 = Transmit is active and this bit is set by hardware when Tx transfer is in active and the STOP 531 * | | |bit of the last byte has not been transmitted. 532 * | | |Note: This bit is read only. 533 * @var SC_T::PINCTL 534 * Offset: 0x24 SC Pin Control State Register 535 * --------------------------------------------------------------------------------------------------- 536 * |Bits |Field |Descriptions 537 * | :----: | :----: | :---- | 538 * |[0] |PWREN |SCn_PWR Pin Signal 539 * | | |User can set PWRINV (SCn_PINCTL[11]) and PWREN (SCn_PINCTL[0]) to decide SCn_PWR pin is in high or low level. 540 * | | |Write this field to drive SCn_PWR pin 541 * | | |Refer PWRINV (SCn_PINCTL[11]) description for programming SCn_PWR pin voltage level. 542 * | | |Read this field to get SCn_PWR signal status. 543 * | | |0 = SCn_PWR signal status is low. 544 * | | |1 = SCn_PWR signal status is high. 545 * | | |Note: When operating at activation, warm reset or deactivation mode, this bit will be changed automatically. 546 * | | |Thus, do not fill in this field when operating in these modes. 547 * |[1] |RSTEN |SCn_RST Pin Signal 548 * | | |User can set RSTEN (SCn_PINCTL[1]) to decide SCn_RST pin is in high or low level. 549 * | | |Write this field to drive SCn_RST pin. 550 * | | |0 = Drive SCn_RST pin to low. 551 * | | |1 = Drive SCn_RST pin to high. 552 * | | |Read this field to get SCn_RST signal status. 553 * | | |0 = SCn_RST signal status is low. 554 * | | |1 = SCn_RST signal status is high. 555 * | | |Note: When operating at activation, warm reset or deactivation mode, this bit will be changed automatically. 556 * | | |Thus, do not fill in this field when operating in these modes. 557 * |[6] |CLKKEEP |SC Clock Enable Bit 558 * | | |0 = SC clock generation Disabled. 559 * | | |1 = SC clock always keeps free running. 560 * | | |Note: When operating in activation, warm reset or deactivation mode, this bit will be changed automatically. 561 * | | |Thus, do not fill in this field when operating in these modes. 562 * |[9] |SCDATA |SCn_DATA Pin Signal 563 * | | |This bit is the signal status of SCn_DATA but user can drive SCn_DATA pin to high or low by setting this bit. 564 * | | |0 = Drive SCn_DATA pin to low. 565 * | | |1 = Drive SCn_DATA pin to high. 566 * | | |Read this field to get SCn_DATA signal status. 567 * | | |0 = SCn_DATA signal status is low. 568 * | | |1 = SCn_DATA signal status is high. 569 * | | |Note: When SC is at activation, warm reset or deactivation mode, this bit will be changed automatically. 570 * | | |Thus, do not fill in this field when SC is in these modes. 571 * |[11] |PWRINV |SCn_PWR Pin Inverse 572 * | | |This bit is used for inverse the SCn_PWR pin. 573 * | | |There are four kinds of combination for SCn_PWR pin setting by PWRINV (SCn_PINCTL[11]) and PWREN (SCn_PINCTL[0]). 574 * | | |PWRINV is 0 and PWREN is 0, SCn_PWR pin is 0. 575 * | | |PWRINV is 0 and PWREN is 1, SCn_PWR pin is 1. 576 * | | |PWRINV is 1 and PWREN is 0, SCn_PWR pin is 1. 577 * | | |PWRINV is 1 and PWREN is 1, SCn_PWR pin is 0. 578 * | | |Note: User must select PWRINV (SCn_PINCTL[11]) before smart card is enabled by SCEN (SCn_CTL[0]). 579 * |[16] |DATASTS |SCn_DATA Pin Status (Read Only) 580 * | | |This bit is the pin status of SCn_DATA. 581 * | | |0 = The SCn_DATA pin status is low. 582 * | | |1 = The SCn_DATA pin status is high. 583 * |[17] |PWRSTS |SCn_PWR Pin Status (Read Only) 584 * | | |This bit is the pin status of SCn_PWR. 585 * | | |0 = SCn_PWR pin to low. 586 * | | |1 = SCn_PWR pin to high. 587 * |[18] |RSTSTS |SCn_RST Pin Status (Read Only) 588 * | | |This bit is the pin status of SCn_RST. 589 * | | |0 = SCn_RST pin is low. 590 * | | |1 = SCn_RST pin is high. 591 * |[30] |SYNC |SYNC Flag Indicator (Read Only) 592 * | | |Due to synchronization, user should check this bit when writing a new value to SCn_PINCTL register. 593 * | | |0 = Synchronizing is completion, user can write new data to SCn_PINCTL register. 594 * | | |1 = Last value is synchronizing. 595 * @var SC_T::TMRCTL0 596 * Offset: 0x28 SC Internal Timer0 Control Register 597 * --------------------------------------------------------------------------------------------------- 598 * |Bits |Field |Descriptions 599 * | :----: | :----: | :---- | 600 * |[23:0] |CNT |Timer0 Counter Value 601 * | | |This field indicates the internal Timer0 counter values. 602 * | | |Note: Unit of Timer0 counter is ETU base. 603 * |[27:24] |OPMODE |Timer0 Operation Mode Selection 604 * | | |This field indicates the internal 24-bit Timer0 operation selection. 605 * | | |Refer to Table 7.17-3 for programming Timer0. 606 * |[31] |SYNC |SYNC Flag Indicator (Read Only) 607 * | | |Due to synchronization, user should check this bit when writing a new value to the SCn_TMRCTL0 register. 608 * | | |0 = Synchronizing is completion, user can write new data to SCn_TMRCTL0 register. 609 * | | |1 = Last value is synchronizing. 610 * @var SC_T::TMRCTL1 611 * Offset: 0x2C SC Internal Timer1 Control Register 612 * --------------------------------------------------------------------------------------------------- 613 * |Bits |Field |Descriptions 614 * | :----: | :----: | :---- | 615 * |[7:0] |CNT |Timer 1 Counter Value 616 * | | |This field indicates the internal Timer1 counter values. 617 * | | |Note: Unit of Timer1 counter is ETU base. 618 * |[27:24] |OPMODE |Timer 1 Operation Mode Selection 619 * | | |This field indicates the internal 8-bit Timer1 operation selection. 620 * | | |Refer to Table 7.17-3 for programming Timer1. 621 * |[31] |SYNC |SYNC Flag Indicator (Read Only) 622 * | | |Due to synchronization, software should check this bit when writing a new value to SCn_TMRCTL1 register. 623 * | | |0 = Synchronizing is completion, user can write new data to SCn_TMRCTL1 register. 624 * | | |1 = Last value is synchronizing. 625 * @var SC_T::TMRCTL2 626 * Offset: 0x30 SC Internal Timer2 Control Register 627 * --------------------------------------------------------------------------------------------------- 628 * |Bits |Field |Descriptions 629 * | :----: | :----: | :---- | 630 * |[7:0] |CNT |Timer 2 Counter Value 631 * | | |This field indicates the internal Timer2 counter values. 632 * | | |Note: Unit of Timer2 counter is ETU base. 633 * |[27:24] |OPMODE |Timer 2 Operation Mode Selection 634 * | | |This field indicates the internal 8-bit Timer2 operation selection 635 * | | |Refer to Table 7.17-3 for programming Timer2. 636 * |[31] |SYNC |SYNC Flag Indicator (Read Only) 637 * | | |Due to synchronization, user should check this bit when writing a new value to SCn_TMRCTL2 register. 638 * | | |0 = Synchronizing is completion, user can write new data to SCn_TMRCTL2 register. 639 * | | |1 = Last value is synchronizing. 640 * @var SC_T::UARTCTL 641 * Offset: 0x34 SC UART Mode Control Register 642 * --------------------------------------------------------------------------------------------------- 643 * |Bits |Field |Descriptions 644 * | :----: | :----: | :---- | 645 * |[0] |UARTEN |UART Mode Enable Bit 646 * | | |Sets this bit to enable UART mode function. 647 * | | |0 = Smart Card mode. 648 * | | |1 = UART mode. 649 * | | |Note1: When operating in UART mode, user must set CONSEL (SCn_CTL[5:4]) = 00 and AUTOCEN (SCn_CTL[3]) = 0. 650 * | | |Note2: When operating in Smart Card mode, user must set UARTEN (SCn_UARTCTL[0]) = 0. 651 * | | |Note3: When UART mode is enabled, hardware will generate a reset to reset FIFO and internal state machine. 652 * |[5:4] |WLS |Word Length Selection 653 * | | |This field is used for select UART data length. 654 * | | |00 = Word length is 8 bits. 655 * | | |01 = Word length is 7 bits. 656 * | | |10 = Word length is 6 bits. 657 * | | |11 = Word length is 5 bits. 658 * | | |Note: In smart card mode, this WLS must be '00'. 659 * |[6] |PBOFF |Parity Bit Disable Control 660 * | | |Sets this bit is used for disable parity check function. 661 * | | |0 = Parity bit is generated or checked between the last data word bit and stop bit of the serial data. 662 * | | |1 = Parity bit is not generated (transmitting data) or checked (receiving data) during transfer. 663 * | | |Note: In smart card mode, this field must be '0' (default setting is with parity bit). 664 * |[7] |OPE |Odd Parity Enable Bit 665 * | | |This is used for odd/even parity selection. 666 * | | |0 = Even number of logic 1's are transmitted or check the data word and parity bits in receiving mode. 667 * | | |1 = Odd number of logic 1's are transmitted or check the data word and parity bits in receiving mode. 668 * | | |Note: This bit has effect only when PBOFF bit is '0'. 669 * @var SC_T::ACTCTL 670 * Offset: 0x4C SC Activation Control Register 671 * --------------------------------------------------------------------------------------------------- 672 * |Bits |Field |Descriptions 673 * | :----: | :----: | :---- | 674 * |[4:0] |T1EXT |T1 Extend Time of Hardware Activation 675 * | | |This field provide the configurable cycles to extend the activation time T1 period. 676 * | | |The cycle scaling factor is 2048. 677 * | | |Extend cycles = (filled value * 2048) cycles. 678 * | | |Refer to SC activation sequence in Figure 7.17-4. 679 * | | |For example, 680 * | | |SCLK = 4MHz, each cycle = 0.25us,. 681 * | | |Filled 20 to this field 682 * | | |Extend time = 20 * 2048 * 0.25us = 10.24 ms. 683 * | | |Note: Setting 0 to this field conforms to the protocol ISO/IEC 7816-3 684 */ 685 __IO uint32_t DAT; /*!< [0x0000] SC Receive/Transmit Holding Buffer Register */ 686 __IO uint32_t CTL; /*!< [0x0004] SC Control Register */ 687 __IO uint32_t ALTCTL; /*!< [0x0008] SC Alternate Control Register */ 688 __IO uint32_t EGT; /*!< [0x000c] SC Extra Guard Time Register */ 689 __IO uint32_t RXTOUT; /*!< [0x0010] SC Receive Buffer Time-out Counter Register */ 690 __IO uint32_t ETUCTL; /*!< [0x0014] SC Element Time Unit Control Register */ 691 __IO uint32_t INTEN; /*!< [0x0018] SC Interrupt Enable Control Register */ 692 __IO uint32_t INTSTS; /*!< [0x001c] SC Interrupt Status Register */ 693 __IO uint32_t STATUS; /*!< [0x0020] SC Transfer Status Register */ 694 __IO uint32_t PINCTL; /*!< [0x0024] SC Pin Control State Register */ 695 __IO uint32_t TMRCTL0; /*!< [0x0028] SC Internal Timer0 Control Register */ 696 __IO uint32_t TMRCTL1; /*!< [0x002c] SC Internal Timer1 Control Register */ 697 __IO uint32_t TMRCTL2; /*!< [0x0030] SC Internal Timer2 Control Register */ 698 __IO uint32_t UARTCTL; /*!< [0x0034] SC UART Mode Control Register */ 699 /** @cond HIDDEN_SYMBOLS */ 700 __I uint32_t RESERVE0[5]; 701 /** @endcond */ 702 __IO uint32_t ACTCTL; /*!< [0x004c] SC Activation Control Register */ 703 704 } SC_T; 705 706 /** 707 @addtogroup SC_CONST SC Bit Field Definition 708 Constant Definitions for SC Controller 709 @{ */ 710 711 #define SC_DAT_DAT_Pos (0) /*!< SC_T::DAT: DAT Position */ 712 #define SC_DAT_DAT_Msk (0xfful << SC_DAT_DAT_Pos) /*!< SC_T::DAT: DAT Mask */ 713 714 #define SC_CTL_SCEN_Pos (0) /*!< SC_T::CTL: SCEN Position */ 715 #define SC_CTL_SCEN_Msk (0x1ul << SC_CTL_SCEN_Pos) /*!< SC_T::CTL: SCEN Mask */ 716 717 #define SC_CTL_RXOFF_Pos (1) /*!< SC_T::CTL: RXOFF Position */ 718 #define SC_CTL_RXOFF_Msk (0x1ul << SC_CTL_RXOFF_Pos) /*!< SC_T::CTL: RXOFF Mask */ 719 720 #define SC_CTL_TXOFF_Pos (2) /*!< SC_T::CTL: TXOFF Position */ 721 #define SC_CTL_TXOFF_Msk (0x1ul << SC_CTL_TXOFF_Pos) /*!< SC_T::CTL: TXOFF Mask */ 722 723 #define SC_CTL_AUTOCEN_Pos (3) /*!< SC_T::CTL: AUTOCEN Position */ 724 #define SC_CTL_AUTOCEN_Msk (0x1ul << SC_CTL_AUTOCEN_Pos) /*!< SC_T::CTL: AUTOCEN Mask */ 725 726 #define SC_CTL_CONSEL_Pos (4) /*!< SC_T::CTL: CONSEL Position */ 727 #define SC_CTL_CONSEL_Msk (0x3ul << SC_CTL_CONSEL_Pos) /*!< SC_T::CTL: CONSEL Mask */ 728 729 #define SC_CTL_RXTRGLV_Pos (6) /*!< SC_T::CTL: RXTRGLV Position */ 730 #define SC_CTL_RXTRGLV_Msk (0x3ul << SC_CTL_RXTRGLV_Pos) /*!< SC_T::CTL: RXTRGLV Mask */ 731 732 #define SC_CTL_BGT_Pos (8) /*!< SC_T::CTL: BGT Position */ 733 #define SC_CTL_BGT_Msk (0x1ful << SC_CTL_BGT_Pos) /*!< SC_T::CTL: BGT Mask */ 734 735 #define SC_CTL_TMRSEL_Pos (13) /*!< SC_T::CTL: TMRSEL Position */ 736 #define SC_CTL_TMRSEL_Msk (0x3ul << SC_CTL_TMRSEL_Pos) /*!< SC_T::CTL: TMRSEL Mask */ 737 738 #define SC_CTL_NSB_Pos (15) /*!< SC_T::CTL: NSB Position */ 739 #define SC_CTL_NSB_Msk (0x1ul << SC_CTL_NSB_Pos) /*!< SC_T::CTL: NSB Mask */ 740 741 #define SC_CTL_RXRTY_Pos (16) /*!< SC_T::CTL: RXRTY Position */ 742 #define SC_CTL_RXRTY_Msk (0x7ul << SC_CTL_RXRTY_Pos) /*!< SC_T::CTL: RXRTY Mask */ 743 744 #define SC_CTL_RXRTYEN_Pos (19) /*!< SC_T::CTL: RXRTYEN Position */ 745 #define SC_CTL_RXRTYEN_Msk (0x1ul << SC_CTL_RXRTYEN_Pos) /*!< SC_T::CTL: RXRTYEN Mask */ 746 747 #define SC_CTL_TXRTY_Pos (20) /*!< SC_T::CTL: TXRTY Position */ 748 #define SC_CTL_TXRTY_Msk (0x7ul << SC_CTL_TXRTY_Pos) /*!< SC_T::CTL: TXRTY Mask */ 749 750 #define SC_CTL_TXRTYEN_Pos (23) /*!< SC_T::CTL: TXRTYEN Position */ 751 #define SC_CTL_TXRTYEN_Msk (0x1ul << SC_CTL_TXRTYEN_Pos) /*!< SC_T::CTL: TXRTYEN Mask */ 752 753 #define SC_CTL_CDDBSEL_Pos (24) /*!< SC_T::CTL: CDDBSEL Position */ 754 #define SC_CTL_CDDBSEL_Msk (0x3ul << SC_CTL_CDDBSEL_Pos) /*!< SC_T::CTL: CDDBSEL Mask */ 755 756 #define SC_CTL_CDLV_Pos (26) /*!< SC_T::CTL: CDLV Position */ 757 #define SC_CTL_CDLV_Msk (0x1ul << SC_CTL_CDLV_Pos) /*!< SC_T::CTL: CDLV Mask */ 758 759 #define SC_CTL_SYNC_Pos (30) /*!< SC_T::CTL: SYNC Position */ 760 #define SC_CTL_SYNC_Msk (0x1ul << SC_CTL_SYNC_Pos) /*!< SC_T::CTL: SYNC Mask */ 761 762 #define SC_ALTCTL_TXRST_Pos (0) /*!< SC_T::ALTCTL: TXRST Position */ 763 #define SC_ALTCTL_TXRST_Msk (0x1ul << SC_ALTCTL_TXRST_Pos) /*!< SC_T::ALTCTL: TXRST Mask */ 764 765 #define SC_ALTCTL_RXRST_Pos (1) /*!< SC_T::ALTCTL: RXRST Position */ 766 #define SC_ALTCTL_RXRST_Msk (0x1ul << SC_ALTCTL_RXRST_Pos) /*!< SC_T::ALTCTL: RXRST Mask */ 767 768 #define SC_ALTCTL_DACTEN_Pos (2) /*!< SC_T::ALTCTL: DACTEN Position */ 769 #define SC_ALTCTL_DACTEN_Msk (0x1ul << SC_ALTCTL_DACTEN_Pos) /*!< SC_T::ALTCTL: DACTEN Mask */ 770 771 #define SC_ALTCTL_ACTEN_Pos (3) /*!< SC_T::ALTCTL: ACTEN Position */ 772 #define SC_ALTCTL_ACTEN_Msk (0x1ul << SC_ALTCTL_ACTEN_Pos) /*!< SC_T::ALTCTL: ACTEN Mask */ 773 774 #define SC_ALTCTL_WARSTEN_Pos (4) /*!< SC_T::ALTCTL: WARSTEN Position */ 775 #define SC_ALTCTL_WARSTEN_Msk (0x1ul << SC_ALTCTL_WARSTEN_Pos) /*!< SC_T::ALTCTL: WARSTEN Mask */ 776 777 #define SC_ALTCTL_CNTEN0_Pos (5) /*!< SC_T::ALTCTL: CNTEN0 Position */ 778 #define SC_ALTCTL_CNTEN0_Msk (0x1ul << SC_ALTCTL_CNTEN0_Pos) /*!< SC_T::ALTCTL: CNTEN0 Mask */ 779 780 #define SC_ALTCTL_CNTEN1_Pos (6) /*!< SC_T::ALTCTL: CNTEN1 Position */ 781 #define SC_ALTCTL_CNTEN1_Msk (0x1ul << SC_ALTCTL_CNTEN1_Pos) /*!< SC_T::ALTCTL: CNTEN1 Mask */ 782 783 #define SC_ALTCTL_CNTEN2_Pos (7) /*!< SC_T::ALTCTL: CNTEN2 Position */ 784 #define SC_ALTCTL_CNTEN2_Msk (0x1ul << SC_ALTCTL_CNTEN2_Pos) /*!< SC_T::ALTCTL: CNTEN2 Mask */ 785 786 #define SC_ALTCTL_INITSEL_Pos (8) /*!< SC_T::ALTCTL: INITSEL Position */ 787 #define SC_ALTCTL_INITSEL_Msk (0x3ul << SC_ALTCTL_INITSEL_Pos) /*!< SC_T::ALTCTL: INITSEL Mask */ 788 789 #define SC_ALTCTL_ADACEN_Pos (11) /*!< SC_T::ALTCTL: ADACEN Position */ 790 #define SC_ALTCTL_ADACEN_Msk (0x1ul << SC_ALTCTL_ADACEN_Pos) /*!< SC_T::ALTCTL: ADACEN Mask */ 791 792 #define SC_ALTCTL_RXBGTEN_Pos (12) /*!< SC_T::ALTCTL: RXBGTEN Position */ 793 #define SC_ALTCTL_RXBGTEN_Msk (0x1ul << SC_ALTCTL_RXBGTEN_Pos) /*!< SC_T::ALTCTL: RXBGTEN Mask */ 794 795 #define SC_ALTCTL_ACTSTS0_Pos (13) /*!< SC_T::ALTCTL: ACTSTS0 Position */ 796 #define SC_ALTCTL_ACTSTS0_Msk (0x1ul << SC_ALTCTL_ACTSTS0_Pos) /*!< SC_T::ALTCTL: ACTSTS0 Mask */ 797 798 #define SC_ALTCTL_ACTSTS1_Pos (14) /*!< SC_T::ALTCTL: ACTSTS1 Position */ 799 #define SC_ALTCTL_ACTSTS1_Msk (0x1ul << SC_ALTCTL_ACTSTS1_Pos) /*!< SC_T::ALTCTL: ACTSTS1 Mask */ 800 801 #define SC_ALTCTL_ACTSTS2_Pos (15) /*!< SC_T::ALTCTL: ACTSTS2 Position */ 802 #define SC_ALTCTL_ACTSTS2_Msk (0x1ul << SC_ALTCTL_ACTSTS2_Pos) /*!< SC_T::ALTCTL: ACTSTS2 Mask */ 803 804 #define SC_ALTCTL_SYNC_Pos (31) /*!< SC_T::ALTCTL: SYNC Position */ 805 #define SC_ALTCTL_SYNC_Msk (0x1ul << SC_ALTCTL_SYNC_Pos) /*!< SC_T::ALTCTL: SYNC Mask */ 806 807 #define SC_EGT_EGT_Pos (0) /*!< SC_T::EGT: EGT Position */ 808 #define SC_EGT_EGT_Msk (0xfful << SC_EGT_EGT_Pos) /*!< SC_T::EGT: EGT Mask */ 809 810 #define SC_RXTOUT_RFTM_Pos (0) /*!< SC_T::RXTOUT: RFTM Position */ 811 #define SC_RXTOUT_RFTM_Msk (0x1fful << SC_RXTOUT_RFTM_Pos) /*!< SC_T::RXTOUT: RFTM Mask */ 812 813 #define SC_ETUCTL_ETURDIV_Pos (0) /*!< SC_T::ETUCTL: ETURDIV Position */ 814 #define SC_ETUCTL_ETURDIV_Msk (0xffful << SC_ETUCTL_ETURDIV_Pos) /*!< SC_T::ETUCTL: ETURDIV Mask */ 815 816 #define SC_INTEN_RDAIEN_Pos (0) /*!< SC_T::INTEN: RDAIEN Position */ 817 #define SC_INTEN_RDAIEN_Msk (0x1ul << SC_INTEN_RDAIEN_Pos) /*!< SC_T::INTEN: RDAIEN Mask */ 818 819 #define SC_INTEN_TBEIEN_Pos (1) /*!< SC_T::INTEN: TBEIEN Position */ 820 #define SC_INTEN_TBEIEN_Msk (0x1ul << SC_INTEN_TBEIEN_Pos) /*!< SC_T::INTEN: TBEIEN Mask */ 821 822 #define SC_INTEN_TERRIEN_Pos (2) /*!< SC_T::INTEN: TERRIEN Position */ 823 #define SC_INTEN_TERRIEN_Msk (0x1ul << SC_INTEN_TERRIEN_Pos) /*!< SC_T::INTEN: TERRIEN Mask */ 824 825 #define SC_INTEN_TMR0IEN_Pos (3) /*!< SC_T::INTEN: TMR0IEN Position */ 826 #define SC_INTEN_TMR0IEN_Msk (0x1ul << SC_INTEN_TMR0IEN_Pos) /*!< SC_T::INTEN: TMR0IEN Mask */ 827 828 #define SC_INTEN_TMR1IEN_Pos (4) /*!< SC_T::INTEN: TMR1IEN Position */ 829 #define SC_INTEN_TMR1IEN_Msk (0x1ul << SC_INTEN_TMR1IEN_Pos) /*!< SC_T::INTEN: TMR1IEN Mask */ 830 831 #define SC_INTEN_TMR2IEN_Pos (5) /*!< SC_T::INTEN: TMR2IEN Position */ 832 #define SC_INTEN_TMR2IEN_Msk (0x1ul << SC_INTEN_TMR2IEN_Pos) /*!< SC_T::INTEN: TMR2IEN Mask */ 833 834 #define SC_INTEN_BGTIEN_Pos (6) /*!< SC_T::INTEN: BGTIEN Position */ 835 #define SC_INTEN_BGTIEN_Msk (0x1ul << SC_INTEN_BGTIEN_Pos) /*!< SC_T::INTEN: BGTIEN Mask */ 836 837 #define SC_INTEN_CDIEN_Pos (7) /*!< SC_T::INTEN: CDIEN Position */ 838 #define SC_INTEN_CDIEN_Msk (0x1ul << SC_INTEN_CDIEN_Pos) /*!< SC_T::INTEN: CDIEN Mask */ 839 840 #define SC_INTEN_INITIEN_Pos (8) /*!< SC_T::INTEN: INITIEN Position */ 841 #define SC_INTEN_INITIEN_Msk (0x1ul << SC_INTEN_INITIEN_Pos) /*!< SC_T::INTEN: INITIEN Mask */ 842 843 #define SC_INTEN_RXTOIEN_Pos (9) /*!< SC_T::INTEN: RXTOIEN Position */ 844 #define SC_INTEN_RXTOIEN_Msk (0x1ul << SC_INTEN_RXTOIEN_Pos) /*!< SC_T::INTEN: RXTOIEN Mask */ 845 846 #define SC_INTEN_ACERRIEN_Pos (10) /*!< SC_T::INTEN: ACERRIEN Position */ 847 #define SC_INTEN_ACERRIEN_Msk (0x1ul << SC_INTEN_ACERRIEN_Pos) /*!< SC_T::INTEN: ACERRIEN Mask */ 848 849 #define SC_INTSTS_RDAIF_Pos (0) /*!< SC_T::INTSTS: RDAIF Position */ 850 #define SC_INTSTS_RDAIF_Msk (0x1ul << SC_INTSTS_RDAIF_Pos) /*!< SC_T::INTSTS: RDAIF Mask */ 851 852 #define SC_INTSTS_TBEIF_Pos (1) /*!< SC_T::INTSTS: TBEIF Position */ 853 #define SC_INTSTS_TBEIF_Msk (0x1ul << SC_INTSTS_TBEIF_Pos) /*!< SC_T::INTSTS: TBEIF Mask */ 854 855 #define SC_INTSTS_TERRIF_Pos (2) /*!< SC_T::INTSTS: TERRIF Position */ 856 #define SC_INTSTS_TERRIF_Msk (0x1ul << SC_INTSTS_TERRIF_Pos) /*!< SC_T::INTSTS: TERRIF Mask */ 857 858 #define SC_INTSTS_TMR0IF_Pos (3) /*!< SC_T::INTSTS: TMR0IF Position */ 859 #define SC_INTSTS_TMR0IF_Msk (0x1ul << SC_INTSTS_TMR0IF_Pos) /*!< SC_T::INTSTS: TMR0IF Mask */ 860 861 #define SC_INTSTS_TMR1IF_Pos (4) /*!< SC_T::INTSTS: TMR1IF Position */ 862 #define SC_INTSTS_TMR1IF_Msk (0x1ul << SC_INTSTS_TMR1IF_Pos) /*!< SC_T::INTSTS: TMR1IF Mask */ 863 864 #define SC_INTSTS_TMR2IF_Pos (5) /*!< SC_T::INTSTS: TMR2IF Position */ 865 #define SC_INTSTS_TMR2IF_Msk (0x1ul << SC_INTSTS_TMR2IF_Pos) /*!< SC_T::INTSTS: TMR2IF Mask */ 866 867 #define SC_INTSTS_BGTIF_Pos (6) /*!< SC_T::INTSTS: BGTIF Position */ 868 #define SC_INTSTS_BGTIF_Msk (0x1ul << SC_INTSTS_BGTIF_Pos) /*!< SC_T::INTSTS: BGTIF Mask */ 869 870 #define SC_INTSTS_CDIF_Pos (7) /*!< SC_T::INTSTS: CDIF Position */ 871 #define SC_INTSTS_CDIF_Msk (0x1ul << SC_INTSTS_CDIF_Pos) /*!< SC_T::INTSTS: CDIF Mask */ 872 873 #define SC_INTSTS_INITIF_Pos (8) /*!< SC_T::INTSTS: INITIF Position */ 874 #define SC_INTSTS_INITIF_Msk (0x1ul << SC_INTSTS_INITIF_Pos) /*!< SC_T::INTSTS: INITIF Mask */ 875 876 #define SC_INTSTS_RXTOIF_Pos (9) /*!< SC_T::INTSTS: RXTOIF Position */ 877 #define SC_INTSTS_RXTOIF_Msk (0x1ul << SC_INTSTS_RXTOIF_Pos) /*!< SC_T::INTSTS: RXTOIF Mask */ 878 879 #define SC_INTSTS_ACERRIF_Pos (10) /*!< SC_T::INTSTS: ACERRIF Position */ 880 #define SC_INTSTS_ACERRIF_Msk (0x1ul << SC_INTSTS_ACERRIF_Pos) /*!< SC_T::INTSTS: ACERRIF Mask */ 881 882 #define SC_STATUS_RXOV_Pos (0) /*!< SC_T::STATUS: RXOV Position */ 883 #define SC_STATUS_RXOV_Msk (0x1ul << SC_STATUS_RXOV_Pos) /*!< SC_T::STATUS: RXOV Mask */ 884 885 #define SC_STATUS_RXEMPTY_Pos (1) /*!< SC_T::STATUS: RXEMPTY Position */ 886 #define SC_STATUS_RXEMPTY_Msk (0x1ul << SC_STATUS_RXEMPTY_Pos) /*!< SC_T::STATUS: RXEMPTY Mask */ 887 888 #define SC_STATUS_RXFULL_Pos (2) /*!< SC_T::STATUS: RXFULL Position */ 889 #define SC_STATUS_RXFULL_Msk (0x1ul << SC_STATUS_RXFULL_Pos) /*!< SC_T::STATUS: RXFULL Mask */ 890 891 #define SC_STATUS_PEF_Pos (4) /*!< SC_T::STATUS: PEF Position */ 892 #define SC_STATUS_PEF_Msk (0x1ul << SC_STATUS_PEF_Pos) /*!< SC_T::STATUS: PEF Mask */ 893 894 #define SC_STATUS_FEF_Pos (5) /*!< SC_T::STATUS: FEF Position */ 895 #define SC_STATUS_FEF_Msk (0x1ul << SC_STATUS_FEF_Pos) /*!< SC_T::STATUS: FEF Mask */ 896 897 #define SC_STATUS_BEF_Pos (6) /*!< SC_T::STATUS: BEF Position */ 898 #define SC_STATUS_BEF_Msk (0x1ul << SC_STATUS_BEF_Pos) /*!< SC_T::STATUS: BEF Mask */ 899 900 #define SC_STATUS_TXOV_Pos (8) /*!< SC_T::STATUS: TXOV Position */ 901 #define SC_STATUS_TXOV_Msk (0x1ul << SC_STATUS_TXOV_Pos) /*!< SC_T::STATUS: TXOV Mask */ 902 903 #define SC_STATUS_TXEMPTY_Pos (9) /*!< SC_T::STATUS: TXEMPTY Position */ 904 #define SC_STATUS_TXEMPTY_Msk (0x1ul << SC_STATUS_TXEMPTY_Pos) /*!< SC_T::STATUS: TXEMPTY Mask */ 905 906 #define SC_STATUS_TXFULL_Pos (10) /*!< SC_T::STATUS: TXFULL Position */ 907 #define SC_STATUS_TXFULL_Msk (0x1ul << SC_STATUS_TXFULL_Pos) /*!< SC_T::STATUS: TXFULL Mask */ 908 909 #define SC_STATUS_CREMOVE_Pos (11) /*!< SC_T::STATUS: CREMOVE Position */ 910 #define SC_STATUS_CREMOVE_Msk (0x1ul << SC_STATUS_CREMOVE_Pos) /*!< SC_T::STATUS: CREMOVE Mask */ 911 912 #define SC_STATUS_CINSERT_Pos (12) /*!< SC_T::STATUS: CINSERT Position */ 913 #define SC_STATUS_CINSERT_Msk (0x1ul << SC_STATUS_CINSERT_Pos) /*!< SC_T::STATUS: CINSERT Mask */ 914 915 #define SC_STATUS_CDPINSTS_Pos (13) /*!< SC_T::STATUS: CDPINSTS Position */ 916 #define SC_STATUS_CDPINSTS_Msk (0x1ul << SC_STATUS_CDPINSTS_Pos) /*!< SC_T::STATUS: CDPINSTS Mask */ 917 918 #define SC_STATUS_RXPOINT_Pos (16) /*!< SC_T::STATUS: RXPOINT Position */ 919 #define SC_STATUS_RXPOINT_Msk (0x7ul << SC_STATUS_RXPOINT_Pos) /*!< SC_T::STATUS: RXPOINT Mask */ 920 921 #define SC_STATUS_RXRERR_Pos (21) /*!< SC_T::STATUS: RXRERR Position */ 922 #define SC_STATUS_RXRERR_Msk (0x1ul << SC_STATUS_RXRERR_Pos) /*!< SC_T::STATUS: RXRERR Mask */ 923 924 #define SC_STATUS_RXOVERR_Pos (22) /*!< SC_T::STATUS: RXOVERR Position */ 925 #define SC_STATUS_RXOVERR_Msk (0x1ul << SC_STATUS_RXOVERR_Pos) /*!< SC_T::STATUS: RXOVERR Mask */ 926 927 #define SC_STATUS_RXACT_Pos (23) /*!< SC_T::STATUS: RXACT Position */ 928 #define SC_STATUS_RXACT_Msk (0x1ul << SC_STATUS_RXACT_Pos) /*!< SC_T::STATUS: RXACT Mask */ 929 930 #define SC_STATUS_TXPOINT_Pos (24) /*!< SC_T::STATUS: TXPOINT Position */ 931 #define SC_STATUS_TXPOINT_Msk (0x7ul << SC_STATUS_TXPOINT_Pos) /*!< SC_T::STATUS: TXPOINT Mask */ 932 933 #define SC_STATUS_TXRERR_Pos (29) /*!< SC_T::STATUS: TXRERR Position */ 934 #define SC_STATUS_TXRERR_Msk (0x1ul << SC_STATUS_TXRERR_Pos) /*!< SC_T::STATUS: TXRERR Mask */ 935 936 #define SC_STATUS_TXOVERR_Pos (30) /*!< SC_T::STATUS: TXOVERR Position */ 937 #define SC_STATUS_TXOVERR_Msk (0x1ul << SC_STATUS_TXOVERR_Pos) /*!< SC_T::STATUS: TXOVERR Mask */ 938 939 #define SC_STATUS_TXACT_Pos (31) /*!< SC_T::STATUS: TXACT Position */ 940 #define SC_STATUS_TXACT_Msk (0x1ul << SC_STATUS_TXACT_Pos) /*!< SC_T::STATUS: TXACT Mask */ 941 942 #define SC_PINCTL_PWREN_Pos (0) /*!< SC_T::PINCTL: PWREN Position */ 943 #define SC_PINCTL_PWREN_Msk (0x1ul << SC_PINCTL_PWREN_Pos) /*!< SC_T::PINCTL: PWREN Mask */ 944 945 #define SC_PINCTL_RSTEN_Pos (1) /*!< SC_T::PINCTL: RSTEN Position */ 946 #define SC_PINCTL_RSTEN_Msk (0x1ul << SC_PINCTL_RSTEN_Pos) /*!< SC_T::PINCTL: RSTEN Mask */ 947 948 #define SC_PINCTL_CLKKEEP_Pos (6) /*!< SC_T::PINCTL: CLKKEEP Position */ 949 #define SC_PINCTL_CLKKEEP_Msk (0x1ul << SC_PINCTL_CLKKEEP_Pos) /*!< SC_T::PINCTL: CLKKEEP Mask */ 950 951 #define SC_PINCTL_SCDATA_Pos (9) /*!< SC_T::PINCTL: SCDATA Position */ 952 #define SC_PINCTL_SCDATA_Msk (0x1ul << SC_PINCTL_SCDATA_Pos) /*!< SC_T::PINCTL: SCDATA Mask */ 953 954 #define SC_PINCTL_PWRINV_Pos (11) /*!< SC_T::PINCTL: PWRINV Position */ 955 #define SC_PINCTL_PWRINV_Msk (0x1ul << SC_PINCTL_PWRINV_Pos) /*!< SC_T::PINCTL: PWRINV Mask */ 956 957 #define SC_PINCTL_DATASTS_Pos (16) /*!< SC_T::PINCTL: DATASTS Position */ 958 #define SC_PINCTL_DATASTS_Msk (0x1ul << SC_PINCTL_DATASTS_Pos) /*!< SC_T::PINCTL: DATASTS Mask */ 959 960 #define SC_PINCTL_PWRSTS_Pos (17) /*!< SC_T::PINCTL: PWRSTS Position */ 961 #define SC_PINCTL_PWRSTS_Msk (0x1ul << SC_PINCTL_PWRSTS_Pos) /*!< SC_T::PINCTL: PWRSTS Mask */ 962 963 #define SC_PINCTL_RSTSTS_Pos (18) /*!< SC_T::PINCTL: RSTSTS Position */ 964 #define SC_PINCTL_RSTSTS_Msk (0x1ul << SC_PINCTL_RSTSTS_Pos) /*!< SC_T::PINCTL: RSTSTS Mask */ 965 966 #define SC_PINCTL_SYNC_Pos (30) /*!< SC_T::PINCTL: SYNC Position */ 967 #define SC_PINCTL_SYNC_Msk (0x1ul << SC_PINCTL_SYNC_Pos) /*!< SC_T::PINCTL: SYNC Mask */ 968 969 #define SC_TMRCTL0_CNT_Pos (0) /*!< SC_T::TMRCTL0: CNT Position */ 970 #define SC_TMRCTL0_CNT_Msk (0xfffffful << SC_TMRCTL0_CNT_Pos) /*!< SC_T::TMRCTL0: CNT Mask */ 971 972 #define SC_TMRCTL0_OPMODE_Pos (24) /*!< SC_T::TMRCTL0: OPMODE Position */ 973 #define SC_TMRCTL0_OPMODE_Msk (0xful << SC_TMRCTL0_OPMODE_Pos) /*!< SC_T::TMRCTL0: OPMODE Mask */ 974 975 #define SC_TMRCTL0_SYNC_Pos (31) /*!< SC_T::TMRCTL0: SYNC Position */ 976 #define SC_TMRCTL0_SYNC_Msk (0x1ul << SC_TMRCTL0_SYNC_Pos) /*!< SC_T::TMRCTL0: SYNC Mask */ 977 978 #define SC_TMRCTL1_CNT_Pos (0) /*!< SC_T::TMRCTL1: CNT Position */ 979 #define SC_TMRCTL1_CNT_Msk (0xfful << SC_TMRCTL1_CNT_Pos) /*!< SC_T::TMRCTL1: CNT Mask */ 980 981 #define SC_TMRCTL1_OPMODE_Pos (24) /*!< SC_T::TMRCTL1: OPMODE Position */ 982 #define SC_TMRCTL1_OPMODE_Msk (0xful << SC_TMRCTL1_OPMODE_Pos) /*!< SC_T::TMRCTL1: OPMODE Mask */ 983 984 #define SC_TMRCTL1_SYNC_Pos (31) /*!< SC_T::TMRCTL1: SYNC Position */ 985 #define SC_TMRCTL1_SYNC_Msk (0x1ul << SC_TMRCTL1_SYNC_Pos) /*!< SC_T::TMRCTL1: SYNC Mask */ 986 987 #define SC_TMRCTL2_CNT_Pos (0) /*!< SC_T::TMRCTL2: CNT Position */ 988 #define SC_TMRCTL2_CNT_Msk (0xfful << SC_TMRCTL2_CNT_Pos) /*!< SC_T::TMRCTL2: CNT Mask */ 989 990 #define SC_TMRCTL2_OPMODE_Pos (24) /*!< SC_T::TMRCTL2: OPMODE Position */ 991 #define SC_TMRCTL2_OPMODE_Msk (0xful << SC_TMRCTL2_OPMODE_Pos) /*!< SC_T::TMRCTL2: OPMODE Mask */ 992 993 #define SC_TMRCTL2_SYNC_Pos (31) /*!< SC_T::TMRCTL2: SYNC Position */ 994 #define SC_TMRCTL2_SYNC_Msk (0x1ul << SC_TMRCTL2_SYNC_Pos) /*!< SC_T::TMRCTL2: SYNC Mask */ 995 996 #define SC_UARTCTL_UARTEN_Pos (0) /*!< SC_T::UARTCTL: UARTEN Position */ 997 #define SC_UARTCTL_UARTEN_Msk (0x1ul << SC_UARTCTL_UARTEN_Pos) /*!< SC_T::UARTCTL: UARTEN Mask */ 998 999 #define SC_UARTCTL_WLS_Pos (4) /*!< SC_T::UARTCTL: WLS Position */ 1000 #define SC_UARTCTL_WLS_Msk (0x3ul << SC_UARTCTL_WLS_Pos) /*!< SC_T::UARTCTL: WLS Mask */ 1001 1002 #define SC_UARTCTL_PBOFF_Pos (6) /*!< SC_T::UARTCTL: PBOFF Position */ 1003 #define SC_UARTCTL_PBOFF_Msk (0x1ul << SC_UARTCTL_PBOFF_Pos) /*!< SC_T::UARTCTL: PBOFF Mask */ 1004 1005 #define SC_UARTCTL_OPE_Pos (7) /*!< SC_T::UARTCTL: OPE Position */ 1006 #define SC_UARTCTL_OPE_Msk (0x1ul << SC_UARTCTL_OPE_Pos) /*!< SC_T::UARTCTL: OPE Mask */ 1007 1008 #define SC_ACTCTL_T1EXT_Pos (0) /*!< SC_T::ACTCTL: T1EXT Position */ 1009 #define SC_ACTCTL_T1EXT_Msk (0x1ful << SC_ACTCTL_T1EXT_Pos) /*!< SC_T::ACTCTL: T1EXT Mask */ 1010 1011 /**@}*/ /* SC_CONST */ 1012 /**@}*/ /* end of SC register group */ 1013 /**@}*/ /* end of REGISTER group */ 1014 1015 #if defined ( __CC_ARM ) 1016 #pragma no_anon_unions 1017 #endif 1018 1019 #endif /* __SC_REG_H__ */ 1020