/******************************************************************************
*
* 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_RPLL_FRAC_CFG_OFFSET 
#define CRL_APB_RPLL_FRAC_CFG_OFFSET                                               0XFF5E0038
#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 CRL_APB_IOPLL_FRAC_CFG_OFFSET 
#define CRL_APB_IOPLL_FRAC_CFG_OFFSET                                              0XFF5E0028
#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_APLL_FRAC_CFG_OFFSET 
#define CRF_APB_APLL_FRAC_CFG_OFFSET                                               0XFD1A0028
#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_DPLL_FRAC_CFG_OFFSET 
#define CRF_APB_DPLL_FRAC_CFG_OFFSET                                               0XFD1A0034
#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
#undef CRF_APB_VPLL_FRAC_CFG_OFFSET 
#define CRF_APB_VPLL_FRAC_CFG_OFFSET                                               0XFD1A0040

/*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 is the source 100 video clk is the source 101 pss_alt_
		ef_clk is the source 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 change 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 POST_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 designers 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 POST_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 designers 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

/*Fractional SDM bypass control. When 0, PLL is in integer mode and it ignores all fractional data. When 1, PLL is in fractiona
		 mode and uses DATA of this register for the fractional portion of the feedback divider.*/
#undef CRL_APB_RPLL_FRAC_CFG_ENABLED_DEFVAL 
#undef CRL_APB_RPLL_FRAC_CFG_ENABLED_SHIFT 
#undef CRL_APB_RPLL_FRAC_CFG_ENABLED_MASK 
#define CRL_APB_RPLL_FRAC_CFG_ENABLED_DEFVAL                                       0x00000000
#define CRL_APB_RPLL_FRAC_CFG_ENABLED_SHIFT                                        31
#define CRL_APB_RPLL_FRAC_CFG_ENABLED_MASK                                         0x80000000U

/*Fractional value for the Feedback value.*/
#undef CRL_APB_RPLL_FRAC_CFG_DATA_DEFVAL 
#undef CRL_APB_RPLL_FRAC_CFG_DATA_SHIFT 
#undef CRL_APB_RPLL_FRAC_CFG_DATA_MASK 
#define CRL_APB_RPLL_FRAC_CFG_DATA_DEFVAL                                          0x00000000
#define CRL_APB_RPLL_FRAC_CFG_DATA_SHIFT                                           0
#define CRL_APB_RPLL_FRAC_CFG_DATA_MASK                                            0x0000FFFFU

/*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 is the source 100 video clk is the source 101 pss_alt_
		ef_clk is the source 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 change 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 POST_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 designers 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 POST_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 designers 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

/*Fractional SDM bypass control. When 0, PLL is in integer mode and it ignores all fractional data. When 1, PLL is in fractiona
		 mode and uses DATA of this register for the fractional portion of the feedback divider.*/
#undef CRL_APB_IOPLL_FRAC_CFG_ENABLED_DEFVAL 
#undef CRL_APB_IOPLL_FRAC_CFG_ENABLED_SHIFT 
#undef CRL_APB_IOPLL_FRAC_CFG_ENABLED_MASK 
#define CRL_APB_IOPLL_FRAC_CFG_ENABLED_DEFVAL                                      0x00000000
#define CRL_APB_IOPLL_FRAC_CFG_ENABLED_SHIFT                                       31
#define CRL_APB_IOPLL_FRAC_CFG_ENABLED_MASK                                        0x80000000U

/*Fractional value for the Feedback value.*/
#undef CRL_APB_IOPLL_FRAC_CFG_DATA_DEFVAL 
#undef CRL_APB_IOPLL_FRAC_CFG_DATA_SHIFT 
#undef CRL_APB_IOPLL_FRAC_CFG_DATA_MASK 
#define CRL_APB_IOPLL_FRAC_CFG_DATA_DEFVAL                                         0x00000000
#define CRL_APB_IOPLL_FRAC_CFG_DATA_SHIFT                                          0
#define CRL_APB_IOPLL_FRAC_CFG_DATA_MASK                                           0x0000FFFFU

/*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 is the source 100 video clk is the source 101 pss_alt_
		ef_clk is the source 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 change 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 POST_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 designers 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 POST_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 designers 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

/*Fractional SDM bypass control. When 0, PLL is in integer mode and it ignores all fractional data. When 1, PLL is in fractiona
		 mode and uses DATA of this register for the fractional portion of the feedback divider.*/
#undef CRF_APB_APLL_FRAC_CFG_ENABLED_DEFVAL 
#undef CRF_APB_APLL_FRAC_CFG_ENABLED_SHIFT 
#undef CRF_APB_APLL_FRAC_CFG_ENABLED_MASK 
#define CRF_APB_APLL_FRAC_CFG_ENABLED_DEFVAL                                       0x00000000
#define CRF_APB_APLL_FRAC_CFG_ENABLED_SHIFT                                        31
#define CRF_APB_APLL_FRAC_CFG_ENABLED_MASK                                         0x80000000U

/*Fractional value for the Feedback value.*/
#undef CRF_APB_APLL_FRAC_CFG_DATA_DEFVAL 
#undef CRF_APB_APLL_FRAC_CFG_DATA_SHIFT 
#undef CRF_APB_APLL_FRAC_CFG_DATA_MASK 
#define CRF_APB_APLL_FRAC_CFG_DATA_DEFVAL                                          0x00000000
#define CRF_APB_APLL_FRAC_CFG_DATA_SHIFT                                           0
#define CRF_APB_APLL_FRAC_CFG_DATA_MASK                                            0x0000FFFFU

/*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 is the source 100 video clk is the source 101 pss_alt_
		ef_clk is the source 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 change 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 POST_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 designers 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 POST_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 designers 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

/*Fractional SDM bypass control. When 0, PLL is in integer mode and it ignores all fractional data. When 1, PLL is in fractiona
		 mode and uses DATA of this register for the fractional portion of the feedback divider.*/
#undef CRF_APB_DPLL_FRAC_CFG_ENABLED_DEFVAL 
#undef CRF_APB_DPLL_FRAC_CFG_ENABLED_SHIFT 
#undef CRF_APB_DPLL_FRAC_CFG_ENABLED_MASK 
#define CRF_APB_DPLL_FRAC_CFG_ENABLED_DEFVAL                                       0x00000000
#define CRF_APB_DPLL_FRAC_CFG_ENABLED_SHIFT                                        31
#define CRF_APB_DPLL_FRAC_CFG_ENABLED_MASK                                         0x80000000U

/*Fractional value for the Feedback value.*/
#undef CRF_APB_DPLL_FRAC_CFG_DATA_DEFVAL 
#undef CRF_APB_DPLL_FRAC_CFG_DATA_SHIFT 
#undef CRF_APB_DPLL_FRAC_CFG_DATA_MASK 
#define CRF_APB_DPLL_FRAC_CFG_DATA_DEFVAL                                          0x00000000
#define CRF_APB_DPLL_FRAC_CFG_DATA_SHIFT                                           0
#define CRF_APB_DPLL_FRAC_CFG_DATA_MASK                                            0x0000FFFFU

/*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 is the source 100 video clk is the source 101 pss_alt_
		ef_clk is the source 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 change 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 POST_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 designers 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 POST_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 designers 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

/*Fractional SDM bypass control. When 0, PLL is in integer mode and it ignores all fractional data. When 1, PLL is in fractiona
		 mode and uses DATA of this register for the fractional portion of the feedback divider.*/
#undef CRF_APB_VPLL_FRAC_CFG_ENABLED_DEFVAL 
#undef CRF_APB_VPLL_FRAC_CFG_ENABLED_SHIFT 
#undef CRF_APB_VPLL_FRAC_CFG_ENABLED_MASK 
#define CRF_APB_VPLL_FRAC_CFG_ENABLED_DEFVAL                                       0x00000000
#define CRF_APB_VPLL_FRAC_CFG_ENABLED_SHIFT                                        31
#define CRF_APB_VPLL_FRAC_CFG_ENABLED_MASK                                         0x80000000U

/*Fractional value for the Feedback value.*/
#undef CRF_APB_VPLL_FRAC_CFG_DATA_DEFVAL 
#undef CRF_APB_VPLL_FRAC_CFG_DATA_SHIFT 
#undef CRF_APB_VPLL_FRAC_CFG_DATA_MASK 
#define CRF_APB_VPLL_FRAC_CFG_DATA_DEFVAL                                          0x00000000
#define CRF_APB_VPLL_FRAC_CFG_DATA_SHIFT                                           0
#define CRF_APB_VPLL_FRAC_CFG_DATA_MASK                                            0x0000FFFFU
#undef CRL_APB_GEM0_REF_CTRL_OFFSET 
#define CRL_APB_GEM0_REF_CTRL_OFFSET                                               0XFF5E0050
#undef CRL_APB_GEM1_REF_CTRL_OFFSET 
#define CRL_APB_GEM1_REF_CTRL_OFFSET                                               0XFF5E0054
#undef CRL_APB_GEM2_REF_CTRL_OFFSET 
#define CRL_APB_GEM2_REF_CTRL_OFFSET                                               0XFF5E0058
#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_USB1_BUS_REF_CTRL_OFFSET 
#define CRL_APB_USB1_BUS_REF_CTRL_OFFSET                                           0XFF5E0064
#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_SDIO0_REF_CTRL_OFFSET 
#define CRL_APB_SDIO0_REF_CTRL_OFFSET                                              0XFF5E006C
#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_SPI0_REF_CTRL_OFFSET 
#define CRL_APB_SPI0_REF_CTRL_OFFSET                                               0XFF5E007C
#undef CRL_APB_SPI1_REF_CTRL_OFFSET 
#define CRL_APB_SPI1_REF_CTRL_OFFSET                                               0XFF5E0080
#undef CRL_APB_CAN0_REF_CTRL_OFFSET 
#define CRL_APB_CAN0_REF_CTRL_OFFSET                                               0XFF5E0084
#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_CSU_PLL_CTRL_OFFSET 
#define CRL_APB_CSU_PLL_CTRL_OFFSET                                                0XFF5E00A0
#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_NAND_REF_CTRL_OFFSET 
#define CRL_APB_NAND_REF_CTRL_OFFSET                                               0XFF5E00B4
#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_PL1_REF_CTRL_OFFSET 
#define CRL_APB_PL1_REF_CTRL_OFFSET                                                0XFF5E00C4
#undef CRL_APB_PL2_REF_CTRL_OFFSET 
#define CRL_APB_PL2_REF_CTRL_OFFSET                                                0XFF5E00C8
#undef CRL_APB_PL3_REF_CTRL_OFFSET 
#define CRL_APB_PL3_REF_CTRL_OFFSET                                                0XFF5E00CC
#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_TRACE_CTRL_OFFSET 
#define CRF_APB_DBG_TRACE_CTRL_OFFSET                                              0XFD1A0064
#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_GTGREF0_REF_CTRL_OFFSET 
#define CRF_APB_GTGREF0_REF_CTRL_OFFSET                                            0XFD1A00C8
#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_GEM0_REF_CTRL_RX_CLKACT_DEFVAL 
#undef CRL_APB_GEM0_REF_CTRL_RX_CLKACT_SHIFT 
#undef CRL_APB_GEM0_REF_CTRL_RX_CLKACT_MASK 
#define CRL_APB_GEM0_REF_CTRL_RX_CLKACT_DEFVAL                                     0x00002500
#define CRL_APB_GEM0_REF_CTRL_RX_CLKACT_SHIFT                                      26
#define CRL_APB_GEM0_REF_CTRL_RX_CLKACT_MASK                                       0x04000000U

/*Clock active signal. Switch to 0 to disable the clock*/
#undef CRL_APB_GEM0_REF_CTRL_CLKACT_DEFVAL 
#undef CRL_APB_GEM0_REF_CTRL_CLKACT_SHIFT 
#undef CRL_APB_GEM0_REF_CTRL_CLKACT_MASK 
#define CRL_APB_GEM0_REF_CTRL_CLKACT_DEFVAL                                        0x00002500
#define CRL_APB_GEM0_REF_CTRL_CLKACT_SHIFT                                         25
#define CRL_APB_GEM0_REF_CTRL_CLKACT_MASK                                          0x02000000U

/*6 bit divider*/
#undef CRL_APB_GEM0_REF_CTRL_DIVISOR1_DEFVAL 
#undef CRL_APB_GEM0_REF_CTRL_DIVISOR1_SHIFT 
#undef CRL_APB_GEM0_REF_CTRL_DIVISOR1_MASK 
#define CRL_APB_GEM0_REF_CTRL_DIVISOR1_DEFVAL                                      0x00002500
#define CRL_APB_GEM0_REF_CTRL_DIVISOR1_SHIFT                                       16
#define CRL_APB_GEM0_REF_CTRL_DIVISOR1_MASK                                        0x003F0000U

/*6 bit divider*/
#undef CRL_APB_GEM0_REF_CTRL_DIVISOR0_DEFVAL 
#undef CRL_APB_GEM0_REF_CTRL_DIVISOR0_SHIFT 
#undef CRL_APB_GEM0_REF_CTRL_DIVISOR0_MASK 
#define CRL_APB_GEM0_REF_CTRL_DIVISOR0_DEFVAL                                      0x00002500
#define CRL_APB_GEM0_REF_CTRL_DIVISOR0_SHIFT                                       8
#define CRL_APB_GEM0_REF_CTRL_DIVISOR0_MASK                                        0x00003F00U

/*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_GEM0_REF_CTRL_SRCSEL_DEFVAL 
#undef CRL_APB_GEM0_REF_CTRL_SRCSEL_SHIFT 
#undef CRL_APB_GEM0_REF_CTRL_SRCSEL_MASK 
#define CRL_APB_GEM0_REF_CTRL_SRCSEL_DEFVAL                                        0x00002500
#define CRL_APB_GEM0_REF_CTRL_SRCSEL_SHIFT                                         0
#define CRL_APB_GEM0_REF_CTRL_SRCSEL_MASK                                          0x00000007U

/*Clock active for the RX channel*/
#undef CRL_APB_GEM1_REF_CTRL_RX_CLKACT_DEFVAL 
#undef CRL_APB_GEM1_REF_CTRL_RX_CLKACT_SHIFT 
#undef CRL_APB_GEM1_REF_CTRL_RX_CLKACT_MASK 
#define CRL_APB_GEM1_REF_CTRL_RX_CLKACT_DEFVAL                                     0x00002500
#define CRL_APB_GEM1_REF_CTRL_RX_CLKACT_SHIFT                                      26
#define CRL_APB_GEM1_REF_CTRL_RX_CLKACT_MASK                                       0x04000000U

/*Clock active signal. Switch to 0 to disable the clock*/
#undef CRL_APB_GEM1_REF_CTRL_CLKACT_DEFVAL 
#undef CRL_APB_GEM1_REF_CTRL_CLKACT_SHIFT 
#undef CRL_APB_GEM1_REF_CTRL_CLKACT_MASK 
#define CRL_APB_GEM1_REF_CTRL_CLKACT_DEFVAL                                        0x00002500
#define CRL_APB_GEM1_REF_CTRL_CLKACT_SHIFT                                         25
#define CRL_APB_GEM1_REF_CTRL_CLKACT_MASK                                          0x02000000U

/*6 bit divider*/
#undef CRL_APB_GEM1_REF_CTRL_DIVISOR1_DEFVAL 
#undef CRL_APB_GEM1_REF_CTRL_DIVISOR1_SHIFT 
#undef CRL_APB_GEM1_REF_CTRL_DIVISOR1_MASK 
#define CRL_APB_GEM1_REF_CTRL_DIVISOR1_DEFVAL                                      0x00002500
#define CRL_APB_GEM1_REF_CTRL_DIVISOR1_SHIFT                                       16
#define CRL_APB_GEM1_REF_CTRL_DIVISOR1_MASK                                        0x003F0000U

/*6 bit divider*/
#undef CRL_APB_GEM1_REF_CTRL_DIVISOR0_DEFVAL 
#undef CRL_APB_GEM1_REF_CTRL_DIVISOR0_SHIFT 
#undef CRL_APB_GEM1_REF_CTRL_DIVISOR0_MASK 
#define CRL_APB_GEM1_REF_CTRL_DIVISOR0_DEFVAL                                      0x00002500
#define CRL_APB_GEM1_REF_CTRL_DIVISOR0_SHIFT                                       8
#define CRL_APB_GEM1_REF_CTRL_DIVISOR0_MASK                                        0x00003F00U

/*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_GEM1_REF_CTRL_SRCSEL_DEFVAL 
#undef CRL_APB_GEM1_REF_CTRL_SRCSEL_SHIFT 
#undef CRL_APB_GEM1_REF_CTRL_SRCSEL_MASK 
#define CRL_APB_GEM1_REF_CTRL_SRCSEL_DEFVAL                                        0x00002500
#define CRL_APB_GEM1_REF_CTRL_SRCSEL_SHIFT                                         0
#define CRL_APB_GEM1_REF_CTRL_SRCSEL_MASK                                          0x00000007U

/*Clock active for the RX channel*/
#undef CRL_APB_GEM2_REF_CTRL_RX_CLKACT_DEFVAL 
#undef CRL_APB_GEM2_REF_CTRL_RX_CLKACT_SHIFT 
#undef CRL_APB_GEM2_REF_CTRL_RX_CLKACT_MASK 
#define CRL_APB_GEM2_REF_CTRL_RX_CLKACT_DEFVAL                                     0x00002500
#define CRL_APB_GEM2_REF_CTRL_RX_CLKACT_SHIFT                                      26
#define CRL_APB_GEM2_REF_CTRL_RX_CLKACT_MASK                                       0x04000000U

/*Clock active signal. Switch to 0 to disable the clock*/
#undef CRL_APB_GEM2_REF_CTRL_CLKACT_DEFVAL 
#undef CRL_APB_GEM2_REF_CTRL_CLKACT_SHIFT 
#undef CRL_APB_GEM2_REF_CTRL_CLKACT_MASK 
#define CRL_APB_GEM2_REF_CTRL_CLKACT_DEFVAL                                        0x00002500
#define CRL_APB_GEM2_REF_CTRL_CLKACT_SHIFT                                         25
#define CRL_APB_GEM2_REF_CTRL_CLKACT_MASK                                          0x02000000U

/*6 bit divider*/
#undef CRL_APB_GEM2_REF_CTRL_DIVISOR1_DEFVAL 
#undef CRL_APB_GEM2_REF_CTRL_DIVISOR1_SHIFT 
#undef CRL_APB_GEM2_REF_CTRL_DIVISOR1_MASK 
#define CRL_APB_GEM2_REF_CTRL_DIVISOR1_DEFVAL                                      0x00002500
#define CRL_APB_GEM2_REF_CTRL_DIVISOR1_SHIFT                                       16
#define CRL_APB_GEM2_REF_CTRL_DIVISOR1_MASK                                        0x003F0000U

/*6 bit divider*/
#undef CRL_APB_GEM2_REF_CTRL_DIVISOR0_DEFVAL 
#undef CRL_APB_GEM2_REF_CTRL_DIVISOR0_SHIFT 
#undef CRL_APB_GEM2_REF_CTRL_DIVISOR0_MASK 
#define CRL_APB_GEM2_REF_CTRL_DIVISOR0_DEFVAL                                      0x00002500
#define CRL_APB_GEM2_REF_CTRL_DIVISOR0_SHIFT                                       8
#define CRL_APB_GEM2_REF_CTRL_DIVISOR0_MASK                                        0x00003F00U

/*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_GEM2_REF_CTRL_SRCSEL_DEFVAL 
#undef CRL_APB_GEM2_REF_CTRL_SRCSEL_SHIFT 
#undef CRL_APB_GEM2_REF_CTRL_SRCSEL_MASK 
#define CRL_APB_GEM2_REF_CTRL_SRCSEL_DEFVAL                                        0x00002500
#define CRL_APB_GEM2_REF_CTRL_SRCSEL_SHIFT                                         0
#define CRL_APB_GEM2_REF_CTRL_SRCSEL_MASK                                          0x00000007U

/*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 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_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 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_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 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_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_USB1_BUS_REF_CTRL_CLKACT_DEFVAL 
#undef CRL_APB_USB1_BUS_REF_CTRL_CLKACT_SHIFT 
#undef CRL_APB_USB1_BUS_REF_CTRL_CLKACT_MASK 
#define CRL_APB_USB1_BUS_REF_CTRL_CLKACT_DEFVAL                                    0x00052000
#define CRL_APB_USB1_BUS_REF_CTRL_CLKACT_SHIFT                                     25
#define CRL_APB_USB1_BUS_REF_CTRL_CLKACT_MASK                                      0x02000000U

/*6 bit divider*/
#undef CRL_APB_USB1_BUS_REF_CTRL_DIVISOR1_DEFVAL 
#undef CRL_APB_USB1_BUS_REF_CTRL_DIVISOR1_SHIFT 
#undef CRL_APB_USB1_BUS_REF_CTRL_DIVISOR1_MASK 
#define CRL_APB_USB1_BUS_REF_CTRL_DIVISOR1_DEFVAL                                  0x00052000
#define CRL_APB_USB1_BUS_REF_CTRL_DIVISOR1_SHIFT                                   16
#define CRL_APB_USB1_BUS_REF_CTRL_DIVISOR1_MASK                                    0x003F0000U

/*6 bit divider*/
#undef CRL_APB_USB1_BUS_REF_CTRL_DIVISOR0_DEFVAL 
#undef CRL_APB_USB1_BUS_REF_CTRL_DIVISOR0_SHIFT 
#undef CRL_APB_USB1_BUS_REF_CTRL_DIVISOR0_MASK 
#define CRL_APB_USB1_BUS_REF_CTRL_DIVISOR0_DEFVAL                                  0x00052000
#define CRL_APB_USB1_BUS_REF_CTRL_DIVISOR0_SHIFT                                   8
#define CRL_APB_USB1_BUS_REF_CTRL_DIVISOR0_MASK                                    0x00003F00U

/*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_USB1_BUS_REF_CTRL_SRCSEL_DEFVAL 
#undef CRL_APB_USB1_BUS_REF_CTRL_SRCSEL_SHIFT 
#undef CRL_APB_USB1_BUS_REF_CTRL_SRCSEL_MASK 
#define CRL_APB_USB1_BUS_REF_CTRL_SRCSEL_DEFVAL                                    0x00052000
#define CRL_APB_USB1_BUS_REF_CTRL_SRCSEL_SHIFT                                     0
#define CRL_APB_USB1_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 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_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 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_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_SDIO0_REF_CTRL_CLKACT_DEFVAL 
#undef CRL_APB_SDIO0_REF_CTRL_CLKACT_SHIFT 
#undef CRL_APB_SDIO0_REF_CTRL_CLKACT_MASK 
#define CRL_APB_SDIO0_REF_CTRL_CLKACT_DEFVAL                                       0x01000F00
#define CRL_APB_SDIO0_REF_CTRL_CLKACT_SHIFT                                        24
#define CRL_APB_SDIO0_REF_CTRL_CLKACT_MASK                                         0x01000000U

/*6 bit divider*/
#undef CRL_APB_SDIO0_REF_CTRL_DIVISOR1_DEFVAL 
#undef CRL_APB_SDIO0_REF_CTRL_DIVISOR1_SHIFT 
#undef CRL_APB_SDIO0_REF_CTRL_DIVISOR1_MASK 
#define CRL_APB_SDIO0_REF_CTRL_DIVISOR1_DEFVAL                                     0x01000F00
#define CRL_APB_SDIO0_REF_CTRL_DIVISOR1_SHIFT                                      16
#define CRL_APB_SDIO0_REF_CTRL_DIVISOR1_MASK                                       0x003F0000U

/*6 bit divider*/
#undef CRL_APB_SDIO0_REF_CTRL_DIVISOR0_DEFVAL 
#undef CRL_APB_SDIO0_REF_CTRL_DIVISOR0_SHIFT 
#undef CRL_APB_SDIO0_REF_CTRL_DIVISOR0_MASK 
#define CRL_APB_SDIO0_REF_CTRL_DIVISOR0_DEFVAL                                     0x01000F00
#define CRL_APB_SDIO0_REF_CTRL_DIVISOR0_SHIFT                                      8
#define CRL_APB_SDIO0_REF_CTRL_DIVISOR0_MASK                                       0x00003F00U

/*000 = IOPLL; 010 = RPLL; 011 = 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 issue, but designers must be aware.)*/
#undef CRL_APB_SDIO0_REF_CTRL_SRCSEL_DEFVAL 
#undef CRL_APB_SDIO0_REF_CTRL_SRCSEL_SHIFT 
#undef CRL_APB_SDIO0_REF_CTRL_SRCSEL_MASK 
#define CRL_APB_SDIO0_REF_CTRL_SRCSEL_DEFVAL                                       0x01000F00
#define CRL_APB_SDIO0_REF_CTRL_SRCSEL_SHIFT                                        0
#define CRL_APB_SDIO0_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 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_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 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_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 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_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 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_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 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_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_SPI0_REF_CTRL_CLKACT_DEFVAL 
#undef CRL_APB_SPI0_REF_CTRL_CLKACT_SHIFT 
#undef CRL_APB_SPI0_REF_CTRL_CLKACT_MASK 
#define CRL_APB_SPI0_REF_CTRL_CLKACT_DEFVAL                                        0x01001800
#define CRL_APB_SPI0_REF_CTRL_CLKACT_SHIFT                                         24
#define CRL_APB_SPI0_REF_CTRL_CLKACT_MASK                                          0x01000000U

/*6 bit divider*/
#undef CRL_APB_SPI0_REF_CTRL_DIVISOR1_DEFVAL 
#undef CRL_APB_SPI0_REF_CTRL_DIVISOR1_SHIFT 
#undef CRL_APB_SPI0_REF_CTRL_DIVISOR1_MASK 
#define CRL_APB_SPI0_REF_CTRL_DIVISOR1_DEFVAL                                      0x01001800
#define CRL_APB_SPI0_REF_CTRL_DIVISOR1_SHIFT                                       16
#define CRL_APB_SPI0_REF_CTRL_DIVISOR1_MASK                                        0x003F0000U

/*6 bit divider*/
#undef CRL_APB_SPI0_REF_CTRL_DIVISOR0_DEFVAL 
#undef CRL_APB_SPI0_REF_CTRL_DIVISOR0_SHIFT 
#undef CRL_APB_SPI0_REF_CTRL_DIVISOR0_MASK 
#define CRL_APB_SPI0_REF_CTRL_DIVISOR0_DEFVAL                                      0x01001800
#define CRL_APB_SPI0_REF_CTRL_DIVISOR0_SHIFT                                       8
#define CRL_APB_SPI0_REF_CTRL_DIVISOR0_MASK                                        0x00003F00U

/*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_SPI0_REF_CTRL_SRCSEL_DEFVAL 
#undef CRL_APB_SPI0_REF_CTRL_SRCSEL_SHIFT 
#undef CRL_APB_SPI0_REF_CTRL_SRCSEL_MASK 
#define CRL_APB_SPI0_REF_CTRL_SRCSEL_DEFVAL                                        0x01001800
#define CRL_APB_SPI0_REF_CTRL_SRCSEL_SHIFT                                         0
#define CRL_APB_SPI0_REF_CTRL_SRCSEL_MASK                                          0x00000007U

/*Clock active signal. Switch to 0 to disable the clock*/
#undef CRL_APB_SPI1_REF_CTRL_CLKACT_DEFVAL 
#undef CRL_APB_SPI1_REF_CTRL_CLKACT_SHIFT 
#undef CRL_APB_SPI1_REF_CTRL_CLKACT_MASK 
#define CRL_APB_SPI1_REF_CTRL_CLKACT_DEFVAL                                        0x01001800
#define CRL_APB_SPI1_REF_CTRL_CLKACT_SHIFT                                         24
#define CRL_APB_SPI1_REF_CTRL_CLKACT_MASK                                          0x01000000U

/*6 bit divider*/
#undef CRL_APB_SPI1_REF_CTRL_DIVISOR1_DEFVAL 
#undef CRL_APB_SPI1_REF_CTRL_DIVISOR1_SHIFT 
#undef CRL_APB_SPI1_REF_CTRL_DIVISOR1_MASK 
#define CRL_APB_SPI1_REF_CTRL_DIVISOR1_DEFVAL                                      0x01001800
#define CRL_APB_SPI1_REF_CTRL_DIVISOR1_SHIFT                                       16
#define CRL_APB_SPI1_REF_CTRL_DIVISOR1_MASK                                        0x003F0000U

/*6 bit divider*/
#undef CRL_APB_SPI1_REF_CTRL_DIVISOR0_DEFVAL 
#undef CRL_APB_SPI1_REF_CTRL_DIVISOR0_SHIFT 
#undef CRL_APB_SPI1_REF_CTRL_DIVISOR0_MASK 
#define CRL_APB_SPI1_REF_CTRL_DIVISOR0_DEFVAL                                      0x01001800
#define CRL_APB_SPI1_REF_CTRL_DIVISOR0_SHIFT                                       8
#define CRL_APB_SPI1_REF_CTRL_DIVISOR0_MASK                                        0x00003F00U

/*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_SPI1_REF_CTRL_SRCSEL_DEFVAL 
#undef CRL_APB_SPI1_REF_CTRL_SRCSEL_SHIFT 
#undef CRL_APB_SPI1_REF_CTRL_SRCSEL_MASK 
#define CRL_APB_SPI1_REF_CTRL_SRCSEL_DEFVAL                                        0x01001800
#define CRL_APB_SPI1_REF_CTRL_SRCSEL_SHIFT                                         0
#define CRL_APB_SPI1_REF_CTRL_SRCSEL_MASK                                          0x00000007U

/*Clock active signal. Switch to 0 to disable the clock*/
#undef CRL_APB_CAN0_REF_CTRL_CLKACT_DEFVAL 
#undef CRL_APB_CAN0_REF_CTRL_CLKACT_SHIFT 
#undef CRL_APB_CAN0_REF_CTRL_CLKACT_MASK 
#define CRL_APB_CAN0_REF_CTRL_CLKACT_DEFVAL                                        0x01001800
#define CRL_APB_CAN0_REF_CTRL_CLKACT_SHIFT                                         24
#define CRL_APB_CAN0_REF_CTRL_CLKACT_MASK                                          0x01000000U

/*6 bit divider*/
#undef CRL_APB_CAN0_REF_CTRL_DIVISOR1_DEFVAL 
#undef CRL_APB_CAN0_REF_CTRL_DIVISOR1_SHIFT 
#undef CRL_APB_CAN0_REF_CTRL_DIVISOR1_MASK 
#define CRL_APB_CAN0_REF_CTRL_DIVISOR1_DEFVAL                                      0x01001800
#define CRL_APB_CAN0_REF_CTRL_DIVISOR1_SHIFT                                       16
#define CRL_APB_CAN0_REF_CTRL_DIVISOR1_MASK                                        0x003F0000U

/*6 bit divider*/
#undef CRL_APB_CAN0_REF_CTRL_DIVISOR0_DEFVAL 
#undef CRL_APB_CAN0_REF_CTRL_DIVISOR0_SHIFT 
#undef CRL_APB_CAN0_REF_CTRL_DIVISOR0_MASK 
#define CRL_APB_CAN0_REF_CTRL_DIVISOR0_DEFVAL                                      0x01001800
#define CRL_APB_CAN0_REF_CTRL_DIVISOR0_SHIFT                                       8
#define CRL_APB_CAN0_REF_CTRL_DIVISOR0_MASK                                        0x00003F00U

/*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_CAN0_REF_CTRL_SRCSEL_DEFVAL 
#undef CRL_APB_CAN0_REF_CTRL_SRCSEL_SHIFT 
#undef CRL_APB_CAN0_REF_CTRL_SRCSEL_MASK 
#define CRL_APB_CAN0_REF_CTRL_SRCSEL_DEFVAL                                        0x01001800
#define CRL_APB_CAN0_REF_CTRL_SRCSEL_SHIFT                                         0
#define CRL_APB_CAN0_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 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_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 prevent transactions going from the FPD to the LPD and cou
		d lead to system hang*/
#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 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_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 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_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_CSU_PLL_CTRL_CLKACT_DEFVAL 
#undef CRL_APB_CSU_PLL_CTRL_CLKACT_SHIFT 
#undef CRL_APB_CSU_PLL_CTRL_CLKACT_MASK 
#define CRL_APB_CSU_PLL_CTRL_CLKACT_DEFVAL                                         0x01001500
#define CRL_APB_CSU_PLL_CTRL_CLKACT_SHIFT                                          24
#define CRL_APB_CSU_PLL_CTRL_CLKACT_MASK                                           0x01000000U

/*6 bit divider*/
#undef CRL_APB_CSU_PLL_CTRL_DIVISOR0_DEFVAL 
#undef CRL_APB_CSU_PLL_CTRL_DIVISOR0_SHIFT 
#undef CRL_APB_CSU_PLL_CTRL_DIVISOR0_MASK 
#define CRL_APB_CSU_PLL_CTRL_DIVISOR0_DEFVAL                                       0x01001500
#define CRL_APB_CSU_PLL_CTRL_DIVISOR0_SHIFT                                        8
#define CRL_APB_CSU_PLL_CTRL_DIVISOR0_MASK                                         0x00003F00U

/*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_CSU_PLL_CTRL_SRCSEL_DEFVAL 
#undef CRL_APB_CSU_PLL_CTRL_SRCSEL_SHIFT 
#undef CRL_APB_CSU_PLL_CTRL_SRCSEL_MASK 
#define CRL_APB_CSU_PLL_CTRL_SRCSEL_DEFVAL                                         0x01001500
#define CRL_APB_CSU_PLL_CTRL_SRCSEL_SHIFT                                          0
#define CRL_APB_CSU_PLL_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 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_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 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_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 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_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 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_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_NAND_REF_CTRL_CLKACT_DEFVAL 
#undef CRL_APB_NAND_REF_CTRL_CLKACT_SHIFT 
#undef CRL_APB_NAND_REF_CTRL_CLKACT_MASK 
#define CRL_APB_NAND_REF_CTRL_CLKACT_DEFVAL                                        0x00052000
#define CRL_APB_NAND_REF_CTRL_CLKACT_SHIFT                                         24
#define CRL_APB_NAND_REF_CTRL_CLKACT_MASK                                          0x01000000U

/*6 bit divider*/
#undef CRL_APB_NAND_REF_CTRL_DIVISOR1_DEFVAL 
#undef CRL_APB_NAND_REF_CTRL_DIVISOR1_SHIFT 
#undef CRL_APB_NAND_REF_CTRL_DIVISOR1_MASK 
#define CRL_APB_NAND_REF_CTRL_DIVISOR1_DEFVAL                                      0x00052000
#define CRL_APB_NAND_REF_CTRL_DIVISOR1_SHIFT                                       16
#define CRL_APB_NAND_REF_CTRL_DIVISOR1_MASK                                        0x003F0000U

/*6 bit divider*/
#undef CRL_APB_NAND_REF_CTRL_DIVISOR0_DEFVAL 
#undef CRL_APB_NAND_REF_CTRL_DIVISOR0_SHIFT 
#undef CRL_APB_NAND_REF_CTRL_DIVISOR0_MASK 
#define CRL_APB_NAND_REF_CTRL_DIVISOR0_DEFVAL                                      0x00052000
#define CRL_APB_NAND_REF_CTRL_DIVISOR0_SHIFT                                       8
#define CRL_APB_NAND_REF_CTRL_DIVISOR0_MASK                                        0x00003F00U

/*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_NAND_REF_CTRL_SRCSEL_DEFVAL 
#undef CRL_APB_NAND_REF_CTRL_SRCSEL_SHIFT 
#undef CRL_APB_NAND_REF_CTRL_SRCSEL_MASK 
#define CRL_APB_NAND_REF_CTRL_SRCSEL_DEFVAL                                        0x00052000
#define CRL_APB_NAND_REF_CTRL_SRCSEL_SHIFT                                         0
#define CRL_APB_NAND_REF_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 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_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 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_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

/*Clock active signal. Switch to 0 to disable the clock*/
#undef CRL_APB_PL1_REF_CTRL_CLKACT_DEFVAL 
#undef CRL_APB_PL1_REF_CTRL_CLKACT_SHIFT 
#undef CRL_APB_PL1_REF_CTRL_CLKACT_MASK 
#define CRL_APB_PL1_REF_CTRL_CLKACT_DEFVAL                                         0x00052000
#define CRL_APB_PL1_REF_CTRL_CLKACT_SHIFT                                          24
#define CRL_APB_PL1_REF_CTRL_CLKACT_MASK                                           0x01000000U

/*6 bit divider*/
#undef CRL_APB_PL1_REF_CTRL_DIVISOR1_DEFVAL 
#undef CRL_APB_PL1_REF_CTRL_DIVISOR1_SHIFT 
#undef CRL_APB_PL1_REF_CTRL_DIVISOR1_MASK 
#define CRL_APB_PL1_REF_CTRL_DIVISOR1_DEFVAL                                       0x00052000
#define CRL_APB_PL1_REF_CTRL_DIVISOR1_SHIFT                                        16
#define CRL_APB_PL1_REF_CTRL_DIVISOR1_MASK                                         0x003F0000U

/*6 bit divider*/
#undef CRL_APB_PL1_REF_CTRL_DIVISOR0_DEFVAL 
#undef CRL_APB_PL1_REF_CTRL_DIVISOR0_SHIFT 
#undef CRL_APB_PL1_REF_CTRL_DIVISOR0_MASK 
#define CRL_APB_PL1_REF_CTRL_DIVISOR0_DEFVAL                                       0x00052000
#define CRL_APB_PL1_REF_CTRL_DIVISOR0_SHIFT                                        8
#define CRL_APB_PL1_REF_CTRL_DIVISOR0_MASK                                         0x00003F00U

/*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_PL1_REF_CTRL_SRCSEL_DEFVAL 
#undef CRL_APB_PL1_REF_CTRL_SRCSEL_SHIFT 
#undef CRL_APB_PL1_REF_CTRL_SRCSEL_MASK 
#define CRL_APB_PL1_REF_CTRL_SRCSEL_DEFVAL                                         0x00052000
#define CRL_APB_PL1_REF_CTRL_SRCSEL_SHIFT                                          0
#define CRL_APB_PL1_REF_CTRL_SRCSEL_MASK                                           0x00000007U

/*Clock active signal. Switch to 0 to disable the clock*/
#undef CRL_APB_PL2_REF_CTRL_CLKACT_DEFVAL 
#undef CRL_APB_PL2_REF_CTRL_CLKACT_SHIFT 
#undef CRL_APB_PL2_REF_CTRL_CLKACT_MASK 
#define CRL_APB_PL2_REF_CTRL_CLKACT_DEFVAL                                         0x00052000
#define CRL_APB_PL2_REF_CTRL_CLKACT_SHIFT                                          24
#define CRL_APB_PL2_REF_CTRL_CLKACT_MASK                                           0x01000000U

/*6 bit divider*/
#undef CRL_APB_PL2_REF_CTRL_DIVISOR1_DEFVAL 
#undef CRL_APB_PL2_REF_CTRL_DIVISOR1_SHIFT 
#undef CRL_APB_PL2_REF_CTRL_DIVISOR1_MASK 
#define CRL_APB_PL2_REF_CTRL_DIVISOR1_DEFVAL                                       0x00052000
#define CRL_APB_PL2_REF_CTRL_DIVISOR1_SHIFT                                        16
#define CRL_APB_PL2_REF_CTRL_DIVISOR1_MASK                                         0x003F0000U

/*6 bit divider*/
#undef CRL_APB_PL2_REF_CTRL_DIVISOR0_DEFVAL 
#undef CRL_APB_PL2_REF_CTRL_DIVISOR0_SHIFT 
#undef CRL_APB_PL2_REF_CTRL_DIVISOR0_MASK 
#define CRL_APB_PL2_REF_CTRL_DIVISOR0_DEFVAL                                       0x00052000
#define CRL_APB_PL2_REF_CTRL_DIVISOR0_SHIFT                                        8
#define CRL_APB_PL2_REF_CTRL_DIVISOR0_MASK                                         0x00003F00U

/*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_PL2_REF_CTRL_SRCSEL_DEFVAL 
#undef CRL_APB_PL2_REF_CTRL_SRCSEL_SHIFT 
#undef CRL_APB_PL2_REF_CTRL_SRCSEL_MASK 
#define CRL_APB_PL2_REF_CTRL_SRCSEL_DEFVAL                                         0x00052000
#define CRL_APB_PL2_REF_CTRL_SRCSEL_SHIFT                                          0
#define CRL_APB_PL2_REF_CTRL_SRCSEL_MASK                                           0x00000007U

/*Clock active signal. Switch to 0 to disable the clock*/
#undef CRL_APB_PL3_REF_CTRL_CLKACT_DEFVAL 
#undef CRL_APB_PL3_REF_CTRL_CLKACT_SHIFT 
#undef CRL_APB_PL3_REF_CTRL_CLKACT_MASK 
#define CRL_APB_PL3_REF_CTRL_CLKACT_DEFVAL                                         0x00052000
#define CRL_APB_PL3_REF_CTRL_CLKACT_SHIFT                                          24
#define CRL_APB_PL3_REF_CTRL_CLKACT_MASK                                           0x01000000U

/*6 bit divider*/
#undef CRL_APB_PL3_REF_CTRL_DIVISOR1_DEFVAL 
#undef CRL_APB_PL3_REF_CTRL_DIVISOR1_SHIFT 
#undef CRL_APB_PL3_REF_CTRL_DIVISOR1_MASK 
#define CRL_APB_PL3_REF_CTRL_DIVISOR1_DEFVAL                                       0x00052000
#define CRL_APB_PL3_REF_CTRL_DIVISOR1_SHIFT                                        16
#define CRL_APB_PL3_REF_CTRL_DIVISOR1_MASK                                         0x003F0000U

/*6 bit divider*/
#undef CRL_APB_PL3_REF_CTRL_DIVISOR0_DEFVAL 
#undef CRL_APB_PL3_REF_CTRL_DIVISOR0_SHIFT 
#undef CRL_APB_PL3_REF_CTRL_DIVISOR0_MASK 
#define CRL_APB_PL3_REF_CTRL_DIVISOR0_DEFVAL                                       0x00052000
#define CRL_APB_PL3_REF_CTRL_DIVISOR0_SHIFT                                        8
#define CRL_APB_PL3_REF_CTRL_DIVISOR0_MASK                                         0x00003F00U

/*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_PL3_REF_CTRL_SRCSEL_DEFVAL 
#undef CRL_APB_PL3_REF_CTRL_SRCSEL_SHIFT 
#undef CRL_APB_PL3_REF_CTRL_SRCSEL_MASK 
#define CRL_APB_PL3_REF_CTRL_SRCSEL_DEFVAL                                         0x00052000
#define CRL_APB_PL3_REF_CTRL_SRCSEL_SHIFT                                          0
#define CRL_APB_PL3_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 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_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 
		 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 toggled after 4 cycles of the old clock and 4 cycles of 
		he 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 cyc
		es of the new clock. 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; (This signal may only be toggled after 4 cycles of the 
		ld clock and 4 cycles of the new clock. This is not usually an issue, but designers must be 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; (This signal may only be toggled after 4 cycles of the 
		ld clock and 4 cycles of the new clock. This is not usually an issue, but designers must be 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 toggled after 4 cycles of the old clock and 4 cycles of t
		e 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 after 4 cycles of the old clock and 4 cycles of the new 
		lock. 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 speed 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 speed ACPUX Clock. This will shut off the high speed cloc
		 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_TRACE_CTRL_DIVISOR0_DEFVAL 
#undef CRF_APB_DBG_TRACE_CTRL_DIVISOR0_SHIFT 
#undef CRF_APB_DBG_TRACE_CTRL_DIVISOR0_MASK 
#define CRF_APB_DBG_TRACE_CTRL_DIVISOR0_DEFVAL                                     0x00002500
#define CRF_APB_DBG_TRACE_CTRL_DIVISOR0_SHIFT                                      8
#define CRF_APB_DBG_TRACE_CTRL_DIVISOR0_MASK                                       0x00003F00U

/*000 = IOPLL_TO_FPD; 010 = DPLL; 011 = APLL; (This signal may only be toggled after 4 cycles of the old clock and 4 cycles of 
		he new clock. This is not usually an issue, but designers must be aware.)*/
#undef CRF_APB_DBG_TRACE_CTRL_SRCSEL_DEFVAL 
#undef CRF_APB_DBG_TRACE_CTRL_SRCSEL_SHIFT 
#undef CRF_APB_DBG_TRACE_CTRL_SRCSEL_MASK 
#define CRF_APB_DBG_TRACE_CTRL_SRCSEL_DEFVAL                                       0x00002500
#define CRF_APB_DBG_TRACE_CTRL_SRCSEL_SHIFT                                        0
#define CRF_APB_DBG_TRACE_CTRL_SRCSEL_MASK                                         0x00000007U

/*Clock active signal. Switch to 0 to disable the clock*/
#undef CRF_APB_DBG_TRACE_CTRL_CLKACT_DEFVAL 
#undef CRF_APB_DBG_TRACE_CTRL_CLKACT_SHIFT 
#undef CRF_APB_DBG_TRACE_CTRL_CLKACT_MASK 
#define CRF_APB_DBG_TRACE_CTRL_CLKACT_DEFVAL                                       0x00002500
#define CRF_APB_DBG_TRACE_CTRL_CLKACT_SHIFT                                        24
#define CRF_APB_DBG_TRACE_CTRL_CLKACT_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 toggled after 4 cycles of the old clock and 4 cycles of 
		he 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 
		s not usually an issue, 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 toggled after 4 cycles of the old clock and 4 cycles of 
		he 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 clock 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 clock 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 clock 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 after 4 cycles of the old clock and 4 cycles of the new 
		lock. 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 after 4 cycles of the old clock and 4 cycles of the new 
		lock. 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 after 4 cycles of the old clock and 4 cycles of the new 
		lock. 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 toggled after 4 cycles of the old clock and 4 cycles of 
		he 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_GTGREF0_REF_CTRL_DIVISOR0_DEFVAL 
#undef CRF_APB_GTGREF0_REF_CTRL_DIVISOR0_SHIFT 
#undef CRF_APB_GTGREF0_REF_CTRL_DIVISOR0_MASK 
#define CRF_APB_GTGREF0_REF_CTRL_DIVISOR0_DEFVAL                                   0x00000800
#define CRF_APB_GTGREF0_REF_CTRL_DIVISOR0_SHIFT                                    8
#define CRF_APB_GTGREF0_REF_CTRL_DIVISOR0_MASK                                     0x00003F00U

/*000 = IOPLL_TO_FPD; 010 = APLL; 011 = DPLL; (This signal may only be toggled after 4 cycles of the old clock and 4 cycles of 
		he new clock. This is not usually an issue, but designers must be aware.)*/
#undef CRF_APB_GTGREF0_REF_CTRL_SRCSEL_DEFVAL 
#undef CRF_APB_GTGREF0_REF_CTRL_SRCSEL_SHIFT 
#undef CRF_APB_GTGREF0_REF_CTRL_SRCSEL_MASK 
#define CRF_APB_GTGREF0_REF_CTRL_SRCSEL_DEFVAL                                     0x00000800
#define CRF_APB_GTGREF0_REF_CTRL_SRCSEL_SHIFT                                      0
#define CRF_APB_GTGREF0_REF_CTRL_SRCSEL_MASK                                       0x00000007U

/*Clock active signal. Switch to 0 to disable the clock*/
#undef CRF_APB_GTGREF0_REF_CTRL_CLKACT_DEFVAL 
#undef CRF_APB_GTGREF0_REF_CTRL_CLKACT_SHIFT 
#undef CRF_APB_GTGREF0_REF_CTRL_CLKACT_MASK 
#define CRF_APB_GTGREF0_REF_CTRL_CLKACT_DEFVAL                                     0x00000800
#define CRF_APB_GTGREF0_REF_CTRL_CLKACT_SHIFT                                      24
#define CRF_APB_GTGREF0_REF_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 toggled after 4 cycles of the old clock and 4 cycles of 
		he 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" = Select the PLL ref clock for the APB interface of TTC0'
		0" = 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" = Select the PLL ref clock for the APB interface of TTC1'
		0" = 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" = Select the PLL ref clock for the APB interface of TTC2'
		0" = 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" = Select the PLL ref clock for the APB interface of TTC3'
		0" = 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: External (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 clock 1: external clock from PL via EMIO, or from pinout 
		ia 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 clock 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_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_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_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_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_DSGCR_OFFSET 
#define DDR_PHY_DSGCR_OFFSET                                                       0XFD080090
#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_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_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_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_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_DX0LCDLR2_OFFSET 
#define DDR_PHY_DX0LCDLR2_OFFSET                                                   0XFD080788
#undef DDR_PHY_DX0GTR0_OFFSET 
#define DDR_PHY_DX0GTR0_OFFSET                                                     0XFD0807C0
#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_DX1LCDLR2_OFFSET 
#define DDR_PHY_DX1LCDLR2_OFFSET                                                   0XFD080888
#undef DDR_PHY_DX1GTR0_OFFSET 
#define DDR_PHY_DX1GTR0_OFFSET                                                     0XFD0808C0
#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_DX2LCDLR2_OFFSET 
#define DDR_PHY_DX2LCDLR2_OFFSET                                                   0XFD080988
#undef DDR_PHY_DX2GTR0_OFFSET 
#define DDR_PHY_DX2GTR0_OFFSET                                                     0XFD0809C0
#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_DX3LCDLR2_OFFSET 
#define DDR_PHY_DX3LCDLR2_OFFSET                                                   0XFD080A88
#undef DDR_PHY_DX3GTR0_OFFSET 
#define DDR_PHY_DX3GTR0_OFFSET                                                     0XFD080AC0
#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_DX4LCDLR2_OFFSET 
#define DDR_PHY_DX4LCDLR2_OFFSET                                                   0XFD080B88
#undef DDR_PHY_DX4GTR0_OFFSET 
#define DDR_PHY_DX4GTR0_OFFSET                                                     0XFD080BC0
#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_DX5LCDLR2_OFFSET 
#define DDR_PHY_DX5LCDLR2_OFFSET                                                   0XFD080C88
#undef DDR_PHY_DX5GTR0_OFFSET 
#define DDR_PHY_DX5GTR0_OFFSET                                                     0XFD080CC0
#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_DX6LCDLR2_OFFSET 
#define DDR_PHY_DX6LCDLR2_OFFSET                                                   0XFD080D88
#undef DDR_PHY_DX6GTR0_OFFSET 
#define DDR_PHY_DX6GTR0_OFFSET                                                     0XFD080DC0
#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_DX7LCDLR2_OFFSET 
#define DDR_PHY_DX7LCDLR2_OFFSET                                                   0XFD080E88
#undef DDR_PHY_DX7GTR0_OFFSET 
#define DDR_PHY_DX7GTR0_OFFSET                                                     0XFD080EC0
#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_DX8LCDLR2_OFFSET 
#define DDR_PHY_DX8LCDLR2_OFFSET                                                   0XFD080F88
#undef DDR_PHY_DX8GTR0_OFFSET 
#define DDR_PHY_DX8GTR0_OFFSET                                                     0XFD080FC0
#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_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_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_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_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_DX8SLBDQSCTL_OFFSET 
#define DDR_PHY_DX8SLBDQSCTL_OFFSET                                                0XFD0817DC
#undef DDR_PHY_PIR_OFFSET 
#define DDR_PHY_PIR_OFFSET                                                         0XFD080004

/*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 
		evice*/
#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 registers*/
#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 p
		esent. - 1 - populated - 0 - unpopulated LSB is the lowest rank number. For 2 ranks following combinations are legal: - 01 - 
		ne rank - 11 - Two ranks - Others - Reserved. For 4 ranks following combinations are legal: - 0001 - One rank - 0011 - Two ra
		ks - 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 lengt
		 of 8 - 1000 - Burst length of 16 (only supported for mDDR, LPDDR2, and LPDDR4) All other values are reserved. This controls 
		he burst size used to access the SDRAM. This must match the burst length mode register setting in the SDRAM. (For BC4/8 on-th
		-fly mode of DDR3 and DDR4, set this field to 0x0100) Burst length of 2 is not supported with AXI ports when MEMC_BURST_LENGT
		 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 
		n DLL-on mode for normal frequency operation. If DDR4 CRC/parity retry is enabled (CRCPARCTL1.crc_parity_retry_enable = 1), d
		l_off_mode is not supported, and this 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 SD
		AM - 10 - Quarter DQ bus width to SDRAM - 11 - Reserved. Note that half bus width mode is only supported when the SDRAM bus w
		dth 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 co
		figuration parameter MEMC_QBUS_SUPPORT is set. Bus width 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 DRAM in normal mode (1N). This register can be changed
		 only when the Controller is in self-refresh mode. This signal must be set the same value as MR3 bit A3. Note: Geardown mode 
		s 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 timing, all command signals (except chip select) are held 
		or 2 clocks on the SDRAM bus. Chip select is asserted on the second cycle of the command Note: 2T timing is not supported in 
		PDDR2/LPDDR3/LPDDR4 mode Note: 2T timing is not supported if the configuration parameter MEMC_CMD_RTN2IDLE is set Note: 2T ti
		ing 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 exercised only in HIF configurations (UMCTL2_INCL_ARB not s
		t) and if in full bus width mode (MSTR.data_bus_width = 00). Burst Chop for Writes is exercised only if Partial Writes enable
		 (UMCTL2_PARTIAL_WR=1) and if CRC is disabled (CRCPARCTL1.crc_enable = 0). If DDR4 CRC/parity retry is enabled (CRCPARCTL1.cr
		_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 device in use Present only in designs configured to su
		port 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 
		DR4.*/
#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 device in use Present only in designs configured to su
		port 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 device in use Present only in designs configured to su
		port 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 device 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 operation. When the MR operation is complete, the uMCTL
		 automatically clears this bit. The other register fields of this register must be written in a separate APB transaction, bef
		re setting this mr_wr bit. It is recommended NOT to set this signal if in Init, Deep power-down or MPSM operating 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 - 0001 - MR1 - 0010 - MR2 - 0011 - MR3 - 0100 - MR4 - 010
		 - MR5 - 0110 - MR6 - 0111 - MR7 Don't Care for LPDDR2/LPDDR3/LPDDR4 (see MRCTRL1.mr_data for mode register addressing in LPD
		R2/LPDDR3/LPDDR4) This signal is also used for writing to control words of RDIMMs. In that case, it corresponds to the bank a
		dress 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 
		s the bit[2:0] must be set to an appropriate value which is considered both the Address Mirroring of UDIMMs/RDIMMs and the Ou
		put Inversion of RDIMMs.*/
#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 desired to access all ranks, so all bits should be set to 1
		 However, for multi-rank UDIMMs/RDIMMs which implement address mirroring, it may be necessary to access ranks individually. E
		amples (assume uMCTL2 is configured for 4 ranks): - 0x1 - select rank 0 only - 0x2 - select rank 1 only - 0x5 - select ranks 
		 and 2 - 0xA - select ranks 1 and 3 - 0xF - select ranks 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 before automatic SDRAM initialization routine or not. 
		or DDR4, this bit can be used to initialize the DDR4 RCD (MR7) before automatic SDRAM initialization. For LPDDR4, this bit ca
		 be used to program additional mode registers before automatic SDRAM initialization if necessary. Note: This must be cleared 
		o 0 after completing Software operation. Otherwise, SDRAM initialization routine will not re-start. - 0 - Software interventi
		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 (only 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 used for LPDDR2/LPDDR3/LPDDR4/DDR4. - 0 - Write - 1 - Re
		d*/
#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 uses +2. - 2 - Derating uses +3. - 3 - Derating uses +4
		 Present only in designs configured to support LPDDR4. The required number of cycles for derating can be determined by dividi
		g 3.75ns by the core_ddrc_core_clk period, 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 f
		r derating. The maximum 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 only in designs configured to support LPDDR2/LPDDR3/LPDD
		4 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.875 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 - Timing parameter derating is enabled using MR4 read value.
		Present only in designs 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. Present only in designs configured to support LPDDR2/LP
		DR3/LPDDR4. This register 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 power down state or exit Self refresh power down state f
		r LPDDR4. This register controls transition from the Self refresh state. - 1 - Prohibit transition from Self refresh state - 
		 - Allow transition from Self refresh 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 state immediately, as long as it is not in INIT or DPD/MP
		M operating_mode. This is referred to as Software Entry/Exit to Self Refresh. - 1 - Software Entry to Self Refresh - 0 - Soft
		are 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 m
		st be reset to '0' to bring uMCTL2 out of maximum power saving mode. Present only in designs configured to support DDR4. For 
		on-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 requires 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 required 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 DD
		4, can be asserted in following: - in Self Refresh. - in Maximum Power Saving Mode In mDDR/LPDDR2/LPDDR3, can be asserted in 
		ollowing: - in Self Refresh - in Power Down - in Deep Power Down - during Normal operation (Clock Stop) In LPDDR4, can be ass
		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 re
		et to '0' to bring uMCTL2 out of deep power-down mode. Controller performs automatic SDRAM initialization on deep power-down 
		xit. Present only in designs configured to support mDDR or LPDDR2 or LPDDR3. For non-mDDR/non-LPDDR2/non-LPDDR3, this registe
		 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' (P
		RTMG.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 programmable number of cycles 'maximum idle clocks before Se
		f Refresh (PWRTMG.selfref_to_x32)'. This register bit may be re-programmed during the course 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 
		he 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 specification is 0 as mDDR exits from deep power-down mode immed
		ately after PWRCTL.deeppowerdown_en is de-asserted. For LPDDR2/LPDDR3, value from the JEDEC specification is 500us. Unit: Mul
		iples of 4096 clocks. Present only in 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 th
		 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 issu
		d before this threshold is reached. It is recommended that this not be changed from the default value, currently shown as 0x2
		 It must always be less than internally used t_rfc_nom_x32. Note that, in LPDDR2/LPDDR3/LPDDR4, internally used t_rfc_nom_x32
		may be equal to RFSHTMG.t_rfc_nom_x32>>2 if derating is enabled (DERATEEN.derate_enable=1). Otherwise, internally used t_rfc_
		om_x32 will be equal to RFSHTMG.t_rfc_nom_x32. Unit: Multiples of 32 clocks.*/
#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 refresh performed at a time when refres
		 would be useful, but before it is absolutely required. When the SDRAM bus is idle for a period of time determined by this RF
		HCTL0.refresh_to_x32 and the refresh timer has expired at least once since the last refresh, then a speculative refresh is pe
		formed. Speculative refreshes continues successively until there are no refreshes pending or until new reads or writes are is
		ued 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 allowed to accumulate before traffic is blocked and the re
		reshes are forced to execute. Closing pages to perform a refresh is a one-time penalty that must be paid for each group of re
		reshes. Therefore, performing refreshes in a burst reduces the per-refresh penalty of these page closings. Higher numbers for
		RFSHCTL.refresh_burst slightly increases utilization; lower numbers decreases the worst-case latency associated with refreshe
		. - 0 - single refresh - 1 - burst-of-2 refresh - 7 - burst-of-8 refresh For information on burst refresh feature refer to se
		tion 3.9 of DDR2 JEDEC specification - JESD79-2F.pdf. For DDR2/3, the refresh is always per-rank and not per-bank. The rank r
		fresh can be accumulated over 8*tREFI cycles using the burst refresh feature. In DDR4 mode, according to Fine Granularity fea
		ure, 8 refreshes can be postponed in 1X mode, 16 refreshes in 2X mode and 32 refreshes in 4X mode. If using PHY-initiated upd
		tes, care must be taken in the setting of RFSHCTL0.refresh_burst, to ensure that tRFCmax is not violated due to a PHY-initiat
		d 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 n
		t supported by all LPDDR2 devices but should be supported by all LPDDR3/LPDDR4 devices. Present 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

/*Fine Granularity Refresh Mode - 000 - Fixed 1x (Normal mode) - 001 - Fixed 2x - 010 - Fixed 4x - 101 - Enable on the fly 2x (
		ot supported) - 110 - Enable on the fly 4x (not supported) - Everything else - reserved Note: The on-the-fly modes is not sup
		orted 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 operation is not allowed. Making this a dynamic register will be supported in 
		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 
		s automatically updated 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-refresh is disabled, the SoC core must generate refreshes u
		ing the registers reg_ddrc_rank0_refresh, reg_ddrc_rank1_refresh, reg_ddrc_rank2_refresh and 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), disable auto-refresh is not supported, and this bit must be set to '0'. 
		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 specificatio
		 for mDDR, LPDDR2, LPDDR3 and LPDDR4). For LPDDR2/LPDDR3/LPDDR4: - if using all-bank refreshes (RFSHCTL0.per_bank_refresh = 0
		, this register should be set to tREFIab - if using per-bank refreshes (RFSHCTL0.per_bank_refresh = 1), this register should 
		e set to tREFIpb For configurations with MEMC_FREQ_RATIO=2, program this to (tREFI/2), no rounding up. In DDR4 mode, tREFI va
		ue is different depending on the refresh mode. The user should program the 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 greater than RFSHTMG.t_rfc_min, and RFS
		TMG.t_rfc_nom_x32 must be greater than 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 when uMCTL2 is in reset. Specifies whether to use the 
		REFBW parameter (required 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_FREQ_RATIO=1 configurations, t_rfc_min should be set t
		 RoundUp(tRFCmin/tCK). For MEMC_FREQ_RATIO=2 configurations, t_rfc_min should be set to RoundUp(RoundUp(tRFCmin/tCK)/2). In L
		DDR2/LPDDR3/LPDDR4 mode: - if using all-bank refreshes, the tRFCmin value in the above equations is equal to tRFCab - if usin
		 per-bank refreshes, the tRFCmin value in the above equations 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) and the device density. The user should program the app
		opriate value from the spec based on the 'refresh_mode' and the device density that is used. 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_USE_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 over 1 beat - all other settings are reserved for futur
		 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) data poisoning, if 1 -> 1-bit (correctable) data poison
		ng, if ECCCFG1.data_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 specified 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 
		pecification for correct value. This value it only used for detecting read data timeout when DDR4 retry is enabled by CRCPARC
		L1.crc_parity_retry_enable=1. Maximum supported value: - 1:1 Frequency mode : DFITMG0.dfi_t_rddata_en + CRCPARCTL1.dfi_t_phy_
		dlat < 'd114 - 1:2 Frequency mode ANDAND DFITMG0.dfi_rddata_use_sdr == 1 : CRCPARCTL1.dfi_t_phy_rdlat < 64 - 1:2 Frequency mo
		e ANDAND DFITMG0.dfi_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 software has an option to read the mode registers in the DR
		M before the hardware begins the retry process - 1: Wait for software to read/write the mode registers before hardware begins
		the retry. After software is done with its operations, it will clear the alert interrupt register bit - 0: Hardware 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 (P
		RCTRL.crc_parity_retry_enable = 1) If this register is set to 1 and if the software doesn't clear the interrupt register afte
		 handling the parity/CRC error, then the hardware will not begin the retry process and the system will hang. In the case of P
		rity/CRC error, there are two possibilities when the software doesn't reset MR5[4] to 0. - (i) If 'Persistent parity' mode re
		ister bit is NOT set: the commands sent during retry and normal operation are executed without parity checking. The value in 
		he Parity error log register MPR Page 1 is valid. - (ii) If 'Persistent parity' mode register bit is SET: Parity checking is 
		one for commands sent during retry and normal operation. If multiple errors occur before MR5[4] is cleared, the error log in 
		PR 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 o
		 CRC features are enabled. Note that retry functionality is not supported if burst chop is enabled (MSTR.burstchop = 1) and/o
		 disable auto-refresh is enabled (RFSHCTL3.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 not includes DM signal Present only in designs configur
		d 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 generation of CRC The setting of this register should match th
		 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 detection of C/A parity error - 0: Disable generation of 
		/A parity and disable detection of C/A parity error If RCD's parity error detection or SDRAM's parity detection is enabled, t
		is 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.MAX For configurations with MEMC_FREQ_RATIO=2, program this to tPAR_ALERT_PW.MAX/2 and round up to next inte
		er value. Values of 0, 1 and 2 are illegal. 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 illegal. 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 be
		ore it is popped out. Every location in the Command Retry FIFO has an associated down counting timer that will use this regis
		er as the start value. The down counting starts when a command is loaded into the FIFO. The timer counts down every 4 DRAM cy
		les. When the counter reaches zero, the entry is popped from the FIFO. All the counters are frozen, if a C/A Parity or CRC er
		or occurs before the counter reaches zero. The counter is reset to 0, after all the commands in the FIFO are retried. Recomme
		ded(minimum) values: - Only C/A Parity is enabled. RoundUp((PHY Command Latency(DRAM CLK) + CAL + RDIMM delay + tPAR_ALERT_ON
		max + tPAR_UNKNOWN + PHY Alert Latency(DRAM CLK) + board delay) / 4) + 2 - Both C/A Parity and CRC is enabled/ Only CRC is en
		bled. RoundUp((PHY Command Latency(DRAM CLK) + CAL + RDIMM 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 de
		ay(Command/Alert_n) should be considered. Note 3: Use the worst case(longer) value for PHY Latencies/Board delay Note 4: The 
		ecommended 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-
		 Full bus Mode (CRC=ON) Max value = UMCTL2_RETRY_CMD_FIFO_DEPTH-3 Half bus Mode (CRC=OFF) Max value = UMCTL2_RETRY_CMD_FIFO_D
		PTH-4 Half bus Mode (CRC=ON) Max value = UMCTL2_RETRY_CMD_FIFO_DEPTH-6 Quarter bus Mode (CRC=OFF) Max value = UMCTL2_RETRY_CM
		_FIFO_DEPTH-8 Quarter bus Mode (CRC=ON) Max value = UMCTL2_RETRY_CMD_FIFO_DEPTH-12 - MEMC_BURST_LENGTH != 16 Full bus Mode (C
		C=OFF) Max value = UMCTL2_RETRY_CMD_FIFO_DEPTH-1 Full bus Mode (CRC=ON) Max value = UMCTL2_RETRY_CMD_FIFO_DEPTH-2 Half bus Mo
		e (CRC=OFF) Max value = UMCTL2_RETRY_CMD_FIFO_DEPTH-2 Half bus Mode (CRC=ON) Max value = UMCTL2_RETRY_CMD_FIFO_DEPTH-3 Quarte
		 bus Mode (CRC=OFF) Max value = UMCTL2_RETRY_CMD_FIFO_DEPTH-4 Quarter bus Mode (CRC=ON) Max value = UMCTL2_RETRY_CMD_FIFO_DEP
		H-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 u
		 in when reset is removed - 00 - SDRAM Intialization routine is run after power-up - 01 - SDRAM Intialization routine is skip
		ed after power-up. Controller starts up in Normal Mode - 11 - SDRAM Intialization routine is skipped after power-up. Controll
		r starts up in Self-refresh Mode - 10 - SDRAM Intialization routine is run after power-up. Note: The only 2'b00 is supported 
		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 
		 400 ns delay, requiring this value to be programmed to 2 at all clock speeds. LPDDR2/LPDDR3 typically requires this to be pr
		grammed for a delay of 200 us. LPDDR4 typically requires this to be programmed for a delay of 2 us. For configurations with M
		MC_FREQ_RATIO=2, program this to JEDEC spec value divided 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 initialization sequence. Unit: 1024 clock cycles. DDR2 
		pecifications typically require this to be programmed for a delay of >= 200 us. LPDDR2/LPDDR3: tINIT1 of 100 ns (min) LPDDR4:
		tINIT3 of 2 ms (min) For configurations with MEMC_FREQ_RATIO=2, program this to JEDEC spec value divided by 2, and round it u
		 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. For 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 gl
		bal timer that pulses every 32 clock cycles. There is no known specific requirement for this; 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: Counts of a global timer that pulses every 32 clock cycle
		. There is no known 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 configured 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 configured to support LPDDR2/LPDDR3. Unit: 1 clock cyc
		e. LPDDR2/LPDDR3 typically 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 here is ignored. The uMCTL2 sets this bit appropriately
		 DDR3/DDR4: Value loaded into MR0 register. mDDR: Value to write to MR register. LPDDR2/LPDDR3/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 setting 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-evaluation mode training is enabled, thi
		 bit is set appropriately by the uMCTL2 during write leveling. mDDR: Value to write to EMR register. LPDDR2/LPDDR3/LPDDR4 - V
		lue 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 
		egister mDDR: Unused*/
#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 
		rite to MR13 register*/
#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 support DDR3 or DDR4 or LPDDR2/LPDDR3. Unit: 32 clock 
		ycles. DDR3 typically requires 512 clocks. DDR4 requires 1024 clocks. LPDDR2/LPDDR3 requires 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 designs configured to support LPDDR2/LPDDR3. LPDDR2/LPDD
		3 typically requires 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 enab
		ed. This will be required for DDR4 DIMMs with x16 devices. - 1 - BG0 and BG1 are NOT swapped. - 0 - BG0 and BG1 are swapped i
		 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 mus
		 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 
		nversion are enabled, this must be set 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 ena
		led, this is applied to BG1 of even ranks and BG0 of odd ranks. - 1 - Enabled - 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 mus
		 be programmed to 0 during MRS. In case where DRAMs which do not have A17 are attached and the Output Inversion are enabled, 
		his must be set to 0, so that the calculation of CA parity will not include A17 bit. Note: This has no effect on the address 
		f any other memory accesses, or of software-driven mode 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 RDIMM implements the Output Inversion feature by default,
		which means that the following address, bank address and bank group bits of B-side DRAMs are inverted: A3-A9, A11, A13, A17, 
		A0-BA1, BG0-BG1. Setting this bit ensures that, for mode register accesses generated by the uMCTL2 during the automatic initi
		lization routine and enabling of a particular DDR4 feature, separate A-side and B-side mode register accesses are generated. 
		or B-side mode register accesses, these bits are inverted within the uMCTL2 to compensate for this RDIMM inversion. Note: Thi
		 has no effect on the address of any other memory accesses, or of software-driven mode register accesses. - 1 - Implement out
		ut 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 DD
		4 RDIMMs implement address mirroring for odd ranks, which means that the following address, bank address and bank group bits 
		re swapped: (A3, A4), (A5, A6), (A7, A8), (BA0, BA1) and also (A11, A13), (BG0, BG1) for the DDR4. Setting this bit ensures t
		at, for mode register accesses during the automatic initialization routine, these bits are swapped within the uMCTL2 to compe
		sate for this UDIMM/RDIMM swapping. In addition to the automatic initialization routine, in case of DDR4 UDIMM/RDIMM, they ar
		 swapped during the automatic MRS access to enable/disable of a particular DDR4 feature. Note: This has no effect on the addr
		ss of any other memory accesses, or of software-driven mode register accesses. This is not supported for mDDR, 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 ranks, implement address mirroring for MRS commands to d
		ring initialization and for any automatic DDR4 MRS commands (to be used if UDIMM/RDIMM implements 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 RDIMM implementations only). This is not supported for mD
		R, LPDDR2, LPDDR3 or LPDDR4 SDRAMs. Note: Even if this bit is set it does not take care of software driven MR commands (via M
		CTRL0/MRCTRL1), where software is responsible to send them to seperate ranks as appropriate. - 1 - (DDR4) Send MRS commands t
		 each ranks seperately - 1 - (non-DDR4) Send all commands 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 clocks of gap in data responses when performing consecuti
		e writes to different ranks. This is used to switch the delays in the PHY to match the rank requirements. This value should c
		nsider both PHY requirement and ODT requirement. - PHY requirement: tphy_wrcsgap + 1 (see PHY databook for value of tphy_wrcs
		ap) If CRC feature is enabled, should be increased by 1. If write preamble is set to 2tCK(DDR4/LPDDR4 only), should be increa
		ed by 1. If write postamble is set to 1.5tCK(LPDDR4 only), should be increased by 1. - ODT requirement: The value programmed 
		n this register takes care of the ODT switch off timing requirement when switching ranks during writes. For LPDDR4, the requi
		ement is ODTLoff - ODTLon - BL/2 + 1 For configurations with MEMC_FREQ_RATIO=1, program this to the larger of PHY requirement
		or ODT requirement. For configurations with MEMC_FREQ_RATIO=2, program this to the larger value divided by two and round it u
		 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 clocks of gap in data responses when performing consecuti
		e reads to different ranks. This is used to switch the delays in the PHY to match the rank requirements. This value should co
		sider both PHY requirement and ODT requirement. - PHY requirement: tphy_rdcsgap + 1 (see PHY databook for value of tphy_rdcsg
		p) If read preamble is set to 2tCK(DDR4/LPDDR4 only), should be increased by 1. If read postamble is set to 1.5tCK(LPDDR4 onl
		), should be increased by 1. - ODT requirement: The value programmed in this register takes care of the ODT switch off timing
		requirement when switching ranks during reads. For configurations with MEMC_FREQ_RATIO=1, program this to the larger of PHY r
		quirement or ODT requirement. For configurations with MEMC_FREQ_RATIO=2, program this to the larger value divided by two and 
		ound 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 same rank can be performed back-to-back. Reads to differ
		nt ranks require additional gap dictated by the register RANKCTL.diff_rank_rd_gap. This is to avoid possible data bus content
		on as well as to give PHY enough time to switch the delay when changing ranks. The uMCTL2 arbitrates for bus access on a cycl
		-by-cycle basis; therefore after a read is scheduled, there are few clock cycles (determined by the value on RANKCTL.diff_ran
		_rd_gap register) in which only reads from the same rank are eligible to be scheduled. This prevents reads from other ranks f
		om having fair access to the data bus. This parameter represents the maximum number of reads that can be scheduled consecutiv
		ly to the same rank. After this number is reached, a delay equal to RANKCTL.diff_rank_rd_gap is inserted by the scheduler to 
		llow all ranks a fair opportunity to be scheduled. Higher numbers increase bandwidth utilization, lower numbers increase fair
		ess. This feature can be DISABLED by setting this register to 0. When set to 0, the Controller will stay on the same rank as 
		ong as commands are available for it. Minimum programmable value is 0 (feature disabled) and maximum programmable value is 0x
		. 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 Specifications: 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 th
		 value programmed in the BL bit of the mode register to the SDRAM. BST (burst terminate) is not supported at present. - tWR =
		Write recovery time. This comes directly from the SDRAM specification. Add one extra cycle for LPDDR2/LPDDR3/LPDDR4 for this 
		arameter. For configurations with MEMC_FREQ_RATIO=2, 1T mode, divide the above value by 2. No rounding up. For configurations
		with MEMC_FREQ_RATIO=2, 2T mode or LPDDR4 mode, divide the above value by 2 and round it up 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 window of tFAW cycles. For configurations with MEMC_FREQ_RATIO=2, program this to (tFAW/2) and round up to next 
		nteger value. In a 4-bank design, set 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. This is the maximum time that a page can be kept open Mi
		imum 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, 
		rogram this to tRAS(min)/2. No rounding up. For configurations with MEMC_FREQ_RATIO=2, 2T mode or LPDDR4 mode, program this t
		 (tRAS(min)/2) and round it up to the 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 exi
		 is selected in MR0[12]. If C/A parity for DDR4 is used, set to (tXP+PL) instead. For configurations with MEMC_FREQ_RATIO=2, 
		rogram 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) - D
		R4: Max of following 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 + tRTP - 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 conf
		gurations with MEMC_FREQ_RATIO=2, 2T mode or LPDDR4 mode, divide the above value by 2 and round it up to the next integer val
		e. 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 with MEMC_FREQ_RATIO=2, program this to (tRC/2) and roun
		 up to next integer 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 s
		t to 1. Note that, depending on the PHY, if using RDIMM, it may be necessary to use a value of WL + 1 to compensate for the e
		tra cycle of latency through the RDIMM For configurations with MEMC_FREQ_RATIO=2, divide the value calculated using the above
		equation by 2, and round it up to next integer. This register field is not required for DDR2 and DDR3 (except if MEMC_TRAININ
		 is set), as the DFI read and write latencies defined in DFITMG0 and DFITMG1 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 must be set to RL. Note that, depending on the PHY, if
		using RDIMM, it mat be necessary to use a value of RL + 1 to compensate for the extra cycle of latency through the RDIMM For 
		onfigurations with MEMC_FREQ_RATIO=2, divide the value calculated using the above equation by 2, and round it up to next inte
		er. This register field is not required for DDR2 and DDR3 (except if MEMC_TRAINING is set), as the DFI read and write latenci
		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 LPDDR2/LPDDR3: RL + BL/2 + RU(tDQSCKmax/tCK) + 1 - WL 
		PDDR4(DQ ODT is Disabled): RL + BL/2 + RU(tDQSCKmax/tCK) + WR_PREAMBLE + RD_POSTAMBLE - WL LPDDR4(DQ ODT is Enabled) : RL + B
		/2 + RU(tDQSCKmax/tCK) + RD_POSTAMBLE - ODTLon - RU(tODTon(min)/tCK) Minimum time from read command to write command. Include
		time for bus turnaround and all per-bank, per-rank, and global constraints. Unit: Clocks. Where: - WL = write latency - BL = 
		urst length. This must match the value programmed in the BL bit of the mode register to the SDRAM - RL = read latency = CAS l
		tency - WR_PREAMBLE = write preamble. This is unique to DDR4 and LPDDR4. - RD_POSTAMBLE = read postamble. This is unique to L
		DDR4. For LPDDR2/LPDDR3/LPDDR4, if derating is enabled (DERATEEN.derate_enable=1), derated tDQSCKmax should be used. For conf
		gurations with MEMC_FREQ_RATIO=2, divide the value calculated 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, minimum time from write command to read command for same ba
		k group. In others, minimum time from write command to read command. Includes time for bus turnaround, recovery times, and al
		 per-bank, per-rank, and global constraints. Unit: Clocks. Where: - CWL = CAS write latency - PL = Parity latency - BL = burs
		 length. This must match the value programmed in the BL bit of the mode register to the SDRAM - tWTR_L = internal write to re
		d command delay for same bank group. This comes directly from the SDRAM specification. - tWTR = internal write to read comman
		 delay. This comes directly from the SDRAM specification. Add one extra cycle for LPDDR2/LPDDR3/LPDDR4 operation. For configu
		ations with MEMC_FREQ_RATIO=2, divide 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 only in designs configured to support LPDDR2, LPDDR3 o
		 LPDDR4. LPDDR2 typically requires value of 5. LPDDR3 typically requires value of 10. LPDDR4: Set this to the larger of tMRW 
		nd tMRWCKEL. For LPDDR2, this register is used for the time from a MRW/MRR to all other commands. For LDPDR3, this register i
		 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 the connected SDRAM, tMRD represents: DDR2/mDDR: Time 
		rom MRS to any command DDR3/4: Time from MRS to MRS command LPDDR2: not used LPDDR3/4: Time from MRS to non-MRS command For c
		nfigurations with MEMC_FREQ_RATIO=2, program this to (tMRD/2) and round it up to the next integer value. If C/A parity for DD
		4 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 command and following non-load mode command. If C/A pari
		y 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 (tMO
		 + 1)/2 to compensate for the extra cycle of latency applied 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, prog
		am this to ((tRCD - tAL)/2) and round it up to the next integer value. Minimum value allowed for this register is 1, which im
		lies minimum (tRCD - tAL) value to be 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 for same bank group. Others: tCCD: This is the minimum
		time between two reads or two writes. For configurations with MEMC_FREQ_RATIO=2, program this to (tCCD_L/2 or tCCD/2) and rou
		d it up to the next integer value. Unit: 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' for same bank group. Others: tRRD: Minimum time betwee
		 activates from bank 'a' to bank 'b'For configurations with MEMC_FREQ_RATIO=2, program this to (tRRD_L/2 or tRRD/2) and round
		it up to the next integer value. Unit: 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 RoundU
		(tRP/tCK). For MEMC_FREQ_RATIO=2 configurations, t_rp should be set to RoundDown(RoundUp(tRP/tCK)/2) + 1. For MEMC_FREQ_RATIO
		2 configurations in LPDDR4, t_rp should 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 valid clock before issuing SRX. Specifies the clock stab
		e time before SRX. Recommended settings: - mDDR: 1 - LPDDR2: 2 - LPDDR3: 2 - LPDDR4: tCKCKEH - 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 in
		eger.*/
#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 afte
		 SRE. Recommended settings: - mDDR: 0 - LPDDR2: 2 - LPDDR3: 2 - LPDDR4: tCKCKEL - DDR2: 1 - DDR3: max (10 ns, 5 tCK) - DDR4: 
		ax (10 ns, 5 tCK) 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_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 se
		tings: - mDDR: tRFC - 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 intege
		.*/
#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 refresh. - LPDDR2/LPDDR3 mode: Set this to the larger of 
		CKE or tCKESR - LPDDR4 mode: Set this to the larger of tCKE, tCKELPD or tSR. - Non-LPDDR2/non-LPDDR3/non-LPDDR4 designs: Set 
		his to tCKE value. For configurations with MEMC_FREQ_RATIO=2, program this to (value described above)/2 and round it up to th
		 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 
		PDE. Recommended settings: - mDDR: 0 - LPDDR2: 2 - LPDDR3: 2 For configurations with MEMC_FREQ_RATIO=2, program this to recom
		ended 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 
		table time before DPDX. Recommended settings: - mDDR: 1 - LPDDR2: 2 - LPDDR3: 2 For configurations with MEMC_FREQ_RATIO=2, pr
		gram this to recommended value divided by two and round it up to next integer. This is only present for designs supporting mD
		R 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 
		lock stable time before next command after Clock Stop Exit. Recommended settings: - mDDR: 1 - LPDDR2: tXP + 2 - LPDDR3: tXP +
		2 - LPDDR4: tXP + 2 For configurations with MEMC_FREQ_RATIO=2, program this to recommended value divided by two and round it 
		p to next integer. This is only present for designs supporting 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. 
		ecommended settings: - mDDR: 0 - LPDDR2: 2 - LPDDR3: 2 - LPDDR4: tCKCKEL For configurations with MEMC_FREQ_RATIO=2, program t
		is to recommended value divided by two and round it up to next integer. This is only present for designs supporting mDDR or L
		DDR2/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. Recommended settings: - mDDR: 0 - LPDDR2: 2 - LPDDR3: 2 - LPDDR4: 2 For configurations with MEMC_FREQ_RATIO=
		, program this to recommended value divided by two and round it up to next integer. This is only present for designs supporti
		g 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_RAT
		O=2, program this to the above value divided by 2 and round up to next integer value. Unit: Multiples of 32 clocks. Note: Thi
		 is applicable to only ZQCL/ZQCS commands. 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 Self Refresh Abort. For configurations with MEMC_FREQ_
		ATIO=2, program this to the above value divided by 2 and round up to next integer value. Unit: Multiples of 32 clocks. Note: 
		nsure 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 configurations with MEMC_FREQ_RATIO=2, program this to the 
		bove value divided by 2 and round up to next integer value. Unit: Multiples of 32 clocks. Note: Used only for DDR2, DDR3 and 
		DR4 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 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: 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 only 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 different bank group. For bank switching (from bank 'a' 
		o bank 'b'), the minimum time is this value + 1. For configurations with MEMC_FREQ_RATIO=2, program this to (tCCD_S/2) and ro
		nd 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 different bank group. For configurations with MEMC_FREQ_
		ATIO=2, program this to (tRRD_S/2) and round it up to the next integer value. Present only in designs configured to support D
		R4. 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 turn
		round, recovery times, and all per-bank, per-rank, and global constraints. Present only in designs configured to support DDR4
		 Unit: Clocks. Where: - CWL = CAS write latency - PL = Parity latency - BL = burst length. This must match the value programm
		d in the BL bit of the mode register to the SDRAM - tWTR_S = internal write to read command delay for different bank group. T
		is comes directly from the SDRAM specification. For configurations with MEMC_FREQ_RATIO=2, divide the value calculated using 
		he 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 DLL. 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 configured to support DDR4. Unit: Mult
		ples 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 t
		 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 integer value. Present only in designs configured to support DDR4. Unit: Clocks.*/
#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 in designs configured to support DDR4. Unit: Clocks. F
		r configurations with MEMC_FREQ_RATIO=2, divide the value calculated using the above equation by 2, and round it up to next i
		teger.*/
#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 larger of tESCKE or tCMDCKE For configurations with MEMC_
		REQ_RATIO=2, program this to (max(tESCKE, tCMDCKE)/2) and round it up to next integer value.*/
#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 configurations with MEMC_FREQ_RATIO=2, program this to (tCKEHCM
		/2) and round it up 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 th
		s 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. Register DBGCMD.zq_calib_short can be used instead to is
		ue ZQ calibration request from APB module. - 0 - Internally generate ZQCS/MPC(ZQ calibration) commands based on ZQCTL1.t_zq_s
		ort_interval_x1024. This is only present 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-Refresh/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 calibration) command at Self-Refresh/SR-Power
		own exit. Only applicable when run in DDR3 or DDR4 or LPDDR2 or LPDDR3 or LPDDR4 mode. This is only present for designs suppo
		ting 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/ZQCL/ZQCS/MPC(ZQ calibration) commands are sent to one r
		nk at a time with tZQinit/tZQCL/tZQCS/tZQCAL/tZQLAT timing met between commands so that commands to different ranks do not ov
		rlap. - 0 - ZQ resistor is not shared. This is only present for designs supporting DDR3/DDR4 or LPDDR2/LPDDR3/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 
		ssuing of ZQCL command at Maximum Power Saving Mode exit. Only applicable when run in DDR4 mode. This is only present for des
		gns 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: Number of cycles of NOP required after a ZQCL (ZQ calibrat
		on long)/MPC(ZQ Start) command is issued to SDRAM. For configurations with MEMC_FREQ_RATIO=2: DDR3/DDR4: program this to tZQo
		er/2 and round it up to the next integer value. LPDDR2/LPDDR3: program this to tZQCL/2 and round it up to the next integer va
		ue. LPDDR4: program this to tZQCAL/2 and round it up to the next integer value. Unit: Clock cycles. This is only present for 
		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 this to tZQCS/2 and round it up to t
		e next integer value. Unit: Clock cycles. This is only present for designs supporting DDR3/DDR4 or LPDDR2/LPDDR3/LPDDR4 devic
		s.*/
#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 calibration Reset) command is issued to SDRAM. For configurati
		ns with MEMC_FREQ_RATIO=2, program this to tZQReset/2 and round it up to the next integer value. Unit: Clock cycles. This is 
		nly present for designs supporting LPDDR2/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 calibration short)/MPC(ZQ calibration) commands to DDR3/DDR4/
		PDDR2/LPDDR3/LPDDR4 devices. Meaningless, if ZQCTL0.dis_auto_zq=1. Unit: 1024 clock cycles. This is only present for designs 
		upporting 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-assertion of the DFI control signals that the control signa
		s at the PHY-DRAM interface reflect the assertion or de-assertion. If the DFI clock and the memory clock are not phase-aligne
		, this timing parameter should be rounded up to the next integer value. Note that if using RDIMM, it is necessary to incremen
		 this parameter by RDIMM's extra cycle of latency in terms 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 using HDR or SDR values Selects whether value in DFITM
		0.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 R
		fer 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 assertion of the dfi_rddata_en signal. Refer to PHY spe
		ification for correct value. This corresponds to the DFI parameter trddata_en. Note that, depending on the PHY, if using RDIM
		, it may be necessary to use the value (CL + 1) in the calculation of trddata_en. This is to compensate for the extra cycle o
		 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 using HDR or SDR values Selects whether value in DFITMG
		.dfi_tphy_wrlat is in terms of SDR or HDR clock cycles Selects whether value in DFITMG0.dfi_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 specification for correct val
		e.*/
#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 asserted to when the associated write data is driven on th
		 dfi_wrdata signal. This corresponds to the DFI timing parameter tphy_wrdata. Refer to PHY specification for correct value. N
		te, 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 enable (dfi_wrdata_en). This corresponds to the DFI timin
		 parameter tphy_wrlat. Refer to PHY specification for correct value.Note that, depending on the PHY, if using RDIMM, it may b
		 necessary to use the value (CL + 1) in the calculation of tphy_wrlat. This is to compensate for the extra cycle of latency t
		rough 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. 
		his field is used for CAL mode, should be set to '0' or the value which matches the CAL mode 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 signa
		 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 tr
		nsfer is completed on the DRAM bus. This corresponds to the DFI timing parameter twrdata_delay. Refer to PHY specification fo
		 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 
		phy_wrdata + (delay of DFI write data to the DRAM). Value 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. Uni
		: 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_dram_clk_disable signal on the DFI until the clock to 
		he DRAM memory devices, at the PHY-DRAM boundary, maintains a low value. If the DFI clock and the memory clock are not phase 
		ligned, 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 dfi_dram_clk_disable signal on the DFI until the first 
		alid rising edge of 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 parameter 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 Savi
		g modes. DFI 2.1 specification 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 entered. Determines the DFI's tlp_wakeup time: - 0x0 - 16
		cycles - 0x1 - 32 cycles - 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 cycles - 0xD - 
		31072 cycles - 0xE - 262144 cycles - 0xF - Unlimited This is only present for designs supporting mDDR or LPDDR2/LPDDR3 device
		.*/
#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 pres
		nt for designs supporting 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 cy
		les - 0x1 - 32 cycles - 0x2 - 64 cycles - 0x3 - 128 cycles - 0x4 - 256 cycles - 0x5 - 512 cycles - 0x6 - 1024 cycles - 0x7 - 
		048 cycles - 0x8 - 4096 cycles - 0x9 - 8192 cycles - 0xA - 16384 cycles - 0xB - 32768 cycles - 0xC - 65536 cycles - 0xD - 131
		72 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/Exit. - 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 cycl
		s - 0x1 - 32 cycles - 0x2 - 64 cycles - 0x3 - 128 cycles - 0x4 - 256 cycles - 0x5 - 512 cycles - 0x6 - 1024 cycles - 0x7 - 20
		8 cycles - 0x8 - 4096 cycles - 0x9 - 8192 cycles - 0xA - 16384 cycles - 0xB - 32768 cycles - 0xC - 65536 cycles - 0xD - 13107
		 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 - 0x5 - 512 cycles - 0x6 - 1024 cycles 
		 0x7 - 2048 cycles - 0x8 - 4096 cycles - 0x9 - 8192 cycles - 0xA - 16384 cycles - 0xB - 32768 cycles - 0xC - 65536 cycles - 0
		D - 131072 cycles - 0xE - 262144 cycles - 0xF - Unlimited 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 designs 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

/*This is the minimum amount of time between uMCTL2 initiated DFI update requests (which is executed whenever the uMCTL2 is idl
		). Set this number higher to reduce the frequency of update requests, which can have a small impact on the latency of the fir
		t read request when the uMCTL2 is idle. 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 requests. This timer resets with each update request; 
		hen the timer expires 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 lines to the DLLs. The DFI controller update is also used to reset PHY FIFO pointers in ca
		e of data capture errors. Updates are required to maintain 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_x
		024. Unit: 1024 clocks*/
#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: Signals 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 configured 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_complete signal can be used to trigger SDRAM initialisa
		ion*/
#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 sign
		l is asserted. This corresponds to the DFI timing parameter tphy_rdcslat. Refer to PHY specification 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 sign
		l is asserted. This corresponds to the DFI timing parameter tphy_wrcslat. Refer to PHY specification 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 DBI is enabled. This signal must be set the same value
		as DRAM's mode register. - DDR4: MR5 bit A12. When x4 devices are used, this signal must be 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 - Write DBI is enabled. This signal must be set the same va
		ue as DRAM's mode register. - DDR4: MR5 bit A11. When x4 devices are used, this signal must 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. This signal must be set the same logical value as DRAM's
		mode register. - DDR4: Set this to same value as MR5 bit A10. When x4 devices are used, this signal must be set to 0. - LPDDR
		: 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 to 27, and 31 Internal Base: 6 The selected HIF addres
		 bit is determined by adding the internal base to the value of this field. If set to 31, rank 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 to 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, bank 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 f
		r 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 f
		r 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 address bit 5. - Half bus width mode: Selects the HIF addre
		s bit used as column address bit 6. - Quarter bus width mode: Selects the HIF address bit used as column address bit 7 . Vali
		 Range: 0 to 7, and 15 Internal Base: 5 The selected HIF address bit is determined by adding the internal base to the value o
		 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 address bit 4. - Half bus width mode: Selects the HIF addre
		s bit used as column 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 base to the value of
		this field. If set to 15, this column address bit is set 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 address bit 3. - Half bus width mode: Selects the HIF addre
		s bit used as column 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 selected HIF address bit is determined by adding the internal base to the value of this fi
		ld. Note, if UMCTL2_INCL_ARB=1 and MEMC_BURST_LENGTH=16, it is required to program this to 0, hence register does not exist i
		 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 address bit 2. - Half bus width mode: Selects the HIF addre
		s bit used as column 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 selected HIF address bit is determined by adding the internal base to the value of this fi
		ld. 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 address bit 9. - Half bus width mode: Selects the HIF addre
		s bit used as column 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 i
		 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: 
		er JEDEC DDR2/3/mDDR specification, column address bit 10 is reserved for indicating auto-precharge, and hence no source addr
		ss bit can be mapped to column address bit 10. In LPDDR2/LPDDR3, there is a dedicated bit for auto-precharge in the CA bus an
		 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 address bit 8. - Half bus width mode: Selects the HIF addre
		s bit used as column address bit 9. - Quarter bus width mode: Selects the HIF address bit used as column address bit 11 (10 i
		 LPDDR2/LPDDR3 mode). Valid Range: 0 to 7, and 15 Internal Base: 8 The selected HIF address bit is determined by adding the i
		ternal 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 specif
		cation, column address bit 10 is reserved for indicating auto-precharge, and hence no source address bit can be mapped to col
		mn address bit 10. In LPDDR2/LPDDR3, there is a dedicated bit for auto-precharge in the CA bus and hence column bit 10 is use
		.*/
#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 address bit 7. - Half bus width mode: Selects the HIF addre
		s bit used as column 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 base to the value of
		this field. If set to 15, this column address bit is set 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 address bit 6. - Half bus width mode: Selects the HIF addre
		s bit used as column 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 base to the value of
		this field. If set to 15, this column address bit is set 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 address bit 13 (11 in LPDDR2/LPDDR3 mode). - Half bus width
		mode: Unused. To make it unused, this should be tied to 4'hF. - Quarter bus width mode: Unused. To make it unused, this must 
		e tied to 4'hF. Valid Range: 0 to 7, and 15 Internal Base: 11 The selected HIF address bit is determined by adding the intern
		l 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 specificati
		n, column address bit 10 is reserved for indicating auto-precharge, and hence no source address bit can be mapped to column a
		dress 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_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 address 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 d
		termined 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 specification, 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 h
		nce 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 to 11, and 15 Internal Base: 17 The selected HIF addre
		s bit is determined 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 Range: 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 row address bit 10) The selected HIF 
		ddress bit for each of the row address bits is determined by adding the internal base to the value of this field. When value 
		5 is used the values of row address bits 2 to 10 are defined 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 to 11 Internal Base: 7 The selected HIF address bit fo
		 each of the row address bits is determined by adding the internal base to the value of this 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 to 11 Internal Base: 6 The selected HIF address bit fo
		 each of the row address bits is determined by adding the internal base to the value of this 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 on
		y in designs configured to support LPDDR3.*/
#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 to 11, and 15 Internal Base: 21 The selected HIF addre
		s bit is determined 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 to 11, and 15 Internal Base: 20 The selected HIF addre
		s bit is determined 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 to 11, and 15 Internal Base: 19 The selected HIF addre
		s bit is determined 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 to 11, and 15 Internal Base: 18 The selected HIF addre
		s bit is determined 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 to 10, and 15 Internal Base: 23 The selected HIF addre
		s bit is determined 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 to 11, and 15 Internal Base: 22 The selected HIF addre
		s bit is determined 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 Range: 0 to 30, and 31 Internal Base: 3 The selected HIF
		address bit for each of the bank group address bits is determined by adding the internal base to the value of this field. If 
		et to 31, bank group address bit 1 is 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 Range: 0 to 30 Internal Base: 2 The selected HIF address
		bit for each of the bank group address bits is determined by adding the internal base to the 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 to 11 Internal Base: 11 The selected HIF address bit f
		r each of the row address bits is determined by adding the internal base to the value of this field. This register field is u
		ed 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 to 11 Internal Base: 10 The selected HIF address bit f
		r each of the row address bits is determined by adding the internal base to the value of this field. This register field is u
		ed 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 to 11 Internal Base: 9 The selected HIF address bit fo
		 each of the row address bits is determined by adding the internal base to the value of this field. This register field is us
		d 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 to 11 Internal Base: 8 The selected HIF address bit fo
		 each of the row address bits is determined by adding the internal base to the value of this field. This register field is us
		d 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 to 11 Internal Base: 15 The selected HIF address bit f
		r each of the row address bits is determined by adding the internal base to the value of this field. This register field is u
		ed 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 to 11 Internal Base: 14 The selected HIF address bit f
		r each of the row address bits is determined by adding the internal base to the value of this field. This register field is u
		ed 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 to 11 Internal Base: 13 The selected HIF address bit f
		r each of the row address bits is determined by adding the internal base to the value of this field. This register field is u
		ed 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 to 11 Internal Base: 12 The selected HIF address bit f
		r each of the row address bits is determined by adding the internal base to the value of this field. This register field is u
		ed 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 
		or each of the row address bits is determined by adding the internal base to the value of this field. This register field is 
		sed only when ADDRMAP5.addrmap_row_b2_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/
		67), 0x6 (DDR2-800), 0x7 (DDR2-1066) - BL4: 0x3 (DDR2-400/533/667), 0x4 (DDR2-800), 0x5 (DDR2-1066) DDR3: - BL8: 0x6 DDR4: - 
		L8: 5 + WR_PREAMBLE + CRC_MODE WR_PREAMBLE = 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 for the entire time that DQS is driven by the uMCTL2. Recommended values: DDR2: - CWL + AL - 3 (DDR2-400/533/
		67), CWL + AL - 4 (DDR2-800), CWL + AL - 5 (DDR2-1066) If (CWL + AL - 3 < 0), uMCTL2 does not support ODT for 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 (
		tCK write preamble), 2 (2tCK write preamble) LPDDR3: - BL8: 5 + RU(tDQSCK(max)/tCK) - RD(tDQSCK(min)/tCK) + RU(tODTon(max)/tC
		)*/
#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 values associated with that command. ODT setting must 
		emain constant for the entire time that DQS is driven by the uMCTL2. Recommended values: DDR2: - 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 - CWL DDR4: - CL - C
		L - 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 preamble) If (CL - CWL - RD_PREAMBLE + WR_PREAMBLE) < 0,
		uMCTL2 does not support ODT for read operation. LPDDR3: - RL + RD(tDQSCK(min)/tCK) - 1 - RU(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 
		e turned on by setting 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 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 b
		 turned on by setting 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 ranks*/
#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 
		e turned on by setting 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_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 b
		 turned on by setting 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 cycles, switch to the alternate transaction store if it is
		non-empty. The read transaction store (both high and low priority) is the default preferred transaction store and the write t
		ansaction store is the alternative store. When prefer write over read is set this is reversed. 0x0 is a legal value for this 
		egister. When set to 0x0, the transaction store switching will happen immediately when the switching conditions become true. 
		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)) i
		 the number of entries available for the high priority transaction store. Setting this to maximum value allocates all entries
		to low priority transaction store. Setting this to 0 allocates 1 entry to low priority transaction store and the rest to high
		priority transaction store. Note: In ECC configurations, the numbers of write and low priority read credits issued is one les
		 than in the non-ECC case. One entry each is reserved in the write and low-priority read CAMs for storing the RMW requests ar
		sing 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 available in the CAM to that bank. The last read or wri
		e command in the CAM with a bank and page hit will be executed with auto-precharge if SCHED1.pageclose_timer=0. Even if this 
		egister set to 1 and SCHED1.pageclose_timer is set to 0, explicit precharge (and not auto-precharge) may be issued in some ca
		es where there is a mode switch between Write and Read or between LPR and HPR. The Read and Write commands that are executed 
		s part of the ECC scrub requests are also executed without auto-precharge. If false, the bank remains open until there is a n
		ed to close it (to open a different page, or for page timeout or refresh timeout) - also known as open page policy. The open 
		age policy can be overridden by setting the per-command-autopre bit on the HIF interface (hif_cmd_autopre). The pageclose fea
		ure provids a midway between Open and Close page policies. 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 forced to low priority. This implies that all High Prio
		ity Read (HPR) and Variable Priority Read commands (VPR) will be treated as Low Priority Read (LPR) commands. On the write si
		e, all Variable Priority Write (VPW) commands will be treated as Normal Priority Write (NPW) commands. Forcing the incoming t
		ansactions 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 critical is the smaller of: - (a) This number - (b) Number o
		 transactions available. 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 critical. The minimum valid functional value for this regis
		er is 0x1. Programming it to 0x0 will disable the starvation functionality; during normal operation, this function should not
		be disabled as it will cause excessive 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 available. 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 critical. The minimum valid functional value for this regist
		r is 0x1. Programming it to 0x0 will disable the starvation functionality; during normal operation, this function should not 
		e disabled as it will cause excessive 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

/*All even ranks have the same DQ mapping controled by DQMAP0-4 register as rank 0. This register provides DQ swap function for
		all odd ranks to support CRC feature. rank based DQ swapping is: swap bit 0 with 1, swap bit 2 with 3, swap bit 4 with 5 and 
		wap bit 6 with 7. 1: Disable rank based DQ swapping 0: Enable rank based DQ swapping Present only in designs configured to su
		port 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 command in a collision case. Collision cases are write fo
		lowed by read to same address, read followed by write to same address, or write followed by write to same address with DBG0.d
		s_wc bit = 1 (where same address comparisons exclude the two address bits representing critical word). FOR DEBUG 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 triggered 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 ignored 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_short 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_ctrlupd_req to the PHY. When this request is stored in 
		he uMCTL2, the bit is automatically cleared. This operation must only be performed when DFIUPD0.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 
		he SDRAM. When this request is stored in the uMCTL2, the bit is automatically cleared. This operation can be performed only w
		en ZQCTL0.dis_auto_zq=1. It is recommended NOT to set this register bit if in Init operating mode. This register bit is ignor
		d when in Self-Refresh(except LPDDR4) and SR-Powerdown(LPDDR4) and Deep power-down operating modes and Maximum Power Saving M
		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 refresh 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 stored 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 Init or Deep power-d
		wn 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 refresh 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 stored 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 Init or Deep power-d
		wn 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 register to 0 to enable quasi-dynamic programming. Set back 
		egister 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 expands every AXI burst into multiple HIF commands, using t
		e memory burst length as a unit. If set to 1, then XPI will use half of the memory burst length as a unit. This applies to bo
		h reads and writes. When MSTR.data_bus_width==00, setting bl_exp_mode to 1 has no effect. This can be used in cases where Par
		ial Writes is enabled (UMCTL2_PARTIAL_WR=1) and DBG0.dis_wc=1, in order to avoid or minimize t_ccd_l penalty in DDR4 and t_cc
		_mw penalty in LPDDR4. Note that if DBICTL.reg_ddrc_dm_en=0, functionality is not supported in the following cases: - UMCTL2_
		ARTIAL_WR=0 - UMCTL2_PARTIAL_WR=1, MSTR.reg_ddrc_data_bus_width=01, MEMC_BURST_LENGTH=8 and MSTR.reg_ddrc_burst_rdwr=1000 (LP
		DR4 only) - UMCTL2_PARTIAL_WR=1, MSTR.reg_ddrc_data_bus_width=01, MEMC_BURST_LENGTH=4 and MSTR.reg_ddrc_burst_rdwr=0100 (DDR4
		only), with either MSTR.reg_ddrc_burstchop=0 or CRCPARCTL1.reg_ddrc_crc_enable=1 Functionality is also not supported if Share
		-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 same page DDRC transactions that can be granted by the P
		rt Arbiter to four when Page Match feature is enabled. If set to 0, there is no limit imposed on number of consecutive same p
		ge 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_lpr/co_gs_go2critical_hpr signals going to DDRC based 
		n urgent input (awurgent, arurgent) coming from AXI master. If set to 0 (disabled), co_gs_go2critical_wr and co_gs_go2critica
		_lpr/co_gs_go2critical_hpr signals at 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 requesting port is granted, the port is continued to be grant
		d if the following immediate commands are to the same memory page (same bank and same row). See also related PCCFG.pagematch_
		imit 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 enabled and arurgent is asserted by the master, that por
		 becomes the highest priority and co_gs_go2critical_lpr/co_gs_go2critical_hpr signal to DDRC is asserted if enabled in PCCFG.
		o2critical_en register. Note that arurgent signal can be asserted anytime and as long as required which is independent of add
		ess handshaking (it is not associated with any particular 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 g
		ant to the corresponding port. The aging counters down-count every clock cycle where the port is requesting but not granted. 
		he 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 corre
		ponding port channel will have the highest priority level (timeout condition - Priority0). For multi-port configurations, the
		aging counters cannot be used to set port priorities when external dynamic priority inputs (arqos) are enabled (timeout is st
		ll applicable). For single port configurations, the aging counters are only used when they timeout (become 0) to force read-w
		ite direction switching. In this case, external dynamic priority input, arqos (for reads only) can still be used to set the D
		RC read priority (2 priority levels: low priority read - LPR, high priority read - HPR) on a command by command basis. Note: 
		he two LSBs of this 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 requesting port is granted, the port is continued to be grant
		d if the following immediate commands are to the same memory page (same bank and same row). See also related PCCFG.pagematch_
		imit 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 enabled and awurgent is asserted by the master, that por
		 becomes the highest priority and co_gs_go2critical_wr signal to DDRC is asserted if enabled in PCCFG.go2critical_en register
		 Note that awurgent signal can be asserted anytime and as long as required which is independent of address handshaking (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 counters will be parallel loaded after reset, or after each 
		rant to the corresponding 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-bits of the counter starts to decrease. When the aging counter becomes 0
		 the corresponding port channel will have the highest priority level. For multi-port configurations, the aging counters canno
		 be used to set port priorities when external dynamic priority inputs (awqos) are enabled (timeout is still applicable). For 
		ingle port configurations, the aging counters are only used when they timeout (become 0) to force read-write direction switch
		ng. 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 conf
		gurations, region1 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 traffic 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 confi
		urations, region 0 maps to the blue address queue. In this case, valid values are: 0: LPR and 1: VPR only. When VPR support i
		 disabled (UMCTL2_VPR_EN = 0) and traffic 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 region0 is 0. Possible values for level1 are 0 to 13 (for d
		al RAQ) or 0 to 14 (for single RAQ) which corresponds to arqos. Note that for PA, arqos values are used directly as port prio
		ities, where the higher the value corresponds to higher port priority. All of the map_level* registers must be set to distinc
		 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 queue.*/
#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 requesting port is granted, the port is continued to be grant
		d if the following immediate commands are to the same memory page (same bank and same row). See also related PCCFG.pagematch_
		imit 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 enabled and arurgent is asserted by the master, that por
		 becomes the highest priority and co_gs_go2critical_lpr/co_gs_go2critical_hpr signal to DDRC is asserted if enabled in PCCFG.
		o2critical_en register. Note that arurgent signal can be asserted anytime and as long as required which is independent of add
		ess handshaking (it is not associated with any particular 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 g
		ant to the corresponding port. The aging counters down-count every clock cycle where the port is requesting but not granted. 
		he 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 corre
		ponding port channel will have the highest priority level (timeout condition - Priority0). For multi-port configurations, the
		aging counters cannot be used to set port priorities when external dynamic priority inputs (arqos) are enabled (timeout is st
		ll applicable). For single port configurations, the aging counters are only used when they timeout (become 0) to force read-w
		ite direction switching. In this case, external dynamic priority input, arqos (for reads only) can still be used to set the D
		RC read priority (2 priority levels: low priority read - LPR, high priority read - HPR) on a command by command basis. Note: 
		he two LSBs of this 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 requesting port is granted, the port is continued to be grant
		d if the following immediate commands are to the same memory page (same bank and same row). See also related PCCFG.pagematch_
		imit 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 enabled and awurgent is asserted by the master, that por
		 becomes the highest priority and co_gs_go2critical_wr signal to DDRC is asserted if enabled in PCCFG.go2critical_en register
		 Note that awurgent signal can be asserted anytime and as long as required which is independent of address handshaking (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 counters will be parallel loaded after reset, or after each 
		rant to the corresponding 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-bits of the counter starts to decrease. When the aging counter becomes 0
		 the corresponding port channel will have the highest priority level. For multi-port configurations, the aging counters canno
		 be used to set port priorities when external dynamic priority inputs (awqos) are enabled (timeout is still applicable). For 
		ingle port configurations, the aging counters are only used when they timeout (become 0) to force read-write direction switch
		ng. 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 queue configurations, region2 maps to the red address 
		ueue. Valid values are 1: VPR and 2: HPR only. When VPR support is disabled (UMCTL2_VPR_EN = 0) and traffic class of region2 
		s set to 1 (VPR), VPR traffic is aliased 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 conf
		gurations, region1 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 traffic 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 confi
		urations, region 0 maps to the blue address queue. In this case, valid values are: 0: LPR and 1: VPR only. When VPR support i
		 disabled (UMCTL2_VPR_EN = 0) and traffic 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 region1 is (level1 + 1). Possible values for level2 are (le
		el1 + 1) to 14 which corresponds to arqos. Region2 starts from (level2 + 1) up to 15. Note that for PA, arqos values are used
		directly as port priorities, where the higher the value corresponds to higher port priority. All of the map_level* registers 
		ust 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 region0 is 0. Possible values for level1 are 0 to 13 (for d
		al RAQ) or 0 to 14 (for single RAQ) which corresponds to arqos. Note that for PA, arqos values are used directly as port prio
		ities, where the higher the value corresponds to higher port priority. All of the map_level* registers must be set to distinc
		 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 queue.*/
#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 requesting port is granted, the port is continued to be grant
		d if the following immediate commands are to the same memory page (same bank and same row). See also related PCCFG.pagematch_
		imit 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 enabled and arurgent is asserted by the master, that por
		 becomes the highest priority and co_gs_go2critical_lpr/co_gs_go2critical_hpr signal to DDRC is asserted if enabled in PCCFG.
		o2critical_en register. Note that arurgent signal can be asserted anytime and as long as required which is independent of add
		ess handshaking (it is not associated with any particular 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 g
		ant to the corresponding port. The aging counters down-count every clock cycle where the port is requesting but not granted. 
		he 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 corre
		ponding port channel will have the highest priority level (timeout condition - Priority0). For multi-port configurations, the
		aging counters cannot be used to set port priorities when external dynamic priority inputs (arqos) are enabled (timeout is st
		ll applicable). For single port configurations, the aging counters are only used when they timeout (become 0) to force read-w
		ite direction switching. In this case, external dynamic priority input, arqos (for reads only) can still be used to set the D
		RC read priority (2 priority levels: low priority read - LPR, high priority read - HPR) on a command by command basis. Note: 
		he two LSBs of this 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 requesting port is granted, the port is continued to be grant
		d if the following immediate commands are to the same memory page (same bank and same row). See also related PCCFG.pagematch_
		imit 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 enabled and awurgent is asserted by the master, that por
		 becomes the highest priority and co_gs_go2critical_wr signal to DDRC is asserted if enabled in PCCFG.go2critical_en register
		 Note that awurgent signal can be asserted anytime and as long as required which is independent of address handshaking (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 counters will be parallel loaded after reset, or after each 
		rant to the corresponding 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-bits of the counter starts to decrease. When the aging counter becomes 0
		 the corresponding port channel will have the highest priority level. For multi-port configurations, the aging counters canno
		 be used to set port priorities when external dynamic priority inputs (awqos) are enabled (timeout is still applicable). For 
		ingle port configurations, the aging counters are only used when they timeout (become 0) to force read-write direction switch
		ng. 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 queue configurations, region2 maps to the red address 
		ueue. Valid values are 1: VPR and 2: HPR only. When VPR support is disabled (UMCTL2_VPR_EN = 0) and traffic class of region2 
		s set to 1 (VPR), VPR traffic is aliased 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 conf
		gurations, region1 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 traffic 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 confi
		urations, region 0 maps to the blue address queue. In this case, valid values are: 0: LPR and 1: VPR only. When VPR support i
		 disabled (UMCTL2_VPR_EN = 0) and traffic 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 region1 is (level1 + 1). Possible values for level2 are (le
		el1 + 1) to 14 which corresponds to arqos. Region2 starts from (level2 + 1) up to 15. Note that for PA, arqos values are used
		directly as port priorities, where the higher the value corresponds to higher port priority. All of the map_level* registers 
		ust 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 region0 is 0. Possible values for level1 are 0 to 13 (for d
		al RAQ) or 0 to 14 (for single RAQ) which corresponds to arqos. Note that for PA, arqos values are used directly as port prio
		ities, where the higher the value corresponds to higher port priority. All of the map_level* registers must be set to distinc
		 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 queue.*/
#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 requesting port is granted, the port is continued to be grant
		d if the following immediate commands are to the same memory page (same bank and same row). See also related PCCFG.pagematch_
		imit 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 enabled and arurgent is asserted by the master, that por
		 becomes the highest priority and co_gs_go2critical_lpr/co_gs_go2critical_hpr signal to DDRC is asserted if enabled in PCCFG.
		o2critical_en register. Note that arurgent signal can be asserted anytime and as long as required which is independent of add
		ess handshaking (it is not associated with any particular 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 g
		ant to the corresponding port. The aging counters down-count every clock cycle where the port is requesting but not granted. 
		he 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 corre
		ponding port channel will have the highest priority level (timeout condition - Priority0). For multi-port configurations, the
		aging counters cannot be used to set port priorities when external dynamic priority inputs (arqos) are enabled (timeout is st
		ll applicable). For single port configurations, the aging counters are only used when they timeout (become 0) to force read-w
		ite direction switching. In this case, external dynamic priority input, arqos (for reads only) can still be used to set the D
		RC read priority (2 priority levels: low priority read - LPR, high priority read - HPR) on a command by command basis. Note: 
		he two LSBs of this 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 requesting port is granted, the port is continued to be grant
		d if the following immediate commands are to the same memory page (same bank and same row). See also related PCCFG.pagematch_
		imit 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 enabled and awurgent is asserted by the master, that por
		 becomes the highest priority and co_gs_go2critical_wr signal to DDRC is asserted if enabled in PCCFG.go2critical_en register
		 Note that awurgent signal can be asserted anytime and as long as required which is independent of address handshaking (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 counters will be parallel loaded after reset, or after each 
		rant to the corresponding 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-bits of the counter starts to decrease. When the aging counter becomes 0
		 the corresponding port channel will have the highest priority level. For multi-port configurations, the aging counters canno
		 be used to set port priorities when external dynamic priority inputs (awqos) are enabled (timeout is still applicable). For 
		ingle port configurations, the aging counters are only used when they timeout (become 0) to force read-write direction switch
		ng. 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 conf
		gurations, region1 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 traffic 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 confi
		urations, region 0 maps to the blue address queue. In this case, valid values are: 0: LPR and 1: VPR only. When VPR support i
		 disabled (UMCTL2_VPR_EN = 0) and traffic 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 region0 is 0. Possible values for level1 are 0 to 13 (for d
		al RAQ) or 0 to 14 (for single RAQ) which corresponds to arqos. Note that for PA, arqos values are used directly as port prio
		ities, where the higher the value corresponds to higher port priority. All of the map_level* registers must be set to distinc
		 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 queue.*/
#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 traffic 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 traffic 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 c
		rresponds to awqos. Note that for PA, awqos values are used directly as port priorities, where the higher the value correspon
		s 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 requesting port is granted, the port is continued to be grant
		d if the following immediate commands are to the same memory page (same bank and same row). See also related PCCFG.pagematch_
		imit 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 enabled and arurgent is asserted by the master, that por
		 becomes the highest priority and co_gs_go2critical_lpr/co_gs_go2critical_hpr signal to DDRC is asserted if enabled in PCCFG.
		o2critical_en register. Note that arurgent signal can be asserted anytime and as long as required which is independent of add
		ess handshaking (it is not associated with any particular 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 g
		ant to the corresponding port. The aging counters down-count every clock cycle where the port is requesting but not granted. 
		he 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 corre
		ponding port channel will have the highest priority level (timeout condition - Priority0). For multi-port configurations, the
		aging counters cannot be used to set port priorities when external dynamic priority inputs (arqos) are enabled (timeout is st
		ll applicable). For single port configurations, the aging counters are only used when they timeout (become 0) to force read-w
		ite direction switching. In this case, external dynamic priority input, arqos (for reads only) can still be used to set the D
		RC read priority (2 priority levels: low priority read - LPR, high priority read - HPR) on a command by command basis. Note: 
		he two LSBs of this 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 requesting port is granted, the port is continued to be grant
		d if the following immediate commands are to the same memory page (same bank and same row). See also related PCCFG.pagematch_
		imit 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 enabled and awurgent is asserted by the master, that por
		 becomes the highest priority and co_gs_go2critical_wr signal to DDRC is asserted if enabled in PCCFG.go2critical_en register
		 Note that awurgent signal can be asserted anytime and as long as required which is independent of address handshaking (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 counters will be parallel loaded after reset, or after each 
		rant to the corresponding 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-bits of the counter starts to decrease. When the aging counter becomes 0
		 the corresponding port channel will have the highest priority level. For multi-port configurations, the aging counters canno
		 be used to set port priorities when external dynamic priority inputs (awqos) are enabled (timeout is still applicable). For 
		ingle port configurations, the aging counters are only used when they timeout (become 0) to force read-write direction switch
		ng. 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 conf
		gurations, region1 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 traffic 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 confi
		urations, region 0 maps to the blue address queue. In this case, valid values are: 0: LPR and 1: VPR only. When VPR support i
		 disabled (UMCTL2_VPR_EN = 0) and traffic 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 region0 is 0. Possible values for level1 are 0 to 13 (for d
		al RAQ) or 0 to 14 (for single RAQ) which corresponds to arqos. Note that for PA, arqos values are used directly as port prio
		ities, where the higher the value corresponds to higher port priority. All of the map_level* registers must be set to distinc
		 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 queue.*/
#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 traffic 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 traffic 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 c
		rresponds to awqos. Note that for PA, awqos values are used directly as port priorities, where the higher the value correspon
		s 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 requesting port is granted, the port is continued to be grant
		d if the following immediate commands are to the same memory page (same bank and same row). See also related PCCFG.pagematch_
		imit 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 enabled and arurgent is asserted by the master, that por
		 becomes the highest priority and co_gs_go2critical_lpr/co_gs_go2critical_hpr signal to DDRC is asserted if enabled in PCCFG.
		o2critical_en register. Note that arurgent signal can be asserted anytime and as long as required which is independent of add
		ess handshaking (it is not associated with any particular 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 g
		ant to the corresponding port. The aging counters down-count every clock cycle where the port is requesting but not granted. 
		he 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 corre
		ponding port channel will have the highest priority level (timeout condition - Priority0). For multi-port configurations, the
		aging counters cannot be used to set port priorities when external dynamic priority inputs (arqos) are enabled (timeout is st
		ll applicable). For single port configurations, the aging counters are only used when they timeout (become 0) to force read-w
		ite direction switching. In this case, external dynamic priority input, arqos (for reads only) can still be used to set the D
		RC read priority (2 priority levels: low priority read - LPR, high priority read - HPR) on a command by command basis. Note: 
		he two LSBs of this 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 requesting port is granted, the port is continued to be grant
		d if the following immediate commands are to the same memory page (same bank and same row). See also related PCCFG.pagematch_
		imit 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 enabled and awurgent is asserted by the master, that por
		 becomes the highest priority and co_gs_go2critical_wr signal to DDRC is asserted if enabled in PCCFG.go2critical_en register
		 Note that awurgent signal can be asserted anytime and as long as required which is independent of address handshaking (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 counters will be parallel loaded after reset, or after each 
		rant to the corresponding 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-bits of the counter starts to decrease. When the aging counter becomes 0
		 the corresponding port channel will have the highest priority level. For multi-port configurations, the aging counters canno
		 be used to set port priorities when external dynamic priority inputs (awqos) are enabled (timeout is still applicable). For 
		ingle port configurations, the aging counters are only used when they timeout (become 0) to force read-write direction switch
		ng. 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 conf
		gurations, region1 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 traffic 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 confi
		urations, region 0 maps to the blue address queue. In this case, valid values are: 0: LPR and 1: VPR only. When VPR support i
		 disabled (UMCTL2_VPR_EN = 0) and traffic 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 region0 is 0. Possible values for level1 are 0 to 13 (for d
		al RAQ) or 0 to 14 (for single RAQ) which corresponds to arqos. Note that for PA, arqos values are used directly as port prio
		ities, where the higher the value corresponds to higher port priority. All of the map_level* registers must be set to distinc
		 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 queue.*/
#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 traffic 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 traffic 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 c
		rresponds to awqos. Note that for PA, awqos values are used directly as port priorities, where the higher the value correspon
		s 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 determine
		 by the minimum block 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 total size of the region in multiples of minimum block si
		e as specified by the hardware parameter UMCTL2_SARMINSIZE. The register value is encoded as number of blocks = nblocks + 1. 
		or example, if register is programmed 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 determine
		 by the minimum block 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 total size of the region in multiples of minimum block si
		e as specified by the hardware parameter UMCTL2_SARMINSIZE. The register value is encoded as number of blocks = nblocks + 1. 
		or example, if register is programmed 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-assertion of the DFI control signals that the control signa
		s at the PHY-DRAM interface reflect the assertion or de-assertion. If the DFI clock and the memory clock are not phase-aligne
		, this timing parameter should be rounded up to the next integer value. Note that if using RDIMM, it is necessary to incremen
		 this parameter by RDIMM's extra cycle of latency in terms 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 using HDR or SDR values Selects whether value in DFITM
		0.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 R
		fer 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 assertion of the dfi_rddata_en signal. Refer to PHY spe
		ification for correct value. This corresponds to the DFI parameter trddata_en. Note that, depending on the PHY, if using RDIM
		, it may be necessary to use the value (CL + 1) in the calculation of trddata_en. This is to compensate for the extra cycle o
		 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 using HDR or SDR values Selects whether value in DFITMG
		.dfi_tphy_wrlat is in terms of SDR or HDR clock cycles Selects whether value in DFITMG0.dfi_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 specification for correct val
		e.*/
#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 asserted to when the associated write data is driven on th
		 dfi_wrdata signal. This corresponds to the DFI timing parameter tphy_wrdata. Refer to PHY specification for correct value. N
		te, 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 enable (dfi_wrdata_en). This corresponds to the DFI timin
		 parameter tphy_wrlat. Refer to PHY specification for correct value.Note that, depending on the PHY, if using RDIMM, it may b
		 necessary to use the value (CL + 1) in the calculation of tphy_wrlat. This is to compensate for the extra cycle of latency t
		rough 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

/*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

/*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

/*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 d
		fault 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 value.*/
#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

/*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 DQS/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

/*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 Word) / DDR3 Control Word 11 (Operation Voltage VDD Con
		rol 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 Control 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 programmed 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 programmed 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 programmed 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 programmed 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 programmed 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 programmed 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 programmed 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 programmed 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 programmed 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 programmed 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 programmed 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 ha
		 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

/*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 indicates 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 requirements 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_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_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 drive 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 drive 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

/*Reserved. Return zeroes on reads.*/
#undef DDR_PHY_DX0LCDLR2_RESERVED_31_25_DEFVAL 
#undef DDR_PHY_DX0LCDLR2_RESERVED_31_25_SHIFT 
#undef DDR_PHY_DX0LCDLR2_RESERVED_31_25_MASK 
#define DDR_PHY_DX0LCDLR2_RESERVED_31_25_DEFVAL                                    0x00000000
#define DDR_PHY_DX0LCDLR2_RESERVED_31_25_SHIFT                                     25
#define DDR_PHY_DX0LCDLR2_RESERVED_31_25_MASK                                      0xFE000000U

/*Reserved. Caution, do not write to this register field.*/
#undef DDR_PHY_DX0LCDLR2_RESERVED_24_16_DEFVAL 
#undef DDR_PHY_DX0LCDLR2_RESERVED_24_16_SHIFT 
#undef DDR_PHY_DX0LCDLR2_RESERVED_24_16_MASK 
#define DDR_PHY_DX0LCDLR2_RESERVED_24_16_DEFVAL                                    0x00000000
#define DDR_PHY_DX0LCDLR2_RESERVED_24_16_SHIFT                                     16
#define DDR_PHY_DX0LCDLR2_RESERVED_24_16_MASK                                      0x01FF0000U

/*Reserved. Return zeroes on reads.*/
#undef DDR_PHY_DX0LCDLR2_RESERVED_15_9_DEFVAL 
#undef DDR_PHY_DX0LCDLR2_RESERVED_15_9_SHIFT 
#undef DDR_PHY_DX0LCDLR2_RESERVED_15_9_MASK 
#define DDR_PHY_DX0LCDLR2_RESERVED_15_9_DEFVAL                                     0x00000000
#define DDR_PHY_DX0LCDLR2_RESERVED_15_9_SHIFT                                      9
#define DDR_PHY_DX0LCDLR2_RESERVED_15_9_MASK                                       0x0000FE00U

/*Read DQS Gating Delay*/
#undef DDR_PHY_DX0LCDLR2_DQSGD_DEFVAL 
#undef DDR_PHY_DX0LCDLR2_DQSGD_SHIFT 
#undef DDR_PHY_DX0LCDLR2_DQSGD_MASK 
#define DDR_PHY_DX0LCDLR2_DQSGD_DEFVAL                                             0x00000000
#define DDR_PHY_DX0LCDLR2_DQSGD_SHIFT                                              0
#define DDR_PHY_DX0LCDLR2_DQSGD_MASK                                               0x000001FFU

/*Reserved. Return zeroes on reads.*/
#undef DDR_PHY_DX0GTR0_RESERVED_31_24_DEFVAL 
#undef DDR_PHY_DX0GTR0_RESERVED_31_24_SHIFT 
#undef DDR_PHY_DX0GTR0_RESERVED_31_24_MASK 
#define DDR_PHY_DX0GTR0_RESERVED_31_24_DEFVAL                                      0x00020000
#define DDR_PHY_DX0GTR0_RESERVED_31_24_SHIFT                                       27
#define DDR_PHY_DX0GTR0_RESERVED_31_24_MASK                                        0xF8000000U

/*DQ Write Path Latency Pipeline*/
#undef DDR_PHY_DX0GTR0_WDQSL_DEFVAL 
#undef DDR_PHY_DX0GTR0_WDQSL_SHIFT 
#undef DDR_PHY_DX0GTR0_WDQSL_MASK 
#define DDR_PHY_DX0GTR0_WDQSL_DEFVAL                                               0x00020000
#define DDR_PHY_DX0GTR0_WDQSL_SHIFT                                                24
#define DDR_PHY_DX0GTR0_WDQSL_MASK                                                 0x07000000U

/*Reserved. Caution, do not write to this register field.*/
#undef DDR_PHY_DX0GTR0_RESERVED_23_20_DEFVAL 
#undef DDR_PHY_DX0GTR0_RESERVED_23_20_SHIFT 
#undef DDR_PHY_DX0GTR0_RESERVED_23_20_MASK 
#define DDR_PHY_DX0GTR0_RESERVED_23_20_DEFVAL                                      0x00020000
#define DDR_PHY_DX0GTR0_RESERVED_23_20_SHIFT                                       20
#define DDR_PHY_DX0GTR0_RESERVED_23_20_MASK                                        0x00F00000U

/*Write Leveling System Latency*/
#undef DDR_PHY_DX0GTR0_WLSL_DEFVAL 
#undef DDR_PHY_DX0GTR0_WLSL_SHIFT 
#undef DDR_PHY_DX0GTR0_WLSL_MASK 
#define DDR_PHY_DX0GTR0_WLSL_DEFVAL                                                0x00020000
#define DDR_PHY_DX0GTR0_WLSL_SHIFT                                                 16
#define DDR_PHY_DX0GTR0_WLSL_MASK                                                  0x000F0000U

/*Reserved. Return zeroes on reads.*/
#undef DDR_PHY_DX0GTR0_RESERVED_15_13_DEFVAL 
#undef DDR_PHY_DX0GTR0_RESERVED_15_13_SHIFT 
#undef DDR_PHY_DX0GTR0_RESERVED_15_13_MASK 
#define DDR_PHY_DX0GTR0_RESERVED_15_13_DEFVAL                                      0x00020000
#define DDR_PHY_DX0GTR0_RESERVED_15_13_SHIFT                                       13
#define DDR_PHY_DX0GTR0_RESERVED_15_13_MASK                                        0x0000E000U

/*Reserved. Caution, do not write to this register field.*/
#undef DDR_PHY_DX0GTR0_RESERVED_12_8_DEFVAL 
#undef DDR_PHY_DX0GTR0_RESERVED_12_8_SHIFT 
#undef DDR_PHY_DX0GTR0_RESERVED_12_8_MASK 
#define DDR_PHY_DX0GTR0_RESERVED_12_8_DEFVAL                                       0x00020000
#define DDR_PHY_DX0GTR0_RESERVED_12_8_SHIFT                                        8
#define DDR_PHY_DX0GTR0_RESERVED_12_8_MASK                                         0x00001F00U

/*Reserved. Return zeroes on reads.*/
#undef DDR_PHY_DX0GTR0_RESERVED_7_5_DEFVAL 
#undef DDR_PHY_DX0GTR0_RESERVED_7_5_SHIFT 
#undef DDR_PHY_DX0GTR0_RESERVED_7_5_MASK 
#define DDR_PHY_DX0GTR0_RESERVED_7_5_DEFVAL                                        0x00020000
#define DDR_PHY_DX0GTR0_RESERVED_7_5_SHIFT                                         5
#define DDR_PHY_DX0GTR0_RESERVED_7_5_MASK                                          0x000000E0U

/*DQS Gating System Latency*/
#undef DDR_PHY_DX0GTR0_DGSL_DEFVAL 
#undef DDR_PHY_DX0GTR0_DGSL_SHIFT 
#undef DDR_PHY_DX0GTR0_DGSL_MASK 
#define DDR_PHY_DX0GTR0_DGSL_DEFVAL                                                0x00020000
#define DDR_PHY_DX0GTR0_DGSL_SHIFT                                                 0
#define DDR_PHY_DX0GTR0_DGSL_MASK                                                  0x0000001FU

/*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

/*Reserved. Return zeroes on reads.*/
#undef DDR_PHY_DX1LCDLR2_RESERVED_31_25_DEFVAL 
#undef DDR_PHY_DX1LCDLR2_RESERVED_31_25_SHIFT 
#undef DDR_PHY_DX1LCDLR2_RESERVED_31_25_MASK 
#define DDR_PHY_DX1LCDLR2_RESERVED_31_25_DEFVAL                                    0x00000000
#define DDR_PHY_DX1LCDLR2_RESERVED_31_25_SHIFT                                     25
#define DDR_PHY_DX1LCDLR2_RESERVED_31_25_MASK                                      0xFE000000U

/*Reserved. Caution, do not write to this register field.*/
#undef DDR_PHY_DX1LCDLR2_RESERVED_24_16_DEFVAL 
#undef DDR_PHY_DX1LCDLR2_RESERVED_24_16_SHIFT 
#undef DDR_PHY_DX1LCDLR2_RESERVED_24_16_MASK 
#define DDR_PHY_DX1LCDLR2_RESERVED_24_16_DEFVAL                                    0x00000000
#define DDR_PHY_DX1LCDLR2_RESERVED_24_16_SHIFT                                     16
#define DDR_PHY_DX1LCDLR2_RESERVED_24_16_MASK                                      0x01FF0000U

/*Reserved. Return zeroes on reads.*/
#undef DDR_PHY_DX1LCDLR2_RESERVED_15_9_DEFVAL 
#undef DDR_PHY_DX1LCDLR2_RESERVED_15_9_SHIFT 
#undef DDR_PHY_DX1LCDLR2_RESERVED_15_9_MASK 
#define DDR_PHY_DX1LCDLR2_RESERVED_15_9_DEFVAL                                     0x00000000
#define DDR_PHY_DX1LCDLR2_RESERVED_15_9_SHIFT                                      9
#define DDR_PHY_DX1LCDLR2_RESERVED_15_9_MASK                                       0x0000FE00U

/*Read DQS Gating Delay*/
#undef DDR_PHY_DX1LCDLR2_DQSGD_DEFVAL 
#undef DDR_PHY_DX1LCDLR2_DQSGD_SHIFT 
#undef DDR_PHY_DX1LCDLR2_DQSGD_MASK 
#define DDR_PHY_DX1LCDLR2_DQSGD_DEFVAL                                             0x00000000
#define DDR_PHY_DX1LCDLR2_DQSGD_SHIFT                                              0
#define DDR_PHY_DX1LCDLR2_DQSGD_MASK                                               0x000001FFU

/*Reserved. Return zeroes on reads.*/
#undef DDR_PHY_DX1GTR0_RESERVED_31_24_DEFVAL 
#undef DDR_PHY_DX1GTR0_RESERVED_31_24_SHIFT 
#undef DDR_PHY_DX1GTR0_RESERVED_31_24_MASK 
#define DDR_PHY_DX1GTR0_RESERVED_31_24_DEFVAL                                      0x00020000
#define DDR_PHY_DX1GTR0_RESERVED_31_24_SHIFT                                       27
#define DDR_PHY_DX1GTR0_RESERVED_31_24_MASK                                        0xF8000000U

/*DQ Write Path Latency Pipeline*/
#undef DDR_PHY_DX1GTR0_WDQSL_DEFVAL 
#undef DDR_PHY_DX1GTR0_WDQSL_SHIFT 
#undef DDR_PHY_DX1GTR0_WDQSL_MASK 
#define DDR_PHY_DX1GTR0_WDQSL_DEFVAL                                               0x00020000
#define DDR_PHY_DX1GTR0_WDQSL_SHIFT                                                24
#define DDR_PHY_DX1GTR0_WDQSL_MASK                                                 0x07000000U

/*Reserved. Caution, do not write to this register field.*/
#undef DDR_PHY_DX1GTR0_RESERVED_23_20_DEFVAL 
#undef DDR_PHY_DX1GTR0_RESERVED_23_20_SHIFT 
#undef DDR_PHY_DX1GTR0_RESERVED_23_20_MASK 
#define DDR_PHY_DX1GTR0_RESERVED_23_20_DEFVAL                                      0x00020000
#define DDR_PHY_DX1GTR0_RESERVED_23_20_SHIFT                                       20
#define DDR_PHY_DX1GTR0_RESERVED_23_20_MASK                                        0x00F00000U

/*Write Leveling System Latency*/
#undef DDR_PHY_DX1GTR0_WLSL_DEFVAL 
#undef DDR_PHY_DX1GTR0_WLSL_SHIFT 
#undef DDR_PHY_DX1GTR0_WLSL_MASK 
#define DDR_PHY_DX1GTR0_WLSL_DEFVAL                                                0x00020000
#define DDR_PHY_DX1GTR0_WLSL_SHIFT                                                 16
#define DDR_PHY_DX1GTR0_WLSL_MASK                                                  0x000F0000U

/*Reserved. Return zeroes on reads.*/
#undef DDR_PHY_DX1GTR0_RESERVED_15_13_DEFVAL 
#undef DDR_PHY_DX1GTR0_RESERVED_15_13_SHIFT 
#undef DDR_PHY_DX1GTR0_RESERVED_15_13_MASK 
#define DDR_PHY_DX1GTR0_RESERVED_15_13_DEFVAL                                      0x00020000
#define DDR_PHY_DX1GTR0_RESERVED_15_13_SHIFT                                       13
#define DDR_PHY_DX1GTR0_RESERVED_15_13_MASK                                        0x0000E000U

/*Reserved. Caution, do not write to this register field.*/
#undef DDR_PHY_DX1GTR0_RESERVED_12_8_DEFVAL 
#undef DDR_PHY_DX1GTR0_RESERVED_12_8_SHIFT 
#undef DDR_PHY_DX1GTR0_RESERVED_12_8_MASK 
#define DDR_PHY_DX1GTR0_RESERVED_12_8_DEFVAL                                       0x00020000
#define DDR_PHY_DX1GTR0_RESERVED_12_8_SHIFT                                        8
#define DDR_PHY_DX1GTR0_RESERVED_12_8_MASK                                         0x00001F00U

/*Reserved. Return zeroes on reads.*/
#undef DDR_PHY_DX1GTR0_RESERVED_7_5_DEFVAL 
#undef DDR_PHY_DX1GTR0_RESERVED_7_5_SHIFT 
#undef DDR_PHY_DX1GTR0_RESERVED_7_5_MASK 
#define DDR_PHY_DX1GTR0_RESERVED_7_5_DEFVAL                                        0x00020000
#define DDR_PHY_DX1GTR0_RESERVED_7_5_SHIFT                                         5
#define DDR_PHY_DX1GTR0_RESERVED_7_5_MASK                                          0x000000E0U

/*DQS Gating System Latency*/
#undef DDR_PHY_DX1GTR0_DGSL_DEFVAL 
#undef DDR_PHY_DX1GTR0_DGSL_SHIFT 
#undef DDR_PHY_DX1GTR0_DGSL_MASK 
#define DDR_PHY_DX1GTR0_DGSL_DEFVAL                                                0x00020000
#define DDR_PHY_DX1GTR0_DGSL_SHIFT                                                 0
#define DDR_PHY_DX1GTR0_DGSL_MASK                                                  0x0000001FU

/*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

/*Reserved. Return zeroes on reads.*/
#undef DDR_PHY_DX2LCDLR2_RESERVED_31_25_DEFVAL 
#undef DDR_PHY_DX2LCDLR2_RESERVED_31_25_SHIFT 
#undef DDR_PHY_DX2LCDLR2_RESERVED_31_25_MASK 
#define DDR_PHY_DX2LCDLR2_RESERVED_31_25_DEFVAL                                    0x00000000
#define DDR_PHY_DX2LCDLR2_RESERVED_31_25_SHIFT                                     25
#define DDR_PHY_DX2LCDLR2_RESERVED_31_25_MASK                                      0xFE000000U

/*Reserved. Caution, do not write to this register field.*/
#undef DDR_PHY_DX2LCDLR2_RESERVED_24_16_DEFVAL 
#undef DDR_PHY_DX2LCDLR2_RESERVED_24_16_SHIFT 
#undef DDR_PHY_DX2LCDLR2_RESERVED_24_16_MASK 
#define DDR_PHY_DX2LCDLR2_RESERVED_24_16_DEFVAL                                    0x00000000
#define DDR_PHY_DX2LCDLR2_RESERVED_24_16_SHIFT                                     16
#define DDR_PHY_DX2LCDLR2_RESERVED_24_16_MASK                                      0x01FF0000U

/*Reserved. Return zeroes on reads.*/
#undef DDR_PHY_DX2LCDLR2_RESERVED_15_9_DEFVAL 
#undef DDR_PHY_DX2LCDLR2_RESERVED_15_9_SHIFT 
#undef DDR_PHY_DX2LCDLR2_RESERVED_15_9_MASK 
#define DDR_PHY_DX2LCDLR2_RESERVED_15_9_DEFVAL                                     0x00000000
#define DDR_PHY_DX2LCDLR2_RESERVED_15_9_SHIFT                                      9
#define DDR_PHY_DX2LCDLR2_RESERVED_15_9_MASK                                       0x0000FE00U

/*Read DQS Gating Delay*/
#undef DDR_PHY_DX2LCDLR2_DQSGD_DEFVAL 
#undef DDR_PHY_DX2LCDLR2_DQSGD_SHIFT 
#undef DDR_PHY_DX2LCDLR2_DQSGD_MASK 
#define DDR_PHY_DX2LCDLR2_DQSGD_DEFVAL                                             0x00000000
#define DDR_PHY_DX2LCDLR2_DQSGD_SHIFT                                              0
#define DDR_PHY_DX2LCDLR2_DQSGD_MASK                                               0x000001FFU

/*Reserved. Return zeroes on reads.*/
#undef DDR_PHY_DX2GTR0_RESERVED_31_24_DEFVAL 
#undef DDR_PHY_DX2GTR0_RESERVED_31_24_SHIFT 
#undef DDR_PHY_DX2GTR0_RESERVED_31_24_MASK 
#define DDR_PHY_DX2GTR0_RESERVED_31_24_DEFVAL                                      0x00020000
#define DDR_PHY_DX2GTR0_RESERVED_31_24_SHIFT                                       27
#define DDR_PHY_DX2GTR0_RESERVED_31_24_MASK                                        0xF8000000U

/*DQ Write Path Latency Pipeline*/
#undef DDR_PHY_DX2GTR0_WDQSL_DEFVAL 
#undef DDR_PHY_DX2GTR0_WDQSL_SHIFT 
#undef DDR_PHY_DX2GTR0_WDQSL_MASK 
#define DDR_PHY_DX2GTR0_WDQSL_DEFVAL                                               0x00020000
#define DDR_PHY_DX2GTR0_WDQSL_SHIFT                                                24
#define DDR_PHY_DX2GTR0_WDQSL_MASK                                                 0x07000000U

/*Reserved. Caution, do not write to this register field.*/
#undef DDR_PHY_DX2GTR0_RESERVED_23_20_DEFVAL 
#undef DDR_PHY_DX2GTR0_RESERVED_23_20_SHIFT 
#undef DDR_PHY_DX2GTR0_RESERVED_23_20_MASK 
#define DDR_PHY_DX2GTR0_RESERVED_23_20_DEFVAL                                      0x00020000
#define DDR_PHY_DX2GTR0_RESERVED_23_20_SHIFT                                       20
#define DDR_PHY_DX2GTR0_RESERVED_23_20_MASK                                        0x00F00000U

/*Write Leveling System Latency*/
#undef DDR_PHY_DX2GTR0_WLSL_DEFVAL 
#undef DDR_PHY_DX2GTR0_WLSL_SHIFT 
#undef DDR_PHY_DX2GTR0_WLSL_MASK 
#define DDR_PHY_DX2GTR0_WLSL_DEFVAL                                                0x00020000
#define DDR_PHY_DX2GTR0_WLSL_SHIFT                                                 16
#define DDR_PHY_DX2GTR0_WLSL_MASK                                                  0x000F0000U

/*Reserved. Return zeroes on reads.*/
#undef DDR_PHY_DX2GTR0_RESERVED_15_13_DEFVAL 
#undef DDR_PHY_DX2GTR0_RESERVED_15_13_SHIFT 
#undef DDR_PHY_DX2GTR0_RESERVED_15_13_MASK 
#define DDR_PHY_DX2GTR0_RESERVED_15_13_DEFVAL                                      0x00020000
#define DDR_PHY_DX2GTR0_RESERVED_15_13_SHIFT                                       13
#define DDR_PHY_DX2GTR0_RESERVED_15_13_MASK                                        0x0000E000U

/*Reserved. Caution, do not write to this register field.*/
#undef DDR_PHY_DX2GTR0_RESERVED_12_8_DEFVAL 
#undef DDR_PHY_DX2GTR0_RESERVED_12_8_SHIFT 
#undef DDR_PHY_DX2GTR0_RESERVED_12_8_MASK 
#define DDR_PHY_DX2GTR0_RESERVED_12_8_DEFVAL                                       0x00020000
#define DDR_PHY_DX2GTR0_RESERVED_12_8_SHIFT                                        8
#define DDR_PHY_DX2GTR0_RESERVED_12_8_MASK                                         0x00001F00U

/*Reserved. Return zeroes on reads.*/
#undef DDR_PHY_DX2GTR0_RESERVED_7_5_DEFVAL 
#undef DDR_PHY_DX2GTR0_RESERVED_7_5_SHIFT 
#undef DDR_PHY_DX2GTR0_RESERVED_7_5_MASK 
#define DDR_PHY_DX2GTR0_RESERVED_7_5_DEFVAL                                        0x00020000
#define DDR_PHY_DX2GTR0_RESERVED_7_5_SHIFT                                         5
#define DDR_PHY_DX2GTR0_RESERVED_7_5_MASK                                          0x000000E0U

/*DQS Gating System Latency*/
#undef DDR_PHY_DX2GTR0_DGSL_DEFVAL 
#undef DDR_PHY_DX2GTR0_DGSL_SHIFT 
#undef DDR_PHY_DX2GTR0_DGSL_MASK 
#define DDR_PHY_DX2GTR0_DGSL_DEFVAL                                                0x00020000
#define DDR_PHY_DX2GTR0_DGSL_SHIFT                                                 0
#define DDR_PHY_DX2GTR0_DGSL_MASK                                                  0x0000001FU

/*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

/*Reserved. Return zeroes on reads.*/
#undef DDR_PHY_DX3LCDLR2_RESERVED_31_25_DEFVAL 
#undef DDR_PHY_DX3LCDLR2_RESERVED_31_25_SHIFT 
#undef DDR_PHY_DX3LCDLR2_RESERVED_31_25_MASK 
#define DDR_PHY_DX3LCDLR2_RESERVED_31_25_DEFVAL                                    0x00000000
#define DDR_PHY_DX3LCDLR2_RESERVED_31_25_SHIFT                                     25
#define DDR_PHY_DX3LCDLR2_RESERVED_31_25_MASK                                      0xFE000000U

/*Reserved. Caution, do not write to this register field.*/
#undef DDR_PHY_DX3LCDLR2_RESERVED_24_16_DEFVAL 
#undef DDR_PHY_DX3LCDLR2_RESERVED_24_16_SHIFT 
#undef DDR_PHY_DX3LCDLR2_RESERVED_24_16_MASK 
#define DDR_PHY_DX3LCDLR2_RESERVED_24_16_DEFVAL                                    0x00000000
#define DDR_PHY_DX3LCDLR2_RESERVED_24_16_SHIFT                                     16
#define DDR_PHY_DX3LCDLR2_RESERVED_24_16_MASK                                      0x01FF0000U

/*Reserved. Return zeroes on reads.*/
#undef DDR_PHY_DX3LCDLR2_RESERVED_15_9_DEFVAL 
#undef DDR_PHY_DX3LCDLR2_RESERVED_15_9_SHIFT 
#undef DDR_PHY_DX3LCDLR2_RESERVED_15_9_MASK 
#define DDR_PHY_DX3LCDLR2_RESERVED_15_9_DEFVAL                                     0x00000000
#define DDR_PHY_DX3LCDLR2_RESERVED_15_9_SHIFT                                      9
#define DDR_PHY_DX3LCDLR2_RESERVED_15_9_MASK                                       0x0000FE00U

/*Read DQS Gating Delay*/
#undef DDR_PHY_DX3LCDLR2_DQSGD_DEFVAL 
#undef DDR_PHY_DX3LCDLR2_DQSGD_SHIFT 
#undef DDR_PHY_DX3LCDLR2_DQSGD_MASK 
#define DDR_PHY_DX3LCDLR2_DQSGD_DEFVAL                                             0x00000000
#define DDR_PHY_DX3LCDLR2_DQSGD_SHIFT                                              0
#define DDR_PHY_DX3LCDLR2_DQSGD_MASK                                               0x000001FFU

/*Reserved. Return zeroes on reads.*/
#undef DDR_PHY_DX3GTR0_RESERVED_31_24_DEFVAL 
#undef DDR_PHY_DX3GTR0_RESERVED_31_24_SHIFT 
#undef DDR_PHY_DX3GTR0_RESERVED_31_24_MASK 
#define DDR_PHY_DX3GTR0_RESERVED_31_24_DEFVAL                                      0x00020000
#define DDR_PHY_DX3GTR0_RESERVED_31_24_SHIFT                                       27
#define DDR_PHY_DX3GTR0_RESERVED_31_24_MASK                                        0xF8000000U

/*DQ Write Path Latency Pipeline*/
#undef DDR_PHY_DX3GTR0_WDQSL_DEFVAL 
#undef DDR_PHY_DX3GTR0_WDQSL_SHIFT 
#undef DDR_PHY_DX3GTR0_WDQSL_MASK 
#define DDR_PHY_DX3GTR0_WDQSL_DEFVAL                                               0x00020000
#define DDR_PHY_DX3GTR0_WDQSL_SHIFT                                                24
#define DDR_PHY_DX3GTR0_WDQSL_MASK                                                 0x07000000U

/*Reserved. Caution, do not write to this register field.*/
#undef DDR_PHY_DX3GTR0_RESERVED_23_20_DEFVAL 
#undef DDR_PHY_DX3GTR0_RESERVED_23_20_SHIFT 
#undef DDR_PHY_DX3GTR0_RESERVED_23_20_MASK 
#define DDR_PHY_DX3GTR0_RESERVED_23_20_DEFVAL                                      0x00020000
#define DDR_PHY_DX3GTR0_RESERVED_23_20_SHIFT                                       20
#define DDR_PHY_DX3GTR0_RESERVED_23_20_MASK                                        0x00F00000U

/*Write Leveling System Latency*/
#undef DDR_PHY_DX3GTR0_WLSL_DEFVAL 
#undef DDR_PHY_DX3GTR0_WLSL_SHIFT 
#undef DDR_PHY_DX3GTR0_WLSL_MASK 
#define DDR_PHY_DX3GTR0_WLSL_DEFVAL                                                0x00020000
#define DDR_PHY_DX3GTR0_WLSL_SHIFT                                                 16
#define DDR_PHY_DX3GTR0_WLSL_MASK                                                  0x000F0000U

/*Reserved. Return zeroes on reads.*/
#undef DDR_PHY_DX3GTR0_RESERVED_15_13_DEFVAL 
#undef DDR_PHY_DX3GTR0_RESERVED_15_13_SHIFT 
#undef DDR_PHY_DX3GTR0_RESERVED_15_13_MASK 
#define DDR_PHY_DX3GTR0_RESERVED_15_13_DEFVAL                                      0x00020000
#define DDR_PHY_DX3GTR0_RESERVED_15_13_SHIFT                                       13
#define DDR_PHY_DX3GTR0_RESERVED_15_13_MASK                                        0x0000E000U

/*Reserved. Caution, do not write to this register field.*/
#undef DDR_PHY_DX3GTR0_RESERVED_12_8_DEFVAL 
#undef DDR_PHY_DX3GTR0_RESERVED_12_8_SHIFT 
#undef DDR_PHY_DX3GTR0_RESERVED_12_8_MASK 
#define DDR_PHY_DX3GTR0_RESERVED_12_8_DEFVAL                                       0x00020000
#define DDR_PHY_DX3GTR0_RESERVED_12_8_SHIFT                                        8
#define DDR_PHY_DX3GTR0_RESERVED_12_8_MASK                                         0x00001F00U

/*Reserved. Return zeroes on reads.*/
#undef DDR_PHY_DX3GTR0_RESERVED_7_5_DEFVAL 
#undef DDR_PHY_DX3GTR0_RESERVED_7_5_SHIFT 
#undef DDR_PHY_DX3GTR0_RESERVED_7_5_MASK 
#define DDR_PHY_DX3GTR0_RESERVED_7_5_DEFVAL                                        0x00020000
#define DDR_PHY_DX3GTR0_RESERVED_7_5_SHIFT                                         5
#define DDR_PHY_DX3GTR0_RESERVED_7_5_MASK                                          0x000000E0U

/*DQS Gating System Latency*/
#undef DDR_PHY_DX3GTR0_DGSL_DEFVAL 
#undef DDR_PHY_DX3GTR0_DGSL_SHIFT 
#undef DDR_PHY_DX3GTR0_DGSL_MASK 
#define DDR_PHY_DX3GTR0_DGSL_DEFVAL                                                0x00020000
#define DDR_PHY_DX3GTR0_DGSL_SHIFT                                                 0
#define DDR_PHY_DX3GTR0_DGSL_MASK                                                  0x0000001FU

/*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

/*Reserved. Return zeroes on reads.*/
#undef DDR_PHY_DX4LCDLR2_RESERVED_31_25_DEFVAL 
#undef DDR_PHY_DX4LCDLR2_RESERVED_31_25_SHIFT 
#undef DDR_PHY_DX4LCDLR2_RESERVED_31_25_MASK 
#define DDR_PHY_DX4LCDLR2_RESERVED_31_25_DEFVAL                                    0x00000000
#define DDR_PHY_DX4LCDLR2_RESERVED_31_25_SHIFT                                     25
#define DDR_PHY_DX4LCDLR2_RESERVED_31_25_MASK                                      0xFE000000U

/*Reserved. Caution, do not write to this register field.*/
#undef DDR_PHY_DX4LCDLR2_RESERVED_24_16_DEFVAL 
#undef DDR_PHY_DX4LCDLR2_RESERVED_24_16_SHIFT 
#undef DDR_PHY_DX4LCDLR2_RESERVED_24_16_MASK 
#define DDR_PHY_DX4LCDLR2_RESERVED_24_16_DEFVAL                                    0x00000000
#define DDR_PHY_DX4LCDLR2_RESERVED_24_16_SHIFT                                     16
#define DDR_PHY_DX4LCDLR2_RESERVED_24_16_MASK                                      0x01FF0000U

/*Reserved. Return zeroes on reads.*/
#undef DDR_PHY_DX4LCDLR2_RESERVED_15_9_DEFVAL 
#undef DDR_PHY_DX4LCDLR2_RESERVED_15_9_SHIFT 
#undef DDR_PHY_DX4LCDLR2_RESERVED_15_9_MASK 
#define DDR_PHY_DX4LCDLR2_RESERVED_15_9_DEFVAL                                     0x00000000
#define DDR_PHY_DX4LCDLR2_RESERVED_15_9_SHIFT                                      9
#define DDR_PHY_DX4LCDLR2_RESERVED_15_9_MASK                                       0x0000FE00U

/*Read DQS Gating Delay*/
#undef DDR_PHY_DX4LCDLR2_DQSGD_DEFVAL 
#undef DDR_PHY_DX4LCDLR2_DQSGD_SHIFT 
#undef DDR_PHY_DX4LCDLR2_DQSGD_MASK 
#define DDR_PHY_DX4LCDLR2_DQSGD_DEFVAL                                             0x00000000
#define DDR_PHY_DX4LCDLR2_DQSGD_SHIFT                                              0
#define DDR_PHY_DX4LCDLR2_DQSGD_MASK                                               0x000001FFU

/*Reserved. Return zeroes on reads.*/
#undef DDR_PHY_DX4GTR0_RESERVED_31_24_DEFVAL 
#undef DDR_PHY_DX4GTR0_RESERVED_31_24_SHIFT 
#undef DDR_PHY_DX4GTR0_RESERVED_31_24_MASK 
#define DDR_PHY_DX4GTR0_RESERVED_31_24_DEFVAL                                      0x00020000
#define DDR_PHY_DX4GTR0_RESERVED_31_24_SHIFT                                       27
#define DDR_PHY_DX4GTR0_RESERVED_31_24_MASK                                        0xF8000000U

/*DQ Write Path Latency Pipeline*/
#undef DDR_PHY_DX4GTR0_WDQSL_DEFVAL 
#undef DDR_PHY_DX4GTR0_WDQSL_SHIFT 
#undef DDR_PHY_DX4GTR0_WDQSL_MASK 
#define DDR_PHY_DX4GTR0_WDQSL_DEFVAL                                               0x00020000
#define DDR_PHY_DX4GTR0_WDQSL_SHIFT                                                24
#define DDR_PHY_DX4GTR0_WDQSL_MASK                                                 0x07000000U

/*Reserved. Caution, do not write to this register field.*/
#undef DDR_PHY_DX4GTR0_RESERVED_23_20_DEFVAL 
#undef DDR_PHY_DX4GTR0_RESERVED_23_20_SHIFT 
#undef DDR_PHY_DX4GTR0_RESERVED_23_20_MASK 
#define DDR_PHY_DX4GTR0_RESERVED_23_20_DEFVAL                                      0x00020000
#define DDR_PHY_DX4GTR0_RESERVED_23_20_SHIFT                                       20
#define DDR_PHY_DX4GTR0_RESERVED_23_20_MASK                                        0x00F00000U

/*Write Leveling System Latency*/
#undef DDR_PHY_DX4GTR0_WLSL_DEFVAL 
#undef DDR_PHY_DX4GTR0_WLSL_SHIFT 
#undef DDR_PHY_DX4GTR0_WLSL_MASK 
#define DDR_PHY_DX4GTR0_WLSL_DEFVAL                                                0x00020000
#define DDR_PHY_DX4GTR0_WLSL_SHIFT                                                 16
#define DDR_PHY_DX4GTR0_WLSL_MASK                                                  0x000F0000U

/*Reserved. Return zeroes on reads.*/
#undef DDR_PHY_DX4GTR0_RESERVED_15_13_DEFVAL 
#undef DDR_PHY_DX4GTR0_RESERVED_15_13_SHIFT 
#undef DDR_PHY_DX4GTR0_RESERVED_15_13_MASK 
#define DDR_PHY_DX4GTR0_RESERVED_15_13_DEFVAL                                      0x00020000
#define DDR_PHY_DX4GTR0_RESERVED_15_13_SHIFT                                       13
#define DDR_PHY_DX4GTR0_RESERVED_15_13_MASK                                        0x0000E000U

/*Reserved. Caution, do not write to this register field.*/
#undef DDR_PHY_DX4GTR0_RESERVED_12_8_DEFVAL 
#undef DDR_PHY_DX4GTR0_RESERVED_12_8_SHIFT 
#undef DDR_PHY_DX4GTR0_RESERVED_12_8_MASK 
#define DDR_PHY_DX4GTR0_RESERVED_12_8_DEFVAL                                       0x00020000
#define DDR_PHY_DX4GTR0_RESERVED_12_8_SHIFT                                        8
#define DDR_PHY_DX4GTR0_RESERVED_12_8_MASK                                         0x00001F00U

/*Reserved. Return zeroes on reads.*/
#undef DDR_PHY_DX4GTR0_RESERVED_7_5_DEFVAL 
#undef DDR_PHY_DX4GTR0_RESERVED_7_5_SHIFT 
#undef DDR_PHY_DX4GTR0_RESERVED_7_5_MASK 
#define DDR_PHY_DX4GTR0_RESERVED_7_5_DEFVAL                                        0x00020000
#define DDR_PHY_DX4GTR0_RESERVED_7_5_SHIFT                                         5
#define DDR_PHY_DX4GTR0_RESERVED_7_5_MASK                                          0x000000E0U

/*DQS Gating System Latency*/
#undef DDR_PHY_DX4GTR0_DGSL_DEFVAL 
#undef DDR_PHY_DX4GTR0_DGSL_SHIFT 
#undef DDR_PHY_DX4GTR0_DGSL_MASK 
#define DDR_PHY_DX4GTR0_DGSL_DEFVAL                                                0x00020000
#define DDR_PHY_DX4GTR0_DGSL_SHIFT                                                 0
#define DDR_PHY_DX4GTR0_DGSL_MASK                                                  0x0000001FU

/*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

/*Reserved. Return zeroes on reads.*/
#undef DDR_PHY_DX5LCDLR2_RESERVED_31_25_DEFVAL 
#undef DDR_PHY_DX5LCDLR2_RESERVED_31_25_SHIFT 
#undef DDR_PHY_DX5LCDLR2_RESERVED_31_25_MASK 
#define DDR_PHY_DX5LCDLR2_RESERVED_31_25_DEFVAL                                    0x00000000
#define DDR_PHY_DX5LCDLR2_RESERVED_31_25_SHIFT                                     25
#define DDR_PHY_DX5LCDLR2_RESERVED_31_25_MASK                                      0xFE000000U

/*Reserved. Caution, do not write to this register field.*/
#undef DDR_PHY_DX5LCDLR2_RESERVED_24_16_DEFVAL 
#undef DDR_PHY_DX5LCDLR2_RESERVED_24_16_SHIFT 
#undef DDR_PHY_DX5LCDLR2_RESERVED_24_16_MASK 
#define DDR_PHY_DX5LCDLR2_RESERVED_24_16_DEFVAL                                    0x00000000
#define DDR_PHY_DX5LCDLR2_RESERVED_24_16_SHIFT                                     16
#define DDR_PHY_DX5LCDLR2_RESERVED_24_16_MASK                                      0x01FF0000U

/*Reserved. Return zeroes on reads.*/
#undef DDR_PHY_DX5LCDLR2_RESERVED_15_9_DEFVAL 
#undef DDR_PHY_DX5LCDLR2_RESERVED_15_9_SHIFT 
#undef DDR_PHY_DX5LCDLR2_RESERVED_15_9_MASK 
#define DDR_PHY_DX5LCDLR2_RESERVED_15_9_DEFVAL                                     0x00000000
#define DDR_PHY_DX5LCDLR2_RESERVED_15_9_SHIFT                                      9
#define DDR_PHY_DX5LCDLR2_RESERVED_15_9_MASK                                       0x0000FE00U

/*Read DQS Gating Delay*/
#undef DDR_PHY_DX5LCDLR2_DQSGD_DEFVAL 
#undef DDR_PHY_DX5LCDLR2_DQSGD_SHIFT 
#undef DDR_PHY_DX5LCDLR2_DQSGD_MASK 
#define DDR_PHY_DX5LCDLR2_DQSGD_DEFVAL                                             0x00000000
#define DDR_PHY_DX5LCDLR2_DQSGD_SHIFT                                              0
#define DDR_PHY_DX5LCDLR2_DQSGD_MASK                                               0x000001FFU

/*Reserved. Return zeroes on reads.*/
#undef DDR_PHY_DX5GTR0_RESERVED_31_24_DEFVAL 
#undef DDR_PHY_DX5GTR0_RESERVED_31_24_SHIFT 
#undef DDR_PHY_DX5GTR0_RESERVED_31_24_MASK 
#define DDR_PHY_DX5GTR0_RESERVED_31_24_DEFVAL                                      0x00020000
#define DDR_PHY_DX5GTR0_RESERVED_31_24_SHIFT                                       27
#define DDR_PHY_DX5GTR0_RESERVED_31_24_MASK                                        0xF8000000U

/*DQ Write Path Latency Pipeline*/
#undef DDR_PHY_DX5GTR0_WDQSL_DEFVAL 
#undef DDR_PHY_DX5GTR0_WDQSL_SHIFT 
#undef DDR_PHY_DX5GTR0_WDQSL_MASK 
#define DDR_PHY_DX5GTR0_WDQSL_DEFVAL                                               0x00020000
#define DDR_PHY_DX5GTR0_WDQSL_SHIFT                                                24
#define DDR_PHY_DX5GTR0_WDQSL_MASK                                                 0x07000000U

/*Reserved. Caution, do not write to this register field.*/
#undef DDR_PHY_DX5GTR0_RESERVED_23_20_DEFVAL 
#undef DDR_PHY_DX5GTR0_RESERVED_23_20_SHIFT 
#undef DDR_PHY_DX5GTR0_RESERVED_23_20_MASK 
#define DDR_PHY_DX5GTR0_RESERVED_23_20_DEFVAL                                      0x00020000
#define DDR_PHY_DX5GTR0_RESERVED_23_20_SHIFT                                       20
#define DDR_PHY_DX5GTR0_RESERVED_23_20_MASK                                        0x00F00000U

/*Write Leveling System Latency*/
#undef DDR_PHY_DX5GTR0_WLSL_DEFVAL 
#undef DDR_PHY_DX5GTR0_WLSL_SHIFT 
#undef DDR_PHY_DX5GTR0_WLSL_MASK 
#define DDR_PHY_DX5GTR0_WLSL_DEFVAL                                                0x00020000
#define DDR_PHY_DX5GTR0_WLSL_SHIFT                                                 16
#define DDR_PHY_DX5GTR0_WLSL_MASK                                                  0x000F0000U

/*Reserved. Return zeroes on reads.*/
#undef DDR_PHY_DX5GTR0_RESERVED_15_13_DEFVAL 
#undef DDR_PHY_DX5GTR0_RESERVED_15_13_SHIFT 
#undef DDR_PHY_DX5GTR0_RESERVED_15_13_MASK 
#define DDR_PHY_DX5GTR0_RESERVED_15_13_DEFVAL                                      0x00020000
#define DDR_PHY_DX5GTR0_RESERVED_15_13_SHIFT                                       13
#define DDR_PHY_DX5GTR0_RESERVED_15_13_MASK                                        0x0000E000U

/*Reserved. Caution, do not write to this register field.*/
#undef DDR_PHY_DX5GTR0_RESERVED_12_8_DEFVAL 
#undef DDR_PHY_DX5GTR0_RESERVED_12_8_SHIFT 
#undef DDR_PHY_DX5GTR0_RESERVED_12_8_MASK 
#define DDR_PHY_DX5GTR0_RESERVED_12_8_DEFVAL                                       0x00020000
#define DDR_PHY_DX5GTR0_RESERVED_12_8_SHIFT                                        8
#define DDR_PHY_DX5GTR0_RESERVED_12_8_MASK                                         0x00001F00U

/*Reserved. Return zeroes on reads.*/
#undef DDR_PHY_DX5GTR0_RESERVED_7_5_DEFVAL 
#undef DDR_PHY_DX5GTR0_RESERVED_7_5_SHIFT 
#undef DDR_PHY_DX5GTR0_RESERVED_7_5_MASK 
#define DDR_PHY_DX5GTR0_RESERVED_7_5_DEFVAL                                        0x00020000
#define DDR_PHY_DX5GTR0_RESERVED_7_5_SHIFT                                         5
#define DDR_PHY_DX5GTR0_RESERVED_7_5_MASK                                          0x000000E0U

/*DQS Gating System Latency*/
#undef DDR_PHY_DX5GTR0_DGSL_DEFVAL 
#undef DDR_PHY_DX5GTR0_DGSL_SHIFT 
#undef DDR_PHY_DX5GTR0_DGSL_MASK 
#define DDR_PHY_DX5GTR0_DGSL_DEFVAL                                                0x00020000
#define DDR_PHY_DX5GTR0_DGSL_SHIFT                                                 0
#define DDR_PHY_DX5GTR0_DGSL_MASK                                                  0x0000001FU

/*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

/*Reserved. Return zeroes on reads.*/
#undef DDR_PHY_DX6LCDLR2_RESERVED_31_25_DEFVAL 
#undef DDR_PHY_DX6LCDLR2_RESERVED_31_25_SHIFT 
#undef DDR_PHY_DX6LCDLR2_RESERVED_31_25_MASK 
#define DDR_PHY_DX6LCDLR2_RESERVED_31_25_DEFVAL                                    0x00000000
#define DDR_PHY_DX6LCDLR2_RESERVED_31_25_SHIFT                                     25
#define DDR_PHY_DX6LCDLR2_RESERVED_31_25_MASK                                      0xFE000000U

/*Reserved. Caution, do not write to this register field.*/
#undef DDR_PHY_DX6LCDLR2_RESERVED_24_16_DEFVAL 
#undef DDR_PHY_DX6LCDLR2_RESERVED_24_16_SHIFT 
#undef DDR_PHY_DX6LCDLR2_RESERVED_24_16_MASK 
#define DDR_PHY_DX6LCDLR2_RESERVED_24_16_DEFVAL                                    0x00000000
#define DDR_PHY_DX6LCDLR2_RESERVED_24_16_SHIFT                                     16
#define DDR_PHY_DX6LCDLR2_RESERVED_24_16_MASK                                      0x01FF0000U

/*Reserved. Return zeroes on reads.*/
#undef DDR_PHY_DX6LCDLR2_RESERVED_15_9_DEFVAL 
#undef DDR_PHY_DX6LCDLR2_RESERVED_15_9_SHIFT 
#undef DDR_PHY_DX6LCDLR2_RESERVED_15_9_MASK 
#define DDR_PHY_DX6LCDLR2_RESERVED_15_9_DEFVAL                                     0x00000000
#define DDR_PHY_DX6LCDLR2_RESERVED_15_9_SHIFT                                      9
#define DDR_PHY_DX6LCDLR2_RESERVED_15_9_MASK                                       0x0000FE00U

/*Read DQS Gating Delay*/
#undef DDR_PHY_DX6LCDLR2_DQSGD_DEFVAL 
#undef DDR_PHY_DX6LCDLR2_DQSGD_SHIFT 
#undef DDR_PHY_DX6LCDLR2_DQSGD_MASK 
#define DDR_PHY_DX6LCDLR2_DQSGD_DEFVAL                                             0x00000000
#define DDR_PHY_DX6LCDLR2_DQSGD_SHIFT                                              0
#define DDR_PHY_DX6LCDLR2_DQSGD_MASK                                               0x000001FFU

/*Reserved. Return zeroes on reads.*/
#undef DDR_PHY_DX6GTR0_RESERVED_31_24_DEFVAL 
#undef DDR_PHY_DX6GTR0_RESERVED_31_24_SHIFT 
#undef DDR_PHY_DX6GTR0_RESERVED_31_24_MASK 
#define DDR_PHY_DX6GTR0_RESERVED_31_24_DEFVAL                                      0x00020000
#define DDR_PHY_DX6GTR0_RESERVED_31_24_SHIFT                                       27
#define DDR_PHY_DX6GTR0_RESERVED_31_24_MASK                                        0xF8000000U

/*DQ Write Path Latency Pipeline*/
#undef DDR_PHY_DX6GTR0_WDQSL_DEFVAL 
#undef DDR_PHY_DX6GTR0_WDQSL_SHIFT 
#undef DDR_PHY_DX6GTR0_WDQSL_MASK 
#define DDR_PHY_DX6GTR0_WDQSL_DEFVAL                                               0x00020000
#define DDR_PHY_DX6GTR0_WDQSL_SHIFT                                                24
#define DDR_PHY_DX6GTR0_WDQSL_MASK                                                 0x07000000U

/*Reserved. Caution, do not write to this register field.*/
#undef DDR_PHY_DX6GTR0_RESERVED_23_20_DEFVAL 
#undef DDR_PHY_DX6GTR0_RESERVED_23_20_SHIFT 
#undef DDR_PHY_DX6GTR0_RESERVED_23_20_MASK 
#define DDR_PHY_DX6GTR0_RESERVED_23_20_DEFVAL                                      0x00020000
#define DDR_PHY_DX6GTR0_RESERVED_23_20_SHIFT                                       20
#define DDR_PHY_DX6GTR0_RESERVED_23_20_MASK                                        0x00F00000U

/*Write Leveling System Latency*/
#undef DDR_PHY_DX6GTR0_WLSL_DEFVAL 
#undef DDR_PHY_DX6GTR0_WLSL_SHIFT 
#undef DDR_PHY_DX6GTR0_WLSL_MASK 
#define DDR_PHY_DX6GTR0_WLSL_DEFVAL                                                0x00020000
#define DDR_PHY_DX6GTR0_WLSL_SHIFT                                                 16
#define DDR_PHY_DX6GTR0_WLSL_MASK                                                  0x000F0000U

/*Reserved. Return zeroes on reads.*/
#undef DDR_PHY_DX6GTR0_RESERVED_15_13_DEFVAL 
#undef DDR_PHY_DX6GTR0_RESERVED_15_13_SHIFT 
#undef DDR_PHY_DX6GTR0_RESERVED_15_13_MASK 
#define DDR_PHY_DX6GTR0_RESERVED_15_13_DEFVAL                                      0x00020000
#define DDR_PHY_DX6GTR0_RESERVED_15_13_SHIFT                                       13
#define DDR_PHY_DX6GTR0_RESERVED_15_13_MASK                                        0x0000E000U

/*Reserved. Caution, do not write to this register field.*/
#undef DDR_PHY_DX6GTR0_RESERVED_12_8_DEFVAL 
#undef DDR_PHY_DX6GTR0_RESERVED_12_8_SHIFT 
#undef DDR_PHY_DX6GTR0_RESERVED_12_8_MASK 
#define DDR_PHY_DX6GTR0_RESERVED_12_8_DEFVAL                                       0x00020000
#define DDR_PHY_DX6GTR0_RESERVED_12_8_SHIFT                                        8
#define DDR_PHY_DX6GTR0_RESERVED_12_8_MASK                                         0x00001F00U

/*Reserved. Return zeroes on reads.*/
#undef DDR_PHY_DX6GTR0_RESERVED_7_5_DEFVAL 
#undef DDR_PHY_DX6GTR0_RESERVED_7_5_SHIFT 
#undef DDR_PHY_DX6GTR0_RESERVED_7_5_MASK 
#define DDR_PHY_DX6GTR0_RESERVED_7_5_DEFVAL                                        0x00020000
#define DDR_PHY_DX6GTR0_RESERVED_7_5_SHIFT                                         5
#define DDR_PHY_DX6GTR0_RESERVED_7_5_MASK                                          0x000000E0U

/*DQS Gating System Latency*/
#undef DDR_PHY_DX6GTR0_DGSL_DEFVAL 
#undef DDR_PHY_DX6GTR0_DGSL_SHIFT 
#undef DDR_PHY_DX6GTR0_DGSL_MASK 
#define DDR_PHY_DX6GTR0_DGSL_DEFVAL                                                0x00020000
#define DDR_PHY_DX6GTR0_DGSL_SHIFT                                                 0
#define DDR_PHY_DX6GTR0_DGSL_MASK                                                  0x0000001FU

/*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

/*Reserved. Return zeroes on reads.*/
#undef DDR_PHY_DX7LCDLR2_RESERVED_31_25_DEFVAL 
#undef DDR_PHY_DX7LCDLR2_RESERVED_31_25_SHIFT 
#undef DDR_PHY_DX7LCDLR2_RESERVED_31_25_MASK 
#define DDR_PHY_DX7LCDLR2_RESERVED_31_25_DEFVAL                                    0x00000000
#define DDR_PHY_DX7LCDLR2_RESERVED_31_25_SHIFT                                     25
#define DDR_PHY_DX7LCDLR2_RESERVED_31_25_MASK                                      0xFE000000U

/*Reserved. Caution, do not write to this register field.*/
#undef DDR_PHY_DX7LCDLR2_RESERVED_24_16_DEFVAL 
#undef DDR_PHY_DX7LCDLR2_RESERVED_24_16_SHIFT 
#undef DDR_PHY_DX7LCDLR2_RESERVED_24_16_MASK 
#define DDR_PHY_DX7LCDLR2_RESERVED_24_16_DEFVAL                                    0x00000000
#define DDR_PHY_DX7LCDLR2_RESERVED_24_16_SHIFT                                     16
#define DDR_PHY_DX7LCDLR2_RESERVED_24_16_MASK                                      0x01FF0000U

/*Reserved. Return zeroes on reads.*/
#undef DDR_PHY_DX7LCDLR2_RESERVED_15_9_DEFVAL 
#undef DDR_PHY_DX7LCDLR2_RESERVED_15_9_SHIFT 
#undef DDR_PHY_DX7LCDLR2_RESERVED_15_9_MASK 
#define DDR_PHY_DX7LCDLR2_RESERVED_15_9_DEFVAL                                     0x00000000
#define DDR_PHY_DX7LCDLR2_RESERVED_15_9_SHIFT                                      9
#define DDR_PHY_DX7LCDLR2_RESERVED_15_9_MASK                                       0x0000FE00U

/*Read DQS Gating Delay*/
#undef DDR_PHY_DX7LCDLR2_DQSGD_DEFVAL 
#undef DDR_PHY_DX7LCDLR2_DQSGD_SHIFT 
#undef DDR_PHY_DX7LCDLR2_DQSGD_MASK 
#define DDR_PHY_DX7LCDLR2_DQSGD_DEFVAL                                             0x00000000
#define DDR_PHY_DX7LCDLR2_DQSGD_SHIFT                                              0
#define DDR_PHY_DX7LCDLR2_DQSGD_MASK                                               0x000001FFU

/*Reserved. Return zeroes on reads.*/
#undef DDR_PHY_DX7GTR0_RESERVED_31_24_DEFVAL 
#undef DDR_PHY_DX7GTR0_RESERVED_31_24_SHIFT 
#undef DDR_PHY_DX7GTR0_RESERVED_31_24_MASK 
#define DDR_PHY_DX7GTR0_RESERVED_31_24_DEFVAL                                      0x00020000
#define DDR_PHY_DX7GTR0_RESERVED_31_24_SHIFT                                       27
#define DDR_PHY_DX7GTR0_RESERVED_31_24_MASK                                        0xF8000000U

/*DQ Write Path Latency Pipeline*/
#undef DDR_PHY_DX7GTR0_WDQSL_DEFVAL 
#undef DDR_PHY_DX7GTR0_WDQSL_SHIFT 
#undef DDR_PHY_DX7GTR0_WDQSL_MASK 
#define DDR_PHY_DX7GTR0_WDQSL_DEFVAL                                               0x00020000
#define DDR_PHY_DX7GTR0_WDQSL_SHIFT                                                24
#define DDR_PHY_DX7GTR0_WDQSL_MASK                                                 0x07000000U

/*Reserved. Caution, do not write to this register field.*/
#undef DDR_PHY_DX7GTR0_RESERVED_23_20_DEFVAL 
#undef DDR_PHY_DX7GTR0_RESERVED_23_20_SHIFT 
#undef DDR_PHY_DX7GTR0_RESERVED_23_20_MASK 
#define DDR_PHY_DX7GTR0_RESERVED_23_20_DEFVAL                                      0x00020000
#define DDR_PHY_DX7GTR0_RESERVED_23_20_SHIFT                                       20
#define DDR_PHY_DX7GTR0_RESERVED_23_20_MASK                                        0x00F00000U

/*Write Leveling System Latency*/
#undef DDR_PHY_DX7GTR0_WLSL_DEFVAL 
#undef DDR_PHY_DX7GTR0_WLSL_SHIFT 
#undef DDR_PHY_DX7GTR0_WLSL_MASK 
#define DDR_PHY_DX7GTR0_WLSL_DEFVAL                                                0x00020000
#define DDR_PHY_DX7GTR0_WLSL_SHIFT                                                 16
#define DDR_PHY_DX7GTR0_WLSL_MASK                                                  0x000F0000U

/*Reserved. Return zeroes on reads.*/
#undef DDR_PHY_DX7GTR0_RESERVED_15_13_DEFVAL 
#undef DDR_PHY_DX7GTR0_RESERVED_15_13_SHIFT 
#undef DDR_PHY_DX7GTR0_RESERVED_15_13_MASK 
#define DDR_PHY_DX7GTR0_RESERVED_15_13_DEFVAL                                      0x00020000
#define DDR_PHY_DX7GTR0_RESERVED_15_13_SHIFT                                       13
#define DDR_PHY_DX7GTR0_RESERVED_15_13_MASK                                        0x0000E000U

/*Reserved. Caution, do not write to this register field.*/
#undef DDR_PHY_DX7GTR0_RESERVED_12_8_DEFVAL 
#undef DDR_PHY_DX7GTR0_RESERVED_12_8_SHIFT 
#undef DDR_PHY_DX7GTR0_RESERVED_12_8_MASK 
#define DDR_PHY_DX7GTR0_RESERVED_12_8_DEFVAL                                       0x00020000
#define DDR_PHY_DX7GTR0_RESERVED_12_8_SHIFT                                        8
#define DDR_PHY_DX7GTR0_RESERVED_12_8_MASK                                         0x00001F00U

/*Reserved. Return zeroes on reads.*/
#undef DDR_PHY_DX7GTR0_RESERVED_7_5_DEFVAL 
#undef DDR_PHY_DX7GTR0_RESERVED_7_5_SHIFT 
#undef DDR_PHY_DX7GTR0_RESERVED_7_5_MASK 
#define DDR_PHY_DX7GTR0_RESERVED_7_5_DEFVAL                                        0x00020000
#define DDR_PHY_DX7GTR0_RESERVED_7_5_SHIFT                                         5
#define DDR_PHY_DX7GTR0_RESERVED_7_5_MASK                                          0x000000E0U

/*DQS Gating System Latency*/
#undef DDR_PHY_DX7GTR0_DGSL_DEFVAL 
#undef DDR_PHY_DX7GTR0_DGSL_SHIFT 
#undef DDR_PHY_DX7GTR0_DGSL_MASK 
#define DDR_PHY_DX7GTR0_DGSL_DEFVAL                                                0x00020000
#define DDR_PHY_DX7GTR0_DGSL_SHIFT                                                 0
#define DDR_PHY_DX7GTR0_DGSL_MASK                                                  0x0000001FU

/*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_DX8LCDLR2_RESERVED_31_25_DEFVAL 
#undef DDR_PHY_DX8LCDLR2_RESERVED_31_25_SHIFT 
#undef DDR_PHY_DX8LCDLR2_RESERVED_31_25_MASK 
#define DDR_PHY_DX8LCDLR2_RESERVED_31_25_DEFVAL                                    0x00000000
#define DDR_PHY_DX8LCDLR2_RESERVED_31_25_SHIFT                                     25
#define DDR_PHY_DX8LCDLR2_RESERVED_31_25_MASK                                      0xFE000000U

/*Reserved. Caution, do not write to this register field.*/
#undef DDR_PHY_DX8LCDLR2_RESERVED_24_16_DEFVAL 
#undef DDR_PHY_DX8LCDLR2_RESERVED_24_16_SHIFT 
#undef DDR_PHY_DX8LCDLR2_RESERVED_24_16_MASK 
#define DDR_PHY_DX8LCDLR2_RESERVED_24_16_DEFVAL                                    0x00000000
#define DDR_PHY_DX8LCDLR2_RESERVED_24_16_SHIFT                                     16
#define DDR_PHY_DX8LCDLR2_RESERVED_24_16_MASK                                      0x01FF0000U

/*Reserved. Return zeroes on reads.*/
#undef DDR_PHY_DX8LCDLR2_RESERVED_15_9_DEFVAL 
#undef DDR_PHY_DX8LCDLR2_RESERVED_15_9_SHIFT 
#undef DDR_PHY_DX8LCDLR2_RESERVED_15_9_MASK 
#define DDR_PHY_DX8LCDLR2_RESERVED_15_9_DEFVAL                                     0x00000000
#define DDR_PHY_DX8LCDLR2_RESERVED_15_9_SHIFT                                      9
#define DDR_PHY_DX8LCDLR2_RESERVED_15_9_MASK                                       0x0000FE00U

/*Read DQS Gating Delay*/
#undef DDR_PHY_DX8LCDLR2_DQSGD_DEFVAL 
#undef DDR_PHY_DX8LCDLR2_DQSGD_SHIFT 
#undef DDR_PHY_DX8LCDLR2_DQSGD_MASK 
#define DDR_PHY_DX8LCDLR2_DQSGD_DEFVAL                                             0x00000000
#define DDR_PHY_DX8LCDLR2_DQSGD_SHIFT                                              0
#define DDR_PHY_DX8LCDLR2_DQSGD_MASK                                               0x000001FFU

/*Reserved. Return zeroes on reads.*/
#undef DDR_PHY_DX8GTR0_RESERVED_31_24_DEFVAL 
#undef DDR_PHY_DX8GTR0_RESERVED_31_24_SHIFT 
#undef DDR_PHY_DX8GTR0_RESERVED_31_24_MASK 
#define DDR_PHY_DX8GTR0_RESERVED_31_24_DEFVAL                                      0x00020000
#define DDR_PHY_DX8GTR0_RESERVED_31_24_SHIFT                                       27
#define DDR_PHY_DX8GTR0_RESERVED_31_24_MASK                                        0xF8000000U

/*DQ Write Path Latency Pipeline*/
#undef DDR_PHY_DX8GTR0_WDQSL_DEFVAL 
#undef DDR_PHY_DX8GTR0_WDQSL_SHIFT 
#undef DDR_PHY_DX8GTR0_WDQSL_MASK 
#define DDR_PHY_DX8GTR0_WDQSL_DEFVAL                                               0x00020000
#define DDR_PHY_DX8GTR0_WDQSL_SHIFT                                                24
#define DDR_PHY_DX8GTR0_WDQSL_MASK                                                 0x07000000U

/*Reserved. Caution, do not write to this register field.*/
#undef DDR_PHY_DX8GTR0_RESERVED_23_20_DEFVAL 
#undef DDR_PHY_DX8GTR0_RESERVED_23_20_SHIFT 
#undef DDR_PHY_DX8GTR0_RESERVED_23_20_MASK 
#define DDR_PHY_DX8GTR0_RESERVED_23_20_DEFVAL                                      0x00020000
#define DDR_PHY_DX8GTR0_RESERVED_23_20_SHIFT                                       20
#define DDR_PHY_DX8GTR0_RESERVED_23_20_MASK                                        0x00F00000U

/*Write Leveling System Latency*/
#undef DDR_PHY_DX8GTR0_WLSL_DEFVAL 
#undef DDR_PHY_DX8GTR0_WLSL_SHIFT 
#undef DDR_PHY_DX8GTR0_WLSL_MASK 
#define DDR_PHY_DX8GTR0_WLSL_DEFVAL                                                0x00020000
#define DDR_PHY_DX8GTR0_WLSL_SHIFT                                                 16
#define DDR_PHY_DX8GTR0_WLSL_MASK                                                  0x000F0000U

/*Reserved. Return zeroes on reads.*/
#undef DDR_PHY_DX8GTR0_RESERVED_15_13_DEFVAL 
#undef DDR_PHY_DX8GTR0_RESERVED_15_13_SHIFT 
#undef DDR_PHY_DX8GTR0_RESERVED_15_13_MASK 
#define DDR_PHY_DX8GTR0_RESERVED_15_13_DEFVAL                                      0x00020000
#define DDR_PHY_DX8GTR0_RESERVED_15_13_SHIFT                                       13
#define DDR_PHY_DX8GTR0_RESERVED_15_13_MASK                                        0x0000E000U

/*Reserved. Caution, do not write to this register field.*/
#undef DDR_PHY_DX8GTR0_RESERVED_12_8_DEFVAL 
#undef DDR_PHY_DX8GTR0_RESERVED_12_8_SHIFT 
#undef DDR_PHY_DX8GTR0_RESERVED_12_8_MASK 
#define DDR_PHY_DX8GTR0_RESERVED_12_8_DEFVAL                                       0x00020000
#define DDR_PHY_DX8GTR0_RESERVED_12_8_SHIFT                                        8
#define DDR_PHY_DX8GTR0_RESERVED_12_8_MASK                                         0x00001F00U

/*Reserved. Return zeroes on reads.*/
#undef DDR_PHY_DX8GTR0_RESERVED_7_5_DEFVAL 
#undef DDR_PHY_DX8GTR0_RESERVED_7_5_SHIFT 
#undef DDR_PHY_DX8GTR0_RESERVED_7_5_MASK 
#define DDR_PHY_DX8GTR0_RESERVED_7_5_DEFVAL                                        0x00020000
#define DDR_PHY_DX8GTR0_RESERVED_7_5_SHIFT                                         5
#define DDR_PHY_DX8GTR0_RESERVED_7_5_MASK                                          0x000000E0U

/*DQS Gating System Latency*/
#undef DDR_PHY_DX8GTR0_DGSL_DEFVAL 
#undef DDR_PHY_DX8GTR0_DGSL_SHIFT 
#undef DDR_PHY_DX8GTR0_DGSL_MASK 
#define DDR_PHY_DX8GTR0_DGSL_DEFVAL                                                0x00020000
#define DDR_PHY_DX8GTR0_DGSL_SHIFT                                                 0
#define DDR_PHY_DX8GTR0_DGSL_MASK                                                  0x0000001FU

/*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_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_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_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_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

/*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

/*Reserved. Return zeroes on reads.*/
#undef DDR_PHY_PIR_RESERVED_31_DEFVAL 
#undef DDR_PHY_PIR_RESERVED_31_SHIFT 
#undef DDR_PHY_PIR_RESERVED_31_MASK 
#define DDR_PHY_PIR_RESERVED_31_DEFVAL                                             0x00000000
#define DDR_PHY_PIR_RESERVED_31_SHIFT                                              31
#define DDR_PHY_PIR_RESERVED_31_MASK                                               0x80000000U

/*Impedance Calibration Bypass*/
#undef DDR_PHY_PIR_ZCALBYP_DEFVAL 
#undef DDR_PHY_PIR_ZCALBYP_SHIFT 
#undef DDR_PHY_PIR_ZCALBYP_MASK 
#define DDR_PHY_PIR_ZCALBYP_DEFVAL                                                 0x00000000
#define DDR_PHY_PIR_ZCALBYP_SHIFT                                                  30
#define DDR_PHY_PIR_ZCALBYP_MASK                                                   0x40000000U

/*Digital Delay Line (DDL) Calibration Pause*/
#undef DDR_PHY_PIR_DCALPSE_DEFVAL 
#undef DDR_PHY_PIR_DCALPSE_SHIFT 
#undef DDR_PHY_PIR_DCALPSE_MASK 
#define DDR_PHY_PIR_DCALPSE_DEFVAL                                                 0x00000000
#define DDR_PHY_PIR_DCALPSE_SHIFT                                                  29
#define DDR_PHY_PIR_DCALPSE_MASK                                                   0x20000000U

/*Reserved. Return zeroes on reads.*/
#undef DDR_PHY_PIR_RESERVED_28_21_DEFVAL 
#undef DDR_PHY_PIR_RESERVED_28_21_SHIFT 
#undef DDR_PHY_PIR_RESERVED_28_21_MASK 
#define DDR_PHY_PIR_RESERVED_28_21_DEFVAL                                          0x00000000
#define DDR_PHY_PIR_RESERVED_28_21_SHIFT                                           21
#define DDR_PHY_PIR_RESERVED_28_21_MASK                                            0x1FE00000U

/*Write DQS2DQ Training*/
#undef DDR_PHY_PIR_DQS2DQ_DEFVAL 
#undef DDR_PHY_PIR_DQS2DQ_SHIFT 
#undef DDR_PHY_PIR_DQS2DQ_MASK 
#define DDR_PHY_PIR_DQS2DQ_DEFVAL                                                  0x00000000
#define DDR_PHY_PIR_DQS2DQ_SHIFT                                                   20
#define DDR_PHY_PIR_DQS2DQ_MASK                                                    0x00100000U

/*RDIMM Initialization*/
#undef DDR_PHY_PIR_RDIMMINIT_DEFVAL 
#undef DDR_PHY_PIR_RDIMMINIT_SHIFT 
#undef DDR_PHY_PIR_RDIMMINIT_MASK 
#define DDR_PHY_PIR_RDIMMINIT_DEFVAL                                               0x00000000
#define DDR_PHY_PIR_RDIMMINIT_SHIFT                                                19
#define DDR_PHY_PIR_RDIMMINIT_MASK                                                 0x00080000U

/*Controller DRAM Initialization*/
#undef DDR_PHY_PIR_CTLDINIT_DEFVAL 
#undef DDR_PHY_PIR_CTLDINIT_SHIFT 
#undef DDR_PHY_PIR_CTLDINIT_MASK 
#define DDR_PHY_PIR_CTLDINIT_DEFVAL                                                0x00000000
#define DDR_PHY_PIR_CTLDINIT_SHIFT                                                 18
#define DDR_PHY_PIR_CTLDINIT_MASK                                                  0x00040000U

/*VREF Training*/
#undef DDR_PHY_PIR_VREF_DEFVAL 
#undef DDR_PHY_PIR_VREF_SHIFT 
#undef DDR_PHY_PIR_VREF_MASK 
#define DDR_PHY_PIR_VREF_DEFVAL                                                    0x00000000
#define DDR_PHY_PIR_VREF_SHIFT                                                     17
#define DDR_PHY_PIR_VREF_MASK                                                      0x00020000U

/*Static Read Training*/
#undef DDR_PHY_PIR_SRD_DEFVAL 
#undef DDR_PHY_PIR_SRD_SHIFT 
#undef DDR_PHY_PIR_SRD_MASK 
#define DDR_PHY_PIR_SRD_DEFVAL                                                     0x00000000
#define DDR_PHY_PIR_SRD_SHIFT                                                      16
#define DDR_PHY_PIR_SRD_MASK                                                       0x00010000U

/*Write Data Eye Training*/
#undef DDR_PHY_PIR_WREYE_DEFVAL 
#undef DDR_PHY_PIR_WREYE_SHIFT 
#undef DDR_PHY_PIR_WREYE_MASK 
#define DDR_PHY_PIR_WREYE_DEFVAL                                                   0x00000000
#define DDR_PHY_PIR_WREYE_SHIFT                                                    15
#define DDR_PHY_PIR_WREYE_MASK                                                     0x00008000U

/*Read Data Eye Training*/
#undef DDR_PHY_PIR_RDEYE_DEFVAL 
#undef DDR_PHY_PIR_RDEYE_SHIFT 
#undef DDR_PHY_PIR_RDEYE_MASK 
#define DDR_PHY_PIR_RDEYE_DEFVAL                                                   0x00000000
#define DDR_PHY_PIR_RDEYE_SHIFT                                                    14
#define DDR_PHY_PIR_RDEYE_MASK                                                     0x00004000U

/*Write Data Bit Deskew*/
#undef DDR_PHY_PIR_WRDSKW_DEFVAL 
#undef DDR_PHY_PIR_WRDSKW_SHIFT 
#undef DDR_PHY_PIR_WRDSKW_MASK 
#define DDR_PHY_PIR_WRDSKW_DEFVAL                                                  0x00000000
#define DDR_PHY_PIR_WRDSKW_SHIFT                                                   13
#define DDR_PHY_PIR_WRDSKW_MASK                                                    0x00002000U

/*Read Data Bit Deskew*/
#undef DDR_PHY_PIR_RDDSKW_DEFVAL 
#undef DDR_PHY_PIR_RDDSKW_SHIFT 
#undef DDR_PHY_PIR_RDDSKW_MASK 
#define DDR_PHY_PIR_RDDSKW_DEFVAL                                                  0x00000000
#define DDR_PHY_PIR_RDDSKW_SHIFT                                                   12
#define DDR_PHY_PIR_RDDSKW_MASK                                                    0x00001000U

/*Write Leveling Adjust*/
#undef DDR_PHY_PIR_WLADJ_DEFVAL 
#undef DDR_PHY_PIR_WLADJ_SHIFT 
#undef DDR_PHY_PIR_WLADJ_MASK 
#define DDR_PHY_PIR_WLADJ_DEFVAL                                                   0x00000000
#define DDR_PHY_PIR_WLADJ_SHIFT                                                    11
#define DDR_PHY_PIR_WLADJ_MASK                                                     0x00000800U

/*Read DQS Gate Training*/
#undef DDR_PHY_PIR_QSGATE_DEFVAL 
#undef DDR_PHY_PIR_QSGATE_SHIFT 
#undef DDR_PHY_PIR_QSGATE_MASK 
#define DDR_PHY_PIR_QSGATE_DEFVAL                                                  0x00000000
#define DDR_PHY_PIR_QSGATE_SHIFT                                                   10
#define DDR_PHY_PIR_QSGATE_MASK                                                    0x00000400U

/*Write Leveling*/
#undef DDR_PHY_PIR_WL_DEFVAL 
#undef DDR_PHY_PIR_WL_SHIFT 
#undef DDR_PHY_PIR_WL_MASK 
#define DDR_PHY_PIR_WL_DEFVAL                                                      0x00000000
#define DDR_PHY_PIR_WL_SHIFT                                                       9
#define DDR_PHY_PIR_WL_MASK                                                        0x00000200U

/*DRAM Initialization*/
#undef DDR_PHY_PIR_DRAMINIT_DEFVAL 
#undef DDR_PHY_PIR_DRAMINIT_SHIFT 
#undef DDR_PHY_PIR_DRAMINIT_MASK 
#define DDR_PHY_PIR_DRAMINIT_DEFVAL                                                0x00000000
#define DDR_PHY_PIR_DRAMINIT_SHIFT                                                 8
#define DDR_PHY_PIR_DRAMINIT_MASK                                                  0x00000100U

/*DRAM Reset (DDR3/DDR4/LPDDR4 Only)*/
#undef DDR_PHY_PIR_DRAMRST_DEFVAL 
#undef DDR_PHY_PIR_DRAMRST_SHIFT 
#undef DDR_PHY_PIR_DRAMRST_MASK 
#define DDR_PHY_PIR_DRAMRST_DEFVAL                                                 0x00000000
#define DDR_PHY_PIR_DRAMRST_SHIFT                                                  7
#define DDR_PHY_PIR_DRAMRST_MASK                                                   0x00000080U

/*PHY Reset*/
#undef DDR_PHY_PIR_PHYRST_DEFVAL 
#undef DDR_PHY_PIR_PHYRST_SHIFT 
#undef DDR_PHY_PIR_PHYRST_MASK 
#define DDR_PHY_PIR_PHYRST_DEFVAL                                                  0x00000000
#define DDR_PHY_PIR_PHYRST_SHIFT                                                   6
#define DDR_PHY_PIR_PHYRST_MASK                                                    0x00000040U

/*Digital Delay Line (DDL) Calibration*/
#undef DDR_PHY_PIR_DCAL_DEFVAL 
#undef DDR_PHY_PIR_DCAL_SHIFT 
#undef DDR_PHY_PIR_DCAL_MASK 
#define DDR_PHY_PIR_DCAL_DEFVAL                                                    0x00000000
#define DDR_PHY_PIR_DCAL_SHIFT                                                     5
#define DDR_PHY_PIR_DCAL_MASK                                                      0x00000020U

/*PLL Initialiazation*/
#undef DDR_PHY_PIR_PLLINIT_DEFVAL 
#undef DDR_PHY_PIR_PLLINIT_SHIFT 
#undef DDR_PHY_PIR_PLLINIT_MASK 
#define DDR_PHY_PIR_PLLINIT_DEFVAL                                                 0x00000000
#define DDR_PHY_PIR_PLLINIT_SHIFT                                                  4
#define DDR_PHY_PIR_PLLINIT_MASK                                                   0x00000010U

/*Reserved. Return zeroes on reads.*/
#undef DDR_PHY_PIR_RESERVED_3_DEFVAL 
#undef DDR_PHY_PIR_RESERVED_3_SHIFT 
#undef DDR_PHY_PIR_RESERVED_3_MASK 
#define DDR_PHY_PIR_RESERVED_3_DEFVAL                                              0x00000000
#define DDR_PHY_PIR_RESERVED_3_SHIFT                                               3
#define DDR_PHY_PIR_RESERVED_3_MASK                                                0x00000008U

/*CA Training*/
#undef DDR_PHY_PIR_CA_DEFVAL 
#undef DDR_PHY_PIR_CA_SHIFT 
#undef DDR_PHY_PIR_CA_MASK 
#define DDR_PHY_PIR_CA_DEFVAL                                                      0x00000000
#define DDR_PHY_PIR_CA_SHIFT                                                       2
#define DDR_PHY_PIR_CA_MASK                                                        0x00000004U

/*Impedance Calibration*/
#undef DDR_PHY_PIR_ZCAL_DEFVAL 
#undef DDR_PHY_PIR_ZCAL_SHIFT 
#undef DDR_PHY_PIR_ZCAL_MASK 
#define DDR_PHY_PIR_ZCAL_DEFVAL                                                    0x00000000
#define DDR_PHY_PIR_ZCAL_SHIFT                                                     1
#define DDR_PHY_PIR_ZCAL_MASK                                                      0x00000002U

/*Initialization Trigger*/
#undef DDR_PHY_PIR_INIT_DEFVAL 
#undef DDR_PHY_PIR_INIT_SHIFT 
#undef DDR_PHY_PIR_INIT_MASK 
#define DDR_PHY_PIR_INIT_DEFVAL                                                    0x00000000
#define DDR_PHY_PIR_INIT_SHIFT                                                     0
#define DDR_PHY_PIR_INIT_MASK                                                      0x00000001U
#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, Outp
		t, 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= gpio0, Output, gpio_0_pin_out[0]- (GPIO bank 0) 1= can
		, Output, can1_phy_tx- (Can TX signal) 2= i2c1, Input, i2c1_scl_input- (SCL signal) 2= i2c1, Output, i2c1_scl_out- (SCL signa
		) 3= pjtag, Input, pjtag_tck- (PJTAG TCK) 4= spi0, Input, spi0_sclk_in- (SPI Clock) 4= spi0, Output, spi0_sclk_out- (SPI Cloc
		) 5= ttc3, Input, ttc3_clk_in- (TTC Clock) 6= ua1, Output, ua1_txd- (UART transmitter serial output) 7= trace, Output, trace_
		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- (QSPI Databus) 1= qspi, Output, qspi_so_mo1- (QSPI Data
		us)*/
#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, Outp
		t, 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= gpio0, Output, gpio_0_pin_out[1]- (GPIO bank 0) 1= can
		, 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, Output, ttc3_wave_o
		t- (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, Outp
		t, 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= gpio0, Output, gpio_0_pin_out[2]- (GPIO bank 0) 1= can
		, 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, Input, ttc2_clk_in
		 (TTC Clock) 6= ua0, Input, ua0_rxd- (UART receiver serial 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, Outp
		t, 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= gpio0, Output, gpio_0_pin_out[3]- (GPIO bank 0) 1= can
		, Output, can0_phy_tx- (Can TX signal) 2= i2c0, Input, i2c0_sda_input- (SDA signal) 2= i2c0, Output, i2c0_sda_out- (SDA signa
		) 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 Data
		us)*/
#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, Outp
		t, 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= gpio0, Output, gpio_0_pin_out[4]- (GPIO bank 0) 1= can
		, Output, can1_phy_tx- (Can TX signal) 2= i2c1, Input, i2c1_scl_input- (SCL signal) 2= i2c1, Output, i2c1_scl_out- (SCL signa
		) 3= swdt1, Input, swdt1_clk_in- (Watch Dog Timer Input clock) 4= spi0, Input, spi0_mi- (MISO signal) 4= spi0, Output, spi0_s
		- (MISO signal) 5= ttc1, Input, ttc1_clk_in- (TTC Clock) 6= ua1, Output, ua1_txd- (UART transmitter serial output) 7= trace, 
		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, Outp
		t, 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= gpio0, Output, gpio_0_pin_out[5]- (GPIO bank 0) 1= can
		, 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- (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- (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_lpbk- (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, Outp
		t, 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= gpio0, Output, gpio_0_pin_out[6]- (GPIO bank 0) 1= can
		, 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- (Watch 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= 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, Outp
		t, 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= gpio0, Output, gpio_0_pin_out[7]- (GPIO bank 0) 1= can
		, Output, can0_phy_tx- (Can TX signal) 2= i2c0, Input, i2c0_sda_input- (SDA signal) 2= i2c0, Output, i2c0_sda_out- (SDA signa
		) 3= swdt0, Output, swdt0_rst_out- (Watch Dog Timer Output clock) 4= spi1, Output, spi1_n_ss_out[2]- (SPI Master Selects) 5= 
		tc0, Output, ttc0_wave_out- (TTC Waveform Clock) 6= ua0, Output, ua0_txd- (UART transmitter serial output) 7= trace, Output, 
		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_uppe
		[0]- (QSPI Upper Databus)*/
#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, Outp
		t, 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= gpio0, Output, gpio_0_pin_out[8]- (GPIO bank 0) 1= can
		, Output, can1_phy_tx- (Can TX signal) 2= i2c1, Input, i2c1_scl_input- (SCL signal) 2= i2c1, Output, i2c1_scl_out- (SCL signa
		) 3= swdt1, Input, swdt1_clk_in- (Watch Dog Timer Input clock) 4= spi1, Output, spi1_n_ss_out[1]- (SPI Master Selects) 5= ttc
		, Input, ttc3_clk_in- (TTC Clock) 6= ua1, Output, ua1_txd- (UART transmitter serial output) 7= trace, Output, tracedq[6]- (Tr
		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_uppe
		[1]- (QSPI Upper Databus)*/
#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]- (NAND 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, Outp
		t, 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= gpio0, Output, gpio_0_pin_out[9]- (GPIO bank 0) 1= can
		, 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- (Watch Dog Timer Output clock) 4= spi1, Input, spi1_n_ss_in- (SPI Master Selects) 4= spi1, 
		utput, spi1_n_ss_out[0]- (SPI Master Selects) 5= ttc3, Output, ttc3_wave_out- (TTC Waveform Clock) 6= ua1, Input, ua1_rxd- (U
		RT receiver serial input) 7= trace, Output, tracedq[7]- (Trace Port Databus)*/
#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_uppe
		[2]- (QSPI Upper Databus)*/
#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]- (NAND 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, Out
		ut, 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= c
		n0, Input, can0_phy_rx- (Can RX signal) 2= i2c0, Input, i2c0_scl_input- (SCL signal) 2= i2c0, Output, i2c0_scl_out- (SCL sign
		l) 3= swdt0, Input, swdt0_clk_in- (Watch Dog Timer Input clock) 4= spi1, Input, spi1_mi- (MISO signal) 4= spi1, Output, spi1_
		o- (MISO signal) 5= ttc2, Input, ttc2_clk_in- (TTC Clock) 6= ua0, Input, ua0_rxd- (UART receiver serial input) 7= trace, Outp
		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_uppe
		[3]- (QSPI Upper Databus)*/
#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]- (NAND 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, Out
		ut, 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= c
		n0, Output, can0_phy_tx- (Can TX signal) 2= i2c0, Input, i2c0_sda_input- (SDA signal) 2= i2c0, Output, i2c0_sda_out- (SDA sig
		al) 3= swdt0, Output, swdt0_rst_out- (Watch Dog Timer Output clock) 4= spi1, Output, spi1_mo- (MOSI signal) 4= spi1, Input, s
		i1_si- (MOSI signal) 5= ttc2, Output, ttc2_wave_out- (TTC Waveform Clock) 6= ua0, Output, ua0_txd- (UART transmitter serial o
		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- (NAND 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, Out
		ut, 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= c
		n1, Output, can1_phy_tx- (Can TX signal) 2= i2c1, Input, i2c1_scl_input- (SCL signal) 2= i2c1, Output, i2c1_scl_out- (SCL sig
		al) 3= pjtag, Input, pjtag_tck- (PJTAG TCK) 4= spi0, Input, spi0_sclk_in- (SPI Clock) 4= spi0, Output, spi0_sclk_out- (SPI Cl
		ck) 5= ttc1, Input, ttc1_clk_in- (TTC Clock) 6= ua1, Output, ua1_txd- (UART transmitter serial output) 7= trace, Output, trac
		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]- (NAND 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= test_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= c
		n1, Input, can1_phy_rx- (Can RX signal) 2= i2c1, Input, i2c1_sda_input- (SDA signal) 2= i2c1, Output, i2c1_sda_out- (SDA sign
		l) 3= pjtag, Input, pjtag_tdi- (PJTAG 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- (UART receiver serial input) 7= trace, Output, tracedq[11]- (Trace Port Dat
		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= test_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= c
		n0, Input, can0_phy_rx- (Can RX signal) 2= i2c0, Input, i2c0_scl_input- (SCL signal) 2= i2c0, Output, i2c0_scl_out- (SCL sign
		l) 3= pjtag, Output, pjtag_tdo- (PJTAG TDO) 4= spi0, Output, spi0_n_ss_out[1]- (SPI Master Selects) 5= ttc0, Input, ttc0_clk_
		n- (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= test_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= c
		n0, Output, can0_phy_tx- (Can TX signal) 2= i2c0, Input, i2c0_sda_input- (SDA signal) 2= i2c0, Output, i2c0_sda_out- (SDA sig
		al) 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 seri
		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 
		ata 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= test_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= c
		n1, Output, can1_phy_tx- (Can TX signal) 2= i2c1, Input, i2c1_scl_input- (SCL signal) 2= i2c1, Output, i2c1_scl_out- (SCL sig
		al) 3= swdt1, Input, swdt1_clk_in- (Watch Dog Timer Input clock) 4= spi0, Input, spi0_mi- (MISO signal) 4= spi0, Output, spi0
		so- (MISO signal) 5= ttc3, Input, ttc3_clk_in- (TTC Clock) 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 
		ata 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= test_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= c
		n1, Input, can1_phy_rx- (Can RX signal) 2= i2c1, Input, i2c1_sda_input- (SDA signal) 2= i2c1, Output, i2c1_sda_out- (SDA sign
		l) 3= swdt1, Output, swdt1_rst_out- (Watch Dog Timer Output clock) 4= spi0, Output, spi0_mo- (MOSI signal) 4= spi0, Input, sp
		0_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[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 
		ata 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= test_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= c
		n0, Input, can0_phy_rx- (Can RX signal) 2= i2c0, Input, i2c0_scl_input- (SCL signal) 2= i2c0, Output, i2c0_scl_out- (SCL sign
		l) 3= swdt0, Input, swdt0_clk_in- (Watch Dog Timer Input clock) 4= spi1, Input, spi1_mi- (MISO signal) 4= spi1, Output, spi1_
		o- (MISO signal) 5= ttc2, Input, ttc2_clk_in- (TTC Clock) 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 
		ata 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= test_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= c
		n0, Output, can0_phy_tx- (Can TX signal) 2= i2c0, Input, i2c0_sda_input- (SDA signal) 2= i2c0, Output, i2c0_sda_out- (SDA sig
		al) 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 
		ata 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= test_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= c
		n1, Output, can1_phy_tx- (Can TX signal) 2= i2c1, Input, i2c1_scl_input- (SCL signal) 2= i2c1, Output, i2c1_scl_out- (SCL sig
		al) 3= swdt1, Input, swdt1_clk_in- (Watch Dog Timer Input clock) 4= spi1, Output, spi1_n_ss_out[1]- (SPI Master Selects) 5= t
		c1, Input, ttc1_clk_in- (TTC Clock) 6= ua1, Output, ua1_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 
		ata 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- (Command Indicator) = sd0, Output, sdio0_cmd_out- (Comman
		 Indicator) 2= test_scan, Input, test_scan_in[21]- (Test Scan Port) = test_scan, Output, test_scan_out[21]- (Test Scan Port) 
		= csu, Input, csu_ext_tamper- (CSU Ext 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= c
		n1, Input, can1_phy_rx- (Can RX signal) 2= i2c1, Input, i2c1_sda_input- (SDA signal) 2= i2c1, Output, i2c1_sda_out- (SDA sign
		l) 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= ttc1, 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- (NAND 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, csu_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= c
		n0, Input, can0_phy_rx- (Can RX signal) 2= i2c0, Input, i2c0_scl_input- (SCL signal) 2= i2c0, Output, i2c0_scl_out- (SCL sign
		l) 3= swdt0, Input, swdt0_clk_in- (Watch Dog Timer Input clock) 4= spi1, Input, spi1_sclk_in- (SPI Clock) 4= spi1, Output, sp
		1_sclk_out- (SPI Clock) 5= ttc0, Input, ttc0_clk_in- (TTC Clock) 6= ua0, Input, ua0_rxd- (UART receiver serial input) 7= Not 
		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 
		ata 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 Port) = test_scan, Output, test_scan_out[23]- (Test Scan Port) 3= csu, Input, 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= c
		n0, Output, can0_phy_tx- (Can TX signal) 2= i2c0, Input, i2c0_sda_input- (SDA signal) 2= i2c0, Output, i2c0_sda_out- (SDA sig
		al) 3= swdt0, Output, swdt0_rst_out- (Watch Dog Timer Output clock) 4= spi1, Output, spi1_mo- (MOSI signal) 4= spi1, Input, s
		i1_si- (MOSI signal) 5= ttc0, Output, ttc0_wave_out- (TTC Waveform Clock) 6= ua0, Output, ua0_txd- (UART transmitter serial o
		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 
		ata 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 Ex
		 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= c
		n1, Output, can1_phy_tx- (Can TX signal) 2= i2c1, Input, i2c1_scl_input- (SCL signal) 2= i2c1, Output, i2c1_scl_out- (SCL sig
		al) 3= swdt1, Input, swdt1_clk_in- (Watch Dog Timer Input clock) 4= Not Used 5= ttc3, Input, ttc3_clk_in- (TTC Clock) 6= ua1,
		Output, ua1_txd- (UART transmitter serial output) 7= Not 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- (NAND 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 card 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- (C
		U 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= c
		n1, Input, can1_phy_rx- (Can RX signal) 2= i2c1, Input, i2c1_sda_input- (SDA signal) 2= i2c1, Output, i2c1_sda_out- (SDA sign
		l) 3= swdt1, Output, swdt1_rst_out- (Watch Dog Timer Output clock) 4= Not Used 5= ttc3, Output, ttc3_wave_out- (TTC Waveform 
		lock) 6= ua1, Input, ua1_rxd- (UART receiver serial input) 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]- (NAND 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 Sc
		n Port) = test_scan, Output, test_scan_out[26]- (Test Scan Port) 3= csu, Input, csu_ext_tamper- (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= gpio1, Output, gpio_1_pin_out[0]- (GPIO bank 1) 1= can
		, 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_sclk_out- (SPI Clock
		 5= ttc2, Input, ttc2_clk_in- (TTC Clock) 6= ua0, Input, 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]- (NAND 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 Sc
		n Port) = test_scan, Output, test_scan_out[27]- (Test Scan Port) 3= dpaux, Input, dp_aux_data_in- (Dp Aux Data) = dpaux, Outp
		t, 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= gpio1, Output, gpio_1_pin_out[1]- (GPIO bank 1) 1= can
		, Output, can0_phy_tx- (Can TX signal) 2= i2c0, Input, i2c0_sda_input- (SDA signal) 2= i2c0, Output, i2c0_sda_out- (SDA signa
		) 3= pjtag, Input, pjtag_tdi- (PJTAG TDI) 4= spi0, Output, spi0_n_ss_out[2]- (SPI Master Selects) 5= ttc2, Output, ttc2_wave_
		ut- (TTC Waveform Clock) 6= ua0, Output, ua0_txd- (UART transmitter serial output) 7= trace, Output, tracedq[5]- (Trace Port 
		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]- (NAND 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 Sc
		n Port) = test_scan, Output, test_scan_out[28]- (Test Scan Port) 3= dpaux, Input, dp_hot_plug_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= gpio1, Output, gpio_1_pin_out[2]- (GPIO bank 1) 1= can
		, Output, can1_phy_tx- (Can TX signal) 2= i2c1, Input, i2c1_scl_input- (SCL signal) 2= i2c1, Output, i2c1_scl_out- (SCL signa
		) 3= pjtag, Output, pjtag_tdo- (PJTAG TDO) 4= spi0, Output, spi0_n_ss_out[1]- (SPI Master Selects) 5= ttc1, Input, ttc1_clk_i
		- (TTC Clock) 6= ua1, Output, ua1_txd- (UART transmitter 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 Sc
		n Port) = test_scan, Output, test_scan_out[29]- (Test Scan Port) 3= dpaux, Input, dp_aux_data_in- (Dp Aux Data) = dpaux, Outp
		t, 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= gpio1, Output, gpio_1_pin_out[3]- (GPIO bank 1) 1= can
		, 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 inpu
		) 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 Sc
		n Port) = test_scan, Output, test_scan_out[30]- (Test Scan Port) 3= dpaux, Input, dp_hot_plug_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= gpio1, Output, gpio_1_pin_out[4]- (GPIO bank 1) 1= can
		, 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- (Watch 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 Sc
		n Port) = test_scan, Output, test_scan_out[31]- (Test Scan Port) 3= csu, Input, csu_ext_tamper- (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= gpio1, Output, gpio_1_pin_out[5]- (GPIO bank 1) 1= can
		, Output, can0_phy_tx- (Can TX signal) 2= i2c0, Input, i2c0_sda_input- (SDA signal) 2= i2c0, Output, i2c0_sda_out- (SDA signa
		) 3= swdt0, Output, swdt0_rst_out- (Watch Dog Timer Output clock) 4= spi0, Output, spi0_mo- (MOSI signal) 4= spi0, Input, spi
		_si- (MOSI signal) 5= ttc0, Output, ttc0_wave_out- (TTC Waveform Clock) 6= ua0, Output, ua0_txd- (UART transmitter serial out
		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_clk- (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- (NAND 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]- (PMU GPI) 2= test_scan, Input, test_scan_in[32]- (Test S
		an Port) = test_scan, Output, test_scan_out[32]- (Test Scan Port) 3= csu, Input, csu_ext_tamper- (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= gpio1, Output, gpio_1_pin_out[6]- (GPIO bank 1) 1= can
		, Output, can1_phy_tx- (Can TX signal) 2= i2c1, Input, i2c1_scl_input- (SCL signal) 2= i2c1, Output, i2c1_scl_out- (SCL signa
		) 3= swdt1, Input, swdt1_clk_in- (Watch Dog Timer Input clock) 4= spi1, Input, spi1_sclk_in- (SPI Clock) 4= spi1, Output, spi
		_sclk_out- (SPI Clock) 5= ttc3, Input, ttc3_clk_in- (TTC Clock) 6= ua1, Output, ua1_txd- (UART transmitter serial output) 7= 
		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]- (PMU GPI) 2= test_scan, Input, test_scan_in[33]- (Test S
		an Port) = test_scan, Output, test_scan_out[33]- (Test Scan Port) 3= csu, Input, csu_ext_tamper- (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= gpio1, Output, gpio_1_pin_out[7]- (GPIO bank 1) 1= can
		, 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- (Watch Dog Timer Output clock) 4= spi1, Output, spi1_n_ss_out[2]- (SPI Master Selects) 5= t
		c3, Output, ttc3_wave_out- (TTC Waveform Clock) 6= ua1, Input, ua1_rxd- (UART receiver serial input) 7= trace, Output, traced
		[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]- (PMU GPI) 2= test_scan, Input, test_scan_in[34]- (Test S
		an Port) = test_scan, Output, test_scan_out[34]- (Test Scan Port) 3= dpaux, Input, dp_aux_data_in- (Dp Aux Data) = dpaux, Out
		ut, 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= gpio1, Output, gpio_1_pin_out[8]- (GPIO bank 1) 1= can
		, 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- (Watch 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_rxd- (UART receiver serial input) 7= trace, Output, tracedq[12]- (Trace P
		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]- (PMU GPI) 2= test_scan, Input, test_scan_in[35]- (Test S
		an Port) = test_scan, 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= gpio1, Output, gpio_1_pin_out[9]- (GPIO bank 1) 1= can
		, Output, can0_phy_tx- (Can TX signal) 2= i2c0, Input, i2c0_sda_input- (SDA signal) 2= i2c0, Output, i2c0_sda_out- (SDA signa
		) 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 Port 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]- (PMU GPI) 2= test_scan, Input, test_scan_in[36]- (Test S
		an Port) = test_scan, Output, test_scan_out[36]- (Test Scan Port) 3= dpaux, Input, dp_aux_data_in- (Dp Aux Data) = dpaux, Out
		ut, 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= c
		n1, Output, can1_phy_tx- (Can TX signal) 2= i2c1, Input, i2c1_scl_input- (SCL signal) 2= i2c1, Output, i2c1_scl_out- (SCL sig
		al) 3= swdt1, Input, swdt1_clk_in- (Watch Dog Timer Input clock) 4= spi1, Input, spi1_mi- (MISO signal) 4= spi1, Output, spi1
		so- (MISO signal) 5= ttc1, Input, ttc1_clk_in- (TTC Clock) 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_ctl- (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]- (PMU GPI) 2= test_scan, Input, test_scan_in[37]- (Test S
		an Port) = test_scan, 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= c
		n1, Input, can1_phy_rx- (Can RX signal) 2= i2c1, Input, i2c1_sda_input- (SDA signal) 2= i2c1, Output, i2c1_sda_out- (SDA sign
		l) 3= swdt1, Output, swdt1_rst_out- (Watch Dog Timer Output clock) 4= spi1, Output, spi1_mo- (MOSI signal) 4= spi1, Input, sp
		1_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[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= c
		n0, Input, can0_phy_rx- (Can RX signal) 2= i2c0, Input, i2c0_scl_input- (SCL signal) 2= i2c0, Output, i2c0_scl_out- (SCL sign
		l) 3= pjtag, Input, pjtag_tck- (PJTAG TCK) 4= spi0, Input, spi0_sclk_in- (SPI Clock) 4= spi0, Output, spi0_sclk_out- (SPI Clo
		k) 5= ttc0, Input, ttc0_clk_in- (TTC Clock) 6= ua0, Input, 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_i
		[4]- (8-bit Data bus) = 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= c
		n0, Output, can0_phy_tx- (Can TX signal) 2= i2c0, Input, i2c0_sda_input- (SDA signal) 2= i2c0, Output, i2c0_sda_out- (SDA sig
		al) 3= pjtag, Input, pjtag_tdi- (PJTAG TDI) 4= spi0, Output, spi0_n_ss_out[2]- (SPI Master Selects) 5= ttc0, Output, ttc0_wav
		_out- (TTC Waveform Clock) 6= ua0, Output, ua0_txd- (UART 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- (Command Indicator) = sd0, Output, sdio0_cmd_out- (Comman
		 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= c
		n1, Output, can1_phy_tx- (Can TX signal) 2= i2c1, Input, i2c1_scl_input- (SCL signal) 2= i2c1, Output, i2c1_scl_out- (SCL sig
		al) 3= pjtag, Output, pjtag_tdo- (PJTAG 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 transmitter 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= sd1, Input, sd1_data_in[6]- (8-bit Data bus) = sd1, Output, sdio1_data_out[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= c
		n1, Input, can1_phy_rx- (Can RX signal) 2= i2c1, Input, i2c1_sda_input- (SDA signal) 2= i2c1, Output, i2c1_sda_out- (SDA sign
		l) 3= pjtag, Input, pjtag_tms- (PJTAG TMS) 4= spi0, Input, spi0_n_ss_in- (SPI Master Selects) 4= spi0, Output, spi0_n_ss_out[
		]- (SPI Master Selects) 5= ttc3, Output, ttc3_wave_out- (TTC Waveform Clock) 6= ua1, Input, ua1_rxd- (UART receiver serial in
		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= sd1, Input, sd1_data_in[7]- (8-bit Data bus) = sd1, Output, sdio1_data_out[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= c
		n0, Input, can0_phy_rx- (Can RX signal) 2= i2c0, Input, i2c0_scl_input- (SCL signal) 2= i2c0, Output, i2c0_scl_out- (SCL sign
		l) 3= swdt0, Input, swdt0_clk_in- (Watch Dog Timer Input clock) 4= spi0, Input, spi0_mi- (MISO signal) 4= spi0, Output, spi0_
		o- (MISO signal) 5= ttc2, Input, ttc2_clk_in- (TTC Clock) 6= ua0, Input, ua0_rxd- (UART receiver serial input) 7= trace, Outp
		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= sd1, 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= c
		n0, Output, can0_phy_tx- (Can TX signal) 2= i2c0, Input, i2c0_sda_input- (SDA signal) 2= i2c0, Output, i2c0_sda_out- (SDA sig
		al) 3= swdt0, Output, swdt0_rst_out- (Watch Dog Timer Output clock) 4= spi0, Output, spi0_mo- (MOSI signal) 4= spi0, Input, s
		i0_si- (MOSI signal) 5= ttc2, Output, ttc2_wave_out- (TTC Waveform Clock) 6= ua0, Output, ua0_txd- (UART transmitter serial o
		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_clk- (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= sd1, 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= c
		n1, Output, can1_phy_tx- (Can TX signal) 2= i2c1, Input, i2c1_scl_input- (SCL signal) 2= i2c1, Output, i2c1_scl_out- (SCL sig
		al) 3= swdt1, Input, swdt1_clk_in- (Watch Dog Timer Input clock) 4= spi1, Input, spi1_sclk_in- (SPI Clock) 4= spi1, Output, s
		i1_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= sd1, 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= c
		n1, Input, can1_phy_rx- (Can RX signal) 2= i2c1, Input, i2c1_sda_input- (SDA signal) 2= i2c1, Output, i2c1_sda_out- (SDA sign
		l) 3= swdt1, Output, swdt1_rst_out- (Watch Dog Timer Output clock) 4= spi1, Output, spi1_n_ss_out[2]- (SPI Master Selects) 5=
		ttc1, Output, ttc1_wave_out- (TTC Waveform Clock) 6= ua1, 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= sd1, Input, sd1_data_in[0]- (8-bit Data bus) = sd1, Output, sdio1_data_out[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= c
		n0, Input, can0_phy_rx- (Can RX signal) 2= i2c0, Input, i2c0_scl_input- (SCL signal) 2= i2c0, Output, i2c0_scl_out- (SCL sign
		l) 3= swdt0, Input, swdt0_clk_in- (Watch Dog Timer Input clock) 4= spi1, Output, spi1_n_ss_out[1]- (SPI Master Selects) 5= tt
		0, 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= sd1, Input, sd1_data_in[1]- (8-bit Data bus) = sd1, Output, sdio1_data_out[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= c
		n0, Output, can0_phy_tx- (Can TX signal) 2= i2c0, Input, i2c0_sda_input- (SDA signal) 2= i2c0, Output, i2c0_sda_out- (SDA sig
		al) 3= swdt0, Output, swdt0_rst_out- (Watch Dog Timer Output clock) 4= spi1, Input, spi1_n_ss_in- (SPI Master Selects) 4= spi
		, Output, spi1_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= 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= sd1, Input, sd1_data_in[2]- (8-bit Data bus) = sd1, Output, sdio1_data_out[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= c
		n1, Output, can1_phy_tx- (Can TX signal) 2= i2c1, Input, i2c1_scl_input- (SCL signal) 2= i2c1, Output, i2c1_scl_out- (SCL sig
		al) 3= swdt1, Input, swdt1_clk_in- (Watch Dog Timer Input clock) 4= spi1, Input, spi1_mi- (MISO signal) 4= spi1, Output, spi1
		so- (MISO signal) 5= ttc3, Input, ttc3_clk_in- (TTC Clock) 6= ua1, Output, ua1_txd- (UART transmitter serial output) 7= Not U
		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_ctl- (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) = sd1, 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= c
		n1, Input, can1_phy_rx- (Can RX signal) 2= i2c1, Input, i2c1_sda_input- (SDA signal) 2= i2c1, Output, i2c1_sda_out- (SDA sign
		l) 3= swdt1, Output, swdt1_rst_out- (Watch Dog Timer Output clock) 4= spi1, Output, spi1_mo- (MOSI signal) 4= spi1, Input, sp
		1_si- (MOSI signal) 5= ttc3, Output, ttc3_wave_out- (TTC 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 card write protect from connector) 2= sd1, Input, sd1_c
		d_in- (Command Indicator) = 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= c
		n0, Input, can0_phy_rx- (Can RX signal) 2= i2c0, Input, i2c0_scl_input- (SCL signal) 2= i2c0, Output, i2c0_scl_out- (SCL sign
		l) 3= swdt0, Input, swdt0_clk_in- (Watch 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 receiver 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, sdio1_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= c
		n0, Output, can0_phy_tx- (Can TX signal) 2= i2c0, Input, i2c0_sda_input- (SDA signal) 2= i2c0, Output, i2c0_sda_out- (SDA sig
		al) 3= swdt0, Output, swdt0_rst_out- (Watch Dog Timer Output clock) 4= mdio1, Input, gem1_mdio_in- (MDIO Data) 4= mdio1, Outp
		t, gem1_mdio_out- (MDIO Data) 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_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_in- (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= gpio2, Output, gpio_2_pin_out[0]- (GPIO bank 2) 1= can
		, Output, can1_phy_tx- (Can TX signal) 2= i2c1, Input, i2c1_scl_input- (SCL signal) 2= i2c1, Output, i2c1_scl_out- (SCL signa
		) 3= pjtag, Input, pjtag_tck- (PJTAG TCK) 4= spi0, Input, spi0_sclk_in- (SPI Clock) 4= spi0, Output, spi0_sclk_out- (SPI Cloc
		) 5= ttc1, Input, ttc1_clk_in- (TTC Clock) 6= ua1, Output, ua1_txd- (UART transmitter serial output) 7= trace, Output, trace_
		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= gpio2, Output, gpio_2_pin_out[1]- (GPIO bank 2) 1= can
		, 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, Output, ttc1_wave_o
		t- (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_data[2]- (ULPI data bus) 1= usb0, Output, usb0_ulpi_tx_
		ata[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= gpio2, Output, gpio_2_pin_out[2]- (GPIO bank 2) 1= can
		, 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, Input, ttc0_clk_in
		 (TTC Clock) 6= ua0, Input, ua0_rxd- (UART receiver serial 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= gpio2, Output, gpio_2_pin_out[3]- (GPIO bank 2) 1= can
		, Output, can0_phy_tx- (Can TX signal) 2= i2c0, Input, i2c0_sda_input- (SDA signal) 2= i2c0, Output, i2c0_sda_out- (SDA signa
		) 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_data[0]- (ULPI data bus) 1= usb0, Output, usb0_ulpi_tx_
		ata[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= gpio2, Output, gpio_2_pin_out[4]- (GPIO bank 2) 1= can
		, Output, can1_phy_tx- (Can TX signal) 2= i2c1, Input, i2c1_scl_input- (SCL signal) 2= i2c1, Output, i2c1_scl_out- (SCL signa
		) 3= swdt1, Input, swdt1_clk_in- (Watch Dog Timer Input clock) 4= spi0, Input, spi0_mi- (MISO signal) 4= spi0, Output, spi0_s
		- (MISO signal) 5= ttc3, Input, ttc3_clk_in- (TTC Clock) 6= ua1, Output, ua1_txd- (UART transmitter serial output) 7= trace, 
		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_data[1]- (ULPI data bus) 1= usb0, Output, usb0_ulpi_tx_
		ata[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= gpio2, Output, gpio_2_pin_out[5]- (GPIO bank 2) 1= can
		, 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- (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- (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_clk- (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= gpio2, Output, gpio_2_pin_out[6]- (GPIO bank 2) 1= can
		, 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_sclk_out- (SPI Clock
		 5= ttc2, Input, ttc2_clk_in- (TTC Clock) 6= ua0, Input, 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_data[3]- (ULPI data bus) 1= usb0, Output, usb0_ulpi_tx_
		ata[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= gpio2, Output, gpio_2_pin_out[7]- (GPIO bank 2) 1= can
		, Output, can0_phy_tx- (Can TX signal) 2= i2c0, Input, i2c0_sda_input- (SDA signal) 2= i2c0, Output, i2c0_sda_out- (SDA signa
		) 3= pjtag, Input, pjtag_tdi- (PJTAG TDI) 4= spi1, Output, spi1_n_ss_out[2]- (SPI Master Selects) 5= ttc2, Output, ttc2_wave_
		ut- (TTC Waveform Clock) 6= ua0, Output, ua0_txd- (UART transmitter serial output) 7= trace, Output, tracedq[5]- (Trace Port 
		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_data[4]- (ULPI data bus) 1= usb0, Output, usb0_ulpi_tx_
		ata[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= gpio2, Output, gpio_2_pin_out[8]- (GPIO bank 2) 1= can
		, Output, can1_phy_tx- (Can TX signal) 2= i2c1, Input, i2c1_scl_input- (SCL signal) 2= i2c1, Output, i2c1_scl_out- (SCL signa
		) 3= pjtag, Output, pjtag_tdo- (PJTAG TDO) 4= spi1, Output, spi1_n_ss_out[1]- (SPI Master Selects) 5= ttc1, Input, ttc1_clk_i
		- (TTC Clock) 6= ua1, Output, ua1_txd- (UART transmitter 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_data[5]- (ULPI data bus) 1= usb0, Output, usb0_ulpi_tx_
		ata[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= gpio2, Output, gpio_2_pin_out[9]- (GPIO bank 2) 1= can
		, 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 inpu
		) 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_data[6]- (ULPI data bus) 1= usb0, Output, usb0_ulpi_tx_
		ata[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= c
		n0, Input, can0_phy_rx- (Can RX signal) 2= i2c0, Input, i2c0_scl_input- (SCL signal) 2= i2c0, Output, i2c0_scl_out- (SCL sign
		l) 3= swdt0, Input, swdt0_clk_in- (Watch Dog Timer Input clock) 4= spi1, Input, spi1_mi- (MISO signal) 4= spi1, Output, spi1_
		o- (MISO signal) 5= ttc0, Input, ttc0_clk_in- (TTC Clock) 6= ua0, Input, ua0_rxd- (UART receiver serial input) 7= trace, Outp
		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_ctl- (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_data[7]- (ULPI data bus) 1= usb0, Output, usb0_ulpi_tx_
		ata[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= c
		n0, Output, can0_phy_tx- (Can TX signal) 2= i2c0, Input, i2c0_sda_input- (SDA signal) 2= i2c0, Output, i2c0_sda_out- (SDA sig
		al) 3= swdt0, Output, swdt0_rst_out- (Watch Dog Timer Output clock) 4= spi1, Output, spi1_mo- (MOSI signal) 4= spi1, Input, s
		i1_si- (MOSI signal) 5= ttc0, Output, ttc0_wave_out- (TTC Waveform Clock) 6= ua0, Output, ua0_txd- (UART transmitter serial o
		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_in- (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= c
		n1, Output, can1_phy_tx- (Can TX signal) 2= i2c1, Input, i2c1_scl_input- (SCL signal) 2= i2c1, Output, i2c1_scl_out- (SCL sig
		al) 3= swdt1, Input, swdt1_clk_in- (Watch Dog Timer Input clock) 4= spi0, Input, spi0_sclk_in- (SPI Clock) 4= spi0, Output, s
		i0_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= c
		n1, Input, can1_phy_rx- (Can RX signal) 2= i2c1, Input, i2c1_sda_input- (SDA signal) 2= i2c1, Output, i2c1_sda_out- (SDA sign
		l) 3= swdt1, Output, swdt1_rst_out- (Watch Dog Timer Output clock) 4= spi0, Output, spi0_n_ss_out[2]- (SPI Master Selects) 5=
		ttc3, Output, ttc3_wave_out- (TTC Waveform Clock) 6= ua1, Input, ua1_rxd- (UART receiver serial input) 7= trace, Output, trac
		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_data[2]- (ULPI data bus) 1= usb1, Output, usb1_ulpi_tx_
		ata[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- (Command Indicator) = sd0, Output, sdio0_cmd_out- (Comman
		 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= c
		n0, Input, can0_phy_rx- (Can RX signal) 2= i2c0, Input, i2c0_scl_input- (SCL signal) 2= i2c0, Output, i2c0_scl_out- (SCL sign
		l) 3= swdt0, Input, swdt0_clk_in- (Watch Dog Timer Input clock) 4= spi0, Output, spi0_n_ss_out[1]- (SPI Master Selects) 5= tt
		2, 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= Not 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= c
		n0, Output, can0_phy_tx- (Can TX signal) 2= i2c0, Input, i2c0_sda_input- (SDA signal) 2= i2c0, Output, i2c0_sda_out- (SDA sig
		al) 3= swdt0, Output, swdt0_rst_out- (Watch Dog Timer Output clock) 4= spi0, Input, spi0_n_ss_in- (SPI Master Selects) 4= spi
		, 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[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_data[0]- (ULPI data bus) 1= usb1, Output, usb1_ulpi_tx_
		ata[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= Not 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= c
		n1, Output, can1_phy_tx- (Can TX signal) 2= i2c1, Input, i2c1_scl_input- (SCL signal) 2= i2c1, Output, i2c1_scl_out- (SCL sig
		al) 3= swdt1, Input, swdt1_clk_in- (Watch Dog Timer Input clock) 4= spi0, Input, spi0_mi- (MISO signal) 4= spi0, Output, spi0
		so- (MISO signal) 5= ttc1, Input, ttc1_clk_in- (TTC Clock) 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_data[1]- (ULPI data bus) 1= usb1, Output, usb1_ulpi_tx_
		ata[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= sd1, 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= c
		n1, Input, can1_phy_rx- (Can RX signal) 2= i2c1, Input, i2c1_sda_input- (SDA signal) 2= i2c1, Output, i2c1_sda_out- (SDA sign
		l) 3= swdt1, Output, swdt1_rst_out- (Watch Dog Timer Output clock) 4= spi0, Output, spi0_mo- (MOSI signal) 4= spi0, Input, sp
		0_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[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_clk- (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= sd1, 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= c
		n0, Input, can0_phy_rx- (Can RX signal) 2= i2c0, Input, i2c0_scl_input- (SCL signal) 2= i2c0, Output, i2c0_scl_out- (SCL sign
		l) 3= swdt0, Input, swdt0_clk_in- (Watch Dog Timer Input clock) 4= spi1, Input, spi1_sclk_in- (SPI Clock) 4= spi1, Output, sp
		1_sclk_out- (SPI Clock) 5= ttc0, Input, ttc0_clk_in- (TTC Clock) 6= ua0, Input, ua0_rxd- (UART receiver serial input) 7= Not 
		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_data[3]- (ULPI data bus) 1= usb1, Output, usb1_ulpi_tx_
		ata[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= sd1, Input, sd1_data_in[0]- (8-bit Data bus) = sd1, Output, sdio1_data_out[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= c
		n0, Output, can0_phy_tx- (Can TX signal) 2= i2c0, Input, i2c0_sda_input- (SDA signal) 2= i2c0, Output, i2c0_sda_out- (SDA sig
		al) 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_data[4]- (ULPI data bus) 1= usb1, Output, usb1_ulpi_tx_
		ata[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= sd1, Input, sd1_data_in[1]- (8-bit Data bus) = sd1, Output, sdio1_data_out[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= c
		n1, Output, can1_phy_tx- (Can TX signal) 2= i2c1, Input, i2c1_scl_input- (SCL signal) 2= i2c1, Output, i2c1_scl_out- (SCL sig
		al) 3= swdt1, Input, swdt1_clk_in- (Watch Dog Timer Input clock) 4= spi1, Output, spi1_n_ss_out[1]- (SPI Master Selects) 5= N
		t Used 6= ua1, Output, ua1_txd- (UART transmitter serial 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_data[5]- (ULPI data bus) 1= usb1, Output, usb1_ulpi_tx_
		ata[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= sd1, Input, sd1_data_in[2]- (8-bit Data bus) = sd1, Output, sdio1_data_out[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= c
		n1, Input, can1_phy_rx- (Can RX signal) 2= i2c1, Input, i2c1_sda_input- (SDA signal) 2= i2c1, Output, i2c1_sda_out- (SDA sign
		l) 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_data[6]- (ULPI data bus) 1= usb1, Output, usb1_ulpi_tx_
		ata[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= sd1, Input, sd1_data_in[3]- (8-bit Data bus) = sd1, Output, sdio1_data_out[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= c
		n0, Input, can0_phy_rx- (Can RX signal) 2= i2c0, Input, i2c0_scl_input- (SCL signal) 2= i2c0, Output, i2c0_scl_out- (SCL sign
		l) 3= swdt0, Input, swdt0_clk_in- (Watch Dog Timer Input clock) 4= spi1, Input, spi1_mi- (MISO signal) 4= spi1, Output, spi1_
		o- (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_ctl- (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_data[7]- (ULPI data bus) 1= usb1, Output, usb1_ulpi_tx_
		ata[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- (Comma
		d 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= c
		n0, Output, can0_phy_tx- (Can TX signal) 2= i2c0, Input, i2c0_sda_input- (SDA signal) 2= i2c0, Output, i2c0_sda_out- (SDA sig
		al) 3= swdt0, Output, swdt0_rst_out- (Watch Dog Timer Output clock) 4= spi1, Output, spi1_mo- (MOSI signal) 4= spi1, Input, s
		i1_si- (MOSI signal) 5= Not Used 6= ua0, Output, ua0_txd- (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 card write protect from connector) 2= sd1, Output, sdio
		_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= c
		n1, Output, can1_phy_tx- (Can TX signal) 2= i2c1, Input, i2c1_scl_input- (SCL signal) 2= i2c1, Output, i2c1_scl_out- (SCL sig
		al) 3= mdio0, Output, gem0_mdc- (MDIO 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, sdio1_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= c
		n1, Input, can1_phy_rx- (Can RX signal) 2= i2c1, Input, i2c1_sda_input- (SDA signal) 2= i2c1, Output, i2c1_sda_out- (SDA sign
		l) 3= mdio0, Input, gem0_mdio_in- (MDIO Data) 3= mdio0, Output, gem0_mdio_out- (MDIO Data) 4= mdio1, Input, gem1_mdio_in- (MD
		O Data) 4= mdio1, Output, gem1_mdio_out- (MDIO Data) 5= mdio2, Input, gem2_mdio_in- (MDIO Data) 5= mdio2, Output, gem2_mdio_o
		t- (MDIO Data) 6= mdio3, Input, gem3_mdio_in- (MDIO Data) 6= mdio3, Output, 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                               0
#define IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_0_MASK                                0x00000001U

/*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                               1
#define IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_1_MASK                                0x00000002U

/*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                               2
#define IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_2_MASK                                0x00000004U

/*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                               3
#define IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_3_MASK                                0x00000008U

/*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                               4
#define IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_4_MASK                                0x00000010U

/*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                               5
#define IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_5_MASK                                0x00000020U

/*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                               6
#define IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_6_MASK                                0x00000040U

/*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                               7
#define IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_7_MASK                                0x00000080U

/*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                               8
#define IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_8_MASK                                0x00000100U

/*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                               9
#define IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_9_MASK                                0x00000200U

/*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                              10
#define IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_10_MASK                               0x00000400U

/*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                              11
#define IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_11_MASK                               0x00000800U

/*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                              12
#define IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_12_MASK                               0x00001000U

/*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                              13
#define IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_13_MASK                               0x00002000U

/*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                              14
#define IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_14_MASK                               0x00004000U

/*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                              15
#define IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_15_MASK                               0x00008000U

/*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                              16
#define IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_16_MASK                               0x00010000U

/*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                              17
#define IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_17_MASK                               0x00020000U

/*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                              18
#define IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_18_MASK                               0x00040000U

/*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                              19
#define IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_19_MASK                               0x00080000U

/*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                              20
#define IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_20_MASK                               0x00100000U

/*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                              21
#define IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_21_MASK                               0x00200000U

/*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                              22
#define IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_22_MASK                               0x00400000U

/*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                              23
#define IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_23_MASK                               0x00800000U

/*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                              24
#define IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_24_MASK                               0x01000000U

/*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                              25
#define IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_25_MASK                               0x02000000U

/*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 outp
		ts 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 R
		.*/
#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 outp
		ts 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 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 CRL_APB_RST_LPD_TOP_OFFSET 
#define CRL_APB_RST_LPD_TOP_OFFSET                                                 0XFF5E023C
#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 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 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 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

/*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

/*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

/*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_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 Sl
		t 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

/*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 after 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 register have been transmitted. It can only be set if STPBRK (Stop transmitter 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 restarted. This bit is self clearing once the restart has co
		pleted.*/
#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 reset and all pending transmitter data is discarded Thi
		 bit is self clearing 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 once 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 receive and to generate on transmit. 00: 1 stop bit 01: 1.5
		stop bits 10: 2 stop 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 
		01: odd parity 010: forced to 0 parity (space) 011: forced to 1 parity (mark) 1xx: no parity*/
#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. 11: 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 applied 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 after 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 register have been transmitted. It can only be set if STPBRK (Stop transmitter 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 restarted. This bit is self clearing once the restart has co
		pleted.*/
#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 reset and all pending transmitter data is discarded Thi
		 bit is self clearing 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 once 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 receive and to generate on transmit. 00: 1 stop bit 01: 1.5
		stop bits 10: 2 stop 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 
		01: odd parity 010: forced to 0 parity (space) 011: forced to 1 parity (mark) 1xx: no parity*/
#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. 11: 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 applied 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

/*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 
		he battery will be BBRAM. The value read through this bit does not necessarily reflect whether RTC is enabled or not. It is e
		pected that RTC is enabled every time it is being configured. If RTC is not used in the design, FSBL will disable it by writi
		g 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
#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_L3_TXPMA_ST_0_OFFSET 
#define SERDES_L3_TXPMA_ST_0_OFFSET                                                0XFD40CB00
#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_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

/*PLL0 Reference Selection. 0x0 - 5MHz, 0x1 - 9.6MHz, 0x2 - 10MHz, 0x3 - 12MHz, 0x4 - 13MHz, 0x5 - 19.2MHz, 0x6 - 20MHz, 0x7 - 
		4MHz, 0x8 - 26MHz, 0x9 - 27MHz, 0xA - 38.4MHz, 0xB - 40MHz, 0xC - 52MHz, 0xD - 100MHz, 0xE - 108MHz, 0xF - 125MHz, 0x10 - 135
		Hz, 0x11 - 150 MHz. 0x12 to 0x1F - Reserved*/
#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 - 12MHz, 0x4 - 13MHz, 0x5 - 19.2MHz, 0x6 - 20MHz, 0x7 - 
		4MHz, 0x8 - 26MHz, 0x9 - 27MHz, 0xA - 38.4MHz, 0xB - 40MHz, 0xC - 52MHz, 0xD - 100MHz, 0xE - 108MHz, 0xF - 125MHz, 0x10 - 135
		Hz, 0x11 - 150 MHz. 0x12 to 0x1F - Reserved*/
#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 - 12MHz, 0x4 - 13MHz, 0x5 - 19.2MHz, 0x6 - 20MHz, 0x7 - 
		4MHz, 0x8 - 26MHz, 0x9 - 27MHz, 0xA - 38.4MHz, 0xB - 40MHz, 0xC - 52MHz, 0xD - 100MHz, 0xE - 108MHz, 0xF - 125MHz, 0x10 - 135
		Hz, 0x11 - 150 MHz. 0x12 to 0x1F - Reserved*/
#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 - 12MHz, 0x4 - 13MHz, 0x5 - 19.2MHz, 0x6 - 20MHz, 0x7 - 
		4MHz, 0x8 - 26MHz, 0x9 - 27MHz, 0xA - 38.4MHz, 0xB - 40MHz, 0xC - 52MHz, 0xD - 100MHz, 0xE - 108MHz, 0xF - 125MHz, 0x10 - 135
		Hz, 0x11 - 150 MHz. 0x12 to 0x1F - Reserved*/
#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 output. 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 output. 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 slicer 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 output. 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 output. 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 slicer 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

/*PHY Mode: 4'b000 - PCIe, 4'b001 - USB3, 4'b0010 - SATA, 4'b0100 - SGMII, 4'b0101 - DP, 4'b1000 - MPHY*/
#undef SERDES_L3_TXPMA_ST_0_TX_PHY_MODE_DEFVAL 
#undef SERDES_L3_TXPMA_ST_0_TX_PHY_MODE_SHIFT 
#undef SERDES_L3_TXPMA_ST_0_TX_PHY_MODE_MASK 
#define SERDES_L3_TXPMA_ST_0_TX_PHY_MODE_DEFVAL                                    0x00000001
#define SERDES_L3_TXPMA_ST_0_TX_PHY_MODE_SHIFT                                     4
#define SERDES_L3_TXPMA_ST_0_TX_PHY_MODE_MASK                                      0x000000F0U

/*Controls UPHY Lane 0 protocol configuration. 0 - PowerDown, 1 - PCIe .0, 2 - Sata0, 3 - USB0, 4 - DP.1, 5 - SGMII0, 6 - Unuse
		, 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

/*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-emphasis, 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
#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 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 PCIE_ATTRIB_ATTR_37_OFFSET 
#define PCIE_ATTRIB_ATTR_37_OFFSET                                                 0XFD480094
#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

/*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

/*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

/*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 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

/*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] - 
		ane0 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 clocks. Specifies the response time for a MAC request to 
		he Packet FIFO Controller (PFC) to fetch data from the DFIFO (SPRAM). The following are the required values for the minimum S
		C bus frequency of 60 MHz. USB turnaround time is a critical certification criteria when using long cables and five hub level
		. 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 time is not critical, this field can be set to a larger 
		alue. Note: This field 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/ULPI Transceiver Select signal (for HS) and the assertio
		 of the TxValid signal during a HS Chirp. When this bit is set to 1, a delay (of approximately 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 de
		ay 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 dur
		ng 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 uses this bit to control utmi_sleep_n and utmi_l1_suspen
		_n assertion to the PHY in the L1 state. - 1'b0: utmi_sleep_n and utmi_l1_suspend_n assertion from the core is not transferre
		 to the external PHY. - 1'b1: utmi_sleep_n and utmi_l1_suspend_n assertion from the core is transferred to the external PHY. 
		ote: This bit must be set high for Port0 if PHY is used. Note: In Device mode - Before issuing any device endpoint command wh
		n operating in 2.0 speeds, disable this bit and enable it after the command completes. Without disabling this bit, if a comma
		d is issued when the device is in L1 state and if mac2_clk (utmi_clk/ulpi_clk) is gated off, the command will not get complet
		d.*/
#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 The application uses this bit to select a high-speed P
		Y or a full-speed transceiver. - 1'b0: USB 2.0 high-speed UTMI+ or ULPI PHY. This bit is always 0, with Write Only access. - 
		'b1: USB 1.1 full-speed serial transceiver. This bit is always 1, with Write Only access. If both interface types are selecte
		 in coreConsultant (that is, parameters' values are not zero), the application uses this bit to select the active interface i
		 active, with Read-Write bit access. Note: USB 1.1 full-serial transceiver 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 co
		figurations, it is recommended that this bit is set to 0 during coreConsultant configuration. If it is set to 1, then the app
		ication must clear this bit after power-on reset. Application needs to set it to 1 after the core initialization completes. F
		r all other configurations, this bit can be set to 1 during core configuration. Note: - In host mode, on reset, this bit is s
		t to 1. Software can override this bit after reset. - In device mode, before issuing any device endpoint command when operati
		g in 2.0 speeds, disable this bit and enable it after the command completes. If you issue a command without disabling this bi
		 when the device is in L2 state and if mac2_clk (utmi_clk/ulpi_clk) is gated off, the command will not get completed.*/
#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 bit to select a unidirectional or bidirectional USB 1.1
		full-speed serial transceiver interface. - 1'b0: 6-pin unidirectional full-speed serial interface. This bit is set to 0 with 
		ead Only access. - 1'b1: 3-pin bidirectional full-speed serial interface. This bit is set to 0 with Read Only access. Note: U
		B 1.1 full-speed serial interface is not supported. This 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 select a UTMI+ or ULPI Interface. - 1'b0: UTMI+ Interfa
		e - 1'b1: ULPI Interface This bit is writable only if UTMI+ and ULPI is specified for High-Speed PHY Interface(s) in coreCons
		ltant configuration (DWC_USB3_HSPHY_INTERFACE = 3). Otherwise, this bit is read-only and the value depends on the interface s
		lected 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 bit to configure the core to support a UTMI+ PHY with a
		 8- or 16-bit interface. - 1'b0: 8 bits - 1'b1: 16 bits ULPI Mode: 1'b0 Note: - All the enabled 2.0 ports must have the same 
		lock frequency as Port0 clock frequency (utmi_clk[0]). - The UTMI 8-bit and 16-bit modes cannot be used together for differen
		 ports at the same time (that is, all the ports must be in 8-bit mode, or all of them must be in 16-bit mode, at a time). - I
		 any of the USB 2.0 ports is selected as ULPI port for operation, then all 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 indicated 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 duration in the core to account for 
		dditional delays introduced by the PHY. This may be required, since the delay introduced by the PHY in generating the linesta
		e condition may vary among PHYs. The USB standard timeout 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 (inclusive) bit times. The application must program this 
		ield based on the speed of connection. The number of bit times added per PHY clock are: High-speed operation: - One 30-MHz PH
		 clock = 16 bit times - One 60-MHz PHY 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 clock = 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

/*This field indicates the frame length adjustment to be applied when SOF/ITP counter is running on the ref_clk. This register 
		alue is used to adjust the ITP interval when GCTL[SOFITPSYNC] is set to '1'; SOF and ITP interval when GLADJ.GFLADJ_REFCLK_LP
		_SEL is set to '1'. This field must be programmed to a non-zero value only if GFLADJ_REFCLK_LPM_SEL is set to '1' or GCTL.SOF
		TPSYNC is set to '1'. The value is derived as follows: FLADJ_REF_CLK_FLADJ=((125000/ref_clk_period_integer)-(125000/ref_clk_p
		riod)) * ref_clk_period where - the ref_clk_period_integer is the integer value of the ref_clk period got by truncating the d
		cimal (fractional) value that is programmed in the GUCTL.REF_CLK_PERIOD field. - the ref_clk_period is the ref_clk period inc
		uding the fractional value. Examples: If the ref_clk is 24 MHz then - GUCTL.REF_CLK_PERIOD = 41 - GFLADJ.GLADJ_REFCLK_FLADJ =
		((125000/41)-(125000/41.6666))*41.6666 = 2032 (ignoring the fractional value) If the ref_clk is 48 MHz then - GUCTL.REF_CLK_P
		RIOD = 20 - GFLADJ.GLADJ_REFCLK_FLADJ = ((125000/20)-(125000/20.8333))*20.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

/*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

/*Sets the ASPM Optionality Compliance bit, to comply with the 2.1 ASPM Optionality ECN. Transferred to the Link Capabilities r
		gister.; 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

/*If TRUE Completion Timeout Disable is supported. This is required to be TRUE for Endpoint and either setting allowed for Root
		ports. Drives Device 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 def
		ned as follows: Memory 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, where 2^n=memory a
		erture 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 BAR; set uppermost 31:n bits to 1, where 2^n=i/o apert
		re 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 def
		ned as follows: Memory 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, where 2^n=memory a
		erture 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 BAR; set uppermost 31:n bits to 1, where 2^n=i/o apert
		re 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 32-bit BAR, or the upper bits of \'7bBAR1,BAR0\'7d if 
		AR0 is a 64-bit BAR. If BAR is not to be implemented, set to 32'h00000000. See BAR0 description if this functions as the uppe
		 bits of a 64-bit BAR. Bits are defined as follows: Memory Space BAR (not upper bits of BAR0) [0] = Mem Space Indicator (set 
		o 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 to 1. IO Space BAR 0] = IO Space Indicator (set to 1) [1] = Reserved (set to 0) [31:2] = Mask for writable b
		ts 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_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 32-bit BAR, or the upper bits of \'7bBAR1,BAR0\'7d if 
		AR0 is a 64-bit BAR. If BAR is not to be implemented, set to 32'h00000000. See BAR0 description if this functions as the uppe
		 bits of a 64-bit BAR. Bits are defined as follows: Memory Space BAR (not upper bits of BAR0) [0] = Mem Space Indicator (set 
		o 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 to 1. IO Space BAR 0] = IO Space Indicator (set to 1) [1] = Reserved (set to 0) [31:2] = Mask for writable b
		ts 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_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 \'7b
		AR2,BAR1\'7d if BAR1 is the lower part of a 64-bit BAR. If BAR is not to be implemented, set to 32'h00000000. See BAR1 descri
		tion if this functions as the upper bits of a 64-bit BAR. For a switch or root: This must be set to 00FF_FFFF. For an endpoin
		, bits are defined as follows: Memory Space BAR (not upper bits of BAR1) [0] = Mem Space Indicator (set to 0) [2:1] = Type fi
		ld (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 uppe
		most 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 
		. IO Space BAR 0] = IO Space Indicator (set to 1) [1] = Reserved (set to 0) [31:2] = Mask for writable bits of BAR; set upper
		ost 31:n bits to 1, where 2^n=i/o aperture size in bytes.; 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 \'7b
		AR2,BAR1\'7d if BAR1 is the lower part of a 64-bit BAR. If BAR is not to be implemented, set to 32'h00000000. See BAR1 descri
		tion if this functions as the upper bits of a 64-bit BAR. For a switch or root: This must be set to 00FF_FFFF. For an endpoin
		, bits are defined as follows: Memory Space BAR (not upper bits of BAR1) [0] = Mem Space Indicator (set to 0) [2:1] = Type fi
		ld (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 uppe
		most 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 
		. IO Space BAR 0] = IO Space Indicator (set to 1) [1] = Reserved (set to 0) [31:2] = Mask for writable bits of BAR; set upper
		ost 31:n bits to 1, where 2^n=i/o aperture size in bytes.; 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 \'7b
		AR3,BAR2\'7d if BAR2 is the lower part of a 64-bit BAR. If BAR is not to be implemented, set to 32'h00000000. See BAR2 descri
		tion if this functions as the upper bits of a 64-bit BAR. For a switch or root, this must be set to: FFFF_0000 = IO Limit/Bas
		 Registers not implemented FFFF_F0F0 = IO Limit/Base Registers use 16-bit decode FFFF_F1F1 = IO Limit/Base Registers use 32-b
		t decode For an endpoint, bits are defined as follows: Memory Space BAR (not upper bits of BAR2) [0] = Mem Space Indicator (s
		t 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 
		f \'7bBAR4,BAR3\'7d to 1. IO Space BAR 0] = IO Space Indicator (set to 1) [1] = Reserved (set to 0) [31:2] = Mask for writabl
		 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 \'7b
		AR3,BAR2\'7d if BAR2 is the lower part of a 64-bit BAR. If BAR is not to be implemented, set to 32'h00000000. See BAR2 descri
		tion if this functions as the upper bits of a 64-bit BAR. For a switch or root, this must be set to: FFFF_0000 = IO Limit/Bas
		 Registers not implemented FFFF_F0F0 = IO Limit/Base Registers use 16-bit decode FFFF_F1F1 = IO Limit/Base Registers use 32-b
		t decode For an endpoint, bits are defined as follows: Memory Space BAR (not upper bits of BAR2) [0] = Mem Space Indicator (s
		t 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 
		f \'7bBAR4,BAR3\'7d to 1. IO Space BAR 0] = IO Space Indicator (set to 1) [1] = Reserved (set to 0) [31:2] = Mask for writabl
		 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 \'7b
		AR4,BAR3\'7d if BAR3 is the lower part of a 64-bit BAR. If BAR is not to be implemented, set to 32'h00000000. See BAR3 descri
		tion if this functions as the upper bits of a 64-bit BAR. For a switch or root: This must be set to FFF0_FFF0. For an endpoin
		, bits are defined as follows: Memory Space BAR (not upper bits of BAR3) [0] = Mem Space Indicator (set to 0) [2:1] = Type fi
		ld (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 uppe
		most 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 
		. IO Space BAR 0] = IO Space Indicator (set to 1) [1] = Reserved (set to 0) [31:2] = Mask for writable bits of BAR; set upper
		ost 31:n bits to 1, where 2^n=i/o aperture size in bytes.; 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 \'7b
		AR4,BAR3\'7d if BAR3 is the lower part of a 64-bit BAR. If BAR is not to be implemented, set to 32'h00000000. See BAR3 descri
		tion if this functions as the upper bits of a 64-bit BAR. For a switch or root: This must be set to FFF0_FFF0. For an endpoin
		, bits are defined as follows: Memory Space BAR (not upper bits of BAR3) [0] = Mem Space Indicator (set to 0) [2:1] = Type fi
		ld (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 uppe
		most 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 
		. IO Space BAR 0] = IO Space Indicator (set to 1) [1] = Reserved (set to 0) [31:2] = Mask for writable bits of BAR; set upper
		ost 31:n bits to 1, where 2^n=i/o aperture size in bytes.; 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 \'7b
		AR5,BAR4\'7d if BAR4 is the lower part of a 64-bit BAR. If BAR is not to be implemented, set to 32'h00000000. See BAR4 descri
		tion if this functions as the upper bits of a 64-bit BAR. For a switch or root, this must be set to: 0000_0000 = Prefetchable
		Memory Limit/Base Registers not implemented FFF0_FFF0 = 32-bit Prefetchable Memory Limit/Base implemented FFF1_FFF1 = 64-bit 
		refetchable Memory Limit/Base implemented For an endpoint, bits are defined as follows: Memory Space BAR (not upper bits of B
		R4) [0] = Mem Space Indicator (set to 0) [2:1] = Type field (00 for 32-bit; BAR5 cannot be lower part of a 64-bit BAR) [3] = 
		refetchable (0 or 1) [31:4] = Mask for writable bits of BAR; set uppermost 31:n bits to 1, where 2^n=memory aperture size in 
		ytes. IO Space BAR 0] = IO Space Indicator (set to 1) [1] = Reserved (set to 0) [31:2] = Mask for writable bits of BAR; set u
		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 \'7b
		AR5,BAR4\'7d if BAR4 is the lower part of a 64-bit BAR. If BAR is not to be implemented, set to 32'h00000000. See BAR4 descri
		tion if this functions as the upper bits of a 64-bit BAR. For a switch or root, this must be set to: 0000_0000 = Prefetchable
		Memory Limit/Base Registers not implemented FFF0_FFF0 = 32-bit Prefetchable Memory Limit/Base implemented FFF1_FFF1 = 64-bit 
		refetchable Memory Limit/Base implemented For an endpoint, bits are defined as follows: Memory Space BAR (not upper bits of B
		R4) [0] = Mem Space Indicator (set to 0) [2:1] = Type field (00 for 32-bit; BAR5 cannot be lower part of a 64-bit BAR) [3] = 
		refetchable (0 or 1) [31:4] = Mask for writable bits of BAR; set uppermost 31:n bits to 1, where 2^n=memory aperture size in 
		ytes. IO Space BAR 0] = IO Space Indicator (set to 1) [1] = Reserved (set to 0) [31:2] = Mask for writable bits of BAR; set u
		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 Capabilities register. The values: 4-2048 bytes, 5- 4096 bytes are not supported; 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 can 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, 6
		 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 Endpoint device, 0001b Legacy PCI Express Endpoint device, 0
		00b Root Port of PCI Express Root Complex, 0101b Upstream Port of PCI Express Switch, 0110b Downstream Port of PCI Express Sw
		tch, 0111b PCIE Express to PCI/PCI-X Bridge, 1000b PCI/PCI-X to PCI Express Bridge. Transferred to PCI Express Capabilities r
		gister. 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 capab
		lity.; 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 l
		ss than or equal to 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 received on Virtual Channel 0. The sum of the posted, non 
		osted, and completion 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 received on Virtual Channel 0. The number of non posted da
		a credits advertised 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 
		redits advertised by the block is equal to two times the number of non posted header credits if atomic operations are support
		d or is equal to the number of non posted header credits if atomic operations are not supported. The bytes advertised must be
		less than or equal to the bram bytes available. See VC0_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 
		han or equal to the 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=0x00
		0*/
#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 n
		mber of brams configured 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 post
		d, 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 header 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 capabilities list, or 00h if this is the final capabil
		ty.; 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 Control Register[8]. When set, adds Mask and Pending Dwor
		 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 
		he 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 capabi
		ity.; EP=0x0060; RP=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 
		he 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=0x00
		4; 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 port.; 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 interface. A bit value of 1 enables routing of the message 
		LP to the user. Messages 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 - INTC, 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 outputs; 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 bandwidth 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

/*Enables the Replay Timer to use the user-defined LL_REPLAY_TIMEOUT value (or combined with the built-in value, depending on L
		_REPLAY_TIMEOUT_FUNC). 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 retransmission 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 attribute 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 interface. Transferred to the Class Code register.; EP=0
		8000; 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 interface. Transferred to the Class Code register.; EP=0
		0005; 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 
		he management port, and AER will be considered to not be present for error management tasks (such as what types of error mess
		ges 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 
		he management port, and AER will be considered to not be present for error management tasks (such as what types of error mess
		ges 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 capabilities 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 MSIX structure cannot be accessed via either the link o
		 the management port.; 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
#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] - 
		ane0 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 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(); 
#ifdef __cplusplus
}
#endif
