Back to home page

LXR

 
 

    


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