/******************************************************************************
*
* Copyright (C) 2015 Xilinx, Inc.  All rights reserved.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* Use of the Software is limited solely to applications:
* (a) running on a Xilinx device, or
* (b) that interact with a Xilinx device through a bus or interconnect.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* XILINX CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
* OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*
* Except as contained in this notice, the name of the Xilinx shall not be used
* in advertising or otherwise to promote the sale, use or other dealings in
* this Software without prior written authorization from Xilinx.
*
******************************************************************************/
/****************************************************************************/
/**
*
* @file psu_init.h
*
* This file is automatically generated
*
*****************************************************************************/


#undef CRL_APB_RPLL_CFG_OFFSET 
#define CRL_APB_RPLL_CFG_OFFSET                                                    0XFF5E0034
#undef CRL_APB_RPLL_CTRL_OFFSET 
#define CRL_APB_RPLL_CTRL_OFFSET                                                   0XFF5E0030
#undef CRL_APB_RPLL_CTRL_OFFSET 
#define CRL_APB_RPLL_CTRL_OFFSET                                                   0XFF5E0030
#undef CRL_APB_RPLL_CTRL_OFFSET 
#define CRL_APB_RPLL_CTRL_OFFSET                                                   0XFF5E0030
#undef CRL_APB_RPLL_CTRL_OFFSET 
#define CRL_APB_RPLL_CTRL_OFFSET                                                   0XFF5E0030
#undef CRL_APB_RPLL_CTRL_OFFSET 
#define CRL_APB_RPLL_CTRL_OFFSET                                                   0XFF5E0030
#undef CRL_APB_RPLL_TO_FPD_CTRL_OFFSET 
#define CRL_APB_RPLL_TO_FPD_CTRL_OFFSET                                            0XFF5E0048
#undef CRL_APB_IOPLL_CFG_OFFSET 
#define CRL_APB_IOPLL_CFG_OFFSET                                                   0XFF5E0024
#undef CRL_APB_IOPLL_CTRL_OFFSET 
#define CRL_APB_IOPLL_CTRL_OFFSET                                                  0XFF5E0020
#undef CRL_APB_IOPLL_CTRL_OFFSET 
#define CRL_APB_IOPLL_CTRL_OFFSET                                                  0XFF5E0020
#undef CRL_APB_IOPLL_CTRL_OFFSET 
#define CRL_APB_IOPLL_CTRL_OFFSET                                                  0XFF5E0020
#undef CRL_APB_IOPLL_CTRL_OFFSET 
#define CRL_APB_IOPLL_CTRL_OFFSET                                                  0XFF5E0020
#undef CRL_APB_IOPLL_CTRL_OFFSET 
#define CRL_APB_IOPLL_CTRL_OFFSET                                                  0XFF5E0020
#undef CRL_APB_IOPLL_TO_FPD_CTRL_OFFSET 
#define CRL_APB_IOPLL_TO_FPD_CTRL_OFFSET                                           0XFF5E0044
#undef CRF_APB_APLL_CFG_OFFSET 
#define CRF_APB_APLL_CFG_OFFSET                                                    0XFD1A0024
#undef CRF_APB_APLL_CTRL_OFFSET 
#define CRF_APB_APLL_CTRL_OFFSET                                                   0XFD1A0020
#undef CRF_APB_APLL_CTRL_OFFSET 
#define CRF_APB_APLL_CTRL_OFFSET                                                   0XFD1A0020
#undef CRF_APB_APLL_CTRL_OFFSET 
#define CRF_APB_APLL_CTRL_OFFSET                                                   0XFD1A0020
#undef CRF_APB_APLL_CTRL_OFFSET 
#define CRF_APB_APLL_CTRL_OFFSET                                                   0XFD1A0020
#undef CRF_APB_APLL_CTRL_OFFSET 
#define CRF_APB_APLL_CTRL_OFFSET                                                   0XFD1A0020
#undef CRF_APB_APLL_TO_LPD_CTRL_OFFSET 
#define CRF_APB_APLL_TO_LPD_CTRL_OFFSET                                            0XFD1A0048
#undef CRF_APB_DPLL_CFG_OFFSET 
#define CRF_APB_DPLL_CFG_OFFSET                                                    0XFD1A0030
#undef CRF_APB_DPLL_CTRL_OFFSET 
#define CRF_APB_DPLL_CTRL_OFFSET                                                   0XFD1A002C
#undef CRF_APB_DPLL_CTRL_OFFSET 
#define CRF_APB_DPLL_CTRL_OFFSET                                                   0XFD1A002C
#undef CRF_APB_DPLL_CTRL_OFFSET 
#define CRF_APB_DPLL_CTRL_OFFSET                                                   0XFD1A002C
#undef CRF_APB_DPLL_CTRL_OFFSET 
#define CRF_APB_DPLL_CTRL_OFFSET                                                   0XFD1A002C
#undef CRF_APB_DPLL_CTRL_OFFSET 
#define CRF_APB_DPLL_CTRL_OFFSET                                                   0XFD1A002C
#undef CRF_APB_DPLL_TO_LPD_CTRL_OFFSET 
#define CRF_APB_DPLL_TO_LPD_CTRL_OFFSET                                            0XFD1A004C
#undef CRF_APB_VPLL_CFG_OFFSET 
#define CRF_APB_VPLL_CFG_OFFSET                                                    0XFD1A003C
#undef CRF_APB_VPLL_CTRL_OFFSET 
#define CRF_APB_VPLL_CTRL_OFFSET                                                   0XFD1A0038
#undef CRF_APB_VPLL_CTRL_OFFSET 
#define CRF_APB_VPLL_CTRL_OFFSET                                                   0XFD1A0038
#undef CRF_APB_VPLL_CTRL_OFFSET 
#define CRF_APB_VPLL_CTRL_OFFSET                                                   0XFD1A0038
#undef CRF_APB_VPLL_CTRL_OFFSET 
#define CRF_APB_VPLL_CTRL_OFFSET                                                   0XFD1A0038
#undef CRF_APB_VPLL_CTRL_OFFSET 
#define CRF_APB_VPLL_CTRL_OFFSET                                                   0XFD1A0038
#undef CRF_APB_VPLL_TO_LPD_CTRL_OFFSET 
#define CRF_APB_VPLL_TO_LPD_CTRL_OFFSET                                            0XFD1A0050

/*
* PLL loop filter resistor control
*/
#undef CRL_APB_RPLL_CFG_RES_DEFVAL 
#undef CRL_APB_RPLL_CFG_RES_SHIFT 
#undef CRL_APB_RPLL_CFG_RES_MASK 
#define CRL_APB_RPLL_CFG_RES_DEFVAL                            0x00000000
#define CRL_APB_RPLL_CFG_RES_SHIFT                             0
#define CRL_APB_RPLL_CFG_RES_MASK                              0x0000000FU

/*
* PLL charge pump control
*/
#undef CRL_APB_RPLL_CFG_CP_DEFVAL 
#undef CRL_APB_RPLL_CFG_CP_SHIFT 
#undef CRL_APB_RPLL_CFG_CP_MASK 
#define CRL_APB_RPLL_CFG_CP_DEFVAL                             0x00000000
#define CRL_APB_RPLL_CFG_CP_SHIFT                              5
#define CRL_APB_RPLL_CFG_CP_MASK                               0x000001E0U

/*
* PLL loop filter high frequency capacitor control
*/
#undef CRL_APB_RPLL_CFG_LFHF_DEFVAL 
#undef CRL_APB_RPLL_CFG_LFHF_SHIFT 
#undef CRL_APB_RPLL_CFG_LFHF_MASK 
#define CRL_APB_RPLL_CFG_LFHF_DEFVAL                           0x00000000
#define CRL_APB_RPLL_CFG_LFHF_SHIFT                            10
#define CRL_APB_RPLL_CFG_LFHF_MASK                             0x00000C00U

/*
* Lock circuit counter setting
*/
#undef CRL_APB_RPLL_CFG_LOCK_CNT_DEFVAL 
#undef CRL_APB_RPLL_CFG_LOCK_CNT_SHIFT 
#undef CRL_APB_RPLL_CFG_LOCK_CNT_MASK 
#define CRL_APB_RPLL_CFG_LOCK_CNT_DEFVAL                       0x00000000
#define CRL_APB_RPLL_CFG_LOCK_CNT_SHIFT                        13
#define CRL_APB_RPLL_CFG_LOCK_CNT_MASK                         0x007FE000U

/*
* Lock circuit configuration settings for lock windowsize
*/
#undef CRL_APB_RPLL_CFG_LOCK_DLY_DEFVAL 
#undef CRL_APB_RPLL_CFG_LOCK_DLY_SHIFT 
#undef CRL_APB_RPLL_CFG_LOCK_DLY_MASK 
#define CRL_APB_RPLL_CFG_LOCK_DLY_DEFVAL                       0x00000000
#define CRL_APB_RPLL_CFG_LOCK_DLY_SHIFT                        25
#define CRL_APB_RPLL_CFG_LOCK_DLY_MASK                         0xFE000000U

/*
* Mux select for determining which clock feeds this PLL. 0XX pss_ref_clk i
    * s the source 100 video clk is the source 101 pss_alt_ref_clk is the sour
    * ce 110 aux_refclk[X] is the source 111 gt_crx_ref_clk is the source
*/
#undef CRL_APB_RPLL_CTRL_PRE_SRC_DEFVAL 
#undef CRL_APB_RPLL_CTRL_PRE_SRC_SHIFT 
#undef CRL_APB_RPLL_CTRL_PRE_SRC_MASK 
#define CRL_APB_RPLL_CTRL_PRE_SRC_DEFVAL                       0x00012C09
#define CRL_APB_RPLL_CTRL_PRE_SRC_SHIFT                        20
#define CRL_APB_RPLL_CTRL_PRE_SRC_MASK                         0x00700000U

/*
* The integer portion of the feedback divider to the PLL
*/
#undef CRL_APB_RPLL_CTRL_FBDIV_DEFVAL 
#undef CRL_APB_RPLL_CTRL_FBDIV_SHIFT 
#undef CRL_APB_RPLL_CTRL_FBDIV_MASK 
#define CRL_APB_RPLL_CTRL_FBDIV_DEFVAL                         0x00012C09
#define CRL_APB_RPLL_CTRL_FBDIV_SHIFT                          8
#define CRL_APB_RPLL_CTRL_FBDIV_MASK                           0x00007F00U

/*
* This turns on the divide by 2 that is inside of the PLL. This does not c
    * hange the VCO frequency, just the output frequency
*/
#undef CRL_APB_RPLL_CTRL_DIV2_DEFVAL 
#undef CRL_APB_RPLL_CTRL_DIV2_SHIFT 
#undef CRL_APB_RPLL_CTRL_DIV2_MASK 
#define CRL_APB_RPLL_CTRL_DIV2_DEFVAL                          0x00012C09
#define CRL_APB_RPLL_CTRL_DIV2_SHIFT                           16
#define CRL_APB_RPLL_CTRL_DIV2_MASK                            0x00010000U

/*
* Bypasses the PLL clock. The usable clock will be determined from the POS
    * T_SRC field. (This signal may only be toggled after 4 cycles of the old
    * clock and 4 cycles of the new clock. This is not usually an issue, but d
    * esigners must be aware.)
*/
#undef CRL_APB_RPLL_CTRL_BYPASS_DEFVAL 
#undef CRL_APB_RPLL_CTRL_BYPASS_SHIFT 
#undef CRL_APB_RPLL_CTRL_BYPASS_MASK 
#define CRL_APB_RPLL_CTRL_BYPASS_DEFVAL                        0x00012C09
#define CRL_APB_RPLL_CTRL_BYPASS_SHIFT                         3
#define CRL_APB_RPLL_CTRL_BYPASS_MASK                          0x00000008U

/*
* Asserts Reset to the PLL. When asserting reset, the PLL must already be
    * in BYPASS.
*/
#undef CRL_APB_RPLL_CTRL_RESET_DEFVAL 
#undef CRL_APB_RPLL_CTRL_RESET_SHIFT 
#undef CRL_APB_RPLL_CTRL_RESET_MASK 
#define CRL_APB_RPLL_CTRL_RESET_DEFVAL                         0x00012C09
#define CRL_APB_RPLL_CTRL_RESET_SHIFT                          0
#define CRL_APB_RPLL_CTRL_RESET_MASK                           0x00000001U

/*
* Asserts Reset to the PLL. When asserting reset, the PLL must already be
    * in BYPASS.
*/
#undef CRL_APB_RPLL_CTRL_RESET_DEFVAL 
#undef CRL_APB_RPLL_CTRL_RESET_SHIFT 
#undef CRL_APB_RPLL_CTRL_RESET_MASK 
#define CRL_APB_RPLL_CTRL_RESET_DEFVAL                         0x00012C09
#define CRL_APB_RPLL_CTRL_RESET_SHIFT                          0
#define CRL_APB_RPLL_CTRL_RESET_MASK                           0x00000001U

/*
* RPLL is locked
*/
#undef CRL_APB_PLL_STATUS_RPLL_LOCK_DEFVAL 
#undef CRL_APB_PLL_STATUS_RPLL_LOCK_SHIFT 
#undef CRL_APB_PLL_STATUS_RPLL_LOCK_MASK 
#define CRL_APB_PLL_STATUS_RPLL_LOCK_DEFVAL                    0x00000018
#define CRL_APB_PLL_STATUS_RPLL_LOCK_SHIFT                     1
#define CRL_APB_PLL_STATUS_RPLL_LOCK_MASK                      0x00000002U
#define CRL_APB_PLL_STATUS_OFFSET                                                  0XFF5E0040

/*
* Bypasses the PLL clock. The usable clock will be determined from the POS
    * T_SRC field. (This signal may only be toggled after 4 cycles of the old
    * clock and 4 cycles of the new clock. This is not usually an issue, but d
    * esigners must be aware.)
*/
#undef CRL_APB_RPLL_CTRL_BYPASS_DEFVAL 
#undef CRL_APB_RPLL_CTRL_BYPASS_SHIFT 
#undef CRL_APB_RPLL_CTRL_BYPASS_MASK 
#define CRL_APB_RPLL_CTRL_BYPASS_DEFVAL                        0x00012C09
#define CRL_APB_RPLL_CTRL_BYPASS_SHIFT                         3
#define CRL_APB_RPLL_CTRL_BYPASS_MASK                          0x00000008U

/*
* Divisor value for this clock.
*/
#undef CRL_APB_RPLL_TO_FPD_CTRL_DIVISOR0_DEFVAL 
#undef CRL_APB_RPLL_TO_FPD_CTRL_DIVISOR0_SHIFT 
#undef CRL_APB_RPLL_TO_FPD_CTRL_DIVISOR0_MASK 
#define CRL_APB_RPLL_TO_FPD_CTRL_DIVISOR0_DEFVAL               0x00000400
#define CRL_APB_RPLL_TO_FPD_CTRL_DIVISOR0_SHIFT                8
#define CRL_APB_RPLL_TO_FPD_CTRL_DIVISOR0_MASK                 0x00003F00U

/*
* PLL loop filter resistor control
*/
#undef CRL_APB_IOPLL_CFG_RES_DEFVAL 
#undef CRL_APB_IOPLL_CFG_RES_SHIFT 
#undef CRL_APB_IOPLL_CFG_RES_MASK 
#define CRL_APB_IOPLL_CFG_RES_DEFVAL                           0x00000000
#define CRL_APB_IOPLL_CFG_RES_SHIFT                            0
#define CRL_APB_IOPLL_CFG_RES_MASK                             0x0000000FU

/*
* PLL charge pump control
*/
#undef CRL_APB_IOPLL_CFG_CP_DEFVAL 
#undef CRL_APB_IOPLL_CFG_CP_SHIFT 
#undef CRL_APB_IOPLL_CFG_CP_MASK 
#define CRL_APB_IOPLL_CFG_CP_DEFVAL                            0x00000000
#define CRL_APB_IOPLL_CFG_CP_SHIFT                             5
#define CRL_APB_IOPLL_CFG_CP_MASK                              0x000001E0U

/*
* PLL loop filter high frequency capacitor control
*/
#undef CRL_APB_IOPLL_CFG_LFHF_DEFVAL 
#undef CRL_APB_IOPLL_CFG_LFHF_SHIFT 
#undef CRL_APB_IOPLL_CFG_LFHF_MASK 
#define CRL_APB_IOPLL_CFG_LFHF_DEFVAL                          0x00000000
#define CRL_APB_IOPLL_CFG_LFHF_SHIFT                           10
#define CRL_APB_IOPLL_CFG_LFHF_MASK                            0x00000C00U

/*
* Lock circuit counter setting
*/
#undef CRL_APB_IOPLL_CFG_LOCK_CNT_DEFVAL 
#undef CRL_APB_IOPLL_CFG_LOCK_CNT_SHIFT 
#undef CRL_APB_IOPLL_CFG_LOCK_CNT_MASK 
#define CRL_APB_IOPLL_CFG_LOCK_CNT_DEFVAL                      0x00000000
#define CRL_APB_IOPLL_CFG_LOCK_CNT_SHIFT                       13
#define CRL_APB_IOPLL_CFG_LOCK_CNT_MASK                        0x007FE000U

/*
* Lock circuit configuration settings for lock windowsize
*/
#undef CRL_APB_IOPLL_CFG_LOCK_DLY_DEFVAL 
#undef CRL_APB_IOPLL_CFG_LOCK_DLY_SHIFT 
#undef CRL_APB_IOPLL_CFG_LOCK_DLY_MASK 
#define CRL_APB_IOPLL_CFG_LOCK_DLY_DEFVAL                      0x00000000
#define CRL_APB_IOPLL_CFG_LOCK_DLY_SHIFT                       25
#define CRL_APB_IOPLL_CFG_LOCK_DLY_MASK                        0xFE000000U

/*
* Mux select for determining which clock feeds this PLL. 0XX pss_ref_clk i
    * s the source 100 video clk is the source 101 pss_alt_ref_clk is the sour
    * ce 110 aux_refclk[X] is the source 111 gt_crx_ref_clk is the source
*/
#undef CRL_APB_IOPLL_CTRL_PRE_SRC_DEFVAL 
#undef CRL_APB_IOPLL_CTRL_PRE_SRC_SHIFT 
#undef CRL_APB_IOPLL_CTRL_PRE_SRC_MASK 
#define CRL_APB_IOPLL_CTRL_PRE_SRC_DEFVAL                      0x00012C09
#define CRL_APB_IOPLL_CTRL_PRE_SRC_SHIFT                       20
#define CRL_APB_IOPLL_CTRL_PRE_SRC_MASK                        0x00700000U

/*
* The integer portion of the feedback divider to the PLL
*/
#undef CRL_APB_IOPLL_CTRL_FBDIV_DEFVAL 
#undef CRL_APB_IOPLL_CTRL_FBDIV_SHIFT 
#undef CRL_APB_IOPLL_CTRL_FBDIV_MASK 
#define CRL_APB_IOPLL_CTRL_FBDIV_DEFVAL                        0x00012C09
#define CRL_APB_IOPLL_CTRL_FBDIV_SHIFT                         8
#define CRL_APB_IOPLL_CTRL_FBDIV_MASK                          0x00007F00U

/*
* This turns on the divide by 2 that is inside of the PLL. This does not c
    * hange the VCO frequency, just the output frequency
*/
#undef CRL_APB_IOPLL_CTRL_DIV2_DEFVAL 
#undef CRL_APB_IOPLL_CTRL_DIV2_SHIFT 
#undef CRL_APB_IOPLL_CTRL_DIV2_MASK 
#define CRL_APB_IOPLL_CTRL_DIV2_DEFVAL                         0x00012C09
#define CRL_APB_IOPLL_CTRL_DIV2_SHIFT                          16
#define CRL_APB_IOPLL_CTRL_DIV2_MASK                           0x00010000U

/*
* Bypasses the PLL clock. The usable clock will be determined from the POS
    * T_SRC field. (This signal may only be toggled after 4 cycles of the old
    * clock and 4 cycles of the new clock. This is not usually an issue, but d
    * esigners must be aware.)
*/
#undef CRL_APB_IOPLL_CTRL_BYPASS_DEFVAL 
#undef CRL_APB_IOPLL_CTRL_BYPASS_SHIFT 
#undef CRL_APB_IOPLL_CTRL_BYPASS_MASK 
#define CRL_APB_IOPLL_CTRL_BYPASS_DEFVAL                       0x00012C09
#define CRL_APB_IOPLL_CTRL_BYPASS_SHIFT                        3
#define CRL_APB_IOPLL_CTRL_BYPASS_MASK                         0x00000008U

/*
* Asserts Reset to the PLL. When asserting reset, the PLL must already be
    * in BYPASS.
*/
#undef CRL_APB_IOPLL_CTRL_RESET_DEFVAL 
#undef CRL_APB_IOPLL_CTRL_RESET_SHIFT 
#undef CRL_APB_IOPLL_CTRL_RESET_MASK 
#define CRL_APB_IOPLL_CTRL_RESET_DEFVAL                        0x00012C09
#define CRL_APB_IOPLL_CTRL_RESET_SHIFT                         0
#define CRL_APB_IOPLL_CTRL_RESET_MASK                          0x00000001U

/*
* Asserts Reset to the PLL. When asserting reset, the PLL must already be
    * in BYPASS.
*/
#undef CRL_APB_IOPLL_CTRL_RESET_DEFVAL 
#undef CRL_APB_IOPLL_CTRL_RESET_SHIFT 
#undef CRL_APB_IOPLL_CTRL_RESET_MASK 
#define CRL_APB_IOPLL_CTRL_RESET_DEFVAL                        0x00012C09
#define CRL_APB_IOPLL_CTRL_RESET_SHIFT                         0
#define CRL_APB_IOPLL_CTRL_RESET_MASK                          0x00000001U

/*
* IOPLL is locked
*/
#undef CRL_APB_PLL_STATUS_IOPLL_LOCK_DEFVAL 
#undef CRL_APB_PLL_STATUS_IOPLL_LOCK_SHIFT 
#undef CRL_APB_PLL_STATUS_IOPLL_LOCK_MASK 
#define CRL_APB_PLL_STATUS_IOPLL_LOCK_DEFVAL                   0x00000018
#define CRL_APB_PLL_STATUS_IOPLL_LOCK_SHIFT                    0
#define CRL_APB_PLL_STATUS_IOPLL_LOCK_MASK                     0x00000001U
#define CRL_APB_PLL_STATUS_OFFSET                                                  0XFF5E0040

/*
* Bypasses the PLL clock. The usable clock will be determined from the POS
    * T_SRC field. (This signal may only be toggled after 4 cycles of the old
    * clock and 4 cycles of the new clock. This is not usually an issue, but d
    * esigners must be aware.)
*/
#undef CRL_APB_IOPLL_CTRL_BYPASS_DEFVAL 
#undef CRL_APB_IOPLL_CTRL_BYPASS_SHIFT 
#undef CRL_APB_IOPLL_CTRL_BYPASS_MASK 
#define CRL_APB_IOPLL_CTRL_BYPASS_DEFVAL                       0x00012C09
#define CRL_APB_IOPLL_CTRL_BYPASS_SHIFT                        3
#define CRL_APB_IOPLL_CTRL_BYPASS_MASK                         0x00000008U

/*
* Divisor value for this clock.
*/
#undef CRL_APB_IOPLL_TO_FPD_CTRL_DIVISOR0_DEFVAL 
#undef CRL_APB_IOPLL_TO_FPD_CTRL_DIVISOR0_SHIFT 
#undef CRL_APB_IOPLL_TO_FPD_CTRL_DIVISOR0_MASK 
#define CRL_APB_IOPLL_TO_FPD_CTRL_DIVISOR0_DEFVAL              0x00000400
#define CRL_APB_IOPLL_TO_FPD_CTRL_DIVISOR0_SHIFT               8
#define CRL_APB_IOPLL_TO_FPD_CTRL_DIVISOR0_MASK                0x00003F00U

/*
* PLL loop filter resistor control
*/
#undef CRF_APB_APLL_CFG_RES_DEFVAL 
#undef CRF_APB_APLL_CFG_RES_SHIFT 
#undef CRF_APB_APLL_CFG_RES_MASK 
#define CRF_APB_APLL_CFG_RES_DEFVAL                            0x00000000
#define CRF_APB_APLL_CFG_RES_SHIFT                             0
#define CRF_APB_APLL_CFG_RES_MASK                              0x0000000FU

/*
* PLL charge pump control
*/
#undef CRF_APB_APLL_CFG_CP_DEFVAL 
#undef CRF_APB_APLL_CFG_CP_SHIFT 
#undef CRF_APB_APLL_CFG_CP_MASK 
#define CRF_APB_APLL_CFG_CP_DEFVAL                             0x00000000
#define CRF_APB_APLL_CFG_CP_SHIFT                              5
#define CRF_APB_APLL_CFG_CP_MASK                               0x000001E0U

/*
* PLL loop filter high frequency capacitor control
*/
#undef CRF_APB_APLL_CFG_LFHF_DEFVAL 
#undef CRF_APB_APLL_CFG_LFHF_SHIFT 
#undef CRF_APB_APLL_CFG_LFHF_MASK 
#define CRF_APB_APLL_CFG_LFHF_DEFVAL                           0x00000000
#define CRF_APB_APLL_CFG_LFHF_SHIFT                            10
#define CRF_APB_APLL_CFG_LFHF_MASK                             0x00000C00U

/*
* Lock circuit counter setting
*/
#undef CRF_APB_APLL_CFG_LOCK_CNT_DEFVAL 
#undef CRF_APB_APLL_CFG_LOCK_CNT_SHIFT 
#undef CRF_APB_APLL_CFG_LOCK_CNT_MASK 
#define CRF_APB_APLL_CFG_LOCK_CNT_DEFVAL                       0x00000000
#define CRF_APB_APLL_CFG_LOCK_CNT_SHIFT                        13
#define CRF_APB_APLL_CFG_LOCK_CNT_MASK                         0x007FE000U

/*
* Lock circuit configuration settings for lock windowsize
*/
#undef CRF_APB_APLL_CFG_LOCK_DLY_DEFVAL 
#undef CRF_APB_APLL_CFG_LOCK_DLY_SHIFT 
#undef CRF_APB_APLL_CFG_LOCK_DLY_MASK 
#define CRF_APB_APLL_CFG_LOCK_DLY_DEFVAL                       0x00000000
#define CRF_APB_APLL_CFG_LOCK_DLY_SHIFT                        25
#define CRF_APB_APLL_CFG_LOCK_DLY_MASK                         0xFE000000U

/*
* Mux select for determining which clock feeds this PLL. 0XX pss_ref_clk i
    * s the source 100 video clk is the source 101 pss_alt_ref_clk is the sour
    * ce 110 aux_refclk[X] is the source 111 gt_crx_ref_clk is the source
*/
#undef CRF_APB_APLL_CTRL_PRE_SRC_DEFVAL 
#undef CRF_APB_APLL_CTRL_PRE_SRC_SHIFT 
#undef CRF_APB_APLL_CTRL_PRE_SRC_MASK 
#define CRF_APB_APLL_CTRL_PRE_SRC_DEFVAL                       0x00012C09
#define CRF_APB_APLL_CTRL_PRE_SRC_SHIFT                        20
#define CRF_APB_APLL_CTRL_PRE_SRC_MASK                         0x00700000U

/*
* The integer portion of the feedback divider to the PLL
*/
#undef CRF_APB_APLL_CTRL_FBDIV_DEFVAL 
#undef CRF_APB_APLL_CTRL_FBDIV_SHIFT 
#undef CRF_APB_APLL_CTRL_FBDIV_MASK 
#define CRF_APB_APLL_CTRL_FBDIV_DEFVAL                         0x00012C09
#define CRF_APB_APLL_CTRL_FBDIV_SHIFT                          8
#define CRF_APB_APLL_CTRL_FBDIV_MASK                           0x00007F00U

/*
* This turns on the divide by 2 that is inside of the PLL. This does not c
    * hange the VCO frequency, just the output frequency
*/
#undef CRF_APB_APLL_CTRL_DIV2_DEFVAL 
#undef CRF_APB_APLL_CTRL_DIV2_SHIFT 
#undef CRF_APB_APLL_CTRL_DIV2_MASK 
#define CRF_APB_APLL_CTRL_DIV2_DEFVAL                          0x00012C09
#define CRF_APB_APLL_CTRL_DIV2_SHIFT                           16
#define CRF_APB_APLL_CTRL_DIV2_MASK                            0x00010000U

/*
* Bypasses the PLL clock. The usable clock will be determined from the POS
    * T_SRC field. (This signal may only be toggled after 4 cycles of the old
    * clock and 4 cycles of the new clock. This is not usually an issue, but d
    * esigners must be aware.)
*/
#undef CRF_APB_APLL_CTRL_BYPASS_DEFVAL 
#undef CRF_APB_APLL_CTRL_BYPASS_SHIFT 
#undef CRF_APB_APLL_CTRL_BYPASS_MASK 
#define CRF_APB_APLL_CTRL_BYPASS_DEFVAL                        0x00012C09
#define CRF_APB_APLL_CTRL_BYPASS_SHIFT                         3
#define CRF_APB_APLL_CTRL_BYPASS_MASK                          0x00000008U

/*
* Asserts Reset to the PLL. When asserting reset, the PLL must already be
    * in BYPASS.
*/
#undef CRF_APB_APLL_CTRL_RESET_DEFVAL 
#undef CRF_APB_APLL_CTRL_RESET_SHIFT 
#undef CRF_APB_APLL_CTRL_RESET_MASK 
#define CRF_APB_APLL_CTRL_RESET_DEFVAL                         0x00012C09
#define CRF_APB_APLL_CTRL_RESET_SHIFT                          0
#define CRF_APB_APLL_CTRL_RESET_MASK                           0x00000001U

/*
* Asserts Reset to the PLL. When asserting reset, the PLL must already be
    * in BYPASS.
*/
#undef CRF_APB_APLL_CTRL_RESET_DEFVAL 
#undef CRF_APB_APLL_CTRL_RESET_SHIFT 
#undef CRF_APB_APLL_CTRL_RESET_MASK 
#define CRF_APB_APLL_CTRL_RESET_DEFVAL                         0x00012C09
#define CRF_APB_APLL_CTRL_RESET_SHIFT                          0
#define CRF_APB_APLL_CTRL_RESET_MASK                           0x00000001U

/*
* APLL is locked
*/
#undef CRF_APB_PLL_STATUS_APLL_LOCK_DEFVAL 
#undef CRF_APB_PLL_STATUS_APLL_LOCK_SHIFT 
#undef CRF_APB_PLL_STATUS_APLL_LOCK_MASK 
#define CRF_APB_PLL_STATUS_APLL_LOCK_DEFVAL                    0x00000038
#define CRF_APB_PLL_STATUS_APLL_LOCK_SHIFT                     0
#define CRF_APB_PLL_STATUS_APLL_LOCK_MASK                      0x00000001U
#define CRF_APB_PLL_STATUS_OFFSET                                                  0XFD1A0044

/*
* Bypasses the PLL clock. The usable clock will be determined from the POS
    * T_SRC field. (This signal may only be toggled after 4 cycles of the old
    * clock and 4 cycles of the new clock. This is not usually an issue, but d
    * esigners must be aware.)
*/
#undef CRF_APB_APLL_CTRL_BYPASS_DEFVAL 
#undef CRF_APB_APLL_CTRL_BYPASS_SHIFT 
#undef CRF_APB_APLL_CTRL_BYPASS_MASK 
#define CRF_APB_APLL_CTRL_BYPASS_DEFVAL                        0x00012C09
#define CRF_APB_APLL_CTRL_BYPASS_SHIFT                         3
#define CRF_APB_APLL_CTRL_BYPASS_MASK                          0x00000008U

/*
* Divisor value for this clock.
*/
#undef CRF_APB_APLL_TO_LPD_CTRL_DIVISOR0_DEFVAL 
#undef CRF_APB_APLL_TO_LPD_CTRL_DIVISOR0_SHIFT 
#undef CRF_APB_APLL_TO_LPD_CTRL_DIVISOR0_MASK 
#define CRF_APB_APLL_TO_LPD_CTRL_DIVISOR0_DEFVAL               0x00000400
#define CRF_APB_APLL_TO_LPD_CTRL_DIVISOR0_SHIFT                8
#define CRF_APB_APLL_TO_LPD_CTRL_DIVISOR0_MASK                 0x00003F00U

/*
* PLL loop filter resistor control
*/
#undef CRF_APB_DPLL_CFG_RES_DEFVAL 
#undef CRF_APB_DPLL_CFG_RES_SHIFT 
#undef CRF_APB_DPLL_CFG_RES_MASK 
#define CRF_APB_DPLL_CFG_RES_DEFVAL                            0x00000000
#define CRF_APB_DPLL_CFG_RES_SHIFT                             0
#define CRF_APB_DPLL_CFG_RES_MASK                              0x0000000FU

/*
* PLL charge pump control
*/
#undef CRF_APB_DPLL_CFG_CP_DEFVAL 
#undef CRF_APB_DPLL_CFG_CP_SHIFT 
#undef CRF_APB_DPLL_CFG_CP_MASK 
#define CRF_APB_DPLL_CFG_CP_DEFVAL                             0x00000000
#define CRF_APB_DPLL_CFG_CP_SHIFT                              5
#define CRF_APB_DPLL_CFG_CP_MASK                               0x000001E0U

/*
* PLL loop filter high frequency capacitor control
*/
#undef CRF_APB_DPLL_CFG_LFHF_DEFVAL 
#undef CRF_APB_DPLL_CFG_LFHF_SHIFT 
#undef CRF_APB_DPLL_CFG_LFHF_MASK 
#define CRF_APB_DPLL_CFG_LFHF_DEFVAL                           0x00000000
#define CRF_APB_DPLL_CFG_LFHF_SHIFT                            10
#define CRF_APB_DPLL_CFG_LFHF_MASK                             0x00000C00U

/*
* Lock circuit counter setting
*/
#undef CRF_APB_DPLL_CFG_LOCK_CNT_DEFVAL 
#undef CRF_APB_DPLL_CFG_LOCK_CNT_SHIFT 
#undef CRF_APB_DPLL_CFG_LOCK_CNT_MASK 
#define CRF_APB_DPLL_CFG_LOCK_CNT_DEFVAL                       0x00000000
#define CRF_APB_DPLL_CFG_LOCK_CNT_SHIFT                        13
#define CRF_APB_DPLL_CFG_LOCK_CNT_MASK                         0x007FE000U

/*
* Lock circuit configuration settings for lock windowsize
*/
#undef CRF_APB_DPLL_CFG_LOCK_DLY_DEFVAL 
#undef CRF_APB_DPLL_CFG_LOCK_DLY_SHIFT 
#undef CRF_APB_DPLL_CFG_LOCK_DLY_MASK 
#define CRF_APB_DPLL_CFG_LOCK_DLY_DEFVAL                       0x00000000
#define CRF_APB_DPLL_CFG_LOCK_DLY_SHIFT                        25
#define CRF_APB_DPLL_CFG_LOCK_DLY_MASK                         0xFE000000U

/*
* Mux select for determining which clock feeds this PLL. 0XX pss_ref_clk i
    * s the source 100 video clk is the source 101 pss_alt_ref_clk is the sour
    * ce 110 aux_refclk[X] is the source 111 gt_crx_ref_clk is the source
*/
#undef CRF_APB_DPLL_CTRL_PRE_SRC_DEFVAL 
#undef CRF_APB_DPLL_CTRL_PRE_SRC_SHIFT 
#undef CRF_APB_DPLL_CTRL_PRE_SRC_MASK 
#define CRF_APB_DPLL_CTRL_PRE_SRC_DEFVAL                       0x00002C09
#define CRF_APB_DPLL_CTRL_PRE_SRC_SHIFT                        20
#define CRF_APB_DPLL_CTRL_PRE_SRC_MASK                         0x00700000U

/*
* The integer portion of the feedback divider to the PLL
*/
#undef CRF_APB_DPLL_CTRL_FBDIV_DEFVAL 
#undef CRF_APB_DPLL_CTRL_FBDIV_SHIFT 
#undef CRF_APB_DPLL_CTRL_FBDIV_MASK 
#define CRF_APB_DPLL_CTRL_FBDIV_DEFVAL                         0x00002C09
#define CRF_APB_DPLL_CTRL_FBDIV_SHIFT                          8
#define CRF_APB_DPLL_CTRL_FBDIV_MASK                           0x00007F00U

/*
* This turns on the divide by 2 that is inside of the PLL. This does not c
    * hange the VCO frequency, just the output frequency
*/
#undef CRF_APB_DPLL_CTRL_DIV2_DEFVAL 
#undef CRF_APB_DPLL_CTRL_DIV2_SHIFT 
#undef CRF_APB_DPLL_CTRL_DIV2_MASK 
#define CRF_APB_DPLL_CTRL_DIV2_DEFVAL                          0x00002C09
#define CRF_APB_DPLL_CTRL_DIV2_SHIFT                           16
#define CRF_APB_DPLL_CTRL_DIV2_MASK                            0x00010000U

/*
* Bypasses the PLL clock. The usable clock will be determined from the POS
    * T_SRC field. (This signal may only be toggled after 4 cycles of the old
    * clock and 4 cycles of the new clock. This is not usually an issue, but d
    * esigners must be aware.)
*/
#undef CRF_APB_DPLL_CTRL_BYPASS_DEFVAL 
#undef CRF_APB_DPLL_CTRL_BYPASS_SHIFT 
#undef CRF_APB_DPLL_CTRL_BYPASS_MASK 
#define CRF_APB_DPLL_CTRL_BYPASS_DEFVAL                        0x00002C09
#define CRF_APB_DPLL_CTRL_BYPASS_SHIFT                         3
#define CRF_APB_DPLL_CTRL_BYPASS_MASK                          0x00000008U

/*
* Asserts Reset to the PLL. When asserting reset, the PLL must already be
    * in BYPASS.
*/
#undef CRF_APB_DPLL_CTRL_RESET_DEFVAL 
#undef CRF_APB_DPLL_CTRL_RESET_SHIFT 
#undef CRF_APB_DPLL_CTRL_RESET_MASK 
#define CRF_APB_DPLL_CTRL_RESET_DEFVAL                         0x00002C09
#define CRF_APB_DPLL_CTRL_RESET_SHIFT                          0
#define CRF_APB_DPLL_CTRL_RESET_MASK                           0x00000001U

/*
* Asserts Reset to the PLL. When asserting reset, the PLL must already be
    * in BYPASS.
*/
#undef CRF_APB_DPLL_CTRL_RESET_DEFVAL 
#undef CRF_APB_DPLL_CTRL_RESET_SHIFT 
#undef CRF_APB_DPLL_CTRL_RESET_MASK 
#define CRF_APB_DPLL_CTRL_RESET_DEFVAL                         0x00002C09
#define CRF_APB_DPLL_CTRL_RESET_SHIFT                          0
#define CRF_APB_DPLL_CTRL_RESET_MASK                           0x00000001U

/*
* DPLL is locked
*/
#undef CRF_APB_PLL_STATUS_DPLL_LOCK_DEFVAL 
#undef CRF_APB_PLL_STATUS_DPLL_LOCK_SHIFT 
#undef CRF_APB_PLL_STATUS_DPLL_LOCK_MASK 
#define CRF_APB_PLL_STATUS_DPLL_LOCK_DEFVAL                    0x00000038
#define CRF_APB_PLL_STATUS_DPLL_LOCK_SHIFT                     1
#define CRF_APB_PLL_STATUS_DPLL_LOCK_MASK                      0x00000002U
#define CRF_APB_PLL_STATUS_OFFSET                                                  0XFD1A0044

/*
* Bypasses the PLL clock. The usable clock will be determined from the POS
    * T_SRC field. (This signal may only be toggled after 4 cycles of the old
    * clock and 4 cycles of the new clock. This is not usually an issue, but d
    * esigners must be aware.)
*/
#undef CRF_APB_DPLL_CTRL_BYPASS_DEFVAL 
#undef CRF_APB_DPLL_CTRL_BYPASS_SHIFT 
#undef CRF_APB_DPLL_CTRL_BYPASS_MASK 
#define CRF_APB_DPLL_CTRL_BYPASS_DEFVAL                        0x00002C09
#define CRF_APB_DPLL_CTRL_BYPASS_SHIFT                         3
#define CRF_APB_DPLL_CTRL_BYPASS_MASK                          0x00000008U

/*
* Divisor value for this clock.
*/
#undef CRF_APB_DPLL_TO_LPD_CTRL_DIVISOR0_DEFVAL 
#undef CRF_APB_DPLL_TO_LPD_CTRL_DIVISOR0_SHIFT 
#undef CRF_APB_DPLL_TO_LPD_CTRL_DIVISOR0_MASK 
#define CRF_APB_DPLL_TO_LPD_CTRL_DIVISOR0_DEFVAL               0x00000400
#define CRF_APB_DPLL_TO_LPD_CTRL_DIVISOR0_SHIFT                8
#define CRF_APB_DPLL_TO_LPD_CTRL_DIVISOR0_MASK                 0x00003F00U

/*
* PLL loop filter resistor control
*/
#undef CRF_APB_VPLL_CFG_RES_DEFVAL 
#undef CRF_APB_VPLL_CFG_RES_SHIFT 
#undef CRF_APB_VPLL_CFG_RES_MASK 
#define CRF_APB_VPLL_CFG_RES_DEFVAL                            0x00000000
#define CRF_APB_VPLL_CFG_RES_SHIFT                             0
#define CRF_APB_VPLL_CFG_RES_MASK                              0x0000000FU

/*
* PLL charge pump control
*/
#undef CRF_APB_VPLL_CFG_CP_DEFVAL 
#undef CRF_APB_VPLL_CFG_CP_SHIFT 
#undef CRF_APB_VPLL_CFG_CP_MASK 
#define CRF_APB_VPLL_CFG_CP_DEFVAL                             0x00000000
#define CRF_APB_VPLL_CFG_CP_SHIFT                              5
#define CRF_APB_VPLL_CFG_CP_MASK                               0x000001E0U

/*
* PLL loop filter high frequency capacitor control
*/
#undef CRF_APB_VPLL_CFG_LFHF_DEFVAL 
#undef CRF_APB_VPLL_CFG_LFHF_SHIFT 
#undef CRF_APB_VPLL_CFG_LFHF_MASK 
#define CRF_APB_VPLL_CFG_LFHF_DEFVAL                           0x00000000
#define CRF_APB_VPLL_CFG_LFHF_SHIFT                            10
#define CRF_APB_VPLL_CFG_LFHF_MASK                             0x00000C00U

/*
* Lock circuit counter setting
*/
#undef CRF_APB_VPLL_CFG_LOCK_CNT_DEFVAL 
#undef CRF_APB_VPLL_CFG_LOCK_CNT_SHIFT 
#undef CRF_APB_VPLL_CFG_LOCK_CNT_MASK 
#define CRF_APB_VPLL_CFG_LOCK_CNT_DEFVAL                       0x00000000
#define CRF_APB_VPLL_CFG_LOCK_CNT_SHIFT                        13
#define CRF_APB_VPLL_CFG_LOCK_CNT_MASK                         0x007FE000U

/*
* Lock circuit configuration settings for lock windowsize
*/
#undef CRF_APB_VPLL_CFG_LOCK_DLY_DEFVAL 
#undef CRF_APB_VPLL_CFG_LOCK_DLY_SHIFT 
#undef CRF_APB_VPLL_CFG_LOCK_DLY_MASK 
#define CRF_APB_VPLL_CFG_LOCK_DLY_DEFVAL                       0x00000000
#define CRF_APB_VPLL_CFG_LOCK_DLY_SHIFT                        25
#define CRF_APB_VPLL_CFG_LOCK_DLY_MASK                         0xFE000000U

/*
* Mux select for determining which clock feeds this PLL. 0XX pss_ref_clk i
    * s the source 100 video clk is the source 101 pss_alt_ref_clk is the sour
    * ce 110 aux_refclk[X] is the source 111 gt_crx_ref_clk is the source
*/
#undef CRF_APB_VPLL_CTRL_PRE_SRC_DEFVAL 
#undef CRF_APB_VPLL_CTRL_PRE_SRC_SHIFT 
#undef CRF_APB_VPLL_CTRL_PRE_SRC_MASK 
#define CRF_APB_VPLL_CTRL_PRE_SRC_DEFVAL                       0x00012809
#define CRF_APB_VPLL_CTRL_PRE_SRC_SHIFT                        20
#define CRF_APB_VPLL_CTRL_PRE_SRC_MASK                         0x00700000U

/*
* The integer portion of the feedback divider to the PLL
*/
#undef CRF_APB_VPLL_CTRL_FBDIV_DEFVAL 
#undef CRF_APB_VPLL_CTRL_FBDIV_SHIFT 
#undef CRF_APB_VPLL_CTRL_FBDIV_MASK 
#define CRF_APB_VPLL_CTRL_FBDIV_DEFVAL                         0x00012809
#define CRF_APB_VPLL_CTRL_FBDIV_SHIFT                          8
#define CRF_APB_VPLL_CTRL_FBDIV_MASK                           0x00007F00U

/*
* This turns on the divide by 2 that is inside of the PLL. This does not c
    * hange the VCO frequency, just the output frequency
*/
#undef CRF_APB_VPLL_CTRL_DIV2_DEFVAL 
#undef CRF_APB_VPLL_CTRL_DIV2_SHIFT 
#undef CRF_APB_VPLL_CTRL_DIV2_MASK 
#define CRF_APB_VPLL_CTRL_DIV2_DEFVAL                          0x00012809
#define CRF_APB_VPLL_CTRL_DIV2_SHIFT                           16
#define CRF_APB_VPLL_CTRL_DIV2_MASK                            0x00010000U

/*
* Bypasses the PLL clock. The usable clock will be determined from the POS
    * T_SRC field. (This signal may only be toggled after 4 cycles of the old
    * clock and 4 cycles of the new clock. This is not usually an issue, but d
    * esigners must be aware.)
*/
#undef CRF_APB_VPLL_CTRL_BYPASS_DEFVAL 
#undef CRF_APB_VPLL_CTRL_BYPASS_SHIFT 
#undef CRF_APB_VPLL_CTRL_BYPASS_MASK 
#define CRF_APB_VPLL_CTRL_BYPASS_DEFVAL                        0x00012809
#define CRF_APB_VPLL_CTRL_BYPASS_SHIFT                         3
#define CRF_APB_VPLL_CTRL_BYPASS_MASK                          0x00000008U

/*
* Asserts Reset to the PLL. When asserting reset, the PLL must already be
    * in BYPASS.
*/
#undef CRF_APB_VPLL_CTRL_RESET_DEFVAL 
#undef CRF_APB_VPLL_CTRL_RESET_SHIFT 
#undef CRF_APB_VPLL_CTRL_RESET_MASK 
#define CRF_APB_VPLL_CTRL_RESET_DEFVAL                         0x00012809
#define CRF_APB_VPLL_CTRL_RESET_SHIFT                          0
#define CRF_APB_VPLL_CTRL_RESET_MASK                           0x00000001U

/*
* Asserts Reset to the PLL. When asserting reset, the PLL must already be
    * in BYPASS.
*/
#undef CRF_APB_VPLL_CTRL_RESET_DEFVAL 
#undef CRF_APB_VPLL_CTRL_RESET_SHIFT 
#undef CRF_APB_VPLL_CTRL_RESET_MASK 
#define CRF_APB_VPLL_CTRL_RESET_DEFVAL                         0x00012809
#define CRF_APB_VPLL_CTRL_RESET_SHIFT                          0
#define CRF_APB_VPLL_CTRL_RESET_MASK                           0x00000001U

/*
* VPLL is locked
*/
#undef CRF_APB_PLL_STATUS_VPLL_LOCK_DEFVAL 
#undef CRF_APB_PLL_STATUS_VPLL_LOCK_SHIFT 
#undef CRF_APB_PLL_STATUS_VPLL_LOCK_MASK 
#define CRF_APB_PLL_STATUS_VPLL_LOCK_DEFVAL                    0x00000038
#define CRF_APB_PLL_STATUS_VPLL_LOCK_SHIFT                     2
#define CRF_APB_PLL_STATUS_VPLL_LOCK_MASK                      0x00000004U
#define CRF_APB_PLL_STATUS_OFFSET                                                  0XFD1A0044

/*
* Bypasses the PLL clock. The usable clock will be determined from the POS
    * T_SRC field. (This signal may only be toggled after 4 cycles of the old
    * clock and 4 cycles of the new clock. This is not usually an issue, but d
    * esigners must be aware.)
*/
#undef CRF_APB_VPLL_CTRL_BYPASS_DEFVAL 
#undef CRF_APB_VPLL_CTRL_BYPASS_SHIFT 
#undef CRF_APB_VPLL_CTRL_BYPASS_MASK 
#define CRF_APB_VPLL_CTRL_BYPASS_DEFVAL                        0x00012809
#define CRF_APB_VPLL_CTRL_BYPASS_SHIFT                         3
#define CRF_APB_VPLL_CTRL_BYPASS_MASK                          0x00000008U

/*
* Divisor value for this clock.
*/
#undef CRF_APB_VPLL_TO_LPD_CTRL_DIVISOR0_DEFVAL 
#undef CRF_APB_VPLL_TO_LPD_CTRL_DIVISOR0_SHIFT 
#undef CRF_APB_VPLL_TO_LPD_CTRL_DIVISOR0_MASK 
#define CRF_APB_VPLL_TO_LPD_CTRL_DIVISOR0_DEFVAL               0x00000400
#define CRF_APB_VPLL_TO_LPD_CTRL_DIVISOR0_SHIFT                8
#define CRF_APB_VPLL_TO_LPD_CTRL_DIVISOR0_MASK                 0x00003F00U
#undef CRL_APB_GEM3_REF_CTRL_OFFSET 
#define CRL_APB_GEM3_REF_CTRL_OFFSET                                               0XFF5E005C
#undef CRL_APB_GEM_TSU_REF_CTRL_OFFSET 
#define CRL_APB_GEM_TSU_REF_CTRL_OFFSET                                            0XFF5E0100
#undef CRL_APB_USB0_BUS_REF_CTRL_OFFSET 
#define CRL_APB_USB0_BUS_REF_CTRL_OFFSET                                           0XFF5E0060
#undef CRL_APB_USB3_DUAL_REF_CTRL_OFFSET 
#define CRL_APB_USB3_DUAL_REF_CTRL_OFFSET                                          0XFF5E004C
#undef CRL_APB_QSPI_REF_CTRL_OFFSET 
#define CRL_APB_QSPI_REF_CTRL_OFFSET                                               0XFF5E0068
#undef CRL_APB_SDIO1_REF_CTRL_OFFSET 
#define CRL_APB_SDIO1_REF_CTRL_OFFSET                                              0XFF5E0070
#undef IOU_SLCR_SDIO_CLK_CTRL_OFFSET 
#define IOU_SLCR_SDIO_CLK_CTRL_OFFSET                                              0XFF18030C
#undef CRL_APB_UART0_REF_CTRL_OFFSET 
#define CRL_APB_UART0_REF_CTRL_OFFSET                                              0XFF5E0074
#undef CRL_APB_UART1_REF_CTRL_OFFSET 
#define CRL_APB_UART1_REF_CTRL_OFFSET                                              0XFF5E0078
#undef CRL_APB_I2C0_REF_CTRL_OFFSET 
#define CRL_APB_I2C0_REF_CTRL_OFFSET                                               0XFF5E0120
#undef CRL_APB_I2C1_REF_CTRL_OFFSET 
#define CRL_APB_I2C1_REF_CTRL_OFFSET                                               0XFF5E0124
#undef CRL_APB_CAN1_REF_CTRL_OFFSET 
#define CRL_APB_CAN1_REF_CTRL_OFFSET                                               0XFF5E0088
#undef CRL_APB_CPU_R5_CTRL_OFFSET 
#define CRL_APB_CPU_R5_CTRL_OFFSET                                                 0XFF5E0090
#undef CRL_APB_IOU_SWITCH_CTRL_OFFSET 
#define CRL_APB_IOU_SWITCH_CTRL_OFFSET                                             0XFF5E009C
#undef CRL_APB_PCAP_CTRL_OFFSET 
#define CRL_APB_PCAP_CTRL_OFFSET                                                   0XFF5E00A4
#undef CRL_APB_LPD_SWITCH_CTRL_OFFSET 
#define CRL_APB_LPD_SWITCH_CTRL_OFFSET                                             0XFF5E00A8
#undef CRL_APB_LPD_LSBUS_CTRL_OFFSET 
#define CRL_APB_LPD_LSBUS_CTRL_OFFSET                                              0XFF5E00AC
#undef CRL_APB_DBG_LPD_CTRL_OFFSET 
#define CRL_APB_DBG_LPD_CTRL_OFFSET                                                0XFF5E00B0
#undef CRL_APB_ADMA_REF_CTRL_OFFSET 
#define CRL_APB_ADMA_REF_CTRL_OFFSET                                               0XFF5E00B8
#undef CRL_APB_PL0_REF_CTRL_OFFSET 
#define CRL_APB_PL0_REF_CTRL_OFFSET                                                0XFF5E00C0
#undef CRL_APB_AMS_REF_CTRL_OFFSET 
#define CRL_APB_AMS_REF_CTRL_OFFSET                                                0XFF5E0108
#undef CRL_APB_DLL_REF_CTRL_OFFSET 
#define CRL_APB_DLL_REF_CTRL_OFFSET                                                0XFF5E0104
#undef CRL_APB_TIMESTAMP_REF_CTRL_OFFSET 
#define CRL_APB_TIMESTAMP_REF_CTRL_OFFSET                                          0XFF5E0128
#undef CRF_APB_SATA_REF_CTRL_OFFSET 
#define CRF_APB_SATA_REF_CTRL_OFFSET                                               0XFD1A00A0
#undef CRF_APB_PCIE_REF_CTRL_OFFSET 
#define CRF_APB_PCIE_REF_CTRL_OFFSET                                               0XFD1A00B4
#undef CRF_APB_DP_VIDEO_REF_CTRL_OFFSET 
#define CRF_APB_DP_VIDEO_REF_CTRL_OFFSET                                           0XFD1A0070
#undef CRF_APB_DP_AUDIO_REF_CTRL_OFFSET 
#define CRF_APB_DP_AUDIO_REF_CTRL_OFFSET                                           0XFD1A0074
#undef CRF_APB_DP_STC_REF_CTRL_OFFSET 
#define CRF_APB_DP_STC_REF_CTRL_OFFSET                                             0XFD1A007C
#undef CRF_APB_ACPU_CTRL_OFFSET 
#define CRF_APB_ACPU_CTRL_OFFSET                                                   0XFD1A0060
#undef CRF_APB_DBG_FPD_CTRL_OFFSET 
#define CRF_APB_DBG_FPD_CTRL_OFFSET                                                0XFD1A0068
#undef CRF_APB_DDR_CTRL_OFFSET 
#define CRF_APB_DDR_CTRL_OFFSET                                                    0XFD1A0080
#undef CRF_APB_GPU_REF_CTRL_OFFSET 
#define CRF_APB_GPU_REF_CTRL_OFFSET                                                0XFD1A0084
#undef CRF_APB_GDMA_REF_CTRL_OFFSET 
#define CRF_APB_GDMA_REF_CTRL_OFFSET                                               0XFD1A00B8
#undef CRF_APB_DPDMA_REF_CTRL_OFFSET 
#define CRF_APB_DPDMA_REF_CTRL_OFFSET                                              0XFD1A00BC
#undef CRF_APB_TOPSW_MAIN_CTRL_OFFSET 
#define CRF_APB_TOPSW_MAIN_CTRL_OFFSET                                             0XFD1A00C0
#undef CRF_APB_TOPSW_LSBUS_CTRL_OFFSET 
#define CRF_APB_TOPSW_LSBUS_CTRL_OFFSET                                            0XFD1A00C4
#undef CRF_APB_DBG_TSTMP_CTRL_OFFSET 
#define CRF_APB_DBG_TSTMP_CTRL_OFFSET                                              0XFD1A00F8
#undef IOU_SLCR_IOU_TTC_APB_CLK_OFFSET 
#define IOU_SLCR_IOU_TTC_APB_CLK_OFFSET                                            0XFF180380
#undef FPD_SLCR_WDT_CLK_SEL_OFFSET 
#define FPD_SLCR_WDT_CLK_SEL_OFFSET                                                0XFD610100
#undef IOU_SLCR_WDT_CLK_SEL_OFFSET 
#define IOU_SLCR_WDT_CLK_SEL_OFFSET                                                0XFF180300
#undef LPD_SLCR_CSUPMU_WDT_CLK_SEL_OFFSET 
#define LPD_SLCR_CSUPMU_WDT_CLK_SEL_OFFSET                                         0XFF410050

/*
* Clock active for the RX channel
*/
#undef CRL_APB_GEM3_REF_CTRL_RX_CLKACT_DEFVAL 
#undef CRL_APB_GEM3_REF_CTRL_RX_CLKACT_SHIFT 
#undef CRL_APB_GEM3_REF_CTRL_RX_CLKACT_MASK 
#define CRL_APB_GEM3_REF_CTRL_RX_CLKACT_DEFVAL                 0x00002500
#define CRL_APB_GEM3_REF_CTRL_RX_CLKACT_SHIFT                  26
#define CRL_APB_GEM3_REF_CTRL_RX_CLKACT_MASK                   0x04000000U

/*
* Clock active signal. Switch to 0 to disable the clock
*/
#undef CRL_APB_GEM3_REF_CTRL_CLKACT_DEFVAL 
#undef CRL_APB_GEM3_REF_CTRL_CLKACT_SHIFT 
#undef CRL_APB_GEM3_REF_CTRL_CLKACT_MASK 
#define CRL_APB_GEM3_REF_CTRL_CLKACT_DEFVAL                    0x00002500
#define CRL_APB_GEM3_REF_CTRL_CLKACT_SHIFT                     25
#define CRL_APB_GEM3_REF_CTRL_CLKACT_MASK                      0x02000000U

/*
* 6 bit divider
*/
#undef CRL_APB_GEM3_REF_CTRL_DIVISOR1_DEFVAL 
#undef CRL_APB_GEM3_REF_CTRL_DIVISOR1_SHIFT 
#undef CRL_APB_GEM3_REF_CTRL_DIVISOR1_MASK 
#define CRL_APB_GEM3_REF_CTRL_DIVISOR1_DEFVAL                  0x00002500
#define CRL_APB_GEM3_REF_CTRL_DIVISOR1_SHIFT                   16
#define CRL_APB_GEM3_REF_CTRL_DIVISOR1_MASK                    0x003F0000U

/*
* 6 bit divider
*/
#undef CRL_APB_GEM3_REF_CTRL_DIVISOR0_DEFVAL 
#undef CRL_APB_GEM3_REF_CTRL_DIVISOR0_SHIFT 
#undef CRL_APB_GEM3_REF_CTRL_DIVISOR0_MASK 
#define CRL_APB_GEM3_REF_CTRL_DIVISOR0_DEFVAL                  0x00002500
#define CRL_APB_GEM3_REF_CTRL_DIVISOR0_SHIFT                   8
#define CRL_APB_GEM3_REF_CTRL_DIVISOR0_MASK                    0x00003F00U

/*
* 000 = IOPLL; 010 = RPLL; 011 = DPLL; (This signal may only be toggled af
    * ter 4 cycles of the old clock and 4 cycles of the new clock. This is not
    *  usually an issue, but designers must be aware.)
*/
#undef CRL_APB_GEM3_REF_CTRL_SRCSEL_DEFVAL 
#undef CRL_APB_GEM3_REF_CTRL_SRCSEL_SHIFT 
#undef CRL_APB_GEM3_REF_CTRL_SRCSEL_MASK 
#define CRL_APB_GEM3_REF_CTRL_SRCSEL_DEFVAL                    0x00002500
#define CRL_APB_GEM3_REF_CTRL_SRCSEL_SHIFT                     0
#define CRL_APB_GEM3_REF_CTRL_SRCSEL_MASK                      0x00000007U

/*
* 6 bit divider
*/
#undef CRL_APB_GEM_TSU_REF_CTRL_DIVISOR0_DEFVAL 
#undef CRL_APB_GEM_TSU_REF_CTRL_DIVISOR0_SHIFT 
#undef CRL_APB_GEM_TSU_REF_CTRL_DIVISOR0_MASK 
#define CRL_APB_GEM_TSU_REF_CTRL_DIVISOR0_DEFVAL               0x00051000
#define CRL_APB_GEM_TSU_REF_CTRL_DIVISOR0_SHIFT                8
#define CRL_APB_GEM_TSU_REF_CTRL_DIVISOR0_MASK                 0x00003F00U

/*
* 000 = IOPLL; 010 = RPLL; 011 = DPLL; (This signal may only be toggled af
    * ter 4 cycles of the old clock and 4 cycles of the new clock. This is not
    *  usually an issue, but designers must be aware.)
*/
#undef CRL_APB_GEM_TSU_REF_CTRL_SRCSEL_DEFVAL 
#undef CRL_APB_GEM_TSU_REF_CTRL_SRCSEL_SHIFT 
#undef CRL_APB_GEM_TSU_REF_CTRL_SRCSEL_MASK 
#define CRL_APB_GEM_TSU_REF_CTRL_SRCSEL_DEFVAL                 0x00051000
#define CRL_APB_GEM_TSU_REF_CTRL_SRCSEL_SHIFT                  0
#define CRL_APB_GEM_TSU_REF_CTRL_SRCSEL_MASK                   0x00000007U

/*
* 6 bit divider
*/
#undef CRL_APB_GEM_TSU_REF_CTRL_DIVISOR1_DEFVAL 
#undef CRL_APB_GEM_TSU_REF_CTRL_DIVISOR1_SHIFT 
#undef CRL_APB_GEM_TSU_REF_CTRL_DIVISOR1_MASK 
#define CRL_APB_GEM_TSU_REF_CTRL_DIVISOR1_DEFVAL               0x00051000
#define CRL_APB_GEM_TSU_REF_CTRL_DIVISOR1_SHIFT                16
#define CRL_APB_GEM_TSU_REF_CTRL_DIVISOR1_MASK                 0x003F0000U

/*
* Clock active signal. Switch to 0 to disable the clock
*/
#undef CRL_APB_GEM_TSU_REF_CTRL_CLKACT_DEFVAL 
#undef CRL_APB_GEM_TSU_REF_CTRL_CLKACT_SHIFT 
#undef CRL_APB_GEM_TSU_REF_CTRL_CLKACT_MASK 
#define CRL_APB_GEM_TSU_REF_CTRL_CLKACT_DEFVAL                 0x00051000
#define CRL_APB_GEM_TSU_REF_CTRL_CLKACT_SHIFT                  24
#define CRL_APB_GEM_TSU_REF_CTRL_CLKACT_MASK                   0x01000000U

/*
* Clock active signal. Switch to 0 to disable the clock
*/
#undef CRL_APB_USB0_BUS_REF_CTRL_CLKACT_DEFVAL 
#undef CRL_APB_USB0_BUS_REF_CTRL_CLKACT_SHIFT 
#undef CRL_APB_USB0_BUS_REF_CTRL_CLKACT_MASK 
#define CRL_APB_USB0_BUS_REF_CTRL_CLKACT_DEFVAL                0x00052000
#define CRL_APB_USB0_BUS_REF_CTRL_CLKACT_SHIFT                 25
#define CRL_APB_USB0_BUS_REF_CTRL_CLKACT_MASK                  0x02000000U

/*
* 6 bit divider
*/
#undef CRL_APB_USB0_BUS_REF_CTRL_DIVISOR1_DEFVAL 
#undef CRL_APB_USB0_BUS_REF_CTRL_DIVISOR1_SHIFT 
#undef CRL_APB_USB0_BUS_REF_CTRL_DIVISOR1_MASK 
#define CRL_APB_USB0_BUS_REF_CTRL_DIVISOR1_DEFVAL              0x00052000
#define CRL_APB_USB0_BUS_REF_CTRL_DIVISOR1_SHIFT               16
#define CRL_APB_USB0_BUS_REF_CTRL_DIVISOR1_MASK                0x003F0000U

/*
* 6 bit divider
*/
#undef CRL_APB_USB0_BUS_REF_CTRL_DIVISOR0_DEFVAL 
#undef CRL_APB_USB0_BUS_REF_CTRL_DIVISOR0_SHIFT 
#undef CRL_APB_USB0_BUS_REF_CTRL_DIVISOR0_MASK 
#define CRL_APB_USB0_BUS_REF_CTRL_DIVISOR0_DEFVAL              0x00052000
#define CRL_APB_USB0_BUS_REF_CTRL_DIVISOR0_SHIFT               8
#define CRL_APB_USB0_BUS_REF_CTRL_DIVISOR0_MASK                0x00003F00U

/*
* 000 = IOPLL; 010 = RPLL; 011 = DPLL; (This signal may only be toggled af
    * ter 4 cycles of the old clock and 4 cycles of the new clock. This is not
    *  usually an issue, but designers must be aware.)
*/
#undef CRL_APB_USB0_BUS_REF_CTRL_SRCSEL_DEFVAL 
#undef CRL_APB_USB0_BUS_REF_CTRL_SRCSEL_SHIFT 
#undef CRL_APB_USB0_BUS_REF_CTRL_SRCSEL_MASK 
#define CRL_APB_USB0_BUS_REF_CTRL_SRCSEL_DEFVAL                0x00052000
#define CRL_APB_USB0_BUS_REF_CTRL_SRCSEL_SHIFT                 0
#define CRL_APB_USB0_BUS_REF_CTRL_SRCSEL_MASK                  0x00000007U

/*
* Clock active signal. Switch to 0 to disable the clock
*/
#undef CRL_APB_USB3_DUAL_REF_CTRL_CLKACT_DEFVAL 
#undef CRL_APB_USB3_DUAL_REF_CTRL_CLKACT_SHIFT 
#undef CRL_APB_USB3_DUAL_REF_CTRL_CLKACT_MASK 
#define CRL_APB_USB3_DUAL_REF_CTRL_CLKACT_DEFVAL               0x00052000
#define CRL_APB_USB3_DUAL_REF_CTRL_CLKACT_SHIFT                25
#define CRL_APB_USB3_DUAL_REF_CTRL_CLKACT_MASK                 0x02000000U

/*
* 6 bit divider
*/
#undef CRL_APB_USB3_DUAL_REF_CTRL_DIVISOR1_DEFVAL 
#undef CRL_APB_USB3_DUAL_REF_CTRL_DIVISOR1_SHIFT 
#undef CRL_APB_USB3_DUAL_REF_CTRL_DIVISOR1_MASK 
#define CRL_APB_USB3_DUAL_REF_CTRL_DIVISOR1_DEFVAL             0x00052000
#define CRL_APB_USB3_DUAL_REF_CTRL_DIVISOR1_SHIFT              16
#define CRL_APB_USB3_DUAL_REF_CTRL_DIVISOR1_MASK               0x003F0000U

/*
* 6 bit divider
*/
#undef CRL_APB_USB3_DUAL_REF_CTRL_DIVISOR0_DEFVAL 
#undef CRL_APB_USB3_DUAL_REF_CTRL_DIVISOR0_SHIFT 
#undef CRL_APB_USB3_DUAL_REF_CTRL_DIVISOR0_MASK 
#define CRL_APB_USB3_DUAL_REF_CTRL_DIVISOR0_DEFVAL             0x00052000
#define CRL_APB_USB3_DUAL_REF_CTRL_DIVISOR0_SHIFT              8
#define CRL_APB_USB3_DUAL_REF_CTRL_DIVISOR0_MASK               0x00003F00U

/*
* 000 = IOPLL; 010 = RPLL; 011 = DPLL. (This signal may only be toggled af
    * ter 4 cycles of the old clock and 4 cycles of the new clock. This is not
    *  usually an issue, but designers must be aware.)
*/
#undef CRL_APB_USB3_DUAL_REF_CTRL_SRCSEL_DEFVAL 
#undef CRL_APB_USB3_DUAL_REF_CTRL_SRCSEL_SHIFT 
#undef CRL_APB_USB3_DUAL_REF_CTRL_SRCSEL_MASK 
#define CRL_APB_USB3_DUAL_REF_CTRL_SRCSEL_DEFVAL               0x00052000
#define CRL_APB_USB3_DUAL_REF_CTRL_SRCSEL_SHIFT                0
#define CRL_APB_USB3_DUAL_REF_CTRL_SRCSEL_MASK                 0x00000007U

/*
* Clock active signal. Switch to 0 to disable the clock
*/
#undef CRL_APB_QSPI_REF_CTRL_CLKACT_DEFVAL 
#undef CRL_APB_QSPI_REF_CTRL_CLKACT_SHIFT 
#undef CRL_APB_QSPI_REF_CTRL_CLKACT_MASK 
#define CRL_APB_QSPI_REF_CTRL_CLKACT_DEFVAL                    0x01000800
#define CRL_APB_QSPI_REF_CTRL_CLKACT_SHIFT                     24
#define CRL_APB_QSPI_REF_CTRL_CLKACT_MASK                      0x01000000U

/*
* 6 bit divider
*/
#undef CRL_APB_QSPI_REF_CTRL_DIVISOR1_DEFVAL 
#undef CRL_APB_QSPI_REF_CTRL_DIVISOR1_SHIFT 
#undef CRL_APB_QSPI_REF_CTRL_DIVISOR1_MASK 
#define CRL_APB_QSPI_REF_CTRL_DIVISOR1_DEFVAL                  0x01000800
#define CRL_APB_QSPI_REF_CTRL_DIVISOR1_SHIFT                   16
#define CRL_APB_QSPI_REF_CTRL_DIVISOR1_MASK                    0x003F0000U

/*
* 6 bit divider
*/
#undef CRL_APB_QSPI_REF_CTRL_DIVISOR0_DEFVAL 
#undef CRL_APB_QSPI_REF_CTRL_DIVISOR0_SHIFT 
#undef CRL_APB_QSPI_REF_CTRL_DIVISOR0_MASK 
#define CRL_APB_QSPI_REF_CTRL_DIVISOR0_DEFVAL                  0x01000800
#define CRL_APB_QSPI_REF_CTRL_DIVISOR0_SHIFT                   8
#define CRL_APB_QSPI_REF_CTRL_DIVISOR0_MASK                    0x00003F00U

/*
* 000 = IOPLL; 010 = RPLL; 011 = DPLL; (This signal may only be toggled af
    * ter 4 cycles of the old clock and 4 cycles of the new clock. This is not
    *  usually an issue, but designers must be aware.)
*/
#undef CRL_APB_QSPI_REF_CTRL_SRCSEL_DEFVAL 
#undef CRL_APB_QSPI_REF_CTRL_SRCSEL_SHIFT 
#undef CRL_APB_QSPI_REF_CTRL_SRCSEL_MASK 
#define CRL_APB_QSPI_REF_CTRL_SRCSEL_DEFVAL                    0x01000800
#define CRL_APB_QSPI_REF_CTRL_SRCSEL_SHIFT                     0
#define CRL_APB_QSPI_REF_CTRL_SRCSEL_MASK                      0x00000007U

/*
* Clock active signal. Switch to 0 to disable the clock
*/
#undef CRL_APB_SDIO1_REF_CTRL_CLKACT_DEFVAL 
#undef CRL_APB_SDIO1_REF_CTRL_CLKACT_SHIFT 
#undef CRL_APB_SDIO1_REF_CTRL_CLKACT_MASK 
#define CRL_APB_SDIO1_REF_CTRL_CLKACT_DEFVAL                   0x01000F00
#define CRL_APB_SDIO1_REF_CTRL_CLKACT_SHIFT                    24
#define CRL_APB_SDIO1_REF_CTRL_CLKACT_MASK                     0x01000000U

/*
* 6 bit divider
*/
#undef CRL_APB_SDIO1_REF_CTRL_DIVISOR1_DEFVAL 
#undef CRL_APB_SDIO1_REF_CTRL_DIVISOR1_SHIFT 
#undef CRL_APB_SDIO1_REF_CTRL_DIVISOR1_MASK 
#define CRL_APB_SDIO1_REF_CTRL_DIVISOR1_DEFVAL                 0x01000F00
#define CRL_APB_SDIO1_REF_CTRL_DIVISOR1_SHIFT                  16
#define CRL_APB_SDIO1_REF_CTRL_DIVISOR1_MASK                   0x003F0000U

/*
* 6 bit divider
*/
#undef CRL_APB_SDIO1_REF_CTRL_DIVISOR0_DEFVAL 
#undef CRL_APB_SDIO1_REF_CTRL_DIVISOR0_SHIFT 
#undef CRL_APB_SDIO1_REF_CTRL_DIVISOR0_MASK 
#define CRL_APB_SDIO1_REF_CTRL_DIVISOR0_DEFVAL                 0x01000F00
#define CRL_APB_SDIO1_REF_CTRL_DIVISOR0_SHIFT                  8
#define CRL_APB_SDIO1_REF_CTRL_DIVISOR0_MASK                   0x00003F00U

/*
* 000 = IOPLL; 010 = RPLL; 011 = VPLL; (This signal may only be toggled af
    * ter 4 cycles of the old clock and 4 cycles of the new clock. This is not
    *  usually an issue, but designers must be aware.)
*/
#undef CRL_APB_SDIO1_REF_CTRL_SRCSEL_DEFVAL 
#undef CRL_APB_SDIO1_REF_CTRL_SRCSEL_SHIFT 
#undef CRL_APB_SDIO1_REF_CTRL_SRCSEL_MASK 
#define CRL_APB_SDIO1_REF_CTRL_SRCSEL_DEFVAL                   0x01000F00
#define CRL_APB_SDIO1_REF_CTRL_SRCSEL_SHIFT                    0
#define CRL_APB_SDIO1_REF_CTRL_SRCSEL_MASK                     0x00000007U

/*
* MIO pad selection for sdio1_rx_clk (feedback clock from the PAD) 0: MIO
    * [51] 1: MIO [76]
*/
#undef IOU_SLCR_SDIO_CLK_CTRL_SDIO1_RX_SRC_SEL_DEFVAL 
#undef IOU_SLCR_SDIO_CLK_CTRL_SDIO1_RX_SRC_SEL_SHIFT 
#undef IOU_SLCR_SDIO_CLK_CTRL_SDIO1_RX_SRC_SEL_MASK 
#define IOU_SLCR_SDIO_CLK_CTRL_SDIO1_RX_SRC_SEL_DEFVAL         0x00000000
#define IOU_SLCR_SDIO_CLK_CTRL_SDIO1_RX_SRC_SEL_SHIFT          17
#define IOU_SLCR_SDIO_CLK_CTRL_SDIO1_RX_SRC_SEL_MASK           0x00020000U

/*
* Clock active signal. Switch to 0 to disable the clock
*/
#undef CRL_APB_UART0_REF_CTRL_CLKACT_DEFVAL 
#undef CRL_APB_UART0_REF_CTRL_CLKACT_SHIFT 
#undef CRL_APB_UART0_REF_CTRL_CLKACT_MASK 
#define CRL_APB_UART0_REF_CTRL_CLKACT_DEFVAL                   0x01001800
#define CRL_APB_UART0_REF_CTRL_CLKACT_SHIFT                    24
#define CRL_APB_UART0_REF_CTRL_CLKACT_MASK                     0x01000000U

/*
* 6 bit divider
*/
#undef CRL_APB_UART0_REF_CTRL_DIVISOR1_DEFVAL 
#undef CRL_APB_UART0_REF_CTRL_DIVISOR1_SHIFT 
#undef CRL_APB_UART0_REF_CTRL_DIVISOR1_MASK 
#define CRL_APB_UART0_REF_CTRL_DIVISOR1_DEFVAL                 0x01001800
#define CRL_APB_UART0_REF_CTRL_DIVISOR1_SHIFT                  16
#define CRL_APB_UART0_REF_CTRL_DIVISOR1_MASK                   0x003F0000U

/*
* 6 bit divider
*/
#undef CRL_APB_UART0_REF_CTRL_DIVISOR0_DEFVAL 
#undef CRL_APB_UART0_REF_CTRL_DIVISOR0_SHIFT 
#undef CRL_APB_UART0_REF_CTRL_DIVISOR0_MASK 
#define CRL_APB_UART0_REF_CTRL_DIVISOR0_DEFVAL                 0x01001800
#define CRL_APB_UART0_REF_CTRL_DIVISOR0_SHIFT                  8
#define CRL_APB_UART0_REF_CTRL_DIVISOR0_MASK                   0x00003F00U

/*
* 000 = IOPLL; 010 = RPLL; 011 = DPLL; (This signal may only be toggled af
    * ter 4 cycles of the old clock and 4 cycles of the new clock. This is not
    *  usually an issue, but designers must be aware.)
*/
#undef CRL_APB_UART0_REF_CTRL_SRCSEL_DEFVAL 
#undef CRL_APB_UART0_REF_CTRL_SRCSEL_SHIFT 
#undef CRL_APB_UART0_REF_CTRL_SRCSEL_MASK 
#define CRL_APB_UART0_REF_CTRL_SRCSEL_DEFVAL                   0x01001800
#define CRL_APB_UART0_REF_CTRL_SRCSEL_SHIFT                    0
#define CRL_APB_UART0_REF_CTRL_SRCSEL_MASK                     0x00000007U

/*
* Clock active signal. Switch to 0 to disable the clock
*/
#undef CRL_APB_UART1_REF_CTRL_CLKACT_DEFVAL 
#undef CRL_APB_UART1_REF_CTRL_CLKACT_SHIFT 
#undef CRL_APB_UART1_REF_CTRL_CLKACT_MASK 
#define CRL_APB_UART1_REF_CTRL_CLKACT_DEFVAL                   0x01001800
#define CRL_APB_UART1_REF_CTRL_CLKACT_SHIFT                    24
#define CRL_APB_UART1_REF_CTRL_CLKACT_MASK                     0x01000000U

/*
* 6 bit divider
*/
#undef CRL_APB_UART1_REF_CTRL_DIVISOR1_DEFVAL 
#undef CRL_APB_UART1_REF_CTRL_DIVISOR1_SHIFT 
#undef CRL_APB_UART1_REF_CTRL_DIVISOR1_MASK 
#define CRL_APB_UART1_REF_CTRL_DIVISOR1_DEFVAL                 0x01001800
#define CRL_APB_UART1_REF_CTRL_DIVISOR1_SHIFT                  16
#define CRL_APB_UART1_REF_CTRL_DIVISOR1_MASK                   0x003F0000U

/*
* 6 bit divider
*/
#undef CRL_APB_UART1_REF_CTRL_DIVISOR0_DEFVAL 
#undef CRL_APB_UART1_REF_CTRL_DIVISOR0_SHIFT 
#undef CRL_APB_UART1_REF_CTRL_DIVISOR0_MASK 
#define CRL_APB_UART1_REF_CTRL_DIVISOR0_DEFVAL                 0x01001800
#define CRL_APB_UART1_REF_CTRL_DIVISOR0_SHIFT                  8
#define CRL_APB_UART1_REF_CTRL_DIVISOR0_MASK                   0x00003F00U

/*
* 000 = IOPLL; 010 = RPLL; 011 = DPLL; (This signal may only be toggled af
    * ter 4 cycles of the old clock and 4 cycles of the new clock. This is not
    *  usually an issue, but designers must be aware.)
*/
#undef CRL_APB_UART1_REF_CTRL_SRCSEL_DEFVAL 
#undef CRL_APB_UART1_REF_CTRL_SRCSEL_SHIFT 
#undef CRL_APB_UART1_REF_CTRL_SRCSEL_MASK 
#define CRL_APB_UART1_REF_CTRL_SRCSEL_DEFVAL                   0x01001800
#define CRL_APB_UART1_REF_CTRL_SRCSEL_SHIFT                    0
#define CRL_APB_UART1_REF_CTRL_SRCSEL_MASK                     0x00000007U

/*
* Clock active signal. Switch to 0 to disable the clock
*/
#undef CRL_APB_I2C0_REF_CTRL_CLKACT_DEFVAL 
#undef CRL_APB_I2C0_REF_CTRL_CLKACT_SHIFT 
#undef CRL_APB_I2C0_REF_CTRL_CLKACT_MASK 
#define CRL_APB_I2C0_REF_CTRL_CLKACT_DEFVAL                    0x01000500
#define CRL_APB_I2C0_REF_CTRL_CLKACT_SHIFT                     24
#define CRL_APB_I2C0_REF_CTRL_CLKACT_MASK                      0x01000000U

/*
* 6 bit divider
*/
#undef CRL_APB_I2C0_REF_CTRL_DIVISOR1_DEFVAL 
#undef CRL_APB_I2C0_REF_CTRL_DIVISOR1_SHIFT 
#undef CRL_APB_I2C0_REF_CTRL_DIVISOR1_MASK 
#define CRL_APB_I2C0_REF_CTRL_DIVISOR1_DEFVAL                  0x01000500
#define CRL_APB_I2C0_REF_CTRL_DIVISOR1_SHIFT                   16
#define CRL_APB_I2C0_REF_CTRL_DIVISOR1_MASK                    0x003F0000U

/*
* 6 bit divider
*/
#undef CRL_APB_I2C0_REF_CTRL_DIVISOR0_DEFVAL 
#undef CRL_APB_I2C0_REF_CTRL_DIVISOR0_SHIFT 
#undef CRL_APB_I2C0_REF_CTRL_DIVISOR0_MASK 
#define CRL_APB_I2C0_REF_CTRL_DIVISOR0_DEFVAL                  0x01000500
#define CRL_APB_I2C0_REF_CTRL_DIVISOR0_SHIFT                   8
#define CRL_APB_I2C0_REF_CTRL_DIVISOR0_MASK                    0x00003F00U

/*
* 000 = IOPLL; 010 = RPLL; 011 = DPLL; (This signal may only be toggled af
    * ter 4 cycles of the old clock and 4 cycles of the new clock. This is not
    *  usually an issue, but designers must be aware.)
*/
#undef CRL_APB_I2C0_REF_CTRL_SRCSEL_DEFVAL 
#undef CRL_APB_I2C0_REF_CTRL_SRCSEL_SHIFT 
#undef CRL_APB_I2C0_REF_CTRL_SRCSEL_MASK 
#define CRL_APB_I2C0_REF_CTRL_SRCSEL_DEFVAL                    0x01000500
#define CRL_APB_I2C0_REF_CTRL_SRCSEL_SHIFT                     0
#define CRL_APB_I2C0_REF_CTRL_SRCSEL_MASK                      0x00000007U

/*
* Clock active signal. Switch to 0 to disable the clock
*/
#undef CRL_APB_I2C1_REF_CTRL_CLKACT_DEFVAL 
#undef CRL_APB_I2C1_REF_CTRL_CLKACT_SHIFT 
#undef CRL_APB_I2C1_REF_CTRL_CLKACT_MASK 
#define CRL_APB_I2C1_REF_CTRL_CLKACT_DEFVAL                    0x01000500
#define CRL_APB_I2C1_REF_CTRL_CLKACT_SHIFT                     24
#define CRL_APB_I2C1_REF_CTRL_CLKACT_MASK                      0x01000000U

/*
* 6 bit divider
*/
#undef CRL_APB_I2C1_REF_CTRL_DIVISOR1_DEFVAL 
#undef CRL_APB_I2C1_REF_CTRL_DIVISOR1_SHIFT 
#undef CRL_APB_I2C1_REF_CTRL_DIVISOR1_MASK 
#define CRL_APB_I2C1_REF_CTRL_DIVISOR1_DEFVAL                  0x01000500
#define CRL_APB_I2C1_REF_CTRL_DIVISOR1_SHIFT                   16
#define CRL_APB_I2C1_REF_CTRL_DIVISOR1_MASK                    0x003F0000U

/*
* 6 bit divider
*/
#undef CRL_APB_I2C1_REF_CTRL_DIVISOR0_DEFVAL 
#undef CRL_APB_I2C1_REF_CTRL_DIVISOR0_SHIFT 
#undef CRL_APB_I2C1_REF_CTRL_DIVISOR0_MASK 
#define CRL_APB_I2C1_REF_CTRL_DIVISOR0_DEFVAL                  0x01000500
#define CRL_APB_I2C1_REF_CTRL_DIVISOR0_SHIFT                   8
#define CRL_APB_I2C1_REF_CTRL_DIVISOR0_MASK                    0x00003F00U

/*
* 000 = IOPLL; 010 = RPLL; 011 = DPLL; (This signal may only be toggled af
    * ter 4 cycles of the old clock and 4 cycles of the new clock. This is not
    *  usually an issue, but designers must be aware.)
*/
#undef CRL_APB_I2C1_REF_CTRL_SRCSEL_DEFVAL 
#undef CRL_APB_I2C1_REF_CTRL_SRCSEL_SHIFT 
#undef CRL_APB_I2C1_REF_CTRL_SRCSEL_MASK 
#define CRL_APB_I2C1_REF_CTRL_SRCSEL_DEFVAL                    0x01000500
#define CRL_APB_I2C1_REF_CTRL_SRCSEL_SHIFT                     0
#define CRL_APB_I2C1_REF_CTRL_SRCSEL_MASK                      0x00000007U

/*
* Clock active signal. Switch to 0 to disable the clock
*/
#undef CRL_APB_CAN1_REF_CTRL_CLKACT_DEFVAL 
#undef CRL_APB_CAN1_REF_CTRL_CLKACT_SHIFT 
#undef CRL_APB_CAN1_REF_CTRL_CLKACT_MASK 
#define CRL_APB_CAN1_REF_CTRL_CLKACT_DEFVAL                    0x01001800
#define CRL_APB_CAN1_REF_CTRL_CLKACT_SHIFT                     24
#define CRL_APB_CAN1_REF_CTRL_CLKACT_MASK                      0x01000000U

/*
* 6 bit divider
*/
#undef CRL_APB_CAN1_REF_CTRL_DIVISOR1_DEFVAL 
#undef CRL_APB_CAN1_REF_CTRL_DIVISOR1_SHIFT 
#undef CRL_APB_CAN1_REF_CTRL_DIVISOR1_MASK 
#define CRL_APB_CAN1_REF_CTRL_DIVISOR1_DEFVAL                  0x01001800
#define CRL_APB_CAN1_REF_CTRL_DIVISOR1_SHIFT                   16
#define CRL_APB_CAN1_REF_CTRL_DIVISOR1_MASK                    0x003F0000U

/*
* 6 bit divider
*/
#undef CRL_APB_CAN1_REF_CTRL_DIVISOR0_DEFVAL 
#undef CRL_APB_CAN1_REF_CTRL_DIVISOR0_SHIFT 
#undef CRL_APB_CAN1_REF_CTRL_DIVISOR0_MASK 
#define CRL_APB_CAN1_REF_CTRL_DIVISOR0_DEFVAL                  0x01001800
#define CRL_APB_CAN1_REF_CTRL_DIVISOR0_SHIFT                   8
#define CRL_APB_CAN1_REF_CTRL_DIVISOR0_MASK                    0x00003F00U

/*
* 000 = IOPLL; 010 = RPLL; 011 = DPLL; (This signal may only be toggled af
    * ter 4 cycles of the old clock and 4 cycles of the new clock. This is not
    *  usually an issue, but designers must be aware.)
*/
#undef CRL_APB_CAN1_REF_CTRL_SRCSEL_DEFVAL 
#undef CRL_APB_CAN1_REF_CTRL_SRCSEL_SHIFT 
#undef CRL_APB_CAN1_REF_CTRL_SRCSEL_MASK 
#define CRL_APB_CAN1_REF_CTRL_SRCSEL_DEFVAL                    0x01001800
#define CRL_APB_CAN1_REF_CTRL_SRCSEL_SHIFT                     0
#define CRL_APB_CAN1_REF_CTRL_SRCSEL_MASK                      0x00000007U

/*
* Turing this off will shut down the OCM, some parts of the APM, and preve
    * nt transactions going from the FPD to the LPD and could lead to system h
    * ang
*/
#undef CRL_APB_CPU_R5_CTRL_CLKACT_DEFVAL 
#undef CRL_APB_CPU_R5_CTRL_CLKACT_SHIFT 
#undef CRL_APB_CPU_R5_CTRL_CLKACT_MASK 
#define CRL_APB_CPU_R5_CTRL_CLKACT_DEFVAL                      0x03000600
#define CRL_APB_CPU_R5_CTRL_CLKACT_SHIFT                       24
#define CRL_APB_CPU_R5_CTRL_CLKACT_MASK                        0x01000000U

/*
* 6 bit divider
*/
#undef CRL_APB_CPU_R5_CTRL_DIVISOR0_DEFVAL 
#undef CRL_APB_CPU_R5_CTRL_DIVISOR0_SHIFT 
#undef CRL_APB_CPU_R5_CTRL_DIVISOR0_MASK 
#define CRL_APB_CPU_R5_CTRL_DIVISOR0_DEFVAL                    0x03000600
#define CRL_APB_CPU_R5_CTRL_DIVISOR0_SHIFT                     8
#define CRL_APB_CPU_R5_CTRL_DIVISOR0_MASK                      0x00003F00U

/*
* 000 = RPLL; 010 = IOPLL; 011 = DPLL; (This signal may only be toggled af
    * ter 4 cycles of the old clock and 4 cycles of the new clock. This is not
    *  usually an issue, but designers must be aware.)
*/
#undef CRL_APB_CPU_R5_CTRL_SRCSEL_DEFVAL 
#undef CRL_APB_CPU_R5_CTRL_SRCSEL_SHIFT 
#undef CRL_APB_CPU_R5_CTRL_SRCSEL_MASK 
#define CRL_APB_CPU_R5_CTRL_SRCSEL_DEFVAL                      0x03000600
#define CRL_APB_CPU_R5_CTRL_SRCSEL_SHIFT                       0
#define CRL_APB_CPU_R5_CTRL_SRCSEL_MASK                        0x00000007U

/*
* Clock active signal. Switch to 0 to disable the clock
*/
#undef CRL_APB_IOU_SWITCH_CTRL_CLKACT_DEFVAL 
#undef CRL_APB_IOU_SWITCH_CTRL_CLKACT_SHIFT 
#undef CRL_APB_IOU_SWITCH_CTRL_CLKACT_MASK 
#define CRL_APB_IOU_SWITCH_CTRL_CLKACT_DEFVAL                  0x00001500
#define CRL_APB_IOU_SWITCH_CTRL_CLKACT_SHIFT                   24
#define CRL_APB_IOU_SWITCH_CTRL_CLKACT_MASK                    0x01000000U

/*
* 6 bit divider
*/
#undef CRL_APB_IOU_SWITCH_CTRL_DIVISOR0_DEFVAL 
#undef CRL_APB_IOU_SWITCH_CTRL_DIVISOR0_SHIFT 
#undef CRL_APB_IOU_SWITCH_CTRL_DIVISOR0_MASK 
#define CRL_APB_IOU_SWITCH_CTRL_DIVISOR0_DEFVAL                0x00001500
#define CRL_APB_IOU_SWITCH_CTRL_DIVISOR0_SHIFT                 8
#define CRL_APB_IOU_SWITCH_CTRL_DIVISOR0_MASK                  0x00003F00U

/*
* 000 = RPLL; 010 = IOPLL; 011 = DPLL; (This signal may only be toggled af
    * ter 4 cycles of the old clock and 4 cycles of the new clock. This is not
    *  usually an issue, but designers must be aware.)
*/
#undef CRL_APB_IOU_SWITCH_CTRL_SRCSEL_DEFVAL 
#undef CRL_APB_IOU_SWITCH_CTRL_SRCSEL_SHIFT 
#undef CRL_APB_IOU_SWITCH_CTRL_SRCSEL_MASK 
#define CRL_APB_IOU_SWITCH_CTRL_SRCSEL_DEFVAL                  0x00001500
#define CRL_APB_IOU_SWITCH_CTRL_SRCSEL_SHIFT                   0
#define CRL_APB_IOU_SWITCH_CTRL_SRCSEL_MASK                    0x00000007U

/*
* Clock active signal. Switch to 0 to disable the clock
*/
#undef CRL_APB_PCAP_CTRL_CLKACT_DEFVAL 
#undef CRL_APB_PCAP_CTRL_CLKACT_SHIFT 
#undef CRL_APB_PCAP_CTRL_CLKACT_MASK 
#define CRL_APB_PCAP_CTRL_CLKACT_DEFVAL                        0x00001500
#define CRL_APB_PCAP_CTRL_CLKACT_SHIFT                         24
#define CRL_APB_PCAP_CTRL_CLKACT_MASK                          0x01000000U

/*
* 6 bit divider
*/
#undef CRL_APB_PCAP_CTRL_DIVISOR0_DEFVAL 
#undef CRL_APB_PCAP_CTRL_DIVISOR0_SHIFT 
#undef CRL_APB_PCAP_CTRL_DIVISOR0_MASK 
#define CRL_APB_PCAP_CTRL_DIVISOR0_DEFVAL                      0x00001500
#define CRL_APB_PCAP_CTRL_DIVISOR0_SHIFT                       8
#define CRL_APB_PCAP_CTRL_DIVISOR0_MASK                        0x00003F00U

/*
* 000 = IOPLL; 010 = RPLL; 011 = DPLL; (This signal may only be toggled af
    * ter 4 cycles of the old clock and 4 cycles of the new clock. This is not
    *  usually an issue, but designers must be aware.)
*/
#undef CRL_APB_PCAP_CTRL_SRCSEL_DEFVAL 
#undef CRL_APB_PCAP_CTRL_SRCSEL_SHIFT 
#undef CRL_APB_PCAP_CTRL_SRCSEL_MASK 
#define CRL_APB_PCAP_CTRL_SRCSEL_DEFVAL                        0x00001500
#define CRL_APB_PCAP_CTRL_SRCSEL_SHIFT                         0
#define CRL_APB_PCAP_CTRL_SRCSEL_MASK                          0x00000007U

/*
* Clock active signal. Switch to 0 to disable the clock
*/
#undef CRL_APB_LPD_SWITCH_CTRL_CLKACT_DEFVAL 
#undef CRL_APB_LPD_SWITCH_CTRL_CLKACT_SHIFT 
#undef CRL_APB_LPD_SWITCH_CTRL_CLKACT_MASK 
#define CRL_APB_LPD_SWITCH_CTRL_CLKACT_DEFVAL                  0x01000500
#define CRL_APB_LPD_SWITCH_CTRL_CLKACT_SHIFT                   24
#define CRL_APB_LPD_SWITCH_CTRL_CLKACT_MASK                    0x01000000U

/*
* 6 bit divider
*/
#undef CRL_APB_LPD_SWITCH_CTRL_DIVISOR0_DEFVAL 
#undef CRL_APB_LPD_SWITCH_CTRL_DIVISOR0_SHIFT 
#undef CRL_APB_LPD_SWITCH_CTRL_DIVISOR0_MASK 
#define CRL_APB_LPD_SWITCH_CTRL_DIVISOR0_DEFVAL                0x01000500
#define CRL_APB_LPD_SWITCH_CTRL_DIVISOR0_SHIFT                 8
#define CRL_APB_LPD_SWITCH_CTRL_DIVISOR0_MASK                  0x00003F00U

/*
* 000 = RPLL; 010 = IOPLL; 011 = DPLL; (This signal may only be toggled af
    * ter 4 cycles of the old clock and 4 cycles of the new clock. This is not
    *  usually an issue, but designers must be aware.)
*/
#undef CRL_APB_LPD_SWITCH_CTRL_SRCSEL_DEFVAL 
#undef CRL_APB_LPD_SWITCH_CTRL_SRCSEL_SHIFT 
#undef CRL_APB_LPD_SWITCH_CTRL_SRCSEL_MASK 
#define CRL_APB_LPD_SWITCH_CTRL_SRCSEL_DEFVAL                  0x01000500
#define CRL_APB_LPD_SWITCH_CTRL_SRCSEL_SHIFT                   0
#define CRL_APB_LPD_SWITCH_CTRL_SRCSEL_MASK                    0x00000007U

/*
* Clock active signal. Switch to 0 to disable the clock
*/
#undef CRL_APB_LPD_LSBUS_CTRL_CLKACT_DEFVAL 
#undef CRL_APB_LPD_LSBUS_CTRL_CLKACT_SHIFT 
#undef CRL_APB_LPD_LSBUS_CTRL_CLKACT_MASK 
#define CRL_APB_LPD_LSBUS_CTRL_CLKACT_DEFVAL                   0x01001800
#define CRL_APB_LPD_LSBUS_CTRL_CLKACT_SHIFT                    24
#define CRL_APB_LPD_LSBUS_CTRL_CLKACT_MASK                     0x01000000U

/*
* 6 bit divider
*/
#undef CRL_APB_LPD_LSBUS_CTRL_DIVISOR0_DEFVAL 
#undef CRL_APB_LPD_LSBUS_CTRL_DIVISOR0_SHIFT 
#undef CRL_APB_LPD_LSBUS_CTRL_DIVISOR0_MASK 
#define CRL_APB_LPD_LSBUS_CTRL_DIVISOR0_DEFVAL                 0x01001800
#define CRL_APB_LPD_LSBUS_CTRL_DIVISOR0_SHIFT                  8
#define CRL_APB_LPD_LSBUS_CTRL_DIVISOR0_MASK                   0x00003F00U

/*
* 000 = RPLL; 010 = IOPLL; 011 = DPLL; (This signal may only be toggled af
    * ter 4 cycles of the old clock and 4 cycles of the new clock. This is not
    *  usually an issue, but designers must be aware.)
*/
#undef CRL_APB_LPD_LSBUS_CTRL_SRCSEL_DEFVAL 
#undef CRL_APB_LPD_LSBUS_CTRL_SRCSEL_SHIFT 
#undef CRL_APB_LPD_LSBUS_CTRL_SRCSEL_MASK 
#define CRL_APB_LPD_LSBUS_CTRL_SRCSEL_DEFVAL                   0x01001800
#define CRL_APB_LPD_LSBUS_CTRL_SRCSEL_SHIFT                    0
#define CRL_APB_LPD_LSBUS_CTRL_SRCSEL_MASK                     0x00000007U

/*
* Clock active signal. Switch to 0 to disable the clock
*/
#undef CRL_APB_DBG_LPD_CTRL_CLKACT_DEFVAL 
#undef CRL_APB_DBG_LPD_CTRL_CLKACT_SHIFT 
#undef CRL_APB_DBG_LPD_CTRL_CLKACT_MASK 
#define CRL_APB_DBG_LPD_CTRL_CLKACT_DEFVAL                     0x01002000
#define CRL_APB_DBG_LPD_CTRL_CLKACT_SHIFT                      24
#define CRL_APB_DBG_LPD_CTRL_CLKACT_MASK                       0x01000000U

/*
* 6 bit divider
*/
#undef CRL_APB_DBG_LPD_CTRL_DIVISOR0_DEFVAL 
#undef CRL_APB_DBG_LPD_CTRL_DIVISOR0_SHIFT 
#undef CRL_APB_DBG_LPD_CTRL_DIVISOR0_MASK 
#define CRL_APB_DBG_LPD_CTRL_DIVISOR0_DEFVAL                   0x01002000
#define CRL_APB_DBG_LPD_CTRL_DIVISOR0_SHIFT                    8
#define CRL_APB_DBG_LPD_CTRL_DIVISOR0_MASK                     0x00003F00U

/*
* 000 = RPLL; 010 = IOPLL; 011 = DPLL; (This signal may only be toggled af
    * ter 4 cycles of the old clock and 4 cycles of the new clock. This is not
    *  usually an issue, but designers must be aware.)
*/
#undef CRL_APB_DBG_LPD_CTRL_SRCSEL_DEFVAL 
#undef CRL_APB_DBG_LPD_CTRL_SRCSEL_SHIFT 
#undef CRL_APB_DBG_LPD_CTRL_SRCSEL_MASK 
#define CRL_APB_DBG_LPD_CTRL_SRCSEL_DEFVAL                     0x01002000
#define CRL_APB_DBG_LPD_CTRL_SRCSEL_SHIFT                      0
#define CRL_APB_DBG_LPD_CTRL_SRCSEL_MASK                       0x00000007U

/*
* Clock active signal. Switch to 0 to disable the clock
*/
#undef CRL_APB_ADMA_REF_CTRL_CLKACT_DEFVAL 
#undef CRL_APB_ADMA_REF_CTRL_CLKACT_SHIFT 
#undef CRL_APB_ADMA_REF_CTRL_CLKACT_MASK 
#define CRL_APB_ADMA_REF_CTRL_CLKACT_DEFVAL                    0x00002000
#define CRL_APB_ADMA_REF_CTRL_CLKACT_SHIFT                     24
#define CRL_APB_ADMA_REF_CTRL_CLKACT_MASK                      0x01000000U

/*
* 6 bit divider
*/
#undef CRL_APB_ADMA_REF_CTRL_DIVISOR0_DEFVAL 
#undef CRL_APB_ADMA_REF_CTRL_DIVISOR0_SHIFT 
#undef CRL_APB_ADMA_REF_CTRL_DIVISOR0_MASK 
#define CRL_APB_ADMA_REF_CTRL_DIVISOR0_DEFVAL                  0x00002000
#define CRL_APB_ADMA_REF_CTRL_DIVISOR0_SHIFT                   8
#define CRL_APB_ADMA_REF_CTRL_DIVISOR0_MASK                    0x00003F00U

/*
* 000 = RPLL; 010 = IOPLL; 011 = DPLL; (This signal may only be toggled af
    * ter 4 cycles of the old clock and 4 cycles of the new clock. This is not
    *  usually an issue, but designers must be aware.)
*/
#undef CRL_APB_ADMA_REF_CTRL_SRCSEL_DEFVAL 
#undef CRL_APB_ADMA_REF_CTRL_SRCSEL_SHIFT 
#undef CRL_APB_ADMA_REF_CTRL_SRCSEL_MASK 
#define CRL_APB_ADMA_REF_CTRL_SRCSEL_DEFVAL                    0x00002000
#define CRL_APB_ADMA_REF_CTRL_SRCSEL_SHIFT                     0
#define CRL_APB_ADMA_REF_CTRL_SRCSEL_MASK                      0x00000007U

/*
* Clock active signal. Switch to 0 to disable the clock
*/
#undef CRL_APB_PL0_REF_CTRL_CLKACT_DEFVAL 
#undef CRL_APB_PL0_REF_CTRL_CLKACT_SHIFT 
#undef CRL_APB_PL0_REF_CTRL_CLKACT_MASK 
#define CRL_APB_PL0_REF_CTRL_CLKACT_DEFVAL                     0x00052000
#define CRL_APB_PL0_REF_CTRL_CLKACT_SHIFT                      24
#define CRL_APB_PL0_REF_CTRL_CLKACT_MASK                       0x01000000U

/*
* 6 bit divider
*/
#undef CRL_APB_PL0_REF_CTRL_DIVISOR1_DEFVAL 
#undef CRL_APB_PL0_REF_CTRL_DIVISOR1_SHIFT 
#undef CRL_APB_PL0_REF_CTRL_DIVISOR1_MASK 
#define CRL_APB_PL0_REF_CTRL_DIVISOR1_DEFVAL                   0x00052000
#define CRL_APB_PL0_REF_CTRL_DIVISOR1_SHIFT                    16
#define CRL_APB_PL0_REF_CTRL_DIVISOR1_MASK                     0x003F0000U

/*
* 6 bit divider
*/
#undef CRL_APB_PL0_REF_CTRL_DIVISOR0_DEFVAL 
#undef CRL_APB_PL0_REF_CTRL_DIVISOR0_SHIFT 
#undef CRL_APB_PL0_REF_CTRL_DIVISOR0_MASK 
#define CRL_APB_PL0_REF_CTRL_DIVISOR0_DEFVAL                   0x00052000
#define CRL_APB_PL0_REF_CTRL_DIVISOR0_SHIFT                    8
#define CRL_APB_PL0_REF_CTRL_DIVISOR0_MASK                     0x00003F00U

/*
* 000 = IOPLL; 010 = RPLL; 011 = DPLL; (This signal may only be toggled af
    * ter 4 cycles of the old clock and 4 cycles of the new clock. This is not
    *  usually an issue, but designers must be aware.)
*/
#undef CRL_APB_PL0_REF_CTRL_SRCSEL_DEFVAL 
#undef CRL_APB_PL0_REF_CTRL_SRCSEL_SHIFT 
#undef CRL_APB_PL0_REF_CTRL_SRCSEL_MASK 
#define CRL_APB_PL0_REF_CTRL_SRCSEL_DEFVAL                     0x00052000
#define CRL_APB_PL0_REF_CTRL_SRCSEL_SHIFT                      0
#define CRL_APB_PL0_REF_CTRL_SRCSEL_MASK                       0x00000007U

/*
* 6 bit divider
*/
#undef CRL_APB_AMS_REF_CTRL_DIVISOR1_DEFVAL 
#undef CRL_APB_AMS_REF_CTRL_DIVISOR1_SHIFT 
#undef CRL_APB_AMS_REF_CTRL_DIVISOR1_MASK 
#define CRL_APB_AMS_REF_CTRL_DIVISOR1_DEFVAL                   0x01001800
#define CRL_APB_AMS_REF_CTRL_DIVISOR1_SHIFT                    16
#define CRL_APB_AMS_REF_CTRL_DIVISOR1_MASK                     0x003F0000U

/*
* 6 bit divider
*/
#undef CRL_APB_AMS_REF_CTRL_DIVISOR0_DEFVAL 
#undef CRL_APB_AMS_REF_CTRL_DIVISOR0_SHIFT 
#undef CRL_APB_AMS_REF_CTRL_DIVISOR0_MASK 
#define CRL_APB_AMS_REF_CTRL_DIVISOR0_DEFVAL                   0x01001800
#define CRL_APB_AMS_REF_CTRL_DIVISOR0_SHIFT                    8
#define CRL_APB_AMS_REF_CTRL_DIVISOR0_MASK                     0x00003F00U

/*
* 000 = RPLL; 010 = IOPLL; 011 = DPLL; (This signal may only be toggled af
    * ter 4 cycles of the old clock and 4 cycles of the new clock. This is not
    *  usually an issue, but designers must be aware.)
*/
#undef CRL_APB_AMS_REF_CTRL_SRCSEL_DEFVAL 
#undef CRL_APB_AMS_REF_CTRL_SRCSEL_SHIFT 
#undef CRL_APB_AMS_REF_CTRL_SRCSEL_MASK 
#define CRL_APB_AMS_REF_CTRL_SRCSEL_DEFVAL                     0x01001800
#define CRL_APB_AMS_REF_CTRL_SRCSEL_SHIFT                      0
#define CRL_APB_AMS_REF_CTRL_SRCSEL_MASK                       0x00000007U

/*
* Clock active signal. Switch to 0 to disable the clock
*/
#undef CRL_APB_AMS_REF_CTRL_CLKACT_DEFVAL 
#undef CRL_APB_AMS_REF_CTRL_CLKACT_SHIFT 
#undef CRL_APB_AMS_REF_CTRL_CLKACT_MASK 
#define CRL_APB_AMS_REF_CTRL_CLKACT_DEFVAL                     0x01001800
#define CRL_APB_AMS_REF_CTRL_CLKACT_SHIFT                      24
#define CRL_APB_AMS_REF_CTRL_CLKACT_MASK                       0x01000000U

/*
* 000 = IOPLL; 001 = RPLL; (This signal may only be toggled after 4 cycles
    *  of the old clock and 4 cycles of the new clock. This is not usually an
    * issue, but designers must be aware.)
*/
#undef CRL_APB_DLL_REF_CTRL_SRCSEL_DEFVAL 
#undef CRL_APB_DLL_REF_CTRL_SRCSEL_SHIFT 
#undef CRL_APB_DLL_REF_CTRL_SRCSEL_MASK 
#define CRL_APB_DLL_REF_CTRL_SRCSEL_DEFVAL                     0x00000000
#define CRL_APB_DLL_REF_CTRL_SRCSEL_SHIFT                      0
#define CRL_APB_DLL_REF_CTRL_SRCSEL_MASK                       0x00000007U

/*
* 6 bit divider
*/
#undef CRL_APB_TIMESTAMP_REF_CTRL_DIVISOR0_DEFVAL 
#undef CRL_APB_TIMESTAMP_REF_CTRL_DIVISOR0_SHIFT 
#undef CRL_APB_TIMESTAMP_REF_CTRL_DIVISOR0_MASK 
#define CRL_APB_TIMESTAMP_REF_CTRL_DIVISOR0_DEFVAL             0x00001800
#define CRL_APB_TIMESTAMP_REF_CTRL_DIVISOR0_SHIFT              8
#define CRL_APB_TIMESTAMP_REF_CTRL_DIVISOR0_MASK               0x00003F00U

/*
* 1XX = pss_ref_clk; 000 = IOPLL; 010 = RPLL; 011 = DPLL; (This signal may
    *  only be toggled after 4 cycles of the old clock and 4 cycles of the new
    *  clock. This is not usually an issue, but designers must be aware.)
*/
#undef CRL_APB_TIMESTAMP_REF_CTRL_SRCSEL_DEFVAL 
#undef CRL_APB_TIMESTAMP_REF_CTRL_SRCSEL_SHIFT 
#undef CRL_APB_TIMESTAMP_REF_CTRL_SRCSEL_MASK 
#define CRL_APB_TIMESTAMP_REF_CTRL_SRCSEL_DEFVAL               0x00001800
#define CRL_APB_TIMESTAMP_REF_CTRL_SRCSEL_SHIFT                0
#define CRL_APB_TIMESTAMP_REF_CTRL_SRCSEL_MASK                 0x00000007U

/*
* Clock active signal. Switch to 0 to disable the clock
*/
#undef CRL_APB_TIMESTAMP_REF_CTRL_CLKACT_DEFVAL 
#undef CRL_APB_TIMESTAMP_REF_CTRL_CLKACT_SHIFT 
#undef CRL_APB_TIMESTAMP_REF_CTRL_CLKACT_MASK 
#define CRL_APB_TIMESTAMP_REF_CTRL_CLKACT_DEFVAL               0x00001800
#define CRL_APB_TIMESTAMP_REF_CTRL_CLKACT_SHIFT                24
#define CRL_APB_TIMESTAMP_REF_CTRL_CLKACT_MASK                 0x01000000U

/*
* 000 = IOPLL_TO_FPD; 010 = APLL; 011 = DPLL; (This signal may only be tog
    * gled after 4 cycles of the old clock and 4 cycles of the new clock. This
    *  is not usually an issue, but designers must be aware.)
*/
#undef CRF_APB_SATA_REF_CTRL_SRCSEL_DEFVAL 
#undef CRF_APB_SATA_REF_CTRL_SRCSEL_SHIFT 
#undef CRF_APB_SATA_REF_CTRL_SRCSEL_MASK 
#define CRF_APB_SATA_REF_CTRL_SRCSEL_DEFVAL                    0x01001600
#define CRF_APB_SATA_REF_CTRL_SRCSEL_SHIFT                     0
#define CRF_APB_SATA_REF_CTRL_SRCSEL_MASK                      0x00000007U

/*
* Clock active signal. Switch to 0 to disable the clock
*/
#undef CRF_APB_SATA_REF_CTRL_CLKACT_DEFVAL 
#undef CRF_APB_SATA_REF_CTRL_CLKACT_SHIFT 
#undef CRF_APB_SATA_REF_CTRL_CLKACT_MASK 
#define CRF_APB_SATA_REF_CTRL_CLKACT_DEFVAL                    0x01001600
#define CRF_APB_SATA_REF_CTRL_CLKACT_SHIFT                     24
#define CRF_APB_SATA_REF_CTRL_CLKACT_MASK                      0x01000000U

/*
* 6 bit divider
*/
#undef CRF_APB_SATA_REF_CTRL_DIVISOR0_DEFVAL 
#undef CRF_APB_SATA_REF_CTRL_DIVISOR0_SHIFT 
#undef CRF_APB_SATA_REF_CTRL_DIVISOR0_MASK 
#define CRF_APB_SATA_REF_CTRL_DIVISOR0_DEFVAL                  0x01001600
#define CRF_APB_SATA_REF_CTRL_DIVISOR0_SHIFT                   8
#define CRF_APB_SATA_REF_CTRL_DIVISOR0_MASK                    0x00003F00U

/*
* 000 = IOPLL_TO_FPD; 010 = RPLL_TO_FPD; 011 = DPLL; (This signal may only
    *  be toggled after 4 cycles of the old clock and 4 cycles of the new cloc
    * k. This is not usually an issue, but designers must be aware.)
*/
#undef CRF_APB_PCIE_REF_CTRL_SRCSEL_DEFVAL 
#undef CRF_APB_PCIE_REF_CTRL_SRCSEL_SHIFT 
#undef CRF_APB_PCIE_REF_CTRL_SRCSEL_MASK 
#define CRF_APB_PCIE_REF_CTRL_SRCSEL_DEFVAL                    0x00001500
#define CRF_APB_PCIE_REF_CTRL_SRCSEL_SHIFT                     0
#define CRF_APB_PCIE_REF_CTRL_SRCSEL_MASK                      0x00000007U

/*
* Clock active signal. Switch to 0 to disable the clock
*/
#undef CRF_APB_PCIE_REF_CTRL_CLKACT_DEFVAL 
#undef CRF_APB_PCIE_REF_CTRL_CLKACT_SHIFT 
#undef CRF_APB_PCIE_REF_CTRL_CLKACT_MASK 
#define CRF_APB_PCIE_REF_CTRL_CLKACT_DEFVAL                    0x00001500
#define CRF_APB_PCIE_REF_CTRL_CLKACT_SHIFT                     24
#define CRF_APB_PCIE_REF_CTRL_CLKACT_MASK                      0x01000000U

/*
* 6 bit divider
*/
#undef CRF_APB_PCIE_REF_CTRL_DIVISOR0_DEFVAL 
#undef CRF_APB_PCIE_REF_CTRL_DIVISOR0_SHIFT 
#undef CRF_APB_PCIE_REF_CTRL_DIVISOR0_MASK 
#define CRF_APB_PCIE_REF_CTRL_DIVISOR0_DEFVAL                  0x00001500
#define CRF_APB_PCIE_REF_CTRL_DIVISOR0_SHIFT                   8
#define CRF_APB_PCIE_REF_CTRL_DIVISOR0_MASK                    0x00003F00U

/*
* 6 bit divider
*/
#undef CRF_APB_DP_VIDEO_REF_CTRL_DIVISOR1_DEFVAL 
#undef CRF_APB_DP_VIDEO_REF_CTRL_DIVISOR1_SHIFT 
#undef CRF_APB_DP_VIDEO_REF_CTRL_DIVISOR1_MASK 
#define CRF_APB_DP_VIDEO_REF_CTRL_DIVISOR1_DEFVAL              0x01002300
#define CRF_APB_DP_VIDEO_REF_CTRL_DIVISOR1_SHIFT               16
#define CRF_APB_DP_VIDEO_REF_CTRL_DIVISOR1_MASK                0x003F0000U

/*
* 6 bit divider
*/
#undef CRF_APB_DP_VIDEO_REF_CTRL_DIVISOR0_DEFVAL 
#undef CRF_APB_DP_VIDEO_REF_CTRL_DIVISOR0_SHIFT 
#undef CRF_APB_DP_VIDEO_REF_CTRL_DIVISOR0_MASK 
#define CRF_APB_DP_VIDEO_REF_CTRL_DIVISOR0_DEFVAL              0x01002300
#define CRF_APB_DP_VIDEO_REF_CTRL_DIVISOR0_SHIFT               8
#define CRF_APB_DP_VIDEO_REF_CTRL_DIVISOR0_MASK                0x00003F00U

/*
* 000 = VPLL; 010 = DPLL; 011 = RPLL_TO_FPD - might be using extra mux; (T
    * his signal may only be toggled after 4 cycles of the old clock and 4 cyc
    * les of the new clock. This is not usually an issue, but designers must b
    * e aware.)
*/
#undef CRF_APB_DP_VIDEO_REF_CTRL_SRCSEL_DEFVAL 
#undef CRF_APB_DP_VIDEO_REF_CTRL_SRCSEL_SHIFT 
#undef CRF_APB_DP_VIDEO_REF_CTRL_SRCSEL_MASK 
#define CRF_APB_DP_VIDEO_REF_CTRL_SRCSEL_DEFVAL                0x01002300
#define CRF_APB_DP_VIDEO_REF_CTRL_SRCSEL_SHIFT                 0
#define CRF_APB_DP_VIDEO_REF_CTRL_SRCSEL_MASK                  0x00000007U

/*
* Clock active signal. Switch to 0 to disable the clock
*/
#undef CRF_APB_DP_VIDEO_REF_CTRL_CLKACT_DEFVAL 
#undef CRF_APB_DP_VIDEO_REF_CTRL_CLKACT_SHIFT 
#undef CRF_APB_DP_VIDEO_REF_CTRL_CLKACT_MASK 
#define CRF_APB_DP_VIDEO_REF_CTRL_CLKACT_DEFVAL                0x01002300
#define CRF_APB_DP_VIDEO_REF_CTRL_CLKACT_SHIFT                 24
#define CRF_APB_DP_VIDEO_REF_CTRL_CLKACT_MASK                  0x01000000U

/*
* 6 bit divider
*/
#undef CRF_APB_DP_AUDIO_REF_CTRL_DIVISOR1_DEFVAL 
#undef CRF_APB_DP_AUDIO_REF_CTRL_DIVISOR1_SHIFT 
#undef CRF_APB_DP_AUDIO_REF_CTRL_DIVISOR1_MASK 
#define CRF_APB_DP_AUDIO_REF_CTRL_DIVISOR1_DEFVAL              0x01032300
#define CRF_APB_DP_AUDIO_REF_CTRL_DIVISOR1_SHIFT               16
#define CRF_APB_DP_AUDIO_REF_CTRL_DIVISOR1_MASK                0x003F0000U

/*
* 6 bit divider
*/
#undef CRF_APB_DP_AUDIO_REF_CTRL_DIVISOR0_DEFVAL 
#undef CRF_APB_DP_AUDIO_REF_CTRL_DIVISOR0_SHIFT 
#undef CRF_APB_DP_AUDIO_REF_CTRL_DIVISOR0_MASK 
#define CRF_APB_DP_AUDIO_REF_CTRL_DIVISOR0_DEFVAL              0x01032300
#define CRF_APB_DP_AUDIO_REF_CTRL_DIVISOR0_SHIFT               8
#define CRF_APB_DP_AUDIO_REF_CTRL_DIVISOR0_MASK                0x00003F00U

/*
* 000 = VPLL; 010 = DPLL; 011 = RPLL_TO_FPD - might be using extra mux; (T
    * his signal may only be toggled after 4 cycles of the old clock and 4 cyc
    * les of the new clock. This is not usually an issue, but designers must b
    * e aware.)
*/
#undef CRF_APB_DP_AUDIO_REF_CTRL_SRCSEL_DEFVAL 
#undef CRF_APB_DP_AUDIO_REF_CTRL_SRCSEL_SHIFT 
#undef CRF_APB_DP_AUDIO_REF_CTRL_SRCSEL_MASK 
#define CRF_APB_DP_AUDIO_REF_CTRL_SRCSEL_DEFVAL                0x01032300
#define CRF_APB_DP_AUDIO_REF_CTRL_SRCSEL_SHIFT                 0
#define CRF_APB_DP_AUDIO_REF_CTRL_SRCSEL_MASK                  0x00000007U

/*
* Clock active signal. Switch to 0 to disable the clock
*/
#undef CRF_APB_DP_AUDIO_REF_CTRL_CLKACT_DEFVAL 
#undef CRF_APB_DP_AUDIO_REF_CTRL_CLKACT_SHIFT 
#undef CRF_APB_DP_AUDIO_REF_CTRL_CLKACT_MASK 
#define CRF_APB_DP_AUDIO_REF_CTRL_CLKACT_DEFVAL                0x01032300
#define CRF_APB_DP_AUDIO_REF_CTRL_CLKACT_SHIFT                 24
#define CRF_APB_DP_AUDIO_REF_CTRL_CLKACT_MASK                  0x01000000U

/*
* 6 bit divider
*/
#undef CRF_APB_DP_STC_REF_CTRL_DIVISOR1_DEFVAL 
#undef CRF_APB_DP_STC_REF_CTRL_DIVISOR1_SHIFT 
#undef CRF_APB_DP_STC_REF_CTRL_DIVISOR1_MASK 
#define CRF_APB_DP_STC_REF_CTRL_DIVISOR1_DEFVAL                0x01203200
#define CRF_APB_DP_STC_REF_CTRL_DIVISOR1_SHIFT                 16
#define CRF_APB_DP_STC_REF_CTRL_DIVISOR1_MASK                  0x003F0000U

/*
* 6 bit divider
*/
#undef CRF_APB_DP_STC_REF_CTRL_DIVISOR0_DEFVAL 
#undef CRF_APB_DP_STC_REF_CTRL_DIVISOR0_SHIFT 
#undef CRF_APB_DP_STC_REF_CTRL_DIVISOR0_MASK 
#define CRF_APB_DP_STC_REF_CTRL_DIVISOR0_DEFVAL                0x01203200
#define CRF_APB_DP_STC_REF_CTRL_DIVISOR0_SHIFT                 8
#define CRF_APB_DP_STC_REF_CTRL_DIVISOR0_MASK                  0x00003F00U

/*
* 000 = VPLL; 010 = DPLL; 011 = RPLL_TO_FPD; (This signal may only be togg
    * led after 4 cycles of the old clock and 4 cycles of the new clock. This
    * is not usually an issue, but designers must be aware.)
*/
#undef CRF_APB_DP_STC_REF_CTRL_SRCSEL_DEFVAL 
#undef CRF_APB_DP_STC_REF_CTRL_SRCSEL_SHIFT 
#undef CRF_APB_DP_STC_REF_CTRL_SRCSEL_MASK 
#define CRF_APB_DP_STC_REF_CTRL_SRCSEL_DEFVAL                  0x01203200
#define CRF_APB_DP_STC_REF_CTRL_SRCSEL_SHIFT                   0
#define CRF_APB_DP_STC_REF_CTRL_SRCSEL_MASK                    0x00000007U

/*
* Clock active signal. Switch to 0 to disable the clock
*/
#undef CRF_APB_DP_STC_REF_CTRL_CLKACT_DEFVAL 
#undef CRF_APB_DP_STC_REF_CTRL_CLKACT_SHIFT 
#undef CRF_APB_DP_STC_REF_CTRL_CLKACT_MASK 
#define CRF_APB_DP_STC_REF_CTRL_CLKACT_DEFVAL                  0x01203200
#define CRF_APB_DP_STC_REF_CTRL_CLKACT_SHIFT                   24
#define CRF_APB_DP_STC_REF_CTRL_CLKACT_MASK                    0x01000000U

/*
* 6 bit divider
*/
#undef CRF_APB_ACPU_CTRL_DIVISOR0_DEFVAL 
#undef CRF_APB_ACPU_CTRL_DIVISOR0_SHIFT 
#undef CRF_APB_ACPU_CTRL_DIVISOR0_MASK 
#define CRF_APB_ACPU_CTRL_DIVISOR0_DEFVAL                      0x03000400
#define CRF_APB_ACPU_CTRL_DIVISOR0_SHIFT                       8
#define CRF_APB_ACPU_CTRL_DIVISOR0_MASK                        0x00003F00U

/*
* 000 = APLL; 010 = DPLL; 011 = VPLL; (This signal may only be toggled aft
    * er 4 cycles of the old clock and 4 cycles of the new clock. This is not
    * usually an issue, but designers must be aware.)
*/
#undef CRF_APB_ACPU_CTRL_SRCSEL_DEFVAL 
#undef CRF_APB_ACPU_CTRL_SRCSEL_SHIFT 
#undef CRF_APB_ACPU_CTRL_SRCSEL_MASK 
#define CRF_APB_ACPU_CTRL_SRCSEL_DEFVAL                        0x03000400
#define CRF_APB_ACPU_CTRL_SRCSEL_SHIFT                         0
#define CRF_APB_ACPU_CTRL_SRCSEL_MASK                          0x00000007U

/*
* Clock active signal. Switch to 0 to disable the clock. For the half spee
    * d APU Clock
*/
#undef CRF_APB_ACPU_CTRL_CLKACT_HALF_DEFVAL 
#undef CRF_APB_ACPU_CTRL_CLKACT_HALF_SHIFT 
#undef CRF_APB_ACPU_CTRL_CLKACT_HALF_MASK 
#define CRF_APB_ACPU_CTRL_CLKACT_HALF_DEFVAL                   0x03000400
#define CRF_APB_ACPU_CTRL_CLKACT_HALF_SHIFT                    25
#define CRF_APB_ACPU_CTRL_CLKACT_HALF_MASK                     0x02000000U

/*
* Clock active signal. Switch to 0 to disable the clock. For the full spee
    * d ACPUX Clock. This will shut off the high speed clock to the entire APU
*/
#undef CRF_APB_ACPU_CTRL_CLKACT_FULL_DEFVAL 
#undef CRF_APB_ACPU_CTRL_CLKACT_FULL_SHIFT 
#undef CRF_APB_ACPU_CTRL_CLKACT_FULL_MASK 
#define CRF_APB_ACPU_CTRL_CLKACT_FULL_DEFVAL                   0x03000400
#define CRF_APB_ACPU_CTRL_CLKACT_FULL_SHIFT                    24
#define CRF_APB_ACPU_CTRL_CLKACT_FULL_MASK                     0x01000000U

/*
* 6 bit divider
*/
#undef CRF_APB_DBG_FPD_CTRL_DIVISOR0_DEFVAL 
#undef CRF_APB_DBG_FPD_CTRL_DIVISOR0_SHIFT 
#undef CRF_APB_DBG_FPD_CTRL_DIVISOR0_MASK 
#define CRF_APB_DBG_FPD_CTRL_DIVISOR0_DEFVAL                   0x01002500
#define CRF_APB_DBG_FPD_CTRL_DIVISOR0_SHIFT                    8
#define CRF_APB_DBG_FPD_CTRL_DIVISOR0_MASK                     0x00003F00U

/*
* 000 = IOPLL_TO_FPD; 010 = DPLL; 011 = APLL; (This signal may only be tog
    * gled after 4 cycles of the old clock and 4 cycles of the new clock. This
    *  is not usually an issue, but designers must be aware.)
*/
#undef CRF_APB_DBG_FPD_CTRL_SRCSEL_DEFVAL 
#undef CRF_APB_DBG_FPD_CTRL_SRCSEL_SHIFT 
#undef CRF_APB_DBG_FPD_CTRL_SRCSEL_MASK 
#define CRF_APB_DBG_FPD_CTRL_SRCSEL_DEFVAL                     0x01002500
#define CRF_APB_DBG_FPD_CTRL_SRCSEL_SHIFT                      0
#define CRF_APB_DBG_FPD_CTRL_SRCSEL_MASK                       0x00000007U

/*
* Clock active signal. Switch to 0 to disable the clock
*/
#undef CRF_APB_DBG_FPD_CTRL_CLKACT_DEFVAL 
#undef CRF_APB_DBG_FPD_CTRL_CLKACT_SHIFT 
#undef CRF_APB_DBG_FPD_CTRL_CLKACT_MASK 
#define CRF_APB_DBG_FPD_CTRL_CLKACT_DEFVAL                     0x01002500
#define CRF_APB_DBG_FPD_CTRL_CLKACT_SHIFT                      24
#define CRF_APB_DBG_FPD_CTRL_CLKACT_MASK                       0x01000000U

/*
* 6 bit divider
*/
#undef CRF_APB_DDR_CTRL_DIVISOR0_DEFVAL 
#undef CRF_APB_DDR_CTRL_DIVISOR0_SHIFT 
#undef CRF_APB_DDR_CTRL_DIVISOR0_MASK 
#define CRF_APB_DDR_CTRL_DIVISOR0_DEFVAL                       0x01000500
#define CRF_APB_DDR_CTRL_DIVISOR0_SHIFT                        8
#define CRF_APB_DDR_CTRL_DIVISOR0_MASK                         0x00003F00U

/*
* 000 = DPLL; 001 = VPLL; (This signal may only be toggled after 4 cycles
    * of the old clock and 4 cycles of the new clock. This is not usually an i
    * ssue, but designers must be aware.)
*/
#undef CRF_APB_DDR_CTRL_SRCSEL_DEFVAL 
#undef CRF_APB_DDR_CTRL_SRCSEL_SHIFT 
#undef CRF_APB_DDR_CTRL_SRCSEL_MASK 
#define CRF_APB_DDR_CTRL_SRCSEL_DEFVAL                         0x01000500
#define CRF_APB_DDR_CTRL_SRCSEL_SHIFT                          0
#define CRF_APB_DDR_CTRL_SRCSEL_MASK                           0x00000007U

/*
* 6 bit divider
*/
#undef CRF_APB_GPU_REF_CTRL_DIVISOR0_DEFVAL 
#undef CRF_APB_GPU_REF_CTRL_DIVISOR0_SHIFT 
#undef CRF_APB_GPU_REF_CTRL_DIVISOR0_MASK 
#define CRF_APB_GPU_REF_CTRL_DIVISOR0_DEFVAL                   0x00001500
#define CRF_APB_GPU_REF_CTRL_DIVISOR0_SHIFT                    8
#define CRF_APB_GPU_REF_CTRL_DIVISOR0_MASK                     0x00003F00U

/*
* 000 = IOPLL_TO_FPD; 010 = VPLL; 011 = DPLL; (This signal may only be tog
    * gled after 4 cycles of the old clock and 4 cycles of the new clock. This
    *  is not usually an issue, but designers must be aware.)
*/
#undef CRF_APB_GPU_REF_CTRL_SRCSEL_DEFVAL 
#undef CRF_APB_GPU_REF_CTRL_SRCSEL_SHIFT 
#undef CRF_APB_GPU_REF_CTRL_SRCSEL_MASK 
#define CRF_APB_GPU_REF_CTRL_SRCSEL_DEFVAL                     0x00001500
#define CRF_APB_GPU_REF_CTRL_SRCSEL_SHIFT                      0
#define CRF_APB_GPU_REF_CTRL_SRCSEL_MASK                       0x00000007U

/*
* Clock active signal. Switch to 0 to disable the clock, which will stop c
    * lock for GPU (and both Pixel Processors).
*/
#undef CRF_APB_GPU_REF_CTRL_CLKACT_DEFVAL 
#undef CRF_APB_GPU_REF_CTRL_CLKACT_SHIFT 
#undef CRF_APB_GPU_REF_CTRL_CLKACT_MASK 
#define CRF_APB_GPU_REF_CTRL_CLKACT_DEFVAL                     0x00001500
#define CRF_APB_GPU_REF_CTRL_CLKACT_SHIFT                      24
#define CRF_APB_GPU_REF_CTRL_CLKACT_MASK                       0x01000000U

/*
* Clock active signal for Pixel Processor. Switch to 0 to disable the cloc
    * k only to this Pixel Processor
*/
#undef CRF_APB_GPU_REF_CTRL_PP0_CLKACT_DEFVAL 
#undef CRF_APB_GPU_REF_CTRL_PP0_CLKACT_SHIFT 
#undef CRF_APB_GPU_REF_CTRL_PP0_CLKACT_MASK 
#define CRF_APB_GPU_REF_CTRL_PP0_CLKACT_DEFVAL                 0x00001500
#define CRF_APB_GPU_REF_CTRL_PP0_CLKACT_SHIFT                  25
#define CRF_APB_GPU_REF_CTRL_PP0_CLKACT_MASK                   0x02000000U

/*
* Clock active signal for Pixel Processor. Switch to 0 to disable the cloc
    * k only to this Pixel Processor
*/
#undef CRF_APB_GPU_REF_CTRL_PP1_CLKACT_DEFVAL 
#undef CRF_APB_GPU_REF_CTRL_PP1_CLKACT_SHIFT 
#undef CRF_APB_GPU_REF_CTRL_PP1_CLKACT_MASK 
#define CRF_APB_GPU_REF_CTRL_PP1_CLKACT_DEFVAL                 0x00001500
#define CRF_APB_GPU_REF_CTRL_PP1_CLKACT_SHIFT                  26
#define CRF_APB_GPU_REF_CTRL_PP1_CLKACT_MASK                   0x04000000U

/*
* 6 bit divider
*/
#undef CRF_APB_GDMA_REF_CTRL_DIVISOR0_DEFVAL 
#undef CRF_APB_GDMA_REF_CTRL_DIVISOR0_SHIFT 
#undef CRF_APB_GDMA_REF_CTRL_DIVISOR0_MASK 
#define CRF_APB_GDMA_REF_CTRL_DIVISOR0_DEFVAL                  0x01000500
#define CRF_APB_GDMA_REF_CTRL_DIVISOR0_SHIFT                   8
#define CRF_APB_GDMA_REF_CTRL_DIVISOR0_MASK                    0x00003F00U

/*
* 000 = APLL; 010 = VPLL; 011 = DPLL; (This signal may only be toggled aft
    * er 4 cycles of the old clock and 4 cycles of the new clock. This is not
    * usually an issue, but designers must be aware.)
*/
#undef CRF_APB_GDMA_REF_CTRL_SRCSEL_DEFVAL 
#undef CRF_APB_GDMA_REF_CTRL_SRCSEL_SHIFT 
#undef CRF_APB_GDMA_REF_CTRL_SRCSEL_MASK 
#define CRF_APB_GDMA_REF_CTRL_SRCSEL_DEFVAL                    0x01000500
#define CRF_APB_GDMA_REF_CTRL_SRCSEL_SHIFT                     0
#define CRF_APB_GDMA_REF_CTRL_SRCSEL_MASK                      0x00000007U

/*
* Clock active signal. Switch to 0 to disable the clock
*/
#undef CRF_APB_GDMA_REF_CTRL_CLKACT_DEFVAL 
#undef CRF_APB_GDMA_REF_CTRL_CLKACT_SHIFT 
#undef CRF_APB_GDMA_REF_CTRL_CLKACT_MASK 
#define CRF_APB_GDMA_REF_CTRL_CLKACT_DEFVAL                    0x01000500
#define CRF_APB_GDMA_REF_CTRL_CLKACT_SHIFT                     24
#define CRF_APB_GDMA_REF_CTRL_CLKACT_MASK                      0x01000000U

/*
* 6 bit divider
*/
#undef CRF_APB_DPDMA_REF_CTRL_DIVISOR0_DEFVAL 
#undef CRF_APB_DPDMA_REF_CTRL_DIVISOR0_SHIFT 
#undef CRF_APB_DPDMA_REF_CTRL_DIVISOR0_MASK 
#define CRF_APB_DPDMA_REF_CTRL_DIVISOR0_DEFVAL                 0x01000500
#define CRF_APB_DPDMA_REF_CTRL_DIVISOR0_SHIFT                  8
#define CRF_APB_DPDMA_REF_CTRL_DIVISOR0_MASK                   0x00003F00U

/*
* 000 = APLL; 010 = VPLL; 011 = DPLL; (This signal may only be toggled aft
    * er 4 cycles of the old clock and 4 cycles of the new clock. This is not
    * usually an issue, but designers must be aware.)
*/
#undef CRF_APB_DPDMA_REF_CTRL_SRCSEL_DEFVAL 
#undef CRF_APB_DPDMA_REF_CTRL_SRCSEL_SHIFT 
#undef CRF_APB_DPDMA_REF_CTRL_SRCSEL_MASK 
#define CRF_APB_DPDMA_REF_CTRL_SRCSEL_DEFVAL                   0x01000500
#define CRF_APB_DPDMA_REF_CTRL_SRCSEL_SHIFT                    0
#define CRF_APB_DPDMA_REF_CTRL_SRCSEL_MASK                     0x00000007U

/*
* Clock active signal. Switch to 0 to disable the clock
*/
#undef CRF_APB_DPDMA_REF_CTRL_CLKACT_DEFVAL 
#undef CRF_APB_DPDMA_REF_CTRL_CLKACT_SHIFT 
#undef CRF_APB_DPDMA_REF_CTRL_CLKACT_MASK 
#define CRF_APB_DPDMA_REF_CTRL_CLKACT_DEFVAL                   0x01000500
#define CRF_APB_DPDMA_REF_CTRL_CLKACT_SHIFT                    24
#define CRF_APB_DPDMA_REF_CTRL_CLKACT_MASK                     0x01000000U

/*
* 6 bit divider
*/
#undef CRF_APB_TOPSW_MAIN_CTRL_DIVISOR0_DEFVAL 
#undef CRF_APB_TOPSW_MAIN_CTRL_DIVISOR0_SHIFT 
#undef CRF_APB_TOPSW_MAIN_CTRL_DIVISOR0_MASK 
#define CRF_APB_TOPSW_MAIN_CTRL_DIVISOR0_DEFVAL                0x01000400
#define CRF_APB_TOPSW_MAIN_CTRL_DIVISOR0_SHIFT                 8
#define CRF_APB_TOPSW_MAIN_CTRL_DIVISOR0_MASK                  0x00003F00U

/*
* 000 = APLL; 010 = VPLL; 011 = DPLL; (This signal may only be toggled aft
    * er 4 cycles of the old clock and 4 cycles of the new clock. This is not
    * usually an issue, but designers must be aware.)
*/
#undef CRF_APB_TOPSW_MAIN_CTRL_SRCSEL_DEFVAL 
#undef CRF_APB_TOPSW_MAIN_CTRL_SRCSEL_SHIFT 
#undef CRF_APB_TOPSW_MAIN_CTRL_SRCSEL_MASK 
#define CRF_APB_TOPSW_MAIN_CTRL_SRCSEL_DEFVAL                  0x01000400
#define CRF_APB_TOPSW_MAIN_CTRL_SRCSEL_SHIFT                   0
#define CRF_APB_TOPSW_MAIN_CTRL_SRCSEL_MASK                    0x00000007U

/*
* Clock active signal. Switch to 0 to disable the clock
*/
#undef CRF_APB_TOPSW_MAIN_CTRL_CLKACT_DEFVAL 
#undef CRF_APB_TOPSW_MAIN_CTRL_CLKACT_SHIFT 
#undef CRF_APB_TOPSW_MAIN_CTRL_CLKACT_MASK 
#define CRF_APB_TOPSW_MAIN_CTRL_CLKACT_DEFVAL                  0x01000400
#define CRF_APB_TOPSW_MAIN_CTRL_CLKACT_SHIFT                   24
#define CRF_APB_TOPSW_MAIN_CTRL_CLKACT_MASK                    0x01000000U

/*
* 6 bit divider
*/
#undef CRF_APB_TOPSW_LSBUS_CTRL_DIVISOR0_DEFVAL 
#undef CRF_APB_TOPSW_LSBUS_CTRL_DIVISOR0_SHIFT 
#undef CRF_APB_TOPSW_LSBUS_CTRL_DIVISOR0_MASK 
#define CRF_APB_TOPSW_LSBUS_CTRL_DIVISOR0_DEFVAL               0x01000800
#define CRF_APB_TOPSW_LSBUS_CTRL_DIVISOR0_SHIFT                8
#define CRF_APB_TOPSW_LSBUS_CTRL_DIVISOR0_MASK                 0x00003F00U

/*
* 000 = APLL; 010 = IOPLL_TO_FPD; 011 = DPLL; (This signal may only be tog
    * gled after 4 cycles of the old clock and 4 cycles of the new clock. This
    *  is not usually an issue, but designers must be aware.)
*/
#undef CRF_APB_TOPSW_LSBUS_CTRL_SRCSEL_DEFVAL 
#undef CRF_APB_TOPSW_LSBUS_CTRL_SRCSEL_SHIFT 
#undef CRF_APB_TOPSW_LSBUS_CTRL_SRCSEL_MASK 
#define CRF_APB_TOPSW_LSBUS_CTRL_SRCSEL_DEFVAL                 0x01000800
#define CRF_APB_TOPSW_LSBUS_CTRL_SRCSEL_SHIFT                  0
#define CRF_APB_TOPSW_LSBUS_CTRL_SRCSEL_MASK                   0x00000007U

/*
* Clock active signal. Switch to 0 to disable the clock
*/
#undef CRF_APB_TOPSW_LSBUS_CTRL_CLKACT_DEFVAL 
#undef CRF_APB_TOPSW_LSBUS_CTRL_CLKACT_SHIFT 
#undef CRF_APB_TOPSW_LSBUS_CTRL_CLKACT_MASK 
#define CRF_APB_TOPSW_LSBUS_CTRL_CLKACT_DEFVAL                 0x01000800
#define CRF_APB_TOPSW_LSBUS_CTRL_CLKACT_SHIFT                  24
#define CRF_APB_TOPSW_LSBUS_CTRL_CLKACT_MASK                   0x01000000U

/*
* 6 bit divider
*/
#undef CRF_APB_DBG_TSTMP_CTRL_DIVISOR0_DEFVAL 
#undef CRF_APB_DBG_TSTMP_CTRL_DIVISOR0_SHIFT 
#undef CRF_APB_DBG_TSTMP_CTRL_DIVISOR0_MASK 
#define CRF_APB_DBG_TSTMP_CTRL_DIVISOR0_DEFVAL                 0x00000A00
#define CRF_APB_DBG_TSTMP_CTRL_DIVISOR0_SHIFT                  8
#define CRF_APB_DBG_TSTMP_CTRL_DIVISOR0_MASK                   0x00003F00U

/*
* 000 = IOPLL_TO_FPD; 010 = DPLL; 011 = APLL; (This signal may only be tog
    * gled after 4 cycles of the old clock and 4 cycles of the new clock. This
    *  is not usually an issue, but designers must be aware.)
*/
#undef CRF_APB_DBG_TSTMP_CTRL_SRCSEL_DEFVAL 
#undef CRF_APB_DBG_TSTMP_CTRL_SRCSEL_SHIFT 
#undef CRF_APB_DBG_TSTMP_CTRL_SRCSEL_MASK 
#define CRF_APB_DBG_TSTMP_CTRL_SRCSEL_DEFVAL                   0x00000A00
#define CRF_APB_DBG_TSTMP_CTRL_SRCSEL_SHIFT                    0
#define CRF_APB_DBG_TSTMP_CTRL_SRCSEL_MASK                     0x00000007U

/*
* 00" = Select the APB switch clock for the APB interface of TTC0'01" = Se
    * lect the PLL ref clock for the APB interface of TTC0'10" = Select the R5
    *  clock for the APB interface of TTC0
*/
#undef IOU_SLCR_IOU_TTC_APB_CLK_TTC0_SEL_DEFVAL 
#undef IOU_SLCR_IOU_TTC_APB_CLK_TTC0_SEL_SHIFT 
#undef IOU_SLCR_IOU_TTC_APB_CLK_TTC0_SEL_MASK 
#define IOU_SLCR_IOU_TTC_APB_CLK_TTC0_SEL_DEFVAL               0x00000000
#define IOU_SLCR_IOU_TTC_APB_CLK_TTC0_SEL_SHIFT                0
#define IOU_SLCR_IOU_TTC_APB_CLK_TTC0_SEL_MASK                 0x00000003U

/*
* 00" = Select the APB switch clock for the APB interface of TTC1'01" = Se
    * lect the PLL ref clock for the APB interface of TTC1'10" = Select the R5
    *  clock for the APB interface of TTC1
*/
#undef IOU_SLCR_IOU_TTC_APB_CLK_TTC1_SEL_DEFVAL 
#undef IOU_SLCR_IOU_TTC_APB_CLK_TTC1_SEL_SHIFT 
#undef IOU_SLCR_IOU_TTC_APB_CLK_TTC1_SEL_MASK 
#define IOU_SLCR_IOU_TTC_APB_CLK_TTC1_SEL_DEFVAL               0x00000000
#define IOU_SLCR_IOU_TTC_APB_CLK_TTC1_SEL_SHIFT                2
#define IOU_SLCR_IOU_TTC_APB_CLK_TTC1_SEL_MASK                 0x0000000CU

/*
* 00" = Select the APB switch clock for the APB interface of TTC2'01" = Se
    * lect the PLL ref clock for the APB interface of TTC2'10" = Select the R5
    *  clock for the APB interface of TTC2
*/
#undef IOU_SLCR_IOU_TTC_APB_CLK_TTC2_SEL_DEFVAL 
#undef IOU_SLCR_IOU_TTC_APB_CLK_TTC2_SEL_SHIFT 
#undef IOU_SLCR_IOU_TTC_APB_CLK_TTC2_SEL_MASK 
#define IOU_SLCR_IOU_TTC_APB_CLK_TTC2_SEL_DEFVAL               0x00000000
#define IOU_SLCR_IOU_TTC_APB_CLK_TTC2_SEL_SHIFT                4
#define IOU_SLCR_IOU_TTC_APB_CLK_TTC2_SEL_MASK                 0x00000030U

/*
* 00" = Select the APB switch clock for the APB interface of TTC3'01" = Se
    * lect the PLL ref clock for the APB interface of TTC3'10" = Select the R5
    *  clock for the APB interface of TTC3
*/
#undef IOU_SLCR_IOU_TTC_APB_CLK_TTC3_SEL_DEFVAL 
#undef IOU_SLCR_IOU_TTC_APB_CLK_TTC3_SEL_SHIFT 
#undef IOU_SLCR_IOU_TTC_APB_CLK_TTC3_SEL_MASK 
#define IOU_SLCR_IOU_TTC_APB_CLK_TTC3_SEL_DEFVAL               0x00000000
#define IOU_SLCR_IOU_TTC_APB_CLK_TTC3_SEL_SHIFT                6
#define IOU_SLCR_IOU_TTC_APB_CLK_TTC3_SEL_MASK                 0x000000C0U

/*
* System watchdog timer clock source selection: 0: Internal APB clock 1: E
    * xternal (PL clock via EMIO or Pinout clock via MIO)
*/
#undef FPD_SLCR_WDT_CLK_SEL_SELECT_DEFVAL 
#undef FPD_SLCR_WDT_CLK_SEL_SELECT_SHIFT 
#undef FPD_SLCR_WDT_CLK_SEL_SELECT_MASK 
#define FPD_SLCR_WDT_CLK_SEL_SELECT_DEFVAL                     0x00000000
#define FPD_SLCR_WDT_CLK_SEL_SELECT_SHIFT                      0
#define FPD_SLCR_WDT_CLK_SEL_SELECT_MASK                       0x00000001U

/*
* System watchdog timer clock source selection: 0: internal clock APB cloc
    * k 1: external clock from PL via EMIO, or from pinout via MIO
*/
#undef IOU_SLCR_WDT_CLK_SEL_SELECT_DEFVAL 
#undef IOU_SLCR_WDT_CLK_SEL_SELECT_SHIFT 
#undef IOU_SLCR_WDT_CLK_SEL_SELECT_MASK 
#define IOU_SLCR_WDT_CLK_SEL_SELECT_DEFVAL                     0x00000000
#define IOU_SLCR_WDT_CLK_SEL_SELECT_SHIFT                      0
#define IOU_SLCR_WDT_CLK_SEL_SELECT_MASK                       0x00000001U

/*
* System watchdog timer clock source selection: 0: internal clock APB cloc
    * k 1: external clock pss_ref_clk
*/
#undef LPD_SLCR_CSUPMU_WDT_CLK_SEL_SELECT_DEFVAL 
#undef LPD_SLCR_CSUPMU_WDT_CLK_SEL_SELECT_SHIFT 
#undef LPD_SLCR_CSUPMU_WDT_CLK_SEL_SELECT_MASK 
#define LPD_SLCR_CSUPMU_WDT_CLK_SEL_SELECT_DEFVAL              0x00000000
#define LPD_SLCR_CSUPMU_WDT_CLK_SEL_SELECT_SHIFT               0
#define LPD_SLCR_CSUPMU_WDT_CLK_SEL_SELECT_MASK                0x00000001U
#undef CRF_APB_RST_DDR_SS_OFFSET 
#define CRF_APB_RST_DDR_SS_OFFSET                                                  0XFD1A0108
#undef DDRC_MSTR_OFFSET 
#define DDRC_MSTR_OFFSET                                                           0XFD070000
#undef DDRC_MRCTRL0_OFFSET 
#define DDRC_MRCTRL0_OFFSET                                                        0XFD070010
#undef DDRC_DERATEEN_OFFSET 
#define DDRC_DERATEEN_OFFSET                                                       0XFD070020
#undef DDRC_DERATEINT_OFFSET 
#define DDRC_DERATEINT_OFFSET                                                      0XFD070024
#undef DDRC_PWRCTL_OFFSET 
#define DDRC_PWRCTL_OFFSET                                                         0XFD070030
#undef DDRC_PWRTMG_OFFSET 
#define DDRC_PWRTMG_OFFSET                                                         0XFD070034
#undef DDRC_RFSHCTL0_OFFSET 
#define DDRC_RFSHCTL0_OFFSET                                                       0XFD070050
#undef DDRC_RFSHCTL1_OFFSET 
#define DDRC_RFSHCTL1_OFFSET                                                       0XFD070054
#undef DDRC_RFSHCTL3_OFFSET 
#define DDRC_RFSHCTL3_OFFSET                                                       0XFD070060
#undef DDRC_RFSHTMG_OFFSET 
#define DDRC_RFSHTMG_OFFSET                                                        0XFD070064
#undef DDRC_ECCCFG0_OFFSET 
#define DDRC_ECCCFG0_OFFSET                                                        0XFD070070
#undef DDRC_ECCCFG1_OFFSET 
#define DDRC_ECCCFG1_OFFSET                                                        0XFD070074
#undef DDRC_CRCPARCTL1_OFFSET 
#define DDRC_CRCPARCTL1_OFFSET                                                     0XFD0700C4
#undef DDRC_CRCPARCTL2_OFFSET 
#define DDRC_CRCPARCTL2_OFFSET                                                     0XFD0700C8
#undef DDRC_INIT0_OFFSET 
#define DDRC_INIT0_OFFSET                                                          0XFD0700D0
#undef DDRC_INIT1_OFFSET 
#define DDRC_INIT1_OFFSET                                                          0XFD0700D4
#undef DDRC_INIT2_OFFSET 
#define DDRC_INIT2_OFFSET                                                          0XFD0700D8
#undef DDRC_INIT3_OFFSET 
#define DDRC_INIT3_OFFSET                                                          0XFD0700DC
#undef DDRC_INIT4_OFFSET 
#define DDRC_INIT4_OFFSET                                                          0XFD0700E0
#undef DDRC_INIT5_OFFSET 
#define DDRC_INIT5_OFFSET                                                          0XFD0700E4
#undef DDRC_INIT6_OFFSET 
#define DDRC_INIT6_OFFSET                                                          0XFD0700E8
#undef DDRC_INIT7_OFFSET 
#define DDRC_INIT7_OFFSET                                                          0XFD0700EC
#undef DDRC_DIMMCTL_OFFSET 
#define DDRC_DIMMCTL_OFFSET                                                        0XFD0700F0
#undef DDRC_RANKCTL_OFFSET 
#define DDRC_RANKCTL_OFFSET                                                        0XFD0700F4
#undef DDRC_DRAMTMG0_OFFSET 
#define DDRC_DRAMTMG0_OFFSET                                                       0XFD070100
#undef DDRC_DRAMTMG1_OFFSET 
#define DDRC_DRAMTMG1_OFFSET                                                       0XFD070104
#undef DDRC_DRAMTMG2_OFFSET 
#define DDRC_DRAMTMG2_OFFSET                                                       0XFD070108
#undef DDRC_DRAMTMG3_OFFSET 
#define DDRC_DRAMTMG3_OFFSET                                                       0XFD07010C
#undef DDRC_DRAMTMG4_OFFSET 
#define DDRC_DRAMTMG4_OFFSET                                                       0XFD070110
#undef DDRC_DRAMTMG5_OFFSET 
#define DDRC_DRAMTMG5_OFFSET                                                       0XFD070114
#undef DDRC_DRAMTMG6_OFFSET 
#define DDRC_DRAMTMG6_OFFSET                                                       0XFD070118
#undef DDRC_DRAMTMG7_OFFSET 
#define DDRC_DRAMTMG7_OFFSET                                                       0XFD07011C
#undef DDRC_DRAMTMG8_OFFSET 
#define DDRC_DRAMTMG8_OFFSET                                                       0XFD070120
#undef DDRC_DRAMTMG9_OFFSET 
#define DDRC_DRAMTMG9_OFFSET                                                       0XFD070124
#undef DDRC_DRAMTMG11_OFFSET 
#define DDRC_DRAMTMG11_OFFSET                                                      0XFD07012C
#undef DDRC_DRAMTMG12_OFFSET 
#define DDRC_DRAMTMG12_OFFSET                                                      0XFD070130
#undef DDRC_ZQCTL0_OFFSET 
#define DDRC_ZQCTL0_OFFSET                                                         0XFD070180
#undef DDRC_ZQCTL1_OFFSET 
#define DDRC_ZQCTL1_OFFSET                                                         0XFD070184
#undef DDRC_DFITMG0_OFFSET 
#define DDRC_DFITMG0_OFFSET                                                        0XFD070190
#undef DDRC_DFITMG1_OFFSET 
#define DDRC_DFITMG1_OFFSET                                                        0XFD070194
#undef DDRC_DFILPCFG0_OFFSET 
#define DDRC_DFILPCFG0_OFFSET                                                      0XFD070198
#undef DDRC_DFILPCFG1_OFFSET 
#define DDRC_DFILPCFG1_OFFSET                                                      0XFD07019C
#undef DDRC_DFIUPD0_OFFSET 
#define DDRC_DFIUPD0_OFFSET                                                        0XFD0701A0
#undef DDRC_DFIUPD1_OFFSET 
#define DDRC_DFIUPD1_OFFSET                                                        0XFD0701A4
#undef DDRC_DFIMISC_OFFSET 
#define DDRC_DFIMISC_OFFSET                                                        0XFD0701B0
#undef DDRC_DFITMG2_OFFSET 
#define DDRC_DFITMG2_OFFSET                                                        0XFD0701B4
#undef DDRC_DBICTL_OFFSET 
#define DDRC_DBICTL_OFFSET                                                         0XFD0701C0
#undef DDRC_ADDRMAP0_OFFSET 
#define DDRC_ADDRMAP0_OFFSET                                                       0XFD070200
#undef DDRC_ADDRMAP1_OFFSET 
#define DDRC_ADDRMAP1_OFFSET                                                       0XFD070204
#undef DDRC_ADDRMAP2_OFFSET 
#define DDRC_ADDRMAP2_OFFSET                                                       0XFD070208
#undef DDRC_ADDRMAP3_OFFSET 
#define DDRC_ADDRMAP3_OFFSET                                                       0XFD07020C
#undef DDRC_ADDRMAP4_OFFSET 
#define DDRC_ADDRMAP4_OFFSET                                                       0XFD070210
#undef DDRC_ADDRMAP5_OFFSET 
#define DDRC_ADDRMAP5_OFFSET                                                       0XFD070214
#undef DDRC_ADDRMAP6_OFFSET 
#define DDRC_ADDRMAP6_OFFSET                                                       0XFD070218
#undef DDRC_ADDRMAP7_OFFSET 
#define DDRC_ADDRMAP7_OFFSET                                                       0XFD07021C
#undef DDRC_ADDRMAP8_OFFSET 
#define DDRC_ADDRMAP8_OFFSET                                                       0XFD070220
#undef DDRC_ADDRMAP9_OFFSET 
#define DDRC_ADDRMAP9_OFFSET                                                       0XFD070224
#undef DDRC_ADDRMAP10_OFFSET 
#define DDRC_ADDRMAP10_OFFSET                                                      0XFD070228
#undef DDRC_ADDRMAP11_OFFSET 
#define DDRC_ADDRMAP11_OFFSET                                                      0XFD07022C
#undef DDRC_ODTCFG_OFFSET 
#define DDRC_ODTCFG_OFFSET                                                         0XFD070240
#undef DDRC_ODTMAP_OFFSET 
#define DDRC_ODTMAP_OFFSET                                                         0XFD070244
#undef DDRC_SCHED_OFFSET 
#define DDRC_SCHED_OFFSET                                                          0XFD070250
#undef DDRC_PERFLPR1_OFFSET 
#define DDRC_PERFLPR1_OFFSET                                                       0XFD070264
#undef DDRC_PERFWR1_OFFSET 
#define DDRC_PERFWR1_OFFSET                                                        0XFD07026C
#undef DDRC_DQMAP0_OFFSET 
#define DDRC_DQMAP0_OFFSET                                                         0XFD070280
#undef DDRC_DQMAP1_OFFSET 
#define DDRC_DQMAP1_OFFSET                                                         0XFD070284
#undef DDRC_DQMAP2_OFFSET 
#define DDRC_DQMAP2_OFFSET                                                         0XFD070288
#undef DDRC_DQMAP3_OFFSET 
#define DDRC_DQMAP3_OFFSET                                                         0XFD07028C
#undef DDRC_DQMAP4_OFFSET 
#define DDRC_DQMAP4_OFFSET                                                         0XFD070290
#undef DDRC_DQMAP5_OFFSET 
#define DDRC_DQMAP5_OFFSET                                                         0XFD070294
#undef DDRC_DBG0_OFFSET 
#define DDRC_DBG0_OFFSET                                                           0XFD070300
#undef DDRC_DBGCMD_OFFSET 
#define DDRC_DBGCMD_OFFSET                                                         0XFD07030C
#undef DDRC_SWCTL_OFFSET 
#define DDRC_SWCTL_OFFSET                                                          0XFD070320
#undef DDRC_PCCFG_OFFSET 
#define DDRC_PCCFG_OFFSET                                                          0XFD070400
#undef DDRC_PCFGR_0_OFFSET 
#define DDRC_PCFGR_0_OFFSET                                                        0XFD070404
#undef DDRC_PCFGW_0_OFFSET 
#define DDRC_PCFGW_0_OFFSET                                                        0XFD070408
#undef DDRC_PCTRL_0_OFFSET 
#define DDRC_PCTRL_0_OFFSET                                                        0XFD070490
#undef DDRC_PCFGQOS0_0_OFFSET 
#define DDRC_PCFGQOS0_0_OFFSET                                                     0XFD070494
#undef DDRC_PCFGQOS1_0_OFFSET 
#define DDRC_PCFGQOS1_0_OFFSET                                                     0XFD070498
#undef DDRC_PCFGR_1_OFFSET 
#define DDRC_PCFGR_1_OFFSET                                                        0XFD0704B4
#undef DDRC_PCFGW_1_OFFSET 
#define DDRC_PCFGW_1_OFFSET                                                        0XFD0704B8
#undef DDRC_PCTRL_1_OFFSET 
#define DDRC_PCTRL_1_OFFSET                                                        0XFD070540
#undef DDRC_PCFGQOS0_1_OFFSET 
#define DDRC_PCFGQOS0_1_OFFSET                                                     0XFD070544
#undef DDRC_PCFGQOS1_1_OFFSET 
#define DDRC_PCFGQOS1_1_OFFSET                                                     0XFD070548
#undef DDRC_PCFGR_2_OFFSET 
#define DDRC_PCFGR_2_OFFSET                                                        0XFD070564
#undef DDRC_PCFGW_2_OFFSET 
#define DDRC_PCFGW_2_OFFSET                                                        0XFD070568
#undef DDRC_PCTRL_2_OFFSET 
#define DDRC_PCTRL_2_OFFSET                                                        0XFD0705F0
#undef DDRC_PCFGQOS0_2_OFFSET 
#define DDRC_PCFGQOS0_2_OFFSET                                                     0XFD0705F4
#undef DDRC_PCFGQOS1_2_OFFSET 
#define DDRC_PCFGQOS1_2_OFFSET                                                     0XFD0705F8
#undef DDRC_PCFGR_3_OFFSET 
#define DDRC_PCFGR_3_OFFSET                                                        0XFD070614
#undef DDRC_PCFGW_3_OFFSET 
#define DDRC_PCFGW_3_OFFSET                                                        0XFD070618
#undef DDRC_PCTRL_3_OFFSET 
#define DDRC_PCTRL_3_OFFSET                                                        0XFD0706A0
#undef DDRC_PCFGQOS0_3_OFFSET 
#define DDRC_PCFGQOS0_3_OFFSET                                                     0XFD0706A4
#undef DDRC_PCFGQOS1_3_OFFSET 
#define DDRC_PCFGQOS1_3_OFFSET                                                     0XFD0706A8
#undef DDRC_PCFGWQOS0_3_OFFSET 
#define DDRC_PCFGWQOS0_3_OFFSET                                                    0XFD0706AC
#undef DDRC_PCFGWQOS1_3_OFFSET 
#define DDRC_PCFGWQOS1_3_OFFSET                                                    0XFD0706B0
#undef DDRC_PCFGR_4_OFFSET 
#define DDRC_PCFGR_4_OFFSET                                                        0XFD0706C4
#undef DDRC_PCFGW_4_OFFSET 
#define DDRC_PCFGW_4_OFFSET                                                        0XFD0706C8
#undef DDRC_PCTRL_4_OFFSET 
#define DDRC_PCTRL_4_OFFSET                                                        0XFD070750
#undef DDRC_PCFGQOS0_4_OFFSET 
#define DDRC_PCFGQOS0_4_OFFSET                                                     0XFD070754
#undef DDRC_PCFGQOS1_4_OFFSET 
#define DDRC_PCFGQOS1_4_OFFSET                                                     0XFD070758
#undef DDRC_PCFGWQOS0_4_OFFSET 
#define DDRC_PCFGWQOS0_4_OFFSET                                                    0XFD07075C
#undef DDRC_PCFGWQOS1_4_OFFSET 
#define DDRC_PCFGWQOS1_4_OFFSET                                                    0XFD070760
#undef DDRC_PCFGR_5_OFFSET 
#define DDRC_PCFGR_5_OFFSET                                                        0XFD070774
#undef DDRC_PCFGW_5_OFFSET 
#define DDRC_PCFGW_5_OFFSET                                                        0XFD070778
#undef DDRC_PCTRL_5_OFFSET 
#define DDRC_PCTRL_5_OFFSET                                                        0XFD070800
#undef DDRC_PCFGQOS0_5_OFFSET 
#define DDRC_PCFGQOS0_5_OFFSET                                                     0XFD070804
#undef DDRC_PCFGQOS1_5_OFFSET 
#define DDRC_PCFGQOS1_5_OFFSET                                                     0XFD070808
#undef DDRC_PCFGWQOS0_5_OFFSET 
#define DDRC_PCFGWQOS0_5_OFFSET                                                    0XFD07080C
#undef DDRC_PCFGWQOS1_5_OFFSET 
#define DDRC_PCFGWQOS1_5_OFFSET                                                    0XFD070810
#undef DDRC_SARBASE0_OFFSET 
#define DDRC_SARBASE0_OFFSET                                                       0XFD070F04
#undef DDRC_SARSIZE0_OFFSET 
#define DDRC_SARSIZE0_OFFSET                                                       0XFD070F08
#undef DDRC_SARBASE1_OFFSET 
#define DDRC_SARBASE1_OFFSET                                                       0XFD070F0C
#undef DDRC_SARSIZE1_OFFSET 
#define DDRC_SARSIZE1_OFFSET                                                       0XFD070F10
#undef DDRC_DFITMG0_SHADOW_OFFSET 
#define DDRC_DFITMG0_SHADOW_OFFSET                                                 0XFD072190
#undef CRF_APB_RST_DDR_SS_OFFSET 
#define CRF_APB_RST_DDR_SS_OFFSET                                                  0XFD1A0108
#undef DDR_PHY_PGCR0_OFFSET 
#define DDR_PHY_PGCR0_OFFSET                                                       0XFD080010
#undef DDR_PHY_PGCR2_OFFSET 
#define DDR_PHY_PGCR2_OFFSET                                                       0XFD080018
#undef DDR_PHY_PGCR3_OFFSET 
#define DDR_PHY_PGCR3_OFFSET                                                       0XFD08001C
#undef DDR_PHY_PGCR5_OFFSET 
#define DDR_PHY_PGCR5_OFFSET                                                       0XFD080024
#undef DDR_PHY_PTR0_OFFSET 
#define DDR_PHY_PTR0_OFFSET                                                        0XFD080040
#undef DDR_PHY_PTR1_OFFSET 
#define DDR_PHY_PTR1_OFFSET                                                        0XFD080044
#undef DDR_PHY_PLLCR0_OFFSET 
#define DDR_PHY_PLLCR0_OFFSET                                                      0XFD080068
#undef DDR_PHY_DSGCR_OFFSET 
#define DDR_PHY_DSGCR_OFFSET                                                       0XFD080090
#undef DDR_PHY_GPR0_OFFSET 
#define DDR_PHY_GPR0_OFFSET                                                        0XFD0800C0
#undef DDR_PHY_DCR_OFFSET 
#define DDR_PHY_DCR_OFFSET                                                         0XFD080100
#undef DDR_PHY_DTPR0_OFFSET 
#define DDR_PHY_DTPR0_OFFSET                                                       0XFD080110
#undef DDR_PHY_DTPR1_OFFSET 
#define DDR_PHY_DTPR1_OFFSET                                                       0XFD080114
#undef DDR_PHY_DTPR2_OFFSET 
#define DDR_PHY_DTPR2_OFFSET                                                       0XFD080118
#undef DDR_PHY_DTPR3_OFFSET 
#define DDR_PHY_DTPR3_OFFSET                                                       0XFD08011C
#undef DDR_PHY_DTPR4_OFFSET 
#define DDR_PHY_DTPR4_OFFSET                                                       0XFD080120
#undef DDR_PHY_DTPR5_OFFSET 
#define DDR_PHY_DTPR5_OFFSET                                                       0XFD080124
#undef DDR_PHY_DTPR6_OFFSET 
#define DDR_PHY_DTPR6_OFFSET                                                       0XFD080128
#undef DDR_PHY_RDIMMGCR0_OFFSET 
#define DDR_PHY_RDIMMGCR0_OFFSET                                                   0XFD080140
#undef DDR_PHY_RDIMMGCR1_OFFSET 
#define DDR_PHY_RDIMMGCR1_OFFSET                                                   0XFD080144
#undef DDR_PHY_RDIMMCR0_OFFSET 
#define DDR_PHY_RDIMMCR0_OFFSET                                                    0XFD080150
#undef DDR_PHY_RDIMMCR1_OFFSET 
#define DDR_PHY_RDIMMCR1_OFFSET                                                    0XFD080154
#undef DDR_PHY_MR0_OFFSET 
#define DDR_PHY_MR0_OFFSET                                                         0XFD080180
#undef DDR_PHY_MR1_OFFSET 
#define DDR_PHY_MR1_OFFSET                                                         0XFD080184
#undef DDR_PHY_MR2_OFFSET 
#define DDR_PHY_MR2_OFFSET                                                         0XFD080188
#undef DDR_PHY_MR3_OFFSET 
#define DDR_PHY_MR3_OFFSET                                                         0XFD08018C
#undef DDR_PHY_MR4_OFFSET 
#define DDR_PHY_MR4_OFFSET                                                         0XFD080190
#undef DDR_PHY_MR5_OFFSET 
#define DDR_PHY_MR5_OFFSET                                                         0XFD080194
#undef DDR_PHY_MR6_OFFSET 
#define DDR_PHY_MR6_OFFSET                                                         0XFD080198
#undef DDR_PHY_MR11_OFFSET 
#define DDR_PHY_MR11_OFFSET                                                        0XFD0801AC
#undef DDR_PHY_MR12_OFFSET 
#define DDR_PHY_MR12_OFFSET                                                        0XFD0801B0
#undef DDR_PHY_MR13_OFFSET 
#define DDR_PHY_MR13_OFFSET                                                        0XFD0801B4
#undef DDR_PHY_MR14_OFFSET 
#define DDR_PHY_MR14_OFFSET                                                        0XFD0801B8
#undef DDR_PHY_MR22_OFFSET 
#define DDR_PHY_MR22_OFFSET                                                        0XFD0801D8
#undef DDR_PHY_DTCR0_OFFSET 
#define DDR_PHY_DTCR0_OFFSET                                                       0XFD080200
#undef DDR_PHY_DTCR1_OFFSET 
#define DDR_PHY_DTCR1_OFFSET                                                       0XFD080204
#undef DDR_PHY_CATR0_OFFSET 
#define DDR_PHY_CATR0_OFFSET                                                       0XFD080240
#undef DDR_PHY_DQSDR0_OFFSET 
#define DDR_PHY_DQSDR0_OFFSET                                                      0XFD080250
#undef DDR_PHY_BISTLSR_OFFSET 
#define DDR_PHY_BISTLSR_OFFSET                                                     0XFD080414
#undef DDR_PHY_RIOCR5_OFFSET 
#define DDR_PHY_RIOCR5_OFFSET                                                      0XFD0804F4
#undef DDR_PHY_ACIOCR0_OFFSET 
#define DDR_PHY_ACIOCR0_OFFSET                                                     0XFD080500
#undef DDR_PHY_ACIOCR2_OFFSET 
#define DDR_PHY_ACIOCR2_OFFSET                                                     0XFD080508
#undef DDR_PHY_ACIOCR3_OFFSET 
#define DDR_PHY_ACIOCR3_OFFSET                                                     0XFD08050C
#undef DDR_PHY_ACIOCR4_OFFSET 
#define DDR_PHY_ACIOCR4_OFFSET                                                     0XFD080510
#undef DDR_PHY_IOVCR0_OFFSET 
#define DDR_PHY_IOVCR0_OFFSET                                                      0XFD080520
#undef DDR_PHY_VTCR0_OFFSET 
#define DDR_PHY_VTCR0_OFFSET                                                       0XFD080528
#undef DDR_PHY_VTCR1_OFFSET 
#define DDR_PHY_VTCR1_OFFSET                                                       0XFD08052C
#undef DDR_PHY_ACBDLR1_OFFSET 
#define DDR_PHY_ACBDLR1_OFFSET                                                     0XFD080544
#undef DDR_PHY_ACBDLR2_OFFSET 
#define DDR_PHY_ACBDLR2_OFFSET                                                     0XFD080548
#undef DDR_PHY_ACBDLR6_OFFSET 
#define DDR_PHY_ACBDLR6_OFFSET                                                     0XFD080558
#undef DDR_PHY_ACBDLR7_OFFSET 
#define DDR_PHY_ACBDLR7_OFFSET                                                     0XFD08055C
#undef DDR_PHY_ACBDLR8_OFFSET 
#define DDR_PHY_ACBDLR8_OFFSET                                                     0XFD080560
#undef DDR_PHY_ACBDLR9_OFFSET 
#define DDR_PHY_ACBDLR9_OFFSET                                                     0XFD080564
#undef DDR_PHY_ZQCR_OFFSET 
#define DDR_PHY_ZQCR_OFFSET                                                        0XFD080680
#undef DDR_PHY_ZQ0PR0_OFFSET 
#define DDR_PHY_ZQ0PR0_OFFSET                                                      0XFD080684
#undef DDR_PHY_ZQ0OR0_OFFSET 
#define DDR_PHY_ZQ0OR0_OFFSET                                                      0XFD080694
#undef DDR_PHY_ZQ0OR1_OFFSET 
#define DDR_PHY_ZQ0OR1_OFFSET                                                      0XFD080698
#undef DDR_PHY_ZQ1PR0_OFFSET 
#define DDR_PHY_ZQ1PR0_OFFSET                                                      0XFD0806A4
#undef DDR_PHY_DX0GCR0_OFFSET 
#define DDR_PHY_DX0GCR0_OFFSET                                                     0XFD080700
#undef DDR_PHY_DX0GCR4_OFFSET 
#define DDR_PHY_DX0GCR4_OFFSET                                                     0XFD080710
#undef DDR_PHY_DX0GCR5_OFFSET 
#define DDR_PHY_DX0GCR5_OFFSET                                                     0XFD080714
#undef DDR_PHY_DX0GCR6_OFFSET 
#define DDR_PHY_DX0GCR6_OFFSET                                                     0XFD080718
#undef DDR_PHY_DX1GCR0_OFFSET 
#define DDR_PHY_DX1GCR0_OFFSET                                                     0XFD080800
#undef DDR_PHY_DX1GCR4_OFFSET 
#define DDR_PHY_DX1GCR4_OFFSET                                                     0XFD080810
#undef DDR_PHY_DX1GCR5_OFFSET 
#define DDR_PHY_DX1GCR5_OFFSET                                                     0XFD080814
#undef DDR_PHY_DX1GCR6_OFFSET 
#define DDR_PHY_DX1GCR6_OFFSET                                                     0XFD080818
#undef DDR_PHY_DX2GCR0_OFFSET 
#define DDR_PHY_DX2GCR0_OFFSET                                                     0XFD080900
#undef DDR_PHY_DX2GCR1_OFFSET 
#define DDR_PHY_DX2GCR1_OFFSET                                                     0XFD080904
#undef DDR_PHY_DX2GCR4_OFFSET 
#define DDR_PHY_DX2GCR4_OFFSET                                                     0XFD080910
#undef DDR_PHY_DX2GCR5_OFFSET 
#define DDR_PHY_DX2GCR5_OFFSET                                                     0XFD080914
#undef DDR_PHY_DX2GCR6_OFFSET 
#define DDR_PHY_DX2GCR6_OFFSET                                                     0XFD080918
#undef DDR_PHY_DX3GCR0_OFFSET 
#define DDR_PHY_DX3GCR0_OFFSET                                                     0XFD080A00
#undef DDR_PHY_DX3GCR1_OFFSET 
#define DDR_PHY_DX3GCR1_OFFSET                                                     0XFD080A04
#undef DDR_PHY_DX3GCR4_OFFSET 
#define DDR_PHY_DX3GCR4_OFFSET                                                     0XFD080A10
#undef DDR_PHY_DX3GCR5_OFFSET 
#define DDR_PHY_DX3GCR5_OFFSET                                                     0XFD080A14
#undef DDR_PHY_DX3GCR6_OFFSET 
#define DDR_PHY_DX3GCR6_OFFSET                                                     0XFD080A18
#undef DDR_PHY_DX4GCR0_OFFSET 
#define DDR_PHY_DX4GCR0_OFFSET                                                     0XFD080B00
#undef DDR_PHY_DX4GCR1_OFFSET 
#define DDR_PHY_DX4GCR1_OFFSET                                                     0XFD080B04
#undef DDR_PHY_DX4GCR4_OFFSET 
#define DDR_PHY_DX4GCR4_OFFSET                                                     0XFD080B10
#undef DDR_PHY_DX4GCR5_OFFSET 
#define DDR_PHY_DX4GCR5_OFFSET                                                     0XFD080B14
#undef DDR_PHY_DX4GCR6_OFFSET 
#define DDR_PHY_DX4GCR6_OFFSET                                                     0XFD080B18
#undef DDR_PHY_DX5GCR0_OFFSET 
#define DDR_PHY_DX5GCR0_OFFSET                                                     0XFD080C00
#undef DDR_PHY_DX5GCR1_OFFSET 
#define DDR_PHY_DX5GCR1_OFFSET                                                     0XFD080C04
#undef DDR_PHY_DX5GCR4_OFFSET 
#define DDR_PHY_DX5GCR4_OFFSET                                                     0XFD080C10
#undef DDR_PHY_DX5GCR5_OFFSET 
#define DDR_PHY_DX5GCR5_OFFSET                                                     0XFD080C14
#undef DDR_PHY_DX5GCR6_OFFSET 
#define DDR_PHY_DX5GCR6_OFFSET                                                     0XFD080C18
#undef DDR_PHY_DX6GCR0_OFFSET 
#define DDR_PHY_DX6GCR0_OFFSET                                                     0XFD080D00
#undef DDR_PHY_DX6GCR1_OFFSET 
#define DDR_PHY_DX6GCR1_OFFSET                                                     0XFD080D04
#undef DDR_PHY_DX6GCR4_OFFSET 
#define DDR_PHY_DX6GCR4_OFFSET                                                     0XFD080D10
#undef DDR_PHY_DX6GCR5_OFFSET 
#define DDR_PHY_DX6GCR5_OFFSET                                                     0XFD080D14
#undef DDR_PHY_DX6GCR6_OFFSET 
#define DDR_PHY_DX6GCR6_OFFSET                                                     0XFD080D18
#undef DDR_PHY_DX7GCR0_OFFSET 
#define DDR_PHY_DX7GCR0_OFFSET                                                     0XFD080E00
#undef DDR_PHY_DX7GCR1_OFFSET 
#define DDR_PHY_DX7GCR1_OFFSET                                                     0XFD080E04
#undef DDR_PHY_DX7GCR4_OFFSET 
#define DDR_PHY_DX7GCR4_OFFSET                                                     0XFD080E10
#undef DDR_PHY_DX7GCR5_OFFSET 
#define DDR_PHY_DX7GCR5_OFFSET                                                     0XFD080E14
#undef DDR_PHY_DX7GCR6_OFFSET 
#define DDR_PHY_DX7GCR6_OFFSET                                                     0XFD080E18
#undef DDR_PHY_DX8GCR0_OFFSET 
#define DDR_PHY_DX8GCR0_OFFSET                                                     0XFD080F00
#undef DDR_PHY_DX8GCR1_OFFSET 
#define DDR_PHY_DX8GCR1_OFFSET                                                     0XFD080F04
#undef DDR_PHY_DX8GCR4_OFFSET 
#define DDR_PHY_DX8GCR4_OFFSET                                                     0XFD080F10
#undef DDR_PHY_DX8GCR5_OFFSET 
#define DDR_PHY_DX8GCR5_OFFSET                                                     0XFD080F14
#undef DDR_PHY_DX8GCR6_OFFSET 
#define DDR_PHY_DX8GCR6_OFFSET                                                     0XFD080F18
#undef DDR_PHY_DX8SL0OSC_OFFSET 
#define DDR_PHY_DX8SL0OSC_OFFSET                                                   0XFD081400
#undef DDR_PHY_DX8SL0PLLCR0_OFFSET 
#define DDR_PHY_DX8SL0PLLCR0_OFFSET                                                0XFD081404
#undef DDR_PHY_DX8SL0DQSCTL_OFFSET 
#define DDR_PHY_DX8SL0DQSCTL_OFFSET                                                0XFD08141C
#undef DDR_PHY_DX8SL0DXCTL2_OFFSET 
#define DDR_PHY_DX8SL0DXCTL2_OFFSET                                                0XFD08142C
#undef DDR_PHY_DX8SL0IOCR_OFFSET 
#define DDR_PHY_DX8SL0IOCR_OFFSET                                                  0XFD081430
#undef DDR_PHY_DX8SL1OSC_OFFSET 
#define DDR_PHY_DX8SL1OSC_OFFSET                                                   0XFD081440
#undef DDR_PHY_DX8SL1PLLCR0_OFFSET 
#define DDR_PHY_DX8SL1PLLCR0_OFFSET                                                0XFD081444
#undef DDR_PHY_DX8SL1DQSCTL_OFFSET 
#define DDR_PHY_DX8SL1DQSCTL_OFFSET                                                0XFD08145C
#undef DDR_PHY_DX8SL1DXCTL2_OFFSET 
#define DDR_PHY_DX8SL1DXCTL2_OFFSET                                                0XFD08146C
#undef DDR_PHY_DX8SL1IOCR_OFFSET 
#define DDR_PHY_DX8SL1IOCR_OFFSET                                                  0XFD081470
#undef DDR_PHY_DX8SL2OSC_OFFSET 
#define DDR_PHY_DX8SL2OSC_OFFSET                                                   0XFD081480
#undef DDR_PHY_DX8SL2PLLCR0_OFFSET 
#define DDR_PHY_DX8SL2PLLCR0_OFFSET                                                0XFD081484
#undef DDR_PHY_DX8SL2DQSCTL_OFFSET 
#define DDR_PHY_DX8SL2DQSCTL_OFFSET                                                0XFD08149C
#undef DDR_PHY_DX8SL2DXCTL2_OFFSET 
#define DDR_PHY_DX8SL2DXCTL2_OFFSET                                                0XFD0814AC
#undef DDR_PHY_DX8SL2IOCR_OFFSET 
#define DDR_PHY_DX8SL2IOCR_OFFSET                                                  0XFD0814B0
#undef DDR_PHY_DX8SL3OSC_OFFSET 
#define DDR_PHY_DX8SL3OSC_OFFSET                                                   0XFD0814C0
#undef DDR_PHY_DX8SL3PLLCR0_OFFSET 
#define DDR_PHY_DX8SL3PLLCR0_OFFSET                                                0XFD0814C4
#undef DDR_PHY_DX8SL3DQSCTL_OFFSET 
#define DDR_PHY_DX8SL3DQSCTL_OFFSET                                                0XFD0814DC
#undef DDR_PHY_DX8SL3DXCTL2_OFFSET 
#define DDR_PHY_DX8SL3DXCTL2_OFFSET                                                0XFD0814EC
#undef DDR_PHY_DX8SL3IOCR_OFFSET 
#define DDR_PHY_DX8SL3IOCR_OFFSET                                                  0XFD0814F0
#undef DDR_PHY_DX8SL4OSC_OFFSET 
#define DDR_PHY_DX8SL4OSC_OFFSET                                                   0XFD081500
#undef DDR_PHY_DX8SL4PLLCR0_OFFSET 
#define DDR_PHY_DX8SL4PLLCR0_OFFSET                                                0XFD081504
#undef DDR_PHY_DX8SL4DQSCTL_OFFSET 
#define DDR_PHY_DX8SL4DQSCTL_OFFSET                                                0XFD08151C
#undef DDR_PHY_DX8SL4DXCTL2_OFFSET 
#define DDR_PHY_DX8SL4DXCTL2_OFFSET                                                0XFD08152C
#undef DDR_PHY_DX8SL4IOCR_OFFSET 
#define DDR_PHY_DX8SL4IOCR_OFFSET                                                  0XFD081530
#undef DDR_PHY_DX8SLBPLLCR0_OFFSET 
#define DDR_PHY_DX8SLBPLLCR0_OFFSET                                                0XFD0817C4
#undef DDR_PHY_DX8SLBDQSCTL_OFFSET 
#define DDR_PHY_DX8SLBDQSCTL_OFFSET                                                0XFD0817DC

/*
* DDR block level reset inside of the DDR Sub System
*/
#undef CRF_APB_RST_DDR_SS_DDR_RESET_DEFVAL 
#undef CRF_APB_RST_DDR_SS_DDR_RESET_SHIFT 
#undef CRF_APB_RST_DDR_SS_DDR_RESET_MASK 
#define CRF_APB_RST_DDR_SS_DDR_RESET_DEFVAL                    0x0000000F
#define CRF_APB_RST_DDR_SS_DDR_RESET_SHIFT                     3
#define CRF_APB_RST_DDR_SS_DDR_RESET_MASK                      0x00000008U

/*
* Indicates the configuration of the device used in the system. - 00 - x4
    * device - 01 - x8 device - 10 - x16 device - 11 - x32 device
*/
#undef DDRC_MSTR_DEVICE_CONFIG_DEFVAL 
#undef DDRC_MSTR_DEVICE_CONFIG_SHIFT 
#undef DDRC_MSTR_DEVICE_CONFIG_MASK 
#define DDRC_MSTR_DEVICE_CONFIG_DEFVAL                         0x03040001
#define DDRC_MSTR_DEVICE_CONFIG_SHIFT                          30
#define DDRC_MSTR_DEVICE_CONFIG_MASK                           0xC0000000U

/*
* Choose which registers are used. - 0 - Original registers - 1 - Shadow r
    * egisters
*/
#undef DDRC_MSTR_FREQUENCY_MODE_DEFVAL 
#undef DDRC_MSTR_FREQUENCY_MODE_SHIFT 
#undef DDRC_MSTR_FREQUENCY_MODE_MASK 
#define DDRC_MSTR_FREQUENCY_MODE_DEFVAL                        0x03040001
#define DDRC_MSTR_FREQUENCY_MODE_SHIFT                         29
#define DDRC_MSTR_FREQUENCY_MODE_MASK                          0x20000000U

/*
* Only present for multi-rank configurations. Each bit represents one rank
    * . For two-rank configurations, only bits[25:24] are present. - 1 - popul
    * ated - 0 - unpopulated LSB is the lowest rank number. For 2 ranks follow
    * ing combinations are legal: - 01 - One rank - 11 - Two ranks - Others -
    * Reserved. For 4 ranks following combinations are legal: - 0001 - One ran
    * k - 0011 - Two ranks - 1111 - Four ranks
*/
#undef DDRC_MSTR_ACTIVE_RANKS_DEFVAL 
#undef DDRC_MSTR_ACTIVE_RANKS_SHIFT 
#undef DDRC_MSTR_ACTIVE_RANKS_MASK 
#define DDRC_MSTR_ACTIVE_RANKS_DEFVAL                          0x03040001
#define DDRC_MSTR_ACTIVE_RANKS_SHIFT                           24
#define DDRC_MSTR_ACTIVE_RANKS_MASK                            0x03000000U

/*
* SDRAM burst length used: - 0001 - Burst length of 2 (only supported for
    * mDDR) - 0010 - Burst length of 4 - 0100 - Burst length of 8 - 1000 - Bur
    * st length of 16 (only supported for mDDR, LPDDR2, and LPDDR4) All other
    * values are reserved. This controls the burst size used to access the SDR
    * AM. This must match the burst length mode register setting in the SDRAM.
    *  (For BC4/8 on-the-fly mode of DDR3 and DDR4, set this field to 0x0100)
    * Burst length of 2 is not supported with AXI ports when MEMC_BURST_LENGTH
    *  is 8. Burst length of 2 is only supported with MEMC_FREQ_RATIO = 1
*/
#undef DDRC_MSTR_BURST_RDWR_DEFVAL 
#undef DDRC_MSTR_BURST_RDWR_SHIFT 
#undef DDRC_MSTR_BURST_RDWR_MASK 
#define DDRC_MSTR_BURST_RDWR_DEFVAL                            0x03040001
#define DDRC_MSTR_BURST_RDWR_SHIFT                             16
#define DDRC_MSTR_BURST_RDWR_MASK                              0x000F0000U

/*
* Set to 1 when the uMCTL2 and DRAM has to be put in DLL-off mode for low
    * frequency operation. Set to 0 to put uMCTL2 and DRAM in DLL-on mode for
    * normal frequency operation. If DDR4 CRC/parity retry is enabled (CRCPARC
    * TL1.crc_parity_retry_enable = 1), dll_off_mode is not supported, and thi
    * s bit must be set to '0'.
*/
#undef DDRC_MSTR_DLL_OFF_MODE_DEFVAL 
#undef DDRC_MSTR_DLL_OFF_MODE_SHIFT 
#undef DDRC_MSTR_DLL_OFF_MODE_MASK 
#define DDRC_MSTR_DLL_OFF_MODE_DEFVAL                          0x03040001
#define DDRC_MSTR_DLL_OFF_MODE_SHIFT                           15
#define DDRC_MSTR_DLL_OFF_MODE_MASK                            0x00008000U

/*
* Selects proportion of DQ bus width that is used by the SDRAM - 00 - Full
    *  DQ bus width to SDRAM - 01 - Half DQ bus width to SDRAM - 10 - Quarter
    * DQ bus width to SDRAM - 11 - Reserved. Note that half bus width mode is
    * only supported when the SDRAM bus width is a multiple of 16, and quarter
    *  bus width mode is only supported when the SDRAM bus width is a multiple
    *  of 32 and the configuration parameter MEMC_QBUS_SUPPORT is set. Bus wid
    * th refers to DQ bus width (excluding any ECC width).
*/
#undef DDRC_MSTR_DATA_BUS_WIDTH_DEFVAL 
#undef DDRC_MSTR_DATA_BUS_WIDTH_SHIFT 
#undef DDRC_MSTR_DATA_BUS_WIDTH_MASK 
#define DDRC_MSTR_DATA_BUS_WIDTH_DEFVAL                        0x03040001
#define DDRC_MSTR_DATA_BUS_WIDTH_SHIFT                         12
#define DDRC_MSTR_DATA_BUS_WIDTH_MASK                          0x00003000U

/*
* 1 indicates put the DRAM in geardown mode (2N) and 0 indicates put the D
    * RAM in normal mode (1N). This register can be changed, only when the Con
    * troller is in self-refresh mode. This signal must be set the same value
    * as MR3 bit A3. Note: Geardown mode is not supported if the configuration
    *  parameter MEMC_CMD_RTN2IDLE is set
*/
#undef DDRC_MSTR_GEARDOWN_MODE_DEFVAL 
#undef DDRC_MSTR_GEARDOWN_MODE_SHIFT 
#undef DDRC_MSTR_GEARDOWN_MODE_MASK 
#define DDRC_MSTR_GEARDOWN_MODE_DEFVAL                         0x03040001
#define DDRC_MSTR_GEARDOWN_MODE_SHIFT                          11
#define DDRC_MSTR_GEARDOWN_MODE_MASK                           0x00000800U

/*
* If 1, then uMCTL2 uses 2T timing. Otherwise, uses 1T timing. In 2T timin
    * g, all command signals (except chip select) are held for 2 clocks on the
    *  SDRAM bus. Chip select is asserted on the second cycle of the command N
    * ote: 2T timing is not supported in LPDDR2/LPDDR3/LPDDR4 mode Note: 2T ti
    * ming is not supported if the configuration parameter MEMC_CMD_RTN2IDLE i
    * s set Note: 2T timing is not supported in DDR4 geardown mode.
*/
#undef DDRC_MSTR_EN_2T_TIMING_MODE_DEFVAL 
#undef DDRC_MSTR_EN_2T_TIMING_MODE_SHIFT 
#undef DDRC_MSTR_EN_2T_TIMING_MODE_MASK 
#define DDRC_MSTR_EN_2T_TIMING_MODE_DEFVAL                     0x03040001
#define DDRC_MSTR_EN_2T_TIMING_MODE_SHIFT                      10
#define DDRC_MSTR_EN_2T_TIMING_MODE_MASK                       0x00000400U

/*
* When set, enable burst-chop in DDR3/DDR4. Burst Chop for Reads is exerci
    * sed only in HIF configurations (UMCTL2_INCL_ARB not set) and if in full
    * bus width mode (MSTR.data_bus_width = 00). Burst Chop for Writes is exer
    * cised only if Partial Writes enabled (UMCTL2_PARTIAL_WR=1) and if CRC is
    *  disabled (CRCPARCTL1.crc_enable = 0). If DDR4 CRC/parity retry is enabl
    * ed (CRCPARCTL1.crc_parity_retry_enable = 1), burst chop is not supported
    * , and this bit must be set to '0'
*/
#undef DDRC_MSTR_BURSTCHOP_DEFVAL 
#undef DDRC_MSTR_BURSTCHOP_SHIFT 
#undef DDRC_MSTR_BURSTCHOP_MASK 
#define DDRC_MSTR_BURSTCHOP_DEFVAL                             0x03040001
#define DDRC_MSTR_BURSTCHOP_SHIFT                              9
#define DDRC_MSTR_BURSTCHOP_MASK                               0x00000200U

/*
* Select LPDDR4 SDRAM - 1 - LPDDR4 SDRAM device in use. - 0 - non-LPDDR4 d
    * evice in use Present only in designs configured to support LPDDR4.
*/
#undef DDRC_MSTR_LPDDR4_DEFVAL 
#undef DDRC_MSTR_LPDDR4_SHIFT 
#undef DDRC_MSTR_LPDDR4_MASK 
#define DDRC_MSTR_LPDDR4_DEFVAL                                0x03040001
#define DDRC_MSTR_LPDDR4_SHIFT                                 5
#define DDRC_MSTR_LPDDR4_MASK                                  0x00000020U

/*
* Select DDR4 SDRAM - 1 - DDR4 SDRAM device in use. - 0 - non-DDR4 device
    * in use Present only in designs configured to support DDR4.
*/
#undef DDRC_MSTR_DDR4_DEFVAL 
#undef DDRC_MSTR_DDR4_SHIFT 
#undef DDRC_MSTR_DDR4_MASK 
#define DDRC_MSTR_DDR4_DEFVAL                                  0x03040001
#define DDRC_MSTR_DDR4_SHIFT                                   4
#define DDRC_MSTR_DDR4_MASK                                    0x00000010U

/*
* Select LPDDR3 SDRAM - 1 - LPDDR3 SDRAM device in use. - 0 - non-LPDDR3 d
    * evice in use Present only in designs configured to support LPDDR3.
*/
#undef DDRC_MSTR_LPDDR3_DEFVAL 
#undef DDRC_MSTR_LPDDR3_SHIFT 
#undef DDRC_MSTR_LPDDR3_MASK 
#define DDRC_MSTR_LPDDR3_DEFVAL                                0x03040001
#define DDRC_MSTR_LPDDR3_SHIFT                                 3
#define DDRC_MSTR_LPDDR3_MASK                                  0x00000008U

/*
* Select LPDDR2 SDRAM - 1 - LPDDR2 SDRAM device in use. - 0 - non-LPDDR2 d
    * evice in use Present only in designs configured to support LPDDR2.
*/
#undef DDRC_MSTR_LPDDR2_DEFVAL 
#undef DDRC_MSTR_LPDDR2_SHIFT 
#undef DDRC_MSTR_LPDDR2_MASK 
#define DDRC_MSTR_LPDDR2_DEFVAL                                0x03040001
#define DDRC_MSTR_LPDDR2_SHIFT                                 2
#define DDRC_MSTR_LPDDR2_MASK                                  0x00000004U

/*
* Select DDR3 SDRAM - 1 - DDR3 SDRAM device in use - 0 - non-DDR3 SDRAM de
    * vice in use Only present in designs that support DDR3.
*/
#undef DDRC_MSTR_DDR3_DEFVAL 
#undef DDRC_MSTR_DDR3_SHIFT 
#undef DDRC_MSTR_DDR3_MASK 
#define DDRC_MSTR_DDR3_DEFVAL                                  0x03040001
#define DDRC_MSTR_DDR3_SHIFT                                   0
#define DDRC_MSTR_DDR3_MASK                                    0x00000001U

/*
* Setting this register bit to 1 triggers a mode register read or write op
    * eration. When the MR operation is complete, the uMCTL2 automatically cle
    * ars this bit. The other register fields of this register must be written
    *  in a separate APB transaction, before setting this mr_wr bit. It is rec
    * ommended NOT to set this signal if in Init, Deep power-down or MPSM oper
    * ating modes.
*/
#undef DDRC_MRCTRL0_MR_WR_DEFVAL 
#undef DDRC_MRCTRL0_MR_WR_SHIFT 
#undef DDRC_MRCTRL0_MR_WR_MASK 
#define DDRC_MRCTRL0_MR_WR_DEFVAL                              0x00000030
#define DDRC_MRCTRL0_MR_WR_SHIFT                               31
#define DDRC_MRCTRL0_MR_WR_MASK                                0x80000000U

/*
* Address of the mode register that is to be written to. - 0000 - MR0 - 00
    * 01 - MR1 - 0010 - MR2 - 0011 - MR3 - 0100 - MR4 - 0101 - MR5 - 0110 - MR
    * 6 - 0111 - MR7 Don't Care for LPDDR2/LPDDR3/LPDDR4 (see MRCTRL1.mr_data
    * for mode register addressing in LPDDR2/LPDDR3/LPDDR4) This signal is als
    * o used for writing to control words of RDIMMs. In that case, it correspo
    * nds to the bank address bits sent to the RDIMM In case of DDR4, the bit[
    * 3:2] corresponds to the bank group bits. Therefore, the bit[3] as well a
    * s the bit[2:0] must be set to an appropriate value which is considered b
    * oth the Address Mirroring of UDIMMs/RDIMMs and the Output Inversion of R
    * DIMMs.
*/
#undef DDRC_MRCTRL0_MR_ADDR_DEFVAL 
#undef DDRC_MRCTRL0_MR_ADDR_SHIFT 
#undef DDRC_MRCTRL0_MR_ADDR_MASK 
#define DDRC_MRCTRL0_MR_ADDR_DEFVAL                            0x00000030
#define DDRC_MRCTRL0_MR_ADDR_SHIFT                             12
#define DDRC_MRCTRL0_MR_ADDR_MASK                              0x0000F000U

/*
* Controls which rank is accessed by MRCTRL0.mr_wr. Normally, it is desire
    * d to access all ranks, so all bits should be set to 1. However, for mult
    * i-rank UDIMMs/RDIMMs which implement address mirroring, it may be necess
    * ary to access ranks individually. Examples (assume uMCTL2 is configured
    * for 4 ranks): - 0x1 - select rank 0 only - 0x2 - select rank 1 only - 0x
    * 5 - select ranks 0 and 2 - 0xA - select ranks 1 and 3 - 0xF - select ran
    * ks 0, 1, 2 and 3
*/
#undef DDRC_MRCTRL0_MR_RANK_DEFVAL 
#undef DDRC_MRCTRL0_MR_RANK_SHIFT 
#undef DDRC_MRCTRL0_MR_RANK_MASK 
#define DDRC_MRCTRL0_MR_RANK_DEFVAL                            0x00000030
#define DDRC_MRCTRL0_MR_RANK_SHIFT                             4
#define DDRC_MRCTRL0_MR_RANK_MASK                              0x00000030U

/*
* Indicates whether Software intervention is allowed via MRCTRL0/MRCTRL1 b
    * efore automatic SDRAM initialization routine or not. For DDR4, this bit
    * can be used to initialize the DDR4 RCD (MR7) before automatic SDRAM init
    * ialization. For LPDDR4, this bit can be used to program additional mode
    * registers before automatic SDRAM initialization if necessary. Note: This
    *  must be cleared to 0 after completing Software operation. Otherwise, SD
    * RAM initialization routine will not re-start. - 0 - Software interventio
    * n is not allowed - 1 - Software intervention is allowed
*/
#undef DDRC_MRCTRL0_SW_INIT_INT_DEFVAL 
#undef DDRC_MRCTRL0_SW_INIT_INT_SHIFT 
#undef DDRC_MRCTRL0_SW_INIT_INT_MASK 
#define DDRC_MRCTRL0_SW_INIT_INT_DEFVAL                        0x00000030
#define DDRC_MRCTRL0_SW_INIT_INT_SHIFT                         3
#define DDRC_MRCTRL0_SW_INIT_INT_MASK                          0x00000008U

/*
* Indicates whether the mode register operation is MRS in PDA mode or not
    * - 0 - MRS - 1 - MRS in Per DRAM Addressability mode
*/
#undef DDRC_MRCTRL0_PDA_EN_DEFVAL 
#undef DDRC_MRCTRL0_PDA_EN_SHIFT 
#undef DDRC_MRCTRL0_PDA_EN_MASK 
#define DDRC_MRCTRL0_PDA_EN_DEFVAL                             0x00000030
#define DDRC_MRCTRL0_PDA_EN_SHIFT                              2
#define DDRC_MRCTRL0_PDA_EN_MASK                               0x00000004U

/*
* Indicates whether the mode register operation is MRS or WR/RD for MPR (o
    * nly supported for DDR4) - 0 - MRS - 1 - WR/RD for MPR
*/
#undef DDRC_MRCTRL0_MPR_EN_DEFVAL 
#undef DDRC_MRCTRL0_MPR_EN_SHIFT 
#undef DDRC_MRCTRL0_MPR_EN_MASK 
#define DDRC_MRCTRL0_MPR_EN_DEFVAL                             0x00000030
#define DDRC_MRCTRL0_MPR_EN_SHIFT                              1
#define DDRC_MRCTRL0_MPR_EN_MASK                               0x00000002U

/*
* Indicates whether the mode register operation is read or write. Only use
    * d for LPDDR2/LPDDR3/LPDDR4/DDR4. - 0 - Write - 1 - Read
*/
#undef DDRC_MRCTRL0_MR_TYPE_DEFVAL 
#undef DDRC_MRCTRL0_MR_TYPE_SHIFT 
#undef DDRC_MRCTRL0_MR_TYPE_MASK 
#define DDRC_MRCTRL0_MR_TYPE_DEFVAL                            0x00000030
#define DDRC_MRCTRL0_MR_TYPE_SHIFT                             0
#define DDRC_MRCTRL0_MR_TYPE_MASK                              0x00000001U

/*
* Derate value of tRC for LPDDR4 - 0 - Derating uses +1. - 1 - Derating us
    * es +2. - 2 - Derating uses +3. - 3 - Derating uses +4. Present only in d
    * esigns configured to support LPDDR4. The required number of cycles for d
    * erating can be determined by dividing 3.75ns by the core_ddrc_core_clk p
    * eriod, and rounding up the next integer.
*/
#undef DDRC_DERATEEN_RC_DERATE_VALUE_DEFVAL 
#undef DDRC_DERATEEN_RC_DERATE_VALUE_SHIFT 
#undef DDRC_DERATEEN_RC_DERATE_VALUE_MASK 
#define DDRC_DERATEEN_RC_DERATE_VALUE_DEFVAL                   0x00000000
#define DDRC_DERATEEN_RC_DERATE_VALUE_SHIFT                    8
#define DDRC_DERATEEN_RC_DERATE_VALUE_MASK                     0x00000300U

/*
* Derate byte Present only in designs configured to support LPDDR2/LPDDR3/
    * LPDDR4 Indicates which byte of the MRR data is used for derating. The ma
    * ximum valid value depends on MEMC_DRAM_TOTAL_DATA_WIDTH.
*/
#undef DDRC_DERATEEN_DERATE_BYTE_DEFVAL 
#undef DDRC_DERATEEN_DERATE_BYTE_SHIFT 
#undef DDRC_DERATEEN_DERATE_BYTE_MASK 
#define DDRC_DERATEEN_DERATE_BYTE_DEFVAL                       0x00000000
#define DDRC_DERATEEN_DERATE_BYTE_SHIFT                        4
#define DDRC_DERATEEN_DERATE_BYTE_MASK                         0x000000F0U

/*
* Derate value - 0 - Derating uses +1. - 1 - Derating uses +2. Present onl
    * y in designs configured to support LPDDR2/LPDDR3/LPDDR4 Set to 0 for all
    *  LPDDR2 speed grades as derating value of +1.875 ns is less than a core_
    * ddrc_core_clk period. Can be 0 or 1 for LPDDR3/LPDDR4, depending if +1.8
    * 75 ns is less than a core_ddrc_core_clk period or not.
*/
#undef DDRC_DERATEEN_DERATE_VALUE_DEFVAL 
#undef DDRC_DERATEEN_DERATE_VALUE_SHIFT 
#undef DDRC_DERATEEN_DERATE_VALUE_MASK 
#define DDRC_DERATEEN_DERATE_VALUE_DEFVAL                      0x00000000
#define DDRC_DERATEEN_DERATE_VALUE_SHIFT                       1
#define DDRC_DERATEEN_DERATE_VALUE_MASK                        0x00000002U

/*
* Enables derating - 0 - Timing parameter derating is disabled - 1 - Timin
    * g parameter derating is enabled using MR4 read value. Present only in de
    * signs configured to support LPDDR2/LPDDR3/LPDDR4 This field must be set
    * to '0' for non-LPDDR2/LPDDR3/LPDDR4 mode.
*/
#undef DDRC_DERATEEN_DERATE_ENABLE_DEFVAL 
#undef DDRC_DERATEEN_DERATE_ENABLE_SHIFT 
#undef DDRC_DERATEEN_DERATE_ENABLE_MASK 
#define DDRC_DERATEEN_DERATE_ENABLE_DEFVAL                     0x00000000
#define DDRC_DERATEEN_DERATE_ENABLE_SHIFT                      0
#define DDRC_DERATEEN_DERATE_ENABLE_MASK                       0x00000001U

/*
* Interval between two MR4 reads, used to derate the timing parameters. Pr
    * esent only in designs configured to support LPDDR2/LPDDR3/LPDDR4. This r
    * egister must not be set to zero
*/
#undef DDRC_DERATEINT_MR4_READ_INTERVAL_DEFVAL 
#undef DDRC_DERATEINT_MR4_READ_INTERVAL_SHIFT 
#undef DDRC_DERATEINT_MR4_READ_INTERVAL_MASK 
#define DDRC_DERATEINT_MR4_READ_INTERVAL_DEFVAL                
#define DDRC_DERATEINT_MR4_READ_INTERVAL_SHIFT                 0
#define DDRC_DERATEINT_MR4_READ_INTERVAL_MASK                  0xFFFFFFFFU

/*
* Self refresh state is an intermediate state to enter to Self refresh pow
    * er down state or exit Self refresh power down state for LPDDR4. This reg
    * ister controls transition from the Self refresh state. - 1 - Prohibit tr
    * ansition from Self refresh state - 0 - Allow transition from Self refres
    * h state
*/
#undef DDRC_PWRCTL_STAY_IN_SELFREF_DEFVAL 
#undef DDRC_PWRCTL_STAY_IN_SELFREF_SHIFT 
#undef DDRC_PWRCTL_STAY_IN_SELFREF_MASK 
#define DDRC_PWRCTL_STAY_IN_SELFREF_DEFVAL                     0x00000000
#define DDRC_PWRCTL_STAY_IN_SELFREF_SHIFT                      6
#define DDRC_PWRCTL_STAY_IN_SELFREF_MASK                       0x00000040U

/*
* A value of 1 to this register causes system to move to Self Refresh stat
    * e immediately, as long as it is not in INIT or DPD/MPSM operating_mode.
    * This is referred to as Software Entry/Exit to Self Refresh. - 1 - Softwa
    * re Entry to Self Refresh - 0 - Software Exit from Self Refresh
*/
#undef DDRC_PWRCTL_SELFREF_SW_DEFVAL 
#undef DDRC_PWRCTL_SELFREF_SW_SHIFT 
#undef DDRC_PWRCTL_SELFREF_SW_MASK 
#define DDRC_PWRCTL_SELFREF_SW_DEFVAL                          0x00000000
#define DDRC_PWRCTL_SELFREF_SW_SHIFT                           5
#define DDRC_PWRCTL_SELFREF_SW_MASK                            0x00000020U

/*
* When this is 1, the uMCTL2 puts the SDRAM into maximum power saving mode
    *  when the transaction store is empty. This register must be reset to '0'
    *  to bring uMCTL2 out of maximum power saving mode. Present only in desig
    * ns configured to support DDR4. For non-DDR4, this register should not be
    *  set to 1. Note that MPSM is not supported when using a DWC DDR PHY, if
    * the PHY parameter DWC_AC_CS_USE is disabled, as the MPSM exit sequence r
    * equires the chip-select signal to toggle. FOR PERFORMANCE ONLY.
*/
#undef DDRC_PWRCTL_MPSM_EN_DEFVAL 
#undef DDRC_PWRCTL_MPSM_EN_SHIFT 
#undef DDRC_PWRCTL_MPSM_EN_MASK 
#define DDRC_PWRCTL_MPSM_EN_DEFVAL                             0x00000000
#define DDRC_PWRCTL_MPSM_EN_SHIFT                              4
#define DDRC_PWRCTL_MPSM_EN_MASK                               0x00000010U

/*
* Enable the assertion of dfi_dram_clk_disable whenever a clock is not req
    * uired by the SDRAM. If set to 0, dfi_dram_clk_disable is never asserted.
    *  Assertion of dfi_dram_clk_disable is as follows: In DDR2/DDR3, can only
    *  be asserted in Self Refresh. In DDR4, can be asserted in following: - i
    * n Self Refresh. - in Maximum Power Saving Mode In mDDR/LPDDR2/LPDDR3, ca
    * n be asserted in following: - in Self Refresh - in Power Down - in Deep
    * Power Down - during Normal operation (Clock Stop) In LPDDR4, can be asse
    * rted in following: - in Self Refresh Power Down - in Power Down - during
    *  Normal operation (Clock Stop)
*/
#undef DDRC_PWRCTL_EN_DFI_DRAM_CLK_DISABLE_DEFVAL 
#undef DDRC_PWRCTL_EN_DFI_DRAM_CLK_DISABLE_SHIFT 
#undef DDRC_PWRCTL_EN_DFI_DRAM_CLK_DISABLE_MASK 
#define DDRC_PWRCTL_EN_DFI_DRAM_CLK_DISABLE_DEFVAL             0x00000000
#define DDRC_PWRCTL_EN_DFI_DRAM_CLK_DISABLE_SHIFT              3
#define DDRC_PWRCTL_EN_DFI_DRAM_CLK_DISABLE_MASK               0x00000008U

/*
* When this is 1, uMCTL2 puts the SDRAM into deep power-down mode when the
    *  transaction store is empty. This register must be reset to '0' to bring
    *  uMCTL2 out of deep power-down mode. Controller performs automatic SDRAM
    *  initialization on deep power-down exit. Present only in designs configu
    * red to support mDDR or LPDDR2 or LPDDR3. For non-mDDR/non-LPDDR2/non-LPD
    * DR3, this register should not be set to 1. FOR PERFORMANCE ONLY.
*/
#undef DDRC_PWRCTL_DEEPPOWERDOWN_EN_DEFVAL 
#undef DDRC_PWRCTL_DEEPPOWERDOWN_EN_SHIFT 
#undef DDRC_PWRCTL_DEEPPOWERDOWN_EN_MASK 
#define DDRC_PWRCTL_DEEPPOWERDOWN_EN_DEFVAL                    0x00000000
#define DDRC_PWRCTL_DEEPPOWERDOWN_EN_SHIFT                     2
#define DDRC_PWRCTL_DEEPPOWERDOWN_EN_MASK                      0x00000004U

/*
* If true then the uMCTL2 goes into power-down after a programmable number
    *  of cycles 'maximum idle clocks before power down' (PWRTMG.powerdown_to_
    * x32). This register bit may be re-programmed during the course of normal
    *  operation.
*/
#undef DDRC_PWRCTL_POWERDOWN_EN_DEFVAL 
#undef DDRC_PWRCTL_POWERDOWN_EN_SHIFT 
#undef DDRC_PWRCTL_POWERDOWN_EN_MASK 
#define DDRC_PWRCTL_POWERDOWN_EN_DEFVAL                        0x00000000
#define DDRC_PWRCTL_POWERDOWN_EN_SHIFT                         1
#define DDRC_PWRCTL_POWERDOWN_EN_MASK                          0x00000002U

/*
* If true then the uMCTL2 puts the SDRAM into Self Refresh after a program
    * mable number of cycles 'maximum idle clocks before Self Refresh (PWRTMG.
    * selfref_to_x32)'. This register bit may be re-programmed during the cour
    * se of normal operation.
*/
#undef DDRC_PWRCTL_SELFREF_EN_DEFVAL 
#undef DDRC_PWRCTL_SELFREF_EN_SHIFT 
#undef DDRC_PWRCTL_SELFREF_EN_MASK 
#define DDRC_PWRCTL_SELFREF_EN_DEFVAL                          0x00000000
#define DDRC_PWRCTL_SELFREF_EN_SHIFT                           0
#define DDRC_PWRCTL_SELFREF_EN_MASK                            0x00000001U

/*
* After this many clocks of NOP or deselect the uMCTL2 automatically puts
    * the SDRAM into Self Refresh. This must be enabled in the PWRCTL.selfref_
    * en. Unit: Multiples of 32 clocks. FOR PERFORMANCE ONLY.
*/
#undef DDRC_PWRTMG_SELFREF_TO_X32_DEFVAL 
#undef DDRC_PWRTMG_SELFREF_TO_X32_SHIFT 
#undef DDRC_PWRTMG_SELFREF_TO_X32_MASK 
#define DDRC_PWRTMG_SELFREF_TO_X32_DEFVAL                      0x00402010
#define DDRC_PWRTMG_SELFREF_TO_X32_SHIFT                       16
#define DDRC_PWRTMG_SELFREF_TO_X32_MASK                        0x00FF0000U

/*
* Minimum deep power-down time. For mDDR, value from the JEDEC specificati
    * on is 0 as mDDR exits from deep power-down mode immediately after PWRCTL
    * .deeppowerdown_en is de-asserted. For LPDDR2/LPDDR3, value from the JEDE
    * C specification is 500us. Unit: Multiples of 4096 clocks. Present only i
    * n designs configured to support mDDR, LPDDR2 or LPDDR3. FOR PERFORMANCE
    * ONLY.
*/
#undef DDRC_PWRTMG_T_DPD_X4096_DEFVAL 
#undef DDRC_PWRTMG_T_DPD_X4096_SHIFT 
#undef DDRC_PWRTMG_T_DPD_X4096_MASK 
#define DDRC_PWRTMG_T_DPD_X4096_DEFVAL                         0x00402010
#define DDRC_PWRTMG_T_DPD_X4096_SHIFT                          8
#define DDRC_PWRTMG_T_DPD_X4096_MASK                           0x0000FF00U

/*
* After this many clocks of NOP or deselect the uMCTL2 automatically puts
    * the SDRAM into power-down. This must be enabled in the PWRCTL.powerdown_
    * en. Unit: Multiples of 32 clocks FOR PERFORMANCE ONLY.
*/
#undef DDRC_PWRTMG_POWERDOWN_TO_X32_DEFVAL 
#undef DDRC_PWRTMG_POWERDOWN_TO_X32_SHIFT 
#undef DDRC_PWRTMG_POWERDOWN_TO_X32_MASK 
#define DDRC_PWRTMG_POWERDOWN_TO_X32_DEFVAL                    0x00402010
#define DDRC_PWRTMG_POWERDOWN_TO_X32_SHIFT                     0
#define DDRC_PWRTMG_POWERDOWN_TO_X32_MASK                      0x0000001FU

/*
* Threshold value in number of clock cycles before the critical refresh or
    *  page timer expires. A critical refresh is to be issued before this thre
    * shold is reached. It is recommended that this not be changed from the de
    * fault value, currently shown as 0x2. It must always be less than interna
    * lly used t_rfc_nom_x32. Note that, in LPDDR2/LPDDR3/LPDDR4, internally u
    * sed t_rfc_nom_x32 may be equal to RFSHTMG.t_rfc_nom_x32>>2 if derating i
    * s enabled (DERATEEN.derate_enable=1). Otherwise, internally used t_rfc_n
    * om_x32 will be equal to RFSHTMG.t_rfc_nom_x32. Unit: Multiples of 32 clo
    * cks.
*/
#undef DDRC_RFSHCTL0_REFRESH_MARGIN_DEFVAL 
#undef DDRC_RFSHCTL0_REFRESH_MARGIN_SHIFT 
#undef DDRC_RFSHCTL0_REFRESH_MARGIN_MASK 
#define DDRC_RFSHCTL0_REFRESH_MARGIN_DEFVAL                    0x00210000
#define DDRC_RFSHCTL0_REFRESH_MARGIN_SHIFT                     20
#define DDRC_RFSHCTL0_REFRESH_MARGIN_MASK                      0x00F00000U

/*
* If the refresh timer (tRFCnom, also known as tREFI) has expired at least
    *  once, but it has not expired (RFSHCTL0.refresh_burst+1) times yet, then
    *  a speculative refresh may be performed. A speculative refresh is a refr
    * esh performed at a time when refresh would be useful, but before it is a
    * bsolutely required. When the SDRAM bus is idle for a period of time dete
    * rmined by this RFSHCTL0.refresh_to_x32 and the refresh timer has expired
    *  at least once since the last refresh, then a speculative refresh is per
    * formed. Speculative refreshes continues successively until there are no
    * refreshes pending or until new reads or writes are issued to the uMCTL2.
    *  FOR PERFORMANCE ONLY.
*/
#undef DDRC_RFSHCTL0_REFRESH_TO_X32_DEFVAL 
#undef DDRC_RFSHCTL0_REFRESH_TO_X32_SHIFT 
#undef DDRC_RFSHCTL0_REFRESH_TO_X32_MASK 
#define DDRC_RFSHCTL0_REFRESH_TO_X32_DEFVAL                    0x00210000
#define DDRC_RFSHCTL0_REFRESH_TO_X32_SHIFT                     12
#define DDRC_RFSHCTL0_REFRESH_TO_X32_MASK                      0x0001F000U

/*
* The programmed value + 1 is the number of refresh timeouts that is allow
    * ed to accumulate before traffic is blocked and the refreshes are forced
    * to execute. Closing pages to perform a refresh is a one-time penalty tha
    * t must be paid for each group of refreshes. Therefore, performing refres
    * hes in a burst reduces the per-refresh penalty of these page closings. H
    * igher numbers for RFSHCTL.refresh_burst slightly increases utilization;
    * lower numbers decreases the worst-case latency associated with refreshes
    * . - 0 - single refresh - 1 - burst-of-2 refresh - 7 - burst-of-8 refresh
    *  For information on burst refresh feature refer to section 3.9 of DDR2 J
    * EDEC specification - JESD79-2F.pdf. For DDR2/3, the refresh is always pe
    * r-rank and not per-bank. The rank refresh can be accumulated over 8*tREF
    * I cycles using the burst refresh feature. In DDR4 mode, according to Fin
    * e Granularity feature, 8 refreshes can be postponed in 1X mode, 16 refre
    * shes in 2X mode and 32 refreshes in 4X mode. If using PHY-initiated upda
    * tes, care must be taken in the setting of RFSHCTL0.refresh_burst, to ens
    * ure that tRFCmax is not violated due to a PHY-initiated update occurring
    *  shortly before a refresh burst was due. In this situation, the refresh
    * burst will be delayed until the PHY-initiated update is complete.
*/
#undef DDRC_RFSHCTL0_REFRESH_BURST_DEFVAL 
#undef DDRC_RFSHCTL0_REFRESH_BURST_SHIFT 
#undef DDRC_RFSHCTL0_REFRESH_BURST_MASK 
#define DDRC_RFSHCTL0_REFRESH_BURST_DEFVAL                     0x00210000
#define DDRC_RFSHCTL0_REFRESH_BURST_SHIFT                      4
#define DDRC_RFSHCTL0_REFRESH_BURST_MASK                       0x000001F0U

/*
* - 1 - Per bank refresh; - 0 - All bank refresh. Per bank refresh allows
    * traffic to flow to other banks. Per bank refresh is not supported by all
    *  LPDDR2 devices but should be supported by all LPDDR3/LPDDR4 devices. Pr
    * esent only in designs configured to support LPDDR2/LPDDR3/LPDDR4
*/
#undef DDRC_RFSHCTL0_PER_BANK_REFRESH_DEFVAL 
#undef DDRC_RFSHCTL0_PER_BANK_REFRESH_SHIFT 
#undef DDRC_RFSHCTL0_PER_BANK_REFRESH_MASK 
#define DDRC_RFSHCTL0_PER_BANK_REFRESH_DEFVAL                  0x00210000
#define DDRC_RFSHCTL0_PER_BANK_REFRESH_SHIFT                   2
#define DDRC_RFSHCTL0_PER_BANK_REFRESH_MASK                    0x00000004U

/*
* Refresh timer start for rank 1 (only present in multi-rank configuration
    * s). This is useful in staggering the refreshes to multiple ranks to help
    *  traffic to proceed. This is explained in Refresh Controls section of ar
    * chitecture chapter. Unit: Multiples of 32 clocks. FOR PERFORMANCE ONLY.
*/
#undef DDRC_RFSHCTL1_REFRESH_TIMER1_START_VALUE_X32_DEFVAL 
#undef DDRC_RFSHCTL1_REFRESH_TIMER1_START_VALUE_X32_SHIFT 
#undef DDRC_RFSHCTL1_REFRESH_TIMER1_START_VALUE_X32_MASK 
#define DDRC_RFSHCTL1_REFRESH_TIMER1_START_VALUE_X32_DEFVAL    0x00000000
#define DDRC_RFSHCTL1_REFRESH_TIMER1_START_VALUE_X32_SHIFT     16
#define DDRC_RFSHCTL1_REFRESH_TIMER1_START_VALUE_X32_MASK      0x0FFF0000U

/*
* Refresh timer start for rank 0 (only present in multi-rank configuration
    * s). This is useful in staggering the refreshes to multiple ranks to help
    *  traffic to proceed. This is explained in Refresh Controls section of ar
    * chitecture chapter. Unit: Multiples of 32 clocks. FOR PERFORMANCE ONLY.
*/
#undef DDRC_RFSHCTL1_REFRESH_TIMER0_START_VALUE_X32_DEFVAL 
#undef DDRC_RFSHCTL1_REFRESH_TIMER0_START_VALUE_X32_SHIFT 
#undef DDRC_RFSHCTL1_REFRESH_TIMER0_START_VALUE_X32_MASK 
#define DDRC_RFSHCTL1_REFRESH_TIMER0_START_VALUE_X32_DEFVAL    0x00000000
#define DDRC_RFSHCTL1_REFRESH_TIMER0_START_VALUE_X32_SHIFT     0
#define DDRC_RFSHCTL1_REFRESH_TIMER0_START_VALUE_X32_MASK      0x00000FFFU

/*
* Fine Granularity Refresh Mode - 000 - Fixed 1x (Normal mode) - 001 - Fix
    * ed 2x - 010 - Fixed 4x - 101 - Enable on the fly 2x (not supported) - 11
    * 0 - Enable on the fly 4x (not supported) - Everything else - reserved No
    * te: The on-the-fly modes is not supported in this version of the uMCTL2.
    *  Note: This must be set up while the Controller is in reset or while the
    *  Controller is in self-refresh mode. Changing this during normal operati
    * on is not allowed. Making this a dynamic register will be supported in f
    * uture version of the uMCTL2.
*/
#undef DDRC_RFSHCTL3_REFRESH_MODE_DEFVAL 
#undef DDRC_RFSHCTL3_REFRESH_MODE_SHIFT 
#undef DDRC_RFSHCTL3_REFRESH_MODE_MASK 
#define DDRC_RFSHCTL3_REFRESH_MODE_DEFVAL                      0x00000000
#define DDRC_RFSHCTL3_REFRESH_MODE_SHIFT                       4
#define DDRC_RFSHCTL3_REFRESH_MODE_MASK                        0x00000070U

/*
* Toggle this signal (either from 0 to 1 or from 1 to 0) to indicate that
    * the refresh register(s) have been updated. The value is automatically up
    * dated when exiting reset, so it does not need to be toggled initially.
*/
#undef DDRC_RFSHCTL3_REFRESH_UPDATE_LEVEL_DEFVAL 
#undef DDRC_RFSHCTL3_REFRESH_UPDATE_LEVEL_SHIFT 
#undef DDRC_RFSHCTL3_REFRESH_UPDATE_LEVEL_MASK 
#define DDRC_RFSHCTL3_REFRESH_UPDATE_LEVEL_DEFVAL              0x00000000
#define DDRC_RFSHCTL3_REFRESH_UPDATE_LEVEL_SHIFT               1
#define DDRC_RFSHCTL3_REFRESH_UPDATE_LEVEL_MASK                0x00000002U

/*
* When '1', disable auto-refresh generated by the uMCTL2. When auto-refres
    * h is disabled, the SoC core must generate refreshes using the registers
    * reg_ddrc_rank0_refresh, reg_ddrc_rank1_refresh, reg_ddrc_rank2_refresh a
    * nd reg_ddrc_rank3_refresh. When dis_auto_refresh transitions from 0 to 1
    * , any pending refreshes are immediately scheduled by the uMCTL2. If DDR4
    *  CRC/parity retry is enabled (CRCPARCTL1.crc_parity_retry_enable = 1), d
    * isable auto-refresh is not supported, and this bit must be set to '0'. T
    * his register field is changeable on the fly.
*/
#undef DDRC_RFSHCTL3_DIS_AUTO_REFRESH_DEFVAL 
#undef DDRC_RFSHCTL3_DIS_AUTO_REFRESH_SHIFT 
#undef DDRC_RFSHCTL3_DIS_AUTO_REFRESH_MASK 
#define DDRC_RFSHCTL3_DIS_AUTO_REFRESH_DEFVAL                  0x00000000
#define DDRC_RFSHCTL3_DIS_AUTO_REFRESH_SHIFT                   0
#define DDRC_RFSHCTL3_DIS_AUTO_REFRESH_MASK                    0x00000001U

/*
* tREFI: Average time interval between refreshes per rank (Specification:
    * 7.8us for DDR2, DDR3 and DDR4. See JEDEC specification for mDDR, LPDDR2,
    *  LPDDR3 and LPDDR4). For LPDDR2/LPDDR3/LPDDR4: - if using all-bank refre
    * shes (RFSHCTL0.per_bank_refresh = 0), this register should be set to tRE
    * FIab - if using per-bank refreshes (RFSHCTL0.per_bank_refresh = 1), this
    *  register should be set to tREFIpb For configurations with MEMC_FREQ_RAT
    * IO=2, program this to (tREFI/2), no rounding up. In DDR4 mode, tREFI val
    * ue is different depending on the refresh mode. The user should program t
    * he appropriate value from the spec based on the value programmed in the
    * refresh mode register. Note that RFSHTMG.t_rfc_nom_x32 * 32 must be grea
    * ter than RFSHTMG.t_rfc_min, and RFSHTMG.t_rfc_nom_x32 must be greater th
    * an 0x1. Unit: Multiples of 32 clocks.
*/
#undef DDRC_RFSHTMG_T_RFC_NOM_X32_DEFVAL 
#undef DDRC_RFSHTMG_T_RFC_NOM_X32_SHIFT 
#undef DDRC_RFSHTMG_T_RFC_NOM_X32_MASK 
#define DDRC_RFSHTMG_T_RFC_NOM_X32_DEFVAL                      0x0062008C
#define DDRC_RFSHTMG_T_RFC_NOM_X32_SHIFT                       16
#define DDRC_RFSHTMG_T_RFC_NOM_X32_MASK                        0x0FFF0000U

/*
* Used only when LPDDR3 memory type is connected. Should only be changed w
    * hen uMCTL2 is in reset. Specifies whether to use the tREFBW parameter (r
    * equired by some LPDDR3 devices which comply with earlier versions of the
    *  LPDDR3 JEDEC specification) or not: - 0 - tREFBW parameter not used - 1
    *  - tREFBW parameter used
*/
#undef DDRC_RFSHTMG_LPDDR3_TREFBW_EN_DEFVAL 
#undef DDRC_RFSHTMG_LPDDR3_TREFBW_EN_SHIFT 
#undef DDRC_RFSHTMG_LPDDR3_TREFBW_EN_MASK 
#define DDRC_RFSHTMG_LPDDR3_TREFBW_EN_DEFVAL                   0x0062008C
#define DDRC_RFSHTMG_LPDDR3_TREFBW_EN_SHIFT                    15
#define DDRC_RFSHTMG_LPDDR3_TREFBW_EN_MASK                     0x00008000U

/*
* tRFC (min): Minimum time from refresh to refresh or activate. For MEMC_F
    * REQ_RATIO=1 configurations, t_rfc_min should be set to RoundUp(tRFCmin/t
    * CK). For MEMC_FREQ_RATIO=2 configurations, t_rfc_min should be set to Ro
    * undUp(RoundUp(tRFCmin/tCK)/2). In LPDDR2/LPDDR3/LPDDR4 mode: - if using
    * all-bank refreshes, the tRFCmin value in the above equations is equal to
    *  tRFCab - if using per-bank refreshes, the tRFCmin value in the above eq
    * uations is equal to tRFCpb In DDR4 mode, the tRFCmin value in the above
    * equations is different depending on the refresh mode (fixed 1X,2X,4X) an
    * d the device density. The user should program the appropriate value from
    *  the spec based on the 'refresh_mode' and the device density that is use
    * d. Unit: Clocks.
*/
#undef DDRC_RFSHTMG_T_RFC_MIN_DEFVAL 
#undef DDRC_RFSHTMG_T_RFC_MIN_SHIFT 
#undef DDRC_RFSHTMG_T_RFC_MIN_MASK 
#define DDRC_RFSHTMG_T_RFC_MIN_DEFVAL                          0x0062008C
#define DDRC_RFSHTMG_T_RFC_MIN_SHIFT                           0
#define DDRC_RFSHTMG_T_RFC_MIN_MASK                            0x000003FFU

/*
* Disable ECC scrubs. Valid only when ECCCFG0.ecc_mode = 3'b100 and MEMC_U
    * SE_RMW is defined
*/
#undef DDRC_ECCCFG0_DIS_SCRUB_DEFVAL 
#undef DDRC_ECCCFG0_DIS_SCRUB_SHIFT 
#undef DDRC_ECCCFG0_DIS_SCRUB_MASK 
#define DDRC_ECCCFG0_DIS_SCRUB_DEFVAL                          0x00000000
#define DDRC_ECCCFG0_DIS_SCRUB_SHIFT                           4
#define DDRC_ECCCFG0_DIS_SCRUB_MASK                            0x00000010U

/*
* ECC mode indicator - 000 - ECC disabled - 100 - ECC enabled - SEC/DED ov
    * er 1 beat - all other settings are reserved for future use
*/
#undef DDRC_ECCCFG0_ECC_MODE_DEFVAL 
#undef DDRC_ECCCFG0_ECC_MODE_SHIFT 
#undef DDRC_ECCCFG0_ECC_MODE_MASK 
#define DDRC_ECCCFG0_ECC_MODE_DEFVAL                           0x00000000
#define DDRC_ECCCFG0_ECC_MODE_SHIFT                            0
#define DDRC_ECCCFG0_ECC_MODE_MASK                             0x00000007U

/*
* Selects whether to poison 1 or 2 bits - if 0 -> 2-bit (uncorrectable) da
    * ta poisoning, if 1 -> 1-bit (correctable) data poisoning, if ECCCFG1.dat
    * a_poison_en=1
*/
#undef DDRC_ECCCFG1_DATA_POISON_BIT_DEFVAL 
#undef DDRC_ECCCFG1_DATA_POISON_BIT_SHIFT 
#undef DDRC_ECCCFG1_DATA_POISON_BIT_MASK 
#define DDRC_ECCCFG1_DATA_POISON_BIT_DEFVAL                    0x00000000
#define DDRC_ECCCFG1_DATA_POISON_BIT_SHIFT                     1
#define DDRC_ECCCFG1_DATA_POISON_BIT_MASK                      0x00000002U

/*
* Enable ECC data poisoning - introduces ECC errors on writes to address s
    * pecified by the ECCPOISONADDR0/1 registers
*/
#undef DDRC_ECCCFG1_DATA_POISON_EN_DEFVAL 
#undef DDRC_ECCCFG1_DATA_POISON_EN_SHIFT 
#undef DDRC_ECCCFG1_DATA_POISON_EN_MASK 
#define DDRC_ECCCFG1_DATA_POISON_EN_DEFVAL                     0x00000000
#define DDRC_ECCCFG1_DATA_POISON_EN_SHIFT                      0
#define DDRC_ECCCFG1_DATA_POISON_EN_MASK                       0x00000001U

/*
* The maximum number of DFI PHY clock cycles allowed from the assertion of
    *  the dfi_rddata_en signal to the assertion of each of the corresponding
    * bits of the dfi_rddata_valid signal. This corresponds to the DFI timing
    * parameter tphy_rdlat. Refer to PHY specification for correct value. This
    *  value it only used for detecting read data timeout when DDR4 retry is e
    * nabled by CRCPARCTL1.crc_parity_retry_enable=1. Maximum supported value:
    *  - 1:1 Frequency mode : DFITMG0.dfi_t_rddata_en + CRCPARCTL1.dfi_t_phy_r
    * dlat < 'd114 - 1:2 Frequency mode ANDAND DFITMG0.dfi_rddata_use_sdr == 1
    *  : CRCPARCTL1.dfi_t_phy_rdlat < 64 - 1:2 Frequency mode ANDAND DFITMG0.d
    * fi_rddata_use_sdr == 0 : DFITMG0.dfi_t_rddata_en + CRCPARCTL1.dfi_t_phy_
    * rdlat < 'd114 Unit: DFI Clocks
*/
#undef DDRC_CRCPARCTL1_DFI_T_PHY_RDLAT_DEFVAL 
#undef DDRC_CRCPARCTL1_DFI_T_PHY_RDLAT_SHIFT 
#undef DDRC_CRCPARCTL1_DFI_T_PHY_RDLAT_MASK 
#define DDRC_CRCPARCTL1_DFI_T_PHY_RDLAT_DEFVAL                 0x10000200
#define DDRC_CRCPARCTL1_DFI_T_PHY_RDLAT_SHIFT                  24
#define DDRC_CRCPARCTL1_DFI_T_PHY_RDLAT_MASK                   0x3F000000U

/*
* After a Parity or CRC error is flagged on dfi_alert_n signal, the softwa
    * re has an option to read the mode registers in the DRAM before the hardw
    * are begins the retry process - 1: Wait for software to read/write the mo
    * de registers before hardware begins the retry. After software is done wi
    * th its operations, it will clear the alert interrupt register bit - 0: H
    * ardware can begin the retry right away after the dfi_alert_n pulse goes
    * away. The value on this register is valid only when retry is enabled (PA
    * RCTRL.crc_parity_retry_enable = 1) If this register is set to 1 and if t
    * he software doesn't clear the interrupt register after handling the pari
    * ty/CRC error, then the hardware will not begin the retry process and the
    *  system will hang. In the case of Parity/CRC error, there are two possib
    * ilities when the software doesn't reset MR5[4] to 0. - (i) If 'Persisten
    * t parity' mode register bit is NOT set: the commands sent during retry a
    * nd normal operation are executed without parity checking. The value in t
    * he Parity error log register MPR Page 1 is valid. - (ii) If 'Persistent
    * parity' mode register bit is SET: Parity checking is done for commands s
    * ent during retry and normal operation. If multiple errors occur before M
    * R5[4] is cleared, the error log in MPR Page 1 should be treated as 'Don'
    * t care'.
*/
#undef DDRC_CRCPARCTL1_ALERT_WAIT_FOR_SW_DEFVAL 
#undef DDRC_CRCPARCTL1_ALERT_WAIT_FOR_SW_SHIFT 
#undef DDRC_CRCPARCTL1_ALERT_WAIT_FOR_SW_MASK 
#define DDRC_CRCPARCTL1_ALERT_WAIT_FOR_SW_DEFVAL               0x10000200
#define DDRC_CRCPARCTL1_ALERT_WAIT_FOR_SW_SHIFT                9
#define DDRC_CRCPARCTL1_ALERT_WAIT_FOR_SW_MASK                 0x00000200U

/*
* - 1: Enable command retry mechanism in case of C/A Parity or CRC error -
    *  0: Disable command retry mechanism when C/A Parity or CRC features are
    * enabled. Note that retry functionality is not supported if burst chop is
    *  enabled (MSTR.burstchop = 1) and/or disable auto-refresh is enabled (RF
    * SHCTL3.dis_auto_refresh = 1)
*/
#undef DDRC_CRCPARCTL1_CRC_PARITY_RETRY_ENABLE_DEFVAL 
#undef DDRC_CRCPARCTL1_CRC_PARITY_RETRY_ENABLE_SHIFT 
#undef DDRC_CRCPARCTL1_CRC_PARITY_RETRY_ENABLE_MASK 
#define DDRC_CRCPARCTL1_CRC_PARITY_RETRY_ENABLE_DEFVAL         0x10000200
#define DDRC_CRCPARCTL1_CRC_PARITY_RETRY_ENABLE_SHIFT          8
#define DDRC_CRCPARCTL1_CRC_PARITY_RETRY_ENABLE_MASK           0x00000100U

/*
* CRC Calculation setting register - 1: CRC includes DM signal - 0: CRC no
    * t includes DM signal Present only in designs configured to support DDR4.
*/
#undef DDRC_CRCPARCTL1_CRC_INC_DM_DEFVAL 
#undef DDRC_CRCPARCTL1_CRC_INC_DM_SHIFT 
#undef DDRC_CRCPARCTL1_CRC_INC_DM_MASK 
#define DDRC_CRCPARCTL1_CRC_INC_DM_DEFVAL                      0x10000200
#define DDRC_CRCPARCTL1_CRC_INC_DM_SHIFT                       7
#define DDRC_CRCPARCTL1_CRC_INC_DM_MASK                        0x00000080U

/*
* CRC enable Register - 1: Enable generation of CRC - 0: Disable generatio
    * n of CRC The setting of this register should match the CRC mode register
    *  setting in the DRAM.
*/
#undef DDRC_CRCPARCTL1_CRC_ENABLE_DEFVAL 
#undef DDRC_CRCPARCTL1_CRC_ENABLE_SHIFT 
#undef DDRC_CRCPARCTL1_CRC_ENABLE_MASK 
#define DDRC_CRCPARCTL1_CRC_ENABLE_DEFVAL                      0x10000200
#define DDRC_CRCPARCTL1_CRC_ENABLE_SHIFT                       4
#define DDRC_CRCPARCTL1_CRC_ENABLE_MASK                        0x00000010U

/*
* C/A Parity enable register - 1: Enable generation of C/A parity and dete
    * ction of C/A parity error - 0: Disable generation of C/A parity and disa
    * ble detection of C/A parity error If RCD's parity error detection or SDR
    * AM's parity detection is enabled, this register should be 1.
*/
#undef DDRC_CRCPARCTL1_PARITY_ENABLE_DEFVAL 
#undef DDRC_CRCPARCTL1_PARITY_ENABLE_SHIFT 
#undef DDRC_CRCPARCTL1_PARITY_ENABLE_MASK 
#define DDRC_CRCPARCTL1_PARITY_ENABLE_DEFVAL                   0x10000200
#define DDRC_CRCPARCTL1_PARITY_ENABLE_SHIFT                    0
#define DDRC_CRCPARCTL1_PARITY_ENABLE_MASK                     0x00000001U

/*
* Value from the DRAM spec indicating the maximum width of the dfi_alert_n
    *  pulse when a parity error occurs. Recommended values: - tPAR_ALERT_PW.M
    * AX For configurations with MEMC_FREQ_RATIO=2, program this to tPAR_ALERT
    * _PW.MAX/2 and round up to next integer value. Values of 0, 1 and 2 are i
    * llegal. This value must be greater than CRCPARCTL2.t_crc_alert_pw_max.
*/
#undef DDRC_CRCPARCTL2_T_PAR_ALERT_PW_MAX_DEFVAL 
#undef DDRC_CRCPARCTL2_T_PAR_ALERT_PW_MAX_SHIFT 
#undef DDRC_CRCPARCTL2_T_PAR_ALERT_PW_MAX_MASK 
#define DDRC_CRCPARCTL2_T_PAR_ALERT_PW_MAX_DEFVAL              0x0030050C
#define DDRC_CRCPARCTL2_T_PAR_ALERT_PW_MAX_SHIFT               16
#define DDRC_CRCPARCTL2_T_PAR_ALERT_PW_MAX_MASK                0x01FF0000U

/*
* Value from the DRAM spec indicating the maximum width of the dfi_alert_n
    *  pulse when a CRC error occurs. Recommended values: - tCRC_ALERT_PW.MAX
    * For configurations with MEMC_FREQ_RATIO=2, program this to tCRC_ALERT_PW
    * .MAX/2 and round up to next integer value. Values of 0, 1 and 2 are ille
    * gal. This value must be less than CRCPARCTL2.t_par_alert_pw_max.
*/
#undef DDRC_CRCPARCTL2_T_CRC_ALERT_PW_MAX_DEFVAL 
#undef DDRC_CRCPARCTL2_T_CRC_ALERT_PW_MAX_SHIFT 
#undef DDRC_CRCPARCTL2_T_CRC_ALERT_PW_MAX_MASK 
#define DDRC_CRCPARCTL2_T_CRC_ALERT_PW_MAX_DEFVAL              0x0030050C
#define DDRC_CRCPARCTL2_T_CRC_ALERT_PW_MAX_SHIFT               8
#define DDRC_CRCPARCTL2_T_CRC_ALERT_PW_MAX_MASK                0x00001F00U

/*
* Indicates the maximum duration in number of DRAM clock cycles for which
    * a command should be held in the Command Retry FIFO before it is popped o
    * ut. Every location in the Command Retry FIFO has an associated down coun
    * ting timer that will use this register as the start value. The down coun
    * ting starts when a command is loaded into the FIFO. The timer counts dow
    * n every 4 DRAM cycles. When the counter reaches zero, the entry is poppe
    * d from the FIFO. All the counters are frozen, if a C/A Parity or CRC err
    * or occurs before the counter reaches zero. The counter is reset to 0, af
    * ter all the commands in the FIFO are retried. Recommended(minimum) value
    * s: - Only C/A Parity is enabled. RoundUp((PHY Command Latency(DRAM CLK)
    * + CAL + RDIMM delay + tPAR_ALERT_ON.max + tPAR_UNKNOWN + PHY Alert Laten
    * cy(DRAM CLK) + board delay) / 4) + 2 - Both C/A Parity and CRC is enable
    * d/ Only CRC is enabled. RoundUp((PHY Command Latency(DRAM CLK) + CAL + R
    * DIMM delay + WL + 5(BL10)+ tCRC_ALERT.max + PHY Alert Latency(DRAM CLK)
    * + board delay) / 4) + 2 Note 1: All value (e.g. tPAR_ALERT_ON) should be
    *  in terms of DRAM Clock and round up Note 2: Board delay(Command/Alert_n
    * ) should be considered. Note 3: Use the worst case(longer) value for PHY
    *  Latencies/Board delay Note 4: The Recommended values are minimum value
    * to be set. For mode detail, See 'Calculation of FIFO Depth' section. Max
    *  value can be set to this register is defined below: - MEMC_BURST_LENGTH
    *  == 16 Full bus Mode (CRC=OFF) Max value = UMCTL2_RETRY_CMD_FIFO_DEPTH-2
    *  Full bus Mode (CRC=ON) Max value = UMCTL2_RETRY_CMD_FIFO_DEPTH-3 Half b
    * us Mode (CRC=OFF) Max value = UMCTL2_RETRY_CMD_FIFO_DEPTH-4 Half bus Mod
    * e (CRC=ON) Max value = UMCTL2_RETRY_CMD_FIFO_DEPTH-6 Quarter bus Mode (C
    * RC=OFF) Max value = UMCTL2_RETRY_CMD_FIFO_DEPTH-8 Quarter bus Mode (CRC=
    * ON) Max value = UMCTL2_RETRY_CMD_FIFO_DEPTH-12 - MEMC_BURST_LENGTH != 16
    *  Full bus Mode (CRC=OFF) Max value = UMCTL2_RETRY_CMD_FIFO_DEPTH-1 Full
    * bus Mode (CRC=ON) Max value = UMCTL2_RETRY_CMD_FIFO_DEPTH-2 Half bus Mod
    * e (CRC=OFF) Max value = UMCTL2_RETRY_CMD_FIFO_DEPTH-2 Half bus Mode (CRC
    * =ON) Max value = UMCTL2_RETRY_CMD_FIFO_DEPTH-3 Quarter bus Mode (CRC=OFF
    * ) Max value = UMCTL2_RETRY_CMD_FIFO_DEPTH-4 Quarter bus Mode (CRC=ON) Ma
    * x value = UMCTL2_RETRY_CMD_FIFO_DEPTH-6 Values of 0, 1 and 2 are illegal
    * .
*/
#undef DDRC_CRCPARCTL2_RETRY_FIFO_MAX_HOLD_TIMER_X4_DEFVAL 
#undef DDRC_CRCPARCTL2_RETRY_FIFO_MAX_HOLD_TIMER_X4_SHIFT 
#undef DDRC_CRCPARCTL2_RETRY_FIFO_MAX_HOLD_TIMER_X4_MASK 
#define DDRC_CRCPARCTL2_RETRY_FIFO_MAX_HOLD_TIMER_X4_DEFVAL    0x0030050C
#define DDRC_CRCPARCTL2_RETRY_FIFO_MAX_HOLD_TIMER_X4_SHIFT     0
#define DDRC_CRCPARCTL2_RETRY_FIFO_MAX_HOLD_TIMER_X4_MASK      0x0000003FU

/*
* If lower bit is enabled the SDRAM initialization routine is skipped. The
    *  upper bit decides what state the controller starts up in when reset is
    * removed - 00 - SDRAM Intialization routine is run after power-up - 01 -
    * SDRAM Intialization routine is skipped after power-up. Controller starts
    *  up in Normal Mode - 11 - SDRAM Intialization routine is skipped after p
    * ower-up. Controller starts up in Self-refresh Mode - 10 - SDRAM Intializ
    * ation routine is run after power-up. Note: The only 2'b00 is supported f
    * or LPDDR4 in this version of the uMCTL2.
*/
#undef DDRC_INIT0_SKIP_DRAM_INIT_DEFVAL 
#undef DDRC_INIT0_SKIP_DRAM_INIT_SHIFT 
#undef DDRC_INIT0_SKIP_DRAM_INIT_MASK 
#define DDRC_INIT0_SKIP_DRAM_INIT_DEFVAL                       0x0002004E
#define DDRC_INIT0_SKIP_DRAM_INIT_SHIFT                        30
#define DDRC_INIT0_SKIP_DRAM_INIT_MASK                         0xC0000000U

/*
* Cycles to wait after driving CKE high to start the SDRAM initialization
    * sequence. Unit: 1024 clocks. DDR2 typically requires a 400 ns delay, req
    * uiring this value to be programmed to 2 at all clock speeds. LPDDR2/LPDD
    * R3 typically requires this to be programmed for a delay of 200 us. LPDDR
    * 4 typically requires this to be programmed for a delay of 2 us. For conf
    * igurations with MEMC_FREQ_RATIO=2, program this to JEDEC spec value divi
    * ded by 2, and round it up to next integer value.
*/
#undef DDRC_INIT0_POST_CKE_X1024_DEFVAL 
#undef DDRC_INIT0_POST_CKE_X1024_SHIFT 
#undef DDRC_INIT0_POST_CKE_X1024_MASK 
#define DDRC_INIT0_POST_CKE_X1024_DEFVAL                       0x0002004E
#define DDRC_INIT0_POST_CKE_X1024_SHIFT                        16
#define DDRC_INIT0_POST_CKE_X1024_MASK                         0x03FF0000U

/*
* Cycles to wait after reset before driving CKE high to start the SDRAM in
    * itialization sequence. Unit: 1024 clock cycles. DDR2 specifications typi
    * cally require this to be programmed for a delay of >= 200 us. LPDDR2/LPD
    * DR3: tINIT1 of 100 ns (min) LPDDR4: tINIT3 of 2 ms (min) For configurati
    * ons with MEMC_FREQ_RATIO=2, program this to JEDEC spec value divided by
    * 2, and round it up to next integer value.
*/
#undef DDRC_INIT0_PRE_CKE_X1024_DEFVAL 
#undef DDRC_INIT0_PRE_CKE_X1024_SHIFT 
#undef DDRC_INIT0_PRE_CKE_X1024_MASK 
#define DDRC_INIT0_PRE_CKE_X1024_DEFVAL                        0x0002004E
#define DDRC_INIT0_PRE_CKE_X1024_SHIFT                         0
#define DDRC_INIT0_PRE_CKE_X1024_MASK                          0x00000FFFU

/*
* Number of cycles to assert SDRAM reset signal during init sequence. This
    *  is only present for designs supporting DDR3, DDR4 or LPDDR4 devices. Fo
    * r use with a DDR PHY, this should be set to a minimum of 1
*/
#undef DDRC_INIT1_DRAM_RSTN_X1024_DEFVAL 
#undef DDRC_INIT1_DRAM_RSTN_X1024_SHIFT 
#undef DDRC_INIT1_DRAM_RSTN_X1024_MASK 
#define DDRC_INIT1_DRAM_RSTN_X1024_DEFVAL                      0x00000000
#define DDRC_INIT1_DRAM_RSTN_X1024_SHIFT                       16
#define DDRC_INIT1_DRAM_RSTN_X1024_MASK                        0x01FF0000U

/*
* Cycles to wait after completing the SDRAM initialization sequence before
    *  starting the dynamic scheduler. Unit: Counts of a global timer that pul
    * ses every 32 clock cycles. There is no known specific requirement for th
    * is; it may be set to zero.
*/
#undef DDRC_INIT1_FINAL_WAIT_X32_DEFVAL 
#undef DDRC_INIT1_FINAL_WAIT_X32_SHIFT 
#undef DDRC_INIT1_FINAL_WAIT_X32_MASK 
#define DDRC_INIT1_FINAL_WAIT_X32_DEFVAL                       0x00000000
#define DDRC_INIT1_FINAL_WAIT_X32_SHIFT                        8
#define DDRC_INIT1_FINAL_WAIT_X32_MASK                         0x00007F00U

/*
* Wait period before driving the OCD complete command to SDRAM. Unit: Coun
    * ts of a global timer that pulses every 32 clock cycles. There is no know
    * n specific requirement for this; it may be set to zero.
*/
#undef DDRC_INIT1_PRE_OCD_X32_DEFVAL 
#undef DDRC_INIT1_PRE_OCD_X32_SHIFT 
#undef DDRC_INIT1_PRE_OCD_X32_MASK 
#define DDRC_INIT1_PRE_OCD_X32_DEFVAL                          0x00000000
#define DDRC_INIT1_PRE_OCD_X32_SHIFT                           0
#define DDRC_INIT1_PRE_OCD_X32_MASK                            0x0000000FU

/*
* Idle time after the reset command, tINIT4. Present only in designs confi
    * gured to support LPDDR2. Unit: 32 clock cycles.
*/
#undef DDRC_INIT2_IDLE_AFTER_RESET_X32_DEFVAL 
#undef DDRC_INIT2_IDLE_AFTER_RESET_X32_SHIFT 
#undef DDRC_INIT2_IDLE_AFTER_RESET_X32_MASK 
#define DDRC_INIT2_IDLE_AFTER_RESET_X32_DEFVAL                 0x00000D05
#define DDRC_INIT2_IDLE_AFTER_RESET_X32_SHIFT                  8
#define DDRC_INIT2_IDLE_AFTER_RESET_X32_MASK                   0x0000FF00U

/*
* Time to wait after the first CKE high, tINIT2. Present only in designs c
    * onfigured to support LPDDR2/LPDDR3. Unit: 1 clock cycle. LPDDR2/LPDDR3 t
    * ypically requires 5 x tCK delay.
*/
#undef DDRC_INIT2_MIN_STABLE_CLOCK_X1_DEFVAL 
#undef DDRC_INIT2_MIN_STABLE_CLOCK_X1_SHIFT 
#undef DDRC_INIT2_MIN_STABLE_CLOCK_X1_MASK 
#define DDRC_INIT2_MIN_STABLE_CLOCK_X1_DEFVAL                  0x00000D05
#define DDRC_INIT2_MIN_STABLE_CLOCK_X1_SHIFT                   0
#define DDRC_INIT2_MIN_STABLE_CLOCK_X1_MASK                    0x0000000FU

/*
* DDR2: Value to write to MR register. Bit 8 is for DLL and the setting he
    * re is ignored. The uMCTL2 sets this bit appropriately. DDR3/DDR4: Value
    * loaded into MR0 register. mDDR: Value to write to MR register. LPDDR2/LP
    * DDR3/LPDDR4 - Value to write to MR1 register
*/
#undef DDRC_INIT3_MR_DEFVAL 
#undef DDRC_INIT3_MR_SHIFT 
#undef DDRC_INIT3_MR_MASK 
#define DDRC_INIT3_MR_DEFVAL                                   0x00000510
#define DDRC_INIT3_MR_SHIFT                                    16
#define DDRC_INIT3_MR_MASK                                     0xFFFF0000U

/*
* DDR2: Value to write to EMR register. Bits 9:7 are for OCD and the setti
    * ng in this register is ignored. The uMCTL2 sets those bits appropriately
    * . DDR3/DDR4: Value to write to MR1 register Set bit 7 to 0. If PHY-evalu
    * ation mode training is enabled, this bit is set appropriately by the uMC
    * TL2 during write leveling. mDDR: Value to write to EMR register. LPDDR2/
    * LPDDR3/LPDDR4 - Value to write to MR2 register
*/
#undef DDRC_INIT3_EMR_DEFVAL 
#undef DDRC_INIT3_EMR_SHIFT 
#undef DDRC_INIT3_EMR_MASK 
#define DDRC_INIT3_EMR_DEFVAL                                  0x00000510
#define DDRC_INIT3_EMR_SHIFT                                   0
#define DDRC_INIT3_EMR_MASK                                    0x0000FFFFU

/*
* DDR2: Value to write to EMR2 register. DDR3/DDR4: Value to write to MR2
    * register LPDDR2/LPDDR3/LPDDR4: Value to write to MR3 register mDDR: Unus
    * ed
*/
#undef DDRC_INIT4_EMR2_DEFVAL 
#undef DDRC_INIT4_EMR2_SHIFT 
#undef DDRC_INIT4_EMR2_MASK 
#define DDRC_INIT4_EMR2_DEFVAL                                 0x00000000
#define DDRC_INIT4_EMR2_SHIFT                                  16
#define DDRC_INIT4_EMR2_MASK                                   0xFFFF0000U

/*
* DDR2: Value to write to EMR3 register. DDR3/DDR4: Value to write to MR3
    * register mDDR/LPDDR2/LPDDR3: Unused LPDDR4: Value to write to MR13 regis
    * ter
*/
#undef DDRC_INIT4_EMR3_DEFVAL 
#undef DDRC_INIT4_EMR3_SHIFT 
#undef DDRC_INIT4_EMR3_MASK 
#define DDRC_INIT4_EMR3_DEFVAL                                 0x00000000
#define DDRC_INIT4_EMR3_SHIFT                                  0
#define DDRC_INIT4_EMR3_MASK                                   0x0000FFFFU

/*
* ZQ initial calibration, tZQINIT. Present only in designs configured to s
    * upport DDR3 or DDR4 or LPDDR2/LPDDR3. Unit: 32 clock cycles. DDR3 typica
    * lly requires 512 clocks. DDR4 requires 1024 clocks. LPDDR2/LPDDR3 requir
    * es 1 us.
*/
#undef DDRC_INIT5_DEV_ZQINIT_X32_DEFVAL 
#undef DDRC_INIT5_DEV_ZQINIT_X32_SHIFT 
#undef DDRC_INIT5_DEV_ZQINIT_X32_MASK 
#define DDRC_INIT5_DEV_ZQINIT_X32_DEFVAL                       0x00100004
#define DDRC_INIT5_DEV_ZQINIT_X32_SHIFT                        16
#define DDRC_INIT5_DEV_ZQINIT_X32_MASK                         0x00FF0000U

/*
* Maximum duration of the auto initialization, tINIT5. Present only in des
    * igns configured to support LPDDR2/LPDDR3. LPDDR2/LPDDR3 typically requir
    * es 10 us.
*/
#undef DDRC_INIT5_MAX_AUTO_INIT_X1024_DEFVAL 
#undef DDRC_INIT5_MAX_AUTO_INIT_X1024_SHIFT 
#undef DDRC_INIT5_MAX_AUTO_INIT_X1024_MASK 
#define DDRC_INIT5_MAX_AUTO_INIT_X1024_DEFVAL                  0x00100004
#define DDRC_INIT5_MAX_AUTO_INIT_X1024_SHIFT                   0
#define DDRC_INIT5_MAX_AUTO_INIT_X1024_MASK                    0x000003FFU

/*
* DDR4- Value to be loaded into SDRAM MR4 registers. Used in DDR4 designs
    * only.
*/
#undef DDRC_INIT6_MR4_DEFVAL 
#undef DDRC_INIT6_MR4_SHIFT 
#undef DDRC_INIT6_MR4_MASK 
#define DDRC_INIT6_MR4_DEFVAL                                  0x00000000
#define DDRC_INIT6_MR4_SHIFT                                   16
#define DDRC_INIT6_MR4_MASK                                    0xFFFF0000U

/*
* DDR4- Value to be loaded into SDRAM MR5 registers. Used in DDR4 designs
    * only.
*/
#undef DDRC_INIT6_MR5_DEFVAL 
#undef DDRC_INIT6_MR5_SHIFT 
#undef DDRC_INIT6_MR5_MASK 
#define DDRC_INIT6_MR5_DEFVAL                                  0x00000000
#define DDRC_INIT6_MR5_SHIFT                                   0
#define DDRC_INIT6_MR5_MASK                                    0x0000FFFFU

/*
* DDR4- Value to be loaded into SDRAM MR6 registers. Used in DDR4 designs
    * only.
*/
#undef DDRC_INIT7_MR6_DEFVAL 
#undef DDRC_INIT7_MR6_SHIFT 
#undef DDRC_INIT7_MR6_MASK 
#define DDRC_INIT7_MR6_DEFVAL                                  
#define DDRC_INIT7_MR6_SHIFT                                   16
#define DDRC_INIT7_MR6_MASK                                    0xFFFF0000U

/*
* Disabling Address Mirroring for BG bits. When this is set to 1, BG0 and
    * BG1 are NOT swapped even if Address Mirroring is enabled. This will be r
    * equired for DDR4 DIMMs with x16 devices. - 1 - BG0 and BG1 are NOT swapp
    * ed. - 0 - BG0 and BG1 are swapped if address mirroring is enabled.
*/
#undef DDRC_DIMMCTL_DIMM_DIS_BG_MIRRORING_DEFVAL 
#undef DDRC_DIMMCTL_DIMM_DIS_BG_MIRRORING_SHIFT 
#undef DDRC_DIMMCTL_DIMM_DIS_BG_MIRRORING_MASK 
#define DDRC_DIMMCTL_DIMM_DIS_BG_MIRRORING_DEFVAL              0x00000000
#define DDRC_DIMMCTL_DIMM_DIS_BG_MIRRORING_SHIFT               5
#define DDRC_DIMMCTL_DIMM_DIS_BG_MIRRORING_MASK                0x00000020U

/*
* Enable for BG1 bit of MRS command. BG1 bit of the mode register address
    * is specified as RFU (Reserved for Future Use) and must be programmed to
    * 0 during MRS. In case where DRAMs which do not have BG1 are attached and
    *  both the CA parity and the Output Inversion are enabled, this must be s
    * et to 0, so that the calculation of CA parity will not include BG1 bit.
    * Note: This has no effect on the address of any other memory accesses, or
    *  of software-driven mode register accesses. If address mirroring is enab
    * led, this is applied to BG1 of even ranks and BG0 of odd ranks. - 1 - En
    * abled - 0 - Disabled
*/
#undef DDRC_DIMMCTL_MRS_BG1_EN_DEFVAL 
#undef DDRC_DIMMCTL_MRS_BG1_EN_SHIFT 
#undef DDRC_DIMMCTL_MRS_BG1_EN_MASK 
#define DDRC_DIMMCTL_MRS_BG1_EN_DEFVAL                         0x00000000
#define DDRC_DIMMCTL_MRS_BG1_EN_SHIFT                          4
#define DDRC_DIMMCTL_MRS_BG1_EN_MASK                           0x00000010U

/*
* Enable for A17 bit of MRS command. A17 bit of the mode register address
    * is specified as RFU (Reserved for Future Use) and must be programmed to
    * 0 during MRS. In case where DRAMs which do not have A17 are attached and
    *  the Output Inversion are enabled, this must be set to 0, so that the ca
    * lculation of CA parity will not include A17 bit. Note: This has no effec
    * t on the address of any other memory accesses, or of software-driven mod
    * e register accesses. - 1 - Enabled - 0 - Disabled
*/
#undef DDRC_DIMMCTL_MRS_A17_EN_DEFVAL 
#undef DDRC_DIMMCTL_MRS_A17_EN_SHIFT 
#undef DDRC_DIMMCTL_MRS_A17_EN_MASK 
#define DDRC_DIMMCTL_MRS_A17_EN_DEFVAL                         0x00000000
#define DDRC_DIMMCTL_MRS_A17_EN_SHIFT                          3
#define DDRC_DIMMCTL_MRS_A17_EN_MASK                           0x00000008U

/*
* Output Inversion Enable (for DDR4 RDIMM implementations only). DDR4 RDIM
    * M implements the Output Inversion feature by default, which means that t
    * he following address, bank address and bank group bits of B-side DRAMs a
    * re inverted: A3-A9, A11, A13, A17, BA0-BA1, BG0-BG1. Setting this bit en
    * sures that, for mode register accesses generated by the uMCTL2 during th
    * e automatic initialization routine and enabling of a particular DDR4 fea
    * ture, separate A-side and B-side mode register accesses are generated. F
    * or B-side mode register accesses, these bits are inverted within the uMC
    * TL2 to compensate for this RDIMM inversion. Note: This has no effect on
    * the address of any other memory accesses, or of software-driven mode reg
    * ister accesses. - 1 - Implement output inversion for B-side DRAMs. - 0 -
    *  Do not implement output inversion for B-side DRAMs.
*/
#undef DDRC_DIMMCTL_DIMM_OUTPUT_INV_EN_DEFVAL 
#undef DDRC_DIMMCTL_DIMM_OUTPUT_INV_EN_SHIFT 
#undef DDRC_DIMMCTL_DIMM_OUTPUT_INV_EN_MASK 
#define DDRC_DIMMCTL_DIMM_OUTPUT_INV_EN_DEFVAL                 0x00000000
#define DDRC_DIMMCTL_DIMM_OUTPUT_INV_EN_SHIFT                  2
#define DDRC_DIMMCTL_DIMM_OUTPUT_INV_EN_MASK                   0x00000004U

/*
* Address Mirroring Enable (for multi-rank UDIMM implementations and multi
    * -rank DDR4 RDIMM implementations). Some UDIMMs and DDR4 RDIMMs implement
    *  address mirroring for odd ranks, which means that the following address
    * , bank address and bank group bits are swapped: (A3, A4), (A5, A6), (A7,
    *  A8), (BA0, BA1) and also (A11, A13), (BG0, BG1) for the DDR4. Setting t
    * his bit ensures that, for mode register accesses during the automatic in
    * itialization routine, these bits are swapped within the uMCTL2 to compen
    * sate for this UDIMM/RDIMM swapping. In addition to the automatic initial
    * ization routine, in case of DDR4 UDIMM/RDIMM, they are swapped during th
    * e automatic MRS access to enable/disable of a particular DDR4 feature. N
    * ote: This has no effect on the address of any other memory accesses, or
    * of software-driven mode register accesses. This is not supported for mDD
    * R, LPDDR2, LPDDR3 or LPDDR4 SDRAMs. Note: In case of x16 DDR4 DIMMs, BG1
    *  output of MRS for the odd ranks is same as BG0 because BG1 is invalid,
    * hence dimm_dis_bg_mirroring register must be set to 1. - 1 - For odd ran
    * ks, implement address mirroring for MRS commands to during initializatio
    * n and for any automatic DDR4 MRS commands (to be used if UDIMM/RDIMM imp
    * lements address mirroring) - 0 - Do not implement address mirroring
*/
#undef DDRC_DIMMCTL_DIMM_ADDR_MIRR_EN_DEFVAL 
#undef DDRC_DIMMCTL_DIMM_ADDR_MIRR_EN_SHIFT 
#undef DDRC_DIMMCTL_DIMM_ADDR_MIRR_EN_MASK 
#define DDRC_DIMMCTL_DIMM_ADDR_MIRR_EN_DEFVAL                  0x00000000
#define DDRC_DIMMCTL_DIMM_ADDR_MIRR_EN_SHIFT                   1
#define DDRC_DIMMCTL_DIMM_ADDR_MIRR_EN_MASK                    0x00000002U

/*
* Staggering enable for multi-rank accesses (for multi-rank UDIMM and RDIM
    * M implementations only). This is not supported for mDDR, LPDDR2, LPDDR3
    * or LPDDR4 SDRAMs. Note: Even if this bit is set it does not take care of
    *  software driven MR commands (via MRCTRL0/MRCTRL1), where software is re
    * sponsible to send them to seperate ranks as appropriate. - 1 - (DDR4) Se
    * nd MRS commands to each ranks seperately - 1 - (non-DDR4) Send all comma
    * nds to even and odd ranks seperately - 0 - Do not stagger accesses
*/
#undef DDRC_DIMMCTL_DIMM_STAGGER_CS_EN_DEFVAL 
#undef DDRC_DIMMCTL_DIMM_STAGGER_CS_EN_SHIFT 
#undef DDRC_DIMMCTL_DIMM_STAGGER_CS_EN_MASK 
#define DDRC_DIMMCTL_DIMM_STAGGER_CS_EN_DEFVAL                 0x00000000
#define DDRC_DIMMCTL_DIMM_STAGGER_CS_EN_SHIFT                  0
#define DDRC_DIMMCTL_DIMM_STAGGER_CS_EN_MASK                   0x00000001U

/*
* Only present for multi-rank configurations. Indicates the number of cloc
    * ks of gap in data responses when performing consecutive writes to differ
    * ent ranks. This is used to switch the delays in the PHY to match the ran
    * k requirements. This value should consider both PHY requirement and ODT
    * requirement. - PHY requirement: tphy_wrcsgap + 1 (see PHY databook for v
    * alue of tphy_wrcsgap) If CRC feature is enabled, should be increased by
    * 1. If write preamble is set to 2tCK(DDR4/LPDDR4 only), should be increas
    * ed by 1. If write postamble is set to 1.5tCK(LPDDR4 only), should be inc
    * reased by 1. - ODT requirement: The value programmed in this register ta
    * kes care of the ODT switch off timing requirement when switching ranks d
    * uring writes. For LPDDR4, the requirement is ODTLoff - ODTLon - BL/2 + 1
    *  For configurations with MEMC_FREQ_RATIO=1, program this to the larger o
    * f PHY requirement or ODT requirement. For configurations with MEMC_FREQ_
    * RATIO=2, program this to the larger value divided by two and round it up
    *  to the next integer.
*/
#undef DDRC_RANKCTL_DIFF_RANK_WR_GAP_DEFVAL 
#undef DDRC_RANKCTL_DIFF_RANK_WR_GAP_SHIFT 
#undef DDRC_RANKCTL_DIFF_RANK_WR_GAP_MASK 
#define DDRC_RANKCTL_DIFF_RANK_WR_GAP_DEFVAL                   0x0000066F
#define DDRC_RANKCTL_DIFF_RANK_WR_GAP_SHIFT                    8
#define DDRC_RANKCTL_DIFF_RANK_WR_GAP_MASK                     0x00000F00U

/*
* Only present for multi-rank configurations. Indicates the number of cloc
    * ks of gap in data responses when performing consecutive reads to differe
    * nt ranks. This is used to switch the delays in the PHY to match the rank
    *  requirements. This value should consider both PHY requirement and ODT r
    * equirement. - PHY requirement: tphy_rdcsgap + 1 (see PHY databook for va
    * lue of tphy_rdcsgap) If read preamble is set to 2tCK(DDR4/LPDDR4 only),
    * should be increased by 1. If read postamble is set to 1.5tCK(LPDDR4 only
    * ), should be increased by 1. - ODT requirement: The value programmed in
    * this register takes care of the ODT switch off timing requirement when s
    * witching ranks during reads. For configurations with MEMC_FREQ_RATIO=1,
    * program this to the larger of PHY requirement or ODT requirement. For co
    * nfigurations with MEMC_FREQ_RATIO=2, program this to the larger value di
    * vided by two and round it up to the next integer.
*/
#undef DDRC_RANKCTL_DIFF_RANK_RD_GAP_DEFVAL 
#undef DDRC_RANKCTL_DIFF_RANK_RD_GAP_SHIFT 
#undef DDRC_RANKCTL_DIFF_RANK_RD_GAP_MASK 
#define DDRC_RANKCTL_DIFF_RANK_RD_GAP_DEFVAL                   0x0000066F
#define DDRC_RANKCTL_DIFF_RANK_RD_GAP_SHIFT                    4
#define DDRC_RANKCTL_DIFF_RANK_RD_GAP_MASK                     0x000000F0U

/*
* Only present for multi-rank configurations. Background: Reads to the sam
    * e rank can be performed back-to-back. Reads to different ranks require a
    * dditional gap dictated by the register RANKCTL.diff_rank_rd_gap. This is
    *  to avoid possible data bus contention as well as to give PHY enough tim
    * e to switch the delay when changing ranks. The uMCTL2 arbitrates for bus
    *  access on a cycle-by-cycle basis; therefore after a read is scheduled,
    * there are few clock cycles (determined by the value on RANKCTL.diff_rank
    * _rd_gap register) in which only reads from the same rank are eligible to
    *  be scheduled. This prevents reads from other ranks from having fair acc
    * ess to the data bus. This parameter represents the maximum number of rea
    * ds that can be scheduled consecutively to the same rank. After this numb
    * er is reached, a delay equal to RANKCTL.diff_rank_rd_gap is inserted by
    * the scheduler to allow all ranks a fair opportunity to be scheduled. Hig
    * her numbers increase bandwidth utilization, lower numbers increase fairn
    * ess. This feature can be DISABLED by setting this register to 0. When se
    * t to 0, the Controller will stay on the same rank as long as commands ar
    * e available for it. Minimum programmable value is 0 (feature disabled) a
    * nd maximum programmable value is 0xF. FOR PERFORMANCE ONLY.
*/
#undef DDRC_RANKCTL_MAX_RANK_RD_DEFVAL 
#undef DDRC_RANKCTL_MAX_RANK_RD_SHIFT 
#undef DDRC_RANKCTL_MAX_RANK_RD_MASK 
#define DDRC_RANKCTL_MAX_RANK_RD_DEFVAL                        0x0000066F
#define DDRC_RANKCTL_MAX_RANK_RD_SHIFT                         0
#define DDRC_RANKCTL_MAX_RANK_RD_MASK                          0x0000000FU

/*
* Minimum time between write and precharge to same bank. Unit: Clocks Spec
    * ifications: WL + BL/2 + tWR = approximately 8 cycles + 15 ns = 14 clocks
    *  @400MHz and less for lower frequencies where: - WL = write latency - BL
    *  = burst length. This must match the value programmed in the BL bit of t
    * he mode register to the SDRAM. BST (burst terminate) is not supported at
    *  present. - tWR = Write recovery time. This comes directly from the SDRA
    * M specification. Add one extra cycle for LPDDR2/LPDDR3/LPDDR4 for this p
    * arameter. For configurations with MEMC_FREQ_RATIO=2, 1T mode, divide the
    *  above value by 2. No rounding up. For configurations with MEMC_FREQ_RAT
    * IO=2, 2T mode or LPDDR4 mode, divide the above value by 2 and round it u
    * p to the next integer value.
*/
#undef DDRC_DRAMTMG0_WR2PRE_DEFVAL 
#undef DDRC_DRAMTMG0_WR2PRE_SHIFT 
#undef DDRC_DRAMTMG0_WR2PRE_MASK 
#define DDRC_DRAMTMG0_WR2PRE_DEFVAL                            0x0F101B0F
#define DDRC_DRAMTMG0_WR2PRE_SHIFT                             24
#define DDRC_DRAMTMG0_WR2PRE_MASK                              0x7F000000U

/*
* tFAW Valid only when 8 or more banks(or banks x bank groups) are present
    * . In 8-bank design, at most 4 banks must be activated in a rolling windo
    * w of tFAW cycles. For configurations with MEMC_FREQ_RATIO=2, program thi
    * s to (tFAW/2) and round up to next integer value. In a 4-bank design, se
    * t this register to 0x1 independent of the MEMC_FREQ_RATIO configuration.
    *  Unit: Clocks
*/
#undef DDRC_DRAMTMG0_T_FAW_DEFVAL 
#undef DDRC_DRAMTMG0_T_FAW_SHIFT 
#undef DDRC_DRAMTMG0_T_FAW_MASK 
#define DDRC_DRAMTMG0_T_FAW_DEFVAL                             0x0F101B0F
#define DDRC_DRAMTMG0_T_FAW_SHIFT                              16
#define DDRC_DRAMTMG0_T_FAW_MASK                               0x003F0000U

/*
* tRAS(max): Maximum time between activate and precharge to same bank. Thi
    * s is the maximum time that a page can be kept open Minimum value of this
    *  register is 1. Zero is invalid. For configurations with MEMC_FREQ_RATIO
    * =2, program this to (tRAS(max)-1)/2. No rounding up. Unit: Multiples of
    * 1024 clocks.
*/
#undef DDRC_DRAMTMG0_T_RAS_MAX_DEFVAL 
#undef DDRC_DRAMTMG0_T_RAS_MAX_SHIFT 
#undef DDRC_DRAMTMG0_T_RAS_MAX_MASK 
#define DDRC_DRAMTMG0_T_RAS_MAX_DEFVAL                         0x0F101B0F
#define DDRC_DRAMTMG0_T_RAS_MAX_SHIFT                          8
#define DDRC_DRAMTMG0_T_RAS_MAX_MASK                           0x00007F00U

/*
* tRAS(min): Minimum time between activate and precharge to the same bank.
    *  For configurations with MEMC_FREQ_RATIO=2, 1T mode, program this to tRA
    * S(min)/2. No rounding up. For configurations with MEMC_FREQ_RATIO=2, 2T
    * mode or LPDDR4 mode, program this to (tRAS(min)/2) and round it up to th
    * e next integer value. Unit: Clocks
*/
#undef DDRC_DRAMTMG0_T_RAS_MIN_DEFVAL 
#undef DDRC_DRAMTMG0_T_RAS_MIN_SHIFT 
#undef DDRC_DRAMTMG0_T_RAS_MIN_MASK 
#define DDRC_DRAMTMG0_T_RAS_MIN_DEFVAL                         0x0F101B0F
#define DDRC_DRAMTMG0_T_RAS_MIN_SHIFT                          0
#define DDRC_DRAMTMG0_T_RAS_MIN_MASK                           0x0000003FU

/*
* tXP: Minimum time after power-down exit to any operation. For DDR3, this
    *  should be programmed to tXPDLL if slow powerdown exit is selected in MR
    * 0[12]. If C/A parity for DDR4 is used, set to (tXP+PL) instead. For conf
    * igurations with MEMC_FREQ_RATIO=2, program this to (tXP/2) and round it
    * up to the next integer value. Units: Clocks
*/
#undef DDRC_DRAMTMG1_T_XP_DEFVAL 
#undef DDRC_DRAMTMG1_T_XP_SHIFT 
#undef DDRC_DRAMTMG1_T_XP_MASK 
#define DDRC_DRAMTMG1_T_XP_DEFVAL                              0x00080414
#define DDRC_DRAMTMG1_T_XP_SHIFT                               16
#define DDRC_DRAMTMG1_T_XP_MASK                                0x001F0000U

/*
* tRTP: Minimum time from read to precharge of same bank. - DDR2: tAL + BL
    * /2 + max(tRTP, 2) - 2 - DDR3: tAL + max (tRTP, 4) - DDR4: Max of followi
    * ng two equations: tAL + max (tRTP, 4) or, RL + BL/2 - tRP. - mDDR: BL/2
    * - LPDDR2: Depends on if it's LPDDR2-S2 or LPDDR2-S4: LPDDR2-S2: BL/2 + t
    * RTP - 1. LPDDR2-S4: BL/2 + max(tRTP,2) - 2. - LPDDR3: BL/2 + max(tRTP,4)
    *  - 4 - LPDDR4: BL/2 + max(tRTP,8) - 8 For configurations with MEMC_FREQ_
    * RATIO=2, 1T mode, divide the above value by 2. No rounding up. For confi
    * gurations with MEMC_FREQ_RATIO=2, 2T mode or LPDDR4 mode, divide the abo
    * ve value by 2 and round it up to the next integer value. Unit: Clocks.
*/
#undef DDRC_DRAMTMG1_RD2PRE_DEFVAL 
#undef DDRC_DRAMTMG1_RD2PRE_SHIFT 
#undef DDRC_DRAMTMG1_RD2PRE_MASK 
#define DDRC_DRAMTMG1_RD2PRE_DEFVAL                            0x00080414
#define DDRC_DRAMTMG1_RD2PRE_SHIFT                             8
#define DDRC_DRAMTMG1_RD2PRE_MASK                              0x00001F00U

/*
* tRC: Minimum time between activates to same bank. For configurations wit
    * h MEMC_FREQ_RATIO=2, program this to (tRC/2) and round up to next intege
    * r value. Unit: Clocks.
*/
#undef DDRC_DRAMTMG1_T_RC_DEFVAL 
#undef DDRC_DRAMTMG1_T_RC_SHIFT 
#undef DDRC_DRAMTMG1_T_RC_MASK 
#define DDRC_DRAMTMG1_T_RC_DEFVAL                              0x00080414
#define DDRC_DRAMTMG1_T_RC_SHIFT                               0
#define DDRC_DRAMTMG1_T_RC_MASK                                0x0000007FU

/*
* Set to WL Time from write command to write data on SDRAM interface. This
    *  must be set to WL. For mDDR, it should normally be set to 1. Note that,
    *  depending on the PHY, if using RDIMM, it may be necessary to use a valu
    * e of WL + 1 to compensate for the extra cycle of latency through the RDI
    * MM For configurations with MEMC_FREQ_RATIO=2, divide the value calculate
    * d using the above equation by 2, and round it up to next integer. This r
    * egister field is not required for DDR2 and DDR3 (except if MEMC_TRAINING
    *  is set), as the DFI read and write latencies defined in DFITMG0 and DFI
    * TMG1 are sufficient for those protocols Unit: clocks
*/
#undef DDRC_DRAMTMG2_WRITE_LATENCY_DEFVAL 
#undef DDRC_DRAMTMG2_WRITE_LATENCY_SHIFT 
#undef DDRC_DRAMTMG2_WRITE_LATENCY_MASK 
#define DDRC_DRAMTMG2_WRITE_LATENCY_DEFVAL                     0x0305060D
#define DDRC_DRAMTMG2_WRITE_LATENCY_SHIFT                      24
#define DDRC_DRAMTMG2_WRITE_LATENCY_MASK                       0x3F000000U

/*
* Set to RL Time from read command to read data on SDRAM interface. This m
    * ust be set to RL. Note that, depending on the PHY, if using RDIMM, it ma
    * t be necessary to use a value of RL + 1 to compensate for the extra cycl
    * e of latency through the RDIMM For configurations with MEMC_FREQ_RATIO=2
    * , divide the value calculated using the above equation by 2, and round i
    * t up to next integer. This register field is not required for DDR2 and D
    * DR3 (except if MEMC_TRAINING is set), as the DFI read and write latencie
    * s defined in DFITMG0 and DFITMG1 are sufficient for those protocols Unit
    * : clocks
*/
#undef DDRC_DRAMTMG2_READ_LATENCY_DEFVAL 
#undef DDRC_DRAMTMG2_READ_LATENCY_SHIFT 
#undef DDRC_DRAMTMG2_READ_LATENCY_MASK 
#define DDRC_DRAMTMG2_READ_LATENCY_DEFVAL                      0x0305060D
#define DDRC_DRAMTMG2_READ_LATENCY_SHIFT                       16
#define DDRC_DRAMTMG2_READ_LATENCY_MASK                        0x003F0000U

/*
* DDR2/3/mDDR: RL + BL/2 + 2 - WL DDR4: RL + BL/2 + 1 + WR_PREAMBLE - WL L
    * PDDR2/LPDDR3: RL + BL/2 + RU(tDQSCKmax/tCK) + 1 - WL LPDDR4(DQ ODT is Di
    * sabled): RL + BL/2 + RU(tDQSCKmax/tCK) + WR_PREAMBLE + RD_POSTAMBLE - WL
    *  LPDDR4(DQ ODT is Enabled) : RL + BL/2 + RU(tDQSCKmax/tCK) + RD_POSTAMBL
    * E - ODTLon - RU(tODTon(min)/tCK) Minimum time from read command to write
    *  command. Include time for bus turnaround and all per-bank, per-rank, an
    * d global constraints. Unit: Clocks. Where: - WL = write latency - BL = b
    * urst length. This must match the value programmed in the BL bit of the m
    * ode register to the SDRAM - RL = read latency = CAS latency - WR_PREAMBL
    * E = write preamble. This is unique to DDR4 and LPDDR4. - RD_POSTAMBLE =
    * read postamble. This is unique to LPDDR4. For LPDDR2/LPDDR3/LPDDR4, if d
    * erating is enabled (DERATEEN.derate_enable=1), derated tDQSCKmax should
    * be used. For configurations with MEMC_FREQ_RATIO=2, divide the value cal
    * culated using the above equation by 2, and round it up to next integer.
*/
#undef DDRC_DRAMTMG2_RD2WR_DEFVAL 
#undef DDRC_DRAMTMG2_RD2WR_SHIFT 
#undef DDRC_DRAMTMG2_RD2WR_MASK 
#define DDRC_DRAMTMG2_RD2WR_DEFVAL                             0x0305060D
#define DDRC_DRAMTMG2_RD2WR_SHIFT                              8
#define DDRC_DRAMTMG2_RD2WR_MASK                               0x00003F00U

/*
* DDR4: CWL + PL + BL/2 + tWTR_L Others: CWL + BL/2 + tWTR In DDR4, minimu
    * m time from write command to read command for same bank group. In others
    * , minimum time from write command to read command. Includes time for bus
    *  turnaround, recovery times, and all per-bank, per-rank, and global cons
    * traints. Unit: Clocks. Where: - CWL = CAS write latency - PL = Parity la
    * tency - BL = burst length. This must match the value programmed in the B
    * L bit of the mode register to the SDRAM - tWTR_L = internal write to rea
    * d command delay for same bank group. This comes directly from the SDRAM
    * specification. - tWTR = internal write to read command delay. This comes
    *  directly from the SDRAM specification. Add one extra cycle for LPDDR2/L
    * PDDR3/LPDDR4 operation. For configurations with MEMC_FREQ_RATIO=2, divid
    * e the value calculated using the above equation by 2, and round it up to
    *  next integer.
*/
#undef DDRC_DRAMTMG2_WR2RD_DEFVAL 
#undef DDRC_DRAMTMG2_WR2RD_SHIFT 
#undef DDRC_DRAMTMG2_WR2RD_MASK 
#define DDRC_DRAMTMG2_WR2RD_DEFVAL                             0x0305060D
#define DDRC_DRAMTMG2_WR2RD_SHIFT                              0
#define DDRC_DRAMTMG2_WR2RD_MASK                               0x0000003FU

/*
* Time to wait after a mode register write or read (MRW or MRR). Present o
    * nly in designs configured to support LPDDR2, LPDDR3 or LPDDR4. LPDDR2 ty
    * pically requires value of 5. LPDDR3 typically requires value of 10. LPDD
    * R4: Set this to the larger of tMRW and tMRWCKEL. For LPDDR2, this regist
    * er is used for the time from a MRW/MRR to all other commands. For LDPDR3
    * , this register is used for the time from a MRW/MRR to a MRW/MRR.
*/
#undef DDRC_DRAMTMG3_T_MRW_DEFVAL 
#undef DDRC_DRAMTMG3_T_MRW_SHIFT 
#undef DDRC_DRAMTMG3_T_MRW_MASK 
#define DDRC_DRAMTMG3_T_MRW_DEFVAL                             0x0050400C
#define DDRC_DRAMTMG3_T_MRW_SHIFT                              20
#define DDRC_DRAMTMG3_T_MRW_MASK                               0x3FF00000U

/*
* tMRD: Cycles to wait after a mode register write or read. Depending on t
    * he connected SDRAM, tMRD represents: DDR2/mDDR: Time from MRS to any com
    * mand DDR3/4: Time from MRS to MRS command LPDDR2: not used LPDDR3/4: Tim
    * e from MRS to non-MRS command For configurations with MEMC_FREQ_RATIO=2,
    *  program this to (tMRD/2) and round it up to the next integer value. If
    * C/A parity for DDR4 is used, set to tMRD_PAR(tMOD+PL) instead.
*/
#undef DDRC_DRAMTMG3_T_MRD_DEFVAL 
#undef DDRC_DRAMTMG3_T_MRD_SHIFT 
#undef DDRC_DRAMTMG3_T_MRD_MASK 
#define DDRC_DRAMTMG3_T_MRD_DEFVAL                             0x0050400C
#define DDRC_DRAMTMG3_T_MRD_SHIFT                              12
#define DDRC_DRAMTMG3_T_MRD_MASK                               0x0003F000U

/*
* tMOD: Parameter used only in DDR3 and DDR4. Cycles between load mode com
    * mand and following non-load mode command. If C/A parity for DDR4 is used
    * , set to tMOD_PAR(tMOD+PL) instead. Set to tMOD if MEMC_FREQ_RATIO=1, or
    *  tMOD/2 (rounded up to next integer) if MEMC_FREQ_RATIO=2. Note that if
    * using RDIMM, depending on the PHY, it may be necessary to use a value of
    *  tMOD + 1 or (tMOD + 1)/2 to compensate for the extra cycle of latency a
    * pplied to mode register writes by the RDIMM chip.
*/
#undef DDRC_DRAMTMG3_T_MOD_DEFVAL 
#undef DDRC_DRAMTMG3_T_MOD_SHIFT 
#undef DDRC_DRAMTMG3_T_MOD_MASK 
#define DDRC_DRAMTMG3_T_MOD_DEFVAL                             0x0050400C
#define DDRC_DRAMTMG3_T_MOD_SHIFT                              0
#define DDRC_DRAMTMG3_T_MOD_MASK                               0x000003FFU

/*
* tRCD - tAL: Minimum time from activate to read or write command to same
    * bank. For configurations with MEMC_FREQ_RATIO=2, program this to ((tRCD
    * - tAL)/2) and round it up to the next integer value. Minimum value allow
    * ed for this register is 1, which implies minimum (tRCD - tAL) value to b
    * e 2 in configurations with MEMC_FREQ_RATIO=2. Unit: Clocks.
*/
#undef DDRC_DRAMTMG4_T_RCD_DEFVAL 
#undef DDRC_DRAMTMG4_T_RCD_SHIFT 
#undef DDRC_DRAMTMG4_T_RCD_MASK 
#define DDRC_DRAMTMG4_T_RCD_DEFVAL                             0x05040405
#define DDRC_DRAMTMG4_T_RCD_SHIFT                              24
#define DDRC_DRAMTMG4_T_RCD_MASK                               0x1F000000U

/*
* DDR4: tCCD_L: This is the minimum time between two reads or two writes f
    * or same bank group. Others: tCCD: This is the minimum time between two r
    * eads or two writes. For configurations with MEMC_FREQ_RATIO=2, program t
    * his to (tCCD_L/2 or tCCD/2) and round it up to the next integer value. U
    * nit: clocks.
*/
#undef DDRC_DRAMTMG4_T_CCD_DEFVAL 
#undef DDRC_DRAMTMG4_T_CCD_SHIFT 
#undef DDRC_DRAMTMG4_T_CCD_MASK 
#define DDRC_DRAMTMG4_T_CCD_DEFVAL                             0x05040405
#define DDRC_DRAMTMG4_T_CCD_SHIFT                              16
#define DDRC_DRAMTMG4_T_CCD_MASK                               0x000F0000U

/*
* DDR4: tRRD_L: Minimum time between activates from bank 'a' to bank 'b' f
    * or same bank group. Others: tRRD: Minimum time between activates from ba
    * nk 'a' to bank 'b'For configurations with MEMC_FREQ_RATIO=2, program thi
    * s to (tRRD_L/2 or tRRD/2) and round it up to the next integer value. Uni
    * t: Clocks.
*/
#undef DDRC_DRAMTMG4_T_RRD_DEFVAL 
#undef DDRC_DRAMTMG4_T_RRD_SHIFT 
#undef DDRC_DRAMTMG4_T_RRD_MASK 
#define DDRC_DRAMTMG4_T_RRD_DEFVAL                             0x05040405
#define DDRC_DRAMTMG4_T_RRD_SHIFT                              8
#define DDRC_DRAMTMG4_T_RRD_MASK                               0x00000F00U

/*
* tRP: Minimum time from precharge to activate of same bank. For MEMC_FREQ
    * _RATIO=1 configurations, t_rp should be set to RoundUp(tRP/tCK). For MEM
    * C_FREQ_RATIO=2 configurations, t_rp should be set to RoundDown(RoundUp(t
    * RP/tCK)/2) + 1. For MEMC_FREQ_RATIO=2 configurations in LPDDR4, t_rp sho
    * uld be set to RoundUp(RoundUp(tRP/tCK)/2). Unit: Clocks.
*/
#undef DDRC_DRAMTMG4_T_RP_DEFVAL 
#undef DDRC_DRAMTMG4_T_RP_SHIFT 
#undef DDRC_DRAMTMG4_T_RP_MASK 
#define DDRC_DRAMTMG4_T_RP_DEFVAL                              0x05040405
#define DDRC_DRAMTMG4_T_RP_SHIFT                               0
#define DDRC_DRAMTMG4_T_RP_MASK                                0x0000001FU

/*
* This is the time before Self Refresh Exit that CK is maintained as a val
    * id clock before issuing SRX. Specifies the clock stable time before SRX.
    *  Recommended settings: - mDDR: 1 - LPDDR2: 2 - LPDDR3: 2 - LPDDR4: tCKCK
    * EH - DDR2: 1 - DDR3: tCKSRX - DDR4: tCKSRX For configurations with MEMC_
    * FREQ_RATIO=2, program this to recommended value divided by two and round
    *  it up to next integer.
*/
#undef DDRC_DRAMTMG5_T_CKSRX_DEFVAL 
#undef DDRC_DRAMTMG5_T_CKSRX_SHIFT 
#undef DDRC_DRAMTMG5_T_CKSRX_MASK 
#define DDRC_DRAMTMG5_T_CKSRX_DEFVAL                           0x05050403
#define DDRC_DRAMTMG5_T_CKSRX_SHIFT                            24
#define DDRC_DRAMTMG5_T_CKSRX_MASK                             0x0F000000U

/*
* This is the time after Self Refresh Down Entry that CK is maintained as
    * a valid clock. Specifies the clock disable delay after SRE. Recommended
    * settings: - mDDR: 0 - LPDDR2: 2 - LPDDR3: 2 - LPDDR4: tCKCKEL - DDR2: 1
    * - DDR3: max (10 ns, 5 tCK) - DDR4: max (10 ns, 5 tCK) For configurations
    *  with MEMC_FREQ_RATIO=2, program this to recommended value divided by tw
    * o and round it up to next integer.
*/
#undef DDRC_DRAMTMG5_T_CKSRE_DEFVAL 
#undef DDRC_DRAMTMG5_T_CKSRE_SHIFT 
#undef DDRC_DRAMTMG5_T_CKSRE_MASK 
#define DDRC_DRAMTMG5_T_CKSRE_DEFVAL                           0x05050403
#define DDRC_DRAMTMG5_T_CKSRE_SHIFT                            16
#define DDRC_DRAMTMG5_T_CKSRE_MASK                             0x000F0000U

/*
* Minimum CKE low width for Self refresh or Self refresh power down entry
    * to exit timing in memory clock cycles. Recommended settings: - mDDR: tRF
    * C - LPDDR2: tCKESR - LPDDR3: tCKESR - LPDDR4: max(tCKELPD, tSR) - DDR2:
    * tCKE - DDR3: tCKE + 1 - DDR4: tCKE + 1 For configurations with MEMC_FREQ
    * _RATIO=2, program this to recommended value divided by two and round it
    * up to next integer.
*/
#undef DDRC_DRAMTMG5_T_CKESR_DEFVAL 
#undef DDRC_DRAMTMG5_T_CKESR_SHIFT 
#undef DDRC_DRAMTMG5_T_CKESR_MASK 
#define DDRC_DRAMTMG5_T_CKESR_DEFVAL                           0x05050403
#define DDRC_DRAMTMG5_T_CKESR_SHIFT                            8
#define DDRC_DRAMTMG5_T_CKESR_MASK                             0x00003F00U

/*
* Minimum number of cycles of CKE HIGH/LOW during power-down and self refr
    * esh. - LPDDR2/LPDDR3 mode: Set this to the larger of tCKE or tCKESR - LP
    * DDR4 mode: Set this to the larger of tCKE, tCKELPD or tSR. - Non-LPDDR2/
    * non-LPDDR3/non-LPDDR4 designs: Set this to tCKE value. For configuration
    * s with MEMC_FREQ_RATIO=2, program this to (value described above)/2 and
    * round it up to the next integer value. Unit: Clocks.
*/
#undef DDRC_DRAMTMG5_T_CKE_DEFVAL 
#undef DDRC_DRAMTMG5_T_CKE_SHIFT 
#undef DDRC_DRAMTMG5_T_CKE_MASK 
#define DDRC_DRAMTMG5_T_CKE_DEFVAL                             0x05050403
#define DDRC_DRAMTMG5_T_CKE_SHIFT                              0
#define DDRC_DRAMTMG5_T_CKE_MASK                               0x0000001FU

/*
* This is the time after Deep Power Down Entry that CK is maintained as a
    * valid clock. Specifies the clock disable delay after DPDE. Recommended s
    * ettings: - mDDR: 0 - LPDDR2: 2 - LPDDR3: 2 For configurations with MEMC_
    * FREQ_RATIO=2, program this to recommended value divided by two and round
    *  it up to next integer. This is only present for designs supporting mDDR
    *  or LPDDR2/LPDDR3 devices.
*/
#undef DDRC_DRAMTMG6_T_CKDPDE_DEFVAL 
#undef DDRC_DRAMTMG6_T_CKDPDE_SHIFT 
#undef DDRC_DRAMTMG6_T_CKDPDE_MASK 
#define DDRC_DRAMTMG6_T_CKDPDE_DEFVAL                          0x02020005
#define DDRC_DRAMTMG6_T_CKDPDE_SHIFT                           24
#define DDRC_DRAMTMG6_T_CKDPDE_MASK                            0x0F000000U

/*
* This is the time before Deep Power Down Exit that CK is maintained as a
    * valid clock before issuing DPDX. Specifies the clock stable time before
    * DPDX. Recommended settings: - mDDR: 1 - LPDDR2: 2 - LPDDR3: 2 For config
    * urations with MEMC_FREQ_RATIO=2, program this to recommended value divid
    * ed by two and round it up to next integer. This is only present for desi
    * gns supporting mDDR or LPDDR2 devices.
*/
#undef DDRC_DRAMTMG6_T_CKDPDX_DEFVAL 
#undef DDRC_DRAMTMG6_T_CKDPDX_SHIFT 
#undef DDRC_DRAMTMG6_T_CKDPDX_MASK 
#define DDRC_DRAMTMG6_T_CKDPDX_DEFVAL                          0x02020005
#define DDRC_DRAMTMG6_T_CKDPDX_SHIFT                           16
#define DDRC_DRAMTMG6_T_CKDPDX_MASK                            0x000F0000U

/*
* This is the time before Clock Stop Exit that CK is maintained as a valid
    *  clock before issuing Clock Stop Exit. Specifies the clock stable time b
    * efore next command after Clock Stop Exit. Recommended settings: - mDDR:
    * 1 - LPDDR2: tXP + 2 - LPDDR3: tXP + 2 - LPDDR4: tXP + 2 For configuratio
    * ns with MEMC_FREQ_RATIO=2, program this to recommended value divided by
    * two and round it up to next integer. This is only present for designs su
    * pporting mDDR or LPDDR2/LPDDR3/LPDDR4 devices.
*/
#undef DDRC_DRAMTMG6_T_CKCSX_DEFVAL 
#undef DDRC_DRAMTMG6_T_CKCSX_SHIFT 
#undef DDRC_DRAMTMG6_T_CKCSX_MASK 
#define DDRC_DRAMTMG6_T_CKCSX_DEFVAL                           0x02020005
#define DDRC_DRAMTMG6_T_CKCSX_SHIFT                            0
#define DDRC_DRAMTMG6_T_CKCSX_MASK                             0x0000000FU

/*
* This is the time after Power Down Entry that CK is maintained as a valid
    *  clock. Specifies the clock disable delay after PDE. Recommended setting
    * s: - mDDR: 0 - LPDDR2: 2 - LPDDR3: 2 - LPDDR4: tCKCKEL For configuration
    * s with MEMC_FREQ_RATIO=2, program this to recommended value divided by t
    * wo and round it up to next integer. This is only present for designs sup
    * porting mDDR or LPDDR2/LPDDR3/LPDDR4 devices.
*/
#undef DDRC_DRAMTMG7_T_CKPDE_DEFVAL 
#undef DDRC_DRAMTMG7_T_CKPDE_SHIFT 
#undef DDRC_DRAMTMG7_T_CKPDE_MASK 
#define DDRC_DRAMTMG7_T_CKPDE_DEFVAL                           0x00000202
#define DDRC_DRAMTMG7_T_CKPDE_SHIFT                            8
#define DDRC_DRAMTMG7_T_CKPDE_MASK                             0x00000F00U

/*
* This is the time before Power Down Exit that CK is maintained as a valid
    *  clock before issuing PDX. Specifies the clock stable time before PDX. R
    * ecommended settings: - mDDR: 0 - LPDDR2: 2 - LPDDR3: 2 - LPDDR4: 2 For c
    * onfigurations with MEMC_FREQ_RATIO=2, program this to recommended value
    * divided by two and round it up to next integer. This is only present for
    *  designs supporting mDDR or LPDDR2/LPDDR3/LPDDR4 devices.
*/
#undef DDRC_DRAMTMG7_T_CKPDX_DEFVAL 
#undef DDRC_DRAMTMG7_T_CKPDX_SHIFT 
#undef DDRC_DRAMTMG7_T_CKPDX_MASK 
#define DDRC_DRAMTMG7_T_CKPDX_DEFVAL                           0x00000202
#define DDRC_DRAMTMG7_T_CKPDX_SHIFT                            0
#define DDRC_DRAMTMG7_T_CKPDX_MASK                             0x0000000FU

/*
* tXS_FAST: Exit Self Refresh to ZQCL, ZQCS and MRS (only CL, WR, RTP and
    * Geardown mode). For configurations with MEMC_FREQ_RATIO=2, program this
    * to the above value divided by 2 and round up to next integer value. Unit
    * : Multiples of 32 clocks. Note: This is applicable to only ZQCL/ZQCS com
    * mands. Note: Ensure this is less than or equal to t_xs_x32.
*/
#undef DDRC_DRAMTMG8_T_XS_FAST_X32_DEFVAL 
#undef DDRC_DRAMTMG8_T_XS_FAST_X32_SHIFT 
#undef DDRC_DRAMTMG8_T_XS_FAST_X32_MASK 
#define DDRC_DRAMTMG8_T_XS_FAST_X32_DEFVAL                     0x03034405
#define DDRC_DRAMTMG8_T_XS_FAST_X32_SHIFT                      24
#define DDRC_DRAMTMG8_T_XS_FAST_X32_MASK                       0x7F000000U

/*
* tXS_ABORT: Exit Self Refresh to commands not requiring a locked DLL in S
    * elf Refresh Abort. For configurations with MEMC_FREQ_RATIO=2, program th
    * is to the above value divided by 2 and round up to next integer value. U
    * nit: Multiples of 32 clocks. Note: Ensure this is less than or equal to
    * t_xs_x32.
*/
#undef DDRC_DRAMTMG8_T_XS_ABORT_X32_DEFVAL 
#undef DDRC_DRAMTMG8_T_XS_ABORT_X32_SHIFT 
#undef DDRC_DRAMTMG8_T_XS_ABORT_X32_MASK 
#define DDRC_DRAMTMG8_T_XS_ABORT_X32_DEFVAL                    0x03034405
#define DDRC_DRAMTMG8_T_XS_ABORT_X32_SHIFT                     16
#define DDRC_DRAMTMG8_T_XS_ABORT_X32_MASK                      0x007F0000U

/*
* tXSDLL: Exit Self Refresh to commands requiring a locked DLL. For config
    * urations with MEMC_FREQ_RATIO=2, program this to the above value divided
    *  by 2 and round up to next integer value. Unit: Multiples of 32 clocks.
    * Note: Used only for DDR2, DDR3 and DDR4 SDRAMs.
*/
#undef DDRC_DRAMTMG8_T_XS_DLL_X32_DEFVAL 
#undef DDRC_DRAMTMG8_T_XS_DLL_X32_SHIFT 
#undef DDRC_DRAMTMG8_T_XS_DLL_X32_MASK 
#define DDRC_DRAMTMG8_T_XS_DLL_X32_DEFVAL                      0x03034405
#define DDRC_DRAMTMG8_T_XS_DLL_X32_SHIFT                       8
#define DDRC_DRAMTMG8_T_XS_DLL_X32_MASK                        0x00007F00U

/*
* tXS: Exit Self Refresh to commands not requiring a locked DLL. For confi
    * gurations with MEMC_FREQ_RATIO=2, program this to the above value divide
    * d by 2 and round up to next integer value. Unit: Multiples of 32 clocks.
    *  Note: Used only for DDR2, DDR3 and DDR4 SDRAMs.
*/
#undef DDRC_DRAMTMG8_T_XS_X32_DEFVAL 
#undef DDRC_DRAMTMG8_T_XS_X32_SHIFT 
#undef DDRC_DRAMTMG8_T_XS_X32_MASK 
#define DDRC_DRAMTMG8_T_XS_X32_DEFVAL                          0x03034405
#define DDRC_DRAMTMG8_T_XS_X32_SHIFT                           0
#define DDRC_DRAMTMG8_T_XS_X32_MASK                            0x0000007FU

/*
* DDR4 Write preamble mode - 0: 1tCK preamble - 1: 2tCK preamble Present o
    * nly with MEMC_FREQ_RATIO=2
*/
#undef DDRC_DRAMTMG9_DDR4_WR_PREAMBLE_DEFVAL 
#undef DDRC_DRAMTMG9_DDR4_WR_PREAMBLE_SHIFT 
#undef DDRC_DRAMTMG9_DDR4_WR_PREAMBLE_MASK 
#define DDRC_DRAMTMG9_DDR4_WR_PREAMBLE_DEFVAL                  0x0004040D
#define DDRC_DRAMTMG9_DDR4_WR_PREAMBLE_SHIFT                   30
#define DDRC_DRAMTMG9_DDR4_WR_PREAMBLE_MASK                    0x40000000U

/*
* tCCD_S: This is the minimum time between two reads or two writes for dif
    * ferent bank group. For bank switching (from bank 'a' to bank 'b'), the m
    * inimum time is this value + 1. For configurations with MEMC_FREQ_RATIO=2
    * , program this to (tCCD_S/2) and round it up to the next integer value.
    * Present only in designs configured to support DDR4. Unit: clocks.
*/
#undef DDRC_DRAMTMG9_T_CCD_S_DEFVAL 
#undef DDRC_DRAMTMG9_T_CCD_S_SHIFT 
#undef DDRC_DRAMTMG9_T_CCD_S_MASK 
#define DDRC_DRAMTMG9_T_CCD_S_DEFVAL                           0x0004040D
#define DDRC_DRAMTMG9_T_CCD_S_SHIFT                            16
#define DDRC_DRAMTMG9_T_CCD_S_MASK                             0x00070000U

/*
* tRRD_S: Minimum time between activates from bank 'a' to bank 'b' for dif
    * ferent bank group. For configurations with MEMC_FREQ_RATIO=2, program th
    * is to (tRRD_S/2) and round it up to the next integer value. Present only
    *  in designs configured to support DDR4. Unit: Clocks.
*/
#undef DDRC_DRAMTMG9_T_RRD_S_DEFVAL 
#undef DDRC_DRAMTMG9_T_RRD_S_SHIFT 
#undef DDRC_DRAMTMG9_T_RRD_S_MASK 
#define DDRC_DRAMTMG9_T_RRD_S_DEFVAL                           0x0004040D
#define DDRC_DRAMTMG9_T_RRD_S_SHIFT                            8
#define DDRC_DRAMTMG9_T_RRD_S_MASK                             0x00000F00U

/*
* CWL + PL + BL/2 + tWTR_S Minimum time from write command to read command
    *  for different bank group. Includes time for bus turnaround, recovery ti
    * mes, and all per-bank, per-rank, and global constraints. Present only in
    *  designs configured to support DDR4. Unit: Clocks. Where: - CWL = CAS wr
    * ite latency - PL = Parity latency - BL = burst length. This must match t
    * he value programmed in the BL bit of the mode register to the SDRAM - tW
    * TR_S = internal write to read command delay for different bank group. Th
    * is comes directly from the SDRAM specification. For configurations with
    * MEMC_FREQ_RATIO=2, divide the value calculated using the above equation
    * by 2, and round it up to next integer.
*/
#undef DDRC_DRAMTMG9_WR2RD_S_DEFVAL 
#undef DDRC_DRAMTMG9_WR2RD_S_SHIFT 
#undef DDRC_DRAMTMG9_WR2RD_S_MASK 
#define DDRC_DRAMTMG9_WR2RD_S_DEFVAL                           0x0004040D
#define DDRC_DRAMTMG9_WR2RD_S_SHIFT                            0
#define DDRC_DRAMTMG9_WR2RD_S_MASK                             0x0000003FU

/*
* tXMPDLL: This is the minimum Exit MPSM to commands requiring a locked DL
    * L. For configurations with MEMC_FREQ_RATIO=2, program this to (tXMPDLL/2
    * ) and round it up to the next integer value. Present only in designs con
    * figured to support DDR4. Unit: Multiples of 32 clocks.
*/
#undef DDRC_DRAMTMG11_POST_MPSM_GAP_X32_DEFVAL 
#undef DDRC_DRAMTMG11_POST_MPSM_GAP_X32_SHIFT 
#undef DDRC_DRAMTMG11_POST_MPSM_GAP_X32_MASK 
#define DDRC_DRAMTMG11_POST_MPSM_GAP_X32_DEFVAL                0x440C021C
#define DDRC_DRAMTMG11_POST_MPSM_GAP_X32_SHIFT                 24
#define DDRC_DRAMTMG11_POST_MPSM_GAP_X32_MASK                  0x7F000000U

/*
* tMPX_LH: This is the minimum CS_n Low hold time to CKE rising edge. For
    * configurations with MEMC_FREQ_RATIO=2, program this to RoundUp(tMPX_LH/2
    * )+1. Present only in designs configured to support DDR4. Unit: clocks.
*/
#undef DDRC_DRAMTMG11_T_MPX_LH_DEFVAL 
#undef DDRC_DRAMTMG11_T_MPX_LH_SHIFT 
#undef DDRC_DRAMTMG11_T_MPX_LH_MASK 
#define DDRC_DRAMTMG11_T_MPX_LH_DEFVAL                         0x440C021C
#define DDRC_DRAMTMG11_T_MPX_LH_SHIFT                          16
#define DDRC_DRAMTMG11_T_MPX_LH_MASK                           0x001F0000U

/*
* tMPX_S: Minimum time CS setup time to CKE. For configurations with MEMC_
    * FREQ_RATIO=2, program this to (tMPX_S/2) and round it up to the next int
    * eger value. Present only in designs configured to support DDR4. Unit: Cl
    * ocks.
*/
#undef DDRC_DRAMTMG11_T_MPX_S_DEFVAL 
#undef DDRC_DRAMTMG11_T_MPX_S_SHIFT 
#undef DDRC_DRAMTMG11_T_MPX_S_MASK 
#define DDRC_DRAMTMG11_T_MPX_S_DEFVAL                          0x440C021C
#define DDRC_DRAMTMG11_T_MPX_S_SHIFT                           8
#define DDRC_DRAMTMG11_T_MPX_S_MASK                            0x00000300U

/*
* tCKMPE: Minimum valid clock requirement after MPSM entry. Present only i
    * n designs configured to support DDR4. Unit: Clocks. For configurations w
    * ith MEMC_FREQ_RATIO=2, divide the value calculated using the above equat
    * ion by 2, and round it up to next integer.
*/
#undef DDRC_DRAMTMG11_T_CKMPE_DEFVAL 
#undef DDRC_DRAMTMG11_T_CKMPE_SHIFT 
#undef DDRC_DRAMTMG11_T_CKMPE_MASK 
#define DDRC_DRAMTMG11_T_CKMPE_DEFVAL                          0x440C021C
#define DDRC_DRAMTMG11_T_CKMPE_SHIFT                           0
#define DDRC_DRAMTMG11_T_CKMPE_MASK                            0x0000001FU

/*
* tCMDCKE: Delay from valid command to CKE input LOW. Set this to the larg
    * er of tESCKE or tCMDCKE For configurations with MEMC_FREQ_RATIO=2, progr
    * am this to (max(tESCKE, tCMDCKE)/2) and round it up to next integer valu
    * e.
*/
#undef DDRC_DRAMTMG12_T_CMDCKE_DEFVAL 
#undef DDRC_DRAMTMG12_T_CMDCKE_SHIFT 
#undef DDRC_DRAMTMG12_T_CMDCKE_MASK 
#define DDRC_DRAMTMG12_T_CMDCKE_DEFVAL                         0x00020610
#define DDRC_DRAMTMG12_T_CMDCKE_SHIFT                          16
#define DDRC_DRAMTMG12_T_CMDCKE_MASK                           0x00030000U

/*
* tCKEHCMD: Valid command requirement after CKE input HIGH. For configurat
    * ions with MEMC_FREQ_RATIO=2, program this to (tCKEHCMD/2) and round it u
    * p to next integer value.
*/
#undef DDRC_DRAMTMG12_T_CKEHCMD_DEFVAL 
#undef DDRC_DRAMTMG12_T_CKEHCMD_SHIFT 
#undef DDRC_DRAMTMG12_T_CKEHCMD_MASK 
#define DDRC_DRAMTMG12_T_CKEHCMD_DEFVAL                        0x00020610
#define DDRC_DRAMTMG12_T_CKEHCMD_SHIFT                         8
#define DDRC_DRAMTMG12_T_CKEHCMD_MASK                          0x00000F00U

/*
* tMRD_PDA: This is the Mode Register Set command cycle time in PDA mode.
    * For configurations with MEMC_FREQ_RATIO=2, program this to (tMRD_PDA/2)
    * and round it up to next integer value.
*/
#undef DDRC_DRAMTMG12_T_MRD_PDA_DEFVAL 
#undef DDRC_DRAMTMG12_T_MRD_PDA_SHIFT 
#undef DDRC_DRAMTMG12_T_MRD_PDA_MASK 
#define DDRC_DRAMTMG12_T_MRD_PDA_DEFVAL                        0x00020610
#define DDRC_DRAMTMG12_T_MRD_PDA_SHIFT                         0
#define DDRC_DRAMTMG12_T_MRD_PDA_MASK                          0x0000001FU

/*
* - 1 - Disable uMCTL2 generation of ZQCS/MPC(ZQ calibration) command. Reg
    * ister DBGCMD.zq_calib_short can be used instead to issue ZQ calibration
    * request from APB module. - 0 - Internally generate ZQCS/MPC(ZQ calibrati
    * on) commands based on ZQCTL1.t_zq_short_interval_x1024. This is only pre
    * sent for designs supporting DDR3/DDR4 or LPDDR2/LPDDR3/LPDDR4 devices.
*/
#undef DDRC_ZQCTL0_DIS_AUTO_ZQ_DEFVAL 
#undef DDRC_ZQCTL0_DIS_AUTO_ZQ_SHIFT 
#undef DDRC_ZQCTL0_DIS_AUTO_ZQ_MASK 
#define DDRC_ZQCTL0_DIS_AUTO_ZQ_DEFVAL                         0x02000040
#define DDRC_ZQCTL0_DIS_AUTO_ZQ_SHIFT                          31
#define DDRC_ZQCTL0_DIS_AUTO_ZQ_MASK                           0x80000000U

/*
* - 1 - Disable issuing of ZQCL/MPC(ZQ calibration) command at Self-Refres
    * h/SR-Powerdown exit. Only applicable when run in DDR3 or DDR4 or LPDDR2
    * or LPDDR3 or LPDDR4 mode. - 0 - Enable issuing of ZQCL/MPC(ZQ calibratio
    * n) command at Self-Refresh/SR-Powerdown exit. Only applicable when run i
    * n DDR3 or DDR4 or LPDDR2 or LPDDR3 or LPDDR4 mode. This is only present
    * for designs supporting DDR3/DDR4 or LPDDR2/LPDDR3/LPDDR4 devices.
*/
#undef DDRC_ZQCTL0_DIS_SRX_ZQCL_DEFVAL 
#undef DDRC_ZQCTL0_DIS_SRX_ZQCL_SHIFT 
#undef DDRC_ZQCTL0_DIS_SRX_ZQCL_MASK 
#define DDRC_ZQCTL0_DIS_SRX_ZQCL_DEFVAL                        0x02000040
#define DDRC_ZQCTL0_DIS_SRX_ZQCL_SHIFT                         30
#define DDRC_ZQCTL0_DIS_SRX_ZQCL_MASK                          0x40000000U

/*
* - 1 - Denotes that ZQ resistor is shared between ranks. Means ZQinit/ZQC
    * L/ZQCS/MPC(ZQ calibration) commands are sent to one rank at a time with
    * tZQinit/tZQCL/tZQCS/tZQCAL/tZQLAT timing met between commands so that co
    * mmands to different ranks do not overlap. - 0 - ZQ resistor is not share
    * d. This is only present for designs supporting DDR3/DDR4 or LPDDR2/LPDDR
    * 3/LPDDR4 devices.
*/
#undef DDRC_ZQCTL0_ZQ_RESISTOR_SHARED_DEFVAL 
#undef DDRC_ZQCTL0_ZQ_RESISTOR_SHARED_SHIFT 
#undef DDRC_ZQCTL0_ZQ_RESISTOR_SHARED_MASK 
#define DDRC_ZQCTL0_ZQ_RESISTOR_SHARED_DEFVAL                  0x02000040
#define DDRC_ZQCTL0_ZQ_RESISTOR_SHARED_SHIFT                   29
#define DDRC_ZQCTL0_ZQ_RESISTOR_SHARED_MASK                    0x20000000U

/*
* - 1 - Disable issuing of ZQCL command at Maximum Power Saving Mode exit.
    *  Only applicable when run in DDR4 mode. - 0 - Enable issuing of ZQCL com
    * mand at Maximum Power Saving Mode exit. Only applicable when run in DDR4
    *  mode. This is only present for designs supporting DDR4 devices.
*/
#undef DDRC_ZQCTL0_DIS_MPSMX_ZQCL_DEFVAL 
#undef DDRC_ZQCTL0_DIS_MPSMX_ZQCL_SHIFT 
#undef DDRC_ZQCTL0_DIS_MPSMX_ZQCL_MASK 
#define DDRC_ZQCTL0_DIS_MPSMX_ZQCL_DEFVAL                      0x02000040
#define DDRC_ZQCTL0_DIS_MPSMX_ZQCL_SHIFT                       28
#define DDRC_ZQCTL0_DIS_MPSMX_ZQCL_MASK                        0x10000000U

/*
* tZQoper for DDR3/DDR4, tZQCL for LPDDR2/LPDDR3, tZQCAL for LPDDR4: Numbe
    * r of cycles of NOP required after a ZQCL (ZQ calibration long)/MPC(ZQ St
    * art) command is issued to SDRAM. For configurations with MEMC_FREQ_RATIO
    * =2: DDR3/DDR4: program this to tZQoper/2 and round it up to the next int
    * eger value. LPDDR2/LPDDR3: program this to tZQCL/2 and round it up to th
    * e next integer value. LPDDR4: program this to tZQCAL/2 and round it up t
    * o the next integer value. Unit: Clock cycles. This is only present for d
    * esigns supporting DDR3/DDR4 or LPDDR2/LPDDR3/LPDDR4 devices.
*/
#undef DDRC_ZQCTL0_T_ZQ_LONG_NOP_DEFVAL 
#undef DDRC_ZQCTL0_T_ZQ_LONG_NOP_SHIFT 
#undef DDRC_ZQCTL0_T_ZQ_LONG_NOP_MASK 
#define DDRC_ZQCTL0_T_ZQ_LONG_NOP_DEFVAL                       0x02000040
#define DDRC_ZQCTL0_T_ZQ_LONG_NOP_SHIFT                        16
#define DDRC_ZQCTL0_T_ZQ_LONG_NOP_MASK                         0x07FF0000U

/*
* tZQCS for DDR3/DD4/LPDDR2/LPDDR3, tZQLAT for LPDDR4: Number of cycles of
    *  NOP required after a ZQCS (ZQ calibration short)/MPC(ZQ Latch) command
    * is issued to SDRAM. For configurations with MEMC_FREQ_RATIO=2, program t
    * his to tZQCS/2 and round it up to the next integer value. Unit: Clock cy
    * cles. This is only present for designs supporting DDR3/DDR4 or LPDDR2/LP
    * DDR3/LPDDR4 devices.
*/
#undef DDRC_ZQCTL0_T_ZQ_SHORT_NOP_DEFVAL 
#undef DDRC_ZQCTL0_T_ZQ_SHORT_NOP_SHIFT 
#undef DDRC_ZQCTL0_T_ZQ_SHORT_NOP_MASK 
#define DDRC_ZQCTL0_T_ZQ_SHORT_NOP_DEFVAL                      0x02000040
#define DDRC_ZQCTL0_T_ZQ_SHORT_NOP_SHIFT                       0
#define DDRC_ZQCTL0_T_ZQ_SHORT_NOP_MASK                        0x000003FFU

/*
* tZQReset: Number of cycles of NOP required after a ZQReset (ZQ calibrati
    * on Reset) command is issued to SDRAM. For configurations with MEMC_FREQ_
    * RATIO=2, program this to tZQReset/2 and round it up to the next integer
    * value. Unit: Clock cycles. This is only present for designs supporting L
    * PDDR2/LPDDR3/LPDDR4 devices.
*/
#undef DDRC_ZQCTL1_T_ZQ_RESET_NOP_DEFVAL 
#undef DDRC_ZQCTL1_T_ZQ_RESET_NOP_SHIFT 
#undef DDRC_ZQCTL1_T_ZQ_RESET_NOP_MASK 
#define DDRC_ZQCTL1_T_ZQ_RESET_NOP_DEFVAL                      0x02000100
#define DDRC_ZQCTL1_T_ZQ_RESET_NOP_SHIFT                       20
#define DDRC_ZQCTL1_T_ZQ_RESET_NOP_MASK                        0x3FF00000U

/*
* Average interval to wait between automatically issuing ZQCS (ZQ calibrat
    * ion short)/MPC(ZQ calibration) commands to DDR3/DDR4/LPDDR2/LPDDR3/LPDDR
    * 4 devices. Meaningless, if ZQCTL0.dis_auto_zq=1. Unit: 1024 clock cycles
    * . This is only present for designs supporting DDR3/DDR4 or LPDDR2/LPDDR3
    * /LPDDR4 devices.
*/
#undef DDRC_ZQCTL1_T_ZQ_SHORT_INTERVAL_X1024_DEFVAL 
#undef DDRC_ZQCTL1_T_ZQ_SHORT_INTERVAL_X1024_SHIFT 
#undef DDRC_ZQCTL1_T_ZQ_SHORT_INTERVAL_X1024_MASK 
#define DDRC_ZQCTL1_T_ZQ_SHORT_INTERVAL_X1024_DEFVAL           0x02000100
#define DDRC_ZQCTL1_T_ZQ_SHORT_INTERVAL_X1024_SHIFT            0
#define DDRC_ZQCTL1_T_ZQ_SHORT_INTERVAL_X1024_MASK             0x000FFFFFU

/*
* Specifies the number of DFI clock cycles after an assertion or de-assert
    * ion of the DFI control signals that the control signals at the PHY-DRAM
    * interface reflect the assertion or de-assertion. If the DFI clock and th
    * e memory clock are not phase-aligned, this timing parameter should be ro
    * unded up to the next integer value. Note that if using RDIMM, it is nece
    * ssary to increment this parameter by RDIMM's extra cycle of latency in t
    * erms of DFI clock.
*/
#undef DDRC_DFITMG0_DFI_T_CTRL_DELAY_DEFVAL 
#undef DDRC_DFITMG0_DFI_T_CTRL_DELAY_SHIFT 
#undef DDRC_DFITMG0_DFI_T_CTRL_DELAY_MASK 
#define DDRC_DFITMG0_DFI_T_CTRL_DELAY_DEFVAL                   0x07020002
#define DDRC_DFITMG0_DFI_T_CTRL_DELAY_SHIFT                    24
#define DDRC_DFITMG0_DFI_T_CTRL_DELAY_MASK                     0x1F000000U

/*
* Defines whether dfi_rddata_en/dfi_rddata/dfi_rddata_valid is generated u
    * sing HDR or SDR values Selects whether value in DFITMG0.dfi_t_rddata_en
    * is in terms of SDR or HDR clock cycles: - 0 in terms of HDR clock cycles
    *  - 1 in terms of SDR clock cycles Refer to PHY specification for correct
    *  value.
*/
#undef DDRC_DFITMG0_DFI_RDDATA_USE_SDR_DEFVAL 
#undef DDRC_DFITMG0_DFI_RDDATA_USE_SDR_SHIFT 
#undef DDRC_DFITMG0_DFI_RDDATA_USE_SDR_MASK 
#define DDRC_DFITMG0_DFI_RDDATA_USE_SDR_DEFVAL                 0x07020002
#define DDRC_DFITMG0_DFI_RDDATA_USE_SDR_SHIFT                  23
#define DDRC_DFITMG0_DFI_RDDATA_USE_SDR_MASK                   0x00800000U

/*
* Time from the assertion of a read command on the DFI interface to the as
    * sertion of the dfi_rddata_en signal. Refer to PHY specification for corr
    * ect value. This corresponds to the DFI parameter trddata_en. Note that,
    * depending on the PHY, if using RDIMM, it may be necessary to use the val
    * ue (CL + 1) in the calculation of trddata_en. This is to compensate for
    * the extra cycle of latency through the RDIMM. Unit: Clocks
*/
#undef DDRC_DFITMG0_DFI_T_RDDATA_EN_DEFVAL 
#undef DDRC_DFITMG0_DFI_T_RDDATA_EN_SHIFT 
#undef DDRC_DFITMG0_DFI_T_RDDATA_EN_MASK 
#define DDRC_DFITMG0_DFI_T_RDDATA_EN_DEFVAL                    0x07020002
#define DDRC_DFITMG0_DFI_T_RDDATA_EN_SHIFT                     16
#define DDRC_DFITMG0_DFI_T_RDDATA_EN_MASK                      0x003F0000U

/*
* Defines whether dfi_wrdata_en/dfi_wrdata/dfi_wrdata_mask is generated us
    * ing HDR or SDR values Selects whether value in DFITMG0.dfi_tphy_wrlat is
    *  in terms of SDR or HDR clock cycles Selects whether value in DFITMG0.df
    * i_tphy_wrdata is in terms of SDR or HDR clock cycles - 0 in terms of HDR
    *  clock cycles - 1 in terms of SDR clock cycles Refer to PHY specificatio
    * n for correct value.
*/
#undef DDRC_DFITMG0_DFI_WRDATA_USE_SDR_DEFVAL 
#undef DDRC_DFITMG0_DFI_WRDATA_USE_SDR_SHIFT 
#undef DDRC_DFITMG0_DFI_WRDATA_USE_SDR_MASK 
#define DDRC_DFITMG0_DFI_WRDATA_USE_SDR_DEFVAL                 0x07020002
#define DDRC_DFITMG0_DFI_WRDATA_USE_SDR_SHIFT                  15
#define DDRC_DFITMG0_DFI_WRDATA_USE_SDR_MASK                   0x00008000U

/*
* Specifies the number of clock cycles between when dfi_wrdata_en is asser
    * ted to when the associated write data is driven on the dfi_wrdata signal
    * . This corresponds to the DFI timing parameter tphy_wrdata. Refer to PHY
    *  specification for correct value. Note, max supported value is 8. Unit:
    * Clocks
*/
#undef DDRC_DFITMG0_DFI_TPHY_WRDATA_DEFVAL 
#undef DDRC_DFITMG0_DFI_TPHY_WRDATA_SHIFT 
#undef DDRC_DFITMG0_DFI_TPHY_WRDATA_MASK 
#define DDRC_DFITMG0_DFI_TPHY_WRDATA_DEFVAL                    0x07020002
#define DDRC_DFITMG0_DFI_TPHY_WRDATA_SHIFT                     8
#define DDRC_DFITMG0_DFI_TPHY_WRDATA_MASK                      0x00003F00U

/*
* Write latency Number of clocks from the write command to write data enab
    * le (dfi_wrdata_en). This corresponds to the DFI timing parameter tphy_wr
    * lat. Refer to PHY specification for correct value.Note that, depending o
    * n the PHY, if using RDIMM, it may be necessary to use the value (CL + 1)
    *  in the calculation of tphy_wrlat. This is to compensate for the extra c
    * ycle of latency through the RDIMM.
*/
#undef DDRC_DFITMG0_DFI_TPHY_WRLAT_DEFVAL 
#undef DDRC_DFITMG0_DFI_TPHY_WRLAT_SHIFT 
#undef DDRC_DFITMG0_DFI_TPHY_WRLAT_MASK 
#define DDRC_DFITMG0_DFI_TPHY_WRLAT_DEFVAL                     0x07020002
#define DDRC_DFITMG0_DFI_TPHY_WRLAT_SHIFT                      0
#define DDRC_DFITMG0_DFI_TPHY_WRLAT_MASK                       0x0000003FU

/*
* Specifies the number of DFI PHY clocks between when the dfi_cs signal is
    *  asserted and when the associated command is driven. This field is used
    * for CAL mode, should be set to '0' or the value which matches the CAL mo
    * de register setting in the DRAM. If the PHY can add the latency for CAL
    * mode, this should be set to '0'. Valid Range: 0, 3, 4, 5, 6, and 8
*/
#undef DDRC_DFITMG1_DFI_T_CMD_LAT_DEFVAL 
#undef DDRC_DFITMG1_DFI_T_CMD_LAT_SHIFT 
#undef DDRC_DFITMG1_DFI_T_CMD_LAT_MASK 
#define DDRC_DFITMG1_DFI_T_CMD_LAT_DEFVAL                      0x00000404
#define DDRC_DFITMG1_DFI_T_CMD_LAT_SHIFT                       28
#define DDRC_DFITMG1_DFI_T_CMD_LAT_MASK                        0xF0000000U

/*
* Specifies the number of DFI PHY clocks between when the dfi_cs signal is
    *  asserted and when the associated dfi_parity_in signal is driven.
*/
#undef DDRC_DFITMG1_DFI_T_PARIN_LAT_DEFVAL 
#undef DDRC_DFITMG1_DFI_T_PARIN_LAT_SHIFT 
#undef DDRC_DFITMG1_DFI_T_PARIN_LAT_MASK 
#define DDRC_DFITMG1_DFI_T_PARIN_LAT_DEFVAL                    0x00000404
#define DDRC_DFITMG1_DFI_T_PARIN_LAT_SHIFT                     24
#define DDRC_DFITMG1_DFI_T_PARIN_LAT_MASK                      0x03000000U

/*
* Specifies the number of DFI clocks between when the dfi_wrdata_en signal
    *  is asserted and when the corresponding write data transfer is completed
    *  on the DRAM bus. This corresponds to the DFI timing parameter twrdata_d
    * elay. Refer to PHY specification for correct value. For DFI 3.0 PHY, set
    *  to twrdata_delay, a new timing parameter introduced in DFI 3.0. For DFI
    *  2.1 PHY, set to tphy_wrdata + (delay of DFI write data to the DRAM). Va
    * lue to be programmed is in terms of DFI clocks, not PHY clocks. In FREQ_
    * RATIO=2, divide PHY's value by 2 and round up to next integer. If using
    * DFITMG0.dfi_wrdata_use_sdr=1, add 1 to the value. Unit: Clocks
*/
#undef DDRC_DFITMG1_DFI_T_WRDATA_DELAY_DEFVAL 
#undef DDRC_DFITMG1_DFI_T_WRDATA_DELAY_SHIFT 
#undef DDRC_DFITMG1_DFI_T_WRDATA_DELAY_MASK 
#define DDRC_DFITMG1_DFI_T_WRDATA_DELAY_DEFVAL                 0x00000404
#define DDRC_DFITMG1_DFI_T_WRDATA_DELAY_SHIFT                  16
#define DDRC_DFITMG1_DFI_T_WRDATA_DELAY_MASK                   0x001F0000U

/*
* Specifies the number of DFI clock cycles from the assertion of the dfi_d
    * ram_clk_disable signal on the DFI until the clock to the DRAM memory dev
    * ices, at the PHY-DRAM boundary, maintains a low value. If the DFI clock
    * and the memory clock are not phase aligned, this timing parameter should
    *  be rounded up to the next integer value.
*/
#undef DDRC_DFITMG1_DFI_T_DRAM_CLK_DISABLE_DEFVAL 
#undef DDRC_DFITMG1_DFI_T_DRAM_CLK_DISABLE_SHIFT 
#undef DDRC_DFITMG1_DFI_T_DRAM_CLK_DISABLE_MASK 
#define DDRC_DFITMG1_DFI_T_DRAM_CLK_DISABLE_DEFVAL             0x00000404
#define DDRC_DFITMG1_DFI_T_DRAM_CLK_DISABLE_SHIFT              8
#define DDRC_DFITMG1_DFI_T_DRAM_CLK_DISABLE_MASK               0x00000F00U

/*
* Specifies the number of DFI clock cycles from the de-assertion of the df
    * i_dram_clk_disable signal on the DFI until the first valid rising edge o
    * f the clock to the DRAM memory devices, at the PHY-DRAM boundary. If the
    *  DFI clock and the memory clock are not phase aligned, this timing param
    * eter should be rounded up to the next integer value.
*/
#undef DDRC_DFITMG1_DFI_T_DRAM_CLK_ENABLE_DEFVAL 
#undef DDRC_DFITMG1_DFI_T_DRAM_CLK_ENABLE_SHIFT 
#undef DDRC_DFITMG1_DFI_T_DRAM_CLK_ENABLE_MASK 
#define DDRC_DFITMG1_DFI_T_DRAM_CLK_ENABLE_DEFVAL              0x00000404
#define DDRC_DFITMG1_DFI_T_DRAM_CLK_ENABLE_SHIFT               0
#define DDRC_DFITMG1_DFI_T_DRAM_CLK_ENABLE_MASK                0x0000000FU

/*
* Setting for DFI's tlp_resp time. Same value is used for both Power Down,
    *  Self Refresh, Deep Power Down and Maximum Power Saving modes. DFI 2.1 s
    * pecification onwards, recommends using a fixed value of 7 always.
*/
#undef DDRC_DFILPCFG0_DFI_TLP_RESP_DEFVAL 
#undef DDRC_DFILPCFG0_DFI_TLP_RESP_SHIFT 
#undef DDRC_DFILPCFG0_DFI_TLP_RESP_MASK 
#define DDRC_DFILPCFG0_DFI_TLP_RESP_DEFVAL                     0x07000000
#define DDRC_DFILPCFG0_DFI_TLP_RESP_SHIFT                      24
#define DDRC_DFILPCFG0_DFI_TLP_RESP_MASK                       0x0F000000U

/*
* Value to drive on dfi_lp_wakeup signal when Deep Power Down mode is ente
    * red. Determines the DFI's tlp_wakeup time: - 0x0 - 16 cycles - 0x1 - 32
    * cycles - 0x2 - 64 cycles - 0x3 - 128 cycles - 0x4 - 256 cycles - 0x5 - 5
    * 12 cycles - 0x6 - 1024 cycles - 0x7 - 2048 cycles - 0x8 - 4096 cycles -
    * 0x9 - 8192 cycles - 0xA - 16384 cycles - 0xB - 32768 cycles - 0xC - 6553
    * 6 cycles - 0xD - 131072 cycles - 0xE - 262144 cycles - 0xF - Unlimited T
    * his is only present for designs supporting mDDR or LPDDR2/LPDDR3 devices
    * .
*/
#undef DDRC_DFILPCFG0_DFI_LP_WAKEUP_DPD_DEFVAL 
#undef DDRC_DFILPCFG0_DFI_LP_WAKEUP_DPD_SHIFT 
#undef DDRC_DFILPCFG0_DFI_LP_WAKEUP_DPD_MASK 
#define DDRC_DFILPCFG0_DFI_LP_WAKEUP_DPD_DEFVAL                0x07000000
#define DDRC_DFILPCFG0_DFI_LP_WAKEUP_DPD_SHIFT                 20
#define DDRC_DFILPCFG0_DFI_LP_WAKEUP_DPD_MASK                  0x00F00000U

/*
* Enables DFI Low Power interface handshaking during Deep Power Down Entry
    * /Exit. - 0 - Disabled - 1 - Enabled This is only present for designs sup
    * porting mDDR or LPDDR2/LPDDR3 devices.
*/
#undef DDRC_DFILPCFG0_DFI_LP_EN_DPD_DEFVAL 
#undef DDRC_DFILPCFG0_DFI_LP_EN_DPD_SHIFT 
#undef DDRC_DFILPCFG0_DFI_LP_EN_DPD_MASK 
#define DDRC_DFILPCFG0_DFI_LP_EN_DPD_DEFVAL                    0x07000000
#define DDRC_DFILPCFG0_DFI_LP_EN_DPD_SHIFT                     16
#define DDRC_DFILPCFG0_DFI_LP_EN_DPD_MASK                      0x00010000U

/*
* Value to drive on dfi_lp_wakeup signal when Self Refresh mode is entered
    * . Determines the DFI's tlp_wakeup time: - 0x0 - 16 cycles - 0x1 - 32 cyc
    * les - 0x2 - 64 cycles - 0x3 - 128 cycles - 0x4 - 256 cycles - 0x5 - 512
    * cycles - 0x6 - 1024 cycles - 0x7 - 2048 cycles - 0x8 - 4096 cycles - 0x9
    *  - 8192 cycles - 0xA - 16384 cycles - 0xB - 32768 cycles - 0xC - 65536 c
    * ycles - 0xD - 131072 cycles - 0xE - 262144 cycles - 0xF - Unlimited
*/
#undef DDRC_DFILPCFG0_DFI_LP_WAKEUP_SR_DEFVAL 
#undef DDRC_DFILPCFG0_DFI_LP_WAKEUP_SR_SHIFT 
#undef DDRC_DFILPCFG0_DFI_LP_WAKEUP_SR_MASK 
#define DDRC_DFILPCFG0_DFI_LP_WAKEUP_SR_DEFVAL                 0x07000000
#define DDRC_DFILPCFG0_DFI_LP_WAKEUP_SR_SHIFT                  12
#define DDRC_DFILPCFG0_DFI_LP_WAKEUP_SR_MASK                   0x0000F000U

/*
* Enables DFI Low Power interface handshaking during Self Refresh Entry/Ex
    * it. - 0 - Disabled - 1 - Enabled
*/
#undef DDRC_DFILPCFG0_DFI_LP_EN_SR_DEFVAL 
#undef DDRC_DFILPCFG0_DFI_LP_EN_SR_SHIFT 
#undef DDRC_DFILPCFG0_DFI_LP_EN_SR_MASK 
#define DDRC_DFILPCFG0_DFI_LP_EN_SR_DEFVAL                     0x07000000
#define DDRC_DFILPCFG0_DFI_LP_EN_SR_SHIFT                      8
#define DDRC_DFILPCFG0_DFI_LP_EN_SR_MASK                       0x00000100U

/*
* Value to drive on dfi_lp_wakeup signal when Power Down mode is entered.
    * Determines the DFI's tlp_wakeup time: - 0x0 - 16 cycles - 0x1 - 32 cycle
    * s - 0x2 - 64 cycles - 0x3 - 128 cycles - 0x4 - 256 cycles - 0x5 - 512 cy
    * cles - 0x6 - 1024 cycles - 0x7 - 2048 cycles - 0x8 - 4096 cycles - 0x9 -
    *  8192 cycles - 0xA - 16384 cycles - 0xB - 32768 cycles - 0xC - 65536 cyc
    * les - 0xD - 131072 cycles - 0xE - 262144 cycles - 0xF - Unlimited
*/
#undef DDRC_DFILPCFG0_DFI_LP_WAKEUP_PD_DEFVAL 
#undef DDRC_DFILPCFG0_DFI_LP_WAKEUP_PD_SHIFT 
#undef DDRC_DFILPCFG0_DFI_LP_WAKEUP_PD_MASK 
#define DDRC_DFILPCFG0_DFI_LP_WAKEUP_PD_DEFVAL                 0x07000000
#define DDRC_DFILPCFG0_DFI_LP_WAKEUP_PD_SHIFT                  4
#define DDRC_DFILPCFG0_DFI_LP_WAKEUP_PD_MASK                   0x000000F0U

/*
* Enables DFI Low Power interface handshaking during Power Down Entry/Exit
    * . - 0 - Disabled - 1 - Enabled
*/
#undef DDRC_DFILPCFG0_DFI_LP_EN_PD_DEFVAL 
#undef DDRC_DFILPCFG0_DFI_LP_EN_PD_SHIFT 
#undef DDRC_DFILPCFG0_DFI_LP_EN_PD_MASK 
#define DDRC_DFILPCFG0_DFI_LP_EN_PD_DEFVAL                     0x07000000
#define DDRC_DFILPCFG0_DFI_LP_EN_PD_SHIFT                      0
#define DDRC_DFILPCFG0_DFI_LP_EN_PD_MASK                       0x00000001U

/*
* Value to drive on dfi_lp_wakeup signal when Maximum Power Saving Mode is
    *  entered. Determines the DFI's tlp_wakeup time: - 0x0 - 16 cycles - 0x1
    * - 32 cycles - 0x2 - 64 cycles - 0x3 - 128 cycles - 0x4 - 256 cycles - 0x
    * 5 - 512 cycles - 0x6 - 1024 cycles - 0x7 - 2048 cycles - 0x8 - 4096 cycl
    * es - 0x9 - 8192 cycles - 0xA - 16384 cycles - 0xB - 32768 cycles - 0xC -
    *  65536 cycles - 0xD - 131072 cycles - 0xE - 262144 cycles - 0xF - Unlimi
    * ted This is only present for designs supporting DDR4 devices.
*/
#undef DDRC_DFILPCFG1_DFI_LP_WAKEUP_MPSM_DEFVAL 
#undef DDRC_DFILPCFG1_DFI_LP_WAKEUP_MPSM_SHIFT 
#undef DDRC_DFILPCFG1_DFI_LP_WAKEUP_MPSM_MASK 
#define DDRC_DFILPCFG1_DFI_LP_WAKEUP_MPSM_DEFVAL               0x00000000
#define DDRC_DFILPCFG1_DFI_LP_WAKEUP_MPSM_SHIFT                4
#define DDRC_DFILPCFG1_DFI_LP_WAKEUP_MPSM_MASK                 0x000000F0U

/*
* Enables DFI Low Power interface handshaking during Maximum Power Saving
    * Mode Entry/Exit. - 0 - Disabled - 1 - Enabled This is only present for d
    * esigns supporting DDR4 devices.
*/
#undef DDRC_DFILPCFG1_DFI_LP_EN_MPSM_DEFVAL 
#undef DDRC_DFILPCFG1_DFI_LP_EN_MPSM_SHIFT 
#undef DDRC_DFILPCFG1_DFI_LP_EN_MPSM_MASK 
#define DDRC_DFILPCFG1_DFI_LP_EN_MPSM_DEFVAL                   0x00000000
#define DDRC_DFILPCFG1_DFI_LP_EN_MPSM_SHIFT                    0
#define DDRC_DFILPCFG1_DFI_LP_EN_MPSM_MASK                     0x00000001U

/*
* When '1', disable the automatic dfi_ctrlupd_req generation by the uMCTL2
    * . The core must issue the dfi_ctrlupd_req signal using register reg_ddrc
    * _ctrlupd. When '0', uMCTL2 issues dfi_ctrlupd_req periodically.
*/
#undef DDRC_DFIUPD0_DIS_AUTO_CTRLUPD_DEFVAL 
#undef DDRC_DFIUPD0_DIS_AUTO_CTRLUPD_SHIFT 
#undef DDRC_DFIUPD0_DIS_AUTO_CTRLUPD_MASK 
#define DDRC_DFIUPD0_DIS_AUTO_CTRLUPD_DEFVAL                   0x00400003
#define DDRC_DFIUPD0_DIS_AUTO_CTRLUPD_SHIFT                    31
#define DDRC_DFIUPD0_DIS_AUTO_CTRLUPD_MASK                     0x80000000U

/*
* When '1', disable the automatic dfi_ctrlupd_req generation by the uMCTL2
    *  following a self-refresh exit. The core must issue the dfi_ctrlupd_req
    * signal using register reg_ddrc_ctrlupd. When '0', uMCTL2 issues a dfi_ct
    * rlupd_req after exiting self-refresh.
*/
#undef DDRC_DFIUPD0_DIS_AUTO_CTRLUPD_SRX_DEFVAL 
#undef DDRC_DFIUPD0_DIS_AUTO_CTRLUPD_SRX_SHIFT 
#undef DDRC_DFIUPD0_DIS_AUTO_CTRLUPD_SRX_MASK 
#define DDRC_DFIUPD0_DIS_AUTO_CTRLUPD_SRX_DEFVAL               0x00400003
#define DDRC_DFIUPD0_DIS_AUTO_CTRLUPD_SRX_SHIFT                30
#define DDRC_DFIUPD0_DIS_AUTO_CTRLUPD_SRX_MASK                 0x40000000U

/*
* Specifies the maximum number of clock cycles that the dfi_ctrlupd_req si
    * gnal can assert. Lowest value to assign to this variable is 0x40. Unit:
    * Clocks
*/
#undef DDRC_DFIUPD0_DFI_T_CTRLUP_MAX_DEFVAL 
#undef DDRC_DFIUPD0_DFI_T_CTRLUP_MAX_SHIFT 
#undef DDRC_DFIUPD0_DFI_T_CTRLUP_MAX_MASK 
#define DDRC_DFIUPD0_DFI_T_CTRLUP_MAX_DEFVAL                   0x00400003
#define DDRC_DFIUPD0_DFI_T_CTRLUP_MAX_SHIFT                    16
#define DDRC_DFIUPD0_DFI_T_CTRLUP_MAX_MASK                     0x03FF0000U

/*
* Specifies the minimum number of clock cycles that the dfi_ctrlupd_req si
    * gnal must be asserted. The uMCTL2 expects the PHY to respond within this
    *  time. If the PHY does not respond, the uMCTL2 will de-assert dfi_ctrlup
    * d_req after dfi_t_ctrlup_min + 2 cycles. Lowest value to assign to this
    * variable is 0x3. Unit: Clocks
*/
#undef DDRC_DFIUPD0_DFI_T_CTRLUP_MIN_DEFVAL 
#undef DDRC_DFIUPD0_DFI_T_CTRLUP_MIN_SHIFT 
#undef DDRC_DFIUPD0_DFI_T_CTRLUP_MIN_MASK 
#define DDRC_DFIUPD0_DFI_T_CTRLUP_MIN_DEFVAL                   0x00400003
#define DDRC_DFIUPD0_DFI_T_CTRLUP_MIN_SHIFT                    0
#define DDRC_DFIUPD0_DFI_T_CTRLUP_MIN_MASK                     0x000003FFU

/*
* This is the minimum amount of time between uMCTL2 initiated DFI update r
    * equests (which is executed whenever the uMCTL2 is idle). Set this number
    *  higher to reduce the frequency of update requests, which can have a sma
    * ll impact on the latency of the first read request when the uMCTL2 is id
    * le. Unit: 1024 clocks
*/
#undef DDRC_DFIUPD1_DFI_T_CTRLUPD_INTERVAL_MIN_X1024_DEFVAL 
#undef DDRC_DFIUPD1_DFI_T_CTRLUPD_INTERVAL_MIN_X1024_SHIFT 
#undef DDRC_DFIUPD1_DFI_T_CTRLUPD_INTERVAL_MIN_X1024_MASK 
#define DDRC_DFIUPD1_DFI_T_CTRLUPD_INTERVAL_MIN_X1024_DEFVAL   0x00000000
#define DDRC_DFIUPD1_DFI_T_CTRLUPD_INTERVAL_MIN_X1024_SHIFT    16
#define DDRC_DFIUPD1_DFI_T_CTRLUPD_INTERVAL_MIN_X1024_MASK     0x00FF0000U

/*
* This is the maximum amount of time between uMCTL2 initiated DFI update r
    * equests. This timer resets with each update request; when the timer expi
    * res dfi_ctrlupd_req is sent and traffic is blocked until the dfi_ctrlupd
    * _ackx is received. PHY can use this idle time to recalibrate the delay l
    * ines to the DLLs. The DFI controller update is also used to reset PHY FI
    * FO pointers in case of data capture errors. Updates are required to main
    * tain calibration over PVT, but frequent updates may impact performance.
    * Note: Value programmed for DFIUPD1.dfi_t_ctrlupd_interval_max_x1024 must
    *  be greater than DFIUPD1.dfi_t_ctrlupd_interval_min_x1024. Unit: 1024 cl
    * ocks
*/
#undef DDRC_DFIUPD1_DFI_T_CTRLUPD_INTERVAL_MAX_X1024_DEFVAL 
#undef DDRC_DFIUPD1_DFI_T_CTRLUPD_INTERVAL_MAX_X1024_SHIFT 
#undef DDRC_DFIUPD1_DFI_T_CTRLUPD_INTERVAL_MAX_X1024_MASK 
#define DDRC_DFIUPD1_DFI_T_CTRLUPD_INTERVAL_MAX_X1024_DEFVAL   0x00000000
#define DDRC_DFIUPD1_DFI_T_CTRLUPD_INTERVAL_MAX_X1024_SHIFT    0
#define DDRC_DFIUPD1_DFI_T_CTRLUPD_INTERVAL_MAX_X1024_MASK     0x000000FFU

/*
* Defines polarity of dfi_wrdata_cs and dfi_rddata_cs signals. - 0: Signal
    * s are active low - 1: Signals are active high
*/
#undef DDRC_DFIMISC_DFI_DATA_CS_POLARITY_DEFVAL 
#undef DDRC_DFIMISC_DFI_DATA_CS_POLARITY_SHIFT 
#undef DDRC_DFIMISC_DFI_DATA_CS_POLARITY_MASK 
#define DDRC_DFIMISC_DFI_DATA_CS_POLARITY_DEFVAL               0x00000001
#define DDRC_DFIMISC_DFI_DATA_CS_POLARITY_SHIFT                2
#define DDRC_DFIMISC_DFI_DATA_CS_POLARITY_MASK                 0x00000004U

/*
* DBI implemented in DDRC or PHY. - 0 - DDRC implements DBI functionality.
    *  - 1 - PHY implements DBI functionality. Present only in designs configu
    * red to support DDR4 and LPDDR4.
*/
#undef DDRC_DFIMISC_PHY_DBI_MODE_DEFVAL 
#undef DDRC_DFIMISC_PHY_DBI_MODE_SHIFT 
#undef DDRC_DFIMISC_PHY_DBI_MODE_MASK 
#define DDRC_DFIMISC_PHY_DBI_MODE_DEFVAL                       0x00000001
#define DDRC_DFIMISC_PHY_DBI_MODE_SHIFT                        1
#define DDRC_DFIMISC_PHY_DBI_MODE_MASK                         0x00000002U

/*
* PHY initialization complete enable signal. When asserted the dfi_init_co
    * mplete signal can be used to trigger SDRAM initialisation
*/
#undef DDRC_DFIMISC_DFI_INIT_COMPLETE_EN_DEFVAL 
#undef DDRC_DFIMISC_DFI_INIT_COMPLETE_EN_SHIFT 
#undef DDRC_DFIMISC_DFI_INIT_COMPLETE_EN_MASK 
#define DDRC_DFIMISC_DFI_INIT_COMPLETE_EN_DEFVAL               0x00000001
#define DDRC_DFIMISC_DFI_INIT_COMPLETE_EN_SHIFT                0
#define DDRC_DFIMISC_DFI_INIT_COMPLETE_EN_MASK                 0x00000001U

/*
* >Number of clocks between when a read command is sent on the DFI control
    *  interface and when the associated dfi_rddata_cs signal is asserted. Thi
    * s corresponds to the DFI timing parameter tphy_rdcslat. Refer to PHY spe
    * cification for correct value.
*/
#undef DDRC_DFITMG2_DFI_TPHY_RDCSLAT_DEFVAL 
#undef DDRC_DFITMG2_DFI_TPHY_RDCSLAT_SHIFT 
#undef DDRC_DFITMG2_DFI_TPHY_RDCSLAT_MASK 
#define DDRC_DFITMG2_DFI_TPHY_RDCSLAT_DEFVAL                   0x00000202
#define DDRC_DFITMG2_DFI_TPHY_RDCSLAT_SHIFT                    8
#define DDRC_DFITMG2_DFI_TPHY_RDCSLAT_MASK                     0x00003F00U

/*
* Number of clocks between when a write command is sent on the DFI control
    *  interface and when the associated dfi_wrdata_cs signal is asserted. Thi
    * s corresponds to the DFI timing parameter tphy_wrcslat. Refer to PHY spe
    * cification for correct value.
*/
#undef DDRC_DFITMG2_DFI_TPHY_WRCSLAT_DEFVAL 
#undef DDRC_DFITMG2_DFI_TPHY_WRCSLAT_SHIFT 
#undef DDRC_DFITMG2_DFI_TPHY_WRCSLAT_MASK 
#define DDRC_DFITMG2_DFI_TPHY_WRCSLAT_DEFVAL                   0x00000202
#define DDRC_DFITMG2_DFI_TPHY_WRCSLAT_SHIFT                    0
#define DDRC_DFITMG2_DFI_TPHY_WRCSLAT_MASK                     0x0000003FU

/*
* Read DBI enable signal in DDRC. - 0 - Read DBI is disabled. - 1 - Read D
    * BI is enabled. This signal must be set the same value as DRAM's mode reg
    * ister. - DDR4: MR5 bit A12. When x4 devices are used, this signal must b
    * e set to 0. - LPDDR4: MR3[6]
*/
#undef DDRC_DBICTL_RD_DBI_EN_DEFVAL 
#undef DDRC_DBICTL_RD_DBI_EN_SHIFT 
#undef DDRC_DBICTL_RD_DBI_EN_MASK 
#define DDRC_DBICTL_RD_DBI_EN_DEFVAL                           0x00000001
#define DDRC_DBICTL_RD_DBI_EN_SHIFT                            2
#define DDRC_DBICTL_RD_DBI_EN_MASK                             0x00000004U

/*
* Write DBI enable signal in DDRC. - 0 - Write DBI is disabled. - 1 - Writ
    * e DBI is enabled. This signal must be set the same value as DRAM's mode
    * register. - DDR4: MR5 bit A11. When x4 devices are used, this signal mus
    * t be set to 0. - LPDDR4: MR3[7]
*/
#undef DDRC_DBICTL_WR_DBI_EN_DEFVAL 
#undef DDRC_DBICTL_WR_DBI_EN_SHIFT 
#undef DDRC_DBICTL_WR_DBI_EN_MASK 
#define DDRC_DBICTL_WR_DBI_EN_DEFVAL                           0x00000001
#define DDRC_DBICTL_WR_DBI_EN_SHIFT                            1
#define DDRC_DBICTL_WR_DBI_EN_MASK                             0x00000002U

/*
* DM enable signal in DDRC. - 0 - DM is disabled. - 1 - DM is enabled. Thi
    * s signal must be set the same logical value as DRAM's mode register. - D
    * DR4: Set this to same value as MR5 bit A10. When x4 devices are used, th
    * is signal must be set to 0. - LPDDR4: Set this to inverted value of MR13
    * [5] which is opposite polarity from this signal
*/
#undef DDRC_DBICTL_DM_EN_DEFVAL 
#undef DDRC_DBICTL_DM_EN_SHIFT 
#undef DDRC_DBICTL_DM_EN_MASK 
#define DDRC_DBICTL_DM_EN_DEFVAL                               0x00000001
#define DDRC_DBICTL_DM_EN_SHIFT                                0
#define DDRC_DBICTL_DM_EN_MASK                                 0x00000001U

/*
* Selects the HIF address bit used as rank address bit 0. Valid Range: 0 t
    * o 27, and 31 Internal Base: 6 The selected HIF address bit is determined
    *  by adding the internal base to the value of this field. If set to 31, r
    * ank address bit 0 is set to 0.
*/
#undef DDRC_ADDRMAP0_ADDRMAP_CS_BIT0_DEFVAL 
#undef DDRC_ADDRMAP0_ADDRMAP_CS_BIT0_SHIFT 
#undef DDRC_ADDRMAP0_ADDRMAP_CS_BIT0_MASK 
#define DDRC_ADDRMAP0_ADDRMAP_CS_BIT0_DEFVAL                   
#define DDRC_ADDRMAP0_ADDRMAP_CS_BIT0_SHIFT                    0
#define DDRC_ADDRMAP0_ADDRMAP_CS_BIT0_MASK                     0x0000001FU

/*
* Selects the HIF address bit used as bank address bit 2. Valid Range: 0 t
    * o 29 and 31 Internal Base: 4 The selected HIF address bit is determined
    * by adding the internal base to the value of this field. If set to 31, ba
    * nk address bit 2 is set to 0.
*/
#undef DDRC_ADDRMAP1_ADDRMAP_BANK_B2_DEFVAL 
#undef DDRC_ADDRMAP1_ADDRMAP_BANK_B2_SHIFT 
#undef DDRC_ADDRMAP1_ADDRMAP_BANK_B2_MASK 
#define DDRC_ADDRMAP1_ADDRMAP_BANK_B2_DEFVAL                   0x00000000
#define DDRC_ADDRMAP1_ADDRMAP_BANK_B2_SHIFT                    16
#define DDRC_ADDRMAP1_ADDRMAP_BANK_B2_MASK                     0x001F0000U

/*
* Selects the HIF address bits used as bank address bit 1. Valid Range: 0
    * to 30 Internal Base: 3 The selected HIF address bit for each of the bank
    *  address bits is determined by adding the internal base to the value of
    * this field.
*/
#undef DDRC_ADDRMAP1_ADDRMAP_BANK_B1_DEFVAL 
#undef DDRC_ADDRMAP1_ADDRMAP_BANK_B1_SHIFT 
#undef DDRC_ADDRMAP1_ADDRMAP_BANK_B1_MASK 
#define DDRC_ADDRMAP1_ADDRMAP_BANK_B1_DEFVAL                   0x00000000
#define DDRC_ADDRMAP1_ADDRMAP_BANK_B1_SHIFT                    8
#define DDRC_ADDRMAP1_ADDRMAP_BANK_B1_MASK                     0x00001F00U

/*
* Selects the HIF address bits used as bank address bit 0. Valid Range: 0
    * to 30 Internal Base: 2 The selected HIF address bit for each of the bank
    *  address bits is determined by adding the internal base to the value of
    * this field.
*/
#undef DDRC_ADDRMAP1_ADDRMAP_BANK_B0_DEFVAL 
#undef DDRC_ADDRMAP1_ADDRMAP_BANK_B0_SHIFT 
#undef DDRC_ADDRMAP1_ADDRMAP_BANK_B0_MASK 
#define DDRC_ADDRMAP1_ADDRMAP_BANK_B0_DEFVAL                   0x00000000
#define DDRC_ADDRMAP1_ADDRMAP_BANK_B0_SHIFT                    0
#define DDRC_ADDRMAP1_ADDRMAP_BANK_B0_MASK                     0x0000001FU

/*
* - Full bus width mode: Selects the HIF address bit used as column addres
    * s bit 5. - Half bus width mode: Selects the HIF address bit used as colu
    * mn address bit 6. - Quarter bus width mode: Selects the HIF address bit
    * used as column address bit 7 . Valid Range: 0 to 7, and 15 Internal Base
    * : 5 The selected HIF address bit is determined by adding the internal ba
    * se to the value of this field. If set to 15, this column address bit is
    * set to 0.
*/
#undef DDRC_ADDRMAP2_ADDRMAP_COL_B5_DEFVAL 
#undef DDRC_ADDRMAP2_ADDRMAP_COL_B5_SHIFT 
#undef DDRC_ADDRMAP2_ADDRMAP_COL_B5_MASK 
#define DDRC_ADDRMAP2_ADDRMAP_COL_B5_DEFVAL                    0x00000000
#define DDRC_ADDRMAP2_ADDRMAP_COL_B5_SHIFT                     24
#define DDRC_ADDRMAP2_ADDRMAP_COL_B5_MASK                      0x0F000000U

/*
* - Full bus width mode: Selects the HIF address bit used as column addres
    * s bit 4. - Half bus width mode: Selects the HIF address bit used as colu
    * mn address bit 5. - Quarter bus width mode: Selects the HIF address bit
    * used as column address bit 6. Valid Range: 0 to 7, and 15 Internal Base:
    *  4 The selected HIF address bit is determined by adding the internal bas
    * e to the value of this field. If set to 15, this column address bit is s
    * et to 0.
*/
#undef DDRC_ADDRMAP2_ADDRMAP_COL_B4_DEFVAL 
#undef DDRC_ADDRMAP2_ADDRMAP_COL_B4_SHIFT 
#undef DDRC_ADDRMAP2_ADDRMAP_COL_B4_MASK 
#define DDRC_ADDRMAP2_ADDRMAP_COL_B4_DEFVAL                    0x00000000
#define DDRC_ADDRMAP2_ADDRMAP_COL_B4_SHIFT                     16
#define DDRC_ADDRMAP2_ADDRMAP_COL_B4_MASK                      0x000F0000U

/*
* - Full bus width mode: Selects the HIF address bit used as column addres
    * s bit 3. - Half bus width mode: Selects the HIF address bit used as colu
    * mn address bit 4. - Quarter bus width mode: Selects the HIF address bit
    * used as column address bit 5. Valid Range: 0 to 7 Internal Base: 3 The s
    * elected HIF address bit is determined by adding the internal base to the
    *  value of this field. Note, if UMCTL2_INCL_ARB=1 and MEMC_BURST_LENGTH=1
    * 6, it is required to program this to 0, hence register does not exist in
    *  this case.
*/
#undef DDRC_ADDRMAP2_ADDRMAP_COL_B3_DEFVAL 
#undef DDRC_ADDRMAP2_ADDRMAP_COL_B3_SHIFT 
#undef DDRC_ADDRMAP2_ADDRMAP_COL_B3_MASK 
#define DDRC_ADDRMAP2_ADDRMAP_COL_B3_DEFVAL                    0x00000000
#define DDRC_ADDRMAP2_ADDRMAP_COL_B3_SHIFT                     8
#define DDRC_ADDRMAP2_ADDRMAP_COL_B3_MASK                      0x00000F00U

/*
* - Full bus width mode: Selects the HIF address bit used as column addres
    * s bit 2. - Half bus width mode: Selects the HIF address bit used as colu
    * mn address bit 3. - Quarter bus width mode: Selects the HIF address bit
    * used as column address bit 4. Valid Range: 0 to 7 Internal Base: 2 The s
    * elected HIF address bit is determined by adding the internal base to the
    *  value of this field. Note, if UMCTL2_INCL_ARB=1 and MEMC_BURST_LENGTH=8
    *  or 16, it is required to program this to 0.
*/
#undef DDRC_ADDRMAP2_ADDRMAP_COL_B2_DEFVAL 
#undef DDRC_ADDRMAP2_ADDRMAP_COL_B2_SHIFT 
#undef DDRC_ADDRMAP2_ADDRMAP_COL_B2_MASK 
#define DDRC_ADDRMAP2_ADDRMAP_COL_B2_DEFVAL                    0x00000000
#define DDRC_ADDRMAP2_ADDRMAP_COL_B2_SHIFT                     0
#define DDRC_ADDRMAP2_ADDRMAP_COL_B2_MASK                      0x0000000FU

/*
* - Full bus width mode: Selects the HIF address bit used as column addres
    * s bit 9. - Half bus width mode: Selects the HIF address bit used as colu
    * mn address bit 11 (10 in LPDDR2/LPDDR3 mode). - Quarter bus width mode:
    * Selects the HIF address bit used as column address bit 13 (11 in LPDDR2/
    * LPDDR3 mode). Valid Range: 0 to 7, and 15 Internal Base: 9 The selected
    * HIF address bit is determined by adding the internal base to the value o
    * f this field. If set to 15, this column address bit is set to 0. Note: P
    * er JEDEC DDR2/3/mDDR specification, column address bit 10 is reserved fo
    * r indicating auto-precharge, and hence no source address bit can be mapp
    * ed to column address bit 10. In LPDDR2/LPDDR3, there is a dedicated bit
    * for auto-precharge in the CA bus and hence column bit 10 is used.
*/
#undef DDRC_ADDRMAP3_ADDRMAP_COL_B9_DEFVAL 
#undef DDRC_ADDRMAP3_ADDRMAP_COL_B9_SHIFT 
#undef DDRC_ADDRMAP3_ADDRMAP_COL_B9_MASK 
#define DDRC_ADDRMAP3_ADDRMAP_COL_B9_DEFVAL                    0x00000000
#define DDRC_ADDRMAP3_ADDRMAP_COL_B9_SHIFT                     24
#define DDRC_ADDRMAP3_ADDRMAP_COL_B9_MASK                      0x0F000000U

/*
* - Full bus width mode: Selects the HIF address bit used as column addres
    * s bit 8. - Half bus width mode: Selects the HIF address bit used as colu
    * mn address bit 9. - Quarter bus width mode: Selects the HIF address bit
    * used as column address bit 11 (10 in LPDDR2/LPDDR3 mode). Valid Range: 0
    *  to 7, and 15 Internal Base: 8 The selected HIF address bit is determine
    * d by adding the internal base to the value of this field. If set to 15,
    * this column address bit is set to 0. Note: Per JEDEC DDR2/3/mDDR specifi
    * cation, column address bit 10 is reserved for indicating auto-precharge,
    *  and hence no source address bit can be mapped to column address bit 10.
    *  In LPDDR2/LPDDR3, there is a dedicated bit for auto-precharge in the CA
    *  bus and hence column bit 10 is used.
*/
#undef DDRC_ADDRMAP3_ADDRMAP_COL_B8_DEFVAL 
#undef DDRC_ADDRMAP3_ADDRMAP_COL_B8_SHIFT 
#undef DDRC_ADDRMAP3_ADDRMAP_COL_B8_MASK 
#define DDRC_ADDRMAP3_ADDRMAP_COL_B8_DEFVAL                    0x00000000
#define DDRC_ADDRMAP3_ADDRMAP_COL_B8_SHIFT                     16
#define DDRC_ADDRMAP3_ADDRMAP_COL_B8_MASK                      0x000F0000U

/*
* - Full bus width mode: Selects the HIF address bit used as column addres
    * s bit 7. - Half bus width mode: Selects the HIF address bit used as colu
    * mn address bit 8. - Quarter bus width mode: Selects the HIF address bit
    * used as column address bit 9. Valid Range: 0 to 7, and 15 Internal Base:
    *  7 The selected HIF address bit is determined by adding the internal bas
    * e to the value of this field. If set to 15, this column address bit is s
    * et to 0.
*/
#undef DDRC_ADDRMAP3_ADDRMAP_COL_B7_DEFVAL 
#undef DDRC_ADDRMAP3_ADDRMAP_COL_B7_SHIFT 
#undef DDRC_ADDRMAP3_ADDRMAP_COL_B7_MASK 
#define DDRC_ADDRMAP3_ADDRMAP_COL_B7_DEFVAL                    0x00000000
#define DDRC_ADDRMAP3_ADDRMAP_COL_B7_SHIFT                     8
#define DDRC_ADDRMAP3_ADDRMAP_COL_B7_MASK                      0x00000F00U

/*
* - Full bus width mode: Selects the HIF address bit used as column addres
    * s bit 6. - Half bus width mode: Selects the HIF address bit used as colu
    * mn address bit 7. - Quarter bus width mode: Selects the HIF address bit
    * used as column address bit 8. Valid Range: 0 to 7, and 15 Internal Base:
    *  6 The selected HIF address bit is determined by adding the internal bas
    * e to the value of this field. If set to 15, this column address bit is s
    * et to 0.
*/
#undef DDRC_ADDRMAP3_ADDRMAP_COL_B6_DEFVAL 
#undef DDRC_ADDRMAP3_ADDRMAP_COL_B6_SHIFT 
#undef DDRC_ADDRMAP3_ADDRMAP_COL_B6_MASK 
#define DDRC_ADDRMAP3_ADDRMAP_COL_B6_DEFVAL                    0x00000000
#define DDRC_ADDRMAP3_ADDRMAP_COL_B6_SHIFT                     0
#define DDRC_ADDRMAP3_ADDRMAP_COL_B6_MASK                      0x0000000FU

/*
* - Full bus width mode: Selects the HIF address bit used as column addres
    * s bit 13 (11 in LPDDR2/LPDDR3 mode). - Half bus width mode: Unused. To m
    * ake it unused, this should be tied to 4'hF. - Quarter bus width mode: Un
    * used. To make it unused, this must be tied to 4'hF. Valid Range: 0 to 7,
    *  and 15 Internal Base: 11 The selected HIF address bit is determined by
    * adding the internal base to the value of this field. If set to 15, this
    * column address bit is set to 0. Note: Per JEDEC DDR2/3/mDDR specificatio
    * n, column address bit 10 is reserved for indicating auto-precharge, and
    * hence no source address bit can be mapped to column address bit 10. In L
    * PDDR2/LPDDR3, there is a dedicated bit for auto-precharge in the CA bus
    * and hence column bit 10 is used.
*/
#undef DDRC_ADDRMAP4_ADDRMAP_COL_B11_DEFVAL 
#undef DDRC_ADDRMAP4_ADDRMAP_COL_B11_SHIFT 
#undef DDRC_ADDRMAP4_ADDRMAP_COL_B11_MASK 
#define DDRC_ADDRMAP4_ADDRMAP_COL_B11_DEFVAL                   0x00000000
#define DDRC_ADDRMAP4_ADDRMAP_COL_B11_SHIFT                    8
#define DDRC_ADDRMAP4_ADDRMAP_COL_B11_MASK                     0x00000F00U

/*
* - Full bus width mode: Selects the HIF address bit used as column addres
    * s bit 11 (10 in LPDDR2/LPDDR3 mode). - Half bus width mode: Selects the
    * HIF address bit used as column address bit 13 (11 in LPDDR2/LPDDR3 mode)
    * . - Quarter bus width mode: UNUSED. To make it unused, this must be tied
    *  to 4'hF. Valid Range: 0 to 7, and 15 Internal Base: 10 The selected HIF
    *  address bit is determined by adding the internal base to the value of t
    * his field. If set to 15, this column address bit is set to 0. Note: Per
    * JEDEC DDR2/3/mDDR specification, column address bit 10 is reserved for i
    * ndicating auto-precharge, and hence no source address bit can be mapped
    * to column address bit 10. In LPDDR2/LPDDR3, there is a dedicated bit for
    *  auto-precharge in the CA bus and hence column bit 10 is used.
*/
#undef DDRC_ADDRMAP4_ADDRMAP_COL_B10_DEFVAL 
#undef DDRC_ADDRMAP4_ADDRMAP_COL_B10_SHIFT 
#undef DDRC_ADDRMAP4_ADDRMAP_COL_B10_MASK 
#define DDRC_ADDRMAP4_ADDRMAP_COL_B10_DEFVAL                   0x00000000
#define DDRC_ADDRMAP4_ADDRMAP_COL_B10_SHIFT                    0
#define DDRC_ADDRMAP4_ADDRMAP_COL_B10_MASK                     0x0000000FU

/*
* Selects the HIF address bit used as row address bit 11. Valid Range: 0 t
    * o 11, and 15 Internal Base: 17 The selected HIF address bit is determine
    * d by adding the internal base to the value of this field. If set to 15,
    * row address bit 11 is set to 0.
*/
#undef DDRC_ADDRMAP5_ADDRMAP_ROW_B11_DEFVAL 
#undef DDRC_ADDRMAP5_ADDRMAP_ROW_B11_SHIFT 
#undef DDRC_ADDRMAP5_ADDRMAP_ROW_B11_MASK 
#define DDRC_ADDRMAP5_ADDRMAP_ROW_B11_DEFVAL                   0x00000000
#define DDRC_ADDRMAP5_ADDRMAP_ROW_B11_SHIFT                    24
#define DDRC_ADDRMAP5_ADDRMAP_ROW_B11_MASK                     0x0F000000U

/*
* Selects the HIF address bits used as row address bits 2 to 10. Valid Ran
    * ge: 0 to 11, and 15 Internal Base: 8 (for row address bit 2), 9 (for row
    *  address bit 3), 10 (for row address bit 4) etc increasing to 16 (for ro
    * w address bit 10) The selected HIF address bit for each of the row addre
    * ss bits is determined by adding the internal base to the value of this f
    * ield. When value 15 is used the values of row address bits 2 to 10 are d
    * efined by registers ADDRMAP9, ADDRMAP10, ADDRMAP11.
*/
#undef DDRC_ADDRMAP5_ADDRMAP_ROW_B2_10_DEFVAL 
#undef DDRC_ADDRMAP5_ADDRMAP_ROW_B2_10_SHIFT 
#undef DDRC_ADDRMAP5_ADDRMAP_ROW_B2_10_MASK 
#define DDRC_ADDRMAP5_ADDRMAP_ROW_B2_10_DEFVAL                 0x00000000
#define DDRC_ADDRMAP5_ADDRMAP_ROW_B2_10_SHIFT                  16
#define DDRC_ADDRMAP5_ADDRMAP_ROW_B2_10_MASK                   0x000F0000U

/*
* Selects the HIF address bits used as row address bit 1. Valid Range: 0 t
    * o 11 Internal Base: 7 The selected HIF address bit for each of the row a
    * ddress bits is determined by adding the internal base to the value of th
    * is field.
*/
#undef DDRC_ADDRMAP5_ADDRMAP_ROW_B1_DEFVAL 
#undef DDRC_ADDRMAP5_ADDRMAP_ROW_B1_SHIFT 
#undef DDRC_ADDRMAP5_ADDRMAP_ROW_B1_MASK 
#define DDRC_ADDRMAP5_ADDRMAP_ROW_B1_DEFVAL                    0x00000000
#define DDRC_ADDRMAP5_ADDRMAP_ROW_B1_SHIFT                     8
#define DDRC_ADDRMAP5_ADDRMAP_ROW_B1_MASK                      0x00000F00U

/*
* Selects the HIF address bits used as row address bit 0. Valid Range: 0 t
    * o 11 Internal Base: 6 The selected HIF address bit for each of the row a
    * ddress bits is determined by adding the internal base to the value of th
    * is field.
*/
#undef DDRC_ADDRMAP5_ADDRMAP_ROW_B0_DEFVAL 
#undef DDRC_ADDRMAP5_ADDRMAP_ROW_B0_SHIFT 
#undef DDRC_ADDRMAP5_ADDRMAP_ROW_B0_MASK 
#define DDRC_ADDRMAP5_ADDRMAP_ROW_B0_DEFVAL                    0x00000000
#define DDRC_ADDRMAP5_ADDRMAP_ROW_B0_SHIFT                     0
#define DDRC_ADDRMAP5_ADDRMAP_ROW_B0_MASK                      0x0000000FU

/*
* Set this to 1 if there is an LPDDR3 SDRAM 6Gb or 12Gb device in use. - 1
    *  - LPDDR3 SDRAM 6Gb/12Gb device in use. Every address having row[14:13]=
    * =2'b11 is considered as invalid - 0 - non-LPDDR3 6Gb/12Gb device in use.
    *  All addresses are valid Present only in designs configured to support L
    * PDDR3.
*/
#undef DDRC_ADDRMAP6_LPDDR3_6GB_12GB_DEFVAL 
#undef DDRC_ADDRMAP6_LPDDR3_6GB_12GB_SHIFT 
#undef DDRC_ADDRMAP6_LPDDR3_6GB_12GB_MASK 
#define DDRC_ADDRMAP6_LPDDR3_6GB_12GB_DEFVAL                   0x00000000
#define DDRC_ADDRMAP6_LPDDR3_6GB_12GB_SHIFT                    31
#define DDRC_ADDRMAP6_LPDDR3_6GB_12GB_MASK                     0x80000000U

/*
* Selects the HIF address bit used as row address bit 15. Valid Range: 0 t
    * o 11, and 15 Internal Base: 21 The selected HIF address bit is determine
    * d by adding the internal base to the value of this field. If set to 15,
    * row address bit 15 is set to 0.
*/
#undef DDRC_ADDRMAP6_ADDRMAP_ROW_B15_DEFVAL 
#undef DDRC_ADDRMAP6_ADDRMAP_ROW_B15_SHIFT 
#undef DDRC_ADDRMAP6_ADDRMAP_ROW_B15_MASK 
#define DDRC_ADDRMAP6_ADDRMAP_ROW_B15_DEFVAL                   0x00000000
#define DDRC_ADDRMAP6_ADDRMAP_ROW_B15_SHIFT                    24
#define DDRC_ADDRMAP6_ADDRMAP_ROW_B15_MASK                     0x0F000000U

/*
* Selects the HIF address bit used as row address bit 14. Valid Range: 0 t
    * o 11, and 15 Internal Base: 20 The selected HIF address bit is determine
    * d by adding the internal base to the value of this field. If set to 15,
    * row address bit 14 is set to 0.
*/
#undef DDRC_ADDRMAP6_ADDRMAP_ROW_B14_DEFVAL 
#undef DDRC_ADDRMAP6_ADDRMAP_ROW_B14_SHIFT 
#undef DDRC_ADDRMAP6_ADDRMAP_ROW_B14_MASK 
#define DDRC_ADDRMAP6_ADDRMAP_ROW_B14_DEFVAL                   0x00000000
#define DDRC_ADDRMAP6_ADDRMAP_ROW_B14_SHIFT                    16
#define DDRC_ADDRMAP6_ADDRMAP_ROW_B14_MASK                     0x000F0000U

/*
* Selects the HIF address bit used as row address bit 13. Valid Range: 0 t
    * o 11, and 15 Internal Base: 19 The selected HIF address bit is determine
    * d by adding the internal base to the value of this field. If set to 15,
    * row address bit 13 is set to 0.
*/
#undef DDRC_ADDRMAP6_ADDRMAP_ROW_B13_DEFVAL 
#undef DDRC_ADDRMAP6_ADDRMAP_ROW_B13_SHIFT 
#undef DDRC_ADDRMAP6_ADDRMAP_ROW_B13_MASK 
#define DDRC_ADDRMAP6_ADDRMAP_ROW_B13_DEFVAL                   0x00000000
#define DDRC_ADDRMAP6_ADDRMAP_ROW_B13_SHIFT                    8
#define DDRC_ADDRMAP6_ADDRMAP_ROW_B13_MASK                     0x00000F00U

/*
* Selects the HIF address bit used as row address bit 12. Valid Range: 0 t
    * o 11, and 15 Internal Base: 18 The selected HIF address bit is determine
    * d by adding the internal base to the value of this field. If set to 15,
    * row address bit 12 is set to 0.
*/
#undef DDRC_ADDRMAP6_ADDRMAP_ROW_B12_DEFVAL 
#undef DDRC_ADDRMAP6_ADDRMAP_ROW_B12_SHIFT 
#undef DDRC_ADDRMAP6_ADDRMAP_ROW_B12_MASK 
#define DDRC_ADDRMAP6_ADDRMAP_ROW_B12_DEFVAL                   0x00000000
#define DDRC_ADDRMAP6_ADDRMAP_ROW_B12_SHIFT                    0
#define DDRC_ADDRMAP6_ADDRMAP_ROW_B12_MASK                     0x0000000FU

/*
* Selects the HIF address bit used as row address bit 17. Valid Range: 0 t
    * o 10, and 15 Internal Base: 23 The selected HIF address bit is determine
    * d by adding the internal base to the value of this field. If set to 15,
    * row address bit 17 is set to 0.
*/
#undef DDRC_ADDRMAP7_ADDRMAP_ROW_B17_DEFVAL 
#undef DDRC_ADDRMAP7_ADDRMAP_ROW_B17_SHIFT 
#undef DDRC_ADDRMAP7_ADDRMAP_ROW_B17_MASK 
#define DDRC_ADDRMAP7_ADDRMAP_ROW_B17_DEFVAL                   0x00000000
#define DDRC_ADDRMAP7_ADDRMAP_ROW_B17_SHIFT                    8
#define DDRC_ADDRMAP7_ADDRMAP_ROW_B17_MASK                     0x00000F00U

/*
* Selects the HIF address bit used as row address bit 16. Valid Range: 0 t
    * o 11, and 15 Internal Base: 22 The selected HIF address bit is determine
    * d by adding the internal base to the value of this field. If set to 15,
    * row address bit 16 is set to 0.
*/
#undef DDRC_ADDRMAP7_ADDRMAP_ROW_B16_DEFVAL 
#undef DDRC_ADDRMAP7_ADDRMAP_ROW_B16_SHIFT 
#undef DDRC_ADDRMAP7_ADDRMAP_ROW_B16_MASK 
#define DDRC_ADDRMAP7_ADDRMAP_ROW_B16_DEFVAL                   0x00000000
#define DDRC_ADDRMAP7_ADDRMAP_ROW_B16_SHIFT                    0
#define DDRC_ADDRMAP7_ADDRMAP_ROW_B16_MASK                     0x0000000FU

/*
* Selects the HIF address bits used as bank group address bit 1. Valid Ran
    * ge: 0 to 30, and 31 Internal Base: 3 The selected HIF address bit for ea
    * ch of the bank group address bits is determined by adding the internal b
    * ase to the value of this field. If set to 31, bank group address bit 1 i
    * s set to 0.
*/
#undef DDRC_ADDRMAP8_ADDRMAP_BG_B1_DEFVAL 
#undef DDRC_ADDRMAP8_ADDRMAP_BG_B1_SHIFT 
#undef DDRC_ADDRMAP8_ADDRMAP_BG_B1_MASK 
#define DDRC_ADDRMAP8_ADDRMAP_BG_B1_DEFVAL                     0x00000000
#define DDRC_ADDRMAP8_ADDRMAP_BG_B1_SHIFT                      8
#define DDRC_ADDRMAP8_ADDRMAP_BG_B1_MASK                       0x00001F00U

/*
* Selects the HIF address bits used as bank group address bit 0. Valid Ran
    * ge: 0 to 30 Internal Base: 2 The selected HIF address bit for each of th
    * e bank group address bits is determined by adding the internal base to t
    * he value of this field.
*/
#undef DDRC_ADDRMAP8_ADDRMAP_BG_B0_DEFVAL 
#undef DDRC_ADDRMAP8_ADDRMAP_BG_B0_SHIFT 
#undef DDRC_ADDRMAP8_ADDRMAP_BG_B0_MASK 
#define DDRC_ADDRMAP8_ADDRMAP_BG_B0_DEFVAL                     0x00000000
#define DDRC_ADDRMAP8_ADDRMAP_BG_B0_SHIFT                      0
#define DDRC_ADDRMAP8_ADDRMAP_BG_B0_MASK                       0x0000001FU

/*
* Selects the HIF address bits used as row address bit 5. Valid Range: 0 t
    * o 11 Internal Base: 11 The selected HIF address bit for each of the row
    * address bits is determined by adding the internal base to the value of t
    * his field. This register field is used only when ADDRMAP5.addrmap_row_b2
    * _10 is set to value 15.
*/
#undef DDRC_ADDRMAP9_ADDRMAP_ROW_B5_DEFVAL 
#undef DDRC_ADDRMAP9_ADDRMAP_ROW_B5_SHIFT 
#undef DDRC_ADDRMAP9_ADDRMAP_ROW_B5_MASK 
#define DDRC_ADDRMAP9_ADDRMAP_ROW_B5_DEFVAL                    0x00000000
#define DDRC_ADDRMAP9_ADDRMAP_ROW_B5_SHIFT                     24
#define DDRC_ADDRMAP9_ADDRMAP_ROW_B5_MASK                      0x0F000000U

/*
* Selects the HIF address bits used as row address bit 4. Valid Range: 0 t
    * o 11 Internal Base: 10 The selected HIF address bit for each of the row
    * address bits is determined by adding the internal base to the value of t
    * his field. This register field is used only when ADDRMAP5.addrmap_row_b2
    * _10 is set to value 15.
*/
#undef DDRC_ADDRMAP9_ADDRMAP_ROW_B4_DEFVAL 
#undef DDRC_ADDRMAP9_ADDRMAP_ROW_B4_SHIFT 
#undef DDRC_ADDRMAP9_ADDRMAP_ROW_B4_MASK 
#define DDRC_ADDRMAP9_ADDRMAP_ROW_B4_DEFVAL                    0x00000000
#define DDRC_ADDRMAP9_ADDRMAP_ROW_B4_SHIFT                     16
#define DDRC_ADDRMAP9_ADDRMAP_ROW_B4_MASK                      0x000F0000U

/*
* Selects the HIF address bits used as row address bit 3. Valid Range: 0 t
    * o 11 Internal Base: 9 The selected HIF address bit for each of the row a
    * ddress bits is determined by adding the internal base to the value of th
    * is field. This register field is used only when ADDRMAP5.addrmap_row_b2_
    * 10 is set to value 15.
*/
#undef DDRC_ADDRMAP9_ADDRMAP_ROW_B3_DEFVAL 
#undef DDRC_ADDRMAP9_ADDRMAP_ROW_B3_SHIFT 
#undef DDRC_ADDRMAP9_ADDRMAP_ROW_B3_MASK 
#define DDRC_ADDRMAP9_ADDRMAP_ROW_B3_DEFVAL                    0x00000000
#define DDRC_ADDRMAP9_ADDRMAP_ROW_B3_SHIFT                     8
#define DDRC_ADDRMAP9_ADDRMAP_ROW_B3_MASK                      0x00000F00U

/*
* Selects the HIF address bits used as row address bit 2. Valid Range: 0 t
    * o 11 Internal Base: 8 The selected HIF address bit for each of the row a
    * ddress bits is determined by adding the internal base to the value of th
    * is field. This register field is used only when ADDRMAP5.addrmap_row_b2_
    * 10 is set to value 15.
*/
#undef DDRC_ADDRMAP9_ADDRMAP_ROW_B2_DEFVAL 
#undef DDRC_ADDRMAP9_ADDRMAP_ROW_B2_SHIFT 
#undef DDRC_ADDRMAP9_ADDRMAP_ROW_B2_MASK 
#define DDRC_ADDRMAP9_ADDRMAP_ROW_B2_DEFVAL                    0x00000000
#define DDRC_ADDRMAP9_ADDRMAP_ROW_B2_SHIFT                     0
#define DDRC_ADDRMAP9_ADDRMAP_ROW_B2_MASK                      0x0000000FU

/*
* Selects the HIF address bits used as row address bit 9. Valid Range: 0 t
    * o 11 Internal Base: 15 The selected HIF address bit for each of the row
    * address bits is determined by adding the internal base to the value of t
    * his field. This register field is used only when ADDRMAP5.addrmap_row_b2
    * _10 is set to value 15.
*/
#undef DDRC_ADDRMAP10_ADDRMAP_ROW_B9_DEFVAL 
#undef DDRC_ADDRMAP10_ADDRMAP_ROW_B9_SHIFT 
#undef DDRC_ADDRMAP10_ADDRMAP_ROW_B9_MASK 
#define DDRC_ADDRMAP10_ADDRMAP_ROW_B9_DEFVAL                   0x00000000
#define DDRC_ADDRMAP10_ADDRMAP_ROW_B9_SHIFT                    24
#define DDRC_ADDRMAP10_ADDRMAP_ROW_B9_MASK                     0x0F000000U

/*
* Selects the HIF address bits used as row address bit 8. Valid Range: 0 t
    * o 11 Internal Base: 14 The selected HIF address bit for each of the row
    * address bits is determined by adding the internal base to the value of t
    * his field. This register field is used only when ADDRMAP5.addrmap_row_b2
    * _10 is set to value 15.
*/
#undef DDRC_ADDRMAP10_ADDRMAP_ROW_B8_DEFVAL 
#undef DDRC_ADDRMAP10_ADDRMAP_ROW_B8_SHIFT 
#undef DDRC_ADDRMAP10_ADDRMAP_ROW_B8_MASK 
#define DDRC_ADDRMAP10_ADDRMAP_ROW_B8_DEFVAL                   0x00000000
#define DDRC_ADDRMAP10_ADDRMAP_ROW_B8_SHIFT                    16
#define DDRC_ADDRMAP10_ADDRMAP_ROW_B8_MASK                     0x000F0000U

/*
* Selects the HIF address bits used as row address bit 7. Valid Range: 0 t
    * o 11 Internal Base: 13 The selected HIF address bit for each of the row
    * address bits is determined by adding the internal base to the value of t
    * his field. This register field is used only when ADDRMAP5.addrmap_row_b2
    * _10 is set to value 15.
*/
#undef DDRC_ADDRMAP10_ADDRMAP_ROW_B7_DEFVAL 
#undef DDRC_ADDRMAP10_ADDRMAP_ROW_B7_SHIFT 
#undef DDRC_ADDRMAP10_ADDRMAP_ROW_B7_MASK 
#define DDRC_ADDRMAP10_ADDRMAP_ROW_B7_DEFVAL                   0x00000000
#define DDRC_ADDRMAP10_ADDRMAP_ROW_B7_SHIFT                    8
#define DDRC_ADDRMAP10_ADDRMAP_ROW_B7_MASK                     0x00000F00U

/*
* Selects the HIF address bits used as row address bit 6. Valid Range: 0 t
    * o 11 Internal Base: 12 The selected HIF address bit for each of the row
    * address bits is determined by adding the internal base to the value of t
    * his field. This register field is used only when ADDRMAP5.addrmap_row_b2
    * _10 is set to value 15.
*/
#undef DDRC_ADDRMAP10_ADDRMAP_ROW_B6_DEFVAL 
#undef DDRC_ADDRMAP10_ADDRMAP_ROW_B6_SHIFT 
#undef DDRC_ADDRMAP10_ADDRMAP_ROW_B6_MASK 
#define DDRC_ADDRMAP10_ADDRMAP_ROW_B6_DEFVAL                   0x00000000
#define DDRC_ADDRMAP10_ADDRMAP_ROW_B6_SHIFT                    0
#define DDRC_ADDRMAP10_ADDRMAP_ROW_B6_MASK                     0x0000000FU

/*
* Selects the HIF address bits used as row address bit 10. Valid Range: 0
    * to 11 Internal Base: 16 The selected HIF address bit for each of the row
    *  address bits is determined by adding the internal base to the value of
    * this field. This register field is used only when ADDRMAP5.addrmap_row_b
    * 2_10 is set to value 15.
*/
#undef DDRC_ADDRMAP11_ADDRMAP_ROW_B10_DEFVAL 
#undef DDRC_ADDRMAP11_ADDRMAP_ROW_B10_SHIFT 
#undef DDRC_ADDRMAP11_ADDRMAP_ROW_B10_MASK 
#define DDRC_ADDRMAP11_ADDRMAP_ROW_B10_DEFVAL                  
#define DDRC_ADDRMAP11_ADDRMAP_ROW_B10_SHIFT                   0
#define DDRC_ADDRMAP11_ADDRMAP_ROW_B10_MASK                    0x0000000FU

/*
* Cycles to hold ODT for a write command. The minimum supported value is 2
    * . Recommended values: DDR2: - BL8: 0x5 (DDR2-400/533/667), 0x6 (DDR2-800
    * ), 0x7 (DDR2-1066) - BL4: 0x3 (DDR2-400/533/667), 0x4 (DDR2-800), 0x5 (D
    * DR2-1066) DDR3: - BL8: 0x6 DDR4: - BL8: 5 + WR_PREAMBLE + CRC_MODE WR_PR
    * EAMBLE = 1 (1tCK write preamble), 2 (2tCK write preamble) CRC_MODE = 0 (
    * not CRC mode), 1 (CRC mode) LPDDR3: - BL8: 7 + RU(tODTon(max)/tCK)
*/
#undef DDRC_ODTCFG_WR_ODT_HOLD_DEFVAL 
#undef DDRC_ODTCFG_WR_ODT_HOLD_SHIFT 
#undef DDRC_ODTCFG_WR_ODT_HOLD_MASK 
#define DDRC_ODTCFG_WR_ODT_HOLD_DEFVAL                         0x04000400
#define DDRC_ODTCFG_WR_ODT_HOLD_SHIFT                          24
#define DDRC_ODTCFG_WR_ODT_HOLD_MASK                           0x0F000000U

/*
* The delay, in clock cycles, from issuing a write command to setting ODT
    * values associated with that command. ODT setting must remain constant fo
    * r the entire time that DQS is driven by the uMCTL2. Recommended values:
    * DDR2: - CWL + AL - 3 (DDR2-400/533/667), CWL + AL - 4 (DDR2-800), CWL +
    * AL - 5 (DDR2-1066) If (CWL + AL - 3 < 0), uMCTL2 does not support ODT fo
    * r write operation. DDR3: - 0x0 DDR4: - DFITMG1.dfi_t_cmd_lat (to adjust
    * for CAL mode) LPDDR3: - WL - 1 - RU(tODTon(max)/tCK))
*/
#undef DDRC_ODTCFG_WR_ODT_DELAY_DEFVAL 
#undef DDRC_ODTCFG_WR_ODT_DELAY_SHIFT 
#undef DDRC_ODTCFG_WR_ODT_DELAY_MASK 
#define DDRC_ODTCFG_WR_ODT_DELAY_DEFVAL                        0x04000400
#define DDRC_ODTCFG_WR_ODT_DELAY_SHIFT                         16
#define DDRC_ODTCFG_WR_ODT_DELAY_MASK                          0x001F0000U

/*
* Cycles to hold ODT for a read command. The minimum supported value is 2.
    *  Recommended values: DDR2: - BL8: 0x6 (not DDR2-1066), 0x7 (DDR2-1066) -
    *  BL4: 0x4 (not DDR2-1066), 0x5 (DDR2-1066) DDR3: - BL8 - 0x6 DDR4: - BL8
    * : 5 + RD_PREAMBLE RD_PREAMBLE = 1 (1tCK write preamble), 2 (2tCK write p
    * reamble) LPDDR3: - BL8: 5 + RU(tDQSCK(max)/tCK) - RD(tDQSCK(min)/tCK) +
    * RU(tODTon(max)/tCK)
*/
#undef DDRC_ODTCFG_RD_ODT_HOLD_DEFVAL 
#undef DDRC_ODTCFG_RD_ODT_HOLD_SHIFT 
#undef DDRC_ODTCFG_RD_ODT_HOLD_MASK 
#define DDRC_ODTCFG_RD_ODT_HOLD_DEFVAL                         0x04000400
#define DDRC_ODTCFG_RD_ODT_HOLD_SHIFT                          8
#define DDRC_ODTCFG_RD_ODT_HOLD_MASK                           0x00000F00U

/*
* The delay, in clock cycles, from issuing a read command to setting ODT v
    * alues associated with that command. ODT setting must remain constant for
    *  the entire time that DQS is driven by the uMCTL2. Recommended values: D
    * DR2: - CL + AL - 4 (not DDR2-1066), CL + AL - 5 (DDR2-1066) If (CL + AL
    * - 4 < 0), uMCTL2 does not support ODT for read operation. DDR3: - CL - C
    * WL DDR4: - CL - CWL - RD_PREAMBLE + WR_PREAMBLE + DFITMG1.dfi_t_cmd_lat
    * (to adjust for CAL mode) WR_PREAMBLE = 1 (1tCK write preamble), 2 (2tCK
    * write preamble) RD_PREAMBLE = 1 (1tCK write preamble), 2 (2tCK write pre
    * amble) If (CL - CWL - RD_PREAMBLE + WR_PREAMBLE) < 0, uMCTL2 does not su
    * pport ODT for read operation. LPDDR3: - RL + RD(tDQSCK(min)/tCK) - 1 - R
    * U(tODTon(max)/tCK)
*/
#undef DDRC_ODTCFG_RD_ODT_DELAY_DEFVAL 
#undef DDRC_ODTCFG_RD_ODT_DELAY_SHIFT 
#undef DDRC_ODTCFG_RD_ODT_DELAY_MASK 
#define DDRC_ODTCFG_RD_ODT_DELAY_DEFVAL                        0x04000400
#define DDRC_ODTCFG_RD_ODT_DELAY_SHIFT                         2
#define DDRC_ODTCFG_RD_ODT_DELAY_MASK                          0x0000007CU

/*
* Indicates which remote ODTs must be turned on during a read from rank 1.
    *  Each rank has a remote ODT (in the SDRAM) which can be turned on by set
    * ting the appropriate bit here. Rank 0 is controlled by the LSB; rank 1 i
    * s controlled by bit next to the LSB, etc. For each rank, set its bit to
    * 1 to enable its ODT. Present only in configurations that have 2 or more
    * ranks
*/
#undef DDRC_ODTMAP_RANK1_RD_ODT_DEFVAL 
#undef DDRC_ODTMAP_RANK1_RD_ODT_SHIFT 
#undef DDRC_ODTMAP_RANK1_RD_ODT_MASK 
#define DDRC_ODTMAP_RANK1_RD_ODT_DEFVAL                        0x00002211
#define DDRC_ODTMAP_RANK1_RD_ODT_SHIFT                         12
#define DDRC_ODTMAP_RANK1_RD_ODT_MASK                          0x00003000U

/*
* Indicates which remote ODTs must be turned on during a write to rank 1.
    * Each rank has a remote ODT (in the SDRAM) which can be turned on by sett
    * ing the appropriate bit here. Rank 0 is controlled by the LSB; rank 1 is
    *  controlled by bit next to the LSB, etc. For each rank, set its bit to 1
    *  to enable its ODT. Present only in configurations that have 2 or more r
    * anks
*/
#undef DDRC_ODTMAP_RANK1_WR_ODT_DEFVAL 
#undef DDRC_ODTMAP_RANK1_WR_ODT_SHIFT 
#undef DDRC_ODTMAP_RANK1_WR_ODT_MASK 
#define DDRC_ODTMAP_RANK1_WR_ODT_DEFVAL                        0x00002211
#define DDRC_ODTMAP_RANK1_WR_ODT_SHIFT                         8
#define DDRC_ODTMAP_RANK1_WR_ODT_MASK                          0x00000300U

/*
* Indicates which remote ODTs must be turned on during a read from rank 0.
    *  Each rank has a remote ODT (in the SDRAM) which can be turned on by set
    * ting the appropriate bit here. Rank 0 is controlled by the LSB; rank 1 i
    * s controlled by bit next to the LSB, etc. For each rank, set its bit to
    * 1 to enable its ODT.
*/
#undef DDRC_ODTMAP_RANK0_RD_ODT_DEFVAL 
#undef DDRC_ODTMAP_RANK0_RD_ODT_SHIFT 
#undef DDRC_ODTMAP_RANK0_RD_ODT_MASK 
#define DDRC_ODTMAP_RANK0_RD_ODT_DEFVAL                        0x00002211
#define DDRC_ODTMAP_RANK0_RD_ODT_SHIFT                         4
#define DDRC_ODTMAP_RANK0_RD_ODT_MASK                          0x00000030U

/*
* Indicates which remote ODTs must be turned on during a write to rank 0.
    * Each rank has a remote ODT (in the SDRAM) which can be turned on by sett
    * ing the appropriate bit here. Rank 0 is controlled by the LSB; rank 1 is
    *  controlled by bit next to the LSB, etc. For each rank, set its bit to 1
    *  to enable its ODT.
*/
#undef DDRC_ODTMAP_RANK0_WR_ODT_DEFVAL 
#undef DDRC_ODTMAP_RANK0_WR_ODT_SHIFT 
#undef DDRC_ODTMAP_RANK0_WR_ODT_MASK 
#define DDRC_ODTMAP_RANK0_WR_ODT_DEFVAL                        0x00002211
#define DDRC_ODTMAP_RANK0_WR_ODT_SHIFT                         0
#define DDRC_ODTMAP_RANK0_WR_ODT_MASK                          0x00000003U

/*
* When the preferred transaction store is empty for these many clock cycle
    * s, switch to the alternate transaction store if it is non-empty. The rea
    * d transaction store (both high and low priority) is the default preferre
    * d transaction store and the write transaction store is the alternative s
    * tore. When prefer write over read is set this is reversed. 0x0 is a lega
    * l value for this register. When set to 0x0, the transaction store switch
    * ing will happen immediately when the switching conditions become true. F
    * OR PERFORMANCE ONLY
*/
#undef DDRC_SCHED_RDWR_IDLE_GAP_DEFVAL 
#undef DDRC_SCHED_RDWR_IDLE_GAP_SHIFT 
#undef DDRC_SCHED_RDWR_IDLE_GAP_MASK 
#define DDRC_SCHED_RDWR_IDLE_GAP_DEFVAL                        0x00002005
#define DDRC_SCHED_RDWR_IDLE_GAP_SHIFT                         24
#define DDRC_SCHED_RDWR_IDLE_GAP_MASK                          0x7F000000U

/*
* UNUSED
*/
#undef DDRC_SCHED_GO2CRITICAL_HYSTERESIS_DEFVAL 
#undef DDRC_SCHED_GO2CRITICAL_HYSTERESIS_SHIFT 
#undef DDRC_SCHED_GO2CRITICAL_HYSTERESIS_MASK 
#define DDRC_SCHED_GO2CRITICAL_HYSTERESIS_DEFVAL               0x00002005
#define DDRC_SCHED_GO2CRITICAL_HYSTERESIS_SHIFT                16
#define DDRC_SCHED_GO2CRITICAL_HYSTERESIS_MASK                 0x00FF0000U

/*
* Number of entries in the low priority transaction store is this value +
    * 1. (MEMC_NO_OF_ENTRY - (SCHED.lpr_num_entries + 1)) is the number of ent
    * ries available for the high priority transaction store. Setting this to
    * maximum value allocates all entries to low priority transaction store. S
    * etting this to 0 allocates 1 entry to low priority transaction store and
    *  the rest to high priority transaction store. Note: In ECC configuration
    * s, the numbers of write and low priority read credits issued is one less
    *  than in the non-ECC case. One entry each is reserved in the write and l
    * ow-priority read CAMs for storing the RMW requests arising out of single
    *  bit error correction RMW operation.
*/
#undef DDRC_SCHED_LPR_NUM_ENTRIES_DEFVAL 
#undef DDRC_SCHED_LPR_NUM_ENTRIES_SHIFT 
#undef DDRC_SCHED_LPR_NUM_ENTRIES_MASK 
#define DDRC_SCHED_LPR_NUM_ENTRIES_DEFVAL                      0x00002005
#define DDRC_SCHED_LPR_NUM_ENTRIES_SHIFT                       8
#define DDRC_SCHED_LPR_NUM_ENTRIES_MASK                        0x00003F00U

/*
* If true, bank is kept open only while there are page hit transactions av
    * ailable in the CAM to that bank. The last read or write command in the C
    * AM with a bank and page hit will be executed with auto-precharge if SCHE
    * D1.pageclose_timer=0. Even if this register set to 1 and SCHED1.pageclos
    * e_timer is set to 0, explicit precharge (and not auto-precharge) may be
    * issued in some cases where there is a mode switch between Write and Read
    *  or between LPR and HPR. The Read and Write commands that are executed a
    * s part of the ECC scrub requests are also executed without auto-precharg
    * e. If false, the bank remains open until there is a need to close it (to
    *  open a different page, or for page timeout or refresh timeout) - also k
    * nown as open page policy. The open page policy can be overridden by sett
    * ing the per-command-autopre bit on the HIF interface (hif_cmd_autopre).
    * The pageclose feature provids a midway between Open and Close page polic
    * ies. FOR PERFORMANCE ONLY.
*/
#undef DDRC_SCHED_PAGECLOSE_DEFVAL 
#undef DDRC_SCHED_PAGECLOSE_SHIFT 
#undef DDRC_SCHED_PAGECLOSE_MASK 
#define DDRC_SCHED_PAGECLOSE_DEFVAL                            0x00002005
#define DDRC_SCHED_PAGECLOSE_SHIFT                             2
#define DDRC_SCHED_PAGECLOSE_MASK                              0x00000004U

/*
* If set then the bank selector prefers writes over reads. FOR DEBUG ONLY.
*/
#undef DDRC_SCHED_PREFER_WRITE_DEFVAL 
#undef DDRC_SCHED_PREFER_WRITE_SHIFT 
#undef DDRC_SCHED_PREFER_WRITE_MASK 
#define DDRC_SCHED_PREFER_WRITE_DEFVAL                         0x00002005
#define DDRC_SCHED_PREFER_WRITE_SHIFT                          1
#define DDRC_SCHED_PREFER_WRITE_MASK                           0x00000002U

/*
* Active low signal. When asserted ('0'), all incoming transactions are fo
    * rced to low priority. This implies that all High Priority Read (HPR) and
    *  Variable Priority Read commands (VPR) will be treated as Low Priority R
    * ead (LPR) commands. On the write side, all Variable Priority Write (VPW)
    *  commands will be treated as Normal Priority Write (NPW) commands. Forci
    * ng the incoming transactions to low priority implicitly turns off Bypass
    *  path for read commands. FOR PERFORMANCE ONLY.
*/
#undef DDRC_SCHED_FORCE_LOW_PRI_N_DEFVAL 
#undef DDRC_SCHED_FORCE_LOW_PRI_N_SHIFT 
#undef DDRC_SCHED_FORCE_LOW_PRI_N_MASK 
#define DDRC_SCHED_FORCE_LOW_PRI_N_DEFVAL                      0x00002005
#define DDRC_SCHED_FORCE_LOW_PRI_N_SHIFT                       0
#define DDRC_SCHED_FORCE_LOW_PRI_N_MASK                        0x00000001U

/*
* Number of transactions that are serviced once the LPR queue goes critica
    * l is the smaller of: - (a) This number - (b) Number of transactions avai
    * lable. Unit: Transaction. FOR PERFORMANCE ONLY.
*/
#undef DDRC_PERFLPR1_LPR_XACT_RUN_LENGTH_DEFVAL 
#undef DDRC_PERFLPR1_LPR_XACT_RUN_LENGTH_SHIFT 
#undef DDRC_PERFLPR1_LPR_XACT_RUN_LENGTH_MASK 
#define DDRC_PERFLPR1_LPR_XACT_RUN_LENGTH_DEFVAL               0x0F00007F
#define DDRC_PERFLPR1_LPR_XACT_RUN_LENGTH_SHIFT                24
#define DDRC_PERFLPR1_LPR_XACT_RUN_LENGTH_MASK                 0xFF000000U

/*
* Number of clocks that the LPR queue can be starved before it goes critic
    * al. The minimum valid functional value for this register is 0x1. Program
    * ming it to 0x0 will disable the starvation functionality; during normal
    * operation, this function should not be disabled as it will cause excessi
    * ve latencies. Unit: Clock cycles. FOR PERFORMANCE ONLY.
*/
#undef DDRC_PERFLPR1_LPR_MAX_STARVE_DEFVAL 
#undef DDRC_PERFLPR1_LPR_MAX_STARVE_SHIFT 
#undef DDRC_PERFLPR1_LPR_MAX_STARVE_MASK 
#define DDRC_PERFLPR1_LPR_MAX_STARVE_DEFVAL                    0x0F00007F
#define DDRC_PERFLPR1_LPR_MAX_STARVE_SHIFT                     0
#define DDRC_PERFLPR1_LPR_MAX_STARVE_MASK                      0x0000FFFFU

/*
* Number of transactions that are serviced once the WR queue goes critical
    *  is the smaller of: - (a) This number - (b) Number of transactions avail
    * able. Unit: Transaction. FOR PERFORMANCE ONLY.
*/
#undef DDRC_PERFWR1_W_XACT_RUN_LENGTH_DEFVAL 
#undef DDRC_PERFWR1_W_XACT_RUN_LENGTH_SHIFT 
#undef DDRC_PERFWR1_W_XACT_RUN_LENGTH_MASK 
#define DDRC_PERFWR1_W_XACT_RUN_LENGTH_DEFVAL                  0x0F00007F
#define DDRC_PERFWR1_W_XACT_RUN_LENGTH_SHIFT                   24
#define DDRC_PERFWR1_W_XACT_RUN_LENGTH_MASK                    0xFF000000U

/*
* Number of clocks that the WR queue can be starved before it goes critica
    * l. The minimum valid functional value for this register is 0x1. Programm
    * ing it to 0x0 will disable the starvation functionality; during normal o
    * peration, this function should not be disabled as it will cause excessiv
    * e latencies. Unit: Clock cycles. FOR PERFORMANCE ONLY.
*/
#undef DDRC_PERFWR1_W_MAX_STARVE_DEFVAL 
#undef DDRC_PERFWR1_W_MAX_STARVE_SHIFT 
#undef DDRC_PERFWR1_W_MAX_STARVE_MASK 
#define DDRC_PERFWR1_W_MAX_STARVE_DEFVAL                       0x0F00007F
#define DDRC_PERFWR1_W_MAX_STARVE_SHIFT                        0
#define DDRC_PERFWR1_W_MAX_STARVE_MASK                         0x0000FFFFU

/*
* DQ nibble map for DQ bits [12-15] Present only in designs configured to
    * support DDR4.
*/
#undef DDRC_DQMAP0_DQ_NIBBLE_MAP_12_15_DEFVAL 
#undef DDRC_DQMAP0_DQ_NIBBLE_MAP_12_15_SHIFT 
#undef DDRC_DQMAP0_DQ_NIBBLE_MAP_12_15_MASK 
#define DDRC_DQMAP0_DQ_NIBBLE_MAP_12_15_DEFVAL                 0x00000000
#define DDRC_DQMAP0_DQ_NIBBLE_MAP_12_15_SHIFT                  24
#define DDRC_DQMAP0_DQ_NIBBLE_MAP_12_15_MASK                   0xFF000000U

/*
* DQ nibble map for DQ bits [8-11] Present only in designs configured to s
    * upport DDR4.
*/
#undef DDRC_DQMAP0_DQ_NIBBLE_MAP_8_11_DEFVAL 
#undef DDRC_DQMAP0_DQ_NIBBLE_MAP_8_11_SHIFT 
#undef DDRC_DQMAP0_DQ_NIBBLE_MAP_8_11_MASK 
#define DDRC_DQMAP0_DQ_NIBBLE_MAP_8_11_DEFVAL                  0x00000000
#define DDRC_DQMAP0_DQ_NIBBLE_MAP_8_11_SHIFT                   16
#define DDRC_DQMAP0_DQ_NIBBLE_MAP_8_11_MASK                    0x00FF0000U

/*
* DQ nibble map for DQ bits [4-7] Present only in designs configured to su
    * pport DDR4.
*/
#undef DDRC_DQMAP0_DQ_NIBBLE_MAP_4_7_DEFVAL 
#undef DDRC_DQMAP0_DQ_NIBBLE_MAP_4_7_SHIFT 
#undef DDRC_DQMAP0_DQ_NIBBLE_MAP_4_7_MASK 
#define DDRC_DQMAP0_DQ_NIBBLE_MAP_4_7_DEFVAL                   0x00000000
#define DDRC_DQMAP0_DQ_NIBBLE_MAP_4_7_SHIFT                    8
#define DDRC_DQMAP0_DQ_NIBBLE_MAP_4_7_MASK                     0x0000FF00U

/*
* DQ nibble map for DQ bits [0-3] Present only in designs configured to su
    * pport DDR4.
*/
#undef DDRC_DQMAP0_DQ_NIBBLE_MAP_0_3_DEFVAL 
#undef DDRC_DQMAP0_DQ_NIBBLE_MAP_0_3_SHIFT 
#undef DDRC_DQMAP0_DQ_NIBBLE_MAP_0_3_MASK 
#define DDRC_DQMAP0_DQ_NIBBLE_MAP_0_3_DEFVAL                   0x00000000
#define DDRC_DQMAP0_DQ_NIBBLE_MAP_0_3_SHIFT                    0
#define DDRC_DQMAP0_DQ_NIBBLE_MAP_0_3_MASK                     0x000000FFU

/*
* DQ nibble map for DQ bits [28-31] Present only in designs configured to
    * support DDR4.
*/
#undef DDRC_DQMAP1_DQ_NIBBLE_MAP_28_31_DEFVAL 
#undef DDRC_DQMAP1_DQ_NIBBLE_MAP_28_31_SHIFT 
#undef DDRC_DQMAP1_DQ_NIBBLE_MAP_28_31_MASK 
#define DDRC_DQMAP1_DQ_NIBBLE_MAP_28_31_DEFVAL                 0x00000000
#define DDRC_DQMAP1_DQ_NIBBLE_MAP_28_31_SHIFT                  24
#define DDRC_DQMAP1_DQ_NIBBLE_MAP_28_31_MASK                   0xFF000000U

/*
* DQ nibble map for DQ bits [24-27] Present only in designs configured to
    * support DDR4.
*/
#undef DDRC_DQMAP1_DQ_NIBBLE_MAP_24_27_DEFVAL 
#undef DDRC_DQMAP1_DQ_NIBBLE_MAP_24_27_SHIFT 
#undef DDRC_DQMAP1_DQ_NIBBLE_MAP_24_27_MASK 
#define DDRC_DQMAP1_DQ_NIBBLE_MAP_24_27_DEFVAL                 0x00000000
#define DDRC_DQMAP1_DQ_NIBBLE_MAP_24_27_SHIFT                  16
#define DDRC_DQMAP1_DQ_NIBBLE_MAP_24_27_MASK                   0x00FF0000U

/*
* DQ nibble map for DQ bits [20-23] Present only in designs configured to
    * support DDR4.
*/
#undef DDRC_DQMAP1_DQ_NIBBLE_MAP_20_23_DEFVAL 
#undef DDRC_DQMAP1_DQ_NIBBLE_MAP_20_23_SHIFT 
#undef DDRC_DQMAP1_DQ_NIBBLE_MAP_20_23_MASK 
#define DDRC_DQMAP1_DQ_NIBBLE_MAP_20_23_DEFVAL                 0x00000000
#define DDRC_DQMAP1_DQ_NIBBLE_MAP_20_23_SHIFT                  8
#define DDRC_DQMAP1_DQ_NIBBLE_MAP_20_23_MASK                   0x0000FF00U

/*
* DQ nibble map for DQ bits [16-19] Present only in designs configured to
    * support DDR4.
*/
#undef DDRC_DQMAP1_DQ_NIBBLE_MAP_16_19_DEFVAL 
#undef DDRC_DQMAP1_DQ_NIBBLE_MAP_16_19_SHIFT 
#undef DDRC_DQMAP1_DQ_NIBBLE_MAP_16_19_MASK 
#define DDRC_DQMAP1_DQ_NIBBLE_MAP_16_19_DEFVAL                 0x00000000
#define DDRC_DQMAP1_DQ_NIBBLE_MAP_16_19_SHIFT                  0
#define DDRC_DQMAP1_DQ_NIBBLE_MAP_16_19_MASK                   0x000000FFU

/*
* DQ nibble map for DQ bits [44-47] Present only in designs configured to
    * support DDR4.
*/
#undef DDRC_DQMAP2_DQ_NIBBLE_MAP_44_47_DEFVAL 
#undef DDRC_DQMAP2_DQ_NIBBLE_MAP_44_47_SHIFT 
#undef DDRC_DQMAP2_DQ_NIBBLE_MAP_44_47_MASK 
#define DDRC_DQMAP2_DQ_NIBBLE_MAP_44_47_DEFVAL                 0x00000000
#define DDRC_DQMAP2_DQ_NIBBLE_MAP_44_47_SHIFT                  24
#define DDRC_DQMAP2_DQ_NIBBLE_MAP_44_47_MASK                   0xFF000000U

/*
* DQ nibble map for DQ bits [40-43] Present only in designs configured to
    * support DDR4.
*/
#undef DDRC_DQMAP2_DQ_NIBBLE_MAP_40_43_DEFVAL 
#undef DDRC_DQMAP2_DQ_NIBBLE_MAP_40_43_SHIFT 
#undef DDRC_DQMAP2_DQ_NIBBLE_MAP_40_43_MASK 
#define DDRC_DQMAP2_DQ_NIBBLE_MAP_40_43_DEFVAL                 0x00000000
#define DDRC_DQMAP2_DQ_NIBBLE_MAP_40_43_SHIFT                  16
#define DDRC_DQMAP2_DQ_NIBBLE_MAP_40_43_MASK                   0x00FF0000U

/*
* DQ nibble map for DQ bits [36-39] Present only in designs configured to
    * support DDR4.
*/
#undef DDRC_DQMAP2_DQ_NIBBLE_MAP_36_39_DEFVAL 
#undef DDRC_DQMAP2_DQ_NIBBLE_MAP_36_39_SHIFT 
#undef DDRC_DQMAP2_DQ_NIBBLE_MAP_36_39_MASK 
#define DDRC_DQMAP2_DQ_NIBBLE_MAP_36_39_DEFVAL                 0x00000000
#define DDRC_DQMAP2_DQ_NIBBLE_MAP_36_39_SHIFT                  8
#define DDRC_DQMAP2_DQ_NIBBLE_MAP_36_39_MASK                   0x0000FF00U

/*
* DQ nibble map for DQ bits [32-35] Present only in designs configured to
    * support DDR4.
*/
#undef DDRC_DQMAP2_DQ_NIBBLE_MAP_32_35_DEFVAL 
#undef DDRC_DQMAP2_DQ_NIBBLE_MAP_32_35_SHIFT 
#undef DDRC_DQMAP2_DQ_NIBBLE_MAP_32_35_MASK 
#define DDRC_DQMAP2_DQ_NIBBLE_MAP_32_35_DEFVAL                 0x00000000
#define DDRC_DQMAP2_DQ_NIBBLE_MAP_32_35_SHIFT                  0
#define DDRC_DQMAP2_DQ_NIBBLE_MAP_32_35_MASK                   0x000000FFU

/*
* DQ nibble map for DQ bits [60-63] Present only in designs configured to
    * support DDR4.
*/
#undef DDRC_DQMAP3_DQ_NIBBLE_MAP_60_63_DEFVAL 
#undef DDRC_DQMAP3_DQ_NIBBLE_MAP_60_63_SHIFT 
#undef DDRC_DQMAP3_DQ_NIBBLE_MAP_60_63_MASK 
#define DDRC_DQMAP3_DQ_NIBBLE_MAP_60_63_DEFVAL                 0x00000000
#define DDRC_DQMAP3_DQ_NIBBLE_MAP_60_63_SHIFT                  24
#define DDRC_DQMAP3_DQ_NIBBLE_MAP_60_63_MASK                   0xFF000000U

/*
* DQ nibble map for DQ bits [56-59] Present only in designs configured to
    * support DDR4.
*/
#undef DDRC_DQMAP3_DQ_NIBBLE_MAP_56_59_DEFVAL 
#undef DDRC_DQMAP3_DQ_NIBBLE_MAP_56_59_SHIFT 
#undef DDRC_DQMAP3_DQ_NIBBLE_MAP_56_59_MASK 
#define DDRC_DQMAP3_DQ_NIBBLE_MAP_56_59_DEFVAL                 0x00000000
#define DDRC_DQMAP3_DQ_NIBBLE_MAP_56_59_SHIFT                  16
#define DDRC_DQMAP3_DQ_NIBBLE_MAP_56_59_MASK                   0x00FF0000U

/*
* DQ nibble map for DQ bits [52-55] Present only in designs configured to
    * support DDR4.
*/
#undef DDRC_DQMAP3_DQ_NIBBLE_MAP_52_55_DEFVAL 
#undef DDRC_DQMAP3_DQ_NIBBLE_MAP_52_55_SHIFT 
#undef DDRC_DQMAP3_DQ_NIBBLE_MAP_52_55_MASK 
#define DDRC_DQMAP3_DQ_NIBBLE_MAP_52_55_DEFVAL                 0x00000000
#define DDRC_DQMAP3_DQ_NIBBLE_MAP_52_55_SHIFT                  8
#define DDRC_DQMAP3_DQ_NIBBLE_MAP_52_55_MASK                   0x0000FF00U

/*
* DQ nibble map for DQ bits [48-51] Present only in designs configured to
    * support DDR4.
*/
#undef DDRC_DQMAP3_DQ_NIBBLE_MAP_48_51_DEFVAL 
#undef DDRC_DQMAP3_DQ_NIBBLE_MAP_48_51_SHIFT 
#undef DDRC_DQMAP3_DQ_NIBBLE_MAP_48_51_MASK 
#define DDRC_DQMAP3_DQ_NIBBLE_MAP_48_51_DEFVAL                 0x00000000
#define DDRC_DQMAP3_DQ_NIBBLE_MAP_48_51_SHIFT                  0
#define DDRC_DQMAP3_DQ_NIBBLE_MAP_48_51_MASK                   0x000000FFU

/*
* DQ nibble map for DIMM ECC check bits [4-7] Present only in designs conf
    * igured to support DDR4.
*/
#undef DDRC_DQMAP4_DQ_NIBBLE_MAP_CB_4_7_DEFVAL 
#undef DDRC_DQMAP4_DQ_NIBBLE_MAP_CB_4_7_SHIFT 
#undef DDRC_DQMAP4_DQ_NIBBLE_MAP_CB_4_7_MASK 
#define DDRC_DQMAP4_DQ_NIBBLE_MAP_CB_4_7_DEFVAL                0x00000000
#define DDRC_DQMAP4_DQ_NIBBLE_MAP_CB_4_7_SHIFT                 8
#define DDRC_DQMAP4_DQ_NIBBLE_MAP_CB_4_7_MASK                  0x0000FF00U

/*
* DQ nibble map for DIMM ECC check bits [0-3] Present only in designs conf
    * igured to support DDR4.
*/
#undef DDRC_DQMAP4_DQ_NIBBLE_MAP_CB_0_3_DEFVAL 
#undef DDRC_DQMAP4_DQ_NIBBLE_MAP_CB_0_3_SHIFT 
#undef DDRC_DQMAP4_DQ_NIBBLE_MAP_CB_0_3_MASK 
#define DDRC_DQMAP4_DQ_NIBBLE_MAP_CB_0_3_DEFVAL                0x00000000
#define DDRC_DQMAP4_DQ_NIBBLE_MAP_CB_0_3_SHIFT                 0
#define DDRC_DQMAP4_DQ_NIBBLE_MAP_CB_0_3_MASK                  0x000000FFU

/*
* All even ranks have the same DQ mapping controled by DQMAP0-4 register a
    * s rank 0. This register provides DQ swap function for all odd ranks to s
    * upport CRC feature. rank based DQ swapping is: swap bit 0 with 1, swap b
    * it 2 with 3, swap bit 4 with 5 and swap bit 6 with 7. 1: Disable rank ba
    * sed DQ swapping 0: Enable rank based DQ swapping Present only in designs
    *  configured to support DDR4.
*/
#undef DDRC_DQMAP5_DIS_DQ_RANK_SWAP_DEFVAL 
#undef DDRC_DQMAP5_DIS_DQ_RANK_SWAP_SHIFT 
#undef DDRC_DQMAP5_DIS_DQ_RANK_SWAP_MASK 
#define DDRC_DQMAP5_DIS_DQ_RANK_SWAP_DEFVAL                    
#define DDRC_DQMAP5_DIS_DQ_RANK_SWAP_SHIFT                     0
#define DDRC_DQMAP5_DIS_DQ_RANK_SWAP_MASK                      0x00000001U

/*
* When this is set to '0', auto-precharge is disabled for the flushed comm
    * and in a collision case. Collision cases are write followed by read to s
    * ame address, read followed by write to same address, or write followed b
    * y write to same address with DBG0.dis_wc bit = 1 (where same address com
    * parisons exclude the two address bits representing critical word). FOR D
    * EBUG ONLY.
*/
#undef DDRC_DBG0_DIS_COLLISION_PAGE_OPT_DEFVAL 
#undef DDRC_DBG0_DIS_COLLISION_PAGE_OPT_SHIFT 
#undef DDRC_DBG0_DIS_COLLISION_PAGE_OPT_MASK 
#define DDRC_DBG0_DIS_COLLISION_PAGE_OPT_DEFVAL                0x00000000
#define DDRC_DBG0_DIS_COLLISION_PAGE_OPT_SHIFT                 4
#define DDRC_DBG0_DIS_COLLISION_PAGE_OPT_MASK                  0x00000010U

/*
* When 1, disable write combine. FOR DEBUG ONLY
*/
#undef DDRC_DBG0_DIS_WC_DEFVAL 
#undef DDRC_DBG0_DIS_WC_SHIFT 
#undef DDRC_DBG0_DIS_WC_MASK 
#define DDRC_DBG0_DIS_WC_DEFVAL                                0x00000000
#define DDRC_DBG0_DIS_WC_SHIFT                                 0
#define DDRC_DBG0_DIS_WC_MASK                                  0x00000001U

/*
* Setting this register bit to 1 allows refresh and ZQCS commands to be tr
    * iggered from hardware via the IOs ext_*. If set to 1, the fields DBGCMD.
    * zq_calib_short and DBGCMD.rank*_refresh have no function, and are ignore
    * d by the uMCTL2 logic. Setting this register bit to 0 allows refresh and
    *  ZQCS to be triggered from software, via the fields DBGCMD.zq_calib_shor
    * t and DBGCMD.rank*_refresh. If set to 0, the hardware pins ext_* have no
    *  function, and are ignored by the uMCTL2 logic. This register is static,
    *  and may only be changed when the DDRC reset signal, core_ddrc_rstn, is
    * asserted (0).
*/
#undef DDRC_DBGCMD_HW_REF_ZQ_EN_DEFVAL 
#undef DDRC_DBGCMD_HW_REF_ZQ_EN_SHIFT 
#undef DDRC_DBGCMD_HW_REF_ZQ_EN_MASK 
#define DDRC_DBGCMD_HW_REF_ZQ_EN_DEFVAL                        0x00000000
#define DDRC_DBGCMD_HW_REF_ZQ_EN_SHIFT                         31
#define DDRC_DBGCMD_HW_REF_ZQ_EN_MASK                          0x80000000U

/*
* Setting this register bit to 1 indicates to the uMCTL2 to issue a dfi_ct
    * rlupd_req to the PHY. When this request is stored in the uMCTL2, the bit
    *  is automatically cleared. This operation must only be performed when DF
    * IUPD0.dis_auto_ctrlupd=1.
*/
#undef DDRC_DBGCMD_CTRLUPD_DEFVAL 
#undef DDRC_DBGCMD_CTRLUPD_SHIFT 
#undef DDRC_DBGCMD_CTRLUPD_MASK 
#define DDRC_DBGCMD_CTRLUPD_DEFVAL                             0x00000000
#define DDRC_DBGCMD_CTRLUPD_SHIFT                              5
#define DDRC_DBGCMD_CTRLUPD_MASK                               0x00000020U

/*
* Setting this register bit to 1 indicates to the uMCTL2 to issue a ZQCS (
    * ZQ calibration short)/MPC(ZQ calibration) command to the SDRAM. When thi
    * s request is stored in the uMCTL2, the bit is automatically cleared. Thi
    * s operation can be performed only when ZQCTL0.dis_auto_zq=1. It is recom
    * mended NOT to set this register bit if in Init operating mode. This regi
    * ster bit is ignored when in Self-Refresh(except LPDDR4) and SR-Powerdown
    * (LPDDR4) and Deep power-down operating modes and Maximum Power Saving Mo
    * de.
*/
#undef DDRC_DBGCMD_ZQ_CALIB_SHORT_DEFVAL 
#undef DDRC_DBGCMD_ZQ_CALIB_SHORT_SHIFT 
#undef DDRC_DBGCMD_ZQ_CALIB_SHORT_MASK 
#define DDRC_DBGCMD_ZQ_CALIB_SHORT_DEFVAL                      0x00000000
#define DDRC_DBGCMD_ZQ_CALIB_SHORT_SHIFT                       4
#define DDRC_DBGCMD_ZQ_CALIB_SHORT_MASK                        0x00000010U

/*
* Setting this register bit to 1 indicates to the uMCTL2 to issue a refres
    * h to rank 1. Writing to this bit causes DBGSTAT.rank1_refresh_busy to be
    *  set. When DBGSTAT.rank1_refresh_busy is cleared, the command has been s
    * tored in uMCTL2. This operation can be performed only when RFSHCTL3.dis_
    * auto_refresh=1. It is recommended NOT to set this register bit if in Ini
    * t or Deep power-down operating modes or Maximum Power Saving Mode.
*/
#undef DDRC_DBGCMD_RANK1_REFRESH_DEFVAL 
#undef DDRC_DBGCMD_RANK1_REFRESH_SHIFT 
#undef DDRC_DBGCMD_RANK1_REFRESH_MASK 
#define DDRC_DBGCMD_RANK1_REFRESH_DEFVAL                       0x00000000
#define DDRC_DBGCMD_RANK1_REFRESH_SHIFT                        1
#define DDRC_DBGCMD_RANK1_REFRESH_MASK                         0x00000002U

/*
* Setting this register bit to 1 indicates to the uMCTL2 to issue a refres
    * h to rank 0. Writing to this bit causes DBGSTAT.rank0_refresh_busy to be
    *  set. When DBGSTAT.rank0_refresh_busy is cleared, the command has been s
    * tored in uMCTL2. This operation can be performed only when RFSHCTL3.dis_
    * auto_refresh=1. It is recommended NOT to set this register bit if in Ini
    * t or Deep power-down operating modes or Maximum Power Saving Mode.
*/
#undef DDRC_DBGCMD_RANK0_REFRESH_DEFVAL 
#undef DDRC_DBGCMD_RANK0_REFRESH_SHIFT 
#undef DDRC_DBGCMD_RANK0_REFRESH_MASK 
#define DDRC_DBGCMD_RANK0_REFRESH_DEFVAL                       0x00000000
#define DDRC_DBGCMD_RANK0_REFRESH_SHIFT                        0
#define DDRC_DBGCMD_RANK0_REFRESH_MASK                         0x00000001U

/*
* Enable quasi-dynamic register programming outside reset. Program registe
    * r to 0 to enable quasi-dynamic programming. Set back register to 1 once
    * programming is done.
*/
#undef DDRC_SWCTL_SW_DONE_DEFVAL 
#undef DDRC_SWCTL_SW_DONE_SHIFT 
#undef DDRC_SWCTL_SW_DONE_MASK 
#define DDRC_SWCTL_SW_DONE_DEFVAL                              
#define DDRC_SWCTL_SW_DONE_SHIFT                               0
#define DDRC_SWCTL_SW_DONE_MASK                                0x00000001U

/*
* Burst length expansion mode. By default (i.e. bl_exp_mode==0) XPI expand
    * s every AXI burst into multiple HIF commands, using the memory burst len
    * gth as a unit. If set to 1, then XPI will use half of the memory burst l
    * ength as a unit. This applies to both reads and writes. When MSTR.data_b
    * us_width==00, setting bl_exp_mode to 1 has no effect. This can be used i
    * n cases where Partial Writes is enabled (UMCTL2_PARTIAL_WR=1) and DBG0.d
    * is_wc=1, in order to avoid or minimize t_ccd_l penalty in DDR4 and t_ccd
    * _mw penalty in LPDDR4. Note that if DBICTL.reg_ddrc_dm_en=0, functionali
    * ty is not supported in the following cases: - UMCTL2_PARTIAL_WR=0 - UMCT
    * L2_PARTIAL_WR=1, MSTR.reg_ddrc_data_bus_width=01, MEMC_BURST_LENGTH=8 an
    * d MSTR.reg_ddrc_burst_rdwr=1000 (LPDDR4 only) - UMCTL2_PARTIAL_WR=1, MST
    * R.reg_ddrc_data_bus_width=01, MEMC_BURST_LENGTH=4 and MSTR.reg_ddrc_burs
    * t_rdwr=0100 (DDR4 only), with either MSTR.reg_ddrc_burstchop=0 or CRCPAR
    * CTL1.reg_ddrc_crc_enable=1 Functionality is also not supported if Shared
    * -AC is enabled
*/
#undef DDRC_PCCFG_BL_EXP_MODE_DEFVAL 
#undef DDRC_PCCFG_BL_EXP_MODE_SHIFT 
#undef DDRC_PCCFG_BL_EXP_MODE_MASK 
#define DDRC_PCCFG_BL_EXP_MODE_DEFVAL                          0x00000000
#define DDRC_PCCFG_BL_EXP_MODE_SHIFT                           8
#define DDRC_PCCFG_BL_EXP_MODE_MASK                            0x00000100U

/*
* Page match four limit. If set to 1, limits the number of consecutive sam
    * e page DDRC transactions that can be granted by the Port Arbiter to four
    *  when Page Match feature is enabled. If set to 0, there is no limit impo
    * sed on number of consecutive same page DDRC transactions.
*/
#undef DDRC_PCCFG_PAGEMATCH_LIMIT_DEFVAL 
#undef DDRC_PCCFG_PAGEMATCH_LIMIT_SHIFT 
#undef DDRC_PCCFG_PAGEMATCH_LIMIT_MASK 
#define DDRC_PCCFG_PAGEMATCH_LIMIT_DEFVAL                      0x00000000
#define DDRC_PCCFG_PAGEMATCH_LIMIT_SHIFT                       4
#define DDRC_PCCFG_PAGEMATCH_LIMIT_MASK                        0x00000010U

/*
* If set to 1 (enabled), sets co_gs_go2critical_wr and co_gs_go2critical_l
    * pr/co_gs_go2critical_hpr signals going to DDRC based on urgent input (aw
    * urgent, arurgent) coming from AXI master. If set to 0 (disabled), co_gs_
    * go2critical_wr and co_gs_go2critical_lpr/co_gs_go2critical_hpr signals a
    * t DDRC are driven to 1b'0.
*/
#undef DDRC_PCCFG_GO2CRITICAL_EN_DEFVAL 
#undef DDRC_PCCFG_GO2CRITICAL_EN_SHIFT 
#undef DDRC_PCCFG_GO2CRITICAL_EN_MASK 
#define DDRC_PCCFG_GO2CRITICAL_EN_DEFVAL                       0x00000000
#define DDRC_PCCFG_GO2CRITICAL_EN_SHIFT                        0
#define DDRC_PCCFG_GO2CRITICAL_EN_MASK                         0x00000001U

/*
* If set to 1, enables the Page Match feature. If enabled, once a requesti
    * ng port is granted, the port is continued to be granted if the following
    *  immediate commands are to the same memory page (same bank and same row)
    * . See also related PCCFG.pagematch_limit register.
*/
#undef DDRC_PCFGR_0_RD_PORT_PAGEMATCH_EN_DEFVAL 
#undef DDRC_PCFGR_0_RD_PORT_PAGEMATCH_EN_SHIFT 
#undef DDRC_PCFGR_0_RD_PORT_PAGEMATCH_EN_MASK 
#define DDRC_PCFGR_0_RD_PORT_PAGEMATCH_EN_DEFVAL               0x00000000
#define DDRC_PCFGR_0_RD_PORT_PAGEMATCH_EN_SHIFT                14
#define DDRC_PCFGR_0_RD_PORT_PAGEMATCH_EN_MASK                 0x00004000U

/*
* If set to 1, enables the AXI urgent sideband signal (arurgent). When ena
    * bled and arurgent is asserted by the master, that port becomes the highe
    * st priority and co_gs_go2critical_lpr/co_gs_go2critical_hpr signal to DD
    * RC is asserted if enabled in PCCFG.go2critical_en register. Note that ar
    * urgent signal can be asserted anytime and as long as required which is i
    * ndependent of address handshaking (it is not associated with any particu
    * lar command).
*/
#undef DDRC_PCFGR_0_RD_PORT_URGENT_EN_DEFVAL 
#undef DDRC_PCFGR_0_RD_PORT_URGENT_EN_SHIFT 
#undef DDRC_PCFGR_0_RD_PORT_URGENT_EN_MASK 
#define DDRC_PCFGR_0_RD_PORT_URGENT_EN_DEFVAL                  0x00000000
#define DDRC_PCFGR_0_RD_PORT_URGENT_EN_SHIFT                   13
#define DDRC_PCFGR_0_RD_PORT_URGENT_EN_MASK                    0x00002000U

/*
* If set to 1, enables aging function for the read channel of the port.
*/
#undef DDRC_PCFGR_0_RD_PORT_AGING_EN_DEFVAL 
#undef DDRC_PCFGR_0_RD_PORT_AGING_EN_SHIFT 
#undef DDRC_PCFGR_0_RD_PORT_AGING_EN_MASK 
#define DDRC_PCFGR_0_RD_PORT_AGING_EN_DEFVAL                   0x00000000
#define DDRC_PCFGR_0_RD_PORT_AGING_EN_SHIFT                    12
#define DDRC_PCFGR_0_RD_PORT_AGING_EN_MASK                     0x00001000U

/*
* Determines the initial load value of read aging counters. These counters
    *  will be parallel loaded after reset, or after each grant to the corresp
    * onding port. The aging counters down-count every clock cycle where the p
    * ort is requesting but not granted. The higher significant 5-bits of the
    * read aging counter sets the priority of the read channel of a given port
    * . Port's priority will increase as the higher significant 5-bits of the
    * counter starts to decrease. When the aging counter becomes 0, the corres
    * ponding port channel will have the highest priority level (timeout condi
    * tion - Priority0). For multi-port configurations, the aging counters can
    * not be used to set port priorities when external dynamic priority inputs
    *  (arqos) are enabled (timeout is still applicable). For single port conf
    * igurations, the aging counters are only used when they timeout (become 0
    * ) to force read-write direction switching. In this case, external dynami
    * c priority input, arqos (for reads only) can still be used to set the DD
    * RC read priority (2 priority levels: low priority read - LPR, high prior
    * ity read - HPR) on a command by command basis. Note: The two LSBs of thi
    * s register field are tied internally to 2'b00.
*/
#undef DDRC_PCFGR_0_RD_PORT_PRIORITY_DEFVAL 
#undef DDRC_PCFGR_0_RD_PORT_PRIORITY_SHIFT 
#undef DDRC_PCFGR_0_RD_PORT_PRIORITY_MASK 
#define DDRC_PCFGR_0_RD_PORT_PRIORITY_DEFVAL                   0x00000000
#define DDRC_PCFGR_0_RD_PORT_PRIORITY_SHIFT                    0
#define DDRC_PCFGR_0_RD_PORT_PRIORITY_MASK                     0x000003FFU

/*
* If set to 1, enables the Page Match feature. If enabled, once a requesti
    * ng port is granted, the port is continued to be granted if the following
    *  immediate commands are to the same memory page (same bank and same row)
    * . See also related PCCFG.pagematch_limit register.
*/
#undef DDRC_PCFGW_0_WR_PORT_PAGEMATCH_EN_DEFVAL 
#undef DDRC_PCFGW_0_WR_PORT_PAGEMATCH_EN_SHIFT 
#undef DDRC_PCFGW_0_WR_PORT_PAGEMATCH_EN_MASK 
#define DDRC_PCFGW_0_WR_PORT_PAGEMATCH_EN_DEFVAL               0x00004000
#define DDRC_PCFGW_0_WR_PORT_PAGEMATCH_EN_SHIFT                14
#define DDRC_PCFGW_0_WR_PORT_PAGEMATCH_EN_MASK                 0x00004000U

/*
* If set to 1, enables the AXI urgent sideband signal (awurgent). When ena
    * bled and awurgent is asserted by the master, that port becomes the highe
    * st priority and co_gs_go2critical_wr signal to DDRC is asserted if enabl
    * ed in PCCFG.go2critical_en register. Note that awurgent signal can be as
    * serted anytime and as long as required which is independent of address h
    * andshaking (it is not associated with any particular command).
*/
#undef DDRC_PCFGW_0_WR_PORT_URGENT_EN_DEFVAL 
#undef DDRC_PCFGW_0_WR_PORT_URGENT_EN_SHIFT 
#undef DDRC_PCFGW_0_WR_PORT_URGENT_EN_MASK 
#define DDRC_PCFGW_0_WR_PORT_URGENT_EN_DEFVAL                  0x00004000
#define DDRC_PCFGW_0_WR_PORT_URGENT_EN_SHIFT                   13
#define DDRC_PCFGW_0_WR_PORT_URGENT_EN_MASK                    0x00002000U

/*
* If set to 1, enables aging function for the write channel of the port.
*/
#undef DDRC_PCFGW_0_WR_PORT_AGING_EN_DEFVAL 
#undef DDRC_PCFGW_0_WR_PORT_AGING_EN_SHIFT 
#undef DDRC_PCFGW_0_WR_PORT_AGING_EN_MASK 
#define DDRC_PCFGW_0_WR_PORT_AGING_EN_DEFVAL                   0x00004000
#define DDRC_PCFGW_0_WR_PORT_AGING_EN_SHIFT                    12
#define DDRC_PCFGW_0_WR_PORT_AGING_EN_MASK                     0x00001000U

/*
* Determines the initial load value of write aging counters. These counter
    * s will be parallel loaded after reset, or after each grant to the corres
    * ponding port. The aging counters down-count every clock cycle where the
    * port is requesting but not granted. The higher significant 5-bits of the
    *  write aging counter sets the initial priority of the write channel of a
    *  given port. Port's priority will increase as the higher significant 5-b
    * its of the counter starts to decrease. When the aging counter becomes 0,
    *  the corresponding port channel will have the highest priority level. Fo
    * r multi-port configurations, the aging counters cannot be used to set po
    * rt priorities when external dynamic priority inputs (awqos) are enabled
    * (timeout is still applicable). For single port configurations, the aging
    *  counters are only used when they timeout (become 0) to force read-write
    *  direction switching. Note: The two LSBs of this register field are tied
    *  internally to 2'b00.
*/
#undef DDRC_PCFGW_0_WR_PORT_PRIORITY_DEFVAL 
#undef DDRC_PCFGW_0_WR_PORT_PRIORITY_SHIFT 
#undef DDRC_PCFGW_0_WR_PORT_PRIORITY_MASK 
#define DDRC_PCFGW_0_WR_PORT_PRIORITY_DEFVAL                   0x00004000
#define DDRC_PCFGW_0_WR_PORT_PRIORITY_SHIFT                    0
#define DDRC_PCFGW_0_WR_PORT_PRIORITY_MASK                     0x000003FFU

/*
* Enables port n.
*/
#undef DDRC_PCTRL_0_PORT_EN_DEFVAL 
#undef DDRC_PCTRL_0_PORT_EN_SHIFT 
#undef DDRC_PCTRL_0_PORT_EN_MASK 
#define DDRC_PCTRL_0_PORT_EN_DEFVAL                            
#define DDRC_PCTRL_0_PORT_EN_SHIFT                             0
#define DDRC_PCTRL_0_PORT_EN_MASK                              0x00000001U

/*
* This bitfield indicates the traffic class of region 1. Valid values are:
    *  0 : LPR, 1: VPR, 2: HPR. For dual address queue configurations, region1
    *  maps to the blue address queue. In this case, valid values are 0: LPR a
    * nd 1: VPR only. When VPR support is disabled (UMCTL2_VPR_EN = 0) and tra
    * ffic class of region 1 is set to 1 (VPR), VPR traffic is aliased to LPR
    * traffic.
*/
#undef DDRC_PCFGQOS0_0_RQOS_MAP_REGION1_DEFVAL 
#undef DDRC_PCFGQOS0_0_RQOS_MAP_REGION1_SHIFT 
#undef DDRC_PCFGQOS0_0_RQOS_MAP_REGION1_MASK 
#define DDRC_PCFGQOS0_0_RQOS_MAP_REGION1_DEFVAL                0x00000000
#define DDRC_PCFGQOS0_0_RQOS_MAP_REGION1_SHIFT                 20
#define DDRC_PCFGQOS0_0_RQOS_MAP_REGION1_MASK                  0x00300000U

/*
* This bitfield indicates the traffic class of region 0. Valid values are:
    *  0: LPR, 1: VPR, 2: HPR. For dual address queue configurations, region 0
    *  maps to the blue address queue. In this case, valid values are: 0: LPR
    * and 1: VPR only. When VPR support is disabled (UMCTL2_VPR_EN = 0) and tr
    * affic class of region0 is set to 1 (VPR), VPR traffic is aliased to LPR
    * traffic.
*/
#undef DDRC_PCFGQOS0_0_RQOS_MAP_REGION0_DEFVAL 
#undef DDRC_PCFGQOS0_0_RQOS_MAP_REGION0_SHIFT 
#undef DDRC_PCFGQOS0_0_RQOS_MAP_REGION0_MASK 
#define DDRC_PCFGQOS0_0_RQOS_MAP_REGION0_DEFVAL                0x00000000
#define DDRC_PCFGQOS0_0_RQOS_MAP_REGION0_SHIFT                 16
#define DDRC_PCFGQOS0_0_RQOS_MAP_REGION0_MASK                  0x00030000U

/*
* Separation level1 indicating the end of region0 mapping; start of region
    * 0 is 0. Possible values for level1 are 0 to 13 (for dual RAQ) or 0 to 14
    *  (for single RAQ) which corresponds to arqos. Note that for PA, arqos va
    * lues are used directly as port priorities, where the higher the value co
    * rresponds to higher port priority. All of the map_level* registers must
    * be set to distinct values.
*/
#undef DDRC_PCFGQOS0_0_RQOS_MAP_LEVEL1_DEFVAL 
#undef DDRC_PCFGQOS0_0_RQOS_MAP_LEVEL1_SHIFT 
#undef DDRC_PCFGQOS0_0_RQOS_MAP_LEVEL1_MASK 
#define DDRC_PCFGQOS0_0_RQOS_MAP_LEVEL1_DEFVAL                 0x00000000
#define DDRC_PCFGQOS0_0_RQOS_MAP_LEVEL1_SHIFT                  0
#define DDRC_PCFGQOS0_0_RQOS_MAP_LEVEL1_MASK                   0x0000000FU

/*
* Specifies the timeout value for transactions mapped to the red address q
    * ueue.
*/
#undef DDRC_PCFGQOS1_0_RQOS_MAP_TIMEOUTR_DEFVAL 
#undef DDRC_PCFGQOS1_0_RQOS_MAP_TIMEOUTR_SHIFT 
#undef DDRC_PCFGQOS1_0_RQOS_MAP_TIMEOUTR_MASK 
#define DDRC_PCFGQOS1_0_RQOS_MAP_TIMEOUTR_DEFVAL               0x00000000
#define DDRC_PCFGQOS1_0_RQOS_MAP_TIMEOUTR_SHIFT                16
#define DDRC_PCFGQOS1_0_RQOS_MAP_TIMEOUTR_MASK                 0x07FF0000U

/*
* Specifies the timeout value for transactions mapped to the blue address
    * queue.
*/
#undef DDRC_PCFGQOS1_0_RQOS_MAP_TIMEOUTB_DEFVAL 
#undef DDRC_PCFGQOS1_0_RQOS_MAP_TIMEOUTB_SHIFT 
#undef DDRC_PCFGQOS1_0_RQOS_MAP_TIMEOUTB_MASK 
#define DDRC_PCFGQOS1_0_RQOS_MAP_TIMEOUTB_DEFVAL               0x00000000
#define DDRC_PCFGQOS1_0_RQOS_MAP_TIMEOUTB_SHIFT                0
#define DDRC_PCFGQOS1_0_RQOS_MAP_TIMEOUTB_MASK                 0x000007FFU

/*
* If set to 1, enables the Page Match feature. If enabled, once a requesti
    * ng port is granted, the port is continued to be granted if the following
    *  immediate commands are to the same memory page (same bank and same row)
    * . See also related PCCFG.pagematch_limit register.
*/
#undef DDRC_PCFGR_1_RD_PORT_PAGEMATCH_EN_DEFVAL 
#undef DDRC_PCFGR_1_RD_PORT_PAGEMATCH_EN_SHIFT 
#undef DDRC_PCFGR_1_RD_PORT_PAGEMATCH_EN_MASK 
#define DDRC_PCFGR_1_RD_PORT_PAGEMATCH_EN_DEFVAL               0x00000000
#define DDRC_PCFGR_1_RD_PORT_PAGEMATCH_EN_SHIFT                14
#define DDRC_PCFGR_1_RD_PORT_PAGEMATCH_EN_MASK                 0x00004000U

/*
* If set to 1, enables the AXI urgent sideband signal (arurgent). When ena
    * bled and arurgent is asserted by the master, that port becomes the highe
    * st priority and co_gs_go2critical_lpr/co_gs_go2critical_hpr signal to DD
    * RC is asserted if enabled in PCCFG.go2critical_en register. Note that ar
    * urgent signal can be asserted anytime and as long as required which is i
    * ndependent of address handshaking (it is not associated with any particu
    * lar command).
*/
#undef DDRC_PCFGR_1_RD_PORT_URGENT_EN_DEFVAL 
#undef DDRC_PCFGR_1_RD_PORT_URGENT_EN_SHIFT 
#undef DDRC_PCFGR_1_RD_PORT_URGENT_EN_MASK 
#define DDRC_PCFGR_1_RD_PORT_URGENT_EN_DEFVAL                  0x00000000
#define DDRC_PCFGR_1_RD_PORT_URGENT_EN_SHIFT                   13
#define DDRC_PCFGR_1_RD_PORT_URGENT_EN_MASK                    0x00002000U

/*
* If set to 1, enables aging function for the read channel of the port.
*/
#undef DDRC_PCFGR_1_RD_PORT_AGING_EN_DEFVAL 
#undef DDRC_PCFGR_1_RD_PORT_AGING_EN_SHIFT 
#undef DDRC_PCFGR_1_RD_PORT_AGING_EN_MASK 
#define DDRC_PCFGR_1_RD_PORT_AGING_EN_DEFVAL                   0x00000000
#define DDRC_PCFGR_1_RD_PORT_AGING_EN_SHIFT                    12
#define DDRC_PCFGR_1_RD_PORT_AGING_EN_MASK                     0x00001000U

/*
* Determines the initial load value of read aging counters. These counters
    *  will be parallel loaded after reset, or after each grant to the corresp
    * onding port. The aging counters down-count every clock cycle where the p
    * ort is requesting but not granted. The higher significant 5-bits of the
    * read aging counter sets the priority of the read channel of a given port
    * . Port's priority will increase as the higher significant 5-bits of the
    * counter starts to decrease. When the aging counter becomes 0, the corres
    * ponding port channel will have the highest priority level (timeout condi
    * tion - Priority0). For multi-port configurations, the aging counters can
    * not be used to set port priorities when external dynamic priority inputs
    *  (arqos) are enabled (timeout is still applicable). For single port conf
    * igurations, the aging counters are only used when they timeout (become 0
    * ) to force read-write direction switching. In this case, external dynami
    * c priority input, arqos (for reads only) can still be used to set the DD
    * RC read priority (2 priority levels: low priority read - LPR, high prior
    * ity read - HPR) on a command by command basis. Note: The two LSBs of thi
    * s register field are tied internally to 2'b00.
*/
#undef DDRC_PCFGR_1_RD_PORT_PRIORITY_DEFVAL 
#undef DDRC_PCFGR_1_RD_PORT_PRIORITY_SHIFT 
#undef DDRC_PCFGR_1_RD_PORT_PRIORITY_MASK 
#define DDRC_PCFGR_1_RD_PORT_PRIORITY_DEFVAL                   0x00000000
#define DDRC_PCFGR_1_RD_PORT_PRIORITY_SHIFT                    0
#define DDRC_PCFGR_1_RD_PORT_PRIORITY_MASK                     0x000003FFU

/*
* If set to 1, enables the Page Match feature. If enabled, once a requesti
    * ng port is granted, the port is continued to be granted if the following
    *  immediate commands are to the same memory page (same bank and same row)
    * . See also related PCCFG.pagematch_limit register.
*/
#undef DDRC_PCFGW_1_WR_PORT_PAGEMATCH_EN_DEFVAL 
#undef DDRC_PCFGW_1_WR_PORT_PAGEMATCH_EN_SHIFT 
#undef DDRC_PCFGW_1_WR_PORT_PAGEMATCH_EN_MASK 
#define DDRC_PCFGW_1_WR_PORT_PAGEMATCH_EN_DEFVAL               0x00004000
#define DDRC_PCFGW_1_WR_PORT_PAGEMATCH_EN_SHIFT                14
#define DDRC_PCFGW_1_WR_PORT_PAGEMATCH_EN_MASK                 0x00004000U

/*
* If set to 1, enables the AXI urgent sideband signal (awurgent). When ena
    * bled and awurgent is asserted by the master, that port becomes the highe
    * st priority and co_gs_go2critical_wr signal to DDRC is asserted if enabl
    * ed in PCCFG.go2critical_en register. Note that awurgent signal can be as
    * serted anytime and as long as required which is independent of address h
    * andshaking (it is not associated with any particular command).
*/
#undef DDRC_PCFGW_1_WR_PORT_URGENT_EN_DEFVAL 
#undef DDRC_PCFGW_1_WR_PORT_URGENT_EN_SHIFT 
#undef DDRC_PCFGW_1_WR_PORT_URGENT_EN_MASK 
#define DDRC_PCFGW_1_WR_PORT_URGENT_EN_DEFVAL                  0x00004000
#define DDRC_PCFGW_1_WR_PORT_URGENT_EN_SHIFT                   13
#define DDRC_PCFGW_1_WR_PORT_URGENT_EN_MASK                    0x00002000U

/*
* If set to 1, enables aging function for the write channel of the port.
*/
#undef DDRC_PCFGW_1_WR_PORT_AGING_EN_DEFVAL 
#undef DDRC_PCFGW_1_WR_PORT_AGING_EN_SHIFT 
#undef DDRC_PCFGW_1_WR_PORT_AGING_EN_MASK 
#define DDRC_PCFGW_1_WR_PORT_AGING_EN_DEFVAL                   0x00004000
#define DDRC_PCFGW_1_WR_PORT_AGING_EN_SHIFT                    12
#define DDRC_PCFGW_1_WR_PORT_AGING_EN_MASK                     0x00001000U

/*
* Determines the initial load value of write aging counters. These counter
    * s will be parallel loaded after reset, or after each grant to the corres
    * ponding port. The aging counters down-count every clock cycle where the
    * port is requesting but not granted. The higher significant 5-bits of the
    *  write aging counter sets the initial priority of the write channel of a
    *  given port. Port's priority will increase as the higher significant 5-b
    * its of the counter starts to decrease. When the aging counter becomes 0,
    *  the corresponding port channel will have the highest priority level. Fo
    * r multi-port configurations, the aging counters cannot be used to set po
    * rt priorities when external dynamic priority inputs (awqos) are enabled
    * (timeout is still applicable). For single port configurations, the aging
    *  counters are only used when they timeout (become 0) to force read-write
    *  direction switching. Note: The two LSBs of this register field are tied
    *  internally to 2'b00.
*/
#undef DDRC_PCFGW_1_WR_PORT_PRIORITY_DEFVAL 
#undef DDRC_PCFGW_1_WR_PORT_PRIORITY_SHIFT 
#undef DDRC_PCFGW_1_WR_PORT_PRIORITY_MASK 
#define DDRC_PCFGW_1_WR_PORT_PRIORITY_DEFVAL                   0x00004000
#define DDRC_PCFGW_1_WR_PORT_PRIORITY_SHIFT                    0
#define DDRC_PCFGW_1_WR_PORT_PRIORITY_MASK                     0x000003FFU

/*
* Enables port n.
*/
#undef DDRC_PCTRL_1_PORT_EN_DEFVAL 
#undef DDRC_PCTRL_1_PORT_EN_SHIFT 
#undef DDRC_PCTRL_1_PORT_EN_MASK 
#define DDRC_PCTRL_1_PORT_EN_DEFVAL                            
#define DDRC_PCTRL_1_PORT_EN_SHIFT                             0
#define DDRC_PCTRL_1_PORT_EN_MASK                              0x00000001U

/*
* This bitfield indicates the traffic class of region2. For dual address q
    * ueue configurations, region2 maps to the red address queue. Valid values
    *  are 1: VPR and 2: HPR only. When VPR support is disabled (UMCTL2_VPR_EN
    *  = 0) and traffic class of region2 is set to 1 (VPR), VPR traffic is ali
    * ased to LPR traffic.
*/
#undef DDRC_PCFGQOS0_1_RQOS_MAP_REGION2_DEFVAL 
#undef DDRC_PCFGQOS0_1_RQOS_MAP_REGION2_SHIFT 
#undef DDRC_PCFGQOS0_1_RQOS_MAP_REGION2_MASK 
#define DDRC_PCFGQOS0_1_RQOS_MAP_REGION2_DEFVAL                0x02000E00
#define DDRC_PCFGQOS0_1_RQOS_MAP_REGION2_SHIFT                 24
#define DDRC_PCFGQOS0_1_RQOS_MAP_REGION2_MASK                  0x03000000U

/*
* This bitfield indicates the traffic class of region 1. Valid values are:
    *  0 : LPR, 1: VPR, 2: HPR. For dual address queue configurations, region1
    *  maps to the blue address queue. In this case, valid values are 0: LPR a
    * nd 1: VPR only. When VPR support is disabled (UMCTL2_VPR_EN = 0) and tra
    * ffic class of region 1 is set to 1 (VPR), VPR traffic is aliased to LPR
    * traffic.
*/
#undef DDRC_PCFGQOS0_1_RQOS_MAP_REGION1_DEFVAL 
#undef DDRC_PCFGQOS0_1_RQOS_MAP_REGION1_SHIFT 
#undef DDRC_PCFGQOS0_1_RQOS_MAP_REGION1_MASK 
#define DDRC_PCFGQOS0_1_RQOS_MAP_REGION1_DEFVAL                0x02000E00
#define DDRC_PCFGQOS0_1_RQOS_MAP_REGION1_SHIFT                 20
#define DDRC_PCFGQOS0_1_RQOS_MAP_REGION1_MASK                  0x00300000U

/*
* This bitfield indicates the traffic class of region 0. Valid values are:
    *  0: LPR, 1: VPR, 2: HPR. For dual address queue configurations, region 0
    *  maps to the blue address queue. In this case, valid values are: 0: LPR
    * and 1: VPR only. When VPR support is disabled (UMCTL2_VPR_EN = 0) and tr
    * affic class of region0 is set to 1 (VPR), VPR traffic is aliased to LPR
    * traffic.
*/
#undef DDRC_PCFGQOS0_1_RQOS_MAP_REGION0_DEFVAL 
#undef DDRC_PCFGQOS0_1_RQOS_MAP_REGION0_SHIFT 
#undef DDRC_PCFGQOS0_1_RQOS_MAP_REGION0_MASK 
#define DDRC_PCFGQOS0_1_RQOS_MAP_REGION0_DEFVAL                0x02000E00
#define DDRC_PCFGQOS0_1_RQOS_MAP_REGION0_SHIFT                 16
#define DDRC_PCFGQOS0_1_RQOS_MAP_REGION0_MASK                  0x00030000U

/*
* Separation level2 indicating the end of region1 mapping; start of region
    * 1 is (level1 + 1). Possible values for level2 are (level1 + 1) to 14 whi
    * ch corresponds to arqos. Region2 starts from (level2 + 1) up to 15. Note
    *  that for PA, arqos values are used directly as port priorities, where t
    * he higher the value corresponds to higher port priority. All of the map_
    * level* registers must be set to distinct values.
*/
#undef DDRC_PCFGQOS0_1_RQOS_MAP_LEVEL2_DEFVAL 
#undef DDRC_PCFGQOS0_1_RQOS_MAP_LEVEL2_SHIFT 
#undef DDRC_PCFGQOS0_1_RQOS_MAP_LEVEL2_MASK 
#define DDRC_PCFGQOS0_1_RQOS_MAP_LEVEL2_DEFVAL                 0x02000E00
#define DDRC_PCFGQOS0_1_RQOS_MAP_LEVEL2_SHIFT                  8
#define DDRC_PCFGQOS0_1_RQOS_MAP_LEVEL2_MASK                   0x00000F00U

/*
* Separation level1 indicating the end of region0 mapping; start of region
    * 0 is 0. Possible values for level1 are 0 to 13 (for dual RAQ) or 0 to 14
    *  (for single RAQ) which corresponds to arqos. Note that for PA, arqos va
    * lues are used directly as port priorities, where the higher the value co
    * rresponds to higher port priority. All of the map_level* registers must
    * be set to distinct values.
*/
#undef DDRC_PCFGQOS0_1_RQOS_MAP_LEVEL1_DEFVAL 
#undef DDRC_PCFGQOS0_1_RQOS_MAP_LEVEL1_SHIFT 
#undef DDRC_PCFGQOS0_1_RQOS_MAP_LEVEL1_MASK 
#define DDRC_PCFGQOS0_1_RQOS_MAP_LEVEL1_DEFVAL                 0x02000E00
#define DDRC_PCFGQOS0_1_RQOS_MAP_LEVEL1_SHIFT                  0
#define DDRC_PCFGQOS0_1_RQOS_MAP_LEVEL1_MASK                   0x0000000FU

/*
* Specifies the timeout value for transactions mapped to the red address q
    * ueue.
*/
#undef DDRC_PCFGQOS1_1_RQOS_MAP_TIMEOUTR_DEFVAL 
#undef DDRC_PCFGQOS1_1_RQOS_MAP_TIMEOUTR_SHIFT 
#undef DDRC_PCFGQOS1_1_RQOS_MAP_TIMEOUTR_MASK 
#define DDRC_PCFGQOS1_1_RQOS_MAP_TIMEOUTR_DEFVAL               0x00000000
#define DDRC_PCFGQOS1_1_RQOS_MAP_TIMEOUTR_SHIFT                16
#define DDRC_PCFGQOS1_1_RQOS_MAP_TIMEOUTR_MASK                 0x07FF0000U

/*
* Specifies the timeout value for transactions mapped to the blue address
    * queue.
*/
#undef DDRC_PCFGQOS1_1_RQOS_MAP_TIMEOUTB_DEFVAL 
#undef DDRC_PCFGQOS1_1_RQOS_MAP_TIMEOUTB_SHIFT 
#undef DDRC_PCFGQOS1_1_RQOS_MAP_TIMEOUTB_MASK 
#define DDRC_PCFGQOS1_1_RQOS_MAP_TIMEOUTB_DEFVAL               0x00000000
#define DDRC_PCFGQOS1_1_RQOS_MAP_TIMEOUTB_SHIFT                0
#define DDRC_PCFGQOS1_1_RQOS_MAP_TIMEOUTB_MASK                 0x000007FFU

/*
* If set to 1, enables the Page Match feature. If enabled, once a requesti
    * ng port is granted, the port is continued to be granted if the following
    *  immediate commands are to the same memory page (same bank and same row)
    * . See also related PCCFG.pagematch_limit register.
*/
#undef DDRC_PCFGR_2_RD_PORT_PAGEMATCH_EN_DEFVAL 
#undef DDRC_PCFGR_2_RD_PORT_PAGEMATCH_EN_SHIFT 
#undef DDRC_PCFGR_2_RD_PORT_PAGEMATCH_EN_MASK 
#define DDRC_PCFGR_2_RD_PORT_PAGEMATCH_EN_DEFVAL               0x00000000
#define DDRC_PCFGR_2_RD_PORT_PAGEMATCH_EN_SHIFT                14
#define DDRC_PCFGR_2_RD_PORT_PAGEMATCH_EN_MASK                 0x00004000U

/*
* If set to 1, enables the AXI urgent sideband signal (arurgent). When ena
    * bled and arurgent is asserted by the master, that port becomes the highe
    * st priority and co_gs_go2critical_lpr/co_gs_go2critical_hpr signal to DD
    * RC is asserted if enabled in PCCFG.go2critical_en register. Note that ar
    * urgent signal can be asserted anytime and as long as required which is i
    * ndependent of address handshaking (it is not associated with any particu
    * lar command).
*/
#undef DDRC_PCFGR_2_RD_PORT_URGENT_EN_DEFVAL 
#undef DDRC_PCFGR_2_RD_PORT_URGENT_EN_SHIFT 
#undef DDRC_PCFGR_2_RD_PORT_URGENT_EN_MASK 
#define DDRC_PCFGR_2_RD_PORT_URGENT_EN_DEFVAL                  0x00000000
#define DDRC_PCFGR_2_RD_PORT_URGENT_EN_SHIFT                   13
#define DDRC_PCFGR_2_RD_PORT_URGENT_EN_MASK                    0x00002000U

/*
* If set to 1, enables aging function for the read channel of the port.
*/
#undef DDRC_PCFGR_2_RD_PORT_AGING_EN_DEFVAL 
#undef DDRC_PCFGR_2_RD_PORT_AGING_EN_SHIFT 
#undef DDRC_PCFGR_2_RD_PORT_AGING_EN_MASK 
#define DDRC_PCFGR_2_RD_PORT_AGING_EN_DEFVAL                   0x00000000
#define DDRC_PCFGR_2_RD_PORT_AGING_EN_SHIFT                    12
#define DDRC_PCFGR_2_RD_PORT_AGING_EN_MASK                     0x00001000U

/*
* Determines the initial load value of read aging counters. These counters
    *  will be parallel loaded after reset, or after each grant to the corresp
    * onding port. The aging counters down-count every clock cycle where the p
    * ort is requesting but not granted. The higher significant 5-bits of the
    * read aging counter sets the priority of the read channel of a given port
    * . Port's priority will increase as the higher significant 5-bits of the
    * counter starts to decrease. When the aging counter becomes 0, the corres
    * ponding port channel will have the highest priority level (timeout condi
    * tion - Priority0). For multi-port configurations, the aging counters can
    * not be used to set port priorities when external dynamic priority inputs
    *  (arqos) are enabled (timeout is still applicable). For single port conf
    * igurations, the aging counters are only used when they timeout (become 0
    * ) to force read-write direction switching. In this case, external dynami
    * c priority input, arqos (for reads only) can still be used to set the DD
    * RC read priority (2 priority levels: low priority read - LPR, high prior
    * ity read - HPR) on a command by command basis. Note: The two LSBs of thi
    * s register field are tied internally to 2'b00.
*/
#undef DDRC_PCFGR_2_RD_PORT_PRIORITY_DEFVAL 
#undef DDRC_PCFGR_2_RD_PORT_PRIORITY_SHIFT 
#undef DDRC_PCFGR_2_RD_PORT_PRIORITY_MASK 
#define DDRC_PCFGR_2_RD_PORT_PRIORITY_DEFVAL                   0x00000000
#define DDRC_PCFGR_2_RD_PORT_PRIORITY_SHIFT                    0
#define DDRC_PCFGR_2_RD_PORT_PRIORITY_MASK                     0x000003FFU

/*
* If set to 1, enables the Page Match feature. If enabled, once a requesti
    * ng port is granted, the port is continued to be granted if the following
    *  immediate commands are to the same memory page (same bank and same row)
    * . See also related PCCFG.pagematch_limit register.
*/
#undef DDRC_PCFGW_2_WR_PORT_PAGEMATCH_EN_DEFVAL 
#undef DDRC_PCFGW_2_WR_PORT_PAGEMATCH_EN_SHIFT 
#undef DDRC_PCFGW_2_WR_PORT_PAGEMATCH_EN_MASK 
#define DDRC_PCFGW_2_WR_PORT_PAGEMATCH_EN_DEFVAL               0x00004000
#define DDRC_PCFGW_2_WR_PORT_PAGEMATCH_EN_SHIFT                14
#define DDRC_PCFGW_2_WR_PORT_PAGEMATCH_EN_MASK                 0x00004000U

/*
* If set to 1, enables the AXI urgent sideband signal (awurgent). When ena
    * bled and awurgent is asserted by the master, that port becomes the highe
    * st priority and co_gs_go2critical_wr signal to DDRC is asserted if enabl
    * ed in PCCFG.go2critical_en register. Note that awurgent signal can be as
    * serted anytime and as long as required which is independent of address h
    * andshaking (it is not associated with any particular command).
*/
#undef DDRC_PCFGW_2_WR_PORT_URGENT_EN_DEFVAL 
#undef DDRC_PCFGW_2_WR_PORT_URGENT_EN_SHIFT 
#undef DDRC_PCFGW_2_WR_PORT_URGENT_EN_MASK 
#define DDRC_PCFGW_2_WR_PORT_URGENT_EN_DEFVAL                  0x00004000
#define DDRC_PCFGW_2_WR_PORT_URGENT_EN_SHIFT                   13
#define DDRC_PCFGW_2_WR_PORT_URGENT_EN_MASK                    0x00002000U

/*
* If set to 1, enables aging function for the write channel of the port.
*/
#undef DDRC_PCFGW_2_WR_PORT_AGING_EN_DEFVAL 
#undef DDRC_PCFGW_2_WR_PORT_AGING_EN_SHIFT 
#undef DDRC_PCFGW_2_WR_PORT_AGING_EN_MASK 
#define DDRC_PCFGW_2_WR_PORT_AGING_EN_DEFVAL                   0x00004000
#define DDRC_PCFGW_2_WR_PORT_AGING_EN_SHIFT                    12
#define DDRC_PCFGW_2_WR_PORT_AGING_EN_MASK                     0x00001000U

/*
* Determines the initial load value of write aging counters. These counter
    * s will be parallel loaded after reset, or after each grant to the corres
    * ponding port. The aging counters down-count every clock cycle where the
    * port is requesting but not granted. The higher significant 5-bits of the
    *  write aging counter sets the initial priority of the write channel of a
    *  given port. Port's priority will increase as the higher significant 5-b
    * its of the counter starts to decrease. When the aging counter becomes 0,
    *  the corresponding port channel will have the highest priority level. Fo
    * r multi-port configurations, the aging counters cannot be used to set po
    * rt priorities when external dynamic priority inputs (awqos) are enabled
    * (timeout is still applicable). For single port configurations, the aging
    *  counters are only used when they timeout (become 0) to force read-write
    *  direction switching. Note: The two LSBs of this register field are tied
    *  internally to 2'b00.
*/
#undef DDRC_PCFGW_2_WR_PORT_PRIORITY_DEFVAL 
#undef DDRC_PCFGW_2_WR_PORT_PRIORITY_SHIFT 
#undef DDRC_PCFGW_2_WR_PORT_PRIORITY_MASK 
#define DDRC_PCFGW_2_WR_PORT_PRIORITY_DEFVAL                   0x00004000
#define DDRC_PCFGW_2_WR_PORT_PRIORITY_SHIFT                    0
#define DDRC_PCFGW_2_WR_PORT_PRIORITY_MASK                     0x000003FFU

/*
* Enables port n.
*/
#undef DDRC_PCTRL_2_PORT_EN_DEFVAL 
#undef DDRC_PCTRL_2_PORT_EN_SHIFT 
#undef DDRC_PCTRL_2_PORT_EN_MASK 
#define DDRC_PCTRL_2_PORT_EN_DEFVAL                            
#define DDRC_PCTRL_2_PORT_EN_SHIFT                             0
#define DDRC_PCTRL_2_PORT_EN_MASK                              0x00000001U

/*
* This bitfield indicates the traffic class of region2. For dual address q
    * ueue configurations, region2 maps to the red address queue. Valid values
    *  are 1: VPR and 2: HPR only. When VPR support is disabled (UMCTL2_VPR_EN
    *  = 0) and traffic class of region2 is set to 1 (VPR), VPR traffic is ali
    * ased to LPR traffic.
*/
#undef DDRC_PCFGQOS0_2_RQOS_MAP_REGION2_DEFVAL 
#undef DDRC_PCFGQOS0_2_RQOS_MAP_REGION2_SHIFT 
#undef DDRC_PCFGQOS0_2_RQOS_MAP_REGION2_MASK 
#define DDRC_PCFGQOS0_2_RQOS_MAP_REGION2_DEFVAL                0x02000E00
#define DDRC_PCFGQOS0_2_RQOS_MAP_REGION2_SHIFT                 24
#define DDRC_PCFGQOS0_2_RQOS_MAP_REGION2_MASK                  0x03000000U

/*
* This bitfield indicates the traffic class of region 1. Valid values are:
    *  0 : LPR, 1: VPR, 2: HPR. For dual address queue configurations, region1
    *  maps to the blue address queue. In this case, valid values are 0: LPR a
    * nd 1: VPR only. When VPR support is disabled (UMCTL2_VPR_EN = 0) and tra
    * ffic class of region 1 is set to 1 (VPR), VPR traffic is aliased to LPR
    * traffic.
*/
#undef DDRC_PCFGQOS0_2_RQOS_MAP_REGION1_DEFVAL 
#undef DDRC_PCFGQOS0_2_RQOS_MAP_REGION1_SHIFT 
#undef DDRC_PCFGQOS0_2_RQOS_MAP_REGION1_MASK 
#define DDRC_PCFGQOS0_2_RQOS_MAP_REGION1_DEFVAL                0x02000E00
#define DDRC_PCFGQOS0_2_RQOS_MAP_REGION1_SHIFT                 20
#define DDRC_PCFGQOS0_2_RQOS_MAP_REGION1_MASK                  0x00300000U

/*
* This bitfield indicates the traffic class of region 0. Valid values are:
    *  0: LPR, 1: VPR, 2: HPR. For dual address queue configurations, region 0
    *  maps to the blue address queue. In this case, valid values are: 0: LPR
    * and 1: VPR only. When VPR support is disabled (UMCTL2_VPR_EN = 0) and tr
    * affic class of region0 is set to 1 (VPR), VPR traffic is aliased to LPR
    * traffic.
*/
#undef DDRC_PCFGQOS0_2_RQOS_MAP_REGION0_DEFVAL 
#undef DDRC_PCFGQOS0_2_RQOS_MAP_REGION0_SHIFT 
#undef DDRC_PCFGQOS0_2_RQOS_MAP_REGION0_MASK 
#define DDRC_PCFGQOS0_2_RQOS_MAP_REGION0_DEFVAL                0x02000E00
#define DDRC_PCFGQOS0_2_RQOS_MAP_REGION0_SHIFT                 16
#define DDRC_PCFGQOS0_2_RQOS_MAP_REGION0_MASK                  0x00030000U

/*
* Separation level2 indicating the end of region1 mapping; start of region
    * 1 is (level1 + 1). Possible values for level2 are (level1 + 1) to 14 whi
    * ch corresponds to arqos. Region2 starts from (level2 + 1) up to 15. Note
    *  that for PA, arqos values are used directly as port priorities, where t
    * he higher the value corresponds to higher port priority. All of the map_
    * level* registers must be set to distinct values.
*/
#undef DDRC_PCFGQOS0_2_RQOS_MAP_LEVEL2_DEFVAL 
#undef DDRC_PCFGQOS0_2_RQOS_MAP_LEVEL2_SHIFT 
#undef DDRC_PCFGQOS0_2_RQOS_MAP_LEVEL2_MASK 
#define DDRC_PCFGQOS0_2_RQOS_MAP_LEVEL2_DEFVAL                 0x02000E00
#define DDRC_PCFGQOS0_2_RQOS_MAP_LEVEL2_SHIFT                  8
#define DDRC_PCFGQOS0_2_RQOS_MAP_LEVEL2_MASK                   0x00000F00U

/*
* Separation level1 indicating the end of region0 mapping; start of region
    * 0 is 0. Possible values for level1 are 0 to 13 (for dual RAQ) or 0 to 14
    *  (for single RAQ) which corresponds to arqos. Note that for PA, arqos va
    * lues are used directly as port priorities, where the higher the value co
    * rresponds to higher port priority. All of the map_level* registers must
    * be set to distinct values.
*/
#undef DDRC_PCFGQOS0_2_RQOS_MAP_LEVEL1_DEFVAL 
#undef DDRC_PCFGQOS0_2_RQOS_MAP_LEVEL1_SHIFT 
#undef DDRC_PCFGQOS0_2_RQOS_MAP_LEVEL1_MASK 
#define DDRC_PCFGQOS0_2_RQOS_MAP_LEVEL1_DEFVAL                 0x02000E00
#define DDRC_PCFGQOS0_2_RQOS_MAP_LEVEL1_SHIFT                  0
#define DDRC_PCFGQOS0_2_RQOS_MAP_LEVEL1_MASK                   0x0000000FU

/*
* Specifies the timeout value for transactions mapped to the red address q
    * ueue.
*/
#undef DDRC_PCFGQOS1_2_RQOS_MAP_TIMEOUTR_DEFVAL 
#undef DDRC_PCFGQOS1_2_RQOS_MAP_TIMEOUTR_SHIFT 
#undef DDRC_PCFGQOS1_2_RQOS_MAP_TIMEOUTR_MASK 
#define DDRC_PCFGQOS1_2_RQOS_MAP_TIMEOUTR_DEFVAL               0x00000000
#define DDRC_PCFGQOS1_2_RQOS_MAP_TIMEOUTR_SHIFT                16
#define DDRC_PCFGQOS1_2_RQOS_MAP_TIMEOUTR_MASK                 0x07FF0000U

/*
* Specifies the timeout value for transactions mapped to the blue address
    * queue.
*/
#undef DDRC_PCFGQOS1_2_RQOS_MAP_TIMEOUTB_DEFVAL 
#undef DDRC_PCFGQOS1_2_RQOS_MAP_TIMEOUTB_SHIFT 
#undef DDRC_PCFGQOS1_2_RQOS_MAP_TIMEOUTB_MASK 
#define DDRC_PCFGQOS1_2_RQOS_MAP_TIMEOUTB_DEFVAL               0x00000000
#define DDRC_PCFGQOS1_2_RQOS_MAP_TIMEOUTB_SHIFT                0
#define DDRC_PCFGQOS1_2_RQOS_MAP_TIMEOUTB_MASK                 0x000007FFU

/*
* If set to 1, enables the Page Match feature. If enabled, once a requesti
    * ng port is granted, the port is continued to be granted if the following
    *  immediate commands are to the same memory page (same bank and same row)
    * . See also related PCCFG.pagematch_limit register.
*/
#undef DDRC_PCFGR_3_RD_PORT_PAGEMATCH_EN_DEFVAL 
#undef DDRC_PCFGR_3_RD_PORT_PAGEMATCH_EN_SHIFT 
#undef DDRC_PCFGR_3_RD_PORT_PAGEMATCH_EN_MASK 
#define DDRC_PCFGR_3_RD_PORT_PAGEMATCH_EN_DEFVAL               0x00000000
#define DDRC_PCFGR_3_RD_PORT_PAGEMATCH_EN_SHIFT                14
#define DDRC_PCFGR_3_RD_PORT_PAGEMATCH_EN_MASK                 0x00004000U

/*
* If set to 1, enables the AXI urgent sideband signal (arurgent). When ena
    * bled and arurgent is asserted by the master, that port becomes the highe
    * st priority and co_gs_go2critical_lpr/co_gs_go2critical_hpr signal to DD
    * RC is asserted if enabled in PCCFG.go2critical_en register. Note that ar
    * urgent signal can be asserted anytime and as long as required which is i
    * ndependent of address handshaking (it is not associated with any particu
    * lar command).
*/
#undef DDRC_PCFGR_3_RD_PORT_URGENT_EN_DEFVAL 
#undef DDRC_PCFGR_3_RD_PORT_URGENT_EN_SHIFT 
#undef DDRC_PCFGR_3_RD_PORT_URGENT_EN_MASK 
#define DDRC_PCFGR_3_RD_PORT_URGENT_EN_DEFVAL                  0x00000000
#define DDRC_PCFGR_3_RD_PORT_URGENT_EN_SHIFT                   13
#define DDRC_PCFGR_3_RD_PORT_URGENT_EN_MASK                    0x00002000U

/*
* If set to 1, enables aging function for the read channel of the port.
*/
#undef DDRC_PCFGR_3_RD_PORT_AGING_EN_DEFVAL 
#undef DDRC_PCFGR_3_RD_PORT_AGING_EN_SHIFT 
#undef DDRC_PCFGR_3_RD_PORT_AGING_EN_MASK 
#define DDRC_PCFGR_3_RD_PORT_AGING_EN_DEFVAL                   0x00000000
#define DDRC_PCFGR_3_RD_PORT_AGING_EN_SHIFT                    12
#define DDRC_PCFGR_3_RD_PORT_AGING_EN_MASK                     0x00001000U

/*
* Determines the initial load value of read aging counters. These counters
    *  will be parallel loaded after reset, or after each grant to the corresp
    * onding port. The aging counters down-count every clock cycle where the p
    * ort is requesting but not granted. The higher significant 5-bits of the
    * read aging counter sets the priority of the read channel of a given port
    * . Port's priority will increase as the higher significant 5-bits of the
    * counter starts to decrease. When the aging counter becomes 0, the corres
    * ponding port channel will have the highest priority level (timeout condi
    * tion - Priority0). For multi-port configurations, the aging counters can
    * not be used to set port priorities when external dynamic priority inputs
    *  (arqos) are enabled (timeout is still applicable). For single port conf
    * igurations, the aging counters are only used when they timeout (become 0
    * ) to force read-write direction switching. In this case, external dynami
    * c priority input, arqos (for reads only) can still be used to set the DD
    * RC read priority (2 priority levels: low priority read - LPR, high prior
    * ity read - HPR) on a command by command basis. Note: The two LSBs of thi
    * s register field are tied internally to 2'b00.
*/
#undef DDRC_PCFGR_3_RD_PORT_PRIORITY_DEFVAL 
#undef DDRC_PCFGR_3_RD_PORT_PRIORITY_SHIFT 
#undef DDRC_PCFGR_3_RD_PORT_PRIORITY_MASK 
#define DDRC_PCFGR_3_RD_PORT_PRIORITY_DEFVAL                   0x00000000
#define DDRC_PCFGR_3_RD_PORT_PRIORITY_SHIFT                    0
#define DDRC_PCFGR_3_RD_PORT_PRIORITY_MASK                     0x000003FFU

/*
* If set to 1, enables the Page Match feature. If enabled, once a requesti
    * ng port is granted, the port is continued to be granted if the following
    *  immediate commands are to the same memory page (same bank and same row)
    * . See also related PCCFG.pagematch_limit register.
*/
#undef DDRC_PCFGW_3_WR_PORT_PAGEMATCH_EN_DEFVAL 
#undef DDRC_PCFGW_3_WR_PORT_PAGEMATCH_EN_SHIFT 
#undef DDRC_PCFGW_3_WR_PORT_PAGEMATCH_EN_MASK 
#define DDRC_PCFGW_3_WR_PORT_PAGEMATCH_EN_DEFVAL               0x00004000
#define DDRC_PCFGW_3_WR_PORT_PAGEMATCH_EN_SHIFT                14
#define DDRC_PCFGW_3_WR_PORT_PAGEMATCH_EN_MASK                 0x00004000U

/*
* If set to 1, enables the AXI urgent sideband signal (awurgent). When ena
    * bled and awurgent is asserted by the master, that port becomes the highe
    * st priority and co_gs_go2critical_wr signal to DDRC is asserted if enabl
    * ed in PCCFG.go2critical_en register. Note that awurgent signal can be as
    * serted anytime and as long as required which is independent of address h
    * andshaking (it is not associated with any particular command).
*/
#undef DDRC_PCFGW_3_WR_PORT_URGENT_EN_DEFVAL 
#undef DDRC_PCFGW_3_WR_PORT_URGENT_EN_SHIFT 
#undef DDRC_PCFGW_3_WR_PORT_URGENT_EN_MASK 
#define DDRC_PCFGW_3_WR_PORT_URGENT_EN_DEFVAL                  0x00004000
#define DDRC_PCFGW_3_WR_PORT_URGENT_EN_SHIFT                   13
#define DDRC_PCFGW_3_WR_PORT_URGENT_EN_MASK                    0x00002000U

/*
* If set to 1, enables aging function for the write channel of the port.
*/
#undef DDRC_PCFGW_3_WR_PORT_AGING_EN_DEFVAL 
#undef DDRC_PCFGW_3_WR_PORT_AGING_EN_SHIFT 
#undef DDRC_PCFGW_3_WR_PORT_AGING_EN_MASK 
#define DDRC_PCFGW_3_WR_PORT_AGING_EN_DEFVAL                   0x00004000
#define DDRC_PCFGW_3_WR_PORT_AGING_EN_SHIFT                    12
#define DDRC_PCFGW_3_WR_PORT_AGING_EN_MASK                     0x00001000U

/*
* Determines the initial load value of write aging counters. These counter
    * s will be parallel loaded after reset, or after each grant to the corres
    * ponding port. The aging counters down-count every clock cycle where the
    * port is requesting but not granted. The higher significant 5-bits of the
    *  write aging counter sets the initial priority of the write channel of a
    *  given port. Port's priority will increase as the higher significant 5-b
    * its of the counter starts to decrease. When the aging counter becomes 0,
    *  the corresponding port channel will have the highest priority level. Fo
    * r multi-port configurations, the aging counters cannot be used to set po
    * rt priorities when external dynamic priority inputs (awqos) are enabled
    * (timeout is still applicable). For single port configurations, the aging
    *  counters are only used when they timeout (become 0) to force read-write
    *  direction switching. Note: The two LSBs of this register field are tied
    *  internally to 2'b00.
*/
#undef DDRC_PCFGW_3_WR_PORT_PRIORITY_DEFVAL 
#undef DDRC_PCFGW_3_WR_PORT_PRIORITY_SHIFT 
#undef DDRC_PCFGW_3_WR_PORT_PRIORITY_MASK 
#define DDRC_PCFGW_3_WR_PORT_PRIORITY_DEFVAL                   0x00004000
#define DDRC_PCFGW_3_WR_PORT_PRIORITY_SHIFT                    0
#define DDRC_PCFGW_3_WR_PORT_PRIORITY_MASK                     0x000003FFU

/*
* Enables port n.
*/
#undef DDRC_PCTRL_3_PORT_EN_DEFVAL 
#undef DDRC_PCTRL_3_PORT_EN_SHIFT 
#undef DDRC_PCTRL_3_PORT_EN_MASK 
#define DDRC_PCTRL_3_PORT_EN_DEFVAL                            
#define DDRC_PCTRL_3_PORT_EN_SHIFT                             0
#define DDRC_PCTRL_3_PORT_EN_MASK                              0x00000001U

/*
* This bitfield indicates the traffic class of region 1. Valid values are:
    *  0 : LPR, 1: VPR, 2: HPR. For dual address queue configurations, region1
    *  maps to the blue address queue. In this case, valid values are 0: LPR a
    * nd 1: VPR only. When VPR support is disabled (UMCTL2_VPR_EN = 0) and tra
    * ffic class of region 1 is set to 1 (VPR), VPR traffic is aliased to LPR
    * traffic.
*/
#undef DDRC_PCFGQOS0_3_RQOS_MAP_REGION1_DEFVAL 
#undef DDRC_PCFGQOS0_3_RQOS_MAP_REGION1_SHIFT 
#undef DDRC_PCFGQOS0_3_RQOS_MAP_REGION1_MASK 
#define DDRC_PCFGQOS0_3_RQOS_MAP_REGION1_DEFVAL                0x00000000
#define DDRC_PCFGQOS0_3_RQOS_MAP_REGION1_SHIFT                 20
#define DDRC_PCFGQOS0_3_RQOS_MAP_REGION1_MASK                  0x00300000U

/*
* This bitfield indicates the traffic class of region 0. Valid values are:
    *  0: LPR, 1: VPR, 2: HPR. For dual address queue configurations, region 0
    *  maps to the blue address queue. In this case, valid values are: 0: LPR
    * and 1: VPR only. When VPR support is disabled (UMCTL2_VPR_EN = 0) and tr
    * affic class of region0 is set to 1 (VPR), VPR traffic is aliased to LPR
    * traffic.
*/
#undef DDRC_PCFGQOS0_3_RQOS_MAP_REGION0_DEFVAL 
#undef DDRC_PCFGQOS0_3_RQOS_MAP_REGION0_SHIFT 
#undef DDRC_PCFGQOS0_3_RQOS_MAP_REGION0_MASK 
#define DDRC_PCFGQOS0_3_RQOS_MAP_REGION0_DEFVAL                0x00000000
#define DDRC_PCFGQOS0_3_RQOS_MAP_REGION0_SHIFT                 16
#define DDRC_PCFGQOS0_3_RQOS_MAP_REGION0_MASK                  0x00030000U

/*
* Separation level1 indicating the end of region0 mapping; start of region
    * 0 is 0. Possible values for level1 are 0 to 13 (for dual RAQ) or 0 to 14
    *  (for single RAQ) which corresponds to arqos. Note that for PA, arqos va
    * lues are used directly as port priorities, where the higher the value co
    * rresponds to higher port priority. All of the map_level* registers must
    * be set to distinct values.
*/
#undef DDRC_PCFGQOS0_3_RQOS_MAP_LEVEL1_DEFVAL 
#undef DDRC_PCFGQOS0_3_RQOS_MAP_LEVEL1_SHIFT 
#undef DDRC_PCFGQOS0_3_RQOS_MAP_LEVEL1_MASK 
#define DDRC_PCFGQOS0_3_RQOS_MAP_LEVEL1_DEFVAL                 0x00000000
#define DDRC_PCFGQOS0_3_RQOS_MAP_LEVEL1_SHIFT                  0
#define DDRC_PCFGQOS0_3_RQOS_MAP_LEVEL1_MASK                   0x0000000FU

/*
* Specifies the timeout value for transactions mapped to the red address q
    * ueue.
*/
#undef DDRC_PCFGQOS1_3_RQOS_MAP_TIMEOUTR_DEFVAL 
#undef DDRC_PCFGQOS1_3_RQOS_MAP_TIMEOUTR_SHIFT 
#undef DDRC_PCFGQOS1_3_RQOS_MAP_TIMEOUTR_MASK 
#define DDRC_PCFGQOS1_3_RQOS_MAP_TIMEOUTR_DEFVAL               0x00000000
#define DDRC_PCFGQOS1_3_RQOS_MAP_TIMEOUTR_SHIFT                16
#define DDRC_PCFGQOS1_3_RQOS_MAP_TIMEOUTR_MASK                 0x07FF0000U

/*
* Specifies the timeout value for transactions mapped to the blue address
    * queue.
*/
#undef DDRC_PCFGQOS1_3_RQOS_MAP_TIMEOUTB_DEFVAL 
#undef DDRC_PCFGQOS1_3_RQOS_MAP_TIMEOUTB_SHIFT 
#undef DDRC_PCFGQOS1_3_RQOS_MAP_TIMEOUTB_MASK 
#define DDRC_PCFGQOS1_3_RQOS_MAP_TIMEOUTB_DEFVAL               0x00000000
#define DDRC_PCFGQOS1_3_RQOS_MAP_TIMEOUTB_SHIFT                0
#define DDRC_PCFGQOS1_3_RQOS_MAP_TIMEOUTB_MASK                 0x000007FFU

/*
* This bitfield indicates the traffic class of region 1. Valid values are:
    *  0: NPW, 1: VPW. When VPW support is disabled (UMCTL2_VPW_EN = 0) and tr
    * affic class of region 1 is set to 1 (VPW), VPW traffic is aliased to LPW
    *  traffic.
*/
#undef DDRC_PCFGWQOS0_3_WQOS_MAP_REGION1_DEFVAL 
#undef DDRC_PCFGWQOS0_3_WQOS_MAP_REGION1_SHIFT 
#undef DDRC_PCFGWQOS0_3_WQOS_MAP_REGION1_MASK 
#define DDRC_PCFGWQOS0_3_WQOS_MAP_REGION1_DEFVAL               0x00000000
#define DDRC_PCFGWQOS0_3_WQOS_MAP_REGION1_SHIFT                20
#define DDRC_PCFGWQOS0_3_WQOS_MAP_REGION1_MASK                 0x00300000U

/*
* This bitfield indicates the traffic class of region 0. Valid values are:
    *  0: NPW, 1: VPW. When VPW support is disabled (UMCTL2_VPW_EN = 0) and tr
    * affic class of region0 is set to 1 (VPW), VPW traffic is aliased to NPW
    * traffic.
*/
#undef DDRC_PCFGWQOS0_3_WQOS_MAP_REGION0_DEFVAL 
#undef DDRC_PCFGWQOS0_3_WQOS_MAP_REGION0_SHIFT 
#undef DDRC_PCFGWQOS0_3_WQOS_MAP_REGION0_MASK 
#define DDRC_PCFGWQOS0_3_WQOS_MAP_REGION0_DEFVAL               0x00000000
#define DDRC_PCFGWQOS0_3_WQOS_MAP_REGION0_SHIFT                16
#define DDRC_PCFGWQOS0_3_WQOS_MAP_REGION0_MASK                 0x00030000U

/*
* Separation level indicating the end of region0 mapping; start of region0
    *  is 0. Possible values for level1 are 0 to 14 which corresponds to awqos
    * . Note that for PA, awqos values are used directly as port priorities, w
    * here the higher the value corresponds to higher port priority.
*/
#undef DDRC_PCFGWQOS0_3_WQOS_MAP_LEVEL_DEFVAL 
#undef DDRC_PCFGWQOS0_3_WQOS_MAP_LEVEL_SHIFT 
#undef DDRC_PCFGWQOS0_3_WQOS_MAP_LEVEL_MASK 
#define DDRC_PCFGWQOS0_3_WQOS_MAP_LEVEL_DEFVAL                 0x00000000
#define DDRC_PCFGWQOS0_3_WQOS_MAP_LEVEL_SHIFT                  0
#define DDRC_PCFGWQOS0_3_WQOS_MAP_LEVEL_MASK                   0x0000000FU

/*
* Specifies the timeout value for write transactions.
*/
#undef DDRC_PCFGWQOS1_3_WQOS_MAP_TIMEOUT_DEFVAL 
#undef DDRC_PCFGWQOS1_3_WQOS_MAP_TIMEOUT_SHIFT 
#undef DDRC_PCFGWQOS1_3_WQOS_MAP_TIMEOUT_MASK 
#define DDRC_PCFGWQOS1_3_WQOS_MAP_TIMEOUT_DEFVAL               
#define DDRC_PCFGWQOS1_3_WQOS_MAP_TIMEOUT_SHIFT                0
#define DDRC_PCFGWQOS1_3_WQOS_MAP_TIMEOUT_MASK                 0x000007FFU

/*
* If set to 1, enables the Page Match feature. If enabled, once a requesti
    * ng port is granted, the port is continued to be granted if the following
    *  immediate commands are to the same memory page (same bank and same row)
    * . See also related PCCFG.pagematch_limit register.
*/
#undef DDRC_PCFGR_4_RD_PORT_PAGEMATCH_EN_DEFVAL 
#undef DDRC_PCFGR_4_RD_PORT_PAGEMATCH_EN_SHIFT 
#undef DDRC_PCFGR_4_RD_PORT_PAGEMATCH_EN_MASK 
#define DDRC_PCFGR_4_RD_PORT_PAGEMATCH_EN_DEFVAL               0x00000000
#define DDRC_PCFGR_4_RD_PORT_PAGEMATCH_EN_SHIFT                14
#define DDRC_PCFGR_4_RD_PORT_PAGEMATCH_EN_MASK                 0x00004000U

/*
* If set to 1, enables the AXI urgent sideband signal (arurgent). When ena
    * bled and arurgent is asserted by the master, that port becomes the highe
    * st priority and co_gs_go2critical_lpr/co_gs_go2critical_hpr signal to DD
    * RC is asserted if enabled in PCCFG.go2critical_en register. Note that ar
    * urgent signal can be asserted anytime and as long as required which is i
    * ndependent of address handshaking (it is not associated with any particu
    * lar command).
*/
#undef DDRC_PCFGR_4_RD_PORT_URGENT_EN_DEFVAL 
#undef DDRC_PCFGR_4_RD_PORT_URGENT_EN_SHIFT 
#undef DDRC_PCFGR_4_RD_PORT_URGENT_EN_MASK 
#define DDRC_PCFGR_4_RD_PORT_URGENT_EN_DEFVAL                  0x00000000
#define DDRC_PCFGR_4_RD_PORT_URGENT_EN_SHIFT                   13
#define DDRC_PCFGR_4_RD_PORT_URGENT_EN_MASK                    0x00002000U

/*
* If set to 1, enables aging function for the read channel of the port.
*/
#undef DDRC_PCFGR_4_RD_PORT_AGING_EN_DEFVAL 
#undef DDRC_PCFGR_4_RD_PORT_AGING_EN_SHIFT 
#undef DDRC_PCFGR_4_RD_PORT_AGING_EN_MASK 
#define DDRC_PCFGR_4_RD_PORT_AGING_EN_DEFVAL                   0x00000000
#define DDRC_PCFGR_4_RD_PORT_AGING_EN_SHIFT                    12
#define DDRC_PCFGR_4_RD_PORT_AGING_EN_MASK                     0x00001000U

/*
* Determines the initial load value of read aging counters. These counters
    *  will be parallel loaded after reset, or after each grant to the corresp
    * onding port. The aging counters down-count every clock cycle where the p
    * ort is requesting but not granted. The higher significant 5-bits of the
    * read aging counter sets the priority of the read channel of a given port
    * . Port's priority will increase as the higher significant 5-bits of the
    * counter starts to decrease. When the aging counter becomes 0, the corres
    * ponding port channel will have the highest priority level (timeout condi
    * tion - Priority0). For multi-port configurations, the aging counters can
    * not be used to set port priorities when external dynamic priority inputs
    *  (arqos) are enabled (timeout is still applicable). For single port conf
    * igurations, the aging counters are only used when they timeout (become 0
    * ) to force read-write direction switching. In this case, external dynami
    * c priority input, arqos (for reads only) can still be used to set the DD
    * RC read priority (2 priority levels: low priority read - LPR, high prior
    * ity read - HPR) on a command by command basis. Note: The two LSBs of thi
    * s register field are tied internally to 2'b00.
*/
#undef DDRC_PCFGR_4_RD_PORT_PRIORITY_DEFVAL 
#undef DDRC_PCFGR_4_RD_PORT_PRIORITY_SHIFT 
#undef DDRC_PCFGR_4_RD_PORT_PRIORITY_MASK 
#define DDRC_PCFGR_4_RD_PORT_PRIORITY_DEFVAL                   0x00000000
#define DDRC_PCFGR_4_RD_PORT_PRIORITY_SHIFT                    0
#define DDRC_PCFGR_4_RD_PORT_PRIORITY_MASK                     0x000003FFU

/*
* If set to 1, enables the Page Match feature. If enabled, once a requesti
    * ng port is granted, the port is continued to be granted if the following
    *  immediate commands are to the same memory page (same bank and same row)
    * . See also related PCCFG.pagematch_limit register.
*/
#undef DDRC_PCFGW_4_WR_PORT_PAGEMATCH_EN_DEFVAL 
#undef DDRC_PCFGW_4_WR_PORT_PAGEMATCH_EN_SHIFT 
#undef DDRC_PCFGW_4_WR_PORT_PAGEMATCH_EN_MASK 
#define DDRC_PCFGW_4_WR_PORT_PAGEMATCH_EN_DEFVAL               0x00004000
#define DDRC_PCFGW_4_WR_PORT_PAGEMATCH_EN_SHIFT                14
#define DDRC_PCFGW_4_WR_PORT_PAGEMATCH_EN_MASK                 0x00004000U

/*
* If set to 1, enables the AXI urgent sideband signal (awurgent). When ena
    * bled and awurgent is asserted by the master, that port becomes the highe
    * st priority and co_gs_go2critical_wr signal to DDRC is asserted if enabl
    * ed in PCCFG.go2critical_en register. Note that awurgent signal can be as
    * serted anytime and as long as required which is independent of address h
    * andshaking (it is not associated with any particular command).
*/
#undef DDRC_PCFGW_4_WR_PORT_URGENT_EN_DEFVAL 
#undef DDRC_PCFGW_4_WR_PORT_URGENT_EN_SHIFT 
#undef DDRC_PCFGW_4_WR_PORT_URGENT_EN_MASK 
#define DDRC_PCFGW_4_WR_PORT_URGENT_EN_DEFVAL                  0x00004000
#define DDRC_PCFGW_4_WR_PORT_URGENT_EN_SHIFT                   13
#define DDRC_PCFGW_4_WR_PORT_URGENT_EN_MASK                    0x00002000U

/*
* If set to 1, enables aging function for the write channel of the port.
*/
#undef DDRC_PCFGW_4_WR_PORT_AGING_EN_DEFVAL 
#undef DDRC_PCFGW_4_WR_PORT_AGING_EN_SHIFT 
#undef DDRC_PCFGW_4_WR_PORT_AGING_EN_MASK 
#define DDRC_PCFGW_4_WR_PORT_AGING_EN_DEFVAL                   0x00004000
#define DDRC_PCFGW_4_WR_PORT_AGING_EN_SHIFT                    12
#define DDRC_PCFGW_4_WR_PORT_AGING_EN_MASK                     0x00001000U

/*
* Determines the initial load value of write aging counters. These counter
    * s will be parallel loaded after reset, or after each grant to the corres
    * ponding port. The aging counters down-count every clock cycle where the
    * port is requesting but not granted. The higher significant 5-bits of the
    *  write aging counter sets the initial priority of the write channel of a
    *  given port. Port's priority will increase as the higher significant 5-b
    * its of the counter starts to decrease. When the aging counter becomes 0,
    *  the corresponding port channel will have the highest priority level. Fo
    * r multi-port configurations, the aging counters cannot be used to set po
    * rt priorities when external dynamic priority inputs (awqos) are enabled
    * (timeout is still applicable). For single port configurations, the aging
    *  counters are only used when they timeout (become 0) to force read-write
    *  direction switching. Note: The two LSBs of this register field are tied
    *  internally to 2'b00.
*/
#undef DDRC_PCFGW_4_WR_PORT_PRIORITY_DEFVAL 
#undef DDRC_PCFGW_4_WR_PORT_PRIORITY_SHIFT 
#undef DDRC_PCFGW_4_WR_PORT_PRIORITY_MASK 
#define DDRC_PCFGW_4_WR_PORT_PRIORITY_DEFVAL                   0x00004000
#define DDRC_PCFGW_4_WR_PORT_PRIORITY_SHIFT                    0
#define DDRC_PCFGW_4_WR_PORT_PRIORITY_MASK                     0x000003FFU

/*
* Enables port n.
*/
#undef DDRC_PCTRL_4_PORT_EN_DEFVAL 
#undef DDRC_PCTRL_4_PORT_EN_SHIFT 
#undef DDRC_PCTRL_4_PORT_EN_MASK 
#define DDRC_PCTRL_4_PORT_EN_DEFVAL                            
#define DDRC_PCTRL_4_PORT_EN_SHIFT                             0
#define DDRC_PCTRL_4_PORT_EN_MASK                              0x00000001U

/*
* This bitfield indicates the traffic class of region 1. Valid values are:
    *  0 : LPR, 1: VPR, 2: HPR. For dual address queue configurations, region1
    *  maps to the blue address queue. In this case, valid values are 0: LPR a
    * nd 1: VPR only. When VPR support is disabled (UMCTL2_VPR_EN = 0) and tra
    * ffic class of region 1 is set to 1 (VPR), VPR traffic is aliased to LPR
    * traffic.
*/
#undef DDRC_PCFGQOS0_4_RQOS_MAP_REGION1_DEFVAL 
#undef DDRC_PCFGQOS0_4_RQOS_MAP_REGION1_SHIFT 
#undef DDRC_PCFGQOS0_4_RQOS_MAP_REGION1_MASK 
#define DDRC_PCFGQOS0_4_RQOS_MAP_REGION1_DEFVAL                0x00000000
#define DDRC_PCFGQOS0_4_RQOS_MAP_REGION1_SHIFT                 20
#define DDRC_PCFGQOS0_4_RQOS_MAP_REGION1_MASK                  0x00300000U

/*
* This bitfield indicates the traffic class of region 0. Valid values are:
    *  0: LPR, 1: VPR, 2: HPR. For dual address queue configurations, region 0
    *  maps to the blue address queue. In this case, valid values are: 0: LPR
    * and 1: VPR only. When VPR support is disabled (UMCTL2_VPR_EN = 0) and tr
    * affic class of region0 is set to 1 (VPR), VPR traffic is aliased to LPR
    * traffic.
*/
#undef DDRC_PCFGQOS0_4_RQOS_MAP_REGION0_DEFVAL 
#undef DDRC_PCFGQOS0_4_RQOS_MAP_REGION0_SHIFT 
#undef DDRC_PCFGQOS0_4_RQOS_MAP_REGION0_MASK 
#define DDRC_PCFGQOS0_4_RQOS_MAP_REGION0_DEFVAL                0x00000000
#define DDRC_PCFGQOS0_4_RQOS_MAP_REGION0_SHIFT                 16
#define DDRC_PCFGQOS0_4_RQOS_MAP_REGION0_MASK                  0x00030000U

/*
* Separation level1 indicating the end of region0 mapping; start of region
    * 0 is 0. Possible values for level1 are 0 to 13 (for dual RAQ) or 0 to 14
    *  (for single RAQ) which corresponds to arqos. Note that for PA, arqos va
    * lues are used directly as port priorities, where the higher the value co
    * rresponds to higher port priority. All of the map_level* registers must
    * be set to distinct values.
*/
#undef DDRC_PCFGQOS0_4_RQOS_MAP_LEVEL1_DEFVAL 
#undef DDRC_PCFGQOS0_4_RQOS_MAP_LEVEL1_SHIFT 
#undef DDRC_PCFGQOS0_4_RQOS_MAP_LEVEL1_MASK 
#define DDRC_PCFGQOS0_4_RQOS_MAP_LEVEL1_DEFVAL                 0x00000000
#define DDRC_PCFGQOS0_4_RQOS_MAP_LEVEL1_SHIFT                  0
#define DDRC_PCFGQOS0_4_RQOS_MAP_LEVEL1_MASK                   0x0000000FU

/*
* Specifies the timeout value for transactions mapped to the red address q
    * ueue.
*/
#undef DDRC_PCFGQOS1_4_RQOS_MAP_TIMEOUTR_DEFVAL 
#undef DDRC_PCFGQOS1_4_RQOS_MAP_TIMEOUTR_SHIFT 
#undef DDRC_PCFGQOS1_4_RQOS_MAP_TIMEOUTR_MASK 
#define DDRC_PCFGQOS1_4_RQOS_MAP_TIMEOUTR_DEFVAL               0x00000000
#define DDRC_PCFGQOS1_4_RQOS_MAP_TIMEOUTR_SHIFT                16
#define DDRC_PCFGQOS1_4_RQOS_MAP_TIMEOUTR_MASK                 0x07FF0000U

/*
* Specifies the timeout value for transactions mapped to the blue address
    * queue.
*/
#undef DDRC_PCFGQOS1_4_RQOS_MAP_TIMEOUTB_DEFVAL 
#undef DDRC_PCFGQOS1_4_RQOS_MAP_TIMEOUTB_SHIFT 
#undef DDRC_PCFGQOS1_4_RQOS_MAP_TIMEOUTB_MASK 
#define DDRC_PCFGQOS1_4_RQOS_MAP_TIMEOUTB_DEFVAL               0x00000000
#define DDRC_PCFGQOS1_4_RQOS_MAP_TIMEOUTB_SHIFT                0
#define DDRC_PCFGQOS1_4_RQOS_MAP_TIMEOUTB_MASK                 0x000007FFU

/*
* This bitfield indicates the traffic class of region 1. Valid values are:
    *  0: NPW, 1: VPW. When VPW support is disabled (UMCTL2_VPW_EN = 0) and tr
    * affic class of region 1 is set to 1 (VPW), VPW traffic is aliased to LPW
    *  traffic.
*/
#undef DDRC_PCFGWQOS0_4_WQOS_MAP_REGION1_DEFVAL 
#undef DDRC_PCFGWQOS0_4_WQOS_MAP_REGION1_SHIFT 
#undef DDRC_PCFGWQOS0_4_WQOS_MAP_REGION1_MASK 
#define DDRC_PCFGWQOS0_4_WQOS_MAP_REGION1_DEFVAL               0x00000000
#define DDRC_PCFGWQOS0_4_WQOS_MAP_REGION1_SHIFT                20
#define DDRC_PCFGWQOS0_4_WQOS_MAP_REGION1_MASK                 0x00300000U

/*
* This bitfield indicates the traffic class of region 0. Valid values are:
    *  0: NPW, 1: VPW. When VPW support is disabled (UMCTL2_VPW_EN = 0) and tr
    * affic class of region0 is set to 1 (VPW), VPW traffic is aliased to NPW
    * traffic.
*/
#undef DDRC_PCFGWQOS0_4_WQOS_MAP_REGION0_DEFVAL 
#undef DDRC_PCFGWQOS0_4_WQOS_MAP_REGION0_SHIFT 
#undef DDRC_PCFGWQOS0_4_WQOS_MAP_REGION0_MASK 
#define DDRC_PCFGWQOS0_4_WQOS_MAP_REGION0_DEFVAL               0x00000000
#define DDRC_PCFGWQOS0_4_WQOS_MAP_REGION0_SHIFT                16
#define DDRC_PCFGWQOS0_4_WQOS_MAP_REGION0_MASK                 0x00030000U

/*
* Separation level indicating the end of region0 mapping; start of region0
    *  is 0. Possible values for level1 are 0 to 14 which corresponds to awqos
    * . Note that for PA, awqos values are used directly as port priorities, w
    * here the higher the value corresponds to higher port priority.
*/
#undef DDRC_PCFGWQOS0_4_WQOS_MAP_LEVEL_DEFVAL 
#undef DDRC_PCFGWQOS0_4_WQOS_MAP_LEVEL_SHIFT 
#undef DDRC_PCFGWQOS0_4_WQOS_MAP_LEVEL_MASK 
#define DDRC_PCFGWQOS0_4_WQOS_MAP_LEVEL_DEFVAL                 0x00000000
#define DDRC_PCFGWQOS0_4_WQOS_MAP_LEVEL_SHIFT                  0
#define DDRC_PCFGWQOS0_4_WQOS_MAP_LEVEL_MASK                   0x0000000FU

/*
* Specifies the timeout value for write transactions.
*/
#undef DDRC_PCFGWQOS1_4_WQOS_MAP_TIMEOUT_DEFVAL 
#undef DDRC_PCFGWQOS1_4_WQOS_MAP_TIMEOUT_SHIFT 
#undef DDRC_PCFGWQOS1_4_WQOS_MAP_TIMEOUT_MASK 
#define DDRC_PCFGWQOS1_4_WQOS_MAP_TIMEOUT_DEFVAL               
#define DDRC_PCFGWQOS1_4_WQOS_MAP_TIMEOUT_SHIFT                0
#define DDRC_PCFGWQOS1_4_WQOS_MAP_TIMEOUT_MASK                 0x000007FFU

/*
* If set to 1, enables the Page Match feature. If enabled, once a requesti
    * ng port is granted, the port is continued to be granted if the following
    *  immediate commands are to the same memory page (same bank and same row)
    * . See also related PCCFG.pagematch_limit register.
*/
#undef DDRC_PCFGR_5_RD_PORT_PAGEMATCH_EN_DEFVAL 
#undef DDRC_PCFGR_5_RD_PORT_PAGEMATCH_EN_SHIFT 
#undef DDRC_PCFGR_5_RD_PORT_PAGEMATCH_EN_MASK 
#define DDRC_PCFGR_5_RD_PORT_PAGEMATCH_EN_DEFVAL               0x00000000
#define DDRC_PCFGR_5_RD_PORT_PAGEMATCH_EN_SHIFT                14
#define DDRC_PCFGR_5_RD_PORT_PAGEMATCH_EN_MASK                 0x00004000U

/*
* If set to 1, enables the AXI urgent sideband signal (arurgent). When ena
    * bled and arurgent is asserted by the master, that port becomes the highe
    * st priority and co_gs_go2critical_lpr/co_gs_go2critical_hpr signal to DD
    * RC is asserted if enabled in PCCFG.go2critical_en register. Note that ar
    * urgent signal can be asserted anytime and as long as required which is i
    * ndependent of address handshaking (it is not associated with any particu
    * lar command).
*/
#undef DDRC_PCFGR_5_RD_PORT_URGENT_EN_DEFVAL 
#undef DDRC_PCFGR_5_RD_PORT_URGENT_EN_SHIFT 
#undef DDRC_PCFGR_5_RD_PORT_URGENT_EN_MASK 
#define DDRC_PCFGR_5_RD_PORT_URGENT_EN_DEFVAL                  0x00000000
#define DDRC_PCFGR_5_RD_PORT_URGENT_EN_SHIFT                   13
#define DDRC_PCFGR_5_RD_PORT_URGENT_EN_MASK                    0x00002000U

/*
* If set to 1, enables aging function for the read channel of the port.
*/
#undef DDRC_PCFGR_5_RD_PORT_AGING_EN_DEFVAL 
#undef DDRC_PCFGR_5_RD_PORT_AGING_EN_SHIFT 
#undef DDRC_PCFGR_5_RD_PORT_AGING_EN_MASK 
#define DDRC_PCFGR_5_RD_PORT_AGING_EN_DEFVAL                   0x00000000
#define DDRC_PCFGR_5_RD_PORT_AGING_EN_SHIFT                    12
#define DDRC_PCFGR_5_RD_PORT_AGING_EN_MASK                     0x00001000U

/*
* Determines the initial load value of read aging counters. These counters
    *  will be parallel loaded after reset, or after each grant to the corresp
    * onding port. The aging counters down-count every clock cycle where the p
    * ort is requesting but not granted. The higher significant 5-bits of the
    * read aging counter sets the priority of the read channel of a given port
    * . Port's priority will increase as the higher significant 5-bits of the
    * counter starts to decrease. When the aging counter becomes 0, the corres
    * ponding port channel will have the highest priority level (timeout condi
    * tion - Priority0). For multi-port configurations, the aging counters can
    * not be used to set port priorities when external dynamic priority inputs
    *  (arqos) are enabled (timeout is still applicable). For single port conf
    * igurations, the aging counters are only used when they timeout (become 0
    * ) to force read-write direction switching. In this case, external dynami
    * c priority input, arqos (for reads only) can still be used to set the DD
    * RC read priority (2 priority levels: low priority read - LPR, high prior
    * ity read - HPR) on a command by command basis. Note: The two LSBs of thi
    * s register field are tied internally to 2'b00.
*/
#undef DDRC_PCFGR_5_RD_PORT_PRIORITY_DEFVAL 
#undef DDRC_PCFGR_5_RD_PORT_PRIORITY_SHIFT 
#undef DDRC_PCFGR_5_RD_PORT_PRIORITY_MASK 
#define DDRC_PCFGR_5_RD_PORT_PRIORITY_DEFVAL                   0x00000000
#define DDRC_PCFGR_5_RD_PORT_PRIORITY_SHIFT                    0
#define DDRC_PCFGR_5_RD_PORT_PRIORITY_MASK                     0x000003FFU

/*
* If set to 1, enables the Page Match feature. If enabled, once a requesti
    * ng port is granted, the port is continued to be granted if the following
    *  immediate commands are to the same memory page (same bank and same row)
    * . See also related PCCFG.pagematch_limit register.
*/
#undef DDRC_PCFGW_5_WR_PORT_PAGEMATCH_EN_DEFVAL 
#undef DDRC_PCFGW_5_WR_PORT_PAGEMATCH_EN_SHIFT 
#undef DDRC_PCFGW_5_WR_PORT_PAGEMATCH_EN_MASK 
#define DDRC_PCFGW_5_WR_PORT_PAGEMATCH_EN_DEFVAL               0x00004000
#define DDRC_PCFGW_5_WR_PORT_PAGEMATCH_EN_SHIFT                14
#define DDRC_PCFGW_5_WR_PORT_PAGEMATCH_EN_MASK                 0x00004000U

/*
* If set to 1, enables the AXI urgent sideband signal (awurgent). When ena
    * bled and awurgent is asserted by the master, that port becomes the highe
    * st priority and co_gs_go2critical_wr signal to DDRC is asserted if enabl
    * ed in PCCFG.go2critical_en register. Note that awurgent signal can be as
    * serted anytime and as long as required which is independent of address h
    * andshaking (it is not associated with any particular command).
*/
#undef DDRC_PCFGW_5_WR_PORT_URGENT_EN_DEFVAL 
#undef DDRC_PCFGW_5_WR_PORT_URGENT_EN_SHIFT 
#undef DDRC_PCFGW_5_WR_PORT_URGENT_EN_MASK 
#define DDRC_PCFGW_5_WR_PORT_URGENT_EN_DEFVAL                  0x00004000
#define DDRC_PCFGW_5_WR_PORT_URGENT_EN_SHIFT                   13
#define DDRC_PCFGW_5_WR_PORT_URGENT_EN_MASK                    0x00002000U

/*
* If set to 1, enables aging function for the write channel of the port.
*/
#undef DDRC_PCFGW_5_WR_PORT_AGING_EN_DEFVAL 
#undef DDRC_PCFGW_5_WR_PORT_AGING_EN_SHIFT 
#undef DDRC_PCFGW_5_WR_PORT_AGING_EN_MASK 
#define DDRC_PCFGW_5_WR_PORT_AGING_EN_DEFVAL                   0x00004000
#define DDRC_PCFGW_5_WR_PORT_AGING_EN_SHIFT                    12
#define DDRC_PCFGW_5_WR_PORT_AGING_EN_MASK                     0x00001000U

/*
* Determines the initial load value of write aging counters. These counter
    * s will be parallel loaded after reset, or after each grant to the corres
    * ponding port. The aging counters down-count every clock cycle where the
    * port is requesting but not granted. The higher significant 5-bits of the
    *  write aging counter sets the initial priority of the write channel of a
    *  given port. Port's priority will increase as the higher significant 5-b
    * its of the counter starts to decrease. When the aging counter becomes 0,
    *  the corresponding port channel will have the highest priority level. Fo
    * r multi-port configurations, the aging counters cannot be used to set po
    * rt priorities when external dynamic priority inputs (awqos) are enabled
    * (timeout is still applicable). For single port configurations, the aging
    *  counters are only used when they timeout (become 0) to force read-write
    *  direction switching. Note: The two LSBs of this register field are tied
    *  internally to 2'b00.
*/
#undef DDRC_PCFGW_5_WR_PORT_PRIORITY_DEFVAL 
#undef DDRC_PCFGW_5_WR_PORT_PRIORITY_SHIFT 
#undef DDRC_PCFGW_5_WR_PORT_PRIORITY_MASK 
#define DDRC_PCFGW_5_WR_PORT_PRIORITY_DEFVAL                   0x00004000
#define DDRC_PCFGW_5_WR_PORT_PRIORITY_SHIFT                    0
#define DDRC_PCFGW_5_WR_PORT_PRIORITY_MASK                     0x000003FFU

/*
* Enables port n.
*/
#undef DDRC_PCTRL_5_PORT_EN_DEFVAL 
#undef DDRC_PCTRL_5_PORT_EN_SHIFT 
#undef DDRC_PCTRL_5_PORT_EN_MASK 
#define DDRC_PCTRL_5_PORT_EN_DEFVAL                            
#define DDRC_PCTRL_5_PORT_EN_SHIFT                             0
#define DDRC_PCTRL_5_PORT_EN_MASK                              0x00000001U

/*
* This bitfield indicates the traffic class of region 1. Valid values are:
    *  0 : LPR, 1: VPR, 2: HPR. For dual address queue configurations, region1
    *  maps to the blue address queue. In this case, valid values are 0: LPR a
    * nd 1: VPR only. When VPR support is disabled (UMCTL2_VPR_EN = 0) and tra
    * ffic class of region 1 is set to 1 (VPR), VPR traffic is aliased to LPR
    * traffic.
*/
#undef DDRC_PCFGQOS0_5_RQOS_MAP_REGION1_DEFVAL 
#undef DDRC_PCFGQOS0_5_RQOS_MAP_REGION1_SHIFT 
#undef DDRC_PCFGQOS0_5_RQOS_MAP_REGION1_MASK 
#define DDRC_PCFGQOS0_5_RQOS_MAP_REGION1_DEFVAL                0x00000000
#define DDRC_PCFGQOS0_5_RQOS_MAP_REGION1_SHIFT                 20
#define DDRC_PCFGQOS0_5_RQOS_MAP_REGION1_MASK                  0x00300000U

/*
* This bitfield indicates the traffic class of region 0. Valid values are:
    *  0: LPR, 1: VPR, 2: HPR. For dual address queue configurations, region 0
    *  maps to the blue address queue. In this case, valid values are: 0: LPR
    * and 1: VPR only. When VPR support is disabled (UMCTL2_VPR_EN = 0) and tr
    * affic class of region0 is set to 1 (VPR), VPR traffic is aliased to LPR
    * traffic.
*/
#undef DDRC_PCFGQOS0_5_RQOS_MAP_REGION0_DEFVAL 
#undef DDRC_PCFGQOS0_5_RQOS_MAP_REGION0_SHIFT 
#undef DDRC_PCFGQOS0_5_RQOS_MAP_REGION0_MASK 
#define DDRC_PCFGQOS0_5_RQOS_MAP_REGION0_DEFVAL                0x00000000
#define DDRC_PCFGQOS0_5_RQOS_MAP_REGION0_SHIFT                 16
#define DDRC_PCFGQOS0_5_RQOS_MAP_REGION0_MASK                  0x00030000U

/*
* Separation level1 indicating the end of region0 mapping; start of region
    * 0 is 0. Possible values for level1 are 0 to 13 (for dual RAQ) or 0 to 14
    *  (for single RAQ) which corresponds to arqos. Note that for PA, arqos va
    * lues are used directly as port priorities, where the higher the value co
    * rresponds to higher port priority. All of the map_level* registers must
    * be set to distinct values.
*/
#undef DDRC_PCFGQOS0_5_RQOS_MAP_LEVEL1_DEFVAL 
#undef DDRC_PCFGQOS0_5_RQOS_MAP_LEVEL1_SHIFT 
#undef DDRC_PCFGQOS0_5_RQOS_MAP_LEVEL1_MASK 
#define DDRC_PCFGQOS0_5_RQOS_MAP_LEVEL1_DEFVAL                 0x00000000
#define DDRC_PCFGQOS0_5_RQOS_MAP_LEVEL1_SHIFT                  0
#define DDRC_PCFGQOS0_5_RQOS_MAP_LEVEL1_MASK                   0x0000000FU

/*
* Specifies the timeout value for transactions mapped to the red address q
    * ueue.
*/
#undef DDRC_PCFGQOS1_5_RQOS_MAP_TIMEOUTR_DEFVAL 
#undef DDRC_PCFGQOS1_5_RQOS_MAP_TIMEOUTR_SHIFT 
#undef DDRC_PCFGQOS1_5_RQOS_MAP_TIMEOUTR_MASK 
#define DDRC_PCFGQOS1_5_RQOS_MAP_TIMEOUTR_DEFVAL               0x00000000
#define DDRC_PCFGQOS1_5_RQOS_MAP_TIMEOUTR_SHIFT                16
#define DDRC_PCFGQOS1_5_RQOS_MAP_TIMEOUTR_MASK                 0x07FF0000U

/*
* Specifies the timeout value for transactions mapped to the blue address
    * queue.
*/
#undef DDRC_PCFGQOS1_5_RQOS_MAP_TIMEOUTB_DEFVAL 
#undef DDRC_PCFGQOS1_5_RQOS_MAP_TIMEOUTB_SHIFT 
#undef DDRC_PCFGQOS1_5_RQOS_MAP_TIMEOUTB_MASK 
#define DDRC_PCFGQOS1_5_RQOS_MAP_TIMEOUTB_DEFVAL               0x00000000
#define DDRC_PCFGQOS1_5_RQOS_MAP_TIMEOUTB_SHIFT                0
#define DDRC_PCFGQOS1_5_RQOS_MAP_TIMEOUTB_MASK                 0x000007FFU

/*
* This bitfield indicates the traffic class of region 1. Valid values are:
    *  0: NPW, 1: VPW. When VPW support is disabled (UMCTL2_VPW_EN = 0) and tr
    * affic class of region 1 is set to 1 (VPW), VPW traffic is aliased to LPW
    *  traffic.
*/
#undef DDRC_PCFGWQOS0_5_WQOS_MAP_REGION1_DEFVAL 
#undef DDRC_PCFGWQOS0_5_WQOS_MAP_REGION1_SHIFT 
#undef DDRC_PCFGWQOS0_5_WQOS_MAP_REGION1_MASK 
#define DDRC_PCFGWQOS0_5_WQOS_MAP_REGION1_DEFVAL               0x00000000
#define DDRC_PCFGWQOS0_5_WQOS_MAP_REGION1_SHIFT                20
#define DDRC_PCFGWQOS0_5_WQOS_MAP_REGION1_MASK                 0x00300000U

/*
* This bitfield indicates the traffic class of region 0. Valid values are:
    *  0: NPW, 1: VPW. When VPW support is disabled (UMCTL2_VPW_EN = 0) and tr
    * affic class of region0 is set to 1 (VPW), VPW traffic is aliased to NPW
    * traffic.
*/
#undef DDRC_PCFGWQOS0_5_WQOS_MAP_REGION0_DEFVAL 
#undef DDRC_PCFGWQOS0_5_WQOS_MAP_REGION0_SHIFT 
#undef DDRC_PCFGWQOS0_5_WQOS_MAP_REGION0_MASK 
#define DDRC_PCFGWQOS0_5_WQOS_MAP_REGION0_DEFVAL               0x00000000
#define DDRC_PCFGWQOS0_5_WQOS_MAP_REGION0_SHIFT                16
#define DDRC_PCFGWQOS0_5_WQOS_MAP_REGION0_MASK                 0x00030000U

/*
* Separation level indicating the end of region0 mapping; start of region0
    *  is 0. Possible values for level1 are 0 to 14 which corresponds to awqos
    * . Note that for PA, awqos values are used directly as port priorities, w
    * here the higher the value corresponds to higher port priority.
*/
#undef DDRC_PCFGWQOS0_5_WQOS_MAP_LEVEL_DEFVAL 
#undef DDRC_PCFGWQOS0_5_WQOS_MAP_LEVEL_SHIFT 
#undef DDRC_PCFGWQOS0_5_WQOS_MAP_LEVEL_MASK 
#define DDRC_PCFGWQOS0_5_WQOS_MAP_LEVEL_DEFVAL                 0x00000000
#define DDRC_PCFGWQOS0_5_WQOS_MAP_LEVEL_SHIFT                  0
#define DDRC_PCFGWQOS0_5_WQOS_MAP_LEVEL_MASK                   0x0000000FU

/*
* Specifies the timeout value for write transactions.
*/
#undef DDRC_PCFGWQOS1_5_WQOS_MAP_TIMEOUT_DEFVAL 
#undef DDRC_PCFGWQOS1_5_WQOS_MAP_TIMEOUT_SHIFT 
#undef DDRC_PCFGWQOS1_5_WQOS_MAP_TIMEOUT_MASK 
#define DDRC_PCFGWQOS1_5_WQOS_MAP_TIMEOUT_DEFVAL               
#define DDRC_PCFGWQOS1_5_WQOS_MAP_TIMEOUT_SHIFT                0
#define DDRC_PCFGWQOS1_5_WQOS_MAP_TIMEOUT_MASK                 0x000007FFU

/*
* Base address for address region n specified as awaddr[UMCTL2_A_ADDRW-1:x
    * ] and araddr[UMCTL2_A_ADDRW-1:x] where x is determined by the minimum bl
    * ock size parameter UMCTL2_SARMINSIZE: (x=log2(block size)).
*/
#undef DDRC_SARBASE0_BASE_ADDR_DEFVAL 
#undef DDRC_SARBASE0_BASE_ADDR_SHIFT 
#undef DDRC_SARBASE0_BASE_ADDR_MASK 
#define DDRC_SARBASE0_BASE_ADDR_DEFVAL                         
#define DDRC_SARBASE0_BASE_ADDR_SHIFT                          0
#define DDRC_SARBASE0_BASE_ADDR_MASK                           0x000001FFU

/*
* Number of blocks for address region n. This register determines the tota
    * l size of the region in multiples of minimum block size as specified by
    * the hardware parameter UMCTL2_SARMINSIZE. The register value is encoded
    * as number of blocks = nblocks + 1. For example, if register is programme
    * d to 0, region will have 1 block.
*/
#undef DDRC_SARSIZE0_NBLOCKS_DEFVAL 
#undef DDRC_SARSIZE0_NBLOCKS_SHIFT 
#undef DDRC_SARSIZE0_NBLOCKS_MASK 
#define DDRC_SARSIZE0_NBLOCKS_DEFVAL                           
#define DDRC_SARSIZE0_NBLOCKS_SHIFT                            0
#define DDRC_SARSIZE0_NBLOCKS_MASK                             0x000000FFU

/*
* Base address for address region n specified as awaddr[UMCTL2_A_ADDRW-1:x
    * ] and araddr[UMCTL2_A_ADDRW-1:x] where x is determined by the minimum bl
    * ock size parameter UMCTL2_SARMINSIZE: (x=log2(block size)).
*/
#undef DDRC_SARBASE1_BASE_ADDR_DEFVAL 
#undef DDRC_SARBASE1_BASE_ADDR_SHIFT 
#undef DDRC_SARBASE1_BASE_ADDR_MASK 
#define DDRC_SARBASE1_BASE_ADDR_DEFVAL                         
#define DDRC_SARBASE1_BASE_ADDR_SHIFT                          0
#define DDRC_SARBASE1_BASE_ADDR_MASK                           0x000001FFU

/*
* Number of blocks for address region n. This register determines the tota
    * l size of the region in multiples of minimum block size as specified by
    * the hardware parameter UMCTL2_SARMINSIZE. The register value is encoded
    * as number of blocks = nblocks + 1. For example, if register is programme
    * d to 0, region will have 1 block.
*/
#undef DDRC_SARSIZE1_NBLOCKS_DEFVAL 
#undef DDRC_SARSIZE1_NBLOCKS_SHIFT 
#undef DDRC_SARSIZE1_NBLOCKS_MASK 
#define DDRC_SARSIZE1_NBLOCKS_DEFVAL                           
#define DDRC_SARSIZE1_NBLOCKS_SHIFT                            0
#define DDRC_SARSIZE1_NBLOCKS_MASK                             0x000000FFU

/*
* Specifies the number of DFI clock cycles after an assertion or de-assert
    * ion of the DFI control signals that the control signals at the PHY-DRAM
    * interface reflect the assertion or de-assertion. If the DFI clock and th
    * e memory clock are not phase-aligned, this timing parameter should be ro
    * unded up to the next integer value. Note that if using RDIMM, it is nece
    * ssary to increment this parameter by RDIMM's extra cycle of latency in t
    * erms of DFI clock.
*/
#undef DDRC_DFITMG0_SHADOW_DFI_T_CTRL_DELAY_DEFVAL 
#undef DDRC_DFITMG0_SHADOW_DFI_T_CTRL_DELAY_SHIFT 
#undef DDRC_DFITMG0_SHADOW_DFI_T_CTRL_DELAY_MASK 
#define DDRC_DFITMG0_SHADOW_DFI_T_CTRL_DELAY_DEFVAL            0x07020002
#define DDRC_DFITMG0_SHADOW_DFI_T_CTRL_DELAY_SHIFT             24
#define DDRC_DFITMG0_SHADOW_DFI_T_CTRL_DELAY_MASK              0x1F000000U

/*
* Defines whether dfi_rddata_en/dfi_rddata/dfi_rddata_valid is generated u
    * sing HDR or SDR values Selects whether value in DFITMG0.dfi_t_rddata_en
    * is in terms of SDR or HDR clock cycles: - 0 in terms of HDR clock cycles
    *  - 1 in terms of SDR clock cycles Refer to PHY specification for correct
    *  value.
*/
#undef DDRC_DFITMG0_SHADOW_DFI_RDDATA_USE_SDR_DEFVAL 
#undef DDRC_DFITMG0_SHADOW_DFI_RDDATA_USE_SDR_SHIFT 
#undef DDRC_DFITMG0_SHADOW_DFI_RDDATA_USE_SDR_MASK 
#define DDRC_DFITMG0_SHADOW_DFI_RDDATA_USE_SDR_DEFVAL          0x07020002
#define DDRC_DFITMG0_SHADOW_DFI_RDDATA_USE_SDR_SHIFT           23
#define DDRC_DFITMG0_SHADOW_DFI_RDDATA_USE_SDR_MASK            0x00800000U

/*
* Time from the assertion of a read command on the DFI interface to the as
    * sertion of the dfi_rddata_en signal. Refer to PHY specification for corr
    * ect value. This corresponds to the DFI parameter trddata_en. Note that,
    * depending on the PHY, if using RDIMM, it may be necessary to use the val
    * ue (CL + 1) in the calculation of trddata_en. This is to compensate for
    * the extra cycle of latency through the RDIMM. Unit: Clocks
*/
#undef DDRC_DFITMG0_SHADOW_DFI_T_RDDATA_EN_DEFVAL 
#undef DDRC_DFITMG0_SHADOW_DFI_T_RDDATA_EN_SHIFT 
#undef DDRC_DFITMG0_SHADOW_DFI_T_RDDATA_EN_MASK 
#define DDRC_DFITMG0_SHADOW_DFI_T_RDDATA_EN_DEFVAL             0x07020002
#define DDRC_DFITMG0_SHADOW_DFI_T_RDDATA_EN_SHIFT              16
#define DDRC_DFITMG0_SHADOW_DFI_T_RDDATA_EN_MASK               0x003F0000U

/*
* Defines whether dfi_wrdata_en/dfi_wrdata/dfi_wrdata_mask is generated us
    * ing HDR or SDR values Selects whether value in DFITMG0.dfi_tphy_wrlat is
    *  in terms of SDR or HDR clock cycles Selects whether value in DFITMG0.df
    * i_tphy_wrdata is in terms of SDR or HDR clock cycles - 0 in terms of HDR
    *  clock cycles - 1 in terms of SDR clock cycles Refer to PHY specificatio
    * n for correct value.
*/
#undef DDRC_DFITMG0_SHADOW_DFI_WRDATA_USE_SDR_DEFVAL 
#undef DDRC_DFITMG0_SHADOW_DFI_WRDATA_USE_SDR_SHIFT 
#undef DDRC_DFITMG0_SHADOW_DFI_WRDATA_USE_SDR_MASK 
#define DDRC_DFITMG0_SHADOW_DFI_WRDATA_USE_SDR_DEFVAL          0x07020002
#define DDRC_DFITMG0_SHADOW_DFI_WRDATA_USE_SDR_SHIFT           15
#define DDRC_DFITMG0_SHADOW_DFI_WRDATA_USE_SDR_MASK            0x00008000U

/*
* Specifies the number of clock cycles between when dfi_wrdata_en is asser
    * ted to when the associated write data is driven on the dfi_wrdata signal
    * . This corresponds to the DFI timing parameter tphy_wrdata. Refer to PHY
    *  specification for correct value. Note, max supported value is 8. Unit:
    * Clocks
*/
#undef DDRC_DFITMG0_SHADOW_DFI_TPHY_WRDATA_DEFVAL 
#undef DDRC_DFITMG0_SHADOW_DFI_TPHY_WRDATA_SHIFT 
#undef DDRC_DFITMG0_SHADOW_DFI_TPHY_WRDATA_MASK 
#define DDRC_DFITMG0_SHADOW_DFI_TPHY_WRDATA_DEFVAL             0x07020002
#define DDRC_DFITMG0_SHADOW_DFI_TPHY_WRDATA_SHIFT              8
#define DDRC_DFITMG0_SHADOW_DFI_TPHY_WRDATA_MASK               0x00003F00U

/*
* Write latency Number of clocks from the write command to write data enab
    * le (dfi_wrdata_en). This corresponds to the DFI timing parameter tphy_wr
    * lat. Refer to PHY specification for correct value.Note that, depending o
    * n the PHY, if using RDIMM, it may be necessary to use the value (CL + 1)
    *  in the calculation of tphy_wrlat. This is to compensate for the extra c
    * ycle of latency through the RDIMM.
*/
#undef DDRC_DFITMG0_SHADOW_DFI_TPHY_WRLAT_DEFVAL 
#undef DDRC_DFITMG0_SHADOW_DFI_TPHY_WRLAT_SHIFT 
#undef DDRC_DFITMG0_SHADOW_DFI_TPHY_WRLAT_MASK 
#define DDRC_DFITMG0_SHADOW_DFI_TPHY_WRLAT_DEFVAL              0x07020002
#define DDRC_DFITMG0_SHADOW_DFI_TPHY_WRLAT_SHIFT               0
#define DDRC_DFITMG0_SHADOW_DFI_TPHY_WRLAT_MASK                0x0000003FU

/*
* DDR block level reset inside of the DDR Sub System
*/
#undef CRF_APB_RST_DDR_SS_DDR_RESET_DEFVAL 
#undef CRF_APB_RST_DDR_SS_DDR_RESET_SHIFT 
#undef CRF_APB_RST_DDR_SS_DDR_RESET_MASK 
#define CRF_APB_RST_DDR_SS_DDR_RESET_DEFVAL                    0x0000000F
#define CRF_APB_RST_DDR_SS_DDR_RESET_SHIFT                     3
#define CRF_APB_RST_DDR_SS_DDR_RESET_MASK                      0x00000008U

/*
* APM block level reset inside of the DDR Sub System
*/
#undef CRF_APB_RST_DDR_SS_APM_RESET_DEFVAL 
#undef CRF_APB_RST_DDR_SS_APM_RESET_SHIFT 
#undef CRF_APB_RST_DDR_SS_APM_RESET_MASK 
#define CRF_APB_RST_DDR_SS_APM_RESET_DEFVAL                    0x0000000F
#define CRF_APB_RST_DDR_SS_APM_RESET_SHIFT                     2
#define CRF_APB_RST_DDR_SS_APM_RESET_MASK                      0x00000004U

/*
* Address Copy
*/
#undef DDR_PHY_PGCR0_ADCP_DEFVAL 
#undef DDR_PHY_PGCR0_ADCP_SHIFT 
#undef DDR_PHY_PGCR0_ADCP_MASK 
#define DDR_PHY_PGCR0_ADCP_DEFVAL                              0x07001E00
#define DDR_PHY_PGCR0_ADCP_SHIFT                               31
#define DDR_PHY_PGCR0_ADCP_MASK                                0x80000000U

/*
* Reserved. Returns zeroes on reads.
*/
#undef DDR_PHY_PGCR0_RESERVED_30_27_DEFVAL 
#undef DDR_PHY_PGCR0_RESERVED_30_27_SHIFT 
#undef DDR_PHY_PGCR0_RESERVED_30_27_MASK 
#define DDR_PHY_PGCR0_RESERVED_30_27_DEFVAL                    0x07001E00
#define DDR_PHY_PGCR0_RESERVED_30_27_SHIFT                     27
#define DDR_PHY_PGCR0_RESERVED_30_27_MASK                      0x78000000U

/*
* PHY FIFO Reset
*/
#undef DDR_PHY_PGCR0_PHYFRST_DEFVAL 
#undef DDR_PHY_PGCR0_PHYFRST_SHIFT 
#undef DDR_PHY_PGCR0_PHYFRST_MASK 
#define DDR_PHY_PGCR0_PHYFRST_DEFVAL                           0x07001E00
#define DDR_PHY_PGCR0_PHYFRST_SHIFT                            26
#define DDR_PHY_PGCR0_PHYFRST_MASK                             0x04000000U

/*
* Oscillator Mode Address/Command Delay Line Select
*/
#undef DDR_PHY_PGCR0_OSCACDL_DEFVAL 
#undef DDR_PHY_PGCR0_OSCACDL_SHIFT 
#undef DDR_PHY_PGCR0_OSCACDL_MASK 
#define DDR_PHY_PGCR0_OSCACDL_DEFVAL                           0x07001E00
#define DDR_PHY_PGCR0_OSCACDL_SHIFT                            24
#define DDR_PHY_PGCR0_OSCACDL_MASK                             0x03000000U

/*
* Reserved. Returns zeroes on reads.
*/
#undef DDR_PHY_PGCR0_RESERVED_23_19_DEFVAL 
#undef DDR_PHY_PGCR0_RESERVED_23_19_SHIFT 
#undef DDR_PHY_PGCR0_RESERVED_23_19_MASK 
#define DDR_PHY_PGCR0_RESERVED_23_19_DEFVAL                    0x07001E00
#define DDR_PHY_PGCR0_RESERVED_23_19_SHIFT                     19
#define DDR_PHY_PGCR0_RESERVED_23_19_MASK                      0x00F80000U

/*
* Digital Test Output Select
*/
#undef DDR_PHY_PGCR0_DTOSEL_DEFVAL 
#undef DDR_PHY_PGCR0_DTOSEL_SHIFT 
#undef DDR_PHY_PGCR0_DTOSEL_MASK 
#define DDR_PHY_PGCR0_DTOSEL_DEFVAL                            0x07001E00
#define DDR_PHY_PGCR0_DTOSEL_SHIFT                             14
#define DDR_PHY_PGCR0_DTOSEL_MASK                              0x0007C000U

/*
* Reserved. Returns zeroes on reads.
*/
#undef DDR_PHY_PGCR0_RESERVED_13_DEFVAL 
#undef DDR_PHY_PGCR0_RESERVED_13_SHIFT 
#undef DDR_PHY_PGCR0_RESERVED_13_MASK 
#define DDR_PHY_PGCR0_RESERVED_13_DEFVAL                       0x07001E00
#define DDR_PHY_PGCR0_RESERVED_13_SHIFT                        13
#define DDR_PHY_PGCR0_RESERVED_13_MASK                         0x00002000U

/*
* Oscillator Mode Division
*/
#undef DDR_PHY_PGCR0_OSCDIV_DEFVAL 
#undef DDR_PHY_PGCR0_OSCDIV_SHIFT 
#undef DDR_PHY_PGCR0_OSCDIV_MASK 
#define DDR_PHY_PGCR0_OSCDIV_DEFVAL                            0x07001E00
#define DDR_PHY_PGCR0_OSCDIV_SHIFT                             9
#define DDR_PHY_PGCR0_OSCDIV_MASK                              0x00001E00U

/*
* Oscillator Enable
*/
#undef DDR_PHY_PGCR0_OSCEN_DEFVAL 
#undef DDR_PHY_PGCR0_OSCEN_SHIFT 
#undef DDR_PHY_PGCR0_OSCEN_MASK 
#define DDR_PHY_PGCR0_OSCEN_DEFVAL                             0x07001E00
#define DDR_PHY_PGCR0_OSCEN_SHIFT                              8
#define DDR_PHY_PGCR0_OSCEN_MASK                               0x00000100U

/*
* Reserved. Returns zeroes on reads.
*/
#undef DDR_PHY_PGCR0_RESERVED_7_0_DEFVAL 
#undef DDR_PHY_PGCR0_RESERVED_7_0_SHIFT 
#undef DDR_PHY_PGCR0_RESERVED_7_0_MASK 
#define DDR_PHY_PGCR0_RESERVED_7_0_DEFVAL                      0x07001E00
#define DDR_PHY_PGCR0_RESERVED_7_0_SHIFT                       0
#define DDR_PHY_PGCR0_RESERVED_7_0_MASK                        0x000000FFU

/*
* Clear Training Status Registers
*/
#undef DDR_PHY_PGCR2_CLRTSTAT_DEFVAL 
#undef DDR_PHY_PGCR2_CLRTSTAT_SHIFT 
#undef DDR_PHY_PGCR2_CLRTSTAT_MASK 
#define DDR_PHY_PGCR2_CLRTSTAT_DEFVAL                          0x00F12480
#define DDR_PHY_PGCR2_CLRTSTAT_SHIFT                           31
#define DDR_PHY_PGCR2_CLRTSTAT_MASK                            0x80000000U

/*
* Clear Impedance Calibration
*/
#undef DDR_PHY_PGCR2_CLRZCAL_DEFVAL 
#undef DDR_PHY_PGCR2_CLRZCAL_SHIFT 
#undef DDR_PHY_PGCR2_CLRZCAL_MASK 
#define DDR_PHY_PGCR2_CLRZCAL_DEFVAL                           0x00F12480
#define DDR_PHY_PGCR2_CLRZCAL_SHIFT                            30
#define DDR_PHY_PGCR2_CLRZCAL_MASK                             0x40000000U

/*
* Clear Parity Error
*/
#undef DDR_PHY_PGCR2_CLRPERR_DEFVAL 
#undef DDR_PHY_PGCR2_CLRPERR_SHIFT 
#undef DDR_PHY_PGCR2_CLRPERR_MASK 
#define DDR_PHY_PGCR2_CLRPERR_DEFVAL                           0x00F12480
#define DDR_PHY_PGCR2_CLRPERR_SHIFT                            29
#define DDR_PHY_PGCR2_CLRPERR_MASK                             0x20000000U

/*
* Initialization Complete Pin Configuration
*/
#undef DDR_PHY_PGCR2_ICPC_DEFVAL 
#undef DDR_PHY_PGCR2_ICPC_SHIFT 
#undef DDR_PHY_PGCR2_ICPC_MASK 
#define DDR_PHY_PGCR2_ICPC_DEFVAL                              0x00F12480
#define DDR_PHY_PGCR2_ICPC_SHIFT                               28
#define DDR_PHY_PGCR2_ICPC_MASK                                0x10000000U

/*
* Data Training PUB Mode Exit Timer
*/
#undef DDR_PHY_PGCR2_DTPMXTMR_DEFVAL 
#undef DDR_PHY_PGCR2_DTPMXTMR_SHIFT 
#undef DDR_PHY_PGCR2_DTPMXTMR_MASK 
#define DDR_PHY_PGCR2_DTPMXTMR_DEFVAL                          0x00F12480
#define DDR_PHY_PGCR2_DTPMXTMR_SHIFT                           20
#define DDR_PHY_PGCR2_DTPMXTMR_MASK                            0x0FF00000U

/*
* Initialization Bypass
*/
#undef DDR_PHY_PGCR2_INITFSMBYP_DEFVAL 
#undef DDR_PHY_PGCR2_INITFSMBYP_SHIFT 
#undef DDR_PHY_PGCR2_INITFSMBYP_MASK 
#define DDR_PHY_PGCR2_INITFSMBYP_DEFVAL                        0x00F12480
#define DDR_PHY_PGCR2_INITFSMBYP_SHIFT                         19
#define DDR_PHY_PGCR2_INITFSMBYP_MASK                          0x00080000U

/*
* PLL FSM Bypass
*/
#undef DDR_PHY_PGCR2_PLLFSMBYP_DEFVAL 
#undef DDR_PHY_PGCR2_PLLFSMBYP_SHIFT 
#undef DDR_PHY_PGCR2_PLLFSMBYP_MASK 
#define DDR_PHY_PGCR2_PLLFSMBYP_DEFVAL                         0x00F12480
#define DDR_PHY_PGCR2_PLLFSMBYP_SHIFT                          18
#define DDR_PHY_PGCR2_PLLFSMBYP_MASK                           0x00040000U

/*
* Refresh Period
*/
#undef DDR_PHY_PGCR2_TREFPRD_DEFVAL 
#undef DDR_PHY_PGCR2_TREFPRD_SHIFT 
#undef DDR_PHY_PGCR2_TREFPRD_MASK 
#define DDR_PHY_PGCR2_TREFPRD_DEFVAL                           0x00F12480
#define DDR_PHY_PGCR2_TREFPRD_SHIFT                            0
#define DDR_PHY_PGCR2_TREFPRD_MASK                             0x0003FFFFU

/*
* CKN Enable
*/
#undef DDR_PHY_PGCR3_CKNEN_DEFVAL 
#undef DDR_PHY_PGCR3_CKNEN_SHIFT 
#undef DDR_PHY_PGCR3_CKNEN_MASK 
#define DDR_PHY_PGCR3_CKNEN_DEFVAL                             0x55AA0080
#define DDR_PHY_PGCR3_CKNEN_SHIFT                              24
#define DDR_PHY_PGCR3_CKNEN_MASK                               0xFF000000U

/*
* CK Enable
*/
#undef DDR_PHY_PGCR3_CKEN_DEFVAL 
#undef DDR_PHY_PGCR3_CKEN_SHIFT 
#undef DDR_PHY_PGCR3_CKEN_MASK 
#define DDR_PHY_PGCR3_CKEN_DEFVAL                              0x55AA0080
#define DDR_PHY_PGCR3_CKEN_SHIFT                               16
#define DDR_PHY_PGCR3_CKEN_MASK                                0x00FF0000U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_PGCR3_RESERVED_15_DEFVAL 
#undef DDR_PHY_PGCR3_RESERVED_15_SHIFT 
#undef DDR_PHY_PGCR3_RESERVED_15_MASK 
#define DDR_PHY_PGCR3_RESERVED_15_DEFVAL                       0x55AA0080
#define DDR_PHY_PGCR3_RESERVED_15_SHIFT                        15
#define DDR_PHY_PGCR3_RESERVED_15_MASK                         0x00008000U

/*
* Enable Clock Gating for AC [0] ctl_rd_clk
*/
#undef DDR_PHY_PGCR3_GATEACRDCLK_DEFVAL 
#undef DDR_PHY_PGCR3_GATEACRDCLK_SHIFT 
#undef DDR_PHY_PGCR3_GATEACRDCLK_MASK 
#define DDR_PHY_PGCR3_GATEACRDCLK_DEFVAL                       0x55AA0080
#define DDR_PHY_PGCR3_GATEACRDCLK_SHIFT                        13
#define DDR_PHY_PGCR3_GATEACRDCLK_MASK                         0x00006000U

/*
* Enable Clock Gating for AC [0] ddr_clk
*/
#undef DDR_PHY_PGCR3_GATEACDDRCLK_DEFVAL 
#undef DDR_PHY_PGCR3_GATEACDDRCLK_SHIFT 
#undef DDR_PHY_PGCR3_GATEACDDRCLK_MASK 
#define DDR_PHY_PGCR3_GATEACDDRCLK_DEFVAL                      0x55AA0080
#define DDR_PHY_PGCR3_GATEACDDRCLK_SHIFT                       11
#define DDR_PHY_PGCR3_GATEACDDRCLK_MASK                        0x00001800U

/*
* Enable Clock Gating for AC [0] ctl_clk
*/
#undef DDR_PHY_PGCR3_GATEACCTLCLK_DEFVAL 
#undef DDR_PHY_PGCR3_GATEACCTLCLK_SHIFT 
#undef DDR_PHY_PGCR3_GATEACCTLCLK_MASK 
#define DDR_PHY_PGCR3_GATEACCTLCLK_DEFVAL                      0x55AA0080
#define DDR_PHY_PGCR3_GATEACCTLCLK_SHIFT                       9
#define DDR_PHY_PGCR3_GATEACCTLCLK_MASK                        0x00000600U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_PGCR3_RESERVED_8_DEFVAL 
#undef DDR_PHY_PGCR3_RESERVED_8_SHIFT 
#undef DDR_PHY_PGCR3_RESERVED_8_MASK 
#define DDR_PHY_PGCR3_RESERVED_8_DEFVAL                        0x55AA0080
#define DDR_PHY_PGCR3_RESERVED_8_SHIFT                         8
#define DDR_PHY_PGCR3_RESERVED_8_MASK                          0x00000100U

/*
* Controls DDL Bypass Modes
*/
#undef DDR_PHY_PGCR3_DDLBYPMODE_DEFVAL 
#undef DDR_PHY_PGCR3_DDLBYPMODE_SHIFT 
#undef DDR_PHY_PGCR3_DDLBYPMODE_MASK 
#define DDR_PHY_PGCR3_DDLBYPMODE_DEFVAL                        0x55AA0080
#define DDR_PHY_PGCR3_DDLBYPMODE_SHIFT                         6
#define DDR_PHY_PGCR3_DDLBYPMODE_MASK                          0x000000C0U

/*
* IO Loop-Back Select
*/
#undef DDR_PHY_PGCR3_IOLB_DEFVAL 
#undef DDR_PHY_PGCR3_IOLB_SHIFT 
#undef DDR_PHY_PGCR3_IOLB_MASK 
#define DDR_PHY_PGCR3_IOLB_DEFVAL                              0x55AA0080
#define DDR_PHY_PGCR3_IOLB_SHIFT                               5
#define DDR_PHY_PGCR3_IOLB_MASK                                0x00000020U

/*
* AC Receive FIFO Read Mode
*/
#undef DDR_PHY_PGCR3_RDMODE_DEFVAL 
#undef DDR_PHY_PGCR3_RDMODE_SHIFT 
#undef DDR_PHY_PGCR3_RDMODE_MASK 
#define DDR_PHY_PGCR3_RDMODE_DEFVAL                            0x55AA0080
#define DDR_PHY_PGCR3_RDMODE_SHIFT                             3
#define DDR_PHY_PGCR3_RDMODE_MASK                              0x00000018U

/*
* Read FIFO Reset Disable
*/
#undef DDR_PHY_PGCR3_DISRST_DEFVAL 
#undef DDR_PHY_PGCR3_DISRST_SHIFT 
#undef DDR_PHY_PGCR3_DISRST_MASK 
#define DDR_PHY_PGCR3_DISRST_DEFVAL                            0x55AA0080
#define DDR_PHY_PGCR3_DISRST_SHIFT                             2
#define DDR_PHY_PGCR3_DISRST_MASK                              0x00000004U

/*
* Clock Level when Clock Gating
*/
#undef DDR_PHY_PGCR3_CLKLEVEL_DEFVAL 
#undef DDR_PHY_PGCR3_CLKLEVEL_SHIFT 
#undef DDR_PHY_PGCR3_CLKLEVEL_MASK 
#define DDR_PHY_PGCR3_CLKLEVEL_DEFVAL                          0x55AA0080
#define DDR_PHY_PGCR3_CLKLEVEL_SHIFT                           0
#define DDR_PHY_PGCR3_CLKLEVEL_MASK                            0x00000003U

/*
* Frequency B Ratio Term
*/
#undef DDR_PHY_PGCR5_FRQBT_DEFVAL 
#undef DDR_PHY_PGCR5_FRQBT_SHIFT 
#undef DDR_PHY_PGCR5_FRQBT_MASK 
#define DDR_PHY_PGCR5_FRQBT_DEFVAL                             0x01010000
#define DDR_PHY_PGCR5_FRQBT_SHIFT                              24
#define DDR_PHY_PGCR5_FRQBT_MASK                               0xFF000000U

/*
* Frequency A Ratio Term
*/
#undef DDR_PHY_PGCR5_FRQAT_DEFVAL 
#undef DDR_PHY_PGCR5_FRQAT_SHIFT 
#undef DDR_PHY_PGCR5_FRQAT_MASK 
#define DDR_PHY_PGCR5_FRQAT_DEFVAL                             0x01010000
#define DDR_PHY_PGCR5_FRQAT_SHIFT                              16
#define DDR_PHY_PGCR5_FRQAT_MASK                               0x00FF0000U

/*
* DFI Disconnect Time Period
*/
#undef DDR_PHY_PGCR5_DISCNPERIOD_DEFVAL 
#undef DDR_PHY_PGCR5_DISCNPERIOD_SHIFT 
#undef DDR_PHY_PGCR5_DISCNPERIOD_MASK 
#define DDR_PHY_PGCR5_DISCNPERIOD_DEFVAL                       0x01010000
#define DDR_PHY_PGCR5_DISCNPERIOD_SHIFT                        8
#define DDR_PHY_PGCR5_DISCNPERIOD_MASK                         0x0000FF00U

/*
* Receiver bias core side control
*/
#undef DDR_PHY_PGCR5_VREF_RBCTRL_DEFVAL 
#undef DDR_PHY_PGCR5_VREF_RBCTRL_SHIFT 
#undef DDR_PHY_PGCR5_VREF_RBCTRL_MASK 
#define DDR_PHY_PGCR5_VREF_RBCTRL_DEFVAL                       0x01010000
#define DDR_PHY_PGCR5_VREF_RBCTRL_SHIFT                        4
#define DDR_PHY_PGCR5_VREF_RBCTRL_MASK                         0x000000F0U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_PGCR5_RESERVED_3_DEFVAL 
#undef DDR_PHY_PGCR5_RESERVED_3_SHIFT 
#undef DDR_PHY_PGCR5_RESERVED_3_MASK 
#define DDR_PHY_PGCR5_RESERVED_3_DEFVAL                        0x01010000
#define DDR_PHY_PGCR5_RESERVED_3_SHIFT                         3
#define DDR_PHY_PGCR5_RESERVED_3_MASK                          0x00000008U

/*
* Internal VREF generator REFSEL ragne select
*/
#undef DDR_PHY_PGCR5_DXREFISELRANGE_DEFVAL 
#undef DDR_PHY_PGCR5_DXREFISELRANGE_SHIFT 
#undef DDR_PHY_PGCR5_DXREFISELRANGE_MASK 
#define DDR_PHY_PGCR5_DXREFISELRANGE_DEFVAL                    0x01010000
#define DDR_PHY_PGCR5_DXREFISELRANGE_SHIFT                     2
#define DDR_PHY_PGCR5_DXREFISELRANGE_MASK                      0x00000004U

/*
* DDL Page Read Write select
*/
#undef DDR_PHY_PGCR5_DDLPGACT_DEFVAL 
#undef DDR_PHY_PGCR5_DDLPGACT_SHIFT 
#undef DDR_PHY_PGCR5_DDLPGACT_MASK 
#define DDR_PHY_PGCR5_DDLPGACT_DEFVAL                          0x01010000
#define DDR_PHY_PGCR5_DDLPGACT_SHIFT                           1
#define DDR_PHY_PGCR5_DDLPGACT_MASK                            0x00000002U

/*
* DDL Page Read Write select
*/
#undef DDR_PHY_PGCR5_DDLPGRW_DEFVAL 
#undef DDR_PHY_PGCR5_DDLPGRW_SHIFT 
#undef DDR_PHY_PGCR5_DDLPGRW_MASK 
#define DDR_PHY_PGCR5_DDLPGRW_DEFVAL                           0x01010000
#define DDR_PHY_PGCR5_DDLPGRW_SHIFT                            0
#define DDR_PHY_PGCR5_DDLPGRW_MASK                             0x00000001U

/*
* PLL Power-Down Time
*/
#undef DDR_PHY_PTR0_TPLLPD_DEFVAL 
#undef DDR_PHY_PTR0_TPLLPD_SHIFT 
#undef DDR_PHY_PTR0_TPLLPD_MASK 
#define DDR_PHY_PTR0_TPLLPD_DEFVAL                             0x42C21590
#define DDR_PHY_PTR0_TPLLPD_SHIFT                              21
#define DDR_PHY_PTR0_TPLLPD_MASK                               0xFFE00000U

/*
* PLL Gear Shift Time
*/
#undef DDR_PHY_PTR0_TPLLGS_DEFVAL 
#undef DDR_PHY_PTR0_TPLLGS_SHIFT 
#undef DDR_PHY_PTR0_TPLLGS_MASK 
#define DDR_PHY_PTR0_TPLLGS_DEFVAL                             0x42C21590
#define DDR_PHY_PTR0_TPLLGS_SHIFT                              6
#define DDR_PHY_PTR0_TPLLGS_MASK                               0x001FFFC0U

/*
* PHY Reset Time
*/
#undef DDR_PHY_PTR0_TPHYRST_DEFVAL 
#undef DDR_PHY_PTR0_TPHYRST_SHIFT 
#undef DDR_PHY_PTR0_TPHYRST_MASK 
#define DDR_PHY_PTR0_TPHYRST_DEFVAL                            0x42C21590
#define DDR_PHY_PTR0_TPHYRST_SHIFT                             0
#define DDR_PHY_PTR0_TPHYRST_MASK                              0x0000003FU

/*
* PLL Lock Time
*/
#undef DDR_PHY_PTR1_TPLLLOCK_DEFVAL 
#undef DDR_PHY_PTR1_TPLLLOCK_SHIFT 
#undef DDR_PHY_PTR1_TPLLLOCK_MASK 
#define DDR_PHY_PTR1_TPLLLOCK_DEFVAL                           0xD05612C0
#define DDR_PHY_PTR1_TPLLLOCK_SHIFT                            16
#define DDR_PHY_PTR1_TPLLLOCK_MASK                             0xFFFF0000U

/*
* Reserved. Returns zeroes on reads.
*/
#undef DDR_PHY_PTR1_RESERVED_15_13_DEFVAL 
#undef DDR_PHY_PTR1_RESERVED_15_13_SHIFT 
#undef DDR_PHY_PTR1_RESERVED_15_13_MASK 
#define DDR_PHY_PTR1_RESERVED_15_13_DEFVAL                     0xD05612C0
#define DDR_PHY_PTR1_RESERVED_15_13_SHIFT                      13
#define DDR_PHY_PTR1_RESERVED_15_13_MASK                       0x0000E000U

/*
* PLL Reset Time
*/
#undef DDR_PHY_PTR1_TPLLRST_DEFVAL 
#undef DDR_PHY_PTR1_TPLLRST_SHIFT 
#undef DDR_PHY_PTR1_TPLLRST_MASK 
#define DDR_PHY_PTR1_TPLLRST_DEFVAL                            0xD05612C0
#define DDR_PHY_PTR1_TPLLRST_SHIFT                             0
#define DDR_PHY_PTR1_TPLLRST_MASK                              0x00001FFFU

/*
* PLL Bypass
*/
#undef DDR_PHY_PLLCR0_PLLBYP_DEFVAL 
#undef DDR_PHY_PLLCR0_PLLBYP_SHIFT 
#undef DDR_PHY_PLLCR0_PLLBYP_MASK 
#define DDR_PHY_PLLCR0_PLLBYP_DEFVAL                           0x001C0000
#define DDR_PHY_PLLCR0_PLLBYP_SHIFT                            31
#define DDR_PHY_PLLCR0_PLLBYP_MASK                             0x80000000U

/*
* PLL Reset
*/
#undef DDR_PHY_PLLCR0_PLLRST_DEFVAL 
#undef DDR_PHY_PLLCR0_PLLRST_SHIFT 
#undef DDR_PHY_PLLCR0_PLLRST_MASK 
#define DDR_PHY_PLLCR0_PLLRST_DEFVAL                           0x001C0000
#define DDR_PHY_PLLCR0_PLLRST_SHIFT                            30
#define DDR_PHY_PLLCR0_PLLRST_MASK                             0x40000000U

/*
* PLL Power Down
*/
#undef DDR_PHY_PLLCR0_PLLPD_DEFVAL 
#undef DDR_PHY_PLLCR0_PLLPD_SHIFT 
#undef DDR_PHY_PLLCR0_PLLPD_MASK 
#define DDR_PHY_PLLCR0_PLLPD_DEFVAL                            0x001C0000
#define DDR_PHY_PLLCR0_PLLPD_SHIFT                             29
#define DDR_PHY_PLLCR0_PLLPD_MASK                              0x20000000U

/*
* Reference Stop Mode
*/
#undef DDR_PHY_PLLCR0_RSTOPM_DEFVAL 
#undef DDR_PHY_PLLCR0_RSTOPM_SHIFT 
#undef DDR_PHY_PLLCR0_RSTOPM_MASK 
#define DDR_PHY_PLLCR0_RSTOPM_DEFVAL                           0x001C0000
#define DDR_PHY_PLLCR0_RSTOPM_SHIFT                            28
#define DDR_PHY_PLLCR0_RSTOPM_MASK                             0x10000000U

/*
* PLL Frequency Select
*/
#undef DDR_PHY_PLLCR0_FRQSEL_DEFVAL 
#undef DDR_PHY_PLLCR0_FRQSEL_SHIFT 
#undef DDR_PHY_PLLCR0_FRQSEL_MASK 
#define DDR_PHY_PLLCR0_FRQSEL_DEFVAL                           0x001C0000
#define DDR_PHY_PLLCR0_FRQSEL_SHIFT                            24
#define DDR_PHY_PLLCR0_FRQSEL_MASK                             0x0F000000U

/*
* Relock Mode
*/
#undef DDR_PHY_PLLCR0_RLOCKM_DEFVAL 
#undef DDR_PHY_PLLCR0_RLOCKM_SHIFT 
#undef DDR_PHY_PLLCR0_RLOCKM_MASK 
#define DDR_PHY_PLLCR0_RLOCKM_DEFVAL                           0x001C0000
#define DDR_PHY_PLLCR0_RLOCKM_SHIFT                            23
#define DDR_PHY_PLLCR0_RLOCKM_MASK                             0x00800000U

/*
* Charge Pump Proportional Current Control
*/
#undef DDR_PHY_PLLCR0_CPPC_DEFVAL 
#undef DDR_PHY_PLLCR0_CPPC_SHIFT 
#undef DDR_PHY_PLLCR0_CPPC_MASK 
#define DDR_PHY_PLLCR0_CPPC_DEFVAL                             0x001C0000
#define DDR_PHY_PLLCR0_CPPC_SHIFT                              17
#define DDR_PHY_PLLCR0_CPPC_MASK                               0x007E0000U

/*
* Charge Pump Integrating Current Control
*/
#undef DDR_PHY_PLLCR0_CPIC_DEFVAL 
#undef DDR_PHY_PLLCR0_CPIC_SHIFT 
#undef DDR_PHY_PLLCR0_CPIC_MASK 
#define DDR_PHY_PLLCR0_CPIC_DEFVAL                             0x001C0000
#define DDR_PHY_PLLCR0_CPIC_SHIFT                              13
#define DDR_PHY_PLLCR0_CPIC_MASK                               0x0001E000U

/*
* Gear Shift
*/
#undef DDR_PHY_PLLCR0_GSHIFT_DEFVAL 
#undef DDR_PHY_PLLCR0_GSHIFT_SHIFT 
#undef DDR_PHY_PLLCR0_GSHIFT_MASK 
#define DDR_PHY_PLLCR0_GSHIFT_DEFVAL                           0x001C0000
#define DDR_PHY_PLLCR0_GSHIFT_SHIFT                            12
#define DDR_PHY_PLLCR0_GSHIFT_MASK                             0x00001000U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_PLLCR0_RESERVED_11_9_DEFVAL 
#undef DDR_PHY_PLLCR0_RESERVED_11_9_SHIFT 
#undef DDR_PHY_PLLCR0_RESERVED_11_9_MASK 
#define DDR_PHY_PLLCR0_RESERVED_11_9_DEFVAL                    0x001C0000
#define DDR_PHY_PLLCR0_RESERVED_11_9_SHIFT                     9
#define DDR_PHY_PLLCR0_RESERVED_11_9_MASK                      0x00000E00U

/*
* Analog Test Enable
*/
#undef DDR_PHY_PLLCR0_ATOEN_DEFVAL 
#undef DDR_PHY_PLLCR0_ATOEN_SHIFT 
#undef DDR_PHY_PLLCR0_ATOEN_MASK 
#define DDR_PHY_PLLCR0_ATOEN_DEFVAL                            0x001C0000
#define DDR_PHY_PLLCR0_ATOEN_SHIFT                             8
#define DDR_PHY_PLLCR0_ATOEN_MASK                              0x00000100U

/*
* Analog Test Control
*/
#undef DDR_PHY_PLLCR0_ATC_DEFVAL 
#undef DDR_PHY_PLLCR0_ATC_SHIFT 
#undef DDR_PHY_PLLCR0_ATC_MASK 
#define DDR_PHY_PLLCR0_ATC_DEFVAL                              0x001C0000
#define DDR_PHY_PLLCR0_ATC_SHIFT                               4
#define DDR_PHY_PLLCR0_ATC_MASK                                0x000000F0U

/*
* Digital Test Control
*/
#undef DDR_PHY_PLLCR0_DTC_DEFVAL 
#undef DDR_PHY_PLLCR0_DTC_SHIFT 
#undef DDR_PHY_PLLCR0_DTC_MASK 
#define DDR_PHY_PLLCR0_DTC_DEFVAL                              0x001C0000
#define DDR_PHY_PLLCR0_DTC_SHIFT                               0
#define DDR_PHY_PLLCR0_DTC_MASK                                0x0000000FU

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_DSGCR_RESERVED_31_28_DEFVAL 
#undef DDR_PHY_DSGCR_RESERVED_31_28_SHIFT 
#undef DDR_PHY_DSGCR_RESERVED_31_28_MASK 
#define DDR_PHY_DSGCR_RESERVED_31_28_DEFVAL                    0x02A04101
#define DDR_PHY_DSGCR_RESERVED_31_28_SHIFT                     28
#define DDR_PHY_DSGCR_RESERVED_31_28_MASK                      0xF0000000U

/*
* When RDBI enabled, this bit is used to select RDBI CL calculation, if it
    *  is 1b1, calculation will use RDBICL, otherwise use default calculation.
*/
#undef DDR_PHY_DSGCR_RDBICLSEL_DEFVAL 
#undef DDR_PHY_DSGCR_RDBICLSEL_SHIFT 
#undef DDR_PHY_DSGCR_RDBICLSEL_MASK 
#define DDR_PHY_DSGCR_RDBICLSEL_DEFVAL                         0x02A04101
#define DDR_PHY_DSGCR_RDBICLSEL_SHIFT                          27
#define DDR_PHY_DSGCR_RDBICLSEL_MASK                           0x08000000U

/*
* When RDBI enabled, if RDBICLSEL is asserted, RDBI CL adjust using this v
    * alue.
*/
#undef DDR_PHY_DSGCR_RDBICL_DEFVAL 
#undef DDR_PHY_DSGCR_RDBICL_SHIFT 
#undef DDR_PHY_DSGCR_RDBICL_MASK 
#define DDR_PHY_DSGCR_RDBICL_DEFVAL                            0x02A04101
#define DDR_PHY_DSGCR_RDBICL_SHIFT                             24
#define DDR_PHY_DSGCR_RDBICL_MASK                              0x07000000U

/*
* PHY Impedance Update Enable
*/
#undef DDR_PHY_DSGCR_PHYZUEN_DEFVAL 
#undef DDR_PHY_DSGCR_PHYZUEN_SHIFT 
#undef DDR_PHY_DSGCR_PHYZUEN_MASK 
#define DDR_PHY_DSGCR_PHYZUEN_DEFVAL                           0x02A04101
#define DDR_PHY_DSGCR_PHYZUEN_SHIFT                            23
#define DDR_PHY_DSGCR_PHYZUEN_MASK                             0x00800000U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_DSGCR_RESERVED_22_DEFVAL 
#undef DDR_PHY_DSGCR_RESERVED_22_SHIFT 
#undef DDR_PHY_DSGCR_RESERVED_22_MASK 
#define DDR_PHY_DSGCR_RESERVED_22_DEFVAL                       0x02A04101
#define DDR_PHY_DSGCR_RESERVED_22_SHIFT                        22
#define DDR_PHY_DSGCR_RESERVED_22_MASK                         0x00400000U

/*
* SDRAM Reset Output Enable
*/
#undef DDR_PHY_DSGCR_RSTOE_DEFVAL 
#undef DDR_PHY_DSGCR_RSTOE_SHIFT 
#undef DDR_PHY_DSGCR_RSTOE_MASK 
#define DDR_PHY_DSGCR_RSTOE_DEFVAL                             0x02A04101
#define DDR_PHY_DSGCR_RSTOE_SHIFT                              21
#define DDR_PHY_DSGCR_RSTOE_MASK                               0x00200000U

/*
* Single Data Rate Mode
*/
#undef DDR_PHY_DSGCR_SDRMODE_DEFVAL 
#undef DDR_PHY_DSGCR_SDRMODE_SHIFT 
#undef DDR_PHY_DSGCR_SDRMODE_MASK 
#define DDR_PHY_DSGCR_SDRMODE_DEFVAL                           0x02A04101
#define DDR_PHY_DSGCR_SDRMODE_SHIFT                            19
#define DDR_PHY_DSGCR_SDRMODE_MASK                             0x00180000U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_DSGCR_RESERVED_18_DEFVAL 
#undef DDR_PHY_DSGCR_RESERVED_18_SHIFT 
#undef DDR_PHY_DSGCR_RESERVED_18_MASK 
#define DDR_PHY_DSGCR_RESERVED_18_DEFVAL                       0x02A04101
#define DDR_PHY_DSGCR_RESERVED_18_SHIFT                        18
#define DDR_PHY_DSGCR_RESERVED_18_MASK                         0x00040000U

/*
* ATO Analog Test Enable
*/
#undef DDR_PHY_DSGCR_ATOAE_DEFVAL 
#undef DDR_PHY_DSGCR_ATOAE_SHIFT 
#undef DDR_PHY_DSGCR_ATOAE_MASK 
#define DDR_PHY_DSGCR_ATOAE_DEFVAL                             0x02A04101
#define DDR_PHY_DSGCR_ATOAE_SHIFT                              17
#define DDR_PHY_DSGCR_ATOAE_MASK                               0x00020000U

/*
* DTO Output Enable
*/
#undef DDR_PHY_DSGCR_DTOOE_DEFVAL 
#undef DDR_PHY_DSGCR_DTOOE_SHIFT 
#undef DDR_PHY_DSGCR_DTOOE_MASK 
#define DDR_PHY_DSGCR_DTOOE_DEFVAL                             0x02A04101
#define DDR_PHY_DSGCR_DTOOE_SHIFT                              16
#define DDR_PHY_DSGCR_DTOOE_MASK                               0x00010000U

/*
* DTO I/O Mode
*/
#undef DDR_PHY_DSGCR_DTOIOM_DEFVAL 
#undef DDR_PHY_DSGCR_DTOIOM_SHIFT 
#undef DDR_PHY_DSGCR_DTOIOM_MASK 
#define DDR_PHY_DSGCR_DTOIOM_DEFVAL                            0x02A04101
#define DDR_PHY_DSGCR_DTOIOM_SHIFT                             15
#define DDR_PHY_DSGCR_DTOIOM_MASK                              0x00008000U

/*
* DTO Power Down Receiver
*/
#undef DDR_PHY_DSGCR_DTOPDR_DEFVAL 
#undef DDR_PHY_DSGCR_DTOPDR_SHIFT 
#undef DDR_PHY_DSGCR_DTOPDR_MASK 
#define DDR_PHY_DSGCR_DTOPDR_DEFVAL                            0x02A04101
#define DDR_PHY_DSGCR_DTOPDR_SHIFT                             14
#define DDR_PHY_DSGCR_DTOPDR_MASK                              0x00004000U

/*
* Reserved. Return zeroes on reads
*/
#undef DDR_PHY_DSGCR_RESERVED_13_DEFVAL 
#undef DDR_PHY_DSGCR_RESERVED_13_SHIFT 
#undef DDR_PHY_DSGCR_RESERVED_13_MASK 
#define DDR_PHY_DSGCR_RESERVED_13_DEFVAL                       0x02A04101
#define DDR_PHY_DSGCR_RESERVED_13_SHIFT                        13
#define DDR_PHY_DSGCR_RESERVED_13_MASK                         0x00002000U

/*
* DTO On-Die Termination
*/
#undef DDR_PHY_DSGCR_DTOODT_DEFVAL 
#undef DDR_PHY_DSGCR_DTOODT_SHIFT 
#undef DDR_PHY_DSGCR_DTOODT_MASK 
#define DDR_PHY_DSGCR_DTOODT_DEFVAL                            0x02A04101
#define DDR_PHY_DSGCR_DTOODT_SHIFT                             12
#define DDR_PHY_DSGCR_DTOODT_MASK                              0x00001000U

/*
* PHY Update Acknowledge Delay
*/
#undef DDR_PHY_DSGCR_PUAD_DEFVAL 
#undef DDR_PHY_DSGCR_PUAD_SHIFT 
#undef DDR_PHY_DSGCR_PUAD_MASK 
#define DDR_PHY_DSGCR_PUAD_DEFVAL                              0x02A04101
#define DDR_PHY_DSGCR_PUAD_SHIFT                               6
#define DDR_PHY_DSGCR_PUAD_MASK                                0x00000FC0U

/*
* Controller Update Acknowledge Enable
*/
#undef DDR_PHY_DSGCR_CUAEN_DEFVAL 
#undef DDR_PHY_DSGCR_CUAEN_SHIFT 
#undef DDR_PHY_DSGCR_CUAEN_MASK 
#define DDR_PHY_DSGCR_CUAEN_DEFVAL                             0x02A04101
#define DDR_PHY_DSGCR_CUAEN_SHIFT                              5
#define DDR_PHY_DSGCR_CUAEN_MASK                               0x00000020U

/*
* Reserved. Return zeroes on reads
*/
#undef DDR_PHY_DSGCR_RESERVED_4_3_DEFVAL 
#undef DDR_PHY_DSGCR_RESERVED_4_3_SHIFT 
#undef DDR_PHY_DSGCR_RESERVED_4_3_MASK 
#define DDR_PHY_DSGCR_RESERVED_4_3_DEFVAL                      0x02A04101
#define DDR_PHY_DSGCR_RESERVED_4_3_SHIFT                       3
#define DDR_PHY_DSGCR_RESERVED_4_3_MASK                        0x00000018U

/*
* Controller Impedance Update Enable
*/
#undef DDR_PHY_DSGCR_CTLZUEN_DEFVAL 
#undef DDR_PHY_DSGCR_CTLZUEN_SHIFT 
#undef DDR_PHY_DSGCR_CTLZUEN_MASK 
#define DDR_PHY_DSGCR_CTLZUEN_DEFVAL                           0x02A04101
#define DDR_PHY_DSGCR_CTLZUEN_SHIFT                            2
#define DDR_PHY_DSGCR_CTLZUEN_MASK                             0x00000004U

/*
* Reserved. Return zeroes on reads
*/
#undef DDR_PHY_DSGCR_RESERVED_1_DEFVAL 
#undef DDR_PHY_DSGCR_RESERVED_1_SHIFT 
#undef DDR_PHY_DSGCR_RESERVED_1_MASK 
#define DDR_PHY_DSGCR_RESERVED_1_DEFVAL                        0x02A04101
#define DDR_PHY_DSGCR_RESERVED_1_SHIFT                         1
#define DDR_PHY_DSGCR_RESERVED_1_MASK                          0x00000002U

/*
* PHY Update Request Enable
*/
#undef DDR_PHY_DSGCR_PUREN_DEFVAL 
#undef DDR_PHY_DSGCR_PUREN_SHIFT 
#undef DDR_PHY_DSGCR_PUREN_MASK 
#define DDR_PHY_DSGCR_PUREN_DEFVAL                             0x02A04101
#define DDR_PHY_DSGCR_PUREN_SHIFT                              0
#define DDR_PHY_DSGCR_PUREN_MASK                               0x00000001U

/*
* General Purpose Register 0
*/
#undef DDR_PHY_GPR0_GPR0_DEFVAL 
#undef DDR_PHY_GPR0_GPR0_SHIFT 
#undef DDR_PHY_GPR0_GPR0_MASK 
#define DDR_PHY_GPR0_GPR0_DEFVAL                               
#define DDR_PHY_GPR0_GPR0_SHIFT                                0
#define DDR_PHY_GPR0_GPR0_MASK                                 0xFFFFFFFFU

/*
* DDR4 Gear Down Timing.
*/
#undef DDR_PHY_DCR_GEARDN_DEFVAL 
#undef DDR_PHY_DCR_GEARDN_SHIFT 
#undef DDR_PHY_DCR_GEARDN_MASK 
#define DDR_PHY_DCR_GEARDN_DEFVAL                              0x0000040D
#define DDR_PHY_DCR_GEARDN_SHIFT                               31
#define DDR_PHY_DCR_GEARDN_MASK                                0x80000000U

/*
* Un-used Bank Group
*/
#undef DDR_PHY_DCR_UBG_DEFVAL 
#undef DDR_PHY_DCR_UBG_SHIFT 
#undef DDR_PHY_DCR_UBG_MASK 
#define DDR_PHY_DCR_UBG_DEFVAL                                 0x0000040D
#define DDR_PHY_DCR_UBG_SHIFT                                  30
#define DDR_PHY_DCR_UBG_MASK                                   0x40000000U

/*
* Un-buffered DIMM Address Mirroring
*/
#undef DDR_PHY_DCR_UDIMM_DEFVAL 
#undef DDR_PHY_DCR_UDIMM_SHIFT 
#undef DDR_PHY_DCR_UDIMM_MASK 
#define DDR_PHY_DCR_UDIMM_DEFVAL                               0x0000040D
#define DDR_PHY_DCR_UDIMM_SHIFT                                29
#define DDR_PHY_DCR_UDIMM_MASK                                 0x20000000U

/*
* DDR 2T Timing
*/
#undef DDR_PHY_DCR_DDR2T_DEFVAL 
#undef DDR_PHY_DCR_DDR2T_SHIFT 
#undef DDR_PHY_DCR_DDR2T_MASK 
#define DDR_PHY_DCR_DDR2T_DEFVAL                               0x0000040D
#define DDR_PHY_DCR_DDR2T_SHIFT                                28
#define DDR_PHY_DCR_DDR2T_MASK                                 0x10000000U

/*
* No Simultaneous Rank Access
*/
#undef DDR_PHY_DCR_NOSRA_DEFVAL 
#undef DDR_PHY_DCR_NOSRA_SHIFT 
#undef DDR_PHY_DCR_NOSRA_MASK 
#define DDR_PHY_DCR_NOSRA_DEFVAL                               0x0000040D
#define DDR_PHY_DCR_NOSRA_SHIFT                                27
#define DDR_PHY_DCR_NOSRA_MASK                                 0x08000000U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_DCR_RESERVED_26_18_DEFVAL 
#undef DDR_PHY_DCR_RESERVED_26_18_SHIFT 
#undef DDR_PHY_DCR_RESERVED_26_18_MASK 
#define DDR_PHY_DCR_RESERVED_26_18_DEFVAL                      0x0000040D
#define DDR_PHY_DCR_RESERVED_26_18_SHIFT                       18
#define DDR_PHY_DCR_RESERVED_26_18_MASK                        0x07FC0000U

/*
* Byte Mask
*/
#undef DDR_PHY_DCR_BYTEMASK_DEFVAL 
#undef DDR_PHY_DCR_BYTEMASK_SHIFT 
#undef DDR_PHY_DCR_BYTEMASK_MASK 
#define DDR_PHY_DCR_BYTEMASK_DEFVAL                            0x0000040D
#define DDR_PHY_DCR_BYTEMASK_SHIFT                             10
#define DDR_PHY_DCR_BYTEMASK_MASK                              0x0003FC00U

/*
* DDR Type
*/
#undef DDR_PHY_DCR_DDRTYPE_DEFVAL 
#undef DDR_PHY_DCR_DDRTYPE_SHIFT 
#undef DDR_PHY_DCR_DDRTYPE_MASK 
#define DDR_PHY_DCR_DDRTYPE_DEFVAL                             0x0000040D
#define DDR_PHY_DCR_DDRTYPE_SHIFT                              8
#define DDR_PHY_DCR_DDRTYPE_MASK                               0x00000300U

/*
* Multi-Purpose Register (MPR) DQ (DDR3 Only)
*/
#undef DDR_PHY_DCR_MPRDQ_DEFVAL 
#undef DDR_PHY_DCR_MPRDQ_SHIFT 
#undef DDR_PHY_DCR_MPRDQ_MASK 
#define DDR_PHY_DCR_MPRDQ_DEFVAL                               0x0000040D
#define DDR_PHY_DCR_MPRDQ_SHIFT                                7
#define DDR_PHY_DCR_MPRDQ_MASK                                 0x00000080U

/*
* Primary DQ (DDR3 Only)
*/
#undef DDR_PHY_DCR_PDQ_DEFVAL 
#undef DDR_PHY_DCR_PDQ_SHIFT 
#undef DDR_PHY_DCR_PDQ_MASK 
#define DDR_PHY_DCR_PDQ_DEFVAL                                 0x0000040D
#define DDR_PHY_DCR_PDQ_SHIFT                                  4
#define DDR_PHY_DCR_PDQ_MASK                                   0x00000070U

/*
* DDR 8-Bank
*/
#undef DDR_PHY_DCR_DDR8BNK_DEFVAL 
#undef DDR_PHY_DCR_DDR8BNK_SHIFT 
#undef DDR_PHY_DCR_DDR8BNK_MASK 
#define DDR_PHY_DCR_DDR8BNK_DEFVAL                             0x0000040D
#define DDR_PHY_DCR_DDR8BNK_SHIFT                              3
#define DDR_PHY_DCR_DDR8BNK_MASK                               0x00000008U

/*
* DDR Mode
*/
#undef DDR_PHY_DCR_DDRMD_DEFVAL 
#undef DDR_PHY_DCR_DDRMD_SHIFT 
#undef DDR_PHY_DCR_DDRMD_MASK 
#define DDR_PHY_DCR_DDRMD_DEFVAL                               0x0000040D
#define DDR_PHY_DCR_DDRMD_SHIFT                                0
#define DDR_PHY_DCR_DDRMD_MASK                                 0x00000007U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_DTPR0_RESERVED_31_29_DEFVAL 
#undef DDR_PHY_DTPR0_RESERVED_31_29_SHIFT 
#undef DDR_PHY_DTPR0_RESERVED_31_29_MASK 
#define DDR_PHY_DTPR0_RESERVED_31_29_DEFVAL                    0x105A2D08
#define DDR_PHY_DTPR0_RESERVED_31_29_SHIFT                     29
#define DDR_PHY_DTPR0_RESERVED_31_29_MASK                      0xE0000000U

/*
* Activate to activate command delay (different banks)
*/
#undef DDR_PHY_DTPR0_TRRD_DEFVAL 
#undef DDR_PHY_DTPR0_TRRD_SHIFT 
#undef DDR_PHY_DTPR0_TRRD_MASK 
#define DDR_PHY_DTPR0_TRRD_DEFVAL                              0x105A2D08
#define DDR_PHY_DTPR0_TRRD_SHIFT                               24
#define DDR_PHY_DTPR0_TRRD_MASK                                0x1F000000U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_DTPR0_RESERVED_23_DEFVAL 
#undef DDR_PHY_DTPR0_RESERVED_23_SHIFT 
#undef DDR_PHY_DTPR0_RESERVED_23_MASK 
#define DDR_PHY_DTPR0_RESERVED_23_DEFVAL                       0x105A2D08
#define DDR_PHY_DTPR0_RESERVED_23_SHIFT                        23
#define DDR_PHY_DTPR0_RESERVED_23_MASK                         0x00800000U

/*
* Activate to precharge command delay
*/
#undef DDR_PHY_DTPR0_TRAS_DEFVAL 
#undef DDR_PHY_DTPR0_TRAS_SHIFT 
#undef DDR_PHY_DTPR0_TRAS_MASK 
#define DDR_PHY_DTPR0_TRAS_DEFVAL                              0x105A2D08
#define DDR_PHY_DTPR0_TRAS_SHIFT                               16
#define DDR_PHY_DTPR0_TRAS_MASK                                0x007F0000U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_DTPR0_RESERVED_15_DEFVAL 
#undef DDR_PHY_DTPR0_RESERVED_15_SHIFT 
#undef DDR_PHY_DTPR0_RESERVED_15_MASK 
#define DDR_PHY_DTPR0_RESERVED_15_DEFVAL                       0x105A2D08
#define DDR_PHY_DTPR0_RESERVED_15_SHIFT                        15
#define DDR_PHY_DTPR0_RESERVED_15_MASK                         0x00008000U

/*
* Precharge command period
*/
#undef DDR_PHY_DTPR0_TRP_DEFVAL 
#undef DDR_PHY_DTPR0_TRP_SHIFT 
#undef DDR_PHY_DTPR0_TRP_MASK 
#define DDR_PHY_DTPR0_TRP_DEFVAL                               0x105A2D08
#define DDR_PHY_DTPR0_TRP_SHIFT                                8
#define DDR_PHY_DTPR0_TRP_MASK                                 0x00007F00U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_DTPR0_RESERVED_7_5_DEFVAL 
#undef DDR_PHY_DTPR0_RESERVED_7_5_SHIFT 
#undef DDR_PHY_DTPR0_RESERVED_7_5_MASK 
#define DDR_PHY_DTPR0_RESERVED_7_5_DEFVAL                      0x105A2D08
#define DDR_PHY_DTPR0_RESERVED_7_5_SHIFT                       5
#define DDR_PHY_DTPR0_RESERVED_7_5_MASK                        0x000000E0U

/*
* Internal read to precharge command delay
*/
#undef DDR_PHY_DTPR0_TRTP_DEFVAL 
#undef DDR_PHY_DTPR0_TRTP_SHIFT 
#undef DDR_PHY_DTPR0_TRTP_MASK 
#define DDR_PHY_DTPR0_TRTP_DEFVAL                              0x105A2D08
#define DDR_PHY_DTPR0_TRTP_SHIFT                               0
#define DDR_PHY_DTPR0_TRTP_MASK                                0x0000001FU

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_DTPR1_RESERVED_31_DEFVAL 
#undef DDR_PHY_DTPR1_RESERVED_31_SHIFT 
#undef DDR_PHY_DTPR1_RESERVED_31_MASK 
#define DDR_PHY_DTPR1_RESERVED_31_DEFVAL                       0x5656041E
#define DDR_PHY_DTPR1_RESERVED_31_SHIFT                        31
#define DDR_PHY_DTPR1_RESERVED_31_MASK                         0x80000000U

/*
* Minimum delay from when write leveling mode is programmed to the first D
    * QS/DQS# rising edge.
*/
#undef DDR_PHY_DTPR1_TWLMRD_DEFVAL 
#undef DDR_PHY_DTPR1_TWLMRD_SHIFT 
#undef DDR_PHY_DTPR1_TWLMRD_MASK 
#define DDR_PHY_DTPR1_TWLMRD_DEFVAL                            0x5656041E
#define DDR_PHY_DTPR1_TWLMRD_SHIFT                             24
#define DDR_PHY_DTPR1_TWLMRD_MASK                              0x7F000000U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_DTPR1_RESERVED_23_DEFVAL 
#undef DDR_PHY_DTPR1_RESERVED_23_SHIFT 
#undef DDR_PHY_DTPR1_RESERVED_23_MASK 
#define DDR_PHY_DTPR1_RESERVED_23_DEFVAL                       0x5656041E
#define DDR_PHY_DTPR1_RESERVED_23_SHIFT                        23
#define DDR_PHY_DTPR1_RESERVED_23_MASK                         0x00800000U

/*
* 4-bank activate period
*/
#undef DDR_PHY_DTPR1_TFAW_DEFVAL 
#undef DDR_PHY_DTPR1_TFAW_SHIFT 
#undef DDR_PHY_DTPR1_TFAW_MASK 
#define DDR_PHY_DTPR1_TFAW_DEFVAL                              0x5656041E
#define DDR_PHY_DTPR1_TFAW_SHIFT                               16
#define DDR_PHY_DTPR1_TFAW_MASK                                0x007F0000U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_DTPR1_RESERVED_15_11_DEFVAL 
#undef DDR_PHY_DTPR1_RESERVED_15_11_SHIFT 
#undef DDR_PHY_DTPR1_RESERVED_15_11_MASK 
#define DDR_PHY_DTPR1_RESERVED_15_11_DEFVAL                    0x5656041E
#define DDR_PHY_DTPR1_RESERVED_15_11_SHIFT                     11
#define DDR_PHY_DTPR1_RESERVED_15_11_MASK                      0x0000F800U

/*
* Load mode update delay (DDR4 and DDR3 only)
*/
#undef DDR_PHY_DTPR1_TMOD_DEFVAL 
#undef DDR_PHY_DTPR1_TMOD_SHIFT 
#undef DDR_PHY_DTPR1_TMOD_MASK 
#define DDR_PHY_DTPR1_TMOD_DEFVAL                              0x5656041E
#define DDR_PHY_DTPR1_TMOD_SHIFT                               8
#define DDR_PHY_DTPR1_TMOD_MASK                                0x00000700U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_DTPR1_RESERVED_7_5_DEFVAL 
#undef DDR_PHY_DTPR1_RESERVED_7_5_SHIFT 
#undef DDR_PHY_DTPR1_RESERVED_7_5_MASK 
#define DDR_PHY_DTPR1_RESERVED_7_5_DEFVAL                      0x5656041E
#define DDR_PHY_DTPR1_RESERVED_7_5_SHIFT                       5
#define DDR_PHY_DTPR1_RESERVED_7_5_MASK                        0x000000E0U

/*
* Load mode cycle time
*/
#undef DDR_PHY_DTPR1_TMRD_DEFVAL 
#undef DDR_PHY_DTPR1_TMRD_SHIFT 
#undef DDR_PHY_DTPR1_TMRD_MASK 
#define DDR_PHY_DTPR1_TMRD_DEFVAL                              0x5656041E
#define DDR_PHY_DTPR1_TMRD_SHIFT                               0
#define DDR_PHY_DTPR1_TMRD_MASK                                0x0000001FU

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_DTPR2_RESERVED_31_29_DEFVAL 
#undef DDR_PHY_DTPR2_RESERVED_31_29_SHIFT 
#undef DDR_PHY_DTPR2_RESERVED_31_29_MASK 
#define DDR_PHY_DTPR2_RESERVED_31_29_DEFVAL                    0x000B01D0
#define DDR_PHY_DTPR2_RESERVED_31_29_SHIFT                     29
#define DDR_PHY_DTPR2_RESERVED_31_29_MASK                      0xE0000000U

/*
* Read to Write command delay. Valid values are
*/
#undef DDR_PHY_DTPR2_TRTW_DEFVAL 
#undef DDR_PHY_DTPR2_TRTW_SHIFT 
#undef DDR_PHY_DTPR2_TRTW_MASK 
#define DDR_PHY_DTPR2_TRTW_DEFVAL                              0x000B01D0
#define DDR_PHY_DTPR2_TRTW_SHIFT                               28
#define DDR_PHY_DTPR2_TRTW_MASK                                0x10000000U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_DTPR2_RESERVED_27_25_DEFVAL 
#undef DDR_PHY_DTPR2_RESERVED_27_25_SHIFT 
#undef DDR_PHY_DTPR2_RESERVED_27_25_MASK 
#define DDR_PHY_DTPR2_RESERVED_27_25_DEFVAL                    0x000B01D0
#define DDR_PHY_DTPR2_RESERVED_27_25_SHIFT                     25
#define DDR_PHY_DTPR2_RESERVED_27_25_MASK                      0x0E000000U

/*
* Read to ODT delay (DDR3 only)
*/
#undef DDR_PHY_DTPR2_TRTODT_DEFVAL 
#undef DDR_PHY_DTPR2_TRTODT_SHIFT 
#undef DDR_PHY_DTPR2_TRTODT_MASK 
#define DDR_PHY_DTPR2_TRTODT_DEFVAL                            0x000B01D0
#define DDR_PHY_DTPR2_TRTODT_SHIFT                             24
#define DDR_PHY_DTPR2_TRTODT_MASK                              0x01000000U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_DTPR2_RESERVED_23_20_DEFVAL 
#undef DDR_PHY_DTPR2_RESERVED_23_20_SHIFT 
#undef DDR_PHY_DTPR2_RESERVED_23_20_MASK 
#define DDR_PHY_DTPR2_RESERVED_23_20_DEFVAL                    0x000B01D0
#define DDR_PHY_DTPR2_RESERVED_23_20_SHIFT                     20
#define DDR_PHY_DTPR2_RESERVED_23_20_MASK                      0x00F00000U

/*
* CKE minimum pulse width
*/
#undef DDR_PHY_DTPR2_TCKE_DEFVAL 
#undef DDR_PHY_DTPR2_TCKE_SHIFT 
#undef DDR_PHY_DTPR2_TCKE_MASK 
#define DDR_PHY_DTPR2_TCKE_DEFVAL                              0x000B01D0
#define DDR_PHY_DTPR2_TCKE_SHIFT                               16
#define DDR_PHY_DTPR2_TCKE_MASK                                0x000F0000U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_DTPR2_RESERVED_15_10_DEFVAL 
#undef DDR_PHY_DTPR2_RESERVED_15_10_SHIFT 
#undef DDR_PHY_DTPR2_RESERVED_15_10_MASK 
#define DDR_PHY_DTPR2_RESERVED_15_10_DEFVAL                    0x000B01D0
#define DDR_PHY_DTPR2_RESERVED_15_10_SHIFT                     10
#define DDR_PHY_DTPR2_RESERVED_15_10_MASK                      0x0000FC00U

/*
* Self refresh exit delay
*/
#undef DDR_PHY_DTPR2_TXS_DEFVAL 
#undef DDR_PHY_DTPR2_TXS_SHIFT 
#undef DDR_PHY_DTPR2_TXS_MASK 
#define DDR_PHY_DTPR2_TXS_DEFVAL                               0x000B01D0
#define DDR_PHY_DTPR2_TXS_SHIFT                                0
#define DDR_PHY_DTPR2_TXS_MASK                                 0x000003FFU

/*
* ODT turn-off delay extension
*/
#undef DDR_PHY_DTPR3_TOFDX_DEFVAL 
#undef DDR_PHY_DTPR3_TOFDX_SHIFT 
#undef DDR_PHY_DTPR3_TOFDX_MASK 
#define DDR_PHY_DTPR3_TOFDX_DEFVAL                             0x02000804
#define DDR_PHY_DTPR3_TOFDX_SHIFT                              29
#define DDR_PHY_DTPR3_TOFDX_MASK                               0xE0000000U

/*
* Read to read and write to write command delay
*/
#undef DDR_PHY_DTPR3_TCCD_DEFVAL 
#undef DDR_PHY_DTPR3_TCCD_SHIFT 
#undef DDR_PHY_DTPR3_TCCD_MASK 
#define DDR_PHY_DTPR3_TCCD_DEFVAL                              0x02000804
#define DDR_PHY_DTPR3_TCCD_SHIFT                               26
#define DDR_PHY_DTPR3_TCCD_MASK                                0x1C000000U

/*
* DLL locking time
*/
#undef DDR_PHY_DTPR3_TDLLK_DEFVAL 
#undef DDR_PHY_DTPR3_TDLLK_SHIFT 
#undef DDR_PHY_DTPR3_TDLLK_MASK 
#define DDR_PHY_DTPR3_TDLLK_DEFVAL                             0x02000804
#define DDR_PHY_DTPR3_TDLLK_SHIFT                              16
#define DDR_PHY_DTPR3_TDLLK_MASK                               0x03FF0000U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_DTPR3_RESERVED_15_12_DEFVAL 
#undef DDR_PHY_DTPR3_RESERVED_15_12_SHIFT 
#undef DDR_PHY_DTPR3_RESERVED_15_12_MASK 
#define DDR_PHY_DTPR3_RESERVED_15_12_DEFVAL                    0x02000804
#define DDR_PHY_DTPR3_RESERVED_15_12_SHIFT                     12
#define DDR_PHY_DTPR3_RESERVED_15_12_MASK                      0x0000F000U

/*
* Maximum DQS output access time from CK/CK# (LPDDR2/3 only)
*/
#undef DDR_PHY_DTPR3_TDQSCKMAX_DEFVAL 
#undef DDR_PHY_DTPR3_TDQSCKMAX_SHIFT 
#undef DDR_PHY_DTPR3_TDQSCKMAX_MASK 
#define DDR_PHY_DTPR3_TDQSCKMAX_DEFVAL                         0x02000804
#define DDR_PHY_DTPR3_TDQSCKMAX_SHIFT                          8
#define DDR_PHY_DTPR3_TDQSCKMAX_MASK                           0x00000F00U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_DTPR3_RESERVED_7_3_DEFVAL 
#undef DDR_PHY_DTPR3_RESERVED_7_3_SHIFT 
#undef DDR_PHY_DTPR3_RESERVED_7_3_MASK 
#define DDR_PHY_DTPR3_RESERVED_7_3_DEFVAL                      0x02000804
#define DDR_PHY_DTPR3_RESERVED_7_3_SHIFT                       3
#define DDR_PHY_DTPR3_RESERVED_7_3_MASK                        0x000000F8U

/*
* DQS output access time from CK/CK# (LPDDR2/3 only)
*/
#undef DDR_PHY_DTPR3_TDQSCK_DEFVAL 
#undef DDR_PHY_DTPR3_TDQSCK_SHIFT 
#undef DDR_PHY_DTPR3_TDQSCK_MASK 
#define DDR_PHY_DTPR3_TDQSCK_DEFVAL                            0x02000804
#define DDR_PHY_DTPR3_TDQSCK_SHIFT                             0
#define DDR_PHY_DTPR3_TDQSCK_MASK                              0x00000007U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_DTPR4_RESERVED_31_30_DEFVAL 
#undef DDR_PHY_DTPR4_RESERVED_31_30_SHIFT 
#undef DDR_PHY_DTPR4_RESERVED_31_30_MASK 
#define DDR_PHY_DTPR4_RESERVED_31_30_DEFVAL                    0x01C02B10
#define DDR_PHY_DTPR4_RESERVED_31_30_SHIFT                     30
#define DDR_PHY_DTPR4_RESERVED_31_30_MASK                      0xC0000000U

/*
* ODT turn-on/turn-off delays (DDR2 only)
*/
#undef DDR_PHY_DTPR4_TAOND_TAOFD_DEFVAL 
#undef DDR_PHY_DTPR4_TAOND_TAOFD_SHIFT 
#undef DDR_PHY_DTPR4_TAOND_TAOFD_MASK 
#define DDR_PHY_DTPR4_TAOND_TAOFD_DEFVAL                       0x01C02B10
#define DDR_PHY_DTPR4_TAOND_TAOFD_SHIFT                        28
#define DDR_PHY_DTPR4_TAOND_TAOFD_MASK                         0x30000000U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_DTPR4_RESERVED_27_26_DEFVAL 
#undef DDR_PHY_DTPR4_RESERVED_27_26_SHIFT 
#undef DDR_PHY_DTPR4_RESERVED_27_26_MASK 
#define DDR_PHY_DTPR4_RESERVED_27_26_DEFVAL                    0x01C02B10
#define DDR_PHY_DTPR4_RESERVED_27_26_SHIFT                     26
#define DDR_PHY_DTPR4_RESERVED_27_26_MASK                      0x0C000000U

/*
* Refresh-to-Refresh
*/
#undef DDR_PHY_DTPR4_TRFC_DEFVAL 
#undef DDR_PHY_DTPR4_TRFC_SHIFT 
#undef DDR_PHY_DTPR4_TRFC_MASK 
#define DDR_PHY_DTPR4_TRFC_DEFVAL                              0x01C02B10
#define DDR_PHY_DTPR4_TRFC_SHIFT                               16
#define DDR_PHY_DTPR4_TRFC_MASK                                0x03FF0000U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_DTPR4_RESERVED_15_14_DEFVAL 
#undef DDR_PHY_DTPR4_RESERVED_15_14_SHIFT 
#undef DDR_PHY_DTPR4_RESERVED_15_14_MASK 
#define DDR_PHY_DTPR4_RESERVED_15_14_DEFVAL                    0x01C02B10
#define DDR_PHY_DTPR4_RESERVED_15_14_SHIFT                     14
#define DDR_PHY_DTPR4_RESERVED_15_14_MASK                      0x0000C000U

/*
* Write leveling output delay
*/
#undef DDR_PHY_DTPR4_TWLO_DEFVAL 
#undef DDR_PHY_DTPR4_TWLO_SHIFT 
#undef DDR_PHY_DTPR4_TWLO_MASK 
#define DDR_PHY_DTPR4_TWLO_DEFVAL                              0x01C02B10
#define DDR_PHY_DTPR4_TWLO_SHIFT                               8
#define DDR_PHY_DTPR4_TWLO_MASK                                0x00003F00U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_DTPR4_RESERVED_7_5_DEFVAL 
#undef DDR_PHY_DTPR4_RESERVED_7_5_SHIFT 
#undef DDR_PHY_DTPR4_RESERVED_7_5_MASK 
#define DDR_PHY_DTPR4_RESERVED_7_5_DEFVAL                      0x01C02B10
#define DDR_PHY_DTPR4_RESERVED_7_5_SHIFT                       5
#define DDR_PHY_DTPR4_RESERVED_7_5_MASK                        0x000000E0U

/*
* Power down exit delay
*/
#undef DDR_PHY_DTPR4_TXP_DEFVAL 
#undef DDR_PHY_DTPR4_TXP_SHIFT 
#undef DDR_PHY_DTPR4_TXP_MASK 
#define DDR_PHY_DTPR4_TXP_DEFVAL                               0x01C02B10
#define DDR_PHY_DTPR4_TXP_SHIFT                                0
#define DDR_PHY_DTPR4_TXP_MASK                                 0x0000001FU

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_DTPR5_RESERVED_31_24_DEFVAL 
#undef DDR_PHY_DTPR5_RESERVED_31_24_SHIFT 
#undef DDR_PHY_DTPR5_RESERVED_31_24_MASK 
#define DDR_PHY_DTPR5_RESERVED_31_24_DEFVAL                    0x00872716
#define DDR_PHY_DTPR5_RESERVED_31_24_SHIFT                     24
#define DDR_PHY_DTPR5_RESERVED_31_24_MASK                      0xFF000000U

/*
* Activate to activate command delay (same bank)
*/
#undef DDR_PHY_DTPR5_TRC_DEFVAL 
#undef DDR_PHY_DTPR5_TRC_SHIFT 
#undef DDR_PHY_DTPR5_TRC_MASK 
#define DDR_PHY_DTPR5_TRC_DEFVAL                               0x00872716
#define DDR_PHY_DTPR5_TRC_SHIFT                                16
#define DDR_PHY_DTPR5_TRC_MASK                                 0x00FF0000U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_DTPR5_RESERVED_15_DEFVAL 
#undef DDR_PHY_DTPR5_RESERVED_15_SHIFT 
#undef DDR_PHY_DTPR5_RESERVED_15_MASK 
#define DDR_PHY_DTPR5_RESERVED_15_DEFVAL                       0x00872716
#define DDR_PHY_DTPR5_RESERVED_15_SHIFT                        15
#define DDR_PHY_DTPR5_RESERVED_15_MASK                         0x00008000U

/*
* Activate to read or write delay
*/
#undef DDR_PHY_DTPR5_TRCD_DEFVAL 
#undef DDR_PHY_DTPR5_TRCD_SHIFT 
#undef DDR_PHY_DTPR5_TRCD_MASK 
#define DDR_PHY_DTPR5_TRCD_DEFVAL                              0x00872716
#define DDR_PHY_DTPR5_TRCD_SHIFT                               8
#define DDR_PHY_DTPR5_TRCD_MASK                                0x00007F00U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_DTPR5_RESERVED_7_5_DEFVAL 
#undef DDR_PHY_DTPR5_RESERVED_7_5_SHIFT 
#undef DDR_PHY_DTPR5_RESERVED_7_5_MASK 
#define DDR_PHY_DTPR5_RESERVED_7_5_DEFVAL                      0x00872716
#define DDR_PHY_DTPR5_RESERVED_7_5_SHIFT                       5
#define DDR_PHY_DTPR5_RESERVED_7_5_MASK                        0x000000E0U

/*
* Internal write to read command delay
*/
#undef DDR_PHY_DTPR5_TWTR_DEFVAL 
#undef DDR_PHY_DTPR5_TWTR_SHIFT 
#undef DDR_PHY_DTPR5_TWTR_MASK 
#define DDR_PHY_DTPR5_TWTR_DEFVAL                              0x00872716
#define DDR_PHY_DTPR5_TWTR_SHIFT                               0
#define DDR_PHY_DTPR5_TWTR_MASK                                0x0000001FU

/*
* PUB Write Latency Enable
*/
#undef DDR_PHY_DTPR6_PUBWLEN_DEFVAL 
#undef DDR_PHY_DTPR6_PUBWLEN_SHIFT 
#undef DDR_PHY_DTPR6_PUBWLEN_MASK 
#define DDR_PHY_DTPR6_PUBWLEN_DEFVAL                           0x00000505
#define DDR_PHY_DTPR6_PUBWLEN_SHIFT                            31
#define DDR_PHY_DTPR6_PUBWLEN_MASK                             0x80000000U

/*
* PUB Read Latency Enable
*/
#undef DDR_PHY_DTPR6_PUBRLEN_DEFVAL 
#undef DDR_PHY_DTPR6_PUBRLEN_SHIFT 
#undef DDR_PHY_DTPR6_PUBRLEN_MASK 
#define DDR_PHY_DTPR6_PUBRLEN_DEFVAL                           0x00000505
#define DDR_PHY_DTPR6_PUBRLEN_SHIFT                            30
#define DDR_PHY_DTPR6_PUBRLEN_MASK                             0x40000000U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_DTPR6_RESERVED_29_14_DEFVAL 
#undef DDR_PHY_DTPR6_RESERVED_29_14_SHIFT 
#undef DDR_PHY_DTPR6_RESERVED_29_14_MASK 
#define DDR_PHY_DTPR6_RESERVED_29_14_DEFVAL                    0x00000505
#define DDR_PHY_DTPR6_RESERVED_29_14_SHIFT                     14
#define DDR_PHY_DTPR6_RESERVED_29_14_MASK                      0x3FFFC000U

/*
* Write Latency
*/
#undef DDR_PHY_DTPR6_PUBWL_DEFVAL 
#undef DDR_PHY_DTPR6_PUBWL_SHIFT 
#undef DDR_PHY_DTPR6_PUBWL_MASK 
#define DDR_PHY_DTPR6_PUBWL_DEFVAL                             0x00000505
#define DDR_PHY_DTPR6_PUBWL_SHIFT                              8
#define DDR_PHY_DTPR6_PUBWL_MASK                               0x00003F00U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_DTPR6_RESERVED_7_6_DEFVAL 
#undef DDR_PHY_DTPR6_RESERVED_7_6_SHIFT 
#undef DDR_PHY_DTPR6_RESERVED_7_6_MASK 
#define DDR_PHY_DTPR6_RESERVED_7_6_DEFVAL                      0x00000505
#define DDR_PHY_DTPR6_RESERVED_7_6_SHIFT                       6
#define DDR_PHY_DTPR6_RESERVED_7_6_MASK                        0x000000C0U

/*
* Read Latency
*/
#undef DDR_PHY_DTPR6_PUBRL_DEFVAL 
#undef DDR_PHY_DTPR6_PUBRL_SHIFT 
#undef DDR_PHY_DTPR6_PUBRL_MASK 
#define DDR_PHY_DTPR6_PUBRL_DEFVAL                             0x00000505
#define DDR_PHY_DTPR6_PUBRL_SHIFT                              0
#define DDR_PHY_DTPR6_PUBRL_MASK                               0x0000003FU

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_RDIMMGCR0_RESERVED_31_DEFVAL 
#undef DDR_PHY_RDIMMGCR0_RESERVED_31_SHIFT 
#undef DDR_PHY_RDIMMGCR0_RESERVED_31_MASK 
#define DDR_PHY_RDIMMGCR0_RESERVED_31_DEFVAL                   0x08400020
#define DDR_PHY_RDIMMGCR0_RESERVED_31_SHIFT                    31
#define DDR_PHY_RDIMMGCR0_RESERVED_31_MASK                     0x80000000U

/*
* RDMIMM Quad CS Enable
*/
#undef DDR_PHY_RDIMMGCR0_QCSEN_DEFVAL 
#undef DDR_PHY_RDIMMGCR0_QCSEN_SHIFT 
#undef DDR_PHY_RDIMMGCR0_QCSEN_MASK 
#define DDR_PHY_RDIMMGCR0_QCSEN_DEFVAL                         0x08400020
#define DDR_PHY_RDIMMGCR0_QCSEN_SHIFT                          30
#define DDR_PHY_RDIMMGCR0_QCSEN_MASK                           0x40000000U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_RDIMMGCR0_RESERVED_29_28_DEFVAL 
#undef DDR_PHY_RDIMMGCR0_RESERVED_29_28_SHIFT 
#undef DDR_PHY_RDIMMGCR0_RESERVED_29_28_MASK 
#define DDR_PHY_RDIMMGCR0_RESERVED_29_28_DEFVAL                0x08400020
#define DDR_PHY_RDIMMGCR0_RESERVED_29_28_SHIFT                 28
#define DDR_PHY_RDIMMGCR0_RESERVED_29_28_MASK                  0x30000000U

/*
* RDIMM Outputs I/O Mode
*/
#undef DDR_PHY_RDIMMGCR0_RDIMMIOM_DEFVAL 
#undef DDR_PHY_RDIMMGCR0_RDIMMIOM_SHIFT 
#undef DDR_PHY_RDIMMGCR0_RDIMMIOM_MASK 
#define DDR_PHY_RDIMMGCR0_RDIMMIOM_DEFVAL                      0x08400020
#define DDR_PHY_RDIMMGCR0_RDIMMIOM_SHIFT                       27
#define DDR_PHY_RDIMMGCR0_RDIMMIOM_MASK                        0x08000000U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_RDIMMGCR0_RESERVED_26_24_DEFVAL 
#undef DDR_PHY_RDIMMGCR0_RESERVED_26_24_SHIFT 
#undef DDR_PHY_RDIMMGCR0_RESERVED_26_24_MASK 
#define DDR_PHY_RDIMMGCR0_RESERVED_26_24_DEFVAL                0x08400020
#define DDR_PHY_RDIMMGCR0_RESERVED_26_24_SHIFT                 24
#define DDR_PHY_RDIMMGCR0_RESERVED_26_24_MASK                  0x07000000U

/*
* ERROUT# Output Enable
*/
#undef DDR_PHY_RDIMMGCR0_ERROUTOE_DEFVAL 
#undef DDR_PHY_RDIMMGCR0_ERROUTOE_SHIFT 
#undef DDR_PHY_RDIMMGCR0_ERROUTOE_MASK 
#define DDR_PHY_RDIMMGCR0_ERROUTOE_DEFVAL                      0x08400020
#define DDR_PHY_RDIMMGCR0_ERROUTOE_SHIFT                       23
#define DDR_PHY_RDIMMGCR0_ERROUTOE_MASK                        0x00800000U

/*
* ERROUT# I/O Mode
*/
#undef DDR_PHY_RDIMMGCR0_ERROUTIOM_DEFVAL 
#undef DDR_PHY_RDIMMGCR0_ERROUTIOM_SHIFT 
#undef DDR_PHY_RDIMMGCR0_ERROUTIOM_MASK 
#define DDR_PHY_RDIMMGCR0_ERROUTIOM_DEFVAL                     0x08400020
#define DDR_PHY_RDIMMGCR0_ERROUTIOM_SHIFT                      22
#define DDR_PHY_RDIMMGCR0_ERROUTIOM_MASK                       0x00400000U

/*
* ERROUT# Power Down Receiver
*/
#undef DDR_PHY_RDIMMGCR0_ERROUTPDR_DEFVAL 
#undef DDR_PHY_RDIMMGCR0_ERROUTPDR_SHIFT 
#undef DDR_PHY_RDIMMGCR0_ERROUTPDR_MASK 
#define DDR_PHY_RDIMMGCR0_ERROUTPDR_DEFVAL                     0x08400020
#define DDR_PHY_RDIMMGCR0_ERROUTPDR_SHIFT                      21
#define DDR_PHY_RDIMMGCR0_ERROUTPDR_MASK                       0x00200000U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_RDIMMGCR0_RESERVED_20_DEFVAL 
#undef DDR_PHY_RDIMMGCR0_RESERVED_20_SHIFT 
#undef DDR_PHY_RDIMMGCR0_RESERVED_20_MASK 
#define DDR_PHY_RDIMMGCR0_RESERVED_20_DEFVAL                   0x08400020
#define DDR_PHY_RDIMMGCR0_RESERVED_20_SHIFT                    20
#define DDR_PHY_RDIMMGCR0_RESERVED_20_MASK                     0x00100000U

/*
* ERROUT# On-Die Termination
*/
#undef DDR_PHY_RDIMMGCR0_ERROUTODT_DEFVAL 
#undef DDR_PHY_RDIMMGCR0_ERROUTODT_SHIFT 
#undef DDR_PHY_RDIMMGCR0_ERROUTODT_MASK 
#define DDR_PHY_RDIMMGCR0_ERROUTODT_DEFVAL                     0x08400020
#define DDR_PHY_RDIMMGCR0_ERROUTODT_SHIFT                      19
#define DDR_PHY_RDIMMGCR0_ERROUTODT_MASK                       0x00080000U

/*
* Load Reduced DIMM
*/
#undef DDR_PHY_RDIMMGCR0_LRDIMM_DEFVAL 
#undef DDR_PHY_RDIMMGCR0_LRDIMM_SHIFT 
#undef DDR_PHY_RDIMMGCR0_LRDIMM_MASK 
#define DDR_PHY_RDIMMGCR0_LRDIMM_DEFVAL                        0x08400020
#define DDR_PHY_RDIMMGCR0_LRDIMM_SHIFT                         18
#define DDR_PHY_RDIMMGCR0_LRDIMM_MASK                          0x00040000U

/*
* PAR_IN I/O Mode
*/
#undef DDR_PHY_RDIMMGCR0_PARINIOM_DEFVAL 
#undef DDR_PHY_RDIMMGCR0_PARINIOM_SHIFT 
#undef DDR_PHY_RDIMMGCR0_PARINIOM_MASK 
#define DDR_PHY_RDIMMGCR0_PARINIOM_DEFVAL                      0x08400020
#define DDR_PHY_RDIMMGCR0_PARINIOM_SHIFT                       17
#define DDR_PHY_RDIMMGCR0_PARINIOM_MASK                        0x00020000U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_RDIMMGCR0_RESERVED_16_8_DEFVAL 
#undef DDR_PHY_RDIMMGCR0_RESERVED_16_8_SHIFT 
#undef DDR_PHY_RDIMMGCR0_RESERVED_16_8_MASK 
#define DDR_PHY_RDIMMGCR0_RESERVED_16_8_DEFVAL                 0x08400020
#define DDR_PHY_RDIMMGCR0_RESERVED_16_8_SHIFT                  8
#define DDR_PHY_RDIMMGCR0_RESERVED_16_8_MASK                   0x0001FF00U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_RDIMMGCR0_RNKMRREN_RSVD_DEFVAL 
#undef DDR_PHY_RDIMMGCR0_RNKMRREN_RSVD_SHIFT 
#undef DDR_PHY_RDIMMGCR0_RNKMRREN_RSVD_MASK 
#define DDR_PHY_RDIMMGCR0_RNKMRREN_RSVD_DEFVAL                 0x08400020
#define DDR_PHY_RDIMMGCR0_RNKMRREN_RSVD_SHIFT                  6
#define DDR_PHY_RDIMMGCR0_RNKMRREN_RSVD_MASK                   0x000000C0U

/*
* Rank Mirror Enable.
*/
#undef DDR_PHY_RDIMMGCR0_RNKMRREN_DEFVAL 
#undef DDR_PHY_RDIMMGCR0_RNKMRREN_SHIFT 
#undef DDR_PHY_RDIMMGCR0_RNKMRREN_MASK 
#define DDR_PHY_RDIMMGCR0_RNKMRREN_DEFVAL                      0x08400020
#define DDR_PHY_RDIMMGCR0_RNKMRREN_SHIFT                       4
#define DDR_PHY_RDIMMGCR0_RNKMRREN_MASK                        0x00000030U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_RDIMMGCR0_RESERVED_3_DEFVAL 
#undef DDR_PHY_RDIMMGCR0_RESERVED_3_SHIFT 
#undef DDR_PHY_RDIMMGCR0_RESERVED_3_MASK 
#define DDR_PHY_RDIMMGCR0_RESERVED_3_DEFVAL                    0x08400020
#define DDR_PHY_RDIMMGCR0_RESERVED_3_SHIFT                     3
#define DDR_PHY_RDIMMGCR0_RESERVED_3_MASK                      0x00000008U

/*
* Stop on Parity Error
*/
#undef DDR_PHY_RDIMMGCR0_SOPERR_DEFVAL 
#undef DDR_PHY_RDIMMGCR0_SOPERR_SHIFT 
#undef DDR_PHY_RDIMMGCR0_SOPERR_MASK 
#define DDR_PHY_RDIMMGCR0_SOPERR_DEFVAL                        0x08400020
#define DDR_PHY_RDIMMGCR0_SOPERR_SHIFT                         2
#define DDR_PHY_RDIMMGCR0_SOPERR_MASK                          0x00000004U

/*
* Parity Error No Registering
*/
#undef DDR_PHY_RDIMMGCR0_ERRNOREG_DEFVAL 
#undef DDR_PHY_RDIMMGCR0_ERRNOREG_SHIFT 
#undef DDR_PHY_RDIMMGCR0_ERRNOREG_MASK 
#define DDR_PHY_RDIMMGCR0_ERRNOREG_DEFVAL                      0x08400020
#define DDR_PHY_RDIMMGCR0_ERRNOREG_SHIFT                       1
#define DDR_PHY_RDIMMGCR0_ERRNOREG_MASK                        0x00000002U

/*
* Registered DIMM
*/
#undef DDR_PHY_RDIMMGCR0_RDIMM_DEFVAL 
#undef DDR_PHY_RDIMMGCR0_RDIMM_SHIFT 
#undef DDR_PHY_RDIMMGCR0_RDIMM_MASK 
#define DDR_PHY_RDIMMGCR0_RDIMM_DEFVAL                         0x08400020
#define DDR_PHY_RDIMMGCR0_RDIMM_SHIFT                          0
#define DDR_PHY_RDIMMGCR0_RDIMM_MASK                           0x00000001U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_RDIMMGCR1_RESERVED_31_29_DEFVAL 
#undef DDR_PHY_RDIMMGCR1_RESERVED_31_29_SHIFT 
#undef DDR_PHY_RDIMMGCR1_RESERVED_31_29_MASK 
#define DDR_PHY_RDIMMGCR1_RESERVED_31_29_DEFVAL                0x00000C80
#define DDR_PHY_RDIMMGCR1_RESERVED_31_29_SHIFT                 29
#define DDR_PHY_RDIMMGCR1_RESERVED_31_29_MASK                  0xE0000000U

/*
* Address [17] B-side Inversion Disable
*/
#undef DDR_PHY_RDIMMGCR1_A17BID_DEFVAL 
#undef DDR_PHY_RDIMMGCR1_A17BID_SHIFT 
#undef DDR_PHY_RDIMMGCR1_A17BID_MASK 
#define DDR_PHY_RDIMMGCR1_A17BID_DEFVAL                        0x00000C80
#define DDR_PHY_RDIMMGCR1_A17BID_SHIFT                         28
#define DDR_PHY_RDIMMGCR1_A17BID_MASK                          0x10000000U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_RDIMMGCR1_RESERVED_27_DEFVAL 
#undef DDR_PHY_RDIMMGCR1_RESERVED_27_SHIFT 
#undef DDR_PHY_RDIMMGCR1_RESERVED_27_MASK 
#define DDR_PHY_RDIMMGCR1_RESERVED_27_DEFVAL                   0x00000C80
#define DDR_PHY_RDIMMGCR1_RESERVED_27_SHIFT                    27
#define DDR_PHY_RDIMMGCR1_RESERVED_27_MASK                     0x08000000U

/*
* Command word to command word programming delay
*/
#undef DDR_PHY_RDIMMGCR1_TBCMRD_L2_DEFVAL 
#undef DDR_PHY_RDIMMGCR1_TBCMRD_L2_SHIFT 
#undef DDR_PHY_RDIMMGCR1_TBCMRD_L2_MASK 
#define DDR_PHY_RDIMMGCR1_TBCMRD_L2_DEFVAL                     0x00000C80
#define DDR_PHY_RDIMMGCR1_TBCMRD_L2_SHIFT                      24
#define DDR_PHY_RDIMMGCR1_TBCMRD_L2_MASK                       0x07000000U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_RDIMMGCR1_RESERVED_23_DEFVAL 
#undef DDR_PHY_RDIMMGCR1_RESERVED_23_SHIFT 
#undef DDR_PHY_RDIMMGCR1_RESERVED_23_MASK 
#define DDR_PHY_RDIMMGCR1_RESERVED_23_DEFVAL                   0x00000C80
#define DDR_PHY_RDIMMGCR1_RESERVED_23_SHIFT                    23
#define DDR_PHY_RDIMMGCR1_RESERVED_23_MASK                     0x00800000U

/*
* Command word to command word programming delay
*/
#undef DDR_PHY_RDIMMGCR1_TBCMRD_L_DEFVAL 
#undef DDR_PHY_RDIMMGCR1_TBCMRD_L_SHIFT 
#undef DDR_PHY_RDIMMGCR1_TBCMRD_L_MASK 
#define DDR_PHY_RDIMMGCR1_TBCMRD_L_DEFVAL                      0x00000C80
#define DDR_PHY_RDIMMGCR1_TBCMRD_L_SHIFT                       20
#define DDR_PHY_RDIMMGCR1_TBCMRD_L_MASK                        0x00700000U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_RDIMMGCR1_RESERVED_19_DEFVAL 
#undef DDR_PHY_RDIMMGCR1_RESERVED_19_SHIFT 
#undef DDR_PHY_RDIMMGCR1_RESERVED_19_MASK 
#define DDR_PHY_RDIMMGCR1_RESERVED_19_DEFVAL                   0x00000C80
#define DDR_PHY_RDIMMGCR1_RESERVED_19_SHIFT                    19
#define DDR_PHY_RDIMMGCR1_RESERVED_19_MASK                     0x00080000U

/*
* Command word to command word programming delay
*/
#undef DDR_PHY_RDIMMGCR1_TBCMRD_DEFVAL 
#undef DDR_PHY_RDIMMGCR1_TBCMRD_SHIFT 
#undef DDR_PHY_RDIMMGCR1_TBCMRD_MASK 
#define DDR_PHY_RDIMMGCR1_TBCMRD_DEFVAL                        0x00000C80
#define DDR_PHY_RDIMMGCR1_TBCMRD_SHIFT                         16
#define DDR_PHY_RDIMMGCR1_TBCMRD_MASK                          0x00070000U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_RDIMMGCR1_RESERVED_15_14_DEFVAL 
#undef DDR_PHY_RDIMMGCR1_RESERVED_15_14_SHIFT 
#undef DDR_PHY_RDIMMGCR1_RESERVED_15_14_MASK 
#define DDR_PHY_RDIMMGCR1_RESERVED_15_14_DEFVAL                0x00000C80
#define DDR_PHY_RDIMMGCR1_RESERVED_15_14_SHIFT                 14
#define DDR_PHY_RDIMMGCR1_RESERVED_15_14_MASK                  0x0000C000U

/*
* Stabilization time
*/
#undef DDR_PHY_RDIMMGCR1_TBCSTAB_DEFVAL 
#undef DDR_PHY_RDIMMGCR1_TBCSTAB_SHIFT 
#undef DDR_PHY_RDIMMGCR1_TBCSTAB_MASK 
#define DDR_PHY_RDIMMGCR1_TBCSTAB_DEFVAL                       0x00000C80
#define DDR_PHY_RDIMMGCR1_TBCSTAB_SHIFT                        0
#define DDR_PHY_RDIMMGCR1_TBCSTAB_MASK                         0x00003FFFU

/*
* DDR4/DDR3 Control Word 7
*/
#undef DDR_PHY_RDIMMCR0_RC7_DEFVAL 
#undef DDR_PHY_RDIMMCR0_RC7_SHIFT 
#undef DDR_PHY_RDIMMCR0_RC7_MASK 
#define DDR_PHY_RDIMMCR0_RC7_DEFVAL                            0x00000000
#define DDR_PHY_RDIMMCR0_RC7_SHIFT                             28
#define DDR_PHY_RDIMMCR0_RC7_MASK                              0xF0000000U

/*
* DDR4 Control Word 6 (Comman space Control Word) / DDR3 Reserved
*/
#undef DDR_PHY_RDIMMCR0_RC6_DEFVAL 
#undef DDR_PHY_RDIMMCR0_RC6_SHIFT 
#undef DDR_PHY_RDIMMCR0_RC6_MASK 
#define DDR_PHY_RDIMMCR0_RC6_DEFVAL                            0x00000000
#define DDR_PHY_RDIMMCR0_RC6_SHIFT                             24
#define DDR_PHY_RDIMMCR0_RC6_MASK                              0x0F000000U

/*
* DDR4/DDR3 Control Word 5 (CK Driver Characteristics Control Word)
*/
#undef DDR_PHY_RDIMMCR0_RC5_DEFVAL 
#undef DDR_PHY_RDIMMCR0_RC5_SHIFT 
#undef DDR_PHY_RDIMMCR0_RC5_MASK 
#define DDR_PHY_RDIMMCR0_RC5_DEFVAL                            0x00000000
#define DDR_PHY_RDIMMCR0_RC5_SHIFT                             20
#define DDR_PHY_RDIMMCR0_RC5_MASK                              0x00F00000U

/*
* DDR4 Control Word 4 (ODT and CKE Signals Driver Characteristics Control
    * Word) / DDR3 Control Word 4 (Control Signals Driver Characteristics Cont
    * rol Word)
*/
#undef DDR_PHY_RDIMMCR0_RC4_DEFVAL 
#undef DDR_PHY_RDIMMCR0_RC4_SHIFT 
#undef DDR_PHY_RDIMMCR0_RC4_MASK 
#define DDR_PHY_RDIMMCR0_RC4_DEFVAL                            0x00000000
#define DDR_PHY_RDIMMCR0_RC4_SHIFT                             16
#define DDR_PHY_RDIMMCR0_RC4_MASK                              0x000F0000U

/*
* DDR4 Control Word 3 (CA and CS Signals Driver Characteristics Control Wo
    * rd) / DDR3 Control Word 3 (Command/Address Signals Driver Characteristri
    * cs Control Word)
*/
#undef DDR_PHY_RDIMMCR0_RC3_DEFVAL 
#undef DDR_PHY_RDIMMCR0_RC3_SHIFT 
#undef DDR_PHY_RDIMMCR0_RC3_MASK 
#define DDR_PHY_RDIMMCR0_RC3_DEFVAL                            0x00000000
#define DDR_PHY_RDIMMCR0_RC3_SHIFT                             12
#define DDR_PHY_RDIMMCR0_RC3_MASK                              0x0000F000U

/*
* DDR4 Control Word 2 (Timing and IBT Control Word) / DDR3 Control Word 2
    * (Timing Control Word)
*/
#undef DDR_PHY_RDIMMCR0_RC2_DEFVAL 
#undef DDR_PHY_RDIMMCR0_RC2_SHIFT 
#undef DDR_PHY_RDIMMCR0_RC2_MASK 
#define DDR_PHY_RDIMMCR0_RC2_DEFVAL                            0x00000000
#define DDR_PHY_RDIMMCR0_RC2_SHIFT                             8
#define DDR_PHY_RDIMMCR0_RC2_MASK                              0x00000F00U

/*
* DDR4/DDR3 Control Word 1 (Clock Driver Enable Control Word)
*/
#undef DDR_PHY_RDIMMCR0_RC1_DEFVAL 
#undef DDR_PHY_RDIMMCR0_RC1_SHIFT 
#undef DDR_PHY_RDIMMCR0_RC1_MASK 
#define DDR_PHY_RDIMMCR0_RC1_DEFVAL                            0x00000000
#define DDR_PHY_RDIMMCR0_RC1_SHIFT                             4
#define DDR_PHY_RDIMMCR0_RC1_MASK                              0x000000F0U

/*
* DDR4/DDR3 Control Word 0 (Global Features Control Word)
*/
#undef DDR_PHY_RDIMMCR0_RC0_DEFVAL 
#undef DDR_PHY_RDIMMCR0_RC0_SHIFT 
#undef DDR_PHY_RDIMMCR0_RC0_MASK 
#define DDR_PHY_RDIMMCR0_RC0_DEFVAL                            0x00000000
#define DDR_PHY_RDIMMCR0_RC0_SHIFT                             0
#define DDR_PHY_RDIMMCR0_RC0_MASK                              0x0000000FU

/*
* Control Word 15
*/
#undef DDR_PHY_RDIMMCR1_RC15_DEFVAL 
#undef DDR_PHY_RDIMMCR1_RC15_SHIFT 
#undef DDR_PHY_RDIMMCR1_RC15_MASK 
#define DDR_PHY_RDIMMCR1_RC15_DEFVAL                           0x00000000
#define DDR_PHY_RDIMMCR1_RC15_SHIFT                            28
#define DDR_PHY_RDIMMCR1_RC15_MASK                             0xF0000000U

/*
* DDR4 Control Word 14 (Parity Control Word) / DDR3 Reserved
*/
#undef DDR_PHY_RDIMMCR1_RC14_DEFVAL 
#undef DDR_PHY_RDIMMCR1_RC14_SHIFT 
#undef DDR_PHY_RDIMMCR1_RC14_MASK 
#define DDR_PHY_RDIMMCR1_RC14_DEFVAL                           0x00000000
#define DDR_PHY_RDIMMCR1_RC14_SHIFT                            24
#define DDR_PHY_RDIMMCR1_RC14_MASK                             0x0F000000U

/*
* DDR4 Control Word 13 (DIMM Configuration Control Word) / DDR3 Reserved
*/
#undef DDR_PHY_RDIMMCR1_RC13_DEFVAL 
#undef DDR_PHY_RDIMMCR1_RC13_SHIFT 
#undef DDR_PHY_RDIMMCR1_RC13_MASK 
#define DDR_PHY_RDIMMCR1_RC13_DEFVAL                           0x00000000
#define DDR_PHY_RDIMMCR1_RC13_SHIFT                            20
#define DDR_PHY_RDIMMCR1_RC13_MASK                             0x00F00000U

/*
* DDR4 Control Word 12 (Training Control Word) / DDR3 Reserved
*/
#undef DDR_PHY_RDIMMCR1_RC12_DEFVAL 
#undef DDR_PHY_RDIMMCR1_RC12_SHIFT 
#undef DDR_PHY_RDIMMCR1_RC12_MASK 
#define DDR_PHY_RDIMMCR1_RC12_DEFVAL                           0x00000000
#define DDR_PHY_RDIMMCR1_RC12_SHIFT                            16
#define DDR_PHY_RDIMMCR1_RC12_MASK                             0x000F0000U

/*
* DDR4 Control Word 11 (Operating Voltage VDD and VREFCA Source Control Wo
    * rd) / DDR3 Control Word 11 (Operation Voltage VDD Control Word)
*/
#undef DDR_PHY_RDIMMCR1_RC11_DEFVAL 
#undef DDR_PHY_RDIMMCR1_RC11_SHIFT 
#undef DDR_PHY_RDIMMCR1_RC11_MASK 
#define DDR_PHY_RDIMMCR1_RC11_DEFVAL                           0x00000000
#define DDR_PHY_RDIMMCR1_RC11_SHIFT                            12
#define DDR_PHY_RDIMMCR1_RC11_MASK                             0x0000F000U

/*
* DDR4/DDR3 Control Word 10 (RDIMM Operating Speed Control Word)
*/
#undef DDR_PHY_RDIMMCR1_RC10_DEFVAL 
#undef DDR_PHY_RDIMMCR1_RC10_SHIFT 
#undef DDR_PHY_RDIMMCR1_RC10_MASK 
#define DDR_PHY_RDIMMCR1_RC10_DEFVAL                           0x00000000
#define DDR_PHY_RDIMMCR1_RC10_SHIFT                            8
#define DDR_PHY_RDIMMCR1_RC10_MASK                             0x00000F00U

/*
* DDR4/DDR3 Control Word 9 (Power Saving Settings Control Word)
*/
#undef DDR_PHY_RDIMMCR1_RC9_DEFVAL 
#undef DDR_PHY_RDIMMCR1_RC9_SHIFT 
#undef DDR_PHY_RDIMMCR1_RC9_MASK 
#define DDR_PHY_RDIMMCR1_RC9_DEFVAL                            0x00000000
#define DDR_PHY_RDIMMCR1_RC9_SHIFT                             4
#define DDR_PHY_RDIMMCR1_RC9_MASK                              0x000000F0U

/*
* DDR4 Control Word 8 (Input/Output Configuration Control Word) / DDR3 Con
    * trol Word 8 (Additional Input Bus Termination Setting Control Word)
*/
#undef DDR_PHY_RDIMMCR1_RC8_DEFVAL 
#undef DDR_PHY_RDIMMCR1_RC8_SHIFT 
#undef DDR_PHY_RDIMMCR1_RC8_MASK 
#define DDR_PHY_RDIMMCR1_RC8_DEFVAL                            0x00000000
#define DDR_PHY_RDIMMCR1_RC8_SHIFT                             0
#define DDR_PHY_RDIMMCR1_RC8_MASK                              0x0000000FU

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_MR0_RESERVED_31_8_DEFVAL 
#undef DDR_PHY_MR0_RESERVED_31_8_SHIFT 
#undef DDR_PHY_MR0_RESERVED_31_8_MASK 
#define DDR_PHY_MR0_RESERVED_31_8_DEFVAL                       0x00000052
#define DDR_PHY_MR0_RESERVED_31_8_SHIFT                        8
#define DDR_PHY_MR0_RESERVED_31_8_MASK                         0xFFFFFF00U

/*
* CA Terminating Rank
*/
#undef DDR_PHY_MR0_CATR_DEFVAL 
#undef DDR_PHY_MR0_CATR_SHIFT 
#undef DDR_PHY_MR0_CATR_MASK 
#define DDR_PHY_MR0_CATR_DEFVAL                                0x00000052
#define DDR_PHY_MR0_CATR_SHIFT                                 7
#define DDR_PHY_MR0_CATR_MASK                                  0x00000080U

/*
* Reserved. These are JEDEC reserved bits and are recommended by JEDEC to
    * be programmed to 0x0.
*/
#undef DDR_PHY_MR0_RSVD_6_5_DEFVAL 
#undef DDR_PHY_MR0_RSVD_6_5_SHIFT 
#undef DDR_PHY_MR0_RSVD_6_5_MASK 
#define DDR_PHY_MR0_RSVD_6_5_DEFVAL                            0x00000052
#define DDR_PHY_MR0_RSVD_6_5_SHIFT                             5
#define DDR_PHY_MR0_RSVD_6_5_MASK                              0x00000060U

/*
* Built-in Self-Test for RZQ
*/
#undef DDR_PHY_MR0_RZQI_DEFVAL 
#undef DDR_PHY_MR0_RZQI_SHIFT 
#undef DDR_PHY_MR0_RZQI_MASK 
#define DDR_PHY_MR0_RZQI_DEFVAL                                0x00000052
#define DDR_PHY_MR0_RZQI_SHIFT                                 3
#define DDR_PHY_MR0_RZQI_MASK                                  0x00000018U

/*
* Reserved. These are JEDEC reserved bits and are recommended by JEDEC to
    * be programmed to 0x0.
*/
#undef DDR_PHY_MR0_RSVD_2_0_DEFVAL 
#undef DDR_PHY_MR0_RSVD_2_0_SHIFT 
#undef DDR_PHY_MR0_RSVD_2_0_MASK 
#define DDR_PHY_MR0_RSVD_2_0_DEFVAL                            0x00000052
#define DDR_PHY_MR0_RSVD_2_0_SHIFT                             0
#define DDR_PHY_MR0_RSVD_2_0_MASK                              0x00000007U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_MR1_RESERVED_31_8_DEFVAL 
#undef DDR_PHY_MR1_RESERVED_31_8_SHIFT 
#undef DDR_PHY_MR1_RESERVED_31_8_MASK 
#define DDR_PHY_MR1_RESERVED_31_8_DEFVAL                       0x00000004
#define DDR_PHY_MR1_RESERVED_31_8_SHIFT                        8
#define DDR_PHY_MR1_RESERVED_31_8_MASK                         0xFFFFFF00U

/*
* Read Postamble Length
*/
#undef DDR_PHY_MR1_RDPST_DEFVAL 
#undef DDR_PHY_MR1_RDPST_SHIFT 
#undef DDR_PHY_MR1_RDPST_MASK 
#define DDR_PHY_MR1_RDPST_DEFVAL                               0x00000004
#define DDR_PHY_MR1_RDPST_SHIFT                                7
#define DDR_PHY_MR1_RDPST_MASK                                 0x00000080U

/*
* Write-recovery for auto-precharge command
*/
#undef DDR_PHY_MR1_NWR_DEFVAL 
#undef DDR_PHY_MR1_NWR_SHIFT 
#undef DDR_PHY_MR1_NWR_MASK 
#define DDR_PHY_MR1_NWR_DEFVAL                                 0x00000004
#define DDR_PHY_MR1_NWR_SHIFT                                  4
#define DDR_PHY_MR1_NWR_MASK                                   0x00000070U

/*
* Read Preamble Length
*/
#undef DDR_PHY_MR1_RDPRE_DEFVAL 
#undef DDR_PHY_MR1_RDPRE_SHIFT 
#undef DDR_PHY_MR1_RDPRE_MASK 
#define DDR_PHY_MR1_RDPRE_DEFVAL                               0x00000004
#define DDR_PHY_MR1_RDPRE_SHIFT                                3
#define DDR_PHY_MR1_RDPRE_MASK                                 0x00000008U

/*
* Write Preamble Length
*/
#undef DDR_PHY_MR1_WRPRE_DEFVAL 
#undef DDR_PHY_MR1_WRPRE_SHIFT 
#undef DDR_PHY_MR1_WRPRE_MASK 
#define DDR_PHY_MR1_WRPRE_DEFVAL                               0x00000004
#define DDR_PHY_MR1_WRPRE_SHIFT                                2
#define DDR_PHY_MR1_WRPRE_MASK                                 0x00000004U

/*
* Burst Length
*/
#undef DDR_PHY_MR1_BL_DEFVAL 
#undef DDR_PHY_MR1_BL_SHIFT 
#undef DDR_PHY_MR1_BL_MASK 
#define DDR_PHY_MR1_BL_DEFVAL                                  0x00000004
#define DDR_PHY_MR1_BL_SHIFT                                   0
#define DDR_PHY_MR1_BL_MASK                                    0x00000003U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_MR2_RESERVED_31_8_DEFVAL 
#undef DDR_PHY_MR2_RESERVED_31_8_SHIFT 
#undef DDR_PHY_MR2_RESERVED_31_8_MASK 
#define DDR_PHY_MR2_RESERVED_31_8_DEFVAL                       0x00000000
#define DDR_PHY_MR2_RESERVED_31_8_SHIFT                        8
#define DDR_PHY_MR2_RESERVED_31_8_MASK                         0xFFFFFF00U

/*
* Write Leveling
*/
#undef DDR_PHY_MR2_WRL_DEFVAL 
#undef DDR_PHY_MR2_WRL_SHIFT 
#undef DDR_PHY_MR2_WRL_MASK 
#define DDR_PHY_MR2_WRL_DEFVAL                                 0x00000000
#define DDR_PHY_MR2_WRL_SHIFT                                  7
#define DDR_PHY_MR2_WRL_MASK                                   0x00000080U

/*
* Write Latency Set
*/
#undef DDR_PHY_MR2_WLS_DEFVAL 
#undef DDR_PHY_MR2_WLS_SHIFT 
#undef DDR_PHY_MR2_WLS_MASK 
#define DDR_PHY_MR2_WLS_DEFVAL                                 0x00000000
#define DDR_PHY_MR2_WLS_SHIFT                                  6
#define DDR_PHY_MR2_WLS_MASK                                   0x00000040U

/*
* Write Latency
*/
#undef DDR_PHY_MR2_WL_DEFVAL 
#undef DDR_PHY_MR2_WL_SHIFT 
#undef DDR_PHY_MR2_WL_MASK 
#define DDR_PHY_MR2_WL_DEFVAL                                  0x00000000
#define DDR_PHY_MR2_WL_SHIFT                                   3
#define DDR_PHY_MR2_WL_MASK                                    0x00000038U

/*
* Read Latency
*/
#undef DDR_PHY_MR2_RL_DEFVAL 
#undef DDR_PHY_MR2_RL_SHIFT 
#undef DDR_PHY_MR2_RL_MASK 
#define DDR_PHY_MR2_RL_DEFVAL                                  0x00000000
#define DDR_PHY_MR2_RL_SHIFT                                   0
#define DDR_PHY_MR2_RL_MASK                                    0x00000007U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_MR3_RESERVED_31_8_DEFVAL 
#undef DDR_PHY_MR3_RESERVED_31_8_SHIFT 
#undef DDR_PHY_MR3_RESERVED_31_8_MASK 
#define DDR_PHY_MR3_RESERVED_31_8_DEFVAL                       0x00000031
#define DDR_PHY_MR3_RESERVED_31_8_SHIFT                        8
#define DDR_PHY_MR3_RESERVED_31_8_MASK                         0xFFFFFF00U

/*
* DBI-Write Enable
*/
#undef DDR_PHY_MR3_DBIWR_DEFVAL 
#undef DDR_PHY_MR3_DBIWR_SHIFT 
#undef DDR_PHY_MR3_DBIWR_MASK 
#define DDR_PHY_MR3_DBIWR_DEFVAL                               0x00000031
#define DDR_PHY_MR3_DBIWR_SHIFT                                7
#define DDR_PHY_MR3_DBIWR_MASK                                 0x00000080U

/*
* DBI-Read Enable
*/
#undef DDR_PHY_MR3_DBIRD_DEFVAL 
#undef DDR_PHY_MR3_DBIRD_SHIFT 
#undef DDR_PHY_MR3_DBIRD_MASK 
#define DDR_PHY_MR3_DBIRD_DEFVAL                               0x00000031
#define DDR_PHY_MR3_DBIRD_SHIFT                                6
#define DDR_PHY_MR3_DBIRD_MASK                                 0x00000040U

/*
* Pull-down Drive Strength
*/
#undef DDR_PHY_MR3_PDDS_DEFVAL 
#undef DDR_PHY_MR3_PDDS_SHIFT 
#undef DDR_PHY_MR3_PDDS_MASK 
#define DDR_PHY_MR3_PDDS_DEFVAL                                0x00000031
#define DDR_PHY_MR3_PDDS_SHIFT                                 3
#define DDR_PHY_MR3_PDDS_MASK                                  0x00000038U

/*
* These are JEDEC reserved bits and are recommended by JEDEC to be program
    * med to 0x0.
*/
#undef DDR_PHY_MR3_RSVD_DEFVAL 
#undef DDR_PHY_MR3_RSVD_SHIFT 
#undef DDR_PHY_MR3_RSVD_MASK 
#define DDR_PHY_MR3_RSVD_DEFVAL                                0x00000031
#define DDR_PHY_MR3_RSVD_SHIFT                                 2
#define DDR_PHY_MR3_RSVD_MASK                                  0x00000004U

/*
* Write Postamble Length
*/
#undef DDR_PHY_MR3_WRPST_DEFVAL 
#undef DDR_PHY_MR3_WRPST_SHIFT 
#undef DDR_PHY_MR3_WRPST_MASK 
#define DDR_PHY_MR3_WRPST_DEFVAL                               0x00000031
#define DDR_PHY_MR3_WRPST_SHIFT                                1
#define DDR_PHY_MR3_WRPST_MASK                                 0x00000002U

/*
* Pull-up Calibration Point
*/
#undef DDR_PHY_MR3_PUCAL_DEFVAL 
#undef DDR_PHY_MR3_PUCAL_SHIFT 
#undef DDR_PHY_MR3_PUCAL_MASK 
#define DDR_PHY_MR3_PUCAL_DEFVAL                               0x00000031
#define DDR_PHY_MR3_PUCAL_SHIFT                                0
#define DDR_PHY_MR3_PUCAL_MASK                                 0x00000001U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_MR4_RESERVED_31_16_DEFVAL 
#undef DDR_PHY_MR4_RESERVED_31_16_SHIFT 
#undef DDR_PHY_MR4_RESERVED_31_16_MASK 
#define DDR_PHY_MR4_RESERVED_31_16_DEFVAL                      0x00000000
#define DDR_PHY_MR4_RESERVED_31_16_SHIFT                       16
#define DDR_PHY_MR4_RESERVED_31_16_MASK                        0xFFFF0000U

/*
* These are JEDEC reserved bits and are recommended by JEDEC to be program
    * med to 0x0.
*/
#undef DDR_PHY_MR4_RSVD_15_13_DEFVAL 
#undef DDR_PHY_MR4_RSVD_15_13_SHIFT 
#undef DDR_PHY_MR4_RSVD_15_13_MASK 
#define DDR_PHY_MR4_RSVD_15_13_DEFVAL                          0x00000000
#define DDR_PHY_MR4_RSVD_15_13_SHIFT                           13
#define DDR_PHY_MR4_RSVD_15_13_MASK                            0x0000E000U

/*
* Write Preamble
*/
#undef DDR_PHY_MR4_WRP_DEFVAL 
#undef DDR_PHY_MR4_WRP_SHIFT 
#undef DDR_PHY_MR4_WRP_MASK 
#define DDR_PHY_MR4_WRP_DEFVAL                                 0x00000000
#define DDR_PHY_MR4_WRP_SHIFT                                  12
#define DDR_PHY_MR4_WRP_MASK                                   0x00001000U

/*
* Read Preamble
*/
#undef DDR_PHY_MR4_RDP_DEFVAL 
#undef DDR_PHY_MR4_RDP_SHIFT 
#undef DDR_PHY_MR4_RDP_MASK 
#define DDR_PHY_MR4_RDP_DEFVAL                                 0x00000000
#define DDR_PHY_MR4_RDP_SHIFT                                  11
#define DDR_PHY_MR4_RDP_MASK                                   0x00000800U

/*
* Read Preamble Training Mode
*/
#undef DDR_PHY_MR4_RPTM_DEFVAL 
#undef DDR_PHY_MR4_RPTM_SHIFT 
#undef DDR_PHY_MR4_RPTM_MASK 
#define DDR_PHY_MR4_RPTM_DEFVAL                                0x00000000
#define DDR_PHY_MR4_RPTM_SHIFT                                 10
#define DDR_PHY_MR4_RPTM_MASK                                  0x00000400U

/*
* Self Refresh Abort
*/
#undef DDR_PHY_MR4_SRA_DEFVAL 
#undef DDR_PHY_MR4_SRA_SHIFT 
#undef DDR_PHY_MR4_SRA_MASK 
#define DDR_PHY_MR4_SRA_DEFVAL                                 0x00000000
#define DDR_PHY_MR4_SRA_SHIFT                                  9
#define DDR_PHY_MR4_SRA_MASK                                   0x00000200U

/*
* CS to Command Latency Mode
*/
#undef DDR_PHY_MR4_CS2CMDL_DEFVAL 
#undef DDR_PHY_MR4_CS2CMDL_SHIFT 
#undef DDR_PHY_MR4_CS2CMDL_MASK 
#define DDR_PHY_MR4_CS2CMDL_DEFVAL                             0x00000000
#define DDR_PHY_MR4_CS2CMDL_SHIFT                              6
#define DDR_PHY_MR4_CS2CMDL_MASK                               0x000001C0U

/*
* These are JEDEC reserved bits and are recommended by JEDEC to be program
    * med to 0x0.
*/
#undef DDR_PHY_MR4_RSVD1_DEFVAL 
#undef DDR_PHY_MR4_RSVD1_SHIFT 
#undef DDR_PHY_MR4_RSVD1_MASK 
#define DDR_PHY_MR4_RSVD1_DEFVAL                               0x00000000
#define DDR_PHY_MR4_RSVD1_SHIFT                                5
#define DDR_PHY_MR4_RSVD1_MASK                                 0x00000020U

/*
* Internal VREF Monitor
*/
#undef DDR_PHY_MR4_IVM_DEFVAL 
#undef DDR_PHY_MR4_IVM_SHIFT 
#undef DDR_PHY_MR4_IVM_MASK 
#define DDR_PHY_MR4_IVM_DEFVAL                                 0x00000000
#define DDR_PHY_MR4_IVM_SHIFT                                  4
#define DDR_PHY_MR4_IVM_MASK                                   0x00000010U

/*
* Temperature Controlled Refresh Mode
*/
#undef DDR_PHY_MR4_TCRM_DEFVAL 
#undef DDR_PHY_MR4_TCRM_SHIFT 
#undef DDR_PHY_MR4_TCRM_MASK 
#define DDR_PHY_MR4_TCRM_DEFVAL                                0x00000000
#define DDR_PHY_MR4_TCRM_SHIFT                                 3
#define DDR_PHY_MR4_TCRM_MASK                                  0x00000008U

/*
* Temperature Controlled Refresh Range
*/
#undef DDR_PHY_MR4_TCRR_DEFVAL 
#undef DDR_PHY_MR4_TCRR_SHIFT 
#undef DDR_PHY_MR4_TCRR_MASK 
#define DDR_PHY_MR4_TCRR_DEFVAL                                0x00000000
#define DDR_PHY_MR4_TCRR_SHIFT                                 2
#define DDR_PHY_MR4_TCRR_MASK                                  0x00000004U

/*
* Maximum Power Down Mode
*/
#undef DDR_PHY_MR4_MPDM_DEFVAL 
#undef DDR_PHY_MR4_MPDM_SHIFT 
#undef DDR_PHY_MR4_MPDM_MASK 
#define DDR_PHY_MR4_MPDM_DEFVAL                                0x00000000
#define DDR_PHY_MR4_MPDM_SHIFT                                 1
#define DDR_PHY_MR4_MPDM_MASK                                  0x00000002U

/*
* This is a JEDEC reserved bit and is recommended by JEDEC to be programme
    * d to 0x0.
*/
#undef DDR_PHY_MR4_RSVD_0_DEFVAL 
#undef DDR_PHY_MR4_RSVD_0_SHIFT 
#undef DDR_PHY_MR4_RSVD_0_MASK 
#define DDR_PHY_MR4_RSVD_0_DEFVAL                              0x00000000
#define DDR_PHY_MR4_RSVD_0_SHIFT                               0
#define DDR_PHY_MR4_RSVD_0_MASK                                0x00000001U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_MR5_RESERVED_31_16_DEFVAL 
#undef DDR_PHY_MR5_RESERVED_31_16_SHIFT 
#undef DDR_PHY_MR5_RESERVED_31_16_MASK 
#define DDR_PHY_MR5_RESERVED_31_16_DEFVAL                      0x00000000
#define DDR_PHY_MR5_RESERVED_31_16_SHIFT                       16
#define DDR_PHY_MR5_RESERVED_31_16_MASK                        0xFFFF0000U

/*
* These are JEDEC reserved bits and are recommended by JEDEC to be program
    * med to 0x0.
*/
#undef DDR_PHY_MR5_RSVD_DEFVAL 
#undef DDR_PHY_MR5_RSVD_SHIFT 
#undef DDR_PHY_MR5_RSVD_MASK 
#define DDR_PHY_MR5_RSVD_DEFVAL                                0x00000000
#define DDR_PHY_MR5_RSVD_SHIFT                                 13
#define DDR_PHY_MR5_RSVD_MASK                                  0x0000E000U

/*
* Read DBI
*/
#undef DDR_PHY_MR5_RDBI_DEFVAL 
#undef DDR_PHY_MR5_RDBI_SHIFT 
#undef DDR_PHY_MR5_RDBI_MASK 
#define DDR_PHY_MR5_RDBI_DEFVAL                                0x00000000
#define DDR_PHY_MR5_RDBI_SHIFT                                 12
#define DDR_PHY_MR5_RDBI_MASK                                  0x00001000U

/*
* Write DBI
*/
#undef DDR_PHY_MR5_WDBI_DEFVAL 
#undef DDR_PHY_MR5_WDBI_SHIFT 
#undef DDR_PHY_MR5_WDBI_MASK 
#define DDR_PHY_MR5_WDBI_DEFVAL                                0x00000000
#define DDR_PHY_MR5_WDBI_SHIFT                                 11
#define DDR_PHY_MR5_WDBI_MASK                                  0x00000800U

/*
* Data Mask
*/
#undef DDR_PHY_MR5_DM_DEFVAL 
#undef DDR_PHY_MR5_DM_SHIFT 
#undef DDR_PHY_MR5_DM_MASK 
#define DDR_PHY_MR5_DM_DEFVAL                                  0x00000000
#define DDR_PHY_MR5_DM_SHIFT                                   10
#define DDR_PHY_MR5_DM_MASK                                    0x00000400U

/*
* CA Parity Persistent Error
*/
#undef DDR_PHY_MR5_CAPPE_DEFVAL 
#undef DDR_PHY_MR5_CAPPE_SHIFT 
#undef DDR_PHY_MR5_CAPPE_MASK 
#define DDR_PHY_MR5_CAPPE_DEFVAL                               0x00000000
#define DDR_PHY_MR5_CAPPE_SHIFT                                9
#define DDR_PHY_MR5_CAPPE_MASK                                 0x00000200U

/*
* RTT_PARK
*/
#undef DDR_PHY_MR5_RTTPARK_DEFVAL 
#undef DDR_PHY_MR5_RTTPARK_SHIFT 
#undef DDR_PHY_MR5_RTTPARK_MASK 
#define DDR_PHY_MR5_RTTPARK_DEFVAL                             0x00000000
#define DDR_PHY_MR5_RTTPARK_SHIFT                              6
#define DDR_PHY_MR5_RTTPARK_MASK                               0x000001C0U

/*
* ODT Input Buffer during Power Down mode
*/
#undef DDR_PHY_MR5_ODTIBPD_DEFVAL 
#undef DDR_PHY_MR5_ODTIBPD_SHIFT 
#undef DDR_PHY_MR5_ODTIBPD_MASK 
#define DDR_PHY_MR5_ODTIBPD_DEFVAL                             0x00000000
#define DDR_PHY_MR5_ODTIBPD_SHIFT                              5
#define DDR_PHY_MR5_ODTIBPD_MASK                               0x00000020U

/*
* C/A Parity Error Status
*/
#undef DDR_PHY_MR5_CAPES_DEFVAL 
#undef DDR_PHY_MR5_CAPES_SHIFT 
#undef DDR_PHY_MR5_CAPES_MASK 
#define DDR_PHY_MR5_CAPES_DEFVAL                               0x00000000
#define DDR_PHY_MR5_CAPES_SHIFT                                4
#define DDR_PHY_MR5_CAPES_MASK                                 0x00000010U

/*
* CRC Error Clear
*/
#undef DDR_PHY_MR5_CRCEC_DEFVAL 
#undef DDR_PHY_MR5_CRCEC_SHIFT 
#undef DDR_PHY_MR5_CRCEC_MASK 
#define DDR_PHY_MR5_CRCEC_DEFVAL                               0x00000000
#define DDR_PHY_MR5_CRCEC_SHIFT                                3
#define DDR_PHY_MR5_CRCEC_MASK                                 0x00000008U

/*
* C/A Parity Latency Mode
*/
#undef DDR_PHY_MR5_CAPM_DEFVAL 
#undef DDR_PHY_MR5_CAPM_SHIFT 
#undef DDR_PHY_MR5_CAPM_MASK 
#define DDR_PHY_MR5_CAPM_DEFVAL                                0x00000000
#define DDR_PHY_MR5_CAPM_SHIFT                                 0
#define DDR_PHY_MR5_CAPM_MASK                                  0x00000007U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_MR6_RESERVED_31_16_DEFVAL 
#undef DDR_PHY_MR6_RESERVED_31_16_SHIFT 
#undef DDR_PHY_MR6_RESERVED_31_16_MASK 
#define DDR_PHY_MR6_RESERVED_31_16_DEFVAL                      0x00000000
#define DDR_PHY_MR6_RESERVED_31_16_SHIFT                       16
#define DDR_PHY_MR6_RESERVED_31_16_MASK                        0xFFFF0000U

/*
* These are JEDEC reserved bits and are recommended by JEDEC to be program
    * med to 0x0.
*/
#undef DDR_PHY_MR6_RSVD_15_13_DEFVAL 
#undef DDR_PHY_MR6_RSVD_15_13_SHIFT 
#undef DDR_PHY_MR6_RSVD_15_13_MASK 
#define DDR_PHY_MR6_RSVD_15_13_DEFVAL                          0x00000000
#define DDR_PHY_MR6_RSVD_15_13_SHIFT                           13
#define DDR_PHY_MR6_RSVD_15_13_MASK                            0x0000E000U

/*
* CAS_n to CAS_n command delay for same bank group (tCCD_L)
*/
#undef DDR_PHY_MR6_TCCDL_DEFVAL 
#undef DDR_PHY_MR6_TCCDL_SHIFT 
#undef DDR_PHY_MR6_TCCDL_MASK 
#define DDR_PHY_MR6_TCCDL_DEFVAL                               0x00000000
#define DDR_PHY_MR6_TCCDL_SHIFT                                10
#define DDR_PHY_MR6_TCCDL_MASK                                 0x00001C00U

/*
* These are JEDEC reserved bits and are recommended by JEDEC to be program
    * med to 0x0.
*/
#undef DDR_PHY_MR6_RSVD_9_8_DEFVAL 
#undef DDR_PHY_MR6_RSVD_9_8_SHIFT 
#undef DDR_PHY_MR6_RSVD_9_8_MASK 
#define DDR_PHY_MR6_RSVD_9_8_DEFVAL                            0x00000000
#define DDR_PHY_MR6_RSVD_9_8_SHIFT                             8
#define DDR_PHY_MR6_RSVD_9_8_MASK                              0x00000300U

/*
* VrefDQ Training Enable
*/
#undef DDR_PHY_MR6_VDDQTEN_DEFVAL 
#undef DDR_PHY_MR6_VDDQTEN_SHIFT 
#undef DDR_PHY_MR6_VDDQTEN_MASK 
#define DDR_PHY_MR6_VDDQTEN_DEFVAL                             0x00000000
#define DDR_PHY_MR6_VDDQTEN_SHIFT                              7
#define DDR_PHY_MR6_VDDQTEN_MASK                               0x00000080U

/*
* VrefDQ Training Range
*/
#undef DDR_PHY_MR6_VDQTRG_DEFVAL 
#undef DDR_PHY_MR6_VDQTRG_SHIFT 
#undef DDR_PHY_MR6_VDQTRG_MASK 
#define DDR_PHY_MR6_VDQTRG_DEFVAL                              0x00000000
#define DDR_PHY_MR6_VDQTRG_SHIFT                               6
#define DDR_PHY_MR6_VDQTRG_MASK                                0x00000040U

/*
* VrefDQ Training Values
*/
#undef DDR_PHY_MR6_VDQTVAL_DEFVAL 
#undef DDR_PHY_MR6_VDQTVAL_SHIFT 
#undef DDR_PHY_MR6_VDQTVAL_MASK 
#define DDR_PHY_MR6_VDQTVAL_DEFVAL                             0x00000000
#define DDR_PHY_MR6_VDQTVAL_SHIFT                              0
#define DDR_PHY_MR6_VDQTVAL_MASK                               0x0000003FU

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_MR11_RESERVED_31_8_DEFVAL 
#undef DDR_PHY_MR11_RESERVED_31_8_SHIFT 
#undef DDR_PHY_MR11_RESERVED_31_8_MASK 
#define DDR_PHY_MR11_RESERVED_31_8_DEFVAL                      0x00000000
#define DDR_PHY_MR11_RESERVED_31_8_SHIFT                       8
#define DDR_PHY_MR11_RESERVED_31_8_MASK                        0xFFFFFF00U

/*
* These are JEDEC reserved bits and are recommended by JEDEC to be program
    * med to 0x0.
*/
#undef DDR_PHY_MR11_RSVD_DEFVAL 
#undef DDR_PHY_MR11_RSVD_SHIFT 
#undef DDR_PHY_MR11_RSVD_MASK 
#define DDR_PHY_MR11_RSVD_DEFVAL                               0x00000000
#define DDR_PHY_MR11_RSVD_SHIFT                                3
#define DDR_PHY_MR11_RSVD_MASK                                 0x000000F8U

/*
* Power Down Control
*/
#undef DDR_PHY_MR11_PDCTL_DEFVAL 
#undef DDR_PHY_MR11_PDCTL_SHIFT 
#undef DDR_PHY_MR11_PDCTL_MASK 
#define DDR_PHY_MR11_PDCTL_DEFVAL                              0x00000000
#define DDR_PHY_MR11_PDCTL_SHIFT                               2
#define DDR_PHY_MR11_PDCTL_MASK                                0x00000004U

/*
* DQ Bus Receiver On-Die-Termination
*/
#undef DDR_PHY_MR11_DQODT_DEFVAL 
#undef DDR_PHY_MR11_DQODT_SHIFT 
#undef DDR_PHY_MR11_DQODT_MASK 
#define DDR_PHY_MR11_DQODT_DEFVAL                              0x00000000
#define DDR_PHY_MR11_DQODT_SHIFT                               0
#define DDR_PHY_MR11_DQODT_MASK                                0x00000003U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_MR12_RESERVED_31_8_DEFVAL 
#undef DDR_PHY_MR12_RESERVED_31_8_SHIFT 
#undef DDR_PHY_MR12_RESERVED_31_8_MASK 
#define DDR_PHY_MR12_RESERVED_31_8_DEFVAL                      0x0000004D
#define DDR_PHY_MR12_RESERVED_31_8_SHIFT                       8
#define DDR_PHY_MR12_RESERVED_31_8_MASK                        0xFFFFFF00U

/*
* These are JEDEC reserved bits and are recommended by JEDEC to be program
    * med to 0x0.
*/
#undef DDR_PHY_MR12_RSVD_DEFVAL 
#undef DDR_PHY_MR12_RSVD_SHIFT 
#undef DDR_PHY_MR12_RSVD_MASK 
#define DDR_PHY_MR12_RSVD_DEFVAL                               0x0000004D
#define DDR_PHY_MR12_RSVD_SHIFT                                7
#define DDR_PHY_MR12_RSVD_MASK                                 0x00000080U

/*
* VREF_CA Range Select.
*/
#undef DDR_PHY_MR12_VR_CA_DEFVAL 
#undef DDR_PHY_MR12_VR_CA_SHIFT 
#undef DDR_PHY_MR12_VR_CA_MASK 
#define DDR_PHY_MR12_VR_CA_DEFVAL                              0x0000004D
#define DDR_PHY_MR12_VR_CA_SHIFT                               6
#define DDR_PHY_MR12_VR_CA_MASK                                0x00000040U

/*
* Controls the VREF(ca) levels for Frequency-Set-Point[1:0].
*/
#undef DDR_PHY_MR12_VREF_CA_DEFVAL 
#undef DDR_PHY_MR12_VREF_CA_SHIFT 
#undef DDR_PHY_MR12_VREF_CA_MASK 
#define DDR_PHY_MR12_VREF_CA_DEFVAL                            0x0000004D
#define DDR_PHY_MR12_VREF_CA_SHIFT                             0
#define DDR_PHY_MR12_VREF_CA_MASK                              0x0000003FU

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_MR13_RESERVED_31_8_DEFVAL 
#undef DDR_PHY_MR13_RESERVED_31_8_SHIFT 
#undef DDR_PHY_MR13_RESERVED_31_8_MASK 
#define DDR_PHY_MR13_RESERVED_31_8_DEFVAL                      0x00000000
#define DDR_PHY_MR13_RESERVED_31_8_SHIFT                       8
#define DDR_PHY_MR13_RESERVED_31_8_MASK                        0xFFFFFF00U

/*
* Frequency Set Point Operation Mode
*/
#undef DDR_PHY_MR13_FSPOP_DEFVAL 
#undef DDR_PHY_MR13_FSPOP_SHIFT 
#undef DDR_PHY_MR13_FSPOP_MASK 
#define DDR_PHY_MR13_FSPOP_DEFVAL                              0x00000000
#define DDR_PHY_MR13_FSPOP_SHIFT                               7
#define DDR_PHY_MR13_FSPOP_MASK                                0x00000080U

/*
* Frequency Set Point Write Enable
*/
#undef DDR_PHY_MR13_FSPWR_DEFVAL 
#undef DDR_PHY_MR13_FSPWR_SHIFT 
#undef DDR_PHY_MR13_FSPWR_MASK 
#define DDR_PHY_MR13_FSPWR_DEFVAL                              0x00000000
#define DDR_PHY_MR13_FSPWR_SHIFT                               6
#define DDR_PHY_MR13_FSPWR_MASK                                0x00000040U

/*
* Data Mask Enable
*/
#undef DDR_PHY_MR13_DMD_DEFVAL 
#undef DDR_PHY_MR13_DMD_SHIFT 
#undef DDR_PHY_MR13_DMD_MASK 
#define DDR_PHY_MR13_DMD_DEFVAL                                0x00000000
#define DDR_PHY_MR13_DMD_SHIFT                                 5
#define DDR_PHY_MR13_DMD_MASK                                  0x00000020U

/*
* Refresh Rate Option
*/
#undef DDR_PHY_MR13_RRO_DEFVAL 
#undef DDR_PHY_MR13_RRO_SHIFT 
#undef DDR_PHY_MR13_RRO_MASK 
#define DDR_PHY_MR13_RRO_DEFVAL                                0x00000000
#define DDR_PHY_MR13_RRO_SHIFT                                 4
#define DDR_PHY_MR13_RRO_MASK                                  0x00000010U

/*
* VREF Current Generator
*/
#undef DDR_PHY_MR13_VRCG_DEFVAL 
#undef DDR_PHY_MR13_VRCG_SHIFT 
#undef DDR_PHY_MR13_VRCG_MASK 
#define DDR_PHY_MR13_VRCG_DEFVAL                               0x00000000
#define DDR_PHY_MR13_VRCG_SHIFT                                3
#define DDR_PHY_MR13_VRCG_MASK                                 0x00000008U

/*
* VREF Output
*/
#undef DDR_PHY_MR13_VRO_DEFVAL 
#undef DDR_PHY_MR13_VRO_SHIFT 
#undef DDR_PHY_MR13_VRO_MASK 
#define DDR_PHY_MR13_VRO_DEFVAL                                0x00000000
#define DDR_PHY_MR13_VRO_SHIFT                                 2
#define DDR_PHY_MR13_VRO_MASK                                  0x00000004U

/*
* Read Preamble Training Mode
*/
#undef DDR_PHY_MR13_RPT_DEFVAL 
#undef DDR_PHY_MR13_RPT_SHIFT 
#undef DDR_PHY_MR13_RPT_MASK 
#define DDR_PHY_MR13_RPT_DEFVAL                                0x00000000
#define DDR_PHY_MR13_RPT_SHIFT                                 1
#define DDR_PHY_MR13_RPT_MASK                                  0x00000002U

/*
* Command Bus Training
*/
#undef DDR_PHY_MR13_CBT_DEFVAL 
#undef DDR_PHY_MR13_CBT_SHIFT 
#undef DDR_PHY_MR13_CBT_MASK 
#define DDR_PHY_MR13_CBT_DEFVAL                                0x00000000
#define DDR_PHY_MR13_CBT_SHIFT                                 0
#define DDR_PHY_MR13_CBT_MASK                                  0x00000001U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_MR14_RESERVED_31_8_DEFVAL 
#undef DDR_PHY_MR14_RESERVED_31_8_SHIFT 
#undef DDR_PHY_MR14_RESERVED_31_8_MASK 
#define DDR_PHY_MR14_RESERVED_31_8_DEFVAL                      0x0000004D
#define DDR_PHY_MR14_RESERVED_31_8_SHIFT                       8
#define DDR_PHY_MR14_RESERVED_31_8_MASK                        0xFFFFFF00U

/*
* These are JEDEC reserved bits and are recommended by JEDEC to be program
    * med to 0x0.
*/
#undef DDR_PHY_MR14_RSVD_DEFVAL 
#undef DDR_PHY_MR14_RSVD_SHIFT 
#undef DDR_PHY_MR14_RSVD_MASK 
#define DDR_PHY_MR14_RSVD_DEFVAL                               0x0000004D
#define DDR_PHY_MR14_RSVD_SHIFT                                7
#define DDR_PHY_MR14_RSVD_MASK                                 0x00000080U

/*
* VREFDQ Range Selects.
*/
#undef DDR_PHY_MR14_VR_DQ_DEFVAL 
#undef DDR_PHY_MR14_VR_DQ_SHIFT 
#undef DDR_PHY_MR14_VR_DQ_MASK 
#define DDR_PHY_MR14_VR_DQ_DEFVAL                              0x0000004D
#define DDR_PHY_MR14_VR_DQ_SHIFT                               6
#define DDR_PHY_MR14_VR_DQ_MASK                                0x00000040U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_MR14_VREF_DQ_DEFVAL 
#undef DDR_PHY_MR14_VREF_DQ_SHIFT 
#undef DDR_PHY_MR14_VREF_DQ_MASK 
#define DDR_PHY_MR14_VREF_DQ_DEFVAL                            0x0000004D
#define DDR_PHY_MR14_VREF_DQ_SHIFT                             0
#define DDR_PHY_MR14_VREF_DQ_MASK                              0x0000003FU

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_MR22_RESERVED_31_8_DEFVAL 
#undef DDR_PHY_MR22_RESERVED_31_8_SHIFT 
#undef DDR_PHY_MR22_RESERVED_31_8_MASK 
#define DDR_PHY_MR22_RESERVED_31_8_DEFVAL                      0x00000000
#define DDR_PHY_MR22_RESERVED_31_8_SHIFT                       8
#define DDR_PHY_MR22_RESERVED_31_8_MASK                        0xFFFFFF00U

/*
* These are JEDEC reserved bits and are recommended by JEDEC to be program
    * med to 0x0.
*/
#undef DDR_PHY_MR22_RSVD_DEFVAL 
#undef DDR_PHY_MR22_RSVD_SHIFT 
#undef DDR_PHY_MR22_RSVD_MASK 
#define DDR_PHY_MR22_RSVD_DEFVAL                               0x00000000
#define DDR_PHY_MR22_RSVD_SHIFT                                6
#define DDR_PHY_MR22_RSVD_MASK                                 0x000000C0U

/*
* CA ODT termination disable.
*/
#undef DDR_PHY_MR22_ODTD_CA_DEFVAL 
#undef DDR_PHY_MR22_ODTD_CA_SHIFT 
#undef DDR_PHY_MR22_ODTD_CA_MASK 
#define DDR_PHY_MR22_ODTD_CA_DEFVAL                            0x00000000
#define DDR_PHY_MR22_ODTD_CA_SHIFT                             5
#define DDR_PHY_MR22_ODTD_CA_MASK                              0x00000020U

/*
* ODT CS override.
*/
#undef DDR_PHY_MR22_ODTE_CS_DEFVAL 
#undef DDR_PHY_MR22_ODTE_CS_SHIFT 
#undef DDR_PHY_MR22_ODTE_CS_MASK 
#define DDR_PHY_MR22_ODTE_CS_DEFVAL                            0x00000000
#define DDR_PHY_MR22_ODTE_CS_SHIFT                             4
#define DDR_PHY_MR22_ODTE_CS_MASK                              0x00000010U

/*
* ODT CK override.
*/
#undef DDR_PHY_MR22_ODTE_CK_DEFVAL 
#undef DDR_PHY_MR22_ODTE_CK_SHIFT 
#undef DDR_PHY_MR22_ODTE_CK_MASK 
#define DDR_PHY_MR22_ODTE_CK_DEFVAL                            0x00000000
#define DDR_PHY_MR22_ODTE_CK_SHIFT                             3
#define DDR_PHY_MR22_ODTE_CK_MASK                              0x00000008U

/*
* Controller ODT value for VOH calibration.
*/
#undef DDR_PHY_MR22_CODT_DEFVAL 
#undef DDR_PHY_MR22_CODT_SHIFT 
#undef DDR_PHY_MR22_CODT_MASK 
#define DDR_PHY_MR22_CODT_DEFVAL                               0x00000000
#define DDR_PHY_MR22_CODT_SHIFT                                0
#define DDR_PHY_MR22_CODT_MASK                                 0x00000007U

/*
* Refresh During Training
*/
#undef DDR_PHY_DTCR0_RFSHDT_DEFVAL 
#undef DDR_PHY_DTCR0_RFSHDT_SHIFT 
#undef DDR_PHY_DTCR0_RFSHDT_MASK 
#define DDR_PHY_DTCR0_RFSHDT_DEFVAL                            0x800091C7
#define DDR_PHY_DTCR0_RFSHDT_SHIFT                             28
#define DDR_PHY_DTCR0_RFSHDT_MASK                              0xF0000000U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_DTCR0_RESERVED_27_26_DEFVAL 
#undef DDR_PHY_DTCR0_RESERVED_27_26_SHIFT 
#undef DDR_PHY_DTCR0_RESERVED_27_26_MASK 
#define DDR_PHY_DTCR0_RESERVED_27_26_DEFVAL                    0x800091C7
#define DDR_PHY_DTCR0_RESERVED_27_26_SHIFT                     26
#define DDR_PHY_DTCR0_RESERVED_27_26_MASK                      0x0C000000U

/*
* Data Training Debug Rank Select
*/
#undef DDR_PHY_DTCR0_DTDRS_DEFVAL 
#undef DDR_PHY_DTCR0_DTDRS_SHIFT 
#undef DDR_PHY_DTCR0_DTDRS_MASK 
#define DDR_PHY_DTCR0_DTDRS_DEFVAL                             0x800091C7
#define DDR_PHY_DTCR0_DTDRS_SHIFT                              24
#define DDR_PHY_DTCR0_DTDRS_MASK                               0x03000000U

/*
* Data Training with Early/Extended Gate
*/
#undef DDR_PHY_DTCR0_DTEXG_DEFVAL 
#undef DDR_PHY_DTCR0_DTEXG_SHIFT 
#undef DDR_PHY_DTCR0_DTEXG_MASK 
#define DDR_PHY_DTCR0_DTEXG_DEFVAL                             0x800091C7
#define DDR_PHY_DTCR0_DTEXG_SHIFT                              23
#define DDR_PHY_DTCR0_DTEXG_MASK                               0x00800000U

/*
* Data Training Extended Write DQS
*/
#undef DDR_PHY_DTCR0_DTEXD_DEFVAL 
#undef DDR_PHY_DTCR0_DTEXD_SHIFT 
#undef DDR_PHY_DTCR0_DTEXD_MASK 
#define DDR_PHY_DTCR0_DTEXD_DEFVAL                             0x800091C7
#define DDR_PHY_DTCR0_DTEXD_SHIFT                              22
#define DDR_PHY_DTCR0_DTEXD_MASK                               0x00400000U

/*
* Data Training Debug Step
*/
#undef DDR_PHY_DTCR0_DTDSTP_DEFVAL 
#undef DDR_PHY_DTCR0_DTDSTP_SHIFT 
#undef DDR_PHY_DTCR0_DTDSTP_MASK 
#define DDR_PHY_DTCR0_DTDSTP_DEFVAL                            0x800091C7
#define DDR_PHY_DTCR0_DTDSTP_SHIFT                             21
#define DDR_PHY_DTCR0_DTDSTP_MASK                              0x00200000U

/*
* Data Training Debug Enable
*/
#undef DDR_PHY_DTCR0_DTDEN_DEFVAL 
#undef DDR_PHY_DTCR0_DTDEN_SHIFT 
#undef DDR_PHY_DTCR0_DTDEN_MASK 
#define DDR_PHY_DTCR0_DTDEN_DEFVAL                             0x800091C7
#define DDR_PHY_DTCR0_DTDEN_SHIFT                              20
#define DDR_PHY_DTCR0_DTDEN_MASK                               0x00100000U

/*
* Data Training Debug Byte Select
*/
#undef DDR_PHY_DTCR0_DTDBS_DEFVAL 
#undef DDR_PHY_DTCR0_DTDBS_SHIFT 
#undef DDR_PHY_DTCR0_DTDBS_MASK 
#define DDR_PHY_DTCR0_DTDBS_DEFVAL                             0x800091C7
#define DDR_PHY_DTCR0_DTDBS_SHIFT                              16
#define DDR_PHY_DTCR0_DTDBS_MASK                               0x000F0000U

/*
* Data Training read DBI deskewing configuration
*/
#undef DDR_PHY_DTCR0_DTRDBITR_DEFVAL 
#undef DDR_PHY_DTCR0_DTRDBITR_SHIFT 
#undef DDR_PHY_DTCR0_DTRDBITR_MASK 
#define DDR_PHY_DTCR0_DTRDBITR_DEFVAL                          0x800091C7
#define DDR_PHY_DTCR0_DTRDBITR_SHIFT                           14
#define DDR_PHY_DTCR0_DTRDBITR_MASK                            0x0000C000U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_DTCR0_RESERVED_13_DEFVAL 
#undef DDR_PHY_DTCR0_RESERVED_13_SHIFT 
#undef DDR_PHY_DTCR0_RESERVED_13_MASK 
#define DDR_PHY_DTCR0_RESERVED_13_DEFVAL                       0x800091C7
#define DDR_PHY_DTCR0_RESERVED_13_SHIFT                        13
#define DDR_PHY_DTCR0_RESERVED_13_MASK                         0x00002000U

/*
* Data Training Write Bit Deskew Data Mask
*/
#undef DDR_PHY_DTCR0_DTWBDDM_DEFVAL 
#undef DDR_PHY_DTCR0_DTWBDDM_SHIFT 
#undef DDR_PHY_DTCR0_DTWBDDM_MASK 
#define DDR_PHY_DTCR0_DTWBDDM_DEFVAL                           0x800091C7
#define DDR_PHY_DTCR0_DTWBDDM_SHIFT                            12
#define DDR_PHY_DTCR0_DTWBDDM_MASK                             0x00001000U

/*
* Refreshes Issued During Entry to Training
*/
#undef DDR_PHY_DTCR0_RFSHEN_DEFVAL 
#undef DDR_PHY_DTCR0_RFSHEN_SHIFT 
#undef DDR_PHY_DTCR0_RFSHEN_MASK 
#define DDR_PHY_DTCR0_RFSHEN_DEFVAL                            0x800091C7
#define DDR_PHY_DTCR0_RFSHEN_SHIFT                             8
#define DDR_PHY_DTCR0_RFSHEN_MASK                              0x00000F00U

/*
* Data Training Compare Data
*/
#undef DDR_PHY_DTCR0_DTCMPD_DEFVAL 
#undef DDR_PHY_DTCR0_DTCMPD_SHIFT 
#undef DDR_PHY_DTCR0_DTCMPD_MASK 
#define DDR_PHY_DTCR0_DTCMPD_DEFVAL                            0x800091C7
#define DDR_PHY_DTCR0_DTCMPD_SHIFT                             7
#define DDR_PHY_DTCR0_DTCMPD_MASK                              0x00000080U

/*
* Data Training Using MPR
*/
#undef DDR_PHY_DTCR0_DTMPR_DEFVAL 
#undef DDR_PHY_DTCR0_DTMPR_SHIFT 
#undef DDR_PHY_DTCR0_DTMPR_MASK 
#define DDR_PHY_DTCR0_DTMPR_DEFVAL                             0x800091C7
#define DDR_PHY_DTCR0_DTMPR_SHIFT                              6
#define DDR_PHY_DTCR0_DTMPR_MASK                               0x00000040U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_DTCR0_RESERVED_5_4_DEFVAL 
#undef DDR_PHY_DTCR0_RESERVED_5_4_SHIFT 
#undef DDR_PHY_DTCR0_RESERVED_5_4_MASK 
#define DDR_PHY_DTCR0_RESERVED_5_4_DEFVAL                      0x800091C7
#define DDR_PHY_DTCR0_RESERVED_5_4_SHIFT                       4
#define DDR_PHY_DTCR0_RESERVED_5_4_MASK                        0x00000030U

/*
* Data Training Repeat Number
*/
#undef DDR_PHY_DTCR0_DTRPTN_DEFVAL 
#undef DDR_PHY_DTCR0_DTRPTN_SHIFT 
#undef DDR_PHY_DTCR0_DTRPTN_MASK 
#define DDR_PHY_DTCR0_DTRPTN_DEFVAL                            0x800091C7
#define DDR_PHY_DTCR0_DTRPTN_SHIFT                             0
#define DDR_PHY_DTCR0_DTRPTN_MASK                              0x0000000FU

/*
* Rank Enable.
*/
#undef DDR_PHY_DTCR1_RANKEN_RSVD_DEFVAL 
#undef DDR_PHY_DTCR1_RANKEN_RSVD_SHIFT 
#undef DDR_PHY_DTCR1_RANKEN_RSVD_MASK 
#define DDR_PHY_DTCR1_RANKEN_RSVD_DEFVAL                       0x00030237
#define DDR_PHY_DTCR1_RANKEN_RSVD_SHIFT                        18
#define DDR_PHY_DTCR1_RANKEN_RSVD_MASK                         0xFFFC0000U

/*
* Rank Enable.
*/
#undef DDR_PHY_DTCR1_RANKEN_DEFVAL 
#undef DDR_PHY_DTCR1_RANKEN_SHIFT 
#undef DDR_PHY_DTCR1_RANKEN_MASK 
#define DDR_PHY_DTCR1_RANKEN_DEFVAL                            0x00030237
#define DDR_PHY_DTCR1_RANKEN_SHIFT                             16
#define DDR_PHY_DTCR1_RANKEN_MASK                              0x00030000U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_DTCR1_RESERVED_15_14_DEFVAL 
#undef DDR_PHY_DTCR1_RESERVED_15_14_SHIFT 
#undef DDR_PHY_DTCR1_RESERVED_15_14_MASK 
#define DDR_PHY_DTCR1_RESERVED_15_14_DEFVAL                    0x00030237
#define DDR_PHY_DTCR1_RESERVED_15_14_SHIFT                     14
#define DDR_PHY_DTCR1_RESERVED_15_14_MASK                      0x0000C000U

/*
* Data Training Rank
*/
#undef DDR_PHY_DTCR1_DTRANK_DEFVAL 
#undef DDR_PHY_DTCR1_DTRANK_SHIFT 
#undef DDR_PHY_DTCR1_DTRANK_MASK 
#define DDR_PHY_DTCR1_DTRANK_DEFVAL                            0x00030237
#define DDR_PHY_DTCR1_DTRANK_SHIFT                             12
#define DDR_PHY_DTCR1_DTRANK_MASK                              0x00003000U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_DTCR1_RESERVED_11_DEFVAL 
#undef DDR_PHY_DTCR1_RESERVED_11_SHIFT 
#undef DDR_PHY_DTCR1_RESERVED_11_MASK 
#define DDR_PHY_DTCR1_RESERVED_11_DEFVAL                       0x00030237
#define DDR_PHY_DTCR1_RESERVED_11_SHIFT                        11
#define DDR_PHY_DTCR1_RESERVED_11_MASK                         0x00000800U

/*
* Read Leveling Gate Sampling Difference
*/
#undef DDR_PHY_DTCR1_RDLVLGDIFF_DEFVAL 
#undef DDR_PHY_DTCR1_RDLVLGDIFF_SHIFT 
#undef DDR_PHY_DTCR1_RDLVLGDIFF_MASK 
#define DDR_PHY_DTCR1_RDLVLGDIFF_DEFVAL                        0x00030237
#define DDR_PHY_DTCR1_RDLVLGDIFF_SHIFT                         8
#define DDR_PHY_DTCR1_RDLVLGDIFF_MASK                          0x00000700U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_DTCR1_RESERVED_7_DEFVAL 
#undef DDR_PHY_DTCR1_RESERVED_7_SHIFT 
#undef DDR_PHY_DTCR1_RESERVED_7_MASK 
#define DDR_PHY_DTCR1_RESERVED_7_DEFVAL                        0x00030237
#define DDR_PHY_DTCR1_RESERVED_7_SHIFT                         7
#define DDR_PHY_DTCR1_RESERVED_7_MASK                          0x00000080U

/*
* Read Leveling Gate Shift
*/
#undef DDR_PHY_DTCR1_RDLVLGS_DEFVAL 
#undef DDR_PHY_DTCR1_RDLVLGS_SHIFT 
#undef DDR_PHY_DTCR1_RDLVLGS_MASK 
#define DDR_PHY_DTCR1_RDLVLGS_DEFVAL                           0x00030237
#define DDR_PHY_DTCR1_RDLVLGS_SHIFT                            4
#define DDR_PHY_DTCR1_RDLVLGS_MASK                             0x00000070U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_DTCR1_RESERVED_3_DEFVAL 
#undef DDR_PHY_DTCR1_RESERVED_3_SHIFT 
#undef DDR_PHY_DTCR1_RESERVED_3_MASK 
#define DDR_PHY_DTCR1_RESERVED_3_DEFVAL                        0x00030237
#define DDR_PHY_DTCR1_RESERVED_3_SHIFT                         3
#define DDR_PHY_DTCR1_RESERVED_3_MASK                          0x00000008U

/*
* Read Preamble Training enable
*/
#undef DDR_PHY_DTCR1_RDPRMVL_TRN_DEFVAL 
#undef DDR_PHY_DTCR1_RDPRMVL_TRN_SHIFT 
#undef DDR_PHY_DTCR1_RDPRMVL_TRN_MASK 
#define DDR_PHY_DTCR1_RDPRMVL_TRN_DEFVAL                       0x00030237
#define DDR_PHY_DTCR1_RDPRMVL_TRN_SHIFT                        2
#define DDR_PHY_DTCR1_RDPRMVL_TRN_MASK                         0x00000004U

/*
* Read Leveling Enable
*/
#undef DDR_PHY_DTCR1_RDLVLEN_DEFVAL 
#undef DDR_PHY_DTCR1_RDLVLEN_SHIFT 
#undef DDR_PHY_DTCR1_RDLVLEN_MASK 
#define DDR_PHY_DTCR1_RDLVLEN_DEFVAL                           0x00030237
#define DDR_PHY_DTCR1_RDLVLEN_SHIFT                            1
#define DDR_PHY_DTCR1_RDLVLEN_MASK                             0x00000002U

/*
* Basic Gate Training Enable
*/
#undef DDR_PHY_DTCR1_BSTEN_DEFVAL 
#undef DDR_PHY_DTCR1_BSTEN_SHIFT 
#undef DDR_PHY_DTCR1_BSTEN_MASK 
#define DDR_PHY_DTCR1_BSTEN_DEFVAL                             0x00030237
#define DDR_PHY_DTCR1_BSTEN_SHIFT                              0
#define DDR_PHY_DTCR1_BSTEN_MASK                               0x00000001U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_CATR0_RESERVED_31_21_DEFVAL 
#undef DDR_PHY_CATR0_RESERVED_31_21_SHIFT 
#undef DDR_PHY_CATR0_RESERVED_31_21_MASK 
#define DDR_PHY_CATR0_RESERVED_31_21_DEFVAL                    0x00141054
#define DDR_PHY_CATR0_RESERVED_31_21_SHIFT                     21
#define DDR_PHY_CATR0_RESERVED_31_21_MASK                      0xFFE00000U

/*
* Minimum time (in terms of number of dram clocks) between two consectuve
    * CA calibration command
*/
#undef DDR_PHY_CATR0_CACD_DEFVAL 
#undef DDR_PHY_CATR0_CACD_SHIFT 
#undef DDR_PHY_CATR0_CACD_MASK 
#define DDR_PHY_CATR0_CACD_DEFVAL                              0x00141054
#define DDR_PHY_CATR0_CACD_SHIFT                               16
#define DDR_PHY_CATR0_CACD_MASK                                0x001F0000U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_CATR0_RESERVED_15_13_DEFVAL 
#undef DDR_PHY_CATR0_RESERVED_15_13_SHIFT 
#undef DDR_PHY_CATR0_RESERVED_15_13_MASK 
#define DDR_PHY_CATR0_RESERVED_15_13_DEFVAL                    0x00141054
#define DDR_PHY_CATR0_RESERVED_15_13_SHIFT                     13
#define DDR_PHY_CATR0_RESERVED_15_13_MASK                      0x0000E000U

/*
* Minimum time (in terms of number of dram clocks) PUB should wait before
    * sampling the CA response after Calibration command has been sent to the
    * memory
*/
#undef DDR_PHY_CATR0_CAADR_DEFVAL 
#undef DDR_PHY_CATR0_CAADR_SHIFT 
#undef DDR_PHY_CATR0_CAADR_MASK 
#define DDR_PHY_CATR0_CAADR_DEFVAL                             0x00141054
#define DDR_PHY_CATR0_CAADR_SHIFT                              8
#define DDR_PHY_CATR0_CAADR_MASK                               0x00001F00U

/*
* CA_1 Response Byte Lane 1
*/
#undef DDR_PHY_CATR0_CA1BYTE1_DEFVAL 
#undef DDR_PHY_CATR0_CA1BYTE1_SHIFT 
#undef DDR_PHY_CATR0_CA1BYTE1_MASK 
#define DDR_PHY_CATR0_CA1BYTE1_DEFVAL                          0x00141054
#define DDR_PHY_CATR0_CA1BYTE1_SHIFT                           4
#define DDR_PHY_CATR0_CA1BYTE1_MASK                            0x000000F0U

/*
* CA_1 Response Byte Lane 0
*/
#undef DDR_PHY_CATR0_CA1BYTE0_DEFVAL 
#undef DDR_PHY_CATR0_CA1BYTE0_SHIFT 
#undef DDR_PHY_CATR0_CA1BYTE0_MASK 
#define DDR_PHY_CATR0_CA1BYTE0_DEFVAL                          0x00141054
#define DDR_PHY_CATR0_CA1BYTE0_SHIFT                           0
#define DDR_PHY_CATR0_CA1BYTE0_MASK                            0x0000000FU

/*
* Number of delay taps by which the DQS gate LCDL will be updated when DQS
    *  drift is detected
*/
#undef DDR_PHY_DQSDR0_DFTDLY_DEFVAL 
#undef DDR_PHY_DQSDR0_DFTDLY_SHIFT 
#undef DDR_PHY_DQSDR0_DFTDLY_MASK 
#define DDR_PHY_DQSDR0_DFTDLY_DEFVAL                           0x00088000
#define DDR_PHY_DQSDR0_DFTDLY_SHIFT                            28
#define DDR_PHY_DQSDR0_DFTDLY_MASK                             0xF0000000U

/*
* Drift Impedance Update
*/
#undef DDR_PHY_DQSDR0_DFTZQUP_DEFVAL 
#undef DDR_PHY_DQSDR0_DFTZQUP_SHIFT 
#undef DDR_PHY_DQSDR0_DFTZQUP_MASK 
#define DDR_PHY_DQSDR0_DFTZQUP_DEFVAL                          0x00088000
#define DDR_PHY_DQSDR0_DFTZQUP_SHIFT                           27
#define DDR_PHY_DQSDR0_DFTZQUP_MASK                            0x08000000U

/*
* Drift DDL Update
*/
#undef DDR_PHY_DQSDR0_DFTDDLUP_DEFVAL 
#undef DDR_PHY_DQSDR0_DFTDDLUP_SHIFT 
#undef DDR_PHY_DQSDR0_DFTDDLUP_MASK 
#define DDR_PHY_DQSDR0_DFTDDLUP_DEFVAL                         0x00088000
#define DDR_PHY_DQSDR0_DFTDDLUP_SHIFT                          26
#define DDR_PHY_DQSDR0_DFTDDLUP_MASK                           0x04000000U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_DQSDR0_RESERVED_25_22_DEFVAL 
#undef DDR_PHY_DQSDR0_RESERVED_25_22_SHIFT 
#undef DDR_PHY_DQSDR0_RESERVED_25_22_MASK 
#define DDR_PHY_DQSDR0_RESERVED_25_22_DEFVAL                   0x00088000
#define DDR_PHY_DQSDR0_RESERVED_25_22_SHIFT                    22
#define DDR_PHY_DQSDR0_RESERVED_25_22_MASK                     0x03C00000U

/*
* Drift Read Spacing
*/
#undef DDR_PHY_DQSDR0_DFTRDSPC_DEFVAL 
#undef DDR_PHY_DQSDR0_DFTRDSPC_SHIFT 
#undef DDR_PHY_DQSDR0_DFTRDSPC_MASK 
#define DDR_PHY_DQSDR0_DFTRDSPC_DEFVAL                         0x00088000
#define DDR_PHY_DQSDR0_DFTRDSPC_SHIFT                          20
#define DDR_PHY_DQSDR0_DFTRDSPC_MASK                           0x00300000U

/*
* Drift Back-to-Back Reads
*/
#undef DDR_PHY_DQSDR0_DFTB2BRD_DEFVAL 
#undef DDR_PHY_DQSDR0_DFTB2BRD_SHIFT 
#undef DDR_PHY_DQSDR0_DFTB2BRD_MASK 
#define DDR_PHY_DQSDR0_DFTB2BRD_DEFVAL                         0x00088000
#define DDR_PHY_DQSDR0_DFTB2BRD_SHIFT                          16
#define DDR_PHY_DQSDR0_DFTB2BRD_MASK                           0x000F0000U

/*
* Drift Idle Reads
*/
#undef DDR_PHY_DQSDR0_DFTIDLRD_DEFVAL 
#undef DDR_PHY_DQSDR0_DFTIDLRD_SHIFT 
#undef DDR_PHY_DQSDR0_DFTIDLRD_MASK 
#define DDR_PHY_DQSDR0_DFTIDLRD_DEFVAL                         0x00088000
#define DDR_PHY_DQSDR0_DFTIDLRD_SHIFT                          12
#define DDR_PHY_DQSDR0_DFTIDLRD_MASK                           0x0000F000U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_DQSDR0_RESERVED_11_8_DEFVAL 
#undef DDR_PHY_DQSDR0_RESERVED_11_8_SHIFT 
#undef DDR_PHY_DQSDR0_RESERVED_11_8_MASK 
#define DDR_PHY_DQSDR0_RESERVED_11_8_DEFVAL                    0x00088000
#define DDR_PHY_DQSDR0_RESERVED_11_8_SHIFT                     8
#define DDR_PHY_DQSDR0_RESERVED_11_8_MASK                      0x00000F00U

/*
* Gate Pulse Enable
*/
#undef DDR_PHY_DQSDR0_DFTGPULSE_DEFVAL 
#undef DDR_PHY_DQSDR0_DFTGPULSE_SHIFT 
#undef DDR_PHY_DQSDR0_DFTGPULSE_MASK 
#define DDR_PHY_DQSDR0_DFTGPULSE_DEFVAL                        0x00088000
#define DDR_PHY_DQSDR0_DFTGPULSE_SHIFT                         4
#define DDR_PHY_DQSDR0_DFTGPULSE_MASK                          0x000000F0U

/*
* DQS Drift Update Mode
*/
#undef DDR_PHY_DQSDR0_DFTUPMODE_DEFVAL 
#undef DDR_PHY_DQSDR0_DFTUPMODE_SHIFT 
#undef DDR_PHY_DQSDR0_DFTUPMODE_MASK 
#define DDR_PHY_DQSDR0_DFTUPMODE_DEFVAL                        0x00088000
#define DDR_PHY_DQSDR0_DFTUPMODE_SHIFT                         2
#define DDR_PHY_DQSDR0_DFTUPMODE_MASK                          0x0000000CU

/*
* DQS Drift Detection Mode
*/
#undef DDR_PHY_DQSDR0_DFTDTMODE_DEFVAL 
#undef DDR_PHY_DQSDR0_DFTDTMODE_SHIFT 
#undef DDR_PHY_DQSDR0_DFTDTMODE_MASK 
#define DDR_PHY_DQSDR0_DFTDTMODE_DEFVAL                        0x00088000
#define DDR_PHY_DQSDR0_DFTDTMODE_SHIFT                         1
#define DDR_PHY_DQSDR0_DFTDTMODE_MASK                          0x00000002U

/*
* DQS Drift Detection Enable
*/
#undef DDR_PHY_DQSDR0_DFTDTEN_DEFVAL 
#undef DDR_PHY_DQSDR0_DFTDTEN_SHIFT 
#undef DDR_PHY_DQSDR0_DFTDTEN_MASK 
#define DDR_PHY_DQSDR0_DFTDTEN_DEFVAL                          0x00088000
#define DDR_PHY_DQSDR0_DFTDTEN_SHIFT                           0
#define DDR_PHY_DQSDR0_DFTDTEN_MASK                            0x00000001U

/*
* LFSR seed for pseudo-random BIST patterns
*/
#undef DDR_PHY_BISTLSR_SEED_DEFVAL 
#undef DDR_PHY_BISTLSR_SEED_SHIFT 
#undef DDR_PHY_BISTLSR_SEED_MASK 
#define DDR_PHY_BISTLSR_SEED_DEFVAL                            
#define DDR_PHY_BISTLSR_SEED_SHIFT                             0
#define DDR_PHY_BISTLSR_SEED_MASK                              0xFFFFFFFFU

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_RIOCR5_RESERVED_31_16_DEFVAL 
#undef DDR_PHY_RIOCR5_RESERVED_31_16_SHIFT 
#undef DDR_PHY_RIOCR5_RESERVED_31_16_MASK 
#define DDR_PHY_RIOCR5_RESERVED_31_16_DEFVAL                   0x00000005
#define DDR_PHY_RIOCR5_RESERVED_31_16_SHIFT                    16
#define DDR_PHY_RIOCR5_RESERVED_31_16_MASK                     0xFFFF0000U

/*
* Reserved. Return zeros on reads.
*/
#undef DDR_PHY_RIOCR5_ODTOEMODE_RSVD_DEFVAL 
#undef DDR_PHY_RIOCR5_ODTOEMODE_RSVD_SHIFT 
#undef DDR_PHY_RIOCR5_ODTOEMODE_RSVD_MASK 
#define DDR_PHY_RIOCR5_ODTOEMODE_RSVD_DEFVAL                   0x00000005
#define DDR_PHY_RIOCR5_ODTOEMODE_RSVD_SHIFT                    4
#define DDR_PHY_RIOCR5_ODTOEMODE_RSVD_MASK                     0x0000FFF0U

/*
* SDRAM On-die Termination Output Enable (OE) Mode Selection.
*/
#undef DDR_PHY_RIOCR5_ODTOEMODE_DEFVAL 
#undef DDR_PHY_RIOCR5_ODTOEMODE_SHIFT 
#undef DDR_PHY_RIOCR5_ODTOEMODE_MASK 
#define DDR_PHY_RIOCR5_ODTOEMODE_DEFVAL                        0x00000005
#define DDR_PHY_RIOCR5_ODTOEMODE_SHIFT                         0
#define DDR_PHY_RIOCR5_ODTOEMODE_MASK                          0x0000000FU

/*
* Address/Command Slew Rate (D3F I/O Only)
*/
#undef DDR_PHY_ACIOCR0_ACSR_DEFVAL 
#undef DDR_PHY_ACIOCR0_ACSR_SHIFT 
#undef DDR_PHY_ACIOCR0_ACSR_MASK 
#define DDR_PHY_ACIOCR0_ACSR_DEFVAL                            0x30000000
#define DDR_PHY_ACIOCR0_ACSR_SHIFT                             30
#define DDR_PHY_ACIOCR0_ACSR_MASK                              0xC0000000U

/*
* SDRAM Reset I/O Mode
*/
#undef DDR_PHY_ACIOCR0_RSTIOM_DEFVAL 
#undef DDR_PHY_ACIOCR0_RSTIOM_SHIFT 
#undef DDR_PHY_ACIOCR0_RSTIOM_MASK 
#define DDR_PHY_ACIOCR0_RSTIOM_DEFVAL                          0x30000000
#define DDR_PHY_ACIOCR0_RSTIOM_SHIFT                           29
#define DDR_PHY_ACIOCR0_RSTIOM_MASK                            0x20000000U

/*
* SDRAM Reset Power Down Receiver
*/
#undef DDR_PHY_ACIOCR0_RSTPDR_DEFVAL 
#undef DDR_PHY_ACIOCR0_RSTPDR_SHIFT 
#undef DDR_PHY_ACIOCR0_RSTPDR_MASK 
#define DDR_PHY_ACIOCR0_RSTPDR_DEFVAL                          0x30000000
#define DDR_PHY_ACIOCR0_RSTPDR_SHIFT                           28
#define DDR_PHY_ACIOCR0_RSTPDR_MASK                            0x10000000U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_ACIOCR0_RESERVED_27_DEFVAL 
#undef DDR_PHY_ACIOCR0_RESERVED_27_SHIFT 
#undef DDR_PHY_ACIOCR0_RESERVED_27_MASK 
#define DDR_PHY_ACIOCR0_RESERVED_27_DEFVAL                     0x30000000
#define DDR_PHY_ACIOCR0_RESERVED_27_SHIFT                      27
#define DDR_PHY_ACIOCR0_RESERVED_27_MASK                       0x08000000U

/*
* SDRAM Reset On-Die Termination
*/
#undef DDR_PHY_ACIOCR0_RSTODT_DEFVAL 
#undef DDR_PHY_ACIOCR0_RSTODT_SHIFT 
#undef DDR_PHY_ACIOCR0_RSTODT_MASK 
#define DDR_PHY_ACIOCR0_RSTODT_DEFVAL                          0x30000000
#define DDR_PHY_ACIOCR0_RSTODT_SHIFT                           26
#define DDR_PHY_ACIOCR0_RSTODT_MASK                            0x04000000U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_ACIOCR0_RESERVED_25_10_DEFVAL 
#undef DDR_PHY_ACIOCR0_RESERVED_25_10_SHIFT 
#undef DDR_PHY_ACIOCR0_RESERVED_25_10_MASK 
#define DDR_PHY_ACIOCR0_RESERVED_25_10_DEFVAL                  0x30000000
#define DDR_PHY_ACIOCR0_RESERVED_25_10_SHIFT                   10
#define DDR_PHY_ACIOCR0_RESERVED_25_10_MASK                    0x03FFFC00U

/*
* CK Duty Cycle Correction
*/
#undef DDR_PHY_ACIOCR0_CKDCC_DEFVAL 
#undef DDR_PHY_ACIOCR0_CKDCC_SHIFT 
#undef DDR_PHY_ACIOCR0_CKDCC_MASK 
#define DDR_PHY_ACIOCR0_CKDCC_DEFVAL                           0x30000000
#define DDR_PHY_ACIOCR0_CKDCC_SHIFT                            6
#define DDR_PHY_ACIOCR0_CKDCC_MASK                             0x000003C0U

/*
* AC Power Down Receiver Mode
*/
#undef DDR_PHY_ACIOCR0_ACPDRMODE_DEFVAL 
#undef DDR_PHY_ACIOCR0_ACPDRMODE_SHIFT 
#undef DDR_PHY_ACIOCR0_ACPDRMODE_MASK 
#define DDR_PHY_ACIOCR0_ACPDRMODE_DEFVAL                       0x30000000
#define DDR_PHY_ACIOCR0_ACPDRMODE_SHIFT                        4
#define DDR_PHY_ACIOCR0_ACPDRMODE_MASK                         0x00000030U

/*
* AC On-die Termination Mode
*/
#undef DDR_PHY_ACIOCR0_ACODTMODE_DEFVAL 
#undef DDR_PHY_ACIOCR0_ACODTMODE_SHIFT 
#undef DDR_PHY_ACIOCR0_ACODTMODE_MASK 
#define DDR_PHY_ACIOCR0_ACODTMODE_DEFVAL                       0x30000000
#define DDR_PHY_ACIOCR0_ACODTMODE_SHIFT                        2
#define DDR_PHY_ACIOCR0_ACODTMODE_MASK                         0x0000000CU

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_ACIOCR0_RESERVED_1_DEFVAL 
#undef DDR_PHY_ACIOCR0_RESERVED_1_SHIFT 
#undef DDR_PHY_ACIOCR0_RESERVED_1_MASK 
#define DDR_PHY_ACIOCR0_RESERVED_1_DEFVAL                      0x30000000
#define DDR_PHY_ACIOCR0_RESERVED_1_SHIFT                       1
#define DDR_PHY_ACIOCR0_RESERVED_1_MASK                        0x00000002U

/*
* Control delayed or non-delayed clock to CS_N/ODT?CKE AC slices.
*/
#undef DDR_PHY_ACIOCR0_ACRANKCLKSEL_DEFVAL 
#undef DDR_PHY_ACIOCR0_ACRANKCLKSEL_SHIFT 
#undef DDR_PHY_ACIOCR0_ACRANKCLKSEL_MASK 
#define DDR_PHY_ACIOCR0_ACRANKCLKSEL_DEFVAL                    0x30000000
#define DDR_PHY_ACIOCR0_ACRANKCLKSEL_SHIFT                     0
#define DDR_PHY_ACIOCR0_ACRANKCLKSEL_MASK                      0x00000001U

/*
* Clock gating for glue logic inside CLKGEN and glue logic inside CONTROL
    * slice
*/
#undef DDR_PHY_ACIOCR2_CLKGENCLKGATE_DEFVAL 
#undef DDR_PHY_ACIOCR2_CLKGENCLKGATE_SHIFT 
#undef DDR_PHY_ACIOCR2_CLKGENCLKGATE_MASK 
#define DDR_PHY_ACIOCR2_CLKGENCLKGATE_DEFVAL                   0x00000000
#define DDR_PHY_ACIOCR2_CLKGENCLKGATE_SHIFT                    31
#define DDR_PHY_ACIOCR2_CLKGENCLKGATE_MASK                     0x80000000U

/*
* Clock gating for Output Enable D slices [0]
*/
#undef DDR_PHY_ACIOCR2_ACOECLKGATE0_DEFVAL 
#undef DDR_PHY_ACIOCR2_ACOECLKGATE0_SHIFT 
#undef DDR_PHY_ACIOCR2_ACOECLKGATE0_MASK 
#define DDR_PHY_ACIOCR2_ACOECLKGATE0_DEFVAL                    0x00000000
#define DDR_PHY_ACIOCR2_ACOECLKGATE0_SHIFT                     30
#define DDR_PHY_ACIOCR2_ACOECLKGATE0_MASK                      0x40000000U

/*
* Clock gating for Power Down Receiver D slices [0]
*/
#undef DDR_PHY_ACIOCR2_ACPDRCLKGATE0_DEFVAL 
#undef DDR_PHY_ACIOCR2_ACPDRCLKGATE0_SHIFT 
#undef DDR_PHY_ACIOCR2_ACPDRCLKGATE0_MASK 
#define DDR_PHY_ACIOCR2_ACPDRCLKGATE0_DEFVAL                   0x00000000
#define DDR_PHY_ACIOCR2_ACPDRCLKGATE0_SHIFT                    29
#define DDR_PHY_ACIOCR2_ACPDRCLKGATE0_MASK                     0x20000000U

/*
* Clock gating for Termination Enable D slices [0]
*/
#undef DDR_PHY_ACIOCR2_ACTECLKGATE0_DEFVAL 
#undef DDR_PHY_ACIOCR2_ACTECLKGATE0_SHIFT 
#undef DDR_PHY_ACIOCR2_ACTECLKGATE0_MASK 
#define DDR_PHY_ACIOCR2_ACTECLKGATE0_DEFVAL                    0x00000000
#define DDR_PHY_ACIOCR2_ACTECLKGATE0_SHIFT                     28
#define DDR_PHY_ACIOCR2_ACTECLKGATE0_MASK                      0x10000000U

/*
* Clock gating for CK# D slices [1:0]
*/
#undef DDR_PHY_ACIOCR2_CKNCLKGATE0_DEFVAL 
#undef DDR_PHY_ACIOCR2_CKNCLKGATE0_SHIFT 
#undef DDR_PHY_ACIOCR2_CKNCLKGATE0_MASK 
#define DDR_PHY_ACIOCR2_CKNCLKGATE0_DEFVAL                     0x00000000
#define DDR_PHY_ACIOCR2_CKNCLKGATE0_SHIFT                      26
#define DDR_PHY_ACIOCR2_CKNCLKGATE0_MASK                       0x0C000000U

/*
* Clock gating for CK D slices [1:0]
*/
#undef DDR_PHY_ACIOCR2_CKCLKGATE0_DEFVAL 
#undef DDR_PHY_ACIOCR2_CKCLKGATE0_SHIFT 
#undef DDR_PHY_ACIOCR2_CKCLKGATE0_MASK 
#define DDR_PHY_ACIOCR2_CKCLKGATE0_DEFVAL                      0x00000000
#define DDR_PHY_ACIOCR2_CKCLKGATE0_SHIFT                       24
#define DDR_PHY_ACIOCR2_CKCLKGATE0_MASK                        0x03000000U

/*
* Clock gating for AC D slices [23:0]
*/
#undef DDR_PHY_ACIOCR2_ACCLKGATE0_DEFVAL 
#undef DDR_PHY_ACIOCR2_ACCLKGATE0_SHIFT 
#undef DDR_PHY_ACIOCR2_ACCLKGATE0_MASK 
#define DDR_PHY_ACIOCR2_ACCLKGATE0_DEFVAL                      0x00000000
#define DDR_PHY_ACIOCR2_ACCLKGATE0_SHIFT                       0
#define DDR_PHY_ACIOCR2_ACCLKGATE0_MASK                        0x00FFFFFFU

/*
* SDRAM Parity Output Enable (OE) Mode Selection
*/
#undef DDR_PHY_ACIOCR3_PAROEMODE_DEFVAL 
#undef DDR_PHY_ACIOCR3_PAROEMODE_SHIFT 
#undef DDR_PHY_ACIOCR3_PAROEMODE_MASK 
#define DDR_PHY_ACIOCR3_PAROEMODE_DEFVAL                       0x00000005
#define DDR_PHY_ACIOCR3_PAROEMODE_SHIFT                        30
#define DDR_PHY_ACIOCR3_PAROEMODE_MASK                         0xC0000000U

/*
* SDRAM Bank Group Output Enable (OE) Mode Selection
*/
#undef DDR_PHY_ACIOCR3_BGOEMODE_DEFVAL 
#undef DDR_PHY_ACIOCR3_BGOEMODE_SHIFT 
#undef DDR_PHY_ACIOCR3_BGOEMODE_MASK 
#define DDR_PHY_ACIOCR3_BGOEMODE_DEFVAL                        0x00000005
#define DDR_PHY_ACIOCR3_BGOEMODE_SHIFT                         26
#define DDR_PHY_ACIOCR3_BGOEMODE_MASK                          0x3C000000U

/*
* SDRAM Bank Address Output Enable (OE) Mode Selection
*/
#undef DDR_PHY_ACIOCR3_BAOEMODE_DEFVAL 
#undef DDR_PHY_ACIOCR3_BAOEMODE_SHIFT 
#undef DDR_PHY_ACIOCR3_BAOEMODE_MASK 
#define DDR_PHY_ACIOCR3_BAOEMODE_DEFVAL                        0x00000005
#define DDR_PHY_ACIOCR3_BAOEMODE_SHIFT                         22
#define DDR_PHY_ACIOCR3_BAOEMODE_MASK                          0x03C00000U

/*
* SDRAM A[17] Output Enable (OE) Mode Selection
*/
#undef DDR_PHY_ACIOCR3_A17OEMODE_DEFVAL 
#undef DDR_PHY_ACIOCR3_A17OEMODE_SHIFT 
#undef DDR_PHY_ACIOCR3_A17OEMODE_MASK 
#define DDR_PHY_ACIOCR3_A17OEMODE_DEFVAL                       0x00000005
#define DDR_PHY_ACIOCR3_A17OEMODE_SHIFT                        20
#define DDR_PHY_ACIOCR3_A17OEMODE_MASK                         0x00300000U

/*
* SDRAM A[16] / RAS_n Output Enable (OE) Mode Selection
*/
#undef DDR_PHY_ACIOCR3_A16OEMODE_DEFVAL 
#undef DDR_PHY_ACIOCR3_A16OEMODE_SHIFT 
#undef DDR_PHY_ACIOCR3_A16OEMODE_MASK 
#define DDR_PHY_ACIOCR3_A16OEMODE_DEFVAL                       0x00000005
#define DDR_PHY_ACIOCR3_A16OEMODE_SHIFT                        18
#define DDR_PHY_ACIOCR3_A16OEMODE_MASK                         0x000C0000U

/*
* SDRAM ACT_n Output Enable (OE) Mode Selection (DDR4 only)
*/
#undef DDR_PHY_ACIOCR3_ACTOEMODE_DEFVAL 
#undef DDR_PHY_ACIOCR3_ACTOEMODE_SHIFT 
#undef DDR_PHY_ACIOCR3_ACTOEMODE_MASK 
#define DDR_PHY_ACIOCR3_ACTOEMODE_DEFVAL                       0x00000005
#define DDR_PHY_ACIOCR3_ACTOEMODE_SHIFT                        16
#define DDR_PHY_ACIOCR3_ACTOEMODE_MASK                         0x00030000U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_ACIOCR3_RESERVED_15_8_DEFVAL 
#undef DDR_PHY_ACIOCR3_RESERVED_15_8_SHIFT 
#undef DDR_PHY_ACIOCR3_RESERVED_15_8_MASK 
#define DDR_PHY_ACIOCR3_RESERVED_15_8_DEFVAL                   0x00000005
#define DDR_PHY_ACIOCR3_RESERVED_15_8_SHIFT                    8
#define DDR_PHY_ACIOCR3_RESERVED_15_8_MASK                     0x0000FF00U

/*
* Reserved. Return zeros on reads.
*/
#undef DDR_PHY_ACIOCR3_CKOEMODE_RSVD_DEFVAL 
#undef DDR_PHY_ACIOCR3_CKOEMODE_RSVD_SHIFT 
#undef DDR_PHY_ACIOCR3_CKOEMODE_RSVD_MASK 
#define DDR_PHY_ACIOCR3_CKOEMODE_RSVD_DEFVAL                   0x00000005
#define DDR_PHY_ACIOCR3_CKOEMODE_RSVD_SHIFT                    4
#define DDR_PHY_ACIOCR3_CKOEMODE_RSVD_MASK                     0x000000F0U

/*
* SDRAM CK Output Enable (OE) Mode Selection.
*/
#undef DDR_PHY_ACIOCR3_CKOEMODE_DEFVAL 
#undef DDR_PHY_ACIOCR3_CKOEMODE_SHIFT 
#undef DDR_PHY_ACIOCR3_CKOEMODE_MASK 
#define DDR_PHY_ACIOCR3_CKOEMODE_DEFVAL                        0x00000005
#define DDR_PHY_ACIOCR3_CKOEMODE_SHIFT                         0
#define DDR_PHY_ACIOCR3_CKOEMODE_MASK                          0x0000000FU

/*
* Clock gating for AC LB slices and loopback read valid slices
*/
#undef DDR_PHY_ACIOCR4_LBCLKGATE_DEFVAL 
#undef DDR_PHY_ACIOCR4_LBCLKGATE_SHIFT 
#undef DDR_PHY_ACIOCR4_LBCLKGATE_MASK 
#define DDR_PHY_ACIOCR4_LBCLKGATE_DEFVAL                       0x00000000
#define DDR_PHY_ACIOCR4_LBCLKGATE_SHIFT                        31
#define DDR_PHY_ACIOCR4_LBCLKGATE_MASK                         0x80000000U

/*
* Clock gating for Output Enable D slices [1]
*/
#undef DDR_PHY_ACIOCR4_ACOECLKGATE1_DEFVAL 
#undef DDR_PHY_ACIOCR4_ACOECLKGATE1_SHIFT 
#undef DDR_PHY_ACIOCR4_ACOECLKGATE1_MASK 
#define DDR_PHY_ACIOCR4_ACOECLKGATE1_DEFVAL                    0x00000000
#define DDR_PHY_ACIOCR4_ACOECLKGATE1_SHIFT                     30
#define DDR_PHY_ACIOCR4_ACOECLKGATE1_MASK                      0x40000000U

/*
* Clock gating for Power Down Receiver D slices [1]
*/
#undef DDR_PHY_ACIOCR4_ACPDRCLKGATE1_DEFVAL 
#undef DDR_PHY_ACIOCR4_ACPDRCLKGATE1_SHIFT 
#undef DDR_PHY_ACIOCR4_ACPDRCLKGATE1_MASK 
#define DDR_PHY_ACIOCR4_ACPDRCLKGATE1_DEFVAL                   0x00000000
#define DDR_PHY_ACIOCR4_ACPDRCLKGATE1_SHIFT                    29
#define DDR_PHY_ACIOCR4_ACPDRCLKGATE1_MASK                     0x20000000U

/*
* Clock gating for Termination Enable D slices [1]
*/
#undef DDR_PHY_ACIOCR4_ACTECLKGATE1_DEFVAL 
#undef DDR_PHY_ACIOCR4_ACTECLKGATE1_SHIFT 
#undef DDR_PHY_ACIOCR4_ACTECLKGATE1_MASK 
#define DDR_PHY_ACIOCR4_ACTECLKGATE1_DEFVAL                    0x00000000
#define DDR_PHY_ACIOCR4_ACTECLKGATE1_SHIFT                     28
#define DDR_PHY_ACIOCR4_ACTECLKGATE1_MASK                      0x10000000U

/*
* Clock gating for CK# D slices [3:2]
*/
#undef DDR_PHY_ACIOCR4_CKNCLKGATE1_DEFVAL 
#undef DDR_PHY_ACIOCR4_CKNCLKGATE1_SHIFT 
#undef DDR_PHY_ACIOCR4_CKNCLKGATE1_MASK 
#define DDR_PHY_ACIOCR4_CKNCLKGATE1_DEFVAL                     0x00000000
#define DDR_PHY_ACIOCR4_CKNCLKGATE1_SHIFT                      26
#define DDR_PHY_ACIOCR4_CKNCLKGATE1_MASK                       0x0C000000U

/*
* Clock gating for CK D slices [3:2]
*/
#undef DDR_PHY_ACIOCR4_CKCLKGATE1_DEFVAL 
#undef DDR_PHY_ACIOCR4_CKCLKGATE1_SHIFT 
#undef DDR_PHY_ACIOCR4_CKCLKGATE1_MASK 
#define DDR_PHY_ACIOCR4_CKCLKGATE1_DEFVAL                      0x00000000
#define DDR_PHY_ACIOCR4_CKCLKGATE1_SHIFT                       24
#define DDR_PHY_ACIOCR4_CKCLKGATE1_MASK                        0x03000000U

/*
* Clock gating for AC D slices [47:24]
*/
#undef DDR_PHY_ACIOCR4_ACCLKGATE1_DEFVAL 
#undef DDR_PHY_ACIOCR4_ACCLKGATE1_SHIFT 
#undef DDR_PHY_ACIOCR4_ACCLKGATE1_MASK 
#define DDR_PHY_ACIOCR4_ACCLKGATE1_DEFVAL                      0x00000000
#define DDR_PHY_ACIOCR4_ACCLKGATE1_SHIFT                       0
#define DDR_PHY_ACIOCR4_ACCLKGATE1_MASK                        0x00FFFFFFU

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_IOVCR0_RESERVED_31_29_DEFVAL 
#undef DDR_PHY_IOVCR0_RESERVED_31_29_SHIFT 
#undef DDR_PHY_IOVCR0_RESERVED_31_29_MASK 
#define DDR_PHY_IOVCR0_RESERVED_31_29_DEFVAL                   0x0F000000
#define DDR_PHY_IOVCR0_RESERVED_31_29_SHIFT                    29
#define DDR_PHY_IOVCR0_RESERVED_31_29_MASK                     0xE0000000U

/*
* Address/command lane VREF Pad Enable
*/
#undef DDR_PHY_IOVCR0_ACREFPEN_DEFVAL 
#undef DDR_PHY_IOVCR0_ACREFPEN_SHIFT 
#undef DDR_PHY_IOVCR0_ACREFPEN_MASK 
#define DDR_PHY_IOVCR0_ACREFPEN_DEFVAL                         0x0F000000
#define DDR_PHY_IOVCR0_ACREFPEN_SHIFT                          28
#define DDR_PHY_IOVCR0_ACREFPEN_MASK                           0x10000000U

/*
* Address/command lane Internal VREF Enable
*/
#undef DDR_PHY_IOVCR0_ACREFEEN_DEFVAL 
#undef DDR_PHY_IOVCR0_ACREFEEN_SHIFT 
#undef DDR_PHY_IOVCR0_ACREFEEN_MASK 
#define DDR_PHY_IOVCR0_ACREFEEN_DEFVAL                         0x0F000000
#define DDR_PHY_IOVCR0_ACREFEEN_SHIFT                          26
#define DDR_PHY_IOVCR0_ACREFEEN_MASK                           0x0C000000U

/*
* Address/command lane Single-End VREF Enable
*/
#undef DDR_PHY_IOVCR0_ACREFSEN_DEFVAL 
#undef DDR_PHY_IOVCR0_ACREFSEN_SHIFT 
#undef DDR_PHY_IOVCR0_ACREFSEN_MASK 
#define DDR_PHY_IOVCR0_ACREFSEN_DEFVAL                         0x0F000000
#define DDR_PHY_IOVCR0_ACREFSEN_SHIFT                          25
#define DDR_PHY_IOVCR0_ACREFSEN_MASK                           0x02000000U

/*
* Address/command lane Internal VREF Enable
*/
#undef DDR_PHY_IOVCR0_ACREFIEN_DEFVAL 
#undef DDR_PHY_IOVCR0_ACREFIEN_SHIFT 
#undef DDR_PHY_IOVCR0_ACREFIEN_MASK 
#define DDR_PHY_IOVCR0_ACREFIEN_DEFVAL                         0x0F000000
#define DDR_PHY_IOVCR0_ACREFIEN_SHIFT                          24
#define DDR_PHY_IOVCR0_ACREFIEN_MASK                           0x01000000U

/*
* External VREF generato REFSEL range select
*/
#undef DDR_PHY_IOVCR0_ACREFESELRANGE_DEFVAL 
#undef DDR_PHY_IOVCR0_ACREFESELRANGE_SHIFT 
#undef DDR_PHY_IOVCR0_ACREFESELRANGE_MASK 
#define DDR_PHY_IOVCR0_ACREFESELRANGE_DEFVAL                   0x0F000000
#define DDR_PHY_IOVCR0_ACREFESELRANGE_SHIFT                    23
#define DDR_PHY_IOVCR0_ACREFESELRANGE_MASK                     0x00800000U

/*
* Address/command lane External VREF Select
*/
#undef DDR_PHY_IOVCR0_ACREFESEL_DEFVAL 
#undef DDR_PHY_IOVCR0_ACREFESEL_SHIFT 
#undef DDR_PHY_IOVCR0_ACREFESEL_MASK 
#define DDR_PHY_IOVCR0_ACREFESEL_DEFVAL                        0x0F000000
#define DDR_PHY_IOVCR0_ACREFESEL_SHIFT                         16
#define DDR_PHY_IOVCR0_ACREFESEL_MASK                          0x007F0000U

/*
* Single ended VREF generator REFSEL range select
*/
#undef DDR_PHY_IOVCR0_ACREFSSELRANGE_DEFVAL 
#undef DDR_PHY_IOVCR0_ACREFSSELRANGE_SHIFT 
#undef DDR_PHY_IOVCR0_ACREFSSELRANGE_MASK 
#define DDR_PHY_IOVCR0_ACREFSSELRANGE_DEFVAL                   0x0F000000
#define DDR_PHY_IOVCR0_ACREFSSELRANGE_SHIFT                    15
#define DDR_PHY_IOVCR0_ACREFSSELRANGE_MASK                     0x00008000U

/*
* Address/command lane Single-End VREF Select
*/
#undef DDR_PHY_IOVCR0_ACREFSSEL_DEFVAL 
#undef DDR_PHY_IOVCR0_ACREFSSEL_SHIFT 
#undef DDR_PHY_IOVCR0_ACREFSSEL_MASK 
#define DDR_PHY_IOVCR0_ACREFSSEL_DEFVAL                        0x0F000000
#define DDR_PHY_IOVCR0_ACREFSSEL_SHIFT                         8
#define DDR_PHY_IOVCR0_ACREFSSEL_MASK                          0x00007F00U

/*
* Internal VREF generator REFSEL ragne select
*/
#undef DDR_PHY_IOVCR0_ACVREFISELRANGE_DEFVAL 
#undef DDR_PHY_IOVCR0_ACVREFISELRANGE_SHIFT 
#undef DDR_PHY_IOVCR0_ACVREFISELRANGE_MASK 
#define DDR_PHY_IOVCR0_ACVREFISELRANGE_DEFVAL                  0x0F000000
#define DDR_PHY_IOVCR0_ACVREFISELRANGE_SHIFT                   7
#define DDR_PHY_IOVCR0_ACVREFISELRANGE_MASK                    0x00000080U

/*
* REFSEL Control for internal AC IOs
*/
#undef DDR_PHY_IOVCR0_ACVREFISEL_DEFVAL 
#undef DDR_PHY_IOVCR0_ACVREFISEL_SHIFT 
#undef DDR_PHY_IOVCR0_ACVREFISEL_MASK 
#define DDR_PHY_IOVCR0_ACVREFISEL_DEFVAL                       0x0F000000
#define DDR_PHY_IOVCR0_ACVREFISEL_SHIFT                        0
#define DDR_PHY_IOVCR0_ACVREFISEL_MASK                         0x0000007FU

/*
* Number of ctl_clk required to meet (> 150ns) timing requirements during
    * DRAM DQ VREF training
*/
#undef DDR_PHY_VTCR0_TVREF_DEFVAL 
#undef DDR_PHY_VTCR0_TVREF_SHIFT 
#undef DDR_PHY_VTCR0_TVREF_MASK 
#define DDR_PHY_VTCR0_TVREF_DEFVAL                             0x70032019
#define DDR_PHY_VTCR0_TVREF_SHIFT                              29
#define DDR_PHY_VTCR0_TVREF_MASK                               0xE0000000U

/*
* DRM DQ VREF training Enable
*/
#undef DDR_PHY_VTCR0_DVEN_DEFVAL 
#undef DDR_PHY_VTCR0_DVEN_SHIFT 
#undef DDR_PHY_VTCR0_DVEN_MASK 
#define DDR_PHY_VTCR0_DVEN_DEFVAL                              0x70032019
#define DDR_PHY_VTCR0_DVEN_SHIFT                               28
#define DDR_PHY_VTCR0_DVEN_MASK                                0x10000000U

/*
* Per Device Addressability Enable
*/
#undef DDR_PHY_VTCR0_PDAEN_DEFVAL 
#undef DDR_PHY_VTCR0_PDAEN_SHIFT 
#undef DDR_PHY_VTCR0_PDAEN_MASK 
#define DDR_PHY_VTCR0_PDAEN_DEFVAL                             0x70032019
#define DDR_PHY_VTCR0_PDAEN_SHIFT                              27
#define DDR_PHY_VTCR0_PDAEN_MASK                               0x08000000U

/*
* Reserved. Returns zeroes on reads.
*/
#undef DDR_PHY_VTCR0_RESERVED_26_DEFVAL 
#undef DDR_PHY_VTCR0_RESERVED_26_SHIFT 
#undef DDR_PHY_VTCR0_RESERVED_26_MASK 
#define DDR_PHY_VTCR0_RESERVED_26_DEFVAL                       0x70032019
#define DDR_PHY_VTCR0_RESERVED_26_SHIFT                        26
#define DDR_PHY_VTCR0_RESERVED_26_MASK                         0x04000000U

/*
* VREF Word Count
*/
#undef DDR_PHY_VTCR0_VWCR_DEFVAL 
#undef DDR_PHY_VTCR0_VWCR_SHIFT 
#undef DDR_PHY_VTCR0_VWCR_MASK 
#define DDR_PHY_VTCR0_VWCR_DEFVAL                              0x70032019
#define DDR_PHY_VTCR0_VWCR_SHIFT                               22
#define DDR_PHY_VTCR0_VWCR_MASK                                0x03C00000U

/*
* DRAM DQ VREF step size used during DRAM VREF training
*/
#undef DDR_PHY_VTCR0_DVSS_DEFVAL 
#undef DDR_PHY_VTCR0_DVSS_SHIFT 
#undef DDR_PHY_VTCR0_DVSS_MASK 
#define DDR_PHY_VTCR0_DVSS_DEFVAL                              0x70032019
#define DDR_PHY_VTCR0_DVSS_SHIFT                               18
#define DDR_PHY_VTCR0_DVSS_MASK                                0x003C0000U

/*
* Maximum VREF limit value used during DRAM VREF training
*/
#undef DDR_PHY_VTCR0_DVMAX_DEFVAL 
#undef DDR_PHY_VTCR0_DVMAX_SHIFT 
#undef DDR_PHY_VTCR0_DVMAX_MASK 
#define DDR_PHY_VTCR0_DVMAX_DEFVAL                             0x70032019
#define DDR_PHY_VTCR0_DVMAX_SHIFT                              12
#define DDR_PHY_VTCR0_DVMAX_MASK                               0x0003F000U

/*
* Minimum VREF limit value used during DRAM VREF training
*/
#undef DDR_PHY_VTCR0_DVMIN_DEFVAL 
#undef DDR_PHY_VTCR0_DVMIN_SHIFT 
#undef DDR_PHY_VTCR0_DVMIN_MASK 
#define DDR_PHY_VTCR0_DVMIN_DEFVAL                             0x70032019
#define DDR_PHY_VTCR0_DVMIN_SHIFT                              6
#define DDR_PHY_VTCR0_DVMIN_MASK                               0x00000FC0U

/*
* Initial DRAM DQ VREF value used during DRAM VREF training
*/
#undef DDR_PHY_VTCR0_DVINIT_DEFVAL 
#undef DDR_PHY_VTCR0_DVINIT_SHIFT 
#undef DDR_PHY_VTCR0_DVINIT_MASK 
#define DDR_PHY_VTCR0_DVINIT_DEFVAL                            0x70032019
#define DDR_PHY_VTCR0_DVINIT_SHIFT                             0
#define DDR_PHY_VTCR0_DVINIT_MASK                              0x0000003FU

/*
* Host VREF step size used during VREF training. The register value of N i
    * ndicates step size of (N+1)
*/
#undef DDR_PHY_VTCR1_HVSS_DEFVAL 
#undef DDR_PHY_VTCR1_HVSS_SHIFT 
#undef DDR_PHY_VTCR1_HVSS_MASK 
#define DDR_PHY_VTCR1_HVSS_DEFVAL                              0x07F00072
#define DDR_PHY_VTCR1_HVSS_SHIFT                               28
#define DDR_PHY_VTCR1_HVSS_MASK                                0xF0000000U

/*
* Reserved. Returns zeroes on reads.
*/
#undef DDR_PHY_VTCR1_RESERVED_27_DEFVAL 
#undef DDR_PHY_VTCR1_RESERVED_27_SHIFT 
#undef DDR_PHY_VTCR1_RESERVED_27_MASK 
#define DDR_PHY_VTCR1_RESERVED_27_DEFVAL                       0x07F00072
#define DDR_PHY_VTCR1_RESERVED_27_SHIFT                        27
#define DDR_PHY_VTCR1_RESERVED_27_MASK                         0x08000000U

/*
* Maximum VREF limit value used during DRAM VREF training.
*/
#undef DDR_PHY_VTCR1_HVMAX_DEFVAL 
#undef DDR_PHY_VTCR1_HVMAX_SHIFT 
#undef DDR_PHY_VTCR1_HVMAX_MASK 
#define DDR_PHY_VTCR1_HVMAX_DEFVAL                             0x07F00072
#define DDR_PHY_VTCR1_HVMAX_SHIFT                              20
#define DDR_PHY_VTCR1_HVMAX_MASK                               0x07F00000U

/*
* Reserved. Returns zeroes on reads.
*/
#undef DDR_PHY_VTCR1_RESERVED_19_DEFVAL 
#undef DDR_PHY_VTCR1_RESERVED_19_SHIFT 
#undef DDR_PHY_VTCR1_RESERVED_19_MASK 
#define DDR_PHY_VTCR1_RESERVED_19_DEFVAL                       0x07F00072
#define DDR_PHY_VTCR1_RESERVED_19_SHIFT                        19
#define DDR_PHY_VTCR1_RESERVED_19_MASK                         0x00080000U

/*
* Minimum VREF limit value used during DRAM VREF training.
*/
#undef DDR_PHY_VTCR1_HVMIN_DEFVAL 
#undef DDR_PHY_VTCR1_HVMIN_SHIFT 
#undef DDR_PHY_VTCR1_HVMIN_MASK 
#define DDR_PHY_VTCR1_HVMIN_DEFVAL                             0x07F00072
#define DDR_PHY_VTCR1_HVMIN_SHIFT                              12
#define DDR_PHY_VTCR1_HVMIN_MASK                               0x0007F000U

/*
* Reserved. Returns zeroes on reads.
*/
#undef DDR_PHY_VTCR1_RESERVED_11_DEFVAL 
#undef DDR_PHY_VTCR1_RESERVED_11_SHIFT 
#undef DDR_PHY_VTCR1_RESERVED_11_MASK 
#define DDR_PHY_VTCR1_RESERVED_11_DEFVAL                       0x07F00072
#define DDR_PHY_VTCR1_RESERVED_11_SHIFT                        11
#define DDR_PHY_VTCR1_RESERVED_11_MASK                         0x00000800U

/*
* Static Host Vref Rank Value
*/
#undef DDR_PHY_VTCR1_SHRNK_DEFVAL 
#undef DDR_PHY_VTCR1_SHRNK_SHIFT 
#undef DDR_PHY_VTCR1_SHRNK_MASK 
#define DDR_PHY_VTCR1_SHRNK_DEFVAL                             0x07F00072
#define DDR_PHY_VTCR1_SHRNK_SHIFT                              9
#define DDR_PHY_VTCR1_SHRNK_MASK                               0x00000600U

/*
* Static Host Vref Rank Enable
*/
#undef DDR_PHY_VTCR1_SHREN_DEFVAL 
#undef DDR_PHY_VTCR1_SHREN_SHIFT 
#undef DDR_PHY_VTCR1_SHREN_MASK 
#define DDR_PHY_VTCR1_SHREN_DEFVAL                             0x07F00072
#define DDR_PHY_VTCR1_SHREN_SHIFT                              8
#define DDR_PHY_VTCR1_SHREN_MASK                               0x00000100U

/*
* Number of ctl_clk required to meet (> 200ns) VREF Settling timing requir
    * ements during Host IO VREF training
*/
#undef DDR_PHY_VTCR1_TVREFIO_DEFVAL 
#undef DDR_PHY_VTCR1_TVREFIO_SHIFT 
#undef DDR_PHY_VTCR1_TVREFIO_MASK 
#define DDR_PHY_VTCR1_TVREFIO_DEFVAL                           0x07F00072
#define DDR_PHY_VTCR1_TVREFIO_SHIFT                            5
#define DDR_PHY_VTCR1_TVREFIO_MASK                             0x000000E0U

/*
* Eye LCDL Offset value for VREF training
*/
#undef DDR_PHY_VTCR1_EOFF_DEFVAL 
#undef DDR_PHY_VTCR1_EOFF_SHIFT 
#undef DDR_PHY_VTCR1_EOFF_MASK 
#define DDR_PHY_VTCR1_EOFF_DEFVAL                              0x07F00072
#define DDR_PHY_VTCR1_EOFF_SHIFT                               3
#define DDR_PHY_VTCR1_EOFF_MASK                                0x00000018U

/*
* Number of LCDL Eye points for which VREF training is repeated
*/
#undef DDR_PHY_VTCR1_ENUM_DEFVAL 
#undef DDR_PHY_VTCR1_ENUM_SHIFT 
#undef DDR_PHY_VTCR1_ENUM_MASK 
#define DDR_PHY_VTCR1_ENUM_DEFVAL                              0x07F00072
#define DDR_PHY_VTCR1_ENUM_SHIFT                               2
#define DDR_PHY_VTCR1_ENUM_MASK                                0x00000004U

/*
* HOST (IO) internal VREF training Enable
*/
#undef DDR_PHY_VTCR1_HVEN_DEFVAL 
#undef DDR_PHY_VTCR1_HVEN_SHIFT 
#undef DDR_PHY_VTCR1_HVEN_MASK 
#define DDR_PHY_VTCR1_HVEN_DEFVAL                              0x07F00072
#define DDR_PHY_VTCR1_HVEN_SHIFT                               1
#define DDR_PHY_VTCR1_HVEN_MASK                                0x00000002U

/*
* Host IO Type Control
*/
#undef DDR_PHY_VTCR1_HVIO_DEFVAL 
#undef DDR_PHY_VTCR1_HVIO_SHIFT 
#undef DDR_PHY_VTCR1_HVIO_MASK 
#define DDR_PHY_VTCR1_HVIO_DEFVAL                              0x07F00072
#define DDR_PHY_VTCR1_HVIO_SHIFT                               0
#define DDR_PHY_VTCR1_HVIO_MASK                                0x00000001U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_ACBDLR1_RESERVED_31_30_DEFVAL 
#undef DDR_PHY_ACBDLR1_RESERVED_31_30_SHIFT 
#undef DDR_PHY_ACBDLR1_RESERVED_31_30_MASK 
#define DDR_PHY_ACBDLR1_RESERVED_31_30_DEFVAL                  0x00000000
#define DDR_PHY_ACBDLR1_RESERVED_31_30_SHIFT                   30
#define DDR_PHY_ACBDLR1_RESERVED_31_30_MASK                    0xC0000000U

/*
* Delay select for the BDL on Parity.
*/
#undef DDR_PHY_ACBDLR1_PARBD_DEFVAL 
#undef DDR_PHY_ACBDLR1_PARBD_SHIFT 
#undef DDR_PHY_ACBDLR1_PARBD_MASK 
#define DDR_PHY_ACBDLR1_PARBD_DEFVAL                           0x00000000
#define DDR_PHY_ACBDLR1_PARBD_SHIFT                            24
#define DDR_PHY_ACBDLR1_PARBD_MASK                             0x3F000000U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_ACBDLR1_RESERVED_23_22_DEFVAL 
#undef DDR_PHY_ACBDLR1_RESERVED_23_22_SHIFT 
#undef DDR_PHY_ACBDLR1_RESERVED_23_22_MASK 
#define DDR_PHY_ACBDLR1_RESERVED_23_22_DEFVAL                  0x00000000
#define DDR_PHY_ACBDLR1_RESERVED_23_22_SHIFT                   22
#define DDR_PHY_ACBDLR1_RESERVED_23_22_MASK                    0x00C00000U

/*
* Delay select for the BDL on Address A[16]. In DDR3 mode this pin is conn
    * ected to WE.
*/
#undef DDR_PHY_ACBDLR1_A16BD_DEFVAL 
#undef DDR_PHY_ACBDLR1_A16BD_SHIFT 
#undef DDR_PHY_ACBDLR1_A16BD_MASK 
#define DDR_PHY_ACBDLR1_A16BD_DEFVAL                           0x00000000
#define DDR_PHY_ACBDLR1_A16BD_SHIFT                            16
#define DDR_PHY_ACBDLR1_A16BD_MASK                             0x003F0000U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_ACBDLR1_RESERVED_15_14_DEFVAL 
#undef DDR_PHY_ACBDLR1_RESERVED_15_14_SHIFT 
#undef DDR_PHY_ACBDLR1_RESERVED_15_14_MASK 
#define DDR_PHY_ACBDLR1_RESERVED_15_14_DEFVAL                  0x00000000
#define DDR_PHY_ACBDLR1_RESERVED_15_14_SHIFT                   14
#define DDR_PHY_ACBDLR1_RESERVED_15_14_MASK                    0x0000C000U

/*
* Delay select for the BDL on Address A[17]. When not in DDR4 modemode thi
    * s pin is connected to CAS.
*/
#undef DDR_PHY_ACBDLR1_A17BD_DEFVAL 
#undef DDR_PHY_ACBDLR1_A17BD_SHIFT 
#undef DDR_PHY_ACBDLR1_A17BD_MASK 
#define DDR_PHY_ACBDLR1_A17BD_DEFVAL                           0x00000000
#define DDR_PHY_ACBDLR1_A17BD_SHIFT                            8
#define DDR_PHY_ACBDLR1_A17BD_MASK                             0x00003F00U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_ACBDLR1_RESERVED_7_6_DEFVAL 
#undef DDR_PHY_ACBDLR1_RESERVED_7_6_SHIFT 
#undef DDR_PHY_ACBDLR1_RESERVED_7_6_MASK 
#define DDR_PHY_ACBDLR1_RESERVED_7_6_DEFVAL                    0x00000000
#define DDR_PHY_ACBDLR1_RESERVED_7_6_SHIFT                     6
#define DDR_PHY_ACBDLR1_RESERVED_7_6_MASK                      0x000000C0U

/*
* Delay select for the BDL on ACTN.
*/
#undef DDR_PHY_ACBDLR1_ACTBD_DEFVAL 
#undef DDR_PHY_ACBDLR1_ACTBD_SHIFT 
#undef DDR_PHY_ACBDLR1_ACTBD_MASK 
#define DDR_PHY_ACBDLR1_ACTBD_DEFVAL                           0x00000000
#define DDR_PHY_ACBDLR1_ACTBD_SHIFT                            0
#define DDR_PHY_ACBDLR1_ACTBD_MASK                             0x0000003FU

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_ACBDLR2_RESERVED_31_30_DEFVAL 
#undef DDR_PHY_ACBDLR2_RESERVED_31_30_SHIFT 
#undef DDR_PHY_ACBDLR2_RESERVED_31_30_MASK 
#define DDR_PHY_ACBDLR2_RESERVED_31_30_DEFVAL                  0x00000000
#define DDR_PHY_ACBDLR2_RESERVED_31_30_SHIFT                   30
#define DDR_PHY_ACBDLR2_RESERVED_31_30_MASK                    0xC0000000U

/*
* Delay select for the BDL on BG[1].
*/
#undef DDR_PHY_ACBDLR2_BG1BD_DEFVAL 
#undef DDR_PHY_ACBDLR2_BG1BD_SHIFT 
#undef DDR_PHY_ACBDLR2_BG1BD_MASK 
#define DDR_PHY_ACBDLR2_BG1BD_DEFVAL                           0x00000000
#define DDR_PHY_ACBDLR2_BG1BD_SHIFT                            24
#define DDR_PHY_ACBDLR2_BG1BD_MASK                             0x3F000000U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_ACBDLR2_RESERVED_23_22_DEFVAL 
#undef DDR_PHY_ACBDLR2_RESERVED_23_22_SHIFT 
#undef DDR_PHY_ACBDLR2_RESERVED_23_22_MASK 
#define DDR_PHY_ACBDLR2_RESERVED_23_22_DEFVAL                  0x00000000
#define DDR_PHY_ACBDLR2_RESERVED_23_22_SHIFT                   22
#define DDR_PHY_ACBDLR2_RESERVED_23_22_MASK                    0x00C00000U

/*
* Delay select for the BDL on BG[0].
*/
#undef DDR_PHY_ACBDLR2_BG0BD_DEFVAL 
#undef DDR_PHY_ACBDLR2_BG0BD_SHIFT 
#undef DDR_PHY_ACBDLR2_BG0BD_MASK 
#define DDR_PHY_ACBDLR2_BG0BD_DEFVAL                           0x00000000
#define DDR_PHY_ACBDLR2_BG0BD_SHIFT                            16
#define DDR_PHY_ACBDLR2_BG0BD_MASK                             0x003F0000U

/*
* Reser.ved Return zeroes on reads.
*/
#undef DDR_PHY_ACBDLR2_RESERVED_15_14_DEFVAL 
#undef DDR_PHY_ACBDLR2_RESERVED_15_14_SHIFT 
#undef DDR_PHY_ACBDLR2_RESERVED_15_14_MASK 
#define DDR_PHY_ACBDLR2_RESERVED_15_14_DEFVAL                  0x00000000
#define DDR_PHY_ACBDLR2_RESERVED_15_14_SHIFT                   14
#define DDR_PHY_ACBDLR2_RESERVED_15_14_MASK                    0x0000C000U

/*
* Delay select for the BDL on BA[1].
*/
#undef DDR_PHY_ACBDLR2_BA1BD_DEFVAL 
#undef DDR_PHY_ACBDLR2_BA1BD_SHIFT 
#undef DDR_PHY_ACBDLR2_BA1BD_MASK 
#define DDR_PHY_ACBDLR2_BA1BD_DEFVAL                           0x00000000
#define DDR_PHY_ACBDLR2_BA1BD_SHIFT                            8
#define DDR_PHY_ACBDLR2_BA1BD_MASK                             0x00003F00U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_ACBDLR2_RESERVED_7_6_DEFVAL 
#undef DDR_PHY_ACBDLR2_RESERVED_7_6_SHIFT 
#undef DDR_PHY_ACBDLR2_RESERVED_7_6_MASK 
#define DDR_PHY_ACBDLR2_RESERVED_7_6_DEFVAL                    0x00000000
#define DDR_PHY_ACBDLR2_RESERVED_7_6_SHIFT                     6
#define DDR_PHY_ACBDLR2_RESERVED_7_6_MASK                      0x000000C0U

/*
* Delay select for the BDL on BA[0].
*/
#undef DDR_PHY_ACBDLR2_BA0BD_DEFVAL 
#undef DDR_PHY_ACBDLR2_BA0BD_SHIFT 
#undef DDR_PHY_ACBDLR2_BA0BD_MASK 
#define DDR_PHY_ACBDLR2_BA0BD_DEFVAL                           0x00000000
#define DDR_PHY_ACBDLR2_BA0BD_SHIFT                            0
#define DDR_PHY_ACBDLR2_BA0BD_MASK                             0x0000003FU

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_ACBDLR6_RESERVED_31_30_DEFVAL 
#undef DDR_PHY_ACBDLR6_RESERVED_31_30_SHIFT 
#undef DDR_PHY_ACBDLR6_RESERVED_31_30_MASK 
#define DDR_PHY_ACBDLR6_RESERVED_31_30_DEFVAL                  0x00000000
#define DDR_PHY_ACBDLR6_RESERVED_31_30_SHIFT                   30
#define DDR_PHY_ACBDLR6_RESERVED_31_30_MASK                    0xC0000000U

/*
* Delay select for the BDL on Address A[3].
*/
#undef DDR_PHY_ACBDLR6_A03BD_DEFVAL 
#undef DDR_PHY_ACBDLR6_A03BD_SHIFT 
#undef DDR_PHY_ACBDLR6_A03BD_MASK 
#define DDR_PHY_ACBDLR6_A03BD_DEFVAL                           0x00000000
#define DDR_PHY_ACBDLR6_A03BD_SHIFT                            24
#define DDR_PHY_ACBDLR6_A03BD_MASK                             0x3F000000U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_ACBDLR6_RESERVED_23_22_DEFVAL 
#undef DDR_PHY_ACBDLR6_RESERVED_23_22_SHIFT 
#undef DDR_PHY_ACBDLR6_RESERVED_23_22_MASK 
#define DDR_PHY_ACBDLR6_RESERVED_23_22_DEFVAL                  0x00000000
#define DDR_PHY_ACBDLR6_RESERVED_23_22_SHIFT                   22
#define DDR_PHY_ACBDLR6_RESERVED_23_22_MASK                    0x00C00000U

/*
* Delay select for the BDL on Address A[2].
*/
#undef DDR_PHY_ACBDLR6_A02BD_DEFVAL 
#undef DDR_PHY_ACBDLR6_A02BD_SHIFT 
#undef DDR_PHY_ACBDLR6_A02BD_MASK 
#define DDR_PHY_ACBDLR6_A02BD_DEFVAL                           0x00000000
#define DDR_PHY_ACBDLR6_A02BD_SHIFT                            16
#define DDR_PHY_ACBDLR6_A02BD_MASK                             0x003F0000U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_ACBDLR6_RESERVED_15_14_DEFVAL 
#undef DDR_PHY_ACBDLR6_RESERVED_15_14_SHIFT 
#undef DDR_PHY_ACBDLR6_RESERVED_15_14_MASK 
#define DDR_PHY_ACBDLR6_RESERVED_15_14_DEFVAL                  0x00000000
#define DDR_PHY_ACBDLR6_RESERVED_15_14_SHIFT                   14
#define DDR_PHY_ACBDLR6_RESERVED_15_14_MASK                    0x0000C000U

/*
* Delay select for the BDL on Address A[1].
*/
#undef DDR_PHY_ACBDLR6_A01BD_DEFVAL 
#undef DDR_PHY_ACBDLR6_A01BD_SHIFT 
#undef DDR_PHY_ACBDLR6_A01BD_MASK 
#define DDR_PHY_ACBDLR6_A01BD_DEFVAL                           0x00000000
#define DDR_PHY_ACBDLR6_A01BD_SHIFT                            8
#define DDR_PHY_ACBDLR6_A01BD_MASK                             0x00003F00U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_ACBDLR6_RESERVED_7_6_DEFVAL 
#undef DDR_PHY_ACBDLR6_RESERVED_7_6_SHIFT 
#undef DDR_PHY_ACBDLR6_RESERVED_7_6_MASK 
#define DDR_PHY_ACBDLR6_RESERVED_7_6_DEFVAL                    0x00000000
#define DDR_PHY_ACBDLR6_RESERVED_7_6_SHIFT                     6
#define DDR_PHY_ACBDLR6_RESERVED_7_6_MASK                      0x000000C0U

/*
* Delay select for the BDL on Address A[0].
*/
#undef DDR_PHY_ACBDLR6_A00BD_DEFVAL 
#undef DDR_PHY_ACBDLR6_A00BD_SHIFT 
#undef DDR_PHY_ACBDLR6_A00BD_MASK 
#define DDR_PHY_ACBDLR6_A00BD_DEFVAL                           0x00000000
#define DDR_PHY_ACBDLR6_A00BD_SHIFT                            0
#define DDR_PHY_ACBDLR6_A00BD_MASK                             0x0000003FU

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_ACBDLR7_RESERVED_31_30_DEFVAL 
#undef DDR_PHY_ACBDLR7_RESERVED_31_30_SHIFT 
#undef DDR_PHY_ACBDLR7_RESERVED_31_30_MASK 
#define DDR_PHY_ACBDLR7_RESERVED_31_30_DEFVAL                  0x00000000
#define DDR_PHY_ACBDLR7_RESERVED_31_30_SHIFT                   30
#define DDR_PHY_ACBDLR7_RESERVED_31_30_MASK                    0xC0000000U

/*
* Delay select for the BDL on Address A[7].
*/
#undef DDR_PHY_ACBDLR7_A07BD_DEFVAL 
#undef DDR_PHY_ACBDLR7_A07BD_SHIFT 
#undef DDR_PHY_ACBDLR7_A07BD_MASK 
#define DDR_PHY_ACBDLR7_A07BD_DEFVAL                           0x00000000
#define DDR_PHY_ACBDLR7_A07BD_SHIFT                            24
#define DDR_PHY_ACBDLR7_A07BD_MASK                             0x3F000000U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_ACBDLR7_RESERVED_23_22_DEFVAL 
#undef DDR_PHY_ACBDLR7_RESERVED_23_22_SHIFT 
#undef DDR_PHY_ACBDLR7_RESERVED_23_22_MASK 
#define DDR_PHY_ACBDLR7_RESERVED_23_22_DEFVAL                  0x00000000
#define DDR_PHY_ACBDLR7_RESERVED_23_22_SHIFT                   22
#define DDR_PHY_ACBDLR7_RESERVED_23_22_MASK                    0x00C00000U

/*
* Delay select for the BDL on Address A[6].
*/
#undef DDR_PHY_ACBDLR7_A06BD_DEFVAL 
#undef DDR_PHY_ACBDLR7_A06BD_SHIFT 
#undef DDR_PHY_ACBDLR7_A06BD_MASK 
#define DDR_PHY_ACBDLR7_A06BD_DEFVAL                           0x00000000
#define DDR_PHY_ACBDLR7_A06BD_SHIFT                            16
#define DDR_PHY_ACBDLR7_A06BD_MASK                             0x003F0000U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_ACBDLR7_RESERVED_15_14_DEFVAL 
#undef DDR_PHY_ACBDLR7_RESERVED_15_14_SHIFT 
#undef DDR_PHY_ACBDLR7_RESERVED_15_14_MASK 
#define DDR_PHY_ACBDLR7_RESERVED_15_14_DEFVAL                  0x00000000
#define DDR_PHY_ACBDLR7_RESERVED_15_14_SHIFT                   14
#define DDR_PHY_ACBDLR7_RESERVED_15_14_MASK                    0x0000C000U

/*
* Delay select for the BDL on Address A[5].
*/
#undef DDR_PHY_ACBDLR7_A05BD_DEFVAL 
#undef DDR_PHY_ACBDLR7_A05BD_SHIFT 
#undef DDR_PHY_ACBDLR7_A05BD_MASK 
#define DDR_PHY_ACBDLR7_A05BD_DEFVAL                           0x00000000
#define DDR_PHY_ACBDLR7_A05BD_SHIFT                            8
#define DDR_PHY_ACBDLR7_A05BD_MASK                             0x00003F00U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_ACBDLR7_RESERVED_7_6_DEFVAL 
#undef DDR_PHY_ACBDLR7_RESERVED_7_6_SHIFT 
#undef DDR_PHY_ACBDLR7_RESERVED_7_6_MASK 
#define DDR_PHY_ACBDLR7_RESERVED_7_6_DEFVAL                    0x00000000
#define DDR_PHY_ACBDLR7_RESERVED_7_6_SHIFT                     6
#define DDR_PHY_ACBDLR7_RESERVED_7_6_MASK                      0x000000C0U

/*
* Delay select for the BDL on Address A[4].
*/
#undef DDR_PHY_ACBDLR7_A04BD_DEFVAL 
#undef DDR_PHY_ACBDLR7_A04BD_SHIFT 
#undef DDR_PHY_ACBDLR7_A04BD_MASK 
#define DDR_PHY_ACBDLR7_A04BD_DEFVAL                           0x00000000
#define DDR_PHY_ACBDLR7_A04BD_SHIFT                            0
#define DDR_PHY_ACBDLR7_A04BD_MASK                             0x0000003FU

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_ACBDLR8_RESERVED_31_30_DEFVAL 
#undef DDR_PHY_ACBDLR8_RESERVED_31_30_SHIFT 
#undef DDR_PHY_ACBDLR8_RESERVED_31_30_MASK 
#define DDR_PHY_ACBDLR8_RESERVED_31_30_DEFVAL                  0x00000000
#define DDR_PHY_ACBDLR8_RESERVED_31_30_SHIFT                   30
#define DDR_PHY_ACBDLR8_RESERVED_31_30_MASK                    0xC0000000U

/*
* Delay select for the BDL on Address A[11].
*/
#undef DDR_PHY_ACBDLR8_A11BD_DEFVAL 
#undef DDR_PHY_ACBDLR8_A11BD_SHIFT 
#undef DDR_PHY_ACBDLR8_A11BD_MASK 
#define DDR_PHY_ACBDLR8_A11BD_DEFVAL                           0x00000000
#define DDR_PHY_ACBDLR8_A11BD_SHIFT                            24
#define DDR_PHY_ACBDLR8_A11BD_MASK                             0x3F000000U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_ACBDLR8_RESERVED_23_22_DEFVAL 
#undef DDR_PHY_ACBDLR8_RESERVED_23_22_SHIFT 
#undef DDR_PHY_ACBDLR8_RESERVED_23_22_MASK 
#define DDR_PHY_ACBDLR8_RESERVED_23_22_DEFVAL                  0x00000000
#define DDR_PHY_ACBDLR8_RESERVED_23_22_SHIFT                   22
#define DDR_PHY_ACBDLR8_RESERVED_23_22_MASK                    0x00C00000U

/*
* Delay select for the BDL on Address A[10].
*/
#undef DDR_PHY_ACBDLR8_A10BD_DEFVAL 
#undef DDR_PHY_ACBDLR8_A10BD_SHIFT 
#undef DDR_PHY_ACBDLR8_A10BD_MASK 
#define DDR_PHY_ACBDLR8_A10BD_DEFVAL                           0x00000000
#define DDR_PHY_ACBDLR8_A10BD_SHIFT                            16
#define DDR_PHY_ACBDLR8_A10BD_MASK                             0x003F0000U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_ACBDLR8_RESERVED_15_14_DEFVAL 
#undef DDR_PHY_ACBDLR8_RESERVED_15_14_SHIFT 
#undef DDR_PHY_ACBDLR8_RESERVED_15_14_MASK 
#define DDR_PHY_ACBDLR8_RESERVED_15_14_DEFVAL                  0x00000000
#define DDR_PHY_ACBDLR8_RESERVED_15_14_SHIFT                   14
#define DDR_PHY_ACBDLR8_RESERVED_15_14_MASK                    0x0000C000U

/*
* Delay select for the BDL on Address A[9].
*/
#undef DDR_PHY_ACBDLR8_A09BD_DEFVAL 
#undef DDR_PHY_ACBDLR8_A09BD_SHIFT 
#undef DDR_PHY_ACBDLR8_A09BD_MASK 
#define DDR_PHY_ACBDLR8_A09BD_DEFVAL                           0x00000000
#define DDR_PHY_ACBDLR8_A09BD_SHIFT                            8
#define DDR_PHY_ACBDLR8_A09BD_MASK                             0x00003F00U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_ACBDLR8_RESERVED_7_6_DEFVAL 
#undef DDR_PHY_ACBDLR8_RESERVED_7_6_SHIFT 
#undef DDR_PHY_ACBDLR8_RESERVED_7_6_MASK 
#define DDR_PHY_ACBDLR8_RESERVED_7_6_DEFVAL                    0x00000000
#define DDR_PHY_ACBDLR8_RESERVED_7_6_SHIFT                     6
#define DDR_PHY_ACBDLR8_RESERVED_7_6_MASK                      0x000000C0U

/*
* Delay select for the BDL on Address A[8].
*/
#undef DDR_PHY_ACBDLR8_A08BD_DEFVAL 
#undef DDR_PHY_ACBDLR8_A08BD_SHIFT 
#undef DDR_PHY_ACBDLR8_A08BD_MASK 
#define DDR_PHY_ACBDLR8_A08BD_DEFVAL                           0x00000000
#define DDR_PHY_ACBDLR8_A08BD_SHIFT                            0
#define DDR_PHY_ACBDLR8_A08BD_MASK                             0x0000003FU

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_ACBDLR9_RESERVED_31_30_DEFVAL 
#undef DDR_PHY_ACBDLR9_RESERVED_31_30_SHIFT 
#undef DDR_PHY_ACBDLR9_RESERVED_31_30_MASK 
#define DDR_PHY_ACBDLR9_RESERVED_31_30_DEFVAL                  0x00000000
#define DDR_PHY_ACBDLR9_RESERVED_31_30_SHIFT                   30
#define DDR_PHY_ACBDLR9_RESERVED_31_30_MASK                    0xC0000000U

/*
* Delay select for the BDL on Address A[15].
*/
#undef DDR_PHY_ACBDLR9_A15BD_DEFVAL 
#undef DDR_PHY_ACBDLR9_A15BD_SHIFT 
#undef DDR_PHY_ACBDLR9_A15BD_MASK 
#define DDR_PHY_ACBDLR9_A15BD_DEFVAL                           0x00000000
#define DDR_PHY_ACBDLR9_A15BD_SHIFT                            24
#define DDR_PHY_ACBDLR9_A15BD_MASK                             0x3F000000U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_ACBDLR9_RESERVED_23_22_DEFVAL 
#undef DDR_PHY_ACBDLR9_RESERVED_23_22_SHIFT 
#undef DDR_PHY_ACBDLR9_RESERVED_23_22_MASK 
#define DDR_PHY_ACBDLR9_RESERVED_23_22_DEFVAL                  0x00000000
#define DDR_PHY_ACBDLR9_RESERVED_23_22_SHIFT                   22
#define DDR_PHY_ACBDLR9_RESERVED_23_22_MASK                    0x00C00000U

/*
* Delay select for the BDL on Address A[14].
*/
#undef DDR_PHY_ACBDLR9_A14BD_DEFVAL 
#undef DDR_PHY_ACBDLR9_A14BD_SHIFT 
#undef DDR_PHY_ACBDLR9_A14BD_MASK 
#define DDR_PHY_ACBDLR9_A14BD_DEFVAL                           0x00000000
#define DDR_PHY_ACBDLR9_A14BD_SHIFT                            16
#define DDR_PHY_ACBDLR9_A14BD_MASK                             0x003F0000U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_ACBDLR9_RESERVED_15_14_DEFVAL 
#undef DDR_PHY_ACBDLR9_RESERVED_15_14_SHIFT 
#undef DDR_PHY_ACBDLR9_RESERVED_15_14_MASK 
#define DDR_PHY_ACBDLR9_RESERVED_15_14_DEFVAL                  0x00000000
#define DDR_PHY_ACBDLR9_RESERVED_15_14_SHIFT                   14
#define DDR_PHY_ACBDLR9_RESERVED_15_14_MASK                    0x0000C000U

/*
* Delay select for the BDL on Address A[13].
*/
#undef DDR_PHY_ACBDLR9_A13BD_DEFVAL 
#undef DDR_PHY_ACBDLR9_A13BD_SHIFT 
#undef DDR_PHY_ACBDLR9_A13BD_MASK 
#define DDR_PHY_ACBDLR9_A13BD_DEFVAL                           0x00000000
#define DDR_PHY_ACBDLR9_A13BD_SHIFT                            8
#define DDR_PHY_ACBDLR9_A13BD_MASK                             0x00003F00U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_ACBDLR9_RESERVED_7_6_DEFVAL 
#undef DDR_PHY_ACBDLR9_RESERVED_7_6_SHIFT 
#undef DDR_PHY_ACBDLR9_RESERVED_7_6_MASK 
#define DDR_PHY_ACBDLR9_RESERVED_7_6_DEFVAL                    0x00000000
#define DDR_PHY_ACBDLR9_RESERVED_7_6_SHIFT                     6
#define DDR_PHY_ACBDLR9_RESERVED_7_6_MASK                      0x000000C0U

/*
* Delay select for the BDL on Address A[12].
*/
#undef DDR_PHY_ACBDLR9_A12BD_DEFVAL 
#undef DDR_PHY_ACBDLR9_A12BD_SHIFT 
#undef DDR_PHY_ACBDLR9_A12BD_MASK 
#define DDR_PHY_ACBDLR9_A12BD_DEFVAL                           0x00000000
#define DDR_PHY_ACBDLR9_A12BD_SHIFT                            0
#define DDR_PHY_ACBDLR9_A12BD_MASK                             0x0000003FU

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_ZQCR_RESERVED_31_26_DEFVAL 
#undef DDR_PHY_ZQCR_RESERVED_31_26_SHIFT 
#undef DDR_PHY_ZQCR_RESERVED_31_26_MASK 
#define DDR_PHY_ZQCR_RESERVED_31_26_DEFVAL                     0x008A2858
#define DDR_PHY_ZQCR_RESERVED_31_26_SHIFT                      26
#define DDR_PHY_ZQCR_RESERVED_31_26_MASK                       0xFC000000U

/*
* ZQ VREF Range
*/
#undef DDR_PHY_ZQCR_ZQREFISELRANGE_DEFVAL 
#undef DDR_PHY_ZQCR_ZQREFISELRANGE_SHIFT 
#undef DDR_PHY_ZQCR_ZQREFISELRANGE_MASK 
#define DDR_PHY_ZQCR_ZQREFISELRANGE_DEFVAL                     0x008A2858
#define DDR_PHY_ZQCR_ZQREFISELRANGE_SHIFT                      25
#define DDR_PHY_ZQCR_ZQREFISELRANGE_MASK                       0x02000000U

/*
* Programmable Wait for Frequency B
*/
#undef DDR_PHY_ZQCR_PGWAIT_FRQB_DEFVAL 
#undef DDR_PHY_ZQCR_PGWAIT_FRQB_SHIFT 
#undef DDR_PHY_ZQCR_PGWAIT_FRQB_MASK 
#define DDR_PHY_ZQCR_PGWAIT_FRQB_DEFVAL                        0x008A2858
#define DDR_PHY_ZQCR_PGWAIT_FRQB_SHIFT                         19
#define DDR_PHY_ZQCR_PGWAIT_FRQB_MASK                          0x01F80000U

/*
* Programmable Wait for Frequency A
*/
#undef DDR_PHY_ZQCR_PGWAIT_FRQA_DEFVAL 
#undef DDR_PHY_ZQCR_PGWAIT_FRQA_SHIFT 
#undef DDR_PHY_ZQCR_PGWAIT_FRQA_MASK 
#define DDR_PHY_ZQCR_PGWAIT_FRQA_DEFVAL                        0x008A2858
#define DDR_PHY_ZQCR_PGWAIT_FRQA_SHIFT                         13
#define DDR_PHY_ZQCR_PGWAIT_FRQA_MASK                          0x0007E000U

/*
* ZQ VREF Pad Enable
*/
#undef DDR_PHY_ZQCR_ZQREFPEN_DEFVAL 
#undef DDR_PHY_ZQCR_ZQREFPEN_SHIFT 
#undef DDR_PHY_ZQCR_ZQREFPEN_MASK 
#define DDR_PHY_ZQCR_ZQREFPEN_DEFVAL                           0x008A2858
#define DDR_PHY_ZQCR_ZQREFPEN_SHIFT                            12
#define DDR_PHY_ZQCR_ZQREFPEN_MASK                             0x00001000U

/*
* ZQ Internal VREF Enable
*/
#undef DDR_PHY_ZQCR_ZQREFIEN_DEFVAL 
#undef DDR_PHY_ZQCR_ZQREFIEN_SHIFT 
#undef DDR_PHY_ZQCR_ZQREFIEN_MASK 
#define DDR_PHY_ZQCR_ZQREFIEN_DEFVAL                           0x008A2858
#define DDR_PHY_ZQCR_ZQREFIEN_SHIFT                            11
#define DDR_PHY_ZQCR_ZQREFIEN_MASK                             0x00000800U

/*
* Choice of termination mode
*/
#undef DDR_PHY_ZQCR_ODT_MODE_DEFVAL 
#undef DDR_PHY_ZQCR_ODT_MODE_SHIFT 
#undef DDR_PHY_ZQCR_ODT_MODE_MASK 
#define DDR_PHY_ZQCR_ODT_MODE_DEFVAL                           0x008A2858
#define DDR_PHY_ZQCR_ODT_MODE_SHIFT                            9
#define DDR_PHY_ZQCR_ODT_MODE_MASK                             0x00000600U

/*
* Force ZCAL VT update
*/
#undef DDR_PHY_ZQCR_FORCE_ZCAL_VT_UPDATE_DEFVAL 
#undef DDR_PHY_ZQCR_FORCE_ZCAL_VT_UPDATE_SHIFT 
#undef DDR_PHY_ZQCR_FORCE_ZCAL_VT_UPDATE_MASK 
#define DDR_PHY_ZQCR_FORCE_ZCAL_VT_UPDATE_DEFVAL               0x008A2858
#define DDR_PHY_ZQCR_FORCE_ZCAL_VT_UPDATE_SHIFT                8
#define DDR_PHY_ZQCR_FORCE_ZCAL_VT_UPDATE_MASK                 0x00000100U

/*
* IO VT Drift Limit
*/
#undef DDR_PHY_ZQCR_IODLMT_DEFVAL 
#undef DDR_PHY_ZQCR_IODLMT_SHIFT 
#undef DDR_PHY_ZQCR_IODLMT_MASK 
#define DDR_PHY_ZQCR_IODLMT_DEFVAL                             0x008A2858
#define DDR_PHY_ZQCR_IODLMT_SHIFT                              5
#define DDR_PHY_ZQCR_IODLMT_MASK                               0x000000E0U

/*
* Averaging algorithm enable, if set, enables averaging algorithm
*/
#undef DDR_PHY_ZQCR_AVGEN_DEFVAL 
#undef DDR_PHY_ZQCR_AVGEN_SHIFT 
#undef DDR_PHY_ZQCR_AVGEN_MASK 
#define DDR_PHY_ZQCR_AVGEN_DEFVAL                              0x008A2858
#define DDR_PHY_ZQCR_AVGEN_SHIFT                               4
#define DDR_PHY_ZQCR_AVGEN_MASK                                0x00000010U

/*
* Maximum number of averaging rounds to be used by averaging algorithm
*/
#undef DDR_PHY_ZQCR_AVGMAX_DEFVAL 
#undef DDR_PHY_ZQCR_AVGMAX_SHIFT 
#undef DDR_PHY_ZQCR_AVGMAX_MASK 
#define DDR_PHY_ZQCR_AVGMAX_DEFVAL                             0x008A2858
#define DDR_PHY_ZQCR_AVGMAX_SHIFT                              2
#define DDR_PHY_ZQCR_AVGMAX_MASK                               0x0000000CU

/*
* ZQ Calibration Type
*/
#undef DDR_PHY_ZQCR_ZCALT_DEFVAL 
#undef DDR_PHY_ZQCR_ZCALT_SHIFT 
#undef DDR_PHY_ZQCR_ZCALT_MASK 
#define DDR_PHY_ZQCR_ZCALT_DEFVAL                              0x008A2858
#define DDR_PHY_ZQCR_ZCALT_SHIFT                               1
#define DDR_PHY_ZQCR_ZCALT_MASK                                0x00000002U

/*
* ZQ Power Down
*/
#undef DDR_PHY_ZQCR_ZQPD_DEFVAL 
#undef DDR_PHY_ZQCR_ZQPD_SHIFT 
#undef DDR_PHY_ZQCR_ZQPD_MASK 
#define DDR_PHY_ZQCR_ZQPD_DEFVAL                               0x008A2858
#define DDR_PHY_ZQCR_ZQPD_SHIFT                                0
#define DDR_PHY_ZQCR_ZQPD_MASK                                 0x00000001U

/*
* Pull-down drive strength ZCTRL over-ride enable
*/
#undef DDR_PHY_ZQ0PR0_PD_DRV_ZDEN_DEFVAL 
#undef DDR_PHY_ZQ0PR0_PD_DRV_ZDEN_SHIFT 
#undef DDR_PHY_ZQ0PR0_PD_DRV_ZDEN_MASK 
#define DDR_PHY_ZQ0PR0_PD_DRV_ZDEN_DEFVAL                      0x000077BB
#define DDR_PHY_ZQ0PR0_PD_DRV_ZDEN_SHIFT                       31
#define DDR_PHY_ZQ0PR0_PD_DRV_ZDEN_MASK                        0x80000000U

/*
* Pull-up drive strength ZCTRL over-ride enable
*/
#undef DDR_PHY_ZQ0PR0_PU_DRV_ZDEN_DEFVAL 
#undef DDR_PHY_ZQ0PR0_PU_DRV_ZDEN_SHIFT 
#undef DDR_PHY_ZQ0PR0_PU_DRV_ZDEN_MASK 
#define DDR_PHY_ZQ0PR0_PU_DRV_ZDEN_DEFVAL                      0x000077BB
#define DDR_PHY_ZQ0PR0_PU_DRV_ZDEN_SHIFT                       30
#define DDR_PHY_ZQ0PR0_PU_DRV_ZDEN_MASK                        0x40000000U

/*
* Pull-down termination ZCTRL over-ride enable
*/
#undef DDR_PHY_ZQ0PR0_PD_ODT_ZDEN_DEFVAL 
#undef DDR_PHY_ZQ0PR0_PD_ODT_ZDEN_SHIFT 
#undef DDR_PHY_ZQ0PR0_PD_ODT_ZDEN_MASK 
#define DDR_PHY_ZQ0PR0_PD_ODT_ZDEN_DEFVAL                      0x000077BB
#define DDR_PHY_ZQ0PR0_PD_ODT_ZDEN_SHIFT                       29
#define DDR_PHY_ZQ0PR0_PD_ODT_ZDEN_MASK                        0x20000000U

/*
* Pull-up termination ZCTRL over-ride enable
*/
#undef DDR_PHY_ZQ0PR0_PU_ODT_ZDEN_DEFVAL 
#undef DDR_PHY_ZQ0PR0_PU_ODT_ZDEN_SHIFT 
#undef DDR_PHY_ZQ0PR0_PU_ODT_ZDEN_MASK 
#define DDR_PHY_ZQ0PR0_PU_ODT_ZDEN_DEFVAL                      0x000077BB
#define DDR_PHY_ZQ0PR0_PU_ODT_ZDEN_SHIFT                       28
#define DDR_PHY_ZQ0PR0_PU_ODT_ZDEN_MASK                        0x10000000U

/*
* Calibration segment bypass
*/
#undef DDR_PHY_ZQ0PR0_ZSEGBYP_DEFVAL 
#undef DDR_PHY_ZQ0PR0_ZSEGBYP_SHIFT 
#undef DDR_PHY_ZQ0PR0_ZSEGBYP_MASK 
#define DDR_PHY_ZQ0PR0_ZSEGBYP_DEFVAL                          0x000077BB
#define DDR_PHY_ZQ0PR0_ZSEGBYP_SHIFT                           27
#define DDR_PHY_ZQ0PR0_ZSEGBYP_MASK                            0x08000000U

/*
* VREF latch mode controls the mode in which the ZLE pin of the PVREF cell
    *  is driven by the PUB
*/
#undef DDR_PHY_ZQ0PR0_ZLE_MODE_DEFVAL 
#undef DDR_PHY_ZQ0PR0_ZLE_MODE_SHIFT 
#undef DDR_PHY_ZQ0PR0_ZLE_MODE_MASK 
#define DDR_PHY_ZQ0PR0_ZLE_MODE_DEFVAL                         0x000077BB
#define DDR_PHY_ZQ0PR0_ZLE_MODE_SHIFT                          25
#define DDR_PHY_ZQ0PR0_ZLE_MODE_MASK                           0x06000000U

/*
* Termination adjustment
*/
#undef DDR_PHY_ZQ0PR0_ODT_ADJUST_DEFVAL 
#undef DDR_PHY_ZQ0PR0_ODT_ADJUST_SHIFT 
#undef DDR_PHY_ZQ0PR0_ODT_ADJUST_MASK 
#define DDR_PHY_ZQ0PR0_ODT_ADJUST_DEFVAL                       0x000077BB
#define DDR_PHY_ZQ0PR0_ODT_ADJUST_SHIFT                        22
#define DDR_PHY_ZQ0PR0_ODT_ADJUST_MASK                         0x01C00000U

/*
* Pulldown drive strength adjustment
*/
#undef DDR_PHY_ZQ0PR0_PD_DRV_ADJUST_DEFVAL 
#undef DDR_PHY_ZQ0PR0_PD_DRV_ADJUST_SHIFT 
#undef DDR_PHY_ZQ0PR0_PD_DRV_ADJUST_MASK 
#define DDR_PHY_ZQ0PR0_PD_DRV_ADJUST_DEFVAL                    0x000077BB
#define DDR_PHY_ZQ0PR0_PD_DRV_ADJUST_SHIFT                     19
#define DDR_PHY_ZQ0PR0_PD_DRV_ADJUST_MASK                      0x00380000U

/*
* Pullup drive strength adjustment
*/
#undef DDR_PHY_ZQ0PR0_PU_DRV_ADJUST_DEFVAL 
#undef DDR_PHY_ZQ0PR0_PU_DRV_ADJUST_SHIFT 
#undef DDR_PHY_ZQ0PR0_PU_DRV_ADJUST_MASK 
#define DDR_PHY_ZQ0PR0_PU_DRV_ADJUST_DEFVAL                    0x000077BB
#define DDR_PHY_ZQ0PR0_PU_DRV_ADJUST_SHIFT                     16
#define DDR_PHY_ZQ0PR0_PU_DRV_ADJUST_MASK                      0x00070000U

/*
* DRAM Impedance Divide Ratio
*/
#undef DDR_PHY_ZQ0PR0_ZPROG_DRAM_ODT_DEFVAL 
#undef DDR_PHY_ZQ0PR0_ZPROG_DRAM_ODT_SHIFT 
#undef DDR_PHY_ZQ0PR0_ZPROG_DRAM_ODT_MASK 
#define DDR_PHY_ZQ0PR0_ZPROG_DRAM_ODT_DEFVAL                   0x000077BB
#define DDR_PHY_ZQ0PR0_ZPROG_DRAM_ODT_SHIFT                    12
#define DDR_PHY_ZQ0PR0_ZPROG_DRAM_ODT_MASK                     0x0000F000U

/*
* HOST Impedance Divide Ratio
*/
#undef DDR_PHY_ZQ0PR0_ZPROG_HOST_ODT_DEFVAL 
#undef DDR_PHY_ZQ0PR0_ZPROG_HOST_ODT_SHIFT 
#undef DDR_PHY_ZQ0PR0_ZPROG_HOST_ODT_MASK 
#define DDR_PHY_ZQ0PR0_ZPROG_HOST_ODT_DEFVAL                   0x000077BB
#define DDR_PHY_ZQ0PR0_ZPROG_HOST_ODT_SHIFT                    8
#define DDR_PHY_ZQ0PR0_ZPROG_HOST_ODT_MASK                     0x00000F00U

/*
* Impedance Divide Ratio (pulldown drive calibration during asymmetric dri
    * ve strength calibration)
*/
#undef DDR_PHY_ZQ0PR0_ZPROG_ASYM_DRV_PD_DEFVAL 
#undef DDR_PHY_ZQ0PR0_ZPROG_ASYM_DRV_PD_SHIFT 
#undef DDR_PHY_ZQ0PR0_ZPROG_ASYM_DRV_PD_MASK 
#define DDR_PHY_ZQ0PR0_ZPROG_ASYM_DRV_PD_DEFVAL                0x000077BB
#define DDR_PHY_ZQ0PR0_ZPROG_ASYM_DRV_PD_SHIFT                 4
#define DDR_PHY_ZQ0PR0_ZPROG_ASYM_DRV_PD_MASK                  0x000000F0U

/*
* Impedance Divide Ratio (pullup drive calibration during asymmetric drive
    *  strength calibration)
*/
#undef DDR_PHY_ZQ0PR0_ZPROG_ASYM_DRV_PU_DEFVAL 
#undef DDR_PHY_ZQ0PR0_ZPROG_ASYM_DRV_PU_SHIFT 
#undef DDR_PHY_ZQ0PR0_ZPROG_ASYM_DRV_PU_MASK 
#define DDR_PHY_ZQ0PR0_ZPROG_ASYM_DRV_PU_DEFVAL                0x000077BB
#define DDR_PHY_ZQ0PR0_ZPROG_ASYM_DRV_PU_SHIFT                 0
#define DDR_PHY_ZQ0PR0_ZPROG_ASYM_DRV_PU_MASK                  0x0000000FU

/*
* Reserved. Return zeros on reads.
*/
#undef DDR_PHY_ZQ0OR0_RESERVED_31_26_DEFVAL 
#undef DDR_PHY_ZQ0OR0_RESERVED_31_26_SHIFT 
#undef DDR_PHY_ZQ0OR0_RESERVED_31_26_MASK 
#define DDR_PHY_ZQ0OR0_RESERVED_31_26_DEFVAL                   0x00000000
#define DDR_PHY_ZQ0OR0_RESERVED_31_26_SHIFT                    26
#define DDR_PHY_ZQ0OR0_RESERVED_31_26_MASK                     0xFC000000U

/*
* Override value for the pull-up output impedance
*/
#undef DDR_PHY_ZQ0OR0_ZDATA_PU_DRV_OVRD_DEFVAL 
#undef DDR_PHY_ZQ0OR0_ZDATA_PU_DRV_OVRD_SHIFT 
#undef DDR_PHY_ZQ0OR0_ZDATA_PU_DRV_OVRD_MASK 
#define DDR_PHY_ZQ0OR0_ZDATA_PU_DRV_OVRD_DEFVAL                0x00000000
#define DDR_PHY_ZQ0OR0_ZDATA_PU_DRV_OVRD_SHIFT                 16
#define DDR_PHY_ZQ0OR0_ZDATA_PU_DRV_OVRD_MASK                  0x03FF0000U

/*
* Reserved. Return zeros on reads.
*/
#undef DDR_PHY_ZQ0OR0_RESERVED_15_10_DEFVAL 
#undef DDR_PHY_ZQ0OR0_RESERVED_15_10_SHIFT 
#undef DDR_PHY_ZQ0OR0_RESERVED_15_10_MASK 
#define DDR_PHY_ZQ0OR0_RESERVED_15_10_DEFVAL                   0x00000000
#define DDR_PHY_ZQ0OR0_RESERVED_15_10_SHIFT                    10
#define DDR_PHY_ZQ0OR0_RESERVED_15_10_MASK                     0x0000FC00U

/*
* Override value for the pull-down output impedance
*/
#undef DDR_PHY_ZQ0OR0_ZDATA_PD_DRV_OVRD_DEFVAL 
#undef DDR_PHY_ZQ0OR0_ZDATA_PD_DRV_OVRD_SHIFT 
#undef DDR_PHY_ZQ0OR0_ZDATA_PD_DRV_OVRD_MASK 
#define DDR_PHY_ZQ0OR0_ZDATA_PD_DRV_OVRD_DEFVAL                0x00000000
#define DDR_PHY_ZQ0OR0_ZDATA_PD_DRV_OVRD_SHIFT                 0
#define DDR_PHY_ZQ0OR0_ZDATA_PD_DRV_OVRD_MASK                  0x000003FFU

/*
* Reserved. Return zeros on reads.
*/
#undef DDR_PHY_ZQ0OR1_RESERVED_31_26_DEFVAL 
#undef DDR_PHY_ZQ0OR1_RESERVED_31_26_SHIFT 
#undef DDR_PHY_ZQ0OR1_RESERVED_31_26_MASK 
#define DDR_PHY_ZQ0OR1_RESERVED_31_26_DEFVAL                   0x00000000
#define DDR_PHY_ZQ0OR1_RESERVED_31_26_SHIFT                    26
#define DDR_PHY_ZQ0OR1_RESERVED_31_26_MASK                     0xFC000000U

/*
* Override value for the pull-up termination
*/
#undef DDR_PHY_ZQ0OR1_ZDATA_PU_ODT_OVRD_DEFVAL 
#undef DDR_PHY_ZQ0OR1_ZDATA_PU_ODT_OVRD_SHIFT 
#undef DDR_PHY_ZQ0OR1_ZDATA_PU_ODT_OVRD_MASK 
#define DDR_PHY_ZQ0OR1_ZDATA_PU_ODT_OVRD_DEFVAL                0x00000000
#define DDR_PHY_ZQ0OR1_ZDATA_PU_ODT_OVRD_SHIFT                 16
#define DDR_PHY_ZQ0OR1_ZDATA_PU_ODT_OVRD_MASK                  0x03FF0000U

/*
* Reserved. Return zeros on reads.
*/
#undef DDR_PHY_ZQ0OR1_RESERVED_15_10_DEFVAL 
#undef DDR_PHY_ZQ0OR1_RESERVED_15_10_SHIFT 
#undef DDR_PHY_ZQ0OR1_RESERVED_15_10_MASK 
#define DDR_PHY_ZQ0OR1_RESERVED_15_10_DEFVAL                   0x00000000
#define DDR_PHY_ZQ0OR1_RESERVED_15_10_SHIFT                    10
#define DDR_PHY_ZQ0OR1_RESERVED_15_10_MASK                     0x0000FC00U

/*
* Override value for the pull-down termination
*/
#undef DDR_PHY_ZQ0OR1_ZDATA_PD_ODT_OVRD_DEFVAL 
#undef DDR_PHY_ZQ0OR1_ZDATA_PD_ODT_OVRD_SHIFT 
#undef DDR_PHY_ZQ0OR1_ZDATA_PD_ODT_OVRD_MASK 
#define DDR_PHY_ZQ0OR1_ZDATA_PD_ODT_OVRD_DEFVAL                0x00000000
#define DDR_PHY_ZQ0OR1_ZDATA_PD_ODT_OVRD_SHIFT                 0
#define DDR_PHY_ZQ0OR1_ZDATA_PD_ODT_OVRD_MASK                  0x000003FFU

/*
* Pull-down drive strength ZCTRL over-ride enable
*/
#undef DDR_PHY_ZQ1PR0_PD_DRV_ZDEN_DEFVAL 
#undef DDR_PHY_ZQ1PR0_PD_DRV_ZDEN_SHIFT 
#undef DDR_PHY_ZQ1PR0_PD_DRV_ZDEN_MASK 
#define DDR_PHY_ZQ1PR0_PD_DRV_ZDEN_DEFVAL                      0x000077BB
#define DDR_PHY_ZQ1PR0_PD_DRV_ZDEN_SHIFT                       31
#define DDR_PHY_ZQ1PR0_PD_DRV_ZDEN_MASK                        0x80000000U

/*
* Pull-up drive strength ZCTRL over-ride enable
*/
#undef DDR_PHY_ZQ1PR0_PU_DRV_ZDEN_DEFVAL 
#undef DDR_PHY_ZQ1PR0_PU_DRV_ZDEN_SHIFT 
#undef DDR_PHY_ZQ1PR0_PU_DRV_ZDEN_MASK 
#define DDR_PHY_ZQ1PR0_PU_DRV_ZDEN_DEFVAL                      0x000077BB
#define DDR_PHY_ZQ1PR0_PU_DRV_ZDEN_SHIFT                       30
#define DDR_PHY_ZQ1PR0_PU_DRV_ZDEN_MASK                        0x40000000U

/*
* Pull-down termination ZCTRL over-ride enable
*/
#undef DDR_PHY_ZQ1PR0_PD_ODT_ZDEN_DEFVAL 
#undef DDR_PHY_ZQ1PR0_PD_ODT_ZDEN_SHIFT 
#undef DDR_PHY_ZQ1PR0_PD_ODT_ZDEN_MASK 
#define DDR_PHY_ZQ1PR0_PD_ODT_ZDEN_DEFVAL                      0x000077BB
#define DDR_PHY_ZQ1PR0_PD_ODT_ZDEN_SHIFT                       29
#define DDR_PHY_ZQ1PR0_PD_ODT_ZDEN_MASK                        0x20000000U

/*
* Pull-up termination ZCTRL over-ride enable
*/
#undef DDR_PHY_ZQ1PR0_PU_ODT_ZDEN_DEFVAL 
#undef DDR_PHY_ZQ1PR0_PU_ODT_ZDEN_SHIFT 
#undef DDR_PHY_ZQ1PR0_PU_ODT_ZDEN_MASK 
#define DDR_PHY_ZQ1PR0_PU_ODT_ZDEN_DEFVAL                      0x000077BB
#define DDR_PHY_ZQ1PR0_PU_ODT_ZDEN_SHIFT                       28
#define DDR_PHY_ZQ1PR0_PU_ODT_ZDEN_MASK                        0x10000000U

/*
* Calibration segment bypass
*/
#undef DDR_PHY_ZQ1PR0_ZSEGBYP_DEFVAL 
#undef DDR_PHY_ZQ1PR0_ZSEGBYP_SHIFT 
#undef DDR_PHY_ZQ1PR0_ZSEGBYP_MASK 
#define DDR_PHY_ZQ1PR0_ZSEGBYP_DEFVAL                          0x000077BB
#define DDR_PHY_ZQ1PR0_ZSEGBYP_SHIFT                           27
#define DDR_PHY_ZQ1PR0_ZSEGBYP_MASK                            0x08000000U

/*
* VREF latch mode controls the mode in which the ZLE pin of the PVREF cell
    *  is driven by the PUB
*/
#undef DDR_PHY_ZQ1PR0_ZLE_MODE_DEFVAL 
#undef DDR_PHY_ZQ1PR0_ZLE_MODE_SHIFT 
#undef DDR_PHY_ZQ1PR0_ZLE_MODE_MASK 
#define DDR_PHY_ZQ1PR0_ZLE_MODE_DEFVAL                         0x000077BB
#define DDR_PHY_ZQ1PR0_ZLE_MODE_SHIFT                          25
#define DDR_PHY_ZQ1PR0_ZLE_MODE_MASK                           0x06000000U

/*
* Termination adjustment
*/
#undef DDR_PHY_ZQ1PR0_ODT_ADJUST_DEFVAL 
#undef DDR_PHY_ZQ1PR0_ODT_ADJUST_SHIFT 
#undef DDR_PHY_ZQ1PR0_ODT_ADJUST_MASK 
#define DDR_PHY_ZQ1PR0_ODT_ADJUST_DEFVAL                       0x000077BB
#define DDR_PHY_ZQ1PR0_ODT_ADJUST_SHIFT                        22
#define DDR_PHY_ZQ1PR0_ODT_ADJUST_MASK                         0x01C00000U

/*
* Pulldown drive strength adjustment
*/
#undef DDR_PHY_ZQ1PR0_PD_DRV_ADJUST_DEFVAL 
#undef DDR_PHY_ZQ1PR0_PD_DRV_ADJUST_SHIFT 
#undef DDR_PHY_ZQ1PR0_PD_DRV_ADJUST_MASK 
#define DDR_PHY_ZQ1PR0_PD_DRV_ADJUST_DEFVAL                    0x000077BB
#define DDR_PHY_ZQ1PR0_PD_DRV_ADJUST_SHIFT                     19
#define DDR_PHY_ZQ1PR0_PD_DRV_ADJUST_MASK                      0x00380000U

/*
* Pullup drive strength adjustment
*/
#undef DDR_PHY_ZQ1PR0_PU_DRV_ADJUST_DEFVAL 
#undef DDR_PHY_ZQ1PR0_PU_DRV_ADJUST_SHIFT 
#undef DDR_PHY_ZQ1PR0_PU_DRV_ADJUST_MASK 
#define DDR_PHY_ZQ1PR0_PU_DRV_ADJUST_DEFVAL                    0x000077BB
#define DDR_PHY_ZQ1PR0_PU_DRV_ADJUST_SHIFT                     16
#define DDR_PHY_ZQ1PR0_PU_DRV_ADJUST_MASK                      0x00070000U

/*
* DRAM Impedance Divide Ratio
*/
#undef DDR_PHY_ZQ1PR0_ZPROG_DRAM_ODT_DEFVAL 
#undef DDR_PHY_ZQ1PR0_ZPROG_DRAM_ODT_SHIFT 
#undef DDR_PHY_ZQ1PR0_ZPROG_DRAM_ODT_MASK 
#define DDR_PHY_ZQ1PR0_ZPROG_DRAM_ODT_DEFVAL                   0x000077BB
#define DDR_PHY_ZQ1PR0_ZPROG_DRAM_ODT_SHIFT                    12
#define DDR_PHY_ZQ1PR0_ZPROG_DRAM_ODT_MASK                     0x0000F000U

/*
* HOST Impedance Divide Ratio
*/
#undef DDR_PHY_ZQ1PR0_ZPROG_HOST_ODT_DEFVAL 
#undef DDR_PHY_ZQ1PR0_ZPROG_HOST_ODT_SHIFT 
#undef DDR_PHY_ZQ1PR0_ZPROG_HOST_ODT_MASK 
#define DDR_PHY_ZQ1PR0_ZPROG_HOST_ODT_DEFVAL                   0x000077BB
#define DDR_PHY_ZQ1PR0_ZPROG_HOST_ODT_SHIFT                    8
#define DDR_PHY_ZQ1PR0_ZPROG_HOST_ODT_MASK                     0x00000F00U

/*
* Impedance Divide Ratio (pulldown drive calibration during asymmetric dri
    * ve strength calibration)
*/
#undef DDR_PHY_ZQ1PR0_ZPROG_ASYM_DRV_PD_DEFVAL 
#undef DDR_PHY_ZQ1PR0_ZPROG_ASYM_DRV_PD_SHIFT 
#undef DDR_PHY_ZQ1PR0_ZPROG_ASYM_DRV_PD_MASK 
#define DDR_PHY_ZQ1PR0_ZPROG_ASYM_DRV_PD_DEFVAL                0x000077BB
#define DDR_PHY_ZQ1PR0_ZPROG_ASYM_DRV_PD_SHIFT                 4
#define DDR_PHY_ZQ1PR0_ZPROG_ASYM_DRV_PD_MASK                  0x000000F0U

/*
* Impedance Divide Ratio (pullup drive calibration during asymmetric drive
    *  strength calibration)
*/
#undef DDR_PHY_ZQ1PR0_ZPROG_ASYM_DRV_PU_DEFVAL 
#undef DDR_PHY_ZQ1PR0_ZPROG_ASYM_DRV_PU_SHIFT 
#undef DDR_PHY_ZQ1PR0_ZPROG_ASYM_DRV_PU_MASK 
#define DDR_PHY_ZQ1PR0_ZPROG_ASYM_DRV_PU_DEFVAL                0x000077BB
#define DDR_PHY_ZQ1PR0_ZPROG_ASYM_DRV_PU_SHIFT                 0
#define DDR_PHY_ZQ1PR0_ZPROG_ASYM_DRV_PU_MASK                  0x0000000FU

/*
* Calibration Bypass
*/
#undef DDR_PHY_DX0GCR0_CALBYP_DEFVAL 
#undef DDR_PHY_DX0GCR0_CALBYP_SHIFT 
#undef DDR_PHY_DX0GCR0_CALBYP_MASK 
#define DDR_PHY_DX0GCR0_CALBYP_DEFVAL                          0x40200204
#define DDR_PHY_DX0GCR0_CALBYP_SHIFT                           31
#define DDR_PHY_DX0GCR0_CALBYP_MASK                            0x80000000U

/*
* Master Delay Line Enable
*/
#undef DDR_PHY_DX0GCR0_MDLEN_DEFVAL 
#undef DDR_PHY_DX0GCR0_MDLEN_SHIFT 
#undef DDR_PHY_DX0GCR0_MDLEN_MASK 
#define DDR_PHY_DX0GCR0_MDLEN_DEFVAL                           0x40200204
#define DDR_PHY_DX0GCR0_MDLEN_SHIFT                            30
#define DDR_PHY_DX0GCR0_MDLEN_MASK                             0x40000000U

/*
* Configurable ODT(TE) Phase Shift
*/
#undef DDR_PHY_DX0GCR0_CODTSHFT_DEFVAL 
#undef DDR_PHY_DX0GCR0_CODTSHFT_SHIFT 
#undef DDR_PHY_DX0GCR0_CODTSHFT_MASK 
#define DDR_PHY_DX0GCR0_CODTSHFT_DEFVAL                        0x40200204
#define DDR_PHY_DX0GCR0_CODTSHFT_SHIFT                         28
#define DDR_PHY_DX0GCR0_CODTSHFT_MASK                          0x30000000U

/*
* DQS Duty Cycle Correction
*/
#undef DDR_PHY_DX0GCR0_DQSDCC_DEFVAL 
#undef DDR_PHY_DX0GCR0_DQSDCC_SHIFT 
#undef DDR_PHY_DX0GCR0_DQSDCC_MASK 
#define DDR_PHY_DX0GCR0_DQSDCC_DEFVAL                          0x40200204
#define DDR_PHY_DX0GCR0_DQSDCC_SHIFT                           24
#define DDR_PHY_DX0GCR0_DQSDCC_MASK                            0x0F000000U

/*
* Number of Cycles ( in terms of ctl_clk) to generate ctl_dx_get_static_rd
    *  input for the respective bypte lane of the PHY
*/
#undef DDR_PHY_DX0GCR0_RDDLY_DEFVAL 
#undef DDR_PHY_DX0GCR0_RDDLY_SHIFT 
#undef DDR_PHY_DX0GCR0_RDDLY_MASK 
#define DDR_PHY_DX0GCR0_RDDLY_DEFVAL                           0x40200204
#define DDR_PHY_DX0GCR0_RDDLY_SHIFT                            20
#define DDR_PHY_DX0GCR0_RDDLY_MASK                             0x00F00000U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_DX0GCR0_RESERVED_19_14_DEFVAL 
#undef DDR_PHY_DX0GCR0_RESERVED_19_14_SHIFT 
#undef DDR_PHY_DX0GCR0_RESERVED_19_14_MASK 
#define DDR_PHY_DX0GCR0_RESERVED_19_14_DEFVAL                  0x40200204
#define DDR_PHY_DX0GCR0_RESERVED_19_14_SHIFT                   14
#define DDR_PHY_DX0GCR0_RESERVED_19_14_MASK                    0x000FC000U

/*
* DQSNSE Power Down Receiver
*/
#undef DDR_PHY_DX0GCR0_DQSNSEPDR_DEFVAL 
#undef DDR_PHY_DX0GCR0_DQSNSEPDR_SHIFT 
#undef DDR_PHY_DX0GCR0_DQSNSEPDR_MASK 
#define DDR_PHY_DX0GCR0_DQSNSEPDR_DEFVAL                       0x40200204
#define DDR_PHY_DX0GCR0_DQSNSEPDR_SHIFT                        13
#define DDR_PHY_DX0GCR0_DQSNSEPDR_MASK                         0x00002000U

/*
* DQSSE Power Down Receiver
*/
#undef DDR_PHY_DX0GCR0_DQSSEPDR_DEFVAL 
#undef DDR_PHY_DX0GCR0_DQSSEPDR_SHIFT 
#undef DDR_PHY_DX0GCR0_DQSSEPDR_MASK 
#define DDR_PHY_DX0GCR0_DQSSEPDR_DEFVAL                        0x40200204
#define DDR_PHY_DX0GCR0_DQSSEPDR_SHIFT                         12
#define DDR_PHY_DX0GCR0_DQSSEPDR_MASK                          0x00001000U

/*
* RTT On Additive Latency
*/
#undef DDR_PHY_DX0GCR0_RTTOAL_DEFVAL 
#undef DDR_PHY_DX0GCR0_RTTOAL_SHIFT 
#undef DDR_PHY_DX0GCR0_RTTOAL_MASK 
#define DDR_PHY_DX0GCR0_RTTOAL_DEFVAL                          0x40200204
#define DDR_PHY_DX0GCR0_RTTOAL_SHIFT                           11
#define DDR_PHY_DX0GCR0_RTTOAL_MASK                            0x00000800U

/*
* RTT Output Hold
*/
#undef DDR_PHY_DX0GCR0_RTTOH_DEFVAL 
#undef DDR_PHY_DX0GCR0_RTTOH_SHIFT 
#undef DDR_PHY_DX0GCR0_RTTOH_MASK 
#define DDR_PHY_DX0GCR0_RTTOH_DEFVAL                           0x40200204
#define DDR_PHY_DX0GCR0_RTTOH_SHIFT                            9
#define DDR_PHY_DX0GCR0_RTTOH_MASK                             0x00000600U

/*
* Configurable PDR Phase Shift
*/
#undef DDR_PHY_DX0GCR0_CPDRSHFT_DEFVAL 
#undef DDR_PHY_DX0GCR0_CPDRSHFT_SHIFT 
#undef DDR_PHY_DX0GCR0_CPDRSHFT_MASK 
#define DDR_PHY_DX0GCR0_CPDRSHFT_DEFVAL                        0x40200204
#define DDR_PHY_DX0GCR0_CPDRSHFT_SHIFT                         7
#define DDR_PHY_DX0GCR0_CPDRSHFT_MASK                          0x00000180U

/*
* DQSR Power Down
*/
#undef DDR_PHY_DX0GCR0_DQSRPD_DEFVAL 
#undef DDR_PHY_DX0GCR0_DQSRPD_SHIFT 
#undef DDR_PHY_DX0GCR0_DQSRPD_MASK 
#define DDR_PHY_DX0GCR0_DQSRPD_DEFVAL                          0x40200204
#define DDR_PHY_DX0GCR0_DQSRPD_SHIFT                           6
#define DDR_PHY_DX0GCR0_DQSRPD_MASK                            0x00000040U

/*
* DQSG Power Down Receiver
*/
#undef DDR_PHY_DX0GCR0_DQSGPDR_DEFVAL 
#undef DDR_PHY_DX0GCR0_DQSGPDR_SHIFT 
#undef DDR_PHY_DX0GCR0_DQSGPDR_MASK 
#define DDR_PHY_DX0GCR0_DQSGPDR_DEFVAL                         0x40200204
#define DDR_PHY_DX0GCR0_DQSGPDR_SHIFT                          5
#define DDR_PHY_DX0GCR0_DQSGPDR_MASK                           0x00000020U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_DX0GCR0_RESERVED_4_DEFVAL 
#undef DDR_PHY_DX0GCR0_RESERVED_4_SHIFT 
#undef DDR_PHY_DX0GCR0_RESERVED_4_MASK 
#define DDR_PHY_DX0GCR0_RESERVED_4_DEFVAL                      0x40200204
#define DDR_PHY_DX0GCR0_RESERVED_4_SHIFT                       4
#define DDR_PHY_DX0GCR0_RESERVED_4_MASK                        0x00000010U

/*
* DQSG On-Die Termination
*/
#undef DDR_PHY_DX0GCR0_DQSGODT_DEFVAL 
#undef DDR_PHY_DX0GCR0_DQSGODT_SHIFT 
#undef DDR_PHY_DX0GCR0_DQSGODT_MASK 
#define DDR_PHY_DX0GCR0_DQSGODT_DEFVAL                         0x40200204
#define DDR_PHY_DX0GCR0_DQSGODT_SHIFT                          3
#define DDR_PHY_DX0GCR0_DQSGODT_MASK                           0x00000008U

/*
* DQSG Output Enable
*/
#undef DDR_PHY_DX0GCR0_DQSGOE_DEFVAL 
#undef DDR_PHY_DX0GCR0_DQSGOE_SHIFT 
#undef DDR_PHY_DX0GCR0_DQSGOE_MASK 
#define DDR_PHY_DX0GCR0_DQSGOE_DEFVAL                          0x40200204
#define DDR_PHY_DX0GCR0_DQSGOE_SHIFT                           2
#define DDR_PHY_DX0GCR0_DQSGOE_MASK                            0x00000004U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_DX0GCR0_RESERVED_1_0_DEFVAL 
#undef DDR_PHY_DX0GCR0_RESERVED_1_0_SHIFT 
#undef DDR_PHY_DX0GCR0_RESERVED_1_0_MASK 
#define DDR_PHY_DX0GCR0_RESERVED_1_0_DEFVAL                    0x40200204
#define DDR_PHY_DX0GCR0_RESERVED_1_0_SHIFT                     0
#define DDR_PHY_DX0GCR0_RESERVED_1_0_MASK                      0x00000003U

/*
* Byte lane VREF IOM (Used only by D4MU IOs)
*/
#undef DDR_PHY_DX0GCR4_RESERVED_31_29_DEFVAL 
#undef DDR_PHY_DX0GCR4_RESERVED_31_29_SHIFT 
#undef DDR_PHY_DX0GCR4_RESERVED_31_29_MASK 
#define DDR_PHY_DX0GCR4_RESERVED_31_29_DEFVAL                  0x0E00003C
#define DDR_PHY_DX0GCR4_RESERVED_31_29_SHIFT                   29
#define DDR_PHY_DX0GCR4_RESERVED_31_29_MASK                    0xE0000000U

/*
* Byte Lane VREF Pad Enable
*/
#undef DDR_PHY_DX0GCR4_DXREFPEN_DEFVAL 
#undef DDR_PHY_DX0GCR4_DXREFPEN_SHIFT 
#undef DDR_PHY_DX0GCR4_DXREFPEN_MASK 
#define DDR_PHY_DX0GCR4_DXREFPEN_DEFVAL                        0x0E00003C
#define DDR_PHY_DX0GCR4_DXREFPEN_SHIFT                         28
#define DDR_PHY_DX0GCR4_DXREFPEN_MASK                          0x10000000U

/*
* Byte Lane Internal VREF Enable
*/
#undef DDR_PHY_DX0GCR4_DXREFEEN_DEFVAL 
#undef DDR_PHY_DX0GCR4_DXREFEEN_SHIFT 
#undef DDR_PHY_DX0GCR4_DXREFEEN_MASK 
#define DDR_PHY_DX0GCR4_DXREFEEN_DEFVAL                        0x0E00003C
#define DDR_PHY_DX0GCR4_DXREFEEN_SHIFT                         26
#define DDR_PHY_DX0GCR4_DXREFEEN_MASK                          0x0C000000U

/*
* Byte Lane Single-End VREF Enable
*/
#undef DDR_PHY_DX0GCR4_DXREFSEN_DEFVAL 
#undef DDR_PHY_DX0GCR4_DXREFSEN_SHIFT 
#undef DDR_PHY_DX0GCR4_DXREFSEN_MASK 
#define DDR_PHY_DX0GCR4_DXREFSEN_DEFVAL                        0x0E00003C
#define DDR_PHY_DX0GCR4_DXREFSEN_SHIFT                         25
#define DDR_PHY_DX0GCR4_DXREFSEN_MASK                          0x02000000U

/*
* Reserved. Returns zeros on reads.
*/
#undef DDR_PHY_DX0GCR4_RESERVED_24_DEFVAL 
#undef DDR_PHY_DX0GCR4_RESERVED_24_SHIFT 
#undef DDR_PHY_DX0GCR4_RESERVED_24_MASK 
#define DDR_PHY_DX0GCR4_RESERVED_24_DEFVAL                     0x0E00003C
#define DDR_PHY_DX0GCR4_RESERVED_24_SHIFT                      24
#define DDR_PHY_DX0GCR4_RESERVED_24_MASK                       0x01000000U

/*
* External VREF generator REFSEL range select
*/
#undef DDR_PHY_DX0GCR4_DXREFESELRANGE_DEFVAL 
#undef DDR_PHY_DX0GCR4_DXREFESELRANGE_SHIFT 
#undef DDR_PHY_DX0GCR4_DXREFESELRANGE_MASK 
#define DDR_PHY_DX0GCR4_DXREFESELRANGE_DEFVAL                  0x0E00003C
#define DDR_PHY_DX0GCR4_DXREFESELRANGE_SHIFT                   23
#define DDR_PHY_DX0GCR4_DXREFESELRANGE_MASK                    0x00800000U

/*
* Byte Lane External VREF Select
*/
#undef DDR_PHY_DX0GCR4_DXREFESEL_DEFVAL 
#undef DDR_PHY_DX0GCR4_DXREFESEL_SHIFT 
#undef DDR_PHY_DX0GCR4_DXREFESEL_MASK 
#define DDR_PHY_DX0GCR4_DXREFESEL_DEFVAL                       0x0E00003C
#define DDR_PHY_DX0GCR4_DXREFESEL_SHIFT                        16
#define DDR_PHY_DX0GCR4_DXREFESEL_MASK                         0x007F0000U

/*
* Single ended VREF generator REFSEL range select
*/
#undef DDR_PHY_DX0GCR4_DXREFSSELRANGE_DEFVAL 
#undef DDR_PHY_DX0GCR4_DXREFSSELRANGE_SHIFT 
#undef DDR_PHY_DX0GCR4_DXREFSSELRANGE_MASK 
#define DDR_PHY_DX0GCR4_DXREFSSELRANGE_DEFVAL                  0x0E00003C
#define DDR_PHY_DX0GCR4_DXREFSSELRANGE_SHIFT                   15
#define DDR_PHY_DX0GCR4_DXREFSSELRANGE_MASK                    0x00008000U

/*
* Byte Lane Single-End VREF Select
*/
#undef DDR_PHY_DX0GCR4_DXREFSSEL_DEFVAL 
#undef DDR_PHY_DX0GCR4_DXREFSSEL_SHIFT 
#undef DDR_PHY_DX0GCR4_DXREFSSEL_MASK 
#define DDR_PHY_DX0GCR4_DXREFSSEL_DEFVAL                       0x0E00003C
#define DDR_PHY_DX0GCR4_DXREFSSEL_SHIFT                        8
#define DDR_PHY_DX0GCR4_DXREFSSEL_MASK                         0x00007F00U

/*
* Reserved. Returns zeros on reads.
*/
#undef DDR_PHY_DX0GCR4_RESERVED_7_6_DEFVAL 
#undef DDR_PHY_DX0GCR4_RESERVED_7_6_SHIFT 
#undef DDR_PHY_DX0GCR4_RESERVED_7_6_MASK 
#define DDR_PHY_DX0GCR4_RESERVED_7_6_DEFVAL                    0x0E00003C
#define DDR_PHY_DX0GCR4_RESERVED_7_6_SHIFT                     6
#define DDR_PHY_DX0GCR4_RESERVED_7_6_MASK                      0x000000C0U

/*
* VREF Enable control for DQ IO (Single Ended) buffers of a byte lane.
*/
#undef DDR_PHY_DX0GCR4_DXREFIEN_DEFVAL 
#undef DDR_PHY_DX0GCR4_DXREFIEN_SHIFT 
#undef DDR_PHY_DX0GCR4_DXREFIEN_MASK 
#define DDR_PHY_DX0GCR4_DXREFIEN_DEFVAL                        0x0E00003C
#define DDR_PHY_DX0GCR4_DXREFIEN_SHIFT                         2
#define DDR_PHY_DX0GCR4_DXREFIEN_MASK                          0x0000003CU

/*
* VRMON control for DQ IO (Single Ended) buffers of a byte lane.
*/
#undef DDR_PHY_DX0GCR4_DXREFIMON_DEFVAL 
#undef DDR_PHY_DX0GCR4_DXREFIMON_SHIFT 
#undef DDR_PHY_DX0GCR4_DXREFIMON_MASK 
#define DDR_PHY_DX0GCR4_DXREFIMON_DEFVAL                       0x0E00003C
#define DDR_PHY_DX0GCR4_DXREFIMON_SHIFT                        0
#define DDR_PHY_DX0GCR4_DXREFIMON_MASK                         0x00000003U

/*
* Reserved. Returns zeros on reads.
*/
#undef DDR_PHY_DX0GCR5_RESERVED_31_DEFVAL 
#undef DDR_PHY_DX0GCR5_RESERVED_31_SHIFT 
#undef DDR_PHY_DX0GCR5_RESERVED_31_MASK 
#define DDR_PHY_DX0GCR5_RESERVED_31_DEFVAL                     0x09090909
#define DDR_PHY_DX0GCR5_RESERVED_31_SHIFT                      31
#define DDR_PHY_DX0GCR5_RESERVED_31_MASK                       0x80000000U

/*
* Byte Lane internal VREF Select for Rank 3
*/
#undef DDR_PHY_DX0GCR5_DXREFISELR3_DEFVAL 
#undef DDR_PHY_DX0GCR5_DXREFISELR3_SHIFT 
#undef DDR_PHY_DX0GCR5_DXREFISELR3_MASK 
#define DDR_PHY_DX0GCR5_DXREFISELR3_DEFVAL                     0x09090909
#define DDR_PHY_DX0GCR5_DXREFISELR3_SHIFT                      24
#define DDR_PHY_DX0GCR5_DXREFISELR3_MASK                       0x7F000000U

/*
* Reserved. Returns zeros on reads.
*/
#undef DDR_PHY_DX0GCR5_RESERVED_23_DEFVAL 
#undef DDR_PHY_DX0GCR5_RESERVED_23_SHIFT 
#undef DDR_PHY_DX0GCR5_RESERVED_23_MASK 
#define DDR_PHY_DX0GCR5_RESERVED_23_DEFVAL                     0x09090909
#define DDR_PHY_DX0GCR5_RESERVED_23_SHIFT                      23
#define DDR_PHY_DX0GCR5_RESERVED_23_MASK                       0x00800000U

/*
* Byte Lane internal VREF Select for Rank 2
*/
#undef DDR_PHY_DX0GCR5_DXREFISELR2_DEFVAL 
#undef DDR_PHY_DX0GCR5_DXREFISELR2_SHIFT 
#undef DDR_PHY_DX0GCR5_DXREFISELR2_MASK 
#define DDR_PHY_DX0GCR5_DXREFISELR2_DEFVAL                     0x09090909
#define DDR_PHY_DX0GCR5_DXREFISELR2_SHIFT                      16
#define DDR_PHY_DX0GCR5_DXREFISELR2_MASK                       0x007F0000U

/*
* Reserved. Returns zeros on reads.
*/
#undef DDR_PHY_DX0GCR5_RESERVED_15_DEFVAL 
#undef DDR_PHY_DX0GCR5_RESERVED_15_SHIFT 
#undef DDR_PHY_DX0GCR5_RESERVED_15_MASK 
#define DDR_PHY_DX0GCR5_RESERVED_15_DEFVAL                     0x09090909
#define DDR_PHY_DX0GCR5_RESERVED_15_SHIFT                      15
#define DDR_PHY_DX0GCR5_RESERVED_15_MASK                       0x00008000U

/*
* Byte Lane internal VREF Select for Rank 1
*/
#undef DDR_PHY_DX0GCR5_DXREFISELR1_DEFVAL 
#undef DDR_PHY_DX0GCR5_DXREFISELR1_SHIFT 
#undef DDR_PHY_DX0GCR5_DXREFISELR1_MASK 
#define DDR_PHY_DX0GCR5_DXREFISELR1_DEFVAL                     0x09090909
#define DDR_PHY_DX0GCR5_DXREFISELR1_SHIFT                      8
#define DDR_PHY_DX0GCR5_DXREFISELR1_MASK                       0x00007F00U

/*
* Reserved. Returns zeros on reads.
*/
#undef DDR_PHY_DX0GCR5_RESERVED_7_DEFVAL 
#undef DDR_PHY_DX0GCR5_RESERVED_7_SHIFT 
#undef DDR_PHY_DX0GCR5_RESERVED_7_MASK 
#define DDR_PHY_DX0GCR5_RESERVED_7_DEFVAL                      0x09090909
#define DDR_PHY_DX0GCR5_RESERVED_7_SHIFT                       7
#define DDR_PHY_DX0GCR5_RESERVED_7_MASK                        0x00000080U

/*
* Byte Lane internal VREF Select for Rank 0
*/
#undef DDR_PHY_DX0GCR5_DXREFISELR0_DEFVAL 
#undef DDR_PHY_DX0GCR5_DXREFISELR0_SHIFT 
#undef DDR_PHY_DX0GCR5_DXREFISELR0_MASK 
#define DDR_PHY_DX0GCR5_DXREFISELR0_DEFVAL                     0x09090909
#define DDR_PHY_DX0GCR5_DXREFISELR0_SHIFT                      0
#define DDR_PHY_DX0GCR5_DXREFISELR0_MASK                       0x0000007FU

/*
* Reserved. Returns zeros on reads.
*/
#undef DDR_PHY_DX0GCR6_RESERVED_31_30_DEFVAL 
#undef DDR_PHY_DX0GCR6_RESERVED_31_30_SHIFT 
#undef DDR_PHY_DX0GCR6_RESERVED_31_30_MASK 
#define DDR_PHY_DX0GCR6_RESERVED_31_30_DEFVAL                  0x09090909
#define DDR_PHY_DX0GCR6_RESERVED_31_30_SHIFT                   30
#define DDR_PHY_DX0GCR6_RESERVED_31_30_MASK                    0xC0000000U

/*
* DRAM DQ VREF Select for Rank3
*/
#undef DDR_PHY_DX0GCR6_DXDQVREFR3_DEFVAL 
#undef DDR_PHY_DX0GCR6_DXDQVREFR3_SHIFT 
#undef DDR_PHY_DX0GCR6_DXDQVREFR3_MASK 
#define DDR_PHY_DX0GCR6_DXDQVREFR3_DEFVAL                      0x09090909
#define DDR_PHY_DX0GCR6_DXDQVREFR3_SHIFT                       24
#define DDR_PHY_DX0GCR6_DXDQVREFR3_MASK                        0x3F000000U

/*
* Reserved. Returns zeros on reads.
*/
#undef DDR_PHY_DX0GCR6_RESERVED_23_22_DEFVAL 
#undef DDR_PHY_DX0GCR6_RESERVED_23_22_SHIFT 
#undef DDR_PHY_DX0GCR6_RESERVED_23_22_MASK 
#define DDR_PHY_DX0GCR6_RESERVED_23_22_DEFVAL                  0x09090909
#define DDR_PHY_DX0GCR6_RESERVED_23_22_SHIFT                   22
#define DDR_PHY_DX0GCR6_RESERVED_23_22_MASK                    0x00C00000U

/*
* DRAM DQ VREF Select for Rank2
*/
#undef DDR_PHY_DX0GCR6_DXDQVREFR2_DEFVAL 
#undef DDR_PHY_DX0GCR6_DXDQVREFR2_SHIFT 
#undef DDR_PHY_DX0GCR6_DXDQVREFR2_MASK 
#define DDR_PHY_DX0GCR6_DXDQVREFR2_DEFVAL                      0x09090909
#define DDR_PHY_DX0GCR6_DXDQVREFR2_SHIFT                       16
#define DDR_PHY_DX0GCR6_DXDQVREFR2_MASK                        0x003F0000U

/*
* Reserved. Returns zeros on reads.
*/
#undef DDR_PHY_DX0GCR6_RESERVED_15_14_DEFVAL 
#undef DDR_PHY_DX0GCR6_RESERVED_15_14_SHIFT 
#undef DDR_PHY_DX0GCR6_RESERVED_15_14_MASK 
#define DDR_PHY_DX0GCR6_RESERVED_15_14_DEFVAL                  0x09090909
#define DDR_PHY_DX0GCR6_RESERVED_15_14_SHIFT                   14
#define DDR_PHY_DX0GCR6_RESERVED_15_14_MASK                    0x0000C000U

/*
* DRAM DQ VREF Select for Rank1
*/
#undef DDR_PHY_DX0GCR6_DXDQVREFR1_DEFVAL 
#undef DDR_PHY_DX0GCR6_DXDQVREFR1_SHIFT 
#undef DDR_PHY_DX0GCR6_DXDQVREFR1_MASK 
#define DDR_PHY_DX0GCR6_DXDQVREFR1_DEFVAL                      0x09090909
#define DDR_PHY_DX0GCR6_DXDQVREFR1_SHIFT                       8
#define DDR_PHY_DX0GCR6_DXDQVREFR1_MASK                        0x00003F00U

/*
* Reserved. Returns zeros on reads.
*/
#undef DDR_PHY_DX0GCR6_RESERVED_7_6_DEFVAL 
#undef DDR_PHY_DX0GCR6_RESERVED_7_6_SHIFT 
#undef DDR_PHY_DX0GCR6_RESERVED_7_6_MASK 
#define DDR_PHY_DX0GCR6_RESERVED_7_6_DEFVAL                    0x09090909
#define DDR_PHY_DX0GCR6_RESERVED_7_6_SHIFT                     6
#define DDR_PHY_DX0GCR6_RESERVED_7_6_MASK                      0x000000C0U

/*
* DRAM DQ VREF Select for Rank0
*/
#undef DDR_PHY_DX0GCR6_DXDQVREFR0_DEFVAL 
#undef DDR_PHY_DX0GCR6_DXDQVREFR0_SHIFT 
#undef DDR_PHY_DX0GCR6_DXDQVREFR0_MASK 
#define DDR_PHY_DX0GCR6_DXDQVREFR0_DEFVAL                      0x09090909
#define DDR_PHY_DX0GCR6_DXDQVREFR0_SHIFT                       0
#define DDR_PHY_DX0GCR6_DXDQVREFR0_MASK                        0x0000003FU

/*
* Calibration Bypass
*/
#undef DDR_PHY_DX1GCR0_CALBYP_DEFVAL 
#undef DDR_PHY_DX1GCR0_CALBYP_SHIFT 
#undef DDR_PHY_DX1GCR0_CALBYP_MASK 
#define DDR_PHY_DX1GCR0_CALBYP_DEFVAL                          0x40200204
#define DDR_PHY_DX1GCR0_CALBYP_SHIFT                           31
#define DDR_PHY_DX1GCR0_CALBYP_MASK                            0x80000000U

/*
* Master Delay Line Enable
*/
#undef DDR_PHY_DX1GCR0_MDLEN_DEFVAL 
#undef DDR_PHY_DX1GCR0_MDLEN_SHIFT 
#undef DDR_PHY_DX1GCR0_MDLEN_MASK 
#define DDR_PHY_DX1GCR0_MDLEN_DEFVAL                           0x40200204
#define DDR_PHY_DX1GCR0_MDLEN_SHIFT                            30
#define DDR_PHY_DX1GCR0_MDLEN_MASK                             0x40000000U

/*
* Configurable ODT(TE) Phase Shift
*/
#undef DDR_PHY_DX1GCR0_CODTSHFT_DEFVAL 
#undef DDR_PHY_DX1GCR0_CODTSHFT_SHIFT 
#undef DDR_PHY_DX1GCR0_CODTSHFT_MASK 
#define DDR_PHY_DX1GCR0_CODTSHFT_DEFVAL                        0x40200204
#define DDR_PHY_DX1GCR0_CODTSHFT_SHIFT                         28
#define DDR_PHY_DX1GCR0_CODTSHFT_MASK                          0x30000000U

/*
* DQS Duty Cycle Correction
*/
#undef DDR_PHY_DX1GCR0_DQSDCC_DEFVAL 
#undef DDR_PHY_DX1GCR0_DQSDCC_SHIFT 
#undef DDR_PHY_DX1GCR0_DQSDCC_MASK 
#define DDR_PHY_DX1GCR0_DQSDCC_DEFVAL                          0x40200204
#define DDR_PHY_DX1GCR0_DQSDCC_SHIFT                           24
#define DDR_PHY_DX1GCR0_DQSDCC_MASK                            0x0F000000U

/*
* Number of Cycles ( in terms of ctl_clk) to generate ctl_dx_get_static_rd
    *  input for the respective bypte lane of the PHY
*/
#undef DDR_PHY_DX1GCR0_RDDLY_DEFVAL 
#undef DDR_PHY_DX1GCR0_RDDLY_SHIFT 
#undef DDR_PHY_DX1GCR0_RDDLY_MASK 
#define DDR_PHY_DX1GCR0_RDDLY_DEFVAL                           0x40200204
#define DDR_PHY_DX1GCR0_RDDLY_SHIFT                            20
#define DDR_PHY_DX1GCR0_RDDLY_MASK                             0x00F00000U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_DX1GCR0_RESERVED_19_14_DEFVAL 
#undef DDR_PHY_DX1GCR0_RESERVED_19_14_SHIFT 
#undef DDR_PHY_DX1GCR0_RESERVED_19_14_MASK 
#define DDR_PHY_DX1GCR0_RESERVED_19_14_DEFVAL                  0x40200204
#define DDR_PHY_DX1GCR0_RESERVED_19_14_SHIFT                   14
#define DDR_PHY_DX1GCR0_RESERVED_19_14_MASK                    0x000FC000U

/*
* DQSNSE Power Down Receiver
*/
#undef DDR_PHY_DX1GCR0_DQSNSEPDR_DEFVAL 
#undef DDR_PHY_DX1GCR0_DQSNSEPDR_SHIFT 
#undef DDR_PHY_DX1GCR0_DQSNSEPDR_MASK 
#define DDR_PHY_DX1GCR0_DQSNSEPDR_DEFVAL                       0x40200204
#define DDR_PHY_DX1GCR0_DQSNSEPDR_SHIFT                        13
#define DDR_PHY_DX1GCR0_DQSNSEPDR_MASK                         0x00002000U

/*
* DQSSE Power Down Receiver
*/
#undef DDR_PHY_DX1GCR0_DQSSEPDR_DEFVAL 
#undef DDR_PHY_DX1GCR0_DQSSEPDR_SHIFT 
#undef DDR_PHY_DX1GCR0_DQSSEPDR_MASK 
#define DDR_PHY_DX1GCR0_DQSSEPDR_DEFVAL                        0x40200204
#define DDR_PHY_DX1GCR0_DQSSEPDR_SHIFT                         12
#define DDR_PHY_DX1GCR0_DQSSEPDR_MASK                          0x00001000U

/*
* RTT On Additive Latency
*/
#undef DDR_PHY_DX1GCR0_RTTOAL_DEFVAL 
#undef DDR_PHY_DX1GCR0_RTTOAL_SHIFT 
#undef DDR_PHY_DX1GCR0_RTTOAL_MASK 
#define DDR_PHY_DX1GCR0_RTTOAL_DEFVAL                          0x40200204
#define DDR_PHY_DX1GCR0_RTTOAL_SHIFT                           11
#define DDR_PHY_DX1GCR0_RTTOAL_MASK                            0x00000800U

/*
* RTT Output Hold
*/
#undef DDR_PHY_DX1GCR0_RTTOH_DEFVAL 
#undef DDR_PHY_DX1GCR0_RTTOH_SHIFT 
#undef DDR_PHY_DX1GCR0_RTTOH_MASK 
#define DDR_PHY_DX1GCR0_RTTOH_DEFVAL                           0x40200204
#define DDR_PHY_DX1GCR0_RTTOH_SHIFT                            9
#define DDR_PHY_DX1GCR0_RTTOH_MASK                             0x00000600U

/*
* Configurable PDR Phase Shift
*/
#undef DDR_PHY_DX1GCR0_CPDRSHFT_DEFVAL 
#undef DDR_PHY_DX1GCR0_CPDRSHFT_SHIFT 
#undef DDR_PHY_DX1GCR0_CPDRSHFT_MASK 
#define DDR_PHY_DX1GCR0_CPDRSHFT_DEFVAL                        0x40200204
#define DDR_PHY_DX1GCR0_CPDRSHFT_SHIFT                         7
#define DDR_PHY_DX1GCR0_CPDRSHFT_MASK                          0x00000180U

/*
* DQSR Power Down
*/
#undef DDR_PHY_DX1GCR0_DQSRPD_DEFVAL 
#undef DDR_PHY_DX1GCR0_DQSRPD_SHIFT 
#undef DDR_PHY_DX1GCR0_DQSRPD_MASK 
#define DDR_PHY_DX1GCR0_DQSRPD_DEFVAL                          0x40200204
#define DDR_PHY_DX1GCR0_DQSRPD_SHIFT                           6
#define DDR_PHY_DX1GCR0_DQSRPD_MASK                            0x00000040U

/*
* DQSG Power Down Receiver
*/
#undef DDR_PHY_DX1GCR0_DQSGPDR_DEFVAL 
#undef DDR_PHY_DX1GCR0_DQSGPDR_SHIFT 
#undef DDR_PHY_DX1GCR0_DQSGPDR_MASK 
#define DDR_PHY_DX1GCR0_DQSGPDR_DEFVAL                         0x40200204
#define DDR_PHY_DX1GCR0_DQSGPDR_SHIFT                          5
#define DDR_PHY_DX1GCR0_DQSGPDR_MASK                           0x00000020U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_DX1GCR0_RESERVED_4_DEFVAL 
#undef DDR_PHY_DX1GCR0_RESERVED_4_SHIFT 
#undef DDR_PHY_DX1GCR0_RESERVED_4_MASK 
#define DDR_PHY_DX1GCR0_RESERVED_4_DEFVAL                      0x40200204
#define DDR_PHY_DX1GCR0_RESERVED_4_SHIFT                       4
#define DDR_PHY_DX1GCR0_RESERVED_4_MASK                        0x00000010U

/*
* DQSG On-Die Termination
*/
#undef DDR_PHY_DX1GCR0_DQSGODT_DEFVAL 
#undef DDR_PHY_DX1GCR0_DQSGODT_SHIFT 
#undef DDR_PHY_DX1GCR0_DQSGODT_MASK 
#define DDR_PHY_DX1GCR0_DQSGODT_DEFVAL                         0x40200204
#define DDR_PHY_DX1GCR0_DQSGODT_SHIFT                          3
#define DDR_PHY_DX1GCR0_DQSGODT_MASK                           0x00000008U

/*
* DQSG Output Enable
*/
#undef DDR_PHY_DX1GCR0_DQSGOE_DEFVAL 
#undef DDR_PHY_DX1GCR0_DQSGOE_SHIFT 
#undef DDR_PHY_DX1GCR0_DQSGOE_MASK 
#define DDR_PHY_DX1GCR0_DQSGOE_DEFVAL                          0x40200204
#define DDR_PHY_DX1GCR0_DQSGOE_SHIFT                           2
#define DDR_PHY_DX1GCR0_DQSGOE_MASK                            0x00000004U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_DX1GCR0_RESERVED_1_0_DEFVAL 
#undef DDR_PHY_DX1GCR0_RESERVED_1_0_SHIFT 
#undef DDR_PHY_DX1GCR0_RESERVED_1_0_MASK 
#define DDR_PHY_DX1GCR0_RESERVED_1_0_DEFVAL                    0x40200204
#define DDR_PHY_DX1GCR0_RESERVED_1_0_SHIFT                     0
#define DDR_PHY_DX1GCR0_RESERVED_1_0_MASK                      0x00000003U

/*
* Byte lane VREF IOM (Used only by D4MU IOs)
*/
#undef DDR_PHY_DX1GCR4_RESERVED_31_29_DEFVAL 
#undef DDR_PHY_DX1GCR4_RESERVED_31_29_SHIFT 
#undef DDR_PHY_DX1GCR4_RESERVED_31_29_MASK 
#define DDR_PHY_DX1GCR4_RESERVED_31_29_DEFVAL                  0x0E00003C
#define DDR_PHY_DX1GCR4_RESERVED_31_29_SHIFT                   29
#define DDR_PHY_DX1GCR4_RESERVED_31_29_MASK                    0xE0000000U

/*
* Byte Lane VREF Pad Enable
*/
#undef DDR_PHY_DX1GCR4_DXREFPEN_DEFVAL 
#undef DDR_PHY_DX1GCR4_DXREFPEN_SHIFT 
#undef DDR_PHY_DX1GCR4_DXREFPEN_MASK 
#define DDR_PHY_DX1GCR4_DXREFPEN_DEFVAL                        0x0E00003C
#define DDR_PHY_DX1GCR4_DXREFPEN_SHIFT                         28
#define DDR_PHY_DX1GCR4_DXREFPEN_MASK                          0x10000000U

/*
* Byte Lane Internal VREF Enable
*/
#undef DDR_PHY_DX1GCR4_DXREFEEN_DEFVAL 
#undef DDR_PHY_DX1GCR4_DXREFEEN_SHIFT 
#undef DDR_PHY_DX1GCR4_DXREFEEN_MASK 
#define DDR_PHY_DX1GCR4_DXREFEEN_DEFVAL                        0x0E00003C
#define DDR_PHY_DX1GCR4_DXREFEEN_SHIFT                         26
#define DDR_PHY_DX1GCR4_DXREFEEN_MASK                          0x0C000000U

/*
* Byte Lane Single-End VREF Enable
*/
#undef DDR_PHY_DX1GCR4_DXREFSEN_DEFVAL 
#undef DDR_PHY_DX1GCR4_DXREFSEN_SHIFT 
#undef DDR_PHY_DX1GCR4_DXREFSEN_MASK 
#define DDR_PHY_DX1GCR4_DXREFSEN_DEFVAL                        0x0E00003C
#define DDR_PHY_DX1GCR4_DXREFSEN_SHIFT                         25
#define DDR_PHY_DX1GCR4_DXREFSEN_MASK                          0x02000000U

/*
* Reserved. Returns zeros on reads.
*/
#undef DDR_PHY_DX1GCR4_RESERVED_24_DEFVAL 
#undef DDR_PHY_DX1GCR4_RESERVED_24_SHIFT 
#undef DDR_PHY_DX1GCR4_RESERVED_24_MASK 
#define DDR_PHY_DX1GCR4_RESERVED_24_DEFVAL                     0x0E00003C
#define DDR_PHY_DX1GCR4_RESERVED_24_SHIFT                      24
#define DDR_PHY_DX1GCR4_RESERVED_24_MASK                       0x01000000U

/*
* External VREF generator REFSEL range select
*/
#undef DDR_PHY_DX1GCR4_DXREFESELRANGE_DEFVAL 
#undef DDR_PHY_DX1GCR4_DXREFESELRANGE_SHIFT 
#undef DDR_PHY_DX1GCR4_DXREFESELRANGE_MASK 
#define DDR_PHY_DX1GCR4_DXREFESELRANGE_DEFVAL                  0x0E00003C
#define DDR_PHY_DX1GCR4_DXREFESELRANGE_SHIFT                   23
#define DDR_PHY_DX1GCR4_DXREFESELRANGE_MASK                    0x00800000U

/*
* Byte Lane External VREF Select
*/
#undef DDR_PHY_DX1GCR4_DXREFESEL_DEFVAL 
#undef DDR_PHY_DX1GCR4_DXREFESEL_SHIFT 
#undef DDR_PHY_DX1GCR4_DXREFESEL_MASK 
#define DDR_PHY_DX1GCR4_DXREFESEL_DEFVAL                       0x0E00003C
#define DDR_PHY_DX1GCR4_DXREFESEL_SHIFT                        16
#define DDR_PHY_DX1GCR4_DXREFESEL_MASK                         0x007F0000U

/*
* Single ended VREF generator REFSEL range select
*/
#undef DDR_PHY_DX1GCR4_DXREFSSELRANGE_DEFVAL 
#undef DDR_PHY_DX1GCR4_DXREFSSELRANGE_SHIFT 
#undef DDR_PHY_DX1GCR4_DXREFSSELRANGE_MASK 
#define DDR_PHY_DX1GCR4_DXREFSSELRANGE_DEFVAL                  0x0E00003C
#define DDR_PHY_DX1GCR4_DXREFSSELRANGE_SHIFT                   15
#define DDR_PHY_DX1GCR4_DXREFSSELRANGE_MASK                    0x00008000U

/*
* Byte Lane Single-End VREF Select
*/
#undef DDR_PHY_DX1GCR4_DXREFSSEL_DEFVAL 
#undef DDR_PHY_DX1GCR4_DXREFSSEL_SHIFT 
#undef DDR_PHY_DX1GCR4_DXREFSSEL_MASK 
#define DDR_PHY_DX1GCR4_DXREFSSEL_DEFVAL                       0x0E00003C
#define DDR_PHY_DX1GCR4_DXREFSSEL_SHIFT                        8
#define DDR_PHY_DX1GCR4_DXREFSSEL_MASK                         0x00007F00U

/*
* Reserved. Returns zeros on reads.
*/
#undef DDR_PHY_DX1GCR4_RESERVED_7_6_DEFVAL 
#undef DDR_PHY_DX1GCR4_RESERVED_7_6_SHIFT 
#undef DDR_PHY_DX1GCR4_RESERVED_7_6_MASK 
#define DDR_PHY_DX1GCR4_RESERVED_7_6_DEFVAL                    0x0E00003C
#define DDR_PHY_DX1GCR4_RESERVED_7_6_SHIFT                     6
#define DDR_PHY_DX1GCR4_RESERVED_7_6_MASK                      0x000000C0U

/*
* VREF Enable control for DQ IO (Single Ended) buffers of a byte lane.
*/
#undef DDR_PHY_DX1GCR4_DXREFIEN_DEFVAL 
#undef DDR_PHY_DX1GCR4_DXREFIEN_SHIFT 
#undef DDR_PHY_DX1GCR4_DXREFIEN_MASK 
#define DDR_PHY_DX1GCR4_DXREFIEN_DEFVAL                        0x0E00003C
#define DDR_PHY_DX1GCR4_DXREFIEN_SHIFT                         2
#define DDR_PHY_DX1GCR4_DXREFIEN_MASK                          0x0000003CU

/*
* VRMON control for DQ IO (Single Ended) buffers of a byte lane.
*/
#undef DDR_PHY_DX1GCR4_DXREFIMON_DEFVAL 
#undef DDR_PHY_DX1GCR4_DXREFIMON_SHIFT 
#undef DDR_PHY_DX1GCR4_DXREFIMON_MASK 
#define DDR_PHY_DX1GCR4_DXREFIMON_DEFVAL                       0x0E00003C
#define DDR_PHY_DX1GCR4_DXREFIMON_SHIFT                        0
#define DDR_PHY_DX1GCR4_DXREFIMON_MASK                         0x00000003U

/*
* Reserved. Returns zeros on reads.
*/
#undef DDR_PHY_DX1GCR5_RESERVED_31_DEFVAL 
#undef DDR_PHY_DX1GCR5_RESERVED_31_SHIFT 
#undef DDR_PHY_DX1GCR5_RESERVED_31_MASK 
#define DDR_PHY_DX1GCR5_RESERVED_31_DEFVAL                     0x09090909
#define DDR_PHY_DX1GCR5_RESERVED_31_SHIFT                      31
#define DDR_PHY_DX1GCR5_RESERVED_31_MASK                       0x80000000U

/*
* Byte Lane internal VREF Select for Rank 3
*/
#undef DDR_PHY_DX1GCR5_DXREFISELR3_DEFVAL 
#undef DDR_PHY_DX1GCR5_DXREFISELR3_SHIFT 
#undef DDR_PHY_DX1GCR5_DXREFISELR3_MASK 
#define DDR_PHY_DX1GCR5_DXREFISELR3_DEFVAL                     0x09090909
#define DDR_PHY_DX1GCR5_DXREFISELR3_SHIFT                      24
#define DDR_PHY_DX1GCR5_DXREFISELR3_MASK                       0x7F000000U

/*
* Reserved. Returns zeros on reads.
*/
#undef DDR_PHY_DX1GCR5_RESERVED_23_DEFVAL 
#undef DDR_PHY_DX1GCR5_RESERVED_23_SHIFT 
#undef DDR_PHY_DX1GCR5_RESERVED_23_MASK 
#define DDR_PHY_DX1GCR5_RESERVED_23_DEFVAL                     0x09090909
#define DDR_PHY_DX1GCR5_RESERVED_23_SHIFT                      23
#define DDR_PHY_DX1GCR5_RESERVED_23_MASK                       0x00800000U

/*
* Byte Lane internal VREF Select for Rank 2
*/
#undef DDR_PHY_DX1GCR5_DXREFISELR2_DEFVAL 
#undef DDR_PHY_DX1GCR5_DXREFISELR2_SHIFT 
#undef DDR_PHY_DX1GCR5_DXREFISELR2_MASK 
#define DDR_PHY_DX1GCR5_DXREFISELR2_DEFVAL                     0x09090909
#define DDR_PHY_DX1GCR5_DXREFISELR2_SHIFT                      16
#define DDR_PHY_DX1GCR5_DXREFISELR2_MASK                       0x007F0000U

/*
* Reserved. Returns zeros on reads.
*/
#undef DDR_PHY_DX1GCR5_RESERVED_15_DEFVAL 
#undef DDR_PHY_DX1GCR5_RESERVED_15_SHIFT 
#undef DDR_PHY_DX1GCR5_RESERVED_15_MASK 
#define DDR_PHY_DX1GCR5_RESERVED_15_DEFVAL                     0x09090909
#define DDR_PHY_DX1GCR5_RESERVED_15_SHIFT                      15
#define DDR_PHY_DX1GCR5_RESERVED_15_MASK                       0x00008000U

/*
* Byte Lane internal VREF Select for Rank 1
*/
#undef DDR_PHY_DX1GCR5_DXREFISELR1_DEFVAL 
#undef DDR_PHY_DX1GCR5_DXREFISELR1_SHIFT 
#undef DDR_PHY_DX1GCR5_DXREFISELR1_MASK 
#define DDR_PHY_DX1GCR5_DXREFISELR1_DEFVAL                     0x09090909
#define DDR_PHY_DX1GCR5_DXREFISELR1_SHIFT                      8
#define DDR_PHY_DX1GCR5_DXREFISELR1_MASK                       0x00007F00U

/*
* Reserved. Returns zeros on reads.
*/
#undef DDR_PHY_DX1GCR5_RESERVED_7_DEFVAL 
#undef DDR_PHY_DX1GCR5_RESERVED_7_SHIFT 
#undef DDR_PHY_DX1GCR5_RESERVED_7_MASK 
#define DDR_PHY_DX1GCR5_RESERVED_7_DEFVAL                      0x09090909
#define DDR_PHY_DX1GCR5_RESERVED_7_SHIFT                       7
#define DDR_PHY_DX1GCR5_RESERVED_7_MASK                        0x00000080U

/*
* Byte Lane internal VREF Select for Rank 0
*/
#undef DDR_PHY_DX1GCR5_DXREFISELR0_DEFVAL 
#undef DDR_PHY_DX1GCR5_DXREFISELR0_SHIFT 
#undef DDR_PHY_DX1GCR5_DXREFISELR0_MASK 
#define DDR_PHY_DX1GCR5_DXREFISELR0_DEFVAL                     0x09090909
#define DDR_PHY_DX1GCR5_DXREFISELR0_SHIFT                      0
#define DDR_PHY_DX1GCR5_DXREFISELR0_MASK                       0x0000007FU

/*
* Reserved. Returns zeros on reads.
*/
#undef DDR_PHY_DX1GCR6_RESERVED_31_30_DEFVAL 
#undef DDR_PHY_DX1GCR6_RESERVED_31_30_SHIFT 
#undef DDR_PHY_DX1GCR6_RESERVED_31_30_MASK 
#define DDR_PHY_DX1GCR6_RESERVED_31_30_DEFVAL                  0x09090909
#define DDR_PHY_DX1GCR6_RESERVED_31_30_SHIFT                   30
#define DDR_PHY_DX1GCR6_RESERVED_31_30_MASK                    0xC0000000U

/*
* DRAM DQ VREF Select for Rank3
*/
#undef DDR_PHY_DX1GCR6_DXDQVREFR3_DEFVAL 
#undef DDR_PHY_DX1GCR6_DXDQVREFR3_SHIFT 
#undef DDR_PHY_DX1GCR6_DXDQVREFR3_MASK 
#define DDR_PHY_DX1GCR6_DXDQVREFR3_DEFVAL                      0x09090909
#define DDR_PHY_DX1GCR6_DXDQVREFR3_SHIFT                       24
#define DDR_PHY_DX1GCR6_DXDQVREFR3_MASK                        0x3F000000U

/*
* Reserved. Returns zeros on reads.
*/
#undef DDR_PHY_DX1GCR6_RESERVED_23_22_DEFVAL 
#undef DDR_PHY_DX1GCR6_RESERVED_23_22_SHIFT 
#undef DDR_PHY_DX1GCR6_RESERVED_23_22_MASK 
#define DDR_PHY_DX1GCR6_RESERVED_23_22_DEFVAL                  0x09090909
#define DDR_PHY_DX1GCR6_RESERVED_23_22_SHIFT                   22
#define DDR_PHY_DX1GCR6_RESERVED_23_22_MASK                    0x00C00000U

/*
* DRAM DQ VREF Select for Rank2
*/
#undef DDR_PHY_DX1GCR6_DXDQVREFR2_DEFVAL 
#undef DDR_PHY_DX1GCR6_DXDQVREFR2_SHIFT 
#undef DDR_PHY_DX1GCR6_DXDQVREFR2_MASK 
#define DDR_PHY_DX1GCR6_DXDQVREFR2_DEFVAL                      0x09090909
#define DDR_PHY_DX1GCR6_DXDQVREFR2_SHIFT                       16
#define DDR_PHY_DX1GCR6_DXDQVREFR2_MASK                        0x003F0000U

/*
* Reserved. Returns zeros on reads.
*/
#undef DDR_PHY_DX1GCR6_RESERVED_15_14_DEFVAL 
#undef DDR_PHY_DX1GCR6_RESERVED_15_14_SHIFT 
#undef DDR_PHY_DX1GCR6_RESERVED_15_14_MASK 
#define DDR_PHY_DX1GCR6_RESERVED_15_14_DEFVAL                  0x09090909
#define DDR_PHY_DX1GCR6_RESERVED_15_14_SHIFT                   14
#define DDR_PHY_DX1GCR6_RESERVED_15_14_MASK                    0x0000C000U

/*
* DRAM DQ VREF Select for Rank1
*/
#undef DDR_PHY_DX1GCR6_DXDQVREFR1_DEFVAL 
#undef DDR_PHY_DX1GCR6_DXDQVREFR1_SHIFT 
#undef DDR_PHY_DX1GCR6_DXDQVREFR1_MASK 
#define DDR_PHY_DX1GCR6_DXDQVREFR1_DEFVAL                      0x09090909
#define DDR_PHY_DX1GCR6_DXDQVREFR1_SHIFT                       8
#define DDR_PHY_DX1GCR6_DXDQVREFR1_MASK                        0x00003F00U

/*
* Reserved. Returns zeros on reads.
*/
#undef DDR_PHY_DX1GCR6_RESERVED_7_6_DEFVAL 
#undef DDR_PHY_DX1GCR6_RESERVED_7_6_SHIFT 
#undef DDR_PHY_DX1GCR6_RESERVED_7_6_MASK 
#define DDR_PHY_DX1GCR6_RESERVED_7_6_DEFVAL                    0x09090909
#define DDR_PHY_DX1GCR6_RESERVED_7_6_SHIFT                     6
#define DDR_PHY_DX1GCR6_RESERVED_7_6_MASK                      0x000000C0U

/*
* DRAM DQ VREF Select for Rank0
*/
#undef DDR_PHY_DX1GCR6_DXDQVREFR0_DEFVAL 
#undef DDR_PHY_DX1GCR6_DXDQVREFR0_SHIFT 
#undef DDR_PHY_DX1GCR6_DXDQVREFR0_MASK 
#define DDR_PHY_DX1GCR6_DXDQVREFR0_DEFVAL                      0x09090909
#define DDR_PHY_DX1GCR6_DXDQVREFR0_SHIFT                       0
#define DDR_PHY_DX1GCR6_DXDQVREFR0_MASK                        0x0000003FU

/*
* Calibration Bypass
*/
#undef DDR_PHY_DX2GCR0_CALBYP_DEFVAL 
#undef DDR_PHY_DX2GCR0_CALBYP_SHIFT 
#undef DDR_PHY_DX2GCR0_CALBYP_MASK 
#define DDR_PHY_DX2GCR0_CALBYP_DEFVAL                          0x40200204
#define DDR_PHY_DX2GCR0_CALBYP_SHIFT                           31
#define DDR_PHY_DX2GCR0_CALBYP_MASK                            0x80000000U

/*
* Master Delay Line Enable
*/
#undef DDR_PHY_DX2GCR0_MDLEN_DEFVAL 
#undef DDR_PHY_DX2GCR0_MDLEN_SHIFT 
#undef DDR_PHY_DX2GCR0_MDLEN_MASK 
#define DDR_PHY_DX2GCR0_MDLEN_DEFVAL                           0x40200204
#define DDR_PHY_DX2GCR0_MDLEN_SHIFT                            30
#define DDR_PHY_DX2GCR0_MDLEN_MASK                             0x40000000U

/*
* Configurable ODT(TE) Phase Shift
*/
#undef DDR_PHY_DX2GCR0_CODTSHFT_DEFVAL 
#undef DDR_PHY_DX2GCR0_CODTSHFT_SHIFT 
#undef DDR_PHY_DX2GCR0_CODTSHFT_MASK 
#define DDR_PHY_DX2GCR0_CODTSHFT_DEFVAL                        0x40200204
#define DDR_PHY_DX2GCR0_CODTSHFT_SHIFT                         28
#define DDR_PHY_DX2GCR0_CODTSHFT_MASK                          0x30000000U

/*
* DQS Duty Cycle Correction
*/
#undef DDR_PHY_DX2GCR0_DQSDCC_DEFVAL 
#undef DDR_PHY_DX2GCR0_DQSDCC_SHIFT 
#undef DDR_PHY_DX2GCR0_DQSDCC_MASK 
#define DDR_PHY_DX2GCR0_DQSDCC_DEFVAL                          0x40200204
#define DDR_PHY_DX2GCR0_DQSDCC_SHIFT                           24
#define DDR_PHY_DX2GCR0_DQSDCC_MASK                            0x0F000000U

/*
* Number of Cycles ( in terms of ctl_clk) to generate ctl_dx_get_static_rd
    *  input for the respective bypte lane of the PHY
*/
#undef DDR_PHY_DX2GCR0_RDDLY_DEFVAL 
#undef DDR_PHY_DX2GCR0_RDDLY_SHIFT 
#undef DDR_PHY_DX2GCR0_RDDLY_MASK 
#define DDR_PHY_DX2GCR0_RDDLY_DEFVAL                           0x40200204
#define DDR_PHY_DX2GCR0_RDDLY_SHIFT                            20
#define DDR_PHY_DX2GCR0_RDDLY_MASK                             0x00F00000U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_DX2GCR0_RESERVED_19_14_DEFVAL 
#undef DDR_PHY_DX2GCR0_RESERVED_19_14_SHIFT 
#undef DDR_PHY_DX2GCR0_RESERVED_19_14_MASK 
#define DDR_PHY_DX2GCR0_RESERVED_19_14_DEFVAL                  0x40200204
#define DDR_PHY_DX2GCR0_RESERVED_19_14_SHIFT                   14
#define DDR_PHY_DX2GCR0_RESERVED_19_14_MASK                    0x000FC000U

/*
* DQSNSE Power Down Receiver
*/
#undef DDR_PHY_DX2GCR0_DQSNSEPDR_DEFVAL 
#undef DDR_PHY_DX2GCR0_DQSNSEPDR_SHIFT 
#undef DDR_PHY_DX2GCR0_DQSNSEPDR_MASK 
#define DDR_PHY_DX2GCR0_DQSNSEPDR_DEFVAL                       0x40200204
#define DDR_PHY_DX2GCR0_DQSNSEPDR_SHIFT                        13
#define DDR_PHY_DX2GCR0_DQSNSEPDR_MASK                         0x00002000U

/*
* DQSSE Power Down Receiver
*/
#undef DDR_PHY_DX2GCR0_DQSSEPDR_DEFVAL 
#undef DDR_PHY_DX2GCR0_DQSSEPDR_SHIFT 
#undef DDR_PHY_DX2GCR0_DQSSEPDR_MASK 
#define DDR_PHY_DX2GCR0_DQSSEPDR_DEFVAL                        0x40200204
#define DDR_PHY_DX2GCR0_DQSSEPDR_SHIFT                         12
#define DDR_PHY_DX2GCR0_DQSSEPDR_MASK                          0x00001000U

/*
* RTT On Additive Latency
*/
#undef DDR_PHY_DX2GCR0_RTTOAL_DEFVAL 
#undef DDR_PHY_DX2GCR0_RTTOAL_SHIFT 
#undef DDR_PHY_DX2GCR0_RTTOAL_MASK 
#define DDR_PHY_DX2GCR0_RTTOAL_DEFVAL                          0x40200204
#define DDR_PHY_DX2GCR0_RTTOAL_SHIFT                           11
#define DDR_PHY_DX2GCR0_RTTOAL_MASK                            0x00000800U

/*
* RTT Output Hold
*/
#undef DDR_PHY_DX2GCR0_RTTOH_DEFVAL 
#undef DDR_PHY_DX2GCR0_RTTOH_SHIFT 
#undef DDR_PHY_DX2GCR0_RTTOH_MASK 
#define DDR_PHY_DX2GCR0_RTTOH_DEFVAL                           0x40200204
#define DDR_PHY_DX2GCR0_RTTOH_SHIFT                            9
#define DDR_PHY_DX2GCR0_RTTOH_MASK                             0x00000600U

/*
* Configurable PDR Phase Shift
*/
#undef DDR_PHY_DX2GCR0_CPDRSHFT_DEFVAL 
#undef DDR_PHY_DX2GCR0_CPDRSHFT_SHIFT 
#undef DDR_PHY_DX2GCR0_CPDRSHFT_MASK 
#define DDR_PHY_DX2GCR0_CPDRSHFT_DEFVAL                        0x40200204
#define DDR_PHY_DX2GCR0_CPDRSHFT_SHIFT                         7
#define DDR_PHY_DX2GCR0_CPDRSHFT_MASK                          0x00000180U

/*
* DQSR Power Down
*/
#undef DDR_PHY_DX2GCR0_DQSRPD_DEFVAL 
#undef DDR_PHY_DX2GCR0_DQSRPD_SHIFT 
#undef DDR_PHY_DX2GCR0_DQSRPD_MASK 
#define DDR_PHY_DX2GCR0_DQSRPD_DEFVAL                          0x40200204
#define DDR_PHY_DX2GCR0_DQSRPD_SHIFT                           6
#define DDR_PHY_DX2GCR0_DQSRPD_MASK                            0x00000040U

/*
* DQSG Power Down Receiver
*/
#undef DDR_PHY_DX2GCR0_DQSGPDR_DEFVAL 
#undef DDR_PHY_DX2GCR0_DQSGPDR_SHIFT 
#undef DDR_PHY_DX2GCR0_DQSGPDR_MASK 
#define DDR_PHY_DX2GCR0_DQSGPDR_DEFVAL                         0x40200204
#define DDR_PHY_DX2GCR0_DQSGPDR_SHIFT                          5
#define DDR_PHY_DX2GCR0_DQSGPDR_MASK                           0x00000020U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_DX2GCR0_RESERVED_4_DEFVAL 
#undef DDR_PHY_DX2GCR0_RESERVED_4_SHIFT 
#undef DDR_PHY_DX2GCR0_RESERVED_4_MASK 
#define DDR_PHY_DX2GCR0_RESERVED_4_DEFVAL                      0x40200204
#define DDR_PHY_DX2GCR0_RESERVED_4_SHIFT                       4
#define DDR_PHY_DX2GCR0_RESERVED_4_MASK                        0x00000010U

/*
* DQSG On-Die Termination
*/
#undef DDR_PHY_DX2GCR0_DQSGODT_DEFVAL 
#undef DDR_PHY_DX2GCR0_DQSGODT_SHIFT 
#undef DDR_PHY_DX2GCR0_DQSGODT_MASK 
#define DDR_PHY_DX2GCR0_DQSGODT_DEFVAL                         0x40200204
#define DDR_PHY_DX2GCR0_DQSGODT_SHIFT                          3
#define DDR_PHY_DX2GCR0_DQSGODT_MASK                           0x00000008U

/*
* DQSG Output Enable
*/
#undef DDR_PHY_DX2GCR0_DQSGOE_DEFVAL 
#undef DDR_PHY_DX2GCR0_DQSGOE_SHIFT 
#undef DDR_PHY_DX2GCR0_DQSGOE_MASK 
#define DDR_PHY_DX2GCR0_DQSGOE_DEFVAL                          0x40200204
#define DDR_PHY_DX2GCR0_DQSGOE_SHIFT                           2
#define DDR_PHY_DX2GCR0_DQSGOE_MASK                            0x00000004U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_DX2GCR0_RESERVED_1_0_DEFVAL 
#undef DDR_PHY_DX2GCR0_RESERVED_1_0_SHIFT 
#undef DDR_PHY_DX2GCR0_RESERVED_1_0_MASK 
#define DDR_PHY_DX2GCR0_RESERVED_1_0_DEFVAL                    0x40200204
#define DDR_PHY_DX2GCR0_RESERVED_1_0_SHIFT                     0
#define DDR_PHY_DX2GCR0_RESERVED_1_0_MASK                      0x00000003U

/*
* Enables the PDR mode for DQ[7:0]
*/
#undef DDR_PHY_DX2GCR1_DXPDRMODE_DEFVAL 
#undef DDR_PHY_DX2GCR1_DXPDRMODE_SHIFT 
#undef DDR_PHY_DX2GCR1_DXPDRMODE_MASK 
#define DDR_PHY_DX2GCR1_DXPDRMODE_DEFVAL                       0x00007FFF
#define DDR_PHY_DX2GCR1_DXPDRMODE_SHIFT                        16
#define DDR_PHY_DX2GCR1_DXPDRMODE_MASK                         0xFFFF0000U

/*
* Reserved. Returns zeroes on reads.
*/
#undef DDR_PHY_DX2GCR1_RESERVED_15_DEFVAL 
#undef DDR_PHY_DX2GCR1_RESERVED_15_SHIFT 
#undef DDR_PHY_DX2GCR1_RESERVED_15_MASK 
#define DDR_PHY_DX2GCR1_RESERVED_15_DEFVAL                     0x00007FFF
#define DDR_PHY_DX2GCR1_RESERVED_15_SHIFT                      15
#define DDR_PHY_DX2GCR1_RESERVED_15_MASK                       0x00008000U

/*
* Select the delayed or non-delayed read data strobe #
*/
#undef DDR_PHY_DX2GCR1_QSNSEL_DEFVAL 
#undef DDR_PHY_DX2GCR1_QSNSEL_SHIFT 
#undef DDR_PHY_DX2GCR1_QSNSEL_MASK 
#define DDR_PHY_DX2GCR1_QSNSEL_DEFVAL                          0x00007FFF
#define DDR_PHY_DX2GCR1_QSNSEL_SHIFT                           14
#define DDR_PHY_DX2GCR1_QSNSEL_MASK                            0x00004000U

/*
* Select the delayed or non-delayed read data strobe
*/
#undef DDR_PHY_DX2GCR1_QSSEL_DEFVAL 
#undef DDR_PHY_DX2GCR1_QSSEL_SHIFT 
#undef DDR_PHY_DX2GCR1_QSSEL_MASK 
#define DDR_PHY_DX2GCR1_QSSEL_DEFVAL                           0x00007FFF
#define DDR_PHY_DX2GCR1_QSSEL_SHIFT                            13
#define DDR_PHY_DX2GCR1_QSSEL_MASK                             0x00002000U

/*
* Enables Read Data Strobe in a byte lane
*/
#undef DDR_PHY_DX2GCR1_OEEN_DEFVAL 
#undef DDR_PHY_DX2GCR1_OEEN_SHIFT 
#undef DDR_PHY_DX2GCR1_OEEN_MASK 
#define DDR_PHY_DX2GCR1_OEEN_DEFVAL                            0x00007FFF
#define DDR_PHY_DX2GCR1_OEEN_SHIFT                             12
#define DDR_PHY_DX2GCR1_OEEN_MASK                              0x00001000U

/*
* Enables PDR in a byte lane
*/
#undef DDR_PHY_DX2GCR1_PDREN_DEFVAL 
#undef DDR_PHY_DX2GCR1_PDREN_SHIFT 
#undef DDR_PHY_DX2GCR1_PDREN_MASK 
#define DDR_PHY_DX2GCR1_PDREN_DEFVAL                           0x00007FFF
#define DDR_PHY_DX2GCR1_PDREN_SHIFT                            11
#define DDR_PHY_DX2GCR1_PDREN_MASK                             0x00000800U

/*
* Enables ODT/TE in a byte lane
*/
#undef DDR_PHY_DX2GCR1_TEEN_DEFVAL 
#undef DDR_PHY_DX2GCR1_TEEN_SHIFT 
#undef DDR_PHY_DX2GCR1_TEEN_MASK 
#define DDR_PHY_DX2GCR1_TEEN_DEFVAL                            0x00007FFF
#define DDR_PHY_DX2GCR1_TEEN_SHIFT                             10
#define DDR_PHY_DX2GCR1_TEEN_MASK                              0x00000400U

/*
* Enables Write Data strobe in a byte lane
*/
#undef DDR_PHY_DX2GCR1_DSEN_DEFVAL 
#undef DDR_PHY_DX2GCR1_DSEN_SHIFT 
#undef DDR_PHY_DX2GCR1_DSEN_MASK 
#define DDR_PHY_DX2GCR1_DSEN_DEFVAL                            0x00007FFF
#define DDR_PHY_DX2GCR1_DSEN_SHIFT                             9
#define DDR_PHY_DX2GCR1_DSEN_MASK                              0x00000200U

/*
* Enables DM pin in a byte lane
*/
#undef DDR_PHY_DX2GCR1_DMEN_DEFVAL 
#undef DDR_PHY_DX2GCR1_DMEN_SHIFT 
#undef DDR_PHY_DX2GCR1_DMEN_MASK 
#define DDR_PHY_DX2GCR1_DMEN_DEFVAL                            0x00007FFF
#define DDR_PHY_DX2GCR1_DMEN_SHIFT                             8
#define DDR_PHY_DX2GCR1_DMEN_MASK                              0x00000100U

/*
* Enables DQ corresponding to each bit in a byte
*/
#undef DDR_PHY_DX2GCR1_DQEN_DEFVAL 
#undef DDR_PHY_DX2GCR1_DQEN_SHIFT 
#undef DDR_PHY_DX2GCR1_DQEN_MASK 
#define DDR_PHY_DX2GCR1_DQEN_DEFVAL                            0x00007FFF
#define DDR_PHY_DX2GCR1_DQEN_SHIFT                             0
#define DDR_PHY_DX2GCR1_DQEN_MASK                              0x000000FFU

/*
* Byte lane VREF IOM (Used only by D4MU IOs)
*/
#undef DDR_PHY_DX2GCR4_RESERVED_31_29_DEFVAL 
#undef DDR_PHY_DX2GCR4_RESERVED_31_29_SHIFT 
#undef DDR_PHY_DX2GCR4_RESERVED_31_29_MASK 
#define DDR_PHY_DX2GCR4_RESERVED_31_29_DEFVAL                  0x0E00003C
#define DDR_PHY_DX2GCR4_RESERVED_31_29_SHIFT                   29
#define DDR_PHY_DX2GCR4_RESERVED_31_29_MASK                    0xE0000000U

/*
* Byte Lane VREF Pad Enable
*/
#undef DDR_PHY_DX2GCR4_DXREFPEN_DEFVAL 
#undef DDR_PHY_DX2GCR4_DXREFPEN_SHIFT 
#undef DDR_PHY_DX2GCR4_DXREFPEN_MASK 
#define DDR_PHY_DX2GCR4_DXREFPEN_DEFVAL                        0x0E00003C
#define DDR_PHY_DX2GCR4_DXREFPEN_SHIFT                         28
#define DDR_PHY_DX2GCR4_DXREFPEN_MASK                          0x10000000U

/*
* Byte Lane Internal VREF Enable
*/
#undef DDR_PHY_DX2GCR4_DXREFEEN_DEFVAL 
#undef DDR_PHY_DX2GCR4_DXREFEEN_SHIFT 
#undef DDR_PHY_DX2GCR4_DXREFEEN_MASK 
#define DDR_PHY_DX2GCR4_DXREFEEN_DEFVAL                        0x0E00003C
#define DDR_PHY_DX2GCR4_DXREFEEN_SHIFT                         26
#define DDR_PHY_DX2GCR4_DXREFEEN_MASK                          0x0C000000U

/*
* Byte Lane Single-End VREF Enable
*/
#undef DDR_PHY_DX2GCR4_DXREFSEN_DEFVAL 
#undef DDR_PHY_DX2GCR4_DXREFSEN_SHIFT 
#undef DDR_PHY_DX2GCR4_DXREFSEN_MASK 
#define DDR_PHY_DX2GCR4_DXREFSEN_DEFVAL                        0x0E00003C
#define DDR_PHY_DX2GCR4_DXREFSEN_SHIFT                         25
#define DDR_PHY_DX2GCR4_DXREFSEN_MASK                          0x02000000U

/*
* Reserved. Returns zeros on reads.
*/
#undef DDR_PHY_DX2GCR4_RESERVED_24_DEFVAL 
#undef DDR_PHY_DX2GCR4_RESERVED_24_SHIFT 
#undef DDR_PHY_DX2GCR4_RESERVED_24_MASK 
#define DDR_PHY_DX2GCR4_RESERVED_24_DEFVAL                     0x0E00003C
#define DDR_PHY_DX2GCR4_RESERVED_24_SHIFT                      24
#define DDR_PHY_DX2GCR4_RESERVED_24_MASK                       0x01000000U

/*
* External VREF generator REFSEL range select
*/
#undef DDR_PHY_DX2GCR4_DXREFESELRANGE_DEFVAL 
#undef DDR_PHY_DX2GCR4_DXREFESELRANGE_SHIFT 
#undef DDR_PHY_DX2GCR4_DXREFESELRANGE_MASK 
#define DDR_PHY_DX2GCR4_DXREFESELRANGE_DEFVAL                  0x0E00003C
#define DDR_PHY_DX2GCR4_DXREFESELRANGE_SHIFT                   23
#define DDR_PHY_DX2GCR4_DXREFESELRANGE_MASK                    0x00800000U

/*
* Byte Lane External VREF Select
*/
#undef DDR_PHY_DX2GCR4_DXREFESEL_DEFVAL 
#undef DDR_PHY_DX2GCR4_DXREFESEL_SHIFT 
#undef DDR_PHY_DX2GCR4_DXREFESEL_MASK 
#define DDR_PHY_DX2GCR4_DXREFESEL_DEFVAL                       0x0E00003C
#define DDR_PHY_DX2GCR4_DXREFESEL_SHIFT                        16
#define DDR_PHY_DX2GCR4_DXREFESEL_MASK                         0x007F0000U

/*
* Single ended VREF generator REFSEL range select
*/
#undef DDR_PHY_DX2GCR4_DXREFSSELRANGE_DEFVAL 
#undef DDR_PHY_DX2GCR4_DXREFSSELRANGE_SHIFT 
#undef DDR_PHY_DX2GCR4_DXREFSSELRANGE_MASK 
#define DDR_PHY_DX2GCR4_DXREFSSELRANGE_DEFVAL                  0x0E00003C
#define DDR_PHY_DX2GCR4_DXREFSSELRANGE_SHIFT                   15
#define DDR_PHY_DX2GCR4_DXREFSSELRANGE_MASK                    0x00008000U

/*
* Byte Lane Single-End VREF Select
*/
#undef DDR_PHY_DX2GCR4_DXREFSSEL_DEFVAL 
#undef DDR_PHY_DX2GCR4_DXREFSSEL_SHIFT 
#undef DDR_PHY_DX2GCR4_DXREFSSEL_MASK 
#define DDR_PHY_DX2GCR4_DXREFSSEL_DEFVAL                       0x0E00003C
#define DDR_PHY_DX2GCR4_DXREFSSEL_SHIFT                        8
#define DDR_PHY_DX2GCR4_DXREFSSEL_MASK                         0x00007F00U

/*
* Reserved. Returns zeros on reads.
*/
#undef DDR_PHY_DX2GCR4_RESERVED_7_6_DEFVAL 
#undef DDR_PHY_DX2GCR4_RESERVED_7_6_SHIFT 
#undef DDR_PHY_DX2GCR4_RESERVED_7_6_MASK 
#define DDR_PHY_DX2GCR4_RESERVED_7_6_DEFVAL                    0x0E00003C
#define DDR_PHY_DX2GCR4_RESERVED_7_6_SHIFT                     6
#define DDR_PHY_DX2GCR4_RESERVED_7_6_MASK                      0x000000C0U

/*
* VREF Enable control for DQ IO (Single Ended) buffers of a byte lane.
*/
#undef DDR_PHY_DX2GCR4_DXREFIEN_DEFVAL 
#undef DDR_PHY_DX2GCR4_DXREFIEN_SHIFT 
#undef DDR_PHY_DX2GCR4_DXREFIEN_MASK 
#define DDR_PHY_DX2GCR4_DXREFIEN_DEFVAL                        0x0E00003C
#define DDR_PHY_DX2GCR4_DXREFIEN_SHIFT                         2
#define DDR_PHY_DX2GCR4_DXREFIEN_MASK                          0x0000003CU

/*
* VRMON control for DQ IO (Single Ended) buffers of a byte lane.
*/
#undef DDR_PHY_DX2GCR4_DXREFIMON_DEFVAL 
#undef DDR_PHY_DX2GCR4_DXREFIMON_SHIFT 
#undef DDR_PHY_DX2GCR4_DXREFIMON_MASK 
#define DDR_PHY_DX2GCR4_DXREFIMON_DEFVAL                       0x0E00003C
#define DDR_PHY_DX2GCR4_DXREFIMON_SHIFT                        0
#define DDR_PHY_DX2GCR4_DXREFIMON_MASK                         0x00000003U

/*
* Reserved. Returns zeros on reads.
*/
#undef DDR_PHY_DX2GCR5_RESERVED_31_DEFVAL 
#undef DDR_PHY_DX2GCR5_RESERVED_31_SHIFT 
#undef DDR_PHY_DX2GCR5_RESERVED_31_MASK 
#define DDR_PHY_DX2GCR5_RESERVED_31_DEFVAL                     0x09090909
#define DDR_PHY_DX2GCR5_RESERVED_31_SHIFT                      31
#define DDR_PHY_DX2GCR5_RESERVED_31_MASK                       0x80000000U

/*
* Byte Lane internal VREF Select for Rank 3
*/
#undef DDR_PHY_DX2GCR5_DXREFISELR3_DEFVAL 
#undef DDR_PHY_DX2GCR5_DXREFISELR3_SHIFT 
#undef DDR_PHY_DX2GCR5_DXREFISELR3_MASK 
#define DDR_PHY_DX2GCR5_DXREFISELR3_DEFVAL                     0x09090909
#define DDR_PHY_DX2GCR5_DXREFISELR3_SHIFT                      24
#define DDR_PHY_DX2GCR5_DXREFISELR3_MASK                       0x7F000000U

/*
* Reserved. Returns zeros on reads.
*/
#undef DDR_PHY_DX2GCR5_RESERVED_23_DEFVAL 
#undef DDR_PHY_DX2GCR5_RESERVED_23_SHIFT 
#undef DDR_PHY_DX2GCR5_RESERVED_23_MASK 
#define DDR_PHY_DX2GCR5_RESERVED_23_DEFVAL                     0x09090909
#define DDR_PHY_DX2GCR5_RESERVED_23_SHIFT                      23
#define DDR_PHY_DX2GCR5_RESERVED_23_MASK                       0x00800000U

/*
* Byte Lane internal VREF Select for Rank 2
*/
#undef DDR_PHY_DX2GCR5_DXREFISELR2_DEFVAL 
#undef DDR_PHY_DX2GCR5_DXREFISELR2_SHIFT 
#undef DDR_PHY_DX2GCR5_DXREFISELR2_MASK 
#define DDR_PHY_DX2GCR5_DXREFISELR2_DEFVAL                     0x09090909
#define DDR_PHY_DX2GCR5_DXREFISELR2_SHIFT                      16
#define DDR_PHY_DX2GCR5_DXREFISELR2_MASK                       0x007F0000U

/*
* Reserved. Returns zeros on reads.
*/
#undef DDR_PHY_DX2GCR5_RESERVED_15_DEFVAL 
#undef DDR_PHY_DX2GCR5_RESERVED_15_SHIFT 
#undef DDR_PHY_DX2GCR5_RESERVED_15_MASK 
#define DDR_PHY_DX2GCR5_RESERVED_15_DEFVAL                     0x09090909
#define DDR_PHY_DX2GCR5_RESERVED_15_SHIFT                      15
#define DDR_PHY_DX2GCR5_RESERVED_15_MASK                       0x00008000U

/*
* Byte Lane internal VREF Select for Rank 1
*/
#undef DDR_PHY_DX2GCR5_DXREFISELR1_DEFVAL 
#undef DDR_PHY_DX2GCR5_DXREFISELR1_SHIFT 
#undef DDR_PHY_DX2GCR5_DXREFISELR1_MASK 
#define DDR_PHY_DX2GCR5_DXREFISELR1_DEFVAL                     0x09090909
#define DDR_PHY_DX2GCR5_DXREFISELR1_SHIFT                      8
#define DDR_PHY_DX2GCR5_DXREFISELR1_MASK                       0x00007F00U

/*
* Reserved. Returns zeros on reads.
*/
#undef DDR_PHY_DX2GCR5_RESERVED_7_DEFVAL 
#undef DDR_PHY_DX2GCR5_RESERVED_7_SHIFT 
#undef DDR_PHY_DX2GCR5_RESERVED_7_MASK 
#define DDR_PHY_DX2GCR5_RESERVED_7_DEFVAL                      0x09090909
#define DDR_PHY_DX2GCR5_RESERVED_7_SHIFT                       7
#define DDR_PHY_DX2GCR5_RESERVED_7_MASK                        0x00000080U

/*
* Byte Lane internal VREF Select for Rank 0
*/
#undef DDR_PHY_DX2GCR5_DXREFISELR0_DEFVAL 
#undef DDR_PHY_DX2GCR5_DXREFISELR0_SHIFT 
#undef DDR_PHY_DX2GCR5_DXREFISELR0_MASK 
#define DDR_PHY_DX2GCR5_DXREFISELR0_DEFVAL                     0x09090909
#define DDR_PHY_DX2GCR5_DXREFISELR0_SHIFT                      0
#define DDR_PHY_DX2GCR5_DXREFISELR0_MASK                       0x0000007FU

/*
* Reserved. Returns zeros on reads.
*/
#undef DDR_PHY_DX2GCR6_RESERVED_31_30_DEFVAL 
#undef DDR_PHY_DX2GCR6_RESERVED_31_30_SHIFT 
#undef DDR_PHY_DX2GCR6_RESERVED_31_30_MASK 
#define DDR_PHY_DX2GCR6_RESERVED_31_30_DEFVAL                  0x09090909
#define DDR_PHY_DX2GCR6_RESERVED_31_30_SHIFT                   30
#define DDR_PHY_DX2GCR6_RESERVED_31_30_MASK                    0xC0000000U

/*
* DRAM DQ VREF Select for Rank3
*/
#undef DDR_PHY_DX2GCR6_DXDQVREFR3_DEFVAL 
#undef DDR_PHY_DX2GCR6_DXDQVREFR3_SHIFT 
#undef DDR_PHY_DX2GCR6_DXDQVREFR3_MASK 
#define DDR_PHY_DX2GCR6_DXDQVREFR3_DEFVAL                      0x09090909
#define DDR_PHY_DX2GCR6_DXDQVREFR3_SHIFT                       24
#define DDR_PHY_DX2GCR6_DXDQVREFR3_MASK                        0x3F000000U

/*
* Reserved. Returns zeros on reads.
*/
#undef DDR_PHY_DX2GCR6_RESERVED_23_22_DEFVAL 
#undef DDR_PHY_DX2GCR6_RESERVED_23_22_SHIFT 
#undef DDR_PHY_DX2GCR6_RESERVED_23_22_MASK 
#define DDR_PHY_DX2GCR6_RESERVED_23_22_DEFVAL                  0x09090909
#define DDR_PHY_DX2GCR6_RESERVED_23_22_SHIFT                   22
#define DDR_PHY_DX2GCR6_RESERVED_23_22_MASK                    0x00C00000U

/*
* DRAM DQ VREF Select for Rank2
*/
#undef DDR_PHY_DX2GCR6_DXDQVREFR2_DEFVAL 
#undef DDR_PHY_DX2GCR6_DXDQVREFR2_SHIFT 
#undef DDR_PHY_DX2GCR6_DXDQVREFR2_MASK 
#define DDR_PHY_DX2GCR6_DXDQVREFR2_DEFVAL                      0x09090909
#define DDR_PHY_DX2GCR6_DXDQVREFR2_SHIFT                       16
#define DDR_PHY_DX2GCR6_DXDQVREFR2_MASK                        0x003F0000U

/*
* Reserved. Returns zeros on reads.
*/
#undef DDR_PHY_DX2GCR6_RESERVED_15_14_DEFVAL 
#undef DDR_PHY_DX2GCR6_RESERVED_15_14_SHIFT 
#undef DDR_PHY_DX2GCR6_RESERVED_15_14_MASK 
#define DDR_PHY_DX2GCR6_RESERVED_15_14_DEFVAL                  0x09090909
#define DDR_PHY_DX2GCR6_RESERVED_15_14_SHIFT                   14
#define DDR_PHY_DX2GCR6_RESERVED_15_14_MASK                    0x0000C000U

/*
* DRAM DQ VREF Select for Rank1
*/
#undef DDR_PHY_DX2GCR6_DXDQVREFR1_DEFVAL 
#undef DDR_PHY_DX2GCR6_DXDQVREFR1_SHIFT 
#undef DDR_PHY_DX2GCR6_DXDQVREFR1_MASK 
#define DDR_PHY_DX2GCR6_DXDQVREFR1_DEFVAL                      0x09090909
#define DDR_PHY_DX2GCR6_DXDQVREFR1_SHIFT                       8
#define DDR_PHY_DX2GCR6_DXDQVREFR1_MASK                        0x00003F00U

/*
* Reserved. Returns zeros on reads.
*/
#undef DDR_PHY_DX2GCR6_RESERVED_7_6_DEFVAL 
#undef DDR_PHY_DX2GCR6_RESERVED_7_6_SHIFT 
#undef DDR_PHY_DX2GCR6_RESERVED_7_6_MASK 
#define DDR_PHY_DX2GCR6_RESERVED_7_6_DEFVAL                    0x09090909
#define DDR_PHY_DX2GCR6_RESERVED_7_6_SHIFT                     6
#define DDR_PHY_DX2GCR6_RESERVED_7_6_MASK                      0x000000C0U

/*
* DRAM DQ VREF Select for Rank0
*/
#undef DDR_PHY_DX2GCR6_DXDQVREFR0_DEFVAL 
#undef DDR_PHY_DX2GCR6_DXDQVREFR0_SHIFT 
#undef DDR_PHY_DX2GCR6_DXDQVREFR0_MASK 
#define DDR_PHY_DX2GCR6_DXDQVREFR0_DEFVAL                      0x09090909
#define DDR_PHY_DX2GCR6_DXDQVREFR0_SHIFT                       0
#define DDR_PHY_DX2GCR6_DXDQVREFR0_MASK                        0x0000003FU

/*
* Calibration Bypass
*/
#undef DDR_PHY_DX3GCR0_CALBYP_DEFVAL 
#undef DDR_PHY_DX3GCR0_CALBYP_SHIFT 
#undef DDR_PHY_DX3GCR0_CALBYP_MASK 
#define DDR_PHY_DX3GCR0_CALBYP_DEFVAL                          0x40200204
#define DDR_PHY_DX3GCR0_CALBYP_SHIFT                           31
#define DDR_PHY_DX3GCR0_CALBYP_MASK                            0x80000000U

/*
* Master Delay Line Enable
*/
#undef DDR_PHY_DX3GCR0_MDLEN_DEFVAL 
#undef DDR_PHY_DX3GCR0_MDLEN_SHIFT 
#undef DDR_PHY_DX3GCR0_MDLEN_MASK 
#define DDR_PHY_DX3GCR0_MDLEN_DEFVAL                           0x40200204
#define DDR_PHY_DX3GCR0_MDLEN_SHIFT                            30
#define DDR_PHY_DX3GCR0_MDLEN_MASK                             0x40000000U

/*
* Configurable ODT(TE) Phase Shift
*/
#undef DDR_PHY_DX3GCR0_CODTSHFT_DEFVAL 
#undef DDR_PHY_DX3GCR0_CODTSHFT_SHIFT 
#undef DDR_PHY_DX3GCR0_CODTSHFT_MASK 
#define DDR_PHY_DX3GCR0_CODTSHFT_DEFVAL                        0x40200204
#define DDR_PHY_DX3GCR0_CODTSHFT_SHIFT                         28
#define DDR_PHY_DX3GCR0_CODTSHFT_MASK                          0x30000000U

/*
* DQS Duty Cycle Correction
*/
#undef DDR_PHY_DX3GCR0_DQSDCC_DEFVAL 
#undef DDR_PHY_DX3GCR0_DQSDCC_SHIFT 
#undef DDR_PHY_DX3GCR0_DQSDCC_MASK 
#define DDR_PHY_DX3GCR0_DQSDCC_DEFVAL                          0x40200204
#define DDR_PHY_DX3GCR0_DQSDCC_SHIFT                           24
#define DDR_PHY_DX3GCR0_DQSDCC_MASK                            0x0F000000U

/*
* Number of Cycles ( in terms of ctl_clk) to generate ctl_dx_get_static_rd
    *  input for the respective bypte lane of the PHY
*/
#undef DDR_PHY_DX3GCR0_RDDLY_DEFVAL 
#undef DDR_PHY_DX3GCR0_RDDLY_SHIFT 
#undef DDR_PHY_DX3GCR0_RDDLY_MASK 
#define DDR_PHY_DX3GCR0_RDDLY_DEFVAL                           0x40200204
#define DDR_PHY_DX3GCR0_RDDLY_SHIFT                            20
#define DDR_PHY_DX3GCR0_RDDLY_MASK                             0x00F00000U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_DX3GCR0_RESERVED_19_14_DEFVAL 
#undef DDR_PHY_DX3GCR0_RESERVED_19_14_SHIFT 
#undef DDR_PHY_DX3GCR0_RESERVED_19_14_MASK 
#define DDR_PHY_DX3GCR0_RESERVED_19_14_DEFVAL                  0x40200204
#define DDR_PHY_DX3GCR0_RESERVED_19_14_SHIFT                   14
#define DDR_PHY_DX3GCR0_RESERVED_19_14_MASK                    0x000FC000U

/*
* DQSNSE Power Down Receiver
*/
#undef DDR_PHY_DX3GCR0_DQSNSEPDR_DEFVAL 
#undef DDR_PHY_DX3GCR0_DQSNSEPDR_SHIFT 
#undef DDR_PHY_DX3GCR0_DQSNSEPDR_MASK 
#define DDR_PHY_DX3GCR0_DQSNSEPDR_DEFVAL                       0x40200204
#define DDR_PHY_DX3GCR0_DQSNSEPDR_SHIFT                        13
#define DDR_PHY_DX3GCR0_DQSNSEPDR_MASK                         0x00002000U

/*
* DQSSE Power Down Receiver
*/
#undef DDR_PHY_DX3GCR0_DQSSEPDR_DEFVAL 
#undef DDR_PHY_DX3GCR0_DQSSEPDR_SHIFT 
#undef DDR_PHY_DX3GCR0_DQSSEPDR_MASK 
#define DDR_PHY_DX3GCR0_DQSSEPDR_DEFVAL                        0x40200204
#define DDR_PHY_DX3GCR0_DQSSEPDR_SHIFT                         12
#define DDR_PHY_DX3GCR0_DQSSEPDR_MASK                          0x00001000U

/*
* RTT On Additive Latency
*/
#undef DDR_PHY_DX3GCR0_RTTOAL_DEFVAL 
#undef DDR_PHY_DX3GCR0_RTTOAL_SHIFT 
#undef DDR_PHY_DX3GCR0_RTTOAL_MASK 
#define DDR_PHY_DX3GCR0_RTTOAL_DEFVAL                          0x40200204
#define DDR_PHY_DX3GCR0_RTTOAL_SHIFT                           11
#define DDR_PHY_DX3GCR0_RTTOAL_MASK                            0x00000800U

/*
* RTT Output Hold
*/
#undef DDR_PHY_DX3GCR0_RTTOH_DEFVAL 
#undef DDR_PHY_DX3GCR0_RTTOH_SHIFT 
#undef DDR_PHY_DX3GCR0_RTTOH_MASK 
#define DDR_PHY_DX3GCR0_RTTOH_DEFVAL                           0x40200204
#define DDR_PHY_DX3GCR0_RTTOH_SHIFT                            9
#define DDR_PHY_DX3GCR0_RTTOH_MASK                             0x00000600U

/*
* Configurable PDR Phase Shift
*/
#undef DDR_PHY_DX3GCR0_CPDRSHFT_DEFVAL 
#undef DDR_PHY_DX3GCR0_CPDRSHFT_SHIFT 
#undef DDR_PHY_DX3GCR0_CPDRSHFT_MASK 
#define DDR_PHY_DX3GCR0_CPDRSHFT_DEFVAL                        0x40200204
#define DDR_PHY_DX3GCR0_CPDRSHFT_SHIFT                         7
#define DDR_PHY_DX3GCR0_CPDRSHFT_MASK                          0x00000180U

/*
* DQSR Power Down
*/
#undef DDR_PHY_DX3GCR0_DQSRPD_DEFVAL 
#undef DDR_PHY_DX3GCR0_DQSRPD_SHIFT 
#undef DDR_PHY_DX3GCR0_DQSRPD_MASK 
#define DDR_PHY_DX3GCR0_DQSRPD_DEFVAL                          0x40200204
#define DDR_PHY_DX3GCR0_DQSRPD_SHIFT                           6
#define DDR_PHY_DX3GCR0_DQSRPD_MASK                            0x00000040U

/*
* DQSG Power Down Receiver
*/
#undef DDR_PHY_DX3GCR0_DQSGPDR_DEFVAL 
#undef DDR_PHY_DX3GCR0_DQSGPDR_SHIFT 
#undef DDR_PHY_DX3GCR0_DQSGPDR_MASK 
#define DDR_PHY_DX3GCR0_DQSGPDR_DEFVAL                         0x40200204
#define DDR_PHY_DX3GCR0_DQSGPDR_SHIFT                          5
#define DDR_PHY_DX3GCR0_DQSGPDR_MASK                           0x00000020U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_DX3GCR0_RESERVED_4_DEFVAL 
#undef DDR_PHY_DX3GCR0_RESERVED_4_SHIFT 
#undef DDR_PHY_DX3GCR0_RESERVED_4_MASK 
#define DDR_PHY_DX3GCR0_RESERVED_4_DEFVAL                      0x40200204
#define DDR_PHY_DX3GCR0_RESERVED_4_SHIFT                       4
#define DDR_PHY_DX3GCR0_RESERVED_4_MASK                        0x00000010U

/*
* DQSG On-Die Termination
*/
#undef DDR_PHY_DX3GCR0_DQSGODT_DEFVAL 
#undef DDR_PHY_DX3GCR0_DQSGODT_SHIFT 
#undef DDR_PHY_DX3GCR0_DQSGODT_MASK 
#define DDR_PHY_DX3GCR0_DQSGODT_DEFVAL                         0x40200204
#define DDR_PHY_DX3GCR0_DQSGODT_SHIFT                          3
#define DDR_PHY_DX3GCR0_DQSGODT_MASK                           0x00000008U

/*
* DQSG Output Enable
*/
#undef DDR_PHY_DX3GCR0_DQSGOE_DEFVAL 
#undef DDR_PHY_DX3GCR0_DQSGOE_SHIFT 
#undef DDR_PHY_DX3GCR0_DQSGOE_MASK 
#define DDR_PHY_DX3GCR0_DQSGOE_DEFVAL                          0x40200204
#define DDR_PHY_DX3GCR0_DQSGOE_SHIFT                           2
#define DDR_PHY_DX3GCR0_DQSGOE_MASK                            0x00000004U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_DX3GCR0_RESERVED_1_0_DEFVAL 
#undef DDR_PHY_DX3GCR0_RESERVED_1_0_SHIFT 
#undef DDR_PHY_DX3GCR0_RESERVED_1_0_MASK 
#define DDR_PHY_DX3GCR0_RESERVED_1_0_DEFVAL                    0x40200204
#define DDR_PHY_DX3GCR0_RESERVED_1_0_SHIFT                     0
#define DDR_PHY_DX3GCR0_RESERVED_1_0_MASK                      0x00000003U

/*
* Enables the PDR mode for DQ[7:0]
*/
#undef DDR_PHY_DX3GCR1_DXPDRMODE_DEFVAL 
#undef DDR_PHY_DX3GCR1_DXPDRMODE_SHIFT 
#undef DDR_PHY_DX3GCR1_DXPDRMODE_MASK 
#define DDR_PHY_DX3GCR1_DXPDRMODE_DEFVAL                       0x00007FFF
#define DDR_PHY_DX3GCR1_DXPDRMODE_SHIFT                        16
#define DDR_PHY_DX3GCR1_DXPDRMODE_MASK                         0xFFFF0000U

/*
* Reserved. Returns zeroes on reads.
*/
#undef DDR_PHY_DX3GCR1_RESERVED_15_DEFVAL 
#undef DDR_PHY_DX3GCR1_RESERVED_15_SHIFT 
#undef DDR_PHY_DX3GCR1_RESERVED_15_MASK 
#define DDR_PHY_DX3GCR1_RESERVED_15_DEFVAL                     0x00007FFF
#define DDR_PHY_DX3GCR1_RESERVED_15_SHIFT                      15
#define DDR_PHY_DX3GCR1_RESERVED_15_MASK                       0x00008000U

/*
* Select the delayed or non-delayed read data strobe #
*/
#undef DDR_PHY_DX3GCR1_QSNSEL_DEFVAL 
#undef DDR_PHY_DX3GCR1_QSNSEL_SHIFT 
#undef DDR_PHY_DX3GCR1_QSNSEL_MASK 
#define DDR_PHY_DX3GCR1_QSNSEL_DEFVAL                          0x00007FFF
#define DDR_PHY_DX3GCR1_QSNSEL_SHIFT                           14
#define DDR_PHY_DX3GCR1_QSNSEL_MASK                            0x00004000U

/*
* Select the delayed or non-delayed read data strobe
*/
#undef DDR_PHY_DX3GCR1_QSSEL_DEFVAL 
#undef DDR_PHY_DX3GCR1_QSSEL_SHIFT 
#undef DDR_PHY_DX3GCR1_QSSEL_MASK 
#define DDR_PHY_DX3GCR1_QSSEL_DEFVAL                           0x00007FFF
#define DDR_PHY_DX3GCR1_QSSEL_SHIFT                            13
#define DDR_PHY_DX3GCR1_QSSEL_MASK                             0x00002000U

/*
* Enables Read Data Strobe in a byte lane
*/
#undef DDR_PHY_DX3GCR1_OEEN_DEFVAL 
#undef DDR_PHY_DX3GCR1_OEEN_SHIFT 
#undef DDR_PHY_DX3GCR1_OEEN_MASK 
#define DDR_PHY_DX3GCR1_OEEN_DEFVAL                            0x00007FFF
#define DDR_PHY_DX3GCR1_OEEN_SHIFT                             12
#define DDR_PHY_DX3GCR1_OEEN_MASK                              0x00001000U

/*
* Enables PDR in a byte lane
*/
#undef DDR_PHY_DX3GCR1_PDREN_DEFVAL 
#undef DDR_PHY_DX3GCR1_PDREN_SHIFT 
#undef DDR_PHY_DX3GCR1_PDREN_MASK 
#define DDR_PHY_DX3GCR1_PDREN_DEFVAL                           0x00007FFF
#define DDR_PHY_DX3GCR1_PDREN_SHIFT                            11
#define DDR_PHY_DX3GCR1_PDREN_MASK                             0x00000800U

/*
* Enables ODT/TE in a byte lane
*/
#undef DDR_PHY_DX3GCR1_TEEN_DEFVAL 
#undef DDR_PHY_DX3GCR1_TEEN_SHIFT 
#undef DDR_PHY_DX3GCR1_TEEN_MASK 
#define DDR_PHY_DX3GCR1_TEEN_DEFVAL                            0x00007FFF
#define DDR_PHY_DX3GCR1_TEEN_SHIFT                             10
#define DDR_PHY_DX3GCR1_TEEN_MASK                              0x00000400U

/*
* Enables Write Data strobe in a byte lane
*/
#undef DDR_PHY_DX3GCR1_DSEN_DEFVAL 
#undef DDR_PHY_DX3GCR1_DSEN_SHIFT 
#undef DDR_PHY_DX3GCR1_DSEN_MASK 
#define DDR_PHY_DX3GCR1_DSEN_DEFVAL                            0x00007FFF
#define DDR_PHY_DX3GCR1_DSEN_SHIFT                             9
#define DDR_PHY_DX3GCR1_DSEN_MASK                              0x00000200U

/*
* Enables DM pin in a byte lane
*/
#undef DDR_PHY_DX3GCR1_DMEN_DEFVAL 
#undef DDR_PHY_DX3GCR1_DMEN_SHIFT 
#undef DDR_PHY_DX3GCR1_DMEN_MASK 
#define DDR_PHY_DX3GCR1_DMEN_DEFVAL                            0x00007FFF
#define DDR_PHY_DX3GCR1_DMEN_SHIFT                             8
#define DDR_PHY_DX3GCR1_DMEN_MASK                              0x00000100U

/*
* Enables DQ corresponding to each bit in a byte
*/
#undef DDR_PHY_DX3GCR1_DQEN_DEFVAL 
#undef DDR_PHY_DX3GCR1_DQEN_SHIFT 
#undef DDR_PHY_DX3GCR1_DQEN_MASK 
#define DDR_PHY_DX3GCR1_DQEN_DEFVAL                            0x00007FFF
#define DDR_PHY_DX3GCR1_DQEN_SHIFT                             0
#define DDR_PHY_DX3GCR1_DQEN_MASK                              0x000000FFU

/*
* Byte lane VREF IOM (Used only by D4MU IOs)
*/
#undef DDR_PHY_DX3GCR4_RESERVED_31_29_DEFVAL 
#undef DDR_PHY_DX3GCR4_RESERVED_31_29_SHIFT 
#undef DDR_PHY_DX3GCR4_RESERVED_31_29_MASK 
#define DDR_PHY_DX3GCR4_RESERVED_31_29_DEFVAL                  0x0E00003C
#define DDR_PHY_DX3GCR4_RESERVED_31_29_SHIFT                   29
#define DDR_PHY_DX3GCR4_RESERVED_31_29_MASK                    0xE0000000U

/*
* Byte Lane VREF Pad Enable
*/
#undef DDR_PHY_DX3GCR4_DXREFPEN_DEFVAL 
#undef DDR_PHY_DX3GCR4_DXREFPEN_SHIFT 
#undef DDR_PHY_DX3GCR4_DXREFPEN_MASK 
#define DDR_PHY_DX3GCR4_DXREFPEN_DEFVAL                        0x0E00003C
#define DDR_PHY_DX3GCR4_DXREFPEN_SHIFT                         28
#define DDR_PHY_DX3GCR4_DXREFPEN_MASK                          0x10000000U

/*
* Byte Lane Internal VREF Enable
*/
#undef DDR_PHY_DX3GCR4_DXREFEEN_DEFVAL 
#undef DDR_PHY_DX3GCR4_DXREFEEN_SHIFT 
#undef DDR_PHY_DX3GCR4_DXREFEEN_MASK 
#define DDR_PHY_DX3GCR4_DXREFEEN_DEFVAL                        0x0E00003C
#define DDR_PHY_DX3GCR4_DXREFEEN_SHIFT                         26
#define DDR_PHY_DX3GCR4_DXREFEEN_MASK                          0x0C000000U

/*
* Byte Lane Single-End VREF Enable
*/
#undef DDR_PHY_DX3GCR4_DXREFSEN_DEFVAL 
#undef DDR_PHY_DX3GCR4_DXREFSEN_SHIFT 
#undef DDR_PHY_DX3GCR4_DXREFSEN_MASK 
#define DDR_PHY_DX3GCR4_DXREFSEN_DEFVAL                        0x0E00003C
#define DDR_PHY_DX3GCR4_DXREFSEN_SHIFT                         25
#define DDR_PHY_DX3GCR4_DXREFSEN_MASK                          0x02000000U

/*
* Reserved. Returns zeros on reads.
*/
#undef DDR_PHY_DX3GCR4_RESERVED_24_DEFVAL 
#undef DDR_PHY_DX3GCR4_RESERVED_24_SHIFT 
#undef DDR_PHY_DX3GCR4_RESERVED_24_MASK 
#define DDR_PHY_DX3GCR4_RESERVED_24_DEFVAL                     0x0E00003C
#define DDR_PHY_DX3GCR4_RESERVED_24_SHIFT                      24
#define DDR_PHY_DX3GCR4_RESERVED_24_MASK                       0x01000000U

/*
* External VREF generator REFSEL range select
*/
#undef DDR_PHY_DX3GCR4_DXREFESELRANGE_DEFVAL 
#undef DDR_PHY_DX3GCR4_DXREFESELRANGE_SHIFT 
#undef DDR_PHY_DX3GCR4_DXREFESELRANGE_MASK 
#define DDR_PHY_DX3GCR4_DXREFESELRANGE_DEFVAL                  0x0E00003C
#define DDR_PHY_DX3GCR4_DXREFESELRANGE_SHIFT                   23
#define DDR_PHY_DX3GCR4_DXREFESELRANGE_MASK                    0x00800000U

/*
* Byte Lane External VREF Select
*/
#undef DDR_PHY_DX3GCR4_DXREFESEL_DEFVAL 
#undef DDR_PHY_DX3GCR4_DXREFESEL_SHIFT 
#undef DDR_PHY_DX3GCR4_DXREFESEL_MASK 
#define DDR_PHY_DX3GCR4_DXREFESEL_DEFVAL                       0x0E00003C
#define DDR_PHY_DX3GCR4_DXREFESEL_SHIFT                        16
#define DDR_PHY_DX3GCR4_DXREFESEL_MASK                         0x007F0000U

/*
* Single ended VREF generator REFSEL range select
*/
#undef DDR_PHY_DX3GCR4_DXREFSSELRANGE_DEFVAL 
#undef DDR_PHY_DX3GCR4_DXREFSSELRANGE_SHIFT 
#undef DDR_PHY_DX3GCR4_DXREFSSELRANGE_MASK 
#define DDR_PHY_DX3GCR4_DXREFSSELRANGE_DEFVAL                  0x0E00003C
#define DDR_PHY_DX3GCR4_DXREFSSELRANGE_SHIFT                   15
#define DDR_PHY_DX3GCR4_DXREFSSELRANGE_MASK                    0x00008000U

/*
* Byte Lane Single-End VREF Select
*/
#undef DDR_PHY_DX3GCR4_DXREFSSEL_DEFVAL 
#undef DDR_PHY_DX3GCR4_DXREFSSEL_SHIFT 
#undef DDR_PHY_DX3GCR4_DXREFSSEL_MASK 
#define DDR_PHY_DX3GCR4_DXREFSSEL_DEFVAL                       0x0E00003C
#define DDR_PHY_DX3GCR4_DXREFSSEL_SHIFT                        8
#define DDR_PHY_DX3GCR4_DXREFSSEL_MASK                         0x00007F00U

/*
* Reserved. Returns zeros on reads.
*/
#undef DDR_PHY_DX3GCR4_RESERVED_7_6_DEFVAL 
#undef DDR_PHY_DX3GCR4_RESERVED_7_6_SHIFT 
#undef DDR_PHY_DX3GCR4_RESERVED_7_6_MASK 
#define DDR_PHY_DX3GCR4_RESERVED_7_6_DEFVAL                    0x0E00003C
#define DDR_PHY_DX3GCR4_RESERVED_7_6_SHIFT                     6
#define DDR_PHY_DX3GCR4_RESERVED_7_6_MASK                      0x000000C0U

/*
* VREF Enable control for DQ IO (Single Ended) buffers of a byte lane.
*/
#undef DDR_PHY_DX3GCR4_DXREFIEN_DEFVAL 
#undef DDR_PHY_DX3GCR4_DXREFIEN_SHIFT 
#undef DDR_PHY_DX3GCR4_DXREFIEN_MASK 
#define DDR_PHY_DX3GCR4_DXREFIEN_DEFVAL                        0x0E00003C
#define DDR_PHY_DX3GCR4_DXREFIEN_SHIFT                         2
#define DDR_PHY_DX3GCR4_DXREFIEN_MASK                          0x0000003CU

/*
* VRMON control for DQ IO (Single Ended) buffers of a byte lane.
*/
#undef DDR_PHY_DX3GCR4_DXREFIMON_DEFVAL 
#undef DDR_PHY_DX3GCR4_DXREFIMON_SHIFT 
#undef DDR_PHY_DX3GCR4_DXREFIMON_MASK 
#define DDR_PHY_DX3GCR4_DXREFIMON_DEFVAL                       0x0E00003C
#define DDR_PHY_DX3GCR4_DXREFIMON_SHIFT                        0
#define DDR_PHY_DX3GCR4_DXREFIMON_MASK                         0x00000003U

/*
* Reserved. Returns zeros on reads.
*/
#undef DDR_PHY_DX3GCR5_RESERVED_31_DEFVAL 
#undef DDR_PHY_DX3GCR5_RESERVED_31_SHIFT 
#undef DDR_PHY_DX3GCR5_RESERVED_31_MASK 
#define DDR_PHY_DX3GCR5_RESERVED_31_DEFVAL                     0x09090909
#define DDR_PHY_DX3GCR5_RESERVED_31_SHIFT                      31
#define DDR_PHY_DX3GCR5_RESERVED_31_MASK                       0x80000000U

/*
* Byte Lane internal VREF Select for Rank 3
*/
#undef DDR_PHY_DX3GCR5_DXREFISELR3_DEFVAL 
#undef DDR_PHY_DX3GCR5_DXREFISELR3_SHIFT 
#undef DDR_PHY_DX3GCR5_DXREFISELR3_MASK 
#define DDR_PHY_DX3GCR5_DXREFISELR3_DEFVAL                     0x09090909
#define DDR_PHY_DX3GCR5_DXREFISELR3_SHIFT                      24
#define DDR_PHY_DX3GCR5_DXREFISELR3_MASK                       0x7F000000U

/*
* Reserved. Returns zeros on reads.
*/
#undef DDR_PHY_DX3GCR5_RESERVED_23_DEFVAL 
#undef DDR_PHY_DX3GCR5_RESERVED_23_SHIFT 
#undef DDR_PHY_DX3GCR5_RESERVED_23_MASK 
#define DDR_PHY_DX3GCR5_RESERVED_23_DEFVAL                     0x09090909
#define DDR_PHY_DX3GCR5_RESERVED_23_SHIFT                      23
#define DDR_PHY_DX3GCR5_RESERVED_23_MASK                       0x00800000U

/*
* Byte Lane internal VREF Select for Rank 2
*/
#undef DDR_PHY_DX3GCR5_DXREFISELR2_DEFVAL 
#undef DDR_PHY_DX3GCR5_DXREFISELR2_SHIFT 
#undef DDR_PHY_DX3GCR5_DXREFISELR2_MASK 
#define DDR_PHY_DX3GCR5_DXREFISELR2_DEFVAL                     0x09090909
#define DDR_PHY_DX3GCR5_DXREFISELR2_SHIFT                      16
#define DDR_PHY_DX3GCR5_DXREFISELR2_MASK                       0x007F0000U

/*
* Reserved. Returns zeros on reads.
*/
#undef DDR_PHY_DX3GCR5_RESERVED_15_DEFVAL 
#undef DDR_PHY_DX3GCR5_RESERVED_15_SHIFT 
#undef DDR_PHY_DX3GCR5_RESERVED_15_MASK 
#define DDR_PHY_DX3GCR5_RESERVED_15_DEFVAL                     0x09090909
#define DDR_PHY_DX3GCR5_RESERVED_15_SHIFT                      15
#define DDR_PHY_DX3GCR5_RESERVED_15_MASK                       0x00008000U

/*
* Byte Lane internal VREF Select for Rank 1
*/
#undef DDR_PHY_DX3GCR5_DXREFISELR1_DEFVAL 
#undef DDR_PHY_DX3GCR5_DXREFISELR1_SHIFT 
#undef DDR_PHY_DX3GCR5_DXREFISELR1_MASK 
#define DDR_PHY_DX3GCR5_DXREFISELR1_DEFVAL                     0x09090909
#define DDR_PHY_DX3GCR5_DXREFISELR1_SHIFT                      8
#define DDR_PHY_DX3GCR5_DXREFISELR1_MASK                       0x00007F00U

/*
* Reserved. Returns zeros on reads.
*/
#undef DDR_PHY_DX3GCR5_RESERVED_7_DEFVAL 
#undef DDR_PHY_DX3GCR5_RESERVED_7_SHIFT 
#undef DDR_PHY_DX3GCR5_RESERVED_7_MASK 
#define DDR_PHY_DX3GCR5_RESERVED_7_DEFVAL                      0x09090909
#define DDR_PHY_DX3GCR5_RESERVED_7_SHIFT                       7
#define DDR_PHY_DX3GCR5_RESERVED_7_MASK                        0x00000080U

/*
* Byte Lane internal VREF Select for Rank 0
*/
#undef DDR_PHY_DX3GCR5_DXREFISELR0_DEFVAL 
#undef DDR_PHY_DX3GCR5_DXREFISELR0_SHIFT 
#undef DDR_PHY_DX3GCR5_DXREFISELR0_MASK 
#define DDR_PHY_DX3GCR5_DXREFISELR0_DEFVAL                     0x09090909
#define DDR_PHY_DX3GCR5_DXREFISELR0_SHIFT                      0
#define DDR_PHY_DX3GCR5_DXREFISELR0_MASK                       0x0000007FU

/*
* Reserved. Returns zeros on reads.
*/
#undef DDR_PHY_DX3GCR6_RESERVED_31_30_DEFVAL 
#undef DDR_PHY_DX3GCR6_RESERVED_31_30_SHIFT 
#undef DDR_PHY_DX3GCR6_RESERVED_31_30_MASK 
#define DDR_PHY_DX3GCR6_RESERVED_31_30_DEFVAL                  0x09090909
#define DDR_PHY_DX3GCR6_RESERVED_31_30_SHIFT                   30
#define DDR_PHY_DX3GCR6_RESERVED_31_30_MASK                    0xC0000000U

/*
* DRAM DQ VREF Select for Rank3
*/
#undef DDR_PHY_DX3GCR6_DXDQVREFR3_DEFVAL 
#undef DDR_PHY_DX3GCR6_DXDQVREFR3_SHIFT 
#undef DDR_PHY_DX3GCR6_DXDQVREFR3_MASK 
#define DDR_PHY_DX3GCR6_DXDQVREFR3_DEFVAL                      0x09090909
#define DDR_PHY_DX3GCR6_DXDQVREFR3_SHIFT                       24
#define DDR_PHY_DX3GCR6_DXDQVREFR3_MASK                        0x3F000000U

/*
* Reserved. Returns zeros on reads.
*/
#undef DDR_PHY_DX3GCR6_RESERVED_23_22_DEFVAL 
#undef DDR_PHY_DX3GCR6_RESERVED_23_22_SHIFT 
#undef DDR_PHY_DX3GCR6_RESERVED_23_22_MASK 
#define DDR_PHY_DX3GCR6_RESERVED_23_22_DEFVAL                  0x09090909
#define DDR_PHY_DX3GCR6_RESERVED_23_22_SHIFT                   22
#define DDR_PHY_DX3GCR6_RESERVED_23_22_MASK                    0x00C00000U

/*
* DRAM DQ VREF Select for Rank2
*/
#undef DDR_PHY_DX3GCR6_DXDQVREFR2_DEFVAL 
#undef DDR_PHY_DX3GCR6_DXDQVREFR2_SHIFT 
#undef DDR_PHY_DX3GCR6_DXDQVREFR2_MASK 
#define DDR_PHY_DX3GCR6_DXDQVREFR2_DEFVAL                      0x09090909
#define DDR_PHY_DX3GCR6_DXDQVREFR2_SHIFT                       16
#define DDR_PHY_DX3GCR6_DXDQVREFR2_MASK                        0x003F0000U

/*
* Reserved. Returns zeros on reads.
*/
#undef DDR_PHY_DX3GCR6_RESERVED_15_14_DEFVAL 
#undef DDR_PHY_DX3GCR6_RESERVED_15_14_SHIFT 
#undef DDR_PHY_DX3GCR6_RESERVED_15_14_MASK 
#define DDR_PHY_DX3GCR6_RESERVED_15_14_DEFVAL                  0x09090909
#define DDR_PHY_DX3GCR6_RESERVED_15_14_SHIFT                   14
#define DDR_PHY_DX3GCR6_RESERVED_15_14_MASK                    0x0000C000U

/*
* DRAM DQ VREF Select for Rank1
*/
#undef DDR_PHY_DX3GCR6_DXDQVREFR1_DEFVAL 
#undef DDR_PHY_DX3GCR6_DXDQVREFR1_SHIFT 
#undef DDR_PHY_DX3GCR6_DXDQVREFR1_MASK 
#define DDR_PHY_DX3GCR6_DXDQVREFR1_DEFVAL                      0x09090909
#define DDR_PHY_DX3GCR6_DXDQVREFR1_SHIFT                       8
#define DDR_PHY_DX3GCR6_DXDQVREFR1_MASK                        0x00003F00U

/*
* Reserved. Returns zeros on reads.
*/
#undef DDR_PHY_DX3GCR6_RESERVED_7_6_DEFVAL 
#undef DDR_PHY_DX3GCR6_RESERVED_7_6_SHIFT 
#undef DDR_PHY_DX3GCR6_RESERVED_7_6_MASK 
#define DDR_PHY_DX3GCR6_RESERVED_7_6_DEFVAL                    0x09090909
#define DDR_PHY_DX3GCR6_RESERVED_7_6_SHIFT                     6
#define DDR_PHY_DX3GCR6_RESERVED_7_6_MASK                      0x000000C0U

/*
* DRAM DQ VREF Select for Rank0
*/
#undef DDR_PHY_DX3GCR6_DXDQVREFR0_DEFVAL 
#undef DDR_PHY_DX3GCR6_DXDQVREFR0_SHIFT 
#undef DDR_PHY_DX3GCR6_DXDQVREFR0_MASK 
#define DDR_PHY_DX3GCR6_DXDQVREFR0_DEFVAL                      0x09090909
#define DDR_PHY_DX3GCR6_DXDQVREFR0_SHIFT                       0
#define DDR_PHY_DX3GCR6_DXDQVREFR0_MASK                        0x0000003FU

/*
* Calibration Bypass
*/
#undef DDR_PHY_DX4GCR0_CALBYP_DEFVAL 
#undef DDR_PHY_DX4GCR0_CALBYP_SHIFT 
#undef DDR_PHY_DX4GCR0_CALBYP_MASK 
#define DDR_PHY_DX4GCR0_CALBYP_DEFVAL                          0x40200204
#define DDR_PHY_DX4GCR0_CALBYP_SHIFT                           31
#define DDR_PHY_DX4GCR0_CALBYP_MASK                            0x80000000U

/*
* Master Delay Line Enable
*/
#undef DDR_PHY_DX4GCR0_MDLEN_DEFVAL 
#undef DDR_PHY_DX4GCR0_MDLEN_SHIFT 
#undef DDR_PHY_DX4GCR0_MDLEN_MASK 
#define DDR_PHY_DX4GCR0_MDLEN_DEFVAL                           0x40200204
#define DDR_PHY_DX4GCR0_MDLEN_SHIFT                            30
#define DDR_PHY_DX4GCR0_MDLEN_MASK                             0x40000000U

/*
* Configurable ODT(TE) Phase Shift
*/
#undef DDR_PHY_DX4GCR0_CODTSHFT_DEFVAL 
#undef DDR_PHY_DX4GCR0_CODTSHFT_SHIFT 
#undef DDR_PHY_DX4GCR0_CODTSHFT_MASK 
#define DDR_PHY_DX4GCR0_CODTSHFT_DEFVAL                        0x40200204
#define DDR_PHY_DX4GCR0_CODTSHFT_SHIFT                         28
#define DDR_PHY_DX4GCR0_CODTSHFT_MASK                          0x30000000U

/*
* DQS Duty Cycle Correction
*/
#undef DDR_PHY_DX4GCR0_DQSDCC_DEFVAL 
#undef DDR_PHY_DX4GCR0_DQSDCC_SHIFT 
#undef DDR_PHY_DX4GCR0_DQSDCC_MASK 
#define DDR_PHY_DX4GCR0_DQSDCC_DEFVAL                          0x40200204
#define DDR_PHY_DX4GCR0_DQSDCC_SHIFT                           24
#define DDR_PHY_DX4GCR0_DQSDCC_MASK                            0x0F000000U

/*
* Number of Cycles ( in terms of ctl_clk) to generate ctl_dx_get_static_rd
    *  input for the respective bypte lane of the PHY
*/
#undef DDR_PHY_DX4GCR0_RDDLY_DEFVAL 
#undef DDR_PHY_DX4GCR0_RDDLY_SHIFT 
#undef DDR_PHY_DX4GCR0_RDDLY_MASK 
#define DDR_PHY_DX4GCR0_RDDLY_DEFVAL                           0x40200204
#define DDR_PHY_DX4GCR0_RDDLY_SHIFT                            20
#define DDR_PHY_DX4GCR0_RDDLY_MASK                             0x00F00000U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_DX4GCR0_RESERVED_19_14_DEFVAL 
#undef DDR_PHY_DX4GCR0_RESERVED_19_14_SHIFT 
#undef DDR_PHY_DX4GCR0_RESERVED_19_14_MASK 
#define DDR_PHY_DX4GCR0_RESERVED_19_14_DEFVAL                  0x40200204
#define DDR_PHY_DX4GCR0_RESERVED_19_14_SHIFT                   14
#define DDR_PHY_DX4GCR0_RESERVED_19_14_MASK                    0x000FC000U

/*
* DQSNSE Power Down Receiver
*/
#undef DDR_PHY_DX4GCR0_DQSNSEPDR_DEFVAL 
#undef DDR_PHY_DX4GCR0_DQSNSEPDR_SHIFT 
#undef DDR_PHY_DX4GCR0_DQSNSEPDR_MASK 
#define DDR_PHY_DX4GCR0_DQSNSEPDR_DEFVAL                       0x40200204
#define DDR_PHY_DX4GCR0_DQSNSEPDR_SHIFT                        13
#define DDR_PHY_DX4GCR0_DQSNSEPDR_MASK                         0x00002000U

/*
* DQSSE Power Down Receiver
*/
#undef DDR_PHY_DX4GCR0_DQSSEPDR_DEFVAL 
#undef DDR_PHY_DX4GCR0_DQSSEPDR_SHIFT 
#undef DDR_PHY_DX4GCR0_DQSSEPDR_MASK 
#define DDR_PHY_DX4GCR0_DQSSEPDR_DEFVAL                        0x40200204
#define DDR_PHY_DX4GCR0_DQSSEPDR_SHIFT                         12
#define DDR_PHY_DX4GCR0_DQSSEPDR_MASK                          0x00001000U

/*
* RTT On Additive Latency
*/
#undef DDR_PHY_DX4GCR0_RTTOAL_DEFVAL 
#undef DDR_PHY_DX4GCR0_RTTOAL_SHIFT 
#undef DDR_PHY_DX4GCR0_RTTOAL_MASK 
#define DDR_PHY_DX4GCR0_RTTOAL_DEFVAL                          0x40200204
#define DDR_PHY_DX4GCR0_RTTOAL_SHIFT                           11
#define DDR_PHY_DX4GCR0_RTTOAL_MASK                            0x00000800U

/*
* RTT Output Hold
*/
#undef DDR_PHY_DX4GCR0_RTTOH_DEFVAL 
#undef DDR_PHY_DX4GCR0_RTTOH_SHIFT 
#undef DDR_PHY_DX4GCR0_RTTOH_MASK 
#define DDR_PHY_DX4GCR0_RTTOH_DEFVAL                           0x40200204
#define DDR_PHY_DX4GCR0_RTTOH_SHIFT                            9
#define DDR_PHY_DX4GCR0_RTTOH_MASK                             0x00000600U

/*
* Configurable PDR Phase Shift
*/
#undef DDR_PHY_DX4GCR0_CPDRSHFT_DEFVAL 
#undef DDR_PHY_DX4GCR0_CPDRSHFT_SHIFT 
#undef DDR_PHY_DX4GCR0_CPDRSHFT_MASK 
#define DDR_PHY_DX4GCR0_CPDRSHFT_DEFVAL                        0x40200204
#define DDR_PHY_DX4GCR0_CPDRSHFT_SHIFT                         7
#define DDR_PHY_DX4GCR0_CPDRSHFT_MASK                          0x00000180U

/*
* DQSR Power Down
*/
#undef DDR_PHY_DX4GCR0_DQSRPD_DEFVAL 
#undef DDR_PHY_DX4GCR0_DQSRPD_SHIFT 
#undef DDR_PHY_DX4GCR0_DQSRPD_MASK 
#define DDR_PHY_DX4GCR0_DQSRPD_DEFVAL                          0x40200204
#define DDR_PHY_DX4GCR0_DQSRPD_SHIFT                           6
#define DDR_PHY_DX4GCR0_DQSRPD_MASK                            0x00000040U

/*
* DQSG Power Down Receiver
*/
#undef DDR_PHY_DX4GCR0_DQSGPDR_DEFVAL 
#undef DDR_PHY_DX4GCR0_DQSGPDR_SHIFT 
#undef DDR_PHY_DX4GCR0_DQSGPDR_MASK 
#define DDR_PHY_DX4GCR0_DQSGPDR_DEFVAL                         0x40200204
#define DDR_PHY_DX4GCR0_DQSGPDR_SHIFT                          5
#define DDR_PHY_DX4GCR0_DQSGPDR_MASK                           0x00000020U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_DX4GCR0_RESERVED_4_DEFVAL 
#undef DDR_PHY_DX4GCR0_RESERVED_4_SHIFT 
#undef DDR_PHY_DX4GCR0_RESERVED_4_MASK 
#define DDR_PHY_DX4GCR0_RESERVED_4_DEFVAL                      0x40200204
#define DDR_PHY_DX4GCR0_RESERVED_4_SHIFT                       4
#define DDR_PHY_DX4GCR0_RESERVED_4_MASK                        0x00000010U

/*
* DQSG On-Die Termination
*/
#undef DDR_PHY_DX4GCR0_DQSGODT_DEFVAL 
#undef DDR_PHY_DX4GCR0_DQSGODT_SHIFT 
#undef DDR_PHY_DX4GCR0_DQSGODT_MASK 
#define DDR_PHY_DX4GCR0_DQSGODT_DEFVAL                         0x40200204
#define DDR_PHY_DX4GCR0_DQSGODT_SHIFT                          3
#define DDR_PHY_DX4GCR0_DQSGODT_MASK                           0x00000008U

/*
* DQSG Output Enable
*/
#undef DDR_PHY_DX4GCR0_DQSGOE_DEFVAL 
#undef DDR_PHY_DX4GCR0_DQSGOE_SHIFT 
#undef DDR_PHY_DX4GCR0_DQSGOE_MASK 
#define DDR_PHY_DX4GCR0_DQSGOE_DEFVAL                          0x40200204
#define DDR_PHY_DX4GCR0_DQSGOE_SHIFT                           2
#define DDR_PHY_DX4GCR0_DQSGOE_MASK                            0x00000004U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_DX4GCR0_RESERVED_1_0_DEFVAL 
#undef DDR_PHY_DX4GCR0_RESERVED_1_0_SHIFT 
#undef DDR_PHY_DX4GCR0_RESERVED_1_0_MASK 
#define DDR_PHY_DX4GCR0_RESERVED_1_0_DEFVAL                    0x40200204
#define DDR_PHY_DX4GCR0_RESERVED_1_0_SHIFT                     0
#define DDR_PHY_DX4GCR0_RESERVED_1_0_MASK                      0x00000003U

/*
* Enables the PDR mode for DQ[7:0]
*/
#undef DDR_PHY_DX4GCR1_DXPDRMODE_DEFVAL 
#undef DDR_PHY_DX4GCR1_DXPDRMODE_SHIFT 
#undef DDR_PHY_DX4GCR1_DXPDRMODE_MASK 
#define DDR_PHY_DX4GCR1_DXPDRMODE_DEFVAL                       0x00007FFF
#define DDR_PHY_DX4GCR1_DXPDRMODE_SHIFT                        16
#define DDR_PHY_DX4GCR1_DXPDRMODE_MASK                         0xFFFF0000U

/*
* Reserved. Returns zeroes on reads.
*/
#undef DDR_PHY_DX4GCR1_RESERVED_15_DEFVAL 
#undef DDR_PHY_DX4GCR1_RESERVED_15_SHIFT 
#undef DDR_PHY_DX4GCR1_RESERVED_15_MASK 
#define DDR_PHY_DX4GCR1_RESERVED_15_DEFVAL                     0x00007FFF
#define DDR_PHY_DX4GCR1_RESERVED_15_SHIFT                      15
#define DDR_PHY_DX4GCR1_RESERVED_15_MASK                       0x00008000U

/*
* Select the delayed or non-delayed read data strobe #
*/
#undef DDR_PHY_DX4GCR1_QSNSEL_DEFVAL 
#undef DDR_PHY_DX4GCR1_QSNSEL_SHIFT 
#undef DDR_PHY_DX4GCR1_QSNSEL_MASK 
#define DDR_PHY_DX4GCR1_QSNSEL_DEFVAL                          0x00007FFF
#define DDR_PHY_DX4GCR1_QSNSEL_SHIFT                           14
#define DDR_PHY_DX4GCR1_QSNSEL_MASK                            0x00004000U

/*
* Select the delayed or non-delayed read data strobe
*/
#undef DDR_PHY_DX4GCR1_QSSEL_DEFVAL 
#undef DDR_PHY_DX4GCR1_QSSEL_SHIFT 
#undef DDR_PHY_DX4GCR1_QSSEL_MASK 
#define DDR_PHY_DX4GCR1_QSSEL_DEFVAL                           0x00007FFF
#define DDR_PHY_DX4GCR1_QSSEL_SHIFT                            13
#define DDR_PHY_DX4GCR1_QSSEL_MASK                             0x00002000U

/*
* Enables Read Data Strobe in a byte lane
*/
#undef DDR_PHY_DX4GCR1_OEEN_DEFVAL 
#undef DDR_PHY_DX4GCR1_OEEN_SHIFT 
#undef DDR_PHY_DX4GCR1_OEEN_MASK 
#define DDR_PHY_DX4GCR1_OEEN_DEFVAL                            0x00007FFF
#define DDR_PHY_DX4GCR1_OEEN_SHIFT                             12
#define DDR_PHY_DX4GCR1_OEEN_MASK                              0x00001000U

/*
* Enables PDR in a byte lane
*/
#undef DDR_PHY_DX4GCR1_PDREN_DEFVAL 
#undef DDR_PHY_DX4GCR1_PDREN_SHIFT 
#undef DDR_PHY_DX4GCR1_PDREN_MASK 
#define DDR_PHY_DX4GCR1_PDREN_DEFVAL                           0x00007FFF
#define DDR_PHY_DX4GCR1_PDREN_SHIFT                            11
#define DDR_PHY_DX4GCR1_PDREN_MASK                             0x00000800U

/*
* Enables ODT/TE in a byte lane
*/
#undef DDR_PHY_DX4GCR1_TEEN_DEFVAL 
#undef DDR_PHY_DX4GCR1_TEEN_SHIFT 
#undef DDR_PHY_DX4GCR1_TEEN_MASK 
#define DDR_PHY_DX4GCR1_TEEN_DEFVAL                            0x00007FFF
#define DDR_PHY_DX4GCR1_TEEN_SHIFT                             10
#define DDR_PHY_DX4GCR1_TEEN_MASK                              0x00000400U

/*
* Enables Write Data strobe in a byte lane
*/
#undef DDR_PHY_DX4GCR1_DSEN_DEFVAL 
#undef DDR_PHY_DX4GCR1_DSEN_SHIFT 
#undef DDR_PHY_DX4GCR1_DSEN_MASK 
#define DDR_PHY_DX4GCR1_DSEN_DEFVAL                            0x00007FFF
#define DDR_PHY_DX4GCR1_DSEN_SHIFT                             9
#define DDR_PHY_DX4GCR1_DSEN_MASK                              0x00000200U

/*
* Enables DM pin in a byte lane
*/
#undef DDR_PHY_DX4GCR1_DMEN_DEFVAL 
#undef DDR_PHY_DX4GCR1_DMEN_SHIFT 
#undef DDR_PHY_DX4GCR1_DMEN_MASK 
#define DDR_PHY_DX4GCR1_DMEN_DEFVAL                            0x00007FFF
#define DDR_PHY_DX4GCR1_DMEN_SHIFT                             8
#define DDR_PHY_DX4GCR1_DMEN_MASK                              0x00000100U

/*
* Enables DQ corresponding to each bit in a byte
*/
#undef DDR_PHY_DX4GCR1_DQEN_DEFVAL 
#undef DDR_PHY_DX4GCR1_DQEN_SHIFT 
#undef DDR_PHY_DX4GCR1_DQEN_MASK 
#define DDR_PHY_DX4GCR1_DQEN_DEFVAL                            0x00007FFF
#define DDR_PHY_DX4GCR1_DQEN_SHIFT                             0
#define DDR_PHY_DX4GCR1_DQEN_MASK                              0x000000FFU

/*
* Byte lane VREF IOM (Used only by D4MU IOs)
*/
#undef DDR_PHY_DX4GCR4_RESERVED_31_29_DEFVAL 
#undef DDR_PHY_DX4GCR4_RESERVED_31_29_SHIFT 
#undef DDR_PHY_DX4GCR4_RESERVED_31_29_MASK 
#define DDR_PHY_DX4GCR4_RESERVED_31_29_DEFVAL                  0x0E00003C
#define DDR_PHY_DX4GCR4_RESERVED_31_29_SHIFT                   29
#define DDR_PHY_DX4GCR4_RESERVED_31_29_MASK                    0xE0000000U

/*
* Byte Lane VREF Pad Enable
*/
#undef DDR_PHY_DX4GCR4_DXREFPEN_DEFVAL 
#undef DDR_PHY_DX4GCR4_DXREFPEN_SHIFT 
#undef DDR_PHY_DX4GCR4_DXREFPEN_MASK 
#define DDR_PHY_DX4GCR4_DXREFPEN_DEFVAL                        0x0E00003C
#define DDR_PHY_DX4GCR4_DXREFPEN_SHIFT                         28
#define DDR_PHY_DX4GCR4_DXREFPEN_MASK                          0x10000000U

/*
* Byte Lane Internal VREF Enable
*/
#undef DDR_PHY_DX4GCR4_DXREFEEN_DEFVAL 
#undef DDR_PHY_DX4GCR4_DXREFEEN_SHIFT 
#undef DDR_PHY_DX4GCR4_DXREFEEN_MASK 
#define DDR_PHY_DX4GCR4_DXREFEEN_DEFVAL                        0x0E00003C
#define DDR_PHY_DX4GCR4_DXREFEEN_SHIFT                         26
#define DDR_PHY_DX4GCR4_DXREFEEN_MASK                          0x0C000000U

/*
* Byte Lane Single-End VREF Enable
*/
#undef DDR_PHY_DX4GCR4_DXREFSEN_DEFVAL 
#undef DDR_PHY_DX4GCR4_DXREFSEN_SHIFT 
#undef DDR_PHY_DX4GCR4_DXREFSEN_MASK 
#define DDR_PHY_DX4GCR4_DXREFSEN_DEFVAL                        0x0E00003C
#define DDR_PHY_DX4GCR4_DXREFSEN_SHIFT                         25
#define DDR_PHY_DX4GCR4_DXREFSEN_MASK                          0x02000000U

/*
* Reserved. Returns zeros on reads.
*/
#undef DDR_PHY_DX4GCR4_RESERVED_24_DEFVAL 
#undef DDR_PHY_DX4GCR4_RESERVED_24_SHIFT 
#undef DDR_PHY_DX4GCR4_RESERVED_24_MASK 
#define DDR_PHY_DX4GCR4_RESERVED_24_DEFVAL                     0x0E00003C
#define DDR_PHY_DX4GCR4_RESERVED_24_SHIFT                      24
#define DDR_PHY_DX4GCR4_RESERVED_24_MASK                       0x01000000U

/*
* External VREF generator REFSEL range select
*/
#undef DDR_PHY_DX4GCR4_DXREFESELRANGE_DEFVAL 
#undef DDR_PHY_DX4GCR4_DXREFESELRANGE_SHIFT 
#undef DDR_PHY_DX4GCR4_DXREFESELRANGE_MASK 
#define DDR_PHY_DX4GCR4_DXREFESELRANGE_DEFVAL                  0x0E00003C
#define DDR_PHY_DX4GCR4_DXREFESELRANGE_SHIFT                   23
#define DDR_PHY_DX4GCR4_DXREFESELRANGE_MASK                    0x00800000U

/*
* Byte Lane External VREF Select
*/
#undef DDR_PHY_DX4GCR4_DXREFESEL_DEFVAL 
#undef DDR_PHY_DX4GCR4_DXREFESEL_SHIFT 
#undef DDR_PHY_DX4GCR4_DXREFESEL_MASK 
#define DDR_PHY_DX4GCR4_DXREFESEL_DEFVAL                       0x0E00003C
#define DDR_PHY_DX4GCR4_DXREFESEL_SHIFT                        16
#define DDR_PHY_DX4GCR4_DXREFESEL_MASK                         0x007F0000U

/*
* Single ended VREF generator REFSEL range select
*/
#undef DDR_PHY_DX4GCR4_DXREFSSELRANGE_DEFVAL 
#undef DDR_PHY_DX4GCR4_DXREFSSELRANGE_SHIFT 
#undef DDR_PHY_DX4GCR4_DXREFSSELRANGE_MASK 
#define DDR_PHY_DX4GCR4_DXREFSSELRANGE_DEFVAL                  0x0E00003C
#define DDR_PHY_DX4GCR4_DXREFSSELRANGE_SHIFT                   15
#define DDR_PHY_DX4GCR4_DXREFSSELRANGE_MASK                    0x00008000U

/*
* Byte Lane Single-End VREF Select
*/
#undef DDR_PHY_DX4GCR4_DXREFSSEL_DEFVAL 
#undef DDR_PHY_DX4GCR4_DXREFSSEL_SHIFT 
#undef DDR_PHY_DX4GCR4_DXREFSSEL_MASK 
#define DDR_PHY_DX4GCR4_DXREFSSEL_DEFVAL                       0x0E00003C
#define DDR_PHY_DX4GCR4_DXREFSSEL_SHIFT                        8
#define DDR_PHY_DX4GCR4_DXREFSSEL_MASK                         0x00007F00U

/*
* Reserved. Returns zeros on reads.
*/
#undef DDR_PHY_DX4GCR4_RESERVED_7_6_DEFVAL 
#undef DDR_PHY_DX4GCR4_RESERVED_7_6_SHIFT 
#undef DDR_PHY_DX4GCR4_RESERVED_7_6_MASK 
#define DDR_PHY_DX4GCR4_RESERVED_7_6_DEFVAL                    0x0E00003C
#define DDR_PHY_DX4GCR4_RESERVED_7_6_SHIFT                     6
#define DDR_PHY_DX4GCR4_RESERVED_7_6_MASK                      0x000000C0U

/*
* VREF Enable control for DQ IO (Single Ended) buffers of a byte lane.
*/
#undef DDR_PHY_DX4GCR4_DXREFIEN_DEFVAL 
#undef DDR_PHY_DX4GCR4_DXREFIEN_SHIFT 
#undef DDR_PHY_DX4GCR4_DXREFIEN_MASK 
#define DDR_PHY_DX4GCR4_DXREFIEN_DEFVAL                        0x0E00003C
#define DDR_PHY_DX4GCR4_DXREFIEN_SHIFT                         2
#define DDR_PHY_DX4GCR4_DXREFIEN_MASK                          0x0000003CU

/*
* VRMON control for DQ IO (Single Ended) buffers of a byte lane.
*/
#undef DDR_PHY_DX4GCR4_DXREFIMON_DEFVAL 
#undef DDR_PHY_DX4GCR4_DXREFIMON_SHIFT 
#undef DDR_PHY_DX4GCR4_DXREFIMON_MASK 
#define DDR_PHY_DX4GCR4_DXREFIMON_DEFVAL                       0x0E00003C
#define DDR_PHY_DX4GCR4_DXREFIMON_SHIFT                        0
#define DDR_PHY_DX4GCR4_DXREFIMON_MASK                         0x00000003U

/*
* Reserved. Returns zeros on reads.
*/
#undef DDR_PHY_DX4GCR5_RESERVED_31_DEFVAL 
#undef DDR_PHY_DX4GCR5_RESERVED_31_SHIFT 
#undef DDR_PHY_DX4GCR5_RESERVED_31_MASK 
#define DDR_PHY_DX4GCR5_RESERVED_31_DEFVAL                     0x09090909
#define DDR_PHY_DX4GCR5_RESERVED_31_SHIFT                      31
#define DDR_PHY_DX4GCR5_RESERVED_31_MASK                       0x80000000U

/*
* Byte Lane internal VREF Select for Rank 3
*/
#undef DDR_PHY_DX4GCR5_DXREFISELR3_DEFVAL 
#undef DDR_PHY_DX4GCR5_DXREFISELR3_SHIFT 
#undef DDR_PHY_DX4GCR5_DXREFISELR3_MASK 
#define DDR_PHY_DX4GCR5_DXREFISELR3_DEFVAL                     0x09090909
#define DDR_PHY_DX4GCR5_DXREFISELR3_SHIFT                      24
#define DDR_PHY_DX4GCR5_DXREFISELR3_MASK                       0x7F000000U

/*
* Reserved. Returns zeros on reads.
*/
#undef DDR_PHY_DX4GCR5_RESERVED_23_DEFVAL 
#undef DDR_PHY_DX4GCR5_RESERVED_23_SHIFT 
#undef DDR_PHY_DX4GCR5_RESERVED_23_MASK 
#define DDR_PHY_DX4GCR5_RESERVED_23_DEFVAL                     0x09090909
#define DDR_PHY_DX4GCR5_RESERVED_23_SHIFT                      23
#define DDR_PHY_DX4GCR5_RESERVED_23_MASK                       0x00800000U

/*
* Byte Lane internal VREF Select for Rank 2
*/
#undef DDR_PHY_DX4GCR5_DXREFISELR2_DEFVAL 
#undef DDR_PHY_DX4GCR5_DXREFISELR2_SHIFT 
#undef DDR_PHY_DX4GCR5_DXREFISELR2_MASK 
#define DDR_PHY_DX4GCR5_DXREFISELR2_DEFVAL                     0x09090909
#define DDR_PHY_DX4GCR5_DXREFISELR2_SHIFT                      16
#define DDR_PHY_DX4GCR5_DXREFISELR2_MASK                       0x007F0000U

/*
* Reserved. Returns zeros on reads.
*/
#undef DDR_PHY_DX4GCR5_RESERVED_15_DEFVAL 
#undef DDR_PHY_DX4GCR5_RESERVED_15_SHIFT 
#undef DDR_PHY_DX4GCR5_RESERVED_15_MASK 
#define DDR_PHY_DX4GCR5_RESERVED_15_DEFVAL                     0x09090909
#define DDR_PHY_DX4GCR5_RESERVED_15_SHIFT                      15
#define DDR_PHY_DX4GCR5_RESERVED_15_MASK                       0x00008000U

/*
* Byte Lane internal VREF Select for Rank 1
*/
#undef DDR_PHY_DX4GCR5_DXREFISELR1_DEFVAL 
#undef DDR_PHY_DX4GCR5_DXREFISELR1_SHIFT 
#undef DDR_PHY_DX4GCR5_DXREFISELR1_MASK 
#define DDR_PHY_DX4GCR5_DXREFISELR1_DEFVAL                     0x09090909
#define DDR_PHY_DX4GCR5_DXREFISELR1_SHIFT                      8
#define DDR_PHY_DX4GCR5_DXREFISELR1_MASK                       0x00007F00U

/*
* Reserved. Returns zeros on reads.
*/
#undef DDR_PHY_DX4GCR5_RESERVED_7_DEFVAL 
#undef DDR_PHY_DX4GCR5_RESERVED_7_SHIFT 
#undef DDR_PHY_DX4GCR5_RESERVED_7_MASK 
#define DDR_PHY_DX4GCR5_RESERVED_7_DEFVAL                      0x09090909
#define DDR_PHY_DX4GCR5_RESERVED_7_SHIFT                       7
#define DDR_PHY_DX4GCR5_RESERVED_7_MASK                        0x00000080U

/*
* Byte Lane internal VREF Select for Rank 0
*/
#undef DDR_PHY_DX4GCR5_DXREFISELR0_DEFVAL 
#undef DDR_PHY_DX4GCR5_DXREFISELR0_SHIFT 
#undef DDR_PHY_DX4GCR5_DXREFISELR0_MASK 
#define DDR_PHY_DX4GCR5_DXREFISELR0_DEFVAL                     0x09090909
#define DDR_PHY_DX4GCR5_DXREFISELR0_SHIFT                      0
#define DDR_PHY_DX4GCR5_DXREFISELR0_MASK                       0x0000007FU

/*
* Reserved. Returns zeros on reads.
*/
#undef DDR_PHY_DX4GCR6_RESERVED_31_30_DEFVAL 
#undef DDR_PHY_DX4GCR6_RESERVED_31_30_SHIFT 
#undef DDR_PHY_DX4GCR6_RESERVED_31_30_MASK 
#define DDR_PHY_DX4GCR6_RESERVED_31_30_DEFVAL                  0x09090909
#define DDR_PHY_DX4GCR6_RESERVED_31_30_SHIFT                   30
#define DDR_PHY_DX4GCR6_RESERVED_31_30_MASK                    0xC0000000U

/*
* DRAM DQ VREF Select for Rank3
*/
#undef DDR_PHY_DX4GCR6_DXDQVREFR3_DEFVAL 
#undef DDR_PHY_DX4GCR6_DXDQVREFR3_SHIFT 
#undef DDR_PHY_DX4GCR6_DXDQVREFR3_MASK 
#define DDR_PHY_DX4GCR6_DXDQVREFR3_DEFVAL                      0x09090909
#define DDR_PHY_DX4GCR6_DXDQVREFR3_SHIFT                       24
#define DDR_PHY_DX4GCR6_DXDQVREFR3_MASK                        0x3F000000U

/*
* Reserved. Returns zeros on reads.
*/
#undef DDR_PHY_DX4GCR6_RESERVED_23_22_DEFVAL 
#undef DDR_PHY_DX4GCR6_RESERVED_23_22_SHIFT 
#undef DDR_PHY_DX4GCR6_RESERVED_23_22_MASK 
#define DDR_PHY_DX4GCR6_RESERVED_23_22_DEFVAL                  0x09090909
#define DDR_PHY_DX4GCR6_RESERVED_23_22_SHIFT                   22
#define DDR_PHY_DX4GCR6_RESERVED_23_22_MASK                    0x00C00000U

/*
* DRAM DQ VREF Select for Rank2
*/
#undef DDR_PHY_DX4GCR6_DXDQVREFR2_DEFVAL 
#undef DDR_PHY_DX4GCR6_DXDQVREFR2_SHIFT 
#undef DDR_PHY_DX4GCR6_DXDQVREFR2_MASK 
#define DDR_PHY_DX4GCR6_DXDQVREFR2_DEFVAL                      0x09090909
#define DDR_PHY_DX4GCR6_DXDQVREFR2_SHIFT                       16
#define DDR_PHY_DX4GCR6_DXDQVREFR2_MASK                        0x003F0000U

/*
* Reserved. Returns zeros on reads.
*/
#undef DDR_PHY_DX4GCR6_RESERVED_15_14_DEFVAL 
#undef DDR_PHY_DX4GCR6_RESERVED_15_14_SHIFT 
#undef DDR_PHY_DX4GCR6_RESERVED_15_14_MASK 
#define DDR_PHY_DX4GCR6_RESERVED_15_14_DEFVAL                  0x09090909
#define DDR_PHY_DX4GCR6_RESERVED_15_14_SHIFT                   14
#define DDR_PHY_DX4GCR6_RESERVED_15_14_MASK                    0x0000C000U

/*
* DRAM DQ VREF Select for Rank1
*/
#undef DDR_PHY_DX4GCR6_DXDQVREFR1_DEFVAL 
#undef DDR_PHY_DX4GCR6_DXDQVREFR1_SHIFT 
#undef DDR_PHY_DX4GCR6_DXDQVREFR1_MASK 
#define DDR_PHY_DX4GCR6_DXDQVREFR1_DEFVAL                      0x09090909
#define DDR_PHY_DX4GCR6_DXDQVREFR1_SHIFT                       8
#define DDR_PHY_DX4GCR6_DXDQVREFR1_MASK                        0x00003F00U

/*
* Reserved. Returns zeros on reads.
*/
#undef DDR_PHY_DX4GCR6_RESERVED_7_6_DEFVAL 
#undef DDR_PHY_DX4GCR6_RESERVED_7_6_SHIFT 
#undef DDR_PHY_DX4GCR6_RESERVED_7_6_MASK 
#define DDR_PHY_DX4GCR6_RESERVED_7_6_DEFVAL                    0x09090909
#define DDR_PHY_DX4GCR6_RESERVED_7_6_SHIFT                     6
#define DDR_PHY_DX4GCR6_RESERVED_7_6_MASK                      0x000000C0U

/*
* DRAM DQ VREF Select for Rank0
*/
#undef DDR_PHY_DX4GCR6_DXDQVREFR0_DEFVAL 
#undef DDR_PHY_DX4GCR6_DXDQVREFR0_SHIFT 
#undef DDR_PHY_DX4GCR6_DXDQVREFR0_MASK 
#define DDR_PHY_DX4GCR6_DXDQVREFR0_DEFVAL                      0x09090909
#define DDR_PHY_DX4GCR6_DXDQVREFR0_SHIFT                       0
#define DDR_PHY_DX4GCR6_DXDQVREFR0_MASK                        0x0000003FU

/*
* Calibration Bypass
*/
#undef DDR_PHY_DX5GCR0_CALBYP_DEFVAL 
#undef DDR_PHY_DX5GCR0_CALBYP_SHIFT 
#undef DDR_PHY_DX5GCR0_CALBYP_MASK 
#define DDR_PHY_DX5GCR0_CALBYP_DEFVAL                          0x40200204
#define DDR_PHY_DX5GCR0_CALBYP_SHIFT                           31
#define DDR_PHY_DX5GCR0_CALBYP_MASK                            0x80000000U

/*
* Master Delay Line Enable
*/
#undef DDR_PHY_DX5GCR0_MDLEN_DEFVAL 
#undef DDR_PHY_DX5GCR0_MDLEN_SHIFT 
#undef DDR_PHY_DX5GCR0_MDLEN_MASK 
#define DDR_PHY_DX5GCR0_MDLEN_DEFVAL                           0x40200204
#define DDR_PHY_DX5GCR0_MDLEN_SHIFT                            30
#define DDR_PHY_DX5GCR0_MDLEN_MASK                             0x40000000U

/*
* Configurable ODT(TE) Phase Shift
*/
#undef DDR_PHY_DX5GCR0_CODTSHFT_DEFVAL 
#undef DDR_PHY_DX5GCR0_CODTSHFT_SHIFT 
#undef DDR_PHY_DX5GCR0_CODTSHFT_MASK 
#define DDR_PHY_DX5GCR0_CODTSHFT_DEFVAL                        0x40200204
#define DDR_PHY_DX5GCR0_CODTSHFT_SHIFT                         28
#define DDR_PHY_DX5GCR0_CODTSHFT_MASK                          0x30000000U

/*
* DQS Duty Cycle Correction
*/
#undef DDR_PHY_DX5GCR0_DQSDCC_DEFVAL 
#undef DDR_PHY_DX5GCR0_DQSDCC_SHIFT 
#undef DDR_PHY_DX5GCR0_DQSDCC_MASK 
#define DDR_PHY_DX5GCR0_DQSDCC_DEFVAL                          0x40200204
#define DDR_PHY_DX5GCR0_DQSDCC_SHIFT                           24
#define DDR_PHY_DX5GCR0_DQSDCC_MASK                            0x0F000000U

/*
* Number of Cycles ( in terms of ctl_clk) to generate ctl_dx_get_static_rd
    *  input for the respective bypte lane of the PHY
*/
#undef DDR_PHY_DX5GCR0_RDDLY_DEFVAL 
#undef DDR_PHY_DX5GCR0_RDDLY_SHIFT 
#undef DDR_PHY_DX5GCR0_RDDLY_MASK 
#define DDR_PHY_DX5GCR0_RDDLY_DEFVAL                           0x40200204
#define DDR_PHY_DX5GCR0_RDDLY_SHIFT                            20
#define DDR_PHY_DX5GCR0_RDDLY_MASK                             0x00F00000U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_DX5GCR0_RESERVED_19_14_DEFVAL 
#undef DDR_PHY_DX5GCR0_RESERVED_19_14_SHIFT 
#undef DDR_PHY_DX5GCR0_RESERVED_19_14_MASK 
#define DDR_PHY_DX5GCR0_RESERVED_19_14_DEFVAL                  0x40200204
#define DDR_PHY_DX5GCR0_RESERVED_19_14_SHIFT                   14
#define DDR_PHY_DX5GCR0_RESERVED_19_14_MASK                    0x000FC000U

/*
* DQSNSE Power Down Receiver
*/
#undef DDR_PHY_DX5GCR0_DQSNSEPDR_DEFVAL 
#undef DDR_PHY_DX5GCR0_DQSNSEPDR_SHIFT 
#undef DDR_PHY_DX5GCR0_DQSNSEPDR_MASK 
#define DDR_PHY_DX5GCR0_DQSNSEPDR_DEFVAL                       0x40200204
#define DDR_PHY_DX5GCR0_DQSNSEPDR_SHIFT                        13
#define DDR_PHY_DX5GCR0_DQSNSEPDR_MASK                         0x00002000U

/*
* DQSSE Power Down Receiver
*/
#undef DDR_PHY_DX5GCR0_DQSSEPDR_DEFVAL 
#undef DDR_PHY_DX5GCR0_DQSSEPDR_SHIFT 
#undef DDR_PHY_DX5GCR0_DQSSEPDR_MASK 
#define DDR_PHY_DX5GCR0_DQSSEPDR_DEFVAL                        0x40200204
#define DDR_PHY_DX5GCR0_DQSSEPDR_SHIFT                         12
#define DDR_PHY_DX5GCR0_DQSSEPDR_MASK                          0x00001000U

/*
* RTT On Additive Latency
*/
#undef DDR_PHY_DX5GCR0_RTTOAL_DEFVAL 
#undef DDR_PHY_DX5GCR0_RTTOAL_SHIFT 
#undef DDR_PHY_DX5GCR0_RTTOAL_MASK 
#define DDR_PHY_DX5GCR0_RTTOAL_DEFVAL                          0x40200204
#define DDR_PHY_DX5GCR0_RTTOAL_SHIFT                           11
#define DDR_PHY_DX5GCR0_RTTOAL_MASK                            0x00000800U

/*
* RTT Output Hold
*/
#undef DDR_PHY_DX5GCR0_RTTOH_DEFVAL 
#undef DDR_PHY_DX5GCR0_RTTOH_SHIFT 
#undef DDR_PHY_DX5GCR0_RTTOH_MASK 
#define DDR_PHY_DX5GCR0_RTTOH_DEFVAL                           0x40200204
#define DDR_PHY_DX5GCR0_RTTOH_SHIFT                            9
#define DDR_PHY_DX5GCR0_RTTOH_MASK                             0x00000600U

/*
* Configurable PDR Phase Shift
*/
#undef DDR_PHY_DX5GCR0_CPDRSHFT_DEFVAL 
#undef DDR_PHY_DX5GCR0_CPDRSHFT_SHIFT 
#undef DDR_PHY_DX5GCR0_CPDRSHFT_MASK 
#define DDR_PHY_DX5GCR0_CPDRSHFT_DEFVAL                        0x40200204
#define DDR_PHY_DX5GCR0_CPDRSHFT_SHIFT                         7
#define DDR_PHY_DX5GCR0_CPDRSHFT_MASK                          0x00000180U

/*
* DQSR Power Down
*/
#undef DDR_PHY_DX5GCR0_DQSRPD_DEFVAL 
#undef DDR_PHY_DX5GCR0_DQSRPD_SHIFT 
#undef DDR_PHY_DX5GCR0_DQSRPD_MASK 
#define DDR_PHY_DX5GCR0_DQSRPD_DEFVAL                          0x40200204
#define DDR_PHY_DX5GCR0_DQSRPD_SHIFT                           6
#define DDR_PHY_DX5GCR0_DQSRPD_MASK                            0x00000040U

/*
* DQSG Power Down Receiver
*/
#undef DDR_PHY_DX5GCR0_DQSGPDR_DEFVAL 
#undef DDR_PHY_DX5GCR0_DQSGPDR_SHIFT 
#undef DDR_PHY_DX5GCR0_DQSGPDR_MASK 
#define DDR_PHY_DX5GCR0_DQSGPDR_DEFVAL                         0x40200204
#define DDR_PHY_DX5GCR0_DQSGPDR_SHIFT                          5
#define DDR_PHY_DX5GCR0_DQSGPDR_MASK                           0x00000020U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_DX5GCR0_RESERVED_4_DEFVAL 
#undef DDR_PHY_DX5GCR0_RESERVED_4_SHIFT 
#undef DDR_PHY_DX5GCR0_RESERVED_4_MASK 
#define DDR_PHY_DX5GCR0_RESERVED_4_DEFVAL                      0x40200204
#define DDR_PHY_DX5GCR0_RESERVED_4_SHIFT                       4
#define DDR_PHY_DX5GCR0_RESERVED_4_MASK                        0x00000010U

/*
* DQSG On-Die Termination
*/
#undef DDR_PHY_DX5GCR0_DQSGODT_DEFVAL 
#undef DDR_PHY_DX5GCR0_DQSGODT_SHIFT 
#undef DDR_PHY_DX5GCR0_DQSGODT_MASK 
#define DDR_PHY_DX5GCR0_DQSGODT_DEFVAL                         0x40200204
#define DDR_PHY_DX5GCR0_DQSGODT_SHIFT                          3
#define DDR_PHY_DX5GCR0_DQSGODT_MASK                           0x00000008U

/*
* DQSG Output Enable
*/
#undef DDR_PHY_DX5GCR0_DQSGOE_DEFVAL 
#undef DDR_PHY_DX5GCR0_DQSGOE_SHIFT 
#undef DDR_PHY_DX5GCR0_DQSGOE_MASK 
#define DDR_PHY_DX5GCR0_DQSGOE_DEFVAL                          0x40200204
#define DDR_PHY_DX5GCR0_DQSGOE_SHIFT                           2
#define DDR_PHY_DX5GCR0_DQSGOE_MASK                            0x00000004U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_DX5GCR0_RESERVED_1_0_DEFVAL 
#undef DDR_PHY_DX5GCR0_RESERVED_1_0_SHIFT 
#undef DDR_PHY_DX5GCR0_RESERVED_1_0_MASK 
#define DDR_PHY_DX5GCR0_RESERVED_1_0_DEFVAL                    0x40200204
#define DDR_PHY_DX5GCR0_RESERVED_1_0_SHIFT                     0
#define DDR_PHY_DX5GCR0_RESERVED_1_0_MASK                      0x00000003U

/*
* Enables the PDR mode for DQ[7:0]
*/
#undef DDR_PHY_DX5GCR1_DXPDRMODE_DEFVAL 
#undef DDR_PHY_DX5GCR1_DXPDRMODE_SHIFT 
#undef DDR_PHY_DX5GCR1_DXPDRMODE_MASK 
#define DDR_PHY_DX5GCR1_DXPDRMODE_DEFVAL                       0x00007FFF
#define DDR_PHY_DX5GCR1_DXPDRMODE_SHIFT                        16
#define DDR_PHY_DX5GCR1_DXPDRMODE_MASK                         0xFFFF0000U

/*
* Reserved. Returns zeroes on reads.
*/
#undef DDR_PHY_DX5GCR1_RESERVED_15_DEFVAL 
#undef DDR_PHY_DX5GCR1_RESERVED_15_SHIFT 
#undef DDR_PHY_DX5GCR1_RESERVED_15_MASK 
#define DDR_PHY_DX5GCR1_RESERVED_15_DEFVAL                     0x00007FFF
#define DDR_PHY_DX5GCR1_RESERVED_15_SHIFT                      15
#define DDR_PHY_DX5GCR1_RESERVED_15_MASK                       0x00008000U

/*
* Select the delayed or non-delayed read data strobe #
*/
#undef DDR_PHY_DX5GCR1_QSNSEL_DEFVAL 
#undef DDR_PHY_DX5GCR1_QSNSEL_SHIFT 
#undef DDR_PHY_DX5GCR1_QSNSEL_MASK 
#define DDR_PHY_DX5GCR1_QSNSEL_DEFVAL                          0x00007FFF
#define DDR_PHY_DX5GCR1_QSNSEL_SHIFT                           14
#define DDR_PHY_DX5GCR1_QSNSEL_MASK                            0x00004000U

/*
* Select the delayed or non-delayed read data strobe
*/
#undef DDR_PHY_DX5GCR1_QSSEL_DEFVAL 
#undef DDR_PHY_DX5GCR1_QSSEL_SHIFT 
#undef DDR_PHY_DX5GCR1_QSSEL_MASK 
#define DDR_PHY_DX5GCR1_QSSEL_DEFVAL                           0x00007FFF
#define DDR_PHY_DX5GCR1_QSSEL_SHIFT                            13
#define DDR_PHY_DX5GCR1_QSSEL_MASK                             0x00002000U

/*
* Enables Read Data Strobe in a byte lane
*/
#undef DDR_PHY_DX5GCR1_OEEN_DEFVAL 
#undef DDR_PHY_DX5GCR1_OEEN_SHIFT 
#undef DDR_PHY_DX5GCR1_OEEN_MASK 
#define DDR_PHY_DX5GCR1_OEEN_DEFVAL                            0x00007FFF
#define DDR_PHY_DX5GCR1_OEEN_SHIFT                             12
#define DDR_PHY_DX5GCR1_OEEN_MASK                              0x00001000U

/*
* Enables PDR in a byte lane
*/
#undef DDR_PHY_DX5GCR1_PDREN_DEFVAL 
#undef DDR_PHY_DX5GCR1_PDREN_SHIFT 
#undef DDR_PHY_DX5GCR1_PDREN_MASK 
#define DDR_PHY_DX5GCR1_PDREN_DEFVAL                           0x00007FFF
#define DDR_PHY_DX5GCR1_PDREN_SHIFT                            11
#define DDR_PHY_DX5GCR1_PDREN_MASK                             0x00000800U

/*
* Enables ODT/TE in a byte lane
*/
#undef DDR_PHY_DX5GCR1_TEEN_DEFVAL 
#undef DDR_PHY_DX5GCR1_TEEN_SHIFT 
#undef DDR_PHY_DX5GCR1_TEEN_MASK 
#define DDR_PHY_DX5GCR1_TEEN_DEFVAL                            0x00007FFF
#define DDR_PHY_DX5GCR1_TEEN_SHIFT                             10
#define DDR_PHY_DX5GCR1_TEEN_MASK                              0x00000400U

/*
* Enables Write Data strobe in a byte lane
*/
#undef DDR_PHY_DX5GCR1_DSEN_DEFVAL 
#undef DDR_PHY_DX5GCR1_DSEN_SHIFT 
#undef DDR_PHY_DX5GCR1_DSEN_MASK 
#define DDR_PHY_DX5GCR1_DSEN_DEFVAL                            0x00007FFF
#define DDR_PHY_DX5GCR1_DSEN_SHIFT                             9
#define DDR_PHY_DX5GCR1_DSEN_MASK                              0x00000200U

/*
* Enables DM pin in a byte lane
*/
#undef DDR_PHY_DX5GCR1_DMEN_DEFVAL 
#undef DDR_PHY_DX5GCR1_DMEN_SHIFT 
#undef DDR_PHY_DX5GCR1_DMEN_MASK 
#define DDR_PHY_DX5GCR1_DMEN_DEFVAL                            0x00007FFF
#define DDR_PHY_DX5GCR1_DMEN_SHIFT                             8
#define DDR_PHY_DX5GCR1_DMEN_MASK                              0x00000100U

/*
* Enables DQ corresponding to each bit in a byte
*/
#undef DDR_PHY_DX5GCR1_DQEN_DEFVAL 
#undef DDR_PHY_DX5GCR1_DQEN_SHIFT 
#undef DDR_PHY_DX5GCR1_DQEN_MASK 
#define DDR_PHY_DX5GCR1_DQEN_DEFVAL                            0x00007FFF
#define DDR_PHY_DX5GCR1_DQEN_SHIFT                             0
#define DDR_PHY_DX5GCR1_DQEN_MASK                              0x000000FFU

/*
* Byte lane VREF IOM (Used only by D4MU IOs)
*/
#undef DDR_PHY_DX5GCR4_RESERVED_31_29_DEFVAL 
#undef DDR_PHY_DX5GCR4_RESERVED_31_29_SHIFT 
#undef DDR_PHY_DX5GCR4_RESERVED_31_29_MASK 
#define DDR_PHY_DX5GCR4_RESERVED_31_29_DEFVAL                  0x0E00003C
#define DDR_PHY_DX5GCR4_RESERVED_31_29_SHIFT                   29
#define DDR_PHY_DX5GCR4_RESERVED_31_29_MASK                    0xE0000000U

/*
* Byte Lane VREF Pad Enable
*/
#undef DDR_PHY_DX5GCR4_DXREFPEN_DEFVAL 
#undef DDR_PHY_DX5GCR4_DXREFPEN_SHIFT 
#undef DDR_PHY_DX5GCR4_DXREFPEN_MASK 
#define DDR_PHY_DX5GCR4_DXREFPEN_DEFVAL                        0x0E00003C
#define DDR_PHY_DX5GCR4_DXREFPEN_SHIFT                         28
#define DDR_PHY_DX5GCR4_DXREFPEN_MASK                          0x10000000U

/*
* Byte Lane Internal VREF Enable
*/
#undef DDR_PHY_DX5GCR4_DXREFEEN_DEFVAL 
#undef DDR_PHY_DX5GCR4_DXREFEEN_SHIFT 
#undef DDR_PHY_DX5GCR4_DXREFEEN_MASK 
#define DDR_PHY_DX5GCR4_DXREFEEN_DEFVAL                        0x0E00003C
#define DDR_PHY_DX5GCR4_DXREFEEN_SHIFT                         26
#define DDR_PHY_DX5GCR4_DXREFEEN_MASK                          0x0C000000U

/*
* Byte Lane Single-End VREF Enable
*/
#undef DDR_PHY_DX5GCR4_DXREFSEN_DEFVAL 
#undef DDR_PHY_DX5GCR4_DXREFSEN_SHIFT 
#undef DDR_PHY_DX5GCR4_DXREFSEN_MASK 
#define DDR_PHY_DX5GCR4_DXREFSEN_DEFVAL                        0x0E00003C
#define DDR_PHY_DX5GCR4_DXREFSEN_SHIFT                         25
#define DDR_PHY_DX5GCR4_DXREFSEN_MASK                          0x02000000U

/*
* Reserved. Returns zeros on reads.
*/
#undef DDR_PHY_DX5GCR4_RESERVED_24_DEFVAL 
#undef DDR_PHY_DX5GCR4_RESERVED_24_SHIFT 
#undef DDR_PHY_DX5GCR4_RESERVED_24_MASK 
#define DDR_PHY_DX5GCR4_RESERVED_24_DEFVAL                     0x0E00003C
#define DDR_PHY_DX5GCR4_RESERVED_24_SHIFT                      24
#define DDR_PHY_DX5GCR4_RESERVED_24_MASK                       0x01000000U

/*
* External VREF generator REFSEL range select
*/
#undef DDR_PHY_DX5GCR4_DXREFESELRANGE_DEFVAL 
#undef DDR_PHY_DX5GCR4_DXREFESELRANGE_SHIFT 
#undef DDR_PHY_DX5GCR4_DXREFESELRANGE_MASK 
#define DDR_PHY_DX5GCR4_DXREFESELRANGE_DEFVAL                  0x0E00003C
#define DDR_PHY_DX5GCR4_DXREFESELRANGE_SHIFT                   23
#define DDR_PHY_DX5GCR4_DXREFESELRANGE_MASK                    0x00800000U

/*
* Byte Lane External VREF Select
*/
#undef DDR_PHY_DX5GCR4_DXREFESEL_DEFVAL 
#undef DDR_PHY_DX5GCR4_DXREFESEL_SHIFT 
#undef DDR_PHY_DX5GCR4_DXREFESEL_MASK 
#define DDR_PHY_DX5GCR4_DXREFESEL_DEFVAL                       0x0E00003C
#define DDR_PHY_DX5GCR4_DXREFESEL_SHIFT                        16
#define DDR_PHY_DX5GCR4_DXREFESEL_MASK                         0x007F0000U

/*
* Single ended VREF generator REFSEL range select
*/
#undef DDR_PHY_DX5GCR4_DXREFSSELRANGE_DEFVAL 
#undef DDR_PHY_DX5GCR4_DXREFSSELRANGE_SHIFT 
#undef DDR_PHY_DX5GCR4_DXREFSSELRANGE_MASK 
#define DDR_PHY_DX5GCR4_DXREFSSELRANGE_DEFVAL                  0x0E00003C
#define DDR_PHY_DX5GCR4_DXREFSSELRANGE_SHIFT                   15
#define DDR_PHY_DX5GCR4_DXREFSSELRANGE_MASK                    0x00008000U

/*
* Byte Lane Single-End VREF Select
*/
#undef DDR_PHY_DX5GCR4_DXREFSSEL_DEFVAL 
#undef DDR_PHY_DX5GCR4_DXREFSSEL_SHIFT 
#undef DDR_PHY_DX5GCR4_DXREFSSEL_MASK 
#define DDR_PHY_DX5GCR4_DXREFSSEL_DEFVAL                       0x0E00003C
#define DDR_PHY_DX5GCR4_DXREFSSEL_SHIFT                        8
#define DDR_PHY_DX5GCR4_DXREFSSEL_MASK                         0x00007F00U

/*
* Reserved. Returns zeros on reads.
*/
#undef DDR_PHY_DX5GCR4_RESERVED_7_6_DEFVAL 
#undef DDR_PHY_DX5GCR4_RESERVED_7_6_SHIFT 
#undef DDR_PHY_DX5GCR4_RESERVED_7_6_MASK 
#define DDR_PHY_DX5GCR4_RESERVED_7_6_DEFVAL                    0x0E00003C
#define DDR_PHY_DX5GCR4_RESERVED_7_6_SHIFT                     6
#define DDR_PHY_DX5GCR4_RESERVED_7_6_MASK                      0x000000C0U

/*
* VREF Enable control for DQ IO (Single Ended) buffers of a byte lane.
*/
#undef DDR_PHY_DX5GCR4_DXREFIEN_DEFVAL 
#undef DDR_PHY_DX5GCR4_DXREFIEN_SHIFT 
#undef DDR_PHY_DX5GCR4_DXREFIEN_MASK 
#define DDR_PHY_DX5GCR4_DXREFIEN_DEFVAL                        0x0E00003C
#define DDR_PHY_DX5GCR4_DXREFIEN_SHIFT                         2
#define DDR_PHY_DX5GCR4_DXREFIEN_MASK                          0x0000003CU

/*
* VRMON control for DQ IO (Single Ended) buffers of a byte lane.
*/
#undef DDR_PHY_DX5GCR4_DXREFIMON_DEFVAL 
#undef DDR_PHY_DX5GCR4_DXREFIMON_SHIFT 
#undef DDR_PHY_DX5GCR4_DXREFIMON_MASK 
#define DDR_PHY_DX5GCR4_DXREFIMON_DEFVAL                       0x0E00003C
#define DDR_PHY_DX5GCR4_DXREFIMON_SHIFT                        0
#define DDR_PHY_DX5GCR4_DXREFIMON_MASK                         0x00000003U

/*
* Reserved. Returns zeros on reads.
*/
#undef DDR_PHY_DX5GCR5_RESERVED_31_DEFVAL 
#undef DDR_PHY_DX5GCR5_RESERVED_31_SHIFT 
#undef DDR_PHY_DX5GCR5_RESERVED_31_MASK 
#define DDR_PHY_DX5GCR5_RESERVED_31_DEFVAL                     0x09090909
#define DDR_PHY_DX5GCR5_RESERVED_31_SHIFT                      31
#define DDR_PHY_DX5GCR5_RESERVED_31_MASK                       0x80000000U

/*
* Byte Lane internal VREF Select for Rank 3
*/
#undef DDR_PHY_DX5GCR5_DXREFISELR3_DEFVAL 
#undef DDR_PHY_DX5GCR5_DXREFISELR3_SHIFT 
#undef DDR_PHY_DX5GCR5_DXREFISELR3_MASK 
#define DDR_PHY_DX5GCR5_DXREFISELR3_DEFVAL                     0x09090909
#define DDR_PHY_DX5GCR5_DXREFISELR3_SHIFT                      24
#define DDR_PHY_DX5GCR5_DXREFISELR3_MASK                       0x7F000000U

/*
* Reserved. Returns zeros on reads.
*/
#undef DDR_PHY_DX5GCR5_RESERVED_23_DEFVAL 
#undef DDR_PHY_DX5GCR5_RESERVED_23_SHIFT 
#undef DDR_PHY_DX5GCR5_RESERVED_23_MASK 
#define DDR_PHY_DX5GCR5_RESERVED_23_DEFVAL                     0x09090909
#define DDR_PHY_DX5GCR5_RESERVED_23_SHIFT                      23
#define DDR_PHY_DX5GCR5_RESERVED_23_MASK                       0x00800000U

/*
* Byte Lane internal VREF Select for Rank 2
*/
#undef DDR_PHY_DX5GCR5_DXREFISELR2_DEFVAL 
#undef DDR_PHY_DX5GCR5_DXREFISELR2_SHIFT 
#undef DDR_PHY_DX5GCR5_DXREFISELR2_MASK 
#define DDR_PHY_DX5GCR5_DXREFISELR2_DEFVAL                     0x09090909
#define DDR_PHY_DX5GCR5_DXREFISELR2_SHIFT                      16
#define DDR_PHY_DX5GCR5_DXREFISELR2_MASK                       0x007F0000U

/*
* Reserved. Returns zeros on reads.
*/
#undef DDR_PHY_DX5GCR5_RESERVED_15_DEFVAL 
#undef DDR_PHY_DX5GCR5_RESERVED_15_SHIFT 
#undef DDR_PHY_DX5GCR5_RESERVED_15_MASK 
#define DDR_PHY_DX5GCR5_RESERVED_15_DEFVAL                     0x09090909
#define DDR_PHY_DX5GCR5_RESERVED_15_SHIFT                      15
#define DDR_PHY_DX5GCR5_RESERVED_15_MASK                       0x00008000U

/*
* Byte Lane internal VREF Select for Rank 1
*/
#undef DDR_PHY_DX5GCR5_DXREFISELR1_DEFVAL 
#undef DDR_PHY_DX5GCR5_DXREFISELR1_SHIFT 
#undef DDR_PHY_DX5GCR5_DXREFISELR1_MASK 
#define DDR_PHY_DX5GCR5_DXREFISELR1_DEFVAL                     0x09090909
#define DDR_PHY_DX5GCR5_DXREFISELR1_SHIFT                      8
#define DDR_PHY_DX5GCR5_DXREFISELR1_MASK                       0x00007F00U

/*
* Reserved. Returns zeros on reads.
*/
#undef DDR_PHY_DX5GCR5_RESERVED_7_DEFVAL 
#undef DDR_PHY_DX5GCR5_RESERVED_7_SHIFT 
#undef DDR_PHY_DX5GCR5_RESERVED_7_MASK 
#define DDR_PHY_DX5GCR5_RESERVED_7_DEFVAL                      0x09090909
#define DDR_PHY_DX5GCR5_RESERVED_7_SHIFT                       7
#define DDR_PHY_DX5GCR5_RESERVED_7_MASK                        0x00000080U

/*
* Byte Lane internal VREF Select for Rank 0
*/
#undef DDR_PHY_DX5GCR5_DXREFISELR0_DEFVAL 
#undef DDR_PHY_DX5GCR5_DXREFISELR0_SHIFT 
#undef DDR_PHY_DX5GCR5_DXREFISELR0_MASK 
#define DDR_PHY_DX5GCR5_DXREFISELR0_DEFVAL                     0x09090909
#define DDR_PHY_DX5GCR5_DXREFISELR0_SHIFT                      0
#define DDR_PHY_DX5GCR5_DXREFISELR0_MASK                       0x0000007FU

/*
* Reserved. Returns zeros on reads.
*/
#undef DDR_PHY_DX5GCR6_RESERVED_31_30_DEFVAL 
#undef DDR_PHY_DX5GCR6_RESERVED_31_30_SHIFT 
#undef DDR_PHY_DX5GCR6_RESERVED_31_30_MASK 
#define DDR_PHY_DX5GCR6_RESERVED_31_30_DEFVAL                  0x09090909
#define DDR_PHY_DX5GCR6_RESERVED_31_30_SHIFT                   30
#define DDR_PHY_DX5GCR6_RESERVED_31_30_MASK                    0xC0000000U

/*
* DRAM DQ VREF Select for Rank3
*/
#undef DDR_PHY_DX5GCR6_DXDQVREFR3_DEFVAL 
#undef DDR_PHY_DX5GCR6_DXDQVREFR3_SHIFT 
#undef DDR_PHY_DX5GCR6_DXDQVREFR3_MASK 
#define DDR_PHY_DX5GCR6_DXDQVREFR3_DEFVAL                      0x09090909
#define DDR_PHY_DX5GCR6_DXDQVREFR3_SHIFT                       24
#define DDR_PHY_DX5GCR6_DXDQVREFR3_MASK                        0x3F000000U

/*
* Reserved. Returns zeros on reads.
*/
#undef DDR_PHY_DX5GCR6_RESERVED_23_22_DEFVAL 
#undef DDR_PHY_DX5GCR6_RESERVED_23_22_SHIFT 
#undef DDR_PHY_DX5GCR6_RESERVED_23_22_MASK 
#define DDR_PHY_DX5GCR6_RESERVED_23_22_DEFVAL                  0x09090909
#define DDR_PHY_DX5GCR6_RESERVED_23_22_SHIFT                   22
#define DDR_PHY_DX5GCR6_RESERVED_23_22_MASK                    0x00C00000U

/*
* DRAM DQ VREF Select for Rank2
*/
#undef DDR_PHY_DX5GCR6_DXDQVREFR2_DEFVAL 
#undef DDR_PHY_DX5GCR6_DXDQVREFR2_SHIFT 
#undef DDR_PHY_DX5GCR6_DXDQVREFR2_MASK 
#define DDR_PHY_DX5GCR6_DXDQVREFR2_DEFVAL                      0x09090909
#define DDR_PHY_DX5GCR6_DXDQVREFR2_SHIFT                       16
#define DDR_PHY_DX5GCR6_DXDQVREFR2_MASK                        0x003F0000U

/*
* Reserved. Returns zeros on reads.
*/
#undef DDR_PHY_DX5GCR6_RESERVED_15_14_DEFVAL 
#undef DDR_PHY_DX5GCR6_RESERVED_15_14_SHIFT 
#undef DDR_PHY_DX5GCR6_RESERVED_15_14_MASK 
#define DDR_PHY_DX5GCR6_RESERVED_15_14_DEFVAL                  0x09090909
#define DDR_PHY_DX5GCR6_RESERVED_15_14_SHIFT                   14
#define DDR_PHY_DX5GCR6_RESERVED_15_14_MASK                    0x0000C000U

/*
* DRAM DQ VREF Select for Rank1
*/
#undef DDR_PHY_DX5GCR6_DXDQVREFR1_DEFVAL 
#undef DDR_PHY_DX5GCR6_DXDQVREFR1_SHIFT 
#undef DDR_PHY_DX5GCR6_DXDQVREFR1_MASK 
#define DDR_PHY_DX5GCR6_DXDQVREFR1_DEFVAL                      0x09090909
#define DDR_PHY_DX5GCR6_DXDQVREFR1_SHIFT                       8
#define DDR_PHY_DX5GCR6_DXDQVREFR1_MASK                        0x00003F00U

/*
* Reserved. Returns zeros on reads.
*/
#undef DDR_PHY_DX5GCR6_RESERVED_7_6_DEFVAL 
#undef DDR_PHY_DX5GCR6_RESERVED_7_6_SHIFT 
#undef DDR_PHY_DX5GCR6_RESERVED_7_6_MASK 
#define DDR_PHY_DX5GCR6_RESERVED_7_6_DEFVAL                    0x09090909
#define DDR_PHY_DX5GCR6_RESERVED_7_6_SHIFT                     6
#define DDR_PHY_DX5GCR6_RESERVED_7_6_MASK                      0x000000C0U

/*
* DRAM DQ VREF Select for Rank0
*/
#undef DDR_PHY_DX5GCR6_DXDQVREFR0_DEFVAL 
#undef DDR_PHY_DX5GCR6_DXDQVREFR0_SHIFT 
#undef DDR_PHY_DX5GCR6_DXDQVREFR0_MASK 
#define DDR_PHY_DX5GCR6_DXDQVREFR0_DEFVAL                      0x09090909
#define DDR_PHY_DX5GCR6_DXDQVREFR0_SHIFT                       0
#define DDR_PHY_DX5GCR6_DXDQVREFR0_MASK                        0x0000003FU

/*
* Calibration Bypass
*/
#undef DDR_PHY_DX6GCR0_CALBYP_DEFVAL 
#undef DDR_PHY_DX6GCR0_CALBYP_SHIFT 
#undef DDR_PHY_DX6GCR0_CALBYP_MASK 
#define DDR_PHY_DX6GCR0_CALBYP_DEFVAL                          0x40200204
#define DDR_PHY_DX6GCR0_CALBYP_SHIFT                           31
#define DDR_PHY_DX6GCR0_CALBYP_MASK                            0x80000000U

/*
* Master Delay Line Enable
*/
#undef DDR_PHY_DX6GCR0_MDLEN_DEFVAL 
#undef DDR_PHY_DX6GCR0_MDLEN_SHIFT 
#undef DDR_PHY_DX6GCR0_MDLEN_MASK 
#define DDR_PHY_DX6GCR0_MDLEN_DEFVAL                           0x40200204
#define DDR_PHY_DX6GCR0_MDLEN_SHIFT                            30
#define DDR_PHY_DX6GCR0_MDLEN_MASK                             0x40000000U

/*
* Configurable ODT(TE) Phase Shift
*/
#undef DDR_PHY_DX6GCR0_CODTSHFT_DEFVAL 
#undef DDR_PHY_DX6GCR0_CODTSHFT_SHIFT 
#undef DDR_PHY_DX6GCR0_CODTSHFT_MASK 
#define DDR_PHY_DX6GCR0_CODTSHFT_DEFVAL                        0x40200204
#define DDR_PHY_DX6GCR0_CODTSHFT_SHIFT                         28
#define DDR_PHY_DX6GCR0_CODTSHFT_MASK                          0x30000000U

/*
* DQS Duty Cycle Correction
*/
#undef DDR_PHY_DX6GCR0_DQSDCC_DEFVAL 
#undef DDR_PHY_DX6GCR0_DQSDCC_SHIFT 
#undef DDR_PHY_DX6GCR0_DQSDCC_MASK 
#define DDR_PHY_DX6GCR0_DQSDCC_DEFVAL                          0x40200204
#define DDR_PHY_DX6GCR0_DQSDCC_SHIFT                           24
#define DDR_PHY_DX6GCR0_DQSDCC_MASK                            0x0F000000U

/*
* Number of Cycles ( in terms of ctl_clk) to generate ctl_dx_get_static_rd
    *  input for the respective bypte lane of the PHY
*/
#undef DDR_PHY_DX6GCR0_RDDLY_DEFVAL 
#undef DDR_PHY_DX6GCR0_RDDLY_SHIFT 
#undef DDR_PHY_DX6GCR0_RDDLY_MASK 
#define DDR_PHY_DX6GCR0_RDDLY_DEFVAL                           0x40200204
#define DDR_PHY_DX6GCR0_RDDLY_SHIFT                            20
#define DDR_PHY_DX6GCR0_RDDLY_MASK                             0x00F00000U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_DX6GCR0_RESERVED_19_14_DEFVAL 
#undef DDR_PHY_DX6GCR0_RESERVED_19_14_SHIFT 
#undef DDR_PHY_DX6GCR0_RESERVED_19_14_MASK 
#define DDR_PHY_DX6GCR0_RESERVED_19_14_DEFVAL                  0x40200204
#define DDR_PHY_DX6GCR0_RESERVED_19_14_SHIFT                   14
#define DDR_PHY_DX6GCR0_RESERVED_19_14_MASK                    0x000FC000U

/*
* DQSNSE Power Down Receiver
*/
#undef DDR_PHY_DX6GCR0_DQSNSEPDR_DEFVAL 
#undef DDR_PHY_DX6GCR0_DQSNSEPDR_SHIFT 
#undef DDR_PHY_DX6GCR0_DQSNSEPDR_MASK 
#define DDR_PHY_DX6GCR0_DQSNSEPDR_DEFVAL                       0x40200204
#define DDR_PHY_DX6GCR0_DQSNSEPDR_SHIFT                        13
#define DDR_PHY_DX6GCR0_DQSNSEPDR_MASK                         0x00002000U

/*
* DQSSE Power Down Receiver
*/
#undef DDR_PHY_DX6GCR0_DQSSEPDR_DEFVAL 
#undef DDR_PHY_DX6GCR0_DQSSEPDR_SHIFT 
#undef DDR_PHY_DX6GCR0_DQSSEPDR_MASK 
#define DDR_PHY_DX6GCR0_DQSSEPDR_DEFVAL                        0x40200204
#define DDR_PHY_DX6GCR0_DQSSEPDR_SHIFT                         12
#define DDR_PHY_DX6GCR0_DQSSEPDR_MASK                          0x00001000U

/*
* RTT On Additive Latency
*/
#undef DDR_PHY_DX6GCR0_RTTOAL_DEFVAL 
#undef DDR_PHY_DX6GCR0_RTTOAL_SHIFT 
#undef DDR_PHY_DX6GCR0_RTTOAL_MASK 
#define DDR_PHY_DX6GCR0_RTTOAL_DEFVAL                          0x40200204
#define DDR_PHY_DX6GCR0_RTTOAL_SHIFT                           11
#define DDR_PHY_DX6GCR0_RTTOAL_MASK                            0x00000800U

/*
* RTT Output Hold
*/
#undef DDR_PHY_DX6GCR0_RTTOH_DEFVAL 
#undef DDR_PHY_DX6GCR0_RTTOH_SHIFT 
#undef DDR_PHY_DX6GCR0_RTTOH_MASK 
#define DDR_PHY_DX6GCR0_RTTOH_DEFVAL                           0x40200204
#define DDR_PHY_DX6GCR0_RTTOH_SHIFT                            9
#define DDR_PHY_DX6GCR0_RTTOH_MASK                             0x00000600U

/*
* Configurable PDR Phase Shift
*/
#undef DDR_PHY_DX6GCR0_CPDRSHFT_DEFVAL 
#undef DDR_PHY_DX6GCR0_CPDRSHFT_SHIFT 
#undef DDR_PHY_DX6GCR0_CPDRSHFT_MASK 
#define DDR_PHY_DX6GCR0_CPDRSHFT_DEFVAL                        0x40200204
#define DDR_PHY_DX6GCR0_CPDRSHFT_SHIFT                         7
#define DDR_PHY_DX6GCR0_CPDRSHFT_MASK                          0x00000180U

/*
* DQSR Power Down
*/
#undef DDR_PHY_DX6GCR0_DQSRPD_DEFVAL 
#undef DDR_PHY_DX6GCR0_DQSRPD_SHIFT 
#undef DDR_PHY_DX6GCR0_DQSRPD_MASK 
#define DDR_PHY_DX6GCR0_DQSRPD_DEFVAL                          0x40200204
#define DDR_PHY_DX6GCR0_DQSRPD_SHIFT                           6
#define DDR_PHY_DX6GCR0_DQSRPD_MASK                            0x00000040U

/*
* DQSG Power Down Receiver
*/
#undef DDR_PHY_DX6GCR0_DQSGPDR_DEFVAL 
#undef DDR_PHY_DX6GCR0_DQSGPDR_SHIFT 
#undef DDR_PHY_DX6GCR0_DQSGPDR_MASK 
#define DDR_PHY_DX6GCR0_DQSGPDR_DEFVAL                         0x40200204
#define DDR_PHY_DX6GCR0_DQSGPDR_SHIFT                          5
#define DDR_PHY_DX6GCR0_DQSGPDR_MASK                           0x00000020U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_DX6GCR0_RESERVED_4_DEFVAL 
#undef DDR_PHY_DX6GCR0_RESERVED_4_SHIFT 
#undef DDR_PHY_DX6GCR0_RESERVED_4_MASK 
#define DDR_PHY_DX6GCR0_RESERVED_4_DEFVAL                      0x40200204
#define DDR_PHY_DX6GCR0_RESERVED_4_SHIFT                       4
#define DDR_PHY_DX6GCR0_RESERVED_4_MASK                        0x00000010U

/*
* DQSG On-Die Termination
*/
#undef DDR_PHY_DX6GCR0_DQSGODT_DEFVAL 
#undef DDR_PHY_DX6GCR0_DQSGODT_SHIFT 
#undef DDR_PHY_DX6GCR0_DQSGODT_MASK 
#define DDR_PHY_DX6GCR0_DQSGODT_DEFVAL                         0x40200204
#define DDR_PHY_DX6GCR0_DQSGODT_SHIFT                          3
#define DDR_PHY_DX6GCR0_DQSGODT_MASK                           0x00000008U

/*
* DQSG Output Enable
*/
#undef DDR_PHY_DX6GCR0_DQSGOE_DEFVAL 
#undef DDR_PHY_DX6GCR0_DQSGOE_SHIFT 
#undef DDR_PHY_DX6GCR0_DQSGOE_MASK 
#define DDR_PHY_DX6GCR0_DQSGOE_DEFVAL                          0x40200204
#define DDR_PHY_DX6GCR0_DQSGOE_SHIFT                           2
#define DDR_PHY_DX6GCR0_DQSGOE_MASK                            0x00000004U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_DX6GCR0_RESERVED_1_0_DEFVAL 
#undef DDR_PHY_DX6GCR0_RESERVED_1_0_SHIFT 
#undef DDR_PHY_DX6GCR0_RESERVED_1_0_MASK 
#define DDR_PHY_DX6GCR0_RESERVED_1_0_DEFVAL                    0x40200204
#define DDR_PHY_DX6GCR0_RESERVED_1_0_SHIFT                     0
#define DDR_PHY_DX6GCR0_RESERVED_1_0_MASK                      0x00000003U

/*
* Enables the PDR mode for DQ[7:0]
*/
#undef DDR_PHY_DX6GCR1_DXPDRMODE_DEFVAL 
#undef DDR_PHY_DX6GCR1_DXPDRMODE_SHIFT 
#undef DDR_PHY_DX6GCR1_DXPDRMODE_MASK 
#define DDR_PHY_DX6GCR1_DXPDRMODE_DEFVAL                       0x00007FFF
#define DDR_PHY_DX6GCR1_DXPDRMODE_SHIFT                        16
#define DDR_PHY_DX6GCR1_DXPDRMODE_MASK                         0xFFFF0000U

/*
* Reserved. Returns zeroes on reads.
*/
#undef DDR_PHY_DX6GCR1_RESERVED_15_DEFVAL 
#undef DDR_PHY_DX6GCR1_RESERVED_15_SHIFT 
#undef DDR_PHY_DX6GCR1_RESERVED_15_MASK 
#define DDR_PHY_DX6GCR1_RESERVED_15_DEFVAL                     0x00007FFF
#define DDR_PHY_DX6GCR1_RESERVED_15_SHIFT                      15
#define DDR_PHY_DX6GCR1_RESERVED_15_MASK                       0x00008000U

/*
* Select the delayed or non-delayed read data strobe #
*/
#undef DDR_PHY_DX6GCR1_QSNSEL_DEFVAL 
#undef DDR_PHY_DX6GCR1_QSNSEL_SHIFT 
#undef DDR_PHY_DX6GCR1_QSNSEL_MASK 
#define DDR_PHY_DX6GCR1_QSNSEL_DEFVAL                          0x00007FFF
#define DDR_PHY_DX6GCR1_QSNSEL_SHIFT                           14
#define DDR_PHY_DX6GCR1_QSNSEL_MASK                            0x00004000U

/*
* Select the delayed or non-delayed read data strobe
*/
#undef DDR_PHY_DX6GCR1_QSSEL_DEFVAL 
#undef DDR_PHY_DX6GCR1_QSSEL_SHIFT 
#undef DDR_PHY_DX6GCR1_QSSEL_MASK 
#define DDR_PHY_DX6GCR1_QSSEL_DEFVAL                           0x00007FFF
#define DDR_PHY_DX6GCR1_QSSEL_SHIFT                            13
#define DDR_PHY_DX6GCR1_QSSEL_MASK                             0x00002000U

/*
* Enables Read Data Strobe in a byte lane
*/
#undef DDR_PHY_DX6GCR1_OEEN_DEFVAL 
#undef DDR_PHY_DX6GCR1_OEEN_SHIFT 
#undef DDR_PHY_DX6GCR1_OEEN_MASK 
#define DDR_PHY_DX6GCR1_OEEN_DEFVAL                            0x00007FFF
#define DDR_PHY_DX6GCR1_OEEN_SHIFT                             12
#define DDR_PHY_DX6GCR1_OEEN_MASK                              0x00001000U

/*
* Enables PDR in a byte lane
*/
#undef DDR_PHY_DX6GCR1_PDREN_DEFVAL 
#undef DDR_PHY_DX6GCR1_PDREN_SHIFT 
#undef DDR_PHY_DX6GCR1_PDREN_MASK 
#define DDR_PHY_DX6GCR1_PDREN_DEFVAL                           0x00007FFF
#define DDR_PHY_DX6GCR1_PDREN_SHIFT                            11
#define DDR_PHY_DX6GCR1_PDREN_MASK                             0x00000800U

/*
* Enables ODT/TE in a byte lane
*/
#undef DDR_PHY_DX6GCR1_TEEN_DEFVAL 
#undef DDR_PHY_DX6GCR1_TEEN_SHIFT 
#undef DDR_PHY_DX6GCR1_TEEN_MASK 
#define DDR_PHY_DX6GCR1_TEEN_DEFVAL                            0x00007FFF
#define DDR_PHY_DX6GCR1_TEEN_SHIFT                             10
#define DDR_PHY_DX6GCR1_TEEN_MASK                              0x00000400U

/*
* Enables Write Data strobe in a byte lane
*/
#undef DDR_PHY_DX6GCR1_DSEN_DEFVAL 
#undef DDR_PHY_DX6GCR1_DSEN_SHIFT 
#undef DDR_PHY_DX6GCR1_DSEN_MASK 
#define DDR_PHY_DX6GCR1_DSEN_DEFVAL                            0x00007FFF
#define DDR_PHY_DX6GCR1_DSEN_SHIFT                             9
#define DDR_PHY_DX6GCR1_DSEN_MASK                              0x00000200U

/*
* Enables DM pin in a byte lane
*/
#undef DDR_PHY_DX6GCR1_DMEN_DEFVAL 
#undef DDR_PHY_DX6GCR1_DMEN_SHIFT 
#undef DDR_PHY_DX6GCR1_DMEN_MASK 
#define DDR_PHY_DX6GCR1_DMEN_DEFVAL                            0x00007FFF
#define DDR_PHY_DX6GCR1_DMEN_SHIFT                             8
#define DDR_PHY_DX6GCR1_DMEN_MASK                              0x00000100U

/*
* Enables DQ corresponding to each bit in a byte
*/
#undef DDR_PHY_DX6GCR1_DQEN_DEFVAL 
#undef DDR_PHY_DX6GCR1_DQEN_SHIFT 
#undef DDR_PHY_DX6GCR1_DQEN_MASK 
#define DDR_PHY_DX6GCR1_DQEN_DEFVAL                            0x00007FFF
#define DDR_PHY_DX6GCR1_DQEN_SHIFT                             0
#define DDR_PHY_DX6GCR1_DQEN_MASK                              0x000000FFU

/*
* Byte lane VREF IOM (Used only by D4MU IOs)
*/
#undef DDR_PHY_DX6GCR4_RESERVED_31_29_DEFVAL 
#undef DDR_PHY_DX6GCR4_RESERVED_31_29_SHIFT 
#undef DDR_PHY_DX6GCR4_RESERVED_31_29_MASK 
#define DDR_PHY_DX6GCR4_RESERVED_31_29_DEFVAL                  0x0E00003C
#define DDR_PHY_DX6GCR4_RESERVED_31_29_SHIFT                   29
#define DDR_PHY_DX6GCR4_RESERVED_31_29_MASK                    0xE0000000U

/*
* Byte Lane VREF Pad Enable
*/
#undef DDR_PHY_DX6GCR4_DXREFPEN_DEFVAL 
#undef DDR_PHY_DX6GCR4_DXREFPEN_SHIFT 
#undef DDR_PHY_DX6GCR4_DXREFPEN_MASK 
#define DDR_PHY_DX6GCR4_DXREFPEN_DEFVAL                        0x0E00003C
#define DDR_PHY_DX6GCR4_DXREFPEN_SHIFT                         28
#define DDR_PHY_DX6GCR4_DXREFPEN_MASK                          0x10000000U

/*
* Byte Lane Internal VREF Enable
*/
#undef DDR_PHY_DX6GCR4_DXREFEEN_DEFVAL 
#undef DDR_PHY_DX6GCR4_DXREFEEN_SHIFT 
#undef DDR_PHY_DX6GCR4_DXREFEEN_MASK 
#define DDR_PHY_DX6GCR4_DXREFEEN_DEFVAL                        0x0E00003C
#define DDR_PHY_DX6GCR4_DXREFEEN_SHIFT                         26
#define DDR_PHY_DX6GCR4_DXREFEEN_MASK                          0x0C000000U

/*
* Byte Lane Single-End VREF Enable
*/
#undef DDR_PHY_DX6GCR4_DXREFSEN_DEFVAL 
#undef DDR_PHY_DX6GCR4_DXREFSEN_SHIFT 
#undef DDR_PHY_DX6GCR4_DXREFSEN_MASK 
#define DDR_PHY_DX6GCR4_DXREFSEN_DEFVAL                        0x0E00003C
#define DDR_PHY_DX6GCR4_DXREFSEN_SHIFT                         25
#define DDR_PHY_DX6GCR4_DXREFSEN_MASK                          0x02000000U

/*
* Reserved. Returns zeros on reads.
*/
#undef DDR_PHY_DX6GCR4_RESERVED_24_DEFVAL 
#undef DDR_PHY_DX6GCR4_RESERVED_24_SHIFT 
#undef DDR_PHY_DX6GCR4_RESERVED_24_MASK 
#define DDR_PHY_DX6GCR4_RESERVED_24_DEFVAL                     0x0E00003C
#define DDR_PHY_DX6GCR4_RESERVED_24_SHIFT                      24
#define DDR_PHY_DX6GCR4_RESERVED_24_MASK                       0x01000000U

/*
* External VREF generator REFSEL range select
*/
#undef DDR_PHY_DX6GCR4_DXREFESELRANGE_DEFVAL 
#undef DDR_PHY_DX6GCR4_DXREFESELRANGE_SHIFT 
#undef DDR_PHY_DX6GCR4_DXREFESELRANGE_MASK 
#define DDR_PHY_DX6GCR4_DXREFESELRANGE_DEFVAL                  0x0E00003C
#define DDR_PHY_DX6GCR4_DXREFESELRANGE_SHIFT                   23
#define DDR_PHY_DX6GCR4_DXREFESELRANGE_MASK                    0x00800000U

/*
* Byte Lane External VREF Select
*/
#undef DDR_PHY_DX6GCR4_DXREFESEL_DEFVAL 
#undef DDR_PHY_DX6GCR4_DXREFESEL_SHIFT 
#undef DDR_PHY_DX6GCR4_DXREFESEL_MASK 
#define DDR_PHY_DX6GCR4_DXREFESEL_DEFVAL                       0x0E00003C
#define DDR_PHY_DX6GCR4_DXREFESEL_SHIFT                        16
#define DDR_PHY_DX6GCR4_DXREFESEL_MASK                         0x007F0000U

/*
* Single ended VREF generator REFSEL range select
*/
#undef DDR_PHY_DX6GCR4_DXREFSSELRANGE_DEFVAL 
#undef DDR_PHY_DX6GCR4_DXREFSSELRANGE_SHIFT 
#undef DDR_PHY_DX6GCR4_DXREFSSELRANGE_MASK 
#define DDR_PHY_DX6GCR4_DXREFSSELRANGE_DEFVAL                  0x0E00003C
#define DDR_PHY_DX6GCR4_DXREFSSELRANGE_SHIFT                   15
#define DDR_PHY_DX6GCR4_DXREFSSELRANGE_MASK                    0x00008000U

/*
* Byte Lane Single-End VREF Select
*/
#undef DDR_PHY_DX6GCR4_DXREFSSEL_DEFVAL 
#undef DDR_PHY_DX6GCR4_DXREFSSEL_SHIFT 
#undef DDR_PHY_DX6GCR4_DXREFSSEL_MASK 
#define DDR_PHY_DX6GCR4_DXREFSSEL_DEFVAL                       0x0E00003C
#define DDR_PHY_DX6GCR4_DXREFSSEL_SHIFT                        8
#define DDR_PHY_DX6GCR4_DXREFSSEL_MASK                         0x00007F00U

/*
* Reserved. Returns zeros on reads.
*/
#undef DDR_PHY_DX6GCR4_RESERVED_7_6_DEFVAL 
#undef DDR_PHY_DX6GCR4_RESERVED_7_6_SHIFT 
#undef DDR_PHY_DX6GCR4_RESERVED_7_6_MASK 
#define DDR_PHY_DX6GCR4_RESERVED_7_6_DEFVAL                    0x0E00003C
#define DDR_PHY_DX6GCR4_RESERVED_7_6_SHIFT                     6
#define DDR_PHY_DX6GCR4_RESERVED_7_6_MASK                      0x000000C0U

/*
* VREF Enable control for DQ IO (Single Ended) buffers of a byte lane.
*/
#undef DDR_PHY_DX6GCR4_DXREFIEN_DEFVAL 
#undef DDR_PHY_DX6GCR4_DXREFIEN_SHIFT 
#undef DDR_PHY_DX6GCR4_DXREFIEN_MASK 
#define DDR_PHY_DX6GCR4_DXREFIEN_DEFVAL                        0x0E00003C
#define DDR_PHY_DX6GCR4_DXREFIEN_SHIFT                         2
#define DDR_PHY_DX6GCR4_DXREFIEN_MASK                          0x0000003CU

/*
* VRMON control for DQ IO (Single Ended) buffers of a byte lane.
*/
#undef DDR_PHY_DX6GCR4_DXREFIMON_DEFVAL 
#undef DDR_PHY_DX6GCR4_DXREFIMON_SHIFT 
#undef DDR_PHY_DX6GCR4_DXREFIMON_MASK 
#define DDR_PHY_DX6GCR4_DXREFIMON_DEFVAL                       0x0E00003C
#define DDR_PHY_DX6GCR4_DXREFIMON_SHIFT                        0
#define DDR_PHY_DX6GCR4_DXREFIMON_MASK                         0x00000003U

/*
* Reserved. Returns zeros on reads.
*/
#undef DDR_PHY_DX6GCR5_RESERVED_31_DEFVAL 
#undef DDR_PHY_DX6GCR5_RESERVED_31_SHIFT 
#undef DDR_PHY_DX6GCR5_RESERVED_31_MASK 
#define DDR_PHY_DX6GCR5_RESERVED_31_DEFVAL                     0x09090909
#define DDR_PHY_DX6GCR5_RESERVED_31_SHIFT                      31
#define DDR_PHY_DX6GCR5_RESERVED_31_MASK                       0x80000000U

/*
* Byte Lane internal VREF Select for Rank 3
*/
#undef DDR_PHY_DX6GCR5_DXREFISELR3_DEFVAL 
#undef DDR_PHY_DX6GCR5_DXREFISELR3_SHIFT 
#undef DDR_PHY_DX6GCR5_DXREFISELR3_MASK 
#define DDR_PHY_DX6GCR5_DXREFISELR3_DEFVAL                     0x09090909
#define DDR_PHY_DX6GCR5_DXREFISELR3_SHIFT                      24
#define DDR_PHY_DX6GCR5_DXREFISELR3_MASK                       0x7F000000U

/*
* Reserved. Returns zeros on reads.
*/
#undef DDR_PHY_DX6GCR5_RESERVED_23_DEFVAL 
#undef DDR_PHY_DX6GCR5_RESERVED_23_SHIFT 
#undef DDR_PHY_DX6GCR5_RESERVED_23_MASK 
#define DDR_PHY_DX6GCR5_RESERVED_23_DEFVAL                     0x09090909
#define DDR_PHY_DX6GCR5_RESERVED_23_SHIFT                      23
#define DDR_PHY_DX6GCR5_RESERVED_23_MASK                       0x00800000U

/*
* Byte Lane internal VREF Select for Rank 2
*/
#undef DDR_PHY_DX6GCR5_DXREFISELR2_DEFVAL 
#undef DDR_PHY_DX6GCR5_DXREFISELR2_SHIFT 
#undef DDR_PHY_DX6GCR5_DXREFISELR2_MASK 
#define DDR_PHY_DX6GCR5_DXREFISELR2_DEFVAL                     0x09090909
#define DDR_PHY_DX6GCR5_DXREFISELR2_SHIFT                      16
#define DDR_PHY_DX6GCR5_DXREFISELR2_MASK                       0x007F0000U

/*
* Reserved. Returns zeros on reads.
*/
#undef DDR_PHY_DX6GCR5_RESERVED_15_DEFVAL 
#undef DDR_PHY_DX6GCR5_RESERVED_15_SHIFT 
#undef DDR_PHY_DX6GCR5_RESERVED_15_MASK 
#define DDR_PHY_DX6GCR5_RESERVED_15_DEFVAL                     0x09090909
#define DDR_PHY_DX6GCR5_RESERVED_15_SHIFT                      15
#define DDR_PHY_DX6GCR5_RESERVED_15_MASK                       0x00008000U

/*
* Byte Lane internal VREF Select for Rank 1
*/
#undef DDR_PHY_DX6GCR5_DXREFISELR1_DEFVAL 
#undef DDR_PHY_DX6GCR5_DXREFISELR1_SHIFT 
#undef DDR_PHY_DX6GCR5_DXREFISELR1_MASK 
#define DDR_PHY_DX6GCR5_DXREFISELR1_DEFVAL                     0x09090909
#define DDR_PHY_DX6GCR5_DXREFISELR1_SHIFT                      8
#define DDR_PHY_DX6GCR5_DXREFISELR1_MASK                       0x00007F00U

/*
* Reserved. Returns zeros on reads.
*/
#undef DDR_PHY_DX6GCR5_RESERVED_7_DEFVAL 
#undef DDR_PHY_DX6GCR5_RESERVED_7_SHIFT 
#undef DDR_PHY_DX6GCR5_RESERVED_7_MASK 
#define DDR_PHY_DX6GCR5_RESERVED_7_DEFVAL                      0x09090909
#define DDR_PHY_DX6GCR5_RESERVED_7_SHIFT                       7
#define DDR_PHY_DX6GCR5_RESERVED_7_MASK                        0x00000080U

/*
* Byte Lane internal VREF Select for Rank 0
*/
#undef DDR_PHY_DX6GCR5_DXREFISELR0_DEFVAL 
#undef DDR_PHY_DX6GCR5_DXREFISELR0_SHIFT 
#undef DDR_PHY_DX6GCR5_DXREFISELR0_MASK 
#define DDR_PHY_DX6GCR5_DXREFISELR0_DEFVAL                     0x09090909
#define DDR_PHY_DX6GCR5_DXREFISELR0_SHIFT                      0
#define DDR_PHY_DX6GCR5_DXREFISELR0_MASK                       0x0000007FU

/*
* Reserved. Returns zeros on reads.
*/
#undef DDR_PHY_DX6GCR6_RESERVED_31_30_DEFVAL 
#undef DDR_PHY_DX6GCR6_RESERVED_31_30_SHIFT 
#undef DDR_PHY_DX6GCR6_RESERVED_31_30_MASK 
#define DDR_PHY_DX6GCR6_RESERVED_31_30_DEFVAL                  0x09090909
#define DDR_PHY_DX6GCR6_RESERVED_31_30_SHIFT                   30
#define DDR_PHY_DX6GCR6_RESERVED_31_30_MASK                    0xC0000000U

/*
* DRAM DQ VREF Select for Rank3
*/
#undef DDR_PHY_DX6GCR6_DXDQVREFR3_DEFVAL 
#undef DDR_PHY_DX6GCR6_DXDQVREFR3_SHIFT 
#undef DDR_PHY_DX6GCR6_DXDQVREFR3_MASK 
#define DDR_PHY_DX6GCR6_DXDQVREFR3_DEFVAL                      0x09090909
#define DDR_PHY_DX6GCR6_DXDQVREFR3_SHIFT                       24
#define DDR_PHY_DX6GCR6_DXDQVREFR3_MASK                        0x3F000000U

/*
* Reserved. Returns zeros on reads.
*/
#undef DDR_PHY_DX6GCR6_RESERVED_23_22_DEFVAL 
#undef DDR_PHY_DX6GCR6_RESERVED_23_22_SHIFT 
#undef DDR_PHY_DX6GCR6_RESERVED_23_22_MASK 
#define DDR_PHY_DX6GCR6_RESERVED_23_22_DEFVAL                  0x09090909
#define DDR_PHY_DX6GCR6_RESERVED_23_22_SHIFT                   22
#define DDR_PHY_DX6GCR6_RESERVED_23_22_MASK                    0x00C00000U

/*
* DRAM DQ VREF Select for Rank2
*/
#undef DDR_PHY_DX6GCR6_DXDQVREFR2_DEFVAL 
#undef DDR_PHY_DX6GCR6_DXDQVREFR2_SHIFT 
#undef DDR_PHY_DX6GCR6_DXDQVREFR2_MASK 
#define DDR_PHY_DX6GCR6_DXDQVREFR2_DEFVAL                      0x09090909
#define DDR_PHY_DX6GCR6_DXDQVREFR2_SHIFT                       16
#define DDR_PHY_DX6GCR6_DXDQVREFR2_MASK                        0x003F0000U

/*
* Reserved. Returns zeros on reads.
*/
#undef DDR_PHY_DX6GCR6_RESERVED_15_14_DEFVAL 
#undef DDR_PHY_DX6GCR6_RESERVED_15_14_SHIFT 
#undef DDR_PHY_DX6GCR6_RESERVED_15_14_MASK 
#define DDR_PHY_DX6GCR6_RESERVED_15_14_DEFVAL                  0x09090909
#define DDR_PHY_DX6GCR6_RESERVED_15_14_SHIFT                   14
#define DDR_PHY_DX6GCR6_RESERVED_15_14_MASK                    0x0000C000U

/*
* DRAM DQ VREF Select for Rank1
*/
#undef DDR_PHY_DX6GCR6_DXDQVREFR1_DEFVAL 
#undef DDR_PHY_DX6GCR6_DXDQVREFR1_SHIFT 
#undef DDR_PHY_DX6GCR6_DXDQVREFR1_MASK 
#define DDR_PHY_DX6GCR6_DXDQVREFR1_DEFVAL                      0x09090909
#define DDR_PHY_DX6GCR6_DXDQVREFR1_SHIFT                       8
#define DDR_PHY_DX6GCR6_DXDQVREFR1_MASK                        0x00003F00U

/*
* Reserved. Returns zeros on reads.
*/
#undef DDR_PHY_DX6GCR6_RESERVED_7_6_DEFVAL 
#undef DDR_PHY_DX6GCR6_RESERVED_7_6_SHIFT 
#undef DDR_PHY_DX6GCR6_RESERVED_7_6_MASK 
#define DDR_PHY_DX6GCR6_RESERVED_7_6_DEFVAL                    0x09090909
#define DDR_PHY_DX6GCR6_RESERVED_7_6_SHIFT                     6
#define DDR_PHY_DX6GCR6_RESERVED_7_6_MASK                      0x000000C0U

/*
* DRAM DQ VREF Select for Rank0
*/
#undef DDR_PHY_DX6GCR6_DXDQVREFR0_DEFVAL 
#undef DDR_PHY_DX6GCR6_DXDQVREFR0_SHIFT 
#undef DDR_PHY_DX6GCR6_DXDQVREFR0_MASK 
#define DDR_PHY_DX6GCR6_DXDQVREFR0_DEFVAL                      0x09090909
#define DDR_PHY_DX6GCR6_DXDQVREFR0_SHIFT                       0
#define DDR_PHY_DX6GCR6_DXDQVREFR0_MASK                        0x0000003FU

/*
* Calibration Bypass
*/
#undef DDR_PHY_DX7GCR0_CALBYP_DEFVAL 
#undef DDR_PHY_DX7GCR0_CALBYP_SHIFT 
#undef DDR_PHY_DX7GCR0_CALBYP_MASK 
#define DDR_PHY_DX7GCR0_CALBYP_DEFVAL                          0x40200204
#define DDR_PHY_DX7GCR0_CALBYP_SHIFT                           31
#define DDR_PHY_DX7GCR0_CALBYP_MASK                            0x80000000U

/*
* Master Delay Line Enable
*/
#undef DDR_PHY_DX7GCR0_MDLEN_DEFVAL 
#undef DDR_PHY_DX7GCR0_MDLEN_SHIFT 
#undef DDR_PHY_DX7GCR0_MDLEN_MASK 
#define DDR_PHY_DX7GCR0_MDLEN_DEFVAL                           0x40200204
#define DDR_PHY_DX7GCR0_MDLEN_SHIFT                            30
#define DDR_PHY_DX7GCR0_MDLEN_MASK                             0x40000000U

/*
* Configurable ODT(TE) Phase Shift
*/
#undef DDR_PHY_DX7GCR0_CODTSHFT_DEFVAL 
#undef DDR_PHY_DX7GCR0_CODTSHFT_SHIFT 
#undef DDR_PHY_DX7GCR0_CODTSHFT_MASK 
#define DDR_PHY_DX7GCR0_CODTSHFT_DEFVAL                        0x40200204
#define DDR_PHY_DX7GCR0_CODTSHFT_SHIFT                         28
#define DDR_PHY_DX7GCR0_CODTSHFT_MASK                          0x30000000U

/*
* DQS Duty Cycle Correction
*/
#undef DDR_PHY_DX7GCR0_DQSDCC_DEFVAL 
#undef DDR_PHY_DX7GCR0_DQSDCC_SHIFT 
#undef DDR_PHY_DX7GCR0_DQSDCC_MASK 
#define DDR_PHY_DX7GCR0_DQSDCC_DEFVAL                          0x40200204
#define DDR_PHY_DX7GCR0_DQSDCC_SHIFT                           24
#define DDR_PHY_DX7GCR0_DQSDCC_MASK                            0x0F000000U

/*
* Number of Cycles ( in terms of ctl_clk) to generate ctl_dx_get_static_rd
    *  input for the respective bypte lane of the PHY
*/
#undef DDR_PHY_DX7GCR0_RDDLY_DEFVAL 
#undef DDR_PHY_DX7GCR0_RDDLY_SHIFT 
#undef DDR_PHY_DX7GCR0_RDDLY_MASK 
#define DDR_PHY_DX7GCR0_RDDLY_DEFVAL                           0x40200204
#define DDR_PHY_DX7GCR0_RDDLY_SHIFT                            20
#define DDR_PHY_DX7GCR0_RDDLY_MASK                             0x00F00000U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_DX7GCR0_RESERVED_19_14_DEFVAL 
#undef DDR_PHY_DX7GCR0_RESERVED_19_14_SHIFT 
#undef DDR_PHY_DX7GCR0_RESERVED_19_14_MASK 
#define DDR_PHY_DX7GCR0_RESERVED_19_14_DEFVAL                  0x40200204
#define DDR_PHY_DX7GCR0_RESERVED_19_14_SHIFT                   14
#define DDR_PHY_DX7GCR0_RESERVED_19_14_MASK                    0x000FC000U

/*
* DQSNSE Power Down Receiver
*/
#undef DDR_PHY_DX7GCR0_DQSNSEPDR_DEFVAL 
#undef DDR_PHY_DX7GCR0_DQSNSEPDR_SHIFT 
#undef DDR_PHY_DX7GCR0_DQSNSEPDR_MASK 
#define DDR_PHY_DX7GCR0_DQSNSEPDR_DEFVAL                       0x40200204
#define DDR_PHY_DX7GCR0_DQSNSEPDR_SHIFT                        13
#define DDR_PHY_DX7GCR0_DQSNSEPDR_MASK                         0x00002000U

/*
* DQSSE Power Down Receiver
*/
#undef DDR_PHY_DX7GCR0_DQSSEPDR_DEFVAL 
#undef DDR_PHY_DX7GCR0_DQSSEPDR_SHIFT 
#undef DDR_PHY_DX7GCR0_DQSSEPDR_MASK 
#define DDR_PHY_DX7GCR0_DQSSEPDR_DEFVAL                        0x40200204
#define DDR_PHY_DX7GCR0_DQSSEPDR_SHIFT                         12
#define DDR_PHY_DX7GCR0_DQSSEPDR_MASK                          0x00001000U

/*
* RTT On Additive Latency
*/
#undef DDR_PHY_DX7GCR0_RTTOAL_DEFVAL 
#undef DDR_PHY_DX7GCR0_RTTOAL_SHIFT 
#undef DDR_PHY_DX7GCR0_RTTOAL_MASK 
#define DDR_PHY_DX7GCR0_RTTOAL_DEFVAL                          0x40200204
#define DDR_PHY_DX7GCR0_RTTOAL_SHIFT                           11
#define DDR_PHY_DX7GCR0_RTTOAL_MASK                            0x00000800U

/*
* RTT Output Hold
*/
#undef DDR_PHY_DX7GCR0_RTTOH_DEFVAL 
#undef DDR_PHY_DX7GCR0_RTTOH_SHIFT 
#undef DDR_PHY_DX7GCR0_RTTOH_MASK 
#define DDR_PHY_DX7GCR0_RTTOH_DEFVAL                           0x40200204
#define DDR_PHY_DX7GCR0_RTTOH_SHIFT                            9
#define DDR_PHY_DX7GCR0_RTTOH_MASK                             0x00000600U

/*
* Configurable PDR Phase Shift
*/
#undef DDR_PHY_DX7GCR0_CPDRSHFT_DEFVAL 
#undef DDR_PHY_DX7GCR0_CPDRSHFT_SHIFT 
#undef DDR_PHY_DX7GCR0_CPDRSHFT_MASK 
#define DDR_PHY_DX7GCR0_CPDRSHFT_DEFVAL                        0x40200204
#define DDR_PHY_DX7GCR0_CPDRSHFT_SHIFT                         7
#define DDR_PHY_DX7GCR0_CPDRSHFT_MASK                          0x00000180U

/*
* DQSR Power Down
*/
#undef DDR_PHY_DX7GCR0_DQSRPD_DEFVAL 
#undef DDR_PHY_DX7GCR0_DQSRPD_SHIFT 
#undef DDR_PHY_DX7GCR0_DQSRPD_MASK 
#define DDR_PHY_DX7GCR0_DQSRPD_DEFVAL                          0x40200204
#define DDR_PHY_DX7GCR0_DQSRPD_SHIFT                           6
#define DDR_PHY_DX7GCR0_DQSRPD_MASK                            0x00000040U

/*
* DQSG Power Down Receiver
*/
#undef DDR_PHY_DX7GCR0_DQSGPDR_DEFVAL 
#undef DDR_PHY_DX7GCR0_DQSGPDR_SHIFT 
#undef DDR_PHY_DX7GCR0_DQSGPDR_MASK 
#define DDR_PHY_DX7GCR0_DQSGPDR_DEFVAL                         0x40200204
#define DDR_PHY_DX7GCR0_DQSGPDR_SHIFT                          5
#define DDR_PHY_DX7GCR0_DQSGPDR_MASK                           0x00000020U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_DX7GCR0_RESERVED_4_DEFVAL 
#undef DDR_PHY_DX7GCR0_RESERVED_4_SHIFT 
#undef DDR_PHY_DX7GCR0_RESERVED_4_MASK 
#define DDR_PHY_DX7GCR0_RESERVED_4_DEFVAL                      0x40200204
#define DDR_PHY_DX7GCR0_RESERVED_4_SHIFT                       4
#define DDR_PHY_DX7GCR0_RESERVED_4_MASK                        0x00000010U

/*
* DQSG On-Die Termination
*/
#undef DDR_PHY_DX7GCR0_DQSGODT_DEFVAL 
#undef DDR_PHY_DX7GCR0_DQSGODT_SHIFT 
#undef DDR_PHY_DX7GCR0_DQSGODT_MASK 
#define DDR_PHY_DX7GCR0_DQSGODT_DEFVAL                         0x40200204
#define DDR_PHY_DX7GCR0_DQSGODT_SHIFT                          3
#define DDR_PHY_DX7GCR0_DQSGODT_MASK                           0x00000008U

/*
* DQSG Output Enable
*/
#undef DDR_PHY_DX7GCR0_DQSGOE_DEFVAL 
#undef DDR_PHY_DX7GCR0_DQSGOE_SHIFT 
#undef DDR_PHY_DX7GCR0_DQSGOE_MASK 
#define DDR_PHY_DX7GCR0_DQSGOE_DEFVAL                          0x40200204
#define DDR_PHY_DX7GCR0_DQSGOE_SHIFT                           2
#define DDR_PHY_DX7GCR0_DQSGOE_MASK                            0x00000004U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_DX7GCR0_RESERVED_1_0_DEFVAL 
#undef DDR_PHY_DX7GCR0_RESERVED_1_0_SHIFT 
#undef DDR_PHY_DX7GCR0_RESERVED_1_0_MASK 
#define DDR_PHY_DX7GCR0_RESERVED_1_0_DEFVAL                    0x40200204
#define DDR_PHY_DX7GCR0_RESERVED_1_0_SHIFT                     0
#define DDR_PHY_DX7GCR0_RESERVED_1_0_MASK                      0x00000003U

/*
* Enables the PDR mode for DQ[7:0]
*/
#undef DDR_PHY_DX7GCR1_DXPDRMODE_DEFVAL 
#undef DDR_PHY_DX7GCR1_DXPDRMODE_SHIFT 
#undef DDR_PHY_DX7GCR1_DXPDRMODE_MASK 
#define DDR_PHY_DX7GCR1_DXPDRMODE_DEFVAL                       0x00007FFF
#define DDR_PHY_DX7GCR1_DXPDRMODE_SHIFT                        16
#define DDR_PHY_DX7GCR1_DXPDRMODE_MASK                         0xFFFF0000U

/*
* Reserved. Returns zeroes on reads.
*/
#undef DDR_PHY_DX7GCR1_RESERVED_15_DEFVAL 
#undef DDR_PHY_DX7GCR1_RESERVED_15_SHIFT 
#undef DDR_PHY_DX7GCR1_RESERVED_15_MASK 
#define DDR_PHY_DX7GCR1_RESERVED_15_DEFVAL                     0x00007FFF
#define DDR_PHY_DX7GCR1_RESERVED_15_SHIFT                      15
#define DDR_PHY_DX7GCR1_RESERVED_15_MASK                       0x00008000U

/*
* Select the delayed or non-delayed read data strobe #
*/
#undef DDR_PHY_DX7GCR1_QSNSEL_DEFVAL 
#undef DDR_PHY_DX7GCR1_QSNSEL_SHIFT 
#undef DDR_PHY_DX7GCR1_QSNSEL_MASK 
#define DDR_PHY_DX7GCR1_QSNSEL_DEFVAL                          0x00007FFF
#define DDR_PHY_DX7GCR1_QSNSEL_SHIFT                           14
#define DDR_PHY_DX7GCR1_QSNSEL_MASK                            0x00004000U

/*
* Select the delayed or non-delayed read data strobe
*/
#undef DDR_PHY_DX7GCR1_QSSEL_DEFVAL 
#undef DDR_PHY_DX7GCR1_QSSEL_SHIFT 
#undef DDR_PHY_DX7GCR1_QSSEL_MASK 
#define DDR_PHY_DX7GCR1_QSSEL_DEFVAL                           0x00007FFF
#define DDR_PHY_DX7GCR1_QSSEL_SHIFT                            13
#define DDR_PHY_DX7GCR1_QSSEL_MASK                             0x00002000U

/*
* Enables Read Data Strobe in a byte lane
*/
#undef DDR_PHY_DX7GCR1_OEEN_DEFVAL 
#undef DDR_PHY_DX7GCR1_OEEN_SHIFT 
#undef DDR_PHY_DX7GCR1_OEEN_MASK 
#define DDR_PHY_DX7GCR1_OEEN_DEFVAL                            0x00007FFF
#define DDR_PHY_DX7GCR1_OEEN_SHIFT                             12
#define DDR_PHY_DX7GCR1_OEEN_MASK                              0x00001000U

/*
* Enables PDR in a byte lane
*/
#undef DDR_PHY_DX7GCR1_PDREN_DEFVAL 
#undef DDR_PHY_DX7GCR1_PDREN_SHIFT 
#undef DDR_PHY_DX7GCR1_PDREN_MASK 
#define DDR_PHY_DX7GCR1_PDREN_DEFVAL                           0x00007FFF
#define DDR_PHY_DX7GCR1_PDREN_SHIFT                            11
#define DDR_PHY_DX7GCR1_PDREN_MASK                             0x00000800U

/*
* Enables ODT/TE in a byte lane
*/
#undef DDR_PHY_DX7GCR1_TEEN_DEFVAL 
#undef DDR_PHY_DX7GCR1_TEEN_SHIFT 
#undef DDR_PHY_DX7GCR1_TEEN_MASK 
#define DDR_PHY_DX7GCR1_TEEN_DEFVAL                            0x00007FFF
#define DDR_PHY_DX7GCR1_TEEN_SHIFT                             10
#define DDR_PHY_DX7GCR1_TEEN_MASK                              0x00000400U

/*
* Enables Write Data strobe in a byte lane
*/
#undef DDR_PHY_DX7GCR1_DSEN_DEFVAL 
#undef DDR_PHY_DX7GCR1_DSEN_SHIFT 
#undef DDR_PHY_DX7GCR1_DSEN_MASK 
#define DDR_PHY_DX7GCR1_DSEN_DEFVAL                            0x00007FFF
#define DDR_PHY_DX7GCR1_DSEN_SHIFT                             9
#define DDR_PHY_DX7GCR1_DSEN_MASK                              0x00000200U

/*
* Enables DM pin in a byte lane
*/
#undef DDR_PHY_DX7GCR1_DMEN_DEFVAL 
#undef DDR_PHY_DX7GCR1_DMEN_SHIFT 
#undef DDR_PHY_DX7GCR1_DMEN_MASK 
#define DDR_PHY_DX7GCR1_DMEN_DEFVAL                            0x00007FFF
#define DDR_PHY_DX7GCR1_DMEN_SHIFT                             8
#define DDR_PHY_DX7GCR1_DMEN_MASK                              0x00000100U

/*
* Enables DQ corresponding to each bit in a byte
*/
#undef DDR_PHY_DX7GCR1_DQEN_DEFVAL 
#undef DDR_PHY_DX7GCR1_DQEN_SHIFT 
#undef DDR_PHY_DX7GCR1_DQEN_MASK 
#define DDR_PHY_DX7GCR1_DQEN_DEFVAL                            0x00007FFF
#define DDR_PHY_DX7GCR1_DQEN_SHIFT                             0
#define DDR_PHY_DX7GCR1_DQEN_MASK                              0x000000FFU

/*
* Byte lane VREF IOM (Used only by D4MU IOs)
*/
#undef DDR_PHY_DX7GCR4_RESERVED_31_29_DEFVAL 
#undef DDR_PHY_DX7GCR4_RESERVED_31_29_SHIFT 
#undef DDR_PHY_DX7GCR4_RESERVED_31_29_MASK 
#define DDR_PHY_DX7GCR4_RESERVED_31_29_DEFVAL                  0x0E00003C
#define DDR_PHY_DX7GCR4_RESERVED_31_29_SHIFT                   29
#define DDR_PHY_DX7GCR4_RESERVED_31_29_MASK                    0xE0000000U

/*
* Byte Lane VREF Pad Enable
*/
#undef DDR_PHY_DX7GCR4_DXREFPEN_DEFVAL 
#undef DDR_PHY_DX7GCR4_DXREFPEN_SHIFT 
#undef DDR_PHY_DX7GCR4_DXREFPEN_MASK 
#define DDR_PHY_DX7GCR4_DXREFPEN_DEFVAL                        0x0E00003C
#define DDR_PHY_DX7GCR4_DXREFPEN_SHIFT                         28
#define DDR_PHY_DX7GCR4_DXREFPEN_MASK                          0x10000000U

/*
* Byte Lane Internal VREF Enable
*/
#undef DDR_PHY_DX7GCR4_DXREFEEN_DEFVAL 
#undef DDR_PHY_DX7GCR4_DXREFEEN_SHIFT 
#undef DDR_PHY_DX7GCR4_DXREFEEN_MASK 
#define DDR_PHY_DX7GCR4_DXREFEEN_DEFVAL                        0x0E00003C
#define DDR_PHY_DX7GCR4_DXREFEEN_SHIFT                         26
#define DDR_PHY_DX7GCR4_DXREFEEN_MASK                          0x0C000000U

/*
* Byte Lane Single-End VREF Enable
*/
#undef DDR_PHY_DX7GCR4_DXREFSEN_DEFVAL 
#undef DDR_PHY_DX7GCR4_DXREFSEN_SHIFT 
#undef DDR_PHY_DX7GCR4_DXREFSEN_MASK 
#define DDR_PHY_DX7GCR4_DXREFSEN_DEFVAL                        0x0E00003C
#define DDR_PHY_DX7GCR4_DXREFSEN_SHIFT                         25
#define DDR_PHY_DX7GCR4_DXREFSEN_MASK                          0x02000000U

/*
* Reserved. Returns zeros on reads.
*/
#undef DDR_PHY_DX7GCR4_RESERVED_24_DEFVAL 
#undef DDR_PHY_DX7GCR4_RESERVED_24_SHIFT 
#undef DDR_PHY_DX7GCR4_RESERVED_24_MASK 
#define DDR_PHY_DX7GCR4_RESERVED_24_DEFVAL                     0x0E00003C
#define DDR_PHY_DX7GCR4_RESERVED_24_SHIFT                      24
#define DDR_PHY_DX7GCR4_RESERVED_24_MASK                       0x01000000U

/*
* External VREF generator REFSEL range select
*/
#undef DDR_PHY_DX7GCR4_DXREFESELRANGE_DEFVAL 
#undef DDR_PHY_DX7GCR4_DXREFESELRANGE_SHIFT 
#undef DDR_PHY_DX7GCR4_DXREFESELRANGE_MASK 
#define DDR_PHY_DX7GCR4_DXREFESELRANGE_DEFVAL                  0x0E00003C
#define DDR_PHY_DX7GCR4_DXREFESELRANGE_SHIFT                   23
#define DDR_PHY_DX7GCR4_DXREFESELRANGE_MASK                    0x00800000U

/*
* Byte Lane External VREF Select
*/
#undef DDR_PHY_DX7GCR4_DXREFESEL_DEFVAL 
#undef DDR_PHY_DX7GCR4_DXREFESEL_SHIFT 
#undef DDR_PHY_DX7GCR4_DXREFESEL_MASK 
#define DDR_PHY_DX7GCR4_DXREFESEL_DEFVAL                       0x0E00003C
#define DDR_PHY_DX7GCR4_DXREFESEL_SHIFT                        16
#define DDR_PHY_DX7GCR4_DXREFESEL_MASK                         0x007F0000U

/*
* Single ended VREF generator REFSEL range select
*/
#undef DDR_PHY_DX7GCR4_DXREFSSELRANGE_DEFVAL 
#undef DDR_PHY_DX7GCR4_DXREFSSELRANGE_SHIFT 
#undef DDR_PHY_DX7GCR4_DXREFSSELRANGE_MASK 
#define DDR_PHY_DX7GCR4_DXREFSSELRANGE_DEFVAL                  0x0E00003C
#define DDR_PHY_DX7GCR4_DXREFSSELRANGE_SHIFT                   15
#define DDR_PHY_DX7GCR4_DXREFSSELRANGE_MASK                    0x00008000U

/*
* Byte Lane Single-End VREF Select
*/
#undef DDR_PHY_DX7GCR4_DXREFSSEL_DEFVAL 
#undef DDR_PHY_DX7GCR4_DXREFSSEL_SHIFT 
#undef DDR_PHY_DX7GCR4_DXREFSSEL_MASK 
#define DDR_PHY_DX7GCR4_DXREFSSEL_DEFVAL                       0x0E00003C
#define DDR_PHY_DX7GCR4_DXREFSSEL_SHIFT                        8
#define DDR_PHY_DX7GCR4_DXREFSSEL_MASK                         0x00007F00U

/*
* Reserved. Returns zeros on reads.
*/
#undef DDR_PHY_DX7GCR4_RESERVED_7_6_DEFVAL 
#undef DDR_PHY_DX7GCR4_RESERVED_7_6_SHIFT 
#undef DDR_PHY_DX7GCR4_RESERVED_7_6_MASK 
#define DDR_PHY_DX7GCR4_RESERVED_7_6_DEFVAL                    0x0E00003C
#define DDR_PHY_DX7GCR4_RESERVED_7_6_SHIFT                     6
#define DDR_PHY_DX7GCR4_RESERVED_7_6_MASK                      0x000000C0U

/*
* VREF Enable control for DQ IO (Single Ended) buffers of a byte lane.
*/
#undef DDR_PHY_DX7GCR4_DXREFIEN_DEFVAL 
#undef DDR_PHY_DX7GCR4_DXREFIEN_SHIFT 
#undef DDR_PHY_DX7GCR4_DXREFIEN_MASK 
#define DDR_PHY_DX7GCR4_DXREFIEN_DEFVAL                        0x0E00003C
#define DDR_PHY_DX7GCR4_DXREFIEN_SHIFT                         2
#define DDR_PHY_DX7GCR4_DXREFIEN_MASK                          0x0000003CU

/*
* VRMON control for DQ IO (Single Ended) buffers of a byte lane.
*/
#undef DDR_PHY_DX7GCR4_DXREFIMON_DEFVAL 
#undef DDR_PHY_DX7GCR4_DXREFIMON_SHIFT 
#undef DDR_PHY_DX7GCR4_DXREFIMON_MASK 
#define DDR_PHY_DX7GCR4_DXREFIMON_DEFVAL                       0x0E00003C
#define DDR_PHY_DX7GCR4_DXREFIMON_SHIFT                        0
#define DDR_PHY_DX7GCR4_DXREFIMON_MASK                         0x00000003U

/*
* Reserved. Returns zeros on reads.
*/
#undef DDR_PHY_DX7GCR5_RESERVED_31_DEFVAL 
#undef DDR_PHY_DX7GCR5_RESERVED_31_SHIFT 
#undef DDR_PHY_DX7GCR5_RESERVED_31_MASK 
#define DDR_PHY_DX7GCR5_RESERVED_31_DEFVAL                     0x09090909
#define DDR_PHY_DX7GCR5_RESERVED_31_SHIFT                      31
#define DDR_PHY_DX7GCR5_RESERVED_31_MASK                       0x80000000U

/*
* Byte Lane internal VREF Select for Rank 3
*/
#undef DDR_PHY_DX7GCR5_DXREFISELR3_DEFVAL 
#undef DDR_PHY_DX7GCR5_DXREFISELR3_SHIFT 
#undef DDR_PHY_DX7GCR5_DXREFISELR3_MASK 
#define DDR_PHY_DX7GCR5_DXREFISELR3_DEFVAL                     0x09090909
#define DDR_PHY_DX7GCR5_DXREFISELR3_SHIFT                      24
#define DDR_PHY_DX7GCR5_DXREFISELR3_MASK                       0x7F000000U

/*
* Reserved. Returns zeros on reads.
*/
#undef DDR_PHY_DX7GCR5_RESERVED_23_DEFVAL 
#undef DDR_PHY_DX7GCR5_RESERVED_23_SHIFT 
#undef DDR_PHY_DX7GCR5_RESERVED_23_MASK 
#define DDR_PHY_DX7GCR5_RESERVED_23_DEFVAL                     0x09090909
#define DDR_PHY_DX7GCR5_RESERVED_23_SHIFT                      23
#define DDR_PHY_DX7GCR5_RESERVED_23_MASK                       0x00800000U

/*
* Byte Lane internal VREF Select for Rank 2
*/
#undef DDR_PHY_DX7GCR5_DXREFISELR2_DEFVAL 
#undef DDR_PHY_DX7GCR5_DXREFISELR2_SHIFT 
#undef DDR_PHY_DX7GCR5_DXREFISELR2_MASK 
#define DDR_PHY_DX7GCR5_DXREFISELR2_DEFVAL                     0x09090909
#define DDR_PHY_DX7GCR5_DXREFISELR2_SHIFT                      16
#define DDR_PHY_DX7GCR5_DXREFISELR2_MASK                       0x007F0000U

/*
* Reserved. Returns zeros on reads.
*/
#undef DDR_PHY_DX7GCR5_RESERVED_15_DEFVAL 
#undef DDR_PHY_DX7GCR5_RESERVED_15_SHIFT 
#undef DDR_PHY_DX7GCR5_RESERVED_15_MASK 
#define DDR_PHY_DX7GCR5_RESERVED_15_DEFVAL                     0x09090909
#define DDR_PHY_DX7GCR5_RESERVED_15_SHIFT                      15
#define DDR_PHY_DX7GCR5_RESERVED_15_MASK                       0x00008000U

/*
* Byte Lane internal VREF Select for Rank 1
*/
#undef DDR_PHY_DX7GCR5_DXREFISELR1_DEFVAL 
#undef DDR_PHY_DX7GCR5_DXREFISELR1_SHIFT 
#undef DDR_PHY_DX7GCR5_DXREFISELR1_MASK 
#define DDR_PHY_DX7GCR5_DXREFISELR1_DEFVAL                     0x09090909
#define DDR_PHY_DX7GCR5_DXREFISELR1_SHIFT                      8
#define DDR_PHY_DX7GCR5_DXREFISELR1_MASK                       0x00007F00U

/*
* Reserved. Returns zeros on reads.
*/
#undef DDR_PHY_DX7GCR5_RESERVED_7_DEFVAL 
#undef DDR_PHY_DX7GCR5_RESERVED_7_SHIFT 
#undef DDR_PHY_DX7GCR5_RESERVED_7_MASK 
#define DDR_PHY_DX7GCR5_RESERVED_7_DEFVAL                      0x09090909
#define DDR_PHY_DX7GCR5_RESERVED_7_SHIFT                       7
#define DDR_PHY_DX7GCR5_RESERVED_7_MASK                        0x00000080U

/*
* Byte Lane internal VREF Select for Rank 0
*/
#undef DDR_PHY_DX7GCR5_DXREFISELR0_DEFVAL 
#undef DDR_PHY_DX7GCR5_DXREFISELR0_SHIFT 
#undef DDR_PHY_DX7GCR5_DXREFISELR0_MASK 
#define DDR_PHY_DX7GCR5_DXREFISELR0_DEFVAL                     0x09090909
#define DDR_PHY_DX7GCR5_DXREFISELR0_SHIFT                      0
#define DDR_PHY_DX7GCR5_DXREFISELR0_MASK                       0x0000007FU

/*
* Reserved. Returns zeros on reads.
*/
#undef DDR_PHY_DX7GCR6_RESERVED_31_30_DEFVAL 
#undef DDR_PHY_DX7GCR6_RESERVED_31_30_SHIFT 
#undef DDR_PHY_DX7GCR6_RESERVED_31_30_MASK 
#define DDR_PHY_DX7GCR6_RESERVED_31_30_DEFVAL                  0x09090909
#define DDR_PHY_DX7GCR6_RESERVED_31_30_SHIFT                   30
#define DDR_PHY_DX7GCR6_RESERVED_31_30_MASK                    0xC0000000U

/*
* DRAM DQ VREF Select for Rank3
*/
#undef DDR_PHY_DX7GCR6_DXDQVREFR3_DEFVAL 
#undef DDR_PHY_DX7GCR6_DXDQVREFR3_SHIFT 
#undef DDR_PHY_DX7GCR6_DXDQVREFR3_MASK 
#define DDR_PHY_DX7GCR6_DXDQVREFR3_DEFVAL                      0x09090909
#define DDR_PHY_DX7GCR6_DXDQVREFR3_SHIFT                       24
#define DDR_PHY_DX7GCR6_DXDQVREFR3_MASK                        0x3F000000U

/*
* Reserved. Returns zeros on reads.
*/
#undef DDR_PHY_DX7GCR6_RESERVED_23_22_DEFVAL 
#undef DDR_PHY_DX7GCR6_RESERVED_23_22_SHIFT 
#undef DDR_PHY_DX7GCR6_RESERVED_23_22_MASK 
#define DDR_PHY_DX7GCR6_RESERVED_23_22_DEFVAL                  0x09090909
#define DDR_PHY_DX7GCR6_RESERVED_23_22_SHIFT                   22
#define DDR_PHY_DX7GCR6_RESERVED_23_22_MASK                    0x00C00000U

/*
* DRAM DQ VREF Select for Rank2
*/
#undef DDR_PHY_DX7GCR6_DXDQVREFR2_DEFVAL 
#undef DDR_PHY_DX7GCR6_DXDQVREFR2_SHIFT 
#undef DDR_PHY_DX7GCR6_DXDQVREFR2_MASK 
#define DDR_PHY_DX7GCR6_DXDQVREFR2_DEFVAL                      0x09090909
#define DDR_PHY_DX7GCR6_DXDQVREFR2_SHIFT                       16
#define DDR_PHY_DX7GCR6_DXDQVREFR2_MASK                        0x003F0000U

/*
* Reserved. Returns zeros on reads.
*/
#undef DDR_PHY_DX7GCR6_RESERVED_15_14_DEFVAL 
#undef DDR_PHY_DX7GCR6_RESERVED_15_14_SHIFT 
#undef DDR_PHY_DX7GCR6_RESERVED_15_14_MASK 
#define DDR_PHY_DX7GCR6_RESERVED_15_14_DEFVAL                  0x09090909
#define DDR_PHY_DX7GCR6_RESERVED_15_14_SHIFT                   14
#define DDR_PHY_DX7GCR6_RESERVED_15_14_MASK                    0x0000C000U

/*
* DRAM DQ VREF Select for Rank1
*/
#undef DDR_PHY_DX7GCR6_DXDQVREFR1_DEFVAL 
#undef DDR_PHY_DX7GCR6_DXDQVREFR1_SHIFT 
#undef DDR_PHY_DX7GCR6_DXDQVREFR1_MASK 
#define DDR_PHY_DX7GCR6_DXDQVREFR1_DEFVAL                      0x09090909
#define DDR_PHY_DX7GCR6_DXDQVREFR1_SHIFT                       8
#define DDR_PHY_DX7GCR6_DXDQVREFR1_MASK                        0x00003F00U

/*
* Reserved. Returns zeros on reads.
*/
#undef DDR_PHY_DX7GCR6_RESERVED_7_6_DEFVAL 
#undef DDR_PHY_DX7GCR6_RESERVED_7_6_SHIFT 
#undef DDR_PHY_DX7GCR6_RESERVED_7_6_MASK 
#define DDR_PHY_DX7GCR6_RESERVED_7_6_DEFVAL                    0x09090909
#define DDR_PHY_DX7GCR6_RESERVED_7_6_SHIFT                     6
#define DDR_PHY_DX7GCR6_RESERVED_7_6_MASK                      0x000000C0U

/*
* DRAM DQ VREF Select for Rank0
*/
#undef DDR_PHY_DX7GCR6_DXDQVREFR0_DEFVAL 
#undef DDR_PHY_DX7GCR6_DXDQVREFR0_SHIFT 
#undef DDR_PHY_DX7GCR6_DXDQVREFR0_MASK 
#define DDR_PHY_DX7GCR6_DXDQVREFR0_DEFVAL                      0x09090909
#define DDR_PHY_DX7GCR6_DXDQVREFR0_SHIFT                       0
#define DDR_PHY_DX7GCR6_DXDQVREFR0_MASK                        0x0000003FU

/*
* Calibration Bypass
*/
#undef DDR_PHY_DX8GCR0_CALBYP_DEFVAL 
#undef DDR_PHY_DX8GCR0_CALBYP_SHIFT 
#undef DDR_PHY_DX8GCR0_CALBYP_MASK 
#define DDR_PHY_DX8GCR0_CALBYP_DEFVAL                          0x40200204
#define DDR_PHY_DX8GCR0_CALBYP_SHIFT                           31
#define DDR_PHY_DX8GCR0_CALBYP_MASK                            0x80000000U

/*
* Master Delay Line Enable
*/
#undef DDR_PHY_DX8GCR0_MDLEN_DEFVAL 
#undef DDR_PHY_DX8GCR0_MDLEN_SHIFT 
#undef DDR_PHY_DX8GCR0_MDLEN_MASK 
#define DDR_PHY_DX8GCR0_MDLEN_DEFVAL                           0x40200204
#define DDR_PHY_DX8GCR0_MDLEN_SHIFT                            30
#define DDR_PHY_DX8GCR0_MDLEN_MASK                             0x40000000U

/*
* Configurable ODT(TE) Phase Shift
*/
#undef DDR_PHY_DX8GCR0_CODTSHFT_DEFVAL 
#undef DDR_PHY_DX8GCR0_CODTSHFT_SHIFT 
#undef DDR_PHY_DX8GCR0_CODTSHFT_MASK 
#define DDR_PHY_DX8GCR0_CODTSHFT_DEFVAL                        0x40200204
#define DDR_PHY_DX8GCR0_CODTSHFT_SHIFT                         28
#define DDR_PHY_DX8GCR0_CODTSHFT_MASK                          0x30000000U

/*
* DQS Duty Cycle Correction
*/
#undef DDR_PHY_DX8GCR0_DQSDCC_DEFVAL 
#undef DDR_PHY_DX8GCR0_DQSDCC_SHIFT 
#undef DDR_PHY_DX8GCR0_DQSDCC_MASK 
#define DDR_PHY_DX8GCR0_DQSDCC_DEFVAL                          0x40200204
#define DDR_PHY_DX8GCR0_DQSDCC_SHIFT                           24
#define DDR_PHY_DX8GCR0_DQSDCC_MASK                            0x0F000000U

/*
* Number of Cycles ( in terms of ctl_clk) to generate ctl_dx_get_static_rd
    *  input for the respective bypte lane of the PHY
*/
#undef DDR_PHY_DX8GCR0_RDDLY_DEFVAL 
#undef DDR_PHY_DX8GCR0_RDDLY_SHIFT 
#undef DDR_PHY_DX8GCR0_RDDLY_MASK 
#define DDR_PHY_DX8GCR0_RDDLY_DEFVAL                           0x40200204
#define DDR_PHY_DX8GCR0_RDDLY_SHIFT                            20
#define DDR_PHY_DX8GCR0_RDDLY_MASK                             0x00F00000U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_DX8GCR0_RESERVED_19_14_DEFVAL 
#undef DDR_PHY_DX8GCR0_RESERVED_19_14_SHIFT 
#undef DDR_PHY_DX8GCR0_RESERVED_19_14_MASK 
#define DDR_PHY_DX8GCR0_RESERVED_19_14_DEFVAL                  0x40200204
#define DDR_PHY_DX8GCR0_RESERVED_19_14_SHIFT                   14
#define DDR_PHY_DX8GCR0_RESERVED_19_14_MASK                    0x000FC000U

/*
* DQSNSE Power Down Receiver
*/
#undef DDR_PHY_DX8GCR0_DQSNSEPDR_DEFVAL 
#undef DDR_PHY_DX8GCR0_DQSNSEPDR_SHIFT 
#undef DDR_PHY_DX8GCR0_DQSNSEPDR_MASK 
#define DDR_PHY_DX8GCR0_DQSNSEPDR_DEFVAL                       0x40200204
#define DDR_PHY_DX8GCR0_DQSNSEPDR_SHIFT                        13
#define DDR_PHY_DX8GCR0_DQSNSEPDR_MASK                         0x00002000U

/*
* DQSSE Power Down Receiver
*/
#undef DDR_PHY_DX8GCR0_DQSSEPDR_DEFVAL 
#undef DDR_PHY_DX8GCR0_DQSSEPDR_SHIFT 
#undef DDR_PHY_DX8GCR0_DQSSEPDR_MASK 
#define DDR_PHY_DX8GCR0_DQSSEPDR_DEFVAL                        0x40200204
#define DDR_PHY_DX8GCR0_DQSSEPDR_SHIFT                         12
#define DDR_PHY_DX8GCR0_DQSSEPDR_MASK                          0x00001000U

/*
* RTT On Additive Latency
*/
#undef DDR_PHY_DX8GCR0_RTTOAL_DEFVAL 
#undef DDR_PHY_DX8GCR0_RTTOAL_SHIFT 
#undef DDR_PHY_DX8GCR0_RTTOAL_MASK 
#define DDR_PHY_DX8GCR0_RTTOAL_DEFVAL                          0x40200204
#define DDR_PHY_DX8GCR0_RTTOAL_SHIFT                           11
#define DDR_PHY_DX8GCR0_RTTOAL_MASK                            0x00000800U

/*
* RTT Output Hold
*/
#undef DDR_PHY_DX8GCR0_RTTOH_DEFVAL 
#undef DDR_PHY_DX8GCR0_RTTOH_SHIFT 
#undef DDR_PHY_DX8GCR0_RTTOH_MASK 
#define DDR_PHY_DX8GCR0_RTTOH_DEFVAL                           0x40200204
#define DDR_PHY_DX8GCR0_RTTOH_SHIFT                            9
#define DDR_PHY_DX8GCR0_RTTOH_MASK                             0x00000600U

/*
* Configurable PDR Phase Shift
*/
#undef DDR_PHY_DX8GCR0_CPDRSHFT_DEFVAL 
#undef DDR_PHY_DX8GCR0_CPDRSHFT_SHIFT 
#undef DDR_PHY_DX8GCR0_CPDRSHFT_MASK 
#define DDR_PHY_DX8GCR0_CPDRSHFT_DEFVAL                        0x40200204
#define DDR_PHY_DX8GCR0_CPDRSHFT_SHIFT                         7
#define DDR_PHY_DX8GCR0_CPDRSHFT_MASK                          0x00000180U

/*
* DQSR Power Down
*/
#undef DDR_PHY_DX8GCR0_DQSRPD_DEFVAL 
#undef DDR_PHY_DX8GCR0_DQSRPD_SHIFT 
#undef DDR_PHY_DX8GCR0_DQSRPD_MASK 
#define DDR_PHY_DX8GCR0_DQSRPD_DEFVAL                          0x40200204
#define DDR_PHY_DX8GCR0_DQSRPD_SHIFT                           6
#define DDR_PHY_DX8GCR0_DQSRPD_MASK                            0x00000040U

/*
* DQSG Power Down Receiver
*/
#undef DDR_PHY_DX8GCR0_DQSGPDR_DEFVAL 
#undef DDR_PHY_DX8GCR0_DQSGPDR_SHIFT 
#undef DDR_PHY_DX8GCR0_DQSGPDR_MASK 
#define DDR_PHY_DX8GCR0_DQSGPDR_DEFVAL                         0x40200204
#define DDR_PHY_DX8GCR0_DQSGPDR_SHIFT                          5
#define DDR_PHY_DX8GCR0_DQSGPDR_MASK                           0x00000020U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_DX8GCR0_RESERVED_4_DEFVAL 
#undef DDR_PHY_DX8GCR0_RESERVED_4_SHIFT 
#undef DDR_PHY_DX8GCR0_RESERVED_4_MASK 
#define DDR_PHY_DX8GCR0_RESERVED_4_DEFVAL                      0x40200204
#define DDR_PHY_DX8GCR0_RESERVED_4_SHIFT                       4
#define DDR_PHY_DX8GCR0_RESERVED_4_MASK                        0x00000010U

/*
* DQSG On-Die Termination
*/
#undef DDR_PHY_DX8GCR0_DQSGODT_DEFVAL 
#undef DDR_PHY_DX8GCR0_DQSGODT_SHIFT 
#undef DDR_PHY_DX8GCR0_DQSGODT_MASK 
#define DDR_PHY_DX8GCR0_DQSGODT_DEFVAL                         0x40200204
#define DDR_PHY_DX8GCR0_DQSGODT_SHIFT                          3
#define DDR_PHY_DX8GCR0_DQSGODT_MASK                           0x00000008U

/*
* DQSG Output Enable
*/
#undef DDR_PHY_DX8GCR0_DQSGOE_DEFVAL 
#undef DDR_PHY_DX8GCR0_DQSGOE_SHIFT 
#undef DDR_PHY_DX8GCR0_DQSGOE_MASK 
#define DDR_PHY_DX8GCR0_DQSGOE_DEFVAL                          0x40200204
#define DDR_PHY_DX8GCR0_DQSGOE_SHIFT                           2
#define DDR_PHY_DX8GCR0_DQSGOE_MASK                            0x00000004U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_DX8GCR0_RESERVED_1_0_DEFVAL 
#undef DDR_PHY_DX8GCR0_RESERVED_1_0_SHIFT 
#undef DDR_PHY_DX8GCR0_RESERVED_1_0_MASK 
#define DDR_PHY_DX8GCR0_RESERVED_1_0_DEFVAL                    0x40200204
#define DDR_PHY_DX8GCR0_RESERVED_1_0_SHIFT                     0
#define DDR_PHY_DX8GCR0_RESERVED_1_0_MASK                      0x00000003U

/*
* Enables the PDR mode for DQ[7:0]
*/
#undef DDR_PHY_DX8GCR1_DXPDRMODE_DEFVAL 
#undef DDR_PHY_DX8GCR1_DXPDRMODE_SHIFT 
#undef DDR_PHY_DX8GCR1_DXPDRMODE_MASK 
#define DDR_PHY_DX8GCR1_DXPDRMODE_DEFVAL                       0x00007FFF
#define DDR_PHY_DX8GCR1_DXPDRMODE_SHIFT                        16
#define DDR_PHY_DX8GCR1_DXPDRMODE_MASK                         0xFFFF0000U

/*
* Reserved. Returns zeroes on reads.
*/
#undef DDR_PHY_DX8GCR1_RESERVED_15_DEFVAL 
#undef DDR_PHY_DX8GCR1_RESERVED_15_SHIFT 
#undef DDR_PHY_DX8GCR1_RESERVED_15_MASK 
#define DDR_PHY_DX8GCR1_RESERVED_15_DEFVAL                     0x00007FFF
#define DDR_PHY_DX8GCR1_RESERVED_15_SHIFT                      15
#define DDR_PHY_DX8GCR1_RESERVED_15_MASK                       0x00008000U

/*
* Select the delayed or non-delayed read data strobe #
*/
#undef DDR_PHY_DX8GCR1_QSNSEL_DEFVAL 
#undef DDR_PHY_DX8GCR1_QSNSEL_SHIFT 
#undef DDR_PHY_DX8GCR1_QSNSEL_MASK 
#define DDR_PHY_DX8GCR1_QSNSEL_DEFVAL                          0x00007FFF
#define DDR_PHY_DX8GCR1_QSNSEL_SHIFT                           14
#define DDR_PHY_DX8GCR1_QSNSEL_MASK                            0x00004000U

/*
* Select the delayed or non-delayed read data strobe
*/
#undef DDR_PHY_DX8GCR1_QSSEL_DEFVAL 
#undef DDR_PHY_DX8GCR1_QSSEL_SHIFT 
#undef DDR_PHY_DX8GCR1_QSSEL_MASK 
#define DDR_PHY_DX8GCR1_QSSEL_DEFVAL                           0x00007FFF
#define DDR_PHY_DX8GCR1_QSSEL_SHIFT                            13
#define DDR_PHY_DX8GCR1_QSSEL_MASK                             0x00002000U

/*
* Enables Read Data Strobe in a byte lane
*/
#undef DDR_PHY_DX8GCR1_OEEN_DEFVAL 
#undef DDR_PHY_DX8GCR1_OEEN_SHIFT 
#undef DDR_PHY_DX8GCR1_OEEN_MASK 
#define DDR_PHY_DX8GCR1_OEEN_DEFVAL                            0x00007FFF
#define DDR_PHY_DX8GCR1_OEEN_SHIFT                             12
#define DDR_PHY_DX8GCR1_OEEN_MASK                              0x00001000U

/*
* Enables PDR in a byte lane
*/
#undef DDR_PHY_DX8GCR1_PDREN_DEFVAL 
#undef DDR_PHY_DX8GCR1_PDREN_SHIFT 
#undef DDR_PHY_DX8GCR1_PDREN_MASK 
#define DDR_PHY_DX8GCR1_PDREN_DEFVAL                           0x00007FFF
#define DDR_PHY_DX8GCR1_PDREN_SHIFT                            11
#define DDR_PHY_DX8GCR1_PDREN_MASK                             0x00000800U

/*
* Enables ODT/TE in a byte lane
*/
#undef DDR_PHY_DX8GCR1_TEEN_DEFVAL 
#undef DDR_PHY_DX8GCR1_TEEN_SHIFT 
#undef DDR_PHY_DX8GCR1_TEEN_MASK 
#define DDR_PHY_DX8GCR1_TEEN_DEFVAL                            0x00007FFF
#define DDR_PHY_DX8GCR1_TEEN_SHIFT                             10
#define DDR_PHY_DX8GCR1_TEEN_MASK                              0x00000400U

/*
* Enables Write Data strobe in a byte lane
*/
#undef DDR_PHY_DX8GCR1_DSEN_DEFVAL 
#undef DDR_PHY_DX8GCR1_DSEN_SHIFT 
#undef DDR_PHY_DX8GCR1_DSEN_MASK 
#define DDR_PHY_DX8GCR1_DSEN_DEFVAL                            0x00007FFF
#define DDR_PHY_DX8GCR1_DSEN_SHIFT                             9
#define DDR_PHY_DX8GCR1_DSEN_MASK                              0x00000200U

/*
* Enables DM pin in a byte lane
*/
#undef DDR_PHY_DX8GCR1_DMEN_DEFVAL 
#undef DDR_PHY_DX8GCR1_DMEN_SHIFT 
#undef DDR_PHY_DX8GCR1_DMEN_MASK 
#define DDR_PHY_DX8GCR1_DMEN_DEFVAL                            0x00007FFF
#define DDR_PHY_DX8GCR1_DMEN_SHIFT                             8
#define DDR_PHY_DX8GCR1_DMEN_MASK                              0x00000100U

/*
* Enables DQ corresponding to each bit in a byte
*/
#undef DDR_PHY_DX8GCR1_DQEN_DEFVAL 
#undef DDR_PHY_DX8GCR1_DQEN_SHIFT 
#undef DDR_PHY_DX8GCR1_DQEN_MASK 
#define DDR_PHY_DX8GCR1_DQEN_DEFVAL                            0x00007FFF
#define DDR_PHY_DX8GCR1_DQEN_SHIFT                             0
#define DDR_PHY_DX8GCR1_DQEN_MASK                              0x000000FFU

/*
* Byte lane VREF IOM (Used only by D4MU IOs)
*/
#undef DDR_PHY_DX8GCR4_RESERVED_31_29_DEFVAL 
#undef DDR_PHY_DX8GCR4_RESERVED_31_29_SHIFT 
#undef DDR_PHY_DX8GCR4_RESERVED_31_29_MASK 
#define DDR_PHY_DX8GCR4_RESERVED_31_29_DEFVAL                  0x0E00003C
#define DDR_PHY_DX8GCR4_RESERVED_31_29_SHIFT                   29
#define DDR_PHY_DX8GCR4_RESERVED_31_29_MASK                    0xE0000000U

/*
* Byte Lane VREF Pad Enable
*/
#undef DDR_PHY_DX8GCR4_DXREFPEN_DEFVAL 
#undef DDR_PHY_DX8GCR4_DXREFPEN_SHIFT 
#undef DDR_PHY_DX8GCR4_DXREFPEN_MASK 
#define DDR_PHY_DX8GCR4_DXREFPEN_DEFVAL                        0x0E00003C
#define DDR_PHY_DX8GCR4_DXREFPEN_SHIFT                         28
#define DDR_PHY_DX8GCR4_DXREFPEN_MASK                          0x10000000U

/*
* Byte Lane Internal VREF Enable
*/
#undef DDR_PHY_DX8GCR4_DXREFEEN_DEFVAL 
#undef DDR_PHY_DX8GCR4_DXREFEEN_SHIFT 
#undef DDR_PHY_DX8GCR4_DXREFEEN_MASK 
#define DDR_PHY_DX8GCR4_DXREFEEN_DEFVAL                        0x0E00003C
#define DDR_PHY_DX8GCR4_DXREFEEN_SHIFT                         26
#define DDR_PHY_DX8GCR4_DXREFEEN_MASK                          0x0C000000U

/*
* Byte Lane Single-End VREF Enable
*/
#undef DDR_PHY_DX8GCR4_DXREFSEN_DEFVAL 
#undef DDR_PHY_DX8GCR4_DXREFSEN_SHIFT 
#undef DDR_PHY_DX8GCR4_DXREFSEN_MASK 
#define DDR_PHY_DX8GCR4_DXREFSEN_DEFVAL                        0x0E00003C
#define DDR_PHY_DX8GCR4_DXREFSEN_SHIFT                         25
#define DDR_PHY_DX8GCR4_DXREFSEN_MASK                          0x02000000U

/*
* Reserved. Returns zeros on reads.
*/
#undef DDR_PHY_DX8GCR4_RESERVED_24_DEFVAL 
#undef DDR_PHY_DX8GCR4_RESERVED_24_SHIFT 
#undef DDR_PHY_DX8GCR4_RESERVED_24_MASK 
#define DDR_PHY_DX8GCR4_RESERVED_24_DEFVAL                     0x0E00003C
#define DDR_PHY_DX8GCR4_RESERVED_24_SHIFT                      24
#define DDR_PHY_DX8GCR4_RESERVED_24_MASK                       0x01000000U

/*
* External VREF generator REFSEL range select
*/
#undef DDR_PHY_DX8GCR4_DXREFESELRANGE_DEFVAL 
#undef DDR_PHY_DX8GCR4_DXREFESELRANGE_SHIFT 
#undef DDR_PHY_DX8GCR4_DXREFESELRANGE_MASK 
#define DDR_PHY_DX8GCR4_DXREFESELRANGE_DEFVAL                  0x0E00003C
#define DDR_PHY_DX8GCR4_DXREFESELRANGE_SHIFT                   23
#define DDR_PHY_DX8GCR4_DXREFESELRANGE_MASK                    0x00800000U

/*
* Byte Lane External VREF Select
*/
#undef DDR_PHY_DX8GCR4_DXREFESEL_DEFVAL 
#undef DDR_PHY_DX8GCR4_DXREFESEL_SHIFT 
#undef DDR_PHY_DX8GCR4_DXREFESEL_MASK 
#define DDR_PHY_DX8GCR4_DXREFESEL_DEFVAL                       0x0E00003C
#define DDR_PHY_DX8GCR4_DXREFESEL_SHIFT                        16
#define DDR_PHY_DX8GCR4_DXREFESEL_MASK                         0x007F0000U

/*
* Single ended VREF generator REFSEL range select
*/
#undef DDR_PHY_DX8GCR4_DXREFSSELRANGE_DEFVAL 
#undef DDR_PHY_DX8GCR4_DXREFSSELRANGE_SHIFT 
#undef DDR_PHY_DX8GCR4_DXREFSSELRANGE_MASK 
#define DDR_PHY_DX8GCR4_DXREFSSELRANGE_DEFVAL                  0x0E00003C
#define DDR_PHY_DX8GCR4_DXREFSSELRANGE_SHIFT                   15
#define DDR_PHY_DX8GCR4_DXREFSSELRANGE_MASK                    0x00008000U

/*
* Byte Lane Single-End VREF Select
*/
#undef DDR_PHY_DX8GCR4_DXREFSSEL_DEFVAL 
#undef DDR_PHY_DX8GCR4_DXREFSSEL_SHIFT 
#undef DDR_PHY_DX8GCR4_DXREFSSEL_MASK 
#define DDR_PHY_DX8GCR4_DXREFSSEL_DEFVAL                       0x0E00003C
#define DDR_PHY_DX8GCR4_DXREFSSEL_SHIFT                        8
#define DDR_PHY_DX8GCR4_DXREFSSEL_MASK                         0x00007F00U

/*
* Reserved. Returns zeros on reads.
*/
#undef DDR_PHY_DX8GCR4_RESERVED_7_6_DEFVAL 
#undef DDR_PHY_DX8GCR4_RESERVED_7_6_SHIFT 
#undef DDR_PHY_DX8GCR4_RESERVED_7_6_MASK 
#define DDR_PHY_DX8GCR4_RESERVED_7_6_DEFVAL                    0x0E00003C
#define DDR_PHY_DX8GCR4_RESERVED_7_6_SHIFT                     6
#define DDR_PHY_DX8GCR4_RESERVED_7_6_MASK                      0x000000C0U

/*
* VREF Enable control for DQ IO (Single Ended) buffers of a byte lane.
*/
#undef DDR_PHY_DX8GCR4_DXREFIEN_DEFVAL 
#undef DDR_PHY_DX8GCR4_DXREFIEN_SHIFT 
#undef DDR_PHY_DX8GCR4_DXREFIEN_MASK 
#define DDR_PHY_DX8GCR4_DXREFIEN_DEFVAL                        0x0E00003C
#define DDR_PHY_DX8GCR4_DXREFIEN_SHIFT                         2
#define DDR_PHY_DX8GCR4_DXREFIEN_MASK                          0x0000003CU

/*
* VRMON control for DQ IO (Single Ended) buffers of a byte lane.
*/
#undef DDR_PHY_DX8GCR4_DXREFIMON_DEFVAL 
#undef DDR_PHY_DX8GCR4_DXREFIMON_SHIFT 
#undef DDR_PHY_DX8GCR4_DXREFIMON_MASK 
#define DDR_PHY_DX8GCR4_DXREFIMON_DEFVAL                       0x0E00003C
#define DDR_PHY_DX8GCR4_DXREFIMON_SHIFT                        0
#define DDR_PHY_DX8GCR4_DXREFIMON_MASK                         0x00000003U

/*
* Reserved. Returns zeros on reads.
*/
#undef DDR_PHY_DX8GCR5_RESERVED_31_DEFVAL 
#undef DDR_PHY_DX8GCR5_RESERVED_31_SHIFT 
#undef DDR_PHY_DX8GCR5_RESERVED_31_MASK 
#define DDR_PHY_DX8GCR5_RESERVED_31_DEFVAL                     0x09090909
#define DDR_PHY_DX8GCR5_RESERVED_31_SHIFT                      31
#define DDR_PHY_DX8GCR5_RESERVED_31_MASK                       0x80000000U

/*
* Byte Lane internal VREF Select for Rank 3
*/
#undef DDR_PHY_DX8GCR5_DXREFISELR3_DEFVAL 
#undef DDR_PHY_DX8GCR5_DXREFISELR3_SHIFT 
#undef DDR_PHY_DX8GCR5_DXREFISELR3_MASK 
#define DDR_PHY_DX8GCR5_DXREFISELR3_DEFVAL                     0x09090909
#define DDR_PHY_DX8GCR5_DXREFISELR3_SHIFT                      24
#define DDR_PHY_DX8GCR5_DXREFISELR3_MASK                       0x7F000000U

/*
* Reserved. Returns zeros on reads.
*/
#undef DDR_PHY_DX8GCR5_RESERVED_23_DEFVAL 
#undef DDR_PHY_DX8GCR5_RESERVED_23_SHIFT 
#undef DDR_PHY_DX8GCR5_RESERVED_23_MASK 
#define DDR_PHY_DX8GCR5_RESERVED_23_DEFVAL                     0x09090909
#define DDR_PHY_DX8GCR5_RESERVED_23_SHIFT                      23
#define DDR_PHY_DX8GCR5_RESERVED_23_MASK                       0x00800000U

/*
* Byte Lane internal VREF Select for Rank 2
*/
#undef DDR_PHY_DX8GCR5_DXREFISELR2_DEFVAL 
#undef DDR_PHY_DX8GCR5_DXREFISELR2_SHIFT 
#undef DDR_PHY_DX8GCR5_DXREFISELR2_MASK 
#define DDR_PHY_DX8GCR5_DXREFISELR2_DEFVAL                     0x09090909
#define DDR_PHY_DX8GCR5_DXREFISELR2_SHIFT                      16
#define DDR_PHY_DX8GCR5_DXREFISELR2_MASK                       0x007F0000U

/*
* Reserved. Returns zeros on reads.
*/
#undef DDR_PHY_DX8GCR5_RESERVED_15_DEFVAL 
#undef DDR_PHY_DX8GCR5_RESERVED_15_SHIFT 
#undef DDR_PHY_DX8GCR5_RESERVED_15_MASK 
#define DDR_PHY_DX8GCR5_RESERVED_15_DEFVAL                     0x09090909
#define DDR_PHY_DX8GCR5_RESERVED_15_SHIFT                      15
#define DDR_PHY_DX8GCR5_RESERVED_15_MASK                       0x00008000U

/*
* Byte Lane internal VREF Select for Rank 1
*/
#undef DDR_PHY_DX8GCR5_DXREFISELR1_DEFVAL 
#undef DDR_PHY_DX8GCR5_DXREFISELR1_SHIFT 
#undef DDR_PHY_DX8GCR5_DXREFISELR1_MASK 
#define DDR_PHY_DX8GCR5_DXREFISELR1_DEFVAL                     0x09090909
#define DDR_PHY_DX8GCR5_DXREFISELR1_SHIFT                      8
#define DDR_PHY_DX8GCR5_DXREFISELR1_MASK                       0x00007F00U

/*
* Reserved. Returns zeros on reads.
*/
#undef DDR_PHY_DX8GCR5_RESERVED_7_DEFVAL 
#undef DDR_PHY_DX8GCR5_RESERVED_7_SHIFT 
#undef DDR_PHY_DX8GCR5_RESERVED_7_MASK 
#define DDR_PHY_DX8GCR5_RESERVED_7_DEFVAL                      0x09090909
#define DDR_PHY_DX8GCR5_RESERVED_7_SHIFT                       7
#define DDR_PHY_DX8GCR5_RESERVED_7_MASK                        0x00000080U

/*
* Byte Lane internal VREF Select for Rank 0
*/
#undef DDR_PHY_DX8GCR5_DXREFISELR0_DEFVAL 
#undef DDR_PHY_DX8GCR5_DXREFISELR0_SHIFT 
#undef DDR_PHY_DX8GCR5_DXREFISELR0_MASK 
#define DDR_PHY_DX8GCR5_DXREFISELR0_DEFVAL                     0x09090909
#define DDR_PHY_DX8GCR5_DXREFISELR0_SHIFT                      0
#define DDR_PHY_DX8GCR5_DXREFISELR0_MASK                       0x0000007FU

/*
* Reserved. Returns zeros on reads.
*/
#undef DDR_PHY_DX8GCR6_RESERVED_31_30_DEFVAL 
#undef DDR_PHY_DX8GCR6_RESERVED_31_30_SHIFT 
#undef DDR_PHY_DX8GCR6_RESERVED_31_30_MASK 
#define DDR_PHY_DX8GCR6_RESERVED_31_30_DEFVAL                  0x09090909
#define DDR_PHY_DX8GCR6_RESERVED_31_30_SHIFT                   30
#define DDR_PHY_DX8GCR6_RESERVED_31_30_MASK                    0xC0000000U

/*
* DRAM DQ VREF Select for Rank3
*/
#undef DDR_PHY_DX8GCR6_DXDQVREFR3_DEFVAL 
#undef DDR_PHY_DX8GCR6_DXDQVREFR3_SHIFT 
#undef DDR_PHY_DX8GCR6_DXDQVREFR3_MASK 
#define DDR_PHY_DX8GCR6_DXDQVREFR3_DEFVAL                      0x09090909
#define DDR_PHY_DX8GCR6_DXDQVREFR3_SHIFT                       24
#define DDR_PHY_DX8GCR6_DXDQVREFR3_MASK                        0x3F000000U

/*
* Reserved. Returns zeros on reads.
*/
#undef DDR_PHY_DX8GCR6_RESERVED_23_22_DEFVAL 
#undef DDR_PHY_DX8GCR6_RESERVED_23_22_SHIFT 
#undef DDR_PHY_DX8GCR6_RESERVED_23_22_MASK 
#define DDR_PHY_DX8GCR6_RESERVED_23_22_DEFVAL                  0x09090909
#define DDR_PHY_DX8GCR6_RESERVED_23_22_SHIFT                   22
#define DDR_PHY_DX8GCR6_RESERVED_23_22_MASK                    0x00C00000U

/*
* DRAM DQ VREF Select for Rank2
*/
#undef DDR_PHY_DX8GCR6_DXDQVREFR2_DEFVAL 
#undef DDR_PHY_DX8GCR6_DXDQVREFR2_SHIFT 
#undef DDR_PHY_DX8GCR6_DXDQVREFR2_MASK 
#define DDR_PHY_DX8GCR6_DXDQVREFR2_DEFVAL                      0x09090909
#define DDR_PHY_DX8GCR6_DXDQVREFR2_SHIFT                       16
#define DDR_PHY_DX8GCR6_DXDQVREFR2_MASK                        0x003F0000U

/*
* Reserved. Returns zeros on reads.
*/
#undef DDR_PHY_DX8GCR6_RESERVED_15_14_DEFVAL 
#undef DDR_PHY_DX8GCR6_RESERVED_15_14_SHIFT 
#undef DDR_PHY_DX8GCR6_RESERVED_15_14_MASK 
#define DDR_PHY_DX8GCR6_RESERVED_15_14_DEFVAL                  0x09090909
#define DDR_PHY_DX8GCR6_RESERVED_15_14_SHIFT                   14
#define DDR_PHY_DX8GCR6_RESERVED_15_14_MASK                    0x0000C000U

/*
* DRAM DQ VREF Select for Rank1
*/
#undef DDR_PHY_DX8GCR6_DXDQVREFR1_DEFVAL 
#undef DDR_PHY_DX8GCR6_DXDQVREFR1_SHIFT 
#undef DDR_PHY_DX8GCR6_DXDQVREFR1_MASK 
#define DDR_PHY_DX8GCR6_DXDQVREFR1_DEFVAL                      0x09090909
#define DDR_PHY_DX8GCR6_DXDQVREFR1_SHIFT                       8
#define DDR_PHY_DX8GCR6_DXDQVREFR1_MASK                        0x00003F00U

/*
* Reserved. Returns zeros on reads.
*/
#undef DDR_PHY_DX8GCR6_RESERVED_7_6_DEFVAL 
#undef DDR_PHY_DX8GCR6_RESERVED_7_6_SHIFT 
#undef DDR_PHY_DX8GCR6_RESERVED_7_6_MASK 
#define DDR_PHY_DX8GCR6_RESERVED_7_6_DEFVAL                    0x09090909
#define DDR_PHY_DX8GCR6_RESERVED_7_6_SHIFT                     6
#define DDR_PHY_DX8GCR6_RESERVED_7_6_MASK                      0x000000C0U

/*
* DRAM DQ VREF Select for Rank0
*/
#undef DDR_PHY_DX8GCR6_DXDQVREFR0_DEFVAL 
#undef DDR_PHY_DX8GCR6_DXDQVREFR0_SHIFT 
#undef DDR_PHY_DX8GCR6_DXDQVREFR0_MASK 
#define DDR_PHY_DX8GCR6_DXDQVREFR0_DEFVAL                      0x09090909
#define DDR_PHY_DX8GCR6_DXDQVREFR0_SHIFT                       0
#define DDR_PHY_DX8GCR6_DXDQVREFR0_MASK                        0x0000003FU

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_DX8SL0OSC_RESERVED_31_30_DEFVAL 
#undef DDR_PHY_DX8SL0OSC_RESERVED_31_30_SHIFT 
#undef DDR_PHY_DX8SL0OSC_RESERVED_31_30_MASK 
#define DDR_PHY_DX8SL0OSC_RESERVED_31_30_DEFVAL                0x00019FFE
#define DDR_PHY_DX8SL0OSC_RESERVED_31_30_SHIFT                 30
#define DDR_PHY_DX8SL0OSC_RESERVED_31_30_MASK                  0xC0000000U

/*
* Enable Clock Gating for DX ddr_clk
*/
#undef DDR_PHY_DX8SL0OSC_GATEDXRDCLK_DEFVAL 
#undef DDR_PHY_DX8SL0OSC_GATEDXRDCLK_SHIFT 
#undef DDR_PHY_DX8SL0OSC_GATEDXRDCLK_MASK 
#define DDR_PHY_DX8SL0OSC_GATEDXRDCLK_DEFVAL                   0x00019FFE
#define DDR_PHY_DX8SL0OSC_GATEDXRDCLK_SHIFT                    28
#define DDR_PHY_DX8SL0OSC_GATEDXRDCLK_MASK                     0x30000000U

/*
* Enable Clock Gating for DX ctl_rd_clk
*/
#undef DDR_PHY_DX8SL0OSC_GATEDXDDRCLK_DEFVAL 
#undef DDR_PHY_DX8SL0OSC_GATEDXDDRCLK_SHIFT 
#undef DDR_PHY_DX8SL0OSC_GATEDXDDRCLK_MASK 
#define DDR_PHY_DX8SL0OSC_GATEDXDDRCLK_DEFVAL                  0x00019FFE
#define DDR_PHY_DX8SL0OSC_GATEDXDDRCLK_SHIFT                   26
#define DDR_PHY_DX8SL0OSC_GATEDXDDRCLK_MASK                    0x0C000000U

/*
* Enable Clock Gating for DX ctl_clk
*/
#undef DDR_PHY_DX8SL0OSC_GATEDXCTLCLK_DEFVAL 
#undef DDR_PHY_DX8SL0OSC_GATEDXCTLCLK_SHIFT 
#undef DDR_PHY_DX8SL0OSC_GATEDXCTLCLK_MASK 
#define DDR_PHY_DX8SL0OSC_GATEDXCTLCLK_DEFVAL                  0x00019FFE
#define DDR_PHY_DX8SL0OSC_GATEDXCTLCLK_SHIFT                   24
#define DDR_PHY_DX8SL0OSC_GATEDXCTLCLK_MASK                    0x03000000U

/*
* Selects the level to which clocks will be stalled when clock gating is e
    * nabled.
*/
#undef DDR_PHY_DX8SL0OSC_CLKLEVEL_DEFVAL 
#undef DDR_PHY_DX8SL0OSC_CLKLEVEL_SHIFT 
#undef DDR_PHY_DX8SL0OSC_CLKLEVEL_MASK 
#define DDR_PHY_DX8SL0OSC_CLKLEVEL_DEFVAL                      0x00019FFE
#define DDR_PHY_DX8SL0OSC_CLKLEVEL_SHIFT                       22
#define DDR_PHY_DX8SL0OSC_CLKLEVEL_MASK                        0x00C00000U

/*
* Loopback Mode
*/
#undef DDR_PHY_DX8SL0OSC_LBMODE_DEFVAL 
#undef DDR_PHY_DX8SL0OSC_LBMODE_SHIFT 
#undef DDR_PHY_DX8SL0OSC_LBMODE_MASK 
#define DDR_PHY_DX8SL0OSC_LBMODE_DEFVAL                        0x00019FFE
#define DDR_PHY_DX8SL0OSC_LBMODE_SHIFT                         21
#define DDR_PHY_DX8SL0OSC_LBMODE_MASK                          0x00200000U

/*
* Load GSDQS LCDL with 2x the calibrated GSDQSPRD value
*/
#undef DDR_PHY_DX8SL0OSC_LBGSDQS_DEFVAL 
#undef DDR_PHY_DX8SL0OSC_LBGSDQS_SHIFT 
#undef DDR_PHY_DX8SL0OSC_LBGSDQS_MASK 
#define DDR_PHY_DX8SL0OSC_LBGSDQS_DEFVAL                       0x00019FFE
#define DDR_PHY_DX8SL0OSC_LBGSDQS_SHIFT                        20
#define DDR_PHY_DX8SL0OSC_LBGSDQS_MASK                         0x00100000U

/*
* Loopback DQS Gating
*/
#undef DDR_PHY_DX8SL0OSC_LBGDQS_DEFVAL 
#undef DDR_PHY_DX8SL0OSC_LBGDQS_SHIFT 
#undef DDR_PHY_DX8SL0OSC_LBGDQS_MASK 
#define DDR_PHY_DX8SL0OSC_LBGDQS_DEFVAL                        0x00019FFE
#define DDR_PHY_DX8SL0OSC_LBGDQS_SHIFT                         18
#define DDR_PHY_DX8SL0OSC_LBGDQS_MASK                          0x000C0000U

/*
* Loopback DQS Shift
*/
#undef DDR_PHY_DX8SL0OSC_LBDQSS_DEFVAL 
#undef DDR_PHY_DX8SL0OSC_LBDQSS_SHIFT 
#undef DDR_PHY_DX8SL0OSC_LBDQSS_MASK 
#define DDR_PHY_DX8SL0OSC_LBDQSS_DEFVAL                        0x00019FFE
#define DDR_PHY_DX8SL0OSC_LBDQSS_SHIFT                         17
#define DDR_PHY_DX8SL0OSC_LBDQSS_MASK                          0x00020000U

/*
* PHY High-Speed Reset
*/
#undef DDR_PHY_DX8SL0OSC_PHYHRST_DEFVAL 
#undef DDR_PHY_DX8SL0OSC_PHYHRST_SHIFT 
#undef DDR_PHY_DX8SL0OSC_PHYHRST_MASK 
#define DDR_PHY_DX8SL0OSC_PHYHRST_DEFVAL                       0x00019FFE
#define DDR_PHY_DX8SL0OSC_PHYHRST_SHIFT                        16
#define DDR_PHY_DX8SL0OSC_PHYHRST_MASK                         0x00010000U

/*
* PHY FIFO Reset
*/
#undef DDR_PHY_DX8SL0OSC_PHYFRST_DEFVAL 
#undef DDR_PHY_DX8SL0OSC_PHYFRST_SHIFT 
#undef DDR_PHY_DX8SL0OSC_PHYFRST_MASK 
#define DDR_PHY_DX8SL0OSC_PHYFRST_DEFVAL                       0x00019FFE
#define DDR_PHY_DX8SL0OSC_PHYFRST_SHIFT                        15
#define DDR_PHY_DX8SL0OSC_PHYFRST_MASK                         0x00008000U

/*
* Delay Line Test Start
*/
#undef DDR_PHY_DX8SL0OSC_DLTST_DEFVAL 
#undef DDR_PHY_DX8SL0OSC_DLTST_SHIFT 
#undef DDR_PHY_DX8SL0OSC_DLTST_MASK 
#define DDR_PHY_DX8SL0OSC_DLTST_DEFVAL                         0x00019FFE
#define DDR_PHY_DX8SL0OSC_DLTST_SHIFT                          14
#define DDR_PHY_DX8SL0OSC_DLTST_MASK                           0x00004000U

/*
* Delay Line Test Mode
*/
#undef DDR_PHY_DX8SL0OSC_DLTMODE_DEFVAL 
#undef DDR_PHY_DX8SL0OSC_DLTMODE_SHIFT 
#undef DDR_PHY_DX8SL0OSC_DLTMODE_MASK 
#define DDR_PHY_DX8SL0OSC_DLTMODE_DEFVAL                       0x00019FFE
#define DDR_PHY_DX8SL0OSC_DLTMODE_SHIFT                        13
#define DDR_PHY_DX8SL0OSC_DLTMODE_MASK                         0x00002000U

/*
* Reserved. Caution, do not write to this register field.
*/
#undef DDR_PHY_DX8SL0OSC_RESERVED_12_11_DEFVAL 
#undef DDR_PHY_DX8SL0OSC_RESERVED_12_11_SHIFT 
#undef DDR_PHY_DX8SL0OSC_RESERVED_12_11_MASK 
#define DDR_PHY_DX8SL0OSC_RESERVED_12_11_DEFVAL                0x00019FFE
#define DDR_PHY_DX8SL0OSC_RESERVED_12_11_SHIFT                 11
#define DDR_PHY_DX8SL0OSC_RESERVED_12_11_MASK                  0x00001800U

/*
* Oscillator Mode Write-Data Delay Line Select
*/
#undef DDR_PHY_DX8SL0OSC_OSCWDDL_DEFVAL 
#undef DDR_PHY_DX8SL0OSC_OSCWDDL_SHIFT 
#undef DDR_PHY_DX8SL0OSC_OSCWDDL_MASK 
#define DDR_PHY_DX8SL0OSC_OSCWDDL_DEFVAL                       0x00019FFE
#define DDR_PHY_DX8SL0OSC_OSCWDDL_SHIFT                        9
#define DDR_PHY_DX8SL0OSC_OSCWDDL_MASK                         0x00000600U

/*
* Reserved. Caution, do not write to this register field.
*/
#undef DDR_PHY_DX8SL0OSC_RESERVED_8_7_DEFVAL 
#undef DDR_PHY_DX8SL0OSC_RESERVED_8_7_SHIFT 
#undef DDR_PHY_DX8SL0OSC_RESERVED_8_7_MASK 
#define DDR_PHY_DX8SL0OSC_RESERVED_8_7_DEFVAL                  0x00019FFE
#define DDR_PHY_DX8SL0OSC_RESERVED_8_7_SHIFT                   7
#define DDR_PHY_DX8SL0OSC_RESERVED_8_7_MASK                    0x00000180U

/*
* Oscillator Mode Write-Leveling Delay Line Select
*/
#undef DDR_PHY_DX8SL0OSC_OSCWDL_DEFVAL 
#undef DDR_PHY_DX8SL0OSC_OSCWDL_SHIFT 
#undef DDR_PHY_DX8SL0OSC_OSCWDL_MASK 
#define DDR_PHY_DX8SL0OSC_OSCWDL_DEFVAL                        0x00019FFE
#define DDR_PHY_DX8SL0OSC_OSCWDL_SHIFT                         5
#define DDR_PHY_DX8SL0OSC_OSCWDL_MASK                          0x00000060U

/*
* Oscillator Mode Division
*/
#undef DDR_PHY_DX8SL0OSC_OSCDIV_DEFVAL 
#undef DDR_PHY_DX8SL0OSC_OSCDIV_SHIFT 
#undef DDR_PHY_DX8SL0OSC_OSCDIV_MASK 
#define DDR_PHY_DX8SL0OSC_OSCDIV_DEFVAL                        0x00019FFE
#define DDR_PHY_DX8SL0OSC_OSCDIV_SHIFT                         1
#define DDR_PHY_DX8SL0OSC_OSCDIV_MASK                          0x0000001EU

/*
* Oscillator Enable
*/
#undef DDR_PHY_DX8SL0OSC_OSCEN_DEFVAL 
#undef DDR_PHY_DX8SL0OSC_OSCEN_SHIFT 
#undef DDR_PHY_DX8SL0OSC_OSCEN_MASK 
#define DDR_PHY_DX8SL0OSC_OSCEN_DEFVAL                         0x00019FFE
#define DDR_PHY_DX8SL0OSC_OSCEN_SHIFT                          0
#define DDR_PHY_DX8SL0OSC_OSCEN_MASK                           0x00000001U

/*
* PLL Bypass
*/
#undef DDR_PHY_DX8SL0PLLCR0_PLLBYP_DEFVAL 
#undef DDR_PHY_DX8SL0PLLCR0_PLLBYP_SHIFT 
#undef DDR_PHY_DX8SL0PLLCR0_PLLBYP_MASK 
#define DDR_PHY_DX8SL0PLLCR0_PLLBYP_DEFVAL                     0x001C0000
#define DDR_PHY_DX8SL0PLLCR0_PLLBYP_SHIFT                      31
#define DDR_PHY_DX8SL0PLLCR0_PLLBYP_MASK                       0x80000000U

/*
* PLL Reset
*/
#undef DDR_PHY_DX8SL0PLLCR0_PLLRST_DEFVAL 
#undef DDR_PHY_DX8SL0PLLCR0_PLLRST_SHIFT 
#undef DDR_PHY_DX8SL0PLLCR0_PLLRST_MASK 
#define DDR_PHY_DX8SL0PLLCR0_PLLRST_DEFVAL                     0x001C0000
#define DDR_PHY_DX8SL0PLLCR0_PLLRST_SHIFT                      30
#define DDR_PHY_DX8SL0PLLCR0_PLLRST_MASK                       0x40000000U

/*
* PLL Power Down
*/
#undef DDR_PHY_DX8SL0PLLCR0_PLLPD_DEFVAL 
#undef DDR_PHY_DX8SL0PLLCR0_PLLPD_SHIFT 
#undef DDR_PHY_DX8SL0PLLCR0_PLLPD_MASK 
#define DDR_PHY_DX8SL0PLLCR0_PLLPD_DEFVAL                      0x001C0000
#define DDR_PHY_DX8SL0PLLCR0_PLLPD_SHIFT                       29
#define DDR_PHY_DX8SL0PLLCR0_PLLPD_MASK                        0x20000000U

/*
* Reference Stop Mode
*/
#undef DDR_PHY_DX8SL0PLLCR0_RSTOPM_DEFVAL 
#undef DDR_PHY_DX8SL0PLLCR0_RSTOPM_SHIFT 
#undef DDR_PHY_DX8SL0PLLCR0_RSTOPM_MASK 
#define DDR_PHY_DX8SL0PLLCR0_RSTOPM_DEFVAL                     0x001C0000
#define DDR_PHY_DX8SL0PLLCR0_RSTOPM_SHIFT                      28
#define DDR_PHY_DX8SL0PLLCR0_RSTOPM_MASK                       0x10000000U

/*
* PLL Frequency Select
*/
#undef DDR_PHY_DX8SL0PLLCR0_FRQSEL_DEFVAL 
#undef DDR_PHY_DX8SL0PLLCR0_FRQSEL_SHIFT 
#undef DDR_PHY_DX8SL0PLLCR0_FRQSEL_MASK 
#define DDR_PHY_DX8SL0PLLCR0_FRQSEL_DEFVAL                     0x001C0000
#define DDR_PHY_DX8SL0PLLCR0_FRQSEL_SHIFT                      24
#define DDR_PHY_DX8SL0PLLCR0_FRQSEL_MASK                       0x0F000000U

/*
* Relock Mode
*/
#undef DDR_PHY_DX8SL0PLLCR0_RLOCKM_DEFVAL 
#undef DDR_PHY_DX8SL0PLLCR0_RLOCKM_SHIFT 
#undef DDR_PHY_DX8SL0PLLCR0_RLOCKM_MASK 
#define DDR_PHY_DX8SL0PLLCR0_RLOCKM_DEFVAL                     0x001C0000
#define DDR_PHY_DX8SL0PLLCR0_RLOCKM_SHIFT                      23
#define DDR_PHY_DX8SL0PLLCR0_RLOCKM_MASK                       0x00800000U

/*
* Charge Pump Proportional Current Control
*/
#undef DDR_PHY_DX8SL0PLLCR0_CPPC_DEFVAL 
#undef DDR_PHY_DX8SL0PLLCR0_CPPC_SHIFT 
#undef DDR_PHY_DX8SL0PLLCR0_CPPC_MASK 
#define DDR_PHY_DX8SL0PLLCR0_CPPC_DEFVAL                       0x001C0000
#define DDR_PHY_DX8SL0PLLCR0_CPPC_SHIFT                        17
#define DDR_PHY_DX8SL0PLLCR0_CPPC_MASK                         0x007E0000U

/*
* Charge Pump Integrating Current Control
*/
#undef DDR_PHY_DX8SL0PLLCR0_CPIC_DEFVAL 
#undef DDR_PHY_DX8SL0PLLCR0_CPIC_SHIFT 
#undef DDR_PHY_DX8SL0PLLCR0_CPIC_MASK 
#define DDR_PHY_DX8SL0PLLCR0_CPIC_DEFVAL                       0x001C0000
#define DDR_PHY_DX8SL0PLLCR0_CPIC_SHIFT                        13
#define DDR_PHY_DX8SL0PLLCR0_CPIC_MASK                         0x0001E000U

/*
* Gear Shift
*/
#undef DDR_PHY_DX8SL0PLLCR0_GSHIFT_DEFVAL 
#undef DDR_PHY_DX8SL0PLLCR0_GSHIFT_SHIFT 
#undef DDR_PHY_DX8SL0PLLCR0_GSHIFT_MASK 
#define DDR_PHY_DX8SL0PLLCR0_GSHIFT_DEFVAL                     0x001C0000
#define DDR_PHY_DX8SL0PLLCR0_GSHIFT_SHIFT                      12
#define DDR_PHY_DX8SL0PLLCR0_GSHIFT_MASK                       0x00001000U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_DX8SL0PLLCR0_RESERVED_11_9_DEFVAL 
#undef DDR_PHY_DX8SL0PLLCR0_RESERVED_11_9_SHIFT 
#undef DDR_PHY_DX8SL0PLLCR0_RESERVED_11_9_MASK 
#define DDR_PHY_DX8SL0PLLCR0_RESERVED_11_9_DEFVAL              0x001C0000
#define DDR_PHY_DX8SL0PLLCR0_RESERVED_11_9_SHIFT               9
#define DDR_PHY_DX8SL0PLLCR0_RESERVED_11_9_MASK                0x00000E00U

/*
* Analog Test Enable (ATOEN)
*/
#undef DDR_PHY_DX8SL0PLLCR0_ATOEN_DEFVAL 
#undef DDR_PHY_DX8SL0PLLCR0_ATOEN_SHIFT 
#undef DDR_PHY_DX8SL0PLLCR0_ATOEN_MASK 
#define DDR_PHY_DX8SL0PLLCR0_ATOEN_DEFVAL                      0x001C0000
#define DDR_PHY_DX8SL0PLLCR0_ATOEN_SHIFT                       8
#define DDR_PHY_DX8SL0PLLCR0_ATOEN_MASK                        0x00000100U

/*
* Analog Test Control
*/
#undef DDR_PHY_DX8SL0PLLCR0_ATC_DEFVAL 
#undef DDR_PHY_DX8SL0PLLCR0_ATC_SHIFT 
#undef DDR_PHY_DX8SL0PLLCR0_ATC_MASK 
#define DDR_PHY_DX8SL0PLLCR0_ATC_DEFVAL                        0x001C0000
#define DDR_PHY_DX8SL0PLLCR0_ATC_SHIFT                         4
#define DDR_PHY_DX8SL0PLLCR0_ATC_MASK                          0x000000F0U

/*
* Digital Test Control
*/
#undef DDR_PHY_DX8SL0PLLCR0_DTC_DEFVAL 
#undef DDR_PHY_DX8SL0PLLCR0_DTC_SHIFT 
#undef DDR_PHY_DX8SL0PLLCR0_DTC_MASK 
#define DDR_PHY_DX8SL0PLLCR0_DTC_DEFVAL                        0x001C0000
#define DDR_PHY_DX8SL0PLLCR0_DTC_SHIFT                         0
#define DDR_PHY_DX8SL0PLLCR0_DTC_MASK                          0x0000000FU

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_DX8SL0DQSCTL_RESERVED_31_25_DEFVAL 
#undef DDR_PHY_DX8SL0DQSCTL_RESERVED_31_25_SHIFT 
#undef DDR_PHY_DX8SL0DQSCTL_RESERVED_31_25_MASK 
#define DDR_PHY_DX8SL0DQSCTL_RESERVED_31_25_DEFVAL             0x01264000
#define DDR_PHY_DX8SL0DQSCTL_RESERVED_31_25_SHIFT              25
#define DDR_PHY_DX8SL0DQSCTL_RESERVED_31_25_MASK               0xFE000000U

/*
* Read Path Rise-to-Rise Mode
*/
#undef DDR_PHY_DX8SL0DQSCTL_RRRMODE_DEFVAL 
#undef DDR_PHY_DX8SL0DQSCTL_RRRMODE_SHIFT 
#undef DDR_PHY_DX8SL0DQSCTL_RRRMODE_MASK 
#define DDR_PHY_DX8SL0DQSCTL_RRRMODE_DEFVAL                    0x01264000
#define DDR_PHY_DX8SL0DQSCTL_RRRMODE_SHIFT                     24
#define DDR_PHY_DX8SL0DQSCTL_RRRMODE_MASK                      0x01000000U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_DX8SL0DQSCTL_RESERVED_23_22_DEFVAL 
#undef DDR_PHY_DX8SL0DQSCTL_RESERVED_23_22_SHIFT 
#undef DDR_PHY_DX8SL0DQSCTL_RESERVED_23_22_MASK 
#define DDR_PHY_DX8SL0DQSCTL_RESERVED_23_22_DEFVAL             0x01264000
#define DDR_PHY_DX8SL0DQSCTL_RESERVED_23_22_SHIFT              22
#define DDR_PHY_DX8SL0DQSCTL_RESERVED_23_22_MASK               0x00C00000U

/*
* Write Path Rise-to-Rise Mode
*/
#undef DDR_PHY_DX8SL0DQSCTL_WRRMODE_DEFVAL 
#undef DDR_PHY_DX8SL0DQSCTL_WRRMODE_SHIFT 
#undef DDR_PHY_DX8SL0DQSCTL_WRRMODE_MASK 
#define DDR_PHY_DX8SL0DQSCTL_WRRMODE_DEFVAL                    0x01264000
#define DDR_PHY_DX8SL0DQSCTL_WRRMODE_SHIFT                     21
#define DDR_PHY_DX8SL0DQSCTL_WRRMODE_MASK                      0x00200000U

/*
* DQS Gate Extension
*/
#undef DDR_PHY_DX8SL0DQSCTL_DQSGX_DEFVAL 
#undef DDR_PHY_DX8SL0DQSCTL_DQSGX_SHIFT 
#undef DDR_PHY_DX8SL0DQSCTL_DQSGX_MASK 
#define DDR_PHY_DX8SL0DQSCTL_DQSGX_DEFVAL                      0x01264000
#define DDR_PHY_DX8SL0DQSCTL_DQSGX_SHIFT                       19
#define DDR_PHY_DX8SL0DQSCTL_DQSGX_MASK                        0x00180000U

/*
* Low Power PLL Power Down
*/
#undef DDR_PHY_DX8SL0DQSCTL_LPPLLPD_DEFVAL 
#undef DDR_PHY_DX8SL0DQSCTL_LPPLLPD_SHIFT 
#undef DDR_PHY_DX8SL0DQSCTL_LPPLLPD_MASK 
#define DDR_PHY_DX8SL0DQSCTL_LPPLLPD_DEFVAL                    0x01264000
#define DDR_PHY_DX8SL0DQSCTL_LPPLLPD_SHIFT                     18
#define DDR_PHY_DX8SL0DQSCTL_LPPLLPD_MASK                      0x00040000U

/*
* Low Power I/O Power Down
*/
#undef DDR_PHY_DX8SL0DQSCTL_LPIOPD_DEFVAL 
#undef DDR_PHY_DX8SL0DQSCTL_LPIOPD_SHIFT 
#undef DDR_PHY_DX8SL0DQSCTL_LPIOPD_MASK 
#define DDR_PHY_DX8SL0DQSCTL_LPIOPD_DEFVAL                     0x01264000
#define DDR_PHY_DX8SL0DQSCTL_LPIOPD_SHIFT                      17
#define DDR_PHY_DX8SL0DQSCTL_LPIOPD_MASK                       0x00020000U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_DX8SL0DQSCTL_RESERVED_16_15_DEFVAL 
#undef DDR_PHY_DX8SL0DQSCTL_RESERVED_16_15_SHIFT 
#undef DDR_PHY_DX8SL0DQSCTL_RESERVED_16_15_MASK 
#define DDR_PHY_DX8SL0DQSCTL_RESERVED_16_15_DEFVAL             0x01264000
#define DDR_PHY_DX8SL0DQSCTL_RESERVED_16_15_SHIFT              15
#define DDR_PHY_DX8SL0DQSCTL_RESERVED_16_15_MASK               0x00018000U

/*
* QS Counter Enable
*/
#undef DDR_PHY_DX8SL0DQSCTL_QSCNTEN_DEFVAL 
#undef DDR_PHY_DX8SL0DQSCTL_QSCNTEN_SHIFT 
#undef DDR_PHY_DX8SL0DQSCTL_QSCNTEN_MASK 
#define DDR_PHY_DX8SL0DQSCTL_QSCNTEN_DEFVAL                    0x01264000
#define DDR_PHY_DX8SL0DQSCTL_QSCNTEN_SHIFT                     14
#define DDR_PHY_DX8SL0DQSCTL_QSCNTEN_MASK                      0x00004000U

/*
* Unused DQ I/O Mode
*/
#undef DDR_PHY_DX8SL0DQSCTL_UDQIOM_DEFVAL 
#undef DDR_PHY_DX8SL0DQSCTL_UDQIOM_SHIFT 
#undef DDR_PHY_DX8SL0DQSCTL_UDQIOM_MASK 
#define DDR_PHY_DX8SL0DQSCTL_UDQIOM_DEFVAL                     0x01264000
#define DDR_PHY_DX8SL0DQSCTL_UDQIOM_SHIFT                      13
#define DDR_PHY_DX8SL0DQSCTL_UDQIOM_MASK                       0x00002000U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_DX8SL0DQSCTL_RESERVED_12_10_DEFVAL 
#undef DDR_PHY_DX8SL0DQSCTL_RESERVED_12_10_SHIFT 
#undef DDR_PHY_DX8SL0DQSCTL_RESERVED_12_10_MASK 
#define DDR_PHY_DX8SL0DQSCTL_RESERVED_12_10_DEFVAL             0x01264000
#define DDR_PHY_DX8SL0DQSCTL_RESERVED_12_10_SHIFT              10
#define DDR_PHY_DX8SL0DQSCTL_RESERVED_12_10_MASK               0x00001C00U

/*
* Data Slew Rate
*/
#undef DDR_PHY_DX8SL0DQSCTL_DXSR_DEFVAL 
#undef DDR_PHY_DX8SL0DQSCTL_DXSR_SHIFT 
#undef DDR_PHY_DX8SL0DQSCTL_DXSR_MASK 
#define DDR_PHY_DX8SL0DQSCTL_DXSR_DEFVAL                       0x01264000
#define DDR_PHY_DX8SL0DQSCTL_DXSR_SHIFT                        8
#define DDR_PHY_DX8SL0DQSCTL_DXSR_MASK                         0x00000300U

/*
* DQS_N Resistor
*/
#undef DDR_PHY_DX8SL0DQSCTL_DQSNRES_DEFVAL 
#undef DDR_PHY_DX8SL0DQSCTL_DQSNRES_SHIFT 
#undef DDR_PHY_DX8SL0DQSCTL_DQSNRES_MASK 
#define DDR_PHY_DX8SL0DQSCTL_DQSNRES_DEFVAL                    0x01264000
#define DDR_PHY_DX8SL0DQSCTL_DQSNRES_SHIFT                     4
#define DDR_PHY_DX8SL0DQSCTL_DQSNRES_MASK                      0x000000F0U

/*
* DQS Resistor
*/
#undef DDR_PHY_DX8SL0DQSCTL_DQSRES_DEFVAL 
#undef DDR_PHY_DX8SL0DQSCTL_DQSRES_SHIFT 
#undef DDR_PHY_DX8SL0DQSCTL_DQSRES_MASK 
#define DDR_PHY_DX8SL0DQSCTL_DQSRES_DEFVAL                     0x01264000
#define DDR_PHY_DX8SL0DQSCTL_DQSRES_SHIFT                      0
#define DDR_PHY_DX8SL0DQSCTL_DQSRES_MASK                       0x0000000FU

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_DX8SL0DXCTL2_RESERVED_31_24_DEFVAL 
#undef DDR_PHY_DX8SL0DXCTL2_RESERVED_31_24_SHIFT 
#undef DDR_PHY_DX8SL0DXCTL2_RESERVED_31_24_MASK 
#define DDR_PHY_DX8SL0DXCTL2_RESERVED_31_24_DEFVAL             0x00141800
#define DDR_PHY_DX8SL0DXCTL2_RESERVED_31_24_SHIFT              24
#define DDR_PHY_DX8SL0DXCTL2_RESERVED_31_24_MASK               0xFF000000U

/*
* Configurable Read Data Enable
*/
#undef DDR_PHY_DX8SL0DXCTL2_CRDEN_DEFVAL 
#undef DDR_PHY_DX8SL0DXCTL2_CRDEN_SHIFT 
#undef DDR_PHY_DX8SL0DXCTL2_CRDEN_MASK 
#define DDR_PHY_DX8SL0DXCTL2_CRDEN_DEFVAL                      0x00141800
#define DDR_PHY_DX8SL0DXCTL2_CRDEN_SHIFT                       23
#define DDR_PHY_DX8SL0DXCTL2_CRDEN_MASK                        0x00800000U

/*
* OX Extension during Post-amble
*/
#undef DDR_PHY_DX8SL0DXCTL2_POSOEX_DEFVAL 
#undef DDR_PHY_DX8SL0DXCTL2_POSOEX_SHIFT 
#undef DDR_PHY_DX8SL0DXCTL2_POSOEX_MASK 
#define DDR_PHY_DX8SL0DXCTL2_POSOEX_DEFVAL                     0x00141800
#define DDR_PHY_DX8SL0DXCTL2_POSOEX_SHIFT                      20
#define DDR_PHY_DX8SL0DXCTL2_POSOEX_MASK                       0x00700000U

/*
* OE Extension during Pre-amble
*/
#undef DDR_PHY_DX8SL0DXCTL2_PREOEX_DEFVAL 
#undef DDR_PHY_DX8SL0DXCTL2_PREOEX_SHIFT 
#undef DDR_PHY_DX8SL0DXCTL2_PREOEX_MASK 
#define DDR_PHY_DX8SL0DXCTL2_PREOEX_DEFVAL                     0x00141800
#define DDR_PHY_DX8SL0DXCTL2_PREOEX_SHIFT                      18
#define DDR_PHY_DX8SL0DXCTL2_PREOEX_MASK                       0x000C0000U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_DX8SL0DXCTL2_RESERVED_17_DEFVAL 
#undef DDR_PHY_DX8SL0DXCTL2_RESERVED_17_SHIFT 
#undef DDR_PHY_DX8SL0DXCTL2_RESERVED_17_MASK 
#define DDR_PHY_DX8SL0DXCTL2_RESERVED_17_DEFVAL                0x00141800
#define DDR_PHY_DX8SL0DXCTL2_RESERVED_17_SHIFT                 17
#define DDR_PHY_DX8SL0DXCTL2_RESERVED_17_MASK                  0x00020000U

/*
* I/O Assisted Gate Select
*/
#undef DDR_PHY_DX8SL0DXCTL2_IOAG_DEFVAL 
#undef DDR_PHY_DX8SL0DXCTL2_IOAG_SHIFT 
#undef DDR_PHY_DX8SL0DXCTL2_IOAG_MASK 
#define DDR_PHY_DX8SL0DXCTL2_IOAG_DEFVAL                       0x00141800
#define DDR_PHY_DX8SL0DXCTL2_IOAG_SHIFT                        16
#define DDR_PHY_DX8SL0DXCTL2_IOAG_MASK                         0x00010000U

/*
* I/O Loopback Select
*/
#undef DDR_PHY_DX8SL0DXCTL2_IOLB_DEFVAL 
#undef DDR_PHY_DX8SL0DXCTL2_IOLB_SHIFT 
#undef DDR_PHY_DX8SL0DXCTL2_IOLB_MASK 
#define DDR_PHY_DX8SL0DXCTL2_IOLB_DEFVAL                       0x00141800
#define DDR_PHY_DX8SL0DXCTL2_IOLB_SHIFT                        15
#define DDR_PHY_DX8SL0DXCTL2_IOLB_MASK                         0x00008000U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_DX8SL0DXCTL2_RESERVED_14_13_DEFVAL 
#undef DDR_PHY_DX8SL0DXCTL2_RESERVED_14_13_SHIFT 
#undef DDR_PHY_DX8SL0DXCTL2_RESERVED_14_13_MASK 
#define DDR_PHY_DX8SL0DXCTL2_RESERVED_14_13_DEFVAL             0x00141800
#define DDR_PHY_DX8SL0DXCTL2_RESERVED_14_13_SHIFT              13
#define DDR_PHY_DX8SL0DXCTL2_RESERVED_14_13_MASK               0x00006000U

/*
* Low Power Wakeup Threshold
*/
#undef DDR_PHY_DX8SL0DXCTL2_LPWAKEUP_THRSH_DEFVAL 
#undef DDR_PHY_DX8SL0DXCTL2_LPWAKEUP_THRSH_SHIFT 
#undef DDR_PHY_DX8SL0DXCTL2_LPWAKEUP_THRSH_MASK 
#define DDR_PHY_DX8SL0DXCTL2_LPWAKEUP_THRSH_DEFVAL             0x00141800
#define DDR_PHY_DX8SL0DXCTL2_LPWAKEUP_THRSH_SHIFT              9
#define DDR_PHY_DX8SL0DXCTL2_LPWAKEUP_THRSH_MASK               0x00001E00U

/*
* Read Data Bus Inversion Enable
*/
#undef DDR_PHY_DX8SL0DXCTL2_RDBI_DEFVAL 
#undef DDR_PHY_DX8SL0DXCTL2_RDBI_SHIFT 
#undef DDR_PHY_DX8SL0DXCTL2_RDBI_MASK 
#define DDR_PHY_DX8SL0DXCTL2_RDBI_DEFVAL                       0x00141800
#define DDR_PHY_DX8SL0DXCTL2_RDBI_SHIFT                        8
#define DDR_PHY_DX8SL0DXCTL2_RDBI_MASK                         0x00000100U

/*
* Write Data Bus Inversion Enable
*/
#undef DDR_PHY_DX8SL0DXCTL2_WDBI_DEFVAL 
#undef DDR_PHY_DX8SL0DXCTL2_WDBI_SHIFT 
#undef DDR_PHY_DX8SL0DXCTL2_WDBI_MASK 
#define DDR_PHY_DX8SL0DXCTL2_WDBI_DEFVAL                       0x00141800
#define DDR_PHY_DX8SL0DXCTL2_WDBI_SHIFT                        7
#define DDR_PHY_DX8SL0DXCTL2_WDBI_MASK                         0x00000080U

/*
* PUB Read FIFO Bypass
*/
#undef DDR_PHY_DX8SL0DXCTL2_PRFBYP_DEFVAL 
#undef DDR_PHY_DX8SL0DXCTL2_PRFBYP_SHIFT 
#undef DDR_PHY_DX8SL0DXCTL2_PRFBYP_MASK 
#define DDR_PHY_DX8SL0DXCTL2_PRFBYP_DEFVAL                     0x00141800
#define DDR_PHY_DX8SL0DXCTL2_PRFBYP_SHIFT                      6
#define DDR_PHY_DX8SL0DXCTL2_PRFBYP_MASK                       0x00000040U

/*
* DATX8 Receive FIFO Read Mode
*/
#undef DDR_PHY_DX8SL0DXCTL2_RDMODE_DEFVAL 
#undef DDR_PHY_DX8SL0DXCTL2_RDMODE_SHIFT 
#undef DDR_PHY_DX8SL0DXCTL2_RDMODE_MASK 
#define DDR_PHY_DX8SL0DXCTL2_RDMODE_DEFVAL                     0x00141800
#define DDR_PHY_DX8SL0DXCTL2_RDMODE_SHIFT                      4
#define DDR_PHY_DX8SL0DXCTL2_RDMODE_MASK                       0x00000030U

/*
* Disables the Read FIFO Reset
*/
#undef DDR_PHY_DX8SL0DXCTL2_DISRST_DEFVAL 
#undef DDR_PHY_DX8SL0DXCTL2_DISRST_SHIFT 
#undef DDR_PHY_DX8SL0DXCTL2_DISRST_MASK 
#define DDR_PHY_DX8SL0DXCTL2_DISRST_DEFVAL                     0x00141800
#define DDR_PHY_DX8SL0DXCTL2_DISRST_SHIFT                      3
#define DDR_PHY_DX8SL0DXCTL2_DISRST_MASK                       0x00000008U

/*
* Read DQS Gate I/O Loopback
*/
#undef DDR_PHY_DX8SL0DXCTL2_DQSGLB_DEFVAL 
#undef DDR_PHY_DX8SL0DXCTL2_DQSGLB_SHIFT 
#undef DDR_PHY_DX8SL0DXCTL2_DQSGLB_MASK 
#define DDR_PHY_DX8SL0DXCTL2_DQSGLB_DEFVAL                     0x00141800
#define DDR_PHY_DX8SL0DXCTL2_DQSGLB_SHIFT                      1
#define DDR_PHY_DX8SL0DXCTL2_DQSGLB_MASK                       0x00000006U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_DX8SL0DXCTL2_RESERVED_0_DEFVAL 
#undef DDR_PHY_DX8SL0DXCTL2_RESERVED_0_SHIFT 
#undef DDR_PHY_DX8SL0DXCTL2_RESERVED_0_MASK 
#define DDR_PHY_DX8SL0DXCTL2_RESERVED_0_DEFVAL                 0x00141800
#define DDR_PHY_DX8SL0DXCTL2_RESERVED_0_SHIFT                  0
#define DDR_PHY_DX8SL0DXCTL2_RESERVED_0_MASK                   0x00000001U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_DX8SL0IOCR_RESERVED_31_DEFVAL 
#undef DDR_PHY_DX8SL0IOCR_RESERVED_31_SHIFT 
#undef DDR_PHY_DX8SL0IOCR_RESERVED_31_MASK 
#define DDR_PHY_DX8SL0IOCR_RESERVED_31_DEFVAL                  0x00000000
#define DDR_PHY_DX8SL0IOCR_RESERVED_31_SHIFT                   31
#define DDR_PHY_DX8SL0IOCR_RESERVED_31_MASK                    0x80000000U

/*
* PVREF_DAC REFSEL range select
*/
#undef DDR_PHY_DX8SL0IOCR_DXDACRANGE_DEFVAL 
#undef DDR_PHY_DX8SL0IOCR_DXDACRANGE_SHIFT 
#undef DDR_PHY_DX8SL0IOCR_DXDACRANGE_MASK 
#define DDR_PHY_DX8SL0IOCR_DXDACRANGE_DEFVAL                   0x00000000
#define DDR_PHY_DX8SL0IOCR_DXDACRANGE_SHIFT                    28
#define DDR_PHY_DX8SL0IOCR_DXDACRANGE_MASK                     0x70000000U

/*
* IOM bits for PVREF, PVREF_DAC and PVREFE cells in DX IO ring
*/
#undef DDR_PHY_DX8SL0IOCR_DXVREFIOM_DEFVAL 
#undef DDR_PHY_DX8SL0IOCR_DXVREFIOM_SHIFT 
#undef DDR_PHY_DX8SL0IOCR_DXVREFIOM_MASK 
#define DDR_PHY_DX8SL0IOCR_DXVREFIOM_DEFVAL                    0x00000000
#define DDR_PHY_DX8SL0IOCR_DXVREFIOM_SHIFT                     25
#define DDR_PHY_DX8SL0IOCR_DXVREFIOM_MASK                      0x0E000000U

/*
* DX IO Mode
*/
#undef DDR_PHY_DX8SL0IOCR_DXIOM_DEFVAL 
#undef DDR_PHY_DX8SL0IOCR_DXIOM_SHIFT 
#undef DDR_PHY_DX8SL0IOCR_DXIOM_MASK 
#define DDR_PHY_DX8SL0IOCR_DXIOM_DEFVAL                        0x00000000
#define DDR_PHY_DX8SL0IOCR_DXIOM_SHIFT                         22
#define DDR_PHY_DX8SL0IOCR_DXIOM_MASK                          0x01C00000U

/*
* DX IO Transmitter Mode
*/
#undef DDR_PHY_DX8SL0IOCR_DXTXM_DEFVAL 
#undef DDR_PHY_DX8SL0IOCR_DXTXM_SHIFT 
#undef DDR_PHY_DX8SL0IOCR_DXTXM_MASK 
#define DDR_PHY_DX8SL0IOCR_DXTXM_DEFVAL                        0x00000000
#define DDR_PHY_DX8SL0IOCR_DXTXM_SHIFT                         11
#define DDR_PHY_DX8SL0IOCR_DXTXM_MASK                          0x003FF800U

/*
* DX IO Receiver Mode
*/
#undef DDR_PHY_DX8SL0IOCR_DXRXM_DEFVAL 
#undef DDR_PHY_DX8SL0IOCR_DXRXM_SHIFT 
#undef DDR_PHY_DX8SL0IOCR_DXRXM_MASK 
#define DDR_PHY_DX8SL0IOCR_DXRXM_DEFVAL                        0x00000000
#define DDR_PHY_DX8SL0IOCR_DXRXM_SHIFT                         0
#define DDR_PHY_DX8SL0IOCR_DXRXM_MASK                          0x000007FFU

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_DX8SL1OSC_RESERVED_31_30_DEFVAL 
#undef DDR_PHY_DX8SL1OSC_RESERVED_31_30_SHIFT 
#undef DDR_PHY_DX8SL1OSC_RESERVED_31_30_MASK 
#define DDR_PHY_DX8SL1OSC_RESERVED_31_30_DEFVAL                0x00019FFE
#define DDR_PHY_DX8SL1OSC_RESERVED_31_30_SHIFT                 30
#define DDR_PHY_DX8SL1OSC_RESERVED_31_30_MASK                  0xC0000000U

/*
* Enable Clock Gating for DX ddr_clk
*/
#undef DDR_PHY_DX8SL1OSC_GATEDXRDCLK_DEFVAL 
#undef DDR_PHY_DX8SL1OSC_GATEDXRDCLK_SHIFT 
#undef DDR_PHY_DX8SL1OSC_GATEDXRDCLK_MASK 
#define DDR_PHY_DX8SL1OSC_GATEDXRDCLK_DEFVAL                   0x00019FFE
#define DDR_PHY_DX8SL1OSC_GATEDXRDCLK_SHIFT                    28
#define DDR_PHY_DX8SL1OSC_GATEDXRDCLK_MASK                     0x30000000U

/*
* Enable Clock Gating for DX ctl_rd_clk
*/
#undef DDR_PHY_DX8SL1OSC_GATEDXDDRCLK_DEFVAL 
#undef DDR_PHY_DX8SL1OSC_GATEDXDDRCLK_SHIFT 
#undef DDR_PHY_DX8SL1OSC_GATEDXDDRCLK_MASK 
#define DDR_PHY_DX8SL1OSC_GATEDXDDRCLK_DEFVAL                  0x00019FFE
#define DDR_PHY_DX8SL1OSC_GATEDXDDRCLK_SHIFT                   26
#define DDR_PHY_DX8SL1OSC_GATEDXDDRCLK_MASK                    0x0C000000U

/*
* Enable Clock Gating for DX ctl_clk
*/
#undef DDR_PHY_DX8SL1OSC_GATEDXCTLCLK_DEFVAL 
#undef DDR_PHY_DX8SL1OSC_GATEDXCTLCLK_SHIFT 
#undef DDR_PHY_DX8SL1OSC_GATEDXCTLCLK_MASK 
#define DDR_PHY_DX8SL1OSC_GATEDXCTLCLK_DEFVAL                  0x00019FFE
#define DDR_PHY_DX8SL1OSC_GATEDXCTLCLK_SHIFT                   24
#define DDR_PHY_DX8SL1OSC_GATEDXCTLCLK_MASK                    0x03000000U

/*
* Selects the level to which clocks will be stalled when clock gating is e
    * nabled.
*/
#undef DDR_PHY_DX8SL1OSC_CLKLEVEL_DEFVAL 
#undef DDR_PHY_DX8SL1OSC_CLKLEVEL_SHIFT 
#undef DDR_PHY_DX8SL1OSC_CLKLEVEL_MASK 
#define DDR_PHY_DX8SL1OSC_CLKLEVEL_DEFVAL                      0x00019FFE
#define DDR_PHY_DX8SL1OSC_CLKLEVEL_SHIFT                       22
#define DDR_PHY_DX8SL1OSC_CLKLEVEL_MASK                        0x00C00000U

/*
* Loopback Mode
*/
#undef DDR_PHY_DX8SL1OSC_LBMODE_DEFVAL 
#undef DDR_PHY_DX8SL1OSC_LBMODE_SHIFT 
#undef DDR_PHY_DX8SL1OSC_LBMODE_MASK 
#define DDR_PHY_DX8SL1OSC_LBMODE_DEFVAL                        0x00019FFE
#define DDR_PHY_DX8SL1OSC_LBMODE_SHIFT                         21
#define DDR_PHY_DX8SL1OSC_LBMODE_MASK                          0x00200000U

/*
* Load GSDQS LCDL with 2x the calibrated GSDQSPRD value
*/
#undef DDR_PHY_DX8SL1OSC_LBGSDQS_DEFVAL 
#undef DDR_PHY_DX8SL1OSC_LBGSDQS_SHIFT 
#undef DDR_PHY_DX8SL1OSC_LBGSDQS_MASK 
#define DDR_PHY_DX8SL1OSC_LBGSDQS_DEFVAL                       0x00019FFE
#define DDR_PHY_DX8SL1OSC_LBGSDQS_SHIFT                        20
#define DDR_PHY_DX8SL1OSC_LBGSDQS_MASK                         0x00100000U

/*
* Loopback DQS Gating
*/
#undef DDR_PHY_DX8SL1OSC_LBGDQS_DEFVAL 
#undef DDR_PHY_DX8SL1OSC_LBGDQS_SHIFT 
#undef DDR_PHY_DX8SL1OSC_LBGDQS_MASK 
#define DDR_PHY_DX8SL1OSC_LBGDQS_DEFVAL                        0x00019FFE
#define DDR_PHY_DX8SL1OSC_LBGDQS_SHIFT                         18
#define DDR_PHY_DX8SL1OSC_LBGDQS_MASK                          0x000C0000U

/*
* Loopback DQS Shift
*/
#undef DDR_PHY_DX8SL1OSC_LBDQSS_DEFVAL 
#undef DDR_PHY_DX8SL1OSC_LBDQSS_SHIFT 
#undef DDR_PHY_DX8SL1OSC_LBDQSS_MASK 
#define DDR_PHY_DX8SL1OSC_LBDQSS_DEFVAL                        0x00019FFE
#define DDR_PHY_DX8SL1OSC_LBDQSS_SHIFT                         17
#define DDR_PHY_DX8SL1OSC_LBDQSS_MASK                          0x00020000U

/*
* PHY High-Speed Reset
*/
#undef DDR_PHY_DX8SL1OSC_PHYHRST_DEFVAL 
#undef DDR_PHY_DX8SL1OSC_PHYHRST_SHIFT 
#undef DDR_PHY_DX8SL1OSC_PHYHRST_MASK 
#define DDR_PHY_DX8SL1OSC_PHYHRST_DEFVAL                       0x00019FFE
#define DDR_PHY_DX8SL1OSC_PHYHRST_SHIFT                        16
#define DDR_PHY_DX8SL1OSC_PHYHRST_MASK                         0x00010000U

/*
* PHY FIFO Reset
*/
#undef DDR_PHY_DX8SL1OSC_PHYFRST_DEFVAL 
#undef DDR_PHY_DX8SL1OSC_PHYFRST_SHIFT 
#undef DDR_PHY_DX8SL1OSC_PHYFRST_MASK 
#define DDR_PHY_DX8SL1OSC_PHYFRST_DEFVAL                       0x00019FFE
#define DDR_PHY_DX8SL1OSC_PHYFRST_SHIFT                        15
#define DDR_PHY_DX8SL1OSC_PHYFRST_MASK                         0x00008000U

/*
* Delay Line Test Start
*/
#undef DDR_PHY_DX8SL1OSC_DLTST_DEFVAL 
#undef DDR_PHY_DX8SL1OSC_DLTST_SHIFT 
#undef DDR_PHY_DX8SL1OSC_DLTST_MASK 
#define DDR_PHY_DX8SL1OSC_DLTST_DEFVAL                         0x00019FFE
#define DDR_PHY_DX8SL1OSC_DLTST_SHIFT                          14
#define DDR_PHY_DX8SL1OSC_DLTST_MASK                           0x00004000U

/*
* Delay Line Test Mode
*/
#undef DDR_PHY_DX8SL1OSC_DLTMODE_DEFVAL 
#undef DDR_PHY_DX8SL1OSC_DLTMODE_SHIFT 
#undef DDR_PHY_DX8SL1OSC_DLTMODE_MASK 
#define DDR_PHY_DX8SL1OSC_DLTMODE_DEFVAL                       0x00019FFE
#define DDR_PHY_DX8SL1OSC_DLTMODE_SHIFT                        13
#define DDR_PHY_DX8SL1OSC_DLTMODE_MASK                         0x00002000U

/*
* Reserved. Caution, do not write to this register field.
*/
#undef DDR_PHY_DX8SL1OSC_RESERVED_12_11_DEFVAL 
#undef DDR_PHY_DX8SL1OSC_RESERVED_12_11_SHIFT 
#undef DDR_PHY_DX8SL1OSC_RESERVED_12_11_MASK 
#define DDR_PHY_DX8SL1OSC_RESERVED_12_11_DEFVAL                0x00019FFE
#define DDR_PHY_DX8SL1OSC_RESERVED_12_11_SHIFT                 11
#define DDR_PHY_DX8SL1OSC_RESERVED_12_11_MASK                  0x00001800U

/*
* Oscillator Mode Write-Data Delay Line Select
*/
#undef DDR_PHY_DX8SL1OSC_OSCWDDL_DEFVAL 
#undef DDR_PHY_DX8SL1OSC_OSCWDDL_SHIFT 
#undef DDR_PHY_DX8SL1OSC_OSCWDDL_MASK 
#define DDR_PHY_DX8SL1OSC_OSCWDDL_DEFVAL                       0x00019FFE
#define DDR_PHY_DX8SL1OSC_OSCWDDL_SHIFT                        9
#define DDR_PHY_DX8SL1OSC_OSCWDDL_MASK                         0x00000600U

/*
* Reserved. Caution, do not write to this register field.
*/
#undef DDR_PHY_DX8SL1OSC_RESERVED_8_7_DEFVAL 
#undef DDR_PHY_DX8SL1OSC_RESERVED_8_7_SHIFT 
#undef DDR_PHY_DX8SL1OSC_RESERVED_8_7_MASK 
#define DDR_PHY_DX8SL1OSC_RESERVED_8_7_DEFVAL                  0x00019FFE
#define DDR_PHY_DX8SL1OSC_RESERVED_8_7_SHIFT                   7
#define DDR_PHY_DX8SL1OSC_RESERVED_8_7_MASK                    0x00000180U

/*
* Oscillator Mode Write-Leveling Delay Line Select
*/
#undef DDR_PHY_DX8SL1OSC_OSCWDL_DEFVAL 
#undef DDR_PHY_DX8SL1OSC_OSCWDL_SHIFT 
#undef DDR_PHY_DX8SL1OSC_OSCWDL_MASK 
#define DDR_PHY_DX8SL1OSC_OSCWDL_DEFVAL                        0x00019FFE
#define DDR_PHY_DX8SL1OSC_OSCWDL_SHIFT                         5
#define DDR_PHY_DX8SL1OSC_OSCWDL_MASK                          0x00000060U

/*
* Oscillator Mode Division
*/
#undef DDR_PHY_DX8SL1OSC_OSCDIV_DEFVAL 
#undef DDR_PHY_DX8SL1OSC_OSCDIV_SHIFT 
#undef DDR_PHY_DX8SL1OSC_OSCDIV_MASK 
#define DDR_PHY_DX8SL1OSC_OSCDIV_DEFVAL                        0x00019FFE
#define DDR_PHY_DX8SL1OSC_OSCDIV_SHIFT                         1
#define DDR_PHY_DX8SL1OSC_OSCDIV_MASK                          0x0000001EU

/*
* Oscillator Enable
*/
#undef DDR_PHY_DX8SL1OSC_OSCEN_DEFVAL 
#undef DDR_PHY_DX8SL1OSC_OSCEN_SHIFT 
#undef DDR_PHY_DX8SL1OSC_OSCEN_MASK 
#define DDR_PHY_DX8SL1OSC_OSCEN_DEFVAL                         0x00019FFE
#define DDR_PHY_DX8SL1OSC_OSCEN_SHIFT                          0
#define DDR_PHY_DX8SL1OSC_OSCEN_MASK                           0x00000001U

/*
* PLL Bypass
*/
#undef DDR_PHY_DX8SL1PLLCR0_PLLBYP_DEFVAL 
#undef DDR_PHY_DX8SL1PLLCR0_PLLBYP_SHIFT 
#undef DDR_PHY_DX8SL1PLLCR0_PLLBYP_MASK 
#define DDR_PHY_DX8SL1PLLCR0_PLLBYP_DEFVAL                     0x001C0000
#define DDR_PHY_DX8SL1PLLCR0_PLLBYP_SHIFT                      31
#define DDR_PHY_DX8SL1PLLCR0_PLLBYP_MASK                       0x80000000U

/*
* PLL Reset
*/
#undef DDR_PHY_DX8SL1PLLCR0_PLLRST_DEFVAL 
#undef DDR_PHY_DX8SL1PLLCR0_PLLRST_SHIFT 
#undef DDR_PHY_DX8SL1PLLCR0_PLLRST_MASK 
#define DDR_PHY_DX8SL1PLLCR0_PLLRST_DEFVAL                     0x001C0000
#define DDR_PHY_DX8SL1PLLCR0_PLLRST_SHIFT                      30
#define DDR_PHY_DX8SL1PLLCR0_PLLRST_MASK                       0x40000000U

/*
* PLL Power Down
*/
#undef DDR_PHY_DX8SL1PLLCR0_PLLPD_DEFVAL 
#undef DDR_PHY_DX8SL1PLLCR0_PLLPD_SHIFT 
#undef DDR_PHY_DX8SL1PLLCR0_PLLPD_MASK 
#define DDR_PHY_DX8SL1PLLCR0_PLLPD_DEFVAL                      0x001C0000
#define DDR_PHY_DX8SL1PLLCR0_PLLPD_SHIFT                       29
#define DDR_PHY_DX8SL1PLLCR0_PLLPD_MASK                        0x20000000U

/*
* Reference Stop Mode
*/
#undef DDR_PHY_DX8SL1PLLCR0_RSTOPM_DEFVAL 
#undef DDR_PHY_DX8SL1PLLCR0_RSTOPM_SHIFT 
#undef DDR_PHY_DX8SL1PLLCR0_RSTOPM_MASK 
#define DDR_PHY_DX8SL1PLLCR0_RSTOPM_DEFVAL                     0x001C0000
#define DDR_PHY_DX8SL1PLLCR0_RSTOPM_SHIFT                      28
#define DDR_PHY_DX8SL1PLLCR0_RSTOPM_MASK                       0x10000000U

/*
* PLL Frequency Select
*/
#undef DDR_PHY_DX8SL1PLLCR0_FRQSEL_DEFVAL 
#undef DDR_PHY_DX8SL1PLLCR0_FRQSEL_SHIFT 
#undef DDR_PHY_DX8SL1PLLCR0_FRQSEL_MASK 
#define DDR_PHY_DX8SL1PLLCR0_FRQSEL_DEFVAL                     0x001C0000
#define DDR_PHY_DX8SL1PLLCR0_FRQSEL_SHIFT                      24
#define DDR_PHY_DX8SL1PLLCR0_FRQSEL_MASK                       0x0F000000U

/*
* Relock Mode
*/
#undef DDR_PHY_DX8SL1PLLCR0_RLOCKM_DEFVAL 
#undef DDR_PHY_DX8SL1PLLCR0_RLOCKM_SHIFT 
#undef DDR_PHY_DX8SL1PLLCR0_RLOCKM_MASK 
#define DDR_PHY_DX8SL1PLLCR0_RLOCKM_DEFVAL                     0x001C0000
#define DDR_PHY_DX8SL1PLLCR0_RLOCKM_SHIFT                      23
#define DDR_PHY_DX8SL1PLLCR0_RLOCKM_MASK                       0x00800000U

/*
* Charge Pump Proportional Current Control
*/
#undef DDR_PHY_DX8SL1PLLCR0_CPPC_DEFVAL 
#undef DDR_PHY_DX8SL1PLLCR0_CPPC_SHIFT 
#undef DDR_PHY_DX8SL1PLLCR0_CPPC_MASK 
#define DDR_PHY_DX8SL1PLLCR0_CPPC_DEFVAL                       0x001C0000
#define DDR_PHY_DX8SL1PLLCR0_CPPC_SHIFT                        17
#define DDR_PHY_DX8SL1PLLCR0_CPPC_MASK                         0x007E0000U

/*
* Charge Pump Integrating Current Control
*/
#undef DDR_PHY_DX8SL1PLLCR0_CPIC_DEFVAL 
#undef DDR_PHY_DX8SL1PLLCR0_CPIC_SHIFT 
#undef DDR_PHY_DX8SL1PLLCR0_CPIC_MASK 
#define DDR_PHY_DX8SL1PLLCR0_CPIC_DEFVAL                       0x001C0000
#define DDR_PHY_DX8SL1PLLCR0_CPIC_SHIFT                        13
#define DDR_PHY_DX8SL1PLLCR0_CPIC_MASK                         0x0001E000U

/*
* Gear Shift
*/
#undef DDR_PHY_DX8SL1PLLCR0_GSHIFT_DEFVAL 
#undef DDR_PHY_DX8SL1PLLCR0_GSHIFT_SHIFT 
#undef DDR_PHY_DX8SL1PLLCR0_GSHIFT_MASK 
#define DDR_PHY_DX8SL1PLLCR0_GSHIFT_DEFVAL                     0x001C0000
#define DDR_PHY_DX8SL1PLLCR0_GSHIFT_SHIFT                      12
#define DDR_PHY_DX8SL1PLLCR0_GSHIFT_MASK                       0x00001000U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_DX8SL1PLLCR0_RESERVED_11_9_DEFVAL 
#undef DDR_PHY_DX8SL1PLLCR0_RESERVED_11_9_SHIFT 
#undef DDR_PHY_DX8SL1PLLCR0_RESERVED_11_9_MASK 
#define DDR_PHY_DX8SL1PLLCR0_RESERVED_11_9_DEFVAL              0x001C0000
#define DDR_PHY_DX8SL1PLLCR0_RESERVED_11_9_SHIFT               9
#define DDR_PHY_DX8SL1PLLCR0_RESERVED_11_9_MASK                0x00000E00U

/*
* Analog Test Enable (ATOEN)
*/
#undef DDR_PHY_DX8SL1PLLCR0_ATOEN_DEFVAL 
#undef DDR_PHY_DX8SL1PLLCR0_ATOEN_SHIFT 
#undef DDR_PHY_DX8SL1PLLCR0_ATOEN_MASK 
#define DDR_PHY_DX8SL1PLLCR0_ATOEN_DEFVAL                      0x001C0000
#define DDR_PHY_DX8SL1PLLCR0_ATOEN_SHIFT                       8
#define DDR_PHY_DX8SL1PLLCR0_ATOEN_MASK                        0x00000100U

/*
* Analog Test Control
*/
#undef DDR_PHY_DX8SL1PLLCR0_ATC_DEFVAL 
#undef DDR_PHY_DX8SL1PLLCR0_ATC_SHIFT 
#undef DDR_PHY_DX8SL1PLLCR0_ATC_MASK 
#define DDR_PHY_DX8SL1PLLCR0_ATC_DEFVAL                        0x001C0000
#define DDR_PHY_DX8SL1PLLCR0_ATC_SHIFT                         4
#define DDR_PHY_DX8SL1PLLCR0_ATC_MASK                          0x000000F0U

/*
* Digital Test Control
*/
#undef DDR_PHY_DX8SL1PLLCR0_DTC_DEFVAL 
#undef DDR_PHY_DX8SL1PLLCR0_DTC_SHIFT 
#undef DDR_PHY_DX8SL1PLLCR0_DTC_MASK 
#define DDR_PHY_DX8SL1PLLCR0_DTC_DEFVAL                        0x001C0000
#define DDR_PHY_DX8SL1PLLCR0_DTC_SHIFT                         0
#define DDR_PHY_DX8SL1PLLCR0_DTC_MASK                          0x0000000FU

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_DX8SL1DQSCTL_RESERVED_31_25_DEFVAL 
#undef DDR_PHY_DX8SL1DQSCTL_RESERVED_31_25_SHIFT 
#undef DDR_PHY_DX8SL1DQSCTL_RESERVED_31_25_MASK 
#define DDR_PHY_DX8SL1DQSCTL_RESERVED_31_25_DEFVAL             0x01264000
#define DDR_PHY_DX8SL1DQSCTL_RESERVED_31_25_SHIFT              25
#define DDR_PHY_DX8SL1DQSCTL_RESERVED_31_25_MASK               0xFE000000U

/*
* Read Path Rise-to-Rise Mode
*/
#undef DDR_PHY_DX8SL1DQSCTL_RRRMODE_DEFVAL 
#undef DDR_PHY_DX8SL1DQSCTL_RRRMODE_SHIFT 
#undef DDR_PHY_DX8SL1DQSCTL_RRRMODE_MASK 
#define DDR_PHY_DX8SL1DQSCTL_RRRMODE_DEFVAL                    0x01264000
#define DDR_PHY_DX8SL1DQSCTL_RRRMODE_SHIFT                     24
#define DDR_PHY_DX8SL1DQSCTL_RRRMODE_MASK                      0x01000000U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_DX8SL1DQSCTL_RESERVED_23_22_DEFVAL 
#undef DDR_PHY_DX8SL1DQSCTL_RESERVED_23_22_SHIFT 
#undef DDR_PHY_DX8SL1DQSCTL_RESERVED_23_22_MASK 
#define DDR_PHY_DX8SL1DQSCTL_RESERVED_23_22_DEFVAL             0x01264000
#define DDR_PHY_DX8SL1DQSCTL_RESERVED_23_22_SHIFT              22
#define DDR_PHY_DX8SL1DQSCTL_RESERVED_23_22_MASK               0x00C00000U

/*
* Write Path Rise-to-Rise Mode
*/
#undef DDR_PHY_DX8SL1DQSCTL_WRRMODE_DEFVAL 
#undef DDR_PHY_DX8SL1DQSCTL_WRRMODE_SHIFT 
#undef DDR_PHY_DX8SL1DQSCTL_WRRMODE_MASK 
#define DDR_PHY_DX8SL1DQSCTL_WRRMODE_DEFVAL                    0x01264000
#define DDR_PHY_DX8SL1DQSCTL_WRRMODE_SHIFT                     21
#define DDR_PHY_DX8SL1DQSCTL_WRRMODE_MASK                      0x00200000U

/*
* DQS Gate Extension
*/
#undef DDR_PHY_DX8SL1DQSCTL_DQSGX_DEFVAL 
#undef DDR_PHY_DX8SL1DQSCTL_DQSGX_SHIFT 
#undef DDR_PHY_DX8SL1DQSCTL_DQSGX_MASK 
#define DDR_PHY_DX8SL1DQSCTL_DQSGX_DEFVAL                      0x01264000
#define DDR_PHY_DX8SL1DQSCTL_DQSGX_SHIFT                       19
#define DDR_PHY_DX8SL1DQSCTL_DQSGX_MASK                        0x00180000U

/*
* Low Power PLL Power Down
*/
#undef DDR_PHY_DX8SL1DQSCTL_LPPLLPD_DEFVAL 
#undef DDR_PHY_DX8SL1DQSCTL_LPPLLPD_SHIFT 
#undef DDR_PHY_DX8SL1DQSCTL_LPPLLPD_MASK 
#define DDR_PHY_DX8SL1DQSCTL_LPPLLPD_DEFVAL                    0x01264000
#define DDR_PHY_DX8SL1DQSCTL_LPPLLPD_SHIFT                     18
#define DDR_PHY_DX8SL1DQSCTL_LPPLLPD_MASK                      0x00040000U

/*
* Low Power I/O Power Down
*/
#undef DDR_PHY_DX8SL1DQSCTL_LPIOPD_DEFVAL 
#undef DDR_PHY_DX8SL1DQSCTL_LPIOPD_SHIFT 
#undef DDR_PHY_DX8SL1DQSCTL_LPIOPD_MASK 
#define DDR_PHY_DX8SL1DQSCTL_LPIOPD_DEFVAL                     0x01264000
#define DDR_PHY_DX8SL1DQSCTL_LPIOPD_SHIFT                      17
#define DDR_PHY_DX8SL1DQSCTL_LPIOPD_MASK                       0x00020000U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_DX8SL1DQSCTL_RESERVED_16_15_DEFVAL 
#undef DDR_PHY_DX8SL1DQSCTL_RESERVED_16_15_SHIFT 
#undef DDR_PHY_DX8SL1DQSCTL_RESERVED_16_15_MASK 
#define DDR_PHY_DX8SL1DQSCTL_RESERVED_16_15_DEFVAL             0x01264000
#define DDR_PHY_DX8SL1DQSCTL_RESERVED_16_15_SHIFT              15
#define DDR_PHY_DX8SL1DQSCTL_RESERVED_16_15_MASK               0x00018000U

/*
* QS Counter Enable
*/
#undef DDR_PHY_DX8SL1DQSCTL_QSCNTEN_DEFVAL 
#undef DDR_PHY_DX8SL1DQSCTL_QSCNTEN_SHIFT 
#undef DDR_PHY_DX8SL1DQSCTL_QSCNTEN_MASK 
#define DDR_PHY_DX8SL1DQSCTL_QSCNTEN_DEFVAL                    0x01264000
#define DDR_PHY_DX8SL1DQSCTL_QSCNTEN_SHIFT                     14
#define DDR_PHY_DX8SL1DQSCTL_QSCNTEN_MASK                      0x00004000U

/*
* Unused DQ I/O Mode
*/
#undef DDR_PHY_DX8SL1DQSCTL_UDQIOM_DEFVAL 
#undef DDR_PHY_DX8SL1DQSCTL_UDQIOM_SHIFT 
#undef DDR_PHY_DX8SL1DQSCTL_UDQIOM_MASK 
#define DDR_PHY_DX8SL1DQSCTL_UDQIOM_DEFVAL                     0x01264000
#define DDR_PHY_DX8SL1DQSCTL_UDQIOM_SHIFT                      13
#define DDR_PHY_DX8SL1DQSCTL_UDQIOM_MASK                       0x00002000U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_DX8SL1DQSCTL_RESERVED_12_10_DEFVAL 
#undef DDR_PHY_DX8SL1DQSCTL_RESERVED_12_10_SHIFT 
#undef DDR_PHY_DX8SL1DQSCTL_RESERVED_12_10_MASK 
#define DDR_PHY_DX8SL1DQSCTL_RESERVED_12_10_DEFVAL             0x01264000
#define DDR_PHY_DX8SL1DQSCTL_RESERVED_12_10_SHIFT              10
#define DDR_PHY_DX8SL1DQSCTL_RESERVED_12_10_MASK               0x00001C00U

/*
* Data Slew Rate
*/
#undef DDR_PHY_DX8SL1DQSCTL_DXSR_DEFVAL 
#undef DDR_PHY_DX8SL1DQSCTL_DXSR_SHIFT 
#undef DDR_PHY_DX8SL1DQSCTL_DXSR_MASK 
#define DDR_PHY_DX8SL1DQSCTL_DXSR_DEFVAL                       0x01264000
#define DDR_PHY_DX8SL1DQSCTL_DXSR_SHIFT                        8
#define DDR_PHY_DX8SL1DQSCTL_DXSR_MASK                         0x00000300U

/*
* DQS_N Resistor
*/
#undef DDR_PHY_DX8SL1DQSCTL_DQSNRES_DEFVAL 
#undef DDR_PHY_DX8SL1DQSCTL_DQSNRES_SHIFT 
#undef DDR_PHY_DX8SL1DQSCTL_DQSNRES_MASK 
#define DDR_PHY_DX8SL1DQSCTL_DQSNRES_DEFVAL                    0x01264000
#define DDR_PHY_DX8SL1DQSCTL_DQSNRES_SHIFT                     4
#define DDR_PHY_DX8SL1DQSCTL_DQSNRES_MASK                      0x000000F0U

/*
* DQS Resistor
*/
#undef DDR_PHY_DX8SL1DQSCTL_DQSRES_DEFVAL 
#undef DDR_PHY_DX8SL1DQSCTL_DQSRES_SHIFT 
#undef DDR_PHY_DX8SL1DQSCTL_DQSRES_MASK 
#define DDR_PHY_DX8SL1DQSCTL_DQSRES_DEFVAL                     0x01264000
#define DDR_PHY_DX8SL1DQSCTL_DQSRES_SHIFT                      0
#define DDR_PHY_DX8SL1DQSCTL_DQSRES_MASK                       0x0000000FU

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_DX8SL1DXCTL2_RESERVED_31_24_DEFVAL 
#undef DDR_PHY_DX8SL1DXCTL2_RESERVED_31_24_SHIFT 
#undef DDR_PHY_DX8SL1DXCTL2_RESERVED_31_24_MASK 
#define DDR_PHY_DX8SL1DXCTL2_RESERVED_31_24_DEFVAL             0x00141800
#define DDR_PHY_DX8SL1DXCTL2_RESERVED_31_24_SHIFT              24
#define DDR_PHY_DX8SL1DXCTL2_RESERVED_31_24_MASK               0xFF000000U

/*
* Configurable Read Data Enable
*/
#undef DDR_PHY_DX8SL1DXCTL2_CRDEN_DEFVAL 
#undef DDR_PHY_DX8SL1DXCTL2_CRDEN_SHIFT 
#undef DDR_PHY_DX8SL1DXCTL2_CRDEN_MASK 
#define DDR_PHY_DX8SL1DXCTL2_CRDEN_DEFVAL                      0x00141800
#define DDR_PHY_DX8SL1DXCTL2_CRDEN_SHIFT                       23
#define DDR_PHY_DX8SL1DXCTL2_CRDEN_MASK                        0x00800000U

/*
* OX Extension during Post-amble
*/
#undef DDR_PHY_DX8SL1DXCTL2_POSOEX_DEFVAL 
#undef DDR_PHY_DX8SL1DXCTL2_POSOEX_SHIFT 
#undef DDR_PHY_DX8SL1DXCTL2_POSOEX_MASK 
#define DDR_PHY_DX8SL1DXCTL2_POSOEX_DEFVAL                     0x00141800
#define DDR_PHY_DX8SL1DXCTL2_POSOEX_SHIFT                      20
#define DDR_PHY_DX8SL1DXCTL2_POSOEX_MASK                       0x00700000U

/*
* OE Extension during Pre-amble
*/
#undef DDR_PHY_DX8SL1DXCTL2_PREOEX_DEFVAL 
#undef DDR_PHY_DX8SL1DXCTL2_PREOEX_SHIFT 
#undef DDR_PHY_DX8SL1DXCTL2_PREOEX_MASK 
#define DDR_PHY_DX8SL1DXCTL2_PREOEX_DEFVAL                     0x00141800
#define DDR_PHY_DX8SL1DXCTL2_PREOEX_SHIFT                      18
#define DDR_PHY_DX8SL1DXCTL2_PREOEX_MASK                       0x000C0000U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_DX8SL1DXCTL2_RESERVED_17_DEFVAL 
#undef DDR_PHY_DX8SL1DXCTL2_RESERVED_17_SHIFT 
#undef DDR_PHY_DX8SL1DXCTL2_RESERVED_17_MASK 
#define DDR_PHY_DX8SL1DXCTL2_RESERVED_17_DEFVAL                0x00141800
#define DDR_PHY_DX8SL1DXCTL2_RESERVED_17_SHIFT                 17
#define DDR_PHY_DX8SL1DXCTL2_RESERVED_17_MASK                  0x00020000U

/*
* I/O Assisted Gate Select
*/
#undef DDR_PHY_DX8SL1DXCTL2_IOAG_DEFVAL 
#undef DDR_PHY_DX8SL1DXCTL2_IOAG_SHIFT 
#undef DDR_PHY_DX8SL1DXCTL2_IOAG_MASK 
#define DDR_PHY_DX8SL1DXCTL2_IOAG_DEFVAL                       0x00141800
#define DDR_PHY_DX8SL1DXCTL2_IOAG_SHIFT                        16
#define DDR_PHY_DX8SL1DXCTL2_IOAG_MASK                         0x00010000U

/*
* I/O Loopback Select
*/
#undef DDR_PHY_DX8SL1DXCTL2_IOLB_DEFVAL 
#undef DDR_PHY_DX8SL1DXCTL2_IOLB_SHIFT 
#undef DDR_PHY_DX8SL1DXCTL2_IOLB_MASK 
#define DDR_PHY_DX8SL1DXCTL2_IOLB_DEFVAL                       0x00141800
#define DDR_PHY_DX8SL1DXCTL2_IOLB_SHIFT                        15
#define DDR_PHY_DX8SL1DXCTL2_IOLB_MASK                         0x00008000U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_DX8SL1DXCTL2_RESERVED_14_13_DEFVAL 
#undef DDR_PHY_DX8SL1DXCTL2_RESERVED_14_13_SHIFT 
#undef DDR_PHY_DX8SL1DXCTL2_RESERVED_14_13_MASK 
#define DDR_PHY_DX8SL1DXCTL2_RESERVED_14_13_DEFVAL             0x00141800
#define DDR_PHY_DX8SL1DXCTL2_RESERVED_14_13_SHIFT              13
#define DDR_PHY_DX8SL1DXCTL2_RESERVED_14_13_MASK               0x00006000U

/*
* Low Power Wakeup Threshold
*/
#undef DDR_PHY_DX8SL1DXCTL2_LPWAKEUP_THRSH_DEFVAL 
#undef DDR_PHY_DX8SL1DXCTL2_LPWAKEUP_THRSH_SHIFT 
#undef DDR_PHY_DX8SL1DXCTL2_LPWAKEUP_THRSH_MASK 
#define DDR_PHY_DX8SL1DXCTL2_LPWAKEUP_THRSH_DEFVAL             0x00141800
#define DDR_PHY_DX8SL1DXCTL2_LPWAKEUP_THRSH_SHIFT              9
#define DDR_PHY_DX8SL1DXCTL2_LPWAKEUP_THRSH_MASK               0x00001E00U

/*
* Read Data Bus Inversion Enable
*/
#undef DDR_PHY_DX8SL1DXCTL2_RDBI_DEFVAL 
#undef DDR_PHY_DX8SL1DXCTL2_RDBI_SHIFT 
#undef DDR_PHY_DX8SL1DXCTL2_RDBI_MASK 
#define DDR_PHY_DX8SL1DXCTL2_RDBI_DEFVAL                       0x00141800
#define DDR_PHY_DX8SL1DXCTL2_RDBI_SHIFT                        8
#define DDR_PHY_DX8SL1DXCTL2_RDBI_MASK                         0x00000100U

/*
* Write Data Bus Inversion Enable
*/
#undef DDR_PHY_DX8SL1DXCTL2_WDBI_DEFVAL 
#undef DDR_PHY_DX8SL1DXCTL2_WDBI_SHIFT 
#undef DDR_PHY_DX8SL1DXCTL2_WDBI_MASK 
#define DDR_PHY_DX8SL1DXCTL2_WDBI_DEFVAL                       0x00141800
#define DDR_PHY_DX8SL1DXCTL2_WDBI_SHIFT                        7
#define DDR_PHY_DX8SL1DXCTL2_WDBI_MASK                         0x00000080U

/*
* PUB Read FIFO Bypass
*/
#undef DDR_PHY_DX8SL1DXCTL2_PRFBYP_DEFVAL 
#undef DDR_PHY_DX8SL1DXCTL2_PRFBYP_SHIFT 
#undef DDR_PHY_DX8SL1DXCTL2_PRFBYP_MASK 
#define DDR_PHY_DX8SL1DXCTL2_PRFBYP_DEFVAL                     0x00141800
#define DDR_PHY_DX8SL1DXCTL2_PRFBYP_SHIFT                      6
#define DDR_PHY_DX8SL1DXCTL2_PRFBYP_MASK                       0x00000040U

/*
* DATX8 Receive FIFO Read Mode
*/
#undef DDR_PHY_DX8SL1DXCTL2_RDMODE_DEFVAL 
#undef DDR_PHY_DX8SL1DXCTL2_RDMODE_SHIFT 
#undef DDR_PHY_DX8SL1DXCTL2_RDMODE_MASK 
#define DDR_PHY_DX8SL1DXCTL2_RDMODE_DEFVAL                     0x00141800
#define DDR_PHY_DX8SL1DXCTL2_RDMODE_SHIFT                      4
#define DDR_PHY_DX8SL1DXCTL2_RDMODE_MASK                       0x00000030U

/*
* Disables the Read FIFO Reset
*/
#undef DDR_PHY_DX8SL1DXCTL2_DISRST_DEFVAL 
#undef DDR_PHY_DX8SL1DXCTL2_DISRST_SHIFT 
#undef DDR_PHY_DX8SL1DXCTL2_DISRST_MASK 
#define DDR_PHY_DX8SL1DXCTL2_DISRST_DEFVAL                     0x00141800
#define DDR_PHY_DX8SL1DXCTL2_DISRST_SHIFT                      3
#define DDR_PHY_DX8SL1DXCTL2_DISRST_MASK                       0x00000008U

/*
* Read DQS Gate I/O Loopback
*/
#undef DDR_PHY_DX8SL1DXCTL2_DQSGLB_DEFVAL 
#undef DDR_PHY_DX8SL1DXCTL2_DQSGLB_SHIFT 
#undef DDR_PHY_DX8SL1DXCTL2_DQSGLB_MASK 
#define DDR_PHY_DX8SL1DXCTL2_DQSGLB_DEFVAL                     0x00141800
#define DDR_PHY_DX8SL1DXCTL2_DQSGLB_SHIFT                      1
#define DDR_PHY_DX8SL1DXCTL2_DQSGLB_MASK                       0x00000006U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_DX8SL1DXCTL2_RESERVED_0_DEFVAL 
#undef DDR_PHY_DX8SL1DXCTL2_RESERVED_0_SHIFT 
#undef DDR_PHY_DX8SL1DXCTL2_RESERVED_0_MASK 
#define DDR_PHY_DX8SL1DXCTL2_RESERVED_0_DEFVAL                 0x00141800
#define DDR_PHY_DX8SL1DXCTL2_RESERVED_0_SHIFT                  0
#define DDR_PHY_DX8SL1DXCTL2_RESERVED_0_MASK                   0x00000001U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_DX8SL1IOCR_RESERVED_31_DEFVAL 
#undef DDR_PHY_DX8SL1IOCR_RESERVED_31_SHIFT 
#undef DDR_PHY_DX8SL1IOCR_RESERVED_31_MASK 
#define DDR_PHY_DX8SL1IOCR_RESERVED_31_DEFVAL                  0x00000000
#define DDR_PHY_DX8SL1IOCR_RESERVED_31_SHIFT                   31
#define DDR_PHY_DX8SL1IOCR_RESERVED_31_MASK                    0x80000000U

/*
* PVREF_DAC REFSEL range select
*/
#undef DDR_PHY_DX8SL1IOCR_DXDACRANGE_DEFVAL 
#undef DDR_PHY_DX8SL1IOCR_DXDACRANGE_SHIFT 
#undef DDR_PHY_DX8SL1IOCR_DXDACRANGE_MASK 
#define DDR_PHY_DX8SL1IOCR_DXDACRANGE_DEFVAL                   0x00000000
#define DDR_PHY_DX8SL1IOCR_DXDACRANGE_SHIFT                    28
#define DDR_PHY_DX8SL1IOCR_DXDACRANGE_MASK                     0x70000000U

/*
* IOM bits for PVREF, PVREF_DAC and PVREFE cells in DX IO ring
*/
#undef DDR_PHY_DX8SL1IOCR_DXVREFIOM_DEFVAL 
#undef DDR_PHY_DX8SL1IOCR_DXVREFIOM_SHIFT 
#undef DDR_PHY_DX8SL1IOCR_DXVREFIOM_MASK 
#define DDR_PHY_DX8SL1IOCR_DXVREFIOM_DEFVAL                    0x00000000
#define DDR_PHY_DX8SL1IOCR_DXVREFIOM_SHIFT                     25
#define DDR_PHY_DX8SL1IOCR_DXVREFIOM_MASK                      0x0E000000U

/*
* DX IO Mode
*/
#undef DDR_PHY_DX8SL1IOCR_DXIOM_DEFVAL 
#undef DDR_PHY_DX8SL1IOCR_DXIOM_SHIFT 
#undef DDR_PHY_DX8SL1IOCR_DXIOM_MASK 
#define DDR_PHY_DX8SL1IOCR_DXIOM_DEFVAL                        0x00000000
#define DDR_PHY_DX8SL1IOCR_DXIOM_SHIFT                         22
#define DDR_PHY_DX8SL1IOCR_DXIOM_MASK                          0x01C00000U

/*
* DX IO Transmitter Mode
*/
#undef DDR_PHY_DX8SL1IOCR_DXTXM_DEFVAL 
#undef DDR_PHY_DX8SL1IOCR_DXTXM_SHIFT 
#undef DDR_PHY_DX8SL1IOCR_DXTXM_MASK 
#define DDR_PHY_DX8SL1IOCR_DXTXM_DEFVAL                        0x00000000
#define DDR_PHY_DX8SL1IOCR_DXTXM_SHIFT                         11
#define DDR_PHY_DX8SL1IOCR_DXTXM_MASK                          0x003FF800U

/*
* DX IO Receiver Mode
*/
#undef DDR_PHY_DX8SL1IOCR_DXRXM_DEFVAL 
#undef DDR_PHY_DX8SL1IOCR_DXRXM_SHIFT 
#undef DDR_PHY_DX8SL1IOCR_DXRXM_MASK 
#define DDR_PHY_DX8SL1IOCR_DXRXM_DEFVAL                        0x00000000
#define DDR_PHY_DX8SL1IOCR_DXRXM_SHIFT                         0
#define DDR_PHY_DX8SL1IOCR_DXRXM_MASK                          0x000007FFU

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_DX8SL2OSC_RESERVED_31_30_DEFVAL 
#undef DDR_PHY_DX8SL2OSC_RESERVED_31_30_SHIFT 
#undef DDR_PHY_DX8SL2OSC_RESERVED_31_30_MASK 
#define DDR_PHY_DX8SL2OSC_RESERVED_31_30_DEFVAL                0x00019FFE
#define DDR_PHY_DX8SL2OSC_RESERVED_31_30_SHIFT                 30
#define DDR_PHY_DX8SL2OSC_RESERVED_31_30_MASK                  0xC0000000U

/*
* Enable Clock Gating for DX ddr_clk
*/
#undef DDR_PHY_DX8SL2OSC_GATEDXRDCLK_DEFVAL 
#undef DDR_PHY_DX8SL2OSC_GATEDXRDCLK_SHIFT 
#undef DDR_PHY_DX8SL2OSC_GATEDXRDCLK_MASK 
#define DDR_PHY_DX8SL2OSC_GATEDXRDCLK_DEFVAL                   0x00019FFE
#define DDR_PHY_DX8SL2OSC_GATEDXRDCLK_SHIFT                    28
#define DDR_PHY_DX8SL2OSC_GATEDXRDCLK_MASK                     0x30000000U

/*
* Enable Clock Gating for DX ctl_rd_clk
*/
#undef DDR_PHY_DX8SL2OSC_GATEDXDDRCLK_DEFVAL 
#undef DDR_PHY_DX8SL2OSC_GATEDXDDRCLK_SHIFT 
#undef DDR_PHY_DX8SL2OSC_GATEDXDDRCLK_MASK 
#define DDR_PHY_DX8SL2OSC_GATEDXDDRCLK_DEFVAL                  0x00019FFE
#define DDR_PHY_DX8SL2OSC_GATEDXDDRCLK_SHIFT                   26
#define DDR_PHY_DX8SL2OSC_GATEDXDDRCLK_MASK                    0x0C000000U

/*
* Enable Clock Gating for DX ctl_clk
*/
#undef DDR_PHY_DX8SL2OSC_GATEDXCTLCLK_DEFVAL 
#undef DDR_PHY_DX8SL2OSC_GATEDXCTLCLK_SHIFT 
#undef DDR_PHY_DX8SL2OSC_GATEDXCTLCLK_MASK 
#define DDR_PHY_DX8SL2OSC_GATEDXCTLCLK_DEFVAL                  0x00019FFE
#define DDR_PHY_DX8SL2OSC_GATEDXCTLCLK_SHIFT                   24
#define DDR_PHY_DX8SL2OSC_GATEDXCTLCLK_MASK                    0x03000000U

/*
* Selects the level to which clocks will be stalled when clock gating is e
    * nabled.
*/
#undef DDR_PHY_DX8SL2OSC_CLKLEVEL_DEFVAL 
#undef DDR_PHY_DX8SL2OSC_CLKLEVEL_SHIFT 
#undef DDR_PHY_DX8SL2OSC_CLKLEVEL_MASK 
#define DDR_PHY_DX8SL2OSC_CLKLEVEL_DEFVAL                      0x00019FFE
#define DDR_PHY_DX8SL2OSC_CLKLEVEL_SHIFT                       22
#define DDR_PHY_DX8SL2OSC_CLKLEVEL_MASK                        0x00C00000U

/*
* Loopback Mode
*/
#undef DDR_PHY_DX8SL2OSC_LBMODE_DEFVAL 
#undef DDR_PHY_DX8SL2OSC_LBMODE_SHIFT 
#undef DDR_PHY_DX8SL2OSC_LBMODE_MASK 
#define DDR_PHY_DX8SL2OSC_LBMODE_DEFVAL                        0x00019FFE
#define DDR_PHY_DX8SL2OSC_LBMODE_SHIFT                         21
#define DDR_PHY_DX8SL2OSC_LBMODE_MASK                          0x00200000U

/*
* Load GSDQS LCDL with 2x the calibrated GSDQSPRD value
*/
#undef DDR_PHY_DX8SL2OSC_LBGSDQS_DEFVAL 
#undef DDR_PHY_DX8SL2OSC_LBGSDQS_SHIFT 
#undef DDR_PHY_DX8SL2OSC_LBGSDQS_MASK 
#define DDR_PHY_DX8SL2OSC_LBGSDQS_DEFVAL                       0x00019FFE
#define DDR_PHY_DX8SL2OSC_LBGSDQS_SHIFT                        20
#define DDR_PHY_DX8SL2OSC_LBGSDQS_MASK                         0x00100000U

/*
* Loopback DQS Gating
*/
#undef DDR_PHY_DX8SL2OSC_LBGDQS_DEFVAL 
#undef DDR_PHY_DX8SL2OSC_LBGDQS_SHIFT 
#undef DDR_PHY_DX8SL2OSC_LBGDQS_MASK 
#define DDR_PHY_DX8SL2OSC_LBGDQS_DEFVAL                        0x00019FFE
#define DDR_PHY_DX8SL2OSC_LBGDQS_SHIFT                         18
#define DDR_PHY_DX8SL2OSC_LBGDQS_MASK                          0x000C0000U

/*
* Loopback DQS Shift
*/
#undef DDR_PHY_DX8SL2OSC_LBDQSS_DEFVAL 
#undef DDR_PHY_DX8SL2OSC_LBDQSS_SHIFT 
#undef DDR_PHY_DX8SL2OSC_LBDQSS_MASK 
#define DDR_PHY_DX8SL2OSC_LBDQSS_DEFVAL                        0x00019FFE
#define DDR_PHY_DX8SL2OSC_LBDQSS_SHIFT                         17
#define DDR_PHY_DX8SL2OSC_LBDQSS_MASK                          0x00020000U

/*
* PHY High-Speed Reset
*/
#undef DDR_PHY_DX8SL2OSC_PHYHRST_DEFVAL 
#undef DDR_PHY_DX8SL2OSC_PHYHRST_SHIFT 
#undef DDR_PHY_DX8SL2OSC_PHYHRST_MASK 
#define DDR_PHY_DX8SL2OSC_PHYHRST_DEFVAL                       0x00019FFE
#define DDR_PHY_DX8SL2OSC_PHYHRST_SHIFT                        16
#define DDR_PHY_DX8SL2OSC_PHYHRST_MASK                         0x00010000U

/*
* PHY FIFO Reset
*/
#undef DDR_PHY_DX8SL2OSC_PHYFRST_DEFVAL 
#undef DDR_PHY_DX8SL2OSC_PHYFRST_SHIFT 
#undef DDR_PHY_DX8SL2OSC_PHYFRST_MASK 
#define DDR_PHY_DX8SL2OSC_PHYFRST_DEFVAL                       0x00019FFE
#define DDR_PHY_DX8SL2OSC_PHYFRST_SHIFT                        15
#define DDR_PHY_DX8SL2OSC_PHYFRST_MASK                         0x00008000U

/*
* Delay Line Test Start
*/
#undef DDR_PHY_DX8SL2OSC_DLTST_DEFVAL 
#undef DDR_PHY_DX8SL2OSC_DLTST_SHIFT 
#undef DDR_PHY_DX8SL2OSC_DLTST_MASK 
#define DDR_PHY_DX8SL2OSC_DLTST_DEFVAL                         0x00019FFE
#define DDR_PHY_DX8SL2OSC_DLTST_SHIFT                          14
#define DDR_PHY_DX8SL2OSC_DLTST_MASK                           0x00004000U

/*
* Delay Line Test Mode
*/
#undef DDR_PHY_DX8SL2OSC_DLTMODE_DEFVAL 
#undef DDR_PHY_DX8SL2OSC_DLTMODE_SHIFT 
#undef DDR_PHY_DX8SL2OSC_DLTMODE_MASK 
#define DDR_PHY_DX8SL2OSC_DLTMODE_DEFVAL                       0x00019FFE
#define DDR_PHY_DX8SL2OSC_DLTMODE_SHIFT                        13
#define DDR_PHY_DX8SL2OSC_DLTMODE_MASK                         0x00002000U

/*
* Reserved. Caution, do not write to this register field.
*/
#undef DDR_PHY_DX8SL2OSC_RESERVED_12_11_DEFVAL 
#undef DDR_PHY_DX8SL2OSC_RESERVED_12_11_SHIFT 
#undef DDR_PHY_DX8SL2OSC_RESERVED_12_11_MASK 
#define DDR_PHY_DX8SL2OSC_RESERVED_12_11_DEFVAL                0x00019FFE
#define DDR_PHY_DX8SL2OSC_RESERVED_12_11_SHIFT                 11
#define DDR_PHY_DX8SL2OSC_RESERVED_12_11_MASK                  0x00001800U

/*
* Oscillator Mode Write-Data Delay Line Select
*/
#undef DDR_PHY_DX8SL2OSC_OSCWDDL_DEFVAL 
#undef DDR_PHY_DX8SL2OSC_OSCWDDL_SHIFT 
#undef DDR_PHY_DX8SL2OSC_OSCWDDL_MASK 
#define DDR_PHY_DX8SL2OSC_OSCWDDL_DEFVAL                       0x00019FFE
#define DDR_PHY_DX8SL2OSC_OSCWDDL_SHIFT                        9
#define DDR_PHY_DX8SL2OSC_OSCWDDL_MASK                         0x00000600U

/*
* Reserved. Caution, do not write to this register field.
*/
#undef DDR_PHY_DX8SL2OSC_RESERVED_8_7_DEFVAL 
#undef DDR_PHY_DX8SL2OSC_RESERVED_8_7_SHIFT 
#undef DDR_PHY_DX8SL2OSC_RESERVED_8_7_MASK 
#define DDR_PHY_DX8SL2OSC_RESERVED_8_7_DEFVAL                  0x00019FFE
#define DDR_PHY_DX8SL2OSC_RESERVED_8_7_SHIFT                   7
#define DDR_PHY_DX8SL2OSC_RESERVED_8_7_MASK                    0x00000180U

/*
* Oscillator Mode Write-Leveling Delay Line Select
*/
#undef DDR_PHY_DX8SL2OSC_OSCWDL_DEFVAL 
#undef DDR_PHY_DX8SL2OSC_OSCWDL_SHIFT 
#undef DDR_PHY_DX8SL2OSC_OSCWDL_MASK 
#define DDR_PHY_DX8SL2OSC_OSCWDL_DEFVAL                        0x00019FFE
#define DDR_PHY_DX8SL2OSC_OSCWDL_SHIFT                         5
#define DDR_PHY_DX8SL2OSC_OSCWDL_MASK                          0x00000060U

/*
* Oscillator Mode Division
*/
#undef DDR_PHY_DX8SL2OSC_OSCDIV_DEFVAL 
#undef DDR_PHY_DX8SL2OSC_OSCDIV_SHIFT 
#undef DDR_PHY_DX8SL2OSC_OSCDIV_MASK 
#define DDR_PHY_DX8SL2OSC_OSCDIV_DEFVAL                        0x00019FFE
#define DDR_PHY_DX8SL2OSC_OSCDIV_SHIFT                         1
#define DDR_PHY_DX8SL2OSC_OSCDIV_MASK                          0x0000001EU

/*
* Oscillator Enable
*/
#undef DDR_PHY_DX8SL2OSC_OSCEN_DEFVAL 
#undef DDR_PHY_DX8SL2OSC_OSCEN_SHIFT 
#undef DDR_PHY_DX8SL2OSC_OSCEN_MASK 
#define DDR_PHY_DX8SL2OSC_OSCEN_DEFVAL                         0x00019FFE
#define DDR_PHY_DX8SL2OSC_OSCEN_SHIFT                          0
#define DDR_PHY_DX8SL2OSC_OSCEN_MASK                           0x00000001U

/*
* PLL Bypass
*/
#undef DDR_PHY_DX8SL2PLLCR0_PLLBYP_DEFVAL 
#undef DDR_PHY_DX8SL2PLLCR0_PLLBYP_SHIFT 
#undef DDR_PHY_DX8SL2PLLCR0_PLLBYP_MASK 
#define DDR_PHY_DX8SL2PLLCR0_PLLBYP_DEFVAL                     0x001C0000
#define DDR_PHY_DX8SL2PLLCR0_PLLBYP_SHIFT                      31
#define DDR_PHY_DX8SL2PLLCR0_PLLBYP_MASK                       0x80000000U

/*
* PLL Reset
*/
#undef DDR_PHY_DX8SL2PLLCR0_PLLRST_DEFVAL 
#undef DDR_PHY_DX8SL2PLLCR0_PLLRST_SHIFT 
#undef DDR_PHY_DX8SL2PLLCR0_PLLRST_MASK 
#define DDR_PHY_DX8SL2PLLCR0_PLLRST_DEFVAL                     0x001C0000
#define DDR_PHY_DX8SL2PLLCR0_PLLRST_SHIFT                      30
#define DDR_PHY_DX8SL2PLLCR0_PLLRST_MASK                       0x40000000U

/*
* PLL Power Down
*/
#undef DDR_PHY_DX8SL2PLLCR0_PLLPD_DEFVAL 
#undef DDR_PHY_DX8SL2PLLCR0_PLLPD_SHIFT 
#undef DDR_PHY_DX8SL2PLLCR0_PLLPD_MASK 
#define DDR_PHY_DX8SL2PLLCR0_PLLPD_DEFVAL                      0x001C0000
#define DDR_PHY_DX8SL2PLLCR0_PLLPD_SHIFT                       29
#define DDR_PHY_DX8SL2PLLCR0_PLLPD_MASK                        0x20000000U

/*
* Reference Stop Mode
*/
#undef DDR_PHY_DX8SL2PLLCR0_RSTOPM_DEFVAL 
#undef DDR_PHY_DX8SL2PLLCR0_RSTOPM_SHIFT 
#undef DDR_PHY_DX8SL2PLLCR0_RSTOPM_MASK 
#define DDR_PHY_DX8SL2PLLCR0_RSTOPM_DEFVAL                     0x001C0000
#define DDR_PHY_DX8SL2PLLCR0_RSTOPM_SHIFT                      28
#define DDR_PHY_DX8SL2PLLCR0_RSTOPM_MASK                       0x10000000U

/*
* PLL Frequency Select
*/
#undef DDR_PHY_DX8SL2PLLCR0_FRQSEL_DEFVAL 
#undef DDR_PHY_DX8SL2PLLCR0_FRQSEL_SHIFT 
#undef DDR_PHY_DX8SL2PLLCR0_FRQSEL_MASK 
#define DDR_PHY_DX8SL2PLLCR0_FRQSEL_DEFVAL                     0x001C0000
#define DDR_PHY_DX8SL2PLLCR0_FRQSEL_SHIFT                      24
#define DDR_PHY_DX8SL2PLLCR0_FRQSEL_MASK                       0x0F000000U

/*
* Relock Mode
*/
#undef DDR_PHY_DX8SL2PLLCR0_RLOCKM_DEFVAL 
#undef DDR_PHY_DX8SL2PLLCR0_RLOCKM_SHIFT 
#undef DDR_PHY_DX8SL2PLLCR0_RLOCKM_MASK 
#define DDR_PHY_DX8SL2PLLCR0_RLOCKM_DEFVAL                     0x001C0000
#define DDR_PHY_DX8SL2PLLCR0_RLOCKM_SHIFT                      23
#define DDR_PHY_DX8SL2PLLCR0_RLOCKM_MASK                       0x00800000U

/*
* Charge Pump Proportional Current Control
*/
#undef DDR_PHY_DX8SL2PLLCR0_CPPC_DEFVAL 
#undef DDR_PHY_DX8SL2PLLCR0_CPPC_SHIFT 
#undef DDR_PHY_DX8SL2PLLCR0_CPPC_MASK 
#define DDR_PHY_DX8SL2PLLCR0_CPPC_DEFVAL                       0x001C0000
#define DDR_PHY_DX8SL2PLLCR0_CPPC_SHIFT                        17
#define DDR_PHY_DX8SL2PLLCR0_CPPC_MASK                         0x007E0000U

/*
* Charge Pump Integrating Current Control
*/
#undef DDR_PHY_DX8SL2PLLCR0_CPIC_DEFVAL 
#undef DDR_PHY_DX8SL2PLLCR0_CPIC_SHIFT 
#undef DDR_PHY_DX8SL2PLLCR0_CPIC_MASK 
#define DDR_PHY_DX8SL2PLLCR0_CPIC_DEFVAL                       0x001C0000
#define DDR_PHY_DX8SL2PLLCR0_CPIC_SHIFT                        13
#define DDR_PHY_DX8SL2PLLCR0_CPIC_MASK                         0x0001E000U

/*
* Gear Shift
*/
#undef DDR_PHY_DX8SL2PLLCR0_GSHIFT_DEFVAL 
#undef DDR_PHY_DX8SL2PLLCR0_GSHIFT_SHIFT 
#undef DDR_PHY_DX8SL2PLLCR0_GSHIFT_MASK 
#define DDR_PHY_DX8SL2PLLCR0_GSHIFT_DEFVAL                     0x001C0000
#define DDR_PHY_DX8SL2PLLCR0_GSHIFT_SHIFT                      12
#define DDR_PHY_DX8SL2PLLCR0_GSHIFT_MASK                       0x00001000U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_DX8SL2PLLCR0_RESERVED_11_9_DEFVAL 
#undef DDR_PHY_DX8SL2PLLCR0_RESERVED_11_9_SHIFT 
#undef DDR_PHY_DX8SL2PLLCR0_RESERVED_11_9_MASK 
#define DDR_PHY_DX8SL2PLLCR0_RESERVED_11_9_DEFVAL              0x001C0000
#define DDR_PHY_DX8SL2PLLCR0_RESERVED_11_9_SHIFT               9
#define DDR_PHY_DX8SL2PLLCR0_RESERVED_11_9_MASK                0x00000E00U

/*
* Analog Test Enable (ATOEN)
*/
#undef DDR_PHY_DX8SL2PLLCR0_ATOEN_DEFVAL 
#undef DDR_PHY_DX8SL2PLLCR0_ATOEN_SHIFT 
#undef DDR_PHY_DX8SL2PLLCR0_ATOEN_MASK 
#define DDR_PHY_DX8SL2PLLCR0_ATOEN_DEFVAL                      0x001C0000
#define DDR_PHY_DX8SL2PLLCR0_ATOEN_SHIFT                       8
#define DDR_PHY_DX8SL2PLLCR0_ATOEN_MASK                        0x00000100U

/*
* Analog Test Control
*/
#undef DDR_PHY_DX8SL2PLLCR0_ATC_DEFVAL 
#undef DDR_PHY_DX8SL2PLLCR0_ATC_SHIFT 
#undef DDR_PHY_DX8SL2PLLCR0_ATC_MASK 
#define DDR_PHY_DX8SL2PLLCR0_ATC_DEFVAL                        0x001C0000
#define DDR_PHY_DX8SL2PLLCR0_ATC_SHIFT                         4
#define DDR_PHY_DX8SL2PLLCR0_ATC_MASK                          0x000000F0U

/*
* Digital Test Control
*/
#undef DDR_PHY_DX8SL2PLLCR0_DTC_DEFVAL 
#undef DDR_PHY_DX8SL2PLLCR0_DTC_SHIFT 
#undef DDR_PHY_DX8SL2PLLCR0_DTC_MASK 
#define DDR_PHY_DX8SL2PLLCR0_DTC_DEFVAL                        0x001C0000
#define DDR_PHY_DX8SL2PLLCR0_DTC_SHIFT                         0
#define DDR_PHY_DX8SL2PLLCR0_DTC_MASK                          0x0000000FU

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_DX8SL2DQSCTL_RESERVED_31_25_DEFVAL 
#undef DDR_PHY_DX8SL2DQSCTL_RESERVED_31_25_SHIFT 
#undef DDR_PHY_DX8SL2DQSCTL_RESERVED_31_25_MASK 
#define DDR_PHY_DX8SL2DQSCTL_RESERVED_31_25_DEFVAL             0x01264000
#define DDR_PHY_DX8SL2DQSCTL_RESERVED_31_25_SHIFT              25
#define DDR_PHY_DX8SL2DQSCTL_RESERVED_31_25_MASK               0xFE000000U

/*
* Read Path Rise-to-Rise Mode
*/
#undef DDR_PHY_DX8SL2DQSCTL_RRRMODE_DEFVAL 
#undef DDR_PHY_DX8SL2DQSCTL_RRRMODE_SHIFT 
#undef DDR_PHY_DX8SL2DQSCTL_RRRMODE_MASK 
#define DDR_PHY_DX8SL2DQSCTL_RRRMODE_DEFVAL                    0x01264000
#define DDR_PHY_DX8SL2DQSCTL_RRRMODE_SHIFT                     24
#define DDR_PHY_DX8SL2DQSCTL_RRRMODE_MASK                      0x01000000U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_DX8SL2DQSCTL_RESERVED_23_22_DEFVAL 
#undef DDR_PHY_DX8SL2DQSCTL_RESERVED_23_22_SHIFT 
#undef DDR_PHY_DX8SL2DQSCTL_RESERVED_23_22_MASK 
#define DDR_PHY_DX8SL2DQSCTL_RESERVED_23_22_DEFVAL             0x01264000
#define DDR_PHY_DX8SL2DQSCTL_RESERVED_23_22_SHIFT              22
#define DDR_PHY_DX8SL2DQSCTL_RESERVED_23_22_MASK               0x00C00000U

/*
* Write Path Rise-to-Rise Mode
*/
#undef DDR_PHY_DX8SL2DQSCTL_WRRMODE_DEFVAL 
#undef DDR_PHY_DX8SL2DQSCTL_WRRMODE_SHIFT 
#undef DDR_PHY_DX8SL2DQSCTL_WRRMODE_MASK 
#define DDR_PHY_DX8SL2DQSCTL_WRRMODE_DEFVAL                    0x01264000
#define DDR_PHY_DX8SL2DQSCTL_WRRMODE_SHIFT                     21
#define DDR_PHY_DX8SL2DQSCTL_WRRMODE_MASK                      0x00200000U

/*
* DQS Gate Extension
*/
#undef DDR_PHY_DX8SL2DQSCTL_DQSGX_DEFVAL 
#undef DDR_PHY_DX8SL2DQSCTL_DQSGX_SHIFT 
#undef DDR_PHY_DX8SL2DQSCTL_DQSGX_MASK 
#define DDR_PHY_DX8SL2DQSCTL_DQSGX_DEFVAL                      0x01264000
#define DDR_PHY_DX8SL2DQSCTL_DQSGX_SHIFT                       19
#define DDR_PHY_DX8SL2DQSCTL_DQSGX_MASK                        0x00180000U

/*
* Low Power PLL Power Down
*/
#undef DDR_PHY_DX8SL2DQSCTL_LPPLLPD_DEFVAL 
#undef DDR_PHY_DX8SL2DQSCTL_LPPLLPD_SHIFT 
#undef DDR_PHY_DX8SL2DQSCTL_LPPLLPD_MASK 
#define DDR_PHY_DX8SL2DQSCTL_LPPLLPD_DEFVAL                    0x01264000
#define DDR_PHY_DX8SL2DQSCTL_LPPLLPD_SHIFT                     18
#define DDR_PHY_DX8SL2DQSCTL_LPPLLPD_MASK                      0x00040000U

/*
* Low Power I/O Power Down
*/
#undef DDR_PHY_DX8SL2DQSCTL_LPIOPD_DEFVAL 
#undef DDR_PHY_DX8SL2DQSCTL_LPIOPD_SHIFT 
#undef DDR_PHY_DX8SL2DQSCTL_LPIOPD_MASK 
#define DDR_PHY_DX8SL2DQSCTL_LPIOPD_DEFVAL                     0x01264000
#define DDR_PHY_DX8SL2DQSCTL_LPIOPD_SHIFT                      17
#define DDR_PHY_DX8SL2DQSCTL_LPIOPD_MASK                       0x00020000U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_DX8SL2DQSCTL_RESERVED_16_15_DEFVAL 
#undef DDR_PHY_DX8SL2DQSCTL_RESERVED_16_15_SHIFT 
#undef DDR_PHY_DX8SL2DQSCTL_RESERVED_16_15_MASK 
#define DDR_PHY_DX8SL2DQSCTL_RESERVED_16_15_DEFVAL             0x01264000
#define DDR_PHY_DX8SL2DQSCTL_RESERVED_16_15_SHIFT              15
#define DDR_PHY_DX8SL2DQSCTL_RESERVED_16_15_MASK               0x00018000U

/*
* QS Counter Enable
*/
#undef DDR_PHY_DX8SL2DQSCTL_QSCNTEN_DEFVAL 
#undef DDR_PHY_DX8SL2DQSCTL_QSCNTEN_SHIFT 
#undef DDR_PHY_DX8SL2DQSCTL_QSCNTEN_MASK 
#define DDR_PHY_DX8SL2DQSCTL_QSCNTEN_DEFVAL                    0x01264000
#define DDR_PHY_DX8SL2DQSCTL_QSCNTEN_SHIFT                     14
#define DDR_PHY_DX8SL2DQSCTL_QSCNTEN_MASK                      0x00004000U

/*
* Unused DQ I/O Mode
*/
#undef DDR_PHY_DX8SL2DQSCTL_UDQIOM_DEFVAL 
#undef DDR_PHY_DX8SL2DQSCTL_UDQIOM_SHIFT 
#undef DDR_PHY_DX8SL2DQSCTL_UDQIOM_MASK 
#define DDR_PHY_DX8SL2DQSCTL_UDQIOM_DEFVAL                     0x01264000
#define DDR_PHY_DX8SL2DQSCTL_UDQIOM_SHIFT                      13
#define DDR_PHY_DX8SL2DQSCTL_UDQIOM_MASK                       0x00002000U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_DX8SL2DQSCTL_RESERVED_12_10_DEFVAL 
#undef DDR_PHY_DX8SL2DQSCTL_RESERVED_12_10_SHIFT 
#undef DDR_PHY_DX8SL2DQSCTL_RESERVED_12_10_MASK 
#define DDR_PHY_DX8SL2DQSCTL_RESERVED_12_10_DEFVAL             0x01264000
#define DDR_PHY_DX8SL2DQSCTL_RESERVED_12_10_SHIFT              10
#define DDR_PHY_DX8SL2DQSCTL_RESERVED_12_10_MASK               0x00001C00U

/*
* Data Slew Rate
*/
#undef DDR_PHY_DX8SL2DQSCTL_DXSR_DEFVAL 
#undef DDR_PHY_DX8SL2DQSCTL_DXSR_SHIFT 
#undef DDR_PHY_DX8SL2DQSCTL_DXSR_MASK 
#define DDR_PHY_DX8SL2DQSCTL_DXSR_DEFVAL                       0x01264000
#define DDR_PHY_DX8SL2DQSCTL_DXSR_SHIFT                        8
#define DDR_PHY_DX8SL2DQSCTL_DXSR_MASK                         0x00000300U

/*
* DQS_N Resistor
*/
#undef DDR_PHY_DX8SL2DQSCTL_DQSNRES_DEFVAL 
#undef DDR_PHY_DX8SL2DQSCTL_DQSNRES_SHIFT 
#undef DDR_PHY_DX8SL2DQSCTL_DQSNRES_MASK 
#define DDR_PHY_DX8SL2DQSCTL_DQSNRES_DEFVAL                    0x01264000
#define DDR_PHY_DX8SL2DQSCTL_DQSNRES_SHIFT                     4
#define DDR_PHY_DX8SL2DQSCTL_DQSNRES_MASK                      0x000000F0U

/*
* DQS Resistor
*/
#undef DDR_PHY_DX8SL2DQSCTL_DQSRES_DEFVAL 
#undef DDR_PHY_DX8SL2DQSCTL_DQSRES_SHIFT 
#undef DDR_PHY_DX8SL2DQSCTL_DQSRES_MASK 
#define DDR_PHY_DX8SL2DQSCTL_DQSRES_DEFVAL                     0x01264000
#define DDR_PHY_DX8SL2DQSCTL_DQSRES_SHIFT                      0
#define DDR_PHY_DX8SL2DQSCTL_DQSRES_MASK                       0x0000000FU

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_DX8SL2DXCTL2_RESERVED_31_24_DEFVAL 
#undef DDR_PHY_DX8SL2DXCTL2_RESERVED_31_24_SHIFT 
#undef DDR_PHY_DX8SL2DXCTL2_RESERVED_31_24_MASK 
#define DDR_PHY_DX8SL2DXCTL2_RESERVED_31_24_DEFVAL             0x00141800
#define DDR_PHY_DX8SL2DXCTL2_RESERVED_31_24_SHIFT              24
#define DDR_PHY_DX8SL2DXCTL2_RESERVED_31_24_MASK               0xFF000000U

/*
* Configurable Read Data Enable
*/
#undef DDR_PHY_DX8SL2DXCTL2_CRDEN_DEFVAL 
#undef DDR_PHY_DX8SL2DXCTL2_CRDEN_SHIFT 
#undef DDR_PHY_DX8SL2DXCTL2_CRDEN_MASK 
#define DDR_PHY_DX8SL2DXCTL2_CRDEN_DEFVAL                      0x00141800
#define DDR_PHY_DX8SL2DXCTL2_CRDEN_SHIFT                       23
#define DDR_PHY_DX8SL2DXCTL2_CRDEN_MASK                        0x00800000U

/*
* OX Extension during Post-amble
*/
#undef DDR_PHY_DX8SL2DXCTL2_POSOEX_DEFVAL 
#undef DDR_PHY_DX8SL2DXCTL2_POSOEX_SHIFT 
#undef DDR_PHY_DX8SL2DXCTL2_POSOEX_MASK 
#define DDR_PHY_DX8SL2DXCTL2_POSOEX_DEFVAL                     0x00141800
#define DDR_PHY_DX8SL2DXCTL2_POSOEX_SHIFT                      20
#define DDR_PHY_DX8SL2DXCTL2_POSOEX_MASK                       0x00700000U

/*
* OE Extension during Pre-amble
*/
#undef DDR_PHY_DX8SL2DXCTL2_PREOEX_DEFVAL 
#undef DDR_PHY_DX8SL2DXCTL2_PREOEX_SHIFT 
#undef DDR_PHY_DX8SL2DXCTL2_PREOEX_MASK 
#define DDR_PHY_DX8SL2DXCTL2_PREOEX_DEFVAL                     0x00141800
#define DDR_PHY_DX8SL2DXCTL2_PREOEX_SHIFT                      18
#define DDR_PHY_DX8SL2DXCTL2_PREOEX_MASK                       0x000C0000U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_DX8SL2DXCTL2_RESERVED_17_DEFVAL 
#undef DDR_PHY_DX8SL2DXCTL2_RESERVED_17_SHIFT 
#undef DDR_PHY_DX8SL2DXCTL2_RESERVED_17_MASK 
#define DDR_PHY_DX8SL2DXCTL2_RESERVED_17_DEFVAL                0x00141800
#define DDR_PHY_DX8SL2DXCTL2_RESERVED_17_SHIFT                 17
#define DDR_PHY_DX8SL2DXCTL2_RESERVED_17_MASK                  0x00020000U

/*
* I/O Assisted Gate Select
*/
#undef DDR_PHY_DX8SL2DXCTL2_IOAG_DEFVAL 
#undef DDR_PHY_DX8SL2DXCTL2_IOAG_SHIFT 
#undef DDR_PHY_DX8SL2DXCTL2_IOAG_MASK 
#define DDR_PHY_DX8SL2DXCTL2_IOAG_DEFVAL                       0x00141800
#define DDR_PHY_DX8SL2DXCTL2_IOAG_SHIFT                        16
#define DDR_PHY_DX8SL2DXCTL2_IOAG_MASK                         0x00010000U

/*
* I/O Loopback Select
*/
#undef DDR_PHY_DX8SL2DXCTL2_IOLB_DEFVAL 
#undef DDR_PHY_DX8SL2DXCTL2_IOLB_SHIFT 
#undef DDR_PHY_DX8SL2DXCTL2_IOLB_MASK 
#define DDR_PHY_DX8SL2DXCTL2_IOLB_DEFVAL                       0x00141800
#define DDR_PHY_DX8SL2DXCTL2_IOLB_SHIFT                        15
#define DDR_PHY_DX8SL2DXCTL2_IOLB_MASK                         0x00008000U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_DX8SL2DXCTL2_RESERVED_14_13_DEFVAL 
#undef DDR_PHY_DX8SL2DXCTL2_RESERVED_14_13_SHIFT 
#undef DDR_PHY_DX8SL2DXCTL2_RESERVED_14_13_MASK 
#define DDR_PHY_DX8SL2DXCTL2_RESERVED_14_13_DEFVAL             0x00141800
#define DDR_PHY_DX8SL2DXCTL2_RESERVED_14_13_SHIFT              13
#define DDR_PHY_DX8SL2DXCTL2_RESERVED_14_13_MASK               0x00006000U

/*
* Low Power Wakeup Threshold
*/
#undef DDR_PHY_DX8SL2DXCTL2_LPWAKEUP_THRSH_DEFVAL 
#undef DDR_PHY_DX8SL2DXCTL2_LPWAKEUP_THRSH_SHIFT 
#undef DDR_PHY_DX8SL2DXCTL2_LPWAKEUP_THRSH_MASK 
#define DDR_PHY_DX8SL2DXCTL2_LPWAKEUP_THRSH_DEFVAL             0x00141800
#define DDR_PHY_DX8SL2DXCTL2_LPWAKEUP_THRSH_SHIFT              9
#define DDR_PHY_DX8SL2DXCTL2_LPWAKEUP_THRSH_MASK               0x00001E00U

/*
* Read Data Bus Inversion Enable
*/
#undef DDR_PHY_DX8SL2DXCTL2_RDBI_DEFVAL 
#undef DDR_PHY_DX8SL2DXCTL2_RDBI_SHIFT 
#undef DDR_PHY_DX8SL2DXCTL2_RDBI_MASK 
#define DDR_PHY_DX8SL2DXCTL2_RDBI_DEFVAL                       0x00141800
#define DDR_PHY_DX8SL2DXCTL2_RDBI_SHIFT                        8
#define DDR_PHY_DX8SL2DXCTL2_RDBI_MASK                         0x00000100U

/*
* Write Data Bus Inversion Enable
*/
#undef DDR_PHY_DX8SL2DXCTL2_WDBI_DEFVAL 
#undef DDR_PHY_DX8SL2DXCTL2_WDBI_SHIFT 
#undef DDR_PHY_DX8SL2DXCTL2_WDBI_MASK 
#define DDR_PHY_DX8SL2DXCTL2_WDBI_DEFVAL                       0x00141800
#define DDR_PHY_DX8SL2DXCTL2_WDBI_SHIFT                        7
#define DDR_PHY_DX8SL2DXCTL2_WDBI_MASK                         0x00000080U

/*
* PUB Read FIFO Bypass
*/
#undef DDR_PHY_DX8SL2DXCTL2_PRFBYP_DEFVAL 
#undef DDR_PHY_DX8SL2DXCTL2_PRFBYP_SHIFT 
#undef DDR_PHY_DX8SL2DXCTL2_PRFBYP_MASK 
#define DDR_PHY_DX8SL2DXCTL2_PRFBYP_DEFVAL                     0x00141800
#define DDR_PHY_DX8SL2DXCTL2_PRFBYP_SHIFT                      6
#define DDR_PHY_DX8SL2DXCTL2_PRFBYP_MASK                       0x00000040U

/*
* DATX8 Receive FIFO Read Mode
*/
#undef DDR_PHY_DX8SL2DXCTL2_RDMODE_DEFVAL 
#undef DDR_PHY_DX8SL2DXCTL2_RDMODE_SHIFT 
#undef DDR_PHY_DX8SL2DXCTL2_RDMODE_MASK 
#define DDR_PHY_DX8SL2DXCTL2_RDMODE_DEFVAL                     0x00141800
#define DDR_PHY_DX8SL2DXCTL2_RDMODE_SHIFT                      4
#define DDR_PHY_DX8SL2DXCTL2_RDMODE_MASK                       0x00000030U

/*
* Disables the Read FIFO Reset
*/
#undef DDR_PHY_DX8SL2DXCTL2_DISRST_DEFVAL 
#undef DDR_PHY_DX8SL2DXCTL2_DISRST_SHIFT 
#undef DDR_PHY_DX8SL2DXCTL2_DISRST_MASK 
#define DDR_PHY_DX8SL2DXCTL2_DISRST_DEFVAL                     0x00141800
#define DDR_PHY_DX8SL2DXCTL2_DISRST_SHIFT                      3
#define DDR_PHY_DX8SL2DXCTL2_DISRST_MASK                       0x00000008U

/*
* Read DQS Gate I/O Loopback
*/
#undef DDR_PHY_DX8SL2DXCTL2_DQSGLB_DEFVAL 
#undef DDR_PHY_DX8SL2DXCTL2_DQSGLB_SHIFT 
#undef DDR_PHY_DX8SL2DXCTL2_DQSGLB_MASK 
#define DDR_PHY_DX8SL2DXCTL2_DQSGLB_DEFVAL                     0x00141800
#define DDR_PHY_DX8SL2DXCTL2_DQSGLB_SHIFT                      1
#define DDR_PHY_DX8SL2DXCTL2_DQSGLB_MASK                       0x00000006U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_DX8SL2DXCTL2_RESERVED_0_DEFVAL 
#undef DDR_PHY_DX8SL2DXCTL2_RESERVED_0_SHIFT 
#undef DDR_PHY_DX8SL2DXCTL2_RESERVED_0_MASK 
#define DDR_PHY_DX8SL2DXCTL2_RESERVED_0_DEFVAL                 0x00141800
#define DDR_PHY_DX8SL2DXCTL2_RESERVED_0_SHIFT                  0
#define DDR_PHY_DX8SL2DXCTL2_RESERVED_0_MASK                   0x00000001U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_DX8SL2IOCR_RESERVED_31_DEFVAL 
#undef DDR_PHY_DX8SL2IOCR_RESERVED_31_SHIFT 
#undef DDR_PHY_DX8SL2IOCR_RESERVED_31_MASK 
#define DDR_PHY_DX8SL2IOCR_RESERVED_31_DEFVAL                  0x00000000
#define DDR_PHY_DX8SL2IOCR_RESERVED_31_SHIFT                   31
#define DDR_PHY_DX8SL2IOCR_RESERVED_31_MASK                    0x80000000U

/*
* PVREF_DAC REFSEL range select
*/
#undef DDR_PHY_DX8SL2IOCR_DXDACRANGE_DEFVAL 
#undef DDR_PHY_DX8SL2IOCR_DXDACRANGE_SHIFT 
#undef DDR_PHY_DX8SL2IOCR_DXDACRANGE_MASK 
#define DDR_PHY_DX8SL2IOCR_DXDACRANGE_DEFVAL                   0x00000000
#define DDR_PHY_DX8SL2IOCR_DXDACRANGE_SHIFT                    28
#define DDR_PHY_DX8SL2IOCR_DXDACRANGE_MASK                     0x70000000U

/*
* IOM bits for PVREF, PVREF_DAC and PVREFE cells in DX IO ring
*/
#undef DDR_PHY_DX8SL2IOCR_DXVREFIOM_DEFVAL 
#undef DDR_PHY_DX8SL2IOCR_DXVREFIOM_SHIFT 
#undef DDR_PHY_DX8SL2IOCR_DXVREFIOM_MASK 
#define DDR_PHY_DX8SL2IOCR_DXVREFIOM_DEFVAL                    0x00000000
#define DDR_PHY_DX8SL2IOCR_DXVREFIOM_SHIFT                     25
#define DDR_PHY_DX8SL2IOCR_DXVREFIOM_MASK                      0x0E000000U

/*
* DX IO Mode
*/
#undef DDR_PHY_DX8SL2IOCR_DXIOM_DEFVAL 
#undef DDR_PHY_DX8SL2IOCR_DXIOM_SHIFT 
#undef DDR_PHY_DX8SL2IOCR_DXIOM_MASK 
#define DDR_PHY_DX8SL2IOCR_DXIOM_DEFVAL                        0x00000000
#define DDR_PHY_DX8SL2IOCR_DXIOM_SHIFT                         22
#define DDR_PHY_DX8SL2IOCR_DXIOM_MASK                          0x01C00000U

/*
* DX IO Transmitter Mode
*/
#undef DDR_PHY_DX8SL2IOCR_DXTXM_DEFVAL 
#undef DDR_PHY_DX8SL2IOCR_DXTXM_SHIFT 
#undef DDR_PHY_DX8SL2IOCR_DXTXM_MASK 
#define DDR_PHY_DX8SL2IOCR_DXTXM_DEFVAL                        0x00000000
#define DDR_PHY_DX8SL2IOCR_DXTXM_SHIFT                         11
#define DDR_PHY_DX8SL2IOCR_DXTXM_MASK                          0x003FF800U

/*
* DX IO Receiver Mode
*/
#undef DDR_PHY_DX8SL2IOCR_DXRXM_DEFVAL 
#undef DDR_PHY_DX8SL2IOCR_DXRXM_SHIFT 
#undef DDR_PHY_DX8SL2IOCR_DXRXM_MASK 
#define DDR_PHY_DX8SL2IOCR_DXRXM_DEFVAL                        0x00000000
#define DDR_PHY_DX8SL2IOCR_DXRXM_SHIFT                         0
#define DDR_PHY_DX8SL2IOCR_DXRXM_MASK                          0x000007FFU

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_DX8SL3OSC_RESERVED_31_30_DEFVAL 
#undef DDR_PHY_DX8SL3OSC_RESERVED_31_30_SHIFT 
#undef DDR_PHY_DX8SL3OSC_RESERVED_31_30_MASK 
#define DDR_PHY_DX8SL3OSC_RESERVED_31_30_DEFVAL                0x00019FFE
#define DDR_PHY_DX8SL3OSC_RESERVED_31_30_SHIFT                 30
#define DDR_PHY_DX8SL3OSC_RESERVED_31_30_MASK                  0xC0000000U

/*
* Enable Clock Gating for DX ddr_clk
*/
#undef DDR_PHY_DX8SL3OSC_GATEDXRDCLK_DEFVAL 
#undef DDR_PHY_DX8SL3OSC_GATEDXRDCLK_SHIFT 
#undef DDR_PHY_DX8SL3OSC_GATEDXRDCLK_MASK 
#define DDR_PHY_DX8SL3OSC_GATEDXRDCLK_DEFVAL                   0x00019FFE
#define DDR_PHY_DX8SL3OSC_GATEDXRDCLK_SHIFT                    28
#define DDR_PHY_DX8SL3OSC_GATEDXRDCLK_MASK                     0x30000000U

/*
* Enable Clock Gating for DX ctl_rd_clk
*/
#undef DDR_PHY_DX8SL3OSC_GATEDXDDRCLK_DEFVAL 
#undef DDR_PHY_DX8SL3OSC_GATEDXDDRCLK_SHIFT 
#undef DDR_PHY_DX8SL3OSC_GATEDXDDRCLK_MASK 
#define DDR_PHY_DX8SL3OSC_GATEDXDDRCLK_DEFVAL                  0x00019FFE
#define DDR_PHY_DX8SL3OSC_GATEDXDDRCLK_SHIFT                   26
#define DDR_PHY_DX8SL3OSC_GATEDXDDRCLK_MASK                    0x0C000000U

/*
* Enable Clock Gating for DX ctl_clk
*/
#undef DDR_PHY_DX8SL3OSC_GATEDXCTLCLK_DEFVAL 
#undef DDR_PHY_DX8SL3OSC_GATEDXCTLCLK_SHIFT 
#undef DDR_PHY_DX8SL3OSC_GATEDXCTLCLK_MASK 
#define DDR_PHY_DX8SL3OSC_GATEDXCTLCLK_DEFVAL                  0x00019FFE
#define DDR_PHY_DX8SL3OSC_GATEDXCTLCLK_SHIFT                   24
#define DDR_PHY_DX8SL3OSC_GATEDXCTLCLK_MASK                    0x03000000U

/*
* Selects the level to which clocks will be stalled when clock gating is e
    * nabled.
*/
#undef DDR_PHY_DX8SL3OSC_CLKLEVEL_DEFVAL 
#undef DDR_PHY_DX8SL3OSC_CLKLEVEL_SHIFT 
#undef DDR_PHY_DX8SL3OSC_CLKLEVEL_MASK 
#define DDR_PHY_DX8SL3OSC_CLKLEVEL_DEFVAL                      0x00019FFE
#define DDR_PHY_DX8SL3OSC_CLKLEVEL_SHIFT                       22
#define DDR_PHY_DX8SL3OSC_CLKLEVEL_MASK                        0x00C00000U

/*
* Loopback Mode
*/
#undef DDR_PHY_DX8SL3OSC_LBMODE_DEFVAL 
#undef DDR_PHY_DX8SL3OSC_LBMODE_SHIFT 
#undef DDR_PHY_DX8SL3OSC_LBMODE_MASK 
#define DDR_PHY_DX8SL3OSC_LBMODE_DEFVAL                        0x00019FFE
#define DDR_PHY_DX8SL3OSC_LBMODE_SHIFT                         21
#define DDR_PHY_DX8SL3OSC_LBMODE_MASK                          0x00200000U

/*
* Load GSDQS LCDL with 2x the calibrated GSDQSPRD value
*/
#undef DDR_PHY_DX8SL3OSC_LBGSDQS_DEFVAL 
#undef DDR_PHY_DX8SL3OSC_LBGSDQS_SHIFT 
#undef DDR_PHY_DX8SL3OSC_LBGSDQS_MASK 
#define DDR_PHY_DX8SL3OSC_LBGSDQS_DEFVAL                       0x00019FFE
#define DDR_PHY_DX8SL3OSC_LBGSDQS_SHIFT                        20
#define DDR_PHY_DX8SL3OSC_LBGSDQS_MASK                         0x00100000U

/*
* Loopback DQS Gating
*/
#undef DDR_PHY_DX8SL3OSC_LBGDQS_DEFVAL 
#undef DDR_PHY_DX8SL3OSC_LBGDQS_SHIFT 
#undef DDR_PHY_DX8SL3OSC_LBGDQS_MASK 
#define DDR_PHY_DX8SL3OSC_LBGDQS_DEFVAL                        0x00019FFE
#define DDR_PHY_DX8SL3OSC_LBGDQS_SHIFT                         18
#define DDR_PHY_DX8SL3OSC_LBGDQS_MASK                          0x000C0000U

/*
* Loopback DQS Shift
*/
#undef DDR_PHY_DX8SL3OSC_LBDQSS_DEFVAL 
#undef DDR_PHY_DX8SL3OSC_LBDQSS_SHIFT 
#undef DDR_PHY_DX8SL3OSC_LBDQSS_MASK 
#define DDR_PHY_DX8SL3OSC_LBDQSS_DEFVAL                        0x00019FFE
#define DDR_PHY_DX8SL3OSC_LBDQSS_SHIFT                         17
#define DDR_PHY_DX8SL3OSC_LBDQSS_MASK                          0x00020000U

/*
* PHY High-Speed Reset
*/
#undef DDR_PHY_DX8SL3OSC_PHYHRST_DEFVAL 
#undef DDR_PHY_DX8SL3OSC_PHYHRST_SHIFT 
#undef DDR_PHY_DX8SL3OSC_PHYHRST_MASK 
#define DDR_PHY_DX8SL3OSC_PHYHRST_DEFVAL                       0x00019FFE
#define DDR_PHY_DX8SL3OSC_PHYHRST_SHIFT                        16
#define DDR_PHY_DX8SL3OSC_PHYHRST_MASK                         0x00010000U

/*
* PHY FIFO Reset
*/
#undef DDR_PHY_DX8SL3OSC_PHYFRST_DEFVAL 
#undef DDR_PHY_DX8SL3OSC_PHYFRST_SHIFT 
#undef DDR_PHY_DX8SL3OSC_PHYFRST_MASK 
#define DDR_PHY_DX8SL3OSC_PHYFRST_DEFVAL                       0x00019FFE
#define DDR_PHY_DX8SL3OSC_PHYFRST_SHIFT                        15
#define DDR_PHY_DX8SL3OSC_PHYFRST_MASK                         0x00008000U

/*
* Delay Line Test Start
*/
#undef DDR_PHY_DX8SL3OSC_DLTST_DEFVAL 
#undef DDR_PHY_DX8SL3OSC_DLTST_SHIFT 
#undef DDR_PHY_DX8SL3OSC_DLTST_MASK 
#define DDR_PHY_DX8SL3OSC_DLTST_DEFVAL                         0x00019FFE
#define DDR_PHY_DX8SL3OSC_DLTST_SHIFT                          14
#define DDR_PHY_DX8SL3OSC_DLTST_MASK                           0x00004000U

/*
* Delay Line Test Mode
*/
#undef DDR_PHY_DX8SL3OSC_DLTMODE_DEFVAL 
#undef DDR_PHY_DX8SL3OSC_DLTMODE_SHIFT 
#undef DDR_PHY_DX8SL3OSC_DLTMODE_MASK 
#define DDR_PHY_DX8SL3OSC_DLTMODE_DEFVAL                       0x00019FFE
#define DDR_PHY_DX8SL3OSC_DLTMODE_SHIFT                        13
#define DDR_PHY_DX8SL3OSC_DLTMODE_MASK                         0x00002000U

/*
* Reserved. Caution, do not write to this register field.
*/
#undef DDR_PHY_DX8SL3OSC_RESERVED_12_11_DEFVAL 
#undef DDR_PHY_DX8SL3OSC_RESERVED_12_11_SHIFT 
#undef DDR_PHY_DX8SL3OSC_RESERVED_12_11_MASK 
#define DDR_PHY_DX8SL3OSC_RESERVED_12_11_DEFVAL                0x00019FFE
#define DDR_PHY_DX8SL3OSC_RESERVED_12_11_SHIFT                 11
#define DDR_PHY_DX8SL3OSC_RESERVED_12_11_MASK                  0x00001800U

/*
* Oscillator Mode Write-Data Delay Line Select
*/
#undef DDR_PHY_DX8SL3OSC_OSCWDDL_DEFVAL 
#undef DDR_PHY_DX8SL3OSC_OSCWDDL_SHIFT 
#undef DDR_PHY_DX8SL3OSC_OSCWDDL_MASK 
#define DDR_PHY_DX8SL3OSC_OSCWDDL_DEFVAL                       0x00019FFE
#define DDR_PHY_DX8SL3OSC_OSCWDDL_SHIFT                        9
#define DDR_PHY_DX8SL3OSC_OSCWDDL_MASK                         0x00000600U

/*
* Reserved. Caution, do not write to this register field.
*/
#undef DDR_PHY_DX8SL3OSC_RESERVED_8_7_DEFVAL 
#undef DDR_PHY_DX8SL3OSC_RESERVED_8_7_SHIFT 
#undef DDR_PHY_DX8SL3OSC_RESERVED_8_7_MASK 
#define DDR_PHY_DX8SL3OSC_RESERVED_8_7_DEFVAL                  0x00019FFE
#define DDR_PHY_DX8SL3OSC_RESERVED_8_7_SHIFT                   7
#define DDR_PHY_DX8SL3OSC_RESERVED_8_7_MASK                    0x00000180U

/*
* Oscillator Mode Write-Leveling Delay Line Select
*/
#undef DDR_PHY_DX8SL3OSC_OSCWDL_DEFVAL 
#undef DDR_PHY_DX8SL3OSC_OSCWDL_SHIFT 
#undef DDR_PHY_DX8SL3OSC_OSCWDL_MASK 
#define DDR_PHY_DX8SL3OSC_OSCWDL_DEFVAL                        0x00019FFE
#define DDR_PHY_DX8SL3OSC_OSCWDL_SHIFT                         5
#define DDR_PHY_DX8SL3OSC_OSCWDL_MASK                          0x00000060U

/*
* Oscillator Mode Division
*/
#undef DDR_PHY_DX8SL3OSC_OSCDIV_DEFVAL 
#undef DDR_PHY_DX8SL3OSC_OSCDIV_SHIFT 
#undef DDR_PHY_DX8SL3OSC_OSCDIV_MASK 
#define DDR_PHY_DX8SL3OSC_OSCDIV_DEFVAL                        0x00019FFE
#define DDR_PHY_DX8SL3OSC_OSCDIV_SHIFT                         1
#define DDR_PHY_DX8SL3OSC_OSCDIV_MASK                          0x0000001EU

/*
* Oscillator Enable
*/
#undef DDR_PHY_DX8SL3OSC_OSCEN_DEFVAL 
#undef DDR_PHY_DX8SL3OSC_OSCEN_SHIFT 
#undef DDR_PHY_DX8SL3OSC_OSCEN_MASK 
#define DDR_PHY_DX8SL3OSC_OSCEN_DEFVAL                         0x00019FFE
#define DDR_PHY_DX8SL3OSC_OSCEN_SHIFT                          0
#define DDR_PHY_DX8SL3OSC_OSCEN_MASK                           0x00000001U

/*
* PLL Bypass
*/
#undef DDR_PHY_DX8SL3PLLCR0_PLLBYP_DEFVAL 
#undef DDR_PHY_DX8SL3PLLCR0_PLLBYP_SHIFT 
#undef DDR_PHY_DX8SL3PLLCR0_PLLBYP_MASK 
#define DDR_PHY_DX8SL3PLLCR0_PLLBYP_DEFVAL                     0x001C0000
#define DDR_PHY_DX8SL3PLLCR0_PLLBYP_SHIFT                      31
#define DDR_PHY_DX8SL3PLLCR0_PLLBYP_MASK                       0x80000000U

/*
* PLL Reset
*/
#undef DDR_PHY_DX8SL3PLLCR0_PLLRST_DEFVAL 
#undef DDR_PHY_DX8SL3PLLCR0_PLLRST_SHIFT 
#undef DDR_PHY_DX8SL3PLLCR0_PLLRST_MASK 
#define DDR_PHY_DX8SL3PLLCR0_PLLRST_DEFVAL                     0x001C0000
#define DDR_PHY_DX8SL3PLLCR0_PLLRST_SHIFT                      30
#define DDR_PHY_DX8SL3PLLCR0_PLLRST_MASK                       0x40000000U

/*
* PLL Power Down
*/
#undef DDR_PHY_DX8SL3PLLCR0_PLLPD_DEFVAL 
#undef DDR_PHY_DX8SL3PLLCR0_PLLPD_SHIFT 
#undef DDR_PHY_DX8SL3PLLCR0_PLLPD_MASK 
#define DDR_PHY_DX8SL3PLLCR0_PLLPD_DEFVAL                      0x001C0000
#define DDR_PHY_DX8SL3PLLCR0_PLLPD_SHIFT                       29
#define DDR_PHY_DX8SL3PLLCR0_PLLPD_MASK                        0x20000000U

/*
* Reference Stop Mode
*/
#undef DDR_PHY_DX8SL3PLLCR0_RSTOPM_DEFVAL 
#undef DDR_PHY_DX8SL3PLLCR0_RSTOPM_SHIFT 
#undef DDR_PHY_DX8SL3PLLCR0_RSTOPM_MASK 
#define DDR_PHY_DX8SL3PLLCR0_RSTOPM_DEFVAL                     0x001C0000
#define DDR_PHY_DX8SL3PLLCR0_RSTOPM_SHIFT                      28
#define DDR_PHY_DX8SL3PLLCR0_RSTOPM_MASK                       0x10000000U

/*
* PLL Frequency Select
*/
#undef DDR_PHY_DX8SL3PLLCR0_FRQSEL_DEFVAL 
#undef DDR_PHY_DX8SL3PLLCR0_FRQSEL_SHIFT 
#undef DDR_PHY_DX8SL3PLLCR0_FRQSEL_MASK 
#define DDR_PHY_DX8SL3PLLCR0_FRQSEL_DEFVAL                     0x001C0000
#define DDR_PHY_DX8SL3PLLCR0_FRQSEL_SHIFT                      24
#define DDR_PHY_DX8SL3PLLCR0_FRQSEL_MASK                       0x0F000000U

/*
* Relock Mode
*/
#undef DDR_PHY_DX8SL3PLLCR0_RLOCKM_DEFVAL 
#undef DDR_PHY_DX8SL3PLLCR0_RLOCKM_SHIFT 
#undef DDR_PHY_DX8SL3PLLCR0_RLOCKM_MASK 
#define DDR_PHY_DX8SL3PLLCR0_RLOCKM_DEFVAL                     0x001C0000
#define DDR_PHY_DX8SL3PLLCR0_RLOCKM_SHIFT                      23
#define DDR_PHY_DX8SL3PLLCR0_RLOCKM_MASK                       0x00800000U

/*
* Charge Pump Proportional Current Control
*/
#undef DDR_PHY_DX8SL3PLLCR0_CPPC_DEFVAL 
#undef DDR_PHY_DX8SL3PLLCR0_CPPC_SHIFT 
#undef DDR_PHY_DX8SL3PLLCR0_CPPC_MASK 
#define DDR_PHY_DX8SL3PLLCR0_CPPC_DEFVAL                       0x001C0000
#define DDR_PHY_DX8SL3PLLCR0_CPPC_SHIFT                        17
#define DDR_PHY_DX8SL3PLLCR0_CPPC_MASK                         0x007E0000U

/*
* Charge Pump Integrating Current Control
*/
#undef DDR_PHY_DX8SL3PLLCR0_CPIC_DEFVAL 
#undef DDR_PHY_DX8SL3PLLCR0_CPIC_SHIFT 
#undef DDR_PHY_DX8SL3PLLCR0_CPIC_MASK 
#define DDR_PHY_DX8SL3PLLCR0_CPIC_DEFVAL                       0x001C0000
#define DDR_PHY_DX8SL3PLLCR0_CPIC_SHIFT                        13
#define DDR_PHY_DX8SL3PLLCR0_CPIC_MASK                         0x0001E000U

/*
* Gear Shift
*/
#undef DDR_PHY_DX8SL3PLLCR0_GSHIFT_DEFVAL 
#undef DDR_PHY_DX8SL3PLLCR0_GSHIFT_SHIFT 
#undef DDR_PHY_DX8SL3PLLCR0_GSHIFT_MASK 
#define DDR_PHY_DX8SL3PLLCR0_GSHIFT_DEFVAL                     0x001C0000
#define DDR_PHY_DX8SL3PLLCR0_GSHIFT_SHIFT                      12
#define DDR_PHY_DX8SL3PLLCR0_GSHIFT_MASK                       0x00001000U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_DX8SL3PLLCR0_RESERVED_11_9_DEFVAL 
#undef DDR_PHY_DX8SL3PLLCR0_RESERVED_11_9_SHIFT 
#undef DDR_PHY_DX8SL3PLLCR0_RESERVED_11_9_MASK 
#define DDR_PHY_DX8SL3PLLCR0_RESERVED_11_9_DEFVAL              0x001C0000
#define DDR_PHY_DX8SL3PLLCR0_RESERVED_11_9_SHIFT               9
#define DDR_PHY_DX8SL3PLLCR0_RESERVED_11_9_MASK                0x00000E00U

/*
* Analog Test Enable (ATOEN)
*/
#undef DDR_PHY_DX8SL3PLLCR0_ATOEN_DEFVAL 
#undef DDR_PHY_DX8SL3PLLCR0_ATOEN_SHIFT 
#undef DDR_PHY_DX8SL3PLLCR0_ATOEN_MASK 
#define DDR_PHY_DX8SL3PLLCR0_ATOEN_DEFVAL                      0x001C0000
#define DDR_PHY_DX8SL3PLLCR0_ATOEN_SHIFT                       8
#define DDR_PHY_DX8SL3PLLCR0_ATOEN_MASK                        0x00000100U

/*
* Analog Test Control
*/
#undef DDR_PHY_DX8SL3PLLCR0_ATC_DEFVAL 
#undef DDR_PHY_DX8SL3PLLCR0_ATC_SHIFT 
#undef DDR_PHY_DX8SL3PLLCR0_ATC_MASK 
#define DDR_PHY_DX8SL3PLLCR0_ATC_DEFVAL                        0x001C0000
#define DDR_PHY_DX8SL3PLLCR0_ATC_SHIFT                         4
#define DDR_PHY_DX8SL3PLLCR0_ATC_MASK                          0x000000F0U

/*
* Digital Test Control
*/
#undef DDR_PHY_DX8SL3PLLCR0_DTC_DEFVAL 
#undef DDR_PHY_DX8SL3PLLCR0_DTC_SHIFT 
#undef DDR_PHY_DX8SL3PLLCR0_DTC_MASK 
#define DDR_PHY_DX8SL3PLLCR0_DTC_DEFVAL                        0x001C0000
#define DDR_PHY_DX8SL3PLLCR0_DTC_SHIFT                         0
#define DDR_PHY_DX8SL3PLLCR0_DTC_MASK                          0x0000000FU

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_DX8SL3DQSCTL_RESERVED_31_25_DEFVAL 
#undef DDR_PHY_DX8SL3DQSCTL_RESERVED_31_25_SHIFT 
#undef DDR_PHY_DX8SL3DQSCTL_RESERVED_31_25_MASK 
#define DDR_PHY_DX8SL3DQSCTL_RESERVED_31_25_DEFVAL             0x01264000
#define DDR_PHY_DX8SL3DQSCTL_RESERVED_31_25_SHIFT              25
#define DDR_PHY_DX8SL3DQSCTL_RESERVED_31_25_MASK               0xFE000000U

/*
* Read Path Rise-to-Rise Mode
*/
#undef DDR_PHY_DX8SL3DQSCTL_RRRMODE_DEFVAL 
#undef DDR_PHY_DX8SL3DQSCTL_RRRMODE_SHIFT 
#undef DDR_PHY_DX8SL3DQSCTL_RRRMODE_MASK 
#define DDR_PHY_DX8SL3DQSCTL_RRRMODE_DEFVAL                    0x01264000
#define DDR_PHY_DX8SL3DQSCTL_RRRMODE_SHIFT                     24
#define DDR_PHY_DX8SL3DQSCTL_RRRMODE_MASK                      0x01000000U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_DX8SL3DQSCTL_RESERVED_23_22_DEFVAL 
#undef DDR_PHY_DX8SL3DQSCTL_RESERVED_23_22_SHIFT 
#undef DDR_PHY_DX8SL3DQSCTL_RESERVED_23_22_MASK 
#define DDR_PHY_DX8SL3DQSCTL_RESERVED_23_22_DEFVAL             0x01264000
#define DDR_PHY_DX8SL3DQSCTL_RESERVED_23_22_SHIFT              22
#define DDR_PHY_DX8SL3DQSCTL_RESERVED_23_22_MASK               0x00C00000U

/*
* Write Path Rise-to-Rise Mode
*/
#undef DDR_PHY_DX8SL3DQSCTL_WRRMODE_DEFVAL 
#undef DDR_PHY_DX8SL3DQSCTL_WRRMODE_SHIFT 
#undef DDR_PHY_DX8SL3DQSCTL_WRRMODE_MASK 
#define DDR_PHY_DX8SL3DQSCTL_WRRMODE_DEFVAL                    0x01264000
#define DDR_PHY_DX8SL3DQSCTL_WRRMODE_SHIFT                     21
#define DDR_PHY_DX8SL3DQSCTL_WRRMODE_MASK                      0x00200000U

/*
* DQS Gate Extension
*/
#undef DDR_PHY_DX8SL3DQSCTL_DQSGX_DEFVAL 
#undef DDR_PHY_DX8SL3DQSCTL_DQSGX_SHIFT 
#undef DDR_PHY_DX8SL3DQSCTL_DQSGX_MASK 
#define DDR_PHY_DX8SL3DQSCTL_DQSGX_DEFVAL                      0x01264000
#define DDR_PHY_DX8SL3DQSCTL_DQSGX_SHIFT                       19
#define DDR_PHY_DX8SL3DQSCTL_DQSGX_MASK                        0x00180000U

/*
* Low Power PLL Power Down
*/
#undef DDR_PHY_DX8SL3DQSCTL_LPPLLPD_DEFVAL 
#undef DDR_PHY_DX8SL3DQSCTL_LPPLLPD_SHIFT 
#undef DDR_PHY_DX8SL3DQSCTL_LPPLLPD_MASK 
#define DDR_PHY_DX8SL3DQSCTL_LPPLLPD_DEFVAL                    0x01264000
#define DDR_PHY_DX8SL3DQSCTL_LPPLLPD_SHIFT                     18
#define DDR_PHY_DX8SL3DQSCTL_LPPLLPD_MASK                      0x00040000U

/*
* Low Power I/O Power Down
*/
#undef DDR_PHY_DX8SL3DQSCTL_LPIOPD_DEFVAL 
#undef DDR_PHY_DX8SL3DQSCTL_LPIOPD_SHIFT 
#undef DDR_PHY_DX8SL3DQSCTL_LPIOPD_MASK 
#define DDR_PHY_DX8SL3DQSCTL_LPIOPD_DEFVAL                     0x01264000
#define DDR_PHY_DX8SL3DQSCTL_LPIOPD_SHIFT                      17
#define DDR_PHY_DX8SL3DQSCTL_LPIOPD_MASK                       0x00020000U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_DX8SL3DQSCTL_RESERVED_16_15_DEFVAL 
#undef DDR_PHY_DX8SL3DQSCTL_RESERVED_16_15_SHIFT 
#undef DDR_PHY_DX8SL3DQSCTL_RESERVED_16_15_MASK 
#define DDR_PHY_DX8SL3DQSCTL_RESERVED_16_15_DEFVAL             0x01264000
#define DDR_PHY_DX8SL3DQSCTL_RESERVED_16_15_SHIFT              15
#define DDR_PHY_DX8SL3DQSCTL_RESERVED_16_15_MASK               0x00018000U

/*
* QS Counter Enable
*/
#undef DDR_PHY_DX8SL3DQSCTL_QSCNTEN_DEFVAL 
#undef DDR_PHY_DX8SL3DQSCTL_QSCNTEN_SHIFT 
#undef DDR_PHY_DX8SL3DQSCTL_QSCNTEN_MASK 
#define DDR_PHY_DX8SL3DQSCTL_QSCNTEN_DEFVAL                    0x01264000
#define DDR_PHY_DX8SL3DQSCTL_QSCNTEN_SHIFT                     14
#define DDR_PHY_DX8SL3DQSCTL_QSCNTEN_MASK                      0x00004000U

/*
* Unused DQ I/O Mode
*/
#undef DDR_PHY_DX8SL3DQSCTL_UDQIOM_DEFVAL 
#undef DDR_PHY_DX8SL3DQSCTL_UDQIOM_SHIFT 
#undef DDR_PHY_DX8SL3DQSCTL_UDQIOM_MASK 
#define DDR_PHY_DX8SL3DQSCTL_UDQIOM_DEFVAL                     0x01264000
#define DDR_PHY_DX8SL3DQSCTL_UDQIOM_SHIFT                      13
#define DDR_PHY_DX8SL3DQSCTL_UDQIOM_MASK                       0x00002000U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_DX8SL3DQSCTL_RESERVED_12_10_DEFVAL 
#undef DDR_PHY_DX8SL3DQSCTL_RESERVED_12_10_SHIFT 
#undef DDR_PHY_DX8SL3DQSCTL_RESERVED_12_10_MASK 
#define DDR_PHY_DX8SL3DQSCTL_RESERVED_12_10_DEFVAL             0x01264000
#define DDR_PHY_DX8SL3DQSCTL_RESERVED_12_10_SHIFT              10
#define DDR_PHY_DX8SL3DQSCTL_RESERVED_12_10_MASK               0x00001C00U

/*
* Data Slew Rate
*/
#undef DDR_PHY_DX8SL3DQSCTL_DXSR_DEFVAL 
#undef DDR_PHY_DX8SL3DQSCTL_DXSR_SHIFT 
#undef DDR_PHY_DX8SL3DQSCTL_DXSR_MASK 
#define DDR_PHY_DX8SL3DQSCTL_DXSR_DEFVAL                       0x01264000
#define DDR_PHY_DX8SL3DQSCTL_DXSR_SHIFT                        8
#define DDR_PHY_DX8SL3DQSCTL_DXSR_MASK                         0x00000300U

/*
* DQS_N Resistor
*/
#undef DDR_PHY_DX8SL3DQSCTL_DQSNRES_DEFVAL 
#undef DDR_PHY_DX8SL3DQSCTL_DQSNRES_SHIFT 
#undef DDR_PHY_DX8SL3DQSCTL_DQSNRES_MASK 
#define DDR_PHY_DX8SL3DQSCTL_DQSNRES_DEFVAL                    0x01264000
#define DDR_PHY_DX8SL3DQSCTL_DQSNRES_SHIFT                     4
#define DDR_PHY_DX8SL3DQSCTL_DQSNRES_MASK                      0x000000F0U

/*
* DQS Resistor
*/
#undef DDR_PHY_DX8SL3DQSCTL_DQSRES_DEFVAL 
#undef DDR_PHY_DX8SL3DQSCTL_DQSRES_SHIFT 
#undef DDR_PHY_DX8SL3DQSCTL_DQSRES_MASK 
#define DDR_PHY_DX8SL3DQSCTL_DQSRES_DEFVAL                     0x01264000
#define DDR_PHY_DX8SL3DQSCTL_DQSRES_SHIFT                      0
#define DDR_PHY_DX8SL3DQSCTL_DQSRES_MASK                       0x0000000FU

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_DX8SL3DXCTL2_RESERVED_31_24_DEFVAL 
#undef DDR_PHY_DX8SL3DXCTL2_RESERVED_31_24_SHIFT 
#undef DDR_PHY_DX8SL3DXCTL2_RESERVED_31_24_MASK 
#define DDR_PHY_DX8SL3DXCTL2_RESERVED_31_24_DEFVAL             0x00141800
#define DDR_PHY_DX8SL3DXCTL2_RESERVED_31_24_SHIFT              24
#define DDR_PHY_DX8SL3DXCTL2_RESERVED_31_24_MASK               0xFF000000U

/*
* Configurable Read Data Enable
*/
#undef DDR_PHY_DX8SL3DXCTL2_CRDEN_DEFVAL 
#undef DDR_PHY_DX8SL3DXCTL2_CRDEN_SHIFT 
#undef DDR_PHY_DX8SL3DXCTL2_CRDEN_MASK 
#define DDR_PHY_DX8SL3DXCTL2_CRDEN_DEFVAL                      0x00141800
#define DDR_PHY_DX8SL3DXCTL2_CRDEN_SHIFT                       23
#define DDR_PHY_DX8SL3DXCTL2_CRDEN_MASK                        0x00800000U

/*
* OX Extension during Post-amble
*/
#undef DDR_PHY_DX8SL3DXCTL2_POSOEX_DEFVAL 
#undef DDR_PHY_DX8SL3DXCTL2_POSOEX_SHIFT 
#undef DDR_PHY_DX8SL3DXCTL2_POSOEX_MASK 
#define DDR_PHY_DX8SL3DXCTL2_POSOEX_DEFVAL                     0x00141800
#define DDR_PHY_DX8SL3DXCTL2_POSOEX_SHIFT                      20
#define DDR_PHY_DX8SL3DXCTL2_POSOEX_MASK                       0x00700000U

/*
* OE Extension during Pre-amble
*/
#undef DDR_PHY_DX8SL3DXCTL2_PREOEX_DEFVAL 
#undef DDR_PHY_DX8SL3DXCTL2_PREOEX_SHIFT 
#undef DDR_PHY_DX8SL3DXCTL2_PREOEX_MASK 
#define DDR_PHY_DX8SL3DXCTL2_PREOEX_DEFVAL                     0x00141800
#define DDR_PHY_DX8SL3DXCTL2_PREOEX_SHIFT                      18
#define DDR_PHY_DX8SL3DXCTL2_PREOEX_MASK                       0x000C0000U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_DX8SL3DXCTL2_RESERVED_17_DEFVAL 
#undef DDR_PHY_DX8SL3DXCTL2_RESERVED_17_SHIFT 
#undef DDR_PHY_DX8SL3DXCTL2_RESERVED_17_MASK 
#define DDR_PHY_DX8SL3DXCTL2_RESERVED_17_DEFVAL                0x00141800
#define DDR_PHY_DX8SL3DXCTL2_RESERVED_17_SHIFT                 17
#define DDR_PHY_DX8SL3DXCTL2_RESERVED_17_MASK                  0x00020000U

/*
* I/O Assisted Gate Select
*/
#undef DDR_PHY_DX8SL3DXCTL2_IOAG_DEFVAL 
#undef DDR_PHY_DX8SL3DXCTL2_IOAG_SHIFT 
#undef DDR_PHY_DX8SL3DXCTL2_IOAG_MASK 
#define DDR_PHY_DX8SL3DXCTL2_IOAG_DEFVAL                       0x00141800
#define DDR_PHY_DX8SL3DXCTL2_IOAG_SHIFT                        16
#define DDR_PHY_DX8SL3DXCTL2_IOAG_MASK                         0x00010000U

/*
* I/O Loopback Select
*/
#undef DDR_PHY_DX8SL3DXCTL2_IOLB_DEFVAL 
#undef DDR_PHY_DX8SL3DXCTL2_IOLB_SHIFT 
#undef DDR_PHY_DX8SL3DXCTL2_IOLB_MASK 
#define DDR_PHY_DX8SL3DXCTL2_IOLB_DEFVAL                       0x00141800
#define DDR_PHY_DX8SL3DXCTL2_IOLB_SHIFT                        15
#define DDR_PHY_DX8SL3DXCTL2_IOLB_MASK                         0x00008000U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_DX8SL3DXCTL2_RESERVED_14_13_DEFVAL 
#undef DDR_PHY_DX8SL3DXCTL2_RESERVED_14_13_SHIFT 
#undef DDR_PHY_DX8SL3DXCTL2_RESERVED_14_13_MASK 
#define DDR_PHY_DX8SL3DXCTL2_RESERVED_14_13_DEFVAL             0x00141800
#define DDR_PHY_DX8SL3DXCTL2_RESERVED_14_13_SHIFT              13
#define DDR_PHY_DX8SL3DXCTL2_RESERVED_14_13_MASK               0x00006000U

/*
* Low Power Wakeup Threshold
*/
#undef DDR_PHY_DX8SL3DXCTL2_LPWAKEUP_THRSH_DEFVAL 
#undef DDR_PHY_DX8SL3DXCTL2_LPWAKEUP_THRSH_SHIFT 
#undef DDR_PHY_DX8SL3DXCTL2_LPWAKEUP_THRSH_MASK 
#define DDR_PHY_DX8SL3DXCTL2_LPWAKEUP_THRSH_DEFVAL             0x00141800
#define DDR_PHY_DX8SL3DXCTL2_LPWAKEUP_THRSH_SHIFT              9
#define DDR_PHY_DX8SL3DXCTL2_LPWAKEUP_THRSH_MASK               0x00001E00U

/*
* Read Data Bus Inversion Enable
*/
#undef DDR_PHY_DX8SL3DXCTL2_RDBI_DEFVAL 
#undef DDR_PHY_DX8SL3DXCTL2_RDBI_SHIFT 
#undef DDR_PHY_DX8SL3DXCTL2_RDBI_MASK 
#define DDR_PHY_DX8SL3DXCTL2_RDBI_DEFVAL                       0x00141800
#define DDR_PHY_DX8SL3DXCTL2_RDBI_SHIFT                        8
#define DDR_PHY_DX8SL3DXCTL2_RDBI_MASK                         0x00000100U

/*
* Write Data Bus Inversion Enable
*/
#undef DDR_PHY_DX8SL3DXCTL2_WDBI_DEFVAL 
#undef DDR_PHY_DX8SL3DXCTL2_WDBI_SHIFT 
#undef DDR_PHY_DX8SL3DXCTL2_WDBI_MASK 
#define DDR_PHY_DX8SL3DXCTL2_WDBI_DEFVAL                       0x00141800
#define DDR_PHY_DX8SL3DXCTL2_WDBI_SHIFT                        7
#define DDR_PHY_DX8SL3DXCTL2_WDBI_MASK                         0x00000080U

/*
* PUB Read FIFO Bypass
*/
#undef DDR_PHY_DX8SL3DXCTL2_PRFBYP_DEFVAL 
#undef DDR_PHY_DX8SL3DXCTL2_PRFBYP_SHIFT 
#undef DDR_PHY_DX8SL3DXCTL2_PRFBYP_MASK 
#define DDR_PHY_DX8SL3DXCTL2_PRFBYP_DEFVAL                     0x00141800
#define DDR_PHY_DX8SL3DXCTL2_PRFBYP_SHIFT                      6
#define DDR_PHY_DX8SL3DXCTL2_PRFBYP_MASK                       0x00000040U

/*
* DATX8 Receive FIFO Read Mode
*/
#undef DDR_PHY_DX8SL3DXCTL2_RDMODE_DEFVAL 
#undef DDR_PHY_DX8SL3DXCTL2_RDMODE_SHIFT 
#undef DDR_PHY_DX8SL3DXCTL2_RDMODE_MASK 
#define DDR_PHY_DX8SL3DXCTL2_RDMODE_DEFVAL                     0x00141800
#define DDR_PHY_DX8SL3DXCTL2_RDMODE_SHIFT                      4
#define DDR_PHY_DX8SL3DXCTL2_RDMODE_MASK                       0x00000030U

/*
* Disables the Read FIFO Reset
*/
#undef DDR_PHY_DX8SL3DXCTL2_DISRST_DEFVAL 
#undef DDR_PHY_DX8SL3DXCTL2_DISRST_SHIFT 
#undef DDR_PHY_DX8SL3DXCTL2_DISRST_MASK 
#define DDR_PHY_DX8SL3DXCTL2_DISRST_DEFVAL                     0x00141800
#define DDR_PHY_DX8SL3DXCTL2_DISRST_SHIFT                      3
#define DDR_PHY_DX8SL3DXCTL2_DISRST_MASK                       0x00000008U

/*
* Read DQS Gate I/O Loopback
*/
#undef DDR_PHY_DX8SL3DXCTL2_DQSGLB_DEFVAL 
#undef DDR_PHY_DX8SL3DXCTL2_DQSGLB_SHIFT 
#undef DDR_PHY_DX8SL3DXCTL2_DQSGLB_MASK 
#define DDR_PHY_DX8SL3DXCTL2_DQSGLB_DEFVAL                     0x00141800
#define DDR_PHY_DX8SL3DXCTL2_DQSGLB_SHIFT                      1
#define DDR_PHY_DX8SL3DXCTL2_DQSGLB_MASK                       0x00000006U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_DX8SL3DXCTL2_RESERVED_0_DEFVAL 
#undef DDR_PHY_DX8SL3DXCTL2_RESERVED_0_SHIFT 
#undef DDR_PHY_DX8SL3DXCTL2_RESERVED_0_MASK 
#define DDR_PHY_DX8SL3DXCTL2_RESERVED_0_DEFVAL                 0x00141800
#define DDR_PHY_DX8SL3DXCTL2_RESERVED_0_SHIFT                  0
#define DDR_PHY_DX8SL3DXCTL2_RESERVED_0_MASK                   0x00000001U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_DX8SL3IOCR_RESERVED_31_DEFVAL 
#undef DDR_PHY_DX8SL3IOCR_RESERVED_31_SHIFT 
#undef DDR_PHY_DX8SL3IOCR_RESERVED_31_MASK 
#define DDR_PHY_DX8SL3IOCR_RESERVED_31_DEFVAL                  0x00000000
#define DDR_PHY_DX8SL3IOCR_RESERVED_31_SHIFT                   31
#define DDR_PHY_DX8SL3IOCR_RESERVED_31_MASK                    0x80000000U

/*
* PVREF_DAC REFSEL range select
*/
#undef DDR_PHY_DX8SL3IOCR_DXDACRANGE_DEFVAL 
#undef DDR_PHY_DX8SL3IOCR_DXDACRANGE_SHIFT 
#undef DDR_PHY_DX8SL3IOCR_DXDACRANGE_MASK 
#define DDR_PHY_DX8SL3IOCR_DXDACRANGE_DEFVAL                   0x00000000
#define DDR_PHY_DX8SL3IOCR_DXDACRANGE_SHIFT                    28
#define DDR_PHY_DX8SL3IOCR_DXDACRANGE_MASK                     0x70000000U

/*
* IOM bits for PVREF, PVREF_DAC and PVREFE cells in DX IO ring
*/
#undef DDR_PHY_DX8SL3IOCR_DXVREFIOM_DEFVAL 
#undef DDR_PHY_DX8SL3IOCR_DXVREFIOM_SHIFT 
#undef DDR_PHY_DX8SL3IOCR_DXVREFIOM_MASK 
#define DDR_PHY_DX8SL3IOCR_DXVREFIOM_DEFVAL                    0x00000000
#define DDR_PHY_DX8SL3IOCR_DXVREFIOM_SHIFT                     25
#define DDR_PHY_DX8SL3IOCR_DXVREFIOM_MASK                      0x0E000000U

/*
* DX IO Mode
*/
#undef DDR_PHY_DX8SL3IOCR_DXIOM_DEFVAL 
#undef DDR_PHY_DX8SL3IOCR_DXIOM_SHIFT 
#undef DDR_PHY_DX8SL3IOCR_DXIOM_MASK 
#define DDR_PHY_DX8SL3IOCR_DXIOM_DEFVAL                        0x00000000
#define DDR_PHY_DX8SL3IOCR_DXIOM_SHIFT                         22
#define DDR_PHY_DX8SL3IOCR_DXIOM_MASK                          0x01C00000U

/*
* DX IO Transmitter Mode
*/
#undef DDR_PHY_DX8SL3IOCR_DXTXM_DEFVAL 
#undef DDR_PHY_DX8SL3IOCR_DXTXM_SHIFT 
#undef DDR_PHY_DX8SL3IOCR_DXTXM_MASK 
#define DDR_PHY_DX8SL3IOCR_DXTXM_DEFVAL                        0x00000000
#define DDR_PHY_DX8SL3IOCR_DXTXM_SHIFT                         11
#define DDR_PHY_DX8SL3IOCR_DXTXM_MASK                          0x003FF800U

/*
* DX IO Receiver Mode
*/
#undef DDR_PHY_DX8SL3IOCR_DXRXM_DEFVAL 
#undef DDR_PHY_DX8SL3IOCR_DXRXM_SHIFT 
#undef DDR_PHY_DX8SL3IOCR_DXRXM_MASK 
#define DDR_PHY_DX8SL3IOCR_DXRXM_DEFVAL                        0x00000000
#define DDR_PHY_DX8SL3IOCR_DXRXM_SHIFT                         0
#define DDR_PHY_DX8SL3IOCR_DXRXM_MASK                          0x000007FFU

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_DX8SL4OSC_RESERVED_31_30_DEFVAL 
#undef DDR_PHY_DX8SL4OSC_RESERVED_31_30_SHIFT 
#undef DDR_PHY_DX8SL4OSC_RESERVED_31_30_MASK 
#define DDR_PHY_DX8SL4OSC_RESERVED_31_30_DEFVAL                0x00019FFE
#define DDR_PHY_DX8SL4OSC_RESERVED_31_30_SHIFT                 30
#define DDR_PHY_DX8SL4OSC_RESERVED_31_30_MASK                  0xC0000000U

/*
* Enable Clock Gating for DX ddr_clk
*/
#undef DDR_PHY_DX8SL4OSC_GATEDXRDCLK_DEFVAL 
#undef DDR_PHY_DX8SL4OSC_GATEDXRDCLK_SHIFT 
#undef DDR_PHY_DX8SL4OSC_GATEDXRDCLK_MASK 
#define DDR_PHY_DX8SL4OSC_GATEDXRDCLK_DEFVAL                   0x00019FFE
#define DDR_PHY_DX8SL4OSC_GATEDXRDCLK_SHIFT                    28
#define DDR_PHY_DX8SL4OSC_GATEDXRDCLK_MASK                     0x30000000U

/*
* Enable Clock Gating for DX ctl_rd_clk
*/
#undef DDR_PHY_DX8SL4OSC_GATEDXDDRCLK_DEFVAL 
#undef DDR_PHY_DX8SL4OSC_GATEDXDDRCLK_SHIFT 
#undef DDR_PHY_DX8SL4OSC_GATEDXDDRCLK_MASK 
#define DDR_PHY_DX8SL4OSC_GATEDXDDRCLK_DEFVAL                  0x00019FFE
#define DDR_PHY_DX8SL4OSC_GATEDXDDRCLK_SHIFT                   26
#define DDR_PHY_DX8SL4OSC_GATEDXDDRCLK_MASK                    0x0C000000U

/*
* Enable Clock Gating for DX ctl_clk
*/
#undef DDR_PHY_DX8SL4OSC_GATEDXCTLCLK_DEFVAL 
#undef DDR_PHY_DX8SL4OSC_GATEDXCTLCLK_SHIFT 
#undef DDR_PHY_DX8SL4OSC_GATEDXCTLCLK_MASK 
#define DDR_PHY_DX8SL4OSC_GATEDXCTLCLK_DEFVAL                  0x00019FFE
#define DDR_PHY_DX8SL4OSC_GATEDXCTLCLK_SHIFT                   24
#define DDR_PHY_DX8SL4OSC_GATEDXCTLCLK_MASK                    0x03000000U

/*
* Selects the level to which clocks will be stalled when clock gating is e
    * nabled.
*/
#undef DDR_PHY_DX8SL4OSC_CLKLEVEL_DEFVAL 
#undef DDR_PHY_DX8SL4OSC_CLKLEVEL_SHIFT 
#undef DDR_PHY_DX8SL4OSC_CLKLEVEL_MASK 
#define DDR_PHY_DX8SL4OSC_CLKLEVEL_DEFVAL                      0x00019FFE
#define DDR_PHY_DX8SL4OSC_CLKLEVEL_SHIFT                       22
#define DDR_PHY_DX8SL4OSC_CLKLEVEL_MASK                        0x00C00000U

/*
* Loopback Mode
*/
#undef DDR_PHY_DX8SL4OSC_LBMODE_DEFVAL 
#undef DDR_PHY_DX8SL4OSC_LBMODE_SHIFT 
#undef DDR_PHY_DX8SL4OSC_LBMODE_MASK 
#define DDR_PHY_DX8SL4OSC_LBMODE_DEFVAL                        0x00019FFE
#define DDR_PHY_DX8SL4OSC_LBMODE_SHIFT                         21
#define DDR_PHY_DX8SL4OSC_LBMODE_MASK                          0x00200000U

/*
* Load GSDQS LCDL with 2x the calibrated GSDQSPRD value
*/
#undef DDR_PHY_DX8SL4OSC_LBGSDQS_DEFVAL 
#undef DDR_PHY_DX8SL4OSC_LBGSDQS_SHIFT 
#undef DDR_PHY_DX8SL4OSC_LBGSDQS_MASK 
#define DDR_PHY_DX8SL4OSC_LBGSDQS_DEFVAL                       0x00019FFE
#define DDR_PHY_DX8SL4OSC_LBGSDQS_SHIFT                        20
#define DDR_PHY_DX8SL4OSC_LBGSDQS_MASK                         0x00100000U

/*
* Loopback DQS Gating
*/
#undef DDR_PHY_DX8SL4OSC_LBGDQS_DEFVAL 
#undef DDR_PHY_DX8SL4OSC_LBGDQS_SHIFT 
#undef DDR_PHY_DX8SL4OSC_LBGDQS_MASK 
#define DDR_PHY_DX8SL4OSC_LBGDQS_DEFVAL                        0x00019FFE
#define DDR_PHY_DX8SL4OSC_LBGDQS_SHIFT                         18
#define DDR_PHY_DX8SL4OSC_LBGDQS_MASK                          0x000C0000U

/*
* Loopback DQS Shift
*/
#undef DDR_PHY_DX8SL4OSC_LBDQSS_DEFVAL 
#undef DDR_PHY_DX8SL4OSC_LBDQSS_SHIFT 
#undef DDR_PHY_DX8SL4OSC_LBDQSS_MASK 
#define DDR_PHY_DX8SL4OSC_LBDQSS_DEFVAL                        0x00019FFE
#define DDR_PHY_DX8SL4OSC_LBDQSS_SHIFT                         17
#define DDR_PHY_DX8SL4OSC_LBDQSS_MASK                          0x00020000U

/*
* PHY High-Speed Reset
*/
#undef DDR_PHY_DX8SL4OSC_PHYHRST_DEFVAL 
#undef DDR_PHY_DX8SL4OSC_PHYHRST_SHIFT 
#undef DDR_PHY_DX8SL4OSC_PHYHRST_MASK 
#define DDR_PHY_DX8SL4OSC_PHYHRST_DEFVAL                       0x00019FFE
#define DDR_PHY_DX8SL4OSC_PHYHRST_SHIFT                        16
#define DDR_PHY_DX8SL4OSC_PHYHRST_MASK                         0x00010000U

/*
* PHY FIFO Reset
*/
#undef DDR_PHY_DX8SL4OSC_PHYFRST_DEFVAL 
#undef DDR_PHY_DX8SL4OSC_PHYFRST_SHIFT 
#undef DDR_PHY_DX8SL4OSC_PHYFRST_MASK 
#define DDR_PHY_DX8SL4OSC_PHYFRST_DEFVAL                       0x00019FFE
#define DDR_PHY_DX8SL4OSC_PHYFRST_SHIFT                        15
#define DDR_PHY_DX8SL4OSC_PHYFRST_MASK                         0x00008000U

/*
* Delay Line Test Start
*/
#undef DDR_PHY_DX8SL4OSC_DLTST_DEFVAL 
#undef DDR_PHY_DX8SL4OSC_DLTST_SHIFT 
#undef DDR_PHY_DX8SL4OSC_DLTST_MASK 
#define DDR_PHY_DX8SL4OSC_DLTST_DEFVAL                         0x00019FFE
#define DDR_PHY_DX8SL4OSC_DLTST_SHIFT                          14
#define DDR_PHY_DX8SL4OSC_DLTST_MASK                           0x00004000U

/*
* Delay Line Test Mode
*/
#undef DDR_PHY_DX8SL4OSC_DLTMODE_DEFVAL 
#undef DDR_PHY_DX8SL4OSC_DLTMODE_SHIFT 
#undef DDR_PHY_DX8SL4OSC_DLTMODE_MASK 
#define DDR_PHY_DX8SL4OSC_DLTMODE_DEFVAL                       0x00019FFE
#define DDR_PHY_DX8SL4OSC_DLTMODE_SHIFT                        13
#define DDR_PHY_DX8SL4OSC_DLTMODE_MASK                         0x00002000U

/*
* Reserved. Caution, do not write to this register field.
*/
#undef DDR_PHY_DX8SL4OSC_RESERVED_12_11_DEFVAL 
#undef DDR_PHY_DX8SL4OSC_RESERVED_12_11_SHIFT 
#undef DDR_PHY_DX8SL4OSC_RESERVED_12_11_MASK 
#define DDR_PHY_DX8SL4OSC_RESERVED_12_11_DEFVAL                0x00019FFE
#define DDR_PHY_DX8SL4OSC_RESERVED_12_11_SHIFT                 11
#define DDR_PHY_DX8SL4OSC_RESERVED_12_11_MASK                  0x00001800U

/*
* Oscillator Mode Write-Data Delay Line Select
*/
#undef DDR_PHY_DX8SL4OSC_OSCWDDL_DEFVAL 
#undef DDR_PHY_DX8SL4OSC_OSCWDDL_SHIFT 
#undef DDR_PHY_DX8SL4OSC_OSCWDDL_MASK 
#define DDR_PHY_DX8SL4OSC_OSCWDDL_DEFVAL                       0x00019FFE
#define DDR_PHY_DX8SL4OSC_OSCWDDL_SHIFT                        9
#define DDR_PHY_DX8SL4OSC_OSCWDDL_MASK                         0x00000600U

/*
* Reserved. Caution, do not write to this register field.
*/
#undef DDR_PHY_DX8SL4OSC_RESERVED_8_7_DEFVAL 
#undef DDR_PHY_DX8SL4OSC_RESERVED_8_7_SHIFT 
#undef DDR_PHY_DX8SL4OSC_RESERVED_8_7_MASK 
#define DDR_PHY_DX8SL4OSC_RESERVED_8_7_DEFVAL                  0x00019FFE
#define DDR_PHY_DX8SL4OSC_RESERVED_8_7_SHIFT                   7
#define DDR_PHY_DX8SL4OSC_RESERVED_8_7_MASK                    0x00000180U

/*
* Oscillator Mode Write-Leveling Delay Line Select
*/
#undef DDR_PHY_DX8SL4OSC_OSCWDL_DEFVAL 
#undef DDR_PHY_DX8SL4OSC_OSCWDL_SHIFT 
#undef DDR_PHY_DX8SL4OSC_OSCWDL_MASK 
#define DDR_PHY_DX8SL4OSC_OSCWDL_DEFVAL                        0x00019FFE
#define DDR_PHY_DX8SL4OSC_OSCWDL_SHIFT                         5
#define DDR_PHY_DX8SL4OSC_OSCWDL_MASK                          0x00000060U

/*
* Oscillator Mode Division
*/
#undef DDR_PHY_DX8SL4OSC_OSCDIV_DEFVAL 
#undef DDR_PHY_DX8SL4OSC_OSCDIV_SHIFT 
#undef DDR_PHY_DX8SL4OSC_OSCDIV_MASK 
#define DDR_PHY_DX8SL4OSC_OSCDIV_DEFVAL                        0x00019FFE
#define DDR_PHY_DX8SL4OSC_OSCDIV_SHIFT                         1
#define DDR_PHY_DX8SL4OSC_OSCDIV_MASK                          0x0000001EU

/*
* Oscillator Enable
*/
#undef DDR_PHY_DX8SL4OSC_OSCEN_DEFVAL 
#undef DDR_PHY_DX8SL4OSC_OSCEN_SHIFT 
#undef DDR_PHY_DX8SL4OSC_OSCEN_MASK 
#define DDR_PHY_DX8SL4OSC_OSCEN_DEFVAL                         0x00019FFE
#define DDR_PHY_DX8SL4OSC_OSCEN_SHIFT                          0
#define DDR_PHY_DX8SL4OSC_OSCEN_MASK                           0x00000001U

/*
* PLL Bypass
*/
#undef DDR_PHY_DX8SL4PLLCR0_PLLBYP_DEFVAL 
#undef DDR_PHY_DX8SL4PLLCR0_PLLBYP_SHIFT 
#undef DDR_PHY_DX8SL4PLLCR0_PLLBYP_MASK 
#define DDR_PHY_DX8SL4PLLCR0_PLLBYP_DEFVAL                     0x001C0000
#define DDR_PHY_DX8SL4PLLCR0_PLLBYP_SHIFT                      31
#define DDR_PHY_DX8SL4PLLCR0_PLLBYP_MASK                       0x80000000U

/*
* PLL Reset
*/
#undef DDR_PHY_DX8SL4PLLCR0_PLLRST_DEFVAL 
#undef DDR_PHY_DX8SL4PLLCR0_PLLRST_SHIFT 
#undef DDR_PHY_DX8SL4PLLCR0_PLLRST_MASK 
#define DDR_PHY_DX8SL4PLLCR0_PLLRST_DEFVAL                     0x001C0000
#define DDR_PHY_DX8SL4PLLCR0_PLLRST_SHIFT                      30
#define DDR_PHY_DX8SL4PLLCR0_PLLRST_MASK                       0x40000000U

/*
* PLL Power Down
*/
#undef DDR_PHY_DX8SL4PLLCR0_PLLPD_DEFVAL 
#undef DDR_PHY_DX8SL4PLLCR0_PLLPD_SHIFT 
#undef DDR_PHY_DX8SL4PLLCR0_PLLPD_MASK 
#define DDR_PHY_DX8SL4PLLCR0_PLLPD_DEFVAL                      0x001C0000
#define DDR_PHY_DX8SL4PLLCR0_PLLPD_SHIFT                       29
#define DDR_PHY_DX8SL4PLLCR0_PLLPD_MASK                        0x20000000U

/*
* Reference Stop Mode
*/
#undef DDR_PHY_DX8SL4PLLCR0_RSTOPM_DEFVAL 
#undef DDR_PHY_DX8SL4PLLCR0_RSTOPM_SHIFT 
#undef DDR_PHY_DX8SL4PLLCR0_RSTOPM_MASK 
#define DDR_PHY_DX8SL4PLLCR0_RSTOPM_DEFVAL                     0x001C0000
#define DDR_PHY_DX8SL4PLLCR0_RSTOPM_SHIFT                      28
#define DDR_PHY_DX8SL4PLLCR0_RSTOPM_MASK                       0x10000000U

/*
* PLL Frequency Select
*/
#undef DDR_PHY_DX8SL4PLLCR0_FRQSEL_DEFVAL 
#undef DDR_PHY_DX8SL4PLLCR0_FRQSEL_SHIFT 
#undef DDR_PHY_DX8SL4PLLCR0_FRQSEL_MASK 
#define DDR_PHY_DX8SL4PLLCR0_FRQSEL_DEFVAL                     0x001C0000
#define DDR_PHY_DX8SL4PLLCR0_FRQSEL_SHIFT                      24
#define DDR_PHY_DX8SL4PLLCR0_FRQSEL_MASK                       0x0F000000U

/*
* Relock Mode
*/
#undef DDR_PHY_DX8SL4PLLCR0_RLOCKM_DEFVAL 
#undef DDR_PHY_DX8SL4PLLCR0_RLOCKM_SHIFT 
#undef DDR_PHY_DX8SL4PLLCR0_RLOCKM_MASK 
#define DDR_PHY_DX8SL4PLLCR0_RLOCKM_DEFVAL                     0x001C0000
#define DDR_PHY_DX8SL4PLLCR0_RLOCKM_SHIFT                      23
#define DDR_PHY_DX8SL4PLLCR0_RLOCKM_MASK                       0x00800000U

/*
* Charge Pump Proportional Current Control
*/
#undef DDR_PHY_DX8SL4PLLCR0_CPPC_DEFVAL 
#undef DDR_PHY_DX8SL4PLLCR0_CPPC_SHIFT 
#undef DDR_PHY_DX8SL4PLLCR0_CPPC_MASK 
#define DDR_PHY_DX8SL4PLLCR0_CPPC_DEFVAL                       0x001C0000
#define DDR_PHY_DX8SL4PLLCR0_CPPC_SHIFT                        17
#define DDR_PHY_DX8SL4PLLCR0_CPPC_MASK                         0x007E0000U

/*
* Charge Pump Integrating Current Control
*/
#undef DDR_PHY_DX8SL4PLLCR0_CPIC_DEFVAL 
#undef DDR_PHY_DX8SL4PLLCR0_CPIC_SHIFT 
#undef DDR_PHY_DX8SL4PLLCR0_CPIC_MASK 
#define DDR_PHY_DX8SL4PLLCR0_CPIC_DEFVAL                       0x001C0000
#define DDR_PHY_DX8SL4PLLCR0_CPIC_SHIFT                        13
#define DDR_PHY_DX8SL4PLLCR0_CPIC_MASK                         0x0001E000U

/*
* Gear Shift
*/
#undef DDR_PHY_DX8SL4PLLCR0_GSHIFT_DEFVAL 
#undef DDR_PHY_DX8SL4PLLCR0_GSHIFT_SHIFT 
#undef DDR_PHY_DX8SL4PLLCR0_GSHIFT_MASK 
#define DDR_PHY_DX8SL4PLLCR0_GSHIFT_DEFVAL                     0x001C0000
#define DDR_PHY_DX8SL4PLLCR0_GSHIFT_SHIFT                      12
#define DDR_PHY_DX8SL4PLLCR0_GSHIFT_MASK                       0x00001000U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_DX8SL4PLLCR0_RESERVED_11_9_DEFVAL 
#undef DDR_PHY_DX8SL4PLLCR0_RESERVED_11_9_SHIFT 
#undef DDR_PHY_DX8SL4PLLCR0_RESERVED_11_9_MASK 
#define DDR_PHY_DX8SL4PLLCR0_RESERVED_11_9_DEFVAL              0x001C0000
#define DDR_PHY_DX8SL4PLLCR0_RESERVED_11_9_SHIFT               9
#define DDR_PHY_DX8SL4PLLCR0_RESERVED_11_9_MASK                0x00000E00U

/*
* Analog Test Enable (ATOEN)
*/
#undef DDR_PHY_DX8SL4PLLCR0_ATOEN_DEFVAL 
#undef DDR_PHY_DX8SL4PLLCR0_ATOEN_SHIFT 
#undef DDR_PHY_DX8SL4PLLCR0_ATOEN_MASK 
#define DDR_PHY_DX8SL4PLLCR0_ATOEN_DEFVAL                      0x001C0000
#define DDR_PHY_DX8SL4PLLCR0_ATOEN_SHIFT                       8
#define DDR_PHY_DX8SL4PLLCR0_ATOEN_MASK                        0x00000100U

/*
* Analog Test Control
*/
#undef DDR_PHY_DX8SL4PLLCR0_ATC_DEFVAL 
#undef DDR_PHY_DX8SL4PLLCR0_ATC_SHIFT 
#undef DDR_PHY_DX8SL4PLLCR0_ATC_MASK 
#define DDR_PHY_DX8SL4PLLCR0_ATC_DEFVAL                        0x001C0000
#define DDR_PHY_DX8SL4PLLCR0_ATC_SHIFT                         4
#define DDR_PHY_DX8SL4PLLCR0_ATC_MASK                          0x000000F0U

/*
* Digital Test Control
*/
#undef DDR_PHY_DX8SL4PLLCR0_DTC_DEFVAL 
#undef DDR_PHY_DX8SL4PLLCR0_DTC_SHIFT 
#undef DDR_PHY_DX8SL4PLLCR0_DTC_MASK 
#define DDR_PHY_DX8SL4PLLCR0_DTC_DEFVAL                        0x001C0000
#define DDR_PHY_DX8SL4PLLCR0_DTC_SHIFT                         0
#define DDR_PHY_DX8SL4PLLCR0_DTC_MASK                          0x0000000FU

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_DX8SL4DQSCTL_RESERVED_31_25_DEFVAL 
#undef DDR_PHY_DX8SL4DQSCTL_RESERVED_31_25_SHIFT 
#undef DDR_PHY_DX8SL4DQSCTL_RESERVED_31_25_MASK 
#define DDR_PHY_DX8SL4DQSCTL_RESERVED_31_25_DEFVAL             0x01264000
#define DDR_PHY_DX8SL4DQSCTL_RESERVED_31_25_SHIFT              25
#define DDR_PHY_DX8SL4DQSCTL_RESERVED_31_25_MASK               0xFE000000U

/*
* Read Path Rise-to-Rise Mode
*/
#undef DDR_PHY_DX8SL4DQSCTL_RRRMODE_DEFVAL 
#undef DDR_PHY_DX8SL4DQSCTL_RRRMODE_SHIFT 
#undef DDR_PHY_DX8SL4DQSCTL_RRRMODE_MASK 
#define DDR_PHY_DX8SL4DQSCTL_RRRMODE_DEFVAL                    0x01264000
#define DDR_PHY_DX8SL4DQSCTL_RRRMODE_SHIFT                     24
#define DDR_PHY_DX8SL4DQSCTL_RRRMODE_MASK                      0x01000000U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_DX8SL4DQSCTL_RESERVED_23_22_DEFVAL 
#undef DDR_PHY_DX8SL4DQSCTL_RESERVED_23_22_SHIFT 
#undef DDR_PHY_DX8SL4DQSCTL_RESERVED_23_22_MASK 
#define DDR_PHY_DX8SL4DQSCTL_RESERVED_23_22_DEFVAL             0x01264000
#define DDR_PHY_DX8SL4DQSCTL_RESERVED_23_22_SHIFT              22
#define DDR_PHY_DX8SL4DQSCTL_RESERVED_23_22_MASK               0x00C00000U

/*
* Write Path Rise-to-Rise Mode
*/
#undef DDR_PHY_DX8SL4DQSCTL_WRRMODE_DEFVAL 
#undef DDR_PHY_DX8SL4DQSCTL_WRRMODE_SHIFT 
#undef DDR_PHY_DX8SL4DQSCTL_WRRMODE_MASK 
#define DDR_PHY_DX8SL4DQSCTL_WRRMODE_DEFVAL                    0x01264000
#define DDR_PHY_DX8SL4DQSCTL_WRRMODE_SHIFT                     21
#define DDR_PHY_DX8SL4DQSCTL_WRRMODE_MASK                      0x00200000U

/*
* DQS Gate Extension
*/
#undef DDR_PHY_DX8SL4DQSCTL_DQSGX_DEFVAL 
#undef DDR_PHY_DX8SL4DQSCTL_DQSGX_SHIFT 
#undef DDR_PHY_DX8SL4DQSCTL_DQSGX_MASK 
#define DDR_PHY_DX8SL4DQSCTL_DQSGX_DEFVAL                      0x01264000
#define DDR_PHY_DX8SL4DQSCTL_DQSGX_SHIFT                       19
#define DDR_PHY_DX8SL4DQSCTL_DQSGX_MASK                        0x00180000U

/*
* Low Power PLL Power Down
*/
#undef DDR_PHY_DX8SL4DQSCTL_LPPLLPD_DEFVAL 
#undef DDR_PHY_DX8SL4DQSCTL_LPPLLPD_SHIFT 
#undef DDR_PHY_DX8SL4DQSCTL_LPPLLPD_MASK 
#define DDR_PHY_DX8SL4DQSCTL_LPPLLPD_DEFVAL                    0x01264000
#define DDR_PHY_DX8SL4DQSCTL_LPPLLPD_SHIFT                     18
#define DDR_PHY_DX8SL4DQSCTL_LPPLLPD_MASK                      0x00040000U

/*
* Low Power I/O Power Down
*/
#undef DDR_PHY_DX8SL4DQSCTL_LPIOPD_DEFVAL 
#undef DDR_PHY_DX8SL4DQSCTL_LPIOPD_SHIFT 
#undef DDR_PHY_DX8SL4DQSCTL_LPIOPD_MASK 
#define DDR_PHY_DX8SL4DQSCTL_LPIOPD_DEFVAL                     0x01264000
#define DDR_PHY_DX8SL4DQSCTL_LPIOPD_SHIFT                      17
#define DDR_PHY_DX8SL4DQSCTL_LPIOPD_MASK                       0x00020000U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_DX8SL4DQSCTL_RESERVED_16_15_DEFVAL 
#undef DDR_PHY_DX8SL4DQSCTL_RESERVED_16_15_SHIFT 
#undef DDR_PHY_DX8SL4DQSCTL_RESERVED_16_15_MASK 
#define DDR_PHY_DX8SL4DQSCTL_RESERVED_16_15_DEFVAL             0x01264000
#define DDR_PHY_DX8SL4DQSCTL_RESERVED_16_15_SHIFT              15
#define DDR_PHY_DX8SL4DQSCTL_RESERVED_16_15_MASK               0x00018000U

/*
* QS Counter Enable
*/
#undef DDR_PHY_DX8SL4DQSCTL_QSCNTEN_DEFVAL 
#undef DDR_PHY_DX8SL4DQSCTL_QSCNTEN_SHIFT 
#undef DDR_PHY_DX8SL4DQSCTL_QSCNTEN_MASK 
#define DDR_PHY_DX8SL4DQSCTL_QSCNTEN_DEFVAL                    0x01264000
#define DDR_PHY_DX8SL4DQSCTL_QSCNTEN_SHIFT                     14
#define DDR_PHY_DX8SL4DQSCTL_QSCNTEN_MASK                      0x00004000U

/*
* Unused DQ I/O Mode
*/
#undef DDR_PHY_DX8SL4DQSCTL_UDQIOM_DEFVAL 
#undef DDR_PHY_DX8SL4DQSCTL_UDQIOM_SHIFT 
#undef DDR_PHY_DX8SL4DQSCTL_UDQIOM_MASK 
#define DDR_PHY_DX8SL4DQSCTL_UDQIOM_DEFVAL                     0x01264000
#define DDR_PHY_DX8SL4DQSCTL_UDQIOM_SHIFT                      13
#define DDR_PHY_DX8SL4DQSCTL_UDQIOM_MASK                       0x00002000U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_DX8SL4DQSCTL_RESERVED_12_10_DEFVAL 
#undef DDR_PHY_DX8SL4DQSCTL_RESERVED_12_10_SHIFT 
#undef DDR_PHY_DX8SL4DQSCTL_RESERVED_12_10_MASK 
#define DDR_PHY_DX8SL4DQSCTL_RESERVED_12_10_DEFVAL             0x01264000
#define DDR_PHY_DX8SL4DQSCTL_RESERVED_12_10_SHIFT              10
#define DDR_PHY_DX8SL4DQSCTL_RESERVED_12_10_MASK               0x00001C00U

/*
* Data Slew Rate
*/
#undef DDR_PHY_DX8SL4DQSCTL_DXSR_DEFVAL 
#undef DDR_PHY_DX8SL4DQSCTL_DXSR_SHIFT 
#undef DDR_PHY_DX8SL4DQSCTL_DXSR_MASK 
#define DDR_PHY_DX8SL4DQSCTL_DXSR_DEFVAL                       0x01264000
#define DDR_PHY_DX8SL4DQSCTL_DXSR_SHIFT                        8
#define DDR_PHY_DX8SL4DQSCTL_DXSR_MASK                         0x00000300U

/*
* DQS_N Resistor
*/
#undef DDR_PHY_DX8SL4DQSCTL_DQSNRES_DEFVAL 
#undef DDR_PHY_DX8SL4DQSCTL_DQSNRES_SHIFT 
#undef DDR_PHY_DX8SL4DQSCTL_DQSNRES_MASK 
#define DDR_PHY_DX8SL4DQSCTL_DQSNRES_DEFVAL                    0x01264000
#define DDR_PHY_DX8SL4DQSCTL_DQSNRES_SHIFT                     4
#define DDR_PHY_DX8SL4DQSCTL_DQSNRES_MASK                      0x000000F0U

/*
* DQS Resistor
*/
#undef DDR_PHY_DX8SL4DQSCTL_DQSRES_DEFVAL 
#undef DDR_PHY_DX8SL4DQSCTL_DQSRES_SHIFT 
#undef DDR_PHY_DX8SL4DQSCTL_DQSRES_MASK 
#define DDR_PHY_DX8SL4DQSCTL_DQSRES_DEFVAL                     0x01264000
#define DDR_PHY_DX8SL4DQSCTL_DQSRES_SHIFT                      0
#define DDR_PHY_DX8SL4DQSCTL_DQSRES_MASK                       0x0000000FU

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_DX8SL4DXCTL2_RESERVED_31_24_DEFVAL 
#undef DDR_PHY_DX8SL4DXCTL2_RESERVED_31_24_SHIFT 
#undef DDR_PHY_DX8SL4DXCTL2_RESERVED_31_24_MASK 
#define DDR_PHY_DX8SL4DXCTL2_RESERVED_31_24_DEFVAL             0x00141800
#define DDR_PHY_DX8SL4DXCTL2_RESERVED_31_24_SHIFT              24
#define DDR_PHY_DX8SL4DXCTL2_RESERVED_31_24_MASK               0xFF000000U

/*
* Configurable Read Data Enable
*/
#undef DDR_PHY_DX8SL4DXCTL2_CRDEN_DEFVAL 
#undef DDR_PHY_DX8SL4DXCTL2_CRDEN_SHIFT 
#undef DDR_PHY_DX8SL4DXCTL2_CRDEN_MASK 
#define DDR_PHY_DX8SL4DXCTL2_CRDEN_DEFVAL                      0x00141800
#define DDR_PHY_DX8SL4DXCTL2_CRDEN_SHIFT                       23
#define DDR_PHY_DX8SL4DXCTL2_CRDEN_MASK                        0x00800000U

/*
* OX Extension during Post-amble
*/
#undef DDR_PHY_DX8SL4DXCTL2_POSOEX_DEFVAL 
#undef DDR_PHY_DX8SL4DXCTL2_POSOEX_SHIFT 
#undef DDR_PHY_DX8SL4DXCTL2_POSOEX_MASK 
#define DDR_PHY_DX8SL4DXCTL2_POSOEX_DEFVAL                     0x00141800
#define DDR_PHY_DX8SL4DXCTL2_POSOEX_SHIFT                      20
#define DDR_PHY_DX8SL4DXCTL2_POSOEX_MASK                       0x00700000U

/*
* OE Extension during Pre-amble
*/
#undef DDR_PHY_DX8SL4DXCTL2_PREOEX_DEFVAL 
#undef DDR_PHY_DX8SL4DXCTL2_PREOEX_SHIFT 
#undef DDR_PHY_DX8SL4DXCTL2_PREOEX_MASK 
#define DDR_PHY_DX8SL4DXCTL2_PREOEX_DEFVAL                     0x00141800
#define DDR_PHY_DX8SL4DXCTL2_PREOEX_SHIFT                      18
#define DDR_PHY_DX8SL4DXCTL2_PREOEX_MASK                       0x000C0000U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_DX8SL4DXCTL2_RESERVED_17_DEFVAL 
#undef DDR_PHY_DX8SL4DXCTL2_RESERVED_17_SHIFT 
#undef DDR_PHY_DX8SL4DXCTL2_RESERVED_17_MASK 
#define DDR_PHY_DX8SL4DXCTL2_RESERVED_17_DEFVAL                0x00141800
#define DDR_PHY_DX8SL4DXCTL2_RESERVED_17_SHIFT                 17
#define DDR_PHY_DX8SL4DXCTL2_RESERVED_17_MASK                  0x00020000U

/*
* I/O Assisted Gate Select
*/
#undef DDR_PHY_DX8SL4DXCTL2_IOAG_DEFVAL 
#undef DDR_PHY_DX8SL4DXCTL2_IOAG_SHIFT 
#undef DDR_PHY_DX8SL4DXCTL2_IOAG_MASK 
#define DDR_PHY_DX8SL4DXCTL2_IOAG_DEFVAL                       0x00141800
#define DDR_PHY_DX8SL4DXCTL2_IOAG_SHIFT                        16
#define DDR_PHY_DX8SL4DXCTL2_IOAG_MASK                         0x00010000U

/*
* I/O Loopback Select
*/
#undef DDR_PHY_DX8SL4DXCTL2_IOLB_DEFVAL 
#undef DDR_PHY_DX8SL4DXCTL2_IOLB_SHIFT 
#undef DDR_PHY_DX8SL4DXCTL2_IOLB_MASK 
#define DDR_PHY_DX8SL4DXCTL2_IOLB_DEFVAL                       0x00141800
#define DDR_PHY_DX8SL4DXCTL2_IOLB_SHIFT                        15
#define DDR_PHY_DX8SL4DXCTL2_IOLB_MASK                         0x00008000U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_DX8SL4DXCTL2_RESERVED_14_13_DEFVAL 
#undef DDR_PHY_DX8SL4DXCTL2_RESERVED_14_13_SHIFT 
#undef DDR_PHY_DX8SL4DXCTL2_RESERVED_14_13_MASK 
#define DDR_PHY_DX8SL4DXCTL2_RESERVED_14_13_DEFVAL             0x00141800
#define DDR_PHY_DX8SL4DXCTL2_RESERVED_14_13_SHIFT              13
#define DDR_PHY_DX8SL4DXCTL2_RESERVED_14_13_MASK               0x00006000U

/*
* Low Power Wakeup Threshold
*/
#undef DDR_PHY_DX8SL4DXCTL2_LPWAKEUP_THRSH_DEFVAL 
#undef DDR_PHY_DX8SL4DXCTL2_LPWAKEUP_THRSH_SHIFT 
#undef DDR_PHY_DX8SL4DXCTL2_LPWAKEUP_THRSH_MASK 
#define DDR_PHY_DX8SL4DXCTL2_LPWAKEUP_THRSH_DEFVAL             0x00141800
#define DDR_PHY_DX8SL4DXCTL2_LPWAKEUP_THRSH_SHIFT              9
#define DDR_PHY_DX8SL4DXCTL2_LPWAKEUP_THRSH_MASK               0x00001E00U

/*
* Read Data Bus Inversion Enable
*/
#undef DDR_PHY_DX8SL4DXCTL2_RDBI_DEFVAL 
#undef DDR_PHY_DX8SL4DXCTL2_RDBI_SHIFT 
#undef DDR_PHY_DX8SL4DXCTL2_RDBI_MASK 
#define DDR_PHY_DX8SL4DXCTL2_RDBI_DEFVAL                       0x00141800
#define DDR_PHY_DX8SL4DXCTL2_RDBI_SHIFT                        8
#define DDR_PHY_DX8SL4DXCTL2_RDBI_MASK                         0x00000100U

/*
* Write Data Bus Inversion Enable
*/
#undef DDR_PHY_DX8SL4DXCTL2_WDBI_DEFVAL 
#undef DDR_PHY_DX8SL4DXCTL2_WDBI_SHIFT 
#undef DDR_PHY_DX8SL4DXCTL2_WDBI_MASK 
#define DDR_PHY_DX8SL4DXCTL2_WDBI_DEFVAL                       0x00141800
#define DDR_PHY_DX8SL4DXCTL2_WDBI_SHIFT                        7
#define DDR_PHY_DX8SL4DXCTL2_WDBI_MASK                         0x00000080U

/*
* PUB Read FIFO Bypass
*/
#undef DDR_PHY_DX8SL4DXCTL2_PRFBYP_DEFVAL 
#undef DDR_PHY_DX8SL4DXCTL2_PRFBYP_SHIFT 
#undef DDR_PHY_DX8SL4DXCTL2_PRFBYP_MASK 
#define DDR_PHY_DX8SL4DXCTL2_PRFBYP_DEFVAL                     0x00141800
#define DDR_PHY_DX8SL4DXCTL2_PRFBYP_SHIFT                      6
#define DDR_PHY_DX8SL4DXCTL2_PRFBYP_MASK                       0x00000040U

/*
* DATX8 Receive FIFO Read Mode
*/
#undef DDR_PHY_DX8SL4DXCTL2_RDMODE_DEFVAL 
#undef DDR_PHY_DX8SL4DXCTL2_RDMODE_SHIFT 
#undef DDR_PHY_DX8SL4DXCTL2_RDMODE_MASK 
#define DDR_PHY_DX8SL4DXCTL2_RDMODE_DEFVAL                     0x00141800
#define DDR_PHY_DX8SL4DXCTL2_RDMODE_SHIFT                      4
#define DDR_PHY_DX8SL4DXCTL2_RDMODE_MASK                       0x00000030U

/*
* Disables the Read FIFO Reset
*/
#undef DDR_PHY_DX8SL4DXCTL2_DISRST_DEFVAL 
#undef DDR_PHY_DX8SL4DXCTL2_DISRST_SHIFT 
#undef DDR_PHY_DX8SL4DXCTL2_DISRST_MASK 
#define DDR_PHY_DX8SL4DXCTL2_DISRST_DEFVAL                     0x00141800
#define DDR_PHY_DX8SL4DXCTL2_DISRST_SHIFT                      3
#define DDR_PHY_DX8SL4DXCTL2_DISRST_MASK                       0x00000008U

/*
* Read DQS Gate I/O Loopback
*/
#undef DDR_PHY_DX8SL4DXCTL2_DQSGLB_DEFVAL 
#undef DDR_PHY_DX8SL4DXCTL2_DQSGLB_SHIFT 
#undef DDR_PHY_DX8SL4DXCTL2_DQSGLB_MASK 
#define DDR_PHY_DX8SL4DXCTL2_DQSGLB_DEFVAL                     0x00141800
#define DDR_PHY_DX8SL4DXCTL2_DQSGLB_SHIFT                      1
#define DDR_PHY_DX8SL4DXCTL2_DQSGLB_MASK                       0x00000006U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_DX8SL4DXCTL2_RESERVED_0_DEFVAL 
#undef DDR_PHY_DX8SL4DXCTL2_RESERVED_0_SHIFT 
#undef DDR_PHY_DX8SL4DXCTL2_RESERVED_0_MASK 
#define DDR_PHY_DX8SL4DXCTL2_RESERVED_0_DEFVAL                 0x00141800
#define DDR_PHY_DX8SL4DXCTL2_RESERVED_0_SHIFT                  0
#define DDR_PHY_DX8SL4DXCTL2_RESERVED_0_MASK                   0x00000001U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_DX8SL4IOCR_RESERVED_31_DEFVAL 
#undef DDR_PHY_DX8SL4IOCR_RESERVED_31_SHIFT 
#undef DDR_PHY_DX8SL4IOCR_RESERVED_31_MASK 
#define DDR_PHY_DX8SL4IOCR_RESERVED_31_DEFVAL                  0x00000000
#define DDR_PHY_DX8SL4IOCR_RESERVED_31_SHIFT                   31
#define DDR_PHY_DX8SL4IOCR_RESERVED_31_MASK                    0x80000000U

/*
* PVREF_DAC REFSEL range select
*/
#undef DDR_PHY_DX8SL4IOCR_DXDACRANGE_DEFVAL 
#undef DDR_PHY_DX8SL4IOCR_DXDACRANGE_SHIFT 
#undef DDR_PHY_DX8SL4IOCR_DXDACRANGE_MASK 
#define DDR_PHY_DX8SL4IOCR_DXDACRANGE_DEFVAL                   0x00000000
#define DDR_PHY_DX8SL4IOCR_DXDACRANGE_SHIFT                    28
#define DDR_PHY_DX8SL4IOCR_DXDACRANGE_MASK                     0x70000000U

/*
* IOM bits for PVREF, PVREF_DAC and PVREFE cells in DX IO ring
*/
#undef DDR_PHY_DX8SL4IOCR_DXVREFIOM_DEFVAL 
#undef DDR_PHY_DX8SL4IOCR_DXVREFIOM_SHIFT 
#undef DDR_PHY_DX8SL4IOCR_DXVREFIOM_MASK 
#define DDR_PHY_DX8SL4IOCR_DXVREFIOM_DEFVAL                    0x00000000
#define DDR_PHY_DX8SL4IOCR_DXVREFIOM_SHIFT                     25
#define DDR_PHY_DX8SL4IOCR_DXVREFIOM_MASK                      0x0E000000U

/*
* DX IO Mode
*/
#undef DDR_PHY_DX8SL4IOCR_DXIOM_DEFVAL 
#undef DDR_PHY_DX8SL4IOCR_DXIOM_SHIFT 
#undef DDR_PHY_DX8SL4IOCR_DXIOM_MASK 
#define DDR_PHY_DX8SL4IOCR_DXIOM_DEFVAL                        0x00000000
#define DDR_PHY_DX8SL4IOCR_DXIOM_SHIFT                         22
#define DDR_PHY_DX8SL4IOCR_DXIOM_MASK                          0x01C00000U

/*
* DX IO Transmitter Mode
*/
#undef DDR_PHY_DX8SL4IOCR_DXTXM_DEFVAL 
#undef DDR_PHY_DX8SL4IOCR_DXTXM_SHIFT 
#undef DDR_PHY_DX8SL4IOCR_DXTXM_MASK 
#define DDR_PHY_DX8SL4IOCR_DXTXM_DEFVAL                        0x00000000
#define DDR_PHY_DX8SL4IOCR_DXTXM_SHIFT                         11
#define DDR_PHY_DX8SL4IOCR_DXTXM_MASK                          0x003FF800U

/*
* DX IO Receiver Mode
*/
#undef DDR_PHY_DX8SL4IOCR_DXRXM_DEFVAL 
#undef DDR_PHY_DX8SL4IOCR_DXRXM_SHIFT 
#undef DDR_PHY_DX8SL4IOCR_DXRXM_MASK 
#define DDR_PHY_DX8SL4IOCR_DXRXM_DEFVAL                        0x00000000
#define DDR_PHY_DX8SL4IOCR_DXRXM_SHIFT                         0
#define DDR_PHY_DX8SL4IOCR_DXRXM_MASK                          0x000007FFU

/*
* PLL Bypass
*/
#undef DDR_PHY_DX8SLBPLLCR0_PLLBYP_DEFVAL 
#undef DDR_PHY_DX8SLBPLLCR0_PLLBYP_SHIFT 
#undef DDR_PHY_DX8SLBPLLCR0_PLLBYP_MASK 
#define DDR_PHY_DX8SLBPLLCR0_PLLBYP_DEFVAL                     0x00000000
#define DDR_PHY_DX8SLBPLLCR0_PLLBYP_SHIFT                      31
#define DDR_PHY_DX8SLBPLLCR0_PLLBYP_MASK                       0x80000000U

/*
* PLL Reset
*/
#undef DDR_PHY_DX8SLBPLLCR0_PLLRST_DEFVAL 
#undef DDR_PHY_DX8SLBPLLCR0_PLLRST_SHIFT 
#undef DDR_PHY_DX8SLBPLLCR0_PLLRST_MASK 
#define DDR_PHY_DX8SLBPLLCR0_PLLRST_DEFVAL                     0x00000000
#define DDR_PHY_DX8SLBPLLCR0_PLLRST_SHIFT                      30
#define DDR_PHY_DX8SLBPLLCR0_PLLRST_MASK                       0x40000000U

/*
* PLL Power Down
*/
#undef DDR_PHY_DX8SLBPLLCR0_PLLPD_DEFVAL 
#undef DDR_PHY_DX8SLBPLLCR0_PLLPD_SHIFT 
#undef DDR_PHY_DX8SLBPLLCR0_PLLPD_MASK 
#define DDR_PHY_DX8SLBPLLCR0_PLLPD_DEFVAL                      0x00000000
#define DDR_PHY_DX8SLBPLLCR0_PLLPD_SHIFT                       29
#define DDR_PHY_DX8SLBPLLCR0_PLLPD_MASK                        0x20000000U

/*
* Reference Stop Mode
*/
#undef DDR_PHY_DX8SLBPLLCR0_RSTOPM_DEFVAL 
#undef DDR_PHY_DX8SLBPLLCR0_RSTOPM_SHIFT 
#undef DDR_PHY_DX8SLBPLLCR0_RSTOPM_MASK 
#define DDR_PHY_DX8SLBPLLCR0_RSTOPM_DEFVAL                     0x00000000
#define DDR_PHY_DX8SLBPLLCR0_RSTOPM_SHIFT                      28
#define DDR_PHY_DX8SLBPLLCR0_RSTOPM_MASK                       0x10000000U

/*
* PLL Frequency Select
*/
#undef DDR_PHY_DX8SLBPLLCR0_FRQSEL_DEFVAL 
#undef DDR_PHY_DX8SLBPLLCR0_FRQSEL_SHIFT 
#undef DDR_PHY_DX8SLBPLLCR0_FRQSEL_MASK 
#define DDR_PHY_DX8SLBPLLCR0_FRQSEL_DEFVAL                     0x00000000
#define DDR_PHY_DX8SLBPLLCR0_FRQSEL_SHIFT                      24
#define DDR_PHY_DX8SLBPLLCR0_FRQSEL_MASK                       0x0F000000U

/*
* Relock Mode
*/
#undef DDR_PHY_DX8SLBPLLCR0_RLOCKM_DEFVAL 
#undef DDR_PHY_DX8SLBPLLCR0_RLOCKM_SHIFT 
#undef DDR_PHY_DX8SLBPLLCR0_RLOCKM_MASK 
#define DDR_PHY_DX8SLBPLLCR0_RLOCKM_DEFVAL                     0x00000000
#define DDR_PHY_DX8SLBPLLCR0_RLOCKM_SHIFT                      23
#define DDR_PHY_DX8SLBPLLCR0_RLOCKM_MASK                       0x00800000U

/*
* Charge Pump Proportional Current Control
*/
#undef DDR_PHY_DX8SLBPLLCR0_CPPC_DEFVAL 
#undef DDR_PHY_DX8SLBPLLCR0_CPPC_SHIFT 
#undef DDR_PHY_DX8SLBPLLCR0_CPPC_MASK 
#define DDR_PHY_DX8SLBPLLCR0_CPPC_DEFVAL                       0x00000000
#define DDR_PHY_DX8SLBPLLCR0_CPPC_SHIFT                        17
#define DDR_PHY_DX8SLBPLLCR0_CPPC_MASK                         0x007E0000U

/*
* Charge Pump Integrating Current Control
*/
#undef DDR_PHY_DX8SLBPLLCR0_CPIC_DEFVAL 
#undef DDR_PHY_DX8SLBPLLCR0_CPIC_SHIFT 
#undef DDR_PHY_DX8SLBPLLCR0_CPIC_MASK 
#define DDR_PHY_DX8SLBPLLCR0_CPIC_DEFVAL                       0x00000000
#define DDR_PHY_DX8SLBPLLCR0_CPIC_SHIFT                        13
#define DDR_PHY_DX8SLBPLLCR0_CPIC_MASK                         0x0001E000U

/*
* Gear Shift
*/
#undef DDR_PHY_DX8SLBPLLCR0_GSHIFT_DEFVAL 
#undef DDR_PHY_DX8SLBPLLCR0_GSHIFT_SHIFT 
#undef DDR_PHY_DX8SLBPLLCR0_GSHIFT_MASK 
#define DDR_PHY_DX8SLBPLLCR0_GSHIFT_DEFVAL                     0x00000000
#define DDR_PHY_DX8SLBPLLCR0_GSHIFT_SHIFT                      12
#define DDR_PHY_DX8SLBPLLCR0_GSHIFT_MASK                       0x00001000U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_DX8SLBPLLCR0_RESERVED_11_9_DEFVAL 
#undef DDR_PHY_DX8SLBPLLCR0_RESERVED_11_9_SHIFT 
#undef DDR_PHY_DX8SLBPLLCR0_RESERVED_11_9_MASK 
#define DDR_PHY_DX8SLBPLLCR0_RESERVED_11_9_DEFVAL              0x00000000
#define DDR_PHY_DX8SLBPLLCR0_RESERVED_11_9_SHIFT               9
#define DDR_PHY_DX8SLBPLLCR0_RESERVED_11_9_MASK                0x00000E00U

/*
* Analog Test Enable (ATOEN)
*/
#undef DDR_PHY_DX8SLBPLLCR0_ATOEN_DEFVAL 
#undef DDR_PHY_DX8SLBPLLCR0_ATOEN_SHIFT 
#undef DDR_PHY_DX8SLBPLLCR0_ATOEN_MASK 
#define DDR_PHY_DX8SLBPLLCR0_ATOEN_DEFVAL                      0x00000000
#define DDR_PHY_DX8SLBPLLCR0_ATOEN_SHIFT                       8
#define DDR_PHY_DX8SLBPLLCR0_ATOEN_MASK                        0x00000100U

/*
* Analog Test Control
*/
#undef DDR_PHY_DX8SLBPLLCR0_ATC_DEFVAL 
#undef DDR_PHY_DX8SLBPLLCR0_ATC_SHIFT 
#undef DDR_PHY_DX8SLBPLLCR0_ATC_MASK 
#define DDR_PHY_DX8SLBPLLCR0_ATC_DEFVAL                        0x00000000
#define DDR_PHY_DX8SLBPLLCR0_ATC_SHIFT                         4
#define DDR_PHY_DX8SLBPLLCR0_ATC_MASK                          0x000000F0U

/*
* Digital Test Control
*/
#undef DDR_PHY_DX8SLBPLLCR0_DTC_DEFVAL 
#undef DDR_PHY_DX8SLBPLLCR0_DTC_SHIFT 
#undef DDR_PHY_DX8SLBPLLCR0_DTC_MASK 
#define DDR_PHY_DX8SLBPLLCR0_DTC_DEFVAL                        0x00000000
#define DDR_PHY_DX8SLBPLLCR0_DTC_SHIFT                         0
#define DDR_PHY_DX8SLBPLLCR0_DTC_MASK                          0x0000000FU

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_DX8SLBDQSCTL_RESERVED_31_25_DEFVAL 
#undef DDR_PHY_DX8SLBDQSCTL_RESERVED_31_25_SHIFT 
#undef DDR_PHY_DX8SLBDQSCTL_RESERVED_31_25_MASK 
#define DDR_PHY_DX8SLBDQSCTL_RESERVED_31_25_DEFVAL             0x00000000
#define DDR_PHY_DX8SLBDQSCTL_RESERVED_31_25_SHIFT              25
#define DDR_PHY_DX8SLBDQSCTL_RESERVED_31_25_MASK               0xFE000000U

/*
* Read Path Rise-to-Rise Mode
*/
#undef DDR_PHY_DX8SLBDQSCTL_RRRMODE_DEFVAL 
#undef DDR_PHY_DX8SLBDQSCTL_RRRMODE_SHIFT 
#undef DDR_PHY_DX8SLBDQSCTL_RRRMODE_MASK 
#define DDR_PHY_DX8SLBDQSCTL_RRRMODE_DEFVAL                    0x00000000
#define DDR_PHY_DX8SLBDQSCTL_RRRMODE_SHIFT                     24
#define DDR_PHY_DX8SLBDQSCTL_RRRMODE_MASK                      0x01000000U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_DX8SLBDQSCTL_RESERVED_23_22_DEFVAL 
#undef DDR_PHY_DX8SLBDQSCTL_RESERVED_23_22_SHIFT 
#undef DDR_PHY_DX8SLBDQSCTL_RESERVED_23_22_MASK 
#define DDR_PHY_DX8SLBDQSCTL_RESERVED_23_22_DEFVAL             0x00000000
#define DDR_PHY_DX8SLBDQSCTL_RESERVED_23_22_SHIFT              22
#define DDR_PHY_DX8SLBDQSCTL_RESERVED_23_22_MASK               0x00C00000U

/*
* Write Path Rise-to-Rise Mode
*/
#undef DDR_PHY_DX8SLBDQSCTL_WRRMODE_DEFVAL 
#undef DDR_PHY_DX8SLBDQSCTL_WRRMODE_SHIFT 
#undef DDR_PHY_DX8SLBDQSCTL_WRRMODE_MASK 
#define DDR_PHY_DX8SLBDQSCTL_WRRMODE_DEFVAL                    0x00000000
#define DDR_PHY_DX8SLBDQSCTL_WRRMODE_SHIFT                     21
#define DDR_PHY_DX8SLBDQSCTL_WRRMODE_MASK                      0x00200000U

/*
* DQS Gate Extension
*/
#undef DDR_PHY_DX8SLBDQSCTL_DQSGX_DEFVAL 
#undef DDR_PHY_DX8SLBDQSCTL_DQSGX_SHIFT 
#undef DDR_PHY_DX8SLBDQSCTL_DQSGX_MASK 
#define DDR_PHY_DX8SLBDQSCTL_DQSGX_DEFVAL                      0x00000000
#define DDR_PHY_DX8SLBDQSCTL_DQSGX_SHIFT                       19
#define DDR_PHY_DX8SLBDQSCTL_DQSGX_MASK                        0x00180000U

/*
* Low Power PLL Power Down
*/
#undef DDR_PHY_DX8SLBDQSCTL_LPPLLPD_DEFVAL 
#undef DDR_PHY_DX8SLBDQSCTL_LPPLLPD_SHIFT 
#undef DDR_PHY_DX8SLBDQSCTL_LPPLLPD_MASK 
#define DDR_PHY_DX8SLBDQSCTL_LPPLLPD_DEFVAL                    0x00000000
#define DDR_PHY_DX8SLBDQSCTL_LPPLLPD_SHIFT                     18
#define DDR_PHY_DX8SLBDQSCTL_LPPLLPD_MASK                      0x00040000U

/*
* Low Power I/O Power Down
*/
#undef DDR_PHY_DX8SLBDQSCTL_LPIOPD_DEFVAL 
#undef DDR_PHY_DX8SLBDQSCTL_LPIOPD_SHIFT 
#undef DDR_PHY_DX8SLBDQSCTL_LPIOPD_MASK 
#define DDR_PHY_DX8SLBDQSCTL_LPIOPD_DEFVAL                     0x00000000
#define DDR_PHY_DX8SLBDQSCTL_LPIOPD_SHIFT                      17
#define DDR_PHY_DX8SLBDQSCTL_LPIOPD_MASK                       0x00020000U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_DX8SLBDQSCTL_RESERVED_16_15_DEFVAL 
#undef DDR_PHY_DX8SLBDQSCTL_RESERVED_16_15_SHIFT 
#undef DDR_PHY_DX8SLBDQSCTL_RESERVED_16_15_MASK 
#define DDR_PHY_DX8SLBDQSCTL_RESERVED_16_15_DEFVAL             0x00000000
#define DDR_PHY_DX8SLBDQSCTL_RESERVED_16_15_SHIFT              15
#define DDR_PHY_DX8SLBDQSCTL_RESERVED_16_15_MASK               0x00018000U

/*
* QS Counter Enable
*/
#undef DDR_PHY_DX8SLBDQSCTL_QSCNTEN_DEFVAL 
#undef DDR_PHY_DX8SLBDQSCTL_QSCNTEN_SHIFT 
#undef DDR_PHY_DX8SLBDQSCTL_QSCNTEN_MASK 
#define DDR_PHY_DX8SLBDQSCTL_QSCNTEN_DEFVAL                    0x00000000
#define DDR_PHY_DX8SLBDQSCTL_QSCNTEN_SHIFT                     14
#define DDR_PHY_DX8SLBDQSCTL_QSCNTEN_MASK                      0x00004000U

/*
* Unused DQ I/O Mode
*/
#undef DDR_PHY_DX8SLBDQSCTL_UDQIOM_DEFVAL 
#undef DDR_PHY_DX8SLBDQSCTL_UDQIOM_SHIFT 
#undef DDR_PHY_DX8SLBDQSCTL_UDQIOM_MASK 
#define DDR_PHY_DX8SLBDQSCTL_UDQIOM_DEFVAL                     0x00000000
#define DDR_PHY_DX8SLBDQSCTL_UDQIOM_SHIFT                      13
#define DDR_PHY_DX8SLBDQSCTL_UDQIOM_MASK                       0x00002000U

/*
* Reserved. Return zeroes on reads.
*/
#undef DDR_PHY_DX8SLBDQSCTL_RESERVED_12_10_DEFVAL 
#undef DDR_PHY_DX8SLBDQSCTL_RESERVED_12_10_SHIFT 
#undef DDR_PHY_DX8SLBDQSCTL_RESERVED_12_10_MASK 
#define DDR_PHY_DX8SLBDQSCTL_RESERVED_12_10_DEFVAL             0x00000000
#define DDR_PHY_DX8SLBDQSCTL_RESERVED_12_10_SHIFT              10
#define DDR_PHY_DX8SLBDQSCTL_RESERVED_12_10_MASK               0x00001C00U

/*
* Data Slew Rate
*/
#undef DDR_PHY_DX8SLBDQSCTL_DXSR_DEFVAL 
#undef DDR_PHY_DX8SLBDQSCTL_DXSR_SHIFT 
#undef DDR_PHY_DX8SLBDQSCTL_DXSR_MASK 
#define DDR_PHY_DX8SLBDQSCTL_DXSR_DEFVAL                       0x00000000
#define DDR_PHY_DX8SLBDQSCTL_DXSR_SHIFT                        8
#define DDR_PHY_DX8SLBDQSCTL_DXSR_MASK                         0x00000300U

/*
* DQS# Resistor
*/
#undef DDR_PHY_DX8SLBDQSCTL_DQSNRES_DEFVAL 
#undef DDR_PHY_DX8SLBDQSCTL_DQSNRES_SHIFT 
#undef DDR_PHY_DX8SLBDQSCTL_DQSNRES_MASK 
#define DDR_PHY_DX8SLBDQSCTL_DQSNRES_DEFVAL                    0x00000000
#define DDR_PHY_DX8SLBDQSCTL_DQSNRES_SHIFT                     4
#define DDR_PHY_DX8SLBDQSCTL_DQSNRES_MASK                      0x000000F0U

/*
* DQS Resistor
*/
#undef DDR_PHY_DX8SLBDQSCTL_DQSRES_DEFVAL 
#undef DDR_PHY_DX8SLBDQSCTL_DQSRES_SHIFT 
#undef DDR_PHY_DX8SLBDQSCTL_DQSRES_MASK 
#define DDR_PHY_DX8SLBDQSCTL_DQSRES_DEFVAL                     0x00000000
#define DDR_PHY_DX8SLBDQSCTL_DQSRES_SHIFT                      0
#define DDR_PHY_DX8SLBDQSCTL_DQSRES_MASK                       0x0000000FU
#undef IOU_SLCR_MIO_PIN_0_OFFSET 
#define IOU_SLCR_MIO_PIN_0_OFFSET                                                  0XFF180000
#undef IOU_SLCR_MIO_PIN_1_OFFSET 
#define IOU_SLCR_MIO_PIN_1_OFFSET                                                  0XFF180004
#undef IOU_SLCR_MIO_PIN_2_OFFSET 
#define IOU_SLCR_MIO_PIN_2_OFFSET                                                  0XFF180008
#undef IOU_SLCR_MIO_PIN_3_OFFSET 
#define IOU_SLCR_MIO_PIN_3_OFFSET                                                  0XFF18000C
#undef IOU_SLCR_MIO_PIN_4_OFFSET 
#define IOU_SLCR_MIO_PIN_4_OFFSET                                                  0XFF180010
#undef IOU_SLCR_MIO_PIN_5_OFFSET 
#define IOU_SLCR_MIO_PIN_5_OFFSET                                                  0XFF180014
#undef IOU_SLCR_MIO_PIN_6_OFFSET 
#define IOU_SLCR_MIO_PIN_6_OFFSET                                                  0XFF180018
#undef IOU_SLCR_MIO_PIN_7_OFFSET 
#define IOU_SLCR_MIO_PIN_7_OFFSET                                                  0XFF18001C
#undef IOU_SLCR_MIO_PIN_8_OFFSET 
#define IOU_SLCR_MIO_PIN_8_OFFSET                                                  0XFF180020
#undef IOU_SLCR_MIO_PIN_9_OFFSET 
#define IOU_SLCR_MIO_PIN_9_OFFSET                                                  0XFF180024
#undef IOU_SLCR_MIO_PIN_10_OFFSET 
#define IOU_SLCR_MIO_PIN_10_OFFSET                                                 0XFF180028
#undef IOU_SLCR_MIO_PIN_11_OFFSET 
#define IOU_SLCR_MIO_PIN_11_OFFSET                                                 0XFF18002C
#undef IOU_SLCR_MIO_PIN_12_OFFSET 
#define IOU_SLCR_MIO_PIN_12_OFFSET                                                 0XFF180030
#undef IOU_SLCR_MIO_PIN_13_OFFSET 
#define IOU_SLCR_MIO_PIN_13_OFFSET                                                 0XFF180034
#undef IOU_SLCR_MIO_PIN_14_OFFSET 
#define IOU_SLCR_MIO_PIN_14_OFFSET                                                 0XFF180038
#undef IOU_SLCR_MIO_PIN_15_OFFSET 
#define IOU_SLCR_MIO_PIN_15_OFFSET                                                 0XFF18003C
#undef IOU_SLCR_MIO_PIN_16_OFFSET 
#define IOU_SLCR_MIO_PIN_16_OFFSET                                                 0XFF180040
#undef IOU_SLCR_MIO_PIN_17_OFFSET 
#define IOU_SLCR_MIO_PIN_17_OFFSET                                                 0XFF180044
#undef IOU_SLCR_MIO_PIN_18_OFFSET 
#define IOU_SLCR_MIO_PIN_18_OFFSET                                                 0XFF180048
#undef IOU_SLCR_MIO_PIN_19_OFFSET 
#define IOU_SLCR_MIO_PIN_19_OFFSET                                                 0XFF18004C
#undef IOU_SLCR_MIO_PIN_20_OFFSET 
#define IOU_SLCR_MIO_PIN_20_OFFSET                                                 0XFF180050
#undef IOU_SLCR_MIO_PIN_21_OFFSET 
#define IOU_SLCR_MIO_PIN_21_OFFSET                                                 0XFF180054
#undef IOU_SLCR_MIO_PIN_22_OFFSET 
#define IOU_SLCR_MIO_PIN_22_OFFSET                                                 0XFF180058
#undef IOU_SLCR_MIO_PIN_23_OFFSET 
#define IOU_SLCR_MIO_PIN_23_OFFSET                                                 0XFF18005C
#undef IOU_SLCR_MIO_PIN_24_OFFSET 
#define IOU_SLCR_MIO_PIN_24_OFFSET                                                 0XFF180060
#undef IOU_SLCR_MIO_PIN_25_OFFSET 
#define IOU_SLCR_MIO_PIN_25_OFFSET                                                 0XFF180064
#undef IOU_SLCR_MIO_PIN_26_OFFSET 
#define IOU_SLCR_MIO_PIN_26_OFFSET                                                 0XFF180068
#undef IOU_SLCR_MIO_PIN_27_OFFSET 
#define IOU_SLCR_MIO_PIN_27_OFFSET                                                 0XFF18006C
#undef IOU_SLCR_MIO_PIN_28_OFFSET 
#define IOU_SLCR_MIO_PIN_28_OFFSET                                                 0XFF180070
#undef IOU_SLCR_MIO_PIN_29_OFFSET 
#define IOU_SLCR_MIO_PIN_29_OFFSET                                                 0XFF180074
#undef IOU_SLCR_MIO_PIN_30_OFFSET 
#define IOU_SLCR_MIO_PIN_30_OFFSET                                                 0XFF180078
#undef IOU_SLCR_MIO_PIN_31_OFFSET 
#define IOU_SLCR_MIO_PIN_31_OFFSET                                                 0XFF18007C
#undef IOU_SLCR_MIO_PIN_32_OFFSET 
#define IOU_SLCR_MIO_PIN_32_OFFSET                                                 0XFF180080
#undef IOU_SLCR_MIO_PIN_33_OFFSET 
#define IOU_SLCR_MIO_PIN_33_OFFSET                                                 0XFF180084
#undef IOU_SLCR_MIO_PIN_34_OFFSET 
#define IOU_SLCR_MIO_PIN_34_OFFSET                                                 0XFF180088
#undef IOU_SLCR_MIO_PIN_35_OFFSET 
#define IOU_SLCR_MIO_PIN_35_OFFSET                                                 0XFF18008C
#undef IOU_SLCR_MIO_PIN_36_OFFSET 
#define IOU_SLCR_MIO_PIN_36_OFFSET                                                 0XFF180090
#undef IOU_SLCR_MIO_PIN_37_OFFSET 
#define IOU_SLCR_MIO_PIN_37_OFFSET                                                 0XFF180094
#undef IOU_SLCR_MIO_PIN_38_OFFSET 
#define IOU_SLCR_MIO_PIN_38_OFFSET                                                 0XFF180098
#undef IOU_SLCR_MIO_PIN_39_OFFSET 
#define IOU_SLCR_MIO_PIN_39_OFFSET                                                 0XFF18009C
#undef IOU_SLCR_MIO_PIN_40_OFFSET 
#define IOU_SLCR_MIO_PIN_40_OFFSET                                                 0XFF1800A0
#undef IOU_SLCR_MIO_PIN_41_OFFSET 
#define IOU_SLCR_MIO_PIN_41_OFFSET                                                 0XFF1800A4
#undef IOU_SLCR_MIO_PIN_42_OFFSET 
#define IOU_SLCR_MIO_PIN_42_OFFSET                                                 0XFF1800A8
#undef IOU_SLCR_MIO_PIN_43_OFFSET 
#define IOU_SLCR_MIO_PIN_43_OFFSET                                                 0XFF1800AC
#undef IOU_SLCR_MIO_PIN_44_OFFSET 
#define IOU_SLCR_MIO_PIN_44_OFFSET                                                 0XFF1800B0
#undef IOU_SLCR_MIO_PIN_45_OFFSET 
#define IOU_SLCR_MIO_PIN_45_OFFSET                                                 0XFF1800B4
#undef IOU_SLCR_MIO_PIN_46_OFFSET 
#define IOU_SLCR_MIO_PIN_46_OFFSET                                                 0XFF1800B8
#undef IOU_SLCR_MIO_PIN_47_OFFSET 
#define IOU_SLCR_MIO_PIN_47_OFFSET                                                 0XFF1800BC
#undef IOU_SLCR_MIO_PIN_48_OFFSET 
#define IOU_SLCR_MIO_PIN_48_OFFSET                                                 0XFF1800C0
#undef IOU_SLCR_MIO_PIN_49_OFFSET 
#define IOU_SLCR_MIO_PIN_49_OFFSET                                                 0XFF1800C4
#undef IOU_SLCR_MIO_PIN_50_OFFSET 
#define IOU_SLCR_MIO_PIN_50_OFFSET                                                 0XFF1800C8
#undef IOU_SLCR_MIO_PIN_51_OFFSET 
#define IOU_SLCR_MIO_PIN_51_OFFSET                                                 0XFF1800CC
#undef IOU_SLCR_MIO_PIN_52_OFFSET 
#define IOU_SLCR_MIO_PIN_52_OFFSET                                                 0XFF1800D0
#undef IOU_SLCR_MIO_PIN_53_OFFSET 
#define IOU_SLCR_MIO_PIN_53_OFFSET                                                 0XFF1800D4
#undef IOU_SLCR_MIO_PIN_54_OFFSET 
#define IOU_SLCR_MIO_PIN_54_OFFSET                                                 0XFF1800D8
#undef IOU_SLCR_MIO_PIN_55_OFFSET 
#define IOU_SLCR_MIO_PIN_55_OFFSET                                                 0XFF1800DC
#undef IOU_SLCR_MIO_PIN_56_OFFSET 
#define IOU_SLCR_MIO_PIN_56_OFFSET                                                 0XFF1800E0
#undef IOU_SLCR_MIO_PIN_57_OFFSET 
#define IOU_SLCR_MIO_PIN_57_OFFSET                                                 0XFF1800E4
#undef IOU_SLCR_MIO_PIN_58_OFFSET 
#define IOU_SLCR_MIO_PIN_58_OFFSET                                                 0XFF1800E8
#undef IOU_SLCR_MIO_PIN_59_OFFSET 
#define IOU_SLCR_MIO_PIN_59_OFFSET                                                 0XFF1800EC
#undef IOU_SLCR_MIO_PIN_60_OFFSET 
#define IOU_SLCR_MIO_PIN_60_OFFSET                                                 0XFF1800F0
#undef IOU_SLCR_MIO_PIN_61_OFFSET 
#define IOU_SLCR_MIO_PIN_61_OFFSET                                                 0XFF1800F4
#undef IOU_SLCR_MIO_PIN_62_OFFSET 
#define IOU_SLCR_MIO_PIN_62_OFFSET                                                 0XFF1800F8
#undef IOU_SLCR_MIO_PIN_63_OFFSET 
#define IOU_SLCR_MIO_PIN_63_OFFSET                                                 0XFF1800FC
#undef IOU_SLCR_MIO_PIN_64_OFFSET 
#define IOU_SLCR_MIO_PIN_64_OFFSET                                                 0XFF180100
#undef IOU_SLCR_MIO_PIN_65_OFFSET 
#define IOU_SLCR_MIO_PIN_65_OFFSET                                                 0XFF180104
#undef IOU_SLCR_MIO_PIN_66_OFFSET 
#define IOU_SLCR_MIO_PIN_66_OFFSET                                                 0XFF180108
#undef IOU_SLCR_MIO_PIN_67_OFFSET 
#define IOU_SLCR_MIO_PIN_67_OFFSET                                                 0XFF18010C
#undef IOU_SLCR_MIO_PIN_68_OFFSET 
#define IOU_SLCR_MIO_PIN_68_OFFSET                                                 0XFF180110
#undef IOU_SLCR_MIO_PIN_69_OFFSET 
#define IOU_SLCR_MIO_PIN_69_OFFSET                                                 0XFF180114
#undef IOU_SLCR_MIO_PIN_70_OFFSET 
#define IOU_SLCR_MIO_PIN_70_OFFSET                                                 0XFF180118
#undef IOU_SLCR_MIO_PIN_71_OFFSET 
#define IOU_SLCR_MIO_PIN_71_OFFSET                                                 0XFF18011C
#undef IOU_SLCR_MIO_PIN_72_OFFSET 
#define IOU_SLCR_MIO_PIN_72_OFFSET                                                 0XFF180120
#undef IOU_SLCR_MIO_PIN_73_OFFSET 
#define IOU_SLCR_MIO_PIN_73_OFFSET                                                 0XFF180124
#undef IOU_SLCR_MIO_PIN_74_OFFSET 
#define IOU_SLCR_MIO_PIN_74_OFFSET                                                 0XFF180128
#undef IOU_SLCR_MIO_PIN_75_OFFSET 
#define IOU_SLCR_MIO_PIN_75_OFFSET                                                 0XFF18012C
#undef IOU_SLCR_MIO_PIN_76_OFFSET 
#define IOU_SLCR_MIO_PIN_76_OFFSET                                                 0XFF180130
#undef IOU_SLCR_MIO_PIN_77_OFFSET 
#define IOU_SLCR_MIO_PIN_77_OFFSET                                                 0XFF180134
#undef IOU_SLCR_MIO_MST_TRI0_OFFSET 
#define IOU_SLCR_MIO_MST_TRI0_OFFSET                                               0XFF180204
#undef IOU_SLCR_MIO_MST_TRI1_OFFSET 
#define IOU_SLCR_MIO_MST_TRI1_OFFSET                                               0XFF180208
#undef IOU_SLCR_MIO_MST_TRI2_OFFSET 
#define IOU_SLCR_MIO_MST_TRI2_OFFSET                                               0XFF18020C
#undef IOU_SLCR_BANK0_CTRL0_OFFSET 
#define IOU_SLCR_BANK0_CTRL0_OFFSET                                                0XFF180138
#undef IOU_SLCR_BANK0_CTRL1_OFFSET 
#define IOU_SLCR_BANK0_CTRL1_OFFSET                                                0XFF18013C
#undef IOU_SLCR_BANK0_CTRL3_OFFSET 
#define IOU_SLCR_BANK0_CTRL3_OFFSET                                                0XFF180140
#undef IOU_SLCR_BANK0_CTRL4_OFFSET 
#define IOU_SLCR_BANK0_CTRL4_OFFSET                                                0XFF180144
#undef IOU_SLCR_BANK0_CTRL5_OFFSET 
#define IOU_SLCR_BANK0_CTRL5_OFFSET                                                0XFF180148
#undef IOU_SLCR_BANK0_CTRL6_OFFSET 
#define IOU_SLCR_BANK0_CTRL6_OFFSET                                                0XFF18014C
#undef IOU_SLCR_BANK1_CTRL0_OFFSET 
#define IOU_SLCR_BANK1_CTRL0_OFFSET                                                0XFF180154
#undef IOU_SLCR_BANK1_CTRL1_OFFSET 
#define IOU_SLCR_BANK1_CTRL1_OFFSET                                                0XFF180158
#undef IOU_SLCR_BANK1_CTRL3_OFFSET 
#define IOU_SLCR_BANK1_CTRL3_OFFSET                                                0XFF18015C
#undef IOU_SLCR_BANK1_CTRL4_OFFSET 
#define IOU_SLCR_BANK1_CTRL4_OFFSET                                                0XFF180160
#undef IOU_SLCR_BANK1_CTRL5_OFFSET 
#define IOU_SLCR_BANK1_CTRL5_OFFSET                                                0XFF180164
#undef IOU_SLCR_BANK1_CTRL6_OFFSET 
#define IOU_SLCR_BANK1_CTRL6_OFFSET                                                0XFF180168
#undef IOU_SLCR_BANK2_CTRL0_OFFSET 
#define IOU_SLCR_BANK2_CTRL0_OFFSET                                                0XFF180170
#undef IOU_SLCR_BANK2_CTRL1_OFFSET 
#define IOU_SLCR_BANK2_CTRL1_OFFSET                                                0XFF180174
#undef IOU_SLCR_BANK2_CTRL3_OFFSET 
#define IOU_SLCR_BANK2_CTRL3_OFFSET                                                0XFF180178
#undef IOU_SLCR_BANK2_CTRL4_OFFSET 
#define IOU_SLCR_BANK2_CTRL4_OFFSET                                                0XFF18017C
#undef IOU_SLCR_BANK2_CTRL5_OFFSET 
#define IOU_SLCR_BANK2_CTRL5_OFFSET                                                0XFF180180
#undef IOU_SLCR_BANK2_CTRL6_OFFSET 
#define IOU_SLCR_BANK2_CTRL6_OFFSET                                                0XFF180184
#undef IOU_SLCR_MIO_LOOPBACK_OFFSET 
#define IOU_SLCR_MIO_LOOPBACK_OFFSET                                               0XFF180200

/*
* Level 0 Mux Select 0= Level 1 Mux Output 1= qspi, Output, qspi_sclk_out-
    *  (QSPI Clock)
*/
#undef IOU_SLCR_MIO_PIN_0_L0_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_0_L0_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_0_L0_SEL_MASK 
#define IOU_SLCR_MIO_PIN_0_L0_SEL_DEFVAL                       0x00000000
#define IOU_SLCR_MIO_PIN_0_L0_SEL_SHIFT                        1
#define IOU_SLCR_MIO_PIN_0_L0_SEL_MASK                         0x00000002U

/*
* Level 1 Mux Select 0= Level 2 Mux Output 1= Not Used
*/
#undef IOU_SLCR_MIO_PIN_0_L1_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_0_L1_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_0_L1_SEL_MASK 
#define IOU_SLCR_MIO_PIN_0_L1_SEL_DEFVAL                       0x00000000
#define IOU_SLCR_MIO_PIN_0_L1_SEL_SHIFT                        2
#define IOU_SLCR_MIO_PIN_0_L1_SEL_MASK                         0x00000004U

/*
* Level 2 Mux Select 0= Level 3 Mux Output 1= Not Used 2= test_scan, Input
    * , test_scan_in[0]- (Test Scan Port) = test_scan, Output, test_scan_out[0
    * ]- (Test Scan Port) 3= Not Used
*/
#undef IOU_SLCR_MIO_PIN_0_L2_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_0_L2_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_0_L2_SEL_MASK 
#define IOU_SLCR_MIO_PIN_0_L2_SEL_DEFVAL                       0x00000000
#define IOU_SLCR_MIO_PIN_0_L2_SEL_SHIFT                        3
#define IOU_SLCR_MIO_PIN_0_L2_SEL_MASK                         0x00000018U

/*
* Level 3 Mux Select 0= gpio0, Input, gpio_0_pin_in[0]- (GPIO bank 0) 0= g
    * pio0, Output, gpio_0_pin_out[0]- (GPIO bank 0) 1= can1, Output, can1_phy
    * _tx- (Can TX signal) 2= i2c1, Input, i2c1_scl_input- (SCL signal) 2= i2c
    * 1, Output, i2c1_scl_out- (SCL signal) 3= pjtag, Input, pjtag_tck- (PJTAG
    *  TCK) 4= spi0, Input, spi0_sclk_in- (SPI Clock) 4= spi0, Output, spi0_sc
    * lk_out- (SPI Clock) 5= ttc3, Input, ttc3_clk_in- (TTC Clock) 6= ua1, Out
    * put, ua1_txd- (UART transmitter serial output) 7= trace, Output, trace_c
    * lk- (Trace Port Clock)
*/
#undef IOU_SLCR_MIO_PIN_0_L3_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_0_L3_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_0_L3_SEL_MASK 
#define IOU_SLCR_MIO_PIN_0_L3_SEL_DEFVAL                       0x00000000
#define IOU_SLCR_MIO_PIN_0_L3_SEL_SHIFT                        5
#define IOU_SLCR_MIO_PIN_0_L3_SEL_MASK                         0x000000E0U

/*
* Level 0 Mux Select 0= Level 1 Mux Output 1= qspi, Input, qspi_mi_mi1- (Q
    * SPI Databus) 1= qspi, Output, qspi_so_mo1- (QSPI Databus)
*/
#undef IOU_SLCR_MIO_PIN_1_L0_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_1_L0_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_1_L0_SEL_MASK 
#define IOU_SLCR_MIO_PIN_1_L0_SEL_DEFVAL                       0x00000000
#define IOU_SLCR_MIO_PIN_1_L0_SEL_SHIFT                        1
#define IOU_SLCR_MIO_PIN_1_L0_SEL_MASK                         0x00000002U

/*
* Level 1 Mux Select 0= Level 2 Mux Output 1= Not Used
*/
#undef IOU_SLCR_MIO_PIN_1_L1_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_1_L1_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_1_L1_SEL_MASK 
#define IOU_SLCR_MIO_PIN_1_L1_SEL_DEFVAL                       0x00000000
#define IOU_SLCR_MIO_PIN_1_L1_SEL_SHIFT                        2
#define IOU_SLCR_MIO_PIN_1_L1_SEL_MASK                         0x00000004U

/*
* Level 2 Mux Select 0= Level 3 Mux Output 1= Not Used 2= test_scan, Input
    * , test_scan_in[1]- (Test Scan Port) = test_scan, Output, test_scan_out[1
    * ]- (Test Scan Port) 3= Not Used
*/
#undef IOU_SLCR_MIO_PIN_1_L2_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_1_L2_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_1_L2_SEL_MASK 
#define IOU_SLCR_MIO_PIN_1_L2_SEL_DEFVAL                       0x00000000
#define IOU_SLCR_MIO_PIN_1_L2_SEL_SHIFT                        3
#define IOU_SLCR_MIO_PIN_1_L2_SEL_MASK                         0x00000018U

/*
* Level 3 Mux Select 0= gpio0, Input, gpio_0_pin_in[1]- (GPIO bank 0) 0= g
    * pio0, Output, gpio_0_pin_out[1]- (GPIO bank 0) 1= can1, Input, can1_phy_
    * rx- (Can RX signal) 2= i2c1, Input, i2c1_sda_input- (SDA signal) 2= i2c1
    * , Output, i2c1_sda_out- (SDA signal) 3= pjtag, Input, pjtag_tdi- (PJTAG
    * TDI) 4= spi0, Output, spi0_n_ss_out[2]- (SPI Master Selects) 5= ttc3, Ou
    * tput, ttc3_wave_out- (TTC Waveform Clock) 6= ua1, Input, ua1_rxd- (UART
    * receiver serial input) 7= trace, Output, trace_ctl- (Trace Port Control
    * Signal)
*/
#undef IOU_SLCR_MIO_PIN_1_L3_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_1_L3_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_1_L3_SEL_MASK 
#define IOU_SLCR_MIO_PIN_1_L3_SEL_DEFVAL                       0x00000000
#define IOU_SLCR_MIO_PIN_1_L3_SEL_SHIFT                        5
#define IOU_SLCR_MIO_PIN_1_L3_SEL_MASK                         0x000000E0U

/*
* Level 0 Mux Select 0= Level 1 Mux Output 1= qspi, Input, qspi_mi2- (QSPI
    *  Databus) 1= qspi, Output, qspi_mo2- (QSPI Databus)
*/
#undef IOU_SLCR_MIO_PIN_2_L0_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_2_L0_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_2_L0_SEL_MASK 
#define IOU_SLCR_MIO_PIN_2_L0_SEL_DEFVAL                       0x00000000
#define IOU_SLCR_MIO_PIN_2_L0_SEL_SHIFT                        1
#define IOU_SLCR_MIO_PIN_2_L0_SEL_MASK                         0x00000002U

/*
* Level 1 Mux Select 0= Level 2 Mux Output 1= Not Used
*/
#undef IOU_SLCR_MIO_PIN_2_L1_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_2_L1_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_2_L1_SEL_MASK 
#define IOU_SLCR_MIO_PIN_2_L1_SEL_DEFVAL                       0x00000000
#define IOU_SLCR_MIO_PIN_2_L1_SEL_SHIFT                        2
#define IOU_SLCR_MIO_PIN_2_L1_SEL_MASK                         0x00000004U

/*
* Level 2 Mux Select 0= Level 3 Mux Output 1= Not Used 2= test_scan, Input
    * , test_scan_in[2]- (Test Scan Port) = test_scan, Output, test_scan_out[2
    * ]- (Test Scan Port) 3= Not Used
*/
#undef IOU_SLCR_MIO_PIN_2_L2_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_2_L2_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_2_L2_SEL_MASK 
#define IOU_SLCR_MIO_PIN_2_L2_SEL_DEFVAL                       0x00000000
#define IOU_SLCR_MIO_PIN_2_L2_SEL_SHIFT                        3
#define IOU_SLCR_MIO_PIN_2_L2_SEL_MASK                         0x00000018U

/*
* Level 3 Mux Select 0= gpio0, Input, gpio_0_pin_in[2]- (GPIO bank 0) 0= g
    * pio0, Output, gpio_0_pin_out[2]- (GPIO bank 0) 1= can0, Input, can0_phy_
    * rx- (Can RX signal) 2= i2c0, Input, i2c0_scl_input- (SCL signal) 2= i2c0
    * , Output, i2c0_scl_out- (SCL signal) 3= pjtag, Output, pjtag_tdo- (PJTAG
    *  TDO) 4= spi0, Output, spi0_n_ss_out[1]- (SPI Master Selects) 5= ttc2, I
    * nput, ttc2_clk_in- (TTC Clock) 6= ua0, Input, ua0_rxd- (UART receiver se
    * rial input) 7= trace, Output, tracedq[0]- (Trace Port Databus)
*/
#undef IOU_SLCR_MIO_PIN_2_L3_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_2_L3_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_2_L3_SEL_MASK 
#define IOU_SLCR_MIO_PIN_2_L3_SEL_DEFVAL                       0x00000000
#define IOU_SLCR_MIO_PIN_2_L3_SEL_SHIFT                        5
#define IOU_SLCR_MIO_PIN_2_L3_SEL_MASK                         0x000000E0U

/*
* Level 0 Mux Select 0= Level 1 Mux Output 1= qspi, Input, qspi_mi3- (QSPI
    *  Databus) 1= qspi, Output, qspi_mo3- (QSPI Databus)
*/
#undef IOU_SLCR_MIO_PIN_3_L0_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_3_L0_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_3_L0_SEL_MASK 
#define IOU_SLCR_MIO_PIN_3_L0_SEL_DEFVAL                       0x00000000
#define IOU_SLCR_MIO_PIN_3_L0_SEL_SHIFT                        1
#define IOU_SLCR_MIO_PIN_3_L0_SEL_MASK                         0x00000002U

/*
* Level 1 Mux Select 0= Level 2 Mux Output 1= Not Used
*/
#undef IOU_SLCR_MIO_PIN_3_L1_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_3_L1_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_3_L1_SEL_MASK 
#define IOU_SLCR_MIO_PIN_3_L1_SEL_DEFVAL                       0x00000000
#define IOU_SLCR_MIO_PIN_3_L1_SEL_SHIFT                        2
#define IOU_SLCR_MIO_PIN_3_L1_SEL_MASK                         0x00000004U

/*
* Level 2 Mux Select 0= Level 3 Mux Output 1= Not Used 2= test_scan, Input
    * , test_scan_in[3]- (Test Scan Port) = test_scan, Output, test_scan_out[3
    * ]- (Test Scan Port) 3= Not Used
*/
#undef IOU_SLCR_MIO_PIN_3_L2_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_3_L2_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_3_L2_SEL_MASK 
#define IOU_SLCR_MIO_PIN_3_L2_SEL_DEFVAL                       0x00000000
#define IOU_SLCR_MIO_PIN_3_L2_SEL_SHIFT                        3
#define IOU_SLCR_MIO_PIN_3_L2_SEL_MASK                         0x00000018U

/*
* Level 3 Mux Select 0= gpio0, Input, gpio_0_pin_in[3]- (GPIO bank 0) 0= g
    * pio0, Output, gpio_0_pin_out[3]- (GPIO bank 0) 1= can0, Output, can0_phy
    * _tx- (Can TX signal) 2= i2c0, Input, i2c0_sda_input- (SDA signal) 2= i2c
    * 0, Output, i2c0_sda_out- (SDA signal) 3= pjtag, Input, pjtag_tms- (PJTAG
    *  TMS) 4= spi0, Input, spi0_n_ss_in- (SPI Master Selects) 4= spi0, Output
    * , spi0_n_ss_out[0]- (SPI Master Selects) 5= ttc2, Output, ttc2_wave_out-
    *  (TTC Waveform Clock) 6= ua0, Output, ua0_txd- (UART transmitter serial
    * output) 7= trace, Output, tracedq[1]- (Trace Port Databus)
*/
#undef IOU_SLCR_MIO_PIN_3_L3_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_3_L3_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_3_L3_SEL_MASK 
#define IOU_SLCR_MIO_PIN_3_L3_SEL_DEFVAL                       0x00000000
#define IOU_SLCR_MIO_PIN_3_L3_SEL_SHIFT                        5
#define IOU_SLCR_MIO_PIN_3_L3_SEL_MASK                         0x000000E0U

/*
* Level 0 Mux Select 0= Level 1 Mux Output 1= qspi, Output, qspi_mo_mo0- (
    * QSPI Databus) 1= qspi, Input, qspi_si_mi0- (QSPI Databus)
*/
#undef IOU_SLCR_MIO_PIN_4_L0_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_4_L0_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_4_L0_SEL_MASK 
#define IOU_SLCR_MIO_PIN_4_L0_SEL_DEFVAL                       0x00000000
#define IOU_SLCR_MIO_PIN_4_L0_SEL_SHIFT                        1
#define IOU_SLCR_MIO_PIN_4_L0_SEL_MASK                         0x00000002U

/*
* Level 1 Mux Select 0= Level 2 Mux Output 1= Not Used
*/
#undef IOU_SLCR_MIO_PIN_4_L1_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_4_L1_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_4_L1_SEL_MASK 
#define IOU_SLCR_MIO_PIN_4_L1_SEL_DEFVAL                       0x00000000
#define IOU_SLCR_MIO_PIN_4_L1_SEL_SHIFT                        2
#define IOU_SLCR_MIO_PIN_4_L1_SEL_MASK                         0x00000004U

/*
* Level 2 Mux Select 0= Level 3 Mux Output 1= Not Used 2= test_scan, Input
    * , test_scan_in[4]- (Test Scan Port) = test_scan, Output, test_scan_out[4
    * ]- (Test Scan Port) 3= Not Used
*/
#undef IOU_SLCR_MIO_PIN_4_L2_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_4_L2_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_4_L2_SEL_MASK 
#define IOU_SLCR_MIO_PIN_4_L2_SEL_DEFVAL                       0x00000000
#define IOU_SLCR_MIO_PIN_4_L2_SEL_SHIFT                        3
#define IOU_SLCR_MIO_PIN_4_L2_SEL_MASK                         0x00000018U

/*
* Level 3 Mux Select 0= gpio0, Input, gpio_0_pin_in[4]- (GPIO bank 0) 0= g
    * pio0, Output, gpio_0_pin_out[4]- (GPIO bank 0) 1= can1, Output, can1_phy
    * _tx- (Can TX signal) 2= i2c1, Input, i2c1_scl_input- (SCL signal) 2= i2c
    * 1, Output, i2c1_scl_out- (SCL signal) 3= swdt1, Input, swdt1_clk_in- (Wa
    * tch Dog Timer Input clock) 4= spi0, Input, spi0_mi- (MISO signal) 4= spi
    * 0, Output, spi0_so- (MISO signal) 5= ttc1, Input, ttc1_clk_in- (TTC Cloc
    * k) 6= ua1, Output, ua1_txd- (UART transmitter serial output) 7= trace, O
    * utput, tracedq[2]- (Trace Port Databus)
*/
#undef IOU_SLCR_MIO_PIN_4_L3_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_4_L3_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_4_L3_SEL_MASK 
#define IOU_SLCR_MIO_PIN_4_L3_SEL_DEFVAL                       0x00000000
#define IOU_SLCR_MIO_PIN_4_L3_SEL_SHIFT                        5
#define IOU_SLCR_MIO_PIN_4_L3_SEL_MASK                         0x000000E0U

/*
* Level 0 Mux Select 0= Level 1 Mux Output 1= qspi, Output, qspi_n_ss_out-
    *  (QSPI Slave Select)
*/
#undef IOU_SLCR_MIO_PIN_5_L0_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_5_L0_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_5_L0_SEL_MASK 
#define IOU_SLCR_MIO_PIN_5_L0_SEL_DEFVAL                       0x00000000
#define IOU_SLCR_MIO_PIN_5_L0_SEL_SHIFT                        1
#define IOU_SLCR_MIO_PIN_5_L0_SEL_MASK                         0x00000002U

/*
* Level 1 Mux Select 0= Level 2 Mux Output 1= Not Used
*/
#undef IOU_SLCR_MIO_PIN_5_L1_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_5_L1_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_5_L1_SEL_MASK 
#define IOU_SLCR_MIO_PIN_5_L1_SEL_DEFVAL                       0x00000000
#define IOU_SLCR_MIO_PIN_5_L1_SEL_SHIFT                        2
#define IOU_SLCR_MIO_PIN_5_L1_SEL_MASK                         0x00000004U

/*
* Level 2 Mux Select 0= Level 3 Mux Output 1= Not Used 2= test_scan, Input
    * , test_scan_in[5]- (Test Scan Port) = test_scan, Output, test_scan_out[5
    * ]- (Test Scan Port) 3= Not Used
*/
#undef IOU_SLCR_MIO_PIN_5_L2_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_5_L2_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_5_L2_SEL_MASK 
#define IOU_SLCR_MIO_PIN_5_L2_SEL_DEFVAL                       0x00000000
#define IOU_SLCR_MIO_PIN_5_L2_SEL_SHIFT                        3
#define IOU_SLCR_MIO_PIN_5_L2_SEL_MASK                         0x00000018U

/*
* Level 3 Mux Select 0= gpio0, Input, gpio_0_pin_in[5]- (GPIO bank 0) 0= g
    * pio0, Output, gpio_0_pin_out[5]- (GPIO bank 0) 1= can1, Input, can1_phy_
    * rx- (Can RX signal) 2= i2c1, Input, i2c1_sda_input- (SDA signal) 2= i2c1
    * , Output, i2c1_sda_out- (SDA signal) 3= swdt1, Output, swdt1_rst_out- (W
    * atch Dog Timer Output clock) 4= spi0, Output, spi0_mo- (MOSI signal) 4=
    * spi0, Input, spi0_si- (MOSI signal) 5= ttc1, Output, ttc1_wave_out- (TTC
    *  Waveform Clock) 6= ua1, Input, ua1_rxd- (UART receiver serial input) 7=
    *  trace, Output, tracedq[3]- (Trace Port Databus)
*/
#undef IOU_SLCR_MIO_PIN_5_L3_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_5_L3_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_5_L3_SEL_MASK 
#define IOU_SLCR_MIO_PIN_5_L3_SEL_DEFVAL                       0x00000000
#define IOU_SLCR_MIO_PIN_5_L3_SEL_SHIFT                        5
#define IOU_SLCR_MIO_PIN_5_L3_SEL_MASK                         0x000000E0U

/*
* Level 0 Mux Select 0= Level 1 Mux Output 1= qspi, Output, qspi_clk_for_l
    * pbk- (QSPI Clock to be fed-back)
*/
#undef IOU_SLCR_MIO_PIN_6_L0_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_6_L0_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_6_L0_SEL_MASK 
#define IOU_SLCR_MIO_PIN_6_L0_SEL_DEFVAL                       0x00000000
#define IOU_SLCR_MIO_PIN_6_L0_SEL_SHIFT                        1
#define IOU_SLCR_MIO_PIN_6_L0_SEL_MASK                         0x00000002U

/*
* Level 1 Mux Select 0= Level 2 Mux Output 1= Not Used
*/
#undef IOU_SLCR_MIO_PIN_6_L1_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_6_L1_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_6_L1_SEL_MASK 
#define IOU_SLCR_MIO_PIN_6_L1_SEL_DEFVAL                       0x00000000
#define IOU_SLCR_MIO_PIN_6_L1_SEL_SHIFT                        2
#define IOU_SLCR_MIO_PIN_6_L1_SEL_MASK                         0x00000004U

/*
* Level 2 Mux Select 0= Level 3 Mux Output 1= Not Used 2= test_scan, Input
    * , test_scan_in[6]- (Test Scan Port) = test_scan, Output, test_scan_out[6
    * ]- (Test Scan Port) 3= Not Used
*/
#undef IOU_SLCR_MIO_PIN_6_L2_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_6_L2_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_6_L2_SEL_MASK 
#define IOU_SLCR_MIO_PIN_6_L2_SEL_DEFVAL                       0x00000000
#define IOU_SLCR_MIO_PIN_6_L2_SEL_SHIFT                        3
#define IOU_SLCR_MIO_PIN_6_L2_SEL_MASK                         0x00000018U

/*
* Level 3 Mux Select 0= gpio0, Input, gpio_0_pin_in[6]- (GPIO bank 0) 0= g
    * pio0, Output, gpio_0_pin_out[6]- (GPIO bank 0) 1= can0, Input, can0_phy_
    * rx- (Can RX signal) 2= i2c0, Input, i2c0_scl_input- (SCL signal) 2= i2c0
    * , Output, i2c0_scl_out- (SCL signal) 3= swdt0, Input, swdt0_clk_in- (Wat
    * ch Dog Timer Input clock) 4= spi1, Input, spi1_sclk_in- (SPI Clock) 4= s
    * pi1, Output, spi1_sclk_out- (SPI Clock) 5= ttc0, Input, ttc0_clk_in- (TT
    * C Clock) 6= ua0, Input, ua0_rxd- (UART receiver serial input) 7= trace,
    * Output, tracedq[4]- (Trace Port Databus)
*/
#undef IOU_SLCR_MIO_PIN_6_L3_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_6_L3_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_6_L3_SEL_MASK 
#define IOU_SLCR_MIO_PIN_6_L3_SEL_DEFVAL                       0x00000000
#define IOU_SLCR_MIO_PIN_6_L3_SEL_SHIFT                        5
#define IOU_SLCR_MIO_PIN_6_L3_SEL_MASK                         0x000000E0U

/*
* Level 0 Mux Select 0= Level 1 Mux Output 1= qspi, Output, qspi_n_ss_out_
    * upper- (QSPI Slave Select upper)
*/
#undef IOU_SLCR_MIO_PIN_7_L0_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_7_L0_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_7_L0_SEL_MASK 
#define IOU_SLCR_MIO_PIN_7_L0_SEL_DEFVAL                       0x00000000
#define IOU_SLCR_MIO_PIN_7_L0_SEL_SHIFT                        1
#define IOU_SLCR_MIO_PIN_7_L0_SEL_MASK                         0x00000002U

/*
* Level 1 Mux Select 0= Level 2 Mux Output 1= Not Used
*/
#undef IOU_SLCR_MIO_PIN_7_L1_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_7_L1_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_7_L1_SEL_MASK 
#define IOU_SLCR_MIO_PIN_7_L1_SEL_DEFVAL                       0x00000000
#define IOU_SLCR_MIO_PIN_7_L1_SEL_SHIFT                        2
#define IOU_SLCR_MIO_PIN_7_L1_SEL_MASK                         0x00000004U

/*
* Level 2 Mux Select 0= Level 3 Mux Output 1= Not Used 2= test_scan, Input
    * , test_scan_in[7]- (Test Scan Port) = test_scan, Output, test_scan_out[7
    * ]- (Test Scan Port) 3= Not Used
*/
#undef IOU_SLCR_MIO_PIN_7_L2_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_7_L2_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_7_L2_SEL_MASK 
#define IOU_SLCR_MIO_PIN_7_L2_SEL_DEFVAL                       0x00000000
#define IOU_SLCR_MIO_PIN_7_L2_SEL_SHIFT                        3
#define IOU_SLCR_MIO_PIN_7_L2_SEL_MASK                         0x00000018U

/*
* Level 3 Mux Select 0= gpio0, Input, gpio_0_pin_in[7]- (GPIO bank 0) 0= g
    * pio0, Output, gpio_0_pin_out[7]- (GPIO bank 0) 1= can0, Output, can0_phy
    * _tx- (Can TX signal) 2= i2c0, Input, i2c0_sda_input- (SDA signal) 2= i2c
    * 0, Output, i2c0_sda_out- (SDA signal) 3= swdt0, Output, swdt0_rst_out- (
    * Watch Dog Timer Output clock) 4= spi1, Output, spi1_n_ss_out[2]- (SPI Ma
    * ster Selects) 5= ttc0, Output, ttc0_wave_out- (TTC Waveform Clock) 6= ua
    * 0, Output, ua0_txd- (UART transmitter serial output) 7= trace, Output, t
    * racedq[5]- (Trace Port Databus)
*/
#undef IOU_SLCR_MIO_PIN_7_L3_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_7_L3_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_7_L3_SEL_MASK 
#define IOU_SLCR_MIO_PIN_7_L3_SEL_DEFVAL                       0x00000000
#define IOU_SLCR_MIO_PIN_7_L3_SEL_SHIFT                        5
#define IOU_SLCR_MIO_PIN_7_L3_SEL_MASK                         0x000000E0U

/*
* Level 0 Mux Select 0= Level 1 Mux Output 1= qspi, Input, qspi_mi_upper[0
    * ]- (QSPI Upper Databus) 1= qspi, Output, qspi_mo_upper[0]- (QSPI Upper D
    * atabus)
*/
#undef IOU_SLCR_MIO_PIN_8_L0_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_8_L0_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_8_L0_SEL_MASK 
#define IOU_SLCR_MIO_PIN_8_L0_SEL_DEFVAL                       0x00000000
#define IOU_SLCR_MIO_PIN_8_L0_SEL_SHIFT                        1
#define IOU_SLCR_MIO_PIN_8_L0_SEL_MASK                         0x00000002U

/*
* Level 1 Mux Select 0= Level 2 Mux Output 1= Not Used
*/
#undef IOU_SLCR_MIO_PIN_8_L1_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_8_L1_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_8_L1_SEL_MASK 
#define IOU_SLCR_MIO_PIN_8_L1_SEL_DEFVAL                       0x00000000
#define IOU_SLCR_MIO_PIN_8_L1_SEL_SHIFT                        2
#define IOU_SLCR_MIO_PIN_8_L1_SEL_MASK                         0x00000004U

/*
* Level 2 Mux Select 0= Level 3 Mux Output 1= Not Used 2= test_scan, Input
    * , test_scan_in[8]- (Test Scan Port) = test_scan, Output, test_scan_out[8
    * ]- (Test Scan Port) 3= Not Used
*/
#undef IOU_SLCR_MIO_PIN_8_L2_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_8_L2_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_8_L2_SEL_MASK 
#define IOU_SLCR_MIO_PIN_8_L2_SEL_DEFVAL                       0x00000000
#define IOU_SLCR_MIO_PIN_8_L2_SEL_SHIFT                        3
#define IOU_SLCR_MIO_PIN_8_L2_SEL_MASK                         0x00000018U

/*
* Level 3 Mux Select 0= gpio0, Input, gpio_0_pin_in[8]- (GPIO bank 0) 0= g
    * pio0, Output, gpio_0_pin_out[8]- (GPIO bank 0) 1= can1, Output, can1_phy
    * _tx- (Can TX signal) 2= i2c1, Input, i2c1_scl_input- (SCL signal) 2= i2c
    * 1, Output, i2c1_scl_out- (SCL signal) 3= swdt1, Input, swdt1_clk_in- (Wa
    * tch Dog Timer Input clock) 4= spi1, Output, spi1_n_ss_out[1]- (SPI Maste
    * r Selects) 5= ttc3, Input, ttc3_clk_in- (TTC Clock) 6= ua1, Output, ua1_
    * txd- (UART transmitter serial output) 7= trace, Output, tracedq[6]- (Tra
    * ce Port Databus)
*/
#undef IOU_SLCR_MIO_PIN_8_L3_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_8_L3_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_8_L3_SEL_MASK 
#define IOU_SLCR_MIO_PIN_8_L3_SEL_DEFVAL                       0x00000000
#define IOU_SLCR_MIO_PIN_8_L3_SEL_SHIFT                        5
#define IOU_SLCR_MIO_PIN_8_L3_SEL_MASK                         0x000000E0U

/*
* Level 0 Mux Select 0= Level 1 Mux Output 1= qspi, Input, qspi_mi_upper[1
    * ]- (QSPI Upper Databus) 1= qspi, Output, qspi_mo_upper[1]- (QSPI Upper D
    * atabus)
*/
#undef IOU_SLCR_MIO_PIN_9_L0_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_9_L0_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_9_L0_SEL_MASK 
#define IOU_SLCR_MIO_PIN_9_L0_SEL_DEFVAL                       0x00000000
#define IOU_SLCR_MIO_PIN_9_L0_SEL_SHIFT                        1
#define IOU_SLCR_MIO_PIN_9_L0_SEL_MASK                         0x00000002U

/*
* Level 1 Mux Select 0= Level 2 Mux Output 1= nand, Output, nfc_ce[1]- (NA
    * ND chip enable)
*/
#undef IOU_SLCR_MIO_PIN_9_L1_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_9_L1_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_9_L1_SEL_MASK 
#define IOU_SLCR_MIO_PIN_9_L1_SEL_DEFVAL                       0x00000000
#define IOU_SLCR_MIO_PIN_9_L1_SEL_SHIFT                        2
#define IOU_SLCR_MIO_PIN_9_L1_SEL_MASK                         0x00000004U

/*
* Level 2 Mux Select 0= Level 3 Mux Output 1= Not Used 2= test_scan, Input
    * , test_scan_in[9]- (Test Scan Port) = test_scan, Output, test_scan_out[9
    * ]- (Test Scan Port) 3= Not Used
*/
#undef IOU_SLCR_MIO_PIN_9_L2_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_9_L2_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_9_L2_SEL_MASK 
#define IOU_SLCR_MIO_PIN_9_L2_SEL_DEFVAL                       0x00000000
#define IOU_SLCR_MIO_PIN_9_L2_SEL_SHIFT                        3
#define IOU_SLCR_MIO_PIN_9_L2_SEL_MASK                         0x00000018U

/*
* Level 3 Mux Select 0= gpio0, Input, gpio_0_pin_in[9]- (GPIO bank 0) 0= g
    * pio0, Output, gpio_0_pin_out[9]- (GPIO bank 0) 1= can1, Input, can1_phy_
    * rx- (Can RX signal) 2= i2c1, Input, i2c1_sda_input- (SDA signal) 2= i2c1
    * , Output, i2c1_sda_out- (SDA signal) 3= swdt1, Output, swdt1_rst_out- (W
    * atch Dog Timer Output clock) 4= spi1, Input, spi1_n_ss_in- (SPI Master S
    * elects) 4= spi1, Output, spi1_n_ss_out[0]- (SPI Master Selects) 5= ttc3,
    *  Output, ttc3_wave_out- (TTC Waveform Clock) 6= ua1, Input, ua1_rxd- (UA
    * RT receiver serial input) 7= trace, Output, tracedq[7]- (Trace Port Data
    * bus)
*/
#undef IOU_SLCR_MIO_PIN_9_L3_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_9_L3_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_9_L3_SEL_MASK 
#define IOU_SLCR_MIO_PIN_9_L3_SEL_DEFVAL                       0x00000000
#define IOU_SLCR_MIO_PIN_9_L3_SEL_SHIFT                        5
#define IOU_SLCR_MIO_PIN_9_L3_SEL_MASK                         0x000000E0U

/*
* Level 0 Mux Select 0= Level 1 Mux Output 1= qspi, Input, qspi_mi_upper[2
    * ]- (QSPI Upper Databus) 1= qspi, Output, qspi_mo_upper[2]- (QSPI Upper D
    * atabus)
*/
#undef IOU_SLCR_MIO_PIN_10_L0_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_10_L0_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_10_L0_SEL_MASK 
#define IOU_SLCR_MIO_PIN_10_L0_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_10_L0_SEL_SHIFT                       1
#define IOU_SLCR_MIO_PIN_10_L0_SEL_MASK                        0x00000002U

/*
* Level 1 Mux Select 0= Level 2 Mux Output 1= nand, Input, nfc_rb_n[0]- (N
    * AND Ready/Busy)
*/
#undef IOU_SLCR_MIO_PIN_10_L1_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_10_L1_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_10_L1_SEL_MASK 
#define IOU_SLCR_MIO_PIN_10_L1_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_10_L1_SEL_SHIFT                       2
#define IOU_SLCR_MIO_PIN_10_L1_SEL_MASK                        0x00000004U

/*
* Level 2 Mux Select 0= Level 3 Mux Output 1= Not Used 2= test_scan, Input
    * , test_scan_in[10]- (Test Scan Port) = test_scan, Output, test_scan_out[
    * 10]- (Test Scan Port) 3= Not Used
*/
#undef IOU_SLCR_MIO_PIN_10_L2_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_10_L2_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_10_L2_SEL_MASK 
#define IOU_SLCR_MIO_PIN_10_L2_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_10_L2_SEL_SHIFT                       3
#define IOU_SLCR_MIO_PIN_10_L2_SEL_MASK                        0x00000018U

/*
* Level 3 Mux Select 0= gpio0, Input, gpio_0_pin_in[10]- (GPIO bank 0) 0=
    * gpio0, Output, gpio_0_pin_out[10]- (GPIO bank 0) 1= can0, Input, can0_ph
    * y_rx- (Can RX signal) 2= i2c0, Input, i2c0_scl_input- (SCL signal) 2= i2
    * c0, Output, i2c0_scl_out- (SCL signal) 3= swdt0, Input, swdt0_clk_in- (W
    * atch Dog Timer Input clock) 4= spi1, Input, spi1_mi- (MISO signal) 4= sp
    * i1, Output, spi1_so- (MISO signal) 5= ttc2, Input, ttc2_clk_in- (TTC Clo
    * ck) 6= ua0, Input, ua0_rxd- (UART receiver serial input) 7= trace, Outpu
    * t, tracedq[8]- (Trace Port Databus)
*/
#undef IOU_SLCR_MIO_PIN_10_L3_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_10_L3_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_10_L3_SEL_MASK 
#define IOU_SLCR_MIO_PIN_10_L3_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_10_L3_SEL_SHIFT                       5
#define IOU_SLCR_MIO_PIN_10_L3_SEL_MASK                        0x000000E0U

/*
* Level 0 Mux Select 0= Level 1 Mux Output 1= qspi, Input, qspi_mi_upper[3
    * ]- (QSPI Upper Databus) 1= qspi, Output, qspi_mo_upper[3]- (QSPI Upper D
    * atabus)
*/
#undef IOU_SLCR_MIO_PIN_11_L0_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_11_L0_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_11_L0_SEL_MASK 
#define IOU_SLCR_MIO_PIN_11_L0_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_11_L0_SEL_SHIFT                       1
#define IOU_SLCR_MIO_PIN_11_L0_SEL_MASK                        0x00000002U

/*
* Level 1 Mux Select 0= Level 2 Mux Output 1= nand, Input, nfc_rb_n[1]- (N
    * AND Ready/Busy)
*/
#undef IOU_SLCR_MIO_PIN_11_L1_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_11_L1_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_11_L1_SEL_MASK 
#define IOU_SLCR_MIO_PIN_11_L1_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_11_L1_SEL_SHIFT                       2
#define IOU_SLCR_MIO_PIN_11_L1_SEL_MASK                        0x00000004U

/*
* Level 2 Mux Select 0= Level 3 Mux Output 1= Not Used 2= test_scan, Input
    * , test_scan_in[11]- (Test Scan Port) = test_scan, Output, test_scan_out[
    * 11]- (Test Scan Port) 3= Not Used
*/
#undef IOU_SLCR_MIO_PIN_11_L2_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_11_L2_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_11_L2_SEL_MASK 
#define IOU_SLCR_MIO_PIN_11_L2_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_11_L2_SEL_SHIFT                       3
#define IOU_SLCR_MIO_PIN_11_L2_SEL_MASK                        0x00000018U

/*
* Level 3 Mux Select 0= gpio0, Input, gpio_0_pin_in[11]- (GPIO bank 0) 0=
    * gpio0, Output, gpio_0_pin_out[11]- (GPIO bank 0) 1= can0, Output, can0_p
    * hy_tx- (Can TX signal) 2= i2c0, Input, i2c0_sda_input- (SDA signal) 2= i
    * 2c0, Output, i2c0_sda_out- (SDA signal) 3= swdt0, Output, swdt0_rst_out-
    *  (Watch Dog Timer Output clock) 4= spi1, Output, spi1_mo- (MOSI signal)
    * 4= spi1, Input, spi1_si- (MOSI signal) 5= ttc2, Output, ttc2_wave_out- (
    * TTC Waveform Clock) 6= ua0, Output, ua0_txd- (UART transmitter serial ou
    * tput) 7= trace, Output, tracedq[9]- (Trace Port Databus)
*/
#undef IOU_SLCR_MIO_PIN_11_L3_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_11_L3_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_11_L3_SEL_MASK 
#define IOU_SLCR_MIO_PIN_11_L3_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_11_L3_SEL_SHIFT                       5
#define IOU_SLCR_MIO_PIN_11_L3_SEL_MASK                        0x000000E0U

/*
* Level 0 Mux Select 0= Level 1 Mux Output 1= qspi, Output, qspi_sclk_out_
    * upper- (QSPI Upper Clock)
*/
#undef IOU_SLCR_MIO_PIN_12_L0_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_12_L0_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_12_L0_SEL_MASK 
#define IOU_SLCR_MIO_PIN_12_L0_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_12_L0_SEL_SHIFT                       1
#define IOU_SLCR_MIO_PIN_12_L0_SEL_MASK                        0x00000002U

/*
* Level 1 Mux Select 0= Level 2 Mux Output 1= nand, Input, nfc_dqs_in- (NA
    * ND Strobe) 1= nand, Output, nfc_dqs_out- (NAND Strobe)
*/
#undef IOU_SLCR_MIO_PIN_12_L1_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_12_L1_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_12_L1_SEL_MASK 
#define IOU_SLCR_MIO_PIN_12_L1_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_12_L1_SEL_SHIFT                       2
#define IOU_SLCR_MIO_PIN_12_L1_SEL_MASK                        0x00000004U

/*
* Level 2 Mux Select 0= Level 3 Mux Output 1= Not Used 2= test_scan, Input
    * , test_scan_in[12]- (Test Scan Port) = test_scan, Output, test_scan_out[
    * 12]- (Test Scan Port) 3= Not Used
*/
#undef IOU_SLCR_MIO_PIN_12_L2_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_12_L2_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_12_L2_SEL_MASK 
#define IOU_SLCR_MIO_PIN_12_L2_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_12_L2_SEL_SHIFT                       3
#define IOU_SLCR_MIO_PIN_12_L2_SEL_MASK                        0x00000018U

/*
* Level 3 Mux Select 0= gpio0, Input, gpio_0_pin_in[12]- (GPIO bank 0) 0=
    * gpio0, Output, gpio_0_pin_out[12]- (GPIO bank 0) 1= can1, Output, can1_p
    * hy_tx- (Can TX signal) 2= i2c1, Input, i2c1_scl_input- (SCL signal) 2= i
    * 2c1, Output, i2c1_scl_out- (SCL signal) 3= pjtag, Input, pjtag_tck- (PJT
    * AG TCK) 4= spi0, Input, spi0_sclk_in- (SPI Clock) 4= spi0, Output, spi0_
    * sclk_out- (SPI Clock) 5= ttc1, Input, ttc1_clk_in- (TTC Clock) 6= ua1, O
    * utput, ua1_txd- (UART transmitter serial output) 7= trace, Output, trace
    * dq[10]- (Trace Port Databus)
*/
#undef IOU_SLCR_MIO_PIN_12_L3_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_12_L3_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_12_L3_SEL_MASK 
#define IOU_SLCR_MIO_PIN_12_L3_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_12_L3_SEL_SHIFT                       5
#define IOU_SLCR_MIO_PIN_12_L3_SEL_MASK                        0x000000E0U

/*
* Level 0 Mux Select 0= Level 1 Mux Output 1= Not Used
*/
#undef IOU_SLCR_MIO_PIN_13_L0_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_13_L0_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_13_L0_SEL_MASK 
#define IOU_SLCR_MIO_PIN_13_L0_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_13_L0_SEL_SHIFT                       1
#define IOU_SLCR_MIO_PIN_13_L0_SEL_MASK                        0x00000002U

/*
* Level 1 Mux Select 0= Level 2 Mux Output 1= nand, Output, nfc_ce[0]- (NA
    * ND chip enable)
*/
#undef IOU_SLCR_MIO_PIN_13_L1_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_13_L1_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_13_L1_SEL_MASK 
#define IOU_SLCR_MIO_PIN_13_L1_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_13_L1_SEL_SHIFT                       2
#define IOU_SLCR_MIO_PIN_13_L1_SEL_MASK                        0x00000004U

/*
* Level 2 Mux Select 0= Level 3 Mux Output 1= sd0, Input, sd0_data_in[0]-
    * (8-bit Data bus) = sd0, Output, sdio0_data_out[0]- (8-bit Data bus) 2= t
    * est_scan, Input, test_scan_in[13]- (Test Scan Port) = test_scan, Output,
    *  test_scan_out[13]- (Test Scan Port) 3= Not Used
*/
#undef IOU_SLCR_MIO_PIN_13_L2_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_13_L2_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_13_L2_SEL_MASK 
#define IOU_SLCR_MIO_PIN_13_L2_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_13_L2_SEL_SHIFT                       3
#define IOU_SLCR_MIO_PIN_13_L2_SEL_MASK                        0x00000018U

/*
* Level 3 Mux Select 0= gpio0, Input, gpio_0_pin_in[13]- (GPIO bank 0) 0=
    * gpio0, Output, gpio_0_pin_out[13]- (GPIO bank 0) 1= can1, Input, can1_ph
    * y_rx- (Can RX signal) 2= i2c1, Input, i2c1_sda_input- (SDA signal) 2= i2
    * c1, Output, i2c1_sda_out- (SDA signal) 3= pjtag, Input, pjtag_tdi- (PJTA
    * G TDI) 4= spi0, Output, spi0_n_ss_out[2]- (SPI Master Selects) 5= ttc1,
    * Output, ttc1_wave_out- (TTC Waveform Clock) 6= ua1, Input, ua1_rxd- (UAR
    * T receiver serial input) 7= trace, Output, tracedq[11]- (Trace Port Data
    * bus)
*/
#undef IOU_SLCR_MIO_PIN_13_L3_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_13_L3_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_13_L3_SEL_MASK 
#define IOU_SLCR_MIO_PIN_13_L3_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_13_L3_SEL_SHIFT                       5
#define IOU_SLCR_MIO_PIN_13_L3_SEL_MASK                        0x000000E0U

/*
* Level 0 Mux Select 0= Level 1 Mux Output 1= Not Used
*/
#undef IOU_SLCR_MIO_PIN_14_L0_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_14_L0_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_14_L0_SEL_MASK 
#define IOU_SLCR_MIO_PIN_14_L0_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_14_L0_SEL_SHIFT                       1
#define IOU_SLCR_MIO_PIN_14_L0_SEL_MASK                        0x00000002U

/*
* Level 1 Mux Select 0= Level 2 Mux Output 1= nand, Output, nfc_cle- (NAND
    *  Command Latch Enable)
*/
#undef IOU_SLCR_MIO_PIN_14_L1_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_14_L1_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_14_L1_SEL_MASK 
#define IOU_SLCR_MIO_PIN_14_L1_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_14_L1_SEL_SHIFT                       2
#define IOU_SLCR_MIO_PIN_14_L1_SEL_MASK                        0x00000004U

/*
* Level 2 Mux Select 0= Level 3 Mux Output 1= sd0, Input, sd0_data_in[1]-
    * (8-bit Data bus) = sd0, Output, sdio0_data_out[1]- (8-bit Data bus) 2= t
    * est_scan, Input, test_scan_in[14]- (Test Scan Port) = test_scan, Output,
    *  test_scan_out[14]- (Test Scan Port) 3= Not Used
*/
#undef IOU_SLCR_MIO_PIN_14_L2_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_14_L2_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_14_L2_SEL_MASK 
#define IOU_SLCR_MIO_PIN_14_L2_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_14_L2_SEL_SHIFT                       3
#define IOU_SLCR_MIO_PIN_14_L2_SEL_MASK                        0x00000018U

/*
* Level 3 Mux Select 0= gpio0, Input, gpio_0_pin_in[14]- (GPIO bank 0) 0=
    * gpio0, Output, gpio_0_pin_out[14]- (GPIO bank 0) 1= can0, Input, can0_ph
    * y_rx- (Can RX signal) 2= i2c0, Input, i2c0_scl_input- (SCL signal) 2= i2
    * c0, Output, i2c0_scl_out- (SCL signal) 3= pjtag, Output, pjtag_tdo- (PJT
    * AG TDO) 4= spi0, Output, spi0_n_ss_out[1]- (SPI Master Selects) 5= ttc0,
    *  Input, ttc0_clk_in- (TTC Clock) 6= ua0, Input, ua0_rxd- (UART receiver
    * serial input) 7= trace, Output, tracedq[12]- (Trace Port Databus)
*/
#undef IOU_SLCR_MIO_PIN_14_L3_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_14_L3_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_14_L3_SEL_MASK 
#define IOU_SLCR_MIO_PIN_14_L3_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_14_L3_SEL_SHIFT                       5
#define IOU_SLCR_MIO_PIN_14_L3_SEL_MASK                        0x000000E0U

/*
* Level 0 Mux Select 0= Level 1 Mux Output 1= Not Used
*/
#undef IOU_SLCR_MIO_PIN_15_L0_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_15_L0_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_15_L0_SEL_MASK 
#define IOU_SLCR_MIO_PIN_15_L0_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_15_L0_SEL_SHIFT                       1
#define IOU_SLCR_MIO_PIN_15_L0_SEL_MASK                        0x00000002U

/*
* Level 1 Mux Select 0= Level 2 Mux Output 1= nand, Output, nfc_ale- (NAND
    *  Address Latch Enable)
*/
#undef IOU_SLCR_MIO_PIN_15_L1_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_15_L1_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_15_L1_SEL_MASK 
#define IOU_SLCR_MIO_PIN_15_L1_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_15_L1_SEL_SHIFT                       2
#define IOU_SLCR_MIO_PIN_15_L1_SEL_MASK                        0x00000004U

/*
* Level 2 Mux Select 0= Level 3 Mux Output 1= sd0, Input, sd0_data_in[2]-
    * (8-bit Data bus) = sd0, Output, sdio0_data_out[2]- (8-bit Data bus) 2= t
    * est_scan, Input, test_scan_in[15]- (Test Scan Port) = test_scan, Output,
    *  test_scan_out[15]- (Test Scan Port) 3= Not Used
*/
#undef IOU_SLCR_MIO_PIN_15_L2_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_15_L2_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_15_L2_SEL_MASK 
#define IOU_SLCR_MIO_PIN_15_L2_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_15_L2_SEL_SHIFT                       3
#define IOU_SLCR_MIO_PIN_15_L2_SEL_MASK                        0x00000018U

/*
* Level 3 Mux Select 0= gpio0, Input, gpio_0_pin_in[15]- (GPIO bank 0) 0=
    * gpio0, Output, gpio_0_pin_out[15]- (GPIO bank 0) 1= can0, Output, can0_p
    * hy_tx- (Can TX signal) 2= i2c0, Input, i2c0_sda_input- (SDA signal) 2= i
    * 2c0, Output, i2c0_sda_out- (SDA signal) 3= pjtag, Input, pjtag_tms- (PJT
    * AG TMS) 4= spi0, Input, spi0_n_ss_in- (SPI Master Selects) 4= spi0, Outp
    * ut, spi0_n_ss_out[0]- (SPI Master Selects) 5= ttc0, Output, ttc0_wave_ou
    * t- (TTC Waveform Clock) 6= ua0, Output, ua0_txd- (UART transmitter seria
    * l output) 7= trace, Output, tracedq[13]- (Trace Port Databus)
*/
#undef IOU_SLCR_MIO_PIN_15_L3_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_15_L3_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_15_L3_SEL_MASK 
#define IOU_SLCR_MIO_PIN_15_L3_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_15_L3_SEL_SHIFT                       5
#define IOU_SLCR_MIO_PIN_15_L3_SEL_MASK                        0x000000E0U

/*
* Level 0 Mux Select 0= Level 1 Mux Output 1= Not Used
*/
#undef IOU_SLCR_MIO_PIN_16_L0_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_16_L0_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_16_L0_SEL_MASK 
#define IOU_SLCR_MIO_PIN_16_L0_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_16_L0_SEL_SHIFT                       1
#define IOU_SLCR_MIO_PIN_16_L0_SEL_MASK                        0x00000002U

/*
* Level 1 Mux Select 0= Level 2 Mux Output 1= nand, Input, nfc_dq_in[0]- (
    * NAND Data Bus) 1= nand, Output, nfc_dq_out[0]- (NAND Data Bus)
*/
#undef IOU_SLCR_MIO_PIN_16_L1_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_16_L1_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_16_L1_SEL_MASK 
#define IOU_SLCR_MIO_PIN_16_L1_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_16_L1_SEL_SHIFT                       2
#define IOU_SLCR_MIO_PIN_16_L1_SEL_MASK                        0x00000004U

/*
* Level 2 Mux Select 0= Level 3 Mux Output 1= sd0, Input, sd0_data_in[3]-
    * (8-bit Data bus) = sd0, Output, sdio0_data_out[3]- (8-bit Data bus) 2= t
    * est_scan, Input, test_scan_in[16]- (Test Scan Port) = test_scan, Output,
    *  test_scan_out[16]- (Test Scan Port) 3= Not Used
*/
#undef IOU_SLCR_MIO_PIN_16_L2_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_16_L2_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_16_L2_SEL_MASK 
#define IOU_SLCR_MIO_PIN_16_L2_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_16_L2_SEL_SHIFT                       3
#define IOU_SLCR_MIO_PIN_16_L2_SEL_MASK                        0x00000018U

/*
* Level 3 Mux Select 0= gpio0, Input, gpio_0_pin_in[16]- (GPIO bank 0) 0=
    * gpio0, Output, gpio_0_pin_out[16]- (GPIO bank 0) 1= can1, Output, can1_p
    * hy_tx- (Can TX signal) 2= i2c1, Input, i2c1_scl_input- (SCL signal) 2= i
    * 2c1, Output, i2c1_scl_out- (SCL signal) 3= swdt1, Input, swdt1_clk_in- (
    * Watch Dog Timer Input clock) 4= spi0, Input, spi0_mi- (MISO signal) 4= s
    * pi0, Output, spi0_so- (MISO signal) 5= ttc3, Input, ttc3_clk_in- (TTC Cl
    * ock) 6= ua1, Output, ua1_txd- (UART transmitter serial output) 7= trace,
    *  Output, tracedq[14]- (Trace Port Databus)
*/
#undef IOU_SLCR_MIO_PIN_16_L3_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_16_L3_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_16_L3_SEL_MASK 
#define IOU_SLCR_MIO_PIN_16_L3_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_16_L3_SEL_SHIFT                       5
#define IOU_SLCR_MIO_PIN_16_L3_SEL_MASK                        0x000000E0U

/*
* Level 0 Mux Select 0= Level 1 Mux Output 1= Not Used
*/
#undef IOU_SLCR_MIO_PIN_17_L0_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_17_L0_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_17_L0_SEL_MASK 
#define IOU_SLCR_MIO_PIN_17_L0_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_17_L0_SEL_SHIFT                       1
#define IOU_SLCR_MIO_PIN_17_L0_SEL_MASK                        0x00000002U

/*
* Level 1 Mux Select 0= Level 2 Mux Output 1= nand, Input, nfc_dq_in[1]- (
    * NAND Data Bus) 1= nand, Output, nfc_dq_out[1]- (NAND Data Bus)
*/
#undef IOU_SLCR_MIO_PIN_17_L1_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_17_L1_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_17_L1_SEL_MASK 
#define IOU_SLCR_MIO_PIN_17_L1_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_17_L1_SEL_SHIFT                       2
#define IOU_SLCR_MIO_PIN_17_L1_SEL_MASK                        0x00000004U

/*
* Level 2 Mux Select 0= Level 3 Mux Output 1= sd0, Input, sd0_data_in[4]-
    * (8-bit Data bus) = sd0, Output, sdio0_data_out[4]- (8-bit Data bus) 2= t
    * est_scan, Input, test_scan_in[17]- (Test Scan Port) = test_scan, Output,
    *  test_scan_out[17]- (Test Scan Port) 3= Not Used
*/
#undef IOU_SLCR_MIO_PIN_17_L2_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_17_L2_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_17_L2_SEL_MASK 
#define IOU_SLCR_MIO_PIN_17_L2_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_17_L2_SEL_SHIFT                       3
#define IOU_SLCR_MIO_PIN_17_L2_SEL_MASK                        0x00000018U

/*
* Level 3 Mux Select 0= gpio0, Input, gpio_0_pin_in[17]- (GPIO bank 0) 0=
    * gpio0, Output, gpio_0_pin_out[17]- (GPIO bank 0) 1= can1, Input, can1_ph
    * y_rx- (Can RX signal) 2= i2c1, Input, i2c1_sda_input- (SDA signal) 2= i2
    * c1, Output, i2c1_sda_out- (SDA signal) 3= swdt1, Output, swdt1_rst_out-
    * (Watch Dog Timer Output clock) 4= spi0, Output, spi0_mo- (MOSI signal) 4
    * = spi0, Input, spi0_si- (MOSI signal) 5= ttc3, Output, ttc3_wave_out- (T
    * TC Waveform Clock) 6= ua1, Input, ua1_rxd- (UART receiver serial input)
    * 7= trace, Output, tracedq[15]- (Trace Port Databus)
*/
#undef IOU_SLCR_MIO_PIN_17_L3_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_17_L3_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_17_L3_SEL_MASK 
#define IOU_SLCR_MIO_PIN_17_L3_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_17_L3_SEL_SHIFT                       5
#define IOU_SLCR_MIO_PIN_17_L3_SEL_MASK                        0x000000E0U

/*
* Level 0 Mux Select 0= Level 1 Mux Output 1= Not Used
*/
#undef IOU_SLCR_MIO_PIN_18_L0_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_18_L0_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_18_L0_SEL_MASK 
#define IOU_SLCR_MIO_PIN_18_L0_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_18_L0_SEL_SHIFT                       1
#define IOU_SLCR_MIO_PIN_18_L0_SEL_MASK                        0x00000002U

/*
* Level 1 Mux Select 0= Level 2 Mux Output 1= nand, Input, nfc_dq_in[2]- (
    * NAND Data Bus) 1= nand, Output, nfc_dq_out[2]- (NAND Data Bus)
*/
#undef IOU_SLCR_MIO_PIN_18_L1_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_18_L1_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_18_L1_SEL_MASK 
#define IOU_SLCR_MIO_PIN_18_L1_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_18_L1_SEL_SHIFT                       2
#define IOU_SLCR_MIO_PIN_18_L1_SEL_MASK                        0x00000004U

/*
* Level 2 Mux Select 0= Level 3 Mux Output 1= sd0, Input, sd0_data_in[5]-
    * (8-bit Data bus) = sd0, Output, sdio0_data_out[5]- (8-bit Data bus) 2= t
    * est_scan, Input, test_scan_in[18]- (Test Scan Port) = test_scan, Output,
    *  test_scan_out[18]- (Test Scan Port) 3= csu, Input, csu_ext_tamper- (CSU
    *  Ext Tamper)
*/
#undef IOU_SLCR_MIO_PIN_18_L2_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_18_L2_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_18_L2_SEL_MASK 
#define IOU_SLCR_MIO_PIN_18_L2_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_18_L2_SEL_SHIFT                       3
#define IOU_SLCR_MIO_PIN_18_L2_SEL_MASK                        0x00000018U

/*
* Level 3 Mux Select 0= gpio0, Input, gpio_0_pin_in[18]- (GPIO bank 0) 0=
    * gpio0, Output, gpio_0_pin_out[18]- (GPIO bank 0) 1= can0, Input, can0_ph
    * y_rx- (Can RX signal) 2= i2c0, Input, i2c0_scl_input- (SCL signal) 2= i2
    * c0, Output, i2c0_scl_out- (SCL signal) 3= swdt0, Input, swdt0_clk_in- (W
    * atch Dog Timer Input clock) 4= spi1, Input, spi1_mi- (MISO signal) 4= sp
    * i1, Output, spi1_so- (MISO signal) 5= ttc2, Input, ttc2_clk_in- (TTC Clo
    * ck) 6= ua0, Input, ua0_rxd- (UART receiver serial input) 7= Not Used
*/
#undef IOU_SLCR_MIO_PIN_18_L3_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_18_L3_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_18_L3_SEL_MASK 
#define IOU_SLCR_MIO_PIN_18_L3_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_18_L3_SEL_SHIFT                       5
#define IOU_SLCR_MIO_PIN_18_L3_SEL_MASK                        0x000000E0U

/*
* Level 0 Mux Select 0= Level 1 Mux Output 1= Not Used
*/
#undef IOU_SLCR_MIO_PIN_19_L0_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_19_L0_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_19_L0_SEL_MASK 
#define IOU_SLCR_MIO_PIN_19_L0_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_19_L0_SEL_SHIFT                       1
#define IOU_SLCR_MIO_PIN_19_L0_SEL_MASK                        0x00000002U

/*
* Level 1 Mux Select 0= Level 2 Mux Output 1= nand, Input, nfc_dq_in[3]- (
    * NAND Data Bus) 1= nand, Output, nfc_dq_out[3]- (NAND Data Bus)
*/
#undef IOU_SLCR_MIO_PIN_19_L1_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_19_L1_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_19_L1_SEL_MASK 
#define IOU_SLCR_MIO_PIN_19_L1_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_19_L1_SEL_SHIFT                       2
#define IOU_SLCR_MIO_PIN_19_L1_SEL_MASK                        0x00000004U

/*
* Level 2 Mux Select 0= Level 3 Mux Output 1= sd0, Input, sd0_data_in[6]-
    * (8-bit Data bus) = sd0, Output, sdio0_data_out[6]- (8-bit Data bus) 2= t
    * est_scan, Input, test_scan_in[19]- (Test Scan Port) = test_scan, Output,
    *  test_scan_out[19]- (Test Scan Port) 3= csu, Input, csu_ext_tamper- (CSU
    *  Ext Tamper)
*/
#undef IOU_SLCR_MIO_PIN_19_L2_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_19_L2_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_19_L2_SEL_MASK 
#define IOU_SLCR_MIO_PIN_19_L2_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_19_L2_SEL_SHIFT                       3
#define IOU_SLCR_MIO_PIN_19_L2_SEL_MASK                        0x00000018U

/*
* Level 3 Mux Select 0= gpio0, Input, gpio_0_pin_in[19]- (GPIO bank 0) 0=
    * gpio0, Output, gpio_0_pin_out[19]- (GPIO bank 0) 1= can0, Output, can0_p
    * hy_tx- (Can TX signal) 2= i2c0, Input, i2c0_sda_input- (SDA signal) 2= i
    * 2c0, Output, i2c0_sda_out- (SDA signal) 3= swdt0, Output, swdt0_rst_out-
    *  (Watch Dog Timer Output clock) 4= spi1, Output, spi1_n_ss_out[2]- (SPI
    * Master Selects) 5= ttc2, Output, ttc2_wave_out- (TTC Waveform Clock) 6=
    * ua0, Output, ua0_txd- (UART transmitter serial output) 7= Not Used
*/
#undef IOU_SLCR_MIO_PIN_19_L3_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_19_L3_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_19_L3_SEL_MASK 
#define IOU_SLCR_MIO_PIN_19_L3_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_19_L3_SEL_SHIFT                       5
#define IOU_SLCR_MIO_PIN_19_L3_SEL_MASK                        0x000000E0U

/*
* Level 0 Mux Select 0= Level 1 Mux Output 1= Not Used
*/
#undef IOU_SLCR_MIO_PIN_20_L0_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_20_L0_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_20_L0_SEL_MASK 
#define IOU_SLCR_MIO_PIN_20_L0_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_20_L0_SEL_SHIFT                       1
#define IOU_SLCR_MIO_PIN_20_L0_SEL_MASK                        0x00000002U

/*
* Level 1 Mux Select 0= Level 2 Mux Output 1= nand, Input, nfc_dq_in[4]- (
    * NAND Data Bus) 1= nand, Output, nfc_dq_out[4]- (NAND Data Bus)
*/
#undef IOU_SLCR_MIO_PIN_20_L1_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_20_L1_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_20_L1_SEL_MASK 
#define IOU_SLCR_MIO_PIN_20_L1_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_20_L1_SEL_SHIFT                       2
#define IOU_SLCR_MIO_PIN_20_L1_SEL_MASK                        0x00000004U

/*
* Level 2 Mux Select 0= Level 3 Mux Output 1= sd0, Input, sd0_data_in[7]-
    * (8-bit Data bus) = sd0, Output, sdio0_data_out[7]- (8-bit Data bus) 2= t
    * est_scan, Input, test_scan_in[20]- (Test Scan Port) = test_scan, Output,
    *  test_scan_out[20]- (Test Scan Port) 3= csu, Input, csu_ext_tamper- (CSU
    *  Ext Tamper)
*/
#undef IOU_SLCR_MIO_PIN_20_L2_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_20_L2_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_20_L2_SEL_MASK 
#define IOU_SLCR_MIO_PIN_20_L2_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_20_L2_SEL_SHIFT                       3
#define IOU_SLCR_MIO_PIN_20_L2_SEL_MASK                        0x00000018U

/*
* Level 3 Mux Select 0= gpio0, Input, gpio_0_pin_in[20]- (GPIO bank 0) 0=
    * gpio0, Output, gpio_0_pin_out[20]- (GPIO bank 0) 1= can1, Output, can1_p
    * hy_tx- (Can TX signal) 2= i2c1, Input, i2c1_scl_input- (SCL signal) 2= i
    * 2c1, Output, i2c1_scl_out- (SCL signal) 3= swdt1, Input, swdt1_clk_in- (
    * Watch Dog Timer Input clock) 4= spi1, Output, spi1_n_ss_out[1]- (SPI Mas
    * ter Selects) 5= ttc1, Input, ttc1_clk_in- (TTC Clock) 6= ua1, Output, ua
    * 1_txd- (UART transmitter serial output) 7= Not Used
*/
#undef IOU_SLCR_MIO_PIN_20_L3_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_20_L3_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_20_L3_SEL_MASK 
#define IOU_SLCR_MIO_PIN_20_L3_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_20_L3_SEL_SHIFT                       5
#define IOU_SLCR_MIO_PIN_20_L3_SEL_MASK                        0x000000E0U

/*
* Level 0 Mux Select 0= Level 1 Mux Output 1= Not Used
*/
#undef IOU_SLCR_MIO_PIN_21_L0_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_21_L0_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_21_L0_SEL_MASK 
#define IOU_SLCR_MIO_PIN_21_L0_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_21_L0_SEL_SHIFT                       1
#define IOU_SLCR_MIO_PIN_21_L0_SEL_MASK                        0x00000002U

/*
* Level 1 Mux Select 0= Level 2 Mux Output 1= nand, Input, nfc_dq_in[5]- (
    * NAND Data Bus) 1= nand, Output, nfc_dq_out[5]- (NAND Data Bus)
*/
#undef IOU_SLCR_MIO_PIN_21_L1_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_21_L1_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_21_L1_SEL_MASK 
#define IOU_SLCR_MIO_PIN_21_L1_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_21_L1_SEL_SHIFT                       2
#define IOU_SLCR_MIO_PIN_21_L1_SEL_MASK                        0x00000004U

/*
* Level 2 Mux Select 0= Level 3 Mux Output 1= sd0, Input, sd0_cmd_in- (Com
    * mand Indicator) = sd0, Output, sdio0_cmd_out- (Command Indicator) 2= tes
    * t_scan, Input, test_scan_in[21]- (Test Scan Port) = test_scan, Output, t
    * est_scan_out[21]- (Test Scan Port) 3= csu, Input, csu_ext_tamper- (CSU E
    * xt Tamper)
*/
#undef IOU_SLCR_MIO_PIN_21_L2_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_21_L2_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_21_L2_SEL_MASK 
#define IOU_SLCR_MIO_PIN_21_L2_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_21_L2_SEL_SHIFT                       3
#define IOU_SLCR_MIO_PIN_21_L2_SEL_MASK                        0x00000018U

/*
* Level 3 Mux Select 0= gpio0, Input, gpio_0_pin_in[21]- (GPIO bank 0) 0=
    * gpio0, Output, gpio_0_pin_out[21]- (GPIO bank 0) 1= can1, Input, can1_ph
    * y_rx- (Can RX signal) 2= i2c1, Input, i2c1_sda_input- (SDA signal) 2= i2
    * c1, Output, i2c1_sda_out- (SDA signal) 3= swdt1, Output, swdt1_rst_out-
    * (Watch Dog Timer Output clock) 4= spi1, Input, spi1_n_ss_in- (SPI Master
    *  Selects) 4= spi1, Output, spi1_n_ss_out[0]- (SPI Master Selects) 5= ttc
    * 1, Output, ttc1_wave_out- (TTC Waveform Clock) 6= ua1, Input, ua1_rxd- (
    * UART receiver serial input) 7= Not Used
*/
#undef IOU_SLCR_MIO_PIN_21_L3_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_21_L3_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_21_L3_SEL_MASK 
#define IOU_SLCR_MIO_PIN_21_L3_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_21_L3_SEL_SHIFT                       5
#define IOU_SLCR_MIO_PIN_21_L3_SEL_MASK                        0x000000E0U

/*
* Level 0 Mux Select 0= Level 1 Mux Output 1= Not Used
*/
#undef IOU_SLCR_MIO_PIN_22_L0_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_22_L0_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_22_L0_SEL_MASK 
#define IOU_SLCR_MIO_PIN_22_L0_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_22_L0_SEL_SHIFT                       1
#define IOU_SLCR_MIO_PIN_22_L0_SEL_MASK                        0x00000002U

/*
* Level 1 Mux Select 0= Level 2 Mux Output 1= nand, Output, nfc_we_b- (NAN
    * D Write Enable)
*/
#undef IOU_SLCR_MIO_PIN_22_L1_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_22_L1_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_22_L1_SEL_MASK 
#define IOU_SLCR_MIO_PIN_22_L1_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_22_L1_SEL_SHIFT                       2
#define IOU_SLCR_MIO_PIN_22_L1_SEL_MASK                        0x00000004U

/*
* Level 2 Mux Select 0= Level 3 Mux Output 1= sd0, Output, sdio0_clk_out-
    * (SDSDIO clock) 2= test_scan, Input, test_scan_in[22]- (Test Scan Port) =
    *  test_scan, Output, test_scan_out[22]- (Test Scan Port) 3= csu, Input, c
    * su_ext_tamper- (CSU Ext Tamper)
*/
#undef IOU_SLCR_MIO_PIN_22_L2_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_22_L2_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_22_L2_SEL_MASK 
#define IOU_SLCR_MIO_PIN_22_L2_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_22_L2_SEL_SHIFT                       3
#define IOU_SLCR_MIO_PIN_22_L2_SEL_MASK                        0x00000018U

/*
* Level 3 Mux Select 0= gpio0, Input, gpio_0_pin_in[22]- (GPIO bank 0) 0=
    * gpio0, Output, gpio_0_pin_out[22]- (GPIO bank 0) 1= can0, Input, can0_ph
    * y_rx- (Can RX signal) 2= i2c0, Input, i2c0_scl_input- (SCL signal) 2= i2
    * c0, Output, i2c0_scl_out- (SCL signal) 3= swdt0, Input, swdt0_clk_in- (W
    * atch Dog Timer Input clock) 4= spi1, Input, spi1_sclk_in- (SPI Clock) 4=
    *  spi1, Output, spi1_sclk_out- (SPI Clock) 5= ttc0, Input, ttc0_clk_in- (
    * TTC Clock) 6= ua0, Input, ua0_rxd- (UART receiver serial input) 7= Not U
    * sed
*/
#undef IOU_SLCR_MIO_PIN_22_L3_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_22_L3_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_22_L3_SEL_MASK 
#define IOU_SLCR_MIO_PIN_22_L3_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_22_L3_SEL_SHIFT                       5
#define IOU_SLCR_MIO_PIN_22_L3_SEL_MASK                        0x000000E0U

/*
* Level 0 Mux Select 0= Level 1 Mux Output 1= Not Used
*/
#undef IOU_SLCR_MIO_PIN_23_L0_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_23_L0_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_23_L0_SEL_MASK 
#define IOU_SLCR_MIO_PIN_23_L0_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_23_L0_SEL_SHIFT                       1
#define IOU_SLCR_MIO_PIN_23_L0_SEL_MASK                        0x00000002U

/*
* Level 1 Mux Select 0= Level 2 Mux Output 1= nand, Input, nfc_dq_in[6]- (
    * NAND Data Bus) 1= nand, Output, nfc_dq_out[6]- (NAND Data Bus)
*/
#undef IOU_SLCR_MIO_PIN_23_L1_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_23_L1_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_23_L1_SEL_MASK 
#define IOU_SLCR_MIO_PIN_23_L1_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_23_L1_SEL_SHIFT                       2
#define IOU_SLCR_MIO_PIN_23_L1_SEL_MASK                        0x00000004U

/*
* Level 2 Mux Select 0= Level 3 Mux Output 1= sd0, Output, sdio0_bus_pow-
    * (SD card bus power) 2= test_scan, Input, test_scan_in[23]- (Test Scan Po
    * rt) = test_scan, Output, test_scan_out[23]- (Test Scan Port) 3= csu, Inp
    * ut, csu_ext_tamper- (CSU Ext Tamper)
*/
#undef IOU_SLCR_MIO_PIN_23_L2_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_23_L2_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_23_L2_SEL_MASK 
#define IOU_SLCR_MIO_PIN_23_L2_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_23_L2_SEL_SHIFT                       3
#define IOU_SLCR_MIO_PIN_23_L2_SEL_MASK                        0x00000018U

/*
* Level 3 Mux Select 0= gpio0, Input, gpio_0_pin_in[23]- (GPIO bank 0) 0=
    * gpio0, Output, gpio_0_pin_out[23]- (GPIO bank 0) 1= can0, Output, can0_p
    * hy_tx- (Can TX signal) 2= i2c0, Input, i2c0_sda_input- (SDA signal) 2= i
    * 2c0, Output, i2c0_sda_out- (SDA signal) 3= swdt0, Output, swdt0_rst_out-
    *  (Watch Dog Timer Output clock) 4= spi1, Output, spi1_mo- (MOSI signal)
    * 4= spi1, Input, spi1_si- (MOSI signal) 5= ttc0, Output, ttc0_wave_out- (
    * TTC Waveform Clock) 6= ua0, Output, ua0_txd- (UART transmitter serial ou
    * tput) 7= Not Used
*/
#undef IOU_SLCR_MIO_PIN_23_L3_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_23_L3_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_23_L3_SEL_MASK 
#define IOU_SLCR_MIO_PIN_23_L3_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_23_L3_SEL_SHIFT                       5
#define IOU_SLCR_MIO_PIN_23_L3_SEL_MASK                        0x000000E0U

/*
* Level 0 Mux Select 0= Level 1 Mux Output 1= Not Used
*/
#undef IOU_SLCR_MIO_PIN_24_L0_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_24_L0_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_24_L0_SEL_MASK 
#define IOU_SLCR_MIO_PIN_24_L0_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_24_L0_SEL_SHIFT                       1
#define IOU_SLCR_MIO_PIN_24_L0_SEL_MASK                        0x00000002U

/*
* Level 1 Mux Select 0= Level 2 Mux Output 1= nand, Input, nfc_dq_in[7]- (
    * NAND Data Bus) 1= nand, Output, nfc_dq_out[7]- (NAND Data Bus)
*/
#undef IOU_SLCR_MIO_PIN_24_L1_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_24_L1_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_24_L1_SEL_MASK 
#define IOU_SLCR_MIO_PIN_24_L1_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_24_L1_SEL_SHIFT                       2
#define IOU_SLCR_MIO_PIN_24_L1_SEL_MASK                        0x00000004U

/*
* Level 2 Mux Select 0= Level 3 Mux Output 1= sd0, Input, sdio0_cd_n- (SD
    * card detect from connector) 2= test_scan, Input, test_scan_in[24]- (Test
    *  Scan Port) = test_scan, Output, test_scan_out[24]- (Test Scan Port) 3=
    * csu, Input, csu_ext_tamper- (CSU Ext Tamper)
*/
#undef IOU_SLCR_MIO_PIN_24_L2_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_24_L2_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_24_L2_SEL_MASK 
#define IOU_SLCR_MIO_PIN_24_L2_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_24_L2_SEL_SHIFT                       3
#define IOU_SLCR_MIO_PIN_24_L2_SEL_MASK                        0x00000018U

/*
* Level 3 Mux Select 0= gpio0, Input, gpio_0_pin_in[24]- (GPIO bank 0) 0=
    * gpio0, Output, gpio_0_pin_out[24]- (GPIO bank 0) 1= can1, Output, can1_p
    * hy_tx- (Can TX signal) 2= i2c1, Input, i2c1_scl_input- (SCL signal) 2= i
    * 2c1, Output, i2c1_scl_out- (SCL signal) 3= swdt1, Input, swdt1_clk_in- (
    * Watch Dog Timer Input clock) 4= Not Used 5= ttc3, Input, ttc3_clk_in- (T
    * TC Clock) 6= ua1, Output, ua1_txd- (UART transmitter serial output) 7= N
    * ot Used
*/
#undef IOU_SLCR_MIO_PIN_24_L3_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_24_L3_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_24_L3_SEL_MASK 
#define IOU_SLCR_MIO_PIN_24_L3_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_24_L3_SEL_SHIFT                       5
#define IOU_SLCR_MIO_PIN_24_L3_SEL_MASK                        0x000000E0U

/*
* Level 0 Mux Select 0= Level 1 Mux Output 1= Not Used
*/
#undef IOU_SLCR_MIO_PIN_25_L0_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_25_L0_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_25_L0_SEL_MASK 
#define IOU_SLCR_MIO_PIN_25_L0_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_25_L0_SEL_SHIFT                       1
#define IOU_SLCR_MIO_PIN_25_L0_SEL_MASK                        0x00000002U

/*
* Level 1 Mux Select 0= Level 2 Mux Output 1= nand, Output, nfc_re_n- (NAN
    * D Read Enable)
*/
#undef IOU_SLCR_MIO_PIN_25_L1_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_25_L1_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_25_L1_SEL_MASK 
#define IOU_SLCR_MIO_PIN_25_L1_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_25_L1_SEL_SHIFT                       2
#define IOU_SLCR_MIO_PIN_25_L1_SEL_MASK                        0x00000004U

/*
* Level 2 Mux Select 0= Level 3 Mux Output 1= sd0, Input, sdio0_wp- (SD ca
    * rd write protect from connector) 2= test_scan, Input, test_scan_in[25]-
    * (Test Scan Port) = test_scan, Output, test_scan_out[25]- (Test Scan Port
    * ) 3= csu, Input, csu_ext_tamper- (CSU Ext Tamper)
*/
#undef IOU_SLCR_MIO_PIN_25_L2_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_25_L2_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_25_L2_SEL_MASK 
#define IOU_SLCR_MIO_PIN_25_L2_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_25_L2_SEL_SHIFT                       3
#define IOU_SLCR_MIO_PIN_25_L2_SEL_MASK                        0x00000018U

/*
* Level 3 Mux Select 0= gpio0, Input, gpio_0_pin_in[25]- (GPIO bank 0) 0=
    * gpio0, Output, gpio_0_pin_out[25]- (GPIO bank 0) 1= can1, Input, can1_ph
    * y_rx- (Can RX signal) 2= i2c1, Input, i2c1_sda_input- (SDA signal) 2= i2
    * c1, Output, i2c1_sda_out- (SDA signal) 3= swdt1, Output, swdt1_rst_out-
    * (Watch Dog Timer Output clock) 4= Not Used 5= ttc3, Output, ttc3_wave_ou
    * t- (TTC Waveform Clock) 6= ua1, Input, ua1_rxd- (UART receiver serial in
    * put) 7= Not Used
*/
#undef IOU_SLCR_MIO_PIN_25_L3_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_25_L3_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_25_L3_SEL_MASK 
#define IOU_SLCR_MIO_PIN_25_L3_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_25_L3_SEL_SHIFT                       5
#define IOU_SLCR_MIO_PIN_25_L3_SEL_MASK                        0x000000E0U

/*
* Level 0 Mux Select 0= Level 1 Mux Output 1= gem0, Output, gem0_rgmii_tx_
    * clk- (TX RGMII clock)
*/
#undef IOU_SLCR_MIO_PIN_26_L0_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_26_L0_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_26_L0_SEL_MASK 
#define IOU_SLCR_MIO_PIN_26_L0_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_26_L0_SEL_SHIFT                       1
#define IOU_SLCR_MIO_PIN_26_L0_SEL_MASK                        0x00000002U

/*
* Level 1 Mux Select 0= Level 2 Mux Output 1= nand, Output, nfc_ce[1]- (NA
    * ND chip enable)
*/
#undef IOU_SLCR_MIO_PIN_26_L1_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_26_L1_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_26_L1_SEL_MASK 
#define IOU_SLCR_MIO_PIN_26_L1_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_26_L1_SEL_SHIFT                       2
#define IOU_SLCR_MIO_PIN_26_L1_SEL_MASK                        0x00000004U

/*
* Level 2 Mux Select 0= Level 3 Mux Output 1= pmu, Input, pmu_gpi[0]- (PMU
    *  GPI) 2= test_scan, Input, test_scan_in[26]- (Test Scan Port) = test_sca
    * n, Output, test_scan_out[26]- (Test Scan Port) 3= csu, Input, csu_ext_ta
    * mper- (CSU Ext Tamper)
*/
#undef IOU_SLCR_MIO_PIN_26_L2_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_26_L2_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_26_L2_SEL_MASK 
#define IOU_SLCR_MIO_PIN_26_L2_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_26_L2_SEL_SHIFT                       3
#define IOU_SLCR_MIO_PIN_26_L2_SEL_MASK                        0x00000018U

/*
* Level 3 Mux Select 0= gpio1, Input, gpio_1_pin_in[0]- (GPIO bank 1) 0= g
    * pio1, Output, gpio_1_pin_out[0]- (GPIO bank 1) 1= can0, Input, can0_phy_
    * rx- (Can RX signal) 2= i2c0, Input, i2c0_scl_input- (SCL signal) 2= i2c0
    * , Output, i2c0_scl_out- (SCL signal) 3= pjtag, Input, pjtag_tck- (PJTAG
    * TCK) 4= spi0, Input, spi0_sclk_in- (SPI Clock) 4= spi0, Output, spi0_scl
    * k_out- (SPI Clock) 5= ttc2, Input, ttc2_clk_in- (TTC Clock) 6= ua0, Inpu
    * t, ua0_rxd- (UART receiver serial input) 7= trace, Output, tracedq[4]- (
    * Trace Port Databus)
*/
#undef IOU_SLCR_MIO_PIN_26_L3_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_26_L3_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_26_L3_SEL_MASK 
#define IOU_SLCR_MIO_PIN_26_L3_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_26_L3_SEL_SHIFT                       5
#define IOU_SLCR_MIO_PIN_26_L3_SEL_MASK                        0x000000E0U

/*
* Level 0 Mux Select 0= Level 1 Mux Output 1= gem0, Output, gem0_rgmii_txd
    * [0]- (TX RGMII data)
*/
#undef IOU_SLCR_MIO_PIN_27_L0_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_27_L0_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_27_L0_SEL_MASK 
#define IOU_SLCR_MIO_PIN_27_L0_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_27_L0_SEL_SHIFT                       1
#define IOU_SLCR_MIO_PIN_27_L0_SEL_MASK                        0x00000002U

/*
* Level 1 Mux Select 0= Level 2 Mux Output 1= nand, Input, nfc_rb_n[0]- (N
    * AND Ready/Busy)
*/
#undef IOU_SLCR_MIO_PIN_27_L1_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_27_L1_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_27_L1_SEL_MASK 
#define IOU_SLCR_MIO_PIN_27_L1_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_27_L1_SEL_SHIFT                       2
#define IOU_SLCR_MIO_PIN_27_L1_SEL_MASK                        0x00000004U

/*
* Level 2 Mux Select 0= Level 3 Mux Output 1= pmu, Input, pmu_gpi[1]- (PMU
    *  GPI) 2= test_scan, Input, test_scan_in[27]- (Test Scan Port) = test_sca
    * n, Output, test_scan_out[27]- (Test Scan Port) 3= dpaux, Input, dp_aux_d
    * ata_in- (Dp Aux Data) = dpaux, Output, dp_aux_data_out- (Dp Aux Data)
*/
#undef IOU_SLCR_MIO_PIN_27_L2_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_27_L2_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_27_L2_SEL_MASK 
#define IOU_SLCR_MIO_PIN_27_L2_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_27_L2_SEL_SHIFT                       3
#define IOU_SLCR_MIO_PIN_27_L2_SEL_MASK                        0x00000018U

/*
* Level 3 Mux Select 0= gpio1, Input, gpio_1_pin_in[1]- (GPIO bank 1) 0= g
    * pio1, Output, gpio_1_pin_out[1]- (GPIO bank 1) 1= can0, Output, can0_phy
    * _tx- (Can TX signal) 2= i2c0, Input, i2c0_sda_input- (SDA signal) 2= i2c
    * 0, Output, i2c0_sda_out- (SDA signal) 3= pjtag, Input, pjtag_tdi- (PJTAG
    *  TDI) 4= spi0, Output, spi0_n_ss_out[2]- (SPI Master Selects) 5= ttc2, O
    * utput, ttc2_wave_out- (TTC Waveform Clock) 6= ua0, Output, ua0_txd- (UAR
    * T transmitter serial output) 7= trace, Output, tracedq[5]- (Trace Port D
    * atabus)
*/
#undef IOU_SLCR_MIO_PIN_27_L3_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_27_L3_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_27_L3_SEL_MASK 
#define IOU_SLCR_MIO_PIN_27_L3_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_27_L3_SEL_SHIFT                       5
#define IOU_SLCR_MIO_PIN_27_L3_SEL_MASK                        0x000000E0U

/*
* Level 0 Mux Select 0= Level 1 Mux Output 1= gem0, Output, gem0_rgmii_txd
    * [1]- (TX RGMII data)
*/
#undef IOU_SLCR_MIO_PIN_28_L0_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_28_L0_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_28_L0_SEL_MASK 
#define IOU_SLCR_MIO_PIN_28_L0_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_28_L0_SEL_SHIFT                       1
#define IOU_SLCR_MIO_PIN_28_L0_SEL_MASK                        0x00000002U

/*
* Level 1 Mux Select 0= Level 2 Mux Output 1= nand, Input, nfc_rb_n[1]- (N
    * AND Ready/Busy)
*/
#undef IOU_SLCR_MIO_PIN_28_L1_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_28_L1_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_28_L1_SEL_MASK 
#define IOU_SLCR_MIO_PIN_28_L1_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_28_L1_SEL_SHIFT                       2
#define IOU_SLCR_MIO_PIN_28_L1_SEL_MASK                        0x00000004U

/*
* Level 2 Mux Select 0= Level 3 Mux Output 1= pmu, Input, pmu_gpi[2]- (PMU
    *  GPI) 2= test_scan, Input, test_scan_in[28]- (Test Scan Port) = test_sca
    * n, Output, test_scan_out[28]- (Test Scan Port) 3= dpaux, Input, dp_hot_p
    * lug_detect- (Dp Aux Hot Plug)
*/
#undef IOU_SLCR_MIO_PIN_28_L2_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_28_L2_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_28_L2_SEL_MASK 
#define IOU_SLCR_MIO_PIN_28_L2_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_28_L2_SEL_SHIFT                       3
#define IOU_SLCR_MIO_PIN_28_L2_SEL_MASK                        0x00000018U

/*
* Level 3 Mux Select 0= gpio1, Input, gpio_1_pin_in[2]- (GPIO bank 1) 0= g
    * pio1, Output, gpio_1_pin_out[2]- (GPIO bank 1) 1= can1, Output, can1_phy
    * _tx- (Can TX signal) 2= i2c1, Input, i2c1_scl_input- (SCL signal) 2= i2c
    * 1, Output, i2c1_scl_out- (SCL signal) 3= pjtag, Output, pjtag_tdo- (PJTA
    * G TDO) 4= spi0, Output, spi0_n_ss_out[1]- (SPI Master Selects) 5= ttc1,
    * Input, ttc1_clk_in- (TTC Clock) 6= ua1, Output, ua1_txd- (UART transmitt
    * er serial output) 7= trace, Output, tracedq[6]- (Trace Port Databus)
*/
#undef IOU_SLCR_MIO_PIN_28_L3_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_28_L3_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_28_L3_SEL_MASK 
#define IOU_SLCR_MIO_PIN_28_L3_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_28_L3_SEL_SHIFT                       5
#define IOU_SLCR_MIO_PIN_28_L3_SEL_MASK                        0x000000E0U

/*
* Level 0 Mux Select 0= Level 1 Mux Output 1= gem0, Output, gem0_rgmii_txd
    * [2]- (TX RGMII data)
*/
#undef IOU_SLCR_MIO_PIN_29_L0_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_29_L0_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_29_L0_SEL_MASK 
#define IOU_SLCR_MIO_PIN_29_L0_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_29_L0_SEL_SHIFT                       1
#define IOU_SLCR_MIO_PIN_29_L0_SEL_MASK                        0x00000002U

/*
* Level 1 Mux Select 0= Level 2 Mux Output 1= pcie, Input, pcie_reset_n- (
    * PCIE Reset signal)
*/
#undef IOU_SLCR_MIO_PIN_29_L1_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_29_L1_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_29_L1_SEL_MASK 
#define IOU_SLCR_MIO_PIN_29_L1_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_29_L1_SEL_SHIFT                       2
#define IOU_SLCR_MIO_PIN_29_L1_SEL_MASK                        0x00000004U

/*
* Level 2 Mux Select 0= Level 3 Mux Output 1= pmu, Input, pmu_gpi[3]- (PMU
    *  GPI) 2= test_scan, Input, test_scan_in[29]- (Test Scan Port) = test_sca
    * n, Output, test_scan_out[29]- (Test Scan Port) 3= dpaux, Input, dp_aux_d
    * ata_in- (Dp Aux Data) = dpaux, Output, dp_aux_data_out- (Dp Aux Data)
*/
#undef IOU_SLCR_MIO_PIN_29_L2_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_29_L2_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_29_L2_SEL_MASK 
#define IOU_SLCR_MIO_PIN_29_L2_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_29_L2_SEL_SHIFT                       3
#define IOU_SLCR_MIO_PIN_29_L2_SEL_MASK                        0x00000018U

/*
* Level 3 Mux Select 0= gpio1, Input, gpio_1_pin_in[3]- (GPIO bank 1) 0= g
    * pio1, Output, gpio_1_pin_out[3]- (GPIO bank 1) 1= can1, Input, can1_phy_
    * rx- (Can RX signal) 2= i2c1, Input, i2c1_sda_input- (SDA signal) 2= i2c1
    * , Output, i2c1_sda_out- (SDA signal) 3= pjtag, Input, pjtag_tms- (PJTAG
    * TMS) 4= spi0, Input, spi0_n_ss_in- (SPI Master Selects) 4= spi0, Output,
    *  spi0_n_ss_out[0]- (SPI Master Selects) 5= ttc1, Output, ttc1_wave_out-
    * (TTC Waveform Clock) 6= ua1, Input, ua1_rxd- (UART receiver serial input
    * ) 7= trace, Output, tracedq[7]- (Trace Port Databus)
*/
#undef IOU_SLCR_MIO_PIN_29_L3_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_29_L3_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_29_L3_SEL_MASK 
#define IOU_SLCR_MIO_PIN_29_L3_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_29_L3_SEL_SHIFT                       5
#define IOU_SLCR_MIO_PIN_29_L3_SEL_MASK                        0x000000E0U

/*
* Level 0 Mux Select 0= Level 1 Mux Output 1= gem0, Output, gem0_rgmii_txd
    * [3]- (TX RGMII data)
*/
#undef IOU_SLCR_MIO_PIN_30_L0_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_30_L0_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_30_L0_SEL_MASK 
#define IOU_SLCR_MIO_PIN_30_L0_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_30_L0_SEL_SHIFT                       1
#define IOU_SLCR_MIO_PIN_30_L0_SEL_MASK                        0x00000002U

/*
* Level 1 Mux Select 0= Level 2 Mux Output 1= pcie, Input, pcie_reset_n- (
    * PCIE Reset signal)
*/
#undef IOU_SLCR_MIO_PIN_30_L1_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_30_L1_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_30_L1_SEL_MASK 
#define IOU_SLCR_MIO_PIN_30_L1_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_30_L1_SEL_SHIFT                       2
#define IOU_SLCR_MIO_PIN_30_L1_SEL_MASK                        0x00000004U

/*
* Level 2 Mux Select 0= Level 3 Mux Output 1= pmu, Input, pmu_gpi[4]- (PMU
    *  GPI) 2= test_scan, Input, test_scan_in[30]- (Test Scan Port) = test_sca
    * n, Output, test_scan_out[30]- (Test Scan Port) 3= dpaux, Input, dp_hot_p
    * lug_detect- (Dp Aux Hot Plug)
*/
#undef IOU_SLCR_MIO_PIN_30_L2_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_30_L2_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_30_L2_SEL_MASK 
#define IOU_SLCR_MIO_PIN_30_L2_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_30_L2_SEL_SHIFT                       3
#define IOU_SLCR_MIO_PIN_30_L2_SEL_MASK                        0x00000018U

/*
* Level 3 Mux Select 0= gpio1, Input, gpio_1_pin_in[4]- (GPIO bank 1) 0= g
    * pio1, Output, gpio_1_pin_out[4]- (GPIO bank 1) 1= can0, Input, can0_phy_
    * rx- (Can RX signal) 2= i2c0, Input, i2c0_scl_input- (SCL signal) 2= i2c0
    * , Output, i2c0_scl_out- (SCL signal) 3= swdt0, Input, swdt0_clk_in- (Wat
    * ch Dog Timer Input clock) 4= spi0, Input, spi0_mi- (MISO signal) 4= spi0
    * , Output, spi0_so- (MISO signal) 5= ttc0, Input, ttc0_clk_in- (TTC Clock
    * ) 6= ua0, Input, ua0_rxd- (UART receiver serial input) 7= trace, Output,
    *  tracedq[8]- (Trace Port Databus)
*/
#undef IOU_SLCR_MIO_PIN_30_L3_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_30_L3_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_30_L3_SEL_MASK 
#define IOU_SLCR_MIO_PIN_30_L3_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_30_L3_SEL_SHIFT                       5
#define IOU_SLCR_MIO_PIN_30_L3_SEL_MASK                        0x000000E0U

/*
* Level 0 Mux Select 0= Level 1 Mux Output 1= gem0, Output, gem0_rgmii_tx_
    * ctl- (TX RGMII control)
*/
#undef IOU_SLCR_MIO_PIN_31_L0_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_31_L0_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_31_L0_SEL_MASK 
#define IOU_SLCR_MIO_PIN_31_L0_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_31_L0_SEL_SHIFT                       1
#define IOU_SLCR_MIO_PIN_31_L0_SEL_MASK                        0x00000002U

/*
* Level 1 Mux Select 0= Level 2 Mux Output 1= pcie, Input, pcie_reset_n- (
    * PCIE Reset signal)
*/
#undef IOU_SLCR_MIO_PIN_31_L1_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_31_L1_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_31_L1_SEL_MASK 
#define IOU_SLCR_MIO_PIN_31_L1_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_31_L1_SEL_SHIFT                       2
#define IOU_SLCR_MIO_PIN_31_L1_SEL_MASK                        0x00000004U

/*
* Level 2 Mux Select 0= Level 3 Mux Output 1= pmu, Input, pmu_gpi[5]- (PMU
    *  GPI) 2= test_scan, Input, test_scan_in[31]- (Test Scan Port) = test_sca
    * n, Output, test_scan_out[31]- (Test Scan Port) 3= csu, Input, csu_ext_ta
    * mper- (CSU Ext Tamper)
*/
#undef IOU_SLCR_MIO_PIN_31_L2_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_31_L2_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_31_L2_SEL_MASK 
#define IOU_SLCR_MIO_PIN_31_L2_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_31_L2_SEL_SHIFT                       3
#define IOU_SLCR_MIO_PIN_31_L2_SEL_MASK                        0x00000018U

/*
* Level 3 Mux Select 0= gpio1, Input, gpio_1_pin_in[5]- (GPIO bank 1) 0= g
    * pio1, Output, gpio_1_pin_out[5]- (GPIO bank 1) 1= can0, Output, can0_phy
    * _tx- (Can TX signal) 2= i2c0, Input, i2c0_sda_input- (SDA signal) 2= i2c
    * 0, Output, i2c0_sda_out- (SDA signal) 3= swdt0, Output, swdt0_rst_out- (
    * Watch Dog Timer Output clock) 4= spi0, Output, spi0_mo- (MOSI signal) 4=
    *  spi0, Input, spi0_si- (MOSI signal) 5= ttc0, Output, ttc0_wave_out- (TT
    * C Waveform Clock) 6= ua0, Output, ua0_txd- (UART transmitter serial outp
    * ut) 7= trace, Output, tracedq[9]- (Trace Port Databus)
*/
#undef IOU_SLCR_MIO_PIN_31_L3_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_31_L3_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_31_L3_SEL_MASK 
#define IOU_SLCR_MIO_PIN_31_L3_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_31_L3_SEL_SHIFT                       5
#define IOU_SLCR_MIO_PIN_31_L3_SEL_MASK                        0x000000E0U

/*
* Level 0 Mux Select 0= Level 1 Mux Output 1= gem0, Input, gem0_rgmii_rx_c
    * lk- (RX RGMII clock)
*/
#undef IOU_SLCR_MIO_PIN_32_L0_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_32_L0_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_32_L0_SEL_MASK 
#define IOU_SLCR_MIO_PIN_32_L0_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_32_L0_SEL_SHIFT                       1
#define IOU_SLCR_MIO_PIN_32_L0_SEL_MASK                        0x00000002U

/*
* Level 1 Mux Select 0= Level 2 Mux Output 1= nand, Input, nfc_dqs_in- (NA
    * ND Strobe) 1= nand, Output, nfc_dqs_out- (NAND Strobe)
*/
#undef IOU_SLCR_MIO_PIN_32_L1_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_32_L1_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_32_L1_SEL_MASK 
#define IOU_SLCR_MIO_PIN_32_L1_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_32_L1_SEL_SHIFT                       2
#define IOU_SLCR_MIO_PIN_32_L1_SEL_MASK                        0x00000004U

/*
* Level 2 Mux Select 0= Level 3 Mux Output 1= pmu, Output, pmu_gpo[0]- (PM
    * U GPI) 2= test_scan, Input, test_scan_in[32]- (Test Scan Port) = test_sc
    * an, Output, test_scan_out[32]- (Test Scan Port) 3= csu, Input, csu_ext_t
    * amper- (CSU Ext Tamper)
*/
#undef IOU_SLCR_MIO_PIN_32_L2_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_32_L2_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_32_L2_SEL_MASK 
#define IOU_SLCR_MIO_PIN_32_L2_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_32_L2_SEL_SHIFT                       3
#define IOU_SLCR_MIO_PIN_32_L2_SEL_MASK                        0x00000018U

/*
* Level 3 Mux Select 0= gpio1, Input, gpio_1_pin_in[6]- (GPIO bank 1) 0= g
    * pio1, Output, gpio_1_pin_out[6]- (GPIO bank 1) 1= can1, Output, can1_phy
    * _tx- (Can TX signal) 2= i2c1, Input, i2c1_scl_input- (SCL signal) 2= i2c
    * 1, Output, i2c1_scl_out- (SCL signal) 3= swdt1, Input, swdt1_clk_in- (Wa
    * tch Dog Timer Input clock) 4= spi1, Input, spi1_sclk_in- (SPI Clock) 4=
    * spi1, Output, spi1_sclk_out- (SPI Clock) 5= ttc3, Input, ttc3_clk_in- (T
    * TC Clock) 6= ua1, Output, ua1_txd- (UART transmitter serial output) 7= t
    * race, Output, tracedq[10]- (Trace Port Databus)
*/
#undef IOU_SLCR_MIO_PIN_32_L3_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_32_L3_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_32_L3_SEL_MASK 
#define IOU_SLCR_MIO_PIN_32_L3_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_32_L3_SEL_SHIFT                       5
#define IOU_SLCR_MIO_PIN_32_L3_SEL_MASK                        0x000000E0U

/*
* Level 0 Mux Select 0= Level 1 Mux Output 1= gem0, Input, gem0_rgmii_rxd[
    * 0]- (RX RGMII data)
*/
#undef IOU_SLCR_MIO_PIN_33_L0_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_33_L0_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_33_L0_SEL_MASK 
#define IOU_SLCR_MIO_PIN_33_L0_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_33_L0_SEL_SHIFT                       1
#define IOU_SLCR_MIO_PIN_33_L0_SEL_MASK                        0x00000002U

/*
* Level 1 Mux Select 0= Level 2 Mux Output 1= pcie, Input, pcie_reset_n- (
    * PCIE Reset signal)
*/
#undef IOU_SLCR_MIO_PIN_33_L1_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_33_L1_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_33_L1_SEL_MASK 
#define IOU_SLCR_MIO_PIN_33_L1_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_33_L1_SEL_SHIFT                       2
#define IOU_SLCR_MIO_PIN_33_L1_SEL_MASK                        0x00000004U

/*
* Level 2 Mux Select 0= Level 3 Mux Output 1= pmu, Output, pmu_gpo[1]- (PM
    * U GPI) 2= test_scan, Input, test_scan_in[33]- (Test Scan Port) = test_sc
    * an, Output, test_scan_out[33]- (Test Scan Port) 3= csu, Input, csu_ext_t
    * amper- (CSU Ext Tamper)
*/
#undef IOU_SLCR_MIO_PIN_33_L2_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_33_L2_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_33_L2_SEL_MASK 
#define IOU_SLCR_MIO_PIN_33_L2_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_33_L2_SEL_SHIFT                       3
#define IOU_SLCR_MIO_PIN_33_L2_SEL_MASK                        0x00000018U

/*
* Level 3 Mux Select 0= gpio1, Input, gpio_1_pin_in[7]- (GPIO bank 1) 0= g
    * pio1, Output, gpio_1_pin_out[7]- (GPIO bank 1) 1= can1, Input, can1_phy_
    * rx- (Can RX signal) 2= i2c1, Input, i2c1_sda_input- (SDA signal) 2= i2c1
    * , Output, i2c1_sda_out- (SDA signal) 3= swdt1, Output, swdt1_rst_out- (W
    * atch Dog Timer Output clock) 4= spi1, Output, spi1_n_ss_out[2]- (SPI Mas
    * ter Selects) 5= ttc3, Output, ttc3_wave_out- (TTC Waveform Clock) 6= ua1
    * , Input, ua1_rxd- (UART receiver serial input) 7= trace, Output, tracedq
    * [11]- (Trace Port Databus)
*/
#undef IOU_SLCR_MIO_PIN_33_L3_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_33_L3_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_33_L3_SEL_MASK 
#define IOU_SLCR_MIO_PIN_33_L3_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_33_L3_SEL_SHIFT                       5
#define IOU_SLCR_MIO_PIN_33_L3_SEL_MASK                        0x000000E0U

/*
* Level 0 Mux Select 0= Level 1 Mux Output 1= gem0, Input, gem0_rgmii_rxd[
    * 1]- (RX RGMII data)
*/
#undef IOU_SLCR_MIO_PIN_34_L0_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_34_L0_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_34_L0_SEL_MASK 
#define IOU_SLCR_MIO_PIN_34_L0_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_34_L0_SEL_SHIFT                       1
#define IOU_SLCR_MIO_PIN_34_L0_SEL_MASK                        0x00000002U

/*
* Level 1 Mux Select 0= Level 2 Mux Output 1= pcie, Input, pcie_reset_n- (
    * PCIE Reset signal)
*/
#undef IOU_SLCR_MIO_PIN_34_L1_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_34_L1_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_34_L1_SEL_MASK 
#define IOU_SLCR_MIO_PIN_34_L1_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_34_L1_SEL_SHIFT                       2
#define IOU_SLCR_MIO_PIN_34_L1_SEL_MASK                        0x00000004U

/*
* Level 2 Mux Select 0= Level 3 Mux Output 1= pmu, Output, pmu_gpo[2]- (PM
    * U GPI) 2= test_scan, Input, test_scan_in[34]- (Test Scan Port) = test_sc
    * an, Output, test_scan_out[34]- (Test Scan Port) 3= dpaux, Input, dp_aux_
    * data_in- (Dp Aux Data) = dpaux, Output, dp_aux_data_out- (Dp Aux Data)
*/
#undef IOU_SLCR_MIO_PIN_34_L2_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_34_L2_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_34_L2_SEL_MASK 
#define IOU_SLCR_MIO_PIN_34_L2_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_34_L2_SEL_SHIFT                       3
#define IOU_SLCR_MIO_PIN_34_L2_SEL_MASK                        0x00000018U

/*
* Level 3 Mux Select 0= gpio1, Input, gpio_1_pin_in[8]- (GPIO bank 1) 0= g
    * pio1, Output, gpio_1_pin_out[8]- (GPIO bank 1) 1= can0, Input, can0_phy_
    * rx- (Can RX signal) 2= i2c0, Input, i2c0_scl_input- (SCL signal) 2= i2c0
    * , Output, i2c0_scl_out- (SCL signal) 3= swdt0, Input, swdt0_clk_in- (Wat
    * ch Dog Timer Input clock) 4= spi1, Output, spi1_n_ss_out[1]- (SPI Master
    *  Selects) 5= ttc2, Input, ttc2_clk_in- (TTC Clock) 6= ua0, Input, ua0_rx
    * d- (UART receiver serial input) 7= trace, Output, tracedq[12]- (Trace Po
    * rt Databus)
*/
#undef IOU_SLCR_MIO_PIN_34_L3_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_34_L3_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_34_L3_SEL_MASK 
#define IOU_SLCR_MIO_PIN_34_L3_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_34_L3_SEL_SHIFT                       5
#define IOU_SLCR_MIO_PIN_34_L3_SEL_MASK                        0x000000E0U

/*
* Level 0 Mux Select 0= Level 1 Mux Output 1= gem0, Input, gem0_rgmii_rxd[
    * 2]- (RX RGMII data)
*/
#undef IOU_SLCR_MIO_PIN_35_L0_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_35_L0_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_35_L0_SEL_MASK 
#define IOU_SLCR_MIO_PIN_35_L0_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_35_L0_SEL_SHIFT                       1
#define IOU_SLCR_MIO_PIN_35_L0_SEL_MASK                        0x00000002U

/*
* Level 1 Mux Select 0= Level 2 Mux Output 1= pcie, Input, pcie_reset_n- (
    * PCIE Reset signal)
*/
#undef IOU_SLCR_MIO_PIN_35_L1_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_35_L1_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_35_L1_SEL_MASK 
#define IOU_SLCR_MIO_PIN_35_L1_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_35_L1_SEL_SHIFT                       2
#define IOU_SLCR_MIO_PIN_35_L1_SEL_MASK                        0x00000004U

/*
* Level 2 Mux Select 0= Level 3 Mux Output 1= pmu, Output, pmu_gpo[3]- (PM
    * U GPI) 2= test_scan, Input, test_scan_in[35]- (Test Scan Port) = test_sc
    * an, Output, test_scan_out[35]- (Test Scan Port) 3= dpaux, Input, dp_hot_
    * plug_detect- (Dp Aux Hot Plug)
*/
#undef IOU_SLCR_MIO_PIN_35_L2_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_35_L2_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_35_L2_SEL_MASK 
#define IOU_SLCR_MIO_PIN_35_L2_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_35_L2_SEL_SHIFT                       3
#define IOU_SLCR_MIO_PIN_35_L2_SEL_MASK                        0x00000018U

/*
* Level 3 Mux Select 0= gpio1, Input, gpio_1_pin_in[9]- (GPIO bank 1) 0= g
    * pio1, Output, gpio_1_pin_out[9]- (GPIO bank 1) 1= can0, Output, can0_phy
    * _tx- (Can TX signal) 2= i2c0, Input, i2c0_sda_input- (SDA signal) 2= i2c
    * 0, Output, i2c0_sda_out- (SDA signal) 3= swdt0, Output, swdt0_rst_out- (
    * Watch Dog Timer Output clock) 4= spi1, Input, spi1_n_ss_in- (SPI Master
    * Selects) 4= spi1, Output, spi1_n_ss_out[0]- (SPI Master Selects) 5= ttc2
    * , Output, ttc2_wave_out- (TTC Waveform Clock) 6= ua0, Output, ua0_txd- (
    * UART transmitter serial output) 7= trace, Output, tracedq[13]- (Trace Po
    * rt Databus)
*/
#undef IOU_SLCR_MIO_PIN_35_L3_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_35_L3_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_35_L3_SEL_MASK 
#define IOU_SLCR_MIO_PIN_35_L3_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_35_L3_SEL_SHIFT                       5
#define IOU_SLCR_MIO_PIN_35_L3_SEL_MASK                        0x000000E0U

/*
* Level 0 Mux Select 0= Level 1 Mux Output 1= gem0, Input, gem0_rgmii_rxd[
    * 3]- (RX RGMII data)
*/
#undef IOU_SLCR_MIO_PIN_36_L0_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_36_L0_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_36_L0_SEL_MASK 
#define IOU_SLCR_MIO_PIN_36_L0_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_36_L0_SEL_SHIFT                       1
#define IOU_SLCR_MIO_PIN_36_L0_SEL_MASK                        0x00000002U

/*
* Level 1 Mux Select 0= Level 2 Mux Output 1= pcie, Input, pcie_reset_n- (
    * PCIE Reset signal)
*/
#undef IOU_SLCR_MIO_PIN_36_L1_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_36_L1_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_36_L1_SEL_MASK 
#define IOU_SLCR_MIO_PIN_36_L1_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_36_L1_SEL_SHIFT                       2
#define IOU_SLCR_MIO_PIN_36_L1_SEL_MASK                        0x00000004U

/*
* Level 2 Mux Select 0= Level 3 Mux Output 1= pmu, Output, pmu_gpo[4]- (PM
    * U GPI) 2= test_scan, Input, test_scan_in[36]- (Test Scan Port) = test_sc
    * an, Output, test_scan_out[36]- (Test Scan Port) 3= dpaux, Input, dp_aux_
    * data_in- (Dp Aux Data) = dpaux, Output, dp_aux_data_out- (Dp Aux Data)
*/
#undef IOU_SLCR_MIO_PIN_36_L2_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_36_L2_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_36_L2_SEL_MASK 
#define IOU_SLCR_MIO_PIN_36_L2_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_36_L2_SEL_SHIFT                       3
#define IOU_SLCR_MIO_PIN_36_L2_SEL_MASK                        0x00000018U

/*
* Level 3 Mux Select 0= gpio1, Input, gpio_1_pin_in[10]- (GPIO bank 1) 0=
    * gpio1, Output, gpio_1_pin_out[10]- (GPIO bank 1) 1= can1, Output, can1_p
    * hy_tx- (Can TX signal) 2= i2c1, Input, i2c1_scl_input- (SCL signal) 2= i
    * 2c1, Output, i2c1_scl_out- (SCL signal) 3= swdt1, Input, swdt1_clk_in- (
    * Watch Dog Timer Input clock) 4= spi1, Input, spi1_mi- (MISO signal) 4= s
    * pi1, Output, spi1_so- (MISO signal) 5= ttc1, Input, ttc1_clk_in- (TTC Cl
    * ock) 6= ua1, Output, ua1_txd- (UART transmitter serial output) 7= trace,
    *  Output, tracedq[14]- (Trace Port Databus)
*/
#undef IOU_SLCR_MIO_PIN_36_L3_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_36_L3_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_36_L3_SEL_MASK 
#define IOU_SLCR_MIO_PIN_36_L3_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_36_L3_SEL_SHIFT                       5
#define IOU_SLCR_MIO_PIN_36_L3_SEL_MASK                        0x000000E0U

/*
* Level 0 Mux Select 0= Level 1 Mux Output 1= gem0, Input, gem0_rgmii_rx_c
    * tl- (RX RGMII control )
*/
#undef IOU_SLCR_MIO_PIN_37_L0_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_37_L0_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_37_L0_SEL_MASK 
#define IOU_SLCR_MIO_PIN_37_L0_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_37_L0_SEL_SHIFT                       1
#define IOU_SLCR_MIO_PIN_37_L0_SEL_MASK                        0x00000002U

/*
* Level 1 Mux Select 0= Level 2 Mux Output 1= pcie, Input, pcie_reset_n- (
    * PCIE Reset signal)
*/
#undef IOU_SLCR_MIO_PIN_37_L1_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_37_L1_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_37_L1_SEL_MASK 
#define IOU_SLCR_MIO_PIN_37_L1_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_37_L1_SEL_SHIFT                       2
#define IOU_SLCR_MIO_PIN_37_L1_SEL_MASK                        0x00000004U

/*
* Level 2 Mux Select 0= Level 3 Mux Output 1= pmu, Output, pmu_gpo[5]- (PM
    * U GPI) 2= test_scan, Input, test_scan_in[37]- (Test Scan Port) = test_sc
    * an, Output, test_scan_out[37]- (Test Scan Port) 3= dpaux, Input, dp_hot_
    * plug_detect- (Dp Aux Hot Plug)
*/
#undef IOU_SLCR_MIO_PIN_37_L2_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_37_L2_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_37_L2_SEL_MASK 
#define IOU_SLCR_MIO_PIN_37_L2_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_37_L2_SEL_SHIFT                       3
#define IOU_SLCR_MIO_PIN_37_L2_SEL_MASK                        0x00000018U

/*
* Level 3 Mux Select 0= gpio1, Input, gpio_1_pin_in[11]- (GPIO bank 1) 0=
    * gpio1, Output, gpio_1_pin_out[11]- (GPIO bank 1) 1= can1, Input, can1_ph
    * y_rx- (Can RX signal) 2= i2c1, Input, i2c1_sda_input- (SDA signal) 2= i2
    * c1, Output, i2c1_sda_out- (SDA signal) 3= swdt1, Output, swdt1_rst_out-
    * (Watch Dog Timer Output clock) 4= spi1, Output, spi1_mo- (MOSI signal) 4
    * = spi1, Input, spi1_si- (MOSI signal) 5= ttc1, Output, ttc1_wave_out- (T
    * TC Waveform Clock) 6= ua1, Input, ua1_rxd- (UART receiver serial input)
    * 7= trace, Output, tracedq[15]- (Trace Port Databus)
*/
#undef IOU_SLCR_MIO_PIN_37_L3_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_37_L3_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_37_L3_SEL_MASK 
#define IOU_SLCR_MIO_PIN_37_L3_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_37_L3_SEL_SHIFT                       5
#define IOU_SLCR_MIO_PIN_37_L3_SEL_MASK                        0x000000E0U

/*
* Level 0 Mux Select 0= Level 1 Mux Output 1= gem1, Output, gem1_rgmii_tx_
    * clk- (TX RGMII clock)
*/
#undef IOU_SLCR_MIO_PIN_38_L0_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_38_L0_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_38_L0_SEL_MASK 
#define IOU_SLCR_MIO_PIN_38_L0_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_38_L0_SEL_SHIFT                       1
#define IOU_SLCR_MIO_PIN_38_L0_SEL_MASK                        0x00000002U

/*
* Level 1 Mux Select 0= Level 2 Mux Output 1= Not Used
*/
#undef IOU_SLCR_MIO_PIN_38_L1_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_38_L1_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_38_L1_SEL_MASK 
#define IOU_SLCR_MIO_PIN_38_L1_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_38_L1_SEL_SHIFT                       2
#define IOU_SLCR_MIO_PIN_38_L1_SEL_MASK                        0x00000004U

/*
* Level 2 Mux Select 0= Level 3 Mux Output 1= sd0, Output, sdio0_clk_out-
    * (SDSDIO clock) 2= Not Used 3= Not Used
*/
#undef IOU_SLCR_MIO_PIN_38_L2_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_38_L2_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_38_L2_SEL_MASK 
#define IOU_SLCR_MIO_PIN_38_L2_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_38_L2_SEL_SHIFT                       3
#define IOU_SLCR_MIO_PIN_38_L2_SEL_MASK                        0x00000018U

/*
* Level 3 Mux Select 0= gpio1, Input, gpio_1_pin_in[12]- (GPIO bank 1) 0=
    * gpio1, Output, gpio_1_pin_out[12]- (GPIO bank 1) 1= can0, Input, can0_ph
    * y_rx- (Can RX signal) 2= i2c0, Input, i2c0_scl_input- (SCL signal) 2= i2
    * c0, Output, i2c0_scl_out- (SCL signal) 3= pjtag, Input, pjtag_tck- (PJTA
    * G TCK) 4= spi0, Input, spi0_sclk_in- (SPI Clock) 4= spi0, Output, spi0_s
    * clk_out- (SPI Clock) 5= ttc0, Input, ttc0_clk_in- (TTC Clock) 6= ua0, In
    * put, ua0_rxd- (UART receiver serial input) 7= trace, Output, trace_clk-
    * (Trace Port Clock)
*/
#undef IOU_SLCR_MIO_PIN_38_L3_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_38_L3_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_38_L3_SEL_MASK 
#define IOU_SLCR_MIO_PIN_38_L3_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_38_L3_SEL_SHIFT                       5
#define IOU_SLCR_MIO_PIN_38_L3_SEL_MASK                        0x000000E0U

/*
* Level 0 Mux Select 0= Level 1 Mux Output 1= gem1, Output, gem1_rgmii_txd
    * [0]- (TX RGMII data)
*/
#undef IOU_SLCR_MIO_PIN_39_L0_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_39_L0_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_39_L0_SEL_MASK 
#define IOU_SLCR_MIO_PIN_39_L0_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_39_L0_SEL_SHIFT                       1
#define IOU_SLCR_MIO_PIN_39_L0_SEL_MASK                        0x00000002U

/*
* Level 1 Mux Select 0= Level 2 Mux Output 1= Not Used
*/
#undef IOU_SLCR_MIO_PIN_39_L1_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_39_L1_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_39_L1_SEL_MASK 
#define IOU_SLCR_MIO_PIN_39_L1_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_39_L1_SEL_SHIFT                       2
#define IOU_SLCR_MIO_PIN_39_L1_SEL_MASK                        0x00000004U

/*
* Level 2 Mux Select 0= Level 3 Mux Output 1= sd0, Input, sdio0_cd_n- (SD
    * card detect from connector) 2= sd1, Input, sd1_data_in[4]- (8-bit Data b
    * us) = sd1, Output, sdio1_data_out[4]- (8-bit Data bus) 3= Not Used
*/
#undef IOU_SLCR_MIO_PIN_39_L2_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_39_L2_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_39_L2_SEL_MASK 
#define IOU_SLCR_MIO_PIN_39_L2_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_39_L2_SEL_SHIFT                       3
#define IOU_SLCR_MIO_PIN_39_L2_SEL_MASK                        0x00000018U

/*
* Level 3 Mux Select 0= gpio1, Input, gpio_1_pin_in[13]- (GPIO bank 1) 0=
    * gpio1, Output, gpio_1_pin_out[13]- (GPIO bank 1) 1= can0, Output, can0_p
    * hy_tx- (Can TX signal) 2= i2c0, Input, i2c0_sda_input- (SDA signal) 2= i
    * 2c0, Output, i2c0_sda_out- (SDA signal) 3= pjtag, Input, pjtag_tdi- (PJT
    * AG TDI) 4= spi0, Output, spi0_n_ss_out[2]- (SPI Master Selects) 5= ttc0,
    *  Output, ttc0_wave_out- (TTC Waveform Clock) 6= ua0, Output, ua0_txd- (U
    * ART transmitter serial output) 7= trace, Output, trace_ctl- (Trace Port
    * Control Signal)
*/
#undef IOU_SLCR_MIO_PIN_39_L3_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_39_L3_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_39_L3_SEL_MASK 
#define IOU_SLCR_MIO_PIN_39_L3_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_39_L3_SEL_SHIFT                       5
#define IOU_SLCR_MIO_PIN_39_L3_SEL_MASK                        0x000000E0U

/*
* Level 0 Mux Select 0= Level 1 Mux Output 1= gem1, Output, gem1_rgmii_txd
    * [1]- (TX RGMII data)
*/
#undef IOU_SLCR_MIO_PIN_40_L0_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_40_L0_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_40_L0_SEL_MASK 
#define IOU_SLCR_MIO_PIN_40_L0_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_40_L0_SEL_SHIFT                       1
#define IOU_SLCR_MIO_PIN_40_L0_SEL_MASK                        0x00000002U

/*
* Level 1 Mux Select 0= Level 2 Mux Output 1= Not Used
*/
#undef IOU_SLCR_MIO_PIN_40_L1_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_40_L1_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_40_L1_SEL_MASK 
#define IOU_SLCR_MIO_PIN_40_L1_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_40_L1_SEL_SHIFT                       2
#define IOU_SLCR_MIO_PIN_40_L1_SEL_MASK                        0x00000004U

/*
* Level 2 Mux Select 0= Level 3 Mux Output 1= sd0, Input, sd0_cmd_in- (Com
    * mand Indicator) = sd0, Output, sdio0_cmd_out- (Command Indicator) 2= sd1
    * , Input, sd1_data_in[5]- (8-bit Data bus) = sd1, Output, sdio1_data_out[
    * 5]- (8-bit Data bus) 3= Not Used
*/
#undef IOU_SLCR_MIO_PIN_40_L2_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_40_L2_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_40_L2_SEL_MASK 
#define IOU_SLCR_MIO_PIN_40_L2_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_40_L2_SEL_SHIFT                       3
#define IOU_SLCR_MIO_PIN_40_L2_SEL_MASK                        0x00000018U

/*
* Level 3 Mux Select 0= gpio1, Input, gpio_1_pin_in[14]- (GPIO bank 1) 0=
    * gpio1, Output, gpio_1_pin_out[14]- (GPIO bank 1) 1= can1, Output, can1_p
    * hy_tx- (Can TX signal) 2= i2c1, Input, i2c1_scl_input- (SCL signal) 2= i
    * 2c1, Output, i2c1_scl_out- (SCL signal) 3= pjtag, Output, pjtag_tdo- (PJ
    * TAG TDO) 4= spi0, Output, spi0_n_ss_out[1]- (SPI Master Selects) 5= ttc3
    * , Input, ttc3_clk_in- (TTC Clock) 6= ua1, Output, ua1_txd- (UART transmi
    * tter serial output) 7= trace, Output, tracedq[0]- (Trace Port Databus)
*/
#undef IOU_SLCR_MIO_PIN_40_L3_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_40_L3_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_40_L3_SEL_MASK 
#define IOU_SLCR_MIO_PIN_40_L3_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_40_L3_SEL_SHIFT                       5
#define IOU_SLCR_MIO_PIN_40_L3_SEL_MASK                        0x000000E0U

/*
* Level 0 Mux Select 0= Level 1 Mux Output 1= gem1, Output, gem1_rgmii_txd
    * [2]- (TX RGMII data)
*/
#undef IOU_SLCR_MIO_PIN_41_L0_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_41_L0_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_41_L0_SEL_MASK 
#define IOU_SLCR_MIO_PIN_41_L0_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_41_L0_SEL_SHIFT                       1
#define IOU_SLCR_MIO_PIN_41_L0_SEL_MASK                        0x00000002U

/*
* Level 1 Mux Select 0= Level 2 Mux Output 1= Not Used
*/
#undef IOU_SLCR_MIO_PIN_41_L1_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_41_L1_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_41_L1_SEL_MASK 
#define IOU_SLCR_MIO_PIN_41_L1_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_41_L1_SEL_SHIFT                       2
#define IOU_SLCR_MIO_PIN_41_L1_SEL_MASK                        0x00000004U

/*
* Level 2 Mux Select 0= Level 3 Mux Output 1= sd0, Input, sd0_data_in[0]-
    * (8-bit Data bus) = sd0, Output, sdio0_data_out[0]- (8-bit Data bus) 2= s
    * d1, Input, sd1_data_in[6]- (8-bit Data bus) = sd1, Output, sdio1_data_ou
    * t[6]- (8-bit Data bus) 3= Not Used
*/
#undef IOU_SLCR_MIO_PIN_41_L2_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_41_L2_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_41_L2_SEL_MASK 
#define IOU_SLCR_MIO_PIN_41_L2_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_41_L2_SEL_SHIFT                       3
#define IOU_SLCR_MIO_PIN_41_L2_SEL_MASK                        0x00000018U

/*
* Level 3 Mux Select 0= gpio1, Input, gpio_1_pin_in[15]- (GPIO bank 1) 0=
    * gpio1, Output, gpio_1_pin_out[15]- (GPIO bank 1) 1= can1, Input, can1_ph
    * y_rx- (Can RX signal) 2= i2c1, Input, i2c1_sda_input- (SDA signal) 2= i2
    * c1, Output, i2c1_sda_out- (SDA signal) 3= pjtag, Input, pjtag_tms- (PJTA
    * G TMS) 4= spi0, Input, spi0_n_ss_in- (SPI Master Selects) 4= spi0, Outpu
    * t, spi0_n_ss_out[0]- (SPI Master Selects) 5= ttc3, Output, ttc3_wave_out
    * - (TTC Waveform Clock) 6= ua1, Input, ua1_rxd- (UART receiver serial inp
    * ut) 7= trace, Output, tracedq[1]- (Trace Port Databus)
*/
#undef IOU_SLCR_MIO_PIN_41_L3_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_41_L3_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_41_L3_SEL_MASK 
#define IOU_SLCR_MIO_PIN_41_L3_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_41_L3_SEL_SHIFT                       5
#define IOU_SLCR_MIO_PIN_41_L3_SEL_MASK                        0x000000E0U

/*
* Level 0 Mux Select 0= Level 1 Mux Output 1= gem1, Output, gem1_rgmii_txd
    * [3]- (TX RGMII data)
*/
#undef IOU_SLCR_MIO_PIN_42_L0_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_42_L0_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_42_L0_SEL_MASK 
#define IOU_SLCR_MIO_PIN_42_L0_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_42_L0_SEL_SHIFT                       1
#define IOU_SLCR_MIO_PIN_42_L0_SEL_MASK                        0x00000002U

/*
* Level 1 Mux Select 0= Level 2 Mux Output 1= Not Used
*/
#undef IOU_SLCR_MIO_PIN_42_L1_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_42_L1_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_42_L1_SEL_MASK 
#define IOU_SLCR_MIO_PIN_42_L1_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_42_L1_SEL_SHIFT                       2
#define IOU_SLCR_MIO_PIN_42_L1_SEL_MASK                        0x00000004U

/*
* Level 2 Mux Select 0= Level 3 Mux Output 1= sd0, Input, sd0_data_in[1]-
    * (8-bit Data bus) = sd0, Output, sdio0_data_out[1]- (8-bit Data bus) 2= s
    * d1, Input, sd1_data_in[7]- (8-bit Data bus) = sd1, Output, sdio1_data_ou
    * t[7]- (8-bit Data bus) 3= Not Used
*/
#undef IOU_SLCR_MIO_PIN_42_L2_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_42_L2_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_42_L2_SEL_MASK 
#define IOU_SLCR_MIO_PIN_42_L2_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_42_L2_SEL_SHIFT                       3
#define IOU_SLCR_MIO_PIN_42_L2_SEL_MASK                        0x00000018U

/*
* Level 3 Mux Select 0= gpio1, Input, gpio_1_pin_in[16]- (GPIO bank 1) 0=
    * gpio1, Output, gpio_1_pin_out[16]- (GPIO bank 1) 1= can0, Input, can0_ph
    * y_rx- (Can RX signal) 2= i2c0, Input, i2c0_scl_input- (SCL signal) 2= i2
    * c0, Output, i2c0_scl_out- (SCL signal) 3= swdt0, Input, swdt0_clk_in- (W
    * atch Dog Timer Input clock) 4= spi0, Input, spi0_mi- (MISO signal) 4= sp
    * i0, Output, spi0_so- (MISO signal) 5= ttc2, Input, ttc2_clk_in- (TTC Clo
    * ck) 6= ua0, Input, ua0_rxd- (UART receiver serial input) 7= trace, Outpu
    * t, tracedq[2]- (Trace Port Databus)
*/
#undef IOU_SLCR_MIO_PIN_42_L3_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_42_L3_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_42_L3_SEL_MASK 
#define IOU_SLCR_MIO_PIN_42_L3_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_42_L3_SEL_SHIFT                       5
#define IOU_SLCR_MIO_PIN_42_L3_SEL_MASK                        0x000000E0U

/*
* Level 0 Mux Select 0= Level 1 Mux Output 1= gem1, Output, gem1_rgmii_tx_
    * ctl- (TX RGMII control)
*/
#undef IOU_SLCR_MIO_PIN_43_L0_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_43_L0_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_43_L0_SEL_MASK 
#define IOU_SLCR_MIO_PIN_43_L0_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_43_L0_SEL_SHIFT                       1
#define IOU_SLCR_MIO_PIN_43_L0_SEL_MASK                        0x00000002U

/*
* Level 1 Mux Select 0= Level 2 Mux Output 1= Not Used
*/
#undef IOU_SLCR_MIO_PIN_43_L1_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_43_L1_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_43_L1_SEL_MASK 
#define IOU_SLCR_MIO_PIN_43_L1_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_43_L1_SEL_SHIFT                       2
#define IOU_SLCR_MIO_PIN_43_L1_SEL_MASK                        0x00000004U

/*
* Level 2 Mux Select 0= Level 3 Mux Output 1= sd0, Input, sd0_data_in[2]-
    * (8-bit Data bus) = sd0, Output, sdio0_data_out[2]- (8-bit Data bus) 2= s
    * d1, Output, sdio1_bus_pow- (SD card bus power) 3= Not Used
*/
#undef IOU_SLCR_MIO_PIN_43_L2_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_43_L2_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_43_L2_SEL_MASK 
#define IOU_SLCR_MIO_PIN_43_L2_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_43_L2_SEL_SHIFT                       3
#define IOU_SLCR_MIO_PIN_43_L2_SEL_MASK                        0x00000018U

/*
* Level 3 Mux Select 0= gpio1, Input, gpio_1_pin_in[17]- (GPIO bank 1) 0=
    * gpio1, Output, gpio_1_pin_out[17]- (GPIO bank 1) 1= can0, Output, can0_p
    * hy_tx- (Can TX signal) 2= i2c0, Input, i2c0_sda_input- (SDA signal) 2= i
    * 2c0, Output, i2c0_sda_out- (SDA signal) 3= swdt0, Output, swdt0_rst_out-
    *  (Watch Dog Timer Output clock) 4= spi0, Output, spi0_mo- (MOSI signal)
    * 4= spi0, Input, spi0_si- (MOSI signal) 5= ttc2, Output, ttc2_wave_out- (
    * TTC Waveform Clock) 6= ua0, Output, ua0_txd- (UART transmitter serial ou
    * tput) 7= trace, Output, tracedq[3]- (Trace Port Databus)
*/
#undef IOU_SLCR_MIO_PIN_43_L3_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_43_L3_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_43_L3_SEL_MASK 
#define IOU_SLCR_MIO_PIN_43_L3_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_43_L3_SEL_SHIFT                       5
#define IOU_SLCR_MIO_PIN_43_L3_SEL_MASK                        0x000000E0U

/*
* Level 0 Mux Select 0= Level 1 Mux Output 1= gem1, Input, gem1_rgmii_rx_c
    * lk- (RX RGMII clock)
*/
#undef IOU_SLCR_MIO_PIN_44_L0_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_44_L0_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_44_L0_SEL_MASK 
#define IOU_SLCR_MIO_PIN_44_L0_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_44_L0_SEL_SHIFT                       1
#define IOU_SLCR_MIO_PIN_44_L0_SEL_MASK                        0x00000002U

/*
* Level 1 Mux Select 0= Level 2 Mux Output 1= Not Used
*/
#undef IOU_SLCR_MIO_PIN_44_L1_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_44_L1_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_44_L1_SEL_MASK 
#define IOU_SLCR_MIO_PIN_44_L1_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_44_L1_SEL_SHIFT                       2
#define IOU_SLCR_MIO_PIN_44_L1_SEL_MASK                        0x00000004U

/*
* Level 2 Mux Select 0= Level 3 Mux Output 1= sd0, Input, sd0_data_in[3]-
    * (8-bit Data bus) = sd0, Output, sdio0_data_out[3]- (8-bit Data bus) 2= s
    * d1, Input, sdio1_wp- (SD card write protect from connector) 3= Not Used
*/
#undef IOU_SLCR_MIO_PIN_44_L2_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_44_L2_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_44_L2_SEL_MASK 
#define IOU_SLCR_MIO_PIN_44_L2_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_44_L2_SEL_SHIFT                       3
#define IOU_SLCR_MIO_PIN_44_L2_SEL_MASK                        0x00000018U

/*
* Level 3 Mux Select 0= gpio1, Input, gpio_1_pin_in[18]- (GPIO bank 1) 0=
    * gpio1, Output, gpio_1_pin_out[18]- (GPIO bank 1) 1= can1, Output, can1_p
    * hy_tx- (Can TX signal) 2= i2c1, Input, i2c1_scl_input- (SCL signal) 2= i
    * 2c1, Output, i2c1_scl_out- (SCL signal) 3= swdt1, Input, swdt1_clk_in- (
    * Watch Dog Timer Input clock) 4= spi1, Input, spi1_sclk_in- (SPI Clock) 4
    * = spi1, Output, spi1_sclk_out- (SPI Clock) 5= ttc1, Input, ttc1_clk_in-
    * (TTC Clock) 6= ua1, Output, ua1_txd- (UART transmitter serial output) 7=
    *  Not Used
*/
#undef IOU_SLCR_MIO_PIN_44_L3_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_44_L3_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_44_L3_SEL_MASK 
#define IOU_SLCR_MIO_PIN_44_L3_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_44_L3_SEL_SHIFT                       5
#define IOU_SLCR_MIO_PIN_44_L3_SEL_MASK                        0x000000E0U

/*
* Level 0 Mux Select 0= Level 1 Mux Output 1= gem1, Input, gem1_rgmii_rxd[
    * 0]- (RX RGMII data)
*/
#undef IOU_SLCR_MIO_PIN_45_L0_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_45_L0_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_45_L0_SEL_MASK 
#define IOU_SLCR_MIO_PIN_45_L0_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_45_L0_SEL_SHIFT                       1
#define IOU_SLCR_MIO_PIN_45_L0_SEL_MASK                        0x00000002U

/*
* Level 1 Mux Select 0= Level 2 Mux Output 1= Not Used
*/
#undef IOU_SLCR_MIO_PIN_45_L1_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_45_L1_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_45_L1_SEL_MASK 
#define IOU_SLCR_MIO_PIN_45_L1_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_45_L1_SEL_SHIFT                       2
#define IOU_SLCR_MIO_PIN_45_L1_SEL_MASK                        0x00000004U

/*
* Level 2 Mux Select 0= Level 3 Mux Output 1= sd0, Input, sd0_data_in[4]-
    * (8-bit Data bus) = sd0, Output, sdio0_data_out[4]- (8-bit Data bus) 2= s
    * d1, Input, sdio1_cd_n- (SD card detect from connector) 3= Not Used
*/
#undef IOU_SLCR_MIO_PIN_45_L2_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_45_L2_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_45_L2_SEL_MASK 
#define IOU_SLCR_MIO_PIN_45_L2_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_45_L2_SEL_SHIFT                       3
#define IOU_SLCR_MIO_PIN_45_L2_SEL_MASK                        0x00000018U

/*
* Level 3 Mux Select 0= gpio1, Input, gpio_1_pin_in[19]- (GPIO bank 1) 0=
    * gpio1, Output, gpio_1_pin_out[19]- (GPIO bank 1) 1= can1, Input, can1_ph
    * y_rx- (Can RX signal) 2= i2c1, Input, i2c1_sda_input- (SDA signal) 2= i2
    * c1, Output, i2c1_sda_out- (SDA signal) 3= swdt1, Output, swdt1_rst_out-
    * (Watch Dog Timer Output clock) 4= spi1, Output, spi1_n_ss_out[2]- (SPI M
    * aster Selects) 5= ttc1, Output, ttc1_wave_out- (TTC Waveform Clock) 6= u
    * a1, Input, ua1_rxd- (UART receiver serial input) 7= Not Used
*/
#undef IOU_SLCR_MIO_PIN_45_L3_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_45_L3_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_45_L3_SEL_MASK 
#define IOU_SLCR_MIO_PIN_45_L3_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_45_L3_SEL_SHIFT                       5
#define IOU_SLCR_MIO_PIN_45_L3_SEL_MASK                        0x000000E0U

/*
* Level 0 Mux Select 0= Level 1 Mux Output 1= gem1, Input, gem1_rgmii_rxd[
    * 1]- (RX RGMII data)
*/
#undef IOU_SLCR_MIO_PIN_46_L0_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_46_L0_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_46_L0_SEL_MASK 
#define IOU_SLCR_MIO_PIN_46_L0_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_46_L0_SEL_SHIFT                       1
#define IOU_SLCR_MIO_PIN_46_L0_SEL_MASK                        0x00000002U

/*
* Level 1 Mux Select 0= Level 2 Mux Output 1= Not Used
*/
#undef IOU_SLCR_MIO_PIN_46_L1_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_46_L1_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_46_L1_SEL_MASK 
#define IOU_SLCR_MIO_PIN_46_L1_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_46_L1_SEL_SHIFT                       2
#define IOU_SLCR_MIO_PIN_46_L1_SEL_MASK                        0x00000004U

/*
* Level 2 Mux Select 0= Level 3 Mux Output 1= sd0, Input, sd0_data_in[5]-
    * (8-bit Data bus) = sd0, Output, sdio0_data_out[5]- (8-bit Data bus) 2= s
    * d1, Input, sd1_data_in[0]- (8-bit Data bus) = sd1, Output, sdio1_data_ou
    * t[0]- (8-bit Data bus) 3= Not Used
*/
#undef IOU_SLCR_MIO_PIN_46_L2_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_46_L2_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_46_L2_SEL_MASK 
#define IOU_SLCR_MIO_PIN_46_L2_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_46_L2_SEL_SHIFT                       3
#define IOU_SLCR_MIO_PIN_46_L2_SEL_MASK                        0x00000018U

/*
* Level 3 Mux Select 0= gpio1, Input, gpio_1_pin_in[20]- (GPIO bank 1) 0=
    * gpio1, Output, gpio_1_pin_out[20]- (GPIO bank 1) 1= can0, Input, can0_ph
    * y_rx- (Can RX signal) 2= i2c0, Input, i2c0_scl_input- (SCL signal) 2= i2
    * c0, Output, i2c0_scl_out- (SCL signal) 3= swdt0, Input, swdt0_clk_in- (W
    * atch Dog Timer Input clock) 4= spi1, Output, spi1_n_ss_out[1]- (SPI Mast
    * er Selects) 5= ttc0, Input, ttc0_clk_in- (TTC Clock) 6= ua0, Input, ua0_
    * rxd- (UART receiver serial input) 7= Not Used
*/
#undef IOU_SLCR_MIO_PIN_46_L3_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_46_L3_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_46_L3_SEL_MASK 
#define IOU_SLCR_MIO_PIN_46_L3_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_46_L3_SEL_SHIFT                       5
#define IOU_SLCR_MIO_PIN_46_L3_SEL_MASK                        0x000000E0U

/*
* Level 0 Mux Select 0= Level 1 Mux Output 1= gem1, Input, gem1_rgmii_rxd[
    * 2]- (RX RGMII data)
*/
#undef IOU_SLCR_MIO_PIN_47_L0_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_47_L0_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_47_L0_SEL_MASK 
#define IOU_SLCR_MIO_PIN_47_L0_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_47_L0_SEL_SHIFT                       1
#define IOU_SLCR_MIO_PIN_47_L0_SEL_MASK                        0x00000002U

/*
* Level 1 Mux Select 0= Level 2 Mux Output 1= Not Used
*/
#undef IOU_SLCR_MIO_PIN_47_L1_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_47_L1_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_47_L1_SEL_MASK 
#define IOU_SLCR_MIO_PIN_47_L1_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_47_L1_SEL_SHIFT                       2
#define IOU_SLCR_MIO_PIN_47_L1_SEL_MASK                        0x00000004U

/*
* Level 2 Mux Select 0= Level 3 Mux Output 1= sd0, Input, sd0_data_in[6]-
    * (8-bit Data bus) = sd0, Output, sdio0_data_out[6]- (8-bit Data bus) 2= s
    * d1, Input, sd1_data_in[1]- (8-bit Data bus) = sd1, Output, sdio1_data_ou
    * t[1]- (8-bit Data bus) 3= Not Used
*/
#undef IOU_SLCR_MIO_PIN_47_L2_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_47_L2_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_47_L2_SEL_MASK 
#define IOU_SLCR_MIO_PIN_47_L2_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_47_L2_SEL_SHIFT                       3
#define IOU_SLCR_MIO_PIN_47_L2_SEL_MASK                        0x00000018U

/*
* Level 3 Mux Select 0= gpio1, Input, gpio_1_pin_in[21]- (GPIO bank 1) 0=
    * gpio1, Output, gpio_1_pin_out[21]- (GPIO bank 1) 1= can0, Output, can0_p
    * hy_tx- (Can TX signal) 2= i2c0, Input, i2c0_sda_input- (SDA signal) 2= i
    * 2c0, Output, i2c0_sda_out- (SDA signal) 3= swdt0, Output, swdt0_rst_out-
    *  (Watch Dog Timer Output clock) 4= spi1, Input, spi1_n_ss_in- (SPI Maste
    * r Selects) 4= spi1, Output, spi1_n_ss_out[0]- (SPI Master Selects) 5= tt
    * c0, Output, ttc0_wave_out- (TTC Waveform Clock) 6= ua0, Output, ua0_txd-
    *  (UART transmitter serial output) 7= Not Used
*/
#undef IOU_SLCR_MIO_PIN_47_L3_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_47_L3_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_47_L3_SEL_MASK 
#define IOU_SLCR_MIO_PIN_47_L3_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_47_L3_SEL_SHIFT                       5
#define IOU_SLCR_MIO_PIN_47_L3_SEL_MASK                        0x000000E0U

/*
* Level 0 Mux Select 0= Level 1 Mux Output 1= gem1, Input, gem1_rgmii_rxd[
    * 3]- (RX RGMII data)
*/
#undef IOU_SLCR_MIO_PIN_48_L0_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_48_L0_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_48_L0_SEL_MASK 
#define IOU_SLCR_MIO_PIN_48_L0_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_48_L0_SEL_SHIFT                       1
#define IOU_SLCR_MIO_PIN_48_L0_SEL_MASK                        0x00000002U

/*
* Level 1 Mux Select 0= Level 2 Mux Output 1= Not Used
*/
#undef IOU_SLCR_MIO_PIN_48_L1_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_48_L1_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_48_L1_SEL_MASK 
#define IOU_SLCR_MIO_PIN_48_L1_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_48_L1_SEL_SHIFT                       2
#define IOU_SLCR_MIO_PIN_48_L1_SEL_MASK                        0x00000004U

/*
* Level 2 Mux Select 0= Level 3 Mux Output 1= sd0, Input, sd0_data_in[7]-
    * (8-bit Data bus) = sd0, Output, sdio0_data_out[7]- (8-bit Data bus) 2= s
    * d1, Input, sd1_data_in[2]- (8-bit Data bus) = sd1, Output, sdio1_data_ou
    * t[2]- (8-bit Data bus) 3= Not Used
*/
#undef IOU_SLCR_MIO_PIN_48_L2_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_48_L2_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_48_L2_SEL_MASK 
#define IOU_SLCR_MIO_PIN_48_L2_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_48_L2_SEL_SHIFT                       3
#define IOU_SLCR_MIO_PIN_48_L2_SEL_MASK                        0x00000018U

/*
* Level 3 Mux Select 0= gpio1, Input, gpio_1_pin_in[22]- (GPIO bank 1) 0=
    * gpio1, Output, gpio_1_pin_out[22]- (GPIO bank 1) 1= can1, Output, can1_p
    * hy_tx- (Can TX signal) 2= i2c1, Input, i2c1_scl_input- (SCL signal) 2= i
    * 2c1, Output, i2c1_scl_out- (SCL signal) 3= swdt1, Input, swdt1_clk_in- (
    * Watch Dog Timer Input clock) 4= spi1, Input, spi1_mi- (MISO signal) 4= s
    * pi1, Output, spi1_so- (MISO signal) 5= ttc3, Input, ttc3_clk_in- (TTC Cl
    * ock) 6= ua1, Output, ua1_txd- (UART transmitter serial output) 7= Not Us
    * ed
*/
#undef IOU_SLCR_MIO_PIN_48_L3_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_48_L3_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_48_L3_SEL_MASK 
#define IOU_SLCR_MIO_PIN_48_L3_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_48_L3_SEL_SHIFT                       5
#define IOU_SLCR_MIO_PIN_48_L3_SEL_MASK                        0x000000E0U

/*
* Level 0 Mux Select 0= Level 1 Mux Output 1= gem1, Input, gem1_rgmii_rx_c
    * tl- (RX RGMII control )
*/
#undef IOU_SLCR_MIO_PIN_49_L0_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_49_L0_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_49_L0_SEL_MASK 
#define IOU_SLCR_MIO_PIN_49_L0_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_49_L0_SEL_SHIFT                       1
#define IOU_SLCR_MIO_PIN_49_L0_SEL_MASK                        0x00000002U

/*
* Level 1 Mux Select 0= Level 2 Mux Output 1= Not Used
*/
#undef IOU_SLCR_MIO_PIN_49_L1_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_49_L1_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_49_L1_SEL_MASK 
#define IOU_SLCR_MIO_PIN_49_L1_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_49_L1_SEL_SHIFT                       2
#define IOU_SLCR_MIO_PIN_49_L1_SEL_MASK                        0x00000004U

/*
* Level 2 Mux Select 0= Level 3 Mux Output 1= sd0, Output, sdio0_bus_pow-
    * (SD card bus power) 2= sd1, Input, sd1_data_in[3]- (8-bit Data bus) = sd
    * 1, Output, sdio1_data_out[3]- (8-bit Data bus) 3= Not Used
*/
#undef IOU_SLCR_MIO_PIN_49_L2_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_49_L2_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_49_L2_SEL_MASK 
#define IOU_SLCR_MIO_PIN_49_L2_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_49_L2_SEL_SHIFT                       3
#define IOU_SLCR_MIO_PIN_49_L2_SEL_MASK                        0x00000018U

/*
* Level 3 Mux Select 0= gpio1, Input, gpio_1_pin_in[23]- (GPIO bank 1) 0=
    * gpio1, Output, gpio_1_pin_out[23]- (GPIO bank 1) 1= can1, Input, can1_ph
    * y_rx- (Can RX signal) 2= i2c1, Input, i2c1_sda_input- (SDA signal) 2= i2
    * c1, Output, i2c1_sda_out- (SDA signal) 3= swdt1, Output, swdt1_rst_out-
    * (Watch Dog Timer Output clock) 4= spi1, Output, spi1_mo- (MOSI signal) 4
    * = spi1, Input, spi1_si- (MOSI signal) 5= ttc3, Output, ttc3_wave_out- (T
    * TC Waveform Clock) 6= ua1, Input, ua1_rxd- (UART receiver serial input)
    * 7= Not Used
*/
#undef IOU_SLCR_MIO_PIN_49_L3_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_49_L3_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_49_L3_SEL_MASK 
#define IOU_SLCR_MIO_PIN_49_L3_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_49_L3_SEL_SHIFT                       5
#define IOU_SLCR_MIO_PIN_49_L3_SEL_MASK                        0x000000E0U

/*
* Level 0 Mux Select 0= Level 1 Mux Output 1= gem_tsu, Input, gem_tsu_clk-
    *  (TSU clock)
*/
#undef IOU_SLCR_MIO_PIN_50_L0_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_50_L0_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_50_L0_SEL_MASK 
#define IOU_SLCR_MIO_PIN_50_L0_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_50_L0_SEL_SHIFT                       1
#define IOU_SLCR_MIO_PIN_50_L0_SEL_MASK                        0x00000002U

/*
* Level 1 Mux Select 0= Level 2 Mux Output 1= Not Used
*/
#undef IOU_SLCR_MIO_PIN_50_L1_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_50_L1_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_50_L1_SEL_MASK 
#define IOU_SLCR_MIO_PIN_50_L1_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_50_L1_SEL_SHIFT                       2
#define IOU_SLCR_MIO_PIN_50_L1_SEL_MASK                        0x00000004U

/*
* Level 2 Mux Select 0= Level 3 Mux Output 1= sd0, Input, sdio0_wp- (SD ca
    * rd write protect from connector) 2= sd1, Input, sd1_cmd_in- (Command Ind
    * icator) = sd1, Output, sdio1_cmd_out- (Command Indicator) 3= Not Used
*/
#undef IOU_SLCR_MIO_PIN_50_L2_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_50_L2_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_50_L2_SEL_MASK 
#define IOU_SLCR_MIO_PIN_50_L2_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_50_L2_SEL_SHIFT                       3
#define IOU_SLCR_MIO_PIN_50_L2_SEL_MASK                        0x00000018U

/*
* Level 3 Mux Select 0= gpio1, Input, gpio_1_pin_in[24]- (GPIO bank 1) 0=
    * gpio1, Output, gpio_1_pin_out[24]- (GPIO bank 1) 1= can0, Input, can0_ph
    * y_rx- (Can RX signal) 2= i2c0, Input, i2c0_scl_input- (SCL signal) 2= i2
    * c0, Output, i2c0_scl_out- (SCL signal) 3= swdt0, Input, swdt0_clk_in- (W
    * atch Dog Timer Input clock) 4= mdio1, Output, gem1_mdc- (MDIO Clock) 5=
    * ttc2, Input, ttc2_clk_in- (TTC Clock) 6= ua0, Input, ua0_rxd- (UART rece
    * iver serial input) 7= Not Used
*/
#undef IOU_SLCR_MIO_PIN_50_L3_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_50_L3_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_50_L3_SEL_MASK 
#define IOU_SLCR_MIO_PIN_50_L3_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_50_L3_SEL_SHIFT                       5
#define IOU_SLCR_MIO_PIN_50_L3_SEL_MASK                        0x000000E0U

/*
* Level 0 Mux Select 0= Level 1 Mux Output 1= gem_tsu, Input, gem_tsu_clk-
    *  (TSU clock)
*/
#undef IOU_SLCR_MIO_PIN_51_L0_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_51_L0_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_51_L0_SEL_MASK 
#define IOU_SLCR_MIO_PIN_51_L0_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_51_L0_SEL_SHIFT                       1
#define IOU_SLCR_MIO_PIN_51_L0_SEL_MASK                        0x00000002U

/*
* Level 1 Mux Select 0= Level 2 Mux Output 1= Not Used
*/
#undef IOU_SLCR_MIO_PIN_51_L1_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_51_L1_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_51_L1_SEL_MASK 
#define IOU_SLCR_MIO_PIN_51_L1_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_51_L1_SEL_SHIFT                       2
#define IOU_SLCR_MIO_PIN_51_L1_SEL_MASK                        0x00000004U

/*
* Level 2 Mux Select 0= Level 3 Mux Output 1= Not Used 2= sd1, Output, sdi
    * o1_clk_out- (SDSDIO clock) 3= Not Used
*/
#undef IOU_SLCR_MIO_PIN_51_L2_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_51_L2_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_51_L2_SEL_MASK 
#define IOU_SLCR_MIO_PIN_51_L2_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_51_L2_SEL_SHIFT                       3
#define IOU_SLCR_MIO_PIN_51_L2_SEL_MASK                        0x00000018U

/*
* Level 3 Mux Select 0= gpio1, Input, gpio_1_pin_in[25]- (GPIO bank 1) 0=
    * gpio1, Output, gpio_1_pin_out[25]- (GPIO bank 1) 1= can0, Output, can0_p
    * hy_tx- (Can TX signal) 2= i2c0, Input, i2c0_sda_input- (SDA signal) 2= i
    * 2c0, Output, i2c0_sda_out- (SDA signal) 3= swdt0, Output, swdt0_rst_out-
    *  (Watch Dog Timer Output clock) 4= mdio1, Input, gem1_mdio_in- (MDIO Dat
    * a) 4= mdio1, Output, gem1_mdio_out- (MDIO Data) 5= ttc2, Output, ttc2_wa
    * ve_out- (TTC Waveform Clock) 6= ua0, Output, ua0_txd- (UART transmitter
    * serial output) 7= Not Used
*/
#undef IOU_SLCR_MIO_PIN_51_L3_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_51_L3_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_51_L3_SEL_MASK 
#define IOU_SLCR_MIO_PIN_51_L3_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_51_L3_SEL_SHIFT                       5
#define IOU_SLCR_MIO_PIN_51_L3_SEL_MASK                        0x000000E0U

/*
* Level 0 Mux Select 0= Level 1 Mux Output 1= gem2, Output, gem2_rgmii_tx_
    * clk- (TX RGMII clock)
*/
#undef IOU_SLCR_MIO_PIN_52_L0_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_52_L0_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_52_L0_SEL_MASK 
#define IOU_SLCR_MIO_PIN_52_L0_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_52_L0_SEL_SHIFT                       1
#define IOU_SLCR_MIO_PIN_52_L0_SEL_MASK                        0x00000002U

/*
* Level 1 Mux Select 0= Level 2 Mux Output 1= usb0, Input, usb0_ulpi_clk_i
    * n- (ULPI Clock)
*/
#undef IOU_SLCR_MIO_PIN_52_L1_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_52_L1_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_52_L1_SEL_MASK 
#define IOU_SLCR_MIO_PIN_52_L1_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_52_L1_SEL_SHIFT                       2
#define IOU_SLCR_MIO_PIN_52_L1_SEL_MASK                        0x00000004U

/*
* Level 2 Mux Select 0= Level 3 Mux Output 1= Not Used 2= Not Used 3= Not
    * Used
*/
#undef IOU_SLCR_MIO_PIN_52_L2_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_52_L2_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_52_L2_SEL_MASK 
#define IOU_SLCR_MIO_PIN_52_L2_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_52_L2_SEL_SHIFT                       3
#define IOU_SLCR_MIO_PIN_52_L2_SEL_MASK                        0x00000018U

/*
* Level 3 Mux Select 0= gpio2, Input, gpio_2_pin_in[0]- (GPIO bank 2) 0= g
    * pio2, Output, gpio_2_pin_out[0]- (GPIO bank 2) 1= can1, Output, can1_phy
    * _tx- (Can TX signal) 2= i2c1, Input, i2c1_scl_input- (SCL signal) 2= i2c
    * 1, Output, i2c1_scl_out- (SCL signal) 3= pjtag, Input, pjtag_tck- (PJTAG
    *  TCK) 4= spi0, Input, spi0_sclk_in- (SPI Clock) 4= spi0, Output, spi0_sc
    * lk_out- (SPI Clock) 5= ttc1, Input, ttc1_clk_in- (TTC Clock) 6= ua1, Out
    * put, ua1_txd- (UART transmitter serial output) 7= trace, Output, trace_c
    * lk- (Trace Port Clock)
*/
#undef IOU_SLCR_MIO_PIN_52_L3_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_52_L3_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_52_L3_SEL_MASK 
#define IOU_SLCR_MIO_PIN_52_L3_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_52_L3_SEL_SHIFT                       5
#define IOU_SLCR_MIO_PIN_52_L3_SEL_MASK                        0x000000E0U

/*
* Level 0 Mux Select 0= Level 1 Mux Output 1= gem2, Output, gem2_rgmii_txd
    * [0]- (TX RGMII data)
*/
#undef IOU_SLCR_MIO_PIN_53_L0_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_53_L0_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_53_L0_SEL_MASK 
#define IOU_SLCR_MIO_PIN_53_L0_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_53_L0_SEL_SHIFT                       1
#define IOU_SLCR_MIO_PIN_53_L0_SEL_MASK                        0x00000002U

/*
* Level 1 Mux Select 0= Level 2 Mux Output 1= usb0, Input, usb0_ulpi_dir-
    * (Data bus direction control)
*/
#undef IOU_SLCR_MIO_PIN_53_L1_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_53_L1_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_53_L1_SEL_MASK 
#define IOU_SLCR_MIO_PIN_53_L1_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_53_L1_SEL_SHIFT                       2
#define IOU_SLCR_MIO_PIN_53_L1_SEL_MASK                        0x00000004U

/*
* Level 2 Mux Select 0= Level 3 Mux Output 1= Not Used 2= Not Used 3= Not
    * Used
*/
#undef IOU_SLCR_MIO_PIN_53_L2_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_53_L2_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_53_L2_SEL_MASK 
#define IOU_SLCR_MIO_PIN_53_L2_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_53_L2_SEL_SHIFT                       3
#define IOU_SLCR_MIO_PIN_53_L2_SEL_MASK                        0x00000018U

/*
* Level 3 Mux Select 0= gpio2, Input, gpio_2_pin_in[1]- (GPIO bank 2) 0= g
    * pio2, Output, gpio_2_pin_out[1]- (GPIO bank 2) 1= can1, Input, can1_phy_
    * rx- (Can RX signal) 2= i2c1, Input, i2c1_sda_input- (SDA signal) 2= i2c1
    * , Output, i2c1_sda_out- (SDA signal) 3= pjtag, Input, pjtag_tdi- (PJTAG
    * TDI) 4= spi0, Output, spi0_n_ss_out[2]- (SPI Master Selects) 5= ttc1, Ou
    * tput, ttc1_wave_out- (TTC Waveform Clock) 6= ua1, Input, ua1_rxd- (UART
    * receiver serial input) 7= trace, Output, trace_ctl- (Trace Port Control
    * Signal)
*/
#undef IOU_SLCR_MIO_PIN_53_L3_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_53_L3_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_53_L3_SEL_MASK 
#define IOU_SLCR_MIO_PIN_53_L3_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_53_L3_SEL_SHIFT                       5
#define IOU_SLCR_MIO_PIN_53_L3_SEL_MASK                        0x000000E0U

/*
* Level 0 Mux Select 0= Level 1 Mux Output 1= gem2, Output, gem2_rgmii_txd
    * [1]- (TX RGMII data)
*/
#undef IOU_SLCR_MIO_PIN_54_L0_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_54_L0_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_54_L0_SEL_MASK 
#define IOU_SLCR_MIO_PIN_54_L0_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_54_L0_SEL_SHIFT                       1
#define IOU_SLCR_MIO_PIN_54_L0_SEL_MASK                        0x00000002U

/*
* Level 1 Mux Select 0= Level 2 Mux Output 1= usb0, Input, usb0_ulpi_rx_da
    * ta[2]- (ULPI data bus) 1= usb0, Output, usb0_ulpi_tx_data[2]- (ULPI data
    *  bus)
*/
#undef IOU_SLCR_MIO_PIN_54_L1_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_54_L1_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_54_L1_SEL_MASK 
#define IOU_SLCR_MIO_PIN_54_L1_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_54_L1_SEL_SHIFT                       2
#define IOU_SLCR_MIO_PIN_54_L1_SEL_MASK                        0x00000004U

/*
* Level 2 Mux Select 0= Level 3 Mux Output 1= Not Used 2= Not Used 3= Not
    * Used
*/
#undef IOU_SLCR_MIO_PIN_54_L2_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_54_L2_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_54_L2_SEL_MASK 
#define IOU_SLCR_MIO_PIN_54_L2_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_54_L2_SEL_SHIFT                       3
#define IOU_SLCR_MIO_PIN_54_L2_SEL_MASK                        0x00000018U

/*
* Level 3 Mux Select 0= gpio2, Input, gpio_2_pin_in[2]- (GPIO bank 2) 0= g
    * pio2, Output, gpio_2_pin_out[2]- (GPIO bank 2) 1= can0, Input, can0_phy_
    * rx- (Can RX signal) 2= i2c0, Input, i2c0_scl_input- (SCL signal) 2= i2c0
    * , Output, i2c0_scl_out- (SCL signal) 3= pjtag, Output, pjtag_tdo- (PJTAG
    *  TDO) 4= spi0, Output, spi0_n_ss_out[1]- (SPI Master Selects) 5= ttc0, I
    * nput, ttc0_clk_in- (TTC Clock) 6= ua0, Input, ua0_rxd- (UART receiver se
    * rial input) 7= trace, Output, tracedq[0]- (Trace Port Databus)
*/
#undef IOU_SLCR_MIO_PIN_54_L3_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_54_L3_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_54_L3_SEL_MASK 
#define IOU_SLCR_MIO_PIN_54_L3_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_54_L3_SEL_SHIFT                       5
#define IOU_SLCR_MIO_PIN_54_L3_SEL_MASK                        0x000000E0U

/*
* Level 0 Mux Select 0= Level 1 Mux Output 1= gem2, Output, gem2_rgmii_txd
    * [2]- (TX RGMII data)
*/
#undef IOU_SLCR_MIO_PIN_55_L0_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_55_L0_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_55_L0_SEL_MASK 
#define IOU_SLCR_MIO_PIN_55_L0_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_55_L0_SEL_SHIFT                       1
#define IOU_SLCR_MIO_PIN_55_L0_SEL_MASK                        0x00000002U

/*
* Level 1 Mux Select 0= Level 2 Mux Output 1= usb0, Input, usb0_ulpi_nxt-
    * (Data flow control signal from the PHY)
*/
#undef IOU_SLCR_MIO_PIN_55_L1_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_55_L1_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_55_L1_SEL_MASK 
#define IOU_SLCR_MIO_PIN_55_L1_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_55_L1_SEL_SHIFT                       2
#define IOU_SLCR_MIO_PIN_55_L1_SEL_MASK                        0x00000004U

/*
* Level 2 Mux Select 0= Level 3 Mux Output 1= Not Used 2= Not Used 3= Not
    * Used
*/
#undef IOU_SLCR_MIO_PIN_55_L2_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_55_L2_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_55_L2_SEL_MASK 
#define IOU_SLCR_MIO_PIN_55_L2_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_55_L2_SEL_SHIFT                       3
#define IOU_SLCR_MIO_PIN_55_L2_SEL_MASK                        0x00000018U

/*
* Level 3 Mux Select 0= gpio2, Input, gpio_2_pin_in[3]- (GPIO bank 2) 0= g
    * pio2, Output, gpio_2_pin_out[3]- (GPIO bank 2) 1= can0, Output, can0_phy
    * _tx- (Can TX signal) 2= i2c0, Input, i2c0_sda_input- (SDA signal) 2= i2c
    * 0, Output, i2c0_sda_out- (SDA signal) 3= pjtag, Input, pjtag_tms- (PJTAG
    *  TMS) 4= spi0, Input, spi0_n_ss_in- (SPI Master Selects) 4= spi0, Output
    * , spi0_n_ss_out[0]- (SPI Master Selects) 5= ttc0, Output, ttc0_wave_out-
    *  (TTC Waveform Clock) 6= ua0, Output, ua0_txd- (UART transmitter serial
    * output) 7= trace, Output, tracedq[1]- (Trace Port Databus)
*/
#undef IOU_SLCR_MIO_PIN_55_L3_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_55_L3_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_55_L3_SEL_MASK 
#define IOU_SLCR_MIO_PIN_55_L3_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_55_L3_SEL_SHIFT                       5
#define IOU_SLCR_MIO_PIN_55_L3_SEL_MASK                        0x000000E0U

/*
* Level 0 Mux Select 0= Level 1 Mux Output 1= gem2, Output, gem2_rgmii_txd
    * [3]- (TX RGMII data)
*/
#undef IOU_SLCR_MIO_PIN_56_L0_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_56_L0_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_56_L0_SEL_MASK 
#define IOU_SLCR_MIO_PIN_56_L0_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_56_L0_SEL_SHIFT                       1
#define IOU_SLCR_MIO_PIN_56_L0_SEL_MASK                        0x00000002U

/*
* Level 1 Mux Select 0= Level 2 Mux Output 1= usb0, Input, usb0_ulpi_rx_da
    * ta[0]- (ULPI data bus) 1= usb0, Output, usb0_ulpi_tx_data[0]- (ULPI data
    *  bus)
*/
#undef IOU_SLCR_MIO_PIN_56_L1_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_56_L1_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_56_L1_SEL_MASK 
#define IOU_SLCR_MIO_PIN_56_L1_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_56_L1_SEL_SHIFT                       2
#define IOU_SLCR_MIO_PIN_56_L1_SEL_MASK                        0x00000004U

/*
* Level 2 Mux Select 0= Level 3 Mux Output 1= Not Used 2= Not Used 3= Not
    * Used
*/
#undef IOU_SLCR_MIO_PIN_56_L2_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_56_L2_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_56_L2_SEL_MASK 
#define IOU_SLCR_MIO_PIN_56_L2_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_56_L2_SEL_SHIFT                       3
#define IOU_SLCR_MIO_PIN_56_L2_SEL_MASK                        0x00000018U

/*
* Level 3 Mux Select 0= gpio2, Input, gpio_2_pin_in[4]- (GPIO bank 2) 0= g
    * pio2, Output, gpio_2_pin_out[4]- (GPIO bank 2) 1= can1, Output, can1_phy
    * _tx- (Can TX signal) 2= i2c1, Input, i2c1_scl_input- (SCL signal) 2= i2c
    * 1, Output, i2c1_scl_out- (SCL signal) 3= swdt1, Input, swdt1_clk_in- (Wa
    * tch Dog Timer Input clock) 4= spi0, Input, spi0_mi- (MISO signal) 4= spi
    * 0, Output, spi0_so- (MISO signal) 5= ttc3, Input, ttc3_clk_in- (TTC Cloc
    * k) 6= ua1, Output, ua1_txd- (UART transmitter serial output) 7= trace, O
    * utput, tracedq[2]- (Trace Port Databus)
*/
#undef IOU_SLCR_MIO_PIN_56_L3_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_56_L3_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_56_L3_SEL_MASK 
#define IOU_SLCR_MIO_PIN_56_L3_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_56_L3_SEL_SHIFT                       5
#define IOU_SLCR_MIO_PIN_56_L3_SEL_MASK                        0x000000E0U

/*
* Level 0 Mux Select 0= Level 1 Mux Output 1= gem2, Output, gem2_rgmii_tx_
    * ctl- (TX RGMII control)
*/
#undef IOU_SLCR_MIO_PIN_57_L0_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_57_L0_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_57_L0_SEL_MASK 
#define IOU_SLCR_MIO_PIN_57_L0_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_57_L0_SEL_SHIFT                       1
#define IOU_SLCR_MIO_PIN_57_L0_SEL_MASK                        0x00000002U

/*
* Level 1 Mux Select 0= Level 2 Mux Output 1= usb0, Input, usb0_ulpi_rx_da
    * ta[1]- (ULPI data bus) 1= usb0, Output, usb0_ulpi_tx_data[1]- (ULPI data
    *  bus)
*/
#undef IOU_SLCR_MIO_PIN_57_L1_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_57_L1_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_57_L1_SEL_MASK 
#define IOU_SLCR_MIO_PIN_57_L1_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_57_L1_SEL_SHIFT                       2
#define IOU_SLCR_MIO_PIN_57_L1_SEL_MASK                        0x00000004U

/*
* Level 2 Mux Select 0= Level 3 Mux Output 1= Not Used 2= Not Used 3= Not
    * Used
*/
#undef IOU_SLCR_MIO_PIN_57_L2_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_57_L2_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_57_L2_SEL_MASK 
#define IOU_SLCR_MIO_PIN_57_L2_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_57_L2_SEL_SHIFT                       3
#define IOU_SLCR_MIO_PIN_57_L2_SEL_MASK                        0x00000018U

/*
* Level 3 Mux Select 0= gpio2, Input, gpio_2_pin_in[5]- (GPIO bank 2) 0= g
    * pio2, Output, gpio_2_pin_out[5]- (GPIO bank 2) 1= can1, Input, can1_phy_
    * rx- (Can RX signal) 2= i2c1, Input, i2c1_sda_input- (SDA signal) 2= i2c1
    * , Output, i2c1_sda_out- (SDA signal) 3= swdt1, Output, swdt1_rst_out- (W
    * atch Dog Timer Output clock) 4= spi0, Output, spi0_mo- (MOSI signal) 4=
    * spi0, Input, spi0_si- (MOSI signal) 5= ttc3, Output, ttc3_wave_out- (TTC
    *  Waveform Clock) 6= ua1, Input, ua1_rxd- (UART receiver serial input) 7=
    *  trace, Output, tracedq[3]- (Trace Port Databus)
*/
#undef IOU_SLCR_MIO_PIN_57_L3_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_57_L3_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_57_L3_SEL_MASK 
#define IOU_SLCR_MIO_PIN_57_L3_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_57_L3_SEL_SHIFT                       5
#define IOU_SLCR_MIO_PIN_57_L3_SEL_MASK                        0x000000E0U

/*
* Level 0 Mux Select 0= Level 1 Mux Output 1= gem2, Input, gem2_rgmii_rx_c
    * lk- (RX RGMII clock)
*/
#undef IOU_SLCR_MIO_PIN_58_L0_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_58_L0_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_58_L0_SEL_MASK 
#define IOU_SLCR_MIO_PIN_58_L0_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_58_L0_SEL_SHIFT                       1
#define IOU_SLCR_MIO_PIN_58_L0_SEL_MASK                        0x00000002U

/*
* Level 1 Mux Select 0= Level 2 Mux Output 1= usb0, Output, usb0_ulpi_stp-
    *  (Asserted to end or interrupt transfers)
*/
#undef IOU_SLCR_MIO_PIN_58_L1_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_58_L1_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_58_L1_SEL_MASK 
#define IOU_SLCR_MIO_PIN_58_L1_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_58_L1_SEL_SHIFT                       2
#define IOU_SLCR_MIO_PIN_58_L1_SEL_MASK                        0x00000004U

/*
* Level 2 Mux Select 0= Level 3 Mux Output 1= Not Used 2= Not Used 3= Not
    * Used
*/
#undef IOU_SLCR_MIO_PIN_58_L2_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_58_L2_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_58_L2_SEL_MASK 
#define IOU_SLCR_MIO_PIN_58_L2_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_58_L2_SEL_SHIFT                       3
#define IOU_SLCR_MIO_PIN_58_L2_SEL_MASK                        0x00000018U

/*
* Level 3 Mux Select 0= gpio2, Input, gpio_2_pin_in[6]- (GPIO bank 2) 0= g
    * pio2, Output, gpio_2_pin_out[6]- (GPIO bank 2) 1= can0, Input, can0_phy_
    * rx- (Can RX signal) 2= i2c0, Input, i2c0_scl_input- (SCL signal) 2= i2c0
    * , Output, i2c0_scl_out- (SCL signal) 3= pjtag, Input, pjtag_tck- (PJTAG
    * TCK) 4= spi1, Input, spi1_sclk_in- (SPI Clock) 4= spi1, Output, spi1_scl
    * k_out- (SPI Clock) 5= ttc2, Input, ttc2_clk_in- (TTC Clock) 6= ua0, Inpu
    * t, ua0_rxd- (UART receiver serial input) 7= trace, Output, tracedq[4]- (
    * Trace Port Databus)
*/
#undef IOU_SLCR_MIO_PIN_58_L3_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_58_L3_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_58_L3_SEL_MASK 
#define IOU_SLCR_MIO_PIN_58_L3_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_58_L3_SEL_SHIFT                       5
#define IOU_SLCR_MIO_PIN_58_L3_SEL_MASK                        0x000000E0U

/*
* Level 0 Mux Select 0= Level 1 Mux Output 1= gem2, Input, gem2_rgmii_rxd[
    * 0]- (RX RGMII data)
*/
#undef IOU_SLCR_MIO_PIN_59_L0_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_59_L0_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_59_L0_SEL_MASK 
#define IOU_SLCR_MIO_PIN_59_L0_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_59_L0_SEL_SHIFT                       1
#define IOU_SLCR_MIO_PIN_59_L0_SEL_MASK                        0x00000002U

/*
* Level 1 Mux Select 0= Level 2 Mux Output 1= usb0, Input, usb0_ulpi_rx_da
    * ta[3]- (ULPI data bus) 1= usb0, Output, usb0_ulpi_tx_data[3]- (ULPI data
    *  bus)
*/
#undef IOU_SLCR_MIO_PIN_59_L1_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_59_L1_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_59_L1_SEL_MASK 
#define IOU_SLCR_MIO_PIN_59_L1_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_59_L1_SEL_SHIFT                       2
#define IOU_SLCR_MIO_PIN_59_L1_SEL_MASK                        0x00000004U

/*
* Level 2 Mux Select 0= Level 3 Mux Output 1= Not Used 2= Not Used 3= Not
    * Used
*/
#undef IOU_SLCR_MIO_PIN_59_L2_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_59_L2_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_59_L2_SEL_MASK 
#define IOU_SLCR_MIO_PIN_59_L2_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_59_L2_SEL_SHIFT                       3
#define IOU_SLCR_MIO_PIN_59_L2_SEL_MASK                        0x00000018U

/*
* Level 3 Mux Select 0= gpio2, Input, gpio_2_pin_in[7]- (GPIO bank 2) 0= g
    * pio2, Output, gpio_2_pin_out[7]- (GPIO bank 2) 1= can0, Output, can0_phy
    * _tx- (Can TX signal) 2= i2c0, Input, i2c0_sda_input- (SDA signal) 2= i2c
    * 0, Output, i2c0_sda_out- (SDA signal) 3= pjtag, Input, pjtag_tdi- (PJTAG
    *  TDI) 4= spi1, Output, spi1_n_ss_out[2]- (SPI Master Selects) 5= ttc2, O
    * utput, ttc2_wave_out- (TTC Waveform Clock) 6= ua0, Output, ua0_txd- (UAR
    * T transmitter serial output) 7= trace, Output, tracedq[5]- (Trace Port D
    * atabus)
*/
#undef IOU_SLCR_MIO_PIN_59_L3_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_59_L3_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_59_L3_SEL_MASK 
#define IOU_SLCR_MIO_PIN_59_L3_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_59_L3_SEL_SHIFT                       5
#define IOU_SLCR_MIO_PIN_59_L3_SEL_MASK                        0x000000E0U

/*
* Level 0 Mux Select 0= Level 1 Mux Output 1= gem2, Input, gem2_rgmii_rxd[
    * 1]- (RX RGMII data)
*/
#undef IOU_SLCR_MIO_PIN_60_L0_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_60_L0_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_60_L0_SEL_MASK 
#define IOU_SLCR_MIO_PIN_60_L0_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_60_L0_SEL_SHIFT                       1
#define IOU_SLCR_MIO_PIN_60_L0_SEL_MASK                        0x00000002U

/*
* Level 1 Mux Select 0= Level 2 Mux Output 1= usb0, Input, usb0_ulpi_rx_da
    * ta[4]- (ULPI data bus) 1= usb0, Output, usb0_ulpi_tx_data[4]- (ULPI data
    *  bus)
*/
#undef IOU_SLCR_MIO_PIN_60_L1_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_60_L1_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_60_L1_SEL_MASK 
#define IOU_SLCR_MIO_PIN_60_L1_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_60_L1_SEL_SHIFT                       2
#define IOU_SLCR_MIO_PIN_60_L1_SEL_MASK                        0x00000004U

/*
* Level 2 Mux Select 0= Level 3 Mux Output 1= Not Used 2= Not Used 3= Not
    * Used
*/
#undef IOU_SLCR_MIO_PIN_60_L2_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_60_L2_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_60_L2_SEL_MASK 
#define IOU_SLCR_MIO_PIN_60_L2_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_60_L2_SEL_SHIFT                       3
#define IOU_SLCR_MIO_PIN_60_L2_SEL_MASK                        0x00000018U

/*
* Level 3 Mux Select 0= gpio2, Input, gpio_2_pin_in[8]- (GPIO bank 2) 0= g
    * pio2, Output, gpio_2_pin_out[8]- (GPIO bank 2) 1= can1, Output, can1_phy
    * _tx- (Can TX signal) 2= i2c1, Input, i2c1_scl_input- (SCL signal) 2= i2c
    * 1, Output, i2c1_scl_out- (SCL signal) 3= pjtag, Output, pjtag_tdo- (PJTA
    * G TDO) 4= spi1, Output, spi1_n_ss_out[1]- (SPI Master Selects) 5= ttc1,
    * Input, ttc1_clk_in- (TTC Clock) 6= ua1, Output, ua1_txd- (UART transmitt
    * er serial output) 7= trace, Output, tracedq[6]- (Trace Port Databus)
*/
#undef IOU_SLCR_MIO_PIN_60_L3_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_60_L3_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_60_L3_SEL_MASK 
#define IOU_SLCR_MIO_PIN_60_L3_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_60_L3_SEL_SHIFT                       5
#define IOU_SLCR_MIO_PIN_60_L3_SEL_MASK                        0x000000E0U

/*
* Level 0 Mux Select 0= Level 1 Mux Output 1= gem2, Input, gem2_rgmii_rxd[
    * 2]- (RX RGMII data)
*/
#undef IOU_SLCR_MIO_PIN_61_L0_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_61_L0_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_61_L0_SEL_MASK 
#define IOU_SLCR_MIO_PIN_61_L0_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_61_L0_SEL_SHIFT                       1
#define IOU_SLCR_MIO_PIN_61_L0_SEL_MASK                        0x00000002U

/*
* Level 1 Mux Select 0= Level 2 Mux Output 1= usb0, Input, usb0_ulpi_rx_da
    * ta[5]- (ULPI data bus) 1= usb0, Output, usb0_ulpi_tx_data[5]- (ULPI data
    *  bus)
*/
#undef IOU_SLCR_MIO_PIN_61_L1_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_61_L1_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_61_L1_SEL_MASK 
#define IOU_SLCR_MIO_PIN_61_L1_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_61_L1_SEL_SHIFT                       2
#define IOU_SLCR_MIO_PIN_61_L1_SEL_MASK                        0x00000004U

/*
* Level 2 Mux Select 0= Level 3 Mux Output 1= Not Used 2= Not Used 3= Not
    * Used
*/
#undef IOU_SLCR_MIO_PIN_61_L2_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_61_L2_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_61_L2_SEL_MASK 
#define IOU_SLCR_MIO_PIN_61_L2_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_61_L2_SEL_SHIFT                       3
#define IOU_SLCR_MIO_PIN_61_L2_SEL_MASK                        0x00000018U

/*
* Level 3 Mux Select 0= gpio2, Input, gpio_2_pin_in[9]- (GPIO bank 2) 0= g
    * pio2, Output, gpio_2_pin_out[9]- (GPIO bank 2) 1= can1, Input, can1_phy_
    * rx- (Can RX signal) 2= i2c1, Input, i2c1_sda_input- (SDA signal) 2= i2c1
    * , Output, i2c1_sda_out- (SDA signal) 3= pjtag, Input, pjtag_tms- (PJTAG
    * TMS) 4= spi1, Input, spi1_n_ss_in- (SPI Master Selects) 4= spi1, Output,
    *  spi1_n_ss_out[0]- (SPI Master Selects) 5= ttc1, Output, ttc1_wave_out-
    * (TTC Waveform Clock) 6= ua1, Input, ua1_rxd- (UART receiver serial input
    * ) 7= trace, Output, tracedq[7]- (Trace Port Databus)
*/
#undef IOU_SLCR_MIO_PIN_61_L3_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_61_L3_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_61_L3_SEL_MASK 
#define IOU_SLCR_MIO_PIN_61_L3_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_61_L3_SEL_SHIFT                       5
#define IOU_SLCR_MIO_PIN_61_L3_SEL_MASK                        0x000000E0U

/*
* Level 0 Mux Select 0= Level 1 Mux Output 1= gem2, Input, gem2_rgmii_rxd[
    * 3]- (RX RGMII data)
*/
#undef IOU_SLCR_MIO_PIN_62_L0_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_62_L0_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_62_L0_SEL_MASK 
#define IOU_SLCR_MIO_PIN_62_L0_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_62_L0_SEL_SHIFT                       1
#define IOU_SLCR_MIO_PIN_62_L0_SEL_MASK                        0x00000002U

/*
* Level 1 Mux Select 0= Level 2 Mux Output 1= usb0, Input, usb0_ulpi_rx_da
    * ta[6]- (ULPI data bus) 1= usb0, Output, usb0_ulpi_tx_data[6]- (ULPI data
    *  bus)
*/
#undef IOU_SLCR_MIO_PIN_62_L1_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_62_L1_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_62_L1_SEL_MASK 
#define IOU_SLCR_MIO_PIN_62_L1_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_62_L1_SEL_SHIFT                       2
#define IOU_SLCR_MIO_PIN_62_L1_SEL_MASK                        0x00000004U

/*
* Level 2 Mux Select 0= Level 3 Mux Output 1= Not Used 2= Not Used 3= Not
    * Used
*/
#undef IOU_SLCR_MIO_PIN_62_L2_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_62_L2_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_62_L2_SEL_MASK 
#define IOU_SLCR_MIO_PIN_62_L2_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_62_L2_SEL_SHIFT                       3
#define IOU_SLCR_MIO_PIN_62_L2_SEL_MASK                        0x00000018U

/*
* Level 3 Mux Select 0= gpio2, Input, gpio_2_pin_in[10]- (GPIO bank 2) 0=
    * gpio2, Output, gpio_2_pin_out[10]- (GPIO bank 2) 1= can0, Input, can0_ph
    * y_rx- (Can RX signal) 2= i2c0, Input, i2c0_scl_input- (SCL signal) 2= i2
    * c0, Output, i2c0_scl_out- (SCL signal) 3= swdt0, Input, swdt0_clk_in- (W
    * atch Dog Timer Input clock) 4= spi1, Input, spi1_mi- (MISO signal) 4= sp
    * i1, Output, spi1_so- (MISO signal) 5= ttc0, Input, ttc0_clk_in- (TTC Clo
    * ck) 6= ua0, Input, ua0_rxd- (UART receiver serial input) 7= trace, Outpu
    * t, tracedq[8]- (Trace Port Databus)
*/
#undef IOU_SLCR_MIO_PIN_62_L3_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_62_L3_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_62_L3_SEL_MASK 
#define IOU_SLCR_MIO_PIN_62_L3_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_62_L3_SEL_SHIFT                       5
#define IOU_SLCR_MIO_PIN_62_L3_SEL_MASK                        0x000000E0U

/*
* Level 0 Mux Select 0= Level 1 Mux Output 1= gem2, Input, gem2_rgmii_rx_c
    * tl- (RX RGMII control )
*/
#undef IOU_SLCR_MIO_PIN_63_L0_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_63_L0_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_63_L0_SEL_MASK 
#define IOU_SLCR_MIO_PIN_63_L0_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_63_L0_SEL_SHIFT                       1
#define IOU_SLCR_MIO_PIN_63_L0_SEL_MASK                        0x00000002U

/*
* Level 1 Mux Select 0= Level 2 Mux Output 1= usb0, Input, usb0_ulpi_rx_da
    * ta[7]- (ULPI data bus) 1= usb0, Output, usb0_ulpi_tx_data[7]- (ULPI data
    *  bus)
*/
#undef IOU_SLCR_MIO_PIN_63_L1_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_63_L1_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_63_L1_SEL_MASK 
#define IOU_SLCR_MIO_PIN_63_L1_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_63_L1_SEL_SHIFT                       2
#define IOU_SLCR_MIO_PIN_63_L1_SEL_MASK                        0x00000004U

/*
* Level 2 Mux Select 0= Level 3 Mux Output 1= Not Used 2= Not Used 3= Not
    * Used
*/
#undef IOU_SLCR_MIO_PIN_63_L2_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_63_L2_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_63_L2_SEL_MASK 
#define IOU_SLCR_MIO_PIN_63_L2_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_63_L2_SEL_SHIFT                       3
#define IOU_SLCR_MIO_PIN_63_L2_SEL_MASK                        0x00000018U

/*
* Level 3 Mux Select 0= gpio2, Input, gpio_2_pin_in[11]- (GPIO bank 2) 0=
    * gpio2, Output, gpio_2_pin_out[11]- (GPIO bank 2) 1= can0, Output, can0_p
    * hy_tx- (Can TX signal) 2= i2c0, Input, i2c0_sda_input- (SDA signal) 2= i
    * 2c0, Output, i2c0_sda_out- (SDA signal) 3= swdt0, Output, swdt0_rst_out-
    *  (Watch Dog Timer Output clock) 4= spi1, Output, spi1_mo- (MOSI signal)
    * 4= spi1, Input, spi1_si- (MOSI signal) 5= ttc0, Output, ttc0_wave_out- (
    * TTC Waveform Clock) 6= ua0, Output, ua0_txd- (UART transmitter serial ou
    * tput) 7= trace, Output, tracedq[9]- (Trace Port Databus)
*/
#undef IOU_SLCR_MIO_PIN_63_L3_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_63_L3_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_63_L3_SEL_MASK 
#define IOU_SLCR_MIO_PIN_63_L3_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_63_L3_SEL_SHIFT                       5
#define IOU_SLCR_MIO_PIN_63_L3_SEL_MASK                        0x000000E0U

/*
* Level 0 Mux Select 0= Level 1 Mux Output 1= gem3, Output, gem3_rgmii_tx_
    * clk- (TX RGMII clock)
*/
#undef IOU_SLCR_MIO_PIN_64_L0_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_64_L0_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_64_L0_SEL_MASK 
#define IOU_SLCR_MIO_PIN_64_L0_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_64_L0_SEL_SHIFT                       1
#define IOU_SLCR_MIO_PIN_64_L0_SEL_MASK                        0x00000002U

/*
* Level 1 Mux Select 0= Level 2 Mux Output 1= usb1, Input, usb1_ulpi_clk_i
    * n- (ULPI Clock)
*/
#undef IOU_SLCR_MIO_PIN_64_L1_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_64_L1_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_64_L1_SEL_MASK 
#define IOU_SLCR_MIO_PIN_64_L1_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_64_L1_SEL_SHIFT                       2
#define IOU_SLCR_MIO_PIN_64_L1_SEL_MASK                        0x00000004U

/*
* Level 2 Mux Select 0= Level 3 Mux Output 1= sd0, Output, sdio0_clk_out-
    * (SDSDIO clock) 2= Not Used 3= Not Used
*/
#undef IOU_SLCR_MIO_PIN_64_L2_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_64_L2_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_64_L2_SEL_MASK 
#define IOU_SLCR_MIO_PIN_64_L2_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_64_L2_SEL_SHIFT                       3
#define IOU_SLCR_MIO_PIN_64_L2_SEL_MASK                        0x00000018U

/*
* Level 3 Mux Select 0= gpio2, Input, gpio_2_pin_in[12]- (GPIO bank 2) 0=
    * gpio2, Output, gpio_2_pin_out[12]- (GPIO bank 2) 1= can1, Output, can1_p
    * hy_tx- (Can TX signal) 2= i2c1, Input, i2c1_scl_input- (SCL signal) 2= i
    * 2c1, Output, i2c1_scl_out- (SCL signal) 3= swdt1, Input, swdt1_clk_in- (
    * Watch Dog Timer Input clock) 4= spi0, Input, spi0_sclk_in- (SPI Clock) 4
    * = spi0, Output, spi0_sclk_out- (SPI Clock) 5= ttc3, Input, ttc3_clk_in-
    * (TTC Clock) 6= ua1, Output, ua1_txd- (UART transmitter serial output) 7=
    *  trace, Output, tracedq[10]- (Trace Port Databus)
*/
#undef IOU_SLCR_MIO_PIN_64_L3_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_64_L3_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_64_L3_SEL_MASK 
#define IOU_SLCR_MIO_PIN_64_L3_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_64_L3_SEL_SHIFT                       5
#define IOU_SLCR_MIO_PIN_64_L3_SEL_MASK                        0x000000E0U

/*
* Level 0 Mux Select 0= Level 1 Mux Output 1= gem3, Output, gem3_rgmii_txd
    * [0]- (TX RGMII data)
*/
#undef IOU_SLCR_MIO_PIN_65_L0_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_65_L0_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_65_L0_SEL_MASK 
#define IOU_SLCR_MIO_PIN_65_L0_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_65_L0_SEL_SHIFT                       1
#define IOU_SLCR_MIO_PIN_65_L0_SEL_MASK                        0x00000002U

/*
* Level 1 Mux Select 0= Level 2 Mux Output 1= usb1, Input, usb1_ulpi_dir-
    * (Data bus direction control)
*/
#undef IOU_SLCR_MIO_PIN_65_L1_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_65_L1_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_65_L1_SEL_MASK 
#define IOU_SLCR_MIO_PIN_65_L1_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_65_L1_SEL_SHIFT                       2
#define IOU_SLCR_MIO_PIN_65_L1_SEL_MASK                        0x00000004U

/*
* Level 2 Mux Select 0= Level 3 Mux Output 1= sd0, Input, sdio0_cd_n- (SD
    * card detect from connector) 2= Not Used 3= Not Used
*/
#undef IOU_SLCR_MIO_PIN_65_L2_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_65_L2_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_65_L2_SEL_MASK 
#define IOU_SLCR_MIO_PIN_65_L2_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_65_L2_SEL_SHIFT                       3
#define IOU_SLCR_MIO_PIN_65_L2_SEL_MASK                        0x00000018U

/*
* Level 3 Mux Select 0= gpio2, Input, gpio_2_pin_in[13]- (GPIO bank 2) 0=
    * gpio2, Output, gpio_2_pin_out[13]- (GPIO bank 2) 1= can1, Input, can1_ph
    * y_rx- (Can RX signal) 2= i2c1, Input, i2c1_sda_input- (SDA signal) 2= i2
    * c1, Output, i2c1_sda_out- (SDA signal) 3= swdt1, Output, swdt1_rst_out-
    * (Watch Dog Timer Output clock) 4= spi0, Output, spi0_n_ss_out[2]- (SPI M
    * aster Selects) 5= ttc3, Output, ttc3_wave_out- (TTC Waveform Clock) 6= u
    * a1, Input, ua1_rxd- (UART receiver serial input) 7= trace, Output, trace
    * dq[11]- (Trace Port Databus)
*/
#undef IOU_SLCR_MIO_PIN_65_L3_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_65_L3_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_65_L3_SEL_MASK 
#define IOU_SLCR_MIO_PIN_65_L3_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_65_L3_SEL_SHIFT                       5
#define IOU_SLCR_MIO_PIN_65_L3_SEL_MASK                        0x000000E0U

/*
* Level 0 Mux Select 0= Level 1 Mux Output 1= gem3, Output, gem3_rgmii_txd
    * [1]- (TX RGMII data)
*/
#undef IOU_SLCR_MIO_PIN_66_L0_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_66_L0_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_66_L0_SEL_MASK 
#define IOU_SLCR_MIO_PIN_66_L0_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_66_L0_SEL_SHIFT                       1
#define IOU_SLCR_MIO_PIN_66_L0_SEL_MASK                        0x00000002U

/*
* Level 1 Mux Select 0= Level 2 Mux Output 1= usb1, Input, usb1_ulpi_rx_da
    * ta[2]- (ULPI data bus) 1= usb1, Output, usb1_ulpi_tx_data[2]- (ULPI data
    *  bus)
*/
#undef IOU_SLCR_MIO_PIN_66_L1_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_66_L1_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_66_L1_SEL_MASK 
#define IOU_SLCR_MIO_PIN_66_L1_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_66_L1_SEL_SHIFT                       2
#define IOU_SLCR_MIO_PIN_66_L1_SEL_MASK                        0x00000004U

/*
* Level 2 Mux Select 0= Level 3 Mux Output 1= sd0, Input, sd0_cmd_in- (Com
    * mand Indicator) = sd0, Output, sdio0_cmd_out- (Command Indicator) 2= Not
    *  Used 3= Not Used
*/
#undef IOU_SLCR_MIO_PIN_66_L2_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_66_L2_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_66_L2_SEL_MASK 
#define IOU_SLCR_MIO_PIN_66_L2_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_66_L2_SEL_SHIFT                       3
#define IOU_SLCR_MIO_PIN_66_L2_SEL_MASK                        0x00000018U

/*
* Level 3 Mux Select 0= gpio2, Input, gpio_2_pin_in[14]- (GPIO bank 2) 0=
    * gpio2, Output, gpio_2_pin_out[14]- (GPIO bank 2) 1= can0, Input, can0_ph
    * y_rx- (Can RX signal) 2= i2c0, Input, i2c0_scl_input- (SCL signal) 2= i2
    * c0, Output, i2c0_scl_out- (SCL signal) 3= swdt0, Input, swdt0_clk_in- (W
    * atch Dog Timer Input clock) 4= spi0, Output, spi0_n_ss_out[1]- (SPI Mast
    * er Selects) 5= ttc2, Input, ttc2_clk_in- (TTC Clock) 6= ua0, Input, ua0_
    * rxd- (UART receiver serial input) 7= trace, Output, tracedq[12]- (Trace
    * Port Databus)
*/
#undef IOU_SLCR_MIO_PIN_66_L3_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_66_L3_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_66_L3_SEL_MASK 
#define IOU_SLCR_MIO_PIN_66_L3_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_66_L3_SEL_SHIFT                       5
#define IOU_SLCR_MIO_PIN_66_L3_SEL_MASK                        0x000000E0U

/*
* Level 0 Mux Select 0= Level 1 Mux Output 1= gem3, Output, gem3_rgmii_txd
    * [2]- (TX RGMII data)
*/
#undef IOU_SLCR_MIO_PIN_67_L0_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_67_L0_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_67_L0_SEL_MASK 
#define IOU_SLCR_MIO_PIN_67_L0_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_67_L0_SEL_SHIFT                       1
#define IOU_SLCR_MIO_PIN_67_L0_SEL_MASK                        0x00000002U

/*
* Level 1 Mux Select 0= Level 2 Mux Output 1= usb1, Input, usb1_ulpi_nxt-
    * (Data flow control signal from the PHY)
*/
#undef IOU_SLCR_MIO_PIN_67_L1_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_67_L1_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_67_L1_SEL_MASK 
#define IOU_SLCR_MIO_PIN_67_L1_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_67_L1_SEL_SHIFT                       2
#define IOU_SLCR_MIO_PIN_67_L1_SEL_MASK                        0x00000004U

/*
* Level 2 Mux Select 0= Level 3 Mux Output 1= sd0, Input, sd0_data_in[0]-
    * (8-bit Data bus) = sd0, Output, sdio0_data_out[0]- (8-bit Data bus) 2= N
    * ot Used 3= Not Used
*/
#undef IOU_SLCR_MIO_PIN_67_L2_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_67_L2_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_67_L2_SEL_MASK 
#define IOU_SLCR_MIO_PIN_67_L2_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_67_L2_SEL_SHIFT                       3
#define IOU_SLCR_MIO_PIN_67_L2_SEL_MASK                        0x00000018U

/*
* Level 3 Mux Select 0= gpio2, Input, gpio_2_pin_in[15]- (GPIO bank 2) 0=
    * gpio2, Output, gpio_2_pin_out[15]- (GPIO bank 2) 1= can0, Output, can0_p
    * hy_tx- (Can TX signal) 2= i2c0, Input, i2c0_sda_input- (SDA signal) 2= i
    * 2c0, Output, i2c0_sda_out- (SDA signal) 3= swdt0, Output, swdt0_rst_out-
    *  (Watch Dog Timer Output clock) 4= spi0, Input, spi0_n_ss_in- (SPI Maste
    * r Selects) 4= spi0, Output, spi0_n_ss_out[0]- (SPI Master Selects) 5= tt
    * c2, Output, ttc2_wave_out- (TTC Waveform Clock) 6= ua0, Output, ua0_txd-
    *  (UART transmitter serial output) 7= trace, Output, tracedq[13]- (Trace
    * Port Databus)
*/
#undef IOU_SLCR_MIO_PIN_67_L3_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_67_L3_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_67_L3_SEL_MASK 
#define IOU_SLCR_MIO_PIN_67_L3_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_67_L3_SEL_SHIFT                       5
#define IOU_SLCR_MIO_PIN_67_L3_SEL_MASK                        0x000000E0U

/*
* Level 0 Mux Select 0= Level 1 Mux Output 1= gem3, Output, gem3_rgmii_txd
    * [3]- (TX RGMII data)
*/
#undef IOU_SLCR_MIO_PIN_68_L0_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_68_L0_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_68_L0_SEL_MASK 
#define IOU_SLCR_MIO_PIN_68_L0_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_68_L0_SEL_SHIFT                       1
#define IOU_SLCR_MIO_PIN_68_L0_SEL_MASK                        0x00000002U

/*
* Level 1 Mux Select 0= Level 2 Mux Output 1= usb1, Input, usb1_ulpi_rx_da
    * ta[0]- (ULPI data bus) 1= usb1, Output, usb1_ulpi_tx_data[0]- (ULPI data
    *  bus)
*/
#undef IOU_SLCR_MIO_PIN_68_L1_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_68_L1_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_68_L1_SEL_MASK 
#define IOU_SLCR_MIO_PIN_68_L1_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_68_L1_SEL_SHIFT                       2
#define IOU_SLCR_MIO_PIN_68_L1_SEL_MASK                        0x00000004U

/*
* Level 2 Mux Select 0= Level 3 Mux Output 1= sd0, Input, sd0_data_in[1]-
    * (8-bit Data bus) = sd0, Output, sdio0_data_out[1]- (8-bit Data bus) 2= N
    * ot Used 3= Not Used
*/
#undef IOU_SLCR_MIO_PIN_68_L2_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_68_L2_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_68_L2_SEL_MASK 
#define IOU_SLCR_MIO_PIN_68_L2_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_68_L2_SEL_SHIFT                       3
#define IOU_SLCR_MIO_PIN_68_L2_SEL_MASK                        0x00000018U

/*
* Level 3 Mux Select 0= gpio2, Input, gpio_2_pin_in[16]- (GPIO bank 2) 0=
    * gpio2, Output, gpio_2_pin_out[16]- (GPIO bank 2) 1= can1, Output, can1_p
    * hy_tx- (Can TX signal) 2= i2c1, Input, i2c1_scl_input- (SCL signal) 2= i
    * 2c1, Output, i2c1_scl_out- (SCL signal) 3= swdt1, Input, swdt1_clk_in- (
    * Watch Dog Timer Input clock) 4= spi0, Input, spi0_mi- (MISO signal) 4= s
    * pi0, Output, spi0_so- (MISO signal) 5= ttc1, Input, ttc1_clk_in- (TTC Cl
    * ock) 6= ua1, Output, ua1_txd- (UART transmitter serial output) 7= trace,
    *  Output, tracedq[14]- (Trace Port Databus)
*/
#undef IOU_SLCR_MIO_PIN_68_L3_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_68_L3_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_68_L3_SEL_MASK 
#define IOU_SLCR_MIO_PIN_68_L3_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_68_L3_SEL_SHIFT                       5
#define IOU_SLCR_MIO_PIN_68_L3_SEL_MASK                        0x000000E0U

/*
* Level 0 Mux Select 0= Level 1 Mux Output 1= gem3, Output, gem3_rgmii_tx_
    * ctl- (TX RGMII control)
*/
#undef IOU_SLCR_MIO_PIN_69_L0_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_69_L0_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_69_L0_SEL_MASK 
#define IOU_SLCR_MIO_PIN_69_L0_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_69_L0_SEL_SHIFT                       1
#define IOU_SLCR_MIO_PIN_69_L0_SEL_MASK                        0x00000002U

/*
* Level 1 Mux Select 0= Level 2 Mux Output 1= usb1, Input, usb1_ulpi_rx_da
    * ta[1]- (ULPI data bus) 1= usb1, Output, usb1_ulpi_tx_data[1]- (ULPI data
    *  bus)
*/
#undef IOU_SLCR_MIO_PIN_69_L1_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_69_L1_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_69_L1_SEL_MASK 
#define IOU_SLCR_MIO_PIN_69_L1_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_69_L1_SEL_SHIFT                       2
#define IOU_SLCR_MIO_PIN_69_L1_SEL_MASK                        0x00000004U

/*
* Level 2 Mux Select 0= Level 3 Mux Output 1= sd0, Input, sd0_data_in[2]-
    * (8-bit Data bus) = sd0, Output, sdio0_data_out[2]- (8-bit Data bus) 2= s
    * d1, Input, sdio1_wp- (SD card write protect from connector) 3= Not Used
*/
#undef IOU_SLCR_MIO_PIN_69_L2_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_69_L2_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_69_L2_SEL_MASK 
#define IOU_SLCR_MIO_PIN_69_L2_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_69_L2_SEL_SHIFT                       3
#define IOU_SLCR_MIO_PIN_69_L2_SEL_MASK                        0x00000018U

/*
* Level 3 Mux Select 0= gpio2, Input, gpio_2_pin_in[17]- (GPIO bank 2) 0=
    * gpio2, Output, gpio_2_pin_out[17]- (GPIO bank 2) 1= can1, Input, can1_ph
    * y_rx- (Can RX signal) 2= i2c1, Input, i2c1_sda_input- (SDA signal) 2= i2
    * c1, Output, i2c1_sda_out- (SDA signal) 3= swdt1, Output, swdt1_rst_out-
    * (Watch Dog Timer Output clock) 4= spi0, Output, spi0_mo- (MOSI signal) 4
    * = spi0, Input, spi0_si- (MOSI signal) 5= ttc1, Output, ttc1_wave_out- (T
    * TC Waveform Clock) 6= ua1, Input, ua1_rxd- (UART receiver serial input)
    * 7= trace, Output, tracedq[15]- (Trace Port Databus)
*/
#undef IOU_SLCR_MIO_PIN_69_L3_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_69_L3_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_69_L3_SEL_MASK 
#define IOU_SLCR_MIO_PIN_69_L3_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_69_L3_SEL_SHIFT                       5
#define IOU_SLCR_MIO_PIN_69_L3_SEL_MASK                        0x000000E0U

/*
* Level 0 Mux Select 0= Level 1 Mux Output 1= gem3, Input, gem3_rgmii_rx_c
    * lk- (RX RGMII clock)
*/
#undef IOU_SLCR_MIO_PIN_70_L0_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_70_L0_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_70_L0_SEL_MASK 
#define IOU_SLCR_MIO_PIN_70_L0_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_70_L0_SEL_SHIFT                       1
#define IOU_SLCR_MIO_PIN_70_L0_SEL_MASK                        0x00000002U

/*
* Level 1 Mux Select 0= Level 2 Mux Output 1= usb1, Output, usb1_ulpi_stp-
    *  (Asserted to end or interrupt transfers)
*/
#undef IOU_SLCR_MIO_PIN_70_L1_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_70_L1_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_70_L1_SEL_MASK 
#define IOU_SLCR_MIO_PIN_70_L1_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_70_L1_SEL_SHIFT                       2
#define IOU_SLCR_MIO_PIN_70_L1_SEL_MASK                        0x00000004U

/*
* Level 2 Mux Select 0= Level 3 Mux Output 1= sd0, Input, sd0_data_in[3]-
    * (8-bit Data bus) = sd0, Output, sdio0_data_out[3]- (8-bit Data bus) 2= s
    * d1, Output, sdio1_bus_pow- (SD card bus power) 3= Not Used
*/
#undef IOU_SLCR_MIO_PIN_70_L2_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_70_L2_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_70_L2_SEL_MASK 
#define IOU_SLCR_MIO_PIN_70_L2_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_70_L2_SEL_SHIFT                       3
#define IOU_SLCR_MIO_PIN_70_L2_SEL_MASK                        0x00000018U

/*
* Level 3 Mux Select 0= gpio2, Input, gpio_2_pin_in[18]- (GPIO bank 2) 0=
    * gpio2, Output, gpio_2_pin_out[18]- (GPIO bank 2) 1= can0, Input, can0_ph
    * y_rx- (Can RX signal) 2= i2c0, Input, i2c0_scl_input- (SCL signal) 2= i2
    * c0, Output, i2c0_scl_out- (SCL signal) 3= swdt0, Input, swdt0_clk_in- (W
    * atch Dog Timer Input clock) 4= spi1, Input, spi1_sclk_in- (SPI Clock) 4=
    *  spi1, Output, spi1_sclk_out- (SPI Clock) 5= ttc0, Input, ttc0_clk_in- (
    * TTC Clock) 6= ua0, Input, ua0_rxd- (UART receiver serial input) 7= Not U
    * sed
*/
#undef IOU_SLCR_MIO_PIN_70_L3_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_70_L3_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_70_L3_SEL_MASK 
#define IOU_SLCR_MIO_PIN_70_L3_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_70_L3_SEL_SHIFT                       5
#define IOU_SLCR_MIO_PIN_70_L3_SEL_MASK                        0x000000E0U

/*
* Level 0 Mux Select 0= Level 1 Mux Output 1= gem3, Input, gem3_rgmii_rxd[
    * 0]- (RX RGMII data)
*/
#undef IOU_SLCR_MIO_PIN_71_L0_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_71_L0_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_71_L0_SEL_MASK 
#define IOU_SLCR_MIO_PIN_71_L0_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_71_L0_SEL_SHIFT                       1
#define IOU_SLCR_MIO_PIN_71_L0_SEL_MASK                        0x00000002U

/*
* Level 1 Mux Select 0= Level 2 Mux Output 1= usb1, Input, usb1_ulpi_rx_da
    * ta[3]- (ULPI data bus) 1= usb1, Output, usb1_ulpi_tx_data[3]- (ULPI data
    *  bus)
*/
#undef IOU_SLCR_MIO_PIN_71_L1_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_71_L1_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_71_L1_SEL_MASK 
#define IOU_SLCR_MIO_PIN_71_L1_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_71_L1_SEL_SHIFT                       2
#define IOU_SLCR_MIO_PIN_71_L1_SEL_MASK                        0x00000004U

/*
* Level 2 Mux Select 0= Level 3 Mux Output 1= sd0, Input, sd0_data_in[4]-
    * (8-bit Data bus) = sd0, Output, sdio0_data_out[4]- (8-bit Data bus) 2= s
    * d1, Input, sd1_data_in[0]- (8-bit Data bus) = sd1, Output, sdio1_data_ou
    * t[0]- (8-bit Data bus) 3= Not Used
*/
#undef IOU_SLCR_MIO_PIN_71_L2_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_71_L2_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_71_L2_SEL_MASK 
#define IOU_SLCR_MIO_PIN_71_L2_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_71_L2_SEL_SHIFT                       3
#define IOU_SLCR_MIO_PIN_71_L2_SEL_MASK                        0x00000018U

/*
* Level 3 Mux Select 0= gpio2, Input, gpio_2_pin_in[19]- (GPIO bank 2) 0=
    * gpio2, Output, gpio_2_pin_out[19]- (GPIO bank 2) 1= can0, Output, can0_p
    * hy_tx- (Can TX signal) 2= i2c0, Input, i2c0_sda_input- (SDA signal) 2= i
    * 2c0, Output, i2c0_sda_out- (SDA signal) 3= swdt0, Output, swdt0_rst_out-
    *  (Watch Dog Timer Output clock) 4= spi1, Output, spi1_n_ss_out[2]- (SPI
    * Master Selects) 5= ttc0, Output, ttc0_wave_out- (TTC Waveform Clock) 6=
    * ua0, Output, ua0_txd- (UART transmitter serial output) 7= Not Used
*/
#undef IOU_SLCR_MIO_PIN_71_L3_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_71_L3_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_71_L3_SEL_MASK 
#define IOU_SLCR_MIO_PIN_71_L3_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_71_L3_SEL_SHIFT                       5
#define IOU_SLCR_MIO_PIN_71_L3_SEL_MASK                        0x000000E0U

/*
* Level 0 Mux Select 0= Level 1 Mux Output 1= gem3, Input, gem3_rgmii_rxd[
    * 1]- (RX RGMII data)
*/
#undef IOU_SLCR_MIO_PIN_72_L0_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_72_L0_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_72_L0_SEL_MASK 
#define IOU_SLCR_MIO_PIN_72_L0_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_72_L0_SEL_SHIFT                       1
#define IOU_SLCR_MIO_PIN_72_L0_SEL_MASK                        0x00000002U

/*
* Level 1 Mux Select 0= Level 2 Mux Output 1= usb1, Input, usb1_ulpi_rx_da
    * ta[4]- (ULPI data bus) 1= usb1, Output, usb1_ulpi_tx_data[4]- (ULPI data
    *  bus)
*/
#undef IOU_SLCR_MIO_PIN_72_L1_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_72_L1_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_72_L1_SEL_MASK 
#define IOU_SLCR_MIO_PIN_72_L1_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_72_L1_SEL_SHIFT                       2
#define IOU_SLCR_MIO_PIN_72_L1_SEL_MASK                        0x00000004U

/*
* Level 2 Mux Select 0= Level 3 Mux Output 1= sd0, Input, sd0_data_in[5]-
    * (8-bit Data bus) = sd0, Output, sdio0_data_out[5]- (8-bit Data bus) 2= s
    * d1, Input, sd1_data_in[1]- (8-bit Data bus) = sd1, Output, sdio1_data_ou
    * t[1]- (8-bit Data bus) 3= Not Used
*/
#undef IOU_SLCR_MIO_PIN_72_L2_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_72_L2_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_72_L2_SEL_MASK 
#define IOU_SLCR_MIO_PIN_72_L2_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_72_L2_SEL_SHIFT                       3
#define IOU_SLCR_MIO_PIN_72_L2_SEL_MASK                        0x00000018U

/*
* Level 3 Mux Select 0= gpio2, Input, gpio_2_pin_in[20]- (GPIO bank 2) 0=
    * gpio2, Output, gpio_2_pin_out[20]- (GPIO bank 2) 1= can1, Output, can1_p
    * hy_tx- (Can TX signal) 2= i2c1, Input, i2c1_scl_input- (SCL signal) 2= i
    * 2c1, Output, i2c1_scl_out- (SCL signal) 3= swdt1, Input, swdt1_clk_in- (
    * Watch Dog Timer Input clock) 4= spi1, Output, spi1_n_ss_out[1]- (SPI Mas
    * ter Selects) 5= Not Used 6= ua1, Output, ua1_txd- (UART transmitter seri
    * al output) 7= Not Used
*/
#undef IOU_SLCR_MIO_PIN_72_L3_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_72_L3_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_72_L3_SEL_MASK 
#define IOU_SLCR_MIO_PIN_72_L3_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_72_L3_SEL_SHIFT                       5
#define IOU_SLCR_MIO_PIN_72_L3_SEL_MASK                        0x000000E0U

/*
* Level 0 Mux Select 0= Level 1 Mux Output 1= gem3, Input, gem3_rgmii_rxd[
    * 2]- (RX RGMII data)
*/
#undef IOU_SLCR_MIO_PIN_73_L0_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_73_L0_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_73_L0_SEL_MASK 
#define IOU_SLCR_MIO_PIN_73_L0_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_73_L0_SEL_SHIFT                       1
#define IOU_SLCR_MIO_PIN_73_L0_SEL_MASK                        0x00000002U

/*
* Level 1 Mux Select 0= Level 2 Mux Output 1= usb1, Input, usb1_ulpi_rx_da
    * ta[5]- (ULPI data bus) 1= usb1, Output, usb1_ulpi_tx_data[5]- (ULPI data
    *  bus)
*/
#undef IOU_SLCR_MIO_PIN_73_L1_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_73_L1_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_73_L1_SEL_MASK 
#define IOU_SLCR_MIO_PIN_73_L1_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_73_L1_SEL_SHIFT                       2
#define IOU_SLCR_MIO_PIN_73_L1_SEL_MASK                        0x00000004U

/*
* Level 2 Mux Select 0= Level 3 Mux Output 1= sd0, Input, sd0_data_in[6]-
    * (8-bit Data bus) = sd0, Output, sdio0_data_out[6]- (8-bit Data bus) 2= s
    * d1, Input, sd1_data_in[2]- (8-bit Data bus) = sd1, Output, sdio1_data_ou
    * t[2]- (8-bit Data bus) 3= Not Used
*/
#undef IOU_SLCR_MIO_PIN_73_L2_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_73_L2_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_73_L2_SEL_MASK 
#define IOU_SLCR_MIO_PIN_73_L2_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_73_L2_SEL_SHIFT                       3
#define IOU_SLCR_MIO_PIN_73_L2_SEL_MASK                        0x00000018U

/*
* Level 3 Mux Select 0= gpio2, Input, gpio_2_pin_in[21]- (GPIO bank 2) 0=
    * gpio2, Output, gpio_2_pin_out[21]- (GPIO bank 2) 1= can1, Input, can1_ph
    * y_rx- (Can RX signal) 2= i2c1, Input, i2c1_sda_input- (SDA signal) 2= i2
    * c1, Output, i2c1_sda_out- (SDA signal) 3= swdt1, Output, swdt1_rst_out-
    * (Watch Dog Timer Output clock) 4= spi1, Input, spi1_n_ss_in- (SPI Master
    *  Selects) 4= spi1, Output, spi1_n_ss_out[0]- (SPI Master Selects) 5= Not
    *  Used 6= ua1, Input, ua1_rxd- (UART receiver serial input) 7= Not Used
*/
#undef IOU_SLCR_MIO_PIN_73_L3_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_73_L3_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_73_L3_SEL_MASK 
#define IOU_SLCR_MIO_PIN_73_L3_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_73_L3_SEL_SHIFT                       5
#define IOU_SLCR_MIO_PIN_73_L3_SEL_MASK                        0x000000E0U

/*
* Level 0 Mux Select 0= Level 1 Mux Output 1= gem3, Input, gem3_rgmii_rxd[
    * 3]- (RX RGMII data)
*/
#undef IOU_SLCR_MIO_PIN_74_L0_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_74_L0_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_74_L0_SEL_MASK 
#define IOU_SLCR_MIO_PIN_74_L0_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_74_L0_SEL_SHIFT                       1
#define IOU_SLCR_MIO_PIN_74_L0_SEL_MASK                        0x00000002U

/*
* Level 1 Mux Select 0= Level 2 Mux Output 1= usb1, Input, usb1_ulpi_rx_da
    * ta[6]- (ULPI data bus) 1= usb1, Output, usb1_ulpi_tx_data[6]- (ULPI data
    *  bus)
*/
#undef IOU_SLCR_MIO_PIN_74_L1_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_74_L1_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_74_L1_SEL_MASK 
#define IOU_SLCR_MIO_PIN_74_L1_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_74_L1_SEL_SHIFT                       2
#define IOU_SLCR_MIO_PIN_74_L1_SEL_MASK                        0x00000004U

/*
* Level 2 Mux Select 0= Level 3 Mux Output 1= sd0, Input, sd0_data_in[7]-
    * (8-bit Data bus) = sd0, Output, sdio0_data_out[7]- (8-bit Data bus) 2= s
    * d1, Input, sd1_data_in[3]- (8-bit Data bus) = sd1, Output, sdio1_data_ou
    * t[3]- (8-bit Data bus) 3= Not Used
*/
#undef IOU_SLCR_MIO_PIN_74_L2_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_74_L2_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_74_L2_SEL_MASK 
#define IOU_SLCR_MIO_PIN_74_L2_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_74_L2_SEL_SHIFT                       3
#define IOU_SLCR_MIO_PIN_74_L2_SEL_MASK                        0x00000018U

/*
* Level 3 Mux Select 0= gpio2, Input, gpio_2_pin_in[22]- (GPIO bank 2) 0=
    * gpio2, Output, gpio_2_pin_out[22]- (GPIO bank 2) 1= can0, Input, can0_ph
    * y_rx- (Can RX signal) 2= i2c0, Input, i2c0_scl_input- (SCL signal) 2= i2
    * c0, Output, i2c0_scl_out- (SCL signal) 3= swdt0, Input, swdt0_clk_in- (W
    * atch Dog Timer Input clock) 4= spi1, Input, spi1_mi- (MISO signal) 4= sp
    * i1, Output, spi1_so- (MISO signal) 5= Not Used 6= ua0, Input, ua0_rxd- (
    * UART receiver serial input) 7= Not Used
*/
#undef IOU_SLCR_MIO_PIN_74_L3_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_74_L3_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_74_L3_SEL_MASK 
#define IOU_SLCR_MIO_PIN_74_L3_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_74_L3_SEL_SHIFT                       5
#define IOU_SLCR_MIO_PIN_74_L3_SEL_MASK                        0x000000E0U

/*
* Level 0 Mux Select 0= Level 1 Mux Output 1= gem3, Input, gem3_rgmii_rx_c
    * tl- (RX RGMII control )
*/
#undef IOU_SLCR_MIO_PIN_75_L0_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_75_L0_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_75_L0_SEL_MASK 
#define IOU_SLCR_MIO_PIN_75_L0_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_75_L0_SEL_SHIFT                       1
#define IOU_SLCR_MIO_PIN_75_L0_SEL_MASK                        0x00000002U

/*
* Level 1 Mux Select 0= Level 2 Mux Output 1= usb1, Input, usb1_ulpi_rx_da
    * ta[7]- (ULPI data bus) 1= usb1, Output, usb1_ulpi_tx_data[7]- (ULPI data
    *  bus)
*/
#undef IOU_SLCR_MIO_PIN_75_L1_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_75_L1_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_75_L1_SEL_MASK 
#define IOU_SLCR_MIO_PIN_75_L1_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_75_L1_SEL_SHIFT                       2
#define IOU_SLCR_MIO_PIN_75_L1_SEL_MASK                        0x00000004U

/*
* Level 2 Mux Select 0= Level 3 Mux Output 1= sd0, Output, sdio0_bus_pow-
    * (SD card bus power) 2= sd1, Input, sd1_cmd_in- (Command Indicator) = sd1
    * , Output, sdio1_cmd_out- (Command Indicator) 3= Not Used
*/
#undef IOU_SLCR_MIO_PIN_75_L2_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_75_L2_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_75_L2_SEL_MASK 
#define IOU_SLCR_MIO_PIN_75_L2_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_75_L2_SEL_SHIFT                       3
#define IOU_SLCR_MIO_PIN_75_L2_SEL_MASK                        0x00000018U

/*
* Level 3 Mux Select 0= gpio2, Input, gpio_2_pin_in[23]- (GPIO bank 2) 0=
    * gpio2, Output, gpio_2_pin_out[23]- (GPIO bank 2) 1= can0, Output, can0_p
    * hy_tx- (Can TX signal) 2= i2c0, Input, i2c0_sda_input- (SDA signal) 2= i
    * 2c0, Output, i2c0_sda_out- (SDA signal) 3= swdt0, Output, swdt0_rst_out-
    *  (Watch Dog Timer Output clock) 4= spi1, Output, spi1_mo- (MOSI signal)
    * 4= spi1, Input, spi1_si- (MOSI signal) 5= Not Used 6= ua0, Output, ua0_t
    * xd- (UART transmitter serial output) 7= Not Used
*/
#undef IOU_SLCR_MIO_PIN_75_L3_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_75_L3_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_75_L3_SEL_MASK 
#define IOU_SLCR_MIO_PIN_75_L3_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_75_L3_SEL_SHIFT                       5
#define IOU_SLCR_MIO_PIN_75_L3_SEL_MASK                        0x000000E0U

/*
* Level 0 Mux Select 0= Level 1 Mux Output 1= Not Used
*/
#undef IOU_SLCR_MIO_PIN_76_L0_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_76_L0_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_76_L0_SEL_MASK 
#define IOU_SLCR_MIO_PIN_76_L0_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_76_L0_SEL_SHIFT                       1
#define IOU_SLCR_MIO_PIN_76_L0_SEL_MASK                        0x00000002U

/*
* Level 1 Mux Select 0= Level 2 Mux Output 1= Not Used
*/
#undef IOU_SLCR_MIO_PIN_76_L1_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_76_L1_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_76_L1_SEL_MASK 
#define IOU_SLCR_MIO_PIN_76_L1_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_76_L1_SEL_SHIFT                       2
#define IOU_SLCR_MIO_PIN_76_L1_SEL_MASK                        0x00000004U

/*
* Level 2 Mux Select 0= Level 3 Mux Output 1= sd0, Input, sdio0_wp- (SD ca
    * rd write protect from connector) 2= sd1, Output, sdio1_clk_out- (SDSDIO
    * clock) 3= Not Used
*/
#undef IOU_SLCR_MIO_PIN_76_L2_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_76_L2_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_76_L2_SEL_MASK 
#define IOU_SLCR_MIO_PIN_76_L2_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_76_L2_SEL_SHIFT                       3
#define IOU_SLCR_MIO_PIN_76_L2_SEL_MASK                        0x00000018U

/*
* Level 3 Mux Select 0= gpio2, Input, gpio_2_pin_in[24]- (GPIO bank 2) 0=
    * gpio2, Output, gpio_2_pin_out[24]- (GPIO bank 2) 1= can1, Output, can1_p
    * hy_tx- (Can TX signal) 2= i2c1, Input, i2c1_scl_input- (SCL signal) 2= i
    * 2c1, Output, i2c1_scl_out- (SCL signal) 3= mdio0, Output, gem0_mdc- (MDI
    * O Clock) 4= mdio1, Output, gem1_mdc- (MDIO Clock) 5= mdio2, Output, gem2
    * _mdc- (MDIO Clock) 6= mdio3, Output, gem3_mdc- (MDIO Clock) 7= Not Used
*/
#undef IOU_SLCR_MIO_PIN_76_L3_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_76_L3_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_76_L3_SEL_MASK 
#define IOU_SLCR_MIO_PIN_76_L3_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_76_L3_SEL_SHIFT                       5
#define IOU_SLCR_MIO_PIN_76_L3_SEL_MASK                        0x000000E0U

/*
* Level 0 Mux Select 0= Level 1 Mux Output 1= Not Used
*/
#undef IOU_SLCR_MIO_PIN_77_L0_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_77_L0_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_77_L0_SEL_MASK 
#define IOU_SLCR_MIO_PIN_77_L0_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_77_L0_SEL_SHIFT                       1
#define IOU_SLCR_MIO_PIN_77_L0_SEL_MASK                        0x00000002U

/*
* Level 1 Mux Select 0= Level 2 Mux Output 1= Not Used
*/
#undef IOU_SLCR_MIO_PIN_77_L1_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_77_L1_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_77_L1_SEL_MASK 
#define IOU_SLCR_MIO_PIN_77_L1_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_77_L1_SEL_SHIFT                       2
#define IOU_SLCR_MIO_PIN_77_L1_SEL_MASK                        0x00000004U

/*
* Level 2 Mux Select 0= Level 3 Mux Output 1= Not Used 2= sd1, Input, sdio
    * 1_cd_n- (SD card detect from connector) 3= Not Used
*/
#undef IOU_SLCR_MIO_PIN_77_L2_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_77_L2_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_77_L2_SEL_MASK 
#define IOU_SLCR_MIO_PIN_77_L2_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_77_L2_SEL_SHIFT                       3
#define IOU_SLCR_MIO_PIN_77_L2_SEL_MASK                        0x00000018U

/*
* Level 3 Mux Select 0= gpio2, Input, gpio_2_pin_in[25]- (GPIO bank 2) 0=
    * gpio2, Output, gpio_2_pin_out[25]- (GPIO bank 2) 1= can1, Input, can1_ph
    * y_rx- (Can RX signal) 2= i2c1, Input, i2c1_sda_input- (SDA signal) 2= i2
    * c1, Output, i2c1_sda_out- (SDA signal) 3= mdio0, Input, gem0_mdio_in- (M
    * DIO Data) 3= mdio0, Output, gem0_mdio_out- (MDIO Data) 4= mdio1, Input,
    * gem1_mdio_in- (MDIO Data) 4= mdio1, Output, gem1_mdio_out- (MDIO Data) 5
    * = mdio2, Input, gem2_mdio_in- (MDIO Data) 5= mdio2, Output, gem2_mdio_ou
    * t- (MDIO Data) 6= mdio3, Input, gem3_mdio_in- (MDIO Data) 6= mdio3, Outp
    * ut, gem3_mdio_out- (MDIO Data) 7= Not Used
*/
#undef IOU_SLCR_MIO_PIN_77_L3_SEL_DEFVAL 
#undef IOU_SLCR_MIO_PIN_77_L3_SEL_SHIFT 
#undef IOU_SLCR_MIO_PIN_77_L3_SEL_MASK 
#define IOU_SLCR_MIO_PIN_77_L3_SEL_DEFVAL                      0x00000000
#define IOU_SLCR_MIO_PIN_77_L3_SEL_SHIFT                       5
#define IOU_SLCR_MIO_PIN_77_L3_SEL_MASK                        0x000000E0U

/*
* Master Tri-state Enable for pin 0, active high
*/
#undef IOU_SLCR_MIO_MST_TRI0_PIN_00_TRI_DEFVAL 
#undef IOU_SLCR_MIO_MST_TRI0_PIN_00_TRI_SHIFT 
#undef IOU_SLCR_MIO_MST_TRI0_PIN_00_TRI_MASK 
#define IOU_SLCR_MIO_MST_TRI0_PIN_00_TRI_DEFVAL                0xFFFFFFFF
#define IOU_SLCR_MIO_MST_TRI0_PIN_00_TRI_SHIFT                 0
#define IOU_SLCR_MIO_MST_TRI0_PIN_00_TRI_MASK                  0x00000001U

/*
* Master Tri-state Enable for pin 1, active high
*/
#undef IOU_SLCR_MIO_MST_TRI0_PIN_01_TRI_DEFVAL 
#undef IOU_SLCR_MIO_MST_TRI0_PIN_01_TRI_SHIFT 
#undef IOU_SLCR_MIO_MST_TRI0_PIN_01_TRI_MASK 
#define IOU_SLCR_MIO_MST_TRI0_PIN_01_TRI_DEFVAL                0xFFFFFFFF
#define IOU_SLCR_MIO_MST_TRI0_PIN_01_TRI_SHIFT                 1
#define IOU_SLCR_MIO_MST_TRI0_PIN_01_TRI_MASK                  0x00000002U

/*
* Master Tri-state Enable for pin 2, active high
*/
#undef IOU_SLCR_MIO_MST_TRI0_PIN_02_TRI_DEFVAL 
#undef IOU_SLCR_MIO_MST_TRI0_PIN_02_TRI_SHIFT 
#undef IOU_SLCR_MIO_MST_TRI0_PIN_02_TRI_MASK 
#define IOU_SLCR_MIO_MST_TRI0_PIN_02_TRI_DEFVAL                0xFFFFFFFF
#define IOU_SLCR_MIO_MST_TRI0_PIN_02_TRI_SHIFT                 2
#define IOU_SLCR_MIO_MST_TRI0_PIN_02_TRI_MASK                  0x00000004U

/*
* Master Tri-state Enable for pin 3, active high
*/
#undef IOU_SLCR_MIO_MST_TRI0_PIN_03_TRI_DEFVAL 
#undef IOU_SLCR_MIO_MST_TRI0_PIN_03_TRI_SHIFT 
#undef IOU_SLCR_MIO_MST_TRI0_PIN_03_TRI_MASK 
#define IOU_SLCR_MIO_MST_TRI0_PIN_03_TRI_DEFVAL                0xFFFFFFFF
#define IOU_SLCR_MIO_MST_TRI0_PIN_03_TRI_SHIFT                 3
#define IOU_SLCR_MIO_MST_TRI0_PIN_03_TRI_MASK                  0x00000008U

/*
* Master Tri-state Enable for pin 4, active high
*/
#undef IOU_SLCR_MIO_MST_TRI0_PIN_04_TRI_DEFVAL 
#undef IOU_SLCR_MIO_MST_TRI0_PIN_04_TRI_SHIFT 
#undef IOU_SLCR_MIO_MST_TRI0_PIN_04_TRI_MASK 
#define IOU_SLCR_MIO_MST_TRI0_PIN_04_TRI_DEFVAL                0xFFFFFFFF
#define IOU_SLCR_MIO_MST_TRI0_PIN_04_TRI_SHIFT                 4
#define IOU_SLCR_MIO_MST_TRI0_PIN_04_TRI_MASK                  0x00000010U

/*
* Master Tri-state Enable for pin 5, active high
*/
#undef IOU_SLCR_MIO_MST_TRI0_PIN_05_TRI_DEFVAL 
#undef IOU_SLCR_MIO_MST_TRI0_PIN_05_TRI_SHIFT 
#undef IOU_SLCR_MIO_MST_TRI0_PIN_05_TRI_MASK 
#define IOU_SLCR_MIO_MST_TRI0_PIN_05_TRI_DEFVAL                0xFFFFFFFF
#define IOU_SLCR_MIO_MST_TRI0_PIN_05_TRI_SHIFT                 5
#define IOU_SLCR_MIO_MST_TRI0_PIN_05_TRI_MASK                  0x00000020U

/*
* Master Tri-state Enable for pin 6, active high
*/
#undef IOU_SLCR_MIO_MST_TRI0_PIN_06_TRI_DEFVAL 
#undef IOU_SLCR_MIO_MST_TRI0_PIN_06_TRI_SHIFT 
#undef IOU_SLCR_MIO_MST_TRI0_PIN_06_TRI_MASK 
#define IOU_SLCR_MIO_MST_TRI0_PIN_06_TRI_DEFVAL                0xFFFFFFFF
#define IOU_SLCR_MIO_MST_TRI0_PIN_06_TRI_SHIFT                 6
#define IOU_SLCR_MIO_MST_TRI0_PIN_06_TRI_MASK                  0x00000040U

/*
* Master Tri-state Enable for pin 7, active high
*/
#undef IOU_SLCR_MIO_MST_TRI0_PIN_07_TRI_DEFVAL 
#undef IOU_SLCR_MIO_MST_TRI0_PIN_07_TRI_SHIFT 
#undef IOU_SLCR_MIO_MST_TRI0_PIN_07_TRI_MASK 
#define IOU_SLCR_MIO_MST_TRI0_PIN_07_TRI_DEFVAL                0xFFFFFFFF
#define IOU_SLCR_MIO_MST_TRI0_PIN_07_TRI_SHIFT                 7
#define IOU_SLCR_MIO_MST_TRI0_PIN_07_TRI_MASK                  0x00000080U

/*
* Master Tri-state Enable for pin 8, active high
*/
#undef IOU_SLCR_MIO_MST_TRI0_PIN_08_TRI_DEFVAL 
#undef IOU_SLCR_MIO_MST_TRI0_PIN_08_TRI_SHIFT 
#undef IOU_SLCR_MIO_MST_TRI0_PIN_08_TRI_MASK 
#define IOU_SLCR_MIO_MST_TRI0_PIN_08_TRI_DEFVAL                0xFFFFFFFF
#define IOU_SLCR_MIO_MST_TRI0_PIN_08_TRI_SHIFT                 8
#define IOU_SLCR_MIO_MST_TRI0_PIN_08_TRI_MASK                  0x00000100U

/*
* Master Tri-state Enable for pin 9, active high
*/
#undef IOU_SLCR_MIO_MST_TRI0_PIN_09_TRI_DEFVAL 
#undef IOU_SLCR_MIO_MST_TRI0_PIN_09_TRI_SHIFT 
#undef IOU_SLCR_MIO_MST_TRI0_PIN_09_TRI_MASK 
#define IOU_SLCR_MIO_MST_TRI0_PIN_09_TRI_DEFVAL                0xFFFFFFFF
#define IOU_SLCR_MIO_MST_TRI0_PIN_09_TRI_SHIFT                 9
#define IOU_SLCR_MIO_MST_TRI0_PIN_09_TRI_MASK                  0x00000200U

/*
* Master Tri-state Enable for pin 10, active high
*/
#undef IOU_SLCR_MIO_MST_TRI0_PIN_10_TRI_DEFVAL 
#undef IOU_SLCR_MIO_MST_TRI0_PIN_10_TRI_SHIFT 
#undef IOU_SLCR_MIO_MST_TRI0_PIN_10_TRI_MASK 
#define IOU_SLCR_MIO_MST_TRI0_PIN_10_TRI_DEFVAL                0xFFFFFFFF
#define IOU_SLCR_MIO_MST_TRI0_PIN_10_TRI_SHIFT                 10
#define IOU_SLCR_MIO_MST_TRI0_PIN_10_TRI_MASK                  0x00000400U

/*
* Master Tri-state Enable for pin 11, active high
*/
#undef IOU_SLCR_MIO_MST_TRI0_PIN_11_TRI_DEFVAL 
#undef IOU_SLCR_MIO_MST_TRI0_PIN_11_TRI_SHIFT 
#undef IOU_SLCR_MIO_MST_TRI0_PIN_11_TRI_MASK 
#define IOU_SLCR_MIO_MST_TRI0_PIN_11_TRI_DEFVAL                0xFFFFFFFF
#define IOU_SLCR_MIO_MST_TRI0_PIN_11_TRI_SHIFT                 11
#define IOU_SLCR_MIO_MST_TRI0_PIN_11_TRI_MASK                  0x00000800U

/*
* Master Tri-state Enable for pin 12, active high
*/
#undef IOU_SLCR_MIO_MST_TRI0_PIN_12_TRI_DEFVAL 
#undef IOU_SLCR_MIO_MST_TRI0_PIN_12_TRI_SHIFT 
#undef IOU_SLCR_MIO_MST_TRI0_PIN_12_TRI_MASK 
#define IOU_SLCR_MIO_MST_TRI0_PIN_12_TRI_DEFVAL                0xFFFFFFFF
#define IOU_SLCR_MIO_MST_TRI0_PIN_12_TRI_SHIFT                 12
#define IOU_SLCR_MIO_MST_TRI0_PIN_12_TRI_MASK                  0x00001000U

/*
* Master Tri-state Enable for pin 13, active high
*/
#undef IOU_SLCR_MIO_MST_TRI0_PIN_13_TRI_DEFVAL 
#undef IOU_SLCR_MIO_MST_TRI0_PIN_13_TRI_SHIFT 
#undef IOU_SLCR_MIO_MST_TRI0_PIN_13_TRI_MASK 
#define IOU_SLCR_MIO_MST_TRI0_PIN_13_TRI_DEFVAL                0xFFFFFFFF
#define IOU_SLCR_MIO_MST_TRI0_PIN_13_TRI_SHIFT                 13
#define IOU_SLCR_MIO_MST_TRI0_PIN_13_TRI_MASK                  0x00002000U

/*
* Master Tri-state Enable for pin 14, active high
*/
#undef IOU_SLCR_MIO_MST_TRI0_PIN_14_TRI_DEFVAL 
#undef IOU_SLCR_MIO_MST_TRI0_PIN_14_TRI_SHIFT 
#undef IOU_SLCR_MIO_MST_TRI0_PIN_14_TRI_MASK 
#define IOU_SLCR_MIO_MST_TRI0_PIN_14_TRI_DEFVAL                0xFFFFFFFF
#define IOU_SLCR_MIO_MST_TRI0_PIN_14_TRI_SHIFT                 14
#define IOU_SLCR_MIO_MST_TRI0_PIN_14_TRI_MASK                  0x00004000U

/*
* Master Tri-state Enable for pin 15, active high
*/
#undef IOU_SLCR_MIO_MST_TRI0_PIN_15_TRI_DEFVAL 
#undef IOU_SLCR_MIO_MST_TRI0_PIN_15_TRI_SHIFT 
#undef IOU_SLCR_MIO_MST_TRI0_PIN_15_TRI_MASK 
#define IOU_SLCR_MIO_MST_TRI0_PIN_15_TRI_DEFVAL                0xFFFFFFFF
#define IOU_SLCR_MIO_MST_TRI0_PIN_15_TRI_SHIFT                 15
#define IOU_SLCR_MIO_MST_TRI0_PIN_15_TRI_MASK                  0x00008000U

/*
* Master Tri-state Enable for pin 16, active high
*/
#undef IOU_SLCR_MIO_MST_TRI0_PIN_16_TRI_DEFVAL 
#undef IOU_SLCR_MIO_MST_TRI0_PIN_16_TRI_SHIFT 
#undef IOU_SLCR_MIO_MST_TRI0_PIN_16_TRI_MASK 
#define IOU_SLCR_MIO_MST_TRI0_PIN_16_TRI_DEFVAL                0xFFFFFFFF
#define IOU_SLCR_MIO_MST_TRI0_PIN_16_TRI_SHIFT                 16
#define IOU_SLCR_MIO_MST_TRI0_PIN_16_TRI_MASK                  0x00010000U

/*
* Master Tri-state Enable for pin 17, active high
*/
#undef IOU_SLCR_MIO_MST_TRI0_PIN_17_TRI_DEFVAL 
#undef IOU_SLCR_MIO_MST_TRI0_PIN_17_TRI_SHIFT 
#undef IOU_SLCR_MIO_MST_TRI0_PIN_17_TRI_MASK 
#define IOU_SLCR_MIO_MST_TRI0_PIN_17_TRI_DEFVAL                0xFFFFFFFF
#define IOU_SLCR_MIO_MST_TRI0_PIN_17_TRI_SHIFT                 17
#define IOU_SLCR_MIO_MST_TRI0_PIN_17_TRI_MASK                  0x00020000U

/*
* Master Tri-state Enable for pin 18, active high
*/
#undef IOU_SLCR_MIO_MST_TRI0_PIN_18_TRI_DEFVAL 
#undef IOU_SLCR_MIO_MST_TRI0_PIN_18_TRI_SHIFT 
#undef IOU_SLCR_MIO_MST_TRI0_PIN_18_TRI_MASK 
#define IOU_SLCR_MIO_MST_TRI0_PIN_18_TRI_DEFVAL                0xFFFFFFFF
#define IOU_SLCR_MIO_MST_TRI0_PIN_18_TRI_SHIFT                 18
#define IOU_SLCR_MIO_MST_TRI0_PIN_18_TRI_MASK                  0x00040000U

/*
* Master Tri-state Enable for pin 19, active high
*/
#undef IOU_SLCR_MIO_MST_TRI0_PIN_19_TRI_DEFVAL 
#undef IOU_SLCR_MIO_MST_TRI0_PIN_19_TRI_SHIFT 
#undef IOU_SLCR_MIO_MST_TRI0_PIN_19_TRI_MASK 
#define IOU_SLCR_MIO_MST_TRI0_PIN_19_TRI_DEFVAL                0xFFFFFFFF
#define IOU_SLCR_MIO_MST_TRI0_PIN_19_TRI_SHIFT                 19
#define IOU_SLCR_MIO_MST_TRI0_PIN_19_TRI_MASK                  0x00080000U

/*
* Master Tri-state Enable for pin 20, active high
*/
#undef IOU_SLCR_MIO_MST_TRI0_PIN_20_TRI_DEFVAL 
#undef IOU_SLCR_MIO_MST_TRI0_PIN_20_TRI_SHIFT 
#undef IOU_SLCR_MIO_MST_TRI0_PIN_20_TRI_MASK 
#define IOU_SLCR_MIO_MST_TRI0_PIN_20_TRI_DEFVAL                0xFFFFFFFF
#define IOU_SLCR_MIO_MST_TRI0_PIN_20_TRI_SHIFT                 20
#define IOU_SLCR_MIO_MST_TRI0_PIN_20_TRI_MASK                  0x00100000U

/*
* Master Tri-state Enable for pin 21, active high
*/
#undef IOU_SLCR_MIO_MST_TRI0_PIN_21_TRI_DEFVAL 
#undef IOU_SLCR_MIO_MST_TRI0_PIN_21_TRI_SHIFT 
#undef IOU_SLCR_MIO_MST_TRI0_PIN_21_TRI_MASK 
#define IOU_SLCR_MIO_MST_TRI0_PIN_21_TRI_DEFVAL                0xFFFFFFFF
#define IOU_SLCR_MIO_MST_TRI0_PIN_21_TRI_SHIFT                 21
#define IOU_SLCR_MIO_MST_TRI0_PIN_21_TRI_MASK                  0x00200000U

/*
* Master Tri-state Enable for pin 22, active high
*/
#undef IOU_SLCR_MIO_MST_TRI0_PIN_22_TRI_DEFVAL 
#undef IOU_SLCR_MIO_MST_TRI0_PIN_22_TRI_SHIFT 
#undef IOU_SLCR_MIO_MST_TRI0_PIN_22_TRI_MASK 
#define IOU_SLCR_MIO_MST_TRI0_PIN_22_TRI_DEFVAL                0xFFFFFFFF
#define IOU_SLCR_MIO_MST_TRI0_PIN_22_TRI_SHIFT                 22
#define IOU_SLCR_MIO_MST_TRI0_PIN_22_TRI_MASK                  0x00400000U

/*
* Master Tri-state Enable for pin 23, active high
*/
#undef IOU_SLCR_MIO_MST_TRI0_PIN_23_TRI_DEFVAL 
#undef IOU_SLCR_MIO_MST_TRI0_PIN_23_TRI_SHIFT 
#undef IOU_SLCR_MIO_MST_TRI0_PIN_23_TRI_MASK 
#define IOU_SLCR_MIO_MST_TRI0_PIN_23_TRI_DEFVAL                0xFFFFFFFF
#define IOU_SLCR_MIO_MST_TRI0_PIN_23_TRI_SHIFT                 23
#define IOU_SLCR_MIO_MST_TRI0_PIN_23_TRI_MASK                  0x00800000U

/*
* Master Tri-state Enable for pin 24, active high
*/
#undef IOU_SLCR_MIO_MST_TRI0_PIN_24_TRI_DEFVAL 
#undef IOU_SLCR_MIO_MST_TRI0_PIN_24_TRI_SHIFT 
#undef IOU_SLCR_MIO_MST_TRI0_PIN_24_TRI_MASK 
#define IOU_SLCR_MIO_MST_TRI0_PIN_24_TRI_DEFVAL                0xFFFFFFFF
#define IOU_SLCR_MIO_MST_TRI0_PIN_24_TRI_SHIFT                 24
#define IOU_SLCR_MIO_MST_TRI0_PIN_24_TRI_MASK                  0x01000000U

/*
* Master Tri-state Enable for pin 25, active high
*/
#undef IOU_SLCR_MIO_MST_TRI0_PIN_25_TRI_DEFVAL 
#undef IOU_SLCR_MIO_MST_TRI0_PIN_25_TRI_SHIFT 
#undef IOU_SLCR_MIO_MST_TRI0_PIN_25_TRI_MASK 
#define IOU_SLCR_MIO_MST_TRI0_PIN_25_TRI_DEFVAL                0xFFFFFFFF
#define IOU_SLCR_MIO_MST_TRI0_PIN_25_TRI_SHIFT                 25
#define IOU_SLCR_MIO_MST_TRI0_PIN_25_TRI_MASK                  0x02000000U

/*
* Master Tri-state Enable for pin 26, active high
*/
#undef IOU_SLCR_MIO_MST_TRI0_PIN_26_TRI_DEFVAL 
#undef IOU_SLCR_MIO_MST_TRI0_PIN_26_TRI_SHIFT 
#undef IOU_SLCR_MIO_MST_TRI0_PIN_26_TRI_MASK 
#define IOU_SLCR_MIO_MST_TRI0_PIN_26_TRI_DEFVAL                0xFFFFFFFF
#define IOU_SLCR_MIO_MST_TRI0_PIN_26_TRI_SHIFT                 26
#define IOU_SLCR_MIO_MST_TRI0_PIN_26_TRI_MASK                  0x04000000U

/*
* Master Tri-state Enable for pin 27, active high
*/
#undef IOU_SLCR_MIO_MST_TRI0_PIN_27_TRI_DEFVAL 
#undef IOU_SLCR_MIO_MST_TRI0_PIN_27_TRI_SHIFT 
#undef IOU_SLCR_MIO_MST_TRI0_PIN_27_TRI_MASK 
#define IOU_SLCR_MIO_MST_TRI0_PIN_27_TRI_DEFVAL                0xFFFFFFFF
#define IOU_SLCR_MIO_MST_TRI0_PIN_27_TRI_SHIFT                 27
#define IOU_SLCR_MIO_MST_TRI0_PIN_27_TRI_MASK                  0x08000000U

/*
* Master Tri-state Enable for pin 28, active high
*/
#undef IOU_SLCR_MIO_MST_TRI0_PIN_28_TRI_DEFVAL 
#undef IOU_SLCR_MIO_MST_TRI0_PIN_28_TRI_SHIFT 
#undef IOU_SLCR_MIO_MST_TRI0_PIN_28_TRI_MASK 
#define IOU_SLCR_MIO_MST_TRI0_PIN_28_TRI_DEFVAL                0xFFFFFFFF
#define IOU_SLCR_MIO_MST_TRI0_PIN_28_TRI_SHIFT                 28
#define IOU_SLCR_MIO_MST_TRI0_PIN_28_TRI_MASK                  0x10000000U

/*
* Master Tri-state Enable for pin 29, active high
*/
#undef IOU_SLCR_MIO_MST_TRI0_PIN_29_TRI_DEFVAL 
#undef IOU_SLCR_MIO_MST_TRI0_PIN_29_TRI_SHIFT 
#undef IOU_SLCR_MIO_MST_TRI0_PIN_29_TRI_MASK 
#define IOU_SLCR_MIO_MST_TRI0_PIN_29_TRI_DEFVAL                0xFFFFFFFF
#define IOU_SLCR_MIO_MST_TRI0_PIN_29_TRI_SHIFT                 29
#define IOU_SLCR_MIO_MST_TRI0_PIN_29_TRI_MASK                  0x20000000U

/*
* Master Tri-state Enable for pin 30, active high
*/
#undef IOU_SLCR_MIO_MST_TRI0_PIN_30_TRI_DEFVAL 
#undef IOU_SLCR_MIO_MST_TRI0_PIN_30_TRI_SHIFT 
#undef IOU_SLCR_MIO_MST_TRI0_PIN_30_TRI_MASK 
#define IOU_SLCR_MIO_MST_TRI0_PIN_30_TRI_DEFVAL                0xFFFFFFFF
#define IOU_SLCR_MIO_MST_TRI0_PIN_30_TRI_SHIFT                 30
#define IOU_SLCR_MIO_MST_TRI0_PIN_30_TRI_MASK                  0x40000000U

/*
* Master Tri-state Enable for pin 31, active high
*/
#undef IOU_SLCR_MIO_MST_TRI0_PIN_31_TRI_DEFVAL 
#undef IOU_SLCR_MIO_MST_TRI0_PIN_31_TRI_SHIFT 
#undef IOU_SLCR_MIO_MST_TRI0_PIN_31_TRI_MASK 
#define IOU_SLCR_MIO_MST_TRI0_PIN_31_TRI_DEFVAL                0xFFFFFFFF
#define IOU_SLCR_MIO_MST_TRI0_PIN_31_TRI_SHIFT                 31
#define IOU_SLCR_MIO_MST_TRI0_PIN_31_TRI_MASK                  0x80000000U

/*
* Master Tri-state Enable for pin 32, active high
*/
#undef IOU_SLCR_MIO_MST_TRI1_PIN_32_TRI_DEFVAL 
#undef IOU_SLCR_MIO_MST_TRI1_PIN_32_TRI_SHIFT 
#undef IOU_SLCR_MIO_MST_TRI1_PIN_32_TRI_MASK 
#define IOU_SLCR_MIO_MST_TRI1_PIN_32_TRI_DEFVAL                0xFFFFFFFF
#define IOU_SLCR_MIO_MST_TRI1_PIN_32_TRI_SHIFT                 0
#define IOU_SLCR_MIO_MST_TRI1_PIN_32_TRI_MASK                  0x00000001U

/*
* Master Tri-state Enable for pin 33, active high
*/
#undef IOU_SLCR_MIO_MST_TRI1_PIN_33_TRI_DEFVAL 
#undef IOU_SLCR_MIO_MST_TRI1_PIN_33_TRI_SHIFT 
#undef IOU_SLCR_MIO_MST_TRI1_PIN_33_TRI_MASK 
#define IOU_SLCR_MIO_MST_TRI1_PIN_33_TRI_DEFVAL                0xFFFFFFFF
#define IOU_SLCR_MIO_MST_TRI1_PIN_33_TRI_SHIFT                 1
#define IOU_SLCR_MIO_MST_TRI1_PIN_33_TRI_MASK                  0x00000002U

/*
* Master Tri-state Enable for pin 34, active high
*/
#undef IOU_SLCR_MIO_MST_TRI1_PIN_34_TRI_DEFVAL 
#undef IOU_SLCR_MIO_MST_TRI1_PIN_34_TRI_SHIFT 
#undef IOU_SLCR_MIO_MST_TRI1_PIN_34_TRI_MASK 
#define IOU_SLCR_MIO_MST_TRI1_PIN_34_TRI_DEFVAL                0xFFFFFFFF
#define IOU_SLCR_MIO_MST_TRI1_PIN_34_TRI_SHIFT                 2
#define IOU_SLCR_MIO_MST_TRI1_PIN_34_TRI_MASK                  0x00000004U

/*
* Master Tri-state Enable for pin 35, active high
*/
#undef IOU_SLCR_MIO_MST_TRI1_PIN_35_TRI_DEFVAL 
#undef IOU_SLCR_MIO_MST_TRI1_PIN_35_TRI_SHIFT 
#undef IOU_SLCR_MIO_MST_TRI1_PIN_35_TRI_MASK 
#define IOU_SLCR_MIO_MST_TRI1_PIN_35_TRI_DEFVAL                0xFFFFFFFF
#define IOU_SLCR_MIO_MST_TRI1_PIN_35_TRI_SHIFT                 3
#define IOU_SLCR_MIO_MST_TRI1_PIN_35_TRI_MASK                  0x00000008U

/*
* Master Tri-state Enable for pin 36, active high
*/
#undef IOU_SLCR_MIO_MST_TRI1_PIN_36_TRI_DEFVAL 
#undef IOU_SLCR_MIO_MST_TRI1_PIN_36_TRI_SHIFT 
#undef IOU_SLCR_MIO_MST_TRI1_PIN_36_TRI_MASK 
#define IOU_SLCR_MIO_MST_TRI1_PIN_36_TRI_DEFVAL                0xFFFFFFFF
#define IOU_SLCR_MIO_MST_TRI1_PIN_36_TRI_SHIFT                 4
#define IOU_SLCR_MIO_MST_TRI1_PIN_36_TRI_MASK                  0x00000010U

/*
* Master Tri-state Enable for pin 37, active high
*/
#undef IOU_SLCR_MIO_MST_TRI1_PIN_37_TRI_DEFVAL 
#undef IOU_SLCR_MIO_MST_TRI1_PIN_37_TRI_SHIFT 
#undef IOU_SLCR_MIO_MST_TRI1_PIN_37_TRI_MASK 
#define IOU_SLCR_MIO_MST_TRI1_PIN_37_TRI_DEFVAL                0xFFFFFFFF
#define IOU_SLCR_MIO_MST_TRI1_PIN_37_TRI_SHIFT                 5
#define IOU_SLCR_MIO_MST_TRI1_PIN_37_TRI_MASK                  0x00000020U

/*
* Master Tri-state Enable for pin 38, active high
*/
#undef IOU_SLCR_MIO_MST_TRI1_PIN_38_TRI_DEFVAL 
#undef IOU_SLCR_MIO_MST_TRI1_PIN_38_TRI_SHIFT 
#undef IOU_SLCR_MIO_MST_TRI1_PIN_38_TRI_MASK 
#define IOU_SLCR_MIO_MST_TRI1_PIN_38_TRI_DEFVAL                0xFFFFFFFF
#define IOU_SLCR_MIO_MST_TRI1_PIN_38_TRI_SHIFT                 6
#define IOU_SLCR_MIO_MST_TRI1_PIN_38_TRI_MASK                  0x00000040U

/*
* Master Tri-state Enable for pin 39, active high
*/
#undef IOU_SLCR_MIO_MST_TRI1_PIN_39_TRI_DEFVAL 
#undef IOU_SLCR_MIO_MST_TRI1_PIN_39_TRI_SHIFT 
#undef IOU_SLCR_MIO_MST_TRI1_PIN_39_TRI_MASK 
#define IOU_SLCR_MIO_MST_TRI1_PIN_39_TRI_DEFVAL                0xFFFFFFFF
#define IOU_SLCR_MIO_MST_TRI1_PIN_39_TRI_SHIFT                 7
#define IOU_SLCR_MIO_MST_TRI1_PIN_39_TRI_MASK                  0x00000080U

/*
* Master Tri-state Enable for pin 40, active high
*/
#undef IOU_SLCR_MIO_MST_TRI1_PIN_40_TRI_DEFVAL 
#undef IOU_SLCR_MIO_MST_TRI1_PIN_40_TRI_SHIFT 
#undef IOU_SLCR_MIO_MST_TRI1_PIN_40_TRI_MASK 
#define IOU_SLCR_MIO_MST_TRI1_PIN_40_TRI_DEFVAL                0xFFFFFFFF
#define IOU_SLCR_MIO_MST_TRI1_PIN_40_TRI_SHIFT                 8
#define IOU_SLCR_MIO_MST_TRI1_PIN_40_TRI_MASK                  0x00000100U

/*
* Master Tri-state Enable for pin 41, active high
*/
#undef IOU_SLCR_MIO_MST_TRI1_PIN_41_TRI_DEFVAL 
#undef IOU_SLCR_MIO_MST_TRI1_PIN_41_TRI_SHIFT 
#undef IOU_SLCR_MIO_MST_TRI1_PIN_41_TRI_MASK 
#define IOU_SLCR_MIO_MST_TRI1_PIN_41_TRI_DEFVAL                0xFFFFFFFF
#define IOU_SLCR_MIO_MST_TRI1_PIN_41_TRI_SHIFT                 9
#define IOU_SLCR_MIO_MST_TRI1_PIN_41_TRI_MASK                  0x00000200U

/*
* Master Tri-state Enable for pin 42, active high
*/
#undef IOU_SLCR_MIO_MST_TRI1_PIN_42_TRI_DEFVAL 
#undef IOU_SLCR_MIO_MST_TRI1_PIN_42_TRI_SHIFT 
#undef IOU_SLCR_MIO_MST_TRI1_PIN_42_TRI_MASK 
#define IOU_SLCR_MIO_MST_TRI1_PIN_42_TRI_DEFVAL                0xFFFFFFFF
#define IOU_SLCR_MIO_MST_TRI1_PIN_42_TRI_SHIFT                 10
#define IOU_SLCR_MIO_MST_TRI1_PIN_42_TRI_MASK                  0x00000400U

/*
* Master Tri-state Enable for pin 43, active high
*/
#undef IOU_SLCR_MIO_MST_TRI1_PIN_43_TRI_DEFVAL 
#undef IOU_SLCR_MIO_MST_TRI1_PIN_43_TRI_SHIFT 
#undef IOU_SLCR_MIO_MST_TRI1_PIN_43_TRI_MASK 
#define IOU_SLCR_MIO_MST_TRI1_PIN_43_TRI_DEFVAL                0xFFFFFFFF
#define IOU_SLCR_MIO_MST_TRI1_PIN_43_TRI_SHIFT                 11
#define IOU_SLCR_MIO_MST_TRI1_PIN_43_TRI_MASK                  0x00000800U

/*
* Master Tri-state Enable for pin 44, active high
*/
#undef IOU_SLCR_MIO_MST_TRI1_PIN_44_TRI_DEFVAL 
#undef IOU_SLCR_MIO_MST_TRI1_PIN_44_TRI_SHIFT 
#undef IOU_SLCR_MIO_MST_TRI1_PIN_44_TRI_MASK 
#define IOU_SLCR_MIO_MST_TRI1_PIN_44_TRI_DEFVAL                0xFFFFFFFF
#define IOU_SLCR_MIO_MST_TRI1_PIN_44_TRI_SHIFT                 12
#define IOU_SLCR_MIO_MST_TRI1_PIN_44_TRI_MASK                  0x00001000U

/*
* Master Tri-state Enable for pin 45, active high
*/
#undef IOU_SLCR_MIO_MST_TRI1_PIN_45_TRI_DEFVAL 
#undef IOU_SLCR_MIO_MST_TRI1_PIN_45_TRI_SHIFT 
#undef IOU_SLCR_MIO_MST_TRI1_PIN_45_TRI_MASK 
#define IOU_SLCR_MIO_MST_TRI1_PIN_45_TRI_DEFVAL                0xFFFFFFFF
#define IOU_SLCR_MIO_MST_TRI1_PIN_45_TRI_SHIFT                 13
#define IOU_SLCR_MIO_MST_TRI1_PIN_45_TRI_MASK                  0x00002000U

/*
* Master Tri-state Enable for pin 46, active high
*/
#undef IOU_SLCR_MIO_MST_TRI1_PIN_46_TRI_DEFVAL 
#undef IOU_SLCR_MIO_MST_TRI1_PIN_46_TRI_SHIFT 
#undef IOU_SLCR_MIO_MST_TRI1_PIN_46_TRI_MASK 
#define IOU_SLCR_MIO_MST_TRI1_PIN_46_TRI_DEFVAL                0xFFFFFFFF
#define IOU_SLCR_MIO_MST_TRI1_PIN_46_TRI_SHIFT                 14
#define IOU_SLCR_MIO_MST_TRI1_PIN_46_TRI_MASK                  0x00004000U

/*
* Master Tri-state Enable for pin 47, active high
*/
#undef IOU_SLCR_MIO_MST_TRI1_PIN_47_TRI_DEFVAL 
#undef IOU_SLCR_MIO_MST_TRI1_PIN_47_TRI_SHIFT 
#undef IOU_SLCR_MIO_MST_TRI1_PIN_47_TRI_MASK 
#define IOU_SLCR_MIO_MST_TRI1_PIN_47_TRI_DEFVAL                0xFFFFFFFF
#define IOU_SLCR_MIO_MST_TRI1_PIN_47_TRI_SHIFT                 15
#define IOU_SLCR_MIO_MST_TRI1_PIN_47_TRI_MASK                  0x00008000U

/*
* Master Tri-state Enable for pin 48, active high
*/
#undef IOU_SLCR_MIO_MST_TRI1_PIN_48_TRI_DEFVAL 
#undef IOU_SLCR_MIO_MST_TRI1_PIN_48_TRI_SHIFT 
#undef IOU_SLCR_MIO_MST_TRI1_PIN_48_TRI_MASK 
#define IOU_SLCR_MIO_MST_TRI1_PIN_48_TRI_DEFVAL                0xFFFFFFFF
#define IOU_SLCR_MIO_MST_TRI1_PIN_48_TRI_SHIFT                 16
#define IOU_SLCR_MIO_MST_TRI1_PIN_48_TRI_MASK                  0x00010000U

/*
* Master Tri-state Enable for pin 49, active high
*/
#undef IOU_SLCR_MIO_MST_TRI1_PIN_49_TRI_DEFVAL 
#undef IOU_SLCR_MIO_MST_TRI1_PIN_49_TRI_SHIFT 
#undef IOU_SLCR_MIO_MST_TRI1_PIN_49_TRI_MASK 
#define IOU_SLCR_MIO_MST_TRI1_PIN_49_TRI_DEFVAL                0xFFFFFFFF
#define IOU_SLCR_MIO_MST_TRI1_PIN_49_TRI_SHIFT                 17
#define IOU_SLCR_MIO_MST_TRI1_PIN_49_TRI_MASK                  0x00020000U

/*
* Master Tri-state Enable for pin 50, active high
*/
#undef IOU_SLCR_MIO_MST_TRI1_PIN_50_TRI_DEFVAL 
#undef IOU_SLCR_MIO_MST_TRI1_PIN_50_TRI_SHIFT 
#undef IOU_SLCR_MIO_MST_TRI1_PIN_50_TRI_MASK 
#define IOU_SLCR_MIO_MST_TRI1_PIN_50_TRI_DEFVAL                0xFFFFFFFF
#define IOU_SLCR_MIO_MST_TRI1_PIN_50_TRI_SHIFT                 18
#define IOU_SLCR_MIO_MST_TRI1_PIN_50_TRI_MASK                  0x00040000U

/*
* Master Tri-state Enable for pin 51, active high
*/
#undef IOU_SLCR_MIO_MST_TRI1_PIN_51_TRI_DEFVAL 
#undef IOU_SLCR_MIO_MST_TRI1_PIN_51_TRI_SHIFT 
#undef IOU_SLCR_MIO_MST_TRI1_PIN_51_TRI_MASK 
#define IOU_SLCR_MIO_MST_TRI1_PIN_51_TRI_DEFVAL                0xFFFFFFFF
#define IOU_SLCR_MIO_MST_TRI1_PIN_51_TRI_SHIFT                 19
#define IOU_SLCR_MIO_MST_TRI1_PIN_51_TRI_MASK                  0x00080000U

/*
* Master Tri-state Enable for pin 52, active high
*/
#undef IOU_SLCR_MIO_MST_TRI1_PIN_52_TRI_DEFVAL 
#undef IOU_SLCR_MIO_MST_TRI1_PIN_52_TRI_SHIFT 
#undef IOU_SLCR_MIO_MST_TRI1_PIN_52_TRI_MASK 
#define IOU_SLCR_MIO_MST_TRI1_PIN_52_TRI_DEFVAL                0xFFFFFFFF
#define IOU_SLCR_MIO_MST_TRI1_PIN_52_TRI_SHIFT                 20
#define IOU_SLCR_MIO_MST_TRI1_PIN_52_TRI_MASK                  0x00100000U

/*
* Master Tri-state Enable for pin 53, active high
*/
#undef IOU_SLCR_MIO_MST_TRI1_PIN_53_TRI_DEFVAL 
#undef IOU_SLCR_MIO_MST_TRI1_PIN_53_TRI_SHIFT 
#undef IOU_SLCR_MIO_MST_TRI1_PIN_53_TRI_MASK 
#define IOU_SLCR_MIO_MST_TRI1_PIN_53_TRI_DEFVAL                0xFFFFFFFF
#define IOU_SLCR_MIO_MST_TRI1_PIN_53_TRI_SHIFT                 21
#define IOU_SLCR_MIO_MST_TRI1_PIN_53_TRI_MASK                  0x00200000U

/*
* Master Tri-state Enable for pin 54, active high
*/
#undef IOU_SLCR_MIO_MST_TRI1_PIN_54_TRI_DEFVAL 
#undef IOU_SLCR_MIO_MST_TRI1_PIN_54_TRI_SHIFT 
#undef IOU_SLCR_MIO_MST_TRI1_PIN_54_TRI_MASK 
#define IOU_SLCR_MIO_MST_TRI1_PIN_54_TRI_DEFVAL                0xFFFFFFFF
#define IOU_SLCR_MIO_MST_TRI1_PIN_54_TRI_SHIFT                 22
#define IOU_SLCR_MIO_MST_TRI1_PIN_54_TRI_MASK                  0x00400000U

/*
* Master Tri-state Enable for pin 55, active high
*/
#undef IOU_SLCR_MIO_MST_TRI1_PIN_55_TRI_DEFVAL 
#undef IOU_SLCR_MIO_MST_TRI1_PIN_55_TRI_SHIFT 
#undef IOU_SLCR_MIO_MST_TRI1_PIN_55_TRI_MASK 
#define IOU_SLCR_MIO_MST_TRI1_PIN_55_TRI_DEFVAL                0xFFFFFFFF
#define IOU_SLCR_MIO_MST_TRI1_PIN_55_TRI_SHIFT                 23
#define IOU_SLCR_MIO_MST_TRI1_PIN_55_TRI_MASK                  0x00800000U

/*
* Master Tri-state Enable for pin 56, active high
*/
#undef IOU_SLCR_MIO_MST_TRI1_PIN_56_TRI_DEFVAL 
#undef IOU_SLCR_MIO_MST_TRI1_PIN_56_TRI_SHIFT 
#undef IOU_SLCR_MIO_MST_TRI1_PIN_56_TRI_MASK 
#define IOU_SLCR_MIO_MST_TRI1_PIN_56_TRI_DEFVAL                0xFFFFFFFF
#define IOU_SLCR_MIO_MST_TRI1_PIN_56_TRI_SHIFT                 24
#define IOU_SLCR_MIO_MST_TRI1_PIN_56_TRI_MASK                  0x01000000U

/*
* Master Tri-state Enable for pin 57, active high
*/
#undef IOU_SLCR_MIO_MST_TRI1_PIN_57_TRI_DEFVAL 
#undef IOU_SLCR_MIO_MST_TRI1_PIN_57_TRI_SHIFT 
#undef IOU_SLCR_MIO_MST_TRI1_PIN_57_TRI_MASK 
#define IOU_SLCR_MIO_MST_TRI1_PIN_57_TRI_DEFVAL                0xFFFFFFFF
#define IOU_SLCR_MIO_MST_TRI1_PIN_57_TRI_SHIFT                 25
#define IOU_SLCR_MIO_MST_TRI1_PIN_57_TRI_MASK                  0x02000000U

/*
* Master Tri-state Enable for pin 58, active high
*/
#undef IOU_SLCR_MIO_MST_TRI1_PIN_58_TRI_DEFVAL 
#undef IOU_SLCR_MIO_MST_TRI1_PIN_58_TRI_SHIFT 
#undef IOU_SLCR_MIO_MST_TRI1_PIN_58_TRI_MASK 
#define IOU_SLCR_MIO_MST_TRI1_PIN_58_TRI_DEFVAL                0xFFFFFFFF
#define IOU_SLCR_MIO_MST_TRI1_PIN_58_TRI_SHIFT                 26
#define IOU_SLCR_MIO_MST_TRI1_PIN_58_TRI_MASK                  0x04000000U

/*
* Master Tri-state Enable for pin 59, active high
*/
#undef IOU_SLCR_MIO_MST_TRI1_PIN_59_TRI_DEFVAL 
#undef IOU_SLCR_MIO_MST_TRI1_PIN_59_TRI_SHIFT 
#undef IOU_SLCR_MIO_MST_TRI1_PIN_59_TRI_MASK 
#define IOU_SLCR_MIO_MST_TRI1_PIN_59_TRI_DEFVAL                0xFFFFFFFF
#define IOU_SLCR_MIO_MST_TRI1_PIN_59_TRI_SHIFT                 27
#define IOU_SLCR_MIO_MST_TRI1_PIN_59_TRI_MASK                  0x08000000U

/*
* Master Tri-state Enable for pin 60, active high
*/
#undef IOU_SLCR_MIO_MST_TRI1_PIN_60_TRI_DEFVAL 
#undef IOU_SLCR_MIO_MST_TRI1_PIN_60_TRI_SHIFT 
#undef IOU_SLCR_MIO_MST_TRI1_PIN_60_TRI_MASK 
#define IOU_SLCR_MIO_MST_TRI1_PIN_60_TRI_DEFVAL                0xFFFFFFFF
#define IOU_SLCR_MIO_MST_TRI1_PIN_60_TRI_SHIFT                 28
#define IOU_SLCR_MIO_MST_TRI1_PIN_60_TRI_MASK                  0x10000000U

/*
* Master Tri-state Enable for pin 61, active high
*/
#undef IOU_SLCR_MIO_MST_TRI1_PIN_61_TRI_DEFVAL 
#undef IOU_SLCR_MIO_MST_TRI1_PIN_61_TRI_SHIFT 
#undef IOU_SLCR_MIO_MST_TRI1_PIN_61_TRI_MASK 
#define IOU_SLCR_MIO_MST_TRI1_PIN_61_TRI_DEFVAL                0xFFFFFFFF
#define IOU_SLCR_MIO_MST_TRI1_PIN_61_TRI_SHIFT                 29
#define IOU_SLCR_MIO_MST_TRI1_PIN_61_TRI_MASK                  0x20000000U

/*
* Master Tri-state Enable for pin 62, active high
*/
#undef IOU_SLCR_MIO_MST_TRI1_PIN_62_TRI_DEFVAL 
#undef IOU_SLCR_MIO_MST_TRI1_PIN_62_TRI_SHIFT 
#undef IOU_SLCR_MIO_MST_TRI1_PIN_62_TRI_MASK 
#define IOU_SLCR_MIO_MST_TRI1_PIN_62_TRI_DEFVAL                0xFFFFFFFF
#define IOU_SLCR_MIO_MST_TRI1_PIN_62_TRI_SHIFT                 30
#define IOU_SLCR_MIO_MST_TRI1_PIN_62_TRI_MASK                  0x40000000U

/*
* Master Tri-state Enable for pin 63, active high
*/
#undef IOU_SLCR_MIO_MST_TRI1_PIN_63_TRI_DEFVAL 
#undef IOU_SLCR_MIO_MST_TRI1_PIN_63_TRI_SHIFT 
#undef IOU_SLCR_MIO_MST_TRI1_PIN_63_TRI_MASK 
#define IOU_SLCR_MIO_MST_TRI1_PIN_63_TRI_DEFVAL                0xFFFFFFFF
#define IOU_SLCR_MIO_MST_TRI1_PIN_63_TRI_SHIFT                 31
#define IOU_SLCR_MIO_MST_TRI1_PIN_63_TRI_MASK                  0x80000000U

/*
* Master Tri-state Enable for pin 64, active high
*/
#undef IOU_SLCR_MIO_MST_TRI2_PIN_64_TRI_DEFVAL 
#undef IOU_SLCR_MIO_MST_TRI2_PIN_64_TRI_SHIFT 
#undef IOU_SLCR_MIO_MST_TRI2_PIN_64_TRI_MASK 
#define IOU_SLCR_MIO_MST_TRI2_PIN_64_TRI_DEFVAL                0x00003FFF
#define IOU_SLCR_MIO_MST_TRI2_PIN_64_TRI_SHIFT                 0
#define IOU_SLCR_MIO_MST_TRI2_PIN_64_TRI_MASK                  0x00000001U

/*
* Master Tri-state Enable for pin 65, active high
*/
#undef IOU_SLCR_MIO_MST_TRI2_PIN_65_TRI_DEFVAL 
#undef IOU_SLCR_MIO_MST_TRI2_PIN_65_TRI_SHIFT 
#undef IOU_SLCR_MIO_MST_TRI2_PIN_65_TRI_MASK 
#define IOU_SLCR_MIO_MST_TRI2_PIN_65_TRI_DEFVAL                0x00003FFF
#define IOU_SLCR_MIO_MST_TRI2_PIN_65_TRI_SHIFT                 1
#define IOU_SLCR_MIO_MST_TRI2_PIN_65_TRI_MASK                  0x00000002U

/*
* Master Tri-state Enable for pin 66, active high
*/
#undef IOU_SLCR_MIO_MST_TRI2_PIN_66_TRI_DEFVAL 
#undef IOU_SLCR_MIO_MST_TRI2_PIN_66_TRI_SHIFT 
#undef IOU_SLCR_MIO_MST_TRI2_PIN_66_TRI_MASK 
#define IOU_SLCR_MIO_MST_TRI2_PIN_66_TRI_DEFVAL                0x00003FFF
#define IOU_SLCR_MIO_MST_TRI2_PIN_66_TRI_SHIFT                 2
#define IOU_SLCR_MIO_MST_TRI2_PIN_66_TRI_MASK                  0x00000004U

/*
* Master Tri-state Enable for pin 67, active high
*/
#undef IOU_SLCR_MIO_MST_TRI2_PIN_67_TRI_DEFVAL 
#undef IOU_SLCR_MIO_MST_TRI2_PIN_67_TRI_SHIFT 
#undef IOU_SLCR_MIO_MST_TRI2_PIN_67_TRI_MASK 
#define IOU_SLCR_MIO_MST_TRI2_PIN_67_TRI_DEFVAL                0x00003FFF
#define IOU_SLCR_MIO_MST_TRI2_PIN_67_TRI_SHIFT                 3
#define IOU_SLCR_MIO_MST_TRI2_PIN_67_TRI_MASK                  0x00000008U

/*
* Master Tri-state Enable for pin 68, active high
*/
#undef IOU_SLCR_MIO_MST_TRI2_PIN_68_TRI_DEFVAL 
#undef IOU_SLCR_MIO_MST_TRI2_PIN_68_TRI_SHIFT 
#undef IOU_SLCR_MIO_MST_TRI2_PIN_68_TRI_MASK 
#define IOU_SLCR_MIO_MST_TRI2_PIN_68_TRI_DEFVAL                0x00003FFF
#define IOU_SLCR_MIO_MST_TRI2_PIN_68_TRI_SHIFT                 4
#define IOU_SLCR_MIO_MST_TRI2_PIN_68_TRI_MASK                  0x00000010U

/*
* Master Tri-state Enable for pin 69, active high
*/
#undef IOU_SLCR_MIO_MST_TRI2_PIN_69_TRI_DEFVAL 
#undef IOU_SLCR_MIO_MST_TRI2_PIN_69_TRI_SHIFT 
#undef IOU_SLCR_MIO_MST_TRI2_PIN_69_TRI_MASK 
#define IOU_SLCR_MIO_MST_TRI2_PIN_69_TRI_DEFVAL                0x00003FFF
#define IOU_SLCR_MIO_MST_TRI2_PIN_69_TRI_SHIFT                 5
#define IOU_SLCR_MIO_MST_TRI2_PIN_69_TRI_MASK                  0x00000020U

/*
* Master Tri-state Enable for pin 70, active high
*/
#undef IOU_SLCR_MIO_MST_TRI2_PIN_70_TRI_DEFVAL 
#undef IOU_SLCR_MIO_MST_TRI2_PIN_70_TRI_SHIFT 
#undef IOU_SLCR_MIO_MST_TRI2_PIN_70_TRI_MASK 
#define IOU_SLCR_MIO_MST_TRI2_PIN_70_TRI_DEFVAL                0x00003FFF
#define IOU_SLCR_MIO_MST_TRI2_PIN_70_TRI_SHIFT                 6
#define IOU_SLCR_MIO_MST_TRI2_PIN_70_TRI_MASK                  0x00000040U

/*
* Master Tri-state Enable for pin 71, active high
*/
#undef IOU_SLCR_MIO_MST_TRI2_PIN_71_TRI_DEFVAL 
#undef IOU_SLCR_MIO_MST_TRI2_PIN_71_TRI_SHIFT 
#undef IOU_SLCR_MIO_MST_TRI2_PIN_71_TRI_MASK 
#define IOU_SLCR_MIO_MST_TRI2_PIN_71_TRI_DEFVAL                0x00003FFF
#define IOU_SLCR_MIO_MST_TRI2_PIN_71_TRI_SHIFT                 7
#define IOU_SLCR_MIO_MST_TRI2_PIN_71_TRI_MASK                  0x00000080U

/*
* Master Tri-state Enable for pin 72, active high
*/
#undef IOU_SLCR_MIO_MST_TRI2_PIN_72_TRI_DEFVAL 
#undef IOU_SLCR_MIO_MST_TRI2_PIN_72_TRI_SHIFT 
#undef IOU_SLCR_MIO_MST_TRI2_PIN_72_TRI_MASK 
#define IOU_SLCR_MIO_MST_TRI2_PIN_72_TRI_DEFVAL                0x00003FFF
#define IOU_SLCR_MIO_MST_TRI2_PIN_72_TRI_SHIFT                 8
#define IOU_SLCR_MIO_MST_TRI2_PIN_72_TRI_MASK                  0x00000100U

/*
* Master Tri-state Enable for pin 73, active high
*/
#undef IOU_SLCR_MIO_MST_TRI2_PIN_73_TRI_DEFVAL 
#undef IOU_SLCR_MIO_MST_TRI2_PIN_73_TRI_SHIFT 
#undef IOU_SLCR_MIO_MST_TRI2_PIN_73_TRI_MASK 
#define IOU_SLCR_MIO_MST_TRI2_PIN_73_TRI_DEFVAL                0x00003FFF
#define IOU_SLCR_MIO_MST_TRI2_PIN_73_TRI_SHIFT                 9
#define IOU_SLCR_MIO_MST_TRI2_PIN_73_TRI_MASK                  0x00000200U

/*
* Master Tri-state Enable for pin 74, active high
*/
#undef IOU_SLCR_MIO_MST_TRI2_PIN_74_TRI_DEFVAL 
#undef IOU_SLCR_MIO_MST_TRI2_PIN_74_TRI_SHIFT 
#undef IOU_SLCR_MIO_MST_TRI2_PIN_74_TRI_MASK 
#define IOU_SLCR_MIO_MST_TRI2_PIN_74_TRI_DEFVAL                0x00003FFF
#define IOU_SLCR_MIO_MST_TRI2_PIN_74_TRI_SHIFT                 10
#define IOU_SLCR_MIO_MST_TRI2_PIN_74_TRI_MASK                  0x00000400U

/*
* Master Tri-state Enable for pin 75, active high
*/
#undef IOU_SLCR_MIO_MST_TRI2_PIN_75_TRI_DEFVAL 
#undef IOU_SLCR_MIO_MST_TRI2_PIN_75_TRI_SHIFT 
#undef IOU_SLCR_MIO_MST_TRI2_PIN_75_TRI_MASK 
#define IOU_SLCR_MIO_MST_TRI2_PIN_75_TRI_DEFVAL                0x00003FFF
#define IOU_SLCR_MIO_MST_TRI2_PIN_75_TRI_SHIFT                 11
#define IOU_SLCR_MIO_MST_TRI2_PIN_75_TRI_MASK                  0x00000800U

/*
* Master Tri-state Enable for pin 76, active high
*/
#undef IOU_SLCR_MIO_MST_TRI2_PIN_76_TRI_DEFVAL 
#undef IOU_SLCR_MIO_MST_TRI2_PIN_76_TRI_SHIFT 
#undef IOU_SLCR_MIO_MST_TRI2_PIN_76_TRI_MASK 
#define IOU_SLCR_MIO_MST_TRI2_PIN_76_TRI_DEFVAL                0x00003FFF
#define IOU_SLCR_MIO_MST_TRI2_PIN_76_TRI_SHIFT                 12
#define IOU_SLCR_MIO_MST_TRI2_PIN_76_TRI_MASK                  0x00001000U

/*
* Master Tri-state Enable for pin 77, active high
*/
#undef IOU_SLCR_MIO_MST_TRI2_PIN_77_TRI_DEFVAL 
#undef IOU_SLCR_MIO_MST_TRI2_PIN_77_TRI_SHIFT 
#undef IOU_SLCR_MIO_MST_TRI2_PIN_77_TRI_MASK 
#define IOU_SLCR_MIO_MST_TRI2_PIN_77_TRI_DEFVAL                0x00003FFF
#define IOU_SLCR_MIO_MST_TRI2_PIN_77_TRI_SHIFT                 13
#define IOU_SLCR_MIO_MST_TRI2_PIN_77_TRI_MASK                  0x00002000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_0_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_0_SHIFT 
#undef IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_0_MASK 
#define IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_0_DEFVAL               
#define IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_0_SHIFT                0
#define IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_0_MASK                 0x00000001U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_1_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_1_SHIFT 
#undef IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_1_MASK 
#define IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_1_DEFVAL               
#define IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_1_SHIFT                1
#define IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_1_MASK                 0x00000002U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_2_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_2_SHIFT 
#undef IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_2_MASK 
#define IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_2_DEFVAL               
#define IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_2_SHIFT                2
#define IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_2_MASK                 0x00000004U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_3_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_3_SHIFT 
#undef IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_3_MASK 
#define IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_3_DEFVAL               
#define IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_3_SHIFT                3
#define IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_3_MASK                 0x00000008U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_4_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_4_SHIFT 
#undef IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_4_MASK 
#define IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_4_DEFVAL               
#define IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_4_SHIFT                4
#define IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_4_MASK                 0x00000010U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_5_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_5_SHIFT 
#undef IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_5_MASK 
#define IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_5_DEFVAL               
#define IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_5_SHIFT                5
#define IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_5_MASK                 0x00000020U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_6_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_6_SHIFT 
#undef IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_6_MASK 
#define IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_6_DEFVAL               
#define IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_6_SHIFT                6
#define IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_6_MASK                 0x00000040U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_7_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_7_SHIFT 
#undef IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_7_MASK 
#define IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_7_DEFVAL               
#define IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_7_SHIFT                7
#define IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_7_MASK                 0x00000080U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_8_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_8_SHIFT 
#undef IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_8_MASK 
#define IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_8_DEFVAL               
#define IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_8_SHIFT                8
#define IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_8_MASK                 0x00000100U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_9_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_9_SHIFT 
#undef IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_9_MASK 
#define IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_9_DEFVAL               
#define IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_9_SHIFT                9
#define IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_9_MASK                 0x00000200U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_10_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_10_SHIFT 
#undef IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_10_MASK 
#define IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_10_DEFVAL              
#define IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_10_SHIFT               10
#define IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_10_MASK                0x00000400U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_11_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_11_SHIFT 
#undef IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_11_MASK 
#define IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_11_DEFVAL              
#define IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_11_SHIFT               11
#define IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_11_MASK                0x00000800U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_12_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_12_SHIFT 
#undef IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_12_MASK 
#define IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_12_DEFVAL              
#define IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_12_SHIFT               12
#define IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_12_MASK                0x00001000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_13_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_13_SHIFT 
#undef IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_13_MASK 
#define IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_13_DEFVAL              
#define IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_13_SHIFT               13
#define IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_13_MASK                0x00002000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_14_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_14_SHIFT 
#undef IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_14_MASK 
#define IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_14_DEFVAL              
#define IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_14_SHIFT               14
#define IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_14_MASK                0x00004000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_15_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_15_SHIFT 
#undef IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_15_MASK 
#define IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_15_DEFVAL              
#define IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_15_SHIFT               15
#define IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_15_MASK                0x00008000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_16_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_16_SHIFT 
#undef IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_16_MASK 
#define IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_16_DEFVAL              
#define IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_16_SHIFT               16
#define IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_16_MASK                0x00010000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_17_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_17_SHIFT 
#undef IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_17_MASK 
#define IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_17_DEFVAL              
#define IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_17_SHIFT               17
#define IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_17_MASK                0x00020000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_18_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_18_SHIFT 
#undef IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_18_MASK 
#define IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_18_DEFVAL              
#define IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_18_SHIFT               18
#define IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_18_MASK                0x00040000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_19_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_19_SHIFT 
#undef IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_19_MASK 
#define IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_19_DEFVAL              
#define IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_19_SHIFT               19
#define IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_19_MASK                0x00080000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_20_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_20_SHIFT 
#undef IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_20_MASK 
#define IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_20_DEFVAL              
#define IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_20_SHIFT               20
#define IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_20_MASK                0x00100000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_21_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_21_SHIFT 
#undef IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_21_MASK 
#define IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_21_DEFVAL              
#define IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_21_SHIFT               21
#define IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_21_MASK                0x00200000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_22_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_22_SHIFT 
#undef IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_22_MASK 
#define IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_22_DEFVAL              
#define IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_22_SHIFT               22
#define IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_22_MASK                0x00400000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_23_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_23_SHIFT 
#undef IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_23_MASK 
#define IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_23_DEFVAL              
#define IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_23_SHIFT               23
#define IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_23_MASK                0x00800000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_24_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_24_SHIFT 
#undef IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_24_MASK 
#define IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_24_DEFVAL              
#define IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_24_SHIFT               24
#define IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_24_MASK                0x01000000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_25_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_25_SHIFT 
#undef IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_25_MASK 
#define IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_25_DEFVAL              
#define IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_25_SHIFT               25
#define IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_25_MASK                0x02000000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_0_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_0_SHIFT 
#undef IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_0_MASK 
#define IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_0_DEFVAL               
#define IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_0_SHIFT                0
#define IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_0_MASK                 0x00000001U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_1_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_1_SHIFT 
#undef IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_1_MASK 
#define IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_1_DEFVAL               
#define IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_1_SHIFT                1
#define IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_1_MASK                 0x00000002U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_2_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_2_SHIFT 
#undef IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_2_MASK 
#define IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_2_DEFVAL               
#define IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_2_SHIFT                2
#define IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_2_MASK                 0x00000004U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_3_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_3_SHIFT 
#undef IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_3_MASK 
#define IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_3_DEFVAL               
#define IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_3_SHIFT                3
#define IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_3_MASK                 0x00000008U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_4_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_4_SHIFT 
#undef IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_4_MASK 
#define IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_4_DEFVAL               
#define IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_4_SHIFT                4
#define IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_4_MASK                 0x00000010U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_5_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_5_SHIFT 
#undef IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_5_MASK 
#define IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_5_DEFVAL               
#define IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_5_SHIFT                5
#define IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_5_MASK                 0x00000020U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_6_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_6_SHIFT 
#undef IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_6_MASK 
#define IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_6_DEFVAL               
#define IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_6_SHIFT                6
#define IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_6_MASK                 0x00000040U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_7_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_7_SHIFT 
#undef IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_7_MASK 
#define IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_7_DEFVAL               
#define IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_7_SHIFT                7
#define IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_7_MASK                 0x00000080U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_8_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_8_SHIFT 
#undef IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_8_MASK 
#define IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_8_DEFVAL               
#define IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_8_SHIFT                8
#define IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_8_MASK                 0x00000100U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_9_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_9_SHIFT 
#undef IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_9_MASK 
#define IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_9_DEFVAL               
#define IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_9_SHIFT                9
#define IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_9_MASK                 0x00000200U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_10_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_10_SHIFT 
#undef IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_10_MASK 
#define IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_10_DEFVAL              
#define IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_10_SHIFT               10
#define IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_10_MASK                0x00000400U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_11_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_11_SHIFT 
#undef IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_11_MASK 
#define IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_11_DEFVAL              
#define IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_11_SHIFT               11
#define IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_11_MASK                0x00000800U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_12_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_12_SHIFT 
#undef IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_12_MASK 
#define IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_12_DEFVAL              
#define IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_12_SHIFT               12
#define IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_12_MASK                0x00001000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_13_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_13_SHIFT 
#undef IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_13_MASK 
#define IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_13_DEFVAL              
#define IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_13_SHIFT               13
#define IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_13_MASK                0x00002000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_14_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_14_SHIFT 
#undef IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_14_MASK 
#define IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_14_DEFVAL              
#define IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_14_SHIFT               14
#define IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_14_MASK                0x00004000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_15_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_15_SHIFT 
#undef IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_15_MASK 
#define IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_15_DEFVAL              
#define IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_15_SHIFT               15
#define IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_15_MASK                0x00008000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_16_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_16_SHIFT 
#undef IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_16_MASK 
#define IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_16_DEFVAL              
#define IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_16_SHIFT               16
#define IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_16_MASK                0x00010000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_17_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_17_SHIFT 
#undef IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_17_MASK 
#define IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_17_DEFVAL              
#define IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_17_SHIFT               17
#define IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_17_MASK                0x00020000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_18_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_18_SHIFT 
#undef IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_18_MASK 
#define IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_18_DEFVAL              
#define IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_18_SHIFT               18
#define IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_18_MASK                0x00040000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_19_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_19_SHIFT 
#undef IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_19_MASK 
#define IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_19_DEFVAL              
#define IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_19_SHIFT               19
#define IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_19_MASK                0x00080000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_20_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_20_SHIFT 
#undef IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_20_MASK 
#define IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_20_DEFVAL              
#define IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_20_SHIFT               20
#define IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_20_MASK                0x00100000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_21_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_21_SHIFT 
#undef IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_21_MASK 
#define IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_21_DEFVAL              
#define IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_21_SHIFT               21
#define IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_21_MASK                0x00200000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_22_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_22_SHIFT 
#undef IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_22_MASK 
#define IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_22_DEFVAL              
#define IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_22_SHIFT               22
#define IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_22_MASK                0x00400000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_23_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_23_SHIFT 
#undef IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_23_MASK 
#define IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_23_DEFVAL              
#define IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_23_SHIFT               23
#define IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_23_MASK                0x00800000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_24_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_24_SHIFT 
#undef IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_24_MASK 
#define IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_24_DEFVAL              
#define IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_24_SHIFT               24
#define IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_24_MASK                0x01000000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_25_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_25_SHIFT 
#undef IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_25_MASK 
#define IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_25_DEFVAL              
#define IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_25_SHIFT               25
#define IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_25_MASK                0x02000000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_0_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_0_SHIFT 
#undef IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_0_MASK 
#define IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_0_DEFVAL       
#define IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_0_SHIFT        0
#define IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_0_MASK         0x00000001U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_1_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_1_SHIFT 
#undef IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_1_MASK 
#define IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_1_DEFVAL       
#define IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_1_SHIFT        1
#define IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_1_MASK         0x00000002U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_2_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_2_SHIFT 
#undef IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_2_MASK 
#define IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_2_DEFVAL       
#define IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_2_SHIFT        2
#define IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_2_MASK         0x00000004U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_3_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_3_SHIFT 
#undef IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_3_MASK 
#define IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_3_DEFVAL       
#define IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_3_SHIFT        3
#define IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_3_MASK         0x00000008U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_4_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_4_SHIFT 
#undef IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_4_MASK 
#define IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_4_DEFVAL       
#define IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_4_SHIFT        4
#define IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_4_MASK         0x00000010U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_5_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_5_SHIFT 
#undef IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_5_MASK 
#define IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_5_DEFVAL       
#define IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_5_SHIFT        5
#define IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_5_MASK         0x00000020U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_6_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_6_SHIFT 
#undef IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_6_MASK 
#define IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_6_DEFVAL       
#define IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_6_SHIFT        6
#define IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_6_MASK         0x00000040U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_7_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_7_SHIFT 
#undef IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_7_MASK 
#define IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_7_DEFVAL       
#define IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_7_SHIFT        7
#define IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_7_MASK         0x00000080U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_8_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_8_SHIFT 
#undef IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_8_MASK 
#define IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_8_DEFVAL       
#define IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_8_SHIFT        8
#define IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_8_MASK         0x00000100U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_9_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_9_SHIFT 
#undef IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_9_MASK 
#define IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_9_DEFVAL       
#define IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_9_SHIFT        9
#define IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_9_MASK         0x00000200U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_10_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_10_SHIFT 
#undef IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_10_MASK 
#define IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_10_DEFVAL      
#define IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_10_SHIFT       10
#define IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_10_MASK        0x00000400U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_11_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_11_SHIFT 
#undef IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_11_MASK 
#define IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_11_DEFVAL      
#define IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_11_SHIFT       11
#define IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_11_MASK        0x00000800U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_12_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_12_SHIFT 
#undef IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_12_MASK 
#define IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_12_DEFVAL      
#define IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_12_SHIFT       12
#define IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_12_MASK        0x00001000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_13_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_13_SHIFT 
#undef IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_13_MASK 
#define IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_13_DEFVAL      
#define IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_13_SHIFT       13
#define IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_13_MASK        0x00002000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_14_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_14_SHIFT 
#undef IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_14_MASK 
#define IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_14_DEFVAL      
#define IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_14_SHIFT       14
#define IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_14_MASK        0x00004000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_15_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_15_SHIFT 
#undef IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_15_MASK 
#define IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_15_DEFVAL      
#define IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_15_SHIFT       15
#define IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_15_MASK        0x00008000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_16_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_16_SHIFT 
#undef IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_16_MASK 
#define IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_16_DEFVAL      
#define IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_16_SHIFT       16
#define IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_16_MASK        0x00010000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_17_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_17_SHIFT 
#undef IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_17_MASK 
#define IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_17_DEFVAL      
#define IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_17_SHIFT       17
#define IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_17_MASK        0x00020000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_18_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_18_SHIFT 
#undef IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_18_MASK 
#define IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_18_DEFVAL      
#define IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_18_SHIFT       18
#define IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_18_MASK        0x00040000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_19_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_19_SHIFT 
#undef IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_19_MASK 
#define IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_19_DEFVAL      
#define IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_19_SHIFT       19
#define IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_19_MASK        0x00080000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_20_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_20_SHIFT 
#undef IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_20_MASK 
#define IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_20_DEFVAL      
#define IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_20_SHIFT       20
#define IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_20_MASK        0x00100000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_21_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_21_SHIFT 
#undef IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_21_MASK 
#define IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_21_DEFVAL      
#define IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_21_SHIFT       21
#define IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_21_MASK        0x00200000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_22_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_22_SHIFT 
#undef IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_22_MASK 
#define IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_22_DEFVAL      
#define IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_22_SHIFT       22
#define IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_22_MASK        0x00400000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_23_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_23_SHIFT 
#undef IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_23_MASK 
#define IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_23_DEFVAL      
#define IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_23_SHIFT       23
#define IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_23_MASK        0x00800000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_24_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_24_SHIFT 
#undef IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_24_MASK 
#define IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_24_DEFVAL      
#define IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_24_SHIFT       24
#define IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_24_MASK        0x01000000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_25_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_25_SHIFT 
#undef IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_25_MASK 
#define IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_25_DEFVAL      
#define IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_25_SHIFT       25
#define IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_25_MASK        0x02000000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_0_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_0_SHIFT 
#undef IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_0_MASK 
#define IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_0_DEFVAL      
#define IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_0_SHIFT       0
#define IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_0_MASK        0x00000001U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_1_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_1_SHIFT 
#undef IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_1_MASK 
#define IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_1_DEFVAL      
#define IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_1_SHIFT       1
#define IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_1_MASK        0x00000002U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_2_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_2_SHIFT 
#undef IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_2_MASK 
#define IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_2_DEFVAL      
#define IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_2_SHIFT       2
#define IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_2_MASK        0x00000004U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_3_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_3_SHIFT 
#undef IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_3_MASK 
#define IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_3_DEFVAL      
#define IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_3_SHIFT       3
#define IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_3_MASK        0x00000008U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_4_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_4_SHIFT 
#undef IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_4_MASK 
#define IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_4_DEFVAL      
#define IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_4_SHIFT       4
#define IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_4_MASK        0x00000010U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_5_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_5_SHIFT 
#undef IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_5_MASK 
#define IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_5_DEFVAL      
#define IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_5_SHIFT       5
#define IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_5_MASK        0x00000020U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_6_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_6_SHIFT 
#undef IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_6_MASK 
#define IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_6_DEFVAL      
#define IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_6_SHIFT       6
#define IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_6_MASK        0x00000040U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_7_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_7_SHIFT 
#undef IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_7_MASK 
#define IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_7_DEFVAL      
#define IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_7_SHIFT       7
#define IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_7_MASK        0x00000080U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_8_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_8_SHIFT 
#undef IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_8_MASK 
#define IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_8_DEFVAL      
#define IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_8_SHIFT       8
#define IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_8_MASK        0x00000100U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_9_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_9_SHIFT 
#undef IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_9_MASK 
#define IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_9_DEFVAL      
#define IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_9_SHIFT       9
#define IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_9_MASK        0x00000200U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_10_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_10_SHIFT 
#undef IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_10_MASK 
#define IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_10_DEFVAL     
#define IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_10_SHIFT      10
#define IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_10_MASK       0x00000400U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_11_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_11_SHIFT 
#undef IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_11_MASK 
#define IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_11_DEFVAL     
#define IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_11_SHIFT      11
#define IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_11_MASK       0x00000800U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_12_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_12_SHIFT 
#undef IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_12_MASK 
#define IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_12_DEFVAL     
#define IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_12_SHIFT      12
#define IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_12_MASK       0x00001000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_13_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_13_SHIFT 
#undef IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_13_MASK 
#define IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_13_DEFVAL     
#define IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_13_SHIFT      13
#define IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_13_MASK       0x00002000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_14_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_14_SHIFT 
#undef IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_14_MASK 
#define IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_14_DEFVAL     
#define IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_14_SHIFT      14
#define IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_14_MASK       0x00004000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_15_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_15_SHIFT 
#undef IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_15_MASK 
#define IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_15_DEFVAL     
#define IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_15_SHIFT      15
#define IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_15_MASK       0x00008000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_16_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_16_SHIFT 
#undef IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_16_MASK 
#define IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_16_DEFVAL     
#define IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_16_SHIFT      16
#define IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_16_MASK       0x00010000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_17_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_17_SHIFT 
#undef IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_17_MASK 
#define IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_17_DEFVAL     
#define IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_17_SHIFT      17
#define IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_17_MASK       0x00020000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_18_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_18_SHIFT 
#undef IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_18_MASK 
#define IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_18_DEFVAL     
#define IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_18_SHIFT      18
#define IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_18_MASK       0x00040000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_19_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_19_SHIFT 
#undef IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_19_MASK 
#define IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_19_DEFVAL     
#define IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_19_SHIFT      19
#define IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_19_MASK       0x00080000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_20_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_20_SHIFT 
#undef IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_20_MASK 
#define IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_20_DEFVAL     
#define IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_20_SHIFT      20
#define IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_20_MASK       0x00100000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_21_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_21_SHIFT 
#undef IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_21_MASK 
#define IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_21_DEFVAL     
#define IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_21_SHIFT      21
#define IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_21_MASK       0x00200000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_22_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_22_SHIFT 
#undef IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_22_MASK 
#define IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_22_DEFVAL     
#define IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_22_SHIFT      22
#define IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_22_MASK       0x00400000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_23_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_23_SHIFT 
#undef IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_23_MASK 
#define IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_23_DEFVAL     
#define IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_23_SHIFT      23
#define IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_23_MASK       0x00800000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_24_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_24_SHIFT 
#undef IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_24_MASK 
#define IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_24_DEFVAL     
#define IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_24_SHIFT      24
#define IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_24_MASK       0x01000000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_25_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_25_SHIFT 
#undef IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_25_MASK 
#define IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_25_DEFVAL     
#define IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_25_SHIFT      25
#define IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_25_MASK       0x02000000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_0_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_0_SHIFT 
#undef IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_0_MASK 
#define IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_0_DEFVAL          
#define IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_0_SHIFT           0
#define IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_0_MASK            0x00000001U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_1_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_1_SHIFT 
#undef IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_1_MASK 
#define IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_1_DEFVAL          
#define IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_1_SHIFT           1
#define IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_1_MASK            0x00000002U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_2_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_2_SHIFT 
#undef IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_2_MASK 
#define IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_2_DEFVAL          
#define IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_2_SHIFT           2
#define IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_2_MASK            0x00000004U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_3_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_3_SHIFT 
#undef IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_3_MASK 
#define IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_3_DEFVAL          
#define IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_3_SHIFT           3
#define IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_3_MASK            0x00000008U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_4_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_4_SHIFT 
#undef IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_4_MASK 
#define IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_4_DEFVAL          
#define IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_4_SHIFT           4
#define IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_4_MASK            0x00000010U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_5_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_5_SHIFT 
#undef IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_5_MASK 
#define IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_5_DEFVAL          
#define IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_5_SHIFT           5
#define IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_5_MASK            0x00000020U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_6_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_6_SHIFT 
#undef IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_6_MASK 
#define IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_6_DEFVAL          
#define IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_6_SHIFT           6
#define IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_6_MASK            0x00000040U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_7_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_7_SHIFT 
#undef IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_7_MASK 
#define IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_7_DEFVAL          
#define IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_7_SHIFT           7
#define IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_7_MASK            0x00000080U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_8_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_8_SHIFT 
#undef IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_8_MASK 
#define IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_8_DEFVAL          
#define IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_8_SHIFT           8
#define IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_8_MASK            0x00000100U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_9_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_9_SHIFT 
#undef IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_9_MASK 
#define IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_9_DEFVAL          
#define IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_9_SHIFT           9
#define IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_9_MASK            0x00000200U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_10_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_10_SHIFT 
#undef IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_10_MASK 
#define IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_10_DEFVAL         
#define IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_10_SHIFT          10
#define IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_10_MASK           0x00000400U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_11_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_11_SHIFT 
#undef IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_11_MASK 
#define IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_11_DEFVAL         
#define IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_11_SHIFT          11
#define IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_11_MASK           0x00000800U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_12_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_12_SHIFT 
#undef IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_12_MASK 
#define IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_12_DEFVAL         
#define IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_12_SHIFT          12
#define IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_12_MASK           0x00001000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_13_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_13_SHIFT 
#undef IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_13_MASK 
#define IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_13_DEFVAL         
#define IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_13_SHIFT          13
#define IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_13_MASK           0x00002000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_14_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_14_SHIFT 
#undef IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_14_MASK 
#define IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_14_DEFVAL         
#define IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_14_SHIFT          14
#define IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_14_MASK           0x00004000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_15_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_15_SHIFT 
#undef IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_15_MASK 
#define IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_15_DEFVAL         
#define IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_15_SHIFT          15
#define IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_15_MASK           0x00008000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_16_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_16_SHIFT 
#undef IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_16_MASK 
#define IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_16_DEFVAL         
#define IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_16_SHIFT          16
#define IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_16_MASK           0x00010000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_17_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_17_SHIFT 
#undef IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_17_MASK 
#define IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_17_DEFVAL         
#define IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_17_SHIFT          17
#define IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_17_MASK           0x00020000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_18_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_18_SHIFT 
#undef IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_18_MASK 
#define IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_18_DEFVAL         
#define IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_18_SHIFT          18
#define IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_18_MASK           0x00040000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_19_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_19_SHIFT 
#undef IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_19_MASK 
#define IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_19_DEFVAL         
#define IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_19_SHIFT          19
#define IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_19_MASK           0x00080000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_20_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_20_SHIFT 
#undef IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_20_MASK 
#define IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_20_DEFVAL         
#define IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_20_SHIFT          20
#define IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_20_MASK           0x00100000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_21_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_21_SHIFT 
#undef IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_21_MASK 
#define IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_21_DEFVAL         
#define IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_21_SHIFT          21
#define IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_21_MASK           0x00200000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_22_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_22_SHIFT 
#undef IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_22_MASK 
#define IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_22_DEFVAL         
#define IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_22_SHIFT          22
#define IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_22_MASK           0x00400000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_23_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_23_SHIFT 
#undef IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_23_MASK 
#define IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_23_DEFVAL         
#define IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_23_SHIFT          23
#define IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_23_MASK           0x00800000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_24_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_24_SHIFT 
#undef IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_24_MASK 
#define IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_24_DEFVAL         
#define IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_24_SHIFT          24
#define IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_24_MASK           0x01000000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_25_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_25_SHIFT 
#undef IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_25_MASK 
#define IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_25_DEFVAL         
#define IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_25_SHIFT          25
#define IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_25_MASK           0x02000000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_0_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_0_SHIFT 
#undef IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_0_MASK 
#define IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_0_DEFVAL     
#define IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_0_SHIFT      0
#define IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_0_MASK       0x00000001U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_1_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_1_SHIFT 
#undef IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_1_MASK 
#define IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_1_DEFVAL     
#define IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_1_SHIFT      1
#define IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_1_MASK       0x00000002U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_2_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_2_SHIFT 
#undef IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_2_MASK 
#define IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_2_DEFVAL     
#define IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_2_SHIFT      2
#define IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_2_MASK       0x00000004U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_3_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_3_SHIFT 
#undef IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_3_MASK 
#define IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_3_DEFVAL     
#define IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_3_SHIFT      3
#define IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_3_MASK       0x00000008U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_4_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_4_SHIFT 
#undef IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_4_MASK 
#define IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_4_DEFVAL     
#define IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_4_SHIFT      4
#define IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_4_MASK       0x00000010U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_5_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_5_SHIFT 
#undef IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_5_MASK 
#define IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_5_DEFVAL     
#define IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_5_SHIFT      5
#define IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_5_MASK       0x00000020U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_6_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_6_SHIFT 
#undef IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_6_MASK 
#define IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_6_DEFVAL     
#define IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_6_SHIFT      6
#define IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_6_MASK       0x00000040U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_7_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_7_SHIFT 
#undef IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_7_MASK 
#define IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_7_DEFVAL     
#define IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_7_SHIFT      7
#define IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_7_MASK       0x00000080U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_8_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_8_SHIFT 
#undef IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_8_MASK 
#define IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_8_DEFVAL     
#define IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_8_SHIFT      8
#define IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_8_MASK       0x00000100U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_9_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_9_SHIFT 
#undef IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_9_MASK 
#define IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_9_DEFVAL     
#define IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_9_SHIFT      9
#define IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_9_MASK       0x00000200U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_10_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_10_SHIFT 
#undef IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_10_MASK 
#define IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_10_DEFVAL    
#define IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_10_SHIFT     10
#define IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_10_MASK      0x00000400U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_11_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_11_SHIFT 
#undef IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_11_MASK 
#define IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_11_DEFVAL    
#define IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_11_SHIFT     11
#define IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_11_MASK      0x00000800U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_12_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_12_SHIFT 
#undef IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_12_MASK 
#define IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_12_DEFVAL    
#define IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_12_SHIFT     12
#define IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_12_MASK      0x00001000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_13_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_13_SHIFT 
#undef IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_13_MASK 
#define IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_13_DEFVAL    
#define IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_13_SHIFT     13
#define IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_13_MASK      0x00002000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_14_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_14_SHIFT 
#undef IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_14_MASK 
#define IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_14_DEFVAL    
#define IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_14_SHIFT     14
#define IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_14_MASK      0x00004000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_15_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_15_SHIFT 
#undef IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_15_MASK 
#define IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_15_DEFVAL    
#define IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_15_SHIFT     15
#define IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_15_MASK      0x00008000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_16_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_16_SHIFT 
#undef IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_16_MASK 
#define IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_16_DEFVAL    
#define IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_16_SHIFT     16
#define IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_16_MASK      0x00010000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_17_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_17_SHIFT 
#undef IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_17_MASK 
#define IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_17_DEFVAL    
#define IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_17_SHIFT     17
#define IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_17_MASK      0x00020000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_18_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_18_SHIFT 
#undef IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_18_MASK 
#define IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_18_DEFVAL    
#define IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_18_SHIFT     18
#define IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_18_MASK      0x00040000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_19_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_19_SHIFT 
#undef IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_19_MASK 
#define IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_19_DEFVAL    
#define IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_19_SHIFT     19
#define IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_19_MASK      0x00080000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_20_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_20_SHIFT 
#undef IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_20_MASK 
#define IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_20_DEFVAL    
#define IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_20_SHIFT     20
#define IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_20_MASK      0x00100000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_21_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_21_SHIFT 
#undef IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_21_MASK 
#define IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_21_DEFVAL    
#define IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_21_SHIFT     21
#define IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_21_MASK      0x00200000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_22_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_22_SHIFT 
#undef IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_22_MASK 
#define IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_22_DEFVAL    
#define IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_22_SHIFT     22
#define IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_22_MASK      0x00400000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_23_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_23_SHIFT 
#undef IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_23_MASK 
#define IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_23_DEFVAL    
#define IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_23_SHIFT     23
#define IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_23_MASK      0x00800000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_24_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_24_SHIFT 
#undef IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_24_MASK 
#define IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_24_DEFVAL    
#define IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_24_SHIFT     24
#define IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_24_MASK      0x01000000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[0].
*/
#undef IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_25_DEFVAL 
#undef IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_25_SHIFT 
#undef IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_25_MASK 
#define IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_25_DEFVAL    
#define IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_25_SHIFT     25
#define IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_25_MASK      0x02000000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_0_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_0_SHIFT 
#undef IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_0_MASK 
#define IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_0_DEFVAL               
#define IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_0_SHIFT                0
#define IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_0_MASK                 0x00000001U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_1_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_1_SHIFT 
#undef IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_1_MASK 
#define IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_1_DEFVAL               
#define IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_1_SHIFT                1
#define IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_1_MASK                 0x00000002U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_2_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_2_SHIFT 
#undef IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_2_MASK 
#define IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_2_DEFVAL               
#define IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_2_SHIFT                2
#define IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_2_MASK                 0x00000004U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_3_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_3_SHIFT 
#undef IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_3_MASK 
#define IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_3_DEFVAL               
#define IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_3_SHIFT                3
#define IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_3_MASK                 0x00000008U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_4_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_4_SHIFT 
#undef IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_4_MASK 
#define IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_4_DEFVAL               
#define IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_4_SHIFT                4
#define IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_4_MASK                 0x00000010U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_5_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_5_SHIFT 
#undef IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_5_MASK 
#define IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_5_DEFVAL               
#define IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_5_SHIFT                5
#define IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_5_MASK                 0x00000020U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_6_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_6_SHIFT 
#undef IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_6_MASK 
#define IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_6_DEFVAL               
#define IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_6_SHIFT                6
#define IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_6_MASK                 0x00000040U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_7_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_7_SHIFT 
#undef IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_7_MASK 
#define IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_7_DEFVAL               
#define IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_7_SHIFT                7
#define IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_7_MASK                 0x00000080U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_8_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_8_SHIFT 
#undef IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_8_MASK 
#define IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_8_DEFVAL               
#define IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_8_SHIFT                8
#define IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_8_MASK                 0x00000100U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_9_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_9_SHIFT 
#undef IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_9_MASK 
#define IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_9_DEFVAL               
#define IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_9_SHIFT                9
#define IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_9_MASK                 0x00000200U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_10_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_10_SHIFT 
#undef IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_10_MASK 
#define IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_10_DEFVAL              
#define IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_10_SHIFT               10
#define IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_10_MASK                0x00000400U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_11_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_11_SHIFT 
#undef IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_11_MASK 
#define IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_11_DEFVAL              
#define IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_11_SHIFT               11
#define IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_11_MASK                0x00000800U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_12_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_12_SHIFT 
#undef IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_12_MASK 
#define IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_12_DEFVAL              
#define IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_12_SHIFT               12
#define IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_12_MASK                0x00001000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_13_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_13_SHIFT 
#undef IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_13_MASK 
#define IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_13_DEFVAL              
#define IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_13_SHIFT               13
#define IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_13_MASK                0x00002000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_14_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_14_SHIFT 
#undef IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_14_MASK 
#define IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_14_DEFVAL              
#define IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_14_SHIFT               14
#define IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_14_MASK                0x00004000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_15_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_15_SHIFT 
#undef IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_15_MASK 
#define IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_15_DEFVAL              
#define IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_15_SHIFT               15
#define IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_15_MASK                0x00008000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_16_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_16_SHIFT 
#undef IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_16_MASK 
#define IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_16_DEFVAL              
#define IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_16_SHIFT               16
#define IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_16_MASK                0x00010000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_17_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_17_SHIFT 
#undef IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_17_MASK 
#define IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_17_DEFVAL              
#define IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_17_SHIFT               17
#define IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_17_MASK                0x00020000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_18_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_18_SHIFT 
#undef IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_18_MASK 
#define IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_18_DEFVAL              
#define IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_18_SHIFT               18
#define IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_18_MASK                0x00040000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_19_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_19_SHIFT 
#undef IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_19_MASK 
#define IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_19_DEFVAL              
#define IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_19_SHIFT               19
#define IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_19_MASK                0x00080000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_20_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_20_SHIFT 
#undef IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_20_MASK 
#define IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_20_DEFVAL              
#define IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_20_SHIFT               20
#define IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_20_MASK                0x00100000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_21_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_21_SHIFT 
#undef IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_21_MASK 
#define IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_21_DEFVAL              
#define IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_21_SHIFT               21
#define IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_21_MASK                0x00200000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_22_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_22_SHIFT 
#undef IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_22_MASK 
#define IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_22_DEFVAL              
#define IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_22_SHIFT               22
#define IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_22_MASK                0x00400000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_23_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_23_SHIFT 
#undef IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_23_MASK 
#define IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_23_DEFVAL              
#define IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_23_SHIFT               23
#define IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_23_MASK                0x00800000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_24_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_24_SHIFT 
#undef IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_24_MASK 
#define IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_24_DEFVAL              
#define IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_24_SHIFT               24
#define IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_24_MASK                0x01000000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_25_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_25_SHIFT 
#undef IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_25_MASK 
#define IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_25_DEFVAL              
#define IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_25_SHIFT               25
#define IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_25_MASK                0x02000000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_0_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_0_SHIFT 
#undef IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_0_MASK 
#define IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_0_DEFVAL               
#define IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_0_SHIFT                0
#define IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_0_MASK                 0x00000001U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_1_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_1_SHIFT 
#undef IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_1_MASK 
#define IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_1_DEFVAL               
#define IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_1_SHIFT                1
#define IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_1_MASK                 0x00000002U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_2_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_2_SHIFT 
#undef IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_2_MASK 
#define IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_2_DEFVAL               
#define IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_2_SHIFT                2
#define IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_2_MASK                 0x00000004U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_3_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_3_SHIFT 
#undef IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_3_MASK 
#define IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_3_DEFVAL               
#define IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_3_SHIFT                3
#define IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_3_MASK                 0x00000008U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_4_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_4_SHIFT 
#undef IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_4_MASK 
#define IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_4_DEFVAL               
#define IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_4_SHIFT                4
#define IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_4_MASK                 0x00000010U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_5_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_5_SHIFT 
#undef IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_5_MASK 
#define IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_5_DEFVAL               
#define IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_5_SHIFT                5
#define IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_5_MASK                 0x00000020U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_6_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_6_SHIFT 
#undef IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_6_MASK 
#define IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_6_DEFVAL               
#define IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_6_SHIFT                6
#define IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_6_MASK                 0x00000040U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_7_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_7_SHIFT 
#undef IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_7_MASK 
#define IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_7_DEFVAL               
#define IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_7_SHIFT                7
#define IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_7_MASK                 0x00000080U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_8_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_8_SHIFT 
#undef IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_8_MASK 
#define IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_8_DEFVAL               
#define IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_8_SHIFT                8
#define IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_8_MASK                 0x00000100U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_9_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_9_SHIFT 
#undef IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_9_MASK 
#define IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_9_DEFVAL               
#define IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_9_SHIFT                9
#define IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_9_MASK                 0x00000200U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_10_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_10_SHIFT 
#undef IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_10_MASK 
#define IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_10_DEFVAL              
#define IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_10_SHIFT               10
#define IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_10_MASK                0x00000400U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_11_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_11_SHIFT 
#undef IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_11_MASK 
#define IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_11_DEFVAL              
#define IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_11_SHIFT               11
#define IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_11_MASK                0x00000800U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_12_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_12_SHIFT 
#undef IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_12_MASK 
#define IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_12_DEFVAL              
#define IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_12_SHIFT               12
#define IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_12_MASK                0x00001000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_13_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_13_SHIFT 
#undef IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_13_MASK 
#define IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_13_DEFVAL              
#define IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_13_SHIFT               13
#define IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_13_MASK                0x00002000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_14_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_14_SHIFT 
#undef IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_14_MASK 
#define IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_14_DEFVAL              
#define IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_14_SHIFT               14
#define IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_14_MASK                0x00004000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_15_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_15_SHIFT 
#undef IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_15_MASK 
#define IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_15_DEFVAL              
#define IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_15_SHIFT               15
#define IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_15_MASK                0x00008000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_16_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_16_SHIFT 
#undef IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_16_MASK 
#define IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_16_DEFVAL              
#define IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_16_SHIFT               16
#define IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_16_MASK                0x00010000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_17_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_17_SHIFT 
#undef IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_17_MASK 
#define IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_17_DEFVAL              
#define IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_17_SHIFT               17
#define IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_17_MASK                0x00020000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_18_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_18_SHIFT 
#undef IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_18_MASK 
#define IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_18_DEFVAL              
#define IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_18_SHIFT               18
#define IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_18_MASK                0x00040000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_19_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_19_SHIFT 
#undef IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_19_MASK 
#define IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_19_DEFVAL              
#define IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_19_SHIFT               19
#define IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_19_MASK                0x00080000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_20_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_20_SHIFT 
#undef IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_20_MASK 
#define IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_20_DEFVAL              
#define IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_20_SHIFT               20
#define IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_20_MASK                0x00100000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_21_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_21_SHIFT 
#undef IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_21_MASK 
#define IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_21_DEFVAL              
#define IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_21_SHIFT               21
#define IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_21_MASK                0x00200000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_22_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_22_SHIFT 
#undef IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_22_MASK 
#define IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_22_DEFVAL              
#define IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_22_SHIFT               22
#define IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_22_MASK                0x00400000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_23_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_23_SHIFT 
#undef IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_23_MASK 
#define IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_23_DEFVAL              
#define IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_23_SHIFT               23
#define IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_23_MASK                0x00800000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_24_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_24_SHIFT 
#undef IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_24_MASK 
#define IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_24_DEFVAL              
#define IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_24_SHIFT               24
#define IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_24_MASK                0x01000000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_25_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_25_SHIFT 
#undef IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_25_MASK 
#define IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_25_DEFVAL              
#define IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_25_SHIFT               25
#define IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_25_MASK                0x02000000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_0_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_0_SHIFT 
#undef IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_0_MASK 
#define IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_0_DEFVAL       
#define IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_0_SHIFT        0
#define IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_0_MASK         0x00000001U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_1_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_1_SHIFT 
#undef IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_1_MASK 
#define IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_1_DEFVAL       
#define IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_1_SHIFT        1
#define IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_1_MASK         0x00000002U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_2_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_2_SHIFT 
#undef IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_2_MASK 
#define IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_2_DEFVAL       
#define IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_2_SHIFT        2
#define IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_2_MASK         0x00000004U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_3_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_3_SHIFT 
#undef IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_3_MASK 
#define IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_3_DEFVAL       
#define IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_3_SHIFT        3
#define IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_3_MASK         0x00000008U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_4_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_4_SHIFT 
#undef IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_4_MASK 
#define IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_4_DEFVAL       
#define IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_4_SHIFT        4
#define IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_4_MASK         0x00000010U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_5_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_5_SHIFT 
#undef IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_5_MASK 
#define IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_5_DEFVAL       
#define IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_5_SHIFT        5
#define IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_5_MASK         0x00000020U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_6_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_6_SHIFT 
#undef IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_6_MASK 
#define IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_6_DEFVAL       
#define IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_6_SHIFT        6
#define IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_6_MASK         0x00000040U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_7_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_7_SHIFT 
#undef IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_7_MASK 
#define IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_7_DEFVAL       
#define IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_7_SHIFT        7
#define IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_7_MASK         0x00000080U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_8_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_8_SHIFT 
#undef IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_8_MASK 
#define IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_8_DEFVAL       
#define IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_8_SHIFT        8
#define IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_8_MASK         0x00000100U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_9_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_9_SHIFT 
#undef IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_9_MASK 
#define IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_9_DEFVAL       
#define IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_9_SHIFT        9
#define IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_9_MASK         0x00000200U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_10_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_10_SHIFT 
#undef IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_10_MASK 
#define IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_10_DEFVAL      
#define IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_10_SHIFT       10
#define IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_10_MASK        0x00000400U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_11_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_11_SHIFT 
#undef IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_11_MASK 
#define IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_11_DEFVAL      
#define IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_11_SHIFT       11
#define IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_11_MASK        0x00000800U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_12_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_12_SHIFT 
#undef IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_12_MASK 
#define IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_12_DEFVAL      
#define IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_12_SHIFT       12
#define IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_12_MASK        0x00001000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_13_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_13_SHIFT 
#undef IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_13_MASK 
#define IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_13_DEFVAL      
#define IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_13_SHIFT       13
#define IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_13_MASK        0x00002000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_14_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_14_SHIFT 
#undef IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_14_MASK 
#define IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_14_DEFVAL      
#define IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_14_SHIFT       14
#define IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_14_MASK        0x00004000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_15_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_15_SHIFT 
#undef IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_15_MASK 
#define IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_15_DEFVAL      
#define IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_15_SHIFT       15
#define IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_15_MASK        0x00008000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_16_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_16_SHIFT 
#undef IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_16_MASK 
#define IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_16_DEFVAL      
#define IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_16_SHIFT       16
#define IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_16_MASK        0x00010000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_17_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_17_SHIFT 
#undef IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_17_MASK 
#define IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_17_DEFVAL      
#define IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_17_SHIFT       17
#define IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_17_MASK        0x00020000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_18_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_18_SHIFT 
#undef IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_18_MASK 
#define IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_18_DEFVAL      
#define IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_18_SHIFT       18
#define IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_18_MASK        0x00040000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_19_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_19_SHIFT 
#undef IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_19_MASK 
#define IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_19_DEFVAL      
#define IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_19_SHIFT       19
#define IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_19_MASK        0x00080000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_20_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_20_SHIFT 
#undef IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_20_MASK 
#define IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_20_DEFVAL      
#define IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_20_SHIFT       20
#define IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_20_MASK        0x00100000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_21_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_21_SHIFT 
#undef IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_21_MASK 
#define IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_21_DEFVAL      
#define IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_21_SHIFT       21
#define IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_21_MASK        0x00200000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_22_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_22_SHIFT 
#undef IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_22_MASK 
#define IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_22_DEFVAL      
#define IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_22_SHIFT       22
#define IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_22_MASK        0x00400000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_23_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_23_SHIFT 
#undef IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_23_MASK 
#define IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_23_DEFVAL      
#define IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_23_SHIFT       23
#define IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_23_MASK        0x00800000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_24_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_24_SHIFT 
#undef IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_24_MASK 
#define IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_24_DEFVAL      
#define IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_24_SHIFT       24
#define IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_24_MASK        0x01000000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_25_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_25_SHIFT 
#undef IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_25_MASK 
#define IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_25_DEFVAL      
#define IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_25_SHIFT       25
#define IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_25_MASK        0x02000000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_0_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_0_SHIFT 
#undef IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_0_MASK 
#define IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_0_DEFVAL      
#define IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_0_SHIFT       0
#define IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_0_MASK        0x00000001U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_1_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_1_SHIFT 
#undef IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_1_MASK 
#define IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_1_DEFVAL      
#define IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_1_SHIFT       1
#define IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_1_MASK        0x00000002U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_2_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_2_SHIFT 
#undef IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_2_MASK 
#define IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_2_DEFVAL      
#define IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_2_SHIFT       2
#define IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_2_MASK        0x00000004U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_3_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_3_SHIFT 
#undef IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_3_MASK 
#define IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_3_DEFVAL      
#define IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_3_SHIFT       3
#define IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_3_MASK        0x00000008U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_4_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_4_SHIFT 
#undef IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_4_MASK 
#define IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_4_DEFVAL      
#define IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_4_SHIFT       4
#define IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_4_MASK        0x00000010U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_5_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_5_SHIFT 
#undef IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_5_MASK 
#define IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_5_DEFVAL      
#define IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_5_SHIFT       5
#define IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_5_MASK        0x00000020U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_6_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_6_SHIFT 
#undef IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_6_MASK 
#define IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_6_DEFVAL      
#define IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_6_SHIFT       6
#define IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_6_MASK        0x00000040U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_7_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_7_SHIFT 
#undef IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_7_MASK 
#define IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_7_DEFVAL      
#define IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_7_SHIFT       7
#define IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_7_MASK        0x00000080U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_8_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_8_SHIFT 
#undef IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_8_MASK 
#define IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_8_DEFVAL      
#define IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_8_SHIFT       8
#define IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_8_MASK        0x00000100U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_9_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_9_SHIFT 
#undef IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_9_MASK 
#define IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_9_DEFVAL      
#define IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_9_SHIFT       9
#define IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_9_MASK        0x00000200U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_10_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_10_SHIFT 
#undef IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_10_MASK 
#define IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_10_DEFVAL     
#define IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_10_SHIFT      10
#define IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_10_MASK       0x00000400U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_11_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_11_SHIFT 
#undef IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_11_MASK 
#define IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_11_DEFVAL     
#define IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_11_SHIFT      11
#define IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_11_MASK       0x00000800U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_12_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_12_SHIFT 
#undef IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_12_MASK 
#define IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_12_DEFVAL     
#define IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_12_SHIFT      12
#define IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_12_MASK       0x00001000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_13_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_13_SHIFT 
#undef IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_13_MASK 
#define IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_13_DEFVAL     
#define IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_13_SHIFT      13
#define IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_13_MASK       0x00002000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_14_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_14_SHIFT 
#undef IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_14_MASK 
#define IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_14_DEFVAL     
#define IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_14_SHIFT      14
#define IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_14_MASK       0x00004000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_15_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_15_SHIFT 
#undef IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_15_MASK 
#define IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_15_DEFVAL     
#define IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_15_SHIFT      15
#define IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_15_MASK       0x00008000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_16_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_16_SHIFT 
#undef IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_16_MASK 
#define IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_16_DEFVAL     
#define IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_16_SHIFT      16
#define IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_16_MASK       0x00010000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_17_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_17_SHIFT 
#undef IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_17_MASK 
#define IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_17_DEFVAL     
#define IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_17_SHIFT      17
#define IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_17_MASK       0x00020000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_18_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_18_SHIFT 
#undef IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_18_MASK 
#define IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_18_DEFVAL     
#define IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_18_SHIFT      18
#define IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_18_MASK       0x00040000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_19_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_19_SHIFT 
#undef IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_19_MASK 
#define IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_19_DEFVAL     
#define IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_19_SHIFT      19
#define IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_19_MASK       0x00080000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_20_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_20_SHIFT 
#undef IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_20_MASK 
#define IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_20_DEFVAL     
#define IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_20_SHIFT      20
#define IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_20_MASK       0x00100000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_21_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_21_SHIFT 
#undef IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_21_MASK 
#define IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_21_DEFVAL     
#define IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_21_SHIFT      21
#define IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_21_MASK       0x00200000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_22_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_22_SHIFT 
#undef IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_22_MASK 
#define IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_22_DEFVAL     
#define IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_22_SHIFT      22
#define IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_22_MASK       0x00400000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_23_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_23_SHIFT 
#undef IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_23_MASK 
#define IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_23_DEFVAL     
#define IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_23_SHIFT      23
#define IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_23_MASK       0x00800000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_24_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_24_SHIFT 
#undef IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_24_MASK 
#define IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_24_DEFVAL     
#define IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_24_SHIFT      24
#define IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_24_MASK       0x01000000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_25_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_25_SHIFT 
#undef IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_25_MASK 
#define IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_25_DEFVAL     
#define IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_25_SHIFT      25
#define IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_25_MASK       0x02000000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_0_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_0_SHIFT 
#undef IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_0_MASK 
#define IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_0_DEFVAL          
#define IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_0_SHIFT           12
#define IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_0_MASK            0x00001000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_1_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_1_SHIFT 
#undef IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_1_MASK 
#define IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_1_DEFVAL          
#define IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_1_SHIFT           13
#define IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_1_MASK            0x00002000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_2_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_2_SHIFT 
#undef IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_2_MASK 
#define IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_2_DEFVAL          
#define IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_2_SHIFT           14
#define IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_2_MASK            0x00004000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_3_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_3_SHIFT 
#undef IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_3_MASK 
#define IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_3_DEFVAL          
#define IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_3_SHIFT           15
#define IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_3_MASK            0x00008000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_4_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_4_SHIFT 
#undef IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_4_MASK 
#define IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_4_DEFVAL          
#define IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_4_SHIFT           16
#define IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_4_MASK            0x00010000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_5_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_5_SHIFT 
#undef IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_5_MASK 
#define IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_5_DEFVAL          
#define IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_5_SHIFT           17
#define IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_5_MASK            0x00020000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_6_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_6_SHIFT 
#undef IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_6_MASK 
#define IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_6_DEFVAL          
#define IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_6_SHIFT           18
#define IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_6_MASK            0x00040000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_7_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_7_SHIFT 
#undef IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_7_MASK 
#define IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_7_DEFVAL          
#define IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_7_SHIFT           19
#define IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_7_MASK            0x00080000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_8_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_8_SHIFT 
#undef IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_8_MASK 
#define IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_8_DEFVAL          
#define IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_8_SHIFT           20
#define IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_8_MASK            0x00100000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_9_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_9_SHIFT 
#undef IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_9_MASK 
#define IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_9_DEFVAL          
#define IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_9_SHIFT           21
#define IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_9_MASK            0x00200000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_10_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_10_SHIFT 
#undef IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_10_MASK 
#define IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_10_DEFVAL         
#define IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_10_SHIFT          22
#define IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_10_MASK           0x00400000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_11_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_11_SHIFT 
#undef IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_11_MASK 
#define IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_11_DEFVAL         
#define IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_11_SHIFT          23
#define IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_11_MASK           0x00800000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_12_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_12_SHIFT 
#undef IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_12_MASK 
#define IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_12_DEFVAL         
#define IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_12_SHIFT          24
#define IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_12_MASK           0x01000000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_13_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_13_SHIFT 
#undef IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_13_MASK 
#define IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_13_DEFVAL         
#define IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_13_SHIFT          25
#define IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_13_MASK           0x02000000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_14_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_14_SHIFT 
#undef IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_14_MASK 
#define IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_14_DEFVAL         
#define IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_14_SHIFT          0
#define IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_14_MASK           0x00000001U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_15_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_15_SHIFT 
#undef IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_15_MASK 
#define IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_15_DEFVAL         
#define IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_15_SHIFT          1
#define IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_15_MASK           0x00000002U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_16_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_16_SHIFT 
#undef IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_16_MASK 
#define IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_16_DEFVAL         
#define IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_16_SHIFT          2
#define IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_16_MASK           0x00000004U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_17_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_17_SHIFT 
#undef IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_17_MASK 
#define IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_17_DEFVAL         
#define IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_17_SHIFT          3
#define IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_17_MASK           0x00000008U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_18_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_18_SHIFT 
#undef IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_18_MASK 
#define IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_18_DEFVAL         
#define IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_18_SHIFT          4
#define IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_18_MASK           0x00000010U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_19_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_19_SHIFT 
#undef IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_19_MASK 
#define IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_19_DEFVAL         
#define IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_19_SHIFT          5
#define IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_19_MASK           0x00000020U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_20_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_20_SHIFT 
#undef IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_20_MASK 
#define IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_20_DEFVAL         
#define IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_20_SHIFT          6
#define IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_20_MASK           0x00000040U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_21_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_21_SHIFT 
#undef IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_21_MASK 
#define IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_21_DEFVAL         
#define IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_21_SHIFT          7
#define IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_21_MASK           0x00000080U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_22_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_22_SHIFT 
#undef IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_22_MASK 
#define IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_22_DEFVAL         
#define IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_22_SHIFT          8
#define IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_22_MASK           0x00000100U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_23_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_23_SHIFT 
#undef IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_23_MASK 
#define IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_23_DEFVAL         
#define IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_23_SHIFT          9
#define IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_23_MASK           0x00000200U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_24_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_24_SHIFT 
#undef IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_24_MASK 
#define IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_24_DEFVAL         
#define IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_24_SHIFT          10
#define IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_24_MASK           0x00000400U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_25_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_25_SHIFT 
#undef IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_25_MASK 
#define IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_25_DEFVAL         
#define IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_25_SHIFT          11
#define IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_25_MASK           0x00000800U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_0_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_0_SHIFT 
#undef IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_0_MASK 
#define IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_0_DEFVAL     
#define IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_0_SHIFT      0
#define IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_0_MASK       0x00000001U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_1_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_1_SHIFT 
#undef IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_1_MASK 
#define IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_1_DEFVAL     
#define IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_1_SHIFT      1
#define IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_1_MASK       0x00000002U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_2_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_2_SHIFT 
#undef IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_2_MASK 
#define IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_2_DEFVAL     
#define IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_2_SHIFT      2
#define IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_2_MASK       0x00000004U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_3_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_3_SHIFT 
#undef IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_3_MASK 
#define IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_3_DEFVAL     
#define IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_3_SHIFT      3
#define IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_3_MASK       0x00000008U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_4_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_4_SHIFT 
#undef IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_4_MASK 
#define IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_4_DEFVAL     
#define IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_4_SHIFT      4
#define IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_4_MASK       0x00000010U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_5_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_5_SHIFT 
#undef IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_5_MASK 
#define IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_5_DEFVAL     
#define IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_5_SHIFT      5
#define IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_5_MASK       0x00000020U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_6_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_6_SHIFT 
#undef IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_6_MASK 
#define IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_6_DEFVAL     
#define IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_6_SHIFT      6
#define IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_6_MASK       0x00000040U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_7_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_7_SHIFT 
#undef IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_7_MASK 
#define IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_7_DEFVAL     
#define IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_7_SHIFT      7
#define IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_7_MASK       0x00000080U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_8_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_8_SHIFT 
#undef IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_8_MASK 
#define IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_8_DEFVAL     
#define IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_8_SHIFT      8
#define IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_8_MASK       0x00000100U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_9_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_9_SHIFT 
#undef IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_9_MASK 
#define IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_9_DEFVAL     
#define IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_9_SHIFT      9
#define IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_9_MASK       0x00000200U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_10_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_10_SHIFT 
#undef IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_10_MASK 
#define IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_10_DEFVAL    
#define IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_10_SHIFT     10
#define IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_10_MASK      0x00000400U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_11_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_11_SHIFT 
#undef IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_11_MASK 
#define IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_11_DEFVAL    
#define IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_11_SHIFT     11
#define IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_11_MASK      0x00000800U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_12_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_12_SHIFT 
#undef IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_12_MASK 
#define IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_12_DEFVAL    
#define IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_12_SHIFT     12
#define IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_12_MASK      0x00001000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_13_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_13_SHIFT 
#undef IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_13_MASK 
#define IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_13_DEFVAL    
#define IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_13_SHIFT     13
#define IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_13_MASK      0x00002000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_14_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_14_SHIFT 
#undef IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_14_MASK 
#define IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_14_DEFVAL    
#define IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_14_SHIFT     14
#define IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_14_MASK      0x00004000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_15_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_15_SHIFT 
#undef IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_15_MASK 
#define IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_15_DEFVAL    
#define IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_15_SHIFT     15
#define IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_15_MASK      0x00008000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_16_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_16_SHIFT 
#undef IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_16_MASK 
#define IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_16_DEFVAL    
#define IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_16_SHIFT     16
#define IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_16_MASK      0x00010000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_17_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_17_SHIFT 
#undef IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_17_MASK 
#define IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_17_DEFVAL    
#define IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_17_SHIFT     17
#define IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_17_MASK      0x00020000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_18_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_18_SHIFT 
#undef IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_18_MASK 
#define IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_18_DEFVAL    
#define IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_18_SHIFT     18
#define IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_18_MASK      0x00040000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_19_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_19_SHIFT 
#undef IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_19_MASK 
#define IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_19_DEFVAL    
#define IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_19_SHIFT     19
#define IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_19_MASK      0x00080000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_20_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_20_SHIFT 
#undef IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_20_MASK 
#define IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_20_DEFVAL    
#define IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_20_SHIFT     20
#define IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_20_MASK      0x00100000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_21_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_21_SHIFT 
#undef IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_21_MASK 
#define IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_21_DEFVAL    
#define IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_21_SHIFT     21
#define IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_21_MASK      0x00200000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_22_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_22_SHIFT 
#undef IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_22_MASK 
#define IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_22_DEFVAL    
#define IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_22_SHIFT     22
#define IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_22_MASK      0x00400000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_23_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_23_SHIFT 
#undef IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_23_MASK 
#define IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_23_DEFVAL    
#define IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_23_SHIFT     23
#define IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_23_MASK      0x00800000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_24_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_24_SHIFT 
#undef IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_24_MASK 
#define IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_24_DEFVAL    
#define IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_24_SHIFT     24
#define IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_24_MASK      0x01000000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[26].
*/
#undef IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_25_DEFVAL 
#undef IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_25_SHIFT 
#undef IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_25_MASK 
#define IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_25_DEFVAL    
#define IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_25_SHIFT     25
#define IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_25_MASK      0x02000000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_0_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_0_SHIFT 
#undef IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_0_MASK 
#define IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_0_DEFVAL               
#define IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_0_SHIFT                0
#define IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_0_MASK                 0x00000001U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_1_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_1_SHIFT 
#undef IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_1_MASK 
#define IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_1_DEFVAL               
#define IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_1_SHIFT                1
#define IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_1_MASK                 0x00000002U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_2_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_2_SHIFT 
#undef IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_2_MASK 
#define IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_2_DEFVAL               
#define IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_2_SHIFT                2
#define IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_2_MASK                 0x00000004U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_3_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_3_SHIFT 
#undef IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_3_MASK 
#define IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_3_DEFVAL               
#define IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_3_SHIFT                3
#define IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_3_MASK                 0x00000008U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_4_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_4_SHIFT 
#undef IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_4_MASK 
#define IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_4_DEFVAL               
#define IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_4_SHIFT                4
#define IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_4_MASK                 0x00000010U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_5_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_5_SHIFT 
#undef IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_5_MASK 
#define IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_5_DEFVAL               
#define IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_5_SHIFT                5
#define IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_5_MASK                 0x00000020U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_6_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_6_SHIFT 
#undef IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_6_MASK 
#define IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_6_DEFVAL               
#define IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_6_SHIFT                6
#define IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_6_MASK                 0x00000040U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_7_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_7_SHIFT 
#undef IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_7_MASK 
#define IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_7_DEFVAL               
#define IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_7_SHIFT                7
#define IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_7_MASK                 0x00000080U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_8_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_8_SHIFT 
#undef IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_8_MASK 
#define IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_8_DEFVAL               
#define IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_8_SHIFT                8
#define IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_8_MASK                 0x00000100U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_9_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_9_SHIFT 
#undef IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_9_MASK 
#define IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_9_DEFVAL               
#define IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_9_SHIFT                9
#define IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_9_MASK                 0x00000200U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_10_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_10_SHIFT 
#undef IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_10_MASK 
#define IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_10_DEFVAL              
#define IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_10_SHIFT               10
#define IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_10_MASK                0x00000400U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_11_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_11_SHIFT 
#undef IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_11_MASK 
#define IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_11_DEFVAL              
#define IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_11_SHIFT               11
#define IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_11_MASK                0x00000800U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_12_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_12_SHIFT 
#undef IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_12_MASK 
#define IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_12_DEFVAL              
#define IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_12_SHIFT               12
#define IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_12_MASK                0x00001000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_13_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_13_SHIFT 
#undef IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_13_MASK 
#define IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_13_DEFVAL              
#define IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_13_SHIFT               13
#define IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_13_MASK                0x00002000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_14_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_14_SHIFT 
#undef IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_14_MASK 
#define IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_14_DEFVAL              
#define IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_14_SHIFT               14
#define IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_14_MASK                0x00004000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_15_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_15_SHIFT 
#undef IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_15_MASK 
#define IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_15_DEFVAL              
#define IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_15_SHIFT               15
#define IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_15_MASK                0x00008000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_16_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_16_SHIFT 
#undef IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_16_MASK 
#define IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_16_DEFVAL              
#define IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_16_SHIFT               16
#define IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_16_MASK                0x00010000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_17_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_17_SHIFT 
#undef IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_17_MASK 
#define IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_17_DEFVAL              
#define IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_17_SHIFT               17
#define IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_17_MASK                0x00020000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_18_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_18_SHIFT 
#undef IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_18_MASK 
#define IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_18_DEFVAL              
#define IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_18_SHIFT               18
#define IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_18_MASK                0x00040000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_19_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_19_SHIFT 
#undef IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_19_MASK 
#define IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_19_DEFVAL              
#define IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_19_SHIFT               19
#define IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_19_MASK                0x00080000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_20_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_20_SHIFT 
#undef IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_20_MASK 
#define IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_20_DEFVAL              
#define IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_20_SHIFT               20
#define IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_20_MASK                0x00100000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_21_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_21_SHIFT 
#undef IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_21_MASK 
#define IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_21_DEFVAL              
#define IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_21_SHIFT               21
#define IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_21_MASK                0x00200000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_22_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_22_SHIFT 
#undef IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_22_MASK 
#define IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_22_DEFVAL              
#define IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_22_SHIFT               22
#define IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_22_MASK                0x00400000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_23_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_23_SHIFT 
#undef IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_23_MASK 
#define IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_23_DEFVAL              
#define IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_23_SHIFT               23
#define IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_23_MASK                0x00800000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_24_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_24_SHIFT 
#undef IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_24_MASK 
#define IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_24_DEFVAL              
#define IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_24_SHIFT               24
#define IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_24_MASK                0x01000000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_25_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_25_SHIFT 
#undef IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_25_MASK 
#define IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_25_DEFVAL              
#define IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_25_SHIFT               25
#define IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_25_MASK                0x02000000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_0_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_0_SHIFT 
#undef IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_0_MASK 
#define IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_0_DEFVAL               
#define IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_0_SHIFT                0
#define IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_0_MASK                 0x00000001U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_1_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_1_SHIFT 
#undef IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_1_MASK 
#define IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_1_DEFVAL               
#define IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_1_SHIFT                1
#define IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_1_MASK                 0x00000002U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_2_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_2_SHIFT 
#undef IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_2_MASK 
#define IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_2_DEFVAL               
#define IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_2_SHIFT                2
#define IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_2_MASK                 0x00000004U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_3_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_3_SHIFT 
#undef IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_3_MASK 
#define IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_3_DEFVAL               
#define IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_3_SHIFT                3
#define IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_3_MASK                 0x00000008U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_4_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_4_SHIFT 
#undef IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_4_MASK 
#define IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_4_DEFVAL               
#define IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_4_SHIFT                4
#define IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_4_MASK                 0x00000010U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_5_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_5_SHIFT 
#undef IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_5_MASK 
#define IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_5_DEFVAL               
#define IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_5_SHIFT                5
#define IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_5_MASK                 0x00000020U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_6_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_6_SHIFT 
#undef IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_6_MASK 
#define IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_6_DEFVAL               
#define IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_6_SHIFT                6
#define IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_6_MASK                 0x00000040U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_7_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_7_SHIFT 
#undef IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_7_MASK 
#define IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_7_DEFVAL               
#define IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_7_SHIFT                7
#define IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_7_MASK                 0x00000080U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_8_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_8_SHIFT 
#undef IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_8_MASK 
#define IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_8_DEFVAL               
#define IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_8_SHIFT                8
#define IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_8_MASK                 0x00000100U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_9_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_9_SHIFT 
#undef IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_9_MASK 
#define IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_9_DEFVAL               
#define IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_9_SHIFT                9
#define IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_9_MASK                 0x00000200U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_10_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_10_SHIFT 
#undef IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_10_MASK 
#define IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_10_DEFVAL              
#define IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_10_SHIFT               10
#define IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_10_MASK                0x00000400U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_11_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_11_SHIFT 
#undef IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_11_MASK 
#define IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_11_DEFVAL              
#define IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_11_SHIFT               11
#define IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_11_MASK                0x00000800U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_12_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_12_SHIFT 
#undef IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_12_MASK 
#define IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_12_DEFVAL              
#define IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_12_SHIFT               12
#define IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_12_MASK                0x00001000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_13_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_13_SHIFT 
#undef IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_13_MASK 
#define IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_13_DEFVAL              
#define IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_13_SHIFT               13
#define IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_13_MASK                0x00002000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_14_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_14_SHIFT 
#undef IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_14_MASK 
#define IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_14_DEFVAL              
#define IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_14_SHIFT               14
#define IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_14_MASK                0x00004000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_15_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_15_SHIFT 
#undef IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_15_MASK 
#define IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_15_DEFVAL              
#define IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_15_SHIFT               15
#define IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_15_MASK                0x00008000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_16_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_16_SHIFT 
#undef IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_16_MASK 
#define IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_16_DEFVAL              
#define IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_16_SHIFT               16
#define IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_16_MASK                0x00010000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_17_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_17_SHIFT 
#undef IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_17_MASK 
#define IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_17_DEFVAL              
#define IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_17_SHIFT               17
#define IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_17_MASK                0x00020000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_18_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_18_SHIFT 
#undef IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_18_MASK 
#define IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_18_DEFVAL              
#define IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_18_SHIFT               18
#define IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_18_MASK                0x00040000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_19_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_19_SHIFT 
#undef IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_19_MASK 
#define IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_19_DEFVAL              
#define IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_19_SHIFT               19
#define IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_19_MASK                0x00080000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_20_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_20_SHIFT 
#undef IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_20_MASK 
#define IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_20_DEFVAL              
#define IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_20_SHIFT               20
#define IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_20_MASK                0x00100000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_21_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_21_SHIFT 
#undef IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_21_MASK 
#define IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_21_DEFVAL              
#define IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_21_SHIFT               21
#define IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_21_MASK                0x00200000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_22_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_22_SHIFT 
#undef IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_22_MASK 
#define IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_22_DEFVAL              
#define IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_22_SHIFT               22
#define IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_22_MASK                0x00400000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_23_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_23_SHIFT 
#undef IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_23_MASK 
#define IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_23_DEFVAL              
#define IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_23_SHIFT               23
#define IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_23_MASK                0x00800000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_24_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_24_SHIFT 
#undef IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_24_MASK 
#define IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_24_DEFVAL              
#define IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_24_SHIFT               24
#define IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_24_MASK                0x01000000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_25_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_25_SHIFT 
#undef IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_25_MASK 
#define IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_25_DEFVAL              
#define IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_25_SHIFT               25
#define IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_25_MASK                0x02000000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_0_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_0_SHIFT 
#undef IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_0_MASK 
#define IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_0_DEFVAL       
#define IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_0_SHIFT        0
#define IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_0_MASK         0x00000001U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_1_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_1_SHIFT 
#undef IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_1_MASK 
#define IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_1_DEFVAL       
#define IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_1_SHIFT        1
#define IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_1_MASK         0x00000002U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_2_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_2_SHIFT 
#undef IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_2_MASK 
#define IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_2_DEFVAL       
#define IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_2_SHIFT        2
#define IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_2_MASK         0x00000004U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_3_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_3_SHIFT 
#undef IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_3_MASK 
#define IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_3_DEFVAL       
#define IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_3_SHIFT        3
#define IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_3_MASK         0x00000008U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_4_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_4_SHIFT 
#undef IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_4_MASK 
#define IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_4_DEFVAL       
#define IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_4_SHIFT        4
#define IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_4_MASK         0x00000010U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_5_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_5_SHIFT 
#undef IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_5_MASK 
#define IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_5_DEFVAL       
#define IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_5_SHIFT        5
#define IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_5_MASK         0x00000020U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_6_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_6_SHIFT 
#undef IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_6_MASK 
#define IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_6_DEFVAL       
#define IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_6_SHIFT        6
#define IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_6_MASK         0x00000040U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_7_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_7_SHIFT 
#undef IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_7_MASK 
#define IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_7_DEFVAL       
#define IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_7_SHIFT        7
#define IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_7_MASK         0x00000080U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_8_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_8_SHIFT 
#undef IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_8_MASK 
#define IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_8_DEFVAL       
#define IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_8_SHIFT        8
#define IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_8_MASK         0x00000100U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_9_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_9_SHIFT 
#undef IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_9_MASK 
#define IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_9_DEFVAL       
#define IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_9_SHIFT        9
#define IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_9_MASK         0x00000200U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_10_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_10_SHIFT 
#undef IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_10_MASK 
#define IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_10_DEFVAL      
#define IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_10_SHIFT       10
#define IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_10_MASK        0x00000400U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_11_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_11_SHIFT 
#undef IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_11_MASK 
#define IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_11_DEFVAL      
#define IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_11_SHIFT       11
#define IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_11_MASK        0x00000800U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_12_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_12_SHIFT 
#undef IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_12_MASK 
#define IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_12_DEFVAL      
#define IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_12_SHIFT       12
#define IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_12_MASK        0x00001000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_13_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_13_SHIFT 
#undef IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_13_MASK 
#define IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_13_DEFVAL      
#define IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_13_SHIFT       13
#define IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_13_MASK        0x00002000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_14_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_14_SHIFT 
#undef IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_14_MASK 
#define IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_14_DEFVAL      
#define IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_14_SHIFT       14
#define IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_14_MASK        0x00004000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_15_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_15_SHIFT 
#undef IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_15_MASK 
#define IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_15_DEFVAL      
#define IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_15_SHIFT       15
#define IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_15_MASK        0x00008000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_16_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_16_SHIFT 
#undef IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_16_MASK 
#define IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_16_DEFVAL      
#define IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_16_SHIFT       16
#define IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_16_MASK        0x00010000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_17_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_17_SHIFT 
#undef IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_17_MASK 
#define IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_17_DEFVAL      
#define IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_17_SHIFT       17
#define IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_17_MASK        0x00020000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_18_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_18_SHIFT 
#undef IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_18_MASK 
#define IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_18_DEFVAL      
#define IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_18_SHIFT       18
#define IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_18_MASK        0x00040000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_19_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_19_SHIFT 
#undef IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_19_MASK 
#define IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_19_DEFVAL      
#define IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_19_SHIFT       19
#define IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_19_MASK        0x00080000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_20_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_20_SHIFT 
#undef IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_20_MASK 
#define IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_20_DEFVAL      
#define IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_20_SHIFT       20
#define IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_20_MASK        0x00100000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_21_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_21_SHIFT 
#undef IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_21_MASK 
#define IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_21_DEFVAL      
#define IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_21_SHIFT       21
#define IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_21_MASK        0x00200000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_22_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_22_SHIFT 
#undef IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_22_MASK 
#define IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_22_DEFVAL      
#define IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_22_SHIFT       22
#define IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_22_MASK        0x00400000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_23_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_23_SHIFT 
#undef IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_23_MASK 
#define IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_23_DEFVAL      
#define IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_23_SHIFT       23
#define IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_23_MASK        0x00800000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_24_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_24_SHIFT 
#undef IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_24_MASK 
#define IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_24_DEFVAL      
#define IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_24_SHIFT       24
#define IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_24_MASK        0x01000000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_25_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_25_SHIFT 
#undef IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_25_MASK 
#define IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_25_DEFVAL      
#define IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_25_SHIFT       25
#define IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_25_MASK        0x02000000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_0_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_0_SHIFT 
#undef IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_0_MASK 
#define IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_0_DEFVAL      
#define IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_0_SHIFT       0
#define IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_0_MASK        0x00000001U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_1_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_1_SHIFT 
#undef IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_1_MASK 
#define IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_1_DEFVAL      
#define IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_1_SHIFT       1
#define IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_1_MASK        0x00000002U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_2_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_2_SHIFT 
#undef IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_2_MASK 
#define IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_2_DEFVAL      
#define IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_2_SHIFT       2
#define IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_2_MASK        0x00000004U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_3_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_3_SHIFT 
#undef IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_3_MASK 
#define IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_3_DEFVAL      
#define IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_3_SHIFT       3
#define IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_3_MASK        0x00000008U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_4_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_4_SHIFT 
#undef IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_4_MASK 
#define IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_4_DEFVAL      
#define IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_4_SHIFT       4
#define IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_4_MASK        0x00000010U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_5_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_5_SHIFT 
#undef IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_5_MASK 
#define IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_5_DEFVAL      
#define IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_5_SHIFT       5
#define IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_5_MASK        0x00000020U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_6_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_6_SHIFT 
#undef IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_6_MASK 
#define IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_6_DEFVAL      
#define IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_6_SHIFT       6
#define IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_6_MASK        0x00000040U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_7_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_7_SHIFT 
#undef IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_7_MASK 
#define IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_7_DEFVAL      
#define IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_7_SHIFT       7
#define IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_7_MASK        0x00000080U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_8_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_8_SHIFT 
#undef IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_8_MASK 
#define IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_8_DEFVAL      
#define IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_8_SHIFT       8
#define IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_8_MASK        0x00000100U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_9_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_9_SHIFT 
#undef IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_9_MASK 
#define IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_9_DEFVAL      
#define IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_9_SHIFT       9
#define IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_9_MASK        0x00000200U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_10_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_10_SHIFT 
#undef IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_10_MASK 
#define IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_10_DEFVAL     
#define IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_10_SHIFT      10
#define IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_10_MASK       0x00000400U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_11_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_11_SHIFT 
#undef IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_11_MASK 
#define IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_11_DEFVAL     
#define IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_11_SHIFT      11
#define IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_11_MASK       0x00000800U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_12_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_12_SHIFT 
#undef IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_12_MASK 
#define IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_12_DEFVAL     
#define IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_12_SHIFT      12
#define IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_12_MASK       0x00001000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_13_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_13_SHIFT 
#undef IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_13_MASK 
#define IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_13_DEFVAL     
#define IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_13_SHIFT      13
#define IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_13_MASK       0x00002000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_14_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_14_SHIFT 
#undef IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_14_MASK 
#define IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_14_DEFVAL     
#define IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_14_SHIFT      14
#define IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_14_MASK       0x00004000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_15_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_15_SHIFT 
#undef IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_15_MASK 
#define IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_15_DEFVAL     
#define IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_15_SHIFT      15
#define IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_15_MASK       0x00008000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_16_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_16_SHIFT 
#undef IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_16_MASK 
#define IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_16_DEFVAL     
#define IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_16_SHIFT      16
#define IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_16_MASK       0x00010000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_17_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_17_SHIFT 
#undef IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_17_MASK 
#define IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_17_DEFVAL     
#define IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_17_SHIFT      17
#define IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_17_MASK       0x00020000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_18_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_18_SHIFT 
#undef IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_18_MASK 
#define IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_18_DEFVAL     
#define IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_18_SHIFT      18
#define IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_18_MASK       0x00040000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_19_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_19_SHIFT 
#undef IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_19_MASK 
#define IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_19_DEFVAL     
#define IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_19_SHIFT      19
#define IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_19_MASK       0x00080000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_20_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_20_SHIFT 
#undef IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_20_MASK 
#define IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_20_DEFVAL     
#define IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_20_SHIFT      20
#define IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_20_MASK       0x00100000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_21_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_21_SHIFT 
#undef IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_21_MASK 
#define IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_21_DEFVAL     
#define IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_21_SHIFT      21
#define IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_21_MASK       0x00200000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_22_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_22_SHIFT 
#undef IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_22_MASK 
#define IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_22_DEFVAL     
#define IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_22_SHIFT      22
#define IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_22_MASK       0x00400000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_23_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_23_SHIFT 
#undef IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_23_MASK 
#define IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_23_DEFVAL     
#define IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_23_SHIFT      23
#define IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_23_MASK       0x00800000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_24_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_24_SHIFT 
#undef IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_24_MASK 
#define IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_24_DEFVAL     
#define IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_24_SHIFT      24
#define IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_24_MASK       0x01000000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_25_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_25_SHIFT 
#undef IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_25_MASK 
#define IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_25_DEFVAL     
#define IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_25_SHIFT      25
#define IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_25_MASK       0x02000000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_0_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_0_SHIFT 
#undef IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_0_MASK 
#define IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_0_DEFVAL          
#define IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_0_SHIFT           0
#define IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_0_MASK            0x00000001U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_1_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_1_SHIFT 
#undef IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_1_MASK 
#define IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_1_DEFVAL          
#define IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_1_SHIFT           1
#define IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_1_MASK            0x00000002U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_2_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_2_SHIFT 
#undef IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_2_MASK 
#define IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_2_DEFVAL          
#define IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_2_SHIFT           2
#define IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_2_MASK            0x00000004U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_3_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_3_SHIFT 
#undef IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_3_MASK 
#define IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_3_DEFVAL          
#define IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_3_SHIFT           3
#define IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_3_MASK            0x00000008U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_4_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_4_SHIFT 
#undef IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_4_MASK 
#define IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_4_DEFVAL          
#define IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_4_SHIFT           4
#define IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_4_MASK            0x00000010U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_5_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_5_SHIFT 
#undef IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_5_MASK 
#define IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_5_DEFVAL          
#define IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_5_SHIFT           5
#define IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_5_MASK            0x00000020U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_6_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_6_SHIFT 
#undef IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_6_MASK 
#define IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_6_DEFVAL          
#define IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_6_SHIFT           6
#define IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_6_MASK            0x00000040U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_7_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_7_SHIFT 
#undef IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_7_MASK 
#define IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_7_DEFVAL          
#define IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_7_SHIFT           7
#define IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_7_MASK            0x00000080U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_8_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_8_SHIFT 
#undef IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_8_MASK 
#define IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_8_DEFVAL          
#define IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_8_SHIFT           8
#define IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_8_MASK            0x00000100U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_9_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_9_SHIFT 
#undef IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_9_MASK 
#define IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_9_DEFVAL          
#define IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_9_SHIFT           9
#define IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_9_MASK            0x00000200U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_10_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_10_SHIFT 
#undef IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_10_MASK 
#define IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_10_DEFVAL         
#define IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_10_SHIFT          10
#define IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_10_MASK           0x00000400U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_11_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_11_SHIFT 
#undef IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_11_MASK 
#define IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_11_DEFVAL         
#define IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_11_SHIFT          11
#define IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_11_MASK           0x00000800U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_12_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_12_SHIFT 
#undef IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_12_MASK 
#define IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_12_DEFVAL         
#define IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_12_SHIFT          12
#define IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_12_MASK           0x00001000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_13_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_13_SHIFT 
#undef IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_13_MASK 
#define IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_13_DEFVAL         
#define IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_13_SHIFT          13
#define IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_13_MASK           0x00002000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_14_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_14_SHIFT 
#undef IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_14_MASK 
#define IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_14_DEFVAL         
#define IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_14_SHIFT          14
#define IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_14_MASK           0x00004000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_15_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_15_SHIFT 
#undef IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_15_MASK 
#define IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_15_DEFVAL         
#define IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_15_SHIFT          15
#define IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_15_MASK           0x00008000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_16_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_16_SHIFT 
#undef IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_16_MASK 
#define IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_16_DEFVAL         
#define IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_16_SHIFT          16
#define IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_16_MASK           0x00010000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_17_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_17_SHIFT 
#undef IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_17_MASK 
#define IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_17_DEFVAL         
#define IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_17_SHIFT          17
#define IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_17_MASK           0x00020000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_18_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_18_SHIFT 
#undef IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_18_MASK 
#define IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_18_DEFVAL         
#define IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_18_SHIFT          18
#define IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_18_MASK           0x00040000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_19_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_19_SHIFT 
#undef IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_19_MASK 
#define IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_19_DEFVAL         
#define IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_19_SHIFT          19
#define IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_19_MASK           0x00080000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_20_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_20_SHIFT 
#undef IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_20_MASK 
#define IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_20_DEFVAL         
#define IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_20_SHIFT          20
#define IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_20_MASK           0x00100000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_21_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_21_SHIFT 
#undef IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_21_MASK 
#define IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_21_DEFVAL         
#define IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_21_SHIFT          21
#define IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_21_MASK           0x00200000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_22_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_22_SHIFT 
#undef IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_22_MASK 
#define IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_22_DEFVAL         
#define IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_22_SHIFT          22
#define IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_22_MASK           0x00400000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_23_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_23_SHIFT 
#undef IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_23_MASK 
#define IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_23_DEFVAL         
#define IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_23_SHIFT          23
#define IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_23_MASK           0x00800000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_24_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_24_SHIFT 
#undef IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_24_MASK 
#define IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_24_DEFVAL         
#define IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_24_SHIFT          24
#define IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_24_MASK           0x01000000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_25_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_25_SHIFT 
#undef IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_25_MASK 
#define IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_25_DEFVAL         
#define IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_25_SHIFT          25
#define IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_25_MASK           0x02000000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_0_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_0_SHIFT 
#undef IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_0_MASK 
#define IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_0_DEFVAL     
#define IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_0_SHIFT      0
#define IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_0_MASK       0x00000001U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_1_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_1_SHIFT 
#undef IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_1_MASK 
#define IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_1_DEFVAL     
#define IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_1_SHIFT      1
#define IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_1_MASK       0x00000002U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_2_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_2_SHIFT 
#undef IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_2_MASK 
#define IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_2_DEFVAL     
#define IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_2_SHIFT      2
#define IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_2_MASK       0x00000004U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_3_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_3_SHIFT 
#undef IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_3_MASK 
#define IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_3_DEFVAL     
#define IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_3_SHIFT      3
#define IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_3_MASK       0x00000008U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_4_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_4_SHIFT 
#undef IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_4_MASK 
#define IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_4_DEFVAL     
#define IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_4_SHIFT      4
#define IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_4_MASK       0x00000010U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_5_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_5_SHIFT 
#undef IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_5_MASK 
#define IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_5_DEFVAL     
#define IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_5_SHIFT      5
#define IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_5_MASK       0x00000020U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_6_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_6_SHIFT 
#undef IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_6_MASK 
#define IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_6_DEFVAL     
#define IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_6_SHIFT      6
#define IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_6_MASK       0x00000040U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_7_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_7_SHIFT 
#undef IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_7_MASK 
#define IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_7_DEFVAL     
#define IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_7_SHIFT      7
#define IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_7_MASK       0x00000080U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_8_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_8_SHIFT 
#undef IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_8_MASK 
#define IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_8_DEFVAL     
#define IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_8_SHIFT      8
#define IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_8_MASK       0x00000100U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_9_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_9_SHIFT 
#undef IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_9_MASK 
#define IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_9_DEFVAL     
#define IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_9_SHIFT      9
#define IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_9_MASK       0x00000200U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_10_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_10_SHIFT 
#undef IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_10_MASK 
#define IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_10_DEFVAL    
#define IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_10_SHIFT     10
#define IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_10_MASK      0x00000400U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_11_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_11_SHIFT 
#undef IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_11_MASK 
#define IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_11_DEFVAL    
#define IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_11_SHIFT     11
#define IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_11_MASK      0x00000800U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_12_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_12_SHIFT 
#undef IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_12_MASK 
#define IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_12_DEFVAL    
#define IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_12_SHIFT     12
#define IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_12_MASK      0x00001000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_13_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_13_SHIFT 
#undef IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_13_MASK 
#define IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_13_DEFVAL    
#define IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_13_SHIFT     13
#define IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_13_MASK      0x00002000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_14_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_14_SHIFT 
#undef IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_14_MASK 
#define IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_14_DEFVAL    
#define IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_14_SHIFT     14
#define IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_14_MASK      0x00004000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_15_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_15_SHIFT 
#undef IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_15_MASK 
#define IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_15_DEFVAL    
#define IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_15_SHIFT     15
#define IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_15_MASK      0x00008000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_16_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_16_SHIFT 
#undef IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_16_MASK 
#define IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_16_DEFVAL    
#define IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_16_SHIFT     16
#define IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_16_MASK      0x00010000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_17_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_17_SHIFT 
#undef IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_17_MASK 
#define IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_17_DEFVAL    
#define IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_17_SHIFT     17
#define IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_17_MASK      0x00020000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_18_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_18_SHIFT 
#undef IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_18_MASK 
#define IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_18_DEFVAL    
#define IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_18_SHIFT     18
#define IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_18_MASK      0x00040000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_19_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_19_SHIFT 
#undef IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_19_MASK 
#define IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_19_DEFVAL    
#define IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_19_SHIFT     19
#define IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_19_MASK      0x00080000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_20_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_20_SHIFT 
#undef IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_20_MASK 
#define IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_20_DEFVAL    
#define IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_20_SHIFT     20
#define IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_20_MASK      0x00100000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_21_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_21_SHIFT 
#undef IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_21_MASK 
#define IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_21_DEFVAL    
#define IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_21_SHIFT     21
#define IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_21_MASK      0x00200000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_22_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_22_SHIFT 
#undef IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_22_MASK 
#define IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_22_DEFVAL    
#define IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_22_SHIFT     22
#define IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_22_MASK      0x00400000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_23_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_23_SHIFT 
#undef IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_23_MASK 
#define IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_23_DEFVAL    
#define IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_23_SHIFT     23
#define IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_23_MASK      0x00800000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_24_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_24_SHIFT 
#undef IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_24_MASK 
#define IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_24_DEFVAL    
#define IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_24_SHIFT     24
#define IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_24_MASK      0x01000000U

/*
* Each bit applies to a single IO. Bit 0 for MIO[52].
*/
#undef IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_25_DEFVAL 
#undef IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_25_SHIFT 
#undef IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_25_MASK 
#define IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_25_DEFVAL    
#define IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_25_SHIFT     25
#define IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_25_MASK      0x02000000U

/*
* I2C Loopback Control. 0 = Connect I2C inputs according to MIO mapping. 1
    *  = Loop I2C 0 outputs to I2C 1 inputs, and I2C 1 outputs to I2C 0 inputs
    * .
*/
#undef IOU_SLCR_MIO_LOOPBACK_I2C0_LOOP_I2C1_DEFVAL 
#undef IOU_SLCR_MIO_LOOPBACK_I2C0_LOOP_I2C1_SHIFT 
#undef IOU_SLCR_MIO_LOOPBACK_I2C0_LOOP_I2C1_MASK 
#define IOU_SLCR_MIO_LOOPBACK_I2C0_LOOP_I2C1_DEFVAL            0x00000000
#define IOU_SLCR_MIO_LOOPBACK_I2C0_LOOP_I2C1_SHIFT             3
#define IOU_SLCR_MIO_LOOPBACK_I2C0_LOOP_I2C1_MASK              0x00000008U

/*
* CAN Loopback Control. 0 = Connect CAN inputs according to MIO mapping. 1
    *  = Loop CAN 0 Tx to CAN 1 Rx, and CAN 1 Tx to CAN 0 Rx.
*/
#undef IOU_SLCR_MIO_LOOPBACK_CAN0_LOOP_CAN1_DEFVAL 
#undef IOU_SLCR_MIO_LOOPBACK_CAN0_LOOP_CAN1_SHIFT 
#undef IOU_SLCR_MIO_LOOPBACK_CAN0_LOOP_CAN1_MASK 
#define IOU_SLCR_MIO_LOOPBACK_CAN0_LOOP_CAN1_DEFVAL            0x00000000
#define IOU_SLCR_MIO_LOOPBACK_CAN0_LOOP_CAN1_SHIFT             2
#define IOU_SLCR_MIO_LOOPBACK_CAN0_LOOP_CAN1_MASK              0x00000004U

/*
* UART Loopback Control. 0 = Connect UART inputs according to MIO mapping.
    *  1 = Loop UART 0 outputs to UART 1 inputs, and UART 1 outputs to UART 0
    * inputs. RXD/TXD cross-connected. RTS/CTS cross-connected. DSR, DTR, DCD
    * and RI not used.
*/
#undef IOU_SLCR_MIO_LOOPBACK_UA0_LOOP_UA1_DEFVAL 
#undef IOU_SLCR_MIO_LOOPBACK_UA0_LOOP_UA1_SHIFT 
#undef IOU_SLCR_MIO_LOOPBACK_UA0_LOOP_UA1_MASK 
#define IOU_SLCR_MIO_LOOPBACK_UA0_LOOP_UA1_DEFVAL              0x00000000
#define IOU_SLCR_MIO_LOOPBACK_UA0_LOOP_UA1_SHIFT               1
#define IOU_SLCR_MIO_LOOPBACK_UA0_LOOP_UA1_MASK                0x00000002U

/*
* SPI Loopback Control. 0 = Connect SPI inputs according to MIO mapping. 1
    *  = Loop SPI 0 outputs to SPI 1 inputs, and SPI 1 outputs to SPI 0 inputs
    * . The other SPI core will appear on the LS Slave Select.
*/
#undef IOU_SLCR_MIO_LOOPBACK_SPI0_LOOP_SPI1_DEFVAL 
#undef IOU_SLCR_MIO_LOOPBACK_SPI0_LOOP_SPI1_SHIFT 
#undef IOU_SLCR_MIO_LOOPBACK_SPI0_LOOP_SPI1_MASK 
#define IOU_SLCR_MIO_LOOPBACK_SPI0_LOOP_SPI1_DEFVAL            0x00000000
#define IOU_SLCR_MIO_LOOPBACK_SPI0_LOOP_SPI1_SHIFT             0
#define IOU_SLCR_MIO_LOOPBACK_SPI0_LOOP_SPI1_MASK              0x00000001U
#undef CRF_APB_RST_FPD_TOP_OFFSET 
#define CRF_APB_RST_FPD_TOP_OFFSET                                                 0XFD1A0100
#undef CRL_APB_RST_LPD_IOU2_OFFSET 
#define CRL_APB_RST_LPD_IOU2_OFFSET                                                0XFF5E0238
#undef CRL_APB_RST_LPD_TOP_OFFSET 
#define CRL_APB_RST_LPD_TOP_OFFSET                                                 0XFF5E023C
#undef CRL_APB_RST_LPD_IOU0_OFFSET 
#define CRL_APB_RST_LPD_IOU0_OFFSET                                                0XFF5E0230
#undef CRL_APB_RST_LPD_IOU2_OFFSET 
#define CRL_APB_RST_LPD_IOU2_OFFSET                                                0XFF5E0238
#undef IOU_SLCR_IOU_TAPDLY_BYPASS_OFFSET 
#define IOU_SLCR_IOU_TAPDLY_BYPASS_OFFSET                                          0XFF180390
#undef CRL_APB_RST_LPD_TOP_OFFSET 
#define CRL_APB_RST_LPD_TOP_OFFSET                                                 0XFF5E023C
#undef USB3_0_FPD_POWER_PRSNT_OFFSET 
#define USB3_0_FPD_POWER_PRSNT_OFFSET                                              0XFF9D0080
#undef USB3_0_FPD_PIPE_CLK_OFFSET 
#define USB3_0_FPD_PIPE_CLK_OFFSET                                                 0XFF9D007C
#undef CRL_APB_RST_LPD_IOU2_OFFSET 
#define CRL_APB_RST_LPD_IOU2_OFFSET                                                0XFF5E0238
#undef IOU_SLCR_CTRL_REG_SD_OFFSET 
#define IOU_SLCR_CTRL_REG_SD_OFFSET                                                0XFF180310
#undef IOU_SLCR_SD_CONFIG_REG2_OFFSET 
#define IOU_SLCR_SD_CONFIG_REG2_OFFSET                                             0XFF180320
#undef IOU_SLCR_SD_CONFIG_REG1_OFFSET 
#define IOU_SLCR_SD_CONFIG_REG1_OFFSET                                             0XFF18031C
#undef IOU_SLCR_SD_DLL_CTRL_OFFSET 
#define IOU_SLCR_SD_DLL_CTRL_OFFSET                                                0XFF180358
#undef IOU_SLCR_SD_CONFIG_REG3_OFFSET 
#define IOU_SLCR_SD_CONFIG_REG3_OFFSET                                             0XFF180324
#undef CRL_APB_RST_LPD_IOU2_OFFSET 
#define CRL_APB_RST_LPD_IOU2_OFFSET                                                0XFF5E0238
#undef CRL_APB_RST_LPD_IOU2_OFFSET 
#define CRL_APB_RST_LPD_IOU2_OFFSET                                                0XFF5E0238
#undef CRL_APB_RST_LPD_IOU2_OFFSET 
#define CRL_APB_RST_LPD_IOU2_OFFSET                                                0XFF5E0238
#undef CRL_APB_RST_LPD_IOU2_OFFSET 
#define CRL_APB_RST_LPD_IOU2_OFFSET                                                0XFF5E0238
#undef CRL_APB_RST_LPD_IOU2_OFFSET 
#define CRL_APB_RST_LPD_IOU2_OFFSET                                                0XFF5E0238
#undef UART0_BAUD_RATE_DIVIDER_REG0_OFFSET 
#define UART0_BAUD_RATE_DIVIDER_REG0_OFFSET                                        0XFF000034
#undef UART0_BAUD_RATE_GEN_REG0_OFFSET 
#define UART0_BAUD_RATE_GEN_REG0_OFFSET                                            0XFF000018
#undef UART0_CONTROL_REG0_OFFSET 
#define UART0_CONTROL_REG0_OFFSET                                                  0XFF000000
#undef UART0_MODE_REG0_OFFSET 
#define UART0_MODE_REG0_OFFSET                                                     0XFF000004
#undef UART1_BAUD_RATE_DIVIDER_REG0_OFFSET 
#define UART1_BAUD_RATE_DIVIDER_REG0_OFFSET                                        0XFF010034
#undef UART1_BAUD_RATE_GEN_REG0_OFFSET 
#define UART1_BAUD_RATE_GEN_REG0_OFFSET                                            0XFF010018
#undef UART1_CONTROL_REG0_OFFSET 
#define UART1_CONTROL_REG0_OFFSET                                                  0XFF010000
#undef UART1_MODE_REG0_OFFSET 
#define UART1_MODE_REG0_OFFSET                                                     0XFF010004
#undef CRL_APB_RST_LPD_IOU2_OFFSET 
#define CRL_APB_RST_LPD_IOU2_OFFSET                                                0XFF5E0238
#undef LPD_SLCR_SECURE_SLCR_ADMA_OFFSET 
#define LPD_SLCR_SECURE_SLCR_ADMA_OFFSET                                           0XFF4B0024
#undef CSU_TAMPER_STATUS_OFFSET 
#define CSU_TAMPER_STATUS_OFFSET                                                   0XFFCA5000
#undef APU_ACE_CTRL_OFFSET 
#define APU_ACE_CTRL_OFFSET                                                        0XFD5C0060
#undef RTC_CONTROL_OFFSET 
#define RTC_CONTROL_OFFSET                                                         0XFFA60040
#undef IOU_SCNTRS_BASE_FREQUENCY_ID_REGISTER_OFFSET 
#define IOU_SCNTRS_BASE_FREQUENCY_ID_REGISTER_OFFSET                               0XFF260020
#undef IOU_SCNTRS_COUNTER_CONTROL_REGISTER_OFFSET 
#define IOU_SCNTRS_COUNTER_CONTROL_REGISTER_OFFSET                                 0XFF260000
#undef GPIO_DIRM_1_OFFSET 
#define GPIO_DIRM_1_OFFSET                                                         0XFF0A0244
#undef GPIO_OEN_1_OFFSET 
#define GPIO_OEN_1_OFFSET                                                          0XFF0A0248
#undef GPIO_MASK_DATA_1_LSW_OFFSET 
#define GPIO_MASK_DATA_1_LSW_OFFSET                                                0XFF0A0008
#undef GPIO_MASK_DATA_1_LSW_OFFSET 
#define GPIO_MASK_DATA_1_LSW_OFFSET                                                0XFF0A0008

/*
* PCIE config reset
*/
#undef CRF_APB_RST_FPD_TOP_PCIE_CFG_RESET_DEFVAL 
#undef CRF_APB_RST_FPD_TOP_PCIE_CFG_RESET_SHIFT 
#undef CRF_APB_RST_FPD_TOP_PCIE_CFG_RESET_MASK 
#define CRF_APB_RST_FPD_TOP_PCIE_CFG_RESET_DEFVAL              0x000F9FFE
#define CRF_APB_RST_FPD_TOP_PCIE_CFG_RESET_SHIFT               19
#define CRF_APB_RST_FPD_TOP_PCIE_CFG_RESET_MASK                0x00080000U

/*
* PCIE control block level reset
*/
#undef CRF_APB_RST_FPD_TOP_PCIE_CTRL_RESET_DEFVAL 
#undef CRF_APB_RST_FPD_TOP_PCIE_CTRL_RESET_SHIFT 
#undef CRF_APB_RST_FPD_TOP_PCIE_CTRL_RESET_MASK 
#define CRF_APB_RST_FPD_TOP_PCIE_CTRL_RESET_DEFVAL             0x000F9FFE
#define CRF_APB_RST_FPD_TOP_PCIE_CTRL_RESET_SHIFT              17
#define CRF_APB_RST_FPD_TOP_PCIE_CTRL_RESET_MASK               0x00020000U

/*
* PCIE bridge block level reset (AXI interface)
*/
#undef CRF_APB_RST_FPD_TOP_PCIE_BRIDGE_RESET_DEFVAL 
#undef CRF_APB_RST_FPD_TOP_PCIE_BRIDGE_RESET_SHIFT 
#undef CRF_APB_RST_FPD_TOP_PCIE_BRIDGE_RESET_MASK 
#define CRF_APB_RST_FPD_TOP_PCIE_BRIDGE_RESET_DEFVAL           0x000F9FFE
#define CRF_APB_RST_FPD_TOP_PCIE_BRIDGE_RESET_SHIFT            18
#define CRF_APB_RST_FPD_TOP_PCIE_BRIDGE_RESET_MASK             0x00040000U

/*
* Display Port block level reset (includes DPDMA)
*/
#undef CRF_APB_RST_FPD_TOP_DP_RESET_DEFVAL 
#undef CRF_APB_RST_FPD_TOP_DP_RESET_SHIFT 
#undef CRF_APB_RST_FPD_TOP_DP_RESET_MASK 
#define CRF_APB_RST_FPD_TOP_DP_RESET_DEFVAL                    0x000F9FFE
#define CRF_APB_RST_FPD_TOP_DP_RESET_SHIFT                     16
#define CRF_APB_RST_FPD_TOP_DP_RESET_MASK                      0x00010000U

/*
* FPD WDT reset
*/
#undef CRF_APB_RST_FPD_TOP_SWDT_RESET_DEFVAL 
#undef CRF_APB_RST_FPD_TOP_SWDT_RESET_SHIFT 
#undef CRF_APB_RST_FPD_TOP_SWDT_RESET_MASK 
#define CRF_APB_RST_FPD_TOP_SWDT_RESET_DEFVAL                  0x000F9FFE
#define CRF_APB_RST_FPD_TOP_SWDT_RESET_SHIFT                   15
#define CRF_APB_RST_FPD_TOP_SWDT_RESET_MASK                    0x00008000U

/*
* GDMA block level reset
*/
#undef CRF_APB_RST_FPD_TOP_GDMA_RESET_DEFVAL 
#undef CRF_APB_RST_FPD_TOP_GDMA_RESET_SHIFT 
#undef CRF_APB_RST_FPD_TOP_GDMA_RESET_MASK 
#define CRF_APB_RST_FPD_TOP_GDMA_RESET_DEFVAL                  0x000F9FFE
#define CRF_APB_RST_FPD_TOP_GDMA_RESET_SHIFT                   6
#define CRF_APB_RST_FPD_TOP_GDMA_RESET_MASK                    0x00000040U

/*
* Pixel Processor (submodule of GPU) block level reset
*/
#undef CRF_APB_RST_FPD_TOP_GPU_PP0_RESET_DEFVAL 
#undef CRF_APB_RST_FPD_TOP_GPU_PP0_RESET_SHIFT 
#undef CRF_APB_RST_FPD_TOP_GPU_PP0_RESET_MASK 
#define CRF_APB_RST_FPD_TOP_GPU_PP0_RESET_DEFVAL               0x000F9FFE
#define CRF_APB_RST_FPD_TOP_GPU_PP0_RESET_SHIFT                4
#define CRF_APB_RST_FPD_TOP_GPU_PP0_RESET_MASK                 0x00000010U

/*
* Pixel Processor (submodule of GPU) block level reset
*/
#undef CRF_APB_RST_FPD_TOP_GPU_PP1_RESET_DEFVAL 
#undef CRF_APB_RST_FPD_TOP_GPU_PP1_RESET_SHIFT 
#undef CRF_APB_RST_FPD_TOP_GPU_PP1_RESET_MASK 
#define CRF_APB_RST_FPD_TOP_GPU_PP1_RESET_DEFVAL               0x000F9FFE
#define CRF_APB_RST_FPD_TOP_GPU_PP1_RESET_SHIFT                5
#define CRF_APB_RST_FPD_TOP_GPU_PP1_RESET_MASK                 0x00000020U

/*
* GPU block level reset
*/
#undef CRF_APB_RST_FPD_TOP_GPU_RESET_DEFVAL 
#undef CRF_APB_RST_FPD_TOP_GPU_RESET_SHIFT 
#undef CRF_APB_RST_FPD_TOP_GPU_RESET_MASK 
#define CRF_APB_RST_FPD_TOP_GPU_RESET_DEFVAL                   0x000F9FFE
#define CRF_APB_RST_FPD_TOP_GPU_RESET_SHIFT                    3
#define CRF_APB_RST_FPD_TOP_GPU_RESET_MASK                     0x00000008U

/*
* GT block level reset
*/
#undef CRF_APB_RST_FPD_TOP_GT_RESET_DEFVAL 
#undef CRF_APB_RST_FPD_TOP_GT_RESET_SHIFT 
#undef CRF_APB_RST_FPD_TOP_GT_RESET_MASK 
#define CRF_APB_RST_FPD_TOP_GT_RESET_DEFVAL                    0x000F9FFE
#define CRF_APB_RST_FPD_TOP_GT_RESET_SHIFT                     2
#define CRF_APB_RST_FPD_TOP_GT_RESET_MASK                      0x00000004U

/*
* Sata block level reset
*/
#undef CRF_APB_RST_FPD_TOP_SATA_RESET_DEFVAL 
#undef CRF_APB_RST_FPD_TOP_SATA_RESET_SHIFT 
#undef CRF_APB_RST_FPD_TOP_SATA_RESET_MASK 
#define CRF_APB_RST_FPD_TOP_SATA_RESET_DEFVAL                  0x000F9FFE
#define CRF_APB_RST_FPD_TOP_SATA_RESET_SHIFT                   1
#define CRF_APB_RST_FPD_TOP_SATA_RESET_MASK                    0x00000002U

/*
* Block level reset
*/
#undef CRL_APB_RST_LPD_IOU2_TIMESTAMP_RESET_DEFVAL 
#undef CRL_APB_RST_LPD_IOU2_TIMESTAMP_RESET_SHIFT 
#undef CRL_APB_RST_LPD_IOU2_TIMESTAMP_RESET_MASK 
#define CRL_APB_RST_LPD_IOU2_TIMESTAMP_RESET_DEFVAL            0x0017FFFF
#define CRL_APB_RST_LPD_IOU2_TIMESTAMP_RESET_SHIFT             20
#define CRL_APB_RST_LPD_IOU2_TIMESTAMP_RESET_MASK              0x00100000U

/*
* Block level reset
*/
#undef CRL_APB_RST_LPD_IOU2_IOU_CC_RESET_DEFVAL 
#undef CRL_APB_RST_LPD_IOU2_IOU_CC_RESET_SHIFT 
#undef CRL_APB_RST_LPD_IOU2_IOU_CC_RESET_MASK 
#define CRL_APB_RST_LPD_IOU2_IOU_CC_RESET_DEFVAL               0x0017FFFF
#define CRL_APB_RST_LPD_IOU2_IOU_CC_RESET_SHIFT                19
#define CRL_APB_RST_LPD_IOU2_IOU_CC_RESET_MASK                 0x00080000U

/*
* Block level reset
*/
#undef CRL_APB_RST_LPD_IOU2_ADMA_RESET_DEFVAL 
#undef CRL_APB_RST_LPD_IOU2_ADMA_RESET_SHIFT 
#undef CRL_APB_RST_LPD_IOU2_ADMA_RESET_MASK 
#define CRL_APB_RST_LPD_IOU2_ADMA_RESET_DEFVAL                 0x0017FFFF
#define CRL_APB_RST_LPD_IOU2_ADMA_RESET_SHIFT                  17
#define CRL_APB_RST_LPD_IOU2_ADMA_RESET_MASK                   0x00020000U

/*
* Reset entire full power domain.
*/
#undef CRL_APB_RST_LPD_TOP_FPD_RESET_DEFVAL 
#undef CRL_APB_RST_LPD_TOP_FPD_RESET_SHIFT 
#undef CRL_APB_RST_LPD_TOP_FPD_RESET_MASK 
#define CRL_APB_RST_LPD_TOP_FPD_RESET_DEFVAL                   0x00188FDF
#define CRL_APB_RST_LPD_TOP_FPD_RESET_SHIFT                    23
#define CRL_APB_RST_LPD_TOP_FPD_RESET_MASK                     0x00800000U

/*
* LPD SWDT
*/
#undef CRL_APB_RST_LPD_TOP_LPD_SWDT_RESET_DEFVAL 
#undef CRL_APB_RST_LPD_TOP_LPD_SWDT_RESET_SHIFT 
#undef CRL_APB_RST_LPD_TOP_LPD_SWDT_RESET_MASK 
#define CRL_APB_RST_LPD_TOP_LPD_SWDT_RESET_DEFVAL              0x00188FDF
#define CRL_APB_RST_LPD_TOP_LPD_SWDT_RESET_SHIFT               20
#define CRL_APB_RST_LPD_TOP_LPD_SWDT_RESET_MASK                0x00100000U

/*
* Sysmonitor reset
*/
#undef CRL_APB_RST_LPD_TOP_SYSMON_RESET_DEFVAL 
#undef CRL_APB_RST_LPD_TOP_SYSMON_RESET_SHIFT 
#undef CRL_APB_RST_LPD_TOP_SYSMON_RESET_MASK 
#define CRL_APB_RST_LPD_TOP_SYSMON_RESET_DEFVAL                0x00188FDF
#define CRL_APB_RST_LPD_TOP_SYSMON_RESET_SHIFT                 17
#define CRL_APB_RST_LPD_TOP_SYSMON_RESET_MASK                  0x00020000U

/*
* Real Time Clock reset
*/
#undef CRL_APB_RST_LPD_TOP_RTC_RESET_DEFVAL 
#undef CRL_APB_RST_LPD_TOP_RTC_RESET_SHIFT 
#undef CRL_APB_RST_LPD_TOP_RTC_RESET_MASK 
#define CRL_APB_RST_LPD_TOP_RTC_RESET_DEFVAL                   0x00188FDF
#define CRL_APB_RST_LPD_TOP_RTC_RESET_SHIFT                    16
#define CRL_APB_RST_LPD_TOP_RTC_RESET_MASK                     0x00010000U

/*
* APM reset
*/
#undef CRL_APB_RST_LPD_TOP_APM_RESET_DEFVAL 
#undef CRL_APB_RST_LPD_TOP_APM_RESET_SHIFT 
#undef CRL_APB_RST_LPD_TOP_APM_RESET_MASK 
#define CRL_APB_RST_LPD_TOP_APM_RESET_DEFVAL                   0x00188FDF
#define CRL_APB_RST_LPD_TOP_APM_RESET_SHIFT                    15
#define CRL_APB_RST_LPD_TOP_APM_RESET_MASK                     0x00008000U

/*
* IPI reset
*/
#undef CRL_APB_RST_LPD_TOP_IPI_RESET_DEFVAL 
#undef CRL_APB_RST_LPD_TOP_IPI_RESET_SHIFT 
#undef CRL_APB_RST_LPD_TOP_IPI_RESET_MASK 
#define CRL_APB_RST_LPD_TOP_IPI_RESET_DEFVAL                   0x00188FDF
#define CRL_APB_RST_LPD_TOP_IPI_RESET_SHIFT                    14
#define CRL_APB_RST_LPD_TOP_IPI_RESET_MASK                     0x00004000U

/*
* reset entire RPU power island
*/
#undef CRL_APB_RST_LPD_TOP_RPU_PGE_RESET_DEFVAL 
#undef CRL_APB_RST_LPD_TOP_RPU_PGE_RESET_SHIFT 
#undef CRL_APB_RST_LPD_TOP_RPU_PGE_RESET_MASK 
#define CRL_APB_RST_LPD_TOP_RPU_PGE_RESET_DEFVAL               0x00188FDF
#define CRL_APB_RST_LPD_TOP_RPU_PGE_RESET_SHIFT                4
#define CRL_APB_RST_LPD_TOP_RPU_PGE_RESET_MASK                 0x00000010U

/*
* reset ocm
*/
#undef CRL_APB_RST_LPD_TOP_OCM_RESET_DEFVAL 
#undef CRL_APB_RST_LPD_TOP_OCM_RESET_SHIFT 
#undef CRL_APB_RST_LPD_TOP_OCM_RESET_MASK 
#define CRL_APB_RST_LPD_TOP_OCM_RESET_DEFVAL                   0x00188FDF
#define CRL_APB_RST_LPD_TOP_OCM_RESET_SHIFT                    3
#define CRL_APB_RST_LPD_TOP_OCM_RESET_MASK                     0x00000008U

/*
* GEM 3 reset
*/
#undef CRL_APB_RST_LPD_IOU0_GEM3_RESET_DEFVAL 
#undef CRL_APB_RST_LPD_IOU0_GEM3_RESET_SHIFT 
#undef CRL_APB_RST_LPD_IOU0_GEM3_RESET_MASK 
#define CRL_APB_RST_LPD_IOU0_GEM3_RESET_DEFVAL                 0x0000000F
#define CRL_APB_RST_LPD_IOU0_GEM3_RESET_SHIFT                  3
#define CRL_APB_RST_LPD_IOU0_GEM3_RESET_MASK                   0x00000008U

/*
* Block level reset
*/
#undef CRL_APB_RST_LPD_IOU2_QSPI_RESET_DEFVAL 
#undef CRL_APB_RST_LPD_IOU2_QSPI_RESET_SHIFT 
#undef CRL_APB_RST_LPD_IOU2_QSPI_RESET_MASK 
#define CRL_APB_RST_LPD_IOU2_QSPI_RESET_DEFVAL                 0x0017FFFF
#define CRL_APB_RST_LPD_IOU2_QSPI_RESET_SHIFT                  0
#define CRL_APB_RST_LPD_IOU2_QSPI_RESET_MASK                   0x00000001U

/*
* 0: Do not by pass the tap delays on the Rx clock signal of LQSPI 1: Bypa
    * ss the Tap delay on the Rx clock signal of LQSPI
*/
#undef IOU_SLCR_IOU_TAPDLY_BYPASS_LQSPI_RX_DEFVAL 
#undef IOU_SLCR_IOU_TAPDLY_BYPASS_LQSPI_RX_SHIFT 
#undef IOU_SLCR_IOU_TAPDLY_BYPASS_LQSPI_RX_MASK 
#define IOU_SLCR_IOU_TAPDLY_BYPASS_LQSPI_RX_DEFVAL             0x00000007
#define IOU_SLCR_IOU_TAPDLY_BYPASS_LQSPI_RX_SHIFT              2
#define IOU_SLCR_IOU_TAPDLY_BYPASS_LQSPI_RX_MASK               0x00000004U

/*
* USB 0 reset for control registers
*/
#undef CRL_APB_RST_LPD_TOP_USB0_APB_RESET_DEFVAL 
#undef CRL_APB_RST_LPD_TOP_USB0_APB_RESET_SHIFT 
#undef CRL_APB_RST_LPD_TOP_USB0_APB_RESET_MASK 
#define CRL_APB_RST_LPD_TOP_USB0_APB_RESET_DEFVAL              0x00188FDF
#define CRL_APB_RST_LPD_TOP_USB0_APB_RESET_SHIFT               10
#define CRL_APB_RST_LPD_TOP_USB0_APB_RESET_MASK                0x00000400U

/*
* USB 0 sleep circuit reset
*/
#undef CRL_APB_RST_LPD_TOP_USB0_HIBERRESET_DEFVAL 
#undef CRL_APB_RST_LPD_TOP_USB0_HIBERRESET_SHIFT 
#undef CRL_APB_RST_LPD_TOP_USB0_HIBERRESET_MASK 
#define CRL_APB_RST_LPD_TOP_USB0_HIBERRESET_DEFVAL             0x00188FDF
#define CRL_APB_RST_LPD_TOP_USB0_HIBERRESET_SHIFT              8
#define CRL_APB_RST_LPD_TOP_USB0_HIBERRESET_MASK               0x00000100U

/*
* USB 0 reset
*/
#undef CRL_APB_RST_LPD_TOP_USB0_CORERESET_DEFVAL 
#undef CRL_APB_RST_LPD_TOP_USB0_CORERESET_SHIFT 
#undef CRL_APB_RST_LPD_TOP_USB0_CORERESET_MASK 
#define CRL_APB_RST_LPD_TOP_USB0_CORERESET_DEFVAL              0x00188FDF
#define CRL_APB_RST_LPD_TOP_USB0_CORERESET_SHIFT               6
#define CRL_APB_RST_LPD_TOP_USB0_CORERESET_MASK                0x00000040U

/*
* This bit is used to choose between PIPE power present and 1'b1
*/
#undef USB3_0_FPD_POWER_PRSNT_OPTION_DEFVAL 
#undef USB3_0_FPD_POWER_PRSNT_OPTION_SHIFT 
#undef USB3_0_FPD_POWER_PRSNT_OPTION_MASK 
#define USB3_0_FPD_POWER_PRSNT_OPTION_DEFVAL                   
#define USB3_0_FPD_POWER_PRSNT_OPTION_SHIFT                    0
#define USB3_0_FPD_POWER_PRSNT_OPTION_MASK                     0x00000001U

/*
* This bit is used to choose between PIPE clock coming from SerDes and the
    *  suspend clk
*/
#undef USB3_0_FPD_PIPE_CLK_OPTION_DEFVAL 
#undef USB3_0_FPD_PIPE_CLK_OPTION_SHIFT 
#undef USB3_0_FPD_PIPE_CLK_OPTION_MASK 
#define USB3_0_FPD_PIPE_CLK_OPTION_DEFVAL                      
#define USB3_0_FPD_PIPE_CLK_OPTION_SHIFT                       0
#define USB3_0_FPD_PIPE_CLK_OPTION_MASK                        0x00000001U

/*
* Block level reset
*/
#undef CRL_APB_RST_LPD_IOU2_SDIO1_RESET_DEFVAL 
#undef CRL_APB_RST_LPD_IOU2_SDIO1_RESET_SHIFT 
#undef CRL_APB_RST_LPD_IOU2_SDIO1_RESET_MASK 
#define CRL_APB_RST_LPD_IOU2_SDIO1_RESET_DEFVAL                0x0017FFFF
#define CRL_APB_RST_LPD_IOU2_SDIO1_RESET_SHIFT                 6
#define CRL_APB_RST_LPD_IOU2_SDIO1_RESET_MASK                  0x00000040U

/*
* SD or eMMC selection on SDIO1 0: SD enabled 1: eMMC enabled
*/
#undef IOU_SLCR_CTRL_REG_SD_SD1_EMMC_SEL_DEFVAL 
#undef IOU_SLCR_CTRL_REG_SD_SD1_EMMC_SEL_SHIFT 
#undef IOU_SLCR_CTRL_REG_SD_SD1_EMMC_SEL_MASK 
#define IOU_SLCR_CTRL_REG_SD_SD1_EMMC_SEL_DEFVAL               0x00000000
#define IOU_SLCR_CTRL_REG_SD_SD1_EMMC_SEL_SHIFT                15
#define IOU_SLCR_CTRL_REG_SD_SD1_EMMC_SEL_MASK                 0x00008000U

/*
* Should be set based on the final product usage 00 - Removable SCard Slot
    *  01 - Embedded Slot for One Device 10 - Shared Bus Slot 11 - Reserved
*/
#undef IOU_SLCR_SD_CONFIG_REG2_SD1_SLOTTYPE_DEFVAL 
#undef IOU_SLCR_SD_CONFIG_REG2_SD1_SLOTTYPE_SHIFT 
#undef IOU_SLCR_SD_CONFIG_REG2_SD1_SLOTTYPE_MASK 
#define IOU_SLCR_SD_CONFIG_REG2_SD1_SLOTTYPE_DEFVAL            0x0FFC0FFC
#define IOU_SLCR_SD_CONFIG_REG2_SD1_SLOTTYPE_SHIFT             28
#define IOU_SLCR_SD_CONFIG_REG2_SD1_SLOTTYPE_MASK              0x30000000U

/*
* 1.8V Support 1: 1.8V supported 0: 1.8V not supported support
*/
#undef IOU_SLCR_SD_CONFIG_REG2_SD1_1P8V_DEFVAL 
#undef IOU_SLCR_SD_CONFIG_REG2_SD1_1P8V_SHIFT 
#undef IOU_SLCR_SD_CONFIG_REG2_SD1_1P8V_MASK 
#define IOU_SLCR_SD_CONFIG_REG2_SD1_1P8V_DEFVAL                0x0FFC0FFC
#define IOU_SLCR_SD_CONFIG_REG2_SD1_1P8V_SHIFT                 25
#define IOU_SLCR_SD_CONFIG_REG2_SD1_1P8V_MASK                  0x02000000U

/*
* 3.0V Support 1: 3.0V supported 0: 3.0V not supported support
*/
#undef IOU_SLCR_SD_CONFIG_REG2_SD1_3P0V_DEFVAL 
#undef IOU_SLCR_SD_CONFIG_REG2_SD1_3P0V_SHIFT 
#undef IOU_SLCR_SD_CONFIG_REG2_SD1_3P0V_MASK 
#define IOU_SLCR_SD_CONFIG_REG2_SD1_3P0V_DEFVAL                0x0FFC0FFC
#define IOU_SLCR_SD_CONFIG_REG2_SD1_3P0V_SHIFT                 24
#define IOU_SLCR_SD_CONFIG_REG2_SD1_3P0V_MASK                  0x01000000U

/*
* 3.3V Support 1: 3.3V supported 0: 3.3V not supported support
*/
#undef IOU_SLCR_SD_CONFIG_REG2_SD1_3P3V_DEFVAL 
#undef IOU_SLCR_SD_CONFIG_REG2_SD1_3P3V_SHIFT 
#undef IOU_SLCR_SD_CONFIG_REG2_SD1_3P3V_MASK 
#define IOU_SLCR_SD_CONFIG_REG2_SD1_3P3V_DEFVAL                0x0FFC0FFC
#define IOU_SLCR_SD_CONFIG_REG2_SD1_3P3V_SHIFT                 23
#define IOU_SLCR_SD_CONFIG_REG2_SD1_3P3V_MASK                  0x00800000U

/*
* Base Clock Frequency for SD Clock. This is the frequency of the xin_clk.
*/
#undef IOU_SLCR_SD_CONFIG_REG1_SD1_BASECLK_DEFVAL 
#undef IOU_SLCR_SD_CONFIG_REG1_SD1_BASECLK_SHIFT 
#undef IOU_SLCR_SD_CONFIG_REG1_SD1_BASECLK_MASK 
#define IOU_SLCR_SD_CONFIG_REG1_SD1_BASECLK_DEFVAL             0x32403240
#define IOU_SLCR_SD_CONFIG_REG1_SD1_BASECLK_SHIFT              23
#define IOU_SLCR_SD_CONFIG_REG1_SD1_BASECLK_MASK               0x7F800000U

/*
* Configures the Number of Taps (Phases) of the rxclk_in that is supported
    * .
*/
#undef IOU_SLCR_SD_CONFIG_REG1_SD1_TUNIGCOUNT_DEFVAL 
#undef IOU_SLCR_SD_CONFIG_REG1_SD1_TUNIGCOUNT_SHIFT 
#undef IOU_SLCR_SD_CONFIG_REG1_SD1_TUNIGCOUNT_MASK 
#define IOU_SLCR_SD_CONFIG_REG1_SD1_TUNIGCOUNT_DEFVAL          0x32403240
#define IOU_SLCR_SD_CONFIG_REG1_SD1_TUNIGCOUNT_SHIFT           17
#define IOU_SLCR_SD_CONFIG_REG1_SD1_TUNIGCOUNT_MASK            0x007E0000U

/*
* Reserved.
*/
#undef IOU_SLCR_SD_DLL_CTRL_RESERVED_DEFVAL 
#undef IOU_SLCR_SD_DLL_CTRL_RESERVED_SHIFT 
#undef IOU_SLCR_SD_DLL_CTRL_RESERVED_MASK 
#define IOU_SLCR_SD_DLL_CTRL_RESERVED_DEFVAL                   0x00080008
#define IOU_SLCR_SD_DLL_CTRL_RESERVED_SHIFT                    3
#define IOU_SLCR_SD_DLL_CTRL_RESERVED_MASK                     0x00000008U

/*
* This is the Timer Count for Re-Tuning Timer for Re-Tuning Mode 1 to 3. S
    * etting to 4'b0 disables Re-Tuning Timer. 0h - Get information via other
    * source 1h = 1 seconds 2h = 2 seconds 3h = 4 seconds 4h = 8 seconds -- n
    * = 2(n-1) seconds -- Bh = 1024 seconds Fh - Ch = Reserved
*/
#undef IOU_SLCR_SD_CONFIG_REG3_SD1_RETUNETMR_DEFVAL 
#undef IOU_SLCR_SD_CONFIG_REG3_SD1_RETUNETMR_SHIFT 
#undef IOU_SLCR_SD_CONFIG_REG3_SD1_RETUNETMR_MASK 
#define IOU_SLCR_SD_CONFIG_REG3_SD1_RETUNETMR_DEFVAL           0x06070607
#define IOU_SLCR_SD_CONFIG_REG3_SD1_RETUNETMR_SHIFT            22
#define IOU_SLCR_SD_CONFIG_REG3_SD1_RETUNETMR_MASK             0x03C00000U

/*
* Block level reset
*/
#undef CRL_APB_RST_LPD_IOU2_CAN1_RESET_DEFVAL 
#undef CRL_APB_RST_LPD_IOU2_CAN1_RESET_SHIFT 
#undef CRL_APB_RST_LPD_IOU2_CAN1_RESET_MASK 
#define CRL_APB_RST_LPD_IOU2_CAN1_RESET_DEFVAL                 0x0017FFFF
#define CRL_APB_RST_LPD_IOU2_CAN1_RESET_SHIFT                  8
#define CRL_APB_RST_LPD_IOU2_CAN1_RESET_MASK                   0x00000100U

/*
* Block level reset
*/
#undef CRL_APB_RST_LPD_IOU2_I2C0_RESET_DEFVAL 
#undef CRL_APB_RST_LPD_IOU2_I2C0_RESET_SHIFT 
#undef CRL_APB_RST_LPD_IOU2_I2C0_RESET_MASK 
#define CRL_APB_RST_LPD_IOU2_I2C0_RESET_DEFVAL                 0x0017FFFF
#define CRL_APB_RST_LPD_IOU2_I2C0_RESET_SHIFT                  9
#define CRL_APB_RST_LPD_IOU2_I2C0_RESET_MASK                   0x00000200U

/*
* Block level reset
*/
#undef CRL_APB_RST_LPD_IOU2_I2C1_RESET_DEFVAL 
#undef CRL_APB_RST_LPD_IOU2_I2C1_RESET_SHIFT 
#undef CRL_APB_RST_LPD_IOU2_I2C1_RESET_MASK 
#define CRL_APB_RST_LPD_IOU2_I2C1_RESET_DEFVAL                 0x0017FFFF
#define CRL_APB_RST_LPD_IOU2_I2C1_RESET_SHIFT                  10
#define CRL_APB_RST_LPD_IOU2_I2C1_RESET_MASK                   0x00000400U

/*
* Block level reset
*/
#undef CRL_APB_RST_LPD_IOU2_SWDT_RESET_DEFVAL 
#undef CRL_APB_RST_LPD_IOU2_SWDT_RESET_SHIFT 
#undef CRL_APB_RST_LPD_IOU2_SWDT_RESET_MASK 
#define CRL_APB_RST_LPD_IOU2_SWDT_RESET_DEFVAL                 0x0017FFFF
#define CRL_APB_RST_LPD_IOU2_SWDT_RESET_SHIFT                  15
#define CRL_APB_RST_LPD_IOU2_SWDT_RESET_MASK                   0x00008000U

/*
* Block level reset
*/
#undef CRL_APB_RST_LPD_IOU2_TTC0_RESET_DEFVAL 
#undef CRL_APB_RST_LPD_IOU2_TTC0_RESET_SHIFT 
#undef CRL_APB_RST_LPD_IOU2_TTC0_RESET_MASK 
#define CRL_APB_RST_LPD_IOU2_TTC0_RESET_DEFVAL                 0x0017FFFF
#define CRL_APB_RST_LPD_IOU2_TTC0_RESET_SHIFT                  11
#define CRL_APB_RST_LPD_IOU2_TTC0_RESET_MASK                   0x00000800U

/*
* Block level reset
*/
#undef CRL_APB_RST_LPD_IOU2_TTC1_RESET_DEFVAL 
#undef CRL_APB_RST_LPD_IOU2_TTC1_RESET_SHIFT 
#undef CRL_APB_RST_LPD_IOU2_TTC1_RESET_MASK 
#define CRL_APB_RST_LPD_IOU2_TTC1_RESET_DEFVAL                 0x0017FFFF
#define CRL_APB_RST_LPD_IOU2_TTC1_RESET_SHIFT                  12
#define CRL_APB_RST_LPD_IOU2_TTC1_RESET_MASK                   0x00001000U

/*
* Block level reset
*/
#undef CRL_APB_RST_LPD_IOU2_TTC2_RESET_DEFVAL 
#undef CRL_APB_RST_LPD_IOU2_TTC2_RESET_SHIFT 
#undef CRL_APB_RST_LPD_IOU2_TTC2_RESET_MASK 
#define CRL_APB_RST_LPD_IOU2_TTC2_RESET_DEFVAL                 0x0017FFFF
#define CRL_APB_RST_LPD_IOU2_TTC2_RESET_SHIFT                  13
#define CRL_APB_RST_LPD_IOU2_TTC2_RESET_MASK                   0x00002000U

/*
* Block level reset
*/
#undef CRL_APB_RST_LPD_IOU2_TTC3_RESET_DEFVAL 
#undef CRL_APB_RST_LPD_IOU2_TTC3_RESET_SHIFT 
#undef CRL_APB_RST_LPD_IOU2_TTC3_RESET_MASK 
#define CRL_APB_RST_LPD_IOU2_TTC3_RESET_DEFVAL                 0x0017FFFF
#define CRL_APB_RST_LPD_IOU2_TTC3_RESET_SHIFT                  14
#define CRL_APB_RST_LPD_IOU2_TTC3_RESET_MASK                   0x00004000U

/*
* Block level reset
*/
#undef CRL_APB_RST_LPD_IOU2_UART0_RESET_DEFVAL 
#undef CRL_APB_RST_LPD_IOU2_UART0_RESET_SHIFT 
#undef CRL_APB_RST_LPD_IOU2_UART0_RESET_MASK 
#define CRL_APB_RST_LPD_IOU2_UART0_RESET_DEFVAL                0x0017FFFF
#define CRL_APB_RST_LPD_IOU2_UART0_RESET_SHIFT                 1
#define CRL_APB_RST_LPD_IOU2_UART0_RESET_MASK                  0x00000002U

/*
* Block level reset
*/
#undef CRL_APB_RST_LPD_IOU2_UART1_RESET_DEFVAL 
#undef CRL_APB_RST_LPD_IOU2_UART1_RESET_SHIFT 
#undef CRL_APB_RST_LPD_IOU2_UART1_RESET_MASK 
#define CRL_APB_RST_LPD_IOU2_UART1_RESET_DEFVAL                0x0017FFFF
#define CRL_APB_RST_LPD_IOU2_UART1_RESET_SHIFT                 2
#define CRL_APB_RST_LPD_IOU2_UART1_RESET_MASK                  0x00000004U

/*
* Baud rate divider value: 0 - 3: ignored 4 - 255: Baud rate
*/
#undef UART0_BAUD_RATE_DIVIDER_REG0_BDIV_DEFVAL 
#undef UART0_BAUD_RATE_DIVIDER_REG0_BDIV_SHIFT 
#undef UART0_BAUD_RATE_DIVIDER_REG0_BDIV_MASK 
#define UART0_BAUD_RATE_DIVIDER_REG0_BDIV_DEFVAL               0x0000000F
#define UART0_BAUD_RATE_DIVIDER_REG0_BDIV_SHIFT                0
#define UART0_BAUD_RATE_DIVIDER_REG0_BDIV_MASK                 0x000000FFU

/*
* Baud Rate Clock Divisor Value: 0: Disables baud_sample 1: Clock divisor
    * bypass (baud_sample = sel_clk) 2 - 65535: baud_sample
*/
#undef UART0_BAUD_RATE_GEN_REG0_CD_DEFVAL 
#undef UART0_BAUD_RATE_GEN_REG0_CD_SHIFT 
#undef UART0_BAUD_RATE_GEN_REG0_CD_MASK 
#define UART0_BAUD_RATE_GEN_REG0_CD_DEFVAL                     0x0000028B
#define UART0_BAUD_RATE_GEN_REG0_CD_SHIFT                      0
#define UART0_BAUD_RATE_GEN_REG0_CD_MASK                       0x0000FFFFU

/*
* Stop transmitter break: 0: no affect 1: stop transmission of the break a
    * fter a minimum of one character length and transmit a high level during
    * 12 bit periods. It can be set regardless of the value of STTBRK.
*/
#undef UART0_CONTROL_REG0_STPBRK_DEFVAL 
#undef UART0_CONTROL_REG0_STPBRK_SHIFT 
#undef UART0_CONTROL_REG0_STPBRK_MASK 
#define UART0_CONTROL_REG0_STPBRK_DEFVAL                       0x00000128
#define UART0_CONTROL_REG0_STPBRK_SHIFT                        8
#define UART0_CONTROL_REG0_STPBRK_MASK                         0x00000100U

/*
* Start transmitter break: 0: no affect 1: start to transmit a break after
    *  the characters currently present in the FIFO and the transmit shift reg
    * ister have been transmitted. It can only be set if STPBRK (Stop transmit
    * ter break) is not high.
*/
#undef UART0_CONTROL_REG0_STTBRK_DEFVAL 
#undef UART0_CONTROL_REG0_STTBRK_SHIFT 
#undef UART0_CONTROL_REG0_STTBRK_MASK 
#define UART0_CONTROL_REG0_STTBRK_DEFVAL                       0x00000128
#define UART0_CONTROL_REG0_STTBRK_SHIFT                        7
#define UART0_CONTROL_REG0_STTBRK_MASK                         0x00000080U

/*
* Restart receiver timeout counter: 1: receiver timeout counter is restart
    * ed. This bit is self clearing once the restart has completed.
*/
#undef UART0_CONTROL_REG0_RSTTO_DEFVAL 
#undef UART0_CONTROL_REG0_RSTTO_SHIFT 
#undef UART0_CONTROL_REG0_RSTTO_MASK 
#define UART0_CONTROL_REG0_RSTTO_DEFVAL                        0x00000128
#define UART0_CONTROL_REG0_RSTTO_SHIFT                         6
#define UART0_CONTROL_REG0_RSTTO_MASK                          0x00000040U

/*
* Transmit disable: 0: enable transmitter 1: disable transmitter
*/
#undef UART0_CONTROL_REG0_TXDIS_DEFVAL 
#undef UART0_CONTROL_REG0_TXDIS_SHIFT 
#undef UART0_CONTROL_REG0_TXDIS_MASK 
#define UART0_CONTROL_REG0_TXDIS_DEFVAL                        0x00000128
#define UART0_CONTROL_REG0_TXDIS_SHIFT                         5
#define UART0_CONTROL_REG0_TXDIS_MASK                          0x00000020U

/*
* Transmit enable: 0: disable transmitter 1: enable transmitter, provided
    * the TXDIS field is set to 0.
*/
#undef UART0_CONTROL_REG0_TXEN_DEFVAL 
#undef UART0_CONTROL_REG0_TXEN_SHIFT 
#undef UART0_CONTROL_REG0_TXEN_MASK 
#define UART0_CONTROL_REG0_TXEN_DEFVAL                         0x00000128
#define UART0_CONTROL_REG0_TXEN_SHIFT                          4
#define UART0_CONTROL_REG0_TXEN_MASK                           0x00000010U

/*
* Receive disable: 0: enable 1: disable, regardless of the value of RXEN
*/
#undef UART0_CONTROL_REG0_RXDIS_DEFVAL 
#undef UART0_CONTROL_REG0_RXDIS_SHIFT 
#undef UART0_CONTROL_REG0_RXDIS_MASK 
#define UART0_CONTROL_REG0_RXDIS_DEFVAL                        0x00000128
#define UART0_CONTROL_REG0_RXDIS_SHIFT                         3
#define UART0_CONTROL_REG0_RXDIS_MASK                          0x00000008U

/*
* Receive enable: 0: disable 1: enable When set to one, the receiver logic
    *  is enabled, provided the RXDIS field is set to zero.
*/
#undef UART0_CONTROL_REG0_RXEN_DEFVAL 
#undef UART0_CONTROL_REG0_RXEN_SHIFT 
#undef UART0_CONTROL_REG0_RXEN_MASK 
#define UART0_CONTROL_REG0_RXEN_DEFVAL                         0x00000128
#define UART0_CONTROL_REG0_RXEN_SHIFT                          2
#define UART0_CONTROL_REG0_RXEN_MASK                           0x00000004U

/*
* Software reset for Tx data path: 0: no affect 1: transmitter logic is re
    * set and all pending transmitter data is discarded This bit is self clear
    * ing once the reset has completed.
*/
#undef UART0_CONTROL_REG0_TXRES_DEFVAL 
#undef UART0_CONTROL_REG0_TXRES_SHIFT 
#undef UART0_CONTROL_REG0_TXRES_MASK 
#define UART0_CONTROL_REG0_TXRES_DEFVAL                        0x00000128
#define UART0_CONTROL_REG0_TXRES_SHIFT                         1
#define UART0_CONTROL_REG0_TXRES_MASK                          0x00000002U

/*
* Software reset for Rx data path: 0: no affect 1: receiver logic is reset
    *  and all pending receiver data is discarded. This bit is self clearing o
    * nce the reset has completed.
*/
#undef UART0_CONTROL_REG0_RXRES_DEFVAL 
#undef UART0_CONTROL_REG0_RXRES_SHIFT 
#undef UART0_CONTROL_REG0_RXRES_MASK 
#define UART0_CONTROL_REG0_RXRES_DEFVAL                        0x00000128
#define UART0_CONTROL_REG0_RXRES_SHIFT                         0
#define UART0_CONTROL_REG0_RXRES_MASK                          0x00000001U

/*
* Channel mode: Defines the mode of operation of the UART. 00: normal 01:
    * automatic echo 10: local loopback 11: remote loopback
*/
#undef UART0_MODE_REG0_CHMODE_DEFVAL 
#undef UART0_MODE_REG0_CHMODE_SHIFT 
#undef UART0_MODE_REG0_CHMODE_MASK 
#define UART0_MODE_REG0_CHMODE_DEFVAL                          0x00000000
#define UART0_MODE_REG0_CHMODE_SHIFT                           8
#define UART0_MODE_REG0_CHMODE_MASK                            0x00000300U

/*
* Number of stop bits: Defines the number of stop bits to detect on receiv
    * e and to generate on transmit. 00: 1 stop bit 01: 1.5 stop bits 10: 2 st
    * op bits 11: reserved
*/
#undef UART0_MODE_REG0_NBSTOP_DEFVAL 
#undef UART0_MODE_REG0_NBSTOP_SHIFT 
#undef UART0_MODE_REG0_NBSTOP_MASK 
#define UART0_MODE_REG0_NBSTOP_DEFVAL                          0x00000000
#define UART0_MODE_REG0_NBSTOP_SHIFT                           6
#define UART0_MODE_REG0_NBSTOP_MASK                            0x000000C0U

/*
* Parity type select: Defines the expected parity to check on receive and
    * the parity to generate on transmit. 000: even parity 001: odd parity 010
    * : forced to 0 parity (space) 011: forced to 1 parity (mark) 1xx: no pari
    * ty
*/
#undef UART0_MODE_REG0_PAR_DEFVAL 
#undef UART0_MODE_REG0_PAR_SHIFT 
#undef UART0_MODE_REG0_PAR_MASK 
#define UART0_MODE_REG0_PAR_DEFVAL                             0x00000000
#define UART0_MODE_REG0_PAR_SHIFT                              3
#define UART0_MODE_REG0_PAR_MASK                               0x00000038U

/*
* Character length select: Defines the number of bits in each character. 1
    * 1: 6 bits 10: 7 bits 0x: 8 bits
*/
#undef UART0_MODE_REG0_CHRL_DEFVAL 
#undef UART0_MODE_REG0_CHRL_SHIFT 
#undef UART0_MODE_REG0_CHRL_MASK 
#define UART0_MODE_REG0_CHRL_DEFVAL                            0x00000000
#define UART0_MODE_REG0_CHRL_SHIFT                             1
#define UART0_MODE_REG0_CHRL_MASK                              0x00000006U

/*
* Clock source select: This field defines whether a pre-scalar of 8 is app
    * lied to the baud rate generator input clock. 0: clock source is uart_ref
    * _clk 1: clock source is uart_ref_clk/8
*/
#undef UART0_MODE_REG0_CLKS_DEFVAL 
#undef UART0_MODE_REG0_CLKS_SHIFT 
#undef UART0_MODE_REG0_CLKS_MASK 
#define UART0_MODE_REG0_CLKS_DEFVAL                            0x00000000
#define UART0_MODE_REG0_CLKS_SHIFT                             0
#define UART0_MODE_REG0_CLKS_MASK                              0x00000001U

/*
* Baud rate divider value: 0 - 3: ignored 4 - 255: Baud rate
*/
#undef UART1_BAUD_RATE_DIVIDER_REG0_BDIV_DEFVAL 
#undef UART1_BAUD_RATE_DIVIDER_REG0_BDIV_SHIFT 
#undef UART1_BAUD_RATE_DIVIDER_REG0_BDIV_MASK 
#define UART1_BAUD_RATE_DIVIDER_REG0_BDIV_DEFVAL               0x0000000F
#define UART1_BAUD_RATE_DIVIDER_REG0_BDIV_SHIFT                0
#define UART1_BAUD_RATE_DIVIDER_REG0_BDIV_MASK                 0x000000FFU

/*
* Baud Rate Clock Divisor Value: 0: Disables baud_sample 1: Clock divisor
    * bypass (baud_sample = sel_clk) 2 - 65535: baud_sample
*/
#undef UART1_BAUD_RATE_GEN_REG0_CD_DEFVAL 
#undef UART1_BAUD_RATE_GEN_REG0_CD_SHIFT 
#undef UART1_BAUD_RATE_GEN_REG0_CD_MASK 
#define UART1_BAUD_RATE_GEN_REG0_CD_DEFVAL                     0x0000028B
#define UART1_BAUD_RATE_GEN_REG0_CD_SHIFT                      0
#define UART1_BAUD_RATE_GEN_REG0_CD_MASK                       0x0000FFFFU

/*
* Stop transmitter break: 0: no affect 1: stop transmission of the break a
    * fter a minimum of one character length and transmit a high level during
    * 12 bit periods. It can be set regardless of the value of STTBRK.
*/
#undef UART1_CONTROL_REG0_STPBRK_DEFVAL 
#undef UART1_CONTROL_REG0_STPBRK_SHIFT 
#undef UART1_CONTROL_REG0_STPBRK_MASK 
#define UART1_CONTROL_REG0_STPBRK_DEFVAL                       0x00000128
#define UART1_CONTROL_REG0_STPBRK_SHIFT                        8
#define UART1_CONTROL_REG0_STPBRK_MASK                         0x00000100U

/*
* Start transmitter break: 0: no affect 1: start to transmit a break after
    *  the characters currently present in the FIFO and the transmit shift reg
    * ister have been transmitted. It can only be set if STPBRK (Stop transmit
    * ter break) is not high.
*/
#undef UART1_CONTROL_REG0_STTBRK_DEFVAL 
#undef UART1_CONTROL_REG0_STTBRK_SHIFT 
#undef UART1_CONTROL_REG0_STTBRK_MASK 
#define UART1_CONTROL_REG0_STTBRK_DEFVAL                       0x00000128
#define UART1_CONTROL_REG0_STTBRK_SHIFT                        7
#define UART1_CONTROL_REG0_STTBRK_MASK                         0x00000080U

/*
* Restart receiver timeout counter: 1: receiver timeout counter is restart
    * ed. This bit is self clearing once the restart has completed.
*/
#undef UART1_CONTROL_REG0_RSTTO_DEFVAL 
#undef UART1_CONTROL_REG0_RSTTO_SHIFT 
#undef UART1_CONTROL_REG0_RSTTO_MASK 
#define UART1_CONTROL_REG0_RSTTO_DEFVAL                        0x00000128
#define UART1_CONTROL_REG0_RSTTO_SHIFT                         6
#define UART1_CONTROL_REG0_RSTTO_MASK                          0x00000040U

/*
* Transmit disable: 0: enable transmitter 1: disable transmitter
*/
#undef UART1_CONTROL_REG0_TXDIS_DEFVAL 
#undef UART1_CONTROL_REG0_TXDIS_SHIFT 
#undef UART1_CONTROL_REG0_TXDIS_MASK 
#define UART1_CONTROL_REG0_TXDIS_DEFVAL                        0x00000128
#define UART1_CONTROL_REG0_TXDIS_SHIFT                         5
#define UART1_CONTROL_REG0_TXDIS_MASK                          0x00000020U

/*
* Transmit enable: 0: disable transmitter 1: enable transmitter, provided
    * the TXDIS field is set to 0.
*/
#undef UART1_CONTROL_REG0_TXEN_DEFVAL 
#undef UART1_CONTROL_REG0_TXEN_SHIFT 
#undef UART1_CONTROL_REG0_TXEN_MASK 
#define UART1_CONTROL_REG0_TXEN_DEFVAL                         0x00000128
#define UART1_CONTROL_REG0_TXEN_SHIFT                          4
#define UART1_CONTROL_REG0_TXEN_MASK                           0x00000010U

/*
* Receive disable: 0: enable 1: disable, regardless of the value of RXEN
*/
#undef UART1_CONTROL_REG0_RXDIS_DEFVAL 
#undef UART1_CONTROL_REG0_RXDIS_SHIFT 
#undef UART1_CONTROL_REG0_RXDIS_MASK 
#define UART1_CONTROL_REG0_RXDIS_DEFVAL                        0x00000128
#define UART1_CONTROL_REG0_RXDIS_SHIFT                         3
#define UART1_CONTROL_REG0_RXDIS_MASK                          0x00000008U

/*
* Receive enable: 0: disable 1: enable When set to one, the receiver logic
    *  is enabled, provided the RXDIS field is set to zero.
*/
#undef UART1_CONTROL_REG0_RXEN_DEFVAL 
#undef UART1_CONTROL_REG0_RXEN_SHIFT 
#undef UART1_CONTROL_REG0_RXEN_MASK 
#define UART1_CONTROL_REG0_RXEN_DEFVAL                         0x00000128
#define UART1_CONTROL_REG0_RXEN_SHIFT                          2
#define UART1_CONTROL_REG0_RXEN_MASK                           0x00000004U

/*
* Software reset for Tx data path: 0: no affect 1: transmitter logic is re
    * set and all pending transmitter data is discarded This bit is self clear
    * ing once the reset has completed.
*/
#undef UART1_CONTROL_REG0_TXRES_DEFVAL 
#undef UART1_CONTROL_REG0_TXRES_SHIFT 
#undef UART1_CONTROL_REG0_TXRES_MASK 
#define UART1_CONTROL_REG0_TXRES_DEFVAL                        0x00000128
#define UART1_CONTROL_REG0_TXRES_SHIFT                         1
#define UART1_CONTROL_REG0_TXRES_MASK                          0x00000002U

/*
* Software reset for Rx data path: 0: no affect 1: receiver logic is reset
    *  and all pending receiver data is discarded. This bit is self clearing o
    * nce the reset has completed.
*/
#undef UART1_CONTROL_REG0_RXRES_DEFVAL 
#undef UART1_CONTROL_REG0_RXRES_SHIFT 
#undef UART1_CONTROL_REG0_RXRES_MASK 
#define UART1_CONTROL_REG0_RXRES_DEFVAL                        0x00000128
#define UART1_CONTROL_REG0_RXRES_SHIFT                         0
#define UART1_CONTROL_REG0_RXRES_MASK                          0x00000001U

/*
* Channel mode: Defines the mode of operation of the UART. 00: normal 01:
    * automatic echo 10: local loopback 11: remote loopback
*/
#undef UART1_MODE_REG0_CHMODE_DEFVAL 
#undef UART1_MODE_REG0_CHMODE_SHIFT 
#undef UART1_MODE_REG0_CHMODE_MASK 
#define UART1_MODE_REG0_CHMODE_DEFVAL                          0x00000000
#define UART1_MODE_REG0_CHMODE_SHIFT                           8
#define UART1_MODE_REG0_CHMODE_MASK                            0x00000300U

/*
* Number of stop bits: Defines the number of stop bits to detect on receiv
    * e and to generate on transmit. 00: 1 stop bit 01: 1.5 stop bits 10: 2 st
    * op bits 11: reserved
*/
#undef UART1_MODE_REG0_NBSTOP_DEFVAL 
#undef UART1_MODE_REG0_NBSTOP_SHIFT 
#undef UART1_MODE_REG0_NBSTOP_MASK 
#define UART1_MODE_REG0_NBSTOP_DEFVAL                          0x00000000
#define UART1_MODE_REG0_NBSTOP_SHIFT                           6
#define UART1_MODE_REG0_NBSTOP_MASK                            0x000000C0U

/*
* Parity type select: Defines the expected parity to check on receive and
    * the parity to generate on transmit. 000: even parity 001: odd parity 010
    * : forced to 0 parity (space) 011: forced to 1 parity (mark) 1xx: no pari
    * ty
*/
#undef UART1_MODE_REG0_PAR_DEFVAL 
#undef UART1_MODE_REG0_PAR_SHIFT 
#undef UART1_MODE_REG0_PAR_MASK 
#define UART1_MODE_REG0_PAR_DEFVAL                             0x00000000
#define UART1_MODE_REG0_PAR_SHIFT                              3
#define UART1_MODE_REG0_PAR_MASK                               0x00000038U

/*
* Character length select: Defines the number of bits in each character. 1
    * 1: 6 bits 10: 7 bits 0x: 8 bits
*/
#undef UART1_MODE_REG0_CHRL_DEFVAL 
#undef UART1_MODE_REG0_CHRL_SHIFT 
#undef UART1_MODE_REG0_CHRL_MASK 
#define UART1_MODE_REG0_CHRL_DEFVAL                            0x00000000
#define UART1_MODE_REG0_CHRL_SHIFT                             1
#define UART1_MODE_REG0_CHRL_MASK                              0x00000006U

/*
* Clock source select: This field defines whether a pre-scalar of 8 is app
    * lied to the baud rate generator input clock. 0: clock source is uart_ref
    * _clk 1: clock source is uart_ref_clk/8
*/
#undef UART1_MODE_REG0_CLKS_DEFVAL 
#undef UART1_MODE_REG0_CLKS_SHIFT 
#undef UART1_MODE_REG0_CLKS_MASK 
#define UART1_MODE_REG0_CLKS_DEFVAL                            0x00000000
#define UART1_MODE_REG0_CLKS_SHIFT                             0
#define UART1_MODE_REG0_CLKS_MASK                              0x00000001U

/*
* Block level reset
*/
#undef CRL_APB_RST_LPD_IOU2_GPIO_RESET_DEFVAL 
#undef CRL_APB_RST_LPD_IOU2_GPIO_RESET_SHIFT 
#undef CRL_APB_RST_LPD_IOU2_GPIO_RESET_MASK 
#define CRL_APB_RST_LPD_IOU2_GPIO_RESET_DEFVAL                 0x0017FFFF
#define CRL_APB_RST_LPD_IOU2_GPIO_RESET_SHIFT                  18
#define CRL_APB_RST_LPD_IOU2_GPIO_RESET_MASK                   0x00040000U

/*
* TrustZone Classification for ADMA
*/
#undef LPD_SLCR_SECURE_SLCR_ADMA_TZ_DEFVAL 
#undef LPD_SLCR_SECURE_SLCR_ADMA_TZ_SHIFT 
#undef LPD_SLCR_SECURE_SLCR_ADMA_TZ_MASK 
#define LPD_SLCR_SECURE_SLCR_ADMA_TZ_DEFVAL                    
#define LPD_SLCR_SECURE_SLCR_ADMA_TZ_SHIFT                     0
#define LPD_SLCR_SECURE_SLCR_ADMA_TZ_MASK                      0x000000FFU

/*
* CSU regsiter
*/
#undef CSU_TAMPER_STATUS_TAMPER_0_DEFVAL 
#undef CSU_TAMPER_STATUS_TAMPER_0_SHIFT 
#undef CSU_TAMPER_STATUS_TAMPER_0_MASK 
#define CSU_TAMPER_STATUS_TAMPER_0_DEFVAL                      0x00000000
#define CSU_TAMPER_STATUS_TAMPER_0_SHIFT                       0
#define CSU_TAMPER_STATUS_TAMPER_0_MASK                        0x00000001U

/*
* External MIO
*/
#undef CSU_TAMPER_STATUS_TAMPER_1_DEFVAL 
#undef CSU_TAMPER_STATUS_TAMPER_1_SHIFT 
#undef CSU_TAMPER_STATUS_TAMPER_1_MASK 
#define CSU_TAMPER_STATUS_TAMPER_1_DEFVAL                      0x00000000
#define CSU_TAMPER_STATUS_TAMPER_1_SHIFT                       1
#define CSU_TAMPER_STATUS_TAMPER_1_MASK                        0x00000002U

/*
* JTAG toggle detect
*/
#undef CSU_TAMPER_STATUS_TAMPER_2_DEFVAL 
#undef CSU_TAMPER_STATUS_TAMPER_2_SHIFT 
#undef CSU_TAMPER_STATUS_TAMPER_2_MASK 
#define CSU_TAMPER_STATUS_TAMPER_2_DEFVAL                      0x00000000
#define CSU_TAMPER_STATUS_TAMPER_2_SHIFT                       2
#define CSU_TAMPER_STATUS_TAMPER_2_MASK                        0x00000004U

/*
* PL SEU error
*/
#undef CSU_TAMPER_STATUS_TAMPER_3_DEFVAL 
#undef CSU_TAMPER_STATUS_TAMPER_3_SHIFT 
#undef CSU_TAMPER_STATUS_TAMPER_3_MASK 
#define CSU_TAMPER_STATUS_TAMPER_3_DEFVAL                      0x00000000
#define CSU_TAMPER_STATUS_TAMPER_3_SHIFT                       3
#define CSU_TAMPER_STATUS_TAMPER_3_MASK                        0x00000008U

/*
* AMS over temperature alarm for LPD
*/
#undef CSU_TAMPER_STATUS_TAMPER_4_DEFVAL 
#undef CSU_TAMPER_STATUS_TAMPER_4_SHIFT 
#undef CSU_TAMPER_STATUS_TAMPER_4_MASK 
#define CSU_TAMPER_STATUS_TAMPER_4_DEFVAL                      0x00000000
#define CSU_TAMPER_STATUS_TAMPER_4_SHIFT                       4
#define CSU_TAMPER_STATUS_TAMPER_4_MASK                        0x00000010U

/*
* AMS over temperature alarm for APU
*/
#undef CSU_TAMPER_STATUS_TAMPER_5_DEFVAL 
#undef CSU_TAMPER_STATUS_TAMPER_5_SHIFT 
#undef CSU_TAMPER_STATUS_TAMPER_5_MASK 
#define CSU_TAMPER_STATUS_TAMPER_5_DEFVAL                      0x00000000
#define CSU_TAMPER_STATUS_TAMPER_5_SHIFT                       5
#define CSU_TAMPER_STATUS_TAMPER_5_MASK                        0x00000020U

/*
* AMS voltage alarm for VCCPINT_FPD
*/
#undef CSU_TAMPER_STATUS_TAMPER_6_DEFVAL 
#undef CSU_TAMPER_STATUS_TAMPER_6_SHIFT 
#undef CSU_TAMPER_STATUS_TAMPER_6_MASK 
#define CSU_TAMPER_STATUS_TAMPER_6_DEFVAL                      0x00000000
#define CSU_TAMPER_STATUS_TAMPER_6_SHIFT                       6
#define CSU_TAMPER_STATUS_TAMPER_6_MASK                        0x00000040U

/*
* AMS voltage alarm for VCCPINT_LPD
*/
#undef CSU_TAMPER_STATUS_TAMPER_7_DEFVAL 
#undef CSU_TAMPER_STATUS_TAMPER_7_SHIFT 
#undef CSU_TAMPER_STATUS_TAMPER_7_MASK 
#define CSU_TAMPER_STATUS_TAMPER_7_DEFVAL                      0x00000000
#define CSU_TAMPER_STATUS_TAMPER_7_SHIFT                       7
#define CSU_TAMPER_STATUS_TAMPER_7_MASK                        0x00000080U

/*
* AMS voltage alarm for VCCPAUX
*/
#undef CSU_TAMPER_STATUS_TAMPER_8_DEFVAL 
#undef CSU_TAMPER_STATUS_TAMPER_8_SHIFT 
#undef CSU_TAMPER_STATUS_TAMPER_8_MASK 
#define CSU_TAMPER_STATUS_TAMPER_8_DEFVAL                      0x00000000
#define CSU_TAMPER_STATUS_TAMPER_8_SHIFT                       8
#define CSU_TAMPER_STATUS_TAMPER_8_MASK                        0x00000100U

/*
* AMS voltage alarm for DDRPHY
*/
#undef CSU_TAMPER_STATUS_TAMPER_9_DEFVAL 
#undef CSU_TAMPER_STATUS_TAMPER_9_SHIFT 
#undef CSU_TAMPER_STATUS_TAMPER_9_MASK 
#define CSU_TAMPER_STATUS_TAMPER_9_DEFVAL                      0x00000000
#define CSU_TAMPER_STATUS_TAMPER_9_SHIFT                       9
#define CSU_TAMPER_STATUS_TAMPER_9_MASK                        0x00000200U

/*
* AMS voltage alarm for PSIO bank 0/1/2
*/
#undef CSU_TAMPER_STATUS_TAMPER_10_DEFVAL 
#undef CSU_TAMPER_STATUS_TAMPER_10_SHIFT 
#undef CSU_TAMPER_STATUS_TAMPER_10_MASK 
#define CSU_TAMPER_STATUS_TAMPER_10_DEFVAL                     0x00000000
#define CSU_TAMPER_STATUS_TAMPER_10_SHIFT                      10
#define CSU_TAMPER_STATUS_TAMPER_10_MASK                       0x00000400U

/*
* AMS voltage alarm for PSIO bank 3 (dedicated pins)
*/
#undef CSU_TAMPER_STATUS_TAMPER_11_DEFVAL 
#undef CSU_TAMPER_STATUS_TAMPER_11_SHIFT 
#undef CSU_TAMPER_STATUS_TAMPER_11_MASK 
#define CSU_TAMPER_STATUS_TAMPER_11_DEFVAL                     0x00000000
#define CSU_TAMPER_STATUS_TAMPER_11_SHIFT                      11
#define CSU_TAMPER_STATUS_TAMPER_11_MASK                       0x00000800U

/*
* AMS voltaage alarm for GT
*/
#undef CSU_TAMPER_STATUS_TAMPER_12_DEFVAL 
#undef CSU_TAMPER_STATUS_TAMPER_12_SHIFT 
#undef CSU_TAMPER_STATUS_TAMPER_12_MASK 
#define CSU_TAMPER_STATUS_TAMPER_12_DEFVAL                     0x00000000
#define CSU_TAMPER_STATUS_TAMPER_12_SHIFT                      12
#define CSU_TAMPER_STATUS_TAMPER_12_MASK                       0x00001000U

/*
* Set ACE outgoing AWQOS value
*/
#undef APU_ACE_CTRL_AWQOS_DEFVAL 
#undef APU_ACE_CTRL_AWQOS_SHIFT 
#undef APU_ACE_CTRL_AWQOS_MASK 
#define APU_ACE_CTRL_AWQOS_DEFVAL                              0x000F000F
#define APU_ACE_CTRL_AWQOS_SHIFT                               16
#define APU_ACE_CTRL_AWQOS_MASK                                0x000F0000U

/*
* Set ACE outgoing ARQOS value
*/
#undef APU_ACE_CTRL_ARQOS_DEFVAL 
#undef APU_ACE_CTRL_ARQOS_SHIFT 
#undef APU_ACE_CTRL_ARQOS_MASK 
#define APU_ACE_CTRL_ARQOS_DEFVAL                              0x000F000F
#define APU_ACE_CTRL_ARQOS_SHIFT                               0
#define APU_ACE_CTRL_ARQOS_MASK                                0x0000000FU

/*
* Enables the RTC. By writing a 0 to this bit, RTC will be powered off and
    *  the only module that potentially draws current from the battery will be
    *  BBRAM. The value read through this bit does not necessarily reflect whe
    * ther RTC is enabled or not. It is expected that RTC is enabled every tim
    * e it is being configured. If RTC is not used in the design, FSBL will di
    * sable it by writing a 0 to this bit.
*/
#undef RTC_CONTROL_BATTERY_DISABLE_DEFVAL 
#undef RTC_CONTROL_BATTERY_DISABLE_SHIFT 
#undef RTC_CONTROL_BATTERY_DISABLE_MASK 
#define RTC_CONTROL_BATTERY_DISABLE_DEFVAL                     0x01000000
#define RTC_CONTROL_BATTERY_DISABLE_SHIFT                      31
#define RTC_CONTROL_BATTERY_DISABLE_MASK                       0x80000000U

/*
* Frequency in number of ticks per second. Valid range from 10 MHz to 100
    * MHz.
*/
#undef IOU_SCNTRS_BASE_FREQUENCY_ID_REGISTER_FREQ_DEFVAL 
#undef IOU_SCNTRS_BASE_FREQUENCY_ID_REGISTER_FREQ_SHIFT 
#undef IOU_SCNTRS_BASE_FREQUENCY_ID_REGISTER_FREQ_MASK 
#define IOU_SCNTRS_BASE_FREQUENCY_ID_REGISTER_FREQ_DEFVAL      
#define IOU_SCNTRS_BASE_FREQUENCY_ID_REGISTER_FREQ_SHIFT       0
#define IOU_SCNTRS_BASE_FREQUENCY_ID_REGISTER_FREQ_MASK        0xFFFFFFFFU

/*
* Enable 0: The counter is disabled and not incrementing. 1: The counter i
    * s enabled and is incrementing.
*/
#undef IOU_SCNTRS_COUNTER_CONTROL_REGISTER_EN_DEFVAL 
#undef IOU_SCNTRS_COUNTER_CONTROL_REGISTER_EN_SHIFT 
#undef IOU_SCNTRS_COUNTER_CONTROL_REGISTER_EN_MASK 
#define IOU_SCNTRS_COUNTER_CONTROL_REGISTER_EN_DEFVAL          0x00000000
#define IOU_SCNTRS_COUNTER_CONTROL_REGISTER_EN_SHIFT           0
#define IOU_SCNTRS_COUNTER_CONTROL_REGISTER_EN_MASK            0x00000001U

/*
* Operation is the same as DIRM_0[DIRECTION_0]
*/
#undef GPIO_DIRM_1_DIRECTION_1_DEFVAL 
#undef GPIO_DIRM_1_DIRECTION_1_SHIFT 
#undef GPIO_DIRM_1_DIRECTION_1_MASK 
#define GPIO_DIRM_1_DIRECTION_1_DEFVAL                         0x00000000
#define GPIO_DIRM_1_DIRECTION_1_SHIFT                          0
#define GPIO_DIRM_1_DIRECTION_1_MASK                           0x03FFFFFFU

/*
* Operation is the same as OEN_0[OP_ENABLE_0]
*/
#undef GPIO_OEN_1_OP_ENABLE_1_DEFVAL 
#undef GPIO_OEN_1_OP_ENABLE_1_SHIFT 
#undef GPIO_OEN_1_OP_ENABLE_1_MASK 
#define GPIO_OEN_1_OP_ENABLE_1_DEFVAL                          0x00000000
#define GPIO_OEN_1_OP_ENABLE_1_SHIFT                           0
#define GPIO_OEN_1_OP_ENABLE_1_MASK                            0x03FFFFFFU

/*
* Operation is the same as MASK_DATA_0_LSW[MASK_0_LSW]
*/
#undef GPIO_MASK_DATA_1_LSW_MASK_1_LSW_DEFVAL 
#undef GPIO_MASK_DATA_1_LSW_MASK_1_LSW_SHIFT 
#undef GPIO_MASK_DATA_1_LSW_MASK_1_LSW_MASK 
#define GPIO_MASK_DATA_1_LSW_MASK_1_LSW_DEFVAL                 0x00000000
#define GPIO_MASK_DATA_1_LSW_MASK_1_LSW_SHIFT                  16
#define GPIO_MASK_DATA_1_LSW_MASK_1_LSW_MASK                   0xFFFF0000U

/*
* Operation is the same as MASK_DATA_0_LSW[DATA_0_LSW]
*/
#undef GPIO_MASK_DATA_1_LSW_DATA_1_LSW_DEFVAL 
#undef GPIO_MASK_DATA_1_LSW_DATA_1_LSW_SHIFT 
#undef GPIO_MASK_DATA_1_LSW_DATA_1_LSW_MASK 
#define GPIO_MASK_DATA_1_LSW_DATA_1_LSW_DEFVAL                 0x00000000
#define GPIO_MASK_DATA_1_LSW_DATA_1_LSW_SHIFT                  0
#define GPIO_MASK_DATA_1_LSW_DATA_1_LSW_MASK                   0x0000FFFFU

/*
* Operation is the same as MASK_DATA_0_LSW[MASK_0_LSW]
*/
#undef GPIO_MASK_DATA_1_LSW_MASK_1_LSW_DEFVAL 
#undef GPIO_MASK_DATA_1_LSW_MASK_1_LSW_SHIFT 
#undef GPIO_MASK_DATA_1_LSW_MASK_1_LSW_MASK 
#define GPIO_MASK_DATA_1_LSW_MASK_1_LSW_DEFVAL                 0x00000000
#define GPIO_MASK_DATA_1_LSW_MASK_1_LSW_SHIFT                  16
#define GPIO_MASK_DATA_1_LSW_MASK_1_LSW_MASK                   0xFFFF0000U

/*
* Operation is the same as MASK_DATA_0_LSW[DATA_0_LSW]
*/
#undef GPIO_MASK_DATA_1_LSW_DATA_1_LSW_DEFVAL 
#undef GPIO_MASK_DATA_1_LSW_DATA_1_LSW_SHIFT 
#undef GPIO_MASK_DATA_1_LSW_DATA_1_LSW_MASK 
#define GPIO_MASK_DATA_1_LSW_DATA_1_LSW_DEFVAL                 0x00000000
#define GPIO_MASK_DATA_1_LSW_DATA_1_LSW_SHIFT                  0
#define GPIO_MASK_DATA_1_LSW_DATA_1_LSW_MASK                   0x0000FFFFU
#undef FPD_SLCR_SECURE_SLCR_DPDMA_OFFSET 
#define FPD_SLCR_SECURE_SLCR_DPDMA_OFFSET                                          0XFD690040
#undef FPD_SLCR_SECURE_SLCR_PCIE_OFFSET 
#define FPD_SLCR_SECURE_SLCR_PCIE_OFFSET                                           0XFD690030
#undef LPD_SLCR_SECURE_SLCR_USB_OFFSET 
#define LPD_SLCR_SECURE_SLCR_USB_OFFSET                                            0XFF4B0034
#undef IOU_SECURE_SLCR_IOU_AXI_RPRTCN_OFFSET 
#define IOU_SECURE_SLCR_IOU_AXI_RPRTCN_OFFSET                                      0XFF240004
#undef IOU_SECURE_SLCR_IOU_AXI_WPRTCN_OFFSET 
#define IOU_SECURE_SLCR_IOU_AXI_WPRTCN_OFFSET                                      0XFF240000
#undef IOU_SECURE_SLCR_IOU_AXI_RPRTCN_OFFSET 
#define IOU_SECURE_SLCR_IOU_AXI_RPRTCN_OFFSET                                      0XFF240004
#undef IOU_SECURE_SLCR_IOU_AXI_WPRTCN_OFFSET 
#define IOU_SECURE_SLCR_IOU_AXI_WPRTCN_OFFSET                                      0XFF240000
#undef IOU_SECURE_SLCR_IOU_AXI_WPRTCN_OFFSET 
#define IOU_SECURE_SLCR_IOU_AXI_WPRTCN_OFFSET                                      0XFF240000
#undef IOU_SECURE_SLCR_IOU_AXI_RPRTCN_OFFSET 
#define IOU_SECURE_SLCR_IOU_AXI_RPRTCN_OFFSET                                      0XFF240004
#undef IOU_SECURE_SLCR_IOU_AXI_WPRTCN_OFFSET 
#define IOU_SECURE_SLCR_IOU_AXI_WPRTCN_OFFSET                                      0XFF240000
#undef LPD_SLCR_SECURE_SLCR_ADMA_OFFSET 
#define LPD_SLCR_SECURE_SLCR_ADMA_OFFSET                                           0XFF4B0024
#undef FPD_SLCR_SECURE_SLCR_GDMA_OFFSET 
#define FPD_SLCR_SECURE_SLCR_GDMA_OFFSET                                           0XFD690050

/*
* TrustZone classification for DisplayPort DMA
*/
#undef FPD_SLCR_SECURE_SLCR_DPDMA_TZ_DEFVAL 
#undef FPD_SLCR_SECURE_SLCR_DPDMA_TZ_SHIFT 
#undef FPD_SLCR_SECURE_SLCR_DPDMA_TZ_MASK 
#define FPD_SLCR_SECURE_SLCR_DPDMA_TZ_DEFVAL                   0x00000001
#define FPD_SLCR_SECURE_SLCR_DPDMA_TZ_SHIFT                    0
#define FPD_SLCR_SECURE_SLCR_DPDMA_TZ_MASK                     0x00000001U

/*
* TrustZone classification for DMA Channel 0
*/
#undef FPD_SLCR_SECURE_SLCR_PCIE_TZ_DMA_0_DEFVAL 
#undef FPD_SLCR_SECURE_SLCR_PCIE_TZ_DMA_0_SHIFT 
#undef FPD_SLCR_SECURE_SLCR_PCIE_TZ_DMA_0_MASK 
#define FPD_SLCR_SECURE_SLCR_PCIE_TZ_DMA_0_DEFVAL              0x01FFFFFF
#define FPD_SLCR_SECURE_SLCR_PCIE_TZ_DMA_0_SHIFT               21
#define FPD_SLCR_SECURE_SLCR_PCIE_TZ_DMA_0_MASK                0x00200000U

/*
* TrustZone classification for DMA Channel 1
*/
#undef FPD_SLCR_SECURE_SLCR_PCIE_TZ_DMA_1_DEFVAL 
#undef FPD_SLCR_SECURE_SLCR_PCIE_TZ_DMA_1_SHIFT 
#undef FPD_SLCR_SECURE_SLCR_PCIE_TZ_DMA_1_MASK 
#define FPD_SLCR_SECURE_SLCR_PCIE_TZ_DMA_1_DEFVAL              0x01FFFFFF
#define FPD_SLCR_SECURE_SLCR_PCIE_TZ_DMA_1_SHIFT               22
#define FPD_SLCR_SECURE_SLCR_PCIE_TZ_DMA_1_MASK                0x00400000U

/*
* TrustZone classification for DMA Channel 2
*/
#undef FPD_SLCR_SECURE_SLCR_PCIE_TZ_DMA_2_DEFVAL 
#undef FPD_SLCR_SECURE_SLCR_PCIE_TZ_DMA_2_SHIFT 
#undef FPD_SLCR_SECURE_SLCR_PCIE_TZ_DMA_2_MASK 
#define FPD_SLCR_SECURE_SLCR_PCIE_TZ_DMA_2_DEFVAL              0x01FFFFFF
#define FPD_SLCR_SECURE_SLCR_PCIE_TZ_DMA_2_SHIFT               23
#define FPD_SLCR_SECURE_SLCR_PCIE_TZ_DMA_2_MASK                0x00800000U

/*
* TrustZone classification for DMA Channel 3
*/
#undef FPD_SLCR_SECURE_SLCR_PCIE_TZ_DMA_3_DEFVAL 
#undef FPD_SLCR_SECURE_SLCR_PCIE_TZ_DMA_3_SHIFT 
#undef FPD_SLCR_SECURE_SLCR_PCIE_TZ_DMA_3_MASK 
#define FPD_SLCR_SECURE_SLCR_PCIE_TZ_DMA_3_DEFVAL              0x01FFFFFF
#define FPD_SLCR_SECURE_SLCR_PCIE_TZ_DMA_3_SHIFT               24
#define FPD_SLCR_SECURE_SLCR_PCIE_TZ_DMA_3_MASK                0x01000000U

/*
* TrustZone classification for Ingress Address Translation 0
*/
#undef FPD_SLCR_SECURE_SLCR_PCIE_TZ_AT_INGR_0_DEFVAL 
#undef FPD_SLCR_SECURE_SLCR_PCIE_TZ_AT_INGR_0_SHIFT 
#undef FPD_SLCR_SECURE_SLCR_PCIE_TZ_AT_INGR_0_MASK 
#define FPD_SLCR_SECURE_SLCR_PCIE_TZ_AT_INGR_0_DEFVAL          0x01FFFFFF
#define FPD_SLCR_SECURE_SLCR_PCIE_TZ_AT_INGR_0_SHIFT           13
#define FPD_SLCR_SECURE_SLCR_PCIE_TZ_AT_INGR_0_MASK            0x00002000U

/*
* TrustZone classification for Ingress Address Translation 1
*/
#undef FPD_SLCR_SECURE_SLCR_PCIE_TZ_AT_INGR_1_DEFVAL 
#undef FPD_SLCR_SECURE_SLCR_PCIE_TZ_AT_INGR_1_SHIFT 
#undef FPD_SLCR_SECURE_SLCR_PCIE_TZ_AT_INGR_1_MASK 
#define FPD_SLCR_SECURE_SLCR_PCIE_TZ_AT_INGR_1_DEFVAL          0x01FFFFFF
#define FPD_SLCR_SECURE_SLCR_PCIE_TZ_AT_INGR_1_SHIFT           14
#define FPD_SLCR_SECURE_SLCR_PCIE_TZ_AT_INGR_1_MASK            0x00004000U

/*
* TrustZone classification for Ingress Address Translation 2
*/
#undef FPD_SLCR_SECURE_SLCR_PCIE_TZ_AT_INGR_2_DEFVAL 
#undef FPD_SLCR_SECURE_SLCR_PCIE_TZ_AT_INGR_2_SHIFT 
#undef FPD_SLCR_SECURE_SLCR_PCIE_TZ_AT_INGR_2_MASK 
#define FPD_SLCR_SECURE_SLCR_PCIE_TZ_AT_INGR_2_DEFVAL          0x01FFFFFF
#define FPD_SLCR_SECURE_SLCR_PCIE_TZ_AT_INGR_2_SHIFT           15
#define FPD_SLCR_SECURE_SLCR_PCIE_TZ_AT_INGR_2_MASK            0x00008000U

/*
* TrustZone classification for Ingress Address Translation 3
*/
#undef FPD_SLCR_SECURE_SLCR_PCIE_TZ_AT_INGR_3_DEFVAL 
#undef FPD_SLCR_SECURE_SLCR_PCIE_TZ_AT_INGR_3_SHIFT 
#undef FPD_SLCR_SECURE_SLCR_PCIE_TZ_AT_INGR_3_MASK 
#define FPD_SLCR_SECURE_SLCR_PCIE_TZ_AT_INGR_3_DEFVAL          0x01FFFFFF
#define FPD_SLCR_SECURE_SLCR_PCIE_TZ_AT_INGR_3_SHIFT           16
#define FPD_SLCR_SECURE_SLCR_PCIE_TZ_AT_INGR_3_MASK            0x00010000U

/*
* TrustZone classification for Ingress Address Translation 4
*/
#undef FPD_SLCR_SECURE_SLCR_PCIE_TZ_AT_INGR_4_DEFVAL 
#undef FPD_SLCR_SECURE_SLCR_PCIE_TZ_AT_INGR_4_SHIFT 
#undef FPD_SLCR_SECURE_SLCR_PCIE_TZ_AT_INGR_4_MASK 
#define FPD_SLCR_SECURE_SLCR_PCIE_TZ_AT_INGR_4_DEFVAL          0x01FFFFFF
#define FPD_SLCR_SECURE_SLCR_PCIE_TZ_AT_INGR_4_SHIFT           17
#define FPD_SLCR_SECURE_SLCR_PCIE_TZ_AT_INGR_4_MASK            0x00020000U

/*
* TrustZone classification for Ingress Address Translation 5
*/
#undef FPD_SLCR_SECURE_SLCR_PCIE_TZ_AT_INGR_5_DEFVAL 
#undef FPD_SLCR_SECURE_SLCR_PCIE_TZ_AT_INGR_5_SHIFT 
#undef FPD_SLCR_SECURE_SLCR_PCIE_TZ_AT_INGR_5_MASK 
#define FPD_SLCR_SECURE_SLCR_PCIE_TZ_AT_INGR_5_DEFVAL          0x01FFFFFF
#define FPD_SLCR_SECURE_SLCR_PCIE_TZ_AT_INGR_5_SHIFT           18
#define FPD_SLCR_SECURE_SLCR_PCIE_TZ_AT_INGR_5_MASK            0x00040000U

/*
* TrustZone classification for Ingress Address Translation 6
*/
#undef FPD_SLCR_SECURE_SLCR_PCIE_TZ_AT_INGR_6_DEFVAL 
#undef FPD_SLCR_SECURE_SLCR_PCIE_TZ_AT_INGR_6_SHIFT 
#undef FPD_SLCR_SECURE_SLCR_PCIE_TZ_AT_INGR_6_MASK 
#define FPD_SLCR_SECURE_SLCR_PCIE_TZ_AT_INGR_6_DEFVAL          0x01FFFFFF
#define FPD_SLCR_SECURE_SLCR_PCIE_TZ_AT_INGR_6_SHIFT           19
#define FPD_SLCR_SECURE_SLCR_PCIE_TZ_AT_INGR_6_MASK            0x00080000U

/*
* TrustZone classification for Ingress Address Translation 7
*/
#undef FPD_SLCR_SECURE_SLCR_PCIE_TZ_AT_INGR_7_DEFVAL 
#undef FPD_SLCR_SECURE_SLCR_PCIE_TZ_AT_INGR_7_SHIFT 
#undef FPD_SLCR_SECURE_SLCR_PCIE_TZ_AT_INGR_7_MASK 
#define FPD_SLCR_SECURE_SLCR_PCIE_TZ_AT_INGR_7_DEFVAL          0x01FFFFFF
#define FPD_SLCR_SECURE_SLCR_PCIE_TZ_AT_INGR_7_SHIFT           20
#define FPD_SLCR_SECURE_SLCR_PCIE_TZ_AT_INGR_7_MASK            0x00100000U

/*
* TrustZone classification for Egress Address Translation 0
*/
#undef FPD_SLCR_SECURE_SLCR_PCIE_TZ_AT_EGR_0_DEFVAL 
#undef FPD_SLCR_SECURE_SLCR_PCIE_TZ_AT_EGR_0_SHIFT 
#undef FPD_SLCR_SECURE_SLCR_PCIE_TZ_AT_EGR_0_MASK 
#define FPD_SLCR_SECURE_SLCR_PCIE_TZ_AT_EGR_0_DEFVAL           0x01FFFFFF
#define FPD_SLCR_SECURE_SLCR_PCIE_TZ_AT_EGR_0_SHIFT            5
#define FPD_SLCR_SECURE_SLCR_PCIE_TZ_AT_EGR_0_MASK             0x00000020U

/*
* TrustZone classification for Egress Address Translation 1
*/
#undef FPD_SLCR_SECURE_SLCR_PCIE_TZ_AT_EGR_1_DEFVAL 
#undef FPD_SLCR_SECURE_SLCR_PCIE_TZ_AT_EGR_1_SHIFT 
#undef FPD_SLCR_SECURE_SLCR_PCIE_TZ_AT_EGR_1_MASK 
#define FPD_SLCR_SECURE_SLCR_PCIE_TZ_AT_EGR_1_DEFVAL           0x01FFFFFF
#define FPD_SLCR_SECURE_SLCR_PCIE_TZ_AT_EGR_1_SHIFT            6
#define FPD_SLCR_SECURE_SLCR_PCIE_TZ_AT_EGR_1_MASK             0x00000040U

/*
* TrustZone classification for Egress Address Translation 2
*/
#undef FPD_SLCR_SECURE_SLCR_PCIE_TZ_AT_EGR_2_DEFVAL 
#undef FPD_SLCR_SECURE_SLCR_PCIE_TZ_AT_EGR_2_SHIFT 
#undef FPD_SLCR_SECURE_SLCR_PCIE_TZ_AT_EGR_2_MASK 
#define FPD_SLCR_SECURE_SLCR_PCIE_TZ_AT_EGR_2_DEFVAL           0x01FFFFFF
#define FPD_SLCR_SECURE_SLCR_PCIE_TZ_AT_EGR_2_SHIFT            7
#define FPD_SLCR_SECURE_SLCR_PCIE_TZ_AT_EGR_2_MASK             0x00000080U

/*
* TrustZone classification for Egress Address Translation 3
*/
#undef FPD_SLCR_SECURE_SLCR_PCIE_TZ_AT_EGR_3_DEFVAL 
#undef FPD_SLCR_SECURE_SLCR_PCIE_TZ_AT_EGR_3_SHIFT 
#undef FPD_SLCR_SECURE_SLCR_PCIE_TZ_AT_EGR_3_MASK 
#define FPD_SLCR_SECURE_SLCR_PCIE_TZ_AT_EGR_3_DEFVAL           0x01FFFFFF
#define FPD_SLCR_SECURE_SLCR_PCIE_TZ_AT_EGR_3_SHIFT            8
#define FPD_SLCR_SECURE_SLCR_PCIE_TZ_AT_EGR_3_MASK             0x00000100U

/*
* TrustZone classification for Egress Address Translation 4
*/
#undef FPD_SLCR_SECURE_SLCR_PCIE_TZ_AT_EGR_4_DEFVAL 
#undef FPD_SLCR_SECURE_SLCR_PCIE_TZ_AT_EGR_4_SHIFT 
#undef FPD_SLCR_SECURE_SLCR_PCIE_TZ_AT_EGR_4_MASK 
#define FPD_SLCR_SECURE_SLCR_PCIE_TZ_AT_EGR_4_DEFVAL           0x01FFFFFF
#define FPD_SLCR_SECURE_SLCR_PCIE_TZ_AT_EGR_4_SHIFT            9
#define FPD_SLCR_SECURE_SLCR_PCIE_TZ_AT_EGR_4_MASK             0x00000200U

/*
* TrustZone classification for Egress Address Translation 5
*/
#undef FPD_SLCR_SECURE_SLCR_PCIE_TZ_AT_EGR_5_DEFVAL 
#undef FPD_SLCR_SECURE_SLCR_PCIE_TZ_AT_EGR_5_SHIFT 
#undef FPD_SLCR_SECURE_SLCR_PCIE_TZ_AT_EGR_5_MASK 
#define FPD_SLCR_SECURE_SLCR_PCIE_TZ_AT_EGR_5_DEFVAL           0x01FFFFFF
#define FPD_SLCR_SECURE_SLCR_PCIE_TZ_AT_EGR_5_SHIFT            10
#define FPD_SLCR_SECURE_SLCR_PCIE_TZ_AT_EGR_5_MASK             0x00000400U

/*
* TrustZone classification for Egress Address Translation 6
*/
#undef FPD_SLCR_SECURE_SLCR_PCIE_TZ_AT_EGR_6_DEFVAL 
#undef FPD_SLCR_SECURE_SLCR_PCIE_TZ_AT_EGR_6_SHIFT 
#undef FPD_SLCR_SECURE_SLCR_PCIE_TZ_AT_EGR_6_MASK 
#define FPD_SLCR_SECURE_SLCR_PCIE_TZ_AT_EGR_6_DEFVAL           0x01FFFFFF
#define FPD_SLCR_SECURE_SLCR_PCIE_TZ_AT_EGR_6_SHIFT            11
#define FPD_SLCR_SECURE_SLCR_PCIE_TZ_AT_EGR_6_MASK             0x00000800U

/*
* TrustZone classification for Egress Address Translation 7
*/
#undef FPD_SLCR_SECURE_SLCR_PCIE_TZ_AT_EGR_7_DEFVAL 
#undef FPD_SLCR_SECURE_SLCR_PCIE_TZ_AT_EGR_7_SHIFT 
#undef FPD_SLCR_SECURE_SLCR_PCIE_TZ_AT_EGR_7_MASK 
#define FPD_SLCR_SECURE_SLCR_PCIE_TZ_AT_EGR_7_DEFVAL           0x01FFFFFF
#define FPD_SLCR_SECURE_SLCR_PCIE_TZ_AT_EGR_7_SHIFT            12
#define FPD_SLCR_SECURE_SLCR_PCIE_TZ_AT_EGR_7_MASK             0x00001000U

/*
* TrustZone classification for DMA Registers
*/
#undef FPD_SLCR_SECURE_SLCR_PCIE_TZ_DMA_REGS_DEFVAL 
#undef FPD_SLCR_SECURE_SLCR_PCIE_TZ_DMA_REGS_SHIFT 
#undef FPD_SLCR_SECURE_SLCR_PCIE_TZ_DMA_REGS_MASK 
#define FPD_SLCR_SECURE_SLCR_PCIE_TZ_DMA_REGS_DEFVAL           0x01FFFFFF
#define FPD_SLCR_SECURE_SLCR_PCIE_TZ_DMA_REGS_SHIFT            4
#define FPD_SLCR_SECURE_SLCR_PCIE_TZ_DMA_REGS_MASK             0x00000010U

/*
* TrustZone classification for MSIx Table
*/
#undef FPD_SLCR_SECURE_SLCR_PCIE_TZ_MSIX_TABLE_DEFVAL 
#undef FPD_SLCR_SECURE_SLCR_PCIE_TZ_MSIX_TABLE_SHIFT 
#undef FPD_SLCR_SECURE_SLCR_PCIE_TZ_MSIX_TABLE_MASK 
#define FPD_SLCR_SECURE_SLCR_PCIE_TZ_MSIX_TABLE_DEFVAL         0x01FFFFFF
#define FPD_SLCR_SECURE_SLCR_PCIE_TZ_MSIX_TABLE_SHIFT          2
#define FPD_SLCR_SECURE_SLCR_PCIE_TZ_MSIX_TABLE_MASK           0x00000004U

/*
* TrustZone classification for MSIx PBA
*/
#undef FPD_SLCR_SECURE_SLCR_PCIE_TZ_MSIX_PBA_DEFVAL 
#undef FPD_SLCR_SECURE_SLCR_PCIE_TZ_MSIX_PBA_SHIFT 
#undef FPD_SLCR_SECURE_SLCR_PCIE_TZ_MSIX_PBA_MASK 
#define FPD_SLCR_SECURE_SLCR_PCIE_TZ_MSIX_PBA_DEFVAL           0x01FFFFFF
#define FPD_SLCR_SECURE_SLCR_PCIE_TZ_MSIX_PBA_SHIFT            3
#define FPD_SLCR_SECURE_SLCR_PCIE_TZ_MSIX_PBA_MASK             0x00000008U

/*
* TrustZone classification for ECAM
*/
#undef FPD_SLCR_SECURE_SLCR_PCIE_TZ_ECAM_DEFVAL 
#undef FPD_SLCR_SECURE_SLCR_PCIE_TZ_ECAM_SHIFT 
#undef FPD_SLCR_SECURE_SLCR_PCIE_TZ_ECAM_MASK 
#define FPD_SLCR_SECURE_SLCR_PCIE_TZ_ECAM_DEFVAL               0x01FFFFFF
#define FPD_SLCR_SECURE_SLCR_PCIE_TZ_ECAM_SHIFT                1
#define FPD_SLCR_SECURE_SLCR_PCIE_TZ_ECAM_MASK                 0x00000002U

/*
* TrustZone classification for Bridge Common Registers
*/
#undef FPD_SLCR_SECURE_SLCR_PCIE_TZ_BRIDGE_REGS_DEFVAL 
#undef FPD_SLCR_SECURE_SLCR_PCIE_TZ_BRIDGE_REGS_SHIFT 
#undef FPD_SLCR_SECURE_SLCR_PCIE_TZ_BRIDGE_REGS_MASK 
#define FPD_SLCR_SECURE_SLCR_PCIE_TZ_BRIDGE_REGS_DEFVAL        0x01FFFFFF
#define FPD_SLCR_SECURE_SLCR_PCIE_TZ_BRIDGE_REGS_SHIFT         0
#define FPD_SLCR_SECURE_SLCR_PCIE_TZ_BRIDGE_REGS_MASK          0x00000001U

/*
* TrustZone Classification for USB3_0
*/
#undef LPD_SLCR_SECURE_SLCR_USB_TZ_USB3_0_DEFVAL 
#undef LPD_SLCR_SECURE_SLCR_USB_TZ_USB3_0_SHIFT 
#undef LPD_SLCR_SECURE_SLCR_USB_TZ_USB3_0_MASK 
#define LPD_SLCR_SECURE_SLCR_USB_TZ_USB3_0_DEFVAL              0x00000003
#define LPD_SLCR_SECURE_SLCR_USB_TZ_USB3_0_SHIFT               0
#define LPD_SLCR_SECURE_SLCR_USB_TZ_USB3_0_MASK                0x00000001U

/*
* TrustZone Classification for USB3_1
*/
#undef LPD_SLCR_SECURE_SLCR_USB_TZ_USB3_1_DEFVAL 
#undef LPD_SLCR_SECURE_SLCR_USB_TZ_USB3_1_SHIFT 
#undef LPD_SLCR_SECURE_SLCR_USB_TZ_USB3_1_MASK 
#define LPD_SLCR_SECURE_SLCR_USB_TZ_USB3_1_DEFVAL              0x00000003
#define LPD_SLCR_SECURE_SLCR_USB_TZ_USB3_1_SHIFT               1
#define LPD_SLCR_SECURE_SLCR_USB_TZ_USB3_1_MASK                0x00000002U

/*
* AXI protection [0] = '0' : Normal access [0] = '1' : Previleged access [
    * 1] = '0' : Secure access [1] = '1' : No secure access [2] = '0' : Data a
    * ccess [2] = '1'' : Instruction access
*/
#undef IOU_SECURE_SLCR_IOU_AXI_RPRTCN_SD0_AXI_ARPROT_DEFVAL 
#undef IOU_SECURE_SLCR_IOU_AXI_RPRTCN_SD0_AXI_ARPROT_SHIFT 
#undef IOU_SECURE_SLCR_IOU_AXI_RPRTCN_SD0_AXI_ARPROT_MASK 
#define IOU_SECURE_SLCR_IOU_AXI_RPRTCN_SD0_AXI_ARPROT_DEFVAL   0x00000000
#define IOU_SECURE_SLCR_IOU_AXI_RPRTCN_SD0_AXI_ARPROT_SHIFT    16
#define IOU_SECURE_SLCR_IOU_AXI_RPRTCN_SD0_AXI_ARPROT_MASK     0x00070000U

/*
* AXI protection [0] = '0' : Normal access [0] = '1' : Previleged access [
    * 1] = '0' : Secure access [1] = '1' : No secure access [2] = '0' : Data a
    * ccess [2] = '1'' : Instruction access
*/
#undef IOU_SECURE_SLCR_IOU_AXI_RPRTCN_SD1_AXI_ARPROT_DEFVAL 
#undef IOU_SECURE_SLCR_IOU_AXI_RPRTCN_SD1_AXI_ARPROT_SHIFT 
#undef IOU_SECURE_SLCR_IOU_AXI_RPRTCN_SD1_AXI_ARPROT_MASK 
#define IOU_SECURE_SLCR_IOU_AXI_RPRTCN_SD1_AXI_ARPROT_DEFVAL   0x00000000
#define IOU_SECURE_SLCR_IOU_AXI_RPRTCN_SD1_AXI_ARPROT_SHIFT    19
#define IOU_SECURE_SLCR_IOU_AXI_RPRTCN_SD1_AXI_ARPROT_MASK     0x00380000U

/*
* AXI protection [0] = '0' : Normal access [0] = '1' : Previleged access [
    * 1] = '0' : Secure access [1] = '1' : No secure access [2] = '0' : Data a
    * ccess [2] = '1'' : Instruction access
*/
#undef IOU_SECURE_SLCR_IOU_AXI_WPRTCN_SD0_AXI_AWPROT_DEFVAL 
#undef IOU_SECURE_SLCR_IOU_AXI_WPRTCN_SD0_AXI_AWPROT_SHIFT 
#undef IOU_SECURE_SLCR_IOU_AXI_WPRTCN_SD0_AXI_AWPROT_MASK 
#define IOU_SECURE_SLCR_IOU_AXI_WPRTCN_SD0_AXI_AWPROT_DEFVAL   0x00000000
#define IOU_SECURE_SLCR_IOU_AXI_WPRTCN_SD0_AXI_AWPROT_SHIFT    16
#define IOU_SECURE_SLCR_IOU_AXI_WPRTCN_SD0_AXI_AWPROT_MASK     0x00070000U

/*
* AXI protection [0] = '0' : Normal access [0] = '1' : Previleged access [
    * 1] = '0' : Secure access [1] = '1' : No secure access [2] = '0' : Data a
    * ccess [2] = '1'' : Instruction access
*/
#undef IOU_SECURE_SLCR_IOU_AXI_WPRTCN_SD1_AXI_AWPROT_DEFVAL 
#undef IOU_SECURE_SLCR_IOU_AXI_WPRTCN_SD1_AXI_AWPROT_SHIFT 
#undef IOU_SECURE_SLCR_IOU_AXI_WPRTCN_SD1_AXI_AWPROT_MASK 
#define IOU_SECURE_SLCR_IOU_AXI_WPRTCN_SD1_AXI_AWPROT_DEFVAL   0x00000000
#define IOU_SECURE_SLCR_IOU_AXI_WPRTCN_SD1_AXI_AWPROT_SHIFT    19
#define IOU_SECURE_SLCR_IOU_AXI_WPRTCN_SD1_AXI_AWPROT_MASK     0x00380000U

/*
* AXI protection [0] = '0' : Normal access [0] = '1' : Previleged access [
    * 1] = '0' : Secure access [1] = '1' : No secure access [2] = '0' : Data a
    * ccess [2] = '1'' : Instruction access
*/
#undef IOU_SECURE_SLCR_IOU_AXI_RPRTCN_GEM0_AXI_ARPROT_DEFVAL 
#undef IOU_SECURE_SLCR_IOU_AXI_RPRTCN_GEM0_AXI_ARPROT_SHIFT 
#undef IOU_SECURE_SLCR_IOU_AXI_RPRTCN_GEM0_AXI_ARPROT_MASK 
#define IOU_SECURE_SLCR_IOU_AXI_RPRTCN_GEM0_AXI_ARPROT_DEFVAL  0x00000000
#define IOU_SECURE_SLCR_IOU_AXI_RPRTCN_GEM0_AXI_ARPROT_SHIFT   0
#define IOU_SECURE_SLCR_IOU_AXI_RPRTCN_GEM0_AXI_ARPROT_MASK    0x00000007U

/*
* AXI protection [0] = '0' : Normal access [0] = '1' : Previleged access [
    * 1] = '0' : Secure access [1] = '1' : No secure access [2] = '0' : Data a
    * ccess [2] = '1'' : Instruction access
*/
#undef IOU_SECURE_SLCR_IOU_AXI_RPRTCN_GEM1_AXI_ARPROT_DEFVAL 
#undef IOU_SECURE_SLCR_IOU_AXI_RPRTCN_GEM1_AXI_ARPROT_SHIFT 
#undef IOU_SECURE_SLCR_IOU_AXI_RPRTCN_GEM1_AXI_ARPROT_MASK 
#define IOU_SECURE_SLCR_IOU_AXI_RPRTCN_GEM1_AXI_ARPROT_DEFVAL  0x00000000
#define IOU_SECURE_SLCR_IOU_AXI_RPRTCN_GEM1_AXI_ARPROT_SHIFT   3
#define IOU_SECURE_SLCR_IOU_AXI_RPRTCN_GEM1_AXI_ARPROT_MASK    0x00000038U

/*
* AXI protection [0] = '0' : Normal access [0] = '1' : Previleged access [
    * 1] = '0' : Secure access [1] = '1' : No secure access [2] = '0' : Data a
    * ccess [2] = '1'' : Instruction access
*/
#undef IOU_SECURE_SLCR_IOU_AXI_RPRTCN_GEM2_AXI_ARPROT_DEFVAL 
#undef IOU_SECURE_SLCR_IOU_AXI_RPRTCN_GEM2_AXI_ARPROT_SHIFT 
#undef IOU_SECURE_SLCR_IOU_AXI_RPRTCN_GEM2_AXI_ARPROT_MASK 
#define IOU_SECURE_SLCR_IOU_AXI_RPRTCN_GEM2_AXI_ARPROT_DEFVAL  0x00000000
#define IOU_SECURE_SLCR_IOU_AXI_RPRTCN_GEM2_AXI_ARPROT_SHIFT   6
#define IOU_SECURE_SLCR_IOU_AXI_RPRTCN_GEM2_AXI_ARPROT_MASK    0x000001C0U

/*
* AXI protection [0] = '0' : Normal access [0] = '1' : Previleged access [
    * 1] = '0' : Secure access [1] = '1' : No secure access [2] = '0' : Data a
    * ccess [2] = '1'' : Instruction access
*/
#undef IOU_SECURE_SLCR_IOU_AXI_RPRTCN_GEM3_AXI_ARPROT_DEFVAL 
#undef IOU_SECURE_SLCR_IOU_AXI_RPRTCN_GEM3_AXI_ARPROT_SHIFT 
#undef IOU_SECURE_SLCR_IOU_AXI_RPRTCN_GEM3_AXI_ARPROT_MASK 
#define IOU_SECURE_SLCR_IOU_AXI_RPRTCN_GEM3_AXI_ARPROT_DEFVAL  0x00000000
#define IOU_SECURE_SLCR_IOU_AXI_RPRTCN_GEM3_AXI_ARPROT_SHIFT   9
#define IOU_SECURE_SLCR_IOU_AXI_RPRTCN_GEM3_AXI_ARPROT_MASK    0x00000E00U

/*
* AXI protection [0] = '0' : Normal access [0] = '1' : Previleged access [
    * 1] = '0' : Secure access [1] = '1' : No secure access [2] = '0' : Data a
    * ccess [2] = '1'' : Instruction access
*/
#undef IOU_SECURE_SLCR_IOU_AXI_WPRTCN_GEM0_AXI_AWPROT_DEFVAL 
#undef IOU_SECURE_SLCR_IOU_AXI_WPRTCN_GEM0_AXI_AWPROT_SHIFT 
#undef IOU_SECURE_SLCR_IOU_AXI_WPRTCN_GEM0_AXI_AWPROT_MASK 
#define IOU_SECURE_SLCR_IOU_AXI_WPRTCN_GEM0_AXI_AWPROT_DEFVAL  0x00000000
#define IOU_SECURE_SLCR_IOU_AXI_WPRTCN_GEM0_AXI_AWPROT_SHIFT   0
#define IOU_SECURE_SLCR_IOU_AXI_WPRTCN_GEM0_AXI_AWPROT_MASK    0x00000007U

/*
* AXI protection [0] = '0' : Normal access [0] = '1' : Previleged access [
    * 1] = '0' : Secure access [1] = '1' : No secure access [2] = '0' : Data a
    * ccess [2] = '1'' : Instruction access
*/
#undef IOU_SECURE_SLCR_IOU_AXI_WPRTCN_GEM1_AXI_AWPROT_DEFVAL 
#undef IOU_SECURE_SLCR_IOU_AXI_WPRTCN_GEM1_AXI_AWPROT_SHIFT 
#undef IOU_SECURE_SLCR_IOU_AXI_WPRTCN_GEM1_AXI_AWPROT_MASK 
#define IOU_SECURE_SLCR_IOU_AXI_WPRTCN_GEM1_AXI_AWPROT_DEFVAL  0x00000000
#define IOU_SECURE_SLCR_IOU_AXI_WPRTCN_GEM1_AXI_AWPROT_SHIFT   3
#define IOU_SECURE_SLCR_IOU_AXI_WPRTCN_GEM1_AXI_AWPROT_MASK    0x00000038U

/*
* AXI protection [0] = '0' : Normal access [0] = '1' : Previleged access [
    * 1] = '0' : Secure access [1] = '1' : No secure access [2] = '0' : Data a
    * ccess [2] = '1'' : Instruction access
*/
#undef IOU_SECURE_SLCR_IOU_AXI_WPRTCN_GEM2_AXI_AWPROT_DEFVAL 
#undef IOU_SECURE_SLCR_IOU_AXI_WPRTCN_GEM2_AXI_AWPROT_SHIFT 
#undef IOU_SECURE_SLCR_IOU_AXI_WPRTCN_GEM2_AXI_AWPROT_MASK 
#define IOU_SECURE_SLCR_IOU_AXI_WPRTCN_GEM2_AXI_AWPROT_DEFVAL  0x00000000
#define IOU_SECURE_SLCR_IOU_AXI_WPRTCN_GEM2_AXI_AWPROT_SHIFT   6
#define IOU_SECURE_SLCR_IOU_AXI_WPRTCN_GEM2_AXI_AWPROT_MASK    0x000001C0U

/*
* AXI protection [0] = '0' : Normal access [0] = '1' : Previleged access [
    * 1] = '0' : Secure access [1] = '1' : No secure access [2] = '0' : Data a
    * ccess [2] = '1'' : Instruction access
*/
#undef IOU_SECURE_SLCR_IOU_AXI_WPRTCN_GEM3_AXI_AWPROT_DEFVAL 
#undef IOU_SECURE_SLCR_IOU_AXI_WPRTCN_GEM3_AXI_AWPROT_SHIFT 
#undef IOU_SECURE_SLCR_IOU_AXI_WPRTCN_GEM3_AXI_AWPROT_MASK 
#define IOU_SECURE_SLCR_IOU_AXI_WPRTCN_GEM3_AXI_AWPROT_DEFVAL  0x00000000
#define IOU_SECURE_SLCR_IOU_AXI_WPRTCN_GEM3_AXI_AWPROT_SHIFT   9
#define IOU_SECURE_SLCR_IOU_AXI_WPRTCN_GEM3_AXI_AWPROT_MASK    0x00000E00U

/*
* AXI protection [0] = '0' : Normal access [0] = '1' : Previleged access [
    * 1] = '0' : Secure access [1] = '1' : No secure access [2] = '0' : Data a
    * ccess [2] = '1'' : Instruction access
*/
#undef IOU_SECURE_SLCR_IOU_AXI_WPRTCN_QSPI_AXI_AWPROT_DEFVAL 
#undef IOU_SECURE_SLCR_IOU_AXI_WPRTCN_QSPI_AXI_AWPROT_SHIFT 
#undef IOU_SECURE_SLCR_IOU_AXI_WPRTCN_QSPI_AXI_AWPROT_MASK 
#define IOU_SECURE_SLCR_IOU_AXI_WPRTCN_QSPI_AXI_AWPROT_DEFVAL  0x00000000
#define IOU_SECURE_SLCR_IOU_AXI_WPRTCN_QSPI_AXI_AWPROT_SHIFT   25
#define IOU_SECURE_SLCR_IOU_AXI_WPRTCN_QSPI_AXI_AWPROT_MASK    0x0E000000U

/*
* AXI protection [0] = '0' : Normal access [0] = '1' : Previleged access [
    * 1] = '0' : Secure access [1] = '1' : No secure access [2] = '0' : Data a
    * ccess [2] = '1'' : Instruction access
*/
#undef IOU_SECURE_SLCR_IOU_AXI_RPRTCN_NAND_AXI_ARPROT_DEFVAL 
#undef IOU_SECURE_SLCR_IOU_AXI_RPRTCN_NAND_AXI_ARPROT_SHIFT 
#undef IOU_SECURE_SLCR_IOU_AXI_RPRTCN_NAND_AXI_ARPROT_MASK 
#define IOU_SECURE_SLCR_IOU_AXI_RPRTCN_NAND_AXI_ARPROT_DEFVAL  0x00000000
#define IOU_SECURE_SLCR_IOU_AXI_RPRTCN_NAND_AXI_ARPROT_SHIFT   22
#define IOU_SECURE_SLCR_IOU_AXI_RPRTCN_NAND_AXI_ARPROT_MASK    0x01C00000U

/*
* AXI protection [0] = '0' : Normal access [0] = '1' : Previleged access [
    * 1] = '0' : Secure access [1] = '1' : No secure access [2] = '0' : Data a
    * ccess [2] = '1'' : Instruction access
*/
#undef IOU_SECURE_SLCR_IOU_AXI_WPRTCN_NAND_AXI_AWPROT_DEFVAL 
#undef IOU_SECURE_SLCR_IOU_AXI_WPRTCN_NAND_AXI_AWPROT_SHIFT 
#undef IOU_SECURE_SLCR_IOU_AXI_WPRTCN_NAND_AXI_AWPROT_MASK 
#define IOU_SECURE_SLCR_IOU_AXI_WPRTCN_NAND_AXI_AWPROT_DEFVAL  0x00000000
#define IOU_SECURE_SLCR_IOU_AXI_WPRTCN_NAND_AXI_AWPROT_SHIFT   22
#define IOU_SECURE_SLCR_IOU_AXI_WPRTCN_NAND_AXI_AWPROT_MASK    0x01C00000U

/*
* TrustZone Classification for ADMA
*/
#undef LPD_SLCR_SECURE_SLCR_ADMA_TZ_DEFVAL 
#undef LPD_SLCR_SECURE_SLCR_ADMA_TZ_SHIFT 
#undef LPD_SLCR_SECURE_SLCR_ADMA_TZ_MASK 
#define LPD_SLCR_SECURE_SLCR_ADMA_TZ_DEFVAL                    
#define LPD_SLCR_SECURE_SLCR_ADMA_TZ_SHIFT                     0
#define LPD_SLCR_SECURE_SLCR_ADMA_TZ_MASK                      0x000000FFU

/*
* TrustZone Classification for GDMA
*/
#undef FPD_SLCR_SECURE_SLCR_GDMA_TZ_DEFVAL 
#undef FPD_SLCR_SECURE_SLCR_GDMA_TZ_SHIFT 
#undef FPD_SLCR_SECURE_SLCR_GDMA_TZ_MASK 
#define FPD_SLCR_SECURE_SLCR_GDMA_TZ_DEFVAL                    
#define FPD_SLCR_SECURE_SLCR_GDMA_TZ_SHIFT                     0
#define FPD_SLCR_SECURE_SLCR_GDMA_TZ_MASK                      0x000000FFU
#undef SERDES_PLL_REF_SEL0_OFFSET 
#define SERDES_PLL_REF_SEL0_OFFSET                                                 0XFD410000
#undef SERDES_PLL_REF_SEL1_OFFSET 
#define SERDES_PLL_REF_SEL1_OFFSET                                                 0XFD410004
#undef SERDES_PLL_REF_SEL2_OFFSET 
#define SERDES_PLL_REF_SEL2_OFFSET                                                 0XFD410008
#undef SERDES_PLL_REF_SEL3_OFFSET 
#define SERDES_PLL_REF_SEL3_OFFSET                                                 0XFD41000C
#undef SERDES_L0_L0_REF_CLK_SEL_OFFSET 
#define SERDES_L0_L0_REF_CLK_SEL_OFFSET                                            0XFD402860
#undef SERDES_L0_L1_REF_CLK_SEL_OFFSET 
#define SERDES_L0_L1_REF_CLK_SEL_OFFSET                                            0XFD402864
#undef SERDES_L0_L2_REF_CLK_SEL_OFFSET 
#define SERDES_L0_L2_REF_CLK_SEL_OFFSET                                            0XFD402868
#undef SERDES_L0_L3_REF_CLK_SEL_OFFSET 
#define SERDES_L0_L3_REF_CLK_SEL_OFFSET                                            0XFD40286C
#undef SERDES_L2_TM_PLL_DIG_37_OFFSET 
#define SERDES_L2_TM_PLL_DIG_37_OFFSET                                             0XFD40A094
#undef SERDES_L2_PLL_SS_STEPS_0_LSB_OFFSET 
#define SERDES_L2_PLL_SS_STEPS_0_LSB_OFFSET                                        0XFD40A368
#undef SERDES_L2_PLL_SS_STEPS_1_MSB_OFFSET 
#define SERDES_L2_PLL_SS_STEPS_1_MSB_OFFSET                                        0XFD40A36C
#undef SERDES_L3_PLL_SS_STEPS_0_LSB_OFFSET 
#define SERDES_L3_PLL_SS_STEPS_0_LSB_OFFSET                                        0XFD40E368
#undef SERDES_L3_PLL_SS_STEPS_1_MSB_OFFSET 
#define SERDES_L3_PLL_SS_STEPS_1_MSB_OFFSET                                        0XFD40E36C
#undef SERDES_L1_PLL_SS_STEPS_0_LSB_OFFSET 
#define SERDES_L1_PLL_SS_STEPS_0_LSB_OFFSET                                        0XFD406368
#undef SERDES_L1_PLL_SS_STEPS_1_MSB_OFFSET 
#define SERDES_L1_PLL_SS_STEPS_1_MSB_OFFSET                                        0XFD40636C
#undef SERDES_L1_PLL_SS_STEP_SIZE_0_LSB_OFFSET 
#define SERDES_L1_PLL_SS_STEP_SIZE_0_LSB_OFFSET                                    0XFD406370
#undef SERDES_L1_PLL_SS_STEP_SIZE_1_OFFSET 
#define SERDES_L1_PLL_SS_STEP_SIZE_1_OFFSET                                        0XFD406374
#undef SERDES_L1_PLL_SS_STEP_SIZE_2_OFFSET 
#define SERDES_L1_PLL_SS_STEP_SIZE_2_OFFSET                                        0XFD406378
#undef SERDES_L1_PLL_SS_STEP_SIZE_3_MSB_OFFSET 
#define SERDES_L1_PLL_SS_STEP_SIZE_3_MSB_OFFSET                                    0XFD40637C
#undef SERDES_L2_PLL_SS_STEP_SIZE_0_LSB_OFFSET 
#define SERDES_L2_PLL_SS_STEP_SIZE_0_LSB_OFFSET                                    0XFD40A370
#undef SERDES_L2_PLL_SS_STEP_SIZE_1_OFFSET 
#define SERDES_L2_PLL_SS_STEP_SIZE_1_OFFSET                                        0XFD40A374
#undef SERDES_L2_PLL_SS_STEP_SIZE_2_OFFSET 
#define SERDES_L2_PLL_SS_STEP_SIZE_2_OFFSET                                        0XFD40A378
#undef SERDES_L2_PLL_SS_STEP_SIZE_3_MSB_OFFSET 
#define SERDES_L2_PLL_SS_STEP_SIZE_3_MSB_OFFSET                                    0XFD40A37C
#undef SERDES_L3_PLL_SS_STEP_SIZE_0_LSB_OFFSET 
#define SERDES_L3_PLL_SS_STEP_SIZE_0_LSB_OFFSET                                    0XFD40E370
#undef SERDES_L3_PLL_SS_STEP_SIZE_1_OFFSET 
#define SERDES_L3_PLL_SS_STEP_SIZE_1_OFFSET                                        0XFD40E374
#undef SERDES_L3_PLL_SS_STEP_SIZE_2_OFFSET 
#define SERDES_L3_PLL_SS_STEP_SIZE_2_OFFSET                                        0XFD40E378
#undef SERDES_L3_PLL_SS_STEP_SIZE_3_MSB_OFFSET 
#define SERDES_L3_PLL_SS_STEP_SIZE_3_MSB_OFFSET                                    0XFD40E37C
#undef SERDES_L2_TM_DIG_6_OFFSET 
#define SERDES_L2_TM_DIG_6_OFFSET                                                  0XFD40906C
#undef SERDES_L2_TX_DIG_TM_61_OFFSET 
#define SERDES_L2_TX_DIG_TM_61_OFFSET                                              0XFD4080F4
#undef SERDES_L3_PLL_FBDIV_FRAC_3_MSB_OFFSET 
#define SERDES_L3_PLL_FBDIV_FRAC_3_MSB_OFFSET                                      0XFD40E360
#undef SERDES_L3_TM_DIG_6_OFFSET 
#define SERDES_L3_TM_DIG_6_OFFSET                                                  0XFD40D06C
#undef SERDES_L3_TX_DIG_TM_61_OFFSET 
#define SERDES_L3_TX_DIG_TM_61_OFFSET                                              0XFD40C0F4
#undef SERDES_L0_TM_AUX_0_OFFSET 
#define SERDES_L0_TM_AUX_0_OFFSET                                                  0XFD4010CC
#undef SERDES_L2_TM_AUX_0_OFFSET 
#define SERDES_L2_TM_AUX_0_OFFSET                                                  0XFD4090CC
#undef SERDES_L0_TM_DIG_8_OFFSET 
#define SERDES_L0_TM_DIG_8_OFFSET                                                  0XFD401074
#undef SERDES_L1_TM_DIG_8_OFFSET 
#define SERDES_L1_TM_DIG_8_OFFSET                                                  0XFD405074
#undef SERDES_L2_TM_DIG_8_OFFSET 
#define SERDES_L2_TM_DIG_8_OFFSET                                                  0XFD409074
#undef SERDES_L3_TM_DIG_8_OFFSET 
#define SERDES_L3_TM_DIG_8_OFFSET                                                  0XFD40D074
#undef SERDES_L0_TM_MISC2_OFFSET 
#define SERDES_L0_TM_MISC2_OFFSET                                                  0XFD40189C
#undef SERDES_L0_TM_IQ_ILL1_OFFSET 
#define SERDES_L0_TM_IQ_ILL1_OFFSET                                                0XFD4018F8
#undef SERDES_L0_TM_IQ_ILL2_OFFSET 
#define SERDES_L0_TM_IQ_ILL2_OFFSET                                                0XFD4018FC
#undef SERDES_L0_TM_ILL12_OFFSET 
#define SERDES_L0_TM_ILL12_OFFSET                                                  0XFD401990
#undef SERDES_L0_TM_E_ILL1_OFFSET 
#define SERDES_L0_TM_E_ILL1_OFFSET                                                 0XFD401924
#undef SERDES_L0_TM_E_ILL2_OFFSET 
#define SERDES_L0_TM_E_ILL2_OFFSET                                                 0XFD401928
#undef SERDES_L0_TM_IQ_ILL3_OFFSET 
#define SERDES_L0_TM_IQ_ILL3_OFFSET                                                0XFD401900
#undef SERDES_L0_TM_E_ILL3_OFFSET 
#define SERDES_L0_TM_E_ILL3_OFFSET                                                 0XFD40192C
#undef SERDES_L0_TM_ILL8_OFFSET 
#define SERDES_L0_TM_ILL8_OFFSET                                                   0XFD401980
#undef SERDES_L0_TM_IQ_ILL8_OFFSET 
#define SERDES_L0_TM_IQ_ILL8_OFFSET                                                0XFD401914
#undef SERDES_L0_TM_IQ_ILL9_OFFSET 
#define SERDES_L0_TM_IQ_ILL9_OFFSET                                                0XFD401918
#undef SERDES_L0_TM_E_ILL8_OFFSET 
#define SERDES_L0_TM_E_ILL8_OFFSET                                                 0XFD401940
#undef SERDES_L0_TM_E_ILL9_OFFSET 
#define SERDES_L0_TM_E_ILL9_OFFSET                                                 0XFD401944
#undef SERDES_L0_TM_ILL13_OFFSET 
#define SERDES_L0_TM_ILL13_OFFSET                                                  0XFD401994
#undef SERDES_L1_TM_ILL13_OFFSET 
#define SERDES_L1_TM_ILL13_OFFSET                                                  0XFD405994
#undef SERDES_L2_TM_MISC2_OFFSET 
#define SERDES_L2_TM_MISC2_OFFSET                                                  0XFD40989C
#undef SERDES_L2_TM_IQ_ILL1_OFFSET 
#define SERDES_L2_TM_IQ_ILL1_OFFSET                                                0XFD4098F8
#undef SERDES_L2_TM_IQ_ILL2_OFFSET 
#define SERDES_L2_TM_IQ_ILL2_OFFSET                                                0XFD4098FC
#undef SERDES_L2_TM_ILL12_OFFSET 
#define SERDES_L2_TM_ILL12_OFFSET                                                  0XFD409990
#undef SERDES_L2_TM_E_ILL1_OFFSET 
#define SERDES_L2_TM_E_ILL1_OFFSET                                                 0XFD409924
#undef SERDES_L2_TM_E_ILL2_OFFSET 
#define SERDES_L2_TM_E_ILL2_OFFSET                                                 0XFD409928
#undef SERDES_L2_TM_IQ_ILL3_OFFSET 
#define SERDES_L2_TM_IQ_ILL3_OFFSET                                                0XFD409900
#undef SERDES_L2_TM_E_ILL3_OFFSET 
#define SERDES_L2_TM_E_ILL3_OFFSET                                                 0XFD40992C
#undef SERDES_L2_TM_ILL8_OFFSET 
#define SERDES_L2_TM_ILL8_OFFSET                                                   0XFD409980
#undef SERDES_L2_TM_IQ_ILL8_OFFSET 
#define SERDES_L2_TM_IQ_ILL8_OFFSET                                                0XFD409914
#undef SERDES_L2_TM_IQ_ILL9_OFFSET 
#define SERDES_L2_TM_IQ_ILL9_OFFSET                                                0XFD409918
#undef SERDES_L2_TM_E_ILL8_OFFSET 
#define SERDES_L2_TM_E_ILL8_OFFSET                                                 0XFD409940
#undef SERDES_L2_TM_E_ILL9_OFFSET 
#define SERDES_L2_TM_E_ILL9_OFFSET                                                 0XFD409944
#undef SERDES_L2_TM_ILL13_OFFSET 
#define SERDES_L2_TM_ILL13_OFFSET                                                  0XFD409994
#undef SERDES_L3_TM_MISC2_OFFSET 
#define SERDES_L3_TM_MISC2_OFFSET                                                  0XFD40D89C
#undef SERDES_L3_TM_IQ_ILL1_OFFSET 
#define SERDES_L3_TM_IQ_ILL1_OFFSET                                                0XFD40D8F8
#undef SERDES_L3_TM_IQ_ILL2_OFFSET 
#define SERDES_L3_TM_IQ_ILL2_OFFSET                                                0XFD40D8FC
#undef SERDES_L3_TM_ILL12_OFFSET 
#define SERDES_L3_TM_ILL12_OFFSET                                                  0XFD40D990
#undef SERDES_L3_TM_E_ILL1_OFFSET 
#define SERDES_L3_TM_E_ILL1_OFFSET                                                 0XFD40D924
#undef SERDES_L3_TM_E_ILL2_OFFSET 
#define SERDES_L3_TM_E_ILL2_OFFSET                                                 0XFD40D928
#undef SERDES_L3_TM_ILL11_OFFSET 
#define SERDES_L3_TM_ILL11_OFFSET                                                  0XFD40D98C
#undef SERDES_L3_TM_IQ_ILL3_OFFSET 
#define SERDES_L3_TM_IQ_ILL3_OFFSET                                                0XFD40D900
#undef SERDES_L3_TM_E_ILL3_OFFSET 
#define SERDES_L3_TM_E_ILL3_OFFSET                                                 0XFD40D92C
#undef SERDES_L3_TM_ILL8_OFFSET 
#define SERDES_L3_TM_ILL8_OFFSET                                                   0XFD40D980
#undef SERDES_L3_TM_IQ_ILL8_OFFSET 
#define SERDES_L3_TM_IQ_ILL8_OFFSET                                                0XFD40D914
#undef SERDES_L3_TM_IQ_ILL9_OFFSET 
#define SERDES_L3_TM_IQ_ILL9_OFFSET                                                0XFD40D918
#undef SERDES_L3_TM_E_ILL8_OFFSET 
#define SERDES_L3_TM_E_ILL8_OFFSET                                                 0XFD40D940
#undef SERDES_L3_TM_E_ILL9_OFFSET 
#define SERDES_L3_TM_E_ILL9_OFFSET                                                 0XFD40D944
#undef SERDES_L3_TM_ILL13_OFFSET 
#define SERDES_L3_TM_ILL13_OFFSET                                                  0XFD40D994
#undef SERDES_L0_TM_DIG_10_OFFSET 
#define SERDES_L0_TM_DIG_10_OFFSET                                                 0XFD40107C
#undef SERDES_L1_TM_DIG_10_OFFSET 
#define SERDES_L1_TM_DIG_10_OFFSET                                                 0XFD40507C
#undef SERDES_L2_TM_DIG_10_OFFSET 
#define SERDES_L2_TM_DIG_10_OFFSET                                                 0XFD40907C
#undef SERDES_L3_TM_DIG_10_OFFSET 
#define SERDES_L3_TM_DIG_10_OFFSET                                                 0XFD40D07C
#undef SERDES_L0_TM_RST_DLY_OFFSET 
#define SERDES_L0_TM_RST_DLY_OFFSET                                                0XFD4019A4
#undef SERDES_L0_TM_ANA_BYP_15_OFFSET 
#define SERDES_L0_TM_ANA_BYP_15_OFFSET                                             0XFD401038
#undef SERDES_L0_TM_ANA_BYP_12_OFFSET 
#define SERDES_L0_TM_ANA_BYP_12_OFFSET                                             0XFD40102C
#undef SERDES_L1_TM_RST_DLY_OFFSET 
#define SERDES_L1_TM_RST_DLY_OFFSET                                                0XFD4059A4
#undef SERDES_L1_TM_ANA_BYP_15_OFFSET 
#define SERDES_L1_TM_ANA_BYP_15_OFFSET                                             0XFD405038
#undef SERDES_L1_TM_ANA_BYP_12_OFFSET 
#define SERDES_L1_TM_ANA_BYP_12_OFFSET                                             0XFD40502C
#undef SERDES_L2_TM_RST_DLY_OFFSET 
#define SERDES_L2_TM_RST_DLY_OFFSET                                                0XFD4099A4
#undef SERDES_L2_TM_ANA_BYP_15_OFFSET 
#define SERDES_L2_TM_ANA_BYP_15_OFFSET                                             0XFD409038
#undef SERDES_L2_TM_ANA_BYP_12_OFFSET 
#define SERDES_L2_TM_ANA_BYP_12_OFFSET                                             0XFD40902C
#undef SERDES_L3_TM_RST_DLY_OFFSET 
#define SERDES_L3_TM_RST_DLY_OFFSET                                                0XFD40D9A4
#undef SERDES_L3_TM_ANA_BYP_15_OFFSET 
#define SERDES_L3_TM_ANA_BYP_15_OFFSET                                             0XFD40D038
#undef SERDES_L3_TM_ANA_BYP_12_OFFSET 
#define SERDES_L3_TM_ANA_BYP_12_OFFSET                                             0XFD40D02C
#undef SERDES_L0_TM_MISC3_OFFSET 
#define SERDES_L0_TM_MISC3_OFFSET                                                  0XFD4019AC
#undef SERDES_L1_TM_MISC3_OFFSET 
#define SERDES_L1_TM_MISC3_OFFSET                                                  0XFD4059AC
#undef SERDES_L2_TM_MISC3_OFFSET 
#define SERDES_L2_TM_MISC3_OFFSET                                                  0XFD4099AC
#undef SERDES_L3_TM_MISC3_OFFSET 
#define SERDES_L3_TM_MISC3_OFFSET                                                  0XFD40D9AC
#undef SERDES_L0_TM_EQ11_OFFSET 
#define SERDES_L0_TM_EQ11_OFFSET                                                   0XFD401978
#undef SERDES_L1_TM_EQ11_OFFSET 
#define SERDES_L1_TM_EQ11_OFFSET                                                   0XFD405978
#undef SERDES_L2_TM_EQ11_OFFSET 
#define SERDES_L2_TM_EQ11_OFFSET                                                   0XFD409978
#undef SERDES_L3_TM_EQ11_OFFSET 
#define SERDES_L3_TM_EQ11_OFFSET                                                   0XFD40D978
#undef SIOU_ECO_0_OFFSET 
#define SIOU_ECO_0_OFFSET                                                          0XFD3D001C
#undef SERDES_ICM_CFG0_OFFSET 
#define SERDES_ICM_CFG0_OFFSET                                                     0XFD410010
#undef SERDES_ICM_CFG1_OFFSET 
#define SERDES_ICM_CFG1_OFFSET                                                     0XFD410014
#undef SERDES_L1_TXPMD_TM_45_OFFSET 
#define SERDES_L1_TXPMD_TM_45_OFFSET                                               0XFD404CB4
#undef SERDES_L1_TX_ANA_TM_118_OFFSET 
#define SERDES_L1_TX_ANA_TM_118_OFFSET                                             0XFD4041D8
#undef SERDES_L3_TX_ANA_TM_118_OFFSET 
#define SERDES_L3_TX_ANA_TM_118_OFFSET                                             0XFD40C1D8
#undef SERDES_L3_TM_CDR5_OFFSET 
#define SERDES_L3_TM_CDR5_OFFSET                                                   0XFD40DC14
#undef SERDES_L3_TM_CDR16_OFFSET 
#define SERDES_L3_TM_CDR16_OFFSET                                                  0XFD40DC40
#undef SERDES_L3_TM_EQ0_OFFSET 
#define SERDES_L3_TM_EQ0_OFFSET                                                    0XFD40D94C
#undef SERDES_L3_TM_EQ1_OFFSET 
#define SERDES_L3_TM_EQ1_OFFSET                                                    0XFD40D950
#undef SERDES_L1_TXPMD_TM_48_OFFSET 
#define SERDES_L1_TXPMD_TM_48_OFFSET                                               0XFD404CC0
#undef SERDES_L1_TX_ANA_TM_18_OFFSET 
#define SERDES_L1_TX_ANA_TM_18_OFFSET                                              0XFD404048
#undef SERDES_L3_TX_ANA_TM_18_OFFSET 
#define SERDES_L3_TX_ANA_TM_18_OFFSET                                              0XFD40C048

/*
* PLL0 Reference Selection. 0x0 - 5MHz, 0x1 - 9.6MHz, 0x2 - 10MHz, 0x3 - 1
    * 2MHz, 0x4 - 13MHz, 0x5 - 19.2MHz, 0x6 - 20MHz, 0x7 - 24MHz, 0x8 - 26MHz,
    *  0x9 - 27MHz, 0xA - 38.4MHz, 0xB - 40MHz, 0xC - 52MHz, 0xD - 100MHz, 0xE
    *  - 108MHz, 0xF - 125MHz, 0x10 - 135MHz, 0x11 - 150 MHz. 0x12 to 0x1F - R
    * eserved
*/
#undef SERDES_PLL_REF_SEL0_PLLREFSEL0_DEFVAL 
#undef SERDES_PLL_REF_SEL0_PLLREFSEL0_SHIFT 
#undef SERDES_PLL_REF_SEL0_PLLREFSEL0_MASK 
#define SERDES_PLL_REF_SEL0_PLLREFSEL0_DEFVAL                  0x0000000D
#define SERDES_PLL_REF_SEL0_PLLREFSEL0_SHIFT                   0
#define SERDES_PLL_REF_SEL0_PLLREFSEL0_MASK                    0x0000001FU

/*
* PLL1 Reference Selection. 0x0 - 5MHz, 0x1 - 9.6MHz, 0x2 - 10MHz, 0x3 - 1
    * 2MHz, 0x4 - 13MHz, 0x5 - 19.2MHz, 0x6 - 20MHz, 0x7 - 24MHz, 0x8 - 26MHz,
    *  0x9 - 27MHz, 0xA - 38.4MHz, 0xB - 40MHz, 0xC - 52MHz, 0xD - 100MHz, 0xE
    *  - 108MHz, 0xF - 125MHz, 0x10 - 135MHz, 0x11 - 150 MHz. 0x12 to 0x1F - R
    * eserved
*/
#undef SERDES_PLL_REF_SEL1_PLLREFSEL1_DEFVAL 
#undef SERDES_PLL_REF_SEL1_PLLREFSEL1_SHIFT 
#undef SERDES_PLL_REF_SEL1_PLLREFSEL1_MASK 
#define SERDES_PLL_REF_SEL1_PLLREFSEL1_DEFVAL                  0x00000008
#define SERDES_PLL_REF_SEL1_PLLREFSEL1_SHIFT                   0
#define SERDES_PLL_REF_SEL1_PLLREFSEL1_MASK                    0x0000001FU

/*
* PLL2 Reference Selection. 0x0 - 5MHz, 0x1 - 9.6MHz, 0x2 - 10MHz, 0x3 - 1
    * 2MHz, 0x4 - 13MHz, 0x5 - 19.2MHz, 0x6 - 20MHz, 0x7 - 24MHz, 0x8 - 26MHz,
    *  0x9 - 27MHz, 0xA - 38.4MHz, 0xB - 40MHz, 0xC - 52MHz, 0xD - 100MHz, 0xE
    *  - 108MHz, 0xF - 125MHz, 0x10 - 135MHz, 0x11 - 150 MHz. 0x12 to 0x1F - R
    * eserved
*/
#undef SERDES_PLL_REF_SEL2_PLLREFSEL2_DEFVAL 
#undef SERDES_PLL_REF_SEL2_PLLREFSEL2_SHIFT 
#undef SERDES_PLL_REF_SEL2_PLLREFSEL2_MASK 
#define SERDES_PLL_REF_SEL2_PLLREFSEL2_DEFVAL                  0x0000000F
#define SERDES_PLL_REF_SEL2_PLLREFSEL2_SHIFT                   0
#define SERDES_PLL_REF_SEL2_PLLREFSEL2_MASK                    0x0000001FU

/*
* PLL3 Reference Selection. 0x0 - 5MHz, 0x1 - 9.6MHz, 0x2 - 10MHz, 0x3 - 1
    * 2MHz, 0x4 - 13MHz, 0x5 - 19.2MHz, 0x6 - 20MHz, 0x7 - 24MHz, 0x8 - 26MHz,
    *  0x9 - 27MHz, 0xA - 38.4MHz, 0xB - 40MHz, 0xC - 52MHz, 0xD - 100MHz, 0xE
    *  - 108MHz, 0xF - 125MHz, 0x10 - 135MHz, 0x11 - 150 MHz. 0x12 to 0x1F - R
    * eserved
*/
#undef SERDES_PLL_REF_SEL3_PLLREFSEL3_DEFVAL 
#undef SERDES_PLL_REF_SEL3_PLLREFSEL3_SHIFT 
#undef SERDES_PLL_REF_SEL3_PLLREFSEL3_MASK 
#define SERDES_PLL_REF_SEL3_PLLREFSEL3_DEFVAL                  0x0000000E
#define SERDES_PLL_REF_SEL3_PLLREFSEL3_SHIFT                   0
#define SERDES_PLL_REF_SEL3_PLLREFSEL3_MASK                    0x0000001FU

/*
* Sel of lane 0 ref clock local mux. Set to 1 to select lane 0 slicer outp
    * ut. Set to 0 to select lane0 ref clock mux output.
*/
#undef SERDES_L0_L0_REF_CLK_SEL_L0_REF_CLK_LCL_SEL_DEFVAL 
#undef SERDES_L0_L0_REF_CLK_SEL_L0_REF_CLK_LCL_SEL_SHIFT 
#undef SERDES_L0_L0_REF_CLK_SEL_L0_REF_CLK_LCL_SEL_MASK 
#define SERDES_L0_L0_REF_CLK_SEL_L0_REF_CLK_LCL_SEL_DEFVAL     0x00000080
#define SERDES_L0_L0_REF_CLK_SEL_L0_REF_CLK_LCL_SEL_SHIFT      7
#define SERDES_L0_L0_REF_CLK_SEL_L0_REF_CLK_LCL_SEL_MASK       0x00000080U

/*
* Sel of lane 1 ref clock local mux. Set to 1 to select lane 1 slicer outp
    * ut. Set to 0 to select lane1 ref clock mux output.
*/
#undef SERDES_L0_L1_REF_CLK_SEL_L1_REF_CLK_LCL_SEL_DEFVAL 
#undef SERDES_L0_L1_REF_CLK_SEL_L1_REF_CLK_LCL_SEL_SHIFT 
#undef SERDES_L0_L1_REF_CLK_SEL_L1_REF_CLK_LCL_SEL_MASK 
#define SERDES_L0_L1_REF_CLK_SEL_L1_REF_CLK_LCL_SEL_DEFVAL     0x00000080
#define SERDES_L0_L1_REF_CLK_SEL_L1_REF_CLK_LCL_SEL_SHIFT      7
#define SERDES_L0_L1_REF_CLK_SEL_L1_REF_CLK_LCL_SEL_MASK       0x00000080U

/*
* Bit 3 of lane 1 ref clock mux one hot sel. Set to 1 to select lane 3 sli
    * cer output from ref clock network
*/
#undef SERDES_L0_L1_REF_CLK_SEL_L1_REF_CLK_SEL_3_DEFVAL 
#undef SERDES_L0_L1_REF_CLK_SEL_L1_REF_CLK_SEL_3_SHIFT 
#undef SERDES_L0_L1_REF_CLK_SEL_L1_REF_CLK_SEL_3_MASK 
#define SERDES_L0_L1_REF_CLK_SEL_L1_REF_CLK_SEL_3_DEFVAL       0x00000080
#define SERDES_L0_L1_REF_CLK_SEL_L1_REF_CLK_SEL_3_SHIFT        3
#define SERDES_L0_L1_REF_CLK_SEL_L1_REF_CLK_SEL_3_MASK         0x00000008U

/*
* Sel of lane 2 ref clock local mux. Set to 1 to select lane 1 slicer outp
    * ut. Set to 0 to select lane2 ref clock mux output.
*/
#undef SERDES_L0_L2_REF_CLK_SEL_L2_REF_CLK_LCL_SEL_DEFVAL 
#undef SERDES_L0_L2_REF_CLK_SEL_L2_REF_CLK_LCL_SEL_SHIFT 
#undef SERDES_L0_L2_REF_CLK_SEL_L2_REF_CLK_LCL_SEL_MASK 
#define SERDES_L0_L2_REF_CLK_SEL_L2_REF_CLK_LCL_SEL_DEFVAL     0x00000080
#define SERDES_L0_L2_REF_CLK_SEL_L2_REF_CLK_LCL_SEL_SHIFT      7
#define SERDES_L0_L2_REF_CLK_SEL_L2_REF_CLK_LCL_SEL_MASK       0x00000080U

/*
* Sel of lane 3 ref clock local mux. Set to 1 to select lane 3 slicer outp
    * ut. Set to 0 to select lane3 ref clock mux output.
*/
#undef SERDES_L0_L3_REF_CLK_SEL_L3_REF_CLK_LCL_SEL_DEFVAL 
#undef SERDES_L0_L3_REF_CLK_SEL_L3_REF_CLK_LCL_SEL_SHIFT 
#undef SERDES_L0_L3_REF_CLK_SEL_L3_REF_CLK_LCL_SEL_MASK 
#define SERDES_L0_L3_REF_CLK_SEL_L3_REF_CLK_LCL_SEL_DEFVAL     0x00000080
#define SERDES_L0_L3_REF_CLK_SEL_L3_REF_CLK_LCL_SEL_SHIFT      7
#define SERDES_L0_L3_REF_CLK_SEL_L3_REF_CLK_LCL_SEL_MASK       0x00000080U

/*
* Bit 1 of lane 3 ref clock mux one hot sel. Set to 1 to select lane 1 sli
    * cer output from ref clock network
*/
#undef SERDES_L0_L3_REF_CLK_SEL_L3_REF_CLK_SEL_1_DEFVAL 
#undef SERDES_L0_L3_REF_CLK_SEL_L3_REF_CLK_SEL_1_SHIFT 
#undef SERDES_L0_L3_REF_CLK_SEL_L3_REF_CLK_SEL_1_MASK 
#define SERDES_L0_L3_REF_CLK_SEL_L3_REF_CLK_SEL_1_DEFVAL       0x00000080
#define SERDES_L0_L3_REF_CLK_SEL_L3_REF_CLK_SEL_1_SHIFT        1
#define SERDES_L0_L3_REF_CLK_SEL_L3_REF_CLK_SEL_1_MASK         0x00000002U

/*
* Enable/Disable coarse code satureation limiting logic
*/
#undef SERDES_L2_TM_PLL_DIG_37_TM_ENABLE_COARSE_SATURATION_DEFVAL 
#undef SERDES_L2_TM_PLL_DIG_37_TM_ENABLE_COARSE_SATURATION_SHIFT 
#undef SERDES_L2_TM_PLL_DIG_37_TM_ENABLE_COARSE_SATURATION_MASK 
#define SERDES_L2_TM_PLL_DIG_37_TM_ENABLE_COARSE_SATURATION_DEFVAL  0x00000000
#define SERDES_L2_TM_PLL_DIG_37_TM_ENABLE_COARSE_SATURATION_SHIFT  4
#define SERDES_L2_TM_PLL_DIG_37_TM_ENABLE_COARSE_SATURATION_MASK  0x00000010U

/*
* Spread Spectrum No of Steps [7:0]
*/
#undef SERDES_L2_PLL_SS_STEPS_0_LSB_SS_NUM_OF_STEPS_0_LSB_DEFVAL 
#undef SERDES_L2_PLL_SS_STEPS_0_LSB_SS_NUM_OF_STEPS_0_LSB_SHIFT 
#undef SERDES_L2_PLL_SS_STEPS_0_LSB_SS_NUM_OF_STEPS_0_LSB_MASK 
#define SERDES_L2_PLL_SS_STEPS_0_LSB_SS_NUM_OF_STEPS_0_LSB_DEFVAL  0x00000000
#define SERDES_L2_PLL_SS_STEPS_0_LSB_SS_NUM_OF_STEPS_0_LSB_SHIFT  0
#define SERDES_L2_PLL_SS_STEPS_0_LSB_SS_NUM_OF_STEPS_0_LSB_MASK  0x000000FFU

/*
* Spread Spectrum No of Steps [10:8]
*/
#undef SERDES_L2_PLL_SS_STEPS_1_MSB_SS_NUM_OF_STEPS_1_MSB_DEFVAL 
#undef SERDES_L2_PLL_SS_STEPS_1_MSB_SS_NUM_OF_STEPS_1_MSB_SHIFT 
#undef SERDES_L2_PLL_SS_STEPS_1_MSB_SS_NUM_OF_STEPS_1_MSB_MASK 
#define SERDES_L2_PLL_SS_STEPS_1_MSB_SS_NUM_OF_STEPS_1_MSB_DEFVAL  0x00000000
#define SERDES_L2_PLL_SS_STEPS_1_MSB_SS_NUM_OF_STEPS_1_MSB_SHIFT  0
#define SERDES_L2_PLL_SS_STEPS_1_MSB_SS_NUM_OF_STEPS_1_MSB_MASK  0x00000007U

/*
* Spread Spectrum No of Steps [7:0]
*/
#undef SERDES_L3_PLL_SS_STEPS_0_LSB_SS_NUM_OF_STEPS_0_LSB_DEFVAL 
#undef SERDES_L3_PLL_SS_STEPS_0_LSB_SS_NUM_OF_STEPS_0_LSB_SHIFT 
#undef SERDES_L3_PLL_SS_STEPS_0_LSB_SS_NUM_OF_STEPS_0_LSB_MASK 
#define SERDES_L3_PLL_SS_STEPS_0_LSB_SS_NUM_OF_STEPS_0_LSB_DEFVAL  0x00000000
#define SERDES_L3_PLL_SS_STEPS_0_LSB_SS_NUM_OF_STEPS_0_LSB_SHIFT  0
#define SERDES_L3_PLL_SS_STEPS_0_LSB_SS_NUM_OF_STEPS_0_LSB_MASK  0x000000FFU

/*
* Spread Spectrum No of Steps [10:8]
*/
#undef SERDES_L3_PLL_SS_STEPS_1_MSB_SS_NUM_OF_STEPS_1_MSB_DEFVAL 
#undef SERDES_L3_PLL_SS_STEPS_1_MSB_SS_NUM_OF_STEPS_1_MSB_SHIFT 
#undef SERDES_L3_PLL_SS_STEPS_1_MSB_SS_NUM_OF_STEPS_1_MSB_MASK 
#define SERDES_L3_PLL_SS_STEPS_1_MSB_SS_NUM_OF_STEPS_1_MSB_DEFVAL  0x00000000
#define SERDES_L3_PLL_SS_STEPS_1_MSB_SS_NUM_OF_STEPS_1_MSB_SHIFT  0
#define SERDES_L3_PLL_SS_STEPS_1_MSB_SS_NUM_OF_STEPS_1_MSB_MASK  0x00000007U

/*
* Spread Spectrum No of Steps [7:0]
*/
#undef SERDES_L1_PLL_SS_STEPS_0_LSB_SS_NUM_OF_STEPS_0_LSB_DEFVAL 
#undef SERDES_L1_PLL_SS_STEPS_0_LSB_SS_NUM_OF_STEPS_0_LSB_SHIFT 
#undef SERDES_L1_PLL_SS_STEPS_0_LSB_SS_NUM_OF_STEPS_0_LSB_MASK 
#define SERDES_L1_PLL_SS_STEPS_0_LSB_SS_NUM_OF_STEPS_0_LSB_DEFVAL  0x00000000
#define SERDES_L1_PLL_SS_STEPS_0_LSB_SS_NUM_OF_STEPS_0_LSB_SHIFT  0
#define SERDES_L1_PLL_SS_STEPS_0_LSB_SS_NUM_OF_STEPS_0_LSB_MASK  0x000000FFU

/*
* Spread Spectrum No of Steps [10:8]
*/
#undef SERDES_L1_PLL_SS_STEPS_1_MSB_SS_NUM_OF_STEPS_1_MSB_DEFVAL 
#undef SERDES_L1_PLL_SS_STEPS_1_MSB_SS_NUM_OF_STEPS_1_MSB_SHIFT 
#undef SERDES_L1_PLL_SS_STEPS_1_MSB_SS_NUM_OF_STEPS_1_MSB_MASK 
#define SERDES_L1_PLL_SS_STEPS_1_MSB_SS_NUM_OF_STEPS_1_MSB_DEFVAL  0x00000000
#define SERDES_L1_PLL_SS_STEPS_1_MSB_SS_NUM_OF_STEPS_1_MSB_SHIFT  0
#define SERDES_L1_PLL_SS_STEPS_1_MSB_SS_NUM_OF_STEPS_1_MSB_MASK  0x00000007U

/*
* Step Size for Spread Spectrum [7:0]
*/
#undef SERDES_L1_PLL_SS_STEP_SIZE_0_LSB_SS_STEP_SIZE_0_LSB_DEFVAL 
#undef SERDES_L1_PLL_SS_STEP_SIZE_0_LSB_SS_STEP_SIZE_0_LSB_SHIFT 
#undef SERDES_L1_PLL_SS_STEP_SIZE_0_LSB_SS_STEP_SIZE_0_LSB_MASK 
#define SERDES_L1_PLL_SS_STEP_SIZE_0_LSB_SS_STEP_SIZE_0_LSB_DEFVAL  0x00000000
#define SERDES_L1_PLL_SS_STEP_SIZE_0_LSB_SS_STEP_SIZE_0_LSB_SHIFT  0
#define SERDES_L1_PLL_SS_STEP_SIZE_0_LSB_SS_STEP_SIZE_0_LSB_MASK  0x000000FFU

/*
* Step Size for Spread Spectrum [15:8]
*/
#undef SERDES_L1_PLL_SS_STEP_SIZE_1_SS_STEP_SIZE_1_DEFVAL 
#undef SERDES_L1_PLL_SS_STEP_SIZE_1_SS_STEP_SIZE_1_SHIFT 
#undef SERDES_L1_PLL_SS_STEP_SIZE_1_SS_STEP_SIZE_1_MASK 
#define SERDES_L1_PLL_SS_STEP_SIZE_1_SS_STEP_SIZE_1_DEFVAL     0x00000000
#define SERDES_L1_PLL_SS_STEP_SIZE_1_SS_STEP_SIZE_1_SHIFT      0
#define SERDES_L1_PLL_SS_STEP_SIZE_1_SS_STEP_SIZE_1_MASK       0x000000FFU

/*
* Step Size for Spread Spectrum [23:16]
*/
#undef SERDES_L1_PLL_SS_STEP_SIZE_2_SS_STEP_SIZE_2_DEFVAL 
#undef SERDES_L1_PLL_SS_STEP_SIZE_2_SS_STEP_SIZE_2_SHIFT 
#undef SERDES_L1_PLL_SS_STEP_SIZE_2_SS_STEP_SIZE_2_MASK 
#define SERDES_L1_PLL_SS_STEP_SIZE_2_SS_STEP_SIZE_2_DEFVAL     0x00000000
#define SERDES_L1_PLL_SS_STEP_SIZE_2_SS_STEP_SIZE_2_SHIFT      0
#define SERDES_L1_PLL_SS_STEP_SIZE_2_SS_STEP_SIZE_2_MASK       0x000000FFU

/*
* Step Size for Spread Spectrum [25:24]
*/
#undef SERDES_L1_PLL_SS_STEP_SIZE_3_MSB_SS_STEP_SIZE_3_MSB_DEFVAL 
#undef SERDES_L1_PLL_SS_STEP_SIZE_3_MSB_SS_STEP_SIZE_3_MSB_SHIFT 
#undef SERDES_L1_PLL_SS_STEP_SIZE_3_MSB_SS_STEP_SIZE_3_MSB_MASK 
#define SERDES_L1_PLL_SS_STEP_SIZE_3_MSB_SS_STEP_SIZE_3_MSB_DEFVAL  0x00000000
#define SERDES_L1_PLL_SS_STEP_SIZE_3_MSB_SS_STEP_SIZE_3_MSB_SHIFT  0
#define SERDES_L1_PLL_SS_STEP_SIZE_3_MSB_SS_STEP_SIZE_3_MSB_MASK  0x00000003U

/*
* Enable/Disable test mode force on SS step size
*/
#undef SERDES_L1_PLL_SS_STEP_SIZE_3_MSB_FORCE_SS_STEP_SIZE_DEFVAL 
#undef SERDES_L1_PLL_SS_STEP_SIZE_3_MSB_FORCE_SS_STEP_SIZE_SHIFT 
#undef SERDES_L1_PLL_SS_STEP_SIZE_3_MSB_FORCE_SS_STEP_SIZE_MASK 
#define SERDES_L1_PLL_SS_STEP_SIZE_3_MSB_FORCE_SS_STEP_SIZE_DEFVAL  0x00000000
#define SERDES_L1_PLL_SS_STEP_SIZE_3_MSB_FORCE_SS_STEP_SIZE_SHIFT  4
#define SERDES_L1_PLL_SS_STEP_SIZE_3_MSB_FORCE_SS_STEP_SIZE_MASK  0x00000010U

/*
* Enable/Disable test mode force on SS no of steps
*/
#undef SERDES_L1_PLL_SS_STEP_SIZE_3_MSB_FORCE_SS_NUM_OF_STEPS_DEFVAL 
#undef SERDES_L1_PLL_SS_STEP_SIZE_3_MSB_FORCE_SS_NUM_OF_STEPS_SHIFT 
#undef SERDES_L1_PLL_SS_STEP_SIZE_3_MSB_FORCE_SS_NUM_OF_STEPS_MASK 
#define SERDES_L1_PLL_SS_STEP_SIZE_3_MSB_FORCE_SS_NUM_OF_STEPS_DEFVAL  0x00000000
#define SERDES_L1_PLL_SS_STEP_SIZE_3_MSB_FORCE_SS_NUM_OF_STEPS_SHIFT  5
#define SERDES_L1_PLL_SS_STEP_SIZE_3_MSB_FORCE_SS_NUM_OF_STEPS_MASK  0x00000020U

/*
* Step Size for Spread Spectrum [7:0]
*/
#undef SERDES_L2_PLL_SS_STEP_SIZE_0_LSB_SS_STEP_SIZE_0_LSB_DEFVAL 
#undef SERDES_L2_PLL_SS_STEP_SIZE_0_LSB_SS_STEP_SIZE_0_LSB_SHIFT 
#undef SERDES_L2_PLL_SS_STEP_SIZE_0_LSB_SS_STEP_SIZE_0_LSB_MASK 
#define SERDES_L2_PLL_SS_STEP_SIZE_0_LSB_SS_STEP_SIZE_0_LSB_DEFVAL  0x00000000
#define SERDES_L2_PLL_SS_STEP_SIZE_0_LSB_SS_STEP_SIZE_0_LSB_SHIFT  0
#define SERDES_L2_PLL_SS_STEP_SIZE_0_LSB_SS_STEP_SIZE_0_LSB_MASK  0x000000FFU

/*
* Step Size for Spread Spectrum [15:8]
*/
#undef SERDES_L2_PLL_SS_STEP_SIZE_1_SS_STEP_SIZE_1_DEFVAL 
#undef SERDES_L2_PLL_SS_STEP_SIZE_1_SS_STEP_SIZE_1_SHIFT 
#undef SERDES_L2_PLL_SS_STEP_SIZE_1_SS_STEP_SIZE_1_MASK 
#define SERDES_L2_PLL_SS_STEP_SIZE_1_SS_STEP_SIZE_1_DEFVAL     0x00000000
#define SERDES_L2_PLL_SS_STEP_SIZE_1_SS_STEP_SIZE_1_SHIFT      0
#define SERDES_L2_PLL_SS_STEP_SIZE_1_SS_STEP_SIZE_1_MASK       0x000000FFU

/*
* Step Size for Spread Spectrum [23:16]
*/
#undef SERDES_L2_PLL_SS_STEP_SIZE_2_SS_STEP_SIZE_2_DEFVAL 
#undef SERDES_L2_PLL_SS_STEP_SIZE_2_SS_STEP_SIZE_2_SHIFT 
#undef SERDES_L2_PLL_SS_STEP_SIZE_2_SS_STEP_SIZE_2_MASK 
#define SERDES_L2_PLL_SS_STEP_SIZE_2_SS_STEP_SIZE_2_DEFVAL     0x00000000
#define SERDES_L2_PLL_SS_STEP_SIZE_2_SS_STEP_SIZE_2_SHIFT      0
#define SERDES_L2_PLL_SS_STEP_SIZE_2_SS_STEP_SIZE_2_MASK       0x000000FFU

/*
* Step Size for Spread Spectrum [25:24]
*/
#undef SERDES_L2_PLL_SS_STEP_SIZE_3_MSB_SS_STEP_SIZE_3_MSB_DEFVAL 
#undef SERDES_L2_PLL_SS_STEP_SIZE_3_MSB_SS_STEP_SIZE_3_MSB_SHIFT 
#undef SERDES_L2_PLL_SS_STEP_SIZE_3_MSB_SS_STEP_SIZE_3_MSB_MASK 
#define SERDES_L2_PLL_SS_STEP_SIZE_3_MSB_SS_STEP_SIZE_3_MSB_DEFVAL  0x00000000
#define SERDES_L2_PLL_SS_STEP_SIZE_3_MSB_SS_STEP_SIZE_3_MSB_SHIFT  0
#define SERDES_L2_PLL_SS_STEP_SIZE_3_MSB_SS_STEP_SIZE_3_MSB_MASK  0x00000003U

/*
* Enable/Disable test mode force on SS step size
*/
#undef SERDES_L2_PLL_SS_STEP_SIZE_3_MSB_FORCE_SS_STEP_SIZE_DEFVAL 
#undef SERDES_L2_PLL_SS_STEP_SIZE_3_MSB_FORCE_SS_STEP_SIZE_SHIFT 
#undef SERDES_L2_PLL_SS_STEP_SIZE_3_MSB_FORCE_SS_STEP_SIZE_MASK 
#define SERDES_L2_PLL_SS_STEP_SIZE_3_MSB_FORCE_SS_STEP_SIZE_DEFVAL  0x00000000
#define SERDES_L2_PLL_SS_STEP_SIZE_3_MSB_FORCE_SS_STEP_SIZE_SHIFT  4
#define SERDES_L2_PLL_SS_STEP_SIZE_3_MSB_FORCE_SS_STEP_SIZE_MASK  0x00000010U

/*
* Enable/Disable test mode force on SS no of steps
*/
#undef SERDES_L2_PLL_SS_STEP_SIZE_3_MSB_FORCE_SS_NUM_OF_STEPS_DEFVAL 
#undef SERDES_L2_PLL_SS_STEP_SIZE_3_MSB_FORCE_SS_NUM_OF_STEPS_SHIFT 
#undef SERDES_L2_PLL_SS_STEP_SIZE_3_MSB_FORCE_SS_NUM_OF_STEPS_MASK 
#define SERDES_L2_PLL_SS_STEP_SIZE_3_MSB_FORCE_SS_NUM_OF_STEPS_DEFVAL  0x00000000
#define SERDES_L2_PLL_SS_STEP_SIZE_3_MSB_FORCE_SS_NUM_OF_STEPS_SHIFT  5
#define SERDES_L2_PLL_SS_STEP_SIZE_3_MSB_FORCE_SS_NUM_OF_STEPS_MASK  0x00000020U

/*
* Step Size for Spread Spectrum [7:0]
*/
#undef SERDES_L3_PLL_SS_STEP_SIZE_0_LSB_SS_STEP_SIZE_0_LSB_DEFVAL 
#undef SERDES_L3_PLL_SS_STEP_SIZE_0_LSB_SS_STEP_SIZE_0_LSB_SHIFT 
#undef SERDES_L3_PLL_SS_STEP_SIZE_0_LSB_SS_STEP_SIZE_0_LSB_MASK 
#define SERDES_L3_PLL_SS_STEP_SIZE_0_LSB_SS_STEP_SIZE_0_LSB_DEFVAL  0x00000000
#define SERDES_L3_PLL_SS_STEP_SIZE_0_LSB_SS_STEP_SIZE_0_LSB_SHIFT  0
#define SERDES_L3_PLL_SS_STEP_SIZE_0_LSB_SS_STEP_SIZE_0_LSB_MASK  0x000000FFU

/*
* Step Size for Spread Spectrum [15:8]
*/
#undef SERDES_L3_PLL_SS_STEP_SIZE_1_SS_STEP_SIZE_1_DEFVAL 
#undef SERDES_L3_PLL_SS_STEP_SIZE_1_SS_STEP_SIZE_1_SHIFT 
#undef SERDES_L3_PLL_SS_STEP_SIZE_1_SS_STEP_SIZE_1_MASK 
#define SERDES_L3_PLL_SS_STEP_SIZE_1_SS_STEP_SIZE_1_DEFVAL     0x00000000
#define SERDES_L3_PLL_SS_STEP_SIZE_1_SS_STEP_SIZE_1_SHIFT      0
#define SERDES_L3_PLL_SS_STEP_SIZE_1_SS_STEP_SIZE_1_MASK       0x000000FFU

/*
* Step Size for Spread Spectrum [23:16]
*/
#undef SERDES_L3_PLL_SS_STEP_SIZE_2_SS_STEP_SIZE_2_DEFVAL 
#undef SERDES_L3_PLL_SS_STEP_SIZE_2_SS_STEP_SIZE_2_SHIFT 
#undef SERDES_L3_PLL_SS_STEP_SIZE_2_SS_STEP_SIZE_2_MASK 
#define SERDES_L3_PLL_SS_STEP_SIZE_2_SS_STEP_SIZE_2_DEFVAL     0x00000000
#define SERDES_L3_PLL_SS_STEP_SIZE_2_SS_STEP_SIZE_2_SHIFT      0
#define SERDES_L3_PLL_SS_STEP_SIZE_2_SS_STEP_SIZE_2_MASK       0x000000FFU

/*
* Step Size for Spread Spectrum [25:24]
*/
#undef SERDES_L3_PLL_SS_STEP_SIZE_3_MSB_SS_STEP_SIZE_3_MSB_DEFVAL 
#undef SERDES_L3_PLL_SS_STEP_SIZE_3_MSB_SS_STEP_SIZE_3_MSB_SHIFT 
#undef SERDES_L3_PLL_SS_STEP_SIZE_3_MSB_SS_STEP_SIZE_3_MSB_MASK 
#define SERDES_L3_PLL_SS_STEP_SIZE_3_MSB_SS_STEP_SIZE_3_MSB_DEFVAL  0x00000000
#define SERDES_L3_PLL_SS_STEP_SIZE_3_MSB_SS_STEP_SIZE_3_MSB_SHIFT  0
#define SERDES_L3_PLL_SS_STEP_SIZE_3_MSB_SS_STEP_SIZE_3_MSB_MASK  0x00000003U

/*
* Enable/Disable test mode force on SS step size
*/
#undef SERDES_L3_PLL_SS_STEP_SIZE_3_MSB_FORCE_SS_STEP_SIZE_DEFVAL 
#undef SERDES_L3_PLL_SS_STEP_SIZE_3_MSB_FORCE_SS_STEP_SIZE_SHIFT 
#undef SERDES_L3_PLL_SS_STEP_SIZE_3_MSB_FORCE_SS_STEP_SIZE_MASK 
#define SERDES_L3_PLL_SS_STEP_SIZE_3_MSB_FORCE_SS_STEP_SIZE_DEFVAL  0x00000000
#define SERDES_L3_PLL_SS_STEP_SIZE_3_MSB_FORCE_SS_STEP_SIZE_SHIFT  4
#define SERDES_L3_PLL_SS_STEP_SIZE_3_MSB_FORCE_SS_STEP_SIZE_MASK  0x00000010U

/*
* Enable/Disable test mode force on SS no of steps
*/
#undef SERDES_L3_PLL_SS_STEP_SIZE_3_MSB_FORCE_SS_NUM_OF_STEPS_DEFVAL 
#undef SERDES_L3_PLL_SS_STEP_SIZE_3_MSB_FORCE_SS_NUM_OF_STEPS_SHIFT 
#undef SERDES_L3_PLL_SS_STEP_SIZE_3_MSB_FORCE_SS_NUM_OF_STEPS_MASK 
#define SERDES_L3_PLL_SS_STEP_SIZE_3_MSB_FORCE_SS_NUM_OF_STEPS_DEFVAL  0x00000000
#define SERDES_L3_PLL_SS_STEP_SIZE_3_MSB_FORCE_SS_NUM_OF_STEPS_SHIFT  5
#define SERDES_L3_PLL_SS_STEP_SIZE_3_MSB_FORCE_SS_NUM_OF_STEPS_MASK  0x00000020U

/*
* Enable test mode forcing on enable Spread Spectrum
*/
#undef SERDES_L3_PLL_SS_STEP_SIZE_3_MSB_TM_FORCE_EN_SS_DEFVAL 
#undef SERDES_L3_PLL_SS_STEP_SIZE_3_MSB_TM_FORCE_EN_SS_SHIFT 
#undef SERDES_L3_PLL_SS_STEP_SIZE_3_MSB_TM_FORCE_EN_SS_MASK 
#define SERDES_L3_PLL_SS_STEP_SIZE_3_MSB_TM_FORCE_EN_SS_DEFVAL  0x00000000
#define SERDES_L3_PLL_SS_STEP_SIZE_3_MSB_TM_FORCE_EN_SS_SHIFT  7
#define SERDES_L3_PLL_SS_STEP_SIZE_3_MSB_TM_FORCE_EN_SS_MASK   0x00000080U

/*
* Bypass Descrambler
*/
#undef SERDES_L2_TM_DIG_6_BYPASS_DESCRAM_DEFVAL 
#undef SERDES_L2_TM_DIG_6_BYPASS_DESCRAM_SHIFT 
#undef SERDES_L2_TM_DIG_6_BYPASS_DESCRAM_MASK 
#define SERDES_L2_TM_DIG_6_BYPASS_DESCRAM_DEFVAL               0x00000000
#define SERDES_L2_TM_DIG_6_BYPASS_DESCRAM_SHIFT                1
#define SERDES_L2_TM_DIG_6_BYPASS_DESCRAM_MASK                 0x00000002U

/*
* Enable Bypass for <1> TM_DIG_CTRL_6
*/
#undef SERDES_L2_TM_DIG_6_FORCE_BYPASS_DESCRAM_DEFVAL 
#undef SERDES_L2_TM_DIG_6_FORCE_BYPASS_DESCRAM_SHIFT 
#undef SERDES_L2_TM_DIG_6_FORCE_BYPASS_DESCRAM_MASK 
#define SERDES_L2_TM_DIG_6_FORCE_BYPASS_DESCRAM_DEFVAL         0x00000000
#define SERDES_L2_TM_DIG_6_FORCE_BYPASS_DESCRAM_SHIFT          0
#define SERDES_L2_TM_DIG_6_FORCE_BYPASS_DESCRAM_MASK           0x00000001U

/*
* Bypass scrambler signal
*/
#undef SERDES_L2_TX_DIG_TM_61_BYPASS_SCRAM_DEFVAL 
#undef SERDES_L2_TX_DIG_TM_61_BYPASS_SCRAM_SHIFT 
#undef SERDES_L2_TX_DIG_TM_61_BYPASS_SCRAM_MASK 
#define SERDES_L2_TX_DIG_TM_61_BYPASS_SCRAM_DEFVAL             0x00000000
#define SERDES_L2_TX_DIG_TM_61_BYPASS_SCRAM_SHIFT              1
#define SERDES_L2_TX_DIG_TM_61_BYPASS_SCRAM_MASK               0x00000002U

/*
* Enable/disable scrambler bypass signal
*/
#undef SERDES_L2_TX_DIG_TM_61_FORCE_BYPASS_SCRAM_DEFVAL 
#undef SERDES_L2_TX_DIG_TM_61_FORCE_BYPASS_SCRAM_SHIFT 
#undef SERDES_L2_TX_DIG_TM_61_FORCE_BYPASS_SCRAM_MASK 
#define SERDES_L2_TX_DIG_TM_61_FORCE_BYPASS_SCRAM_DEFVAL       0x00000000
#define SERDES_L2_TX_DIG_TM_61_FORCE_BYPASS_SCRAM_SHIFT        0
#define SERDES_L2_TX_DIG_TM_61_FORCE_BYPASS_SCRAM_MASK         0x00000001U

/*
* Enable test mode force on fractional mode enable
*/
#undef SERDES_L3_PLL_FBDIV_FRAC_3_MSB_TM_FORCE_EN_FRAC_DEFVAL 
#undef SERDES_L3_PLL_FBDIV_FRAC_3_MSB_TM_FORCE_EN_FRAC_SHIFT 
#undef SERDES_L3_PLL_FBDIV_FRAC_3_MSB_TM_FORCE_EN_FRAC_MASK 
#define SERDES_L3_PLL_FBDIV_FRAC_3_MSB_TM_FORCE_EN_FRAC_DEFVAL  0x00000000
#define SERDES_L3_PLL_FBDIV_FRAC_3_MSB_TM_FORCE_EN_FRAC_SHIFT  6
#define SERDES_L3_PLL_FBDIV_FRAC_3_MSB_TM_FORCE_EN_FRAC_MASK   0x00000040U

/*
* Bypass 8b10b decoder
*/
#undef SERDES_L3_TM_DIG_6_BYPASS_DECODER_DEFVAL 
#undef SERDES_L3_TM_DIG_6_BYPASS_DECODER_SHIFT 
#undef SERDES_L3_TM_DIG_6_BYPASS_DECODER_MASK 
#define SERDES_L3_TM_DIG_6_BYPASS_DECODER_DEFVAL               0x00000000
#define SERDES_L3_TM_DIG_6_BYPASS_DECODER_SHIFT                3
#define SERDES_L3_TM_DIG_6_BYPASS_DECODER_MASK                 0x00000008U

/*
* Enable Bypass for <3> TM_DIG_CTRL_6
*/
#undef SERDES_L3_TM_DIG_6_FORCE_BYPASS_DEC_DEFVAL 
#undef SERDES_L3_TM_DIG_6_FORCE_BYPASS_DEC_SHIFT 
#undef SERDES_L3_TM_DIG_6_FORCE_BYPASS_DEC_MASK 
#define SERDES_L3_TM_DIG_6_FORCE_BYPASS_DEC_DEFVAL             0x00000000
#define SERDES_L3_TM_DIG_6_FORCE_BYPASS_DEC_SHIFT              2
#define SERDES_L3_TM_DIG_6_FORCE_BYPASS_DEC_MASK               0x00000004U

/*
* Bypass Descrambler
*/
#undef SERDES_L3_TM_DIG_6_BYPASS_DESCRAM_DEFVAL 
#undef SERDES_L3_TM_DIG_6_BYPASS_DESCRAM_SHIFT 
#undef SERDES_L3_TM_DIG_6_BYPASS_DESCRAM_MASK 
#define SERDES_L3_TM_DIG_6_BYPASS_DESCRAM_DEFVAL               0x00000000
#define SERDES_L3_TM_DIG_6_BYPASS_DESCRAM_SHIFT                1
#define SERDES_L3_TM_DIG_6_BYPASS_DESCRAM_MASK                 0x00000002U

/*
* Enable Bypass for <1> TM_DIG_CTRL_6
*/
#undef SERDES_L3_TM_DIG_6_FORCE_BYPASS_DESCRAM_DEFVAL 
#undef SERDES_L3_TM_DIG_6_FORCE_BYPASS_DESCRAM_SHIFT 
#undef SERDES_L3_TM_DIG_6_FORCE_BYPASS_DESCRAM_MASK 
#define SERDES_L3_TM_DIG_6_FORCE_BYPASS_DESCRAM_DEFVAL         0x00000000
#define SERDES_L3_TM_DIG_6_FORCE_BYPASS_DESCRAM_SHIFT          0
#define SERDES_L3_TM_DIG_6_FORCE_BYPASS_DESCRAM_MASK           0x00000001U

/*
* Enable/disable encoder bypass signal
*/
#undef SERDES_L3_TX_DIG_TM_61_BYPASS_ENC_DEFVAL 
#undef SERDES_L3_TX_DIG_TM_61_BYPASS_ENC_SHIFT 
#undef SERDES_L3_TX_DIG_TM_61_BYPASS_ENC_MASK 
#define SERDES_L3_TX_DIG_TM_61_BYPASS_ENC_DEFVAL               0x00000000
#define SERDES_L3_TX_DIG_TM_61_BYPASS_ENC_SHIFT                3
#define SERDES_L3_TX_DIG_TM_61_BYPASS_ENC_MASK                 0x00000008U

/*
* Bypass scrambler signal
*/
#undef SERDES_L3_TX_DIG_TM_61_BYPASS_SCRAM_DEFVAL 
#undef SERDES_L3_TX_DIG_TM_61_BYPASS_SCRAM_SHIFT 
#undef SERDES_L3_TX_DIG_TM_61_BYPASS_SCRAM_MASK 
#define SERDES_L3_TX_DIG_TM_61_BYPASS_SCRAM_DEFVAL             0x00000000
#define SERDES_L3_TX_DIG_TM_61_BYPASS_SCRAM_SHIFT              1
#define SERDES_L3_TX_DIG_TM_61_BYPASS_SCRAM_MASK               0x00000002U

/*
* Enable/disable scrambler bypass signal
*/
#undef SERDES_L3_TX_DIG_TM_61_FORCE_BYPASS_SCRAM_DEFVAL 
#undef SERDES_L3_TX_DIG_TM_61_FORCE_BYPASS_SCRAM_SHIFT 
#undef SERDES_L3_TX_DIG_TM_61_FORCE_BYPASS_SCRAM_MASK 
#define SERDES_L3_TX_DIG_TM_61_FORCE_BYPASS_SCRAM_DEFVAL       0x00000000
#define SERDES_L3_TX_DIG_TM_61_FORCE_BYPASS_SCRAM_SHIFT        0
#define SERDES_L3_TX_DIG_TM_61_FORCE_BYPASS_SCRAM_MASK         0x00000001U

/*
* Spare- not used
*/
#undef SERDES_L0_TM_AUX_0_BIT_2_DEFVAL 
#undef SERDES_L0_TM_AUX_0_BIT_2_SHIFT 
#undef SERDES_L0_TM_AUX_0_BIT_2_MASK 
#define SERDES_L0_TM_AUX_0_BIT_2_DEFVAL                        0x00000000
#define SERDES_L0_TM_AUX_0_BIT_2_SHIFT                         5
#define SERDES_L0_TM_AUX_0_BIT_2_MASK                          0x00000020U

/*
* Spare- not used
*/
#undef SERDES_L2_TM_AUX_0_BIT_2_DEFVAL 
#undef SERDES_L2_TM_AUX_0_BIT_2_SHIFT 
#undef SERDES_L2_TM_AUX_0_BIT_2_MASK 
#define SERDES_L2_TM_AUX_0_BIT_2_DEFVAL                        0x00000000
#define SERDES_L2_TM_AUX_0_BIT_2_SHIFT                         5
#define SERDES_L2_TM_AUX_0_BIT_2_MASK                          0x00000020U

/*
* Enable Eye Surf
*/
#undef SERDES_L0_TM_DIG_8_EYESURF_ENABLE_DEFVAL 
#undef SERDES_L0_TM_DIG_8_EYESURF_ENABLE_SHIFT 
#undef SERDES_L0_TM_DIG_8_EYESURF_ENABLE_MASK 
#define SERDES_L0_TM_DIG_8_EYESURF_ENABLE_DEFVAL               0x00000000
#define SERDES_L0_TM_DIG_8_EYESURF_ENABLE_SHIFT                4
#define SERDES_L0_TM_DIG_8_EYESURF_ENABLE_MASK                 0x00000010U

/*
* Enable Eye Surf
*/
#undef SERDES_L1_TM_DIG_8_EYESURF_ENABLE_DEFVAL 
#undef SERDES_L1_TM_DIG_8_EYESURF_ENABLE_SHIFT 
#undef SERDES_L1_TM_DIG_8_EYESURF_ENABLE_MASK 
#define SERDES_L1_TM_DIG_8_EYESURF_ENABLE_DEFVAL               0x00000000
#define SERDES_L1_TM_DIG_8_EYESURF_ENABLE_SHIFT                4
#define SERDES_L1_TM_DIG_8_EYESURF_ENABLE_MASK                 0x00000010U

/*
* Enable Eye Surf
*/
#undef SERDES_L2_TM_DIG_8_EYESURF_ENABLE_DEFVAL 
#undef SERDES_L2_TM_DIG_8_EYESURF_ENABLE_SHIFT 
#undef SERDES_L2_TM_DIG_8_EYESURF_ENABLE_MASK 
#define SERDES_L2_TM_DIG_8_EYESURF_ENABLE_DEFVAL               0x00000000
#define SERDES_L2_TM_DIG_8_EYESURF_ENABLE_SHIFT                4
#define SERDES_L2_TM_DIG_8_EYESURF_ENABLE_MASK                 0x00000010U

/*
* Enable Eye Surf
*/
#undef SERDES_L3_TM_DIG_8_EYESURF_ENABLE_DEFVAL 
#undef SERDES_L3_TM_DIG_8_EYESURF_ENABLE_SHIFT 
#undef SERDES_L3_TM_DIG_8_EYESURF_ENABLE_MASK 
#define SERDES_L3_TM_DIG_8_EYESURF_ENABLE_DEFVAL               0x00000000
#define SERDES_L3_TM_DIG_8_EYESURF_ENABLE_SHIFT                4
#define SERDES_L3_TM_DIG_8_EYESURF_ENABLE_MASK                 0x00000010U

/*
* ILL calib counts BYPASSED with calcode bits
*/
#undef SERDES_L0_TM_MISC2_ILL_CAL_BYPASS_COUNTS_DEFVAL 
#undef SERDES_L0_TM_MISC2_ILL_CAL_BYPASS_COUNTS_SHIFT 
#undef SERDES_L0_TM_MISC2_ILL_CAL_BYPASS_COUNTS_MASK 
#define SERDES_L0_TM_MISC2_ILL_CAL_BYPASS_COUNTS_DEFVAL        0x00000000
#define SERDES_L0_TM_MISC2_ILL_CAL_BYPASS_COUNTS_SHIFT         7
#define SERDES_L0_TM_MISC2_ILL_CAL_BYPASS_COUNTS_MASK          0x00000080U

/*
* IQ ILL F0 CALCODE bypass value. MPHY : G1a, PCIE : Gen 1, SATA : Gen1 ,
    * USB3 : SS
*/
#undef SERDES_L0_TM_IQ_ILL1_ILL_BYPASS_IQ_CALCODE_F0_DEFVAL 
#undef SERDES_L0_TM_IQ_ILL1_ILL_BYPASS_IQ_CALCODE_F0_SHIFT 
#undef SERDES_L0_TM_IQ_ILL1_ILL_BYPASS_IQ_CALCODE_F0_MASK 
#define SERDES_L0_TM_IQ_ILL1_ILL_BYPASS_IQ_CALCODE_F0_DEFVAL   0x00000000
#define SERDES_L0_TM_IQ_ILL1_ILL_BYPASS_IQ_CALCODE_F0_SHIFT    0
#define SERDES_L0_TM_IQ_ILL1_ILL_BYPASS_IQ_CALCODE_F0_MASK     0x000000FFU

/*
* IQ ILL F1 CALCODE bypass value. MPHY : G1b, PCIE : Gen2, SATA: Gen2
*/
#undef SERDES_L0_TM_IQ_ILL2_ILL_BYPASS_IQ_CALCODE_F1_DEFVAL 
#undef SERDES_L0_TM_IQ_ILL2_ILL_BYPASS_IQ_CALCODE_F1_SHIFT 
#undef SERDES_L0_TM_IQ_ILL2_ILL_BYPASS_IQ_CALCODE_F1_MASK 
#define SERDES_L0_TM_IQ_ILL2_ILL_BYPASS_IQ_CALCODE_F1_DEFVAL   0x00000000
#define SERDES_L0_TM_IQ_ILL2_ILL_BYPASS_IQ_CALCODE_F1_SHIFT    0
#define SERDES_L0_TM_IQ_ILL2_ILL_BYPASS_IQ_CALCODE_F1_MASK     0x000000FFU

/*
* G1A pll ctr bypass value
*/
#undef SERDES_L0_TM_ILL12_G1A_PLL_CTR_BYP_VAL_DEFVAL 
#undef SERDES_L0_TM_ILL12_G1A_PLL_CTR_BYP_VAL_SHIFT 
#undef SERDES_L0_TM_ILL12_G1A_PLL_CTR_BYP_VAL_MASK 
#define SERDES_L0_TM_ILL12_G1A_PLL_CTR_BYP_VAL_DEFVAL          0x00000000
#define SERDES_L0_TM_ILL12_G1A_PLL_CTR_BYP_VAL_SHIFT           0
#define SERDES_L0_TM_ILL12_G1A_PLL_CTR_BYP_VAL_MASK            0x000000FFU

/*
* E ILL F0 CALCODE bypass value. MPHY : G1a, PCIE : Gen 1, SATA : Gen1 , U
    * SB3 : SS
*/
#undef SERDES_L0_TM_E_ILL1_ILL_BYPASS_E_CALCODE_F0_DEFVAL 
#undef SERDES_L0_TM_E_ILL1_ILL_BYPASS_E_CALCODE_F0_SHIFT 
#undef SERDES_L0_TM_E_ILL1_ILL_BYPASS_E_CALCODE_F0_MASK 
#define SERDES_L0_TM_E_ILL1_ILL_BYPASS_E_CALCODE_F0_DEFVAL     0x00000000
#define SERDES_L0_TM_E_ILL1_ILL_BYPASS_E_CALCODE_F0_SHIFT      0
#define SERDES_L0_TM_E_ILL1_ILL_BYPASS_E_CALCODE_F0_MASK       0x000000FFU

/*
* E ILL F1 CALCODE bypass value. MPHY : G1b, PCIE : Gen2, SATA: Gen2
*/
#undef SERDES_L0_TM_E_ILL2_ILL_BYPASS_E_CALCODE_F1_DEFVAL 
#undef SERDES_L0_TM_E_ILL2_ILL_BYPASS_E_CALCODE_F1_SHIFT 
#undef SERDES_L0_TM_E_ILL2_ILL_BYPASS_E_CALCODE_F1_MASK 
#define SERDES_L0_TM_E_ILL2_ILL_BYPASS_E_CALCODE_F1_DEFVAL     0x00000000
#define SERDES_L0_TM_E_ILL2_ILL_BYPASS_E_CALCODE_F1_SHIFT      0
#define SERDES_L0_TM_E_ILL2_ILL_BYPASS_E_CALCODE_F1_MASK       0x000000FFU

/*
* IQ ILL F2CALCODE bypass value. MPHY : G2a, SATA : Gen3
*/
#undef SERDES_L0_TM_IQ_ILL3_ILL_BYPASS_IQ_CALCODE_F2_DEFVAL 
#undef SERDES_L0_TM_IQ_ILL3_ILL_BYPASS_IQ_CALCODE_F2_SHIFT 
#undef SERDES_L0_TM_IQ_ILL3_ILL_BYPASS_IQ_CALCODE_F2_MASK 
#define SERDES_L0_TM_IQ_ILL3_ILL_BYPASS_IQ_CALCODE_F2_DEFVAL   0x00000000
#define SERDES_L0_TM_IQ_ILL3_ILL_BYPASS_IQ_CALCODE_F2_SHIFT    0
#define SERDES_L0_TM_IQ_ILL3_ILL_BYPASS_IQ_CALCODE_F2_MASK     0x000000FFU

/*
* E ILL F2CALCODE bypass value. MPHY : G2a, SATA : Gen3
*/
#undef SERDES_L0_TM_E_ILL3_ILL_BYPASS_E_CALCODE_F2_DEFVAL 
#undef SERDES_L0_TM_E_ILL3_ILL_BYPASS_E_CALCODE_F2_SHIFT 
#undef SERDES_L0_TM_E_ILL3_ILL_BYPASS_E_CALCODE_F2_MASK 
#define SERDES_L0_TM_E_ILL3_ILL_BYPASS_E_CALCODE_F2_DEFVAL     0x00000000
#define SERDES_L0_TM_E_ILL3_ILL_BYPASS_E_CALCODE_F2_SHIFT      0
#define SERDES_L0_TM_E_ILL3_ILL_BYPASS_E_CALCODE_F2_MASK       0x000000FFU

/*
* ILL calibration code change wait time
*/
#undef SERDES_L0_TM_ILL8_ILL_CAL_ITER_WAIT_DEFVAL 
#undef SERDES_L0_TM_ILL8_ILL_CAL_ITER_WAIT_SHIFT 
#undef SERDES_L0_TM_ILL8_ILL_CAL_ITER_WAIT_MASK 
#define SERDES_L0_TM_ILL8_ILL_CAL_ITER_WAIT_DEFVAL             0x00000002
#define SERDES_L0_TM_ILL8_ILL_CAL_ITER_WAIT_SHIFT              0
#define SERDES_L0_TM_ILL8_ILL_CAL_ITER_WAIT_MASK               0x000000FFU

/*
* IQ ILL polytrim bypass value
*/
#undef SERDES_L0_TM_IQ_ILL8_ILL_BYPASS_IQ_POLYTRIM_VAL_DEFVAL 
#undef SERDES_L0_TM_IQ_ILL8_ILL_BYPASS_IQ_POLYTRIM_VAL_SHIFT 
#undef SERDES_L0_TM_IQ_ILL8_ILL_BYPASS_IQ_POLYTRIM_VAL_MASK 
#define SERDES_L0_TM_IQ_ILL8_ILL_BYPASS_IQ_POLYTRIM_VAL_DEFVAL  0x00000000
#define SERDES_L0_TM_IQ_ILL8_ILL_BYPASS_IQ_POLYTRIM_VAL_SHIFT  0
#define SERDES_L0_TM_IQ_ILL8_ILL_BYPASS_IQ_POLYTRIM_VAL_MASK   0x000000FFU

/*
* bypass IQ polytrim
*/
#undef SERDES_L0_TM_IQ_ILL9_ILL_BYPASS_IQ_POLYTIM_DEFVAL 
#undef SERDES_L0_TM_IQ_ILL9_ILL_BYPASS_IQ_POLYTIM_SHIFT 
#undef SERDES_L0_TM_IQ_ILL9_ILL_BYPASS_IQ_POLYTIM_MASK 
#define SERDES_L0_TM_IQ_ILL9_ILL_BYPASS_IQ_POLYTIM_DEFVAL      0x00000000
#define SERDES_L0_TM_IQ_ILL9_ILL_BYPASS_IQ_POLYTIM_SHIFT       0
#define SERDES_L0_TM_IQ_ILL9_ILL_BYPASS_IQ_POLYTIM_MASK        0x00000001U

/*
* E ILL polytrim bypass value
*/
#undef SERDES_L0_TM_E_ILL8_ILL_BYPASS_E_POLYTRIM_VAL_DEFVAL 
#undef SERDES_L0_TM_E_ILL8_ILL_BYPASS_E_POLYTRIM_VAL_SHIFT 
#undef SERDES_L0_TM_E_ILL8_ILL_BYPASS_E_POLYTRIM_VAL_MASK 
#define SERDES_L0_TM_E_ILL8_ILL_BYPASS_E_POLYTRIM_VAL_DEFVAL   0x00000000
#define SERDES_L0_TM_E_ILL8_ILL_BYPASS_E_POLYTRIM_VAL_SHIFT    0
#define SERDES_L0_TM_E_ILL8_ILL_BYPASS_E_POLYTRIM_VAL_MASK     0x000000FFU

/*
* bypass E polytrim
*/
#undef SERDES_L0_TM_E_ILL9_ILL_BYPASS_E_POLYTIM_DEFVAL 
#undef SERDES_L0_TM_E_ILL9_ILL_BYPASS_E_POLYTIM_SHIFT 
#undef SERDES_L0_TM_E_ILL9_ILL_BYPASS_E_POLYTIM_MASK 
#define SERDES_L0_TM_E_ILL9_ILL_BYPASS_E_POLYTIM_DEFVAL        0x00000000
#define SERDES_L0_TM_E_ILL9_ILL_BYPASS_E_POLYTIM_SHIFT         0
#define SERDES_L0_TM_E_ILL9_ILL_BYPASS_E_POLYTIM_MASK          0x00000001U

/*
* ILL cal idle val refcnt
*/
#undef SERDES_L0_TM_ILL13_ILL_CAL_IDLE_VAL_REFCNT_DEFVAL 
#undef SERDES_L0_TM_ILL13_ILL_CAL_IDLE_VAL_REFCNT_SHIFT 
#undef SERDES_L0_TM_ILL13_ILL_CAL_IDLE_VAL_REFCNT_MASK 
#define SERDES_L0_TM_ILL13_ILL_CAL_IDLE_VAL_REFCNT_DEFVAL      0x00000001
#define SERDES_L0_TM_ILL13_ILL_CAL_IDLE_VAL_REFCNT_SHIFT       0
#define SERDES_L0_TM_ILL13_ILL_CAL_IDLE_VAL_REFCNT_MASK        0x00000007U

/*
* ILL cal idle val refcnt
*/
#undef SERDES_L1_TM_ILL13_ILL_CAL_IDLE_VAL_REFCNT_DEFVAL 
#undef SERDES_L1_TM_ILL13_ILL_CAL_IDLE_VAL_REFCNT_SHIFT 
#undef SERDES_L1_TM_ILL13_ILL_CAL_IDLE_VAL_REFCNT_MASK 
#define SERDES_L1_TM_ILL13_ILL_CAL_IDLE_VAL_REFCNT_DEFVAL      0x00000001
#define SERDES_L1_TM_ILL13_ILL_CAL_IDLE_VAL_REFCNT_SHIFT       0
#define SERDES_L1_TM_ILL13_ILL_CAL_IDLE_VAL_REFCNT_MASK        0x00000007U

/*
* ILL calib counts BYPASSED with calcode bits
*/
#undef SERDES_L2_TM_MISC2_ILL_CAL_BYPASS_COUNTS_DEFVAL 
#undef SERDES_L2_TM_MISC2_ILL_CAL_BYPASS_COUNTS_SHIFT 
#undef SERDES_L2_TM_MISC2_ILL_CAL_BYPASS_COUNTS_MASK 
#define SERDES_L2_TM_MISC2_ILL_CAL_BYPASS_COUNTS_DEFVAL        0x00000000
#define SERDES_L2_TM_MISC2_ILL_CAL_BYPASS_COUNTS_SHIFT         7
#define SERDES_L2_TM_MISC2_ILL_CAL_BYPASS_COUNTS_MASK          0x00000080U

/*
* IQ ILL F0 CALCODE bypass value. MPHY : G1a, PCIE : Gen 1, SATA : Gen1 ,
    * USB3 : SS
*/
#undef SERDES_L2_TM_IQ_ILL1_ILL_BYPASS_IQ_CALCODE_F0_DEFVAL 
#undef SERDES_L2_TM_IQ_ILL1_ILL_BYPASS_IQ_CALCODE_F0_SHIFT 
#undef SERDES_L2_TM_IQ_ILL1_ILL_BYPASS_IQ_CALCODE_F0_MASK 
#define SERDES_L2_TM_IQ_ILL1_ILL_BYPASS_IQ_CALCODE_F0_DEFVAL   0x00000000
#define SERDES_L2_TM_IQ_ILL1_ILL_BYPASS_IQ_CALCODE_F0_SHIFT    0
#define SERDES_L2_TM_IQ_ILL1_ILL_BYPASS_IQ_CALCODE_F0_MASK     0x000000FFU

/*
* IQ ILL F1 CALCODE bypass value. MPHY : G1b, PCIE : Gen2, SATA: Gen2
*/
#undef SERDES_L2_TM_IQ_ILL2_ILL_BYPASS_IQ_CALCODE_F1_DEFVAL 
#undef SERDES_L2_TM_IQ_ILL2_ILL_BYPASS_IQ_CALCODE_F1_SHIFT 
#undef SERDES_L2_TM_IQ_ILL2_ILL_BYPASS_IQ_CALCODE_F1_MASK 
#define SERDES_L2_TM_IQ_ILL2_ILL_BYPASS_IQ_CALCODE_F1_DEFVAL   0x00000000
#define SERDES_L2_TM_IQ_ILL2_ILL_BYPASS_IQ_CALCODE_F1_SHIFT    0
#define SERDES_L2_TM_IQ_ILL2_ILL_BYPASS_IQ_CALCODE_F1_MASK     0x000000FFU

/*
* G1A pll ctr bypass value
*/
#undef SERDES_L2_TM_ILL12_G1A_PLL_CTR_BYP_VAL_DEFVAL 
#undef SERDES_L2_TM_ILL12_G1A_PLL_CTR_BYP_VAL_SHIFT 
#undef SERDES_L2_TM_ILL12_G1A_PLL_CTR_BYP_VAL_MASK 
#define SERDES_L2_TM_ILL12_G1A_PLL_CTR_BYP_VAL_DEFVAL          0x00000000
#define SERDES_L2_TM_ILL12_G1A_PLL_CTR_BYP_VAL_SHIFT           0
#define SERDES_L2_TM_ILL12_G1A_PLL_CTR_BYP_VAL_MASK            0x000000FFU

/*
* E ILL F0 CALCODE bypass value. MPHY : G1a, PCIE : Gen 1, SATA : Gen1 , U
    * SB3 : SS
*/
#undef SERDES_L2_TM_E_ILL1_ILL_BYPASS_E_CALCODE_F0_DEFVAL 
#undef SERDES_L2_TM_E_ILL1_ILL_BYPASS_E_CALCODE_F0_SHIFT 
#undef SERDES_L2_TM_E_ILL1_ILL_BYPASS_E_CALCODE_F0_MASK 
#define SERDES_L2_TM_E_ILL1_ILL_BYPASS_E_CALCODE_F0_DEFVAL     0x00000000
#define SERDES_L2_TM_E_ILL1_ILL_BYPASS_E_CALCODE_F0_SHIFT      0
#define SERDES_L2_TM_E_ILL1_ILL_BYPASS_E_CALCODE_F0_MASK       0x000000FFU

/*
* E ILL F1 CALCODE bypass value. MPHY : G1b, PCIE : Gen2, SATA: Gen2
*/
#undef SERDES_L2_TM_E_ILL2_ILL_BYPASS_E_CALCODE_F1_DEFVAL 
#undef SERDES_L2_TM_E_ILL2_ILL_BYPASS_E_CALCODE_F1_SHIFT 
#undef SERDES_L2_TM_E_ILL2_ILL_BYPASS_E_CALCODE_F1_MASK 
#define SERDES_L2_TM_E_ILL2_ILL_BYPASS_E_CALCODE_F1_DEFVAL     0x00000000
#define SERDES_L2_TM_E_ILL2_ILL_BYPASS_E_CALCODE_F1_SHIFT      0
#define SERDES_L2_TM_E_ILL2_ILL_BYPASS_E_CALCODE_F1_MASK       0x000000FFU

/*
* IQ ILL F2CALCODE bypass value. MPHY : G2a, SATA : Gen3
*/
#undef SERDES_L2_TM_IQ_ILL3_ILL_BYPASS_IQ_CALCODE_F2_DEFVAL 
#undef SERDES_L2_TM_IQ_ILL3_ILL_BYPASS_IQ_CALCODE_F2_SHIFT 
#undef SERDES_L2_TM_IQ_ILL3_ILL_BYPASS_IQ_CALCODE_F2_MASK 
#define SERDES_L2_TM_IQ_ILL3_ILL_BYPASS_IQ_CALCODE_F2_DEFVAL   0x00000000
#define SERDES_L2_TM_IQ_ILL3_ILL_BYPASS_IQ_CALCODE_F2_SHIFT    0
#define SERDES_L2_TM_IQ_ILL3_ILL_BYPASS_IQ_CALCODE_F2_MASK     0x000000FFU

/*
* E ILL F2CALCODE bypass value. MPHY : G2a, SATA : Gen3
*/
#undef SERDES_L2_TM_E_ILL3_ILL_BYPASS_E_CALCODE_F2_DEFVAL 
#undef SERDES_L2_TM_E_ILL3_ILL_BYPASS_E_CALCODE_F2_SHIFT 
#undef SERDES_L2_TM_E_ILL3_ILL_BYPASS_E_CALCODE_F2_MASK 
#define SERDES_L2_TM_E_ILL3_ILL_BYPASS_E_CALCODE_F2_DEFVAL     0x00000000
#define SERDES_L2_TM_E_ILL3_ILL_BYPASS_E_CALCODE_F2_SHIFT      0
#define SERDES_L2_TM_E_ILL3_ILL_BYPASS_E_CALCODE_F2_MASK       0x000000FFU

/*
* ILL calibration code change wait time
*/
#undef SERDES_L2_TM_ILL8_ILL_CAL_ITER_WAIT_DEFVAL 
#undef SERDES_L2_TM_ILL8_ILL_CAL_ITER_WAIT_SHIFT 
#undef SERDES_L2_TM_ILL8_ILL_CAL_ITER_WAIT_MASK 
#define SERDES_L2_TM_ILL8_ILL_CAL_ITER_WAIT_DEFVAL             0x00000002
#define SERDES_L2_TM_ILL8_ILL_CAL_ITER_WAIT_SHIFT              0
#define SERDES_L2_TM_ILL8_ILL_CAL_ITER_WAIT_MASK               0x000000FFU

/*
* IQ ILL polytrim bypass value
*/
#undef SERDES_L2_TM_IQ_ILL8_ILL_BYPASS_IQ_POLYTRIM_VAL_DEFVAL 
#undef SERDES_L2_TM_IQ_ILL8_ILL_BYPASS_IQ_POLYTRIM_VAL_SHIFT 
#undef SERDES_L2_TM_IQ_ILL8_ILL_BYPASS_IQ_POLYTRIM_VAL_MASK 
#define SERDES_L2_TM_IQ_ILL8_ILL_BYPASS_IQ_POLYTRIM_VAL_DEFVAL  0x00000000
#define SERDES_L2_TM_IQ_ILL8_ILL_BYPASS_IQ_POLYTRIM_VAL_SHIFT  0
#define SERDES_L2_TM_IQ_ILL8_ILL_BYPASS_IQ_POLYTRIM_VAL_MASK   0x000000FFU

/*
* bypass IQ polytrim
*/
#undef SERDES_L2_TM_IQ_ILL9_ILL_BYPASS_IQ_POLYTIM_DEFVAL 
#undef SERDES_L2_TM_IQ_ILL9_ILL_BYPASS_IQ_POLYTIM_SHIFT 
#undef SERDES_L2_TM_IQ_ILL9_ILL_BYPASS_IQ_POLYTIM_MASK 
#define SERDES_L2_TM_IQ_ILL9_ILL_BYPASS_IQ_POLYTIM_DEFVAL      0x00000000
#define SERDES_L2_TM_IQ_ILL9_ILL_BYPASS_IQ_POLYTIM_SHIFT       0
#define SERDES_L2_TM_IQ_ILL9_ILL_BYPASS_IQ_POLYTIM_MASK        0x00000001U

/*
* E ILL polytrim bypass value
*/
#undef SERDES_L2_TM_E_ILL8_ILL_BYPASS_E_POLYTRIM_VAL_DEFVAL 
#undef SERDES_L2_TM_E_ILL8_ILL_BYPASS_E_POLYTRIM_VAL_SHIFT 
#undef SERDES_L2_TM_E_ILL8_ILL_BYPASS_E_POLYTRIM_VAL_MASK 
#define SERDES_L2_TM_E_ILL8_ILL_BYPASS_E_POLYTRIM_VAL_DEFVAL   0x00000000
#define SERDES_L2_TM_E_ILL8_ILL_BYPASS_E_POLYTRIM_VAL_SHIFT    0
#define SERDES_L2_TM_E_ILL8_ILL_BYPASS_E_POLYTRIM_VAL_MASK     0x000000FFU

/*
* bypass E polytrim
*/
#undef SERDES_L2_TM_E_ILL9_ILL_BYPASS_E_POLYTIM_DEFVAL 
#undef SERDES_L2_TM_E_ILL9_ILL_BYPASS_E_POLYTIM_SHIFT 
#undef SERDES_L2_TM_E_ILL9_ILL_BYPASS_E_POLYTIM_MASK 
#define SERDES_L2_TM_E_ILL9_ILL_BYPASS_E_POLYTIM_DEFVAL        0x00000000
#define SERDES_L2_TM_E_ILL9_ILL_BYPASS_E_POLYTIM_SHIFT         0
#define SERDES_L2_TM_E_ILL9_ILL_BYPASS_E_POLYTIM_MASK          0x00000001U

/*
* ILL cal idle val refcnt
*/
#undef SERDES_L2_TM_ILL13_ILL_CAL_IDLE_VAL_REFCNT_DEFVAL 
#undef SERDES_L2_TM_ILL13_ILL_CAL_IDLE_VAL_REFCNT_SHIFT 
#undef SERDES_L2_TM_ILL13_ILL_CAL_IDLE_VAL_REFCNT_MASK 
#define SERDES_L2_TM_ILL13_ILL_CAL_IDLE_VAL_REFCNT_DEFVAL      0x00000001
#define SERDES_L2_TM_ILL13_ILL_CAL_IDLE_VAL_REFCNT_SHIFT       0
#define SERDES_L2_TM_ILL13_ILL_CAL_IDLE_VAL_REFCNT_MASK        0x00000007U

/*
* ILL calib counts BYPASSED with calcode bits
*/
#undef SERDES_L3_TM_MISC2_ILL_CAL_BYPASS_COUNTS_DEFVAL 
#undef SERDES_L3_TM_MISC2_ILL_CAL_BYPASS_COUNTS_SHIFT 
#undef SERDES_L3_TM_MISC2_ILL_CAL_BYPASS_COUNTS_MASK 
#define SERDES_L3_TM_MISC2_ILL_CAL_BYPASS_COUNTS_DEFVAL        0x00000000
#define SERDES_L3_TM_MISC2_ILL_CAL_BYPASS_COUNTS_SHIFT         7
#define SERDES_L3_TM_MISC2_ILL_CAL_BYPASS_COUNTS_MASK          0x00000080U

/*
* IQ ILL F0 CALCODE bypass value. MPHY : G1a, PCIE : Gen 1, SATA : Gen1 ,
    * USB3 : SS
*/
#undef SERDES_L3_TM_IQ_ILL1_ILL_BYPASS_IQ_CALCODE_F0_DEFVAL 
#undef SERDES_L3_TM_IQ_ILL1_ILL_BYPASS_IQ_CALCODE_F0_SHIFT 
#undef SERDES_L3_TM_IQ_ILL1_ILL_BYPASS_IQ_CALCODE_F0_MASK 
#define SERDES_L3_TM_IQ_ILL1_ILL_BYPASS_IQ_CALCODE_F0_DEFVAL   0x00000000
#define SERDES_L3_TM_IQ_ILL1_ILL_BYPASS_IQ_CALCODE_F0_SHIFT    0
#define SERDES_L3_TM_IQ_ILL1_ILL_BYPASS_IQ_CALCODE_F0_MASK     0x000000FFU

/*
* IQ ILL F1 CALCODE bypass value. MPHY : G1b, PCIE : Gen2, SATA: Gen2
*/
#undef SERDES_L3_TM_IQ_ILL2_ILL_BYPASS_IQ_CALCODE_F1_DEFVAL 
#undef SERDES_L3_TM_IQ_ILL2_ILL_BYPASS_IQ_CALCODE_F1_SHIFT 
#undef SERDES_L3_TM_IQ_ILL2_ILL_BYPASS_IQ_CALCODE_F1_MASK 
#define SERDES_L3_TM_IQ_ILL2_ILL_BYPASS_IQ_CALCODE_F1_DEFVAL   0x00000000
#define SERDES_L3_TM_IQ_ILL2_ILL_BYPASS_IQ_CALCODE_F1_SHIFT    0
#define SERDES_L3_TM_IQ_ILL2_ILL_BYPASS_IQ_CALCODE_F1_MASK     0x000000FFU

/*
* G1A pll ctr bypass value
*/
#undef SERDES_L3_TM_ILL12_G1A_PLL_CTR_BYP_VAL_DEFVAL 
#undef SERDES_L3_TM_ILL12_G1A_PLL_CTR_BYP_VAL_SHIFT 
#undef SERDES_L3_TM_ILL12_G1A_PLL_CTR_BYP_VAL_MASK 
#define SERDES_L3_TM_ILL12_G1A_PLL_CTR_BYP_VAL_DEFVAL          0x00000000
#define SERDES_L3_TM_ILL12_G1A_PLL_CTR_BYP_VAL_SHIFT           0
#define SERDES_L3_TM_ILL12_G1A_PLL_CTR_BYP_VAL_MASK            0x000000FFU

/*
* E ILL F0 CALCODE bypass value. MPHY : G1a, PCIE : Gen 1, SATA : Gen1 , U
    * SB3 : SS
*/
#undef SERDES_L3_TM_E_ILL1_ILL_BYPASS_E_CALCODE_F0_DEFVAL 
#undef SERDES_L3_TM_E_ILL1_ILL_BYPASS_E_CALCODE_F0_SHIFT 
#undef SERDES_L3_TM_E_ILL1_ILL_BYPASS_E_CALCODE_F0_MASK 
#define SERDES_L3_TM_E_ILL1_ILL_BYPASS_E_CALCODE_F0_DEFVAL     0x00000000
#define SERDES_L3_TM_E_ILL1_ILL_BYPASS_E_CALCODE_F0_SHIFT      0
#define SERDES_L3_TM_E_ILL1_ILL_BYPASS_E_CALCODE_F0_MASK       0x000000FFU

/*
* E ILL F1 CALCODE bypass value. MPHY : G1b, PCIE : Gen2, SATA: Gen2
*/
#undef SERDES_L3_TM_E_ILL2_ILL_BYPASS_E_CALCODE_F1_DEFVAL 
#undef SERDES_L3_TM_E_ILL2_ILL_BYPASS_E_CALCODE_F1_SHIFT 
#undef SERDES_L3_TM_E_ILL2_ILL_BYPASS_E_CALCODE_F1_MASK 
#define SERDES_L3_TM_E_ILL2_ILL_BYPASS_E_CALCODE_F1_DEFVAL     0x00000000
#define SERDES_L3_TM_E_ILL2_ILL_BYPASS_E_CALCODE_F1_SHIFT      0
#define SERDES_L3_TM_E_ILL2_ILL_BYPASS_E_CALCODE_F1_MASK       0x000000FFU

/*
* G2A_PCIe1 PLL ctr bypass value
*/
#undef SERDES_L3_TM_ILL11_G2A_PCIEG1_PLL_CTR_11_8_BYP_VAL_DEFVAL 
#undef SERDES_L3_TM_ILL11_G2A_PCIEG1_PLL_CTR_11_8_BYP_VAL_SHIFT 
#undef SERDES_L3_TM_ILL11_G2A_PCIEG1_PLL_CTR_11_8_BYP_VAL_MASK 
#define SERDES_L3_TM_ILL11_G2A_PCIEG1_PLL_CTR_11_8_BYP_VAL_DEFVAL  0x00000000
#define SERDES_L3_TM_ILL11_G2A_PCIEG1_PLL_CTR_11_8_BYP_VAL_SHIFT  4
#define SERDES_L3_TM_ILL11_G2A_PCIEG1_PLL_CTR_11_8_BYP_VAL_MASK  0x000000F0U

/*
* IQ ILL F2CALCODE bypass value. MPHY : G2a, SATA : Gen3
*/
#undef SERDES_L3_TM_IQ_ILL3_ILL_BYPASS_IQ_CALCODE_F2_DEFVAL 
#undef SERDES_L3_TM_IQ_ILL3_ILL_BYPASS_IQ_CALCODE_F2_SHIFT 
#undef SERDES_L3_TM_IQ_ILL3_ILL_BYPASS_IQ_CALCODE_F2_MASK 
#define SERDES_L3_TM_IQ_ILL3_ILL_BYPASS_IQ_CALCODE_F2_DEFVAL   0x00000000
#define SERDES_L3_TM_IQ_ILL3_ILL_BYPASS_IQ_CALCODE_F2_SHIFT    0
#define SERDES_L3_TM_IQ_ILL3_ILL_BYPASS_IQ_CALCODE_F2_MASK     0x000000FFU

/*
* E ILL F2CALCODE bypass value. MPHY : G2a, SATA : Gen3
*/
#undef SERDES_L3_TM_E_ILL3_ILL_BYPASS_E_CALCODE_F2_DEFVAL 
#undef SERDES_L3_TM_E_ILL3_ILL_BYPASS_E_CALCODE_F2_SHIFT 
#undef SERDES_L3_TM_E_ILL3_ILL_BYPASS_E_CALCODE_F2_MASK 
#define SERDES_L3_TM_E_ILL3_ILL_BYPASS_E_CALCODE_F2_DEFVAL     0x00000000
#define SERDES_L3_TM_E_ILL3_ILL_BYPASS_E_CALCODE_F2_SHIFT      0
#define SERDES_L3_TM_E_ILL3_ILL_BYPASS_E_CALCODE_F2_MASK       0x000000FFU

/*
* ILL calibration code change wait time
*/
#undef SERDES_L3_TM_ILL8_ILL_CAL_ITER_WAIT_DEFVAL 
#undef SERDES_L3_TM_ILL8_ILL_CAL_ITER_WAIT_SHIFT 
#undef SERDES_L3_TM_ILL8_ILL_CAL_ITER_WAIT_MASK 
#define SERDES_L3_TM_ILL8_ILL_CAL_ITER_WAIT_DEFVAL             0x00000002
#define SERDES_L3_TM_ILL8_ILL_CAL_ITER_WAIT_SHIFT              0
#define SERDES_L3_TM_ILL8_ILL_CAL_ITER_WAIT_MASK               0x000000FFU

/*
* IQ ILL polytrim bypass value
*/
#undef SERDES_L3_TM_IQ_ILL8_ILL_BYPASS_IQ_POLYTRIM_VAL_DEFVAL 
#undef SERDES_L3_TM_IQ_ILL8_ILL_BYPASS_IQ_POLYTRIM_VAL_SHIFT 
#undef SERDES_L3_TM_IQ_ILL8_ILL_BYPASS_IQ_POLYTRIM_VAL_MASK 
#define SERDES_L3_TM_IQ_ILL8_ILL_BYPASS_IQ_POLYTRIM_VAL_DEFVAL  0x00000000
#define SERDES_L3_TM_IQ_ILL8_ILL_BYPASS_IQ_POLYTRIM_VAL_SHIFT  0
#define SERDES_L3_TM_IQ_ILL8_ILL_BYPASS_IQ_POLYTRIM_VAL_MASK   0x000000FFU

/*
* bypass IQ polytrim
*/
#undef SERDES_L3_TM_IQ_ILL9_ILL_BYPASS_IQ_POLYTIM_DEFVAL 
#undef SERDES_L3_TM_IQ_ILL9_ILL_BYPASS_IQ_POLYTIM_SHIFT 
#undef SERDES_L3_TM_IQ_ILL9_ILL_BYPASS_IQ_POLYTIM_MASK 
#define SERDES_L3_TM_IQ_ILL9_ILL_BYPASS_IQ_POLYTIM_DEFVAL      0x00000000
#define SERDES_L3_TM_IQ_ILL9_ILL_BYPASS_IQ_POLYTIM_SHIFT       0
#define SERDES_L3_TM_IQ_ILL9_ILL_BYPASS_IQ_POLYTIM_MASK        0x00000001U

/*
* E ILL polytrim bypass value
*/
#undef SERDES_L3_TM_E_ILL8_ILL_BYPASS_E_POLYTRIM_VAL_DEFVAL 
#undef SERDES_L3_TM_E_ILL8_ILL_BYPASS_E_POLYTRIM_VAL_SHIFT 
#undef SERDES_L3_TM_E_ILL8_ILL_BYPASS_E_POLYTRIM_VAL_MASK 
#define SERDES_L3_TM_E_ILL8_ILL_BYPASS_E_POLYTRIM_VAL_DEFVAL   0x00000000
#define SERDES_L3_TM_E_ILL8_ILL_BYPASS_E_POLYTRIM_VAL_SHIFT    0
#define SERDES_L3_TM_E_ILL8_ILL_BYPASS_E_POLYTRIM_VAL_MASK     0x000000FFU

/*
* bypass E polytrim
*/
#undef SERDES_L3_TM_E_ILL9_ILL_BYPASS_E_POLYTIM_DEFVAL 
#undef SERDES_L3_TM_E_ILL9_ILL_BYPASS_E_POLYTIM_SHIFT 
#undef SERDES_L3_TM_E_ILL9_ILL_BYPASS_E_POLYTIM_MASK 
#define SERDES_L3_TM_E_ILL9_ILL_BYPASS_E_POLYTIM_DEFVAL        0x00000000
#define SERDES_L3_TM_E_ILL9_ILL_BYPASS_E_POLYTIM_SHIFT         0
#define SERDES_L3_TM_E_ILL9_ILL_BYPASS_E_POLYTIM_MASK          0x00000001U

/*
* ILL cal idle val refcnt
*/
#undef SERDES_L3_TM_ILL13_ILL_CAL_IDLE_VAL_REFCNT_DEFVAL 
#undef SERDES_L3_TM_ILL13_ILL_CAL_IDLE_VAL_REFCNT_SHIFT 
#undef SERDES_L3_TM_ILL13_ILL_CAL_IDLE_VAL_REFCNT_MASK 
#define SERDES_L3_TM_ILL13_ILL_CAL_IDLE_VAL_REFCNT_DEFVAL      0x00000001
#define SERDES_L3_TM_ILL13_ILL_CAL_IDLE_VAL_REFCNT_SHIFT       0
#define SERDES_L3_TM_ILL13_ILL_CAL_IDLE_VAL_REFCNT_MASK        0x00000007U

/*
* CDR lock wait time. (1-16 us). cdr_lock_wait_time = 4'b xxxx + 4'b 0001
*/
#undef SERDES_L0_TM_DIG_10_CDR_BIT_LOCK_TIME_DEFVAL 
#undef SERDES_L0_TM_DIG_10_CDR_BIT_LOCK_TIME_SHIFT 
#undef SERDES_L0_TM_DIG_10_CDR_BIT_LOCK_TIME_MASK 
#define SERDES_L0_TM_DIG_10_CDR_BIT_LOCK_TIME_DEFVAL           0x00000001
#define SERDES_L0_TM_DIG_10_CDR_BIT_LOCK_TIME_SHIFT            0
#define SERDES_L0_TM_DIG_10_CDR_BIT_LOCK_TIME_MASK             0x0000000FU

/*
* CDR lock wait time. (1-16 us). cdr_lock_wait_time = 4'b xxxx + 4'b 0001
*/
#undef SERDES_L1_TM_DIG_10_CDR_BIT_LOCK_TIME_DEFVAL 
#undef SERDES_L1_TM_DIG_10_CDR_BIT_LOCK_TIME_SHIFT 
#undef SERDES_L1_TM_DIG_10_CDR_BIT_LOCK_TIME_MASK 
#define SERDES_L1_TM_DIG_10_CDR_BIT_LOCK_TIME_DEFVAL           0x00000001
#define SERDES_L1_TM_DIG_10_CDR_BIT_LOCK_TIME_SHIFT            0
#define SERDES_L1_TM_DIG_10_CDR_BIT_LOCK_TIME_MASK             0x0000000FU

/*
* CDR lock wait time. (1-16 us). cdr_lock_wait_time = 4'b xxxx + 4'b 0001
*/
#undef SERDES_L2_TM_DIG_10_CDR_BIT_LOCK_TIME_DEFVAL 
#undef SERDES_L2_TM_DIG_10_CDR_BIT_LOCK_TIME_SHIFT 
#undef SERDES_L2_TM_DIG_10_CDR_BIT_LOCK_TIME_MASK 
#define SERDES_L2_TM_DIG_10_CDR_BIT_LOCK_TIME_DEFVAL           0x00000001
#define SERDES_L2_TM_DIG_10_CDR_BIT_LOCK_TIME_SHIFT            0
#define SERDES_L2_TM_DIG_10_CDR_BIT_LOCK_TIME_MASK             0x0000000FU

/*
* CDR lock wait time. (1-16 us). cdr_lock_wait_time = 4'b xxxx + 4'b 0001
*/
#undef SERDES_L3_TM_DIG_10_CDR_BIT_LOCK_TIME_DEFVAL 
#undef SERDES_L3_TM_DIG_10_CDR_BIT_LOCK_TIME_SHIFT 
#undef SERDES_L3_TM_DIG_10_CDR_BIT_LOCK_TIME_MASK 
#define SERDES_L3_TM_DIG_10_CDR_BIT_LOCK_TIME_DEFVAL           0x00000001
#define SERDES_L3_TM_DIG_10_CDR_BIT_LOCK_TIME_SHIFT            0
#define SERDES_L3_TM_DIG_10_CDR_BIT_LOCK_TIME_MASK             0x0000000FU

/*
* Delay apb reset by specified amount
*/
#undef SERDES_L0_TM_RST_DLY_APB_RST_DLY_DEFVAL 
#undef SERDES_L0_TM_RST_DLY_APB_RST_DLY_SHIFT 
#undef SERDES_L0_TM_RST_DLY_APB_RST_DLY_MASK 
#define SERDES_L0_TM_RST_DLY_APB_RST_DLY_DEFVAL                0x00000000
#define SERDES_L0_TM_RST_DLY_APB_RST_DLY_SHIFT                 0
#define SERDES_L0_TM_RST_DLY_APB_RST_DLY_MASK                  0x000000FFU

/*
* Enable Bypass for <7> of TM_ANA_BYPS_15
*/
#undef SERDES_L0_TM_ANA_BYP_15_FORCE_UPHY_ENABLE_LOW_LEAKAGE_DEFVAL 
#undef SERDES_L0_TM_ANA_BYP_15_FORCE_UPHY_ENABLE_LOW_LEAKAGE_SHIFT 
#undef SERDES_L0_TM_ANA_BYP_15_FORCE_UPHY_ENABLE_LOW_LEAKAGE_MASK 
#define SERDES_L0_TM_ANA_BYP_15_FORCE_UPHY_ENABLE_LOW_LEAKAGE_DEFVAL  0x00000000
#define SERDES_L0_TM_ANA_BYP_15_FORCE_UPHY_ENABLE_LOW_LEAKAGE_SHIFT  6
#define SERDES_L0_TM_ANA_BYP_15_FORCE_UPHY_ENABLE_LOW_LEAKAGE_MASK  0x00000040U

/*
* Enable Bypass for <7> of TM_ANA_BYPS_12
*/
#undef SERDES_L0_TM_ANA_BYP_12_FORCE_UPHY_PSO_HSRXDIG_DEFVAL 
#undef SERDES_L0_TM_ANA_BYP_12_FORCE_UPHY_PSO_HSRXDIG_SHIFT 
#undef SERDES_L0_TM_ANA_BYP_12_FORCE_UPHY_PSO_HSRXDIG_MASK 
#define SERDES_L0_TM_ANA_BYP_12_FORCE_UPHY_PSO_HSRXDIG_DEFVAL  0x00000000
#define SERDES_L0_TM_ANA_BYP_12_FORCE_UPHY_PSO_HSRXDIG_SHIFT   6
#define SERDES_L0_TM_ANA_BYP_12_FORCE_UPHY_PSO_HSRXDIG_MASK    0x00000040U

/*
* Delay apb reset by specified amount
*/
#undef SERDES_L1_TM_RST_DLY_APB_RST_DLY_DEFVAL 
#undef SERDES_L1_TM_RST_DLY_APB_RST_DLY_SHIFT 
#undef SERDES_L1_TM_RST_DLY_APB_RST_DLY_MASK 
#define SERDES_L1_TM_RST_DLY_APB_RST_DLY_DEFVAL                0x00000000
#define SERDES_L1_TM_RST_DLY_APB_RST_DLY_SHIFT                 0
#define SERDES_L1_TM_RST_DLY_APB_RST_DLY_MASK                  0x000000FFU

/*
* Enable Bypass for <7> of TM_ANA_BYPS_15
*/
#undef SERDES_L1_TM_ANA_BYP_15_FORCE_UPHY_ENABLE_LOW_LEAKAGE_DEFVAL 
#undef SERDES_L1_TM_ANA_BYP_15_FORCE_UPHY_ENABLE_LOW_LEAKAGE_SHIFT 
#undef SERDES_L1_TM_ANA_BYP_15_FORCE_UPHY_ENABLE_LOW_LEAKAGE_MASK 
#define SERDES_L1_TM_ANA_BYP_15_FORCE_UPHY_ENABLE_LOW_LEAKAGE_DEFVAL  0x00000000
#define SERDES_L1_TM_ANA_BYP_15_FORCE_UPHY_ENABLE_LOW_LEAKAGE_SHIFT  6
#define SERDES_L1_TM_ANA_BYP_15_FORCE_UPHY_ENABLE_LOW_LEAKAGE_MASK  0x00000040U

/*
* Enable Bypass for <7> of TM_ANA_BYPS_12
*/
#undef SERDES_L1_TM_ANA_BYP_12_FORCE_UPHY_PSO_HSRXDIG_DEFVAL 
#undef SERDES_L1_TM_ANA_BYP_12_FORCE_UPHY_PSO_HSRXDIG_SHIFT 
#undef SERDES_L1_TM_ANA_BYP_12_FORCE_UPHY_PSO_HSRXDIG_MASK 
#define SERDES_L1_TM_ANA_BYP_12_FORCE_UPHY_PSO_HSRXDIG_DEFVAL  0x00000000
#define SERDES_L1_TM_ANA_BYP_12_FORCE_UPHY_PSO_HSRXDIG_SHIFT   6
#define SERDES_L1_TM_ANA_BYP_12_FORCE_UPHY_PSO_HSRXDIG_MASK    0x00000040U

/*
* Delay apb reset by specified amount
*/
#undef SERDES_L2_TM_RST_DLY_APB_RST_DLY_DEFVAL 
#undef SERDES_L2_TM_RST_DLY_APB_RST_DLY_SHIFT 
#undef SERDES_L2_TM_RST_DLY_APB_RST_DLY_MASK 
#define SERDES_L2_TM_RST_DLY_APB_RST_DLY_DEFVAL                0x00000000
#define SERDES_L2_TM_RST_DLY_APB_RST_DLY_SHIFT                 0
#define SERDES_L2_TM_RST_DLY_APB_RST_DLY_MASK                  0x000000FFU

/*
* Enable Bypass for <7> of TM_ANA_BYPS_15
*/
#undef SERDES_L2_TM_ANA_BYP_15_FORCE_UPHY_ENABLE_LOW_LEAKAGE_DEFVAL 
#undef SERDES_L2_TM_ANA_BYP_15_FORCE_UPHY_ENABLE_LOW_LEAKAGE_SHIFT 
#undef SERDES_L2_TM_ANA_BYP_15_FORCE_UPHY_ENABLE_LOW_LEAKAGE_MASK 
#define SERDES_L2_TM_ANA_BYP_15_FORCE_UPHY_ENABLE_LOW_LEAKAGE_DEFVAL  0x00000000
#define SERDES_L2_TM_ANA_BYP_15_FORCE_UPHY_ENABLE_LOW_LEAKAGE_SHIFT  6
#define SERDES_L2_TM_ANA_BYP_15_FORCE_UPHY_ENABLE_LOW_LEAKAGE_MASK  0x00000040U

/*
* Enable Bypass for <7> of TM_ANA_BYPS_12
*/
#undef SERDES_L2_TM_ANA_BYP_12_FORCE_UPHY_PSO_HSRXDIG_DEFVAL 
#undef SERDES_L2_TM_ANA_BYP_12_FORCE_UPHY_PSO_HSRXDIG_SHIFT 
#undef SERDES_L2_TM_ANA_BYP_12_FORCE_UPHY_PSO_HSRXDIG_MASK 
#define SERDES_L2_TM_ANA_BYP_12_FORCE_UPHY_PSO_HSRXDIG_DEFVAL  0x00000000
#define SERDES_L2_TM_ANA_BYP_12_FORCE_UPHY_PSO_HSRXDIG_SHIFT   6
#define SERDES_L2_TM_ANA_BYP_12_FORCE_UPHY_PSO_HSRXDIG_MASK    0x00000040U

/*
* Delay apb reset by specified amount
*/
#undef SERDES_L3_TM_RST_DLY_APB_RST_DLY_DEFVAL 
#undef SERDES_L3_TM_RST_DLY_APB_RST_DLY_SHIFT 
#undef SERDES_L3_TM_RST_DLY_APB_RST_DLY_MASK 
#define SERDES_L3_TM_RST_DLY_APB_RST_DLY_DEFVAL                0x00000000
#define SERDES_L3_TM_RST_DLY_APB_RST_DLY_SHIFT                 0
#define SERDES_L3_TM_RST_DLY_APB_RST_DLY_MASK                  0x000000FFU

/*
* Enable Bypass for <7> of TM_ANA_BYPS_15
*/
#undef SERDES_L3_TM_ANA_BYP_15_FORCE_UPHY_ENABLE_LOW_LEAKAGE_DEFVAL 
#undef SERDES_L3_TM_ANA_BYP_15_FORCE_UPHY_ENABLE_LOW_LEAKAGE_SHIFT 
#undef SERDES_L3_TM_ANA_BYP_15_FORCE_UPHY_ENABLE_LOW_LEAKAGE_MASK 
#define SERDES_L3_TM_ANA_BYP_15_FORCE_UPHY_ENABLE_LOW_LEAKAGE_DEFVAL  0x00000000
#define SERDES_L3_TM_ANA_BYP_15_FORCE_UPHY_ENABLE_LOW_LEAKAGE_SHIFT  6
#define SERDES_L3_TM_ANA_BYP_15_FORCE_UPHY_ENABLE_LOW_LEAKAGE_MASK  0x00000040U

/*
* Enable Bypass for <7> of TM_ANA_BYPS_12
*/
#undef SERDES_L3_TM_ANA_BYP_12_FORCE_UPHY_PSO_HSRXDIG_DEFVAL 
#undef SERDES_L3_TM_ANA_BYP_12_FORCE_UPHY_PSO_HSRXDIG_SHIFT 
#undef SERDES_L3_TM_ANA_BYP_12_FORCE_UPHY_PSO_HSRXDIG_MASK 
#define SERDES_L3_TM_ANA_BYP_12_FORCE_UPHY_PSO_HSRXDIG_DEFVAL  0x00000000
#define SERDES_L3_TM_ANA_BYP_12_FORCE_UPHY_PSO_HSRXDIG_SHIFT   6
#define SERDES_L3_TM_ANA_BYP_12_FORCE_UPHY_PSO_HSRXDIG_MASK    0x00000040U

/*
* CDR fast phase lock control
*/
#undef SERDES_L0_TM_MISC3_CDR_EN_FPL_DEFVAL 
#undef SERDES_L0_TM_MISC3_CDR_EN_FPL_SHIFT 
#undef SERDES_L0_TM_MISC3_CDR_EN_FPL_MASK 
#define SERDES_L0_TM_MISC3_CDR_EN_FPL_DEFVAL                   0x00000003
#define SERDES_L0_TM_MISC3_CDR_EN_FPL_SHIFT                    1
#define SERDES_L0_TM_MISC3_CDR_EN_FPL_MASK                     0x00000002U

/*
* CDR fast frequency lock control
*/
#undef SERDES_L0_TM_MISC3_CDR_EN_FFL_DEFVAL 
#undef SERDES_L0_TM_MISC3_CDR_EN_FFL_SHIFT 
#undef SERDES_L0_TM_MISC3_CDR_EN_FFL_MASK 
#define SERDES_L0_TM_MISC3_CDR_EN_FFL_DEFVAL                   0x00000003
#define SERDES_L0_TM_MISC3_CDR_EN_FFL_SHIFT                    0
#define SERDES_L0_TM_MISC3_CDR_EN_FFL_MASK                     0x00000001U

/*
* CDR fast phase lock control
*/
#undef SERDES_L1_TM_MISC3_CDR_EN_FPL_DEFVAL 
#undef SERDES_L1_TM_MISC3_CDR_EN_FPL_SHIFT 
#undef SERDES_L1_TM_MISC3_CDR_EN_FPL_MASK 
#define SERDES_L1_TM_MISC3_CDR_EN_FPL_DEFVAL                   0x00000003
#define SERDES_L1_TM_MISC3_CDR_EN_FPL_SHIFT                    1
#define SERDES_L1_TM_MISC3_CDR_EN_FPL_MASK                     0x00000002U

/*
* CDR fast frequency lock control
*/
#undef SERDES_L1_TM_MISC3_CDR_EN_FFL_DEFVAL 
#undef SERDES_L1_TM_MISC3_CDR_EN_FFL_SHIFT 
#undef SERDES_L1_TM_MISC3_CDR_EN_FFL_MASK 
#define SERDES_L1_TM_MISC3_CDR_EN_FFL_DEFVAL                   0x00000003
#define SERDES_L1_TM_MISC3_CDR_EN_FFL_SHIFT                    0
#define SERDES_L1_TM_MISC3_CDR_EN_FFL_MASK                     0x00000001U

/*
* CDR fast phase lock control
*/
#undef SERDES_L2_TM_MISC3_CDR_EN_FPL_DEFVAL 
#undef SERDES_L2_TM_MISC3_CDR_EN_FPL_SHIFT 
#undef SERDES_L2_TM_MISC3_CDR_EN_FPL_MASK 
#define SERDES_L2_TM_MISC3_CDR_EN_FPL_DEFVAL                   0x00000003
#define SERDES_L2_TM_MISC3_CDR_EN_FPL_SHIFT                    1
#define SERDES_L2_TM_MISC3_CDR_EN_FPL_MASK                     0x00000002U

/*
* CDR fast frequency lock control
*/
#undef SERDES_L2_TM_MISC3_CDR_EN_FFL_DEFVAL 
#undef SERDES_L2_TM_MISC3_CDR_EN_FFL_SHIFT 
#undef SERDES_L2_TM_MISC3_CDR_EN_FFL_MASK 
#define SERDES_L2_TM_MISC3_CDR_EN_FFL_DEFVAL                   0x00000003
#define SERDES_L2_TM_MISC3_CDR_EN_FFL_SHIFT                    0
#define SERDES_L2_TM_MISC3_CDR_EN_FFL_MASK                     0x00000001U

/*
* CDR fast phase lock control
*/
#undef SERDES_L3_TM_MISC3_CDR_EN_FPL_DEFVAL 
#undef SERDES_L3_TM_MISC3_CDR_EN_FPL_SHIFT 
#undef SERDES_L3_TM_MISC3_CDR_EN_FPL_MASK 
#define SERDES_L3_TM_MISC3_CDR_EN_FPL_DEFVAL                   0x00000003
#define SERDES_L3_TM_MISC3_CDR_EN_FPL_SHIFT                    1
#define SERDES_L3_TM_MISC3_CDR_EN_FPL_MASK                     0x00000002U

/*
* CDR fast frequency lock control
*/
#undef SERDES_L3_TM_MISC3_CDR_EN_FFL_DEFVAL 
#undef SERDES_L3_TM_MISC3_CDR_EN_FFL_SHIFT 
#undef SERDES_L3_TM_MISC3_CDR_EN_FFL_MASK 
#define SERDES_L3_TM_MISC3_CDR_EN_FFL_DEFVAL                   0x00000003
#define SERDES_L3_TM_MISC3_CDR_EN_FFL_SHIFT                    0
#define SERDES_L3_TM_MISC3_CDR_EN_FFL_MASK                     0x00000001U

/*
* Force EQ offset correction algo off if not forced on
*/
#undef SERDES_L0_TM_EQ11_FORCE_EQ_OFFS_OFF_DEFVAL 
#undef SERDES_L0_TM_EQ11_FORCE_EQ_OFFS_OFF_SHIFT 
#undef SERDES_L0_TM_EQ11_FORCE_EQ_OFFS_OFF_MASK 
#define SERDES_L0_TM_EQ11_FORCE_EQ_OFFS_OFF_DEFVAL             0x00000000
#define SERDES_L0_TM_EQ11_FORCE_EQ_OFFS_OFF_SHIFT              4
#define SERDES_L0_TM_EQ11_FORCE_EQ_OFFS_OFF_MASK               0x00000010U

/*
* Force EQ offset correction algo off if not forced on
*/
#undef SERDES_L1_TM_EQ11_FORCE_EQ_OFFS_OFF_DEFVAL 
#undef SERDES_L1_TM_EQ11_FORCE_EQ_OFFS_OFF_SHIFT 
#undef SERDES_L1_TM_EQ11_FORCE_EQ_OFFS_OFF_MASK 
#define SERDES_L1_TM_EQ11_FORCE_EQ_OFFS_OFF_DEFVAL             0x00000000
#define SERDES_L1_TM_EQ11_FORCE_EQ_OFFS_OFF_SHIFT              4
#define SERDES_L1_TM_EQ11_FORCE_EQ_OFFS_OFF_MASK               0x00000010U

/*
* Force EQ offset correction algo off if not forced on
*/
#undef SERDES_L2_TM_EQ11_FORCE_EQ_OFFS_OFF_DEFVAL 
#undef SERDES_L2_TM_EQ11_FORCE_EQ_OFFS_OFF_SHIFT 
#undef SERDES_L2_TM_EQ11_FORCE_EQ_OFFS_OFF_MASK 
#define SERDES_L2_TM_EQ11_FORCE_EQ_OFFS_OFF_DEFVAL             0x00000000
#define SERDES_L2_TM_EQ11_FORCE_EQ_OFFS_OFF_SHIFT              4
#define SERDES_L2_TM_EQ11_FORCE_EQ_OFFS_OFF_MASK               0x00000010U

/*
* Force EQ offset correction algo off if not forced on
*/
#undef SERDES_L3_TM_EQ11_FORCE_EQ_OFFS_OFF_DEFVAL 
#undef SERDES_L3_TM_EQ11_FORCE_EQ_OFFS_OFF_SHIFT 
#undef SERDES_L3_TM_EQ11_FORCE_EQ_OFFS_OFF_MASK 
#define SERDES_L3_TM_EQ11_FORCE_EQ_OFFS_OFF_DEFVAL             0x00000000
#define SERDES_L3_TM_EQ11_FORCE_EQ_OFFS_OFF_SHIFT              4
#define SERDES_L3_TM_EQ11_FORCE_EQ_OFFS_OFF_MASK               0x00000010U

/*
* For future use
*/
#undef SIOU_ECO_0_FIELD_DEFVAL 
#undef SIOU_ECO_0_FIELD_SHIFT 
#undef SIOU_ECO_0_FIELD_MASK 
#define SIOU_ECO_0_FIELD_DEFVAL                                
#define SIOU_ECO_0_FIELD_SHIFT                                 0
#define SIOU_ECO_0_FIELD_MASK                                  0xFFFFFFFFU

/*
* Controls UPHY Lane 0 protocol configuration. 0 - PowerDown, 1 - PCIe .0,
    *  2 - Sata0, 3 - USB0, 4 - DP.1, 5 - SGMII0, 6 - Unused, 7 - Unused
*/
#undef SERDES_ICM_CFG0_L0_ICM_CFG_DEFVAL 
#undef SERDES_ICM_CFG0_L0_ICM_CFG_SHIFT 
#undef SERDES_ICM_CFG0_L0_ICM_CFG_MASK 
#define SERDES_ICM_CFG0_L0_ICM_CFG_DEFVAL                      0x00000000
#define SERDES_ICM_CFG0_L0_ICM_CFG_SHIFT                       0
#define SERDES_ICM_CFG0_L0_ICM_CFG_MASK                        0x00000007U

/*
* Controls UPHY Lane 1 protocol configuration. 0 - PowerDown, 1 - PCIe.1,
    * 2 - Sata1, 3 - USB0, 4 - DP.0, 5 - SGMII1, 6 - Unused, 7 - Unused
*/
#undef SERDES_ICM_CFG0_L1_ICM_CFG_DEFVAL 
#undef SERDES_ICM_CFG0_L1_ICM_CFG_SHIFT 
#undef SERDES_ICM_CFG0_L1_ICM_CFG_MASK 
#define SERDES_ICM_CFG0_L1_ICM_CFG_DEFVAL                      0x00000000
#define SERDES_ICM_CFG0_L1_ICM_CFG_SHIFT                       4
#define SERDES_ICM_CFG0_L1_ICM_CFG_MASK                        0x00000070U

/*
* Controls UPHY Lane 2 protocol configuration. 0 - PowerDown, 1 - PCIe.1,
    * 2 - Sata0, 3 - USB0, 4 - DP.1, 5 - SGMII2, 6 - Unused, 7 - Unused
*/
#undef SERDES_ICM_CFG1_L2_ICM_CFG_DEFVAL 
#undef SERDES_ICM_CFG1_L2_ICM_CFG_SHIFT 
#undef SERDES_ICM_CFG1_L2_ICM_CFG_MASK 
#define SERDES_ICM_CFG1_L2_ICM_CFG_DEFVAL                      0x00000000
#define SERDES_ICM_CFG1_L2_ICM_CFG_SHIFT                       0
#define SERDES_ICM_CFG1_L2_ICM_CFG_MASK                        0x00000007U

/*
* Controls UPHY Lane 3 protocol configuration. 0 - PowerDown, 1 - PCIe.3,
    * 2 - Sata1, 3 - USB1, 4 - DP.0, 5 - SGMII3, 6 - Unused, 7 - Unused
*/
#undef SERDES_ICM_CFG1_L3_ICM_CFG_DEFVAL 
#undef SERDES_ICM_CFG1_L3_ICM_CFG_SHIFT 
#undef SERDES_ICM_CFG1_L3_ICM_CFG_MASK 
#define SERDES_ICM_CFG1_L3_ICM_CFG_DEFVAL                      0x00000000
#define SERDES_ICM_CFG1_L3_ICM_CFG_SHIFT                       4
#define SERDES_ICM_CFG1_L3_ICM_CFG_MASK                        0x00000070U

/*
* Enable/disable DP post2 path
*/
#undef SERDES_L1_TXPMD_TM_45_DP_TM_TX_DP_ENABLE_POST2_PATH_DEFVAL 
#undef SERDES_L1_TXPMD_TM_45_DP_TM_TX_DP_ENABLE_POST2_PATH_SHIFT 
#undef SERDES_L1_TXPMD_TM_45_DP_TM_TX_DP_ENABLE_POST2_PATH_MASK 
#define SERDES_L1_TXPMD_TM_45_DP_TM_TX_DP_ENABLE_POST2_PATH_DEFVAL  0x00000000
#define SERDES_L1_TXPMD_TM_45_DP_TM_TX_DP_ENABLE_POST2_PATH_SHIFT  5
#define SERDES_L1_TXPMD_TM_45_DP_TM_TX_DP_ENABLE_POST2_PATH_MASK  0x00000020U

/*
* Override enable/disable of DP post2 path
*/
#undef SERDES_L1_TXPMD_TM_45_DP_TM_TX_OVRD_DP_ENABLE_POST2_PATH_DEFVAL 
#undef SERDES_L1_TXPMD_TM_45_DP_TM_TX_OVRD_DP_ENABLE_POST2_PATH_SHIFT 
#undef SERDES_L1_TXPMD_TM_45_DP_TM_TX_OVRD_DP_ENABLE_POST2_PATH_MASK 
#define SERDES_L1_TXPMD_TM_45_DP_TM_TX_OVRD_DP_ENABLE_POST2_PATH_DEFVAL  0x00000000
#define SERDES_L1_TXPMD_TM_45_DP_TM_TX_OVRD_DP_ENABLE_POST2_PATH_SHIFT  4
#define SERDES_L1_TXPMD_TM_45_DP_TM_TX_OVRD_DP_ENABLE_POST2_PATH_MASK  0x00000010U

/*
* Override enable/disable of DP post1 path
*/
#undef SERDES_L1_TXPMD_TM_45_DP_TM_TX_OVRD_DP_ENABLE_POST1_PATH_DEFVAL 
#undef SERDES_L1_TXPMD_TM_45_DP_TM_TX_OVRD_DP_ENABLE_POST1_PATH_SHIFT 
#undef SERDES_L1_TXPMD_TM_45_DP_TM_TX_OVRD_DP_ENABLE_POST1_PATH_MASK 
#define SERDES_L1_TXPMD_TM_45_DP_TM_TX_OVRD_DP_ENABLE_POST1_PATH_DEFVAL  0x00000000
#define SERDES_L1_TXPMD_TM_45_DP_TM_TX_OVRD_DP_ENABLE_POST1_PATH_SHIFT  2
#define SERDES_L1_TXPMD_TM_45_DP_TM_TX_OVRD_DP_ENABLE_POST1_PATH_MASK  0x00000004U

/*
* Enable/disable DP main path
*/
#undef SERDES_L1_TXPMD_TM_45_DP_TM_TX_DP_ENABLE_MAIN_PATH_DEFVAL 
#undef SERDES_L1_TXPMD_TM_45_DP_TM_TX_DP_ENABLE_MAIN_PATH_SHIFT 
#undef SERDES_L1_TXPMD_TM_45_DP_TM_TX_DP_ENABLE_MAIN_PATH_MASK 
#define SERDES_L1_TXPMD_TM_45_DP_TM_TX_DP_ENABLE_MAIN_PATH_DEFVAL  0x00000000
#define SERDES_L1_TXPMD_TM_45_DP_TM_TX_DP_ENABLE_MAIN_PATH_SHIFT  1
#define SERDES_L1_TXPMD_TM_45_DP_TM_TX_DP_ENABLE_MAIN_PATH_MASK  0x00000002U

/*
* Override enable/disable of DP main path
*/
#undef SERDES_L1_TXPMD_TM_45_DP_TM_TX_OVRD_DP_ENABLE_MAIN_PATH_DEFVAL 
#undef SERDES_L1_TXPMD_TM_45_DP_TM_TX_OVRD_DP_ENABLE_MAIN_PATH_SHIFT 
#undef SERDES_L1_TXPMD_TM_45_DP_TM_TX_OVRD_DP_ENABLE_MAIN_PATH_MASK 
#define SERDES_L1_TXPMD_TM_45_DP_TM_TX_OVRD_DP_ENABLE_MAIN_PATH_DEFVAL  0x00000000
#define SERDES_L1_TXPMD_TM_45_DP_TM_TX_OVRD_DP_ENABLE_MAIN_PATH_SHIFT  0
#define SERDES_L1_TXPMD_TM_45_DP_TM_TX_OVRD_DP_ENABLE_MAIN_PATH_MASK  0x00000001U

/*
* Test register force for enabling/disablign TX deemphasis bits <17:0>
*/
#undef SERDES_L1_TX_ANA_TM_118_FORCE_TX_DEEMPH_17_0_DEFVAL 
#undef SERDES_L1_TX_ANA_TM_118_FORCE_TX_DEEMPH_17_0_SHIFT 
#undef SERDES_L1_TX_ANA_TM_118_FORCE_TX_DEEMPH_17_0_MASK 
#define SERDES_L1_TX_ANA_TM_118_FORCE_TX_DEEMPH_17_0_DEFVAL    0x00000000
#define SERDES_L1_TX_ANA_TM_118_FORCE_TX_DEEMPH_17_0_SHIFT     0
#define SERDES_L1_TX_ANA_TM_118_FORCE_TX_DEEMPH_17_0_MASK      0x00000001U

/*
* Test register force for enabling/disablign TX deemphasis bits <17:0>
*/
#undef SERDES_L3_TX_ANA_TM_118_FORCE_TX_DEEMPH_17_0_DEFVAL 
#undef SERDES_L3_TX_ANA_TM_118_FORCE_TX_DEEMPH_17_0_SHIFT 
#undef SERDES_L3_TX_ANA_TM_118_FORCE_TX_DEEMPH_17_0_MASK 
#define SERDES_L3_TX_ANA_TM_118_FORCE_TX_DEEMPH_17_0_DEFVAL    0x00000000
#define SERDES_L3_TX_ANA_TM_118_FORCE_TX_DEEMPH_17_0_SHIFT     0
#define SERDES_L3_TX_ANA_TM_118_FORCE_TX_DEEMPH_17_0_MASK      0x00000001U

/*
* FPHL FSM accumulate cycles
*/
#undef SERDES_L3_TM_CDR5_FPHL_FSM_ACC_CYCLES_DEFVAL 
#undef SERDES_L3_TM_CDR5_FPHL_FSM_ACC_CYCLES_SHIFT 
#undef SERDES_L3_TM_CDR5_FPHL_FSM_ACC_CYCLES_MASK 
#define SERDES_L3_TM_CDR5_FPHL_FSM_ACC_CYCLES_DEFVAL           0x00000000
#define SERDES_L3_TM_CDR5_FPHL_FSM_ACC_CYCLES_SHIFT            5
#define SERDES_L3_TM_CDR5_FPHL_FSM_ACC_CYCLES_MASK             0x000000E0U

/*
* FFL Phase0 int gain aka 2ol SD update rate
*/
#undef SERDES_L3_TM_CDR5_FFL_PH0_INT_GAIN_DEFVAL 
#undef SERDES_L3_TM_CDR5_FFL_PH0_INT_GAIN_SHIFT 
#undef SERDES_L3_TM_CDR5_FFL_PH0_INT_GAIN_MASK 
#define SERDES_L3_TM_CDR5_FFL_PH0_INT_GAIN_DEFVAL              0x00000000
#define SERDES_L3_TM_CDR5_FFL_PH0_INT_GAIN_SHIFT               0
#define SERDES_L3_TM_CDR5_FFL_PH0_INT_GAIN_MASK                0x0000001FU

/*
* FFL Phase0 prop gain aka 1ol SD update rate
*/
#undef SERDES_L3_TM_CDR16_FFL_PH0_PROP_GAIN_DEFVAL 
#undef SERDES_L3_TM_CDR16_FFL_PH0_PROP_GAIN_SHIFT 
#undef SERDES_L3_TM_CDR16_FFL_PH0_PROP_GAIN_MASK 
#define SERDES_L3_TM_CDR16_FFL_PH0_PROP_GAIN_DEFVAL            0x00000000
#define SERDES_L3_TM_CDR16_FFL_PH0_PROP_GAIN_SHIFT             0
#define SERDES_L3_TM_CDR16_FFL_PH0_PROP_GAIN_MASK              0x0000001FU

/*
* EQ stg 2 controls BYPASSED
*/
#undef SERDES_L3_TM_EQ0_EQ_STG2_CTRL_BYP_DEFVAL 
#undef SERDES_L3_TM_EQ0_EQ_STG2_CTRL_BYP_SHIFT 
#undef SERDES_L3_TM_EQ0_EQ_STG2_CTRL_BYP_MASK 
#define SERDES_L3_TM_EQ0_EQ_STG2_CTRL_BYP_DEFVAL               0x00000000
#define SERDES_L3_TM_EQ0_EQ_STG2_CTRL_BYP_SHIFT                5
#define SERDES_L3_TM_EQ0_EQ_STG2_CTRL_BYP_MASK                 0x00000020U

/*
* EQ STG2 RL PROG
*/
#undef SERDES_L3_TM_EQ1_EQ_STG2_RL_PROG_DEFVAL 
#undef SERDES_L3_TM_EQ1_EQ_STG2_RL_PROG_SHIFT 
#undef SERDES_L3_TM_EQ1_EQ_STG2_RL_PROG_MASK 
#define SERDES_L3_TM_EQ1_EQ_STG2_RL_PROG_DEFVAL                0x00000000
#define SERDES_L3_TM_EQ1_EQ_STG2_RL_PROG_SHIFT                 0
#define SERDES_L3_TM_EQ1_EQ_STG2_RL_PROG_MASK                  0x00000003U

/*
* EQ stg 2 preamp mode val
*/
#undef SERDES_L3_TM_EQ1_EQ_STG2_PREAMP_MODE_VAL_DEFVAL 
#undef SERDES_L3_TM_EQ1_EQ_STG2_PREAMP_MODE_VAL_SHIFT 
#undef SERDES_L3_TM_EQ1_EQ_STG2_PREAMP_MODE_VAL_MASK 
#define SERDES_L3_TM_EQ1_EQ_STG2_PREAMP_MODE_VAL_DEFVAL        0x00000000
#define SERDES_L3_TM_EQ1_EQ_STG2_PREAMP_MODE_VAL_SHIFT         2
#define SERDES_L3_TM_EQ1_EQ_STG2_PREAMP_MODE_VAL_MASK          0x00000004U

/*
* Margining factor value
*/
#undef SERDES_L1_TXPMD_TM_48_TM_RESULTANT_MARGINING_FACTOR_DEFVAL 
#undef SERDES_L1_TXPMD_TM_48_TM_RESULTANT_MARGINING_FACTOR_SHIFT 
#undef SERDES_L1_TXPMD_TM_48_TM_RESULTANT_MARGINING_FACTOR_MASK 
#define SERDES_L1_TXPMD_TM_48_TM_RESULTANT_MARGINING_FACTOR_DEFVAL  0x00000000
#define SERDES_L1_TXPMD_TM_48_TM_RESULTANT_MARGINING_FACTOR_SHIFT  0
#define SERDES_L1_TXPMD_TM_48_TM_RESULTANT_MARGINING_FACTOR_MASK  0x0000001FU

/*
* pipe_TX_Deemph. 0: -6dB de-emphasis, 1: -3.5dB de-emphasis, 2 : No de-em
    * phasis, Others: reserved
*/
#undef SERDES_L1_TX_ANA_TM_18_PIPE_TX_DEEMPH_7_0_DEFVAL 
#undef SERDES_L1_TX_ANA_TM_18_PIPE_TX_DEEMPH_7_0_SHIFT 
#undef SERDES_L1_TX_ANA_TM_18_PIPE_TX_DEEMPH_7_0_MASK 
#define SERDES_L1_TX_ANA_TM_18_PIPE_TX_DEEMPH_7_0_DEFVAL       0x00000002
#define SERDES_L1_TX_ANA_TM_18_PIPE_TX_DEEMPH_7_0_SHIFT        0
#define SERDES_L1_TX_ANA_TM_18_PIPE_TX_DEEMPH_7_0_MASK         0x000000FFU

/*
* pipe_TX_Deemph. 0: -6dB de-emphasis, 1: -3.5dB de-emphasis, 2 : No de-em
    * phasis, Others: reserved
*/
#undef SERDES_L3_TX_ANA_TM_18_PIPE_TX_DEEMPH_7_0_DEFVAL 
#undef SERDES_L3_TX_ANA_TM_18_PIPE_TX_DEEMPH_7_0_SHIFT 
#undef SERDES_L3_TX_ANA_TM_18_PIPE_TX_DEEMPH_7_0_MASK 
#define SERDES_L3_TX_ANA_TM_18_PIPE_TX_DEEMPH_7_0_DEFVAL       0x00000002
#define SERDES_L3_TX_ANA_TM_18_PIPE_TX_DEEMPH_7_0_SHIFT        0
#define SERDES_L3_TX_ANA_TM_18_PIPE_TX_DEEMPH_7_0_MASK         0x000000FFU
#undef CRL_APB_RST_LPD_TOP_OFFSET 
#define CRL_APB_RST_LPD_TOP_OFFSET                                                 0XFF5E023C
#undef CRL_APB_RST_LPD_TOP_OFFSET 
#define CRL_APB_RST_LPD_TOP_OFFSET                                                 0XFF5E023C
#undef CRL_APB_RST_LPD_IOU0_OFFSET 
#define CRL_APB_RST_LPD_IOU0_OFFSET                                                0XFF5E0230
#undef SIOU_SATA_MISC_CTRL_OFFSET 
#define SIOU_SATA_MISC_CTRL_OFFSET                                                 0XFD3D0100
#undef CRF_APB_RST_FPD_TOP_OFFSET 
#define CRF_APB_RST_FPD_TOP_OFFSET                                                 0XFD1A0100
#undef CRF_APB_RST_FPD_TOP_OFFSET 
#define CRF_APB_RST_FPD_TOP_OFFSET                                                 0XFD1A0100
#undef CRF_APB_RST_FPD_TOP_OFFSET 
#define CRF_APB_RST_FPD_TOP_OFFSET                                                 0XFD1A0100
#undef DP_DP_PHY_RESET_OFFSET 
#define DP_DP_PHY_RESET_OFFSET                                                     0XFD4A0200
#undef DP_DP_TX_PHY_POWER_DOWN_OFFSET 
#define DP_DP_TX_PHY_POWER_DOWN_OFFSET                                             0XFD4A0238
#undef USB3_0_XHCI_GUSB2PHYCFG_OFFSET 
#define USB3_0_XHCI_GUSB2PHYCFG_OFFSET                                             0XFE20C200
#undef USB3_0_XHCI_GFLADJ_OFFSET 
#define USB3_0_XHCI_GFLADJ_OFFSET                                                  0XFE20C630
#undef USB3_0_XHCI_GUCTL1_OFFSET 
#define USB3_0_XHCI_GUCTL1_OFFSET                                                  0XFE20C11C
#undef USB3_0_XHCI_GUCTL_OFFSET 
#define USB3_0_XHCI_GUCTL_OFFSET                                                   0XFE20C12C
#undef PCIE_ATTRIB_ATTR_25_OFFSET 
#define PCIE_ATTRIB_ATTR_25_OFFSET                                                 0XFD480064
#undef PCIE_ATTRIB_ATTR_7_OFFSET 
#define PCIE_ATTRIB_ATTR_7_OFFSET                                                  0XFD48001C
#undef PCIE_ATTRIB_ATTR_8_OFFSET 
#define PCIE_ATTRIB_ATTR_8_OFFSET                                                  0XFD480020
#undef PCIE_ATTRIB_ATTR_9_OFFSET 
#define PCIE_ATTRIB_ATTR_9_OFFSET                                                  0XFD480024
#undef PCIE_ATTRIB_ATTR_10_OFFSET 
#define PCIE_ATTRIB_ATTR_10_OFFSET                                                 0XFD480028
#undef PCIE_ATTRIB_ATTR_11_OFFSET 
#define PCIE_ATTRIB_ATTR_11_OFFSET                                                 0XFD48002C
#undef PCIE_ATTRIB_ATTR_12_OFFSET 
#define PCIE_ATTRIB_ATTR_12_OFFSET                                                 0XFD480030
#undef PCIE_ATTRIB_ATTR_13_OFFSET 
#define PCIE_ATTRIB_ATTR_13_OFFSET                                                 0XFD480034
#undef PCIE_ATTRIB_ATTR_14_OFFSET 
#define PCIE_ATTRIB_ATTR_14_OFFSET                                                 0XFD480038
#undef PCIE_ATTRIB_ATTR_15_OFFSET 
#define PCIE_ATTRIB_ATTR_15_OFFSET                                                 0XFD48003C
#undef PCIE_ATTRIB_ATTR_16_OFFSET 
#define PCIE_ATTRIB_ATTR_16_OFFSET                                                 0XFD480040
#undef PCIE_ATTRIB_ATTR_17_OFFSET 
#define PCIE_ATTRIB_ATTR_17_OFFSET                                                 0XFD480044
#undef PCIE_ATTRIB_ATTR_18_OFFSET 
#define PCIE_ATTRIB_ATTR_18_OFFSET                                                 0XFD480048
#undef PCIE_ATTRIB_ATTR_27_OFFSET 
#define PCIE_ATTRIB_ATTR_27_OFFSET                                                 0XFD48006C
#undef PCIE_ATTRIB_ATTR_50_OFFSET 
#define PCIE_ATTRIB_ATTR_50_OFFSET                                                 0XFD4800C8
#undef PCIE_ATTRIB_ATTR_105_OFFSET 
#define PCIE_ATTRIB_ATTR_105_OFFSET                                                0XFD4801A4
#undef PCIE_ATTRIB_ATTR_106_OFFSET 
#define PCIE_ATTRIB_ATTR_106_OFFSET                                                0XFD4801A8
#undef PCIE_ATTRIB_ATTR_107_OFFSET 
#define PCIE_ATTRIB_ATTR_107_OFFSET                                                0XFD4801AC
#undef PCIE_ATTRIB_ATTR_108_OFFSET 
#define PCIE_ATTRIB_ATTR_108_OFFSET                                                0XFD4801B0
#undef PCIE_ATTRIB_ATTR_109_OFFSET 
#define PCIE_ATTRIB_ATTR_109_OFFSET                                                0XFD4801B4
#undef PCIE_ATTRIB_ATTR_34_OFFSET 
#define PCIE_ATTRIB_ATTR_34_OFFSET                                                 0XFD480088
#undef PCIE_ATTRIB_ATTR_53_OFFSET 
#define PCIE_ATTRIB_ATTR_53_OFFSET                                                 0XFD4800D4
#undef PCIE_ATTRIB_ATTR_41_OFFSET 
#define PCIE_ATTRIB_ATTR_41_OFFSET                                                 0XFD4800A4
#undef PCIE_ATTRIB_ATTR_97_OFFSET 
#define PCIE_ATTRIB_ATTR_97_OFFSET                                                 0XFD480184
#undef PCIE_ATTRIB_ATTR_100_OFFSET 
#define PCIE_ATTRIB_ATTR_100_OFFSET                                                0XFD480190
#undef PCIE_ATTRIB_ATTR_101_OFFSET 
#define PCIE_ATTRIB_ATTR_101_OFFSET                                                0XFD480194
#undef PCIE_ATTRIB_ATTR_37_OFFSET 
#define PCIE_ATTRIB_ATTR_37_OFFSET                                                 0XFD480094
#undef PCIE_ATTRIB_ATTR_93_OFFSET 
#define PCIE_ATTRIB_ATTR_93_OFFSET                                                 0XFD480174
#undef PCIE_ATTRIB_ID_OFFSET 
#define PCIE_ATTRIB_ID_OFFSET                                                      0XFD480200
#undef PCIE_ATTRIB_SUBSYS_ID_OFFSET 
#define PCIE_ATTRIB_SUBSYS_ID_OFFSET                                               0XFD480204
#undef PCIE_ATTRIB_REV_ID_OFFSET 
#define PCIE_ATTRIB_REV_ID_OFFSET                                                  0XFD480208
#undef PCIE_ATTRIB_ATTR_24_OFFSET 
#define PCIE_ATTRIB_ATTR_24_OFFSET                                                 0XFD480060
#undef PCIE_ATTRIB_ATTR_25_OFFSET 
#define PCIE_ATTRIB_ATTR_25_OFFSET                                                 0XFD480064
#undef PCIE_ATTRIB_ATTR_4_OFFSET 
#define PCIE_ATTRIB_ATTR_4_OFFSET                                                  0XFD480010
#undef PCIE_ATTRIB_ATTR_89_OFFSET 
#define PCIE_ATTRIB_ATTR_89_OFFSET                                                 0XFD480164
#undef PCIE_ATTRIB_ATTR_79_OFFSET 
#define PCIE_ATTRIB_ATTR_79_OFFSET                                                 0XFD48013C
#undef PCIE_ATTRIB_ATTR_43_OFFSET 
#define PCIE_ATTRIB_ATTR_43_OFFSET                                                 0XFD4800AC
#undef PCIE_ATTRIB_ATTR_48_OFFSET 
#define PCIE_ATTRIB_ATTR_48_OFFSET                                                 0XFD4800C0
#undef PCIE_ATTRIB_ATTR_46_OFFSET 
#define PCIE_ATTRIB_ATTR_46_OFFSET                                                 0XFD4800B8
#undef PCIE_ATTRIB_ATTR_47_OFFSET 
#define PCIE_ATTRIB_ATTR_47_OFFSET                                                 0XFD4800BC
#undef PCIE_ATTRIB_ATTR_44_OFFSET 
#define PCIE_ATTRIB_ATTR_44_OFFSET                                                 0XFD4800B0
#undef PCIE_ATTRIB_ATTR_45_OFFSET 
#define PCIE_ATTRIB_ATTR_45_OFFSET                                                 0XFD4800B4
#undef PCIE_ATTRIB_CB_OFFSET 
#define PCIE_ATTRIB_CB_OFFSET                                                      0XFD48031C
#undef PCIE_ATTRIB_ATTR_35_OFFSET 
#define PCIE_ATTRIB_ATTR_35_OFFSET                                                 0XFD48008C
#undef CRF_APB_RST_FPD_TOP_OFFSET 
#define CRF_APB_RST_FPD_TOP_OFFSET                                                 0XFD1A0100
#undef GPIO_MASK_DATA_1_LSW_OFFSET 
#define GPIO_MASK_DATA_1_LSW_OFFSET                                                0XFF0A0008
#undef SATA_AHCI_VENDOR_PP2C_OFFSET 
#define SATA_AHCI_VENDOR_PP2C_OFFSET                                               0XFD0C00AC
#undef SATA_AHCI_VENDOR_PP3C_OFFSET 
#define SATA_AHCI_VENDOR_PP3C_OFFSET                                               0XFD0C00B0
#undef SATA_AHCI_VENDOR_PP4C_OFFSET 
#define SATA_AHCI_VENDOR_PP4C_OFFSET                                               0XFD0C00B4
#undef SATA_AHCI_VENDOR_PP5C_OFFSET 
#define SATA_AHCI_VENDOR_PP5C_OFFSET                                               0XFD0C00B8

/*
* USB 0 reset for control registers
*/
#undef CRL_APB_RST_LPD_TOP_USB0_APB_RESET_DEFVAL 
#undef CRL_APB_RST_LPD_TOP_USB0_APB_RESET_SHIFT 
#undef CRL_APB_RST_LPD_TOP_USB0_APB_RESET_MASK 
#define CRL_APB_RST_LPD_TOP_USB0_APB_RESET_DEFVAL              0x00188FDF
#define CRL_APB_RST_LPD_TOP_USB0_APB_RESET_SHIFT               10
#define CRL_APB_RST_LPD_TOP_USB0_APB_RESET_MASK                0x00000400U

/*
* USB 0 sleep circuit reset
*/
#undef CRL_APB_RST_LPD_TOP_USB0_HIBERRESET_DEFVAL 
#undef CRL_APB_RST_LPD_TOP_USB0_HIBERRESET_SHIFT 
#undef CRL_APB_RST_LPD_TOP_USB0_HIBERRESET_MASK 
#define CRL_APB_RST_LPD_TOP_USB0_HIBERRESET_DEFVAL             0x00188FDF
#define CRL_APB_RST_LPD_TOP_USB0_HIBERRESET_SHIFT              8
#define CRL_APB_RST_LPD_TOP_USB0_HIBERRESET_MASK               0x00000100U

/*
* USB 0 reset
*/
#undef CRL_APB_RST_LPD_TOP_USB0_CORERESET_DEFVAL 
#undef CRL_APB_RST_LPD_TOP_USB0_CORERESET_SHIFT 
#undef CRL_APB_RST_LPD_TOP_USB0_CORERESET_MASK 
#define CRL_APB_RST_LPD_TOP_USB0_CORERESET_DEFVAL              0x00188FDF
#define CRL_APB_RST_LPD_TOP_USB0_CORERESET_SHIFT               6
#define CRL_APB_RST_LPD_TOP_USB0_CORERESET_MASK                0x00000040U

/*
* GEM 3 reset
*/
#undef CRL_APB_RST_LPD_IOU0_GEM3_RESET_DEFVAL 
#undef CRL_APB_RST_LPD_IOU0_GEM3_RESET_SHIFT 
#undef CRL_APB_RST_LPD_IOU0_GEM3_RESET_MASK 
#define CRL_APB_RST_LPD_IOU0_GEM3_RESET_DEFVAL                 0x0000000F
#define CRL_APB_RST_LPD_IOU0_GEM3_RESET_SHIFT                  3
#define CRL_APB_RST_LPD_IOU0_GEM3_RESET_MASK                   0x00000008U

/*
* Sata PM clock control select
*/
#undef SIOU_SATA_MISC_CTRL_SATA_PM_CLK_SEL_DEFVAL 
#undef SIOU_SATA_MISC_CTRL_SATA_PM_CLK_SEL_SHIFT 
#undef SIOU_SATA_MISC_CTRL_SATA_PM_CLK_SEL_MASK 
#define SIOU_SATA_MISC_CTRL_SATA_PM_CLK_SEL_DEFVAL             
#define SIOU_SATA_MISC_CTRL_SATA_PM_CLK_SEL_SHIFT              0
#define SIOU_SATA_MISC_CTRL_SATA_PM_CLK_SEL_MASK               0x00000003U

/*
* Sata block level reset
*/
#undef CRF_APB_RST_FPD_TOP_SATA_RESET_DEFVAL 
#undef CRF_APB_RST_FPD_TOP_SATA_RESET_SHIFT 
#undef CRF_APB_RST_FPD_TOP_SATA_RESET_MASK 
#define CRF_APB_RST_FPD_TOP_SATA_RESET_DEFVAL                  0x000F9FFE
#define CRF_APB_RST_FPD_TOP_SATA_RESET_SHIFT                   1
#define CRF_APB_RST_FPD_TOP_SATA_RESET_MASK                    0x00000002U

/*
* PCIE config reset
*/
#undef CRF_APB_RST_FPD_TOP_PCIE_CFG_RESET_DEFVAL 
#undef CRF_APB_RST_FPD_TOP_PCIE_CFG_RESET_SHIFT 
#undef CRF_APB_RST_FPD_TOP_PCIE_CFG_RESET_MASK 
#define CRF_APB_RST_FPD_TOP_PCIE_CFG_RESET_DEFVAL              0x000F9FFE
#define CRF_APB_RST_FPD_TOP_PCIE_CFG_RESET_SHIFT               19
#define CRF_APB_RST_FPD_TOP_PCIE_CFG_RESET_MASK                0x00080000U

/*
* PCIE bridge block level reset (AXI interface)
*/
#undef CRF_APB_RST_FPD_TOP_PCIE_BRIDGE_RESET_DEFVAL 
#undef CRF_APB_RST_FPD_TOP_PCIE_BRIDGE_RESET_SHIFT 
#undef CRF_APB_RST_FPD_TOP_PCIE_BRIDGE_RESET_MASK 
#define CRF_APB_RST_FPD_TOP_PCIE_BRIDGE_RESET_DEFVAL           0x000F9FFE
#define CRF_APB_RST_FPD_TOP_PCIE_BRIDGE_RESET_SHIFT            18
#define CRF_APB_RST_FPD_TOP_PCIE_BRIDGE_RESET_MASK             0x00040000U

/*
* Display Port block level reset (includes DPDMA)
*/
#undef CRF_APB_RST_FPD_TOP_DP_RESET_DEFVAL 
#undef CRF_APB_RST_FPD_TOP_DP_RESET_SHIFT 
#undef CRF_APB_RST_FPD_TOP_DP_RESET_MASK 
#define CRF_APB_RST_FPD_TOP_DP_RESET_DEFVAL                    0x000F9FFE
#define CRF_APB_RST_FPD_TOP_DP_RESET_SHIFT                     16
#define CRF_APB_RST_FPD_TOP_DP_RESET_MASK                      0x00010000U

/*
* Set to '1' to hold the GT in reset. Clear to release.
*/
#undef DP_DP_PHY_RESET_GT_RESET_DEFVAL 
#undef DP_DP_PHY_RESET_GT_RESET_SHIFT 
#undef DP_DP_PHY_RESET_GT_RESET_MASK 
#define DP_DP_PHY_RESET_GT_RESET_DEFVAL                        0x00010003
#define DP_DP_PHY_RESET_GT_RESET_SHIFT                         1
#define DP_DP_PHY_RESET_GT_RESET_MASK                          0x00000002U

/*
* Two bits per lane. When set to 11, moves the GT to power down mode. When
    *  set to 00, GT will be in active state. bits [1:0] - lane0 Bits [3:2] -
    * lane 1
*/
#undef DP_DP_TX_PHY_POWER_DOWN_POWER_DWN_DEFVAL 
#undef DP_DP_TX_PHY_POWER_DOWN_POWER_DWN_SHIFT 
#undef DP_DP_TX_PHY_POWER_DOWN_POWER_DWN_MASK 
#define DP_DP_TX_PHY_POWER_DOWN_POWER_DWN_DEFVAL               0x00000000
#define DP_DP_TX_PHY_POWER_DOWN_POWER_DWN_SHIFT                0
#define DP_DP_TX_PHY_POWER_DOWN_POWER_DWN_MASK                 0x0000000FU

/*
* USB 2.0 Turnaround Time (USBTrdTim) Sets the turnaround time in PHY cloc
    * ks. Specifies the response time for a MAC request to the Packet FIFO Con
    * troller (PFC) to fetch data from the DFIFO (SPRAM). The following are th
    * e required values for the minimum SoC bus frequency of 60 MHz. USB turna
    * round time is a critical certification criteria when using long cables a
    * nd five hub levels. The required values for this field: - 4'h5: When the
    *  MAC interface is 16-bit UTMI+. - 4'h9: When the MAC interface is 8-bit
    * UTMI+/ULPI. If SoC bus clock is less than 60 MHz, and USB turnaround tim
    * e is not critical, this field can be set to a larger value. Note: This f
    * ield is valid only in device mode.
*/
#undef USB3_0_XHCI_GUSB2PHYCFG_USBTRDTIM_DEFVAL 
#undef USB3_0_XHCI_GUSB2PHYCFG_USBTRDTIM_SHIFT 
#undef USB3_0_XHCI_GUSB2PHYCFG_USBTRDTIM_MASK 
#define USB3_0_XHCI_GUSB2PHYCFG_USBTRDTIM_DEFVAL               0x00000000
#define USB3_0_XHCI_GUSB2PHYCFG_USBTRDTIM_SHIFT                10
#define USB3_0_XHCI_GUSB2PHYCFG_USBTRDTIM_MASK                 0x00003C00U

/*
* Transceiver Delay: Enables a delay between the assertion of the UTMI/ULP
    * I Transceiver Select signal (for HS) and the assertion of the TxValid si
    * gnal during a HS Chirp. When this bit is set to 1, a delay (of approxima
    * tely 2.5 us) is introduced from the time when the Transceiver Select is
    * set to 2'b00 (HS) to the time the TxValid is driven to 0 for sending the
    *  chirp-K. This delay is required for some UTMI/ULPI PHYs. Note: - If you
    *  enable the hibernation feature when the device core comes out of power-
    * off, you must re-initialize this bit with the appropriate value because
    * the core does not save and restore this bit value during hibernation. -
    * This bit is valid only in device mode.
*/
#undef USB3_0_XHCI_GUSB2PHYCFG_XCVRDLY_DEFVAL 
#undef USB3_0_XHCI_GUSB2PHYCFG_XCVRDLY_SHIFT 
#undef USB3_0_XHCI_GUSB2PHYCFG_XCVRDLY_MASK 
#define USB3_0_XHCI_GUSB2PHYCFG_XCVRDLY_DEFVAL                 0x00000000
#define USB3_0_XHCI_GUSB2PHYCFG_XCVRDLY_SHIFT                  9
#define USB3_0_XHCI_GUSB2PHYCFG_XCVRDLY_MASK                   0x00000200U

/*
* Enable utmi_sleep_n and utmi_l1_suspend_n (EnblSlpM) The application use
    * s this bit to control utmi_sleep_n and utmi_l1_suspend_n assertion to th
    * e PHY in the L1 state. - 1'b0: utmi_sleep_n and utmi_l1_suspend_n assert
    * ion from the core is not transferred to the external PHY. - 1'b1: utmi_s
    * leep_n and utmi_l1_suspend_n assertion from the core is transferred to t
    * he external PHY. Note: This bit must be set high for Port0 if PHY is use
    * d. Note: In Device mode - Before issuing any device endpoint command whe
    * n operating in 2.0 speeds, disable this bit and enable it after the comm
    * and completes. Without disabling this bit, if a command is issued when t
    * he device is in L1 state and if mac2_clk (utmi_clk/ulpi_clk) is gated of
    * f, the command will not get completed.
*/
#undef USB3_0_XHCI_GUSB2PHYCFG_ENBLSLPM_DEFVAL 
#undef USB3_0_XHCI_GUSB2PHYCFG_ENBLSLPM_SHIFT 
#undef USB3_0_XHCI_GUSB2PHYCFG_ENBLSLPM_MASK 
#define USB3_0_XHCI_GUSB2PHYCFG_ENBLSLPM_DEFVAL                0x00000000
#define USB3_0_XHCI_GUSB2PHYCFG_ENBLSLPM_SHIFT                 8
#define USB3_0_XHCI_GUSB2PHYCFG_ENBLSLPM_MASK                  0x00000100U

/*
* USB 2.0 High-Speed PHY or USB 1.1 Full-Speed Serial Transceiver Select T
    * he application uses this bit to select a high-speed PHY or a full-speed
    * transceiver. - 1'b0: USB 2.0 high-speed UTMI+ or ULPI PHY. This bit is a
    * lways 0, with Write Only access. - 1'b1: USB 1.1 full-speed serial trans
    * ceiver. This bit is always 1, with Write Only access. If both interface
    * types are selected in coreConsultant (that is, parameters' values are no
    * t zero), the application uses this bit to select the active interface is
    *  active, with Read-Write bit access. Note: USB 1.1 full-serial transceiv
    * er is not supported. This bit always reads as 1'b0.
*/
#undef USB3_0_XHCI_GUSB2PHYCFG_PHYSEL_DEFVAL 
#undef USB3_0_XHCI_GUSB2PHYCFG_PHYSEL_SHIFT 
#undef USB3_0_XHCI_GUSB2PHYCFG_PHYSEL_MASK 
#define USB3_0_XHCI_GUSB2PHYCFG_PHYSEL_DEFVAL                  0x00000000
#define USB3_0_XHCI_GUSB2PHYCFG_PHYSEL_SHIFT                   7
#define USB3_0_XHCI_GUSB2PHYCFG_PHYSEL_MASK                    0x00000080U

/*
* Suspend USB2.0 HS/FS/LS PHY (SusPHY) When set, USB2.0 PHY enters Suspend
    *  mode if Suspend conditions are valid. For DRD/OTG configurations, it is
    *  recommended that this bit is set to 0 during coreConsultant configurati
    * on. If it is set to 1, then the application must clear this bit after po
    * wer-on reset. Application needs to set it to 1 after the core initializa
    * tion completes. For all other configurations, this bit can be set to 1 d
    * uring core configuration. Note: - In host mode, on reset, this bit is se
    * t to 1. Software can override this bit after reset. - In device mode, be
    * fore issuing any device endpoint command when operating in 2.0 speeds, d
    * isable this bit and enable it after the command completes. If you issue
    * a command without disabling this bit when the device is in L2 state and
    * if mac2_clk (utmi_clk/ulpi_clk) is gated off, the command will not get c
    * ompleted.
*/
#undef USB3_0_XHCI_GUSB2PHYCFG_SUSPENDUSB20_DEFVAL 
#undef USB3_0_XHCI_GUSB2PHYCFG_SUSPENDUSB20_SHIFT 
#undef USB3_0_XHCI_GUSB2PHYCFG_SUSPENDUSB20_MASK 
#define USB3_0_XHCI_GUSB2PHYCFG_SUSPENDUSB20_DEFVAL            0x00000000
#define USB3_0_XHCI_GUSB2PHYCFG_SUSPENDUSB20_SHIFT             6
#define USB3_0_XHCI_GUSB2PHYCFG_SUSPENDUSB20_MASK              0x00000040U

/*
* Full-Speed Serial Interface Select (FSIntf) The application uses this bi
    * t to select a unidirectional or bidirectional USB 1.1 full-speed serial
    * transceiver interface. - 1'b0: 6-pin unidirectional full-speed serial in
    * terface. This bit is set to 0 with Read Only access. - 1'b1: 3-pin bidir
    * ectional full-speed serial interface. This bit is set to 0 with Read Onl
    * y access. Note: USB 1.1 full-speed serial interface is not supported. Th
    * is bit always reads as 1'b0.
*/
#undef USB3_0_XHCI_GUSB2PHYCFG_FSINTF_DEFVAL 
#undef USB3_0_XHCI_GUSB2PHYCFG_FSINTF_SHIFT 
#undef USB3_0_XHCI_GUSB2PHYCFG_FSINTF_MASK 
#define USB3_0_XHCI_GUSB2PHYCFG_FSINTF_DEFVAL                  0x00000000
#define USB3_0_XHCI_GUSB2PHYCFG_FSINTF_SHIFT                   5
#define USB3_0_XHCI_GUSB2PHYCFG_FSINTF_MASK                    0x00000020U

/*
* ULPI or UTMI+ Select (ULPI_UTMI_Sel) The application uses this bit to se
    * lect a UTMI+ or ULPI Interface. - 1'b0: UTMI+ Interface - 1'b1: ULPI Int
    * erface This bit is writable only if UTMI+ and ULPI is specified for High
    * -Speed PHY Interface(s) in coreConsultant configuration (DWC_USB3_HSPHY_
    * INTERFACE = 3). Otherwise, this bit is read-only and the value depends o
    * n the interface selected through DWC_USB3_HSPHY_INTERFACE.
*/
#undef USB3_0_XHCI_GUSB2PHYCFG_ULPI_UTMI_SEL_DEFVAL 
#undef USB3_0_XHCI_GUSB2PHYCFG_ULPI_UTMI_SEL_SHIFT 
#undef USB3_0_XHCI_GUSB2PHYCFG_ULPI_UTMI_SEL_MASK 
#define USB3_0_XHCI_GUSB2PHYCFG_ULPI_UTMI_SEL_DEFVAL           0x00000000
#define USB3_0_XHCI_GUSB2PHYCFG_ULPI_UTMI_SEL_SHIFT            4
#define USB3_0_XHCI_GUSB2PHYCFG_ULPI_UTMI_SEL_MASK             0x00000010U

/*
* PHY Interface (PHYIf) If UTMI+ is selected, the application uses this bi
    * t to configure the core to support a UTMI+ PHY with an 8- or 16-bit inte
    * rface. - 1'b0: 8 bits - 1'b1: 16 bits ULPI Mode: 1'b0 Note: - All the en
    * abled 2.0 ports must have the same clock frequency as Port0 clock freque
    * ncy (utmi_clk[0]). - The UTMI 8-bit and 16-bit modes cannot be used toge
    * ther for different ports at the same time (that is, all the ports must b
    * e in 8-bit mode, or all of them must be in 16-bit mode, at a time). - If
    *  any of the USB 2.0 ports is selected as ULPI port for operation, then a
    * ll the USB 2.0 ports must be operating at 60 MHz.
*/
#undef USB3_0_XHCI_GUSB2PHYCFG_PHYIF_DEFVAL 
#undef USB3_0_XHCI_GUSB2PHYCFG_PHYIF_SHIFT 
#undef USB3_0_XHCI_GUSB2PHYCFG_PHYIF_MASK 
#define USB3_0_XHCI_GUSB2PHYCFG_PHYIF_DEFVAL                   0x00000000
#define USB3_0_XHCI_GUSB2PHYCFG_PHYIF_SHIFT                    3
#define USB3_0_XHCI_GUSB2PHYCFG_PHYIF_MASK                     0x00000008U

/*
* HS/FS Timeout Calibration (TOutCal) The number of PHY clocks, as indicat
    * ed by the application in this field, is multiplied by a bit-time factor;
    *  this factor is added to the high-speed/full-speed interpacket timeout d
    * uration in the core to account for additional delays introduced by the P
    * HY. This may be required, since the delay introduced by the PHY in gener
    * ating the linestate condition may vary among PHYs. The USB standard time
    * out value for high-speed operation is 736 to 816 (inclusive) bit times.
    * The USB standard timeout value for full-speed operation is 16 to 18 (inc
    * lusive) bit times. The application must program this field based on the
    * speed of connection. The number of bit times added per PHY clock are: Hi
    * gh-speed operation: - One 30-MHz PHY clock = 16 bit times - One 60-MHz P
    * HY clock = 8 bit times Full-speed operation: - One 30-MHz PHY clock = 0.
    * 4 bit times - One 60-MHz PHY clock = 0.2 bit times - One 48-MHz PHY cloc
    * k = 0.25 bit times
*/
#undef USB3_0_XHCI_GUSB2PHYCFG_TOUTCAL_DEFVAL 
#undef USB3_0_XHCI_GUSB2PHYCFG_TOUTCAL_SHIFT 
#undef USB3_0_XHCI_GUSB2PHYCFG_TOUTCAL_MASK 
#define USB3_0_XHCI_GUSB2PHYCFG_TOUTCAL_DEFVAL                 0x00000000
#define USB3_0_XHCI_GUSB2PHYCFG_TOUTCAL_SHIFT                  0
#define USB3_0_XHCI_GUSB2PHYCFG_TOUTCAL_MASK                   0x00000007U

/*
* ULPI External VBUS Drive (ULPIExtVbusDrv) Selects supply source to drive
    *  5V on VBUS, in the ULPI PHY. - 1'b0: PHY drives VBUS with internal char
    * ge pump (default). - 1'b1: PHY drives VBUS with an external supply. (Onl
    * y when RTL parameter DWC_USB3_HSPHY_INTERFACE = 2 or 3)
*/
#undef USB3_0_XHCI_GUSB2PHYCFG_ULPIEXTVBUSDRV_DEFVAL 
#undef USB3_0_XHCI_GUSB2PHYCFG_ULPIEXTVBUSDRV_SHIFT 
#undef USB3_0_XHCI_GUSB2PHYCFG_ULPIEXTVBUSDRV_MASK 
#define USB3_0_XHCI_GUSB2PHYCFG_ULPIEXTVBUSDRV_DEFVAL          0x00000000
#define USB3_0_XHCI_GUSB2PHYCFG_ULPIEXTVBUSDRV_SHIFT           17
#define USB3_0_XHCI_GUSB2PHYCFG_ULPIEXTVBUSDRV_MASK            0x00020000U

/*
* This field indicates the frame length adjustment to be applied when SOF/
    * ITP counter is running on the ref_clk. This register value is used to ad
    * just the ITP interval when GCTL[SOFITPSYNC] is set to '1'; SOF and ITP i
    * nterval when GLADJ.GFLADJ_REFCLK_LPM_SEL is set to '1'. This field must
    * be programmed to a non-zero value only if GFLADJ_REFCLK_LPM_SEL is set t
    * o '1' or GCTL.SOFITPSYNC is set to '1'. The value is derived as follows:
    *  FLADJ_REF_CLK_FLADJ=((125000/ref_clk_period_integer)-(125000/ref_clk_pe
    * riod)) * ref_clk_period where - the ref_clk_period_integer is the intege
    * r value of the ref_clk period got by truncating the decimal (fractional)
    *  value that is programmed in the GUCTL.REF_CLK_PERIOD field. - the ref_c
    * lk_period is the ref_clk period including the fractional value. Examples
    * : If the ref_clk is 24 MHz then - GUCTL.REF_CLK_PERIOD = 41 - GFLADJ.GLA
    * DJ_REFCLK_FLADJ = ((125000/41)-(125000/41.6666))*41.6666 = 2032 (ignorin
    * g the fractional value) If the ref_clk is 48 MHz then - GUCTL.REF_CLK_PE
    * RIOD = 20 - GFLADJ.GLADJ_REFCLK_FLADJ = ((125000/20)-(125000/20.8333))*2
    * 0.8333 = 5208 (ignoring the fractional value)
*/
#undef USB3_0_XHCI_GFLADJ_GFLADJ_REFCLK_FLADJ_DEFVAL 
#undef USB3_0_XHCI_GFLADJ_GFLADJ_REFCLK_FLADJ_SHIFT 
#undef USB3_0_XHCI_GFLADJ_GFLADJ_REFCLK_FLADJ_MASK 
#define USB3_0_XHCI_GFLADJ_GFLADJ_REFCLK_FLADJ_DEFVAL          0x00000000
#define USB3_0_XHCI_GFLADJ_GFLADJ_REFCLK_FLADJ_SHIFT           8
#define USB3_0_XHCI_GFLADJ_GFLADJ_REFCLK_FLADJ_MASK            0x003FFF00U

/*
* When this bit is set to '0', termsel, xcvrsel will become 0 during end o
    * f resume while the opmode will become 0 once controller completes end of
    *  resume and enters U0 state (2 separate commandswill be issued). When th
    * is bit is set to '1', all the termsel, xcvrsel, opmode becomes 0 during
    * end of resume itself (only 1 command will be issued)
*/
#undef USB3_0_XHCI_GUCTL1_RESUME_TERMSEL_XCVRSEL_UNIFY_DEFVAL 
#undef USB3_0_XHCI_GUCTL1_RESUME_TERMSEL_XCVRSEL_UNIFY_SHIFT 
#undef USB3_0_XHCI_GUCTL1_RESUME_TERMSEL_XCVRSEL_UNIFY_MASK 
#define USB3_0_XHCI_GUCTL1_RESUME_TERMSEL_XCVRSEL_UNIFY_DEFVAL  0x00000000
#define USB3_0_XHCI_GUCTL1_RESUME_TERMSEL_XCVRSEL_UNIFY_SHIFT  10
#define USB3_0_XHCI_GUCTL1_RESUME_TERMSEL_XCVRSEL_UNIFY_MASK   0x00000400U

/*
* Reserved
*/
#undef USB3_0_XHCI_GUCTL1_RESERVED_9_DEFVAL 
#undef USB3_0_XHCI_GUCTL1_RESERVED_9_SHIFT 
#undef USB3_0_XHCI_GUCTL1_RESERVED_9_MASK 
#define USB3_0_XHCI_GUCTL1_RESERVED_9_DEFVAL                   0x00000000
#define USB3_0_XHCI_GUCTL1_RESERVED_9_SHIFT                    9
#define USB3_0_XHCI_GUCTL1_RESERVED_9_MASK                     0x00000200U

/*
* Host IN Auto Retry (USBHstInAutoRetryEn) When set, this field enables th
    * e Auto Retry feature. For IN transfers (non-isochronous) that encounter
    * data packets with CRC errors or internal overrun scenarios, the auto ret
    * ry feature causes the Host core to reply to the device with a non-termin
    * ating retry ACK (that is, an ACK transaction packet with Retry = 1 and N
    * umP != 0). If the Auto Retry feature is disabled (default), the core wil
    * l respond with a terminating retry ACK (that is, an ACK transaction pack
    * et with Retry = 1 and NumP = 0). - 1'b0: Auto Retry Disabled - 1'b1: Aut
    * o Retry Enabled Note: This bit is also applicable to the device mode.
*/
#undef USB3_0_XHCI_GUCTL_USBHSTINAUTORETRYEN_DEFVAL 
#undef USB3_0_XHCI_GUCTL_USBHSTINAUTORETRYEN_SHIFT 
#undef USB3_0_XHCI_GUCTL_USBHSTINAUTORETRYEN_MASK 
#define USB3_0_XHCI_GUCTL_USBHSTINAUTORETRYEN_DEFVAL           0x00000000
#define USB3_0_XHCI_GUCTL_USBHSTINAUTORETRYEN_SHIFT            14
#define USB3_0_XHCI_GUCTL_USBHSTINAUTORETRYEN_MASK             0x00004000U

/*
* If TRUE Completion Timeout Disable is supported. This is required to be
    * TRUE for Endpoint and either setting allowed for Root ports. Drives Devi
    * ce Capability 2 [4]; EP=0x0001; RP=0x0001
*/
#undef PCIE_ATTRIB_ATTR_25_ATTR_CPL_TIMEOUT_DISABLE_SUPPORTED_DEFVAL 
#undef PCIE_ATTRIB_ATTR_25_ATTR_CPL_TIMEOUT_DISABLE_SUPPORTED_SHIFT 
#undef PCIE_ATTRIB_ATTR_25_ATTR_CPL_TIMEOUT_DISABLE_SUPPORTED_MASK 
#define PCIE_ATTRIB_ATTR_25_ATTR_CPL_TIMEOUT_DISABLE_SUPPORTED_DEFVAL  0x00000905
#define PCIE_ATTRIB_ATTR_25_ATTR_CPL_TIMEOUT_DISABLE_SUPPORTED_SHIFT  9
#define PCIE_ATTRIB_ATTR_25_ATTR_CPL_TIMEOUT_DISABLE_SUPPORTED_MASK  0x00000200U

/*
* Specifies mask/settings for Base Address Register (BAR) 0. If BAR is not
    *  to be implemented, set to 32'h00000000. Bits are defined as follows: Me
    * mory Space BAR [0] = Mem Space Indicator (set to 0) [2:1] = Type field (
    * 10 for 64-bit, 00 for 32-bit) [3] = Prefetchable (0 or 1) [31:4] = Mask
    * for writable bits of BAR; if 32-bit BAR, set uppermost 31:n bits to 1, w
    * here 2^n=memory aperture size in bytes. If 64-bit BAR, set uppermost 63:
    * n bits of \'7bBAR1,BAR0\'7d to 1. IO Space BAR 0] = IO Space Indicator (
    * set to 1) [1] = Reserved (set to 0) [31:2] = Mask for writable bits of B
    * AR; set uppermost 31:n bits to 1, where 2^n=i/o aperture size in bytes.;
    *  EP=0x0004; RP=0x0000
*/
#undef PCIE_ATTRIB_ATTR_7_ATTR_BAR0_DEFVAL 
#undef PCIE_ATTRIB_ATTR_7_ATTR_BAR0_SHIFT 
#undef PCIE_ATTRIB_ATTR_7_ATTR_BAR0_MASK 
#define PCIE_ATTRIB_ATTR_7_ATTR_BAR0_DEFVAL                    
#define PCIE_ATTRIB_ATTR_7_ATTR_BAR0_SHIFT                     0
#define PCIE_ATTRIB_ATTR_7_ATTR_BAR0_MASK                      0x0000FFFFU

/*
* Specifies mask/settings for Base Address Register (BAR) 0. If BAR is not
    *  to be implemented, set to 32'h00000000. Bits are defined as follows: Me
    * mory Space BAR [0] = Mem Space Indicator (set to 0) [2:1] = Type field (
    * 10 for 64-bit, 00 for 32-bit) [3] = Prefetchable (0 or 1) [31:4] = Mask
    * for writable bits of BAR; if 32-bit BAR, set uppermost 31:n bits to 1, w
    * here 2^n=memory aperture size in bytes. If 64-bit BAR, set uppermost 63:
    * n bits of \'7bBAR1,BAR0\'7d to 1. IO Space BAR 0] = IO Space Indicator (
    * set to 1) [1] = Reserved (set to 0) [31:2] = Mask for writable bits of B
    * AR; set uppermost 31:n bits to 1, where 2^n=i/o aperture size in bytes.;
    *  EP=0xFFF0; RP=0x0000
*/
#undef PCIE_ATTRIB_ATTR_8_ATTR_BAR0_DEFVAL 
#undef PCIE_ATTRIB_ATTR_8_ATTR_BAR0_SHIFT 
#undef PCIE_ATTRIB_ATTR_8_ATTR_BAR0_MASK 
#define PCIE_ATTRIB_ATTR_8_ATTR_BAR0_DEFVAL                    
#define PCIE_ATTRIB_ATTR_8_ATTR_BAR0_SHIFT                     0
#define PCIE_ATTRIB_ATTR_8_ATTR_BAR0_MASK                      0x0000FFFFU

/*
* Specifies mask/settings for Base Address Register (BAR) 1 if BAR0 is a 3
    * 2-bit BAR, or the upper bits of \'7bBAR1,BAR0\'7d if BAR0 is a 64-bit BA
    * R. If BAR is not to be implemented, set to 32'h00000000. See BAR0 descri
    * ption if this functions as the upper bits of a 64-bit BAR. Bits are defi
    * ned as follows: Memory Space BAR (not upper bits of BAR0) [0] = Mem Spac
    * e Indicator (set to 0) [2:1] = Type field (10 for 64-bit, 00 for 32-bit)
    *  [3] = Prefetchable (0 or 1) [31:4] = Mask for writable bits of BAR; if
    * 32-bit BAR, set uppermost 31:n bits to 1, where 2^n=memory aperture size
    *  in bytes. If 64-bit BAR, set uppermost 63:n bits of \'7bBAR2,BAR1\'7d t
    * o 1. IO Space BAR 0] = IO Space Indicator (set to 1) [1] = Reserved (set
    *  to 0) [31:2] = Mask for writable bits of BAR; set uppermost 31:n bits t
    * o 1, where 2^n=i/o aperture size in bytes.; EP=0xFFFF; RP=0x0000
*/
#undef PCIE_ATTRIB_ATTR_9_ATTR_BAR1_DEFVAL 
#undef PCIE_ATTRIB_ATTR_9_ATTR_BAR1_SHIFT 
#undef PCIE_ATTRIB_ATTR_9_ATTR_BAR1_MASK 
#define PCIE_ATTRIB_ATTR_9_ATTR_BAR1_DEFVAL                    
#define PCIE_ATTRIB_ATTR_9_ATTR_BAR1_SHIFT                     0
#define PCIE_ATTRIB_ATTR_9_ATTR_BAR1_MASK                      0x0000FFFFU

/*
* Specifies mask/settings for Base Address Register (BAR) 1 if BAR0 is a 3
    * 2-bit BAR, or the upper bits of \'7bBAR1,BAR0\'7d if BAR0 is a 64-bit BA
    * R. If BAR is not to be implemented, set to 32'h00000000. See BAR0 descri
    * ption if this functions as the upper bits of a 64-bit BAR. Bits are defi
    * ned as follows: Memory Space BAR (not upper bits of BAR0) [0] = Mem Spac
    * e Indicator (set to 0) [2:1] = Type field (10 for 64-bit, 00 for 32-bit)
    *  [3] = Prefetchable (0 or 1) [31:4] = Mask for writable bits of BAR; if
    * 32-bit BAR, set uppermost 31:n bits to 1, where 2^n=memory aperture size
    *  in bytes. If 64-bit BAR, set uppermost 63:n bits of \'7bBAR2,BAR1\'7d t
    * o 1. IO Space BAR 0] = IO Space Indicator (set to 1) [1] = Reserved (set
    *  to 0) [31:2] = Mask for writable bits of BAR; set uppermost 31:n bits t
    * o 1, where 2^n=i/o aperture size in bytes.; EP=0xFFFF; RP=0x0000
*/
#undef PCIE_ATTRIB_ATTR_10_ATTR_BAR1_DEFVAL 
#undef PCIE_ATTRIB_ATTR_10_ATTR_BAR1_SHIFT 
#undef PCIE_ATTRIB_ATTR_10_ATTR_BAR1_MASK 
#define PCIE_ATTRIB_ATTR_10_ATTR_BAR1_DEFVAL                   
#define PCIE_ATTRIB_ATTR_10_ATTR_BAR1_SHIFT                    0
#define PCIE_ATTRIB_ATTR_10_ATTR_BAR1_MASK                     0x0000FFFFU

/*
* For an endpoint, specifies mask/settings for Base Address Register (BAR)
    *  2 if BAR1 is a 32-bit BAR, or the upper bits of \'7bBAR2,BAR1\'7d if BA
    * R1 is the lower part of a 64-bit BAR. If BAR is not to be implemented, s
    * et to 32'h00000000. See BAR1 description if this functions as the upper
    * bits of a 64-bit BAR. For a switch or root: This must be set to 00FF_FFF
    * F. For an endpoint, bits are defined as follows: Memory Space BAR (not u
    * pper bits of BAR1) [0] = Mem Space Indicator (set to 0) [2:1] = Type fie
    * ld (10 for 64-bit, 00 for 32-bit) [3] = Prefetchable (0 or 1) [31:4] = M
    * ask for writable bits of BAR; if 32-bit BAR, set uppermost 31:n bits to
    * 1, where 2^n=memory aperture size in bytes. If 64-bit BAR, set uppermost
    *  63:n bits of \'7bBAR3,BAR2\'7d to 1. IO Space BAR 0] = IO Space Indicat
    * or (set to 1) [1] = Reserved (set to 0) [31:2] = Mask for writable bits
    * of BAR; set uppermost 31:n bits to 1, where 2^n=i/o aperture size in byt
    * es.; EP=0x0004; RP=0xFFFF
*/
#undef PCIE_ATTRIB_ATTR_11_ATTR_BAR2_DEFVAL 
#undef PCIE_ATTRIB_ATTR_11_ATTR_BAR2_SHIFT 
#undef PCIE_ATTRIB_ATTR_11_ATTR_BAR2_MASK 
#define PCIE_ATTRIB_ATTR_11_ATTR_BAR2_DEFVAL                   
#define PCIE_ATTRIB_ATTR_11_ATTR_BAR2_SHIFT                    0
#define PCIE_ATTRIB_ATTR_11_ATTR_BAR2_MASK                     0x0000FFFFU

/*
* For an endpoint, specifies mask/settings for Base Address Register (BAR)
    *  2 if BAR1 is a 32-bit BAR, or the upper bits of \'7bBAR2,BAR1\'7d if BA
    * R1 is the lower part of a 64-bit BAR. If BAR is not to be implemented, s
    * et to 32'h00000000. See BAR1 description if this functions as the upper
    * bits of a 64-bit BAR. For a switch or root: This must be set to 00FF_FFF
    * F. For an endpoint, bits are defined as follows: Memory Space BAR (not u
    * pper bits of BAR1) [0] = Mem Space Indicator (set to 0) [2:1] = Type fie
    * ld (10 for 64-bit, 00 for 32-bit) [3] = Prefetchable (0 or 1) [31:4] = M
    * ask for writable bits of BAR; if 32-bit BAR, set uppermost 31:n bits to
    * 1, where 2^n=memory aperture size in bytes. If 64-bit BAR, set uppermost
    *  63:n bits of \'7bBAR3,BAR2\'7d to 1. IO Space BAR 0] = IO Space Indicat
    * or (set to 1) [1] = Reserved (set to 0) [31:2] = Mask for writable bits
    * of BAR; set uppermost 31:n bits to 1, where 2^n=i/o aperture size in byt
    * es.; EP=0xFFF0; RP=0x00FF
*/
#undef PCIE_ATTRIB_ATTR_12_ATTR_BAR2_DEFVAL 
#undef PCIE_ATTRIB_ATTR_12_ATTR_BAR2_SHIFT 
#undef PCIE_ATTRIB_ATTR_12_ATTR_BAR2_MASK 
#define PCIE_ATTRIB_ATTR_12_ATTR_BAR2_DEFVAL                   
#define PCIE_ATTRIB_ATTR_12_ATTR_BAR2_SHIFT                    0
#define PCIE_ATTRIB_ATTR_12_ATTR_BAR2_MASK                     0x0000FFFFU

/*
* For an endpoint, specifies mask/settings for Base Address Register (BAR)
    *  3 if BAR2 is a 32-bit BAR, or the upper bits of \'7bBAR3,BAR2\'7d if BA
    * R2 is the lower part of a 64-bit BAR. If BAR is not to be implemented, s
    * et to 32'h00000000. See BAR2 description if this functions as the upper
    * bits of a 64-bit BAR. For a switch or root, this must be set to: FFFF_00
    * 00 = IO Limit/Base Registers not implemented FFFF_F0F0 = IO Limit/Base R
    * egisters use 16-bit decode FFFF_F1F1 = IO Limit/Base Registers use 32-bi
    * t decode For an endpoint, bits are defined as follows: Memory Space BAR
    * (not upper bits of BAR2) [0] = Mem Space Indicator (set to 0) [2:1] = Ty
    * pe field (10 for 64-bit, 00 for 32-bit) [3] = Prefetchable (0 or 1) [31:
    * 4] = Mask for writable bits of BAR; if 32-bit BAR, set uppermost 31:n bi
    * ts to 1, where 2^n=memory aperture size in bytes. If 64-bit BAR, set upp
    * ermost 63:n bits of \'7bBAR4,BAR3\'7d to 1. IO Space BAR 0] = IO Space I
    * ndicator (set to 1) [1] = Reserved (set to 0) [31:2] = Mask for writable
    *  bits of BAR; set uppermost 31:n bits to 1, where 2^n=i/o aperture size
    * in bytes.; EP=0xFFFF; RP=0x0000
*/
#undef PCIE_ATTRIB_ATTR_13_ATTR_BAR3_DEFVAL 
#undef PCIE_ATTRIB_ATTR_13_ATTR_BAR3_SHIFT 
#undef PCIE_ATTRIB_ATTR_13_ATTR_BAR3_MASK 
#define PCIE_ATTRIB_ATTR_13_ATTR_BAR3_DEFVAL                   
#define PCIE_ATTRIB_ATTR_13_ATTR_BAR3_SHIFT                    0
#define PCIE_ATTRIB_ATTR_13_ATTR_BAR3_MASK                     0x0000FFFFU

/*
* For an endpoint, specifies mask/settings for Base Address Register (BAR)
    *  3 if BAR2 is a 32-bit BAR, or the upper bits of \'7bBAR3,BAR2\'7d if BA
    * R2 is the lower part of a 64-bit BAR. If BAR is not to be implemented, s
    * et to 32'h00000000. See BAR2 description if this functions as the upper
    * bits of a 64-bit BAR. For a switch or root, this must be set to: FFFF_00
    * 00 = IO Limit/Base Registers not implemented FFFF_F0F0 = IO Limit/Base R
    * egisters use 16-bit decode FFFF_F1F1 = IO Limit/Base Registers use 32-bi
    * t decode For an endpoint, bits are defined as follows: Memory Space BAR
    * (not upper bits of BAR2) [0] = Mem Space Indicator (set to 0) [2:1] = Ty
    * pe field (10 for 64-bit, 00 for 32-bit) [3] = Prefetchable (0 or 1) [31:
    * 4] = Mask for writable bits of BAR; if 32-bit BAR, set uppermost 31:n bi
    * ts to 1, where 2^n=memory aperture size in bytes. If 64-bit BAR, set upp
    * ermost 63:n bits of \'7bBAR4,BAR3\'7d to 1. IO Space BAR 0] = IO Space I
    * ndicator (set to 1) [1] = Reserved (set to 0) [31:2] = Mask for writable
    *  bits of BAR; set uppermost 31:n bits to 1, where 2^n=i/o aperture size
    * in bytes.; EP=0xFFFF; RP=0xFFFF
*/
#undef PCIE_ATTRIB_ATTR_14_ATTR_BAR3_DEFVAL 
#undef PCIE_ATTRIB_ATTR_14_ATTR_BAR3_SHIFT 
#undef PCIE_ATTRIB_ATTR_14_ATTR_BAR3_MASK 
#define PCIE_ATTRIB_ATTR_14_ATTR_BAR3_DEFVAL                   
#define PCIE_ATTRIB_ATTR_14_ATTR_BAR3_SHIFT                    0
#define PCIE_ATTRIB_ATTR_14_ATTR_BAR3_MASK                     0x0000FFFFU

/*
* For an endpoint, specifies mask/settings for Base Address Register (BAR)
    *  4 if BAR3 is a 32-bit BAR, or the upper bits of \'7bBAR4,BAR3\'7d if BA
    * R3 is the lower part of a 64-bit BAR. If BAR is not to be implemented, s
    * et to 32'h00000000. See BAR3 description if this functions as the upper
    * bits of a 64-bit BAR. For a switch or root: This must be set to FFF0_FFF
    * 0. For an endpoint, bits are defined as follows: Memory Space BAR (not u
    * pper bits of BAR3) [0] = Mem Space Indicator (set to 0) [2:1] = Type fie
    * ld (10 for 64-bit, 00 for 32-bit) [3] = Prefetchable (0 or 1) [31:4] = M
    * ask for writable bits of BAR; if 32-bit BAR, set uppermost 31:n bits to
    * 1, where 2^n=memory aperture size in bytes. If 64-bit BAR, set uppermost
    *  63:n bits of \'7bBAR5,BAR4\'7d to 1. IO Space BAR 0] = IO Space Indicat
    * or (set to 1) [1] = Reserved (set to 0) [31:2] = Mask for writable bits
    * of BAR; set uppermost 31:n bits to 1, where 2^n=i/o aperture size in byt
    * es.; EP=0x0004; RP=0xFFF0
*/
#undef PCIE_ATTRIB_ATTR_15_ATTR_BAR4_DEFVAL 
#undef PCIE_ATTRIB_ATTR_15_ATTR_BAR4_SHIFT 
#undef PCIE_ATTRIB_ATTR_15_ATTR_BAR4_MASK 
#define PCIE_ATTRIB_ATTR_15_ATTR_BAR4_DEFVAL                   
#define PCIE_ATTRIB_ATTR_15_ATTR_BAR4_SHIFT                    0
#define PCIE_ATTRIB_ATTR_15_ATTR_BAR4_MASK                     0x0000FFFFU

/*
* For an endpoint, specifies mask/settings for Base Address Register (BAR)
    *  4 if BAR3 is a 32-bit BAR, or the upper bits of \'7bBAR4,BAR3\'7d if BA
    * R3 is the lower part of a 64-bit BAR. If BAR is not to be implemented, s
    * et to 32'h00000000. See BAR3 description if this functions as the upper
    * bits of a 64-bit BAR. For a switch or root: This must be set to FFF0_FFF
    * 0. For an endpoint, bits are defined as follows: Memory Space BAR (not u
    * pper bits of BAR3) [0] = Mem Space Indicator (set to 0) [2:1] = Type fie
    * ld (10 for 64-bit, 00 for 32-bit) [3] = Prefetchable (0 or 1) [31:4] = M
    * ask for writable bits of BAR; if 32-bit BAR, set uppermost 31:n bits to
    * 1, where 2^n=memory aperture size in bytes. If 64-bit BAR, set uppermost
    *  63:n bits of \'7bBAR5,BAR4\'7d to 1. IO Space BAR 0] = IO Space Indicat
    * or (set to 1) [1] = Reserved (set to 0) [31:2] = Mask for writable bits
    * of BAR; set uppermost 31:n bits to 1, where 2^n=i/o aperture size in byt
    * es.; EP=0xFFF0; RP=0xFFF0
*/
#undef PCIE_ATTRIB_ATTR_16_ATTR_BAR4_DEFVAL 
#undef PCIE_ATTRIB_ATTR_16_ATTR_BAR4_SHIFT 
#undef PCIE_ATTRIB_ATTR_16_ATTR_BAR4_MASK 
#define PCIE_ATTRIB_ATTR_16_ATTR_BAR4_DEFVAL                   
#define PCIE_ATTRIB_ATTR_16_ATTR_BAR4_SHIFT                    0
#define PCIE_ATTRIB_ATTR_16_ATTR_BAR4_MASK                     0x0000FFFFU

/*
* For an endpoint, specifies mask/settings for Base Address Register (BAR)
    *  5 if BAR4 is a 32-bit BAR, or the upper bits of \'7bBAR5,BAR4\'7d if BA
    * R4 is the lower part of a 64-bit BAR. If BAR is not to be implemented, s
    * et to 32'h00000000. See BAR4 description if this functions as the upper
    * bits of a 64-bit BAR. For a switch or root, this must be set to: 0000_00
    * 00 = Prefetchable Memory Limit/Base Registers not implemented FFF0_FFF0
    * = 32-bit Prefetchable Memory Limit/Base implemented FFF1_FFF1 = 64-bit P
    * refetchable Memory Limit/Base implemented For an endpoint, bits are defi
    * ned as follows: Memory Space BAR (not upper bits of BAR4) [0] = Mem Spac
    * e Indicator (set to 0) [2:1] = Type field (00 for 32-bit; BAR5 cannot be
    *  lower part of a 64-bit BAR) [3] = Prefetchable (0 or 1) [31:4] = Mask f
    * or writable bits of BAR; set uppermost 31:n bits to 1, where 2^n=memory
    * aperture size in bytes. IO Space BAR 0] = IO Space Indicator (set to 1)
    * [1] = Reserved (set to 0) [31:2] = Mask for writable bits of BAR; set up
    * permost 31:n bits to 1, where 2^n=i/o aperture size in bytes.; EP=0xFFFF
    * ; RP=0xFFF1
*/
#undef PCIE_ATTRIB_ATTR_17_ATTR_BAR5_DEFVAL 
#undef PCIE_ATTRIB_ATTR_17_ATTR_BAR5_SHIFT 
#undef PCIE_ATTRIB_ATTR_17_ATTR_BAR5_MASK 
#define PCIE_ATTRIB_ATTR_17_ATTR_BAR5_DEFVAL                   
#define PCIE_ATTRIB_ATTR_17_ATTR_BAR5_SHIFT                    0
#define PCIE_ATTRIB_ATTR_17_ATTR_BAR5_MASK                     0x0000FFFFU

/*
* For an endpoint, specifies mask/settings for Base Address Register (BAR)
    *  5 if BAR4 is a 32-bit BAR, or the upper bits of \'7bBAR5,BAR4\'7d if BA
    * R4 is the lower part of a 64-bit BAR. If BAR is not to be implemented, s
    * et to 32'h00000000. See BAR4 description if this functions as the upper
    * bits of a 64-bit BAR. For a switch or root, this must be set to: 0000_00
    * 00 = Prefetchable Memory Limit/Base Registers not implemented FFF0_FFF0
    * = 32-bit Prefetchable Memory Limit/Base implemented FFF1_FFF1 = 64-bit P
    * refetchable Memory Limit/Base implemented For an endpoint, bits are defi
    * ned as follows: Memory Space BAR (not upper bits of BAR4) [0] = Mem Spac
    * e Indicator (set to 0) [2:1] = Type field (00 for 32-bit; BAR5 cannot be
    *  lower part of a 64-bit BAR) [3] = Prefetchable (0 or 1) [31:4] = Mask f
    * or writable bits of BAR; set uppermost 31:n bits to 1, where 2^n=memory
    * aperture size in bytes. IO Space BAR 0] = IO Space Indicator (set to 1)
    * [1] = Reserved (set to 0) [31:2] = Mask for writable bits of BAR; set up
    * permost 31:n bits to 1, where 2^n=i/o aperture size in bytes.; EP=0xFFFF
    * ; RP=0xFFF1
*/
#undef PCIE_ATTRIB_ATTR_18_ATTR_BAR5_DEFVAL 
#undef PCIE_ATTRIB_ATTR_18_ATTR_BAR5_SHIFT 
#undef PCIE_ATTRIB_ATTR_18_ATTR_BAR5_MASK 
#define PCIE_ATTRIB_ATTR_18_ATTR_BAR5_DEFVAL                   
#define PCIE_ATTRIB_ATTR_18_ATTR_BAR5_SHIFT                    0
#define PCIE_ATTRIB_ATTR_18_ATTR_BAR5_MASK                     0x0000FFFFU

/*
* Specifies maximum payload supported. Valid settings are: 0- 128 bytes, 1
    * - 256 bytes, 2- 512 bytes, 3- 1024 bytes. Transferred to the Device Capa
    * bilities register. The values: 4-2048 bytes, 5- 4096 bytes are not suppo
    * rted; EP=0x0001; RP=0x0001
*/
#undef PCIE_ATTRIB_ATTR_27_ATTR_DEV_CAP_MAX_PAYLOAD_SUPPORTED_DEFVAL 
#undef PCIE_ATTRIB_ATTR_27_ATTR_DEV_CAP_MAX_PAYLOAD_SUPPORTED_SHIFT 
#undef PCIE_ATTRIB_ATTR_27_ATTR_DEV_CAP_MAX_PAYLOAD_SUPPORTED_MASK 
#define PCIE_ATTRIB_ATTR_27_ATTR_DEV_CAP_MAX_PAYLOAD_SUPPORTED_DEFVAL  0x00002138
#define PCIE_ATTRIB_ATTR_27_ATTR_DEV_CAP_MAX_PAYLOAD_SUPPORTED_SHIFT  8
#define PCIE_ATTRIB_ATTR_27_ATTR_DEV_CAP_MAX_PAYLOAD_SUPPORTED_MASK  0x00000700U

/*
* Endpoint L1 Acceptable Latency. Records the latency that the endpoint ca
    * n withstand on transitions from L1 state to L0 (if L1 state supported).
    * Valid settings are: 0h less than 1us, 1h 1 to 2us, 2h 2 to 4us, 3h 4 to
    * 8us, 4h 8 to 16us, 5h 16 to 32us, 6h 32 to 64us, 7h more than 64us. For
    * Endpoints only. Must be 0h for other devices.; EP=0x0007; RP=0x0000
*/
#undef PCIE_ATTRIB_ATTR_27_ATTR_DEV_CAP_ENDPOINT_L1_LATENCY_DEFVAL 
#undef PCIE_ATTRIB_ATTR_27_ATTR_DEV_CAP_ENDPOINT_L1_LATENCY_SHIFT 
#undef PCIE_ATTRIB_ATTR_27_ATTR_DEV_CAP_ENDPOINT_L1_LATENCY_MASK 
#define PCIE_ATTRIB_ATTR_27_ATTR_DEV_CAP_ENDPOINT_L1_LATENCY_DEFVAL  0x00002138
#define PCIE_ATTRIB_ATTR_27_ATTR_DEV_CAP_ENDPOINT_L1_LATENCY_SHIFT  3
#define PCIE_ATTRIB_ATTR_27_ATTR_DEV_CAP_ENDPOINT_L1_LATENCY_MASK  0x00000038U

/*
* Identifies the type of device/port as follows: 0000b PCI Express Endpoin
    * t device, 0001b Legacy PCI Express Endpoint device, 0100b Root Port of P
    * CI Express Root Complex, 0101b Upstream Port of PCI Express Switch, 0110
    * b Downstream Port of PCI Express Switch, 0111b PCIE Express to PCI/PCI-X
    *  Bridge, 1000b PCI/PCI-X to PCI Express Bridge. Transferred to PCI Expre
    * ss Capabilities register. Must be consistent with IS_SWITCH and UPSTREAM
    * _FACING settings.; EP=0x0000; RP=0x0004
*/
#undef PCIE_ATTRIB_ATTR_50_ATTR_PCIE_CAP_DEVICE_PORT_TYPE_DEFVAL 
#undef PCIE_ATTRIB_ATTR_50_ATTR_PCIE_CAP_DEVICE_PORT_TYPE_SHIFT 
#undef PCIE_ATTRIB_ATTR_50_ATTR_PCIE_CAP_DEVICE_PORT_TYPE_MASK 
#define PCIE_ATTRIB_ATTR_50_ATTR_PCIE_CAP_DEVICE_PORT_TYPE_DEFVAL  0x00009C02
#define PCIE_ATTRIB_ATTR_50_ATTR_PCIE_CAP_DEVICE_PORT_TYPE_SHIFT  4
#define PCIE_ATTRIB_ATTR_50_ATTR_PCIE_CAP_DEVICE_PORT_TYPE_MASK  0x000000F0U

/*
* PCIe Capability's Next Capability Offset pointer to the next item in the
    *  capabilities list, or 00h if this is the final capability.; EP=0x009C;
    * RP=0x0000
*/
#undef PCIE_ATTRIB_ATTR_50_ATTR_PCIE_CAP_NEXTPTR_DEFVAL 
#undef PCIE_ATTRIB_ATTR_50_ATTR_PCIE_CAP_NEXTPTR_SHIFT 
#undef PCIE_ATTRIB_ATTR_50_ATTR_PCIE_CAP_NEXTPTR_MASK 
#define PCIE_ATTRIB_ATTR_50_ATTR_PCIE_CAP_NEXTPTR_DEFVAL       0x00009C02
#define PCIE_ATTRIB_ATTR_50_ATTR_PCIE_CAP_NEXTPTR_SHIFT        8
#define PCIE_ATTRIB_ATTR_50_ATTR_PCIE_CAP_NEXTPTR_MASK         0x0000FF00U

/*
* Number of credits that should be advertised for Completion data received
    *  on Virtual Channel 0. The bytes advertised must be less than or equal t
    * o the bram bytes available. See VC0_RX_RAM_LIMIT; EP=0x0172; RP=0x00CD
*/
#undef PCIE_ATTRIB_ATTR_105_ATTR_VC0_TOTAL_CREDITS_CD_DEFVAL 
#undef PCIE_ATTRIB_ATTR_105_ATTR_VC0_TOTAL_CREDITS_CD_SHIFT 
#undef PCIE_ATTRIB_ATTR_105_ATTR_VC0_TOTAL_CREDITS_CD_MASK 
#define PCIE_ATTRIB_ATTR_105_ATTR_VC0_TOTAL_CREDITS_CD_DEFVAL  
#define PCIE_ATTRIB_ATTR_105_ATTR_VC0_TOTAL_CREDITS_CD_SHIFT   0
#define PCIE_ATTRIB_ATTR_105_ATTR_VC0_TOTAL_CREDITS_CD_MASK    0x000007FFU

/*
* Number of credits that should be advertised for Completion headers recei
    * ved on Virtual Channel 0. The sum of the posted, non posted, and complet
    * ion header credits must be <= 80; EP=0x0048; RP=0x0024
*/
#undef PCIE_ATTRIB_ATTR_106_ATTR_VC0_TOTAL_CREDITS_CH_DEFVAL 
#undef PCIE_ATTRIB_ATTR_106_ATTR_VC0_TOTAL_CREDITS_CH_SHIFT 
#undef PCIE_ATTRIB_ATTR_106_ATTR_VC0_TOTAL_CREDITS_CH_MASK 
#define PCIE_ATTRIB_ATTR_106_ATTR_VC0_TOTAL_CREDITS_CH_DEFVAL  0x00000248
#define PCIE_ATTRIB_ATTR_106_ATTR_VC0_TOTAL_CREDITS_CH_SHIFT   0
#define PCIE_ATTRIB_ATTR_106_ATTR_VC0_TOTAL_CREDITS_CH_MASK    0x0000007FU

/*
* Number of credits that should be advertised for Non-Posted headers recei
    * ved on Virtual Channel 0. The number of non posted data credits advertis
    * ed by the block is equal to the number of non posted header credits. The
    *  sum of the posted, non posted, and completion header credits must be <=
    *  80; EP=0x0004; RP=0x000C
*/
#undef PCIE_ATTRIB_ATTR_106_ATTR_VC0_TOTAL_CREDITS_NPH_DEFVAL 
#undef PCIE_ATTRIB_ATTR_106_ATTR_VC0_TOTAL_CREDITS_NPH_SHIFT 
#undef PCIE_ATTRIB_ATTR_106_ATTR_VC0_TOTAL_CREDITS_NPH_MASK 
#define PCIE_ATTRIB_ATTR_106_ATTR_VC0_TOTAL_CREDITS_NPH_DEFVAL  0x00000248
#define PCIE_ATTRIB_ATTR_106_ATTR_VC0_TOTAL_CREDITS_NPH_SHIFT  7
#define PCIE_ATTRIB_ATTR_106_ATTR_VC0_TOTAL_CREDITS_NPH_MASK   0x00003F80U

/*
* Number of credits that should be advertised for Non-Posted data received
    *  on Virtual Channel 0. The number of non posted data credits advertised
    * by the block is equal to two times the number of non posted header credi
    * ts if atomic operations are supported or is equal to the number of non p
    * osted header credits if atomic operations are not supported. The bytes a
    * dvertised must be less than or equal to the bram bytes available. See VC
    * 0_RX_RAM_LIMIT; EP=0x0008; RP=0x0018
*/
#undef PCIE_ATTRIB_ATTR_107_ATTR_VC0_TOTAL_CREDITS_NPD_DEFVAL 
#undef PCIE_ATTRIB_ATTR_107_ATTR_VC0_TOTAL_CREDITS_NPD_SHIFT 
#undef PCIE_ATTRIB_ATTR_107_ATTR_VC0_TOTAL_CREDITS_NPD_MASK 
#define PCIE_ATTRIB_ATTR_107_ATTR_VC0_TOTAL_CREDITS_NPD_DEFVAL  
#define PCIE_ATTRIB_ATTR_107_ATTR_VC0_TOTAL_CREDITS_NPD_SHIFT  0
#define PCIE_ATTRIB_ATTR_107_ATTR_VC0_TOTAL_CREDITS_NPD_MASK   0x000007FFU

/*
* Number of credits that should be advertised for Posted data received on
    * Virtual Channel 0. The bytes advertised must be less than or equal to th
    * e bram bytes available. See VC0_RX_RAM_LIMIT; EP=0x0020; RP=0x00B5
*/
#undef PCIE_ATTRIB_ATTR_108_ATTR_VC0_TOTAL_CREDITS_PD_DEFVAL 
#undef PCIE_ATTRIB_ATTR_108_ATTR_VC0_TOTAL_CREDITS_PD_SHIFT 
#undef PCIE_ATTRIB_ATTR_108_ATTR_VC0_TOTAL_CREDITS_PD_MASK 
#define PCIE_ATTRIB_ATTR_108_ATTR_VC0_TOTAL_CREDITS_PD_DEFVAL  
#define PCIE_ATTRIB_ATTR_108_ATTR_VC0_TOTAL_CREDITS_PD_SHIFT   0
#define PCIE_ATTRIB_ATTR_108_ATTR_VC0_TOTAL_CREDITS_PD_MASK    0x000007FFU

/*
* Not currently in use. Invert ECRC generated by block when trn_tecrc_gen_
    * n and trn_terrfwd_n are asserted.; EP=0x0000; RP=0x0000
*/
#undef PCIE_ATTRIB_ATTR_109_ATTR_TECRC_EP_INV_DEFVAL 
#undef PCIE_ATTRIB_ATTR_109_ATTR_TECRC_EP_INV_SHIFT 
#undef PCIE_ATTRIB_ATTR_109_ATTR_TECRC_EP_INV_MASK 
#define PCIE_ATTRIB_ATTR_109_ATTR_TECRC_EP_INV_DEFVAL          0x00007E04
#define PCIE_ATTRIB_ATTR_109_ATTR_TECRC_EP_INV_SHIFT           15
#define PCIE_ATTRIB_ATTR_109_ATTR_TECRC_EP_INV_MASK            0x00008000U

/*
* Enables td bit clear and ECRC trim on received TLP's FALSE == don't trim
    *  TRUE == trim.; EP=0x0001; RP=0x0001
*/
#undef PCIE_ATTRIB_ATTR_109_ATTR_RECRC_CHK_TRIM_DEFVAL 
#undef PCIE_ATTRIB_ATTR_109_ATTR_RECRC_CHK_TRIM_SHIFT 
#undef PCIE_ATTRIB_ATTR_109_ATTR_RECRC_CHK_TRIM_MASK 
#define PCIE_ATTRIB_ATTR_109_ATTR_RECRC_CHK_TRIM_DEFVAL        0x00007E04
#define PCIE_ATTRIB_ATTR_109_ATTR_RECRC_CHK_TRIM_SHIFT         14
#define PCIE_ATTRIB_ATTR_109_ATTR_RECRC_CHK_TRIM_MASK          0x00004000U

/*
* Enables ECRC check on received TLP's 0 == don't check 1 == always check
    * 3 == check if enabled by ECRC check enable bit of AER cap structure; EP=
    * 0x0003; RP=0x0003
*/
#undef PCIE_ATTRIB_ATTR_109_ATTR_RECRC_CHK_DEFVAL 
#undef PCIE_ATTRIB_ATTR_109_ATTR_RECRC_CHK_SHIFT 
#undef PCIE_ATTRIB_ATTR_109_ATTR_RECRC_CHK_MASK 
#define PCIE_ATTRIB_ATTR_109_ATTR_RECRC_CHK_DEFVAL             0x00007E04
#define PCIE_ATTRIB_ATTR_109_ATTR_RECRC_CHK_SHIFT              12
#define PCIE_ATTRIB_ATTR_109_ATTR_RECRC_CHK_MASK               0x00003000U

/*
* Index of last packet buffer used by TX TLM (i.e. number of buffers - 1).
    *  Calculated from max payload size supported and the number of brams conf
    * igured for transmit; EP=0x001C; RP=0x001C
*/
#undef PCIE_ATTRIB_ATTR_109_ATTR_VC0_TX_LASTPACKET_DEFVAL 
#undef PCIE_ATTRIB_ATTR_109_ATTR_VC0_TX_LASTPACKET_SHIFT 
#undef PCIE_ATTRIB_ATTR_109_ATTR_VC0_TX_LASTPACKET_MASK 
#define PCIE_ATTRIB_ATTR_109_ATTR_VC0_TX_LASTPACKET_DEFVAL     0x00007E04
#define PCIE_ATTRIB_ATTR_109_ATTR_VC0_TX_LASTPACKET_SHIFT      7
#define PCIE_ATTRIB_ATTR_109_ATTR_VC0_TX_LASTPACKET_MASK       0x00000F80U

/*
* Number of credits that should be advertised for Posted headers received
    * on Virtual Channel 0. The sum of the posted, non posted, and completion
    * header credits must be <= 80; EP=0x0004; RP=0x0020
*/
#undef PCIE_ATTRIB_ATTR_109_ATTR_VC0_TOTAL_CREDITS_PH_DEFVAL 
#undef PCIE_ATTRIB_ATTR_109_ATTR_VC0_TOTAL_CREDITS_PH_SHIFT 
#undef PCIE_ATTRIB_ATTR_109_ATTR_VC0_TOTAL_CREDITS_PH_MASK 
#define PCIE_ATTRIB_ATTR_109_ATTR_VC0_TOTAL_CREDITS_PH_DEFVAL  0x00007E04
#define PCIE_ATTRIB_ATTR_109_ATTR_VC0_TOTAL_CREDITS_PH_SHIFT   0
#define PCIE_ATTRIB_ATTR_109_ATTR_VC0_TOTAL_CREDITS_PH_MASK    0x0000007FU

/*
* Specifies values to be transferred to Header Type register. Bit 7 should
    *  be set to '0' indicating single-function device. Bit 0 identifies heade
    * r as Type 0 or Type 1, with '0' indicating a Type 0 header.; EP=0x0000;
    * RP=0x0001
*/
#undef PCIE_ATTRIB_ATTR_34_ATTR_HEADER_TYPE_DEFVAL 
#undef PCIE_ATTRIB_ATTR_34_ATTR_HEADER_TYPE_SHIFT 
#undef PCIE_ATTRIB_ATTR_34_ATTR_HEADER_TYPE_MASK 
#define PCIE_ATTRIB_ATTR_34_ATTR_HEADER_TYPE_DEFVAL            0x00000100
#define PCIE_ATTRIB_ATTR_34_ATTR_HEADER_TYPE_SHIFT             0
#define PCIE_ATTRIB_ATTR_34_ATTR_HEADER_TYPE_MASK              0x000000FFU

/*
* PM Capability's Next Capability Offset pointer to the next item in the c
    * apabilities list, or 00h if this is the final capability.; EP=0x0048; RP
    * =0x0060
*/
#undef PCIE_ATTRIB_ATTR_53_ATTR_PM_CAP_NEXTPTR_DEFVAL 
#undef PCIE_ATTRIB_ATTR_53_ATTR_PM_CAP_NEXTPTR_SHIFT 
#undef PCIE_ATTRIB_ATTR_53_ATTR_PM_CAP_NEXTPTR_MASK 
#define PCIE_ATTRIB_ATTR_53_ATTR_PM_CAP_NEXTPTR_DEFVAL         0x00003D48
#define PCIE_ATTRIB_ATTR_53_ATTR_PM_CAP_NEXTPTR_SHIFT          0
#define PCIE_ATTRIB_ATTR_53_ATTR_PM_CAP_NEXTPTR_MASK           0x000000FFU

/*
* MSI Per-Vector Masking Capable. The value is transferred to the MSI Cont
    * rol Register[8]. When set, adds Mask and Pending Dword to Cap structure;
    *  EP=0x0000; RP=0x0000
*/
#undef PCIE_ATTRIB_ATTR_41_ATTR_MSI_CAP_PER_VECTOR_MASKING_CAPABLE_DEFVAL 
#undef PCIE_ATTRIB_ATTR_41_ATTR_MSI_CAP_PER_VECTOR_MASKING_CAPABLE_SHIFT 
#undef PCIE_ATTRIB_ATTR_41_ATTR_MSI_CAP_PER_VECTOR_MASKING_CAPABLE_MASK 
#define PCIE_ATTRIB_ATTR_41_ATTR_MSI_CAP_PER_VECTOR_MASKING_CAPABLE_DEFVAL  0x00000160
#define PCIE_ATTRIB_ATTR_41_ATTR_MSI_CAP_PER_VECTOR_MASKING_CAPABLE_SHIFT  9
#define PCIE_ATTRIB_ATTR_41_ATTR_MSI_CAP_PER_VECTOR_MASKING_CAPABLE_MASK  0x00000200U

/*
* Indicates that the MSI structures exists. If this is FALSE, then the MSI
    *  structure cannot be accessed via either the link or the management port
    * .; EP=0x0001; RP=0x0000
*/
#undef PCIE_ATTRIB_ATTR_41_ATTR_MSI_CAP_ON_DEFVAL 
#undef PCIE_ATTRIB_ATTR_41_ATTR_MSI_CAP_ON_SHIFT 
#undef PCIE_ATTRIB_ATTR_41_ATTR_MSI_CAP_ON_MASK 
#define PCIE_ATTRIB_ATTR_41_ATTR_MSI_CAP_ON_DEFVAL             0x00000160
#define PCIE_ATTRIB_ATTR_41_ATTR_MSI_CAP_ON_SHIFT              8
#define PCIE_ATTRIB_ATTR_41_ATTR_MSI_CAP_ON_MASK               0x00000100U

/*
* MSI Capability's Next Capability Offset pointer to the next item in the
    * capabilities list, or 00h if this is the final capability.; EP=0x0060; R
    * P=0x0000
*/
#undef PCIE_ATTRIB_ATTR_41_ATTR_MSI_CAP_NEXTPTR_DEFVAL 
#undef PCIE_ATTRIB_ATTR_41_ATTR_MSI_CAP_NEXTPTR_SHIFT 
#undef PCIE_ATTRIB_ATTR_41_ATTR_MSI_CAP_NEXTPTR_MASK 
#define PCIE_ATTRIB_ATTR_41_ATTR_MSI_CAP_NEXTPTR_DEFVAL        0x00000160
#define PCIE_ATTRIB_ATTR_41_ATTR_MSI_CAP_NEXTPTR_SHIFT         0
#define PCIE_ATTRIB_ATTR_41_ATTR_MSI_CAP_NEXTPTR_MASK          0x000000FFU

/*
* Indicates that the MSI structures exists. If this is FALSE, then the MSI
    *  structure cannot be accessed via either the link or the management port
    * .; EP=0x0001; RP=0x0000
*/
#undef PCIE_ATTRIB_ATTR_41_ATTR_MSI_CAP_ON_DEFVAL 
#undef PCIE_ATTRIB_ATTR_41_ATTR_MSI_CAP_ON_SHIFT 
#undef PCIE_ATTRIB_ATTR_41_ATTR_MSI_CAP_ON_MASK 
#define PCIE_ATTRIB_ATTR_41_ATTR_MSI_CAP_ON_DEFVAL             0x00000160
#define PCIE_ATTRIB_ATTR_41_ATTR_MSI_CAP_ON_SHIFT              8
#define PCIE_ATTRIB_ATTR_41_ATTR_MSI_CAP_ON_MASK               0x00000100U

/*
* Maximum Link Width. Valid settings are: 000001b x1, 000010b x2, 000100b
    * x4, 001000b x8.; EP=0x0004; RP=0x0004
*/
#undef PCIE_ATTRIB_ATTR_97_ATTR_LINK_CAP_MAX_LINK_WIDTH_DEFVAL 
#undef PCIE_ATTRIB_ATTR_97_ATTR_LINK_CAP_MAX_LINK_WIDTH_SHIFT 
#undef PCIE_ATTRIB_ATTR_97_ATTR_LINK_CAP_MAX_LINK_WIDTH_MASK 
#define PCIE_ATTRIB_ATTR_97_ATTR_LINK_CAP_MAX_LINK_WIDTH_DEFVAL  0x00000104
#define PCIE_ATTRIB_ATTR_97_ATTR_LINK_CAP_MAX_LINK_WIDTH_SHIFT  0
#define PCIE_ATTRIB_ATTR_97_ATTR_LINK_CAP_MAX_LINK_WIDTH_MASK  0x0000003FU

/*
* Used by LTSSM to set Maximum Link Width. Valid settings are: 000001b [x1
    * ], 000010b [x2], 000100b [x4], 001000b [x8].; EP=0x0004; RP=0x0004
*/
#undef PCIE_ATTRIB_ATTR_97_ATTR_LTSSM_MAX_LINK_WIDTH_DEFVAL 
#undef PCIE_ATTRIB_ATTR_97_ATTR_LTSSM_MAX_LINK_WIDTH_SHIFT 
#undef PCIE_ATTRIB_ATTR_97_ATTR_LTSSM_MAX_LINK_WIDTH_MASK 
#define PCIE_ATTRIB_ATTR_97_ATTR_LTSSM_MAX_LINK_WIDTH_DEFVAL   0x00000104
#define PCIE_ATTRIB_ATTR_97_ATTR_LTSSM_MAX_LINK_WIDTH_SHIFT    6
#define PCIE_ATTRIB_ATTR_97_ATTR_LTSSM_MAX_LINK_WIDTH_MASK     0x00000FC0U

/*
* TRUE specifies upstream-facing port. FALSE specifies downstream-facing p
    * ort.; EP=0x0001; RP=0x0000
*/
#undef PCIE_ATTRIB_ATTR_100_ATTR_UPSTREAM_FACING_DEFVAL 
#undef PCIE_ATTRIB_ATTR_100_ATTR_UPSTREAM_FACING_SHIFT 
#undef PCIE_ATTRIB_ATTR_100_ATTR_UPSTREAM_FACING_MASK 
#define PCIE_ATTRIB_ATTR_100_ATTR_UPSTREAM_FACING_DEFVAL       0x000000F0
#define PCIE_ATTRIB_ATTR_100_ATTR_UPSTREAM_FACING_SHIFT        6
#define PCIE_ATTRIB_ATTR_100_ATTR_UPSTREAM_FACING_MASK         0x00000040U

/*
* Enable the routing of message TLPs to the user through the TRN RX interf
    * ace. A bit value of 1 enables routing of the message TLP to the user. Me
    * ssages are always decoded by the message decoder. Bit 0 - ERR COR, Bit 1
    *  - ERR NONFATAL, Bit 2 - ERR FATAL, Bit 3 - INTA Bit 4 - INTB, Bit 5 - I
    * NTC, Bit 6 - INTD, Bit 7 PM_PME, Bit 8 - PME_TO_ACK, Bit 9 - unlock, Bit
    *  10 PME_Turn_Off; EP=0x0000; RP=0x07FF
*/
#undef PCIE_ATTRIB_ATTR_101_ATTR_ENABLE_MSG_ROUTE_DEFVAL 
#undef PCIE_ATTRIB_ATTR_101_ATTR_ENABLE_MSG_ROUTE_SHIFT 
#undef PCIE_ATTRIB_ATTR_101_ATTR_ENABLE_MSG_ROUTE_MASK 
#define PCIE_ATTRIB_ATTR_101_ATTR_ENABLE_MSG_ROUTE_DEFVAL      0x00000000
#define PCIE_ATTRIB_ATTR_101_ATTR_ENABLE_MSG_ROUTE_SHIFT       5
#define PCIE_ATTRIB_ATTR_101_ATTR_ENABLE_MSG_ROUTE_MASK        0x0000FFE0U

/*
* Disable BAR filtering. Does not change the behavior of the bar hit outpu
    * ts; EP=0x0000; RP=0x0001
*/
#undef PCIE_ATTRIB_ATTR_101_ATTR_DISABLE_BAR_FILTERING_DEFVAL 
#undef PCIE_ATTRIB_ATTR_101_ATTR_DISABLE_BAR_FILTERING_SHIFT 
#undef PCIE_ATTRIB_ATTR_101_ATTR_DISABLE_BAR_FILTERING_MASK 
#define PCIE_ATTRIB_ATTR_101_ATTR_DISABLE_BAR_FILTERING_DEFVAL  0x00000000
#define PCIE_ATTRIB_ATTR_101_ATTR_DISABLE_BAR_FILTERING_SHIFT  1
#define PCIE_ATTRIB_ATTR_101_ATTR_DISABLE_BAR_FILTERING_MASK   0x00000002U

/*
* Link Bandwidth notification capability. Indicates support for the link b
    * andwidth notification status and interrupt mechanism. Required for Root.
    * ; EP=0x0000; RP=0x0001
*/
#undef PCIE_ATTRIB_ATTR_37_ATTR_LINK_CAP_LINK_BANDWIDTH_NOTIFICATION_CAP_DEFVAL 
#undef PCIE_ATTRIB_ATTR_37_ATTR_LINK_CAP_LINK_BANDWIDTH_NOTIFICATION_CAP_SHIFT 
#undef PCIE_ATTRIB_ATTR_37_ATTR_LINK_CAP_LINK_BANDWIDTH_NOTIFICATION_CAP_MASK 
#define PCIE_ATTRIB_ATTR_37_ATTR_LINK_CAP_LINK_BANDWIDTH_NOTIFICATION_CAP_DEFVAL  0x000009FF
#define PCIE_ATTRIB_ATTR_37_ATTR_LINK_CAP_LINK_BANDWIDTH_NOTIFICATION_CAP_SHIFT  9
#define PCIE_ATTRIB_ATTR_37_ATTR_LINK_CAP_LINK_BANDWIDTH_NOTIFICATION_CAP_MASK  0x00000200U

/*
* Sets the ASPM Optionality Compliance bit, to comply with the 2.1 ASPM Op
    * tionality ECN. Transferred to the Link Capabilities register.; EP=0x0001
    * ; RP=0x0001
*/
#undef PCIE_ATTRIB_ATTR_37_ATTR_LINK_CAP_ASPM_OPTIONALITY_DEFVAL 
#undef PCIE_ATTRIB_ATTR_37_ATTR_LINK_CAP_ASPM_OPTIONALITY_SHIFT 
#undef PCIE_ATTRIB_ATTR_37_ATTR_LINK_CAP_ASPM_OPTIONALITY_MASK 
#define PCIE_ATTRIB_ATTR_37_ATTR_LINK_CAP_ASPM_OPTIONALITY_DEFVAL  0x000009FF
#define PCIE_ATTRIB_ATTR_37_ATTR_LINK_CAP_ASPM_OPTIONALITY_SHIFT  14
#define PCIE_ATTRIB_ATTR_37_ATTR_LINK_CAP_ASPM_OPTIONALITY_MASK  0x00004000U

/*
* Enables the Replay Timer to use the user-defined LL_REPLAY_TIMEOUT value
    *  (or combined with the built-in value, depending on LL_REPLAY_TIMEOUT_FU
    * NC). If FALSE, the built-in value is used.; EP=0x0000; RP=0x0000
*/
#undef PCIE_ATTRIB_ATTR_93_ATTR_LL_REPLAY_TIMEOUT_EN_DEFVAL 
#undef PCIE_ATTRIB_ATTR_93_ATTR_LL_REPLAY_TIMEOUT_EN_SHIFT 
#undef PCIE_ATTRIB_ATTR_93_ATTR_LL_REPLAY_TIMEOUT_EN_MASK 
#define PCIE_ATTRIB_ATTR_93_ATTR_LL_REPLAY_TIMEOUT_EN_DEFVAL   0x00000000
#define PCIE_ATTRIB_ATTR_93_ATTR_LL_REPLAY_TIMEOUT_EN_SHIFT    15
#define PCIE_ATTRIB_ATTR_93_ATTR_LL_REPLAY_TIMEOUT_EN_MASK     0x00008000U

/*
* Sets a user-defined timeout for the Replay Timer to force cause the retr
    * ansmission of unacknowledged TLPs; refer to LL_REPLAY_TIMEOUT_EN and LL_
    * REPLAY_TIMEOUT_FUNC to see how this value is used. The unit for this att
    * ribute is in symbol times, which is 4ns at GEN1 speeds and 2ns at GEN2.;
    *  EP=0x0000; RP=0x0000
*/
#undef PCIE_ATTRIB_ATTR_93_ATTR_LL_REPLAY_TIMEOUT_DEFVAL 
#undef PCIE_ATTRIB_ATTR_93_ATTR_LL_REPLAY_TIMEOUT_SHIFT 
#undef PCIE_ATTRIB_ATTR_93_ATTR_LL_REPLAY_TIMEOUT_MASK 
#define PCIE_ATTRIB_ATTR_93_ATTR_LL_REPLAY_TIMEOUT_DEFVAL      0x00000000
#define PCIE_ATTRIB_ATTR_93_ATTR_LL_REPLAY_TIMEOUT_SHIFT       0
#define PCIE_ATTRIB_ATTR_93_ATTR_LL_REPLAY_TIMEOUT_MASK        0x00007FFFU

/*
* Device ID for the the PCIe Cap Structure Device ID field
*/
#undef PCIE_ATTRIB_ID_CFG_DEV_ID_DEFVAL 
#undef PCIE_ATTRIB_ID_CFG_DEV_ID_SHIFT 
#undef PCIE_ATTRIB_ID_CFG_DEV_ID_MASK 
#define PCIE_ATTRIB_ID_CFG_DEV_ID_DEFVAL                       0x10EE7024
#define PCIE_ATTRIB_ID_CFG_DEV_ID_SHIFT                        0
#define PCIE_ATTRIB_ID_CFG_DEV_ID_MASK                         0x0000FFFFU

/*
* Vendor ID for the PCIe Cap Structure Vendor ID field
*/
#undef PCIE_ATTRIB_ID_CFG_VEND_ID_DEFVAL 
#undef PCIE_ATTRIB_ID_CFG_VEND_ID_SHIFT 
#undef PCIE_ATTRIB_ID_CFG_VEND_ID_MASK 
#define PCIE_ATTRIB_ID_CFG_VEND_ID_DEFVAL                      0x10EE7024
#define PCIE_ATTRIB_ID_CFG_VEND_ID_SHIFT                       16
#define PCIE_ATTRIB_ID_CFG_VEND_ID_MASK                        0xFFFF0000U

/*
* Subsystem ID for the the PCIe Cap Structure Subsystem ID field
*/
#undef PCIE_ATTRIB_SUBSYS_ID_CFG_SUBSYS_ID_DEFVAL 
#undef PCIE_ATTRIB_SUBSYS_ID_CFG_SUBSYS_ID_SHIFT 
#undef PCIE_ATTRIB_SUBSYS_ID_CFG_SUBSYS_ID_MASK 
#define PCIE_ATTRIB_SUBSYS_ID_CFG_SUBSYS_ID_DEFVAL             0x10EE0007
#define PCIE_ATTRIB_SUBSYS_ID_CFG_SUBSYS_ID_SHIFT              0
#define PCIE_ATTRIB_SUBSYS_ID_CFG_SUBSYS_ID_MASK               0x0000FFFFU

/*
* Subsystem Vendor ID for the PCIe Cap Structure Subsystem Vendor ID field
*/
#undef PCIE_ATTRIB_SUBSYS_ID_CFG_SUBSYS_VEND_ID_DEFVAL 
#undef PCIE_ATTRIB_SUBSYS_ID_CFG_SUBSYS_VEND_ID_SHIFT 
#undef PCIE_ATTRIB_SUBSYS_ID_CFG_SUBSYS_VEND_ID_MASK 
#define PCIE_ATTRIB_SUBSYS_ID_CFG_SUBSYS_VEND_ID_DEFVAL        0x10EE0007
#define PCIE_ATTRIB_SUBSYS_ID_CFG_SUBSYS_VEND_ID_SHIFT         16
#define PCIE_ATTRIB_SUBSYS_ID_CFG_SUBSYS_VEND_ID_MASK          0xFFFF0000U

/*
* Revision ID for the the PCIe Cap Structure
*/
#undef PCIE_ATTRIB_REV_ID_CFG_REV_ID_DEFVAL 
#undef PCIE_ATTRIB_REV_ID_CFG_REV_ID_SHIFT 
#undef PCIE_ATTRIB_REV_ID_CFG_REV_ID_MASK 
#define PCIE_ATTRIB_REV_ID_CFG_REV_ID_DEFVAL                   
#define PCIE_ATTRIB_REV_ID_CFG_REV_ID_SHIFT                    0
#define PCIE_ATTRIB_REV_ID_CFG_REV_ID_MASK                     0x000000FFU

/*
* Code identifying basic function, subclass and applicable programming int
    * erface. Transferred to the Class Code register.; EP=0x8000; RP=0x8000
*/
#undef PCIE_ATTRIB_ATTR_24_ATTR_CLASS_CODE_DEFVAL 
#undef PCIE_ATTRIB_ATTR_24_ATTR_CLASS_CODE_SHIFT 
#undef PCIE_ATTRIB_ATTR_24_ATTR_CLASS_CODE_MASK 
#define PCIE_ATTRIB_ATTR_24_ATTR_CLASS_CODE_DEFVAL             
#define PCIE_ATTRIB_ATTR_24_ATTR_CLASS_CODE_SHIFT              0
#define PCIE_ATTRIB_ATTR_24_ATTR_CLASS_CODE_MASK               0x0000FFFFU

/*
* Code identifying basic function, subclass and applicable programming int
    * erface. Transferred to the Class Code register.; EP=0x0005; RP=0x0006
*/
#undef PCIE_ATTRIB_ATTR_25_ATTR_CLASS_CODE_DEFVAL 
#undef PCIE_ATTRIB_ATTR_25_ATTR_CLASS_CODE_SHIFT 
#undef PCIE_ATTRIB_ATTR_25_ATTR_CLASS_CODE_MASK 
#define PCIE_ATTRIB_ATTR_25_ATTR_CLASS_CODE_DEFVAL             0x00000905
#define PCIE_ATTRIB_ATTR_25_ATTR_CLASS_CODE_SHIFT              0
#define PCIE_ATTRIB_ATTR_25_ATTR_CLASS_CODE_MASK               0x000000FFU

/*
* INTX Interrupt Generation Capable. If FALSE, this will cause Command[10]
    *  to be hardwired to 0.; EP=0x0001; RP=0x0001
*/
#undef PCIE_ATTRIB_ATTR_25_ATTR_CMD_INTX_IMPLEMENTED_DEFVAL 
#undef PCIE_ATTRIB_ATTR_25_ATTR_CMD_INTX_IMPLEMENTED_SHIFT 
#undef PCIE_ATTRIB_ATTR_25_ATTR_CMD_INTX_IMPLEMENTED_MASK 
#define PCIE_ATTRIB_ATTR_25_ATTR_CMD_INTX_IMPLEMENTED_DEFVAL   0x00000905
#define PCIE_ATTRIB_ATTR_25_ATTR_CMD_INTX_IMPLEMENTED_SHIFT    8
#define PCIE_ATTRIB_ATTR_25_ATTR_CMD_INTX_IMPLEMENTED_MASK     0x00000100U

/*
* Indicates that the AER structures exists. If this is FALSE, then the AER
    *  structure cannot be accessed via either the link or the management port
    * , and AER will be considered to not be present for error management task
    * s (such as what types of error messages are sent if an error is detected
    * ).; EP=0x0001; RP=0x0001
*/
#undef PCIE_ATTRIB_ATTR_4_ATTR_AER_CAP_ON_DEFVAL 
#undef PCIE_ATTRIB_ATTR_4_ATTR_AER_CAP_ON_SHIFT 
#undef PCIE_ATTRIB_ATTR_4_ATTR_AER_CAP_ON_MASK 
#define PCIE_ATTRIB_ATTR_4_ATTR_AER_CAP_ON_DEFVAL              0x00001000
#define PCIE_ATTRIB_ATTR_4_ATTR_AER_CAP_ON_SHIFT               12
#define PCIE_ATTRIB_ATTR_4_ATTR_AER_CAP_ON_MASK                0x00001000U

/*
* Indicates that the AER structures exists. If this is FALSE, then the AER
    *  structure cannot be accessed via either the link or the management port
    * , and AER will be considered to not be present for error management task
    * s (such as what types of error messages are sent if an error is detected
    * ).; EP=0x0001; RP=0x0001
*/
#undef PCIE_ATTRIB_ATTR_4_ATTR_AER_CAP_ON_DEFVAL 
#undef PCIE_ATTRIB_ATTR_4_ATTR_AER_CAP_ON_SHIFT 
#undef PCIE_ATTRIB_ATTR_4_ATTR_AER_CAP_ON_MASK 
#define PCIE_ATTRIB_ATTR_4_ATTR_AER_CAP_ON_DEFVAL              0x00001000
#define PCIE_ATTRIB_ATTR_4_ATTR_AER_CAP_ON_SHIFT               12
#define PCIE_ATTRIB_ATTR_4_ATTR_AER_CAP_ON_MASK                0x00001000U

/*
* VSEC's Next Capability Offset pointer to the next item in the capabiliti
    * es list, or 000h if this is the final capability.; EP=0x0140; RP=0x0140
*/
#undef PCIE_ATTRIB_ATTR_89_ATTR_VSEC_CAP_NEXTPTR_DEFVAL 
#undef PCIE_ATTRIB_ATTR_89_ATTR_VSEC_CAP_NEXTPTR_SHIFT 
#undef PCIE_ATTRIB_ATTR_89_ATTR_VSEC_CAP_NEXTPTR_MASK 
#define PCIE_ATTRIB_ATTR_89_ATTR_VSEC_CAP_NEXTPTR_DEFVAL       0x00002281
#define PCIE_ATTRIB_ATTR_89_ATTR_VSEC_CAP_NEXTPTR_SHIFT        1
#define PCIE_ATTRIB_ATTR_89_ATTR_VSEC_CAP_NEXTPTR_MASK         0x00001FFEU

/*
* CRS SW Visibility. Indicates RC can return CRS to SW. Transferred to the
    *  Root Capabilities register.; EP=0x0000; RP=0x0000
*/
#undef PCIE_ATTRIB_ATTR_79_ATTR_ROOT_CAP_CRS_SW_VISIBILITY_DEFVAL 
#undef PCIE_ATTRIB_ATTR_79_ATTR_ROOT_CAP_CRS_SW_VISIBILITY_SHIFT 
#undef PCIE_ATTRIB_ATTR_79_ATTR_ROOT_CAP_CRS_SW_VISIBILITY_MASK 
#define PCIE_ATTRIB_ATTR_79_ATTR_ROOT_CAP_CRS_SW_VISIBILITY_DEFVAL  0x00000000
#define PCIE_ATTRIB_ATTR_79_ATTR_ROOT_CAP_CRS_SW_VISIBILITY_SHIFT  5
#define PCIE_ATTRIB_ATTR_79_ATTR_ROOT_CAP_CRS_SW_VISIBILITY_MASK  0x00000020U

/*
* Indicates that the MSIX structures exists. If this is FALSE, then the MS
    * IX structure cannot be accessed via either the link or the management po
    * rt.; EP=0x0001; RP=0x0000
*/
#undef PCIE_ATTRIB_ATTR_43_ATTR_MSIX_CAP_ON_DEFVAL 
#undef PCIE_ATTRIB_ATTR_43_ATTR_MSIX_CAP_ON_SHIFT 
#undef PCIE_ATTRIB_ATTR_43_ATTR_MSIX_CAP_ON_MASK 
#define PCIE_ATTRIB_ATTR_43_ATTR_MSIX_CAP_ON_DEFVAL            0x00000100
#define PCIE_ATTRIB_ATTR_43_ATTR_MSIX_CAP_ON_SHIFT             8
#define PCIE_ATTRIB_ATTR_43_ATTR_MSIX_CAP_ON_MASK              0x00000100U

/*
* MSI-X Table Size. This value is transferred to the MSI-X Message Control
    * [10:0] field. Set to 0 if MSI-X is not enabled. Note that the core does
    * not implement the table; that must be implemented in user logic.; EP=0x0
    * 003; RP=0x0000
*/
#undef PCIE_ATTRIB_ATTR_48_ATTR_MSIX_CAP_TABLE_SIZE_DEFVAL 
#undef PCIE_ATTRIB_ATTR_48_ATTR_MSIX_CAP_TABLE_SIZE_SHIFT 
#undef PCIE_ATTRIB_ATTR_48_ATTR_MSIX_CAP_TABLE_SIZE_MASK 
#define PCIE_ATTRIB_ATTR_48_ATTR_MSIX_CAP_TABLE_SIZE_DEFVAL    
#define PCIE_ATTRIB_ATTR_48_ATTR_MSIX_CAP_TABLE_SIZE_SHIFT     0
#define PCIE_ATTRIB_ATTR_48_ATTR_MSIX_CAP_TABLE_SIZE_MASK      0x000007FFU

/*
* MSI-X Table Offset. This value is transferred to the MSI-X Table Offset
    * field. Set to 0 if MSI-X is not enabled.; EP=0x0001; RP=0x0000
*/
#undef PCIE_ATTRIB_ATTR_46_ATTR_MSIX_CAP_TABLE_OFFSET_DEFVAL 
#undef PCIE_ATTRIB_ATTR_46_ATTR_MSIX_CAP_TABLE_OFFSET_SHIFT 
#undef PCIE_ATTRIB_ATTR_46_ATTR_MSIX_CAP_TABLE_OFFSET_MASK 
#define PCIE_ATTRIB_ATTR_46_ATTR_MSIX_CAP_TABLE_OFFSET_DEFVAL  
#define PCIE_ATTRIB_ATTR_46_ATTR_MSIX_CAP_TABLE_OFFSET_SHIFT   0
#define PCIE_ATTRIB_ATTR_46_ATTR_MSIX_CAP_TABLE_OFFSET_MASK    0x0000FFFFU

/*
* MSI-X Table Offset. This value is transferred to the MSI-X Table Offset
    * field. Set to 0 if MSI-X is not enabled.; EP=0x0000; RP=0x0000
*/
#undef PCIE_ATTRIB_ATTR_47_ATTR_MSIX_CAP_TABLE_OFFSET_DEFVAL 
#undef PCIE_ATTRIB_ATTR_47_ATTR_MSIX_CAP_TABLE_OFFSET_SHIFT 
#undef PCIE_ATTRIB_ATTR_47_ATTR_MSIX_CAP_TABLE_OFFSET_MASK 
#define PCIE_ATTRIB_ATTR_47_ATTR_MSIX_CAP_TABLE_OFFSET_DEFVAL  
#define PCIE_ATTRIB_ATTR_47_ATTR_MSIX_CAP_TABLE_OFFSET_SHIFT   0
#define PCIE_ATTRIB_ATTR_47_ATTR_MSIX_CAP_TABLE_OFFSET_MASK    0x00001FFFU

/*
* MSI-X Pending Bit Array Offset This value is transferred to the MSI-X PB
    * A Offset field. Set to 0 if MSI-X is not enabled.; EP=0x0001; RP=0x0000
*/
#undef PCIE_ATTRIB_ATTR_44_ATTR_MSIX_CAP_PBA_OFFSET_DEFVAL 
#undef PCIE_ATTRIB_ATTR_44_ATTR_MSIX_CAP_PBA_OFFSET_SHIFT 
#undef PCIE_ATTRIB_ATTR_44_ATTR_MSIX_CAP_PBA_OFFSET_MASK 
#define PCIE_ATTRIB_ATTR_44_ATTR_MSIX_CAP_PBA_OFFSET_DEFVAL    
#define PCIE_ATTRIB_ATTR_44_ATTR_MSIX_CAP_PBA_OFFSET_SHIFT     0
#define PCIE_ATTRIB_ATTR_44_ATTR_MSIX_CAP_PBA_OFFSET_MASK      0x0000FFFFU

/*
* MSI-X Pending Bit Array Offset This value is transferred to the MSI-X PB
    * A Offset field. Set to 0 if MSI-X is not enabled.; EP=0x1000; RP=0x0000
*/
#undef PCIE_ATTRIB_ATTR_45_ATTR_MSIX_CAP_PBA_OFFSET_DEFVAL 
#undef PCIE_ATTRIB_ATTR_45_ATTR_MSIX_CAP_PBA_OFFSET_SHIFT 
#undef PCIE_ATTRIB_ATTR_45_ATTR_MSIX_CAP_PBA_OFFSET_MASK 
#define PCIE_ATTRIB_ATTR_45_ATTR_MSIX_CAP_PBA_OFFSET_DEFVAL    0x00008000
#define PCIE_ATTRIB_ATTR_45_ATTR_MSIX_CAP_PBA_OFFSET_SHIFT     3
#define PCIE_ATTRIB_ATTR_45_ATTR_MSIX_CAP_PBA_OFFSET_MASK      0x0000FFF8U

/*
* DT837748 Enable
*/
#undef PCIE_ATTRIB_CB_CB1_DEFVAL 
#undef PCIE_ATTRIB_CB_CB1_SHIFT 
#undef PCIE_ATTRIB_CB_CB1_MASK 
#define PCIE_ATTRIB_CB_CB1_DEFVAL                              0x00000001
#define PCIE_ATTRIB_CB_CB1_SHIFT                               1
#define PCIE_ATTRIB_CB_CB1_MASK                                0x00000002U

/*
* Active State PM Support. Indicates the level of active state power manag
    * ement supported by the selected PCI Express Link, encoded as follows: 0
    * Reserved, 1 L0s entry supported, 2 Reserved, 3 L0s and L1 entry supporte
    * d.; EP=0x0001; RP=0x0001
*/
#undef PCIE_ATTRIB_ATTR_35_ATTR_LINK_CAP_ASPM_SUPPORT_DEFVAL 
#undef PCIE_ATTRIB_ATTR_35_ATTR_LINK_CAP_ASPM_SUPPORT_SHIFT 
#undef PCIE_ATTRIB_ATTR_35_ATTR_LINK_CAP_ASPM_SUPPORT_MASK 
#define PCIE_ATTRIB_ATTR_35_ATTR_LINK_CAP_ASPM_SUPPORT_DEFVAL  0x00001FFD
#define PCIE_ATTRIB_ATTR_35_ATTR_LINK_CAP_ASPM_SUPPORT_SHIFT   12
#define PCIE_ATTRIB_ATTR_35_ATTR_LINK_CAP_ASPM_SUPPORT_MASK    0x00003000U

/*
* PCIE control block level reset
*/
#undef CRF_APB_RST_FPD_TOP_PCIE_CTRL_RESET_DEFVAL 
#undef CRF_APB_RST_FPD_TOP_PCIE_CTRL_RESET_SHIFT 
#undef CRF_APB_RST_FPD_TOP_PCIE_CTRL_RESET_MASK 
#define CRF_APB_RST_FPD_TOP_PCIE_CTRL_RESET_DEFVAL             0x000F9FFE
#define CRF_APB_RST_FPD_TOP_PCIE_CTRL_RESET_SHIFT              17
#define CRF_APB_RST_FPD_TOP_PCIE_CTRL_RESET_MASK               0x00020000U

/*
* Operation is the same as MASK_DATA_0_LSW[MASK_0_LSW]
*/
#undef GPIO_MASK_DATA_1_LSW_MASK_1_LSW_DEFVAL 
#undef GPIO_MASK_DATA_1_LSW_MASK_1_LSW_SHIFT 
#undef GPIO_MASK_DATA_1_LSW_MASK_1_LSW_MASK 
#define GPIO_MASK_DATA_1_LSW_MASK_1_LSW_DEFVAL                 0x00000000
#define GPIO_MASK_DATA_1_LSW_MASK_1_LSW_SHIFT                  16
#define GPIO_MASK_DATA_1_LSW_MASK_1_LSW_MASK                   0xFFFF0000U

/*
* Operation is the same as MASK_DATA_0_LSW[DATA_0_LSW]
*/
#undef GPIO_MASK_DATA_1_LSW_DATA_1_LSW_DEFVAL 
#undef GPIO_MASK_DATA_1_LSW_DATA_1_LSW_SHIFT 
#undef GPIO_MASK_DATA_1_LSW_DATA_1_LSW_MASK 
#define GPIO_MASK_DATA_1_LSW_DATA_1_LSW_DEFVAL                 0x00000000
#define GPIO_MASK_DATA_1_LSW_DATA_1_LSW_SHIFT                  0
#define GPIO_MASK_DATA_1_LSW_DATA_1_LSW_MASK                   0x0000FFFFU

/*
* Status Read value of PLL Lock
*/
#undef SERDES_L0_PLL_STATUS_READ_1_PLL_LOCK_STATUS_READ_DEFVAL 
#undef SERDES_L0_PLL_STATUS_READ_1_PLL_LOCK_STATUS_READ_SHIFT 
#undef SERDES_L0_PLL_STATUS_READ_1_PLL_LOCK_STATUS_READ_MASK 
#define SERDES_L0_PLL_STATUS_READ_1_PLL_LOCK_STATUS_READ_DEFVAL  0x00000001
#define SERDES_L0_PLL_STATUS_READ_1_PLL_LOCK_STATUS_READ_SHIFT  4
#define SERDES_L0_PLL_STATUS_READ_1_PLL_LOCK_STATUS_READ_MASK  0x00000010U
#define SERDES_L0_PLL_STATUS_READ_1_OFFSET                                         0XFD4023E4

/*
* Status Read value of PLL Lock
*/
#undef SERDES_L1_PLL_STATUS_READ_1_PLL_LOCK_STATUS_READ_DEFVAL 
#undef SERDES_L1_PLL_STATUS_READ_1_PLL_LOCK_STATUS_READ_SHIFT 
#undef SERDES_L1_PLL_STATUS_READ_1_PLL_LOCK_STATUS_READ_MASK 
#define SERDES_L1_PLL_STATUS_READ_1_PLL_LOCK_STATUS_READ_DEFVAL  0x00000001
#define SERDES_L1_PLL_STATUS_READ_1_PLL_LOCK_STATUS_READ_SHIFT  4
#define SERDES_L1_PLL_STATUS_READ_1_PLL_LOCK_STATUS_READ_MASK  0x00000010U
#define SERDES_L1_PLL_STATUS_READ_1_OFFSET                                         0XFD4063E4

/*
* Status Read value of PLL Lock
*/
#undef SERDES_L2_PLL_STATUS_READ_1_PLL_LOCK_STATUS_READ_DEFVAL 
#undef SERDES_L2_PLL_STATUS_READ_1_PLL_LOCK_STATUS_READ_SHIFT 
#undef SERDES_L2_PLL_STATUS_READ_1_PLL_LOCK_STATUS_READ_MASK 
#define SERDES_L2_PLL_STATUS_READ_1_PLL_LOCK_STATUS_READ_DEFVAL  0x00000001
#define SERDES_L2_PLL_STATUS_READ_1_PLL_LOCK_STATUS_READ_SHIFT  4
#define SERDES_L2_PLL_STATUS_READ_1_PLL_LOCK_STATUS_READ_MASK  0x00000010U
#define SERDES_L2_PLL_STATUS_READ_1_OFFSET                                         0XFD40A3E4

/*
* Status Read value of PLL Lock
*/
#undef SERDES_L3_PLL_STATUS_READ_1_PLL_LOCK_STATUS_READ_DEFVAL 
#undef SERDES_L3_PLL_STATUS_READ_1_PLL_LOCK_STATUS_READ_SHIFT 
#undef SERDES_L3_PLL_STATUS_READ_1_PLL_LOCK_STATUS_READ_MASK 
#define SERDES_L3_PLL_STATUS_READ_1_PLL_LOCK_STATUS_READ_DEFVAL  0x00000001
#define SERDES_L3_PLL_STATUS_READ_1_PLL_LOCK_STATUS_READ_SHIFT  4
#define SERDES_L3_PLL_STATUS_READ_1_PLL_LOCK_STATUS_READ_MASK  0x00000010U
#define SERDES_L3_PLL_STATUS_READ_1_OFFSET                                         0XFD40E3E4

/*
* CIBGMN: COMINIT Burst Gap Minimum.
*/
#undef SATA_AHCI_VENDOR_PP2C_CIBGMN_DEFVAL 
#undef SATA_AHCI_VENDOR_PP2C_CIBGMN_SHIFT 
#undef SATA_AHCI_VENDOR_PP2C_CIBGMN_MASK 
#define SATA_AHCI_VENDOR_PP2C_CIBGMN_DEFVAL                    0x28184D1B
#define SATA_AHCI_VENDOR_PP2C_CIBGMN_SHIFT                     0
#define SATA_AHCI_VENDOR_PP2C_CIBGMN_MASK                      0x000000FFU

/*
* CIBGMX: COMINIT Burst Gap Maximum.
*/
#undef SATA_AHCI_VENDOR_PP2C_CIBGMX_DEFVAL 
#undef SATA_AHCI_VENDOR_PP2C_CIBGMX_SHIFT 
#undef SATA_AHCI_VENDOR_PP2C_CIBGMX_MASK 
#define SATA_AHCI_VENDOR_PP2C_CIBGMX_DEFVAL                    0x28184D1B
#define SATA_AHCI_VENDOR_PP2C_CIBGMX_SHIFT                     8
#define SATA_AHCI_VENDOR_PP2C_CIBGMX_MASK                      0x0000FF00U

/*
* CIBGN: COMINIT Burst Gap Nominal.
*/
#undef SATA_AHCI_VENDOR_PP2C_CIBGN_DEFVAL 
#undef SATA_AHCI_VENDOR_PP2C_CIBGN_SHIFT 
#undef SATA_AHCI_VENDOR_PP2C_CIBGN_MASK 
#define SATA_AHCI_VENDOR_PP2C_CIBGN_DEFVAL                     0x28184D1B
#define SATA_AHCI_VENDOR_PP2C_CIBGN_SHIFT                      16
#define SATA_AHCI_VENDOR_PP2C_CIBGN_MASK                       0x00FF0000U

/*
* CINMP: COMINIT Negate Minimum Period.
*/
#undef SATA_AHCI_VENDOR_PP2C_CINMP_DEFVAL 
#undef SATA_AHCI_VENDOR_PP2C_CINMP_SHIFT 
#undef SATA_AHCI_VENDOR_PP2C_CINMP_MASK 
#define SATA_AHCI_VENDOR_PP2C_CINMP_DEFVAL                     0x28184D1B
#define SATA_AHCI_VENDOR_PP2C_CINMP_SHIFT                      24
#define SATA_AHCI_VENDOR_PP2C_CINMP_MASK                       0xFF000000U

/*
* CWBGMN: COMWAKE Burst Gap Minimum.
*/
#undef SATA_AHCI_VENDOR_PP3C_CWBGMN_DEFVAL 
#undef SATA_AHCI_VENDOR_PP3C_CWBGMN_SHIFT 
#undef SATA_AHCI_VENDOR_PP3C_CWBGMN_MASK 
#define SATA_AHCI_VENDOR_PP3C_CWBGMN_DEFVAL                    0x0E081906
#define SATA_AHCI_VENDOR_PP3C_CWBGMN_SHIFT                     0
#define SATA_AHCI_VENDOR_PP3C_CWBGMN_MASK                      0x000000FFU

/*
* CWBGMX: COMWAKE Burst Gap Maximum.
*/
#undef SATA_AHCI_VENDOR_PP3C_CWBGMX_DEFVAL 
#undef SATA_AHCI_VENDOR_PP3C_CWBGMX_SHIFT 
#undef SATA_AHCI_VENDOR_PP3C_CWBGMX_MASK 
#define SATA_AHCI_VENDOR_PP3C_CWBGMX_DEFVAL                    0x0E081906
#define SATA_AHCI_VENDOR_PP3C_CWBGMX_SHIFT                     8
#define SATA_AHCI_VENDOR_PP3C_CWBGMX_MASK                      0x0000FF00U

/*
* CWBGN: COMWAKE Burst Gap Nominal.
*/
#undef SATA_AHCI_VENDOR_PP3C_CWBGN_DEFVAL 
#undef SATA_AHCI_VENDOR_PP3C_CWBGN_SHIFT 
#undef SATA_AHCI_VENDOR_PP3C_CWBGN_MASK 
#define SATA_AHCI_VENDOR_PP3C_CWBGN_DEFVAL                     0x0E081906
#define SATA_AHCI_VENDOR_PP3C_CWBGN_SHIFT                      16
#define SATA_AHCI_VENDOR_PP3C_CWBGN_MASK                       0x00FF0000U

/*
* CWNMP: COMWAKE Negate Minimum Period.
*/
#undef SATA_AHCI_VENDOR_PP3C_CWNMP_DEFVAL 
#undef SATA_AHCI_VENDOR_PP3C_CWNMP_SHIFT 
#undef SATA_AHCI_VENDOR_PP3C_CWNMP_MASK 
#define SATA_AHCI_VENDOR_PP3C_CWNMP_DEFVAL                     0x0E081906
#define SATA_AHCI_VENDOR_PP3C_CWNMP_SHIFT                      24
#define SATA_AHCI_VENDOR_PP3C_CWNMP_MASK                       0xFF000000U

/*
* BMX: COM Burst Maximum.
*/
#undef SATA_AHCI_VENDOR_PP4C_BMX_DEFVAL 
#undef SATA_AHCI_VENDOR_PP4C_BMX_SHIFT 
#undef SATA_AHCI_VENDOR_PP4C_BMX_MASK 
#define SATA_AHCI_VENDOR_PP4C_BMX_DEFVAL                       0x064A0813
#define SATA_AHCI_VENDOR_PP4C_BMX_SHIFT                        0
#define SATA_AHCI_VENDOR_PP4C_BMX_MASK                         0x000000FFU

/*
* BNM: COM Burst Nominal.
*/
#undef SATA_AHCI_VENDOR_PP4C_BNM_DEFVAL 
#undef SATA_AHCI_VENDOR_PP4C_BNM_SHIFT 
#undef SATA_AHCI_VENDOR_PP4C_BNM_MASK 
#define SATA_AHCI_VENDOR_PP4C_BNM_DEFVAL                       0x064A0813
#define SATA_AHCI_VENDOR_PP4C_BNM_SHIFT                        8
#define SATA_AHCI_VENDOR_PP4C_BNM_MASK                         0x0000FF00U

/*
* SFD: Signal Failure Detection, if the signal detection de-asserts for a
    * time greater than this then the OOB detector will determine this is a li
    * ne idle and cause the PhyInit state machine to exit the Phy Ready State.
    *  A value of zero disables the Signal Failure Detector. The value is base
    * d on the OOB Detector Clock typically (PMCLK Clock Period) * SFD giving
    * a nominal time of 500ns based on a 150MHz PMCLK.
*/
#undef SATA_AHCI_VENDOR_PP4C_SFD_DEFVAL 
#undef SATA_AHCI_VENDOR_PP4C_SFD_SHIFT 
#undef SATA_AHCI_VENDOR_PP4C_SFD_MASK 
#define SATA_AHCI_VENDOR_PP4C_SFD_DEFVAL                       0x064A0813
#define SATA_AHCI_VENDOR_PP4C_SFD_SHIFT                        16
#define SATA_AHCI_VENDOR_PP4C_SFD_MASK                         0x00FF0000U

/*
* PTST: Partial to Slumber timer value, specific delay the controller shou
    * ld apply while in partial before entering slumber. The value is bases on
    *  the system clock divided by 128, total delay = (Sys Clock Period) * PTS
    * T * 128
*/
#undef SATA_AHCI_VENDOR_PP4C_PTST_DEFVAL 
#undef SATA_AHCI_VENDOR_PP4C_PTST_SHIFT 
#undef SATA_AHCI_VENDOR_PP4C_PTST_MASK 
#define SATA_AHCI_VENDOR_PP4C_PTST_DEFVAL                      0x064A0813
#define SATA_AHCI_VENDOR_PP4C_PTST_SHIFT                       24
#define SATA_AHCI_VENDOR_PP4C_PTST_MASK                        0xFF000000U

/*
* RIT: Retry Interval Timer. The calculated value divided by two, the lowe
    * r digit of precision is not needed.
*/
#undef SATA_AHCI_VENDOR_PP5C_RIT_DEFVAL 
#undef SATA_AHCI_VENDOR_PP5C_RIT_SHIFT 
#undef SATA_AHCI_VENDOR_PP5C_RIT_MASK 
#define SATA_AHCI_VENDOR_PP5C_RIT_DEFVAL                       0x3FFC96A4
#define SATA_AHCI_VENDOR_PP5C_RIT_SHIFT                        0
#define SATA_AHCI_VENDOR_PP5C_RIT_MASK                         0x000FFFFFU

/*
* RCT: Rate Change Timer, a value based on the 54.2us for which a SATA dev
    * ice will transmit at a fixed rate ALIGNp after OOB has completed, for a
    * fast SERDES it is suggested that this value be 54.2us / 4
*/
#undef SATA_AHCI_VENDOR_PP5C_RCT_DEFVAL 
#undef SATA_AHCI_VENDOR_PP5C_RCT_SHIFT 
#undef SATA_AHCI_VENDOR_PP5C_RCT_MASK 
#define SATA_AHCI_VENDOR_PP5C_RCT_DEFVAL                       0x3FFC96A4
#define SATA_AHCI_VENDOR_PP5C_RCT_SHIFT                        20
#define SATA_AHCI_VENDOR_PP5C_RCT_MASK                         0xFFF00000U
#undef CRL_APB_RST_LPD_TOP_OFFSET 
#define CRL_APB_RST_LPD_TOP_OFFSET                                                 0XFF5E023C
#undef CRL_APB_RST_LPD_IOU0_OFFSET 
#define CRL_APB_RST_LPD_IOU0_OFFSET                                                0XFF5E0230
#undef CRF_APB_RST_FPD_TOP_OFFSET 
#define CRF_APB_RST_FPD_TOP_OFFSET                                                 0XFD1A0100
#undef CRF_APB_RST_FPD_TOP_OFFSET 
#define CRF_APB_RST_FPD_TOP_OFFSET                                                 0XFD1A0100
#undef DP_DP_TX_PHY_POWER_DOWN_OFFSET 
#define DP_DP_TX_PHY_POWER_DOWN_OFFSET                                             0XFD4A0238
#undef DP_DP_PHY_RESET_OFFSET 
#define DP_DP_PHY_RESET_OFFSET                                                     0XFD4A0200
#undef CRF_APB_RST_FPD_TOP_OFFSET 
#define CRF_APB_RST_FPD_TOP_OFFSET                                                 0XFD1A0100

/*
* USB 0 reset for control registers
*/
#undef CRL_APB_RST_LPD_TOP_USB0_APB_RESET_DEFVAL 
#undef CRL_APB_RST_LPD_TOP_USB0_APB_RESET_SHIFT 
#undef CRL_APB_RST_LPD_TOP_USB0_APB_RESET_MASK 
#define CRL_APB_RST_LPD_TOP_USB0_APB_RESET_DEFVAL              0x00188FDF
#define CRL_APB_RST_LPD_TOP_USB0_APB_RESET_SHIFT               10
#define CRL_APB_RST_LPD_TOP_USB0_APB_RESET_MASK                0x00000400U

/*
* USB 0 sleep circuit reset
*/
#undef CRL_APB_RST_LPD_TOP_USB0_HIBERRESET_DEFVAL 
#undef CRL_APB_RST_LPD_TOP_USB0_HIBERRESET_SHIFT 
#undef CRL_APB_RST_LPD_TOP_USB0_HIBERRESET_MASK 
#define CRL_APB_RST_LPD_TOP_USB0_HIBERRESET_DEFVAL             0x00188FDF
#define CRL_APB_RST_LPD_TOP_USB0_HIBERRESET_SHIFT              8
#define CRL_APB_RST_LPD_TOP_USB0_HIBERRESET_MASK               0x00000100U

/*
* USB 0 reset
*/
#undef CRL_APB_RST_LPD_TOP_USB0_CORERESET_DEFVAL 
#undef CRL_APB_RST_LPD_TOP_USB0_CORERESET_SHIFT 
#undef CRL_APB_RST_LPD_TOP_USB0_CORERESET_MASK 
#define CRL_APB_RST_LPD_TOP_USB0_CORERESET_DEFVAL              0x00188FDF
#define CRL_APB_RST_LPD_TOP_USB0_CORERESET_SHIFT               6
#define CRL_APB_RST_LPD_TOP_USB0_CORERESET_MASK                0x00000040U

/*
* GEM 3 reset
*/
#undef CRL_APB_RST_LPD_IOU0_GEM3_RESET_DEFVAL 
#undef CRL_APB_RST_LPD_IOU0_GEM3_RESET_SHIFT 
#undef CRL_APB_RST_LPD_IOU0_GEM3_RESET_MASK 
#define CRL_APB_RST_LPD_IOU0_GEM3_RESET_DEFVAL                 0x0000000F
#define CRL_APB_RST_LPD_IOU0_GEM3_RESET_SHIFT                  3
#define CRL_APB_RST_LPD_IOU0_GEM3_RESET_MASK                   0x00000008U

/*
* Sata block level reset
*/
#undef CRF_APB_RST_FPD_TOP_SATA_RESET_DEFVAL 
#undef CRF_APB_RST_FPD_TOP_SATA_RESET_SHIFT 
#undef CRF_APB_RST_FPD_TOP_SATA_RESET_MASK 
#define CRF_APB_RST_FPD_TOP_SATA_RESET_DEFVAL                  0x000F9FFE
#define CRF_APB_RST_FPD_TOP_SATA_RESET_SHIFT                   1
#define CRF_APB_RST_FPD_TOP_SATA_RESET_MASK                    0x00000002U

/*
* PCIE config reset
*/
#undef CRF_APB_RST_FPD_TOP_PCIE_CFG_RESET_DEFVAL 
#undef CRF_APB_RST_FPD_TOP_PCIE_CFG_RESET_SHIFT 
#undef CRF_APB_RST_FPD_TOP_PCIE_CFG_RESET_MASK 
#define CRF_APB_RST_FPD_TOP_PCIE_CFG_RESET_DEFVAL              0x000F9FFE
#define CRF_APB_RST_FPD_TOP_PCIE_CFG_RESET_SHIFT               19
#define CRF_APB_RST_FPD_TOP_PCIE_CFG_RESET_MASK                0x00080000U

/*
* PCIE control block level reset
*/
#undef CRF_APB_RST_FPD_TOP_PCIE_CTRL_RESET_DEFVAL 
#undef CRF_APB_RST_FPD_TOP_PCIE_CTRL_RESET_SHIFT 
#undef CRF_APB_RST_FPD_TOP_PCIE_CTRL_RESET_MASK 
#define CRF_APB_RST_FPD_TOP_PCIE_CTRL_RESET_DEFVAL             0x000F9FFE
#define CRF_APB_RST_FPD_TOP_PCIE_CTRL_RESET_SHIFT              17
#define CRF_APB_RST_FPD_TOP_PCIE_CTRL_RESET_MASK               0x00020000U

/*
* PCIE bridge block level reset (AXI interface)
*/
#undef CRF_APB_RST_FPD_TOP_PCIE_BRIDGE_RESET_DEFVAL 
#undef CRF_APB_RST_FPD_TOP_PCIE_BRIDGE_RESET_SHIFT 
#undef CRF_APB_RST_FPD_TOP_PCIE_BRIDGE_RESET_MASK 
#define CRF_APB_RST_FPD_TOP_PCIE_BRIDGE_RESET_DEFVAL           0x000F9FFE
#define CRF_APB_RST_FPD_TOP_PCIE_BRIDGE_RESET_SHIFT            18
#define CRF_APB_RST_FPD_TOP_PCIE_BRIDGE_RESET_MASK             0x00040000U

/*
* Two bits per lane. When set to 11, moves the GT to power down mode. When
    *  set to 00, GT will be in active state. bits [1:0] - lane0 Bits [3:2] -
    * lane 1
*/
#undef DP_DP_TX_PHY_POWER_DOWN_POWER_DWN_DEFVAL 
#undef DP_DP_TX_PHY_POWER_DOWN_POWER_DWN_SHIFT 
#undef DP_DP_TX_PHY_POWER_DOWN_POWER_DWN_MASK 
#define DP_DP_TX_PHY_POWER_DOWN_POWER_DWN_DEFVAL               0x00000000
#define DP_DP_TX_PHY_POWER_DOWN_POWER_DWN_SHIFT                0
#define DP_DP_TX_PHY_POWER_DOWN_POWER_DWN_MASK                 0x0000000FU

/*
* Set to '1' to hold the GT in reset. Clear to release.
*/
#undef DP_DP_PHY_RESET_GT_RESET_DEFVAL 
#undef DP_DP_PHY_RESET_GT_RESET_SHIFT 
#undef DP_DP_PHY_RESET_GT_RESET_MASK 
#define DP_DP_PHY_RESET_GT_RESET_DEFVAL                        0x00010003
#define DP_DP_PHY_RESET_GT_RESET_SHIFT                         1
#define DP_DP_PHY_RESET_GT_RESET_MASK                          0x00000002U

/*
* Display Port block level reset (includes DPDMA)
*/
#undef CRF_APB_RST_FPD_TOP_DP_RESET_DEFVAL 
#undef CRF_APB_RST_FPD_TOP_DP_RESET_SHIFT 
#undef CRF_APB_RST_FPD_TOP_DP_RESET_MASK 
#define CRF_APB_RST_FPD_TOP_DP_RESET_DEFVAL                    0x000F9FFE
#define CRF_APB_RST_FPD_TOP_DP_RESET_SHIFT                     16
#define CRF_APB_RST_FPD_TOP_DP_RESET_MASK                      0x00010000U
#undef PMU_GLOBAL_REQ_PWRUP_INT_EN_OFFSET 
#define PMU_GLOBAL_REQ_PWRUP_INT_EN_OFFSET                                         0XFFD80118
#undef PMU_GLOBAL_REQ_PWRUP_TRIG_OFFSET 
#define PMU_GLOBAL_REQ_PWRUP_TRIG_OFFSET                                           0XFFD80120

/*
* Power-up Request Interrupt Enable for PL
*/
#undef PMU_GLOBAL_REQ_PWRUP_INT_EN_PL_DEFVAL 
#undef PMU_GLOBAL_REQ_PWRUP_INT_EN_PL_SHIFT 
#undef PMU_GLOBAL_REQ_PWRUP_INT_EN_PL_MASK 
#define PMU_GLOBAL_REQ_PWRUP_INT_EN_PL_DEFVAL                  0x00000000
#define PMU_GLOBAL_REQ_PWRUP_INT_EN_PL_SHIFT                   23
#define PMU_GLOBAL_REQ_PWRUP_INT_EN_PL_MASK                    0x00800000U

/*
* Power-up Request Trigger for PL
*/
#undef PMU_GLOBAL_REQ_PWRUP_TRIG_PL_DEFVAL 
#undef PMU_GLOBAL_REQ_PWRUP_TRIG_PL_SHIFT 
#undef PMU_GLOBAL_REQ_PWRUP_TRIG_PL_MASK 
#define PMU_GLOBAL_REQ_PWRUP_TRIG_PL_DEFVAL                    0x00000000
#define PMU_GLOBAL_REQ_PWRUP_TRIG_PL_SHIFT                     23
#define PMU_GLOBAL_REQ_PWRUP_TRIG_PL_MASK                      0x00800000U

/*
* Power-up Request Status for PL
*/
#undef PMU_GLOBAL_REQ_PWRUP_STATUS_PL_DEFVAL 
#undef PMU_GLOBAL_REQ_PWRUP_STATUS_PL_SHIFT 
#undef PMU_GLOBAL_REQ_PWRUP_STATUS_PL_MASK 
#define PMU_GLOBAL_REQ_PWRUP_STATUS_PL_DEFVAL                  0x00000000
#define PMU_GLOBAL_REQ_PWRUP_STATUS_PL_SHIFT                   23
#define PMU_GLOBAL_REQ_PWRUP_STATUS_PL_MASK                    0x00800000U
#define PMU_GLOBAL_REQ_PWRUP_STATUS_OFFSET                                         0XFFD80110
#undef CRF_APB_RST_FPD_TOP_OFFSET 
#define CRF_APB_RST_FPD_TOP_OFFSET                                                 0XFD1A0100
#undef CRL_APB_RST_LPD_TOP_OFFSET 
#define CRL_APB_RST_LPD_TOP_OFFSET                                                 0XFF5E023C
#undef FPD_SLCR_AFI_FS_OFFSET 
#define FPD_SLCR_AFI_FS_OFFSET                                                     0XFD615000

/*
* AF_FM0 block level reset
*/
#undef CRF_APB_RST_FPD_TOP_AFI_FM0_RESET_DEFVAL 
#undef CRF_APB_RST_FPD_TOP_AFI_FM0_RESET_SHIFT 
#undef CRF_APB_RST_FPD_TOP_AFI_FM0_RESET_MASK 
#define CRF_APB_RST_FPD_TOP_AFI_FM0_RESET_DEFVAL               0x000F9FFE
#define CRF_APB_RST_FPD_TOP_AFI_FM0_RESET_SHIFT                7
#define CRF_APB_RST_FPD_TOP_AFI_FM0_RESET_MASK                 0x00000080U

/*
* AF_FM1 block level reset
*/
#undef CRF_APB_RST_FPD_TOP_AFI_FM1_RESET_DEFVAL 
#undef CRF_APB_RST_FPD_TOP_AFI_FM1_RESET_SHIFT 
#undef CRF_APB_RST_FPD_TOP_AFI_FM1_RESET_MASK 
#define CRF_APB_RST_FPD_TOP_AFI_FM1_RESET_DEFVAL               0x000F9FFE
#define CRF_APB_RST_FPD_TOP_AFI_FM1_RESET_SHIFT                8
#define CRF_APB_RST_FPD_TOP_AFI_FM1_RESET_MASK                 0x00000100U

/*
* AF_FM2 block level reset
*/
#undef CRF_APB_RST_FPD_TOP_AFI_FM2_RESET_DEFVAL 
#undef CRF_APB_RST_FPD_TOP_AFI_FM2_RESET_SHIFT 
#undef CRF_APB_RST_FPD_TOP_AFI_FM2_RESET_MASK 
#define CRF_APB_RST_FPD_TOP_AFI_FM2_RESET_DEFVAL               0x000F9FFE
#define CRF_APB_RST_FPD_TOP_AFI_FM2_RESET_SHIFT                9
#define CRF_APB_RST_FPD_TOP_AFI_FM2_RESET_MASK                 0x00000200U

/*
* AF_FM3 block level reset
*/
#undef CRF_APB_RST_FPD_TOP_AFI_FM3_RESET_DEFVAL 
#undef CRF_APB_RST_FPD_TOP_AFI_FM3_RESET_SHIFT 
#undef CRF_APB_RST_FPD_TOP_AFI_FM3_RESET_MASK 
#define CRF_APB_RST_FPD_TOP_AFI_FM3_RESET_DEFVAL               0x000F9FFE
#define CRF_APB_RST_FPD_TOP_AFI_FM3_RESET_SHIFT                10
#define CRF_APB_RST_FPD_TOP_AFI_FM3_RESET_MASK                 0x00000400U

/*
* AF_FM4 block level reset
*/
#undef CRF_APB_RST_FPD_TOP_AFI_FM4_RESET_DEFVAL 
#undef CRF_APB_RST_FPD_TOP_AFI_FM4_RESET_SHIFT 
#undef CRF_APB_RST_FPD_TOP_AFI_FM4_RESET_MASK 
#define CRF_APB_RST_FPD_TOP_AFI_FM4_RESET_DEFVAL               0x000F9FFE
#define CRF_APB_RST_FPD_TOP_AFI_FM4_RESET_SHIFT                11
#define CRF_APB_RST_FPD_TOP_AFI_FM4_RESET_MASK                 0x00000800U

/*
* AF_FM5 block level reset
*/
#undef CRF_APB_RST_FPD_TOP_AFI_FM5_RESET_DEFVAL 
#undef CRF_APB_RST_FPD_TOP_AFI_FM5_RESET_SHIFT 
#undef CRF_APB_RST_FPD_TOP_AFI_FM5_RESET_MASK 
#define CRF_APB_RST_FPD_TOP_AFI_FM5_RESET_DEFVAL               0x000F9FFE
#define CRF_APB_RST_FPD_TOP_AFI_FM5_RESET_SHIFT                12
#define CRF_APB_RST_FPD_TOP_AFI_FM5_RESET_MASK                 0x00001000U

/*
* AFI FM 6
*/
#undef CRL_APB_RST_LPD_TOP_AFI_FM6_RESET_DEFVAL 
#undef CRL_APB_RST_LPD_TOP_AFI_FM6_RESET_SHIFT 
#undef CRL_APB_RST_LPD_TOP_AFI_FM6_RESET_MASK 
#define CRL_APB_RST_LPD_TOP_AFI_FM6_RESET_DEFVAL               0x00188FDF
#define CRL_APB_RST_LPD_TOP_AFI_FM6_RESET_SHIFT                19
#define CRL_APB_RST_LPD_TOP_AFI_FM6_RESET_MASK                 0x00080000U

/*
* Select the 32/64/128-bit data width selection for the Slave 0 00: 32-bit
    *  AXI data width (default) 01: 64-bit AXI data width 10: 128-bit AXI data
    *  width 11: reserved
*/
#undef FPD_SLCR_AFI_FS_DW_SS0_SEL_DEFVAL 
#undef FPD_SLCR_AFI_FS_DW_SS0_SEL_SHIFT 
#undef FPD_SLCR_AFI_FS_DW_SS0_SEL_MASK 
#define FPD_SLCR_AFI_FS_DW_SS0_SEL_DEFVAL                      0x00000A00
#define FPD_SLCR_AFI_FS_DW_SS0_SEL_SHIFT                       8
#define FPD_SLCR_AFI_FS_DW_SS0_SEL_MASK                        0x00000300U

/*
* Select the 32/64/128-bit data width selection for the Slave 1 00: 32-bit
    *  AXI data width (default) 01: 64-bit AXI data width 10: 128-bit AXI data
    *  width 11: reserved
*/
#undef FPD_SLCR_AFI_FS_DW_SS1_SEL_DEFVAL 
#undef FPD_SLCR_AFI_FS_DW_SS1_SEL_SHIFT 
#undef FPD_SLCR_AFI_FS_DW_SS1_SEL_MASK 
#define FPD_SLCR_AFI_FS_DW_SS1_SEL_DEFVAL                      0x00000A00
#define FPD_SLCR_AFI_FS_DW_SS1_SEL_SHIFT                       10
#define FPD_SLCR_AFI_FS_DW_SS1_SEL_MASK                        0x00000C00U
#undef GPIO_MASK_DATA_5_MSW_OFFSET 
#define GPIO_MASK_DATA_5_MSW_OFFSET                                                0XFF0A002C
#undef GPIO_DIRM_5_OFFSET 
#define GPIO_DIRM_5_OFFSET                                                         0XFF0A0344
#undef GPIO_OEN_5_OFFSET 
#define GPIO_OEN_5_OFFSET                                                          0XFF0A0348
#undef GPIO_DATA_5_OFFSET 
#define GPIO_DATA_5_OFFSET                                                         0XFF0A0054
#undef GPIO_DATA_5_OFFSET 
#define GPIO_DATA_5_OFFSET                                                         0XFF0A0054
#undef GPIO_DATA_5_OFFSET 
#define GPIO_DATA_5_OFFSET                                                         0XFF0A0054

/*
* Operation is the same as MASK_DATA_0_LSW[MASK_0_LSW]
*/
#undef GPIO_MASK_DATA_5_MSW_MASK_5_MSW_DEFVAL 
#undef GPIO_MASK_DATA_5_MSW_MASK_5_MSW_SHIFT 
#undef GPIO_MASK_DATA_5_MSW_MASK_5_MSW_MASK 
#define GPIO_MASK_DATA_5_MSW_MASK_5_MSW_DEFVAL                 0x00000000
#define GPIO_MASK_DATA_5_MSW_MASK_5_MSW_SHIFT                  16
#define GPIO_MASK_DATA_5_MSW_MASK_5_MSW_MASK                   0xFFFF0000U

/*
* Operation is the same as DIRM_0[DIRECTION_0]
*/
#undef GPIO_DIRM_5_DIRECTION_5_DEFVAL 
#undef GPIO_DIRM_5_DIRECTION_5_SHIFT 
#undef GPIO_DIRM_5_DIRECTION_5_MASK 
#define GPIO_DIRM_5_DIRECTION_5_DEFVAL                         
#define GPIO_DIRM_5_DIRECTION_5_SHIFT                          0
#define GPIO_DIRM_5_DIRECTION_5_MASK                           0xFFFFFFFFU

/*
* Operation is the same as OEN_0[OP_ENABLE_0]
*/
#undef GPIO_OEN_5_OP_ENABLE_5_DEFVAL 
#undef GPIO_OEN_5_OP_ENABLE_5_SHIFT 
#undef GPIO_OEN_5_OP_ENABLE_5_MASK 
#define GPIO_OEN_5_OP_ENABLE_5_DEFVAL                          
#define GPIO_OEN_5_OP_ENABLE_5_SHIFT                           0
#define GPIO_OEN_5_OP_ENABLE_5_MASK                            0xFFFFFFFFU

/*
* Output Data
*/
#undef GPIO_DATA_5_DATA_5_DEFVAL 
#undef GPIO_DATA_5_DATA_5_SHIFT 
#undef GPIO_DATA_5_DATA_5_MASK 
#define GPIO_DATA_5_DATA_5_DEFVAL                              
#define GPIO_DATA_5_DATA_5_SHIFT                               0
#define GPIO_DATA_5_DATA_5_MASK                                0xFFFFFFFFU

/*
* Output Data
*/
#undef GPIO_DATA_5_DATA_5_DEFVAL 
#undef GPIO_DATA_5_DATA_5_SHIFT 
#undef GPIO_DATA_5_DATA_5_MASK 
#define GPIO_DATA_5_DATA_5_DEFVAL                              
#define GPIO_DATA_5_DATA_5_SHIFT                               0
#define GPIO_DATA_5_DATA_5_MASK                                0xFFFFFFFFU

/*
* Output Data
*/
#undef GPIO_DATA_5_DATA_5_DEFVAL 
#undef GPIO_DATA_5_DATA_5_SHIFT 
#undef GPIO_DATA_5_DATA_5_MASK 
#define GPIO_DATA_5_DATA_5_DEFVAL                              
#define GPIO_DATA_5_DATA_5_SHIFT                               0
#define GPIO_DATA_5_DATA_5_MASK                                0xFFFFFFFFU
#ifdef __cplusplus
extern "C" {
#endif
 int psu_init (); 
 unsigned long psu_ps_pl_isolation_removal_data(); 
 unsigned long psu_ps_pl_reset_config_data(); 
 int psu_protection(); 
 int psu_fpd_protection(); 
 int psu_ocm_protection(); 
 int psu_ddr_protection(); 
 int psu_lpd_protection(); 
 int psu_protection_lock(); 
 unsigned long psu_ddr_qos_init_data(void); 
 unsigned long psu_apply_master_tz(); 
#ifdef __cplusplus
}
#endif
