![]() |
|
|||
File indexing completed on 2025-05-11 08:22:44
0001 /** 0002 * @file 0003 * 0004 * @ingroup RTEMSBSPsARMCycVContrib 0005 */ 0006 0007 /******************************************************************************* 0008 * * 0009 * Copyright 2013 Altera Corporation. All Rights Reserved. * 0010 * * 0011 * Redistribution and use in source and binary forms, with or without * 0012 * modification, are permitted provided that the following conditions are met: * 0013 * * 0014 * 1. Redistributions of source code must retain the above copyright notice, * 0015 * this list of conditions and the following disclaimer. * 0016 * * 0017 * 2. Redistributions in binary form must reproduce the above copyright notice, * 0018 * this list of conditions and the following disclaimer in the documentation * 0019 * and/or other materials provided with the distribution. * 0020 * * 0021 * 3. The name of the author may not be used to endorse or promote products * 0022 * derived from this software without specific prior written permission. * 0023 * * 0024 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER "AS IS" AND ANY EXPRESS OR * 0025 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF * 0026 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ARE DISCLAIMED. IN NO * 0027 * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, * 0028 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, * 0029 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; * 0030 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, * 0031 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR * 0032 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF * 0033 * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * 0034 * * 0035 *******************************************************************************/ 0036 0037 /* Altera - ALT_UART */ 0038 0039 #ifndef __ALTERA_ALT_UART_H__ 0040 #define __ALTERA_ALT_UART_H__ 0041 0042 #ifdef __cplusplus 0043 extern "C" 0044 { 0045 #endif /* __cplusplus */ 0046 0047 /* 0048 * Component : UART Module - ALT_UART 0049 * UART Module 0050 * 0051 * Registers in the UART module 0052 * 0053 */ 0054 /* 0055 * Register : Rx Buffer, Tx Holding, and Divisor Latch Low - rbr_thr_dll 0056 * 0057 * This is a multi-function register. This register holds receives and transmit 0058 * data and controls the least-signficant 8 bits of the baud rate divisor. 0059 * 0060 * Register Layout 0061 * 0062 * Bits | Access | Reset | Description 0063 * :-------|:-------|:------|:------------ 0064 * [7:0] | RW | 0x0 | Value 0065 * [31:8] | ??? | 0x0 | *UNDEFINED* 0066 * 0067 */ 0068 /* 0069 * Field : Value - value 0070 * 0071 * Receive Buffer Register: 0072 * 0073 * This register contains the data byte received on the serial input port 0074 * (uart_rxd). The data in this register is valid only if the Data Ready ( bit [0] 0075 * in the Line Status Register(LSR)) is set to 1. If FIFOs are disabled(bit[0] of 0076 * Register FCR is set to 0) the data in the RBR must be read before the next data 0077 * arrives, otherwise it will be overwritten, resulting in an overrun error. If 0078 * FIFOs are enabled(bit [0] of Register FCR is set to 1) this register accesses 0079 * the head of the receive FIFO. If the receive FIFO is full, and this register is 0080 * not read before the next data character arrives, then the data already in the 0081 * FIFO will be preserved but any incoming data will be lost. An overrun error will 0082 * also occur. 0083 * 0084 * Transmit Holding Register: 0085 * 0086 * This register contains data to be transmitted on the serial output port. Data 0087 * should only be written to the THR when the THR Empty bit [5] of the LSR Register 0088 * is set to 1. If FIFOs are disabled (bit [0] of Register FCR) is set to 0 and 0089 * THRE is set to 1, writing a single character to the THR clears the THRE. Any 0090 * additional writes to the THR before the THRE is set again causes the THR data to 0091 * be overwritten. If FIFO's are enabled bit [0] of Register FCR is set to 1 and 0092 * THRE is set up to 128 characters of data may be written to the THR before the 0093 * FIFO is full. Any attempt to write data when the FIFO is full results in the 0094 * write data being lost. 0095 * 0096 * Divisor Latch Low: 0097 * 0098 * This register makes up the lower 8-bits of a 16-bit, Read/write, Divisor Latch 0099 * register that contains the baud rate divisor for the UART. This register may 0100 * only be accessed when the DLAB bit [7] of the LCR Register is set to 1. The 0101 * output baud rate is equal to the serial clock l4_sp_clk frequency divided by 0102 * sixteen times the value of the baud rate divisor, as follows: 0103 * 0104 * baud rate = (serial clock freq) / (16 * divisor) 0105 * 0106 * Note that with the Divisor Latch Registers (DLL and DLH) set to zero, the baud 0107 * clock is disabled and no serial communications will occur. Also, once the DLL is 0108 * set, at least 8 l4_sp_clk clock cycles should be allowed to pass before 0109 * transmitting or receiving data. 0110 * 0111 * Field Access Macros: 0112 * 0113 */ 0114 /* The Least Significant Bit (LSB) position of the ALT_UART_RBR_THR_DLL_VALUE register field. */ 0115 #define ALT_UART_RBR_THR_DLL_VALUE_LSB 0 0116 /* The Most Significant Bit (MSB) position of the ALT_UART_RBR_THR_DLL_VALUE register field. */ 0117 #define ALT_UART_RBR_THR_DLL_VALUE_MSB 7 0118 /* The width in bits of the ALT_UART_RBR_THR_DLL_VALUE register field. */ 0119 #define ALT_UART_RBR_THR_DLL_VALUE_WIDTH 8 0120 /* The mask used to set the ALT_UART_RBR_THR_DLL_VALUE register field value. */ 0121 #define ALT_UART_RBR_THR_DLL_VALUE_SET_MSK 0x000000ff 0122 /* The mask used to clear the ALT_UART_RBR_THR_DLL_VALUE register field value. */ 0123 #define ALT_UART_RBR_THR_DLL_VALUE_CLR_MSK 0xffffff00 0124 /* The reset value of the ALT_UART_RBR_THR_DLL_VALUE register field. */ 0125 #define ALT_UART_RBR_THR_DLL_VALUE_RESET 0x0 0126 /* Extracts the ALT_UART_RBR_THR_DLL_VALUE field value from a register. */ 0127 #define ALT_UART_RBR_THR_DLL_VALUE_GET(value) (((value) & 0x000000ff) >> 0) 0128 /* Produces a ALT_UART_RBR_THR_DLL_VALUE register field value suitable for setting the register. */ 0129 #define ALT_UART_RBR_THR_DLL_VALUE_SET(value) (((value) << 0) & 0x000000ff) 0130 0131 #ifndef __ASSEMBLY__ 0132 /* 0133 * WARNING: The C register and register group struct declarations are provided for 0134 * convenience and illustrative purposes. They should, however, be used with 0135 * caution as the C language standard provides no guarantees about the alignment or 0136 * atomicity of device memory accesses. The recommended practice for writing 0137 * hardware drivers is to use the SoCAL access macros and alt_read_word() and 0138 * alt_write_word() functions. 0139 * 0140 * The struct declaration for register ALT_UART_RBR_THR_DLL. 0141 */ 0142 struct ALT_UART_RBR_THR_DLL_s 0143 { 0144 uint32_t value : 8; /* Value */ 0145 uint32_t : 24; /* *UNDEFINED* */ 0146 }; 0147 0148 /* The typedef declaration for register ALT_UART_RBR_THR_DLL. */ 0149 typedef volatile struct ALT_UART_RBR_THR_DLL_s ALT_UART_RBR_THR_DLL_t; 0150 #endif /* __ASSEMBLY__ */ 0151 0152 /* The byte offset of the ALT_UART_RBR_THR_DLL register from the beginning of the component. */ 0153 #define ALT_UART_RBR_THR_DLL_OFST 0x0 0154 /* The address of the ALT_UART_RBR_THR_DLL register. */ 0155 #define ALT_UART_RBR_THR_DLL_ADDR(base) ALT_CAST(void *, (ALT_CAST(char *, (base)) + ALT_UART_RBR_THR_DLL_OFST)) 0156 0157 /* 0158 * Register : Interrupt Enable and Divisor Latch High - ier_dlh 0159 * 0160 * This is a multi-function register. This register enables/disables receive and 0161 * transmit interrupts and also controls the most-significant 8-bits of the baud 0162 * rate divisor. 0163 * 0164 * Divisor Latch High Register: 0165 * 0166 * This register is accessed when the DLAB bit [7] of the LCR Register is set to 0167 * 1.Bits[7:0] contain the high order 8-bits of the baud rate divisor.The output 0168 * baud rate is equal to the serial clock l4_sp_clk frequency divided by sixteen 0169 * times the value of the baud rate divisor, as follows: 0170 * 0171 * baud rate = (serial clock freq) / (16 * divisor): 0172 * 0173 * Note that with the Divisor Latch Registers (DLLand DLH) set to zero, the baud 0174 * clock is disabled and no serial communications will occur. Also, once the DLL is 0175 * set, at least 8 l4_sp_clk clock cycles should be allowed to pass before 0176 * transmitting or receiving data. 0177 * 0178 * Interrupt Enable Register: 0179 * 0180 * This register may only be accessed when the DLAB bit [7] of the LCR Register is 0181 * set to 0.Allows control of the Interrupt Enables for transmit and receive 0182 * functions. 0183 * 0184 * Register Layout 0185 * 0186 * Bits | Access | Reset | Description 0187 * :-------|:-------|:------|:-------------------------------------------- 0188 * [0] | RW | 0x0 | DLH[0] and Receive Data Interrupt Enable 0189 * [1] | RW | 0x0 | DLH[1] and Transmit Data Interrupt Control 0190 * [2] | RW | 0x0 | DLH[2] and Enable Receiver Line Status 0191 * [3] | RW | 0x0 | DLH[3] and Enable Modem Status Interrupt 0192 * [4] | RW | 0x0 | DLH[4] 0193 * [5] | RW | 0x0 | DLH[5] 0194 * [6] | RW | 0x0 | DLH[6] 0195 * [7] | RW | 0x0 | DLH[7] and PTIME THRE Interrupt Mode Enable 0196 * [31:8] | ??? | 0x0 | *UNDEFINED* 0197 * 0198 */ 0199 /* 0200 * Field : DLH[0] and Receive Data Interrupt Enable - erbfi_dlh0 0201 * 0202 * Divisor Latch High Register: 0203 * 0204 * Bit 0 of DLH value. 0205 * 0206 * Interrupt Enable Register: 0207 * 0208 * Used to enable/disable the generation of the Receive Data Available Interrupt 0209 * and the Character Timeout Interrupt(if FIFO's enabled). These are the second 0210 * highest priority interrupts. 0211 * 0212 * Field Enumeration Values: 0213 * 0214 * Enum | Value | Description 0215 * :-----------------------------------|:------|:------------------ 0216 * ALT_UART_IER_DLH_ERBFI_DLH0_E_DISD | 0x0 | Interrupt Disable 0217 * ALT_UART_IER_DLH_ERBFI_DLH0_E_END | 0x1 | Interrupt Enable 0218 * 0219 * Field Access Macros: 0220 * 0221 */ 0222 /* 0223 * Enumerated value for register field ALT_UART_IER_DLH_ERBFI_DLH0 0224 * 0225 * Interrupt Disable 0226 */ 0227 #define ALT_UART_IER_DLH_ERBFI_DLH0_E_DISD 0x0 0228 /* 0229 * Enumerated value for register field ALT_UART_IER_DLH_ERBFI_DLH0 0230 * 0231 * Interrupt Enable 0232 */ 0233 #define ALT_UART_IER_DLH_ERBFI_DLH0_E_END 0x1 0234 0235 /* The Least Significant Bit (LSB) position of the ALT_UART_IER_DLH_ERBFI_DLH0 register field. */ 0236 #define ALT_UART_IER_DLH_ERBFI_DLH0_LSB 0 0237 /* The Most Significant Bit (MSB) position of the ALT_UART_IER_DLH_ERBFI_DLH0 register field. */ 0238 #define ALT_UART_IER_DLH_ERBFI_DLH0_MSB 0 0239 /* The width in bits of the ALT_UART_IER_DLH_ERBFI_DLH0 register field. */ 0240 #define ALT_UART_IER_DLH_ERBFI_DLH0_WIDTH 1 0241 /* The mask used to set the ALT_UART_IER_DLH_ERBFI_DLH0 register field value. */ 0242 #define ALT_UART_IER_DLH_ERBFI_DLH0_SET_MSK 0x00000001 0243 /* The mask used to clear the ALT_UART_IER_DLH_ERBFI_DLH0 register field value. */ 0244 #define ALT_UART_IER_DLH_ERBFI_DLH0_CLR_MSK 0xfffffffe 0245 /* The reset value of the ALT_UART_IER_DLH_ERBFI_DLH0 register field. */ 0246 #define ALT_UART_IER_DLH_ERBFI_DLH0_RESET 0x0 0247 /* Extracts the ALT_UART_IER_DLH_ERBFI_DLH0 field value from a register. */ 0248 #define ALT_UART_IER_DLH_ERBFI_DLH0_GET(value) (((value) & 0x00000001) >> 0) 0249 /* Produces a ALT_UART_IER_DLH_ERBFI_DLH0 register field value suitable for setting the register. */ 0250 #define ALT_UART_IER_DLH_ERBFI_DLH0_SET(value) (((value) << 0) & 0x00000001) 0251 0252 /* 0253 * Field : DLH[1] and Transmit Data Interrupt Control - etbei_dlhl 0254 * 0255 * Divisor Latch High Register: 0256 * 0257 * Bit 1 of DLH value. 0258 * 0259 * Interrupt Enable Register: 0260 * 0261 * Enable Transmit Holding Register Empty Interrupt. This is used to enable/disable 0262 * the generation of Transmitter Holding Register Empty Interrupt. This is the 0263 * third highest priority interrupt. 0264 * 0265 * Field Enumeration Values: 0266 * 0267 * Enum | Value | Description 0268 * :-----------------------------------|:------|:------------ 0269 * ALT_UART_IER_DLH_ETBEI_DLHL_E_DISD | 0x0 | Tx disable 0270 * ALT_UART_IER_DLH_ETBEI_DLHL_E_END | 0x1 | Tx enable 0271 * 0272 * Field Access Macros: 0273 * 0274 */ 0275 /* 0276 * Enumerated value for register field ALT_UART_IER_DLH_ETBEI_DLHL 0277 * 0278 * Tx disable 0279 */ 0280 #define ALT_UART_IER_DLH_ETBEI_DLHL_E_DISD 0x0 0281 /* 0282 * Enumerated value for register field ALT_UART_IER_DLH_ETBEI_DLHL 0283 * 0284 * Tx enable 0285 */ 0286 #define ALT_UART_IER_DLH_ETBEI_DLHL_E_END 0x1 0287 0288 /* The Least Significant Bit (LSB) position of the ALT_UART_IER_DLH_ETBEI_DLHL register field. */ 0289 #define ALT_UART_IER_DLH_ETBEI_DLHL_LSB 1 0290 /* The Most Significant Bit (MSB) position of the ALT_UART_IER_DLH_ETBEI_DLHL register field. */ 0291 #define ALT_UART_IER_DLH_ETBEI_DLHL_MSB 1 0292 /* The width in bits of the ALT_UART_IER_DLH_ETBEI_DLHL register field. */ 0293 #define ALT_UART_IER_DLH_ETBEI_DLHL_WIDTH 1 0294 /* The mask used to set the ALT_UART_IER_DLH_ETBEI_DLHL register field value. */ 0295 #define ALT_UART_IER_DLH_ETBEI_DLHL_SET_MSK 0x00000002 0296 /* The mask used to clear the ALT_UART_IER_DLH_ETBEI_DLHL register field value. */ 0297 #define ALT_UART_IER_DLH_ETBEI_DLHL_CLR_MSK 0xfffffffd 0298 /* The reset value of the ALT_UART_IER_DLH_ETBEI_DLHL register field. */ 0299 #define ALT_UART_IER_DLH_ETBEI_DLHL_RESET 0x0 0300 /* Extracts the ALT_UART_IER_DLH_ETBEI_DLHL field value from a register. */ 0301 #define ALT_UART_IER_DLH_ETBEI_DLHL_GET(value) (((value) & 0x00000002) >> 1) 0302 /* Produces a ALT_UART_IER_DLH_ETBEI_DLHL register field value suitable for setting the register. */ 0303 #define ALT_UART_IER_DLH_ETBEI_DLHL_SET(value) (((value) << 1) & 0x00000002) 0304 0305 /* 0306 * Field : DLH[2] and Enable Receiver Line Status - elsi_dhl2 0307 * 0308 * Divisor Latch High Register: 0309 * 0310 * Bit 2 of DLH value. 0311 * 0312 * Interrupt Enable Register: 0313 * 0314 * This is used to enable/disable the generation of Receiver Line Status Interrupt. 0315 * This is the highest priority interrupt. 0316 * 0317 * Field Enumeration Values: 0318 * 0319 * Enum | Value | Description 0320 * :----------------------------------|:------|:---------------------------- 0321 * ALT_UART_IER_DLH_ELSI_DHL2_E_DISD | 0x0 | Disable interrupt line stat 0322 * ALT_UART_IER_DLH_ELSI_DHL2_E_END | 0x1 | Enable interrupt line stat 0323 * 0324 * Field Access Macros: 0325 * 0326 */ 0327 /* 0328 * Enumerated value for register field ALT_UART_IER_DLH_ELSI_DHL2 0329 * 0330 * Disable interrupt line stat 0331 */ 0332 #define ALT_UART_IER_DLH_ELSI_DHL2_E_DISD 0x0 0333 /* 0334 * Enumerated value for register field ALT_UART_IER_DLH_ELSI_DHL2 0335 * 0336 * Enable interrupt line stat 0337 */ 0338 #define ALT_UART_IER_DLH_ELSI_DHL2_E_END 0x1 0339 0340 /* The Least Significant Bit (LSB) position of the ALT_UART_IER_DLH_ELSI_DHL2 register field. */ 0341 #define ALT_UART_IER_DLH_ELSI_DHL2_LSB 2 0342 /* The Most Significant Bit (MSB) position of the ALT_UART_IER_DLH_ELSI_DHL2 register field. */ 0343 #define ALT_UART_IER_DLH_ELSI_DHL2_MSB 2 0344 /* The width in bits of the ALT_UART_IER_DLH_ELSI_DHL2 register field. */ 0345 #define ALT_UART_IER_DLH_ELSI_DHL2_WIDTH 1 0346 /* The mask used to set the ALT_UART_IER_DLH_ELSI_DHL2 register field value. */ 0347 #define ALT_UART_IER_DLH_ELSI_DHL2_SET_MSK 0x00000004 0348 /* The mask used to clear the ALT_UART_IER_DLH_ELSI_DHL2 register field value. */ 0349 #define ALT_UART_IER_DLH_ELSI_DHL2_CLR_MSK 0xfffffffb 0350 /* The reset value of the ALT_UART_IER_DLH_ELSI_DHL2 register field. */ 0351 #define ALT_UART_IER_DLH_ELSI_DHL2_RESET 0x0 0352 /* Extracts the ALT_UART_IER_DLH_ELSI_DHL2 field value from a register. */ 0353 #define ALT_UART_IER_DLH_ELSI_DHL2_GET(value) (((value) & 0x00000004) >> 2) 0354 /* Produces a ALT_UART_IER_DLH_ELSI_DHL2 register field value suitable for setting the register. */ 0355 #define ALT_UART_IER_DLH_ELSI_DHL2_SET(value) (((value) << 2) & 0x00000004) 0356 0357 /* 0358 * Field : DLH[3] and Enable Modem Status Interrupt - edssi_dhl3 0359 * 0360 * Divisor Latch High Register: 0361 * 0362 * Bit 3 of DLH value. 0363 * 0364 * Interrupt Enable Register: 0365 * 0366 * This is used to enable/disable the generation of Modem Status Interrupts. This 0367 * is the fourth highest priority interrupt. 0368 * 0369 * Field Enumeration Values: 0370 * 0371 * Enum | Value | Description 0372 * :-----------------------------------|:------|:------------------------------- 0373 * ALT_UART_IER_DLH_EDSSI_DHL3_E_DISD | 0x0 | disable modem status interrupt 0374 * ALT_UART_IER_DLH_EDSSI_DHL3_E_END | 0x1 | enable modem status interrupt 0375 * 0376 * Field Access Macros: 0377 * 0378 */ 0379 /* 0380 * Enumerated value for register field ALT_UART_IER_DLH_EDSSI_DHL3 0381 * 0382 * disable modem status interrupt 0383 */ 0384 #define ALT_UART_IER_DLH_EDSSI_DHL3_E_DISD 0x0 0385 /* 0386 * Enumerated value for register field ALT_UART_IER_DLH_EDSSI_DHL3 0387 * 0388 * enable modem status interrupt 0389 */ 0390 #define ALT_UART_IER_DLH_EDSSI_DHL3_E_END 0x1 0391 0392 /* The Least Significant Bit (LSB) position of the ALT_UART_IER_DLH_EDSSI_DHL3 register field. */ 0393 #define ALT_UART_IER_DLH_EDSSI_DHL3_LSB 3 0394 /* The Most Significant Bit (MSB) position of the ALT_UART_IER_DLH_EDSSI_DHL3 register field. */ 0395 #define ALT_UART_IER_DLH_EDSSI_DHL3_MSB 3 0396 /* The width in bits of the ALT_UART_IER_DLH_EDSSI_DHL3 register field. */ 0397 #define ALT_UART_IER_DLH_EDSSI_DHL3_WIDTH 1 0398 /* The mask used to set the ALT_UART_IER_DLH_EDSSI_DHL3 register field value. */ 0399 #define ALT_UART_IER_DLH_EDSSI_DHL3_SET_MSK 0x00000008 0400 /* The mask used to clear the ALT_UART_IER_DLH_EDSSI_DHL3 register field value. */ 0401 #define ALT_UART_IER_DLH_EDSSI_DHL3_CLR_MSK 0xfffffff7 0402 /* The reset value of the ALT_UART_IER_DLH_EDSSI_DHL3 register field. */ 0403 #define ALT_UART_IER_DLH_EDSSI_DHL3_RESET 0x0 0404 /* Extracts the ALT_UART_IER_DLH_EDSSI_DHL3 field value from a register. */ 0405 #define ALT_UART_IER_DLH_EDSSI_DHL3_GET(value) (((value) & 0x00000008) >> 3) 0406 /* Produces a ALT_UART_IER_DLH_EDSSI_DHL3 register field value suitable for setting the register. */ 0407 #define ALT_UART_IER_DLH_EDSSI_DHL3_SET(value) (((value) << 3) & 0x00000008) 0408 0409 /* 0410 * Field : DLH[4] - dlh4 0411 * 0412 * Bit 4 of DLH value. 0413 * 0414 * Field Access Macros: 0415 * 0416 */ 0417 /* The Least Significant Bit (LSB) position of the ALT_UART_IER_DLH_DLH4 register field. */ 0418 #define ALT_UART_IER_DLH_DLH4_LSB 4 0419 /* The Most Significant Bit (MSB) position of the ALT_UART_IER_DLH_DLH4 register field. */ 0420 #define ALT_UART_IER_DLH_DLH4_MSB 4 0421 /* The width in bits of the ALT_UART_IER_DLH_DLH4 register field. */ 0422 #define ALT_UART_IER_DLH_DLH4_WIDTH 1 0423 /* The mask used to set the ALT_UART_IER_DLH_DLH4 register field value. */ 0424 #define ALT_UART_IER_DLH_DLH4_SET_MSK 0x00000010 0425 /* The mask used to clear the ALT_UART_IER_DLH_DLH4 register field value. */ 0426 #define ALT_UART_IER_DLH_DLH4_CLR_MSK 0xffffffef 0427 /* The reset value of the ALT_UART_IER_DLH_DLH4 register field. */ 0428 #define ALT_UART_IER_DLH_DLH4_RESET 0x0 0429 /* Extracts the ALT_UART_IER_DLH_DLH4 field value from a register. */ 0430 #define ALT_UART_IER_DLH_DLH4_GET(value) (((value) & 0x00000010) >> 4) 0431 /* Produces a ALT_UART_IER_DLH_DLH4 register field value suitable for setting the register. */ 0432 #define ALT_UART_IER_DLH_DLH4_SET(value) (((value) << 4) & 0x00000010) 0433 0434 /* 0435 * Field : DLH[5] - dlh5 0436 * 0437 * Bit 5 of DLH value. 0438 * 0439 * Field Access Macros: 0440 * 0441 */ 0442 /* The Least Significant Bit (LSB) position of the ALT_UART_IER_DLH_DLH5 register field. */ 0443 #define ALT_UART_IER_DLH_DLH5_LSB 5 0444 /* The Most Significant Bit (MSB) position of the ALT_UART_IER_DLH_DLH5 register field. */ 0445 #define ALT_UART_IER_DLH_DLH5_MSB 5 0446 /* The width in bits of the ALT_UART_IER_DLH_DLH5 register field. */ 0447 #define ALT_UART_IER_DLH_DLH5_WIDTH 1 0448 /* The mask used to set the ALT_UART_IER_DLH_DLH5 register field value. */ 0449 #define ALT_UART_IER_DLH_DLH5_SET_MSK 0x00000020 0450 /* The mask used to clear the ALT_UART_IER_DLH_DLH5 register field value. */ 0451 #define ALT_UART_IER_DLH_DLH5_CLR_MSK 0xffffffdf 0452 /* The reset value of the ALT_UART_IER_DLH_DLH5 register field. */ 0453 #define ALT_UART_IER_DLH_DLH5_RESET 0x0 0454 /* Extracts the ALT_UART_IER_DLH_DLH5 field value from a register. */ 0455 #define ALT_UART_IER_DLH_DLH5_GET(value) (((value) & 0x00000020) >> 5) 0456 /* Produces a ALT_UART_IER_DLH_DLH5 register field value suitable for setting the register. */ 0457 #define ALT_UART_IER_DLH_DLH5_SET(value) (((value) << 5) & 0x00000020) 0458 0459 /* 0460 * Field : DLH[6] - dlh6 0461 * 0462 * Bit 6 of DLH value. 0463 * 0464 * Field Access Macros: 0465 * 0466 */ 0467 /* The Least Significant Bit (LSB) position of the ALT_UART_IER_DLH_DLH6 register field. */ 0468 #define ALT_UART_IER_DLH_DLH6_LSB 6 0469 /* The Most Significant Bit (MSB) position of the ALT_UART_IER_DLH_DLH6 register field. */ 0470 #define ALT_UART_IER_DLH_DLH6_MSB 6 0471 /* The width in bits of the ALT_UART_IER_DLH_DLH6 register field. */ 0472 #define ALT_UART_IER_DLH_DLH6_WIDTH 1 0473 /* The mask used to set the ALT_UART_IER_DLH_DLH6 register field value. */ 0474 #define ALT_UART_IER_DLH_DLH6_SET_MSK 0x00000040 0475 /* The mask used to clear the ALT_UART_IER_DLH_DLH6 register field value. */ 0476 #define ALT_UART_IER_DLH_DLH6_CLR_MSK 0xffffffbf 0477 /* The reset value of the ALT_UART_IER_DLH_DLH6 register field. */ 0478 #define ALT_UART_IER_DLH_DLH6_RESET 0x0 0479 /* Extracts the ALT_UART_IER_DLH_DLH6 field value from a register. */ 0480 #define ALT_UART_IER_DLH_DLH6_GET(value) (((value) & 0x00000040) >> 6) 0481 /* Produces a ALT_UART_IER_DLH_DLH6 register field value suitable for setting the register. */ 0482 #define ALT_UART_IER_DLH_DLH6_SET(value) (((value) << 6) & 0x00000040) 0483 0484 /* 0485 * Field : DLH[7] and PTIME THRE Interrupt Mode Enable - ptime_dlh7 0486 * 0487 * Divisor Latch High Register: 0488 * 0489 * Bit 7 of DLH value. 0490 * 0491 * Interrupt Enable Register: 0492 * 0493 * This is used to enable/disable the generation of THRE Interrupt. 0494 * 0495 * Field Enumeration Values: 0496 * 0497 * Enum | Value | Description 0498 * :-----------------------------------|:------|:------------------------------------ 0499 * ALT_UART_IER_DLH_PTIME_DLH7_E_DISD | 0x0 | disable tx-hold-reg-empty interrupt 0500 * ALT_UART_IER_DLH_PTIME_DLH7_E_END | 0x1 | enable tx-hold-reg-empty interrupt 0501 * 0502 * Field Access Macros: 0503 * 0504 */ 0505 /* 0506 * Enumerated value for register field ALT_UART_IER_DLH_PTIME_DLH7 0507 * 0508 * disable tx-hold-reg-empty interrupt 0509 */ 0510 #define ALT_UART_IER_DLH_PTIME_DLH7_E_DISD 0x0 0511 /* 0512 * Enumerated value for register field ALT_UART_IER_DLH_PTIME_DLH7 0513 * 0514 * enable tx-hold-reg-empty interrupt 0515 */ 0516 #define ALT_UART_IER_DLH_PTIME_DLH7_E_END 0x1 0517 0518 /* The Least Significant Bit (LSB) position of the ALT_UART_IER_DLH_PTIME_DLH7 register field. */ 0519 #define ALT_UART_IER_DLH_PTIME_DLH7_LSB 7 0520 /* The Most Significant Bit (MSB) position of the ALT_UART_IER_DLH_PTIME_DLH7 register field. */ 0521 #define ALT_UART_IER_DLH_PTIME_DLH7_MSB 7 0522 /* The width in bits of the ALT_UART_IER_DLH_PTIME_DLH7 register field. */ 0523 #define ALT_UART_IER_DLH_PTIME_DLH7_WIDTH 1 0524 /* The mask used to set the ALT_UART_IER_DLH_PTIME_DLH7 register field value. */ 0525 #define ALT_UART_IER_DLH_PTIME_DLH7_SET_MSK 0x00000080 0526 /* The mask used to clear the ALT_UART_IER_DLH_PTIME_DLH7 register field value. */ 0527 #define ALT_UART_IER_DLH_PTIME_DLH7_CLR_MSK 0xffffff7f 0528 /* The reset value of the ALT_UART_IER_DLH_PTIME_DLH7 register field. */ 0529 #define ALT_UART_IER_DLH_PTIME_DLH7_RESET 0x0 0530 /* Extracts the ALT_UART_IER_DLH_PTIME_DLH7 field value from a register. */ 0531 #define ALT_UART_IER_DLH_PTIME_DLH7_GET(value) (((value) & 0x00000080) >> 7) 0532 /* Produces a ALT_UART_IER_DLH_PTIME_DLH7 register field value suitable for setting the register. */ 0533 #define ALT_UART_IER_DLH_PTIME_DLH7_SET(value) (((value) << 7) & 0x00000080) 0534 0535 #ifndef __ASSEMBLY__ 0536 /* 0537 * WARNING: The C register and register group struct declarations are provided for 0538 * convenience and illustrative purposes. They should, however, be used with 0539 * caution as the C language standard provides no guarantees about the alignment or 0540 * atomicity of device memory accesses. The recommended practice for writing 0541 * hardware drivers is to use the SoCAL access macros and alt_read_word() and 0542 * alt_write_word() functions. 0543 * 0544 * The struct declaration for register ALT_UART_IER_DLH. 0545 */ 0546 struct ALT_UART_IER_DLH_s 0547 { 0548 uint32_t erbfi_dlh0 : 1; /* DLH[0] and Receive Data Interrupt Enable */ 0549 uint32_t etbei_dlhl : 1; /* DLH[1] and Transmit Data Interrupt Control */ 0550 uint32_t elsi_dhl2 : 1; /* DLH[2] and Enable Receiver Line Status */ 0551 uint32_t edssi_dhl3 : 1; /* DLH[3] and Enable Modem Status Interrupt */ 0552 uint32_t dlh4 : 1; /* DLH[4] */ 0553 uint32_t dlh5 : 1; /* DLH[5] */ 0554 uint32_t dlh6 : 1; /* DLH[6] */ 0555 uint32_t ptime_dlh7 : 1; /* DLH[7] and PTIME THRE Interrupt Mode Enable */ 0556 uint32_t : 24; /* *UNDEFINED* */ 0557 }; 0558 0559 /* The typedef declaration for register ALT_UART_IER_DLH. */ 0560 typedef volatile struct ALT_UART_IER_DLH_s ALT_UART_IER_DLH_t; 0561 #endif /* __ASSEMBLY__ */ 0562 0563 /* The byte offset of the ALT_UART_IER_DLH register from the beginning of the component. */ 0564 #define ALT_UART_IER_DLH_OFST 0x4 0565 /* The address of the ALT_UART_IER_DLH register. */ 0566 #define ALT_UART_IER_DLH_ADDR(base) ALT_CAST(void *, (ALT_CAST(char *, (base)) + ALT_UART_IER_DLH_OFST)) 0567 0568 /* 0569 * Register : Interrupt Identity Register (when read) - iir 0570 * 0571 * Returns interrupt identification and FIFO enable/disable when read. 0572 * 0573 * Register Layout 0574 * 0575 * Bits | Access | Reset | Description 0576 * :-------|:-------|:------|:------------- 0577 * [3:0] | R | 0x1 | Interrupt ID 0578 * [5:4] | ??? | 0x0 | *UNDEFINED* 0579 * [7:6] | R | 0x0 | FIFO Enabled 0580 * [31:8] | ??? | 0x0 | *UNDEFINED* 0581 * 0582 */ 0583 /* 0584 * Field : Interrupt ID - id 0585 * 0586 * This indicates the highest priority pending interrupt. 0587 * 0588 * Field Enumeration Values: 0589 * 0590 * Enum | Value | Description 0591 * :---------------------------------|:------|:----------------------- 0592 * ALT_UART_IIR_ID_E_MODMSTAT | 0x0 | Modem status 0593 * ALT_UART_IIR_ID_E_NOINTRPENDING | 0x1 | No Interrupt pending 0594 * ALT_UART_IIR_ID_E_THREMPTY | 0x2 | THR empty 0595 * ALT_UART_IIR_ID_E_RXDATAVAILABLE | 0x4 | Receive data available 0596 * ALT_UART_IIR_ID_E_RXLINESTAT | 0x6 | Receive line status 0597 * ALT_UART_IIR_ID_E_CHARTMO | 0xc | Character timeout 0598 * 0599 * Field Access Macros: 0600 * 0601 */ 0602 /* 0603 * Enumerated value for register field ALT_UART_IIR_ID 0604 * 0605 * Modem status 0606 */ 0607 #define ALT_UART_IIR_ID_E_MODMSTAT 0x0 0608 /* 0609 * Enumerated value for register field ALT_UART_IIR_ID 0610 * 0611 * No Interrupt pending 0612 */ 0613 #define ALT_UART_IIR_ID_E_NOINTRPENDING 0x1 0614 /* 0615 * Enumerated value for register field ALT_UART_IIR_ID 0616 * 0617 * THR empty 0618 */ 0619 #define ALT_UART_IIR_ID_E_THREMPTY 0x2 0620 /* 0621 * Enumerated value for register field ALT_UART_IIR_ID 0622 * 0623 * Receive data available 0624 */ 0625 #define ALT_UART_IIR_ID_E_RXDATAVAILABLE 0x4 0626 /* 0627 * Enumerated value for register field ALT_UART_IIR_ID 0628 * 0629 * Receive line status 0630 */ 0631 #define ALT_UART_IIR_ID_E_RXLINESTAT 0x6 0632 /* 0633 * Enumerated value for register field ALT_UART_IIR_ID 0634 * 0635 * Character timeout 0636 */ 0637 #define ALT_UART_IIR_ID_E_CHARTMO 0xc 0638 0639 /* The Least Significant Bit (LSB) position of the ALT_UART_IIR_ID register field. */ 0640 #define ALT_UART_IIR_ID_LSB 0 0641 /* The Most Significant Bit (MSB) position of the ALT_UART_IIR_ID register field. */ 0642 #define ALT_UART_IIR_ID_MSB 3 0643 /* The width in bits of the ALT_UART_IIR_ID register field. */ 0644 #define ALT_UART_IIR_ID_WIDTH 4 0645 /* The mask used to set the ALT_UART_IIR_ID register field value. */ 0646 #define ALT_UART_IIR_ID_SET_MSK 0x0000000f 0647 /* The mask used to clear the ALT_UART_IIR_ID register field value. */ 0648 #define ALT_UART_IIR_ID_CLR_MSK 0xfffffff0 0649 /* The reset value of the ALT_UART_IIR_ID register field. */ 0650 #define ALT_UART_IIR_ID_RESET 0x1 0651 /* Extracts the ALT_UART_IIR_ID field value from a register. */ 0652 #define ALT_UART_IIR_ID_GET(value) (((value) & 0x0000000f) >> 0) 0653 /* Produces a ALT_UART_IIR_ID register field value suitable for setting the register. */ 0654 #define ALT_UART_IIR_ID_SET(value) (((value) << 0) & 0x0000000f) 0655 0656 /* 0657 * Field : FIFO Enabled - fifoen 0658 * 0659 * This is used to indicate whether the FIFO's are enabled or disabled. 0660 * 0661 * Field Enumeration Values: 0662 * 0663 * Enum | Value | Description 0664 * :---------------------------|:------|:-------------- 0665 * ALT_UART_IIR_FIFOEN_E_DISD | 0x0 | FIFO disabled 0666 * ALT_UART_IIR_FIFOEN_E_END | 0x3 | FIFO enabled 0667 * 0668 * Field Access Macros: 0669 * 0670 */ 0671 /* 0672 * Enumerated value for register field ALT_UART_IIR_FIFOEN 0673 * 0674 * FIFO disabled 0675 */ 0676 #define ALT_UART_IIR_FIFOEN_E_DISD 0x0 0677 /* 0678 * Enumerated value for register field ALT_UART_IIR_FIFOEN 0679 * 0680 * FIFO enabled 0681 */ 0682 #define ALT_UART_IIR_FIFOEN_E_END 0x3 0683 0684 /* The Least Significant Bit (LSB) position of the ALT_UART_IIR_FIFOEN register field. */ 0685 #define ALT_UART_IIR_FIFOEN_LSB 6 0686 /* The Most Significant Bit (MSB) position of the ALT_UART_IIR_FIFOEN register field. */ 0687 #define ALT_UART_IIR_FIFOEN_MSB 7 0688 /* The width in bits of the ALT_UART_IIR_FIFOEN register field. */ 0689 #define ALT_UART_IIR_FIFOEN_WIDTH 2 0690 /* The mask used to set the ALT_UART_IIR_FIFOEN register field value. */ 0691 #define ALT_UART_IIR_FIFOEN_SET_MSK 0x000000c0 0692 /* The mask used to clear the ALT_UART_IIR_FIFOEN register field value. */ 0693 #define ALT_UART_IIR_FIFOEN_CLR_MSK 0xffffff3f 0694 /* The reset value of the ALT_UART_IIR_FIFOEN register field. */ 0695 #define ALT_UART_IIR_FIFOEN_RESET 0x0 0696 /* Extracts the ALT_UART_IIR_FIFOEN field value from a register. */ 0697 #define ALT_UART_IIR_FIFOEN_GET(value) (((value) & 0x000000c0) >> 6) 0698 /* Produces a ALT_UART_IIR_FIFOEN register field value suitable for setting the register. */ 0699 #define ALT_UART_IIR_FIFOEN_SET(value) (((value) << 6) & 0x000000c0) 0700 0701 #ifndef __ASSEMBLY__ 0702 /* 0703 * WARNING: The C register and register group struct declarations are provided for 0704 * convenience and illustrative purposes. They should, however, be used with 0705 * caution as the C language standard provides no guarantees about the alignment or 0706 * atomicity of device memory accesses. The recommended practice for writing 0707 * hardware drivers is to use the SoCAL access macros and alt_read_word() and 0708 * alt_write_word() functions. 0709 * 0710 * The struct declaration for register ALT_UART_IIR. 0711 */ 0712 struct ALT_UART_IIR_s 0713 { 0714 const uint32_t id : 4; /* Interrupt ID */ 0715 uint32_t : 2; /* *UNDEFINED* */ 0716 const uint32_t fifoen : 2; /* FIFO Enabled */ 0717 uint32_t : 24; /* *UNDEFINED* */ 0718 }; 0719 0720 /* The typedef declaration for register ALT_UART_IIR. */ 0721 typedef volatile struct ALT_UART_IIR_s ALT_UART_IIR_t; 0722 #endif /* __ASSEMBLY__ */ 0723 0724 /* The byte offset of the ALT_UART_IIR register from the beginning of the component. */ 0725 #define ALT_UART_IIR_OFST 0x8 0726 /* The address of the ALT_UART_IIR register. */ 0727 #define ALT_UART_IIR_ADDR(base) ALT_CAST(void *, (ALT_CAST(char *, (base)) + ALT_UART_IIR_OFST)) 0728 0729 /* 0730 * Register : FIFO Control (when written) - fcr 0731 * 0732 * Controls FIFO Operations when written. 0733 * 0734 * Register Layout 0735 * 0736 * Bits | Access | Reset | Description 0737 * :-------|:-------|:--------|:----------------------- 0738 * [0] | W | Unknown | FIFO Enable 0739 * [1] | W | Unknown | Rx FIFO Reset 0740 * [2] | W | Unknown | Tx FIFO Reset 0741 * [3] | W | Unknown | DMA Mode 0742 * [5:4] | W | Unknown | Tx Empty Trigger Level 0743 * [7:6] | W | Unknown | Rx Trigger Level 0744 * [31:8] | ??? | 0x0 | *UNDEFINED* 0745 * 0746 */ 0747 /* 0748 * Field : FIFO Enable - fifoe 0749 * 0750 * Enables/disables the transmit (Tx) and receive (Rx ) FIFO's. Whenever the value 0751 * of this bit is changed both the Tx and Rx controller portion of FIFO's will be 0752 * reset. 0753 * 0754 * Field Enumeration Values: 0755 * 0756 * Enum | Value | Description 0757 * :--------------------------|:------|:--------------- 0758 * ALT_UART_FCR_FIFOE_E_DISD | 0x0 | FIFOs disabled 0759 * ALT_UART_FCR_FIFOE_E_END | 0x1 | FIFOs enabled 0760 * 0761 * Field Access Macros: 0762 * 0763 */ 0764 /* 0765 * Enumerated value for register field ALT_UART_FCR_FIFOE 0766 * 0767 * FIFOs disabled 0768 */ 0769 #define ALT_UART_FCR_FIFOE_E_DISD 0x0 0770 /* 0771 * Enumerated value for register field ALT_UART_FCR_FIFOE 0772 * 0773 * FIFOs enabled 0774 */ 0775 #define ALT_UART_FCR_FIFOE_E_END 0x1 0776 0777 /* The Least Significant Bit (LSB) position of the ALT_UART_FCR_FIFOE register field. */ 0778 #define ALT_UART_FCR_FIFOE_LSB 0 0779 /* The Most Significant Bit (MSB) position of the ALT_UART_FCR_FIFOE register field. */ 0780 #define ALT_UART_FCR_FIFOE_MSB 0 0781 /* The width in bits of the ALT_UART_FCR_FIFOE register field. */ 0782 #define ALT_UART_FCR_FIFOE_WIDTH 1 0783 /* The mask used to set the ALT_UART_FCR_FIFOE register field value. */ 0784 #define ALT_UART_FCR_FIFOE_SET_MSK 0x00000001 0785 /* The mask used to clear the ALT_UART_FCR_FIFOE register field value. */ 0786 #define ALT_UART_FCR_FIFOE_CLR_MSK 0xfffffffe 0787 /* The reset value of the ALT_UART_FCR_FIFOE register field is UNKNOWN. */ 0788 #define ALT_UART_FCR_FIFOE_RESET 0x0 0789 /* Extracts the ALT_UART_FCR_FIFOE field value from a register. */ 0790 #define ALT_UART_FCR_FIFOE_GET(value) (((value) & 0x00000001) >> 0) 0791 /* Produces a ALT_UART_FCR_FIFOE register field value suitable for setting the register. */ 0792 #define ALT_UART_FCR_FIFOE_SET(value) (((value) << 0) & 0x00000001) 0793 0794 /* 0795 * Field : Rx FIFO Reset - rfifor 0796 * 0797 * Resets the control portion of the receive FIFO and treats the FIFO as empty. 0798 * This will also de-assert the DMA Rxrequest and single signals. Note that this 0799 * bit is self-clearing' and it is not necessary to clear this bit. 0800 * 0801 * Field Enumeration Values: 0802 * 0803 * Enum | Value | Description 0804 * :----------------------------|:------|:---------------------------- 0805 * ALT_UART_FCR_RFIFOR_E_NORST | 0x0 | No Reset of Rx FIFO Control 0806 * ALT_UART_FCR_RFIFOR_E_RST | 0x1 | Resets of Rx FIFO Control 0807 * 0808 * Field Access Macros: 0809 * 0810 */ 0811 /* 0812 * Enumerated value for register field ALT_UART_FCR_RFIFOR 0813 * 0814 * No Reset of Rx FIFO Control 0815 */ 0816 #define ALT_UART_FCR_RFIFOR_E_NORST 0x0 0817 /* 0818 * Enumerated value for register field ALT_UART_FCR_RFIFOR 0819 * 0820 * Resets of Rx FIFO Control 0821 */ 0822 #define ALT_UART_FCR_RFIFOR_E_RST 0x1 0823 0824 /* The Least Significant Bit (LSB) position of the ALT_UART_FCR_RFIFOR register field. */ 0825 #define ALT_UART_FCR_RFIFOR_LSB 1 0826 /* The Most Significant Bit (MSB) position of the ALT_UART_FCR_RFIFOR register field. */ 0827 #define ALT_UART_FCR_RFIFOR_MSB 1 0828 /* The width in bits of the ALT_UART_FCR_RFIFOR register field. */ 0829 #define ALT_UART_FCR_RFIFOR_WIDTH 1 0830 /* The mask used to set the ALT_UART_FCR_RFIFOR register field value. */ 0831 #define ALT_UART_FCR_RFIFOR_SET_MSK 0x00000002 0832 /* The mask used to clear the ALT_UART_FCR_RFIFOR register field value. */ 0833 #define ALT_UART_FCR_RFIFOR_CLR_MSK 0xfffffffd 0834 /* The reset value of the ALT_UART_FCR_RFIFOR register field is UNKNOWN. */ 0835 #define ALT_UART_FCR_RFIFOR_RESET 0x0 0836 /* Extracts the ALT_UART_FCR_RFIFOR field value from a register. */ 0837 #define ALT_UART_FCR_RFIFOR_GET(value) (((value) & 0x00000002) >> 1) 0838 /* Produces a ALT_UART_FCR_RFIFOR register field value suitable for setting the register. */ 0839 #define ALT_UART_FCR_RFIFOR_SET(value) (((value) << 1) & 0x00000002) 0840 0841 /* 0842 * Field : Tx FIFO Reset - xfifor 0843 * 0844 * Resets the control portion of the transmit FIFO and treats the FIFO as empty. 0845 * This will also de-assert the DMA Tx request and single signals when additional 0846 * DMA handshaking is used. 0847 * 0848 * Note that this bit is 'self-clearing' and it is not necessary to clear this bit. 0849 * 0850 * Field Enumeration Values: 0851 * 0852 * Enum | Value | Description 0853 * :----------------------------|:------|:---------------------------- 0854 * ALT_UART_FCR_XFIFOR_E_NORST | 0x0 | No Reset of Tx FIFO Control 0855 * ALT_UART_FCR_XFIFOR_E_RST | 0x1 | Resets Tx FIFO Control 0856 * 0857 * Field Access Macros: 0858 * 0859 */ 0860 /* 0861 * Enumerated value for register field ALT_UART_FCR_XFIFOR 0862 * 0863 * No Reset of Tx FIFO Control 0864 */ 0865 #define ALT_UART_FCR_XFIFOR_E_NORST 0x0 0866 /* 0867 * Enumerated value for register field ALT_UART_FCR_XFIFOR 0868 * 0869 * Resets Tx FIFO Control 0870 */ 0871 #define ALT_UART_FCR_XFIFOR_E_RST 0x1 0872 0873 /* The Least Significant Bit (LSB) position of the ALT_UART_FCR_XFIFOR register field. */ 0874 #define ALT_UART_FCR_XFIFOR_LSB 2 0875 /* The Most Significant Bit (MSB) position of the ALT_UART_FCR_XFIFOR register field. */ 0876 #define ALT_UART_FCR_XFIFOR_MSB 2 0877 /* The width in bits of the ALT_UART_FCR_XFIFOR register field. */ 0878 #define ALT_UART_FCR_XFIFOR_WIDTH 1 0879 /* The mask used to set the ALT_UART_FCR_XFIFOR register field value. */ 0880 #define ALT_UART_FCR_XFIFOR_SET_MSK 0x00000004 0881 /* The mask used to clear the ALT_UART_FCR_XFIFOR register field value. */ 0882 #define ALT_UART_FCR_XFIFOR_CLR_MSK 0xfffffffb 0883 /* The reset value of the ALT_UART_FCR_XFIFOR register field is UNKNOWN. */ 0884 #define ALT_UART_FCR_XFIFOR_RESET 0x0 0885 /* Extracts the ALT_UART_FCR_XFIFOR field value from a register. */ 0886 #define ALT_UART_FCR_XFIFOR_GET(value) (((value) & 0x00000004) >> 2) 0887 /* Produces a ALT_UART_FCR_XFIFOR register field value suitable for setting the register. */ 0888 #define ALT_UART_FCR_XFIFOR_SET(value) (((value) << 2) & 0x00000004) 0889 0890 /* 0891 * Field : DMA Mode - dmam 0892 * 0893 * This determines the DMA signalling mode used for the uart_dma_tx_req_n and 0894 * uart_dma_rx_req_n output signals when additional DMA handshaking signals are not 0895 * selected. DMA mode 0 supports single DMA data transfers at a time. In mode 0, 0896 * the uart_dma_tx_req_n signal goes active low under the following conditions: 0897 * 0898 * * When the Transmitter Holding Register is empty in non-FIFO mode. 0899 * 0900 * * When the transmitter FIFO is empty in FIFO mode with Programmable THRE 0901 * interrupt mode disabled. 0902 * 0903 * * When the transmitter FIFO is at or below the programmed threshold with 0904 * Programmable THRE interrupt mode enabled. 0905 * 0906 * It goes inactive under the following conditions 0907 * 0908 * * When a single character has been written into the Transmitter Holding 0909 * Register or transmitter FIFO with Programmable THRE interrupt mode disabled. 0910 * 0911 * * When the transmitter FIFO is above the threshold with Programmable THRE 0912 * interrupt mode enabled. 0913 * 0914 * DMA mode 1 supports multi-DMA data transfers, where multiple transfers are made 0915 * continuously until the receiver FIFO has been emptied or the transmit FIFO has 0916 * been filled. In mode 1 the uart_dma_tx_req_n signal is asserted under the 0917 * following conditions: 0918 * 0919 * * When the transmitter FIFO is empty with Programmable THRE interrupt mode 0920 * disabled. 0921 * 0922 * * When the transmitter FIFO is at or below the programmed threshold with 0923 * Programmable THRE interrupt mode enabled. 0924 * 0925 * Field Enumeration Values: 0926 * 0927 * Enum | Value | Description 0928 * :---------------------------|:------|:--------------------------- 0929 * ALT_UART_FCR_DMAM_E_SINGLE | 0x0 | Single DMA Transfer Mode 0930 * ALT_UART_FCR_DMAM_E_MULT | 0x1 | Multiple DMA Transfer Mode 0931 * 0932 * Field Access Macros: 0933 * 0934 */ 0935 /* 0936 * Enumerated value for register field ALT_UART_FCR_DMAM 0937 * 0938 * Single DMA Transfer Mode 0939 */ 0940 #define ALT_UART_FCR_DMAM_E_SINGLE 0x0 0941 /* 0942 * Enumerated value for register field ALT_UART_FCR_DMAM 0943 * 0944 * Multiple DMA Transfer Mode 0945 */ 0946 #define ALT_UART_FCR_DMAM_E_MULT 0x1 0947 0948 /* The Least Significant Bit (LSB) position of the ALT_UART_FCR_DMAM register field. */ 0949 #define ALT_UART_FCR_DMAM_LSB 3 0950 /* The Most Significant Bit (MSB) position of the ALT_UART_FCR_DMAM register field. */ 0951 #define ALT_UART_FCR_DMAM_MSB 3 0952 /* The width in bits of the ALT_UART_FCR_DMAM register field. */ 0953 #define ALT_UART_FCR_DMAM_WIDTH 1 0954 /* The mask used to set the ALT_UART_FCR_DMAM register field value. */ 0955 #define ALT_UART_FCR_DMAM_SET_MSK 0x00000008 0956 /* The mask used to clear the ALT_UART_FCR_DMAM register field value. */ 0957 #define ALT_UART_FCR_DMAM_CLR_MSK 0xfffffff7 0958 /* The reset value of the ALT_UART_FCR_DMAM register field is UNKNOWN. */ 0959 #define ALT_UART_FCR_DMAM_RESET 0x0 0960 /* Extracts the ALT_UART_FCR_DMAM field value from a register. */ 0961 #define ALT_UART_FCR_DMAM_GET(value) (((value) & 0x00000008) >> 3) 0962 /* Produces a ALT_UART_FCR_DMAM register field value suitable for setting the register. */ 0963 #define ALT_UART_FCR_DMAM_SET(value) (((value) << 3) & 0x00000008) 0964 0965 /* 0966 * Field : Tx Empty Trigger Level - tet 0967 * 0968 * This is used to select the empty threshold level at which the THRE Interrupts 0969 * will be generated when the mode is active. It also determines when the uart DMA 0970 * transmit request signal uart_dma_tx_req_n will be asserted when in certain modes 0971 * of operation. 0972 * 0973 * Field Enumeration Values: 0974 * 0975 * Enum | Value | Description 0976 * :-------------------------------|:------|:----------------------- 0977 * ALT_UART_FCR_TET_E_FIFOEMPTY | 0x0 | FIFO empty 0978 * ALT_UART_FCR_TET_E_TWOCHARS | 0x1 | Two characters in FIFO 0979 * ALT_UART_FCR_TET_E_QUARTERFULL | 0x2 | FIFO 1/4 full 0980 * ALT_UART_FCR_TET_E_HALFFULL | 0x3 | FIFO 1/2 full 0981 * 0982 * Field Access Macros: 0983 * 0984 */ 0985 /* 0986 * Enumerated value for register field ALT_UART_FCR_TET 0987 * 0988 * FIFO empty 0989 */ 0990 #define ALT_UART_FCR_TET_E_FIFOEMPTY 0x0 0991 /* 0992 * Enumerated value for register field ALT_UART_FCR_TET 0993 * 0994 * Two characters in FIFO 0995 */ 0996 #define ALT_UART_FCR_TET_E_TWOCHARS 0x1 0997 /* 0998 * Enumerated value for register field ALT_UART_FCR_TET 0999 * 1000 * FIFO 1/4 full 1001 */ 1002 #define ALT_UART_FCR_TET_E_QUARTERFULL 0x2 1003 /* 1004 * Enumerated value for register field ALT_UART_FCR_TET 1005 * 1006 * FIFO 1/2 full 1007 */ 1008 #define ALT_UART_FCR_TET_E_HALFFULL 0x3 1009 1010 /* The Least Significant Bit (LSB) position of the ALT_UART_FCR_TET register field. */ 1011 #define ALT_UART_FCR_TET_LSB 4 1012 /* The Most Significant Bit (MSB) position of the ALT_UART_FCR_TET register field. */ 1013 #define ALT_UART_FCR_TET_MSB 5 1014 /* The width in bits of the ALT_UART_FCR_TET register field. */ 1015 #define ALT_UART_FCR_TET_WIDTH 2 1016 /* The mask used to set the ALT_UART_FCR_TET register field value. */ 1017 #define ALT_UART_FCR_TET_SET_MSK 0x00000030 1018 /* The mask used to clear the ALT_UART_FCR_TET register field value. */ 1019 #define ALT_UART_FCR_TET_CLR_MSK 0xffffffcf 1020 /* The reset value of the ALT_UART_FCR_TET register field is UNKNOWN. */ 1021 #define ALT_UART_FCR_TET_RESET 0x0 1022 /* Extracts the ALT_UART_FCR_TET field value from a register. */ 1023 #define ALT_UART_FCR_TET_GET(value) (((value) & 0x00000030) >> 4) 1024 /* Produces a ALT_UART_FCR_TET register field value suitable for setting the register. */ 1025 #define ALT_UART_FCR_TET_SET(value) (((value) << 4) & 0x00000030) 1026 1027 /* 1028 * Field : Rx Trigger Level - rt 1029 * 1030 * This register is configured to implement FIFOs. Bits[7:6], Rx Trigger (or RT): 1031 * This is used to select the trigger level in the receiver FIFO at which the 1032 * Received Data Available Interrupt will be generated. In auto flow control mode 1033 * it is used to determine when the uart_rts_n signal will be de-asserted. It also 1034 * determines when the uart_dma_rx_req_n signal will be asserted when in certain 1035 * modes of operation. 1036 * 1037 * Field Enumeration Values: 1038 * 1039 * Enum | Value | Description 1040 * :------------------------------|:------|:---------------------- 1041 * ALT_UART_FCR_RT_E_ONECHAR | 0x0 | one character in fifo 1042 * ALT_UART_FCR_RT_E_QUARTERFULL | 0x1 | FIFO 1/4 full 1043 * ALT_UART_FCR_RT_E_HALFFULL | 0x2 | FIFO 1/2 full 1044 * ALT_UART_FCR_RT_E_FULLLESS2 | 0x3 | FIFO 2 less than full 1045 * 1046 * Field Access Macros: 1047 * 1048 */ 1049 /* 1050 * Enumerated value for register field ALT_UART_FCR_RT 1051 * 1052 * one character in fifo 1053 */ 1054 #define ALT_UART_FCR_RT_E_ONECHAR 0x0 1055 /* 1056 * Enumerated value for register field ALT_UART_FCR_RT 1057 * 1058 * FIFO 1/4 full 1059 */ 1060 #define ALT_UART_FCR_RT_E_QUARTERFULL 0x1 1061 /* 1062 * Enumerated value for register field ALT_UART_FCR_RT 1063 * 1064 * FIFO 1/2 full 1065 */ 1066 #define ALT_UART_FCR_RT_E_HALFFULL 0x2 1067 /* 1068 * Enumerated value for register field ALT_UART_FCR_RT 1069 * 1070 * FIFO 2 less than full 1071 */ 1072 #define ALT_UART_FCR_RT_E_FULLLESS2 0x3 1073 1074 /* The Least Significant Bit (LSB) position of the ALT_UART_FCR_RT register field. */ 1075 #define ALT_UART_FCR_RT_LSB 6 1076 /* The Most Significant Bit (MSB) position of the ALT_UART_FCR_RT register field. */ 1077 #define ALT_UART_FCR_RT_MSB 7 1078 /* The width in bits of the ALT_UART_FCR_RT register field. */ 1079 #define ALT_UART_FCR_RT_WIDTH 2 1080 /* The mask used to set the ALT_UART_FCR_RT register field value. */ 1081 #define ALT_UART_FCR_RT_SET_MSK 0x000000c0 1082 /* The mask used to clear the ALT_UART_FCR_RT register field value. */ 1083 #define ALT_UART_FCR_RT_CLR_MSK 0xffffff3f 1084 /* The reset value of the ALT_UART_FCR_RT register field is UNKNOWN. */ 1085 #define ALT_UART_FCR_RT_RESET 0x0 1086 /* Extracts the ALT_UART_FCR_RT field value from a register. */ 1087 #define ALT_UART_FCR_RT_GET(value) (((value) & 0x000000c0) >> 6) 1088 /* Produces a ALT_UART_FCR_RT register field value suitable for setting the register. */ 1089 #define ALT_UART_FCR_RT_SET(value) (((value) << 6) & 0x000000c0) 1090 1091 #ifndef __ASSEMBLY__ 1092 /* 1093 * WARNING: The C register and register group struct declarations are provided for 1094 * convenience and illustrative purposes. They should, however, be used with 1095 * caution as the C language standard provides no guarantees about the alignment or 1096 * atomicity of device memory accesses. The recommended practice for writing 1097 * hardware drivers is to use the SoCAL access macros and alt_read_word() and 1098 * alt_write_word() functions. 1099 * 1100 * The struct declaration for register ALT_UART_FCR. 1101 */ 1102 struct ALT_UART_FCR_s 1103 { 1104 uint32_t fifoe : 1; /* FIFO Enable */ 1105 uint32_t rfifor : 1; /* Rx FIFO Reset */ 1106 uint32_t xfifor : 1; /* Tx FIFO Reset */ 1107 uint32_t dmam : 1; /* DMA Mode */ 1108 uint32_t tet : 2; /* Tx Empty Trigger Level */ 1109 uint32_t rt : 2; /* Rx Trigger Level */ 1110 uint32_t : 24; /* *UNDEFINED* */ 1111 }; 1112 1113 /* The typedef declaration for register ALT_UART_FCR. */ 1114 typedef volatile struct ALT_UART_FCR_s ALT_UART_FCR_t; 1115 #endif /* __ASSEMBLY__ */ 1116 1117 /* The byte offset of the ALT_UART_FCR register from the beginning of the component. */ 1118 #define ALT_UART_FCR_OFST 0x8 1119 /* The address of the ALT_UART_FCR register. */ 1120 #define ALT_UART_FCR_ADDR(base) ALT_CAST(void *, (ALT_CAST(char *, (base)) + ALT_UART_FCR_OFST)) 1121 1122 /* 1123 * Register : Line Control Register (When Written) - lcr 1124 * 1125 * Formats serial data. 1126 * 1127 * Register Layout 1128 * 1129 * Bits | Access | Reset | Description 1130 * :-------|:-------|:------|:------------------------- 1131 * [1:0] | RW | 0x0 | Data Length Select 1132 * [2] | RW | 0x0 | Stop Bits 1133 * [3] | RW | 0x0 | Parity Enable 1134 * [4] | RW | 0x0 | Even Parity Select 1135 * [5] | ??? | 0x0 | *UNDEFINED* 1136 * [6] | RW | 0x0 | Break Control Bit 1137 * [7] | RW | 0x0 | Divisor Latch Access Bit 1138 * [31:8] | ??? | 0x0 | *UNDEFINED* 1139 * 1140 */ 1141 /* 1142 * Field : Data Length Select - dls 1143 * 1144 * Data Length Select.Selects the number of data bits per character that the 1145 * peripheral will transmit and receive. 1146 * 1147 * Field Enumeration Values: 1148 * 1149 * Enum | Value | Description 1150 * :------------------------|:------|:------------ 1151 * ALT_UART_LCR_DLS_E_LEN5 | 0x0 | 5 bits 1152 * ALT_UART_LCR_DLS_E_LEN6 | 0x1 | 6 bits 1153 * ALT_UART_LCR_DLS_E_LEN7 | 0x2 | 7 bits 1154 * ALT_UART_LCR_DLS_E_LEN8 | 0x3 | 8 bits 1155 * 1156 * Field Access Macros: 1157 * 1158 */ 1159 /* 1160 * Enumerated value for register field ALT_UART_LCR_DLS 1161 * 1162 * 5 bits 1163 */ 1164 #define ALT_UART_LCR_DLS_E_LEN5 0x0 1165 /* 1166 * Enumerated value for register field ALT_UART_LCR_DLS 1167 * 1168 * 6 bits 1169 */ 1170 #define ALT_UART_LCR_DLS_E_LEN6 0x1 1171 /* 1172 * Enumerated value for register field ALT_UART_LCR_DLS 1173 * 1174 * 7 bits 1175 */ 1176 #define ALT_UART_LCR_DLS_E_LEN7 0x2 1177 /* 1178 * Enumerated value for register field ALT_UART_LCR_DLS 1179 * 1180 * 8 bits 1181 */ 1182 #define ALT_UART_LCR_DLS_E_LEN8 0x3 1183 1184 /* The Least Significant Bit (LSB) position of the ALT_UART_LCR_DLS register field. */ 1185 #define ALT_UART_LCR_DLS_LSB 0 1186 /* The Most Significant Bit (MSB) position of the ALT_UART_LCR_DLS register field. */ 1187 #define ALT_UART_LCR_DLS_MSB 1 1188 /* The width in bits of the ALT_UART_LCR_DLS register field. */ 1189 #define ALT_UART_LCR_DLS_WIDTH 2 1190 /* The mask used to set the ALT_UART_LCR_DLS register field value. */ 1191 #define ALT_UART_LCR_DLS_SET_MSK 0x00000003 1192 /* The mask used to clear the ALT_UART_LCR_DLS register field value. */ 1193 #define ALT_UART_LCR_DLS_CLR_MSK 0xfffffffc 1194 /* The reset value of the ALT_UART_LCR_DLS register field. */ 1195 #define ALT_UART_LCR_DLS_RESET 0x0 1196 /* Extracts the ALT_UART_LCR_DLS field value from a register. */ 1197 #define ALT_UART_LCR_DLS_GET(value) (((value) & 0x00000003) >> 0) 1198 /* Produces a ALT_UART_LCR_DLS register field value suitable for setting the register. */ 1199 #define ALT_UART_LCR_DLS_SET(value) (((value) << 0) & 0x00000003) 1200 1201 /* 1202 * Field : Stop Bits - stop 1203 * 1204 * Number of stop bits. Used to select the number of stop bits per character that 1205 * the peripheral will transmit and receive.Note that regardless of the number of 1206 * stop bits selected the receiver will only check the first stop bit. 1207 * 1208 * Field Enumeration Values: 1209 * 1210 * Enum | Value | Description 1211 * :----------------------------------|:------|:------------------------------------------ 1212 * ALT_UART_LCR_STOP_E_ONESTOP | 0x0 | one stop bit 1213 * ALT_UART_LCR_STOP_E_ONEPOINT5STOP | 0x1 | 1.5 stop bits when DLS (LCR[1:0]) is zero 1214 * 1215 * Field Access Macros: 1216 * 1217 */ 1218 /* 1219 * Enumerated value for register field ALT_UART_LCR_STOP 1220 * 1221 * one stop bit 1222 */ 1223 #define ALT_UART_LCR_STOP_E_ONESTOP 0x0 1224 /* 1225 * Enumerated value for register field ALT_UART_LCR_STOP 1226 * 1227 * 1.5 stop bits when DLS (LCR[1:0]) is zero 1228 */ 1229 #define ALT_UART_LCR_STOP_E_ONEPOINT5STOP 0x1 1230 1231 /* The Least Significant Bit (LSB) position of the ALT_UART_LCR_STOP register field. */ 1232 #define ALT_UART_LCR_STOP_LSB 2 1233 /* The Most Significant Bit (MSB) position of the ALT_UART_LCR_STOP register field. */ 1234 #define ALT_UART_LCR_STOP_MSB 2 1235 /* The width in bits of the ALT_UART_LCR_STOP register field. */ 1236 #define ALT_UART_LCR_STOP_WIDTH 1 1237 /* The mask used to set the ALT_UART_LCR_STOP register field value. */ 1238 #define ALT_UART_LCR_STOP_SET_MSK 0x00000004 1239 /* The mask used to clear the ALT_UART_LCR_STOP register field value. */ 1240 #define ALT_UART_LCR_STOP_CLR_MSK 0xfffffffb 1241 /* The reset value of the ALT_UART_LCR_STOP register field. */ 1242 #define ALT_UART_LCR_STOP_RESET 0x0 1243 /* Extracts the ALT_UART_LCR_STOP field value from a register. */ 1244 #define ALT_UART_LCR_STOP_GET(value) (((value) & 0x00000004) >> 2) 1245 /* Produces a ALT_UART_LCR_STOP register field value suitable for setting the register. */ 1246 #define ALT_UART_LCR_STOP_SET(value) (((value) << 2) & 0x00000004) 1247 1248 /* 1249 * Field : Parity Enable - pen 1250 * 1251 * This bit is used to enable and disable parity generation and detection in a 1252 * transmitted and received data character. 1253 * 1254 * Field Enumeration Values: 1255 * 1256 * Enum | Value | Description 1257 * :------------------------|:------|:---------------- 1258 * ALT_UART_LCR_PEN_E_DISD | 0x0 | parity disabled 1259 * ALT_UART_LCR_PEN_E_END | 0x1 | parity enabled 1260 * 1261 * Field Access Macros: 1262 * 1263 */ 1264 /* 1265 * Enumerated value for register field ALT_UART_LCR_PEN 1266 * 1267 * parity disabled 1268 */ 1269 #define ALT_UART_LCR_PEN_E_DISD 0x0 1270 /* 1271 * Enumerated value for register field ALT_UART_LCR_PEN 1272 * 1273 * parity enabled 1274 */ 1275 #define ALT_UART_LCR_PEN_E_END 0x1 1276 1277 /* The Least Significant Bit (LSB) position of the ALT_UART_LCR_PEN register field. */ 1278 #define ALT_UART_LCR_PEN_LSB 3 1279 /* The Most Significant Bit (MSB) position of the ALT_UART_LCR_PEN register field. */ 1280 #define ALT_UART_LCR_PEN_MSB 3 1281 /* The width in bits of the ALT_UART_LCR_PEN register field. */ 1282 #define ALT_UART_LCR_PEN_WIDTH 1 1283 /* The mask used to set the ALT_UART_LCR_PEN register field value. */ 1284 #define ALT_UART_LCR_PEN_SET_MSK 0x00000008 1285 /* The mask used to clear the ALT_UART_LCR_PEN register field value. */ 1286 #define ALT_UART_LCR_PEN_CLR_MSK 0xfffffff7 1287 /* The reset value of the ALT_UART_LCR_PEN register field. */ 1288 #define ALT_UART_LCR_PEN_RESET 0x0 1289 /* Extracts the ALT_UART_LCR_PEN field value from a register. */ 1290 #define ALT_UART_LCR_PEN_GET(value) (((value) & 0x00000008) >> 3) 1291 /* Produces a ALT_UART_LCR_PEN register field value suitable for setting the register. */ 1292 #define ALT_UART_LCR_PEN_SET(value) (((value) << 3) & 0x00000008) 1293 1294 /* 1295 * Field : Even Parity Select - eps 1296 * 1297 * This is used to select between even and odd parity, when parity is enabled (PEN 1298 * set to one). If set to one, an even number of logic '1's is transmitted or 1299 * checked. If set to zero, an odd number of logic '1's is transmitted or checked. 1300 * 1301 * Field Enumeration Values: 1302 * 1303 * Enum | Value | Description 1304 * :---------------------------|:------|:------------ 1305 * ALT_UART_LCR_EPS_E_ODDPAR | 0x0 | odd parity 1306 * ALT_UART_LCR_EPS_E_EVENPAR | 0x1 | even parity 1307 * 1308 * Field Access Macros: 1309 * 1310 */ 1311 /* 1312 * Enumerated value for register field ALT_UART_LCR_EPS 1313 * 1314 * odd parity 1315 */ 1316 #define ALT_UART_LCR_EPS_E_ODDPAR 0x0 1317 /* 1318 * Enumerated value for register field ALT_UART_LCR_EPS 1319 * 1320 * even parity 1321 */ 1322 #define ALT_UART_LCR_EPS_E_EVENPAR 0x1 1323 1324 /* The Least Significant Bit (LSB) position of the ALT_UART_LCR_EPS register field. */ 1325 #define ALT_UART_LCR_EPS_LSB 4 1326 /* The Most Significant Bit (MSB) position of the ALT_UART_LCR_EPS register field. */ 1327 #define ALT_UART_LCR_EPS_MSB 4 1328 /* The width in bits of the ALT_UART_LCR_EPS register field. */ 1329 #define ALT_UART_LCR_EPS_WIDTH 1 1330 /* The mask used to set the ALT_UART_LCR_EPS register field value. */ 1331 #define ALT_UART_LCR_EPS_SET_MSK 0x00000010 1332 /* The mask used to clear the ALT_UART_LCR_EPS register field value. */ 1333 #define ALT_UART_LCR_EPS_CLR_MSK 0xffffffef 1334 /* The reset value of the ALT_UART_LCR_EPS register field. */ 1335 #define ALT_UART_LCR_EPS_RESET 0x0 1336 /* Extracts the ALT_UART_LCR_EPS field value from a register. */ 1337 #define ALT_UART_LCR_EPS_GET(value) (((value) & 0x00000010) >> 4) 1338 /* Produces a ALT_UART_LCR_EPS register field value suitable for setting the register. */ 1339 #define ALT_UART_LCR_EPS_SET(value) (((value) << 4) & 0x00000010) 1340 1341 /* 1342 * Field : Break Control Bit - break 1343 * 1344 * This is used to cause a break condition to be transmitted to the receiving 1345 * device. If set to one the serial output is forced to the spacing (logic 0) 1346 * state. When not in Loopback Mode, as determined by MCR[4], the sout line is 1347 * forced low until the Break bit is cleared. When in Loopback Mode, the break 1348 * condition is internally looped back to the receiver and the sir_out_n line is 1349 * forced low. 1350 * 1351 * Field Access Macros: 1352 * 1353 */ 1354 /* The Least Significant Bit (LSB) position of the ALT_UART_LCR_BREAK register field. */ 1355 #define ALT_UART_LCR_BREAK_LSB 6 1356 /* The Most Significant Bit (MSB) position of the ALT_UART_LCR_BREAK register field. */ 1357 #define ALT_UART_LCR_BREAK_MSB 6 1358 /* The width in bits of the ALT_UART_LCR_BREAK register field. */ 1359 #define ALT_UART_LCR_BREAK_WIDTH 1 1360 /* The mask used to set the ALT_UART_LCR_BREAK register field value. */ 1361 #define ALT_UART_LCR_BREAK_SET_MSK 0x00000040 1362 /* The mask used to clear the ALT_UART_LCR_BREAK register field value. */ 1363 #define ALT_UART_LCR_BREAK_CLR_MSK 0xffffffbf 1364 /* The reset value of the ALT_UART_LCR_BREAK register field. */ 1365 #define ALT_UART_LCR_BREAK_RESET 0x0 1366 /* Extracts the ALT_UART_LCR_BREAK field value from a register. */ 1367 #define ALT_UART_LCR_BREAK_GET(value) (((value) & 0x00000040) >> 6) 1368 /* Produces a ALT_UART_LCR_BREAK register field value suitable for setting the register. */ 1369 #define ALT_UART_LCR_BREAK_SET(value) (((value) << 6) & 0x00000040) 1370 1371 /* 1372 * Field : Divisor Latch Access Bit - dlab 1373 * 1374 * Used to enable reading and writing of the Divisor Latch register (DLL and DLH) 1375 * to set the baud rate of the UART. This bit must be cleared after initial baud 1376 * rate setup in order to access other registers. 1377 * 1378 * Field Access Macros: 1379 * 1380 */ 1381 /* The Least Significant Bit (LSB) position of the ALT_UART_LCR_DLAB register field. */ 1382 #define ALT_UART_LCR_DLAB_LSB 7 1383 /* The Most Significant Bit (MSB) position of the ALT_UART_LCR_DLAB register field. */ 1384 #define ALT_UART_LCR_DLAB_MSB 7 1385 /* The width in bits of the ALT_UART_LCR_DLAB register field. */ 1386 #define ALT_UART_LCR_DLAB_WIDTH 1 1387 /* The mask used to set the ALT_UART_LCR_DLAB register field value. */ 1388 #define ALT_UART_LCR_DLAB_SET_MSK 0x00000080 1389 /* The mask used to clear the ALT_UART_LCR_DLAB register field value. */ 1390 #define ALT_UART_LCR_DLAB_CLR_MSK 0xffffff7f 1391 /* The reset value of the ALT_UART_LCR_DLAB register field. */ 1392 #define ALT_UART_LCR_DLAB_RESET 0x0 1393 /* Extracts the ALT_UART_LCR_DLAB field value from a register. */ 1394 #define ALT_UART_LCR_DLAB_GET(value) (((value) & 0x00000080) >> 7) 1395 /* Produces a ALT_UART_LCR_DLAB register field value suitable for setting the register. */ 1396 #define ALT_UART_LCR_DLAB_SET(value) (((value) << 7) & 0x00000080) 1397 1398 #ifndef __ASSEMBLY__ 1399 /* 1400 * WARNING: The C register and register group struct declarations are provided for 1401 * convenience and illustrative purposes. They should, however, be used with 1402 * caution as the C language standard provides no guarantees about the alignment or 1403 * atomicity of device memory accesses. The recommended practice for writing 1404 * hardware drivers is to use the SoCAL access macros and alt_read_word() and 1405 * alt_write_word() functions. 1406 * 1407 * The struct declaration for register ALT_UART_LCR. 1408 */ 1409 struct ALT_UART_LCR_s 1410 { 1411 uint32_t dls : 2; /* Data Length Select */ 1412 uint32_t stop : 1; /* Stop Bits */ 1413 uint32_t pen : 1; /* Parity Enable */ 1414 uint32_t eps : 1; /* Even Parity Select */ 1415 uint32_t : 1; /* *UNDEFINED* */ 1416 uint32_t break_ : 1; /* Break Control Bit */ 1417 uint32_t dlab : 1; /* Divisor Latch Access Bit */ 1418 uint32_t : 24; /* *UNDEFINED* */ 1419 }; 1420 1421 /* The typedef declaration for register ALT_UART_LCR. */ 1422 typedef volatile struct ALT_UART_LCR_s ALT_UART_LCR_t; 1423 #endif /* __ASSEMBLY__ */ 1424 1425 /* The byte offset of the ALT_UART_LCR register from the beginning of the component. */ 1426 #define ALT_UART_LCR_OFST 0xc 1427 /* The address of the ALT_UART_LCR register. */ 1428 #define ALT_UART_LCR_ADDR(base) ALT_CAST(void *, (ALT_CAST(char *, (base)) + ALT_UART_LCR_OFST)) 1429 1430 /* 1431 * Register : Modem Control Register - mcr 1432 * 1433 * Reports various operations of the modem signals 1434 * 1435 * Register Layout 1436 * 1437 * Bits | Access | Reset | Description 1438 * :-------|:-------|:------|:------------------------- 1439 * [0] | RW | 0x0 | Data Terminal Ready 1440 * [1] | RW | 0x0 | Request to Send 1441 * [2] | RW | 0x0 | Out1 1442 * [3] | RW | 0x0 | out2 1443 * [4] | RW | 0x0 | LoopBack Bit 1444 * [5] | RW | 0x0 | Auto Flow Control Enable 1445 * [31:6] | ??? | 0x0 | *UNDEFINED* 1446 * 1447 */ 1448 /* 1449 * Field : Data Terminal Ready - dtr 1450 * 1451 * This is used to directly control the Data Terminal Ready output. The value 1452 * written to this location is inverted and driven out on uart_dtr_n, that is: The 1453 * Data Terminal Ready output is used to inform the modem or data set that the UART 1454 * is ready to establish communications. 1455 * 1456 * Note that Loopback mode bit [4] of MCR is set to one, the uart_dtr_n output is 1457 * held inactive high while the value of this location is internally looped back 1458 * to an input. 1459 * 1460 * Field Enumeration Values: 1461 * 1462 * Enum | Value | Description 1463 * :--------------------------|:------|:--------------------------------- 1464 * ALT_UART_MCR_DTR_E_LOGIC1 | 0x0 | uart_dtr_n de-asserted (logic 1) 1465 * ALT_UART_MCR_DTR_E_LOGIC0 | 0x1 | uart_dtr_n asserted (logic 0) 1466 * 1467 * Field Access Macros: 1468 * 1469 */ 1470 /* 1471 * Enumerated value for register field ALT_UART_MCR_DTR 1472 * 1473 * uart_dtr_n de-asserted (logic 1) 1474 */ 1475 #define ALT_UART_MCR_DTR_E_LOGIC1 0x0 1476 /* 1477 * Enumerated value for register field ALT_UART_MCR_DTR 1478 * 1479 * uart_dtr_n asserted (logic 0) 1480 */ 1481 #define ALT_UART_MCR_DTR_E_LOGIC0 0x1 1482 1483 /* The Least Significant Bit (LSB) position of the ALT_UART_MCR_DTR register field. */ 1484 #define ALT_UART_MCR_DTR_LSB 0 1485 /* The Most Significant Bit (MSB) position of the ALT_UART_MCR_DTR register field. */ 1486 #define ALT_UART_MCR_DTR_MSB 0 1487 /* The width in bits of the ALT_UART_MCR_DTR register field. */ 1488 #define ALT_UART_MCR_DTR_WIDTH 1 1489 /* The mask used to set the ALT_UART_MCR_DTR register field value. */ 1490 #define ALT_UART_MCR_DTR_SET_MSK 0x00000001 1491 /* The mask used to clear the ALT_UART_MCR_DTR register field value. */ 1492 #define ALT_UART_MCR_DTR_CLR_MSK 0xfffffffe 1493 /* The reset value of the ALT_UART_MCR_DTR register field. */ 1494 #define ALT_UART_MCR_DTR_RESET 0x0 1495 /* Extracts the ALT_UART_MCR_DTR field value from a register. */ 1496 #define ALT_UART_MCR_DTR_GET(value) (((value) & 0x00000001) >> 0) 1497 /* Produces a ALT_UART_MCR_DTR register field value suitable for setting the register. */ 1498 #define ALT_UART_MCR_DTR_SET(value) (((value) << 0) & 0x00000001) 1499 1500 /* 1501 * Field : Request to Send - rts 1502 * 1503 * This is used to directly control the Request to Send (uart_rts_n) output. The 1504 * Request to Send (uart_rts_n) output is used to inform the modem or data set that 1505 * the UART is ready to exchange data. When Auto RTS Flow Control is not enabled 1506 * (MCR[5] set to zero), the uart_rts_n signal is set low by programming MCR[1] 1507 * (RTS) to a high. If Auto Flow Control is active (MCR[5] set to one) and FIFO's 1508 * enable (FCR[0] set to one), the uart_rts_n output is controlled in the same way, 1509 * but is also gated with the receiver FIFO threshold trigger (uart_rts_n is 1510 * inactive high when above the threshold). The uart_rts_n signal will be de- 1511 * asserted when MCR[1] is set low. 1512 * 1513 * Note that in Loopback mode (MCR[4] set to one), the uart_rts_n output is held 1514 * inactive high while the value of this location is internally looped back to an 1515 * input. 1516 * 1517 * Field Enumeration Values: 1518 * 1519 * Enum | Value | Description 1520 * :--------------------------|:------|:--------------------------------- 1521 * ALT_UART_MCR_RTS_E_LOGIC1 | 0x0 | uart_rts_n de-asserted (logic 1) 1522 * ALT_UART_MCR_RTS_E_LOGIC0 | 0x1 | uart_rts_n asserted (logic 0) 1523 * 1524 * Field Access Macros: 1525 * 1526 */ 1527 /* 1528 * Enumerated value for register field ALT_UART_MCR_RTS 1529 * 1530 * uart_rts_n de-asserted (logic 1) 1531 */ 1532 #define ALT_UART_MCR_RTS_E_LOGIC1 0x0 1533 /* 1534 * Enumerated value for register field ALT_UART_MCR_RTS 1535 * 1536 * uart_rts_n asserted (logic 0) 1537 */ 1538 #define ALT_UART_MCR_RTS_E_LOGIC0 0x1 1539 1540 /* The Least Significant Bit (LSB) position of the ALT_UART_MCR_RTS register field. */ 1541 #define ALT_UART_MCR_RTS_LSB 1 1542 /* The Most Significant Bit (MSB) position of the ALT_UART_MCR_RTS register field. */ 1543 #define ALT_UART_MCR_RTS_MSB 1 1544 /* The width in bits of the ALT_UART_MCR_RTS register field. */ 1545 #define ALT_UART_MCR_RTS_WIDTH 1 1546 /* The mask used to set the ALT_UART_MCR_RTS register field value. */ 1547 #define ALT_UART_MCR_RTS_SET_MSK 0x00000002 1548 /* The mask used to clear the ALT_UART_MCR_RTS register field value. */ 1549 #define ALT_UART_MCR_RTS_CLR_MSK 0xfffffffd 1550 /* The reset value of the ALT_UART_MCR_RTS register field. */ 1551 #define ALT_UART_MCR_RTS_RESET 0x0 1552 /* Extracts the ALT_UART_MCR_RTS field value from a register. */ 1553 #define ALT_UART_MCR_RTS_GET(value) (((value) & 0x00000002) >> 1) 1554 /* Produces a ALT_UART_MCR_RTS register field value suitable for setting the register. */ 1555 #define ALT_UART_MCR_RTS_SET(value) (((value) << 1) & 0x00000002) 1556 1557 /* 1558 * Field : Out1 - out1 1559 * 1560 * The value written to this location is inverted and driven out on uart_out1_n 1561 * pin. 1562 * 1563 * Note that in Loopback mode (MCR[4] set to one), the uart_out1_n output is held 1564 * inactive high while the value of this location is internally looped back to an 1565 * input. 1566 * 1567 * Field Enumeration Values: 1568 * 1569 * Enum | Value | Description 1570 * :---------------------------|:------|:---------------------------------- 1571 * ALT_UART_MCR_OUT1_E_LOGIC1 | 0x0 | uart_out1_n de-asserted (logic 1) 1572 * ALT_UART_MCR_OUT1_E_LOGIC0 | 0x1 | uart_out1_n asserted (logic 0) 1573 * 1574 * Field Access Macros: 1575 * 1576 */ 1577 /* 1578 * Enumerated value for register field ALT_UART_MCR_OUT1 1579 * 1580 * uart_out1_n de-asserted (logic 1) 1581 */ 1582 #define ALT_UART_MCR_OUT1_E_LOGIC1 0x0 1583 /* 1584 * Enumerated value for register field ALT_UART_MCR_OUT1 1585 * 1586 * uart_out1_n asserted (logic 0) 1587 */ 1588 #define ALT_UART_MCR_OUT1_E_LOGIC0 0x1 1589 1590 /* The Least Significant Bit (LSB) position of the ALT_UART_MCR_OUT1 register field. */ 1591 #define ALT_UART_MCR_OUT1_LSB 2 1592 /* The Most Significant Bit (MSB) position of the ALT_UART_MCR_OUT1 register field. */ 1593 #define ALT_UART_MCR_OUT1_MSB 2 1594 /* The width in bits of the ALT_UART_MCR_OUT1 register field. */ 1595 #define ALT_UART_MCR_OUT1_WIDTH 1 1596 /* The mask used to set the ALT_UART_MCR_OUT1 register field value. */ 1597 #define ALT_UART_MCR_OUT1_SET_MSK 0x00000004 1598 /* The mask used to clear the ALT_UART_MCR_OUT1 register field value. */ 1599 #define ALT_UART_MCR_OUT1_CLR_MSK 0xfffffffb 1600 /* The reset value of the ALT_UART_MCR_OUT1 register field. */ 1601 #define ALT_UART_MCR_OUT1_RESET 0x0 1602 /* Extracts the ALT_UART_MCR_OUT1 field value from a register. */ 1603 #define ALT_UART_MCR_OUT1_GET(value) (((value) & 0x00000004) >> 2) 1604 /* Produces a ALT_UART_MCR_OUT1 register field value suitable for setting the register. */ 1605 #define ALT_UART_MCR_OUT1_SET(value) (((value) << 2) & 0x00000004) 1606 1607 /* 1608 * Field : out2 - out2 1609 * 1610 * This is used to directly control the user-designated uart_out2_n output. The 1611 * value written to this location is inverted and driven out on uart_out2_n 1612 * 1613 * Note: In Loopback mode bit 4 of the modem control register (MCR) is set to one, 1614 * the uart_out2_n output is held inactive high while the value of this location is 1615 * internally looped back to an input. 1616 * 1617 * Field Enumeration Values: 1618 * 1619 * Enum | Value | Description 1620 * :---------------------------|:------|:---------------------------------- 1621 * ALT_UART_MCR_OUT2_E_LOGIC1 | 0x0 | uart_out2_n de-asserted (logic 1) 1622 * ALT_UART_MCR_OUT2_E_LOGIC0 | 0x1 | uart_out2_n asserted (logic 0) 1623 * 1624 * Field Access Macros: 1625 * 1626 */ 1627 /* 1628 * Enumerated value for register field ALT_UART_MCR_OUT2 1629 * 1630 * uart_out2_n de-asserted (logic 1) 1631 */ 1632 #define ALT_UART_MCR_OUT2_E_LOGIC1 0x0 1633 /* 1634 * Enumerated value for register field ALT_UART_MCR_OUT2 1635 * 1636 * uart_out2_n asserted (logic 0) 1637 */ 1638 #define ALT_UART_MCR_OUT2_E_LOGIC0 0x1 1639 1640 /* The Least Significant Bit (LSB) position of the ALT_UART_MCR_OUT2 register field. */ 1641 #define ALT_UART_MCR_OUT2_LSB 3 1642 /* The Most Significant Bit (MSB) position of the ALT_UART_MCR_OUT2 register field. */ 1643 #define ALT_UART_MCR_OUT2_MSB 3 1644 /* The width in bits of the ALT_UART_MCR_OUT2 register field. */ 1645 #define ALT_UART_MCR_OUT2_WIDTH 1 1646 /* The mask used to set the ALT_UART_MCR_OUT2 register field value. */ 1647 #define ALT_UART_MCR_OUT2_SET_MSK 0x00000008 1648 /* The mask used to clear the ALT_UART_MCR_OUT2 register field value. */ 1649 #define ALT_UART_MCR_OUT2_CLR_MSK 0xfffffff7 1650 /* The reset value of the ALT_UART_MCR_OUT2 register field. */ 1651 #define ALT_UART_MCR_OUT2_RESET 0x0 1652 /* Extracts the ALT_UART_MCR_OUT2 field value from a register. */ 1653 #define ALT_UART_MCR_OUT2_GET(value) (((value) & 0x00000008) >> 3) 1654 /* Produces a ALT_UART_MCR_OUT2 register field value suitable for setting the register. */ 1655 #define ALT_UART_MCR_OUT2_SET(value) (((value) << 3) & 0x00000008) 1656 1657 /* 1658 * Field : LoopBack Bit - loopback 1659 * 1660 * This is used to put the UART into a diagnostic mode for test purposes. If UART 1661 * mode is NOT active, bit [6] of the modem control register MCR is set to zero, 1662 * data on the sout line is held high, while serial data output is looped back to 1663 * the sin line, internally. In this mode all the interrupts are fully functional. 1664 * Also, in loopback mode, the modem control inputs (uart_dsr_n, uart_cts_n, 1665 * uart_ri_n, uart_dcd_n) are disconnected and the modem control outputs 1666 * (uart_dtr_n, uart_rts_n, uart_out1_n, uart_out2_n) are loopedback to the inputs, 1667 * internally. 1668 * 1669 * Field Access Macros: 1670 * 1671 */ 1672 /* The Least Significant Bit (LSB) position of the ALT_UART_MCR_LOOPBACK register field. */ 1673 #define ALT_UART_MCR_LOOPBACK_LSB 4 1674 /* The Most Significant Bit (MSB) position of the ALT_UART_MCR_LOOPBACK register field. */ 1675 #define ALT_UART_MCR_LOOPBACK_MSB 4 1676 /* The width in bits of the ALT_UART_MCR_LOOPBACK register field. */ 1677 #define ALT_UART_MCR_LOOPBACK_WIDTH 1 1678 /* The mask used to set the ALT_UART_MCR_LOOPBACK register field value. */ 1679 #define ALT_UART_MCR_LOOPBACK_SET_MSK 0x00000010 1680 /* The mask used to clear the ALT_UART_MCR_LOOPBACK register field value. */ 1681 #define ALT_UART_MCR_LOOPBACK_CLR_MSK 0xffffffef 1682 /* The reset value of the ALT_UART_MCR_LOOPBACK register field. */ 1683 #define ALT_UART_MCR_LOOPBACK_RESET 0x0 1684 /* Extracts the ALT_UART_MCR_LOOPBACK field value from a register. */ 1685 #define ALT_UART_MCR_LOOPBACK_GET(value) (((value) & 0x00000010) >> 4) 1686 /* Produces a ALT_UART_MCR_LOOPBACK register field value suitable for setting the register. */ 1687 #define ALT_UART_MCR_LOOPBACK_SET(value) (((value) << 4) & 0x00000010) 1688 1689 /* 1690 * Field : Auto Flow Control Enable - afce 1691 * 1692 * When FIFOs are enabled, the Auto Flow Control enable bits are active. 1693 * 1694 * Field Enumeration Values: 1695 * 1696 * Enum | Value | Description 1697 * :-------------------------|:------|:-------------------------------- 1698 * ALT_UART_MCR_AFCE_E_DISD | 0x0 | Auto Flow Control Mode disabled 1699 * ALT_UART_MCR_AFCE_E_END | 0x1 | Auto Flow Control Mode enabled 1700 * 1701 * Field Access Macros: 1702 * 1703 */ 1704 /* 1705 * Enumerated value for register field ALT_UART_MCR_AFCE 1706 * 1707 * Auto Flow Control Mode disabled 1708 */ 1709 #define ALT_UART_MCR_AFCE_E_DISD 0x0 1710 /* 1711 * Enumerated value for register field ALT_UART_MCR_AFCE 1712 * 1713 * Auto Flow Control Mode enabled 1714 */ 1715 #define ALT_UART_MCR_AFCE_E_END 0x1 1716 1717 /* The Least Significant Bit (LSB) position of the ALT_UART_MCR_AFCE register field. */ 1718 #define ALT_UART_MCR_AFCE_LSB 5 1719 /* The Most Significant Bit (MSB) position of the ALT_UART_MCR_AFCE register field. */ 1720 #define ALT_UART_MCR_AFCE_MSB 5 1721 /* The width in bits of the ALT_UART_MCR_AFCE register field. */ 1722 #define ALT_UART_MCR_AFCE_WIDTH 1 1723 /* The mask used to set the ALT_UART_MCR_AFCE register field value. */ 1724 #define ALT_UART_MCR_AFCE_SET_MSK 0x00000020 1725 /* The mask used to clear the ALT_UART_MCR_AFCE register field value. */ 1726 #define ALT_UART_MCR_AFCE_CLR_MSK 0xffffffdf 1727 /* The reset value of the ALT_UART_MCR_AFCE register field. */ 1728 #define ALT_UART_MCR_AFCE_RESET 0x0 1729 /* Extracts the ALT_UART_MCR_AFCE field value from a register. */ 1730 #define ALT_UART_MCR_AFCE_GET(value) (((value) & 0x00000020) >> 5) 1731 /* Produces a ALT_UART_MCR_AFCE register field value suitable for setting the register. */ 1732 #define ALT_UART_MCR_AFCE_SET(value) (((value) << 5) & 0x00000020) 1733 1734 #ifndef __ASSEMBLY__ 1735 /* 1736 * WARNING: The C register and register group struct declarations are provided for 1737 * convenience and illustrative purposes. They should, however, be used with 1738 * caution as the C language standard provides no guarantees about the alignment or 1739 * atomicity of device memory accesses. The recommended practice for writing 1740 * hardware drivers is to use the SoCAL access macros and alt_read_word() and 1741 * alt_write_word() functions. 1742 * 1743 * The struct declaration for register ALT_UART_MCR. 1744 */ 1745 struct ALT_UART_MCR_s 1746 { 1747 uint32_t dtr : 1; /* Data Terminal Ready */ 1748 uint32_t rts : 1; /* Request to Send */ 1749 uint32_t out1 : 1; /* Out1 */ 1750 uint32_t out2 : 1; /* out2 */ 1751 uint32_t loopback : 1; /* LoopBack Bit */ 1752 uint32_t afce : 1; /* Auto Flow Control Enable */ 1753 uint32_t : 26; /* *UNDEFINED* */ 1754 }; 1755 1756 /* The typedef declaration for register ALT_UART_MCR. */ 1757 typedef volatile struct ALT_UART_MCR_s ALT_UART_MCR_t; 1758 #endif /* __ASSEMBLY__ */ 1759 1760 /* The byte offset of the ALT_UART_MCR register from the beginning of the component. */ 1761 #define ALT_UART_MCR_OFST 0x10 1762 /* The address of the ALT_UART_MCR register. */ 1763 #define ALT_UART_MCR_ADDR(base) ALT_CAST(void *, (ALT_CAST(char *, (base)) + ALT_UART_MCR_OFST)) 1764 1765 /* 1766 * Register : Line Status Register - lsr 1767 * 1768 * Reports status of transmit and receive. 1769 * 1770 * Register Layout 1771 * 1772 * Bits | Access | Reset | Description 1773 * :-------|:-------|:------|:------------------------------------ 1774 * [0] | R | 0x0 | Data Ready bit 1775 * [1] | R | 0x0 | Overrun error 1776 * [2] | R | 0x0 | Parity Error 1777 * [3] | R | 0x0 | Framing Error 1778 * [4] | R | 0x0 | Break Interrupt 1779 * [5] | R | 0x1 | Transmit Holding Register Empty bit 1780 * [6] | R | 0x1 | Transmitter Empty bit 1781 * [7] | R | 0x0 | Receiver FIFO Error bit 1782 * [31:8] | ??? | 0x0 | *UNDEFINED* 1783 * 1784 */ 1785 /* 1786 * Field : Data Ready bit - dr 1787 * 1788 * This is used to indicate that the receiver contains at least one character in 1789 * the RBR or the receiver FIFO. This bit is cleared when the RBR is read in the 1790 * non-FIFO mode, or when the receiver FIFO is empty, in the FIFO mode. 1791 * 1792 * Field Enumeration Values: 1793 * 1794 * Enum | Value | Description 1795 * :----------------------------|:------|:-------------- 1796 * ALT_UART_LSR_DR_E_NODATARDY | 0x0 | no data ready 1797 * ALT_UART_LSR_DR_E_DATARDY | 0x1 | data ready 1798 * 1799 * Field Access Macros: 1800 * 1801 */ 1802 /* 1803 * Enumerated value for register field ALT_UART_LSR_DR 1804 * 1805 * no data ready 1806 */ 1807 #define ALT_UART_LSR_DR_E_NODATARDY 0x0 1808 /* 1809 * Enumerated value for register field ALT_UART_LSR_DR 1810 * 1811 * data ready 1812 */ 1813 #define ALT_UART_LSR_DR_E_DATARDY 0x1 1814 1815 /* The Least Significant Bit (LSB) position of the ALT_UART_LSR_DR register field. */ 1816 #define ALT_UART_LSR_DR_LSB 0 1817 /* The Most Significant Bit (MSB) position of the ALT_UART_LSR_DR register field. */ 1818 #define ALT_UART_LSR_DR_MSB 0 1819 /* The width in bits of the ALT_UART_LSR_DR register field. */ 1820 #define ALT_UART_LSR_DR_WIDTH 1 1821 /* The mask used to set the ALT_UART_LSR_DR register field value. */ 1822 #define ALT_UART_LSR_DR_SET_MSK 0x00000001 1823 /* The mask used to clear the ALT_UART_LSR_DR register field value. */ 1824 #define ALT_UART_LSR_DR_CLR_MSK 0xfffffffe 1825 /* The reset value of the ALT_UART_LSR_DR register field. */ 1826 #define ALT_UART_LSR_DR_RESET 0x0 1827 /* Extracts the ALT_UART_LSR_DR field value from a register. */ 1828 #define ALT_UART_LSR_DR_GET(value) (((value) & 0x00000001) >> 0) 1829 /* Produces a ALT_UART_LSR_DR register field value suitable for setting the register. */ 1830 #define ALT_UART_LSR_DR_SET(value) (((value) << 0) & 0x00000001) 1831 1832 /* 1833 * Field : Overrun error - oe 1834 * 1835 * This is used to indicate the occurrence of an overrun error. This occurs if a 1836 * new data character was received before the previous data was read. In the non- 1837 * FIFO mode, the OE bit is set when a new character arrives in the receiver before 1838 * the previous character was read from the RBR. When this happens, the data in the 1839 * RBR is overwritten. In the FIFO mode, an overrun error occurs when the FIFO is 1840 * full and new character arrives at the receiver. The data in the FIFO is retained 1841 * and the data in the receive shift register is lost.Reading the LSR clears the OE 1842 * bit. 1843 * 1844 * Field Enumeration Values: 1845 * 1846 * Enum | Value | Description 1847 * :----------------------------|:------|:----------------- 1848 * ALT_UART_LSR_OE_E_NOOVERRUN | 0x0 | no overrun error 1849 * ALT_UART_LSR_OE_E_OVERRUN | 0x1 | overrun error 1850 * 1851 * Field Access Macros: 1852 * 1853 */ 1854 /* 1855 * Enumerated value for register field ALT_UART_LSR_OE 1856 * 1857 * no overrun error 1858 */ 1859 #define ALT_UART_LSR_OE_E_NOOVERRUN 0x0 1860 /* 1861 * Enumerated value for register field ALT_UART_LSR_OE 1862 * 1863 * overrun error 1864 */ 1865 #define ALT_UART_LSR_OE_E_OVERRUN 0x1 1866 1867 /* The Least Significant Bit (LSB) position of the ALT_UART_LSR_OE register field. */ 1868 #define ALT_UART_LSR_OE_LSB 1 1869 /* The Most Significant Bit (MSB) position of the ALT_UART_LSR_OE register field. */ 1870 #define ALT_UART_LSR_OE_MSB 1 1871 /* The width in bits of the ALT_UART_LSR_OE register field. */ 1872 #define ALT_UART_LSR_OE_WIDTH 1 1873 /* The mask used to set the ALT_UART_LSR_OE register field value. */ 1874 #define ALT_UART_LSR_OE_SET_MSK 0x00000002 1875 /* The mask used to clear the ALT_UART_LSR_OE register field value. */ 1876 #define ALT_UART_LSR_OE_CLR_MSK 0xfffffffd 1877 /* The reset value of the ALT_UART_LSR_OE register field. */ 1878 #define ALT_UART_LSR_OE_RESET 0x0 1879 /* Extracts the ALT_UART_LSR_OE field value from a register. */ 1880 #define ALT_UART_LSR_OE_GET(value) (((value) & 0x00000002) >> 1) 1881 /* Produces a ALT_UART_LSR_OE register field value suitable for setting the register. */ 1882 #define ALT_UART_LSR_OE_SET(value) (((value) << 1) & 0x00000002) 1883 1884 /* 1885 * Field : Parity Error - pe 1886 * 1887 * This is used to indicate the occurrence of a parity error in the receiver if the 1888 * Parity Enable (PEN) bit (LCR[3]) is set. Since the parity error is associated 1889 * with a character received, it is revealed when the character with the parity 1890 * error arrives at the top of the FIFO. It should be noted that the Parity Error 1891 * (PE) bit (LSR[2]) will be set if a break interrupt has occurred, as indicated by 1892 * Break Interrupt (BI) bit (LSR[4]). Reading the LSR clears the PE bit. 1893 * 1894 * Field Enumeration Values: 1895 * 1896 * Enum | Value | Description 1897 * :------------------------------|:------|:---------------- 1898 * ALT_UART_LSR_PE_E_NOPARITYERR | 0x0 | no parity error 1899 * ALT_UART_LSR_PE_E_PARITYERR | 0x1 | no parity error 1900 * 1901 * Field Access Macros: 1902 * 1903 */ 1904 /* 1905 * Enumerated value for register field ALT_UART_LSR_PE 1906 * 1907 * no parity error 1908 */ 1909 #define ALT_UART_LSR_PE_E_NOPARITYERR 0x0 1910 /* 1911 * Enumerated value for register field ALT_UART_LSR_PE 1912 * 1913 * no parity error 1914 */ 1915 #define ALT_UART_LSR_PE_E_PARITYERR 0x1 1916 1917 /* The Least Significant Bit (LSB) position of the ALT_UART_LSR_PE register field. */ 1918 #define ALT_UART_LSR_PE_LSB 2 1919 /* The Most Significant Bit (MSB) position of the ALT_UART_LSR_PE register field. */ 1920 #define ALT_UART_LSR_PE_MSB 2 1921 /* The width in bits of the ALT_UART_LSR_PE register field. */ 1922 #define ALT_UART_LSR_PE_WIDTH 1 1923 /* The mask used to set the ALT_UART_LSR_PE register field value. */ 1924 #define ALT_UART_LSR_PE_SET_MSK 0x00000004 1925 /* The mask used to clear the ALT_UART_LSR_PE register field value. */ 1926 #define ALT_UART_LSR_PE_CLR_MSK 0xfffffffb 1927 /* The reset value of the ALT_UART_LSR_PE register field. */ 1928 #define ALT_UART_LSR_PE_RESET 0x0 1929 /* Extracts the ALT_UART_LSR_PE field value from a register. */ 1930 #define ALT_UART_LSR_PE_GET(value) (((value) & 0x00000004) >> 2) 1931 /* Produces a ALT_UART_LSR_PE register field value suitable for setting the register. */ 1932 #define ALT_UART_LSR_PE_SET(value) (((value) << 2) & 0x00000004) 1933 1934 /* 1935 * Field : Framing Error - fe 1936 * 1937 * This is used to indicate the occurrence of a framing error in the receiver. A 1938 * framing error occurs when the receiver does not detect a valid STOP bit in the 1939 * received data. In the FIFO mode, since the framing error is associated with a 1940 * character received, it is revealed when the character with the framing error is 1941 * at the top of the FIFO. When a framing error occurs the UART will try to 1942 * resynchronize. It does this by assuming that the error was due to the start bit 1943 * of the next character and then continues receiving the other bit i.e. data, 1944 * and/or parity and stop. It should be noted that the Framing Error (FE) 1945 * bit(LSR[3]) will be set if a break interrupt has occurred, as indicated by a 1946 * Break Interrupt BIT bit (LSR[4]). Reading the LSR clears the FE bit. 1947 * 1948 * Field Enumeration Values: 1949 * 1950 * Enum | Value | Description 1951 * :---------------------------|:------|:----------------- 1952 * ALT_UART_LSR_FE_E_NOFRMERR | 0x0 | no framing error 1953 * ALT_UART_LSR_FE_E_FRMERR | 0x1 | framing error 1954 * 1955 * Field Access Macros: 1956 * 1957 */ 1958 /* 1959 * Enumerated value for register field ALT_UART_LSR_FE 1960 * 1961 * no framing error 1962 */ 1963 #define ALT_UART_LSR_FE_E_NOFRMERR 0x0 1964 /* 1965 * Enumerated value for register field ALT_UART_LSR_FE 1966 * 1967 * framing error 1968 */ 1969 #define ALT_UART_LSR_FE_E_FRMERR 0x1 1970 1971 /* The Least Significant Bit (LSB) position of the ALT_UART_LSR_FE register field. */ 1972 #define ALT_UART_LSR_FE_LSB 3 1973 /* The Most Significant Bit (MSB) position of the ALT_UART_LSR_FE register field. */ 1974 #define ALT_UART_LSR_FE_MSB 3 1975 /* The width in bits of the ALT_UART_LSR_FE register field. */ 1976 #define ALT_UART_LSR_FE_WIDTH 1 1977 /* The mask used to set the ALT_UART_LSR_FE register field value. */ 1978 #define ALT_UART_LSR_FE_SET_MSK 0x00000008 1979 /* The mask used to clear the ALT_UART_LSR_FE register field value. */ 1980 #define ALT_UART_LSR_FE_CLR_MSK 0xfffffff7 1981 /* The reset value of the ALT_UART_LSR_FE register field. */ 1982 #define ALT_UART_LSR_FE_RESET 0x0 1983 /* Extracts the ALT_UART_LSR_FE field value from a register. */ 1984 #define ALT_UART_LSR_FE_GET(value) (((value) & 0x00000008) >> 3) 1985 /* Produces a ALT_UART_LSR_FE register field value suitable for setting the register. */ 1986 #define ALT_UART_LSR_FE_SET(value) (((value) << 3) & 0x00000008) 1987 1988 /* 1989 * Field : Break Interrupt - bi 1990 * 1991 * This is used to indicate the detection of a break sequence on the serial input 1992 * data. Set whenever the serial input, sin, is held in a logic 0 state for longer 1993 * than the sum of start time + data bits + parity + stop bits. A break condition 1994 * on serial input causes one and only one character, consisting of all zeros, to 1995 * be received by the UART. The character associated with the break condition is 1996 * carried through the FIFO and is revealed when the character is at the top of the 1997 * FIFO. Reading the LSR clears the BI bit. 1998 * 1999 * Field Access Macros: 2000 * 2001 */ 2002 /* The Least Significant Bit (LSB) position of the ALT_UART_LSR_BI register field. */ 2003 #define ALT_UART_LSR_BI_LSB 4 2004 /* The Most Significant Bit (MSB) position of the ALT_UART_LSR_BI register field. */ 2005 #define ALT_UART_LSR_BI_MSB 4 2006 /* The width in bits of the ALT_UART_LSR_BI register field. */ 2007 #define ALT_UART_LSR_BI_WIDTH 1 2008 /* The mask used to set the ALT_UART_LSR_BI register field value. */ 2009 #define ALT_UART_LSR_BI_SET_MSK 0x00000010 2010 /* The mask used to clear the ALT_UART_LSR_BI register field value. */ 2011 #define ALT_UART_LSR_BI_CLR_MSK 0xffffffef 2012 /* The reset value of the ALT_UART_LSR_BI register field. */ 2013 #define ALT_UART_LSR_BI_RESET 0x0 2014 /* Extracts the ALT_UART_LSR_BI field value from a register. */ 2015 #define ALT_UART_LSR_BI_GET(value) (((value) & 0x00000010) >> 4) 2016 /* Produces a ALT_UART_LSR_BI register field value suitable for setting the register. */ 2017 #define ALT_UART_LSR_BI_SET(value) (((value) << 4) & 0x00000010) 2018 2019 /* 2020 * Field : Transmit Holding Register Empty bit - thre 2021 * 2022 * If THRE mode is disabled (IER[7] set to zero) this bit indicates that the THR or 2023 * Tx FIFO is empty. This bit is set whenever data is transferred from the THR or 2024 * Tx FIFO to the transmitter shift register and no new data has been written to 2025 * the THR or Tx FIFO. This also causes a THRE Interrupt to occur, if the THRE 2026 * Interrupt is enabled. If both THRE and FIFOs are enabled, both (IER[7] set to 2027 * one and FCR[0] set to one respectively), the functionality will indicate the 2028 * transmitter FIFO is full, and no longer controls THRE interrupts, which are then 2029 * controlled by the FCR[5:4] thresholdsetting. 2030 * 2031 * Field Access Macros: 2032 * 2033 */ 2034 /* The Least Significant Bit (LSB) position of the ALT_UART_LSR_THRE register field. */ 2035 #define ALT_UART_LSR_THRE_LSB 5 2036 /* The Most Significant Bit (MSB) position of the ALT_UART_LSR_THRE register field. */ 2037 #define ALT_UART_LSR_THRE_MSB 5 2038 /* The width in bits of the ALT_UART_LSR_THRE register field. */ 2039 #define ALT_UART_LSR_THRE_WIDTH 1 2040 /* The mask used to set the ALT_UART_LSR_THRE register field value. */ 2041 #define ALT_UART_LSR_THRE_SET_MSK 0x00000020 2042 /* The mask used to clear the ALT_UART_LSR_THRE register field value. */ 2043 #define ALT_UART_LSR_THRE_CLR_MSK 0xffffffdf 2044 /* The reset value of the ALT_UART_LSR_THRE register field. */ 2045 #define ALT_UART_LSR_THRE_RESET 0x1 2046 /* Extracts the ALT_UART_LSR_THRE field value from a register. */ 2047 #define ALT_UART_LSR_THRE_GET(value) (((value) & 0x00000020) >> 5) 2048 /* Produces a ALT_UART_LSR_THRE register field value suitable for setting the register. */ 2049 #define ALT_UART_LSR_THRE_SET(value) (((value) << 5) & 0x00000020) 2050 2051 /* 2052 * Field : Transmitter Empty bit - temt 2053 * 2054 * If in FIFO mode and FIFO's enabled (FCR[0] set to one), this bit is set whenever 2055 * the Transmitter Shift Register and the FIFO are both empty. If FIFO's are 2056 * disabled, this bit is set whenever the Transmitter Holding Register and the 2057 * Transmitter Shift Register are both empty. 2058 * 2059 * Field Enumeration Values: 2060 * 2061 * Enum | Value | Description 2062 * :-----------------------------|:------|:----------------------- 2063 * ALT_UART_LSR_TEMT_E_NOTEMPTY | 0x0 | Transmit Empty not set 2064 * ALT_UART_LSR_TEMT_E_EMPTY | 0x1 | Transmit Empty set 2065 * 2066 * Field Access Macros: 2067 * 2068 */ 2069 /* 2070 * Enumerated value for register field ALT_UART_LSR_TEMT 2071 * 2072 * Transmit Empty not set 2073 */ 2074 #define ALT_UART_LSR_TEMT_E_NOTEMPTY 0x0 2075 /* 2076 * Enumerated value for register field ALT_UART_LSR_TEMT 2077 * 2078 * Transmit Empty set 2079 */ 2080 #define ALT_UART_LSR_TEMT_E_EMPTY 0x1 2081 2082 /* The Least Significant Bit (LSB) position of the ALT_UART_LSR_TEMT register field. */ 2083 #define ALT_UART_LSR_TEMT_LSB 6 2084 /* The Most Significant Bit (MSB) position of the ALT_UART_LSR_TEMT register field. */ 2085 #define ALT_UART_LSR_TEMT_MSB 6 2086 /* The width in bits of the ALT_UART_LSR_TEMT register field. */ 2087 #define ALT_UART_LSR_TEMT_WIDTH 1 2088 /* The mask used to set the ALT_UART_LSR_TEMT register field value. */ 2089 #define ALT_UART_LSR_TEMT_SET_MSK 0x00000040 2090 /* The mask used to clear the ALT_UART_LSR_TEMT register field value. */ 2091 #define ALT_UART_LSR_TEMT_CLR_MSK 0xffffffbf 2092 /* The reset value of the ALT_UART_LSR_TEMT register field. */ 2093 #define ALT_UART_LSR_TEMT_RESET 0x1 2094 /* Extracts the ALT_UART_LSR_TEMT field value from a register. */ 2095 #define ALT_UART_LSR_TEMT_GET(value) (((value) & 0x00000040) >> 6) 2096 /* Produces a ALT_UART_LSR_TEMT register field value suitable for setting the register. */ 2097 #define ALT_UART_LSR_TEMT_SET(value) (((value) << 6) & 0x00000040) 2098 2099 /* 2100 * Field : Receiver FIFO Error bit - rfe 2101 * 2102 * This bit is only relevant when FIFO's are enabled (FCR[0] set to one). This is 2103 * used to indicate if there is at least one parity error, framing error, or break 2104 * indication in the FIFO. This bit is cleared when the LSR is read and the 2105 * character with the error is at the top of the receiver FIFO and there are no 2106 * subsequent errors in the FIFO. 2107 * 2108 * Field Enumeration Values: 2109 * 2110 * Enum | Value | Description 2111 * :-------------------------|:------|:-------------------- 2112 * ALT_UART_LSR_RFE_E_NOERR | 0x0 | no error in Rx FIFO 2113 * ALT_UART_LSR_RFE_E_ERR | 0x1 | error in Rx FIFO 2114 * 2115 * Field Access Macros: 2116 * 2117 */ 2118 /* 2119 * Enumerated value for register field ALT_UART_LSR_RFE 2120 * 2121 * no error in Rx FIFO 2122 */ 2123 #define ALT_UART_LSR_RFE_E_NOERR 0x0 2124 /* 2125 * Enumerated value for register field ALT_UART_LSR_RFE 2126 * 2127 * error in Rx FIFO 2128 */ 2129 #define ALT_UART_LSR_RFE_E_ERR 0x1 2130 2131 /* The Least Significant Bit (LSB) position of the ALT_UART_LSR_RFE register field. */ 2132 #define ALT_UART_LSR_RFE_LSB 7 2133 /* The Most Significant Bit (MSB) position of the ALT_UART_LSR_RFE register field. */ 2134 #define ALT_UART_LSR_RFE_MSB 7 2135 /* The width in bits of the ALT_UART_LSR_RFE register field. */ 2136 #define ALT_UART_LSR_RFE_WIDTH 1 2137 /* The mask used to set the ALT_UART_LSR_RFE register field value. */ 2138 #define ALT_UART_LSR_RFE_SET_MSK 0x00000080 2139 /* The mask used to clear the ALT_UART_LSR_RFE register field value. */ 2140 #define ALT_UART_LSR_RFE_CLR_MSK 0xffffff7f 2141 /* The reset value of the ALT_UART_LSR_RFE register field. */ 2142 #define ALT_UART_LSR_RFE_RESET 0x0 2143 /* Extracts the ALT_UART_LSR_RFE field value from a register. */ 2144 #define ALT_UART_LSR_RFE_GET(value) (((value) & 0x00000080) >> 7) 2145 /* Produces a ALT_UART_LSR_RFE register field value suitable for setting the register. */ 2146 #define ALT_UART_LSR_RFE_SET(value) (((value) << 7) & 0x00000080) 2147 2148 #ifndef __ASSEMBLY__ 2149 /* 2150 * WARNING: The C register and register group struct declarations are provided for 2151 * convenience and illustrative purposes. They should, however, be used with 2152 * caution as the C language standard provides no guarantees about the alignment or 2153 * atomicity of device memory accesses. The recommended practice for writing 2154 * hardware drivers is to use the SoCAL access macros and alt_read_word() and 2155 * alt_write_word() functions. 2156 * 2157 * The struct declaration for register ALT_UART_LSR. 2158 */ 2159 struct ALT_UART_LSR_s 2160 { 2161 const uint32_t dr : 1; /* Data Ready bit */ 2162 const uint32_t oe : 1; /* Overrun error */ 2163 const uint32_t pe : 1; /* Parity Error */ 2164 const uint32_t fe : 1; /* Framing Error */ 2165 const uint32_t bi : 1; /* Break Interrupt */ 2166 const uint32_t thre : 1; /* Transmit Holding Register Empty bit */ 2167 const uint32_t temt : 1; /* Transmitter Empty bit */ 2168 const uint32_t rfe : 1; /* Receiver FIFO Error bit */ 2169 uint32_t : 24; /* *UNDEFINED* */ 2170 }; 2171 2172 /* The typedef declaration for register ALT_UART_LSR. */ 2173 typedef volatile struct ALT_UART_LSR_s ALT_UART_LSR_t; 2174 #endif /* __ASSEMBLY__ */ 2175 2176 /* The byte offset of the ALT_UART_LSR register from the beginning of the component. */ 2177 #define ALT_UART_LSR_OFST 0x14 2178 /* The address of the ALT_UART_LSR register. */ 2179 #define ALT_UART_LSR_ADDR(base) ALT_CAST(void *, (ALT_CAST(char *, (base)) + ALT_UART_LSR_OFST)) 2180 2181 /* 2182 * Register : Modem Status Register - msr 2183 * 2184 * It should be noted that whenever bits 0, 1, 2 or 3 are set to logic one, to 2185 * indicate a change on the modem control inputs, a modem status interrupt will be 2186 * generated if enabled via the IER regardless of when the change occurred. Since 2187 * the delta bits (bits 0, 1, 3) can get set after a reset if their respective 2188 * modem signals are active (see individual bits for details), a read of the MSR 2189 * after reset can be performed to prevent unwanted interrupts. 2190 * 2191 * Register Layout 2192 * 2193 * Bits | Access | Reset | Description 2194 * :-------|:-------|:------|:-------------------------------- 2195 * [0] | R | 0x0 | Delta Clear to Send 2196 * [1] | R | 0x0 | Delta Data Set Ready 2197 * [2] | R | 0x0 | Trailing Edge of Ring Indicator 2198 * [3] | R | 0x0 | Delta Data Carrier Detect 2199 * [4] | R | 0x0 | Clear to Send 2200 * [5] | R | 0x0 | Data Set Ready 2201 * [6] | R | 0x0 | Ring Indicator 2202 * [7] | R | 0x0 | Data Carrier Detect 2203 * [31:8] | ??? | 0x0 | *UNDEFINED* 2204 * 2205 */ 2206 /* 2207 * Field : Delta Clear to Send - dcts 2208 * 2209 * This is used to indicate that the modem control line uart_cts_n has changed 2210 * since the last time the MSR was read. That is: Reading the MSR clears the DCTS 2211 * bit. In Loopback Mode bit [4] of MCR set to one, DCTS reflects changes on bit 2212 * [1] RTS of register MCR. 2213 * 2214 * Note: If the DCTS bit is not set and the uart_cts_n signal is asserted (low) and 2215 * a reset occurs (software or otherwise), then the DCTS bit will get set when the 2216 * reset is removed if the uart_cts_n signal remains asserted. 2217 * 2218 * Field Enumeration Values: 2219 * 2220 * Enum | Value | Description 2221 * :--------------------------|:------|:----------------------------------------------- 2222 * ALT_UART_MSR_DCTS_E_NOCHG | 0x0 | no change on uart_cts_n since last read of MSR 2223 * ALT_UART_MSR_DCTS_E_CHG | 0x1 | change on uart_cts_n since last read of MSR 2224 * 2225 * Field Access Macros: 2226 * 2227 */ 2228 /* 2229 * Enumerated value for register field ALT_UART_MSR_DCTS 2230 * 2231 * no change on uart_cts_n since last read of MSR 2232 */ 2233 #define ALT_UART_MSR_DCTS_E_NOCHG 0x0 2234 /* 2235 * Enumerated value for register field ALT_UART_MSR_DCTS 2236 * 2237 * change on uart_cts_n since last read of MSR 2238 */ 2239 #define ALT_UART_MSR_DCTS_E_CHG 0x1 2240 2241 /* The Least Significant Bit (LSB) position of the ALT_UART_MSR_DCTS register field. */ 2242 #define ALT_UART_MSR_DCTS_LSB 0 2243 /* The Most Significant Bit (MSB) position of the ALT_UART_MSR_DCTS register field. */ 2244 #define ALT_UART_MSR_DCTS_MSB 0 2245 /* The width in bits of the ALT_UART_MSR_DCTS register field. */ 2246 #define ALT_UART_MSR_DCTS_WIDTH 1 2247 /* The mask used to set the ALT_UART_MSR_DCTS register field value. */ 2248 #define ALT_UART_MSR_DCTS_SET_MSK 0x00000001 2249 /* The mask used to clear the ALT_UART_MSR_DCTS register field value. */ 2250 #define ALT_UART_MSR_DCTS_CLR_MSK 0xfffffffe 2251 /* The reset value of the ALT_UART_MSR_DCTS register field. */ 2252 #define ALT_UART_MSR_DCTS_RESET 0x0 2253 /* Extracts the ALT_UART_MSR_DCTS field value from a register. */ 2254 #define ALT_UART_MSR_DCTS_GET(value) (((value) & 0x00000001) >> 0) 2255 /* Produces a ALT_UART_MSR_DCTS register field value suitable for setting the register. */ 2256 #define ALT_UART_MSR_DCTS_SET(value) (((value) << 0) & 0x00000001) 2257 2258 /* 2259 * Field : Delta Data Set Ready - ddsr 2260 * 2261 * This is used to indicate that the modem control line uart_dsr_n has changed 2262 * since the last time the MSR was read. Reading the MSR clears the DDSR bit.In 2263 * Loopback Mode (MCR[4] set to one), DDSR reflects changes on bit [0] DTR of 2264 * register MCR . 2265 * 2266 * Note, if the DDSR bit is not set and the uart_dsr_n signal is asserted (low) and 2267 * a reset occurs (software or otherwise), then the DDSR bit will get set when the 2268 * reset is removed if the uart_dsr_n signal remains asserted. 2269 * 2270 * Field Enumeration Values: 2271 * 2272 * Enum | Value | Description 2273 * :--------------------------|:------|:----------------------------------------------- 2274 * ALT_UART_MSR_DDSR_E_NOCHG | 0x0 | no change on uart_dsr_n since last read of MSR 2275 * ALT_UART_MSR_DDSR_E_CHG | 0x1 | change on uart_dsr_n since last read of MSR 2276 * 2277 * Field Access Macros: 2278 * 2279 */ 2280 /* 2281 * Enumerated value for register field ALT_UART_MSR_DDSR 2282 * 2283 * no change on uart_dsr_n since last read of MSR 2284 */ 2285 #define ALT_UART_MSR_DDSR_E_NOCHG 0x0 2286 /* 2287 * Enumerated value for register field ALT_UART_MSR_DDSR 2288 * 2289 * change on uart_dsr_n since last read of MSR 2290 */ 2291 #define ALT_UART_MSR_DDSR_E_CHG 0x1 2292 2293 /* The Least Significant Bit (LSB) position of the ALT_UART_MSR_DDSR register field. */ 2294 #define ALT_UART_MSR_DDSR_LSB 1 2295 /* The Most Significant Bit (MSB) position of the ALT_UART_MSR_DDSR register field. */ 2296 #define ALT_UART_MSR_DDSR_MSB 1 2297 /* The width in bits of the ALT_UART_MSR_DDSR register field. */ 2298 #define ALT_UART_MSR_DDSR_WIDTH 1 2299 /* The mask used to set the ALT_UART_MSR_DDSR register field value. */ 2300 #define ALT_UART_MSR_DDSR_SET_MSK 0x00000002 2301 /* The mask used to clear the ALT_UART_MSR_DDSR register field value. */ 2302 #define ALT_UART_MSR_DDSR_CLR_MSK 0xfffffffd 2303 /* The reset value of the ALT_UART_MSR_DDSR register field. */ 2304 #define ALT_UART_MSR_DDSR_RESET 0x0 2305 /* Extracts the ALT_UART_MSR_DDSR field value from a register. */ 2306 #define ALT_UART_MSR_DDSR_GET(value) (((value) & 0x00000002) >> 1) 2307 /* Produces a ALT_UART_MSR_DDSR register field value suitable for setting the register. */ 2308 #define ALT_UART_MSR_DDSR_SET(value) (((value) << 1) & 0x00000002) 2309 2310 /* 2311 * Field : Trailing Edge of Ring Indicator - teri 2312 * 2313 * This is used to indicate that a change on the input uart_ri_n (from an active 2314 * low, to an inactive high state) has occurred since the last time the MSR was 2315 * read. Reading the MSR clears the TERI bit. In Loopback Mode bit [4] of register 2316 * MCR is set to one, TERI reflects when bit [2] of register MCR has changed state 2317 * from a high to a low. 2318 * 2319 * Field Enumeration Values: 2320 * 2321 * Enum | Value | Description 2322 * :--------------------------|:------|:---------------------------------------------- 2323 * ALT_UART_MSR_TERI_E_NOCHG | 0x0 | no change on uart_ri_n since last read of MSR 2324 * ALT_UART_MSR_TERI_E_CHG | 0x1 | change on uart_ri_n since last read of MSR 2325 * 2326 * Field Access Macros: 2327 * 2328 */ 2329 /* 2330 * Enumerated value for register field ALT_UART_MSR_TERI 2331 * 2332 * no change on uart_ri_n since last read of MSR 2333 */ 2334 #define ALT_UART_MSR_TERI_E_NOCHG 0x0 2335 /* 2336 * Enumerated value for register field ALT_UART_MSR_TERI 2337 * 2338 * change on uart_ri_n since last read of MSR 2339 */ 2340 #define ALT_UART_MSR_TERI_E_CHG 0x1 2341 2342 /* The Least Significant Bit (LSB) position of the ALT_UART_MSR_TERI register field. */ 2343 #define ALT_UART_MSR_TERI_LSB 2 2344 /* The Most Significant Bit (MSB) position of the ALT_UART_MSR_TERI register field. */ 2345 #define ALT_UART_MSR_TERI_MSB 2 2346 /* The width in bits of the ALT_UART_MSR_TERI register field. */ 2347 #define ALT_UART_MSR_TERI_WIDTH 1 2348 /* The mask used to set the ALT_UART_MSR_TERI register field value. */ 2349 #define ALT_UART_MSR_TERI_SET_MSK 0x00000004 2350 /* The mask used to clear the ALT_UART_MSR_TERI register field value. */ 2351 #define ALT_UART_MSR_TERI_CLR_MSK 0xfffffffb 2352 /* The reset value of the ALT_UART_MSR_TERI register field. */ 2353 #define ALT_UART_MSR_TERI_RESET 0x0 2354 /* Extracts the ALT_UART_MSR_TERI field value from a register. */ 2355 #define ALT_UART_MSR_TERI_GET(value) (((value) & 0x00000004) >> 2) 2356 /* Produces a ALT_UART_MSR_TERI register field value suitable for setting the register. */ 2357 #define ALT_UART_MSR_TERI_SET(value) (((value) << 2) & 0x00000004) 2358 2359 /* 2360 * Field : Delta Data Carrier Detect - ddcd 2361 * 2362 * This is used to indicate that the modem control line dcd_n has changed since the 2363 * last time the MSR was read. Reading the MSR clears the DDCD bit. In Loopback 2364 * Mode bit [4] of register MCR is set to one, DDCD reflects changes bit [3] 2365 * uart_out2 of register MCR. 2366 * 2367 * Note: If the DDCD bit is not set and the uart_dcd_n signal is asserted (low) and 2368 * a reset occurs (software or otherwise), then the DDCD bit will get set when the 2369 * reset is removed if the uart_dcd_n signal remains asserted. 2370 * 2371 * Field Enumeration Values: 2372 * 2373 * Enum | Value | Description 2374 * :--------------------------|:------|:----------------------------------------------- 2375 * ALT_UART_MSR_DDCD_E_NOCHG | 0x0 | no change on uart_dcd_n since last read of MSR 2376 * ALT_UART_MSR_DDCD_E_CHG | 0x1 | change on uart_dcd_n since last read of MSR 2377 * 2378 * Field Access Macros: 2379 * 2380 */ 2381 /* 2382 * Enumerated value for register field ALT_UART_MSR_DDCD 2383 * 2384 * no change on uart_dcd_n since last read of MSR 2385 */ 2386 #define ALT_UART_MSR_DDCD_E_NOCHG 0x0 2387 /* 2388 * Enumerated value for register field ALT_UART_MSR_DDCD 2389 * 2390 * change on uart_dcd_n since last read of MSR 2391 */ 2392 #define ALT_UART_MSR_DDCD_E_CHG 0x1 2393 2394 /* The Least Significant Bit (LSB) position of the ALT_UART_MSR_DDCD register field. */ 2395 #define ALT_UART_MSR_DDCD_LSB 3 2396 /* The Most Significant Bit (MSB) position of the ALT_UART_MSR_DDCD register field. */ 2397 #define ALT_UART_MSR_DDCD_MSB 3 2398 /* The width in bits of the ALT_UART_MSR_DDCD register field. */ 2399 #define ALT_UART_MSR_DDCD_WIDTH 1 2400 /* The mask used to set the ALT_UART_MSR_DDCD register field value. */ 2401 #define ALT_UART_MSR_DDCD_SET_MSK 0x00000008 2402 /* The mask used to clear the ALT_UART_MSR_DDCD register field value. */ 2403 #define ALT_UART_MSR_DDCD_CLR_MSK 0xfffffff7 2404 /* The reset value of the ALT_UART_MSR_DDCD register field. */ 2405 #define ALT_UART_MSR_DDCD_RESET 0x0 2406 /* Extracts the ALT_UART_MSR_DDCD field value from a register. */ 2407 #define ALT_UART_MSR_DDCD_GET(value) (((value) & 0x00000008) >> 3) 2408 /* Produces a ALT_UART_MSR_DDCD register field value suitable for setting the register. */ 2409 #define ALT_UART_MSR_DDCD_SET(value) (((value) << 3) & 0x00000008) 2410 2411 /* 2412 * Field : Clear to Send - cts 2413 * 2414 * This is used to indicate the current state of the modem control line uart_cts_n. 2415 * That is, this bit is the complement uart_cts_n. When the Clear to Send input 2416 * (uart_cts_n) is asserted it is an indication that the modem or data set is ready 2417 * to exchange data with the uart. In Loopback Mode bit [4] of register MCR is set 2418 * to one, CTS is the same as bit [1] RTS of register MCR. 2419 * 2420 * Field Enumeration Values: 2421 * 2422 * Enum | Value | Description 2423 * :--------------------------|:------|:------------------------------------------ 2424 * ALT_UART_MSR_CTS_E_LOGIC1 | 0x0 | uart_cts_n input is de-asserted (logic 1) 2425 * ALT_UART_MSR_CTS_E_LOGIC0 | 0x1 | uart_cts_n input is asserted (logic 0) 2426 * 2427 * Field Access Macros: 2428 * 2429 */ 2430 /* 2431 * Enumerated value for register field ALT_UART_MSR_CTS 2432 * 2433 * uart_cts_n input is de-asserted (logic 1) 2434 */ 2435 #define ALT_UART_MSR_CTS_E_LOGIC1 0x0 2436 /* 2437 * Enumerated value for register field ALT_UART_MSR_CTS 2438 * 2439 * uart_cts_n input is asserted (logic 0) 2440 */ 2441 #define ALT_UART_MSR_CTS_E_LOGIC0 0x1 2442 2443 /* The Least Significant Bit (LSB) position of the ALT_UART_MSR_CTS register field. */ 2444 #define ALT_UART_MSR_CTS_LSB 4 2445 /* The Most Significant Bit (MSB) position of the ALT_UART_MSR_CTS register field. */ 2446 #define ALT_UART_MSR_CTS_MSB 4 2447 /* The width in bits of the ALT_UART_MSR_CTS register field. */ 2448 #define ALT_UART_MSR_CTS_WIDTH 1 2449 /* The mask used to set the ALT_UART_MSR_CTS register field value. */ 2450 #define ALT_UART_MSR_CTS_SET_MSK 0x00000010 2451 /* The mask used to clear the ALT_UART_MSR_CTS register field value. */ 2452 #define ALT_UART_MSR_CTS_CLR_MSK 0xffffffef 2453 /* The reset value of the ALT_UART_MSR_CTS register field. */ 2454 #define ALT_UART_MSR_CTS_RESET 0x0 2455 /* Extracts the ALT_UART_MSR_CTS field value from a register. */ 2456 #define ALT_UART_MSR_CTS_GET(value) (((value) & 0x00000010) >> 4) 2457 /* Produces a ALT_UART_MSR_CTS register field value suitable for setting the register. */ 2458 #define ALT_UART_MSR_CTS_SET(value) (((value) << 4) & 0x00000010) 2459 2460 /* 2461 * Field : Data Set Ready - dsr 2462 * 2463 * This is used to indicate the current state of the modem control line uart_dsr_n. 2464 * That is this bit is the complement f uart_dsr_n. When the Data Set Ready input 2465 * (uart_dsr_n) is asserted it is an indication that the modem or data set is ready 2466 * to establish communications with the uart. In Loopback Mode bit [4] of register 2467 * MCR is set to one, DSR is the same as bit [0] (DTR) of register MCR. 2468 * 2469 * Field Enumeration Values: 2470 * 2471 * Enum | Value | Description 2472 * :--------------------------|:------|:------------------------------------------ 2473 * ALT_UART_MSR_DSR_E_LOGIC1 | 0x0 | uart_dsr_n input is de-asserted (logic 1) 2474 * ALT_UART_MSR_DSR_E_LOGIC0 | 0x1 | uart_dsr_n input is asserted (logic 0) 2475 * 2476 * Field Access Macros: 2477 * 2478 */ 2479 /* 2480 * Enumerated value for register field ALT_UART_MSR_DSR 2481 * 2482 * uart_dsr_n input is de-asserted (logic 1) 2483 */ 2484 #define ALT_UART_MSR_DSR_E_LOGIC1 0x0 2485 /* 2486 * Enumerated value for register field ALT_UART_MSR_DSR 2487 * 2488 * uart_dsr_n input is asserted (logic 0) 2489 */ 2490 #define ALT_UART_MSR_DSR_E_LOGIC0 0x1 2491 2492 /* The Least Significant Bit (LSB) position of the ALT_UART_MSR_DSR register field. */ 2493 #define ALT_UART_MSR_DSR_LSB 5 2494 /* The Most Significant Bit (MSB) position of the ALT_UART_MSR_DSR register field. */ 2495 #define ALT_UART_MSR_DSR_MSB 5 2496 /* The width in bits of the ALT_UART_MSR_DSR register field. */ 2497 #define ALT_UART_MSR_DSR_WIDTH 1 2498 /* The mask used to set the ALT_UART_MSR_DSR register field value. */ 2499 #define ALT_UART_MSR_DSR_SET_MSK 0x00000020 2500 /* The mask used to clear the ALT_UART_MSR_DSR register field value. */ 2501 #define ALT_UART_MSR_DSR_CLR_MSK 0xffffffdf 2502 /* The reset value of the ALT_UART_MSR_DSR register field. */ 2503 #define ALT_UART_MSR_DSR_RESET 0x0 2504 /* Extracts the ALT_UART_MSR_DSR field value from a register. */ 2505 #define ALT_UART_MSR_DSR_GET(value) (((value) & 0x00000020) >> 5) 2506 /* Produces a ALT_UART_MSR_DSR register field value suitable for setting the register. */ 2507 #define ALT_UART_MSR_DSR_SET(value) (((value) << 5) & 0x00000020) 2508 2509 /* 2510 * Field : Ring Indicator - ri 2511 * 2512 * This bit is used to indicate the current state of the modem control line 2513 * uart_ri_n. That is this bit is the complement uart_ri_n. When the Ring Indicator 2514 * input (uart_ri_n) is asserted it is an indication that a telephone ringing 2515 * signal has been received by the modem or data set. In Loopback Mode bit [4] of 2516 * register MCR set to one, RI is the same as bit [2] uart_out1_n of register MCR. 2517 * 2518 * Field Enumeration Values: 2519 * 2520 * Enum | Value | Description 2521 * :-------------------------|:------|:----------------------------------------- 2522 * ALT_UART_MSR_RI_E_LOGIC1 | 0x0 | uart_ri_n input is de-asserted (logic 1) 2523 * ALT_UART_MSR_RI_E_LOGIC0 | 0x1 | uart_ri_n input is asserted (logic 0) 2524 * 2525 * Field Access Macros: 2526 * 2527 */ 2528 /* 2529 * Enumerated value for register field ALT_UART_MSR_RI 2530 * 2531 * uart_ri_n input is de-asserted (logic 1) 2532 */ 2533 #define ALT_UART_MSR_RI_E_LOGIC1 0x0 2534 /* 2535 * Enumerated value for register field ALT_UART_MSR_RI 2536 * 2537 * uart_ri_n input is asserted (logic 0) 2538 */ 2539 #define ALT_UART_MSR_RI_E_LOGIC0 0x1 2540 2541 /* The Least Significant Bit (LSB) position of the ALT_UART_MSR_RI register field. */ 2542 #define ALT_UART_MSR_RI_LSB 6 2543 /* The Most Significant Bit (MSB) position of the ALT_UART_MSR_RI register field. */ 2544 #define ALT_UART_MSR_RI_MSB 6 2545 /* The width in bits of the ALT_UART_MSR_RI register field. */ 2546 #define ALT_UART_MSR_RI_WIDTH 1 2547 /* The mask used to set the ALT_UART_MSR_RI register field value. */ 2548 #define ALT_UART_MSR_RI_SET_MSK 0x00000040 2549 /* The mask used to clear the ALT_UART_MSR_RI register field value. */ 2550 #define ALT_UART_MSR_RI_CLR_MSK 0xffffffbf 2551 /* The reset value of the ALT_UART_MSR_RI register field. */ 2552 #define ALT_UART_MSR_RI_RESET 0x0 2553 /* Extracts the ALT_UART_MSR_RI field value from a register. */ 2554 #define ALT_UART_MSR_RI_GET(value) (((value) & 0x00000040) >> 6) 2555 /* Produces a ALT_UART_MSR_RI register field value suitable for setting the register. */ 2556 #define ALT_UART_MSR_RI_SET(value) (((value) << 6) & 0x00000040) 2557 2558 /* 2559 * Field : Data Carrier Detect - dcd 2560 * 2561 * This is used to indicate the current state of the modem control line uart_dcd_n. 2562 * That is this bit is the complement uart_dcd_n. When the Data Carrier Detect 2563 * input (uart_dcd_n) is asserted it is an indication that the carrier has been 2564 * detected by the modem or data set. In Loopback Mode (MCR[4] set to one), DCD is 2565 * the same as MCR[3] (uart_out2). 2566 * 2567 * Field Enumeration Values: 2568 * 2569 * Enum | Value | Description 2570 * :--------------------------|:------|:------------------------------------------ 2571 * ALT_UART_MSR_DCD_E_LOGIC1 | 0x0 | uart_dcd_n input is de-asserted (logic 1) 2572 * ALT_UART_MSR_DCD_E_LOGIC0 | 0x1 | uart_dcd_n input is asserted (logic 0) 2573 * 2574 * Field Access Macros: 2575 * 2576 */ 2577 /* 2578 * Enumerated value for register field ALT_UART_MSR_DCD 2579 * 2580 * uart_dcd_n input is de-asserted (logic 1) 2581 */ 2582 #define ALT_UART_MSR_DCD_E_LOGIC1 0x0 2583 /* 2584 * Enumerated value for register field ALT_UART_MSR_DCD 2585 * 2586 * uart_dcd_n input is asserted (logic 0) 2587 */ 2588 #define ALT_UART_MSR_DCD_E_LOGIC0 0x1 2589 2590 /* The Least Significant Bit (LSB) position of the ALT_UART_MSR_DCD register field. */ 2591 #define ALT_UART_MSR_DCD_LSB 7 2592 /* The Most Significant Bit (MSB) position of the ALT_UART_MSR_DCD register field. */ 2593 #define ALT_UART_MSR_DCD_MSB 7 2594 /* The width in bits of the ALT_UART_MSR_DCD register field. */ 2595 #define ALT_UART_MSR_DCD_WIDTH 1 2596 /* The mask used to set the ALT_UART_MSR_DCD register field value. */ 2597 #define ALT_UART_MSR_DCD_SET_MSK 0x00000080 2598 /* The mask used to clear the ALT_UART_MSR_DCD register field value. */ 2599 #define ALT_UART_MSR_DCD_CLR_MSK 0xffffff7f 2600 /* The reset value of the ALT_UART_MSR_DCD register field. */ 2601 #define ALT_UART_MSR_DCD_RESET 0x0 2602 /* Extracts the ALT_UART_MSR_DCD field value from a register. */ 2603 #define ALT_UART_MSR_DCD_GET(value) (((value) & 0x00000080) >> 7) 2604 /* Produces a ALT_UART_MSR_DCD register field value suitable for setting the register. */ 2605 #define ALT_UART_MSR_DCD_SET(value) (((value) << 7) & 0x00000080) 2606 2607 #ifndef __ASSEMBLY__ 2608 /* 2609 * WARNING: The C register and register group struct declarations are provided for 2610 * convenience and illustrative purposes. They should, however, be used with 2611 * caution as the C language standard provides no guarantees about the alignment or 2612 * atomicity of device memory accesses. The recommended practice for writing 2613 * hardware drivers is to use the SoCAL access macros and alt_read_word() and 2614 * alt_write_word() functions. 2615 * 2616 * The struct declaration for register ALT_UART_MSR. 2617 */ 2618 struct ALT_UART_MSR_s 2619 { 2620 const uint32_t dcts : 1; /* Delta Clear to Send */ 2621 const uint32_t ddsr : 1; /* Delta Data Set Ready */ 2622 const uint32_t teri : 1; /* Trailing Edge of Ring Indicator */ 2623 const uint32_t ddcd : 1; /* Delta Data Carrier Detect */ 2624 const uint32_t cts : 1; /* Clear to Send */ 2625 const uint32_t dsr : 1; /* Data Set Ready */ 2626 const uint32_t ri : 1; /* Ring Indicator */ 2627 const uint32_t dcd : 1; /* Data Carrier Detect */ 2628 uint32_t : 24; /* *UNDEFINED* */ 2629 }; 2630 2631 /* The typedef declaration for register ALT_UART_MSR. */ 2632 typedef volatile struct ALT_UART_MSR_s ALT_UART_MSR_t; 2633 #endif /* __ASSEMBLY__ */ 2634 2635 /* The byte offset of the ALT_UART_MSR register from the beginning of the component. */ 2636 #define ALT_UART_MSR_OFST 0x18 2637 /* The address of the ALT_UART_MSR register. */ 2638 #define ALT_UART_MSR_ADDR(base) ALT_CAST(void *, (ALT_CAST(char *, (base)) + ALT_UART_MSR_OFST)) 2639 2640 /* 2641 * Register : Scratchpad Register - scr 2642 * 2643 * Scratchpad Register 2644 * 2645 * Register Layout 2646 * 2647 * Bits | Access | Reset | Description 2648 * :-------|:-------|:------|:-------------------- 2649 * [7:0] | RW | 0x0 | Scratchpad Register 2650 * [31:8] | ??? | 0x0 | *UNDEFINED* 2651 * 2652 */ 2653 /* 2654 * Field : Scratchpad Register - scr 2655 * 2656 * This register is for programmers to use as a temporary storage space. 2657 * 2658 * Field Access Macros: 2659 * 2660 */ 2661 /* The Least Significant Bit (LSB) position of the ALT_UART_SCR_SCR register field. */ 2662 #define ALT_UART_SCR_SCR_LSB 0 2663 /* The Most Significant Bit (MSB) position of the ALT_UART_SCR_SCR register field. */ 2664 #define ALT_UART_SCR_SCR_MSB 7 2665 /* The width in bits of the ALT_UART_SCR_SCR register field. */ 2666 #define ALT_UART_SCR_SCR_WIDTH 8 2667 /* The mask used to set the ALT_UART_SCR_SCR register field value. */ 2668 #define ALT_UART_SCR_SCR_SET_MSK 0x000000ff 2669 /* The mask used to clear the ALT_UART_SCR_SCR register field value. */ 2670 #define ALT_UART_SCR_SCR_CLR_MSK 0xffffff00 2671 /* The reset value of the ALT_UART_SCR_SCR register field. */ 2672 #define ALT_UART_SCR_SCR_RESET 0x0 2673 /* Extracts the ALT_UART_SCR_SCR field value from a register. */ 2674 #define ALT_UART_SCR_SCR_GET(value) (((value) & 0x000000ff) >> 0) 2675 /* Produces a ALT_UART_SCR_SCR register field value suitable for setting the register. */ 2676 #define ALT_UART_SCR_SCR_SET(value) (((value) << 0) & 0x000000ff) 2677 2678 #ifndef __ASSEMBLY__ 2679 /* 2680 * WARNING: The C register and register group struct declarations are provided for 2681 * convenience and illustrative purposes. They should, however, be used with 2682 * caution as the C language standard provides no guarantees about the alignment or 2683 * atomicity of device memory accesses. The recommended practice for writing 2684 * hardware drivers is to use the SoCAL access macros and alt_read_word() and 2685 * alt_write_word() functions. 2686 * 2687 * The struct declaration for register ALT_UART_SCR. 2688 */ 2689 struct ALT_UART_SCR_s 2690 { 2691 uint32_t scr : 8; /* Scratchpad Register */ 2692 uint32_t : 24; /* *UNDEFINED* */ 2693 }; 2694 2695 /* The typedef declaration for register ALT_UART_SCR. */ 2696 typedef volatile struct ALT_UART_SCR_s ALT_UART_SCR_t; 2697 #endif /* __ASSEMBLY__ */ 2698 2699 /* The byte offset of the ALT_UART_SCR register from the beginning of the component. */ 2700 #define ALT_UART_SCR_OFST 0x1c 2701 /* The address of the ALT_UART_SCR register. */ 2702 #define ALT_UART_SCR_ADDR(base) ALT_CAST(void *, (ALT_CAST(char *, (base)) + ALT_UART_SCR_OFST)) 2703 2704 /* 2705 * Register : Shadow Receive Buffer Register - srbr 2706 * 2707 * Used to accomadate burst accesses from the master. 2708 * 2709 * Register Layout 2710 * 2711 * Bits | Access | Reset | Description 2712 * :-------|:-------|:------|:---------------------- 2713 * [7:0] | RW | 0x0 | Shadow Receive Buffer 2714 * [31:8] | ??? | 0x0 | *UNDEFINED* 2715 * 2716 */ 2717 /* 2718 * Field : Shadow Receive Buffer - srbr 2719 * 2720 * This is a shadow register for the RBR and has been allocated one 32-bit location 2721 * so as to accommodate burst accesses from the master.This register contains the 2722 * data byte received on the serial input port (sin). The data in this register is 2723 * valid only if the Data Ready (DR) bit in the Line status Register (LSR) is set. 2724 * If FIFOs are disabled, bit [0] of register FCR set to zero, the data in the RBR 2725 * must be read before the next data arrives, otherwise it will be overwritten, 2726 * resulting in an overrun error. If FIFOs are enabled (FCR[0] set to one), this 2727 * register accesses the head of the receive FIFO. If the receive FIFO is full and 2728 * this register is not read before the next data character arrives, then the data 2729 * already in the FIFO will be preserved but any incoming data will be lost. An 2730 * overrun error will also occur. 2731 * 2732 * Field Access Macros: 2733 * 2734 */ 2735 /* The Least Significant Bit (LSB) position of the ALT_UART_SRBR_SRBR register field. */ 2736 #define ALT_UART_SRBR_SRBR_LSB 0 2737 /* The Most Significant Bit (MSB) position of the ALT_UART_SRBR_SRBR register field. */ 2738 #define ALT_UART_SRBR_SRBR_MSB 7 2739 /* The width in bits of the ALT_UART_SRBR_SRBR register field. */ 2740 #define ALT_UART_SRBR_SRBR_WIDTH 8 2741 /* The mask used to set the ALT_UART_SRBR_SRBR register field value. */ 2742 #define ALT_UART_SRBR_SRBR_SET_MSK 0x000000ff 2743 /* The mask used to clear the ALT_UART_SRBR_SRBR register field value. */ 2744 #define ALT_UART_SRBR_SRBR_CLR_MSK 0xffffff00 2745 /* The reset value of the ALT_UART_SRBR_SRBR register field. */ 2746 #define ALT_UART_SRBR_SRBR_RESET 0x0 2747 /* Extracts the ALT_UART_SRBR_SRBR field value from a register. */ 2748 #define ALT_UART_SRBR_SRBR_GET(value) (((value) & 0x000000ff) >> 0) 2749 /* Produces a ALT_UART_SRBR_SRBR register field value suitable for setting the register. */ 2750 #define ALT_UART_SRBR_SRBR_SET(value) (((value) << 0) & 0x000000ff) 2751 2752 #ifndef __ASSEMBLY__ 2753 /* 2754 * WARNING: The C register and register group struct declarations are provided for 2755 * convenience and illustrative purposes. They should, however, be used with 2756 * caution as the C language standard provides no guarantees about the alignment or 2757 * atomicity of device memory accesses. The recommended practice for writing 2758 * hardware drivers is to use the SoCAL access macros and alt_read_word() and 2759 * alt_write_word() functions. 2760 * 2761 * The struct declaration for register ALT_UART_SRBR. 2762 */ 2763 struct ALT_UART_SRBR_s 2764 { 2765 uint32_t srbr : 8; /* Shadow Receive Buffer */ 2766 uint32_t : 24; /* *UNDEFINED* */ 2767 }; 2768 2769 /* The typedef declaration for register ALT_UART_SRBR. */ 2770 typedef volatile struct ALT_UART_SRBR_s ALT_UART_SRBR_t; 2771 #endif /* __ASSEMBLY__ */ 2772 2773 /* The byte offset of the ALT_UART_SRBR register from the beginning of the component. */ 2774 #define ALT_UART_SRBR_OFST 0x30 2775 /* The address of the ALT_UART_SRBR register. */ 2776 #define ALT_UART_SRBR_ADDR(base) ALT_CAST(void *, (ALT_CAST(char *, (base)) + ALT_UART_SRBR_OFST)) 2777 2778 /* 2779 * Register : Shadow Transmit Buffer Register - sthr 2780 * 2781 * Used to accomadate burst accesses from the master. 2782 * 2783 * Register Layout 2784 * 2785 * Bits | Access | Reset | Description 2786 * :-------|:-------|:------|:----------------------- 2787 * [7:0] | RW | 0x0 | Shadow Transmit Buffer 2788 * [31:8] | ??? | 0x0 | *UNDEFINED* 2789 * 2790 */ 2791 /* 2792 * Field : Shadow Transmit Buffer - sthr 2793 * 2794 * This is a shadow register for the THR and has been allocated sixteen 32-bit 2795 * locations so as to accommodate burst accesses from the master. This register 2796 * contains data to be transmitted on the serial output port (sout). Data should 2797 * only be written to the THR when the THR Empty (THRE) bit (LSR[5]) is set. If 2798 * FIFO's are disabled bit [0] of register FCR set to zero and THRE is set, writing 2799 * a single character to the THR clears the THRE. Any additional writes to the THR 2800 * before the THRE is set again causes the THR data to be overwritten. If FIFO's 2801 * are enabled bit [0] of register FCR set to one and THRE is set, 128 characters 2802 * of data may be written to the THR before the FIFO is full. The UART FIFO depth 2803 * is configured for 128 characters. Any attempt to write data when the FIFO is 2804 * full results in the write data being lost. 2805 * 2806 * Field Access Macros: 2807 * 2808 */ 2809 /* The Least Significant Bit (LSB) position of the ALT_UART_STHR_STHR register field. */ 2810 #define ALT_UART_STHR_STHR_LSB 0 2811 /* The Most Significant Bit (MSB) position of the ALT_UART_STHR_STHR register field. */ 2812 #define ALT_UART_STHR_STHR_MSB 7 2813 /* The width in bits of the ALT_UART_STHR_STHR register field. */ 2814 #define ALT_UART_STHR_STHR_WIDTH 8 2815 /* The mask used to set the ALT_UART_STHR_STHR register field value. */ 2816 #define ALT_UART_STHR_STHR_SET_MSK 0x000000ff 2817 /* The mask used to clear the ALT_UART_STHR_STHR register field value. */ 2818 #define ALT_UART_STHR_STHR_CLR_MSK 0xffffff00 2819 /* The reset value of the ALT_UART_STHR_STHR register field. */ 2820 #define ALT_UART_STHR_STHR_RESET 0x0 2821 /* Extracts the ALT_UART_STHR_STHR field value from a register. */ 2822 #define ALT_UART_STHR_STHR_GET(value) (((value) & 0x000000ff) >> 0) 2823 /* Produces a ALT_UART_STHR_STHR register field value suitable for setting the register. */ 2824 #define ALT_UART_STHR_STHR_SET(value) (((value) << 0) & 0x000000ff) 2825 2826 #ifndef __ASSEMBLY__ 2827 /* 2828 * WARNING: The C register and register group struct declarations are provided for 2829 * convenience and illustrative purposes. They should, however, be used with 2830 * caution as the C language standard provides no guarantees about the alignment or 2831 * atomicity of device memory accesses. The recommended practice for writing 2832 * hardware drivers is to use the SoCAL access macros and alt_read_word() and 2833 * alt_write_word() functions. 2834 * 2835 * The struct declaration for register ALT_UART_STHR. 2836 */ 2837 struct ALT_UART_STHR_s 2838 { 2839 uint32_t sthr : 8; /* Shadow Transmit Buffer */ 2840 uint32_t : 24; /* *UNDEFINED* */ 2841 }; 2842 2843 /* The typedef declaration for register ALT_UART_STHR. */ 2844 typedef volatile struct ALT_UART_STHR_s ALT_UART_STHR_t; 2845 #endif /* __ASSEMBLY__ */ 2846 2847 /* The byte offset of the ALT_UART_STHR register from the beginning of the component. */ 2848 #define ALT_UART_STHR_OFST 0x34 2849 /* The address of the ALT_UART_STHR register. */ 2850 #define ALT_UART_STHR_ADDR(base) ALT_CAST(void *, (ALT_CAST(char *, (base)) + ALT_UART_STHR_OFST)) 2851 2852 /* 2853 * Register : FIFO Access Register - far 2854 * 2855 * This register is used in FIFO access testing. 2856 * 2857 * Register Layout 2858 * 2859 * Bits | Access | Reset | Description 2860 * :-------|:-------|:------|:---------------- 2861 * [0] | RW | 0x0 | FIFO ACCESS Bit 2862 * [31:1] | ??? | 0x0 | *UNDEFINED* 2863 * 2864 */ 2865 /* 2866 * Field : FIFO ACCESS Bit - srbr_sthr 2867 * 2868 * This register is used to enable a FIFO access mode for testing, so that the 2869 * receive FIFO can be written by the master and the transmit FIFO can be read by 2870 * the master when FIFO's are enabled. When FIFO's are not enabled it allows the 2871 * RBR to be written by the master and the THR to be read by the master 2872 * 2873 * Note: That when the FIFO access mode is enabled/disabled, the control portion of 2874 * the receive FIFO and transmit FIFO is reset and the FIFO's are treated as empty. 2875 * 2876 * Field Enumeration Values: 2877 * 2878 * Enum | Value | Description 2879 * :------------------------------|:------|:-------------------------- 2880 * ALT_UART_FAR_SRBR_STHR_E_DISD | 0x0 | FIFO access mode disabled 2881 * ALT_UART_FAR_SRBR_STHR_E_END | 0x1 | FIFO access mode enabled 2882 * 2883 * Field Access Macros: 2884 * 2885 */ 2886 /* 2887 * Enumerated value for register field ALT_UART_FAR_SRBR_STHR 2888 * 2889 * FIFO access mode disabled 2890 */ 2891 #define ALT_UART_FAR_SRBR_STHR_E_DISD 0x0 2892 /* 2893 * Enumerated value for register field ALT_UART_FAR_SRBR_STHR 2894 * 2895 * FIFO access mode enabled 2896 */ 2897 #define ALT_UART_FAR_SRBR_STHR_E_END 0x1 2898 2899 /* The Least Significant Bit (LSB) position of the ALT_UART_FAR_SRBR_STHR register field. */ 2900 #define ALT_UART_FAR_SRBR_STHR_LSB 0 2901 /* The Most Significant Bit (MSB) position of the ALT_UART_FAR_SRBR_STHR register field. */ 2902 #define ALT_UART_FAR_SRBR_STHR_MSB 0 2903 /* The width in bits of the ALT_UART_FAR_SRBR_STHR register field. */ 2904 #define ALT_UART_FAR_SRBR_STHR_WIDTH 1 2905 /* The mask used to set the ALT_UART_FAR_SRBR_STHR register field value. */ 2906 #define ALT_UART_FAR_SRBR_STHR_SET_MSK 0x00000001 2907 /* The mask used to clear the ALT_UART_FAR_SRBR_STHR register field value. */ 2908 #define ALT_UART_FAR_SRBR_STHR_CLR_MSK 0xfffffffe 2909 /* The reset value of the ALT_UART_FAR_SRBR_STHR register field. */ 2910 #define ALT_UART_FAR_SRBR_STHR_RESET 0x0 2911 /* Extracts the ALT_UART_FAR_SRBR_STHR field value from a register. */ 2912 #define ALT_UART_FAR_SRBR_STHR_GET(value) (((value) & 0x00000001) >> 0) 2913 /* Produces a ALT_UART_FAR_SRBR_STHR register field value suitable for setting the register. */ 2914 #define ALT_UART_FAR_SRBR_STHR_SET(value) (((value) << 0) & 0x00000001) 2915 2916 #ifndef __ASSEMBLY__ 2917 /* 2918 * WARNING: The C register and register group struct declarations are provided for 2919 * convenience and illustrative purposes. They should, however, be used with 2920 * caution as the C language standard provides no guarantees about the alignment or 2921 * atomicity of device memory accesses. The recommended practice for writing 2922 * hardware drivers is to use the SoCAL access macros and alt_read_word() and 2923 * alt_write_word() functions. 2924 * 2925 * The struct declaration for register ALT_UART_FAR. 2926 */ 2927 struct ALT_UART_FAR_s 2928 { 2929 uint32_t srbr_sthr : 1; /* FIFO ACCESS Bit */ 2930 uint32_t : 31; /* *UNDEFINED* */ 2931 }; 2932 2933 /* The typedef declaration for register ALT_UART_FAR. */ 2934 typedef volatile struct ALT_UART_FAR_s ALT_UART_FAR_t; 2935 #endif /* __ASSEMBLY__ */ 2936 2937 /* The byte offset of the ALT_UART_FAR register from the beginning of the component. */ 2938 #define ALT_UART_FAR_OFST 0x70 2939 /* The address of the ALT_UART_FAR register. */ 2940 #define ALT_UART_FAR_ADDR(base) ALT_CAST(void *, (ALT_CAST(char *, (base)) + ALT_UART_FAR_OFST)) 2941 2942 /* 2943 * Register : Transmit FIFO Read Register - tfr 2944 * 2945 * Used in FIFO Access test mode. 2946 * 2947 * Register Layout 2948 * 2949 * Bits | Access | Reset | Description 2950 * :-------|:-------|:------|:------------------- 2951 * [7:0] | R | 0x0 | Transmit FIFO Read 2952 * [31:8] | ??? | 0x0 | *UNDEFINED* 2953 * 2954 */ 2955 /* 2956 * Field : Transmit FIFO Read - tfr 2957 * 2958 * These bits are only valid when FIFO access mode is enabled (FAR[0] is set to 2959 * one). When FIFO's are enabled, reading this register gives the data at the top 2960 * of the transmit FIFO. Each consecutive read pops the transmit FIFO and gives the 2961 * next data value that is currently at the top of the FIFO. When FIFO's are not 2962 * enabled, reading this register gives the data in the THR. 2963 * 2964 * Field Access Macros: 2965 * 2966 */ 2967 /* The Least Significant Bit (LSB) position of the ALT_UART_TFR_TFR register field. */ 2968 #define ALT_UART_TFR_TFR_LSB 0 2969 /* The Most Significant Bit (MSB) position of the ALT_UART_TFR_TFR register field. */ 2970 #define ALT_UART_TFR_TFR_MSB 7 2971 /* The width in bits of the ALT_UART_TFR_TFR register field. */ 2972 #define ALT_UART_TFR_TFR_WIDTH 8 2973 /* The mask used to set the ALT_UART_TFR_TFR register field value. */ 2974 #define ALT_UART_TFR_TFR_SET_MSK 0x000000ff 2975 /* The mask used to clear the ALT_UART_TFR_TFR register field value. */ 2976 #define ALT_UART_TFR_TFR_CLR_MSK 0xffffff00 2977 /* The reset value of the ALT_UART_TFR_TFR register field. */ 2978 #define ALT_UART_TFR_TFR_RESET 0x0 2979 /* Extracts the ALT_UART_TFR_TFR field value from a register. */ 2980 #define ALT_UART_TFR_TFR_GET(value) (((value) & 0x000000ff) >> 0) 2981 /* Produces a ALT_UART_TFR_TFR register field value suitable for setting the register. */ 2982 #define ALT_UART_TFR_TFR_SET(value) (((value) << 0) & 0x000000ff) 2983 2984 #ifndef __ASSEMBLY__ 2985 /* 2986 * WARNING: The C register and register group struct declarations are provided for 2987 * convenience and illustrative purposes. They should, however, be used with 2988 * caution as the C language standard provides no guarantees about the alignment or 2989 * atomicity of device memory accesses. The recommended practice for writing 2990 * hardware drivers is to use the SoCAL access macros and alt_read_word() and 2991 * alt_write_word() functions. 2992 * 2993 * The struct declaration for register ALT_UART_TFR. 2994 */ 2995 struct ALT_UART_TFR_s 2996 { 2997 const uint32_t tfr : 8; /* Transmit FIFO Read */ 2998 uint32_t : 24; /* *UNDEFINED* */ 2999 }; 3000 3001 /* The typedef declaration for register ALT_UART_TFR. */ 3002 typedef volatile struct ALT_UART_TFR_s ALT_UART_TFR_t; 3003 #endif /* __ASSEMBLY__ */ 3004 3005 /* The byte offset of the ALT_UART_TFR register from the beginning of the component. */ 3006 #define ALT_UART_TFR_OFST 0x74 3007 /* The address of the ALT_UART_TFR register. */ 3008 #define ALT_UART_TFR_ADDR(base) ALT_CAST(void *, (ALT_CAST(char *, (base)) + ALT_UART_TFR_OFST)) 3009 3010 /* 3011 * Register : Receive FIFO Write - RFW 3012 * 3013 * Used only with FIFO access test mode. 3014 * 3015 * Register Layout 3016 * 3017 * Bits | Access | Reset | Description 3018 * :--------|:-------|:------|:--------------------------- 3019 * [7:0] | W | 0x0 | Receive FIFO Write Field 3020 * [8] | W | 0x0 | Receive FIFO Parity Error 3021 * [9] | W | 0x0 | Receive FIFO Framing Error 3022 * [31:10] | ??? | 0x0 | *UNDEFINED* 3023 * 3024 */ 3025 /* 3026 * Field : Receive FIFO Write Field - rfwd 3027 * 3028 * These bits are only valid when FIFO access mode is enabled (FAR[0] is set to 3029 * one). When FIFO's are enabled, the data that is written to the RFWD is pushed 3030 * into the receive FIFO. Each consecutive write pushes the new data to the next 3031 * write location in the receive FIFO. When FIFO's are not enabled, the data that 3032 * is written to the RFWD is pushed into the RBR. 3033 * 3034 * Field Access Macros: 3035 * 3036 */ 3037 /* The Least Significant Bit (LSB) position of the ALT_UART_RFW_RFWD register field. */ 3038 #define ALT_UART_RFW_RFWD_LSB 0 3039 /* The Most Significant Bit (MSB) position of the ALT_UART_RFW_RFWD register field. */ 3040 #define ALT_UART_RFW_RFWD_MSB 7 3041 /* The width in bits of the ALT_UART_RFW_RFWD register field. */ 3042 #define ALT_UART_RFW_RFWD_WIDTH 8 3043 /* The mask used to set the ALT_UART_RFW_RFWD register field value. */ 3044 #define ALT_UART_RFW_RFWD_SET_MSK 0x000000ff 3045 /* The mask used to clear the ALT_UART_RFW_RFWD register field value. */ 3046 #define ALT_UART_RFW_RFWD_CLR_MSK 0xffffff00 3047 /* The reset value of the ALT_UART_RFW_RFWD register field. */ 3048 #define ALT_UART_RFW_RFWD_RESET 0x0 3049 /* Extracts the ALT_UART_RFW_RFWD field value from a register. */ 3050 #define ALT_UART_RFW_RFWD_GET(value) (((value) & 0x000000ff) >> 0) 3051 /* Produces a ALT_UART_RFW_RFWD register field value suitable for setting the register. */ 3052 #define ALT_UART_RFW_RFWD_SET(value) (((value) << 0) & 0x000000ff) 3053 3054 /* 3055 * Field : Receive FIFO Parity Error - rfpe 3056 * 3057 * These bits are only valid when FIFO access mode is enabled (FAR[0] is set to 3058 * one). When FIFO's are enabled, this bit is used to write parity error detection 3059 * information to the receive FIFO. When FIFO's are not enabled, this bit is used 3060 * to write parity error detection information to the RBR. 3061 * 3062 * Field Access Macros: 3063 * 3064 */ 3065 /* The Least Significant Bit (LSB) position of the ALT_UART_RFW_RFPE register field. */ 3066 #define ALT_UART_RFW_RFPE_LSB 8 3067 /* The Most Significant Bit (MSB) position of the ALT_UART_RFW_RFPE register field. */ 3068 #define ALT_UART_RFW_RFPE_MSB 8 3069 /* The width in bits of the ALT_UART_RFW_RFPE register field. */ 3070 #define ALT_UART_RFW_RFPE_WIDTH 1 3071 /* The mask used to set the ALT_UART_RFW_RFPE register field value. */ 3072 #define ALT_UART_RFW_RFPE_SET_MSK 0x00000100 3073 /* The mask used to clear the ALT_UART_RFW_RFPE register field value. */ 3074 #define ALT_UART_RFW_RFPE_CLR_MSK 0xfffffeff 3075 /* The reset value of the ALT_UART_RFW_RFPE register field. */ 3076 #define ALT_UART_RFW_RFPE_RESET 0x0 3077 /* Extracts the ALT_UART_RFW_RFPE field value from a register. */ 3078 #define ALT_UART_RFW_RFPE_GET(value) (((value) & 0x00000100) >> 8) 3079 /* Produces a ALT_UART_RFW_RFPE register field value suitable for setting the register. */ 3080 #define ALT_UART_RFW_RFPE_SET(value) (((value) << 8) & 0x00000100) 3081 3082 /* 3083 * Field : Receive FIFO Framing Error - RFFE 3084 * 3085 * These bits are only valid when FIFO access mode is enabled (FAR[0] is set to 3086 * one). When FIFO's are enabled, this bit is used to write framing error detection 3087 * information to the receive FIFO. When FIFO's are not enabled, this bit is used 3088 * to write framing error detection information to the RBR. 3089 * 3090 * Field Access Macros: 3091 * 3092 */ 3093 /* The Least Significant Bit (LSB) position of the ALT_UART_RFW_RFFE register field. */ 3094 #define ALT_UART_RFW_RFFE_LSB 9 3095 /* The Most Significant Bit (MSB) position of the ALT_UART_RFW_RFFE register field. */ 3096 #define ALT_UART_RFW_RFFE_MSB 9 3097 /* The width in bits of the ALT_UART_RFW_RFFE register field. */ 3098 #define ALT_UART_RFW_RFFE_WIDTH 1 3099 /* The mask used to set the ALT_UART_RFW_RFFE register field value. */ 3100 #define ALT_UART_RFW_RFFE_SET_MSK 0x00000200 3101 /* The mask used to clear the ALT_UART_RFW_RFFE register field value. */ 3102 #define ALT_UART_RFW_RFFE_CLR_MSK 0xfffffdff 3103 /* The reset value of the ALT_UART_RFW_RFFE register field. */ 3104 #define ALT_UART_RFW_RFFE_RESET 0x0 3105 /* Extracts the ALT_UART_RFW_RFFE field value from a register. */ 3106 #define ALT_UART_RFW_RFFE_GET(value) (((value) & 0x00000200) >> 9) 3107 /* Produces a ALT_UART_RFW_RFFE register field value suitable for setting the register. */ 3108 #define ALT_UART_RFW_RFFE_SET(value) (((value) << 9) & 0x00000200) 3109 3110 #ifndef __ASSEMBLY__ 3111 /* 3112 * WARNING: The C register and register group struct declarations are provided for 3113 * convenience and illustrative purposes. They should, however, be used with 3114 * caution as the C language standard provides no guarantees about the alignment or 3115 * atomicity of device memory accesses. The recommended practice for writing 3116 * hardware drivers is to use the SoCAL access macros and alt_read_word() and 3117 * alt_write_word() functions. 3118 * 3119 * The struct declaration for register ALT_UART_RFW. 3120 */ 3121 struct ALT_UART_RFW_s 3122 { 3123 uint32_t rfwd : 8; /* Receive FIFO Write Field */ 3124 uint32_t rfpe : 1; /* Receive FIFO Parity Error */ 3125 uint32_t RFFE : 1; /* Receive FIFO Framing Error */ 3126 uint32_t : 22; /* *UNDEFINED* */ 3127 }; 3128 3129 /* The typedef declaration for register ALT_UART_RFW. */ 3130 typedef volatile struct ALT_UART_RFW_s ALT_UART_RFW_t; 3131 #endif /* __ASSEMBLY__ */ 3132 3133 /* The byte offset of the ALT_UART_RFW register from the beginning of the component. */ 3134 #define ALT_UART_RFW_OFST 0x78 3135 /* The address of the ALT_UART_RFW register. */ 3136 #define ALT_UART_RFW_ADDR(base) ALT_CAST(void *, (ALT_CAST(char *, (base)) + ALT_UART_RFW_OFST)) 3137 3138 /* 3139 * Register : UART Status Register - usr 3140 * 3141 * Status of FIFO Operations. 3142 * 3143 * Register Layout 3144 * 3145 * Bits | Access | Reset | Description 3146 * :-------|:-------|:------|:----------------------- 3147 * [0] | ??? | 0x0 | *UNDEFINED* 3148 * [1] | R | 0x1 | Transmit FIFO Not Full 3149 * [2] | R | 0x1 | Transmit FIFO Empty 3150 * [3] | R | 0x0 | Receive FIFO Not Empty 3151 * [4] | R | 0x0 | Receive FIFO Full 3152 * [31:5] | ??? | 0x0 | *UNDEFINED* 3153 * 3154 */ 3155 /* 3156 * Field : Transmit FIFO Not Full - tfnf 3157 * 3158 * This Bit is used to indicate that the transmit FIFO in not full. This bit is 3159 * cleared when the Tx FIFO is full. 3160 * 3161 * Field Enumeration Values: 3162 * 3163 * Enum | Value | Description 3164 * :----------------------------|:------|:-------------------------- 3165 * ALT_UART_USR_TFNF_E_FULL | 0x0 | Transmit FIFO is full 3166 * ALT_UART_USR_TFNF_E_NOTFULL | 0x1 | Transmit FIFO is not full 3167 * 3168 * Field Access Macros: 3169 * 3170 */ 3171 /* 3172 * Enumerated value for register field ALT_UART_USR_TFNF 3173 * 3174 * Transmit FIFO is full 3175 */ 3176 #define ALT_UART_USR_TFNF_E_FULL 0x0 3177 /* 3178 * Enumerated value for register field ALT_UART_USR_TFNF 3179 * 3180 * Transmit FIFO is not full 3181 */ 3182 #define ALT_UART_USR_TFNF_E_NOTFULL 0x1 3183 3184 /* The Least Significant Bit (LSB) position of the ALT_UART_USR_TFNF register field. */ 3185 #define ALT_UART_USR_TFNF_LSB 1 3186 /* The Most Significant Bit (MSB) position of the ALT_UART_USR_TFNF register field. */ 3187 #define ALT_UART_USR_TFNF_MSB 1 3188 /* The width in bits of the ALT_UART_USR_TFNF register field. */ 3189 #define ALT_UART_USR_TFNF_WIDTH 1 3190 /* The mask used to set the ALT_UART_USR_TFNF register field value. */ 3191 #define ALT_UART_USR_TFNF_SET_MSK 0x00000002 3192 /* The mask used to clear the ALT_UART_USR_TFNF register field value. */ 3193 #define ALT_UART_USR_TFNF_CLR_MSK 0xfffffffd 3194 /* The reset value of the ALT_UART_USR_TFNF register field. */ 3195 #define ALT_UART_USR_TFNF_RESET 0x1 3196 /* Extracts the ALT_UART_USR_TFNF field value from a register. */ 3197 #define ALT_UART_USR_TFNF_GET(value) (((value) & 0x00000002) >> 1) 3198 /* Produces a ALT_UART_USR_TFNF register field value suitable for setting the register. */ 3199 #define ALT_UART_USR_TFNF_SET(value) (((value) << 1) & 0x00000002) 3200 3201 /* 3202 * Field : Transmit FIFO Empty - tfe 3203 * 3204 * This is used to indicate that the transmit FIFO is completely empty. This bit is 3205 * cleared when the Tx FIFO is no longer empty. 3206 * 3207 * Field Enumeration Values: 3208 * 3209 * Enum | Value | Description 3210 * :----------------------------|:------|:--------------------------- 3211 * ALT_UART_USR_TFE_E_NOTEMPTY | 0x0 | Transmit FIFO is not empty 3212 * ALT_UART_USR_TFE_E_EMPTY | 0x1 | Transmit FIFO is empty 3213 * 3214 * Field Access Macros: 3215 * 3216 */ 3217 /* 3218 * Enumerated value for register field ALT_UART_USR_TFE 3219 * 3220 * Transmit FIFO is not empty 3221 */ 3222 #define ALT_UART_USR_TFE_E_NOTEMPTY 0x0 3223 /* 3224 * Enumerated value for register field ALT_UART_USR_TFE 3225 * 3226 * Transmit FIFO is empty 3227 */ 3228 #define ALT_UART_USR_TFE_E_EMPTY 0x1 3229 3230 /* The Least Significant Bit (LSB) position of the ALT_UART_USR_TFE register field. */ 3231 #define ALT_UART_USR_TFE_LSB 2 3232 /* The Most Significant Bit (MSB) position of the ALT_UART_USR_TFE register field. */ 3233 #define ALT_UART_USR_TFE_MSB 2 3234 /* The width in bits of the ALT_UART_USR_TFE register field. */ 3235 #define ALT_UART_USR_TFE_WIDTH 1 3236 /* The mask used to set the ALT_UART_USR_TFE register field value. */ 3237 #define ALT_UART_USR_TFE_SET_MSK 0x00000004 3238 /* The mask used to clear the ALT_UART_USR_TFE register field value. */ 3239 #define ALT_UART_USR_TFE_CLR_MSK 0xfffffffb 3240 /* The reset value of the ALT_UART_USR_TFE register field. */ 3241 #define ALT_UART_USR_TFE_RESET 0x1 3242 /* Extracts the ALT_UART_USR_TFE field value from a register. */ 3243 #define ALT_UART_USR_TFE_GET(value) (((value) & 0x00000004) >> 2) 3244 /* Produces a ALT_UART_USR_TFE register field value suitable for setting the register. */ 3245 #define ALT_UART_USR_TFE_SET(value) (((value) << 2) & 0x00000004) 3246 3247 /* 3248 * Field : Receive FIFO Not Empty - rfne 3249 * 3250 * This Bit is used to indicate that the receive FIFO contains one or more entries. 3251 * This bit is cleared when the Rx FIFO is empty. 3252 * 3253 * Field Enumeration Values: 3254 * 3255 * Enum | Value | Description 3256 * :-----------------------------|:------|:-------------------------- 3257 * ALT_UART_USR_RFNE_E_EMPTY | 0x0 | Receiive FIFO is empty 3258 * ALT_UART_USR_RFNE_E_NOTEMPTY | 0x1 | Receive FIFO is not empty 3259 * 3260 * Field Access Macros: 3261 * 3262 */ 3263 /* 3264 * Enumerated value for register field ALT_UART_USR_RFNE 3265 * 3266 * Receiive FIFO is empty 3267 */ 3268 #define ALT_UART_USR_RFNE_E_EMPTY 0x0 3269 /* 3270 * Enumerated value for register field ALT_UART_USR_RFNE 3271 * 3272 * Receive FIFO is not empty 3273 */ 3274 #define ALT_UART_USR_RFNE_E_NOTEMPTY 0x1 3275 3276 /* The Least Significant Bit (LSB) position of the ALT_UART_USR_RFNE register field. */ 3277 #define ALT_UART_USR_RFNE_LSB 3 3278 /* The Most Significant Bit (MSB) position of the ALT_UART_USR_RFNE register field. */ 3279 #define ALT_UART_USR_RFNE_MSB 3 3280 /* The width in bits of the ALT_UART_USR_RFNE register field. */ 3281 #define ALT_UART_USR_RFNE_WIDTH 1 3282 /* The mask used to set the ALT_UART_USR_RFNE register field value. */ 3283 #define ALT_UART_USR_RFNE_SET_MSK 0x00000008 3284 /* The mask used to clear the ALT_UART_USR_RFNE register field value. */ 3285 #define ALT_UART_USR_RFNE_CLR_MSK 0xfffffff7 3286 /* The reset value of the ALT_UART_USR_RFNE register field. */ 3287 #define ALT_UART_USR_RFNE_RESET 0x0 3288 /* Extracts the ALT_UART_USR_RFNE field value from a register. */ 3289 #define ALT_UART_USR_RFNE_GET(value) (((value) & 0x00000008) >> 3) 3290 /* Produces a ALT_UART_USR_RFNE register field value suitable for setting the register. */ 3291 #define ALT_UART_USR_RFNE_SET(value) (((value) << 3) & 0x00000008) 3292 3293 /* 3294 * Field : Receive FIFO Full - rff 3295 * 3296 * This Bit is used to indicate that the receive FIFO is completely full. This bit 3297 * is cleared when the Rx FIFO is no longer full. 3298 * 3299 * Field Enumeration Values: 3300 * 3301 * Enum | Value | Description 3302 * :---------------------------|:------|:----------------------- 3303 * ALT_UART_USR_RFF_E_NOTFULL | 0x0 | Receiive FIFO not full 3304 * ALT_UART_USR_RFF_E_FULL | 0x1 | Transmit FIFO is full 3305 * 3306 * Field Access Macros: 3307 * 3308 */ 3309 /* 3310 * Enumerated value for register field ALT_UART_USR_RFF 3311 * 3312 * Receiive FIFO not full 3313 */ 3314 #define ALT_UART_USR_RFF_E_NOTFULL 0x0 3315 /* 3316 * Enumerated value for register field ALT_UART_USR_RFF 3317 * 3318 * Transmit FIFO is full 3319 */ 3320 #define ALT_UART_USR_RFF_E_FULL 0x1 3321 3322 /* The Least Significant Bit (LSB) position of the ALT_UART_USR_RFF register field. */ 3323 #define ALT_UART_USR_RFF_LSB 4 3324 /* The Most Significant Bit (MSB) position of the ALT_UART_USR_RFF register field. */ 3325 #define ALT_UART_USR_RFF_MSB 4 3326 /* The width in bits of the ALT_UART_USR_RFF register field. */ 3327 #define ALT_UART_USR_RFF_WIDTH 1 3328 /* The mask used to set the ALT_UART_USR_RFF register field value. */ 3329 #define ALT_UART_USR_RFF_SET_MSK 0x00000010 3330 /* The mask used to clear the ALT_UART_USR_RFF register field value. */ 3331 #define ALT_UART_USR_RFF_CLR_MSK 0xffffffef 3332 /* The reset value of the ALT_UART_USR_RFF register field. */ 3333 #define ALT_UART_USR_RFF_RESET 0x0 3334 /* Extracts the ALT_UART_USR_RFF field value from a register. */ 3335 #define ALT_UART_USR_RFF_GET(value) (((value) & 0x00000010) >> 4) 3336 /* Produces a ALT_UART_USR_RFF register field value suitable for setting the register. */ 3337 #define ALT_UART_USR_RFF_SET(value) (((value) << 4) & 0x00000010) 3338 3339 #ifndef __ASSEMBLY__ 3340 /* 3341 * WARNING: The C register and register group struct declarations are provided for 3342 * convenience and illustrative purposes. They should, however, be used with 3343 * caution as the C language standard provides no guarantees about the alignment or 3344 * atomicity of device memory accesses. The recommended practice for writing 3345 * hardware drivers is to use the SoCAL access macros and alt_read_word() and 3346 * alt_write_word() functions. 3347 * 3348 * The struct declaration for register ALT_UART_USR. 3349 */ 3350 struct ALT_UART_USR_s 3351 { 3352 uint32_t : 1; /* *UNDEFINED* */ 3353 const uint32_t tfnf : 1; /* Transmit FIFO Not Full */ 3354 const uint32_t tfe : 1; /* Transmit FIFO Empty */ 3355 const uint32_t rfne : 1; /* Receive FIFO Not Empty */ 3356 const uint32_t rff : 1; /* Receive FIFO Full */ 3357 uint32_t : 27; /* *UNDEFINED* */ 3358 }; 3359 3360 /* The typedef declaration for register ALT_UART_USR. */ 3361 typedef volatile struct ALT_UART_USR_s ALT_UART_USR_t; 3362 #endif /* __ASSEMBLY__ */ 3363 3364 /* The byte offset of the ALT_UART_USR register from the beginning of the component. */ 3365 #define ALT_UART_USR_OFST 0x7c 3366 /* The address of the ALT_UART_USR register. */ 3367 #define ALT_UART_USR_ADDR(base) ALT_CAST(void *, (ALT_CAST(char *, (base)) + ALT_UART_USR_OFST)) 3368 3369 /* 3370 * Register : Transmit FIFO Level - tfl 3371 * 3372 * This register is used to specify the number of data entries in the Tx FIFO. 3373 * Status Bits in USR register monitor the FIFO state. 3374 * 3375 * Register Layout 3376 * 3377 * Bits | Access | Reset | Description 3378 * :-------|:-------|:------|:-------------------- 3379 * [4:0] | R | 0x0 | Transmit FIFO Level 3380 * [31:5] | ??? | 0x0 | *UNDEFINED* 3381 * 3382 */ 3383 /* 3384 * Field : Transmit FIFO Level - tfl 3385 * 3386 * This indicates the number of data entries in the transmit FIFO. 3387 * 3388 * Field Access Macros: 3389 * 3390 */ 3391 /* The Least Significant Bit (LSB) position of the ALT_UART_TFL_TFL register field. */ 3392 #define ALT_UART_TFL_TFL_LSB 0 3393 /* The Most Significant Bit (MSB) position of the ALT_UART_TFL_TFL register field. */ 3394 #define ALT_UART_TFL_TFL_MSB 4 3395 /* The width in bits of the ALT_UART_TFL_TFL register field. */ 3396 #define ALT_UART_TFL_TFL_WIDTH 5 3397 /* The mask used to set the ALT_UART_TFL_TFL register field value. */ 3398 #define ALT_UART_TFL_TFL_SET_MSK 0x0000001f 3399 /* The mask used to clear the ALT_UART_TFL_TFL register field value. */ 3400 #define ALT_UART_TFL_TFL_CLR_MSK 0xffffffe0 3401 /* The reset value of the ALT_UART_TFL_TFL register field. */ 3402 #define ALT_UART_TFL_TFL_RESET 0x0 3403 /* Extracts the ALT_UART_TFL_TFL field value from a register. */ 3404 #define ALT_UART_TFL_TFL_GET(value) (((value) & 0x0000001f) >> 0) 3405 /* Produces a ALT_UART_TFL_TFL register field value suitable for setting the register. */ 3406 #define ALT_UART_TFL_TFL_SET(value) (((value) << 0) & 0x0000001f) 3407 3408 #ifndef __ASSEMBLY__ 3409 /* 3410 * WARNING: The C register and register group struct declarations are provided for 3411 * convenience and illustrative purposes. They should, however, be used with 3412 * caution as the C language standard provides no guarantees about the alignment or 3413 * atomicity of device memory accesses. The recommended practice for writing 3414 * hardware drivers is to use the SoCAL access macros and alt_read_word() and 3415 * alt_write_word() functions. 3416 * 3417 * The struct declaration for register ALT_UART_TFL. 3418 */ 3419 struct ALT_UART_TFL_s 3420 { 3421 const uint32_t tfl : 5; /* Transmit FIFO Level */ 3422 uint32_t : 27; /* *UNDEFINED* */ 3423 }; 3424 3425 /* The typedef declaration for register ALT_UART_TFL. */ 3426 typedef volatile struct ALT_UART_TFL_s ALT_UART_TFL_t; 3427 #endif /* __ASSEMBLY__ */ 3428 3429 /* The byte offset of the ALT_UART_TFL register from the beginning of the component. */ 3430 #define ALT_UART_TFL_OFST 0x80 3431 /* The address of the ALT_UART_TFL register. */ 3432 #define ALT_UART_TFL_ADDR(base) ALT_CAST(void *, (ALT_CAST(char *, (base)) + ALT_UART_TFL_OFST)) 3433 3434 /* 3435 * Register : Receive FIFO Level Write - rfl 3436 * 3437 * This register is used to specify the number of data entries in the Tx FIFO. 3438 * Status Bits in USR register monitor the FIFO state. 3439 * 3440 * Register Layout 3441 * 3442 * Bits | Access | Reset | Description 3443 * :-------|:-------|:------|:-------------------------- 3444 * [4:0] | R | 0x0 | Receive FIFO Level Status 3445 * [31:5] | ??? | 0x0 | *UNDEFINED* 3446 * 3447 */ 3448 /* 3449 * Field : Receive FIFO Level Status - rfl 3450 * 3451 * This indicates the number of data entries in the receive FIFO. 3452 * 3453 * Field Access Macros: 3454 * 3455 */ 3456 /* The Least Significant Bit (LSB) position of the ALT_UART_RFL_RFL register field. */ 3457 #define ALT_UART_RFL_RFL_LSB 0 3458 /* The Most Significant Bit (MSB) position of the ALT_UART_RFL_RFL register field. */ 3459 #define ALT_UART_RFL_RFL_MSB 4 3460 /* The width in bits of the ALT_UART_RFL_RFL register field. */ 3461 #define ALT_UART_RFL_RFL_WIDTH 5 3462 /* The mask used to set the ALT_UART_RFL_RFL register field value. */ 3463 #define ALT_UART_RFL_RFL_SET_MSK 0x0000001f 3464 /* The mask used to clear the ALT_UART_RFL_RFL register field value. */ 3465 #define ALT_UART_RFL_RFL_CLR_MSK 0xffffffe0 3466 /* The reset value of the ALT_UART_RFL_RFL register field. */ 3467 #define ALT_UART_RFL_RFL_RESET 0x0 3468 /* Extracts the ALT_UART_RFL_RFL field value from a register. */ 3469 #define ALT_UART_RFL_RFL_GET(value) (((value) & 0x0000001f) >> 0) 3470 /* Produces a ALT_UART_RFL_RFL register field value suitable for setting the register. */ 3471 #define ALT_UART_RFL_RFL_SET(value) (((value) << 0) & 0x0000001f) 3472 3473 #ifndef __ASSEMBLY__ 3474 /* 3475 * WARNING: The C register and register group struct declarations are provided for 3476 * convenience and illustrative purposes. They should, however, be used with 3477 * caution as the C language standard provides no guarantees about the alignment or 3478 * atomicity of device memory accesses. The recommended practice for writing 3479 * hardware drivers is to use the SoCAL access macros and alt_read_word() and 3480 * alt_write_word() functions. 3481 * 3482 * The struct declaration for register ALT_UART_RFL. 3483 */ 3484 struct ALT_UART_RFL_s 3485 { 3486 const uint32_t rfl : 5; /* Receive FIFO Level Status */ 3487 uint32_t : 27; /* *UNDEFINED* */ 3488 }; 3489 3490 /* The typedef declaration for register ALT_UART_RFL. */ 3491 typedef volatile struct ALT_UART_RFL_s ALT_UART_RFL_t; 3492 #endif /* __ASSEMBLY__ */ 3493 3494 /* The byte offset of the ALT_UART_RFL register from the beginning of the component. */ 3495 #define ALT_UART_RFL_OFST 0x84 3496 /* The address of the ALT_UART_RFL register. */ 3497 #define ALT_UART_RFL_ADDR(base) ALT_CAST(void *, (ALT_CAST(char *, (base)) + ALT_UART_RFL_OFST)) 3498 3499 /* 3500 * Register : Software Reset Register - srr 3501 * 3502 * Provides Software Resets for Tx/Rx FIFO's and the uart. 3503 * 3504 * Register Layout 3505 * 3506 * Bits | Access | Reset | Description 3507 * :-------|:-------|:------|:-------------- 3508 * [0] | W | 0x0 | UART Reset 3509 * [1] | W | 0x0 | Rx FIFO Reset 3510 * [2] | W | 0x0 | Tx FIFO Reset 3511 * [31:3] | ??? | 0x0 | *UNDEFINED* 3512 * 3513 */ 3514 /* 3515 * Field : UART Reset - ur 3516 * 3517 * This asynchronously resets the UART and synchronously removes the reset 3518 * assertion. 3519 * 3520 * Field Enumeration Values: 3521 * 3522 * Enum | Value | Description 3523 * :------------------------|:------|:-------------- 3524 * ALT_UART_SRR_UR_E_NORST | 0x0 | No reset Uart 3525 * ALT_UART_SRR_UR_E_RST | 0x1 | Reset Uart 3526 * 3527 * Field Access Macros: 3528 * 3529 */ 3530 /* 3531 * Enumerated value for register field ALT_UART_SRR_UR 3532 * 3533 * No reset Uart 3534 */ 3535 #define ALT_UART_SRR_UR_E_NORST 0x0 3536 /* 3537 * Enumerated value for register field ALT_UART_SRR_UR 3538 * 3539 * Reset Uart 3540 */ 3541 #define ALT_UART_SRR_UR_E_RST 0x1 3542 3543 /* The Least Significant Bit (LSB) position of the ALT_UART_SRR_UR register field. */ 3544 #define ALT_UART_SRR_UR_LSB 0 3545 /* The Most Significant Bit (MSB) position of the ALT_UART_SRR_UR register field. */ 3546 #define ALT_UART_SRR_UR_MSB 0 3547 /* The width in bits of the ALT_UART_SRR_UR register field. */ 3548 #define ALT_UART_SRR_UR_WIDTH 1 3549 /* The mask used to set the ALT_UART_SRR_UR register field value. */ 3550 #define ALT_UART_SRR_UR_SET_MSK 0x00000001 3551 /* The mask used to clear the ALT_UART_SRR_UR register field value. */ 3552 #define ALT_UART_SRR_UR_CLR_MSK 0xfffffffe 3553 /* The reset value of the ALT_UART_SRR_UR register field. */ 3554 #define ALT_UART_SRR_UR_RESET 0x0 3555 /* Extracts the ALT_UART_SRR_UR field value from a register. */ 3556 #define ALT_UART_SRR_UR_GET(value) (((value) & 0x00000001) >> 0) 3557 /* Produces a ALT_UART_SRR_UR register field value suitable for setting the register. */ 3558 #define ALT_UART_SRR_UR_SET(value) (((value) << 0) & 0x00000001) 3559 3560 /* 3561 * Field : Rx FIFO Reset - rfr 3562 * 3563 * This is a shadow register for the Rx FIFO Reset bit (FCR[1]). This can be used 3564 * to remove the burden on software having to store previously written FCR values 3565 * (which are pretty static) just to reset the receive FIFO. This resets the 3566 * control portion of the receive FIFO and treats the FIFO as empty. This will also 3567 * de-assert the DMA Rx request and single signals. Note that this bit is 'self- 3568 * clearing' and it is not necessary to clear this bit. 3569 * 3570 * Field Enumeration Values: 3571 * 3572 * Enum | Value | Description 3573 * :-------------------------|:------|:----------------- 3574 * ALT_UART_SRR_RFR_E_NORST | 0x0 | No reset Rx FIFO 3575 * ALT_UART_SRR_RFR_E_RST | 0x1 | Reset Rx FIFO 3576 * 3577 * Field Access Macros: 3578 * 3579 */ 3580 /* 3581 * Enumerated value for register field ALT_UART_SRR_RFR 3582 * 3583 * No reset Rx FIFO 3584 */ 3585 #define ALT_UART_SRR_RFR_E_NORST 0x0 3586 /* 3587 * Enumerated value for register field ALT_UART_SRR_RFR 3588 * 3589 * Reset Rx FIFO 3590 */ 3591 #define ALT_UART_SRR_RFR_E_RST 0x1 3592 3593 /* The Least Significant Bit (LSB) position of the ALT_UART_SRR_RFR register field. */ 3594 #define ALT_UART_SRR_RFR_LSB 1 3595 /* The Most Significant Bit (MSB) position of the ALT_UART_SRR_RFR register field. */ 3596 #define ALT_UART_SRR_RFR_MSB 1 3597 /* The width in bits of the ALT_UART_SRR_RFR register field. */ 3598 #define ALT_UART_SRR_RFR_WIDTH 1 3599 /* The mask used to set the ALT_UART_SRR_RFR register field value. */ 3600 #define ALT_UART_SRR_RFR_SET_MSK 0x00000002 3601 /* The mask used to clear the ALT_UART_SRR_RFR register field value. */ 3602 #define ALT_UART_SRR_RFR_CLR_MSK 0xfffffffd 3603 /* The reset value of the ALT_UART_SRR_RFR register field. */ 3604 #define ALT_UART_SRR_RFR_RESET 0x0 3605 /* Extracts the ALT_UART_SRR_RFR field value from a register. */ 3606 #define ALT_UART_SRR_RFR_GET(value) (((value) & 0x00000002) >> 1) 3607 /* Produces a ALT_UART_SRR_RFR register field value suitable for setting the register. */ 3608 #define ALT_UART_SRR_RFR_SET(value) (((value) << 1) & 0x00000002) 3609 3610 /* 3611 * Field : Tx FIFO Reset - xfr 3612 * 3613 * This is a shadow register forthe Tx FIFO Reset bit (FCR[2]). This can be used 3614 * to remove the burden on software having to store previously written FCR values 3615 * (which are pretty static) just to reset the transmit FIFO.This resets the 3616 * control portion of the transmit FIFO and treats the FIFO as empty. This will 3617 * also de-assert the DMA Tx request and single signals. 3618 * 3619 * Field Enumeration Values: 3620 * 3621 * Enum | Value | Description 3622 * :-------------------------|:------|:----------------- 3623 * ALT_UART_SRR_XFR_E_NORST | 0x0 | No reset Tx FIFO 3624 * ALT_UART_SRR_XFR_E_RST | 0x1 | Reset Tx FIFO 3625 * 3626 * Field Access Macros: 3627 * 3628 */ 3629 /* 3630 * Enumerated value for register field ALT_UART_SRR_XFR 3631 * 3632 * No reset Tx FIFO 3633 */ 3634 #define ALT_UART_SRR_XFR_E_NORST 0x0 3635 /* 3636 * Enumerated value for register field ALT_UART_SRR_XFR 3637 * 3638 * Reset Tx FIFO 3639 */ 3640 #define ALT_UART_SRR_XFR_E_RST 0x1 3641 3642 /* The Least Significant Bit (LSB) position of the ALT_UART_SRR_XFR register field. */ 3643 #define ALT_UART_SRR_XFR_LSB 2 3644 /* The Most Significant Bit (MSB) position of the ALT_UART_SRR_XFR register field. */ 3645 #define ALT_UART_SRR_XFR_MSB 2 3646 /* The width in bits of the ALT_UART_SRR_XFR register field. */ 3647 #define ALT_UART_SRR_XFR_WIDTH 1 3648 /* The mask used to set the ALT_UART_SRR_XFR register field value. */ 3649 #define ALT_UART_SRR_XFR_SET_MSK 0x00000004 3650 /* The mask used to clear the ALT_UART_SRR_XFR register field value. */ 3651 #define ALT_UART_SRR_XFR_CLR_MSK 0xfffffffb 3652 /* The reset value of the ALT_UART_SRR_XFR register field. */ 3653 #define ALT_UART_SRR_XFR_RESET 0x0 3654 /* Extracts the ALT_UART_SRR_XFR field value from a register. */ 3655 #define ALT_UART_SRR_XFR_GET(value) (((value) & 0x00000004) >> 2) 3656 /* Produces a ALT_UART_SRR_XFR register field value suitable for setting the register. */ 3657 #define ALT_UART_SRR_XFR_SET(value) (((value) << 2) & 0x00000004) 3658 3659 #ifndef __ASSEMBLY__ 3660 /* 3661 * WARNING: The C register and register group struct declarations are provided for 3662 * convenience and illustrative purposes. They should, however, be used with 3663 * caution as the C language standard provides no guarantees about the alignment or 3664 * atomicity of device memory accesses. The recommended practice for writing 3665 * hardware drivers is to use the SoCAL access macros and alt_read_word() and 3666 * alt_write_word() functions. 3667 * 3668 * The struct declaration for register ALT_UART_SRR. 3669 */ 3670 struct ALT_UART_SRR_s 3671 { 3672 uint32_t ur : 1; /* UART Reset */ 3673 uint32_t rfr : 1; /* Rx FIFO Reset */ 3674 uint32_t xfr : 1; /* Tx FIFO Reset */ 3675 uint32_t : 29; /* *UNDEFINED* */ 3676 }; 3677 3678 /* The typedef declaration for register ALT_UART_SRR. */ 3679 typedef volatile struct ALT_UART_SRR_s ALT_UART_SRR_t; 3680 #endif /* __ASSEMBLY__ */ 3681 3682 /* The byte offset of the ALT_UART_SRR register from the beginning of the component. */ 3683 #define ALT_UART_SRR_OFST 0x88 3684 /* The address of the ALT_UART_SRR register. */ 3685 #define ALT_UART_SRR_ADDR(base) ALT_CAST(void *, (ALT_CAST(char *, (base)) + ALT_UART_SRR_OFST)) 3686 3687 /* 3688 * Register : Shadow Request to Send - srts 3689 * 3690 * This is a shadow register for the RTS status (MCR[1]), this can be used to 3691 * remove the burden of having to performing a read modify write on the MCR. 3692 * 3693 * Register Layout 3694 * 3695 * Bits | Access | Reset | Description 3696 * :-------|:-------|:------|:----------------------- 3697 * [0] | RW | 0x0 | Shadow Request to Send 3698 * [31:1] | ??? | 0x0 | *UNDEFINED* 3699 * 3700 */ 3701 /* 3702 * Field : Shadow Request to Send - srts 3703 * 3704 * This is used to directly control the Request to Send (uart_rts_n) output. The 3705 * Request to Send (uart_rts_n) output is used to inform the modem or data set that 3706 * the UART is read to exchange data. The uart_rts_n signal is set low by 3707 * programming MCR[1] (RTS) to a high. In Auto Flow Control, (MCR[5] set to one) 3708 * and FIFO's are enabled (FCR[0] set to one), the uart_rts_n output is controlled 3709 * in the same way, but is also gated with the receiver FIFO threshold trigger 3710 * (uart_rts_n is inactive high when above the threshold). 3711 * 3712 * Note that in Loopback mode (MCR[4] set to one), the uart_rts_n output is held 3713 * inactive high while the value of this location is internally looped back to an 3714 * input. 3715 * 3716 * Field Enumeration Values: 3717 * 3718 * Enum | Value | Description 3719 * :----------------------------|:------|:------------------ 3720 * ALT_UART_SRTS_SRTS_E_LOGIC0 | 0x1 | uart_rts_n logic0 3721 * ALT_UART_SRTS_SRTS_E_LOGIC1 | 0x0 | uart_rts_n logic1 3722 * 3723 * Field Access Macros: 3724 * 3725 */ 3726 /* 3727 * Enumerated value for register field ALT_UART_SRTS_SRTS 3728 * 3729 * uart_rts_n logic0 3730 */ 3731 #define ALT_UART_SRTS_SRTS_E_LOGIC0 0x1 3732 /* 3733 * Enumerated value for register field ALT_UART_SRTS_SRTS 3734 * 3735 * uart_rts_n logic1 3736 */ 3737 #define ALT_UART_SRTS_SRTS_E_LOGIC1 0x0 3738 3739 /* The Least Significant Bit (LSB) position of the ALT_UART_SRTS_SRTS register field. */ 3740 #define ALT_UART_SRTS_SRTS_LSB 0 3741 /* The Most Significant Bit (MSB) position of the ALT_UART_SRTS_SRTS register field. */ 3742 #define ALT_UART_SRTS_SRTS_MSB 0 3743 /* The width in bits of the ALT_UART_SRTS_SRTS register field. */ 3744 #define ALT_UART_SRTS_SRTS_WIDTH 1 3745 /* The mask used to set the ALT_UART_SRTS_SRTS register field value. */ 3746 #define ALT_UART_SRTS_SRTS_SET_MSK 0x00000001 3747 /* The mask used to clear the ALT_UART_SRTS_SRTS register field value. */ 3748 #define ALT_UART_SRTS_SRTS_CLR_MSK 0xfffffffe 3749 /* The reset value of the ALT_UART_SRTS_SRTS register field. */ 3750 #define ALT_UART_SRTS_SRTS_RESET 0x0 3751 /* Extracts the ALT_UART_SRTS_SRTS field value from a register. */ 3752 #define ALT_UART_SRTS_SRTS_GET(value) (((value) & 0x00000001) >> 0) 3753 /* Produces a ALT_UART_SRTS_SRTS register field value suitable for setting the register. */ 3754 #define ALT_UART_SRTS_SRTS_SET(value) (((value) << 0) & 0x00000001) 3755 3756 #ifndef __ASSEMBLY__ 3757 /* 3758 * WARNING: The C register and register group struct declarations are provided for 3759 * convenience and illustrative purposes. They should, however, be used with 3760 * caution as the C language standard provides no guarantees about the alignment or 3761 * atomicity of device memory accesses. The recommended practice for writing 3762 * hardware drivers is to use the SoCAL access macros and alt_read_word() and 3763 * alt_write_word() functions. 3764 * 3765 * The struct declaration for register ALT_UART_SRTS. 3766 */ 3767 struct ALT_UART_SRTS_s 3768 { 3769 uint32_t srts : 1; /* Shadow Request to Send */ 3770 uint32_t : 31; /* *UNDEFINED* */ 3771 }; 3772 3773 /* The typedef declaration for register ALT_UART_SRTS. */ 3774 typedef volatile struct ALT_UART_SRTS_s ALT_UART_SRTS_t; 3775 #endif /* __ASSEMBLY__ */ 3776 3777 /* The byte offset of the ALT_UART_SRTS register from the beginning of the component. */ 3778 #define ALT_UART_SRTS_OFST 0x8c 3779 /* The address of the ALT_UART_SRTS register. */ 3780 #define ALT_UART_SRTS_ADDR(base) ALT_CAST(void *, (ALT_CAST(char *, (base)) + ALT_UART_SRTS_OFST)) 3781 3782 /* 3783 * Register : Shadow Break Control Register - sbcr 3784 * 3785 * This is a shadow register for the Break bit [6] of the register LCR. This can be 3786 * used to remove the burden of having to performing a read modify write on the 3787 * LCR. 3788 * 3789 * Register Layout 3790 * 3791 * Bits | Access | Reset | Description 3792 * :-------|:-------|:------|:--------------------- 3793 * [0] | RW | 0x0 | Shadow Break Control 3794 * [31:1] | ??? | 0x0 | *UNDEFINED* 3795 * 3796 */ 3797 /* 3798 * Field : Shadow Break Control - sbcr 3799 * 3800 * This is used to cause a break condition to be transmitted to the receiving 3801 * device. If set to one the serial output is forced to the spacing (logic 0) 3802 * state. When not in Loopback Mode, as determined by MCR[4], the uart_txd line is 3803 * forced low until the Break bit is cleared. When in Loopback Mode, the break 3804 * condition is internally looped back to the receiver. 3805 * 3806 * Field Enumeration Values: 3807 * 3808 * Enum | Value | Description 3809 * :--------------------------|:------|:---------------------------- 3810 * ALT_UART_SBCR_SBCR_E_DISD | 0x0 | no break 3811 * ALT_UART_SBCR_SBCR_E_END | 0x1 | break serial output spacing 3812 * 3813 * Field Access Macros: 3814 * 3815 */ 3816 /* 3817 * Enumerated value for register field ALT_UART_SBCR_SBCR 3818 * 3819 * no break 3820 */ 3821 #define ALT_UART_SBCR_SBCR_E_DISD 0x0 3822 /* 3823 * Enumerated value for register field ALT_UART_SBCR_SBCR 3824 * 3825 * break serial output spacing 3826 */ 3827 #define ALT_UART_SBCR_SBCR_E_END 0x1 3828 3829 /* The Least Significant Bit (LSB) position of the ALT_UART_SBCR_SBCR register field. */ 3830 #define ALT_UART_SBCR_SBCR_LSB 0 3831 /* The Most Significant Bit (MSB) position of the ALT_UART_SBCR_SBCR register field. */ 3832 #define ALT_UART_SBCR_SBCR_MSB 0 3833 /* The width in bits of the ALT_UART_SBCR_SBCR register field. */ 3834 #define ALT_UART_SBCR_SBCR_WIDTH 1 3835 /* The mask used to set the ALT_UART_SBCR_SBCR register field value. */ 3836 #define ALT_UART_SBCR_SBCR_SET_MSK 0x00000001 3837 /* The mask used to clear the ALT_UART_SBCR_SBCR register field value. */ 3838 #define ALT_UART_SBCR_SBCR_CLR_MSK 0xfffffffe 3839 /* The reset value of the ALT_UART_SBCR_SBCR register field. */ 3840 #define ALT_UART_SBCR_SBCR_RESET 0x0 3841 /* Extracts the ALT_UART_SBCR_SBCR field value from a register. */ 3842 #define ALT_UART_SBCR_SBCR_GET(value) (((value) & 0x00000001) >> 0) 3843 /* Produces a ALT_UART_SBCR_SBCR register field value suitable for setting the register. */ 3844 #define ALT_UART_SBCR_SBCR_SET(value) (((value) << 0) & 0x00000001) 3845 3846 #ifndef __ASSEMBLY__ 3847 /* 3848 * WARNING: The C register and register group struct declarations are provided for 3849 * convenience and illustrative purposes. They should, however, be used with 3850 * caution as the C language standard provides no guarantees about the alignment or 3851 * atomicity of device memory accesses. The recommended practice for writing 3852 * hardware drivers is to use the SoCAL access macros and alt_read_word() and 3853 * alt_write_word() functions. 3854 * 3855 * The struct declaration for register ALT_UART_SBCR. 3856 */ 3857 struct ALT_UART_SBCR_s 3858 { 3859 uint32_t sbcr : 1; /* Shadow Break Control */ 3860 uint32_t : 31; /* *UNDEFINED* */ 3861 }; 3862 3863 /* The typedef declaration for register ALT_UART_SBCR. */ 3864 typedef volatile struct ALT_UART_SBCR_s ALT_UART_SBCR_t; 3865 #endif /* __ASSEMBLY__ */ 3866 3867 /* The byte offset of the ALT_UART_SBCR register from the beginning of the component. */ 3868 #define ALT_UART_SBCR_OFST 0x90 3869 /* The address of the ALT_UART_SBCR register. */ 3870 #define ALT_UART_SBCR_ADDR(base) ALT_CAST(void *, (ALT_CAST(char *, (base)) + ALT_UART_SBCR_OFST)) 3871 3872 /* 3873 * Register : Shadow DMA Mode - sdmam 3874 * 3875 * This is a shadow register for the DMA mode bit (FCR[3]). 3876 * 3877 * Register Layout 3878 * 3879 * Bits | Access | Reset | Description 3880 * :-------|:-------|:------|:---------------- 3881 * [0] | RW | 0x0 | Shadow DMA Mode 3882 * [31:1] | ??? | 0x0 | *UNDEFINED* 3883 * 3884 */ 3885 /* 3886 * Field : Shadow DMA Mode - sdmam 3887 * 3888 * This can be used to remove the burden of having to store the previously written 3889 * value to the FCR in memory and having to mask this value so that only the DMA 3890 * Mode bit gets updated. 3891 * 3892 * Field Enumeration Values: 3893 * 3894 * Enum | Value | Description 3895 * :------------------------------|:------|:--------------------------- 3896 * ALT_UART_SDMAM_SDMAM_E_SINGLE | 0x0 | Single DMA Transfer Mode 3897 * ALT_UART_SDMAM_SDMAM_E_MULT | 0x1 | Multiple DMA Transfer Mode 3898 * 3899 * Field Access Macros: 3900 * 3901 */ 3902 /* 3903 * Enumerated value for register field ALT_UART_SDMAM_SDMAM 3904 * 3905 * Single DMA Transfer Mode 3906 */ 3907 #define ALT_UART_SDMAM_SDMAM_E_SINGLE 0x0 3908 /* 3909 * Enumerated value for register field ALT_UART_SDMAM_SDMAM 3910 * 3911 * Multiple DMA Transfer Mode 3912 */ 3913 #define ALT_UART_SDMAM_SDMAM_E_MULT 0x1 3914 3915 /* The Least Significant Bit (LSB) position of the ALT_UART_SDMAM_SDMAM register field. */ 3916 #define ALT_UART_SDMAM_SDMAM_LSB 0 3917 /* The Most Significant Bit (MSB) position of the ALT_UART_SDMAM_SDMAM register field. */ 3918 #define ALT_UART_SDMAM_SDMAM_MSB 0 3919 /* The width in bits of the ALT_UART_SDMAM_SDMAM register field. */ 3920 #define ALT_UART_SDMAM_SDMAM_WIDTH 1 3921 /* The mask used to set the ALT_UART_SDMAM_SDMAM register field value. */ 3922 #define ALT_UART_SDMAM_SDMAM_SET_MSK 0x00000001 3923 /* The mask used to clear the ALT_UART_SDMAM_SDMAM register field value. */ 3924 #define ALT_UART_SDMAM_SDMAM_CLR_MSK 0xfffffffe 3925 /* The reset value of the ALT_UART_SDMAM_SDMAM register field. */ 3926 #define ALT_UART_SDMAM_SDMAM_RESET 0x0 3927 /* Extracts the ALT_UART_SDMAM_SDMAM field value from a register. */ 3928 #define ALT_UART_SDMAM_SDMAM_GET(value) (((value) & 0x00000001) >> 0) 3929 /* Produces a ALT_UART_SDMAM_SDMAM register field value suitable for setting the register. */ 3930 #define ALT_UART_SDMAM_SDMAM_SET(value) (((value) << 0) & 0x00000001) 3931 3932 #ifndef __ASSEMBLY__ 3933 /* 3934 * WARNING: The C register and register group struct declarations are provided for 3935 * convenience and illustrative purposes. They should, however, be used with 3936 * caution as the C language standard provides no guarantees about the alignment or 3937 * atomicity of device memory accesses. The recommended practice for writing 3938 * hardware drivers is to use the SoCAL access macros and alt_read_word() and 3939 * alt_write_word() functions. 3940 * 3941 * The struct declaration for register ALT_UART_SDMAM. 3942 */ 3943 struct ALT_UART_SDMAM_s 3944 { 3945 uint32_t sdmam : 1; /* Shadow DMA Mode */ 3946 uint32_t : 31; /* *UNDEFINED* */ 3947 }; 3948 3949 /* The typedef declaration for register ALT_UART_SDMAM. */ 3950 typedef volatile struct ALT_UART_SDMAM_s ALT_UART_SDMAM_t; 3951 #endif /* __ASSEMBLY__ */ 3952 3953 /* The byte offset of the ALT_UART_SDMAM register from the beginning of the component. */ 3954 #define ALT_UART_SDMAM_OFST 0x94 3955 /* The address of the ALT_UART_SDMAM register. */ 3956 #define ALT_UART_SDMAM_ADDR(base) ALT_CAST(void *, (ALT_CAST(char *, (base)) + ALT_UART_SDMAM_OFST)) 3957 3958 /* 3959 * Register : Shadow FIFO Enable - sfe 3960 * 3961 * This is a shadow register for the FIFO enable bit [0] of register FCR. 3962 * 3963 * Register Layout 3964 * 3965 * Bits | Access | Reset | Description 3966 * :-------|:-------|:------|:------------------- 3967 * [0] | RW | 0x0 | Shadow FIFO Enable 3968 * [31:1] | ??? | 0x0 | *UNDEFINED* 3969 * 3970 */ 3971 /* 3972 * Field : Shadow FIFO Enable - sfe 3973 * 3974 * This can be used to remove the burden of having to store the previously written 3975 * value to the FCR in memory and having to mask this value so that only the FIFO 3976 * enable bit gets updated. This enables/disables the transmit (Tx) and receive (Rx 3977 * ) FIFO's. If this bit is set to zero (disabled) after being enabled then both 3978 * the Tx and Rx controller portion of FIFO's will be reset. 3979 * 3980 * Field Enumeration Values: 3981 * 3982 * Enum | Value | Description 3983 * :------------------------|:------|:-------------- 3984 * ALT_UART_SFE_SFE_E_DISD | 0x0 | Disable Rx/Tx 3985 * ALT_UART_SFE_SFE_E_END | 0x1 | Enable Rx/Tx 3986 * 3987 * Field Access Macros: 3988 * 3989 */ 3990 /* 3991 * Enumerated value for register field ALT_UART_SFE_SFE 3992 * 3993 * Disable Rx/Tx 3994 */ 3995 #define ALT_UART_SFE_SFE_E_DISD 0x0 3996 /* 3997 * Enumerated value for register field ALT_UART_SFE_SFE 3998 * 3999 * Enable Rx/Tx 4000 */ 4001 #define ALT_UART_SFE_SFE_E_END 0x1 4002 4003 /* The Least Significant Bit (LSB) position of the ALT_UART_SFE_SFE register field. */ 4004 #define ALT_UART_SFE_SFE_LSB 0 4005 /* The Most Significant Bit (MSB) position of the ALT_UART_SFE_SFE register field. */ 4006 #define ALT_UART_SFE_SFE_MSB 0 4007 /* The width in bits of the ALT_UART_SFE_SFE register field. */ 4008 #define ALT_UART_SFE_SFE_WIDTH 1 4009 /* The mask used to set the ALT_UART_SFE_SFE register field value. */ 4010 #define ALT_UART_SFE_SFE_SET_MSK 0x00000001 4011 /* The mask used to clear the ALT_UART_SFE_SFE register field value. */ 4012 #define ALT_UART_SFE_SFE_CLR_MSK 0xfffffffe 4013 /* The reset value of the ALT_UART_SFE_SFE register field. */ 4014 #define ALT_UART_SFE_SFE_RESET 0x0 4015 /* Extracts the ALT_UART_SFE_SFE field value from a register. */ 4016 #define ALT_UART_SFE_SFE_GET(value) (((value) & 0x00000001) >> 0) 4017 /* Produces a ALT_UART_SFE_SFE register field value suitable for setting the register. */ 4018 #define ALT_UART_SFE_SFE_SET(value) (((value) << 0) & 0x00000001) 4019 4020 #ifndef __ASSEMBLY__ 4021 /* 4022 * WARNING: The C register and register group struct declarations are provided for 4023 * convenience and illustrative purposes. They should, however, be used with 4024 * caution as the C language standard provides no guarantees about the alignment or 4025 * atomicity of device memory accesses. The recommended practice for writing 4026 * hardware drivers is to use the SoCAL access macros and alt_read_word() and 4027 * alt_write_word() functions. 4028 * 4029 * The struct declaration for register ALT_UART_SFE. 4030 */ 4031 struct ALT_UART_SFE_s 4032 { 4033 uint32_t sfe : 1; /* Shadow FIFO Enable */ 4034 uint32_t : 31; /* *UNDEFINED* */ 4035 }; 4036 4037 /* The typedef declaration for register ALT_UART_SFE. */ 4038 typedef volatile struct ALT_UART_SFE_s ALT_UART_SFE_t; 4039 #endif /* __ASSEMBLY__ */ 4040 4041 /* The byte offset of the ALT_UART_SFE register from the beginning of the component. */ 4042 #define ALT_UART_SFE_OFST 0x98 4043 /* The address of the ALT_UART_SFE register. */ 4044 #define ALT_UART_SFE_ADDR(base) ALT_CAST(void *, (ALT_CAST(char *, (base)) + ALT_UART_SFE_OFST)) 4045 4046 /* 4047 * Register : Shadow Rx Trigger - srt 4048 * 4049 * This is a shadow register for the Rx trigger bits (FCR[7:6]). 4050 * 4051 * Register Layout 4052 * 4053 * Bits | Access | Reset | Description 4054 * :-------|:-------|:------|:------------------------ 4055 * [1:0] | RW | 0x0 | Shadow Rx Trigger Bits 4056 * [31:2] | ??? | 0x0 | *UNDEFINED* 4057 * 4058 */ 4059 /* 4060 * Field : Shadow Rx Trigger Bits - srt 4061 * 4062 * This can be used to remove the burden of having to store the previously written 4063 * value to the FCR in memory and having to mask this value so that only the Rx 4064 * trigger bit gets updated. This is used to select the trigger level in the 4065 * receiver FIFO at which the Received Data Available Interrupt will be generated. 4066 * It also determines when the uart_dma_rx_req_n signal will be asserted when DMA 4067 * Mode (FCR[3]) is set to one. The enum below shows trigger levels that are 4068 * supported. 4069 * 4070 * Field Enumeration Values: 4071 * 4072 * Enum | Value | Description 4073 * :-------------------------------|:------|:---------------------- 4074 * ALT_UART_SRT_SRT_E_ONECHAR | 0x0 | one character in fifo 4075 * ALT_UART_SRT_SRT_E_QUARTERFULL | 0x1 | FIFO 1/4 full 4076 * ALT_UART_SRT_SRT_E_HALFFULL | 0x2 | FIFO 1/2 full 4077 * ALT_UART_SRT_SRT_E_FULLLESS2 | 0x3 | FIFO 2 less than full 4078 * 4079 * Field Access Macros: 4080 * 4081 */ 4082 /* 4083 * Enumerated value for register field ALT_UART_SRT_SRT 4084 * 4085 * one character in fifo 4086 */ 4087 #define ALT_UART_SRT_SRT_E_ONECHAR 0x0 4088 /* 4089 * Enumerated value for register field ALT_UART_SRT_SRT 4090 * 4091 * FIFO 1/4 full 4092 */ 4093 #define ALT_UART_SRT_SRT_E_QUARTERFULL 0x1 4094 /* 4095 * Enumerated value for register field ALT_UART_SRT_SRT 4096 * 4097 * FIFO 1/2 full 4098 */ 4099 #define ALT_UART_SRT_SRT_E_HALFFULL 0x2 4100 /* 4101 * Enumerated value for register field ALT_UART_SRT_SRT 4102 * 4103 * FIFO 2 less than full 4104 */ 4105 #define ALT_UART_SRT_SRT_E_FULLLESS2 0x3 4106 4107 /* The Least Significant Bit (LSB) position of the ALT_UART_SRT_SRT register field. */ 4108 #define ALT_UART_SRT_SRT_LSB 0 4109 /* The Most Significant Bit (MSB) position of the ALT_UART_SRT_SRT register field. */ 4110 #define ALT_UART_SRT_SRT_MSB 1 4111 /* The width in bits of the ALT_UART_SRT_SRT register field. */ 4112 #define ALT_UART_SRT_SRT_WIDTH 2 4113 /* The mask used to set the ALT_UART_SRT_SRT register field value. */ 4114 #define ALT_UART_SRT_SRT_SET_MSK 0x00000003 4115 /* The mask used to clear the ALT_UART_SRT_SRT register field value. */ 4116 #define ALT_UART_SRT_SRT_CLR_MSK 0xfffffffc 4117 /* The reset value of the ALT_UART_SRT_SRT register field. */ 4118 #define ALT_UART_SRT_SRT_RESET 0x0 4119 /* Extracts the ALT_UART_SRT_SRT field value from a register. */ 4120 #define ALT_UART_SRT_SRT_GET(value) (((value) & 0x00000003) >> 0) 4121 /* Produces a ALT_UART_SRT_SRT register field value suitable for setting the register. */ 4122 #define ALT_UART_SRT_SRT_SET(value) (((value) << 0) & 0x00000003) 4123 4124 #ifndef __ASSEMBLY__ 4125 /* 4126 * WARNING: The C register and register group struct declarations are provided for 4127 * convenience and illustrative purposes. They should, however, be used with 4128 * caution as the C language standard provides no guarantees about the alignment or 4129 * atomicity of device memory accesses. The recommended practice for writing 4130 * hardware drivers is to use the SoCAL access macros and alt_read_word() and 4131 * alt_write_word() functions. 4132 * 4133 * The struct declaration for register ALT_UART_SRT. 4134 */ 4135 struct ALT_UART_SRT_s 4136 { 4137 uint32_t srt : 2; /* Shadow Rx Trigger Bits */ 4138 uint32_t : 30; /* *UNDEFINED* */ 4139 }; 4140 4141 /* The typedef declaration for register ALT_UART_SRT. */ 4142 typedef volatile struct ALT_UART_SRT_s ALT_UART_SRT_t; 4143 #endif /* __ASSEMBLY__ */ 4144 4145 /* The byte offset of the ALT_UART_SRT register from the beginning of the component. */ 4146 #define ALT_UART_SRT_OFST 0x9c 4147 /* The address of the ALT_UART_SRT register. */ 4148 #define ALT_UART_SRT_ADDR(base) ALT_CAST(void *, (ALT_CAST(char *, (base)) + ALT_UART_SRT_OFST)) 4149 4150 /* 4151 * Register : Shadow Tx Empty Trigger - stet 4152 * 4153 * This is a shadow register for the Tx empty trigger bits (FCR[5:4]). 4154 * 4155 * Register Layout 4156 * 4157 * Bits | Access | Reset | Description 4158 * :-------|:-------|:------|:----------------------------- 4159 * [1:0] | RW | 0x0 | Shadow Tx Empty Trigger Bits 4160 * [31:2] | ??? | 0x0 | *UNDEFINED* 4161 * 4162 */ 4163 /* 4164 * Field : Shadow Tx Empty Trigger Bits - stet 4165 * 4166 * This can be used to remove the burden of having to store the previously written 4167 * value to the FCR in memory and having to mask this value so that only the Tx 4168 * empty trigger bit gets updated. This is used to select the empty threshold level 4169 * at which the THRE Interrupts will be generated when the mode is active. These 4170 * threshold levels are also described in. The enum trigger levels are supported. 4171 * 4172 * Field Enumeration Values: 4173 * 4174 * Enum | Value | Description 4175 * :---------------------------------|:------|:----------------------- 4176 * ALT_UART_STET_STET_E_FIFOEMPTY | 0x0 | FIFO empty 4177 * ALT_UART_STET_STET_E_TWOCHARS | 0x1 | Two characters in FIFO 4178 * ALT_UART_STET_STET_E_QUARTERFULL | 0x2 | FIFO quarter full 4179 * ALT_UART_STET_STET_E_HALFFULL | 0x3 | FIFO half full 4180 * 4181 * Field Access Macros: 4182 * 4183 */ 4184 /* 4185 * Enumerated value for register field ALT_UART_STET_STET 4186 * 4187 * FIFO empty 4188 */ 4189 #define ALT_UART_STET_STET_E_FIFOEMPTY 0x0 4190 /* 4191 * Enumerated value for register field ALT_UART_STET_STET 4192 * 4193 * Two characters in FIFO 4194 */ 4195 #define ALT_UART_STET_STET_E_TWOCHARS 0x1 4196 /* 4197 * Enumerated value for register field ALT_UART_STET_STET 4198 * 4199 * FIFO quarter full 4200 */ 4201 #define ALT_UART_STET_STET_E_QUARTERFULL 0x2 4202 /* 4203 * Enumerated value for register field ALT_UART_STET_STET 4204 * 4205 * FIFO half full 4206 */ 4207 #define ALT_UART_STET_STET_E_HALFFULL 0x3 4208 4209 /* The Least Significant Bit (LSB) position of the ALT_UART_STET_STET register field. */ 4210 #define ALT_UART_STET_STET_LSB 0 4211 /* The Most Significant Bit (MSB) position of the ALT_UART_STET_STET register field. */ 4212 #define ALT_UART_STET_STET_MSB 1 4213 /* The width in bits of the ALT_UART_STET_STET register field. */ 4214 #define ALT_UART_STET_STET_WIDTH 2 4215 /* The mask used to set the ALT_UART_STET_STET register field value. */ 4216 #define ALT_UART_STET_STET_SET_MSK 0x00000003 4217 /* The mask used to clear the ALT_UART_STET_STET register field value. */ 4218 #define ALT_UART_STET_STET_CLR_MSK 0xfffffffc 4219 /* The reset value of the ALT_UART_STET_STET register field. */ 4220 #define ALT_UART_STET_STET_RESET 0x0 4221 /* Extracts the ALT_UART_STET_STET field value from a register. */ 4222 #define ALT_UART_STET_STET_GET(value) (((value) & 0x00000003) >> 0) 4223 /* Produces a ALT_UART_STET_STET register field value suitable for setting the register. */ 4224 #define ALT_UART_STET_STET_SET(value) (((value) << 0) & 0x00000003) 4225 4226 #ifndef __ASSEMBLY__ 4227 /* 4228 * WARNING: The C register and register group struct declarations are provided for 4229 * convenience and illustrative purposes. They should, however, be used with 4230 * caution as the C language standard provides no guarantees about the alignment or 4231 * atomicity of device memory accesses. The recommended practice for writing 4232 * hardware drivers is to use the SoCAL access macros and alt_read_word() and 4233 * alt_write_word() functions. 4234 * 4235 * The struct declaration for register ALT_UART_STET. 4236 */ 4237 struct ALT_UART_STET_s 4238 { 4239 uint32_t stet : 2; /* Shadow Tx Empty Trigger Bits */ 4240 uint32_t : 30; /* *UNDEFINED* */ 4241 }; 4242 4243 /* The typedef declaration for register ALT_UART_STET. */ 4244 typedef volatile struct ALT_UART_STET_s ALT_UART_STET_t; 4245 #endif /* __ASSEMBLY__ */ 4246 4247 /* The byte offset of the ALT_UART_STET register from the beginning of the component. */ 4248 #define ALT_UART_STET_OFST 0xa0 4249 /* The address of the ALT_UART_STET register. */ 4250 #define ALT_UART_STET_ADDR(base) ALT_CAST(void *, (ALT_CAST(char *, (base)) + ALT_UART_STET_OFST)) 4251 4252 /* 4253 * Register : Halt Tx - htx 4254 * 4255 * Used to halt transmission for testing. 4256 * 4257 * Register Layout 4258 * 4259 * Bits | Access | Reset | Description 4260 * :-------|:-------|:------|:------------- 4261 * [0] | RW | 0x0 | Halt Tx Bits 4262 * [31:1] | ??? | 0x0 | *UNDEFINED* 4263 * 4264 */ 4265 /* 4266 * Field : Halt Tx Bits - htx 4267 * 4268 * This register is use to halt transmissions for testing, so that the transmit 4269 * FIFO can be filled by the master when FIFO's are enabled. 4270 * 4271 * Note, if FIFO's are not enabled, the setting of the halt Tx register will have 4272 * no effect on operation. 4273 * 4274 * Field Enumeration Values: 4275 * 4276 * Enum | Value | Description 4277 * :------------------------|:------|:----------------- 4278 * ALT_UART_HTX_HTX_E_DISD | 0x0 | Halt Tx disabled 4279 * ALT_UART_HTX_HTX_E_END | 0x1 | Halt Tx enabled 4280 * 4281 * Field Access Macros: 4282 * 4283 */ 4284 /* 4285 * Enumerated value for register field ALT_UART_HTX_HTX 4286 * 4287 * Halt Tx disabled 4288 */ 4289 #define ALT_UART_HTX_HTX_E_DISD 0x0 4290 /* 4291 * Enumerated value for register field ALT_UART_HTX_HTX 4292 * 4293 * Halt Tx enabled 4294 */ 4295 #define ALT_UART_HTX_HTX_E_END 0x1 4296 4297 /* The Least Significant Bit (LSB) position of the ALT_UART_HTX_HTX register field. */ 4298 #define ALT_UART_HTX_HTX_LSB 0 4299 /* The Most Significant Bit (MSB) position of the ALT_UART_HTX_HTX register field. */ 4300 #define ALT_UART_HTX_HTX_MSB 0 4301 /* The width in bits of the ALT_UART_HTX_HTX register field. */ 4302 #define ALT_UART_HTX_HTX_WIDTH 1 4303 /* The mask used to set the ALT_UART_HTX_HTX register field value. */ 4304 #define ALT_UART_HTX_HTX_SET_MSK 0x00000001 4305 /* The mask used to clear the ALT_UART_HTX_HTX register field value. */ 4306 #define ALT_UART_HTX_HTX_CLR_MSK 0xfffffffe 4307 /* The reset value of the ALT_UART_HTX_HTX register field. */ 4308 #define ALT_UART_HTX_HTX_RESET 0x0 4309 /* Extracts the ALT_UART_HTX_HTX field value from a register. */ 4310 #define ALT_UART_HTX_HTX_GET(value) (((value) & 0x00000001) >> 0) 4311 /* Produces a ALT_UART_HTX_HTX register field value suitable for setting the register. */ 4312 #define ALT_UART_HTX_HTX_SET(value) (((value) << 0) & 0x00000001) 4313 4314 #ifndef __ASSEMBLY__ 4315 /* 4316 * WARNING: The C register and register group struct declarations are provided for 4317 * convenience and illustrative purposes. They should, however, be used with 4318 * caution as the C language standard provides no guarantees about the alignment or 4319 * atomicity of device memory accesses. The recommended practice for writing 4320 * hardware drivers is to use the SoCAL access macros and alt_read_word() and 4321 * alt_write_word() functions. 4322 * 4323 * The struct declaration for register ALT_UART_HTX. 4324 */ 4325 struct ALT_UART_HTX_s 4326 { 4327 uint32_t htx : 1; /* Halt Tx Bits */ 4328 uint32_t : 31; /* *UNDEFINED* */ 4329 }; 4330 4331 /* The typedef declaration for register ALT_UART_HTX. */ 4332 typedef volatile struct ALT_UART_HTX_s ALT_UART_HTX_t; 4333 #endif /* __ASSEMBLY__ */ 4334 4335 /* The byte offset of the ALT_UART_HTX register from the beginning of the component. */ 4336 #define ALT_UART_HTX_OFST 0xa4 4337 /* The address of the ALT_UART_HTX register. */ 4338 #define ALT_UART_HTX_ADDR(base) ALT_CAST(void *, (ALT_CAST(char *, (base)) + ALT_UART_HTX_OFST)) 4339 4340 /* 4341 * Register : DMA Software Acknowledge - dmasa 4342 * 4343 * DMA Operation Control 4344 * 4345 * Register Layout 4346 * 4347 * Bits | Access | Reset | Description 4348 * :-------|:-------|:------|:------------------------------ 4349 * [0] | W | 0x0 | DMA Software Acknowledge Bits 4350 * [31:1] | ??? | 0x0 | *UNDEFINED* 4351 * 4352 */ 4353 /* 4354 * Field : DMA Software Acknowledge Bits - dmasa 4355 * 4356 * This register is used to perform DMA software acknowledge if a transfer needs to 4357 * be terminated due to an error condition. For example, if the DMA disables the 4358 * channel, then the uart should clear its request. This will cause the Tx request, 4359 * Tx single, Rx request and Rx single signals to de-assert. Note that this bit is 4360 * 'self-clearing' and it is not necessary to clear this bit. 4361 * 4362 * Field Access Macros: 4363 * 4364 */ 4365 /* The Least Significant Bit (LSB) position of the ALT_UART_DMASA_DMASA register field. */ 4366 #define ALT_UART_DMASA_DMASA_LSB 0 4367 /* The Most Significant Bit (MSB) position of the ALT_UART_DMASA_DMASA register field. */ 4368 #define ALT_UART_DMASA_DMASA_MSB 0 4369 /* The width in bits of the ALT_UART_DMASA_DMASA register field. */ 4370 #define ALT_UART_DMASA_DMASA_WIDTH 1 4371 /* The mask used to set the ALT_UART_DMASA_DMASA register field value. */ 4372 #define ALT_UART_DMASA_DMASA_SET_MSK 0x00000001 4373 /* The mask used to clear the ALT_UART_DMASA_DMASA register field value. */ 4374 #define ALT_UART_DMASA_DMASA_CLR_MSK 0xfffffffe 4375 /* The reset value of the ALT_UART_DMASA_DMASA register field. */ 4376 #define ALT_UART_DMASA_DMASA_RESET 0x0 4377 /* Extracts the ALT_UART_DMASA_DMASA field value from a register. */ 4378 #define ALT_UART_DMASA_DMASA_GET(value) (((value) & 0x00000001) >> 0) 4379 /* Produces a ALT_UART_DMASA_DMASA register field value suitable for setting the register. */ 4380 #define ALT_UART_DMASA_DMASA_SET(value) (((value) << 0) & 0x00000001) 4381 4382 #ifndef __ASSEMBLY__ 4383 /* 4384 * WARNING: The C register and register group struct declarations are provided for 4385 * convenience and illustrative purposes. They should, however, be used with 4386 * caution as the C language standard provides no guarantees about the alignment or 4387 * atomicity of device memory accesses. The recommended practice for writing 4388 * hardware drivers is to use the SoCAL access macros and alt_read_word() and 4389 * alt_write_word() functions. 4390 * 4391 * The struct declaration for register ALT_UART_DMASA. 4392 */ 4393 struct ALT_UART_DMASA_s 4394 { 4395 uint32_t dmasa : 1; /* DMA Software Acknowledge Bits */ 4396 uint32_t : 31; /* *UNDEFINED* */ 4397 }; 4398 4399 /* The typedef declaration for register ALT_UART_DMASA. */ 4400 typedef volatile struct ALT_UART_DMASA_s ALT_UART_DMASA_t; 4401 #endif /* __ASSEMBLY__ */ 4402 4403 /* The byte offset of the ALT_UART_DMASA register from the beginning of the component. */ 4404 #define ALT_UART_DMASA_OFST 0xa8 4405 /* The address of the ALT_UART_DMASA register. */ 4406 #define ALT_UART_DMASA_ADDR(base) ALT_CAST(void *, (ALT_CAST(char *, (base)) + ALT_UART_DMASA_OFST)) 4407 4408 /* 4409 * Register : Component Parameter Register - cpr 4410 * 4411 * Describes various fixed hardware setups states. 4412 * 4413 * Register Layout 4414 * 4415 * Bits | Access | Reset | Description 4416 * :--------|:-------|:------|:---------------------------------- 4417 * [1:0] | R | 0x2 | APB DATA WIDTH 4418 * [3:2] | ??? | 0x0 | *UNDEFINED* 4419 * [4] | R | 0x1 | Auto Flow Control 4420 * [5] | R | 0x1 | THRE MODE 4421 * [6] | R | 0x0 | SIR MODE Unsupported 4422 * [7] | R | 0x0 | SIR LP MODE Unsupported 4423 * [8] | R | 0x1 | ADDITIONAL FEATURES Supported 4424 * [9] | R | 0x1 | FIFO ACCESS Supported 4425 * [10] | R | 0x1 | FIFO STAT Supported 4426 * [11] | R | 0x1 | SHADOW Supported 4427 * [12] | R | 0x1 | Configuartion ID Register Present 4428 * [13] | R | 0x1 | DMA EXTRA Supported 4429 * [15:14] | ??? | 0x0 | *UNDEFINED* 4430 * [23:16] | R | 0x37 | FIFO Depth 4431 * [31:24] | ??? | 0x0 | *UNDEFINED* 4432 * 4433 */ 4434 /* 4435 * Field : APB DATA WIDTH - apbdatawidth 4436 * 4437 * Fixed to support an ABP data bus width of 32-bits. 4438 * 4439 * Field Enumeration Values: 4440 * 4441 * Enum | Value | Description 4442 * :----------------------------------------|:------|:------------------------- 4443 * ALT_UART_CPR_APBDATAWIDTH_E_WIDTH32BITS | 0x2 | APB Data Width = 32-bits 4444 * 4445 * Field Access Macros: 4446 * 4447 */ 4448 /* 4449 * Enumerated value for register field ALT_UART_CPR_APBDATAWIDTH 4450 * 4451 * APB Data Width = 32-bits 4452 */ 4453 #define ALT_UART_CPR_APBDATAWIDTH_E_WIDTH32BITS 0x2 4454 4455 /* The Least Significant Bit (LSB) position of the ALT_UART_CPR_APBDATAWIDTH register field. */ 4456 #define ALT_UART_CPR_APBDATAWIDTH_LSB 0 4457 /* The Most Significant Bit (MSB) position of the ALT_UART_CPR_APBDATAWIDTH register field. */ 4458 #define ALT_UART_CPR_APBDATAWIDTH_MSB 1 4459 /* The width in bits of the ALT_UART_CPR_APBDATAWIDTH register field. */ 4460 #define ALT_UART_CPR_APBDATAWIDTH_WIDTH 2 4461 /* The mask used to set the ALT_UART_CPR_APBDATAWIDTH register field value. */ 4462 #define ALT_UART_CPR_APBDATAWIDTH_SET_MSK 0x00000003 4463 /* The mask used to clear the ALT_UART_CPR_APBDATAWIDTH register field value. */ 4464 #define ALT_UART_CPR_APBDATAWIDTH_CLR_MSK 0xfffffffc 4465 /* The reset value of the ALT_UART_CPR_APBDATAWIDTH register field. */ 4466 #define ALT_UART_CPR_APBDATAWIDTH_RESET 0x2 4467 /* Extracts the ALT_UART_CPR_APBDATAWIDTH field value from a register. */ 4468 #define ALT_UART_CPR_APBDATAWIDTH_GET(value) (((value) & 0x00000003) >> 0) 4469 /* Produces a ALT_UART_CPR_APBDATAWIDTH register field value suitable for setting the register. */ 4470 #define ALT_UART_CPR_APBDATAWIDTH_SET(value) (((value) << 0) & 0x00000003) 4471 4472 /* 4473 * Field : Auto Flow Control - afce_mode 4474 * 4475 * Allows auto flow control. 4476 * 4477 * Field Enumeration Values: 4478 * 4479 * Enum | Value | Description 4480 * :----------------------------|:------|:------------ 4481 * ALT_UART_CPR_AFCE_MOD_E_END | 0x1 | Auto Flow 4482 * 4483 * Field Access Macros: 4484 * 4485 */ 4486 /* 4487 * Enumerated value for register field ALT_UART_CPR_AFCE_MOD 4488 * 4489 * Auto Flow 4490 */ 4491 #define ALT_UART_CPR_AFCE_MOD_E_END 0x1 4492 4493 /* The Least Significant Bit (LSB) position of the ALT_UART_CPR_AFCE_MOD register field. */ 4494 #define ALT_UART_CPR_AFCE_MOD_LSB 4 4495 /* The Most Significant Bit (MSB) position of the ALT_UART_CPR_AFCE_MOD register field. */ 4496 #define ALT_UART_CPR_AFCE_MOD_MSB 4 4497 /* The width in bits of the ALT_UART_CPR_AFCE_MOD register field. */ 4498 #define ALT_UART_CPR_AFCE_MOD_WIDTH 1 4499 /* The mask used to set the ALT_UART_CPR_AFCE_MOD register field value. */ 4500 #define ALT_UART_CPR_AFCE_MOD_SET_MSK 0x00000010 4501 /* The mask used to clear the ALT_UART_CPR_AFCE_MOD register field value. */ 4502 #define ALT_UART_CPR_AFCE_MOD_CLR_MSK 0xffffffef 4503 /* The reset value of the ALT_UART_CPR_AFCE_MOD register field. */ 4504 #define ALT_UART_CPR_AFCE_MOD_RESET 0x1 4505 /* Extracts the ALT_UART_CPR_AFCE_MOD field value from a register. */ 4506 #define ALT_UART_CPR_AFCE_MOD_GET(value) (((value) & 0x00000010) >> 4) 4507 /* Produces a ALT_UART_CPR_AFCE_MOD register field value suitable for setting the register. */ 4508 #define ALT_UART_CPR_AFCE_MOD_SET(value) (((value) << 4) & 0x00000010) 4509 4510 /* 4511 * Field : THRE MODE - thre_mode 4512 * 4513 * Programmable Transmitter Hold Register Empty interrupt 4514 * 4515 * Field Enumeration Values: 4516 * 4517 * Enum | Value | Description 4518 * :----------------------------|:------|:------------------------------------------ 4519 * ALT_UART_CPR_THRE_MOD_E_END | 0x1 | Programmable Tx Hold Reg. Empty interrupt 4520 * : | | present 4521 * 4522 * Field Access Macros: 4523 * 4524 */ 4525 /* 4526 * Enumerated value for register field ALT_UART_CPR_THRE_MOD 4527 * 4528 * Programmable Tx Hold Reg. Empty interrupt present 4529 */ 4530 #define ALT_UART_CPR_THRE_MOD_E_END 0x1 4531 4532 /* The Least Significant Bit (LSB) position of the ALT_UART_CPR_THRE_MOD register field. */ 4533 #define ALT_UART_CPR_THRE_MOD_LSB 5 4534 /* The Most Significant Bit (MSB) position of the ALT_UART_CPR_THRE_MOD register field. */ 4535 #define ALT_UART_CPR_THRE_MOD_MSB 5 4536 /* The width in bits of the ALT_UART_CPR_THRE_MOD register field. */ 4537 #define ALT_UART_CPR_THRE_MOD_WIDTH 1 4538 /* The mask used to set the ALT_UART_CPR_THRE_MOD register field value. */ 4539 #define ALT_UART_CPR_THRE_MOD_SET_MSK 0x00000020 4540 /* The mask used to clear the ALT_UART_CPR_THRE_MOD register field value. */ 4541 #define ALT_UART_CPR_THRE_MOD_CLR_MSK 0xffffffdf 4542 /* The reset value of the ALT_UART_CPR_THRE_MOD register field. */ 4543 #define ALT_UART_CPR_THRE_MOD_RESET 0x1 4544 /* Extracts the ALT_UART_CPR_THRE_MOD field value from a register. */ 4545 #define ALT_UART_CPR_THRE_MOD_GET(value) (((value) & 0x00000020) >> 5) 4546 /* Produces a ALT_UART_CPR_THRE_MOD register field value suitable for setting the register. */ 4547 #define ALT_UART_CPR_THRE_MOD_SET(value) (((value) << 5) & 0x00000020) 4548 4549 /* 4550 * Field : SIR MODE Unsupported - sir_mode 4551 * 4552 * Sir mode not used in this application. 4553 * 4554 * Field Enumeration Values: 4555 * 4556 * Enum | Value | Description 4557 * :----------------------------|:------|:----------------------- 4558 * ALT_UART_CPR_SIR_MOD_E_DISD | 0x0 | Sir Mode Not Supported 4559 * 4560 * Field Access Macros: 4561 * 4562 */ 4563 /* 4564 * Enumerated value for register field ALT_UART_CPR_SIR_MOD 4565 * 4566 * Sir Mode Not Supported 4567 */ 4568 #define ALT_UART_CPR_SIR_MOD_E_DISD 0x0 4569 4570 /* The Least Significant Bit (LSB) position of the ALT_UART_CPR_SIR_MOD register field. */ 4571 #define ALT_UART_CPR_SIR_MOD_LSB 6 4572 /* The Most Significant Bit (MSB) position of the ALT_UART_CPR_SIR_MOD register field. */ 4573 #define ALT_UART_CPR_SIR_MOD_MSB 6 4574 /* The width in bits of the ALT_UART_CPR_SIR_MOD register field. */ 4575 #define ALT_UART_CPR_SIR_MOD_WIDTH 1 4576 /* The mask used to set the ALT_UART_CPR_SIR_MOD register field value. */ 4577 #define ALT_UART_CPR_SIR_MOD_SET_MSK 0x00000040 4578 /* The mask used to clear the ALT_UART_CPR_SIR_MOD register field value. */ 4579 #define ALT_UART_CPR_SIR_MOD_CLR_MSK 0xffffffbf 4580 /* The reset value of the ALT_UART_CPR_SIR_MOD register field. */ 4581 #define ALT_UART_CPR_SIR_MOD_RESET 0x0 4582 /* Extracts the ALT_UART_CPR_SIR_MOD field value from a register. */ 4583 #define ALT_UART_CPR_SIR_MOD_GET(value) (((value) & 0x00000040) >> 6) 4584 /* Produces a ALT_UART_CPR_SIR_MOD register field value suitable for setting the register. */ 4585 #define ALT_UART_CPR_SIR_MOD_SET(value) (((value) << 6) & 0x00000040) 4586 4587 /* 4588 * Field : SIR LP MODE Unsupported - sir_lp_mode 4589 * 4590 * LP Sir Mode not used in this application. 4591 * 4592 * Field Enumeration Values: 4593 * 4594 * Enum | Value | Description 4595 * :-------------------------------|:------|:-------------------------- 4596 * ALT_UART_CPR_SIR_LP_MOD_E_DISD | 0x0 | LP Sir Mode Not Supported 4597 * 4598 * Field Access Macros: 4599 * 4600 */ 4601 /* 4602 * Enumerated value for register field ALT_UART_CPR_SIR_LP_MOD 4603 * 4604 * LP Sir Mode Not Supported 4605 */ 4606 #define ALT_UART_CPR_SIR_LP_MOD_E_DISD 0x0 4607 4608 /* The Least Significant Bit (LSB) position of the ALT_UART_CPR_SIR_LP_MOD register field. */ 4609 #define ALT_UART_CPR_SIR_LP_MOD_LSB 7 4610 /* The Most Significant Bit (MSB) position of the ALT_UART_CPR_SIR_LP_MOD register field. */ 4611 #define ALT_UART_CPR_SIR_LP_MOD_MSB 7 4612 /* The width in bits of the ALT_UART_CPR_SIR_LP_MOD register field. */ 4613 #define ALT_UART_CPR_SIR_LP_MOD_WIDTH 1 4614 /* The mask used to set the ALT_UART_CPR_SIR_LP_MOD register field value. */ 4615 #define ALT_UART_CPR_SIR_LP_MOD_SET_MSK 0x00000080 4616 /* The mask used to clear the ALT_UART_CPR_SIR_LP_MOD register field value. */ 4617 #define ALT_UART_CPR_SIR_LP_MOD_CLR_MSK 0xffffff7f 4618 /* The reset value of the ALT_UART_CPR_SIR_LP_MOD register field. */ 4619 #define ALT_UART_CPR_SIR_LP_MOD_RESET 0x0 4620 /* Extracts the ALT_UART_CPR_SIR_LP_MOD field value from a register. */ 4621 #define ALT_UART_CPR_SIR_LP_MOD_GET(value) (((value) & 0x00000080) >> 7) 4622 /* Produces a ALT_UART_CPR_SIR_LP_MOD register field value suitable for setting the register. */ 4623 #define ALT_UART_CPR_SIR_LP_MOD_SET(value) (((value) << 7) & 0x00000080) 4624 4625 /* 4626 * Field : ADDITIONAL FEATURES Supported - additional_feat 4627 * 4628 * Configures the uart to include fifo status register, shadow registers and 4629 * encoded parameter register. 4630 * 4631 * Field Enumeration Values: 4632 * 4633 * Enum | Value | Description 4634 * :-----------------------------------|:------|:------------------------------ 4635 * ALT_UART_CPR_ADDITIONAL_FEAT_E_END | 0x1 | Additional Features Supported 4636 * 4637 * Field Access Macros: 4638 * 4639 */ 4640 /* 4641 * Enumerated value for register field ALT_UART_CPR_ADDITIONAL_FEAT 4642 * 4643 * Additional Features Supported 4644 */ 4645 #define ALT_UART_CPR_ADDITIONAL_FEAT_E_END 0x1 4646 4647 /* The Least Significant Bit (LSB) position of the ALT_UART_CPR_ADDITIONAL_FEAT register field. */ 4648 #define ALT_UART_CPR_ADDITIONAL_FEAT_LSB 8 4649 /* The Most Significant Bit (MSB) position of the ALT_UART_CPR_ADDITIONAL_FEAT register field. */ 4650 #define ALT_UART_CPR_ADDITIONAL_FEAT_MSB 8 4651 /* The width in bits of the ALT_UART_CPR_ADDITIONAL_FEAT register field. */ 4652 #define ALT_UART_CPR_ADDITIONAL_FEAT_WIDTH 1 4653 /* The mask used to set the ALT_UART_CPR_ADDITIONAL_FEAT register field value. */ 4654 #define ALT_UART_CPR_ADDITIONAL_FEAT_SET_MSK 0x00000100 4655 /* The mask used to clear the ALT_UART_CPR_ADDITIONAL_FEAT register field value. */ 4656 #define ALT_UART_CPR_ADDITIONAL_FEAT_CLR_MSK 0xfffffeff 4657 /* The reset value of the ALT_UART_CPR_ADDITIONAL_FEAT register field. */ 4658 #define ALT_UART_CPR_ADDITIONAL_FEAT_RESET 0x1 4659 /* Extracts the ALT_UART_CPR_ADDITIONAL_FEAT field value from a register. */ 4660 #define ALT_UART_CPR_ADDITIONAL_FEAT_GET(value) (((value) & 0x00000100) >> 8) 4661 /* Produces a ALT_UART_CPR_ADDITIONAL_FEAT register field value suitable for setting the register. */ 4662 #define ALT_UART_CPR_ADDITIONAL_FEAT_SET(value) (((value) << 8) & 0x00000100) 4663 4664 /* 4665 * Field : FIFO ACCESS Supported - fifo_access 4666 * 4667 * Configures the peripheral to have a programmable FIFO access mode. This is used 4668 * for test purposes, to allow the receiver FIFO to be written and the transmit 4669 * FIFO to be read when FIFOs are implemented and enabled. 4670 * 4671 * Field Enumeration Values: 4672 * 4673 * Enum | Value | Description 4674 * :-------------------------------|:------|:---------------------- 4675 * ALT_UART_CPR_FIFO_ACCESS_E_END | 0x1 | FIFO Access Supported 4676 * 4677 * Field Access Macros: 4678 * 4679 */ 4680 /* 4681 * Enumerated value for register field ALT_UART_CPR_FIFO_ACCESS 4682 * 4683 * FIFO Access Supported 4684 */ 4685 #define ALT_UART_CPR_FIFO_ACCESS_E_END 0x1 4686 4687 /* The Least Significant Bit (LSB) position of the ALT_UART_CPR_FIFO_ACCESS register field. */ 4688 #define ALT_UART_CPR_FIFO_ACCESS_LSB 9 4689 /* The Most Significant Bit (MSB) position of the ALT_UART_CPR_FIFO_ACCESS register field. */ 4690 #define ALT_UART_CPR_FIFO_ACCESS_MSB 9 4691 /* The width in bits of the ALT_UART_CPR_FIFO_ACCESS register field. */ 4692 #define ALT_UART_CPR_FIFO_ACCESS_WIDTH 1 4693 /* The mask used to set the ALT_UART_CPR_FIFO_ACCESS register field value. */ 4694 #define ALT_UART_CPR_FIFO_ACCESS_SET_MSK 0x00000200 4695 /* The mask used to clear the ALT_UART_CPR_FIFO_ACCESS register field value. */ 4696 #define ALT_UART_CPR_FIFO_ACCESS_CLR_MSK 0xfffffdff 4697 /* The reset value of the ALT_UART_CPR_FIFO_ACCESS register field. */ 4698 #define ALT_UART_CPR_FIFO_ACCESS_RESET 0x1 4699 /* Extracts the ALT_UART_CPR_FIFO_ACCESS field value from a register. */ 4700 #define ALT_UART_CPR_FIFO_ACCESS_GET(value) (((value) & 0x00000200) >> 9) 4701 /* Produces a ALT_UART_CPR_FIFO_ACCESS register field value suitable for setting the register. */ 4702 #define ALT_UART_CPR_FIFO_ACCESS_SET(value) (((value) << 9) & 0x00000200) 4703 4704 /* 4705 * Field : FIFO STAT Supported - fifo_stat 4706 * 4707 * Configures the peripheral to have three additional FIFO status registers. 4708 * 4709 * Field Enumeration Values: 4710 * 4711 * Enum | Value | Description 4712 * :-----------------------------|:------|:-------------------- 4713 * ALT_UART_CPR_FIFO_STAT_E_END | 0x1 | FIFO Stat Supported 4714 * 4715 * Field Access Macros: 4716 * 4717 */ 4718 /* 4719 * Enumerated value for register field ALT_UART_CPR_FIFO_STAT 4720 * 4721 * FIFO Stat Supported 4722 */ 4723 #define ALT_UART_CPR_FIFO_STAT_E_END 0x1 4724 4725 /* The Least Significant Bit (LSB) position of the ALT_UART_CPR_FIFO_STAT register field. */ 4726 #define ALT_UART_CPR_FIFO_STAT_LSB 10 4727 /* The Most Significant Bit (MSB) position of the ALT_UART_CPR_FIFO_STAT register field. */ 4728 #define ALT_UART_CPR_FIFO_STAT_MSB 10 4729 /* The width in bits of the ALT_UART_CPR_FIFO_STAT register field. */ 4730 #define ALT_UART_CPR_FIFO_STAT_WIDTH 1 4731 /* The mask used to set the ALT_UART_CPR_FIFO_STAT register field value. */ 4732 #define ALT_UART_CPR_FIFO_STAT_SET_MSK 0x00000400 4733 /* The mask used to clear the ALT_UART_CPR_FIFO_STAT register field value. */ 4734 #define ALT_UART_CPR_FIFO_STAT_CLR_MSK 0xfffffbff 4735 /* The reset value of the ALT_UART_CPR_FIFO_STAT register field. */ 4736 #define ALT_UART_CPR_FIFO_STAT_RESET 0x1 4737 /* Extracts the ALT_UART_CPR_FIFO_STAT field value from a register. */ 4738 #define ALT_UART_CPR_FIFO_STAT_GET(value) (((value) & 0x00000400) >> 10) 4739 /* Produces a ALT_UART_CPR_FIFO_STAT register field value suitable for setting the register. */ 4740 #define ALT_UART_CPR_FIFO_STAT_SET(value) (((value) << 10) & 0x00000400) 4741 4742 /* 4743 * Field : SHADOW Supported - shadow 4744 * 4745 * Configures the peripheral to have seven additional registers that shadow some of 4746 * the existing register bits that are regularly modified by software. These can be 4747 * used to reduce the software overhead that is introduced by having to perform 4748 * read-modify writes. 4749 * 4750 * Field Enumeration Values: 4751 * 4752 * Enum | Value | Description 4753 * :--------------------------|:------|:----------------- 4754 * ALT_UART_CPR_SHADOW_E_END | 0x1 | Shadow Supported 4755 * 4756 * Field Access Macros: 4757 * 4758 */ 4759 /* 4760 * Enumerated value for register field ALT_UART_CPR_SHADOW 4761 * 4762 * Shadow Supported 4763 */ 4764 #define ALT_UART_CPR_SHADOW_E_END 0x1 4765 4766 /* The Least Significant Bit (LSB) position of the ALT_UART_CPR_SHADOW register field. */ 4767 #define ALT_UART_CPR_SHADOW_LSB 11 4768 /* The Most Significant Bit (MSB) position of the ALT_UART_CPR_SHADOW register field. */ 4769 #define ALT_UART_CPR_SHADOW_MSB 11 4770 /* The width in bits of the ALT_UART_CPR_SHADOW register field. */ 4771 #define ALT_UART_CPR_SHADOW_WIDTH 1 4772 /* The mask used to set the ALT_UART_CPR_SHADOW register field value. */ 4773 #define ALT_UART_CPR_SHADOW_SET_MSK 0x00000800 4774 /* The mask used to clear the ALT_UART_CPR_SHADOW register field value. */ 4775 #define ALT_UART_CPR_SHADOW_CLR_MSK 0xfffff7ff 4776 /* The reset value of the ALT_UART_CPR_SHADOW register field. */ 4777 #define ALT_UART_CPR_SHADOW_RESET 0x1 4778 /* Extracts the ALT_UART_CPR_SHADOW field value from a register. */ 4779 #define ALT_UART_CPR_SHADOW_GET(value) (((value) & 0x00000800) >> 11) 4780 /* Produces a ALT_UART_CPR_SHADOW register field value suitable for setting the register. */ 4781 #define ALT_UART_CPR_SHADOW_SET(value) (((value) << 11) & 0x00000800) 4782 4783 /* 4784 * Field : Configuartion ID Register Present - uart_add_encoded_param 4785 * 4786 * Configures the peripheral to have a configuration identification register. 4787 * 4788 * Field Enumeration Values: 4789 * 4790 * Enum | Value | Description 4791 * :--------------------------------------|:------|:-------------------- 4792 * ALT_UART_CPR_UART_ADD_ENC_PARAM_E_END | 0x1 | ID register present 4793 * 4794 * Field Access Macros: 4795 * 4796 */ 4797 /* 4798 * Enumerated value for register field ALT_UART_CPR_UART_ADD_ENC_PARAM 4799 * 4800 * ID register present 4801 */ 4802 #define ALT_UART_CPR_UART_ADD_ENC_PARAM_E_END 0x1 4803 4804 /* The Least Significant Bit (LSB) position of the ALT_UART_CPR_UART_ADD_ENC_PARAM register field. */ 4805 #define ALT_UART_CPR_UART_ADD_ENC_PARAM_LSB 12 4806 /* The Most Significant Bit (MSB) position of the ALT_UART_CPR_UART_ADD_ENC_PARAM register field. */ 4807 #define ALT_UART_CPR_UART_ADD_ENC_PARAM_MSB 12 4808 /* The width in bits of the ALT_UART_CPR_UART_ADD_ENC_PARAM register field. */ 4809 #define ALT_UART_CPR_UART_ADD_ENC_PARAM_WIDTH 1 4810 /* The mask used to set the ALT_UART_CPR_UART_ADD_ENC_PARAM register field value. */ 4811 #define ALT_UART_CPR_UART_ADD_ENC_PARAM_SET_MSK 0x00001000 4812 /* The mask used to clear the ALT_UART_CPR_UART_ADD_ENC_PARAM register field value. */ 4813 #define ALT_UART_CPR_UART_ADD_ENC_PARAM_CLR_MSK 0xffffefff 4814 /* The reset value of the ALT_UART_CPR_UART_ADD_ENC_PARAM register field. */ 4815 #define ALT_UART_CPR_UART_ADD_ENC_PARAM_RESET 0x1 4816 /* Extracts the ALT_UART_CPR_UART_ADD_ENC_PARAM field value from a register. */ 4817 #define ALT_UART_CPR_UART_ADD_ENC_PARAM_GET(value) (((value) & 0x00001000) >> 12) 4818 /* Produces a ALT_UART_CPR_UART_ADD_ENC_PARAM register field value suitable for setting the register. */ 4819 #define ALT_UART_CPR_UART_ADD_ENC_PARAM_SET(value) (((value) << 12) & 0x00001000) 4820 4821 /* 4822 * Field : DMA EXTRA Supported - dma_extra 4823 * 4824 * Configures the peripheral to have four additional DMA signals on the interface. 4825 * 4826 * Field Enumeration Values: 4827 * 4828 * Enum | Value | Description 4829 * :-----------------------------|:------|:-------------------- 4830 * ALT_UART_CPR_DMA_EXTRA_E_END | 0x1 | DMA Extra Supported 4831 * 4832 * Field Access Macros: 4833 * 4834 */ 4835 /* 4836 * Enumerated value for register field ALT_UART_CPR_DMA_EXTRA 4837 * 4838 * DMA Extra Supported 4839 */ 4840 #define ALT_UART_CPR_DMA_EXTRA_E_END 0x1 4841 4842 /* The Least Significant Bit (LSB) position of the ALT_UART_CPR_DMA_EXTRA register field. */ 4843 #define ALT_UART_CPR_DMA_EXTRA_LSB 13 4844 /* The Most Significant Bit (MSB) position of the ALT_UART_CPR_DMA_EXTRA register field. */ 4845 #define ALT_UART_CPR_DMA_EXTRA_MSB 13 4846 /* The width in bits of the ALT_UART_CPR_DMA_EXTRA register field. */ 4847 #define ALT_UART_CPR_DMA_EXTRA_WIDTH 1 4848 /* The mask used to set the ALT_UART_CPR_DMA_EXTRA register field value. */ 4849 #define ALT_UART_CPR_DMA_EXTRA_SET_MSK 0x00002000 4850 /* The mask used to clear the ALT_UART_CPR_DMA_EXTRA register field value. */ 4851 #define ALT_UART_CPR_DMA_EXTRA_CLR_MSK 0xffffdfff 4852 /* The reset value of the ALT_UART_CPR_DMA_EXTRA register field. */ 4853 #define ALT_UART_CPR_DMA_EXTRA_RESET 0x1 4854 /* Extracts the ALT_UART_CPR_DMA_EXTRA field value from a register. */ 4855 #define ALT_UART_CPR_DMA_EXTRA_GET(value) (((value) & 0x00002000) >> 13) 4856 /* Produces a ALT_UART_CPR_DMA_EXTRA register field value suitable for setting the register. */ 4857 #define ALT_UART_CPR_DMA_EXTRA_SET(value) (((value) << 13) & 0x00002000) 4858 4859 /* 4860 * Field : FIFO Depth - fifo_mode 4861 * 4862 * Receiver and Transmitter FIFO depth in bytes. 4863 * 4864 * Field Enumeration Values: 4865 * 4866 * Enum | Value | Description 4867 * :-------------------------------------|:------|:--------------------- 4868 * ALT_UART_CPR_FIFO_MOD_E_FIFO128BYTES | 0x80 | FIFO Depth 128 bytes 4869 * 4870 * Field Access Macros: 4871 * 4872 */ 4873 /* 4874 * Enumerated value for register field ALT_UART_CPR_FIFO_MOD 4875 * 4876 * FIFO Depth 128 bytes 4877 */ 4878 #define ALT_UART_CPR_FIFO_MOD_E_FIFO128BYTES 0x80 4879 4880 /* The Least Significant Bit (LSB) position of the ALT_UART_CPR_FIFO_MOD register field. */ 4881 #define ALT_UART_CPR_FIFO_MOD_LSB 16 4882 /* The Most Significant Bit (MSB) position of the ALT_UART_CPR_FIFO_MOD register field. */ 4883 #define ALT_UART_CPR_FIFO_MOD_MSB 23 4884 /* The width in bits of the ALT_UART_CPR_FIFO_MOD register field. */ 4885 #define ALT_UART_CPR_FIFO_MOD_WIDTH 8 4886 /* The mask used to set the ALT_UART_CPR_FIFO_MOD register field value. */ 4887 #define ALT_UART_CPR_FIFO_MOD_SET_MSK 0x00ff0000 4888 /* The mask used to clear the ALT_UART_CPR_FIFO_MOD register field value. */ 4889 #define ALT_UART_CPR_FIFO_MOD_CLR_MSK 0xff00ffff 4890 /* The reset value of the ALT_UART_CPR_FIFO_MOD register field. */ 4891 #define ALT_UART_CPR_FIFO_MOD_RESET 0x37 4892 /* Extracts the ALT_UART_CPR_FIFO_MOD field value from a register. */ 4893 #define ALT_UART_CPR_FIFO_MOD_GET(value) (((value) & 0x00ff0000) >> 16) 4894 /* Produces a ALT_UART_CPR_FIFO_MOD register field value suitable for setting the register. */ 4895 #define ALT_UART_CPR_FIFO_MOD_SET(value) (((value) << 16) & 0x00ff0000) 4896 4897 #ifndef __ASSEMBLY__ 4898 /* 4899 * WARNING: The C register and register group struct declarations are provided for 4900 * convenience and illustrative purposes. They should, however, be used with 4901 * caution as the C language standard provides no guarantees about the alignment or 4902 * atomicity of device memory accesses. The recommended practice for writing 4903 * hardware drivers is to use the SoCAL access macros and alt_read_word() and 4904 * alt_write_word() functions. 4905 * 4906 * The struct declaration for register ALT_UART_CPR. 4907 */ 4908 struct ALT_UART_CPR_s 4909 { 4910 const uint32_t apbdatawidth : 2; /* APB DATA WIDTH */ 4911 uint32_t : 2; /* *UNDEFINED* */ 4912 const uint32_t afce_mode : 1; /* Auto Flow Control */ 4913 const uint32_t thre_mode : 1; /* THRE MODE */ 4914 const uint32_t sir_mode : 1; /* SIR MODE Unsupported */ 4915 const uint32_t sir_lp_mode : 1; /* SIR LP MODE Unsupported */ 4916 const uint32_t additional_feat : 1; /* ADDITIONAL FEATURES Supported */ 4917 const uint32_t fifo_access : 1; /* FIFO ACCESS Supported */ 4918 const uint32_t fifo_stat : 1; /* FIFO STAT Supported */ 4919 const uint32_t shadow : 1; /* SHADOW Supported */ 4920 const uint32_t uart_add_encoded_param : 1; /* Configuartion ID Register Present */ 4921 const uint32_t dma_extra : 1; /* DMA EXTRA Supported */ 4922 uint32_t : 2; /* *UNDEFINED* */ 4923 const uint32_t fifo_mode : 8; /* FIFO Depth */ 4924 uint32_t : 8; /* *UNDEFINED* */ 4925 }; 4926 4927 /* The typedef declaration for register ALT_UART_CPR. */ 4928 typedef volatile struct ALT_UART_CPR_s ALT_UART_CPR_t; 4929 #endif /* __ASSEMBLY__ */ 4930 4931 /* The byte offset of the ALT_UART_CPR register from the beginning of the component. */ 4932 #define ALT_UART_CPR_OFST 0xf4 4933 /* The address of the ALT_UART_CPR register. */ 4934 #define ALT_UART_CPR_ADDR(base) ALT_CAST(void *, (ALT_CAST(char *, (base)) + ALT_UART_CPR_OFST)) 4935 4936 /* 4937 * Register : Component Version - ucv 4938 * 4939 * Used only with Additional Features 4940 * 4941 * Register Layout 4942 * 4943 * Bits | Access | Reset | Description 4944 * :-------|:-------|:-----------|:-------------- 4945 * [31:0] | R | 0x3331312a | ASCII version 4946 * 4947 */ 4948 /* 4949 * Field : ASCII version - uart_component_version 4950 * 4951 * ASCII value for each number in the version, followed by *For example 32_30_31_2A 4952 * represents the version 2.01a 4953 * 4954 * Field Access Macros: 4955 * 4956 */ 4957 /* The Least Significant Bit (LSB) position of the ALT_UART_UCV_UART_COMPONENT_VER register field. */ 4958 #define ALT_UART_UCV_UART_COMPONENT_VER_LSB 0 4959 /* The Most Significant Bit (MSB) position of the ALT_UART_UCV_UART_COMPONENT_VER register field. */ 4960 #define ALT_UART_UCV_UART_COMPONENT_VER_MSB 31 4961 /* The width in bits of the ALT_UART_UCV_UART_COMPONENT_VER register field. */ 4962 #define ALT_UART_UCV_UART_COMPONENT_VER_WIDTH 32 4963 /* The mask used to set the ALT_UART_UCV_UART_COMPONENT_VER register field value. */ 4964 #define ALT_UART_UCV_UART_COMPONENT_VER_SET_MSK 0xffffffff 4965 /* The mask used to clear the ALT_UART_UCV_UART_COMPONENT_VER register field value. */ 4966 #define ALT_UART_UCV_UART_COMPONENT_VER_CLR_MSK 0x00000000 4967 /* The reset value of the ALT_UART_UCV_UART_COMPONENT_VER register field. */ 4968 #define ALT_UART_UCV_UART_COMPONENT_VER_RESET 0x3331312a 4969 /* Extracts the ALT_UART_UCV_UART_COMPONENT_VER field value from a register. */ 4970 #define ALT_UART_UCV_UART_COMPONENT_VER_GET(value) (((value) & 0xffffffff) >> 0) 4971 /* Produces a ALT_UART_UCV_UART_COMPONENT_VER register field value suitable for setting the register. */ 4972 #define ALT_UART_UCV_UART_COMPONENT_VER_SET(value) (((value) << 0) & 0xffffffff) 4973 4974 #ifndef __ASSEMBLY__ 4975 /* 4976 * WARNING: The C register and register group struct declarations are provided for 4977 * convenience and illustrative purposes. They should, however, be used with 4978 * caution as the C language standard provides no guarantees about the alignment or 4979 * atomicity of device memory accesses. The recommended practice for writing 4980 * hardware drivers is to use the SoCAL access macros and alt_read_word() and 4981 * alt_write_word() functions. 4982 * 4983 * The struct declaration for register ALT_UART_UCV. 4984 */ 4985 struct ALT_UART_UCV_s 4986 { 4987 const uint32_t uart_component_version : 32; /* ASCII version */ 4988 }; 4989 4990 /* The typedef declaration for register ALT_UART_UCV. */ 4991 typedef volatile struct ALT_UART_UCV_s ALT_UART_UCV_t; 4992 #endif /* __ASSEMBLY__ */ 4993 4994 /* The byte offset of the ALT_UART_UCV register from the beginning of the component. */ 4995 #define ALT_UART_UCV_OFST 0xf8 4996 /* The address of the ALT_UART_UCV register. */ 4997 #define ALT_UART_UCV_ADDR(base) ALT_CAST(void *, (ALT_CAST(char *, (base)) + ALT_UART_UCV_OFST)) 4998 4999 /* 5000 * Register : Component Type Register - ctr 5001 * 5002 * Describes a hex value associated with the component. 5003 * 5004 * Register Layout 5005 * 5006 * Bits | Access | Reset | Description 5007 * :-------|:-------|:-----------|:-------------- 5008 * [31:0] | R | 0x44570110 | Peripheral ID 5009 * 5010 */ 5011 /* 5012 * Field : Peripheral ID - peripheral_id 5013 * 5014 * This register contains the peripherals identification code. 5015 * 5016 * Field Access Macros: 5017 * 5018 */ 5019 /* The Least Significant Bit (LSB) position of the ALT_UART_CTR_PERIPHERAL_ID register field. */ 5020 #define ALT_UART_CTR_PERIPHERAL_ID_LSB 0 5021 /* The Most Significant Bit (MSB) position of the ALT_UART_CTR_PERIPHERAL_ID register field. */ 5022 #define ALT_UART_CTR_PERIPHERAL_ID_MSB 31 5023 /* The width in bits of the ALT_UART_CTR_PERIPHERAL_ID register field. */ 5024 #define ALT_UART_CTR_PERIPHERAL_ID_WIDTH 32 5025 /* The mask used to set the ALT_UART_CTR_PERIPHERAL_ID register field value. */ 5026 #define ALT_UART_CTR_PERIPHERAL_ID_SET_MSK 0xffffffff 5027 /* The mask used to clear the ALT_UART_CTR_PERIPHERAL_ID register field value. */ 5028 #define ALT_UART_CTR_PERIPHERAL_ID_CLR_MSK 0x00000000 5029 /* The reset value of the ALT_UART_CTR_PERIPHERAL_ID register field. */ 5030 #define ALT_UART_CTR_PERIPHERAL_ID_RESET 0x44570110 5031 /* Extracts the ALT_UART_CTR_PERIPHERAL_ID field value from a register. */ 5032 #define ALT_UART_CTR_PERIPHERAL_ID_GET(value) (((value) & 0xffffffff) >> 0) 5033 /* Produces a ALT_UART_CTR_PERIPHERAL_ID register field value suitable for setting the register. */ 5034 #define ALT_UART_CTR_PERIPHERAL_ID_SET(value) (((value) << 0) & 0xffffffff) 5035 5036 #ifndef __ASSEMBLY__ 5037 /* 5038 * WARNING: The C register and register group struct declarations are provided for 5039 * convenience and illustrative purposes. They should, however, be used with 5040 * caution as the C language standard provides no guarantees about the alignment or 5041 * atomicity of device memory accesses. The recommended practice for writing 5042 * hardware drivers is to use the SoCAL access macros and alt_read_word() and 5043 * alt_write_word() functions. 5044 * 5045 * The struct declaration for register ALT_UART_CTR. 5046 */ 5047 struct ALT_UART_CTR_s 5048 { 5049 const uint32_t peripheral_id : 32; /* Peripheral ID */ 5050 }; 5051 5052 /* The typedef declaration for register ALT_UART_CTR. */ 5053 typedef volatile struct ALT_UART_CTR_s ALT_UART_CTR_t; 5054 #endif /* __ASSEMBLY__ */ 5055 5056 /* The byte offset of the ALT_UART_CTR register from the beginning of the component. */ 5057 #define ALT_UART_CTR_OFST 0xfc 5058 /* The address of the ALT_UART_CTR register. */ 5059 #define ALT_UART_CTR_ADDR(base) ALT_CAST(void *, (ALT_CAST(char *, (base)) + ALT_UART_CTR_OFST)) 5060 5061 #ifndef __ASSEMBLY__ 5062 /* 5063 * WARNING: The C register and register group struct declarations are provided for 5064 * convenience and illustrative purposes. They should, however, be used with 5065 * caution as the C language standard provides no guarantees about the alignment or 5066 * atomicity of device memory accesses. The recommended practice for writing 5067 * hardware drivers is to use the SoCAL access macros and alt_read_word() and 5068 * alt_write_word() functions. 5069 * 5070 * The struct declaration for register group ALT_UART. 5071 */ 5072 struct ALT_UART_s 5073 { 5074 volatile ALT_UART_RBR_THR_DLL_t rbr_thr_dll; /* ALT_UART_RBR_THR_DLL */ 5075 volatile ALT_UART_IER_DLH_t ier_dlh; /* ALT_UART_IER_DLH */ 5076 /* Union for registers colocated at base address offset #0x. */ 5077 union 5078 { 5079 volatile ALT_UART_IIR_t iir; /* ALT_UART_IIR */ 5080 volatile ALT_UART_FCR_t fcr; /* ALT_UART_FCR */ 5081 } _u_0x8; 5082 volatile ALT_UART_LCR_t lcr; /* ALT_UART_LCR */ 5083 volatile ALT_UART_MCR_t mcr; /* ALT_UART_MCR */ 5084 volatile ALT_UART_LSR_t lsr; /* ALT_UART_LSR */ 5085 volatile ALT_UART_MSR_t msr; /* ALT_UART_MSR */ 5086 volatile ALT_UART_SCR_t scr; /* ALT_UART_SCR */ 5087 volatile uint32_t _pad_0x20_0x2f[4]; /* *UNDEFINED* */ 5088 volatile ALT_UART_SRBR_t srbr; /* ALT_UART_SRBR */ 5089 volatile ALT_UART_STHR_t sthr; /* ALT_UART_STHR */ 5090 volatile uint32_t _pad_0x38_0x6f[14]; /* *UNDEFINED* */ 5091 volatile ALT_UART_FAR_t far; /* ALT_UART_FAR */ 5092 volatile ALT_UART_TFR_t tfr; /* ALT_UART_TFR */ 5093 volatile ALT_UART_RFW_t RFW; /* ALT_UART_RFW */ 5094 volatile ALT_UART_USR_t usr; /* ALT_UART_USR */ 5095 volatile ALT_UART_TFL_t tfl; /* ALT_UART_TFL */ 5096 volatile ALT_UART_RFL_t rfl; /* ALT_UART_RFL */ 5097 volatile ALT_UART_SRR_t srr; /* ALT_UART_SRR */ 5098 volatile ALT_UART_SRTS_t srts; /* ALT_UART_SRTS */ 5099 volatile ALT_UART_SBCR_t sbcr; /* ALT_UART_SBCR */ 5100 volatile ALT_UART_SDMAM_t sdmam; /* ALT_UART_SDMAM */ 5101 volatile ALT_UART_SFE_t sfe; /* ALT_UART_SFE */ 5102 volatile ALT_UART_SRT_t srt; /* ALT_UART_SRT */ 5103 volatile ALT_UART_STET_t stet; /* ALT_UART_STET */ 5104 volatile ALT_UART_HTX_t htx; /* ALT_UART_HTX */ 5105 volatile ALT_UART_DMASA_t dmasa; /* ALT_UART_DMASA */ 5106 volatile uint32_t _pad_0xac_0xf3[18]; /* *UNDEFINED* */ 5107 volatile ALT_UART_CPR_t cpr; /* ALT_UART_CPR */ 5108 volatile ALT_UART_UCV_t ucv; /* ALT_UART_UCV */ 5109 volatile ALT_UART_CTR_t ctr; /* ALT_UART_CTR */ 5110 }; 5111 5112 /* The typedef declaration for register group ALT_UART. */ 5113 typedef volatile struct ALT_UART_s ALT_UART_t; 5114 /* The struct declaration for the raw register contents of register group ALT_UART. */ 5115 struct ALT_UART_raw_s 5116 { 5117 volatile uint32_t rbr_thr_dll; /* ALT_UART_RBR_THR_DLL */ 5118 volatile uint32_t ier_dlh; /* ALT_UART_IER_DLH */ 5119 /* Union for registers colocated at base address offset #0x. */ 5120 union 5121 { 5122 volatile uint32_t iir; /* ALT_UART_IIR */ 5123 volatile uint32_t fcr; /* ALT_UART_FCR */ 5124 } _u_0x8; 5125 volatile uint32_t lcr; /* ALT_UART_LCR */ 5126 volatile uint32_t mcr; /* ALT_UART_MCR */ 5127 volatile uint32_t lsr; /* ALT_UART_LSR */ 5128 volatile uint32_t msr; /* ALT_UART_MSR */ 5129 volatile uint32_t scr; /* ALT_UART_SCR */ 5130 volatile uint32_t _pad_0x20_0x2f[4]; /* *UNDEFINED* */ 5131 volatile uint32_t srbr; /* ALT_UART_SRBR */ 5132 volatile uint32_t sthr; /* ALT_UART_STHR */ 5133 volatile uint32_t _pad_0x38_0x6f[14]; /* *UNDEFINED* */ 5134 volatile uint32_t far; /* ALT_UART_FAR */ 5135 volatile uint32_t tfr; /* ALT_UART_TFR */ 5136 volatile uint32_t RFW; /* ALT_UART_RFW */ 5137 volatile uint32_t usr; /* ALT_UART_USR */ 5138 volatile uint32_t tfl; /* ALT_UART_TFL */ 5139 volatile uint32_t rfl; /* ALT_UART_RFL */ 5140 volatile uint32_t srr; /* ALT_UART_SRR */ 5141 volatile uint32_t srts; /* ALT_UART_SRTS */ 5142 volatile uint32_t sbcr; /* ALT_UART_SBCR */ 5143 volatile uint32_t sdmam; /* ALT_UART_SDMAM */ 5144 volatile uint32_t sfe; /* ALT_UART_SFE */ 5145 volatile uint32_t srt; /* ALT_UART_SRT */ 5146 volatile uint32_t stet; /* ALT_UART_STET */ 5147 volatile uint32_t htx; /* ALT_UART_HTX */ 5148 volatile uint32_t dmasa; /* ALT_UART_DMASA */ 5149 volatile uint32_t _pad_0xac_0xf3[18]; /* *UNDEFINED* */ 5150 volatile uint32_t cpr; /* ALT_UART_CPR */ 5151 volatile uint32_t ucv; /* ALT_UART_UCV */ 5152 volatile uint32_t ctr; /* ALT_UART_CTR */ 5153 }; 5154 5155 /* The typedef declaration for the raw register contents of register group ALT_UART. */ 5156 typedef volatile struct ALT_UART_raw_s ALT_UART_raw_t; 5157 #endif /* __ASSEMBLY__ */ 5158 5159 5160 #ifdef __cplusplus 5161 } 5162 #endif /* __cplusplus */ 5163 #endif /* __ALTERA_ALT_UART_H__ */ 5164
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
![]() ![]() |