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_CLKMGR */
0038 
0039 #ifndef __ALTERA_ALT_CLKMGR_H__
0040 #define __ALTERA_ALT_CLKMGR_H__
0041 
0042 #ifdef __cplusplus
0043 extern "C"
0044 {
0045 #endif  /* __cplusplus */
0046 
0047 /*
0048  * Component : Clock Manager Module - ALT_CLKMGR
0049  * Clock Manager Module
0050  * 
0051  * Registers in the Clock Manager module
0052  * 
0053  */
0054 /*
0055  * Register : Control Register - ctrl
0056  * 
0057  * Contains fields that control the entire Clock Manager.
0058  * 
0059  * Register Layout
0060  * 
0061  *  Bits   | Access | Reset | Description                  
0062  * :-------|:-------|:------|:------------------------------
0063  *  [0]    | RW     | 0x1   | Safe Mode                    
0064  *  [1]    | ???    | 0x0   | *UNDEFINED*                  
0065  *  [2]    | RW     | 0x1   | Enable SafeMode on Warm Reset
0066  *  [31:3] | ???    | 0x0   | *UNDEFINED*                  
0067  * 
0068  */
0069 /*
0070  * Field : Safe Mode - safemode
0071  * 
0072  * When set the Clock Manager is in Safe Mode.
0073  * 
0074  * In Safe Mode Clock Manager register settings defining clock behavior are ignored
0075  * and clocks are set to a Safe Mode state.In Safe Mode all clocks with the
0076  * optional exception of debug clocks, are directly generated from the EOSC1 clock
0077  * input, all PLLs are bypassed, all programmable dividers are set to 1 and all
0078  * clocks are enabled.
0079  * 
0080  * This bit should only be cleared when clocks have been correctly configured
0081  * 
0082  * This field is set on a cold reset and optionally on a warm reset and may not be
0083  * set by SW.
0084  * 
0085  * Field Access Macros:
0086  * 
0087  */
0088 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_CTL_SAFEMOD register field. */
0089 #define ALT_CLKMGR_CTL_SAFEMOD_LSB        0
0090 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_CTL_SAFEMOD register field. */
0091 #define ALT_CLKMGR_CTL_SAFEMOD_MSB        0
0092 /* The width in bits of the ALT_CLKMGR_CTL_SAFEMOD register field. */
0093 #define ALT_CLKMGR_CTL_SAFEMOD_WIDTH      1
0094 /* The mask used to set the ALT_CLKMGR_CTL_SAFEMOD register field value. */
0095 #define ALT_CLKMGR_CTL_SAFEMOD_SET_MSK    0x00000001
0096 /* The mask used to clear the ALT_CLKMGR_CTL_SAFEMOD register field value. */
0097 #define ALT_CLKMGR_CTL_SAFEMOD_CLR_MSK    0xfffffffe
0098 /* The reset value of the ALT_CLKMGR_CTL_SAFEMOD register field. */
0099 #define ALT_CLKMGR_CTL_SAFEMOD_RESET      0x1
0100 /* Extracts the ALT_CLKMGR_CTL_SAFEMOD field value from a register. */
0101 #define ALT_CLKMGR_CTL_SAFEMOD_GET(value) (((value) & 0x00000001) >> 0)
0102 /* Produces a ALT_CLKMGR_CTL_SAFEMOD register field value suitable for setting the register. */
0103 #define ALT_CLKMGR_CTL_SAFEMOD_SET(value) (((value) << 0) & 0x00000001)
0104 
0105 /*
0106  * Field : Enable SafeMode on Warm Reset - ensfmdwr
0107  * 
0108  * When set the Clock Manager will respond to a Safe Mode request from the Reset
0109  * Manager on a warm reset by setting the Safe Mode bit. When clear the clock
0110  * manager will not set the the Safe Mode bit on a warm reset This bit is cleared
0111  * on a cold reset. Warm reset has no affect on this bit.
0112  * 
0113  * Field Access Macros:
0114  * 
0115  */
0116 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_CTL_ENSFMDWR register field. */
0117 #define ALT_CLKMGR_CTL_ENSFMDWR_LSB        2
0118 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_CTL_ENSFMDWR register field. */
0119 #define ALT_CLKMGR_CTL_ENSFMDWR_MSB        2
0120 /* The width in bits of the ALT_CLKMGR_CTL_ENSFMDWR register field. */
0121 #define ALT_CLKMGR_CTL_ENSFMDWR_WIDTH      1
0122 /* The mask used to set the ALT_CLKMGR_CTL_ENSFMDWR register field value. */
0123 #define ALT_CLKMGR_CTL_ENSFMDWR_SET_MSK    0x00000004
0124 /* The mask used to clear the ALT_CLKMGR_CTL_ENSFMDWR register field value. */
0125 #define ALT_CLKMGR_CTL_ENSFMDWR_CLR_MSK    0xfffffffb
0126 /* The reset value of the ALT_CLKMGR_CTL_ENSFMDWR register field. */
0127 #define ALT_CLKMGR_CTL_ENSFMDWR_RESET      0x1
0128 /* Extracts the ALT_CLKMGR_CTL_ENSFMDWR field value from a register. */
0129 #define ALT_CLKMGR_CTL_ENSFMDWR_GET(value) (((value) & 0x00000004) >> 2)
0130 /* Produces a ALT_CLKMGR_CTL_ENSFMDWR register field value suitable for setting the register. */
0131 #define ALT_CLKMGR_CTL_ENSFMDWR_SET(value) (((value) << 2) & 0x00000004)
0132 
0133 #ifndef __ASSEMBLY__
0134 /*
0135  * WARNING: The C register and register group struct declarations are provided for
0136  * convenience and illustrative purposes. They should, however, be used with
0137  * caution as the C language standard provides no guarantees about the alignment or
0138  * atomicity of device memory accesses. The recommended practice for writing
0139  * hardware drivers is to use the SoCAL access macros and alt_read_word() and
0140  * alt_write_word() functions.
0141  * 
0142  * The struct declaration for register ALT_CLKMGR_CTL.
0143  */
0144 struct ALT_CLKMGR_CTL_s
0145 {
0146     uint32_t  safemode :  1;  /* Safe Mode */
0147     uint32_t           :  1;  /* *UNDEFINED* */
0148     uint32_t  ensfmdwr :  1;  /* Enable SafeMode on Warm Reset */
0149     uint32_t           : 29;  /* *UNDEFINED* */
0150 };
0151 
0152 /* The typedef declaration for register ALT_CLKMGR_CTL. */
0153 typedef volatile struct ALT_CLKMGR_CTL_s  ALT_CLKMGR_CTL_t;
0154 #endif  /* __ASSEMBLY__ */
0155 
0156 /* The byte offset of the ALT_CLKMGR_CTL register from the beginning of the component. */
0157 #define ALT_CLKMGR_CTL_OFST        0x0
0158 
0159 /*
0160  * Register : PLL Bypass Register - bypass
0161  * 
0162  * Contains fields that control bypassing each PLL.
0163  * 
0164  * Register Layout
0165  * 
0166  *  Bits   | Access | Reset | Description                 
0167  * :-------|:-------|:------|:-----------------------------
0168  *  [0]    | RW     | 0x1   | Main PLL Bypass             
0169  *  [1]    | RW     | 0x1   | SDRAM PLL Bypass            
0170  *  [2]    | RW     | 0x0   | SDRAM PLL Bypass Source     
0171  *  [3]    | RW     | 0x1   | Peripheral PLL Bypass       
0172  *  [4]    | RW     | 0x0   | Peripheral PLL Bypass Source
0173  *  [31:5] | ???    | 0x0   | *UNDEFINED*                 
0174  * 
0175  */
0176 /*
0177  * Field : Main PLL Bypass - mainpll
0178  * 
0179  * When set, causes the Main PLL VCO and counters to be bypassed so that all clocks
0180  * generated by the Main PLL are directly driven from the Main PLL input clock. The
0181  * bypass source for Main PLL is the external eosc1_clk.
0182  * 
0183  * The reset value for this bit is applied on a cold reset.   Warm reset has no
0184  * affect on this bit.
0185  * 
0186  * Field Access Macros:
0187  * 
0188  */
0189 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_BYPASS_MAINPLL register field. */
0190 #define ALT_CLKMGR_BYPASS_MAINPLL_LSB        0
0191 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_BYPASS_MAINPLL register field. */
0192 #define ALT_CLKMGR_BYPASS_MAINPLL_MSB        0
0193 /* The width in bits of the ALT_CLKMGR_BYPASS_MAINPLL register field. */
0194 #define ALT_CLKMGR_BYPASS_MAINPLL_WIDTH      1
0195 /* The mask used to set the ALT_CLKMGR_BYPASS_MAINPLL register field value. */
0196 #define ALT_CLKMGR_BYPASS_MAINPLL_SET_MSK    0x00000001
0197 /* The mask used to clear the ALT_CLKMGR_BYPASS_MAINPLL register field value. */
0198 #define ALT_CLKMGR_BYPASS_MAINPLL_CLR_MSK    0xfffffffe
0199 /* The reset value of the ALT_CLKMGR_BYPASS_MAINPLL register field. */
0200 #define ALT_CLKMGR_BYPASS_MAINPLL_RESET      0x1
0201 /* Extracts the ALT_CLKMGR_BYPASS_MAINPLL field value from a register. */
0202 #define ALT_CLKMGR_BYPASS_MAINPLL_GET(value) (((value) & 0x00000001) >> 0)
0203 /* Produces a ALT_CLKMGR_BYPASS_MAINPLL register field value suitable for setting the register. */
0204 #define ALT_CLKMGR_BYPASS_MAINPLL_SET(value) (((value) << 0) & 0x00000001)
0205 
0206 /*
0207  * Field : SDRAM PLL Bypass - sdrpll
0208  * 
0209  * When set, causes the SDRAM PLL VCO and counters to be bypassed so that all
0210  * clocks generated by the SDRAM PLL are directly driven from either eosc1_clk or
0211  * the SDRAM PLL input clock.
0212  * 
0213  * The bypass clock source for SDRAM PLL is determined by the SDRAM PLL Bypass
0214  * Source Register bit.
0215  * 
0216  * The reset value for this bit is applied on a cold reset.   Warm reset has no
0217  * affect on this bit.
0218  * 
0219  * Field Access Macros:
0220  * 
0221  */
0222 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_BYPASS_SDRPLL register field. */
0223 #define ALT_CLKMGR_BYPASS_SDRPLL_LSB        1
0224 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_BYPASS_SDRPLL register field. */
0225 #define ALT_CLKMGR_BYPASS_SDRPLL_MSB        1
0226 /* The width in bits of the ALT_CLKMGR_BYPASS_SDRPLL register field. */
0227 #define ALT_CLKMGR_BYPASS_SDRPLL_WIDTH      1
0228 /* The mask used to set the ALT_CLKMGR_BYPASS_SDRPLL register field value. */
0229 #define ALT_CLKMGR_BYPASS_SDRPLL_SET_MSK    0x00000002
0230 /* The mask used to clear the ALT_CLKMGR_BYPASS_SDRPLL register field value. */
0231 #define ALT_CLKMGR_BYPASS_SDRPLL_CLR_MSK    0xfffffffd
0232 /* The reset value of the ALT_CLKMGR_BYPASS_SDRPLL register field. */
0233 #define ALT_CLKMGR_BYPASS_SDRPLL_RESET      0x1
0234 /* Extracts the ALT_CLKMGR_BYPASS_SDRPLL field value from a register. */
0235 #define ALT_CLKMGR_BYPASS_SDRPLL_GET(value) (((value) & 0x00000002) >> 1)
0236 /* Produces a ALT_CLKMGR_BYPASS_SDRPLL register field value suitable for setting the register. */
0237 #define ALT_CLKMGR_BYPASS_SDRPLL_SET(value) (((value) << 1) & 0x00000002)
0238 
0239 /*
0240  * Field : SDRAM PLL Bypass Source - sdrpllsrc
0241  * 
0242  * This bit defines the bypass source forSDRAM PLL.
0243  * 
0244  * When changing fields that affect VCO lock the PLL must be bypassed and this bit
0245  * must be set to OSC1_CLK.
0246  * 
0247  * The reset value for this bit is applied on a cold reset.   Warm reset has no
0248  * affect on this bit.
0249  * 
0250  * Field Enumeration Values:
0251  * 
0252  *  Enum                                           | Value | Description         
0253  * :-----------------------------------------------|:------|:---------------------
0254  *  ALT_CLKMGR_BYPASS_SDRPLLSRC_E_SELECT_EOSC1     | 0x0   | Select EOSC1        
0255  *  ALT_CLKMGR_BYPASS_SDRPLLSRC_E_SELECT_INPUT_MUX | 0x1   | Select PLL Input Mux
0256  * 
0257  * Field Access Macros:
0258  * 
0259  */
0260 /*
0261  * Enumerated value for register field ALT_CLKMGR_BYPASS_SDRPLLSRC
0262  * 
0263  * Select EOSC1
0264  */
0265 #define ALT_CLKMGR_BYPASS_SDRPLLSRC_E_SELECT_EOSC1      0x0
0266 /*
0267  * Enumerated value for register field ALT_CLKMGR_BYPASS_SDRPLLSRC
0268  * 
0269  * Select PLL Input Mux
0270  */
0271 #define ALT_CLKMGR_BYPASS_SDRPLLSRC_E_SELECT_INPUT_MUX  0x1
0272 
0273 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_BYPASS_SDRPLLSRC register field. */
0274 #define ALT_CLKMGR_BYPASS_SDRPLLSRC_LSB        2
0275 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_BYPASS_SDRPLLSRC register field. */
0276 #define ALT_CLKMGR_BYPASS_SDRPLLSRC_MSB        2
0277 /* The width in bits of the ALT_CLKMGR_BYPASS_SDRPLLSRC register field. */
0278 #define ALT_CLKMGR_BYPASS_SDRPLLSRC_WIDTH      1
0279 /* The mask used to set the ALT_CLKMGR_BYPASS_SDRPLLSRC register field value. */
0280 #define ALT_CLKMGR_BYPASS_SDRPLLSRC_SET_MSK    0x00000004
0281 /* The mask used to clear the ALT_CLKMGR_BYPASS_SDRPLLSRC register field value. */
0282 #define ALT_CLKMGR_BYPASS_SDRPLLSRC_CLR_MSK    0xfffffffb
0283 /* The reset value of the ALT_CLKMGR_BYPASS_SDRPLLSRC register field. */
0284 #define ALT_CLKMGR_BYPASS_SDRPLLSRC_RESET      0x0
0285 /* Extracts the ALT_CLKMGR_BYPASS_SDRPLLSRC field value from a register. */
0286 #define ALT_CLKMGR_BYPASS_SDRPLLSRC_GET(value) (((value) & 0x00000004) >> 2)
0287 /* Produces a ALT_CLKMGR_BYPASS_SDRPLLSRC register field value suitable for setting the register. */
0288 #define ALT_CLKMGR_BYPASS_SDRPLLSRC_SET(value) (((value) << 2) & 0x00000004)
0289 
0290 /*
0291  * Field : Peripheral PLL Bypass - perpll
0292  * 
0293  * When set, causes the Peripheral PLL VCO and counters to be bypassed so that all
0294  * clocks generated by the Peripheral PLL are directly driven from either eosc1_clk
0295  * or the Peripheral PLL input clock.
0296  * 
0297  * The bypass clock source for Peripheral PLL is determined by the Peripheral PLL
0298  * Bypass Source Register bit.
0299  * 
0300  * The reset value for this bit is applied on a cold reset.   Warm reset has no
0301  * affect on this bit.
0302  * 
0303  * Field Access Macros:
0304  * 
0305  */
0306 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_BYPASS_PERPLL register field. */
0307 #define ALT_CLKMGR_BYPASS_PERPLL_LSB        3
0308 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_BYPASS_PERPLL register field. */
0309 #define ALT_CLKMGR_BYPASS_PERPLL_MSB        3
0310 /* The width in bits of the ALT_CLKMGR_BYPASS_PERPLL register field. */
0311 #define ALT_CLKMGR_BYPASS_PERPLL_WIDTH      1
0312 /* The mask used to set the ALT_CLKMGR_BYPASS_PERPLL register field value. */
0313 #define ALT_CLKMGR_BYPASS_PERPLL_SET_MSK    0x00000008
0314 /* The mask used to clear the ALT_CLKMGR_BYPASS_PERPLL register field value. */
0315 #define ALT_CLKMGR_BYPASS_PERPLL_CLR_MSK    0xfffffff7
0316 /* The reset value of the ALT_CLKMGR_BYPASS_PERPLL register field. */
0317 #define ALT_CLKMGR_BYPASS_PERPLL_RESET      0x1
0318 /* Extracts the ALT_CLKMGR_BYPASS_PERPLL field value from a register. */
0319 #define ALT_CLKMGR_BYPASS_PERPLL_GET(value) (((value) & 0x00000008) >> 3)
0320 /* Produces a ALT_CLKMGR_BYPASS_PERPLL register field value suitable for setting the register. */
0321 #define ALT_CLKMGR_BYPASS_PERPLL_SET(value) (((value) << 3) & 0x00000008)
0322 
0323 /*
0324  * Field : Peripheral PLL Bypass Source - perpllsrc
0325  * 
0326  * This bit defines the bypass source forPeripheral PLL.
0327  * 
0328  * When changing fields that affect VCO lock the PLL must be bypassed and this bit
0329  * must be set to OSC1_CLK.
0330  * 
0331  * The reset value for this bit is applied on a cold reset.   Warm reset has no
0332  * affect on this bit.
0333  * 
0334  * Field Enumeration Values:
0335  * 
0336  *  Enum                                           | Value | Description         
0337  * :-----------------------------------------------|:------|:---------------------
0338  *  ALT_CLKMGR_BYPASS_PERPLLSRC_E_SELECT_EOSC1     | 0x0   | Select EOSC1        
0339  *  ALT_CLKMGR_BYPASS_PERPLLSRC_E_SELECT_INPUT_MUX | 0x1   | Select PLL Input Mux
0340  * 
0341  * Field Access Macros:
0342  * 
0343  */
0344 /*
0345  * Enumerated value for register field ALT_CLKMGR_BYPASS_PERPLLSRC
0346  * 
0347  * Select EOSC1
0348  */
0349 #define ALT_CLKMGR_BYPASS_PERPLLSRC_E_SELECT_EOSC1      0x0
0350 /*
0351  * Enumerated value for register field ALT_CLKMGR_BYPASS_PERPLLSRC
0352  * 
0353  * Select PLL Input Mux
0354  */
0355 #define ALT_CLKMGR_BYPASS_PERPLLSRC_E_SELECT_INPUT_MUX  0x1
0356 
0357 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_BYPASS_PERPLLSRC register field. */
0358 #define ALT_CLKMGR_BYPASS_PERPLLSRC_LSB        4
0359 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_BYPASS_PERPLLSRC register field. */
0360 #define ALT_CLKMGR_BYPASS_PERPLLSRC_MSB        4
0361 /* The width in bits of the ALT_CLKMGR_BYPASS_PERPLLSRC register field. */
0362 #define ALT_CLKMGR_BYPASS_PERPLLSRC_WIDTH      1
0363 /* The mask used to set the ALT_CLKMGR_BYPASS_PERPLLSRC register field value. */
0364 #define ALT_CLKMGR_BYPASS_PERPLLSRC_SET_MSK    0x00000010
0365 /* The mask used to clear the ALT_CLKMGR_BYPASS_PERPLLSRC register field value. */
0366 #define ALT_CLKMGR_BYPASS_PERPLLSRC_CLR_MSK    0xffffffef
0367 /* The reset value of the ALT_CLKMGR_BYPASS_PERPLLSRC register field. */
0368 #define ALT_CLKMGR_BYPASS_PERPLLSRC_RESET      0x0
0369 /* Extracts the ALT_CLKMGR_BYPASS_PERPLLSRC field value from a register. */
0370 #define ALT_CLKMGR_BYPASS_PERPLLSRC_GET(value) (((value) & 0x00000010) >> 4)
0371 /* Produces a ALT_CLKMGR_BYPASS_PERPLLSRC register field value suitable for setting the register. */
0372 #define ALT_CLKMGR_BYPASS_PERPLLSRC_SET(value) (((value) << 4) & 0x00000010)
0373 
0374 #ifndef __ASSEMBLY__
0375 /*
0376  * WARNING: The C register and register group struct declarations are provided for
0377  * convenience and illustrative purposes. They should, however, be used with
0378  * caution as the C language standard provides no guarantees about the alignment or
0379  * atomicity of device memory accesses. The recommended practice for writing
0380  * hardware drivers is to use the SoCAL access macros and alt_read_word() and
0381  * alt_write_word() functions.
0382  * 
0383  * The struct declaration for register ALT_CLKMGR_BYPASS.
0384  */
0385 struct ALT_CLKMGR_BYPASS_s
0386 {
0387     uint32_t  mainpll   :  1;  /* Main PLL Bypass */
0388     uint32_t  sdrpll    :  1;  /* SDRAM PLL Bypass */
0389     uint32_t  sdrpllsrc :  1;  /* SDRAM PLL Bypass Source */
0390     uint32_t  perpll    :  1;  /* Peripheral PLL Bypass */
0391     uint32_t  perpllsrc :  1;  /* Peripheral PLL Bypass Source */
0392     uint32_t            : 27;  /* *UNDEFINED* */
0393 };
0394 
0395 /* The typedef declaration for register ALT_CLKMGR_BYPASS. */
0396 typedef volatile struct ALT_CLKMGR_BYPASS_s  ALT_CLKMGR_BYPASS_t;
0397 #endif  /* __ASSEMBLY__ */
0398 
0399 /* The byte offset of the ALT_CLKMGR_BYPASS register from the beginning of the component. */
0400 #define ALT_CLKMGR_BYPASS_OFST        0x4
0401 
0402 /*
0403  * Register : Interrupt Status Register - inter
0404  * 
0405  * Contains fields that indicate the PLL lock status.
0406  * 
0407  * Fields are only reset by a cold reset.
0408  * 
0409  * Register Layout
0410  * 
0411  *  Bits   | Access | Reset   | Description                       
0412  * :-------|:-------|:--------|:-----------------------------------
0413  *  [0]    | RW     | 0x0     | Main PLL Achieved Lock            
0414  *  [1]    | RW     | 0x0     | Peripheral PLL Achieved Lock      
0415  *  [2]    | RW     | 0x0     | SDRAM PLL Achieved Lock           
0416  *  [3]    | RW     | 0x0     | Main PLL Lost Lock                
0417  *  [4]    | RW     | 0x0     | Peripheral PLL Lost Lock          
0418  *  [5]    | RW     | 0x0     | SDRAM PLL Lost Lock               
0419  *  [6]    | R      | Unknown | Main PLL Current Lock Status      
0420  *  [7]    | R      | Unknown | Peripheral PLL Current Lock Status
0421  *  [8]    | R      | Unknown | SDRAM PLL Current Lock Status     
0422  *  [31:9] | ???    | 0x0     | *UNDEFINED*                       
0423  * 
0424  */
0425 /*
0426  * Field : Main PLL Achieved Lock - mainpllachieved
0427  * 
0428  * If 1, the Main PLL has achieved lock at least once since this bit was cleared.
0429  * If 0, the Main PLL has not achieved lock since this bit was cleared.
0430  * 
0431  * Field Access Macros:
0432  * 
0433  */
0434 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_INTER_MAINPLLACHIEVED register field. */
0435 #define ALT_CLKMGR_INTER_MAINPLLACHIEVED_LSB        0
0436 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_INTER_MAINPLLACHIEVED register field. */
0437 #define ALT_CLKMGR_INTER_MAINPLLACHIEVED_MSB        0
0438 /* The width in bits of the ALT_CLKMGR_INTER_MAINPLLACHIEVED register field. */
0439 #define ALT_CLKMGR_INTER_MAINPLLACHIEVED_WIDTH      1
0440 /* The mask used to set the ALT_CLKMGR_INTER_MAINPLLACHIEVED register field value. */
0441 #define ALT_CLKMGR_INTER_MAINPLLACHIEVED_SET_MSK    0x00000001
0442 /* The mask used to clear the ALT_CLKMGR_INTER_MAINPLLACHIEVED register field value. */
0443 #define ALT_CLKMGR_INTER_MAINPLLACHIEVED_CLR_MSK    0xfffffffe
0444 /* The reset value of the ALT_CLKMGR_INTER_MAINPLLACHIEVED register field. */
0445 #define ALT_CLKMGR_INTER_MAINPLLACHIEVED_RESET      0x0
0446 /* Extracts the ALT_CLKMGR_INTER_MAINPLLACHIEVED field value from a register. */
0447 #define ALT_CLKMGR_INTER_MAINPLLACHIEVED_GET(value) (((value) & 0x00000001) >> 0)
0448 /* Produces a ALT_CLKMGR_INTER_MAINPLLACHIEVED register field value suitable for setting the register. */
0449 #define ALT_CLKMGR_INTER_MAINPLLACHIEVED_SET(value) (((value) << 0) & 0x00000001)
0450 
0451 /*
0452  * Field : Peripheral PLL Achieved Lock - perpllachieved
0453  * 
0454  * If 1, the Peripheral PLL has achieved lock at least once since this bit was
0455  * cleared. If 0, the Peripheral PLL has not achieved lock since this bit was
0456  * cleared.
0457  * 
0458  * Field Access Macros:
0459  * 
0460  */
0461 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_INTER_PERPLLACHIEVED register field. */
0462 #define ALT_CLKMGR_INTER_PERPLLACHIEVED_LSB        1
0463 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_INTER_PERPLLACHIEVED register field. */
0464 #define ALT_CLKMGR_INTER_PERPLLACHIEVED_MSB        1
0465 /* The width in bits of the ALT_CLKMGR_INTER_PERPLLACHIEVED register field. */
0466 #define ALT_CLKMGR_INTER_PERPLLACHIEVED_WIDTH      1
0467 /* The mask used to set the ALT_CLKMGR_INTER_PERPLLACHIEVED register field value. */
0468 #define ALT_CLKMGR_INTER_PERPLLACHIEVED_SET_MSK    0x00000002
0469 /* The mask used to clear the ALT_CLKMGR_INTER_PERPLLACHIEVED register field value. */
0470 #define ALT_CLKMGR_INTER_PERPLLACHIEVED_CLR_MSK    0xfffffffd
0471 /* The reset value of the ALT_CLKMGR_INTER_PERPLLACHIEVED register field. */
0472 #define ALT_CLKMGR_INTER_PERPLLACHIEVED_RESET      0x0
0473 /* Extracts the ALT_CLKMGR_INTER_PERPLLACHIEVED field value from a register. */
0474 #define ALT_CLKMGR_INTER_PERPLLACHIEVED_GET(value) (((value) & 0x00000002) >> 1)
0475 /* Produces a ALT_CLKMGR_INTER_PERPLLACHIEVED register field value suitable for setting the register. */
0476 #define ALT_CLKMGR_INTER_PERPLLACHIEVED_SET(value) (((value) << 1) & 0x00000002)
0477 
0478 /*
0479  * Field : SDRAM PLL Achieved Lock - sdrpllachieved
0480  * 
0481  * If 1, the SDRAM PLL has achieved lock at least once since this bit was cleared.
0482  * If 0, the SDRAM PLL has not achieved lock since this bit was cleared.
0483  * 
0484  * Field Access Macros:
0485  * 
0486  */
0487 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_INTER_SDRPLLACHIEVED register field. */
0488 #define ALT_CLKMGR_INTER_SDRPLLACHIEVED_LSB        2
0489 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_INTER_SDRPLLACHIEVED register field. */
0490 #define ALT_CLKMGR_INTER_SDRPLLACHIEVED_MSB        2
0491 /* The width in bits of the ALT_CLKMGR_INTER_SDRPLLACHIEVED register field. */
0492 #define ALT_CLKMGR_INTER_SDRPLLACHIEVED_WIDTH      1
0493 /* The mask used to set the ALT_CLKMGR_INTER_SDRPLLACHIEVED register field value. */
0494 #define ALT_CLKMGR_INTER_SDRPLLACHIEVED_SET_MSK    0x00000004
0495 /* The mask used to clear the ALT_CLKMGR_INTER_SDRPLLACHIEVED register field value. */
0496 #define ALT_CLKMGR_INTER_SDRPLLACHIEVED_CLR_MSK    0xfffffffb
0497 /* The reset value of the ALT_CLKMGR_INTER_SDRPLLACHIEVED register field. */
0498 #define ALT_CLKMGR_INTER_SDRPLLACHIEVED_RESET      0x0
0499 /* Extracts the ALT_CLKMGR_INTER_SDRPLLACHIEVED field value from a register. */
0500 #define ALT_CLKMGR_INTER_SDRPLLACHIEVED_GET(value) (((value) & 0x00000004) >> 2)
0501 /* Produces a ALT_CLKMGR_INTER_SDRPLLACHIEVED register field value suitable for setting the register. */
0502 #define ALT_CLKMGR_INTER_SDRPLLACHIEVED_SET(value) (((value) << 2) & 0x00000004)
0503 
0504 /*
0505  * Field : Main PLL Lost Lock - mainplllost
0506  * 
0507  * If 1, the Main PLL has lost lock at least once since this bit was cleared. If 0,
0508  * the Main PLL has not lost lock since this bit was cleared.
0509  * 
0510  * Field Access Macros:
0511  * 
0512  */
0513 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_INTER_MAINPLLLOST register field. */
0514 #define ALT_CLKMGR_INTER_MAINPLLLOST_LSB        3
0515 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_INTER_MAINPLLLOST register field. */
0516 #define ALT_CLKMGR_INTER_MAINPLLLOST_MSB        3
0517 /* The width in bits of the ALT_CLKMGR_INTER_MAINPLLLOST register field. */
0518 #define ALT_CLKMGR_INTER_MAINPLLLOST_WIDTH      1
0519 /* The mask used to set the ALT_CLKMGR_INTER_MAINPLLLOST register field value. */
0520 #define ALT_CLKMGR_INTER_MAINPLLLOST_SET_MSK    0x00000008
0521 /* The mask used to clear the ALT_CLKMGR_INTER_MAINPLLLOST register field value. */
0522 #define ALT_CLKMGR_INTER_MAINPLLLOST_CLR_MSK    0xfffffff7
0523 /* The reset value of the ALT_CLKMGR_INTER_MAINPLLLOST register field. */
0524 #define ALT_CLKMGR_INTER_MAINPLLLOST_RESET      0x0
0525 /* Extracts the ALT_CLKMGR_INTER_MAINPLLLOST field value from a register. */
0526 #define ALT_CLKMGR_INTER_MAINPLLLOST_GET(value) (((value) & 0x00000008) >> 3)
0527 /* Produces a ALT_CLKMGR_INTER_MAINPLLLOST register field value suitable for setting the register. */
0528 #define ALT_CLKMGR_INTER_MAINPLLLOST_SET(value) (((value) << 3) & 0x00000008)
0529 
0530 /*
0531  * Field : Peripheral PLL Lost Lock - perplllost
0532  * 
0533  * If 1, the Peripheral PLL has lost lock at least once since this bit was cleared.
0534  * If 0, the Peripheral PLL has not lost lock since this bit was cleared.
0535  * 
0536  * Field Access Macros:
0537  * 
0538  */
0539 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_INTER_PERPLLLOST register field. */
0540 #define ALT_CLKMGR_INTER_PERPLLLOST_LSB        4
0541 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_INTER_PERPLLLOST register field. */
0542 #define ALT_CLKMGR_INTER_PERPLLLOST_MSB        4
0543 /* The width in bits of the ALT_CLKMGR_INTER_PERPLLLOST register field. */
0544 #define ALT_CLKMGR_INTER_PERPLLLOST_WIDTH      1
0545 /* The mask used to set the ALT_CLKMGR_INTER_PERPLLLOST register field value. */
0546 #define ALT_CLKMGR_INTER_PERPLLLOST_SET_MSK    0x00000010
0547 /* The mask used to clear the ALT_CLKMGR_INTER_PERPLLLOST register field value. */
0548 #define ALT_CLKMGR_INTER_PERPLLLOST_CLR_MSK    0xffffffef
0549 /* The reset value of the ALT_CLKMGR_INTER_PERPLLLOST register field. */
0550 #define ALT_CLKMGR_INTER_PERPLLLOST_RESET      0x0
0551 /* Extracts the ALT_CLKMGR_INTER_PERPLLLOST field value from a register. */
0552 #define ALT_CLKMGR_INTER_PERPLLLOST_GET(value) (((value) & 0x00000010) >> 4)
0553 /* Produces a ALT_CLKMGR_INTER_PERPLLLOST register field value suitable for setting the register. */
0554 #define ALT_CLKMGR_INTER_PERPLLLOST_SET(value) (((value) << 4) & 0x00000010)
0555 
0556 /*
0557  * Field : SDRAM PLL Lost Lock - sdrplllost
0558  * 
0559  * If 1, the SDRAM PLL has lost lock at least once since this bit was cleared. If
0560  * 0, the SDRAM PLL has not lost lock since this bit was cleared.
0561  * 
0562  * Field Access Macros:
0563  * 
0564  */
0565 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_INTER_SDRPLLLOST register field. */
0566 #define ALT_CLKMGR_INTER_SDRPLLLOST_LSB        5
0567 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_INTER_SDRPLLLOST register field. */
0568 #define ALT_CLKMGR_INTER_SDRPLLLOST_MSB        5
0569 /* The width in bits of the ALT_CLKMGR_INTER_SDRPLLLOST register field. */
0570 #define ALT_CLKMGR_INTER_SDRPLLLOST_WIDTH      1
0571 /* The mask used to set the ALT_CLKMGR_INTER_SDRPLLLOST register field value. */
0572 #define ALT_CLKMGR_INTER_SDRPLLLOST_SET_MSK    0x00000020
0573 /* The mask used to clear the ALT_CLKMGR_INTER_SDRPLLLOST register field value. */
0574 #define ALT_CLKMGR_INTER_SDRPLLLOST_CLR_MSK    0xffffffdf
0575 /* The reset value of the ALT_CLKMGR_INTER_SDRPLLLOST register field. */
0576 #define ALT_CLKMGR_INTER_SDRPLLLOST_RESET      0x0
0577 /* Extracts the ALT_CLKMGR_INTER_SDRPLLLOST field value from a register. */
0578 #define ALT_CLKMGR_INTER_SDRPLLLOST_GET(value) (((value) & 0x00000020) >> 5)
0579 /* Produces a ALT_CLKMGR_INTER_SDRPLLLOST register field value suitable for setting the register. */
0580 #define ALT_CLKMGR_INTER_SDRPLLLOST_SET(value) (((value) << 5) & 0x00000020)
0581 
0582 /*
0583  * Field : Main PLL Current Lock Status - mainplllocked
0584  * 
0585  * If 1, the Main PLL is currently locked. If 0, the Main PLL is currently not
0586  * locked.
0587  * 
0588  * Field Access Macros:
0589  * 
0590  */
0591 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_INTER_MAINPLLLOCKED register field. */
0592 #define ALT_CLKMGR_INTER_MAINPLLLOCKED_LSB        6
0593 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_INTER_MAINPLLLOCKED register field. */
0594 #define ALT_CLKMGR_INTER_MAINPLLLOCKED_MSB        6
0595 /* The width in bits of the ALT_CLKMGR_INTER_MAINPLLLOCKED register field. */
0596 #define ALT_CLKMGR_INTER_MAINPLLLOCKED_WIDTH      1
0597 /* The mask used to set the ALT_CLKMGR_INTER_MAINPLLLOCKED register field value. */
0598 #define ALT_CLKMGR_INTER_MAINPLLLOCKED_SET_MSK    0x00000040
0599 /* The mask used to clear the ALT_CLKMGR_INTER_MAINPLLLOCKED register field value. */
0600 #define ALT_CLKMGR_INTER_MAINPLLLOCKED_CLR_MSK    0xffffffbf
0601 /* The reset value of the ALT_CLKMGR_INTER_MAINPLLLOCKED register field is UNKNOWN. */
0602 #define ALT_CLKMGR_INTER_MAINPLLLOCKED_RESET      0x0
0603 /* Extracts the ALT_CLKMGR_INTER_MAINPLLLOCKED field value from a register. */
0604 #define ALT_CLKMGR_INTER_MAINPLLLOCKED_GET(value) (((value) & 0x00000040) >> 6)
0605 /* Produces a ALT_CLKMGR_INTER_MAINPLLLOCKED register field value suitable for setting the register. */
0606 #define ALT_CLKMGR_INTER_MAINPLLLOCKED_SET(value) (((value) << 6) & 0x00000040)
0607 
0608 /*
0609  * Field : Peripheral PLL Current Lock Status - perplllocked
0610  * 
0611  * If 1, the Peripheral PLL is currently locked. If 0, the Peripheral PLL is
0612  * currently not locked.
0613  * 
0614  * Field Access Macros:
0615  * 
0616  */
0617 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_INTER_PERPLLLOCKED register field. */
0618 #define ALT_CLKMGR_INTER_PERPLLLOCKED_LSB        7
0619 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_INTER_PERPLLLOCKED register field. */
0620 #define ALT_CLKMGR_INTER_PERPLLLOCKED_MSB        7
0621 /* The width in bits of the ALT_CLKMGR_INTER_PERPLLLOCKED register field. */
0622 #define ALT_CLKMGR_INTER_PERPLLLOCKED_WIDTH      1
0623 /* The mask used to set the ALT_CLKMGR_INTER_PERPLLLOCKED register field value. */
0624 #define ALT_CLKMGR_INTER_PERPLLLOCKED_SET_MSK    0x00000080
0625 /* The mask used to clear the ALT_CLKMGR_INTER_PERPLLLOCKED register field value. */
0626 #define ALT_CLKMGR_INTER_PERPLLLOCKED_CLR_MSK    0xffffff7f
0627 /* The reset value of the ALT_CLKMGR_INTER_PERPLLLOCKED register field is UNKNOWN. */
0628 #define ALT_CLKMGR_INTER_PERPLLLOCKED_RESET      0x0
0629 /* Extracts the ALT_CLKMGR_INTER_PERPLLLOCKED field value from a register. */
0630 #define ALT_CLKMGR_INTER_PERPLLLOCKED_GET(value) (((value) & 0x00000080) >> 7)
0631 /* Produces a ALT_CLKMGR_INTER_PERPLLLOCKED register field value suitable for setting the register. */
0632 #define ALT_CLKMGR_INTER_PERPLLLOCKED_SET(value) (((value) << 7) & 0x00000080)
0633 
0634 /*
0635  * Field : SDRAM PLL Current Lock Status - sdrplllocked
0636  * 
0637  * If 1, the SDRAM PLL is currently locked. If 0, the SDRAM PLL is currently not
0638  * locked.
0639  * 
0640  * Field Access Macros:
0641  * 
0642  */
0643 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_INTER_SDRPLLLOCKED register field. */
0644 #define ALT_CLKMGR_INTER_SDRPLLLOCKED_LSB        8
0645 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_INTER_SDRPLLLOCKED register field. */
0646 #define ALT_CLKMGR_INTER_SDRPLLLOCKED_MSB        8
0647 /* The width in bits of the ALT_CLKMGR_INTER_SDRPLLLOCKED register field. */
0648 #define ALT_CLKMGR_INTER_SDRPLLLOCKED_WIDTH      1
0649 /* The mask used to set the ALT_CLKMGR_INTER_SDRPLLLOCKED register field value. */
0650 #define ALT_CLKMGR_INTER_SDRPLLLOCKED_SET_MSK    0x00000100
0651 /* The mask used to clear the ALT_CLKMGR_INTER_SDRPLLLOCKED register field value. */
0652 #define ALT_CLKMGR_INTER_SDRPLLLOCKED_CLR_MSK    0xfffffeff
0653 /* The reset value of the ALT_CLKMGR_INTER_SDRPLLLOCKED register field is UNKNOWN. */
0654 #define ALT_CLKMGR_INTER_SDRPLLLOCKED_RESET      0x0
0655 /* Extracts the ALT_CLKMGR_INTER_SDRPLLLOCKED field value from a register. */
0656 #define ALT_CLKMGR_INTER_SDRPLLLOCKED_GET(value) (((value) & 0x00000100) >> 8)
0657 /* Produces a ALT_CLKMGR_INTER_SDRPLLLOCKED register field value suitable for setting the register. */
0658 #define ALT_CLKMGR_INTER_SDRPLLLOCKED_SET(value) (((value) << 8) & 0x00000100)
0659 
0660 #ifndef __ASSEMBLY__
0661 /*
0662  * WARNING: The C register and register group struct declarations are provided for
0663  * convenience and illustrative purposes. They should, however, be used with
0664  * caution as the C language standard provides no guarantees about the alignment or
0665  * atomicity of device memory accesses. The recommended practice for writing
0666  * hardware drivers is to use the SoCAL access macros and alt_read_word() and
0667  * alt_write_word() functions.
0668  * 
0669  * The struct declaration for register ALT_CLKMGR_INTER.
0670  */
0671 struct ALT_CLKMGR_INTER_s
0672 {
0673     uint32_t        mainpllachieved :  1;  /* Main PLL Achieved Lock */
0674     uint32_t        perpllachieved  :  1;  /* Peripheral PLL Achieved Lock */
0675     uint32_t        sdrpllachieved  :  1;  /* SDRAM PLL Achieved Lock */
0676     uint32_t        mainplllost     :  1;  /* Main PLL Lost Lock */
0677     uint32_t        perplllost      :  1;  /* Peripheral PLL Lost Lock */
0678     uint32_t        sdrplllost      :  1;  /* SDRAM PLL Lost Lock */
0679     const uint32_t  mainplllocked   :  1;  /* Main PLL Current Lock Status */
0680     const uint32_t  perplllocked    :  1;  /* Peripheral PLL Current Lock Status */
0681     const uint32_t  sdrplllocked    :  1;  /* SDRAM PLL Current Lock Status */
0682     uint32_t                        : 23;  /* *UNDEFINED* */
0683 };
0684 
0685 /* The typedef declaration for register ALT_CLKMGR_INTER. */
0686 typedef volatile struct ALT_CLKMGR_INTER_s  ALT_CLKMGR_INTER_t;
0687 #endif  /* __ASSEMBLY__ */
0688 
0689 /* The byte offset of the ALT_CLKMGR_INTER register from the beginning of the component. */
0690 #define ALT_CLKMGR_INTER_OFST        0x8
0691 
0692 /*
0693  * Register : Interrupt Enable Register - intren
0694  * 
0695  * Contain fields that enable the interrupt.
0696  * 
0697  * Fields are only reset by a cold reset.
0698  * 
0699  * Register Layout
0700  * 
0701  *  Bits   | Access | Reset | Description                                  
0702  * :-------|:-------|:------|:----------------------------------------------
0703  *  [0]    | RW     | 0x0   | Main PLL Achieved Lock Interrupt Enable      
0704  *  [1]    | RW     | 0x0   | Peripheral PLL Achieved Lock Interrupt Enable
0705  *  [2]    | RW     | 0x0   | SDRAM PLL Achieved Lock Interrupt Enable     
0706  *  [3]    | RW     | 0x0   | Main PLL Achieved Lock Interrupt Enable      
0707  *  [4]    | RW     | 0x0   | Peripheral PLL Achieved Lock Interrupt Enable
0708  *  [5]    | RW     | 0x0   | SDRAM PLL Achieved Lock Interrupt Enable     
0709  *  [31:6] | ???    | 0x0   | *UNDEFINED*                                  
0710  * 
0711  */
0712 /*
0713  * Field : Main PLL Achieved Lock Interrupt Enable - mainpllachieved
0714  * 
0715  * When set to 1, the Main PLL achieved lock bit is ORed into the Clock Manager
0716  * interrupt output.  When set to 0 the Main PLL achieved lock bit is not ORed into
0717  * the Clock Manager interrupt output.
0718  * 
0719  * Field Access Macros:
0720  * 
0721  */
0722 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_INTREN_MAINPLLACHIEVED register field. */
0723 #define ALT_CLKMGR_INTREN_MAINPLLACHIEVED_LSB        0
0724 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_INTREN_MAINPLLACHIEVED register field. */
0725 #define ALT_CLKMGR_INTREN_MAINPLLACHIEVED_MSB        0
0726 /* The width in bits of the ALT_CLKMGR_INTREN_MAINPLLACHIEVED register field. */
0727 #define ALT_CLKMGR_INTREN_MAINPLLACHIEVED_WIDTH      1
0728 /* The mask used to set the ALT_CLKMGR_INTREN_MAINPLLACHIEVED register field value. */
0729 #define ALT_CLKMGR_INTREN_MAINPLLACHIEVED_SET_MSK    0x00000001
0730 /* The mask used to clear the ALT_CLKMGR_INTREN_MAINPLLACHIEVED register field value. */
0731 #define ALT_CLKMGR_INTREN_MAINPLLACHIEVED_CLR_MSK    0xfffffffe
0732 /* The reset value of the ALT_CLKMGR_INTREN_MAINPLLACHIEVED register field. */
0733 #define ALT_CLKMGR_INTREN_MAINPLLACHIEVED_RESET      0x0
0734 /* Extracts the ALT_CLKMGR_INTREN_MAINPLLACHIEVED field value from a register. */
0735 #define ALT_CLKMGR_INTREN_MAINPLLACHIEVED_GET(value) (((value) & 0x00000001) >> 0)
0736 /* Produces a ALT_CLKMGR_INTREN_MAINPLLACHIEVED register field value suitable for setting the register. */
0737 #define ALT_CLKMGR_INTREN_MAINPLLACHIEVED_SET(value) (((value) << 0) & 0x00000001)
0738 
0739 /*
0740  * Field : Peripheral PLL Achieved Lock Interrupt Enable - perpllachieved
0741  * 
0742  * When set to 1, the Peripheral PLL achieved lock bit is ORed into the Clock
0743  * Manager interrupt output.  When set to 0 the Peripheral PLL achieved lock bit is
0744  * not ORed into the Clock Manager interrupt output.
0745  * 
0746  * Field Access Macros:
0747  * 
0748  */
0749 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_INTREN_PERPLLACHIEVED register field. */
0750 #define ALT_CLKMGR_INTREN_PERPLLACHIEVED_LSB        1
0751 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_INTREN_PERPLLACHIEVED register field. */
0752 #define ALT_CLKMGR_INTREN_PERPLLACHIEVED_MSB        1
0753 /* The width in bits of the ALT_CLKMGR_INTREN_PERPLLACHIEVED register field. */
0754 #define ALT_CLKMGR_INTREN_PERPLLACHIEVED_WIDTH      1
0755 /* The mask used to set the ALT_CLKMGR_INTREN_PERPLLACHIEVED register field value. */
0756 #define ALT_CLKMGR_INTREN_PERPLLACHIEVED_SET_MSK    0x00000002
0757 /* The mask used to clear the ALT_CLKMGR_INTREN_PERPLLACHIEVED register field value. */
0758 #define ALT_CLKMGR_INTREN_PERPLLACHIEVED_CLR_MSK    0xfffffffd
0759 /* The reset value of the ALT_CLKMGR_INTREN_PERPLLACHIEVED register field. */
0760 #define ALT_CLKMGR_INTREN_PERPLLACHIEVED_RESET      0x0
0761 /* Extracts the ALT_CLKMGR_INTREN_PERPLLACHIEVED field value from a register. */
0762 #define ALT_CLKMGR_INTREN_PERPLLACHIEVED_GET(value) (((value) & 0x00000002) >> 1)
0763 /* Produces a ALT_CLKMGR_INTREN_PERPLLACHIEVED register field value suitable for setting the register. */
0764 #define ALT_CLKMGR_INTREN_PERPLLACHIEVED_SET(value) (((value) << 1) & 0x00000002)
0765 
0766 /*
0767  * Field : SDRAM PLL Achieved Lock Interrupt Enable - sdrpllachieved
0768  * 
0769  * When set to 1, the SDRAM PLL achieved lock bit is ORed into the Clock Manager
0770  * interrupt output.  When set to 0 the SDRAM PLL achieved lock bit is not ORed
0771  * into the Clock Manager interrupt output.
0772  * 
0773  * Field Access Macros:
0774  * 
0775  */
0776 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_INTREN_SDRPLLACHIEVED register field. */
0777 #define ALT_CLKMGR_INTREN_SDRPLLACHIEVED_LSB        2
0778 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_INTREN_SDRPLLACHIEVED register field. */
0779 #define ALT_CLKMGR_INTREN_SDRPLLACHIEVED_MSB        2
0780 /* The width in bits of the ALT_CLKMGR_INTREN_SDRPLLACHIEVED register field. */
0781 #define ALT_CLKMGR_INTREN_SDRPLLACHIEVED_WIDTH      1
0782 /* The mask used to set the ALT_CLKMGR_INTREN_SDRPLLACHIEVED register field value. */
0783 #define ALT_CLKMGR_INTREN_SDRPLLACHIEVED_SET_MSK    0x00000004
0784 /* The mask used to clear the ALT_CLKMGR_INTREN_SDRPLLACHIEVED register field value. */
0785 #define ALT_CLKMGR_INTREN_SDRPLLACHIEVED_CLR_MSK    0xfffffffb
0786 /* The reset value of the ALT_CLKMGR_INTREN_SDRPLLACHIEVED register field. */
0787 #define ALT_CLKMGR_INTREN_SDRPLLACHIEVED_RESET      0x0
0788 /* Extracts the ALT_CLKMGR_INTREN_SDRPLLACHIEVED field value from a register. */
0789 #define ALT_CLKMGR_INTREN_SDRPLLACHIEVED_GET(value) (((value) & 0x00000004) >> 2)
0790 /* Produces a ALT_CLKMGR_INTREN_SDRPLLACHIEVED register field value suitable for setting the register. */
0791 #define ALT_CLKMGR_INTREN_SDRPLLACHIEVED_SET(value) (((value) << 2) & 0x00000004)
0792 
0793 /*
0794  * Field : Main PLL Achieved Lock Interrupt Enable - mainplllost
0795  * 
0796  * When set to 1, the Main PLL lost lock bit is ORed into the Clock Manager
0797  * interrupt output.  When set to 0 the Main PLL lost lock bit is not ORed into the
0798  * Clock Manager interrupt output.
0799  * 
0800  * Field Access Macros:
0801  * 
0802  */
0803 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_INTREN_MAINPLLLOST register field. */
0804 #define ALT_CLKMGR_INTREN_MAINPLLLOST_LSB        3
0805 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_INTREN_MAINPLLLOST register field. */
0806 #define ALT_CLKMGR_INTREN_MAINPLLLOST_MSB        3
0807 /* The width in bits of the ALT_CLKMGR_INTREN_MAINPLLLOST register field. */
0808 #define ALT_CLKMGR_INTREN_MAINPLLLOST_WIDTH      1
0809 /* The mask used to set the ALT_CLKMGR_INTREN_MAINPLLLOST register field value. */
0810 #define ALT_CLKMGR_INTREN_MAINPLLLOST_SET_MSK    0x00000008
0811 /* The mask used to clear the ALT_CLKMGR_INTREN_MAINPLLLOST register field value. */
0812 #define ALT_CLKMGR_INTREN_MAINPLLLOST_CLR_MSK    0xfffffff7
0813 /* The reset value of the ALT_CLKMGR_INTREN_MAINPLLLOST register field. */
0814 #define ALT_CLKMGR_INTREN_MAINPLLLOST_RESET      0x0
0815 /* Extracts the ALT_CLKMGR_INTREN_MAINPLLLOST field value from a register. */
0816 #define ALT_CLKMGR_INTREN_MAINPLLLOST_GET(value) (((value) & 0x00000008) >> 3)
0817 /* Produces a ALT_CLKMGR_INTREN_MAINPLLLOST register field value suitable for setting the register. */
0818 #define ALT_CLKMGR_INTREN_MAINPLLLOST_SET(value) (((value) << 3) & 0x00000008)
0819 
0820 /*
0821  * Field : Peripheral PLL Achieved Lock Interrupt Enable - perplllost
0822  * 
0823  * When set to 1, the Peripheral PLL lost lock bit is ORed into the Clock Manager
0824  * interrupt output.  When set to 0 the Peripheral PLL lost lock bit is not ORed
0825  * into the Clock Manager interrupt output.
0826  * 
0827  * Field Access Macros:
0828  * 
0829  */
0830 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_INTREN_PERPLLLOST register field. */
0831 #define ALT_CLKMGR_INTREN_PERPLLLOST_LSB        4
0832 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_INTREN_PERPLLLOST register field. */
0833 #define ALT_CLKMGR_INTREN_PERPLLLOST_MSB        4
0834 /* The width in bits of the ALT_CLKMGR_INTREN_PERPLLLOST register field. */
0835 #define ALT_CLKMGR_INTREN_PERPLLLOST_WIDTH      1
0836 /* The mask used to set the ALT_CLKMGR_INTREN_PERPLLLOST register field value. */
0837 #define ALT_CLKMGR_INTREN_PERPLLLOST_SET_MSK    0x00000010
0838 /* The mask used to clear the ALT_CLKMGR_INTREN_PERPLLLOST register field value. */
0839 #define ALT_CLKMGR_INTREN_PERPLLLOST_CLR_MSK    0xffffffef
0840 /* The reset value of the ALT_CLKMGR_INTREN_PERPLLLOST register field. */
0841 #define ALT_CLKMGR_INTREN_PERPLLLOST_RESET      0x0
0842 /* Extracts the ALT_CLKMGR_INTREN_PERPLLLOST field value from a register. */
0843 #define ALT_CLKMGR_INTREN_PERPLLLOST_GET(value) (((value) & 0x00000010) >> 4)
0844 /* Produces a ALT_CLKMGR_INTREN_PERPLLLOST register field value suitable for setting the register. */
0845 #define ALT_CLKMGR_INTREN_PERPLLLOST_SET(value) (((value) << 4) & 0x00000010)
0846 
0847 /*
0848  * Field : SDRAM PLL Achieved Lock Interrupt Enable - sdrplllost
0849  * 
0850  * When set to 1, the SDRAM PLL lost lock bit is ORed into the Clock Manager
0851  * interrupt output.  When set to 0 the SDRAM PLL lost lock bit is not ORed into
0852  * the Clock Manager interrupt output.
0853  * 
0854  * Field Access Macros:
0855  * 
0856  */
0857 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_INTREN_SDRPLLLOST register field. */
0858 #define ALT_CLKMGR_INTREN_SDRPLLLOST_LSB        5
0859 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_INTREN_SDRPLLLOST register field. */
0860 #define ALT_CLKMGR_INTREN_SDRPLLLOST_MSB        5
0861 /* The width in bits of the ALT_CLKMGR_INTREN_SDRPLLLOST register field. */
0862 #define ALT_CLKMGR_INTREN_SDRPLLLOST_WIDTH      1
0863 /* The mask used to set the ALT_CLKMGR_INTREN_SDRPLLLOST register field value. */
0864 #define ALT_CLKMGR_INTREN_SDRPLLLOST_SET_MSK    0x00000020
0865 /* The mask used to clear the ALT_CLKMGR_INTREN_SDRPLLLOST register field value. */
0866 #define ALT_CLKMGR_INTREN_SDRPLLLOST_CLR_MSK    0xffffffdf
0867 /* The reset value of the ALT_CLKMGR_INTREN_SDRPLLLOST register field. */
0868 #define ALT_CLKMGR_INTREN_SDRPLLLOST_RESET      0x0
0869 /* Extracts the ALT_CLKMGR_INTREN_SDRPLLLOST field value from a register. */
0870 #define ALT_CLKMGR_INTREN_SDRPLLLOST_GET(value) (((value) & 0x00000020) >> 5)
0871 /* Produces a ALT_CLKMGR_INTREN_SDRPLLLOST register field value suitable for setting the register. */
0872 #define ALT_CLKMGR_INTREN_SDRPLLLOST_SET(value) (((value) << 5) & 0x00000020)
0873 
0874 #ifndef __ASSEMBLY__
0875 /*
0876  * WARNING: The C register and register group struct declarations are provided for
0877  * convenience and illustrative purposes. They should, however, be used with
0878  * caution as the C language standard provides no guarantees about the alignment or
0879  * atomicity of device memory accesses. The recommended practice for writing
0880  * hardware drivers is to use the SoCAL access macros and alt_read_word() and
0881  * alt_write_word() functions.
0882  * 
0883  * The struct declaration for register ALT_CLKMGR_INTREN.
0884  */
0885 struct ALT_CLKMGR_INTREN_s
0886 {
0887     uint32_t  mainpllachieved :  1;  /* Main PLL Achieved Lock Interrupt Enable */
0888     uint32_t  perpllachieved  :  1;  /* Peripheral PLL Achieved Lock Interrupt Enable */
0889     uint32_t  sdrpllachieved  :  1;  /* SDRAM PLL Achieved Lock Interrupt Enable */
0890     uint32_t  mainplllost     :  1;  /* Main PLL Achieved Lock Interrupt Enable */
0891     uint32_t  perplllost      :  1;  /* Peripheral PLL Achieved Lock Interrupt Enable */
0892     uint32_t  sdrplllost      :  1;  /* SDRAM PLL Achieved Lock Interrupt Enable */
0893     uint32_t                  : 26;  /* *UNDEFINED* */
0894 };
0895 
0896 /* The typedef declaration for register ALT_CLKMGR_INTREN. */
0897 typedef volatile struct ALT_CLKMGR_INTREN_s  ALT_CLKMGR_INTREN_t;
0898 #endif  /* __ASSEMBLY__ */
0899 
0900 /* The byte offset of the ALT_CLKMGR_INTREN register from the beginning of the component. */
0901 #define ALT_CLKMGR_INTREN_OFST        0xc
0902 
0903 /*
0904  * Register : Debug clock Control Register - dbctrl
0905  * 
0906  * Contains fields that control the debug clocks.
0907  * 
0908  * Register Layout
0909  * 
0910  *  Bits   | Access | Reset | Description                   
0911  * :-------|:-------|:------|:-------------------------------
0912  *  [0]    | RW     | 0x1   | Debug Clocks Stay on EOSC1_CLK
0913  *  [1]    | RW     | 0x1   | Debug Clocks Enable Safe Mode 
0914  *  [31:2] | ???    | 0x0   | *UNDEFINED*                   
0915  * 
0916  */
0917 /*
0918  * Field : Debug Clocks Stay on EOSC1_CLK - stayosc1
0919  * 
0920  * When this bit is set the debug root clock (Main PLL C2 output) will always be
0921  * bypassed to the EOSC1_clk independent of any other clock manager settings.
0922  * When clear the debug source will be a function of register settings in the clock
0923  * manager.  Clocks affected by this bit are dbg_at_clk, dbg_clk, dbg_trace_clk,
0924  * and dbg_timer_clk.
0925  * 
0926  * The reset value for this bit is applied on a cold reset.   Warm reset has no
0927  * affect on this bit.
0928  * 
0929  * Field Access Macros:
0930  * 
0931  */
0932 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_DBCTL_STAYOSC1 register field. */
0933 #define ALT_CLKMGR_DBCTL_STAYOSC1_LSB        0
0934 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_DBCTL_STAYOSC1 register field. */
0935 #define ALT_CLKMGR_DBCTL_STAYOSC1_MSB        0
0936 /* The width in bits of the ALT_CLKMGR_DBCTL_STAYOSC1 register field. */
0937 #define ALT_CLKMGR_DBCTL_STAYOSC1_WIDTH      1
0938 /* The mask used to set the ALT_CLKMGR_DBCTL_STAYOSC1 register field value. */
0939 #define ALT_CLKMGR_DBCTL_STAYOSC1_SET_MSK    0x00000001
0940 /* The mask used to clear the ALT_CLKMGR_DBCTL_STAYOSC1 register field value. */
0941 #define ALT_CLKMGR_DBCTL_STAYOSC1_CLR_MSK    0xfffffffe
0942 /* The reset value of the ALT_CLKMGR_DBCTL_STAYOSC1 register field. */
0943 #define ALT_CLKMGR_DBCTL_STAYOSC1_RESET      0x1
0944 /* Extracts the ALT_CLKMGR_DBCTL_STAYOSC1 field value from a register. */
0945 #define ALT_CLKMGR_DBCTL_STAYOSC1_GET(value) (((value) & 0x00000001) >> 0)
0946 /* Produces a ALT_CLKMGR_DBCTL_STAYOSC1 register field value suitable for setting the register. */
0947 #define ALT_CLKMGR_DBCTL_STAYOSC1_SET(value) (((value) << 0) & 0x00000001)
0948 
0949 /*
0950  * Field : Debug Clocks Enable Safe Mode - ensfmdwr
0951  * 
0952  * When this bit is set the debug clocks will be affected by the assertion of Safe
0953  * Mode on a warm reset if Stay OSC1 is not set.
0954  * 
0955  * When this bit is clear the debug clocks will not be affected by the assertion of
0956  * Safe Mode on a warm reset.
0957  * 
0958  * If Debug Clocks are in Safe Mode they are taken out of Safe Mode when the Safe
0959  * Mode bit is cleared independent of this bit.The reset value of this bit is
0960  * applied on a cold reset; warm reset has no affect on this bit.
0961  * 
0962  * Field Access Macros:
0963  * 
0964  */
0965 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_DBCTL_ENSFMDWR register field. */
0966 #define ALT_CLKMGR_DBCTL_ENSFMDWR_LSB        1
0967 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_DBCTL_ENSFMDWR register field. */
0968 #define ALT_CLKMGR_DBCTL_ENSFMDWR_MSB        1
0969 /* The width in bits of the ALT_CLKMGR_DBCTL_ENSFMDWR register field. */
0970 #define ALT_CLKMGR_DBCTL_ENSFMDWR_WIDTH      1
0971 /* The mask used to set the ALT_CLKMGR_DBCTL_ENSFMDWR register field value. */
0972 #define ALT_CLKMGR_DBCTL_ENSFMDWR_SET_MSK    0x00000002
0973 /* The mask used to clear the ALT_CLKMGR_DBCTL_ENSFMDWR register field value. */
0974 #define ALT_CLKMGR_DBCTL_ENSFMDWR_CLR_MSK    0xfffffffd
0975 /* The reset value of the ALT_CLKMGR_DBCTL_ENSFMDWR register field. */
0976 #define ALT_CLKMGR_DBCTL_ENSFMDWR_RESET      0x1
0977 /* Extracts the ALT_CLKMGR_DBCTL_ENSFMDWR field value from a register. */
0978 #define ALT_CLKMGR_DBCTL_ENSFMDWR_GET(value) (((value) & 0x00000002) >> 1)
0979 /* Produces a ALT_CLKMGR_DBCTL_ENSFMDWR register field value suitable for setting the register. */
0980 #define ALT_CLKMGR_DBCTL_ENSFMDWR_SET(value) (((value) << 1) & 0x00000002)
0981 
0982 #ifndef __ASSEMBLY__
0983 /*
0984  * WARNING: The C register and register group struct declarations are provided for
0985  * convenience and illustrative purposes. They should, however, be used with
0986  * caution as the C language standard provides no guarantees about the alignment or
0987  * atomicity of device memory accesses. The recommended practice for writing
0988  * hardware drivers is to use the SoCAL access macros and alt_read_word() and
0989  * alt_write_word() functions.
0990  * 
0991  * The struct declaration for register ALT_CLKMGR_DBCTL.
0992  */
0993 struct ALT_CLKMGR_DBCTL_s
0994 {
0995     uint32_t  stayosc1 :  1;  /* Debug Clocks Stay on EOSC1_CLK */
0996     uint32_t  ensfmdwr :  1;  /* Debug Clocks Enable Safe Mode */
0997     uint32_t           : 30;  /* *UNDEFINED* */
0998 };
0999 
1000 /* The typedef declaration for register ALT_CLKMGR_DBCTL. */
1001 typedef volatile struct ALT_CLKMGR_DBCTL_s  ALT_CLKMGR_DBCTL_t;
1002 #endif  /* __ASSEMBLY__ */
1003 
1004 /* The byte offset of the ALT_CLKMGR_DBCTL register from the beginning of the component. */
1005 #define ALT_CLKMGR_DBCTL_OFST        0x10
1006 
1007 /*
1008  * Register : Status Register - stat
1009  * 
1010  * Provides status of Hardware Managed Clock transition State Machine.
1011  * 
1012  * Register Layout
1013  * 
1014  *  Bits   | Access | Reset | Description           
1015  * :-------|:-------|:------|:-----------------------
1016  *  [0]    | R      | 0x0   | HW Managed Clocks BUSY
1017  *  [31:1] | ???    | 0x0   | *UNDEFINED*           
1018  * 
1019  */
1020 /*
1021  * Field : HW Managed Clocks BUSY - busy
1022  * 
1023  * This read only bit indicates that the Hardware Managed clock's state machine is
1024  * active.  If the state machine is active, then the clocks are in transition.
1025  * Software should poll this bit after changing the source of internal clocks when
1026  * writing to the BYPASS, CTRL or DBCTRL registers.   Immediately following writes
1027  * to any of these registers, SW should wait until this bit is IDLE before
1028  * proceeding with any other register writes in the Clock Manager.
1029  * 
1030  * The reset value of this bit is applied on a cold reset; warm reset has no affect
1031  * on this bit.
1032  * 
1033  * Field Enumeration Values:
1034  * 
1035  *  Enum                        | Value | Description         
1036  * :----------------------------|:------|:---------------------
1037  *  ALT_CLKMGR_STAT_BUSY_E_IDLE | 0x0   | Clocks stable       
1038  *  ALT_CLKMGR_STAT_BUSY_E_BUSY | 0x1   | Clocks in transition
1039  * 
1040  * Field Access Macros:
1041  * 
1042  */
1043 /*
1044  * Enumerated value for register field ALT_CLKMGR_STAT_BUSY
1045  * 
1046  * Clocks stable
1047  */
1048 #define ALT_CLKMGR_STAT_BUSY_E_IDLE 0x0
1049 /*
1050  * Enumerated value for register field ALT_CLKMGR_STAT_BUSY
1051  * 
1052  * Clocks in transition
1053  */
1054 #define ALT_CLKMGR_STAT_BUSY_E_BUSY 0x1
1055 
1056 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_STAT_BUSY register field. */
1057 #define ALT_CLKMGR_STAT_BUSY_LSB        0
1058 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_STAT_BUSY register field. */
1059 #define ALT_CLKMGR_STAT_BUSY_MSB        0
1060 /* The width in bits of the ALT_CLKMGR_STAT_BUSY register field. */
1061 #define ALT_CLKMGR_STAT_BUSY_WIDTH      1
1062 /* The mask used to set the ALT_CLKMGR_STAT_BUSY register field value. */
1063 #define ALT_CLKMGR_STAT_BUSY_SET_MSK    0x00000001
1064 /* The mask used to clear the ALT_CLKMGR_STAT_BUSY register field value. */
1065 #define ALT_CLKMGR_STAT_BUSY_CLR_MSK    0xfffffffe
1066 /* The reset value of the ALT_CLKMGR_STAT_BUSY register field. */
1067 #define ALT_CLKMGR_STAT_BUSY_RESET      0x0
1068 /* Extracts the ALT_CLKMGR_STAT_BUSY field value from a register. */
1069 #define ALT_CLKMGR_STAT_BUSY_GET(value) (((value) & 0x00000001) >> 0)
1070 /* Produces a ALT_CLKMGR_STAT_BUSY register field value suitable for setting the register. */
1071 #define ALT_CLKMGR_STAT_BUSY_SET(value) (((value) << 0) & 0x00000001)
1072 
1073 #ifndef __ASSEMBLY__
1074 /*
1075  * WARNING: The C register and register group struct declarations are provided for
1076  * convenience and illustrative purposes. They should, however, be used with
1077  * caution as the C language standard provides no guarantees about the alignment or
1078  * atomicity of device memory accesses. The recommended practice for writing
1079  * hardware drivers is to use the SoCAL access macros and alt_read_word() and
1080  * alt_write_word() functions.
1081  * 
1082  * The struct declaration for register ALT_CLKMGR_STAT.
1083  */
1084 struct ALT_CLKMGR_STAT_s
1085 {
1086     const uint32_t  busy :  1;  /* HW Managed Clocks BUSY */
1087     uint32_t             : 31;  /* *UNDEFINED* */
1088 };
1089 
1090 /* The typedef declaration for register ALT_CLKMGR_STAT. */
1091 typedef volatile struct ALT_CLKMGR_STAT_s  ALT_CLKMGR_STAT_t;
1092 #endif  /* __ASSEMBLY__ */
1093 
1094 /* The byte offset of the ALT_CLKMGR_STAT register from the beginning of the component. */
1095 #define ALT_CLKMGR_STAT_OFST        0x14
1096 
1097 /*
1098  * Register Group : Main PLL Group - ALT_CLKMGR_MAINPLL
1099  * Main PLL Group
1100  * 
1101  * Contains registers with settings for the Main PLL.
1102  * 
1103  */
1104 /*
1105  * Register : Main PLL VCO Control Register - vco
1106  * 
1107  * Contains settings that control the Main PLL VCO. The VCO output frequency is the
1108  * input frequency multiplied by the numerator (M+1) and divided by the denominator
1109  * (N+1). The VCO input clock source is always eosc1_clk.
1110  * 
1111  * Fields are only reset by a cold reset.
1112  * 
1113  * Register Layout
1114  * 
1115  *  Bits    | Access | Reset | Description                    
1116  * :--------|:-------|:------|:--------------------------------
1117  *  [0]     | RW     | 0x1   | BG PWRDN                       
1118  *  [1]     | RW     | 0x0   | Enable                         
1119  *  [2]     | RW     | 0x1   | Power down                     
1120  *  [15:3]  | RW     | 0x1   | Numerator (M)                  
1121  *  [21:16] | RW     | 0x1   | Denominator (N)                
1122  *  [23:22] | ???    | 0x0   | *UNDEFINED*                    
1123  *  [24]    | RW     | 0x0   | All Output Counter Reset       
1124  *  [30:25] | RW     | 0x0   | Output Counter Reset           
1125  *  [31]    | RW     | 0x1   | External Regulator Input Select
1126  * 
1127  */
1128 /*
1129  * Field : BG PWRDN - bgpwrdn
1130  * 
1131  * If '1', powers down bandgap. If '0', bandgap is not power down.
1132  * 
1133  * Field Access Macros:
1134  * 
1135  */
1136 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_MAINPLL_VCO_BGPWRDN register field. */
1137 #define ALT_CLKMGR_MAINPLL_VCO_BGPWRDN_LSB        0
1138 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_MAINPLL_VCO_BGPWRDN register field. */
1139 #define ALT_CLKMGR_MAINPLL_VCO_BGPWRDN_MSB        0
1140 /* The width in bits of the ALT_CLKMGR_MAINPLL_VCO_BGPWRDN register field. */
1141 #define ALT_CLKMGR_MAINPLL_VCO_BGPWRDN_WIDTH      1
1142 /* The mask used to set the ALT_CLKMGR_MAINPLL_VCO_BGPWRDN register field value. */
1143 #define ALT_CLKMGR_MAINPLL_VCO_BGPWRDN_SET_MSK    0x00000001
1144 /* The mask used to clear the ALT_CLKMGR_MAINPLL_VCO_BGPWRDN register field value. */
1145 #define ALT_CLKMGR_MAINPLL_VCO_BGPWRDN_CLR_MSK    0xfffffffe
1146 /* The reset value of the ALT_CLKMGR_MAINPLL_VCO_BGPWRDN register field. */
1147 #define ALT_CLKMGR_MAINPLL_VCO_BGPWRDN_RESET      0x1
1148 /* Extracts the ALT_CLKMGR_MAINPLL_VCO_BGPWRDN field value from a register. */
1149 #define ALT_CLKMGR_MAINPLL_VCO_BGPWRDN_GET(value) (((value) & 0x00000001) >> 0)
1150 /* Produces a ALT_CLKMGR_MAINPLL_VCO_BGPWRDN register field value suitable for setting the register. */
1151 #define ALT_CLKMGR_MAINPLL_VCO_BGPWRDN_SET(value) (((value) << 0) & 0x00000001)
1152 
1153 /*
1154  * Field : Enable - en
1155  * 
1156  * If '1', VCO is enabled. If '0', VCO is in reset.
1157  * 
1158  * Field Access Macros:
1159  * 
1160  */
1161 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_MAINPLL_VCO_EN register field. */
1162 #define ALT_CLKMGR_MAINPLL_VCO_EN_LSB        1
1163 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_MAINPLL_VCO_EN register field. */
1164 #define ALT_CLKMGR_MAINPLL_VCO_EN_MSB        1
1165 /* The width in bits of the ALT_CLKMGR_MAINPLL_VCO_EN register field. */
1166 #define ALT_CLKMGR_MAINPLL_VCO_EN_WIDTH      1
1167 /* The mask used to set the ALT_CLKMGR_MAINPLL_VCO_EN register field value. */
1168 #define ALT_CLKMGR_MAINPLL_VCO_EN_SET_MSK    0x00000002
1169 /* The mask used to clear the ALT_CLKMGR_MAINPLL_VCO_EN register field value. */
1170 #define ALT_CLKMGR_MAINPLL_VCO_EN_CLR_MSK    0xfffffffd
1171 /* The reset value of the ALT_CLKMGR_MAINPLL_VCO_EN register field. */
1172 #define ALT_CLKMGR_MAINPLL_VCO_EN_RESET      0x0
1173 /* Extracts the ALT_CLKMGR_MAINPLL_VCO_EN field value from a register. */
1174 #define ALT_CLKMGR_MAINPLL_VCO_EN_GET(value) (((value) & 0x00000002) >> 1)
1175 /* Produces a ALT_CLKMGR_MAINPLL_VCO_EN register field value suitable for setting the register. */
1176 #define ALT_CLKMGR_MAINPLL_VCO_EN_SET(value) (((value) << 1) & 0x00000002)
1177 
1178 /*
1179  * Field : Power down - pwrdn
1180  * 
1181  * If '1', power down analog circuitry. If '0', analog circuitry not powered down.
1182  * 
1183  * Field Access Macros:
1184  * 
1185  */
1186 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_MAINPLL_VCO_PWRDN register field. */
1187 #define ALT_CLKMGR_MAINPLL_VCO_PWRDN_LSB        2
1188 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_MAINPLL_VCO_PWRDN register field. */
1189 #define ALT_CLKMGR_MAINPLL_VCO_PWRDN_MSB        2
1190 /* The width in bits of the ALT_CLKMGR_MAINPLL_VCO_PWRDN register field. */
1191 #define ALT_CLKMGR_MAINPLL_VCO_PWRDN_WIDTH      1
1192 /* The mask used to set the ALT_CLKMGR_MAINPLL_VCO_PWRDN register field value. */
1193 #define ALT_CLKMGR_MAINPLL_VCO_PWRDN_SET_MSK    0x00000004
1194 /* The mask used to clear the ALT_CLKMGR_MAINPLL_VCO_PWRDN register field value. */
1195 #define ALT_CLKMGR_MAINPLL_VCO_PWRDN_CLR_MSK    0xfffffffb
1196 /* The reset value of the ALT_CLKMGR_MAINPLL_VCO_PWRDN register field. */
1197 #define ALT_CLKMGR_MAINPLL_VCO_PWRDN_RESET      0x1
1198 /* Extracts the ALT_CLKMGR_MAINPLL_VCO_PWRDN field value from a register. */
1199 #define ALT_CLKMGR_MAINPLL_VCO_PWRDN_GET(value) (((value) & 0x00000004) >> 2)
1200 /* Produces a ALT_CLKMGR_MAINPLL_VCO_PWRDN register field value suitable for setting the register. */
1201 #define ALT_CLKMGR_MAINPLL_VCO_PWRDN_SET(value) (((value) << 2) & 0x00000004)
1202 
1203 /*
1204  * Field : Numerator (M) - numer
1205  * 
1206  * Numerator in VCO output frequency equation. For incremental frequency change, if
1207  * the new value lead to less than 20% of the frequency change, this value can be
1208  * changed without resetting the PLL. The Numerator and Denominator can not be
1209  * changed at the same time for incremental frequency changed.
1210  * 
1211  * Field Access Macros:
1212  * 
1213  */
1214 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_MAINPLL_VCO_NUMER register field. */
1215 #define ALT_CLKMGR_MAINPLL_VCO_NUMER_LSB        3
1216 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_MAINPLL_VCO_NUMER register field. */
1217 #define ALT_CLKMGR_MAINPLL_VCO_NUMER_MSB        15
1218 /* The width in bits of the ALT_CLKMGR_MAINPLL_VCO_NUMER register field. */
1219 #define ALT_CLKMGR_MAINPLL_VCO_NUMER_WIDTH      13
1220 /* The mask used to set the ALT_CLKMGR_MAINPLL_VCO_NUMER register field value. */
1221 #define ALT_CLKMGR_MAINPLL_VCO_NUMER_SET_MSK    0x0000fff8
1222 /* The mask used to clear the ALT_CLKMGR_MAINPLL_VCO_NUMER register field value. */
1223 #define ALT_CLKMGR_MAINPLL_VCO_NUMER_CLR_MSK    0xffff0007
1224 /* The reset value of the ALT_CLKMGR_MAINPLL_VCO_NUMER register field. */
1225 #define ALT_CLKMGR_MAINPLL_VCO_NUMER_RESET      0x1
1226 /* Extracts the ALT_CLKMGR_MAINPLL_VCO_NUMER field value from a register. */
1227 #define ALT_CLKMGR_MAINPLL_VCO_NUMER_GET(value) (((value) & 0x0000fff8) >> 3)
1228 /* Produces a ALT_CLKMGR_MAINPLL_VCO_NUMER register field value suitable for setting the register. */
1229 #define ALT_CLKMGR_MAINPLL_VCO_NUMER_SET(value) (((value) << 3) & 0x0000fff8)
1230 
1231 /*
1232  * Field : Denominator (N) - denom
1233  * 
1234  * Denominator in VCO output frequency equation. For incremental frequency change,
1235  * if the new value lead to less than 20% of the frequency change, this value can
1236  * be changed without resetting the PLL. The Numerator and Denominator can not be
1237  * changed at the same time for incremental frequency changed.
1238  * 
1239  * Field Access Macros:
1240  * 
1241  */
1242 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_MAINPLL_VCO_DENOM register field. */
1243 #define ALT_CLKMGR_MAINPLL_VCO_DENOM_LSB        16
1244 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_MAINPLL_VCO_DENOM register field. */
1245 #define ALT_CLKMGR_MAINPLL_VCO_DENOM_MSB        21
1246 /* The width in bits of the ALT_CLKMGR_MAINPLL_VCO_DENOM register field. */
1247 #define ALT_CLKMGR_MAINPLL_VCO_DENOM_WIDTH      6
1248 /* The mask used to set the ALT_CLKMGR_MAINPLL_VCO_DENOM register field value. */
1249 #define ALT_CLKMGR_MAINPLL_VCO_DENOM_SET_MSK    0x003f0000
1250 /* The mask used to clear the ALT_CLKMGR_MAINPLL_VCO_DENOM register field value. */
1251 #define ALT_CLKMGR_MAINPLL_VCO_DENOM_CLR_MSK    0xffc0ffff
1252 /* The reset value of the ALT_CLKMGR_MAINPLL_VCO_DENOM register field. */
1253 #define ALT_CLKMGR_MAINPLL_VCO_DENOM_RESET      0x1
1254 /* Extracts the ALT_CLKMGR_MAINPLL_VCO_DENOM field value from a register. */
1255 #define ALT_CLKMGR_MAINPLL_VCO_DENOM_GET(value) (((value) & 0x003f0000) >> 16)
1256 /* Produces a ALT_CLKMGR_MAINPLL_VCO_DENOM register field value suitable for setting the register. */
1257 #define ALT_CLKMGR_MAINPLL_VCO_DENOM_SET(value) (((value) << 16) & 0x003f0000)
1258 
1259 /*
1260  * Field : All Output Counter Reset - outresetall
1261  * 
1262  * Before releasing Bypass, All Output Counter Reset must be set and cleared by
1263  * software for correct clock operation.
1264  * 
1265  * If '1', Reset phase multiplexer and all output counter state. So that after the
1266  * assertion all the clocks output are start from rising edge align.
1267  * 
1268  * If '0', phase multiplexer and output counter state not reset and no change to
1269  * the phase of the clock outputs.
1270  * 
1271  * Field Access Macros:
1272  * 
1273  */
1274 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_MAINPLL_VCO_OUTRSTALL register field. */
1275 #define ALT_CLKMGR_MAINPLL_VCO_OUTRSTALL_LSB        24
1276 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_MAINPLL_VCO_OUTRSTALL register field. */
1277 #define ALT_CLKMGR_MAINPLL_VCO_OUTRSTALL_MSB        24
1278 /* The width in bits of the ALT_CLKMGR_MAINPLL_VCO_OUTRSTALL register field. */
1279 #define ALT_CLKMGR_MAINPLL_VCO_OUTRSTALL_WIDTH      1
1280 /* The mask used to set the ALT_CLKMGR_MAINPLL_VCO_OUTRSTALL register field value. */
1281 #define ALT_CLKMGR_MAINPLL_VCO_OUTRSTALL_SET_MSK    0x01000000
1282 /* The mask used to clear the ALT_CLKMGR_MAINPLL_VCO_OUTRSTALL register field value. */
1283 #define ALT_CLKMGR_MAINPLL_VCO_OUTRSTALL_CLR_MSK    0xfeffffff
1284 /* The reset value of the ALT_CLKMGR_MAINPLL_VCO_OUTRSTALL register field. */
1285 #define ALT_CLKMGR_MAINPLL_VCO_OUTRSTALL_RESET      0x0
1286 /* Extracts the ALT_CLKMGR_MAINPLL_VCO_OUTRSTALL field value from a register. */
1287 #define ALT_CLKMGR_MAINPLL_VCO_OUTRSTALL_GET(value) (((value) & 0x01000000) >> 24)
1288 /* Produces a ALT_CLKMGR_MAINPLL_VCO_OUTRSTALL register field value suitable for setting the register. */
1289 #define ALT_CLKMGR_MAINPLL_VCO_OUTRSTALL_SET(value) (((value) << 24) & 0x01000000)
1290 
1291 /*
1292  * Field : Output Counter Reset - outreset
1293  * 
1294  * Resets the individual PLL output counter.
1295  * 
1296  * For software to change the PLL output counter without producing glitches on the
1297  * respective clock, SW must set the VCO register respective Output Counter Reset
1298  * bit. Software then polls the respective Output Counter Reset Acknowledge bit in
1299  * the Output Counter Reset Ack Status Register. Software then writes the
1300  * appropriate counter register, and then clears the respective VCO register Output
1301  * Counter Reset bit.
1302  * 
1303  * LSB 'outreset[0]' corresponds to PLL output clock C0, etc.
1304  * 
1305  * If set to '1', reset output divider, no clock output from counter.
1306  * 
1307  * If set to '0', counter is not reset.
1308  * 
1309  * The reset value of this bit is applied on a cold reset; warm reset has no affect
1310  * on this bit.
1311  * 
1312  * Field Access Macros:
1313  * 
1314  */
1315 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_MAINPLL_VCO_OUTRST register field. */
1316 #define ALT_CLKMGR_MAINPLL_VCO_OUTRST_LSB        25
1317 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_MAINPLL_VCO_OUTRST register field. */
1318 #define ALT_CLKMGR_MAINPLL_VCO_OUTRST_MSB        30
1319 /* The width in bits of the ALT_CLKMGR_MAINPLL_VCO_OUTRST register field. */
1320 #define ALT_CLKMGR_MAINPLL_VCO_OUTRST_WIDTH      6
1321 /* The mask used to set the ALT_CLKMGR_MAINPLL_VCO_OUTRST register field value. */
1322 #define ALT_CLKMGR_MAINPLL_VCO_OUTRST_SET_MSK    0x7e000000
1323 /* The mask used to clear the ALT_CLKMGR_MAINPLL_VCO_OUTRST register field value. */
1324 #define ALT_CLKMGR_MAINPLL_VCO_OUTRST_CLR_MSK    0x81ffffff
1325 /* The reset value of the ALT_CLKMGR_MAINPLL_VCO_OUTRST register field. */
1326 #define ALT_CLKMGR_MAINPLL_VCO_OUTRST_RESET      0x0
1327 /* Extracts the ALT_CLKMGR_MAINPLL_VCO_OUTRST field value from a register. */
1328 #define ALT_CLKMGR_MAINPLL_VCO_OUTRST_GET(value) (((value) & 0x7e000000) >> 25)
1329 /* Produces a ALT_CLKMGR_MAINPLL_VCO_OUTRST register field value suitable for setting the register. */
1330 #define ALT_CLKMGR_MAINPLL_VCO_OUTRST_SET(value) (((value) << 25) & 0x7e000000)
1331 
1332 /*
1333  * Field : External Regulator Input Select - regextsel
1334  * 
1335  * If set to '1', the external regulator is selected for the PLL.
1336  * 
1337  * If set to '0', the internal regulator is slected.
1338  * 
1339  * It is strongly recommended to select the external regulator while the PLL is not
1340  * enabled (in reset), and  then disable the external regulater once the PLL
1341  * becomes enabled.  Software should simulateously update the 'Enable' bit and the
1342  * 'External Regulator Input Select' in the same write access to the VCO register.
1343  * When the 'Enable' bit is clear, the 'External Regulator Input Select' should be
1344  * set, and vice versa.
1345  * 
1346  * The reset value of this bit is applied on a cold reset; warm reset has no affect
1347  * on this bit.
1348  * 
1349  * Field Access Macros:
1350  * 
1351  */
1352 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_MAINPLL_VCO_REGEXTSEL register field. */
1353 #define ALT_CLKMGR_MAINPLL_VCO_REGEXTSEL_LSB        31
1354 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_MAINPLL_VCO_REGEXTSEL register field. */
1355 #define ALT_CLKMGR_MAINPLL_VCO_REGEXTSEL_MSB        31
1356 /* The width in bits of the ALT_CLKMGR_MAINPLL_VCO_REGEXTSEL register field. */
1357 #define ALT_CLKMGR_MAINPLL_VCO_REGEXTSEL_WIDTH      1
1358 /* The mask used to set the ALT_CLKMGR_MAINPLL_VCO_REGEXTSEL register field value. */
1359 #define ALT_CLKMGR_MAINPLL_VCO_REGEXTSEL_SET_MSK    0x80000000
1360 /* The mask used to clear the ALT_CLKMGR_MAINPLL_VCO_REGEXTSEL register field value. */
1361 #define ALT_CLKMGR_MAINPLL_VCO_REGEXTSEL_CLR_MSK    0x7fffffff
1362 /* The reset value of the ALT_CLKMGR_MAINPLL_VCO_REGEXTSEL register field. */
1363 #define ALT_CLKMGR_MAINPLL_VCO_REGEXTSEL_RESET      0x1
1364 /* Extracts the ALT_CLKMGR_MAINPLL_VCO_REGEXTSEL field value from a register. */
1365 #define ALT_CLKMGR_MAINPLL_VCO_REGEXTSEL_GET(value) (((value) & 0x80000000) >> 31)
1366 /* Produces a ALT_CLKMGR_MAINPLL_VCO_REGEXTSEL register field value suitable for setting the register. */
1367 #define ALT_CLKMGR_MAINPLL_VCO_REGEXTSEL_SET(value) (((value) << 31) & 0x80000000)
1368 
1369 #ifndef __ASSEMBLY__
1370 /*
1371  * WARNING: The C register and register group struct declarations are provided for
1372  * convenience and illustrative purposes. They should, however, be used with
1373  * caution as the C language standard provides no guarantees about the alignment or
1374  * atomicity of device memory accesses. The recommended practice for writing
1375  * hardware drivers is to use the SoCAL access macros and alt_read_word() and
1376  * alt_write_word() functions.
1377  * 
1378  * The struct declaration for register ALT_CLKMGR_MAINPLL_VCO.
1379  */
1380 struct ALT_CLKMGR_MAINPLL_VCO_s
1381 {
1382     uint32_t  bgpwrdn     :  1;  /* BG PWRDN */
1383     uint32_t  en          :  1;  /* Enable */
1384     uint32_t  pwrdn       :  1;  /* Power down */
1385     uint32_t  numer       : 13;  /* Numerator (M) */
1386     uint32_t  denom       :  6;  /* Denominator (N) */
1387     uint32_t              :  2;  /* *UNDEFINED* */
1388     uint32_t  outresetall :  1;  /* All Output Counter Reset */
1389     uint32_t  outreset    :  6;  /* Output Counter Reset */
1390     uint32_t  regextsel   :  1;  /* External Regulator Input Select */
1391 };
1392 
1393 /* The typedef declaration for register ALT_CLKMGR_MAINPLL_VCO. */
1394 typedef volatile struct ALT_CLKMGR_MAINPLL_VCO_s  ALT_CLKMGR_MAINPLL_VCO_t;
1395 #endif  /* __ASSEMBLY__ */
1396 
1397 /* The byte offset of the ALT_CLKMGR_MAINPLL_VCO register from the beginning of the component. */
1398 #define ALT_CLKMGR_MAINPLL_VCO_OFST        0x0
1399 
1400 /*
1401  * Register : Main PLL VCO Advanced Control Register - misc
1402  * 
1403  * Contains VCO control signals and other PLL control signals need to be
1404  * controllable through register.
1405  * 
1406  * Fields are only reset by a cold reset.
1407  * 
1408  * Register Layout
1409  * 
1410  *  Bits    | Access | Reset | Description                  
1411  * :--------|:-------|:------|:------------------------------
1412  *  [0]     | RW     | 0x0   | Loop Bandwidth Adjust Enabled
1413  *  [12:1]  | RW     | 0x1   | Loop Bandwidth Adjust        
1414  *  [13]    | RW     | 0x0   | Fast Locking Enable          
1415  *  [14]    | RW     | 0x1   | Saturation Enable            
1416  *  [31:15] | ???    | 0x0   | *UNDEFINED*                  
1417  * 
1418  */
1419 /*
1420  * Field : Loop Bandwidth Adjust Enabled - bwadjen
1421  * 
1422  * If set to 1, the Loop Bandwidth Adjust value comes from the Loop Bandwidth
1423  * Adjust field.
1424  * 
1425  * If set to 0, the Loop Bandwidth Adjust value equals the M field divided by 2
1426  * value of the VCO Control Register.  The M divided by 2 is the upper 12 bits
1427  * (12:1) of the M field in the VCO register.
1428  * 
1429  * Field Access Macros:
1430  * 
1431  */
1432 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_MAINPLL_MISC_BWADJEN register field. */
1433 #define ALT_CLKMGR_MAINPLL_MISC_BWADJEN_LSB        0
1434 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_MAINPLL_MISC_BWADJEN register field. */
1435 #define ALT_CLKMGR_MAINPLL_MISC_BWADJEN_MSB        0
1436 /* The width in bits of the ALT_CLKMGR_MAINPLL_MISC_BWADJEN register field. */
1437 #define ALT_CLKMGR_MAINPLL_MISC_BWADJEN_WIDTH      1
1438 /* The mask used to set the ALT_CLKMGR_MAINPLL_MISC_BWADJEN register field value. */
1439 #define ALT_CLKMGR_MAINPLL_MISC_BWADJEN_SET_MSK    0x00000001
1440 /* The mask used to clear the ALT_CLKMGR_MAINPLL_MISC_BWADJEN register field value. */
1441 #define ALT_CLKMGR_MAINPLL_MISC_BWADJEN_CLR_MSK    0xfffffffe
1442 /* The reset value of the ALT_CLKMGR_MAINPLL_MISC_BWADJEN register field. */
1443 #define ALT_CLKMGR_MAINPLL_MISC_BWADJEN_RESET      0x0
1444 /* Extracts the ALT_CLKMGR_MAINPLL_MISC_BWADJEN field value from a register. */
1445 #define ALT_CLKMGR_MAINPLL_MISC_BWADJEN_GET(value) (((value) & 0x00000001) >> 0)
1446 /* Produces a ALT_CLKMGR_MAINPLL_MISC_BWADJEN register field value suitable for setting the register. */
1447 #define ALT_CLKMGR_MAINPLL_MISC_BWADJEN_SET(value) (((value) << 0) & 0x00000001)
1448 
1449 /*
1450  * Field : Loop Bandwidth Adjust - bwadj
1451  * 
1452  * Provides Loop Bandwidth Adjust value.
1453  * 
1454  * Field Access Macros:
1455  * 
1456  */
1457 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_MAINPLL_MISC_BWADJ register field. */
1458 #define ALT_CLKMGR_MAINPLL_MISC_BWADJ_LSB        1
1459 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_MAINPLL_MISC_BWADJ register field. */
1460 #define ALT_CLKMGR_MAINPLL_MISC_BWADJ_MSB        12
1461 /* The width in bits of the ALT_CLKMGR_MAINPLL_MISC_BWADJ register field. */
1462 #define ALT_CLKMGR_MAINPLL_MISC_BWADJ_WIDTH      12
1463 /* The mask used to set the ALT_CLKMGR_MAINPLL_MISC_BWADJ register field value. */
1464 #define ALT_CLKMGR_MAINPLL_MISC_BWADJ_SET_MSK    0x00001ffe
1465 /* The mask used to clear the ALT_CLKMGR_MAINPLL_MISC_BWADJ register field value. */
1466 #define ALT_CLKMGR_MAINPLL_MISC_BWADJ_CLR_MSK    0xffffe001
1467 /* The reset value of the ALT_CLKMGR_MAINPLL_MISC_BWADJ register field. */
1468 #define ALT_CLKMGR_MAINPLL_MISC_BWADJ_RESET      0x1
1469 /* Extracts the ALT_CLKMGR_MAINPLL_MISC_BWADJ field value from a register. */
1470 #define ALT_CLKMGR_MAINPLL_MISC_BWADJ_GET(value) (((value) & 0x00001ffe) >> 1)
1471 /* Produces a ALT_CLKMGR_MAINPLL_MISC_BWADJ register field value suitable for setting the register. */
1472 #define ALT_CLKMGR_MAINPLL_MISC_BWADJ_SET(value) (((value) << 1) & 0x00001ffe)
1473 
1474 /*
1475  * Field : Fast Locking Enable - fasten
1476  * 
1477  * Enables fast locking circuit.
1478  * 
1479  * Field Access Macros:
1480  * 
1481  */
1482 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_MAINPLL_MISC_FASTEN register field. */
1483 #define ALT_CLKMGR_MAINPLL_MISC_FASTEN_LSB        13
1484 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_MAINPLL_MISC_FASTEN register field. */
1485 #define ALT_CLKMGR_MAINPLL_MISC_FASTEN_MSB        13
1486 /* The width in bits of the ALT_CLKMGR_MAINPLL_MISC_FASTEN register field. */
1487 #define ALT_CLKMGR_MAINPLL_MISC_FASTEN_WIDTH      1
1488 /* The mask used to set the ALT_CLKMGR_MAINPLL_MISC_FASTEN register field value. */
1489 #define ALT_CLKMGR_MAINPLL_MISC_FASTEN_SET_MSK    0x00002000
1490 /* The mask used to clear the ALT_CLKMGR_MAINPLL_MISC_FASTEN register field value. */
1491 #define ALT_CLKMGR_MAINPLL_MISC_FASTEN_CLR_MSK    0xffffdfff
1492 /* The reset value of the ALT_CLKMGR_MAINPLL_MISC_FASTEN register field. */
1493 #define ALT_CLKMGR_MAINPLL_MISC_FASTEN_RESET      0x0
1494 /* Extracts the ALT_CLKMGR_MAINPLL_MISC_FASTEN field value from a register. */
1495 #define ALT_CLKMGR_MAINPLL_MISC_FASTEN_GET(value) (((value) & 0x00002000) >> 13)
1496 /* Produces a ALT_CLKMGR_MAINPLL_MISC_FASTEN register field value suitable for setting the register. */
1497 #define ALT_CLKMGR_MAINPLL_MISC_FASTEN_SET(value) (((value) << 13) & 0x00002000)
1498 
1499 /*
1500  * Field : Saturation Enable - saten
1501  * 
1502  * Enables saturation behavior.
1503  * 
1504  * Field Access Macros:
1505  * 
1506  */
1507 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_MAINPLL_MISC_SATEN register field. */
1508 #define ALT_CLKMGR_MAINPLL_MISC_SATEN_LSB        14
1509 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_MAINPLL_MISC_SATEN register field. */
1510 #define ALT_CLKMGR_MAINPLL_MISC_SATEN_MSB        14
1511 /* The width in bits of the ALT_CLKMGR_MAINPLL_MISC_SATEN register field. */
1512 #define ALT_CLKMGR_MAINPLL_MISC_SATEN_WIDTH      1
1513 /* The mask used to set the ALT_CLKMGR_MAINPLL_MISC_SATEN register field value. */
1514 #define ALT_CLKMGR_MAINPLL_MISC_SATEN_SET_MSK    0x00004000
1515 /* The mask used to clear the ALT_CLKMGR_MAINPLL_MISC_SATEN register field value. */
1516 #define ALT_CLKMGR_MAINPLL_MISC_SATEN_CLR_MSK    0xffffbfff
1517 /* The reset value of the ALT_CLKMGR_MAINPLL_MISC_SATEN register field. */
1518 #define ALT_CLKMGR_MAINPLL_MISC_SATEN_RESET      0x1
1519 /* Extracts the ALT_CLKMGR_MAINPLL_MISC_SATEN field value from a register. */
1520 #define ALT_CLKMGR_MAINPLL_MISC_SATEN_GET(value) (((value) & 0x00004000) >> 14)
1521 /* Produces a ALT_CLKMGR_MAINPLL_MISC_SATEN register field value suitable for setting the register. */
1522 #define ALT_CLKMGR_MAINPLL_MISC_SATEN_SET(value) (((value) << 14) & 0x00004000)
1523 
1524 #ifndef __ASSEMBLY__
1525 /*
1526  * WARNING: The C register and register group struct declarations are provided for
1527  * convenience and illustrative purposes. They should, however, be used with
1528  * caution as the C language standard provides no guarantees about the alignment or
1529  * atomicity of device memory accesses. The recommended practice for writing
1530  * hardware drivers is to use the SoCAL access macros and alt_read_word() and
1531  * alt_write_word() functions.
1532  * 
1533  * The struct declaration for register ALT_CLKMGR_MAINPLL_MISC.
1534  */
1535 struct ALT_CLKMGR_MAINPLL_MISC_s
1536 {
1537     uint32_t  bwadjen :  1;  /* Loop Bandwidth Adjust Enabled */
1538     uint32_t  bwadj   : 12;  /* Loop Bandwidth Adjust */
1539     uint32_t  fasten  :  1;  /* Fast Locking Enable */
1540     uint32_t  saten   :  1;  /* Saturation Enable */
1541     uint32_t          : 17;  /* *UNDEFINED* */
1542 };
1543 
1544 /* The typedef declaration for register ALT_CLKMGR_MAINPLL_MISC. */
1545 typedef volatile struct ALT_CLKMGR_MAINPLL_MISC_s  ALT_CLKMGR_MAINPLL_MISC_t;
1546 #endif  /* __ASSEMBLY__ */
1547 
1548 /* The byte offset of the ALT_CLKMGR_MAINPLL_MISC register from the beginning of the component. */
1549 #define ALT_CLKMGR_MAINPLL_MISC_OFST        0x4
1550 
1551 /*
1552  * Register : Main PLL C0 Control Register for Clock mpu_clk - mpuclk
1553  * 
1554  * Contains settings that control clock mpu_clk generated from the C0 output of the
1555  * Main PLL.
1556  * 
1557  * Only reset by a cold reset.
1558  * 
1559  * Register Layout
1560  * 
1561  *  Bits   | Access | Reset | Description
1562  * :-------|:-------|:------|:------------
1563  *  [8:0]  | RW     | 0x0   | Counter    
1564  *  [31:9] | ???    | 0x0   | *UNDEFINED*
1565  * 
1566  */
1567 /*
1568  * Field : Counter - cnt
1569  * 
1570  * Divides the VCO/2 frequency by the value+1 in this field.
1571  * 
1572  * Field Access Macros:
1573  * 
1574  */
1575 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_MAINPLL_MPUCLK_CNT register field. */
1576 #define ALT_CLKMGR_MAINPLL_MPUCLK_CNT_LSB        0
1577 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_MAINPLL_MPUCLK_CNT register field. */
1578 #define ALT_CLKMGR_MAINPLL_MPUCLK_CNT_MSB        8
1579 /* The width in bits of the ALT_CLKMGR_MAINPLL_MPUCLK_CNT register field. */
1580 #define ALT_CLKMGR_MAINPLL_MPUCLK_CNT_WIDTH      9
1581 /* The mask used to set the ALT_CLKMGR_MAINPLL_MPUCLK_CNT register field value. */
1582 #define ALT_CLKMGR_MAINPLL_MPUCLK_CNT_SET_MSK    0x000001ff
1583 /* The mask used to clear the ALT_CLKMGR_MAINPLL_MPUCLK_CNT register field value. */
1584 #define ALT_CLKMGR_MAINPLL_MPUCLK_CNT_CLR_MSK    0xfffffe00
1585 /* The reset value of the ALT_CLKMGR_MAINPLL_MPUCLK_CNT register field. */
1586 #define ALT_CLKMGR_MAINPLL_MPUCLK_CNT_RESET      0x0
1587 /* Extracts the ALT_CLKMGR_MAINPLL_MPUCLK_CNT field value from a register. */
1588 #define ALT_CLKMGR_MAINPLL_MPUCLK_CNT_GET(value) (((value) & 0x000001ff) >> 0)
1589 /* Produces a ALT_CLKMGR_MAINPLL_MPUCLK_CNT register field value suitable for setting the register. */
1590 #define ALT_CLKMGR_MAINPLL_MPUCLK_CNT_SET(value) (((value) << 0) & 0x000001ff)
1591 
1592 #ifndef __ASSEMBLY__
1593 /*
1594  * WARNING: The C register and register group struct declarations are provided for
1595  * convenience and illustrative purposes. They should, however, be used with
1596  * caution as the C language standard provides no guarantees about the alignment or
1597  * atomicity of device memory accesses. The recommended practice for writing
1598  * hardware drivers is to use the SoCAL access macros and alt_read_word() and
1599  * alt_write_word() functions.
1600  * 
1601  * The struct declaration for register ALT_CLKMGR_MAINPLL_MPUCLK.
1602  */
1603 struct ALT_CLKMGR_MAINPLL_MPUCLK_s
1604 {
1605     uint32_t  cnt :  9;  /* Counter */
1606     uint32_t      : 23;  /* *UNDEFINED* */
1607 };
1608 
1609 /* The typedef declaration for register ALT_CLKMGR_MAINPLL_MPUCLK. */
1610 typedef volatile struct ALT_CLKMGR_MAINPLL_MPUCLK_s  ALT_CLKMGR_MAINPLL_MPUCLK_t;
1611 #endif  /* __ASSEMBLY__ */
1612 
1613 /* The byte offset of the ALT_CLKMGR_MAINPLL_MPUCLK register from the beginning of the component. */
1614 #define ALT_CLKMGR_MAINPLL_MPUCLK_OFST        0x8
1615 
1616 /*
1617  * Register : Main PLL C1 Control Register for Clock main_clk - mainclk
1618  * 
1619  * Contains settings that control clock main_clk generated from the C1 output of
1620  * the Main PLL.
1621  * 
1622  * Only reset by a cold reset.
1623  * 
1624  * Register Layout
1625  * 
1626  *  Bits   | Access | Reset | Description
1627  * :-------|:-------|:------|:------------
1628  *  [8:0]  | RW     | 0x0   | Counter    
1629  *  [31:9] | ???    | 0x0   | *UNDEFINED*
1630  * 
1631  */
1632 /*
1633  * Field : Counter - cnt
1634  * 
1635  * Divides the VCO/4 frequency by the value+1 in this field.
1636  * 
1637  * Field Access Macros:
1638  * 
1639  */
1640 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_MAINPLL_MAINCLK_CNT register field. */
1641 #define ALT_CLKMGR_MAINPLL_MAINCLK_CNT_LSB        0
1642 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_MAINPLL_MAINCLK_CNT register field. */
1643 #define ALT_CLKMGR_MAINPLL_MAINCLK_CNT_MSB        8
1644 /* The width in bits of the ALT_CLKMGR_MAINPLL_MAINCLK_CNT register field. */
1645 #define ALT_CLKMGR_MAINPLL_MAINCLK_CNT_WIDTH      9
1646 /* The mask used to set the ALT_CLKMGR_MAINPLL_MAINCLK_CNT register field value. */
1647 #define ALT_CLKMGR_MAINPLL_MAINCLK_CNT_SET_MSK    0x000001ff
1648 /* The mask used to clear the ALT_CLKMGR_MAINPLL_MAINCLK_CNT register field value. */
1649 #define ALT_CLKMGR_MAINPLL_MAINCLK_CNT_CLR_MSK    0xfffffe00
1650 /* The reset value of the ALT_CLKMGR_MAINPLL_MAINCLK_CNT register field. */
1651 #define ALT_CLKMGR_MAINPLL_MAINCLK_CNT_RESET      0x0
1652 /* Extracts the ALT_CLKMGR_MAINPLL_MAINCLK_CNT field value from a register. */
1653 #define ALT_CLKMGR_MAINPLL_MAINCLK_CNT_GET(value) (((value) & 0x000001ff) >> 0)
1654 /* Produces a ALT_CLKMGR_MAINPLL_MAINCLK_CNT register field value suitable for setting the register. */
1655 #define ALT_CLKMGR_MAINPLL_MAINCLK_CNT_SET(value) (((value) << 0) & 0x000001ff)
1656 
1657 #ifndef __ASSEMBLY__
1658 /*
1659  * WARNING: The C register and register group struct declarations are provided for
1660  * convenience and illustrative purposes. They should, however, be used with
1661  * caution as the C language standard provides no guarantees about the alignment or
1662  * atomicity of device memory accesses. The recommended practice for writing
1663  * hardware drivers is to use the SoCAL access macros and alt_read_word() and
1664  * alt_write_word() functions.
1665  * 
1666  * The struct declaration for register ALT_CLKMGR_MAINPLL_MAINCLK.
1667  */
1668 struct ALT_CLKMGR_MAINPLL_MAINCLK_s
1669 {
1670     uint32_t  cnt :  9;  /* Counter */
1671     uint32_t      : 23;  /* *UNDEFINED* */
1672 };
1673 
1674 /* The typedef declaration for register ALT_CLKMGR_MAINPLL_MAINCLK. */
1675 typedef volatile struct ALT_CLKMGR_MAINPLL_MAINCLK_s  ALT_CLKMGR_MAINPLL_MAINCLK_t;
1676 #endif  /* __ASSEMBLY__ */
1677 
1678 /* The byte offset of the ALT_CLKMGR_MAINPLL_MAINCLK register from the beginning of the component. */
1679 #define ALT_CLKMGR_MAINPLL_MAINCLK_OFST        0xc
1680 
1681 /*
1682  * Register : Main PLL C2 Control Register for Clock dbg_base_clk - dbgatclk
1683  * 
1684  * Contains settings that control clock dbg_base_clk generated from the C2 output
1685  * of the Main PLL.
1686  * 
1687  * Only reset by a cold reset.
1688  * 
1689  * Register Layout
1690  * 
1691  *  Bits   | Access | Reset | Description
1692  * :-------|:-------|:------|:------------
1693  *  [8:0]  | RW     | 0x0   | Counter    
1694  *  [31:9] | ???    | 0x0   | *UNDEFINED*
1695  * 
1696  */
1697 /*
1698  * Field : Counter - cnt
1699  * 
1700  * Divides the VCO/4 frequency by the value+1 in this field.
1701  * 
1702  * Field Access Macros:
1703  * 
1704  */
1705 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_MAINPLL_DBGATCLK_CNT register field. */
1706 #define ALT_CLKMGR_MAINPLL_DBGATCLK_CNT_LSB        0
1707 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_MAINPLL_DBGATCLK_CNT register field. */
1708 #define ALT_CLKMGR_MAINPLL_DBGATCLK_CNT_MSB        8
1709 /* The width in bits of the ALT_CLKMGR_MAINPLL_DBGATCLK_CNT register field. */
1710 #define ALT_CLKMGR_MAINPLL_DBGATCLK_CNT_WIDTH      9
1711 /* The mask used to set the ALT_CLKMGR_MAINPLL_DBGATCLK_CNT register field value. */
1712 #define ALT_CLKMGR_MAINPLL_DBGATCLK_CNT_SET_MSK    0x000001ff
1713 /* The mask used to clear the ALT_CLKMGR_MAINPLL_DBGATCLK_CNT register field value. */
1714 #define ALT_CLKMGR_MAINPLL_DBGATCLK_CNT_CLR_MSK    0xfffffe00
1715 /* The reset value of the ALT_CLKMGR_MAINPLL_DBGATCLK_CNT register field. */
1716 #define ALT_CLKMGR_MAINPLL_DBGATCLK_CNT_RESET      0x0
1717 /* Extracts the ALT_CLKMGR_MAINPLL_DBGATCLK_CNT field value from a register. */
1718 #define ALT_CLKMGR_MAINPLL_DBGATCLK_CNT_GET(value) (((value) & 0x000001ff) >> 0)
1719 /* Produces a ALT_CLKMGR_MAINPLL_DBGATCLK_CNT register field value suitable for setting the register. */
1720 #define ALT_CLKMGR_MAINPLL_DBGATCLK_CNT_SET(value) (((value) << 0) & 0x000001ff)
1721 
1722 #ifndef __ASSEMBLY__
1723 /*
1724  * WARNING: The C register and register group struct declarations are provided for
1725  * convenience and illustrative purposes. They should, however, be used with
1726  * caution as the C language standard provides no guarantees about the alignment or
1727  * atomicity of device memory accesses. The recommended practice for writing
1728  * hardware drivers is to use the SoCAL access macros and alt_read_word() and
1729  * alt_write_word() functions.
1730  * 
1731  * The struct declaration for register ALT_CLKMGR_MAINPLL_DBGATCLK.
1732  */
1733 struct ALT_CLKMGR_MAINPLL_DBGATCLK_s
1734 {
1735     uint32_t  cnt :  9;  /* Counter */
1736     uint32_t      : 23;  /* *UNDEFINED* */
1737 };
1738 
1739 /* The typedef declaration for register ALT_CLKMGR_MAINPLL_DBGATCLK. */
1740 typedef volatile struct ALT_CLKMGR_MAINPLL_DBGATCLK_s  ALT_CLKMGR_MAINPLL_DBGATCLK_t;
1741 #endif  /* __ASSEMBLY__ */
1742 
1743 /* The byte offset of the ALT_CLKMGR_MAINPLL_DBGATCLK register from the beginning of the component. */
1744 #define ALT_CLKMGR_MAINPLL_DBGATCLK_OFST        0x10
1745 
1746 /*
1747  * Register : Main PLL C3 Control Register for Clock main_qspi_clk - mainqspiclk
1748  * 
1749  * Contains settings that control clock main_qspi_clk generated from the C3 output
1750  * of the Main PLL.
1751  * 
1752  * Only reset by a cold reset.
1753  * 
1754  * Register Layout
1755  * 
1756  *  Bits   | Access | Reset | Description
1757  * :-------|:-------|:------|:------------
1758  *  [8:0]  | RW     | 0x3   | Counter    
1759  *  [31:9] | ???    | 0x0   | *UNDEFINED*
1760  * 
1761  */
1762 /*
1763  * Field : Counter - cnt
1764  * 
1765  * Divides the VCO frequency by the value+1 in this field.
1766  * 
1767  * Field Access Macros:
1768  * 
1769  */
1770 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_MAINPLL_MAINQSPICLK_CNT register field. */
1771 #define ALT_CLKMGR_MAINPLL_MAINQSPICLK_CNT_LSB        0
1772 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_MAINPLL_MAINQSPICLK_CNT register field. */
1773 #define ALT_CLKMGR_MAINPLL_MAINQSPICLK_CNT_MSB        8
1774 /* The width in bits of the ALT_CLKMGR_MAINPLL_MAINQSPICLK_CNT register field. */
1775 #define ALT_CLKMGR_MAINPLL_MAINQSPICLK_CNT_WIDTH      9
1776 /* The mask used to set the ALT_CLKMGR_MAINPLL_MAINQSPICLK_CNT register field value. */
1777 #define ALT_CLKMGR_MAINPLL_MAINQSPICLK_CNT_SET_MSK    0x000001ff
1778 /* The mask used to clear the ALT_CLKMGR_MAINPLL_MAINQSPICLK_CNT register field value. */
1779 #define ALT_CLKMGR_MAINPLL_MAINQSPICLK_CNT_CLR_MSK    0xfffffe00
1780 /* The reset value of the ALT_CLKMGR_MAINPLL_MAINQSPICLK_CNT register field. */
1781 #define ALT_CLKMGR_MAINPLL_MAINQSPICLK_CNT_RESET      0x3
1782 /* Extracts the ALT_CLKMGR_MAINPLL_MAINQSPICLK_CNT field value from a register. */
1783 #define ALT_CLKMGR_MAINPLL_MAINQSPICLK_CNT_GET(value) (((value) & 0x000001ff) >> 0)
1784 /* Produces a ALT_CLKMGR_MAINPLL_MAINQSPICLK_CNT register field value suitable for setting the register. */
1785 #define ALT_CLKMGR_MAINPLL_MAINQSPICLK_CNT_SET(value) (((value) << 0) & 0x000001ff)
1786 
1787 #ifndef __ASSEMBLY__
1788 /*
1789  * WARNING: The C register and register group struct declarations are provided for
1790  * convenience and illustrative purposes. They should, however, be used with
1791  * caution as the C language standard provides no guarantees about the alignment or
1792  * atomicity of device memory accesses. The recommended practice for writing
1793  * hardware drivers is to use the SoCAL access macros and alt_read_word() and
1794  * alt_write_word() functions.
1795  * 
1796  * The struct declaration for register ALT_CLKMGR_MAINPLL_MAINQSPICLK.
1797  */
1798 struct ALT_CLKMGR_MAINPLL_MAINQSPICLK_s
1799 {
1800     uint32_t  cnt :  9;  /* Counter */
1801     uint32_t      : 23;  /* *UNDEFINED* */
1802 };
1803 
1804 /* The typedef declaration for register ALT_CLKMGR_MAINPLL_MAINQSPICLK. */
1805 typedef volatile struct ALT_CLKMGR_MAINPLL_MAINQSPICLK_s  ALT_CLKMGR_MAINPLL_MAINQSPICLK_t;
1806 #endif  /* __ASSEMBLY__ */
1807 
1808 /* The byte offset of the ALT_CLKMGR_MAINPLL_MAINQSPICLK register from the beginning of the component. */
1809 #define ALT_CLKMGR_MAINPLL_MAINQSPICLK_OFST        0x14
1810 
1811 /*
1812  * Register : Main PLL C4 Control Register for Clock main_nand_sdmmc_clk - mainnandsdmmcclk
1813  * 
1814  * Contains settings that control clock main_nand_sdmmc_clk generated from the C4
1815  * output of the Main PLL.
1816  * 
1817  * Only reset by a cold reset.
1818  * 
1819  * Register Layout
1820  * 
1821  *  Bits   | Access | Reset | Description
1822  * :-------|:-------|:------|:------------
1823  *  [8:0]  | RW     | 0x3   | Counter    
1824  *  [31:9] | ???    | 0x0   | *UNDEFINED*
1825  * 
1826  */
1827 /*
1828  * Field : Counter - cnt
1829  * 
1830  * Divides the VCO frequency by the value+1 in this field.
1831  * 
1832  * Field Access Macros:
1833  * 
1834  */
1835 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_MAINPLL_MAINNANDSDMMCCLK_CNT register field. */
1836 #define ALT_CLKMGR_MAINPLL_MAINNANDSDMMCCLK_CNT_LSB        0
1837 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_MAINPLL_MAINNANDSDMMCCLK_CNT register field. */
1838 #define ALT_CLKMGR_MAINPLL_MAINNANDSDMMCCLK_CNT_MSB        8
1839 /* The width in bits of the ALT_CLKMGR_MAINPLL_MAINNANDSDMMCCLK_CNT register field. */
1840 #define ALT_CLKMGR_MAINPLL_MAINNANDSDMMCCLK_CNT_WIDTH      9
1841 /* The mask used to set the ALT_CLKMGR_MAINPLL_MAINNANDSDMMCCLK_CNT register field value. */
1842 #define ALT_CLKMGR_MAINPLL_MAINNANDSDMMCCLK_CNT_SET_MSK    0x000001ff
1843 /* The mask used to clear the ALT_CLKMGR_MAINPLL_MAINNANDSDMMCCLK_CNT register field value. */
1844 #define ALT_CLKMGR_MAINPLL_MAINNANDSDMMCCLK_CNT_CLR_MSK    0xfffffe00
1845 /* The reset value of the ALT_CLKMGR_MAINPLL_MAINNANDSDMMCCLK_CNT register field. */
1846 #define ALT_CLKMGR_MAINPLL_MAINNANDSDMMCCLK_CNT_RESET      0x3
1847 /* Extracts the ALT_CLKMGR_MAINPLL_MAINNANDSDMMCCLK_CNT field value from a register. */
1848 #define ALT_CLKMGR_MAINPLL_MAINNANDSDMMCCLK_CNT_GET(value) (((value) & 0x000001ff) >> 0)
1849 /* Produces a ALT_CLKMGR_MAINPLL_MAINNANDSDMMCCLK_CNT register field value suitable for setting the register. */
1850 #define ALT_CLKMGR_MAINPLL_MAINNANDSDMMCCLK_CNT_SET(value) (((value) << 0) & 0x000001ff)
1851 
1852 #ifndef __ASSEMBLY__
1853 /*
1854  * WARNING: The C register and register group struct declarations are provided for
1855  * convenience and illustrative purposes. They should, however, be used with
1856  * caution as the C language standard provides no guarantees about the alignment or
1857  * atomicity of device memory accesses. The recommended practice for writing
1858  * hardware drivers is to use the SoCAL access macros and alt_read_word() and
1859  * alt_write_word() functions.
1860  * 
1861  * The struct declaration for register ALT_CLKMGR_MAINPLL_MAINNANDSDMMCCLK.
1862  */
1863 struct ALT_CLKMGR_MAINPLL_MAINNANDSDMMCCLK_s
1864 {
1865     uint32_t  cnt :  9;  /* Counter */
1866     uint32_t      : 23;  /* *UNDEFINED* */
1867 };
1868 
1869 /* The typedef declaration for register ALT_CLKMGR_MAINPLL_MAINNANDSDMMCCLK. */
1870 typedef volatile struct ALT_CLKMGR_MAINPLL_MAINNANDSDMMCCLK_s  ALT_CLKMGR_MAINPLL_MAINNANDSDMMCCLK_t;
1871 #endif  /* __ASSEMBLY__ */
1872 
1873 /* The byte offset of the ALT_CLKMGR_MAINPLL_MAINNANDSDMMCCLK register from the beginning of the component. */
1874 #define ALT_CLKMGR_MAINPLL_MAINNANDSDMMCCLK_OFST        0x18
1875 
1876 /*
1877  * Register : Main PLL C5 Control Register for Clock cfg_s2f_user0_clk - cfgs2fuser0clk
1878  * 
1879  * Contains settings that control clock cfg_s2f_user0_clk generated from the C5
1880  * output of the Main PLL.
1881  * 
1882  * Qsys and user documenation refer to cfg_s2f_user0_clk as cfg_h2f_user0_clk.
1883  * 
1884  * Only reset by a cold reset.
1885  * 
1886  * Register Layout
1887  * 
1888  *  Bits   | Access | Reset | Description
1889  * :-------|:-------|:------|:------------
1890  *  [8:0]  | RW     | 0xf   | Counter    
1891  *  [31:9] | ???    | 0x0   | *UNDEFINED*
1892  * 
1893  */
1894 /*
1895  * Field : Counter - cnt
1896  * 
1897  * Divides the VCO frequency by the value+1 in this field.
1898  * 
1899  * Field Access Macros:
1900  * 
1901  */
1902 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_MAINPLL_CFGS2FUSER0CLK_CNT register field. */
1903 #define ALT_CLKMGR_MAINPLL_CFGS2FUSER0CLK_CNT_LSB        0
1904 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_MAINPLL_CFGS2FUSER0CLK_CNT register field. */
1905 #define ALT_CLKMGR_MAINPLL_CFGS2FUSER0CLK_CNT_MSB        8
1906 /* The width in bits of the ALT_CLKMGR_MAINPLL_CFGS2FUSER0CLK_CNT register field. */
1907 #define ALT_CLKMGR_MAINPLL_CFGS2FUSER0CLK_CNT_WIDTH      9
1908 /* The mask used to set the ALT_CLKMGR_MAINPLL_CFGS2FUSER0CLK_CNT register field value. */
1909 #define ALT_CLKMGR_MAINPLL_CFGS2FUSER0CLK_CNT_SET_MSK    0x000001ff
1910 /* The mask used to clear the ALT_CLKMGR_MAINPLL_CFGS2FUSER0CLK_CNT register field value. */
1911 #define ALT_CLKMGR_MAINPLL_CFGS2FUSER0CLK_CNT_CLR_MSK    0xfffffe00
1912 /* The reset value of the ALT_CLKMGR_MAINPLL_CFGS2FUSER0CLK_CNT register field. */
1913 #define ALT_CLKMGR_MAINPLL_CFGS2FUSER0CLK_CNT_RESET      0xf
1914 /* Extracts the ALT_CLKMGR_MAINPLL_CFGS2FUSER0CLK_CNT field value from a register. */
1915 #define ALT_CLKMGR_MAINPLL_CFGS2FUSER0CLK_CNT_GET(value) (((value) & 0x000001ff) >> 0)
1916 /* Produces a ALT_CLKMGR_MAINPLL_CFGS2FUSER0CLK_CNT register field value suitable for setting the register. */
1917 #define ALT_CLKMGR_MAINPLL_CFGS2FUSER0CLK_CNT_SET(value) (((value) << 0) & 0x000001ff)
1918 
1919 #ifndef __ASSEMBLY__
1920 /*
1921  * WARNING: The C register and register group struct declarations are provided for
1922  * convenience and illustrative purposes. They should, however, be used with
1923  * caution as the C language standard provides no guarantees about the alignment or
1924  * atomicity of device memory accesses. The recommended practice for writing
1925  * hardware drivers is to use the SoCAL access macros and alt_read_word() and
1926  * alt_write_word() functions.
1927  * 
1928  * The struct declaration for register ALT_CLKMGR_MAINPLL_CFGS2FUSER0CLK.
1929  */
1930 struct ALT_CLKMGR_MAINPLL_CFGS2FUSER0CLK_s
1931 {
1932     uint32_t  cnt :  9;  /* Counter */
1933     uint32_t      : 23;  /* *UNDEFINED* */
1934 };
1935 
1936 /* The typedef declaration for register ALT_CLKMGR_MAINPLL_CFGS2FUSER0CLK. */
1937 typedef volatile struct ALT_CLKMGR_MAINPLL_CFGS2FUSER0CLK_s  ALT_CLKMGR_MAINPLL_CFGS2FUSER0CLK_t;
1938 #endif  /* __ASSEMBLY__ */
1939 
1940 /* The byte offset of the ALT_CLKMGR_MAINPLL_CFGS2FUSER0CLK register from the beginning of the component. */
1941 #define ALT_CLKMGR_MAINPLL_CFGS2FUSER0CLK_OFST        0x1c
1942 
1943 /*
1944  * Register : Enable Register - en
1945  * 
1946  * Contains fields that control clock enables for clocks derived from the Main PLL.
1947  * 
1948  * 1: The clock is enabled.
1949  * 
1950  * 0: The clock is disabled.
1951  * 
1952  * Fields are only reset by a cold reset.
1953  * 
1954  * Register Layout
1955  * 
1956  *  Bits    | Access | Reset | Description         
1957  * :--------|:-------|:------|:---------------------
1958  *  [0]     | RW     | 0x1   | l4_main_clk Enable  
1959  *  [1]     | RW     | 0x1   | l3_mp_clk Enable    
1960  *  [2]     | RW     | 0x1   | l4_mp_clk Enable    
1961  *  [3]     | RW     | 0x1   | l4_sp_clk Enable    
1962  *  [4]     | RW     | 0x1   | dbg_at_clk Enable   
1963  *  [5]     | RW     | 0x1   | dbg_clk Enable      
1964  *  [6]     | RW     | 0x1   | dbg_trace_clk Enable
1965  *  [7]     | RW     | 0x1   | dbg_timer_clk Enable
1966  *  [8]     | RW     | 0x1   | cfg_clk Enable      
1967  *  [9]     | RW     | 0x1   | s2f_user0_clk Enable
1968  *  [31:10] | ???    | 0x0   | *UNDEFINED*         
1969  * 
1970  */
1971 /*
1972  * Field : l4_main_clk Enable - l4mainclk
1973  * 
1974  * Enables clock l4_main_clk output
1975  * 
1976  * Field Access Macros:
1977  * 
1978  */
1979 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_MAINPLL_EN_L4MAINCLK register field. */
1980 #define ALT_CLKMGR_MAINPLL_EN_L4MAINCLK_LSB        0
1981 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_MAINPLL_EN_L4MAINCLK register field. */
1982 #define ALT_CLKMGR_MAINPLL_EN_L4MAINCLK_MSB        0
1983 /* The width in bits of the ALT_CLKMGR_MAINPLL_EN_L4MAINCLK register field. */
1984 #define ALT_CLKMGR_MAINPLL_EN_L4MAINCLK_WIDTH      1
1985 /* The mask used to set the ALT_CLKMGR_MAINPLL_EN_L4MAINCLK register field value. */
1986 #define ALT_CLKMGR_MAINPLL_EN_L4MAINCLK_SET_MSK    0x00000001
1987 /* The mask used to clear the ALT_CLKMGR_MAINPLL_EN_L4MAINCLK register field value. */
1988 #define ALT_CLKMGR_MAINPLL_EN_L4MAINCLK_CLR_MSK    0xfffffffe
1989 /* The reset value of the ALT_CLKMGR_MAINPLL_EN_L4MAINCLK register field. */
1990 #define ALT_CLKMGR_MAINPLL_EN_L4MAINCLK_RESET      0x1
1991 /* Extracts the ALT_CLKMGR_MAINPLL_EN_L4MAINCLK field value from a register. */
1992 #define ALT_CLKMGR_MAINPLL_EN_L4MAINCLK_GET(value) (((value) & 0x00000001) >> 0)
1993 /* Produces a ALT_CLKMGR_MAINPLL_EN_L4MAINCLK register field value suitable for setting the register. */
1994 #define ALT_CLKMGR_MAINPLL_EN_L4MAINCLK_SET(value) (((value) << 0) & 0x00000001)
1995 
1996 /*
1997  * Field : l3_mp_clk Enable - l3mpclk
1998  * 
1999  * Enables clock l3_mp_clk output
2000  * 
2001  * Field Access Macros:
2002  * 
2003  */
2004 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_MAINPLL_EN_L3MPCLK register field. */
2005 #define ALT_CLKMGR_MAINPLL_EN_L3MPCLK_LSB        1
2006 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_MAINPLL_EN_L3MPCLK register field. */
2007 #define ALT_CLKMGR_MAINPLL_EN_L3MPCLK_MSB        1
2008 /* The width in bits of the ALT_CLKMGR_MAINPLL_EN_L3MPCLK register field. */
2009 #define ALT_CLKMGR_MAINPLL_EN_L3MPCLK_WIDTH      1
2010 /* The mask used to set the ALT_CLKMGR_MAINPLL_EN_L3MPCLK register field value. */
2011 #define ALT_CLKMGR_MAINPLL_EN_L3MPCLK_SET_MSK    0x00000002
2012 /* The mask used to clear the ALT_CLKMGR_MAINPLL_EN_L3MPCLK register field value. */
2013 #define ALT_CLKMGR_MAINPLL_EN_L3MPCLK_CLR_MSK    0xfffffffd
2014 /* The reset value of the ALT_CLKMGR_MAINPLL_EN_L3MPCLK register field. */
2015 #define ALT_CLKMGR_MAINPLL_EN_L3MPCLK_RESET      0x1
2016 /* Extracts the ALT_CLKMGR_MAINPLL_EN_L3MPCLK field value from a register. */
2017 #define ALT_CLKMGR_MAINPLL_EN_L3MPCLK_GET(value) (((value) & 0x00000002) >> 1)
2018 /* Produces a ALT_CLKMGR_MAINPLL_EN_L3MPCLK register field value suitable for setting the register. */
2019 #define ALT_CLKMGR_MAINPLL_EN_L3MPCLK_SET(value) (((value) << 1) & 0x00000002)
2020 
2021 /*
2022  * Field : l4_mp_clk Enable - l4mpclk
2023  * 
2024  * Enables clock l4_mp_clk output
2025  * 
2026  * Field Access Macros:
2027  * 
2028  */
2029 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_MAINPLL_EN_L4MPCLK register field. */
2030 #define ALT_CLKMGR_MAINPLL_EN_L4MPCLK_LSB        2
2031 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_MAINPLL_EN_L4MPCLK register field. */
2032 #define ALT_CLKMGR_MAINPLL_EN_L4MPCLK_MSB        2
2033 /* The width in bits of the ALT_CLKMGR_MAINPLL_EN_L4MPCLK register field. */
2034 #define ALT_CLKMGR_MAINPLL_EN_L4MPCLK_WIDTH      1
2035 /* The mask used to set the ALT_CLKMGR_MAINPLL_EN_L4MPCLK register field value. */
2036 #define ALT_CLKMGR_MAINPLL_EN_L4MPCLK_SET_MSK    0x00000004
2037 /* The mask used to clear the ALT_CLKMGR_MAINPLL_EN_L4MPCLK register field value. */
2038 #define ALT_CLKMGR_MAINPLL_EN_L4MPCLK_CLR_MSK    0xfffffffb
2039 /* The reset value of the ALT_CLKMGR_MAINPLL_EN_L4MPCLK register field. */
2040 #define ALT_CLKMGR_MAINPLL_EN_L4MPCLK_RESET      0x1
2041 /* Extracts the ALT_CLKMGR_MAINPLL_EN_L4MPCLK field value from a register. */
2042 #define ALT_CLKMGR_MAINPLL_EN_L4MPCLK_GET(value) (((value) & 0x00000004) >> 2)
2043 /* Produces a ALT_CLKMGR_MAINPLL_EN_L4MPCLK register field value suitable for setting the register. */
2044 #define ALT_CLKMGR_MAINPLL_EN_L4MPCLK_SET(value) (((value) << 2) & 0x00000004)
2045 
2046 /*
2047  * Field : l4_sp_clk Enable - l4spclk
2048  * 
2049  * Enables clock l4_sp_clk output
2050  * 
2051  * Field Access Macros:
2052  * 
2053  */
2054 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_MAINPLL_EN_L4SPCLK register field. */
2055 #define ALT_CLKMGR_MAINPLL_EN_L4SPCLK_LSB        3
2056 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_MAINPLL_EN_L4SPCLK register field. */
2057 #define ALT_CLKMGR_MAINPLL_EN_L4SPCLK_MSB        3
2058 /* The width in bits of the ALT_CLKMGR_MAINPLL_EN_L4SPCLK register field. */
2059 #define ALT_CLKMGR_MAINPLL_EN_L4SPCLK_WIDTH      1
2060 /* The mask used to set the ALT_CLKMGR_MAINPLL_EN_L4SPCLK register field value. */
2061 #define ALT_CLKMGR_MAINPLL_EN_L4SPCLK_SET_MSK    0x00000008
2062 /* The mask used to clear the ALT_CLKMGR_MAINPLL_EN_L4SPCLK register field value. */
2063 #define ALT_CLKMGR_MAINPLL_EN_L4SPCLK_CLR_MSK    0xfffffff7
2064 /* The reset value of the ALT_CLKMGR_MAINPLL_EN_L4SPCLK register field. */
2065 #define ALT_CLKMGR_MAINPLL_EN_L4SPCLK_RESET      0x1
2066 /* Extracts the ALT_CLKMGR_MAINPLL_EN_L4SPCLK field value from a register. */
2067 #define ALT_CLKMGR_MAINPLL_EN_L4SPCLK_GET(value) (((value) & 0x00000008) >> 3)
2068 /* Produces a ALT_CLKMGR_MAINPLL_EN_L4SPCLK register field value suitable for setting the register. */
2069 #define ALT_CLKMGR_MAINPLL_EN_L4SPCLK_SET(value) (((value) << 3) & 0x00000008)
2070 
2071 /*
2072  * Field : dbg_at_clk Enable - dbgatclk
2073  * 
2074  * Enables clock dbg_at_clk output
2075  * 
2076  * Field Access Macros:
2077  * 
2078  */
2079 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_MAINPLL_EN_DBGATCLK register field. */
2080 #define ALT_CLKMGR_MAINPLL_EN_DBGATCLK_LSB        4
2081 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_MAINPLL_EN_DBGATCLK register field. */
2082 #define ALT_CLKMGR_MAINPLL_EN_DBGATCLK_MSB        4
2083 /* The width in bits of the ALT_CLKMGR_MAINPLL_EN_DBGATCLK register field. */
2084 #define ALT_CLKMGR_MAINPLL_EN_DBGATCLK_WIDTH      1
2085 /* The mask used to set the ALT_CLKMGR_MAINPLL_EN_DBGATCLK register field value. */
2086 #define ALT_CLKMGR_MAINPLL_EN_DBGATCLK_SET_MSK    0x00000010
2087 /* The mask used to clear the ALT_CLKMGR_MAINPLL_EN_DBGATCLK register field value. */
2088 #define ALT_CLKMGR_MAINPLL_EN_DBGATCLK_CLR_MSK    0xffffffef
2089 /* The reset value of the ALT_CLKMGR_MAINPLL_EN_DBGATCLK register field. */
2090 #define ALT_CLKMGR_MAINPLL_EN_DBGATCLK_RESET      0x1
2091 /* Extracts the ALT_CLKMGR_MAINPLL_EN_DBGATCLK field value from a register. */
2092 #define ALT_CLKMGR_MAINPLL_EN_DBGATCLK_GET(value) (((value) & 0x00000010) >> 4)
2093 /* Produces a ALT_CLKMGR_MAINPLL_EN_DBGATCLK register field value suitable for setting the register. */
2094 #define ALT_CLKMGR_MAINPLL_EN_DBGATCLK_SET(value) (((value) << 4) & 0x00000010)
2095 
2096 /*
2097  * Field : dbg_clk Enable - dbgclk
2098  * 
2099  * Enables clock dbg_clk output
2100  * 
2101  * Field Access Macros:
2102  * 
2103  */
2104 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_MAINPLL_EN_DBGCLK register field. */
2105 #define ALT_CLKMGR_MAINPLL_EN_DBGCLK_LSB        5
2106 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_MAINPLL_EN_DBGCLK register field. */
2107 #define ALT_CLKMGR_MAINPLL_EN_DBGCLK_MSB        5
2108 /* The width in bits of the ALT_CLKMGR_MAINPLL_EN_DBGCLK register field. */
2109 #define ALT_CLKMGR_MAINPLL_EN_DBGCLK_WIDTH      1
2110 /* The mask used to set the ALT_CLKMGR_MAINPLL_EN_DBGCLK register field value. */
2111 #define ALT_CLKMGR_MAINPLL_EN_DBGCLK_SET_MSK    0x00000020
2112 /* The mask used to clear the ALT_CLKMGR_MAINPLL_EN_DBGCLK register field value. */
2113 #define ALT_CLKMGR_MAINPLL_EN_DBGCLK_CLR_MSK    0xffffffdf
2114 /* The reset value of the ALT_CLKMGR_MAINPLL_EN_DBGCLK register field. */
2115 #define ALT_CLKMGR_MAINPLL_EN_DBGCLK_RESET      0x1
2116 /* Extracts the ALT_CLKMGR_MAINPLL_EN_DBGCLK field value from a register. */
2117 #define ALT_CLKMGR_MAINPLL_EN_DBGCLK_GET(value) (((value) & 0x00000020) >> 5)
2118 /* Produces a ALT_CLKMGR_MAINPLL_EN_DBGCLK register field value suitable for setting the register. */
2119 #define ALT_CLKMGR_MAINPLL_EN_DBGCLK_SET(value) (((value) << 5) & 0x00000020)
2120 
2121 /*
2122  * Field : dbg_trace_clk Enable - dbgtraceclk
2123  * 
2124  * Enables clock dbg_trace_clk output
2125  * 
2126  * Field Access Macros:
2127  * 
2128  */
2129 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_MAINPLL_EN_DBGTRACECLK register field. */
2130 #define ALT_CLKMGR_MAINPLL_EN_DBGTRACECLK_LSB        6
2131 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_MAINPLL_EN_DBGTRACECLK register field. */
2132 #define ALT_CLKMGR_MAINPLL_EN_DBGTRACECLK_MSB        6
2133 /* The width in bits of the ALT_CLKMGR_MAINPLL_EN_DBGTRACECLK register field. */
2134 #define ALT_CLKMGR_MAINPLL_EN_DBGTRACECLK_WIDTH      1
2135 /* The mask used to set the ALT_CLKMGR_MAINPLL_EN_DBGTRACECLK register field value. */
2136 #define ALT_CLKMGR_MAINPLL_EN_DBGTRACECLK_SET_MSK    0x00000040
2137 /* The mask used to clear the ALT_CLKMGR_MAINPLL_EN_DBGTRACECLK register field value. */
2138 #define ALT_CLKMGR_MAINPLL_EN_DBGTRACECLK_CLR_MSK    0xffffffbf
2139 /* The reset value of the ALT_CLKMGR_MAINPLL_EN_DBGTRACECLK register field. */
2140 #define ALT_CLKMGR_MAINPLL_EN_DBGTRACECLK_RESET      0x1
2141 /* Extracts the ALT_CLKMGR_MAINPLL_EN_DBGTRACECLK field value from a register. */
2142 #define ALT_CLKMGR_MAINPLL_EN_DBGTRACECLK_GET(value) (((value) & 0x00000040) >> 6)
2143 /* Produces a ALT_CLKMGR_MAINPLL_EN_DBGTRACECLK register field value suitable for setting the register. */
2144 #define ALT_CLKMGR_MAINPLL_EN_DBGTRACECLK_SET(value) (((value) << 6) & 0x00000040)
2145 
2146 /*
2147  * Field : dbg_timer_clk Enable - dbgtimerclk
2148  * 
2149  * Enables clock dbg_timer_clk output
2150  * 
2151  * Field Access Macros:
2152  * 
2153  */
2154 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_MAINPLL_EN_DBGTMRCLK register field. */
2155 #define ALT_CLKMGR_MAINPLL_EN_DBGTMRCLK_LSB        7
2156 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_MAINPLL_EN_DBGTMRCLK register field. */
2157 #define ALT_CLKMGR_MAINPLL_EN_DBGTMRCLK_MSB        7
2158 /* The width in bits of the ALT_CLKMGR_MAINPLL_EN_DBGTMRCLK register field. */
2159 #define ALT_CLKMGR_MAINPLL_EN_DBGTMRCLK_WIDTH      1
2160 /* The mask used to set the ALT_CLKMGR_MAINPLL_EN_DBGTMRCLK register field value. */
2161 #define ALT_CLKMGR_MAINPLL_EN_DBGTMRCLK_SET_MSK    0x00000080
2162 /* The mask used to clear the ALT_CLKMGR_MAINPLL_EN_DBGTMRCLK register field value. */
2163 #define ALT_CLKMGR_MAINPLL_EN_DBGTMRCLK_CLR_MSK    0xffffff7f
2164 /* The reset value of the ALT_CLKMGR_MAINPLL_EN_DBGTMRCLK register field. */
2165 #define ALT_CLKMGR_MAINPLL_EN_DBGTMRCLK_RESET      0x1
2166 /* Extracts the ALT_CLKMGR_MAINPLL_EN_DBGTMRCLK field value from a register. */
2167 #define ALT_CLKMGR_MAINPLL_EN_DBGTMRCLK_GET(value) (((value) & 0x00000080) >> 7)
2168 /* Produces a ALT_CLKMGR_MAINPLL_EN_DBGTMRCLK register field value suitable for setting the register. */
2169 #define ALT_CLKMGR_MAINPLL_EN_DBGTMRCLK_SET(value) (((value) << 7) & 0x00000080)
2170 
2171 /*
2172  * Field : cfg_clk Enable - cfgclk
2173  * 
2174  * Enables clock cfg_clk output
2175  * 
2176  * Field Access Macros:
2177  * 
2178  */
2179 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_MAINPLL_EN_CFGCLK register field. */
2180 #define ALT_CLKMGR_MAINPLL_EN_CFGCLK_LSB        8
2181 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_MAINPLL_EN_CFGCLK register field. */
2182 #define ALT_CLKMGR_MAINPLL_EN_CFGCLK_MSB        8
2183 /* The width in bits of the ALT_CLKMGR_MAINPLL_EN_CFGCLK register field. */
2184 #define ALT_CLKMGR_MAINPLL_EN_CFGCLK_WIDTH      1
2185 /* The mask used to set the ALT_CLKMGR_MAINPLL_EN_CFGCLK register field value. */
2186 #define ALT_CLKMGR_MAINPLL_EN_CFGCLK_SET_MSK    0x00000100
2187 /* The mask used to clear the ALT_CLKMGR_MAINPLL_EN_CFGCLK register field value. */
2188 #define ALT_CLKMGR_MAINPLL_EN_CFGCLK_CLR_MSK    0xfffffeff
2189 /* The reset value of the ALT_CLKMGR_MAINPLL_EN_CFGCLK register field. */
2190 #define ALT_CLKMGR_MAINPLL_EN_CFGCLK_RESET      0x1
2191 /* Extracts the ALT_CLKMGR_MAINPLL_EN_CFGCLK field value from a register. */
2192 #define ALT_CLKMGR_MAINPLL_EN_CFGCLK_GET(value) (((value) & 0x00000100) >> 8)
2193 /* Produces a ALT_CLKMGR_MAINPLL_EN_CFGCLK register field value suitable for setting the register. */
2194 #define ALT_CLKMGR_MAINPLL_EN_CFGCLK_SET(value) (((value) << 8) & 0x00000100)
2195 
2196 /*
2197  * Field : s2f_user0_clk Enable - s2fuser0clk
2198  * 
2199  * Enables clock s2f_user0_clk output.
2200  * 
2201  * Qsys and user documenation refer to s2f_user0_clk as h2f_user0_clk.
2202  * 
2203  * Field Access Macros:
2204  * 
2205  */
2206 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_MAINPLL_EN_S2FUSER0CLK register field. */
2207 #define ALT_CLKMGR_MAINPLL_EN_S2FUSER0CLK_LSB        9
2208 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_MAINPLL_EN_S2FUSER0CLK register field. */
2209 #define ALT_CLKMGR_MAINPLL_EN_S2FUSER0CLK_MSB        9
2210 /* The width in bits of the ALT_CLKMGR_MAINPLL_EN_S2FUSER0CLK register field. */
2211 #define ALT_CLKMGR_MAINPLL_EN_S2FUSER0CLK_WIDTH      1
2212 /* The mask used to set the ALT_CLKMGR_MAINPLL_EN_S2FUSER0CLK register field value. */
2213 #define ALT_CLKMGR_MAINPLL_EN_S2FUSER0CLK_SET_MSK    0x00000200
2214 /* The mask used to clear the ALT_CLKMGR_MAINPLL_EN_S2FUSER0CLK register field value. */
2215 #define ALT_CLKMGR_MAINPLL_EN_S2FUSER0CLK_CLR_MSK    0xfffffdff
2216 /* The reset value of the ALT_CLKMGR_MAINPLL_EN_S2FUSER0CLK register field. */
2217 #define ALT_CLKMGR_MAINPLL_EN_S2FUSER0CLK_RESET      0x1
2218 /* Extracts the ALT_CLKMGR_MAINPLL_EN_S2FUSER0CLK field value from a register. */
2219 #define ALT_CLKMGR_MAINPLL_EN_S2FUSER0CLK_GET(value) (((value) & 0x00000200) >> 9)
2220 /* Produces a ALT_CLKMGR_MAINPLL_EN_S2FUSER0CLK register field value suitable for setting the register. */
2221 #define ALT_CLKMGR_MAINPLL_EN_S2FUSER0CLK_SET(value) (((value) << 9) & 0x00000200)
2222 
2223 #ifndef __ASSEMBLY__
2224 /*
2225  * WARNING: The C register and register group struct declarations are provided for
2226  * convenience and illustrative purposes. They should, however, be used with
2227  * caution as the C language standard provides no guarantees about the alignment or
2228  * atomicity of device memory accesses. The recommended practice for writing
2229  * hardware drivers is to use the SoCAL access macros and alt_read_word() and
2230  * alt_write_word() functions.
2231  * 
2232  * The struct declaration for register ALT_CLKMGR_MAINPLL_EN.
2233  */
2234 struct ALT_CLKMGR_MAINPLL_EN_s
2235 {
2236     uint32_t  l4mainclk   :  1;  /* l4_main_clk Enable */
2237     uint32_t  l3mpclk     :  1;  /* l3_mp_clk Enable */
2238     uint32_t  l4mpclk     :  1;  /* l4_mp_clk Enable */
2239     uint32_t  l4spclk     :  1;  /* l4_sp_clk Enable */
2240     uint32_t  dbgatclk    :  1;  /* dbg_at_clk Enable */
2241     uint32_t  dbgclk      :  1;  /* dbg_clk Enable */
2242     uint32_t  dbgtraceclk :  1;  /* dbg_trace_clk Enable */
2243     uint32_t  dbgtimerclk :  1;  /* dbg_timer_clk Enable */
2244     uint32_t  cfgclk      :  1;  /* cfg_clk Enable */
2245     uint32_t  s2fuser0clk :  1;  /* s2f_user0_clk Enable */
2246     uint32_t              : 22;  /* *UNDEFINED* */
2247 };
2248 
2249 /* The typedef declaration for register ALT_CLKMGR_MAINPLL_EN. */
2250 typedef volatile struct ALT_CLKMGR_MAINPLL_EN_s  ALT_CLKMGR_MAINPLL_EN_t;
2251 #endif  /* __ASSEMBLY__ */
2252 
2253 /* The byte offset of the ALT_CLKMGR_MAINPLL_EN register from the beginning of the component. */
2254 #define ALT_CLKMGR_MAINPLL_EN_OFST        0x20
2255 
2256 /*
2257  * Register : Main Divide Register - maindiv
2258  * 
2259  * Contains fields that control clock dividers for main clocks derived from the
2260  * Main PLL
2261  * 
2262  * Fields are only reset by a cold reset.
2263  * 
2264  * Register Layout
2265  * 
2266  *  Bits    | Access | Reset | Description        
2267  * :--------|:-------|:------|:--------------------
2268  *  [1:0]   | RW     | 0x0   | L3 MP Clock Divider
2269  *  [3:2]   | RW     | 0x0   | L3 SP Clock Divider
2270  *  [6:4]   | RW     | 0x0   | L4 MP Clock Divider
2271  *  [9:7]   | RW     | 0x0   | L4 SP Clock Divider
2272  *  [31:10] | ???    | 0x0   | *UNDEFINED*        
2273  * 
2274  */
2275 /*
2276  * Field : L3 MP Clock Divider - l3mpclk
2277  * 
2278  * The l3_mp_clk is divided down from the l3_main_clk by the value specified in
2279  * this field.
2280  * 
2281  * Field Enumeration Values:
2282  * 
2283  *  Enum                                      | Value | Description
2284  * :------------------------------------------|:------|:------------
2285  *  ALT_CLKMGR_MAINPLL_MAINDIV_L3MPCLK_E_DIV1 | 0x0   | Divide by 1
2286  *  ALT_CLKMGR_MAINPLL_MAINDIV_L3MPCLK_E_DIV2 | 0x1   | Divide by 2
2287  * 
2288  * Field Access Macros:
2289  * 
2290  */
2291 /*
2292  * Enumerated value for register field ALT_CLKMGR_MAINPLL_MAINDIV_L3MPCLK
2293  * 
2294  * Divide by 1
2295  */
2296 #define ALT_CLKMGR_MAINPLL_MAINDIV_L3MPCLK_E_DIV1   0x0
2297 /*
2298  * Enumerated value for register field ALT_CLKMGR_MAINPLL_MAINDIV_L3MPCLK
2299  * 
2300  * Divide by 2
2301  */
2302 #define ALT_CLKMGR_MAINPLL_MAINDIV_L3MPCLK_E_DIV2   0x1
2303 
2304 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_MAINPLL_MAINDIV_L3MPCLK register field. */
2305 #define ALT_CLKMGR_MAINPLL_MAINDIV_L3MPCLK_LSB        0
2306 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_MAINPLL_MAINDIV_L3MPCLK register field. */
2307 #define ALT_CLKMGR_MAINPLL_MAINDIV_L3MPCLK_MSB        1
2308 /* The width in bits of the ALT_CLKMGR_MAINPLL_MAINDIV_L3MPCLK register field. */
2309 #define ALT_CLKMGR_MAINPLL_MAINDIV_L3MPCLK_WIDTH      2
2310 /* The mask used to set the ALT_CLKMGR_MAINPLL_MAINDIV_L3MPCLK register field value. */
2311 #define ALT_CLKMGR_MAINPLL_MAINDIV_L3MPCLK_SET_MSK    0x00000003
2312 /* The mask used to clear the ALT_CLKMGR_MAINPLL_MAINDIV_L3MPCLK register field value. */
2313 #define ALT_CLKMGR_MAINPLL_MAINDIV_L3MPCLK_CLR_MSK    0xfffffffc
2314 /* The reset value of the ALT_CLKMGR_MAINPLL_MAINDIV_L3MPCLK register field. */
2315 #define ALT_CLKMGR_MAINPLL_MAINDIV_L3MPCLK_RESET      0x0
2316 /* Extracts the ALT_CLKMGR_MAINPLL_MAINDIV_L3MPCLK field value from a register. */
2317 #define ALT_CLKMGR_MAINPLL_MAINDIV_L3MPCLK_GET(value) (((value) & 0x00000003) >> 0)
2318 /* Produces a ALT_CLKMGR_MAINPLL_MAINDIV_L3MPCLK register field value suitable for setting the register. */
2319 #define ALT_CLKMGR_MAINPLL_MAINDIV_L3MPCLK_SET(value) (((value) << 0) & 0x00000003)
2320 
2321 /*
2322  * Field : L3 SP Clock Divider - l3spclk
2323  * 
2324  * The l3_sp_clk is divided down from the l3_mp_clk by the value specified in this
2325  * field.
2326  * 
2327  * Field Enumeration Values:
2328  * 
2329  *  Enum                                      | Value | Description
2330  * :------------------------------------------|:------|:------------
2331  *  ALT_CLKMGR_MAINPLL_MAINDIV_L3SPCLK_E_DIV1 | 0x0   | Divide by 1
2332  *  ALT_CLKMGR_MAINPLL_MAINDIV_L3SPCLK_E_DIV2 | 0x1   | Divide by 2
2333  * 
2334  * Field Access Macros:
2335  * 
2336  */
2337 /*
2338  * Enumerated value for register field ALT_CLKMGR_MAINPLL_MAINDIV_L3SPCLK
2339  * 
2340  * Divide by 1
2341  */
2342 #define ALT_CLKMGR_MAINPLL_MAINDIV_L3SPCLK_E_DIV1   0x0
2343 /*
2344  * Enumerated value for register field ALT_CLKMGR_MAINPLL_MAINDIV_L3SPCLK
2345  * 
2346  * Divide by 2
2347  */
2348 #define ALT_CLKMGR_MAINPLL_MAINDIV_L3SPCLK_E_DIV2   0x1
2349 
2350 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_MAINPLL_MAINDIV_L3SPCLK register field. */
2351 #define ALT_CLKMGR_MAINPLL_MAINDIV_L3SPCLK_LSB        2
2352 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_MAINPLL_MAINDIV_L3SPCLK register field. */
2353 #define ALT_CLKMGR_MAINPLL_MAINDIV_L3SPCLK_MSB        3
2354 /* The width in bits of the ALT_CLKMGR_MAINPLL_MAINDIV_L3SPCLK register field. */
2355 #define ALT_CLKMGR_MAINPLL_MAINDIV_L3SPCLK_WIDTH      2
2356 /* The mask used to set the ALT_CLKMGR_MAINPLL_MAINDIV_L3SPCLK register field value. */
2357 #define ALT_CLKMGR_MAINPLL_MAINDIV_L3SPCLK_SET_MSK    0x0000000c
2358 /* The mask used to clear the ALT_CLKMGR_MAINPLL_MAINDIV_L3SPCLK register field value. */
2359 #define ALT_CLKMGR_MAINPLL_MAINDIV_L3SPCLK_CLR_MSK    0xfffffff3
2360 /* The reset value of the ALT_CLKMGR_MAINPLL_MAINDIV_L3SPCLK register field. */
2361 #define ALT_CLKMGR_MAINPLL_MAINDIV_L3SPCLK_RESET      0x0
2362 /* Extracts the ALT_CLKMGR_MAINPLL_MAINDIV_L3SPCLK field value from a register. */
2363 #define ALT_CLKMGR_MAINPLL_MAINDIV_L3SPCLK_GET(value) (((value) & 0x0000000c) >> 2)
2364 /* Produces a ALT_CLKMGR_MAINPLL_MAINDIV_L3SPCLK register field value suitable for setting the register. */
2365 #define ALT_CLKMGR_MAINPLL_MAINDIV_L3SPCLK_SET(value) (((value) << 2) & 0x0000000c)
2366 
2367 /*
2368  * Field : L4 MP Clock Divider - l4mpclk
2369  * 
2370  * The l4_mp_clk is divided down from the periph_base_clk by the value specified in
2371  * this field.
2372  * 
2373  * Field Enumeration Values:
2374  * 
2375  *  Enum                                        | Value | Description 
2376  * :--------------------------------------------|:------|:-------------
2377  *  ALT_CLKMGR_MAINPLL_MAINDIV_L4MPCLK_E_DIV1   | 0x0   | Divide By 1 
2378  *  ALT_CLKMGR_MAINPLL_MAINDIV_L4MPCLK_E_DIV2   | 0x1   | Divide By 2 
2379  *  ALT_CLKMGR_MAINPLL_MAINDIV_L4MPCLK_E_DIV4   | 0x2   | Divide By 4 
2380  *  ALT_CLKMGR_MAINPLL_MAINDIV_L4MPCLK_E_DIV8   | 0x3   | Divide By 8 
2381  *  ALT_CLKMGR_MAINPLL_MAINDIV_L4MPCLK_E_DIV16  | 0x4   | Divide By 16
2382  *  ALT_CLKMGR_MAINPLL_MAINDIV_L4MPCLK_E_RSVD_1 | 0x5   | Reserved    
2383  *  ALT_CLKMGR_MAINPLL_MAINDIV_L4MPCLK_E_RSVD_2 | 0x6   | Reserved    
2384  *  ALT_CLKMGR_MAINPLL_MAINDIV_L4MPCLK_E_RSVD_3 | 0x7   | Reserved    
2385  * 
2386  * Field Access Macros:
2387  * 
2388  */
2389 /*
2390  * Enumerated value for register field ALT_CLKMGR_MAINPLL_MAINDIV_L4MPCLK
2391  * 
2392  * Divide By 1
2393  */
2394 #define ALT_CLKMGR_MAINPLL_MAINDIV_L4MPCLK_E_DIV1   0x0
2395 /*
2396  * Enumerated value for register field ALT_CLKMGR_MAINPLL_MAINDIV_L4MPCLK
2397  * 
2398  * Divide By 2
2399  */
2400 #define ALT_CLKMGR_MAINPLL_MAINDIV_L4MPCLK_E_DIV2   0x1
2401 /*
2402  * Enumerated value for register field ALT_CLKMGR_MAINPLL_MAINDIV_L4MPCLK
2403  * 
2404  * Divide By 4
2405  */
2406 #define ALT_CLKMGR_MAINPLL_MAINDIV_L4MPCLK_E_DIV4   0x2
2407 /*
2408  * Enumerated value for register field ALT_CLKMGR_MAINPLL_MAINDIV_L4MPCLK
2409  * 
2410  * Divide By 8
2411  */
2412 #define ALT_CLKMGR_MAINPLL_MAINDIV_L4MPCLK_E_DIV8   0x3
2413 /*
2414  * Enumerated value for register field ALT_CLKMGR_MAINPLL_MAINDIV_L4MPCLK
2415  * 
2416  * Divide By 16
2417  */
2418 #define ALT_CLKMGR_MAINPLL_MAINDIV_L4MPCLK_E_DIV16  0x4
2419 /*
2420  * Enumerated value for register field ALT_CLKMGR_MAINPLL_MAINDIV_L4MPCLK
2421  * 
2422  * Reserved
2423  */
2424 #define ALT_CLKMGR_MAINPLL_MAINDIV_L4MPCLK_E_RSVD_1 0x5
2425 /*
2426  * Enumerated value for register field ALT_CLKMGR_MAINPLL_MAINDIV_L4MPCLK
2427  * 
2428  * Reserved
2429  */
2430 #define ALT_CLKMGR_MAINPLL_MAINDIV_L4MPCLK_E_RSVD_2 0x6
2431 /*
2432  * Enumerated value for register field ALT_CLKMGR_MAINPLL_MAINDIV_L4MPCLK
2433  * 
2434  * Reserved
2435  */
2436 #define ALT_CLKMGR_MAINPLL_MAINDIV_L4MPCLK_E_RSVD_3 0x7
2437 
2438 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_MAINPLL_MAINDIV_L4MPCLK register field. */
2439 #define ALT_CLKMGR_MAINPLL_MAINDIV_L4MPCLK_LSB        4
2440 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_MAINPLL_MAINDIV_L4MPCLK register field. */
2441 #define ALT_CLKMGR_MAINPLL_MAINDIV_L4MPCLK_MSB        6
2442 /* The width in bits of the ALT_CLKMGR_MAINPLL_MAINDIV_L4MPCLK register field. */
2443 #define ALT_CLKMGR_MAINPLL_MAINDIV_L4MPCLK_WIDTH      3
2444 /* The mask used to set the ALT_CLKMGR_MAINPLL_MAINDIV_L4MPCLK register field value. */
2445 #define ALT_CLKMGR_MAINPLL_MAINDIV_L4MPCLK_SET_MSK    0x00000070
2446 /* The mask used to clear the ALT_CLKMGR_MAINPLL_MAINDIV_L4MPCLK register field value. */
2447 #define ALT_CLKMGR_MAINPLL_MAINDIV_L4MPCLK_CLR_MSK    0xffffff8f
2448 /* The reset value of the ALT_CLKMGR_MAINPLL_MAINDIV_L4MPCLK register field. */
2449 #define ALT_CLKMGR_MAINPLL_MAINDIV_L4MPCLK_RESET      0x0
2450 /* Extracts the ALT_CLKMGR_MAINPLL_MAINDIV_L4MPCLK field value from a register. */
2451 #define ALT_CLKMGR_MAINPLL_MAINDIV_L4MPCLK_GET(value) (((value) & 0x00000070) >> 4)
2452 /* Produces a ALT_CLKMGR_MAINPLL_MAINDIV_L4MPCLK register field value suitable for setting the register. */
2453 #define ALT_CLKMGR_MAINPLL_MAINDIV_L4MPCLK_SET(value) (((value) << 4) & 0x00000070)
2454 
2455 /*
2456  * Field : L4 SP Clock Divider - l4spclk
2457  * 
2458  * The l4_sp_clk is divided down from the periph_base_clk by the value specified in
2459  * this field.
2460  * 
2461  * Field Enumeration Values:
2462  * 
2463  *  Enum                                        | Value | Description 
2464  * :--------------------------------------------|:------|:-------------
2465  *  ALT_CLKMGR_MAINPLL_MAINDIV_L4SPCLK_E_DIV1   | 0x0   | Divide By 1 
2466  *  ALT_CLKMGR_MAINPLL_MAINDIV_L4SPCLK_E_DIV2   | 0x1   | Divide By 2 
2467  *  ALT_CLKMGR_MAINPLL_MAINDIV_L4SPCLK_E_DIV4   | 0x2   | Divide By 4 
2468  *  ALT_CLKMGR_MAINPLL_MAINDIV_L4SPCLK_E_DIV8   | 0x3   | Divide By 8 
2469  *  ALT_CLKMGR_MAINPLL_MAINDIV_L4SPCLK_E_DIV16  | 0x4   | Divide By 16
2470  *  ALT_CLKMGR_MAINPLL_MAINDIV_L4SPCLK_E_RSVD_1 | 0x5   | Reserved    
2471  *  ALT_CLKMGR_MAINPLL_MAINDIV_L4SPCLK_E_RSVD_2 | 0x6   | Reserved    
2472  *  ALT_CLKMGR_MAINPLL_MAINDIV_L4SPCLK_E_RSVD_3 | 0x7   | Reserved    
2473  * 
2474  * Field Access Macros:
2475  * 
2476  */
2477 /*
2478  * Enumerated value for register field ALT_CLKMGR_MAINPLL_MAINDIV_L4SPCLK
2479  * 
2480  * Divide By 1
2481  */
2482 #define ALT_CLKMGR_MAINPLL_MAINDIV_L4SPCLK_E_DIV1   0x0
2483 /*
2484  * Enumerated value for register field ALT_CLKMGR_MAINPLL_MAINDIV_L4SPCLK
2485  * 
2486  * Divide By 2
2487  */
2488 #define ALT_CLKMGR_MAINPLL_MAINDIV_L4SPCLK_E_DIV2   0x1
2489 /*
2490  * Enumerated value for register field ALT_CLKMGR_MAINPLL_MAINDIV_L4SPCLK
2491  * 
2492  * Divide By 4
2493  */
2494 #define ALT_CLKMGR_MAINPLL_MAINDIV_L4SPCLK_E_DIV4   0x2
2495 /*
2496  * Enumerated value for register field ALT_CLKMGR_MAINPLL_MAINDIV_L4SPCLK
2497  * 
2498  * Divide By 8
2499  */
2500 #define ALT_CLKMGR_MAINPLL_MAINDIV_L4SPCLK_E_DIV8   0x3
2501 /*
2502  * Enumerated value for register field ALT_CLKMGR_MAINPLL_MAINDIV_L4SPCLK
2503  * 
2504  * Divide By 16
2505  */
2506 #define ALT_CLKMGR_MAINPLL_MAINDIV_L4SPCLK_E_DIV16  0x4
2507 /*
2508  * Enumerated value for register field ALT_CLKMGR_MAINPLL_MAINDIV_L4SPCLK
2509  * 
2510  * Reserved
2511  */
2512 #define ALT_CLKMGR_MAINPLL_MAINDIV_L4SPCLK_E_RSVD_1 0x5
2513 /*
2514  * Enumerated value for register field ALT_CLKMGR_MAINPLL_MAINDIV_L4SPCLK
2515  * 
2516  * Reserved
2517  */
2518 #define ALT_CLKMGR_MAINPLL_MAINDIV_L4SPCLK_E_RSVD_2 0x6
2519 /*
2520  * Enumerated value for register field ALT_CLKMGR_MAINPLL_MAINDIV_L4SPCLK
2521  * 
2522  * Reserved
2523  */
2524 #define ALT_CLKMGR_MAINPLL_MAINDIV_L4SPCLK_E_RSVD_3 0x7
2525 
2526 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_MAINPLL_MAINDIV_L4SPCLK register field. */
2527 #define ALT_CLKMGR_MAINPLL_MAINDIV_L4SPCLK_LSB        7
2528 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_MAINPLL_MAINDIV_L4SPCLK register field. */
2529 #define ALT_CLKMGR_MAINPLL_MAINDIV_L4SPCLK_MSB        9
2530 /* The width in bits of the ALT_CLKMGR_MAINPLL_MAINDIV_L4SPCLK register field. */
2531 #define ALT_CLKMGR_MAINPLL_MAINDIV_L4SPCLK_WIDTH      3
2532 /* The mask used to set the ALT_CLKMGR_MAINPLL_MAINDIV_L4SPCLK register field value. */
2533 #define ALT_CLKMGR_MAINPLL_MAINDIV_L4SPCLK_SET_MSK    0x00000380
2534 /* The mask used to clear the ALT_CLKMGR_MAINPLL_MAINDIV_L4SPCLK register field value. */
2535 #define ALT_CLKMGR_MAINPLL_MAINDIV_L4SPCLK_CLR_MSK    0xfffffc7f
2536 /* The reset value of the ALT_CLKMGR_MAINPLL_MAINDIV_L4SPCLK register field. */
2537 #define ALT_CLKMGR_MAINPLL_MAINDIV_L4SPCLK_RESET      0x0
2538 /* Extracts the ALT_CLKMGR_MAINPLL_MAINDIV_L4SPCLK field value from a register. */
2539 #define ALT_CLKMGR_MAINPLL_MAINDIV_L4SPCLK_GET(value) (((value) & 0x00000380) >> 7)
2540 /* Produces a ALT_CLKMGR_MAINPLL_MAINDIV_L4SPCLK register field value suitable for setting the register. */
2541 #define ALT_CLKMGR_MAINPLL_MAINDIV_L4SPCLK_SET(value) (((value) << 7) & 0x00000380)
2542 
2543 #ifndef __ASSEMBLY__
2544 /*
2545  * WARNING: The C register and register group struct declarations are provided for
2546  * convenience and illustrative purposes. They should, however, be used with
2547  * caution as the C language standard provides no guarantees about the alignment or
2548  * atomicity of device memory accesses. The recommended practice for writing
2549  * hardware drivers is to use the SoCAL access macros and alt_read_word() and
2550  * alt_write_word() functions.
2551  * 
2552  * The struct declaration for register ALT_CLKMGR_MAINPLL_MAINDIV.
2553  */
2554 struct ALT_CLKMGR_MAINPLL_MAINDIV_s
2555 {
2556     uint32_t  l3mpclk :  2;  /* L3 MP Clock Divider */
2557     uint32_t  l3spclk :  2;  /* L3 SP Clock Divider */
2558     uint32_t  l4mpclk :  3;  /* L4 MP Clock Divider */
2559     uint32_t  l4spclk :  3;  /* L4 SP Clock Divider */
2560     uint32_t          : 22;  /* *UNDEFINED* */
2561 };
2562 
2563 /* The typedef declaration for register ALT_CLKMGR_MAINPLL_MAINDIV. */
2564 typedef volatile struct ALT_CLKMGR_MAINPLL_MAINDIV_s  ALT_CLKMGR_MAINPLL_MAINDIV_t;
2565 #endif  /* __ASSEMBLY__ */
2566 
2567 /* The byte offset of the ALT_CLKMGR_MAINPLL_MAINDIV register from the beginning of the component. */
2568 #define ALT_CLKMGR_MAINPLL_MAINDIV_OFST        0x24
2569 
2570 /*
2571  * Register : Debug Divide Register - dbgdiv
2572  * 
2573  * Contains fields that control clock dividers for debug clocks derived from the
2574  * Main PLL
2575  * 
2576  * Fields are only reset by a cold reset.
2577  * 
2578  * Register Layout
2579  * 
2580  *  Bits   | Access | Reset | Description           
2581  * :-------|:-------|:------|:-----------------------
2582  *  [1:0]  | RW     | 0x0   | Debug AT Clock Divider
2583  *  [3:2]  | RW     | 0x1   | Debug Clock Divider   
2584  *  [31:4] | ???    | 0x0   | *UNDEFINED*           
2585  * 
2586  */
2587 /*
2588  * Field : Debug AT Clock Divider - dbgatclk
2589  * 
2590  * The dbg_at_clk is divided down from the C2 output of  the Main PLL by the value
2591  * specified in this field.
2592  * 
2593  * Field Enumeration Values:
2594  * 
2595  *  Enum                                      | Value | Description
2596  * :------------------------------------------|:------|:------------
2597  *  ALT_CLKMGR_MAINPLL_DBGDIV_DBGATCLK_E_DIV1 | 0x0   | Divide by 1
2598  *  ALT_CLKMGR_MAINPLL_DBGDIV_DBGATCLK_E_DIV2 | 0x1   | Divide by 2
2599  *  ALT_CLKMGR_MAINPLL_DBGDIV_DBGATCLK_E_DIV4 | 0x2   | Divide by 4
2600  * 
2601  * Field Access Macros:
2602  * 
2603  */
2604 /*
2605  * Enumerated value for register field ALT_CLKMGR_MAINPLL_DBGDIV_DBGATCLK
2606  * 
2607  * Divide by 1
2608  */
2609 #define ALT_CLKMGR_MAINPLL_DBGDIV_DBGATCLK_E_DIV1   0x0
2610 /*
2611  * Enumerated value for register field ALT_CLKMGR_MAINPLL_DBGDIV_DBGATCLK
2612  * 
2613  * Divide by 2
2614  */
2615 #define ALT_CLKMGR_MAINPLL_DBGDIV_DBGATCLK_E_DIV2   0x1
2616 /*
2617  * Enumerated value for register field ALT_CLKMGR_MAINPLL_DBGDIV_DBGATCLK
2618  * 
2619  * Divide by 4
2620  */
2621 #define ALT_CLKMGR_MAINPLL_DBGDIV_DBGATCLK_E_DIV4   0x2
2622 
2623 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_MAINPLL_DBGDIV_DBGATCLK register field. */
2624 #define ALT_CLKMGR_MAINPLL_DBGDIV_DBGATCLK_LSB        0
2625 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_MAINPLL_DBGDIV_DBGATCLK register field. */
2626 #define ALT_CLKMGR_MAINPLL_DBGDIV_DBGATCLK_MSB        1
2627 /* The width in bits of the ALT_CLKMGR_MAINPLL_DBGDIV_DBGATCLK register field. */
2628 #define ALT_CLKMGR_MAINPLL_DBGDIV_DBGATCLK_WIDTH      2
2629 /* The mask used to set the ALT_CLKMGR_MAINPLL_DBGDIV_DBGATCLK register field value. */
2630 #define ALT_CLKMGR_MAINPLL_DBGDIV_DBGATCLK_SET_MSK    0x00000003
2631 /* The mask used to clear the ALT_CLKMGR_MAINPLL_DBGDIV_DBGATCLK register field value. */
2632 #define ALT_CLKMGR_MAINPLL_DBGDIV_DBGATCLK_CLR_MSK    0xfffffffc
2633 /* The reset value of the ALT_CLKMGR_MAINPLL_DBGDIV_DBGATCLK register field. */
2634 #define ALT_CLKMGR_MAINPLL_DBGDIV_DBGATCLK_RESET      0x0
2635 /* Extracts the ALT_CLKMGR_MAINPLL_DBGDIV_DBGATCLK field value from a register. */
2636 #define ALT_CLKMGR_MAINPLL_DBGDIV_DBGATCLK_GET(value) (((value) & 0x00000003) >> 0)
2637 /* Produces a ALT_CLKMGR_MAINPLL_DBGDIV_DBGATCLK register field value suitable for setting the register. */
2638 #define ALT_CLKMGR_MAINPLL_DBGDIV_DBGATCLK_SET(value) (((value) << 0) & 0x00000003)
2639 
2640 /*
2641  * Field : Debug Clock Divider - dbgclk
2642  * 
2643  * The dbg_clk is divided down from the dbg_at_clk by the value specified in this
2644  * field.
2645  * 
2646  * Field Enumeration Values:
2647  * 
2648  *  Enum                                    | Value | Description
2649  * :----------------------------------------|:------|:------------
2650  *  ALT_CLKMGR_MAINPLL_DBGDIV_DBGCLK_E_DIV2 | 0x1   | Divide by 2
2651  *  ALT_CLKMGR_MAINPLL_DBGDIV_DBGCLK_E_DIV4 | 0x2   | Divide by 4
2652  * 
2653  * Field Access Macros:
2654  * 
2655  */
2656 /*
2657  * Enumerated value for register field ALT_CLKMGR_MAINPLL_DBGDIV_DBGCLK
2658  * 
2659  * Divide by 2
2660  */
2661 #define ALT_CLKMGR_MAINPLL_DBGDIV_DBGCLK_E_DIV2 0x1
2662 /*
2663  * Enumerated value for register field ALT_CLKMGR_MAINPLL_DBGDIV_DBGCLK
2664  * 
2665  * Divide by 4
2666  */
2667 #define ALT_CLKMGR_MAINPLL_DBGDIV_DBGCLK_E_DIV4 0x2
2668 
2669 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_MAINPLL_DBGDIV_DBGCLK register field. */
2670 #define ALT_CLKMGR_MAINPLL_DBGDIV_DBGCLK_LSB        2
2671 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_MAINPLL_DBGDIV_DBGCLK register field. */
2672 #define ALT_CLKMGR_MAINPLL_DBGDIV_DBGCLK_MSB        3
2673 /* The width in bits of the ALT_CLKMGR_MAINPLL_DBGDIV_DBGCLK register field. */
2674 #define ALT_CLKMGR_MAINPLL_DBGDIV_DBGCLK_WIDTH      2
2675 /* The mask used to set the ALT_CLKMGR_MAINPLL_DBGDIV_DBGCLK register field value. */
2676 #define ALT_CLKMGR_MAINPLL_DBGDIV_DBGCLK_SET_MSK    0x0000000c
2677 /* The mask used to clear the ALT_CLKMGR_MAINPLL_DBGDIV_DBGCLK register field value. */
2678 #define ALT_CLKMGR_MAINPLL_DBGDIV_DBGCLK_CLR_MSK    0xfffffff3
2679 /* The reset value of the ALT_CLKMGR_MAINPLL_DBGDIV_DBGCLK register field. */
2680 #define ALT_CLKMGR_MAINPLL_DBGDIV_DBGCLK_RESET      0x1
2681 /* Extracts the ALT_CLKMGR_MAINPLL_DBGDIV_DBGCLK field value from a register. */
2682 #define ALT_CLKMGR_MAINPLL_DBGDIV_DBGCLK_GET(value) (((value) & 0x0000000c) >> 2)
2683 /* Produces a ALT_CLKMGR_MAINPLL_DBGDIV_DBGCLK register field value suitable for setting the register. */
2684 #define ALT_CLKMGR_MAINPLL_DBGDIV_DBGCLK_SET(value) (((value) << 2) & 0x0000000c)
2685 
2686 #ifndef __ASSEMBLY__
2687 /*
2688  * WARNING: The C register and register group struct declarations are provided for
2689  * convenience and illustrative purposes. They should, however, be used with
2690  * caution as the C language standard provides no guarantees about the alignment or
2691  * atomicity of device memory accesses. The recommended practice for writing
2692  * hardware drivers is to use the SoCAL access macros and alt_read_word() and
2693  * alt_write_word() functions.
2694  * 
2695  * The struct declaration for register ALT_CLKMGR_MAINPLL_DBGDIV.
2696  */
2697 struct ALT_CLKMGR_MAINPLL_DBGDIV_s
2698 {
2699     uint32_t  dbgatclk :  2;  /* Debug AT Clock Divider */
2700     uint32_t  dbgclk   :  2;  /* Debug Clock Divider */
2701     uint32_t           : 28;  /* *UNDEFINED* */
2702 };
2703 
2704 /* The typedef declaration for register ALT_CLKMGR_MAINPLL_DBGDIV. */
2705 typedef volatile struct ALT_CLKMGR_MAINPLL_DBGDIV_s  ALT_CLKMGR_MAINPLL_DBGDIV_t;
2706 #endif  /* __ASSEMBLY__ */
2707 
2708 /* The byte offset of the ALT_CLKMGR_MAINPLL_DBGDIV register from the beginning of the component. */
2709 #define ALT_CLKMGR_MAINPLL_DBGDIV_OFST        0x28
2710 
2711 /*
2712  * Register : Debug Trace Divide Register - tracediv
2713  * 
2714  * Contains a field that controls the clock divider for the debug trace clock
2715  * derived from the Main PLL
2716  * 
2717  * Only reset by a cold reset.
2718  * 
2719  * Register Layout
2720  * 
2721  *  Bits   | Access | Reset | Description              
2722  * :-------|:-------|:------|:--------------------------
2723  *  [2:0]  | RW     | 0x0   | Debug Trace Clock Divider
2724  *  [31:3] | ???    | 0x0   | *UNDEFINED*              
2725  * 
2726  */
2727 /*
2728  * Field : Debug Trace Clock Divider - traceclk
2729  * 
2730  * The dbg_trace_clk is divided down from the C2 output of  the Main PLL by the
2731  * value specified in this field.
2732  * 
2733  * Field Enumeration Values:
2734  * 
2735  *  Enum                                          | Value | Description 
2736  * :----------------------------------------------|:------|:-------------
2737  *  ALT_CLKMGR_MAINPLL_TRACEDIV_TRACECLK_E_DIV1   | 0x0   | Divide By 1 
2738  *  ALT_CLKMGR_MAINPLL_TRACEDIV_TRACECLK_E_DIV2   | 0x1   | Divide By 2 
2739  *  ALT_CLKMGR_MAINPLL_TRACEDIV_TRACECLK_E_DIV4   | 0x2   | Divide By 4 
2740  *  ALT_CLKMGR_MAINPLL_TRACEDIV_TRACECLK_E_DIV8   | 0x3   | Divide By 8 
2741  *  ALT_CLKMGR_MAINPLL_TRACEDIV_TRACECLK_E_DIV16  | 0x4   | Divide By 16
2742  *  ALT_CLKMGR_MAINPLL_TRACEDIV_TRACECLK_E_RSVD_1 | 0x5   | Reserved    
2743  *  ALT_CLKMGR_MAINPLL_TRACEDIV_TRACECLK_E_RSVD_2 | 0x6   | Reserved    
2744  *  ALT_CLKMGR_MAINPLL_TRACEDIV_TRACECLK_E_RSVD_3 | 0x7   | Reserved    
2745  * 
2746  * Field Access Macros:
2747  * 
2748  */
2749 /*
2750  * Enumerated value for register field ALT_CLKMGR_MAINPLL_TRACEDIV_TRACECLK
2751  * 
2752  * Divide By 1
2753  */
2754 #define ALT_CLKMGR_MAINPLL_TRACEDIV_TRACECLK_E_DIV1     0x0
2755 /*
2756  * Enumerated value for register field ALT_CLKMGR_MAINPLL_TRACEDIV_TRACECLK
2757  * 
2758  * Divide By 2
2759  */
2760 #define ALT_CLKMGR_MAINPLL_TRACEDIV_TRACECLK_E_DIV2     0x1
2761 /*
2762  * Enumerated value for register field ALT_CLKMGR_MAINPLL_TRACEDIV_TRACECLK
2763  * 
2764  * Divide By 4
2765  */
2766 #define ALT_CLKMGR_MAINPLL_TRACEDIV_TRACECLK_E_DIV4     0x2
2767 /*
2768  * Enumerated value for register field ALT_CLKMGR_MAINPLL_TRACEDIV_TRACECLK
2769  * 
2770  * Divide By 8
2771  */
2772 #define ALT_CLKMGR_MAINPLL_TRACEDIV_TRACECLK_E_DIV8     0x3
2773 /*
2774  * Enumerated value for register field ALT_CLKMGR_MAINPLL_TRACEDIV_TRACECLK
2775  * 
2776  * Divide By 16
2777  */
2778 #define ALT_CLKMGR_MAINPLL_TRACEDIV_TRACECLK_E_DIV16    0x4
2779 /*
2780  * Enumerated value for register field ALT_CLKMGR_MAINPLL_TRACEDIV_TRACECLK
2781  * 
2782  * Reserved
2783  */
2784 #define ALT_CLKMGR_MAINPLL_TRACEDIV_TRACECLK_E_RSVD_1   0x5
2785 /*
2786  * Enumerated value for register field ALT_CLKMGR_MAINPLL_TRACEDIV_TRACECLK
2787  * 
2788  * Reserved
2789  */
2790 #define ALT_CLKMGR_MAINPLL_TRACEDIV_TRACECLK_E_RSVD_2   0x6
2791 /*
2792  * Enumerated value for register field ALT_CLKMGR_MAINPLL_TRACEDIV_TRACECLK
2793  * 
2794  * Reserved
2795  */
2796 #define ALT_CLKMGR_MAINPLL_TRACEDIV_TRACECLK_E_RSVD_3   0x7
2797 
2798 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_MAINPLL_TRACEDIV_TRACECLK register field. */
2799 #define ALT_CLKMGR_MAINPLL_TRACEDIV_TRACECLK_LSB        0
2800 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_MAINPLL_TRACEDIV_TRACECLK register field. */
2801 #define ALT_CLKMGR_MAINPLL_TRACEDIV_TRACECLK_MSB        2
2802 /* The width in bits of the ALT_CLKMGR_MAINPLL_TRACEDIV_TRACECLK register field. */
2803 #define ALT_CLKMGR_MAINPLL_TRACEDIV_TRACECLK_WIDTH      3
2804 /* The mask used to set the ALT_CLKMGR_MAINPLL_TRACEDIV_TRACECLK register field value. */
2805 #define ALT_CLKMGR_MAINPLL_TRACEDIV_TRACECLK_SET_MSK    0x00000007
2806 /* The mask used to clear the ALT_CLKMGR_MAINPLL_TRACEDIV_TRACECLK register field value. */
2807 #define ALT_CLKMGR_MAINPLL_TRACEDIV_TRACECLK_CLR_MSK    0xfffffff8
2808 /* The reset value of the ALT_CLKMGR_MAINPLL_TRACEDIV_TRACECLK register field. */
2809 #define ALT_CLKMGR_MAINPLL_TRACEDIV_TRACECLK_RESET      0x0
2810 /* Extracts the ALT_CLKMGR_MAINPLL_TRACEDIV_TRACECLK field value from a register. */
2811 #define ALT_CLKMGR_MAINPLL_TRACEDIV_TRACECLK_GET(value) (((value) & 0x00000007) >> 0)
2812 /* Produces a ALT_CLKMGR_MAINPLL_TRACEDIV_TRACECLK register field value suitable for setting the register. */
2813 #define ALT_CLKMGR_MAINPLL_TRACEDIV_TRACECLK_SET(value) (((value) << 0) & 0x00000007)
2814 
2815 #ifndef __ASSEMBLY__
2816 /*
2817  * WARNING: The C register and register group struct declarations are provided for
2818  * convenience and illustrative purposes. They should, however, be used with
2819  * caution as the C language standard provides no guarantees about the alignment or
2820  * atomicity of device memory accesses. The recommended practice for writing
2821  * hardware drivers is to use the SoCAL access macros and alt_read_word() and
2822  * alt_write_word() functions.
2823  * 
2824  * The struct declaration for register ALT_CLKMGR_MAINPLL_TRACEDIV.
2825  */
2826 struct ALT_CLKMGR_MAINPLL_TRACEDIV_s
2827 {
2828     uint32_t  traceclk :  3;  /* Debug Trace Clock Divider */
2829     uint32_t           : 29;  /* *UNDEFINED* */
2830 };
2831 
2832 /* The typedef declaration for register ALT_CLKMGR_MAINPLL_TRACEDIV. */
2833 typedef volatile struct ALT_CLKMGR_MAINPLL_TRACEDIV_s  ALT_CLKMGR_MAINPLL_TRACEDIV_t;
2834 #endif  /* __ASSEMBLY__ */
2835 
2836 /* The byte offset of the ALT_CLKMGR_MAINPLL_TRACEDIV register from the beginning of the component. */
2837 #define ALT_CLKMGR_MAINPLL_TRACEDIV_OFST        0x2c
2838 
2839 /*
2840  * Register : L4 MP SP APB Clock Source - l4src
2841  * 
2842  * Contains fields that select the clock source for L4 MP and SP APB interconnect
2843  * 
2844  * Fields are only reset by a cold reset.
2845  * 
2846  * Register Layout
2847  * 
2848  *  Bits   | Access | Reset | Description     
2849  * :-------|:-------|:------|:-----------------
2850  *  [0]    | RW     | 0x0   | l4_mp_clk Source
2851  *  [1]    | RW     | 0x0   | l4_sp_clk Source
2852  *  [31:2] | ???    | 0x0   | *UNDEFINED*     
2853  * 
2854  */
2855 /*
2856  * Field : l4_mp_clk Source - l4mp
2857  * 
2858  * Selects the source for l4_mp_clk
2859  * 
2860  * Field Enumeration Values:
2861  * 
2862  *  Enum                                      | Value | Description    
2863  * :------------------------------------------|:------|:----------------
2864  *  ALT_CLKMGR_MAINPLL_L4SRC_L4MP_E_MAINPLL   | 0x0   | main_clk       
2865  *  ALT_CLKMGR_MAINPLL_L4SRC_L4MP_E_PERIPHPLL | 0x1   | periph_base_clk
2866  * 
2867  * Field Access Macros:
2868  * 
2869  */
2870 /*
2871  * Enumerated value for register field ALT_CLKMGR_MAINPLL_L4SRC_L4MP
2872  * 
2873  * main_clk
2874  */
2875 #define ALT_CLKMGR_MAINPLL_L4SRC_L4MP_E_MAINPLL     0x0
2876 /*
2877  * Enumerated value for register field ALT_CLKMGR_MAINPLL_L4SRC_L4MP
2878  * 
2879  * periph_base_clk
2880  */
2881 #define ALT_CLKMGR_MAINPLL_L4SRC_L4MP_E_PERIPHPLL   0x1
2882 
2883 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_MAINPLL_L4SRC_L4MP register field. */
2884 #define ALT_CLKMGR_MAINPLL_L4SRC_L4MP_LSB        0
2885 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_MAINPLL_L4SRC_L4MP register field. */
2886 #define ALT_CLKMGR_MAINPLL_L4SRC_L4MP_MSB        0
2887 /* The width in bits of the ALT_CLKMGR_MAINPLL_L4SRC_L4MP register field. */
2888 #define ALT_CLKMGR_MAINPLL_L4SRC_L4MP_WIDTH      1
2889 /* The mask used to set the ALT_CLKMGR_MAINPLL_L4SRC_L4MP register field value. */
2890 #define ALT_CLKMGR_MAINPLL_L4SRC_L4MP_SET_MSK    0x00000001
2891 /* The mask used to clear the ALT_CLKMGR_MAINPLL_L4SRC_L4MP register field value. */
2892 #define ALT_CLKMGR_MAINPLL_L4SRC_L4MP_CLR_MSK    0xfffffffe
2893 /* The reset value of the ALT_CLKMGR_MAINPLL_L4SRC_L4MP register field. */
2894 #define ALT_CLKMGR_MAINPLL_L4SRC_L4MP_RESET      0x0
2895 /* Extracts the ALT_CLKMGR_MAINPLL_L4SRC_L4MP field value from a register. */
2896 #define ALT_CLKMGR_MAINPLL_L4SRC_L4MP_GET(value) (((value) & 0x00000001) >> 0)
2897 /* Produces a ALT_CLKMGR_MAINPLL_L4SRC_L4MP register field value suitable for setting the register. */
2898 #define ALT_CLKMGR_MAINPLL_L4SRC_L4MP_SET(value) (((value) << 0) & 0x00000001)
2899 
2900 /*
2901  * Field : l4_sp_clk Source - l4sp
2902  * 
2903  * Selects the source for l4_sp_clk
2904  * 
2905  * Field Enumeration Values:
2906  * 
2907  *  Enum                                      | Value | Description    
2908  * :------------------------------------------|:------|:----------------
2909  *  ALT_CLKMGR_MAINPLL_L4SRC_L4SP_E_MAINPLL   | 0x0   | main_clk       
2910  *  ALT_CLKMGR_MAINPLL_L4SRC_L4SP_E_PERIPHPLL | 0x1   | periph_base_clk
2911  * 
2912  * Field Access Macros:
2913  * 
2914  */
2915 /*
2916  * Enumerated value for register field ALT_CLKMGR_MAINPLL_L4SRC_L4SP
2917  * 
2918  * main_clk
2919  */
2920 #define ALT_CLKMGR_MAINPLL_L4SRC_L4SP_E_MAINPLL     0x0
2921 /*
2922  * Enumerated value for register field ALT_CLKMGR_MAINPLL_L4SRC_L4SP
2923  * 
2924  * periph_base_clk
2925  */
2926 #define ALT_CLKMGR_MAINPLL_L4SRC_L4SP_E_PERIPHPLL   0x1
2927 
2928 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_MAINPLL_L4SRC_L4SP register field. */
2929 #define ALT_CLKMGR_MAINPLL_L4SRC_L4SP_LSB        1
2930 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_MAINPLL_L4SRC_L4SP register field. */
2931 #define ALT_CLKMGR_MAINPLL_L4SRC_L4SP_MSB        1
2932 /* The width in bits of the ALT_CLKMGR_MAINPLL_L4SRC_L4SP register field. */
2933 #define ALT_CLKMGR_MAINPLL_L4SRC_L4SP_WIDTH      1
2934 /* The mask used to set the ALT_CLKMGR_MAINPLL_L4SRC_L4SP register field value. */
2935 #define ALT_CLKMGR_MAINPLL_L4SRC_L4SP_SET_MSK    0x00000002
2936 /* The mask used to clear the ALT_CLKMGR_MAINPLL_L4SRC_L4SP register field value. */
2937 #define ALT_CLKMGR_MAINPLL_L4SRC_L4SP_CLR_MSK    0xfffffffd
2938 /* The reset value of the ALT_CLKMGR_MAINPLL_L4SRC_L4SP register field. */
2939 #define ALT_CLKMGR_MAINPLL_L4SRC_L4SP_RESET      0x0
2940 /* Extracts the ALT_CLKMGR_MAINPLL_L4SRC_L4SP field value from a register. */
2941 #define ALT_CLKMGR_MAINPLL_L4SRC_L4SP_GET(value) (((value) & 0x00000002) >> 1)
2942 /* Produces a ALT_CLKMGR_MAINPLL_L4SRC_L4SP register field value suitable for setting the register. */
2943 #define ALT_CLKMGR_MAINPLL_L4SRC_L4SP_SET(value) (((value) << 1) & 0x00000002)
2944 
2945 #ifndef __ASSEMBLY__
2946 /*
2947  * WARNING: The C register and register group struct declarations are provided for
2948  * convenience and illustrative purposes. They should, however, be used with
2949  * caution as the C language standard provides no guarantees about the alignment or
2950  * atomicity of device memory accesses. The recommended practice for writing
2951  * hardware drivers is to use the SoCAL access macros and alt_read_word() and
2952  * alt_write_word() functions.
2953  * 
2954  * The struct declaration for register ALT_CLKMGR_MAINPLL_L4SRC.
2955  */
2956 struct ALT_CLKMGR_MAINPLL_L4SRC_s
2957 {
2958     uint32_t  l4mp :  1;  /* l4_mp_clk Source */
2959     uint32_t  l4sp :  1;  /* l4_sp_clk Source */
2960     uint32_t       : 30;  /* *UNDEFINED* */
2961 };
2962 
2963 /* The typedef declaration for register ALT_CLKMGR_MAINPLL_L4SRC. */
2964 typedef volatile struct ALT_CLKMGR_MAINPLL_L4SRC_s  ALT_CLKMGR_MAINPLL_L4SRC_t;
2965 #endif  /* __ASSEMBLY__ */
2966 
2967 /* The byte offset of the ALT_CLKMGR_MAINPLL_L4SRC register from the beginning of the component. */
2968 #define ALT_CLKMGR_MAINPLL_L4SRC_OFST        0x30
2969 
2970 /*
2971  * Register : Main PLL Output Counter Reset Ack Status Register - stat
2972  * 
2973  * Contains Output Clock Counter Reset acknowledge status.
2974  * 
2975  * Register Layout
2976  * 
2977  *  Bits   | Access | Reset | Description                     
2978  * :-------|:-------|:------|:---------------------------------
2979  *  [5:0]  | R      | 0x0   | Output Counter Reset Acknowledge
2980  *  [31:6] | ???    | 0x0   | *UNDEFINED*                     
2981  * 
2982  */
2983 /*
2984  * Field : Output Counter Reset Acknowledge - outresetack
2985  * 
2986  * These read only bits per PLL output indicate that the PLL has received the
2987  * Output Reset Counter request and has gracefully stopped the respective PLL
2988  * output clock.
2989  * 
2990  * For software to change the PLL output counter without producing glitches on the
2991  * respective clock, SW must set the VCO register respective Output Counter Reset
2992  * bit. Software then polls the respective Output Counter Reset Acknowledge bit in
2993  * the Output Counter Reset Ack Status Register. Software then writes the
2994  * appropriate counter register, and then clears the respective VCO register Output
2995  * Counter Reset bit.
2996  * 
2997  * The reset value of this bit is applied on a cold reset; warm reset has no affect
2998  * on this bit.
2999  * 
3000  * Field Enumeration Values:
3001  * 
3002  *  Enum                                        | Value | Description                         
3003  * :--------------------------------------------|:------|:-------------------------------------
3004  *  ALT_CLKMGR_MAINPLL_STAT_OUTRSTACK_E_IDLE    | 0x0   | Idle                                
3005  *  ALT_CLKMGR_MAINPLL_STAT_OUTRSTACK_E_ACK_RXD | 0x1   | Output Counter Acknowledge received.
3006  * 
3007  * Field Access Macros:
3008  * 
3009  */
3010 /*
3011  * Enumerated value for register field ALT_CLKMGR_MAINPLL_STAT_OUTRSTACK
3012  * 
3013  * Idle
3014  */
3015 #define ALT_CLKMGR_MAINPLL_STAT_OUTRSTACK_E_IDLE    0x0
3016 /*
3017  * Enumerated value for register field ALT_CLKMGR_MAINPLL_STAT_OUTRSTACK
3018  * 
3019  * Output Counter Acknowledge received.
3020  */
3021 #define ALT_CLKMGR_MAINPLL_STAT_OUTRSTACK_E_ACK_RXD 0x1
3022 
3023 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_MAINPLL_STAT_OUTRSTACK register field. */
3024 #define ALT_CLKMGR_MAINPLL_STAT_OUTRSTACK_LSB        0
3025 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_MAINPLL_STAT_OUTRSTACK register field. */
3026 #define ALT_CLKMGR_MAINPLL_STAT_OUTRSTACK_MSB        5
3027 /* The width in bits of the ALT_CLKMGR_MAINPLL_STAT_OUTRSTACK register field. */
3028 #define ALT_CLKMGR_MAINPLL_STAT_OUTRSTACK_WIDTH      6
3029 /* The mask used to set the ALT_CLKMGR_MAINPLL_STAT_OUTRSTACK register field value. */
3030 #define ALT_CLKMGR_MAINPLL_STAT_OUTRSTACK_SET_MSK    0x0000003f
3031 /* The mask used to clear the ALT_CLKMGR_MAINPLL_STAT_OUTRSTACK register field value. */
3032 #define ALT_CLKMGR_MAINPLL_STAT_OUTRSTACK_CLR_MSK    0xffffffc0
3033 /* The reset value of the ALT_CLKMGR_MAINPLL_STAT_OUTRSTACK register field. */
3034 #define ALT_CLKMGR_MAINPLL_STAT_OUTRSTACK_RESET      0x0
3035 /* Extracts the ALT_CLKMGR_MAINPLL_STAT_OUTRSTACK field value from a register. */
3036 #define ALT_CLKMGR_MAINPLL_STAT_OUTRSTACK_GET(value) (((value) & 0x0000003f) >> 0)
3037 /* Produces a ALT_CLKMGR_MAINPLL_STAT_OUTRSTACK register field value suitable for setting the register. */
3038 #define ALT_CLKMGR_MAINPLL_STAT_OUTRSTACK_SET(value) (((value) << 0) & 0x0000003f)
3039 
3040 #ifndef __ASSEMBLY__
3041 /*
3042  * WARNING: The C register and register group struct declarations are provided for
3043  * convenience and illustrative purposes. They should, however, be used with
3044  * caution as the C language standard provides no guarantees about the alignment or
3045  * atomicity of device memory accesses. The recommended practice for writing
3046  * hardware drivers is to use the SoCAL access macros and alt_read_word() and
3047  * alt_write_word() functions.
3048  * 
3049  * The struct declaration for register ALT_CLKMGR_MAINPLL_STAT.
3050  */
3051 struct ALT_CLKMGR_MAINPLL_STAT_s
3052 {
3053     const uint32_t  outresetack :  6;  /* Output Counter Reset Acknowledge */
3054     uint32_t                    : 26;  /* *UNDEFINED* */
3055 };
3056 
3057 /* The typedef declaration for register ALT_CLKMGR_MAINPLL_STAT. */
3058 typedef volatile struct ALT_CLKMGR_MAINPLL_STAT_s  ALT_CLKMGR_MAINPLL_STAT_t;
3059 #endif  /* __ASSEMBLY__ */
3060 
3061 /* The byte offset of the ALT_CLKMGR_MAINPLL_STAT register from the beginning of the component. */
3062 #define ALT_CLKMGR_MAINPLL_STAT_OFST        0x34
3063 
3064 #ifndef __ASSEMBLY__
3065 /*
3066  * WARNING: The C register and register group struct declarations are provided for
3067  * convenience and illustrative purposes. They should, however, be used with
3068  * caution as the C language standard provides no guarantees about the alignment or
3069  * atomicity of device memory accesses. The recommended practice for writing
3070  * hardware drivers is to use the SoCAL access macros and alt_read_word() and
3071  * alt_write_word() functions.
3072  * 
3073  * The struct declaration for register group ALT_CLKMGR_MAINPLL.
3074  */
3075 struct ALT_CLKMGR_MAINPLL_s
3076 {
3077     volatile ALT_CLKMGR_MAINPLL_VCO_t               vco;                /* ALT_CLKMGR_MAINPLL_VCO */
3078     volatile ALT_CLKMGR_MAINPLL_MISC_t              misc;               /* ALT_CLKMGR_MAINPLL_MISC */
3079     volatile ALT_CLKMGR_MAINPLL_MPUCLK_t            mpuclk;             /* ALT_CLKMGR_MAINPLL_MPUCLK */
3080     volatile ALT_CLKMGR_MAINPLL_MAINCLK_t           mainclk;            /* ALT_CLKMGR_MAINPLL_MAINCLK */
3081     volatile ALT_CLKMGR_MAINPLL_DBGATCLK_t          dbgatclk;           /* ALT_CLKMGR_MAINPLL_DBGATCLK */
3082     volatile ALT_CLKMGR_MAINPLL_MAINQSPICLK_t       mainqspiclk;        /* ALT_CLKMGR_MAINPLL_MAINQSPICLK */
3083     volatile ALT_CLKMGR_MAINPLL_MAINNANDSDMMCCLK_t  mainnandsdmmcclk;   /* ALT_CLKMGR_MAINPLL_MAINNANDSDMMCCLK */
3084     volatile ALT_CLKMGR_MAINPLL_CFGS2FUSER0CLK_t    cfgs2fuser0clk;     /* ALT_CLKMGR_MAINPLL_CFGS2FUSER0CLK */
3085     volatile ALT_CLKMGR_MAINPLL_EN_t                en;                 /* ALT_CLKMGR_MAINPLL_EN */
3086     volatile ALT_CLKMGR_MAINPLL_MAINDIV_t           maindiv;            /* ALT_CLKMGR_MAINPLL_MAINDIV */
3087     volatile ALT_CLKMGR_MAINPLL_DBGDIV_t            dbgdiv;             /* ALT_CLKMGR_MAINPLL_DBGDIV */
3088     volatile ALT_CLKMGR_MAINPLL_TRACEDIV_t          tracediv;           /* ALT_CLKMGR_MAINPLL_TRACEDIV */
3089     volatile ALT_CLKMGR_MAINPLL_L4SRC_t             l4src;              /* ALT_CLKMGR_MAINPLL_L4SRC */
3090     volatile ALT_CLKMGR_MAINPLL_STAT_t              stat;               /* ALT_CLKMGR_MAINPLL_STAT */
3091     volatile uint32_t                               _pad_0x38_0x40[2];  /* *UNDEFINED* */
3092 };
3093 
3094 /* The typedef declaration for register group ALT_CLKMGR_MAINPLL. */
3095 typedef volatile struct ALT_CLKMGR_MAINPLL_s  ALT_CLKMGR_MAINPLL_t;
3096 /* The struct declaration for the raw register contents of register group ALT_CLKMGR_MAINPLL. */
3097 struct ALT_CLKMGR_MAINPLL_raw_s
3098 {
3099     volatile uint32_t  vco;                /* ALT_CLKMGR_MAINPLL_VCO */
3100     volatile uint32_t  misc;               /* ALT_CLKMGR_MAINPLL_MISC */
3101     volatile uint32_t  mpuclk;             /* ALT_CLKMGR_MAINPLL_MPUCLK */
3102     volatile uint32_t  mainclk;            /* ALT_CLKMGR_MAINPLL_MAINCLK */
3103     volatile uint32_t  dbgatclk;           /* ALT_CLKMGR_MAINPLL_DBGATCLK */
3104     volatile uint32_t  mainqspiclk;        /* ALT_CLKMGR_MAINPLL_MAINQSPICLK */
3105     volatile uint32_t  mainnandsdmmcclk;   /* ALT_CLKMGR_MAINPLL_MAINNANDSDMMCCLK */
3106     volatile uint32_t  cfgs2fuser0clk;     /* ALT_CLKMGR_MAINPLL_CFGS2FUSER0CLK */
3107     volatile uint32_t  en;                 /* ALT_CLKMGR_MAINPLL_EN */
3108     volatile uint32_t  maindiv;            /* ALT_CLKMGR_MAINPLL_MAINDIV */
3109     volatile uint32_t  dbgdiv;             /* ALT_CLKMGR_MAINPLL_DBGDIV */
3110     volatile uint32_t  tracediv;           /* ALT_CLKMGR_MAINPLL_TRACEDIV */
3111     volatile uint32_t  l4src;              /* ALT_CLKMGR_MAINPLL_L4SRC */
3112     volatile uint32_t  stat;               /* ALT_CLKMGR_MAINPLL_STAT */
3113     volatile uint32_t  _pad_0x38_0x40[2];  /* *UNDEFINED* */
3114 };
3115 
3116 /* The typedef declaration for the raw register contents of register group ALT_CLKMGR_MAINPLL. */
3117 typedef volatile struct ALT_CLKMGR_MAINPLL_raw_s  ALT_CLKMGR_MAINPLL_raw_t;
3118 #endif  /* __ASSEMBLY__ */
3119 
3120 
3121 /*
3122  * Register Group : Peripheral PLL Group - ALT_CLKMGR_PERPLL
3123  * Peripheral PLL Group
3124  * 
3125  * Contains registers with settings for the Peripheral PLL.
3126  * 
3127  */
3128 /*
3129  * Register : Peripheral PLL VCO Control Register - vco
3130  * 
3131  * Contains settings that control the Peripheral PLL VCO. The VCO output frequency
3132  * is the input frequency multiplied by the numerator (M+1) and divided by the
3133  * denominator (N+1).
3134  * 
3135  * Fields are only reset by a cold reset.
3136  * 
3137  * Register Layout
3138  * 
3139  *  Bits    | Access | Reset | Description                    
3140  * :--------|:-------|:------|:--------------------------------
3141  *  [0]     | RW     | 0x1   | BG PWRDN                       
3142  *  [1]     | RW     | 0x0   | Enable                         
3143  *  [2]     | RW     | 0x1   | Power down                     
3144  *  [15:3]  | RW     | 0x1   | Numerator (M)                  
3145  *  [21:16] | RW     | 0x1   | Denominator (N)                
3146  *  [23:22] | RW     | 0x0   | Clock Source                   
3147  *  [24]    | RW     | 0x0   | All Output Counter Reset       
3148  *  [30:25] | RW     | 0x0   | Output Counter Reset           
3149  *  [31]    | RW     | 0x1   | External Regulator Input Select
3150  * 
3151  */
3152 /*
3153  * Field : BG PWRDN - bgpwrdn
3154  * 
3155  * If '1', powers down bandgap. If '0', bandgap is not power down.
3156  * 
3157  * Field Access Macros:
3158  * 
3159  */
3160 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_PERPLL_VCO_BGPWRDN register field. */
3161 #define ALT_CLKMGR_PERPLL_VCO_BGPWRDN_LSB        0
3162 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_PERPLL_VCO_BGPWRDN register field. */
3163 #define ALT_CLKMGR_PERPLL_VCO_BGPWRDN_MSB        0
3164 /* The width in bits of the ALT_CLKMGR_PERPLL_VCO_BGPWRDN register field. */
3165 #define ALT_CLKMGR_PERPLL_VCO_BGPWRDN_WIDTH      1
3166 /* The mask used to set the ALT_CLKMGR_PERPLL_VCO_BGPWRDN register field value. */
3167 #define ALT_CLKMGR_PERPLL_VCO_BGPWRDN_SET_MSK    0x00000001
3168 /* The mask used to clear the ALT_CLKMGR_PERPLL_VCO_BGPWRDN register field value. */
3169 #define ALT_CLKMGR_PERPLL_VCO_BGPWRDN_CLR_MSK    0xfffffffe
3170 /* The reset value of the ALT_CLKMGR_PERPLL_VCO_BGPWRDN register field. */
3171 #define ALT_CLKMGR_PERPLL_VCO_BGPWRDN_RESET      0x1
3172 /* Extracts the ALT_CLKMGR_PERPLL_VCO_BGPWRDN field value from a register. */
3173 #define ALT_CLKMGR_PERPLL_VCO_BGPWRDN_GET(value) (((value) & 0x00000001) >> 0)
3174 /* Produces a ALT_CLKMGR_PERPLL_VCO_BGPWRDN register field value suitable for setting the register. */
3175 #define ALT_CLKMGR_PERPLL_VCO_BGPWRDN_SET(value) (((value) << 0) & 0x00000001)
3176 
3177 /*
3178  * Field : Enable - en
3179  * 
3180  * If '1', VCO is enabled. If '0', VCO is in reset.
3181  * 
3182  * Field Access Macros:
3183  * 
3184  */
3185 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_PERPLL_VCO_EN register field. */
3186 #define ALT_CLKMGR_PERPLL_VCO_EN_LSB        1
3187 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_PERPLL_VCO_EN register field. */
3188 #define ALT_CLKMGR_PERPLL_VCO_EN_MSB        1
3189 /* The width in bits of the ALT_CLKMGR_PERPLL_VCO_EN register field. */
3190 #define ALT_CLKMGR_PERPLL_VCO_EN_WIDTH      1
3191 /* The mask used to set the ALT_CLKMGR_PERPLL_VCO_EN register field value. */
3192 #define ALT_CLKMGR_PERPLL_VCO_EN_SET_MSK    0x00000002
3193 /* The mask used to clear the ALT_CLKMGR_PERPLL_VCO_EN register field value. */
3194 #define ALT_CLKMGR_PERPLL_VCO_EN_CLR_MSK    0xfffffffd
3195 /* The reset value of the ALT_CLKMGR_PERPLL_VCO_EN register field. */
3196 #define ALT_CLKMGR_PERPLL_VCO_EN_RESET      0x0
3197 /* Extracts the ALT_CLKMGR_PERPLL_VCO_EN field value from a register. */
3198 #define ALT_CLKMGR_PERPLL_VCO_EN_GET(value) (((value) & 0x00000002) >> 1)
3199 /* Produces a ALT_CLKMGR_PERPLL_VCO_EN register field value suitable for setting the register. */
3200 #define ALT_CLKMGR_PERPLL_VCO_EN_SET(value) (((value) << 1) & 0x00000002)
3201 
3202 /*
3203  * Field : Power down - pwrdn
3204  * 
3205  * If '1', power down analog circuitry. If '0', analog circuitry not powered down.
3206  * 
3207  * Field Access Macros:
3208  * 
3209  */
3210 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_PERPLL_VCO_PWRDN register field. */
3211 #define ALT_CLKMGR_PERPLL_VCO_PWRDN_LSB        2
3212 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_PERPLL_VCO_PWRDN register field. */
3213 #define ALT_CLKMGR_PERPLL_VCO_PWRDN_MSB        2
3214 /* The width in bits of the ALT_CLKMGR_PERPLL_VCO_PWRDN register field. */
3215 #define ALT_CLKMGR_PERPLL_VCO_PWRDN_WIDTH      1
3216 /* The mask used to set the ALT_CLKMGR_PERPLL_VCO_PWRDN register field value. */
3217 #define ALT_CLKMGR_PERPLL_VCO_PWRDN_SET_MSK    0x00000004
3218 /* The mask used to clear the ALT_CLKMGR_PERPLL_VCO_PWRDN register field value. */
3219 #define ALT_CLKMGR_PERPLL_VCO_PWRDN_CLR_MSK    0xfffffffb
3220 /* The reset value of the ALT_CLKMGR_PERPLL_VCO_PWRDN register field. */
3221 #define ALT_CLKMGR_PERPLL_VCO_PWRDN_RESET      0x1
3222 /* Extracts the ALT_CLKMGR_PERPLL_VCO_PWRDN field value from a register. */
3223 #define ALT_CLKMGR_PERPLL_VCO_PWRDN_GET(value) (((value) & 0x00000004) >> 2)
3224 /* Produces a ALT_CLKMGR_PERPLL_VCO_PWRDN register field value suitable for setting the register. */
3225 #define ALT_CLKMGR_PERPLL_VCO_PWRDN_SET(value) (((value) << 2) & 0x00000004)
3226 
3227 /*
3228  * Field : Numerator (M) - numer
3229  * 
3230  * Numerator in VCO output frequency equation. For incremental frequency change, if
3231  * the new value lead to less than 20% of the frequency change, this value can be
3232  * changed without resetting the PLL. The Numerator and Denominator can not be
3233  * changed at the same time for incremental frequency changed.
3234  * 
3235  * Field Access Macros:
3236  * 
3237  */
3238 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_PERPLL_VCO_NUMER register field. */
3239 #define ALT_CLKMGR_PERPLL_VCO_NUMER_LSB        3
3240 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_PERPLL_VCO_NUMER register field. */
3241 #define ALT_CLKMGR_PERPLL_VCO_NUMER_MSB        15
3242 /* The width in bits of the ALT_CLKMGR_PERPLL_VCO_NUMER register field. */
3243 #define ALT_CLKMGR_PERPLL_VCO_NUMER_WIDTH      13
3244 /* The mask used to set the ALT_CLKMGR_PERPLL_VCO_NUMER register field value. */
3245 #define ALT_CLKMGR_PERPLL_VCO_NUMER_SET_MSK    0x0000fff8
3246 /* The mask used to clear the ALT_CLKMGR_PERPLL_VCO_NUMER register field value. */
3247 #define ALT_CLKMGR_PERPLL_VCO_NUMER_CLR_MSK    0xffff0007
3248 /* The reset value of the ALT_CLKMGR_PERPLL_VCO_NUMER register field. */
3249 #define ALT_CLKMGR_PERPLL_VCO_NUMER_RESET      0x1
3250 /* Extracts the ALT_CLKMGR_PERPLL_VCO_NUMER field value from a register. */
3251 #define ALT_CLKMGR_PERPLL_VCO_NUMER_GET(value) (((value) & 0x0000fff8) >> 3)
3252 /* Produces a ALT_CLKMGR_PERPLL_VCO_NUMER register field value suitable for setting the register. */
3253 #define ALT_CLKMGR_PERPLL_VCO_NUMER_SET(value) (((value) << 3) & 0x0000fff8)
3254 
3255 /*
3256  * Field : Denominator (N) - denom
3257  * 
3258  * Denominator in VCO output frequency equation. For incremental frequency change,
3259  * if the new value lead to less than 20% of the frequency change, this value can
3260  * be changed without resetting the PLL. The Numerator and Denominator can not be
3261  * changed at the same time for incremental frequency changed.
3262  * 
3263  * Field Access Macros:
3264  * 
3265  */
3266 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_PERPLL_VCO_DENOM register field. */
3267 #define ALT_CLKMGR_PERPLL_VCO_DENOM_LSB        16
3268 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_PERPLL_VCO_DENOM register field. */
3269 #define ALT_CLKMGR_PERPLL_VCO_DENOM_MSB        21
3270 /* The width in bits of the ALT_CLKMGR_PERPLL_VCO_DENOM register field. */
3271 #define ALT_CLKMGR_PERPLL_VCO_DENOM_WIDTH      6
3272 /* The mask used to set the ALT_CLKMGR_PERPLL_VCO_DENOM register field value. */
3273 #define ALT_CLKMGR_PERPLL_VCO_DENOM_SET_MSK    0x003f0000
3274 /* The mask used to clear the ALT_CLKMGR_PERPLL_VCO_DENOM register field value. */
3275 #define ALT_CLKMGR_PERPLL_VCO_DENOM_CLR_MSK    0xffc0ffff
3276 /* The reset value of the ALT_CLKMGR_PERPLL_VCO_DENOM register field. */
3277 #define ALT_CLKMGR_PERPLL_VCO_DENOM_RESET      0x1
3278 /* Extracts the ALT_CLKMGR_PERPLL_VCO_DENOM field value from a register. */
3279 #define ALT_CLKMGR_PERPLL_VCO_DENOM_GET(value) (((value) & 0x003f0000) >> 16)
3280 /* Produces a ALT_CLKMGR_PERPLL_VCO_DENOM register field value suitable for setting the register. */
3281 #define ALT_CLKMGR_PERPLL_VCO_DENOM_SET(value) (((value) << 16) & 0x003f0000)
3282 
3283 /*
3284  * Field : Clock Source - psrc
3285  * 
3286  * Controls the VCO input clock source.
3287  * 
3288  * Qsys and user documenation refer to f2s_periph_ref_clk as f2h_periph_ref_clk.
3289  * 
3290  * Field Enumeration Values:
3291  * 
3292  *  Enum                                        | Value | Description       
3293  * :--------------------------------------------|:------|:-------------------
3294  *  ALT_CLKMGR_PERPLL_VCO_PSRC_E_EOSC1          | 0x0   | eosc1_clk         
3295  *  ALT_CLKMGR_PERPLL_VCO_PSRC_E_EOSC2          | 0x1   | eosc2_clk         
3296  *  ALT_CLKMGR_PERPLL_VCO_PSRC_E_F2S_PERIPH_REF | 0x2   | f2s_periph_ref_clk
3297  * 
3298  * Field Access Macros:
3299  * 
3300  */
3301 /*
3302  * Enumerated value for register field ALT_CLKMGR_PERPLL_VCO_PSRC
3303  * 
3304  * eosc1_clk
3305  */
3306 #define ALT_CLKMGR_PERPLL_VCO_PSRC_E_EOSC1          0x0
3307 /*
3308  * Enumerated value for register field ALT_CLKMGR_PERPLL_VCO_PSRC
3309  * 
3310  * eosc2_clk
3311  */
3312 #define ALT_CLKMGR_PERPLL_VCO_PSRC_E_EOSC2          0x1
3313 /*
3314  * Enumerated value for register field ALT_CLKMGR_PERPLL_VCO_PSRC
3315  * 
3316  * f2s_periph_ref_clk
3317  */
3318 #define ALT_CLKMGR_PERPLL_VCO_PSRC_E_F2S_PERIPH_REF 0x2
3319 
3320 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_PERPLL_VCO_PSRC register field. */
3321 #define ALT_CLKMGR_PERPLL_VCO_PSRC_LSB        22
3322 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_PERPLL_VCO_PSRC register field. */
3323 #define ALT_CLKMGR_PERPLL_VCO_PSRC_MSB        23
3324 /* The width in bits of the ALT_CLKMGR_PERPLL_VCO_PSRC register field. */
3325 #define ALT_CLKMGR_PERPLL_VCO_PSRC_WIDTH      2
3326 /* The mask used to set the ALT_CLKMGR_PERPLL_VCO_PSRC register field value. */
3327 #define ALT_CLKMGR_PERPLL_VCO_PSRC_SET_MSK    0x00c00000
3328 /* The mask used to clear the ALT_CLKMGR_PERPLL_VCO_PSRC register field value. */
3329 #define ALT_CLKMGR_PERPLL_VCO_PSRC_CLR_MSK    0xff3fffff
3330 /* The reset value of the ALT_CLKMGR_PERPLL_VCO_PSRC register field. */
3331 #define ALT_CLKMGR_PERPLL_VCO_PSRC_RESET      0x0
3332 /* Extracts the ALT_CLKMGR_PERPLL_VCO_PSRC field value from a register. */
3333 #define ALT_CLKMGR_PERPLL_VCO_PSRC_GET(value) (((value) & 0x00c00000) >> 22)
3334 /* Produces a ALT_CLKMGR_PERPLL_VCO_PSRC register field value suitable for setting the register. */
3335 #define ALT_CLKMGR_PERPLL_VCO_PSRC_SET(value) (((value) << 22) & 0x00c00000)
3336 
3337 /*
3338  * Field : All Output Counter Reset - outresetall
3339  * 
3340  * Before releasing Bypass, All Output Counter Reset must be set and cleared by
3341  * software for correct clock operation.
3342  * 
3343  * If '1', Reset phase multiplexer and all output counter state. So that after the
3344  * assertion all the clocks output are start from rising edge align.
3345  * 
3346  * If '0', phase multiplexer and output counter state not reset and no change to
3347  * the phase of the clock outputs.
3348  * 
3349  * Field Access Macros:
3350  * 
3351  */
3352 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_PERPLL_VCO_OUTRSTALL register field. */
3353 #define ALT_CLKMGR_PERPLL_VCO_OUTRSTALL_LSB        24
3354 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_PERPLL_VCO_OUTRSTALL register field. */
3355 #define ALT_CLKMGR_PERPLL_VCO_OUTRSTALL_MSB        24
3356 /* The width in bits of the ALT_CLKMGR_PERPLL_VCO_OUTRSTALL register field. */
3357 #define ALT_CLKMGR_PERPLL_VCO_OUTRSTALL_WIDTH      1
3358 /* The mask used to set the ALT_CLKMGR_PERPLL_VCO_OUTRSTALL register field value. */
3359 #define ALT_CLKMGR_PERPLL_VCO_OUTRSTALL_SET_MSK    0x01000000
3360 /* The mask used to clear the ALT_CLKMGR_PERPLL_VCO_OUTRSTALL register field value. */
3361 #define ALT_CLKMGR_PERPLL_VCO_OUTRSTALL_CLR_MSK    0xfeffffff
3362 /* The reset value of the ALT_CLKMGR_PERPLL_VCO_OUTRSTALL register field. */
3363 #define ALT_CLKMGR_PERPLL_VCO_OUTRSTALL_RESET      0x0
3364 /* Extracts the ALT_CLKMGR_PERPLL_VCO_OUTRSTALL field value from a register. */
3365 #define ALT_CLKMGR_PERPLL_VCO_OUTRSTALL_GET(value) (((value) & 0x01000000) >> 24)
3366 /* Produces a ALT_CLKMGR_PERPLL_VCO_OUTRSTALL register field value suitable for setting the register. */
3367 #define ALT_CLKMGR_PERPLL_VCO_OUTRSTALL_SET(value) (((value) << 24) & 0x01000000)
3368 
3369 /*
3370  * Field : Output Counter Reset - outreset
3371  * 
3372  * Resets the individual PLL output counter.
3373  * 
3374  * For software to change the PLL output counter without producing glitches on the
3375  * respective clock, SW must set the VCO register respective Output Counter Reset
3376  * bit. Software then polls the respective Output Counter Reset Acknowledge bit in
3377  * the Output Counter Reset Ack Status Register. Software then writes the
3378  * appropriate counter register, and then clears the respective VCO register Output
3379  * Counter Reset bit.
3380  * 
3381  * LSB 'outreset[0]' corresponds to PLL output clock C0, etc.
3382  * 
3383  * If set to '1', reset output divider, no clock output from counter.
3384  * 
3385  * If set to '0', counter is not reset.
3386  * 
3387  * The reset value of this bit is applied on a cold reset; warm reset has no affect
3388  * on this bit.
3389  * 
3390  * Field Access Macros:
3391  * 
3392  */
3393 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_PERPLL_VCO_OUTRST register field. */
3394 #define ALT_CLKMGR_PERPLL_VCO_OUTRST_LSB        25
3395 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_PERPLL_VCO_OUTRST register field. */
3396 #define ALT_CLKMGR_PERPLL_VCO_OUTRST_MSB        30
3397 /* The width in bits of the ALT_CLKMGR_PERPLL_VCO_OUTRST register field. */
3398 #define ALT_CLKMGR_PERPLL_VCO_OUTRST_WIDTH      6
3399 /* The mask used to set the ALT_CLKMGR_PERPLL_VCO_OUTRST register field value. */
3400 #define ALT_CLKMGR_PERPLL_VCO_OUTRST_SET_MSK    0x7e000000
3401 /* The mask used to clear the ALT_CLKMGR_PERPLL_VCO_OUTRST register field value. */
3402 #define ALT_CLKMGR_PERPLL_VCO_OUTRST_CLR_MSK    0x81ffffff
3403 /* The reset value of the ALT_CLKMGR_PERPLL_VCO_OUTRST register field. */
3404 #define ALT_CLKMGR_PERPLL_VCO_OUTRST_RESET      0x0
3405 /* Extracts the ALT_CLKMGR_PERPLL_VCO_OUTRST field value from a register. */
3406 #define ALT_CLKMGR_PERPLL_VCO_OUTRST_GET(value) (((value) & 0x7e000000) >> 25)
3407 /* Produces a ALT_CLKMGR_PERPLL_VCO_OUTRST register field value suitable for setting the register. */
3408 #define ALT_CLKMGR_PERPLL_VCO_OUTRST_SET(value) (((value) << 25) & 0x7e000000)
3409 
3410 /*
3411  * Field : External Regulator Input Select - regextsel
3412  * 
3413  * If set to '1', the external regulator is selected for the PLL.
3414  * 
3415  * If set to '0', the internal regulator is slected.
3416  * 
3417  * It is strongly recommended to select the external regulator while the PLL is not
3418  * enabled (in reset), and  then disable the external regulater once the PLL
3419  * becomes enabled.  Software should simulateously update the 'Enable' bit and the
3420  * 'External Regulator Input Select' in the same write access to the VCO register.
3421  * When the 'Enable' bit is clear, the 'External Regulator Input Select' should be
3422  * set, and vice versa.
3423  * 
3424  * The reset value of this bit is applied on a cold reset; warm reset has no affect
3425  * on this bit.
3426  * 
3427  * Field Access Macros:
3428  * 
3429  */
3430 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_PERPLL_VCO_REGEXTSEL register field. */
3431 #define ALT_CLKMGR_PERPLL_VCO_REGEXTSEL_LSB        31
3432 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_PERPLL_VCO_REGEXTSEL register field. */
3433 #define ALT_CLKMGR_PERPLL_VCO_REGEXTSEL_MSB        31
3434 /* The width in bits of the ALT_CLKMGR_PERPLL_VCO_REGEXTSEL register field. */
3435 #define ALT_CLKMGR_PERPLL_VCO_REGEXTSEL_WIDTH      1
3436 /* The mask used to set the ALT_CLKMGR_PERPLL_VCO_REGEXTSEL register field value. */
3437 #define ALT_CLKMGR_PERPLL_VCO_REGEXTSEL_SET_MSK    0x80000000
3438 /* The mask used to clear the ALT_CLKMGR_PERPLL_VCO_REGEXTSEL register field value. */
3439 #define ALT_CLKMGR_PERPLL_VCO_REGEXTSEL_CLR_MSK    0x7fffffff
3440 /* The reset value of the ALT_CLKMGR_PERPLL_VCO_REGEXTSEL register field. */
3441 #define ALT_CLKMGR_PERPLL_VCO_REGEXTSEL_RESET      0x1
3442 /* Extracts the ALT_CLKMGR_PERPLL_VCO_REGEXTSEL field value from a register. */
3443 #define ALT_CLKMGR_PERPLL_VCO_REGEXTSEL_GET(value) (((value) & 0x80000000) >> 31)
3444 /* Produces a ALT_CLKMGR_PERPLL_VCO_REGEXTSEL register field value suitable for setting the register. */
3445 #define ALT_CLKMGR_PERPLL_VCO_REGEXTSEL_SET(value) (((value) << 31) & 0x80000000)
3446 
3447 #ifndef __ASSEMBLY__
3448 /*
3449  * WARNING: The C register and register group struct declarations are provided for
3450  * convenience and illustrative purposes. They should, however, be used with
3451  * caution as the C language standard provides no guarantees about the alignment or
3452  * atomicity of device memory accesses. The recommended practice for writing
3453  * hardware drivers is to use the SoCAL access macros and alt_read_word() and
3454  * alt_write_word() functions.
3455  * 
3456  * The struct declaration for register ALT_CLKMGR_PERPLL_VCO.
3457  */
3458 struct ALT_CLKMGR_PERPLL_VCO_s
3459 {
3460     uint32_t  bgpwrdn     :  1;  /* BG PWRDN */
3461     uint32_t  en          :  1;  /* Enable */
3462     uint32_t  pwrdn       :  1;  /* Power down */
3463     uint32_t  numer       : 13;  /* Numerator (M) */
3464     uint32_t  denom       :  6;  /* Denominator (N) */
3465     uint32_t  psrc        :  2;  /* Clock Source */
3466     uint32_t  outresetall :  1;  /* All Output Counter Reset */
3467     uint32_t  outreset    :  6;  /* Output Counter Reset */
3468     uint32_t  regextsel   :  1;  /* External Regulator Input Select */
3469 };
3470 
3471 /* The typedef declaration for register ALT_CLKMGR_PERPLL_VCO. */
3472 typedef volatile struct ALT_CLKMGR_PERPLL_VCO_s  ALT_CLKMGR_PERPLL_VCO_t;
3473 #endif  /* __ASSEMBLY__ */
3474 
3475 /* The byte offset of the ALT_CLKMGR_PERPLL_VCO register from the beginning of the component. */
3476 #define ALT_CLKMGR_PERPLL_VCO_OFST        0x0
3477 
3478 /*
3479  * Register : Peripheral PLL VCO Advanced Control Register - misc
3480  * 
3481  * Contains VCO control signals and other PLL control signals need to be
3482  * controllable through register.
3483  * 
3484  * Fields are only reset by a cold reset.
3485  * 
3486  * Register Layout
3487  * 
3488  *  Bits    | Access | Reset | Description                  
3489  * :--------|:-------|:------|:------------------------------
3490  *  [0]     | RW     | 0x0   | Loop Bandwidth Adjust Enabled
3491  *  [12:1]  | RW     | 0x1   | Loop Bandwidth Adjust        
3492  *  [13]    | RW     | 0x0   | Fast Locking Enable          
3493  *  [14]    | RW     | 0x1   | Saturation Enable            
3494  *  [31:15] | ???    | 0x0   | *UNDEFINED*                  
3495  * 
3496  */
3497 /*
3498  * Field : Loop Bandwidth Adjust Enabled - bwadjen
3499  * 
3500  * If set to 1, the Loop Bandwidth Adjust value comes from the Loop Bandwidth
3501  * Adjust field.
3502  * 
3503  * If set to 0, the Loop Bandwidth Adjust value equals the M field divided by 2
3504  * value of the VCO Control Register.  The M divided by 2 is the upper 12 bits
3505  * (12:1) of the M field in the VCO register.
3506  * 
3507  * Field Access Macros:
3508  * 
3509  */
3510 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_PERPLL_MISC_BWADJEN register field. */
3511 #define ALT_CLKMGR_PERPLL_MISC_BWADJEN_LSB        0
3512 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_PERPLL_MISC_BWADJEN register field. */
3513 #define ALT_CLKMGR_PERPLL_MISC_BWADJEN_MSB        0
3514 /* The width in bits of the ALT_CLKMGR_PERPLL_MISC_BWADJEN register field. */
3515 #define ALT_CLKMGR_PERPLL_MISC_BWADJEN_WIDTH      1
3516 /* The mask used to set the ALT_CLKMGR_PERPLL_MISC_BWADJEN register field value. */
3517 #define ALT_CLKMGR_PERPLL_MISC_BWADJEN_SET_MSK    0x00000001
3518 /* The mask used to clear the ALT_CLKMGR_PERPLL_MISC_BWADJEN register field value. */
3519 #define ALT_CLKMGR_PERPLL_MISC_BWADJEN_CLR_MSK    0xfffffffe
3520 /* The reset value of the ALT_CLKMGR_PERPLL_MISC_BWADJEN register field. */
3521 #define ALT_CLKMGR_PERPLL_MISC_BWADJEN_RESET      0x0
3522 /* Extracts the ALT_CLKMGR_PERPLL_MISC_BWADJEN field value from a register. */
3523 #define ALT_CLKMGR_PERPLL_MISC_BWADJEN_GET(value) (((value) & 0x00000001) >> 0)
3524 /* Produces a ALT_CLKMGR_PERPLL_MISC_BWADJEN register field value suitable for setting the register. */
3525 #define ALT_CLKMGR_PERPLL_MISC_BWADJEN_SET(value) (((value) << 0) & 0x00000001)
3526 
3527 /*
3528  * Field : Loop Bandwidth Adjust - bwadj
3529  * 
3530  * Provides Loop Bandwidth Adjust value.
3531  * 
3532  * Field Access Macros:
3533  * 
3534  */
3535 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_PERPLL_MISC_BWADJ register field. */
3536 #define ALT_CLKMGR_PERPLL_MISC_BWADJ_LSB        1
3537 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_PERPLL_MISC_BWADJ register field. */
3538 #define ALT_CLKMGR_PERPLL_MISC_BWADJ_MSB        12
3539 /* The width in bits of the ALT_CLKMGR_PERPLL_MISC_BWADJ register field. */
3540 #define ALT_CLKMGR_PERPLL_MISC_BWADJ_WIDTH      12
3541 /* The mask used to set the ALT_CLKMGR_PERPLL_MISC_BWADJ register field value. */
3542 #define ALT_CLKMGR_PERPLL_MISC_BWADJ_SET_MSK    0x00001ffe
3543 /* The mask used to clear the ALT_CLKMGR_PERPLL_MISC_BWADJ register field value. */
3544 #define ALT_CLKMGR_PERPLL_MISC_BWADJ_CLR_MSK    0xffffe001
3545 /* The reset value of the ALT_CLKMGR_PERPLL_MISC_BWADJ register field. */
3546 #define ALT_CLKMGR_PERPLL_MISC_BWADJ_RESET      0x1
3547 /* Extracts the ALT_CLKMGR_PERPLL_MISC_BWADJ field value from a register. */
3548 #define ALT_CLKMGR_PERPLL_MISC_BWADJ_GET(value) (((value) & 0x00001ffe) >> 1)
3549 /* Produces a ALT_CLKMGR_PERPLL_MISC_BWADJ register field value suitable for setting the register. */
3550 #define ALT_CLKMGR_PERPLL_MISC_BWADJ_SET(value) (((value) << 1) & 0x00001ffe)
3551 
3552 /*
3553  * Field : Fast Locking Enable - fasten
3554  * 
3555  * Enables fast locking circuit.
3556  * 
3557  * Field Access Macros:
3558  * 
3559  */
3560 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_PERPLL_MISC_FASTEN register field. */
3561 #define ALT_CLKMGR_PERPLL_MISC_FASTEN_LSB        13
3562 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_PERPLL_MISC_FASTEN register field. */
3563 #define ALT_CLKMGR_PERPLL_MISC_FASTEN_MSB        13
3564 /* The width in bits of the ALT_CLKMGR_PERPLL_MISC_FASTEN register field. */
3565 #define ALT_CLKMGR_PERPLL_MISC_FASTEN_WIDTH      1
3566 /* The mask used to set the ALT_CLKMGR_PERPLL_MISC_FASTEN register field value. */
3567 #define ALT_CLKMGR_PERPLL_MISC_FASTEN_SET_MSK    0x00002000
3568 /* The mask used to clear the ALT_CLKMGR_PERPLL_MISC_FASTEN register field value. */
3569 #define ALT_CLKMGR_PERPLL_MISC_FASTEN_CLR_MSK    0xffffdfff
3570 /* The reset value of the ALT_CLKMGR_PERPLL_MISC_FASTEN register field. */
3571 #define ALT_CLKMGR_PERPLL_MISC_FASTEN_RESET      0x0
3572 /* Extracts the ALT_CLKMGR_PERPLL_MISC_FASTEN field value from a register. */
3573 #define ALT_CLKMGR_PERPLL_MISC_FASTEN_GET(value) (((value) & 0x00002000) >> 13)
3574 /* Produces a ALT_CLKMGR_PERPLL_MISC_FASTEN register field value suitable for setting the register. */
3575 #define ALT_CLKMGR_PERPLL_MISC_FASTEN_SET(value) (((value) << 13) & 0x00002000)
3576 
3577 /*
3578  * Field : Saturation Enable - saten
3579  * 
3580  * Enables saturation behavior.
3581  * 
3582  * Field Access Macros:
3583  * 
3584  */
3585 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_PERPLL_MISC_SATEN register field. */
3586 #define ALT_CLKMGR_PERPLL_MISC_SATEN_LSB        14
3587 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_PERPLL_MISC_SATEN register field. */
3588 #define ALT_CLKMGR_PERPLL_MISC_SATEN_MSB        14
3589 /* The width in bits of the ALT_CLKMGR_PERPLL_MISC_SATEN register field. */
3590 #define ALT_CLKMGR_PERPLL_MISC_SATEN_WIDTH      1
3591 /* The mask used to set the ALT_CLKMGR_PERPLL_MISC_SATEN register field value. */
3592 #define ALT_CLKMGR_PERPLL_MISC_SATEN_SET_MSK    0x00004000
3593 /* The mask used to clear the ALT_CLKMGR_PERPLL_MISC_SATEN register field value. */
3594 #define ALT_CLKMGR_PERPLL_MISC_SATEN_CLR_MSK    0xffffbfff
3595 /* The reset value of the ALT_CLKMGR_PERPLL_MISC_SATEN register field. */
3596 #define ALT_CLKMGR_PERPLL_MISC_SATEN_RESET      0x1
3597 /* Extracts the ALT_CLKMGR_PERPLL_MISC_SATEN field value from a register. */
3598 #define ALT_CLKMGR_PERPLL_MISC_SATEN_GET(value) (((value) & 0x00004000) >> 14)
3599 /* Produces a ALT_CLKMGR_PERPLL_MISC_SATEN register field value suitable for setting the register. */
3600 #define ALT_CLKMGR_PERPLL_MISC_SATEN_SET(value) (((value) << 14) & 0x00004000)
3601 
3602 #ifndef __ASSEMBLY__
3603 /*
3604  * WARNING: The C register and register group struct declarations are provided for
3605  * convenience and illustrative purposes. They should, however, be used with
3606  * caution as the C language standard provides no guarantees about the alignment or
3607  * atomicity of device memory accesses. The recommended practice for writing
3608  * hardware drivers is to use the SoCAL access macros and alt_read_word() and
3609  * alt_write_word() functions.
3610  * 
3611  * The struct declaration for register ALT_CLKMGR_PERPLL_MISC.
3612  */
3613 struct ALT_CLKMGR_PERPLL_MISC_s
3614 {
3615     uint32_t  bwadjen :  1;  /* Loop Bandwidth Adjust Enabled */
3616     uint32_t  bwadj   : 12;  /* Loop Bandwidth Adjust */
3617     uint32_t  fasten  :  1;  /* Fast Locking Enable */
3618     uint32_t  saten   :  1;  /* Saturation Enable */
3619     uint32_t          : 17;  /* *UNDEFINED* */
3620 };
3621 
3622 /* The typedef declaration for register ALT_CLKMGR_PERPLL_MISC. */
3623 typedef volatile struct ALT_CLKMGR_PERPLL_MISC_s  ALT_CLKMGR_PERPLL_MISC_t;
3624 #endif  /* __ASSEMBLY__ */
3625 
3626 /* The byte offset of the ALT_CLKMGR_PERPLL_MISC register from the beginning of the component. */
3627 #define ALT_CLKMGR_PERPLL_MISC_OFST        0x4
3628 
3629 /*
3630  * Register : Peripheral PLL C0 Control Register for Clock emac0_clk - emac0clk
3631  * 
3632  * Contains settings that control clock emac0_clk generated from the C0 output of
3633  * the Peripheral PLL.
3634  * 
3635  * Only reset by a cold reset.
3636  * 
3637  * Register Layout
3638  * 
3639  *  Bits   | Access | Reset | Description
3640  * :-------|:-------|:------|:------------
3641  *  [8:0]  | RW     | 0x1   | Counter    
3642  *  [31:9] | ???    | 0x0   | *UNDEFINED*
3643  * 
3644  */
3645 /*
3646  * Field : Counter - cnt
3647  * 
3648  * Divides the VCO frequency by the value+1 in this field.
3649  * 
3650  * Field Access Macros:
3651  * 
3652  */
3653 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_PERPLL_EMAC0CLK_CNT register field. */
3654 #define ALT_CLKMGR_PERPLL_EMAC0CLK_CNT_LSB        0
3655 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_PERPLL_EMAC0CLK_CNT register field. */
3656 #define ALT_CLKMGR_PERPLL_EMAC0CLK_CNT_MSB        8
3657 /* The width in bits of the ALT_CLKMGR_PERPLL_EMAC0CLK_CNT register field. */
3658 #define ALT_CLKMGR_PERPLL_EMAC0CLK_CNT_WIDTH      9
3659 /* The mask used to set the ALT_CLKMGR_PERPLL_EMAC0CLK_CNT register field value. */
3660 #define ALT_CLKMGR_PERPLL_EMAC0CLK_CNT_SET_MSK    0x000001ff
3661 /* The mask used to clear the ALT_CLKMGR_PERPLL_EMAC0CLK_CNT register field value. */
3662 #define ALT_CLKMGR_PERPLL_EMAC0CLK_CNT_CLR_MSK    0xfffffe00
3663 /* The reset value of the ALT_CLKMGR_PERPLL_EMAC0CLK_CNT register field. */
3664 #define ALT_CLKMGR_PERPLL_EMAC0CLK_CNT_RESET      0x1
3665 /* Extracts the ALT_CLKMGR_PERPLL_EMAC0CLK_CNT field value from a register. */
3666 #define ALT_CLKMGR_PERPLL_EMAC0CLK_CNT_GET(value) (((value) & 0x000001ff) >> 0)
3667 /* Produces a ALT_CLKMGR_PERPLL_EMAC0CLK_CNT register field value suitable for setting the register. */
3668 #define ALT_CLKMGR_PERPLL_EMAC0CLK_CNT_SET(value) (((value) << 0) & 0x000001ff)
3669 
3670 #ifndef __ASSEMBLY__
3671 /*
3672  * WARNING: The C register and register group struct declarations are provided for
3673  * convenience and illustrative purposes. They should, however, be used with
3674  * caution as the C language standard provides no guarantees about the alignment or
3675  * atomicity of device memory accesses. The recommended practice for writing
3676  * hardware drivers is to use the SoCAL access macros and alt_read_word() and
3677  * alt_write_word() functions.
3678  * 
3679  * The struct declaration for register ALT_CLKMGR_PERPLL_EMAC0CLK.
3680  */
3681 struct ALT_CLKMGR_PERPLL_EMAC0CLK_s
3682 {
3683     uint32_t  cnt :  9;  /* Counter */
3684     uint32_t      : 23;  /* *UNDEFINED* */
3685 };
3686 
3687 /* The typedef declaration for register ALT_CLKMGR_PERPLL_EMAC0CLK. */
3688 typedef volatile struct ALT_CLKMGR_PERPLL_EMAC0CLK_s  ALT_CLKMGR_PERPLL_EMAC0CLK_t;
3689 #endif  /* __ASSEMBLY__ */
3690 
3691 /* The byte offset of the ALT_CLKMGR_PERPLL_EMAC0CLK register from the beginning of the component. */
3692 #define ALT_CLKMGR_PERPLL_EMAC0CLK_OFST        0x8
3693 
3694 /*
3695  * Register : Peripheral PLL C1 Control Register for Clock emac1_clk - emac1clk
3696  * 
3697  * Contains settings that control clock emac1_clk generated from the C1 output of
3698  * the Peripheral PLL.
3699  * 
3700  * Only reset by a cold reset.
3701  * 
3702  * Register Layout
3703  * 
3704  *  Bits   | Access | Reset | Description
3705  * :-------|:-------|:------|:------------
3706  *  [8:0]  | RW     | 0x1   | Counter    
3707  *  [31:9] | ???    | 0x0   | *UNDEFINED*
3708  * 
3709  */
3710 /*
3711  * Field : Counter - cnt
3712  * 
3713  * Divides the VCO frequency by the value+1 in this field.
3714  * 
3715  * Field Access Macros:
3716  * 
3717  */
3718 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_PERPLL_EMAC1CLK_CNT register field. */
3719 #define ALT_CLKMGR_PERPLL_EMAC1CLK_CNT_LSB        0
3720 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_PERPLL_EMAC1CLK_CNT register field. */
3721 #define ALT_CLKMGR_PERPLL_EMAC1CLK_CNT_MSB        8
3722 /* The width in bits of the ALT_CLKMGR_PERPLL_EMAC1CLK_CNT register field. */
3723 #define ALT_CLKMGR_PERPLL_EMAC1CLK_CNT_WIDTH      9
3724 /* The mask used to set the ALT_CLKMGR_PERPLL_EMAC1CLK_CNT register field value. */
3725 #define ALT_CLKMGR_PERPLL_EMAC1CLK_CNT_SET_MSK    0x000001ff
3726 /* The mask used to clear the ALT_CLKMGR_PERPLL_EMAC1CLK_CNT register field value. */
3727 #define ALT_CLKMGR_PERPLL_EMAC1CLK_CNT_CLR_MSK    0xfffffe00
3728 /* The reset value of the ALT_CLKMGR_PERPLL_EMAC1CLK_CNT register field. */
3729 #define ALT_CLKMGR_PERPLL_EMAC1CLK_CNT_RESET      0x1
3730 /* Extracts the ALT_CLKMGR_PERPLL_EMAC1CLK_CNT field value from a register. */
3731 #define ALT_CLKMGR_PERPLL_EMAC1CLK_CNT_GET(value) (((value) & 0x000001ff) >> 0)
3732 /* Produces a ALT_CLKMGR_PERPLL_EMAC1CLK_CNT register field value suitable for setting the register. */
3733 #define ALT_CLKMGR_PERPLL_EMAC1CLK_CNT_SET(value) (((value) << 0) & 0x000001ff)
3734 
3735 #ifndef __ASSEMBLY__
3736 /*
3737  * WARNING: The C register and register group struct declarations are provided for
3738  * convenience and illustrative purposes. They should, however, be used with
3739  * caution as the C language standard provides no guarantees about the alignment or
3740  * atomicity of device memory accesses. The recommended practice for writing
3741  * hardware drivers is to use the SoCAL access macros and alt_read_word() and
3742  * alt_write_word() functions.
3743  * 
3744  * The struct declaration for register ALT_CLKMGR_PERPLL_EMAC1CLK.
3745  */
3746 struct ALT_CLKMGR_PERPLL_EMAC1CLK_s
3747 {
3748     uint32_t  cnt :  9;  /* Counter */
3749     uint32_t      : 23;  /* *UNDEFINED* */
3750 };
3751 
3752 /* The typedef declaration for register ALT_CLKMGR_PERPLL_EMAC1CLK. */
3753 typedef volatile struct ALT_CLKMGR_PERPLL_EMAC1CLK_s  ALT_CLKMGR_PERPLL_EMAC1CLK_t;
3754 #endif  /* __ASSEMBLY__ */
3755 
3756 /* The byte offset of the ALT_CLKMGR_PERPLL_EMAC1CLK register from the beginning of the component. */
3757 #define ALT_CLKMGR_PERPLL_EMAC1CLK_OFST        0xc
3758 
3759 /*
3760  * Register : Peripheral PLL C2 Control Register for Clock periph_qspi_clk - perqspiclk
3761  * 
3762  * Contains settings that control clock periph_qspi_clk generated from the C2
3763  * output of the Peripheral PLL.
3764  * 
3765  * Only reset by a cold reset.
3766  * 
3767  * Register Layout
3768  * 
3769  *  Bits   | Access | Reset | Description
3770  * :-------|:-------|:------|:------------
3771  *  [8:0]  | RW     | 0x1   | Counter    
3772  *  [31:9] | ???    | 0x0   | *UNDEFINED*
3773  * 
3774  */
3775 /*
3776  * Field : Counter - cnt
3777  * 
3778  * Divides the VCO frequency by the value+1 in this field.
3779  * 
3780  * Field Access Macros:
3781  * 
3782  */
3783 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_PERPLL_PERQSPICLK_CNT register field. */
3784 #define ALT_CLKMGR_PERPLL_PERQSPICLK_CNT_LSB        0
3785 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_PERPLL_PERQSPICLK_CNT register field. */
3786 #define ALT_CLKMGR_PERPLL_PERQSPICLK_CNT_MSB        8
3787 /* The width in bits of the ALT_CLKMGR_PERPLL_PERQSPICLK_CNT register field. */
3788 #define ALT_CLKMGR_PERPLL_PERQSPICLK_CNT_WIDTH      9
3789 /* The mask used to set the ALT_CLKMGR_PERPLL_PERQSPICLK_CNT register field value. */
3790 #define ALT_CLKMGR_PERPLL_PERQSPICLK_CNT_SET_MSK    0x000001ff
3791 /* The mask used to clear the ALT_CLKMGR_PERPLL_PERQSPICLK_CNT register field value. */
3792 #define ALT_CLKMGR_PERPLL_PERQSPICLK_CNT_CLR_MSK    0xfffffe00
3793 /* The reset value of the ALT_CLKMGR_PERPLL_PERQSPICLK_CNT register field. */
3794 #define ALT_CLKMGR_PERPLL_PERQSPICLK_CNT_RESET      0x1
3795 /* Extracts the ALT_CLKMGR_PERPLL_PERQSPICLK_CNT field value from a register. */
3796 #define ALT_CLKMGR_PERPLL_PERQSPICLK_CNT_GET(value) (((value) & 0x000001ff) >> 0)
3797 /* Produces a ALT_CLKMGR_PERPLL_PERQSPICLK_CNT register field value suitable for setting the register. */
3798 #define ALT_CLKMGR_PERPLL_PERQSPICLK_CNT_SET(value) (((value) << 0) & 0x000001ff)
3799 
3800 #ifndef __ASSEMBLY__
3801 /*
3802  * WARNING: The C register and register group struct declarations are provided for
3803  * convenience and illustrative purposes. They should, however, be used with
3804  * caution as the C language standard provides no guarantees about the alignment or
3805  * atomicity of device memory accesses. The recommended practice for writing
3806  * hardware drivers is to use the SoCAL access macros and alt_read_word() and
3807  * alt_write_word() functions.
3808  * 
3809  * The struct declaration for register ALT_CLKMGR_PERPLL_PERQSPICLK.
3810  */
3811 struct ALT_CLKMGR_PERPLL_PERQSPICLK_s
3812 {
3813     uint32_t  cnt :  9;  /* Counter */
3814     uint32_t      : 23;  /* *UNDEFINED* */
3815 };
3816 
3817 /* The typedef declaration for register ALT_CLKMGR_PERPLL_PERQSPICLK. */
3818 typedef volatile struct ALT_CLKMGR_PERPLL_PERQSPICLK_s  ALT_CLKMGR_PERPLL_PERQSPICLK_t;
3819 #endif  /* __ASSEMBLY__ */
3820 
3821 /* The byte offset of the ALT_CLKMGR_PERPLL_PERQSPICLK register from the beginning of the component. */
3822 #define ALT_CLKMGR_PERPLL_PERQSPICLK_OFST        0x10
3823 
3824 /*
3825  * Register : Peripheral PLL C3 Control Register for Clock periph_nand_sdmmc_clk - pernandsdmmcclk
3826  * 
3827  * Contains settings that control clock periph_nand_sdmmc_clk generated from the C3
3828  * output of the Peripheral PLL.
3829  * 
3830  * Only reset by a cold reset.
3831  * 
3832  * Register Layout
3833  * 
3834  *  Bits   | Access | Reset | Description
3835  * :-------|:-------|:------|:------------
3836  *  [8:0]  | RW     | 0x1   | Counter    
3837  *  [31:9] | ???    | 0x0   | *UNDEFINED*
3838  * 
3839  */
3840 /*
3841  * Field : Counter - cnt
3842  * 
3843  * Divides the VCO frequency by the value+1 in this field.
3844  * 
3845  * Field Access Macros:
3846  * 
3847  */
3848 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_PERPLL_PERNANDSDMMCCLK_CNT register field. */
3849 #define ALT_CLKMGR_PERPLL_PERNANDSDMMCCLK_CNT_LSB        0
3850 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_PERPLL_PERNANDSDMMCCLK_CNT register field. */
3851 #define ALT_CLKMGR_PERPLL_PERNANDSDMMCCLK_CNT_MSB        8
3852 /* The width in bits of the ALT_CLKMGR_PERPLL_PERNANDSDMMCCLK_CNT register field. */
3853 #define ALT_CLKMGR_PERPLL_PERNANDSDMMCCLK_CNT_WIDTH      9
3854 /* The mask used to set the ALT_CLKMGR_PERPLL_PERNANDSDMMCCLK_CNT register field value. */
3855 #define ALT_CLKMGR_PERPLL_PERNANDSDMMCCLK_CNT_SET_MSK    0x000001ff
3856 /* The mask used to clear the ALT_CLKMGR_PERPLL_PERNANDSDMMCCLK_CNT register field value. */
3857 #define ALT_CLKMGR_PERPLL_PERNANDSDMMCCLK_CNT_CLR_MSK    0xfffffe00
3858 /* The reset value of the ALT_CLKMGR_PERPLL_PERNANDSDMMCCLK_CNT register field. */
3859 #define ALT_CLKMGR_PERPLL_PERNANDSDMMCCLK_CNT_RESET      0x1
3860 /* Extracts the ALT_CLKMGR_PERPLL_PERNANDSDMMCCLK_CNT field value from a register. */
3861 #define ALT_CLKMGR_PERPLL_PERNANDSDMMCCLK_CNT_GET(value) (((value) & 0x000001ff) >> 0)
3862 /* Produces a ALT_CLKMGR_PERPLL_PERNANDSDMMCCLK_CNT register field value suitable for setting the register. */
3863 #define ALT_CLKMGR_PERPLL_PERNANDSDMMCCLK_CNT_SET(value) (((value) << 0) & 0x000001ff)
3864 
3865 #ifndef __ASSEMBLY__
3866 /*
3867  * WARNING: The C register and register group struct declarations are provided for
3868  * convenience and illustrative purposes. They should, however, be used with
3869  * caution as the C language standard provides no guarantees about the alignment or
3870  * atomicity of device memory accesses. The recommended practice for writing
3871  * hardware drivers is to use the SoCAL access macros and alt_read_word() and
3872  * alt_write_word() functions.
3873  * 
3874  * The struct declaration for register ALT_CLKMGR_PERPLL_PERNANDSDMMCCLK.
3875  */
3876 struct ALT_CLKMGR_PERPLL_PERNANDSDMMCCLK_s
3877 {
3878     uint32_t  cnt :  9;  /* Counter */
3879     uint32_t      : 23;  /* *UNDEFINED* */
3880 };
3881 
3882 /* The typedef declaration for register ALT_CLKMGR_PERPLL_PERNANDSDMMCCLK. */
3883 typedef volatile struct ALT_CLKMGR_PERPLL_PERNANDSDMMCCLK_s  ALT_CLKMGR_PERPLL_PERNANDSDMMCCLK_t;
3884 #endif  /* __ASSEMBLY__ */
3885 
3886 /* The byte offset of the ALT_CLKMGR_PERPLL_PERNANDSDMMCCLK register from the beginning of the component. */
3887 #define ALT_CLKMGR_PERPLL_PERNANDSDMMCCLK_OFST        0x14
3888 
3889 /*
3890  * Register : Peripheral PLL C4 Control Register for Clock periph_base_clk - perbaseclk
3891  * 
3892  * Contains settings that control clock periph_base_clk generated from the C4
3893  * output of the Peripheral PLL.
3894  * 
3895  * Only reset by a cold reset.
3896  * 
3897  * Register Layout
3898  * 
3899  *  Bits   | Access | Reset | Description
3900  * :-------|:-------|:------|:------------
3901  *  [8:0]  | RW     | 0x1   | Counter    
3902  *  [31:9] | ???    | 0x0   | *UNDEFINED*
3903  * 
3904  */
3905 /*
3906  * Field : Counter - cnt
3907  * 
3908  * Divides the VCO frequency by the value+1 in this field.
3909  * 
3910  * Field Access Macros:
3911  * 
3912  */
3913 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_PERPLL_PERBASECLK_CNT register field. */
3914 #define ALT_CLKMGR_PERPLL_PERBASECLK_CNT_LSB        0
3915 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_PERPLL_PERBASECLK_CNT register field. */
3916 #define ALT_CLKMGR_PERPLL_PERBASECLK_CNT_MSB        8
3917 /* The width in bits of the ALT_CLKMGR_PERPLL_PERBASECLK_CNT register field. */
3918 #define ALT_CLKMGR_PERPLL_PERBASECLK_CNT_WIDTH      9
3919 /* The mask used to set the ALT_CLKMGR_PERPLL_PERBASECLK_CNT register field value. */
3920 #define ALT_CLKMGR_PERPLL_PERBASECLK_CNT_SET_MSK    0x000001ff
3921 /* The mask used to clear the ALT_CLKMGR_PERPLL_PERBASECLK_CNT register field value. */
3922 #define ALT_CLKMGR_PERPLL_PERBASECLK_CNT_CLR_MSK    0xfffffe00
3923 /* The reset value of the ALT_CLKMGR_PERPLL_PERBASECLK_CNT register field. */
3924 #define ALT_CLKMGR_PERPLL_PERBASECLK_CNT_RESET      0x1
3925 /* Extracts the ALT_CLKMGR_PERPLL_PERBASECLK_CNT field value from a register. */
3926 #define ALT_CLKMGR_PERPLL_PERBASECLK_CNT_GET(value) (((value) & 0x000001ff) >> 0)
3927 /* Produces a ALT_CLKMGR_PERPLL_PERBASECLK_CNT register field value suitable for setting the register. */
3928 #define ALT_CLKMGR_PERPLL_PERBASECLK_CNT_SET(value) (((value) << 0) & 0x000001ff)
3929 
3930 #ifndef __ASSEMBLY__
3931 /*
3932  * WARNING: The C register and register group struct declarations are provided for
3933  * convenience and illustrative purposes. They should, however, be used with
3934  * caution as the C language standard provides no guarantees about the alignment or
3935  * atomicity of device memory accesses. The recommended practice for writing
3936  * hardware drivers is to use the SoCAL access macros and alt_read_word() and
3937  * alt_write_word() functions.
3938  * 
3939  * The struct declaration for register ALT_CLKMGR_PERPLL_PERBASECLK.
3940  */
3941 struct ALT_CLKMGR_PERPLL_PERBASECLK_s
3942 {
3943     uint32_t  cnt :  9;  /* Counter */
3944     uint32_t      : 23;  /* *UNDEFINED* */
3945 };
3946 
3947 /* The typedef declaration for register ALT_CLKMGR_PERPLL_PERBASECLK. */
3948 typedef volatile struct ALT_CLKMGR_PERPLL_PERBASECLK_s  ALT_CLKMGR_PERPLL_PERBASECLK_t;
3949 #endif  /* __ASSEMBLY__ */
3950 
3951 /* The byte offset of the ALT_CLKMGR_PERPLL_PERBASECLK register from the beginning of the component. */
3952 #define ALT_CLKMGR_PERPLL_PERBASECLK_OFST        0x18
3953 
3954 /*
3955  * Register : Peripheral PLL C5 Control Register for Clock s2f_user1_clk - s2fuser1clk
3956  * 
3957  * Contains settings that control clock s2f_user1_clk generated from the C5 output
3958  * of the Peripheral PLL.
3959  * 
3960  * Qsys and user documenation refer to s2f_user1_clk as h2f_user1_clk.
3961  * 
3962  * Only reset by a cold reset.
3963  * 
3964  * Register Layout
3965  * 
3966  *  Bits   | Access | Reset | Description
3967  * :-------|:-------|:------|:------------
3968  *  [8:0]  | RW     | 0x1   | Counter    
3969  *  [31:9] | ???    | 0x0   | *UNDEFINED*
3970  * 
3971  */
3972 /*
3973  * Field : Counter - cnt
3974  * 
3975  * Divides the VCO frequency by the value+1 in this field.
3976  * 
3977  * Field Access Macros:
3978  * 
3979  */
3980 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_PERPLL_S2FUSER1CLK_CNT register field. */
3981 #define ALT_CLKMGR_PERPLL_S2FUSER1CLK_CNT_LSB        0
3982 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_PERPLL_S2FUSER1CLK_CNT register field. */
3983 #define ALT_CLKMGR_PERPLL_S2FUSER1CLK_CNT_MSB        8
3984 /* The width in bits of the ALT_CLKMGR_PERPLL_S2FUSER1CLK_CNT register field. */
3985 #define ALT_CLKMGR_PERPLL_S2FUSER1CLK_CNT_WIDTH      9
3986 /* The mask used to set the ALT_CLKMGR_PERPLL_S2FUSER1CLK_CNT register field value. */
3987 #define ALT_CLKMGR_PERPLL_S2FUSER1CLK_CNT_SET_MSK    0x000001ff
3988 /* The mask used to clear the ALT_CLKMGR_PERPLL_S2FUSER1CLK_CNT register field value. */
3989 #define ALT_CLKMGR_PERPLL_S2FUSER1CLK_CNT_CLR_MSK    0xfffffe00
3990 /* The reset value of the ALT_CLKMGR_PERPLL_S2FUSER1CLK_CNT register field. */
3991 #define ALT_CLKMGR_PERPLL_S2FUSER1CLK_CNT_RESET      0x1
3992 /* Extracts the ALT_CLKMGR_PERPLL_S2FUSER1CLK_CNT field value from a register. */
3993 #define ALT_CLKMGR_PERPLL_S2FUSER1CLK_CNT_GET(value) (((value) & 0x000001ff) >> 0)
3994 /* Produces a ALT_CLKMGR_PERPLL_S2FUSER1CLK_CNT register field value suitable for setting the register. */
3995 #define ALT_CLKMGR_PERPLL_S2FUSER1CLK_CNT_SET(value) (((value) << 0) & 0x000001ff)
3996 
3997 #ifndef __ASSEMBLY__
3998 /*
3999  * WARNING: The C register and register group struct declarations are provided for
4000  * convenience and illustrative purposes. They should, however, be used with
4001  * caution as the C language standard provides no guarantees about the alignment or
4002  * atomicity of device memory accesses. The recommended practice for writing
4003  * hardware drivers is to use the SoCAL access macros and alt_read_word() and
4004  * alt_write_word() functions.
4005  * 
4006  * The struct declaration for register ALT_CLKMGR_PERPLL_S2FUSER1CLK.
4007  */
4008 struct ALT_CLKMGR_PERPLL_S2FUSER1CLK_s
4009 {
4010     uint32_t  cnt :  9;  /* Counter */
4011     uint32_t      : 23;  /* *UNDEFINED* */
4012 };
4013 
4014 /* The typedef declaration for register ALT_CLKMGR_PERPLL_S2FUSER1CLK. */
4015 typedef volatile struct ALT_CLKMGR_PERPLL_S2FUSER1CLK_s  ALT_CLKMGR_PERPLL_S2FUSER1CLK_t;
4016 #endif  /* __ASSEMBLY__ */
4017 
4018 /* The byte offset of the ALT_CLKMGR_PERPLL_S2FUSER1CLK register from the beginning of the component. */
4019 #define ALT_CLKMGR_PERPLL_S2FUSER1CLK_OFST        0x1c
4020 
4021 /*
4022  * Register : Enable Register - en
4023  * 
4024  * Contains fields that control clock enables for clocks derived from the
4025  * Peripheral PLL
4026  * 
4027  * 1: The clock is enabled.
4028  * 
4029  * 0: The clock is disabled.
4030  * 
4031  * Fields are only reset by a cold reset.
4032  * 
4033  * Register Layout
4034  * 
4035  *  Bits    | Access | Reset | Description         
4036  * :--------|:-------|:------|:---------------------
4037  *  [0]     | RW     | 0x1   | emac0_clk Enable    
4038  *  [1]     | RW     | 0x1   | emac1_clk Enable    
4039  *  [2]     | RW     | 0x1   | usb_mp_clk Enable   
4040  *  [3]     | RW     | 0x1   | spi_m_clk Enable    
4041  *  [4]     | RW     | 0x1   | can0_clk Enable     
4042  *  [5]     | RW     | 0x1   | can1_clk Enable     
4043  *  [6]     | RW     | 0x1   | gpio_clk Enable     
4044  *  [7]     | RW     | 0x1   | s2f_user1_clk Enable
4045  *  [8]     | RW     | 0x1   | sdmmc_clk Enable    
4046  *  [9]     | RW     | 0x1   | nand_x_clk Enable   
4047  *  [10]    | RW     | 0x1   | nand_clk Enable     
4048  *  [11]    | RW     | 0x1   | qspi_clk Enable     
4049  *  [31:12] | ???    | 0x0   | *UNDEFINED*         
4050  * 
4051  */
4052 /*
4053  * Field : emac0_clk Enable - emac0clk
4054  * 
4055  * Enables clock emac0_clk output
4056  * 
4057  * Field Access Macros:
4058  * 
4059  */
4060 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_PERPLL_EN_EMAC0CLK register field. */
4061 #define ALT_CLKMGR_PERPLL_EN_EMAC0CLK_LSB        0
4062 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_PERPLL_EN_EMAC0CLK register field. */
4063 #define ALT_CLKMGR_PERPLL_EN_EMAC0CLK_MSB        0
4064 /* The width in bits of the ALT_CLKMGR_PERPLL_EN_EMAC0CLK register field. */
4065 #define ALT_CLKMGR_PERPLL_EN_EMAC0CLK_WIDTH      1
4066 /* The mask used to set the ALT_CLKMGR_PERPLL_EN_EMAC0CLK register field value. */
4067 #define ALT_CLKMGR_PERPLL_EN_EMAC0CLK_SET_MSK    0x00000001
4068 /* The mask used to clear the ALT_CLKMGR_PERPLL_EN_EMAC0CLK register field value. */
4069 #define ALT_CLKMGR_PERPLL_EN_EMAC0CLK_CLR_MSK    0xfffffffe
4070 /* The reset value of the ALT_CLKMGR_PERPLL_EN_EMAC0CLK register field. */
4071 #define ALT_CLKMGR_PERPLL_EN_EMAC0CLK_RESET      0x1
4072 /* Extracts the ALT_CLKMGR_PERPLL_EN_EMAC0CLK field value from a register. */
4073 #define ALT_CLKMGR_PERPLL_EN_EMAC0CLK_GET(value) (((value) & 0x00000001) >> 0)
4074 /* Produces a ALT_CLKMGR_PERPLL_EN_EMAC0CLK register field value suitable for setting the register. */
4075 #define ALT_CLKMGR_PERPLL_EN_EMAC0CLK_SET(value) (((value) << 0) & 0x00000001)
4076 
4077 /*
4078  * Field : emac1_clk Enable - emac1clk
4079  * 
4080  * Enables clock emac1_clk output
4081  * 
4082  * Field Access Macros:
4083  * 
4084  */
4085 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_PERPLL_EN_EMAC1CLK register field. */
4086 #define ALT_CLKMGR_PERPLL_EN_EMAC1CLK_LSB        1
4087 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_PERPLL_EN_EMAC1CLK register field. */
4088 #define ALT_CLKMGR_PERPLL_EN_EMAC1CLK_MSB        1
4089 /* The width in bits of the ALT_CLKMGR_PERPLL_EN_EMAC1CLK register field. */
4090 #define ALT_CLKMGR_PERPLL_EN_EMAC1CLK_WIDTH      1
4091 /* The mask used to set the ALT_CLKMGR_PERPLL_EN_EMAC1CLK register field value. */
4092 #define ALT_CLKMGR_PERPLL_EN_EMAC1CLK_SET_MSK    0x00000002
4093 /* The mask used to clear the ALT_CLKMGR_PERPLL_EN_EMAC1CLK register field value. */
4094 #define ALT_CLKMGR_PERPLL_EN_EMAC1CLK_CLR_MSK    0xfffffffd
4095 /* The reset value of the ALT_CLKMGR_PERPLL_EN_EMAC1CLK register field. */
4096 #define ALT_CLKMGR_PERPLL_EN_EMAC1CLK_RESET      0x1
4097 /* Extracts the ALT_CLKMGR_PERPLL_EN_EMAC1CLK field value from a register. */
4098 #define ALT_CLKMGR_PERPLL_EN_EMAC1CLK_GET(value) (((value) & 0x00000002) >> 1)
4099 /* Produces a ALT_CLKMGR_PERPLL_EN_EMAC1CLK register field value suitable for setting the register. */
4100 #define ALT_CLKMGR_PERPLL_EN_EMAC1CLK_SET(value) (((value) << 1) & 0x00000002)
4101 
4102 /*
4103  * Field : usb_mp_clk Enable - usbclk
4104  * 
4105  * Enables clock usb_mp_clk output
4106  * 
4107  * Field Access Macros:
4108  * 
4109  */
4110 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_PERPLL_EN_USBCLK register field. */
4111 #define ALT_CLKMGR_PERPLL_EN_USBCLK_LSB        2
4112 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_PERPLL_EN_USBCLK register field. */
4113 #define ALT_CLKMGR_PERPLL_EN_USBCLK_MSB        2
4114 /* The width in bits of the ALT_CLKMGR_PERPLL_EN_USBCLK register field. */
4115 #define ALT_CLKMGR_PERPLL_EN_USBCLK_WIDTH      1
4116 /* The mask used to set the ALT_CLKMGR_PERPLL_EN_USBCLK register field value. */
4117 #define ALT_CLKMGR_PERPLL_EN_USBCLK_SET_MSK    0x00000004
4118 /* The mask used to clear the ALT_CLKMGR_PERPLL_EN_USBCLK register field value. */
4119 #define ALT_CLKMGR_PERPLL_EN_USBCLK_CLR_MSK    0xfffffffb
4120 /* The reset value of the ALT_CLKMGR_PERPLL_EN_USBCLK register field. */
4121 #define ALT_CLKMGR_PERPLL_EN_USBCLK_RESET      0x1
4122 /* Extracts the ALT_CLKMGR_PERPLL_EN_USBCLK field value from a register. */
4123 #define ALT_CLKMGR_PERPLL_EN_USBCLK_GET(value) (((value) & 0x00000004) >> 2)
4124 /* Produces a ALT_CLKMGR_PERPLL_EN_USBCLK register field value suitable for setting the register. */
4125 #define ALT_CLKMGR_PERPLL_EN_USBCLK_SET(value) (((value) << 2) & 0x00000004)
4126 
4127 /*
4128  * Field : spi_m_clk Enable - spimclk
4129  * 
4130  * Enables clock spi_m_clk output
4131  * 
4132  * Field Access Macros:
4133  * 
4134  */
4135 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_PERPLL_EN_SPIMCLK register field. */
4136 #define ALT_CLKMGR_PERPLL_EN_SPIMCLK_LSB        3
4137 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_PERPLL_EN_SPIMCLK register field. */
4138 #define ALT_CLKMGR_PERPLL_EN_SPIMCLK_MSB        3
4139 /* The width in bits of the ALT_CLKMGR_PERPLL_EN_SPIMCLK register field. */
4140 #define ALT_CLKMGR_PERPLL_EN_SPIMCLK_WIDTH      1
4141 /* The mask used to set the ALT_CLKMGR_PERPLL_EN_SPIMCLK register field value. */
4142 #define ALT_CLKMGR_PERPLL_EN_SPIMCLK_SET_MSK    0x00000008
4143 /* The mask used to clear the ALT_CLKMGR_PERPLL_EN_SPIMCLK register field value. */
4144 #define ALT_CLKMGR_PERPLL_EN_SPIMCLK_CLR_MSK    0xfffffff7
4145 /* The reset value of the ALT_CLKMGR_PERPLL_EN_SPIMCLK register field. */
4146 #define ALT_CLKMGR_PERPLL_EN_SPIMCLK_RESET      0x1
4147 /* Extracts the ALT_CLKMGR_PERPLL_EN_SPIMCLK field value from a register. */
4148 #define ALT_CLKMGR_PERPLL_EN_SPIMCLK_GET(value) (((value) & 0x00000008) >> 3)
4149 /* Produces a ALT_CLKMGR_PERPLL_EN_SPIMCLK register field value suitable for setting the register. */
4150 #define ALT_CLKMGR_PERPLL_EN_SPIMCLK_SET(value) (((value) << 3) & 0x00000008)
4151 
4152 /*
4153  * Field : can0_clk Enable - can0clk
4154  * 
4155  * Enables clock can0_clk output
4156  * 
4157  * Field Access Macros:
4158  * 
4159  */
4160 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_PERPLL_EN_CAN0CLK register field. */
4161 #define ALT_CLKMGR_PERPLL_EN_CAN0CLK_LSB        4
4162 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_PERPLL_EN_CAN0CLK register field. */
4163 #define ALT_CLKMGR_PERPLL_EN_CAN0CLK_MSB        4
4164 /* The width in bits of the ALT_CLKMGR_PERPLL_EN_CAN0CLK register field. */
4165 #define ALT_CLKMGR_PERPLL_EN_CAN0CLK_WIDTH      1
4166 /* The mask used to set the ALT_CLKMGR_PERPLL_EN_CAN0CLK register field value. */
4167 #define ALT_CLKMGR_PERPLL_EN_CAN0CLK_SET_MSK    0x00000010
4168 /* The mask used to clear the ALT_CLKMGR_PERPLL_EN_CAN0CLK register field value. */
4169 #define ALT_CLKMGR_PERPLL_EN_CAN0CLK_CLR_MSK    0xffffffef
4170 /* The reset value of the ALT_CLKMGR_PERPLL_EN_CAN0CLK register field. */
4171 #define ALT_CLKMGR_PERPLL_EN_CAN0CLK_RESET      0x1
4172 /* Extracts the ALT_CLKMGR_PERPLL_EN_CAN0CLK field value from a register. */
4173 #define ALT_CLKMGR_PERPLL_EN_CAN0CLK_GET(value) (((value) & 0x00000010) >> 4)
4174 /* Produces a ALT_CLKMGR_PERPLL_EN_CAN0CLK register field value suitable for setting the register. */
4175 #define ALT_CLKMGR_PERPLL_EN_CAN0CLK_SET(value) (((value) << 4) & 0x00000010)
4176 
4177 /*
4178  * Field : can1_clk Enable - can1clk
4179  * 
4180  * Enables clock can1_clk output
4181  * 
4182  * Field Access Macros:
4183  * 
4184  */
4185 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_PERPLL_EN_CAN1CLK register field. */
4186 #define ALT_CLKMGR_PERPLL_EN_CAN1CLK_LSB        5
4187 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_PERPLL_EN_CAN1CLK register field. */
4188 #define ALT_CLKMGR_PERPLL_EN_CAN1CLK_MSB        5
4189 /* The width in bits of the ALT_CLKMGR_PERPLL_EN_CAN1CLK register field. */
4190 #define ALT_CLKMGR_PERPLL_EN_CAN1CLK_WIDTH      1
4191 /* The mask used to set the ALT_CLKMGR_PERPLL_EN_CAN1CLK register field value. */
4192 #define ALT_CLKMGR_PERPLL_EN_CAN1CLK_SET_MSK    0x00000020
4193 /* The mask used to clear the ALT_CLKMGR_PERPLL_EN_CAN1CLK register field value. */
4194 #define ALT_CLKMGR_PERPLL_EN_CAN1CLK_CLR_MSK    0xffffffdf
4195 /* The reset value of the ALT_CLKMGR_PERPLL_EN_CAN1CLK register field. */
4196 #define ALT_CLKMGR_PERPLL_EN_CAN1CLK_RESET      0x1
4197 /* Extracts the ALT_CLKMGR_PERPLL_EN_CAN1CLK field value from a register. */
4198 #define ALT_CLKMGR_PERPLL_EN_CAN1CLK_GET(value) (((value) & 0x00000020) >> 5)
4199 /* Produces a ALT_CLKMGR_PERPLL_EN_CAN1CLK register field value suitable for setting the register. */
4200 #define ALT_CLKMGR_PERPLL_EN_CAN1CLK_SET(value) (((value) << 5) & 0x00000020)
4201 
4202 /*
4203  * Field : gpio_clk Enable - gpioclk
4204  * 
4205  * Enables clock gpio_clk output
4206  * 
4207  * Field Access Macros:
4208  * 
4209  */
4210 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_PERPLL_EN_GPIOCLK register field. */
4211 #define ALT_CLKMGR_PERPLL_EN_GPIOCLK_LSB        6
4212 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_PERPLL_EN_GPIOCLK register field. */
4213 #define ALT_CLKMGR_PERPLL_EN_GPIOCLK_MSB        6
4214 /* The width in bits of the ALT_CLKMGR_PERPLL_EN_GPIOCLK register field. */
4215 #define ALT_CLKMGR_PERPLL_EN_GPIOCLK_WIDTH      1
4216 /* The mask used to set the ALT_CLKMGR_PERPLL_EN_GPIOCLK register field value. */
4217 #define ALT_CLKMGR_PERPLL_EN_GPIOCLK_SET_MSK    0x00000040
4218 /* The mask used to clear the ALT_CLKMGR_PERPLL_EN_GPIOCLK register field value. */
4219 #define ALT_CLKMGR_PERPLL_EN_GPIOCLK_CLR_MSK    0xffffffbf
4220 /* The reset value of the ALT_CLKMGR_PERPLL_EN_GPIOCLK register field. */
4221 #define ALT_CLKMGR_PERPLL_EN_GPIOCLK_RESET      0x1
4222 /* Extracts the ALT_CLKMGR_PERPLL_EN_GPIOCLK field value from a register. */
4223 #define ALT_CLKMGR_PERPLL_EN_GPIOCLK_GET(value) (((value) & 0x00000040) >> 6)
4224 /* Produces a ALT_CLKMGR_PERPLL_EN_GPIOCLK register field value suitable for setting the register. */
4225 #define ALT_CLKMGR_PERPLL_EN_GPIOCLK_SET(value) (((value) << 6) & 0x00000040)
4226 
4227 /*
4228  * Field : s2f_user1_clk Enable - s2fuser1clk
4229  * 
4230  * Enables clock s2f_user1_clk output.
4231  * 
4232  * Qsys and user documenation refer to s2f_user1_clk as h2f_user1_clk.
4233  * 
4234  * Field Access Macros:
4235  * 
4236  */
4237 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_PERPLL_EN_S2FUSER1CLK register field. */
4238 #define ALT_CLKMGR_PERPLL_EN_S2FUSER1CLK_LSB        7
4239 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_PERPLL_EN_S2FUSER1CLK register field. */
4240 #define ALT_CLKMGR_PERPLL_EN_S2FUSER1CLK_MSB        7
4241 /* The width in bits of the ALT_CLKMGR_PERPLL_EN_S2FUSER1CLK register field. */
4242 #define ALT_CLKMGR_PERPLL_EN_S2FUSER1CLK_WIDTH      1
4243 /* The mask used to set the ALT_CLKMGR_PERPLL_EN_S2FUSER1CLK register field value. */
4244 #define ALT_CLKMGR_PERPLL_EN_S2FUSER1CLK_SET_MSK    0x00000080
4245 /* The mask used to clear the ALT_CLKMGR_PERPLL_EN_S2FUSER1CLK register field value. */
4246 #define ALT_CLKMGR_PERPLL_EN_S2FUSER1CLK_CLR_MSK    0xffffff7f
4247 /* The reset value of the ALT_CLKMGR_PERPLL_EN_S2FUSER1CLK register field. */
4248 #define ALT_CLKMGR_PERPLL_EN_S2FUSER1CLK_RESET      0x1
4249 /* Extracts the ALT_CLKMGR_PERPLL_EN_S2FUSER1CLK field value from a register. */
4250 #define ALT_CLKMGR_PERPLL_EN_S2FUSER1CLK_GET(value) (((value) & 0x00000080) >> 7)
4251 /* Produces a ALT_CLKMGR_PERPLL_EN_S2FUSER1CLK register field value suitable for setting the register. */
4252 #define ALT_CLKMGR_PERPLL_EN_S2FUSER1CLK_SET(value) (((value) << 7) & 0x00000080)
4253 
4254 /*
4255  * Field : sdmmc_clk Enable - sdmmcclk
4256  * 
4257  * Enables clock sdmmc_clk output
4258  * 
4259  * Field Access Macros:
4260  * 
4261  */
4262 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_PERPLL_EN_SDMMCCLK register field. */
4263 #define ALT_CLKMGR_PERPLL_EN_SDMMCCLK_LSB        8
4264 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_PERPLL_EN_SDMMCCLK register field. */
4265 #define ALT_CLKMGR_PERPLL_EN_SDMMCCLK_MSB        8
4266 /* The width in bits of the ALT_CLKMGR_PERPLL_EN_SDMMCCLK register field. */
4267 #define ALT_CLKMGR_PERPLL_EN_SDMMCCLK_WIDTH      1
4268 /* The mask used to set the ALT_CLKMGR_PERPLL_EN_SDMMCCLK register field value. */
4269 #define ALT_CLKMGR_PERPLL_EN_SDMMCCLK_SET_MSK    0x00000100
4270 /* The mask used to clear the ALT_CLKMGR_PERPLL_EN_SDMMCCLK register field value. */
4271 #define ALT_CLKMGR_PERPLL_EN_SDMMCCLK_CLR_MSK    0xfffffeff
4272 /* The reset value of the ALT_CLKMGR_PERPLL_EN_SDMMCCLK register field. */
4273 #define ALT_CLKMGR_PERPLL_EN_SDMMCCLK_RESET      0x1
4274 /* Extracts the ALT_CLKMGR_PERPLL_EN_SDMMCCLK field value from a register. */
4275 #define ALT_CLKMGR_PERPLL_EN_SDMMCCLK_GET(value) (((value) & 0x00000100) >> 8)
4276 /* Produces a ALT_CLKMGR_PERPLL_EN_SDMMCCLK register field value suitable for setting the register. */
4277 #define ALT_CLKMGR_PERPLL_EN_SDMMCCLK_SET(value) (((value) << 8) & 0x00000100)
4278 
4279 /*
4280  * Field : nand_x_clk Enable - nandxclk
4281  * 
4282  * Enables clock nand_x_clk output
4283  * 
4284  * nand_clk Enable should always be de-asserted before the nand_x_clk Enable, and
4285  * the nand_x_clk Enable should always be asserted before the nand_clk Enable is
4286  * asserted. A brief delay is also required between switching the enables (8 *
4287  * nand_clk period).
4288  * 
4289  * Field Access Macros:
4290  * 
4291  */
4292 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_PERPLL_EN_NANDXCLK register field. */
4293 #define ALT_CLKMGR_PERPLL_EN_NANDXCLK_LSB        9
4294 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_PERPLL_EN_NANDXCLK register field. */
4295 #define ALT_CLKMGR_PERPLL_EN_NANDXCLK_MSB        9
4296 /* The width in bits of the ALT_CLKMGR_PERPLL_EN_NANDXCLK register field. */
4297 #define ALT_CLKMGR_PERPLL_EN_NANDXCLK_WIDTH      1
4298 /* The mask used to set the ALT_CLKMGR_PERPLL_EN_NANDXCLK register field value. */
4299 #define ALT_CLKMGR_PERPLL_EN_NANDXCLK_SET_MSK    0x00000200
4300 /* The mask used to clear the ALT_CLKMGR_PERPLL_EN_NANDXCLK register field value. */
4301 #define ALT_CLKMGR_PERPLL_EN_NANDXCLK_CLR_MSK    0xfffffdff
4302 /* The reset value of the ALT_CLKMGR_PERPLL_EN_NANDXCLK register field. */
4303 #define ALT_CLKMGR_PERPLL_EN_NANDXCLK_RESET      0x1
4304 /* Extracts the ALT_CLKMGR_PERPLL_EN_NANDXCLK field value from a register. */
4305 #define ALT_CLKMGR_PERPLL_EN_NANDXCLK_GET(value) (((value) & 0x00000200) >> 9)
4306 /* Produces a ALT_CLKMGR_PERPLL_EN_NANDXCLK register field value suitable for setting the register. */
4307 #define ALT_CLKMGR_PERPLL_EN_NANDXCLK_SET(value) (((value) << 9) & 0x00000200)
4308 
4309 /*
4310  * Field : nand_clk Enable - nandclk
4311  * 
4312  * Enables clock nand_clk output
4313  * 
4314  * nand_clk Enable should always be de-asserted before the nand_x_clk Enable, and
4315  * the nand_x_clk Enable should always be asserted before the nand_clk Enable is
4316  * asserted. A brief delay is also required between switching the enables (8 *
4317  * nand_clk period).
4318  * 
4319  * Field Access Macros:
4320  * 
4321  */
4322 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_PERPLL_EN_NANDCLK register field. */
4323 #define ALT_CLKMGR_PERPLL_EN_NANDCLK_LSB        10
4324 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_PERPLL_EN_NANDCLK register field. */
4325 #define ALT_CLKMGR_PERPLL_EN_NANDCLK_MSB        10
4326 /* The width in bits of the ALT_CLKMGR_PERPLL_EN_NANDCLK register field. */
4327 #define ALT_CLKMGR_PERPLL_EN_NANDCLK_WIDTH      1
4328 /* The mask used to set the ALT_CLKMGR_PERPLL_EN_NANDCLK register field value. */
4329 #define ALT_CLKMGR_PERPLL_EN_NANDCLK_SET_MSK    0x00000400
4330 /* The mask used to clear the ALT_CLKMGR_PERPLL_EN_NANDCLK register field value. */
4331 #define ALT_CLKMGR_PERPLL_EN_NANDCLK_CLR_MSK    0xfffffbff
4332 /* The reset value of the ALT_CLKMGR_PERPLL_EN_NANDCLK register field. */
4333 #define ALT_CLKMGR_PERPLL_EN_NANDCLK_RESET      0x1
4334 /* Extracts the ALT_CLKMGR_PERPLL_EN_NANDCLK field value from a register. */
4335 #define ALT_CLKMGR_PERPLL_EN_NANDCLK_GET(value) (((value) & 0x00000400) >> 10)
4336 /* Produces a ALT_CLKMGR_PERPLL_EN_NANDCLK register field value suitable for setting the register. */
4337 #define ALT_CLKMGR_PERPLL_EN_NANDCLK_SET(value) (((value) << 10) & 0x00000400)
4338 
4339 /*
4340  * Field : qspi_clk Enable - qspiclk
4341  * 
4342  * Enables clock qspi_clk output
4343  * 
4344  * Field Access Macros:
4345  * 
4346  */
4347 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_PERPLL_EN_QSPICLK register field. */
4348 #define ALT_CLKMGR_PERPLL_EN_QSPICLK_LSB        11
4349 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_PERPLL_EN_QSPICLK register field. */
4350 #define ALT_CLKMGR_PERPLL_EN_QSPICLK_MSB        11
4351 /* The width in bits of the ALT_CLKMGR_PERPLL_EN_QSPICLK register field. */
4352 #define ALT_CLKMGR_PERPLL_EN_QSPICLK_WIDTH      1
4353 /* The mask used to set the ALT_CLKMGR_PERPLL_EN_QSPICLK register field value. */
4354 #define ALT_CLKMGR_PERPLL_EN_QSPICLK_SET_MSK    0x00000800
4355 /* The mask used to clear the ALT_CLKMGR_PERPLL_EN_QSPICLK register field value. */
4356 #define ALT_CLKMGR_PERPLL_EN_QSPICLK_CLR_MSK    0xfffff7ff
4357 /* The reset value of the ALT_CLKMGR_PERPLL_EN_QSPICLK register field. */
4358 #define ALT_CLKMGR_PERPLL_EN_QSPICLK_RESET      0x1
4359 /* Extracts the ALT_CLKMGR_PERPLL_EN_QSPICLK field value from a register. */
4360 #define ALT_CLKMGR_PERPLL_EN_QSPICLK_GET(value) (((value) & 0x00000800) >> 11)
4361 /* Produces a ALT_CLKMGR_PERPLL_EN_QSPICLK register field value suitable for setting the register. */
4362 #define ALT_CLKMGR_PERPLL_EN_QSPICLK_SET(value) (((value) << 11) & 0x00000800)
4363 
4364 #ifndef __ASSEMBLY__
4365 /*
4366  * WARNING: The C register and register group struct declarations are provided for
4367  * convenience and illustrative purposes. They should, however, be used with
4368  * caution as the C language standard provides no guarantees about the alignment or
4369  * atomicity of device memory accesses. The recommended practice for writing
4370  * hardware drivers is to use the SoCAL access macros and alt_read_word() and
4371  * alt_write_word() functions.
4372  * 
4373  * The struct declaration for register ALT_CLKMGR_PERPLL_EN.
4374  */
4375 struct ALT_CLKMGR_PERPLL_EN_s
4376 {
4377     uint32_t  emac0clk    :  1;  /* emac0_clk Enable */
4378     uint32_t  emac1clk    :  1;  /* emac1_clk Enable */
4379     uint32_t  usbclk      :  1;  /* usb_mp_clk Enable */
4380     uint32_t  spimclk     :  1;  /* spi_m_clk Enable */
4381     uint32_t  can0clk     :  1;  /* can0_clk Enable */
4382     uint32_t  can1clk     :  1;  /* can1_clk Enable */
4383     uint32_t  gpioclk     :  1;  /* gpio_clk Enable */
4384     uint32_t  s2fuser1clk :  1;  /* s2f_user1_clk Enable */
4385     uint32_t  sdmmcclk    :  1;  /* sdmmc_clk Enable */
4386     uint32_t  nandxclk    :  1;  /* nand_x_clk Enable */
4387     uint32_t  nandclk     :  1;  /* nand_clk Enable */
4388     uint32_t  qspiclk     :  1;  /* qspi_clk Enable */
4389     uint32_t              : 20;  /* *UNDEFINED* */
4390 };
4391 
4392 /* The typedef declaration for register ALT_CLKMGR_PERPLL_EN. */
4393 typedef volatile struct ALT_CLKMGR_PERPLL_EN_s  ALT_CLKMGR_PERPLL_EN_t;
4394 #endif  /* __ASSEMBLY__ */
4395 
4396 /* The byte offset of the ALT_CLKMGR_PERPLL_EN register from the beginning of the component. */
4397 #define ALT_CLKMGR_PERPLL_EN_OFST        0x20
4398 
4399 /*
4400  * Register : Divide Register - div
4401  * 
4402  * Contains fields that control clock dividers for clocks derived from the
4403  * Peripheral PLL
4404  * 
4405  * Fields are only reset by a cold reset.
4406  * 
4407  * Register Layout
4408  * 
4409  *  Bits    | Access | Reset | Description             
4410  * :--------|:-------|:------|:-------------------------
4411  *  [2:0]   | RW     | 0x0   | USB Clock Divider       
4412  *  [5:3]   | RW     | 0x0   | SPI Master Clock Divider
4413  *  [8:6]   | RW     | 0x0   | CAN0 Clock Divider      
4414  *  [11:9]  | RW     | 0x0   | CAN1 Clock Divider      
4415  *  [31:12] | ???    | 0x0   | *UNDEFINED*             
4416  * 
4417  */
4418 /*
4419  * Field : USB Clock Divider - usbclk
4420  * 
4421  * The usb_mp_clk is divided down from the periph_base_clk by the value specified
4422  * in this field.
4423  * 
4424  * Field Enumeration Values:
4425  * 
4426  *  Enum                                  | Value | Description 
4427  * :--------------------------------------|:------|:-------------
4428  *  ALT_CLKMGR_PERPLL_DIV_USBCLK_E_DIV1   | 0x0   | Divide By 1 
4429  *  ALT_CLKMGR_PERPLL_DIV_USBCLK_E_DIV2   | 0x1   | Divide By 2 
4430  *  ALT_CLKMGR_PERPLL_DIV_USBCLK_E_DIV4   | 0x2   | Divide By 4 
4431  *  ALT_CLKMGR_PERPLL_DIV_USBCLK_E_DIV8   | 0x3   | Divide By 8 
4432  *  ALT_CLKMGR_PERPLL_DIV_USBCLK_E_DIV16  | 0x4   | Divide By 16
4433  *  ALT_CLKMGR_PERPLL_DIV_USBCLK_E_RSVD_1 | 0x5   | Reserved    
4434  *  ALT_CLKMGR_PERPLL_DIV_USBCLK_E_RSVD_2 | 0x6   | Reserved    
4435  *  ALT_CLKMGR_PERPLL_DIV_USBCLK_E_RSVD_3 | 0x7   | Reserved    
4436  * 
4437  * Field Access Macros:
4438  * 
4439  */
4440 /*
4441  * Enumerated value for register field ALT_CLKMGR_PERPLL_DIV_USBCLK
4442  * 
4443  * Divide By 1
4444  */
4445 #define ALT_CLKMGR_PERPLL_DIV_USBCLK_E_DIV1     0x0
4446 /*
4447  * Enumerated value for register field ALT_CLKMGR_PERPLL_DIV_USBCLK
4448  * 
4449  * Divide By 2
4450  */
4451 #define ALT_CLKMGR_PERPLL_DIV_USBCLK_E_DIV2     0x1
4452 /*
4453  * Enumerated value for register field ALT_CLKMGR_PERPLL_DIV_USBCLK
4454  * 
4455  * Divide By 4
4456  */
4457 #define ALT_CLKMGR_PERPLL_DIV_USBCLK_E_DIV4     0x2
4458 /*
4459  * Enumerated value for register field ALT_CLKMGR_PERPLL_DIV_USBCLK
4460  * 
4461  * Divide By 8
4462  */
4463 #define ALT_CLKMGR_PERPLL_DIV_USBCLK_E_DIV8     0x3
4464 /*
4465  * Enumerated value for register field ALT_CLKMGR_PERPLL_DIV_USBCLK
4466  * 
4467  * Divide By 16
4468  */
4469 #define ALT_CLKMGR_PERPLL_DIV_USBCLK_E_DIV16    0x4
4470 /*
4471  * Enumerated value for register field ALT_CLKMGR_PERPLL_DIV_USBCLK
4472  * 
4473  * Reserved
4474  */
4475 #define ALT_CLKMGR_PERPLL_DIV_USBCLK_E_RSVD_1   0x5
4476 /*
4477  * Enumerated value for register field ALT_CLKMGR_PERPLL_DIV_USBCLK
4478  * 
4479  * Reserved
4480  */
4481 #define ALT_CLKMGR_PERPLL_DIV_USBCLK_E_RSVD_2   0x6
4482 /*
4483  * Enumerated value for register field ALT_CLKMGR_PERPLL_DIV_USBCLK
4484  * 
4485  * Reserved
4486  */
4487 #define ALT_CLKMGR_PERPLL_DIV_USBCLK_E_RSVD_3   0x7
4488 
4489 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_PERPLL_DIV_USBCLK register field. */
4490 #define ALT_CLKMGR_PERPLL_DIV_USBCLK_LSB        0
4491 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_PERPLL_DIV_USBCLK register field. */
4492 #define ALT_CLKMGR_PERPLL_DIV_USBCLK_MSB        2
4493 /* The width in bits of the ALT_CLKMGR_PERPLL_DIV_USBCLK register field. */
4494 #define ALT_CLKMGR_PERPLL_DIV_USBCLK_WIDTH      3
4495 /* The mask used to set the ALT_CLKMGR_PERPLL_DIV_USBCLK register field value. */
4496 #define ALT_CLKMGR_PERPLL_DIV_USBCLK_SET_MSK    0x00000007
4497 /* The mask used to clear the ALT_CLKMGR_PERPLL_DIV_USBCLK register field value. */
4498 #define ALT_CLKMGR_PERPLL_DIV_USBCLK_CLR_MSK    0xfffffff8
4499 /* The reset value of the ALT_CLKMGR_PERPLL_DIV_USBCLK register field. */
4500 #define ALT_CLKMGR_PERPLL_DIV_USBCLK_RESET      0x0
4501 /* Extracts the ALT_CLKMGR_PERPLL_DIV_USBCLK field value from a register. */
4502 #define ALT_CLKMGR_PERPLL_DIV_USBCLK_GET(value) (((value) & 0x00000007) >> 0)
4503 /* Produces a ALT_CLKMGR_PERPLL_DIV_USBCLK register field value suitable for setting the register. */
4504 #define ALT_CLKMGR_PERPLL_DIV_USBCLK_SET(value) (((value) << 0) & 0x00000007)
4505 
4506 /*
4507  * Field : SPI Master Clock Divider - spimclk
4508  * 
4509  * The spi_m_clk is divided down from the periph_base_clk by the value specified in
4510  * this field.
4511  * 
4512  * Field Enumeration Values:
4513  * 
4514  *  Enum                                   | Value | Description 
4515  * :---------------------------------------|:------|:-------------
4516  *  ALT_CLKMGR_PERPLL_DIV_SPIMCLK_E_DIV1   | 0x0   | Divide By 1 
4517  *  ALT_CLKMGR_PERPLL_DIV_SPIMCLK_E_DIV2   | 0x1   | Divide By 2 
4518  *  ALT_CLKMGR_PERPLL_DIV_SPIMCLK_E_DIV4   | 0x2   | Divide By 4 
4519  *  ALT_CLKMGR_PERPLL_DIV_SPIMCLK_E_DIV8   | 0x3   | Divide By 8 
4520  *  ALT_CLKMGR_PERPLL_DIV_SPIMCLK_E_DIV16  | 0x4   | Divide By 16
4521  *  ALT_CLKMGR_PERPLL_DIV_SPIMCLK_E_RSVD_1 | 0x5   | Reserved    
4522  *  ALT_CLKMGR_PERPLL_DIV_SPIMCLK_E_RSVD_2 | 0x6   | Reserved    
4523  *  ALT_CLKMGR_PERPLL_DIV_SPIMCLK_E_RSVD_3 | 0x7   | Reserved    
4524  * 
4525  * Field Access Macros:
4526  * 
4527  */
4528 /*
4529  * Enumerated value for register field ALT_CLKMGR_PERPLL_DIV_SPIMCLK
4530  * 
4531  * Divide By 1
4532  */
4533 #define ALT_CLKMGR_PERPLL_DIV_SPIMCLK_E_DIV1    0x0
4534 /*
4535  * Enumerated value for register field ALT_CLKMGR_PERPLL_DIV_SPIMCLK
4536  * 
4537  * Divide By 2
4538  */
4539 #define ALT_CLKMGR_PERPLL_DIV_SPIMCLK_E_DIV2    0x1
4540 /*
4541  * Enumerated value for register field ALT_CLKMGR_PERPLL_DIV_SPIMCLK
4542  * 
4543  * Divide By 4
4544  */
4545 #define ALT_CLKMGR_PERPLL_DIV_SPIMCLK_E_DIV4    0x2
4546 /*
4547  * Enumerated value for register field ALT_CLKMGR_PERPLL_DIV_SPIMCLK
4548  * 
4549  * Divide By 8
4550  */
4551 #define ALT_CLKMGR_PERPLL_DIV_SPIMCLK_E_DIV8    0x3
4552 /*
4553  * Enumerated value for register field ALT_CLKMGR_PERPLL_DIV_SPIMCLK
4554  * 
4555  * Divide By 16
4556  */
4557 #define ALT_CLKMGR_PERPLL_DIV_SPIMCLK_E_DIV16   0x4
4558 /*
4559  * Enumerated value for register field ALT_CLKMGR_PERPLL_DIV_SPIMCLK
4560  * 
4561  * Reserved
4562  */
4563 #define ALT_CLKMGR_PERPLL_DIV_SPIMCLK_E_RSVD_1  0x5
4564 /*
4565  * Enumerated value for register field ALT_CLKMGR_PERPLL_DIV_SPIMCLK
4566  * 
4567  * Reserved
4568  */
4569 #define ALT_CLKMGR_PERPLL_DIV_SPIMCLK_E_RSVD_2  0x6
4570 /*
4571  * Enumerated value for register field ALT_CLKMGR_PERPLL_DIV_SPIMCLK
4572  * 
4573  * Reserved
4574  */
4575 #define ALT_CLKMGR_PERPLL_DIV_SPIMCLK_E_RSVD_3  0x7
4576 
4577 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_PERPLL_DIV_SPIMCLK register field. */
4578 #define ALT_CLKMGR_PERPLL_DIV_SPIMCLK_LSB        3
4579 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_PERPLL_DIV_SPIMCLK register field. */
4580 #define ALT_CLKMGR_PERPLL_DIV_SPIMCLK_MSB        5
4581 /* The width in bits of the ALT_CLKMGR_PERPLL_DIV_SPIMCLK register field. */
4582 #define ALT_CLKMGR_PERPLL_DIV_SPIMCLK_WIDTH      3
4583 /* The mask used to set the ALT_CLKMGR_PERPLL_DIV_SPIMCLK register field value. */
4584 #define ALT_CLKMGR_PERPLL_DIV_SPIMCLK_SET_MSK    0x00000038
4585 /* The mask used to clear the ALT_CLKMGR_PERPLL_DIV_SPIMCLK register field value. */
4586 #define ALT_CLKMGR_PERPLL_DIV_SPIMCLK_CLR_MSK    0xffffffc7
4587 /* The reset value of the ALT_CLKMGR_PERPLL_DIV_SPIMCLK register field. */
4588 #define ALT_CLKMGR_PERPLL_DIV_SPIMCLK_RESET      0x0
4589 /* Extracts the ALT_CLKMGR_PERPLL_DIV_SPIMCLK field value from a register. */
4590 #define ALT_CLKMGR_PERPLL_DIV_SPIMCLK_GET(value) (((value) & 0x00000038) >> 3)
4591 /* Produces a ALT_CLKMGR_PERPLL_DIV_SPIMCLK register field value suitable for setting the register. */
4592 #define ALT_CLKMGR_PERPLL_DIV_SPIMCLK_SET(value) (((value) << 3) & 0x00000038)
4593 
4594 /*
4595  * Field : CAN0 Clock Divider - can0clk
4596  * 
4597  * The can0_clk is divided down from the periph_base_clk by the value specified in
4598  * this field.
4599  * 
4600  * Field Enumeration Values:
4601  * 
4602  *  Enum                                   | Value | Description 
4603  * :---------------------------------------|:------|:-------------
4604  *  ALT_CLKMGR_PERPLL_DIV_CAN0CLK_E_DIV1   | 0x0   | Divide By 1 
4605  *  ALT_CLKMGR_PERPLL_DIV_CAN0CLK_E_DIV2   | 0x1   | Divide By 2 
4606  *  ALT_CLKMGR_PERPLL_DIV_CAN0CLK_E_DIV4   | 0x2   | Divide By 4 
4607  *  ALT_CLKMGR_PERPLL_DIV_CAN0CLK_E_DIV8   | 0x3   | Divide By 8 
4608  *  ALT_CLKMGR_PERPLL_DIV_CAN0CLK_E_DIV16  | 0x4   | Divide By 16
4609  *  ALT_CLKMGR_PERPLL_DIV_CAN0CLK_E_RSVD_1 | 0x5   | Reserved    
4610  *  ALT_CLKMGR_PERPLL_DIV_CAN0CLK_E_RSVD_2 | 0x6   | Reserved    
4611  *  ALT_CLKMGR_PERPLL_DIV_CAN0CLK_E_RSVD_3 | 0x7   | Reserved    
4612  * 
4613  * Field Access Macros:
4614  * 
4615  */
4616 /*
4617  * Enumerated value for register field ALT_CLKMGR_PERPLL_DIV_CAN0CLK
4618  * 
4619  * Divide By 1
4620  */
4621 #define ALT_CLKMGR_PERPLL_DIV_CAN0CLK_E_DIV1    0x0
4622 /*
4623  * Enumerated value for register field ALT_CLKMGR_PERPLL_DIV_CAN0CLK
4624  * 
4625  * Divide By 2
4626  */
4627 #define ALT_CLKMGR_PERPLL_DIV_CAN0CLK_E_DIV2    0x1
4628 /*
4629  * Enumerated value for register field ALT_CLKMGR_PERPLL_DIV_CAN0CLK
4630  * 
4631  * Divide By 4
4632  */
4633 #define ALT_CLKMGR_PERPLL_DIV_CAN0CLK_E_DIV4    0x2
4634 /*
4635  * Enumerated value for register field ALT_CLKMGR_PERPLL_DIV_CAN0CLK
4636  * 
4637  * Divide By 8
4638  */
4639 #define ALT_CLKMGR_PERPLL_DIV_CAN0CLK_E_DIV8    0x3
4640 /*
4641  * Enumerated value for register field ALT_CLKMGR_PERPLL_DIV_CAN0CLK
4642  * 
4643  * Divide By 16
4644  */
4645 #define ALT_CLKMGR_PERPLL_DIV_CAN0CLK_E_DIV16   0x4
4646 /*
4647  * Enumerated value for register field ALT_CLKMGR_PERPLL_DIV_CAN0CLK
4648  * 
4649  * Reserved
4650  */
4651 #define ALT_CLKMGR_PERPLL_DIV_CAN0CLK_E_RSVD_1  0x5
4652 /*
4653  * Enumerated value for register field ALT_CLKMGR_PERPLL_DIV_CAN0CLK
4654  * 
4655  * Reserved
4656  */
4657 #define ALT_CLKMGR_PERPLL_DIV_CAN0CLK_E_RSVD_2  0x6
4658 /*
4659  * Enumerated value for register field ALT_CLKMGR_PERPLL_DIV_CAN0CLK
4660  * 
4661  * Reserved
4662  */
4663 #define ALT_CLKMGR_PERPLL_DIV_CAN0CLK_E_RSVD_3  0x7
4664 
4665 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_PERPLL_DIV_CAN0CLK register field. */
4666 #define ALT_CLKMGR_PERPLL_DIV_CAN0CLK_LSB        6
4667 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_PERPLL_DIV_CAN0CLK register field. */
4668 #define ALT_CLKMGR_PERPLL_DIV_CAN0CLK_MSB        8
4669 /* The width in bits of the ALT_CLKMGR_PERPLL_DIV_CAN0CLK register field. */
4670 #define ALT_CLKMGR_PERPLL_DIV_CAN0CLK_WIDTH      3
4671 /* The mask used to set the ALT_CLKMGR_PERPLL_DIV_CAN0CLK register field value. */
4672 #define ALT_CLKMGR_PERPLL_DIV_CAN0CLK_SET_MSK    0x000001c0
4673 /* The mask used to clear the ALT_CLKMGR_PERPLL_DIV_CAN0CLK register field value. */
4674 #define ALT_CLKMGR_PERPLL_DIV_CAN0CLK_CLR_MSK    0xfffffe3f
4675 /* The reset value of the ALT_CLKMGR_PERPLL_DIV_CAN0CLK register field. */
4676 #define ALT_CLKMGR_PERPLL_DIV_CAN0CLK_RESET      0x0
4677 /* Extracts the ALT_CLKMGR_PERPLL_DIV_CAN0CLK field value from a register. */
4678 #define ALT_CLKMGR_PERPLL_DIV_CAN0CLK_GET(value) (((value) & 0x000001c0) >> 6)
4679 /* Produces a ALT_CLKMGR_PERPLL_DIV_CAN0CLK register field value suitable for setting the register. */
4680 #define ALT_CLKMGR_PERPLL_DIV_CAN0CLK_SET(value) (((value) << 6) & 0x000001c0)
4681 
4682 /*
4683  * Field : CAN1 Clock Divider - can1clk
4684  * 
4685  * The can1_clk is divided down from the periph_base_clk by the value specified in
4686  * this field.
4687  * 
4688  * Field Enumeration Values:
4689  * 
4690  *  Enum                                   | Value | Description 
4691  * :---------------------------------------|:------|:-------------
4692  *  ALT_CLKMGR_PERPLL_DIV_CAN1CLK_E_DIV1   | 0x0   | Divide By 1 
4693  *  ALT_CLKMGR_PERPLL_DIV_CAN1CLK_E_DIV2   | 0x1   | Divide By 2 
4694  *  ALT_CLKMGR_PERPLL_DIV_CAN1CLK_E_DIV4   | 0x2   | Divide By 4 
4695  *  ALT_CLKMGR_PERPLL_DIV_CAN1CLK_E_DIV8   | 0x3   | Divide By 8 
4696  *  ALT_CLKMGR_PERPLL_DIV_CAN1CLK_E_DIV16  | 0x4   | Divide By 16
4697  *  ALT_CLKMGR_PERPLL_DIV_CAN1CLK_E_RSVD_1 | 0x5   | Reserved    
4698  *  ALT_CLKMGR_PERPLL_DIV_CAN1CLK_E_RSVD_2 | 0x6   | Reserved    
4699  *  ALT_CLKMGR_PERPLL_DIV_CAN1CLK_E_RSVD_3 | 0x7   | Reserved    
4700  * 
4701  * Field Access Macros:
4702  * 
4703  */
4704 /*
4705  * Enumerated value for register field ALT_CLKMGR_PERPLL_DIV_CAN1CLK
4706  * 
4707  * Divide By 1
4708  */
4709 #define ALT_CLKMGR_PERPLL_DIV_CAN1CLK_E_DIV1    0x0
4710 /*
4711  * Enumerated value for register field ALT_CLKMGR_PERPLL_DIV_CAN1CLK
4712  * 
4713  * Divide By 2
4714  */
4715 #define ALT_CLKMGR_PERPLL_DIV_CAN1CLK_E_DIV2    0x1
4716 /*
4717  * Enumerated value for register field ALT_CLKMGR_PERPLL_DIV_CAN1CLK
4718  * 
4719  * Divide By 4
4720  */
4721 #define ALT_CLKMGR_PERPLL_DIV_CAN1CLK_E_DIV4    0x2
4722 /*
4723  * Enumerated value for register field ALT_CLKMGR_PERPLL_DIV_CAN1CLK
4724  * 
4725  * Divide By 8
4726  */
4727 #define ALT_CLKMGR_PERPLL_DIV_CAN1CLK_E_DIV8    0x3
4728 /*
4729  * Enumerated value for register field ALT_CLKMGR_PERPLL_DIV_CAN1CLK
4730  * 
4731  * Divide By 16
4732  */
4733 #define ALT_CLKMGR_PERPLL_DIV_CAN1CLK_E_DIV16   0x4
4734 /*
4735  * Enumerated value for register field ALT_CLKMGR_PERPLL_DIV_CAN1CLK
4736  * 
4737  * Reserved
4738  */
4739 #define ALT_CLKMGR_PERPLL_DIV_CAN1CLK_E_RSVD_1  0x5
4740 /*
4741  * Enumerated value for register field ALT_CLKMGR_PERPLL_DIV_CAN1CLK
4742  * 
4743  * Reserved
4744  */
4745 #define ALT_CLKMGR_PERPLL_DIV_CAN1CLK_E_RSVD_2  0x6
4746 /*
4747  * Enumerated value for register field ALT_CLKMGR_PERPLL_DIV_CAN1CLK
4748  * 
4749  * Reserved
4750  */
4751 #define ALT_CLKMGR_PERPLL_DIV_CAN1CLK_E_RSVD_3  0x7
4752 
4753 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_PERPLL_DIV_CAN1CLK register field. */
4754 #define ALT_CLKMGR_PERPLL_DIV_CAN1CLK_LSB        9
4755 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_PERPLL_DIV_CAN1CLK register field. */
4756 #define ALT_CLKMGR_PERPLL_DIV_CAN1CLK_MSB        11
4757 /* The width in bits of the ALT_CLKMGR_PERPLL_DIV_CAN1CLK register field. */
4758 #define ALT_CLKMGR_PERPLL_DIV_CAN1CLK_WIDTH      3
4759 /* The mask used to set the ALT_CLKMGR_PERPLL_DIV_CAN1CLK register field value. */
4760 #define ALT_CLKMGR_PERPLL_DIV_CAN1CLK_SET_MSK    0x00000e00
4761 /* The mask used to clear the ALT_CLKMGR_PERPLL_DIV_CAN1CLK register field value. */
4762 #define ALT_CLKMGR_PERPLL_DIV_CAN1CLK_CLR_MSK    0xfffff1ff
4763 /* The reset value of the ALT_CLKMGR_PERPLL_DIV_CAN1CLK register field. */
4764 #define ALT_CLKMGR_PERPLL_DIV_CAN1CLK_RESET      0x0
4765 /* Extracts the ALT_CLKMGR_PERPLL_DIV_CAN1CLK field value from a register. */
4766 #define ALT_CLKMGR_PERPLL_DIV_CAN1CLK_GET(value) (((value) & 0x00000e00) >> 9)
4767 /* Produces a ALT_CLKMGR_PERPLL_DIV_CAN1CLK register field value suitable for setting the register. */
4768 #define ALT_CLKMGR_PERPLL_DIV_CAN1CLK_SET(value) (((value) << 9) & 0x00000e00)
4769 
4770 #ifndef __ASSEMBLY__
4771 /*
4772  * WARNING: The C register and register group struct declarations are provided for
4773  * convenience and illustrative purposes. They should, however, be used with
4774  * caution as the C language standard provides no guarantees about the alignment or
4775  * atomicity of device memory accesses. The recommended practice for writing
4776  * hardware drivers is to use the SoCAL access macros and alt_read_word() and
4777  * alt_write_word() functions.
4778  * 
4779  * The struct declaration for register ALT_CLKMGR_PERPLL_DIV.
4780  */
4781 struct ALT_CLKMGR_PERPLL_DIV_s
4782 {
4783     uint32_t  usbclk  :  3;  /* USB Clock Divider */
4784     uint32_t  spimclk :  3;  /* SPI Master Clock Divider */
4785     uint32_t  can0clk :  3;  /* CAN0 Clock Divider */
4786     uint32_t  can1clk :  3;  /* CAN1 Clock Divider */
4787     uint32_t          : 20;  /* *UNDEFINED* */
4788 };
4789 
4790 /* The typedef declaration for register ALT_CLKMGR_PERPLL_DIV. */
4791 typedef volatile struct ALT_CLKMGR_PERPLL_DIV_s  ALT_CLKMGR_PERPLL_DIV_t;
4792 #endif  /* __ASSEMBLY__ */
4793 
4794 /* The byte offset of the ALT_CLKMGR_PERPLL_DIV register from the beginning of the component. */
4795 #define ALT_CLKMGR_PERPLL_DIV_OFST        0x24
4796 
4797 /*
4798  * Register : GPIO Divide Register - gpiodiv
4799  * 
4800  * Contains a field that controls the clock divider for the GPIO De-bounce clock.
4801  * 
4802  * Only reset by a cold reset.
4803  * 
4804  * Register Layout
4805  * 
4806  *  Bits    | Access | Reset | Description                 
4807  * :--------|:-------|:------|:-----------------------------
4808  *  [23:0]  | RW     | 0x1   | GPIO De-bounce Clock Divider
4809  *  [31:24] | ???    | 0x0   | *UNDEFINED*                 
4810  * 
4811  */
4812 /*
4813  * Field : GPIO De-bounce Clock Divider - gpiodbclk
4814  * 
4815  * The gpio_db_clk is divided down from the periph_base_clk by the value plus one
4816  * specified in this field. The value 0 (divide by 1) is illegal. A value of 1
4817  * indicates divide by 2, 2 divide by 3, etc.
4818  * 
4819  * Field Access Macros:
4820  * 
4821  */
4822 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_PERPLL_GPIODIV_GPIODBCLK register field. */
4823 #define ALT_CLKMGR_PERPLL_GPIODIV_GPIODBCLK_LSB        0
4824 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_PERPLL_GPIODIV_GPIODBCLK register field. */
4825 #define ALT_CLKMGR_PERPLL_GPIODIV_GPIODBCLK_MSB        23
4826 /* The width in bits of the ALT_CLKMGR_PERPLL_GPIODIV_GPIODBCLK register field. */
4827 #define ALT_CLKMGR_PERPLL_GPIODIV_GPIODBCLK_WIDTH      24
4828 /* The mask used to set the ALT_CLKMGR_PERPLL_GPIODIV_GPIODBCLK register field value. */
4829 #define ALT_CLKMGR_PERPLL_GPIODIV_GPIODBCLK_SET_MSK    0x00ffffff
4830 /* The mask used to clear the ALT_CLKMGR_PERPLL_GPIODIV_GPIODBCLK register field value. */
4831 #define ALT_CLKMGR_PERPLL_GPIODIV_GPIODBCLK_CLR_MSK    0xff000000
4832 /* The reset value of the ALT_CLKMGR_PERPLL_GPIODIV_GPIODBCLK register field. */
4833 #define ALT_CLKMGR_PERPLL_GPIODIV_GPIODBCLK_RESET      0x1
4834 /* Extracts the ALT_CLKMGR_PERPLL_GPIODIV_GPIODBCLK field value from a register. */
4835 #define ALT_CLKMGR_PERPLL_GPIODIV_GPIODBCLK_GET(value) (((value) & 0x00ffffff) >> 0)
4836 /* Produces a ALT_CLKMGR_PERPLL_GPIODIV_GPIODBCLK register field value suitable for setting the register. */
4837 #define ALT_CLKMGR_PERPLL_GPIODIV_GPIODBCLK_SET(value) (((value) << 0) & 0x00ffffff)
4838 
4839 #ifndef __ASSEMBLY__
4840 /*
4841  * WARNING: The C register and register group struct declarations are provided for
4842  * convenience and illustrative purposes. They should, however, be used with
4843  * caution as the C language standard provides no guarantees about the alignment or
4844  * atomicity of device memory accesses. The recommended practice for writing
4845  * hardware drivers is to use the SoCAL access macros and alt_read_word() and
4846  * alt_write_word() functions.
4847  * 
4848  * The struct declaration for register ALT_CLKMGR_PERPLL_GPIODIV.
4849  */
4850 struct ALT_CLKMGR_PERPLL_GPIODIV_s
4851 {
4852     uint32_t  gpiodbclk : 24;  /* GPIO De-bounce Clock Divider */
4853     uint32_t            :  8;  /* *UNDEFINED* */
4854 };
4855 
4856 /* The typedef declaration for register ALT_CLKMGR_PERPLL_GPIODIV. */
4857 typedef volatile struct ALT_CLKMGR_PERPLL_GPIODIV_s  ALT_CLKMGR_PERPLL_GPIODIV_t;
4858 #endif  /* __ASSEMBLY__ */
4859 
4860 /* The byte offset of the ALT_CLKMGR_PERPLL_GPIODIV register from the beginning of the component. */
4861 #define ALT_CLKMGR_PERPLL_GPIODIV_OFST        0x28
4862 
4863 /*
4864  * Register : Flash Clock Source Register - src
4865  * 
4866  * Contains fields that select the source clocks for the flash controllers.
4867  * 
4868  * Fields are only reset by a cold reset.
4869  * 
4870  * Register Layout
4871  * 
4872  *  Bits   | Access | Reset | Description       
4873  * :-------|:-------|:------|:-------------------
4874  *  [1:0]  | RW     | 0x1   | SDMMC Clock Source
4875  *  [3:2]  | RW     | 0x1   | NAND Clock Source 
4876  *  [5:4]  | RW     | 0x1   | QSPI Clock Source 
4877  *  [31:6] | ???    | 0x0   | *UNDEFINED*       
4878  * 
4879  */
4880 /*
4881  * Field : SDMMC Clock Source - sdmmc
4882  * 
4883  * Selects the source clock for the SDMMC.
4884  * 
4885  * Qsys and user documenation refer to f2s_periph_ref_clk as f2h_periph_ref_clk.
4886  * 
4887  * Field Enumeration Values:
4888  * 
4889  *  Enum                                             | Value | Description          
4890  * :-------------------------------------------------|:------|:----------------------
4891  *  ALT_CLKMGR_PERPLL_SRC_SDMMC_E_F2S_PERIPH_REF_CLK | 0x0   | f2s_periph_ref_clk   
4892  *  ALT_CLKMGR_PERPLL_SRC_SDMMC_E_MAIN_NAND_CLK      | 0x1   | main_nand_sdmmc_clk  
4893  *  ALT_CLKMGR_PERPLL_SRC_SDMMC_E_PERIPH_NAND_CLK    | 0x2   | periph_nand_sdmmc_clk
4894  * 
4895  * Field Access Macros:
4896  * 
4897  */
4898 /*
4899  * Enumerated value for register field ALT_CLKMGR_PERPLL_SRC_SDMMC
4900  * 
4901  * f2s_periph_ref_clk
4902  */
4903 #define ALT_CLKMGR_PERPLL_SRC_SDMMC_E_F2S_PERIPH_REF_CLK    0x0
4904 /*
4905  * Enumerated value for register field ALT_CLKMGR_PERPLL_SRC_SDMMC
4906  * 
4907  * main_nand_sdmmc_clk
4908  */
4909 #define ALT_CLKMGR_PERPLL_SRC_SDMMC_E_MAIN_NAND_CLK         0x1
4910 /*
4911  * Enumerated value for register field ALT_CLKMGR_PERPLL_SRC_SDMMC
4912  * 
4913  * periph_nand_sdmmc_clk
4914  */
4915 #define ALT_CLKMGR_PERPLL_SRC_SDMMC_E_PERIPH_NAND_CLK       0x2
4916 
4917 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_PERPLL_SRC_SDMMC register field. */
4918 #define ALT_CLKMGR_PERPLL_SRC_SDMMC_LSB        0
4919 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_PERPLL_SRC_SDMMC register field. */
4920 #define ALT_CLKMGR_PERPLL_SRC_SDMMC_MSB        1
4921 /* The width in bits of the ALT_CLKMGR_PERPLL_SRC_SDMMC register field. */
4922 #define ALT_CLKMGR_PERPLL_SRC_SDMMC_WIDTH      2
4923 /* The mask used to set the ALT_CLKMGR_PERPLL_SRC_SDMMC register field value. */
4924 #define ALT_CLKMGR_PERPLL_SRC_SDMMC_SET_MSK    0x00000003
4925 /* The mask used to clear the ALT_CLKMGR_PERPLL_SRC_SDMMC register field value. */
4926 #define ALT_CLKMGR_PERPLL_SRC_SDMMC_CLR_MSK    0xfffffffc
4927 /* The reset value of the ALT_CLKMGR_PERPLL_SRC_SDMMC register field. */
4928 #define ALT_CLKMGR_PERPLL_SRC_SDMMC_RESET      0x1
4929 /* Extracts the ALT_CLKMGR_PERPLL_SRC_SDMMC field value from a register. */
4930 #define ALT_CLKMGR_PERPLL_SRC_SDMMC_GET(value) (((value) & 0x00000003) >> 0)
4931 /* Produces a ALT_CLKMGR_PERPLL_SRC_SDMMC register field value suitable for setting the register. */
4932 #define ALT_CLKMGR_PERPLL_SRC_SDMMC_SET(value) (((value) << 0) & 0x00000003)
4933 
4934 /*
4935  * Field : NAND Clock Source - nand
4936  * 
4937  * Selects the source clock for the NAND.
4938  * 
4939  * Qsys and user documenation refer to f2s_periph_ref_clk as f2h_periph_ref_clk.
4940  * 
4941  * Field Enumeration Values:
4942  * 
4943  *  Enum                                            | Value | Description          
4944  * :------------------------------------------------|:------|:----------------------
4945  *  ALT_CLKMGR_PERPLL_SRC_NAND_E_F2S_PERIPH_REF_CLK | 0x0   | f2s_periph_ref_clk   
4946  *  ALT_CLKMGR_PERPLL_SRC_NAND_E_MAIN_NAND_CLK      | 0x1   | main_nand_sdmmc_clk  
4947  *  ALT_CLKMGR_PERPLL_SRC_NAND_E_PERIPH_NAND_CLK    | 0x2   | periph_nand_sdmmc_clk
4948  * 
4949  * Field Access Macros:
4950  * 
4951  */
4952 /*
4953  * Enumerated value for register field ALT_CLKMGR_PERPLL_SRC_NAND
4954  * 
4955  * f2s_periph_ref_clk
4956  */
4957 #define ALT_CLKMGR_PERPLL_SRC_NAND_E_F2S_PERIPH_REF_CLK 0x0
4958 /*
4959  * Enumerated value for register field ALT_CLKMGR_PERPLL_SRC_NAND
4960  * 
4961  * main_nand_sdmmc_clk
4962  */
4963 #define ALT_CLKMGR_PERPLL_SRC_NAND_E_MAIN_NAND_CLK      0x1
4964 /*
4965  * Enumerated value for register field ALT_CLKMGR_PERPLL_SRC_NAND
4966  * 
4967  * periph_nand_sdmmc_clk
4968  */
4969 #define ALT_CLKMGR_PERPLL_SRC_NAND_E_PERIPH_NAND_CLK    0x2
4970 
4971 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_PERPLL_SRC_NAND register field. */
4972 #define ALT_CLKMGR_PERPLL_SRC_NAND_LSB        2
4973 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_PERPLL_SRC_NAND register field. */
4974 #define ALT_CLKMGR_PERPLL_SRC_NAND_MSB        3
4975 /* The width in bits of the ALT_CLKMGR_PERPLL_SRC_NAND register field. */
4976 #define ALT_CLKMGR_PERPLL_SRC_NAND_WIDTH      2
4977 /* The mask used to set the ALT_CLKMGR_PERPLL_SRC_NAND register field value. */
4978 #define ALT_CLKMGR_PERPLL_SRC_NAND_SET_MSK    0x0000000c
4979 /* The mask used to clear the ALT_CLKMGR_PERPLL_SRC_NAND register field value. */
4980 #define ALT_CLKMGR_PERPLL_SRC_NAND_CLR_MSK    0xfffffff3
4981 /* The reset value of the ALT_CLKMGR_PERPLL_SRC_NAND register field. */
4982 #define ALT_CLKMGR_PERPLL_SRC_NAND_RESET      0x1
4983 /* Extracts the ALT_CLKMGR_PERPLL_SRC_NAND field value from a register. */
4984 #define ALT_CLKMGR_PERPLL_SRC_NAND_GET(value) (((value) & 0x0000000c) >> 2)
4985 /* Produces a ALT_CLKMGR_PERPLL_SRC_NAND register field value suitable for setting the register. */
4986 #define ALT_CLKMGR_PERPLL_SRC_NAND_SET(value) (((value) << 2) & 0x0000000c)
4987 
4988 /*
4989  * Field : QSPI Clock Source - qspi
4990  * 
4991  * Selects the source clock for the QSPI.
4992  * 
4993  * Qsys and user documenation refer to f2s_periph_ref_clk as f2h_periph_ref_clk.
4994  * 
4995  * Field Enumeration Values:
4996  * 
4997  *  Enum                                            | Value | Description       
4998  * :------------------------------------------------|:------|:-------------------
4999  *  ALT_CLKMGR_PERPLL_SRC_QSPI_E_F2S_PERIPH_REF_CLK | 0x0   | f2s_periph_ref_clk
5000  *  ALT_CLKMGR_PERPLL_SRC_QSPI_E_MAIN_QSPI_CLK      | 0x1   | main_qspi_clk     
5001  *  ALT_CLKMGR_PERPLL_SRC_QSPI_E_PERIPH_QSPI_CLK    | 0x2   | periph_qspi_clk   
5002  * 
5003  * Field Access Macros:
5004  * 
5005  */
5006 /*
5007  * Enumerated value for register field ALT_CLKMGR_PERPLL_SRC_QSPI
5008  * 
5009  * f2s_periph_ref_clk
5010  */
5011 #define ALT_CLKMGR_PERPLL_SRC_QSPI_E_F2S_PERIPH_REF_CLK 0x0
5012 /*
5013  * Enumerated value for register field ALT_CLKMGR_PERPLL_SRC_QSPI
5014  * 
5015  * main_qspi_clk
5016  */
5017 #define ALT_CLKMGR_PERPLL_SRC_QSPI_E_MAIN_QSPI_CLK      0x1
5018 /*
5019  * Enumerated value for register field ALT_CLKMGR_PERPLL_SRC_QSPI
5020  * 
5021  * periph_qspi_clk
5022  */
5023 #define ALT_CLKMGR_PERPLL_SRC_QSPI_E_PERIPH_QSPI_CLK    0x2
5024 
5025 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_PERPLL_SRC_QSPI register field. */
5026 #define ALT_CLKMGR_PERPLL_SRC_QSPI_LSB        4
5027 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_PERPLL_SRC_QSPI register field. */
5028 #define ALT_CLKMGR_PERPLL_SRC_QSPI_MSB        5
5029 /* The width in bits of the ALT_CLKMGR_PERPLL_SRC_QSPI register field. */
5030 #define ALT_CLKMGR_PERPLL_SRC_QSPI_WIDTH      2
5031 /* The mask used to set the ALT_CLKMGR_PERPLL_SRC_QSPI register field value. */
5032 #define ALT_CLKMGR_PERPLL_SRC_QSPI_SET_MSK    0x00000030
5033 /* The mask used to clear the ALT_CLKMGR_PERPLL_SRC_QSPI register field value. */
5034 #define ALT_CLKMGR_PERPLL_SRC_QSPI_CLR_MSK    0xffffffcf
5035 /* The reset value of the ALT_CLKMGR_PERPLL_SRC_QSPI register field. */
5036 #define ALT_CLKMGR_PERPLL_SRC_QSPI_RESET      0x1
5037 /* Extracts the ALT_CLKMGR_PERPLL_SRC_QSPI field value from a register. */
5038 #define ALT_CLKMGR_PERPLL_SRC_QSPI_GET(value) (((value) & 0x00000030) >> 4)
5039 /* Produces a ALT_CLKMGR_PERPLL_SRC_QSPI register field value suitable for setting the register. */
5040 #define ALT_CLKMGR_PERPLL_SRC_QSPI_SET(value) (((value) << 4) & 0x00000030)
5041 
5042 #ifndef __ASSEMBLY__
5043 /*
5044  * WARNING: The C register and register group struct declarations are provided for
5045  * convenience and illustrative purposes. They should, however, be used with
5046  * caution as the C language standard provides no guarantees about the alignment or
5047  * atomicity of device memory accesses. The recommended practice for writing
5048  * hardware drivers is to use the SoCAL access macros and alt_read_word() and
5049  * alt_write_word() functions.
5050  * 
5051  * The struct declaration for register ALT_CLKMGR_PERPLL_SRC.
5052  */
5053 struct ALT_CLKMGR_PERPLL_SRC_s
5054 {
5055     uint32_t  sdmmc :  2;  /* SDMMC Clock Source */
5056     uint32_t  nand  :  2;  /* NAND Clock Source */
5057     uint32_t  qspi  :  2;  /* QSPI Clock Source */
5058     uint32_t        : 26;  /* *UNDEFINED* */
5059 };
5060 
5061 /* The typedef declaration for register ALT_CLKMGR_PERPLL_SRC. */
5062 typedef volatile struct ALT_CLKMGR_PERPLL_SRC_s  ALT_CLKMGR_PERPLL_SRC_t;
5063 #endif  /* __ASSEMBLY__ */
5064 
5065 /* The byte offset of the ALT_CLKMGR_PERPLL_SRC register from the beginning of the component. */
5066 #define ALT_CLKMGR_PERPLL_SRC_OFST        0x2c
5067 
5068 /*
5069  * Register : Peripheral PLL Output Counter Reset Ack Status Register - stat
5070  * 
5071  * Contains Output Clock Counter Reset acknowledge status.
5072  * 
5073  * Register Layout
5074  * 
5075  *  Bits   | Access | Reset | Description                     
5076  * :-------|:-------|:------|:---------------------------------
5077  *  [5:0]  | R      | 0x0   | Output Counter Reset Acknowledge
5078  *  [31:6] | ???    | 0x0   | *UNDEFINED*                     
5079  * 
5080  */
5081 /*
5082  * Field : Output Counter Reset Acknowledge - outresetack
5083  * 
5084  * These read only bits per PLL output indicate that the PLL has received the
5085  * Output Reset Counter request and has gracefully stopped the respective PLL
5086  * output clock.
5087  * 
5088  * For software to change the PLL output counter without producing glitches on the
5089  * respective clock, SW must set the VCO register respective Output Counter Reset
5090  * bit. Software then polls the respective Output Counter Reset Acknowledge bit in
5091  * the Output Counter Reset Ack Status Register. Software then writes the
5092  * appropriate counter register, and then clears the respective VCO register Output
5093  * Counter Reset bit.
5094  * 
5095  * The reset value of this bit is applied on a cold reset; warm reset has no affect
5096  * on this bit.
5097  * 
5098  * Field Enumeration Values:
5099  * 
5100  *  Enum                                       | Value | Description                         
5101  * :-------------------------------------------|:------|:-------------------------------------
5102  *  ALT_CLKMGR_PERPLL_STAT_OUTRSTACK_E_IDLE    | 0x0   | Idle                                
5103  *  ALT_CLKMGR_PERPLL_STAT_OUTRSTACK_E_ACK_RXD | 0x1   | Output Counter Acknowledge received.
5104  * 
5105  * Field Access Macros:
5106  * 
5107  */
5108 /*
5109  * Enumerated value for register field ALT_CLKMGR_PERPLL_STAT_OUTRSTACK
5110  * 
5111  * Idle
5112  */
5113 #define ALT_CLKMGR_PERPLL_STAT_OUTRSTACK_E_IDLE     0x0
5114 /*
5115  * Enumerated value for register field ALT_CLKMGR_PERPLL_STAT_OUTRSTACK
5116  * 
5117  * Output Counter Acknowledge received.
5118  */
5119 #define ALT_CLKMGR_PERPLL_STAT_OUTRSTACK_E_ACK_RXD  0x1
5120 
5121 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_PERPLL_STAT_OUTRSTACK register field. */
5122 #define ALT_CLKMGR_PERPLL_STAT_OUTRSTACK_LSB        0
5123 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_PERPLL_STAT_OUTRSTACK register field. */
5124 #define ALT_CLKMGR_PERPLL_STAT_OUTRSTACK_MSB        5
5125 /* The width in bits of the ALT_CLKMGR_PERPLL_STAT_OUTRSTACK register field. */
5126 #define ALT_CLKMGR_PERPLL_STAT_OUTRSTACK_WIDTH      6
5127 /* The mask used to set the ALT_CLKMGR_PERPLL_STAT_OUTRSTACK register field value. */
5128 #define ALT_CLKMGR_PERPLL_STAT_OUTRSTACK_SET_MSK    0x0000003f
5129 /* The mask used to clear the ALT_CLKMGR_PERPLL_STAT_OUTRSTACK register field value. */
5130 #define ALT_CLKMGR_PERPLL_STAT_OUTRSTACK_CLR_MSK    0xffffffc0
5131 /* The reset value of the ALT_CLKMGR_PERPLL_STAT_OUTRSTACK register field. */
5132 #define ALT_CLKMGR_PERPLL_STAT_OUTRSTACK_RESET      0x0
5133 /* Extracts the ALT_CLKMGR_PERPLL_STAT_OUTRSTACK field value from a register. */
5134 #define ALT_CLKMGR_PERPLL_STAT_OUTRSTACK_GET(value) (((value) & 0x0000003f) >> 0)
5135 /* Produces a ALT_CLKMGR_PERPLL_STAT_OUTRSTACK register field value suitable for setting the register. */
5136 #define ALT_CLKMGR_PERPLL_STAT_OUTRSTACK_SET(value) (((value) << 0) & 0x0000003f)
5137 
5138 #ifndef __ASSEMBLY__
5139 /*
5140  * WARNING: The C register and register group struct declarations are provided for
5141  * convenience and illustrative purposes. They should, however, be used with
5142  * caution as the C language standard provides no guarantees about the alignment or
5143  * atomicity of device memory accesses. The recommended practice for writing
5144  * hardware drivers is to use the SoCAL access macros and alt_read_word() and
5145  * alt_write_word() functions.
5146  * 
5147  * The struct declaration for register ALT_CLKMGR_PERPLL_STAT.
5148  */
5149 struct ALT_CLKMGR_PERPLL_STAT_s
5150 {
5151     const uint32_t  outresetack :  6;  /* Output Counter Reset Acknowledge */
5152     uint32_t                    : 26;  /* *UNDEFINED* */
5153 };
5154 
5155 /* The typedef declaration for register ALT_CLKMGR_PERPLL_STAT. */
5156 typedef volatile struct ALT_CLKMGR_PERPLL_STAT_s  ALT_CLKMGR_PERPLL_STAT_t;
5157 #endif  /* __ASSEMBLY__ */
5158 
5159 /* The byte offset of the ALT_CLKMGR_PERPLL_STAT register from the beginning of the component. */
5160 #define ALT_CLKMGR_PERPLL_STAT_OFST        0x30
5161 
5162 #ifndef __ASSEMBLY__
5163 /*
5164  * WARNING: The C register and register group struct declarations are provided for
5165  * convenience and illustrative purposes. They should, however, be used with
5166  * caution as the C language standard provides no guarantees about the alignment or
5167  * atomicity of device memory accesses. The recommended practice for writing
5168  * hardware drivers is to use the SoCAL access macros and alt_read_word() and
5169  * alt_write_word() functions.
5170  * 
5171  * The struct declaration for register group ALT_CLKMGR_PERPLL.
5172  */
5173 struct ALT_CLKMGR_PERPLL_s
5174 {
5175     volatile ALT_CLKMGR_PERPLL_VCO_t              vco;                /* ALT_CLKMGR_PERPLL_VCO */
5176     volatile ALT_CLKMGR_PERPLL_MISC_t             misc;               /* ALT_CLKMGR_PERPLL_MISC */
5177     volatile ALT_CLKMGR_PERPLL_EMAC0CLK_t         emac0clk;           /* ALT_CLKMGR_PERPLL_EMAC0CLK */
5178     volatile ALT_CLKMGR_PERPLL_EMAC1CLK_t         emac1clk;           /* ALT_CLKMGR_PERPLL_EMAC1CLK */
5179     volatile ALT_CLKMGR_PERPLL_PERQSPICLK_t       perqspiclk;         /* ALT_CLKMGR_PERPLL_PERQSPICLK */
5180     volatile ALT_CLKMGR_PERPLL_PERNANDSDMMCCLK_t  pernandsdmmcclk;    /* ALT_CLKMGR_PERPLL_PERNANDSDMMCCLK */
5181     volatile ALT_CLKMGR_PERPLL_PERBASECLK_t       perbaseclk;         /* ALT_CLKMGR_PERPLL_PERBASECLK */
5182     volatile ALT_CLKMGR_PERPLL_S2FUSER1CLK_t      s2fuser1clk;        /* ALT_CLKMGR_PERPLL_S2FUSER1CLK */
5183     volatile ALT_CLKMGR_PERPLL_EN_t               en;                 /* ALT_CLKMGR_PERPLL_EN */
5184     volatile ALT_CLKMGR_PERPLL_DIV_t              div;                /* ALT_CLKMGR_PERPLL_DIV */
5185     volatile ALT_CLKMGR_PERPLL_GPIODIV_t          gpiodiv;            /* ALT_CLKMGR_PERPLL_GPIODIV */
5186     volatile ALT_CLKMGR_PERPLL_SRC_t              src;                /* ALT_CLKMGR_PERPLL_SRC */
5187     volatile ALT_CLKMGR_PERPLL_STAT_t             stat;               /* ALT_CLKMGR_PERPLL_STAT */
5188     volatile uint32_t                             _pad_0x34_0x40[3];  /* *UNDEFINED* */
5189 };
5190 
5191 /* The typedef declaration for register group ALT_CLKMGR_PERPLL. */
5192 typedef volatile struct ALT_CLKMGR_PERPLL_s  ALT_CLKMGR_PERPLL_t;
5193 /* The struct declaration for the raw register contents of register group ALT_CLKMGR_PERPLL. */
5194 struct ALT_CLKMGR_PERPLL_raw_s
5195 {
5196     volatile uint32_t  vco;                /* ALT_CLKMGR_PERPLL_VCO */
5197     volatile uint32_t  misc;               /* ALT_CLKMGR_PERPLL_MISC */
5198     volatile uint32_t  emac0clk;           /* ALT_CLKMGR_PERPLL_EMAC0CLK */
5199     volatile uint32_t  emac1clk;           /* ALT_CLKMGR_PERPLL_EMAC1CLK */
5200     volatile uint32_t  perqspiclk;         /* ALT_CLKMGR_PERPLL_PERQSPICLK */
5201     volatile uint32_t  pernandsdmmcclk;    /* ALT_CLKMGR_PERPLL_PERNANDSDMMCCLK */
5202     volatile uint32_t  perbaseclk;         /* ALT_CLKMGR_PERPLL_PERBASECLK */
5203     volatile uint32_t  s2fuser1clk;        /* ALT_CLKMGR_PERPLL_S2FUSER1CLK */
5204     volatile uint32_t  en;                 /* ALT_CLKMGR_PERPLL_EN */
5205     volatile uint32_t  div;                /* ALT_CLKMGR_PERPLL_DIV */
5206     volatile uint32_t  gpiodiv;            /* ALT_CLKMGR_PERPLL_GPIODIV */
5207     volatile uint32_t  src;                /* ALT_CLKMGR_PERPLL_SRC */
5208     volatile uint32_t  stat;               /* ALT_CLKMGR_PERPLL_STAT */
5209     volatile uint32_t  _pad_0x34_0x40[3];  /* *UNDEFINED* */
5210 };
5211 
5212 /* The typedef declaration for the raw register contents of register group ALT_CLKMGR_PERPLL. */
5213 typedef volatile struct ALT_CLKMGR_PERPLL_raw_s  ALT_CLKMGR_PERPLL_raw_t;
5214 #endif  /* __ASSEMBLY__ */
5215 
5216 
5217 /*
5218  * Register Group : SDRAM PLL Group - ALT_CLKMGR_SDRPLL
5219  * SDRAM PLL Group
5220  * 
5221  * Contains registers with settings for the SDRAM PLL.
5222  * 
5223  */
5224 /*
5225  * Register : SDRAM PLL VCO Control Register - vco
5226  * 
5227  * Contains settings that control the SDRAM PLL VCO. The VCO output frequency is
5228  * the input frequency multiplied by the numerator (M+1) and divided by the
5229  * denominator (N+1).
5230  * 
5231  * Fields are only reset by a cold reset.
5232  * 
5233  * Register Layout
5234  * 
5235  *  Bits    | Access | Reset | Description                    
5236  * :--------|:-------|:------|:--------------------------------
5237  *  [0]     | RW     | 0x1   | BG PWRDN                       
5238  *  [1]     | RW     | 0x0   | Enable                         
5239  *  [2]     | RW     | 0x1   | Power down                     
5240  *  [15:3]  | RW     | 0x1   | Numerator (M)                  
5241  *  [21:16] | RW     | 0x1   | Denominator (N)                
5242  *  [23:22] | RW     | 0x0   | Clock Source                   
5243  *  [24]    | RW     | 0x0   | SDRAM All Output Counter Reset 
5244  *  [30:25] | RW     | 0x0   | Output Counter Reset           
5245  *  [31]    | RW     | 0x1   | External Regulator Input Select
5246  * 
5247  */
5248 /*
5249  * Field : BG PWRDN - bgpwrdn
5250  * 
5251  * If '1', powers down bandgap. If '0', bandgap is not power down.
5252  * 
5253  * Field Access Macros:
5254  * 
5255  */
5256 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_SDRPLL_VCO_BGPWRDN register field. */
5257 #define ALT_CLKMGR_SDRPLL_VCO_BGPWRDN_LSB        0
5258 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_SDRPLL_VCO_BGPWRDN register field. */
5259 #define ALT_CLKMGR_SDRPLL_VCO_BGPWRDN_MSB        0
5260 /* The width in bits of the ALT_CLKMGR_SDRPLL_VCO_BGPWRDN register field. */
5261 #define ALT_CLKMGR_SDRPLL_VCO_BGPWRDN_WIDTH      1
5262 /* The mask used to set the ALT_CLKMGR_SDRPLL_VCO_BGPWRDN register field value. */
5263 #define ALT_CLKMGR_SDRPLL_VCO_BGPWRDN_SET_MSK    0x00000001
5264 /* The mask used to clear the ALT_CLKMGR_SDRPLL_VCO_BGPWRDN register field value. */
5265 #define ALT_CLKMGR_SDRPLL_VCO_BGPWRDN_CLR_MSK    0xfffffffe
5266 /* The reset value of the ALT_CLKMGR_SDRPLL_VCO_BGPWRDN register field. */
5267 #define ALT_CLKMGR_SDRPLL_VCO_BGPWRDN_RESET      0x1
5268 /* Extracts the ALT_CLKMGR_SDRPLL_VCO_BGPWRDN field value from a register. */
5269 #define ALT_CLKMGR_SDRPLL_VCO_BGPWRDN_GET(value) (((value) & 0x00000001) >> 0)
5270 /* Produces a ALT_CLKMGR_SDRPLL_VCO_BGPWRDN register field value suitable for setting the register. */
5271 #define ALT_CLKMGR_SDRPLL_VCO_BGPWRDN_SET(value) (((value) << 0) & 0x00000001)
5272 
5273 /*
5274  * Field : Enable - en
5275  * 
5276  * If '1', VCO is enabled. If '0', VCO is in reset.
5277  * 
5278  * Field Access Macros:
5279  * 
5280  */
5281 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_SDRPLL_VCO_EN register field. */
5282 #define ALT_CLKMGR_SDRPLL_VCO_EN_LSB        1
5283 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_SDRPLL_VCO_EN register field. */
5284 #define ALT_CLKMGR_SDRPLL_VCO_EN_MSB        1
5285 /* The width in bits of the ALT_CLKMGR_SDRPLL_VCO_EN register field. */
5286 #define ALT_CLKMGR_SDRPLL_VCO_EN_WIDTH      1
5287 /* The mask used to set the ALT_CLKMGR_SDRPLL_VCO_EN register field value. */
5288 #define ALT_CLKMGR_SDRPLL_VCO_EN_SET_MSK    0x00000002
5289 /* The mask used to clear the ALT_CLKMGR_SDRPLL_VCO_EN register field value. */
5290 #define ALT_CLKMGR_SDRPLL_VCO_EN_CLR_MSK    0xfffffffd
5291 /* The reset value of the ALT_CLKMGR_SDRPLL_VCO_EN register field. */
5292 #define ALT_CLKMGR_SDRPLL_VCO_EN_RESET      0x0
5293 /* Extracts the ALT_CLKMGR_SDRPLL_VCO_EN field value from a register. */
5294 #define ALT_CLKMGR_SDRPLL_VCO_EN_GET(value) (((value) & 0x00000002) >> 1)
5295 /* Produces a ALT_CLKMGR_SDRPLL_VCO_EN register field value suitable for setting the register. */
5296 #define ALT_CLKMGR_SDRPLL_VCO_EN_SET(value) (((value) << 1) & 0x00000002)
5297 
5298 /*
5299  * Field : Power down - pwrdn
5300  * 
5301  * If '1', power down analog circuitry. If '0', analog circuitry not powered down.
5302  * 
5303  * Field Access Macros:
5304  * 
5305  */
5306 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_SDRPLL_VCO_PWRDN register field. */
5307 #define ALT_CLKMGR_SDRPLL_VCO_PWRDN_LSB        2
5308 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_SDRPLL_VCO_PWRDN register field. */
5309 #define ALT_CLKMGR_SDRPLL_VCO_PWRDN_MSB        2
5310 /* The width in bits of the ALT_CLKMGR_SDRPLL_VCO_PWRDN register field. */
5311 #define ALT_CLKMGR_SDRPLL_VCO_PWRDN_WIDTH      1
5312 /* The mask used to set the ALT_CLKMGR_SDRPLL_VCO_PWRDN register field value. */
5313 #define ALT_CLKMGR_SDRPLL_VCO_PWRDN_SET_MSK    0x00000004
5314 /* The mask used to clear the ALT_CLKMGR_SDRPLL_VCO_PWRDN register field value. */
5315 #define ALT_CLKMGR_SDRPLL_VCO_PWRDN_CLR_MSK    0xfffffffb
5316 /* The reset value of the ALT_CLKMGR_SDRPLL_VCO_PWRDN register field. */
5317 #define ALT_CLKMGR_SDRPLL_VCO_PWRDN_RESET      0x1
5318 /* Extracts the ALT_CLKMGR_SDRPLL_VCO_PWRDN field value from a register. */
5319 #define ALT_CLKMGR_SDRPLL_VCO_PWRDN_GET(value) (((value) & 0x00000004) >> 2)
5320 /* Produces a ALT_CLKMGR_SDRPLL_VCO_PWRDN register field value suitable for setting the register. */
5321 #define ALT_CLKMGR_SDRPLL_VCO_PWRDN_SET(value) (((value) << 2) & 0x00000004)
5322 
5323 /*
5324  * Field : Numerator (M) - numer
5325  * 
5326  * Numerator in VCO output frequency equation. For incremental frequency change, if
5327  * the new value lead to less than 20% of the frequency change, this value can be
5328  * changed without resetting the PLL. The Numerator and Denominator can not be
5329  * changed at the same time for incremental frequency changed.
5330  * 
5331  * Field Access Macros:
5332  * 
5333  */
5334 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_SDRPLL_VCO_NUMER register field. */
5335 #define ALT_CLKMGR_SDRPLL_VCO_NUMER_LSB        3
5336 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_SDRPLL_VCO_NUMER register field. */
5337 #define ALT_CLKMGR_SDRPLL_VCO_NUMER_MSB        15
5338 /* The width in bits of the ALT_CLKMGR_SDRPLL_VCO_NUMER register field. */
5339 #define ALT_CLKMGR_SDRPLL_VCO_NUMER_WIDTH      13
5340 /* The mask used to set the ALT_CLKMGR_SDRPLL_VCO_NUMER register field value. */
5341 #define ALT_CLKMGR_SDRPLL_VCO_NUMER_SET_MSK    0x0000fff8
5342 /* The mask used to clear the ALT_CLKMGR_SDRPLL_VCO_NUMER register field value. */
5343 #define ALT_CLKMGR_SDRPLL_VCO_NUMER_CLR_MSK    0xffff0007
5344 /* The reset value of the ALT_CLKMGR_SDRPLL_VCO_NUMER register field. */
5345 #define ALT_CLKMGR_SDRPLL_VCO_NUMER_RESET      0x1
5346 /* Extracts the ALT_CLKMGR_SDRPLL_VCO_NUMER field value from a register. */
5347 #define ALT_CLKMGR_SDRPLL_VCO_NUMER_GET(value) (((value) & 0x0000fff8) >> 3)
5348 /* Produces a ALT_CLKMGR_SDRPLL_VCO_NUMER register field value suitable for setting the register. */
5349 #define ALT_CLKMGR_SDRPLL_VCO_NUMER_SET(value) (((value) << 3) & 0x0000fff8)
5350 
5351 /*
5352  * Field : Denominator (N) - denom
5353  * 
5354  * Denominator in VCO output frequency equation. For incremental frequency change,
5355  * if the new value lead to less than 20% of the frequency change, this value can
5356  * be changed without resetting the PLL. The Numerator and Denominator can not be
5357  * changed at the same time for incremental frequency changed.
5358  * 
5359  * Field Access Macros:
5360  * 
5361  */
5362 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_SDRPLL_VCO_DENOM register field. */
5363 #define ALT_CLKMGR_SDRPLL_VCO_DENOM_LSB        16
5364 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_SDRPLL_VCO_DENOM register field. */
5365 #define ALT_CLKMGR_SDRPLL_VCO_DENOM_MSB        21
5366 /* The width in bits of the ALT_CLKMGR_SDRPLL_VCO_DENOM register field. */
5367 #define ALT_CLKMGR_SDRPLL_VCO_DENOM_WIDTH      6
5368 /* The mask used to set the ALT_CLKMGR_SDRPLL_VCO_DENOM register field value. */
5369 #define ALT_CLKMGR_SDRPLL_VCO_DENOM_SET_MSK    0x003f0000
5370 /* The mask used to clear the ALT_CLKMGR_SDRPLL_VCO_DENOM register field value. */
5371 #define ALT_CLKMGR_SDRPLL_VCO_DENOM_CLR_MSK    0xffc0ffff
5372 /* The reset value of the ALT_CLKMGR_SDRPLL_VCO_DENOM register field. */
5373 #define ALT_CLKMGR_SDRPLL_VCO_DENOM_RESET      0x1
5374 /* Extracts the ALT_CLKMGR_SDRPLL_VCO_DENOM field value from a register. */
5375 #define ALT_CLKMGR_SDRPLL_VCO_DENOM_GET(value) (((value) & 0x003f0000) >> 16)
5376 /* Produces a ALT_CLKMGR_SDRPLL_VCO_DENOM register field value suitable for setting the register. */
5377 #define ALT_CLKMGR_SDRPLL_VCO_DENOM_SET(value) (((value) << 16) & 0x003f0000)
5378 
5379 /*
5380  * Field : Clock Source - ssrc
5381  * 
5382  * Controls the VCO input clock source. The PLL must by bypassed to eosc1_clk
5383  * before changing this field.
5384  * 
5385  * Qsys and user documenation refer to f2s_sdram_ref_clk as f2h_sdram_ref_clk.
5386  * 
5387  * Field Enumeration Values:
5388  * 
5389  *  Enum                                       | Value | Description      
5390  * :-------------------------------------------|:------|:------------------
5391  *  ALT_CLKMGR_SDRPLL_VCO_SSRC_E_EOSC1         | 0x0   | eosc1_clk        
5392  *  ALT_CLKMGR_SDRPLL_VCO_SSRC_E_EOSC2         | 0x1   | eosc2_clk        
5393  *  ALT_CLKMGR_SDRPLL_VCO_SSRC_E_F2S_SDRAM_REF | 0x2   | f2s_sdram_ref_clk
5394  * 
5395  * Field Access Macros:
5396  * 
5397  */
5398 /*
5399  * Enumerated value for register field ALT_CLKMGR_SDRPLL_VCO_SSRC
5400  * 
5401  * eosc1_clk
5402  */
5403 #define ALT_CLKMGR_SDRPLL_VCO_SSRC_E_EOSC1          0x0
5404 /*
5405  * Enumerated value for register field ALT_CLKMGR_SDRPLL_VCO_SSRC
5406  * 
5407  * eosc2_clk
5408  */
5409 #define ALT_CLKMGR_SDRPLL_VCO_SSRC_E_EOSC2          0x1
5410 /*
5411  * Enumerated value for register field ALT_CLKMGR_SDRPLL_VCO_SSRC
5412  * 
5413  * f2s_sdram_ref_clk
5414  */
5415 #define ALT_CLKMGR_SDRPLL_VCO_SSRC_E_F2S_SDRAM_REF  0x2
5416 
5417 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_SDRPLL_VCO_SSRC register field. */
5418 #define ALT_CLKMGR_SDRPLL_VCO_SSRC_LSB        22
5419 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_SDRPLL_VCO_SSRC register field. */
5420 #define ALT_CLKMGR_SDRPLL_VCO_SSRC_MSB        23
5421 /* The width in bits of the ALT_CLKMGR_SDRPLL_VCO_SSRC register field. */
5422 #define ALT_CLKMGR_SDRPLL_VCO_SSRC_WIDTH      2
5423 /* The mask used to set the ALT_CLKMGR_SDRPLL_VCO_SSRC register field value. */
5424 #define ALT_CLKMGR_SDRPLL_VCO_SSRC_SET_MSK    0x00c00000
5425 /* The mask used to clear the ALT_CLKMGR_SDRPLL_VCO_SSRC register field value. */
5426 #define ALT_CLKMGR_SDRPLL_VCO_SSRC_CLR_MSK    0xff3fffff
5427 /* The reset value of the ALT_CLKMGR_SDRPLL_VCO_SSRC register field. */
5428 #define ALT_CLKMGR_SDRPLL_VCO_SSRC_RESET      0x0
5429 /* Extracts the ALT_CLKMGR_SDRPLL_VCO_SSRC field value from a register. */
5430 #define ALT_CLKMGR_SDRPLL_VCO_SSRC_GET(value) (((value) & 0x00c00000) >> 22)
5431 /* Produces a ALT_CLKMGR_SDRPLL_VCO_SSRC register field value suitable for setting the register. */
5432 #define ALT_CLKMGR_SDRPLL_VCO_SSRC_SET(value) (((value) << 22) & 0x00c00000)
5433 
5434 /*
5435  * Field : SDRAM All Output Counter Reset - outresetall
5436  * 
5437  * Before releasing Bypass, All Output Counter Reset must be set and cleared by
5438  * software for correct clock operation.
5439  * 
5440  * If '1', Reset phase multiplexer and output counter state. So that after the
5441  * assertion all the clocks output are start from rising edge align.
5442  * 
5443  * If '0', phase multiplexer and output counter state not reset and no change to
5444  * the phase of the clock outputs.
5445  * 
5446  * Field Access Macros:
5447  * 
5448  */
5449 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_SDRPLL_VCO_OUTRSTALL register field. */
5450 #define ALT_CLKMGR_SDRPLL_VCO_OUTRSTALL_LSB        24
5451 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_SDRPLL_VCO_OUTRSTALL register field. */
5452 #define ALT_CLKMGR_SDRPLL_VCO_OUTRSTALL_MSB        24
5453 /* The width in bits of the ALT_CLKMGR_SDRPLL_VCO_OUTRSTALL register field. */
5454 #define ALT_CLKMGR_SDRPLL_VCO_OUTRSTALL_WIDTH      1
5455 /* The mask used to set the ALT_CLKMGR_SDRPLL_VCO_OUTRSTALL register field value. */
5456 #define ALT_CLKMGR_SDRPLL_VCO_OUTRSTALL_SET_MSK    0x01000000
5457 /* The mask used to clear the ALT_CLKMGR_SDRPLL_VCO_OUTRSTALL register field value. */
5458 #define ALT_CLKMGR_SDRPLL_VCO_OUTRSTALL_CLR_MSK    0xfeffffff
5459 /* The reset value of the ALT_CLKMGR_SDRPLL_VCO_OUTRSTALL register field. */
5460 #define ALT_CLKMGR_SDRPLL_VCO_OUTRSTALL_RESET      0x0
5461 /* Extracts the ALT_CLKMGR_SDRPLL_VCO_OUTRSTALL field value from a register. */
5462 #define ALT_CLKMGR_SDRPLL_VCO_OUTRSTALL_GET(value) (((value) & 0x01000000) >> 24)
5463 /* Produces a ALT_CLKMGR_SDRPLL_VCO_OUTRSTALL register field value suitable for setting the register. */
5464 #define ALT_CLKMGR_SDRPLL_VCO_OUTRSTALL_SET(value) (((value) << 24) & 0x01000000)
5465 
5466 /*
5467  * Field : Output Counter Reset - outreset
5468  * 
5469  * Resets the individual PLL output counter.
5470  * 
5471  * For software to change the PLL output counter without producing glitches on the
5472  * respective clock, SW must set the VCO register respective Output Counter Reset
5473  * bit. Software then polls the respective Output Counter Reset Acknowledge bit in
5474  * the Output Counter Reset Ack Status Register. Software then writes the
5475  * appropriate counter register, and then clears the respective VCO register Output
5476  * Counter Reset bit.
5477  * 
5478  * LSB 'outreset[0]' corresponds to PLL output clock C0, etc.
5479  * 
5480  * If set to '1', reset output divider, no clock output from counter.
5481  * 
5482  * If set to '0', counter is not reset.
5483  * 
5484  * The reset value of this bit is applied on a cold reset; warm reset has no affect
5485  * on this bit.
5486  * 
5487  * Field Access Macros:
5488  * 
5489  */
5490 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_SDRPLL_VCO_OUTRST register field. */
5491 #define ALT_CLKMGR_SDRPLL_VCO_OUTRST_LSB        25
5492 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_SDRPLL_VCO_OUTRST register field. */
5493 #define ALT_CLKMGR_SDRPLL_VCO_OUTRST_MSB        30
5494 /* The width in bits of the ALT_CLKMGR_SDRPLL_VCO_OUTRST register field. */
5495 #define ALT_CLKMGR_SDRPLL_VCO_OUTRST_WIDTH      6
5496 /* The mask used to set the ALT_CLKMGR_SDRPLL_VCO_OUTRST register field value. */
5497 #define ALT_CLKMGR_SDRPLL_VCO_OUTRST_SET_MSK    0x7e000000
5498 /* The mask used to clear the ALT_CLKMGR_SDRPLL_VCO_OUTRST register field value. */
5499 #define ALT_CLKMGR_SDRPLL_VCO_OUTRST_CLR_MSK    0x81ffffff
5500 /* The reset value of the ALT_CLKMGR_SDRPLL_VCO_OUTRST register field. */
5501 #define ALT_CLKMGR_SDRPLL_VCO_OUTRST_RESET      0x0
5502 /* Extracts the ALT_CLKMGR_SDRPLL_VCO_OUTRST field value from a register. */
5503 #define ALT_CLKMGR_SDRPLL_VCO_OUTRST_GET(value) (((value) & 0x7e000000) >> 25)
5504 /* Produces a ALT_CLKMGR_SDRPLL_VCO_OUTRST register field value suitable for setting the register. */
5505 #define ALT_CLKMGR_SDRPLL_VCO_OUTRST_SET(value) (((value) << 25) & 0x7e000000)
5506 
5507 /*
5508  * Field : External Regulator Input Select - regextsel
5509  * 
5510  * If set to '1', the external regulator is selected for the PLL.
5511  * 
5512  * If set to '0', the internal regulator is slected.
5513  * 
5514  * It is strongly recommended to select the external regulator while the PLL is not
5515  * enabled (in reset), and  then disable the external regulater once the PLL
5516  * becomes enabled.  Software should simulateously update the 'Enable' bit and the
5517  * 'External Regulator Input Select' in the same write access to the VCO register.
5518  * When the 'Enable' bit is clear, the 'External Regulator Input Select' should be
5519  * set, and vice versa.
5520  * 
5521  * The reset value of this bit is applied on a cold reset; warm reset has no affect
5522  * on this bit.
5523  * 
5524  * Field Access Macros:
5525  * 
5526  */
5527 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_SDRPLL_VCO_REGEXTSEL register field. */
5528 #define ALT_CLKMGR_SDRPLL_VCO_REGEXTSEL_LSB        31
5529 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_SDRPLL_VCO_REGEXTSEL register field. */
5530 #define ALT_CLKMGR_SDRPLL_VCO_REGEXTSEL_MSB        31
5531 /* The width in bits of the ALT_CLKMGR_SDRPLL_VCO_REGEXTSEL register field. */
5532 #define ALT_CLKMGR_SDRPLL_VCO_REGEXTSEL_WIDTH      1
5533 /* The mask used to set the ALT_CLKMGR_SDRPLL_VCO_REGEXTSEL register field value. */
5534 #define ALT_CLKMGR_SDRPLL_VCO_REGEXTSEL_SET_MSK    0x80000000
5535 /* The mask used to clear the ALT_CLKMGR_SDRPLL_VCO_REGEXTSEL register field value. */
5536 #define ALT_CLKMGR_SDRPLL_VCO_REGEXTSEL_CLR_MSK    0x7fffffff
5537 /* The reset value of the ALT_CLKMGR_SDRPLL_VCO_REGEXTSEL register field. */
5538 #define ALT_CLKMGR_SDRPLL_VCO_REGEXTSEL_RESET      0x1
5539 /* Extracts the ALT_CLKMGR_SDRPLL_VCO_REGEXTSEL field value from a register. */
5540 #define ALT_CLKMGR_SDRPLL_VCO_REGEXTSEL_GET(value) (((value) & 0x80000000) >> 31)
5541 /* Produces a ALT_CLKMGR_SDRPLL_VCO_REGEXTSEL register field value suitable for setting the register. */
5542 #define ALT_CLKMGR_SDRPLL_VCO_REGEXTSEL_SET(value) (((value) << 31) & 0x80000000)
5543 
5544 #ifndef __ASSEMBLY__
5545 /*
5546  * WARNING: The C register and register group struct declarations are provided for
5547  * convenience and illustrative purposes. They should, however, be used with
5548  * caution as the C language standard provides no guarantees about the alignment or
5549  * atomicity of device memory accesses. The recommended practice for writing
5550  * hardware drivers is to use the SoCAL access macros and alt_read_word() and
5551  * alt_write_word() functions.
5552  * 
5553  * The struct declaration for register ALT_CLKMGR_SDRPLL_VCO.
5554  */
5555 struct ALT_CLKMGR_SDRPLL_VCO_s
5556 {
5557     uint32_t  bgpwrdn     :  1;  /* BG PWRDN */
5558     uint32_t  en          :  1;  /* Enable */
5559     uint32_t  pwrdn       :  1;  /* Power down */
5560     uint32_t  numer       : 13;  /* Numerator (M) */
5561     uint32_t  denom       :  6;  /* Denominator (N) */
5562     uint32_t  ssrc        :  2;  /* Clock Source */
5563     uint32_t  outresetall :  1;  /* SDRAM All Output Counter Reset */
5564     uint32_t  outreset    :  6;  /* Output Counter Reset */
5565     uint32_t  regextsel   :  1;  /* External Regulator Input Select */
5566 };
5567 
5568 /* The typedef declaration for register ALT_CLKMGR_SDRPLL_VCO. */
5569 typedef volatile struct ALT_CLKMGR_SDRPLL_VCO_s  ALT_CLKMGR_SDRPLL_VCO_t;
5570 #endif  /* __ASSEMBLY__ */
5571 
5572 /* The byte offset of the ALT_CLKMGR_SDRPLL_VCO register from the beginning of the component. */
5573 #define ALT_CLKMGR_SDRPLL_VCO_OFST        0x0
5574 
5575 /*
5576  * Register : SDRAM PLL VCO Advanced Control Register - ctrl
5577  * 
5578  * Contains VCO control signals and other PLL control signals need to be
5579  * controllable through register.
5580  * 
5581  * Fields are only reset by a cold reset.
5582  * 
5583  * Register Layout
5584  * 
5585  *  Bits    | Access | Reset | Description                  
5586  * :--------|:-------|:------|:------------------------------
5587  *  [0]     | RW     | 0x0   | Loop Bandwidth Adjust Enabled
5588  *  [12:1]  | RW     | 0x1   | Loop Bandwidth Adjust        
5589  *  [13]    | RW     | 0x0   | Fast Locking Enable          
5590  *  [14]    | RW     | 0x1   | Saturation Enable            
5591  *  [31:15] | ???    | 0x0   | *UNDEFINED*                  
5592  * 
5593  */
5594 /*
5595  * Field : Loop Bandwidth Adjust Enabled - bwadjen
5596  * 
5597  * If set to 1, the Loop Bandwidth Adjust value comes from the Loop Bandwidth
5598  * Adjust field.
5599  * 
5600  * If set to 0, the Loop Bandwidth Adjust value equals the M field divided by 2
5601  * value of the VCO Control Register.  The M divided by 2 is the upper 12 bits
5602  * (12:1) of the M field in the VCO register.
5603  * 
5604  * Field Access Macros:
5605  * 
5606  */
5607 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_SDRPLL_CTL_BWADJEN register field. */
5608 #define ALT_CLKMGR_SDRPLL_CTL_BWADJEN_LSB        0
5609 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_SDRPLL_CTL_BWADJEN register field. */
5610 #define ALT_CLKMGR_SDRPLL_CTL_BWADJEN_MSB        0
5611 /* The width in bits of the ALT_CLKMGR_SDRPLL_CTL_BWADJEN register field. */
5612 #define ALT_CLKMGR_SDRPLL_CTL_BWADJEN_WIDTH      1
5613 /* The mask used to set the ALT_CLKMGR_SDRPLL_CTL_BWADJEN register field value. */
5614 #define ALT_CLKMGR_SDRPLL_CTL_BWADJEN_SET_MSK    0x00000001
5615 /* The mask used to clear the ALT_CLKMGR_SDRPLL_CTL_BWADJEN register field value. */
5616 #define ALT_CLKMGR_SDRPLL_CTL_BWADJEN_CLR_MSK    0xfffffffe
5617 /* The reset value of the ALT_CLKMGR_SDRPLL_CTL_BWADJEN register field. */
5618 #define ALT_CLKMGR_SDRPLL_CTL_BWADJEN_RESET      0x0
5619 /* Extracts the ALT_CLKMGR_SDRPLL_CTL_BWADJEN field value from a register. */
5620 #define ALT_CLKMGR_SDRPLL_CTL_BWADJEN_GET(value) (((value) & 0x00000001) >> 0)
5621 /* Produces a ALT_CLKMGR_SDRPLL_CTL_BWADJEN register field value suitable for setting the register. */
5622 #define ALT_CLKMGR_SDRPLL_CTL_BWADJEN_SET(value) (((value) << 0) & 0x00000001)
5623 
5624 /*
5625  * Field : Loop Bandwidth Adjust - bwadj
5626  * 
5627  * Provides Loop Bandwidth Adjust value.
5628  * 
5629  * Field Access Macros:
5630  * 
5631  */
5632 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_SDRPLL_CTL_BWADJ register field. */
5633 #define ALT_CLKMGR_SDRPLL_CTL_BWADJ_LSB        1
5634 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_SDRPLL_CTL_BWADJ register field. */
5635 #define ALT_CLKMGR_SDRPLL_CTL_BWADJ_MSB        12
5636 /* The width in bits of the ALT_CLKMGR_SDRPLL_CTL_BWADJ register field. */
5637 #define ALT_CLKMGR_SDRPLL_CTL_BWADJ_WIDTH      12
5638 /* The mask used to set the ALT_CLKMGR_SDRPLL_CTL_BWADJ register field value. */
5639 #define ALT_CLKMGR_SDRPLL_CTL_BWADJ_SET_MSK    0x00001ffe
5640 /* The mask used to clear the ALT_CLKMGR_SDRPLL_CTL_BWADJ register field value. */
5641 #define ALT_CLKMGR_SDRPLL_CTL_BWADJ_CLR_MSK    0xffffe001
5642 /* The reset value of the ALT_CLKMGR_SDRPLL_CTL_BWADJ register field. */
5643 #define ALT_CLKMGR_SDRPLL_CTL_BWADJ_RESET      0x1
5644 /* Extracts the ALT_CLKMGR_SDRPLL_CTL_BWADJ field value from a register. */
5645 #define ALT_CLKMGR_SDRPLL_CTL_BWADJ_GET(value) (((value) & 0x00001ffe) >> 1)
5646 /* Produces a ALT_CLKMGR_SDRPLL_CTL_BWADJ register field value suitable for setting the register. */
5647 #define ALT_CLKMGR_SDRPLL_CTL_BWADJ_SET(value) (((value) << 1) & 0x00001ffe)
5648 
5649 /*
5650  * Field : Fast Locking Enable - fasten
5651  * 
5652  * Enables fast locking circuit.
5653  * 
5654  * Field Access Macros:
5655  * 
5656  */
5657 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_SDRPLL_CTL_FASTEN register field. */
5658 #define ALT_CLKMGR_SDRPLL_CTL_FASTEN_LSB        13
5659 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_SDRPLL_CTL_FASTEN register field. */
5660 #define ALT_CLKMGR_SDRPLL_CTL_FASTEN_MSB        13
5661 /* The width in bits of the ALT_CLKMGR_SDRPLL_CTL_FASTEN register field. */
5662 #define ALT_CLKMGR_SDRPLL_CTL_FASTEN_WIDTH      1
5663 /* The mask used to set the ALT_CLKMGR_SDRPLL_CTL_FASTEN register field value. */
5664 #define ALT_CLKMGR_SDRPLL_CTL_FASTEN_SET_MSK    0x00002000
5665 /* The mask used to clear the ALT_CLKMGR_SDRPLL_CTL_FASTEN register field value. */
5666 #define ALT_CLKMGR_SDRPLL_CTL_FASTEN_CLR_MSK    0xffffdfff
5667 /* The reset value of the ALT_CLKMGR_SDRPLL_CTL_FASTEN register field. */
5668 #define ALT_CLKMGR_SDRPLL_CTL_FASTEN_RESET      0x0
5669 /* Extracts the ALT_CLKMGR_SDRPLL_CTL_FASTEN field value from a register. */
5670 #define ALT_CLKMGR_SDRPLL_CTL_FASTEN_GET(value) (((value) & 0x00002000) >> 13)
5671 /* Produces a ALT_CLKMGR_SDRPLL_CTL_FASTEN register field value suitable for setting the register. */
5672 #define ALT_CLKMGR_SDRPLL_CTL_FASTEN_SET(value) (((value) << 13) & 0x00002000)
5673 
5674 /*
5675  * Field : Saturation Enable - saten
5676  * 
5677  * Enables saturation behavior.
5678  * 
5679  * Field Access Macros:
5680  * 
5681  */
5682 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_SDRPLL_CTL_SATEN register field. */
5683 #define ALT_CLKMGR_SDRPLL_CTL_SATEN_LSB        14
5684 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_SDRPLL_CTL_SATEN register field. */
5685 #define ALT_CLKMGR_SDRPLL_CTL_SATEN_MSB        14
5686 /* The width in bits of the ALT_CLKMGR_SDRPLL_CTL_SATEN register field. */
5687 #define ALT_CLKMGR_SDRPLL_CTL_SATEN_WIDTH      1
5688 /* The mask used to set the ALT_CLKMGR_SDRPLL_CTL_SATEN register field value. */
5689 #define ALT_CLKMGR_SDRPLL_CTL_SATEN_SET_MSK    0x00004000
5690 /* The mask used to clear the ALT_CLKMGR_SDRPLL_CTL_SATEN register field value. */
5691 #define ALT_CLKMGR_SDRPLL_CTL_SATEN_CLR_MSK    0xffffbfff
5692 /* The reset value of the ALT_CLKMGR_SDRPLL_CTL_SATEN register field. */
5693 #define ALT_CLKMGR_SDRPLL_CTL_SATEN_RESET      0x1
5694 /* Extracts the ALT_CLKMGR_SDRPLL_CTL_SATEN field value from a register. */
5695 #define ALT_CLKMGR_SDRPLL_CTL_SATEN_GET(value) (((value) & 0x00004000) >> 14)
5696 /* Produces a ALT_CLKMGR_SDRPLL_CTL_SATEN register field value suitable for setting the register. */
5697 #define ALT_CLKMGR_SDRPLL_CTL_SATEN_SET(value) (((value) << 14) & 0x00004000)
5698 
5699 #ifndef __ASSEMBLY__
5700 /*
5701  * WARNING: The C register and register group struct declarations are provided for
5702  * convenience and illustrative purposes. They should, however, be used with
5703  * caution as the C language standard provides no guarantees about the alignment or
5704  * atomicity of device memory accesses. The recommended practice for writing
5705  * hardware drivers is to use the SoCAL access macros and alt_read_word() and
5706  * alt_write_word() functions.
5707  * 
5708  * The struct declaration for register ALT_CLKMGR_SDRPLL_CTL.
5709  */
5710 struct ALT_CLKMGR_SDRPLL_CTL_s
5711 {
5712     uint32_t  bwadjen :  1;  /* Loop Bandwidth Adjust Enabled */
5713     uint32_t  bwadj   : 12;  /* Loop Bandwidth Adjust */
5714     uint32_t  fasten  :  1;  /* Fast Locking Enable */
5715     uint32_t  saten   :  1;  /* Saturation Enable */
5716     uint32_t          : 17;  /* *UNDEFINED* */
5717 };
5718 
5719 /* The typedef declaration for register ALT_CLKMGR_SDRPLL_CTL. */
5720 typedef volatile struct ALT_CLKMGR_SDRPLL_CTL_s  ALT_CLKMGR_SDRPLL_CTL_t;
5721 #endif  /* __ASSEMBLY__ */
5722 
5723 /* The byte offset of the ALT_CLKMGR_SDRPLL_CTL register from the beginning of the component. */
5724 #define ALT_CLKMGR_SDRPLL_CTL_OFST        0x4
5725 
5726 /*
5727  * Register : SDRAM PLL C0 Control Register for Clock ddr_dqs_clk - ddrdqsclk
5728  * 
5729  * Contains settings that control clock ddr_dqs_clk generated from the C0 output of
5730  * the SDRAM PLL.
5731  * 
5732  * Fields are only reset by a cold reset.
5733  * 
5734  * Register Layout
5735  * 
5736  *  Bits    | Access | Reset | Description
5737  * :--------|:-------|:------|:------------
5738  *  [8:0]   | RW     | 0x1   | Counter    
5739  *  [20:9]  | RW     | 0x0   | Phase Shift
5740  *  [31:21] | ???    | 0x0   | *UNDEFINED*
5741  * 
5742  */
5743 /*
5744  * Field : Counter - cnt
5745  * 
5746  * Divides the VCO frequency by the value+1 in this field.
5747  * 
5748  * Field Access Macros:
5749  * 
5750  */
5751 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_SDRPLL_DDRDQSCLK_CNT register field. */
5752 #define ALT_CLKMGR_SDRPLL_DDRDQSCLK_CNT_LSB        0
5753 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_SDRPLL_DDRDQSCLK_CNT register field. */
5754 #define ALT_CLKMGR_SDRPLL_DDRDQSCLK_CNT_MSB        8
5755 /* The width in bits of the ALT_CLKMGR_SDRPLL_DDRDQSCLK_CNT register field. */
5756 #define ALT_CLKMGR_SDRPLL_DDRDQSCLK_CNT_WIDTH      9
5757 /* The mask used to set the ALT_CLKMGR_SDRPLL_DDRDQSCLK_CNT register field value. */
5758 #define ALT_CLKMGR_SDRPLL_DDRDQSCLK_CNT_SET_MSK    0x000001ff
5759 /* The mask used to clear the ALT_CLKMGR_SDRPLL_DDRDQSCLK_CNT register field value. */
5760 #define ALT_CLKMGR_SDRPLL_DDRDQSCLK_CNT_CLR_MSK    0xfffffe00
5761 /* The reset value of the ALT_CLKMGR_SDRPLL_DDRDQSCLK_CNT register field. */
5762 #define ALT_CLKMGR_SDRPLL_DDRDQSCLK_CNT_RESET      0x1
5763 /* Extracts the ALT_CLKMGR_SDRPLL_DDRDQSCLK_CNT field value from a register. */
5764 #define ALT_CLKMGR_SDRPLL_DDRDQSCLK_CNT_GET(value) (((value) & 0x000001ff) >> 0)
5765 /* Produces a ALT_CLKMGR_SDRPLL_DDRDQSCLK_CNT register field value suitable for setting the register. */
5766 #define ALT_CLKMGR_SDRPLL_DDRDQSCLK_CNT_SET(value) (((value) << 0) & 0x000001ff)
5767 
5768 /*
5769  * Field : Phase Shift - phase
5770  * 
5771  * Increment the phase of the VCO output by the value in this field multiplied by
5772  * 45 degrees. The accumulated phase shift is the total shifted amount since the
5773  * last assertion of the 'SDRAM All Output Divider Reset' bit in the SDRAM vco
5774  * control register. In order to guarantee the phase shift to a known value, 'SDRAM
5775  * clocks output phase align' bit should be asserted before programming this field.
5776  * 
5777  * This field is only writeable by SW when it is zero.  HW updates this field in
5778  * real time as the phase adjustment is being made.   SW may poll this field
5779  * waiting for zero indicating the phase adjustment has completed by HW.
5780  * 
5781  * Field Access Macros:
5782  * 
5783  */
5784 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_SDRPLL_DDRDQSCLK_PHASE register field. */
5785 #define ALT_CLKMGR_SDRPLL_DDRDQSCLK_PHASE_LSB        9
5786 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_SDRPLL_DDRDQSCLK_PHASE register field. */
5787 #define ALT_CLKMGR_SDRPLL_DDRDQSCLK_PHASE_MSB        20
5788 /* The width in bits of the ALT_CLKMGR_SDRPLL_DDRDQSCLK_PHASE register field. */
5789 #define ALT_CLKMGR_SDRPLL_DDRDQSCLK_PHASE_WIDTH      12
5790 /* The mask used to set the ALT_CLKMGR_SDRPLL_DDRDQSCLK_PHASE register field value. */
5791 #define ALT_CLKMGR_SDRPLL_DDRDQSCLK_PHASE_SET_MSK    0x001ffe00
5792 /* The mask used to clear the ALT_CLKMGR_SDRPLL_DDRDQSCLK_PHASE register field value. */
5793 #define ALT_CLKMGR_SDRPLL_DDRDQSCLK_PHASE_CLR_MSK    0xffe001ff
5794 /* The reset value of the ALT_CLKMGR_SDRPLL_DDRDQSCLK_PHASE register field. */
5795 #define ALT_CLKMGR_SDRPLL_DDRDQSCLK_PHASE_RESET      0x0
5796 /* Extracts the ALT_CLKMGR_SDRPLL_DDRDQSCLK_PHASE field value from a register. */
5797 #define ALT_CLKMGR_SDRPLL_DDRDQSCLK_PHASE_GET(value) (((value) & 0x001ffe00) >> 9)
5798 /* Produces a ALT_CLKMGR_SDRPLL_DDRDQSCLK_PHASE register field value suitable for setting the register. */
5799 #define ALT_CLKMGR_SDRPLL_DDRDQSCLK_PHASE_SET(value) (((value) << 9) & 0x001ffe00)
5800 
5801 #ifndef __ASSEMBLY__
5802 /*
5803  * WARNING: The C register and register group struct declarations are provided for
5804  * convenience and illustrative purposes. They should, however, be used with
5805  * caution as the C language standard provides no guarantees about the alignment or
5806  * atomicity of device memory accesses. The recommended practice for writing
5807  * hardware drivers is to use the SoCAL access macros and alt_read_word() and
5808  * alt_write_word() functions.
5809  * 
5810  * The struct declaration for register ALT_CLKMGR_SDRPLL_DDRDQSCLK.
5811  */
5812 struct ALT_CLKMGR_SDRPLL_DDRDQSCLK_s
5813 {
5814     uint32_t  cnt   :  9;  /* Counter */
5815     uint32_t  phase : 12;  /* Phase Shift */
5816     uint32_t        : 11;  /* *UNDEFINED* */
5817 };
5818 
5819 /* The typedef declaration for register ALT_CLKMGR_SDRPLL_DDRDQSCLK. */
5820 typedef volatile struct ALT_CLKMGR_SDRPLL_DDRDQSCLK_s  ALT_CLKMGR_SDRPLL_DDRDQSCLK_t;
5821 #endif  /* __ASSEMBLY__ */
5822 
5823 /* The byte offset of the ALT_CLKMGR_SDRPLL_DDRDQSCLK register from the beginning of the component. */
5824 #define ALT_CLKMGR_SDRPLL_DDRDQSCLK_OFST        0x8
5825 
5826 /*
5827  * Register : SDRAM PLL C1 Control Register for Clock ddr_2x_dqs_clk - ddr2xdqsclk
5828  * 
5829  * Contains settings that control clock ddr_2x_dqs_clk generated from the C1 output
5830  * of the SDRAM PLL.
5831  * 
5832  * Fields are only reset by a cold reset.
5833  * 
5834  * Register Layout
5835  * 
5836  *  Bits    | Access | Reset | Description
5837  * :--------|:-------|:------|:------------
5838  *  [8:0]   | RW     | 0x1   | Counter    
5839  *  [20:9]  | RW     | 0x0   | Phase Shift
5840  *  [31:21] | ???    | 0x0   | *UNDEFINED*
5841  * 
5842  */
5843 /*
5844  * Field : Counter - cnt
5845  * 
5846  * Divides the VCO frequency by the value+1 in this field.
5847  * 
5848  * Field Access Macros:
5849  * 
5850  */
5851 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_SDRPLL_DDR2XDQSCLK_CNT register field. */
5852 #define ALT_CLKMGR_SDRPLL_DDR2XDQSCLK_CNT_LSB        0
5853 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_SDRPLL_DDR2XDQSCLK_CNT register field. */
5854 #define ALT_CLKMGR_SDRPLL_DDR2XDQSCLK_CNT_MSB        8
5855 /* The width in bits of the ALT_CLKMGR_SDRPLL_DDR2XDQSCLK_CNT register field. */
5856 #define ALT_CLKMGR_SDRPLL_DDR2XDQSCLK_CNT_WIDTH      9
5857 /* The mask used to set the ALT_CLKMGR_SDRPLL_DDR2XDQSCLK_CNT register field value. */
5858 #define ALT_CLKMGR_SDRPLL_DDR2XDQSCLK_CNT_SET_MSK    0x000001ff
5859 /* The mask used to clear the ALT_CLKMGR_SDRPLL_DDR2XDQSCLK_CNT register field value. */
5860 #define ALT_CLKMGR_SDRPLL_DDR2XDQSCLK_CNT_CLR_MSK    0xfffffe00
5861 /* The reset value of the ALT_CLKMGR_SDRPLL_DDR2XDQSCLK_CNT register field. */
5862 #define ALT_CLKMGR_SDRPLL_DDR2XDQSCLK_CNT_RESET      0x1
5863 /* Extracts the ALT_CLKMGR_SDRPLL_DDR2XDQSCLK_CNT field value from a register. */
5864 #define ALT_CLKMGR_SDRPLL_DDR2XDQSCLK_CNT_GET(value) (((value) & 0x000001ff) >> 0)
5865 /* Produces a ALT_CLKMGR_SDRPLL_DDR2XDQSCLK_CNT register field value suitable for setting the register. */
5866 #define ALT_CLKMGR_SDRPLL_DDR2XDQSCLK_CNT_SET(value) (((value) << 0) & 0x000001ff)
5867 
5868 /*
5869  * Field : Phase Shift - phase
5870  * 
5871  * Increment the phase of the VCO output by the value in this field multiplied by
5872  * 45 degrees. The accumulated phase shift is the total shifted amount since the
5873  * last assertion of the 'SDRAM All Output Divider Reset' bit in the SDRAM vco
5874  * control register. In order to guarantee the phase shift to a known value, 'SDRAM
5875  * clocks output phase align' bit should be asserted before programming this field.
5876  * 
5877  * This field is only writeable by SW when it is zero.  HW updates this field in
5878  * real time as the phase adjustment is being made.   SW may poll this field
5879  * waiting for zero indicating the phase adjustment has completed by HW.
5880  * 
5881  * Field Access Macros:
5882  * 
5883  */
5884 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_SDRPLL_DDR2XDQSCLK_PHASE register field. */
5885 #define ALT_CLKMGR_SDRPLL_DDR2XDQSCLK_PHASE_LSB        9
5886 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_SDRPLL_DDR2XDQSCLK_PHASE register field. */
5887 #define ALT_CLKMGR_SDRPLL_DDR2XDQSCLK_PHASE_MSB        20
5888 /* The width in bits of the ALT_CLKMGR_SDRPLL_DDR2XDQSCLK_PHASE register field. */
5889 #define ALT_CLKMGR_SDRPLL_DDR2XDQSCLK_PHASE_WIDTH      12
5890 /* The mask used to set the ALT_CLKMGR_SDRPLL_DDR2XDQSCLK_PHASE register field value. */
5891 #define ALT_CLKMGR_SDRPLL_DDR2XDQSCLK_PHASE_SET_MSK    0x001ffe00
5892 /* The mask used to clear the ALT_CLKMGR_SDRPLL_DDR2XDQSCLK_PHASE register field value. */
5893 #define ALT_CLKMGR_SDRPLL_DDR2XDQSCLK_PHASE_CLR_MSK    0xffe001ff
5894 /* The reset value of the ALT_CLKMGR_SDRPLL_DDR2XDQSCLK_PHASE register field. */
5895 #define ALT_CLKMGR_SDRPLL_DDR2XDQSCLK_PHASE_RESET      0x0
5896 /* Extracts the ALT_CLKMGR_SDRPLL_DDR2XDQSCLK_PHASE field value from a register. */
5897 #define ALT_CLKMGR_SDRPLL_DDR2XDQSCLK_PHASE_GET(value) (((value) & 0x001ffe00) >> 9)
5898 /* Produces a ALT_CLKMGR_SDRPLL_DDR2XDQSCLK_PHASE register field value suitable for setting the register. */
5899 #define ALT_CLKMGR_SDRPLL_DDR2XDQSCLK_PHASE_SET(value) (((value) << 9) & 0x001ffe00)
5900 
5901 #ifndef __ASSEMBLY__
5902 /*
5903  * WARNING: The C register and register group struct declarations are provided for
5904  * convenience and illustrative purposes. They should, however, be used with
5905  * caution as the C language standard provides no guarantees about the alignment or
5906  * atomicity of device memory accesses. The recommended practice for writing
5907  * hardware drivers is to use the SoCAL access macros and alt_read_word() and
5908  * alt_write_word() functions.
5909  * 
5910  * The struct declaration for register ALT_CLKMGR_SDRPLL_DDR2XDQSCLK.
5911  */
5912 struct ALT_CLKMGR_SDRPLL_DDR2XDQSCLK_s
5913 {
5914     uint32_t  cnt   :  9;  /* Counter */
5915     uint32_t  phase : 12;  /* Phase Shift */
5916     uint32_t        : 11;  /* *UNDEFINED* */
5917 };
5918 
5919 /* The typedef declaration for register ALT_CLKMGR_SDRPLL_DDR2XDQSCLK. */
5920 typedef volatile struct ALT_CLKMGR_SDRPLL_DDR2XDQSCLK_s  ALT_CLKMGR_SDRPLL_DDR2XDQSCLK_t;
5921 #endif  /* __ASSEMBLY__ */
5922 
5923 /* The byte offset of the ALT_CLKMGR_SDRPLL_DDR2XDQSCLK register from the beginning of the component. */
5924 #define ALT_CLKMGR_SDRPLL_DDR2XDQSCLK_OFST        0xc
5925 
5926 /*
5927  * Register : SDRAM PLL C2 Control Register for Clock ddr_dq_clk - ddrdqclk
5928  * 
5929  * Contains settings that control clock ddr_dq_clk generated from the C2 output of
5930  * the SDRAM PLL.
5931  * 
5932  * Fields are only reset by a cold reset.
5933  * 
5934  * Register Layout
5935  * 
5936  *  Bits    | Access | Reset | Description
5937  * :--------|:-------|:------|:------------
5938  *  [8:0]   | RW     | 0x1   | Counter    
5939  *  [20:9]  | RW     | 0x0   | Phase Shift
5940  *  [31:21] | ???    | 0x0   | *UNDEFINED*
5941  * 
5942  */
5943 /*
5944  * Field : Counter - cnt
5945  * 
5946  * Divides the VCO frequency by the value+1 in this field.
5947  * 
5948  * Field Access Macros:
5949  * 
5950  */
5951 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_SDRPLL_DDRDQCLK_CNT register field. */
5952 #define ALT_CLKMGR_SDRPLL_DDRDQCLK_CNT_LSB        0
5953 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_SDRPLL_DDRDQCLK_CNT register field. */
5954 #define ALT_CLKMGR_SDRPLL_DDRDQCLK_CNT_MSB        8
5955 /* The width in bits of the ALT_CLKMGR_SDRPLL_DDRDQCLK_CNT register field. */
5956 #define ALT_CLKMGR_SDRPLL_DDRDQCLK_CNT_WIDTH      9
5957 /* The mask used to set the ALT_CLKMGR_SDRPLL_DDRDQCLK_CNT register field value. */
5958 #define ALT_CLKMGR_SDRPLL_DDRDQCLK_CNT_SET_MSK    0x000001ff
5959 /* The mask used to clear the ALT_CLKMGR_SDRPLL_DDRDQCLK_CNT register field value. */
5960 #define ALT_CLKMGR_SDRPLL_DDRDQCLK_CNT_CLR_MSK    0xfffffe00
5961 /* The reset value of the ALT_CLKMGR_SDRPLL_DDRDQCLK_CNT register field. */
5962 #define ALT_CLKMGR_SDRPLL_DDRDQCLK_CNT_RESET      0x1
5963 /* Extracts the ALT_CLKMGR_SDRPLL_DDRDQCLK_CNT field value from a register. */
5964 #define ALT_CLKMGR_SDRPLL_DDRDQCLK_CNT_GET(value) (((value) & 0x000001ff) >> 0)
5965 /* Produces a ALT_CLKMGR_SDRPLL_DDRDQCLK_CNT register field value suitable for setting the register. */
5966 #define ALT_CLKMGR_SDRPLL_DDRDQCLK_CNT_SET(value) (((value) << 0) & 0x000001ff)
5967 
5968 /*
5969  * Field : Phase Shift - phase
5970  * 
5971  * Increment the phase of the VCO output by the value in this field multiplied by
5972  * 45 degrees. The accumulated phase shift is the total shifted amount since the
5973  * last assertion of the 'SDRAM All Output Divider Reset' bit in the SDRAM vco
5974  * control register. In order to guarantee the phase shift to a known value, 'SDRAM
5975  * clocks output phase align' bit should be asserted before programming this field.
5976  * 
5977  * This field is only writeable by SW when it is zero.  HW updates this field in
5978  * real time as the phase adjustment is being made.   SW may poll this field
5979  * waiting for zero indicating the phase adjustment has completed by HW.
5980  * 
5981  * Field Access Macros:
5982  * 
5983  */
5984 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_SDRPLL_DDRDQCLK_PHASE register field. */
5985 #define ALT_CLKMGR_SDRPLL_DDRDQCLK_PHASE_LSB        9
5986 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_SDRPLL_DDRDQCLK_PHASE register field. */
5987 #define ALT_CLKMGR_SDRPLL_DDRDQCLK_PHASE_MSB        20
5988 /* The width in bits of the ALT_CLKMGR_SDRPLL_DDRDQCLK_PHASE register field. */
5989 #define ALT_CLKMGR_SDRPLL_DDRDQCLK_PHASE_WIDTH      12
5990 /* The mask used to set the ALT_CLKMGR_SDRPLL_DDRDQCLK_PHASE register field value. */
5991 #define ALT_CLKMGR_SDRPLL_DDRDQCLK_PHASE_SET_MSK    0x001ffe00
5992 /* The mask used to clear the ALT_CLKMGR_SDRPLL_DDRDQCLK_PHASE register field value. */
5993 #define ALT_CLKMGR_SDRPLL_DDRDQCLK_PHASE_CLR_MSK    0xffe001ff
5994 /* The reset value of the ALT_CLKMGR_SDRPLL_DDRDQCLK_PHASE register field. */
5995 #define ALT_CLKMGR_SDRPLL_DDRDQCLK_PHASE_RESET      0x0
5996 /* Extracts the ALT_CLKMGR_SDRPLL_DDRDQCLK_PHASE field value from a register. */
5997 #define ALT_CLKMGR_SDRPLL_DDRDQCLK_PHASE_GET(value) (((value) & 0x001ffe00) >> 9)
5998 /* Produces a ALT_CLKMGR_SDRPLL_DDRDQCLK_PHASE register field value suitable for setting the register. */
5999 #define ALT_CLKMGR_SDRPLL_DDRDQCLK_PHASE_SET(value) (((value) << 9) & 0x001ffe00)
6000 
6001 #ifndef __ASSEMBLY__
6002 /*
6003  * WARNING: The C register and register group struct declarations are provided for
6004  * convenience and illustrative purposes. They should, however, be used with
6005  * caution as the C language standard provides no guarantees about the alignment or
6006  * atomicity of device memory accesses. The recommended practice for writing
6007  * hardware drivers is to use the SoCAL access macros and alt_read_word() and
6008  * alt_write_word() functions.
6009  * 
6010  * The struct declaration for register ALT_CLKMGR_SDRPLL_DDRDQCLK.
6011  */
6012 struct ALT_CLKMGR_SDRPLL_DDRDQCLK_s
6013 {
6014     uint32_t  cnt   :  9;  /* Counter */
6015     uint32_t  phase : 12;  /* Phase Shift */
6016     uint32_t        : 11;  /* *UNDEFINED* */
6017 };
6018 
6019 /* The typedef declaration for register ALT_CLKMGR_SDRPLL_DDRDQCLK. */
6020 typedef volatile struct ALT_CLKMGR_SDRPLL_DDRDQCLK_s  ALT_CLKMGR_SDRPLL_DDRDQCLK_t;
6021 #endif  /* __ASSEMBLY__ */
6022 
6023 /* The byte offset of the ALT_CLKMGR_SDRPLL_DDRDQCLK register from the beginning of the component. */
6024 #define ALT_CLKMGR_SDRPLL_DDRDQCLK_OFST        0x10
6025 
6026 /*
6027  * Register : SDRAM PLL C5 Control Register for Clock s2f_user2_clk - s2fuser2clk
6028  * 
6029  * Contains settings that control clock s2f_user2_clk generated from the C5 output
6030  * of the SDRAM PLL.
6031  * 
6032  * Qsys and user documenation refer to s2f_user2_clk as h2f_user2_clk
6033  * 
6034  * Fields are only reset by a cold reset.
6035  * 
6036  * Register Layout
6037  * 
6038  *  Bits    | Access | Reset | Description
6039  * :--------|:-------|:------|:------------
6040  *  [8:0]   | RW     | 0x1   | Counter    
6041  *  [20:9]  | RW     | 0x0   | Phase Shift
6042  *  [31:21] | ???    | 0x0   | *UNDEFINED*
6043  * 
6044  */
6045 /*
6046  * Field : Counter - cnt
6047  * 
6048  * Divides the VCO frequency by the value+1 in this field.
6049  * 
6050  * Field Access Macros:
6051  * 
6052  */
6053 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_SDRPLL_S2FUSER2CLK_CNT register field. */
6054 #define ALT_CLKMGR_SDRPLL_S2FUSER2CLK_CNT_LSB        0
6055 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_SDRPLL_S2FUSER2CLK_CNT register field. */
6056 #define ALT_CLKMGR_SDRPLL_S2FUSER2CLK_CNT_MSB        8
6057 /* The width in bits of the ALT_CLKMGR_SDRPLL_S2FUSER2CLK_CNT register field. */
6058 #define ALT_CLKMGR_SDRPLL_S2FUSER2CLK_CNT_WIDTH      9
6059 /* The mask used to set the ALT_CLKMGR_SDRPLL_S2FUSER2CLK_CNT register field value. */
6060 #define ALT_CLKMGR_SDRPLL_S2FUSER2CLK_CNT_SET_MSK    0x000001ff
6061 /* The mask used to clear the ALT_CLKMGR_SDRPLL_S2FUSER2CLK_CNT register field value. */
6062 #define ALT_CLKMGR_SDRPLL_S2FUSER2CLK_CNT_CLR_MSK    0xfffffe00
6063 /* The reset value of the ALT_CLKMGR_SDRPLL_S2FUSER2CLK_CNT register field. */
6064 #define ALT_CLKMGR_SDRPLL_S2FUSER2CLK_CNT_RESET      0x1
6065 /* Extracts the ALT_CLKMGR_SDRPLL_S2FUSER2CLK_CNT field value from a register. */
6066 #define ALT_CLKMGR_SDRPLL_S2FUSER2CLK_CNT_GET(value) (((value) & 0x000001ff) >> 0)
6067 /* Produces a ALT_CLKMGR_SDRPLL_S2FUSER2CLK_CNT register field value suitable for setting the register. */
6068 #define ALT_CLKMGR_SDRPLL_S2FUSER2CLK_CNT_SET(value) (((value) << 0) & 0x000001ff)
6069 
6070 /*
6071  * Field : Phase Shift - phase
6072  * 
6073  * Increment the phase of the VCO output by the value in this field multiplied by
6074  * 45 degrees. The accumulated phase shift is the total shifted amount since the
6075  * last assertion of the 'SDRAM All Output Divider Reset' bit in the SDRAM vco
6076  * control register. In order to guarantee the phase shift to a known value, 'SDRAM
6077  * clocks output phase align' bit should be asserted before programming this field.
6078  * 
6079  * This field is only writeable by SW when it is zero.  HW updates this field in
6080  * real time as the phase adjustment is being made.   SW may poll this field
6081  * waiting for zero indicating the phase adjustment has completed by HW.
6082  * 
6083  * Field Access Macros:
6084  * 
6085  */
6086 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_SDRPLL_S2FUSER2CLK_PHASE register field. */
6087 #define ALT_CLKMGR_SDRPLL_S2FUSER2CLK_PHASE_LSB        9
6088 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_SDRPLL_S2FUSER2CLK_PHASE register field. */
6089 #define ALT_CLKMGR_SDRPLL_S2FUSER2CLK_PHASE_MSB        20
6090 /* The width in bits of the ALT_CLKMGR_SDRPLL_S2FUSER2CLK_PHASE register field. */
6091 #define ALT_CLKMGR_SDRPLL_S2FUSER2CLK_PHASE_WIDTH      12
6092 /* The mask used to set the ALT_CLKMGR_SDRPLL_S2FUSER2CLK_PHASE register field value. */
6093 #define ALT_CLKMGR_SDRPLL_S2FUSER2CLK_PHASE_SET_MSK    0x001ffe00
6094 /* The mask used to clear the ALT_CLKMGR_SDRPLL_S2FUSER2CLK_PHASE register field value. */
6095 #define ALT_CLKMGR_SDRPLL_S2FUSER2CLK_PHASE_CLR_MSK    0xffe001ff
6096 /* The reset value of the ALT_CLKMGR_SDRPLL_S2FUSER2CLK_PHASE register field. */
6097 #define ALT_CLKMGR_SDRPLL_S2FUSER2CLK_PHASE_RESET      0x0
6098 /* Extracts the ALT_CLKMGR_SDRPLL_S2FUSER2CLK_PHASE field value from a register. */
6099 #define ALT_CLKMGR_SDRPLL_S2FUSER2CLK_PHASE_GET(value) (((value) & 0x001ffe00) >> 9)
6100 /* Produces a ALT_CLKMGR_SDRPLL_S2FUSER2CLK_PHASE register field value suitable for setting the register. */
6101 #define ALT_CLKMGR_SDRPLL_S2FUSER2CLK_PHASE_SET(value) (((value) << 9) & 0x001ffe00)
6102 
6103 #ifndef __ASSEMBLY__
6104 /*
6105  * WARNING: The C register and register group struct declarations are provided for
6106  * convenience and illustrative purposes. They should, however, be used with
6107  * caution as the C language standard provides no guarantees about the alignment or
6108  * atomicity of device memory accesses. The recommended practice for writing
6109  * hardware drivers is to use the SoCAL access macros and alt_read_word() and
6110  * alt_write_word() functions.
6111  * 
6112  * The struct declaration for register ALT_CLKMGR_SDRPLL_S2FUSER2CLK.
6113  */
6114 struct ALT_CLKMGR_SDRPLL_S2FUSER2CLK_s
6115 {
6116     uint32_t  cnt   :  9;  /* Counter */
6117     uint32_t  phase : 12;  /* Phase Shift */
6118     uint32_t        : 11;  /* *UNDEFINED* */
6119 };
6120 
6121 /* The typedef declaration for register ALT_CLKMGR_SDRPLL_S2FUSER2CLK. */
6122 typedef volatile struct ALT_CLKMGR_SDRPLL_S2FUSER2CLK_s  ALT_CLKMGR_SDRPLL_S2FUSER2CLK_t;
6123 #endif  /* __ASSEMBLY__ */
6124 
6125 /* The byte offset of the ALT_CLKMGR_SDRPLL_S2FUSER2CLK register from the beginning of the component. */
6126 #define ALT_CLKMGR_SDRPLL_S2FUSER2CLK_OFST        0x14
6127 
6128 /*
6129  * Register : Enable Register - en
6130  * 
6131  * Contains fields that control the SDRAM Clock Group enables generated from the
6132  * SDRAM PLL clock outputs.
6133  * 
6134  * 1: The clock is enabled.
6135  * 
6136  * 0: The clock is disabled.
6137  * 
6138  * Fields are only reset by a cold reset.
6139  * 
6140  * Register Layout
6141  * 
6142  *  Bits   | Access | Reset | Description          
6143  * :-------|:-------|:------|:----------------------
6144  *  [0]    | RW     | 0x1   | ddr_dqs_clk Enable   
6145  *  [1]    | RW     | 0x1   | ddr_2x_dqs_clk Enable
6146  *  [2]    | RW     | 0x1   | ddr_dq_clk Enable    
6147  *  [3]    | RW     | 0x1   | s2f_user2_clk Enable 
6148  *  [31:4] | ???    | 0x0   | *UNDEFINED*          
6149  * 
6150  */
6151 /*
6152  * Field : ddr_dqs_clk Enable - ddrdqsclk
6153  * 
6154  * Enables clock ddr_dqs_clk output
6155  * 
6156  * Field Access Macros:
6157  * 
6158  */
6159 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_SDRPLL_EN_DDRDQSCLK register field. */
6160 #define ALT_CLKMGR_SDRPLL_EN_DDRDQSCLK_LSB        0
6161 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_SDRPLL_EN_DDRDQSCLK register field. */
6162 #define ALT_CLKMGR_SDRPLL_EN_DDRDQSCLK_MSB        0
6163 /* The width in bits of the ALT_CLKMGR_SDRPLL_EN_DDRDQSCLK register field. */
6164 #define ALT_CLKMGR_SDRPLL_EN_DDRDQSCLK_WIDTH      1
6165 /* The mask used to set the ALT_CLKMGR_SDRPLL_EN_DDRDQSCLK register field value. */
6166 #define ALT_CLKMGR_SDRPLL_EN_DDRDQSCLK_SET_MSK    0x00000001
6167 /* The mask used to clear the ALT_CLKMGR_SDRPLL_EN_DDRDQSCLK register field value. */
6168 #define ALT_CLKMGR_SDRPLL_EN_DDRDQSCLK_CLR_MSK    0xfffffffe
6169 /* The reset value of the ALT_CLKMGR_SDRPLL_EN_DDRDQSCLK register field. */
6170 #define ALT_CLKMGR_SDRPLL_EN_DDRDQSCLK_RESET      0x1
6171 /* Extracts the ALT_CLKMGR_SDRPLL_EN_DDRDQSCLK field value from a register. */
6172 #define ALT_CLKMGR_SDRPLL_EN_DDRDQSCLK_GET(value) (((value) & 0x00000001) >> 0)
6173 /* Produces a ALT_CLKMGR_SDRPLL_EN_DDRDQSCLK register field value suitable for setting the register. */
6174 #define ALT_CLKMGR_SDRPLL_EN_DDRDQSCLK_SET(value) (((value) << 0) & 0x00000001)
6175 
6176 /*
6177  * Field : ddr_2x_dqs_clk Enable - ddr2xdqsclk
6178  * 
6179  * Enables clock ddr_2x_dqs_clk output
6180  * 
6181  * Field Access Macros:
6182  * 
6183  */
6184 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_SDRPLL_EN_DDR2XDQSCLK register field. */
6185 #define ALT_CLKMGR_SDRPLL_EN_DDR2XDQSCLK_LSB        1
6186 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_SDRPLL_EN_DDR2XDQSCLK register field. */
6187 #define ALT_CLKMGR_SDRPLL_EN_DDR2XDQSCLK_MSB        1
6188 /* The width in bits of the ALT_CLKMGR_SDRPLL_EN_DDR2XDQSCLK register field. */
6189 #define ALT_CLKMGR_SDRPLL_EN_DDR2XDQSCLK_WIDTH      1
6190 /* The mask used to set the ALT_CLKMGR_SDRPLL_EN_DDR2XDQSCLK register field value. */
6191 #define ALT_CLKMGR_SDRPLL_EN_DDR2XDQSCLK_SET_MSK    0x00000002
6192 /* The mask used to clear the ALT_CLKMGR_SDRPLL_EN_DDR2XDQSCLK register field value. */
6193 #define ALT_CLKMGR_SDRPLL_EN_DDR2XDQSCLK_CLR_MSK    0xfffffffd
6194 /* The reset value of the ALT_CLKMGR_SDRPLL_EN_DDR2XDQSCLK register field. */
6195 #define ALT_CLKMGR_SDRPLL_EN_DDR2XDQSCLK_RESET      0x1
6196 /* Extracts the ALT_CLKMGR_SDRPLL_EN_DDR2XDQSCLK field value from a register. */
6197 #define ALT_CLKMGR_SDRPLL_EN_DDR2XDQSCLK_GET(value) (((value) & 0x00000002) >> 1)
6198 /* Produces a ALT_CLKMGR_SDRPLL_EN_DDR2XDQSCLK register field value suitable for setting the register. */
6199 #define ALT_CLKMGR_SDRPLL_EN_DDR2XDQSCLK_SET(value) (((value) << 1) & 0x00000002)
6200 
6201 /*
6202  * Field : ddr_dq_clk Enable - ddrdqclk
6203  * 
6204  * Enables clock ddr_dq_clk output
6205  * 
6206  * Field Access Macros:
6207  * 
6208  */
6209 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_SDRPLL_EN_DDRDQCLK register field. */
6210 #define ALT_CLKMGR_SDRPLL_EN_DDRDQCLK_LSB        2
6211 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_SDRPLL_EN_DDRDQCLK register field. */
6212 #define ALT_CLKMGR_SDRPLL_EN_DDRDQCLK_MSB        2
6213 /* The width in bits of the ALT_CLKMGR_SDRPLL_EN_DDRDQCLK register field. */
6214 #define ALT_CLKMGR_SDRPLL_EN_DDRDQCLK_WIDTH      1
6215 /* The mask used to set the ALT_CLKMGR_SDRPLL_EN_DDRDQCLK register field value. */
6216 #define ALT_CLKMGR_SDRPLL_EN_DDRDQCLK_SET_MSK    0x00000004
6217 /* The mask used to clear the ALT_CLKMGR_SDRPLL_EN_DDRDQCLK register field value. */
6218 #define ALT_CLKMGR_SDRPLL_EN_DDRDQCLK_CLR_MSK    0xfffffffb
6219 /* The reset value of the ALT_CLKMGR_SDRPLL_EN_DDRDQCLK register field. */
6220 #define ALT_CLKMGR_SDRPLL_EN_DDRDQCLK_RESET      0x1
6221 /* Extracts the ALT_CLKMGR_SDRPLL_EN_DDRDQCLK field value from a register. */
6222 #define ALT_CLKMGR_SDRPLL_EN_DDRDQCLK_GET(value) (((value) & 0x00000004) >> 2)
6223 /* Produces a ALT_CLKMGR_SDRPLL_EN_DDRDQCLK register field value suitable for setting the register. */
6224 #define ALT_CLKMGR_SDRPLL_EN_DDRDQCLK_SET(value) (((value) << 2) & 0x00000004)
6225 
6226 /*
6227  * Field : s2f_user2_clk Enable - s2fuser2clk
6228  * 
6229  * Enables clock s2f_user2_clk output.
6230  * 
6231  * Qsys and user documenation refer to s2f_user2_clk as h2f_user2_clk.
6232  * 
6233  * Field Access Macros:
6234  * 
6235  */
6236 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_SDRPLL_EN_S2FUSER2CLK register field. */
6237 #define ALT_CLKMGR_SDRPLL_EN_S2FUSER2CLK_LSB        3
6238 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_SDRPLL_EN_S2FUSER2CLK register field. */
6239 #define ALT_CLKMGR_SDRPLL_EN_S2FUSER2CLK_MSB        3
6240 /* The width in bits of the ALT_CLKMGR_SDRPLL_EN_S2FUSER2CLK register field. */
6241 #define ALT_CLKMGR_SDRPLL_EN_S2FUSER2CLK_WIDTH      1
6242 /* The mask used to set the ALT_CLKMGR_SDRPLL_EN_S2FUSER2CLK register field value. */
6243 #define ALT_CLKMGR_SDRPLL_EN_S2FUSER2CLK_SET_MSK    0x00000008
6244 /* The mask used to clear the ALT_CLKMGR_SDRPLL_EN_S2FUSER2CLK register field value. */
6245 #define ALT_CLKMGR_SDRPLL_EN_S2FUSER2CLK_CLR_MSK    0xfffffff7
6246 /* The reset value of the ALT_CLKMGR_SDRPLL_EN_S2FUSER2CLK register field. */
6247 #define ALT_CLKMGR_SDRPLL_EN_S2FUSER2CLK_RESET      0x1
6248 /* Extracts the ALT_CLKMGR_SDRPLL_EN_S2FUSER2CLK field value from a register. */
6249 #define ALT_CLKMGR_SDRPLL_EN_S2FUSER2CLK_GET(value) (((value) & 0x00000008) >> 3)
6250 /* Produces a ALT_CLKMGR_SDRPLL_EN_S2FUSER2CLK register field value suitable for setting the register. */
6251 #define ALT_CLKMGR_SDRPLL_EN_S2FUSER2CLK_SET(value) (((value) << 3) & 0x00000008)
6252 
6253 #ifndef __ASSEMBLY__
6254 /*
6255  * WARNING: The C register and register group struct declarations are provided for
6256  * convenience and illustrative purposes. They should, however, be used with
6257  * caution as the C language standard provides no guarantees about the alignment or
6258  * atomicity of device memory accesses. The recommended practice for writing
6259  * hardware drivers is to use the SoCAL access macros and alt_read_word() and
6260  * alt_write_word() functions.
6261  * 
6262  * The struct declaration for register ALT_CLKMGR_SDRPLL_EN.
6263  */
6264 struct ALT_CLKMGR_SDRPLL_EN_s
6265 {
6266     uint32_t  ddrdqsclk   :  1;  /* ddr_dqs_clk Enable */
6267     uint32_t  ddr2xdqsclk :  1;  /* ddr_2x_dqs_clk Enable */
6268     uint32_t  ddrdqclk    :  1;  /* ddr_dq_clk Enable */
6269     uint32_t  s2fuser2clk :  1;  /* s2f_user2_clk Enable */
6270     uint32_t              : 28;  /* *UNDEFINED* */
6271 };
6272 
6273 /* The typedef declaration for register ALT_CLKMGR_SDRPLL_EN. */
6274 typedef volatile struct ALT_CLKMGR_SDRPLL_EN_s  ALT_CLKMGR_SDRPLL_EN_t;
6275 #endif  /* __ASSEMBLY__ */
6276 
6277 /* The byte offset of the ALT_CLKMGR_SDRPLL_EN register from the beginning of the component. */
6278 #define ALT_CLKMGR_SDRPLL_EN_OFST        0x18
6279 
6280 /*
6281  * Register : SDRAM PLL Output Counter Reset Ack Status Register - stat
6282  * 
6283  * Contains Output Clock Counter Reset acknowledge status.
6284  * 
6285  * Register Layout
6286  * 
6287  *  Bits   | Access | Reset | Description                     
6288  * :-------|:-------|:------|:---------------------------------
6289  *  [5:0]  | R      | 0x0   | Output Counter Reset Acknowledge
6290  *  [31:6] | ???    | 0x0   | *UNDEFINED*                     
6291  * 
6292  */
6293 /*
6294  * Field : Output Counter Reset Acknowledge - outresetack
6295  * 
6296  * These read only bits per PLL output indicate that the PLL has received the
6297  * Output Reset Counter request and has gracefully stopped the respective PLL
6298  * output clock.
6299  * 
6300  * For software to change the PLL output counter without producing glitches on the
6301  * respective clock, SW must set the VCO register respective Output Counter Reset
6302  * bit. Software then polls the respective Output Counter Reset Acknowledge bit in
6303  * the Output Counter Reset Ack Status Register. Software then writes the
6304  * appropriate counter register, and then clears the respective VCO register Output
6305  * Counter Reset bit.
6306  * 
6307  * The reset value of this bit is applied on a cold reset; warm reset has no affect
6308  * on this bit.
6309  * 
6310  * Field Enumeration Values:
6311  * 
6312  *  Enum                                       | Value | Description                         
6313  * :-------------------------------------------|:------|:-------------------------------------
6314  *  ALT_CLKMGR_SDRPLL_STAT_OUTRSTACK_E_IDLE    | 0x0   | Idle                                
6315  *  ALT_CLKMGR_SDRPLL_STAT_OUTRSTACK_E_ACK_RXD | 0x1   | Output Counter Acknowledge received.
6316  * 
6317  * Field Access Macros:
6318  * 
6319  */
6320 /*
6321  * Enumerated value for register field ALT_CLKMGR_SDRPLL_STAT_OUTRSTACK
6322  * 
6323  * Idle
6324  */
6325 #define ALT_CLKMGR_SDRPLL_STAT_OUTRSTACK_E_IDLE     0x0
6326 /*
6327  * Enumerated value for register field ALT_CLKMGR_SDRPLL_STAT_OUTRSTACK
6328  * 
6329  * Output Counter Acknowledge received.
6330  */
6331 #define ALT_CLKMGR_SDRPLL_STAT_OUTRSTACK_E_ACK_RXD  0x1
6332 
6333 /* The Least Significant Bit (LSB) position of the ALT_CLKMGR_SDRPLL_STAT_OUTRSTACK register field. */
6334 #define ALT_CLKMGR_SDRPLL_STAT_OUTRSTACK_LSB        0
6335 /* The Most Significant Bit (MSB) position of the ALT_CLKMGR_SDRPLL_STAT_OUTRSTACK register field. */
6336 #define ALT_CLKMGR_SDRPLL_STAT_OUTRSTACK_MSB        5
6337 /* The width in bits of the ALT_CLKMGR_SDRPLL_STAT_OUTRSTACK register field. */
6338 #define ALT_CLKMGR_SDRPLL_STAT_OUTRSTACK_WIDTH      6
6339 /* The mask used to set the ALT_CLKMGR_SDRPLL_STAT_OUTRSTACK register field value. */
6340 #define ALT_CLKMGR_SDRPLL_STAT_OUTRSTACK_SET_MSK    0x0000003f
6341 /* The mask used to clear the ALT_CLKMGR_SDRPLL_STAT_OUTRSTACK register field value. */
6342 #define ALT_CLKMGR_SDRPLL_STAT_OUTRSTACK_CLR_MSK    0xffffffc0
6343 /* The reset value of the ALT_CLKMGR_SDRPLL_STAT_OUTRSTACK register field. */
6344 #define ALT_CLKMGR_SDRPLL_STAT_OUTRSTACK_RESET      0x0
6345 /* Extracts the ALT_CLKMGR_SDRPLL_STAT_OUTRSTACK field value from a register. */
6346 #define ALT_CLKMGR_SDRPLL_STAT_OUTRSTACK_GET(value) (((value) & 0x0000003f) >> 0)
6347 /* Produces a ALT_CLKMGR_SDRPLL_STAT_OUTRSTACK register field value suitable for setting the register. */
6348 #define ALT_CLKMGR_SDRPLL_STAT_OUTRSTACK_SET(value) (((value) << 0) & 0x0000003f)
6349 
6350 #ifndef __ASSEMBLY__
6351 /*
6352  * WARNING: The C register and register group struct declarations are provided for
6353  * convenience and illustrative purposes. They should, however, be used with
6354  * caution as the C language standard provides no guarantees about the alignment or
6355  * atomicity of device memory accesses. The recommended practice for writing
6356  * hardware drivers is to use the SoCAL access macros and alt_read_word() and
6357  * alt_write_word() functions.
6358  * 
6359  * The struct declaration for register ALT_CLKMGR_SDRPLL_STAT.
6360  */
6361 struct ALT_CLKMGR_SDRPLL_STAT_s
6362 {
6363     const uint32_t  outresetack :  6;  /* Output Counter Reset Acknowledge */
6364     uint32_t                    : 26;  /* *UNDEFINED* */
6365 };
6366 
6367 /* The typedef declaration for register ALT_CLKMGR_SDRPLL_STAT. */
6368 typedef volatile struct ALT_CLKMGR_SDRPLL_STAT_s  ALT_CLKMGR_SDRPLL_STAT_t;
6369 #endif  /* __ASSEMBLY__ */
6370 
6371 /* The byte offset of the ALT_CLKMGR_SDRPLL_STAT register from the beginning of the component. */
6372 #define ALT_CLKMGR_SDRPLL_STAT_OFST        0x1c
6373 
6374 #ifndef __ASSEMBLY__
6375 /*
6376  * WARNING: The C register and register group struct declarations are provided for
6377  * convenience and illustrative purposes. They should, however, be used with
6378  * caution as the C language standard provides no guarantees about the alignment or
6379  * atomicity of device memory accesses. The recommended practice for writing
6380  * hardware drivers is to use the SoCAL access macros and alt_read_word() and
6381  * alt_write_word() functions.
6382  * 
6383  * The struct declaration for register group ALT_CLKMGR_SDRPLL.
6384  */
6385 struct ALT_CLKMGR_SDRPLL_s
6386 {
6387     volatile ALT_CLKMGR_SDRPLL_VCO_t          vco;          /* ALT_CLKMGR_SDRPLL_VCO */
6388     volatile ALT_CLKMGR_SDRPLL_CTL_t          ctrl;         /* ALT_CLKMGR_SDRPLL_CTL */
6389     volatile ALT_CLKMGR_SDRPLL_DDRDQSCLK_t    ddrdqsclk;    /* ALT_CLKMGR_SDRPLL_DDRDQSCLK */
6390     volatile ALT_CLKMGR_SDRPLL_DDR2XDQSCLK_t  ddr2xdqsclk;  /* ALT_CLKMGR_SDRPLL_DDR2XDQSCLK */
6391     volatile ALT_CLKMGR_SDRPLL_DDRDQCLK_t     ddrdqclk;     /* ALT_CLKMGR_SDRPLL_DDRDQCLK */
6392     volatile ALT_CLKMGR_SDRPLL_S2FUSER2CLK_t  s2fuser2clk;  /* ALT_CLKMGR_SDRPLL_S2FUSER2CLK */
6393     volatile ALT_CLKMGR_SDRPLL_EN_t           en;           /* ALT_CLKMGR_SDRPLL_EN */
6394     volatile ALT_CLKMGR_SDRPLL_STAT_t         stat;         /* ALT_CLKMGR_SDRPLL_STAT */
6395 };
6396 
6397 /* The typedef declaration for register group ALT_CLKMGR_SDRPLL. */
6398 typedef volatile struct ALT_CLKMGR_SDRPLL_s  ALT_CLKMGR_SDRPLL_t;
6399 /* The struct declaration for the raw register contents of register group ALT_CLKMGR_SDRPLL. */
6400 struct ALT_CLKMGR_SDRPLL_raw_s
6401 {
6402     volatile uint32_t  vco;          /* ALT_CLKMGR_SDRPLL_VCO */
6403     volatile uint32_t  ctrl;         /* ALT_CLKMGR_SDRPLL_CTL */
6404     volatile uint32_t  ddrdqsclk;    /* ALT_CLKMGR_SDRPLL_DDRDQSCLK */
6405     volatile uint32_t  ddr2xdqsclk;  /* ALT_CLKMGR_SDRPLL_DDR2XDQSCLK */
6406     volatile uint32_t  ddrdqclk;     /* ALT_CLKMGR_SDRPLL_DDRDQCLK */
6407     volatile uint32_t  s2fuser2clk;  /* ALT_CLKMGR_SDRPLL_S2FUSER2CLK */
6408     volatile uint32_t  en;           /* ALT_CLKMGR_SDRPLL_EN */
6409     volatile uint32_t  stat;         /* ALT_CLKMGR_SDRPLL_STAT */
6410 };
6411 
6412 /* The typedef declaration for the raw register contents of register group ALT_CLKMGR_SDRPLL. */
6413 typedef volatile struct ALT_CLKMGR_SDRPLL_raw_s  ALT_CLKMGR_SDRPLL_raw_t;
6414 #endif  /* __ASSEMBLY__ */
6415 
6416 
6417 #ifndef __ASSEMBLY__
6418 /*
6419  * WARNING: The C register and register group struct declarations are provided for
6420  * convenience and illustrative purposes. They should, however, be used with
6421  * caution as the C language standard provides no guarantees about the alignment or
6422  * atomicity of device memory accesses. The recommended practice for writing
6423  * hardware drivers is to use the SoCAL access macros and alt_read_word() and
6424  * alt_write_word() functions.
6425  * 
6426  * The struct declaration for register group ALT_CLKMGR.
6427  */
6428 struct ALT_CLKMGR_s
6429 {
6430     volatile ALT_CLKMGR_CTL_t      ctrl;                 /* ALT_CLKMGR_CTL */
6431     volatile ALT_CLKMGR_BYPASS_t   bypass;               /* ALT_CLKMGR_BYPASS */
6432     volatile ALT_CLKMGR_INTER_t    inter;                /* ALT_CLKMGR_INTER */
6433     volatile ALT_CLKMGR_INTREN_t   intren;               /* ALT_CLKMGR_INTREN */
6434     volatile ALT_CLKMGR_DBCTL_t    dbctrl;               /* ALT_CLKMGR_DBCTL */
6435     volatile ALT_CLKMGR_STAT_t     stat;                 /* ALT_CLKMGR_STAT */
6436     volatile uint32_t              _pad_0x18_0x3f[10];   /* *UNDEFINED* */
6437     volatile ALT_CLKMGR_MAINPLL_t  mainpllgrp;           /* ALT_CLKMGR_MAINPLL */
6438     volatile ALT_CLKMGR_PERPLL_t   perpllgrp;            /* ALT_CLKMGR_PERPLL */
6439     volatile ALT_CLKMGR_SDRPLL_t   sdrpllgrp;            /* ALT_CLKMGR_SDRPLL */
6440     volatile uint32_t              _pad_0xe0_0x200[72];  /* *UNDEFINED* */
6441 };
6442 
6443 /* The typedef declaration for register group ALT_CLKMGR. */
6444 typedef volatile struct ALT_CLKMGR_s  ALT_CLKMGR_t;
6445 /* The struct declaration for the raw register contents of register group ALT_CLKMGR. */
6446 struct ALT_CLKMGR_raw_s
6447 {
6448     volatile uint32_t                  ctrl;                 /* ALT_CLKMGR_CTL */
6449     volatile uint32_t                  bypass;               /* ALT_CLKMGR_BYPASS */
6450     volatile uint32_t                  inter;                /* ALT_CLKMGR_INTER */
6451     volatile uint32_t                  intren;               /* ALT_CLKMGR_INTREN */
6452     volatile uint32_t                  dbctrl;               /* ALT_CLKMGR_DBCTL */
6453     volatile uint32_t                  stat;                 /* ALT_CLKMGR_STAT */
6454     volatile uint32_t                  _pad_0x18_0x3f[10];   /* *UNDEFINED* */
6455     volatile ALT_CLKMGR_MAINPLL_raw_t  mainpllgrp;           /* ALT_CLKMGR_MAINPLL */
6456     volatile ALT_CLKMGR_PERPLL_raw_t   perpllgrp;            /* ALT_CLKMGR_PERPLL */
6457     volatile ALT_CLKMGR_SDRPLL_raw_t   sdrpllgrp;            /* ALT_CLKMGR_SDRPLL */
6458     volatile uint32_t                  _pad_0xe0_0x200[72];  /* *UNDEFINED* */
6459 };
6460 
6461 /* The typedef declaration for the raw register contents of register group ALT_CLKMGR. */
6462 typedef volatile struct ALT_CLKMGR_raw_s  ALT_CLKMGR_raw_t;
6463 #endif  /* __ASSEMBLY__ */
6464 
6465 
6466 #ifdef __cplusplus
6467 }
6468 #endif  /* __cplusplus */
6469 #endif  /* __ALTERA_ALT_CLKMGR_H__ */
6470