Back to home page

LXR

 
 

    


File indexing completed on 2025-05-11 08:22:43

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_L3 */
0038 
0039 #ifndef __ALTERA_ALT_L3_H__
0040 #define __ALTERA_ALT_L3_H__
0041 
0042 #ifdef __cplusplus
0043 extern "C"
0044 {
0045 #endif  /* __cplusplus */
0046 
0047 /*
0048  * Component : L3 (NIC-301) GPV Registers - ALT_L3
0049  * L3 (NIC-301) GPV Registers
0050  * 
0051  * Registers to control L3 interconnect settings
0052  * 
0053  */
0054 /*
0055  * Register : Remap - remap
0056  * 
0057  * The L3 interconnect has separate address maps for the various L3 Masters.
0058  * Generally, the addresses are the same for most masters. However, the sparse
0059  * interconnect of the L3 switch causes some masters to have holes in their memory
0060  * maps. The remap bits are not mutually exclusive. Each bit can be set
0061  * independently and in combinations. Priority for the bits is determined by the
0062  * bit offset: lower offset bits take precedence over higher offset bits.
0063  * 
0064  * Register Layout
0065  * 
0066  *  Bits   | Access | Reset | Description                     
0067  * :-------|:-------|:------|:---------------------------------
0068  *  [0]    | W      | 0x0   | MPU at 0x0                      
0069  *  [1]    | W      | 0x0   | Non-MPU at 0x0                  
0070  *  [2]    | ???    | 0x0   | *UNDEFINED*                     
0071  *  [3]    | W      | 0x0   | HPS2FPGA AXI Bridge Visibility  
0072  *  [4]    | W      | 0x0   | LWHPS2FPGA AXI Bridge Visibility
0073  *  [31:5] | ???    | 0x0   | *UNDEFINED*                     
0074  * 
0075  */
0076 /*
0077  * Field : MPU at 0x0 - mpuzero
0078  * 
0079  * Controls whether address 0x0 for the MPU L3 master is mapped to the Boot ROM or
0080  * On-chip RAM.  This field only has an effect on the MPU L3 master.
0081  * 
0082  * Field Enumeration Values:
0083  * 
0084  *  Enum                           | Value | Description                                     
0085  * :-------------------------------|:------|:-------------------------------------------------
0086  *  ALT_L3_REMAP_MPUZERO_E_BOOTROM | 0x0   | Maps the Boot ROM to address 0x0 for the MPU L3 
0087  * :                               |       | master. Note that the Boot ROM is also always   
0088  * :                               |       | mapped to address 0xfffd_0000 for the MPU L3    
0089  * :                               |       | master independent of this field's value.       
0090  *  ALT_L3_REMAP_MPUZERO_E_OCRAM   | 0x1   | Maps the On-chip RAM to address 0x0 for the MPU 
0091  * :                               |       | L3 master. Note that the On-chip RAM is also    
0092  * :                               |       | always mapped to address 0xffff_0000 for the MPU
0093  * :                               |       | L3 master independent of this field's value.    
0094  * 
0095  * Field Access Macros:
0096  * 
0097  */
0098 /*
0099  * Enumerated value for register field ALT_L3_REMAP_MPUZERO
0100  * 
0101  * Maps the Boot ROM to address 0x0 for the MPU L3 master. Note that the Boot ROM
0102  * is also always mapped to address 0xfffd_0000 for the MPU L3 master independent
0103  * of this field's value.
0104  */
0105 #define ALT_L3_REMAP_MPUZERO_E_BOOTROM  0x0
0106 /*
0107  * Enumerated value for register field ALT_L3_REMAP_MPUZERO
0108  * 
0109  * Maps the On-chip RAM to address 0x0 for the MPU L3 master. Note that the On-chip
0110  * RAM is also always mapped to address 0xffff_0000 for the MPU L3 master
0111  * independent of this field's value.
0112  */
0113 #define ALT_L3_REMAP_MPUZERO_E_OCRAM    0x1
0114 
0115 /* The Least Significant Bit (LSB) position of the ALT_L3_REMAP_MPUZERO register field. */
0116 #define ALT_L3_REMAP_MPUZERO_LSB        0
0117 /* The Most Significant Bit (MSB) position of the ALT_L3_REMAP_MPUZERO register field. */
0118 #define ALT_L3_REMAP_MPUZERO_MSB        0
0119 /* The width in bits of the ALT_L3_REMAP_MPUZERO register field. */
0120 #define ALT_L3_REMAP_MPUZERO_WIDTH      1
0121 /* The mask used to set the ALT_L3_REMAP_MPUZERO register field value. */
0122 #define ALT_L3_REMAP_MPUZERO_SET_MSK    0x00000001
0123 /* The mask used to clear the ALT_L3_REMAP_MPUZERO register field value. */
0124 #define ALT_L3_REMAP_MPUZERO_CLR_MSK    0xfffffffe
0125 /* The reset value of the ALT_L3_REMAP_MPUZERO register field. */
0126 #define ALT_L3_REMAP_MPUZERO_RESET      0x0
0127 /* Extracts the ALT_L3_REMAP_MPUZERO field value from a register. */
0128 #define ALT_L3_REMAP_MPUZERO_GET(value) (((value) & 0x00000001) >> 0)
0129 /* Produces a ALT_L3_REMAP_MPUZERO register field value suitable for setting the register. */
0130 #define ALT_L3_REMAP_MPUZERO_SET(value) (((value) << 0) & 0x00000001)
0131 
0132 /*
0133  * Field : Non-MPU at 0x0 - nonmpuzero
0134  * 
0135  * Controls whether address 0x0 for the non-MPU L3 masters is mapped to the SDRAM
0136  * or On-chip RAM.  This field only has an effect on the non-MPU L3 masters. The
0137  * non-MPU L3 masters are the DMA controllers (standalone and those built-in to
0138  * peripherals), the FPGA2HPS AXI Bridge, and the DAP.
0139  * 
0140  * Field Enumeration Values:
0141  * 
0142  *  Enum                            | Value | Description                                     
0143  * :--------------------------------|:------|:-------------------------------------------------
0144  *  ALT_L3_REMAP_NONMPUZERO_E_SDRAM | 0x0   | Maps the SDRAM to address 0x0 for the non-MPU L3
0145  * :                                |       | masters.                                        
0146  *  ALT_L3_REMAP_NONMPUZERO_E_OCRAM | 0x1   | Maps the On-chip RAM to address 0x0 for the non-
0147  * :                                |       | MPU L3 masters. Note that the On-chip RAM is    
0148  * :                                |       | also always mapped to address 0xffff_0000 for   
0149  * :                                |       | the non-MPU L3 masters independent of this      
0150  * :                                |       | field's value.                                  
0151  * 
0152  * Field Access Macros:
0153  * 
0154  */
0155 /*
0156  * Enumerated value for register field ALT_L3_REMAP_NONMPUZERO
0157  * 
0158  * Maps the SDRAM to address 0x0 for the non-MPU L3 masters.
0159  */
0160 #define ALT_L3_REMAP_NONMPUZERO_E_SDRAM 0x0
0161 /*
0162  * Enumerated value for register field ALT_L3_REMAP_NONMPUZERO
0163  * 
0164  * Maps the On-chip RAM to address 0x0 for the non-MPU L3 masters. Note that the
0165  * On-chip RAM is also always mapped to address 0xffff_0000 for the non-MPU L3
0166  * masters independent of this field's value.
0167  */
0168 #define ALT_L3_REMAP_NONMPUZERO_E_OCRAM 0x1
0169 
0170 /* The Least Significant Bit (LSB) position of the ALT_L3_REMAP_NONMPUZERO register field. */
0171 #define ALT_L3_REMAP_NONMPUZERO_LSB        1
0172 /* The Most Significant Bit (MSB) position of the ALT_L3_REMAP_NONMPUZERO register field. */
0173 #define ALT_L3_REMAP_NONMPUZERO_MSB        1
0174 /* The width in bits of the ALT_L3_REMAP_NONMPUZERO register field. */
0175 #define ALT_L3_REMAP_NONMPUZERO_WIDTH      1
0176 /* The mask used to set the ALT_L3_REMAP_NONMPUZERO register field value. */
0177 #define ALT_L3_REMAP_NONMPUZERO_SET_MSK    0x00000002
0178 /* The mask used to clear the ALT_L3_REMAP_NONMPUZERO register field value. */
0179 #define ALT_L3_REMAP_NONMPUZERO_CLR_MSK    0xfffffffd
0180 /* The reset value of the ALT_L3_REMAP_NONMPUZERO register field. */
0181 #define ALT_L3_REMAP_NONMPUZERO_RESET      0x0
0182 /* Extracts the ALT_L3_REMAP_NONMPUZERO field value from a register. */
0183 #define ALT_L3_REMAP_NONMPUZERO_GET(value) (((value) & 0x00000002) >> 1)
0184 /* Produces a ALT_L3_REMAP_NONMPUZERO register field value suitable for setting the register. */
0185 #define ALT_L3_REMAP_NONMPUZERO_SET(value) (((value) << 1) & 0x00000002)
0186 
0187 /*
0188  * Field : HPS2FPGA AXI Bridge Visibility - hps2fpga
0189  * 
0190  * Controls whether the HPS2FPGA AXI Bridge is visible to L3 masters or not.
0191  * 
0192  * Field Enumeration Values:
0193  * 
0194  *  Enum                         | Value | Description                                    
0195  * :-----------------------------|:------|:------------------------------------------------
0196  *  ALT_L3_REMAP_H2F_E_INVISIBLE | 0x0   | The HPS2FPGA AXI Bridge is not visible to L3   
0197  * :                             |       | masters. Accesses to the associated address    
0198  * :                             |       | range return an AXI decode error to the master.
0199  *  ALT_L3_REMAP_H2F_E_VISIBLE   | 0x1   | The HPS2FPGA AXI Bridge is visible to L3       
0200  * :                             |       | masters.                                       
0201  * 
0202  * Field Access Macros:
0203  * 
0204  */
0205 /*
0206  * Enumerated value for register field ALT_L3_REMAP_H2F
0207  * 
0208  * The HPS2FPGA AXI Bridge is not visible to L3 masters. Accesses to the associated
0209  * address range return an AXI decode error to the master.
0210  */
0211 #define ALT_L3_REMAP_H2F_E_INVISIBLE    0x0
0212 /*
0213  * Enumerated value for register field ALT_L3_REMAP_H2F
0214  * 
0215  * The HPS2FPGA AXI Bridge is visible to L3 masters.
0216  */
0217 #define ALT_L3_REMAP_H2F_E_VISIBLE      0x1
0218 
0219 /* The Least Significant Bit (LSB) position of the ALT_L3_REMAP_H2F register field. */
0220 #define ALT_L3_REMAP_H2F_LSB        3
0221 /* The Most Significant Bit (MSB) position of the ALT_L3_REMAP_H2F register field. */
0222 #define ALT_L3_REMAP_H2F_MSB        3
0223 /* The width in bits of the ALT_L3_REMAP_H2F register field. */
0224 #define ALT_L3_REMAP_H2F_WIDTH      1
0225 /* The mask used to set the ALT_L3_REMAP_H2F register field value. */
0226 #define ALT_L3_REMAP_H2F_SET_MSK    0x00000008
0227 /* The mask used to clear the ALT_L3_REMAP_H2F register field value. */
0228 #define ALT_L3_REMAP_H2F_CLR_MSK    0xfffffff7
0229 /* The reset value of the ALT_L3_REMAP_H2F register field. */
0230 #define ALT_L3_REMAP_H2F_RESET      0x0
0231 /* Extracts the ALT_L3_REMAP_H2F field value from a register. */
0232 #define ALT_L3_REMAP_H2F_GET(value) (((value) & 0x00000008) >> 3)
0233 /* Produces a ALT_L3_REMAP_H2F register field value suitable for setting the register. */
0234 #define ALT_L3_REMAP_H2F_SET(value) (((value) << 3) & 0x00000008)
0235 
0236 /*
0237  * Field : LWHPS2FPGA AXI Bridge Visibility - lwhps2fpga
0238  * 
0239  * Controls whether the Lightweight HPS2FPGA AXI Bridge is visible to L3 masters or
0240  * not.
0241  * 
0242  * Field Enumeration Values:
0243  * 
0244  *  Enum                           | Value | Description                                    
0245  * :-------------------------------|:------|:------------------------------------------------
0246  *  ALT_L3_REMAP_LWH2F_E_INVISIBLE | 0x0   | The LWHPS2FPGA AXI Bridge is not visible to L3 
0247  * :                               |       | masters. Accesses to the associated address    
0248  * :                               |       | range return an AXI decode error to the master.
0249  *  ALT_L3_REMAP_LWH2F_E_VISIBLE   | 0x1   | The LWHPS2FPGA AXI Bridge is visible to L3     
0250  * :                               |       | masters.                                       
0251  * 
0252  * Field Access Macros:
0253  * 
0254  */
0255 /*
0256  * Enumerated value for register field ALT_L3_REMAP_LWH2F
0257  * 
0258  * The LWHPS2FPGA AXI Bridge is not visible to L3 masters. Accesses to the
0259  * associated address range return an AXI decode error to the master.
0260  */
0261 #define ALT_L3_REMAP_LWH2F_E_INVISIBLE  0x0
0262 /*
0263  * Enumerated value for register field ALT_L3_REMAP_LWH2F
0264  * 
0265  * The LWHPS2FPGA AXI Bridge is visible to L3 masters.
0266  */
0267 #define ALT_L3_REMAP_LWH2F_E_VISIBLE    0x1
0268 
0269 /* The Least Significant Bit (LSB) position of the ALT_L3_REMAP_LWH2F register field. */
0270 #define ALT_L3_REMAP_LWH2F_LSB        4
0271 /* The Most Significant Bit (MSB) position of the ALT_L3_REMAP_LWH2F register field. */
0272 #define ALT_L3_REMAP_LWH2F_MSB        4
0273 /* The width in bits of the ALT_L3_REMAP_LWH2F register field. */
0274 #define ALT_L3_REMAP_LWH2F_WIDTH      1
0275 /* The mask used to set the ALT_L3_REMAP_LWH2F register field value. */
0276 #define ALT_L3_REMAP_LWH2F_SET_MSK    0x00000010
0277 /* The mask used to clear the ALT_L3_REMAP_LWH2F register field value. */
0278 #define ALT_L3_REMAP_LWH2F_CLR_MSK    0xffffffef
0279 /* The reset value of the ALT_L3_REMAP_LWH2F register field. */
0280 #define ALT_L3_REMAP_LWH2F_RESET      0x0
0281 /* Extracts the ALT_L3_REMAP_LWH2F field value from a register. */
0282 #define ALT_L3_REMAP_LWH2F_GET(value) (((value) & 0x00000010) >> 4)
0283 /* Produces a ALT_L3_REMAP_LWH2F register field value suitable for setting the register. */
0284 #define ALT_L3_REMAP_LWH2F_SET(value) (((value) << 4) & 0x00000010)
0285 
0286 #ifndef __ASSEMBLY__
0287 /*
0288  * WARNING: The C register and register group struct declarations are provided for
0289  * convenience and illustrative purposes. They should, however, be used with
0290  * caution as the C language standard provides no guarantees about the alignment or
0291  * atomicity of device memory accesses. The recommended practice for writing
0292  * hardware drivers is to use the SoCAL access macros and alt_read_word() and
0293  * alt_write_word() functions.
0294  * 
0295  * The struct declaration for register ALT_L3_REMAP.
0296  */
0297 struct ALT_L3_REMAP_s
0298 {
0299     uint32_t  mpuzero    :  1;  /* MPU at 0x0 */
0300     uint32_t  nonmpuzero :  1;  /* Non-MPU at 0x0 */
0301     uint32_t             :  1;  /* *UNDEFINED* */
0302     uint32_t  hps2fpga   :  1;  /* HPS2FPGA AXI Bridge Visibility */
0303     uint32_t  lwhps2fpga :  1;  /* LWHPS2FPGA AXI Bridge Visibility */
0304     uint32_t             : 27;  /* *UNDEFINED* */
0305 };
0306 
0307 /* The typedef declaration for register ALT_L3_REMAP. */
0308 typedef volatile struct ALT_L3_REMAP_s  ALT_L3_REMAP_t;
0309 #endif  /* __ASSEMBLY__ */
0310 
0311 /* The byte offset of the ALT_L3_REMAP register from the beginning of the component. */
0312 #define ALT_L3_REMAP_OFST        0x0
0313 
0314 /*
0315  * Register Group : Security Register Group - ALT_L3_SECGRP
0316  * Security Register Group
0317  * 
0318  * Registers that control slave security.
0319  * 
0320  */
0321 /*
0322  * Register : L4 Main Peripherals Security - l4main
0323  * 
0324  * Controls security settings for L4 Main peripherals.
0325  * 
0326  * Register Layout
0327  * 
0328  *  Bits   | Access | Reset | Description            
0329  * :-------|:-------|:------|:------------------------
0330  *  [0]    | W      | 0x0   | SPI Slave 0 Security   
0331  *  [1]    | W      | 0x0   | SPI Slave 1 Security   
0332  *  [2]    | W      | 0x0   | DMA Secure Security    
0333  *  [3]    | W      | 0x0   | DMA Non-secure Security
0334  *  [31:4] | ???    | 0x0   | *UNDEFINED*            
0335  * 
0336  */
0337 /*
0338  * Field : SPI Slave 0 Security - spis0
0339  * 
0340  * Controls whether secure or non-secure masters can access the SPI Slave 0 slave.
0341  * 
0342  * Field Enumeration Values:
0343  * 
0344  *  Enum                                | Value | Description                                  
0345  * :------------------------------------|:------|:----------------------------------------------
0346  *  ALT_L3_SEC_L4MAIN_SPIS0_E_SECURE    | 0x0   | The slave can only be accessed by a secure   
0347  * :                                    |       | master.                                      
0348  *  ALT_L3_SEC_L4MAIN_SPIS0_E_NONSECURE | 0x1   | The slave can only be accessed by a secure or
0349  * :                                    |       | non-secure masters.                          
0350  * 
0351  * Field Access Macros:
0352  * 
0353  */
0354 /*
0355  * Enumerated value for register field ALT_L3_SEC_L4MAIN_SPIS0
0356  * 
0357  * The slave can only be accessed by a secure master.
0358  */
0359 #define ALT_L3_SEC_L4MAIN_SPIS0_E_SECURE    0x0
0360 /*
0361  * Enumerated value for register field ALT_L3_SEC_L4MAIN_SPIS0
0362  * 
0363  * The slave can only be accessed by a secure or non-secure masters.
0364  */
0365 #define ALT_L3_SEC_L4MAIN_SPIS0_E_NONSECURE 0x1
0366 
0367 /* The Least Significant Bit (LSB) position of the ALT_L3_SEC_L4MAIN_SPIS0 register field. */
0368 #define ALT_L3_SEC_L4MAIN_SPIS0_LSB        0
0369 /* The Most Significant Bit (MSB) position of the ALT_L3_SEC_L4MAIN_SPIS0 register field. */
0370 #define ALT_L3_SEC_L4MAIN_SPIS0_MSB        0
0371 /* The width in bits of the ALT_L3_SEC_L4MAIN_SPIS0 register field. */
0372 #define ALT_L3_SEC_L4MAIN_SPIS0_WIDTH      1
0373 /* The mask used to set the ALT_L3_SEC_L4MAIN_SPIS0 register field value. */
0374 #define ALT_L3_SEC_L4MAIN_SPIS0_SET_MSK    0x00000001
0375 /* The mask used to clear the ALT_L3_SEC_L4MAIN_SPIS0 register field value. */
0376 #define ALT_L3_SEC_L4MAIN_SPIS0_CLR_MSK    0xfffffffe
0377 /* The reset value of the ALT_L3_SEC_L4MAIN_SPIS0 register field. */
0378 #define ALT_L3_SEC_L4MAIN_SPIS0_RESET      0x0
0379 /* Extracts the ALT_L3_SEC_L4MAIN_SPIS0 field value from a register. */
0380 #define ALT_L3_SEC_L4MAIN_SPIS0_GET(value) (((value) & 0x00000001) >> 0)
0381 /* Produces a ALT_L3_SEC_L4MAIN_SPIS0 register field value suitable for setting the register. */
0382 #define ALT_L3_SEC_L4MAIN_SPIS0_SET(value) (((value) << 0) & 0x00000001)
0383 
0384 /*
0385  * Field : SPI Slave 1 Security - spis1
0386  * 
0387  * Controls whether secure or non-secure masters can access the SPI Slave 1 slave.
0388  * 
0389  * Field Enumeration Values:
0390  * 
0391  *  Enum                                | Value | Description                                  
0392  * :------------------------------------|:------|:----------------------------------------------
0393  *  ALT_L3_SEC_L4MAIN_SPIS1_E_SECURE    | 0x0   | The slave can only be accessed by a secure   
0394  * :                                    |       | master.                                      
0395  *  ALT_L3_SEC_L4MAIN_SPIS1_E_NONSECURE | 0x1   | The slave can only be accessed by a secure or
0396  * :                                    |       | non-secure masters.                          
0397  * 
0398  * Field Access Macros:
0399  * 
0400  */
0401 /*
0402  * Enumerated value for register field ALT_L3_SEC_L4MAIN_SPIS1
0403  * 
0404  * The slave can only be accessed by a secure master.
0405  */
0406 #define ALT_L3_SEC_L4MAIN_SPIS1_E_SECURE    0x0
0407 /*
0408  * Enumerated value for register field ALT_L3_SEC_L4MAIN_SPIS1
0409  * 
0410  * The slave can only be accessed by a secure or non-secure masters.
0411  */
0412 #define ALT_L3_SEC_L4MAIN_SPIS1_E_NONSECURE 0x1
0413 
0414 /* The Least Significant Bit (LSB) position of the ALT_L3_SEC_L4MAIN_SPIS1 register field. */
0415 #define ALT_L3_SEC_L4MAIN_SPIS1_LSB        1
0416 /* The Most Significant Bit (MSB) position of the ALT_L3_SEC_L4MAIN_SPIS1 register field. */
0417 #define ALT_L3_SEC_L4MAIN_SPIS1_MSB        1
0418 /* The width in bits of the ALT_L3_SEC_L4MAIN_SPIS1 register field. */
0419 #define ALT_L3_SEC_L4MAIN_SPIS1_WIDTH      1
0420 /* The mask used to set the ALT_L3_SEC_L4MAIN_SPIS1 register field value. */
0421 #define ALT_L3_SEC_L4MAIN_SPIS1_SET_MSK    0x00000002
0422 /* The mask used to clear the ALT_L3_SEC_L4MAIN_SPIS1 register field value. */
0423 #define ALT_L3_SEC_L4MAIN_SPIS1_CLR_MSK    0xfffffffd
0424 /* The reset value of the ALT_L3_SEC_L4MAIN_SPIS1 register field. */
0425 #define ALT_L3_SEC_L4MAIN_SPIS1_RESET      0x0
0426 /* Extracts the ALT_L3_SEC_L4MAIN_SPIS1 field value from a register. */
0427 #define ALT_L3_SEC_L4MAIN_SPIS1_GET(value) (((value) & 0x00000002) >> 1)
0428 /* Produces a ALT_L3_SEC_L4MAIN_SPIS1 register field value suitable for setting the register. */
0429 #define ALT_L3_SEC_L4MAIN_SPIS1_SET(value) (((value) << 1) & 0x00000002)
0430 
0431 /*
0432  * Field : DMA Secure Security - dmasecure
0433  * 
0434  * Controls whether secure or non-secure masters can access the DMA Secure slave.
0435  * 
0436  * Field Enumeration Values:
0437  * 
0438  *  Enum                                    | Value | Description                                  
0439  * :----------------------------------------|:------|:----------------------------------------------
0440  *  ALT_L3_SEC_L4MAIN_DMASECURE_E_SECURE    | 0x0   | The slave can only be accessed by a secure   
0441  * :                                        |       | master.                                      
0442  *  ALT_L3_SEC_L4MAIN_DMASECURE_E_NONSECURE | 0x1   | The slave can only be accessed by a secure or
0443  * :                                        |       | non-secure masters.                          
0444  * 
0445  * Field Access Macros:
0446  * 
0447  */
0448 /*
0449  * Enumerated value for register field ALT_L3_SEC_L4MAIN_DMASECURE
0450  * 
0451  * The slave can only be accessed by a secure master.
0452  */
0453 #define ALT_L3_SEC_L4MAIN_DMASECURE_E_SECURE    0x0
0454 /*
0455  * Enumerated value for register field ALT_L3_SEC_L4MAIN_DMASECURE
0456  * 
0457  * The slave can only be accessed by a secure or non-secure masters.
0458  */
0459 #define ALT_L3_SEC_L4MAIN_DMASECURE_E_NONSECURE 0x1
0460 
0461 /* The Least Significant Bit (LSB) position of the ALT_L3_SEC_L4MAIN_DMASECURE register field. */
0462 #define ALT_L3_SEC_L4MAIN_DMASECURE_LSB        2
0463 /* The Most Significant Bit (MSB) position of the ALT_L3_SEC_L4MAIN_DMASECURE register field. */
0464 #define ALT_L3_SEC_L4MAIN_DMASECURE_MSB        2
0465 /* The width in bits of the ALT_L3_SEC_L4MAIN_DMASECURE register field. */
0466 #define ALT_L3_SEC_L4MAIN_DMASECURE_WIDTH      1
0467 /* The mask used to set the ALT_L3_SEC_L4MAIN_DMASECURE register field value. */
0468 #define ALT_L3_SEC_L4MAIN_DMASECURE_SET_MSK    0x00000004
0469 /* The mask used to clear the ALT_L3_SEC_L4MAIN_DMASECURE register field value. */
0470 #define ALT_L3_SEC_L4MAIN_DMASECURE_CLR_MSK    0xfffffffb
0471 /* The reset value of the ALT_L3_SEC_L4MAIN_DMASECURE register field. */
0472 #define ALT_L3_SEC_L4MAIN_DMASECURE_RESET      0x0
0473 /* Extracts the ALT_L3_SEC_L4MAIN_DMASECURE field value from a register. */
0474 #define ALT_L3_SEC_L4MAIN_DMASECURE_GET(value) (((value) & 0x00000004) >> 2)
0475 /* Produces a ALT_L3_SEC_L4MAIN_DMASECURE register field value suitable for setting the register. */
0476 #define ALT_L3_SEC_L4MAIN_DMASECURE_SET(value) (((value) << 2) & 0x00000004)
0477 
0478 /*
0479  * Field : DMA Non-secure Security - dmanonsecure
0480  * 
0481  * Controls whether secure or non-secure masters can access the DMA Non-secure
0482  * slave.
0483  * 
0484  * Field Enumeration Values:
0485  * 
0486  *  Enum                                       | Value | Description                                  
0487  * :-------------------------------------------|:------|:----------------------------------------------
0488  *  ALT_L3_SEC_L4MAIN_DMANONSECURE_E_SECURE    | 0x0   | The slave can only be accessed by a secure   
0489  * :                                           |       | master.                                      
0490  *  ALT_L3_SEC_L4MAIN_DMANONSECURE_E_NONSECURE | 0x1   | The slave can only be accessed by a secure or
0491  * :                                           |       | non-secure masters.                          
0492  * 
0493  * Field Access Macros:
0494  * 
0495  */
0496 /*
0497  * Enumerated value for register field ALT_L3_SEC_L4MAIN_DMANONSECURE
0498  * 
0499  * The slave can only be accessed by a secure master.
0500  */
0501 #define ALT_L3_SEC_L4MAIN_DMANONSECURE_E_SECURE     0x0
0502 /*
0503  * Enumerated value for register field ALT_L3_SEC_L4MAIN_DMANONSECURE
0504  * 
0505  * The slave can only be accessed by a secure or non-secure masters.
0506  */
0507 #define ALT_L3_SEC_L4MAIN_DMANONSECURE_E_NONSECURE  0x1
0508 
0509 /* The Least Significant Bit (LSB) position of the ALT_L3_SEC_L4MAIN_DMANONSECURE register field. */
0510 #define ALT_L3_SEC_L4MAIN_DMANONSECURE_LSB        3
0511 /* The Most Significant Bit (MSB) position of the ALT_L3_SEC_L4MAIN_DMANONSECURE register field. */
0512 #define ALT_L3_SEC_L4MAIN_DMANONSECURE_MSB        3
0513 /* The width in bits of the ALT_L3_SEC_L4MAIN_DMANONSECURE register field. */
0514 #define ALT_L3_SEC_L4MAIN_DMANONSECURE_WIDTH      1
0515 /* The mask used to set the ALT_L3_SEC_L4MAIN_DMANONSECURE register field value. */
0516 #define ALT_L3_SEC_L4MAIN_DMANONSECURE_SET_MSK    0x00000008
0517 /* The mask used to clear the ALT_L3_SEC_L4MAIN_DMANONSECURE register field value. */
0518 #define ALT_L3_SEC_L4MAIN_DMANONSECURE_CLR_MSK    0xfffffff7
0519 /* The reset value of the ALT_L3_SEC_L4MAIN_DMANONSECURE register field. */
0520 #define ALT_L3_SEC_L4MAIN_DMANONSECURE_RESET      0x0
0521 /* Extracts the ALT_L3_SEC_L4MAIN_DMANONSECURE field value from a register. */
0522 #define ALT_L3_SEC_L4MAIN_DMANONSECURE_GET(value) (((value) & 0x00000008) >> 3)
0523 /* Produces a ALT_L3_SEC_L4MAIN_DMANONSECURE register field value suitable for setting the register. */
0524 #define ALT_L3_SEC_L4MAIN_DMANONSECURE_SET(value) (((value) << 3) & 0x00000008)
0525 
0526 #ifndef __ASSEMBLY__
0527 /*
0528  * WARNING: The C register and register group struct declarations are provided for
0529  * convenience and illustrative purposes. They should, however, be used with
0530  * caution as the C language standard provides no guarantees about the alignment or
0531  * atomicity of device memory accesses. The recommended practice for writing
0532  * hardware drivers is to use the SoCAL access macros and alt_read_word() and
0533  * alt_write_word() functions.
0534  * 
0535  * The struct declaration for register ALT_L3_SEC_L4MAIN.
0536  */
0537 struct ALT_L3_SEC_L4MAIN_s
0538 {
0539     uint32_t  spis0        :  1;  /* SPI Slave 0 Security */
0540     uint32_t  spis1        :  1;  /* SPI Slave 1 Security */
0541     uint32_t  dmasecure    :  1;  /* DMA Secure Security */
0542     uint32_t  dmanonsecure :  1;  /* DMA Non-secure Security */
0543     uint32_t               : 28;  /* *UNDEFINED* */
0544 };
0545 
0546 /* The typedef declaration for register ALT_L3_SEC_L4MAIN. */
0547 typedef volatile struct ALT_L3_SEC_L4MAIN_s  ALT_L3_SEC_L4MAIN_t;
0548 #endif  /* __ASSEMBLY__ */
0549 
0550 /* The byte offset of the ALT_L3_SEC_L4MAIN register from the beginning of the component. */
0551 #define ALT_L3_SEC_L4MAIN_OFST        0x0
0552 
0553 /*
0554  * Register : L4 SP Peripherals Security - l4sp
0555  * 
0556  * Controls security settings for L4 SP peripherals.
0557  * 
0558  * Register Layout
0559  * 
0560  *  Bits    | Access | Reset | Description             
0561  * :--------|:-------|:------|:-------------------------
0562  *  [0]     | W      | 0x0   | SDRAM Registers Security
0563  *  [1]     | W      | 0x0   | SP Timer 0 Security     
0564  *  [2]     | W      | 0x0   | I2C0 Security           
0565  *  [3]     | W      | 0x0   | I2C1 Security           
0566  *  [4]     | W      | 0x0   | I2C2 (EMAC 0) Security  
0567  *  [5]     | W      | 0x0   | I2C3 (EMAC 1) Security  
0568  *  [6]     | W      | 0x0   | UART 0 Security         
0569  *  [7]     | W      | 0x0   | UART 1 Security         
0570  *  [8]     | W      | 0x0   | CAN 0 Security          
0571  *  [9]     | W      | 0x0   | CAN 1 Security          
0572  *  [10]    | W      | 0x0   | SP Timer 1 Security     
0573  *  [31:11] | ???    | 0x0   | *UNDEFINED*             
0574  * 
0575  */
0576 /*
0577  * Field : SDRAM Registers Security - sdrregs
0578  * 
0579  * Controls whether secure or non-secure masters can access the SDRAM Registers
0580  * slave.
0581  * 
0582  * Field Enumeration Values:
0583  * 
0584  *  Enum                                | Value | Description                                  
0585  * :------------------------------------|:------|:----------------------------------------------
0586  *  ALT_L3_SEC_L4SP_SDRREGS_E_SECURE    | 0x0   | The slave can only be accessed by a secure   
0587  * :                                    |       | master.                                      
0588  *  ALT_L3_SEC_L4SP_SDRREGS_E_NONSECURE | 0x1   | The slave can only be accessed by a secure or
0589  * :                                    |       | non-secure masters.                          
0590  * 
0591  * Field Access Macros:
0592  * 
0593  */
0594 /*
0595  * Enumerated value for register field ALT_L3_SEC_L4SP_SDRREGS
0596  * 
0597  * The slave can only be accessed by a secure master.
0598  */
0599 #define ALT_L3_SEC_L4SP_SDRREGS_E_SECURE    0x0
0600 /*
0601  * Enumerated value for register field ALT_L3_SEC_L4SP_SDRREGS
0602  * 
0603  * The slave can only be accessed by a secure or non-secure masters.
0604  */
0605 #define ALT_L3_SEC_L4SP_SDRREGS_E_NONSECURE 0x1
0606 
0607 /* The Least Significant Bit (LSB) position of the ALT_L3_SEC_L4SP_SDRREGS register field. */
0608 #define ALT_L3_SEC_L4SP_SDRREGS_LSB        0
0609 /* The Most Significant Bit (MSB) position of the ALT_L3_SEC_L4SP_SDRREGS register field. */
0610 #define ALT_L3_SEC_L4SP_SDRREGS_MSB        0
0611 /* The width in bits of the ALT_L3_SEC_L4SP_SDRREGS register field. */
0612 #define ALT_L3_SEC_L4SP_SDRREGS_WIDTH      1
0613 /* The mask used to set the ALT_L3_SEC_L4SP_SDRREGS register field value. */
0614 #define ALT_L3_SEC_L4SP_SDRREGS_SET_MSK    0x00000001
0615 /* The mask used to clear the ALT_L3_SEC_L4SP_SDRREGS register field value. */
0616 #define ALT_L3_SEC_L4SP_SDRREGS_CLR_MSK    0xfffffffe
0617 /* The reset value of the ALT_L3_SEC_L4SP_SDRREGS register field. */
0618 #define ALT_L3_SEC_L4SP_SDRREGS_RESET      0x0
0619 /* Extracts the ALT_L3_SEC_L4SP_SDRREGS field value from a register. */
0620 #define ALT_L3_SEC_L4SP_SDRREGS_GET(value) (((value) & 0x00000001) >> 0)
0621 /* Produces a ALT_L3_SEC_L4SP_SDRREGS register field value suitable for setting the register. */
0622 #define ALT_L3_SEC_L4SP_SDRREGS_SET(value) (((value) << 0) & 0x00000001)
0623 
0624 /*
0625  * Field : SP Timer 0 Security - sptimer0
0626  * 
0627  * Controls whether secure or non-secure masters can access the SP Timer 0 slave.
0628  * 
0629  * Field Enumeration Values:
0630  * 
0631  *  Enum                               | Value | Description                                  
0632  * :-----------------------------------|:------|:----------------------------------------------
0633  *  ALT_L3_SEC_L4SP_SPTMR0_E_SECURE    | 0x0   | The slave can only be accessed by a secure   
0634  * :                                   |       | master.                                      
0635  *  ALT_L3_SEC_L4SP_SPTMR0_E_NONSECURE | 0x1   | The slave can only be accessed by a secure or
0636  * :                                   |       | non-secure masters.                          
0637  * 
0638  * Field Access Macros:
0639  * 
0640  */
0641 /*
0642  * Enumerated value for register field ALT_L3_SEC_L4SP_SPTMR0
0643  * 
0644  * The slave can only be accessed by a secure master.
0645  */
0646 #define ALT_L3_SEC_L4SP_SPTMR0_E_SECURE     0x0
0647 /*
0648  * Enumerated value for register field ALT_L3_SEC_L4SP_SPTMR0
0649  * 
0650  * The slave can only be accessed by a secure or non-secure masters.
0651  */
0652 #define ALT_L3_SEC_L4SP_SPTMR0_E_NONSECURE  0x1
0653 
0654 /* The Least Significant Bit (LSB) position of the ALT_L3_SEC_L4SP_SPTMR0 register field. */
0655 #define ALT_L3_SEC_L4SP_SPTMR0_LSB        1
0656 /* The Most Significant Bit (MSB) position of the ALT_L3_SEC_L4SP_SPTMR0 register field. */
0657 #define ALT_L3_SEC_L4SP_SPTMR0_MSB        1
0658 /* The width in bits of the ALT_L3_SEC_L4SP_SPTMR0 register field. */
0659 #define ALT_L3_SEC_L4SP_SPTMR0_WIDTH      1
0660 /* The mask used to set the ALT_L3_SEC_L4SP_SPTMR0 register field value. */
0661 #define ALT_L3_SEC_L4SP_SPTMR0_SET_MSK    0x00000002
0662 /* The mask used to clear the ALT_L3_SEC_L4SP_SPTMR0 register field value. */
0663 #define ALT_L3_SEC_L4SP_SPTMR0_CLR_MSK    0xfffffffd
0664 /* The reset value of the ALT_L3_SEC_L4SP_SPTMR0 register field. */
0665 #define ALT_L3_SEC_L4SP_SPTMR0_RESET      0x0
0666 /* Extracts the ALT_L3_SEC_L4SP_SPTMR0 field value from a register. */
0667 #define ALT_L3_SEC_L4SP_SPTMR0_GET(value) (((value) & 0x00000002) >> 1)
0668 /* Produces a ALT_L3_SEC_L4SP_SPTMR0 register field value suitable for setting the register. */
0669 #define ALT_L3_SEC_L4SP_SPTMR0_SET(value) (((value) << 1) & 0x00000002)
0670 
0671 /*
0672  * Field : I2C0 Security - i2c0
0673  * 
0674  * Controls whether secure or non-secure masters can access the I2C0 slave.
0675  * 
0676  * Field Enumeration Values:
0677  * 
0678  *  Enum                             | Value | Description                                  
0679  * :---------------------------------|:------|:----------------------------------------------
0680  *  ALT_L3_SEC_L4SP_I2C0_E_SECURE    | 0x0   | The slave can only be accessed by a secure   
0681  * :                                 |       | master.                                      
0682  *  ALT_L3_SEC_L4SP_I2C0_E_NONSECURE | 0x1   | The slave can only be accessed by a secure or
0683  * :                                 |       | non-secure masters.                          
0684  * 
0685  * Field Access Macros:
0686  * 
0687  */
0688 /*
0689  * Enumerated value for register field ALT_L3_SEC_L4SP_I2C0
0690  * 
0691  * The slave can only be accessed by a secure master.
0692  */
0693 #define ALT_L3_SEC_L4SP_I2C0_E_SECURE       0x0
0694 /*
0695  * Enumerated value for register field ALT_L3_SEC_L4SP_I2C0
0696  * 
0697  * The slave can only be accessed by a secure or non-secure masters.
0698  */
0699 #define ALT_L3_SEC_L4SP_I2C0_E_NONSECURE    0x1
0700 
0701 /* The Least Significant Bit (LSB) position of the ALT_L3_SEC_L4SP_I2C0 register field. */
0702 #define ALT_L3_SEC_L4SP_I2C0_LSB        2
0703 /* The Most Significant Bit (MSB) position of the ALT_L3_SEC_L4SP_I2C0 register field. */
0704 #define ALT_L3_SEC_L4SP_I2C0_MSB        2
0705 /* The width in bits of the ALT_L3_SEC_L4SP_I2C0 register field. */
0706 #define ALT_L3_SEC_L4SP_I2C0_WIDTH      1
0707 /* The mask used to set the ALT_L3_SEC_L4SP_I2C0 register field value. */
0708 #define ALT_L3_SEC_L4SP_I2C0_SET_MSK    0x00000004
0709 /* The mask used to clear the ALT_L3_SEC_L4SP_I2C0 register field value. */
0710 #define ALT_L3_SEC_L4SP_I2C0_CLR_MSK    0xfffffffb
0711 /* The reset value of the ALT_L3_SEC_L4SP_I2C0 register field. */
0712 #define ALT_L3_SEC_L4SP_I2C0_RESET      0x0
0713 /* Extracts the ALT_L3_SEC_L4SP_I2C0 field value from a register. */
0714 #define ALT_L3_SEC_L4SP_I2C0_GET(value) (((value) & 0x00000004) >> 2)
0715 /* Produces a ALT_L3_SEC_L4SP_I2C0 register field value suitable for setting the register. */
0716 #define ALT_L3_SEC_L4SP_I2C0_SET(value) (((value) << 2) & 0x00000004)
0717 
0718 /*
0719  * Field : I2C1 Security - i2c1
0720  * 
0721  * Controls whether secure or non-secure masters can access the I2C1 slave.
0722  * 
0723  * Field Enumeration Values:
0724  * 
0725  *  Enum                             | Value | Description                                  
0726  * :---------------------------------|:------|:----------------------------------------------
0727  *  ALT_L3_SEC_L4SP_I2C1_E_SECURE    | 0x0   | The slave can only be accessed by a secure   
0728  * :                                 |       | master.                                      
0729  *  ALT_L3_SEC_L4SP_I2C1_E_NONSECURE | 0x1   | The slave can only be accessed by a secure or
0730  * :                                 |       | non-secure masters.                          
0731  * 
0732  * Field Access Macros:
0733  * 
0734  */
0735 /*
0736  * Enumerated value for register field ALT_L3_SEC_L4SP_I2C1
0737  * 
0738  * The slave can only be accessed by a secure master.
0739  */
0740 #define ALT_L3_SEC_L4SP_I2C1_E_SECURE       0x0
0741 /*
0742  * Enumerated value for register field ALT_L3_SEC_L4SP_I2C1
0743  * 
0744  * The slave can only be accessed by a secure or non-secure masters.
0745  */
0746 #define ALT_L3_SEC_L4SP_I2C1_E_NONSECURE    0x1
0747 
0748 /* The Least Significant Bit (LSB) position of the ALT_L3_SEC_L4SP_I2C1 register field. */
0749 #define ALT_L3_SEC_L4SP_I2C1_LSB        3
0750 /* The Most Significant Bit (MSB) position of the ALT_L3_SEC_L4SP_I2C1 register field. */
0751 #define ALT_L3_SEC_L4SP_I2C1_MSB        3
0752 /* The width in bits of the ALT_L3_SEC_L4SP_I2C1 register field. */
0753 #define ALT_L3_SEC_L4SP_I2C1_WIDTH      1
0754 /* The mask used to set the ALT_L3_SEC_L4SP_I2C1 register field value. */
0755 #define ALT_L3_SEC_L4SP_I2C1_SET_MSK    0x00000008
0756 /* The mask used to clear the ALT_L3_SEC_L4SP_I2C1 register field value. */
0757 #define ALT_L3_SEC_L4SP_I2C1_CLR_MSK    0xfffffff7
0758 /* The reset value of the ALT_L3_SEC_L4SP_I2C1 register field. */
0759 #define ALT_L3_SEC_L4SP_I2C1_RESET      0x0
0760 /* Extracts the ALT_L3_SEC_L4SP_I2C1 field value from a register. */
0761 #define ALT_L3_SEC_L4SP_I2C1_GET(value) (((value) & 0x00000008) >> 3)
0762 /* Produces a ALT_L3_SEC_L4SP_I2C1 register field value suitable for setting the register. */
0763 #define ALT_L3_SEC_L4SP_I2C1_SET(value) (((value) << 3) & 0x00000008)
0764 
0765 /*
0766  * Field : I2C2 (EMAC 0) Security - i2c2
0767  * 
0768  * Controls whether secure or non-secure masters can access the I2C2 (EMAC 0)
0769  * slave.
0770  * 
0771  * Field Enumeration Values:
0772  * 
0773  *  Enum                             | Value | Description                                  
0774  * :---------------------------------|:------|:----------------------------------------------
0775  *  ALT_L3_SEC_L4SP_I2C2_E_SECURE    | 0x0   | The slave can only be accessed by a secure   
0776  * :                                 |       | master.                                      
0777  *  ALT_L3_SEC_L4SP_I2C2_E_NONSECURE | 0x1   | The slave can only be accessed by a secure or
0778  * :                                 |       | non-secure masters.                          
0779  * 
0780  * Field Access Macros:
0781  * 
0782  */
0783 /*
0784  * Enumerated value for register field ALT_L3_SEC_L4SP_I2C2
0785  * 
0786  * The slave can only be accessed by a secure master.
0787  */
0788 #define ALT_L3_SEC_L4SP_I2C2_E_SECURE       0x0
0789 /*
0790  * Enumerated value for register field ALT_L3_SEC_L4SP_I2C2
0791  * 
0792  * The slave can only be accessed by a secure or non-secure masters.
0793  */
0794 #define ALT_L3_SEC_L4SP_I2C2_E_NONSECURE    0x1
0795 
0796 /* The Least Significant Bit (LSB) position of the ALT_L3_SEC_L4SP_I2C2 register field. */
0797 #define ALT_L3_SEC_L4SP_I2C2_LSB        4
0798 /* The Most Significant Bit (MSB) position of the ALT_L3_SEC_L4SP_I2C2 register field. */
0799 #define ALT_L3_SEC_L4SP_I2C2_MSB        4
0800 /* The width in bits of the ALT_L3_SEC_L4SP_I2C2 register field. */
0801 #define ALT_L3_SEC_L4SP_I2C2_WIDTH      1
0802 /* The mask used to set the ALT_L3_SEC_L4SP_I2C2 register field value. */
0803 #define ALT_L3_SEC_L4SP_I2C2_SET_MSK    0x00000010
0804 /* The mask used to clear the ALT_L3_SEC_L4SP_I2C2 register field value. */
0805 #define ALT_L3_SEC_L4SP_I2C2_CLR_MSK    0xffffffef
0806 /* The reset value of the ALT_L3_SEC_L4SP_I2C2 register field. */
0807 #define ALT_L3_SEC_L4SP_I2C2_RESET      0x0
0808 /* Extracts the ALT_L3_SEC_L4SP_I2C2 field value from a register. */
0809 #define ALT_L3_SEC_L4SP_I2C2_GET(value) (((value) & 0x00000010) >> 4)
0810 /* Produces a ALT_L3_SEC_L4SP_I2C2 register field value suitable for setting the register. */
0811 #define ALT_L3_SEC_L4SP_I2C2_SET(value) (((value) << 4) & 0x00000010)
0812 
0813 /*
0814  * Field : I2C3 (EMAC 1) Security - i2c3
0815  * 
0816  * Controls whether secure or non-secure masters can access the I2C3 (EMAC 1)
0817  * slave.
0818  * 
0819  * Field Enumeration Values:
0820  * 
0821  *  Enum                             | Value | Description                                  
0822  * :---------------------------------|:------|:----------------------------------------------
0823  *  ALT_L3_SEC_L4SP_I2C3_E_SECURE    | 0x0   | The slave can only be accessed by a secure   
0824  * :                                 |       | master.                                      
0825  *  ALT_L3_SEC_L4SP_I2C3_E_NONSECURE | 0x1   | The slave can only be accessed by a secure or
0826  * :                                 |       | non-secure masters.                          
0827  * 
0828  * Field Access Macros:
0829  * 
0830  */
0831 /*
0832  * Enumerated value for register field ALT_L3_SEC_L4SP_I2C3
0833  * 
0834  * The slave can only be accessed by a secure master.
0835  */
0836 #define ALT_L3_SEC_L4SP_I2C3_E_SECURE       0x0
0837 /*
0838  * Enumerated value for register field ALT_L3_SEC_L4SP_I2C3
0839  * 
0840  * The slave can only be accessed by a secure or non-secure masters.
0841  */
0842 #define ALT_L3_SEC_L4SP_I2C3_E_NONSECURE    0x1
0843 
0844 /* The Least Significant Bit (LSB) position of the ALT_L3_SEC_L4SP_I2C3 register field. */
0845 #define ALT_L3_SEC_L4SP_I2C3_LSB        5
0846 /* The Most Significant Bit (MSB) position of the ALT_L3_SEC_L4SP_I2C3 register field. */
0847 #define ALT_L3_SEC_L4SP_I2C3_MSB        5
0848 /* The width in bits of the ALT_L3_SEC_L4SP_I2C3 register field. */
0849 #define ALT_L3_SEC_L4SP_I2C3_WIDTH      1
0850 /* The mask used to set the ALT_L3_SEC_L4SP_I2C3 register field value. */
0851 #define ALT_L3_SEC_L4SP_I2C3_SET_MSK    0x00000020
0852 /* The mask used to clear the ALT_L3_SEC_L4SP_I2C3 register field value. */
0853 #define ALT_L3_SEC_L4SP_I2C3_CLR_MSK    0xffffffdf
0854 /* The reset value of the ALT_L3_SEC_L4SP_I2C3 register field. */
0855 #define ALT_L3_SEC_L4SP_I2C3_RESET      0x0
0856 /* Extracts the ALT_L3_SEC_L4SP_I2C3 field value from a register. */
0857 #define ALT_L3_SEC_L4SP_I2C3_GET(value) (((value) & 0x00000020) >> 5)
0858 /* Produces a ALT_L3_SEC_L4SP_I2C3 register field value suitable for setting the register. */
0859 #define ALT_L3_SEC_L4SP_I2C3_SET(value) (((value) << 5) & 0x00000020)
0860 
0861 /*
0862  * Field : UART 0 Security - uart0
0863  * 
0864  * Controls whether secure or non-secure masters can access the UART 0 slave.
0865  * 
0866  * Field Enumeration Values:
0867  * 
0868  *  Enum                              | Value | Description                                  
0869  * :----------------------------------|:------|:----------------------------------------------
0870  *  ALT_L3_SEC_L4SP_UART0_E_SECURE    | 0x0   | The slave can only be accessed by a secure   
0871  * :                                  |       | master.                                      
0872  *  ALT_L3_SEC_L4SP_UART0_E_NONSECURE | 0x1   | The slave can only be accessed by a secure or
0873  * :                                  |       | non-secure masters.                          
0874  * 
0875  * Field Access Macros:
0876  * 
0877  */
0878 /*
0879  * Enumerated value for register field ALT_L3_SEC_L4SP_UART0
0880  * 
0881  * The slave can only be accessed by a secure master.
0882  */
0883 #define ALT_L3_SEC_L4SP_UART0_E_SECURE      0x0
0884 /*
0885  * Enumerated value for register field ALT_L3_SEC_L4SP_UART0
0886  * 
0887  * The slave can only be accessed by a secure or non-secure masters.
0888  */
0889 #define ALT_L3_SEC_L4SP_UART0_E_NONSECURE   0x1
0890 
0891 /* The Least Significant Bit (LSB) position of the ALT_L3_SEC_L4SP_UART0 register field. */
0892 #define ALT_L3_SEC_L4SP_UART0_LSB        6
0893 /* The Most Significant Bit (MSB) position of the ALT_L3_SEC_L4SP_UART0 register field. */
0894 #define ALT_L3_SEC_L4SP_UART0_MSB        6
0895 /* The width in bits of the ALT_L3_SEC_L4SP_UART0 register field. */
0896 #define ALT_L3_SEC_L4SP_UART0_WIDTH      1
0897 /* The mask used to set the ALT_L3_SEC_L4SP_UART0 register field value. */
0898 #define ALT_L3_SEC_L4SP_UART0_SET_MSK    0x00000040
0899 /* The mask used to clear the ALT_L3_SEC_L4SP_UART0 register field value. */
0900 #define ALT_L3_SEC_L4SP_UART0_CLR_MSK    0xffffffbf
0901 /* The reset value of the ALT_L3_SEC_L4SP_UART0 register field. */
0902 #define ALT_L3_SEC_L4SP_UART0_RESET      0x0
0903 /* Extracts the ALT_L3_SEC_L4SP_UART0 field value from a register. */
0904 #define ALT_L3_SEC_L4SP_UART0_GET(value) (((value) & 0x00000040) >> 6)
0905 /* Produces a ALT_L3_SEC_L4SP_UART0 register field value suitable for setting the register. */
0906 #define ALT_L3_SEC_L4SP_UART0_SET(value) (((value) << 6) & 0x00000040)
0907 
0908 /*
0909  * Field : UART 1 Security - uart1
0910  * 
0911  * Controls whether secure or non-secure masters can access the UART 1 slave.
0912  * 
0913  * Field Enumeration Values:
0914  * 
0915  *  Enum                              | Value | Description                                  
0916  * :----------------------------------|:------|:----------------------------------------------
0917  *  ALT_L3_SEC_L4SP_UART1_E_SECURE    | 0x0   | The slave can only be accessed by a secure   
0918  * :                                  |       | master.                                      
0919  *  ALT_L3_SEC_L4SP_UART1_E_NONSECURE | 0x1   | The slave can only be accessed by a secure or
0920  * :                                  |       | non-secure masters.                          
0921  * 
0922  * Field Access Macros:
0923  * 
0924  */
0925 /*
0926  * Enumerated value for register field ALT_L3_SEC_L4SP_UART1
0927  * 
0928  * The slave can only be accessed by a secure master.
0929  */
0930 #define ALT_L3_SEC_L4SP_UART1_E_SECURE      0x0
0931 /*
0932  * Enumerated value for register field ALT_L3_SEC_L4SP_UART1
0933  * 
0934  * The slave can only be accessed by a secure or non-secure masters.
0935  */
0936 #define ALT_L3_SEC_L4SP_UART1_E_NONSECURE   0x1
0937 
0938 /* The Least Significant Bit (LSB) position of the ALT_L3_SEC_L4SP_UART1 register field. */
0939 #define ALT_L3_SEC_L4SP_UART1_LSB        7
0940 /* The Most Significant Bit (MSB) position of the ALT_L3_SEC_L4SP_UART1 register field. */
0941 #define ALT_L3_SEC_L4SP_UART1_MSB        7
0942 /* The width in bits of the ALT_L3_SEC_L4SP_UART1 register field. */
0943 #define ALT_L3_SEC_L4SP_UART1_WIDTH      1
0944 /* The mask used to set the ALT_L3_SEC_L4SP_UART1 register field value. */
0945 #define ALT_L3_SEC_L4SP_UART1_SET_MSK    0x00000080
0946 /* The mask used to clear the ALT_L3_SEC_L4SP_UART1 register field value. */
0947 #define ALT_L3_SEC_L4SP_UART1_CLR_MSK    0xffffff7f
0948 /* The reset value of the ALT_L3_SEC_L4SP_UART1 register field. */
0949 #define ALT_L3_SEC_L4SP_UART1_RESET      0x0
0950 /* Extracts the ALT_L3_SEC_L4SP_UART1 field value from a register. */
0951 #define ALT_L3_SEC_L4SP_UART1_GET(value) (((value) & 0x00000080) >> 7)
0952 /* Produces a ALT_L3_SEC_L4SP_UART1 register field value suitable for setting the register. */
0953 #define ALT_L3_SEC_L4SP_UART1_SET(value) (((value) << 7) & 0x00000080)
0954 
0955 /*
0956  * Field : CAN 0 Security - can0
0957  * 
0958  * Controls whether secure or non-secure masters can access the CAN 0 slave.
0959  * 
0960  * Field Enumeration Values:
0961  * 
0962  *  Enum                             | Value | Description                                  
0963  * :---------------------------------|:------|:----------------------------------------------
0964  *  ALT_L3_SEC_L4SP_CAN0_E_SECURE    | 0x0   | The slave can only be accessed by a secure   
0965  * :                                 |       | master.                                      
0966  *  ALT_L3_SEC_L4SP_CAN0_E_NONSECURE | 0x1   | The slave can only be accessed by a secure or
0967  * :                                 |       | non-secure masters.                          
0968  * 
0969  * Field Access Macros:
0970  * 
0971  */
0972 /*
0973  * Enumerated value for register field ALT_L3_SEC_L4SP_CAN0
0974  * 
0975  * The slave can only be accessed by a secure master.
0976  */
0977 #define ALT_L3_SEC_L4SP_CAN0_E_SECURE       0x0
0978 /*
0979  * Enumerated value for register field ALT_L3_SEC_L4SP_CAN0
0980  * 
0981  * The slave can only be accessed by a secure or non-secure masters.
0982  */
0983 #define ALT_L3_SEC_L4SP_CAN0_E_NONSECURE    0x1
0984 
0985 /* The Least Significant Bit (LSB) position of the ALT_L3_SEC_L4SP_CAN0 register field. */
0986 #define ALT_L3_SEC_L4SP_CAN0_LSB        8
0987 /* The Most Significant Bit (MSB) position of the ALT_L3_SEC_L4SP_CAN0 register field. */
0988 #define ALT_L3_SEC_L4SP_CAN0_MSB        8
0989 /* The width in bits of the ALT_L3_SEC_L4SP_CAN0 register field. */
0990 #define ALT_L3_SEC_L4SP_CAN0_WIDTH      1
0991 /* The mask used to set the ALT_L3_SEC_L4SP_CAN0 register field value. */
0992 #define ALT_L3_SEC_L4SP_CAN0_SET_MSK    0x00000100
0993 /* The mask used to clear the ALT_L3_SEC_L4SP_CAN0 register field value. */
0994 #define ALT_L3_SEC_L4SP_CAN0_CLR_MSK    0xfffffeff
0995 /* The reset value of the ALT_L3_SEC_L4SP_CAN0 register field. */
0996 #define ALT_L3_SEC_L4SP_CAN0_RESET      0x0
0997 /* Extracts the ALT_L3_SEC_L4SP_CAN0 field value from a register. */
0998 #define ALT_L3_SEC_L4SP_CAN0_GET(value) (((value) & 0x00000100) >> 8)
0999 /* Produces a ALT_L3_SEC_L4SP_CAN0 register field value suitable for setting the register. */
1000 #define ALT_L3_SEC_L4SP_CAN0_SET(value) (((value) << 8) & 0x00000100)
1001 
1002 /*
1003  * Field : CAN 1 Security - can1
1004  * 
1005  * Controls whether secure or non-secure masters can access the CAN 1 slave.
1006  * 
1007  * Field Enumeration Values:
1008  * 
1009  *  Enum                             | Value | Description                                  
1010  * :---------------------------------|:------|:----------------------------------------------
1011  *  ALT_L3_SEC_L4SP_CAN1_E_SECURE    | 0x0   | The slave can only be accessed by a secure   
1012  * :                                 |       | master.                                      
1013  *  ALT_L3_SEC_L4SP_CAN1_E_NONSECURE | 0x1   | The slave can only be accessed by a secure or
1014  * :                                 |       | non-secure masters.                          
1015  * 
1016  * Field Access Macros:
1017  * 
1018  */
1019 /*
1020  * Enumerated value for register field ALT_L3_SEC_L4SP_CAN1
1021  * 
1022  * The slave can only be accessed by a secure master.
1023  */
1024 #define ALT_L3_SEC_L4SP_CAN1_E_SECURE       0x0
1025 /*
1026  * Enumerated value for register field ALT_L3_SEC_L4SP_CAN1
1027  * 
1028  * The slave can only be accessed by a secure or non-secure masters.
1029  */
1030 #define ALT_L3_SEC_L4SP_CAN1_E_NONSECURE    0x1
1031 
1032 /* The Least Significant Bit (LSB) position of the ALT_L3_SEC_L4SP_CAN1 register field. */
1033 #define ALT_L3_SEC_L4SP_CAN1_LSB        9
1034 /* The Most Significant Bit (MSB) position of the ALT_L3_SEC_L4SP_CAN1 register field. */
1035 #define ALT_L3_SEC_L4SP_CAN1_MSB        9
1036 /* The width in bits of the ALT_L3_SEC_L4SP_CAN1 register field. */
1037 #define ALT_L3_SEC_L4SP_CAN1_WIDTH      1
1038 /* The mask used to set the ALT_L3_SEC_L4SP_CAN1 register field value. */
1039 #define ALT_L3_SEC_L4SP_CAN1_SET_MSK    0x00000200
1040 /* The mask used to clear the ALT_L3_SEC_L4SP_CAN1 register field value. */
1041 #define ALT_L3_SEC_L4SP_CAN1_CLR_MSK    0xfffffdff
1042 /* The reset value of the ALT_L3_SEC_L4SP_CAN1 register field. */
1043 #define ALT_L3_SEC_L4SP_CAN1_RESET      0x0
1044 /* Extracts the ALT_L3_SEC_L4SP_CAN1 field value from a register. */
1045 #define ALT_L3_SEC_L4SP_CAN1_GET(value) (((value) & 0x00000200) >> 9)
1046 /* Produces a ALT_L3_SEC_L4SP_CAN1 register field value suitable for setting the register. */
1047 #define ALT_L3_SEC_L4SP_CAN1_SET(value) (((value) << 9) & 0x00000200)
1048 
1049 /*
1050  * Field : SP Timer 1 Security - sptimer1
1051  * 
1052  * Controls whether secure or non-secure masters can access the SP Timer 1 slave.
1053  * 
1054  * Field Enumeration Values:
1055  * 
1056  *  Enum                               | Value | Description                                  
1057  * :-----------------------------------|:------|:----------------------------------------------
1058  *  ALT_L3_SEC_L4SP_SPTMR1_E_SECURE    | 0x0   | The slave can only be accessed by a secure   
1059  * :                                   |       | master.                                      
1060  *  ALT_L3_SEC_L4SP_SPTMR1_E_NONSECURE | 0x1   | The slave can only be accessed by a secure or
1061  * :                                   |       | non-secure masters.                          
1062  * 
1063  * Field Access Macros:
1064  * 
1065  */
1066 /*
1067  * Enumerated value for register field ALT_L3_SEC_L4SP_SPTMR1
1068  * 
1069  * The slave can only be accessed by a secure master.
1070  */
1071 #define ALT_L3_SEC_L4SP_SPTMR1_E_SECURE     0x0
1072 /*
1073  * Enumerated value for register field ALT_L3_SEC_L4SP_SPTMR1
1074  * 
1075  * The slave can only be accessed by a secure or non-secure masters.
1076  */
1077 #define ALT_L3_SEC_L4SP_SPTMR1_E_NONSECURE  0x1
1078 
1079 /* The Least Significant Bit (LSB) position of the ALT_L3_SEC_L4SP_SPTMR1 register field. */
1080 #define ALT_L3_SEC_L4SP_SPTMR1_LSB        10
1081 /* The Most Significant Bit (MSB) position of the ALT_L3_SEC_L4SP_SPTMR1 register field. */
1082 #define ALT_L3_SEC_L4SP_SPTMR1_MSB        10
1083 /* The width in bits of the ALT_L3_SEC_L4SP_SPTMR1 register field. */
1084 #define ALT_L3_SEC_L4SP_SPTMR1_WIDTH      1
1085 /* The mask used to set the ALT_L3_SEC_L4SP_SPTMR1 register field value. */
1086 #define ALT_L3_SEC_L4SP_SPTMR1_SET_MSK    0x00000400
1087 /* The mask used to clear the ALT_L3_SEC_L4SP_SPTMR1 register field value. */
1088 #define ALT_L3_SEC_L4SP_SPTMR1_CLR_MSK    0xfffffbff
1089 /* The reset value of the ALT_L3_SEC_L4SP_SPTMR1 register field. */
1090 #define ALT_L3_SEC_L4SP_SPTMR1_RESET      0x0
1091 /* Extracts the ALT_L3_SEC_L4SP_SPTMR1 field value from a register. */
1092 #define ALT_L3_SEC_L4SP_SPTMR1_GET(value) (((value) & 0x00000400) >> 10)
1093 /* Produces a ALT_L3_SEC_L4SP_SPTMR1 register field value suitable for setting the register. */
1094 #define ALT_L3_SEC_L4SP_SPTMR1_SET(value) (((value) << 10) & 0x00000400)
1095 
1096 #ifndef __ASSEMBLY__
1097 /*
1098  * WARNING: The C register and register group struct declarations are provided for
1099  * convenience and illustrative purposes. They should, however, be used with
1100  * caution as the C language standard provides no guarantees about the alignment or
1101  * atomicity of device memory accesses. The recommended practice for writing
1102  * hardware drivers is to use the SoCAL access macros and alt_read_word() and
1103  * alt_write_word() functions.
1104  * 
1105  * The struct declaration for register ALT_L3_SEC_L4SP.
1106  */
1107 struct ALT_L3_SEC_L4SP_s
1108 {
1109     uint32_t  sdrregs  :  1;  /* SDRAM Registers Security */
1110     uint32_t  sptimer0 :  1;  /* SP Timer 0 Security */
1111     uint32_t  i2c0     :  1;  /* I2C0 Security */
1112     uint32_t  i2c1     :  1;  /* I2C1 Security */
1113     uint32_t  i2c2     :  1;  /* I2C2 (EMAC 0) Security */
1114     uint32_t  i2c3     :  1;  /* I2C3 (EMAC 1) Security */
1115     uint32_t  uart0    :  1;  /* UART 0 Security */
1116     uint32_t  uart1    :  1;  /* UART 1 Security */
1117     uint32_t  can0     :  1;  /* CAN 0 Security */
1118     uint32_t  can1     :  1;  /* CAN 1 Security */
1119     uint32_t  sptimer1 :  1;  /* SP Timer 1 Security */
1120     uint32_t           : 21;  /* *UNDEFINED* */
1121 };
1122 
1123 /* The typedef declaration for register ALT_L3_SEC_L4SP. */
1124 typedef volatile struct ALT_L3_SEC_L4SP_s  ALT_L3_SEC_L4SP_t;
1125 #endif  /* __ASSEMBLY__ */
1126 
1127 /* The byte offset of the ALT_L3_SEC_L4SP register from the beginning of the component. */
1128 #define ALT_L3_SEC_L4SP_OFST        0x4
1129 
1130 /*
1131  * Register : L4 MP Peripherals Security - l4mp
1132  * 
1133  * Controls security settings for L4 MP peripherals.
1134  * 
1135  * Register Layout
1136  * 
1137  *  Bits    | Access | Reset | Description                   
1138  * :--------|:-------|:------|:-------------------------------
1139  *  [0]     | W      | 0x0   | FPGA Manager Register Security
1140  *  [1]     | W      | 0x0   | DAP Security                  
1141  *  [2]     | W      | 0x0   | QSPI Registers Security       
1142  *  [3]     | W      | 0x0   | SDMMC Security                
1143  *  [4]     | W      | 0x0   | EMAC 0 Security               
1144  *  [5]     | W      | 0x0   | EMAC 1 Security               
1145  *  [6]     | W      | 0x0   | ACP ID Mapper Security        
1146  *  [7]     | W      | 0x0   | GPIO 0 Security               
1147  *  [8]     | W      | 0x0   | GPIO 1 Security               
1148  *  [9]     | W      | 0x0   | GPIO 2 Security               
1149  *  [31:10] | ???    | 0x0   | *UNDEFINED*                   
1150  * 
1151  */
1152 /*
1153  * Field : FPGA Manager Register Security - fpgamgrregs
1154  * 
1155  * Controls whether secure or non-secure masters can access the FPGA Manager
1156  * Register slave.
1157  * 
1158  * Field Enumeration Values:
1159  * 
1160  *  Enum                                | Value | Description                                  
1161  * :------------------------------------|:------|:----------------------------------------------
1162  *  ALT_L3_SEC_L4MP_FPGAMGR_E_SECURE    | 0x0   | The slave can only be accessed by a secure   
1163  * :                                    |       | master.                                      
1164  *  ALT_L3_SEC_L4MP_FPGAMGR_E_NONSECURE | 0x1   | The slave can only be accessed by a secure or
1165  * :                                    |       | non-secure masters.                          
1166  * 
1167  * Field Access Macros:
1168  * 
1169  */
1170 /*
1171  * Enumerated value for register field ALT_L3_SEC_L4MP_FPGAMGR
1172  * 
1173  * The slave can only be accessed by a secure master.
1174  */
1175 #define ALT_L3_SEC_L4MP_FPGAMGR_E_SECURE    0x0
1176 /*
1177  * Enumerated value for register field ALT_L3_SEC_L4MP_FPGAMGR
1178  * 
1179  * The slave can only be accessed by a secure or non-secure masters.
1180  */
1181 #define ALT_L3_SEC_L4MP_FPGAMGR_E_NONSECURE 0x1
1182 
1183 /* The Least Significant Bit (LSB) position of the ALT_L3_SEC_L4MP_FPGAMGR register field. */
1184 #define ALT_L3_SEC_L4MP_FPGAMGR_LSB        0
1185 /* The Most Significant Bit (MSB) position of the ALT_L3_SEC_L4MP_FPGAMGR register field. */
1186 #define ALT_L3_SEC_L4MP_FPGAMGR_MSB        0
1187 /* The width in bits of the ALT_L3_SEC_L4MP_FPGAMGR register field. */
1188 #define ALT_L3_SEC_L4MP_FPGAMGR_WIDTH      1
1189 /* The mask used to set the ALT_L3_SEC_L4MP_FPGAMGR register field value. */
1190 #define ALT_L3_SEC_L4MP_FPGAMGR_SET_MSK    0x00000001
1191 /* The mask used to clear the ALT_L3_SEC_L4MP_FPGAMGR register field value. */
1192 #define ALT_L3_SEC_L4MP_FPGAMGR_CLR_MSK    0xfffffffe
1193 /* The reset value of the ALT_L3_SEC_L4MP_FPGAMGR register field. */
1194 #define ALT_L3_SEC_L4MP_FPGAMGR_RESET      0x0
1195 /* Extracts the ALT_L3_SEC_L4MP_FPGAMGR field value from a register. */
1196 #define ALT_L3_SEC_L4MP_FPGAMGR_GET(value) (((value) & 0x00000001) >> 0)
1197 /* Produces a ALT_L3_SEC_L4MP_FPGAMGR register field value suitable for setting the register. */
1198 #define ALT_L3_SEC_L4MP_FPGAMGR_SET(value) (((value) << 0) & 0x00000001)
1199 
1200 /*
1201  * Field : DAP Security - dap
1202  * 
1203  * Controls whether secure or non-secure masters can access the DAP slave.
1204  * 
1205  * Field Enumeration Values:
1206  * 
1207  *  Enum                            | Value | Description                                  
1208  * :--------------------------------|:------|:----------------------------------------------
1209  *  ALT_L3_SEC_L4MP_DAP_E_SECURE    | 0x0   | The slave can only be accessed by a secure   
1210  * :                                |       | master.                                      
1211  *  ALT_L3_SEC_L4MP_DAP_E_NONSECURE | 0x1   | The slave can only be accessed by a secure or
1212  * :                                |       | non-secure masters.                          
1213  * 
1214  * Field Access Macros:
1215  * 
1216  */
1217 /*
1218  * Enumerated value for register field ALT_L3_SEC_L4MP_DAP
1219  * 
1220  * The slave can only be accessed by a secure master.
1221  */
1222 #define ALT_L3_SEC_L4MP_DAP_E_SECURE    0x0
1223 /*
1224  * Enumerated value for register field ALT_L3_SEC_L4MP_DAP
1225  * 
1226  * The slave can only be accessed by a secure or non-secure masters.
1227  */
1228 #define ALT_L3_SEC_L4MP_DAP_E_NONSECURE 0x1
1229 
1230 /* The Least Significant Bit (LSB) position of the ALT_L3_SEC_L4MP_DAP register field. */
1231 #define ALT_L3_SEC_L4MP_DAP_LSB        1
1232 /* The Most Significant Bit (MSB) position of the ALT_L3_SEC_L4MP_DAP register field. */
1233 #define ALT_L3_SEC_L4MP_DAP_MSB        1
1234 /* The width in bits of the ALT_L3_SEC_L4MP_DAP register field. */
1235 #define ALT_L3_SEC_L4MP_DAP_WIDTH      1
1236 /* The mask used to set the ALT_L3_SEC_L4MP_DAP register field value. */
1237 #define ALT_L3_SEC_L4MP_DAP_SET_MSK    0x00000002
1238 /* The mask used to clear the ALT_L3_SEC_L4MP_DAP register field value. */
1239 #define ALT_L3_SEC_L4MP_DAP_CLR_MSK    0xfffffffd
1240 /* The reset value of the ALT_L3_SEC_L4MP_DAP register field. */
1241 #define ALT_L3_SEC_L4MP_DAP_RESET      0x0
1242 /* Extracts the ALT_L3_SEC_L4MP_DAP field value from a register. */
1243 #define ALT_L3_SEC_L4MP_DAP_GET(value) (((value) & 0x00000002) >> 1)
1244 /* Produces a ALT_L3_SEC_L4MP_DAP register field value suitable for setting the register. */
1245 #define ALT_L3_SEC_L4MP_DAP_SET(value) (((value) << 1) & 0x00000002)
1246 
1247 /*
1248  * Field : QSPI Registers Security - qspiregs
1249  * 
1250  * Controls whether secure or non-secure masters can access the QSPI Registers
1251  * slave.
1252  * 
1253  * Field Enumeration Values:
1254  * 
1255  *  Enum                             | Value | Description                                  
1256  * :---------------------------------|:------|:----------------------------------------------
1257  *  ALT_L3_SEC_L4MP_QSPI_E_SECURE    | 0x0   | The slave can only be accessed by a secure   
1258  * :                                 |       | master.                                      
1259  *  ALT_L3_SEC_L4MP_QSPI_E_NONSECURE | 0x1   | The slave can only be accessed by a secure or
1260  * :                                 |       | non-secure masters.                          
1261  * 
1262  * Field Access Macros:
1263  * 
1264  */
1265 /*
1266  * Enumerated value for register field ALT_L3_SEC_L4MP_QSPI
1267  * 
1268  * The slave can only be accessed by a secure master.
1269  */
1270 #define ALT_L3_SEC_L4MP_QSPI_E_SECURE       0x0
1271 /*
1272  * Enumerated value for register field ALT_L3_SEC_L4MP_QSPI
1273  * 
1274  * The slave can only be accessed by a secure or non-secure masters.
1275  */
1276 #define ALT_L3_SEC_L4MP_QSPI_E_NONSECURE    0x1
1277 
1278 /* The Least Significant Bit (LSB) position of the ALT_L3_SEC_L4MP_QSPI register field. */
1279 #define ALT_L3_SEC_L4MP_QSPI_LSB        2
1280 /* The Most Significant Bit (MSB) position of the ALT_L3_SEC_L4MP_QSPI register field. */
1281 #define ALT_L3_SEC_L4MP_QSPI_MSB        2
1282 /* The width in bits of the ALT_L3_SEC_L4MP_QSPI register field. */
1283 #define ALT_L3_SEC_L4MP_QSPI_WIDTH      1
1284 /* The mask used to set the ALT_L3_SEC_L4MP_QSPI register field value. */
1285 #define ALT_L3_SEC_L4MP_QSPI_SET_MSK    0x00000004
1286 /* The mask used to clear the ALT_L3_SEC_L4MP_QSPI register field value. */
1287 #define ALT_L3_SEC_L4MP_QSPI_CLR_MSK    0xfffffffb
1288 /* The reset value of the ALT_L3_SEC_L4MP_QSPI register field. */
1289 #define ALT_L3_SEC_L4MP_QSPI_RESET      0x0
1290 /* Extracts the ALT_L3_SEC_L4MP_QSPI field value from a register. */
1291 #define ALT_L3_SEC_L4MP_QSPI_GET(value) (((value) & 0x00000004) >> 2)
1292 /* Produces a ALT_L3_SEC_L4MP_QSPI register field value suitable for setting the register. */
1293 #define ALT_L3_SEC_L4MP_QSPI_SET(value) (((value) << 2) & 0x00000004)
1294 
1295 /*
1296  * Field : SDMMC Security - sdmmc
1297  * 
1298  * Controls whether secure or non-secure masters can access the SDMMC slave.
1299  * 
1300  * Field Enumeration Values:
1301  * 
1302  *  Enum                              | Value | Description                                  
1303  * :----------------------------------|:------|:----------------------------------------------
1304  *  ALT_L3_SEC_L4MP_SDMMC_E_SECURE    | 0x0   | The slave can only be accessed by a secure   
1305  * :                                  |       | master.                                      
1306  *  ALT_L3_SEC_L4MP_SDMMC_E_NONSECURE | 0x1   | The slave can only be accessed by a secure or
1307  * :                                  |       | non-secure masters.                          
1308  * 
1309  * Field Access Macros:
1310  * 
1311  */
1312 /*
1313  * Enumerated value for register field ALT_L3_SEC_L4MP_SDMMC
1314  * 
1315  * The slave can only be accessed by a secure master.
1316  */
1317 #define ALT_L3_SEC_L4MP_SDMMC_E_SECURE      0x0
1318 /*
1319  * Enumerated value for register field ALT_L3_SEC_L4MP_SDMMC
1320  * 
1321  * The slave can only be accessed by a secure or non-secure masters.
1322  */
1323 #define ALT_L3_SEC_L4MP_SDMMC_E_NONSECURE   0x1
1324 
1325 /* The Least Significant Bit (LSB) position of the ALT_L3_SEC_L4MP_SDMMC register field. */
1326 #define ALT_L3_SEC_L4MP_SDMMC_LSB        3
1327 /* The Most Significant Bit (MSB) position of the ALT_L3_SEC_L4MP_SDMMC register field. */
1328 #define ALT_L3_SEC_L4MP_SDMMC_MSB        3
1329 /* The width in bits of the ALT_L3_SEC_L4MP_SDMMC register field. */
1330 #define ALT_L3_SEC_L4MP_SDMMC_WIDTH      1
1331 /* The mask used to set the ALT_L3_SEC_L4MP_SDMMC register field value. */
1332 #define ALT_L3_SEC_L4MP_SDMMC_SET_MSK    0x00000008
1333 /* The mask used to clear the ALT_L3_SEC_L4MP_SDMMC register field value. */
1334 #define ALT_L3_SEC_L4MP_SDMMC_CLR_MSK    0xfffffff7
1335 /* The reset value of the ALT_L3_SEC_L4MP_SDMMC register field. */
1336 #define ALT_L3_SEC_L4MP_SDMMC_RESET      0x0
1337 /* Extracts the ALT_L3_SEC_L4MP_SDMMC field value from a register. */
1338 #define ALT_L3_SEC_L4MP_SDMMC_GET(value) (((value) & 0x00000008) >> 3)
1339 /* Produces a ALT_L3_SEC_L4MP_SDMMC register field value suitable for setting the register. */
1340 #define ALT_L3_SEC_L4MP_SDMMC_SET(value) (((value) << 3) & 0x00000008)
1341 
1342 /*
1343  * Field : EMAC 0 Security - emac0
1344  * 
1345  * Controls whether secure or non-secure masters can access the EMAC 0 slave.
1346  * 
1347  * Field Enumeration Values:
1348  * 
1349  *  Enum                              | Value | Description                                  
1350  * :----------------------------------|:------|:----------------------------------------------
1351  *  ALT_L3_SEC_L4MP_EMAC0_E_SECURE    | 0x0   | The slave can only be accessed by a secure   
1352  * :                                  |       | master.                                      
1353  *  ALT_L3_SEC_L4MP_EMAC0_E_NONSECURE | 0x1   | The slave can only be accessed by a secure or
1354  * :                                  |       | non-secure masters.                          
1355  * 
1356  * Field Access Macros:
1357  * 
1358  */
1359 /*
1360  * Enumerated value for register field ALT_L3_SEC_L4MP_EMAC0
1361  * 
1362  * The slave can only be accessed by a secure master.
1363  */
1364 #define ALT_L3_SEC_L4MP_EMAC0_E_SECURE      0x0
1365 /*
1366  * Enumerated value for register field ALT_L3_SEC_L4MP_EMAC0
1367  * 
1368  * The slave can only be accessed by a secure or non-secure masters.
1369  */
1370 #define ALT_L3_SEC_L4MP_EMAC0_E_NONSECURE   0x1
1371 
1372 /* The Least Significant Bit (LSB) position of the ALT_L3_SEC_L4MP_EMAC0 register field. */
1373 #define ALT_L3_SEC_L4MP_EMAC0_LSB        4
1374 /* The Most Significant Bit (MSB) position of the ALT_L3_SEC_L4MP_EMAC0 register field. */
1375 #define ALT_L3_SEC_L4MP_EMAC0_MSB        4
1376 /* The width in bits of the ALT_L3_SEC_L4MP_EMAC0 register field. */
1377 #define ALT_L3_SEC_L4MP_EMAC0_WIDTH      1
1378 /* The mask used to set the ALT_L3_SEC_L4MP_EMAC0 register field value. */
1379 #define ALT_L3_SEC_L4MP_EMAC0_SET_MSK    0x00000010
1380 /* The mask used to clear the ALT_L3_SEC_L4MP_EMAC0 register field value. */
1381 #define ALT_L3_SEC_L4MP_EMAC0_CLR_MSK    0xffffffef
1382 /* The reset value of the ALT_L3_SEC_L4MP_EMAC0 register field. */
1383 #define ALT_L3_SEC_L4MP_EMAC0_RESET      0x0
1384 /* Extracts the ALT_L3_SEC_L4MP_EMAC0 field value from a register. */
1385 #define ALT_L3_SEC_L4MP_EMAC0_GET(value) (((value) & 0x00000010) >> 4)
1386 /* Produces a ALT_L3_SEC_L4MP_EMAC0 register field value suitable for setting the register. */
1387 #define ALT_L3_SEC_L4MP_EMAC0_SET(value) (((value) << 4) & 0x00000010)
1388 
1389 /*
1390  * Field : EMAC 1 Security - emac1
1391  * 
1392  * Controls whether secure or non-secure masters can access the EMAC 1 slave.
1393  * 
1394  * Field Enumeration Values:
1395  * 
1396  *  Enum                              | Value | Description                                  
1397  * :----------------------------------|:------|:----------------------------------------------
1398  *  ALT_L3_SEC_L4MP_EMAC1_E_SECURE    | 0x0   | The slave can only be accessed by a secure   
1399  * :                                  |       | master.                                      
1400  *  ALT_L3_SEC_L4MP_EMAC1_E_NONSECURE | 0x1   | The slave can only be accessed by a secure or
1401  * :                                  |       | non-secure masters.                          
1402  * 
1403  * Field Access Macros:
1404  * 
1405  */
1406 /*
1407  * Enumerated value for register field ALT_L3_SEC_L4MP_EMAC1
1408  * 
1409  * The slave can only be accessed by a secure master.
1410  */
1411 #define ALT_L3_SEC_L4MP_EMAC1_E_SECURE      0x0
1412 /*
1413  * Enumerated value for register field ALT_L3_SEC_L4MP_EMAC1
1414  * 
1415  * The slave can only be accessed by a secure or non-secure masters.
1416  */
1417 #define ALT_L3_SEC_L4MP_EMAC1_E_NONSECURE   0x1
1418 
1419 /* The Least Significant Bit (LSB) position of the ALT_L3_SEC_L4MP_EMAC1 register field. */
1420 #define ALT_L3_SEC_L4MP_EMAC1_LSB        5
1421 /* The Most Significant Bit (MSB) position of the ALT_L3_SEC_L4MP_EMAC1 register field. */
1422 #define ALT_L3_SEC_L4MP_EMAC1_MSB        5
1423 /* The width in bits of the ALT_L3_SEC_L4MP_EMAC1 register field. */
1424 #define ALT_L3_SEC_L4MP_EMAC1_WIDTH      1
1425 /* The mask used to set the ALT_L3_SEC_L4MP_EMAC1 register field value. */
1426 #define ALT_L3_SEC_L4MP_EMAC1_SET_MSK    0x00000020
1427 /* The mask used to clear the ALT_L3_SEC_L4MP_EMAC1 register field value. */
1428 #define ALT_L3_SEC_L4MP_EMAC1_CLR_MSK    0xffffffdf
1429 /* The reset value of the ALT_L3_SEC_L4MP_EMAC1 register field. */
1430 #define ALT_L3_SEC_L4MP_EMAC1_RESET      0x0
1431 /* Extracts the ALT_L3_SEC_L4MP_EMAC1 field value from a register. */
1432 #define ALT_L3_SEC_L4MP_EMAC1_GET(value) (((value) & 0x00000020) >> 5)
1433 /* Produces a ALT_L3_SEC_L4MP_EMAC1 register field value suitable for setting the register. */
1434 #define ALT_L3_SEC_L4MP_EMAC1_SET(value) (((value) << 5) & 0x00000020)
1435 
1436 /*
1437  * Field : ACP ID Mapper Security - acpidmap
1438  * 
1439  * Controls whether secure or non-secure masters can access the ACP ID Mapper
1440  * slave.
1441  * 
1442  * Field Enumeration Values:
1443  * 
1444  *  Enum                                 | Value | Description                                  
1445  * :-------------------------------------|:------|:----------------------------------------------
1446  *  ALT_L3_SEC_L4MP_ACPIDMAP_E_SECURE    | 0x0   | The slave can only be accessed by a secure   
1447  * :                                     |       | master.                                      
1448  *  ALT_L3_SEC_L4MP_ACPIDMAP_E_NONSECURE | 0x1   | The slave can only be accessed by a secure or
1449  * :                                     |       | non-secure masters.                          
1450  * 
1451  * Field Access Macros:
1452  * 
1453  */
1454 /*
1455  * Enumerated value for register field ALT_L3_SEC_L4MP_ACPIDMAP
1456  * 
1457  * The slave can only be accessed by a secure master.
1458  */
1459 #define ALT_L3_SEC_L4MP_ACPIDMAP_E_SECURE       0x0
1460 /*
1461  * Enumerated value for register field ALT_L3_SEC_L4MP_ACPIDMAP
1462  * 
1463  * The slave can only be accessed by a secure or non-secure masters.
1464  */
1465 #define ALT_L3_SEC_L4MP_ACPIDMAP_E_NONSECURE    0x1
1466 
1467 /* The Least Significant Bit (LSB) position of the ALT_L3_SEC_L4MP_ACPIDMAP register field. */
1468 #define ALT_L3_SEC_L4MP_ACPIDMAP_LSB        6
1469 /* The Most Significant Bit (MSB) position of the ALT_L3_SEC_L4MP_ACPIDMAP register field. */
1470 #define ALT_L3_SEC_L4MP_ACPIDMAP_MSB        6
1471 /* The width in bits of the ALT_L3_SEC_L4MP_ACPIDMAP register field. */
1472 #define ALT_L3_SEC_L4MP_ACPIDMAP_WIDTH      1
1473 /* The mask used to set the ALT_L3_SEC_L4MP_ACPIDMAP register field value. */
1474 #define ALT_L3_SEC_L4MP_ACPIDMAP_SET_MSK    0x00000040
1475 /* The mask used to clear the ALT_L3_SEC_L4MP_ACPIDMAP register field value. */
1476 #define ALT_L3_SEC_L4MP_ACPIDMAP_CLR_MSK    0xffffffbf
1477 /* The reset value of the ALT_L3_SEC_L4MP_ACPIDMAP register field. */
1478 #define ALT_L3_SEC_L4MP_ACPIDMAP_RESET      0x0
1479 /* Extracts the ALT_L3_SEC_L4MP_ACPIDMAP field value from a register. */
1480 #define ALT_L3_SEC_L4MP_ACPIDMAP_GET(value) (((value) & 0x00000040) >> 6)
1481 /* Produces a ALT_L3_SEC_L4MP_ACPIDMAP register field value suitable for setting the register. */
1482 #define ALT_L3_SEC_L4MP_ACPIDMAP_SET(value) (((value) << 6) & 0x00000040)
1483 
1484 /*
1485  * Field : GPIO 0 Security - gpio0
1486  * 
1487  * Controls whether secure or non-secure masters can access the GPIO 0 slave.
1488  * 
1489  * Field Enumeration Values:
1490  * 
1491  *  Enum                              | Value | Description                                  
1492  * :----------------------------------|:------|:----------------------------------------------
1493  *  ALT_L3_SEC_L4MP_GPIO0_E_SECURE    | 0x0   | The slave can only be accessed by a secure   
1494  * :                                  |       | master.                                      
1495  *  ALT_L3_SEC_L4MP_GPIO0_E_NONSECURE | 0x1   | The slave can only be accessed by a secure or
1496  * :                                  |       | non-secure masters.                          
1497  * 
1498  * Field Access Macros:
1499  * 
1500  */
1501 /*
1502  * Enumerated value for register field ALT_L3_SEC_L4MP_GPIO0
1503  * 
1504  * The slave can only be accessed by a secure master.
1505  */
1506 #define ALT_L3_SEC_L4MP_GPIO0_E_SECURE      0x0
1507 /*
1508  * Enumerated value for register field ALT_L3_SEC_L4MP_GPIO0
1509  * 
1510  * The slave can only be accessed by a secure or non-secure masters.
1511  */
1512 #define ALT_L3_SEC_L4MP_GPIO0_E_NONSECURE   0x1
1513 
1514 /* The Least Significant Bit (LSB) position of the ALT_L3_SEC_L4MP_GPIO0 register field. */
1515 #define ALT_L3_SEC_L4MP_GPIO0_LSB        7
1516 /* The Most Significant Bit (MSB) position of the ALT_L3_SEC_L4MP_GPIO0 register field. */
1517 #define ALT_L3_SEC_L4MP_GPIO0_MSB        7
1518 /* The width in bits of the ALT_L3_SEC_L4MP_GPIO0 register field. */
1519 #define ALT_L3_SEC_L4MP_GPIO0_WIDTH      1
1520 /* The mask used to set the ALT_L3_SEC_L4MP_GPIO0 register field value. */
1521 #define ALT_L3_SEC_L4MP_GPIO0_SET_MSK    0x00000080
1522 /* The mask used to clear the ALT_L3_SEC_L4MP_GPIO0 register field value. */
1523 #define ALT_L3_SEC_L4MP_GPIO0_CLR_MSK    0xffffff7f
1524 /* The reset value of the ALT_L3_SEC_L4MP_GPIO0 register field. */
1525 #define ALT_L3_SEC_L4MP_GPIO0_RESET      0x0
1526 /* Extracts the ALT_L3_SEC_L4MP_GPIO0 field value from a register. */
1527 #define ALT_L3_SEC_L4MP_GPIO0_GET(value) (((value) & 0x00000080) >> 7)
1528 /* Produces a ALT_L3_SEC_L4MP_GPIO0 register field value suitable for setting the register. */
1529 #define ALT_L3_SEC_L4MP_GPIO0_SET(value) (((value) << 7) & 0x00000080)
1530 
1531 /*
1532  * Field : GPIO 1 Security - gpio1
1533  * 
1534  * Controls whether secure or non-secure masters can access the GPIO 1 slave.
1535  * 
1536  * Field Enumeration Values:
1537  * 
1538  *  Enum                              | Value | Description                                  
1539  * :----------------------------------|:------|:----------------------------------------------
1540  *  ALT_L3_SEC_L4MP_GPIO1_E_SECURE    | 0x0   | The slave can only be accessed by a secure   
1541  * :                                  |       | master.                                      
1542  *  ALT_L3_SEC_L4MP_GPIO1_E_NONSECURE | 0x1   | The slave can only be accessed by a secure or
1543  * :                                  |       | non-secure masters.                          
1544  * 
1545  * Field Access Macros:
1546  * 
1547  */
1548 /*
1549  * Enumerated value for register field ALT_L3_SEC_L4MP_GPIO1
1550  * 
1551  * The slave can only be accessed by a secure master.
1552  */
1553 #define ALT_L3_SEC_L4MP_GPIO1_E_SECURE      0x0
1554 /*
1555  * Enumerated value for register field ALT_L3_SEC_L4MP_GPIO1
1556  * 
1557  * The slave can only be accessed by a secure or non-secure masters.
1558  */
1559 #define ALT_L3_SEC_L4MP_GPIO1_E_NONSECURE   0x1
1560 
1561 /* The Least Significant Bit (LSB) position of the ALT_L3_SEC_L4MP_GPIO1 register field. */
1562 #define ALT_L3_SEC_L4MP_GPIO1_LSB        8
1563 /* The Most Significant Bit (MSB) position of the ALT_L3_SEC_L4MP_GPIO1 register field. */
1564 #define ALT_L3_SEC_L4MP_GPIO1_MSB        8
1565 /* The width in bits of the ALT_L3_SEC_L4MP_GPIO1 register field. */
1566 #define ALT_L3_SEC_L4MP_GPIO1_WIDTH      1
1567 /* The mask used to set the ALT_L3_SEC_L4MP_GPIO1 register field value. */
1568 #define ALT_L3_SEC_L4MP_GPIO1_SET_MSK    0x00000100
1569 /* The mask used to clear the ALT_L3_SEC_L4MP_GPIO1 register field value. */
1570 #define ALT_L3_SEC_L4MP_GPIO1_CLR_MSK    0xfffffeff
1571 /* The reset value of the ALT_L3_SEC_L4MP_GPIO1 register field. */
1572 #define ALT_L3_SEC_L4MP_GPIO1_RESET      0x0
1573 /* Extracts the ALT_L3_SEC_L4MP_GPIO1 field value from a register. */
1574 #define ALT_L3_SEC_L4MP_GPIO1_GET(value) (((value) & 0x00000100) >> 8)
1575 /* Produces a ALT_L3_SEC_L4MP_GPIO1 register field value suitable for setting the register. */
1576 #define ALT_L3_SEC_L4MP_GPIO1_SET(value) (((value) << 8) & 0x00000100)
1577 
1578 /*
1579  * Field : GPIO 2 Security - gpio2
1580  * 
1581  * Controls whether secure or non-secure masters can access the GPIO 2 slave.
1582  * 
1583  * Field Enumeration Values:
1584  * 
1585  *  Enum                              | Value | Description                                  
1586  * :----------------------------------|:------|:----------------------------------------------
1587  *  ALT_L3_SEC_L4MP_GPIO2_E_SECURE    | 0x0   | The slave can only be accessed by a secure   
1588  * :                                  |       | master.                                      
1589  *  ALT_L3_SEC_L4MP_GPIO2_E_NONSECURE | 0x1   | The slave can only be accessed by a secure or
1590  * :                                  |       | non-secure masters.                          
1591  * 
1592  * Field Access Macros:
1593  * 
1594  */
1595 /*
1596  * Enumerated value for register field ALT_L3_SEC_L4MP_GPIO2
1597  * 
1598  * The slave can only be accessed by a secure master.
1599  */
1600 #define ALT_L3_SEC_L4MP_GPIO2_E_SECURE      0x0
1601 /*
1602  * Enumerated value for register field ALT_L3_SEC_L4MP_GPIO2
1603  * 
1604  * The slave can only be accessed by a secure or non-secure masters.
1605  */
1606 #define ALT_L3_SEC_L4MP_GPIO2_E_NONSECURE   0x1
1607 
1608 /* The Least Significant Bit (LSB) position of the ALT_L3_SEC_L4MP_GPIO2 register field. */
1609 #define ALT_L3_SEC_L4MP_GPIO2_LSB        9
1610 /* The Most Significant Bit (MSB) position of the ALT_L3_SEC_L4MP_GPIO2 register field. */
1611 #define ALT_L3_SEC_L4MP_GPIO2_MSB        9
1612 /* The width in bits of the ALT_L3_SEC_L4MP_GPIO2 register field. */
1613 #define ALT_L3_SEC_L4MP_GPIO2_WIDTH      1
1614 /* The mask used to set the ALT_L3_SEC_L4MP_GPIO2 register field value. */
1615 #define ALT_L3_SEC_L4MP_GPIO2_SET_MSK    0x00000200
1616 /* The mask used to clear the ALT_L3_SEC_L4MP_GPIO2 register field value. */
1617 #define ALT_L3_SEC_L4MP_GPIO2_CLR_MSK    0xfffffdff
1618 /* The reset value of the ALT_L3_SEC_L4MP_GPIO2 register field. */
1619 #define ALT_L3_SEC_L4MP_GPIO2_RESET      0x0
1620 /* Extracts the ALT_L3_SEC_L4MP_GPIO2 field value from a register. */
1621 #define ALT_L3_SEC_L4MP_GPIO2_GET(value) (((value) & 0x00000200) >> 9)
1622 /* Produces a ALT_L3_SEC_L4MP_GPIO2 register field value suitable for setting the register. */
1623 #define ALT_L3_SEC_L4MP_GPIO2_SET(value) (((value) << 9) & 0x00000200)
1624 
1625 #ifndef __ASSEMBLY__
1626 /*
1627  * WARNING: The C register and register group struct declarations are provided for
1628  * convenience and illustrative purposes. They should, however, be used with
1629  * caution as the C language standard provides no guarantees about the alignment or
1630  * atomicity of device memory accesses. The recommended practice for writing
1631  * hardware drivers is to use the SoCAL access macros and alt_read_word() and
1632  * alt_write_word() functions.
1633  * 
1634  * The struct declaration for register ALT_L3_SEC_L4MP.
1635  */
1636 struct ALT_L3_SEC_L4MP_s
1637 {
1638     uint32_t  fpgamgrregs :  1;  /* FPGA Manager Register Security */
1639     uint32_t  dap         :  1;  /* DAP Security */
1640     uint32_t  qspiregs    :  1;  /* QSPI Registers Security */
1641     uint32_t  sdmmc       :  1;  /* SDMMC Security */
1642     uint32_t  emac0       :  1;  /* EMAC 0 Security */
1643     uint32_t  emac1       :  1;  /* EMAC 1 Security */
1644     uint32_t  acpidmap    :  1;  /* ACP ID Mapper Security */
1645     uint32_t  gpio0       :  1;  /* GPIO 0 Security */
1646     uint32_t  gpio1       :  1;  /* GPIO 1 Security */
1647     uint32_t  gpio2       :  1;  /* GPIO 2 Security */
1648     uint32_t              : 22;  /* *UNDEFINED* */
1649 };
1650 
1651 /* The typedef declaration for register ALT_L3_SEC_L4MP. */
1652 typedef volatile struct ALT_L3_SEC_L4MP_s  ALT_L3_SEC_L4MP_t;
1653 #endif  /* __ASSEMBLY__ */
1654 
1655 /* The byte offset of the ALT_L3_SEC_L4MP register from the beginning of the component. */
1656 #define ALT_L3_SEC_L4MP_OFST        0x8
1657 
1658 /*
1659  * Register : L4 OSC1 Peripherals Security - l4osc1
1660  * 
1661  * Controls security settings for L4 OSC1 peripherals.
1662  * 
1663  * Register Layout
1664  * 
1665  *  Bits   | Access | Reset | Description                 
1666  * :-------|:-------|:------|:-----------------------------
1667  *  [0]    | W      | 0x0   | L4 Watchdog Timer 0 Security
1668  *  [1]    | W      | 0x0   | L4 Watchdog Timer 0 Security
1669  *  [2]    | W      | 0x0   | Clock Manager Security      
1670  *  [3]    | W      | 0x0   | Reset Manager Security      
1671  *  [4]    | W      | 0x0   | System Manager Security     
1672  *  [5]    | W      | 0x0   | OSC1 Timer 0 Security       
1673  *  [6]    | W      | 0x0   | OSC1 Timer 1 Security       
1674  *  [31:7] | ???    | 0x0   | *UNDEFINED*                 
1675  * 
1676  */
1677 /*
1678  * Field : L4 Watchdog Timer 0 Security - l4wd0
1679  * 
1680  * Controls whether secure or non-secure masters can access the L4 Watchdog Timer 0
1681  * slave.
1682  * 
1683  * Field Enumeration Values:
1684  * 
1685  *  Enum                                | Value | Description                                  
1686  * :------------------------------------|:------|:----------------------------------------------
1687  *  ALT_L3_SEC_L4OSC1_L4WD0_E_SECURE    | 0x0   | The slave can only be accessed by a secure   
1688  * :                                    |       | master.                                      
1689  *  ALT_L3_SEC_L4OSC1_L4WD0_E_NONSECURE | 0x1   | The slave can only be accessed by a secure or
1690  * :                                    |       | non-secure masters.                          
1691  * 
1692  * Field Access Macros:
1693  * 
1694  */
1695 /*
1696  * Enumerated value for register field ALT_L3_SEC_L4OSC1_L4WD0
1697  * 
1698  * The slave can only be accessed by a secure master.
1699  */
1700 #define ALT_L3_SEC_L4OSC1_L4WD0_E_SECURE    0x0
1701 /*
1702  * Enumerated value for register field ALT_L3_SEC_L4OSC1_L4WD0
1703  * 
1704  * The slave can only be accessed by a secure or non-secure masters.
1705  */
1706 #define ALT_L3_SEC_L4OSC1_L4WD0_E_NONSECURE 0x1
1707 
1708 /* The Least Significant Bit (LSB) position of the ALT_L3_SEC_L4OSC1_L4WD0 register field. */
1709 #define ALT_L3_SEC_L4OSC1_L4WD0_LSB        0
1710 /* The Most Significant Bit (MSB) position of the ALT_L3_SEC_L4OSC1_L4WD0 register field. */
1711 #define ALT_L3_SEC_L4OSC1_L4WD0_MSB        0
1712 /* The width in bits of the ALT_L3_SEC_L4OSC1_L4WD0 register field. */
1713 #define ALT_L3_SEC_L4OSC1_L4WD0_WIDTH      1
1714 /* The mask used to set the ALT_L3_SEC_L4OSC1_L4WD0 register field value. */
1715 #define ALT_L3_SEC_L4OSC1_L4WD0_SET_MSK    0x00000001
1716 /* The mask used to clear the ALT_L3_SEC_L4OSC1_L4WD0 register field value. */
1717 #define ALT_L3_SEC_L4OSC1_L4WD0_CLR_MSK    0xfffffffe
1718 /* The reset value of the ALT_L3_SEC_L4OSC1_L4WD0 register field. */
1719 #define ALT_L3_SEC_L4OSC1_L4WD0_RESET      0x0
1720 /* Extracts the ALT_L3_SEC_L4OSC1_L4WD0 field value from a register. */
1721 #define ALT_L3_SEC_L4OSC1_L4WD0_GET(value) (((value) & 0x00000001) >> 0)
1722 /* Produces a ALT_L3_SEC_L4OSC1_L4WD0 register field value suitable for setting the register. */
1723 #define ALT_L3_SEC_L4OSC1_L4WD0_SET(value) (((value) << 0) & 0x00000001)
1724 
1725 /*
1726  * Field : L4 Watchdog Timer 0 Security - l4wd1
1727  * 
1728  * Controls whether secure or non-secure masters can access the L4 Watchdog Timer 0
1729  * slave.
1730  * 
1731  * Field Enumeration Values:
1732  * 
1733  *  Enum                                | Value | Description                                  
1734  * :------------------------------------|:------|:----------------------------------------------
1735  *  ALT_L3_SEC_L4OSC1_L4WD1_E_SECURE    | 0x0   | The slave can only be accessed by a secure   
1736  * :                                    |       | master.                                      
1737  *  ALT_L3_SEC_L4OSC1_L4WD1_E_NONSECURE | 0x1   | The slave can only be accessed by a secure or
1738  * :                                    |       | non-secure masters.                          
1739  * 
1740  * Field Access Macros:
1741  * 
1742  */
1743 /*
1744  * Enumerated value for register field ALT_L3_SEC_L4OSC1_L4WD1
1745  * 
1746  * The slave can only be accessed by a secure master.
1747  */
1748 #define ALT_L3_SEC_L4OSC1_L4WD1_E_SECURE    0x0
1749 /*
1750  * Enumerated value for register field ALT_L3_SEC_L4OSC1_L4WD1
1751  * 
1752  * The slave can only be accessed by a secure or non-secure masters.
1753  */
1754 #define ALT_L3_SEC_L4OSC1_L4WD1_E_NONSECURE 0x1
1755 
1756 /* The Least Significant Bit (LSB) position of the ALT_L3_SEC_L4OSC1_L4WD1 register field. */
1757 #define ALT_L3_SEC_L4OSC1_L4WD1_LSB        1
1758 /* The Most Significant Bit (MSB) position of the ALT_L3_SEC_L4OSC1_L4WD1 register field. */
1759 #define ALT_L3_SEC_L4OSC1_L4WD1_MSB        1
1760 /* The width in bits of the ALT_L3_SEC_L4OSC1_L4WD1 register field. */
1761 #define ALT_L3_SEC_L4OSC1_L4WD1_WIDTH      1
1762 /* The mask used to set the ALT_L3_SEC_L4OSC1_L4WD1 register field value. */
1763 #define ALT_L3_SEC_L4OSC1_L4WD1_SET_MSK    0x00000002
1764 /* The mask used to clear the ALT_L3_SEC_L4OSC1_L4WD1 register field value. */
1765 #define ALT_L3_SEC_L4OSC1_L4WD1_CLR_MSK    0xfffffffd
1766 /* The reset value of the ALT_L3_SEC_L4OSC1_L4WD1 register field. */
1767 #define ALT_L3_SEC_L4OSC1_L4WD1_RESET      0x0
1768 /* Extracts the ALT_L3_SEC_L4OSC1_L4WD1 field value from a register. */
1769 #define ALT_L3_SEC_L4OSC1_L4WD1_GET(value) (((value) & 0x00000002) >> 1)
1770 /* Produces a ALT_L3_SEC_L4OSC1_L4WD1 register field value suitable for setting the register. */
1771 #define ALT_L3_SEC_L4OSC1_L4WD1_SET(value) (((value) << 1) & 0x00000002)
1772 
1773 /*
1774  * Field : Clock Manager Security - clkmgr
1775  * 
1776  * Controls whether secure or non-secure masters can access the Clock Manager
1777  * slave.
1778  * 
1779  * Field Enumeration Values:
1780  * 
1781  *  Enum                                 | Value | Description                                  
1782  * :-------------------------------------|:------|:----------------------------------------------
1783  *  ALT_L3_SEC_L4OSC1_CLKMGR_E_SECURE    | 0x0   | The slave can only be accessed by a secure   
1784  * :                                     |       | master.                                      
1785  *  ALT_L3_SEC_L4OSC1_CLKMGR_E_NONSECURE | 0x1   | The slave can only be accessed by a secure or
1786  * :                                     |       | non-secure masters.                          
1787  * 
1788  * Field Access Macros:
1789  * 
1790  */
1791 /*
1792  * Enumerated value for register field ALT_L3_SEC_L4OSC1_CLKMGR
1793  * 
1794  * The slave can only be accessed by a secure master.
1795  */
1796 #define ALT_L3_SEC_L4OSC1_CLKMGR_E_SECURE       0x0
1797 /*
1798  * Enumerated value for register field ALT_L3_SEC_L4OSC1_CLKMGR
1799  * 
1800  * The slave can only be accessed by a secure or non-secure masters.
1801  */
1802 #define ALT_L3_SEC_L4OSC1_CLKMGR_E_NONSECURE    0x1
1803 
1804 /* The Least Significant Bit (LSB) position of the ALT_L3_SEC_L4OSC1_CLKMGR register field. */
1805 #define ALT_L3_SEC_L4OSC1_CLKMGR_LSB        2
1806 /* The Most Significant Bit (MSB) position of the ALT_L3_SEC_L4OSC1_CLKMGR register field. */
1807 #define ALT_L3_SEC_L4OSC1_CLKMGR_MSB        2
1808 /* The width in bits of the ALT_L3_SEC_L4OSC1_CLKMGR register field. */
1809 #define ALT_L3_SEC_L4OSC1_CLKMGR_WIDTH      1
1810 /* The mask used to set the ALT_L3_SEC_L4OSC1_CLKMGR register field value. */
1811 #define ALT_L3_SEC_L4OSC1_CLKMGR_SET_MSK    0x00000004
1812 /* The mask used to clear the ALT_L3_SEC_L4OSC1_CLKMGR register field value. */
1813 #define ALT_L3_SEC_L4OSC1_CLKMGR_CLR_MSK    0xfffffffb
1814 /* The reset value of the ALT_L3_SEC_L4OSC1_CLKMGR register field. */
1815 #define ALT_L3_SEC_L4OSC1_CLKMGR_RESET      0x0
1816 /* Extracts the ALT_L3_SEC_L4OSC1_CLKMGR field value from a register. */
1817 #define ALT_L3_SEC_L4OSC1_CLKMGR_GET(value) (((value) & 0x00000004) >> 2)
1818 /* Produces a ALT_L3_SEC_L4OSC1_CLKMGR register field value suitable for setting the register. */
1819 #define ALT_L3_SEC_L4OSC1_CLKMGR_SET(value) (((value) << 2) & 0x00000004)
1820 
1821 /*
1822  * Field : Reset Manager Security - rstmgr
1823  * 
1824  * Controls whether secure or non-secure masters can access the Reset Manager
1825  * slave.
1826  * 
1827  * Field Enumeration Values:
1828  * 
1829  *  Enum                                 | Value | Description                                  
1830  * :-------------------------------------|:------|:----------------------------------------------
1831  *  ALT_L3_SEC_L4OSC1_RSTMGR_E_SECURE    | 0x0   | The slave can only be accessed by a secure   
1832  * :                                     |       | master.                                      
1833  *  ALT_L3_SEC_L4OSC1_RSTMGR_E_NONSECURE | 0x1   | The slave can only be accessed by a secure or
1834  * :                                     |       | non-secure masters.                          
1835  * 
1836  * Field Access Macros:
1837  * 
1838  */
1839 /*
1840  * Enumerated value for register field ALT_L3_SEC_L4OSC1_RSTMGR
1841  * 
1842  * The slave can only be accessed by a secure master.
1843  */
1844 #define ALT_L3_SEC_L4OSC1_RSTMGR_E_SECURE       0x0
1845 /*
1846  * Enumerated value for register field ALT_L3_SEC_L4OSC1_RSTMGR
1847  * 
1848  * The slave can only be accessed by a secure or non-secure masters.
1849  */
1850 #define ALT_L3_SEC_L4OSC1_RSTMGR_E_NONSECURE    0x1
1851 
1852 /* The Least Significant Bit (LSB) position of the ALT_L3_SEC_L4OSC1_RSTMGR register field. */
1853 #define ALT_L3_SEC_L4OSC1_RSTMGR_LSB        3
1854 /* The Most Significant Bit (MSB) position of the ALT_L3_SEC_L4OSC1_RSTMGR register field. */
1855 #define ALT_L3_SEC_L4OSC1_RSTMGR_MSB        3
1856 /* The width in bits of the ALT_L3_SEC_L4OSC1_RSTMGR register field. */
1857 #define ALT_L3_SEC_L4OSC1_RSTMGR_WIDTH      1
1858 /* The mask used to set the ALT_L3_SEC_L4OSC1_RSTMGR register field value. */
1859 #define ALT_L3_SEC_L4OSC1_RSTMGR_SET_MSK    0x00000008
1860 /* The mask used to clear the ALT_L3_SEC_L4OSC1_RSTMGR register field value. */
1861 #define ALT_L3_SEC_L4OSC1_RSTMGR_CLR_MSK    0xfffffff7
1862 /* The reset value of the ALT_L3_SEC_L4OSC1_RSTMGR register field. */
1863 #define ALT_L3_SEC_L4OSC1_RSTMGR_RESET      0x0
1864 /* Extracts the ALT_L3_SEC_L4OSC1_RSTMGR field value from a register. */
1865 #define ALT_L3_SEC_L4OSC1_RSTMGR_GET(value) (((value) & 0x00000008) >> 3)
1866 /* Produces a ALT_L3_SEC_L4OSC1_RSTMGR register field value suitable for setting the register. */
1867 #define ALT_L3_SEC_L4OSC1_RSTMGR_SET(value) (((value) << 3) & 0x00000008)
1868 
1869 /*
1870  * Field : System Manager Security - sysmgr
1871  * 
1872  * Controls whether secure or non-secure masters can access the System Manager
1873  * slave.
1874  * 
1875  * Field Enumeration Values:
1876  * 
1877  *  Enum                                 | Value | Description                                  
1878  * :-------------------------------------|:------|:----------------------------------------------
1879  *  ALT_L3_SEC_L4OSC1_SYSMGR_E_SECURE    | 0x0   | The slave can only be accessed by a secure   
1880  * :                                     |       | master.                                      
1881  *  ALT_L3_SEC_L4OSC1_SYSMGR_E_NONSECURE | 0x1   | The slave can only be accessed by a secure or
1882  * :                                     |       | non-secure masters.                          
1883  * 
1884  * Field Access Macros:
1885  * 
1886  */
1887 /*
1888  * Enumerated value for register field ALT_L3_SEC_L4OSC1_SYSMGR
1889  * 
1890  * The slave can only be accessed by a secure master.
1891  */
1892 #define ALT_L3_SEC_L4OSC1_SYSMGR_E_SECURE       0x0
1893 /*
1894  * Enumerated value for register field ALT_L3_SEC_L4OSC1_SYSMGR
1895  * 
1896  * The slave can only be accessed by a secure or non-secure masters.
1897  */
1898 #define ALT_L3_SEC_L4OSC1_SYSMGR_E_NONSECURE    0x1
1899 
1900 /* The Least Significant Bit (LSB) position of the ALT_L3_SEC_L4OSC1_SYSMGR register field. */
1901 #define ALT_L3_SEC_L4OSC1_SYSMGR_LSB        4
1902 /* The Most Significant Bit (MSB) position of the ALT_L3_SEC_L4OSC1_SYSMGR register field. */
1903 #define ALT_L3_SEC_L4OSC1_SYSMGR_MSB        4
1904 /* The width in bits of the ALT_L3_SEC_L4OSC1_SYSMGR register field. */
1905 #define ALT_L3_SEC_L4OSC1_SYSMGR_WIDTH      1
1906 /* The mask used to set the ALT_L3_SEC_L4OSC1_SYSMGR register field value. */
1907 #define ALT_L3_SEC_L4OSC1_SYSMGR_SET_MSK    0x00000010
1908 /* The mask used to clear the ALT_L3_SEC_L4OSC1_SYSMGR register field value. */
1909 #define ALT_L3_SEC_L4OSC1_SYSMGR_CLR_MSK    0xffffffef
1910 /* The reset value of the ALT_L3_SEC_L4OSC1_SYSMGR register field. */
1911 #define ALT_L3_SEC_L4OSC1_SYSMGR_RESET      0x0
1912 /* Extracts the ALT_L3_SEC_L4OSC1_SYSMGR field value from a register. */
1913 #define ALT_L3_SEC_L4OSC1_SYSMGR_GET(value) (((value) & 0x00000010) >> 4)
1914 /* Produces a ALT_L3_SEC_L4OSC1_SYSMGR register field value suitable for setting the register. */
1915 #define ALT_L3_SEC_L4OSC1_SYSMGR_SET(value) (((value) << 4) & 0x00000010)
1916 
1917 /*
1918  * Field : OSC1 Timer 0 Security - osc1timer0
1919  * 
1920  * Controls whether secure or non-secure masters can access the OSC1 Timer 0 slave.
1921  * 
1922  * Field Enumeration Values:
1923  * 
1924  *  Enum                                   | Value | Description                                  
1925  * :---------------------------------------|:------|:----------------------------------------------
1926  *  ALT_L3_SEC_L4OSC1_OSC1TMR0_E_SECURE    | 0x0   | The slave can only be accessed by a secure   
1927  * :                                       |       | master.                                      
1928  *  ALT_L3_SEC_L4OSC1_OSC1TMR0_E_NONSECURE | 0x1   | The slave can only be accessed by a secure or
1929  * :                                       |       | non-secure masters.                          
1930  * 
1931  * Field Access Macros:
1932  * 
1933  */
1934 /*
1935  * Enumerated value for register field ALT_L3_SEC_L4OSC1_OSC1TMR0
1936  * 
1937  * The slave can only be accessed by a secure master.
1938  */
1939 #define ALT_L3_SEC_L4OSC1_OSC1TMR0_E_SECURE     0x0
1940 /*
1941  * Enumerated value for register field ALT_L3_SEC_L4OSC1_OSC1TMR0
1942  * 
1943  * The slave can only be accessed by a secure or non-secure masters.
1944  */
1945 #define ALT_L3_SEC_L4OSC1_OSC1TMR0_E_NONSECURE  0x1
1946 
1947 /* The Least Significant Bit (LSB) position of the ALT_L3_SEC_L4OSC1_OSC1TMR0 register field. */
1948 #define ALT_L3_SEC_L4OSC1_OSC1TMR0_LSB        5
1949 /* The Most Significant Bit (MSB) position of the ALT_L3_SEC_L4OSC1_OSC1TMR0 register field. */
1950 #define ALT_L3_SEC_L4OSC1_OSC1TMR0_MSB        5
1951 /* The width in bits of the ALT_L3_SEC_L4OSC1_OSC1TMR0 register field. */
1952 #define ALT_L3_SEC_L4OSC1_OSC1TMR0_WIDTH      1
1953 /* The mask used to set the ALT_L3_SEC_L4OSC1_OSC1TMR0 register field value. */
1954 #define ALT_L3_SEC_L4OSC1_OSC1TMR0_SET_MSK    0x00000020
1955 /* The mask used to clear the ALT_L3_SEC_L4OSC1_OSC1TMR0 register field value. */
1956 #define ALT_L3_SEC_L4OSC1_OSC1TMR0_CLR_MSK    0xffffffdf
1957 /* The reset value of the ALT_L3_SEC_L4OSC1_OSC1TMR0 register field. */
1958 #define ALT_L3_SEC_L4OSC1_OSC1TMR0_RESET      0x0
1959 /* Extracts the ALT_L3_SEC_L4OSC1_OSC1TMR0 field value from a register. */
1960 #define ALT_L3_SEC_L4OSC1_OSC1TMR0_GET(value) (((value) & 0x00000020) >> 5)
1961 /* Produces a ALT_L3_SEC_L4OSC1_OSC1TMR0 register field value suitable for setting the register. */
1962 #define ALT_L3_SEC_L4OSC1_OSC1TMR0_SET(value) (((value) << 5) & 0x00000020)
1963 
1964 /*
1965  * Field : OSC1 Timer 1 Security - osc1timer1
1966  * 
1967  * Controls whether secure or non-secure masters can access the OSC1 Timer 1 slave.
1968  * 
1969  * Field Enumeration Values:
1970  * 
1971  *  Enum                                   | Value | Description                                  
1972  * :---------------------------------------|:------|:----------------------------------------------
1973  *  ALT_L3_SEC_L4OSC1_OSC1TMR1_E_SECURE    | 0x0   | The slave can only be accessed by a secure   
1974  * :                                       |       | master.                                      
1975  *  ALT_L3_SEC_L4OSC1_OSC1TMR1_E_NONSECURE | 0x1   | The slave can only be accessed by a secure or
1976  * :                                       |       | non-secure masters.                          
1977  * 
1978  * Field Access Macros:
1979  * 
1980  */
1981 /*
1982  * Enumerated value for register field ALT_L3_SEC_L4OSC1_OSC1TMR1
1983  * 
1984  * The slave can only be accessed by a secure master.
1985  */
1986 #define ALT_L3_SEC_L4OSC1_OSC1TMR1_E_SECURE     0x0
1987 /*
1988  * Enumerated value for register field ALT_L3_SEC_L4OSC1_OSC1TMR1
1989  * 
1990  * The slave can only be accessed by a secure or non-secure masters.
1991  */
1992 #define ALT_L3_SEC_L4OSC1_OSC1TMR1_E_NONSECURE  0x1
1993 
1994 /* The Least Significant Bit (LSB) position of the ALT_L3_SEC_L4OSC1_OSC1TMR1 register field. */
1995 #define ALT_L3_SEC_L4OSC1_OSC1TMR1_LSB        6
1996 /* The Most Significant Bit (MSB) position of the ALT_L3_SEC_L4OSC1_OSC1TMR1 register field. */
1997 #define ALT_L3_SEC_L4OSC1_OSC1TMR1_MSB        6
1998 /* The width in bits of the ALT_L3_SEC_L4OSC1_OSC1TMR1 register field. */
1999 #define ALT_L3_SEC_L4OSC1_OSC1TMR1_WIDTH      1
2000 /* The mask used to set the ALT_L3_SEC_L4OSC1_OSC1TMR1 register field value. */
2001 #define ALT_L3_SEC_L4OSC1_OSC1TMR1_SET_MSK    0x00000040
2002 /* The mask used to clear the ALT_L3_SEC_L4OSC1_OSC1TMR1 register field value. */
2003 #define ALT_L3_SEC_L4OSC1_OSC1TMR1_CLR_MSK    0xffffffbf
2004 /* The reset value of the ALT_L3_SEC_L4OSC1_OSC1TMR1 register field. */
2005 #define ALT_L3_SEC_L4OSC1_OSC1TMR1_RESET      0x0
2006 /* Extracts the ALT_L3_SEC_L4OSC1_OSC1TMR1 field value from a register. */
2007 #define ALT_L3_SEC_L4OSC1_OSC1TMR1_GET(value) (((value) & 0x00000040) >> 6)
2008 /* Produces a ALT_L3_SEC_L4OSC1_OSC1TMR1 register field value suitable for setting the register. */
2009 #define ALT_L3_SEC_L4OSC1_OSC1TMR1_SET(value) (((value) << 6) & 0x00000040)
2010 
2011 #ifndef __ASSEMBLY__
2012 /*
2013  * WARNING: The C register and register group struct declarations are provided for
2014  * convenience and illustrative purposes. They should, however, be used with
2015  * caution as the C language standard provides no guarantees about the alignment or
2016  * atomicity of device memory accesses. The recommended practice for writing
2017  * hardware drivers is to use the SoCAL access macros and alt_read_word() and
2018  * alt_write_word() functions.
2019  * 
2020  * The struct declaration for register ALT_L3_SEC_L4OSC1.
2021  */
2022 struct ALT_L3_SEC_L4OSC1_s
2023 {
2024     uint32_t  l4wd0      :  1;  /* L4 Watchdog Timer 0 Security */
2025     uint32_t  l4wd1      :  1;  /* L4 Watchdog Timer 0 Security */
2026     uint32_t  clkmgr     :  1;  /* Clock Manager Security */
2027     uint32_t  rstmgr     :  1;  /* Reset Manager Security */
2028     uint32_t  sysmgr     :  1;  /* System Manager Security */
2029     uint32_t  osc1timer0 :  1;  /* OSC1 Timer 0 Security */
2030     uint32_t  osc1timer1 :  1;  /* OSC1 Timer 1 Security */
2031     uint32_t             : 25;  /* *UNDEFINED* */
2032 };
2033 
2034 /* The typedef declaration for register ALT_L3_SEC_L4OSC1. */
2035 typedef volatile struct ALT_L3_SEC_L4OSC1_s  ALT_L3_SEC_L4OSC1_t;
2036 #endif  /* __ASSEMBLY__ */
2037 
2038 /* The byte offset of the ALT_L3_SEC_L4OSC1 register from the beginning of the component. */
2039 #define ALT_L3_SEC_L4OSC1_OFST        0xc
2040 
2041 /*
2042  * Register : L4 SPIM Peripherals Security - l4spim
2043  * 
2044  * Controls security settings for L4 SPIM peripherals.
2045  * 
2046  * Register Layout
2047  * 
2048  *  Bits   | Access | Reset | Description          
2049  * :-------|:-------|:------|:----------------------
2050  *  [0]    | W      | 0x0   | SPI Master 0 Security
2051  *  [1]    | W      | 0x0   | SPI Master 1 Security
2052  *  [2]    | W      | 0x0   | Scan Manager Security
2053  *  [31:3] | ???    | 0x0   | *UNDEFINED*          
2054  * 
2055  */
2056 /*
2057  * Field : SPI Master 0 Security - spim0
2058  * 
2059  * Controls whether secure or non-secure masters can access the SPI Master 0 slave.
2060  * 
2061  * Field Enumeration Values:
2062  * 
2063  *  Enum                                | Value | Description                                  
2064  * :------------------------------------|:------|:----------------------------------------------
2065  *  ALT_L3_SEC_L4SPIM_SPIM0_E_SECURE    | 0x0   | The slave can only be accessed by a secure   
2066  * :                                    |       | master.                                      
2067  *  ALT_L3_SEC_L4SPIM_SPIM0_E_NONSECURE | 0x1   | The slave can only be accessed by a secure or
2068  * :                                    |       | non-secure masters.                          
2069  * 
2070  * Field Access Macros:
2071  * 
2072  */
2073 /*
2074  * Enumerated value for register field ALT_L3_SEC_L4SPIM_SPIM0
2075  * 
2076  * The slave can only be accessed by a secure master.
2077  */
2078 #define ALT_L3_SEC_L4SPIM_SPIM0_E_SECURE    0x0
2079 /*
2080  * Enumerated value for register field ALT_L3_SEC_L4SPIM_SPIM0
2081  * 
2082  * The slave can only be accessed by a secure or non-secure masters.
2083  */
2084 #define ALT_L3_SEC_L4SPIM_SPIM0_E_NONSECURE 0x1
2085 
2086 /* The Least Significant Bit (LSB) position of the ALT_L3_SEC_L4SPIM_SPIM0 register field. */
2087 #define ALT_L3_SEC_L4SPIM_SPIM0_LSB        0
2088 /* The Most Significant Bit (MSB) position of the ALT_L3_SEC_L4SPIM_SPIM0 register field. */
2089 #define ALT_L3_SEC_L4SPIM_SPIM0_MSB        0
2090 /* The width in bits of the ALT_L3_SEC_L4SPIM_SPIM0 register field. */
2091 #define ALT_L3_SEC_L4SPIM_SPIM0_WIDTH      1
2092 /* The mask used to set the ALT_L3_SEC_L4SPIM_SPIM0 register field value. */
2093 #define ALT_L3_SEC_L4SPIM_SPIM0_SET_MSK    0x00000001
2094 /* The mask used to clear the ALT_L3_SEC_L4SPIM_SPIM0 register field value. */
2095 #define ALT_L3_SEC_L4SPIM_SPIM0_CLR_MSK    0xfffffffe
2096 /* The reset value of the ALT_L3_SEC_L4SPIM_SPIM0 register field. */
2097 #define ALT_L3_SEC_L4SPIM_SPIM0_RESET      0x0
2098 /* Extracts the ALT_L3_SEC_L4SPIM_SPIM0 field value from a register. */
2099 #define ALT_L3_SEC_L4SPIM_SPIM0_GET(value) (((value) & 0x00000001) >> 0)
2100 /* Produces a ALT_L3_SEC_L4SPIM_SPIM0 register field value suitable for setting the register. */
2101 #define ALT_L3_SEC_L4SPIM_SPIM0_SET(value) (((value) << 0) & 0x00000001)
2102 
2103 /*
2104  * Field : SPI Master 1 Security - spim1
2105  * 
2106  * Controls whether secure or non-secure masters can access the SPI Master 1 slave.
2107  * 
2108  * Field Enumeration Values:
2109  * 
2110  *  Enum                                | Value | Description                                  
2111  * :------------------------------------|:------|:----------------------------------------------
2112  *  ALT_L3_SEC_L4SPIM_SPIM1_E_SECURE    | 0x0   | The slave can only be accessed by a secure   
2113  * :                                    |       | master.                                      
2114  *  ALT_L3_SEC_L4SPIM_SPIM1_E_NONSECURE | 0x1   | The slave can only be accessed by a secure or
2115  * :                                    |       | non-secure masters.                          
2116  * 
2117  * Field Access Macros:
2118  * 
2119  */
2120 /*
2121  * Enumerated value for register field ALT_L3_SEC_L4SPIM_SPIM1
2122  * 
2123  * The slave can only be accessed by a secure master.
2124  */
2125 #define ALT_L3_SEC_L4SPIM_SPIM1_E_SECURE    0x0
2126 /*
2127  * Enumerated value for register field ALT_L3_SEC_L4SPIM_SPIM1
2128  * 
2129  * The slave can only be accessed by a secure or non-secure masters.
2130  */
2131 #define ALT_L3_SEC_L4SPIM_SPIM1_E_NONSECURE 0x1
2132 
2133 /* The Least Significant Bit (LSB) position of the ALT_L3_SEC_L4SPIM_SPIM1 register field. */
2134 #define ALT_L3_SEC_L4SPIM_SPIM1_LSB        1
2135 /* The Most Significant Bit (MSB) position of the ALT_L3_SEC_L4SPIM_SPIM1 register field. */
2136 #define ALT_L3_SEC_L4SPIM_SPIM1_MSB        1
2137 /* The width in bits of the ALT_L3_SEC_L4SPIM_SPIM1 register field. */
2138 #define ALT_L3_SEC_L4SPIM_SPIM1_WIDTH      1
2139 /* The mask used to set the ALT_L3_SEC_L4SPIM_SPIM1 register field value. */
2140 #define ALT_L3_SEC_L4SPIM_SPIM1_SET_MSK    0x00000002
2141 /* The mask used to clear the ALT_L3_SEC_L4SPIM_SPIM1 register field value. */
2142 #define ALT_L3_SEC_L4SPIM_SPIM1_CLR_MSK    0xfffffffd
2143 /* The reset value of the ALT_L3_SEC_L4SPIM_SPIM1 register field. */
2144 #define ALT_L3_SEC_L4SPIM_SPIM1_RESET      0x0
2145 /* Extracts the ALT_L3_SEC_L4SPIM_SPIM1 field value from a register. */
2146 #define ALT_L3_SEC_L4SPIM_SPIM1_GET(value) (((value) & 0x00000002) >> 1)
2147 /* Produces a ALT_L3_SEC_L4SPIM_SPIM1 register field value suitable for setting the register. */
2148 #define ALT_L3_SEC_L4SPIM_SPIM1_SET(value) (((value) << 1) & 0x00000002)
2149 
2150 /*
2151  * Field : Scan Manager Security - scanmgr
2152  * 
2153  * Controls whether secure or non-secure masters can access the Scan Manager slave.
2154  * 
2155  * Field Enumeration Values:
2156  * 
2157  *  Enum                                  | Value | Description                                  
2158  * :--------------------------------------|:------|:----------------------------------------------
2159  *  ALT_L3_SEC_L4SPIM_SCANMGR_E_SECURE    | 0x0   | The slave can only be accessed by a secure   
2160  * :                                      |       | master.                                      
2161  *  ALT_L3_SEC_L4SPIM_SCANMGR_E_NONSECURE | 0x1   | The slave can only be accessed by a secure or
2162  * :                                      |       | non-secure masters.                          
2163  * 
2164  * Field Access Macros:
2165  * 
2166  */
2167 /*
2168  * Enumerated value for register field ALT_L3_SEC_L4SPIM_SCANMGR
2169  * 
2170  * The slave can only be accessed by a secure master.
2171  */
2172 #define ALT_L3_SEC_L4SPIM_SCANMGR_E_SECURE      0x0
2173 /*
2174  * Enumerated value for register field ALT_L3_SEC_L4SPIM_SCANMGR
2175  * 
2176  * The slave can only be accessed by a secure or non-secure masters.
2177  */
2178 #define ALT_L3_SEC_L4SPIM_SCANMGR_E_NONSECURE   0x1
2179 
2180 /* The Least Significant Bit (LSB) position of the ALT_L3_SEC_L4SPIM_SCANMGR register field. */
2181 #define ALT_L3_SEC_L4SPIM_SCANMGR_LSB        2
2182 /* The Most Significant Bit (MSB) position of the ALT_L3_SEC_L4SPIM_SCANMGR register field. */
2183 #define ALT_L3_SEC_L4SPIM_SCANMGR_MSB        2
2184 /* The width in bits of the ALT_L3_SEC_L4SPIM_SCANMGR register field. */
2185 #define ALT_L3_SEC_L4SPIM_SCANMGR_WIDTH      1
2186 /* The mask used to set the ALT_L3_SEC_L4SPIM_SCANMGR register field value. */
2187 #define ALT_L3_SEC_L4SPIM_SCANMGR_SET_MSK    0x00000004
2188 /* The mask used to clear the ALT_L3_SEC_L4SPIM_SCANMGR register field value. */
2189 #define ALT_L3_SEC_L4SPIM_SCANMGR_CLR_MSK    0xfffffffb
2190 /* The reset value of the ALT_L3_SEC_L4SPIM_SCANMGR register field. */
2191 #define ALT_L3_SEC_L4SPIM_SCANMGR_RESET      0x0
2192 /* Extracts the ALT_L3_SEC_L4SPIM_SCANMGR field value from a register. */
2193 #define ALT_L3_SEC_L4SPIM_SCANMGR_GET(value) (((value) & 0x00000004) >> 2)
2194 /* Produces a ALT_L3_SEC_L4SPIM_SCANMGR register field value suitable for setting the register. */
2195 #define ALT_L3_SEC_L4SPIM_SCANMGR_SET(value) (((value) << 2) & 0x00000004)
2196 
2197 #ifndef __ASSEMBLY__
2198 /*
2199  * WARNING: The C register and register group struct declarations are provided for
2200  * convenience and illustrative purposes. They should, however, be used with
2201  * caution as the C language standard provides no guarantees about the alignment or
2202  * atomicity of device memory accesses. The recommended practice for writing
2203  * hardware drivers is to use the SoCAL access macros and alt_read_word() and
2204  * alt_write_word() functions.
2205  * 
2206  * The struct declaration for register ALT_L3_SEC_L4SPIM.
2207  */
2208 struct ALT_L3_SEC_L4SPIM_s
2209 {
2210     uint32_t  spim0   :  1;  /* SPI Master 0 Security */
2211     uint32_t  spim1   :  1;  /* SPI Master 1 Security */
2212     uint32_t  scanmgr :  1;  /* Scan Manager Security */
2213     uint32_t          : 29;  /* *UNDEFINED* */
2214 };
2215 
2216 /* The typedef declaration for register ALT_L3_SEC_L4SPIM. */
2217 typedef volatile struct ALT_L3_SEC_L4SPIM_s  ALT_L3_SEC_L4SPIM_t;
2218 #endif  /* __ASSEMBLY__ */
2219 
2220 /* The byte offset of the ALT_L3_SEC_L4SPIM register from the beginning of the component. */
2221 #define ALT_L3_SEC_L4SPIM_OFST        0x10
2222 
2223 /*
2224  * Register : STM Peripheral Security - stm
2225  * 
2226  * Controls security settings for STM peripheral.
2227  * 
2228  * Register Layout
2229  * 
2230  *  Bits   | Access | Reset | Description 
2231  * :-------|:-------|:------|:-------------
2232  *  [0]    | W      | 0x0   | STM Security
2233  *  [31:1] | ???    | 0x0   | *UNDEFINED* 
2234  * 
2235  */
2236 /*
2237  * Field : STM Security - s
2238  * 
2239  * Controls whether secure or non-secure masters can access the STM slave.
2240  * 
2241  * Field Enumeration Values:
2242  * 
2243  *  Enum                         | Value | Description                                  
2244  * :-----------------------------|:------|:----------------------------------------------
2245  *  ALT_L3_SEC_STM_S_E_SECURE    | 0x0   | The slave can only be accessed by a secure   
2246  * :                             |       | master.                                      
2247  *  ALT_L3_SEC_STM_S_E_NONSECURE | 0x1   | The slave can only be accessed by a secure or
2248  * :                             |       | non-secure masters.                          
2249  * 
2250  * Field Access Macros:
2251  * 
2252  */
2253 /*
2254  * Enumerated value for register field ALT_L3_SEC_STM_S
2255  * 
2256  * The slave can only be accessed by a secure master.
2257  */
2258 #define ALT_L3_SEC_STM_S_E_SECURE       0x0
2259 /*
2260  * Enumerated value for register field ALT_L3_SEC_STM_S
2261  * 
2262  * The slave can only be accessed by a secure or non-secure masters.
2263  */
2264 #define ALT_L3_SEC_STM_S_E_NONSECURE    0x1
2265 
2266 /* The Least Significant Bit (LSB) position of the ALT_L3_SEC_STM_S register field. */
2267 #define ALT_L3_SEC_STM_S_LSB        0
2268 /* The Most Significant Bit (MSB) position of the ALT_L3_SEC_STM_S register field. */
2269 #define ALT_L3_SEC_STM_S_MSB        0
2270 /* The width in bits of the ALT_L3_SEC_STM_S register field. */
2271 #define ALT_L3_SEC_STM_S_WIDTH      1
2272 /* The mask used to set the ALT_L3_SEC_STM_S register field value. */
2273 #define ALT_L3_SEC_STM_S_SET_MSK    0x00000001
2274 /* The mask used to clear the ALT_L3_SEC_STM_S register field value. */
2275 #define ALT_L3_SEC_STM_S_CLR_MSK    0xfffffffe
2276 /* The reset value of the ALT_L3_SEC_STM_S register field. */
2277 #define ALT_L3_SEC_STM_S_RESET      0x0
2278 /* Extracts the ALT_L3_SEC_STM_S field value from a register. */
2279 #define ALT_L3_SEC_STM_S_GET(value) (((value) & 0x00000001) >> 0)
2280 /* Produces a ALT_L3_SEC_STM_S register field value suitable for setting the register. */
2281 #define ALT_L3_SEC_STM_S_SET(value) (((value) << 0) & 0x00000001)
2282 
2283 #ifndef __ASSEMBLY__
2284 /*
2285  * WARNING: The C register and register group struct declarations are provided for
2286  * convenience and illustrative purposes. They should, however, be used with
2287  * caution as the C language standard provides no guarantees about the alignment or
2288  * atomicity of device memory accesses. The recommended practice for writing
2289  * hardware drivers is to use the SoCAL access macros and alt_read_word() and
2290  * alt_write_word() functions.
2291  * 
2292  * The struct declaration for register ALT_L3_SEC_STM.
2293  */
2294 struct ALT_L3_SEC_STM_s
2295 {
2296     uint32_t  s :  1;  /* STM Security */
2297     uint32_t    : 31;  /* *UNDEFINED* */
2298 };
2299 
2300 /* The typedef declaration for register ALT_L3_SEC_STM. */
2301 typedef volatile struct ALT_L3_SEC_STM_s  ALT_L3_SEC_STM_t;
2302 #endif  /* __ASSEMBLY__ */
2303 
2304 /* The byte offset of the ALT_L3_SEC_STM register from the beginning of the component. */
2305 #define ALT_L3_SEC_STM_OFST        0x14
2306 
2307 /*
2308  * Register : LWHPS2FPGA AXI Bridge Registers Peripheral Security - lwhps2fpgaregs
2309  * 
2310  * Controls security settings for LWHPS2FPGA AXI Bridge Registers peripheral.
2311  * 
2312  * Register Layout
2313  * 
2314  *  Bits   | Access | Reset | Description                             
2315  * :-------|:-------|:------|:-----------------------------------------
2316  *  [0]    | W      | 0x0   | LWHPS2FPGA AXI Bridge Registers Security
2317  *  [31:1] | ???    | 0x0   | *UNDEFINED*                             
2318  * 
2319  */
2320 /*
2321  * Field : LWHPS2FPGA AXI Bridge Registers Security - s
2322  * 
2323  * Controls whether secure or non-secure masters can access the LWHPS2FPGA AXI
2324  * Bridge Registers slave.
2325  * 
2326  * Field Enumeration Values:
2327  * 
2328  *  Enum                           | Value | Description                                  
2329  * :-------------------------------|:------|:----------------------------------------------
2330  *  ALT_L3_SEC_LWH2F_S_E_SECURE    | 0x0   | The slave can only be accessed by a secure   
2331  * :                               |       | master.                                      
2332  *  ALT_L3_SEC_LWH2F_S_E_NONSECURE | 0x1   | The slave can only be accessed by a secure or
2333  * :                               |       | non-secure masters.                          
2334  * 
2335  * Field Access Macros:
2336  * 
2337  */
2338 /*
2339  * Enumerated value for register field ALT_L3_SEC_LWH2F_S
2340  * 
2341  * The slave can only be accessed by a secure master.
2342  */
2343 #define ALT_L3_SEC_LWH2F_S_E_SECURE     0x0
2344 /*
2345  * Enumerated value for register field ALT_L3_SEC_LWH2F_S
2346  * 
2347  * The slave can only be accessed by a secure or non-secure masters.
2348  */
2349 #define ALT_L3_SEC_LWH2F_S_E_NONSECURE  0x1
2350 
2351 /* The Least Significant Bit (LSB) position of the ALT_L3_SEC_LWH2F_S register field. */
2352 #define ALT_L3_SEC_LWH2F_S_LSB        0
2353 /* The Most Significant Bit (MSB) position of the ALT_L3_SEC_LWH2F_S register field. */
2354 #define ALT_L3_SEC_LWH2F_S_MSB        0
2355 /* The width in bits of the ALT_L3_SEC_LWH2F_S register field. */
2356 #define ALT_L3_SEC_LWH2F_S_WIDTH      1
2357 /* The mask used to set the ALT_L3_SEC_LWH2F_S register field value. */
2358 #define ALT_L3_SEC_LWH2F_S_SET_MSK    0x00000001
2359 /* The mask used to clear the ALT_L3_SEC_LWH2F_S register field value. */
2360 #define ALT_L3_SEC_LWH2F_S_CLR_MSK    0xfffffffe
2361 /* The reset value of the ALT_L3_SEC_LWH2F_S register field. */
2362 #define ALT_L3_SEC_LWH2F_S_RESET      0x0
2363 /* Extracts the ALT_L3_SEC_LWH2F_S field value from a register. */
2364 #define ALT_L3_SEC_LWH2F_S_GET(value) (((value) & 0x00000001) >> 0)
2365 /* Produces a ALT_L3_SEC_LWH2F_S register field value suitable for setting the register. */
2366 #define ALT_L3_SEC_LWH2F_S_SET(value) (((value) << 0) & 0x00000001)
2367 
2368 #ifndef __ASSEMBLY__
2369 /*
2370  * WARNING: The C register and register group struct declarations are provided for
2371  * convenience and illustrative purposes. They should, however, be used with
2372  * caution as the C language standard provides no guarantees about the alignment or
2373  * atomicity of device memory accesses. The recommended practice for writing
2374  * hardware drivers is to use the SoCAL access macros and alt_read_word() and
2375  * alt_write_word() functions.
2376  * 
2377  * The struct declaration for register ALT_L3_SEC_LWH2F.
2378  */
2379 struct ALT_L3_SEC_LWH2F_s
2380 {
2381     uint32_t  s :  1;  /* LWHPS2FPGA AXI Bridge Registers Security */
2382     uint32_t    : 31;  /* *UNDEFINED* */
2383 };
2384 
2385 /* The typedef declaration for register ALT_L3_SEC_LWH2F. */
2386 typedef volatile struct ALT_L3_SEC_LWH2F_s  ALT_L3_SEC_LWH2F_t;
2387 #endif  /* __ASSEMBLY__ */
2388 
2389 /* The byte offset of the ALT_L3_SEC_LWH2F register from the beginning of the component. */
2390 #define ALT_L3_SEC_LWH2F_OFST        0x18
2391 
2392 /*
2393  * Register : USB1 Registers Peripheral Security - usb1
2394  * 
2395  * Controls security settings for USB1 Registers peripheral.
2396  * 
2397  * Register Layout
2398  * 
2399  *  Bits   | Access | Reset | Description            
2400  * :-------|:-------|:------|:------------------------
2401  *  [0]    | W      | 0x0   | USB1 Registers Security
2402  *  [31:1] | ???    | 0x0   | *UNDEFINED*            
2403  * 
2404  */
2405 /*
2406  * Field : USB1 Registers Security - s
2407  * 
2408  * Controls whether secure or non-secure masters can access the USB1 Registers
2409  * slave.
2410  * 
2411  * Field Enumeration Values:
2412  * 
2413  *  Enum                          | Value | Description                                  
2414  * :------------------------------|:------|:----------------------------------------------
2415  *  ALT_L3_SEC_USB1_S_E_SECURE    | 0x0   | The slave can only be accessed by a secure   
2416  * :                              |       | master.                                      
2417  *  ALT_L3_SEC_USB1_S_E_NONSECURE | 0x1   | The slave can only be accessed by a secure or
2418  * :                              |       | non-secure masters.                          
2419  * 
2420  * Field Access Macros:
2421  * 
2422  */
2423 /*
2424  * Enumerated value for register field ALT_L3_SEC_USB1_S
2425  * 
2426  * The slave can only be accessed by a secure master.
2427  */
2428 #define ALT_L3_SEC_USB1_S_E_SECURE      0x0
2429 /*
2430  * Enumerated value for register field ALT_L3_SEC_USB1_S
2431  * 
2432  * The slave can only be accessed by a secure or non-secure masters.
2433  */
2434 #define ALT_L3_SEC_USB1_S_E_NONSECURE   0x1
2435 
2436 /* The Least Significant Bit (LSB) position of the ALT_L3_SEC_USB1_S register field. */
2437 #define ALT_L3_SEC_USB1_S_LSB        0
2438 /* The Most Significant Bit (MSB) position of the ALT_L3_SEC_USB1_S register field. */
2439 #define ALT_L3_SEC_USB1_S_MSB        0
2440 /* The width in bits of the ALT_L3_SEC_USB1_S register field. */
2441 #define ALT_L3_SEC_USB1_S_WIDTH      1
2442 /* The mask used to set the ALT_L3_SEC_USB1_S register field value. */
2443 #define ALT_L3_SEC_USB1_S_SET_MSK    0x00000001
2444 /* The mask used to clear the ALT_L3_SEC_USB1_S register field value. */
2445 #define ALT_L3_SEC_USB1_S_CLR_MSK    0xfffffffe
2446 /* The reset value of the ALT_L3_SEC_USB1_S register field. */
2447 #define ALT_L3_SEC_USB1_S_RESET      0x0
2448 /* Extracts the ALT_L3_SEC_USB1_S field value from a register. */
2449 #define ALT_L3_SEC_USB1_S_GET(value) (((value) & 0x00000001) >> 0)
2450 /* Produces a ALT_L3_SEC_USB1_S register field value suitable for setting the register. */
2451 #define ALT_L3_SEC_USB1_S_SET(value) (((value) << 0) & 0x00000001)
2452 
2453 #ifndef __ASSEMBLY__
2454 /*
2455  * WARNING: The C register and register group struct declarations are provided for
2456  * convenience and illustrative purposes. They should, however, be used with
2457  * caution as the C language standard provides no guarantees about the alignment or
2458  * atomicity of device memory accesses. The recommended practice for writing
2459  * hardware drivers is to use the SoCAL access macros and alt_read_word() and
2460  * alt_write_word() functions.
2461  * 
2462  * The struct declaration for register ALT_L3_SEC_USB1.
2463  */
2464 struct ALT_L3_SEC_USB1_s
2465 {
2466     uint32_t  s :  1;  /* USB1 Registers Security */
2467     uint32_t    : 31;  /* *UNDEFINED* */
2468 };
2469 
2470 /* The typedef declaration for register ALT_L3_SEC_USB1. */
2471 typedef volatile struct ALT_L3_SEC_USB1_s  ALT_L3_SEC_USB1_t;
2472 #endif  /* __ASSEMBLY__ */
2473 
2474 /* The byte offset of the ALT_L3_SEC_USB1 register from the beginning of the component. */
2475 #define ALT_L3_SEC_USB1_OFST        0x20
2476 
2477 /*
2478  * Register : NAND Flash Controller Data Peripheral Security - nanddata
2479  * 
2480  * Controls security settings for NAND Flash Controller Data peripheral.
2481  * 
2482  * Register Layout
2483  * 
2484  *  Bits   | Access | Reset | Description                        
2485  * :-------|:-------|:------|:------------------------------------
2486  *  [0]    | W      | 0x0   | NAND Flash Controller Data Security
2487  *  [31:1] | ???    | 0x0   | *UNDEFINED*                        
2488  * 
2489  */
2490 /*
2491  * Field : NAND Flash Controller Data Security - s
2492  * 
2493  * Controls whether secure or non-secure masters can access the NAND Flash
2494  * Controller Data slave.
2495  * 
2496  * Field Enumeration Values:
2497  * 
2498  *  Enum                              | Value | Description                                  
2499  * :----------------------------------|:------|:----------------------------------------------
2500  *  ALT_L3_SEC_NANDDATA_S_E_SECURE    | 0x0   | The slave can only be accessed by a secure   
2501  * :                                  |       | master.                                      
2502  *  ALT_L3_SEC_NANDDATA_S_E_NONSECURE | 0x1   | The slave can only be accessed by a secure or
2503  * :                                  |       | non-secure masters.                          
2504  * 
2505  * Field Access Macros:
2506  * 
2507  */
2508 /*
2509  * Enumerated value for register field ALT_L3_SEC_NANDDATA_S
2510  * 
2511  * The slave can only be accessed by a secure master.
2512  */
2513 #define ALT_L3_SEC_NANDDATA_S_E_SECURE      0x0
2514 /*
2515  * Enumerated value for register field ALT_L3_SEC_NANDDATA_S
2516  * 
2517  * The slave can only be accessed by a secure or non-secure masters.
2518  */
2519 #define ALT_L3_SEC_NANDDATA_S_E_NONSECURE   0x1
2520 
2521 /* The Least Significant Bit (LSB) position of the ALT_L3_SEC_NANDDATA_S register field. */
2522 #define ALT_L3_SEC_NANDDATA_S_LSB        0
2523 /* The Most Significant Bit (MSB) position of the ALT_L3_SEC_NANDDATA_S register field. */
2524 #define ALT_L3_SEC_NANDDATA_S_MSB        0
2525 /* The width in bits of the ALT_L3_SEC_NANDDATA_S register field. */
2526 #define ALT_L3_SEC_NANDDATA_S_WIDTH      1
2527 /* The mask used to set the ALT_L3_SEC_NANDDATA_S register field value. */
2528 #define ALT_L3_SEC_NANDDATA_S_SET_MSK    0x00000001
2529 /* The mask used to clear the ALT_L3_SEC_NANDDATA_S register field value. */
2530 #define ALT_L3_SEC_NANDDATA_S_CLR_MSK    0xfffffffe
2531 /* The reset value of the ALT_L3_SEC_NANDDATA_S register field. */
2532 #define ALT_L3_SEC_NANDDATA_S_RESET      0x0
2533 /* Extracts the ALT_L3_SEC_NANDDATA_S field value from a register. */
2534 #define ALT_L3_SEC_NANDDATA_S_GET(value) (((value) & 0x00000001) >> 0)
2535 /* Produces a ALT_L3_SEC_NANDDATA_S register field value suitable for setting the register. */
2536 #define ALT_L3_SEC_NANDDATA_S_SET(value) (((value) << 0) & 0x00000001)
2537 
2538 #ifndef __ASSEMBLY__
2539 /*
2540  * WARNING: The C register and register group struct declarations are provided for
2541  * convenience and illustrative purposes. They should, however, be used with
2542  * caution as the C language standard provides no guarantees about the alignment or
2543  * atomicity of device memory accesses. The recommended practice for writing
2544  * hardware drivers is to use the SoCAL access macros and alt_read_word() and
2545  * alt_write_word() functions.
2546  * 
2547  * The struct declaration for register ALT_L3_SEC_NANDDATA.
2548  */
2549 struct ALT_L3_SEC_NANDDATA_s
2550 {
2551     uint32_t  s :  1;  /* NAND Flash Controller Data Security */
2552     uint32_t    : 31;  /* *UNDEFINED* */
2553 };
2554 
2555 /* The typedef declaration for register ALT_L3_SEC_NANDDATA. */
2556 typedef volatile struct ALT_L3_SEC_NANDDATA_s  ALT_L3_SEC_NANDDATA_t;
2557 #endif  /* __ASSEMBLY__ */
2558 
2559 /* The byte offset of the ALT_L3_SEC_NANDDATA register from the beginning of the component. */
2560 #define ALT_L3_SEC_NANDDATA_OFST        0x24
2561 
2562 /*
2563  * Register : USB0 Registers Peripheral Security - usb0
2564  * 
2565  * Controls security settings for USB0 Registers peripheral.
2566  * 
2567  * Register Layout
2568  * 
2569  *  Bits   | Access | Reset | Description            
2570  * :-------|:-------|:------|:------------------------
2571  *  [0]    | W      | 0x0   | USB0 Registers Security
2572  *  [31:1] | ???    | 0x0   | *UNDEFINED*            
2573  * 
2574  */
2575 /*
2576  * Field : USB0 Registers Security - s
2577  * 
2578  * Controls whether secure or non-secure masters can access the USB0 Registers
2579  * slave.
2580  * 
2581  * Field Enumeration Values:
2582  * 
2583  *  Enum                          | Value | Description                                  
2584  * :------------------------------|:------|:----------------------------------------------
2585  *  ALT_L3_SEC_USB0_S_E_SECURE    | 0x0   | The slave can only be accessed by a secure   
2586  * :                              |       | master.                                      
2587  *  ALT_L3_SEC_USB0_S_E_NONSECURE | 0x1   | The slave can only be accessed by a secure or
2588  * :                              |       | non-secure masters.                          
2589  * 
2590  * Field Access Macros:
2591  * 
2592  */
2593 /*
2594  * Enumerated value for register field ALT_L3_SEC_USB0_S
2595  * 
2596  * The slave can only be accessed by a secure master.
2597  */
2598 #define ALT_L3_SEC_USB0_S_E_SECURE      0x0
2599 /*
2600  * Enumerated value for register field ALT_L3_SEC_USB0_S
2601  * 
2602  * The slave can only be accessed by a secure or non-secure masters.
2603  */
2604 #define ALT_L3_SEC_USB0_S_E_NONSECURE   0x1
2605 
2606 /* The Least Significant Bit (LSB) position of the ALT_L3_SEC_USB0_S register field. */
2607 #define ALT_L3_SEC_USB0_S_LSB        0
2608 /* The Most Significant Bit (MSB) position of the ALT_L3_SEC_USB0_S register field. */
2609 #define ALT_L3_SEC_USB0_S_MSB        0
2610 /* The width in bits of the ALT_L3_SEC_USB0_S register field. */
2611 #define ALT_L3_SEC_USB0_S_WIDTH      1
2612 /* The mask used to set the ALT_L3_SEC_USB0_S register field value. */
2613 #define ALT_L3_SEC_USB0_S_SET_MSK    0x00000001
2614 /* The mask used to clear the ALT_L3_SEC_USB0_S register field value. */
2615 #define ALT_L3_SEC_USB0_S_CLR_MSK    0xfffffffe
2616 /* The reset value of the ALT_L3_SEC_USB0_S register field. */
2617 #define ALT_L3_SEC_USB0_S_RESET      0x0
2618 /* Extracts the ALT_L3_SEC_USB0_S field value from a register. */
2619 #define ALT_L3_SEC_USB0_S_GET(value) (((value) & 0x00000001) >> 0)
2620 /* Produces a ALT_L3_SEC_USB0_S register field value suitable for setting the register. */
2621 #define ALT_L3_SEC_USB0_S_SET(value) (((value) << 0) & 0x00000001)
2622 
2623 #ifndef __ASSEMBLY__
2624 /*
2625  * WARNING: The C register and register group struct declarations are provided for
2626  * convenience and illustrative purposes. They should, however, be used with
2627  * caution as the C language standard provides no guarantees about the alignment or
2628  * atomicity of device memory accesses. The recommended practice for writing
2629  * hardware drivers is to use the SoCAL access macros and alt_read_word() and
2630  * alt_write_word() functions.
2631  * 
2632  * The struct declaration for register ALT_L3_SEC_USB0.
2633  */
2634 struct ALT_L3_SEC_USB0_s
2635 {
2636     uint32_t  s :  1;  /* USB0 Registers Security */
2637     uint32_t    : 31;  /* *UNDEFINED* */
2638 };
2639 
2640 /* The typedef declaration for register ALT_L3_SEC_USB0. */
2641 typedef volatile struct ALT_L3_SEC_USB0_s  ALT_L3_SEC_USB0_t;
2642 #endif  /* __ASSEMBLY__ */
2643 
2644 /* The byte offset of the ALT_L3_SEC_USB0 register from the beginning of the component. */
2645 #define ALT_L3_SEC_USB0_OFST        0x78
2646 
2647 /*
2648  * Register : NAND Flash Controller Registers Peripheral Security - nandregs
2649  * 
2650  * Controls security settings for NAND Flash Controller Registers peripheral.
2651  * 
2652  * Register Layout
2653  * 
2654  *  Bits   | Access | Reset | Description                             
2655  * :-------|:-------|:------|:-----------------------------------------
2656  *  [0]    | W      | 0x0   | NAND Flash Controller Registers Security
2657  *  [31:1] | ???    | 0x0   | *UNDEFINED*                             
2658  * 
2659  */
2660 /*
2661  * Field : NAND Flash Controller Registers Security - s
2662  * 
2663  * Controls whether secure or non-secure masters can access the NAND Flash
2664  * Controller Registers slave.
2665  * 
2666  * Field Enumeration Values:
2667  * 
2668  *  Enum                          | Value | Description                                  
2669  * :------------------------------|:------|:----------------------------------------------
2670  *  ALT_L3_SEC_NAND_S_E_SECURE    | 0x0   | The slave can only be accessed by a secure   
2671  * :                              |       | master.                                      
2672  *  ALT_L3_SEC_NAND_S_E_NONSECURE | 0x1   | The slave can only be accessed by a secure or
2673  * :                              |       | non-secure masters.                          
2674  * 
2675  * Field Access Macros:
2676  * 
2677  */
2678 /*
2679  * Enumerated value for register field ALT_L3_SEC_NAND_S
2680  * 
2681  * The slave can only be accessed by a secure master.
2682  */
2683 #define ALT_L3_SEC_NAND_S_E_SECURE      0x0
2684 /*
2685  * Enumerated value for register field ALT_L3_SEC_NAND_S
2686  * 
2687  * The slave can only be accessed by a secure or non-secure masters.
2688  */
2689 #define ALT_L3_SEC_NAND_S_E_NONSECURE   0x1
2690 
2691 /* The Least Significant Bit (LSB) position of the ALT_L3_SEC_NAND_S register field. */
2692 #define ALT_L3_SEC_NAND_S_LSB        0
2693 /* The Most Significant Bit (MSB) position of the ALT_L3_SEC_NAND_S register field. */
2694 #define ALT_L3_SEC_NAND_S_MSB        0
2695 /* The width in bits of the ALT_L3_SEC_NAND_S register field. */
2696 #define ALT_L3_SEC_NAND_S_WIDTH      1
2697 /* The mask used to set the ALT_L3_SEC_NAND_S register field value. */
2698 #define ALT_L3_SEC_NAND_S_SET_MSK    0x00000001
2699 /* The mask used to clear the ALT_L3_SEC_NAND_S register field value. */
2700 #define ALT_L3_SEC_NAND_S_CLR_MSK    0xfffffffe
2701 /* The reset value of the ALT_L3_SEC_NAND_S register field. */
2702 #define ALT_L3_SEC_NAND_S_RESET      0x0
2703 /* Extracts the ALT_L3_SEC_NAND_S field value from a register. */
2704 #define ALT_L3_SEC_NAND_S_GET(value) (((value) & 0x00000001) >> 0)
2705 /* Produces a ALT_L3_SEC_NAND_S register field value suitable for setting the register. */
2706 #define ALT_L3_SEC_NAND_S_SET(value) (((value) << 0) & 0x00000001)
2707 
2708 #ifndef __ASSEMBLY__
2709 /*
2710  * WARNING: The C register and register group struct declarations are provided for
2711  * convenience and illustrative purposes. They should, however, be used with
2712  * caution as the C language standard provides no guarantees about the alignment or
2713  * atomicity of device memory accesses. The recommended practice for writing
2714  * hardware drivers is to use the SoCAL access macros and alt_read_word() and
2715  * alt_write_word() functions.
2716  * 
2717  * The struct declaration for register ALT_L3_SEC_NAND.
2718  */
2719 struct ALT_L3_SEC_NAND_s
2720 {
2721     uint32_t  s :  1;  /* NAND Flash Controller Registers Security */
2722     uint32_t    : 31;  /* *UNDEFINED* */
2723 };
2724 
2725 /* The typedef declaration for register ALT_L3_SEC_NAND. */
2726 typedef volatile struct ALT_L3_SEC_NAND_s  ALT_L3_SEC_NAND_t;
2727 #endif  /* __ASSEMBLY__ */
2728 
2729 /* The byte offset of the ALT_L3_SEC_NAND register from the beginning of the component. */
2730 #define ALT_L3_SEC_NAND_OFST        0x7c
2731 
2732 /*
2733  * Register : QSPI Flash Controller Data Peripheral Security - qspidata
2734  * 
2735  * Controls security settings for QSPI Flash Controller Data peripheral.
2736  * 
2737  * Register Layout
2738  * 
2739  *  Bits   | Access | Reset | Description                        
2740  * :-------|:-------|:------|:------------------------------------
2741  *  [0]    | W      | 0x0   | QSPI Flash Controller Data Security
2742  *  [31:1] | ???    | 0x0   | *UNDEFINED*                        
2743  * 
2744  */
2745 /*
2746  * Field : QSPI Flash Controller Data Security - s
2747  * 
2748  * Controls whether secure or non-secure masters can access the QSPI Flash
2749  * Controller Data slave.
2750  * 
2751  * Field Enumeration Values:
2752  * 
2753  *  Enum                              | Value | Description                                  
2754  * :----------------------------------|:------|:----------------------------------------------
2755  *  ALT_L3_SEC_QSPIDATA_S_E_SECURE    | 0x0   | The slave can only be accessed by a secure   
2756  * :                                  |       | master.                                      
2757  *  ALT_L3_SEC_QSPIDATA_S_E_NONSECURE | 0x1   | The slave can only be accessed by a secure or
2758  * :                                  |       | non-secure masters.                          
2759  * 
2760  * Field Access Macros:
2761  * 
2762  */
2763 /*
2764  * Enumerated value for register field ALT_L3_SEC_QSPIDATA_S
2765  * 
2766  * The slave can only be accessed by a secure master.
2767  */
2768 #define ALT_L3_SEC_QSPIDATA_S_E_SECURE      0x0
2769 /*
2770  * Enumerated value for register field ALT_L3_SEC_QSPIDATA_S
2771  * 
2772  * The slave can only be accessed by a secure or non-secure masters.
2773  */
2774 #define ALT_L3_SEC_QSPIDATA_S_E_NONSECURE   0x1
2775 
2776 /* The Least Significant Bit (LSB) position of the ALT_L3_SEC_QSPIDATA_S register field. */
2777 #define ALT_L3_SEC_QSPIDATA_S_LSB        0
2778 /* The Most Significant Bit (MSB) position of the ALT_L3_SEC_QSPIDATA_S register field. */
2779 #define ALT_L3_SEC_QSPIDATA_S_MSB        0
2780 /* The width in bits of the ALT_L3_SEC_QSPIDATA_S register field. */
2781 #define ALT_L3_SEC_QSPIDATA_S_WIDTH      1
2782 /* The mask used to set the ALT_L3_SEC_QSPIDATA_S register field value. */
2783 #define ALT_L3_SEC_QSPIDATA_S_SET_MSK    0x00000001
2784 /* The mask used to clear the ALT_L3_SEC_QSPIDATA_S register field value. */
2785 #define ALT_L3_SEC_QSPIDATA_S_CLR_MSK    0xfffffffe
2786 /* The reset value of the ALT_L3_SEC_QSPIDATA_S register field. */
2787 #define ALT_L3_SEC_QSPIDATA_S_RESET      0x0
2788 /* Extracts the ALT_L3_SEC_QSPIDATA_S field value from a register. */
2789 #define ALT_L3_SEC_QSPIDATA_S_GET(value) (((value) & 0x00000001) >> 0)
2790 /* Produces a ALT_L3_SEC_QSPIDATA_S register field value suitable for setting the register. */
2791 #define ALT_L3_SEC_QSPIDATA_S_SET(value) (((value) << 0) & 0x00000001)
2792 
2793 #ifndef __ASSEMBLY__
2794 /*
2795  * WARNING: The C register and register group struct declarations are provided for
2796  * convenience and illustrative purposes. They should, however, be used with
2797  * caution as the C language standard provides no guarantees about the alignment or
2798  * atomicity of device memory accesses. The recommended practice for writing
2799  * hardware drivers is to use the SoCAL access macros and alt_read_word() and
2800  * alt_write_word() functions.
2801  * 
2802  * The struct declaration for register ALT_L3_SEC_QSPIDATA.
2803  */
2804 struct ALT_L3_SEC_QSPIDATA_s
2805 {
2806     uint32_t  s :  1;  /* QSPI Flash Controller Data Security */
2807     uint32_t    : 31;  /* *UNDEFINED* */
2808 };
2809 
2810 /* The typedef declaration for register ALT_L3_SEC_QSPIDATA. */
2811 typedef volatile struct ALT_L3_SEC_QSPIDATA_s  ALT_L3_SEC_QSPIDATA_t;
2812 #endif  /* __ASSEMBLY__ */
2813 
2814 /* The byte offset of the ALT_L3_SEC_QSPIDATA register from the beginning of the component. */
2815 #define ALT_L3_SEC_QSPIDATA_OFST        0x80
2816 
2817 /*
2818  * Register : FPGA Manager Data Peripheral Security - fpgamgrdata
2819  * 
2820  * Controls security settings for FPGA Manager Data peripheral.
2821  * 
2822  * Register Layout
2823  * 
2824  *  Bits   | Access | Reset | Description               
2825  * :-------|:-------|:------|:---------------------------
2826  *  [0]    | W      | 0x0   | FPGA Manager Data Security
2827  *  [31:1] | ???    | 0x0   | *UNDEFINED*               
2828  * 
2829  */
2830 /*
2831  * Field : FPGA Manager Data Security - s
2832  * 
2833  * Controls whether secure or non-secure masters can access the FPGA Manager Data
2834  * slave.
2835  * 
2836  * Field Enumeration Values:
2837  * 
2838  *  Enum                                 | Value | Description                                  
2839  * :-------------------------------------|:------|:----------------------------------------------
2840  *  ALT_L3_SEC_FPGAMGRDATA_S_E_SECURE    | 0x0   | The slave can only be accessed by a secure   
2841  * :                                     |       | master.                                      
2842  *  ALT_L3_SEC_FPGAMGRDATA_S_E_NONSECURE | 0x1   | The slave can only be accessed by a secure or
2843  * :                                     |       | non-secure masters.                          
2844  * 
2845  * Field Access Macros:
2846  * 
2847  */
2848 /*
2849  * Enumerated value for register field ALT_L3_SEC_FPGAMGRDATA_S
2850  * 
2851  * The slave can only be accessed by a secure master.
2852  */
2853 #define ALT_L3_SEC_FPGAMGRDATA_S_E_SECURE       0x0
2854 /*
2855  * Enumerated value for register field ALT_L3_SEC_FPGAMGRDATA_S
2856  * 
2857  * The slave can only be accessed by a secure or non-secure masters.
2858  */
2859 #define ALT_L3_SEC_FPGAMGRDATA_S_E_NONSECURE    0x1
2860 
2861 /* The Least Significant Bit (LSB) position of the ALT_L3_SEC_FPGAMGRDATA_S register field. */
2862 #define ALT_L3_SEC_FPGAMGRDATA_S_LSB        0
2863 /* The Most Significant Bit (MSB) position of the ALT_L3_SEC_FPGAMGRDATA_S register field. */
2864 #define ALT_L3_SEC_FPGAMGRDATA_S_MSB        0
2865 /* The width in bits of the ALT_L3_SEC_FPGAMGRDATA_S register field. */
2866 #define ALT_L3_SEC_FPGAMGRDATA_S_WIDTH      1
2867 /* The mask used to set the ALT_L3_SEC_FPGAMGRDATA_S register field value. */
2868 #define ALT_L3_SEC_FPGAMGRDATA_S_SET_MSK    0x00000001
2869 /* The mask used to clear the ALT_L3_SEC_FPGAMGRDATA_S register field value. */
2870 #define ALT_L3_SEC_FPGAMGRDATA_S_CLR_MSK    0xfffffffe
2871 /* The reset value of the ALT_L3_SEC_FPGAMGRDATA_S register field. */
2872 #define ALT_L3_SEC_FPGAMGRDATA_S_RESET      0x0
2873 /* Extracts the ALT_L3_SEC_FPGAMGRDATA_S field value from a register. */
2874 #define ALT_L3_SEC_FPGAMGRDATA_S_GET(value) (((value) & 0x00000001) >> 0)
2875 /* Produces a ALT_L3_SEC_FPGAMGRDATA_S register field value suitable for setting the register. */
2876 #define ALT_L3_SEC_FPGAMGRDATA_S_SET(value) (((value) << 0) & 0x00000001)
2877 
2878 #ifndef __ASSEMBLY__
2879 /*
2880  * WARNING: The C register and register group struct declarations are provided for
2881  * convenience and illustrative purposes. They should, however, be used with
2882  * caution as the C language standard provides no guarantees about the alignment or
2883  * atomicity of device memory accesses. The recommended practice for writing
2884  * hardware drivers is to use the SoCAL access macros and alt_read_word() and
2885  * alt_write_word() functions.
2886  * 
2887  * The struct declaration for register ALT_L3_SEC_FPGAMGRDATA.
2888  */
2889 struct ALT_L3_SEC_FPGAMGRDATA_s
2890 {
2891     uint32_t  s :  1;  /* FPGA Manager Data Security */
2892     uint32_t    : 31;  /* *UNDEFINED* */
2893 };
2894 
2895 /* The typedef declaration for register ALT_L3_SEC_FPGAMGRDATA. */
2896 typedef volatile struct ALT_L3_SEC_FPGAMGRDATA_s  ALT_L3_SEC_FPGAMGRDATA_t;
2897 #endif  /* __ASSEMBLY__ */
2898 
2899 /* The byte offset of the ALT_L3_SEC_FPGAMGRDATA register from the beginning of the component. */
2900 #define ALT_L3_SEC_FPGAMGRDATA_OFST        0x84
2901 
2902 /*
2903  * Register : HPS2FPGA AXI Bridge Registers Peripheral Security - hps2fpgaregs
2904  * 
2905  * Controls security settings for HPS2FPGA AXI Bridge Registers peripheral.
2906  * 
2907  * Register Layout
2908  * 
2909  *  Bits   | Access | Reset | Description                           
2910  * :-------|:-------|:------|:---------------------------------------
2911  *  [0]    | W      | 0x0   | HPS2FPGA AXI Bridge Registers Security
2912  *  [31:1] | ???    | 0x0   | *UNDEFINED*                           
2913  * 
2914  */
2915 /*
2916  * Field : HPS2FPGA AXI Bridge Registers Security - s
2917  * 
2918  * Controls whether secure or non-secure masters can access the HPS2FPGA AXI Bridge
2919  * Registers slave.
2920  * 
2921  * Field Enumeration Values:
2922  * 
2923  *  Enum                         | Value | Description                                  
2924  * :-----------------------------|:------|:----------------------------------------------
2925  *  ALT_L3_SEC_H2F_S_E_SECURE    | 0x0   | The slave can only be accessed by a secure   
2926  * :                             |       | master.                                      
2927  *  ALT_L3_SEC_H2F_S_E_NONSECURE | 0x1   | The slave can only be accessed by a secure or
2928  * :                             |       | non-secure masters.                          
2929  * 
2930  * Field Access Macros:
2931  * 
2932  */
2933 /*
2934  * Enumerated value for register field ALT_L3_SEC_H2F_S
2935  * 
2936  * The slave can only be accessed by a secure master.
2937  */
2938 #define ALT_L3_SEC_H2F_S_E_SECURE       0x0
2939 /*
2940  * Enumerated value for register field ALT_L3_SEC_H2F_S
2941  * 
2942  * The slave can only be accessed by a secure or non-secure masters.
2943  */
2944 #define ALT_L3_SEC_H2F_S_E_NONSECURE    0x1
2945 
2946 /* The Least Significant Bit (LSB) position of the ALT_L3_SEC_H2F_S register field. */
2947 #define ALT_L3_SEC_H2F_S_LSB        0
2948 /* The Most Significant Bit (MSB) position of the ALT_L3_SEC_H2F_S register field. */
2949 #define ALT_L3_SEC_H2F_S_MSB        0
2950 /* The width in bits of the ALT_L3_SEC_H2F_S register field. */
2951 #define ALT_L3_SEC_H2F_S_WIDTH      1
2952 /* The mask used to set the ALT_L3_SEC_H2F_S register field value. */
2953 #define ALT_L3_SEC_H2F_S_SET_MSK    0x00000001
2954 /* The mask used to clear the ALT_L3_SEC_H2F_S register field value. */
2955 #define ALT_L3_SEC_H2F_S_CLR_MSK    0xfffffffe
2956 /* The reset value of the ALT_L3_SEC_H2F_S register field. */
2957 #define ALT_L3_SEC_H2F_S_RESET      0x0
2958 /* Extracts the ALT_L3_SEC_H2F_S field value from a register. */
2959 #define ALT_L3_SEC_H2F_S_GET(value) (((value) & 0x00000001) >> 0)
2960 /* Produces a ALT_L3_SEC_H2F_S register field value suitable for setting the register. */
2961 #define ALT_L3_SEC_H2F_S_SET(value) (((value) << 0) & 0x00000001)
2962 
2963 #ifndef __ASSEMBLY__
2964 /*
2965  * WARNING: The C register and register group struct declarations are provided for
2966  * convenience and illustrative purposes. They should, however, be used with
2967  * caution as the C language standard provides no guarantees about the alignment or
2968  * atomicity of device memory accesses. The recommended practice for writing
2969  * hardware drivers is to use the SoCAL access macros and alt_read_word() and
2970  * alt_write_word() functions.
2971  * 
2972  * The struct declaration for register ALT_L3_SEC_H2F.
2973  */
2974 struct ALT_L3_SEC_H2F_s
2975 {
2976     uint32_t  s :  1;  /* HPS2FPGA AXI Bridge Registers Security */
2977     uint32_t    : 31;  /* *UNDEFINED* */
2978 };
2979 
2980 /* The typedef declaration for register ALT_L3_SEC_H2F. */
2981 typedef volatile struct ALT_L3_SEC_H2F_s  ALT_L3_SEC_H2F_t;
2982 #endif  /* __ASSEMBLY__ */
2983 
2984 /* The byte offset of the ALT_L3_SEC_H2F register from the beginning of the component. */
2985 #define ALT_L3_SEC_H2F_OFST        0x88
2986 
2987 /*
2988  * Register : MPU ACP Peripheral Security - acp
2989  * 
2990  * Controls security settings for MPU ACP peripheral.
2991  * 
2992  * Register Layout
2993  * 
2994  *  Bits   | Access | Reset | Description     
2995  * :-------|:-------|:------|:-----------------
2996  *  [0]    | W      | 0x0   | MPU ACP Security
2997  *  [31:1] | ???    | 0x0   | *UNDEFINED*     
2998  * 
2999  */
3000 /*
3001  * Field : MPU ACP Security - s
3002  * 
3003  * Controls whether secure or non-secure masters can access the MPU ACP slave.
3004  * 
3005  * Field Enumeration Values:
3006  * 
3007  *  Enum                         | Value | Description                                  
3008  * :-----------------------------|:------|:----------------------------------------------
3009  *  ALT_L3_SEC_ACP_S_E_SECURE    | 0x0   | The slave can only be accessed by a secure   
3010  * :                             |       | master.                                      
3011  *  ALT_L3_SEC_ACP_S_E_NONSECURE | 0x1   | The slave can only be accessed by a secure or
3012  * :                             |       | non-secure masters.                          
3013  * 
3014  * Field Access Macros:
3015  * 
3016  */
3017 /*
3018  * Enumerated value for register field ALT_L3_SEC_ACP_S
3019  * 
3020  * The slave can only be accessed by a secure master.
3021  */
3022 #define ALT_L3_SEC_ACP_S_E_SECURE       0x0
3023 /*
3024  * Enumerated value for register field ALT_L3_SEC_ACP_S
3025  * 
3026  * The slave can only be accessed by a secure or non-secure masters.
3027  */
3028 #define ALT_L3_SEC_ACP_S_E_NONSECURE    0x1
3029 
3030 /* The Least Significant Bit (LSB) position of the ALT_L3_SEC_ACP_S register field. */
3031 #define ALT_L3_SEC_ACP_S_LSB        0
3032 /* The Most Significant Bit (MSB) position of the ALT_L3_SEC_ACP_S register field. */
3033 #define ALT_L3_SEC_ACP_S_MSB        0
3034 /* The width in bits of the ALT_L3_SEC_ACP_S register field. */
3035 #define ALT_L3_SEC_ACP_S_WIDTH      1
3036 /* The mask used to set the ALT_L3_SEC_ACP_S register field value. */
3037 #define ALT_L3_SEC_ACP_S_SET_MSK    0x00000001
3038 /* The mask used to clear the ALT_L3_SEC_ACP_S register field value. */
3039 #define ALT_L3_SEC_ACP_S_CLR_MSK    0xfffffffe
3040 /* The reset value of the ALT_L3_SEC_ACP_S register field. */
3041 #define ALT_L3_SEC_ACP_S_RESET      0x0
3042 /* Extracts the ALT_L3_SEC_ACP_S field value from a register. */
3043 #define ALT_L3_SEC_ACP_S_GET(value) (((value) & 0x00000001) >> 0)
3044 /* Produces a ALT_L3_SEC_ACP_S register field value suitable for setting the register. */
3045 #define ALT_L3_SEC_ACP_S_SET(value) (((value) << 0) & 0x00000001)
3046 
3047 #ifndef __ASSEMBLY__
3048 /*
3049  * WARNING: The C register and register group struct declarations are provided for
3050  * convenience and illustrative purposes. They should, however, be used with
3051  * caution as the C language standard provides no guarantees about the alignment or
3052  * atomicity of device memory accesses. The recommended practice for writing
3053  * hardware drivers is to use the SoCAL access macros and alt_read_word() and
3054  * alt_write_word() functions.
3055  * 
3056  * The struct declaration for register ALT_L3_SEC_ACP.
3057  */
3058 struct ALT_L3_SEC_ACP_s
3059 {
3060     uint32_t  s :  1;  /* MPU ACP Security */
3061     uint32_t    : 31;  /* *UNDEFINED* */
3062 };
3063 
3064 /* The typedef declaration for register ALT_L3_SEC_ACP. */
3065 typedef volatile struct ALT_L3_SEC_ACP_s  ALT_L3_SEC_ACP_t;
3066 #endif  /* __ASSEMBLY__ */
3067 
3068 /* The byte offset of the ALT_L3_SEC_ACP register from the beginning of the component. */
3069 #define ALT_L3_SEC_ACP_OFST        0x8c
3070 
3071 /*
3072  * Register : ROM Peripheral Security - rom
3073  * 
3074  * Controls security settings for ROM peripheral.
3075  * 
3076  * Register Layout
3077  * 
3078  *  Bits   | Access | Reset | Description 
3079  * :-------|:-------|:------|:-------------
3080  *  [0]    | W      | 0x0   | ROM Security
3081  *  [31:1] | ???    | 0x0   | *UNDEFINED* 
3082  * 
3083  */
3084 /*
3085  * Field : ROM Security - s
3086  * 
3087  * Controls whether secure or non-secure masters can access the ROM slave.
3088  * 
3089  * Field Enumeration Values:
3090  * 
3091  *  Enum                         | Value | Description                                  
3092  * :-----------------------------|:------|:----------------------------------------------
3093  *  ALT_L3_SEC_ROM_S_E_SECURE    | 0x0   | The slave can only be accessed by a secure   
3094  * :                             |       | master.                                      
3095  *  ALT_L3_SEC_ROM_S_E_NONSECURE | 0x1   | The slave can only be accessed by a secure or
3096  * :                             |       | non-secure masters.                          
3097  * 
3098  * Field Access Macros:
3099  * 
3100  */
3101 /*
3102  * Enumerated value for register field ALT_L3_SEC_ROM_S
3103  * 
3104  * The slave can only be accessed by a secure master.
3105  */
3106 #define ALT_L3_SEC_ROM_S_E_SECURE       0x0
3107 /*
3108  * Enumerated value for register field ALT_L3_SEC_ROM_S
3109  * 
3110  * The slave can only be accessed by a secure or non-secure masters.
3111  */
3112 #define ALT_L3_SEC_ROM_S_E_NONSECURE    0x1
3113 
3114 /* The Least Significant Bit (LSB) position of the ALT_L3_SEC_ROM_S register field. */
3115 #define ALT_L3_SEC_ROM_S_LSB        0
3116 /* The Most Significant Bit (MSB) position of the ALT_L3_SEC_ROM_S register field. */
3117 #define ALT_L3_SEC_ROM_S_MSB        0
3118 /* The width in bits of the ALT_L3_SEC_ROM_S register field. */
3119 #define ALT_L3_SEC_ROM_S_WIDTH      1
3120 /* The mask used to set the ALT_L3_SEC_ROM_S register field value. */
3121 #define ALT_L3_SEC_ROM_S_SET_MSK    0x00000001
3122 /* The mask used to clear the ALT_L3_SEC_ROM_S register field value. */
3123 #define ALT_L3_SEC_ROM_S_CLR_MSK    0xfffffffe
3124 /* The reset value of the ALT_L3_SEC_ROM_S register field. */
3125 #define ALT_L3_SEC_ROM_S_RESET      0x0
3126 /* Extracts the ALT_L3_SEC_ROM_S field value from a register. */
3127 #define ALT_L3_SEC_ROM_S_GET(value) (((value) & 0x00000001) >> 0)
3128 /* Produces a ALT_L3_SEC_ROM_S register field value suitable for setting the register. */
3129 #define ALT_L3_SEC_ROM_S_SET(value) (((value) << 0) & 0x00000001)
3130 
3131 #ifndef __ASSEMBLY__
3132 /*
3133  * WARNING: The C register and register group struct declarations are provided for
3134  * convenience and illustrative purposes. They should, however, be used with
3135  * caution as the C language standard provides no guarantees about the alignment or
3136  * atomicity of device memory accesses. The recommended practice for writing
3137  * hardware drivers is to use the SoCAL access macros and alt_read_word() and
3138  * alt_write_word() functions.
3139  * 
3140  * The struct declaration for register ALT_L3_SEC_ROM.
3141  */
3142 struct ALT_L3_SEC_ROM_s
3143 {
3144     uint32_t  s :  1;  /* ROM Security */
3145     uint32_t    : 31;  /* *UNDEFINED* */
3146 };
3147 
3148 /* The typedef declaration for register ALT_L3_SEC_ROM. */
3149 typedef volatile struct ALT_L3_SEC_ROM_s  ALT_L3_SEC_ROM_t;
3150 #endif  /* __ASSEMBLY__ */
3151 
3152 /* The byte offset of the ALT_L3_SEC_ROM register from the beginning of the component. */
3153 #define ALT_L3_SEC_ROM_OFST        0x90
3154 
3155 /*
3156  * Register : On-chip RAM Peripheral Security - ocram
3157  * 
3158  * Controls security settings for On-chip RAM peripheral.
3159  * 
3160  * Register Layout
3161  * 
3162  *  Bits   | Access | Reset | Description         
3163  * :-------|:-------|:------|:---------------------
3164  *  [0]    | W      | 0x0   | On-chip RAM Security
3165  *  [31:1] | ???    | 0x0   | *UNDEFINED*         
3166  * 
3167  */
3168 /*
3169  * Field : On-chip RAM Security - s
3170  * 
3171  * Controls whether secure or non-secure masters can access the On-chip RAM slave.
3172  * 
3173  * Field Enumeration Values:
3174  * 
3175  *  Enum                           | Value | Description                                  
3176  * :-------------------------------|:------|:----------------------------------------------
3177  *  ALT_L3_SEC_OCRAM_S_E_SECURE    | 0x0   | The slave can only be accessed by a secure   
3178  * :                               |       | master.                                      
3179  *  ALT_L3_SEC_OCRAM_S_E_NONSECURE | 0x1   | The slave can only be accessed by a secure or
3180  * :                               |       | non-secure masters.                          
3181  * 
3182  * Field Access Macros:
3183  * 
3184  */
3185 /*
3186  * Enumerated value for register field ALT_L3_SEC_OCRAM_S
3187  * 
3188  * The slave can only be accessed by a secure master.
3189  */
3190 #define ALT_L3_SEC_OCRAM_S_E_SECURE     0x0
3191 /*
3192  * Enumerated value for register field ALT_L3_SEC_OCRAM_S
3193  * 
3194  * The slave can only be accessed by a secure or non-secure masters.
3195  */
3196 #define ALT_L3_SEC_OCRAM_S_E_NONSECURE  0x1
3197 
3198 /* The Least Significant Bit (LSB) position of the ALT_L3_SEC_OCRAM_S register field. */
3199 #define ALT_L3_SEC_OCRAM_S_LSB        0
3200 /* The Most Significant Bit (MSB) position of the ALT_L3_SEC_OCRAM_S register field. */
3201 #define ALT_L3_SEC_OCRAM_S_MSB        0
3202 /* The width in bits of the ALT_L3_SEC_OCRAM_S register field. */
3203 #define ALT_L3_SEC_OCRAM_S_WIDTH      1
3204 /* The mask used to set the ALT_L3_SEC_OCRAM_S register field value. */
3205 #define ALT_L3_SEC_OCRAM_S_SET_MSK    0x00000001
3206 /* The mask used to clear the ALT_L3_SEC_OCRAM_S register field value. */
3207 #define ALT_L3_SEC_OCRAM_S_CLR_MSK    0xfffffffe
3208 /* The reset value of the ALT_L3_SEC_OCRAM_S register field. */
3209 #define ALT_L3_SEC_OCRAM_S_RESET      0x0
3210 /* Extracts the ALT_L3_SEC_OCRAM_S field value from a register. */
3211 #define ALT_L3_SEC_OCRAM_S_GET(value) (((value) & 0x00000001) >> 0)
3212 /* Produces a ALT_L3_SEC_OCRAM_S register field value suitable for setting the register. */
3213 #define ALT_L3_SEC_OCRAM_S_SET(value) (((value) << 0) & 0x00000001)
3214 
3215 #ifndef __ASSEMBLY__
3216 /*
3217  * WARNING: The C register and register group struct declarations are provided for
3218  * convenience and illustrative purposes. They should, however, be used with
3219  * caution as the C language standard provides no guarantees about the alignment or
3220  * atomicity of device memory accesses. The recommended practice for writing
3221  * hardware drivers is to use the SoCAL access macros and alt_read_word() and
3222  * alt_write_word() functions.
3223  * 
3224  * The struct declaration for register ALT_L3_SEC_OCRAM.
3225  */
3226 struct ALT_L3_SEC_OCRAM_s
3227 {
3228     uint32_t  s :  1;  /* On-chip RAM Security */
3229     uint32_t    : 31;  /* *UNDEFINED* */
3230 };
3231 
3232 /* The typedef declaration for register ALT_L3_SEC_OCRAM. */
3233 typedef volatile struct ALT_L3_SEC_OCRAM_s  ALT_L3_SEC_OCRAM_t;
3234 #endif  /* __ASSEMBLY__ */
3235 
3236 /* The byte offset of the ALT_L3_SEC_OCRAM register from the beginning of the component. */
3237 #define ALT_L3_SEC_OCRAM_OFST        0x94
3238 
3239 /*
3240  * Register : SDRAM Data Peripheral Security - sdrdata
3241  * 
3242  * Controls security settings for SDRAM Data peripheral.
3243  * 
3244  * Register Layout
3245  * 
3246  *  Bits   | Access | Reset | Description        
3247  * :-------|:-------|:------|:--------------------
3248  *  [0]    | W      | 0x0   | SDRAM Data Security
3249  *  [31:1] | ???    | 0x0   | *UNDEFINED*        
3250  * 
3251  */
3252 /*
3253  * Field : SDRAM Data Security - s
3254  * 
3255  * Controls whether secure or non-secure masters can access the SDRAM Data slave.
3256  * 
3257  * Field Enumeration Values:
3258  * 
3259  *  Enum                             | Value | Description                                  
3260  * :---------------------------------|:------|:----------------------------------------------
3261  *  ALT_L3_SEC_SDRDATA_S_E_SECURE    | 0x0   | The slave can only be accessed by a secure   
3262  * :                                 |       | master.                                      
3263  *  ALT_L3_SEC_SDRDATA_S_E_NONSECURE | 0x1   | The slave can only be accessed by a secure or
3264  * :                                 |       | non-secure masters.                          
3265  * 
3266  * Field Access Macros:
3267  * 
3268  */
3269 /*
3270  * Enumerated value for register field ALT_L3_SEC_SDRDATA_S
3271  * 
3272  * The slave can only be accessed by a secure master.
3273  */
3274 #define ALT_L3_SEC_SDRDATA_S_E_SECURE       0x0
3275 /*
3276  * Enumerated value for register field ALT_L3_SEC_SDRDATA_S
3277  * 
3278  * The slave can only be accessed by a secure or non-secure masters.
3279  */
3280 #define ALT_L3_SEC_SDRDATA_S_E_NONSECURE    0x1
3281 
3282 /* The Least Significant Bit (LSB) position of the ALT_L3_SEC_SDRDATA_S register field. */
3283 #define ALT_L3_SEC_SDRDATA_S_LSB        0
3284 /* The Most Significant Bit (MSB) position of the ALT_L3_SEC_SDRDATA_S register field. */
3285 #define ALT_L3_SEC_SDRDATA_S_MSB        0
3286 /* The width in bits of the ALT_L3_SEC_SDRDATA_S register field. */
3287 #define ALT_L3_SEC_SDRDATA_S_WIDTH      1
3288 /* The mask used to set the ALT_L3_SEC_SDRDATA_S register field value. */
3289 #define ALT_L3_SEC_SDRDATA_S_SET_MSK    0x00000001
3290 /* The mask used to clear the ALT_L3_SEC_SDRDATA_S register field value. */
3291 #define ALT_L3_SEC_SDRDATA_S_CLR_MSK    0xfffffffe
3292 /* The reset value of the ALT_L3_SEC_SDRDATA_S register field. */
3293 #define ALT_L3_SEC_SDRDATA_S_RESET      0x0
3294 /* Extracts the ALT_L3_SEC_SDRDATA_S field value from a register. */
3295 #define ALT_L3_SEC_SDRDATA_S_GET(value) (((value) & 0x00000001) >> 0)
3296 /* Produces a ALT_L3_SEC_SDRDATA_S register field value suitable for setting the register. */
3297 #define ALT_L3_SEC_SDRDATA_S_SET(value) (((value) << 0) & 0x00000001)
3298 
3299 #ifndef __ASSEMBLY__
3300 /*
3301  * WARNING: The C register and register group struct declarations are provided for
3302  * convenience and illustrative purposes. They should, however, be used with
3303  * caution as the C language standard provides no guarantees about the alignment or
3304  * atomicity of device memory accesses. The recommended practice for writing
3305  * hardware drivers is to use the SoCAL access macros and alt_read_word() and
3306  * alt_write_word() functions.
3307  * 
3308  * The struct declaration for register ALT_L3_SEC_SDRDATA.
3309  */
3310 struct ALT_L3_SEC_SDRDATA_s
3311 {
3312     uint32_t  s :  1;  /* SDRAM Data Security */
3313     uint32_t    : 31;  /* *UNDEFINED* */
3314 };
3315 
3316 /* The typedef declaration for register ALT_L3_SEC_SDRDATA. */
3317 typedef volatile struct ALT_L3_SEC_SDRDATA_s  ALT_L3_SEC_SDRDATA_t;
3318 #endif  /* __ASSEMBLY__ */
3319 
3320 /* The byte offset of the ALT_L3_SEC_SDRDATA register from the beginning of the component. */
3321 #define ALT_L3_SEC_SDRDATA_OFST        0x98
3322 
3323 #ifndef __ASSEMBLY__
3324 /*
3325  * WARNING: The C register and register group struct declarations are provided for
3326  * convenience and illustrative purposes. They should, however, be used with
3327  * caution as the C language standard provides no guarantees about the alignment or
3328  * atomicity of device memory accesses. The recommended practice for writing
3329  * hardware drivers is to use the SoCAL access macros and alt_read_word() and
3330  * alt_write_word() functions.
3331  * 
3332  * The struct declaration for register group ALT_L3_SECGRP.
3333  */
3334 struct ALT_L3_SECGRP_s
3335 {
3336     volatile ALT_L3_SEC_L4MAIN_t       l4main;              /* ALT_L3_SEC_L4MAIN */
3337     volatile ALT_L3_SEC_L4SP_t         l4sp;                /* ALT_L3_SEC_L4SP */
3338     volatile ALT_L3_SEC_L4MP_t         l4mp;                /* ALT_L3_SEC_L4MP */
3339     volatile ALT_L3_SEC_L4OSC1_t       l4osc1;              /* ALT_L3_SEC_L4OSC1 */
3340     volatile ALT_L3_SEC_L4SPIM_t       l4spim;              /* ALT_L3_SEC_L4SPIM */
3341     volatile ALT_L3_SEC_STM_t          stm;                 /* ALT_L3_SEC_STM */
3342     volatile ALT_L3_SEC_LWH2F_t        lwhps2fpgaregs;      /* ALT_L3_SEC_LWH2F */
3343     volatile uint32_t                  _pad_0x1c_0x1f;      /* *UNDEFINED* */
3344     volatile ALT_L3_SEC_USB1_t         usb1;                /* ALT_L3_SEC_USB1 */
3345     volatile ALT_L3_SEC_NANDDATA_t     nanddata;            /* ALT_L3_SEC_NANDDATA */
3346     volatile uint32_t                  _pad_0x28_0x77[20];  /* *UNDEFINED* */
3347     volatile ALT_L3_SEC_USB0_t         usb0;                /* ALT_L3_SEC_USB0 */
3348     volatile ALT_L3_SEC_NAND_t         nandregs;            /* ALT_L3_SEC_NAND */
3349     volatile ALT_L3_SEC_QSPIDATA_t     qspidata;            /* ALT_L3_SEC_QSPIDATA */
3350     volatile ALT_L3_SEC_FPGAMGRDATA_t  fpgamgrdata;         /* ALT_L3_SEC_FPGAMGRDATA */
3351     volatile ALT_L3_SEC_H2F_t          hps2fpgaregs;        /* ALT_L3_SEC_H2F */
3352     volatile ALT_L3_SEC_ACP_t          acp;                 /* ALT_L3_SEC_ACP */
3353     volatile ALT_L3_SEC_ROM_t          rom;                 /* ALT_L3_SEC_ROM */
3354     volatile ALT_L3_SEC_OCRAM_t        ocram;               /* ALT_L3_SEC_OCRAM */
3355     volatile ALT_L3_SEC_SDRDATA_t      sdrdata;             /* ALT_L3_SEC_SDRDATA */
3356 };
3357 
3358 /* The typedef declaration for register group ALT_L3_SECGRP. */
3359 typedef volatile struct ALT_L3_SECGRP_s  ALT_L3_SECGRP_t;
3360 /* The struct declaration for the raw register contents of register group ALT_L3_SECGRP. */
3361 struct ALT_L3_SECGRP_raw_s
3362 {
3363     volatile uint32_t  l4main;              /* ALT_L3_SEC_L4MAIN */
3364     volatile uint32_t  l4sp;                /* ALT_L3_SEC_L4SP */
3365     volatile uint32_t  l4mp;                /* ALT_L3_SEC_L4MP */
3366     volatile uint32_t  l4osc1;              /* ALT_L3_SEC_L4OSC1 */
3367     volatile uint32_t  l4spim;              /* ALT_L3_SEC_L4SPIM */
3368     volatile uint32_t  stm;                 /* ALT_L3_SEC_STM */
3369     volatile uint32_t  lwhps2fpgaregs;      /* ALT_L3_SEC_LWH2F */
3370     volatile uint32_t  _pad_0x1c_0x1f;      /* *UNDEFINED* */
3371     volatile uint32_t  usb1;                /* ALT_L3_SEC_USB1 */
3372     volatile uint32_t  nanddata;            /* ALT_L3_SEC_NANDDATA */
3373     volatile uint32_t  _pad_0x28_0x77[20];  /* *UNDEFINED* */
3374     volatile uint32_t  usb0;                /* ALT_L3_SEC_USB0 */
3375     volatile uint32_t  nandregs;            /* ALT_L3_SEC_NAND */
3376     volatile uint32_t  qspidata;            /* ALT_L3_SEC_QSPIDATA */
3377     volatile uint32_t  fpgamgrdata;         /* ALT_L3_SEC_FPGAMGRDATA */
3378     volatile uint32_t  hps2fpgaregs;        /* ALT_L3_SEC_H2F */
3379     volatile uint32_t  acp;                 /* ALT_L3_SEC_ACP */
3380     volatile uint32_t  rom;                 /* ALT_L3_SEC_ROM */
3381     volatile uint32_t  ocram;               /* ALT_L3_SEC_OCRAM */
3382     volatile uint32_t  sdrdata;             /* ALT_L3_SEC_SDRDATA */
3383 };
3384 
3385 /* The typedef declaration for the raw register contents of register group ALT_L3_SECGRP. */
3386 typedef volatile struct ALT_L3_SECGRP_raw_s  ALT_L3_SECGRP_raw_t;
3387 #endif  /* __ASSEMBLY__ */
3388 
3389 
3390 /*
3391  * Register Group : ID Register Group - ALT_L3_IDGRP
3392  * ID Register Group
3393  * 
3394  * Contains registers that identify the ARM NIC-301 IP Core.
3395  * 
3396  */
3397 /*
3398  * Register : Peripheral ID4 Register - periph_id_4
3399  * 
3400  * JEP106 continuation code
3401  * 
3402  * Register Layout
3403  * 
3404  *  Bits   | Access | Reset | Description   
3405  * :-------|:-------|:------|:---------------
3406  *  [7:0]  | R      | 0x4   | Peripheral ID4
3407  *  [31:8] | ???    | 0x0   | *UNDEFINED*   
3408  * 
3409  */
3410 /*
3411  * Field : Peripheral ID4 - periph_id_4
3412  * 
3413  * JEP106 continuation code
3414  * 
3415  * Field Access Macros:
3416  * 
3417  */
3418 /* The Least Significant Bit (LSB) position of the ALT_L3_ID_PERIPH_ID_4_PERIPH_ID_4 register field. */
3419 #define ALT_L3_ID_PERIPH_ID_4_PERIPH_ID_4_LSB        0
3420 /* The Most Significant Bit (MSB) position of the ALT_L3_ID_PERIPH_ID_4_PERIPH_ID_4 register field. */
3421 #define ALT_L3_ID_PERIPH_ID_4_PERIPH_ID_4_MSB        7
3422 /* The width in bits of the ALT_L3_ID_PERIPH_ID_4_PERIPH_ID_4 register field. */
3423 #define ALT_L3_ID_PERIPH_ID_4_PERIPH_ID_4_WIDTH      8
3424 /* The mask used to set the ALT_L3_ID_PERIPH_ID_4_PERIPH_ID_4 register field value. */
3425 #define ALT_L3_ID_PERIPH_ID_4_PERIPH_ID_4_SET_MSK    0x000000ff
3426 /* The mask used to clear the ALT_L3_ID_PERIPH_ID_4_PERIPH_ID_4 register field value. */
3427 #define ALT_L3_ID_PERIPH_ID_4_PERIPH_ID_4_CLR_MSK    0xffffff00
3428 /* The reset value of the ALT_L3_ID_PERIPH_ID_4_PERIPH_ID_4 register field. */
3429 #define ALT_L3_ID_PERIPH_ID_4_PERIPH_ID_4_RESET      0x4
3430 /* Extracts the ALT_L3_ID_PERIPH_ID_4_PERIPH_ID_4 field value from a register. */
3431 #define ALT_L3_ID_PERIPH_ID_4_PERIPH_ID_4_GET(value) (((value) & 0x000000ff) >> 0)
3432 /* Produces a ALT_L3_ID_PERIPH_ID_4_PERIPH_ID_4 register field value suitable for setting the register. */
3433 #define ALT_L3_ID_PERIPH_ID_4_PERIPH_ID_4_SET(value) (((value) << 0) & 0x000000ff)
3434 
3435 #ifndef __ASSEMBLY__
3436 /*
3437  * WARNING: The C register and register group struct declarations are provided for
3438  * convenience and illustrative purposes. They should, however, be used with
3439  * caution as the C language standard provides no guarantees about the alignment or
3440  * atomicity of device memory accesses. The recommended practice for writing
3441  * hardware drivers is to use the SoCAL access macros and alt_read_word() and
3442  * alt_write_word() functions.
3443  * 
3444  * The struct declaration for register ALT_L3_ID_PERIPH_ID_4.
3445  */
3446 struct ALT_L3_ID_PERIPH_ID_4_s
3447 {
3448     const uint32_t  periph_id_4 :  8;  /* Peripheral ID4 */
3449     uint32_t                    : 24;  /* *UNDEFINED* */
3450 };
3451 
3452 /* The typedef declaration for register ALT_L3_ID_PERIPH_ID_4. */
3453 typedef volatile struct ALT_L3_ID_PERIPH_ID_4_s  ALT_L3_ID_PERIPH_ID_4_t;
3454 #endif  /* __ASSEMBLY__ */
3455 
3456 /* The byte offset of the ALT_L3_ID_PERIPH_ID_4 register from the beginning of the component. */
3457 #define ALT_L3_ID_PERIPH_ID_4_OFST        0xfd0
3458 
3459 /*
3460  * Register : Peripheral ID0 Register - periph_id_0
3461  * 
3462  * Peripheral ID0
3463  * 
3464  * Register Layout
3465  * 
3466  *  Bits   | Access | Reset | Description      
3467  * :-------|:-------|:------|:------------------
3468  *  [7:0]  | R      | 0x1   | Part Number [7:0]
3469  *  [31:8] | ???    | 0x0   | *UNDEFINED*      
3470  * 
3471  */
3472 /*
3473  * Field : Part Number [7:0] - pn7to0
3474  * 
3475  * Part Number [7:0]
3476  * 
3477  * Field Access Macros:
3478  * 
3479  */
3480 /* The Least Significant Bit (LSB) position of the ALT_L3_ID_PERIPH_ID_0_PN7TO0 register field. */
3481 #define ALT_L3_ID_PERIPH_ID_0_PN7TO0_LSB        0
3482 /* The Most Significant Bit (MSB) position of the ALT_L3_ID_PERIPH_ID_0_PN7TO0 register field. */
3483 #define ALT_L3_ID_PERIPH_ID_0_PN7TO0_MSB        7
3484 /* The width in bits of the ALT_L3_ID_PERIPH_ID_0_PN7TO0 register field. */
3485 #define ALT_L3_ID_PERIPH_ID_0_PN7TO0_WIDTH      8
3486 /* The mask used to set the ALT_L3_ID_PERIPH_ID_0_PN7TO0 register field value. */
3487 #define ALT_L3_ID_PERIPH_ID_0_PN7TO0_SET_MSK    0x000000ff
3488 /* The mask used to clear the ALT_L3_ID_PERIPH_ID_0_PN7TO0 register field value. */
3489 #define ALT_L3_ID_PERIPH_ID_0_PN7TO0_CLR_MSK    0xffffff00
3490 /* The reset value of the ALT_L3_ID_PERIPH_ID_0_PN7TO0 register field. */
3491 #define ALT_L3_ID_PERIPH_ID_0_PN7TO0_RESET      0x1
3492 /* Extracts the ALT_L3_ID_PERIPH_ID_0_PN7TO0 field value from a register. */
3493 #define ALT_L3_ID_PERIPH_ID_0_PN7TO0_GET(value) (((value) & 0x000000ff) >> 0)
3494 /* Produces a ALT_L3_ID_PERIPH_ID_0_PN7TO0 register field value suitable for setting the register. */
3495 #define ALT_L3_ID_PERIPH_ID_0_PN7TO0_SET(value) (((value) << 0) & 0x000000ff)
3496 
3497 #ifndef __ASSEMBLY__
3498 /*
3499  * WARNING: The C register and register group struct declarations are provided for
3500  * convenience and illustrative purposes. They should, however, be used with
3501  * caution as the C language standard provides no guarantees about the alignment or
3502  * atomicity of device memory accesses. The recommended practice for writing
3503  * hardware drivers is to use the SoCAL access macros and alt_read_word() and
3504  * alt_write_word() functions.
3505  * 
3506  * The struct declaration for register ALT_L3_ID_PERIPH_ID_0.
3507  */
3508 struct ALT_L3_ID_PERIPH_ID_0_s
3509 {
3510     const uint32_t  pn7to0 :  8;  /* Part Number [7:0] */
3511     uint32_t               : 24;  /* *UNDEFINED* */
3512 };
3513 
3514 /* The typedef declaration for register ALT_L3_ID_PERIPH_ID_0. */
3515 typedef volatile struct ALT_L3_ID_PERIPH_ID_0_s  ALT_L3_ID_PERIPH_ID_0_t;
3516 #endif  /* __ASSEMBLY__ */
3517 
3518 /* The byte offset of the ALT_L3_ID_PERIPH_ID_0 register from the beginning of the component. */
3519 #define ALT_L3_ID_PERIPH_ID_0_OFST        0xfe0
3520 
3521 /*
3522  * Register : Peripheral ID1 Register - periph_id_1
3523  * 
3524  * Peripheral ID1
3525  * 
3526  * Register Layout
3527  * 
3528  *  Bits   | Access | Reset | Description                    
3529  * :-------|:-------|:------|:--------------------------------
3530  *  [7:0]  | R      | 0xb3  | JEP106[3:0], Part Number [11:8]
3531  *  [31:8] | ???    | 0x0   | *UNDEFINED*                    
3532  * 
3533  */
3534 /*
3535  * Field : JEP106[3:0], Part Number [11:8] - jep3to0_pn11to8
3536  * 
3537  * JEP106[3:0], Part Number [11:8]
3538  * 
3539  * Field Access Macros:
3540  * 
3541  */
3542 /* The Least Significant Bit (LSB) position of the ALT_L3_ID_PERIPH_ID_1_JEP3TO0_PN11TO8 register field. */
3543 #define ALT_L3_ID_PERIPH_ID_1_JEP3TO0_PN11TO8_LSB        0
3544 /* The Most Significant Bit (MSB) position of the ALT_L3_ID_PERIPH_ID_1_JEP3TO0_PN11TO8 register field. */
3545 #define ALT_L3_ID_PERIPH_ID_1_JEP3TO0_PN11TO8_MSB        7
3546 /* The width in bits of the ALT_L3_ID_PERIPH_ID_1_JEP3TO0_PN11TO8 register field. */
3547 #define ALT_L3_ID_PERIPH_ID_1_JEP3TO0_PN11TO8_WIDTH      8
3548 /* The mask used to set the ALT_L3_ID_PERIPH_ID_1_JEP3TO0_PN11TO8 register field value. */
3549 #define ALT_L3_ID_PERIPH_ID_1_JEP3TO0_PN11TO8_SET_MSK    0x000000ff
3550 /* The mask used to clear the ALT_L3_ID_PERIPH_ID_1_JEP3TO0_PN11TO8 register field value. */
3551 #define ALT_L3_ID_PERIPH_ID_1_JEP3TO0_PN11TO8_CLR_MSK    0xffffff00
3552 /* The reset value of the ALT_L3_ID_PERIPH_ID_1_JEP3TO0_PN11TO8 register field. */
3553 #define ALT_L3_ID_PERIPH_ID_1_JEP3TO0_PN11TO8_RESET      0xb3
3554 /* Extracts the ALT_L3_ID_PERIPH_ID_1_JEP3TO0_PN11TO8 field value from a register. */
3555 #define ALT_L3_ID_PERIPH_ID_1_JEP3TO0_PN11TO8_GET(value) (((value) & 0x000000ff) >> 0)
3556 /* Produces a ALT_L3_ID_PERIPH_ID_1_JEP3TO0_PN11TO8 register field value suitable for setting the register. */
3557 #define ALT_L3_ID_PERIPH_ID_1_JEP3TO0_PN11TO8_SET(value) (((value) << 0) & 0x000000ff)
3558 
3559 #ifndef __ASSEMBLY__
3560 /*
3561  * WARNING: The C register and register group struct declarations are provided for
3562  * convenience and illustrative purposes. They should, however, be used with
3563  * caution as the C language standard provides no guarantees about the alignment or
3564  * atomicity of device memory accesses. The recommended practice for writing
3565  * hardware drivers is to use the SoCAL access macros and alt_read_word() and
3566  * alt_write_word() functions.
3567  * 
3568  * The struct declaration for register ALT_L3_ID_PERIPH_ID_1.
3569  */
3570 struct ALT_L3_ID_PERIPH_ID_1_s
3571 {
3572     const uint32_t  jep3to0_pn11to8 :  8;  /* JEP106[3:0], Part Number [11:8] */
3573     uint32_t                        : 24;  /* *UNDEFINED* */
3574 };
3575 
3576 /* The typedef declaration for register ALT_L3_ID_PERIPH_ID_1. */
3577 typedef volatile struct ALT_L3_ID_PERIPH_ID_1_s  ALT_L3_ID_PERIPH_ID_1_t;
3578 #endif  /* __ASSEMBLY__ */
3579 
3580 /* The byte offset of the ALT_L3_ID_PERIPH_ID_1 register from the beginning of the component. */
3581 #define ALT_L3_ID_PERIPH_ID_1_OFST        0xfe4
3582 
3583 /*
3584  * Register : Peripheral ID2 Register - periph_id_2
3585  * 
3586  * Peripheral ID2
3587  * 
3588  * Register Layout
3589  * 
3590  *  Bits   | Access | Reset | Description                            
3591  * :-------|:-------|:------|:----------------------------------------
3592  *  [7:0]  | R      | 0x6b  | Revision, JEP106 code flag, JEP106[6:4]
3593  *  [31:8] | ???    | 0x0   | *UNDEFINED*                            
3594  * 
3595  */
3596 /*
3597  * Field : Revision, JEP106 code flag, JEP106[6:4] - rev_jepcode_jep6to4
3598  * 
3599  * Revision, JEP106 code flag, JEP106[6:4]
3600  * 
3601  * Field Access Macros:
3602  * 
3603  */
3604 /* The Least Significant Bit (LSB) position of the ALT_L3_ID_PERIPH_ID_2_REV_JEPCODE_JEP6TO4 register field. */
3605 #define ALT_L3_ID_PERIPH_ID_2_REV_JEPCODE_JEP6TO4_LSB        0
3606 /* The Most Significant Bit (MSB) position of the ALT_L3_ID_PERIPH_ID_2_REV_JEPCODE_JEP6TO4 register field. */
3607 #define ALT_L3_ID_PERIPH_ID_2_REV_JEPCODE_JEP6TO4_MSB        7
3608 /* The width in bits of the ALT_L3_ID_PERIPH_ID_2_REV_JEPCODE_JEP6TO4 register field. */
3609 #define ALT_L3_ID_PERIPH_ID_2_REV_JEPCODE_JEP6TO4_WIDTH      8
3610 /* The mask used to set the ALT_L3_ID_PERIPH_ID_2_REV_JEPCODE_JEP6TO4 register field value. */
3611 #define ALT_L3_ID_PERIPH_ID_2_REV_JEPCODE_JEP6TO4_SET_MSK    0x000000ff
3612 /* The mask used to clear the ALT_L3_ID_PERIPH_ID_2_REV_JEPCODE_JEP6TO4 register field value. */
3613 #define ALT_L3_ID_PERIPH_ID_2_REV_JEPCODE_JEP6TO4_CLR_MSK    0xffffff00
3614 /* The reset value of the ALT_L3_ID_PERIPH_ID_2_REV_JEPCODE_JEP6TO4 register field. */
3615 #define ALT_L3_ID_PERIPH_ID_2_REV_JEPCODE_JEP6TO4_RESET      0x6b
3616 /* Extracts the ALT_L3_ID_PERIPH_ID_2_REV_JEPCODE_JEP6TO4 field value from a register. */
3617 #define ALT_L3_ID_PERIPH_ID_2_REV_JEPCODE_JEP6TO4_GET(value) (((value) & 0x000000ff) >> 0)
3618 /* Produces a ALT_L3_ID_PERIPH_ID_2_REV_JEPCODE_JEP6TO4 register field value suitable for setting the register. */
3619 #define ALT_L3_ID_PERIPH_ID_2_REV_JEPCODE_JEP6TO4_SET(value) (((value) << 0) & 0x000000ff)
3620 
3621 #ifndef __ASSEMBLY__
3622 /*
3623  * WARNING: The C register and register group struct declarations are provided for
3624  * convenience and illustrative purposes. They should, however, be used with
3625  * caution as the C language standard provides no guarantees about the alignment or
3626  * atomicity of device memory accesses. The recommended practice for writing
3627  * hardware drivers is to use the SoCAL access macros and alt_read_word() and
3628  * alt_write_word() functions.
3629  * 
3630  * The struct declaration for register ALT_L3_ID_PERIPH_ID_2.
3631  */
3632 struct ALT_L3_ID_PERIPH_ID_2_s
3633 {
3634     const uint32_t  rev_jepcode_jep6to4 :  8;  /* Revision, JEP106 code flag, JEP106[6:4] */
3635     uint32_t                            : 24;  /* *UNDEFINED* */
3636 };
3637 
3638 /* The typedef declaration for register ALT_L3_ID_PERIPH_ID_2. */
3639 typedef volatile struct ALT_L3_ID_PERIPH_ID_2_s  ALT_L3_ID_PERIPH_ID_2_t;
3640 #endif  /* __ASSEMBLY__ */
3641 
3642 /* The byte offset of the ALT_L3_ID_PERIPH_ID_2 register from the beginning of the component. */
3643 #define ALT_L3_ID_PERIPH_ID_2_OFST        0xfe8
3644 
3645 /*
3646  * Register : Peripheral ID3 Register - periph_id_3
3647  * 
3648  * Peripheral ID3
3649  * 
3650  * Register Layout
3651  * 
3652  *  Bits   | Access | Reset | Description          
3653  * :-------|:-------|:------|:----------------------
3654  *  [3:0]  | R      | 0x0   | Customer Model Number
3655  *  [7:4]  | R      | 0x0   | Revision             
3656  *  [31:8] | ???    | 0x0   | *UNDEFINED*          
3657  * 
3658  */
3659 /*
3660  * Field : Customer Model Number - cust_mod_num
3661  * 
3662  * Customer Model Number
3663  * 
3664  * Field Access Macros:
3665  * 
3666  */
3667 /* The Least Significant Bit (LSB) position of the ALT_L3_ID_PERIPH_ID_3_CUST_MOD_NUM register field. */
3668 #define ALT_L3_ID_PERIPH_ID_3_CUST_MOD_NUM_LSB        0
3669 /* The Most Significant Bit (MSB) position of the ALT_L3_ID_PERIPH_ID_3_CUST_MOD_NUM register field. */
3670 #define ALT_L3_ID_PERIPH_ID_3_CUST_MOD_NUM_MSB        3
3671 /* The width in bits of the ALT_L3_ID_PERIPH_ID_3_CUST_MOD_NUM register field. */
3672 #define ALT_L3_ID_PERIPH_ID_3_CUST_MOD_NUM_WIDTH      4
3673 /* The mask used to set the ALT_L3_ID_PERIPH_ID_3_CUST_MOD_NUM register field value. */
3674 #define ALT_L3_ID_PERIPH_ID_3_CUST_MOD_NUM_SET_MSK    0x0000000f
3675 /* The mask used to clear the ALT_L3_ID_PERIPH_ID_3_CUST_MOD_NUM register field value. */
3676 #define ALT_L3_ID_PERIPH_ID_3_CUST_MOD_NUM_CLR_MSK    0xfffffff0
3677 /* The reset value of the ALT_L3_ID_PERIPH_ID_3_CUST_MOD_NUM register field. */
3678 #define ALT_L3_ID_PERIPH_ID_3_CUST_MOD_NUM_RESET      0x0
3679 /* Extracts the ALT_L3_ID_PERIPH_ID_3_CUST_MOD_NUM field value from a register. */
3680 #define ALT_L3_ID_PERIPH_ID_3_CUST_MOD_NUM_GET(value) (((value) & 0x0000000f) >> 0)
3681 /* Produces a ALT_L3_ID_PERIPH_ID_3_CUST_MOD_NUM register field value suitable for setting the register. */
3682 #define ALT_L3_ID_PERIPH_ID_3_CUST_MOD_NUM_SET(value) (((value) << 0) & 0x0000000f)
3683 
3684 /*
3685  * Field : Revision - rev_and
3686  * 
3687  * Revision
3688  * 
3689  * Field Access Macros:
3690  * 
3691  */
3692 /* The Least Significant Bit (LSB) position of the ALT_L3_ID_PERIPH_ID_3_REV_AND register field. */
3693 #define ALT_L3_ID_PERIPH_ID_3_REV_AND_LSB        4
3694 /* The Most Significant Bit (MSB) position of the ALT_L3_ID_PERIPH_ID_3_REV_AND register field. */
3695 #define ALT_L3_ID_PERIPH_ID_3_REV_AND_MSB        7
3696 /* The width in bits of the ALT_L3_ID_PERIPH_ID_3_REV_AND register field. */
3697 #define ALT_L3_ID_PERIPH_ID_3_REV_AND_WIDTH      4
3698 /* The mask used to set the ALT_L3_ID_PERIPH_ID_3_REV_AND register field value. */
3699 #define ALT_L3_ID_PERIPH_ID_3_REV_AND_SET_MSK    0x000000f0
3700 /* The mask used to clear the ALT_L3_ID_PERIPH_ID_3_REV_AND register field value. */
3701 #define ALT_L3_ID_PERIPH_ID_3_REV_AND_CLR_MSK    0xffffff0f
3702 /* The reset value of the ALT_L3_ID_PERIPH_ID_3_REV_AND register field. */
3703 #define ALT_L3_ID_PERIPH_ID_3_REV_AND_RESET      0x0
3704 /* Extracts the ALT_L3_ID_PERIPH_ID_3_REV_AND field value from a register. */
3705 #define ALT_L3_ID_PERIPH_ID_3_REV_AND_GET(value) (((value) & 0x000000f0) >> 4)
3706 /* Produces a ALT_L3_ID_PERIPH_ID_3_REV_AND register field value suitable for setting the register. */
3707 #define ALT_L3_ID_PERIPH_ID_3_REV_AND_SET(value) (((value) << 4) & 0x000000f0)
3708 
3709 #ifndef __ASSEMBLY__
3710 /*
3711  * WARNING: The C register and register group struct declarations are provided for
3712  * convenience and illustrative purposes. They should, however, be used with
3713  * caution as the C language standard provides no guarantees about the alignment or
3714  * atomicity of device memory accesses. The recommended practice for writing
3715  * hardware drivers is to use the SoCAL access macros and alt_read_word() and
3716  * alt_write_word() functions.
3717  * 
3718  * The struct declaration for register ALT_L3_ID_PERIPH_ID_3.
3719  */
3720 struct ALT_L3_ID_PERIPH_ID_3_s
3721 {
3722     const uint32_t  cust_mod_num :  4;  /* Customer Model Number */
3723     const uint32_t  rev_and      :  4;  /* Revision */
3724     uint32_t                     : 24;  /* *UNDEFINED* */
3725 };
3726 
3727 /* The typedef declaration for register ALT_L3_ID_PERIPH_ID_3. */
3728 typedef volatile struct ALT_L3_ID_PERIPH_ID_3_s  ALT_L3_ID_PERIPH_ID_3_t;
3729 #endif  /* __ASSEMBLY__ */
3730 
3731 /* The byte offset of the ALT_L3_ID_PERIPH_ID_3 register from the beginning of the component. */
3732 #define ALT_L3_ID_PERIPH_ID_3_OFST        0xfec
3733 
3734 /*
3735  * Register : Component ID0 Register - comp_id_0
3736  * 
3737  * Component ID0
3738  * 
3739  * Register Layout
3740  * 
3741  *  Bits   | Access | Reset | Description
3742  * :-------|:-------|:------|:------------
3743  *  [7:0]  | R      | 0xd   | Preamble   
3744  *  [31:8] | ???    | 0x0   | *UNDEFINED*
3745  * 
3746  */
3747 /*
3748  * Field : Preamble - preamble
3749  * 
3750  * Preamble
3751  * 
3752  * Field Access Macros:
3753  * 
3754  */
3755 /* The Least Significant Bit (LSB) position of the ALT_L3_ID_COMP_ID_0_PREAMBLE register field. */
3756 #define ALT_L3_ID_COMP_ID_0_PREAMBLE_LSB        0
3757 /* The Most Significant Bit (MSB) position of the ALT_L3_ID_COMP_ID_0_PREAMBLE register field. */
3758 #define ALT_L3_ID_COMP_ID_0_PREAMBLE_MSB        7
3759 /* The width in bits of the ALT_L3_ID_COMP_ID_0_PREAMBLE register field. */
3760 #define ALT_L3_ID_COMP_ID_0_PREAMBLE_WIDTH      8
3761 /* The mask used to set the ALT_L3_ID_COMP_ID_0_PREAMBLE register field value. */
3762 #define ALT_L3_ID_COMP_ID_0_PREAMBLE_SET_MSK    0x000000ff
3763 /* The mask used to clear the ALT_L3_ID_COMP_ID_0_PREAMBLE register field value. */
3764 #define ALT_L3_ID_COMP_ID_0_PREAMBLE_CLR_MSK    0xffffff00
3765 /* The reset value of the ALT_L3_ID_COMP_ID_0_PREAMBLE register field. */
3766 #define ALT_L3_ID_COMP_ID_0_PREAMBLE_RESET      0xd
3767 /* Extracts the ALT_L3_ID_COMP_ID_0_PREAMBLE field value from a register. */
3768 #define ALT_L3_ID_COMP_ID_0_PREAMBLE_GET(value) (((value) & 0x000000ff) >> 0)
3769 /* Produces a ALT_L3_ID_COMP_ID_0_PREAMBLE register field value suitable for setting the register. */
3770 #define ALT_L3_ID_COMP_ID_0_PREAMBLE_SET(value) (((value) << 0) & 0x000000ff)
3771 
3772 #ifndef __ASSEMBLY__
3773 /*
3774  * WARNING: The C register and register group struct declarations are provided for
3775  * convenience and illustrative purposes. They should, however, be used with
3776  * caution as the C language standard provides no guarantees about the alignment or
3777  * atomicity of device memory accesses. The recommended practice for writing
3778  * hardware drivers is to use the SoCAL access macros and alt_read_word() and
3779  * alt_write_word() functions.
3780  * 
3781  * The struct declaration for register ALT_L3_ID_COMP_ID_0.
3782  */
3783 struct ALT_L3_ID_COMP_ID_0_s
3784 {
3785     const uint32_t  preamble :  8;  /* Preamble */
3786     uint32_t                 : 24;  /* *UNDEFINED* */
3787 };
3788 
3789 /* The typedef declaration for register ALT_L3_ID_COMP_ID_0. */
3790 typedef volatile struct ALT_L3_ID_COMP_ID_0_s  ALT_L3_ID_COMP_ID_0_t;
3791 #endif  /* __ASSEMBLY__ */
3792 
3793 /* The byte offset of the ALT_L3_ID_COMP_ID_0 register from the beginning of the component. */
3794 #define ALT_L3_ID_COMP_ID_0_OFST        0xff0
3795 
3796 /*
3797  * Register : Component ID1 Register - comp_id_1
3798  * 
3799  * Component ID1
3800  * 
3801  * Register Layout
3802  * 
3803  *  Bits   | Access | Reset | Description                         
3804  * :-------|:-------|:------|:-------------------------------------
3805  *  [7:0]  | R      | 0xf0  | Generic IP component class, Preamble
3806  *  [31:8] | ???    | 0x0   | *UNDEFINED*                         
3807  * 
3808  */
3809 /*
3810  * Field : Generic IP component class, Preamble - genipcompcls_preamble
3811  * 
3812  * Generic IP component class, Preamble
3813  * 
3814  * Field Access Macros:
3815  * 
3816  */
3817 /* The Least Significant Bit (LSB) position of the ALT_L3_ID_COMP_ID_1_GENIPCOMPCLS_PREAMBLE register field. */
3818 #define ALT_L3_ID_COMP_ID_1_GENIPCOMPCLS_PREAMBLE_LSB        0
3819 /* The Most Significant Bit (MSB) position of the ALT_L3_ID_COMP_ID_1_GENIPCOMPCLS_PREAMBLE register field. */
3820 #define ALT_L3_ID_COMP_ID_1_GENIPCOMPCLS_PREAMBLE_MSB        7
3821 /* The width in bits of the ALT_L3_ID_COMP_ID_1_GENIPCOMPCLS_PREAMBLE register field. */
3822 #define ALT_L3_ID_COMP_ID_1_GENIPCOMPCLS_PREAMBLE_WIDTH      8
3823 /* The mask used to set the ALT_L3_ID_COMP_ID_1_GENIPCOMPCLS_PREAMBLE register field value. */
3824 #define ALT_L3_ID_COMP_ID_1_GENIPCOMPCLS_PREAMBLE_SET_MSK    0x000000ff
3825 /* The mask used to clear the ALT_L3_ID_COMP_ID_1_GENIPCOMPCLS_PREAMBLE register field value. */
3826 #define ALT_L3_ID_COMP_ID_1_GENIPCOMPCLS_PREAMBLE_CLR_MSK    0xffffff00
3827 /* The reset value of the ALT_L3_ID_COMP_ID_1_GENIPCOMPCLS_PREAMBLE register field. */
3828 #define ALT_L3_ID_COMP_ID_1_GENIPCOMPCLS_PREAMBLE_RESET      0xf0
3829 /* Extracts the ALT_L3_ID_COMP_ID_1_GENIPCOMPCLS_PREAMBLE field value from a register. */
3830 #define ALT_L3_ID_COMP_ID_1_GENIPCOMPCLS_PREAMBLE_GET(value) (((value) & 0x000000ff) >> 0)
3831 /* Produces a ALT_L3_ID_COMP_ID_1_GENIPCOMPCLS_PREAMBLE register field value suitable for setting the register. */
3832 #define ALT_L3_ID_COMP_ID_1_GENIPCOMPCLS_PREAMBLE_SET(value) (((value) << 0) & 0x000000ff)
3833 
3834 #ifndef __ASSEMBLY__
3835 /*
3836  * WARNING: The C register and register group struct declarations are provided for
3837  * convenience and illustrative purposes. They should, however, be used with
3838  * caution as the C language standard provides no guarantees about the alignment or
3839  * atomicity of device memory accesses. The recommended practice for writing
3840  * hardware drivers is to use the SoCAL access macros and alt_read_word() and
3841  * alt_write_word() functions.
3842  * 
3843  * The struct declaration for register ALT_L3_ID_COMP_ID_1.
3844  */
3845 struct ALT_L3_ID_COMP_ID_1_s
3846 {
3847     const uint32_t  genipcompcls_preamble :  8;  /* Generic IP component class, Preamble */
3848     uint32_t                              : 24;  /* *UNDEFINED* */
3849 };
3850 
3851 /* The typedef declaration for register ALT_L3_ID_COMP_ID_1. */
3852 typedef volatile struct ALT_L3_ID_COMP_ID_1_s  ALT_L3_ID_COMP_ID_1_t;
3853 #endif  /* __ASSEMBLY__ */
3854 
3855 /* The byte offset of the ALT_L3_ID_COMP_ID_1 register from the beginning of the component. */
3856 #define ALT_L3_ID_COMP_ID_1_OFST        0xff4
3857 
3858 /*
3859  * Register : Component ID2 Register - comp_id_2
3860  * 
3861  * Component ID2
3862  * 
3863  * Register Layout
3864  * 
3865  *  Bits   | Access | Reset | Description
3866  * :-------|:-------|:------|:------------
3867  *  [7:0]  | R      | 0x5   | Preamble   
3868  *  [31:8] | ???    | 0x0   | *UNDEFINED*
3869  * 
3870  */
3871 /*
3872  * Field : Preamble - preamble
3873  * 
3874  * Preamble
3875  * 
3876  * Field Access Macros:
3877  * 
3878  */
3879 /* The Least Significant Bit (LSB) position of the ALT_L3_ID_COMP_ID_2_PREAMBLE register field. */
3880 #define ALT_L3_ID_COMP_ID_2_PREAMBLE_LSB        0
3881 /* The Most Significant Bit (MSB) position of the ALT_L3_ID_COMP_ID_2_PREAMBLE register field. */
3882 #define ALT_L3_ID_COMP_ID_2_PREAMBLE_MSB        7
3883 /* The width in bits of the ALT_L3_ID_COMP_ID_2_PREAMBLE register field. */
3884 #define ALT_L3_ID_COMP_ID_2_PREAMBLE_WIDTH      8
3885 /* The mask used to set the ALT_L3_ID_COMP_ID_2_PREAMBLE register field value. */
3886 #define ALT_L3_ID_COMP_ID_2_PREAMBLE_SET_MSK    0x000000ff
3887 /* The mask used to clear the ALT_L3_ID_COMP_ID_2_PREAMBLE register field value. */
3888 #define ALT_L3_ID_COMP_ID_2_PREAMBLE_CLR_MSK    0xffffff00
3889 /* The reset value of the ALT_L3_ID_COMP_ID_2_PREAMBLE register field. */
3890 #define ALT_L3_ID_COMP_ID_2_PREAMBLE_RESET      0x5
3891 /* Extracts the ALT_L3_ID_COMP_ID_2_PREAMBLE field value from a register. */
3892 #define ALT_L3_ID_COMP_ID_2_PREAMBLE_GET(value) (((value) & 0x000000ff) >> 0)
3893 /* Produces a ALT_L3_ID_COMP_ID_2_PREAMBLE register field value suitable for setting the register. */
3894 #define ALT_L3_ID_COMP_ID_2_PREAMBLE_SET(value) (((value) << 0) & 0x000000ff)
3895 
3896 #ifndef __ASSEMBLY__
3897 /*
3898  * WARNING: The C register and register group struct declarations are provided for
3899  * convenience and illustrative purposes. They should, however, be used with
3900  * caution as the C language standard provides no guarantees about the alignment or
3901  * atomicity of device memory accesses. The recommended practice for writing
3902  * hardware drivers is to use the SoCAL access macros and alt_read_word() and
3903  * alt_write_word() functions.
3904  * 
3905  * The struct declaration for register ALT_L3_ID_COMP_ID_2.
3906  */
3907 struct ALT_L3_ID_COMP_ID_2_s
3908 {
3909     const uint32_t  preamble :  8;  /* Preamble */
3910     uint32_t                 : 24;  /* *UNDEFINED* */
3911 };
3912 
3913 /* The typedef declaration for register ALT_L3_ID_COMP_ID_2. */
3914 typedef volatile struct ALT_L3_ID_COMP_ID_2_s  ALT_L3_ID_COMP_ID_2_t;
3915 #endif  /* __ASSEMBLY__ */
3916 
3917 /* The byte offset of the ALT_L3_ID_COMP_ID_2 register from the beginning of the component. */
3918 #define ALT_L3_ID_COMP_ID_2_OFST        0xff8
3919 
3920 /*
3921  * Register : Component ID3 Register - comp_id_3
3922  * 
3923  * Component ID3
3924  * 
3925  * Register Layout
3926  * 
3927  *  Bits   | Access | Reset | Description
3928  * :-------|:-------|:------|:------------
3929  *  [7:0]  | R      | 0xb1  | Preamble   
3930  *  [31:8] | ???    | 0x0   | *UNDEFINED*
3931  * 
3932  */
3933 /*
3934  * Field : Preamble - preamble
3935  * 
3936  * Preamble
3937  * 
3938  * Field Access Macros:
3939  * 
3940  */
3941 /* The Least Significant Bit (LSB) position of the ALT_L3_ID_COMP_ID_3_PREAMBLE register field. */
3942 #define ALT_L3_ID_COMP_ID_3_PREAMBLE_LSB        0
3943 /* The Most Significant Bit (MSB) position of the ALT_L3_ID_COMP_ID_3_PREAMBLE register field. */
3944 #define ALT_L3_ID_COMP_ID_3_PREAMBLE_MSB        7
3945 /* The width in bits of the ALT_L3_ID_COMP_ID_3_PREAMBLE register field. */
3946 #define ALT_L3_ID_COMP_ID_3_PREAMBLE_WIDTH      8
3947 /* The mask used to set the ALT_L3_ID_COMP_ID_3_PREAMBLE register field value. */
3948 #define ALT_L3_ID_COMP_ID_3_PREAMBLE_SET_MSK    0x000000ff
3949 /* The mask used to clear the ALT_L3_ID_COMP_ID_3_PREAMBLE register field value. */
3950 #define ALT_L3_ID_COMP_ID_3_PREAMBLE_CLR_MSK    0xffffff00
3951 /* The reset value of the ALT_L3_ID_COMP_ID_3_PREAMBLE register field. */
3952 #define ALT_L3_ID_COMP_ID_3_PREAMBLE_RESET      0xb1
3953 /* Extracts the ALT_L3_ID_COMP_ID_3_PREAMBLE field value from a register. */
3954 #define ALT_L3_ID_COMP_ID_3_PREAMBLE_GET(value) (((value) & 0x000000ff) >> 0)
3955 /* Produces a ALT_L3_ID_COMP_ID_3_PREAMBLE register field value suitable for setting the register. */
3956 #define ALT_L3_ID_COMP_ID_3_PREAMBLE_SET(value) (((value) << 0) & 0x000000ff)
3957 
3958 #ifndef __ASSEMBLY__
3959 /*
3960  * WARNING: The C register and register group struct declarations are provided for
3961  * convenience and illustrative purposes. They should, however, be used with
3962  * caution as the C language standard provides no guarantees about the alignment or
3963  * atomicity of device memory accesses. The recommended practice for writing
3964  * hardware drivers is to use the SoCAL access macros and alt_read_word() and
3965  * alt_write_word() functions.
3966  * 
3967  * The struct declaration for register ALT_L3_ID_COMP_ID_3.
3968  */
3969 struct ALT_L3_ID_COMP_ID_3_s
3970 {
3971     const uint32_t  preamble :  8;  /* Preamble */
3972     uint32_t                 : 24;  /* *UNDEFINED* */
3973 };
3974 
3975 /* The typedef declaration for register ALT_L3_ID_COMP_ID_3. */
3976 typedef volatile struct ALT_L3_ID_COMP_ID_3_s  ALT_L3_ID_COMP_ID_3_t;
3977 #endif  /* __ASSEMBLY__ */
3978 
3979 /* The byte offset of the ALT_L3_ID_COMP_ID_3 register from the beginning of the component. */
3980 #define ALT_L3_ID_COMP_ID_3_OFST        0xffc
3981 
3982 #ifndef __ASSEMBLY__
3983 /*
3984  * WARNING: The C register and register group struct declarations are provided for
3985  * convenience and illustrative purposes. They should, however, be used with
3986  * caution as the C language standard provides no guarantees about the alignment or
3987  * atomicity of device memory accesses. The recommended practice for writing
3988  * hardware drivers is to use the SoCAL access macros and alt_read_word() and
3989  * alt_write_word() functions.
3990  * 
3991  * The struct declaration for register group ALT_L3_IDGRP.
3992  */
3993 struct ALT_L3_IDGRP_s
3994 {
3995     volatile uint32_t                 _pad_0x0_0xfcf[1012];  /* *UNDEFINED* */
3996     volatile ALT_L3_ID_PERIPH_ID_4_t  periph_id_4;           /* ALT_L3_ID_PERIPH_ID_4 */
3997     volatile uint32_t                 _pad_0xfd4_0xfdf[3];   /* *UNDEFINED* */
3998     volatile ALT_L3_ID_PERIPH_ID_0_t  periph_id_0;           /* ALT_L3_ID_PERIPH_ID_0 */
3999     volatile ALT_L3_ID_PERIPH_ID_1_t  periph_id_1;           /* ALT_L3_ID_PERIPH_ID_1 */
4000     volatile ALT_L3_ID_PERIPH_ID_2_t  periph_id_2;           /* ALT_L3_ID_PERIPH_ID_2 */
4001     volatile ALT_L3_ID_PERIPH_ID_3_t  periph_id_3;           /* ALT_L3_ID_PERIPH_ID_3 */
4002     volatile ALT_L3_ID_COMP_ID_0_t    comp_id_0;             /* ALT_L3_ID_COMP_ID_0 */
4003     volatile ALT_L3_ID_COMP_ID_1_t    comp_id_1;             /* ALT_L3_ID_COMP_ID_1 */
4004     volatile ALT_L3_ID_COMP_ID_2_t    comp_id_2;             /* ALT_L3_ID_COMP_ID_2 */
4005     volatile ALT_L3_ID_COMP_ID_3_t    comp_id_3;             /* ALT_L3_ID_COMP_ID_3 */
4006 };
4007 
4008 /* The typedef declaration for register group ALT_L3_IDGRP. */
4009 typedef volatile struct ALT_L3_IDGRP_s  ALT_L3_IDGRP_t;
4010 /* The struct declaration for the raw register contents of register group ALT_L3_IDGRP. */
4011 struct ALT_L3_IDGRP_raw_s
4012 {
4013     volatile uint32_t  _pad_0x0_0xfcf[1012];  /* *UNDEFINED* */
4014     volatile uint32_t  periph_id_4;           /* ALT_L3_ID_PERIPH_ID_4 */
4015     volatile uint32_t  _pad_0xfd4_0xfdf[3];   /* *UNDEFINED* */
4016     volatile uint32_t  periph_id_0;           /* ALT_L3_ID_PERIPH_ID_0 */
4017     volatile uint32_t  periph_id_1;           /* ALT_L3_ID_PERIPH_ID_1 */
4018     volatile uint32_t  periph_id_2;           /* ALT_L3_ID_PERIPH_ID_2 */
4019     volatile uint32_t  periph_id_3;           /* ALT_L3_ID_PERIPH_ID_3 */
4020     volatile uint32_t  comp_id_0;             /* ALT_L3_ID_COMP_ID_0 */
4021     volatile uint32_t  comp_id_1;             /* ALT_L3_ID_COMP_ID_1 */
4022     volatile uint32_t  comp_id_2;             /* ALT_L3_ID_COMP_ID_2 */
4023     volatile uint32_t  comp_id_3;             /* ALT_L3_ID_COMP_ID_3 */
4024 };
4025 
4026 /* The typedef declaration for the raw register contents of register group ALT_L3_IDGRP. */
4027 typedef volatile struct ALT_L3_IDGRP_raw_s  ALT_L3_IDGRP_raw_t;
4028 #endif  /* __ASSEMBLY__ */
4029 
4030 
4031 /*
4032  * Register Group : Master Register Group - ALT_L3_MSTGRP
4033  * Master Register Group
4034  * 
4035  * Registers associated with master interfaces in the L3 Interconnect. Note that a
4036  * master in the L3 Interconnect connects to a slave in a module.
4037  * 
4038  */
4039 /*
4040  * Register Group : L4 MAIN - ALT_L3_MST_L4MAIN
4041  * L4 MAIN
4042  * 
4043  * Registers associated with the L4 MAIN master. This master is used to access the
4044  * APB slaves on the L4 MAIN bus.
4045  * 
4046  */
4047 /*
4048  * Register : Bus Matrix Issuing Functionality Modification Register - fn_mod_bm_iss
4049  * 
4050  * Sets the issuing capability of the preceding switch arbitration scheme to
4051  * multiple or single outstanding transactions.
4052  * 
4053  * Register Layout
4054  * 
4055  *  Bits   | Access | Reset | Description            
4056  * :-------|:-------|:------|:------------------------
4057  *  [0]    | RW     | 0x0   | ALT_L3_FN_MOD_BM_ISS_RD
4058  *  [1]    | RW     | 0x0   | ALT_L3_FN_MOD_BM_ISS_WR
4059  *  [31:2] | ???    | 0x0   | *UNDEFINED*            
4060  * 
4061  */
4062 /*
4063  * Field : rd
4064  * 
4065  * Field Enumeration Values:
4066  * 
4067  *  Enum                             | Value | Description                               
4068  * :---------------------------------|:------|:-------------------------------------------
4069  *  ALT_L3_FN_MOD_BM_ISS_RD_E_MULT   | 0x0   | Multiple outstanding read transactions    
4070  *  ALT_L3_FN_MOD_BM_ISS_RD_E_SINGLE | 0x1   | Only a single outstanding read transaction
4071  * 
4072  * Field Access Macros:
4073  * 
4074  */
4075 /*
4076  * Enumerated value for register field ALT_L3_FN_MOD_BM_ISS_RD
4077  * 
4078  * Multiple outstanding read transactions
4079  */
4080 #define ALT_L3_FN_MOD_BM_ISS_RD_E_MULT      0x0
4081 /*
4082  * Enumerated value for register field ALT_L3_FN_MOD_BM_ISS_RD
4083  * 
4084  * Only a single outstanding read transaction
4085  */
4086 #define ALT_L3_FN_MOD_BM_ISS_RD_E_SINGLE    0x1
4087 
4088 /* The Least Significant Bit (LSB) position of the ALT_L3_FN_MOD_BM_ISS_RD register field. */
4089 #define ALT_L3_FN_MOD_BM_ISS_RD_LSB        0
4090 /* The Most Significant Bit (MSB) position of the ALT_L3_FN_MOD_BM_ISS_RD register field. */
4091 #define ALT_L3_FN_MOD_BM_ISS_RD_MSB        0
4092 /* The width in bits of the ALT_L3_FN_MOD_BM_ISS_RD register field. */
4093 #define ALT_L3_FN_MOD_BM_ISS_RD_WIDTH      1
4094 /* The mask used to set the ALT_L3_FN_MOD_BM_ISS_RD register field value. */
4095 #define ALT_L3_FN_MOD_BM_ISS_RD_SET_MSK    0x00000001
4096 /* The mask used to clear the ALT_L3_FN_MOD_BM_ISS_RD register field value. */
4097 #define ALT_L3_FN_MOD_BM_ISS_RD_CLR_MSK    0xfffffffe
4098 /* The reset value of the ALT_L3_FN_MOD_BM_ISS_RD register field. */
4099 #define ALT_L3_FN_MOD_BM_ISS_RD_RESET      0x0
4100 /* Extracts the ALT_L3_FN_MOD_BM_ISS_RD field value from a register. */
4101 #define ALT_L3_FN_MOD_BM_ISS_RD_GET(value) (((value) & 0x00000001) >> 0)
4102 /* Produces a ALT_L3_FN_MOD_BM_ISS_RD register field value suitable for setting the register. */
4103 #define ALT_L3_FN_MOD_BM_ISS_RD_SET(value) (((value) << 0) & 0x00000001)
4104 
4105 /*
4106  * Field : wr
4107  * 
4108  * Field Enumeration Values:
4109  * 
4110  *  Enum                             | Value | Description                                
4111  * :---------------------------------|:------|:--------------------------------------------
4112  *  ALT_L3_FN_MOD_BM_ISS_WR_E_MULT   | 0x0   | Multiple outstanding write transactions    
4113  *  ALT_L3_FN_MOD_BM_ISS_WR_E_SINGLE | 0x1   | Only a single outstanding write transaction
4114  * 
4115  * Field Access Macros:
4116  * 
4117  */
4118 /*
4119  * Enumerated value for register field ALT_L3_FN_MOD_BM_ISS_WR
4120  * 
4121  * Multiple outstanding write transactions
4122  */
4123 #define ALT_L3_FN_MOD_BM_ISS_WR_E_MULT      0x0
4124 /*
4125  * Enumerated value for register field ALT_L3_FN_MOD_BM_ISS_WR
4126  * 
4127  * Only a single outstanding write transaction
4128  */
4129 #define ALT_L3_FN_MOD_BM_ISS_WR_E_SINGLE    0x1
4130 
4131 /* The Least Significant Bit (LSB) position of the ALT_L3_FN_MOD_BM_ISS_WR register field. */
4132 #define ALT_L3_FN_MOD_BM_ISS_WR_LSB        1
4133 /* The Most Significant Bit (MSB) position of the ALT_L3_FN_MOD_BM_ISS_WR register field. */
4134 #define ALT_L3_FN_MOD_BM_ISS_WR_MSB        1
4135 /* The width in bits of the ALT_L3_FN_MOD_BM_ISS_WR register field. */
4136 #define ALT_L3_FN_MOD_BM_ISS_WR_WIDTH      1
4137 /* The mask used to set the ALT_L3_FN_MOD_BM_ISS_WR register field value. */
4138 #define ALT_L3_FN_MOD_BM_ISS_WR_SET_MSK    0x00000002
4139 /* The mask used to clear the ALT_L3_FN_MOD_BM_ISS_WR register field value. */
4140 #define ALT_L3_FN_MOD_BM_ISS_WR_CLR_MSK    0xfffffffd
4141 /* The reset value of the ALT_L3_FN_MOD_BM_ISS_WR register field. */
4142 #define ALT_L3_FN_MOD_BM_ISS_WR_RESET      0x0
4143 /* Extracts the ALT_L3_FN_MOD_BM_ISS_WR field value from a register. */
4144 #define ALT_L3_FN_MOD_BM_ISS_WR_GET(value) (((value) & 0x00000002) >> 1)
4145 /* Produces a ALT_L3_FN_MOD_BM_ISS_WR register field value suitable for setting the register. */
4146 #define ALT_L3_FN_MOD_BM_ISS_WR_SET(value) (((value) << 1) & 0x00000002)
4147 
4148 #ifndef __ASSEMBLY__
4149 /*
4150  * WARNING: The C register and register group struct declarations are provided for
4151  * convenience and illustrative purposes. They should, however, be used with
4152  * caution as the C language standard provides no guarantees about the alignment or
4153  * atomicity of device memory accesses. The recommended practice for writing
4154  * hardware drivers is to use the SoCAL access macros and alt_read_word() and
4155  * alt_write_word() functions.
4156  * 
4157  * The struct declaration for register ALT_L3_FN_MOD_BM_ISS.
4158  */
4159 struct ALT_L3_FN_MOD_BM_ISS_s
4160 {
4161     uint32_t  rd :  1;  /* ALT_L3_FN_MOD_BM_ISS_RD */
4162     uint32_t  wr :  1;  /* ALT_L3_FN_MOD_BM_ISS_WR */
4163     uint32_t     : 30;  /* *UNDEFINED* */
4164 };
4165 
4166 /* The typedef declaration for register ALT_L3_FN_MOD_BM_ISS. */
4167 typedef volatile struct ALT_L3_FN_MOD_BM_ISS_s  ALT_L3_FN_MOD_BM_ISS_t;
4168 #endif  /* __ASSEMBLY__ */
4169 
4170 /* The byte offset of the ALT_L3_FN_MOD_BM_ISS register from the beginning of the component. */
4171 #define ALT_L3_FN_MOD_BM_ISS_OFST        0x8
4172 /* The address of the ALT_L3_FN_MOD_BM_ISS register. */
4173 #define ALT_L3_FN_MOD_BM_ISS_ADDR(base)  ALT_CAST(void *, (ALT_CAST(char *, (base)) + ALT_L3_FN_MOD_BM_ISS_OFST))
4174 
4175 #ifndef __ASSEMBLY__
4176 /*
4177  * WARNING: The C register and register group struct declarations are provided for
4178  * convenience and illustrative purposes. They should, however, be used with
4179  * caution as the C language standard provides no guarantees about the alignment or
4180  * atomicity of device memory accesses. The recommended practice for writing
4181  * hardware drivers is to use the SoCAL access macros and alt_read_word() and
4182  * alt_write_word() functions.
4183  * 
4184  * The struct declaration for register group ALT_L3_MST_L4MAIN.
4185  */
4186 struct ALT_L3_MST_L4MAIN_s
4187 {
4188     volatile uint32_t                _pad_0x0_0x7[2];  /* *UNDEFINED* */
4189     volatile ALT_L3_FN_MOD_BM_ISS_t  fn_mod_bm_iss;    /* ALT_L3_FN_MOD_BM_ISS */
4190 };
4191 
4192 /* The typedef declaration for register group ALT_L3_MST_L4MAIN. */
4193 typedef volatile struct ALT_L3_MST_L4MAIN_s  ALT_L3_MST_L4MAIN_t;
4194 /* The struct declaration for the raw register contents of register group ALT_L3_MST_L4MAIN. */
4195 struct ALT_L3_MST_L4MAIN_raw_s
4196 {
4197     volatile uint32_t  _pad_0x0_0x7[2];  /* *UNDEFINED* */
4198     volatile uint32_t  fn_mod_bm_iss;    /* ALT_L3_FN_MOD_BM_ISS */
4199 };
4200 
4201 /* The typedef declaration for the raw register contents of register group ALT_L3_MST_L4MAIN. */
4202 typedef volatile struct ALT_L3_MST_L4MAIN_raw_s  ALT_L3_MST_L4MAIN_raw_t;
4203 #endif  /* __ASSEMBLY__ */
4204 
4205 
4206 /*
4207  * Register Group : L4 SP - ALT_L3_MST_L4SP
4208  * L4 SP
4209  * 
4210  * Registers associated with the L4 SP master. This master is used to access the
4211  * APB slaves on the L4 SP bus.
4212  * 
4213  */
4214 #ifndef __ASSEMBLY__
4215 /*
4216  * WARNING: The C register and register group struct declarations are provided for
4217  * convenience and illustrative purposes. They should, however, be used with
4218  * caution as the C language standard provides no guarantees about the alignment or
4219  * atomicity of device memory accesses. The recommended practice for writing
4220  * hardware drivers is to use the SoCAL access macros and alt_read_word() and
4221  * alt_write_word() functions.
4222  * 
4223  * The struct declaration for register group ALT_L3_MST_L4SP.
4224  */
4225 struct ALT_L3_MST_L4SP_s
4226 {
4227     volatile uint32_t                _pad_0x0_0x7[2];  /* *UNDEFINED* */
4228     volatile ALT_L3_FN_MOD_BM_ISS_t  fn_mod_bm_iss;    /* ALT_L3_FN_MOD_BM_ISS */
4229 };
4230 
4231 /* The typedef declaration for register group ALT_L3_MST_L4SP. */
4232 typedef volatile struct ALT_L3_MST_L4SP_s  ALT_L3_MST_L4SP_t;
4233 /* The struct declaration for the raw register contents of register group ALT_L3_MST_L4SP. */
4234 struct ALT_L3_MST_L4SP_raw_s
4235 {
4236     volatile uint32_t  _pad_0x0_0x7[2];  /* *UNDEFINED* */
4237     volatile uint32_t  fn_mod_bm_iss;    /* ALT_L3_FN_MOD_BM_ISS */
4238 };
4239 
4240 /* The typedef declaration for the raw register contents of register group ALT_L3_MST_L4SP. */
4241 typedef volatile struct ALT_L3_MST_L4SP_raw_s  ALT_L3_MST_L4SP_raw_t;
4242 #endif  /* __ASSEMBLY__ */
4243 
4244 
4245 /*
4246  * Register Group : L4 MP - ALT_L3_MST_L4MP
4247  * L4 MP
4248  * 
4249  * Registers associated with the L4 MP master. This master is used to access the
4250  * APB slaves on the L4 MP bus.
4251  * 
4252  */
4253 #ifndef __ASSEMBLY__
4254 /*
4255  * WARNING: The C register and register group struct declarations are provided for
4256  * convenience and illustrative purposes. They should, however, be used with
4257  * caution as the C language standard provides no guarantees about the alignment or
4258  * atomicity of device memory accesses. The recommended practice for writing
4259  * hardware drivers is to use the SoCAL access macros and alt_read_word() and
4260  * alt_write_word() functions.
4261  * 
4262  * The struct declaration for register group ALT_L3_MST_L4MP.
4263  */
4264 struct ALT_L3_MST_L4MP_s
4265 {
4266     volatile uint32_t                _pad_0x0_0x7[2];  /* *UNDEFINED* */
4267     volatile ALT_L3_FN_MOD_BM_ISS_t  fn_mod_bm_iss;    /* ALT_L3_FN_MOD_BM_ISS */
4268 };
4269 
4270 /* The typedef declaration for register group ALT_L3_MST_L4MP. */
4271 typedef volatile struct ALT_L3_MST_L4MP_s  ALT_L3_MST_L4MP_t;
4272 /* The struct declaration for the raw register contents of register group ALT_L3_MST_L4MP. */
4273 struct ALT_L3_MST_L4MP_raw_s
4274 {
4275     volatile uint32_t  _pad_0x0_0x7[2];  /* *UNDEFINED* */
4276     volatile uint32_t  fn_mod_bm_iss;    /* ALT_L3_FN_MOD_BM_ISS */
4277 };
4278 
4279 /* The typedef declaration for the raw register contents of register group ALT_L3_MST_L4MP. */
4280 typedef volatile struct ALT_L3_MST_L4MP_raw_s  ALT_L3_MST_L4MP_raw_t;
4281 #endif  /* __ASSEMBLY__ */
4282 
4283 
4284 /*
4285  * Register Group : L4 OSC1 - ALT_L3_MST_L4OSC1
4286  * L4 OSC1
4287  * 
4288  * Registers associated with the L4 OSC1 master. This master is used to access the
4289  * APB slaves on the L4 OSC1 bus.
4290  * 
4291  */
4292 #ifndef __ASSEMBLY__
4293 /*
4294  * WARNING: The C register and register group struct declarations are provided for
4295  * convenience and illustrative purposes. They should, however, be used with
4296  * caution as the C language standard provides no guarantees about the alignment or
4297  * atomicity of device memory accesses. The recommended practice for writing
4298  * hardware drivers is to use the SoCAL access macros and alt_read_word() and
4299  * alt_write_word() functions.
4300  * 
4301  * The struct declaration for register group ALT_L3_MST_L4OSC1.
4302  */
4303 struct ALT_L3_MST_L4OSC1_s
4304 {
4305     volatile uint32_t                _pad_0x0_0x7[2];  /* *UNDEFINED* */
4306     volatile ALT_L3_FN_MOD_BM_ISS_t  fn_mod_bm_iss;    /* ALT_L3_FN_MOD_BM_ISS */
4307 };
4308 
4309 /* The typedef declaration for register group ALT_L3_MST_L4OSC1. */
4310 typedef volatile struct ALT_L3_MST_L4OSC1_s  ALT_L3_MST_L4OSC1_t;
4311 /* The struct declaration for the raw register contents of register group ALT_L3_MST_L4OSC1. */
4312 struct ALT_L3_MST_L4OSC1_raw_s
4313 {
4314     volatile uint32_t  _pad_0x0_0x7[2];  /* *UNDEFINED* */
4315     volatile uint32_t  fn_mod_bm_iss;    /* ALT_L3_FN_MOD_BM_ISS */
4316 };
4317 
4318 /* The typedef declaration for the raw register contents of register group ALT_L3_MST_L4OSC1. */
4319 typedef volatile struct ALT_L3_MST_L4OSC1_raw_s  ALT_L3_MST_L4OSC1_raw_t;
4320 #endif  /* __ASSEMBLY__ */
4321 
4322 
4323 /*
4324  * Register Group : L4 SPIM - ALT_L3_MST_L4SPIM
4325  * L4 SPIM
4326  * 
4327  * Registers associated with the L4 SPIM master. This master is used to access the
4328  * APB slaves on the L4 SPIM bus.
4329  * 
4330  */
4331 #ifndef __ASSEMBLY__
4332 /*
4333  * WARNING: The C register and register group struct declarations are provided for
4334  * convenience and illustrative purposes. They should, however, be used with
4335  * caution as the C language standard provides no guarantees about the alignment or
4336  * atomicity of device memory accesses. The recommended practice for writing
4337  * hardware drivers is to use the SoCAL access macros and alt_read_word() and
4338  * alt_write_word() functions.
4339  * 
4340  * The struct declaration for register group ALT_L3_MST_L4SPIM.
4341  */
4342 struct ALT_L3_MST_L4SPIM_s
4343 {
4344     volatile uint32_t                _pad_0x0_0x7[2];  /* *UNDEFINED* */
4345     volatile ALT_L3_FN_MOD_BM_ISS_t  fn_mod_bm_iss;    /* ALT_L3_FN_MOD_BM_ISS */
4346 };
4347 
4348 /* The typedef declaration for register group ALT_L3_MST_L4SPIM. */
4349 typedef volatile struct ALT_L3_MST_L4SPIM_s  ALT_L3_MST_L4SPIM_t;
4350 /* The struct declaration for the raw register contents of register group ALT_L3_MST_L4SPIM. */
4351 struct ALT_L3_MST_L4SPIM_raw_s
4352 {
4353     volatile uint32_t  _pad_0x0_0x7[2];  /* *UNDEFINED* */
4354     volatile uint32_t  fn_mod_bm_iss;    /* ALT_L3_FN_MOD_BM_ISS */
4355 };
4356 
4357 /* The typedef declaration for the raw register contents of register group ALT_L3_MST_L4SPIM. */
4358 typedef volatile struct ALT_L3_MST_L4SPIM_raw_s  ALT_L3_MST_L4SPIM_raw_t;
4359 #endif  /* __ASSEMBLY__ */
4360 
4361 
4362 /*
4363  * Register Group : STM - ALT_L3_MST_STM
4364  * STM
4365  * 
4366  * Registers associated with the STM master. This master is used to access the STM
4367  * AXI slave.
4368  * 
4369  */
4370 /*
4371  * Register : Issuing Functionality Modification Register - fn_mod
4372  * 
4373  * Sets the block issuing capability to multiple or single outstanding
4374  * transactions.
4375  * 
4376  * Register Layout
4377  * 
4378  *  Bits   | Access | Reset | Description     
4379  * :-------|:-------|:------|:-----------------
4380  *  [0]    | RW     | 0x0   | ALT_L3_FN_MOD_RD
4381  *  [1]    | RW     | 0x0   | ALT_L3_FN_MOD_WR
4382  *  [31:2] | ???    | 0x0   | *UNDEFINED*     
4383  * 
4384  */
4385 /*
4386  * Field : rd
4387  * 
4388  * Field Enumeration Values:
4389  * 
4390  *  Enum                      | Value | Description                               
4391  * :--------------------------|:------|:-------------------------------------------
4392  *  ALT_L3_FN_MOD_RD_E_MULT   | 0x0   | Multiple outstanding read transactions    
4393  *  ALT_L3_FN_MOD_RD_E_SINGLE | 0x1   | Only a single outstanding read transaction
4394  * 
4395  * Field Access Macros:
4396  * 
4397  */
4398 /*
4399  * Enumerated value for register field ALT_L3_FN_MOD_RD
4400  * 
4401  * Multiple outstanding read transactions
4402  */
4403 #define ALT_L3_FN_MOD_RD_E_MULT     0x0
4404 /*
4405  * Enumerated value for register field ALT_L3_FN_MOD_RD
4406  * 
4407  * Only a single outstanding read transaction
4408  */
4409 #define ALT_L3_FN_MOD_RD_E_SINGLE   0x1
4410 
4411 /* The Least Significant Bit (LSB) position of the ALT_L3_FN_MOD_RD register field. */
4412 #define ALT_L3_FN_MOD_RD_LSB        0
4413 /* The Most Significant Bit (MSB) position of the ALT_L3_FN_MOD_RD register field. */
4414 #define ALT_L3_FN_MOD_RD_MSB        0
4415 /* The width in bits of the ALT_L3_FN_MOD_RD register field. */
4416 #define ALT_L3_FN_MOD_RD_WIDTH      1
4417 /* The mask used to set the ALT_L3_FN_MOD_RD register field value. */
4418 #define ALT_L3_FN_MOD_RD_SET_MSK    0x00000001
4419 /* The mask used to clear the ALT_L3_FN_MOD_RD register field value. */
4420 #define ALT_L3_FN_MOD_RD_CLR_MSK    0xfffffffe
4421 /* The reset value of the ALT_L3_FN_MOD_RD register field. */
4422 #define ALT_L3_FN_MOD_RD_RESET      0x0
4423 /* Extracts the ALT_L3_FN_MOD_RD field value from a register. */
4424 #define ALT_L3_FN_MOD_RD_GET(value) (((value) & 0x00000001) >> 0)
4425 /* Produces a ALT_L3_FN_MOD_RD register field value suitable for setting the register. */
4426 #define ALT_L3_FN_MOD_RD_SET(value) (((value) << 0) & 0x00000001)
4427 
4428 /*
4429  * Field : wr
4430  * 
4431  * Field Enumeration Values:
4432  * 
4433  *  Enum                      | Value | Description                                
4434  * :--------------------------|:------|:--------------------------------------------
4435  *  ALT_L3_FN_MOD_WR_E_MULT   | 0x0   | Multiple outstanding write transactions    
4436  *  ALT_L3_FN_MOD_WR_E_SINGLE | 0x1   | Only a single outstanding write transaction
4437  * 
4438  * Field Access Macros:
4439  * 
4440  */
4441 /*
4442  * Enumerated value for register field ALT_L3_FN_MOD_WR
4443  * 
4444  * Multiple outstanding write transactions
4445  */
4446 #define ALT_L3_FN_MOD_WR_E_MULT     0x0
4447 /*
4448  * Enumerated value for register field ALT_L3_FN_MOD_WR
4449  * 
4450  * Only a single outstanding write transaction
4451  */
4452 #define ALT_L3_FN_MOD_WR_E_SINGLE   0x1
4453 
4454 /* The Least Significant Bit (LSB) position of the ALT_L3_FN_MOD_WR register field. */
4455 #define ALT_L3_FN_MOD_WR_LSB        1
4456 /* The Most Significant Bit (MSB) position of the ALT_L3_FN_MOD_WR register field. */
4457 #define ALT_L3_FN_MOD_WR_MSB        1
4458 /* The width in bits of the ALT_L3_FN_MOD_WR register field. */
4459 #define ALT_L3_FN_MOD_WR_WIDTH      1
4460 /* The mask used to set the ALT_L3_FN_MOD_WR register field value. */
4461 #define ALT_L3_FN_MOD_WR_SET_MSK    0x00000002
4462 /* The mask used to clear the ALT_L3_FN_MOD_WR register field value. */
4463 #define ALT_L3_FN_MOD_WR_CLR_MSK    0xfffffffd
4464 /* The reset value of the ALT_L3_FN_MOD_WR register field. */
4465 #define ALT_L3_FN_MOD_WR_RESET      0x0
4466 /* Extracts the ALT_L3_FN_MOD_WR field value from a register. */
4467 #define ALT_L3_FN_MOD_WR_GET(value) (((value) & 0x00000002) >> 1)
4468 /* Produces a ALT_L3_FN_MOD_WR register field value suitable for setting the register. */
4469 #define ALT_L3_FN_MOD_WR_SET(value) (((value) << 1) & 0x00000002)
4470 
4471 #ifndef __ASSEMBLY__
4472 /*
4473  * WARNING: The C register and register group struct declarations are provided for
4474  * convenience and illustrative purposes. They should, however, be used with
4475  * caution as the C language standard provides no guarantees about the alignment or
4476  * atomicity of device memory accesses. The recommended practice for writing
4477  * hardware drivers is to use the SoCAL access macros and alt_read_word() and
4478  * alt_write_word() functions.
4479  * 
4480  * The struct declaration for register ALT_L3_FN_MOD.
4481  */
4482 struct ALT_L3_FN_MOD_s
4483 {
4484     uint32_t  rd :  1;  /* ALT_L3_FN_MOD_RD */
4485     uint32_t  wr :  1;  /* ALT_L3_FN_MOD_WR */
4486     uint32_t     : 30;  /* *UNDEFINED* */
4487 };
4488 
4489 /* The typedef declaration for register ALT_L3_FN_MOD. */
4490 typedef volatile struct ALT_L3_FN_MOD_s  ALT_L3_FN_MOD_t;
4491 #endif  /* __ASSEMBLY__ */
4492 
4493 /* The byte offset of the ALT_L3_FN_MOD register from the beginning of the component. */
4494 #define ALT_L3_FN_MOD_OFST        0x108
4495 /* The address of the ALT_L3_FN_MOD register. */
4496 #define ALT_L3_FN_MOD_ADDR(base)  ALT_CAST(void *, (ALT_CAST(char *, (base)) + ALT_L3_FN_MOD_OFST))
4497 
4498 #ifndef __ASSEMBLY__
4499 /*
4500  * WARNING: The C register and register group struct declarations are provided for
4501  * convenience and illustrative purposes. They should, however, be used with
4502  * caution as the C language standard provides no guarantees about the alignment or
4503  * atomicity of device memory accesses. The recommended practice for writing
4504  * hardware drivers is to use the SoCAL access macros and alt_read_word() and
4505  * alt_write_word() functions.
4506  * 
4507  * The struct declaration for register group ALT_L3_MST_STM.
4508  */
4509 struct ALT_L3_MST_STM_s
4510 {
4511     volatile uint32_t                _pad_0x0_0x7[2];     /* *UNDEFINED* */
4512     volatile ALT_L3_FN_MOD_BM_ISS_t  fn_mod_bm_iss;       /* ALT_L3_FN_MOD_BM_ISS */
4513     volatile uint32_t                _pad_0xc_0x107[63];  /* *UNDEFINED* */
4514     volatile ALT_L3_FN_MOD_t         fn_mod;              /* ALT_L3_FN_MOD */
4515 };
4516 
4517 /* The typedef declaration for register group ALT_L3_MST_STM. */
4518 typedef volatile struct ALT_L3_MST_STM_s  ALT_L3_MST_STM_t;
4519 /* The struct declaration for the raw register contents of register group ALT_L3_MST_STM. */
4520 struct ALT_L3_MST_STM_raw_s
4521 {
4522     volatile uint32_t  _pad_0x0_0x7[2];     /* *UNDEFINED* */
4523     volatile uint32_t  fn_mod_bm_iss;       /* ALT_L3_FN_MOD_BM_ISS */
4524     volatile uint32_t  _pad_0xc_0x107[63];  /* *UNDEFINED* */
4525     volatile uint32_t  fn_mod;              /* ALT_L3_FN_MOD */
4526 };
4527 
4528 /* The typedef declaration for the raw register contents of register group ALT_L3_MST_STM. */
4529 typedef volatile struct ALT_L3_MST_STM_raw_s  ALT_L3_MST_STM_raw_t;
4530 #endif  /* __ASSEMBLY__ */
4531 
4532 
4533 /*
4534  * Register Group : LWHPS2FPGA - ALT_L3_MST_LWH2F
4535  * LWHPS2FPGA
4536  * 
4537  * Registers associated with the LWHPS2FPGA AXI Bridge master. This master is used
4538  * to access the LWHPS2FPGA AXI Bridge slave. This slave is used to access the
4539  * registers for all 3 AXI bridges and to access slaves in the FPGA connected to
4540  * the LWHPS2FPGA AXI Bridge.
4541  * 
4542  */
4543 #ifndef __ASSEMBLY__
4544 /*
4545  * WARNING: The C register and register group struct declarations are provided for
4546  * convenience and illustrative purposes. They should, however, be used with
4547  * caution as the C language standard provides no guarantees about the alignment or
4548  * atomicity of device memory accesses. The recommended practice for writing
4549  * hardware drivers is to use the SoCAL access macros and alt_read_word() and
4550  * alt_write_word() functions.
4551  * 
4552  * The struct declaration for register group ALT_L3_MST_LWH2F.
4553  */
4554 struct ALT_L3_MST_LWH2F_s
4555 {
4556     volatile uint32_t                _pad_0x0_0x7[2];     /* *UNDEFINED* */
4557     volatile ALT_L3_FN_MOD_BM_ISS_t  fn_mod_bm_iss;       /* ALT_L3_FN_MOD_BM_ISS */
4558     volatile uint32_t                _pad_0xc_0x107[63];  /* *UNDEFINED* */
4559     volatile ALT_L3_FN_MOD_t         fn_mod;              /* ALT_L3_FN_MOD */
4560 };
4561 
4562 /* The typedef declaration for register group ALT_L3_MST_LWH2F. */
4563 typedef volatile struct ALT_L3_MST_LWH2F_s  ALT_L3_MST_LWH2F_t;
4564 /* The struct declaration for the raw register contents of register group ALT_L3_MST_LWH2F. */
4565 struct ALT_L3_MST_LWH2F_raw_s
4566 {
4567     volatile uint32_t  _pad_0x0_0x7[2];     /* *UNDEFINED* */
4568     volatile uint32_t  fn_mod_bm_iss;       /* ALT_L3_FN_MOD_BM_ISS */
4569     volatile uint32_t  _pad_0xc_0x107[63];  /* *UNDEFINED* */
4570     volatile uint32_t  fn_mod;              /* ALT_L3_FN_MOD */
4571 };
4572 
4573 /* The typedef declaration for the raw register contents of register group ALT_L3_MST_LWH2F. */
4574 typedef volatile struct ALT_L3_MST_LWH2F_raw_s  ALT_L3_MST_LWH2F_raw_t;
4575 #endif  /* __ASSEMBLY__ */
4576 
4577 
4578 /*
4579  * Register Group : USB1 - ALT_L3_MST_USB1
4580  * USB1
4581  * 
4582  * Registers associated with the USB1 master. This master is used to access the
4583  * registers in USB1.
4584  * 
4585  */
4586 /*
4587  * Register : AHB Control Register - ahb_cntl
4588  * 
4589  * Sets the block issuing capability to one outstanding transaction.
4590  * 
4591  * Register Layout
4592  * 
4593  *  Bits   | Access | Reset | Description               
4594  * :-------|:-------|:------|:---------------------------
4595  *  [0]    | RW     | 0x0   | ALT_L3_AHB_CNTL_DECERR_EN 
4596  *  [1]    | RW     | 0x0   | ALT_L3_AHB_CNTL_FORCE_INCR
4597  *  [31:2] | ???    | 0x0   | *UNDEFINED*               
4598  * 
4599  */
4600 /*
4601  * Field : decerr_en
4602  * 
4603  * Field Enumeration Values:
4604  * 
4605  *  Enum                            | Value | Description                                     
4606  * :--------------------------------|:------|:-------------------------------------------------
4607  *  ALT_L3_AHB_CNTL_DECERR_EN_E_DIS | 0x0   | No DECERR response.                             
4608  *  ALT_L3_AHB_CNTL_DECERR_EN_E_EN  | 0x1   | If the AHB protocol conversion function receives
4609  * :                                |       | an unaligned address or a write data beat       
4610  * :                                |       | without all the byte strobes set, creates a     
4611  * :                                |       | DECERR response.                                
4612  * 
4613  * Field Access Macros:
4614  * 
4615  */
4616 /*
4617  * Enumerated value for register field ALT_L3_AHB_CNTL_DECERR_EN
4618  * 
4619  * No DECERR response.
4620  */
4621 #define ALT_L3_AHB_CNTL_DECERR_EN_E_DIS 0x0
4622 /*
4623  * Enumerated value for register field ALT_L3_AHB_CNTL_DECERR_EN
4624  * 
4625  * If the AHB protocol conversion function receives an unaligned address or a write
4626  * data beat without all the byte strobes set, creates a DECERR response.
4627  */
4628 #define ALT_L3_AHB_CNTL_DECERR_EN_E_EN  0x1
4629 
4630 /* The Least Significant Bit (LSB) position of the ALT_L3_AHB_CNTL_DECERR_EN register field. */
4631 #define ALT_L3_AHB_CNTL_DECERR_EN_LSB        0
4632 /* The Most Significant Bit (MSB) position of the ALT_L3_AHB_CNTL_DECERR_EN register field. */
4633 #define ALT_L3_AHB_CNTL_DECERR_EN_MSB        0
4634 /* The width in bits of the ALT_L3_AHB_CNTL_DECERR_EN register field. */
4635 #define ALT_L3_AHB_CNTL_DECERR_EN_WIDTH      1
4636 /* The mask used to set the ALT_L3_AHB_CNTL_DECERR_EN register field value. */
4637 #define ALT_L3_AHB_CNTL_DECERR_EN_SET_MSK    0x00000001
4638 /* The mask used to clear the ALT_L3_AHB_CNTL_DECERR_EN register field value. */
4639 #define ALT_L3_AHB_CNTL_DECERR_EN_CLR_MSK    0xfffffffe
4640 /* The reset value of the ALT_L3_AHB_CNTL_DECERR_EN register field. */
4641 #define ALT_L3_AHB_CNTL_DECERR_EN_RESET      0x0
4642 /* Extracts the ALT_L3_AHB_CNTL_DECERR_EN field value from a register. */
4643 #define ALT_L3_AHB_CNTL_DECERR_EN_GET(value) (((value) & 0x00000001) >> 0)
4644 /* Produces a ALT_L3_AHB_CNTL_DECERR_EN register field value suitable for setting the register. */
4645 #define ALT_L3_AHB_CNTL_DECERR_EN_SET(value) (((value) << 0) & 0x00000001)
4646 
4647 /*
4648  * Field : force_incr
4649  * 
4650  * Field Enumeration Values:
4651  * 
4652  *  Enum                             | Value | Description                                     
4653  * :---------------------------------|:------|:-------------------------------------------------
4654  *  ALT_L3_AHB_CNTL_FORCE_INCR_E_DIS | 0x0   | Multiple outstanding write transactions         
4655  *  ALT_L3_AHB_CNTL_FORCE_INCR_E_EN  | 0x1   | If a beat is received that has no write data    
4656  * :                                 |       | strobes set, that write data beat is replaced   
4657  * :                                 |       | with an IDLE beat. Also, causes all transactions
4658  * :                                 |       | that are to be output to the AHB domain to be an
4659  * :                                 |       | undefined length INCR.                          
4660  * 
4661  * Field Access Macros:
4662  * 
4663  */
4664 /*
4665  * Enumerated value for register field ALT_L3_AHB_CNTL_FORCE_INCR
4666  * 
4667  * Multiple outstanding write transactions
4668  */
4669 #define ALT_L3_AHB_CNTL_FORCE_INCR_E_DIS    0x0
4670 /*
4671  * Enumerated value for register field ALT_L3_AHB_CNTL_FORCE_INCR
4672  * 
4673  * If a beat is received that has no write data strobes set, that write data beat
4674  * is replaced with an IDLE beat. Also, causes all transactions that are to be
4675  * output to the AHB domain to be an undefined length INCR.
4676  */
4677 #define ALT_L3_AHB_CNTL_FORCE_INCR_E_EN     0x1
4678 
4679 /* The Least Significant Bit (LSB) position of the ALT_L3_AHB_CNTL_FORCE_INCR register field. */
4680 #define ALT_L3_AHB_CNTL_FORCE_INCR_LSB        1
4681 /* The Most Significant Bit (MSB) position of the ALT_L3_AHB_CNTL_FORCE_INCR register field. */
4682 #define ALT_L3_AHB_CNTL_FORCE_INCR_MSB        1
4683 /* The width in bits of the ALT_L3_AHB_CNTL_FORCE_INCR register field. */
4684 #define ALT_L3_AHB_CNTL_FORCE_INCR_WIDTH      1
4685 /* The mask used to set the ALT_L3_AHB_CNTL_FORCE_INCR register field value. */
4686 #define ALT_L3_AHB_CNTL_FORCE_INCR_SET_MSK    0x00000002
4687 /* The mask used to clear the ALT_L3_AHB_CNTL_FORCE_INCR register field value. */
4688 #define ALT_L3_AHB_CNTL_FORCE_INCR_CLR_MSK    0xfffffffd
4689 /* The reset value of the ALT_L3_AHB_CNTL_FORCE_INCR register field. */
4690 #define ALT_L3_AHB_CNTL_FORCE_INCR_RESET      0x0
4691 /* Extracts the ALT_L3_AHB_CNTL_FORCE_INCR field value from a register. */
4692 #define ALT_L3_AHB_CNTL_FORCE_INCR_GET(value) (((value) & 0x00000002) >> 1)
4693 /* Produces a ALT_L3_AHB_CNTL_FORCE_INCR register field value suitable for setting the register. */
4694 #define ALT_L3_AHB_CNTL_FORCE_INCR_SET(value) (((value) << 1) & 0x00000002)
4695 
4696 #ifndef __ASSEMBLY__
4697 /*
4698  * WARNING: The C register and register group struct declarations are provided for
4699  * convenience and illustrative purposes. They should, however, be used with
4700  * caution as the C language standard provides no guarantees about the alignment or
4701  * atomicity of device memory accesses. The recommended practice for writing
4702  * hardware drivers is to use the SoCAL access macros and alt_read_word() and
4703  * alt_write_word() functions.
4704  * 
4705  * The struct declaration for register ALT_L3_AHB_CNTL.
4706  */
4707 struct ALT_L3_AHB_CNTL_s
4708 {
4709     uint32_t  decerr_en  :  1;  /* ALT_L3_AHB_CNTL_DECERR_EN */
4710     uint32_t  force_incr :  1;  /* ALT_L3_AHB_CNTL_FORCE_INCR */
4711     uint32_t             : 30;  /* *UNDEFINED* */
4712 };
4713 
4714 /* The typedef declaration for register ALT_L3_AHB_CNTL. */
4715 typedef volatile struct ALT_L3_AHB_CNTL_s  ALT_L3_AHB_CNTL_t;
4716 #endif  /* __ASSEMBLY__ */
4717 
4718 /* The byte offset of the ALT_L3_AHB_CNTL register from the beginning of the component. */
4719 #define ALT_L3_AHB_CNTL_OFST        0x44
4720 /* The address of the ALT_L3_AHB_CNTL register. */
4721 #define ALT_L3_AHB_CNTL_ADDR(base)  ALT_CAST(void *, (ALT_CAST(char *, (base)) + ALT_L3_AHB_CNTL_OFST))
4722 
4723 #ifndef __ASSEMBLY__
4724 /*
4725  * WARNING: The C register and register group struct declarations are provided for
4726  * convenience and illustrative purposes. They should, however, be used with
4727  * caution as the C language standard provides no guarantees about the alignment or
4728  * atomicity of device memory accesses. The recommended practice for writing
4729  * hardware drivers is to use the SoCAL access macros and alt_read_word() and
4730  * alt_write_word() functions.
4731  * 
4732  * The struct declaration for register group ALT_L3_MST_USB1.
4733  */
4734 struct ALT_L3_MST_USB1_s
4735 {
4736     volatile uint32_t                _pad_0x0_0x7[2];    /* *UNDEFINED* */
4737     volatile ALT_L3_FN_MOD_BM_ISS_t  fn_mod_bm_iss;      /* ALT_L3_FN_MOD_BM_ISS */
4738     volatile uint32_t                _pad_0xc_0x43[14];  /* *UNDEFINED* */
4739     volatile ALT_L3_AHB_CNTL_t       ahb_cntl;           /* ALT_L3_AHB_CNTL */
4740 };
4741 
4742 /* The typedef declaration for register group ALT_L3_MST_USB1. */
4743 typedef volatile struct ALT_L3_MST_USB1_s  ALT_L3_MST_USB1_t;
4744 /* The struct declaration for the raw register contents of register group ALT_L3_MST_USB1. */
4745 struct ALT_L3_MST_USB1_raw_s
4746 {
4747     volatile uint32_t  _pad_0x0_0x7[2];    /* *UNDEFINED* */
4748     volatile uint32_t  fn_mod_bm_iss;      /* ALT_L3_FN_MOD_BM_ISS */
4749     volatile uint32_t  _pad_0xc_0x43[14];  /* *UNDEFINED* */
4750     volatile uint32_t  ahb_cntl;           /* ALT_L3_AHB_CNTL */
4751 };
4752 
4753 /* The typedef declaration for the raw register contents of register group ALT_L3_MST_USB1. */
4754 typedef volatile struct ALT_L3_MST_USB1_raw_s  ALT_L3_MST_USB1_raw_t;
4755 #endif  /* __ASSEMBLY__ */
4756 
4757 
4758 /*
4759  * Register Group : NANDDATA - ALT_L3_MST_NANDDATA
4760  * NANDDATA
4761  * 
4762  * Registers associated with the NANDDATA master. This master is used to access
4763  * data in the NAND flash controller.
4764  * 
4765  */
4766 #ifndef __ASSEMBLY__
4767 /*
4768  * WARNING: The C register and register group struct declarations are provided for
4769  * convenience and illustrative purposes. They should, however, be used with
4770  * caution as the C language standard provides no guarantees about the alignment or
4771  * atomicity of device memory accesses. The recommended practice for writing
4772  * hardware drivers is to use the SoCAL access macros and alt_read_word() and
4773  * alt_write_word() functions.
4774  * 
4775  * The struct declaration for register group ALT_L3_MST_NANDDATA.
4776  */
4777 struct ALT_L3_MST_NANDDATA_s
4778 {
4779     volatile uint32_t                _pad_0x0_0x7[2];     /* *UNDEFINED* */
4780     volatile ALT_L3_FN_MOD_BM_ISS_t  fn_mod_bm_iss;       /* ALT_L3_FN_MOD_BM_ISS */
4781     volatile uint32_t                _pad_0xc_0x107[63];  /* *UNDEFINED* */
4782     volatile ALT_L3_FN_MOD_t         fn_mod;              /* ALT_L3_FN_MOD */
4783 };
4784 
4785 /* The typedef declaration for register group ALT_L3_MST_NANDDATA. */
4786 typedef volatile struct ALT_L3_MST_NANDDATA_s  ALT_L3_MST_NANDDATA_t;
4787 /* The struct declaration for the raw register contents of register group ALT_L3_MST_NANDDATA. */
4788 struct ALT_L3_MST_NANDDATA_raw_s
4789 {
4790     volatile uint32_t  _pad_0x0_0x7[2];     /* *UNDEFINED* */
4791     volatile uint32_t  fn_mod_bm_iss;       /* ALT_L3_FN_MOD_BM_ISS */
4792     volatile uint32_t  _pad_0xc_0x107[63];  /* *UNDEFINED* */
4793     volatile uint32_t  fn_mod;              /* ALT_L3_FN_MOD */
4794 };
4795 
4796 /* The typedef declaration for the raw register contents of register group ALT_L3_MST_NANDDATA. */
4797 typedef volatile struct ALT_L3_MST_NANDDATA_raw_s  ALT_L3_MST_NANDDATA_raw_t;
4798 #endif  /* __ASSEMBLY__ */
4799 
4800 
4801 /*
4802  * Register Group : USB0 - ALT_L3_MST_USB0
4803  * USB0
4804  * 
4805  * Registers associated with the USB0 master. This master is used to access the
4806  * registers in USB0.
4807  * 
4808  */
4809 #ifndef __ASSEMBLY__
4810 /*
4811  * WARNING: The C register and register group struct declarations are provided for
4812  * convenience and illustrative purposes. They should, however, be used with
4813  * caution as the C language standard provides no guarantees about the alignment or
4814  * atomicity of device memory accesses. The recommended practice for writing
4815  * hardware drivers is to use the SoCAL access macros and alt_read_word() and
4816  * alt_write_word() functions.
4817  * 
4818  * The struct declaration for register group ALT_L3_MST_USB0.
4819  */
4820 struct ALT_L3_MST_USB0_s
4821 {
4822     volatile uint32_t                _pad_0x0_0x7[2];    /* *UNDEFINED* */
4823     volatile ALT_L3_FN_MOD_BM_ISS_t  fn_mod_bm_iss;      /* ALT_L3_FN_MOD_BM_ISS */
4824     volatile uint32_t                _pad_0xc_0x43[14];  /* *UNDEFINED* */
4825     volatile ALT_L3_AHB_CNTL_t       ahb_cntl;           /* ALT_L3_AHB_CNTL */
4826 };
4827 
4828 /* The typedef declaration for register group ALT_L3_MST_USB0. */
4829 typedef volatile struct ALT_L3_MST_USB0_s  ALT_L3_MST_USB0_t;
4830 /* The struct declaration for the raw register contents of register group ALT_L3_MST_USB0. */
4831 struct ALT_L3_MST_USB0_raw_s
4832 {
4833     volatile uint32_t  _pad_0x0_0x7[2];    /* *UNDEFINED* */
4834     volatile uint32_t  fn_mod_bm_iss;      /* ALT_L3_FN_MOD_BM_ISS */
4835     volatile uint32_t  _pad_0xc_0x43[14];  /* *UNDEFINED* */
4836     volatile uint32_t  ahb_cntl;           /* ALT_L3_AHB_CNTL */
4837 };
4838 
4839 /* The typedef declaration for the raw register contents of register group ALT_L3_MST_USB0. */
4840 typedef volatile struct ALT_L3_MST_USB0_raw_s  ALT_L3_MST_USB0_raw_t;
4841 #endif  /* __ASSEMBLY__ */
4842 
4843 
4844 /*
4845  * Register Group : NANDREGS - ALT_L3_MST_NAND
4846  * NANDREGS
4847  * 
4848  * Registers associated with the NANDREGS master. This master is used to access the
4849  * registers in the NAND flash controller.
4850  * 
4851  */
4852 #ifndef __ASSEMBLY__
4853 /*
4854  * WARNING: The C register and register group struct declarations are provided for
4855  * convenience and illustrative purposes. They should, however, be used with
4856  * caution as the C language standard provides no guarantees about the alignment or
4857  * atomicity of device memory accesses. The recommended practice for writing
4858  * hardware drivers is to use the SoCAL access macros and alt_read_word() and
4859  * alt_write_word() functions.
4860  * 
4861  * The struct declaration for register group ALT_L3_MST_NAND.
4862  */
4863 struct ALT_L3_MST_NAND_s
4864 {
4865     volatile uint32_t                _pad_0x0_0x7[2];     /* *UNDEFINED* */
4866     volatile ALT_L3_FN_MOD_BM_ISS_t  fn_mod_bm_iss;       /* ALT_L3_FN_MOD_BM_ISS */
4867     volatile uint32_t                _pad_0xc_0x107[63];  /* *UNDEFINED* */
4868     volatile ALT_L3_FN_MOD_t         fn_mod;              /* ALT_L3_FN_MOD */
4869 };
4870 
4871 /* The typedef declaration for register group ALT_L3_MST_NAND. */
4872 typedef volatile struct ALT_L3_MST_NAND_s  ALT_L3_MST_NAND_t;
4873 /* The struct declaration for the raw register contents of register group ALT_L3_MST_NAND. */
4874 struct ALT_L3_MST_NAND_raw_s
4875 {
4876     volatile uint32_t  _pad_0x0_0x7[2];     /* *UNDEFINED* */
4877     volatile uint32_t  fn_mod_bm_iss;       /* ALT_L3_FN_MOD_BM_ISS */
4878     volatile uint32_t  _pad_0xc_0x107[63];  /* *UNDEFINED* */
4879     volatile uint32_t  fn_mod;              /* ALT_L3_FN_MOD */
4880 };
4881 
4882 /* The typedef declaration for the raw register contents of register group ALT_L3_MST_NAND. */
4883 typedef volatile struct ALT_L3_MST_NAND_raw_s  ALT_L3_MST_NAND_raw_t;
4884 #endif  /* __ASSEMBLY__ */
4885 
4886 
4887 /*
4888  * Register Group : QSPIDATA - ALT_L3_MST_QSPIDATA
4889  * QSPIDATA
4890  * 
4891  * Registers associated with the QSPIDATA master. This master is used to access
4892  * data in the QSPI flash controller.
4893  * 
4894  */
4895 #ifndef __ASSEMBLY__
4896 /*
4897  * WARNING: The C register and register group struct declarations are provided for
4898  * convenience and illustrative purposes. They should, however, be used with
4899  * caution as the C language standard provides no guarantees about the alignment or
4900  * atomicity of device memory accesses. The recommended practice for writing
4901  * hardware drivers is to use the SoCAL access macros and alt_read_word() and
4902  * alt_write_word() functions.
4903  * 
4904  * The struct declaration for register group ALT_L3_MST_QSPIDATA.
4905  */
4906 struct ALT_L3_MST_QSPIDATA_s
4907 {
4908     volatile uint32_t                _pad_0x0_0x7[2];    /* *UNDEFINED* */
4909     volatile ALT_L3_FN_MOD_BM_ISS_t  fn_mod_bm_iss;      /* ALT_L3_FN_MOD_BM_ISS */
4910     volatile uint32_t                _pad_0xc_0x43[14];  /* *UNDEFINED* */
4911     volatile ALT_L3_AHB_CNTL_t       ahb_cntl;           /* ALT_L3_AHB_CNTL */
4912 };
4913 
4914 /* The typedef declaration for register group ALT_L3_MST_QSPIDATA. */
4915 typedef volatile struct ALT_L3_MST_QSPIDATA_s  ALT_L3_MST_QSPIDATA_t;
4916 /* The struct declaration for the raw register contents of register group ALT_L3_MST_QSPIDATA. */
4917 struct ALT_L3_MST_QSPIDATA_raw_s
4918 {
4919     volatile uint32_t  _pad_0x0_0x7[2];    /* *UNDEFINED* */
4920     volatile uint32_t  fn_mod_bm_iss;      /* ALT_L3_FN_MOD_BM_ISS */
4921     volatile uint32_t  _pad_0xc_0x43[14];  /* *UNDEFINED* */
4922     volatile uint32_t  ahb_cntl;           /* ALT_L3_AHB_CNTL */
4923 };
4924 
4925 /* The typedef declaration for the raw register contents of register group ALT_L3_MST_QSPIDATA. */
4926 typedef volatile struct ALT_L3_MST_QSPIDATA_raw_s  ALT_L3_MST_QSPIDATA_raw_t;
4927 #endif  /* __ASSEMBLY__ */
4928 
4929 
4930 /*
4931  * Register Group : FPGAMGRDATA - ALT_L3_MST_FPGAMGRDATA
4932  * FPGAMGRDATA
4933  * 
4934  * Registers associated with the FPGAMGRDATA master. This master is used to send
4935  * FPGA configuration image data to the FPGA Manager.
4936  * 
4937  */
4938 /*
4939  * Register : Write Tidemark - wr_tidemark
4940  * 
4941  * Controls the release of the transaction in the write data FIFO.
4942  * 
4943  * Register Layout
4944  * 
4945  *  Bits   | Access | Reset | Description
4946  * :-------|:-------|:------|:------------
4947  *  [3:0]  | RW     | 0x4   | Level      
4948  *  [31:4] | ???    | 0x0   | *UNDEFINED*
4949  * 
4950  */
4951 /*
4952  * Field : Level - level
4953  * 
4954  * Stalls the transaction in the write data FIFO until the number of occupied slots
4955  * in the write data FIFO exceeds the level. Note that the transaction is released
4956  * before this level is achieved if the network receives the WLAST beat or the
4957  * write FIFO becomes full.
4958  * 
4959  * Field Access Macros:
4960  * 
4961  */
4962 /* The Least Significant Bit (LSB) position of the ALT_L3_WR_TIDEMARK_LEVEL register field. */
4963 #define ALT_L3_WR_TIDEMARK_LEVEL_LSB        0
4964 /* The Most Significant Bit (MSB) position of the ALT_L3_WR_TIDEMARK_LEVEL register field. */
4965 #define ALT_L3_WR_TIDEMARK_LEVEL_MSB        3
4966 /* The width in bits of the ALT_L3_WR_TIDEMARK_LEVEL register field. */
4967 #define ALT_L3_WR_TIDEMARK_LEVEL_WIDTH      4
4968 /* The mask used to set the ALT_L3_WR_TIDEMARK_LEVEL register field value. */
4969 #define ALT_L3_WR_TIDEMARK_LEVEL_SET_MSK    0x0000000f
4970 /* The mask used to clear the ALT_L3_WR_TIDEMARK_LEVEL register field value. */
4971 #define ALT_L3_WR_TIDEMARK_LEVEL_CLR_MSK    0xfffffff0
4972 /* The reset value of the ALT_L3_WR_TIDEMARK_LEVEL register field. */
4973 #define ALT_L3_WR_TIDEMARK_LEVEL_RESET      0x4
4974 /* Extracts the ALT_L3_WR_TIDEMARK_LEVEL field value from a register. */
4975 #define ALT_L3_WR_TIDEMARK_LEVEL_GET(value) (((value) & 0x0000000f) >> 0)
4976 /* Produces a ALT_L3_WR_TIDEMARK_LEVEL register field value suitable for setting the register. */
4977 #define ALT_L3_WR_TIDEMARK_LEVEL_SET(value) (((value) << 0) & 0x0000000f)
4978 
4979 #ifndef __ASSEMBLY__
4980 /*
4981  * WARNING: The C register and register group struct declarations are provided for
4982  * convenience and illustrative purposes. They should, however, be used with
4983  * caution as the C language standard provides no guarantees about the alignment or
4984  * atomicity of device memory accesses. The recommended practice for writing
4985  * hardware drivers is to use the SoCAL access macros and alt_read_word() and
4986  * alt_write_word() functions.
4987  * 
4988  * The struct declaration for register ALT_L3_WR_TIDEMARK.
4989  */
4990 struct ALT_L3_WR_TIDEMARK_s
4991 {
4992     uint32_t  level :  4;  /* Level */
4993     uint32_t        : 28;  /* *UNDEFINED* */
4994 };
4995 
4996 /* The typedef declaration for register ALT_L3_WR_TIDEMARK. */
4997 typedef volatile struct ALT_L3_WR_TIDEMARK_s  ALT_L3_WR_TIDEMARK_t;
4998 #endif  /* __ASSEMBLY__ */
4999 
5000 /* The byte offset of the ALT_L3_WR_TIDEMARK register from the beginning of the component. */
5001 #define ALT_L3_WR_TIDEMARK_OFST        0x40
5002 /* The address of the ALT_L3_WR_TIDEMARK register. */
5003 #define ALT_L3_WR_TIDEMARK_ADDR(base)  ALT_CAST(void *, (ALT_CAST(char *, (base)) + ALT_L3_WR_TIDEMARK_OFST))
5004 
5005 #ifndef __ASSEMBLY__
5006 /*
5007  * WARNING: The C register and register group struct declarations are provided for
5008  * convenience and illustrative purposes. They should, however, be used with
5009  * caution as the C language standard provides no guarantees about the alignment or
5010  * atomicity of device memory accesses. The recommended practice for writing
5011  * hardware drivers is to use the SoCAL access macros and alt_read_word() and
5012  * alt_write_word() functions.
5013  * 
5014  * The struct declaration for register group ALT_L3_MST_FPGAMGRDATA.
5015  */
5016 struct ALT_L3_MST_FPGAMGRDATA_s
5017 {
5018     volatile uint32_t                _pad_0x0_0x7[2];      /* *UNDEFINED* */
5019     volatile ALT_L3_FN_MOD_BM_ISS_t  fn_mod_bm_iss;        /* ALT_L3_FN_MOD_BM_ISS */
5020     volatile uint32_t                _pad_0xc_0x3f[13];    /* *UNDEFINED* */
5021     volatile ALT_L3_WR_TIDEMARK_t    wr_tidemark;          /* ALT_L3_WR_TIDEMARK */
5022     volatile uint32_t                _pad_0x44_0x107[49];  /* *UNDEFINED* */
5023     volatile ALT_L3_FN_MOD_t         fn_mod;               /* ALT_L3_FN_MOD */
5024 };
5025 
5026 /* The typedef declaration for register group ALT_L3_MST_FPGAMGRDATA. */
5027 typedef volatile struct ALT_L3_MST_FPGAMGRDATA_s  ALT_L3_MST_FPGAMGRDATA_t;
5028 /* The struct declaration for the raw register contents of register group ALT_L3_MST_FPGAMGRDATA. */
5029 struct ALT_L3_MST_FPGAMGRDATA_raw_s
5030 {
5031     volatile uint32_t  _pad_0x0_0x7[2];      /* *UNDEFINED* */
5032     volatile uint32_t  fn_mod_bm_iss;        /* ALT_L3_FN_MOD_BM_ISS */
5033     volatile uint32_t  _pad_0xc_0x3f[13];    /* *UNDEFINED* */
5034     volatile uint32_t  wr_tidemark;          /* ALT_L3_WR_TIDEMARK */
5035     volatile uint32_t  _pad_0x44_0x107[49];  /* *UNDEFINED* */
5036     volatile uint32_t  fn_mod;               /* ALT_L3_FN_MOD */
5037 };
5038 
5039 /* The typedef declaration for the raw register contents of register group ALT_L3_MST_FPGAMGRDATA. */
5040 typedef volatile struct ALT_L3_MST_FPGAMGRDATA_raw_s  ALT_L3_MST_FPGAMGRDATA_raw_t;
5041 #endif  /* __ASSEMBLY__ */
5042 
5043 
5044 /*
5045  * Register Group : HPS2FPGA - ALT_L3_MST_H2F
5046  * HPS2FPGA
5047  * 
5048  * Registers associated with the HPS2FPGA AXI Bridge master. This master is used to
5049  * access the HPS2FPGA AXI Bridge slave. This slave is used to access slaves in the
5050  * FPGA connected to the HPS2FPGA AXI Bridge.
5051  * 
5052  */
5053 #ifndef __ASSEMBLY__
5054 /*
5055  * WARNING: The C register and register group struct declarations are provided for
5056  * convenience and illustrative purposes. They should, however, be used with
5057  * caution as the C language standard provides no guarantees about the alignment or
5058  * atomicity of device memory accesses. The recommended practice for writing
5059  * hardware drivers is to use the SoCAL access macros and alt_read_word() and
5060  * alt_write_word() functions.
5061  * 
5062  * The struct declaration for register group ALT_L3_MST_H2F.
5063  */
5064 struct ALT_L3_MST_H2F_s
5065 {
5066     volatile uint32_t                _pad_0x0_0x7[2];      /* *UNDEFINED* */
5067     volatile ALT_L3_FN_MOD_BM_ISS_t  fn_mod_bm_iss;        /* ALT_L3_FN_MOD_BM_ISS */
5068     volatile uint32_t                _pad_0xc_0x3f[13];    /* *UNDEFINED* */
5069     volatile ALT_L3_WR_TIDEMARK_t    wr_tidemark;          /* ALT_L3_WR_TIDEMARK */
5070     volatile uint32_t                _pad_0x44_0x107[49];  /* *UNDEFINED* */
5071     volatile ALT_L3_FN_MOD_t         fn_mod;               /* ALT_L3_FN_MOD */
5072 };
5073 
5074 /* The typedef declaration for register group ALT_L3_MST_H2F. */
5075 typedef volatile struct ALT_L3_MST_H2F_s  ALT_L3_MST_H2F_t;
5076 /* The struct declaration for the raw register contents of register group ALT_L3_MST_H2F. */
5077 struct ALT_L3_MST_H2F_raw_s
5078 {
5079     volatile uint32_t  _pad_0x0_0x7[2];      /* *UNDEFINED* */
5080     volatile uint32_t  fn_mod_bm_iss;        /* ALT_L3_FN_MOD_BM_ISS */
5081     volatile uint32_t  _pad_0xc_0x3f[13];    /* *UNDEFINED* */
5082     volatile uint32_t  wr_tidemark;          /* ALT_L3_WR_TIDEMARK */
5083     volatile uint32_t  _pad_0x44_0x107[49];  /* *UNDEFINED* */
5084     volatile uint32_t  fn_mod;               /* ALT_L3_FN_MOD */
5085 };
5086 
5087 /* The typedef declaration for the raw register contents of register group ALT_L3_MST_H2F. */
5088 typedef volatile struct ALT_L3_MST_H2F_raw_s  ALT_L3_MST_H2F_raw_t;
5089 #endif  /* __ASSEMBLY__ */
5090 
5091 
5092 /*
5093  * Register Group : ACP - ALT_L3_MST_ACP
5094  * ACP
5095  * 
5096  * Registers associated with the ACP master. This master is used to access the MPU
5097  * ACP slave via the ACP ID Mapper.
5098  * 
5099  */
5100 #ifndef __ASSEMBLY__
5101 /*
5102  * WARNING: The C register and register group struct declarations are provided for
5103  * convenience and illustrative purposes. They should, however, be used with
5104  * caution as the C language standard provides no guarantees about the alignment or
5105  * atomicity of device memory accesses. The recommended practice for writing
5106  * hardware drivers is to use the SoCAL access macros and alt_read_word() and
5107  * alt_write_word() functions.
5108  * 
5109  * The struct declaration for register group ALT_L3_MST_ACP.
5110  */
5111 struct ALT_L3_MST_ACP_s
5112 {
5113     volatile uint32_t                _pad_0x0_0x7[2];     /* *UNDEFINED* */
5114     volatile ALT_L3_FN_MOD_BM_ISS_t  fn_mod_bm_iss;       /* ALT_L3_FN_MOD_BM_ISS */
5115     volatile uint32_t                _pad_0xc_0x107[63];  /* *UNDEFINED* */
5116     volatile ALT_L3_FN_MOD_t         fn_mod;              /* ALT_L3_FN_MOD */
5117 };
5118 
5119 /* The typedef declaration for register group ALT_L3_MST_ACP. */
5120 typedef volatile struct ALT_L3_MST_ACP_s  ALT_L3_MST_ACP_t;
5121 /* The struct declaration for the raw register contents of register group ALT_L3_MST_ACP. */
5122 struct ALT_L3_MST_ACP_raw_s
5123 {
5124     volatile uint32_t  _pad_0x0_0x7[2];     /* *UNDEFINED* */
5125     volatile uint32_t  fn_mod_bm_iss;       /* ALT_L3_FN_MOD_BM_ISS */
5126     volatile uint32_t  _pad_0xc_0x107[63];  /* *UNDEFINED* */
5127     volatile uint32_t  fn_mod;              /* ALT_L3_FN_MOD */
5128 };
5129 
5130 /* The typedef declaration for the raw register contents of register group ALT_L3_MST_ACP. */
5131 typedef volatile struct ALT_L3_MST_ACP_raw_s  ALT_L3_MST_ACP_raw_t;
5132 #endif  /* __ASSEMBLY__ */
5133 
5134 
5135 /*
5136  * Register Group : Boot ROM - ALT_L3_MST_ROM
5137  * Boot ROM
5138  * 
5139  * Registers associated with the Boot ROM master. This master is used to access the
5140  * contents of the Boot ROM.
5141  * 
5142  */
5143 #ifndef __ASSEMBLY__
5144 /*
5145  * WARNING: The C register and register group struct declarations are provided for
5146  * convenience and illustrative purposes. They should, however, be used with
5147  * caution as the C language standard provides no guarantees about the alignment or
5148  * atomicity of device memory accesses. The recommended practice for writing
5149  * hardware drivers is to use the SoCAL access macros and alt_read_word() and
5150  * alt_write_word() functions.
5151  * 
5152  * The struct declaration for register group ALT_L3_MST_ROM.
5153  */
5154 struct ALT_L3_MST_ROM_s
5155 {
5156     volatile uint32_t                _pad_0x0_0x7[2];     /* *UNDEFINED* */
5157     volatile ALT_L3_FN_MOD_BM_ISS_t  fn_mod_bm_iss;       /* ALT_L3_FN_MOD_BM_ISS */
5158     volatile uint32_t                _pad_0xc_0x107[63];  /* *UNDEFINED* */
5159     volatile ALT_L3_FN_MOD_t         fn_mod;              /* ALT_L3_FN_MOD */
5160 };
5161 
5162 /* The typedef declaration for register group ALT_L3_MST_ROM. */
5163 typedef volatile struct ALT_L3_MST_ROM_s  ALT_L3_MST_ROM_t;
5164 /* The struct declaration for the raw register contents of register group ALT_L3_MST_ROM. */
5165 struct ALT_L3_MST_ROM_raw_s
5166 {
5167     volatile uint32_t  _pad_0x0_0x7[2];     /* *UNDEFINED* */
5168     volatile uint32_t  fn_mod_bm_iss;       /* ALT_L3_FN_MOD_BM_ISS */
5169     volatile uint32_t  _pad_0xc_0x107[63];  /* *UNDEFINED* */
5170     volatile uint32_t  fn_mod;              /* ALT_L3_FN_MOD */
5171 };
5172 
5173 /* The typedef declaration for the raw register contents of register group ALT_L3_MST_ROM. */
5174 typedef volatile struct ALT_L3_MST_ROM_raw_s  ALT_L3_MST_ROM_raw_t;
5175 #endif  /* __ASSEMBLY__ */
5176 
5177 
5178 /*
5179  * Register Group : On-chip RAM - ALT_L3_MST_OCRAM
5180  * On-chip RAM
5181  * 
5182  * Registers associated with the On-chip RAM master. This master is used to access
5183  * the contents of the On-chip RAM.
5184  * 
5185  */
5186 #ifndef __ASSEMBLY__
5187 /*
5188  * WARNING: The C register and register group struct declarations are provided for
5189  * convenience and illustrative purposes. They should, however, be used with
5190  * caution as the C language standard provides no guarantees about the alignment or
5191  * atomicity of device memory accesses. The recommended practice for writing
5192  * hardware drivers is to use the SoCAL access macros and alt_read_word() and
5193  * alt_write_word() functions.
5194  * 
5195  * The struct declaration for register group ALT_L3_MST_OCRAM.
5196  */
5197 struct ALT_L3_MST_OCRAM_s
5198 {
5199     volatile uint32_t                _pad_0x0_0x7[2];      /* *UNDEFINED* */
5200     volatile ALT_L3_FN_MOD_BM_ISS_t  fn_mod_bm_iss;        /* ALT_L3_FN_MOD_BM_ISS */
5201     volatile uint32_t                _pad_0xc_0x3f[13];    /* *UNDEFINED* */
5202     volatile ALT_L3_WR_TIDEMARK_t    wr_tidemark;          /* ALT_L3_WR_TIDEMARK */
5203     volatile uint32_t                _pad_0x44_0x107[49];  /* *UNDEFINED* */
5204     volatile ALT_L3_FN_MOD_t         fn_mod;               /* ALT_L3_FN_MOD */
5205 };
5206 
5207 /* The typedef declaration for register group ALT_L3_MST_OCRAM. */
5208 typedef volatile struct ALT_L3_MST_OCRAM_s  ALT_L3_MST_OCRAM_t;
5209 /* The struct declaration for the raw register contents of register group ALT_L3_MST_OCRAM. */
5210 struct ALT_L3_MST_OCRAM_raw_s
5211 {
5212     volatile uint32_t  _pad_0x0_0x7[2];      /* *UNDEFINED* */
5213     volatile uint32_t  fn_mod_bm_iss;        /* ALT_L3_FN_MOD_BM_ISS */
5214     volatile uint32_t  _pad_0xc_0x3f[13];    /* *UNDEFINED* */
5215     volatile uint32_t  wr_tidemark;          /* ALT_L3_WR_TIDEMARK */
5216     volatile uint32_t  _pad_0x44_0x107[49];  /* *UNDEFINED* */
5217     volatile uint32_t  fn_mod;               /* ALT_L3_FN_MOD */
5218 };
5219 
5220 /* The typedef declaration for the raw register contents of register group ALT_L3_MST_OCRAM. */
5221 typedef volatile struct ALT_L3_MST_OCRAM_raw_s  ALT_L3_MST_OCRAM_raw_t;
5222 #endif  /* __ASSEMBLY__ */
5223 
5224 
5225 #ifndef __ASSEMBLY__
5226 /*
5227  * WARNING: The C register and register group struct declarations are provided for
5228  * convenience and illustrative purposes. They should, however, be used with
5229  * caution as the C language standard provides no guarantees about the alignment or
5230  * atomicity of device memory accesses. The recommended practice for writing
5231  * hardware drivers is to use the SoCAL access macros and alt_read_word() and
5232  * alt_write_word() functions.
5233  * 
5234  * The struct declaration for register group ALT_L3_MSTGRP.
5235  */
5236 struct ALT_L3_MSTGRP_s
5237 {
5238     volatile ALT_L3_MST_L4MAIN_t       mastergrp_l4main;            /* ALT_L3_MST_L4MAIN */
5239     volatile uint32_t                  _pad_0xc_0xfff[1021];        /* *UNDEFINED* */
5240     volatile ALT_L3_MST_L4SP_t         mastergrp_l4sp;              /* ALT_L3_MST_L4SP */
5241     volatile uint32_t                  _pad_0x100c_0x1fff[1021];    /* *UNDEFINED* */
5242     volatile ALT_L3_MST_L4MP_t         mastergrp_l4mp;              /* ALT_L3_MST_L4MP */
5243     volatile uint32_t                  _pad_0x200c_0x2fff[1021];    /* *UNDEFINED* */
5244     volatile ALT_L3_MST_L4OSC1_t       mastergrp_l4osc1;            /* ALT_L3_MST_L4OSC1 */
5245     volatile uint32_t                  _pad_0x300c_0x3fff[1021];    /* *UNDEFINED* */
5246     volatile ALT_L3_MST_L4SPIM_t       mastergrp_l4spim;            /* ALT_L3_MST_L4SPIM */
5247     volatile uint32_t                  _pad_0x400c_0x4fff[1021];    /* *UNDEFINED* */
5248     volatile ALT_L3_MST_STM_t          mastergrp_stm;               /* ALT_L3_MST_STM */
5249     volatile uint32_t                  _pad_0x510c_0x5fff[957];     /* *UNDEFINED* */
5250     volatile ALT_L3_MST_LWH2F_t        mastergrp_lwhps2fpga;        /* ALT_L3_MST_LWH2F */
5251     volatile uint32_t                  _pad_0x610c_0x7fff[1981];    /* *UNDEFINED* */
5252     volatile ALT_L3_MST_USB1_t         mastergrp_usb1;              /* ALT_L3_MST_USB1 */
5253     volatile uint32_t                  _pad_0x8048_0x8fff[1006];    /* *UNDEFINED* */
5254     volatile ALT_L3_MST_NANDDATA_t     mastergrp_nanddata;          /* ALT_L3_MST_NANDDATA */
5255     volatile uint32_t                  _pad_0x910c_0x1dfff[21437];  /* *UNDEFINED* */
5256     volatile ALT_L3_MST_USB0_t         mastergrp_usb0;              /* ALT_L3_MST_USB0 */
5257     volatile uint32_t                  _pad_0x1e048_0x1efff[1006];  /* *UNDEFINED* */
5258     volatile ALT_L3_MST_NAND_t         mastergrp_nandregs;          /* ALT_L3_MST_NAND */
5259     volatile uint32_t                  _pad_0x1f10c_0x1ffff[957];   /* *UNDEFINED* */
5260     volatile ALT_L3_MST_QSPIDATA_t     mastergrp_qspidata;          /* ALT_L3_MST_QSPIDATA */
5261     volatile uint32_t                  _pad_0x20048_0x20fff[1006];  /* *UNDEFINED* */
5262     volatile ALT_L3_MST_FPGAMGRDATA_t  mastergrp_fpgamgrdata;       /* ALT_L3_MST_FPGAMGRDATA */
5263     volatile uint32_t                  _pad_0x2110c_0x21fff[957];   /* *UNDEFINED* */
5264     volatile ALT_L3_MST_H2F_t          mastergrp_hps2fpga;          /* ALT_L3_MST_H2F */
5265     volatile uint32_t                  _pad_0x2210c_0x22fff[957];   /* *UNDEFINED* */
5266     volatile ALT_L3_MST_ACP_t          mastergrp_acp;               /* ALT_L3_MST_ACP */
5267     volatile uint32_t                  _pad_0x2310c_0x23fff[957];   /* *UNDEFINED* */
5268     volatile ALT_L3_MST_ROM_t          mastergrp_rom;               /* ALT_L3_MST_ROM */
5269     volatile uint32_t                  _pad_0x2410c_0x24fff[957];   /* *UNDEFINED* */
5270     volatile ALT_L3_MST_OCRAM_t        mastergrp_ocram;             /* ALT_L3_MST_OCRAM */
5271 };
5272 
5273 /* The typedef declaration for register group ALT_L3_MSTGRP. */
5274 typedef volatile struct ALT_L3_MSTGRP_s  ALT_L3_MSTGRP_t;
5275 /* The struct declaration for the raw register contents of register group ALT_L3_MSTGRP. */
5276 struct ALT_L3_MSTGRP_raw_s
5277 {
5278     volatile ALT_L3_MST_L4MAIN_raw_t       mastergrp_l4main;            /* ALT_L3_MST_L4MAIN */
5279     volatile uint32_t                      _pad_0xc_0xfff[1021];        /* *UNDEFINED* */
5280     volatile ALT_L3_MST_L4SP_raw_t         mastergrp_l4sp;              /* ALT_L3_MST_L4SP */
5281     volatile uint32_t                      _pad_0x100c_0x1fff[1021];    /* *UNDEFINED* */
5282     volatile ALT_L3_MST_L4MP_raw_t         mastergrp_l4mp;              /* ALT_L3_MST_L4MP */
5283     volatile uint32_t                      _pad_0x200c_0x2fff[1021];    /* *UNDEFINED* */
5284     volatile ALT_L3_MST_L4OSC1_raw_t       mastergrp_l4osc1;            /* ALT_L3_MST_L4OSC1 */
5285     volatile uint32_t                      _pad_0x300c_0x3fff[1021];    /* *UNDEFINED* */
5286     volatile ALT_L3_MST_L4SPIM_raw_t       mastergrp_l4spim;            /* ALT_L3_MST_L4SPIM */
5287     volatile uint32_t                      _pad_0x400c_0x4fff[1021];    /* *UNDEFINED* */
5288     volatile ALT_L3_MST_STM_raw_t          mastergrp_stm;               /* ALT_L3_MST_STM */
5289     volatile uint32_t                      _pad_0x510c_0x5fff[957];     /* *UNDEFINED* */
5290     volatile ALT_L3_MST_LWH2F_raw_t        mastergrp_lwhps2fpga;        /* ALT_L3_MST_LWH2F */
5291     volatile uint32_t                      _pad_0x610c_0x7fff[1981];    /* *UNDEFINED* */
5292     volatile ALT_L3_MST_USB1_raw_t         mastergrp_usb1;              /* ALT_L3_MST_USB1 */
5293     volatile uint32_t                      _pad_0x8048_0x8fff[1006];    /* *UNDEFINED* */
5294     volatile ALT_L3_MST_NANDDATA_raw_t     mastergrp_nanddata;          /* ALT_L3_MST_NANDDATA */
5295     volatile uint32_t                      _pad_0x910c_0x1dfff[21437];  /* *UNDEFINED* */
5296     volatile ALT_L3_MST_USB0_raw_t         mastergrp_usb0;              /* ALT_L3_MST_USB0 */
5297     volatile uint32_t                      _pad_0x1e048_0x1efff[1006];  /* *UNDEFINED* */
5298     volatile ALT_L3_MST_NAND_raw_t         mastergrp_nandregs;          /* ALT_L3_MST_NAND */
5299     volatile uint32_t                      _pad_0x1f10c_0x1ffff[957];   /* *UNDEFINED* */
5300     volatile ALT_L3_MST_QSPIDATA_raw_t     mastergrp_qspidata;          /* ALT_L3_MST_QSPIDATA */
5301     volatile uint32_t                      _pad_0x20048_0x20fff[1006];  /* *UNDEFINED* */
5302     volatile ALT_L3_MST_FPGAMGRDATA_raw_t  mastergrp_fpgamgrdata;       /* ALT_L3_MST_FPGAMGRDATA */
5303     volatile uint32_t                      _pad_0x2110c_0x21fff[957];   /* *UNDEFINED* */
5304     volatile ALT_L3_MST_H2F_raw_t          mastergrp_hps2fpga;          /* ALT_L3_MST_H2F */
5305     volatile uint32_t                      _pad_0x2210c_0x22fff[957];   /* *UNDEFINED* */
5306     volatile ALT_L3_MST_ACP_raw_t          mastergrp_acp;               /* ALT_L3_MST_ACP */
5307     volatile uint32_t                      _pad_0x2310c_0x23fff[957];   /* *UNDEFINED* */
5308     volatile ALT_L3_MST_ROM_raw_t          mastergrp_rom;               /* ALT_L3_MST_ROM */
5309     volatile uint32_t                      _pad_0x2410c_0x24fff[957];   /* *UNDEFINED* */
5310     volatile ALT_L3_MST_OCRAM_raw_t        mastergrp_ocram;             /* ALT_L3_MST_OCRAM */
5311 };
5312 
5313 /* The typedef declaration for the raw register contents of register group ALT_L3_MSTGRP. */
5314 typedef volatile struct ALT_L3_MSTGRP_raw_s  ALT_L3_MSTGRP_raw_t;
5315 #endif  /* __ASSEMBLY__ */
5316 
5317 
5318 /*
5319  * Register Group : Slave Register Group - ALT_L3_SLVGRP
5320  * Slave Register Group
5321  * 
5322  * Registers associated with slave interfaces.
5323  * 
5324  */
5325 /*
5326  * Register Group : DAP - ALT_L3_SLV_DAP
5327  * DAP
5328  * 
5329  * Registers associated with the DAP slave interface. This slave is used by the DAP
5330  * to access slaves attached to the L3/L4 Interconnect.
5331  * 
5332  */
5333 /*
5334  * Register : Functionality Modification 2 Register - fn_mod2
5335  * 
5336  * Controls bypass merge of upsizing/downsizing.
5337  * 
5338  * Register Layout
5339  * 
5340  *  Bits   | Access | Reset | Description 
5341  * :-------|:-------|:------|:-------------
5342  *  [0]    | RW     | 0x0   | Bypass Merge
5343  *  [31:1] | ???    | 0x0   | *UNDEFINED* 
5344  * 
5345  */
5346 /*
5347  * Field : Bypass Merge - bypass_merge
5348  * 
5349  * Controls bypass merge of upsizing/downsizing.
5350  * 
5351  * Field Enumeration Values:
5352  * 
5353  *  Enum                                  | Value | Description                                     
5354  * :--------------------------------------|:------|:-------------------------------------------------
5355  *  ALT_L3_FN_MOD2_BYPASS_MERGE_E_ALTER   | 0x0   | The network can alter transactions.             
5356  *  ALT_L3_FN_MOD2_BYPASS_MERGE_E_NOALTER | 0x1   | The network does not alter any transactions that
5357  * :                                      |       | could pass through the upsizer legally without  
5358  * :                                      |       | alteration.                                     
5359  * 
5360  * Field Access Macros:
5361  * 
5362  */
5363 /*
5364  * Enumerated value for register field ALT_L3_FN_MOD2_BYPASS_MERGE
5365  * 
5366  * The network can alter transactions.
5367  */
5368 #define ALT_L3_FN_MOD2_BYPASS_MERGE_E_ALTER     0x0
5369 /*
5370  * Enumerated value for register field ALT_L3_FN_MOD2_BYPASS_MERGE
5371  * 
5372  * The network does not alter any transactions that could pass through the upsizer
5373  * legally without alteration.
5374  */
5375 #define ALT_L3_FN_MOD2_BYPASS_MERGE_E_NOALTER   0x1
5376 
5377 /* The Least Significant Bit (LSB) position of the ALT_L3_FN_MOD2_BYPASS_MERGE register field. */
5378 #define ALT_L3_FN_MOD2_BYPASS_MERGE_LSB        0
5379 /* The Most Significant Bit (MSB) position of the ALT_L3_FN_MOD2_BYPASS_MERGE register field. */
5380 #define ALT_L3_FN_MOD2_BYPASS_MERGE_MSB        0
5381 /* The width in bits of the ALT_L3_FN_MOD2_BYPASS_MERGE register field. */
5382 #define ALT_L3_FN_MOD2_BYPASS_MERGE_WIDTH      1
5383 /* The mask used to set the ALT_L3_FN_MOD2_BYPASS_MERGE register field value. */
5384 #define ALT_L3_FN_MOD2_BYPASS_MERGE_SET_MSK    0x00000001
5385 /* The mask used to clear the ALT_L3_FN_MOD2_BYPASS_MERGE register field value. */
5386 #define ALT_L3_FN_MOD2_BYPASS_MERGE_CLR_MSK    0xfffffffe
5387 /* The reset value of the ALT_L3_FN_MOD2_BYPASS_MERGE register field. */
5388 #define ALT_L3_FN_MOD2_BYPASS_MERGE_RESET      0x0
5389 /* Extracts the ALT_L3_FN_MOD2_BYPASS_MERGE field value from a register. */
5390 #define ALT_L3_FN_MOD2_BYPASS_MERGE_GET(value) (((value) & 0x00000001) >> 0)
5391 /* Produces a ALT_L3_FN_MOD2_BYPASS_MERGE register field value suitable for setting the register. */
5392 #define ALT_L3_FN_MOD2_BYPASS_MERGE_SET(value) (((value) << 0) & 0x00000001)
5393 
5394 #ifndef __ASSEMBLY__
5395 /*
5396  * WARNING: The C register and register group struct declarations are provided for
5397  * convenience and illustrative purposes. They should, however, be used with
5398  * caution as the C language standard provides no guarantees about the alignment or
5399  * atomicity of device memory accesses. The recommended practice for writing
5400  * hardware drivers is to use the SoCAL access macros and alt_read_word() and
5401  * alt_write_word() functions.
5402  * 
5403  * The struct declaration for register ALT_L3_FN_MOD2.
5404  */
5405 struct ALT_L3_FN_MOD2_s
5406 {
5407     uint32_t  bypass_merge :  1;  /* Bypass Merge */
5408     uint32_t               : 31;  /* *UNDEFINED* */
5409 };
5410 
5411 /* The typedef declaration for register ALT_L3_FN_MOD2. */
5412 typedef volatile struct ALT_L3_FN_MOD2_s  ALT_L3_FN_MOD2_t;
5413 #endif  /* __ASSEMBLY__ */
5414 
5415 /* The byte offset of the ALT_L3_FN_MOD2 register from the beginning of the component. */
5416 #define ALT_L3_FN_MOD2_OFST        0x24
5417 /* The address of the ALT_L3_FN_MOD2 register. */
5418 #define ALT_L3_FN_MOD2_ADDR(base)  ALT_CAST(void *, (ALT_CAST(char *, (base)) + ALT_L3_FN_MOD2_OFST))
5419 
5420 /*
5421  * Register : Functionality Modification AHB Register - fn_mod_ahb
5422  * 
5423  * Controls how AHB-lite burst transactions are converted to AXI tranactions.
5424  * 
5425  * Register Layout
5426  * 
5427  *  Bits   | Access | Reset | Description             
5428  * :-------|:-------|:------|:-------------------------
5429  *  [0]    | RW     | 0x0   | Read Increment Override 
5430  *  [1]    | RW     | 0x0   | Write Increment Override
5431  *  [31:2] | ???    | 0x0   | *UNDEFINED*             
5432  * 
5433  */
5434 /*
5435  * Field : Read Increment Override - rd_incr_override
5436  * 
5437  * Controls how AHB-lite read burst transactions are converted to AXI tranactions.
5438  * 
5439  * Field Enumeration Values:
5440  * 
5441  *  Enum                                         | Value | Description                                  
5442  * :---------------------------------------------|:------|:----------------------------------------------
5443  *  ALT_L3_FN_MOD_AHB_RD_INCR_OVERRIDE_E_DEFAULT | 0x0   | The L3 Interconnect converts AHB-lite read   
5444  * :                                             |       | bursts to AXI transactions in accordance with
5445  * :                                             |       | the default behavior as specified in the ARM 
5446  * :                                             |       | NIC-301 documentation.                       
5447  *  ALT_L3_FN_MOD_AHB_RD_INCR_OVERRIDE_E_SINGLES | 0x1   | The L3 Interconnect converts AHB-lite read   
5448  * :                                             |       | bursts to AXI single transactions.           
5449  * 
5450  * Field Access Macros:
5451  * 
5452  */
5453 /*
5454  * Enumerated value for register field ALT_L3_FN_MOD_AHB_RD_INCR_OVERRIDE
5455  * 
5456  * The L3 Interconnect converts AHB-lite read bursts to AXI transactions in
5457  * accordance with the default behavior as specified in the ARM NIC-301
5458  * documentation.
5459  */
5460 #define ALT_L3_FN_MOD_AHB_RD_INCR_OVERRIDE_E_DEFAULT    0x0
5461 /*
5462  * Enumerated value for register field ALT_L3_FN_MOD_AHB_RD_INCR_OVERRIDE
5463  * 
5464  * The L3 Interconnect converts AHB-lite read bursts to AXI single transactions.
5465  */
5466 #define ALT_L3_FN_MOD_AHB_RD_INCR_OVERRIDE_E_SINGLES    0x1
5467 
5468 /* The Least Significant Bit (LSB) position of the ALT_L3_FN_MOD_AHB_RD_INCR_OVERRIDE register field. */
5469 #define ALT_L3_FN_MOD_AHB_RD_INCR_OVERRIDE_LSB        0
5470 /* The Most Significant Bit (MSB) position of the ALT_L3_FN_MOD_AHB_RD_INCR_OVERRIDE register field. */
5471 #define ALT_L3_FN_MOD_AHB_RD_INCR_OVERRIDE_MSB        0
5472 /* The width in bits of the ALT_L3_FN_MOD_AHB_RD_INCR_OVERRIDE register field. */
5473 #define ALT_L3_FN_MOD_AHB_RD_INCR_OVERRIDE_WIDTH      1
5474 /* The mask used to set the ALT_L3_FN_MOD_AHB_RD_INCR_OVERRIDE register field value. */
5475 #define ALT_L3_FN_MOD_AHB_RD_INCR_OVERRIDE_SET_MSK    0x00000001
5476 /* The mask used to clear the ALT_L3_FN_MOD_AHB_RD_INCR_OVERRIDE register field value. */
5477 #define ALT_L3_FN_MOD_AHB_RD_INCR_OVERRIDE_CLR_MSK    0xfffffffe
5478 /* The reset value of the ALT_L3_FN_MOD_AHB_RD_INCR_OVERRIDE register field. */
5479 #define ALT_L3_FN_MOD_AHB_RD_INCR_OVERRIDE_RESET      0x0
5480 /* Extracts the ALT_L3_FN_MOD_AHB_RD_INCR_OVERRIDE field value from a register. */
5481 #define ALT_L3_FN_MOD_AHB_RD_INCR_OVERRIDE_GET(value) (((value) & 0x00000001) >> 0)
5482 /* Produces a ALT_L3_FN_MOD_AHB_RD_INCR_OVERRIDE register field value suitable for setting the register. */
5483 #define ALT_L3_FN_MOD_AHB_RD_INCR_OVERRIDE_SET(value) (((value) << 0) & 0x00000001)
5484 
5485 /*
5486  * Field : Write Increment Override - wr_incr_override
5487  * 
5488  * Controls how AHB-lite write burst transactions are converted to AXI tranactions.
5489  * 
5490  * Field Enumeration Values:
5491  * 
5492  *  Enum                                         | Value | Description                                  
5493  * :---------------------------------------------|:------|:----------------------------------------------
5494  *  ALT_L3_FN_MOD_AHB_WR_INCR_OVERRIDE_E_DEFAULT | 0x0   | The L3 Interconnect converts AHB-lite write  
5495  * :                                             |       | bursts to AXI transactions in accordance with
5496  * :                                             |       | the default behavior as specified in the ARM 
5497  * :                                             |       | NIC-301 documentation.                       
5498  *  ALT_L3_FN_MOD_AHB_WR_INCR_OVERRIDE_E_SINGLES | 0x1   | The L3 Interconnect converts AHB-lite write  
5499  * :                                             |       | bursts to AXI single transactions.           
5500  * 
5501  * Field Access Macros:
5502  * 
5503  */
5504 /*
5505  * Enumerated value for register field ALT_L3_FN_MOD_AHB_WR_INCR_OVERRIDE
5506  * 
5507  * The L3 Interconnect converts AHB-lite write bursts to AXI transactions in
5508  * accordance with the default behavior as specified in the ARM NIC-301
5509  * documentation.
5510  */
5511 #define ALT_L3_FN_MOD_AHB_WR_INCR_OVERRIDE_E_DEFAULT    0x0
5512 /*
5513  * Enumerated value for register field ALT_L3_FN_MOD_AHB_WR_INCR_OVERRIDE
5514  * 
5515  * The L3 Interconnect converts AHB-lite write bursts to AXI single transactions.
5516  */
5517 #define ALT_L3_FN_MOD_AHB_WR_INCR_OVERRIDE_E_SINGLES    0x1
5518 
5519 /* The Least Significant Bit (LSB) position of the ALT_L3_FN_MOD_AHB_WR_INCR_OVERRIDE register field. */
5520 #define ALT_L3_FN_MOD_AHB_WR_INCR_OVERRIDE_LSB        1
5521 /* The Most Significant Bit (MSB) position of the ALT_L3_FN_MOD_AHB_WR_INCR_OVERRIDE register field. */
5522 #define ALT_L3_FN_MOD_AHB_WR_INCR_OVERRIDE_MSB        1
5523 /* The width in bits of the ALT_L3_FN_MOD_AHB_WR_INCR_OVERRIDE register field. */
5524 #define ALT_L3_FN_MOD_AHB_WR_INCR_OVERRIDE_WIDTH      1
5525 /* The mask used to set the ALT_L3_FN_MOD_AHB_WR_INCR_OVERRIDE register field value. */
5526 #define ALT_L3_FN_MOD_AHB_WR_INCR_OVERRIDE_SET_MSK    0x00000002
5527 /* The mask used to clear the ALT_L3_FN_MOD_AHB_WR_INCR_OVERRIDE register field value. */
5528 #define ALT_L3_FN_MOD_AHB_WR_INCR_OVERRIDE_CLR_MSK    0xfffffffd
5529 /* The reset value of the ALT_L3_FN_MOD_AHB_WR_INCR_OVERRIDE register field. */
5530 #define ALT_L3_FN_MOD_AHB_WR_INCR_OVERRIDE_RESET      0x0
5531 /* Extracts the ALT_L3_FN_MOD_AHB_WR_INCR_OVERRIDE field value from a register. */
5532 #define ALT_L3_FN_MOD_AHB_WR_INCR_OVERRIDE_GET(value) (((value) & 0x00000002) >> 1)
5533 /* Produces a ALT_L3_FN_MOD_AHB_WR_INCR_OVERRIDE register field value suitable for setting the register. */
5534 #define ALT_L3_FN_MOD_AHB_WR_INCR_OVERRIDE_SET(value) (((value) << 1) & 0x00000002)
5535 
5536 #ifndef __ASSEMBLY__
5537 /*
5538  * WARNING: The C register and register group struct declarations are provided for
5539  * convenience and illustrative purposes. They should, however, be used with
5540  * caution as the C language standard provides no guarantees about the alignment or
5541  * atomicity of device memory accesses. The recommended practice for writing
5542  * hardware drivers is to use the SoCAL access macros and alt_read_word() and
5543  * alt_write_word() functions.
5544  * 
5545  * The struct declaration for register ALT_L3_FN_MOD_AHB.
5546  */
5547 struct ALT_L3_FN_MOD_AHB_s
5548 {
5549     uint32_t  rd_incr_override :  1;  /* Read Increment Override */
5550     uint32_t  wr_incr_override :  1;  /* Write Increment Override */
5551     uint32_t                   : 30;  /* *UNDEFINED* */
5552 };
5553 
5554 /* The typedef declaration for register ALT_L3_FN_MOD_AHB. */
5555 typedef volatile struct ALT_L3_FN_MOD_AHB_s  ALT_L3_FN_MOD_AHB_t;
5556 #endif  /* __ASSEMBLY__ */
5557 
5558 /* The byte offset of the ALT_L3_FN_MOD_AHB register from the beginning of the component. */
5559 #define ALT_L3_FN_MOD_AHB_OFST        0x28
5560 /* The address of the ALT_L3_FN_MOD_AHB register. */
5561 #define ALT_L3_FN_MOD_AHB_ADDR(base)  ALT_CAST(void *, (ALT_CAST(char *, (base)) + ALT_L3_FN_MOD_AHB_OFST))
5562 
5563 /*
5564  * Register : Read Channel QoS Value - read_qos
5565  * 
5566  * QoS (Quality of Service) value for the read channel.
5567  * 
5568  * Register Layout
5569  * 
5570  *  Bits   | Access | Reset | Description
5571  * :-------|:-------|:------|:------------
5572  *  [3:0]  | RW     | 0x0   | Priority   
5573  *  [31:4] | ???    | 0x0   | *UNDEFINED*
5574  * 
5575  */
5576 /*
5577  * Field : Priority - pri
5578  * 
5579  * QoS (Quality of Service) value for the read channel. A higher value has a higher
5580  * priority.
5581  * 
5582  * Field Access Macros:
5583  * 
5584  */
5585 /* The Least Significant Bit (LSB) position of the ALT_L3_RD_QOS_PRI register field. */
5586 #define ALT_L3_RD_QOS_PRI_LSB        0
5587 /* The Most Significant Bit (MSB) position of the ALT_L3_RD_QOS_PRI register field. */
5588 #define ALT_L3_RD_QOS_PRI_MSB        3
5589 /* The width in bits of the ALT_L3_RD_QOS_PRI register field. */
5590 #define ALT_L3_RD_QOS_PRI_WIDTH      4
5591 /* The mask used to set the ALT_L3_RD_QOS_PRI register field value. */
5592 #define ALT_L3_RD_QOS_PRI_SET_MSK    0x0000000f
5593 /* The mask used to clear the ALT_L3_RD_QOS_PRI register field value. */
5594 #define ALT_L3_RD_QOS_PRI_CLR_MSK    0xfffffff0
5595 /* The reset value of the ALT_L3_RD_QOS_PRI register field. */
5596 #define ALT_L3_RD_QOS_PRI_RESET      0x0
5597 /* Extracts the ALT_L3_RD_QOS_PRI field value from a register. */
5598 #define ALT_L3_RD_QOS_PRI_GET(value) (((value) & 0x0000000f) >> 0)
5599 /* Produces a ALT_L3_RD_QOS_PRI register field value suitable for setting the register. */
5600 #define ALT_L3_RD_QOS_PRI_SET(value) (((value) << 0) & 0x0000000f)
5601 
5602 #ifndef __ASSEMBLY__
5603 /*
5604  * WARNING: The C register and register group struct declarations are provided for
5605  * convenience and illustrative purposes. They should, however, be used with
5606  * caution as the C language standard provides no guarantees about the alignment or
5607  * atomicity of device memory accesses. The recommended practice for writing
5608  * hardware drivers is to use the SoCAL access macros and alt_read_word() and
5609  * alt_write_word() functions.
5610  * 
5611  * The struct declaration for register ALT_L3_RD_QOS.
5612  */
5613 struct ALT_L3_RD_QOS_s
5614 {
5615     uint32_t  pri :  4;  /* Priority */
5616     uint32_t      : 28;  /* *UNDEFINED* */
5617 };
5618 
5619 /* The typedef declaration for register ALT_L3_RD_QOS. */
5620 typedef volatile struct ALT_L3_RD_QOS_s  ALT_L3_RD_QOS_t;
5621 #endif  /* __ASSEMBLY__ */
5622 
5623 /* The byte offset of the ALT_L3_RD_QOS register from the beginning of the component. */
5624 #define ALT_L3_RD_QOS_OFST        0x100
5625 /* The address of the ALT_L3_RD_QOS register. */
5626 #define ALT_L3_RD_QOS_ADDR(base)  ALT_CAST(void *, (ALT_CAST(char *, (base)) + ALT_L3_RD_QOS_OFST))
5627 
5628 /*
5629  * Register : Write Channel QoS Value - write_qos
5630  * 
5631  * QoS (Quality of Service) value for the write channel.
5632  * 
5633  * Register Layout
5634  * 
5635  *  Bits   | Access | Reset | Description
5636  * :-------|:-------|:------|:------------
5637  *  [3:0]  | RW     | 0x0   | Priority   
5638  *  [31:4] | ???    | 0x0   | *UNDEFINED*
5639  * 
5640  */
5641 /*
5642  * Field : Priority - pri
5643  * 
5644  * QoS (Quality of Service) value for the write channel. A higher value has a
5645  * higher priority.
5646  * 
5647  * Field Access Macros:
5648  * 
5649  */
5650 /* The Least Significant Bit (LSB) position of the ALT_L3_WR_QOS_PRI register field. */
5651 #define ALT_L3_WR_QOS_PRI_LSB        0
5652 /* The Most Significant Bit (MSB) position of the ALT_L3_WR_QOS_PRI register field. */
5653 #define ALT_L3_WR_QOS_PRI_MSB        3
5654 /* The width in bits of the ALT_L3_WR_QOS_PRI register field. */
5655 #define ALT_L3_WR_QOS_PRI_WIDTH      4
5656 /* The mask used to set the ALT_L3_WR_QOS_PRI register field value. */
5657 #define ALT_L3_WR_QOS_PRI_SET_MSK    0x0000000f
5658 /* The mask used to clear the ALT_L3_WR_QOS_PRI register field value. */
5659 #define ALT_L3_WR_QOS_PRI_CLR_MSK    0xfffffff0
5660 /* The reset value of the ALT_L3_WR_QOS_PRI register field. */
5661 #define ALT_L3_WR_QOS_PRI_RESET      0x0
5662 /* Extracts the ALT_L3_WR_QOS_PRI field value from a register. */
5663 #define ALT_L3_WR_QOS_PRI_GET(value) (((value) & 0x0000000f) >> 0)
5664 /* Produces a ALT_L3_WR_QOS_PRI register field value suitable for setting the register. */
5665 #define ALT_L3_WR_QOS_PRI_SET(value) (((value) << 0) & 0x0000000f)
5666 
5667 #ifndef __ASSEMBLY__
5668 /*
5669  * WARNING: The C register and register group struct declarations are provided for
5670  * convenience and illustrative purposes. They should, however, be used with
5671  * caution as the C language standard provides no guarantees about the alignment or
5672  * atomicity of device memory accesses. The recommended practice for writing
5673  * hardware drivers is to use the SoCAL access macros and alt_read_word() and
5674  * alt_write_word() functions.
5675  * 
5676  * The struct declaration for register ALT_L3_WR_QOS.
5677  */
5678 struct ALT_L3_WR_QOS_s
5679 {
5680     uint32_t  pri :  4;  /* Priority */
5681     uint32_t      : 28;  /* *UNDEFINED* */
5682 };
5683 
5684 /* The typedef declaration for register ALT_L3_WR_QOS. */
5685 typedef volatile struct ALT_L3_WR_QOS_s  ALT_L3_WR_QOS_t;
5686 #endif  /* __ASSEMBLY__ */
5687 
5688 /* The byte offset of the ALT_L3_WR_QOS register from the beginning of the component. */
5689 #define ALT_L3_WR_QOS_OFST        0x104
5690 /* The address of the ALT_L3_WR_QOS register. */
5691 #define ALT_L3_WR_QOS_ADDR(base)  ALT_CAST(void *, (ALT_CAST(char *, (base)) + ALT_L3_WR_QOS_OFST))
5692 
5693 #ifndef __ASSEMBLY__
5694 /*
5695  * WARNING: The C register and register group struct declarations are provided for
5696  * convenience and illustrative purposes. They should, however, be used with
5697  * caution as the C language standard provides no guarantees about the alignment or
5698  * atomicity of device memory accesses. The recommended practice for writing
5699  * hardware drivers is to use the SoCAL access macros and alt_read_word() and
5700  * alt_write_word() functions.
5701  * 
5702  * The struct declaration for register group ALT_L3_SLV_DAP.
5703  */
5704 struct ALT_L3_SLV_DAP_s
5705 {
5706     volatile uint32_t             _pad_0x0_0x23[9];    /* *UNDEFINED* */
5707     volatile ALT_L3_FN_MOD2_t     fn_mod2;             /* ALT_L3_FN_MOD2 */
5708     volatile ALT_L3_FN_MOD_AHB_t  fn_mod_ahb;          /* ALT_L3_FN_MOD_AHB */
5709     volatile uint32_t             _pad_0x2c_0xff[53];  /* *UNDEFINED* */
5710     volatile ALT_L3_RD_QOS_t      read_qos;            /* ALT_L3_RD_QOS */
5711     volatile ALT_L3_WR_QOS_t      write_qos;           /* ALT_L3_WR_QOS */
5712     volatile ALT_L3_FN_MOD_t      fn_mod;              /* ALT_L3_FN_MOD */
5713 };
5714 
5715 /* The typedef declaration for register group ALT_L3_SLV_DAP. */
5716 typedef volatile struct ALT_L3_SLV_DAP_s  ALT_L3_SLV_DAP_t;
5717 /* The struct declaration for the raw register contents of register group ALT_L3_SLV_DAP. */
5718 struct ALT_L3_SLV_DAP_raw_s
5719 {
5720     volatile uint32_t  _pad_0x0_0x23[9];    /* *UNDEFINED* */
5721     volatile uint32_t  fn_mod2;             /* ALT_L3_FN_MOD2 */
5722     volatile uint32_t  fn_mod_ahb;          /* ALT_L3_FN_MOD_AHB */
5723     volatile uint32_t  _pad_0x2c_0xff[53];  /* *UNDEFINED* */
5724     volatile uint32_t  read_qos;            /* ALT_L3_RD_QOS */
5725     volatile uint32_t  write_qos;           /* ALT_L3_WR_QOS */
5726     volatile uint32_t  fn_mod;              /* ALT_L3_FN_MOD */
5727 };
5728 
5729 /* The typedef declaration for the raw register contents of register group ALT_L3_SLV_DAP. */
5730 typedef volatile struct ALT_L3_SLV_DAP_raw_s  ALT_L3_SLV_DAP_raw_t;
5731 #endif  /* __ASSEMBLY__ */
5732 
5733 
5734 /*
5735  * Register Group : MPU - ALT_L3_SLV_MPU
5736  * MPU
5737  * 
5738  * Registers associated with the MPU slave interface. This slave is used by the MPU
5739  * to access slaves attached to the L3/L4 Interconnect.
5740  * 
5741  */
5742 #ifndef __ASSEMBLY__
5743 /*
5744  * WARNING: The C register and register group struct declarations are provided for
5745  * convenience and illustrative purposes. They should, however, be used with
5746  * caution as the C language standard provides no guarantees about the alignment or
5747  * atomicity of device memory accesses. The recommended practice for writing
5748  * hardware drivers is to use the SoCAL access macros and alt_read_word() and
5749  * alt_write_word() functions.
5750  * 
5751  * The struct declaration for register group ALT_L3_SLV_MPU.
5752  */
5753 struct ALT_L3_SLV_MPU_s
5754 {
5755     volatile uint32_t         _pad_0x0_0xff[64];  /* *UNDEFINED* */
5756     volatile ALT_L3_RD_QOS_t  read_qos;           /* ALT_L3_RD_QOS */
5757     volatile ALT_L3_WR_QOS_t  write_qos;          /* ALT_L3_WR_QOS */
5758     volatile ALT_L3_FN_MOD_t  fn_mod;             /* ALT_L3_FN_MOD */
5759 };
5760 
5761 /* The typedef declaration for register group ALT_L3_SLV_MPU. */
5762 typedef volatile struct ALT_L3_SLV_MPU_s  ALT_L3_SLV_MPU_t;
5763 /* The struct declaration for the raw register contents of register group ALT_L3_SLV_MPU. */
5764 struct ALT_L3_SLV_MPU_raw_s
5765 {
5766     volatile uint32_t  _pad_0x0_0xff[64];  /* *UNDEFINED* */
5767     volatile uint32_t  read_qos;           /* ALT_L3_RD_QOS */
5768     volatile uint32_t  write_qos;          /* ALT_L3_WR_QOS */
5769     volatile uint32_t  fn_mod;             /* ALT_L3_FN_MOD */
5770 };
5771 
5772 /* The typedef declaration for the raw register contents of register group ALT_L3_SLV_MPU. */
5773 typedef volatile struct ALT_L3_SLV_MPU_raw_s  ALT_L3_SLV_MPU_raw_t;
5774 #endif  /* __ASSEMBLY__ */
5775 
5776 
5777 /*
5778  * Register Group : SDMMC - ALT_L3_SLV_SDMMC
5779  * SDMMC
5780  * 
5781  * Registers associated with the SDMMC slave interface. This slave is used by the
5782  * DMA controller built into the SDMMC to access slaves attached to the L3/L4
5783  * Interconnect.
5784  * 
5785  */
5786 #ifndef __ASSEMBLY__
5787 /*
5788  * WARNING: The C register and register group struct declarations are provided for
5789  * convenience and illustrative purposes. They should, however, be used with
5790  * caution as the C language standard provides no guarantees about the alignment or
5791  * atomicity of device memory accesses. The recommended practice for writing
5792  * hardware drivers is to use the SoCAL access macros and alt_read_word() and
5793  * alt_write_word() functions.
5794  * 
5795  * The struct declaration for register group ALT_L3_SLV_SDMMC.
5796  */
5797 struct ALT_L3_SLV_SDMMC_s
5798 {
5799     volatile uint32_t             _pad_0x0_0x27[10];   /* *UNDEFINED* */
5800     volatile ALT_L3_FN_MOD_AHB_t  fn_mod_ahb;          /* ALT_L3_FN_MOD_AHB */
5801     volatile uint32_t             _pad_0x2c_0xff[53];  /* *UNDEFINED* */
5802     volatile ALT_L3_RD_QOS_t      read_qos;            /* ALT_L3_RD_QOS */
5803     volatile ALT_L3_WR_QOS_t      write_qos;           /* ALT_L3_WR_QOS */
5804     volatile ALT_L3_FN_MOD_t      fn_mod;              /* ALT_L3_FN_MOD */
5805 };
5806 
5807 /* The typedef declaration for register group ALT_L3_SLV_SDMMC. */
5808 typedef volatile struct ALT_L3_SLV_SDMMC_s  ALT_L3_SLV_SDMMC_t;
5809 /* The struct declaration for the raw register contents of register group ALT_L3_SLV_SDMMC. */
5810 struct ALT_L3_SLV_SDMMC_raw_s
5811 {
5812     volatile uint32_t  _pad_0x0_0x27[10];   /* *UNDEFINED* */
5813     volatile uint32_t  fn_mod_ahb;          /* ALT_L3_FN_MOD_AHB */
5814     volatile uint32_t  _pad_0x2c_0xff[53];  /* *UNDEFINED* */
5815     volatile uint32_t  read_qos;            /* ALT_L3_RD_QOS */
5816     volatile uint32_t  write_qos;           /* ALT_L3_WR_QOS */
5817     volatile uint32_t  fn_mod;              /* ALT_L3_FN_MOD */
5818 };
5819 
5820 /* The typedef declaration for the raw register contents of register group ALT_L3_SLV_SDMMC. */
5821 typedef volatile struct ALT_L3_SLV_SDMMC_raw_s  ALT_L3_SLV_SDMMC_raw_t;
5822 #endif  /* __ASSEMBLY__ */
5823 
5824 
5825 /*
5826  * Register Group : DMA - ALT_L3_SLV_DMA
5827  * DMA
5828  * 
5829  * Registers associated with the DMA Controller slave interface. This slave is used
5830  * by the DMA Controller to access slaves attached to the L3/L4 Interconnect.
5831  * 
5832  */
5833 #ifndef __ASSEMBLY__
5834 /*
5835  * WARNING: The C register and register group struct declarations are provided for
5836  * convenience and illustrative purposes. They should, however, be used with
5837  * caution as the C language standard provides no guarantees about the alignment or
5838  * atomicity of device memory accesses. The recommended practice for writing
5839  * hardware drivers is to use the SoCAL access macros and alt_read_word() and
5840  * alt_write_word() functions.
5841  * 
5842  * The struct declaration for register group ALT_L3_SLV_DMA.
5843  */
5844 struct ALT_L3_SLV_DMA_s
5845 {
5846     volatile uint32_t         _pad_0x0_0xff[64];  /* *UNDEFINED* */
5847     volatile ALT_L3_RD_QOS_t  read_qos;           /* ALT_L3_RD_QOS */
5848     volatile ALT_L3_WR_QOS_t  write_qos;          /* ALT_L3_WR_QOS */
5849     volatile ALT_L3_FN_MOD_t  fn_mod;             /* ALT_L3_FN_MOD */
5850 };
5851 
5852 /* The typedef declaration for register group ALT_L3_SLV_DMA. */
5853 typedef volatile struct ALT_L3_SLV_DMA_s  ALT_L3_SLV_DMA_t;
5854 /* The struct declaration for the raw register contents of register group ALT_L3_SLV_DMA. */
5855 struct ALT_L3_SLV_DMA_raw_s
5856 {
5857     volatile uint32_t  _pad_0x0_0xff[64];  /* *UNDEFINED* */
5858     volatile uint32_t  read_qos;           /* ALT_L3_RD_QOS */
5859     volatile uint32_t  write_qos;          /* ALT_L3_WR_QOS */
5860     volatile uint32_t  fn_mod;             /* ALT_L3_FN_MOD */
5861 };
5862 
5863 /* The typedef declaration for the raw register contents of register group ALT_L3_SLV_DMA. */
5864 typedef volatile struct ALT_L3_SLV_DMA_raw_s  ALT_L3_SLV_DMA_raw_t;
5865 #endif  /* __ASSEMBLY__ */
5866 
5867 
5868 /*
5869  * Register Group : FPGA2HPS - ALT_L3_SLV_F2H
5870  * FPGA2HPS
5871  * 
5872  * Registers associated with the FPGA2HPS AXI Bridge slave interface. This slave is
5873  * used by the FPGA2HPS AXI Bridge to access slaves attached to the L3/L4
5874  * Interconnect.
5875  * 
5876  */
5877 #ifndef __ASSEMBLY__
5878 /*
5879  * WARNING: The C register and register group struct declarations are provided for
5880  * convenience and illustrative purposes. They should, however, be used with
5881  * caution as the C language standard provides no guarantees about the alignment or
5882  * atomicity of device memory accesses. The recommended practice for writing
5883  * hardware drivers is to use the SoCAL access macros and alt_read_word() and
5884  * alt_write_word() functions.
5885  * 
5886  * The struct declaration for register group ALT_L3_SLV_F2H.
5887  */
5888 struct ALT_L3_SLV_F2H_s
5889 {
5890     volatile uint32_t              _pad_0x0_0x3f[16];   /* *UNDEFINED* */
5891     volatile ALT_L3_WR_TIDEMARK_t  wr_tidemark;         /* ALT_L3_WR_TIDEMARK */
5892     volatile uint32_t              _pad_0x44_0xff[47];  /* *UNDEFINED* */
5893     volatile ALT_L3_RD_QOS_t       read_qos;            /* ALT_L3_RD_QOS */
5894     volatile ALT_L3_WR_QOS_t       write_qos;           /* ALT_L3_WR_QOS */
5895     volatile ALT_L3_FN_MOD_t       fn_mod;              /* ALT_L3_FN_MOD */
5896 };
5897 
5898 /* The typedef declaration for register group ALT_L3_SLV_F2H. */
5899 typedef volatile struct ALT_L3_SLV_F2H_s  ALT_L3_SLV_F2H_t;
5900 /* The struct declaration for the raw register contents of register group ALT_L3_SLV_F2H. */
5901 struct ALT_L3_SLV_F2H_raw_s
5902 {
5903     volatile uint32_t  _pad_0x0_0x3f[16];   /* *UNDEFINED* */
5904     volatile uint32_t  wr_tidemark;         /* ALT_L3_WR_TIDEMARK */
5905     volatile uint32_t  _pad_0x44_0xff[47];  /* *UNDEFINED* */
5906     volatile uint32_t  read_qos;            /* ALT_L3_RD_QOS */
5907     volatile uint32_t  write_qos;           /* ALT_L3_WR_QOS */
5908     volatile uint32_t  fn_mod;              /* ALT_L3_FN_MOD */
5909 };
5910 
5911 /* The typedef declaration for the raw register contents of register group ALT_L3_SLV_F2H. */
5912 typedef volatile struct ALT_L3_SLV_F2H_raw_s  ALT_L3_SLV_F2H_raw_t;
5913 #endif  /* __ASSEMBLY__ */
5914 
5915 
5916 /*
5917  * Register Group : ETR - ALT_L3_SLV_ETR
5918  * ETR
5919  * 
5920  * Registers associated with the ETR (TMC) slave interface. This slave is used by
5921  * the ETR to access slaves attached to the L3/L4 Interconnect.
5922  * 
5923  */
5924 #ifndef __ASSEMBLY__
5925 /*
5926  * WARNING: The C register and register group struct declarations are provided for
5927  * convenience and illustrative purposes. They should, however, be used with
5928  * caution as the C language standard provides no guarantees about the alignment or
5929  * atomicity of device memory accesses. The recommended practice for writing
5930  * hardware drivers is to use the SoCAL access macros and alt_read_word() and
5931  * alt_write_word() functions.
5932  * 
5933  * The struct declaration for register group ALT_L3_SLV_ETR.
5934  */
5935 struct ALT_L3_SLV_ETR_s
5936 {
5937     volatile uint32_t         _pad_0x0_0xff[64];  /* *UNDEFINED* */
5938     volatile ALT_L3_RD_QOS_t  read_qos;           /* ALT_L3_RD_QOS */
5939     volatile ALT_L3_WR_QOS_t  write_qos;          /* ALT_L3_WR_QOS */
5940     volatile ALT_L3_FN_MOD_t  fn_mod;             /* ALT_L3_FN_MOD */
5941 };
5942 
5943 /* The typedef declaration for register group ALT_L3_SLV_ETR. */
5944 typedef volatile struct ALT_L3_SLV_ETR_s  ALT_L3_SLV_ETR_t;
5945 /* The struct declaration for the raw register contents of register group ALT_L3_SLV_ETR. */
5946 struct ALT_L3_SLV_ETR_raw_s
5947 {
5948     volatile uint32_t  _pad_0x0_0xff[64];  /* *UNDEFINED* */
5949     volatile uint32_t  read_qos;           /* ALT_L3_RD_QOS */
5950     volatile uint32_t  write_qos;          /* ALT_L3_WR_QOS */
5951     volatile uint32_t  fn_mod;             /* ALT_L3_FN_MOD */
5952 };
5953 
5954 /* The typedef declaration for the raw register contents of register group ALT_L3_SLV_ETR. */
5955 typedef volatile struct ALT_L3_SLV_ETR_raw_s  ALT_L3_SLV_ETR_raw_t;
5956 #endif  /* __ASSEMBLY__ */
5957 
5958 
5959 /*
5960  * Register Group : EMAC0 - ALT_L3_SLV_EMAC0
5961  * EMAC0
5962  * 
5963  * Registers associated with the EMAC0 slave interface. This slave is used by the
5964  * DMA controller built into the EMAC0 to access slaves attached to the L3/L4
5965  * Interconnect.
5966  * 
5967  */
5968 #ifndef __ASSEMBLY__
5969 /*
5970  * WARNING: The C register and register group struct declarations are provided for
5971  * convenience and illustrative purposes. They should, however, be used with
5972  * caution as the C language standard provides no guarantees about the alignment or
5973  * atomicity of device memory accesses. The recommended practice for writing
5974  * hardware drivers is to use the SoCAL access macros and alt_read_word() and
5975  * alt_write_word() functions.
5976  * 
5977  * The struct declaration for register group ALT_L3_SLV_EMAC0.
5978  */
5979 struct ALT_L3_SLV_EMAC0_s
5980 {
5981     volatile uint32_t         _pad_0x0_0xff[64];  /* *UNDEFINED* */
5982     volatile ALT_L3_RD_QOS_t  read_qos;           /* ALT_L3_RD_QOS */
5983     volatile ALT_L3_WR_QOS_t  write_qos;          /* ALT_L3_WR_QOS */
5984     volatile ALT_L3_FN_MOD_t  fn_mod;             /* ALT_L3_FN_MOD */
5985 };
5986 
5987 /* The typedef declaration for register group ALT_L3_SLV_EMAC0. */
5988 typedef volatile struct ALT_L3_SLV_EMAC0_s  ALT_L3_SLV_EMAC0_t;
5989 /* The struct declaration for the raw register contents of register group ALT_L3_SLV_EMAC0. */
5990 struct ALT_L3_SLV_EMAC0_raw_s
5991 {
5992     volatile uint32_t  _pad_0x0_0xff[64];  /* *UNDEFINED* */
5993     volatile uint32_t  read_qos;           /* ALT_L3_RD_QOS */
5994     volatile uint32_t  write_qos;          /* ALT_L3_WR_QOS */
5995     volatile uint32_t  fn_mod;             /* ALT_L3_FN_MOD */
5996 };
5997 
5998 /* The typedef declaration for the raw register contents of register group ALT_L3_SLV_EMAC0. */
5999 typedef volatile struct ALT_L3_SLV_EMAC0_raw_s  ALT_L3_SLV_EMAC0_raw_t;
6000 #endif  /* __ASSEMBLY__ */
6001 
6002 
6003 /*
6004  * Register Group : EMAC1 - ALT_L3_SLV_EMAC1
6005  * EMAC1
6006  * 
6007  * Registers associated with the EMAC1 slave interface. This slave is used by the
6008  * DMA controller built into the EMAC1 to access slaves attached to the L3/L4
6009  * Interconnect.
6010  * 
6011  */
6012 #ifndef __ASSEMBLY__
6013 /*
6014  * WARNING: The C register and register group struct declarations are provided for
6015  * convenience and illustrative purposes. They should, however, be used with
6016  * caution as the C language standard provides no guarantees about the alignment or
6017  * atomicity of device memory accesses. The recommended practice for writing
6018  * hardware drivers is to use the SoCAL access macros and alt_read_word() and
6019  * alt_write_word() functions.
6020  * 
6021  * The struct declaration for register group ALT_L3_SLV_EMAC1.
6022  */
6023 struct ALT_L3_SLV_EMAC1_s
6024 {
6025     volatile uint32_t         _pad_0x0_0xff[64];  /* *UNDEFINED* */
6026     volatile ALT_L3_RD_QOS_t  read_qos;           /* ALT_L3_RD_QOS */
6027     volatile ALT_L3_WR_QOS_t  write_qos;          /* ALT_L3_WR_QOS */
6028     volatile ALT_L3_FN_MOD_t  fn_mod;             /* ALT_L3_FN_MOD */
6029 };
6030 
6031 /* The typedef declaration for register group ALT_L3_SLV_EMAC1. */
6032 typedef volatile struct ALT_L3_SLV_EMAC1_s  ALT_L3_SLV_EMAC1_t;
6033 /* The struct declaration for the raw register contents of register group ALT_L3_SLV_EMAC1. */
6034 struct ALT_L3_SLV_EMAC1_raw_s
6035 {
6036     volatile uint32_t  _pad_0x0_0xff[64];  /* *UNDEFINED* */
6037     volatile uint32_t  read_qos;           /* ALT_L3_RD_QOS */
6038     volatile uint32_t  write_qos;          /* ALT_L3_WR_QOS */
6039     volatile uint32_t  fn_mod;             /* ALT_L3_FN_MOD */
6040 };
6041 
6042 /* The typedef declaration for the raw register contents of register group ALT_L3_SLV_EMAC1. */
6043 typedef volatile struct ALT_L3_SLV_EMAC1_raw_s  ALT_L3_SLV_EMAC1_raw_t;
6044 #endif  /* __ASSEMBLY__ */
6045 
6046 
6047 /*
6048  * Register Group : USB0 - ALT_L3_SLV_USB0
6049  * USB0
6050  * 
6051  * Registers associated with the USB0 slave interface. This slave is used by the
6052  * DMA controller built into the USB0 to access slaves attached to the L3/L4
6053  * Interconnect.
6054  * 
6055  */
6056 #ifndef __ASSEMBLY__
6057 /*
6058  * WARNING: The C register and register group struct declarations are provided for
6059  * convenience and illustrative purposes. They should, however, be used with
6060  * caution as the C language standard provides no guarantees about the alignment or
6061  * atomicity of device memory accesses. The recommended practice for writing
6062  * hardware drivers is to use the SoCAL access macros and alt_read_word() and
6063  * alt_write_word() functions.
6064  * 
6065  * The struct declaration for register group ALT_L3_SLV_USB0.
6066  */
6067 struct ALT_L3_SLV_USB0_s
6068 {
6069     volatile uint32_t             _pad_0x0_0x27[10];   /* *UNDEFINED* */
6070     volatile ALT_L3_FN_MOD_AHB_t  fn_mod_ahb;          /* ALT_L3_FN_MOD_AHB */
6071     volatile uint32_t             _pad_0x2c_0xff[53];  /* *UNDEFINED* */
6072     volatile ALT_L3_RD_QOS_t      read_qos;            /* ALT_L3_RD_QOS */
6073     volatile ALT_L3_WR_QOS_t      write_qos;           /* ALT_L3_WR_QOS */
6074     volatile ALT_L3_FN_MOD_t      fn_mod;              /* ALT_L3_FN_MOD */
6075 };
6076 
6077 /* The typedef declaration for register group ALT_L3_SLV_USB0. */
6078 typedef volatile struct ALT_L3_SLV_USB0_s  ALT_L3_SLV_USB0_t;
6079 /* The struct declaration for the raw register contents of register group ALT_L3_SLV_USB0. */
6080 struct ALT_L3_SLV_USB0_raw_s
6081 {
6082     volatile uint32_t  _pad_0x0_0x27[10];   /* *UNDEFINED* */
6083     volatile uint32_t  fn_mod_ahb;          /* ALT_L3_FN_MOD_AHB */
6084     volatile uint32_t  _pad_0x2c_0xff[53];  /* *UNDEFINED* */
6085     volatile uint32_t  read_qos;            /* ALT_L3_RD_QOS */
6086     volatile uint32_t  write_qos;           /* ALT_L3_WR_QOS */
6087     volatile uint32_t  fn_mod;              /* ALT_L3_FN_MOD */
6088 };
6089 
6090 /* The typedef declaration for the raw register contents of register group ALT_L3_SLV_USB0. */
6091 typedef volatile struct ALT_L3_SLV_USB0_raw_s  ALT_L3_SLV_USB0_raw_t;
6092 #endif  /* __ASSEMBLY__ */
6093 
6094 
6095 /*
6096  * Register Group : NAND - ALT_L3_SLV_NAND
6097  * NAND
6098  * 
6099  * Registers associated with the NAND slave interface. This slave is used by the
6100  * DMA controller built into the NAND flash controller to access slaves attached to
6101  * the L3/L4 Interconnect.
6102  * 
6103  */
6104 #ifndef __ASSEMBLY__
6105 /*
6106  * WARNING: The C register and register group struct declarations are provided for
6107  * convenience and illustrative purposes. They should, however, be used with
6108  * caution as the C language standard provides no guarantees about the alignment or
6109  * atomicity of device memory accesses. The recommended practice for writing
6110  * hardware drivers is to use the SoCAL access macros and alt_read_word() and
6111  * alt_write_word() functions.
6112  * 
6113  * The struct declaration for register group ALT_L3_SLV_NAND.
6114  */
6115 struct ALT_L3_SLV_NAND_s
6116 {
6117     volatile uint32_t         _pad_0x0_0xff[64];  /* *UNDEFINED* */
6118     volatile ALT_L3_RD_QOS_t  read_qos;           /* ALT_L3_RD_QOS */
6119     volatile ALT_L3_WR_QOS_t  write_qos;          /* ALT_L3_WR_QOS */
6120     volatile ALT_L3_FN_MOD_t  fn_mod;             /* ALT_L3_FN_MOD */
6121 };
6122 
6123 /* The typedef declaration for register group ALT_L3_SLV_NAND. */
6124 typedef volatile struct ALT_L3_SLV_NAND_s  ALT_L3_SLV_NAND_t;
6125 /* The struct declaration for the raw register contents of register group ALT_L3_SLV_NAND. */
6126 struct ALT_L3_SLV_NAND_raw_s
6127 {
6128     volatile uint32_t  _pad_0x0_0xff[64];  /* *UNDEFINED* */
6129     volatile uint32_t  read_qos;           /* ALT_L3_RD_QOS */
6130     volatile uint32_t  write_qos;          /* ALT_L3_WR_QOS */
6131     volatile uint32_t  fn_mod;             /* ALT_L3_FN_MOD */
6132 };
6133 
6134 /* The typedef declaration for the raw register contents of register group ALT_L3_SLV_NAND. */
6135 typedef volatile struct ALT_L3_SLV_NAND_raw_s  ALT_L3_SLV_NAND_raw_t;
6136 #endif  /* __ASSEMBLY__ */
6137 
6138 
6139 /*
6140  * Register Group : USB1 - ALT_L3_SLV_USB1
6141  * USB1
6142  * 
6143  * Registers associated with the USB1 slave interface. This slave is used by the
6144  * DMA controller built into the USB1 to access slaves attached to the L3/L4
6145  * Interconnect.
6146  * 
6147  */
6148 #ifndef __ASSEMBLY__
6149 /*
6150  * WARNING: The C register and register group struct declarations are provided for
6151  * convenience and illustrative purposes. They should, however, be used with
6152  * caution as the C language standard provides no guarantees about the alignment or
6153  * atomicity of device memory accesses. The recommended practice for writing
6154  * hardware drivers is to use the SoCAL access macros and alt_read_word() and
6155  * alt_write_word() functions.
6156  * 
6157  * The struct declaration for register group ALT_L3_SLV_USB1.
6158  */
6159 struct ALT_L3_SLV_USB1_s
6160 {
6161     volatile uint32_t             _pad_0x0_0x27[10];   /* *UNDEFINED* */
6162     volatile ALT_L3_FN_MOD_AHB_t  fn_mod_ahb;          /* ALT_L3_FN_MOD_AHB */
6163     volatile uint32_t             _pad_0x2c_0xff[53];  /* *UNDEFINED* */
6164     volatile ALT_L3_RD_QOS_t      read_qos;            /* ALT_L3_RD_QOS */
6165     volatile ALT_L3_WR_QOS_t      write_qos;           /* ALT_L3_WR_QOS */
6166     volatile ALT_L3_FN_MOD_t      fn_mod;              /* ALT_L3_FN_MOD */
6167 };
6168 
6169 /* The typedef declaration for register group ALT_L3_SLV_USB1. */
6170 typedef volatile struct ALT_L3_SLV_USB1_s  ALT_L3_SLV_USB1_t;
6171 /* The struct declaration for the raw register contents of register group ALT_L3_SLV_USB1. */
6172 struct ALT_L3_SLV_USB1_raw_s
6173 {
6174     volatile uint32_t  _pad_0x0_0x27[10];   /* *UNDEFINED* */
6175     volatile uint32_t  fn_mod_ahb;          /* ALT_L3_FN_MOD_AHB */
6176     volatile uint32_t  _pad_0x2c_0xff[53];  /* *UNDEFINED* */
6177     volatile uint32_t  read_qos;            /* ALT_L3_RD_QOS */
6178     volatile uint32_t  write_qos;           /* ALT_L3_WR_QOS */
6179     volatile uint32_t  fn_mod;              /* ALT_L3_FN_MOD */
6180 };
6181 
6182 /* The typedef declaration for the raw register contents of register group ALT_L3_SLV_USB1. */
6183 typedef volatile struct ALT_L3_SLV_USB1_raw_s  ALT_L3_SLV_USB1_raw_t;
6184 #endif  /* __ASSEMBLY__ */
6185 
6186 
6187 #ifndef __ASSEMBLY__
6188 /*
6189  * WARNING: The C register and register group struct declarations are provided for
6190  * convenience and illustrative purposes. They should, however, be used with
6191  * caution as the C language standard provides no guarantees about the alignment or
6192  * atomicity of device memory accesses. The recommended practice for writing
6193  * hardware drivers is to use the SoCAL access macros and alt_read_word() and
6194  * alt_write_word() functions.
6195  * 
6196  * The struct declaration for register group ALT_L3_SLVGRP.
6197  */
6198 struct ALT_L3_SLVGRP_s
6199 {
6200     volatile ALT_L3_SLV_DAP_t    slavegrp_dap;             /* ALT_L3_SLV_DAP */
6201     volatile uint32_t            _pad_0x10c_0xfff[957];    /* *UNDEFINED* */
6202     volatile ALT_L3_SLV_MPU_t    slavegrp_mpu;             /* ALT_L3_SLV_MPU */
6203     volatile uint32_t            _pad_0x110c_0x1fff[957];  /* *UNDEFINED* */
6204     volatile ALT_L3_SLV_SDMMC_t  slavegrp_sdmmc;           /* ALT_L3_SLV_SDMMC */
6205     volatile uint32_t            _pad_0x210c_0x2fff[957];  /* *UNDEFINED* */
6206     volatile ALT_L3_SLV_DMA_t    slavegrp_dma;             /* ALT_L3_SLV_DMA */
6207     volatile uint32_t            _pad_0x310c_0x3fff[957];  /* *UNDEFINED* */
6208     volatile ALT_L3_SLV_F2H_t    slavegrp_fpga2hps;        /* ALT_L3_SLV_F2H */
6209     volatile uint32_t            _pad_0x410c_0x4fff[957];  /* *UNDEFINED* */
6210     volatile ALT_L3_SLV_ETR_t    slavegrp_etr;             /* ALT_L3_SLV_ETR */
6211     volatile uint32_t            _pad_0x510c_0x5fff[957];  /* *UNDEFINED* */
6212     volatile ALT_L3_SLV_EMAC0_t  slavegrp_emac0;           /* ALT_L3_SLV_EMAC0 */
6213     volatile uint32_t            _pad_0x610c_0x6fff[957];  /* *UNDEFINED* */
6214     volatile ALT_L3_SLV_EMAC1_t  slavegrp_emac1;           /* ALT_L3_SLV_EMAC1 */
6215     volatile uint32_t            _pad_0x710c_0x7fff[957];  /* *UNDEFINED* */
6216     volatile ALT_L3_SLV_USB0_t   slavegrp_usb0;            /* ALT_L3_SLV_USB0 */
6217     volatile uint32_t            _pad_0x810c_0x8fff[957];  /* *UNDEFINED* */
6218     volatile ALT_L3_SLV_NAND_t   slavegrp_nand;            /* ALT_L3_SLV_NAND */
6219     volatile uint32_t            _pad_0x910c_0x9fff[957];  /* *UNDEFINED* */
6220     volatile ALT_L3_SLV_USB1_t   slavegrp_usb1;            /* ALT_L3_SLV_USB1 */
6221 };
6222 
6223 /* The typedef declaration for register group ALT_L3_SLVGRP. */
6224 typedef volatile struct ALT_L3_SLVGRP_s  ALT_L3_SLVGRP_t;
6225 /* The struct declaration for the raw register contents of register group ALT_L3_SLVGRP. */
6226 struct ALT_L3_SLVGRP_raw_s
6227 {
6228     volatile ALT_L3_SLV_DAP_raw_t    slavegrp_dap;             /* ALT_L3_SLV_DAP */
6229     volatile uint32_t                _pad_0x10c_0xfff[957];    /* *UNDEFINED* */
6230     volatile ALT_L3_SLV_MPU_raw_t    slavegrp_mpu;             /* ALT_L3_SLV_MPU */
6231     volatile uint32_t                _pad_0x110c_0x1fff[957];  /* *UNDEFINED* */
6232     volatile ALT_L3_SLV_SDMMC_raw_t  slavegrp_sdmmc;           /* ALT_L3_SLV_SDMMC */
6233     volatile uint32_t                _pad_0x210c_0x2fff[957];  /* *UNDEFINED* */
6234     volatile ALT_L3_SLV_DMA_raw_t    slavegrp_dma;             /* ALT_L3_SLV_DMA */
6235     volatile uint32_t                _pad_0x310c_0x3fff[957];  /* *UNDEFINED* */
6236     volatile ALT_L3_SLV_F2H_raw_t    slavegrp_fpga2hps;        /* ALT_L3_SLV_F2H */
6237     volatile uint32_t                _pad_0x410c_0x4fff[957];  /* *UNDEFINED* */
6238     volatile ALT_L3_SLV_ETR_raw_t    slavegrp_etr;             /* ALT_L3_SLV_ETR */
6239     volatile uint32_t                _pad_0x510c_0x5fff[957];  /* *UNDEFINED* */
6240     volatile ALT_L3_SLV_EMAC0_raw_t  slavegrp_emac0;           /* ALT_L3_SLV_EMAC0 */
6241     volatile uint32_t                _pad_0x610c_0x6fff[957];  /* *UNDEFINED* */
6242     volatile ALT_L3_SLV_EMAC1_raw_t  slavegrp_emac1;           /* ALT_L3_SLV_EMAC1 */
6243     volatile uint32_t                _pad_0x710c_0x7fff[957];  /* *UNDEFINED* */
6244     volatile ALT_L3_SLV_USB0_raw_t   slavegrp_usb0;            /* ALT_L3_SLV_USB0 */
6245     volatile uint32_t                _pad_0x810c_0x8fff[957];  /* *UNDEFINED* */
6246     volatile ALT_L3_SLV_NAND_raw_t   slavegrp_nand;            /* ALT_L3_SLV_NAND */
6247     volatile uint32_t                _pad_0x910c_0x9fff[957];  /* *UNDEFINED* */
6248     volatile ALT_L3_SLV_USB1_raw_t   slavegrp_usb1;            /* ALT_L3_SLV_USB1 */
6249 };
6250 
6251 /* The typedef declaration for the raw register contents of register group ALT_L3_SLVGRP. */
6252 typedef volatile struct ALT_L3_SLVGRP_raw_s  ALT_L3_SLVGRP_raw_t;
6253 #endif  /* __ASSEMBLY__ */
6254 
6255 
6256 #ifndef __ASSEMBLY__
6257 /*
6258  * WARNING: The C register and register group struct declarations are provided for
6259  * convenience and illustrative purposes. They should, however, be used with
6260  * caution as the C language standard provides no guarantees about the alignment or
6261  * atomicity of device memory accesses. The recommended practice for writing
6262  * hardware drivers is to use the SoCAL access macros and alt_read_word() and
6263  * alt_write_word() functions.
6264  * 
6265  * The struct declaration for register group ALT_L3.
6266  */
6267 struct ALT_L3_s
6268 {
6269     volatile ALT_L3_REMAP_t   remap;                        /* ALT_L3_REMAP */
6270     volatile uint32_t         _pad_0x4_0x7;                 /* *UNDEFINED* */
6271     volatile ALT_L3_SECGRP_t  secgrp;                       /* ALT_L3_SECGRP */
6272     volatile uint32_t         _pad_0xa4_0xfff[983];         /* *UNDEFINED* */
6273     volatile ALT_L3_IDGRP_t   idgrp;                        /* ALT_L3_IDGRP */
6274     volatile ALT_L3_MSTGRP_t  mastergrp;                    /* ALT_L3_MSTGRP */
6275     volatile uint32_t         _pad_0x2710c_0x41fff[27581];  /* *UNDEFINED* */
6276     volatile ALT_L3_SLVGRP_t  slavegrp;                     /* ALT_L3_SLVGRP */
6277     volatile uint32_t         _pad_0x4c10c_0x80000[53181];  /* *UNDEFINED* */
6278 };
6279 
6280 /* The typedef declaration for register group ALT_L3. */
6281 typedef volatile struct ALT_L3_s  ALT_L3_t;
6282 /* The struct declaration for the raw register contents of register group ALT_L3. */
6283 struct ALT_L3_raw_s
6284 {
6285     volatile uint32_t             remap;                        /* ALT_L3_REMAP */
6286     volatile uint32_t             _pad_0x4_0x7;                 /* *UNDEFINED* */
6287     volatile ALT_L3_SECGRP_raw_t  secgrp;                       /* ALT_L3_SECGRP */
6288     volatile uint32_t             _pad_0xa4_0xfff[983];         /* *UNDEFINED* */
6289     volatile ALT_L3_IDGRP_raw_t   idgrp;                        /* ALT_L3_IDGRP */
6290     volatile ALT_L3_MSTGRP_raw_t  mastergrp;                    /* ALT_L3_MSTGRP */
6291     volatile uint32_t             _pad_0x2710c_0x41fff[27581];  /* *UNDEFINED* */
6292     volatile ALT_L3_SLVGRP_raw_t  slavegrp;                     /* ALT_L3_SLVGRP */
6293     volatile uint32_t             _pad_0x4c10c_0x80000[53181];  /* *UNDEFINED* */
6294 };
6295 
6296 /* The typedef declaration for the raw register contents of register group ALT_L3. */
6297 typedef volatile struct ALT_L3_raw_s  ALT_L3_raw_t;
6298 #endif  /* __ASSEMBLY__ */
6299 
6300 
6301 #ifdef __cplusplus
6302 }
6303 #endif  /* __cplusplus */
6304 #endif  /* __ALTERA_ALT_L3_H__ */
6305