| /****************************************************************************** |
| * |
| * Copyright (C) 2015 Xilinx, Inc. All rights reserved. |
| * |
| * This program is free software; you can redistribute it and/or modify |
| * it under the terms of the GNU General Public License as published by |
| * the Free Software Foundation; either version 2 of the License, or |
| * (at your option) any later version. |
| * |
| * This program is distributed in the hope that it will be useful, |
| * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| * GNU General Public License for more details. |
| * |
| * You should have received a copy of the GNU General Public License along |
| * with this program; if not, see <http://www.gnu.org/licenses/> |
| * |
| * |
| ******************************************************************************/ |
| |
| #include <xil_io.h> |
| #include "psu_init_gpl.h" |
| |
| static void PSU_Mask_Write (unsigned long offset, unsigned long mask, unsigned long val) |
| { |
| unsigned long RegVal = 0x0; |
| RegVal = Xil_In32 (offset); |
| RegVal &= ~(mask); |
| RegVal |= (val & mask); |
| Xil_Out32 (offset, RegVal); |
| } |
| |
| unsigned long psu_pll_init_data() { |
| // : RPLL INIT |
| /*Register : RPLL_CFG @ 0XFF5E0034</p> |
| |
| PLL loop filter resistor control |
| PSU_CRL_APB_RPLL_CFG_RES 0x2 |
| |
| PLL charge pump control |
| PSU_CRL_APB_RPLL_CFG_CP 0x3 |
| |
| PLL loop filter high frequency capacitor control |
| PSU_CRL_APB_RPLL_CFG_LFHF 0x3 |
| |
| Lock circuit counter setting |
| PSU_CRL_APB_RPLL_CFG_LOCK_CNT 0x258 |
| |
| Lock circuit configuration settings for lock windowsize |
| PSU_CRL_APB_RPLL_CFG_LOCK_DLY 0x3f |
| |
| Helper data. Values are to be looked up in a table from Data Sheet |
| (OFFSET, MASK, VALUE) (0XFF5E0034, 0xFE7FEDEFU ,0x7E4B0C62U) |
| RegMask = (CRL_APB_RPLL_CFG_RES_MASK | CRL_APB_RPLL_CFG_CP_MASK | CRL_APB_RPLL_CFG_LFHF_MASK | CRL_APB_RPLL_CFG_LOCK_CNT_MASK | CRL_APB_RPLL_CFG_LOCK_DLY_MASK | 0 ); |
| |
| RegVal = ((0x00000002U << CRL_APB_RPLL_CFG_RES_SHIFT |
| | 0x00000003U << CRL_APB_RPLL_CFG_CP_SHIFT |
| | 0x00000003U << CRL_APB_RPLL_CFG_LFHF_SHIFT |
| | 0x00000258U << CRL_APB_RPLL_CFG_LOCK_CNT_SHIFT |
| | 0x0000003FU << CRL_APB_RPLL_CFG_LOCK_DLY_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (CRL_APB_RPLL_CFG_OFFSET ,0xFE7FEDEFU ,0x7E4B0C62U); |
| /*############################################################################################################################ */ |
| |
| // : UPDATE FB_DIV |
| /*Register : RPLL_CTRL @ 0XFF5E0030</p> |
| |
| 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 |
| PSU_CRL_APB_RPLL_CTRL_PRE_SRC 0x0 |
| |
| The integer portion of the feedback divider to the PLL |
| PSU_CRL_APB_RPLL_CTRL_FBDIV 0x48 |
| |
| This turns on the divide by 2 that is inside of the PLL. This does not change the VCO frequency, just the output frequency |
| PSU_CRL_APB_RPLL_CTRL_DIV2 0x1 |
| |
| PLL Basic Control |
| (OFFSET, MASK, VALUE) (0XFF5E0030, 0x00717F00U ,0x00014800U) |
| RegMask = (CRL_APB_RPLL_CTRL_PRE_SRC_MASK | CRL_APB_RPLL_CTRL_FBDIV_MASK | CRL_APB_RPLL_CTRL_DIV2_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << CRL_APB_RPLL_CTRL_PRE_SRC_SHIFT |
| | 0x00000048U << CRL_APB_RPLL_CTRL_FBDIV_SHIFT |
| | 0x00000001U << CRL_APB_RPLL_CTRL_DIV2_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (CRL_APB_RPLL_CTRL_OFFSET ,0x00717F00U ,0x00014800U); |
| /*############################################################################################################################ */ |
| |
| // : BY PASS PLL |
| /*Register : RPLL_CTRL @ 0XFF5E0030</p> |
| |
| 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.) |
| PSU_CRL_APB_RPLL_CTRL_BYPASS 1 |
| |
| PLL Basic Control |
| (OFFSET, MASK, VALUE) (0XFF5E0030, 0x00000008U ,0x00000008U) |
| RegMask = (CRL_APB_RPLL_CTRL_BYPASS_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << CRL_APB_RPLL_CTRL_BYPASS_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (CRL_APB_RPLL_CTRL_OFFSET ,0x00000008U ,0x00000008U); |
| /*############################################################################################################################ */ |
| |
| // : ASSERT RESET |
| /*Register : RPLL_CTRL @ 0XFF5E0030</p> |
| |
| Asserts Reset to the PLL. When asserting reset, the PLL must already be in BYPASS. |
| PSU_CRL_APB_RPLL_CTRL_RESET 1 |
| |
| PLL Basic Control |
| (OFFSET, MASK, VALUE) (0XFF5E0030, 0x00000001U ,0x00000001U) |
| RegMask = (CRL_APB_RPLL_CTRL_RESET_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << CRL_APB_RPLL_CTRL_RESET_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (CRL_APB_RPLL_CTRL_OFFSET ,0x00000001U ,0x00000001U); |
| /*############################################################################################################################ */ |
| |
| // : DEASSERT RESET |
| /*Register : RPLL_CTRL @ 0XFF5E0030</p> |
| |
| Asserts Reset to the PLL. When asserting reset, the PLL must already be in BYPASS. |
| PSU_CRL_APB_RPLL_CTRL_RESET 0 |
| |
| PLL Basic Control |
| (OFFSET, MASK, VALUE) (0XFF5E0030, 0x00000001U ,0x00000000U) |
| RegMask = (CRL_APB_RPLL_CTRL_RESET_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << CRL_APB_RPLL_CTRL_RESET_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (CRL_APB_RPLL_CTRL_OFFSET ,0x00000001U ,0x00000000U); |
| /*############################################################################################################################ */ |
| |
| // : CHECK PLL STATUS |
| /*Register : PLL_STATUS @ 0XFF5E0040</p> |
| |
| RPLL is locked |
| PSU_CRL_APB_PLL_STATUS_RPLL_LOCK 1 |
| (OFFSET, MASK, VALUE) (0XFF5E0040, 0x00000002U ,0x00000002U) */ |
| mask_poll(CRL_APB_PLL_STATUS_OFFSET,0x00000002U); |
| |
| /*############################################################################################################################ */ |
| |
| // : REMOVE PLL BY PASS |
| /*Register : RPLL_CTRL @ 0XFF5E0030</p> |
| |
| 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.) |
| PSU_CRL_APB_RPLL_CTRL_BYPASS 0 |
| |
| PLL Basic Control |
| (OFFSET, MASK, VALUE) (0XFF5E0030, 0x00000008U ,0x00000000U) |
| RegMask = (CRL_APB_RPLL_CTRL_BYPASS_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << CRL_APB_RPLL_CTRL_BYPASS_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (CRL_APB_RPLL_CTRL_OFFSET ,0x00000008U ,0x00000000U); |
| /*############################################################################################################################ */ |
| |
| /*Register : RPLL_TO_FPD_CTRL @ 0XFF5E0048</p> |
| |
| Divisor value for this clock. |
| PSU_CRL_APB_RPLL_TO_FPD_CTRL_DIVISOR0 0x3 |
| |
| Control for a clock that will be generated in the LPD, but used in the FPD as a clock source for the peripheral clock muxes. |
| (OFFSET, MASK, VALUE) (0XFF5E0048, 0x00003F00U ,0x00000300U) |
| RegMask = (CRL_APB_RPLL_TO_FPD_CTRL_DIVISOR0_MASK | 0 ); |
| |
| RegVal = ((0x00000003U << CRL_APB_RPLL_TO_FPD_CTRL_DIVISOR0_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (CRL_APB_RPLL_TO_FPD_CTRL_OFFSET ,0x00003F00U ,0x00000300U); |
| /*############################################################################################################################ */ |
| |
| // : RPLL FRAC CFG |
| /*Register : RPLL_FRAC_CFG @ 0XFF5E0038</p> |
| |
| 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. |
| PSU_CRL_APB_RPLL_FRAC_CFG_ENABLED 0x0 |
| |
| Fractional value for the Feedback value. |
| PSU_CRL_APB_RPLL_FRAC_CFG_DATA 0x0 |
| |
| Fractional control for the PLL |
| (OFFSET, MASK, VALUE) (0XFF5E0038, 0x8000FFFFU ,0x00000000U) |
| RegMask = (CRL_APB_RPLL_FRAC_CFG_ENABLED_MASK | CRL_APB_RPLL_FRAC_CFG_DATA_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << CRL_APB_RPLL_FRAC_CFG_ENABLED_SHIFT |
| | 0x00000000U << CRL_APB_RPLL_FRAC_CFG_DATA_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (CRL_APB_RPLL_FRAC_CFG_OFFSET ,0x8000FFFFU ,0x00000000U); |
| /*############################################################################################################################ */ |
| |
| // : IOPLL INIT |
| /*Register : IOPLL_CFG @ 0XFF5E0024</p> |
| |
| PLL loop filter resistor control |
| PSU_CRL_APB_IOPLL_CFG_RES 0xc |
| |
| PLL charge pump control |
| PSU_CRL_APB_IOPLL_CFG_CP 0x3 |
| |
| PLL loop filter high frequency capacitor control |
| PSU_CRL_APB_IOPLL_CFG_LFHF 0x3 |
| |
| Lock circuit counter setting |
| PSU_CRL_APB_IOPLL_CFG_LOCK_CNT 0x339 |
| |
| Lock circuit configuration settings for lock windowsize |
| PSU_CRL_APB_IOPLL_CFG_LOCK_DLY 0x3f |
| |
| Helper data. Values are to be looked up in a table from Data Sheet |
| (OFFSET, MASK, VALUE) (0XFF5E0024, 0xFE7FEDEFU ,0x7E672C6CU) |
| RegMask = (CRL_APB_IOPLL_CFG_RES_MASK | CRL_APB_IOPLL_CFG_CP_MASK | CRL_APB_IOPLL_CFG_LFHF_MASK | CRL_APB_IOPLL_CFG_LOCK_CNT_MASK | CRL_APB_IOPLL_CFG_LOCK_DLY_MASK | 0 ); |
| |
| RegVal = ((0x0000000CU << CRL_APB_IOPLL_CFG_RES_SHIFT |
| | 0x00000003U << CRL_APB_IOPLL_CFG_CP_SHIFT |
| | 0x00000003U << CRL_APB_IOPLL_CFG_LFHF_SHIFT |
| | 0x00000339U << CRL_APB_IOPLL_CFG_LOCK_CNT_SHIFT |
| | 0x0000003FU << CRL_APB_IOPLL_CFG_LOCK_DLY_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (CRL_APB_IOPLL_CFG_OFFSET ,0xFE7FEDEFU ,0x7E672C6CU); |
| /*############################################################################################################################ */ |
| |
| // : UPDATE FB_DIV |
| /*Register : IOPLL_CTRL @ 0XFF5E0020</p> |
| |
| 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 |
| PSU_CRL_APB_IOPLL_CTRL_PRE_SRC 0x0 |
| |
| The integer portion of the feedback divider to the PLL |
| PSU_CRL_APB_IOPLL_CTRL_FBDIV 0x2d |
| |
| This turns on the divide by 2 that is inside of the PLL. This does not change the VCO frequency, just the output frequency |
| PSU_CRL_APB_IOPLL_CTRL_DIV2 0x0 |
| |
| PLL Basic Control |
| (OFFSET, MASK, VALUE) (0XFF5E0020, 0x00717F00U ,0x00002D00U) |
| RegMask = (CRL_APB_IOPLL_CTRL_PRE_SRC_MASK | CRL_APB_IOPLL_CTRL_FBDIV_MASK | CRL_APB_IOPLL_CTRL_DIV2_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << CRL_APB_IOPLL_CTRL_PRE_SRC_SHIFT |
| | 0x0000002DU << CRL_APB_IOPLL_CTRL_FBDIV_SHIFT |
| | 0x00000000U << CRL_APB_IOPLL_CTRL_DIV2_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (CRL_APB_IOPLL_CTRL_OFFSET ,0x00717F00U ,0x00002D00U); |
| /*############################################################################################################################ */ |
| |
| // : BY PASS PLL |
| /*Register : IOPLL_CTRL @ 0XFF5E0020</p> |
| |
| 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.) |
| PSU_CRL_APB_IOPLL_CTRL_BYPASS 1 |
| |
| PLL Basic Control |
| (OFFSET, MASK, VALUE) (0XFF5E0020, 0x00000008U ,0x00000008U) |
| RegMask = (CRL_APB_IOPLL_CTRL_BYPASS_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << CRL_APB_IOPLL_CTRL_BYPASS_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (CRL_APB_IOPLL_CTRL_OFFSET ,0x00000008U ,0x00000008U); |
| /*############################################################################################################################ */ |
| |
| // : ASSERT RESET |
| /*Register : IOPLL_CTRL @ 0XFF5E0020</p> |
| |
| Asserts Reset to the PLL. When asserting reset, the PLL must already be in BYPASS. |
| PSU_CRL_APB_IOPLL_CTRL_RESET 1 |
| |
| PLL Basic Control |
| (OFFSET, MASK, VALUE) (0XFF5E0020, 0x00000001U ,0x00000001U) |
| RegMask = (CRL_APB_IOPLL_CTRL_RESET_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << CRL_APB_IOPLL_CTRL_RESET_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (CRL_APB_IOPLL_CTRL_OFFSET ,0x00000001U ,0x00000001U); |
| /*############################################################################################################################ */ |
| |
| // : DEASSERT RESET |
| /*Register : IOPLL_CTRL @ 0XFF5E0020</p> |
| |
| Asserts Reset to the PLL. When asserting reset, the PLL must already be in BYPASS. |
| PSU_CRL_APB_IOPLL_CTRL_RESET 0 |
| |
| PLL Basic Control |
| (OFFSET, MASK, VALUE) (0XFF5E0020, 0x00000001U ,0x00000000U) |
| RegMask = (CRL_APB_IOPLL_CTRL_RESET_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << CRL_APB_IOPLL_CTRL_RESET_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (CRL_APB_IOPLL_CTRL_OFFSET ,0x00000001U ,0x00000000U); |
| /*############################################################################################################################ */ |
| |
| // : CHECK PLL STATUS |
| /*Register : PLL_STATUS @ 0XFF5E0040</p> |
| |
| IOPLL is locked |
| PSU_CRL_APB_PLL_STATUS_IOPLL_LOCK 1 |
| (OFFSET, MASK, VALUE) (0XFF5E0040, 0x00000001U ,0x00000001U) */ |
| mask_poll(CRL_APB_PLL_STATUS_OFFSET,0x00000001U); |
| |
| /*############################################################################################################################ */ |
| |
| // : REMOVE PLL BY PASS |
| /*Register : IOPLL_CTRL @ 0XFF5E0020</p> |
| |
| 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.) |
| PSU_CRL_APB_IOPLL_CTRL_BYPASS 0 |
| |
| PLL Basic Control |
| (OFFSET, MASK, VALUE) (0XFF5E0020, 0x00000008U ,0x00000000U) |
| RegMask = (CRL_APB_IOPLL_CTRL_BYPASS_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << CRL_APB_IOPLL_CTRL_BYPASS_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (CRL_APB_IOPLL_CTRL_OFFSET ,0x00000008U ,0x00000000U); |
| /*############################################################################################################################ */ |
| |
| /*Register : IOPLL_TO_FPD_CTRL @ 0XFF5E0044</p> |
| |
| Divisor value for this clock. |
| PSU_CRL_APB_IOPLL_TO_FPD_CTRL_DIVISOR0 0x3 |
| |
| Control for a clock that will be generated in the LPD, but used in the FPD as a clock source for the peripheral clock muxes. |
| (OFFSET, MASK, VALUE) (0XFF5E0044, 0x00003F00U ,0x00000300U) |
| RegMask = (CRL_APB_IOPLL_TO_FPD_CTRL_DIVISOR0_MASK | 0 ); |
| |
| RegVal = ((0x00000003U << CRL_APB_IOPLL_TO_FPD_CTRL_DIVISOR0_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (CRL_APB_IOPLL_TO_FPD_CTRL_OFFSET ,0x00003F00U ,0x00000300U); |
| /*############################################################################################################################ */ |
| |
| // : IOPLL FRAC CFG |
| /*Register : IOPLL_FRAC_CFG @ 0XFF5E0028</p> |
| |
| 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. |
| PSU_CRL_APB_IOPLL_FRAC_CFG_ENABLED 0x0 |
| |
| Fractional value for the Feedback value. |
| PSU_CRL_APB_IOPLL_FRAC_CFG_DATA 0x0 |
| |
| Fractional control for the PLL |
| (OFFSET, MASK, VALUE) (0XFF5E0028, 0x8000FFFFU ,0x00000000U) |
| RegMask = (CRL_APB_IOPLL_FRAC_CFG_ENABLED_MASK | CRL_APB_IOPLL_FRAC_CFG_DATA_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << CRL_APB_IOPLL_FRAC_CFG_ENABLED_SHIFT |
| | 0x00000000U << CRL_APB_IOPLL_FRAC_CFG_DATA_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (CRL_APB_IOPLL_FRAC_CFG_OFFSET ,0x8000FFFFU ,0x00000000U); |
| /*############################################################################################################################ */ |
| |
| // : APU_PLL INIT |
| /*Register : APLL_CFG @ 0XFD1A0024</p> |
| |
| PLL loop filter resistor control |
| PSU_CRF_APB_APLL_CFG_RES 0x2 |
| |
| PLL charge pump control |
| PSU_CRF_APB_APLL_CFG_CP 0x3 |
| |
| PLL loop filter high frequency capacitor control |
| PSU_CRF_APB_APLL_CFG_LFHF 0x3 |
| |
| Lock circuit counter setting |
| PSU_CRF_APB_APLL_CFG_LOCK_CNT 0x258 |
| |
| Lock circuit configuration settings for lock windowsize |
| PSU_CRF_APB_APLL_CFG_LOCK_DLY 0x3f |
| |
| Helper data. Values are to be looked up in a table from Data Sheet |
| (OFFSET, MASK, VALUE) (0XFD1A0024, 0xFE7FEDEFU ,0x7E4B0C62U) |
| RegMask = (CRF_APB_APLL_CFG_RES_MASK | CRF_APB_APLL_CFG_CP_MASK | CRF_APB_APLL_CFG_LFHF_MASK | CRF_APB_APLL_CFG_LOCK_CNT_MASK | CRF_APB_APLL_CFG_LOCK_DLY_MASK | 0 ); |
| |
| RegVal = ((0x00000002U << CRF_APB_APLL_CFG_RES_SHIFT |
| | 0x00000003U << CRF_APB_APLL_CFG_CP_SHIFT |
| | 0x00000003U << CRF_APB_APLL_CFG_LFHF_SHIFT |
| | 0x00000258U << CRF_APB_APLL_CFG_LOCK_CNT_SHIFT |
| | 0x0000003FU << CRF_APB_APLL_CFG_LOCK_DLY_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (CRF_APB_APLL_CFG_OFFSET ,0xFE7FEDEFU ,0x7E4B0C62U); |
| /*############################################################################################################################ */ |
| |
| // : UPDATE FB_DIV |
| /*Register : APLL_CTRL @ 0XFD1A0020</p> |
| |
| 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 |
| PSU_CRF_APB_APLL_CTRL_PRE_SRC 0x0 |
| |
| The integer portion of the feedback divider to the PLL |
| PSU_CRF_APB_APLL_CTRL_FBDIV 0x42 |
| |
| This turns on the divide by 2 that is inside of the PLL. This does not change the VCO frequency, just the output frequency |
| PSU_CRF_APB_APLL_CTRL_DIV2 0x1 |
| |
| PLL Basic Control |
| (OFFSET, MASK, VALUE) (0XFD1A0020, 0x00717F00U ,0x00014200U) |
| RegMask = (CRF_APB_APLL_CTRL_PRE_SRC_MASK | CRF_APB_APLL_CTRL_FBDIV_MASK | CRF_APB_APLL_CTRL_DIV2_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << CRF_APB_APLL_CTRL_PRE_SRC_SHIFT |
| | 0x00000042U << CRF_APB_APLL_CTRL_FBDIV_SHIFT |
| | 0x00000001U << CRF_APB_APLL_CTRL_DIV2_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (CRF_APB_APLL_CTRL_OFFSET ,0x00717F00U ,0x00014200U); |
| /*############################################################################################################################ */ |
| |
| // : BY PASS PLL |
| /*Register : APLL_CTRL @ 0XFD1A0020</p> |
| |
| 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.) |
| PSU_CRF_APB_APLL_CTRL_BYPASS 1 |
| |
| PLL Basic Control |
| (OFFSET, MASK, VALUE) (0XFD1A0020, 0x00000008U ,0x00000008U) |
| RegMask = (CRF_APB_APLL_CTRL_BYPASS_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << CRF_APB_APLL_CTRL_BYPASS_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (CRF_APB_APLL_CTRL_OFFSET ,0x00000008U ,0x00000008U); |
| /*############################################################################################################################ */ |
| |
| // : ASSERT RESET |
| /*Register : APLL_CTRL @ 0XFD1A0020</p> |
| |
| Asserts Reset to the PLL. When asserting reset, the PLL must already be in BYPASS. |
| PSU_CRF_APB_APLL_CTRL_RESET 1 |
| |
| PLL Basic Control |
| (OFFSET, MASK, VALUE) (0XFD1A0020, 0x00000001U ,0x00000001U) |
| RegMask = (CRF_APB_APLL_CTRL_RESET_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << CRF_APB_APLL_CTRL_RESET_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (CRF_APB_APLL_CTRL_OFFSET ,0x00000001U ,0x00000001U); |
| /*############################################################################################################################ */ |
| |
| // : DEASSERT RESET |
| /*Register : APLL_CTRL @ 0XFD1A0020</p> |
| |
| Asserts Reset to the PLL. When asserting reset, the PLL must already be in BYPASS. |
| PSU_CRF_APB_APLL_CTRL_RESET 0 |
| |
| PLL Basic Control |
| (OFFSET, MASK, VALUE) (0XFD1A0020, 0x00000001U ,0x00000000U) |
| RegMask = (CRF_APB_APLL_CTRL_RESET_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << CRF_APB_APLL_CTRL_RESET_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (CRF_APB_APLL_CTRL_OFFSET ,0x00000001U ,0x00000000U); |
| /*############################################################################################################################ */ |
| |
| // : CHECK PLL STATUS |
| /*Register : PLL_STATUS @ 0XFD1A0044</p> |
| |
| APLL is locked |
| PSU_CRF_APB_PLL_STATUS_APLL_LOCK 1 |
| (OFFSET, MASK, VALUE) (0XFD1A0044, 0x00000001U ,0x00000001U) */ |
| mask_poll(CRF_APB_PLL_STATUS_OFFSET,0x00000001U); |
| |
| /*############################################################################################################################ */ |
| |
| // : REMOVE PLL BY PASS |
| /*Register : APLL_CTRL @ 0XFD1A0020</p> |
| |
| 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.) |
| PSU_CRF_APB_APLL_CTRL_BYPASS 0 |
| |
| PLL Basic Control |
| (OFFSET, MASK, VALUE) (0XFD1A0020, 0x00000008U ,0x00000000U) |
| RegMask = (CRF_APB_APLL_CTRL_BYPASS_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << CRF_APB_APLL_CTRL_BYPASS_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (CRF_APB_APLL_CTRL_OFFSET ,0x00000008U ,0x00000000U); |
| /*############################################################################################################################ */ |
| |
| /*Register : APLL_TO_LPD_CTRL @ 0XFD1A0048</p> |
| |
| Divisor value for this clock. |
| PSU_CRF_APB_APLL_TO_LPD_CTRL_DIVISOR0 0x3 |
| |
| Control for a clock that will be generated in the FPD, but used in the LPD as a clock source for the peripheral clock muxes. |
| (OFFSET, MASK, VALUE) (0XFD1A0048, 0x00003F00U ,0x00000300U) |
| RegMask = (CRF_APB_APLL_TO_LPD_CTRL_DIVISOR0_MASK | 0 ); |
| |
| RegVal = ((0x00000003U << CRF_APB_APLL_TO_LPD_CTRL_DIVISOR0_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (CRF_APB_APLL_TO_LPD_CTRL_OFFSET ,0x00003F00U ,0x00000300U); |
| /*############################################################################################################################ */ |
| |
| // : APLL FRAC CFG |
| /*Register : APLL_FRAC_CFG @ 0XFD1A0028</p> |
| |
| 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. |
| PSU_CRF_APB_APLL_FRAC_CFG_ENABLED 0x0 |
| |
| Fractional value for the Feedback value. |
| PSU_CRF_APB_APLL_FRAC_CFG_DATA 0x0 |
| |
| Fractional control for the PLL |
| (OFFSET, MASK, VALUE) (0XFD1A0028, 0x8000FFFFU ,0x00000000U) |
| RegMask = (CRF_APB_APLL_FRAC_CFG_ENABLED_MASK | CRF_APB_APLL_FRAC_CFG_DATA_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << CRF_APB_APLL_FRAC_CFG_ENABLED_SHIFT |
| | 0x00000000U << CRF_APB_APLL_FRAC_CFG_DATA_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (CRF_APB_APLL_FRAC_CFG_OFFSET ,0x8000FFFFU ,0x00000000U); |
| /*############################################################################################################################ */ |
| |
| // : DDR_PLL INIT |
| /*Register : DPLL_CFG @ 0XFD1A0030</p> |
| |
| PLL loop filter resistor control |
| PSU_CRF_APB_DPLL_CFG_RES 0x2 |
| |
| PLL charge pump control |
| PSU_CRF_APB_DPLL_CFG_CP 0x3 |
| |
| PLL loop filter high frequency capacitor control |
| PSU_CRF_APB_DPLL_CFG_LFHF 0x3 |
| |
| Lock circuit counter setting |
| PSU_CRF_APB_DPLL_CFG_LOCK_CNT 0x258 |
| |
| Lock circuit configuration settings for lock windowsize |
| PSU_CRF_APB_DPLL_CFG_LOCK_DLY 0x3f |
| |
| Helper data. Values are to be looked up in a table from Data Sheet |
| (OFFSET, MASK, VALUE) (0XFD1A0030, 0xFE7FEDEFU ,0x7E4B0C62U) |
| RegMask = (CRF_APB_DPLL_CFG_RES_MASK | CRF_APB_DPLL_CFG_CP_MASK | CRF_APB_DPLL_CFG_LFHF_MASK | CRF_APB_DPLL_CFG_LOCK_CNT_MASK | CRF_APB_DPLL_CFG_LOCK_DLY_MASK | 0 ); |
| |
| RegVal = ((0x00000002U << CRF_APB_DPLL_CFG_RES_SHIFT |
| | 0x00000003U << CRF_APB_DPLL_CFG_CP_SHIFT |
| | 0x00000003U << CRF_APB_DPLL_CFG_LFHF_SHIFT |
| | 0x00000258U << CRF_APB_DPLL_CFG_LOCK_CNT_SHIFT |
| | 0x0000003FU << CRF_APB_DPLL_CFG_LOCK_DLY_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (CRF_APB_DPLL_CFG_OFFSET ,0xFE7FEDEFU ,0x7E4B0C62U); |
| /*############################################################################################################################ */ |
| |
| // : UPDATE FB_DIV |
| /*Register : DPLL_CTRL @ 0XFD1A002C</p> |
| |
| 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 |
| PSU_CRF_APB_DPLL_CTRL_PRE_SRC 0x0 |
| |
| The integer portion of the feedback divider to the PLL |
| PSU_CRF_APB_DPLL_CTRL_FBDIV 0x40 |
| |
| This turns on the divide by 2 that is inside of the PLL. This does not change the VCO frequency, just the output frequency |
| PSU_CRF_APB_DPLL_CTRL_DIV2 0x1 |
| |
| PLL Basic Control |
| (OFFSET, MASK, VALUE) (0XFD1A002C, 0x00717F00U ,0x00014000U) |
| RegMask = (CRF_APB_DPLL_CTRL_PRE_SRC_MASK | CRF_APB_DPLL_CTRL_FBDIV_MASK | CRF_APB_DPLL_CTRL_DIV2_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << CRF_APB_DPLL_CTRL_PRE_SRC_SHIFT |
| | 0x00000040U << CRF_APB_DPLL_CTRL_FBDIV_SHIFT |
| | 0x00000001U << CRF_APB_DPLL_CTRL_DIV2_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (CRF_APB_DPLL_CTRL_OFFSET ,0x00717F00U ,0x00014000U); |
| /*############################################################################################################################ */ |
| |
| // : BY PASS PLL |
| /*Register : DPLL_CTRL @ 0XFD1A002C</p> |
| |
| 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.) |
| PSU_CRF_APB_DPLL_CTRL_BYPASS 1 |
| |
| PLL Basic Control |
| (OFFSET, MASK, VALUE) (0XFD1A002C, 0x00000008U ,0x00000008U) |
| RegMask = (CRF_APB_DPLL_CTRL_BYPASS_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << CRF_APB_DPLL_CTRL_BYPASS_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (CRF_APB_DPLL_CTRL_OFFSET ,0x00000008U ,0x00000008U); |
| /*############################################################################################################################ */ |
| |
| // : ASSERT RESET |
| /*Register : DPLL_CTRL @ 0XFD1A002C</p> |
| |
| Asserts Reset to the PLL. When asserting reset, the PLL must already be in BYPASS. |
| PSU_CRF_APB_DPLL_CTRL_RESET 1 |
| |
| PLL Basic Control |
| (OFFSET, MASK, VALUE) (0XFD1A002C, 0x00000001U ,0x00000001U) |
| RegMask = (CRF_APB_DPLL_CTRL_RESET_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << CRF_APB_DPLL_CTRL_RESET_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (CRF_APB_DPLL_CTRL_OFFSET ,0x00000001U ,0x00000001U); |
| /*############################################################################################################################ */ |
| |
| // : DEASSERT RESET |
| /*Register : DPLL_CTRL @ 0XFD1A002C</p> |
| |
| Asserts Reset to the PLL. When asserting reset, the PLL must already be in BYPASS. |
| PSU_CRF_APB_DPLL_CTRL_RESET 0 |
| |
| PLL Basic Control |
| (OFFSET, MASK, VALUE) (0XFD1A002C, 0x00000001U ,0x00000000U) |
| RegMask = (CRF_APB_DPLL_CTRL_RESET_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << CRF_APB_DPLL_CTRL_RESET_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (CRF_APB_DPLL_CTRL_OFFSET ,0x00000001U ,0x00000000U); |
| /*############################################################################################################################ */ |
| |
| // : CHECK PLL STATUS |
| /*Register : PLL_STATUS @ 0XFD1A0044</p> |
| |
| DPLL is locked |
| PSU_CRF_APB_PLL_STATUS_DPLL_LOCK 1 |
| (OFFSET, MASK, VALUE) (0XFD1A0044, 0x00000002U ,0x00000002U) */ |
| mask_poll(CRF_APB_PLL_STATUS_OFFSET,0x00000002U); |
| |
| /*############################################################################################################################ */ |
| |
| // : REMOVE PLL BY PASS |
| /*Register : DPLL_CTRL @ 0XFD1A002C</p> |
| |
| 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.) |
| PSU_CRF_APB_DPLL_CTRL_BYPASS 0 |
| |
| PLL Basic Control |
| (OFFSET, MASK, VALUE) (0XFD1A002C, 0x00000008U ,0x00000000U) |
| RegMask = (CRF_APB_DPLL_CTRL_BYPASS_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << CRF_APB_DPLL_CTRL_BYPASS_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (CRF_APB_DPLL_CTRL_OFFSET ,0x00000008U ,0x00000000U); |
| /*############################################################################################################################ */ |
| |
| /*Register : DPLL_TO_LPD_CTRL @ 0XFD1A004C</p> |
| |
| Divisor value for this clock. |
| PSU_CRF_APB_DPLL_TO_LPD_CTRL_DIVISOR0 0x3 |
| |
| Control for a clock that will be generated in the FPD, but used in the LPD as a clock source for the peripheral clock muxes. |
| (OFFSET, MASK, VALUE) (0XFD1A004C, 0x00003F00U ,0x00000300U) |
| RegMask = (CRF_APB_DPLL_TO_LPD_CTRL_DIVISOR0_MASK | 0 ); |
| |
| RegVal = ((0x00000003U << CRF_APB_DPLL_TO_LPD_CTRL_DIVISOR0_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (CRF_APB_DPLL_TO_LPD_CTRL_OFFSET ,0x00003F00U ,0x00000300U); |
| /*############################################################################################################################ */ |
| |
| // : DPLL FRAC CFG |
| /*Register : DPLL_FRAC_CFG @ 0XFD1A0034</p> |
| |
| 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. |
| PSU_CRF_APB_DPLL_FRAC_CFG_ENABLED 0x0 |
| |
| Fractional value for the Feedback value. |
| PSU_CRF_APB_DPLL_FRAC_CFG_DATA 0x0 |
| |
| Fractional control for the PLL |
| (OFFSET, MASK, VALUE) (0XFD1A0034, 0x8000FFFFU ,0x00000000U) |
| RegMask = (CRF_APB_DPLL_FRAC_CFG_ENABLED_MASK | CRF_APB_DPLL_FRAC_CFG_DATA_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << CRF_APB_DPLL_FRAC_CFG_ENABLED_SHIFT |
| | 0x00000000U << CRF_APB_DPLL_FRAC_CFG_DATA_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (CRF_APB_DPLL_FRAC_CFG_OFFSET ,0x8000FFFFU ,0x00000000U); |
| /*############################################################################################################################ */ |
| |
| // : VIDEO_PLL INIT |
| /*Register : VPLL_CFG @ 0XFD1A003C</p> |
| |
| PLL loop filter resistor control |
| PSU_CRF_APB_VPLL_CFG_RES 0x2 |
| |
| PLL charge pump control |
| PSU_CRF_APB_VPLL_CFG_CP 0x3 |
| |
| PLL loop filter high frequency capacitor control |
| PSU_CRF_APB_VPLL_CFG_LFHF 0x3 |
| |
| Lock circuit counter setting |
| PSU_CRF_APB_VPLL_CFG_LOCK_CNT 0x28a |
| |
| Lock circuit configuration settings for lock windowsize |
| PSU_CRF_APB_VPLL_CFG_LOCK_DLY 0x3f |
| |
| Helper data. Values are to be looked up in a table from Data Sheet |
| (OFFSET, MASK, VALUE) (0XFD1A003C, 0xFE7FEDEFU ,0x7E514C62U) |
| RegMask = (CRF_APB_VPLL_CFG_RES_MASK | CRF_APB_VPLL_CFG_CP_MASK | CRF_APB_VPLL_CFG_LFHF_MASK | CRF_APB_VPLL_CFG_LOCK_CNT_MASK | CRF_APB_VPLL_CFG_LOCK_DLY_MASK | 0 ); |
| |
| RegVal = ((0x00000002U << CRF_APB_VPLL_CFG_RES_SHIFT |
| | 0x00000003U << CRF_APB_VPLL_CFG_CP_SHIFT |
| | 0x00000003U << CRF_APB_VPLL_CFG_LFHF_SHIFT |
| | 0x0000028AU << CRF_APB_VPLL_CFG_LOCK_CNT_SHIFT |
| | 0x0000003FU << CRF_APB_VPLL_CFG_LOCK_DLY_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (CRF_APB_VPLL_CFG_OFFSET ,0xFE7FEDEFU ,0x7E514C62U); |
| /*############################################################################################################################ */ |
| |
| // : UPDATE FB_DIV |
| /*Register : VPLL_CTRL @ 0XFD1A0038</p> |
| |
| 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 |
| PSU_CRF_APB_VPLL_CTRL_PRE_SRC 0x0 |
| |
| The integer portion of the feedback divider to the PLL |
| PSU_CRF_APB_VPLL_CTRL_FBDIV 0x39 |
| |
| This turns on the divide by 2 that is inside of the PLL. This does not change the VCO frequency, just the output frequency |
| PSU_CRF_APB_VPLL_CTRL_DIV2 0x1 |
| |
| PLL Basic Control |
| (OFFSET, MASK, VALUE) (0XFD1A0038, 0x00717F00U ,0x00013900U) |
| RegMask = (CRF_APB_VPLL_CTRL_PRE_SRC_MASK | CRF_APB_VPLL_CTRL_FBDIV_MASK | CRF_APB_VPLL_CTRL_DIV2_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << CRF_APB_VPLL_CTRL_PRE_SRC_SHIFT |
| | 0x00000039U << CRF_APB_VPLL_CTRL_FBDIV_SHIFT |
| | 0x00000001U << CRF_APB_VPLL_CTRL_DIV2_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (CRF_APB_VPLL_CTRL_OFFSET ,0x00717F00U ,0x00013900U); |
| /*############################################################################################################################ */ |
| |
| // : BY PASS PLL |
| /*Register : VPLL_CTRL @ 0XFD1A0038</p> |
| |
| 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.) |
| PSU_CRF_APB_VPLL_CTRL_BYPASS 1 |
| |
| PLL Basic Control |
| (OFFSET, MASK, VALUE) (0XFD1A0038, 0x00000008U ,0x00000008U) |
| RegMask = (CRF_APB_VPLL_CTRL_BYPASS_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << CRF_APB_VPLL_CTRL_BYPASS_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (CRF_APB_VPLL_CTRL_OFFSET ,0x00000008U ,0x00000008U); |
| /*############################################################################################################################ */ |
| |
| // : ASSERT RESET |
| /*Register : VPLL_CTRL @ 0XFD1A0038</p> |
| |
| Asserts Reset to the PLL. When asserting reset, the PLL must already be in BYPASS. |
| PSU_CRF_APB_VPLL_CTRL_RESET 1 |
| |
| PLL Basic Control |
| (OFFSET, MASK, VALUE) (0XFD1A0038, 0x00000001U ,0x00000001U) |
| RegMask = (CRF_APB_VPLL_CTRL_RESET_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << CRF_APB_VPLL_CTRL_RESET_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (CRF_APB_VPLL_CTRL_OFFSET ,0x00000001U ,0x00000001U); |
| /*############################################################################################################################ */ |
| |
| // : DEASSERT RESET |
| /*Register : VPLL_CTRL @ 0XFD1A0038</p> |
| |
| Asserts Reset to the PLL. When asserting reset, the PLL must already be in BYPASS. |
| PSU_CRF_APB_VPLL_CTRL_RESET 0 |
| |
| PLL Basic Control |
| (OFFSET, MASK, VALUE) (0XFD1A0038, 0x00000001U ,0x00000000U) |
| RegMask = (CRF_APB_VPLL_CTRL_RESET_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << CRF_APB_VPLL_CTRL_RESET_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (CRF_APB_VPLL_CTRL_OFFSET ,0x00000001U ,0x00000000U); |
| /*############################################################################################################################ */ |
| |
| // : CHECK PLL STATUS |
| /*Register : PLL_STATUS @ 0XFD1A0044</p> |
| |
| VPLL is locked |
| PSU_CRF_APB_PLL_STATUS_VPLL_LOCK 1 |
| (OFFSET, MASK, VALUE) (0XFD1A0044, 0x00000004U ,0x00000004U) */ |
| mask_poll(CRF_APB_PLL_STATUS_OFFSET,0x00000004U); |
| |
| /*############################################################################################################################ */ |
| |
| // : REMOVE PLL BY PASS |
| /*Register : VPLL_CTRL @ 0XFD1A0038</p> |
| |
| 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.) |
| PSU_CRF_APB_VPLL_CTRL_BYPASS 0 |
| |
| PLL Basic Control |
| (OFFSET, MASK, VALUE) (0XFD1A0038, 0x00000008U ,0x00000000U) |
| RegMask = (CRF_APB_VPLL_CTRL_BYPASS_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << CRF_APB_VPLL_CTRL_BYPASS_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (CRF_APB_VPLL_CTRL_OFFSET ,0x00000008U ,0x00000000U); |
| /*############################################################################################################################ */ |
| |
| /*Register : VPLL_TO_LPD_CTRL @ 0XFD1A0050</p> |
| |
| Divisor value for this clock. |
| PSU_CRF_APB_VPLL_TO_LPD_CTRL_DIVISOR0 0x3 |
| |
| Control for a clock that will be generated in the FPD, but used in the LPD as a clock source for the peripheral clock muxes. |
| (OFFSET, MASK, VALUE) (0XFD1A0050, 0x00003F00U ,0x00000300U) |
| RegMask = (CRF_APB_VPLL_TO_LPD_CTRL_DIVISOR0_MASK | 0 ); |
| |
| RegVal = ((0x00000003U << CRF_APB_VPLL_TO_LPD_CTRL_DIVISOR0_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (CRF_APB_VPLL_TO_LPD_CTRL_OFFSET ,0x00003F00U ,0x00000300U); |
| /*############################################################################################################################ */ |
| |
| // : VIDEO FRAC CFG |
| /*Register : VPLL_FRAC_CFG @ 0XFD1A0040</p> |
| |
| 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. |
| PSU_CRF_APB_VPLL_FRAC_CFG_ENABLED 0x1 |
| |
| Fractional value for the Feedback value. |
| PSU_CRF_APB_VPLL_FRAC_CFG_DATA 0x820c |
| |
| Fractional control for the PLL |
| (OFFSET, MASK, VALUE) (0XFD1A0040, 0x8000FFFFU ,0x8000820CU) |
| RegMask = (CRF_APB_VPLL_FRAC_CFG_ENABLED_MASK | CRF_APB_VPLL_FRAC_CFG_DATA_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << CRF_APB_VPLL_FRAC_CFG_ENABLED_SHIFT |
| | 0x0000820CU << CRF_APB_VPLL_FRAC_CFG_DATA_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (CRF_APB_VPLL_FRAC_CFG_OFFSET ,0x8000FFFFU ,0x8000820CU); |
| /*############################################################################################################################ */ |
| |
| |
| return 1; |
| } |
| unsigned long psu_clock_init_data() { |
| // : CLOCK CONTROL SLCR REGISTER |
| /*Register : GEM0_REF_CTRL @ 0XFF5E0050</p> |
| |
| Clock active for the RX channel |
| PSU_CRL_APB_GEM0_REF_CTRL_RX_CLKACT 0x1 |
| |
| Clock active signal. Switch to 0 to disable the clock |
| PSU_CRL_APB_GEM0_REF_CTRL_CLKACT 0x1 |
| |
| 6 bit divider |
| PSU_CRL_APB_GEM0_REF_CTRL_DIVISOR1 0x1 |
| |
| 6 bit divider |
| PSU_CRL_APB_GEM0_REF_CTRL_DIVISOR0 0x8 |
| |
| 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.) |
| PSU_CRL_APB_GEM0_REF_CTRL_SRCSEL 0x0 |
| |
| This register controls this reference clock |
| (OFFSET, MASK, VALUE) (0XFF5E0050, 0x063F3F07U ,0x06010800U) |
| RegMask = (CRL_APB_GEM0_REF_CTRL_RX_CLKACT_MASK | CRL_APB_GEM0_REF_CTRL_CLKACT_MASK | CRL_APB_GEM0_REF_CTRL_DIVISOR1_MASK | CRL_APB_GEM0_REF_CTRL_DIVISOR0_MASK | CRL_APB_GEM0_REF_CTRL_SRCSEL_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << CRL_APB_GEM0_REF_CTRL_RX_CLKACT_SHIFT |
| | 0x00000001U << CRL_APB_GEM0_REF_CTRL_CLKACT_SHIFT |
| | 0x00000001U << CRL_APB_GEM0_REF_CTRL_DIVISOR1_SHIFT |
| | 0x00000008U << CRL_APB_GEM0_REF_CTRL_DIVISOR0_SHIFT |
| | 0x00000000U << CRL_APB_GEM0_REF_CTRL_SRCSEL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (CRL_APB_GEM0_REF_CTRL_OFFSET ,0x063F3F07U ,0x06010800U); |
| /*############################################################################################################################ */ |
| |
| /*Register : GEM1_REF_CTRL @ 0XFF5E0054</p> |
| |
| Clock active for the RX channel |
| PSU_CRL_APB_GEM1_REF_CTRL_RX_CLKACT 0x1 |
| |
| Clock active signal. Switch to 0 to disable the clock |
| PSU_CRL_APB_GEM1_REF_CTRL_CLKACT 0x1 |
| |
| 6 bit divider |
| PSU_CRL_APB_GEM1_REF_CTRL_DIVISOR1 0x1 |
| |
| 6 bit divider |
| PSU_CRL_APB_GEM1_REF_CTRL_DIVISOR0 0x8 |
| |
| 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.) |
| PSU_CRL_APB_GEM1_REF_CTRL_SRCSEL 0x0 |
| |
| This register controls this reference clock |
| (OFFSET, MASK, VALUE) (0XFF5E0054, 0x063F3F07U ,0x06010800U) |
| RegMask = (CRL_APB_GEM1_REF_CTRL_RX_CLKACT_MASK | CRL_APB_GEM1_REF_CTRL_CLKACT_MASK | CRL_APB_GEM1_REF_CTRL_DIVISOR1_MASK | CRL_APB_GEM1_REF_CTRL_DIVISOR0_MASK | CRL_APB_GEM1_REF_CTRL_SRCSEL_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << CRL_APB_GEM1_REF_CTRL_RX_CLKACT_SHIFT |
| | 0x00000001U << CRL_APB_GEM1_REF_CTRL_CLKACT_SHIFT |
| | 0x00000001U << CRL_APB_GEM1_REF_CTRL_DIVISOR1_SHIFT |
| | 0x00000008U << CRL_APB_GEM1_REF_CTRL_DIVISOR0_SHIFT |
| | 0x00000000U << CRL_APB_GEM1_REF_CTRL_SRCSEL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (CRL_APB_GEM1_REF_CTRL_OFFSET ,0x063F3F07U ,0x06010800U); |
| /*############################################################################################################################ */ |
| |
| /*Register : GEM2_REF_CTRL @ 0XFF5E0058</p> |
| |
| Clock active for the RX channel |
| PSU_CRL_APB_GEM2_REF_CTRL_RX_CLKACT 0x1 |
| |
| Clock active signal. Switch to 0 to disable the clock |
| PSU_CRL_APB_GEM2_REF_CTRL_CLKACT 0x1 |
| |
| 6 bit divider |
| PSU_CRL_APB_GEM2_REF_CTRL_DIVISOR1 0x1 |
| |
| 6 bit divider |
| PSU_CRL_APB_GEM2_REF_CTRL_DIVISOR0 0x8 |
| |
| 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.) |
| PSU_CRL_APB_GEM2_REF_CTRL_SRCSEL 0x0 |
| |
| This register controls this reference clock |
| (OFFSET, MASK, VALUE) (0XFF5E0058, 0x063F3F07U ,0x06010800U) |
| RegMask = (CRL_APB_GEM2_REF_CTRL_RX_CLKACT_MASK | CRL_APB_GEM2_REF_CTRL_CLKACT_MASK | CRL_APB_GEM2_REF_CTRL_DIVISOR1_MASK | CRL_APB_GEM2_REF_CTRL_DIVISOR0_MASK | CRL_APB_GEM2_REF_CTRL_SRCSEL_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << CRL_APB_GEM2_REF_CTRL_RX_CLKACT_SHIFT |
| | 0x00000001U << CRL_APB_GEM2_REF_CTRL_CLKACT_SHIFT |
| | 0x00000001U << CRL_APB_GEM2_REF_CTRL_DIVISOR1_SHIFT |
| | 0x00000008U << CRL_APB_GEM2_REF_CTRL_DIVISOR0_SHIFT |
| | 0x00000000U << CRL_APB_GEM2_REF_CTRL_SRCSEL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (CRL_APB_GEM2_REF_CTRL_OFFSET ,0x063F3F07U ,0x06010800U); |
| /*############################################################################################################################ */ |
| |
| /*Register : GEM3_REF_CTRL @ 0XFF5E005C</p> |
| |
| Clock active for the RX channel |
| PSU_CRL_APB_GEM3_REF_CTRL_RX_CLKACT 0x1 |
| |
| Clock active signal. Switch to 0 to disable the clock |
| PSU_CRL_APB_GEM3_REF_CTRL_CLKACT 0x1 |
| |
| 6 bit divider |
| PSU_CRL_APB_GEM3_REF_CTRL_DIVISOR1 0x1 |
| |
| 6 bit divider |
| PSU_CRL_APB_GEM3_REF_CTRL_DIVISOR0 0xc |
| |
| 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.) |
| PSU_CRL_APB_GEM3_REF_CTRL_SRCSEL 0x0 |
| |
| This register controls this reference clock |
| (OFFSET, MASK, VALUE) (0XFF5E005C, 0x063F3F07U ,0x06010C00U) |
| RegMask = (CRL_APB_GEM3_REF_CTRL_RX_CLKACT_MASK | CRL_APB_GEM3_REF_CTRL_CLKACT_MASK | CRL_APB_GEM3_REF_CTRL_DIVISOR1_MASK | CRL_APB_GEM3_REF_CTRL_DIVISOR0_MASK | CRL_APB_GEM3_REF_CTRL_SRCSEL_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << CRL_APB_GEM3_REF_CTRL_RX_CLKACT_SHIFT |
| | 0x00000001U << CRL_APB_GEM3_REF_CTRL_CLKACT_SHIFT |
| | 0x00000001U << CRL_APB_GEM3_REF_CTRL_DIVISOR1_SHIFT |
| | 0x0000000CU << CRL_APB_GEM3_REF_CTRL_DIVISOR0_SHIFT |
| | 0x00000000U << CRL_APB_GEM3_REF_CTRL_SRCSEL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (CRL_APB_GEM3_REF_CTRL_OFFSET ,0x063F3F07U ,0x06010C00U); |
| /*############################################################################################################################ */ |
| |
| /*Register : GEM_TSU_REF_CTRL @ 0XFF5E0100</p> |
| |
| 6 bit divider |
| PSU_CRL_APB_GEM_TSU_REF_CTRL_DIVISOR0 0x6 |
| |
| 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.) |
| PSU_CRL_APB_GEM_TSU_REF_CTRL_SRCSEL 0x2 |
| |
| 6 bit divider |
| PSU_CRL_APB_GEM_TSU_REF_CTRL_DIVISOR1 0x1 |
| |
| Clock active signal. Switch to 0 to disable the clock |
| PSU_CRL_APB_GEM_TSU_REF_CTRL_CLKACT 0x1 |
| |
| This register controls this reference clock |
| (OFFSET, MASK, VALUE) (0XFF5E0100, 0x013F3F07U ,0x01010602U) |
| RegMask = (CRL_APB_GEM_TSU_REF_CTRL_DIVISOR0_MASK | CRL_APB_GEM_TSU_REF_CTRL_SRCSEL_MASK | CRL_APB_GEM_TSU_REF_CTRL_DIVISOR1_MASK | CRL_APB_GEM_TSU_REF_CTRL_CLKACT_MASK | 0 ); |
| |
| RegVal = ((0x00000006U << CRL_APB_GEM_TSU_REF_CTRL_DIVISOR0_SHIFT |
| | 0x00000002U << CRL_APB_GEM_TSU_REF_CTRL_SRCSEL_SHIFT |
| | 0x00000001U << CRL_APB_GEM_TSU_REF_CTRL_DIVISOR1_SHIFT |
| | 0x00000001U << CRL_APB_GEM_TSU_REF_CTRL_CLKACT_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (CRL_APB_GEM_TSU_REF_CTRL_OFFSET ,0x013F3F07U ,0x01010602U); |
| /*############################################################################################################################ */ |
| |
| /*Register : USB0_BUS_REF_CTRL @ 0XFF5E0060</p> |
| |
| Clock active signal. Switch to 0 to disable the clock |
| PSU_CRL_APB_USB0_BUS_REF_CTRL_CLKACT 0x1 |
| |
| 6 bit divider |
| PSU_CRL_APB_USB0_BUS_REF_CTRL_DIVISOR1 0x1 |
| |
| 6 bit divider |
| PSU_CRL_APB_USB0_BUS_REF_CTRL_DIVISOR0 0x6 |
| |
| 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.) |
| PSU_CRL_APB_USB0_BUS_REF_CTRL_SRCSEL 0x0 |
| |
| This register controls this reference clock |
| (OFFSET, MASK, VALUE) (0XFF5E0060, 0x023F3F07U ,0x02010600U) |
| RegMask = (CRL_APB_USB0_BUS_REF_CTRL_CLKACT_MASK | CRL_APB_USB0_BUS_REF_CTRL_DIVISOR1_MASK | CRL_APB_USB0_BUS_REF_CTRL_DIVISOR0_MASK | CRL_APB_USB0_BUS_REF_CTRL_SRCSEL_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << CRL_APB_USB0_BUS_REF_CTRL_CLKACT_SHIFT |
| | 0x00000001U << CRL_APB_USB0_BUS_REF_CTRL_DIVISOR1_SHIFT |
| | 0x00000006U << CRL_APB_USB0_BUS_REF_CTRL_DIVISOR0_SHIFT |
| | 0x00000000U << CRL_APB_USB0_BUS_REF_CTRL_SRCSEL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (CRL_APB_USB0_BUS_REF_CTRL_OFFSET ,0x023F3F07U ,0x02010600U); |
| /*############################################################################################################################ */ |
| |
| /*Register : USB1_BUS_REF_CTRL @ 0XFF5E0064</p> |
| |
| Clock active signal. Switch to 0 to disable the clock |
| PSU_CRL_APB_USB1_BUS_REF_CTRL_CLKACT 0x1 |
| |
| 6 bit divider |
| PSU_CRL_APB_USB1_BUS_REF_CTRL_DIVISOR1 0x1 |
| |
| 6 bit divider |
| PSU_CRL_APB_USB1_BUS_REF_CTRL_DIVISOR0 0x4 |
| |
| 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.) |
| PSU_CRL_APB_USB1_BUS_REF_CTRL_SRCSEL 0x0 |
| |
| This register controls this reference clock |
| (OFFSET, MASK, VALUE) (0XFF5E0064, 0x023F3F07U ,0x02010400U) |
| RegMask = (CRL_APB_USB1_BUS_REF_CTRL_CLKACT_MASK | CRL_APB_USB1_BUS_REF_CTRL_DIVISOR1_MASK | CRL_APB_USB1_BUS_REF_CTRL_DIVISOR0_MASK | CRL_APB_USB1_BUS_REF_CTRL_SRCSEL_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << CRL_APB_USB1_BUS_REF_CTRL_CLKACT_SHIFT |
| | 0x00000001U << CRL_APB_USB1_BUS_REF_CTRL_DIVISOR1_SHIFT |
| | 0x00000004U << CRL_APB_USB1_BUS_REF_CTRL_DIVISOR0_SHIFT |
| | 0x00000000U << CRL_APB_USB1_BUS_REF_CTRL_SRCSEL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (CRL_APB_USB1_BUS_REF_CTRL_OFFSET ,0x023F3F07U ,0x02010400U); |
| /*############################################################################################################################ */ |
| |
| /*Register : USB3_DUAL_REF_CTRL @ 0XFF5E004C</p> |
| |
| Clock active signal. Switch to 0 to disable the clock |
| PSU_CRL_APB_USB3_DUAL_REF_CTRL_CLKACT 0x1 |
| |
| 6 bit divider |
| PSU_CRL_APB_USB3_DUAL_REF_CTRL_DIVISOR1 0xf |
| |
| 6 bit divider |
| PSU_CRL_APB_USB3_DUAL_REF_CTRL_DIVISOR0 0x5 |
| |
| 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.) |
| PSU_CRL_APB_USB3_DUAL_REF_CTRL_SRCSEL 0x0 |
| |
| This register controls this reference clock |
| (OFFSET, MASK, VALUE) (0XFF5E004C, 0x023F3F07U ,0x020F0500U) |
| RegMask = (CRL_APB_USB3_DUAL_REF_CTRL_CLKACT_MASK | CRL_APB_USB3_DUAL_REF_CTRL_DIVISOR1_MASK | CRL_APB_USB3_DUAL_REF_CTRL_DIVISOR0_MASK | CRL_APB_USB3_DUAL_REF_CTRL_SRCSEL_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << CRL_APB_USB3_DUAL_REF_CTRL_CLKACT_SHIFT |
| | 0x0000000FU << CRL_APB_USB3_DUAL_REF_CTRL_DIVISOR1_SHIFT |
| | 0x00000005U << CRL_APB_USB3_DUAL_REF_CTRL_DIVISOR0_SHIFT |
| | 0x00000000U << CRL_APB_USB3_DUAL_REF_CTRL_SRCSEL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (CRL_APB_USB3_DUAL_REF_CTRL_OFFSET ,0x023F3F07U ,0x020F0500U); |
| /*############################################################################################################################ */ |
| |
| /*Register : QSPI_REF_CTRL @ 0XFF5E0068</p> |
| |
| Clock active signal. Switch to 0 to disable the clock |
| PSU_CRL_APB_QSPI_REF_CTRL_CLKACT 0x1 |
| |
| 6 bit divider |
| PSU_CRL_APB_QSPI_REF_CTRL_DIVISOR1 0x1 |
| |
| 6 bit divider |
| PSU_CRL_APB_QSPI_REF_CTRL_DIVISOR0 0xc |
| |
| 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.) |
| PSU_CRL_APB_QSPI_REF_CTRL_SRCSEL 0x0 |
| |
| This register controls this reference clock |
| (OFFSET, MASK, VALUE) (0XFF5E0068, 0x013F3F07U ,0x01010C00U) |
| RegMask = (CRL_APB_QSPI_REF_CTRL_CLKACT_MASK | CRL_APB_QSPI_REF_CTRL_DIVISOR1_MASK | CRL_APB_QSPI_REF_CTRL_DIVISOR0_MASK | CRL_APB_QSPI_REF_CTRL_SRCSEL_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << CRL_APB_QSPI_REF_CTRL_CLKACT_SHIFT |
| | 0x00000001U << CRL_APB_QSPI_REF_CTRL_DIVISOR1_SHIFT |
| | 0x0000000CU << CRL_APB_QSPI_REF_CTRL_DIVISOR0_SHIFT |
| | 0x00000000U << CRL_APB_QSPI_REF_CTRL_SRCSEL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (CRL_APB_QSPI_REF_CTRL_OFFSET ,0x013F3F07U ,0x01010C00U); |
| /*############################################################################################################################ */ |
| |
| /*Register : SDIO0_REF_CTRL @ 0XFF5E006C</p> |
| |
| Clock active signal. Switch to 0 to disable the clock |
| PSU_CRL_APB_SDIO0_REF_CTRL_CLKACT 0x1 |
| |
| 6 bit divider |
| PSU_CRL_APB_SDIO0_REF_CTRL_DIVISOR1 0x1 |
| |
| 6 bit divider |
| PSU_CRL_APB_SDIO0_REF_CTRL_DIVISOR0 0x7 |
| |
| 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.) |
| PSU_CRL_APB_SDIO0_REF_CTRL_SRCSEL 0x2 |
| |
| This register controls this reference clock |
| (OFFSET, MASK, VALUE) (0XFF5E006C, 0x013F3F07U ,0x01010702U) |
| RegMask = (CRL_APB_SDIO0_REF_CTRL_CLKACT_MASK | CRL_APB_SDIO0_REF_CTRL_DIVISOR1_MASK | CRL_APB_SDIO0_REF_CTRL_DIVISOR0_MASK | CRL_APB_SDIO0_REF_CTRL_SRCSEL_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << CRL_APB_SDIO0_REF_CTRL_CLKACT_SHIFT |
| | 0x00000001U << CRL_APB_SDIO0_REF_CTRL_DIVISOR1_SHIFT |
| | 0x00000007U << CRL_APB_SDIO0_REF_CTRL_DIVISOR0_SHIFT |
| | 0x00000002U << CRL_APB_SDIO0_REF_CTRL_SRCSEL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (CRL_APB_SDIO0_REF_CTRL_OFFSET ,0x013F3F07U ,0x01010702U); |
| /*############################################################################################################################ */ |
| |
| /*Register : SDIO1_REF_CTRL @ 0XFF5E0070</p> |
| |
| Clock active signal. Switch to 0 to disable the clock |
| PSU_CRL_APB_SDIO1_REF_CTRL_CLKACT 0x1 |
| |
| 6 bit divider |
| PSU_CRL_APB_SDIO1_REF_CTRL_DIVISOR1 0x1 |
| |
| 6 bit divider |
| PSU_CRL_APB_SDIO1_REF_CTRL_DIVISOR0 0x6 |
| |
| 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.) |
| PSU_CRL_APB_SDIO1_REF_CTRL_SRCSEL 0x2 |
| |
| This register controls this reference clock |
| (OFFSET, MASK, VALUE) (0XFF5E0070, 0x013F3F07U ,0x01010602U) |
| RegMask = (CRL_APB_SDIO1_REF_CTRL_CLKACT_MASK | CRL_APB_SDIO1_REF_CTRL_DIVISOR1_MASK | CRL_APB_SDIO1_REF_CTRL_DIVISOR0_MASK | CRL_APB_SDIO1_REF_CTRL_SRCSEL_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << CRL_APB_SDIO1_REF_CTRL_CLKACT_SHIFT |
| | 0x00000001U << CRL_APB_SDIO1_REF_CTRL_DIVISOR1_SHIFT |
| | 0x00000006U << CRL_APB_SDIO1_REF_CTRL_DIVISOR0_SHIFT |
| | 0x00000002U << CRL_APB_SDIO1_REF_CTRL_SRCSEL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (CRL_APB_SDIO1_REF_CTRL_OFFSET ,0x013F3F07U ,0x01010602U); |
| /*############################################################################################################################ */ |
| |
| /*Register : SDIO_CLK_CTRL @ 0XFF18030C</p> |
| |
| MIO pad selection for sdio1_rx_clk (feedback clock from the PAD) 0: MIO [51] 1: MIO [76] |
| PSU_IOU_SLCR_SDIO_CLK_CTRL_SDIO1_RX_SRC_SEL 0 |
| |
| SoC Debug Clock Control |
| (OFFSET, MASK, VALUE) (0XFF18030C, 0x00020000U ,0x00000000U) |
| RegMask = (IOU_SLCR_SDIO_CLK_CTRL_SDIO1_RX_SRC_SEL_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << IOU_SLCR_SDIO_CLK_CTRL_SDIO1_RX_SRC_SEL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (IOU_SLCR_SDIO_CLK_CTRL_OFFSET ,0x00020000U ,0x00000000U); |
| /*############################################################################################################################ */ |
| |
| /*Register : UART0_REF_CTRL @ 0XFF5E0074</p> |
| |
| Clock active signal. Switch to 0 to disable the clock |
| PSU_CRL_APB_UART0_REF_CTRL_CLKACT 0x1 |
| |
| 6 bit divider |
| PSU_CRL_APB_UART0_REF_CTRL_DIVISOR1 0x1 |
| |
| 6 bit divider |
| PSU_CRL_APB_UART0_REF_CTRL_DIVISOR0 0xf |
| |
| 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.) |
| PSU_CRL_APB_UART0_REF_CTRL_SRCSEL 0x0 |
| |
| This register controls this reference clock |
| (OFFSET, MASK, VALUE) (0XFF5E0074, 0x013F3F07U ,0x01010F00U) |
| RegMask = (CRL_APB_UART0_REF_CTRL_CLKACT_MASK | CRL_APB_UART0_REF_CTRL_DIVISOR1_MASK | CRL_APB_UART0_REF_CTRL_DIVISOR0_MASK | CRL_APB_UART0_REF_CTRL_SRCSEL_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << CRL_APB_UART0_REF_CTRL_CLKACT_SHIFT |
| | 0x00000001U << CRL_APB_UART0_REF_CTRL_DIVISOR1_SHIFT |
| | 0x0000000FU << CRL_APB_UART0_REF_CTRL_DIVISOR0_SHIFT |
| | 0x00000000U << CRL_APB_UART0_REF_CTRL_SRCSEL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (CRL_APB_UART0_REF_CTRL_OFFSET ,0x013F3F07U ,0x01010F00U); |
| /*############################################################################################################################ */ |
| |
| /*Register : UART1_REF_CTRL @ 0XFF5E0078</p> |
| |
| Clock active signal. Switch to 0 to disable the clock |
| PSU_CRL_APB_UART1_REF_CTRL_CLKACT 0x1 |
| |
| 6 bit divider |
| PSU_CRL_APB_UART1_REF_CTRL_DIVISOR1 0x1 |
| |
| 6 bit divider |
| PSU_CRL_APB_UART1_REF_CTRL_DIVISOR0 0xf |
| |
| 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.) |
| PSU_CRL_APB_UART1_REF_CTRL_SRCSEL 0x0 |
| |
| This register controls this reference clock |
| (OFFSET, MASK, VALUE) (0XFF5E0078, 0x013F3F07U ,0x01010F00U) |
| RegMask = (CRL_APB_UART1_REF_CTRL_CLKACT_MASK | CRL_APB_UART1_REF_CTRL_DIVISOR1_MASK | CRL_APB_UART1_REF_CTRL_DIVISOR0_MASK | CRL_APB_UART1_REF_CTRL_SRCSEL_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << CRL_APB_UART1_REF_CTRL_CLKACT_SHIFT |
| | 0x00000001U << CRL_APB_UART1_REF_CTRL_DIVISOR1_SHIFT |
| | 0x0000000FU << CRL_APB_UART1_REF_CTRL_DIVISOR0_SHIFT |
| | 0x00000000U << CRL_APB_UART1_REF_CTRL_SRCSEL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (CRL_APB_UART1_REF_CTRL_OFFSET ,0x013F3F07U ,0x01010F00U); |
| /*############################################################################################################################ */ |
| |
| /*Register : I2C0_REF_CTRL @ 0XFF5E0120</p> |
| |
| Clock active signal. Switch to 0 to disable the clock |
| PSU_CRL_APB_I2C0_REF_CTRL_CLKACT 0x1 |
| |
| 6 bit divider |
| PSU_CRL_APB_I2C0_REF_CTRL_DIVISOR1 0x1 |
| |
| 6 bit divider |
| PSU_CRL_APB_I2C0_REF_CTRL_DIVISOR0 0xf |
| |
| 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.) |
| PSU_CRL_APB_I2C0_REF_CTRL_SRCSEL 0x0 |
| |
| This register controls this reference clock |
| (OFFSET, MASK, VALUE) (0XFF5E0120, 0x013F3F07U ,0x01010F00U) |
| RegMask = (CRL_APB_I2C0_REF_CTRL_CLKACT_MASK | CRL_APB_I2C0_REF_CTRL_DIVISOR1_MASK | CRL_APB_I2C0_REF_CTRL_DIVISOR0_MASK | CRL_APB_I2C0_REF_CTRL_SRCSEL_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << CRL_APB_I2C0_REF_CTRL_CLKACT_SHIFT |
| | 0x00000001U << CRL_APB_I2C0_REF_CTRL_DIVISOR1_SHIFT |
| | 0x0000000FU << CRL_APB_I2C0_REF_CTRL_DIVISOR0_SHIFT |
| | 0x00000000U << CRL_APB_I2C0_REF_CTRL_SRCSEL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (CRL_APB_I2C0_REF_CTRL_OFFSET ,0x013F3F07U ,0x01010F00U); |
| /*############################################################################################################################ */ |
| |
| /*Register : I2C1_REF_CTRL @ 0XFF5E0124</p> |
| |
| Clock active signal. Switch to 0 to disable the clock |
| PSU_CRL_APB_I2C1_REF_CTRL_CLKACT 0x1 |
| |
| 6 bit divider |
| PSU_CRL_APB_I2C1_REF_CTRL_DIVISOR1 0x1 |
| |
| 6 bit divider |
| PSU_CRL_APB_I2C1_REF_CTRL_DIVISOR0 0xf |
| |
| 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.) |
| PSU_CRL_APB_I2C1_REF_CTRL_SRCSEL 0x0 |
| |
| This register controls this reference clock |
| (OFFSET, MASK, VALUE) (0XFF5E0124, 0x013F3F07U ,0x01010F00U) |
| RegMask = (CRL_APB_I2C1_REF_CTRL_CLKACT_MASK | CRL_APB_I2C1_REF_CTRL_DIVISOR1_MASK | CRL_APB_I2C1_REF_CTRL_DIVISOR0_MASK | CRL_APB_I2C1_REF_CTRL_SRCSEL_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << CRL_APB_I2C1_REF_CTRL_CLKACT_SHIFT |
| | 0x00000001U << CRL_APB_I2C1_REF_CTRL_DIVISOR1_SHIFT |
| | 0x0000000FU << CRL_APB_I2C1_REF_CTRL_DIVISOR0_SHIFT |
| | 0x00000000U << CRL_APB_I2C1_REF_CTRL_SRCSEL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (CRL_APB_I2C1_REF_CTRL_OFFSET ,0x013F3F07U ,0x01010F00U); |
| /*############################################################################################################################ */ |
| |
| /*Register : SPI0_REF_CTRL @ 0XFF5E007C</p> |
| |
| Clock active signal. Switch to 0 to disable the clock |
| PSU_CRL_APB_SPI0_REF_CTRL_CLKACT 0x1 |
| |
| 6 bit divider |
| PSU_CRL_APB_SPI0_REF_CTRL_DIVISOR1 0x1 |
| |
| 6 bit divider |
| PSU_CRL_APB_SPI0_REF_CTRL_DIVISOR0 0x7 |
| |
| 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.) |
| PSU_CRL_APB_SPI0_REF_CTRL_SRCSEL 0x2 |
| |
| This register controls this reference clock |
| (OFFSET, MASK, VALUE) (0XFF5E007C, 0x013F3F07U ,0x01010702U) |
| RegMask = (CRL_APB_SPI0_REF_CTRL_CLKACT_MASK | CRL_APB_SPI0_REF_CTRL_DIVISOR1_MASK | CRL_APB_SPI0_REF_CTRL_DIVISOR0_MASK | CRL_APB_SPI0_REF_CTRL_SRCSEL_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << CRL_APB_SPI0_REF_CTRL_CLKACT_SHIFT |
| | 0x00000001U << CRL_APB_SPI0_REF_CTRL_DIVISOR1_SHIFT |
| | 0x00000007U << CRL_APB_SPI0_REF_CTRL_DIVISOR0_SHIFT |
| | 0x00000002U << CRL_APB_SPI0_REF_CTRL_SRCSEL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (CRL_APB_SPI0_REF_CTRL_OFFSET ,0x013F3F07U ,0x01010702U); |
| /*############################################################################################################################ */ |
| |
| /*Register : SPI1_REF_CTRL @ 0XFF5E0080</p> |
| |
| Clock active signal. Switch to 0 to disable the clock |
| PSU_CRL_APB_SPI1_REF_CTRL_CLKACT 0x1 |
| |
| 6 bit divider |
| PSU_CRL_APB_SPI1_REF_CTRL_DIVISOR1 0x1 |
| |
| 6 bit divider |
| PSU_CRL_APB_SPI1_REF_CTRL_DIVISOR0 0x7 |
| |
| 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.) |
| PSU_CRL_APB_SPI1_REF_CTRL_SRCSEL 0x2 |
| |
| This register controls this reference clock |
| (OFFSET, MASK, VALUE) (0XFF5E0080, 0x013F3F07U ,0x01010702U) |
| RegMask = (CRL_APB_SPI1_REF_CTRL_CLKACT_MASK | CRL_APB_SPI1_REF_CTRL_DIVISOR1_MASK | CRL_APB_SPI1_REF_CTRL_DIVISOR0_MASK | CRL_APB_SPI1_REF_CTRL_SRCSEL_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << CRL_APB_SPI1_REF_CTRL_CLKACT_SHIFT |
| | 0x00000001U << CRL_APB_SPI1_REF_CTRL_DIVISOR1_SHIFT |
| | 0x00000007U << CRL_APB_SPI1_REF_CTRL_DIVISOR0_SHIFT |
| | 0x00000002U << CRL_APB_SPI1_REF_CTRL_SRCSEL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (CRL_APB_SPI1_REF_CTRL_OFFSET ,0x013F3F07U ,0x01010702U); |
| /*############################################################################################################################ */ |
| |
| /*Register : CAN0_REF_CTRL @ 0XFF5E0084</p> |
| |
| Clock active signal. Switch to 0 to disable the clock |
| PSU_CRL_APB_CAN0_REF_CTRL_CLKACT 0x1 |
| |
| 6 bit divider |
| PSU_CRL_APB_CAN0_REF_CTRL_DIVISOR1 0x1 |
| |
| 6 bit divider |
| PSU_CRL_APB_CAN0_REF_CTRL_DIVISOR0 0xa |
| |
| 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.) |
| PSU_CRL_APB_CAN0_REF_CTRL_SRCSEL 0x0 |
| |
| This register controls this reference clock |
| (OFFSET, MASK, VALUE) (0XFF5E0084, 0x013F3F07U ,0x01010A00U) |
| RegMask = (CRL_APB_CAN0_REF_CTRL_CLKACT_MASK | CRL_APB_CAN0_REF_CTRL_DIVISOR1_MASK | CRL_APB_CAN0_REF_CTRL_DIVISOR0_MASK | CRL_APB_CAN0_REF_CTRL_SRCSEL_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << CRL_APB_CAN0_REF_CTRL_CLKACT_SHIFT |
| | 0x00000001U << CRL_APB_CAN0_REF_CTRL_DIVISOR1_SHIFT |
| | 0x0000000AU << CRL_APB_CAN0_REF_CTRL_DIVISOR0_SHIFT |
| | 0x00000000U << CRL_APB_CAN0_REF_CTRL_SRCSEL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (CRL_APB_CAN0_REF_CTRL_OFFSET ,0x013F3F07U ,0x01010A00U); |
| /*############################################################################################################################ */ |
| |
| /*Register : CAN1_REF_CTRL @ 0XFF5E0088</p> |
| |
| Clock active signal. Switch to 0 to disable the clock |
| PSU_CRL_APB_CAN1_REF_CTRL_CLKACT 0x1 |
| |
| 6 bit divider |
| PSU_CRL_APB_CAN1_REF_CTRL_DIVISOR1 0x1 |
| |
| 6 bit divider |
| PSU_CRL_APB_CAN1_REF_CTRL_DIVISOR0 0xf |
| |
| 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.) |
| PSU_CRL_APB_CAN1_REF_CTRL_SRCSEL 0x0 |
| |
| This register controls this reference clock |
| (OFFSET, MASK, VALUE) (0XFF5E0088, 0x013F3F07U ,0x01010F00U) |
| RegMask = (CRL_APB_CAN1_REF_CTRL_CLKACT_MASK | CRL_APB_CAN1_REF_CTRL_DIVISOR1_MASK | CRL_APB_CAN1_REF_CTRL_DIVISOR0_MASK | CRL_APB_CAN1_REF_CTRL_SRCSEL_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << CRL_APB_CAN1_REF_CTRL_CLKACT_SHIFT |
| | 0x00000001U << CRL_APB_CAN1_REF_CTRL_DIVISOR1_SHIFT |
| | 0x0000000FU << CRL_APB_CAN1_REF_CTRL_DIVISOR0_SHIFT |
| | 0x00000000U << CRL_APB_CAN1_REF_CTRL_SRCSEL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (CRL_APB_CAN1_REF_CTRL_OFFSET ,0x013F3F07U ,0x01010F00U); |
| /*############################################################################################################################ */ |
| |
| /*Register : CPU_R5_CTRL @ 0XFF5E0090</p> |
| |
| 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 |
| PSU_CRL_APB_CPU_R5_CTRL_CLKACT 0x1 |
| |
| 6 bit divider |
| PSU_CRL_APB_CPU_R5_CTRL_DIVISOR0 0x3 |
| |
| 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.) |
| PSU_CRL_APB_CPU_R5_CTRL_SRCSEL 0x2 |
| |
| This register controls this reference clock |
| (OFFSET, MASK, VALUE) (0XFF5E0090, 0x01003F07U ,0x01000302U) |
| RegMask = (CRL_APB_CPU_R5_CTRL_CLKACT_MASK | CRL_APB_CPU_R5_CTRL_DIVISOR0_MASK | CRL_APB_CPU_R5_CTRL_SRCSEL_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << CRL_APB_CPU_R5_CTRL_CLKACT_SHIFT |
| | 0x00000003U << CRL_APB_CPU_R5_CTRL_DIVISOR0_SHIFT |
| | 0x00000002U << CRL_APB_CPU_R5_CTRL_SRCSEL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (CRL_APB_CPU_R5_CTRL_OFFSET ,0x01003F07U ,0x01000302U); |
| /*############################################################################################################################ */ |
| |
| /*Register : IOU_SWITCH_CTRL @ 0XFF5E009C</p> |
| |
| Clock active signal. Switch to 0 to disable the clock |
| PSU_CRL_APB_IOU_SWITCH_CTRL_CLKACT 0x1 |
| |
| 6 bit divider |
| PSU_CRL_APB_IOU_SWITCH_CTRL_DIVISOR0 0x6 |
| |
| 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.) |
| PSU_CRL_APB_IOU_SWITCH_CTRL_SRCSEL 0x2 |
| |
| This register controls this reference clock |
| (OFFSET, MASK, VALUE) (0XFF5E009C, 0x01003F07U ,0x01000602U) |
| RegMask = (CRL_APB_IOU_SWITCH_CTRL_CLKACT_MASK | CRL_APB_IOU_SWITCH_CTRL_DIVISOR0_MASK | CRL_APB_IOU_SWITCH_CTRL_SRCSEL_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << CRL_APB_IOU_SWITCH_CTRL_CLKACT_SHIFT |
| | 0x00000006U << CRL_APB_IOU_SWITCH_CTRL_DIVISOR0_SHIFT |
| | 0x00000002U << CRL_APB_IOU_SWITCH_CTRL_SRCSEL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (CRL_APB_IOU_SWITCH_CTRL_OFFSET ,0x01003F07U ,0x01000602U); |
| /*############################################################################################################################ */ |
| |
| /*Register : CSU_PLL_CTRL @ 0XFF5E00A0</p> |
| |
| Clock active signal. Switch to 0 to disable the clock |
| PSU_CRL_APB_CSU_PLL_CTRL_CLKACT 0x1 |
| |
| 6 bit divider |
| PSU_CRL_APB_CSU_PLL_CTRL_DIVISOR0 0x3 |
| |
| 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.) |
| PSU_CRL_APB_CSU_PLL_CTRL_SRCSEL 0x2 |
| |
| This register controls this reference clock |
| (OFFSET, MASK, VALUE) (0XFF5E00A0, 0x01003F07U ,0x01000302U) |
| RegMask = (CRL_APB_CSU_PLL_CTRL_CLKACT_MASK | CRL_APB_CSU_PLL_CTRL_DIVISOR0_MASK | CRL_APB_CSU_PLL_CTRL_SRCSEL_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << CRL_APB_CSU_PLL_CTRL_CLKACT_SHIFT |
| | 0x00000003U << CRL_APB_CSU_PLL_CTRL_DIVISOR0_SHIFT |
| | 0x00000002U << CRL_APB_CSU_PLL_CTRL_SRCSEL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (CRL_APB_CSU_PLL_CTRL_OFFSET ,0x01003F07U ,0x01000302U); |
| /*############################################################################################################################ */ |
| |
| /*Register : PCAP_CTRL @ 0XFF5E00A4</p> |
| |
| Clock active signal. Switch to 0 to disable the clock |
| PSU_CRL_APB_PCAP_CTRL_CLKACT 0x1 |
| |
| 6 bit divider |
| PSU_CRL_APB_PCAP_CTRL_DIVISOR0 0x6 |
| |
| 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.) |
| PSU_CRL_APB_PCAP_CTRL_SRCSEL 0x2 |
| |
| This register controls this reference clock |
| (OFFSET, MASK, VALUE) (0XFF5E00A4, 0x01003F07U ,0x01000602U) |
| RegMask = (CRL_APB_PCAP_CTRL_CLKACT_MASK | CRL_APB_PCAP_CTRL_DIVISOR0_MASK | CRL_APB_PCAP_CTRL_SRCSEL_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << CRL_APB_PCAP_CTRL_CLKACT_SHIFT |
| | 0x00000006U << CRL_APB_PCAP_CTRL_DIVISOR0_SHIFT |
| | 0x00000002U << CRL_APB_PCAP_CTRL_SRCSEL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (CRL_APB_PCAP_CTRL_OFFSET ,0x01003F07U ,0x01000602U); |
| /*############################################################################################################################ */ |
| |
| /*Register : LPD_SWITCH_CTRL @ 0XFF5E00A8</p> |
| |
| Clock active signal. Switch to 0 to disable the clock |
| PSU_CRL_APB_LPD_SWITCH_CTRL_CLKACT 0x1 |
| |
| 6 bit divider |
| PSU_CRL_APB_LPD_SWITCH_CTRL_DIVISOR0 0x3 |
| |
| 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.) |
| PSU_CRL_APB_LPD_SWITCH_CTRL_SRCSEL 0x2 |
| |
| This register controls this reference clock |
| (OFFSET, MASK, VALUE) (0XFF5E00A8, 0x01003F07U ,0x01000302U) |
| RegMask = (CRL_APB_LPD_SWITCH_CTRL_CLKACT_MASK | CRL_APB_LPD_SWITCH_CTRL_DIVISOR0_MASK | CRL_APB_LPD_SWITCH_CTRL_SRCSEL_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << CRL_APB_LPD_SWITCH_CTRL_CLKACT_SHIFT |
| | 0x00000003U << CRL_APB_LPD_SWITCH_CTRL_DIVISOR0_SHIFT |
| | 0x00000002U << CRL_APB_LPD_SWITCH_CTRL_SRCSEL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (CRL_APB_LPD_SWITCH_CTRL_OFFSET ,0x01003F07U ,0x01000302U); |
| /*############################################################################################################################ */ |
| |
| /*Register : LPD_LSBUS_CTRL @ 0XFF5E00AC</p> |
| |
| Clock active signal. Switch to 0 to disable the clock |
| PSU_CRL_APB_LPD_LSBUS_CTRL_CLKACT 0x1 |
| |
| 6 bit divider |
| PSU_CRL_APB_LPD_LSBUS_CTRL_DIVISOR0 0xf |
| |
| 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.) |
| PSU_CRL_APB_LPD_LSBUS_CTRL_SRCSEL 0x2 |
| |
| This register controls this reference clock |
| (OFFSET, MASK, VALUE) (0XFF5E00AC, 0x01003F07U ,0x01000F02U) |
| RegMask = (CRL_APB_LPD_LSBUS_CTRL_CLKACT_MASK | CRL_APB_LPD_LSBUS_CTRL_DIVISOR0_MASK | CRL_APB_LPD_LSBUS_CTRL_SRCSEL_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << CRL_APB_LPD_LSBUS_CTRL_CLKACT_SHIFT |
| | 0x0000000FU << CRL_APB_LPD_LSBUS_CTRL_DIVISOR0_SHIFT |
| | 0x00000002U << CRL_APB_LPD_LSBUS_CTRL_SRCSEL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (CRL_APB_LPD_LSBUS_CTRL_OFFSET ,0x01003F07U ,0x01000F02U); |
| /*############################################################################################################################ */ |
| |
| /*Register : DBG_LPD_CTRL @ 0XFF5E00B0</p> |
| |
| Clock active signal. Switch to 0 to disable the clock |
| PSU_CRL_APB_DBG_LPD_CTRL_CLKACT 0x1 |
| |
| 6 bit divider |
| PSU_CRL_APB_DBG_LPD_CTRL_DIVISOR0 0x6 |
| |
| 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.) |
| PSU_CRL_APB_DBG_LPD_CTRL_SRCSEL 0x2 |
| |
| This register controls this reference clock |
| (OFFSET, MASK, VALUE) (0XFF5E00B0, 0x01003F07U ,0x01000602U) |
| RegMask = (CRL_APB_DBG_LPD_CTRL_CLKACT_MASK | CRL_APB_DBG_LPD_CTRL_DIVISOR0_MASK | CRL_APB_DBG_LPD_CTRL_SRCSEL_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << CRL_APB_DBG_LPD_CTRL_CLKACT_SHIFT |
| | 0x00000006U << CRL_APB_DBG_LPD_CTRL_DIVISOR0_SHIFT |
| | 0x00000002U << CRL_APB_DBG_LPD_CTRL_SRCSEL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (CRL_APB_DBG_LPD_CTRL_OFFSET ,0x01003F07U ,0x01000602U); |
| /*############################################################################################################################ */ |
| |
| /*Register : NAND_REF_CTRL @ 0XFF5E00B4</p> |
| |
| Clock active signal. Switch to 0 to disable the clock |
| PSU_CRL_APB_NAND_REF_CTRL_CLKACT 0x1 |
| |
| 6 bit divider |
| PSU_CRL_APB_NAND_REF_CTRL_DIVISOR1 0x1 |
| |
| 6 bit divider |
| PSU_CRL_APB_NAND_REF_CTRL_DIVISOR0 0xa |
| |
| 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.) |
| PSU_CRL_APB_NAND_REF_CTRL_SRCSEL 0x0 |
| |
| This register controls this reference clock |
| (OFFSET, MASK, VALUE) (0XFF5E00B4, 0x013F3F07U ,0x01010A00U) |
| RegMask = (CRL_APB_NAND_REF_CTRL_CLKACT_MASK | CRL_APB_NAND_REF_CTRL_DIVISOR1_MASK | CRL_APB_NAND_REF_CTRL_DIVISOR0_MASK | CRL_APB_NAND_REF_CTRL_SRCSEL_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << CRL_APB_NAND_REF_CTRL_CLKACT_SHIFT |
| | 0x00000001U << CRL_APB_NAND_REF_CTRL_DIVISOR1_SHIFT |
| | 0x0000000AU << CRL_APB_NAND_REF_CTRL_DIVISOR0_SHIFT |
| | 0x00000000U << CRL_APB_NAND_REF_CTRL_SRCSEL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (CRL_APB_NAND_REF_CTRL_OFFSET ,0x013F3F07U ,0x01010A00U); |
| /*############################################################################################################################ */ |
| |
| /*Register : ADMA_REF_CTRL @ 0XFF5E00B8</p> |
| |
| Clock active signal. Switch to 0 to disable the clock |
| PSU_CRL_APB_ADMA_REF_CTRL_CLKACT 0x1 |
| |
| 6 bit divider |
| PSU_CRL_APB_ADMA_REF_CTRL_DIVISOR0 0x3 |
| |
| 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.) |
| PSU_CRL_APB_ADMA_REF_CTRL_SRCSEL 0x2 |
| |
| This register controls this reference clock |
| (OFFSET, MASK, VALUE) (0XFF5E00B8, 0x01003F07U ,0x01000302U) |
| RegMask = (CRL_APB_ADMA_REF_CTRL_CLKACT_MASK | CRL_APB_ADMA_REF_CTRL_DIVISOR0_MASK | CRL_APB_ADMA_REF_CTRL_SRCSEL_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << CRL_APB_ADMA_REF_CTRL_CLKACT_SHIFT |
| | 0x00000003U << CRL_APB_ADMA_REF_CTRL_DIVISOR0_SHIFT |
| | 0x00000002U << CRL_APB_ADMA_REF_CTRL_SRCSEL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (CRL_APB_ADMA_REF_CTRL_OFFSET ,0x01003F07U ,0x01000302U); |
| /*############################################################################################################################ */ |
| |
| /*Register : PL0_REF_CTRL @ 0XFF5E00C0</p> |
| |
| Clock active signal. Switch to 0 to disable the clock |
| PSU_CRL_APB_PL0_REF_CTRL_CLKACT 0x1 |
| |
| 6 bit divider |
| PSU_CRL_APB_PL0_REF_CTRL_DIVISOR1 0x1 |
| |
| 6 bit divider |
| PSU_CRL_APB_PL0_REF_CTRL_DIVISOR0 0xf |
| |
| 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.) |
| PSU_CRL_APB_PL0_REF_CTRL_SRCSEL 0x0 |
| |
| This register controls this reference clock |
| (OFFSET, MASK, VALUE) (0XFF5E00C0, 0x013F3F07U ,0x01010F00U) |
| RegMask = (CRL_APB_PL0_REF_CTRL_CLKACT_MASK | CRL_APB_PL0_REF_CTRL_DIVISOR1_MASK | CRL_APB_PL0_REF_CTRL_DIVISOR0_MASK | CRL_APB_PL0_REF_CTRL_SRCSEL_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << CRL_APB_PL0_REF_CTRL_CLKACT_SHIFT |
| | 0x00000001U << CRL_APB_PL0_REF_CTRL_DIVISOR1_SHIFT |
| | 0x0000000FU << CRL_APB_PL0_REF_CTRL_DIVISOR0_SHIFT |
| | 0x00000000U << CRL_APB_PL0_REF_CTRL_SRCSEL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (CRL_APB_PL0_REF_CTRL_OFFSET ,0x013F3F07U ,0x01010F00U); |
| /*############################################################################################################################ */ |
| |
| /*Register : PL1_REF_CTRL @ 0XFF5E00C4</p> |
| |
| Clock active signal. Switch to 0 to disable the clock |
| PSU_CRL_APB_PL1_REF_CTRL_CLKACT 0x1 |
| |
| 6 bit divider |
| PSU_CRL_APB_PL1_REF_CTRL_DIVISOR1 0x4 |
| |
| 6 bit divider |
| PSU_CRL_APB_PL1_REF_CTRL_DIVISOR0 0xf |
| |
| 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.) |
| PSU_CRL_APB_PL1_REF_CTRL_SRCSEL 0x0 |
| |
| This register controls this reference clock |
| (OFFSET, MASK, VALUE) (0XFF5E00C4, 0x013F3F07U ,0x01040F00U) |
| RegMask = (CRL_APB_PL1_REF_CTRL_CLKACT_MASK | CRL_APB_PL1_REF_CTRL_DIVISOR1_MASK | CRL_APB_PL1_REF_CTRL_DIVISOR0_MASK | CRL_APB_PL1_REF_CTRL_SRCSEL_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << CRL_APB_PL1_REF_CTRL_CLKACT_SHIFT |
| | 0x00000004U << CRL_APB_PL1_REF_CTRL_DIVISOR1_SHIFT |
| | 0x0000000FU << CRL_APB_PL1_REF_CTRL_DIVISOR0_SHIFT |
| | 0x00000000U << CRL_APB_PL1_REF_CTRL_SRCSEL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (CRL_APB_PL1_REF_CTRL_OFFSET ,0x013F3F07U ,0x01040F00U); |
| /*############################################################################################################################ */ |
| |
| /*Register : PL2_REF_CTRL @ 0XFF5E00C8</p> |
| |
| Clock active signal. Switch to 0 to disable the clock |
| PSU_CRL_APB_PL2_REF_CTRL_CLKACT 0x1 |
| |
| 6 bit divider |
| PSU_CRL_APB_PL2_REF_CTRL_DIVISOR1 0x1 |
| |
| 6 bit divider |
| PSU_CRL_APB_PL2_REF_CTRL_DIVISOR0 0x4 |
| |
| 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.) |
| PSU_CRL_APB_PL2_REF_CTRL_SRCSEL 0x2 |
| |
| This register controls this reference clock |
| (OFFSET, MASK, VALUE) (0XFF5E00C8, 0x013F3F07U ,0x01010402U) |
| RegMask = (CRL_APB_PL2_REF_CTRL_CLKACT_MASK | CRL_APB_PL2_REF_CTRL_DIVISOR1_MASK | CRL_APB_PL2_REF_CTRL_DIVISOR0_MASK | CRL_APB_PL2_REF_CTRL_SRCSEL_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << CRL_APB_PL2_REF_CTRL_CLKACT_SHIFT |
| | 0x00000001U << CRL_APB_PL2_REF_CTRL_DIVISOR1_SHIFT |
| | 0x00000004U << CRL_APB_PL2_REF_CTRL_DIVISOR0_SHIFT |
| | 0x00000002U << CRL_APB_PL2_REF_CTRL_SRCSEL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (CRL_APB_PL2_REF_CTRL_OFFSET ,0x013F3F07U ,0x01010402U); |
| /*############################################################################################################################ */ |
| |
| /*Register : PL3_REF_CTRL @ 0XFF5E00CC</p> |
| |
| Clock active signal. Switch to 0 to disable the clock |
| PSU_CRL_APB_PL3_REF_CTRL_CLKACT 0x1 |
| |
| 6 bit divider |
| PSU_CRL_APB_PL3_REF_CTRL_DIVISOR1 0x1 |
| |
| 6 bit divider |
| PSU_CRL_APB_PL3_REF_CTRL_DIVISOR0 0x3 |
| |
| 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.) |
| PSU_CRL_APB_PL3_REF_CTRL_SRCSEL 0x2 |
| |
| This register controls this reference clock |
| (OFFSET, MASK, VALUE) (0XFF5E00CC, 0x013F3F07U ,0x01010302U) |
| RegMask = (CRL_APB_PL3_REF_CTRL_CLKACT_MASK | CRL_APB_PL3_REF_CTRL_DIVISOR1_MASK | CRL_APB_PL3_REF_CTRL_DIVISOR0_MASK | CRL_APB_PL3_REF_CTRL_SRCSEL_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << CRL_APB_PL3_REF_CTRL_CLKACT_SHIFT |
| | 0x00000001U << CRL_APB_PL3_REF_CTRL_DIVISOR1_SHIFT |
| | 0x00000003U << CRL_APB_PL3_REF_CTRL_DIVISOR0_SHIFT |
| | 0x00000002U << CRL_APB_PL3_REF_CTRL_SRCSEL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (CRL_APB_PL3_REF_CTRL_OFFSET ,0x013F3F07U ,0x01010302U); |
| /*############################################################################################################################ */ |
| |
| /*Register : AMS_REF_CTRL @ 0XFF5E0108</p> |
| |
| 6 bit divider |
| PSU_CRL_APB_AMS_REF_CTRL_DIVISOR1 0x1 |
| |
| 6 bit divider |
| PSU_CRL_APB_AMS_REF_CTRL_DIVISOR0 0x1d |
| |
| 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.) |
| PSU_CRL_APB_AMS_REF_CTRL_SRCSEL 0x2 |
| |
| Clock active signal. Switch to 0 to disable the clock |
| PSU_CRL_APB_AMS_REF_CTRL_CLKACT 0x1 |
| |
| This register controls this reference clock |
| (OFFSET, MASK, VALUE) (0XFF5E0108, 0x013F3F07U ,0x01011D02U) |
| RegMask = (CRL_APB_AMS_REF_CTRL_DIVISOR1_MASK | CRL_APB_AMS_REF_CTRL_DIVISOR0_MASK | CRL_APB_AMS_REF_CTRL_SRCSEL_MASK | CRL_APB_AMS_REF_CTRL_CLKACT_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << CRL_APB_AMS_REF_CTRL_DIVISOR1_SHIFT |
| | 0x0000001DU << CRL_APB_AMS_REF_CTRL_DIVISOR0_SHIFT |
| | 0x00000002U << CRL_APB_AMS_REF_CTRL_SRCSEL_SHIFT |
| | 0x00000001U << CRL_APB_AMS_REF_CTRL_CLKACT_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (CRL_APB_AMS_REF_CTRL_OFFSET ,0x013F3F07U ,0x01011D02U); |
| /*############################################################################################################################ */ |
| |
| /*Register : DLL_REF_CTRL @ 0XFF5E0104</p> |
| |
| 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.) |
| PSU_CRL_APB_DLL_REF_CTRL_SRCSEL 0 |
| |
| This register controls this reference clock |
| (OFFSET, MASK, VALUE) (0XFF5E0104, 0x00000007U ,0x00000000U) |
| RegMask = (CRL_APB_DLL_REF_CTRL_SRCSEL_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << CRL_APB_DLL_REF_CTRL_SRCSEL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (CRL_APB_DLL_REF_CTRL_OFFSET ,0x00000007U ,0x00000000U); |
| /*############################################################################################################################ */ |
| |
| /*Register : TIMESTAMP_REF_CTRL @ 0XFF5E0128</p> |
| |
| 6 bit divider |
| PSU_CRL_APB_TIMESTAMP_REF_CTRL_DIVISOR0 0xf |
| |
| 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.) |
| PSU_CRL_APB_TIMESTAMP_REF_CTRL_SRCSEL 0x0 |
| |
| Clock active signal. Switch to 0 to disable the clock |
| PSU_CRL_APB_TIMESTAMP_REF_CTRL_CLKACT 0x1 |
| |
| This register controls this reference clock |
| (OFFSET, MASK, VALUE) (0XFF5E0128, 0x01003F07U ,0x01000F00U) |
| RegMask = (CRL_APB_TIMESTAMP_REF_CTRL_DIVISOR0_MASK | CRL_APB_TIMESTAMP_REF_CTRL_SRCSEL_MASK | CRL_APB_TIMESTAMP_REF_CTRL_CLKACT_MASK | 0 ); |
| |
| RegVal = ((0x0000000FU << CRL_APB_TIMESTAMP_REF_CTRL_DIVISOR0_SHIFT |
| | 0x00000000U << CRL_APB_TIMESTAMP_REF_CTRL_SRCSEL_SHIFT |
| | 0x00000001U << CRL_APB_TIMESTAMP_REF_CTRL_CLKACT_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (CRL_APB_TIMESTAMP_REF_CTRL_OFFSET ,0x01003F07U ,0x01000F00U); |
| /*############################################################################################################################ */ |
| |
| /*Register : SATA_REF_CTRL @ 0XFD1A00A0</p> |
| |
| 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.) |
| PSU_CRF_APB_SATA_REF_CTRL_SRCSEL 0x0 |
| |
| Clock active signal. Switch to 0 to disable the clock |
| PSU_CRF_APB_SATA_REF_CTRL_CLKACT 0x1 |
| |
| 6 bit divider |
| PSU_CRF_APB_SATA_REF_CTRL_DIVISOR0 0x2 |
| |
| This register controls this reference clock |
| (OFFSET, MASK, VALUE) (0XFD1A00A0, 0x01003F07U ,0x01000200U) |
| RegMask = (CRF_APB_SATA_REF_CTRL_SRCSEL_MASK | CRF_APB_SATA_REF_CTRL_CLKACT_MASK | CRF_APB_SATA_REF_CTRL_DIVISOR0_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << CRF_APB_SATA_REF_CTRL_SRCSEL_SHIFT |
| | 0x00000001U << CRF_APB_SATA_REF_CTRL_CLKACT_SHIFT |
| | 0x00000002U << CRF_APB_SATA_REF_CTRL_DIVISOR0_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (CRF_APB_SATA_REF_CTRL_OFFSET ,0x01003F07U ,0x01000200U); |
| /*############################################################################################################################ */ |
| |
| /*Register : PCIE_REF_CTRL @ 0XFD1A00B4</p> |
| |
| 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.) |
| PSU_CRF_APB_PCIE_REF_CTRL_SRCSEL 0x0 |
| |
| Clock active signal. Switch to 0 to disable the clock |
| PSU_CRF_APB_PCIE_REF_CTRL_CLKACT 0x1 |
| |
| 6 bit divider |
| PSU_CRF_APB_PCIE_REF_CTRL_DIVISOR0 0x2 |
| |
| This register controls this reference clock |
| (OFFSET, MASK, VALUE) (0XFD1A00B4, 0x01003F07U ,0x01000200U) |
| RegMask = (CRF_APB_PCIE_REF_CTRL_SRCSEL_MASK | CRF_APB_PCIE_REF_CTRL_CLKACT_MASK | CRF_APB_PCIE_REF_CTRL_DIVISOR0_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << CRF_APB_PCIE_REF_CTRL_SRCSEL_SHIFT |
| | 0x00000001U << CRF_APB_PCIE_REF_CTRL_CLKACT_SHIFT |
| | 0x00000002U << CRF_APB_PCIE_REF_CTRL_DIVISOR0_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (CRF_APB_PCIE_REF_CTRL_OFFSET ,0x01003F07U ,0x01000200U); |
| /*############################################################################################################################ */ |
| |
| /*Register : DP_VIDEO_REF_CTRL @ 0XFD1A0070</p> |
| |
| 6 bit divider |
| PSU_CRF_APB_DP_VIDEO_REF_CTRL_DIVISOR1 0x1 |
| |
| 6 bit divider |
| PSU_CRF_APB_DP_VIDEO_REF_CTRL_DIVISOR0 0x3 |
| |
| 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.) |
| PSU_CRF_APB_DP_VIDEO_REF_CTRL_SRCSEL 0x3 |
| |
| Clock active signal. Switch to 0 to disable the clock |
| PSU_CRF_APB_DP_VIDEO_REF_CTRL_CLKACT 0x1 |
| |
| This register controls this reference clock |
| (OFFSET, MASK, VALUE) (0XFD1A0070, 0x013F3F07U ,0x01010303U) |
| RegMask = (CRF_APB_DP_VIDEO_REF_CTRL_DIVISOR1_MASK | CRF_APB_DP_VIDEO_REF_CTRL_DIVISOR0_MASK | CRF_APB_DP_VIDEO_REF_CTRL_SRCSEL_MASK | CRF_APB_DP_VIDEO_REF_CTRL_CLKACT_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << CRF_APB_DP_VIDEO_REF_CTRL_DIVISOR1_SHIFT |
| | 0x00000003U << CRF_APB_DP_VIDEO_REF_CTRL_DIVISOR0_SHIFT |
| | 0x00000003U << CRF_APB_DP_VIDEO_REF_CTRL_SRCSEL_SHIFT |
| | 0x00000001U << CRF_APB_DP_VIDEO_REF_CTRL_CLKACT_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (CRF_APB_DP_VIDEO_REF_CTRL_OFFSET ,0x013F3F07U ,0x01010303U); |
| /*############################################################################################################################ */ |
| |
| /*Register : DP_AUDIO_REF_CTRL @ 0XFD1A0074</p> |
| |
| 6 bit divider |
| PSU_CRF_APB_DP_AUDIO_REF_CTRL_DIVISOR1 0x1 |
| |
| 6 bit divider |
| PSU_CRF_APB_DP_AUDIO_REF_CTRL_DIVISOR0 0x27 |
| |
| 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.) |
| PSU_CRF_APB_DP_AUDIO_REF_CTRL_SRCSEL 0x0 |
| |
| Clock active signal. Switch to 0 to disable the clock |
| PSU_CRF_APB_DP_AUDIO_REF_CTRL_CLKACT 0x1 |
| |
| This register controls this reference clock |
| (OFFSET, MASK, VALUE) (0XFD1A0074, 0x013F3F07U ,0x01012700U) |
| RegMask = (CRF_APB_DP_AUDIO_REF_CTRL_DIVISOR1_MASK | CRF_APB_DP_AUDIO_REF_CTRL_DIVISOR0_MASK | CRF_APB_DP_AUDIO_REF_CTRL_SRCSEL_MASK | CRF_APB_DP_AUDIO_REF_CTRL_CLKACT_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << CRF_APB_DP_AUDIO_REF_CTRL_DIVISOR1_SHIFT |
| | 0x00000027U << CRF_APB_DP_AUDIO_REF_CTRL_DIVISOR0_SHIFT |
| | 0x00000000U << CRF_APB_DP_AUDIO_REF_CTRL_SRCSEL_SHIFT |
| | 0x00000001U << CRF_APB_DP_AUDIO_REF_CTRL_CLKACT_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (CRF_APB_DP_AUDIO_REF_CTRL_OFFSET ,0x013F3F07U ,0x01012700U); |
| /*############################################################################################################################ */ |
| |
| /*Register : DP_STC_REF_CTRL @ 0XFD1A007C</p> |
| |
| 6 bit divider |
| PSU_CRF_APB_DP_STC_REF_CTRL_DIVISOR1 0x1 |
| |
| 6 bit divider |
| PSU_CRF_APB_DP_STC_REF_CTRL_DIVISOR0 0x11 |
| |
| 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.) |
| PSU_CRF_APB_DP_STC_REF_CTRL_SRCSEL 0x3 |
| |
| Clock active signal. Switch to 0 to disable the clock |
| PSU_CRF_APB_DP_STC_REF_CTRL_CLKACT 0x1 |
| |
| This register controls this reference clock |
| (OFFSET, MASK, VALUE) (0XFD1A007C, 0x013F3F07U ,0x01011103U) |
| RegMask = (CRF_APB_DP_STC_REF_CTRL_DIVISOR1_MASK | CRF_APB_DP_STC_REF_CTRL_DIVISOR0_MASK | CRF_APB_DP_STC_REF_CTRL_SRCSEL_MASK | CRF_APB_DP_STC_REF_CTRL_CLKACT_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << CRF_APB_DP_STC_REF_CTRL_DIVISOR1_SHIFT |
| | 0x00000011U << CRF_APB_DP_STC_REF_CTRL_DIVISOR0_SHIFT |
| | 0x00000003U << CRF_APB_DP_STC_REF_CTRL_SRCSEL_SHIFT |
| | 0x00000001U << CRF_APB_DP_STC_REF_CTRL_CLKACT_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (CRF_APB_DP_STC_REF_CTRL_OFFSET ,0x013F3F07U ,0x01011103U); |
| /*############################################################################################################################ */ |
| |
| /*Register : ACPU_CTRL @ 0XFD1A0060</p> |
| |
| 6 bit divider |
| PSU_CRF_APB_ACPU_CTRL_DIVISOR0 0x1 |
| |
| 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.) |
| PSU_CRF_APB_ACPU_CTRL_SRCSEL 0x0 |
| |
| Clock active signal. Switch to 0 to disable the clock. For the half speed APU Clock |
| PSU_CRF_APB_ACPU_CTRL_CLKACT_HALF 0x1 |
| |
| 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 |
| PSU_CRF_APB_ACPU_CTRL_CLKACT_FULL 0x1 |
| |
| This register controls this reference clock |
| (OFFSET, MASK, VALUE) (0XFD1A0060, 0x03003F07U ,0x03000100U) |
| RegMask = (CRF_APB_ACPU_CTRL_DIVISOR0_MASK | CRF_APB_ACPU_CTRL_SRCSEL_MASK | CRF_APB_ACPU_CTRL_CLKACT_HALF_MASK | CRF_APB_ACPU_CTRL_CLKACT_FULL_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << CRF_APB_ACPU_CTRL_DIVISOR0_SHIFT |
| | 0x00000000U << CRF_APB_ACPU_CTRL_SRCSEL_SHIFT |
| | 0x00000001U << CRF_APB_ACPU_CTRL_CLKACT_HALF_SHIFT |
| | 0x00000001U << CRF_APB_ACPU_CTRL_CLKACT_FULL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (CRF_APB_ACPU_CTRL_OFFSET ,0x03003F07U ,0x03000100U); |
| /*############################################################################################################################ */ |
| |
| /*Register : DBG_TRACE_CTRL @ 0XFD1A0064</p> |
| |
| 6 bit divider |
| PSU_CRF_APB_DBG_TRACE_CTRL_DIVISOR0 0x2 |
| |
| 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.) |
| PSU_CRF_APB_DBG_TRACE_CTRL_SRCSEL 0x0 |
| |
| Clock active signal. Switch to 0 to disable the clock |
| PSU_CRF_APB_DBG_TRACE_CTRL_CLKACT 0x1 |
| |
| This register controls this reference clock |
| (OFFSET, MASK, VALUE) (0XFD1A0064, 0x01003F07U ,0x01000200U) |
| RegMask = (CRF_APB_DBG_TRACE_CTRL_DIVISOR0_MASK | CRF_APB_DBG_TRACE_CTRL_SRCSEL_MASK | CRF_APB_DBG_TRACE_CTRL_CLKACT_MASK | 0 ); |
| |
| RegVal = ((0x00000002U << CRF_APB_DBG_TRACE_CTRL_DIVISOR0_SHIFT |
| | 0x00000000U << CRF_APB_DBG_TRACE_CTRL_SRCSEL_SHIFT |
| | 0x00000001U << CRF_APB_DBG_TRACE_CTRL_CLKACT_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (CRF_APB_DBG_TRACE_CTRL_OFFSET ,0x01003F07U ,0x01000200U); |
| /*############################################################################################################################ */ |
| |
| /*Register : DBG_FPD_CTRL @ 0XFD1A0068</p> |
| |
| 6 bit divider |
| PSU_CRF_APB_DBG_FPD_CTRL_DIVISOR0 0x2 |
| |
| 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.) |
| PSU_CRF_APB_DBG_FPD_CTRL_SRCSEL 0x0 |
| |
| Clock active signal. Switch to 0 to disable the clock |
| PSU_CRF_APB_DBG_FPD_CTRL_CLKACT 0x1 |
| |
| This register controls this reference clock |
| (OFFSET, MASK, VALUE) (0XFD1A0068, 0x01003F07U ,0x01000200U) |
| RegMask = (CRF_APB_DBG_FPD_CTRL_DIVISOR0_MASK | CRF_APB_DBG_FPD_CTRL_SRCSEL_MASK | CRF_APB_DBG_FPD_CTRL_CLKACT_MASK | 0 ); |
| |
| RegVal = ((0x00000002U << CRF_APB_DBG_FPD_CTRL_DIVISOR0_SHIFT |
| | 0x00000000U << CRF_APB_DBG_FPD_CTRL_SRCSEL_SHIFT |
| | 0x00000001U << CRF_APB_DBG_FPD_CTRL_CLKACT_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (CRF_APB_DBG_FPD_CTRL_OFFSET ,0x01003F07U ,0x01000200U); |
| /*############################################################################################################################ */ |
| |
| /*Register : DDR_CTRL @ 0XFD1A0080</p> |
| |
| 6 bit divider |
| PSU_CRF_APB_DDR_CTRL_DIVISOR0 0x2 |
| |
| 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.) |
| PSU_CRF_APB_DDR_CTRL_SRCSEL 0x0 |
| |
| This register controls this reference clock |
| (OFFSET, MASK, VALUE) (0XFD1A0080, 0x00003F07U ,0x00000200U) |
| RegMask = (CRF_APB_DDR_CTRL_DIVISOR0_MASK | CRF_APB_DDR_CTRL_SRCSEL_MASK | 0 ); |
| |
| RegVal = ((0x00000002U << CRF_APB_DDR_CTRL_DIVISOR0_SHIFT |
| | 0x00000000U << CRF_APB_DDR_CTRL_SRCSEL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (CRF_APB_DDR_CTRL_OFFSET ,0x00003F07U ,0x00000200U); |
| /*############################################################################################################################ */ |
| |
| /*Register : GPU_REF_CTRL @ 0XFD1A0084</p> |
| |
| 6 bit divider |
| PSU_CRF_APB_GPU_REF_CTRL_DIVISOR0 0x1 |
| |
| 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.) |
| PSU_CRF_APB_GPU_REF_CTRL_SRCSEL 0x0 |
| |
| Clock active signal. Switch to 0 to disable the clock, which will stop clock for GPU (and both Pixel Processors). |
| PSU_CRF_APB_GPU_REF_CTRL_CLKACT 0x1 |
| |
| Clock active signal for Pixel Processor. Switch to 0 to disable the clock only to this Pixel Processor |
| PSU_CRF_APB_GPU_REF_CTRL_PP0_CLKACT 0x1 |
| |
| Clock active signal for Pixel Processor. Switch to 0 to disable the clock only to this Pixel Processor |
| PSU_CRF_APB_GPU_REF_CTRL_PP1_CLKACT 0x1 |
| |
| This register controls this reference clock |
| (OFFSET, MASK, VALUE) (0XFD1A0084, 0x07003F07U ,0x07000100U) |
| RegMask = (CRF_APB_GPU_REF_CTRL_DIVISOR0_MASK | CRF_APB_GPU_REF_CTRL_SRCSEL_MASK | CRF_APB_GPU_REF_CTRL_CLKACT_MASK | CRF_APB_GPU_REF_CTRL_PP0_CLKACT_MASK | CRF_APB_GPU_REF_CTRL_PP1_CLKACT_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << CRF_APB_GPU_REF_CTRL_DIVISOR0_SHIFT |
| | 0x00000000U << CRF_APB_GPU_REF_CTRL_SRCSEL_SHIFT |
| | 0x00000001U << CRF_APB_GPU_REF_CTRL_CLKACT_SHIFT |
| | 0x00000001U << CRF_APB_GPU_REF_CTRL_PP0_CLKACT_SHIFT |
| | 0x00000001U << CRF_APB_GPU_REF_CTRL_PP1_CLKACT_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (CRF_APB_GPU_REF_CTRL_OFFSET ,0x07003F07U ,0x07000100U); |
| /*############################################################################################################################ */ |
| |
| /*Register : GDMA_REF_CTRL @ 0XFD1A00B8</p> |
| |
| 6 bit divider |
| PSU_CRF_APB_GDMA_REF_CTRL_DIVISOR0 0x2 |
| |
| 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.) |
| PSU_CRF_APB_GDMA_REF_CTRL_SRCSEL 0x0 |
| |
| Clock active signal. Switch to 0 to disable the clock |
| PSU_CRF_APB_GDMA_REF_CTRL_CLKACT 0x1 |
| |
| This register controls this reference clock |
| (OFFSET, MASK, VALUE) (0XFD1A00B8, 0x01003F07U ,0x01000200U) |
| RegMask = (CRF_APB_GDMA_REF_CTRL_DIVISOR0_MASK | CRF_APB_GDMA_REF_CTRL_SRCSEL_MASK | CRF_APB_GDMA_REF_CTRL_CLKACT_MASK | 0 ); |
| |
| RegVal = ((0x00000002U << CRF_APB_GDMA_REF_CTRL_DIVISOR0_SHIFT |
| | 0x00000000U << CRF_APB_GDMA_REF_CTRL_SRCSEL_SHIFT |
| | 0x00000001U << CRF_APB_GDMA_REF_CTRL_CLKACT_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (CRF_APB_GDMA_REF_CTRL_OFFSET ,0x01003F07U ,0x01000200U); |
| /*############################################################################################################################ */ |
| |
| /*Register : DPDMA_REF_CTRL @ 0XFD1A00BC</p> |
| |
| 6 bit divider |
| PSU_CRF_APB_DPDMA_REF_CTRL_DIVISOR0 0x2 |
| |
| 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.) |
| PSU_CRF_APB_DPDMA_REF_CTRL_SRCSEL 0x0 |
| |
| Clock active signal. Switch to 0 to disable the clock |
| PSU_CRF_APB_DPDMA_REF_CTRL_CLKACT 0x1 |
| |
| This register controls this reference clock |
| (OFFSET, MASK, VALUE) (0XFD1A00BC, 0x01003F07U ,0x01000200U) |
| RegMask = (CRF_APB_DPDMA_REF_CTRL_DIVISOR0_MASK | CRF_APB_DPDMA_REF_CTRL_SRCSEL_MASK | CRF_APB_DPDMA_REF_CTRL_CLKACT_MASK | 0 ); |
| |
| RegVal = ((0x00000002U << CRF_APB_DPDMA_REF_CTRL_DIVISOR0_SHIFT |
| | 0x00000000U << CRF_APB_DPDMA_REF_CTRL_SRCSEL_SHIFT |
| | 0x00000001U << CRF_APB_DPDMA_REF_CTRL_CLKACT_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (CRF_APB_DPDMA_REF_CTRL_OFFSET ,0x01003F07U ,0x01000200U); |
| /*############################################################################################################################ */ |
| |
| /*Register : TOPSW_MAIN_CTRL @ 0XFD1A00C0</p> |
| |
| 6 bit divider |
| PSU_CRF_APB_TOPSW_MAIN_CTRL_DIVISOR0 0x2 |
| |
| 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.) |
| PSU_CRF_APB_TOPSW_MAIN_CTRL_SRCSEL 0x2 |
| |
| Clock active signal. Switch to 0 to disable the clock |
| PSU_CRF_APB_TOPSW_MAIN_CTRL_CLKACT 0x1 |
| |
| This register controls this reference clock |
| (OFFSET, MASK, VALUE) (0XFD1A00C0, 0x01003F07U ,0x01000202U) |
| RegMask = (CRF_APB_TOPSW_MAIN_CTRL_DIVISOR0_MASK | CRF_APB_TOPSW_MAIN_CTRL_SRCSEL_MASK | CRF_APB_TOPSW_MAIN_CTRL_CLKACT_MASK | 0 ); |
| |
| RegVal = ((0x00000002U << CRF_APB_TOPSW_MAIN_CTRL_DIVISOR0_SHIFT |
| | 0x00000002U << CRF_APB_TOPSW_MAIN_CTRL_SRCSEL_SHIFT |
| | 0x00000001U << CRF_APB_TOPSW_MAIN_CTRL_CLKACT_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (CRF_APB_TOPSW_MAIN_CTRL_OFFSET ,0x01003F07U ,0x01000202U); |
| /*############################################################################################################################ */ |
| |
| /*Register : TOPSW_LSBUS_CTRL @ 0XFD1A00C4</p> |
| |
| 6 bit divider |
| PSU_CRF_APB_TOPSW_LSBUS_CTRL_DIVISOR0 0x5 |
| |
| 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.) |
| PSU_CRF_APB_TOPSW_LSBUS_CTRL_SRCSEL 0x2 |
| |
| Clock active signal. Switch to 0 to disable the clock |
| PSU_CRF_APB_TOPSW_LSBUS_CTRL_CLKACT 0x1 |
| |
| This register controls this reference clock |
| (OFFSET, MASK, VALUE) (0XFD1A00C4, 0x01003F07U ,0x01000502U) |
| RegMask = (CRF_APB_TOPSW_LSBUS_CTRL_DIVISOR0_MASK | CRF_APB_TOPSW_LSBUS_CTRL_SRCSEL_MASK | CRF_APB_TOPSW_LSBUS_CTRL_CLKACT_MASK | 0 ); |
| |
| RegVal = ((0x00000005U << CRF_APB_TOPSW_LSBUS_CTRL_DIVISOR0_SHIFT |
| | 0x00000002U << CRF_APB_TOPSW_LSBUS_CTRL_SRCSEL_SHIFT |
| | 0x00000001U << CRF_APB_TOPSW_LSBUS_CTRL_CLKACT_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (CRF_APB_TOPSW_LSBUS_CTRL_OFFSET ,0x01003F07U ,0x01000502U); |
| /*############################################################################################################################ */ |
| |
| /*Register : GTGREF0_REF_CTRL @ 0XFD1A00C8</p> |
| |
| 6 bit divider |
| PSU_CRF_APB_GTGREF0_REF_CTRL_DIVISOR0 0x4 |
| |
| 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.) |
| PSU_CRF_APB_GTGREF0_REF_CTRL_SRCSEL 0x0 |
| |
| Clock active signal. Switch to 0 to disable the clock |
| PSU_CRF_APB_GTGREF0_REF_CTRL_CLKACT 0x1 |
| |
| This register controls this reference clock |
| (OFFSET, MASK, VALUE) (0XFD1A00C8, 0x01003F07U ,0x01000400U) |
| RegMask = (CRF_APB_GTGREF0_REF_CTRL_DIVISOR0_MASK | CRF_APB_GTGREF0_REF_CTRL_SRCSEL_MASK | CRF_APB_GTGREF0_REF_CTRL_CLKACT_MASK | 0 ); |
| |
| RegVal = ((0x00000004U << CRF_APB_GTGREF0_REF_CTRL_DIVISOR0_SHIFT |
| | 0x00000000U << CRF_APB_GTGREF0_REF_CTRL_SRCSEL_SHIFT |
| | 0x00000001U << CRF_APB_GTGREF0_REF_CTRL_CLKACT_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (CRF_APB_GTGREF0_REF_CTRL_OFFSET ,0x01003F07U ,0x01000400U); |
| /*############################################################################################################################ */ |
| |
| /*Register : DBG_TSTMP_CTRL @ 0XFD1A00F8</p> |
| |
| 6 bit divider |
| PSU_CRF_APB_DBG_TSTMP_CTRL_DIVISOR0 0x2 |
| |
| 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.) |
| PSU_CRF_APB_DBG_TSTMP_CTRL_SRCSEL 0x0 |
| |
| This register controls this reference clock |
| (OFFSET, MASK, VALUE) (0XFD1A00F8, 0x00003F07U ,0x00000200U) |
| RegMask = (CRF_APB_DBG_TSTMP_CTRL_DIVISOR0_MASK | CRF_APB_DBG_TSTMP_CTRL_SRCSEL_MASK | 0 ); |
| |
| RegVal = ((0x00000002U << CRF_APB_DBG_TSTMP_CTRL_DIVISOR0_SHIFT |
| | 0x00000000U << CRF_APB_DBG_TSTMP_CTRL_SRCSEL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (CRF_APB_DBG_TSTMP_CTRL_OFFSET ,0x00003F07U ,0x00000200U); |
| /*############################################################################################################################ */ |
| |
| /*Register : IOU_TTC_APB_CLK @ 0XFF180380</p> |
| |
| 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 |
| PSU_IOU_SLCR_IOU_TTC_APB_CLK_TTC0_SEL 0 |
| |
| 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 |
| PSU_IOU_SLCR_IOU_TTC_APB_CLK_TTC1_SEL 0 |
| |
| 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 |
| PSU_IOU_SLCR_IOU_TTC_APB_CLK_TTC2_SEL 0 |
| |
| 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 |
| PSU_IOU_SLCR_IOU_TTC_APB_CLK_TTC3_SEL 0 |
| |
| TTC APB clock select |
| (OFFSET, MASK, VALUE) (0XFF180380, 0x000000FFU ,0x00000000U) |
| RegMask = (IOU_SLCR_IOU_TTC_APB_CLK_TTC0_SEL_MASK | IOU_SLCR_IOU_TTC_APB_CLK_TTC1_SEL_MASK | IOU_SLCR_IOU_TTC_APB_CLK_TTC2_SEL_MASK | IOU_SLCR_IOU_TTC_APB_CLK_TTC3_SEL_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << IOU_SLCR_IOU_TTC_APB_CLK_TTC0_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_IOU_TTC_APB_CLK_TTC1_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_IOU_TTC_APB_CLK_TTC2_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_IOU_TTC_APB_CLK_TTC3_SEL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (IOU_SLCR_IOU_TTC_APB_CLK_OFFSET ,0x000000FFU ,0x00000000U); |
| /*############################################################################################################################ */ |
| |
| /*Register : WDT_CLK_SEL @ 0XFD610100</p> |
| |
| System watchdog timer clock source selection: 0: Internal APB clock 1: External (PL clock via EMIO or Pinout clock via MIO) |
| PSU_FPD_SLCR_WDT_CLK_SEL_SELECT 0 |
| |
| SWDT clock source select |
| (OFFSET, MASK, VALUE) (0XFD610100, 0x00000001U ,0x00000000U) |
| RegMask = (FPD_SLCR_WDT_CLK_SEL_SELECT_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << FPD_SLCR_WDT_CLK_SEL_SELECT_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (FPD_SLCR_WDT_CLK_SEL_OFFSET ,0x00000001U ,0x00000000U); |
| /*############################################################################################################################ */ |
| |
| /*Register : WDT_CLK_SEL @ 0XFF180300</p> |
| |
| System watchdog timer clock source selection: 0: internal clock APB clock 1: external clock from PL via EMIO, or from pinout |
| ia MIO |
| PSU_IOU_SLCR_WDT_CLK_SEL_SELECT 0 |
| |
| SWDT clock source select |
| (OFFSET, MASK, VALUE) (0XFF180300, 0x00000001U ,0x00000000U) |
| RegMask = (IOU_SLCR_WDT_CLK_SEL_SELECT_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << IOU_SLCR_WDT_CLK_SEL_SELECT_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (IOU_SLCR_WDT_CLK_SEL_OFFSET ,0x00000001U ,0x00000000U); |
| /*############################################################################################################################ */ |
| |
| /*Register : CSUPMU_WDT_CLK_SEL @ 0XFF410050</p> |
| |
| System watchdog timer clock source selection: 0: internal clock APB clock 1: external clock pss_ref_clk |
| PSU_LPD_SLCR_CSUPMU_WDT_CLK_SEL_SELECT 0 |
| |
| SWDT clock source select |
| (OFFSET, MASK, VALUE) (0XFF410050, 0x00000001U ,0x00000000U) |
| RegMask = (LPD_SLCR_CSUPMU_WDT_CLK_SEL_SELECT_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << LPD_SLCR_CSUPMU_WDT_CLK_SEL_SELECT_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (LPD_SLCR_CSUPMU_WDT_CLK_SEL_OFFSET ,0x00000001U ,0x00000000U); |
| /*############################################################################################################################ */ |
| |
| |
| return 1; |
| } |
| unsigned long psu_ddr_init_data() { |
| // : DDR INITIALIZATION |
| // : DDR CONTROLLER RESET |
| /*Register : RST_DDR_SS @ 0XFD1A0108</p> |
| |
| DDR block level reset inside of the DDR Sub System |
| PSU_CRF_APB_RST_DDR_SS_DDR_RESET 0X1 |
| |
| DDR sub system block level reset |
| (OFFSET, MASK, VALUE) (0XFD1A0108, 0x00000008U ,0x00000008U) |
| RegMask = (CRF_APB_RST_DDR_SS_DDR_RESET_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << CRF_APB_RST_DDR_SS_DDR_RESET_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (CRF_APB_RST_DDR_SS_OFFSET ,0x00000008U ,0x00000008U); |
| /*############################################################################################################################ */ |
| |
| /*Register : MSTR @ 0XFD070000</p> |
| |
| Indicates the configuration of the device used in the system. - 00 - x4 device - 01 - x8 device - 10 - x16 device - 11 - x32 |
| evice |
| PSU_DDRC_MSTR_DEVICE_CONFIG 0x1 |
| |
| Choose which registers are used. - 0 - Original registers - 1 - Shadow registers |
| PSU_DDRC_MSTR_FREQUENCY_MODE 0x0 |
| |
| 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 |
| PSU_DDRC_MSTR_ACTIVE_RANKS 0x1 |
| |
| 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 |
| PSU_DDRC_MSTR_BURST_RDWR 0x4 |
| |
| 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'. |
| PSU_DDRC_MSTR_DLL_OFF_MODE 0x0 |
| |
| 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). |
| PSU_DDRC_MSTR_DATA_BUS_WIDTH 0x0 |
| |
| 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 |
| PSU_DDRC_MSTR_GEARDOWN_MODE 0x0 |
| |
| 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. |
| PSU_DDRC_MSTR_EN_2T_TIMING_MODE 0x0 |
| |
| 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' |
| PSU_DDRC_MSTR_BURSTCHOP 0x0 |
| |
| Select LPDDR4 SDRAM - 1 - LPDDR4 SDRAM device in use. - 0 - non-LPDDR4 device in use Present only in designs configured to su |
| port LPDDR4. |
| PSU_DDRC_MSTR_LPDDR4 0x0 |
| |
| Select DDR4 SDRAM - 1 - DDR4 SDRAM device in use. - 0 - non-DDR4 device in use Present only in designs configured to support |
| DR4. |
| PSU_DDRC_MSTR_DDR4 0x1 |
| |
| Select LPDDR3 SDRAM - 1 - LPDDR3 SDRAM device in use. - 0 - non-LPDDR3 device in use Present only in designs configured to su |
| port LPDDR3. |
| PSU_DDRC_MSTR_LPDDR3 0x0 |
| |
| Select LPDDR2 SDRAM - 1 - LPDDR2 SDRAM device in use. - 0 - non-LPDDR2 device in use Present only in designs configured to su |
| port LPDDR2. |
| PSU_DDRC_MSTR_LPDDR2 0x0 |
| |
| Select DDR3 SDRAM - 1 - DDR3 SDRAM device in use - 0 - non-DDR3 SDRAM device in use Only present in designs that support DDR3 |
| |
| PSU_DDRC_MSTR_DDR3 0x0 |
| |
| Master Register |
| (OFFSET, MASK, VALUE) (0XFD070000, 0xE30FBE3DU ,0x41040010U) |
| RegMask = (DDRC_MSTR_DEVICE_CONFIG_MASK | DDRC_MSTR_FREQUENCY_MODE_MASK | DDRC_MSTR_ACTIVE_RANKS_MASK | DDRC_MSTR_BURST_RDWR_MASK | DDRC_MSTR_DLL_OFF_MODE_MASK | DDRC_MSTR_DATA_BUS_WIDTH_MASK | DDRC_MSTR_GEARDOWN_MODE_MASK | DDRC_MSTR_EN_2T_TIMING_MODE_MASK | DDRC_MSTR_BURSTCHOP_MASK | DDRC_MSTR_LPDDR4_MASK | DDRC_MSTR_DDR4_MASK | DDRC_MSTR_LPDDR3_MASK | DDRC_MSTR_LPDDR2_MASK | DDRC_MSTR_DDR3_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << DDRC_MSTR_DEVICE_CONFIG_SHIFT |
| | 0x00000000U << DDRC_MSTR_FREQUENCY_MODE_SHIFT |
| | 0x00000001U << DDRC_MSTR_ACTIVE_RANKS_SHIFT |
| | 0x00000004U << DDRC_MSTR_BURST_RDWR_SHIFT |
| | 0x00000000U << DDRC_MSTR_DLL_OFF_MODE_SHIFT |
| | 0x00000000U << DDRC_MSTR_DATA_BUS_WIDTH_SHIFT |
| | 0x00000000U << DDRC_MSTR_GEARDOWN_MODE_SHIFT |
| | 0x00000000U << DDRC_MSTR_EN_2T_TIMING_MODE_SHIFT |
| | 0x00000000U << DDRC_MSTR_BURSTCHOP_SHIFT |
| | 0x00000000U << DDRC_MSTR_LPDDR4_SHIFT |
| | 0x00000001U << DDRC_MSTR_DDR4_SHIFT |
| | 0x00000000U << DDRC_MSTR_LPDDR3_SHIFT |
| | 0x00000000U << DDRC_MSTR_LPDDR2_SHIFT |
| | 0x00000000U << DDRC_MSTR_DDR3_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDRC_MSTR_OFFSET ,0xE30FBE3DU ,0x41040010U); |
| /*############################################################################################################################ */ |
| |
| /*Register : MRCTRL0 @ 0XFD070010</p> |
| |
| 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. |
| PSU_DDRC_MRCTRL0_MR_WR 0x0 |
| |
| 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. |
| PSU_DDRC_MRCTRL0_MR_ADDR 0x0 |
| |
| 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 |
| PSU_DDRC_MRCTRL0_MR_RANK 0x3 |
| |
| 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 |
| PSU_DDRC_MRCTRL0_SW_INIT_INT 0x0 |
| |
| Indicates whether the mode register operation is MRS in PDA mode or not - 0 - MRS - 1 - MRS in Per DRAM Addressability mode |
| PSU_DDRC_MRCTRL0_PDA_EN 0x0 |
| |
| Indicates whether the mode register operation is MRS or WR/RD for MPR (only supported for DDR4) - 0 - MRS - 1 - WR/RD for MPR |
| PSU_DDRC_MRCTRL0_MPR_EN 0x0 |
| |
| Indicates whether the mode register operation is read or write. Only used for LPDDR2/LPDDR3/LPDDR4/DDR4. - 0 - Write - 1 - Re |
| d |
| PSU_DDRC_MRCTRL0_MR_TYPE 0x0 |
| |
| Mode Register Read/Write Control Register 0. Note: Do not enable more than one of the following fields simultaneously: - sw_i |
| it_int - pda_en - mpr_en |
| (OFFSET, MASK, VALUE) (0XFD070010, 0x8000F03FU ,0x00000030U) |
| RegMask = (DDRC_MRCTRL0_MR_WR_MASK | DDRC_MRCTRL0_MR_ADDR_MASK | DDRC_MRCTRL0_MR_RANK_MASK | DDRC_MRCTRL0_SW_INIT_INT_MASK | DDRC_MRCTRL0_PDA_EN_MASK | DDRC_MRCTRL0_MPR_EN_MASK | DDRC_MRCTRL0_MR_TYPE_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDRC_MRCTRL0_MR_WR_SHIFT |
| | 0x00000000U << DDRC_MRCTRL0_MR_ADDR_SHIFT |
| | 0x00000003U << DDRC_MRCTRL0_MR_RANK_SHIFT |
| | 0x00000000U << DDRC_MRCTRL0_SW_INIT_INT_SHIFT |
| | 0x00000000U << DDRC_MRCTRL0_PDA_EN_SHIFT |
| | 0x00000000U << DDRC_MRCTRL0_MPR_EN_SHIFT |
| | 0x00000000U << DDRC_MRCTRL0_MR_TYPE_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDRC_MRCTRL0_OFFSET ,0x8000F03FU ,0x00000030U); |
| /*############################################################################################################################ */ |
| |
| /*Register : DERATEEN @ 0XFD070020</p> |
| |
| 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. |
| PSU_DDRC_DERATEEN_RC_DERATE_VALUE 0x3 |
| |
| 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. |
| PSU_DDRC_DERATEEN_DERATE_BYTE 0x0 |
| |
| 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. |
| PSU_DDRC_DERATEEN_DERATE_VALUE 0x0 |
| |
| 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. |
| PSU_DDRC_DERATEEN_DERATE_ENABLE 0x0 |
| |
| Temperature Derate Enable Register |
| (OFFSET, MASK, VALUE) (0XFD070020, 0x000003F3U ,0x00000300U) |
| RegMask = (DDRC_DERATEEN_RC_DERATE_VALUE_MASK | DDRC_DERATEEN_DERATE_BYTE_MASK | DDRC_DERATEEN_DERATE_VALUE_MASK | DDRC_DERATEEN_DERATE_ENABLE_MASK | 0 ); |
| |
| RegVal = ((0x00000003U << DDRC_DERATEEN_RC_DERATE_VALUE_SHIFT |
| | 0x00000000U << DDRC_DERATEEN_DERATE_BYTE_SHIFT |
| | 0x00000000U << DDRC_DERATEEN_DERATE_VALUE_SHIFT |
| | 0x00000000U << DDRC_DERATEEN_DERATE_ENABLE_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDRC_DERATEEN_OFFSET ,0x000003F3U ,0x00000300U); |
| /*############################################################################################################################ */ |
| |
| /*Register : DERATEINT @ 0XFD070024</p> |
| |
| 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 |
| PSU_DDRC_DERATEINT_MR4_READ_INTERVAL 0x800000 |
| |
| Temperature Derate Interval Register |
| (OFFSET, MASK, VALUE) (0XFD070024, 0xFFFFFFFFU ,0x00800000U) |
| RegMask = (DDRC_DERATEINT_MR4_READ_INTERVAL_MASK | 0 ); |
| |
| RegVal = ((0x00800000U << DDRC_DERATEINT_MR4_READ_INTERVAL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDRC_DERATEINT_OFFSET ,0xFFFFFFFFU ,0x00800000U); |
| /*############################################################################################################################ */ |
| |
| /*Register : PWRCTL @ 0XFD070030</p> |
| |
| 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 |
| PSU_DDRC_PWRCTL_STAY_IN_SELFREF 0x0 |
| |
| 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 |
| PSU_DDRC_PWRCTL_SELFREF_SW 0x0 |
| |
| 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. |
| PSU_DDRC_PWRCTL_MPSM_EN 0x0 |
| |
| 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) |
| PSU_DDRC_PWRCTL_EN_DFI_DRAM_CLK_DISABLE 0x0 |
| |
| 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. |
| PSU_DDRC_PWRCTL_DEEPPOWERDOWN_EN 0x0 |
| |
| 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. |
| PSU_DDRC_PWRCTL_POWERDOWN_EN 0x0 |
| |
| 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. |
| PSU_DDRC_PWRCTL_SELFREF_EN 0x0 |
| |
| Low Power Control Register |
| (OFFSET, MASK, VALUE) (0XFD070030, 0x0000007FU ,0x00000000U) |
| RegMask = (DDRC_PWRCTL_STAY_IN_SELFREF_MASK | DDRC_PWRCTL_SELFREF_SW_MASK | DDRC_PWRCTL_MPSM_EN_MASK | DDRC_PWRCTL_EN_DFI_DRAM_CLK_DISABLE_MASK | DDRC_PWRCTL_DEEPPOWERDOWN_EN_MASK | DDRC_PWRCTL_POWERDOWN_EN_MASK | DDRC_PWRCTL_SELFREF_EN_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDRC_PWRCTL_STAY_IN_SELFREF_SHIFT |
| | 0x00000000U << DDRC_PWRCTL_SELFREF_SW_SHIFT |
| | 0x00000000U << DDRC_PWRCTL_MPSM_EN_SHIFT |
| | 0x00000000U << DDRC_PWRCTL_EN_DFI_DRAM_CLK_DISABLE_SHIFT |
| | 0x00000000U << DDRC_PWRCTL_DEEPPOWERDOWN_EN_SHIFT |
| | 0x00000000U << DDRC_PWRCTL_POWERDOWN_EN_SHIFT |
| | 0x00000000U << DDRC_PWRCTL_SELFREF_EN_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDRC_PWRCTL_OFFSET ,0x0000007FU ,0x00000000U); |
| /*############################################################################################################################ */ |
| |
| /*Register : PWRTMG @ 0XFD070034</p> |
| |
| 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. |
| PSU_DDRC_PWRTMG_SELFREF_TO_X32 0x40 |
| |
| 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. |
| PSU_DDRC_PWRTMG_T_DPD_X4096 0x84 |
| |
| 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. |
| PSU_DDRC_PWRTMG_POWERDOWN_TO_X32 0x10 |
| |
| Low Power Timing Register |
| (OFFSET, MASK, VALUE) (0XFD070034, 0x00FFFF1FU ,0x00408410U) |
| RegMask = (DDRC_PWRTMG_SELFREF_TO_X32_MASK | DDRC_PWRTMG_T_DPD_X4096_MASK | DDRC_PWRTMG_POWERDOWN_TO_X32_MASK | 0 ); |
| |
| RegVal = ((0x00000040U << DDRC_PWRTMG_SELFREF_TO_X32_SHIFT |
| | 0x00000084U << DDRC_PWRTMG_T_DPD_X4096_SHIFT |
| | 0x00000010U << DDRC_PWRTMG_POWERDOWN_TO_X32_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDRC_PWRTMG_OFFSET ,0x00FFFF1FU ,0x00408410U); |
| /*############################################################################################################################ */ |
| |
| /*Register : RFSHCTL0 @ 0XFD070050</p> |
| |
| 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. |
| PSU_DDRC_RFSHCTL0_REFRESH_MARGIN 0x2 |
| |
| 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. |
| PSU_DDRC_RFSHCTL0_REFRESH_TO_X32 0x10 |
| |
| 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. |
| PSU_DDRC_RFSHCTL0_REFRESH_BURST 0x0 |
| |
| - 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 |
| PSU_DDRC_RFSHCTL0_PER_BANK_REFRESH 0x0 |
| |
| Refresh Control Register 0 |
| (OFFSET, MASK, VALUE) (0XFD070050, 0x00F1F1F4U ,0x00210000U) |
| RegMask = (DDRC_RFSHCTL0_REFRESH_MARGIN_MASK | DDRC_RFSHCTL0_REFRESH_TO_X32_MASK | DDRC_RFSHCTL0_REFRESH_BURST_MASK | DDRC_RFSHCTL0_PER_BANK_REFRESH_MASK | 0 ); |
| |
| RegVal = ((0x00000002U << DDRC_RFSHCTL0_REFRESH_MARGIN_SHIFT |
| | 0x00000010U << DDRC_RFSHCTL0_REFRESH_TO_X32_SHIFT |
| | 0x00000000U << DDRC_RFSHCTL0_REFRESH_BURST_SHIFT |
| | 0x00000000U << DDRC_RFSHCTL0_PER_BANK_REFRESH_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDRC_RFSHCTL0_OFFSET ,0x00F1F1F4U ,0x00210000U); |
| /*############################################################################################################################ */ |
| |
| /*Register : RFSHCTL3 @ 0XFD070060</p> |
| |
| 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. |
| PSU_DDRC_RFSHCTL3_REFRESH_MODE 0x0 |
| |
| 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. |
| PSU_DDRC_RFSHCTL3_REFRESH_UPDATE_LEVEL 0x0 |
| |
| 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. |
| PSU_DDRC_RFSHCTL3_DIS_AUTO_REFRESH 0x1 |
| |
| Refresh Control Register 3 |
| (OFFSET, MASK, VALUE) (0XFD070060, 0x00000073U ,0x00000001U) |
| RegMask = (DDRC_RFSHCTL3_REFRESH_MODE_MASK | DDRC_RFSHCTL3_REFRESH_UPDATE_LEVEL_MASK | DDRC_RFSHCTL3_DIS_AUTO_REFRESH_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDRC_RFSHCTL3_REFRESH_MODE_SHIFT |
| | 0x00000000U << DDRC_RFSHCTL3_REFRESH_UPDATE_LEVEL_SHIFT |
| | 0x00000001U << DDRC_RFSHCTL3_DIS_AUTO_REFRESH_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDRC_RFSHCTL3_OFFSET ,0x00000073U ,0x00000001U); |
| /*############################################################################################################################ */ |
| |
| /*Register : RFSHTMG @ 0XFD070064</p> |
| |
| 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. |
| PSU_DDRC_RFSHTMG_T_RFC_NOM_X32 0x82 |
| |
| 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 |
| PSU_DDRC_RFSHTMG_LPDDR3_TREFBW_EN 0x1 |
| |
| 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. |
| PSU_DDRC_RFSHTMG_T_RFC_MIN 0x8b |
| |
| Refresh Timing Register |
| (OFFSET, MASK, VALUE) (0XFD070064, 0x0FFF83FFU ,0x0082808BU) |
| RegMask = (DDRC_RFSHTMG_T_RFC_NOM_X32_MASK | DDRC_RFSHTMG_LPDDR3_TREFBW_EN_MASK | DDRC_RFSHTMG_T_RFC_MIN_MASK | 0 ); |
| |
| RegVal = ((0x00000082U << DDRC_RFSHTMG_T_RFC_NOM_X32_SHIFT |
| | 0x00000001U << DDRC_RFSHTMG_LPDDR3_TREFBW_EN_SHIFT |
| | 0x0000008BU << DDRC_RFSHTMG_T_RFC_MIN_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDRC_RFSHTMG_OFFSET ,0x0FFF83FFU ,0x0082808BU); |
| /*############################################################################################################################ */ |
| |
| /*Register : ECCCFG0 @ 0XFD070070</p> |
| |
| Disable ECC scrubs. Valid only when ECCCFG0.ecc_mode = 3'b100 and MEMC_USE_RMW is defined |
| PSU_DDRC_ECCCFG0_DIS_SCRUB 0x1 |
| |
| ECC mode indicator - 000 - ECC disabled - 100 - ECC enabled - SEC/DED over 1 beat - all other settings are reserved for futur |
| use |
| PSU_DDRC_ECCCFG0_ECC_MODE 0x0 |
| |
| ECC Configuration Register 0 |
| (OFFSET, MASK, VALUE) (0XFD070070, 0x00000017U ,0x00000010U) |
| RegMask = (DDRC_ECCCFG0_DIS_SCRUB_MASK | DDRC_ECCCFG0_ECC_MODE_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << DDRC_ECCCFG0_DIS_SCRUB_SHIFT |
| | 0x00000000U << DDRC_ECCCFG0_ECC_MODE_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDRC_ECCCFG0_OFFSET ,0x00000017U ,0x00000010U); |
| /*############################################################################################################################ */ |
| |
| /*Register : ECCCFG1 @ 0XFD070074</p> |
| |
| 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 |
| PSU_DDRC_ECCCFG1_DATA_POISON_BIT 0x0 |
| |
| Enable ECC data poisoning - introduces ECC errors on writes to address specified by the ECCPOISONADDR0/1 registers |
| PSU_DDRC_ECCCFG1_DATA_POISON_EN 0x0 |
| |
| ECC Configuration Register 1 |
| (OFFSET, MASK, VALUE) (0XFD070074, 0x00000003U ,0x00000000U) |
| RegMask = (DDRC_ECCCFG1_DATA_POISON_BIT_MASK | DDRC_ECCCFG1_DATA_POISON_EN_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDRC_ECCCFG1_DATA_POISON_BIT_SHIFT |
| | 0x00000000U << DDRC_ECCCFG1_DATA_POISON_EN_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDRC_ECCCFG1_OFFSET ,0x00000003U ,0x00000000U); |
| /*############################################################################################################################ */ |
| |
| /*Register : CRCPARCTL1 @ 0XFD0700C4</p> |
| |
| 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 |
| PSU_DDRC_CRCPARCTL1_DFI_T_PHY_RDLAT 0x10 |
| |
| 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'. |
| PSU_DDRC_CRCPARCTL1_ALERT_WAIT_FOR_SW 0x1 |
| |
| - 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) |
| PSU_DDRC_CRCPARCTL1_CRC_PARITY_RETRY_ENABLE 0x0 |
| |
| CRC Calculation setting register - 1: CRC includes DM signal - 0: CRC not includes DM signal Present only in designs configur |
| d to support DDR4. |
| PSU_DDRC_CRCPARCTL1_CRC_INC_DM 0x0 |
| |
| 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. |
| PSU_DDRC_CRCPARCTL1_CRC_ENABLE 0x0 |
| |
| 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. |
| PSU_DDRC_CRCPARCTL1_PARITY_ENABLE 0x0 |
| |
| CRC Parity Control Register1 |
| (OFFSET, MASK, VALUE) (0XFD0700C4, 0x3F000391U ,0x10000200U) |
| RegMask = (DDRC_CRCPARCTL1_DFI_T_PHY_RDLAT_MASK | DDRC_CRCPARCTL1_ALERT_WAIT_FOR_SW_MASK | DDRC_CRCPARCTL1_CRC_PARITY_RETRY_ENABLE_MASK | DDRC_CRCPARCTL1_CRC_INC_DM_MASK | DDRC_CRCPARCTL1_CRC_ENABLE_MASK | DDRC_CRCPARCTL1_PARITY_ENABLE_MASK | 0 ); |
| |
| RegVal = ((0x00000010U << DDRC_CRCPARCTL1_DFI_T_PHY_RDLAT_SHIFT |
| | 0x00000001U << DDRC_CRCPARCTL1_ALERT_WAIT_FOR_SW_SHIFT |
| | 0x00000000U << DDRC_CRCPARCTL1_CRC_PARITY_RETRY_ENABLE_SHIFT |
| | 0x00000000U << DDRC_CRCPARCTL1_CRC_INC_DM_SHIFT |
| | 0x00000000U << DDRC_CRCPARCTL1_CRC_ENABLE_SHIFT |
| | 0x00000000U << DDRC_CRCPARCTL1_PARITY_ENABLE_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDRC_CRCPARCTL1_OFFSET ,0x3F000391U ,0x10000200U); |
| /*############################################################################################################################ */ |
| |
| /*Register : CRCPARCTL2 @ 0XFD0700C8</p> |
| |
| 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. |
| PSU_DDRC_CRCPARCTL2_T_PAR_ALERT_PW_MAX 0x40 |
| |
| 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. |
| PSU_DDRC_CRCPARCTL2_T_CRC_ALERT_PW_MAX 0x5 |
| |
| 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. |
| PSU_DDRC_CRCPARCTL2_RETRY_FIFO_MAX_HOLD_TIMER_X4 0x1f |
| |
| CRC Parity Control Register2 |
| (OFFSET, MASK, VALUE) (0XFD0700C8, 0x01FF1F3FU ,0x0040051FU) |
| RegMask = (DDRC_CRCPARCTL2_T_PAR_ALERT_PW_MAX_MASK | DDRC_CRCPARCTL2_T_CRC_ALERT_PW_MAX_MASK | DDRC_CRCPARCTL2_RETRY_FIFO_MAX_HOLD_TIMER_X4_MASK | 0 ); |
| |
| RegVal = ((0x00000040U << DDRC_CRCPARCTL2_T_PAR_ALERT_PW_MAX_SHIFT |
| | 0x00000005U << DDRC_CRCPARCTL2_T_CRC_ALERT_PW_MAX_SHIFT |
| | 0x0000001FU << DDRC_CRCPARCTL2_RETRY_FIFO_MAX_HOLD_TIMER_X4_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDRC_CRCPARCTL2_OFFSET ,0x01FF1F3FU ,0x0040051FU); |
| /*############################################################################################################################ */ |
| |
| /*Register : INIT0 @ 0XFD0700D0</p> |
| |
| 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. |
| PSU_DDRC_INIT0_SKIP_DRAM_INIT 0x0 |
| |
| 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. |
| PSU_DDRC_INIT0_POST_CKE_X1024 0x2 |
| |
| 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. |
| PSU_DDRC_INIT0_PRE_CKE_X1024 0x106 |
| |
| SDRAM Initialization Register 0 |
| (OFFSET, MASK, VALUE) (0XFD0700D0, 0xC3FF0FFFU ,0x00020106U) |
| RegMask = (DDRC_INIT0_SKIP_DRAM_INIT_MASK | DDRC_INIT0_POST_CKE_X1024_MASK | DDRC_INIT0_PRE_CKE_X1024_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDRC_INIT0_SKIP_DRAM_INIT_SHIFT |
| | 0x00000002U << DDRC_INIT0_POST_CKE_X1024_SHIFT |
| | 0x00000106U << DDRC_INIT0_PRE_CKE_X1024_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDRC_INIT0_OFFSET ,0xC3FF0FFFU ,0x00020106U); |
| /*############################################################################################################################ */ |
| |
| /*Register : INIT1 @ 0XFD0700D4</p> |
| |
| 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 |
| PSU_DDRC_INIT1_DRAM_RSTN_X1024 0x2 |
| |
| 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. |
| PSU_DDRC_INIT1_FINAL_WAIT_X32 0x0 |
| |
| 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. |
| PSU_DDRC_INIT1_PRE_OCD_X32 0x0 |
| |
| SDRAM Initialization Register 1 |
| (OFFSET, MASK, VALUE) (0XFD0700D4, 0x01FF7F0FU ,0x00020000U) |
| RegMask = (DDRC_INIT1_DRAM_RSTN_X1024_MASK | DDRC_INIT1_FINAL_WAIT_X32_MASK | DDRC_INIT1_PRE_OCD_X32_MASK | 0 ); |
| |
| RegVal = ((0x00000002U << DDRC_INIT1_DRAM_RSTN_X1024_SHIFT |
| | 0x00000000U << DDRC_INIT1_FINAL_WAIT_X32_SHIFT |
| | 0x00000000U << DDRC_INIT1_PRE_OCD_X32_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDRC_INIT1_OFFSET ,0x01FF7F0FU ,0x00020000U); |
| /*############################################################################################################################ */ |
| |
| /*Register : INIT2 @ 0XFD0700D8</p> |
| |
| Idle time after the reset command, tINIT4. Present only in designs configured to support LPDDR2. Unit: 32 clock cycles. |
| PSU_DDRC_INIT2_IDLE_AFTER_RESET_X32 0x23 |
| |
| 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. |
| PSU_DDRC_INIT2_MIN_STABLE_CLOCK_X1 0x5 |
| |
| SDRAM Initialization Register 2 |
| (OFFSET, MASK, VALUE) (0XFD0700D8, 0x0000FF0FU ,0x00002305U) |
| RegMask = (DDRC_INIT2_IDLE_AFTER_RESET_X32_MASK | DDRC_INIT2_MIN_STABLE_CLOCK_X1_MASK | 0 ); |
| |
| RegVal = ((0x00000023U << DDRC_INIT2_IDLE_AFTER_RESET_X32_SHIFT |
| | 0x00000005U << DDRC_INIT2_MIN_STABLE_CLOCK_X1_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDRC_INIT2_OFFSET ,0x0000FF0FU ,0x00002305U); |
| /*############################################################################################################################ */ |
| |
| /*Register : INIT3 @ 0XFD0700DC</p> |
| |
| 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 |
| PSU_DDRC_INIT3_MR 0x930 |
| |
| 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 |
| PSU_DDRC_INIT3_EMR 0x301 |
| |
| SDRAM Initialization Register 3 |
| (OFFSET, MASK, VALUE) (0XFD0700DC, 0xFFFFFFFFU ,0x09300301U) |
| RegMask = (DDRC_INIT3_MR_MASK | DDRC_INIT3_EMR_MASK | 0 ); |
| |
| RegVal = ((0x00000930U << DDRC_INIT3_MR_SHIFT |
| | 0x00000301U << DDRC_INIT3_EMR_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDRC_INIT3_OFFSET ,0xFFFFFFFFU ,0x09300301U); |
| /*############################################################################################################################ */ |
| |
| /*Register : INIT4 @ 0XFD0700E0</p> |
| |
| 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 |
| PSU_DDRC_INIT4_EMR2 0x20 |
| |
| 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 |
| PSU_DDRC_INIT4_EMR3 0x200 |
| |
| SDRAM Initialization Register 4 |
| (OFFSET, MASK, VALUE) (0XFD0700E0, 0xFFFFFFFFU ,0x00200200U) |
| RegMask = (DDRC_INIT4_EMR2_MASK | DDRC_INIT4_EMR3_MASK | 0 ); |
| |
| RegVal = ((0x00000020U << DDRC_INIT4_EMR2_SHIFT |
| | 0x00000200U << DDRC_INIT4_EMR3_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDRC_INIT4_OFFSET ,0xFFFFFFFFU ,0x00200200U); |
| /*############################################################################################################################ */ |
| |
| /*Register : INIT5 @ 0XFD0700E4</p> |
| |
| 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. |
| PSU_DDRC_INIT5_DEV_ZQINIT_X32 0x21 |
| |
| Maximum duration of the auto initialization, tINIT5. Present only in designs configured to support LPDDR2/LPDDR3. LPDDR2/LPDD |
| 3 typically requires 10 us. |
| PSU_DDRC_INIT5_MAX_AUTO_INIT_X1024 0x4 |
| |
| SDRAM Initialization Register 5 |
| (OFFSET, MASK, VALUE) (0XFD0700E4, 0x00FF03FFU ,0x00210004U) |
| RegMask = (DDRC_INIT5_DEV_ZQINIT_X32_MASK | DDRC_INIT5_MAX_AUTO_INIT_X1024_MASK | 0 ); |
| |
| RegVal = ((0x00000021U << DDRC_INIT5_DEV_ZQINIT_X32_SHIFT |
| | 0x00000004U << DDRC_INIT5_MAX_AUTO_INIT_X1024_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDRC_INIT5_OFFSET ,0x00FF03FFU ,0x00210004U); |
| /*############################################################################################################################ */ |
| |
| /*Register : INIT6 @ 0XFD0700E8</p> |
| |
| DDR4- Value to be loaded into SDRAM MR4 registers. Used in DDR4 designs only. |
| PSU_DDRC_INIT6_MR4 0x0 |
| |
| DDR4- Value to be loaded into SDRAM MR5 registers. Used in DDR4 designs only. |
| PSU_DDRC_INIT6_MR5 0x6c0 |
| |
| SDRAM Initialization Register 6 |
| (OFFSET, MASK, VALUE) (0XFD0700E8, 0xFFFFFFFFU ,0x000006C0U) |
| RegMask = (DDRC_INIT6_MR4_MASK | DDRC_INIT6_MR5_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDRC_INIT6_MR4_SHIFT |
| | 0x000006C0U << DDRC_INIT6_MR5_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDRC_INIT6_OFFSET ,0xFFFFFFFFU ,0x000006C0U); |
| /*############################################################################################################################ */ |
| |
| /*Register : INIT7 @ 0XFD0700EC</p> |
| |
| DDR4- Value to be loaded into SDRAM MR6 registers. Used in DDR4 designs only. |
| PSU_DDRC_INIT7_MR6 0x819 |
| |
| SDRAM Initialization Register 7 |
| (OFFSET, MASK, VALUE) (0XFD0700EC, 0xFFFF0000U ,0x08190000U) |
| RegMask = (DDRC_INIT7_MR6_MASK | 0 ); |
| |
| RegVal = ((0x00000819U << DDRC_INIT7_MR6_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDRC_INIT7_OFFSET ,0xFFFF0000U ,0x08190000U); |
| /*############################################################################################################################ */ |
| |
| /*Register : DIMMCTL @ 0XFD0700F0</p> |
| |
| 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. |
| PSU_DDRC_DIMMCTL_DIMM_DIS_BG_MIRRORING 0x0 |
| |
| 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 |
| PSU_DDRC_DIMMCTL_MRS_BG1_EN 0x1 |
| |
| 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 |
| PSU_DDRC_DIMMCTL_MRS_A17_EN 0x0 |
| |
| 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. |
| PSU_DDRC_DIMMCTL_DIMM_OUTPUT_INV_EN 0x0 |
| |
| 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 |
| PSU_DDRC_DIMMCTL_DIMM_ADDR_MIRR_EN 0x0 |
| |
| 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 |
| PSU_DDRC_DIMMCTL_DIMM_STAGGER_CS_EN 0x0 |
| |
| DIMM Control Register |
| (OFFSET, MASK, VALUE) (0XFD0700F0, 0x0000003FU ,0x00000010U) |
| RegMask = (DDRC_DIMMCTL_DIMM_DIS_BG_MIRRORING_MASK | DDRC_DIMMCTL_MRS_BG1_EN_MASK | DDRC_DIMMCTL_MRS_A17_EN_MASK | DDRC_DIMMCTL_DIMM_OUTPUT_INV_EN_MASK | DDRC_DIMMCTL_DIMM_ADDR_MIRR_EN_MASK | DDRC_DIMMCTL_DIMM_STAGGER_CS_EN_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDRC_DIMMCTL_DIMM_DIS_BG_MIRRORING_SHIFT |
| | 0x00000001U << DDRC_DIMMCTL_MRS_BG1_EN_SHIFT |
| | 0x00000000U << DDRC_DIMMCTL_MRS_A17_EN_SHIFT |
| | 0x00000000U << DDRC_DIMMCTL_DIMM_OUTPUT_INV_EN_SHIFT |
| | 0x00000000U << DDRC_DIMMCTL_DIMM_ADDR_MIRR_EN_SHIFT |
| | 0x00000000U << DDRC_DIMMCTL_DIMM_STAGGER_CS_EN_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDRC_DIMMCTL_OFFSET ,0x0000003FU ,0x00000010U); |
| /*############################################################################################################################ */ |
| |
| /*Register : RANKCTL @ 0XFD0700F4</p> |
| |
| 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. |
| PSU_DDRC_RANKCTL_DIFF_RANK_WR_GAP 0x6 |
| |
| 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. |
| PSU_DDRC_RANKCTL_DIFF_RANK_RD_GAP 0x6 |
| |
| 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. |
| PSU_DDRC_RANKCTL_MAX_RANK_RD 0xf |
| |
| Rank Control Register |
| (OFFSET, MASK, VALUE) (0XFD0700F4, 0x00000FFFU ,0x0000066FU) |
| RegMask = (DDRC_RANKCTL_DIFF_RANK_WR_GAP_MASK | DDRC_RANKCTL_DIFF_RANK_RD_GAP_MASK | DDRC_RANKCTL_MAX_RANK_RD_MASK | 0 ); |
| |
| RegVal = ((0x00000006U << DDRC_RANKCTL_DIFF_RANK_WR_GAP_SHIFT |
| | 0x00000006U << DDRC_RANKCTL_DIFF_RANK_RD_GAP_SHIFT |
| | 0x0000000FU << DDRC_RANKCTL_MAX_RANK_RD_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDRC_RANKCTL_OFFSET ,0x00000FFFU ,0x0000066FU); |
| /*############################################################################################################################ */ |
| |
| /*Register : DRAMTMG0 @ 0XFD070100</p> |
| |
| 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. |
| PSU_DDRC_DRAMTMG0_WR2PRE 0x11 |
| |
| 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 |
| PSU_DDRC_DRAMTMG0_T_FAW 0xc |
| |
| 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. |
| PSU_DDRC_DRAMTMG0_T_RAS_MAX 0x24 |
| |
| 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 |
| PSU_DDRC_DRAMTMG0_T_RAS_MIN 0x12 |
| |
| SDRAM Timing Register 0 |
| (OFFSET, MASK, VALUE) (0XFD070100, 0x7F3F7F3FU ,0x110C2412U) |
| RegMask = (DDRC_DRAMTMG0_WR2PRE_MASK | DDRC_DRAMTMG0_T_FAW_MASK | DDRC_DRAMTMG0_T_RAS_MAX_MASK | DDRC_DRAMTMG0_T_RAS_MIN_MASK | 0 ); |
| |
| RegVal = ((0x00000011U << DDRC_DRAMTMG0_WR2PRE_SHIFT |
| | 0x0000000CU << DDRC_DRAMTMG0_T_FAW_SHIFT |
| | 0x00000024U << DDRC_DRAMTMG0_T_RAS_MAX_SHIFT |
| | 0x00000012U << DDRC_DRAMTMG0_T_RAS_MIN_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDRC_DRAMTMG0_OFFSET ,0x7F3F7F3FU ,0x110C2412U); |
| /*############################################################################################################################ */ |
| |
| /*Register : DRAMTMG1 @ 0XFD070104</p> |
| |
| 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 |
| PSU_DDRC_DRAMTMG1_T_XP 0x4 |
| |
| 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. |
| PSU_DDRC_DRAMTMG1_RD2PRE 0x4 |
| |
| 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. |
| PSU_DDRC_DRAMTMG1_T_RC 0x19 |
| |
| SDRAM Timing Register 1 |
| (OFFSET, MASK, VALUE) (0XFD070104, 0x001F1F7FU ,0x00040419U) |
| RegMask = (DDRC_DRAMTMG1_T_XP_MASK | DDRC_DRAMTMG1_RD2PRE_MASK | DDRC_DRAMTMG1_T_RC_MASK | 0 ); |
| |
| RegVal = ((0x00000004U << DDRC_DRAMTMG1_T_XP_SHIFT |
| | 0x00000004U << DDRC_DRAMTMG1_RD2PRE_SHIFT |
| | 0x00000019U << DDRC_DRAMTMG1_T_RC_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDRC_DRAMTMG1_OFFSET ,0x001F1F7FU ,0x00040419U); |
| /*############################################################################################################################ */ |
| |
| /*Register : DRAMTMG2 @ 0XFD070108</p> |
| |
| 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 |
| PSU_DDRC_DRAMTMG2_WRITE_LATENCY 0x7 |
| |
| 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 |
| PSU_DDRC_DRAMTMG2_READ_LATENCY 0x8 |
| |
| 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. |
| PSU_DDRC_DRAMTMG2_RD2WR 0x6 |
| |
| 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. |
| PSU_DDRC_DRAMTMG2_WR2RD 0xe |
| |
| SDRAM Timing Register 2 |
| (OFFSET, MASK, VALUE) (0XFD070108, 0x3F3F3F3FU ,0x0708060EU) |
| RegMask = (DDRC_DRAMTMG2_WRITE_LATENCY_MASK | DDRC_DRAMTMG2_READ_LATENCY_MASK | DDRC_DRAMTMG2_RD2WR_MASK | DDRC_DRAMTMG2_WR2RD_MASK | 0 ); |
| |
| RegVal = ((0x00000007U << DDRC_DRAMTMG2_WRITE_LATENCY_SHIFT |
| | 0x00000008U << DDRC_DRAMTMG2_READ_LATENCY_SHIFT |
| | 0x00000006U << DDRC_DRAMTMG2_RD2WR_SHIFT |
| | 0x0000000EU << DDRC_DRAMTMG2_WR2RD_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDRC_DRAMTMG2_OFFSET ,0x3F3F3F3FU ,0x0708060EU); |
| /*############################################################################################################################ */ |
| |
| /*Register : DRAMTMG3 @ 0XFD07010C</p> |
| |
| 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. |
| PSU_DDRC_DRAMTMG3_T_MRW 0x5 |
| |
| 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. |
| PSU_DDRC_DRAMTMG3_T_MRD 0x4 |
| |
| 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. |
| PSU_DDRC_DRAMTMG3_T_MOD 0xc |
| |
| SDRAM Timing Register 3 |
| (OFFSET, MASK, VALUE) (0XFD07010C, 0x3FF3F3FFU ,0x0050400CU) |
| RegMask = (DDRC_DRAMTMG3_T_MRW_MASK | DDRC_DRAMTMG3_T_MRD_MASK | DDRC_DRAMTMG3_T_MOD_MASK | 0 ); |
| |
| RegVal = ((0x00000005U << DDRC_DRAMTMG3_T_MRW_SHIFT |
| | 0x00000004U << DDRC_DRAMTMG3_T_MRD_SHIFT |
| | 0x0000000CU << DDRC_DRAMTMG3_T_MOD_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDRC_DRAMTMG3_OFFSET ,0x3FF3F3FFU ,0x0050400CU); |
| /*############################################################################################################################ */ |
| |
| /*Register : DRAMTMG4 @ 0XFD070110</p> |
| |
| 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. |
| PSU_DDRC_DRAMTMG4_T_RCD 0x8 |
| |
| 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. |
| PSU_DDRC_DRAMTMG4_T_CCD 0x3 |
| |
| 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. |
| PSU_DDRC_DRAMTMG4_T_RRD 0x3 |
| |
| 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. |
| PSU_DDRC_DRAMTMG4_T_RP 0x9 |
| |
| SDRAM Timing Register 4 |
| (OFFSET, MASK, VALUE) (0XFD070110, 0x1F0F0F1FU ,0x08030309U) |
| RegMask = (DDRC_DRAMTMG4_T_RCD_MASK | DDRC_DRAMTMG4_T_CCD_MASK | DDRC_DRAMTMG4_T_RRD_MASK | DDRC_DRAMTMG4_T_RP_MASK | 0 ); |
| |
| RegVal = ((0x00000008U << DDRC_DRAMTMG4_T_RCD_SHIFT |
| | 0x00000003U << DDRC_DRAMTMG4_T_CCD_SHIFT |
| | 0x00000003U << DDRC_DRAMTMG4_T_RRD_SHIFT |
| | 0x00000009U << DDRC_DRAMTMG4_T_RP_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDRC_DRAMTMG4_OFFSET ,0x1F0F0F1FU ,0x08030309U); |
| /*############################################################################################################################ */ |
| |
| /*Register : DRAMTMG5 @ 0XFD070114</p> |
| |
| 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. |
| PSU_DDRC_DRAMTMG5_T_CKSRX 0x6 |
| |
| 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. |
| PSU_DDRC_DRAMTMG5_T_CKSRE 0x6 |
| |
| 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 |
| . |
| PSU_DDRC_DRAMTMG5_T_CKESR 0x4 |
| |
| 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. |
| PSU_DDRC_DRAMTMG5_T_CKE 0x3 |
| |
| SDRAM Timing Register 5 |
| (OFFSET, MASK, VALUE) (0XFD070114, 0x0F0F3F1FU ,0x06060403U) |
| RegMask = (DDRC_DRAMTMG5_T_CKSRX_MASK | DDRC_DRAMTMG5_T_CKSRE_MASK | DDRC_DRAMTMG5_T_CKESR_MASK | DDRC_DRAMTMG5_T_CKE_MASK | 0 ); |
| |
| RegVal = ((0x00000006U << DDRC_DRAMTMG5_T_CKSRX_SHIFT |
| | 0x00000006U << DDRC_DRAMTMG5_T_CKSRE_SHIFT |
| | 0x00000004U << DDRC_DRAMTMG5_T_CKESR_SHIFT |
| | 0x00000003U << DDRC_DRAMTMG5_T_CKE_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDRC_DRAMTMG5_OFFSET ,0x0F0F3F1FU ,0x06060403U); |
| /*############################################################################################################################ */ |
| |
| /*Register : DRAMTMG6 @ 0XFD070118</p> |
| |
| 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. |
| PSU_DDRC_DRAMTMG6_T_CKDPDE 0x1 |
| |
| 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. |
| PSU_DDRC_DRAMTMG6_T_CKDPDX 0x1 |
| |
| 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. |
| PSU_DDRC_DRAMTMG6_T_CKCSX 0x4 |
| |
| SDRAM Timing Register 6 |
| (OFFSET, MASK, VALUE) (0XFD070118, 0x0F0F000FU ,0x01010004U) |
| RegMask = (DDRC_DRAMTMG6_T_CKDPDE_MASK | DDRC_DRAMTMG6_T_CKDPDX_MASK | DDRC_DRAMTMG6_T_CKCSX_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << DDRC_DRAMTMG6_T_CKDPDE_SHIFT |
| | 0x00000001U << DDRC_DRAMTMG6_T_CKDPDX_SHIFT |
| | 0x00000004U << DDRC_DRAMTMG6_T_CKCSX_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDRC_DRAMTMG6_OFFSET ,0x0F0F000FU ,0x01010004U); |
| /*############################################################################################################################ */ |
| |
| /*Register : DRAMTMG7 @ 0XFD07011C</p> |
| |
| 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. |
| PSU_DDRC_DRAMTMG7_T_CKPDE 0x1 |
| |
| 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. |
| PSU_DDRC_DRAMTMG7_T_CKPDX 0x1 |
| |
| SDRAM Timing Register 7 |
| (OFFSET, MASK, VALUE) (0XFD07011C, 0x00000F0FU ,0x00000101U) |
| RegMask = (DDRC_DRAMTMG7_T_CKPDE_MASK | DDRC_DRAMTMG7_T_CKPDX_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << DDRC_DRAMTMG7_T_CKPDE_SHIFT |
| | 0x00000001U << DDRC_DRAMTMG7_T_CKPDX_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDRC_DRAMTMG7_OFFSET ,0x00000F0FU ,0x00000101U); |
| /*############################################################################################################################ */ |
| |
| /*Register : DRAMTMG8 @ 0XFD070120</p> |
| |
| 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. |
| PSU_DDRC_DRAMTMG8_T_XS_FAST_X32 0x4 |
| |
| 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. |
| PSU_DDRC_DRAMTMG8_T_XS_ABORT_X32 0x4 |
| |
| 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. |
| PSU_DDRC_DRAMTMG8_T_XS_DLL_X32 0xd |
| |
| 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. |
| PSU_DDRC_DRAMTMG8_T_XS_X32 0x6 |
| |
| SDRAM Timing Register 8 |
| (OFFSET, MASK, VALUE) (0XFD070120, 0x7F7F7F7FU ,0x04040D06U) |
| RegMask = (DDRC_DRAMTMG8_T_XS_FAST_X32_MASK | DDRC_DRAMTMG8_T_XS_ABORT_X32_MASK | DDRC_DRAMTMG8_T_XS_DLL_X32_MASK | DDRC_DRAMTMG8_T_XS_X32_MASK | 0 ); |
| |
| RegVal = ((0x00000004U << DDRC_DRAMTMG8_T_XS_FAST_X32_SHIFT |
| | 0x00000004U << DDRC_DRAMTMG8_T_XS_ABORT_X32_SHIFT |
| | 0x0000000DU << DDRC_DRAMTMG8_T_XS_DLL_X32_SHIFT |
| | 0x00000006U << DDRC_DRAMTMG8_T_XS_X32_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDRC_DRAMTMG8_OFFSET ,0x7F7F7F7FU ,0x04040D06U); |
| /*############################################################################################################################ */ |
| |
| /*Register : DRAMTMG9 @ 0XFD070124</p> |
| |
| DDR4 Write preamble mode - 0: 1tCK preamble - 1: 2tCK preamble Present only with MEMC_FREQ_RATIO=2 |
| PSU_DDRC_DRAMTMG9_DDR4_WR_PREAMBLE 0x0 |
| |
| 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. |
| PSU_DDRC_DRAMTMG9_T_CCD_S 0x2 |
| |
| 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. |
| PSU_DDRC_DRAMTMG9_T_RRD_S 0x2 |
| |
| 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. |
| PSU_DDRC_DRAMTMG9_WR2RD_S 0xb |
| |
| SDRAM Timing Register 9 |
| (OFFSET, MASK, VALUE) (0XFD070124, 0x40070F3FU ,0x0002020BU) |
| RegMask = (DDRC_DRAMTMG9_DDR4_WR_PREAMBLE_MASK | DDRC_DRAMTMG9_T_CCD_S_MASK | DDRC_DRAMTMG9_T_RRD_S_MASK | DDRC_DRAMTMG9_WR2RD_S_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDRC_DRAMTMG9_DDR4_WR_PREAMBLE_SHIFT |
| | 0x00000002U << DDRC_DRAMTMG9_T_CCD_S_SHIFT |
| | 0x00000002U << DDRC_DRAMTMG9_T_RRD_S_SHIFT |
| | 0x0000000BU << DDRC_DRAMTMG9_WR2RD_S_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDRC_DRAMTMG9_OFFSET ,0x40070F3FU ,0x0002020BU); |
| /*############################################################################################################################ */ |
| |
| /*Register : DRAMTMG11 @ 0XFD07012C</p> |
| |
| 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. |
| PSU_DDRC_DRAMTMG11_POST_MPSM_GAP_X32 0x6f |
| |
| 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. |
| PSU_DDRC_DRAMTMG11_T_MPX_LH 0x7 |
| |
| 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. |
| PSU_DDRC_DRAMTMG11_T_MPX_S 0x1 |
| |
| 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. |
| PSU_DDRC_DRAMTMG11_T_CKMPE 0xe |
| |
| SDRAM Timing Register 11 |
| (OFFSET, MASK, VALUE) (0XFD07012C, 0x7F1F031FU ,0x6F07010EU) |
| RegMask = (DDRC_DRAMTMG11_POST_MPSM_GAP_X32_MASK | DDRC_DRAMTMG11_T_MPX_LH_MASK | DDRC_DRAMTMG11_T_MPX_S_MASK | DDRC_DRAMTMG11_T_CKMPE_MASK | 0 ); |
| |
| RegVal = ((0x0000006FU << DDRC_DRAMTMG11_POST_MPSM_GAP_X32_SHIFT |
| | 0x00000007U << DDRC_DRAMTMG11_T_MPX_LH_SHIFT |
| | 0x00000001U << DDRC_DRAMTMG11_T_MPX_S_SHIFT |
| | 0x0000000EU << DDRC_DRAMTMG11_T_CKMPE_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDRC_DRAMTMG11_OFFSET ,0x7F1F031FU ,0x6F07010EU); |
| /*############################################################################################################################ */ |
| |
| /*Register : DRAMTMG12 @ 0XFD070130</p> |
| |
| 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. |
| PSU_DDRC_DRAMTMG12_T_CMDCKE 0x2 |
| |
| 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. |
| PSU_DDRC_DRAMTMG12_T_CKEHCMD 0x6 |
| |
| 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. |
| PSU_DDRC_DRAMTMG12_T_MRD_PDA 0x8 |
| |
| SDRAM Timing Register 12 |
| (OFFSET, MASK, VALUE) (0XFD070130, 0x00030F1FU ,0x00020608U) |
| RegMask = (DDRC_DRAMTMG12_T_CMDCKE_MASK | DDRC_DRAMTMG12_T_CKEHCMD_MASK | DDRC_DRAMTMG12_T_MRD_PDA_MASK | 0 ); |
| |
| RegVal = ((0x00000002U << DDRC_DRAMTMG12_T_CMDCKE_SHIFT |
| | 0x00000006U << DDRC_DRAMTMG12_T_CKEHCMD_SHIFT |
| | 0x00000008U << DDRC_DRAMTMG12_T_MRD_PDA_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDRC_DRAMTMG12_OFFSET ,0x00030F1FU ,0x00020608U); |
| /*############################################################################################################################ */ |
| |
| /*Register : ZQCTL0 @ 0XFD070180</p> |
| |
| - 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. |
| PSU_DDRC_ZQCTL0_DIS_AUTO_ZQ 0x1 |
| |
| - 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. |
| PSU_DDRC_ZQCTL0_DIS_SRX_ZQCL 0x0 |
| |
| - 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. |
| PSU_DDRC_ZQCTL0_ZQ_RESISTOR_SHARED 0x0 |
| |
| - 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. |
| PSU_DDRC_ZQCTL0_DIS_MPSMX_ZQCL 0x0 |
| |
| 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. |
| PSU_DDRC_ZQCTL0_T_ZQ_LONG_NOP 0x100 |
| |
| 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. |
| PSU_DDRC_ZQCTL0_T_ZQ_SHORT_NOP 0x40 |
| |
| ZQ Control Register 0 |
| (OFFSET, MASK, VALUE) (0XFD070180, 0xF7FF03FFU ,0x81000040U) |
| RegMask = (DDRC_ZQCTL0_DIS_AUTO_ZQ_MASK | DDRC_ZQCTL0_DIS_SRX_ZQCL_MASK | DDRC_ZQCTL0_ZQ_RESISTOR_SHARED_MASK | DDRC_ZQCTL0_DIS_MPSMX_ZQCL_MASK | DDRC_ZQCTL0_T_ZQ_LONG_NOP_MASK | DDRC_ZQCTL0_T_ZQ_SHORT_NOP_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << DDRC_ZQCTL0_DIS_AUTO_ZQ_SHIFT |
| | 0x00000000U << DDRC_ZQCTL0_DIS_SRX_ZQCL_SHIFT |
| | 0x00000000U << DDRC_ZQCTL0_ZQ_RESISTOR_SHARED_SHIFT |
| | 0x00000000U << DDRC_ZQCTL0_DIS_MPSMX_ZQCL_SHIFT |
| | 0x00000100U << DDRC_ZQCTL0_T_ZQ_LONG_NOP_SHIFT |
| | 0x00000040U << DDRC_ZQCTL0_T_ZQ_SHORT_NOP_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDRC_ZQCTL0_OFFSET ,0xF7FF03FFU ,0x81000040U); |
| /*############################################################################################################################ */ |
| |
| /*Register : ZQCTL1 @ 0XFD070184</p> |
| |
| 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. |
| PSU_DDRC_ZQCTL1_T_ZQ_RESET_NOP 0x20 |
| |
| 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. |
| PSU_DDRC_ZQCTL1_T_ZQ_SHORT_INTERVAL_X1024 0x19707 |
| |
| ZQ Control Register 1 |
| (OFFSET, MASK, VALUE) (0XFD070184, 0x3FFFFFFFU ,0x02019707U) |
| RegMask = (DDRC_ZQCTL1_T_ZQ_RESET_NOP_MASK | DDRC_ZQCTL1_T_ZQ_SHORT_INTERVAL_X1024_MASK | 0 ); |
| |
| RegVal = ((0x00000020U << DDRC_ZQCTL1_T_ZQ_RESET_NOP_SHIFT |
| | 0x00019707U << DDRC_ZQCTL1_T_ZQ_SHORT_INTERVAL_X1024_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDRC_ZQCTL1_OFFSET ,0x3FFFFFFFU ,0x02019707U); |
| /*############################################################################################################################ */ |
| |
| /*Register : DFITMG0 @ 0XFD070190</p> |
| |
| 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. |
| PSU_DDRC_DFITMG0_DFI_T_CTRL_DELAY 0x4 |
| |
| 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. |
| PSU_DDRC_DFITMG0_DFI_RDDATA_USE_SDR 0x1 |
| |
| 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 |
| PSU_DDRC_DFITMG0_DFI_T_RDDATA_EN 0xb |
| |
| 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. |
| PSU_DDRC_DFITMG0_DFI_WRDATA_USE_SDR 0x1 |
| |
| 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 |
| PSU_DDRC_DFITMG0_DFI_TPHY_WRDATA 0x2 |
| |
| 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. |
| PSU_DDRC_DFITMG0_DFI_TPHY_WRLAT 0xb |
| |
| DFI Timing Register 0 |
| (OFFSET, MASK, VALUE) (0XFD070190, 0x1FBFBF3FU ,0x048B820BU) |
| RegMask = (DDRC_DFITMG0_DFI_T_CTRL_DELAY_MASK | DDRC_DFITMG0_DFI_RDDATA_USE_SDR_MASK | DDRC_DFITMG0_DFI_T_RDDATA_EN_MASK | DDRC_DFITMG0_DFI_WRDATA_USE_SDR_MASK | DDRC_DFITMG0_DFI_TPHY_WRDATA_MASK | DDRC_DFITMG0_DFI_TPHY_WRLAT_MASK | 0 ); |
| |
| RegVal = ((0x00000004U << DDRC_DFITMG0_DFI_T_CTRL_DELAY_SHIFT |
| | 0x00000001U << DDRC_DFITMG0_DFI_RDDATA_USE_SDR_SHIFT |
| | 0x0000000BU << DDRC_DFITMG0_DFI_T_RDDATA_EN_SHIFT |
| | 0x00000001U << DDRC_DFITMG0_DFI_WRDATA_USE_SDR_SHIFT |
| | 0x00000002U << DDRC_DFITMG0_DFI_TPHY_WRDATA_SHIFT |
| | 0x0000000BU << DDRC_DFITMG0_DFI_TPHY_WRLAT_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDRC_DFITMG0_OFFSET ,0x1FBFBF3FU ,0x048B820BU); |
| /*############################################################################################################################ */ |
| |
| /*Register : DFITMG1 @ 0XFD070194</p> |
| |
| 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 |
| PSU_DDRC_DFITMG1_DFI_T_CMD_LAT 0x0 |
| |
| 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. |
| PSU_DDRC_DFITMG1_DFI_T_PARIN_LAT 0x0 |
| |
| 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 |
| PSU_DDRC_DFITMG1_DFI_T_WRDATA_DELAY 0x3 |
| |
| 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. |
| PSU_DDRC_DFITMG1_DFI_T_DRAM_CLK_DISABLE 0x3 |
| |
| 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. |
| PSU_DDRC_DFITMG1_DFI_T_DRAM_CLK_ENABLE 0x4 |
| |
| DFI Timing Register 1 |
| (OFFSET, MASK, VALUE) (0XFD070194, 0xF31F0F0FU ,0x00030304U) |
| RegMask = (DDRC_DFITMG1_DFI_T_CMD_LAT_MASK | DDRC_DFITMG1_DFI_T_PARIN_LAT_MASK | DDRC_DFITMG1_DFI_T_WRDATA_DELAY_MASK | DDRC_DFITMG1_DFI_T_DRAM_CLK_DISABLE_MASK | DDRC_DFITMG1_DFI_T_DRAM_CLK_ENABLE_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDRC_DFITMG1_DFI_T_CMD_LAT_SHIFT |
| | 0x00000000U << DDRC_DFITMG1_DFI_T_PARIN_LAT_SHIFT |
| | 0x00000003U << DDRC_DFITMG1_DFI_T_WRDATA_DELAY_SHIFT |
| | 0x00000003U << DDRC_DFITMG1_DFI_T_DRAM_CLK_DISABLE_SHIFT |
| | 0x00000004U << DDRC_DFITMG1_DFI_T_DRAM_CLK_ENABLE_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDRC_DFITMG1_OFFSET ,0xF31F0F0FU ,0x00030304U); |
| /*############################################################################################################################ */ |
| |
| /*Register : DFILPCFG0 @ 0XFD070198</p> |
| |
| 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. |
| PSU_DDRC_DFILPCFG0_DFI_TLP_RESP 0x7 |
| |
| 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 |
| . |
| PSU_DDRC_DFILPCFG0_DFI_LP_WAKEUP_DPD 0x0 |
| |
| 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. |
| PSU_DDRC_DFILPCFG0_DFI_LP_EN_DPD 0x0 |
| |
| 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 |
| PSU_DDRC_DFILPCFG0_DFI_LP_WAKEUP_SR 0x0 |
| |
| Enables DFI Low Power interface handshaking during Self Refresh Entry/Exit. - 0 - Disabled - 1 - Enabled |
| PSU_DDRC_DFILPCFG0_DFI_LP_EN_SR 0x1 |
| |
| 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 |
| PSU_DDRC_DFILPCFG0_DFI_LP_WAKEUP_PD 0x4 |
| |
| Enables DFI Low Power interface handshaking during Power Down Entry/Exit. - 0 - Disabled - 1 - Enabled |
| PSU_DDRC_DFILPCFG0_DFI_LP_EN_PD 0x1 |
| |
| DFI Low Power Configuration Register 0 |
| (OFFSET, MASK, VALUE) (0XFD070198, 0x0FF1F1F1U ,0x07000141U) |
| RegMask = (DDRC_DFILPCFG0_DFI_TLP_RESP_MASK | DDRC_DFILPCFG0_DFI_LP_WAKEUP_DPD_MASK | DDRC_DFILPCFG0_DFI_LP_EN_DPD_MASK | DDRC_DFILPCFG0_DFI_LP_WAKEUP_SR_MASK | DDRC_DFILPCFG0_DFI_LP_EN_SR_MASK | DDRC_DFILPCFG0_DFI_LP_WAKEUP_PD_MASK | DDRC_DFILPCFG0_DFI_LP_EN_PD_MASK | 0 ); |
| |
| RegVal = ((0x00000007U << DDRC_DFILPCFG0_DFI_TLP_RESP_SHIFT |
| | 0x00000000U << DDRC_DFILPCFG0_DFI_LP_WAKEUP_DPD_SHIFT |
| | 0x00000000U << DDRC_DFILPCFG0_DFI_LP_EN_DPD_SHIFT |
| | 0x00000000U << DDRC_DFILPCFG0_DFI_LP_WAKEUP_SR_SHIFT |
| | 0x00000001U << DDRC_DFILPCFG0_DFI_LP_EN_SR_SHIFT |
| | 0x00000004U << DDRC_DFILPCFG0_DFI_LP_WAKEUP_PD_SHIFT |
| | 0x00000001U << DDRC_DFILPCFG0_DFI_LP_EN_PD_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDRC_DFILPCFG0_OFFSET ,0x0FF1F1F1U ,0x07000141U); |
| /*############################################################################################################################ */ |
| |
| /*Register : DFILPCFG1 @ 0XFD07019C</p> |
| |
| 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. |
| PSU_DDRC_DFILPCFG1_DFI_LP_WAKEUP_MPSM 0x2 |
| |
| 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. |
| PSU_DDRC_DFILPCFG1_DFI_LP_EN_MPSM 0x1 |
| |
| DFI Low Power Configuration Register 1 |
| (OFFSET, MASK, VALUE) (0XFD07019C, 0x000000F1U ,0x00000021U) |
| RegMask = (DDRC_DFILPCFG1_DFI_LP_WAKEUP_MPSM_MASK | DDRC_DFILPCFG1_DFI_LP_EN_MPSM_MASK | 0 ); |
| |
| RegVal = ((0x00000002U << DDRC_DFILPCFG1_DFI_LP_WAKEUP_MPSM_SHIFT |
| | 0x00000001U << DDRC_DFILPCFG1_DFI_LP_EN_MPSM_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDRC_DFILPCFG1_OFFSET ,0x000000F1U ,0x00000021U); |
| /*############################################################################################################################ */ |
| |
| /*Register : DFIUPD1 @ 0XFD0701A4</p> |
| |
| 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 |
| PSU_DDRC_DFIUPD1_DFI_T_CTRLUPD_INTERVAL_MIN_X1024 0x41 |
| |
| 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 |
| PSU_DDRC_DFIUPD1_DFI_T_CTRLUPD_INTERVAL_MAX_X1024 0xe2 |
| |
| DFI Update Register 1 |
| (OFFSET, MASK, VALUE) (0XFD0701A4, 0x00FF00FFU ,0x004100E2U) |
| RegMask = (DDRC_DFIUPD1_DFI_T_CTRLUPD_INTERVAL_MIN_X1024_MASK | DDRC_DFIUPD1_DFI_T_CTRLUPD_INTERVAL_MAX_X1024_MASK | 0 ); |
| |
| RegVal = ((0x00000041U << DDRC_DFIUPD1_DFI_T_CTRLUPD_INTERVAL_MIN_X1024_SHIFT |
| | 0x000000E2U << DDRC_DFIUPD1_DFI_T_CTRLUPD_INTERVAL_MAX_X1024_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDRC_DFIUPD1_OFFSET ,0x00FF00FFU ,0x004100E2U); |
| /*############################################################################################################################ */ |
| |
| /*Register : DFIMISC @ 0XFD0701B0</p> |
| |
| Defines polarity of dfi_wrdata_cs and dfi_rddata_cs signals. - 0: Signals are active low - 1: Signals are active high |
| PSU_DDRC_DFIMISC_DFI_DATA_CS_POLARITY 0x0 |
| |
| 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. |
| PSU_DDRC_DFIMISC_PHY_DBI_MODE 0x0 |
| |
| PHY initialization complete enable signal. When asserted the dfi_init_complete signal can be used to trigger SDRAM initialisa |
| ion |
| PSU_DDRC_DFIMISC_DFI_INIT_COMPLETE_EN 0x0 |
| |
| DFI Miscellaneous Control Register |
| (OFFSET, MASK, VALUE) (0XFD0701B0, 0x00000007U ,0x00000000U) |
| RegMask = (DDRC_DFIMISC_DFI_DATA_CS_POLARITY_MASK | DDRC_DFIMISC_PHY_DBI_MODE_MASK | DDRC_DFIMISC_DFI_INIT_COMPLETE_EN_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDRC_DFIMISC_DFI_DATA_CS_POLARITY_SHIFT |
| | 0x00000000U << DDRC_DFIMISC_PHY_DBI_MODE_SHIFT |
| | 0x00000000U << DDRC_DFIMISC_DFI_INIT_COMPLETE_EN_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDRC_DFIMISC_OFFSET ,0x00000007U ,0x00000000U); |
| /*############################################################################################################################ */ |
| |
| /*Register : DFITMG2 @ 0XFD0701B4</p> |
| |
| >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. |
| PSU_DDRC_DFITMG2_DFI_TPHY_RDCSLAT 0x9 |
| |
| 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. |
| PSU_DDRC_DFITMG2_DFI_TPHY_WRCSLAT 0x6 |
| |
| DFI Timing Register 2 |
| (OFFSET, MASK, VALUE) (0XFD0701B4, 0x00003F3FU ,0x00000906U) |
| RegMask = (DDRC_DFITMG2_DFI_TPHY_RDCSLAT_MASK | DDRC_DFITMG2_DFI_TPHY_WRCSLAT_MASK | 0 ); |
| |
| RegVal = ((0x00000009U << DDRC_DFITMG2_DFI_TPHY_RDCSLAT_SHIFT |
| | 0x00000006U << DDRC_DFITMG2_DFI_TPHY_WRCSLAT_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDRC_DFITMG2_OFFSET ,0x00003F3FU ,0x00000906U); |
| /*############################################################################################################################ */ |
| |
| /*Register : DBICTL @ 0XFD0701C0</p> |
| |
| 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] |
| PSU_DDRC_DBICTL_RD_DBI_EN 0x0 |
| |
| 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] |
| PSU_DDRC_DBICTL_WR_DBI_EN 0x0 |
| |
| 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 |
| PSU_DDRC_DBICTL_DM_EN 0x1 |
| |
| DM/DBI Control Register |
| (OFFSET, MASK, VALUE) (0XFD0701C0, 0x00000007U ,0x00000001U) |
| RegMask = (DDRC_DBICTL_RD_DBI_EN_MASK | DDRC_DBICTL_WR_DBI_EN_MASK | DDRC_DBICTL_DM_EN_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDRC_DBICTL_RD_DBI_EN_SHIFT |
| | 0x00000000U << DDRC_DBICTL_WR_DBI_EN_SHIFT |
| | 0x00000001U << DDRC_DBICTL_DM_EN_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDRC_DBICTL_OFFSET ,0x00000007U ,0x00000001U); |
| /*############################################################################################################################ */ |
| |
| /*Register : ADDRMAP0 @ 0XFD070200</p> |
| |
| 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. |
| PSU_DDRC_ADDRMAP0_ADDRMAP_CS_BIT0 0x1f |
| |
| Address Map Register 0 |
| (OFFSET, MASK, VALUE) (0XFD070200, 0x0000001FU ,0x0000001FU) |
| RegMask = (DDRC_ADDRMAP0_ADDRMAP_CS_BIT0_MASK | 0 ); |
| |
| RegVal = ((0x0000001FU << DDRC_ADDRMAP0_ADDRMAP_CS_BIT0_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDRC_ADDRMAP0_OFFSET ,0x0000001FU ,0x0000001FU); |
| /*############################################################################################################################ */ |
| |
| /*Register : ADDRMAP1 @ 0XFD070204</p> |
| |
| 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. |
| PSU_DDRC_ADDRMAP1_ADDRMAP_BANK_B2 0x1f |
| |
| 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. |
| PSU_DDRC_ADDRMAP1_ADDRMAP_BANK_B1 0xa |
| |
| 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. |
| PSU_DDRC_ADDRMAP1_ADDRMAP_BANK_B0 0xa |
| |
| Address Map Register 1 |
| (OFFSET, MASK, VALUE) (0XFD070204, 0x001F1F1FU ,0x001F0A0AU) |
| RegMask = (DDRC_ADDRMAP1_ADDRMAP_BANK_B2_MASK | DDRC_ADDRMAP1_ADDRMAP_BANK_B1_MASK | DDRC_ADDRMAP1_ADDRMAP_BANK_B0_MASK | 0 ); |
| |
| RegVal = ((0x0000001FU << DDRC_ADDRMAP1_ADDRMAP_BANK_B2_SHIFT |
| | 0x0000000AU << DDRC_ADDRMAP1_ADDRMAP_BANK_B1_SHIFT |
| | 0x0000000AU << DDRC_ADDRMAP1_ADDRMAP_BANK_B0_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDRC_ADDRMAP1_OFFSET ,0x001F1F1FU ,0x001F0A0AU); |
| /*############################################################################################################################ */ |
| |
| /*Register : ADDRMAP2 @ 0XFD070208</p> |
| |
| - 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. |
| PSU_DDRC_ADDRMAP2_ADDRMAP_COL_B5 0x0 |
| |
| - 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. |
| PSU_DDRC_ADDRMAP2_ADDRMAP_COL_B4 0x0 |
| |
| - 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. |
| PSU_DDRC_ADDRMAP2_ADDRMAP_COL_B3 0x0 |
| |
| - 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. |
| PSU_DDRC_ADDRMAP2_ADDRMAP_COL_B2 0x0 |
| |
| Address Map Register 2 |
| (OFFSET, MASK, VALUE) (0XFD070208, 0x0F0F0F0FU ,0x00000000U) |
| RegMask = (DDRC_ADDRMAP2_ADDRMAP_COL_B5_MASK | DDRC_ADDRMAP2_ADDRMAP_COL_B4_MASK | DDRC_ADDRMAP2_ADDRMAP_COL_B3_MASK | DDRC_ADDRMAP2_ADDRMAP_COL_B2_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDRC_ADDRMAP2_ADDRMAP_COL_B5_SHIFT |
| | 0x00000000U << DDRC_ADDRMAP2_ADDRMAP_COL_B4_SHIFT |
| | 0x00000000U << DDRC_ADDRMAP2_ADDRMAP_COL_B3_SHIFT |
| | 0x00000000U << DDRC_ADDRMAP2_ADDRMAP_COL_B2_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDRC_ADDRMAP2_OFFSET ,0x0F0F0F0FU ,0x00000000U); |
| /*############################################################################################################################ */ |
| |
| /*Register : ADDRMAP3 @ 0XFD07020C</p> |
| |
| - 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. |
| PSU_DDRC_ADDRMAP3_ADDRMAP_COL_B9 0x0 |
| |
| - 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 |
| . |
| PSU_DDRC_ADDRMAP3_ADDRMAP_COL_B8 0x0 |
| |
| - 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. |
| PSU_DDRC_ADDRMAP3_ADDRMAP_COL_B7 0x0 |
| |
| - 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. |
| PSU_DDRC_ADDRMAP3_ADDRMAP_COL_B6 0x0 |
| |
| Address Map Register 3 |
| (OFFSET, MASK, VALUE) (0XFD07020C, 0x0F0F0F0FU ,0x00000000U) |
| RegMask = (DDRC_ADDRMAP3_ADDRMAP_COL_B9_MASK | DDRC_ADDRMAP3_ADDRMAP_COL_B8_MASK | DDRC_ADDRMAP3_ADDRMAP_COL_B7_MASK | DDRC_ADDRMAP3_ADDRMAP_COL_B6_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDRC_ADDRMAP3_ADDRMAP_COL_B9_SHIFT |
| | 0x00000000U << DDRC_ADDRMAP3_ADDRMAP_COL_B8_SHIFT |
| | 0x00000000U << DDRC_ADDRMAP3_ADDRMAP_COL_B7_SHIFT |
| | 0x00000000U << DDRC_ADDRMAP3_ADDRMAP_COL_B6_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDRC_ADDRMAP3_OFFSET ,0x0F0F0F0FU ,0x00000000U); |
| /*############################################################################################################################ */ |
| |
| /*Register : ADDRMAP4 @ 0XFD070210</p> |
| |
| - 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. |
| PSU_DDRC_ADDRMAP4_ADDRMAP_COL_B11 0xf |
| |
| - 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. |
| PSU_DDRC_ADDRMAP4_ADDRMAP_COL_B10 0xf |
| |
| Address Map Register 4 |
| (OFFSET, MASK, VALUE) (0XFD070210, 0x00000F0FU ,0x00000F0FU) |
| RegMask = (DDRC_ADDRMAP4_ADDRMAP_COL_B11_MASK | DDRC_ADDRMAP4_ADDRMAP_COL_B10_MASK | 0 ); |
| |
| RegVal = ((0x0000000FU << DDRC_ADDRMAP4_ADDRMAP_COL_B11_SHIFT |
| | 0x0000000FU << DDRC_ADDRMAP4_ADDRMAP_COL_B10_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDRC_ADDRMAP4_OFFSET ,0x00000F0FU ,0x00000F0FU); |
| /*############################################################################################################################ */ |
| |
| /*Register : ADDRMAP5 @ 0XFD070214</p> |
| |
| 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. |
| PSU_DDRC_ADDRMAP5_ADDRMAP_ROW_B11 0x8 |
| |
| 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. |
| PSU_DDRC_ADDRMAP5_ADDRMAP_ROW_B2_10 0xf |
| |
| 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. |
| PSU_DDRC_ADDRMAP5_ADDRMAP_ROW_B1 0x8 |
| |
| 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. |
| PSU_DDRC_ADDRMAP5_ADDRMAP_ROW_B0 0x8 |
| |
| Address Map Register 5 |
| (OFFSET, MASK, VALUE) (0XFD070214, 0x0F0F0F0FU ,0x080F0808U) |
| RegMask = (DDRC_ADDRMAP5_ADDRMAP_ROW_B11_MASK | DDRC_ADDRMAP5_ADDRMAP_ROW_B2_10_MASK | DDRC_ADDRMAP5_ADDRMAP_ROW_B1_MASK | DDRC_ADDRMAP5_ADDRMAP_ROW_B0_MASK | 0 ); |
| |
| RegVal = ((0x00000008U << DDRC_ADDRMAP5_ADDRMAP_ROW_B11_SHIFT |
| | 0x0000000FU << DDRC_ADDRMAP5_ADDRMAP_ROW_B2_10_SHIFT |
| | 0x00000008U << DDRC_ADDRMAP5_ADDRMAP_ROW_B1_SHIFT |
| | 0x00000008U << DDRC_ADDRMAP5_ADDRMAP_ROW_B0_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDRC_ADDRMAP5_OFFSET ,0x0F0F0F0FU ,0x080F0808U); |
| /*############################################################################################################################ */ |
| |
| /*Register : ADDRMAP6 @ 0XFD070218</p> |
| |
| 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. |
| PSU_DDRC_ADDRMAP6_LPDDR3_6GB_12GB 0x0 |
| |
| 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. |
| PSU_DDRC_ADDRMAP6_ADDRMAP_ROW_B15 0xf |
| |
| 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. |
| PSU_DDRC_ADDRMAP6_ADDRMAP_ROW_B14 0x8 |
| |
| 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. |
| PSU_DDRC_ADDRMAP6_ADDRMAP_ROW_B13 0x8 |
| |
| 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. |
| PSU_DDRC_ADDRMAP6_ADDRMAP_ROW_B12 0x8 |
| |
| Address Map Register 6 |
| (OFFSET, MASK, VALUE) (0XFD070218, 0x8F0F0F0FU ,0x0F080808U) |
| RegMask = (DDRC_ADDRMAP6_LPDDR3_6GB_12GB_MASK | DDRC_ADDRMAP6_ADDRMAP_ROW_B15_MASK | DDRC_ADDRMAP6_ADDRMAP_ROW_B14_MASK | DDRC_ADDRMAP6_ADDRMAP_ROW_B13_MASK | DDRC_ADDRMAP6_ADDRMAP_ROW_B12_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDRC_ADDRMAP6_LPDDR3_6GB_12GB_SHIFT |
| | 0x0000000FU << DDRC_ADDRMAP6_ADDRMAP_ROW_B15_SHIFT |
| | 0x00000008U << DDRC_ADDRMAP6_ADDRMAP_ROW_B14_SHIFT |
| | 0x00000008U << DDRC_ADDRMAP6_ADDRMAP_ROW_B13_SHIFT |
| | 0x00000008U << DDRC_ADDRMAP6_ADDRMAP_ROW_B12_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDRC_ADDRMAP6_OFFSET ,0x8F0F0F0FU ,0x0F080808U); |
| /*############################################################################################################################ */ |
| |
| /*Register : ADDRMAP7 @ 0XFD07021C</p> |
| |
| 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. |
| PSU_DDRC_ADDRMAP7_ADDRMAP_ROW_B17 0xf |
| |
| 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. |
| PSU_DDRC_ADDRMAP7_ADDRMAP_ROW_B16 0xf |
| |
| Address Map Register 7 |
| (OFFSET, MASK, VALUE) (0XFD07021C, 0x00000F0FU ,0x00000F0FU) |
| RegMask = (DDRC_ADDRMAP7_ADDRMAP_ROW_B17_MASK | DDRC_ADDRMAP7_ADDRMAP_ROW_B16_MASK | 0 ); |
| |
| RegVal = ((0x0000000FU << DDRC_ADDRMAP7_ADDRMAP_ROW_B17_SHIFT |
| | 0x0000000FU << DDRC_ADDRMAP7_ADDRMAP_ROW_B16_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDRC_ADDRMAP7_OFFSET ,0x00000F0FU ,0x00000F0FU); |
| /*############################################################################################################################ */ |
| |
| /*Register : ADDRMAP8 @ 0XFD070220</p> |
| |
| 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. |
| PSU_DDRC_ADDRMAP8_ADDRMAP_BG_B1 0x8 |
| |
| 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. |
| PSU_DDRC_ADDRMAP8_ADDRMAP_BG_B0 0x8 |
| |
| Address Map Register 8 |
| (OFFSET, MASK, VALUE) (0XFD070220, 0x00001F1FU ,0x00000808U) |
| RegMask = (DDRC_ADDRMAP8_ADDRMAP_BG_B1_MASK | DDRC_ADDRMAP8_ADDRMAP_BG_B0_MASK | 0 ); |
| |
| RegVal = ((0x00000008U << DDRC_ADDRMAP8_ADDRMAP_BG_B1_SHIFT |
| | 0x00000008U << DDRC_ADDRMAP8_ADDRMAP_BG_B0_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDRC_ADDRMAP8_OFFSET ,0x00001F1FU ,0x00000808U); |
| /*############################################################################################################################ */ |
| |
| /*Register : ADDRMAP9 @ 0XFD070224</p> |
| |
| 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. |
| PSU_DDRC_ADDRMAP9_ADDRMAP_ROW_B5 0x8 |
| |
| 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. |
| PSU_DDRC_ADDRMAP9_ADDRMAP_ROW_B4 0x8 |
| |
| 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. |
| PSU_DDRC_ADDRMAP9_ADDRMAP_ROW_B3 0x8 |
| |
| 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. |
| PSU_DDRC_ADDRMAP9_ADDRMAP_ROW_B2 0x8 |
| |
| Address Map Register 9 |
| (OFFSET, MASK, VALUE) (0XFD070224, 0x0F0F0F0FU ,0x08080808U) |
| RegMask = (DDRC_ADDRMAP9_ADDRMAP_ROW_B5_MASK | DDRC_ADDRMAP9_ADDRMAP_ROW_B4_MASK | DDRC_ADDRMAP9_ADDRMAP_ROW_B3_MASK | DDRC_ADDRMAP9_ADDRMAP_ROW_B2_MASK | 0 ); |
| |
| RegVal = ((0x00000008U << DDRC_ADDRMAP9_ADDRMAP_ROW_B5_SHIFT |
| | 0x00000008U << DDRC_ADDRMAP9_ADDRMAP_ROW_B4_SHIFT |
| | 0x00000008U << DDRC_ADDRMAP9_ADDRMAP_ROW_B3_SHIFT |
| | 0x00000008U << DDRC_ADDRMAP9_ADDRMAP_ROW_B2_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDRC_ADDRMAP9_OFFSET ,0x0F0F0F0FU ,0x08080808U); |
| /*############################################################################################################################ */ |
| |
| /*Register : ADDRMAP10 @ 0XFD070228</p> |
| |
| 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. |
| PSU_DDRC_ADDRMAP10_ADDRMAP_ROW_B9 0x8 |
| |
| 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. |
| PSU_DDRC_ADDRMAP10_ADDRMAP_ROW_B8 0x8 |
| |
| 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. |
| PSU_DDRC_ADDRMAP10_ADDRMAP_ROW_B7 0x8 |
| |
| 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. |
| PSU_DDRC_ADDRMAP10_ADDRMAP_ROW_B6 0x8 |
| |
| Address Map Register 10 |
| (OFFSET, MASK, VALUE) (0XFD070228, 0x0F0F0F0FU ,0x08080808U) |
| RegMask = (DDRC_ADDRMAP10_ADDRMAP_ROW_B9_MASK | DDRC_ADDRMAP10_ADDRMAP_ROW_B8_MASK | DDRC_ADDRMAP10_ADDRMAP_ROW_B7_MASK | DDRC_ADDRMAP10_ADDRMAP_ROW_B6_MASK | 0 ); |
| |
| RegVal = ((0x00000008U << DDRC_ADDRMAP10_ADDRMAP_ROW_B9_SHIFT |
| | 0x00000008U << DDRC_ADDRMAP10_ADDRMAP_ROW_B8_SHIFT |
| | 0x00000008U << DDRC_ADDRMAP10_ADDRMAP_ROW_B7_SHIFT |
| | 0x00000008U << DDRC_ADDRMAP10_ADDRMAP_ROW_B6_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDRC_ADDRMAP10_OFFSET ,0x0F0F0F0FU ,0x08080808U); |
| /*############################################################################################################################ */ |
| |
| /*Register : ADDRMAP11 @ 0XFD07022C</p> |
| |
| 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. |
| PSU_DDRC_ADDRMAP11_ADDRMAP_ROW_B10 0x8 |
| |
| Address Map Register 11 |
| (OFFSET, MASK, VALUE) (0XFD07022C, 0x0000000FU ,0x00000008U) |
| RegMask = (DDRC_ADDRMAP11_ADDRMAP_ROW_B10_MASK | 0 ); |
| |
| RegVal = ((0x00000008U << DDRC_ADDRMAP11_ADDRMAP_ROW_B10_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDRC_ADDRMAP11_OFFSET ,0x0000000FU ,0x00000008U); |
| /*############################################################################################################################ */ |
| |
| /*Register : ODTCFG @ 0XFD070240</p> |
| |
| 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) |
| PSU_DDRC_ODTCFG_WR_ODT_HOLD 0x6 |
| |
| 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)) |
| PSU_DDRC_ODTCFG_WR_ODT_DELAY 0x0 |
| |
| 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 |
| ) |
| PSU_DDRC_ODTCFG_RD_ODT_HOLD 0x6 |
| |
| 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) |
| PSU_DDRC_ODTCFG_RD_ODT_DELAY 0x0 |
| |
| ODT Configuration Register |
| (OFFSET, MASK, VALUE) (0XFD070240, 0x0F1F0F7CU ,0x06000600U) |
| RegMask = (DDRC_ODTCFG_WR_ODT_HOLD_MASK | DDRC_ODTCFG_WR_ODT_DELAY_MASK | DDRC_ODTCFG_RD_ODT_HOLD_MASK | DDRC_ODTCFG_RD_ODT_DELAY_MASK | 0 ); |
| |
| RegVal = ((0x00000006U << DDRC_ODTCFG_WR_ODT_HOLD_SHIFT |
| | 0x00000000U << DDRC_ODTCFG_WR_ODT_DELAY_SHIFT |
| | 0x00000006U << DDRC_ODTCFG_RD_ODT_HOLD_SHIFT |
| | 0x00000000U << DDRC_ODTCFG_RD_ODT_DELAY_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDRC_ODTCFG_OFFSET ,0x0F1F0F7CU ,0x06000600U); |
| /*############################################################################################################################ */ |
| |
| /*Register : ODTMAP @ 0XFD070244</p> |
| |
| 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 |
| PSU_DDRC_ODTMAP_RANK1_RD_ODT 0x0 |
| |
| 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 |
| PSU_DDRC_ODTMAP_RANK1_WR_ODT 0x0 |
| |
| 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. |
| PSU_DDRC_ODTMAP_RANK0_RD_ODT 0x0 |
| |
| 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. |
| PSU_DDRC_ODTMAP_RANK0_WR_ODT 0x1 |
| |
| ODT/Rank Map Register |
| (OFFSET, MASK, VALUE) (0XFD070244, 0x00003333U ,0x00000001U) |
| RegMask = (DDRC_ODTMAP_RANK1_RD_ODT_MASK | DDRC_ODTMAP_RANK1_WR_ODT_MASK | DDRC_ODTMAP_RANK0_RD_ODT_MASK | DDRC_ODTMAP_RANK0_WR_ODT_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDRC_ODTMAP_RANK1_RD_ODT_SHIFT |
| | 0x00000000U << DDRC_ODTMAP_RANK1_WR_ODT_SHIFT |
| | 0x00000000U << DDRC_ODTMAP_RANK0_RD_ODT_SHIFT |
| | 0x00000001U << DDRC_ODTMAP_RANK0_WR_ODT_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDRC_ODTMAP_OFFSET ,0x00003333U ,0x00000001U); |
| /*############################################################################################################################ */ |
| |
| /*Register : SCHED @ 0XFD070250</p> |
| |
| 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 |
| PSU_DDRC_SCHED_RDWR_IDLE_GAP 0x1 |
| |
| UNUSED |
| PSU_DDRC_SCHED_GO2CRITICAL_HYSTERESIS 0x0 |
| |
| 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. |
| PSU_DDRC_SCHED_LPR_NUM_ENTRIES 0x20 |
| |
| 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. |
| PSU_DDRC_SCHED_PAGECLOSE 0x0 |
| |
| If set then the bank selector prefers writes over reads. FOR DEBUG ONLY. |
| PSU_DDRC_SCHED_PREFER_WRITE 0x0 |
| |
| 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. |
| PSU_DDRC_SCHED_FORCE_LOW_PRI_N 0x1 |
| |
| Scheduler Control Register |
| (OFFSET, MASK, VALUE) (0XFD070250, 0x7FFF3F07U ,0x01002001U) |
| RegMask = (DDRC_SCHED_RDWR_IDLE_GAP_MASK | DDRC_SCHED_GO2CRITICAL_HYSTERESIS_MASK | DDRC_SCHED_LPR_NUM_ENTRIES_MASK | DDRC_SCHED_PAGECLOSE_MASK | DDRC_SCHED_PREFER_WRITE_MASK | DDRC_SCHED_FORCE_LOW_PRI_N_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << DDRC_SCHED_RDWR_IDLE_GAP_SHIFT |
| | 0x00000000U << DDRC_SCHED_GO2CRITICAL_HYSTERESIS_SHIFT |
| | 0x00000020U << DDRC_SCHED_LPR_NUM_ENTRIES_SHIFT |
| | 0x00000000U << DDRC_SCHED_PAGECLOSE_SHIFT |
| | 0x00000000U << DDRC_SCHED_PREFER_WRITE_SHIFT |
| | 0x00000001U << DDRC_SCHED_FORCE_LOW_PRI_N_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDRC_SCHED_OFFSET ,0x7FFF3F07U ,0x01002001U); |
| /*############################################################################################################################ */ |
| |
| /*Register : PERFLPR1 @ 0XFD070264</p> |
| |
| 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. |
| PSU_DDRC_PERFLPR1_LPR_XACT_RUN_LENGTH 0x8 |
| |
| 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. |
| PSU_DDRC_PERFLPR1_LPR_MAX_STARVE 0x40 |
| |
| Low Priority Read CAM Register 1 |
| (OFFSET, MASK, VALUE) (0XFD070264, 0xFF00FFFFU ,0x08000040U) |
| RegMask = (DDRC_PERFLPR1_LPR_XACT_RUN_LENGTH_MASK | DDRC_PERFLPR1_LPR_MAX_STARVE_MASK | 0 ); |
| |
| RegVal = ((0x00000008U << DDRC_PERFLPR1_LPR_XACT_RUN_LENGTH_SHIFT |
| | 0x00000040U << DDRC_PERFLPR1_LPR_MAX_STARVE_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDRC_PERFLPR1_OFFSET ,0xFF00FFFFU ,0x08000040U); |
| /*############################################################################################################################ */ |
| |
| /*Register : PERFWR1 @ 0XFD07026C</p> |
| |
| 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. |
| PSU_DDRC_PERFWR1_W_XACT_RUN_LENGTH 0x8 |
| |
| 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. |
| PSU_DDRC_PERFWR1_W_MAX_STARVE 0x40 |
| |
| Write CAM Register 1 |
| (OFFSET, MASK, VALUE) (0XFD07026C, 0xFF00FFFFU ,0x08000040U) |
| RegMask = (DDRC_PERFWR1_W_XACT_RUN_LENGTH_MASK | DDRC_PERFWR1_W_MAX_STARVE_MASK | 0 ); |
| |
| RegVal = ((0x00000008U << DDRC_PERFWR1_W_XACT_RUN_LENGTH_SHIFT |
| | 0x00000040U << DDRC_PERFWR1_W_MAX_STARVE_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDRC_PERFWR1_OFFSET ,0xFF00FFFFU ,0x08000040U); |
| /*############################################################################################################################ */ |
| |
| /*Register : DQMAP5 @ 0XFD070294</p> |
| |
| 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. |
| PSU_DDRC_DQMAP5_DIS_DQ_RANK_SWAP 0x1 |
| |
| DQ Map Register 5 |
| (OFFSET, MASK, VALUE) (0XFD070294, 0x00000001U ,0x00000001U) |
| RegMask = (DDRC_DQMAP5_DIS_DQ_RANK_SWAP_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << DDRC_DQMAP5_DIS_DQ_RANK_SWAP_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDRC_DQMAP5_OFFSET ,0x00000001U ,0x00000001U); |
| /*############################################################################################################################ */ |
| |
| /*Register : DBG0 @ 0XFD070300</p> |
| |
| 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. |
| PSU_DDRC_DBG0_DIS_COLLISION_PAGE_OPT 0x0 |
| |
| When 1, disable write combine. FOR DEBUG ONLY |
| PSU_DDRC_DBG0_DIS_WC 0x0 |
| |
| Debug Register 0 |
| (OFFSET, MASK, VALUE) (0XFD070300, 0x00000011U ,0x00000000U) |
| RegMask = (DDRC_DBG0_DIS_COLLISION_PAGE_OPT_MASK | DDRC_DBG0_DIS_WC_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDRC_DBG0_DIS_COLLISION_PAGE_OPT_SHIFT |
| | 0x00000000U << DDRC_DBG0_DIS_WC_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDRC_DBG0_OFFSET ,0x00000011U ,0x00000000U); |
| /*############################################################################################################################ */ |
| |
| /*Register : DBGCMD @ 0XFD07030C</p> |
| |
| 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). |
| PSU_DDRC_DBGCMD_HW_REF_ZQ_EN 0x0 |
| |
| 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. |
| PSU_DDRC_DBGCMD_CTRLUPD 0x0 |
| |
| 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. |
| PSU_DDRC_DBGCMD_ZQ_CALIB_SHORT 0x0 |
| |
| 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. |
| PSU_DDRC_DBGCMD_RANK1_REFRESH 0x0 |
| |
| 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. |
| PSU_DDRC_DBGCMD_RANK0_REFRESH 0x0 |
| |
| Command Debug Register |
| (OFFSET, MASK, VALUE) (0XFD07030C, 0x80000033U ,0x00000000U) |
| RegMask = (DDRC_DBGCMD_HW_REF_ZQ_EN_MASK | DDRC_DBGCMD_CTRLUPD_MASK | DDRC_DBGCMD_ZQ_CALIB_SHORT_MASK | DDRC_DBGCMD_RANK1_REFRESH_MASK | DDRC_DBGCMD_RANK0_REFRESH_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDRC_DBGCMD_HW_REF_ZQ_EN_SHIFT |
| | 0x00000000U << DDRC_DBGCMD_CTRLUPD_SHIFT |
| | 0x00000000U << DDRC_DBGCMD_ZQ_CALIB_SHORT_SHIFT |
| | 0x00000000U << DDRC_DBGCMD_RANK1_REFRESH_SHIFT |
| | 0x00000000U << DDRC_DBGCMD_RANK0_REFRESH_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDRC_DBGCMD_OFFSET ,0x80000033U ,0x00000000U); |
| /*############################################################################################################################ */ |
| |
| /*Register : SWCTL @ 0XFD070320</p> |
| |
| 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. |
| PSU_DDRC_SWCTL_SW_DONE 0x0 |
| |
| Software register programming control enable |
| (OFFSET, MASK, VALUE) (0XFD070320, 0x00000001U ,0x00000000U) |
| RegMask = (DDRC_SWCTL_SW_DONE_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDRC_SWCTL_SW_DONE_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDRC_SWCTL_OFFSET ,0x00000001U ,0x00000000U); |
| /*############################################################################################################################ */ |
| |
| /*Register : PCCFG @ 0XFD070400</p> |
| |
| 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 |
| PSU_DDRC_PCCFG_BL_EXP_MODE 0x0 |
| |
| 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. |
| PSU_DDRC_PCCFG_PAGEMATCH_LIMIT 0x0 |
| |
| 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. |
| PSU_DDRC_PCCFG_GO2CRITICAL_EN 0x1 |
| |
| Port Common Configuration Register |
| (OFFSET, MASK, VALUE) (0XFD070400, 0x00000111U ,0x00000001U) |
| RegMask = (DDRC_PCCFG_BL_EXP_MODE_MASK | DDRC_PCCFG_PAGEMATCH_LIMIT_MASK | DDRC_PCCFG_GO2CRITICAL_EN_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDRC_PCCFG_BL_EXP_MODE_SHIFT |
| | 0x00000000U << DDRC_PCCFG_PAGEMATCH_LIMIT_SHIFT |
| | 0x00000001U << DDRC_PCCFG_GO2CRITICAL_EN_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDRC_PCCFG_OFFSET ,0x00000111U ,0x00000001U); |
| /*############################################################################################################################ */ |
| |
| /*Register : PCFGR_0 @ 0XFD070404</p> |
| |
| 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. |
| PSU_DDRC_PCFGR_0_RD_PORT_PAGEMATCH_EN 0x0 |
| |
| 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). |
| PSU_DDRC_PCFGR_0_RD_PORT_URGENT_EN 0x1 |
| |
| If set to 1, enables aging function for the read channel of the port. |
| PSU_DDRC_PCFGR_0_RD_PORT_AGING_EN 0x0 |
| |
| 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. |
| PSU_DDRC_PCFGR_0_RD_PORT_PRIORITY 0xf |
| |
| Port n Configuration Read Register |
| (OFFSET, MASK, VALUE) (0XFD070404, 0x000073FFU ,0x0000200FU) |
| RegMask = (DDRC_PCFGR_0_RD_PORT_PAGEMATCH_EN_MASK | DDRC_PCFGR_0_RD_PORT_URGENT_EN_MASK | DDRC_PCFGR_0_RD_PORT_AGING_EN_MASK | DDRC_PCFGR_0_RD_PORT_PRIORITY_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDRC_PCFGR_0_RD_PORT_PAGEMATCH_EN_SHIFT |
| | 0x00000001U << DDRC_PCFGR_0_RD_PORT_URGENT_EN_SHIFT |
| | 0x00000000U << DDRC_PCFGR_0_RD_PORT_AGING_EN_SHIFT |
| | 0x0000000FU << DDRC_PCFGR_0_RD_PORT_PRIORITY_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDRC_PCFGR_0_OFFSET ,0x000073FFU ,0x0000200FU); |
| /*############################################################################################################################ */ |
| |
| /*Register : PCFGW_0 @ 0XFD070408</p> |
| |
| 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. |
| PSU_DDRC_PCFGW_0_WR_PORT_PAGEMATCH_EN 0x1 |
| |
| 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). |
| PSU_DDRC_PCFGW_0_WR_PORT_URGENT_EN 0x1 |
| |
| If set to 1, enables aging function for the write channel of the port. |
| PSU_DDRC_PCFGW_0_WR_PORT_AGING_EN 0x0 |
| |
| 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. |
| PSU_DDRC_PCFGW_0_WR_PORT_PRIORITY 0xf |
| |
| Port n Configuration Write Register |
| (OFFSET, MASK, VALUE) (0XFD070408, 0x000073FFU ,0x0000600FU) |
| RegMask = (DDRC_PCFGW_0_WR_PORT_PAGEMATCH_EN_MASK | DDRC_PCFGW_0_WR_PORT_URGENT_EN_MASK | DDRC_PCFGW_0_WR_PORT_AGING_EN_MASK | DDRC_PCFGW_0_WR_PORT_PRIORITY_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << DDRC_PCFGW_0_WR_PORT_PAGEMATCH_EN_SHIFT |
| | 0x00000001U << DDRC_PCFGW_0_WR_PORT_URGENT_EN_SHIFT |
| | 0x00000000U << DDRC_PCFGW_0_WR_PORT_AGING_EN_SHIFT |
| | 0x0000000FU << DDRC_PCFGW_0_WR_PORT_PRIORITY_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDRC_PCFGW_0_OFFSET ,0x000073FFU ,0x0000600FU); |
| /*############################################################################################################################ */ |
| |
| /*Register : PCTRL_0 @ 0XFD070490</p> |
| |
| Enables port n. |
| PSU_DDRC_PCTRL_0_PORT_EN 0x1 |
| |
| Port n Control Register |
| (OFFSET, MASK, VALUE) (0XFD070490, 0x00000001U ,0x00000001U) |
| RegMask = (DDRC_PCTRL_0_PORT_EN_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << DDRC_PCTRL_0_PORT_EN_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDRC_PCTRL_0_OFFSET ,0x00000001U ,0x00000001U); |
| /*############################################################################################################################ */ |
| |
| /*Register : PCFGQOS0_0 @ 0XFD070494</p> |
| |
| 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. |
| PSU_DDRC_PCFGQOS0_0_RQOS_MAP_REGION1 0x2 |
| |
| 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. |
| PSU_DDRC_PCFGQOS0_0_RQOS_MAP_REGION0 0x0 |
| |
| 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. |
| PSU_DDRC_PCFGQOS0_0_RQOS_MAP_LEVEL1 0xb |
| |
| Port n Read QoS Configuration Register 0 |
| (OFFSET, MASK, VALUE) (0XFD070494, 0x0033000FU ,0x0020000BU) |
| RegMask = (DDRC_PCFGQOS0_0_RQOS_MAP_REGION1_MASK | DDRC_PCFGQOS0_0_RQOS_MAP_REGION0_MASK | DDRC_PCFGQOS0_0_RQOS_MAP_LEVEL1_MASK | 0 ); |
| |
| RegVal = ((0x00000002U << DDRC_PCFGQOS0_0_RQOS_MAP_REGION1_SHIFT |
| | 0x00000000U << DDRC_PCFGQOS0_0_RQOS_MAP_REGION0_SHIFT |
| | 0x0000000BU << DDRC_PCFGQOS0_0_RQOS_MAP_LEVEL1_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDRC_PCFGQOS0_0_OFFSET ,0x0033000FU ,0x0020000BU); |
| /*############################################################################################################################ */ |
| |
| /*Register : PCFGQOS1_0 @ 0XFD070498</p> |
| |
| Specifies the timeout value for transactions mapped to the red address queue. |
| PSU_DDRC_PCFGQOS1_0_RQOS_MAP_TIMEOUTR 0x0 |
| |
| Specifies the timeout value for transactions mapped to the blue address queue. |
| PSU_DDRC_PCFGQOS1_0_RQOS_MAP_TIMEOUTB 0x0 |
| |
| Port n Read QoS Configuration Register 1 |
| (OFFSET, MASK, VALUE) (0XFD070498, 0x07FF07FFU ,0x00000000U) |
| RegMask = (DDRC_PCFGQOS1_0_RQOS_MAP_TIMEOUTR_MASK | DDRC_PCFGQOS1_0_RQOS_MAP_TIMEOUTB_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDRC_PCFGQOS1_0_RQOS_MAP_TIMEOUTR_SHIFT |
| | 0x00000000U << DDRC_PCFGQOS1_0_RQOS_MAP_TIMEOUTB_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDRC_PCFGQOS1_0_OFFSET ,0x07FF07FFU ,0x00000000U); |
| /*############################################################################################################################ */ |
| |
| /*Register : PCFGR_1 @ 0XFD0704B4</p> |
| |
| 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. |
| PSU_DDRC_PCFGR_1_RD_PORT_PAGEMATCH_EN 0x0 |
| |
| 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). |
| PSU_DDRC_PCFGR_1_RD_PORT_URGENT_EN 0x1 |
| |
| If set to 1, enables aging function for the read channel of the port. |
| PSU_DDRC_PCFGR_1_RD_PORT_AGING_EN 0x0 |
| |
| 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. |
| PSU_DDRC_PCFGR_1_RD_PORT_PRIORITY 0xf |
| |
| Port n Configuration Read Register |
| (OFFSET, MASK, VALUE) (0XFD0704B4, 0x000073FFU ,0x0000200FU) |
| RegMask = (DDRC_PCFGR_1_RD_PORT_PAGEMATCH_EN_MASK | DDRC_PCFGR_1_RD_PORT_URGENT_EN_MASK | DDRC_PCFGR_1_RD_PORT_AGING_EN_MASK | DDRC_PCFGR_1_RD_PORT_PRIORITY_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDRC_PCFGR_1_RD_PORT_PAGEMATCH_EN_SHIFT |
| | 0x00000001U << DDRC_PCFGR_1_RD_PORT_URGENT_EN_SHIFT |
| | 0x00000000U << DDRC_PCFGR_1_RD_PORT_AGING_EN_SHIFT |
| | 0x0000000FU << DDRC_PCFGR_1_RD_PORT_PRIORITY_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDRC_PCFGR_1_OFFSET ,0x000073FFU ,0x0000200FU); |
| /*############################################################################################################################ */ |
| |
| /*Register : PCFGW_1 @ 0XFD0704B8</p> |
| |
| 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. |
| PSU_DDRC_PCFGW_1_WR_PORT_PAGEMATCH_EN 0x1 |
| |
| 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). |
| PSU_DDRC_PCFGW_1_WR_PORT_URGENT_EN 0x1 |
| |
| If set to 1, enables aging function for the write channel of the port. |
| PSU_DDRC_PCFGW_1_WR_PORT_AGING_EN 0x0 |
| |
| 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. |
| PSU_DDRC_PCFGW_1_WR_PORT_PRIORITY 0xf |
| |
| Port n Configuration Write Register |
| (OFFSET, MASK, VALUE) (0XFD0704B8, 0x000073FFU ,0x0000600FU) |
| RegMask = (DDRC_PCFGW_1_WR_PORT_PAGEMATCH_EN_MASK | DDRC_PCFGW_1_WR_PORT_URGENT_EN_MASK | DDRC_PCFGW_1_WR_PORT_AGING_EN_MASK | DDRC_PCFGW_1_WR_PORT_PRIORITY_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << DDRC_PCFGW_1_WR_PORT_PAGEMATCH_EN_SHIFT |
| | 0x00000001U << DDRC_PCFGW_1_WR_PORT_URGENT_EN_SHIFT |
| | 0x00000000U << DDRC_PCFGW_1_WR_PORT_AGING_EN_SHIFT |
| | 0x0000000FU << DDRC_PCFGW_1_WR_PORT_PRIORITY_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDRC_PCFGW_1_OFFSET ,0x000073FFU ,0x0000600FU); |
| /*############################################################################################################################ */ |
| |
| /*Register : PCTRL_1 @ 0XFD070540</p> |
| |
| Enables port n. |
| PSU_DDRC_PCTRL_1_PORT_EN 0x1 |
| |
| Port n Control Register |
| (OFFSET, MASK, VALUE) (0XFD070540, 0x00000001U ,0x00000001U) |
| RegMask = (DDRC_PCTRL_1_PORT_EN_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << DDRC_PCTRL_1_PORT_EN_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDRC_PCTRL_1_OFFSET ,0x00000001U ,0x00000001U); |
| /*############################################################################################################################ */ |
| |
| /*Register : PCFGQOS0_1 @ 0XFD070544</p> |
| |
| 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. |
| PSU_DDRC_PCFGQOS0_1_RQOS_MAP_REGION2 0x2 |
| |
| 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. |
| PSU_DDRC_PCFGQOS0_1_RQOS_MAP_REGION1 0x0 |
| |
| 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. |
| PSU_DDRC_PCFGQOS0_1_RQOS_MAP_REGION0 0x0 |
| |
| 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. |
| PSU_DDRC_PCFGQOS0_1_RQOS_MAP_LEVEL2 0xb |
| |
| 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. |
| PSU_DDRC_PCFGQOS0_1_RQOS_MAP_LEVEL1 0x3 |
| |
| Port n Read QoS Configuration Register 0 |
| (OFFSET, MASK, VALUE) (0XFD070544, 0x03330F0FU ,0x02000B03U) |
| RegMask = (DDRC_PCFGQOS0_1_RQOS_MAP_REGION2_MASK | DDRC_PCFGQOS0_1_RQOS_MAP_REGION1_MASK | DDRC_PCFGQOS0_1_RQOS_MAP_REGION0_MASK | DDRC_PCFGQOS0_1_RQOS_MAP_LEVEL2_MASK | DDRC_PCFGQOS0_1_RQOS_MAP_LEVEL1_MASK | 0 ); |
| |
| RegVal = ((0x00000002U << DDRC_PCFGQOS0_1_RQOS_MAP_REGION2_SHIFT |
| | 0x00000000U << DDRC_PCFGQOS0_1_RQOS_MAP_REGION1_SHIFT |
| | 0x00000000U << DDRC_PCFGQOS0_1_RQOS_MAP_REGION0_SHIFT |
| | 0x0000000BU << DDRC_PCFGQOS0_1_RQOS_MAP_LEVEL2_SHIFT |
| | 0x00000003U << DDRC_PCFGQOS0_1_RQOS_MAP_LEVEL1_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDRC_PCFGQOS0_1_OFFSET ,0x03330F0FU ,0x02000B03U); |
| /*############################################################################################################################ */ |
| |
| /*Register : PCFGQOS1_1 @ 0XFD070548</p> |
| |
| Specifies the timeout value for transactions mapped to the red address queue. |
| PSU_DDRC_PCFGQOS1_1_RQOS_MAP_TIMEOUTR 0x0 |
| |
| Specifies the timeout value for transactions mapped to the blue address queue. |
| PSU_DDRC_PCFGQOS1_1_RQOS_MAP_TIMEOUTB 0x0 |
| |
| Port n Read QoS Configuration Register 1 |
| (OFFSET, MASK, VALUE) (0XFD070548, 0x07FF07FFU ,0x00000000U) |
| RegMask = (DDRC_PCFGQOS1_1_RQOS_MAP_TIMEOUTR_MASK | DDRC_PCFGQOS1_1_RQOS_MAP_TIMEOUTB_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDRC_PCFGQOS1_1_RQOS_MAP_TIMEOUTR_SHIFT |
| | 0x00000000U << DDRC_PCFGQOS1_1_RQOS_MAP_TIMEOUTB_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDRC_PCFGQOS1_1_OFFSET ,0x07FF07FFU ,0x00000000U); |
| /*############################################################################################################################ */ |
| |
| /*Register : PCFGR_2 @ 0XFD070564</p> |
| |
| 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. |
| PSU_DDRC_PCFGR_2_RD_PORT_PAGEMATCH_EN 0x0 |
| |
| 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). |
| PSU_DDRC_PCFGR_2_RD_PORT_URGENT_EN 0x1 |
| |
| If set to 1, enables aging function for the read channel of the port. |
| PSU_DDRC_PCFGR_2_RD_PORT_AGING_EN 0x0 |
| |
| 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. |
| PSU_DDRC_PCFGR_2_RD_PORT_PRIORITY 0xf |
| |
| Port n Configuration Read Register |
| (OFFSET, MASK, VALUE) (0XFD070564, 0x000073FFU ,0x0000200FU) |
| RegMask = (DDRC_PCFGR_2_RD_PORT_PAGEMATCH_EN_MASK | DDRC_PCFGR_2_RD_PORT_URGENT_EN_MASK | DDRC_PCFGR_2_RD_PORT_AGING_EN_MASK | DDRC_PCFGR_2_RD_PORT_PRIORITY_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDRC_PCFGR_2_RD_PORT_PAGEMATCH_EN_SHIFT |
| | 0x00000001U << DDRC_PCFGR_2_RD_PORT_URGENT_EN_SHIFT |
| | 0x00000000U << DDRC_PCFGR_2_RD_PORT_AGING_EN_SHIFT |
| | 0x0000000FU << DDRC_PCFGR_2_RD_PORT_PRIORITY_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDRC_PCFGR_2_OFFSET ,0x000073FFU ,0x0000200FU); |
| /*############################################################################################################################ */ |
| |
| /*Register : PCFGW_2 @ 0XFD070568</p> |
| |
| 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. |
| PSU_DDRC_PCFGW_2_WR_PORT_PAGEMATCH_EN 0x1 |
| |
| 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). |
| PSU_DDRC_PCFGW_2_WR_PORT_URGENT_EN 0x1 |
| |
| If set to 1, enables aging function for the write channel of the port. |
| PSU_DDRC_PCFGW_2_WR_PORT_AGING_EN 0x0 |
| |
| 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. |
| PSU_DDRC_PCFGW_2_WR_PORT_PRIORITY 0xf |
| |
| Port n Configuration Write Register |
| (OFFSET, MASK, VALUE) (0XFD070568, 0x000073FFU ,0x0000600FU) |
| RegMask = (DDRC_PCFGW_2_WR_PORT_PAGEMATCH_EN_MASK | DDRC_PCFGW_2_WR_PORT_URGENT_EN_MASK | DDRC_PCFGW_2_WR_PORT_AGING_EN_MASK | DDRC_PCFGW_2_WR_PORT_PRIORITY_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << DDRC_PCFGW_2_WR_PORT_PAGEMATCH_EN_SHIFT |
| | 0x00000001U << DDRC_PCFGW_2_WR_PORT_URGENT_EN_SHIFT |
| | 0x00000000U << DDRC_PCFGW_2_WR_PORT_AGING_EN_SHIFT |
| | 0x0000000FU << DDRC_PCFGW_2_WR_PORT_PRIORITY_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDRC_PCFGW_2_OFFSET ,0x000073FFU ,0x0000600FU); |
| /*############################################################################################################################ */ |
| |
| /*Register : PCTRL_2 @ 0XFD0705F0</p> |
| |
| Enables port n. |
| PSU_DDRC_PCTRL_2_PORT_EN 0x1 |
| |
| Port n Control Register |
| (OFFSET, MASK, VALUE) (0XFD0705F0, 0x00000001U ,0x00000001U) |
| RegMask = (DDRC_PCTRL_2_PORT_EN_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << DDRC_PCTRL_2_PORT_EN_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDRC_PCTRL_2_OFFSET ,0x00000001U ,0x00000001U); |
| /*############################################################################################################################ */ |
| |
| /*Register : PCFGQOS0_2 @ 0XFD0705F4</p> |
| |
| 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. |
| PSU_DDRC_PCFGQOS0_2_RQOS_MAP_REGION2 0x2 |
| |
| 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. |
| PSU_DDRC_PCFGQOS0_2_RQOS_MAP_REGION1 0x0 |
| |
| 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. |
| PSU_DDRC_PCFGQOS0_2_RQOS_MAP_REGION0 0x0 |
| |
| 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. |
| PSU_DDRC_PCFGQOS0_2_RQOS_MAP_LEVEL2 0xb |
| |
| 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. |
| PSU_DDRC_PCFGQOS0_2_RQOS_MAP_LEVEL1 0x3 |
| |
| Port n Read QoS Configuration Register 0 |
| (OFFSET, MASK, VALUE) (0XFD0705F4, 0x03330F0FU ,0x02000B03U) |
| RegMask = (DDRC_PCFGQOS0_2_RQOS_MAP_REGION2_MASK | DDRC_PCFGQOS0_2_RQOS_MAP_REGION1_MASK | DDRC_PCFGQOS0_2_RQOS_MAP_REGION0_MASK | DDRC_PCFGQOS0_2_RQOS_MAP_LEVEL2_MASK | DDRC_PCFGQOS0_2_RQOS_MAP_LEVEL1_MASK | 0 ); |
| |
| RegVal = ((0x00000002U << DDRC_PCFGQOS0_2_RQOS_MAP_REGION2_SHIFT |
| | 0x00000000U << DDRC_PCFGQOS0_2_RQOS_MAP_REGION1_SHIFT |
| | 0x00000000U << DDRC_PCFGQOS0_2_RQOS_MAP_REGION0_SHIFT |
| | 0x0000000BU << DDRC_PCFGQOS0_2_RQOS_MAP_LEVEL2_SHIFT |
| | 0x00000003U << DDRC_PCFGQOS0_2_RQOS_MAP_LEVEL1_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDRC_PCFGQOS0_2_OFFSET ,0x03330F0FU ,0x02000B03U); |
| /*############################################################################################################################ */ |
| |
| /*Register : PCFGQOS1_2 @ 0XFD0705F8</p> |
| |
| Specifies the timeout value for transactions mapped to the red address queue. |
| PSU_DDRC_PCFGQOS1_2_RQOS_MAP_TIMEOUTR 0x0 |
| |
| Specifies the timeout value for transactions mapped to the blue address queue. |
| PSU_DDRC_PCFGQOS1_2_RQOS_MAP_TIMEOUTB 0x0 |
| |
| Port n Read QoS Configuration Register 1 |
| (OFFSET, MASK, VALUE) (0XFD0705F8, 0x07FF07FFU ,0x00000000U) |
| RegMask = (DDRC_PCFGQOS1_2_RQOS_MAP_TIMEOUTR_MASK | DDRC_PCFGQOS1_2_RQOS_MAP_TIMEOUTB_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDRC_PCFGQOS1_2_RQOS_MAP_TIMEOUTR_SHIFT |
| | 0x00000000U << DDRC_PCFGQOS1_2_RQOS_MAP_TIMEOUTB_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDRC_PCFGQOS1_2_OFFSET ,0x07FF07FFU ,0x00000000U); |
| /*############################################################################################################################ */ |
| |
| /*Register : PCFGR_3 @ 0XFD070614</p> |
| |
| 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. |
| PSU_DDRC_PCFGR_3_RD_PORT_PAGEMATCH_EN 0x0 |
| |
| 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). |
| PSU_DDRC_PCFGR_3_RD_PORT_URGENT_EN 0x1 |
| |
| If set to 1, enables aging function for the read channel of the port. |
| PSU_DDRC_PCFGR_3_RD_PORT_AGING_EN 0x0 |
| |
| 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. |
| PSU_DDRC_PCFGR_3_RD_PORT_PRIORITY 0xf |
| |
| Port n Configuration Read Register |
| (OFFSET, MASK, VALUE) (0XFD070614, 0x000073FFU ,0x0000200FU) |
| RegMask = (DDRC_PCFGR_3_RD_PORT_PAGEMATCH_EN_MASK | DDRC_PCFGR_3_RD_PORT_URGENT_EN_MASK | DDRC_PCFGR_3_RD_PORT_AGING_EN_MASK | DDRC_PCFGR_3_RD_PORT_PRIORITY_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDRC_PCFGR_3_RD_PORT_PAGEMATCH_EN_SHIFT |
| | 0x00000001U << DDRC_PCFGR_3_RD_PORT_URGENT_EN_SHIFT |
| | 0x00000000U << DDRC_PCFGR_3_RD_PORT_AGING_EN_SHIFT |
| | 0x0000000FU << DDRC_PCFGR_3_RD_PORT_PRIORITY_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDRC_PCFGR_3_OFFSET ,0x000073FFU ,0x0000200FU); |
| /*############################################################################################################################ */ |
| |
| /*Register : PCFGW_3 @ 0XFD070618</p> |
| |
| 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. |
| PSU_DDRC_PCFGW_3_WR_PORT_PAGEMATCH_EN 0x1 |
| |
| 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). |
| PSU_DDRC_PCFGW_3_WR_PORT_URGENT_EN 0x1 |
| |
| If set to 1, enables aging function for the write channel of the port. |
| PSU_DDRC_PCFGW_3_WR_PORT_AGING_EN 0x0 |
| |
| 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. |
| PSU_DDRC_PCFGW_3_WR_PORT_PRIORITY 0xf |
| |
| Port n Configuration Write Register |
| (OFFSET, MASK, VALUE) (0XFD070618, 0x000073FFU ,0x0000600FU) |
| RegMask = (DDRC_PCFGW_3_WR_PORT_PAGEMATCH_EN_MASK | DDRC_PCFGW_3_WR_PORT_URGENT_EN_MASK | DDRC_PCFGW_3_WR_PORT_AGING_EN_MASK | DDRC_PCFGW_3_WR_PORT_PRIORITY_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << DDRC_PCFGW_3_WR_PORT_PAGEMATCH_EN_SHIFT |
| | 0x00000001U << DDRC_PCFGW_3_WR_PORT_URGENT_EN_SHIFT |
| | 0x00000000U << DDRC_PCFGW_3_WR_PORT_AGING_EN_SHIFT |
| | 0x0000000FU << DDRC_PCFGW_3_WR_PORT_PRIORITY_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDRC_PCFGW_3_OFFSET ,0x000073FFU ,0x0000600FU); |
| /*############################################################################################################################ */ |
| |
| /*Register : PCTRL_3 @ 0XFD0706A0</p> |
| |
| Enables port n. |
| PSU_DDRC_PCTRL_3_PORT_EN 0x1 |
| |
| Port n Control Register |
| (OFFSET, MASK, VALUE) (0XFD0706A0, 0x00000001U ,0x00000001U) |
| RegMask = (DDRC_PCTRL_3_PORT_EN_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << DDRC_PCTRL_3_PORT_EN_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDRC_PCTRL_3_OFFSET ,0x00000001U ,0x00000001U); |
| /*############################################################################################################################ */ |
| |
| /*Register : PCFGQOS0_3 @ 0XFD0706A4</p> |
| |
| 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. |
| PSU_DDRC_PCFGQOS0_3_RQOS_MAP_REGION1 0x1 |
| |
| 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. |
| PSU_DDRC_PCFGQOS0_3_RQOS_MAP_REGION0 0x0 |
| |
| 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. |
| PSU_DDRC_PCFGQOS0_3_RQOS_MAP_LEVEL1 0x3 |
| |
| Port n Read QoS Configuration Register 0 |
| (OFFSET, MASK, VALUE) (0XFD0706A4, 0x0033000FU ,0x00100003U) |
| RegMask = (DDRC_PCFGQOS0_3_RQOS_MAP_REGION1_MASK | DDRC_PCFGQOS0_3_RQOS_MAP_REGION0_MASK | DDRC_PCFGQOS0_3_RQOS_MAP_LEVEL1_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << DDRC_PCFGQOS0_3_RQOS_MAP_REGION1_SHIFT |
| | 0x00000000U << DDRC_PCFGQOS0_3_RQOS_MAP_REGION0_SHIFT |
| | 0x00000003U << DDRC_PCFGQOS0_3_RQOS_MAP_LEVEL1_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDRC_PCFGQOS0_3_OFFSET ,0x0033000FU ,0x00100003U); |
| /*############################################################################################################################ */ |
| |
| /*Register : PCFGQOS1_3 @ 0XFD0706A8</p> |
| |
| Specifies the timeout value for transactions mapped to the red address queue. |
| PSU_DDRC_PCFGQOS1_3_RQOS_MAP_TIMEOUTR 0x0 |
| |
| Specifies the timeout value for transactions mapped to the blue address queue. |
| PSU_DDRC_PCFGQOS1_3_RQOS_MAP_TIMEOUTB 0x4f |
| |
| Port n Read QoS Configuration Register 1 |
| (OFFSET, MASK, VALUE) (0XFD0706A8, 0x07FF07FFU ,0x0000004FU) |
| RegMask = (DDRC_PCFGQOS1_3_RQOS_MAP_TIMEOUTR_MASK | DDRC_PCFGQOS1_3_RQOS_MAP_TIMEOUTB_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDRC_PCFGQOS1_3_RQOS_MAP_TIMEOUTR_SHIFT |
| | 0x0000004FU << DDRC_PCFGQOS1_3_RQOS_MAP_TIMEOUTB_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDRC_PCFGQOS1_3_OFFSET ,0x07FF07FFU ,0x0000004FU); |
| /*############################################################################################################################ */ |
| |
| /*Register : PCFGWQOS0_3 @ 0XFD0706AC</p> |
| |
| 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. |
| PSU_DDRC_PCFGWQOS0_3_WQOS_MAP_REGION1 0x1 |
| |
| 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. |
| PSU_DDRC_PCFGWQOS0_3_WQOS_MAP_REGION0 0x0 |
| |
| 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. |
| PSU_DDRC_PCFGWQOS0_3_WQOS_MAP_LEVEL 0x3 |
| |
| Port n Write QoS Configuration Register 0 |
| (OFFSET, MASK, VALUE) (0XFD0706AC, 0x0033000FU ,0x00100003U) |
| RegMask = (DDRC_PCFGWQOS0_3_WQOS_MAP_REGION1_MASK | DDRC_PCFGWQOS0_3_WQOS_MAP_REGION0_MASK | DDRC_PCFGWQOS0_3_WQOS_MAP_LEVEL_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << DDRC_PCFGWQOS0_3_WQOS_MAP_REGION1_SHIFT |
| | 0x00000000U << DDRC_PCFGWQOS0_3_WQOS_MAP_REGION0_SHIFT |
| | 0x00000003U << DDRC_PCFGWQOS0_3_WQOS_MAP_LEVEL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDRC_PCFGWQOS0_3_OFFSET ,0x0033000FU ,0x00100003U); |
| /*############################################################################################################################ */ |
| |
| /*Register : PCFGWQOS1_3 @ 0XFD0706B0</p> |
| |
| Specifies the timeout value for write transactions. |
| PSU_DDRC_PCFGWQOS1_3_WQOS_MAP_TIMEOUT 0x4f |
| |
| Port n Write QoS Configuration Register 1 |
| (OFFSET, MASK, VALUE) (0XFD0706B0, 0x000007FFU ,0x0000004FU) |
| RegMask = (DDRC_PCFGWQOS1_3_WQOS_MAP_TIMEOUT_MASK | 0 ); |
| |
| RegVal = ((0x0000004FU << DDRC_PCFGWQOS1_3_WQOS_MAP_TIMEOUT_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDRC_PCFGWQOS1_3_OFFSET ,0x000007FFU ,0x0000004FU); |
| /*############################################################################################################################ */ |
| |
| /*Register : PCFGR_4 @ 0XFD0706C4</p> |
| |
| 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. |
| PSU_DDRC_PCFGR_4_RD_PORT_PAGEMATCH_EN 0x1 |
| |
| 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). |
| PSU_DDRC_PCFGR_4_RD_PORT_URGENT_EN 0x1 |
| |
| If set to 1, enables aging function for the read channel of the port. |
| PSU_DDRC_PCFGR_4_RD_PORT_AGING_EN 0x0 |
| |
| 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. |
| PSU_DDRC_PCFGR_4_RD_PORT_PRIORITY 0xf |
| |
| Port n Configuration Read Register |
| (OFFSET, MASK, VALUE) (0XFD0706C4, 0x000073FFU ,0x0000600FU) |
| RegMask = (DDRC_PCFGR_4_RD_PORT_PAGEMATCH_EN_MASK | DDRC_PCFGR_4_RD_PORT_URGENT_EN_MASK | DDRC_PCFGR_4_RD_PORT_AGING_EN_MASK | DDRC_PCFGR_4_RD_PORT_PRIORITY_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << DDRC_PCFGR_4_RD_PORT_PAGEMATCH_EN_SHIFT |
| | 0x00000001U << DDRC_PCFGR_4_RD_PORT_URGENT_EN_SHIFT |
| | 0x00000000U << DDRC_PCFGR_4_RD_PORT_AGING_EN_SHIFT |
| | 0x0000000FU << DDRC_PCFGR_4_RD_PORT_PRIORITY_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDRC_PCFGR_4_OFFSET ,0x000073FFU ,0x0000600FU); |
| /*############################################################################################################################ */ |
| |
| /*Register : PCFGW_4 @ 0XFD0706C8</p> |
| |
| 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. |
| PSU_DDRC_PCFGW_4_WR_PORT_PAGEMATCH_EN 0x1 |
| |
| 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). |
| PSU_DDRC_PCFGW_4_WR_PORT_URGENT_EN 0x1 |
| |
| If set to 1, enables aging function for the write channel of the port. |
| PSU_DDRC_PCFGW_4_WR_PORT_AGING_EN 0x0 |
| |
| 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. |
| PSU_DDRC_PCFGW_4_WR_PORT_PRIORITY 0xf |
| |
| Port n Configuration Write Register |
| (OFFSET, MASK, VALUE) (0XFD0706C8, 0x000073FFU ,0x0000600FU) |
| RegMask = (DDRC_PCFGW_4_WR_PORT_PAGEMATCH_EN_MASK | DDRC_PCFGW_4_WR_PORT_URGENT_EN_MASK | DDRC_PCFGW_4_WR_PORT_AGING_EN_MASK | DDRC_PCFGW_4_WR_PORT_PRIORITY_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << DDRC_PCFGW_4_WR_PORT_PAGEMATCH_EN_SHIFT |
| | 0x00000001U << DDRC_PCFGW_4_WR_PORT_URGENT_EN_SHIFT |
| | 0x00000000U << DDRC_PCFGW_4_WR_PORT_AGING_EN_SHIFT |
| | 0x0000000FU << DDRC_PCFGW_4_WR_PORT_PRIORITY_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDRC_PCFGW_4_OFFSET ,0x000073FFU ,0x0000600FU); |
| /*############################################################################################################################ */ |
| |
| /*Register : PCTRL_4 @ 0XFD070750</p> |
| |
| Enables port n. |
| PSU_DDRC_PCTRL_4_PORT_EN 0x1 |
| |
| Port n Control Register |
| (OFFSET, MASK, VALUE) (0XFD070750, 0x00000001U ,0x00000001U) |
| RegMask = (DDRC_PCTRL_4_PORT_EN_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << DDRC_PCTRL_4_PORT_EN_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDRC_PCTRL_4_OFFSET ,0x00000001U ,0x00000001U); |
| /*############################################################################################################################ */ |
| |
| /*Register : PCFGQOS0_4 @ 0XFD070754</p> |
| |
| 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. |
| PSU_DDRC_PCFGQOS0_4_RQOS_MAP_REGION1 0x1 |
| |
| 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. |
| PSU_DDRC_PCFGQOS0_4_RQOS_MAP_REGION0 0x0 |
| |
| 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. |
| PSU_DDRC_PCFGQOS0_4_RQOS_MAP_LEVEL1 0x3 |
| |
| Port n Read QoS Configuration Register 0 |
| (OFFSET, MASK, VALUE) (0XFD070754, 0x0033000FU ,0x00100003U) |
| RegMask = (DDRC_PCFGQOS0_4_RQOS_MAP_REGION1_MASK | DDRC_PCFGQOS0_4_RQOS_MAP_REGION0_MASK | DDRC_PCFGQOS0_4_RQOS_MAP_LEVEL1_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << DDRC_PCFGQOS0_4_RQOS_MAP_REGION1_SHIFT |
| | 0x00000000U << DDRC_PCFGQOS0_4_RQOS_MAP_REGION0_SHIFT |
| | 0x00000003U << DDRC_PCFGQOS0_4_RQOS_MAP_LEVEL1_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDRC_PCFGQOS0_4_OFFSET ,0x0033000FU ,0x00100003U); |
| /*############################################################################################################################ */ |
| |
| /*Register : PCFGQOS1_4 @ 0XFD070758</p> |
| |
| Specifies the timeout value for transactions mapped to the red address queue. |
| PSU_DDRC_PCFGQOS1_4_RQOS_MAP_TIMEOUTR 0x0 |
| |
| Specifies the timeout value for transactions mapped to the blue address queue. |
| PSU_DDRC_PCFGQOS1_4_RQOS_MAP_TIMEOUTB 0x4f |
| |
| Port n Read QoS Configuration Register 1 |
| (OFFSET, MASK, VALUE) (0XFD070758, 0x07FF07FFU ,0x0000004FU) |
| RegMask = (DDRC_PCFGQOS1_4_RQOS_MAP_TIMEOUTR_MASK | DDRC_PCFGQOS1_4_RQOS_MAP_TIMEOUTB_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDRC_PCFGQOS1_4_RQOS_MAP_TIMEOUTR_SHIFT |
| | 0x0000004FU << DDRC_PCFGQOS1_4_RQOS_MAP_TIMEOUTB_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDRC_PCFGQOS1_4_OFFSET ,0x07FF07FFU ,0x0000004FU); |
| /*############################################################################################################################ */ |
| |
| /*Register : PCFGWQOS0_4 @ 0XFD07075C</p> |
| |
| 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. |
| PSU_DDRC_PCFGWQOS0_4_WQOS_MAP_REGION1 0x1 |
| |
| 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. |
| PSU_DDRC_PCFGWQOS0_4_WQOS_MAP_REGION0 0x0 |
| |
| 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. |
| PSU_DDRC_PCFGWQOS0_4_WQOS_MAP_LEVEL 0x3 |
| |
| Port n Write QoS Configuration Register 0 |
| (OFFSET, MASK, VALUE) (0XFD07075C, 0x0033000FU ,0x00100003U) |
| RegMask = (DDRC_PCFGWQOS0_4_WQOS_MAP_REGION1_MASK | DDRC_PCFGWQOS0_4_WQOS_MAP_REGION0_MASK | DDRC_PCFGWQOS0_4_WQOS_MAP_LEVEL_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << DDRC_PCFGWQOS0_4_WQOS_MAP_REGION1_SHIFT |
| | 0x00000000U << DDRC_PCFGWQOS0_4_WQOS_MAP_REGION0_SHIFT |
| | 0x00000003U << DDRC_PCFGWQOS0_4_WQOS_MAP_LEVEL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDRC_PCFGWQOS0_4_OFFSET ,0x0033000FU ,0x00100003U); |
| /*############################################################################################################################ */ |
| |
| /*Register : PCFGWQOS1_4 @ 0XFD070760</p> |
| |
| Specifies the timeout value for write transactions. |
| PSU_DDRC_PCFGWQOS1_4_WQOS_MAP_TIMEOUT 0x4f |
| |
| Port n Write QoS Configuration Register 1 |
| (OFFSET, MASK, VALUE) (0XFD070760, 0x000007FFU ,0x0000004FU) |
| RegMask = (DDRC_PCFGWQOS1_4_WQOS_MAP_TIMEOUT_MASK | 0 ); |
| |
| RegVal = ((0x0000004FU << DDRC_PCFGWQOS1_4_WQOS_MAP_TIMEOUT_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDRC_PCFGWQOS1_4_OFFSET ,0x000007FFU ,0x0000004FU); |
| /*############################################################################################################################ */ |
| |
| /*Register : PCFGR_5 @ 0XFD070774</p> |
| |
| 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. |
| PSU_DDRC_PCFGR_5_RD_PORT_PAGEMATCH_EN 0x0 |
| |
| 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). |
| PSU_DDRC_PCFGR_5_RD_PORT_URGENT_EN 0x1 |
| |
| If set to 1, enables aging function for the read channel of the port. |
| PSU_DDRC_PCFGR_5_RD_PORT_AGING_EN 0x0 |
| |
| 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. |
| PSU_DDRC_PCFGR_5_RD_PORT_PRIORITY 0xf |
| |
| Port n Configuration Read Register |
| (OFFSET, MASK, VALUE) (0XFD070774, 0x000073FFU ,0x0000200FU) |
| RegMask = (DDRC_PCFGR_5_RD_PORT_PAGEMATCH_EN_MASK | DDRC_PCFGR_5_RD_PORT_URGENT_EN_MASK | DDRC_PCFGR_5_RD_PORT_AGING_EN_MASK | DDRC_PCFGR_5_RD_PORT_PRIORITY_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDRC_PCFGR_5_RD_PORT_PAGEMATCH_EN_SHIFT |
| | 0x00000001U << DDRC_PCFGR_5_RD_PORT_URGENT_EN_SHIFT |
| | 0x00000000U << DDRC_PCFGR_5_RD_PORT_AGING_EN_SHIFT |
| | 0x0000000FU << DDRC_PCFGR_5_RD_PORT_PRIORITY_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDRC_PCFGR_5_OFFSET ,0x000073FFU ,0x0000200FU); |
| /*############################################################################################################################ */ |
| |
| /*Register : PCFGW_5 @ 0XFD070778</p> |
| |
| 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. |
| PSU_DDRC_PCFGW_5_WR_PORT_PAGEMATCH_EN 0x1 |
| |
| 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). |
| PSU_DDRC_PCFGW_5_WR_PORT_URGENT_EN 0x1 |
| |
| If set to 1, enables aging function for the write channel of the port. |
| PSU_DDRC_PCFGW_5_WR_PORT_AGING_EN 0x0 |
| |
| 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. |
| PSU_DDRC_PCFGW_5_WR_PORT_PRIORITY 0xf |
| |
| Port n Configuration Write Register |
| (OFFSET, MASK, VALUE) (0XFD070778, 0x000073FFU ,0x0000600FU) |
| RegMask = (DDRC_PCFGW_5_WR_PORT_PAGEMATCH_EN_MASK | DDRC_PCFGW_5_WR_PORT_URGENT_EN_MASK | DDRC_PCFGW_5_WR_PORT_AGING_EN_MASK | DDRC_PCFGW_5_WR_PORT_PRIORITY_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << DDRC_PCFGW_5_WR_PORT_PAGEMATCH_EN_SHIFT |
| | 0x00000001U << DDRC_PCFGW_5_WR_PORT_URGENT_EN_SHIFT |
| | 0x00000000U << DDRC_PCFGW_5_WR_PORT_AGING_EN_SHIFT |
| | 0x0000000FU << DDRC_PCFGW_5_WR_PORT_PRIORITY_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDRC_PCFGW_5_OFFSET ,0x000073FFU ,0x0000600FU); |
| /*############################################################################################################################ */ |
| |
| /*Register : PCTRL_5 @ 0XFD070800</p> |
| |
| Enables port n. |
| PSU_DDRC_PCTRL_5_PORT_EN 0x1 |
| |
| Port n Control Register |
| (OFFSET, MASK, VALUE) (0XFD070800, 0x00000001U ,0x00000001U) |
| RegMask = (DDRC_PCTRL_5_PORT_EN_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << DDRC_PCTRL_5_PORT_EN_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDRC_PCTRL_5_OFFSET ,0x00000001U ,0x00000001U); |
| /*############################################################################################################################ */ |
| |
| /*Register : PCFGQOS0_5 @ 0XFD070804</p> |
| |
| 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. |
| PSU_DDRC_PCFGQOS0_5_RQOS_MAP_REGION1 0x1 |
| |
| 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. |
| PSU_DDRC_PCFGQOS0_5_RQOS_MAP_REGION0 0x0 |
| |
| 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. |
| PSU_DDRC_PCFGQOS0_5_RQOS_MAP_LEVEL1 0x3 |
| |
| Port n Read QoS Configuration Register 0 |
| (OFFSET, MASK, VALUE) (0XFD070804, 0x0033000FU ,0x00100003U) |
| RegMask = (DDRC_PCFGQOS0_5_RQOS_MAP_REGION1_MASK | DDRC_PCFGQOS0_5_RQOS_MAP_REGION0_MASK | DDRC_PCFGQOS0_5_RQOS_MAP_LEVEL1_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << DDRC_PCFGQOS0_5_RQOS_MAP_REGION1_SHIFT |
| | 0x00000000U << DDRC_PCFGQOS0_5_RQOS_MAP_REGION0_SHIFT |
| | 0x00000003U << DDRC_PCFGQOS0_5_RQOS_MAP_LEVEL1_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDRC_PCFGQOS0_5_OFFSET ,0x0033000FU ,0x00100003U); |
| /*############################################################################################################################ */ |
| |
| /*Register : PCFGQOS1_5 @ 0XFD070808</p> |
| |
| Specifies the timeout value for transactions mapped to the red address queue. |
| PSU_DDRC_PCFGQOS1_5_RQOS_MAP_TIMEOUTR 0x0 |
| |
| Specifies the timeout value for transactions mapped to the blue address queue. |
| PSU_DDRC_PCFGQOS1_5_RQOS_MAP_TIMEOUTB 0x4f |
| |
| Port n Read QoS Configuration Register 1 |
| (OFFSET, MASK, VALUE) (0XFD070808, 0x07FF07FFU ,0x0000004FU) |
| RegMask = (DDRC_PCFGQOS1_5_RQOS_MAP_TIMEOUTR_MASK | DDRC_PCFGQOS1_5_RQOS_MAP_TIMEOUTB_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDRC_PCFGQOS1_5_RQOS_MAP_TIMEOUTR_SHIFT |
| | 0x0000004FU << DDRC_PCFGQOS1_5_RQOS_MAP_TIMEOUTB_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDRC_PCFGQOS1_5_OFFSET ,0x07FF07FFU ,0x0000004FU); |
| /*############################################################################################################################ */ |
| |
| /*Register : PCFGWQOS0_5 @ 0XFD07080C</p> |
| |
| 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. |
| PSU_DDRC_PCFGWQOS0_5_WQOS_MAP_REGION1 0x1 |
| |
| 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. |
| PSU_DDRC_PCFGWQOS0_5_WQOS_MAP_REGION0 0x0 |
| |
| 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. |
| PSU_DDRC_PCFGWQOS0_5_WQOS_MAP_LEVEL 0x3 |
| |
| Port n Write QoS Configuration Register 0 |
| (OFFSET, MASK, VALUE) (0XFD07080C, 0x0033000FU ,0x00100003U) |
| RegMask = (DDRC_PCFGWQOS0_5_WQOS_MAP_REGION1_MASK | DDRC_PCFGWQOS0_5_WQOS_MAP_REGION0_MASK | DDRC_PCFGWQOS0_5_WQOS_MAP_LEVEL_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << DDRC_PCFGWQOS0_5_WQOS_MAP_REGION1_SHIFT |
| | 0x00000000U << DDRC_PCFGWQOS0_5_WQOS_MAP_REGION0_SHIFT |
| | 0x00000003U << DDRC_PCFGWQOS0_5_WQOS_MAP_LEVEL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDRC_PCFGWQOS0_5_OFFSET ,0x0033000FU ,0x00100003U); |
| /*############################################################################################################################ */ |
| |
| /*Register : PCFGWQOS1_5 @ 0XFD070810</p> |
| |
| Specifies the timeout value for write transactions. |
| PSU_DDRC_PCFGWQOS1_5_WQOS_MAP_TIMEOUT 0x4f |
| |
| Port n Write QoS Configuration Register 1 |
| (OFFSET, MASK, VALUE) (0XFD070810, 0x000007FFU ,0x0000004FU) |
| RegMask = (DDRC_PCFGWQOS1_5_WQOS_MAP_TIMEOUT_MASK | 0 ); |
| |
| RegVal = ((0x0000004FU << DDRC_PCFGWQOS1_5_WQOS_MAP_TIMEOUT_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDRC_PCFGWQOS1_5_OFFSET ,0x000007FFU ,0x0000004FU); |
| /*############################################################################################################################ */ |
| |
| /*Register : SARBASE0 @ 0XFD070F04</p> |
| |
| 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)). |
| PSU_DDRC_SARBASE0_BASE_ADDR 0x0 |
| |
| SAR Base Address Register n |
| (OFFSET, MASK, VALUE) (0XFD070F04, 0x000001FFU ,0x00000000U) |
| RegMask = (DDRC_SARBASE0_BASE_ADDR_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDRC_SARBASE0_BASE_ADDR_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDRC_SARBASE0_OFFSET ,0x000001FFU ,0x00000000U); |
| /*############################################################################################################################ */ |
| |
| /*Register : SARSIZE0 @ 0XFD070F08</p> |
| |
| 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. |
| PSU_DDRC_SARSIZE0_NBLOCKS 0x0 |
| |
| SAR Size Register n |
| (OFFSET, MASK, VALUE) (0XFD070F08, 0x000000FFU ,0x00000000U) |
| RegMask = (DDRC_SARSIZE0_NBLOCKS_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDRC_SARSIZE0_NBLOCKS_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDRC_SARSIZE0_OFFSET ,0x000000FFU ,0x00000000U); |
| /*############################################################################################################################ */ |
| |
| /*Register : SARBASE1 @ 0XFD070F0C</p> |
| |
| 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)). |
| PSU_DDRC_SARBASE1_BASE_ADDR 0x10 |
| |
| SAR Base Address Register n |
| (OFFSET, MASK, VALUE) (0XFD070F0C, 0x000001FFU ,0x00000010U) |
| RegMask = (DDRC_SARBASE1_BASE_ADDR_MASK | 0 ); |
| |
| RegVal = ((0x00000010U << DDRC_SARBASE1_BASE_ADDR_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDRC_SARBASE1_OFFSET ,0x000001FFU ,0x00000010U); |
| /*############################################################################################################################ */ |
| |
| /*Register : SARSIZE1 @ 0XFD070F10</p> |
| |
| 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. |
| PSU_DDRC_SARSIZE1_NBLOCKS 0xf |
| |
| SAR Size Register n |
| (OFFSET, MASK, VALUE) (0XFD070F10, 0x000000FFU ,0x0000000FU) |
| RegMask = (DDRC_SARSIZE1_NBLOCKS_MASK | 0 ); |
| |
| RegVal = ((0x0000000FU << DDRC_SARSIZE1_NBLOCKS_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDRC_SARSIZE1_OFFSET ,0x000000FFU ,0x0000000FU); |
| /*############################################################################################################################ */ |
| |
| /*Register : DFITMG0_SHADOW @ 0XFD072190</p> |
| |
| 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. |
| PSU_DDRC_DFITMG0_SHADOW_DFI_T_CTRL_DELAY 0x7 |
| |
| 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. |
| PSU_DDRC_DFITMG0_SHADOW_DFI_RDDATA_USE_SDR 0x1 |
| |
| 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 |
| PSU_DDRC_DFITMG0_SHADOW_DFI_T_RDDATA_EN 0x2 |
| |
| 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. |
| PSU_DDRC_DFITMG0_SHADOW_DFI_WRDATA_USE_SDR 0x1 |
| |
| 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 |
| PSU_DDRC_DFITMG0_SHADOW_DFI_TPHY_WRDATA 0x0 |
| |
| 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. |
| PSU_DDRC_DFITMG0_SHADOW_DFI_TPHY_WRLAT 0x2 |
| |
| DFI Timing Shadow Register 0 |
| (OFFSET, MASK, VALUE) (0XFD072190, 0x1FBFBF3FU ,0x07828002U) |
| RegMask = (DDRC_DFITMG0_SHADOW_DFI_T_CTRL_DELAY_MASK | DDRC_DFITMG0_SHADOW_DFI_RDDATA_USE_SDR_MASK | DDRC_DFITMG0_SHADOW_DFI_T_RDDATA_EN_MASK | DDRC_DFITMG0_SHADOW_DFI_WRDATA_USE_SDR_MASK | DDRC_DFITMG0_SHADOW_DFI_TPHY_WRDATA_MASK | DDRC_DFITMG0_SHADOW_DFI_TPHY_WRLAT_MASK | 0 ); |
| |
| RegVal = ((0x00000007U << DDRC_DFITMG0_SHADOW_DFI_T_CTRL_DELAY_SHIFT |
| | 0x00000001U << DDRC_DFITMG0_SHADOW_DFI_RDDATA_USE_SDR_SHIFT |
| | 0x00000002U << DDRC_DFITMG0_SHADOW_DFI_T_RDDATA_EN_SHIFT |
| | 0x00000001U << DDRC_DFITMG0_SHADOW_DFI_WRDATA_USE_SDR_SHIFT |
| | 0x00000000U << DDRC_DFITMG0_SHADOW_DFI_TPHY_WRDATA_SHIFT |
| | 0x00000002U << DDRC_DFITMG0_SHADOW_DFI_TPHY_WRLAT_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDRC_DFITMG0_SHADOW_OFFSET ,0x1FBFBF3FU ,0x07828002U); |
| /*############################################################################################################################ */ |
| |
| // : DDR CONTROLLER RESET |
| /*Register : RST_DDR_SS @ 0XFD1A0108</p> |
| |
| DDR block level reset inside of the DDR Sub System |
| PSU_CRF_APB_RST_DDR_SS_DDR_RESET 0X0 |
| |
| DDR sub system block level reset |
| (OFFSET, MASK, VALUE) (0XFD1A0108, 0x00000008U ,0x00000000U) |
| RegMask = (CRF_APB_RST_DDR_SS_DDR_RESET_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << CRF_APB_RST_DDR_SS_DDR_RESET_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (CRF_APB_RST_DDR_SS_OFFSET ,0x00000008U ,0x00000000U); |
| /*############################################################################################################################ */ |
| |
| // : DDR PHY |
| /*Register : PGCR0 @ 0XFD080010</p> |
| |
| Address Copy |
| PSU_DDR_PHY_PGCR0_ADCP 0x0 |
| |
| Reserved. Returns zeroes on reads. |
| PSU_DDR_PHY_PGCR0_RESERVED_30_27 0x0 |
| |
| PHY FIFO Reset |
| PSU_DDR_PHY_PGCR0_PHYFRST 0x1 |
| |
| Oscillator Mode Address/Command Delay Line Select |
| PSU_DDR_PHY_PGCR0_OSCACDL 0x3 |
| |
| Reserved. Returns zeroes on reads. |
| PSU_DDR_PHY_PGCR0_RESERVED_23_19 0x0 |
| |
| Digital Test Output Select |
| PSU_DDR_PHY_PGCR0_DTOSEL 0x0 |
| |
| Reserved. Returns zeroes on reads. |
| PSU_DDR_PHY_PGCR0_RESERVED_13 0x0 |
| |
| Oscillator Mode Division |
| PSU_DDR_PHY_PGCR0_OSCDIV 0xf |
| |
| Oscillator Enable |
| PSU_DDR_PHY_PGCR0_OSCEN 0x0 |
| |
| Reserved. Returns zeroes on reads. |
| PSU_DDR_PHY_PGCR0_RESERVED_7_0 0x0 |
| |
| PHY General Configuration Register 0 |
| (OFFSET, MASK, VALUE) (0XFD080010, 0xFFFFFFFFU ,0x07001E00U) |
| RegMask = (DDR_PHY_PGCR0_ADCP_MASK | DDR_PHY_PGCR0_RESERVED_30_27_MASK | DDR_PHY_PGCR0_PHYFRST_MASK | DDR_PHY_PGCR0_OSCACDL_MASK | DDR_PHY_PGCR0_RESERVED_23_19_MASK | DDR_PHY_PGCR0_DTOSEL_MASK | DDR_PHY_PGCR0_RESERVED_13_MASK | DDR_PHY_PGCR0_OSCDIV_MASK | DDR_PHY_PGCR0_OSCEN_MASK | DDR_PHY_PGCR0_RESERVED_7_0_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDR_PHY_PGCR0_ADCP_SHIFT |
| | 0x00000000U << DDR_PHY_PGCR0_RESERVED_30_27_SHIFT |
| | 0x00000001U << DDR_PHY_PGCR0_PHYFRST_SHIFT |
| | 0x00000003U << DDR_PHY_PGCR0_OSCACDL_SHIFT |
| | 0x00000000U << DDR_PHY_PGCR0_RESERVED_23_19_SHIFT |
| | 0x00000000U << DDR_PHY_PGCR0_DTOSEL_SHIFT |
| | 0x00000000U << DDR_PHY_PGCR0_RESERVED_13_SHIFT |
| | 0x0000000FU << DDR_PHY_PGCR0_OSCDIV_SHIFT |
| | 0x00000000U << DDR_PHY_PGCR0_OSCEN_SHIFT |
| | 0x00000000U << DDR_PHY_PGCR0_RESERVED_7_0_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDR_PHY_PGCR0_OFFSET ,0xFFFFFFFFU ,0x07001E00U); |
| /*############################################################################################################################ */ |
| |
| /*Register : PGCR2 @ 0XFD080018</p> |
| |
| Clear Training Status Registers |
| PSU_DDR_PHY_PGCR2_CLRTSTAT 0x0 |
| |
| Clear Impedance Calibration |
| PSU_DDR_PHY_PGCR2_CLRZCAL 0x0 |
| |
| Clear Parity Error |
| PSU_DDR_PHY_PGCR2_CLRPERR 0x0 |
| |
| Initialization Complete Pin Configuration |
| PSU_DDR_PHY_PGCR2_ICPC 0x0 |
| |
| Data Training PUB Mode Exit Timer |
| PSU_DDR_PHY_PGCR2_DTPMXTMR 0xf |
| |
| Initialization Bypass |
| PSU_DDR_PHY_PGCR2_INITFSMBYP 0x0 |
| |
| PLL FSM Bypass |
| PSU_DDR_PHY_PGCR2_PLLFSMBYP 0x0 |
| |
| Refresh Period |
| PSU_DDR_PHY_PGCR2_TREFPRD 0x12302 |
| |
| PHY General Configuration Register 2 |
| (OFFSET, MASK, VALUE) (0XFD080018, 0xFFFFFFFFU ,0x00F12302U) |
| RegMask = (DDR_PHY_PGCR2_CLRTSTAT_MASK | DDR_PHY_PGCR2_CLRZCAL_MASK | DDR_PHY_PGCR2_CLRPERR_MASK | DDR_PHY_PGCR2_ICPC_MASK | DDR_PHY_PGCR2_DTPMXTMR_MASK | DDR_PHY_PGCR2_INITFSMBYP_MASK | DDR_PHY_PGCR2_PLLFSMBYP_MASK | DDR_PHY_PGCR2_TREFPRD_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDR_PHY_PGCR2_CLRTSTAT_SHIFT |
| | 0x00000000U << DDR_PHY_PGCR2_CLRZCAL_SHIFT |
| | 0x00000000U << DDR_PHY_PGCR2_CLRPERR_SHIFT |
| | 0x00000000U << DDR_PHY_PGCR2_ICPC_SHIFT |
| | 0x0000000FU << DDR_PHY_PGCR2_DTPMXTMR_SHIFT |
| | 0x00000000U << DDR_PHY_PGCR2_INITFSMBYP_SHIFT |
| | 0x00000000U << DDR_PHY_PGCR2_PLLFSMBYP_SHIFT |
| | 0x00012302U << DDR_PHY_PGCR2_TREFPRD_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDR_PHY_PGCR2_OFFSET ,0xFFFFFFFFU ,0x00F12302U); |
| /*############################################################################################################################ */ |
| |
| /*Register : PGCR5 @ 0XFD080024</p> |
| |
| Frequency B Ratio Term |
| PSU_DDR_PHY_PGCR5_FRQBT 0x1 |
| |
| Frequency A Ratio Term |
| PSU_DDR_PHY_PGCR5_FRQAT 0x1 |
| |
| DFI Disconnect Time Period |
| PSU_DDR_PHY_PGCR5_DISCNPERIOD 0x0 |
| |
| Receiver bias core side control |
| PSU_DDR_PHY_PGCR5_VREF_RBCTRL 0xf |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_PGCR5_RESERVED_3 0x0 |
| |
| Internal VREF generator REFSEL ragne select |
| PSU_DDR_PHY_PGCR5_DXREFISELRANGE 0x1 |
| |
| DDL Page Read Write select |
| PSU_DDR_PHY_PGCR5_DDLPGACT 0x0 |
| |
| DDL Page Read Write select |
| PSU_DDR_PHY_PGCR5_DDLPGRW 0x0 |
| |
| PHY General Configuration Register 5 |
| (OFFSET, MASK, VALUE) (0XFD080024, 0xFFFFFFFFU ,0x010100F4U) |
| RegMask = (DDR_PHY_PGCR5_FRQBT_MASK | DDR_PHY_PGCR5_FRQAT_MASK | DDR_PHY_PGCR5_DISCNPERIOD_MASK | DDR_PHY_PGCR5_VREF_RBCTRL_MASK | DDR_PHY_PGCR5_RESERVED_3_MASK | DDR_PHY_PGCR5_DXREFISELRANGE_MASK | DDR_PHY_PGCR5_DDLPGACT_MASK | DDR_PHY_PGCR5_DDLPGRW_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << DDR_PHY_PGCR5_FRQBT_SHIFT |
| | 0x00000001U << DDR_PHY_PGCR5_FRQAT_SHIFT |
| | 0x00000000U << DDR_PHY_PGCR5_DISCNPERIOD_SHIFT |
| | 0x0000000FU << DDR_PHY_PGCR5_VREF_RBCTRL_SHIFT |
| | 0x00000000U << DDR_PHY_PGCR5_RESERVED_3_SHIFT |
| | 0x00000001U << DDR_PHY_PGCR5_DXREFISELRANGE_SHIFT |
| | 0x00000000U << DDR_PHY_PGCR5_DDLPGACT_SHIFT |
| | 0x00000000U << DDR_PHY_PGCR5_DDLPGRW_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDR_PHY_PGCR5_OFFSET ,0xFFFFFFFFU ,0x010100F4U); |
| /*############################################################################################################################ */ |
| |
| /*Register : PTR0 @ 0XFD080040</p> |
| |
| PLL Power-Down Time |
| PSU_DDR_PHY_PTR0_TPLLPD 0x2f0 |
| |
| PLL Gear Shift Time |
| PSU_DDR_PHY_PTR0_TPLLGS 0x60 |
| |
| PHY Reset Time |
| PSU_DDR_PHY_PTR0_TPHYRST 0x10 |
| |
| PHY Timing Register 0 |
| (OFFSET, MASK, VALUE) (0XFD080040, 0xFFFFFFFFU ,0x5E001810U) |
| RegMask = (DDR_PHY_PTR0_TPLLPD_MASK | DDR_PHY_PTR0_TPLLGS_MASK | DDR_PHY_PTR0_TPHYRST_MASK | 0 ); |
| |
| RegVal = ((0x000002F0U << DDR_PHY_PTR0_TPLLPD_SHIFT |
| | 0x00000060U << DDR_PHY_PTR0_TPLLGS_SHIFT |
| | 0x00000010U << DDR_PHY_PTR0_TPHYRST_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDR_PHY_PTR0_OFFSET ,0xFFFFFFFFU ,0x5E001810U); |
| /*############################################################################################################################ */ |
| |
| /*Register : PTR1 @ 0XFD080044</p> |
| |
| PLL Lock Time |
| PSU_DDR_PHY_PTR1_TPLLLOCK 0x80 |
| |
| Reserved. Returns zeroes on reads. |
| PSU_DDR_PHY_PTR1_RESERVED_15_13 0x0 |
| |
| PLL Reset Time |
| PSU_DDR_PHY_PTR1_TPLLRST 0x5f0 |
| |
| PHY Timing Register 1 |
| (OFFSET, MASK, VALUE) (0XFD080044, 0xFFFFFFFFU ,0x008005F0U) |
| RegMask = (DDR_PHY_PTR1_TPLLLOCK_MASK | DDR_PHY_PTR1_RESERVED_15_13_MASK | DDR_PHY_PTR1_TPLLRST_MASK | 0 ); |
| |
| RegVal = ((0x00000080U << DDR_PHY_PTR1_TPLLLOCK_SHIFT |
| | 0x00000000U << DDR_PHY_PTR1_RESERVED_15_13_SHIFT |
| | 0x000005F0U << DDR_PHY_PTR1_TPLLRST_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDR_PHY_PTR1_OFFSET ,0xFFFFFFFFU ,0x008005F0U); |
| /*############################################################################################################################ */ |
| |
| /*Register : DSGCR @ 0XFD080090</p> |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DSGCR_RESERVED_31_28 0x0 |
| |
| 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. |
| PSU_DDR_PHY_DSGCR_RDBICLSEL 0x0 |
| |
| When RDBI enabled, if RDBICLSEL is asserted, RDBI CL adjust using this value. |
| PSU_DDR_PHY_DSGCR_RDBICL 0x2 |
| |
| PHY Impedance Update Enable |
| PSU_DDR_PHY_DSGCR_PHYZUEN 0x1 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DSGCR_RESERVED_22 0x0 |
| |
| SDRAM Reset Output Enable |
| PSU_DDR_PHY_DSGCR_RSTOE 0x1 |
| |
| Single Data Rate Mode |
| PSU_DDR_PHY_DSGCR_SDRMODE 0x0 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DSGCR_RESERVED_18 0x0 |
| |
| ATO Analog Test Enable |
| PSU_DDR_PHY_DSGCR_ATOAE 0x0 |
| |
| DTO Output Enable |
| PSU_DDR_PHY_DSGCR_DTOOE 0x0 |
| |
| DTO I/O Mode |
| PSU_DDR_PHY_DSGCR_DTOIOM 0x0 |
| |
| DTO Power Down Receiver |
| PSU_DDR_PHY_DSGCR_DTOPDR 0x1 |
| |
| Reserved. Return zeroes on reads |
| PSU_DDR_PHY_DSGCR_RESERVED_13 0x0 |
| |
| DTO On-Die Termination |
| PSU_DDR_PHY_DSGCR_DTOODT 0x0 |
| |
| PHY Update Acknowledge Delay |
| PSU_DDR_PHY_DSGCR_PUAD 0x4 |
| |
| Controller Update Acknowledge Enable |
| PSU_DDR_PHY_DSGCR_CUAEN 0x1 |
| |
| Reserved. Return zeroes on reads |
| PSU_DDR_PHY_DSGCR_RESERVED_4_3 0x0 |
| |
| Controller Impedance Update Enable |
| PSU_DDR_PHY_DSGCR_CTLZUEN 0x0 |
| |
| Reserved. Return zeroes on reads |
| PSU_DDR_PHY_DSGCR_RESERVED_1 0x0 |
| |
| PHY Update Request Enable |
| PSU_DDR_PHY_DSGCR_PUREN 0x1 |
| |
| DDR System General Configuration Register |
| (OFFSET, MASK, VALUE) (0XFD080090, 0xFFFFFFFFU ,0x02A04121U) |
| RegMask = (DDR_PHY_DSGCR_RESERVED_31_28_MASK | DDR_PHY_DSGCR_RDBICLSEL_MASK | DDR_PHY_DSGCR_RDBICL_MASK | DDR_PHY_DSGCR_PHYZUEN_MASK | DDR_PHY_DSGCR_RESERVED_22_MASK | DDR_PHY_DSGCR_RSTOE_MASK | DDR_PHY_DSGCR_SDRMODE_MASK | DDR_PHY_DSGCR_RESERVED_18_MASK | DDR_PHY_DSGCR_ATOAE_MASK | DDR_PHY_DSGCR_DTOOE_MASK | DDR_PHY_DSGCR_DTOIOM_MASK | DDR_PHY_DSGCR_DTOPDR_MASK | DDR_PHY_DSGCR_RESERVED_13_MASK | DDR_PHY_DSGCR_DTOODT_MASK | DDR_PHY_DSGCR_PUAD_MASK | DDR_PHY_DSGCR_CUAEN_MASK | DDR_PHY_DSGCR_RESERVED_4_3_MASK | DDR_PHY_DSGCR_CTLZUEN_MASK | DDR_PHY_DSGCR_RESERVED_1_MASK | DDR_PHY_DSGCR_PUREN_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDR_PHY_DSGCR_RESERVED_31_28_SHIFT |
| | 0x00000000U << DDR_PHY_DSGCR_RDBICLSEL_SHIFT |
| | 0x00000002U << DDR_PHY_DSGCR_RDBICL_SHIFT |
| | 0x00000001U << DDR_PHY_DSGCR_PHYZUEN_SHIFT |
| | 0x00000000U << DDR_PHY_DSGCR_RESERVED_22_SHIFT |
| | 0x00000001U << DDR_PHY_DSGCR_RSTOE_SHIFT |
| | 0x00000000U << DDR_PHY_DSGCR_SDRMODE_SHIFT |
| | 0x00000000U << DDR_PHY_DSGCR_RESERVED_18_SHIFT |
| | 0x00000000U << DDR_PHY_DSGCR_ATOAE_SHIFT |
| | 0x00000000U << DDR_PHY_DSGCR_DTOOE_SHIFT |
| | 0x00000000U << DDR_PHY_DSGCR_DTOIOM_SHIFT |
| | 0x00000001U << DDR_PHY_DSGCR_DTOPDR_SHIFT |
| | 0x00000000U << DDR_PHY_DSGCR_RESERVED_13_SHIFT |
| | 0x00000000U << DDR_PHY_DSGCR_DTOODT_SHIFT |
| | 0x00000004U << DDR_PHY_DSGCR_PUAD_SHIFT |
| | 0x00000001U << DDR_PHY_DSGCR_CUAEN_SHIFT |
| | 0x00000000U << DDR_PHY_DSGCR_RESERVED_4_3_SHIFT |
| | 0x00000000U << DDR_PHY_DSGCR_CTLZUEN_SHIFT |
| | 0x00000000U << DDR_PHY_DSGCR_RESERVED_1_SHIFT |
| | 0x00000001U << DDR_PHY_DSGCR_PUREN_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDR_PHY_DSGCR_OFFSET ,0xFFFFFFFFU ,0x02A04121U); |
| /*############################################################################################################################ */ |
| |
| /*Register : DCR @ 0XFD080100</p> |
| |
| DDR4 Gear Down Timing. |
| PSU_DDR_PHY_DCR_GEARDN 0x0 |
| |
| Un-used Bank Group |
| PSU_DDR_PHY_DCR_UBG 0x0 |
| |
| Un-buffered DIMM Address Mirroring |
| PSU_DDR_PHY_DCR_UDIMM 0x0 |
| |
| DDR 2T Timing |
| PSU_DDR_PHY_DCR_DDR2T 0x0 |
| |
| No Simultaneous Rank Access |
| PSU_DDR_PHY_DCR_NOSRA 0x1 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DCR_RESERVED_26_18 0x0 |
| |
| Byte Mask |
| PSU_DDR_PHY_DCR_BYTEMASK 0x1 |
| |
| DDR Type |
| PSU_DDR_PHY_DCR_DDRTYPE 0x0 |
| |
| Multi-Purpose Register (MPR) DQ (DDR3 Only) |
| PSU_DDR_PHY_DCR_MPRDQ 0x0 |
| |
| Primary DQ (DDR3 Only) |
| PSU_DDR_PHY_DCR_PDQ 0x0 |
| |
| DDR 8-Bank |
| PSU_DDR_PHY_DCR_DDR8BNK 0x1 |
| |
| DDR Mode |
| PSU_DDR_PHY_DCR_DDRMD 0x4 |
| |
| DRAM Configuration Register |
| (OFFSET, MASK, VALUE) (0XFD080100, 0xFFFFFFFFU ,0x0800040CU) |
| RegMask = (DDR_PHY_DCR_GEARDN_MASK | DDR_PHY_DCR_UBG_MASK | DDR_PHY_DCR_UDIMM_MASK | DDR_PHY_DCR_DDR2T_MASK | DDR_PHY_DCR_NOSRA_MASK | DDR_PHY_DCR_RESERVED_26_18_MASK | DDR_PHY_DCR_BYTEMASK_MASK | DDR_PHY_DCR_DDRTYPE_MASK | DDR_PHY_DCR_MPRDQ_MASK | DDR_PHY_DCR_PDQ_MASK | DDR_PHY_DCR_DDR8BNK_MASK | DDR_PHY_DCR_DDRMD_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDR_PHY_DCR_GEARDN_SHIFT |
| | 0x00000000U << DDR_PHY_DCR_UBG_SHIFT |
| | 0x00000000U << DDR_PHY_DCR_UDIMM_SHIFT |
| | 0x00000000U << DDR_PHY_DCR_DDR2T_SHIFT |
| | 0x00000001U << DDR_PHY_DCR_NOSRA_SHIFT |
| | 0x00000000U << DDR_PHY_DCR_RESERVED_26_18_SHIFT |
| | 0x00000001U << DDR_PHY_DCR_BYTEMASK_SHIFT |
| | 0x00000000U << DDR_PHY_DCR_DDRTYPE_SHIFT |
| | 0x00000000U << DDR_PHY_DCR_MPRDQ_SHIFT |
| | 0x00000000U << DDR_PHY_DCR_PDQ_SHIFT |
| | 0x00000001U << DDR_PHY_DCR_DDR8BNK_SHIFT |
| | 0x00000004U << DDR_PHY_DCR_DDRMD_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDR_PHY_DCR_OFFSET ,0xFFFFFFFFU ,0x0800040CU); |
| /*############################################################################################################################ */ |
| |
| /*Register : DTPR0 @ 0XFD080110</p> |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DTPR0_RESERVED_31_29 0x0 |
| |
| Activate to activate command delay (different banks) |
| PSU_DDR_PHY_DTPR0_TRRD 0x6 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DTPR0_RESERVED_23 0x0 |
| |
| Activate to precharge command delay |
| PSU_DDR_PHY_DTPR0_TRAS 0x24 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DTPR0_RESERVED_15 0x0 |
| |
| Precharge command period |
| PSU_DDR_PHY_DTPR0_TRP 0x12 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DTPR0_RESERVED_7_5 0x0 |
| |
| Internal read to precharge command delay |
| PSU_DDR_PHY_DTPR0_TRTP 0x8 |
| |
| DRAM Timing Parameters Register 0 |
| (OFFSET, MASK, VALUE) (0XFD080110, 0xFFFFFFFFU ,0x06241208U) |
| RegMask = (DDR_PHY_DTPR0_RESERVED_31_29_MASK | DDR_PHY_DTPR0_TRRD_MASK | DDR_PHY_DTPR0_RESERVED_23_MASK | DDR_PHY_DTPR0_TRAS_MASK | DDR_PHY_DTPR0_RESERVED_15_MASK | DDR_PHY_DTPR0_TRP_MASK | DDR_PHY_DTPR0_RESERVED_7_5_MASK | DDR_PHY_DTPR0_TRTP_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDR_PHY_DTPR0_RESERVED_31_29_SHIFT |
| | 0x00000006U << DDR_PHY_DTPR0_TRRD_SHIFT |
| | 0x00000000U << DDR_PHY_DTPR0_RESERVED_23_SHIFT |
| | 0x00000024U << DDR_PHY_DTPR0_TRAS_SHIFT |
| | 0x00000000U << DDR_PHY_DTPR0_RESERVED_15_SHIFT |
| | 0x00000012U << DDR_PHY_DTPR0_TRP_SHIFT |
| | 0x00000000U << DDR_PHY_DTPR0_RESERVED_7_5_SHIFT |
| | 0x00000008U << DDR_PHY_DTPR0_TRTP_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDR_PHY_DTPR0_OFFSET ,0xFFFFFFFFU ,0x06241208U); |
| /*############################################################################################################################ */ |
| |
| /*Register : DTPR1 @ 0XFD080114</p> |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DTPR1_RESERVED_31 0x0 |
| |
| Minimum delay from when write leveling mode is programmed to the first DQS/DQS# rising edge. |
| PSU_DDR_PHY_DTPR1_TWLMRD 0x28 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DTPR1_RESERVED_23 0x0 |
| |
| 4-bank activate period |
| PSU_DDR_PHY_DTPR1_TFAW 0x18 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DTPR1_RESERVED_15_11 0x0 |
| |
| Load mode update delay (DDR4 and DDR3 only) |
| PSU_DDR_PHY_DTPR1_TMOD 0x7 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DTPR1_RESERVED_7_5 0x0 |
| |
| Load mode cycle time |
| PSU_DDR_PHY_DTPR1_TMRD 0x8 |
| |
| DRAM Timing Parameters Register 1 |
| (OFFSET, MASK, VALUE) (0XFD080114, 0xFFFFFFFFU ,0x28180708U) |
| RegMask = (DDR_PHY_DTPR1_RESERVED_31_MASK | DDR_PHY_DTPR1_TWLMRD_MASK | DDR_PHY_DTPR1_RESERVED_23_MASK | DDR_PHY_DTPR1_TFAW_MASK | DDR_PHY_DTPR1_RESERVED_15_11_MASK | DDR_PHY_DTPR1_TMOD_MASK | DDR_PHY_DTPR1_RESERVED_7_5_MASK | DDR_PHY_DTPR1_TMRD_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDR_PHY_DTPR1_RESERVED_31_SHIFT |
| | 0x00000028U << DDR_PHY_DTPR1_TWLMRD_SHIFT |
| | 0x00000000U << DDR_PHY_DTPR1_RESERVED_23_SHIFT |
| | 0x00000018U << DDR_PHY_DTPR1_TFAW_SHIFT |
| | 0x00000000U << DDR_PHY_DTPR1_RESERVED_15_11_SHIFT |
| | 0x00000007U << DDR_PHY_DTPR1_TMOD_SHIFT |
| | 0x00000000U << DDR_PHY_DTPR1_RESERVED_7_5_SHIFT |
| | 0x00000008U << DDR_PHY_DTPR1_TMRD_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDR_PHY_DTPR1_OFFSET ,0xFFFFFFFFU ,0x28180708U); |
| /*############################################################################################################################ */ |
| |
| /*Register : DTPR2 @ 0XFD080118</p> |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DTPR2_RESERVED_31_29 0x0 |
| |
| Read to Write command delay. Valid values are |
| PSU_DDR_PHY_DTPR2_TRTW 0x0 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DTPR2_RESERVED_27_25 0x0 |
| |
| Read to ODT delay (DDR3 only) |
| PSU_DDR_PHY_DTPR2_TRTODT 0x0 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DTPR2_RESERVED_23_20 0x0 |
| |
| CKE minimum pulse width |
| PSU_DDR_PHY_DTPR2_TCKE 0x8 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DTPR2_RESERVED_15_10 0x0 |
| |
| Self refresh exit delay |
| PSU_DDR_PHY_DTPR2_TXS 0x200 |
| |
| DRAM Timing Parameters Register 2 |
| (OFFSET, MASK, VALUE) (0XFD080118, 0xFFFFFFFFU ,0x00080200U) |
| RegMask = (DDR_PHY_DTPR2_RESERVED_31_29_MASK | DDR_PHY_DTPR2_TRTW_MASK | DDR_PHY_DTPR2_RESERVED_27_25_MASK | DDR_PHY_DTPR2_TRTODT_MASK | DDR_PHY_DTPR2_RESERVED_23_20_MASK | DDR_PHY_DTPR2_TCKE_MASK | DDR_PHY_DTPR2_RESERVED_15_10_MASK | DDR_PHY_DTPR2_TXS_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDR_PHY_DTPR2_RESERVED_31_29_SHIFT |
| | 0x00000000U << DDR_PHY_DTPR2_TRTW_SHIFT |
| | 0x00000000U << DDR_PHY_DTPR2_RESERVED_27_25_SHIFT |
| | 0x00000000U << DDR_PHY_DTPR2_TRTODT_SHIFT |
| | 0x00000000U << DDR_PHY_DTPR2_RESERVED_23_20_SHIFT |
| | 0x00000008U << DDR_PHY_DTPR2_TCKE_SHIFT |
| | 0x00000000U << DDR_PHY_DTPR2_RESERVED_15_10_SHIFT |
| | 0x00000200U << DDR_PHY_DTPR2_TXS_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDR_PHY_DTPR2_OFFSET ,0xFFFFFFFFU ,0x00080200U); |
| /*############################################################################################################################ */ |
| |
| /*Register : DTPR3 @ 0XFD08011C</p> |
| |
| ODT turn-off delay extension |
| PSU_DDR_PHY_DTPR3_TOFDX 0x4 |
| |
| Read to read and write to write command delay |
| PSU_DDR_PHY_DTPR3_TCCD 0x0 |
| |
| DLL locking time |
| PSU_DDR_PHY_DTPR3_TDLLK 0x300 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DTPR3_RESERVED_15_12 0x0 |
| |
| Maximum DQS output access time from CK/CK# (LPDDR2/3 only) |
| PSU_DDR_PHY_DTPR3_TDQSCKMAX 0x8 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DTPR3_RESERVED_7_3 0x0 |
| |
| DQS output access time from CK/CK# (LPDDR2/3 only) |
| PSU_DDR_PHY_DTPR3_TDQSCK 0x4 |
| |
| DRAM Timing Parameters Register 3 |
| (OFFSET, MASK, VALUE) (0XFD08011C, 0xFFFFFFFFU ,0x83000804U) |
| RegMask = (DDR_PHY_DTPR3_TOFDX_MASK | DDR_PHY_DTPR3_TCCD_MASK | DDR_PHY_DTPR3_TDLLK_MASK | DDR_PHY_DTPR3_RESERVED_15_12_MASK | DDR_PHY_DTPR3_TDQSCKMAX_MASK | DDR_PHY_DTPR3_RESERVED_7_3_MASK | DDR_PHY_DTPR3_TDQSCK_MASK | 0 ); |
| |
| RegVal = ((0x00000004U << DDR_PHY_DTPR3_TOFDX_SHIFT |
| | 0x00000000U << DDR_PHY_DTPR3_TCCD_SHIFT |
| | 0x00000300U << DDR_PHY_DTPR3_TDLLK_SHIFT |
| | 0x00000000U << DDR_PHY_DTPR3_RESERVED_15_12_SHIFT |
| | 0x00000008U << DDR_PHY_DTPR3_TDQSCKMAX_SHIFT |
| | 0x00000000U << DDR_PHY_DTPR3_RESERVED_7_3_SHIFT |
| | 0x00000004U << DDR_PHY_DTPR3_TDQSCK_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDR_PHY_DTPR3_OFFSET ,0xFFFFFFFFU ,0x83000804U); |
| /*############################################################################################################################ */ |
| |
| /*Register : DTPR4 @ 0XFD080120</p> |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DTPR4_RESERVED_31_30 0x0 |
| |
| ODT turn-on/turn-off delays (DDR2 only) |
| PSU_DDR_PHY_DTPR4_TAOND_TAOFD 0x0 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DTPR4_RESERVED_27_26 0x0 |
| |
| Refresh-to-Refresh |
| PSU_DDR_PHY_DTPR4_TRFC 0x116 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DTPR4_RESERVED_15_14 0x0 |
| |
| Write leveling output delay |
| PSU_DDR_PHY_DTPR4_TWLO 0x2b |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DTPR4_RESERVED_7_5 0x0 |
| |
| Power down exit delay |
| PSU_DDR_PHY_DTPR4_TXP 0x8 |
| |
| DRAM Timing Parameters Register 4 |
| (OFFSET, MASK, VALUE) (0XFD080120, 0xFFFFFFFFU ,0x01162B08U) |
| RegMask = (DDR_PHY_DTPR4_RESERVED_31_30_MASK | DDR_PHY_DTPR4_TAOND_TAOFD_MASK | DDR_PHY_DTPR4_RESERVED_27_26_MASK | DDR_PHY_DTPR4_TRFC_MASK | DDR_PHY_DTPR4_RESERVED_15_14_MASK | DDR_PHY_DTPR4_TWLO_MASK | DDR_PHY_DTPR4_RESERVED_7_5_MASK | DDR_PHY_DTPR4_TXP_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDR_PHY_DTPR4_RESERVED_31_30_SHIFT |
| | 0x00000000U << DDR_PHY_DTPR4_TAOND_TAOFD_SHIFT |
| | 0x00000000U << DDR_PHY_DTPR4_RESERVED_27_26_SHIFT |
| | 0x00000116U << DDR_PHY_DTPR4_TRFC_SHIFT |
| | 0x00000000U << DDR_PHY_DTPR4_RESERVED_15_14_SHIFT |
| | 0x0000002BU << DDR_PHY_DTPR4_TWLO_SHIFT |
| | 0x00000000U << DDR_PHY_DTPR4_RESERVED_7_5_SHIFT |
| | 0x00000008U << DDR_PHY_DTPR4_TXP_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDR_PHY_DTPR4_OFFSET ,0xFFFFFFFFU ,0x01162B08U); |
| /*############################################################################################################################ */ |
| |
| /*Register : DTPR5 @ 0XFD080124</p> |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DTPR5_RESERVED_31_24 0x0 |
| |
| Activate to activate command delay (same bank) |
| PSU_DDR_PHY_DTPR5_TRC 0x32 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DTPR5_RESERVED_15 0x0 |
| |
| Activate to read or write delay |
| PSU_DDR_PHY_DTPR5_TRCD 0xf |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DTPR5_RESERVED_7_5 0x0 |
| |
| Internal write to read command delay |
| PSU_DDR_PHY_DTPR5_TWTR 0x9 |
| |
| DRAM Timing Parameters Register 5 |
| (OFFSET, MASK, VALUE) (0XFD080124, 0xFFFFFFFFU ,0x00320F09U) |
| RegMask = (DDR_PHY_DTPR5_RESERVED_31_24_MASK | DDR_PHY_DTPR5_TRC_MASK | DDR_PHY_DTPR5_RESERVED_15_MASK | DDR_PHY_DTPR5_TRCD_MASK | DDR_PHY_DTPR5_RESERVED_7_5_MASK | DDR_PHY_DTPR5_TWTR_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDR_PHY_DTPR5_RESERVED_31_24_SHIFT |
| | 0x00000032U << DDR_PHY_DTPR5_TRC_SHIFT |
| | 0x00000000U << DDR_PHY_DTPR5_RESERVED_15_SHIFT |
| | 0x0000000FU << DDR_PHY_DTPR5_TRCD_SHIFT |
| | 0x00000000U << DDR_PHY_DTPR5_RESERVED_7_5_SHIFT |
| | 0x00000009U << DDR_PHY_DTPR5_TWTR_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDR_PHY_DTPR5_OFFSET ,0xFFFFFFFFU ,0x00320F09U); |
| /*############################################################################################################################ */ |
| |
| /*Register : DTPR6 @ 0XFD080128</p> |
| |
| PUB Write Latency Enable |
| PSU_DDR_PHY_DTPR6_PUBWLEN 0x0 |
| |
| PUB Read Latency Enable |
| PSU_DDR_PHY_DTPR6_PUBRLEN 0x0 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DTPR6_RESERVED_29_14 0x0 |
| |
| Write Latency |
| PSU_DDR_PHY_DTPR6_PUBWL 0xe |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DTPR6_RESERVED_7_6 0x0 |
| |
| Read Latency |
| PSU_DDR_PHY_DTPR6_PUBRL 0xf |
| |
| DRAM Timing Parameters Register 6 |
| (OFFSET, MASK, VALUE) (0XFD080128, 0xFFFFFFFFU ,0x00000E0FU) |
| RegMask = (DDR_PHY_DTPR6_PUBWLEN_MASK | DDR_PHY_DTPR6_PUBRLEN_MASK | DDR_PHY_DTPR6_RESERVED_29_14_MASK | DDR_PHY_DTPR6_PUBWL_MASK | DDR_PHY_DTPR6_RESERVED_7_6_MASK | DDR_PHY_DTPR6_PUBRL_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDR_PHY_DTPR6_PUBWLEN_SHIFT |
| | 0x00000000U << DDR_PHY_DTPR6_PUBRLEN_SHIFT |
| | 0x00000000U << DDR_PHY_DTPR6_RESERVED_29_14_SHIFT |
| | 0x0000000EU << DDR_PHY_DTPR6_PUBWL_SHIFT |
| | 0x00000000U << DDR_PHY_DTPR6_RESERVED_7_6_SHIFT |
| | 0x0000000FU << DDR_PHY_DTPR6_PUBRL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDR_PHY_DTPR6_OFFSET ,0xFFFFFFFFU ,0x00000E0FU); |
| /*############################################################################################################################ */ |
| |
| /*Register : RDIMMGCR0 @ 0XFD080140</p> |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_RDIMMGCR0_RESERVED_31 0x0 |
| |
| RDMIMM Quad CS Enable |
| PSU_DDR_PHY_RDIMMGCR0_QCSEN 0x0 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_RDIMMGCR0_RESERVED_29_28 0x0 |
| |
| RDIMM Outputs I/O Mode |
| PSU_DDR_PHY_RDIMMGCR0_RDIMMIOM 0x1 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_RDIMMGCR0_RESERVED_26_24 0x0 |
| |
| ERROUT# Output Enable |
| PSU_DDR_PHY_RDIMMGCR0_ERROUTOE 0x0 |
| |
| ERROUT# I/O Mode |
| PSU_DDR_PHY_RDIMMGCR0_ERROUTIOM 0x1 |
| |
| ERROUT# Power Down Receiver |
| PSU_DDR_PHY_RDIMMGCR0_ERROUTPDR 0x0 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_RDIMMGCR0_RESERVED_20 0x0 |
| |
| ERROUT# On-Die Termination |
| PSU_DDR_PHY_RDIMMGCR0_ERROUTODT 0x0 |
| |
| Load Reduced DIMM |
| PSU_DDR_PHY_RDIMMGCR0_LRDIMM 0x0 |
| |
| PAR_IN I/O Mode |
| PSU_DDR_PHY_RDIMMGCR0_PARINIOM 0x0 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_RDIMMGCR0_RESERVED_16_8 0x0 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_RDIMMGCR0_RNKMRREN_RSVD 0x0 |
| |
| Rank Mirror Enable. |
| PSU_DDR_PHY_RDIMMGCR0_RNKMRREN 0x2 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_RDIMMGCR0_RESERVED_3 0x0 |
| |
| Stop on Parity Error |
| PSU_DDR_PHY_RDIMMGCR0_SOPERR 0x0 |
| |
| Parity Error No Registering |
| PSU_DDR_PHY_RDIMMGCR0_ERRNOREG 0x0 |
| |
| Registered DIMM |
| PSU_DDR_PHY_RDIMMGCR0_RDIMM 0x0 |
| |
| RDIMM General Configuration Register 0 |
| (OFFSET, MASK, VALUE) (0XFD080140, 0xFFFFFFFFU ,0x08400020U) |
| RegMask = (DDR_PHY_RDIMMGCR0_RESERVED_31_MASK | DDR_PHY_RDIMMGCR0_QCSEN_MASK | DDR_PHY_RDIMMGCR0_RESERVED_29_28_MASK | DDR_PHY_RDIMMGCR0_RDIMMIOM_MASK | DDR_PHY_RDIMMGCR0_RESERVED_26_24_MASK | DDR_PHY_RDIMMGCR0_ERROUTOE_MASK | DDR_PHY_RDIMMGCR0_ERROUTIOM_MASK | DDR_PHY_RDIMMGCR0_ERROUTPDR_MASK | DDR_PHY_RDIMMGCR0_RESERVED_20_MASK | DDR_PHY_RDIMMGCR0_ERROUTODT_MASK | DDR_PHY_RDIMMGCR0_LRDIMM_MASK | DDR_PHY_RDIMMGCR0_PARINIOM_MASK | DDR_PHY_RDIMMGCR0_RESERVED_16_8_MASK | DDR_PHY_RDIMMGCR0_RNKMRREN_RSVD_MASK | DDR_PHY_RDIMMGCR0_RNKMRREN_MASK | DDR_PHY_RDIMMGCR0_RESERVED_3_MASK | DDR_PHY_RDIMMGCR0_SOPERR_MASK | DDR_PHY_RDIMMGCR0_ERRNOREG_MASK | DDR_PHY_RDIMMGCR0_RDIMM_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDR_PHY_RDIMMGCR0_RESERVED_31_SHIFT |
| | 0x00000000U << DDR_PHY_RDIMMGCR0_QCSEN_SHIFT |
| | 0x00000000U << DDR_PHY_RDIMMGCR0_RESERVED_29_28_SHIFT |
| | 0x00000001U << DDR_PHY_RDIMMGCR0_RDIMMIOM_SHIFT |
| | 0x00000000U << DDR_PHY_RDIMMGCR0_RESERVED_26_24_SHIFT |
| | 0x00000000U << DDR_PHY_RDIMMGCR0_ERROUTOE_SHIFT |
| | 0x00000001U << DDR_PHY_RDIMMGCR0_ERROUTIOM_SHIFT |
| | 0x00000000U << DDR_PHY_RDIMMGCR0_ERROUTPDR_SHIFT |
| | 0x00000000U << DDR_PHY_RDIMMGCR0_RESERVED_20_SHIFT |
| | 0x00000000U << DDR_PHY_RDIMMGCR0_ERROUTODT_SHIFT |
| | 0x00000000U << DDR_PHY_RDIMMGCR0_LRDIMM_SHIFT |
| | 0x00000000U << DDR_PHY_RDIMMGCR0_PARINIOM_SHIFT |
| | 0x00000000U << DDR_PHY_RDIMMGCR0_RESERVED_16_8_SHIFT |
| | 0x00000000U << DDR_PHY_RDIMMGCR0_RNKMRREN_RSVD_SHIFT |
| | 0x00000002U << DDR_PHY_RDIMMGCR0_RNKMRREN_SHIFT |
| | 0x00000000U << DDR_PHY_RDIMMGCR0_RESERVED_3_SHIFT |
| | 0x00000000U << DDR_PHY_RDIMMGCR0_SOPERR_SHIFT |
| | 0x00000000U << DDR_PHY_RDIMMGCR0_ERRNOREG_SHIFT |
| | 0x00000000U << DDR_PHY_RDIMMGCR0_RDIMM_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDR_PHY_RDIMMGCR0_OFFSET ,0xFFFFFFFFU ,0x08400020U); |
| /*############################################################################################################################ */ |
| |
| /*Register : RDIMMGCR1 @ 0XFD080144</p> |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_RDIMMGCR1_RESERVED_31_29 0x0 |
| |
| Address [17] B-side Inversion Disable |
| PSU_DDR_PHY_RDIMMGCR1_A17BID 0x0 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_RDIMMGCR1_RESERVED_27 0x0 |
| |
| Command word to command word programming delay |
| PSU_DDR_PHY_RDIMMGCR1_TBCMRD_L2 0x0 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_RDIMMGCR1_RESERVED_23 0x0 |
| |
| Command word to command word programming delay |
| PSU_DDR_PHY_RDIMMGCR1_TBCMRD_L 0x0 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_RDIMMGCR1_RESERVED_19 0x0 |
| |
| Command word to command word programming delay |
| PSU_DDR_PHY_RDIMMGCR1_TBCMRD 0x0 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_RDIMMGCR1_RESERVED_15_14 0x0 |
| |
| Stabilization time |
| PSU_DDR_PHY_RDIMMGCR1_TBCSTAB 0xc80 |
| |
| RDIMM General Configuration Register 1 |
| (OFFSET, MASK, VALUE) (0XFD080144, 0xFFFFFFFFU ,0x00000C80U) |
| RegMask = (DDR_PHY_RDIMMGCR1_RESERVED_31_29_MASK | DDR_PHY_RDIMMGCR1_A17BID_MASK | DDR_PHY_RDIMMGCR1_RESERVED_27_MASK | DDR_PHY_RDIMMGCR1_TBCMRD_L2_MASK | DDR_PHY_RDIMMGCR1_RESERVED_23_MASK | DDR_PHY_RDIMMGCR1_TBCMRD_L_MASK | DDR_PHY_RDIMMGCR1_RESERVED_19_MASK | DDR_PHY_RDIMMGCR1_TBCMRD_MASK | DDR_PHY_RDIMMGCR1_RESERVED_15_14_MASK | DDR_PHY_RDIMMGCR1_TBCSTAB_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDR_PHY_RDIMMGCR1_RESERVED_31_29_SHIFT |
| | 0x00000000U << DDR_PHY_RDIMMGCR1_A17BID_SHIFT |
| | 0x00000000U << DDR_PHY_RDIMMGCR1_RESERVED_27_SHIFT |
| | 0x00000000U << DDR_PHY_RDIMMGCR1_TBCMRD_L2_SHIFT |
| | 0x00000000U << DDR_PHY_RDIMMGCR1_RESERVED_23_SHIFT |
| | 0x00000000U << DDR_PHY_RDIMMGCR1_TBCMRD_L_SHIFT |
| | 0x00000000U << DDR_PHY_RDIMMGCR1_RESERVED_19_SHIFT |
| | 0x00000000U << DDR_PHY_RDIMMGCR1_TBCMRD_SHIFT |
| | 0x00000000U << DDR_PHY_RDIMMGCR1_RESERVED_15_14_SHIFT |
| | 0x00000C80U << DDR_PHY_RDIMMGCR1_TBCSTAB_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDR_PHY_RDIMMGCR1_OFFSET ,0xFFFFFFFFU ,0x00000C80U); |
| /*############################################################################################################################ */ |
| |
| /*Register : RDIMMCR1 @ 0XFD080154</p> |
| |
| Control Word 15 |
| PSU_DDR_PHY_RDIMMCR1_RC15 0x0 |
| |
| DDR4 Control Word 14 (Parity Control Word) / DDR3 Reserved |
| PSU_DDR_PHY_RDIMMCR1_RC14 0x0 |
| |
| DDR4 Control Word 13 (DIMM Configuration Control Word) / DDR3 Reserved |
| PSU_DDR_PHY_RDIMMCR1_RC13 0x0 |
| |
| DDR4 Control Word 12 (Training Control Word) / DDR3 Reserved |
| PSU_DDR_PHY_RDIMMCR1_RC12 0x0 |
| |
| DDR4 Control Word 11 (Operating Voltage VDD and VREFCA Source Control Word) / DDR3 Control Word 11 (Operation Voltage VDD Con |
| rol Word) |
| PSU_DDR_PHY_RDIMMCR1_RC11 0x0 |
| |
| DDR4/DDR3 Control Word 10 (RDIMM Operating Speed Control Word) |
| PSU_DDR_PHY_RDIMMCR1_RC10 0x2 |
| |
| DDR4/DDR3 Control Word 9 (Power Saving Settings Control Word) |
| PSU_DDR_PHY_RDIMMCR1_RC9 0x0 |
| |
| DDR4 Control Word 8 (Input/Output Configuration Control Word) / DDR3 Control Word 8 (Additional Input Bus Termination Setting |
| Control Word) |
| PSU_DDR_PHY_RDIMMCR1_RC8 0x0 |
| |
| RDIMM Control Register 1 |
| (OFFSET, MASK, VALUE) (0XFD080154, 0xFFFFFFFFU ,0x00000200U) |
| RegMask = (DDR_PHY_RDIMMCR1_RC15_MASK | DDR_PHY_RDIMMCR1_RC14_MASK | DDR_PHY_RDIMMCR1_RC13_MASK | DDR_PHY_RDIMMCR1_RC12_MASK | DDR_PHY_RDIMMCR1_RC11_MASK | DDR_PHY_RDIMMCR1_RC10_MASK | DDR_PHY_RDIMMCR1_RC9_MASK | DDR_PHY_RDIMMCR1_RC8_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDR_PHY_RDIMMCR1_RC15_SHIFT |
| | 0x00000000U << DDR_PHY_RDIMMCR1_RC14_SHIFT |
| | 0x00000000U << DDR_PHY_RDIMMCR1_RC13_SHIFT |
| | 0x00000000U << DDR_PHY_RDIMMCR1_RC12_SHIFT |
| | 0x00000000U << DDR_PHY_RDIMMCR1_RC11_SHIFT |
| | 0x00000002U << DDR_PHY_RDIMMCR1_RC10_SHIFT |
| | 0x00000000U << DDR_PHY_RDIMMCR1_RC9_SHIFT |
| | 0x00000000U << DDR_PHY_RDIMMCR1_RC8_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDR_PHY_RDIMMCR1_OFFSET ,0xFFFFFFFFU ,0x00000200U); |
| /*############################################################################################################################ */ |
| |
| /*Register : MR0 @ 0XFD080180</p> |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_MR0_RESERVED_31_8 0x8 |
| |
| CA Terminating Rank |
| PSU_DDR_PHY_MR0_CATR 0x0 |
| |
| Reserved. These are JEDEC reserved bits and are recommended by JEDEC to be programmed to 0x0. |
| PSU_DDR_PHY_MR0_RSVD_6_5 0x1 |
| |
| Built-in Self-Test for RZQ |
| PSU_DDR_PHY_MR0_RZQI 0x2 |
| |
| Reserved. These are JEDEC reserved bits and are recommended by JEDEC to be programmed to 0x0. |
| PSU_DDR_PHY_MR0_RSVD_2_0 0x0 |
| |
| LPDDR4 Mode Register 0 |
| (OFFSET, MASK, VALUE) (0XFD080180, 0xFFFFFFFFU ,0x00000830U) |
| RegMask = (DDR_PHY_MR0_RESERVED_31_8_MASK | DDR_PHY_MR0_CATR_MASK | DDR_PHY_MR0_RSVD_6_5_MASK | DDR_PHY_MR0_RZQI_MASK | DDR_PHY_MR0_RSVD_2_0_MASK | 0 ); |
| |
| RegVal = ((0x00000008U << DDR_PHY_MR0_RESERVED_31_8_SHIFT |
| | 0x00000000U << DDR_PHY_MR0_CATR_SHIFT |
| | 0x00000001U << DDR_PHY_MR0_RSVD_6_5_SHIFT |
| | 0x00000002U << DDR_PHY_MR0_RZQI_SHIFT |
| | 0x00000000U << DDR_PHY_MR0_RSVD_2_0_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDR_PHY_MR0_OFFSET ,0xFFFFFFFFU ,0x00000830U); |
| /*############################################################################################################################ */ |
| |
| /*Register : MR1 @ 0XFD080184</p> |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_MR1_RESERVED_31_8 0x3 |
| |
| Read Postamble Length |
| PSU_DDR_PHY_MR1_RDPST 0x0 |
| |
| Write-recovery for auto-precharge command |
| PSU_DDR_PHY_MR1_NWR 0x0 |
| |
| Read Preamble Length |
| PSU_DDR_PHY_MR1_RDPRE 0x0 |
| |
| Write Preamble Length |
| PSU_DDR_PHY_MR1_WRPRE 0x0 |
| |
| Burst Length |
| PSU_DDR_PHY_MR1_BL 0x1 |
| |
| LPDDR4 Mode Register 1 |
| (OFFSET, MASK, VALUE) (0XFD080184, 0xFFFFFFFFU ,0x00000301U) |
| RegMask = (DDR_PHY_MR1_RESERVED_31_8_MASK | DDR_PHY_MR1_RDPST_MASK | DDR_PHY_MR1_NWR_MASK | DDR_PHY_MR1_RDPRE_MASK | DDR_PHY_MR1_WRPRE_MASK | DDR_PHY_MR1_BL_MASK | 0 ); |
| |
| RegVal = ((0x00000003U << DDR_PHY_MR1_RESERVED_31_8_SHIFT |
| | 0x00000000U << DDR_PHY_MR1_RDPST_SHIFT |
| | 0x00000000U << DDR_PHY_MR1_NWR_SHIFT |
| | 0x00000000U << DDR_PHY_MR1_RDPRE_SHIFT |
| | 0x00000000U << DDR_PHY_MR1_WRPRE_SHIFT |
| | 0x00000001U << DDR_PHY_MR1_BL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDR_PHY_MR1_OFFSET ,0xFFFFFFFFU ,0x00000301U); |
| /*############################################################################################################################ */ |
| |
| /*Register : MR2 @ 0XFD080188</p> |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_MR2_RESERVED_31_8 0x0 |
| |
| Write Leveling |
| PSU_DDR_PHY_MR2_WRL 0x0 |
| |
| Write Latency Set |
| PSU_DDR_PHY_MR2_WLS 0x0 |
| |
| Write Latency |
| PSU_DDR_PHY_MR2_WL 0x4 |
| |
| Read Latency |
| PSU_DDR_PHY_MR2_RL 0x0 |
| |
| LPDDR4 Mode Register 2 |
| (OFFSET, MASK, VALUE) (0XFD080188, 0xFFFFFFFFU ,0x00000020U) |
| RegMask = (DDR_PHY_MR2_RESERVED_31_8_MASK | DDR_PHY_MR2_WRL_MASK | DDR_PHY_MR2_WLS_MASK | DDR_PHY_MR2_WL_MASK | DDR_PHY_MR2_RL_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDR_PHY_MR2_RESERVED_31_8_SHIFT |
| | 0x00000000U << DDR_PHY_MR2_WRL_SHIFT |
| | 0x00000000U << DDR_PHY_MR2_WLS_SHIFT |
| | 0x00000004U << DDR_PHY_MR2_WL_SHIFT |
| | 0x00000000U << DDR_PHY_MR2_RL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDR_PHY_MR2_OFFSET ,0xFFFFFFFFU ,0x00000020U); |
| /*############################################################################################################################ */ |
| |
| /*Register : MR3 @ 0XFD08018C</p> |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_MR3_RESERVED_31_8 0x2 |
| |
| DBI-Write Enable |
| PSU_DDR_PHY_MR3_DBIWR 0x0 |
| |
| DBI-Read Enable |
| PSU_DDR_PHY_MR3_DBIRD 0x0 |
| |
| Pull-down Drive Strength |
| PSU_DDR_PHY_MR3_PDDS 0x0 |
| |
| These are JEDEC reserved bits and are recommended by JEDEC to be programmed to 0x0. |
| PSU_DDR_PHY_MR3_RSVD 0x0 |
| |
| Write Postamble Length |
| PSU_DDR_PHY_MR3_WRPST 0x0 |
| |
| Pull-up Calibration Point |
| PSU_DDR_PHY_MR3_PUCAL 0x0 |
| |
| LPDDR4 Mode Register 3 |
| (OFFSET, MASK, VALUE) (0XFD08018C, 0xFFFFFFFFU ,0x00000200U) |
| RegMask = (DDR_PHY_MR3_RESERVED_31_8_MASK | DDR_PHY_MR3_DBIWR_MASK | DDR_PHY_MR3_DBIRD_MASK | DDR_PHY_MR3_PDDS_MASK | DDR_PHY_MR3_RSVD_MASK | DDR_PHY_MR3_WRPST_MASK | DDR_PHY_MR3_PUCAL_MASK | 0 ); |
| |
| RegVal = ((0x00000002U << DDR_PHY_MR3_RESERVED_31_8_SHIFT |
| | 0x00000000U << DDR_PHY_MR3_DBIWR_SHIFT |
| | 0x00000000U << DDR_PHY_MR3_DBIRD_SHIFT |
| | 0x00000000U << DDR_PHY_MR3_PDDS_SHIFT |
| | 0x00000000U << DDR_PHY_MR3_RSVD_SHIFT |
| | 0x00000000U << DDR_PHY_MR3_WRPST_SHIFT |
| | 0x00000000U << DDR_PHY_MR3_PUCAL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDR_PHY_MR3_OFFSET ,0xFFFFFFFFU ,0x00000200U); |
| /*############################################################################################################################ */ |
| |
| /*Register : MR4 @ 0XFD080190</p> |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_MR4_RESERVED_31_16 0x0 |
| |
| These are JEDEC reserved bits and are recommended by JEDEC to be programmed to 0x0. |
| PSU_DDR_PHY_MR4_RSVD_15_13 0x0 |
| |
| Write Preamble |
| PSU_DDR_PHY_MR4_WRP 0x0 |
| |
| Read Preamble |
| PSU_DDR_PHY_MR4_RDP 0x0 |
| |
| Read Preamble Training Mode |
| PSU_DDR_PHY_MR4_RPTM 0x0 |
| |
| Self Refresh Abort |
| PSU_DDR_PHY_MR4_SRA 0x0 |
| |
| CS to Command Latency Mode |
| PSU_DDR_PHY_MR4_CS2CMDL 0x0 |
| |
| These are JEDEC reserved bits and are recommended by JEDEC to be programmed to 0x0. |
| PSU_DDR_PHY_MR4_RSVD1 0x0 |
| |
| Internal VREF Monitor |
| PSU_DDR_PHY_MR4_IVM 0x0 |
| |
| Temperature Controlled Refresh Mode |
| PSU_DDR_PHY_MR4_TCRM 0x0 |
| |
| Temperature Controlled Refresh Range |
| PSU_DDR_PHY_MR4_TCRR 0x0 |
| |
| Maximum Power Down Mode |
| PSU_DDR_PHY_MR4_MPDM 0x0 |
| |
| This is a JEDEC reserved bit and is recommended by JEDEC to be programmed to 0x0. |
| PSU_DDR_PHY_MR4_RSVD_0 0x0 |
| |
| DDR4 Mode Register 4 |
| (OFFSET, MASK, VALUE) (0XFD080190, 0xFFFFFFFFU ,0x00000000U) |
| RegMask = (DDR_PHY_MR4_RESERVED_31_16_MASK | DDR_PHY_MR4_RSVD_15_13_MASK | DDR_PHY_MR4_WRP_MASK | DDR_PHY_MR4_RDP_MASK | DDR_PHY_MR4_RPTM_MASK | DDR_PHY_MR4_SRA_MASK | DDR_PHY_MR4_CS2CMDL_MASK | DDR_PHY_MR4_RSVD1_MASK | DDR_PHY_MR4_IVM_MASK | DDR_PHY_MR4_TCRM_MASK | DDR_PHY_MR4_TCRR_MASK | DDR_PHY_MR4_MPDM_MASK | DDR_PHY_MR4_RSVD_0_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDR_PHY_MR4_RESERVED_31_16_SHIFT |
| | 0x00000000U << DDR_PHY_MR4_RSVD_15_13_SHIFT |
| | 0x00000000U << DDR_PHY_MR4_WRP_SHIFT |
| | 0x00000000U << DDR_PHY_MR4_RDP_SHIFT |
| | 0x00000000U << DDR_PHY_MR4_RPTM_SHIFT |
| | 0x00000000U << DDR_PHY_MR4_SRA_SHIFT |
| | 0x00000000U << DDR_PHY_MR4_CS2CMDL_SHIFT |
| | 0x00000000U << DDR_PHY_MR4_RSVD1_SHIFT |
| | 0x00000000U << DDR_PHY_MR4_IVM_SHIFT |
| | 0x00000000U << DDR_PHY_MR4_TCRM_SHIFT |
| | 0x00000000U << DDR_PHY_MR4_TCRR_SHIFT |
| | 0x00000000U << DDR_PHY_MR4_MPDM_SHIFT |
| | 0x00000000U << DDR_PHY_MR4_RSVD_0_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDR_PHY_MR4_OFFSET ,0xFFFFFFFFU ,0x00000000U); |
| /*############################################################################################################################ */ |
| |
| /*Register : MR5 @ 0XFD080194</p> |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_MR5_RESERVED_31_16 0x0 |
| |
| These are JEDEC reserved bits and are recommended by JEDEC to be programmed to 0x0. |
| PSU_DDR_PHY_MR5_RSVD 0x0 |
| |
| Read DBI |
| PSU_DDR_PHY_MR5_RDBI 0x0 |
| |
| Write DBI |
| PSU_DDR_PHY_MR5_WDBI 0x0 |
| |
| Data Mask |
| PSU_DDR_PHY_MR5_DM 0x1 |
| |
| CA Parity Persistent Error |
| PSU_DDR_PHY_MR5_CAPPE 0x1 |
| |
| RTT_PARK |
| PSU_DDR_PHY_MR5_RTTPARK 0x3 |
| |
| ODT Input Buffer during Power Down mode |
| PSU_DDR_PHY_MR5_ODTIBPD 0x0 |
| |
| C/A Parity Error Status |
| PSU_DDR_PHY_MR5_CAPES 0x0 |
| |
| CRC Error Clear |
| PSU_DDR_PHY_MR5_CRCEC 0x0 |
| |
| C/A Parity Latency Mode |
| PSU_DDR_PHY_MR5_CAPM 0x0 |
| |
| DDR4 Mode Register 5 |
| (OFFSET, MASK, VALUE) (0XFD080194, 0xFFFFFFFFU ,0x000006C0U) |
| RegMask = (DDR_PHY_MR5_RESERVED_31_16_MASK | DDR_PHY_MR5_RSVD_MASK | DDR_PHY_MR5_RDBI_MASK | DDR_PHY_MR5_WDBI_MASK | DDR_PHY_MR5_DM_MASK | DDR_PHY_MR5_CAPPE_MASK | DDR_PHY_MR5_RTTPARK_MASK | DDR_PHY_MR5_ODTIBPD_MASK | DDR_PHY_MR5_CAPES_MASK | DDR_PHY_MR5_CRCEC_MASK | DDR_PHY_MR5_CAPM_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDR_PHY_MR5_RESERVED_31_16_SHIFT |
| | 0x00000000U << DDR_PHY_MR5_RSVD_SHIFT |
| | 0x00000000U << DDR_PHY_MR5_RDBI_SHIFT |
| | 0x00000000U << DDR_PHY_MR5_WDBI_SHIFT |
| | 0x00000001U << DDR_PHY_MR5_DM_SHIFT |
| | 0x00000001U << DDR_PHY_MR5_CAPPE_SHIFT |
| | 0x00000003U << DDR_PHY_MR5_RTTPARK_SHIFT |
| | 0x00000000U << DDR_PHY_MR5_ODTIBPD_SHIFT |
| | 0x00000000U << DDR_PHY_MR5_CAPES_SHIFT |
| | 0x00000000U << DDR_PHY_MR5_CRCEC_SHIFT |
| | 0x00000000U << DDR_PHY_MR5_CAPM_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDR_PHY_MR5_OFFSET ,0xFFFFFFFFU ,0x000006C0U); |
| /*############################################################################################################################ */ |
| |
| /*Register : MR6 @ 0XFD080198</p> |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_MR6_RESERVED_31_16 0x0 |
| |
| These are JEDEC reserved bits and are recommended by JEDEC to be programmed to 0x0. |
| PSU_DDR_PHY_MR6_RSVD_15_13 0x0 |
| |
| CAS_n to CAS_n command delay for same bank group (tCCD_L) |
| PSU_DDR_PHY_MR6_TCCDL 0x2 |
| |
| These are JEDEC reserved bits and are recommended by JEDEC to be programmed to 0x0. |
| PSU_DDR_PHY_MR6_RSVD_9_8 0x0 |
| |
| VrefDQ Training Enable |
| PSU_DDR_PHY_MR6_VDDQTEN 0x0 |
| |
| VrefDQ Training Range |
| PSU_DDR_PHY_MR6_VDQTRG 0x0 |
| |
| VrefDQ Training Values |
| PSU_DDR_PHY_MR6_VDQTVAL 0x19 |
| |
| DDR4 Mode Register 6 |
| (OFFSET, MASK, VALUE) (0XFD080198, 0xFFFFFFFFU ,0x00000819U) |
| RegMask = (DDR_PHY_MR6_RESERVED_31_16_MASK | DDR_PHY_MR6_RSVD_15_13_MASK | DDR_PHY_MR6_TCCDL_MASK | DDR_PHY_MR6_RSVD_9_8_MASK | DDR_PHY_MR6_VDDQTEN_MASK | DDR_PHY_MR6_VDQTRG_MASK | DDR_PHY_MR6_VDQTVAL_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDR_PHY_MR6_RESERVED_31_16_SHIFT |
| | 0x00000000U << DDR_PHY_MR6_RSVD_15_13_SHIFT |
| | 0x00000002U << DDR_PHY_MR6_TCCDL_SHIFT |
| | 0x00000000U << DDR_PHY_MR6_RSVD_9_8_SHIFT |
| | 0x00000000U << DDR_PHY_MR6_VDDQTEN_SHIFT |
| | 0x00000000U << DDR_PHY_MR6_VDQTRG_SHIFT |
| | 0x00000019U << DDR_PHY_MR6_VDQTVAL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDR_PHY_MR6_OFFSET ,0xFFFFFFFFU ,0x00000819U); |
| /*############################################################################################################################ */ |
| |
| /*Register : MR11 @ 0XFD0801AC</p> |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_MR11_RESERVED_31_8 0x0 |
| |
| These are JEDEC reserved bits and are recommended by JEDEC to be programmed to 0x0. |
| PSU_DDR_PHY_MR11_RSVD 0x0 |
| |
| Power Down Control |
| PSU_DDR_PHY_MR11_PDCTL 0x0 |
| |
| DQ Bus Receiver On-Die-Termination |
| PSU_DDR_PHY_MR11_DQODT 0x0 |
| |
| LPDDR4 Mode Register 11 |
| (OFFSET, MASK, VALUE) (0XFD0801AC, 0xFFFFFFFFU ,0x00000000U) |
| RegMask = (DDR_PHY_MR11_RESERVED_31_8_MASK | DDR_PHY_MR11_RSVD_MASK | DDR_PHY_MR11_PDCTL_MASK | DDR_PHY_MR11_DQODT_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDR_PHY_MR11_RESERVED_31_8_SHIFT |
| | 0x00000000U << DDR_PHY_MR11_RSVD_SHIFT |
| | 0x00000000U << DDR_PHY_MR11_PDCTL_SHIFT |
| | 0x00000000U << DDR_PHY_MR11_DQODT_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDR_PHY_MR11_OFFSET ,0xFFFFFFFFU ,0x00000000U); |
| /*############################################################################################################################ */ |
| |
| /*Register : MR12 @ 0XFD0801B0</p> |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_MR12_RESERVED_31_8 0x0 |
| |
| These are JEDEC reserved bits and are recommended by JEDEC to be programmed to 0x0. |
| PSU_DDR_PHY_MR12_RSVD 0x0 |
| |
| VREF_CA Range Select. |
| PSU_DDR_PHY_MR12_VR_CA 0x1 |
| |
| Controls the VREF(ca) levels for Frequency-Set-Point[1:0]. |
| PSU_DDR_PHY_MR12_VREF_CA 0xd |
| |
| LPDDR4 Mode Register 12 |
| (OFFSET, MASK, VALUE) (0XFD0801B0, 0xFFFFFFFFU ,0x0000004DU) |
| RegMask = (DDR_PHY_MR12_RESERVED_31_8_MASK | DDR_PHY_MR12_RSVD_MASK | DDR_PHY_MR12_VR_CA_MASK | DDR_PHY_MR12_VREF_CA_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDR_PHY_MR12_RESERVED_31_8_SHIFT |
| | 0x00000000U << DDR_PHY_MR12_RSVD_SHIFT |
| | 0x00000001U << DDR_PHY_MR12_VR_CA_SHIFT |
| | 0x0000000DU << DDR_PHY_MR12_VREF_CA_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDR_PHY_MR12_OFFSET ,0xFFFFFFFFU ,0x0000004DU); |
| /*############################################################################################################################ */ |
| |
| /*Register : MR13 @ 0XFD0801B4</p> |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_MR13_RESERVED_31_8 0x0 |
| |
| Frequency Set Point Operation Mode |
| PSU_DDR_PHY_MR13_FSPOP 0x0 |
| |
| Frequency Set Point Write Enable |
| PSU_DDR_PHY_MR13_FSPWR 0x0 |
| |
| Data Mask Enable |
| PSU_DDR_PHY_MR13_DMD 0x0 |
| |
| Refresh Rate Option |
| PSU_DDR_PHY_MR13_RRO 0x0 |
| |
| VREF Current Generator |
| PSU_DDR_PHY_MR13_VRCG 0x1 |
| |
| VREF Output |
| PSU_DDR_PHY_MR13_VRO 0x0 |
| |
| Read Preamble Training Mode |
| PSU_DDR_PHY_MR13_RPT 0x0 |
| |
| Command Bus Training |
| PSU_DDR_PHY_MR13_CBT 0x0 |
| |
| LPDDR4 Mode Register 13 |
| (OFFSET, MASK, VALUE) (0XFD0801B4, 0xFFFFFFFFU ,0x00000008U) |
| RegMask = (DDR_PHY_MR13_RESERVED_31_8_MASK | DDR_PHY_MR13_FSPOP_MASK | DDR_PHY_MR13_FSPWR_MASK | DDR_PHY_MR13_DMD_MASK | DDR_PHY_MR13_RRO_MASK | DDR_PHY_MR13_VRCG_MASK | DDR_PHY_MR13_VRO_MASK | DDR_PHY_MR13_RPT_MASK | DDR_PHY_MR13_CBT_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDR_PHY_MR13_RESERVED_31_8_SHIFT |
| | 0x00000000U << DDR_PHY_MR13_FSPOP_SHIFT |
| | 0x00000000U << DDR_PHY_MR13_FSPWR_SHIFT |
| | 0x00000000U << DDR_PHY_MR13_DMD_SHIFT |
| | 0x00000000U << DDR_PHY_MR13_RRO_SHIFT |
| | 0x00000001U << DDR_PHY_MR13_VRCG_SHIFT |
| | 0x00000000U << DDR_PHY_MR13_VRO_SHIFT |
| | 0x00000000U << DDR_PHY_MR13_RPT_SHIFT |
| | 0x00000000U << DDR_PHY_MR13_CBT_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDR_PHY_MR13_OFFSET ,0xFFFFFFFFU ,0x00000008U); |
| /*############################################################################################################################ */ |
| |
| /*Register : MR14 @ 0XFD0801B8</p> |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_MR14_RESERVED_31_8 0x0 |
| |
| These are JEDEC reserved bits and are recommended by JEDEC to be programmed to 0x0. |
| PSU_DDR_PHY_MR14_RSVD 0x0 |
| |
| VREFDQ Range Selects. |
| PSU_DDR_PHY_MR14_VR_DQ 0x1 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_MR14_VREF_DQ 0xd |
| |
| LPDDR4 Mode Register 14 |
| (OFFSET, MASK, VALUE) (0XFD0801B8, 0xFFFFFFFFU ,0x0000004DU) |
| RegMask = (DDR_PHY_MR14_RESERVED_31_8_MASK | DDR_PHY_MR14_RSVD_MASK | DDR_PHY_MR14_VR_DQ_MASK | DDR_PHY_MR14_VREF_DQ_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDR_PHY_MR14_RESERVED_31_8_SHIFT |
| | 0x00000000U << DDR_PHY_MR14_RSVD_SHIFT |
| | 0x00000001U << DDR_PHY_MR14_VR_DQ_SHIFT |
| | 0x0000000DU << DDR_PHY_MR14_VREF_DQ_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDR_PHY_MR14_OFFSET ,0xFFFFFFFFU ,0x0000004DU); |
| /*############################################################################################################################ */ |
| |
| /*Register : MR22 @ 0XFD0801D8</p> |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_MR22_RESERVED_31_8 0x0 |
| |
| These are JEDEC reserved bits and are recommended by JEDEC to be programmed to 0x0. |
| PSU_DDR_PHY_MR22_RSVD 0x0 |
| |
| CA ODT termination disable. |
| PSU_DDR_PHY_MR22_ODTD_CA 0x0 |
| |
| ODT CS override. |
| PSU_DDR_PHY_MR22_ODTE_CS 0x0 |
| |
| ODT CK override. |
| PSU_DDR_PHY_MR22_ODTE_CK 0x0 |
| |
| Controller ODT value for VOH calibration. |
| PSU_DDR_PHY_MR22_CODT 0x0 |
| |
| LPDDR4 Mode Register 22 |
| (OFFSET, MASK, VALUE) (0XFD0801D8, 0xFFFFFFFFU ,0x00000000U) |
| RegMask = (DDR_PHY_MR22_RESERVED_31_8_MASK | DDR_PHY_MR22_RSVD_MASK | DDR_PHY_MR22_ODTD_CA_MASK | DDR_PHY_MR22_ODTE_CS_MASK | DDR_PHY_MR22_ODTE_CK_MASK | DDR_PHY_MR22_CODT_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDR_PHY_MR22_RESERVED_31_8_SHIFT |
| | 0x00000000U << DDR_PHY_MR22_RSVD_SHIFT |
| | 0x00000000U << DDR_PHY_MR22_ODTD_CA_SHIFT |
| | 0x00000000U << DDR_PHY_MR22_ODTE_CS_SHIFT |
| | 0x00000000U << DDR_PHY_MR22_ODTE_CK_SHIFT |
| | 0x00000000U << DDR_PHY_MR22_CODT_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDR_PHY_MR22_OFFSET ,0xFFFFFFFFU ,0x00000000U); |
| /*############################################################################################################################ */ |
| |
| /*Register : DTCR0 @ 0XFD080200</p> |
| |
| Refresh During Training |
| PSU_DDR_PHY_DTCR0_RFSHDT 0x8 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DTCR0_RESERVED_27_26 0x0 |
| |
| Data Training Debug Rank Select |
| PSU_DDR_PHY_DTCR0_DTDRS 0x1 |
| |
| Data Training with Early/Extended Gate |
| PSU_DDR_PHY_DTCR0_DTEXG 0x0 |
| |
| Data Training Extended Write DQS |
| PSU_DDR_PHY_DTCR0_DTEXD 0x0 |
| |
| Data Training Debug Step |
| PSU_DDR_PHY_DTCR0_DTDSTP 0x0 |
| |
| Data Training Debug Enable |
| PSU_DDR_PHY_DTCR0_DTDEN 0x0 |
| |
| Data Training Debug Byte Select |
| PSU_DDR_PHY_DTCR0_DTDBS 0x0 |
| |
| Data Training read DBI deskewing configuration |
| PSU_DDR_PHY_DTCR0_DTRDBITR 0x0 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DTCR0_RESERVED_13 0x0 |
| |
| Data Training Write Bit Deskew Data Mask |
| PSU_DDR_PHY_DTCR0_DTWBDDM 0x1 |
| |
| Refreshes Issued During Entry to Training |
| PSU_DDR_PHY_DTCR0_RFSHEN 0x1 |
| |
| Data Training Compare Data |
| PSU_DDR_PHY_DTCR0_DTCMPD 0x1 |
| |
| Data Training Using MPR |
| PSU_DDR_PHY_DTCR0_DTMPR 0x1 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DTCR0_RESERVED_5_4 0x0 |
| |
| Data Training Repeat Number |
| PSU_DDR_PHY_DTCR0_DTRPTN 0x7 |
| |
| Data Training Configuration Register 0 |
| (OFFSET, MASK, VALUE) (0XFD080200, 0xFFFFFFFFU ,0x810011C7U) |
| RegMask = (DDR_PHY_DTCR0_RFSHDT_MASK | DDR_PHY_DTCR0_RESERVED_27_26_MASK | DDR_PHY_DTCR0_DTDRS_MASK | DDR_PHY_DTCR0_DTEXG_MASK | DDR_PHY_DTCR0_DTEXD_MASK | DDR_PHY_DTCR0_DTDSTP_MASK | DDR_PHY_DTCR0_DTDEN_MASK | DDR_PHY_DTCR0_DTDBS_MASK | DDR_PHY_DTCR0_DTRDBITR_MASK | DDR_PHY_DTCR0_RESERVED_13_MASK | DDR_PHY_DTCR0_DTWBDDM_MASK | DDR_PHY_DTCR0_RFSHEN_MASK | DDR_PHY_DTCR0_DTCMPD_MASK | DDR_PHY_DTCR0_DTMPR_MASK | DDR_PHY_DTCR0_RESERVED_5_4_MASK | DDR_PHY_DTCR0_DTRPTN_MASK | 0 ); |
| |
| RegVal = ((0x00000008U << DDR_PHY_DTCR0_RFSHDT_SHIFT |
| | 0x00000000U << DDR_PHY_DTCR0_RESERVED_27_26_SHIFT |
| | 0x00000001U << DDR_PHY_DTCR0_DTDRS_SHIFT |
| | 0x00000000U << DDR_PHY_DTCR0_DTEXG_SHIFT |
| | 0x00000000U << DDR_PHY_DTCR0_DTEXD_SHIFT |
| | 0x00000000U << DDR_PHY_DTCR0_DTDSTP_SHIFT |
| | 0x00000000U << DDR_PHY_DTCR0_DTDEN_SHIFT |
| | 0x00000000U << DDR_PHY_DTCR0_DTDBS_SHIFT |
| | 0x00000000U << DDR_PHY_DTCR0_DTRDBITR_SHIFT |
| | 0x00000000U << DDR_PHY_DTCR0_RESERVED_13_SHIFT |
| | 0x00000001U << DDR_PHY_DTCR0_DTWBDDM_SHIFT |
| | 0x00000001U << DDR_PHY_DTCR0_RFSHEN_SHIFT |
| | 0x00000001U << DDR_PHY_DTCR0_DTCMPD_SHIFT |
| | 0x00000001U << DDR_PHY_DTCR0_DTMPR_SHIFT |
| | 0x00000000U << DDR_PHY_DTCR0_RESERVED_5_4_SHIFT |
| | 0x00000007U << DDR_PHY_DTCR0_DTRPTN_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDR_PHY_DTCR0_OFFSET ,0xFFFFFFFFU ,0x810011C7U); |
| /*############################################################################################################################ */ |
| |
| /*Register : DTCR1 @ 0XFD080204</p> |
| |
| Rank Enable. |
| PSU_DDR_PHY_DTCR1_RANKEN_RSVD 0x0 |
| |
| Rank Enable. |
| PSU_DDR_PHY_DTCR1_RANKEN 0x1 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DTCR1_RESERVED_15_14 0x0 |
| |
| Data Training Rank |
| PSU_DDR_PHY_DTCR1_DTRANK 0x0 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DTCR1_RESERVED_11 0x0 |
| |
| Read Leveling Gate Sampling Difference |
| PSU_DDR_PHY_DTCR1_RDLVLGDIFF 0x2 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DTCR1_RESERVED_7 0x0 |
| |
| Read Leveling Gate Shift |
| PSU_DDR_PHY_DTCR1_RDLVLGS 0x3 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DTCR1_RESERVED_3 0x0 |
| |
| Read Preamble Training enable |
| PSU_DDR_PHY_DTCR1_RDPRMVL_TRN 0x1 |
| |
| Read Leveling Enable |
| PSU_DDR_PHY_DTCR1_RDLVLEN 0x1 |
| |
| Basic Gate Training Enable |
| PSU_DDR_PHY_DTCR1_BSTEN 0x0 |
| |
| Data Training Configuration Register 1 |
| (OFFSET, MASK, VALUE) (0XFD080204, 0xFFFFFFFFU ,0x00010236U) |
| RegMask = (DDR_PHY_DTCR1_RANKEN_RSVD_MASK | DDR_PHY_DTCR1_RANKEN_MASK | DDR_PHY_DTCR1_RESERVED_15_14_MASK | DDR_PHY_DTCR1_DTRANK_MASK | DDR_PHY_DTCR1_RESERVED_11_MASK | DDR_PHY_DTCR1_RDLVLGDIFF_MASK | DDR_PHY_DTCR1_RESERVED_7_MASK | DDR_PHY_DTCR1_RDLVLGS_MASK | DDR_PHY_DTCR1_RESERVED_3_MASK | DDR_PHY_DTCR1_RDPRMVL_TRN_MASK | DDR_PHY_DTCR1_RDLVLEN_MASK | DDR_PHY_DTCR1_BSTEN_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDR_PHY_DTCR1_RANKEN_RSVD_SHIFT |
| | 0x00000001U << DDR_PHY_DTCR1_RANKEN_SHIFT |
| | 0x00000000U << DDR_PHY_DTCR1_RESERVED_15_14_SHIFT |
| | 0x00000000U << DDR_PHY_DTCR1_DTRANK_SHIFT |
| | 0x00000000U << DDR_PHY_DTCR1_RESERVED_11_SHIFT |
| | 0x00000002U << DDR_PHY_DTCR1_RDLVLGDIFF_SHIFT |
| | 0x00000000U << DDR_PHY_DTCR1_RESERVED_7_SHIFT |
| | 0x00000003U << DDR_PHY_DTCR1_RDLVLGS_SHIFT |
| | 0x00000000U << DDR_PHY_DTCR1_RESERVED_3_SHIFT |
| | 0x00000001U << DDR_PHY_DTCR1_RDPRMVL_TRN_SHIFT |
| | 0x00000001U << DDR_PHY_DTCR1_RDLVLEN_SHIFT |
| | 0x00000000U << DDR_PHY_DTCR1_BSTEN_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDR_PHY_DTCR1_OFFSET ,0xFFFFFFFFU ,0x00010236U); |
| /*############################################################################################################################ */ |
| |
| /*Register : CATR0 @ 0XFD080240</p> |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_CATR0_RESERVED_31_21 0x0 |
| |
| Minimum time (in terms of number of dram clocks) between two consectuve CA calibration command |
| PSU_DDR_PHY_CATR0_CACD 0x14 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_CATR0_RESERVED_15_13 0x0 |
| |
| 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 |
| PSU_DDR_PHY_CATR0_CAADR 0x10 |
| |
| CA_1 Response Byte Lane 1 |
| PSU_DDR_PHY_CATR0_CA1BYTE1 0x5 |
| |
| CA_1 Response Byte Lane 0 |
| PSU_DDR_PHY_CATR0_CA1BYTE0 0x4 |
| |
| CA Training Register 0 |
| (OFFSET, MASK, VALUE) (0XFD080240, 0xFFFFFFFFU ,0x00141054U) |
| RegMask = (DDR_PHY_CATR0_RESERVED_31_21_MASK | DDR_PHY_CATR0_CACD_MASK | DDR_PHY_CATR0_RESERVED_15_13_MASK | DDR_PHY_CATR0_CAADR_MASK | DDR_PHY_CATR0_CA1BYTE1_MASK | DDR_PHY_CATR0_CA1BYTE0_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDR_PHY_CATR0_RESERVED_31_21_SHIFT |
| | 0x00000014U << DDR_PHY_CATR0_CACD_SHIFT |
| | 0x00000000U << DDR_PHY_CATR0_RESERVED_15_13_SHIFT |
| | 0x00000010U << DDR_PHY_CATR0_CAADR_SHIFT |
| | 0x00000005U << DDR_PHY_CATR0_CA1BYTE1_SHIFT |
| | 0x00000004U << DDR_PHY_CATR0_CA1BYTE0_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDR_PHY_CATR0_OFFSET ,0xFFFFFFFFU ,0x00141054U); |
| /*############################################################################################################################ */ |
| |
| /*Register : RIOCR5 @ 0XFD0804F4</p> |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_RIOCR5_RESERVED_31_16 0x0 |
| |
| Reserved. Return zeros on reads. |
| PSU_DDR_PHY_RIOCR5_ODTOEMODE_RSVD 0x0 |
| |
| SDRAM On-die Termination Output Enable (OE) Mode Selection. |
| PSU_DDR_PHY_RIOCR5_ODTOEMODE 0x5 |
| |
| Rank I/O Configuration Register 5 |
| (OFFSET, MASK, VALUE) (0XFD0804F4, 0xFFFFFFFFU ,0x00000005U) |
| RegMask = (DDR_PHY_RIOCR5_RESERVED_31_16_MASK | DDR_PHY_RIOCR5_ODTOEMODE_RSVD_MASK | DDR_PHY_RIOCR5_ODTOEMODE_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDR_PHY_RIOCR5_RESERVED_31_16_SHIFT |
| | 0x00000000U << DDR_PHY_RIOCR5_ODTOEMODE_RSVD_SHIFT |
| | 0x00000005U << DDR_PHY_RIOCR5_ODTOEMODE_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDR_PHY_RIOCR5_OFFSET ,0xFFFFFFFFU ,0x00000005U); |
| /*############################################################################################################################ */ |
| |
| /*Register : ACIOCR0 @ 0XFD080500</p> |
| |
| Address/Command Slew Rate (D3F I/O Only) |
| PSU_DDR_PHY_ACIOCR0_ACSR 0x0 |
| |
| SDRAM Reset I/O Mode |
| PSU_DDR_PHY_ACIOCR0_RSTIOM 0x1 |
| |
| SDRAM Reset Power Down Receiver |
| PSU_DDR_PHY_ACIOCR0_RSTPDR 0x1 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_ACIOCR0_RESERVED_27 0x0 |
| |
| SDRAM Reset On-Die Termination |
| PSU_DDR_PHY_ACIOCR0_RSTODT 0x0 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_ACIOCR0_RESERVED_25_10 0x0 |
| |
| CK Duty Cycle Correction |
| PSU_DDR_PHY_ACIOCR0_CKDCC 0x0 |
| |
| AC Power Down Receiver Mode |
| PSU_DDR_PHY_ACIOCR0_ACPDRMODE 0x2 |
| |
| AC On-die Termination Mode |
| PSU_DDR_PHY_ACIOCR0_ACODTMODE 0x2 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_ACIOCR0_RESERVED_1 0x0 |
| |
| Control delayed or non-delayed clock to CS_N/ODT?CKE AC slices. |
| PSU_DDR_PHY_ACIOCR0_ACRANKCLKSEL 0x0 |
| |
| AC I/O Configuration Register 0 |
| (OFFSET, MASK, VALUE) (0XFD080500, 0xFFFFFFFFU ,0x30000028U) |
| RegMask = (DDR_PHY_ACIOCR0_ACSR_MASK | DDR_PHY_ACIOCR0_RSTIOM_MASK | DDR_PHY_ACIOCR0_RSTPDR_MASK | DDR_PHY_ACIOCR0_RESERVED_27_MASK | DDR_PHY_ACIOCR0_RSTODT_MASK | DDR_PHY_ACIOCR0_RESERVED_25_10_MASK | DDR_PHY_ACIOCR0_CKDCC_MASK | DDR_PHY_ACIOCR0_ACPDRMODE_MASK | DDR_PHY_ACIOCR0_ACODTMODE_MASK | DDR_PHY_ACIOCR0_RESERVED_1_MASK | DDR_PHY_ACIOCR0_ACRANKCLKSEL_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDR_PHY_ACIOCR0_ACSR_SHIFT |
| | 0x00000001U << DDR_PHY_ACIOCR0_RSTIOM_SHIFT |
| | 0x00000001U << DDR_PHY_ACIOCR0_RSTPDR_SHIFT |
| | 0x00000000U << DDR_PHY_ACIOCR0_RESERVED_27_SHIFT |
| | 0x00000000U << DDR_PHY_ACIOCR0_RSTODT_SHIFT |
| | 0x00000000U << DDR_PHY_ACIOCR0_RESERVED_25_10_SHIFT |
| | 0x00000000U << DDR_PHY_ACIOCR0_CKDCC_SHIFT |
| | 0x00000002U << DDR_PHY_ACIOCR0_ACPDRMODE_SHIFT |
| | 0x00000002U << DDR_PHY_ACIOCR0_ACODTMODE_SHIFT |
| | 0x00000000U << DDR_PHY_ACIOCR0_RESERVED_1_SHIFT |
| | 0x00000000U << DDR_PHY_ACIOCR0_ACRANKCLKSEL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDR_PHY_ACIOCR0_OFFSET ,0xFFFFFFFFU ,0x30000028U); |
| /*############################################################################################################################ */ |
| |
| /*Register : ACIOCR2 @ 0XFD080508</p> |
| |
| Clock gating for glue logic inside CLKGEN and glue logic inside CONTROL slice |
| PSU_DDR_PHY_ACIOCR2_CLKGENCLKGATE 0x0 |
| |
| Clock gating for Output Enable D slices [0] |
| PSU_DDR_PHY_ACIOCR2_ACOECLKGATE0 0x0 |
| |
| Clock gating for Power Down Receiver D slices [0] |
| PSU_DDR_PHY_ACIOCR2_ACPDRCLKGATE0 0x0 |
| |
| Clock gating for Termination Enable D slices [0] |
| PSU_DDR_PHY_ACIOCR2_ACTECLKGATE0 0x0 |
| |
| Clock gating for CK# D slices [1:0] |
| PSU_DDR_PHY_ACIOCR2_CKNCLKGATE0 0x2 |
| |
| Clock gating for CK D slices [1:0] |
| PSU_DDR_PHY_ACIOCR2_CKCLKGATE0 0x2 |
| |
| Clock gating for AC D slices [23:0] |
| PSU_DDR_PHY_ACIOCR2_ACCLKGATE0 0x0 |
| |
| AC I/O Configuration Register 2 |
| (OFFSET, MASK, VALUE) (0XFD080508, 0xFFFFFFFFU ,0x0A000000U) |
| RegMask = (DDR_PHY_ACIOCR2_CLKGENCLKGATE_MASK | DDR_PHY_ACIOCR2_ACOECLKGATE0_MASK | DDR_PHY_ACIOCR2_ACPDRCLKGATE0_MASK | DDR_PHY_ACIOCR2_ACTECLKGATE0_MASK | DDR_PHY_ACIOCR2_CKNCLKGATE0_MASK | DDR_PHY_ACIOCR2_CKCLKGATE0_MASK | DDR_PHY_ACIOCR2_ACCLKGATE0_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDR_PHY_ACIOCR2_CLKGENCLKGATE_SHIFT |
| | 0x00000000U << DDR_PHY_ACIOCR2_ACOECLKGATE0_SHIFT |
| | 0x00000000U << DDR_PHY_ACIOCR2_ACPDRCLKGATE0_SHIFT |
| | 0x00000000U << DDR_PHY_ACIOCR2_ACTECLKGATE0_SHIFT |
| | 0x00000002U << DDR_PHY_ACIOCR2_CKNCLKGATE0_SHIFT |
| | 0x00000002U << DDR_PHY_ACIOCR2_CKCLKGATE0_SHIFT |
| | 0x00000000U << DDR_PHY_ACIOCR2_ACCLKGATE0_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDR_PHY_ACIOCR2_OFFSET ,0xFFFFFFFFU ,0x0A000000U); |
| /*############################################################################################################################ */ |
| |
| /*Register : ACIOCR3 @ 0XFD08050C</p> |
| |
| SDRAM Parity Output Enable (OE) Mode Selection |
| PSU_DDR_PHY_ACIOCR3_PAROEMODE 0x0 |
| |
| SDRAM Bank Group Output Enable (OE) Mode Selection |
| PSU_DDR_PHY_ACIOCR3_BGOEMODE 0x0 |
| |
| SDRAM Bank Address Output Enable (OE) Mode Selection |
| PSU_DDR_PHY_ACIOCR3_BAOEMODE 0x0 |
| |
| SDRAM A[17] Output Enable (OE) Mode Selection |
| PSU_DDR_PHY_ACIOCR3_A17OEMODE 0x0 |
| |
| SDRAM A[16] / RAS_n Output Enable (OE) Mode Selection |
| PSU_DDR_PHY_ACIOCR3_A16OEMODE 0x0 |
| |
| SDRAM ACT_n Output Enable (OE) Mode Selection (DDR4 only) |
| PSU_DDR_PHY_ACIOCR3_ACTOEMODE 0x0 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_ACIOCR3_RESERVED_15_8 0x0 |
| |
| Reserved. Return zeros on reads. |
| PSU_DDR_PHY_ACIOCR3_CKOEMODE_RSVD 0x0 |
| |
| SDRAM CK Output Enable (OE) Mode Selection. |
| PSU_DDR_PHY_ACIOCR3_CKOEMODE 0x9 |
| |
| AC I/O Configuration Register 3 |
| (OFFSET, MASK, VALUE) (0XFD08050C, 0xFFFFFFFFU ,0x00000009U) |
| RegMask = (DDR_PHY_ACIOCR3_PAROEMODE_MASK | DDR_PHY_ACIOCR3_BGOEMODE_MASK | DDR_PHY_ACIOCR3_BAOEMODE_MASK | DDR_PHY_ACIOCR3_A17OEMODE_MASK | DDR_PHY_ACIOCR3_A16OEMODE_MASK | DDR_PHY_ACIOCR3_ACTOEMODE_MASK | DDR_PHY_ACIOCR3_RESERVED_15_8_MASK | DDR_PHY_ACIOCR3_CKOEMODE_RSVD_MASK | DDR_PHY_ACIOCR3_CKOEMODE_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDR_PHY_ACIOCR3_PAROEMODE_SHIFT |
| | 0x00000000U << DDR_PHY_ACIOCR3_BGOEMODE_SHIFT |
| | 0x00000000U << DDR_PHY_ACIOCR3_BAOEMODE_SHIFT |
| | 0x00000000U << DDR_PHY_ACIOCR3_A17OEMODE_SHIFT |
| | 0x00000000U << DDR_PHY_ACIOCR3_A16OEMODE_SHIFT |
| | 0x00000000U << DDR_PHY_ACIOCR3_ACTOEMODE_SHIFT |
| | 0x00000000U << DDR_PHY_ACIOCR3_RESERVED_15_8_SHIFT |
| | 0x00000000U << DDR_PHY_ACIOCR3_CKOEMODE_RSVD_SHIFT |
| | 0x00000009U << DDR_PHY_ACIOCR3_CKOEMODE_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDR_PHY_ACIOCR3_OFFSET ,0xFFFFFFFFU ,0x00000009U); |
| /*############################################################################################################################ */ |
| |
| /*Register : ACIOCR4 @ 0XFD080510</p> |
| |
| Clock gating for AC LB slices and loopback read valid slices |
| PSU_DDR_PHY_ACIOCR4_LBCLKGATE 0x0 |
| |
| Clock gating for Output Enable D slices [1] |
| PSU_DDR_PHY_ACIOCR4_ACOECLKGATE1 0x0 |
| |
| Clock gating for Power Down Receiver D slices [1] |
| PSU_DDR_PHY_ACIOCR4_ACPDRCLKGATE1 0x0 |
| |
| Clock gating for Termination Enable D slices [1] |
| PSU_DDR_PHY_ACIOCR4_ACTECLKGATE1 0x0 |
| |
| Clock gating for CK# D slices [3:2] |
| PSU_DDR_PHY_ACIOCR4_CKNCLKGATE1 0x2 |
| |
| Clock gating for CK D slices [3:2] |
| PSU_DDR_PHY_ACIOCR4_CKCLKGATE1 0x2 |
| |
| Clock gating for AC D slices [47:24] |
| PSU_DDR_PHY_ACIOCR4_ACCLKGATE1 0x0 |
| |
| AC I/O Configuration Register 4 |
| (OFFSET, MASK, VALUE) (0XFD080510, 0xFFFFFFFFU ,0x0A000000U) |
| RegMask = (DDR_PHY_ACIOCR4_LBCLKGATE_MASK | DDR_PHY_ACIOCR4_ACOECLKGATE1_MASK | DDR_PHY_ACIOCR4_ACPDRCLKGATE1_MASK | DDR_PHY_ACIOCR4_ACTECLKGATE1_MASK | DDR_PHY_ACIOCR4_CKNCLKGATE1_MASK | DDR_PHY_ACIOCR4_CKCLKGATE1_MASK | DDR_PHY_ACIOCR4_ACCLKGATE1_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDR_PHY_ACIOCR4_LBCLKGATE_SHIFT |
| | 0x00000000U << DDR_PHY_ACIOCR4_ACOECLKGATE1_SHIFT |
| | 0x00000000U << DDR_PHY_ACIOCR4_ACPDRCLKGATE1_SHIFT |
| | 0x00000000U << DDR_PHY_ACIOCR4_ACTECLKGATE1_SHIFT |
| | 0x00000002U << DDR_PHY_ACIOCR4_CKNCLKGATE1_SHIFT |
| | 0x00000002U << DDR_PHY_ACIOCR4_CKCLKGATE1_SHIFT |
| | 0x00000000U << DDR_PHY_ACIOCR4_ACCLKGATE1_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDR_PHY_ACIOCR4_OFFSET ,0xFFFFFFFFU ,0x0A000000U); |
| /*############################################################################################################################ */ |
| |
| /*Register : IOVCR0 @ 0XFD080520</p> |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_IOVCR0_RESERVED_31_29 0x0 |
| |
| Address/command lane VREF Pad Enable |
| PSU_DDR_PHY_IOVCR0_ACREFPEN 0x0 |
| |
| Address/command lane Internal VREF Enable |
| PSU_DDR_PHY_IOVCR0_ACREFEEN 0x0 |
| |
| Address/command lane Single-End VREF Enable |
| PSU_DDR_PHY_IOVCR0_ACREFSEN 0x1 |
| |
| Address/command lane Internal VREF Enable |
| PSU_DDR_PHY_IOVCR0_ACREFIEN 0x1 |
| |
| External VREF generato REFSEL range select |
| PSU_DDR_PHY_IOVCR0_ACREFESELRANGE 0x0 |
| |
| Address/command lane External VREF Select |
| PSU_DDR_PHY_IOVCR0_ACREFESEL 0x0 |
| |
| Single ended VREF generator REFSEL range select |
| PSU_DDR_PHY_IOVCR0_ACREFSSELRANGE 0x1 |
| |
| Address/command lane Single-End VREF Select |
| PSU_DDR_PHY_IOVCR0_ACREFSSEL 0x30 |
| |
| Internal VREF generator REFSEL ragne select |
| PSU_DDR_PHY_IOVCR0_ACVREFISELRANGE 0x1 |
| |
| REFSEL Control for internal AC IOs |
| PSU_DDR_PHY_IOVCR0_ACVREFISEL 0x30 |
| |
| IO VREF Control Register 0 |
| (OFFSET, MASK, VALUE) (0XFD080520, 0xFFFFFFFFU ,0x0300B0B0U) |
| RegMask = (DDR_PHY_IOVCR0_RESERVED_31_29_MASK | DDR_PHY_IOVCR0_ACREFPEN_MASK | DDR_PHY_IOVCR0_ACREFEEN_MASK | DDR_PHY_IOVCR0_ACREFSEN_MASK | DDR_PHY_IOVCR0_ACREFIEN_MASK | DDR_PHY_IOVCR0_ACREFESELRANGE_MASK | DDR_PHY_IOVCR0_ACREFESEL_MASK | DDR_PHY_IOVCR0_ACREFSSELRANGE_MASK | DDR_PHY_IOVCR0_ACREFSSEL_MASK | DDR_PHY_IOVCR0_ACVREFISELRANGE_MASK | DDR_PHY_IOVCR0_ACVREFISEL_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDR_PHY_IOVCR0_RESERVED_31_29_SHIFT |
| | 0x00000000U << DDR_PHY_IOVCR0_ACREFPEN_SHIFT |
| | 0x00000000U << DDR_PHY_IOVCR0_ACREFEEN_SHIFT |
| | 0x00000001U << DDR_PHY_IOVCR0_ACREFSEN_SHIFT |
| | 0x00000001U << DDR_PHY_IOVCR0_ACREFIEN_SHIFT |
| | 0x00000000U << DDR_PHY_IOVCR0_ACREFESELRANGE_SHIFT |
| | 0x00000000U << DDR_PHY_IOVCR0_ACREFESEL_SHIFT |
| | 0x00000001U << DDR_PHY_IOVCR0_ACREFSSELRANGE_SHIFT |
| | 0x00000030U << DDR_PHY_IOVCR0_ACREFSSEL_SHIFT |
| | 0x00000001U << DDR_PHY_IOVCR0_ACVREFISELRANGE_SHIFT |
| | 0x00000030U << DDR_PHY_IOVCR0_ACVREFISEL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDR_PHY_IOVCR0_OFFSET ,0xFFFFFFFFU ,0x0300B0B0U); |
| /*############################################################################################################################ */ |
| |
| /*Register : VTCR0 @ 0XFD080528</p> |
| |
| Number of ctl_clk required to meet (> 150ns) timing requirements during DRAM DQ VREF training |
| PSU_DDR_PHY_VTCR0_TVREF 0x7 |
| |
| DRM DQ VREF training Enable |
| PSU_DDR_PHY_VTCR0_DVEN 0x1 |
| |
| Per Device Addressability Enable |
| PSU_DDR_PHY_VTCR0_PDAEN 0x1 |
| |
| Reserved. Returns zeroes on reads. |
| PSU_DDR_PHY_VTCR0_RESERVED_26 0x0 |
| |
| VREF Word Count |
| PSU_DDR_PHY_VTCR0_VWCR 0x4 |
| |
| DRAM DQ VREF step size used during DRAM VREF training |
| PSU_DDR_PHY_VTCR0_DVSS 0x0 |
| |
| Maximum VREF limit value used during DRAM VREF training |
| PSU_DDR_PHY_VTCR0_DVMAX 0x32 |
| |
| Minimum VREF limit value used during DRAM VREF training |
| PSU_DDR_PHY_VTCR0_DVMIN 0x0 |
| |
| Initial DRAM DQ VREF value used during DRAM VREF training |
| PSU_DDR_PHY_VTCR0_DVINIT 0x19 |
| |
| VREF Training Control Register 0 |
| (OFFSET, MASK, VALUE) (0XFD080528, 0xFFFFFFFFU ,0xF9032019U) |
| RegMask = (DDR_PHY_VTCR0_TVREF_MASK | DDR_PHY_VTCR0_DVEN_MASK | DDR_PHY_VTCR0_PDAEN_MASK | DDR_PHY_VTCR0_RESERVED_26_MASK | DDR_PHY_VTCR0_VWCR_MASK | DDR_PHY_VTCR0_DVSS_MASK | DDR_PHY_VTCR0_DVMAX_MASK | DDR_PHY_VTCR0_DVMIN_MASK | DDR_PHY_VTCR0_DVINIT_MASK | 0 ); |
| |
| RegVal = ((0x00000007U << DDR_PHY_VTCR0_TVREF_SHIFT |
| | 0x00000001U << DDR_PHY_VTCR0_DVEN_SHIFT |
| | 0x00000001U << DDR_PHY_VTCR0_PDAEN_SHIFT |
| | 0x00000000U << DDR_PHY_VTCR0_RESERVED_26_SHIFT |
| | 0x00000004U << DDR_PHY_VTCR0_VWCR_SHIFT |
| | 0x00000000U << DDR_PHY_VTCR0_DVSS_SHIFT |
| | 0x00000032U << DDR_PHY_VTCR0_DVMAX_SHIFT |
| | 0x00000000U << DDR_PHY_VTCR0_DVMIN_SHIFT |
| | 0x00000019U << DDR_PHY_VTCR0_DVINIT_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDR_PHY_VTCR0_OFFSET ,0xFFFFFFFFU ,0xF9032019U); |
| /*############################################################################################################################ */ |
| |
| /*Register : VTCR1 @ 0XFD08052C</p> |
| |
| Host VREF step size used during VREF training. The register value of N indicates step size of (N+1) |
| PSU_DDR_PHY_VTCR1_HVSS 0x0 |
| |
| Reserved. Returns zeroes on reads. |
| PSU_DDR_PHY_VTCR1_RESERVED_27 0x0 |
| |
| Maximum VREF limit value used during DRAM VREF training. |
| PSU_DDR_PHY_VTCR1_HVMAX 0x7f |
| |
| Reserved. Returns zeroes on reads. |
| PSU_DDR_PHY_VTCR1_RESERVED_19 0x0 |
| |
| Minimum VREF limit value used during DRAM VREF training. |
| PSU_DDR_PHY_VTCR1_HVMIN 0x0 |
| |
| Reserved. Returns zeroes on reads. |
| PSU_DDR_PHY_VTCR1_RESERVED_11 0x0 |
| |
| Static Host Vref Rank Value |
| PSU_DDR_PHY_VTCR1_SHRNK 0x0 |
| |
| Static Host Vref Rank Enable |
| PSU_DDR_PHY_VTCR1_SHREN 0x1 |
| |
| Number of ctl_clk required to meet (> 200ns) VREF Settling timing requirements during Host IO VREF training |
| PSU_DDR_PHY_VTCR1_TVREFIO 0x4 |
| |
| Eye LCDL Offset value for VREF training |
| PSU_DDR_PHY_VTCR1_EOFF 0x1 |
| |
| Number of LCDL Eye points for which VREF training is repeated |
| PSU_DDR_PHY_VTCR1_ENUM 0x1 |
| |
| HOST (IO) internal VREF training Enable |
| PSU_DDR_PHY_VTCR1_HVEN 0x1 |
| |
| Host IO Type Control |
| PSU_DDR_PHY_VTCR1_HVIO 0x1 |
| |
| VREF Training Control Register 1 |
| (OFFSET, MASK, VALUE) (0XFD08052C, 0xFFFFFFFFU ,0x07F0018FU) |
| RegMask = (DDR_PHY_VTCR1_HVSS_MASK | DDR_PHY_VTCR1_RESERVED_27_MASK | DDR_PHY_VTCR1_HVMAX_MASK | DDR_PHY_VTCR1_RESERVED_19_MASK | DDR_PHY_VTCR1_HVMIN_MASK | DDR_PHY_VTCR1_RESERVED_11_MASK | DDR_PHY_VTCR1_SHRNK_MASK | DDR_PHY_VTCR1_SHREN_MASK | DDR_PHY_VTCR1_TVREFIO_MASK | DDR_PHY_VTCR1_EOFF_MASK | DDR_PHY_VTCR1_ENUM_MASK | DDR_PHY_VTCR1_HVEN_MASK | DDR_PHY_VTCR1_HVIO_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDR_PHY_VTCR1_HVSS_SHIFT |
| | 0x00000000U << DDR_PHY_VTCR1_RESERVED_27_SHIFT |
| | 0x0000007FU << DDR_PHY_VTCR1_HVMAX_SHIFT |
| | 0x00000000U << DDR_PHY_VTCR1_RESERVED_19_SHIFT |
| | 0x00000000U << DDR_PHY_VTCR1_HVMIN_SHIFT |
| | 0x00000000U << DDR_PHY_VTCR1_RESERVED_11_SHIFT |
| | 0x00000000U << DDR_PHY_VTCR1_SHRNK_SHIFT |
| | 0x00000001U << DDR_PHY_VTCR1_SHREN_SHIFT |
| | 0x00000004U << DDR_PHY_VTCR1_TVREFIO_SHIFT |
| | 0x00000001U << DDR_PHY_VTCR1_EOFF_SHIFT |
| | 0x00000001U << DDR_PHY_VTCR1_ENUM_SHIFT |
| | 0x00000001U << DDR_PHY_VTCR1_HVEN_SHIFT |
| | 0x00000001U << DDR_PHY_VTCR1_HVIO_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDR_PHY_VTCR1_OFFSET ,0xFFFFFFFFU ,0x07F0018FU); |
| /*############################################################################################################################ */ |
| |
| /*Register : ACBDLR6 @ 0XFD080558</p> |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_ACBDLR6_RESERVED_31_30 0x0 |
| |
| Delay select for the BDL on Address A[3]. |
| PSU_DDR_PHY_ACBDLR6_A03BD 0x0 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_ACBDLR6_RESERVED_23_22 0x0 |
| |
| Delay select for the BDL on Address A[2]. |
| PSU_DDR_PHY_ACBDLR6_A02BD 0x0 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_ACBDLR6_RESERVED_15_14 0x0 |
| |
| Delay select for the BDL on Address A[1]. |
| PSU_DDR_PHY_ACBDLR6_A01BD 0x0 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_ACBDLR6_RESERVED_7_6 0x0 |
| |
| Delay select for the BDL on Address A[0]. |
| PSU_DDR_PHY_ACBDLR6_A00BD 0x0 |
| |
| AC Bit Delay Line Register 6 |
| (OFFSET, MASK, VALUE) (0XFD080558, 0xFFFFFFFFU ,0x00000000U) |
| RegMask = (DDR_PHY_ACBDLR6_RESERVED_31_30_MASK | DDR_PHY_ACBDLR6_A03BD_MASK | DDR_PHY_ACBDLR6_RESERVED_23_22_MASK | DDR_PHY_ACBDLR6_A02BD_MASK | DDR_PHY_ACBDLR6_RESERVED_15_14_MASK | DDR_PHY_ACBDLR6_A01BD_MASK | DDR_PHY_ACBDLR6_RESERVED_7_6_MASK | DDR_PHY_ACBDLR6_A00BD_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDR_PHY_ACBDLR6_RESERVED_31_30_SHIFT |
| | 0x00000000U << DDR_PHY_ACBDLR6_A03BD_SHIFT |
| | 0x00000000U << DDR_PHY_ACBDLR6_RESERVED_23_22_SHIFT |
| | 0x00000000U << DDR_PHY_ACBDLR6_A02BD_SHIFT |
| | 0x00000000U << DDR_PHY_ACBDLR6_RESERVED_15_14_SHIFT |
| | 0x00000000U << DDR_PHY_ACBDLR6_A01BD_SHIFT |
| | 0x00000000U << DDR_PHY_ACBDLR6_RESERVED_7_6_SHIFT |
| | 0x00000000U << DDR_PHY_ACBDLR6_A00BD_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDR_PHY_ACBDLR6_OFFSET ,0xFFFFFFFFU ,0x00000000U); |
| /*############################################################################################################################ */ |
| |
| /*Register : ACBDLR7 @ 0XFD08055C</p> |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_ACBDLR7_RESERVED_31_30 0x0 |
| |
| Delay select for the BDL on Address A[7]. |
| PSU_DDR_PHY_ACBDLR7_A07BD 0x0 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_ACBDLR7_RESERVED_23_22 0x0 |
| |
| Delay select for the BDL on Address A[6]. |
| PSU_DDR_PHY_ACBDLR7_A06BD 0x0 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_ACBDLR7_RESERVED_15_14 0x0 |
| |
| Delay select for the BDL on Address A[5]. |
| PSU_DDR_PHY_ACBDLR7_A05BD 0x0 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_ACBDLR7_RESERVED_7_6 0x0 |
| |
| Delay select for the BDL on Address A[4]. |
| PSU_DDR_PHY_ACBDLR7_A04BD 0x0 |
| |
| AC Bit Delay Line Register 7 |
| (OFFSET, MASK, VALUE) (0XFD08055C, 0xFFFFFFFFU ,0x00000000U) |
| RegMask = (DDR_PHY_ACBDLR7_RESERVED_31_30_MASK | DDR_PHY_ACBDLR7_A07BD_MASK | DDR_PHY_ACBDLR7_RESERVED_23_22_MASK | DDR_PHY_ACBDLR7_A06BD_MASK | DDR_PHY_ACBDLR7_RESERVED_15_14_MASK | DDR_PHY_ACBDLR7_A05BD_MASK | DDR_PHY_ACBDLR7_RESERVED_7_6_MASK | DDR_PHY_ACBDLR7_A04BD_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDR_PHY_ACBDLR7_RESERVED_31_30_SHIFT |
| | 0x00000000U << DDR_PHY_ACBDLR7_A07BD_SHIFT |
| | 0x00000000U << DDR_PHY_ACBDLR7_RESERVED_23_22_SHIFT |
| | 0x00000000U << DDR_PHY_ACBDLR7_A06BD_SHIFT |
| | 0x00000000U << DDR_PHY_ACBDLR7_RESERVED_15_14_SHIFT |
| | 0x00000000U << DDR_PHY_ACBDLR7_A05BD_SHIFT |
| | 0x00000000U << DDR_PHY_ACBDLR7_RESERVED_7_6_SHIFT |
| | 0x00000000U << DDR_PHY_ACBDLR7_A04BD_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDR_PHY_ACBDLR7_OFFSET ,0xFFFFFFFFU ,0x00000000U); |
| /*############################################################################################################################ */ |
| |
| /*Register : ACBDLR8 @ 0XFD080560</p> |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_ACBDLR8_RESERVED_31_30 0x0 |
| |
| Delay select for the BDL on Address A[11]. |
| PSU_DDR_PHY_ACBDLR8_A11BD 0x0 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_ACBDLR8_RESERVED_23_22 0x0 |
| |
| Delay select for the BDL on Address A[10]. |
| PSU_DDR_PHY_ACBDLR8_A10BD 0x0 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_ACBDLR8_RESERVED_15_14 0x0 |
| |
| Delay select for the BDL on Address A[9]. |
| PSU_DDR_PHY_ACBDLR8_A09BD 0x0 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_ACBDLR8_RESERVED_7_6 0x0 |
| |
| Delay select for the BDL on Address A[8]. |
| PSU_DDR_PHY_ACBDLR8_A08BD 0x0 |
| |
| AC Bit Delay Line Register 8 |
| (OFFSET, MASK, VALUE) (0XFD080560, 0xFFFFFFFFU ,0x00000000U) |
| RegMask = (DDR_PHY_ACBDLR8_RESERVED_31_30_MASK | DDR_PHY_ACBDLR8_A11BD_MASK | DDR_PHY_ACBDLR8_RESERVED_23_22_MASK | DDR_PHY_ACBDLR8_A10BD_MASK | DDR_PHY_ACBDLR8_RESERVED_15_14_MASK | DDR_PHY_ACBDLR8_A09BD_MASK | DDR_PHY_ACBDLR8_RESERVED_7_6_MASK | DDR_PHY_ACBDLR8_A08BD_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDR_PHY_ACBDLR8_RESERVED_31_30_SHIFT |
| | 0x00000000U << DDR_PHY_ACBDLR8_A11BD_SHIFT |
| | 0x00000000U << DDR_PHY_ACBDLR8_RESERVED_23_22_SHIFT |
| | 0x00000000U << DDR_PHY_ACBDLR8_A10BD_SHIFT |
| | 0x00000000U << DDR_PHY_ACBDLR8_RESERVED_15_14_SHIFT |
| | 0x00000000U << DDR_PHY_ACBDLR8_A09BD_SHIFT |
| | 0x00000000U << DDR_PHY_ACBDLR8_RESERVED_7_6_SHIFT |
| | 0x00000000U << DDR_PHY_ACBDLR8_A08BD_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDR_PHY_ACBDLR8_OFFSET ,0xFFFFFFFFU ,0x00000000U); |
| /*############################################################################################################################ */ |
| |
| /*Register : ZQCR @ 0XFD080680</p> |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_ZQCR_RESERVED_31_26 0x0 |
| |
| ZQ VREF Range |
| PSU_DDR_PHY_ZQCR_ZQREFISELRANGE 0x0 |
| |
| Programmable Wait for Frequency B |
| PSU_DDR_PHY_ZQCR_PGWAIT_FRQB 0x11 |
| |
| Programmable Wait for Frequency A |
| PSU_DDR_PHY_ZQCR_PGWAIT_FRQA 0x11 |
| |
| ZQ VREF Pad Enable |
| PSU_DDR_PHY_ZQCR_ZQREFPEN 0x0 |
| |
| ZQ Internal VREF Enable |
| PSU_DDR_PHY_ZQCR_ZQREFIEN 0x1 |
| |
| Choice of termination mode |
| PSU_DDR_PHY_ZQCR_ODT_MODE 0x1 |
| |
| Force ZCAL VT update |
| PSU_DDR_PHY_ZQCR_FORCE_ZCAL_VT_UPDATE 0x0 |
| |
| IO VT Drift Limit |
| PSU_DDR_PHY_ZQCR_IODLMT 0x2 |
| |
| Averaging algorithm enable, if set, enables averaging algorithm |
| PSU_DDR_PHY_ZQCR_AVGEN 0x1 |
| |
| Maximum number of averaging rounds to be used by averaging algorithm |
| PSU_DDR_PHY_ZQCR_AVGMAX 0x2 |
| |
| ZQ Calibration Type |
| PSU_DDR_PHY_ZQCR_ZCALT 0x0 |
| |
| ZQ Power Down |
| PSU_DDR_PHY_ZQCR_ZQPD 0x0 |
| |
| ZQ Impedance Control Register |
| (OFFSET, MASK, VALUE) (0XFD080680, 0xFFFFFFFFU ,0x008A2A58U) |
| RegMask = (DDR_PHY_ZQCR_RESERVED_31_26_MASK | DDR_PHY_ZQCR_ZQREFISELRANGE_MASK | DDR_PHY_ZQCR_PGWAIT_FRQB_MASK | DDR_PHY_ZQCR_PGWAIT_FRQA_MASK | DDR_PHY_ZQCR_ZQREFPEN_MASK | DDR_PHY_ZQCR_ZQREFIEN_MASK | DDR_PHY_ZQCR_ODT_MODE_MASK | DDR_PHY_ZQCR_FORCE_ZCAL_VT_UPDATE_MASK | DDR_PHY_ZQCR_IODLMT_MASK | DDR_PHY_ZQCR_AVGEN_MASK | DDR_PHY_ZQCR_AVGMAX_MASK | DDR_PHY_ZQCR_ZCALT_MASK | DDR_PHY_ZQCR_ZQPD_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDR_PHY_ZQCR_RESERVED_31_26_SHIFT |
| | 0x00000000U << DDR_PHY_ZQCR_ZQREFISELRANGE_SHIFT |
| | 0x00000011U << DDR_PHY_ZQCR_PGWAIT_FRQB_SHIFT |
| | 0x00000011U << DDR_PHY_ZQCR_PGWAIT_FRQA_SHIFT |
| | 0x00000000U << DDR_PHY_ZQCR_ZQREFPEN_SHIFT |
| | 0x00000001U << DDR_PHY_ZQCR_ZQREFIEN_SHIFT |
| | 0x00000001U << DDR_PHY_ZQCR_ODT_MODE_SHIFT |
| | 0x00000000U << DDR_PHY_ZQCR_FORCE_ZCAL_VT_UPDATE_SHIFT |
| | 0x00000002U << DDR_PHY_ZQCR_IODLMT_SHIFT |
| | 0x00000001U << DDR_PHY_ZQCR_AVGEN_SHIFT |
| | 0x00000002U << DDR_PHY_ZQCR_AVGMAX_SHIFT |
| | 0x00000000U << DDR_PHY_ZQCR_ZCALT_SHIFT |
| | 0x00000000U << DDR_PHY_ZQCR_ZQPD_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDR_PHY_ZQCR_OFFSET ,0xFFFFFFFFU ,0x008A2A58U); |
| /*############################################################################################################################ */ |
| |
| /*Register : ZQ0PR0 @ 0XFD080684</p> |
| |
| Pull-down drive strength ZCTRL over-ride enable |
| PSU_DDR_PHY_ZQ0PR0_PD_DRV_ZDEN 0x0 |
| |
| Pull-up drive strength ZCTRL over-ride enable |
| PSU_DDR_PHY_ZQ0PR0_PU_DRV_ZDEN 0x0 |
| |
| Pull-down termination ZCTRL over-ride enable |
| PSU_DDR_PHY_ZQ0PR0_PD_ODT_ZDEN 0x0 |
| |
| Pull-up termination ZCTRL over-ride enable |
| PSU_DDR_PHY_ZQ0PR0_PU_ODT_ZDEN 0x0 |
| |
| Calibration segment bypass |
| PSU_DDR_PHY_ZQ0PR0_ZSEGBYP 0x0 |
| |
| VREF latch mode controls the mode in which the ZLE pin of the PVREF cell is driven by the PUB |
| PSU_DDR_PHY_ZQ0PR0_ZLE_MODE 0x0 |
| |
| Termination adjustment |
| PSU_DDR_PHY_ZQ0PR0_ODT_ADJUST 0x0 |
| |
| Pulldown drive strength adjustment |
| PSU_DDR_PHY_ZQ0PR0_PD_DRV_ADJUST 0x0 |
| |
| Pullup drive strength adjustment |
| PSU_DDR_PHY_ZQ0PR0_PU_DRV_ADJUST 0x0 |
| |
| DRAM Impedance Divide Ratio |
| PSU_DDR_PHY_ZQ0PR0_ZPROG_DRAM_ODT 0x7 |
| |
| HOST Impedance Divide Ratio |
| PSU_DDR_PHY_ZQ0PR0_ZPROG_HOST_ODT 0x7 |
| |
| Impedance Divide Ratio (pulldown drive calibration during asymmetric drive strength calibration) |
| PSU_DDR_PHY_ZQ0PR0_ZPROG_ASYM_DRV_PD 0xd |
| |
| Impedance Divide Ratio (pullup drive calibration during asymmetric drive strength calibration) |
| PSU_DDR_PHY_ZQ0PR0_ZPROG_ASYM_DRV_PU 0xd |
| |
| ZQ n Impedance Control Program Register 0 |
| (OFFSET, MASK, VALUE) (0XFD080684, 0xFFFFFFFFU ,0x000077DDU) |
| RegMask = (DDR_PHY_ZQ0PR0_PD_DRV_ZDEN_MASK | DDR_PHY_ZQ0PR0_PU_DRV_ZDEN_MASK | DDR_PHY_ZQ0PR0_PD_ODT_ZDEN_MASK | DDR_PHY_ZQ0PR0_PU_ODT_ZDEN_MASK | DDR_PHY_ZQ0PR0_ZSEGBYP_MASK | DDR_PHY_ZQ0PR0_ZLE_MODE_MASK | DDR_PHY_ZQ0PR0_ODT_ADJUST_MASK | DDR_PHY_ZQ0PR0_PD_DRV_ADJUST_MASK | DDR_PHY_ZQ0PR0_PU_DRV_ADJUST_MASK | DDR_PHY_ZQ0PR0_ZPROG_DRAM_ODT_MASK | DDR_PHY_ZQ0PR0_ZPROG_HOST_ODT_MASK | DDR_PHY_ZQ0PR0_ZPROG_ASYM_DRV_PD_MASK | DDR_PHY_ZQ0PR0_ZPROG_ASYM_DRV_PU_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDR_PHY_ZQ0PR0_PD_DRV_ZDEN_SHIFT |
| | 0x00000000U << DDR_PHY_ZQ0PR0_PU_DRV_ZDEN_SHIFT |
| | 0x00000000U << DDR_PHY_ZQ0PR0_PD_ODT_ZDEN_SHIFT |
| | 0x00000000U << DDR_PHY_ZQ0PR0_PU_ODT_ZDEN_SHIFT |
| | 0x00000000U << DDR_PHY_ZQ0PR0_ZSEGBYP_SHIFT |
| | 0x00000000U << DDR_PHY_ZQ0PR0_ZLE_MODE_SHIFT |
| | 0x00000000U << DDR_PHY_ZQ0PR0_ODT_ADJUST_SHIFT |
| | 0x00000000U << DDR_PHY_ZQ0PR0_PD_DRV_ADJUST_SHIFT |
| | 0x00000000U << DDR_PHY_ZQ0PR0_PU_DRV_ADJUST_SHIFT |
| | 0x00000007U << DDR_PHY_ZQ0PR0_ZPROG_DRAM_ODT_SHIFT |
| | 0x00000007U << DDR_PHY_ZQ0PR0_ZPROG_HOST_ODT_SHIFT |
| | 0x0000000DU << DDR_PHY_ZQ0PR0_ZPROG_ASYM_DRV_PD_SHIFT |
| | 0x0000000DU << DDR_PHY_ZQ0PR0_ZPROG_ASYM_DRV_PU_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDR_PHY_ZQ0PR0_OFFSET ,0xFFFFFFFFU ,0x000077DDU); |
| /*############################################################################################################################ */ |
| |
| /*Register : ZQ0OR0 @ 0XFD080694</p> |
| |
| Reserved. Return zeros on reads. |
| PSU_DDR_PHY_ZQ0OR0_RESERVED_31_26 0x0 |
| |
| Override value for the pull-up output impedance |
| PSU_DDR_PHY_ZQ0OR0_ZDATA_PU_DRV_OVRD 0x1e1 |
| |
| Reserved. Return zeros on reads. |
| PSU_DDR_PHY_ZQ0OR0_RESERVED_15_10 0x0 |
| |
| Override value for the pull-down output impedance |
| PSU_DDR_PHY_ZQ0OR0_ZDATA_PD_DRV_OVRD 0x210 |
| |
| ZQ n Impedance Control Override Data Register 0 |
| (OFFSET, MASK, VALUE) (0XFD080694, 0xFFFFFFFFU ,0x01E10210U) |
| RegMask = (DDR_PHY_ZQ0OR0_RESERVED_31_26_MASK | DDR_PHY_ZQ0OR0_ZDATA_PU_DRV_OVRD_MASK | DDR_PHY_ZQ0OR0_RESERVED_15_10_MASK | DDR_PHY_ZQ0OR0_ZDATA_PD_DRV_OVRD_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDR_PHY_ZQ0OR0_RESERVED_31_26_SHIFT |
| | 0x000001E1U << DDR_PHY_ZQ0OR0_ZDATA_PU_DRV_OVRD_SHIFT |
| | 0x00000000U << DDR_PHY_ZQ0OR0_RESERVED_15_10_SHIFT |
| | 0x00000210U << DDR_PHY_ZQ0OR0_ZDATA_PD_DRV_OVRD_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDR_PHY_ZQ0OR0_OFFSET ,0xFFFFFFFFU ,0x01E10210U); |
| /*############################################################################################################################ */ |
| |
| /*Register : ZQ0OR1 @ 0XFD080698</p> |
| |
| Reserved. Return zeros on reads. |
| PSU_DDR_PHY_ZQ0OR1_RESERVED_31_26 0x0 |
| |
| Override value for the pull-up termination |
| PSU_DDR_PHY_ZQ0OR1_ZDATA_PU_ODT_OVRD 0x1e1 |
| |
| Reserved. Return zeros on reads. |
| PSU_DDR_PHY_ZQ0OR1_RESERVED_15_10 0x0 |
| |
| Override value for the pull-down termination |
| PSU_DDR_PHY_ZQ0OR1_ZDATA_PD_ODT_OVRD 0x0 |
| |
| ZQ n Impedance Control Override Data Register 1 |
| (OFFSET, MASK, VALUE) (0XFD080698, 0xFFFFFFFFU ,0x01E10000U) |
| RegMask = (DDR_PHY_ZQ0OR1_RESERVED_31_26_MASK | DDR_PHY_ZQ0OR1_ZDATA_PU_ODT_OVRD_MASK | DDR_PHY_ZQ0OR1_RESERVED_15_10_MASK | DDR_PHY_ZQ0OR1_ZDATA_PD_ODT_OVRD_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDR_PHY_ZQ0OR1_RESERVED_31_26_SHIFT |
| | 0x000001E1U << DDR_PHY_ZQ0OR1_ZDATA_PU_ODT_OVRD_SHIFT |
| | 0x00000000U << DDR_PHY_ZQ0OR1_RESERVED_15_10_SHIFT |
| | 0x00000000U << DDR_PHY_ZQ0OR1_ZDATA_PD_ODT_OVRD_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDR_PHY_ZQ0OR1_OFFSET ,0xFFFFFFFFU ,0x01E10000U); |
| /*############################################################################################################################ */ |
| |
| /*Register : ZQ1PR0 @ 0XFD0806A4</p> |
| |
| Pull-down drive strength ZCTRL over-ride enable |
| PSU_DDR_PHY_ZQ1PR0_PD_DRV_ZDEN 0x0 |
| |
| Pull-up drive strength ZCTRL over-ride enable |
| PSU_DDR_PHY_ZQ1PR0_PU_DRV_ZDEN 0x0 |
| |
| Pull-down termination ZCTRL over-ride enable |
| PSU_DDR_PHY_ZQ1PR0_PD_ODT_ZDEN 0x0 |
| |
| Pull-up termination ZCTRL over-ride enable |
| PSU_DDR_PHY_ZQ1PR0_PU_ODT_ZDEN 0x0 |
| |
| Calibration segment bypass |
| PSU_DDR_PHY_ZQ1PR0_ZSEGBYP 0x0 |
| |
| VREF latch mode controls the mode in which the ZLE pin of the PVREF cell is driven by the PUB |
| PSU_DDR_PHY_ZQ1PR0_ZLE_MODE 0x0 |
| |
| Termination adjustment |
| PSU_DDR_PHY_ZQ1PR0_ODT_ADJUST 0x0 |
| |
| Pulldown drive strength adjustment |
| PSU_DDR_PHY_ZQ1PR0_PD_DRV_ADJUST 0x1 |
| |
| Pullup drive strength adjustment |
| PSU_DDR_PHY_ZQ1PR0_PU_DRV_ADJUST 0x0 |
| |
| DRAM Impedance Divide Ratio |
| PSU_DDR_PHY_ZQ1PR0_ZPROG_DRAM_ODT 0x7 |
| |
| HOST Impedance Divide Ratio |
| PSU_DDR_PHY_ZQ1PR0_ZPROG_HOST_ODT 0xb |
| |
| Impedance Divide Ratio (pulldown drive calibration during asymmetric drive strength calibration) |
| PSU_DDR_PHY_ZQ1PR0_ZPROG_ASYM_DRV_PD 0xd |
| |
| Impedance Divide Ratio (pullup drive calibration during asymmetric drive strength calibration) |
| PSU_DDR_PHY_ZQ1PR0_ZPROG_ASYM_DRV_PU 0xb |
| |
| ZQ n Impedance Control Program Register 0 |
| (OFFSET, MASK, VALUE) (0XFD0806A4, 0xFFFFFFFFU ,0x00087BDBU) |
| RegMask = (DDR_PHY_ZQ1PR0_PD_DRV_ZDEN_MASK | DDR_PHY_ZQ1PR0_PU_DRV_ZDEN_MASK | DDR_PHY_ZQ1PR0_PD_ODT_ZDEN_MASK | DDR_PHY_ZQ1PR0_PU_ODT_ZDEN_MASK | DDR_PHY_ZQ1PR0_ZSEGBYP_MASK | DDR_PHY_ZQ1PR0_ZLE_MODE_MASK | DDR_PHY_ZQ1PR0_ODT_ADJUST_MASK | DDR_PHY_ZQ1PR0_PD_DRV_ADJUST_MASK | DDR_PHY_ZQ1PR0_PU_DRV_ADJUST_MASK | DDR_PHY_ZQ1PR0_ZPROG_DRAM_ODT_MASK | DDR_PHY_ZQ1PR0_ZPROG_HOST_ODT_MASK | DDR_PHY_ZQ1PR0_ZPROG_ASYM_DRV_PD_MASK | DDR_PHY_ZQ1PR0_ZPROG_ASYM_DRV_PU_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDR_PHY_ZQ1PR0_PD_DRV_ZDEN_SHIFT |
| | 0x00000000U << DDR_PHY_ZQ1PR0_PU_DRV_ZDEN_SHIFT |
| | 0x00000000U << DDR_PHY_ZQ1PR0_PD_ODT_ZDEN_SHIFT |
| | 0x00000000U << DDR_PHY_ZQ1PR0_PU_ODT_ZDEN_SHIFT |
| | 0x00000000U << DDR_PHY_ZQ1PR0_ZSEGBYP_SHIFT |
| | 0x00000000U << DDR_PHY_ZQ1PR0_ZLE_MODE_SHIFT |
| | 0x00000000U << DDR_PHY_ZQ1PR0_ODT_ADJUST_SHIFT |
| | 0x00000001U << DDR_PHY_ZQ1PR0_PD_DRV_ADJUST_SHIFT |
| | 0x00000000U << DDR_PHY_ZQ1PR0_PU_DRV_ADJUST_SHIFT |
| | 0x00000007U << DDR_PHY_ZQ1PR0_ZPROG_DRAM_ODT_SHIFT |
| | 0x0000000BU << DDR_PHY_ZQ1PR0_ZPROG_HOST_ODT_SHIFT |
| | 0x0000000DU << DDR_PHY_ZQ1PR0_ZPROG_ASYM_DRV_PD_SHIFT |
| | 0x0000000BU << DDR_PHY_ZQ1PR0_ZPROG_ASYM_DRV_PU_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDR_PHY_ZQ1PR0_OFFSET ,0xFFFFFFFFU ,0x00087BDBU); |
| /*############################################################################################################################ */ |
| |
| /*Register : DX0GCR0 @ 0XFD080700</p> |
| |
| Calibration Bypass |
| PSU_DDR_PHY_DX0GCR0_CALBYP 0x0 |
| |
| Master Delay Line Enable |
| PSU_DDR_PHY_DX0GCR0_MDLEN 0x1 |
| |
| Configurable ODT(TE) Phase Shift |
| PSU_DDR_PHY_DX0GCR0_CODTSHFT 0x0 |
| |
| DQS Duty Cycle Correction |
| PSU_DDR_PHY_DX0GCR0_DQSDCC 0x0 |
| |
| Number of Cycles ( in terms of ctl_clk) to generate ctl_dx_get_static_rd input for the respective bypte lane of the PHY |
| PSU_DDR_PHY_DX0GCR0_RDDLY 0x8 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DX0GCR0_RESERVED_19_14 0x0 |
| |
| DQSNSE Power Down Receiver |
| PSU_DDR_PHY_DX0GCR0_DQSNSEPDR 0x0 |
| |
| DQSSE Power Down Receiver |
| PSU_DDR_PHY_DX0GCR0_DQSSEPDR 0x0 |
| |
| RTT On Additive Latency |
| PSU_DDR_PHY_DX0GCR0_RTTOAL 0x0 |
| |
| RTT Output Hold |
| PSU_DDR_PHY_DX0GCR0_RTTOH 0x3 |
| |
| Configurable PDR Phase Shift |
| PSU_DDR_PHY_DX0GCR0_CPDRSHFT 0x0 |
| |
| DQSR Power Down |
| PSU_DDR_PHY_DX0GCR0_DQSRPD 0x0 |
| |
| DQSG Power Down Receiver |
| PSU_DDR_PHY_DX0GCR0_DQSGPDR 0x0 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DX0GCR0_RESERVED_4 0x0 |
| |
| DQSG On-Die Termination |
| PSU_DDR_PHY_DX0GCR0_DQSGODT 0x0 |
| |
| DQSG Output Enable |
| PSU_DDR_PHY_DX0GCR0_DQSGOE 0x1 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DX0GCR0_RESERVED_1_0 0x0 |
| |
| DATX8 n General Configuration Register 0 |
| (OFFSET, MASK, VALUE) (0XFD080700, 0xFFFFFFFFU ,0x40800604U) |
| RegMask = (DDR_PHY_DX0GCR0_CALBYP_MASK | DDR_PHY_DX0GCR0_MDLEN_MASK | DDR_PHY_DX0GCR0_CODTSHFT_MASK | DDR_PHY_DX0GCR0_DQSDCC_MASK | DDR_PHY_DX0GCR0_RDDLY_MASK | DDR_PHY_DX0GCR0_RESERVED_19_14_MASK | DDR_PHY_DX0GCR0_DQSNSEPDR_MASK | DDR_PHY_DX0GCR0_DQSSEPDR_MASK | DDR_PHY_DX0GCR0_RTTOAL_MASK | DDR_PHY_DX0GCR0_RTTOH_MASK | DDR_PHY_DX0GCR0_CPDRSHFT_MASK | DDR_PHY_DX0GCR0_DQSRPD_MASK | DDR_PHY_DX0GCR0_DQSGPDR_MASK | DDR_PHY_DX0GCR0_RESERVED_4_MASK | DDR_PHY_DX0GCR0_DQSGODT_MASK | DDR_PHY_DX0GCR0_DQSGOE_MASK | DDR_PHY_DX0GCR0_RESERVED_1_0_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDR_PHY_DX0GCR0_CALBYP_SHIFT |
| | 0x00000001U << DDR_PHY_DX0GCR0_MDLEN_SHIFT |
| | 0x00000000U << DDR_PHY_DX0GCR0_CODTSHFT_SHIFT |
| | 0x00000000U << DDR_PHY_DX0GCR0_DQSDCC_SHIFT |
| | 0x00000008U << DDR_PHY_DX0GCR0_RDDLY_SHIFT |
| | 0x00000000U << DDR_PHY_DX0GCR0_RESERVED_19_14_SHIFT |
| | 0x00000000U << DDR_PHY_DX0GCR0_DQSNSEPDR_SHIFT |
| | 0x00000000U << DDR_PHY_DX0GCR0_DQSSEPDR_SHIFT |
| | 0x00000000U << DDR_PHY_DX0GCR0_RTTOAL_SHIFT |
| | 0x00000003U << DDR_PHY_DX0GCR0_RTTOH_SHIFT |
| | 0x00000000U << DDR_PHY_DX0GCR0_CPDRSHFT_SHIFT |
| | 0x00000000U << DDR_PHY_DX0GCR0_DQSRPD_SHIFT |
| | 0x00000000U << DDR_PHY_DX0GCR0_DQSGPDR_SHIFT |
| | 0x00000000U << DDR_PHY_DX0GCR0_RESERVED_4_SHIFT |
| | 0x00000000U << DDR_PHY_DX0GCR0_DQSGODT_SHIFT |
| | 0x00000001U << DDR_PHY_DX0GCR0_DQSGOE_SHIFT |
| | 0x00000000U << DDR_PHY_DX0GCR0_RESERVED_1_0_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDR_PHY_DX0GCR0_OFFSET ,0xFFFFFFFFU ,0x40800604U); |
| /*############################################################################################################################ */ |
| |
| /*Register : DX0GCR4 @ 0XFD080710</p> |
| |
| Byte lane VREF IOM (Used only by D4MU IOs) |
| PSU_DDR_PHY_DX0GCR4_RESERVED_31_29 0x0 |
| |
| Byte Lane VREF Pad Enable |
| PSU_DDR_PHY_DX0GCR4_DXREFPEN 0x0 |
| |
| Byte Lane Internal VREF Enable |
| PSU_DDR_PHY_DX0GCR4_DXREFEEN 0x3 |
| |
| Byte Lane Single-End VREF Enable |
| PSU_DDR_PHY_DX0GCR4_DXREFSEN 0x1 |
| |
| Reserved. Returns zeros on reads. |
| PSU_DDR_PHY_DX0GCR4_RESERVED_24 0x0 |
| |
| External VREF generator REFSEL range select |
| PSU_DDR_PHY_DX0GCR4_DXREFESELRANGE 0x0 |
| |
| Byte Lane External VREF Select |
| PSU_DDR_PHY_DX0GCR4_DXREFESEL 0x0 |
| |
| Single ended VREF generator REFSEL range select |
| PSU_DDR_PHY_DX0GCR4_DXREFSSELRANGE 0x1 |
| |
| Byte Lane Single-End VREF Select |
| PSU_DDR_PHY_DX0GCR4_DXREFSSEL 0x30 |
| |
| Reserved. Returns zeros on reads. |
| PSU_DDR_PHY_DX0GCR4_RESERVED_7_6 0x0 |
| |
| VREF Enable control for DQ IO (Single Ended) buffers of a byte lane. |
| PSU_DDR_PHY_DX0GCR4_DXREFIEN 0xf |
| |
| VRMON control for DQ IO (Single Ended) buffers of a byte lane. |
| PSU_DDR_PHY_DX0GCR4_DXREFIMON 0x0 |
| |
| DATX8 n General Configuration Register 4 |
| (OFFSET, MASK, VALUE) (0XFD080710, 0xFFFFFFFFU ,0x0E00B03CU) |
| RegMask = (DDR_PHY_DX0GCR4_RESERVED_31_29_MASK | DDR_PHY_DX0GCR4_DXREFPEN_MASK | DDR_PHY_DX0GCR4_DXREFEEN_MASK | DDR_PHY_DX0GCR4_DXREFSEN_MASK | DDR_PHY_DX0GCR4_RESERVED_24_MASK | DDR_PHY_DX0GCR4_DXREFESELRANGE_MASK | DDR_PHY_DX0GCR4_DXREFESEL_MASK | DDR_PHY_DX0GCR4_DXREFSSELRANGE_MASK | DDR_PHY_DX0GCR4_DXREFSSEL_MASK | DDR_PHY_DX0GCR4_RESERVED_7_6_MASK | DDR_PHY_DX0GCR4_DXREFIEN_MASK | DDR_PHY_DX0GCR4_DXREFIMON_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDR_PHY_DX0GCR4_RESERVED_31_29_SHIFT |
| | 0x00000000U << DDR_PHY_DX0GCR4_DXREFPEN_SHIFT |
| | 0x00000003U << DDR_PHY_DX0GCR4_DXREFEEN_SHIFT |
| | 0x00000001U << DDR_PHY_DX0GCR4_DXREFSEN_SHIFT |
| | 0x00000000U << DDR_PHY_DX0GCR4_RESERVED_24_SHIFT |
| | 0x00000000U << DDR_PHY_DX0GCR4_DXREFESELRANGE_SHIFT |
| | 0x00000000U << DDR_PHY_DX0GCR4_DXREFESEL_SHIFT |
| | 0x00000001U << DDR_PHY_DX0GCR4_DXREFSSELRANGE_SHIFT |
| | 0x00000030U << DDR_PHY_DX0GCR4_DXREFSSEL_SHIFT |
| | 0x00000000U << DDR_PHY_DX0GCR4_RESERVED_7_6_SHIFT |
| | 0x0000000FU << DDR_PHY_DX0GCR4_DXREFIEN_SHIFT |
| | 0x00000000U << DDR_PHY_DX0GCR4_DXREFIMON_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDR_PHY_DX0GCR4_OFFSET ,0xFFFFFFFFU ,0x0E00B03CU); |
| /*############################################################################################################################ */ |
| |
| /*Register : DX0GCR5 @ 0XFD080714</p> |
| |
| Reserved. Returns zeros on reads. |
| PSU_DDR_PHY_DX0GCR5_RESERVED_31 0x0 |
| |
| Byte Lane internal VREF Select for Rank 3 |
| PSU_DDR_PHY_DX0GCR5_DXREFISELR3 0x9 |
| |
| Reserved. Returns zeros on reads. |
| PSU_DDR_PHY_DX0GCR5_RESERVED_23 0x0 |
| |
| Byte Lane internal VREF Select for Rank 2 |
| PSU_DDR_PHY_DX0GCR5_DXREFISELR2 0x9 |
| |
| Reserved. Returns zeros on reads. |
| PSU_DDR_PHY_DX0GCR5_RESERVED_15 0x0 |
| |
| Byte Lane internal VREF Select for Rank 1 |
| PSU_DDR_PHY_DX0GCR5_DXREFISELR1 0x55 |
| |
| Reserved. Returns zeros on reads. |
| PSU_DDR_PHY_DX0GCR5_RESERVED_7 0x0 |
| |
| Byte Lane internal VREF Select for Rank 0 |
| PSU_DDR_PHY_DX0GCR5_DXREFISELR0 0x55 |
| |
| DATX8 n General Configuration Register 5 |
| (OFFSET, MASK, VALUE) (0XFD080714, 0xFFFFFFFFU ,0x09095555U) |
| RegMask = (DDR_PHY_DX0GCR5_RESERVED_31_MASK | DDR_PHY_DX0GCR5_DXREFISELR3_MASK | DDR_PHY_DX0GCR5_RESERVED_23_MASK | DDR_PHY_DX0GCR5_DXREFISELR2_MASK | DDR_PHY_DX0GCR5_RESERVED_15_MASK | DDR_PHY_DX0GCR5_DXREFISELR1_MASK | DDR_PHY_DX0GCR5_RESERVED_7_MASK | DDR_PHY_DX0GCR5_DXREFISELR0_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDR_PHY_DX0GCR5_RESERVED_31_SHIFT |
| | 0x00000009U << DDR_PHY_DX0GCR5_DXREFISELR3_SHIFT |
| | 0x00000000U << DDR_PHY_DX0GCR5_RESERVED_23_SHIFT |
| | 0x00000009U << DDR_PHY_DX0GCR5_DXREFISELR2_SHIFT |
| | 0x00000000U << DDR_PHY_DX0GCR5_RESERVED_15_SHIFT |
| | 0x00000055U << DDR_PHY_DX0GCR5_DXREFISELR1_SHIFT |
| | 0x00000000U << DDR_PHY_DX0GCR5_RESERVED_7_SHIFT |
| | 0x00000055U << DDR_PHY_DX0GCR5_DXREFISELR0_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDR_PHY_DX0GCR5_OFFSET ,0xFFFFFFFFU ,0x09095555U); |
| /*############################################################################################################################ */ |
| |
| /*Register : DX0GCR6 @ 0XFD080718</p> |
| |
| Reserved. Returns zeros on reads. |
| PSU_DDR_PHY_DX0GCR6_RESERVED_31_30 0x0 |
| |
| DRAM DQ VREF Select for Rank3 |
| PSU_DDR_PHY_DX0GCR6_DXDQVREFR3 0x9 |
| |
| Reserved. Returns zeros on reads. |
| PSU_DDR_PHY_DX0GCR6_RESERVED_23_22 0x0 |
| |
| DRAM DQ VREF Select for Rank2 |
| PSU_DDR_PHY_DX0GCR6_DXDQVREFR2 0x9 |
| |
| Reserved. Returns zeros on reads. |
| PSU_DDR_PHY_DX0GCR6_RESERVED_15_14 0x0 |
| |
| DRAM DQ VREF Select for Rank1 |
| PSU_DDR_PHY_DX0GCR6_DXDQVREFR1 0x2b |
| |
| Reserved. Returns zeros on reads. |
| PSU_DDR_PHY_DX0GCR6_RESERVED_7_6 0x0 |
| |
| DRAM DQ VREF Select for Rank0 |
| PSU_DDR_PHY_DX0GCR6_DXDQVREFR0 0x2b |
| |
| DATX8 n General Configuration Register 6 |
| (OFFSET, MASK, VALUE) (0XFD080718, 0xFFFFFFFFU ,0x09092B2BU) |
| RegMask = (DDR_PHY_DX0GCR6_RESERVED_31_30_MASK | DDR_PHY_DX0GCR6_DXDQVREFR3_MASK | DDR_PHY_DX0GCR6_RESERVED_23_22_MASK | DDR_PHY_DX0GCR6_DXDQVREFR2_MASK | DDR_PHY_DX0GCR6_RESERVED_15_14_MASK | DDR_PHY_DX0GCR6_DXDQVREFR1_MASK | DDR_PHY_DX0GCR6_RESERVED_7_6_MASK | DDR_PHY_DX0GCR6_DXDQVREFR0_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDR_PHY_DX0GCR6_RESERVED_31_30_SHIFT |
| | 0x00000009U << DDR_PHY_DX0GCR6_DXDQVREFR3_SHIFT |
| | 0x00000000U << DDR_PHY_DX0GCR6_RESERVED_23_22_SHIFT |
| | 0x00000009U << DDR_PHY_DX0GCR6_DXDQVREFR2_SHIFT |
| | 0x00000000U << DDR_PHY_DX0GCR6_RESERVED_15_14_SHIFT |
| | 0x0000002BU << DDR_PHY_DX0GCR6_DXDQVREFR1_SHIFT |
| | 0x00000000U << DDR_PHY_DX0GCR6_RESERVED_7_6_SHIFT |
| | 0x0000002BU << DDR_PHY_DX0GCR6_DXDQVREFR0_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDR_PHY_DX0GCR6_OFFSET ,0xFFFFFFFFU ,0x09092B2BU); |
| /*############################################################################################################################ */ |
| |
| /*Register : DX0LCDLR2 @ 0XFD080788</p> |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DX0LCDLR2_RESERVED_31_25 0x0 |
| |
| Reserved. Caution, do not write to this register field. |
| PSU_DDR_PHY_DX0LCDLR2_RESERVED_24_16 0x0 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DX0LCDLR2_RESERVED_15_9 0x0 |
| |
| Read DQS Gating Delay |
| PSU_DDR_PHY_DX0LCDLR2_DQSGD 0x0 |
| |
| DATX8 n Local Calibrated Delay Line Register 2 |
| (OFFSET, MASK, VALUE) (0XFD080788, 0xFFFFFFFFU ,0x00000000U) |
| RegMask = (DDR_PHY_DX0LCDLR2_RESERVED_31_25_MASK | DDR_PHY_DX0LCDLR2_RESERVED_24_16_MASK | DDR_PHY_DX0LCDLR2_RESERVED_15_9_MASK | DDR_PHY_DX0LCDLR2_DQSGD_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDR_PHY_DX0LCDLR2_RESERVED_31_25_SHIFT |
| | 0x00000000U << DDR_PHY_DX0LCDLR2_RESERVED_24_16_SHIFT |
| | 0x00000000U << DDR_PHY_DX0LCDLR2_RESERVED_15_9_SHIFT |
| | 0x00000000U << DDR_PHY_DX0LCDLR2_DQSGD_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDR_PHY_DX0LCDLR2_OFFSET ,0xFFFFFFFFU ,0x00000000U); |
| /*############################################################################################################################ */ |
| |
| /*Register : DX0GTR0 @ 0XFD0807C0</p> |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DX0GTR0_RESERVED_31_24 0x0 |
| |
| DQ Write Path Latency Pipeline |
| PSU_DDR_PHY_DX0GTR0_WDQSL 0x0 |
| |
| Reserved. Caution, do not write to this register field. |
| PSU_DDR_PHY_DX0GTR0_RESERVED_23_20 0x0 |
| |
| Write Leveling System Latency |
| PSU_DDR_PHY_DX0GTR0_WLSL 0x2 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DX0GTR0_RESERVED_15_13 0x0 |
| |
| Reserved. Caution, do not write to this register field. |
| PSU_DDR_PHY_DX0GTR0_RESERVED_12_8 0x0 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DX0GTR0_RESERVED_7_5 0x0 |
| |
| DQS Gating System Latency |
| PSU_DDR_PHY_DX0GTR0_DGSL 0x0 |
| |
| DATX8 n General Timing Register 0 |
| (OFFSET, MASK, VALUE) (0XFD0807C0, 0xFFFFFFFFU ,0x00020000U) |
| RegMask = (DDR_PHY_DX0GTR0_RESERVED_31_24_MASK | DDR_PHY_DX0GTR0_WDQSL_MASK | DDR_PHY_DX0GTR0_RESERVED_23_20_MASK | DDR_PHY_DX0GTR0_WLSL_MASK | DDR_PHY_DX0GTR0_RESERVED_15_13_MASK | DDR_PHY_DX0GTR0_RESERVED_12_8_MASK | DDR_PHY_DX0GTR0_RESERVED_7_5_MASK | DDR_PHY_DX0GTR0_DGSL_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDR_PHY_DX0GTR0_RESERVED_31_24_SHIFT |
| | 0x00000000U << DDR_PHY_DX0GTR0_WDQSL_SHIFT |
| | 0x00000000U << DDR_PHY_DX0GTR0_RESERVED_23_20_SHIFT |
| | 0x00000002U << DDR_PHY_DX0GTR0_WLSL_SHIFT |
| | 0x00000000U << DDR_PHY_DX0GTR0_RESERVED_15_13_SHIFT |
| | 0x00000000U << DDR_PHY_DX0GTR0_RESERVED_12_8_SHIFT |
| | 0x00000000U << DDR_PHY_DX0GTR0_RESERVED_7_5_SHIFT |
| | 0x00000000U << DDR_PHY_DX0GTR0_DGSL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDR_PHY_DX0GTR0_OFFSET ,0xFFFFFFFFU ,0x00020000U); |
| /*############################################################################################################################ */ |
| |
| /*Register : DX1GCR0 @ 0XFD080800</p> |
| |
| Calibration Bypass |
| PSU_DDR_PHY_DX1GCR0_CALBYP 0x0 |
| |
| Master Delay Line Enable |
| PSU_DDR_PHY_DX1GCR0_MDLEN 0x1 |
| |
| Configurable ODT(TE) Phase Shift |
| PSU_DDR_PHY_DX1GCR0_CODTSHFT 0x0 |
| |
| DQS Duty Cycle Correction |
| PSU_DDR_PHY_DX1GCR0_DQSDCC 0x0 |
| |
| Number of Cycles ( in terms of ctl_clk) to generate ctl_dx_get_static_rd input for the respective bypte lane of the PHY |
| PSU_DDR_PHY_DX1GCR0_RDDLY 0x8 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DX1GCR0_RESERVED_19_14 0x0 |
| |
| DQSNSE Power Down Receiver |
| PSU_DDR_PHY_DX1GCR0_DQSNSEPDR 0x0 |
| |
| DQSSE Power Down Receiver |
| PSU_DDR_PHY_DX1GCR0_DQSSEPDR 0x0 |
| |
| RTT On Additive Latency |
| PSU_DDR_PHY_DX1GCR0_RTTOAL 0x0 |
| |
| RTT Output Hold |
| PSU_DDR_PHY_DX1GCR0_RTTOH 0x3 |
| |
| Configurable PDR Phase Shift |
| PSU_DDR_PHY_DX1GCR0_CPDRSHFT 0x0 |
| |
| DQSR Power Down |
| PSU_DDR_PHY_DX1GCR0_DQSRPD 0x0 |
| |
| DQSG Power Down Receiver |
| PSU_DDR_PHY_DX1GCR0_DQSGPDR 0x0 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DX1GCR0_RESERVED_4 0x0 |
| |
| DQSG On-Die Termination |
| PSU_DDR_PHY_DX1GCR0_DQSGODT 0x0 |
| |
| DQSG Output Enable |
| PSU_DDR_PHY_DX1GCR0_DQSGOE 0x1 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DX1GCR0_RESERVED_1_0 0x0 |
| |
| DATX8 n General Configuration Register 0 |
| (OFFSET, MASK, VALUE) (0XFD080800, 0xFFFFFFFFU ,0x40800604U) |
| RegMask = (DDR_PHY_DX1GCR0_CALBYP_MASK | DDR_PHY_DX1GCR0_MDLEN_MASK | DDR_PHY_DX1GCR0_CODTSHFT_MASK | DDR_PHY_DX1GCR0_DQSDCC_MASK | DDR_PHY_DX1GCR0_RDDLY_MASK | DDR_PHY_DX1GCR0_RESERVED_19_14_MASK | DDR_PHY_DX1GCR0_DQSNSEPDR_MASK | DDR_PHY_DX1GCR0_DQSSEPDR_MASK | DDR_PHY_DX1GCR0_RTTOAL_MASK | DDR_PHY_DX1GCR0_RTTOH_MASK | DDR_PHY_DX1GCR0_CPDRSHFT_MASK | DDR_PHY_DX1GCR0_DQSRPD_MASK | DDR_PHY_DX1GCR0_DQSGPDR_MASK | DDR_PHY_DX1GCR0_RESERVED_4_MASK | DDR_PHY_DX1GCR0_DQSGODT_MASK | DDR_PHY_DX1GCR0_DQSGOE_MASK | DDR_PHY_DX1GCR0_RESERVED_1_0_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDR_PHY_DX1GCR0_CALBYP_SHIFT |
| | 0x00000001U << DDR_PHY_DX1GCR0_MDLEN_SHIFT |
| | 0x00000000U << DDR_PHY_DX1GCR0_CODTSHFT_SHIFT |
| | 0x00000000U << DDR_PHY_DX1GCR0_DQSDCC_SHIFT |
| | 0x00000008U << DDR_PHY_DX1GCR0_RDDLY_SHIFT |
| | 0x00000000U << DDR_PHY_DX1GCR0_RESERVED_19_14_SHIFT |
| | 0x00000000U << DDR_PHY_DX1GCR0_DQSNSEPDR_SHIFT |
| | 0x00000000U << DDR_PHY_DX1GCR0_DQSSEPDR_SHIFT |
| | 0x00000000U << DDR_PHY_DX1GCR0_RTTOAL_SHIFT |
| | 0x00000003U << DDR_PHY_DX1GCR0_RTTOH_SHIFT |
| | 0x00000000U << DDR_PHY_DX1GCR0_CPDRSHFT_SHIFT |
| | 0x00000000U << DDR_PHY_DX1GCR0_DQSRPD_SHIFT |
| | 0x00000000U << DDR_PHY_DX1GCR0_DQSGPDR_SHIFT |
| | 0x00000000U << DDR_PHY_DX1GCR0_RESERVED_4_SHIFT |
| | 0x00000000U << DDR_PHY_DX1GCR0_DQSGODT_SHIFT |
| | 0x00000001U << DDR_PHY_DX1GCR0_DQSGOE_SHIFT |
| | 0x00000000U << DDR_PHY_DX1GCR0_RESERVED_1_0_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDR_PHY_DX1GCR0_OFFSET ,0xFFFFFFFFU ,0x40800604U); |
| /*############################################################################################################################ */ |
| |
| /*Register : DX1GCR4 @ 0XFD080810</p> |
| |
| Byte lane VREF IOM (Used only by D4MU IOs) |
| PSU_DDR_PHY_DX1GCR4_RESERVED_31_29 0x0 |
| |
| Byte Lane VREF Pad Enable |
| PSU_DDR_PHY_DX1GCR4_DXREFPEN 0x0 |
| |
| Byte Lane Internal VREF Enable |
| PSU_DDR_PHY_DX1GCR4_DXREFEEN 0x3 |
| |
| Byte Lane Single-End VREF Enable |
| PSU_DDR_PHY_DX1GCR4_DXREFSEN 0x1 |
| |
| Reserved. Returns zeros on reads. |
| PSU_DDR_PHY_DX1GCR4_RESERVED_24 0x0 |
| |
| External VREF generator REFSEL range select |
| PSU_DDR_PHY_DX1GCR4_DXREFESELRANGE 0x0 |
| |
| Byte Lane External VREF Select |
| PSU_DDR_PHY_DX1GCR4_DXREFESEL 0x0 |
| |
| Single ended VREF generator REFSEL range select |
| PSU_DDR_PHY_DX1GCR4_DXREFSSELRANGE 0x1 |
| |
| Byte Lane Single-End VREF Select |
| PSU_DDR_PHY_DX1GCR4_DXREFSSEL 0x30 |
| |
| Reserved. Returns zeros on reads. |
| PSU_DDR_PHY_DX1GCR4_RESERVED_7_6 0x0 |
| |
| VREF Enable control for DQ IO (Single Ended) buffers of a byte lane. |
| PSU_DDR_PHY_DX1GCR4_DXREFIEN 0xf |
| |
| VRMON control for DQ IO (Single Ended) buffers of a byte lane. |
| PSU_DDR_PHY_DX1GCR4_DXREFIMON 0x0 |
| |
| DATX8 n General Configuration Register 4 |
| (OFFSET, MASK, VALUE) (0XFD080810, 0xFFFFFFFFU ,0x0E00B03CU) |
| RegMask = (DDR_PHY_DX1GCR4_RESERVED_31_29_MASK | DDR_PHY_DX1GCR4_DXREFPEN_MASK | DDR_PHY_DX1GCR4_DXREFEEN_MASK | DDR_PHY_DX1GCR4_DXREFSEN_MASK | DDR_PHY_DX1GCR4_RESERVED_24_MASK | DDR_PHY_DX1GCR4_DXREFESELRANGE_MASK | DDR_PHY_DX1GCR4_DXREFESEL_MASK | DDR_PHY_DX1GCR4_DXREFSSELRANGE_MASK | DDR_PHY_DX1GCR4_DXREFSSEL_MASK | DDR_PHY_DX1GCR4_RESERVED_7_6_MASK | DDR_PHY_DX1GCR4_DXREFIEN_MASK | DDR_PHY_DX1GCR4_DXREFIMON_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDR_PHY_DX1GCR4_RESERVED_31_29_SHIFT |
| | 0x00000000U << DDR_PHY_DX1GCR4_DXREFPEN_SHIFT |
| | 0x00000003U << DDR_PHY_DX1GCR4_DXREFEEN_SHIFT |
| | 0x00000001U << DDR_PHY_DX1GCR4_DXREFSEN_SHIFT |
| | 0x00000000U << DDR_PHY_DX1GCR4_RESERVED_24_SHIFT |
| | 0x00000000U << DDR_PHY_DX1GCR4_DXREFESELRANGE_SHIFT |
| | 0x00000000U << DDR_PHY_DX1GCR4_DXREFESEL_SHIFT |
| | 0x00000001U << DDR_PHY_DX1GCR4_DXREFSSELRANGE_SHIFT |
| | 0x00000030U << DDR_PHY_DX1GCR4_DXREFSSEL_SHIFT |
| | 0x00000000U << DDR_PHY_DX1GCR4_RESERVED_7_6_SHIFT |
| | 0x0000000FU << DDR_PHY_DX1GCR4_DXREFIEN_SHIFT |
| | 0x00000000U << DDR_PHY_DX1GCR4_DXREFIMON_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDR_PHY_DX1GCR4_OFFSET ,0xFFFFFFFFU ,0x0E00B03CU); |
| /*############################################################################################################################ */ |
| |
| /*Register : DX1GCR5 @ 0XFD080814</p> |
| |
| Reserved. Returns zeros on reads. |
| PSU_DDR_PHY_DX1GCR5_RESERVED_31 0x0 |
| |
| Byte Lane internal VREF Select for Rank 3 |
| PSU_DDR_PHY_DX1GCR5_DXREFISELR3 0x9 |
| |
| Reserved. Returns zeros on reads. |
| PSU_DDR_PHY_DX1GCR5_RESERVED_23 0x0 |
| |
| Byte Lane internal VREF Select for Rank 2 |
| PSU_DDR_PHY_DX1GCR5_DXREFISELR2 0x9 |
| |
| Reserved. Returns zeros on reads. |
| PSU_DDR_PHY_DX1GCR5_RESERVED_15 0x0 |
| |
| Byte Lane internal VREF Select for Rank 1 |
| PSU_DDR_PHY_DX1GCR5_DXREFISELR1 0x55 |
| |
| Reserved. Returns zeros on reads. |
| PSU_DDR_PHY_DX1GCR5_RESERVED_7 0x0 |
| |
| Byte Lane internal VREF Select for Rank 0 |
| PSU_DDR_PHY_DX1GCR5_DXREFISELR0 0x55 |
| |
| DATX8 n General Configuration Register 5 |
| (OFFSET, MASK, VALUE) (0XFD080814, 0xFFFFFFFFU ,0x09095555U) |
| RegMask = (DDR_PHY_DX1GCR5_RESERVED_31_MASK | DDR_PHY_DX1GCR5_DXREFISELR3_MASK | DDR_PHY_DX1GCR5_RESERVED_23_MASK | DDR_PHY_DX1GCR5_DXREFISELR2_MASK | DDR_PHY_DX1GCR5_RESERVED_15_MASK | DDR_PHY_DX1GCR5_DXREFISELR1_MASK | DDR_PHY_DX1GCR5_RESERVED_7_MASK | DDR_PHY_DX1GCR5_DXREFISELR0_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDR_PHY_DX1GCR5_RESERVED_31_SHIFT |
| | 0x00000009U << DDR_PHY_DX1GCR5_DXREFISELR3_SHIFT |
| | 0x00000000U << DDR_PHY_DX1GCR5_RESERVED_23_SHIFT |
| | 0x00000009U << DDR_PHY_DX1GCR5_DXREFISELR2_SHIFT |
| | 0x00000000U << DDR_PHY_DX1GCR5_RESERVED_15_SHIFT |
| | 0x00000055U << DDR_PHY_DX1GCR5_DXREFISELR1_SHIFT |
| | 0x00000000U << DDR_PHY_DX1GCR5_RESERVED_7_SHIFT |
| | 0x00000055U << DDR_PHY_DX1GCR5_DXREFISELR0_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDR_PHY_DX1GCR5_OFFSET ,0xFFFFFFFFU ,0x09095555U); |
| /*############################################################################################################################ */ |
| |
| /*Register : DX1GCR6 @ 0XFD080818</p> |
| |
| Reserved. Returns zeros on reads. |
| PSU_DDR_PHY_DX1GCR6_RESERVED_31_30 0x0 |
| |
| DRAM DQ VREF Select for Rank3 |
| PSU_DDR_PHY_DX1GCR6_DXDQVREFR3 0x9 |
| |
| Reserved. Returns zeros on reads. |
| PSU_DDR_PHY_DX1GCR6_RESERVED_23_22 0x0 |
| |
| DRAM DQ VREF Select for Rank2 |
| PSU_DDR_PHY_DX1GCR6_DXDQVREFR2 0x9 |
| |
| Reserved. Returns zeros on reads. |
| PSU_DDR_PHY_DX1GCR6_RESERVED_15_14 0x0 |
| |
| DRAM DQ VREF Select for Rank1 |
| PSU_DDR_PHY_DX1GCR6_DXDQVREFR1 0x2b |
| |
| Reserved. Returns zeros on reads. |
| PSU_DDR_PHY_DX1GCR6_RESERVED_7_6 0x0 |
| |
| DRAM DQ VREF Select for Rank0 |
| PSU_DDR_PHY_DX1GCR6_DXDQVREFR0 0x2b |
| |
| DATX8 n General Configuration Register 6 |
| (OFFSET, MASK, VALUE) (0XFD080818, 0xFFFFFFFFU ,0x09092B2BU) |
| RegMask = (DDR_PHY_DX1GCR6_RESERVED_31_30_MASK | DDR_PHY_DX1GCR6_DXDQVREFR3_MASK | DDR_PHY_DX1GCR6_RESERVED_23_22_MASK | DDR_PHY_DX1GCR6_DXDQVREFR2_MASK | DDR_PHY_DX1GCR6_RESERVED_15_14_MASK | DDR_PHY_DX1GCR6_DXDQVREFR1_MASK | DDR_PHY_DX1GCR6_RESERVED_7_6_MASK | DDR_PHY_DX1GCR6_DXDQVREFR0_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDR_PHY_DX1GCR6_RESERVED_31_30_SHIFT |
| | 0x00000009U << DDR_PHY_DX1GCR6_DXDQVREFR3_SHIFT |
| | 0x00000000U << DDR_PHY_DX1GCR6_RESERVED_23_22_SHIFT |
| | 0x00000009U << DDR_PHY_DX1GCR6_DXDQVREFR2_SHIFT |
| | 0x00000000U << DDR_PHY_DX1GCR6_RESERVED_15_14_SHIFT |
| | 0x0000002BU << DDR_PHY_DX1GCR6_DXDQVREFR1_SHIFT |
| | 0x00000000U << DDR_PHY_DX1GCR6_RESERVED_7_6_SHIFT |
| | 0x0000002BU << DDR_PHY_DX1GCR6_DXDQVREFR0_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDR_PHY_DX1GCR6_OFFSET ,0xFFFFFFFFU ,0x09092B2BU); |
| /*############################################################################################################################ */ |
| |
| /*Register : DX1LCDLR2 @ 0XFD080888</p> |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DX1LCDLR2_RESERVED_31_25 0x0 |
| |
| Reserved. Caution, do not write to this register field. |
| PSU_DDR_PHY_DX1LCDLR2_RESERVED_24_16 0x0 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DX1LCDLR2_RESERVED_15_9 0x0 |
| |
| Read DQS Gating Delay |
| PSU_DDR_PHY_DX1LCDLR2_DQSGD 0x0 |
| |
| DATX8 n Local Calibrated Delay Line Register 2 |
| (OFFSET, MASK, VALUE) (0XFD080888, 0xFFFFFFFFU ,0x00000000U) |
| RegMask = (DDR_PHY_DX1LCDLR2_RESERVED_31_25_MASK | DDR_PHY_DX1LCDLR2_RESERVED_24_16_MASK | DDR_PHY_DX1LCDLR2_RESERVED_15_9_MASK | DDR_PHY_DX1LCDLR2_DQSGD_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDR_PHY_DX1LCDLR2_RESERVED_31_25_SHIFT |
| | 0x00000000U << DDR_PHY_DX1LCDLR2_RESERVED_24_16_SHIFT |
| | 0x00000000U << DDR_PHY_DX1LCDLR2_RESERVED_15_9_SHIFT |
| | 0x00000000U << DDR_PHY_DX1LCDLR2_DQSGD_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDR_PHY_DX1LCDLR2_OFFSET ,0xFFFFFFFFU ,0x00000000U); |
| /*############################################################################################################################ */ |
| |
| /*Register : DX1GTR0 @ 0XFD0808C0</p> |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DX1GTR0_RESERVED_31_24 0x0 |
| |
| DQ Write Path Latency Pipeline |
| PSU_DDR_PHY_DX1GTR0_WDQSL 0x0 |
| |
| Reserved. Caution, do not write to this register field. |
| PSU_DDR_PHY_DX1GTR0_RESERVED_23_20 0x0 |
| |
| Write Leveling System Latency |
| PSU_DDR_PHY_DX1GTR0_WLSL 0x2 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DX1GTR0_RESERVED_15_13 0x0 |
| |
| Reserved. Caution, do not write to this register field. |
| PSU_DDR_PHY_DX1GTR0_RESERVED_12_8 0x0 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DX1GTR0_RESERVED_7_5 0x0 |
| |
| DQS Gating System Latency |
| PSU_DDR_PHY_DX1GTR0_DGSL 0x0 |
| |
| DATX8 n General Timing Register 0 |
| (OFFSET, MASK, VALUE) (0XFD0808C0, 0xFFFFFFFFU ,0x00020000U) |
| RegMask = (DDR_PHY_DX1GTR0_RESERVED_31_24_MASK | DDR_PHY_DX1GTR0_WDQSL_MASK | DDR_PHY_DX1GTR0_RESERVED_23_20_MASK | DDR_PHY_DX1GTR0_WLSL_MASK | DDR_PHY_DX1GTR0_RESERVED_15_13_MASK | DDR_PHY_DX1GTR0_RESERVED_12_8_MASK | DDR_PHY_DX1GTR0_RESERVED_7_5_MASK | DDR_PHY_DX1GTR0_DGSL_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDR_PHY_DX1GTR0_RESERVED_31_24_SHIFT |
| | 0x00000000U << DDR_PHY_DX1GTR0_WDQSL_SHIFT |
| | 0x00000000U << DDR_PHY_DX1GTR0_RESERVED_23_20_SHIFT |
| | 0x00000002U << DDR_PHY_DX1GTR0_WLSL_SHIFT |
| | 0x00000000U << DDR_PHY_DX1GTR0_RESERVED_15_13_SHIFT |
| | 0x00000000U << DDR_PHY_DX1GTR0_RESERVED_12_8_SHIFT |
| | 0x00000000U << DDR_PHY_DX1GTR0_RESERVED_7_5_SHIFT |
| | 0x00000000U << DDR_PHY_DX1GTR0_DGSL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDR_PHY_DX1GTR0_OFFSET ,0xFFFFFFFFU ,0x00020000U); |
| /*############################################################################################################################ */ |
| |
| /*Register : DX2GCR0 @ 0XFD080900</p> |
| |
| Calibration Bypass |
| PSU_DDR_PHY_DX2GCR0_CALBYP 0x0 |
| |
| Master Delay Line Enable |
| PSU_DDR_PHY_DX2GCR0_MDLEN 0x1 |
| |
| Configurable ODT(TE) Phase Shift |
| PSU_DDR_PHY_DX2GCR0_CODTSHFT 0x0 |
| |
| DQS Duty Cycle Correction |
| PSU_DDR_PHY_DX2GCR0_DQSDCC 0x0 |
| |
| Number of Cycles ( in terms of ctl_clk) to generate ctl_dx_get_static_rd input for the respective bypte lane of the PHY |
| PSU_DDR_PHY_DX2GCR0_RDDLY 0x8 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DX2GCR0_RESERVED_19_14 0x0 |
| |
| DQSNSE Power Down Receiver |
| PSU_DDR_PHY_DX2GCR0_DQSNSEPDR 0x0 |
| |
| DQSSE Power Down Receiver |
| PSU_DDR_PHY_DX2GCR0_DQSSEPDR 0x0 |
| |
| RTT On Additive Latency |
| PSU_DDR_PHY_DX2GCR0_RTTOAL 0x0 |
| |
| RTT Output Hold |
| PSU_DDR_PHY_DX2GCR0_RTTOH 0x3 |
| |
| Configurable PDR Phase Shift |
| PSU_DDR_PHY_DX2GCR0_CPDRSHFT 0x0 |
| |
| DQSR Power Down |
| PSU_DDR_PHY_DX2GCR0_DQSRPD 0x0 |
| |
| DQSG Power Down Receiver |
| PSU_DDR_PHY_DX2GCR0_DQSGPDR 0x0 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DX2GCR0_RESERVED_4 0x0 |
| |
| DQSG On-Die Termination |
| PSU_DDR_PHY_DX2GCR0_DQSGODT 0x0 |
| |
| DQSG Output Enable |
| PSU_DDR_PHY_DX2GCR0_DQSGOE 0x1 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DX2GCR0_RESERVED_1_0 0x0 |
| |
| DATX8 n General Configuration Register 0 |
| (OFFSET, MASK, VALUE) (0XFD080900, 0xFFFFFFFFU ,0x40800604U) |
| RegMask = (DDR_PHY_DX2GCR0_CALBYP_MASK | DDR_PHY_DX2GCR0_MDLEN_MASK | DDR_PHY_DX2GCR0_CODTSHFT_MASK | DDR_PHY_DX2GCR0_DQSDCC_MASK | DDR_PHY_DX2GCR0_RDDLY_MASK | DDR_PHY_DX2GCR0_RESERVED_19_14_MASK | DDR_PHY_DX2GCR0_DQSNSEPDR_MASK | DDR_PHY_DX2GCR0_DQSSEPDR_MASK | DDR_PHY_DX2GCR0_RTTOAL_MASK | DDR_PHY_DX2GCR0_RTTOH_MASK | DDR_PHY_DX2GCR0_CPDRSHFT_MASK | DDR_PHY_DX2GCR0_DQSRPD_MASK | DDR_PHY_DX2GCR0_DQSGPDR_MASK | DDR_PHY_DX2GCR0_RESERVED_4_MASK | DDR_PHY_DX2GCR0_DQSGODT_MASK | DDR_PHY_DX2GCR0_DQSGOE_MASK | DDR_PHY_DX2GCR0_RESERVED_1_0_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDR_PHY_DX2GCR0_CALBYP_SHIFT |
| | 0x00000001U << DDR_PHY_DX2GCR0_MDLEN_SHIFT |
| | 0x00000000U << DDR_PHY_DX2GCR0_CODTSHFT_SHIFT |
| | 0x00000000U << DDR_PHY_DX2GCR0_DQSDCC_SHIFT |
| | 0x00000008U << DDR_PHY_DX2GCR0_RDDLY_SHIFT |
| | 0x00000000U << DDR_PHY_DX2GCR0_RESERVED_19_14_SHIFT |
| | 0x00000000U << DDR_PHY_DX2GCR0_DQSNSEPDR_SHIFT |
| | 0x00000000U << DDR_PHY_DX2GCR0_DQSSEPDR_SHIFT |
| | 0x00000000U << DDR_PHY_DX2GCR0_RTTOAL_SHIFT |
| | 0x00000003U << DDR_PHY_DX2GCR0_RTTOH_SHIFT |
| | 0x00000000U << DDR_PHY_DX2GCR0_CPDRSHFT_SHIFT |
| | 0x00000000U << DDR_PHY_DX2GCR0_DQSRPD_SHIFT |
| | 0x00000000U << DDR_PHY_DX2GCR0_DQSGPDR_SHIFT |
| | 0x00000000U << DDR_PHY_DX2GCR0_RESERVED_4_SHIFT |
| | 0x00000000U << DDR_PHY_DX2GCR0_DQSGODT_SHIFT |
| | 0x00000001U << DDR_PHY_DX2GCR0_DQSGOE_SHIFT |
| | 0x00000000U << DDR_PHY_DX2GCR0_RESERVED_1_0_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDR_PHY_DX2GCR0_OFFSET ,0xFFFFFFFFU ,0x40800604U); |
| /*############################################################################################################################ */ |
| |
| /*Register : DX2GCR1 @ 0XFD080904</p> |
| |
| Enables the PDR mode for DQ[7:0] |
| PSU_DDR_PHY_DX2GCR1_DXPDRMODE 0x0 |
| |
| Reserved. Returns zeroes on reads. |
| PSU_DDR_PHY_DX2GCR1_RESERVED_15 0x0 |
| |
| Select the delayed or non-delayed read data strobe # |
| PSU_DDR_PHY_DX2GCR1_QSNSEL 0x1 |
| |
| Select the delayed or non-delayed read data strobe |
| PSU_DDR_PHY_DX2GCR1_QSSEL 0x1 |
| |
| Enables Read Data Strobe in a byte lane |
| PSU_DDR_PHY_DX2GCR1_OEEN 0x1 |
| |
| Enables PDR in a byte lane |
| PSU_DDR_PHY_DX2GCR1_PDREN 0x1 |
| |
| Enables ODT/TE in a byte lane |
| PSU_DDR_PHY_DX2GCR1_TEEN 0x1 |
| |
| Enables Write Data strobe in a byte lane |
| PSU_DDR_PHY_DX2GCR1_DSEN 0x1 |
| |
| Enables DM pin in a byte lane |
| PSU_DDR_PHY_DX2GCR1_DMEN 0x1 |
| |
| Enables DQ corresponding to each bit in a byte |
| PSU_DDR_PHY_DX2GCR1_DQEN 0xff |
| |
| DATX8 n General Configuration Register 1 |
| (OFFSET, MASK, VALUE) (0XFD080904, 0xFFFFFFFFU ,0x00007FFFU) |
| RegMask = (DDR_PHY_DX2GCR1_DXPDRMODE_MASK | DDR_PHY_DX2GCR1_RESERVED_15_MASK | DDR_PHY_DX2GCR1_QSNSEL_MASK | DDR_PHY_DX2GCR1_QSSEL_MASK | DDR_PHY_DX2GCR1_OEEN_MASK | DDR_PHY_DX2GCR1_PDREN_MASK | DDR_PHY_DX2GCR1_TEEN_MASK | DDR_PHY_DX2GCR1_DSEN_MASK | DDR_PHY_DX2GCR1_DMEN_MASK | DDR_PHY_DX2GCR1_DQEN_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDR_PHY_DX2GCR1_DXPDRMODE_SHIFT |
| | 0x00000000U << DDR_PHY_DX2GCR1_RESERVED_15_SHIFT |
| | 0x00000001U << DDR_PHY_DX2GCR1_QSNSEL_SHIFT |
| | 0x00000001U << DDR_PHY_DX2GCR1_QSSEL_SHIFT |
| | 0x00000001U << DDR_PHY_DX2GCR1_OEEN_SHIFT |
| | 0x00000001U << DDR_PHY_DX2GCR1_PDREN_SHIFT |
| | 0x00000001U << DDR_PHY_DX2GCR1_TEEN_SHIFT |
| | 0x00000001U << DDR_PHY_DX2GCR1_DSEN_SHIFT |
| | 0x00000001U << DDR_PHY_DX2GCR1_DMEN_SHIFT |
| | 0x000000FFU << DDR_PHY_DX2GCR1_DQEN_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDR_PHY_DX2GCR1_OFFSET ,0xFFFFFFFFU ,0x00007FFFU); |
| /*############################################################################################################################ */ |
| |
| /*Register : DX2GCR4 @ 0XFD080910</p> |
| |
| Byte lane VREF IOM (Used only by D4MU IOs) |
| PSU_DDR_PHY_DX2GCR4_RESERVED_31_29 0x0 |
| |
| Byte Lane VREF Pad Enable |
| PSU_DDR_PHY_DX2GCR4_DXREFPEN 0x0 |
| |
| Byte Lane Internal VREF Enable |
| PSU_DDR_PHY_DX2GCR4_DXREFEEN 0x3 |
| |
| Byte Lane Single-End VREF Enable |
| PSU_DDR_PHY_DX2GCR4_DXREFSEN 0x1 |
| |
| Reserved. Returns zeros on reads. |
| PSU_DDR_PHY_DX2GCR4_RESERVED_24 0x0 |
| |
| External VREF generator REFSEL range select |
| PSU_DDR_PHY_DX2GCR4_DXREFESELRANGE 0x0 |
| |
| Byte Lane External VREF Select |
| PSU_DDR_PHY_DX2GCR4_DXREFESEL 0x0 |
| |
| Single ended VREF generator REFSEL range select |
| PSU_DDR_PHY_DX2GCR4_DXREFSSELRANGE 0x1 |
| |
| Byte Lane Single-End VREF Select |
| PSU_DDR_PHY_DX2GCR4_DXREFSSEL 0x30 |
| |
| Reserved. Returns zeros on reads. |
| PSU_DDR_PHY_DX2GCR4_RESERVED_7_6 0x0 |
| |
| VREF Enable control for DQ IO (Single Ended) buffers of a byte lane. |
| PSU_DDR_PHY_DX2GCR4_DXREFIEN 0xf |
| |
| VRMON control for DQ IO (Single Ended) buffers of a byte lane. |
| PSU_DDR_PHY_DX2GCR4_DXREFIMON 0x0 |
| |
| DATX8 n General Configuration Register 4 |
| (OFFSET, MASK, VALUE) (0XFD080910, 0xFFFFFFFFU ,0x0E00B03CU) |
| RegMask = (DDR_PHY_DX2GCR4_RESERVED_31_29_MASK | DDR_PHY_DX2GCR4_DXREFPEN_MASK | DDR_PHY_DX2GCR4_DXREFEEN_MASK | DDR_PHY_DX2GCR4_DXREFSEN_MASK | DDR_PHY_DX2GCR4_RESERVED_24_MASK | DDR_PHY_DX2GCR4_DXREFESELRANGE_MASK | DDR_PHY_DX2GCR4_DXREFESEL_MASK | DDR_PHY_DX2GCR4_DXREFSSELRANGE_MASK | DDR_PHY_DX2GCR4_DXREFSSEL_MASK | DDR_PHY_DX2GCR4_RESERVED_7_6_MASK | DDR_PHY_DX2GCR4_DXREFIEN_MASK | DDR_PHY_DX2GCR4_DXREFIMON_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDR_PHY_DX2GCR4_RESERVED_31_29_SHIFT |
| | 0x00000000U << DDR_PHY_DX2GCR4_DXREFPEN_SHIFT |
| | 0x00000003U << DDR_PHY_DX2GCR4_DXREFEEN_SHIFT |
| | 0x00000001U << DDR_PHY_DX2GCR4_DXREFSEN_SHIFT |
| | 0x00000000U << DDR_PHY_DX2GCR4_RESERVED_24_SHIFT |
| | 0x00000000U << DDR_PHY_DX2GCR4_DXREFESELRANGE_SHIFT |
| | 0x00000000U << DDR_PHY_DX2GCR4_DXREFESEL_SHIFT |
| | 0x00000001U << DDR_PHY_DX2GCR4_DXREFSSELRANGE_SHIFT |
| | 0x00000030U << DDR_PHY_DX2GCR4_DXREFSSEL_SHIFT |
| | 0x00000000U << DDR_PHY_DX2GCR4_RESERVED_7_6_SHIFT |
| | 0x0000000FU << DDR_PHY_DX2GCR4_DXREFIEN_SHIFT |
| | 0x00000000U << DDR_PHY_DX2GCR4_DXREFIMON_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDR_PHY_DX2GCR4_OFFSET ,0xFFFFFFFFU ,0x0E00B03CU); |
| /*############################################################################################################################ */ |
| |
| /*Register : DX2GCR5 @ 0XFD080914</p> |
| |
| Reserved. Returns zeros on reads. |
| PSU_DDR_PHY_DX2GCR5_RESERVED_31 0x0 |
| |
| Byte Lane internal VREF Select for Rank 3 |
| PSU_DDR_PHY_DX2GCR5_DXREFISELR3 0x9 |
| |
| Reserved. Returns zeros on reads. |
| PSU_DDR_PHY_DX2GCR5_RESERVED_23 0x0 |
| |
| Byte Lane internal VREF Select for Rank 2 |
| PSU_DDR_PHY_DX2GCR5_DXREFISELR2 0x9 |
| |
| Reserved. Returns zeros on reads. |
| PSU_DDR_PHY_DX2GCR5_RESERVED_15 0x0 |
| |
| Byte Lane internal VREF Select for Rank 1 |
| PSU_DDR_PHY_DX2GCR5_DXREFISELR1 0x55 |
| |
| Reserved. Returns zeros on reads. |
| PSU_DDR_PHY_DX2GCR5_RESERVED_7 0x0 |
| |
| Byte Lane internal VREF Select for Rank 0 |
| PSU_DDR_PHY_DX2GCR5_DXREFISELR0 0x55 |
| |
| DATX8 n General Configuration Register 5 |
| (OFFSET, MASK, VALUE) (0XFD080914, 0xFFFFFFFFU ,0x09095555U) |
| RegMask = (DDR_PHY_DX2GCR5_RESERVED_31_MASK | DDR_PHY_DX2GCR5_DXREFISELR3_MASK | DDR_PHY_DX2GCR5_RESERVED_23_MASK | DDR_PHY_DX2GCR5_DXREFISELR2_MASK | DDR_PHY_DX2GCR5_RESERVED_15_MASK | DDR_PHY_DX2GCR5_DXREFISELR1_MASK | DDR_PHY_DX2GCR5_RESERVED_7_MASK | DDR_PHY_DX2GCR5_DXREFISELR0_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDR_PHY_DX2GCR5_RESERVED_31_SHIFT |
| | 0x00000009U << DDR_PHY_DX2GCR5_DXREFISELR3_SHIFT |
| | 0x00000000U << DDR_PHY_DX2GCR5_RESERVED_23_SHIFT |
| | 0x00000009U << DDR_PHY_DX2GCR5_DXREFISELR2_SHIFT |
| | 0x00000000U << DDR_PHY_DX2GCR5_RESERVED_15_SHIFT |
| | 0x00000055U << DDR_PHY_DX2GCR5_DXREFISELR1_SHIFT |
| | 0x00000000U << DDR_PHY_DX2GCR5_RESERVED_7_SHIFT |
| | 0x00000055U << DDR_PHY_DX2GCR5_DXREFISELR0_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDR_PHY_DX2GCR5_OFFSET ,0xFFFFFFFFU ,0x09095555U); |
| /*############################################################################################################################ */ |
| |
| /*Register : DX2GCR6 @ 0XFD080918</p> |
| |
| Reserved. Returns zeros on reads. |
| PSU_DDR_PHY_DX2GCR6_RESERVED_31_30 0x0 |
| |
| DRAM DQ VREF Select for Rank3 |
| PSU_DDR_PHY_DX2GCR6_DXDQVREFR3 0x9 |
| |
| Reserved. Returns zeros on reads. |
| PSU_DDR_PHY_DX2GCR6_RESERVED_23_22 0x0 |
| |
| DRAM DQ VREF Select for Rank2 |
| PSU_DDR_PHY_DX2GCR6_DXDQVREFR2 0x9 |
| |
| Reserved. Returns zeros on reads. |
| PSU_DDR_PHY_DX2GCR6_RESERVED_15_14 0x0 |
| |
| DRAM DQ VREF Select for Rank1 |
| PSU_DDR_PHY_DX2GCR6_DXDQVREFR1 0x2b |
| |
| Reserved. Returns zeros on reads. |
| PSU_DDR_PHY_DX2GCR6_RESERVED_7_6 0x0 |
| |
| DRAM DQ VREF Select for Rank0 |
| PSU_DDR_PHY_DX2GCR6_DXDQVREFR0 0x2b |
| |
| DATX8 n General Configuration Register 6 |
| (OFFSET, MASK, VALUE) (0XFD080918, 0xFFFFFFFFU ,0x09092B2BU) |
| RegMask = (DDR_PHY_DX2GCR6_RESERVED_31_30_MASK | DDR_PHY_DX2GCR6_DXDQVREFR3_MASK | DDR_PHY_DX2GCR6_RESERVED_23_22_MASK | DDR_PHY_DX2GCR6_DXDQVREFR2_MASK | DDR_PHY_DX2GCR6_RESERVED_15_14_MASK | DDR_PHY_DX2GCR6_DXDQVREFR1_MASK | DDR_PHY_DX2GCR6_RESERVED_7_6_MASK | DDR_PHY_DX2GCR6_DXDQVREFR0_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDR_PHY_DX2GCR6_RESERVED_31_30_SHIFT |
| | 0x00000009U << DDR_PHY_DX2GCR6_DXDQVREFR3_SHIFT |
| | 0x00000000U << DDR_PHY_DX2GCR6_RESERVED_23_22_SHIFT |
| | 0x00000009U << DDR_PHY_DX2GCR6_DXDQVREFR2_SHIFT |
| | 0x00000000U << DDR_PHY_DX2GCR6_RESERVED_15_14_SHIFT |
| | 0x0000002BU << DDR_PHY_DX2GCR6_DXDQVREFR1_SHIFT |
| | 0x00000000U << DDR_PHY_DX2GCR6_RESERVED_7_6_SHIFT |
| | 0x0000002BU << DDR_PHY_DX2GCR6_DXDQVREFR0_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDR_PHY_DX2GCR6_OFFSET ,0xFFFFFFFFU ,0x09092B2BU); |
| /*############################################################################################################################ */ |
| |
| /*Register : DX2LCDLR2 @ 0XFD080988</p> |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DX2LCDLR2_RESERVED_31_25 0x0 |
| |
| Reserved. Caution, do not write to this register field. |
| PSU_DDR_PHY_DX2LCDLR2_RESERVED_24_16 0x0 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DX2LCDLR2_RESERVED_15_9 0x0 |
| |
| Read DQS Gating Delay |
| PSU_DDR_PHY_DX2LCDLR2_DQSGD 0x0 |
| |
| DATX8 n Local Calibrated Delay Line Register 2 |
| (OFFSET, MASK, VALUE) (0XFD080988, 0xFFFFFFFFU ,0x00000000U) |
| RegMask = (DDR_PHY_DX2LCDLR2_RESERVED_31_25_MASK | DDR_PHY_DX2LCDLR2_RESERVED_24_16_MASK | DDR_PHY_DX2LCDLR2_RESERVED_15_9_MASK | DDR_PHY_DX2LCDLR2_DQSGD_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDR_PHY_DX2LCDLR2_RESERVED_31_25_SHIFT |
| | 0x00000000U << DDR_PHY_DX2LCDLR2_RESERVED_24_16_SHIFT |
| | 0x00000000U << DDR_PHY_DX2LCDLR2_RESERVED_15_9_SHIFT |
| | 0x00000000U << DDR_PHY_DX2LCDLR2_DQSGD_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDR_PHY_DX2LCDLR2_OFFSET ,0xFFFFFFFFU ,0x00000000U); |
| /*############################################################################################################################ */ |
| |
| /*Register : DX2GTR0 @ 0XFD0809C0</p> |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DX2GTR0_RESERVED_31_24 0x0 |
| |
| DQ Write Path Latency Pipeline |
| PSU_DDR_PHY_DX2GTR0_WDQSL 0x0 |
| |
| Reserved. Caution, do not write to this register field. |
| PSU_DDR_PHY_DX2GTR0_RESERVED_23_20 0x0 |
| |
| Write Leveling System Latency |
| PSU_DDR_PHY_DX2GTR0_WLSL 0x2 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DX2GTR0_RESERVED_15_13 0x0 |
| |
| Reserved. Caution, do not write to this register field. |
| PSU_DDR_PHY_DX2GTR0_RESERVED_12_8 0x0 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DX2GTR0_RESERVED_7_5 0x0 |
| |
| DQS Gating System Latency |
| PSU_DDR_PHY_DX2GTR0_DGSL 0x0 |
| |
| DATX8 n General Timing Register 0 |
| (OFFSET, MASK, VALUE) (0XFD0809C0, 0xFFFFFFFFU ,0x00020000U) |
| RegMask = (DDR_PHY_DX2GTR0_RESERVED_31_24_MASK | DDR_PHY_DX2GTR0_WDQSL_MASK | DDR_PHY_DX2GTR0_RESERVED_23_20_MASK | DDR_PHY_DX2GTR0_WLSL_MASK | DDR_PHY_DX2GTR0_RESERVED_15_13_MASK | DDR_PHY_DX2GTR0_RESERVED_12_8_MASK | DDR_PHY_DX2GTR0_RESERVED_7_5_MASK | DDR_PHY_DX2GTR0_DGSL_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDR_PHY_DX2GTR0_RESERVED_31_24_SHIFT |
| | 0x00000000U << DDR_PHY_DX2GTR0_WDQSL_SHIFT |
| | 0x00000000U << DDR_PHY_DX2GTR0_RESERVED_23_20_SHIFT |
| | 0x00000002U << DDR_PHY_DX2GTR0_WLSL_SHIFT |
| | 0x00000000U << DDR_PHY_DX2GTR0_RESERVED_15_13_SHIFT |
| | 0x00000000U << DDR_PHY_DX2GTR0_RESERVED_12_8_SHIFT |
| | 0x00000000U << DDR_PHY_DX2GTR0_RESERVED_7_5_SHIFT |
| | 0x00000000U << DDR_PHY_DX2GTR0_DGSL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDR_PHY_DX2GTR0_OFFSET ,0xFFFFFFFFU ,0x00020000U); |
| /*############################################################################################################################ */ |
| |
| /*Register : DX3GCR0 @ 0XFD080A00</p> |
| |
| Calibration Bypass |
| PSU_DDR_PHY_DX3GCR0_CALBYP 0x0 |
| |
| Master Delay Line Enable |
| PSU_DDR_PHY_DX3GCR0_MDLEN 0x1 |
| |
| Configurable ODT(TE) Phase Shift |
| PSU_DDR_PHY_DX3GCR0_CODTSHFT 0x0 |
| |
| DQS Duty Cycle Correction |
| PSU_DDR_PHY_DX3GCR0_DQSDCC 0x0 |
| |
| Number of Cycles ( in terms of ctl_clk) to generate ctl_dx_get_static_rd input for the respective bypte lane of the PHY |
| PSU_DDR_PHY_DX3GCR0_RDDLY 0x8 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DX3GCR0_RESERVED_19_14 0x0 |
| |
| DQSNSE Power Down Receiver |
| PSU_DDR_PHY_DX3GCR0_DQSNSEPDR 0x0 |
| |
| DQSSE Power Down Receiver |
| PSU_DDR_PHY_DX3GCR0_DQSSEPDR 0x0 |
| |
| RTT On Additive Latency |
| PSU_DDR_PHY_DX3GCR0_RTTOAL 0x0 |
| |
| RTT Output Hold |
| PSU_DDR_PHY_DX3GCR0_RTTOH 0x3 |
| |
| Configurable PDR Phase Shift |
| PSU_DDR_PHY_DX3GCR0_CPDRSHFT 0x0 |
| |
| DQSR Power Down |
| PSU_DDR_PHY_DX3GCR0_DQSRPD 0x0 |
| |
| DQSG Power Down Receiver |
| PSU_DDR_PHY_DX3GCR0_DQSGPDR 0x0 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DX3GCR0_RESERVED_4 0x0 |
| |
| DQSG On-Die Termination |
| PSU_DDR_PHY_DX3GCR0_DQSGODT 0x0 |
| |
| DQSG Output Enable |
| PSU_DDR_PHY_DX3GCR0_DQSGOE 0x1 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DX3GCR0_RESERVED_1_0 0x0 |
| |
| DATX8 n General Configuration Register 0 |
| (OFFSET, MASK, VALUE) (0XFD080A00, 0xFFFFFFFFU ,0x40800604U) |
| RegMask = (DDR_PHY_DX3GCR0_CALBYP_MASK | DDR_PHY_DX3GCR0_MDLEN_MASK | DDR_PHY_DX3GCR0_CODTSHFT_MASK | DDR_PHY_DX3GCR0_DQSDCC_MASK | DDR_PHY_DX3GCR0_RDDLY_MASK | DDR_PHY_DX3GCR0_RESERVED_19_14_MASK | DDR_PHY_DX3GCR0_DQSNSEPDR_MASK | DDR_PHY_DX3GCR0_DQSSEPDR_MASK | DDR_PHY_DX3GCR0_RTTOAL_MASK | DDR_PHY_DX3GCR0_RTTOH_MASK | DDR_PHY_DX3GCR0_CPDRSHFT_MASK | DDR_PHY_DX3GCR0_DQSRPD_MASK | DDR_PHY_DX3GCR0_DQSGPDR_MASK | DDR_PHY_DX3GCR0_RESERVED_4_MASK | DDR_PHY_DX3GCR0_DQSGODT_MASK | DDR_PHY_DX3GCR0_DQSGOE_MASK | DDR_PHY_DX3GCR0_RESERVED_1_0_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDR_PHY_DX3GCR0_CALBYP_SHIFT |
| | 0x00000001U << DDR_PHY_DX3GCR0_MDLEN_SHIFT |
| | 0x00000000U << DDR_PHY_DX3GCR0_CODTSHFT_SHIFT |
| | 0x00000000U << DDR_PHY_DX3GCR0_DQSDCC_SHIFT |
| | 0x00000008U << DDR_PHY_DX3GCR0_RDDLY_SHIFT |
| | 0x00000000U << DDR_PHY_DX3GCR0_RESERVED_19_14_SHIFT |
| | 0x00000000U << DDR_PHY_DX3GCR0_DQSNSEPDR_SHIFT |
| | 0x00000000U << DDR_PHY_DX3GCR0_DQSSEPDR_SHIFT |
| | 0x00000000U << DDR_PHY_DX3GCR0_RTTOAL_SHIFT |
| | 0x00000003U << DDR_PHY_DX3GCR0_RTTOH_SHIFT |
| | 0x00000000U << DDR_PHY_DX3GCR0_CPDRSHFT_SHIFT |
| | 0x00000000U << DDR_PHY_DX3GCR0_DQSRPD_SHIFT |
| | 0x00000000U << DDR_PHY_DX3GCR0_DQSGPDR_SHIFT |
| | 0x00000000U << DDR_PHY_DX3GCR0_RESERVED_4_SHIFT |
| | 0x00000000U << DDR_PHY_DX3GCR0_DQSGODT_SHIFT |
| | 0x00000001U << DDR_PHY_DX3GCR0_DQSGOE_SHIFT |
| | 0x00000000U << DDR_PHY_DX3GCR0_RESERVED_1_0_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDR_PHY_DX3GCR0_OFFSET ,0xFFFFFFFFU ,0x40800604U); |
| /*############################################################################################################################ */ |
| |
| /*Register : DX3GCR1 @ 0XFD080A04</p> |
| |
| Enables the PDR mode for DQ[7:0] |
| PSU_DDR_PHY_DX3GCR1_DXPDRMODE 0x0 |
| |
| Reserved. Returns zeroes on reads. |
| PSU_DDR_PHY_DX3GCR1_RESERVED_15 0x0 |
| |
| Select the delayed or non-delayed read data strobe # |
| PSU_DDR_PHY_DX3GCR1_QSNSEL 0x1 |
| |
| Select the delayed or non-delayed read data strobe |
| PSU_DDR_PHY_DX3GCR1_QSSEL 0x1 |
| |
| Enables Read Data Strobe in a byte lane |
| PSU_DDR_PHY_DX3GCR1_OEEN 0x1 |
| |
| Enables PDR in a byte lane |
| PSU_DDR_PHY_DX3GCR1_PDREN 0x1 |
| |
| Enables ODT/TE in a byte lane |
| PSU_DDR_PHY_DX3GCR1_TEEN 0x1 |
| |
| Enables Write Data strobe in a byte lane |
| PSU_DDR_PHY_DX3GCR1_DSEN 0x1 |
| |
| Enables DM pin in a byte lane |
| PSU_DDR_PHY_DX3GCR1_DMEN 0x1 |
| |
| Enables DQ corresponding to each bit in a byte |
| PSU_DDR_PHY_DX3GCR1_DQEN 0xff |
| |
| DATX8 n General Configuration Register 1 |
| (OFFSET, MASK, VALUE) (0XFD080A04, 0xFFFFFFFFU ,0x00007FFFU) |
| RegMask = (DDR_PHY_DX3GCR1_DXPDRMODE_MASK | DDR_PHY_DX3GCR1_RESERVED_15_MASK | DDR_PHY_DX3GCR1_QSNSEL_MASK | DDR_PHY_DX3GCR1_QSSEL_MASK | DDR_PHY_DX3GCR1_OEEN_MASK | DDR_PHY_DX3GCR1_PDREN_MASK | DDR_PHY_DX3GCR1_TEEN_MASK | DDR_PHY_DX3GCR1_DSEN_MASK | DDR_PHY_DX3GCR1_DMEN_MASK | DDR_PHY_DX3GCR1_DQEN_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDR_PHY_DX3GCR1_DXPDRMODE_SHIFT |
| | 0x00000000U << DDR_PHY_DX3GCR1_RESERVED_15_SHIFT |
| | 0x00000001U << DDR_PHY_DX3GCR1_QSNSEL_SHIFT |
| | 0x00000001U << DDR_PHY_DX3GCR1_QSSEL_SHIFT |
| | 0x00000001U << DDR_PHY_DX3GCR1_OEEN_SHIFT |
| | 0x00000001U << DDR_PHY_DX3GCR1_PDREN_SHIFT |
| | 0x00000001U << DDR_PHY_DX3GCR1_TEEN_SHIFT |
| | 0x00000001U << DDR_PHY_DX3GCR1_DSEN_SHIFT |
| | 0x00000001U << DDR_PHY_DX3GCR1_DMEN_SHIFT |
| | 0x000000FFU << DDR_PHY_DX3GCR1_DQEN_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDR_PHY_DX3GCR1_OFFSET ,0xFFFFFFFFU ,0x00007FFFU); |
| /*############################################################################################################################ */ |
| |
| /*Register : DX3GCR4 @ 0XFD080A10</p> |
| |
| Byte lane VREF IOM (Used only by D4MU IOs) |
| PSU_DDR_PHY_DX3GCR4_RESERVED_31_29 0x0 |
| |
| Byte Lane VREF Pad Enable |
| PSU_DDR_PHY_DX3GCR4_DXREFPEN 0x0 |
| |
| Byte Lane Internal VREF Enable |
| PSU_DDR_PHY_DX3GCR4_DXREFEEN 0x3 |
| |
| Byte Lane Single-End VREF Enable |
| PSU_DDR_PHY_DX3GCR4_DXREFSEN 0x1 |
| |
| Reserved. Returns zeros on reads. |
| PSU_DDR_PHY_DX3GCR4_RESERVED_24 0x0 |
| |
| External VREF generator REFSEL range select |
| PSU_DDR_PHY_DX3GCR4_DXREFESELRANGE 0x0 |
| |
| Byte Lane External VREF Select |
| PSU_DDR_PHY_DX3GCR4_DXREFESEL 0x0 |
| |
| Single ended VREF generator REFSEL range select |
| PSU_DDR_PHY_DX3GCR4_DXREFSSELRANGE 0x1 |
| |
| Byte Lane Single-End VREF Select |
| PSU_DDR_PHY_DX3GCR4_DXREFSSEL 0x30 |
| |
| Reserved. Returns zeros on reads. |
| PSU_DDR_PHY_DX3GCR4_RESERVED_7_6 0x0 |
| |
| VREF Enable control for DQ IO (Single Ended) buffers of a byte lane. |
| PSU_DDR_PHY_DX3GCR4_DXREFIEN 0xf |
| |
| VRMON control for DQ IO (Single Ended) buffers of a byte lane. |
| PSU_DDR_PHY_DX3GCR4_DXREFIMON 0x0 |
| |
| DATX8 n General Configuration Register 4 |
| (OFFSET, MASK, VALUE) (0XFD080A10, 0xFFFFFFFFU ,0x0E00B03CU) |
| RegMask = (DDR_PHY_DX3GCR4_RESERVED_31_29_MASK | DDR_PHY_DX3GCR4_DXREFPEN_MASK | DDR_PHY_DX3GCR4_DXREFEEN_MASK | DDR_PHY_DX3GCR4_DXREFSEN_MASK | DDR_PHY_DX3GCR4_RESERVED_24_MASK | DDR_PHY_DX3GCR4_DXREFESELRANGE_MASK | DDR_PHY_DX3GCR4_DXREFESEL_MASK | DDR_PHY_DX3GCR4_DXREFSSELRANGE_MASK | DDR_PHY_DX3GCR4_DXREFSSEL_MASK | DDR_PHY_DX3GCR4_RESERVED_7_6_MASK | DDR_PHY_DX3GCR4_DXREFIEN_MASK | DDR_PHY_DX3GCR4_DXREFIMON_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDR_PHY_DX3GCR4_RESERVED_31_29_SHIFT |
| | 0x00000000U << DDR_PHY_DX3GCR4_DXREFPEN_SHIFT |
| | 0x00000003U << DDR_PHY_DX3GCR4_DXREFEEN_SHIFT |
| | 0x00000001U << DDR_PHY_DX3GCR4_DXREFSEN_SHIFT |
| | 0x00000000U << DDR_PHY_DX3GCR4_RESERVED_24_SHIFT |
| | 0x00000000U << DDR_PHY_DX3GCR4_DXREFESELRANGE_SHIFT |
| | 0x00000000U << DDR_PHY_DX3GCR4_DXREFESEL_SHIFT |
| | 0x00000001U << DDR_PHY_DX3GCR4_DXREFSSELRANGE_SHIFT |
| | 0x00000030U << DDR_PHY_DX3GCR4_DXREFSSEL_SHIFT |
| | 0x00000000U << DDR_PHY_DX3GCR4_RESERVED_7_6_SHIFT |
| | 0x0000000FU << DDR_PHY_DX3GCR4_DXREFIEN_SHIFT |
| | 0x00000000U << DDR_PHY_DX3GCR4_DXREFIMON_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDR_PHY_DX3GCR4_OFFSET ,0xFFFFFFFFU ,0x0E00B03CU); |
| /*############################################################################################################################ */ |
| |
| /*Register : DX3GCR5 @ 0XFD080A14</p> |
| |
| Reserved. Returns zeros on reads. |
| PSU_DDR_PHY_DX3GCR5_RESERVED_31 0x0 |
| |
| Byte Lane internal VREF Select for Rank 3 |
| PSU_DDR_PHY_DX3GCR5_DXREFISELR3 0x9 |
| |
| Reserved. Returns zeros on reads. |
| PSU_DDR_PHY_DX3GCR5_RESERVED_23 0x0 |
| |
| Byte Lane internal VREF Select for Rank 2 |
| PSU_DDR_PHY_DX3GCR5_DXREFISELR2 0x9 |
| |
| Reserved. Returns zeros on reads. |
| PSU_DDR_PHY_DX3GCR5_RESERVED_15 0x0 |
| |
| Byte Lane internal VREF Select for Rank 1 |
| PSU_DDR_PHY_DX3GCR5_DXREFISELR1 0x55 |
| |
| Reserved. Returns zeros on reads. |
| PSU_DDR_PHY_DX3GCR5_RESERVED_7 0x0 |
| |
| Byte Lane internal VREF Select for Rank 0 |
| PSU_DDR_PHY_DX3GCR5_DXREFISELR0 0x55 |
| |
| DATX8 n General Configuration Register 5 |
| (OFFSET, MASK, VALUE) (0XFD080A14, 0xFFFFFFFFU ,0x09095555U) |
| RegMask = (DDR_PHY_DX3GCR5_RESERVED_31_MASK | DDR_PHY_DX3GCR5_DXREFISELR3_MASK | DDR_PHY_DX3GCR5_RESERVED_23_MASK | DDR_PHY_DX3GCR5_DXREFISELR2_MASK | DDR_PHY_DX3GCR5_RESERVED_15_MASK | DDR_PHY_DX3GCR5_DXREFISELR1_MASK | DDR_PHY_DX3GCR5_RESERVED_7_MASK | DDR_PHY_DX3GCR5_DXREFISELR0_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDR_PHY_DX3GCR5_RESERVED_31_SHIFT |
| | 0x00000009U << DDR_PHY_DX3GCR5_DXREFISELR3_SHIFT |
| | 0x00000000U << DDR_PHY_DX3GCR5_RESERVED_23_SHIFT |
| | 0x00000009U << DDR_PHY_DX3GCR5_DXREFISELR2_SHIFT |
| | 0x00000000U << DDR_PHY_DX3GCR5_RESERVED_15_SHIFT |
| | 0x00000055U << DDR_PHY_DX3GCR5_DXREFISELR1_SHIFT |
| | 0x00000000U << DDR_PHY_DX3GCR5_RESERVED_7_SHIFT |
| | 0x00000055U << DDR_PHY_DX3GCR5_DXREFISELR0_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDR_PHY_DX3GCR5_OFFSET ,0xFFFFFFFFU ,0x09095555U); |
| /*############################################################################################################################ */ |
| |
| /*Register : DX3GCR6 @ 0XFD080A18</p> |
| |
| Reserved. Returns zeros on reads. |
| PSU_DDR_PHY_DX3GCR6_RESERVED_31_30 0x0 |
| |
| DRAM DQ VREF Select for Rank3 |
| PSU_DDR_PHY_DX3GCR6_DXDQVREFR3 0x9 |
| |
| Reserved. Returns zeros on reads. |
| PSU_DDR_PHY_DX3GCR6_RESERVED_23_22 0x0 |
| |
| DRAM DQ VREF Select for Rank2 |
| PSU_DDR_PHY_DX3GCR6_DXDQVREFR2 0x9 |
| |
| Reserved. Returns zeros on reads. |
| PSU_DDR_PHY_DX3GCR6_RESERVED_15_14 0x0 |
| |
| DRAM DQ VREF Select for Rank1 |
| PSU_DDR_PHY_DX3GCR6_DXDQVREFR1 0x2b |
| |
| Reserved. Returns zeros on reads. |
| PSU_DDR_PHY_DX3GCR6_RESERVED_7_6 0x0 |
| |
| DRAM DQ VREF Select for Rank0 |
| PSU_DDR_PHY_DX3GCR6_DXDQVREFR0 0x2b |
| |
| DATX8 n General Configuration Register 6 |
| (OFFSET, MASK, VALUE) (0XFD080A18, 0xFFFFFFFFU ,0x09092B2BU) |
| RegMask = (DDR_PHY_DX3GCR6_RESERVED_31_30_MASK | DDR_PHY_DX3GCR6_DXDQVREFR3_MASK | DDR_PHY_DX3GCR6_RESERVED_23_22_MASK | DDR_PHY_DX3GCR6_DXDQVREFR2_MASK | DDR_PHY_DX3GCR6_RESERVED_15_14_MASK | DDR_PHY_DX3GCR6_DXDQVREFR1_MASK | DDR_PHY_DX3GCR6_RESERVED_7_6_MASK | DDR_PHY_DX3GCR6_DXDQVREFR0_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDR_PHY_DX3GCR6_RESERVED_31_30_SHIFT |
| | 0x00000009U << DDR_PHY_DX3GCR6_DXDQVREFR3_SHIFT |
| | 0x00000000U << DDR_PHY_DX3GCR6_RESERVED_23_22_SHIFT |
| | 0x00000009U << DDR_PHY_DX3GCR6_DXDQVREFR2_SHIFT |
| | 0x00000000U << DDR_PHY_DX3GCR6_RESERVED_15_14_SHIFT |
| | 0x0000002BU << DDR_PHY_DX3GCR6_DXDQVREFR1_SHIFT |
| | 0x00000000U << DDR_PHY_DX3GCR6_RESERVED_7_6_SHIFT |
| | 0x0000002BU << DDR_PHY_DX3GCR6_DXDQVREFR0_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDR_PHY_DX3GCR6_OFFSET ,0xFFFFFFFFU ,0x09092B2BU); |
| /*############################################################################################################################ */ |
| |
| /*Register : DX3LCDLR2 @ 0XFD080A88</p> |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DX3LCDLR2_RESERVED_31_25 0x0 |
| |
| Reserved. Caution, do not write to this register field. |
| PSU_DDR_PHY_DX3LCDLR2_RESERVED_24_16 0x0 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DX3LCDLR2_RESERVED_15_9 0x0 |
| |
| Read DQS Gating Delay |
| PSU_DDR_PHY_DX3LCDLR2_DQSGD 0x0 |
| |
| DATX8 n Local Calibrated Delay Line Register 2 |
| (OFFSET, MASK, VALUE) (0XFD080A88, 0xFFFFFFFFU ,0x00000000U) |
| RegMask = (DDR_PHY_DX3LCDLR2_RESERVED_31_25_MASK | DDR_PHY_DX3LCDLR2_RESERVED_24_16_MASK | DDR_PHY_DX3LCDLR2_RESERVED_15_9_MASK | DDR_PHY_DX3LCDLR2_DQSGD_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDR_PHY_DX3LCDLR2_RESERVED_31_25_SHIFT |
| | 0x00000000U << DDR_PHY_DX3LCDLR2_RESERVED_24_16_SHIFT |
| | 0x00000000U << DDR_PHY_DX3LCDLR2_RESERVED_15_9_SHIFT |
| | 0x00000000U << DDR_PHY_DX3LCDLR2_DQSGD_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDR_PHY_DX3LCDLR2_OFFSET ,0xFFFFFFFFU ,0x00000000U); |
| /*############################################################################################################################ */ |
| |
| /*Register : DX3GTR0 @ 0XFD080AC0</p> |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DX3GTR0_RESERVED_31_24 0x0 |
| |
| DQ Write Path Latency Pipeline |
| PSU_DDR_PHY_DX3GTR0_WDQSL 0x0 |
| |
| Reserved. Caution, do not write to this register field. |
| PSU_DDR_PHY_DX3GTR0_RESERVED_23_20 0x0 |
| |
| Write Leveling System Latency |
| PSU_DDR_PHY_DX3GTR0_WLSL 0x2 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DX3GTR0_RESERVED_15_13 0x0 |
| |
| Reserved. Caution, do not write to this register field. |
| PSU_DDR_PHY_DX3GTR0_RESERVED_12_8 0x0 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DX3GTR0_RESERVED_7_5 0x0 |
| |
| DQS Gating System Latency |
| PSU_DDR_PHY_DX3GTR0_DGSL 0x0 |
| |
| DATX8 n General Timing Register 0 |
| (OFFSET, MASK, VALUE) (0XFD080AC0, 0xFFFFFFFFU ,0x00020000U) |
| RegMask = (DDR_PHY_DX3GTR0_RESERVED_31_24_MASK | DDR_PHY_DX3GTR0_WDQSL_MASK | DDR_PHY_DX3GTR0_RESERVED_23_20_MASK | DDR_PHY_DX3GTR0_WLSL_MASK | DDR_PHY_DX3GTR0_RESERVED_15_13_MASK | DDR_PHY_DX3GTR0_RESERVED_12_8_MASK | DDR_PHY_DX3GTR0_RESERVED_7_5_MASK | DDR_PHY_DX3GTR0_DGSL_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDR_PHY_DX3GTR0_RESERVED_31_24_SHIFT |
| | 0x00000000U << DDR_PHY_DX3GTR0_WDQSL_SHIFT |
| | 0x00000000U << DDR_PHY_DX3GTR0_RESERVED_23_20_SHIFT |
| | 0x00000002U << DDR_PHY_DX3GTR0_WLSL_SHIFT |
| | 0x00000000U << DDR_PHY_DX3GTR0_RESERVED_15_13_SHIFT |
| | 0x00000000U << DDR_PHY_DX3GTR0_RESERVED_12_8_SHIFT |
| | 0x00000000U << DDR_PHY_DX3GTR0_RESERVED_7_5_SHIFT |
| | 0x00000000U << DDR_PHY_DX3GTR0_DGSL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDR_PHY_DX3GTR0_OFFSET ,0xFFFFFFFFU ,0x00020000U); |
| /*############################################################################################################################ */ |
| |
| /*Register : DX4GCR0 @ 0XFD080B00</p> |
| |
| Calibration Bypass |
| PSU_DDR_PHY_DX4GCR0_CALBYP 0x0 |
| |
| Master Delay Line Enable |
| PSU_DDR_PHY_DX4GCR0_MDLEN 0x1 |
| |
| Configurable ODT(TE) Phase Shift |
| PSU_DDR_PHY_DX4GCR0_CODTSHFT 0x0 |
| |
| DQS Duty Cycle Correction |
| PSU_DDR_PHY_DX4GCR0_DQSDCC 0x0 |
| |
| Number of Cycles ( in terms of ctl_clk) to generate ctl_dx_get_static_rd input for the respective bypte lane of the PHY |
| PSU_DDR_PHY_DX4GCR0_RDDLY 0x8 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DX4GCR0_RESERVED_19_14 0x0 |
| |
| DQSNSE Power Down Receiver |
| PSU_DDR_PHY_DX4GCR0_DQSNSEPDR 0x0 |
| |
| DQSSE Power Down Receiver |
| PSU_DDR_PHY_DX4GCR0_DQSSEPDR 0x0 |
| |
| RTT On Additive Latency |
| PSU_DDR_PHY_DX4GCR0_RTTOAL 0x0 |
| |
| RTT Output Hold |
| PSU_DDR_PHY_DX4GCR0_RTTOH 0x3 |
| |
| Configurable PDR Phase Shift |
| PSU_DDR_PHY_DX4GCR0_CPDRSHFT 0x0 |
| |
| DQSR Power Down |
| PSU_DDR_PHY_DX4GCR0_DQSRPD 0x0 |
| |
| DQSG Power Down Receiver |
| PSU_DDR_PHY_DX4GCR0_DQSGPDR 0x0 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DX4GCR0_RESERVED_4 0x0 |
| |
| DQSG On-Die Termination |
| PSU_DDR_PHY_DX4GCR0_DQSGODT 0x0 |
| |
| DQSG Output Enable |
| PSU_DDR_PHY_DX4GCR0_DQSGOE 0x1 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DX4GCR0_RESERVED_1_0 0x0 |
| |
| DATX8 n General Configuration Register 0 |
| (OFFSET, MASK, VALUE) (0XFD080B00, 0xFFFFFFFFU ,0x40800604U) |
| RegMask = (DDR_PHY_DX4GCR0_CALBYP_MASK | DDR_PHY_DX4GCR0_MDLEN_MASK | DDR_PHY_DX4GCR0_CODTSHFT_MASK | DDR_PHY_DX4GCR0_DQSDCC_MASK | DDR_PHY_DX4GCR0_RDDLY_MASK | DDR_PHY_DX4GCR0_RESERVED_19_14_MASK | DDR_PHY_DX4GCR0_DQSNSEPDR_MASK | DDR_PHY_DX4GCR0_DQSSEPDR_MASK | DDR_PHY_DX4GCR0_RTTOAL_MASK | DDR_PHY_DX4GCR0_RTTOH_MASK | DDR_PHY_DX4GCR0_CPDRSHFT_MASK | DDR_PHY_DX4GCR0_DQSRPD_MASK | DDR_PHY_DX4GCR0_DQSGPDR_MASK | DDR_PHY_DX4GCR0_RESERVED_4_MASK | DDR_PHY_DX4GCR0_DQSGODT_MASK | DDR_PHY_DX4GCR0_DQSGOE_MASK | DDR_PHY_DX4GCR0_RESERVED_1_0_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDR_PHY_DX4GCR0_CALBYP_SHIFT |
| | 0x00000001U << DDR_PHY_DX4GCR0_MDLEN_SHIFT |
| | 0x00000000U << DDR_PHY_DX4GCR0_CODTSHFT_SHIFT |
| | 0x00000000U << DDR_PHY_DX4GCR0_DQSDCC_SHIFT |
| | 0x00000008U << DDR_PHY_DX4GCR0_RDDLY_SHIFT |
| | 0x00000000U << DDR_PHY_DX4GCR0_RESERVED_19_14_SHIFT |
| | 0x00000000U << DDR_PHY_DX4GCR0_DQSNSEPDR_SHIFT |
| | 0x00000000U << DDR_PHY_DX4GCR0_DQSSEPDR_SHIFT |
| | 0x00000000U << DDR_PHY_DX4GCR0_RTTOAL_SHIFT |
| | 0x00000003U << DDR_PHY_DX4GCR0_RTTOH_SHIFT |
| | 0x00000000U << DDR_PHY_DX4GCR0_CPDRSHFT_SHIFT |
| | 0x00000000U << DDR_PHY_DX4GCR0_DQSRPD_SHIFT |
| | 0x00000000U << DDR_PHY_DX4GCR0_DQSGPDR_SHIFT |
| | 0x00000000U << DDR_PHY_DX4GCR0_RESERVED_4_SHIFT |
| | 0x00000000U << DDR_PHY_DX4GCR0_DQSGODT_SHIFT |
| | 0x00000001U << DDR_PHY_DX4GCR0_DQSGOE_SHIFT |
| | 0x00000000U << DDR_PHY_DX4GCR0_RESERVED_1_0_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDR_PHY_DX4GCR0_OFFSET ,0xFFFFFFFFU ,0x40800604U); |
| /*############################################################################################################################ */ |
| |
| /*Register : DX4GCR1 @ 0XFD080B04</p> |
| |
| Enables the PDR mode for DQ[7:0] |
| PSU_DDR_PHY_DX4GCR1_DXPDRMODE 0x0 |
| |
| Reserved. Returns zeroes on reads. |
| PSU_DDR_PHY_DX4GCR1_RESERVED_15 0x0 |
| |
| Select the delayed or non-delayed read data strobe # |
| PSU_DDR_PHY_DX4GCR1_QSNSEL 0x1 |
| |
| Select the delayed or non-delayed read data strobe |
| PSU_DDR_PHY_DX4GCR1_QSSEL 0x1 |
| |
| Enables Read Data Strobe in a byte lane |
| PSU_DDR_PHY_DX4GCR1_OEEN 0x1 |
| |
| Enables PDR in a byte lane |
| PSU_DDR_PHY_DX4GCR1_PDREN 0x1 |
| |
| Enables ODT/TE in a byte lane |
| PSU_DDR_PHY_DX4GCR1_TEEN 0x1 |
| |
| Enables Write Data strobe in a byte lane |
| PSU_DDR_PHY_DX4GCR1_DSEN 0x1 |
| |
| Enables DM pin in a byte lane |
| PSU_DDR_PHY_DX4GCR1_DMEN 0x1 |
| |
| Enables DQ corresponding to each bit in a byte |
| PSU_DDR_PHY_DX4GCR1_DQEN 0xff |
| |
| DATX8 n General Configuration Register 1 |
| (OFFSET, MASK, VALUE) (0XFD080B04, 0xFFFFFFFFU ,0x00007FFFU) |
| RegMask = (DDR_PHY_DX4GCR1_DXPDRMODE_MASK | DDR_PHY_DX4GCR1_RESERVED_15_MASK | DDR_PHY_DX4GCR1_QSNSEL_MASK | DDR_PHY_DX4GCR1_QSSEL_MASK | DDR_PHY_DX4GCR1_OEEN_MASK | DDR_PHY_DX4GCR1_PDREN_MASK | DDR_PHY_DX4GCR1_TEEN_MASK | DDR_PHY_DX4GCR1_DSEN_MASK | DDR_PHY_DX4GCR1_DMEN_MASK | DDR_PHY_DX4GCR1_DQEN_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDR_PHY_DX4GCR1_DXPDRMODE_SHIFT |
| | 0x00000000U << DDR_PHY_DX4GCR1_RESERVED_15_SHIFT |
| | 0x00000001U << DDR_PHY_DX4GCR1_QSNSEL_SHIFT |
| | 0x00000001U << DDR_PHY_DX4GCR1_QSSEL_SHIFT |
| | 0x00000001U << DDR_PHY_DX4GCR1_OEEN_SHIFT |
| | 0x00000001U << DDR_PHY_DX4GCR1_PDREN_SHIFT |
| | 0x00000001U << DDR_PHY_DX4GCR1_TEEN_SHIFT |
| | 0x00000001U << DDR_PHY_DX4GCR1_DSEN_SHIFT |
| | 0x00000001U << DDR_PHY_DX4GCR1_DMEN_SHIFT |
| | 0x000000FFU << DDR_PHY_DX4GCR1_DQEN_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDR_PHY_DX4GCR1_OFFSET ,0xFFFFFFFFU ,0x00007FFFU); |
| /*############################################################################################################################ */ |
| |
| /*Register : DX4GCR4 @ 0XFD080B10</p> |
| |
| Byte lane VREF IOM (Used only by D4MU IOs) |
| PSU_DDR_PHY_DX4GCR4_RESERVED_31_29 0x0 |
| |
| Byte Lane VREF Pad Enable |
| PSU_DDR_PHY_DX4GCR4_DXREFPEN 0x0 |
| |
| Byte Lane Internal VREF Enable |
| PSU_DDR_PHY_DX4GCR4_DXREFEEN 0x3 |
| |
| Byte Lane Single-End VREF Enable |
| PSU_DDR_PHY_DX4GCR4_DXREFSEN 0x1 |
| |
| Reserved. Returns zeros on reads. |
| PSU_DDR_PHY_DX4GCR4_RESERVED_24 0x0 |
| |
| External VREF generator REFSEL range select |
| PSU_DDR_PHY_DX4GCR4_DXREFESELRANGE 0x0 |
| |
| Byte Lane External VREF Select |
| PSU_DDR_PHY_DX4GCR4_DXREFESEL 0x0 |
| |
| Single ended VREF generator REFSEL range select |
| PSU_DDR_PHY_DX4GCR4_DXREFSSELRANGE 0x1 |
| |
| Byte Lane Single-End VREF Select |
| PSU_DDR_PHY_DX4GCR4_DXREFSSEL 0x30 |
| |
| Reserved. Returns zeros on reads. |
| PSU_DDR_PHY_DX4GCR4_RESERVED_7_6 0x0 |
| |
| VREF Enable control for DQ IO (Single Ended) buffers of a byte lane. |
| PSU_DDR_PHY_DX4GCR4_DXREFIEN 0xf |
| |
| VRMON control for DQ IO (Single Ended) buffers of a byte lane. |
| PSU_DDR_PHY_DX4GCR4_DXREFIMON 0x0 |
| |
| DATX8 n General Configuration Register 4 |
| (OFFSET, MASK, VALUE) (0XFD080B10, 0xFFFFFFFFU ,0x0E00B03CU) |
| RegMask = (DDR_PHY_DX4GCR4_RESERVED_31_29_MASK | DDR_PHY_DX4GCR4_DXREFPEN_MASK | DDR_PHY_DX4GCR4_DXREFEEN_MASK | DDR_PHY_DX4GCR4_DXREFSEN_MASK | DDR_PHY_DX4GCR4_RESERVED_24_MASK | DDR_PHY_DX4GCR4_DXREFESELRANGE_MASK | DDR_PHY_DX4GCR4_DXREFESEL_MASK | DDR_PHY_DX4GCR4_DXREFSSELRANGE_MASK | DDR_PHY_DX4GCR4_DXREFSSEL_MASK | DDR_PHY_DX4GCR4_RESERVED_7_6_MASK | DDR_PHY_DX4GCR4_DXREFIEN_MASK | DDR_PHY_DX4GCR4_DXREFIMON_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDR_PHY_DX4GCR4_RESERVED_31_29_SHIFT |
| | 0x00000000U << DDR_PHY_DX4GCR4_DXREFPEN_SHIFT |
| | 0x00000003U << DDR_PHY_DX4GCR4_DXREFEEN_SHIFT |
| | 0x00000001U << DDR_PHY_DX4GCR4_DXREFSEN_SHIFT |
| | 0x00000000U << DDR_PHY_DX4GCR4_RESERVED_24_SHIFT |
| | 0x00000000U << DDR_PHY_DX4GCR4_DXREFESELRANGE_SHIFT |
| | 0x00000000U << DDR_PHY_DX4GCR4_DXREFESEL_SHIFT |
| | 0x00000001U << DDR_PHY_DX4GCR4_DXREFSSELRANGE_SHIFT |
| | 0x00000030U << DDR_PHY_DX4GCR4_DXREFSSEL_SHIFT |
| | 0x00000000U << DDR_PHY_DX4GCR4_RESERVED_7_6_SHIFT |
| | 0x0000000FU << DDR_PHY_DX4GCR4_DXREFIEN_SHIFT |
| | 0x00000000U << DDR_PHY_DX4GCR4_DXREFIMON_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDR_PHY_DX4GCR4_OFFSET ,0xFFFFFFFFU ,0x0E00B03CU); |
| /*############################################################################################################################ */ |
| |
| /*Register : DX4GCR5 @ 0XFD080B14</p> |
| |
| Reserved. Returns zeros on reads. |
| PSU_DDR_PHY_DX4GCR5_RESERVED_31 0x0 |
| |
| Byte Lane internal VREF Select for Rank 3 |
| PSU_DDR_PHY_DX4GCR5_DXREFISELR3 0x9 |
| |
| Reserved. Returns zeros on reads. |
| PSU_DDR_PHY_DX4GCR5_RESERVED_23 0x0 |
| |
| Byte Lane internal VREF Select for Rank 2 |
| PSU_DDR_PHY_DX4GCR5_DXREFISELR2 0x9 |
| |
| Reserved. Returns zeros on reads. |
| PSU_DDR_PHY_DX4GCR5_RESERVED_15 0x0 |
| |
| Byte Lane internal VREF Select for Rank 1 |
| PSU_DDR_PHY_DX4GCR5_DXREFISELR1 0x55 |
| |
| Reserved. Returns zeros on reads. |
| PSU_DDR_PHY_DX4GCR5_RESERVED_7 0x0 |
| |
| Byte Lane internal VREF Select for Rank 0 |
| PSU_DDR_PHY_DX4GCR5_DXREFISELR0 0x55 |
| |
| DATX8 n General Configuration Register 5 |
| (OFFSET, MASK, VALUE) (0XFD080B14, 0xFFFFFFFFU ,0x09095555U) |
| RegMask = (DDR_PHY_DX4GCR5_RESERVED_31_MASK | DDR_PHY_DX4GCR5_DXREFISELR3_MASK | DDR_PHY_DX4GCR5_RESERVED_23_MASK | DDR_PHY_DX4GCR5_DXREFISELR2_MASK | DDR_PHY_DX4GCR5_RESERVED_15_MASK | DDR_PHY_DX4GCR5_DXREFISELR1_MASK | DDR_PHY_DX4GCR5_RESERVED_7_MASK | DDR_PHY_DX4GCR5_DXREFISELR0_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDR_PHY_DX4GCR5_RESERVED_31_SHIFT |
| | 0x00000009U << DDR_PHY_DX4GCR5_DXREFISELR3_SHIFT |
| | 0x00000000U << DDR_PHY_DX4GCR5_RESERVED_23_SHIFT |
| | 0x00000009U << DDR_PHY_DX4GCR5_DXREFISELR2_SHIFT |
| | 0x00000000U << DDR_PHY_DX4GCR5_RESERVED_15_SHIFT |
| | 0x00000055U << DDR_PHY_DX4GCR5_DXREFISELR1_SHIFT |
| | 0x00000000U << DDR_PHY_DX4GCR5_RESERVED_7_SHIFT |
| | 0x00000055U << DDR_PHY_DX4GCR5_DXREFISELR0_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDR_PHY_DX4GCR5_OFFSET ,0xFFFFFFFFU ,0x09095555U); |
| /*############################################################################################################################ */ |
| |
| /*Register : DX4GCR6 @ 0XFD080B18</p> |
| |
| Reserved. Returns zeros on reads. |
| PSU_DDR_PHY_DX4GCR6_RESERVED_31_30 0x0 |
| |
| DRAM DQ VREF Select for Rank3 |
| PSU_DDR_PHY_DX4GCR6_DXDQVREFR3 0x9 |
| |
| Reserved. Returns zeros on reads. |
| PSU_DDR_PHY_DX4GCR6_RESERVED_23_22 0x0 |
| |
| DRAM DQ VREF Select for Rank2 |
| PSU_DDR_PHY_DX4GCR6_DXDQVREFR2 0x9 |
| |
| Reserved. Returns zeros on reads. |
| PSU_DDR_PHY_DX4GCR6_RESERVED_15_14 0x0 |
| |
| DRAM DQ VREF Select for Rank1 |
| PSU_DDR_PHY_DX4GCR6_DXDQVREFR1 0x2b |
| |
| Reserved. Returns zeros on reads. |
| PSU_DDR_PHY_DX4GCR6_RESERVED_7_6 0x0 |
| |
| DRAM DQ VREF Select for Rank0 |
| PSU_DDR_PHY_DX4GCR6_DXDQVREFR0 0x2b |
| |
| DATX8 n General Configuration Register 6 |
| (OFFSET, MASK, VALUE) (0XFD080B18, 0xFFFFFFFFU ,0x09092B2BU) |
| RegMask = (DDR_PHY_DX4GCR6_RESERVED_31_30_MASK | DDR_PHY_DX4GCR6_DXDQVREFR3_MASK | DDR_PHY_DX4GCR6_RESERVED_23_22_MASK | DDR_PHY_DX4GCR6_DXDQVREFR2_MASK | DDR_PHY_DX4GCR6_RESERVED_15_14_MASK | DDR_PHY_DX4GCR6_DXDQVREFR1_MASK | DDR_PHY_DX4GCR6_RESERVED_7_6_MASK | DDR_PHY_DX4GCR6_DXDQVREFR0_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDR_PHY_DX4GCR6_RESERVED_31_30_SHIFT |
| | 0x00000009U << DDR_PHY_DX4GCR6_DXDQVREFR3_SHIFT |
| | 0x00000000U << DDR_PHY_DX4GCR6_RESERVED_23_22_SHIFT |
| | 0x00000009U << DDR_PHY_DX4GCR6_DXDQVREFR2_SHIFT |
| | 0x00000000U << DDR_PHY_DX4GCR6_RESERVED_15_14_SHIFT |
| | 0x0000002BU << DDR_PHY_DX4GCR6_DXDQVREFR1_SHIFT |
| | 0x00000000U << DDR_PHY_DX4GCR6_RESERVED_7_6_SHIFT |
| | 0x0000002BU << DDR_PHY_DX4GCR6_DXDQVREFR0_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDR_PHY_DX4GCR6_OFFSET ,0xFFFFFFFFU ,0x09092B2BU); |
| /*############################################################################################################################ */ |
| |
| /*Register : DX4LCDLR2 @ 0XFD080B88</p> |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DX4LCDLR2_RESERVED_31_25 0x0 |
| |
| Reserved. Caution, do not write to this register field. |
| PSU_DDR_PHY_DX4LCDLR2_RESERVED_24_16 0x0 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DX4LCDLR2_RESERVED_15_9 0x0 |
| |
| Read DQS Gating Delay |
| PSU_DDR_PHY_DX4LCDLR2_DQSGD 0x0 |
| |
| DATX8 n Local Calibrated Delay Line Register 2 |
| (OFFSET, MASK, VALUE) (0XFD080B88, 0xFFFFFFFFU ,0x00000000U) |
| RegMask = (DDR_PHY_DX4LCDLR2_RESERVED_31_25_MASK | DDR_PHY_DX4LCDLR2_RESERVED_24_16_MASK | DDR_PHY_DX4LCDLR2_RESERVED_15_9_MASK | DDR_PHY_DX4LCDLR2_DQSGD_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDR_PHY_DX4LCDLR2_RESERVED_31_25_SHIFT |
| | 0x00000000U << DDR_PHY_DX4LCDLR2_RESERVED_24_16_SHIFT |
| | 0x00000000U << DDR_PHY_DX4LCDLR2_RESERVED_15_9_SHIFT |
| | 0x00000000U << DDR_PHY_DX4LCDLR2_DQSGD_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDR_PHY_DX4LCDLR2_OFFSET ,0xFFFFFFFFU ,0x00000000U); |
| /*############################################################################################################################ */ |
| |
| /*Register : DX4GTR0 @ 0XFD080BC0</p> |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DX4GTR0_RESERVED_31_24 0x0 |
| |
| DQ Write Path Latency Pipeline |
| PSU_DDR_PHY_DX4GTR0_WDQSL 0x0 |
| |
| Reserved. Caution, do not write to this register field. |
| PSU_DDR_PHY_DX4GTR0_RESERVED_23_20 0x0 |
| |
| Write Leveling System Latency |
| PSU_DDR_PHY_DX4GTR0_WLSL 0x2 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DX4GTR0_RESERVED_15_13 0x0 |
| |
| Reserved. Caution, do not write to this register field. |
| PSU_DDR_PHY_DX4GTR0_RESERVED_12_8 0x0 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DX4GTR0_RESERVED_7_5 0x0 |
| |
| DQS Gating System Latency |
| PSU_DDR_PHY_DX4GTR0_DGSL 0x0 |
| |
| DATX8 n General Timing Register 0 |
| (OFFSET, MASK, VALUE) (0XFD080BC0, 0xFFFFFFFFU ,0x00020000U) |
| RegMask = (DDR_PHY_DX4GTR0_RESERVED_31_24_MASK | DDR_PHY_DX4GTR0_WDQSL_MASK | DDR_PHY_DX4GTR0_RESERVED_23_20_MASK | DDR_PHY_DX4GTR0_WLSL_MASK | DDR_PHY_DX4GTR0_RESERVED_15_13_MASK | DDR_PHY_DX4GTR0_RESERVED_12_8_MASK | DDR_PHY_DX4GTR0_RESERVED_7_5_MASK | DDR_PHY_DX4GTR0_DGSL_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDR_PHY_DX4GTR0_RESERVED_31_24_SHIFT |
| | 0x00000000U << DDR_PHY_DX4GTR0_WDQSL_SHIFT |
| | 0x00000000U << DDR_PHY_DX4GTR0_RESERVED_23_20_SHIFT |
| | 0x00000002U << DDR_PHY_DX4GTR0_WLSL_SHIFT |
| | 0x00000000U << DDR_PHY_DX4GTR0_RESERVED_15_13_SHIFT |
| | 0x00000000U << DDR_PHY_DX4GTR0_RESERVED_12_8_SHIFT |
| | 0x00000000U << DDR_PHY_DX4GTR0_RESERVED_7_5_SHIFT |
| | 0x00000000U << DDR_PHY_DX4GTR0_DGSL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDR_PHY_DX4GTR0_OFFSET ,0xFFFFFFFFU ,0x00020000U); |
| /*############################################################################################################################ */ |
| |
| /*Register : DX5GCR0 @ 0XFD080C00</p> |
| |
| Calibration Bypass |
| PSU_DDR_PHY_DX5GCR0_CALBYP 0x0 |
| |
| Master Delay Line Enable |
| PSU_DDR_PHY_DX5GCR0_MDLEN 0x1 |
| |
| Configurable ODT(TE) Phase Shift |
| PSU_DDR_PHY_DX5GCR0_CODTSHFT 0x0 |
| |
| DQS Duty Cycle Correction |
| PSU_DDR_PHY_DX5GCR0_DQSDCC 0x0 |
| |
| Number of Cycles ( in terms of ctl_clk) to generate ctl_dx_get_static_rd input for the respective bypte lane of the PHY |
| PSU_DDR_PHY_DX5GCR0_RDDLY 0x8 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DX5GCR0_RESERVED_19_14 0x0 |
| |
| DQSNSE Power Down Receiver |
| PSU_DDR_PHY_DX5GCR0_DQSNSEPDR 0x0 |
| |
| DQSSE Power Down Receiver |
| PSU_DDR_PHY_DX5GCR0_DQSSEPDR 0x0 |
| |
| RTT On Additive Latency |
| PSU_DDR_PHY_DX5GCR0_RTTOAL 0x0 |
| |
| RTT Output Hold |
| PSU_DDR_PHY_DX5GCR0_RTTOH 0x3 |
| |
| Configurable PDR Phase Shift |
| PSU_DDR_PHY_DX5GCR0_CPDRSHFT 0x0 |
| |
| DQSR Power Down |
| PSU_DDR_PHY_DX5GCR0_DQSRPD 0x0 |
| |
| DQSG Power Down Receiver |
| PSU_DDR_PHY_DX5GCR0_DQSGPDR 0x0 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DX5GCR0_RESERVED_4 0x0 |
| |
| DQSG On-Die Termination |
| PSU_DDR_PHY_DX5GCR0_DQSGODT 0x0 |
| |
| DQSG Output Enable |
| PSU_DDR_PHY_DX5GCR0_DQSGOE 0x1 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DX5GCR0_RESERVED_1_0 0x0 |
| |
| DATX8 n General Configuration Register 0 |
| (OFFSET, MASK, VALUE) (0XFD080C00, 0xFFFFFFFFU ,0x40800604U) |
| RegMask = (DDR_PHY_DX5GCR0_CALBYP_MASK | DDR_PHY_DX5GCR0_MDLEN_MASK | DDR_PHY_DX5GCR0_CODTSHFT_MASK | DDR_PHY_DX5GCR0_DQSDCC_MASK | DDR_PHY_DX5GCR0_RDDLY_MASK | DDR_PHY_DX5GCR0_RESERVED_19_14_MASK | DDR_PHY_DX5GCR0_DQSNSEPDR_MASK | DDR_PHY_DX5GCR0_DQSSEPDR_MASK | DDR_PHY_DX5GCR0_RTTOAL_MASK | DDR_PHY_DX5GCR0_RTTOH_MASK | DDR_PHY_DX5GCR0_CPDRSHFT_MASK | DDR_PHY_DX5GCR0_DQSRPD_MASK | DDR_PHY_DX5GCR0_DQSGPDR_MASK | DDR_PHY_DX5GCR0_RESERVED_4_MASK | DDR_PHY_DX5GCR0_DQSGODT_MASK | DDR_PHY_DX5GCR0_DQSGOE_MASK | DDR_PHY_DX5GCR0_RESERVED_1_0_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDR_PHY_DX5GCR0_CALBYP_SHIFT |
| | 0x00000001U << DDR_PHY_DX5GCR0_MDLEN_SHIFT |
| | 0x00000000U << DDR_PHY_DX5GCR0_CODTSHFT_SHIFT |
| | 0x00000000U << DDR_PHY_DX5GCR0_DQSDCC_SHIFT |
| | 0x00000008U << DDR_PHY_DX5GCR0_RDDLY_SHIFT |
| | 0x00000000U << DDR_PHY_DX5GCR0_RESERVED_19_14_SHIFT |
| | 0x00000000U << DDR_PHY_DX5GCR0_DQSNSEPDR_SHIFT |
| | 0x00000000U << DDR_PHY_DX5GCR0_DQSSEPDR_SHIFT |
| | 0x00000000U << DDR_PHY_DX5GCR0_RTTOAL_SHIFT |
| | 0x00000003U << DDR_PHY_DX5GCR0_RTTOH_SHIFT |
| | 0x00000000U << DDR_PHY_DX5GCR0_CPDRSHFT_SHIFT |
| | 0x00000000U << DDR_PHY_DX5GCR0_DQSRPD_SHIFT |
| | 0x00000000U << DDR_PHY_DX5GCR0_DQSGPDR_SHIFT |
| | 0x00000000U << DDR_PHY_DX5GCR0_RESERVED_4_SHIFT |
| | 0x00000000U << DDR_PHY_DX5GCR0_DQSGODT_SHIFT |
| | 0x00000001U << DDR_PHY_DX5GCR0_DQSGOE_SHIFT |
| | 0x00000000U << DDR_PHY_DX5GCR0_RESERVED_1_0_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDR_PHY_DX5GCR0_OFFSET ,0xFFFFFFFFU ,0x40800604U); |
| /*############################################################################################################################ */ |
| |
| /*Register : DX5GCR1 @ 0XFD080C04</p> |
| |
| Enables the PDR mode for DQ[7:0] |
| PSU_DDR_PHY_DX5GCR1_DXPDRMODE 0x0 |
| |
| Reserved. Returns zeroes on reads. |
| PSU_DDR_PHY_DX5GCR1_RESERVED_15 0x0 |
| |
| Select the delayed or non-delayed read data strobe # |
| PSU_DDR_PHY_DX5GCR1_QSNSEL 0x1 |
| |
| Select the delayed or non-delayed read data strobe |
| PSU_DDR_PHY_DX5GCR1_QSSEL 0x1 |
| |
| Enables Read Data Strobe in a byte lane |
| PSU_DDR_PHY_DX5GCR1_OEEN 0x1 |
| |
| Enables PDR in a byte lane |
| PSU_DDR_PHY_DX5GCR1_PDREN 0x1 |
| |
| Enables ODT/TE in a byte lane |
| PSU_DDR_PHY_DX5GCR1_TEEN 0x1 |
| |
| Enables Write Data strobe in a byte lane |
| PSU_DDR_PHY_DX5GCR1_DSEN 0x1 |
| |
| Enables DM pin in a byte lane |
| PSU_DDR_PHY_DX5GCR1_DMEN 0x1 |
| |
| Enables DQ corresponding to each bit in a byte |
| PSU_DDR_PHY_DX5GCR1_DQEN 0xff |
| |
| DATX8 n General Configuration Register 1 |
| (OFFSET, MASK, VALUE) (0XFD080C04, 0xFFFFFFFFU ,0x00007FFFU) |
| RegMask = (DDR_PHY_DX5GCR1_DXPDRMODE_MASK | DDR_PHY_DX5GCR1_RESERVED_15_MASK | DDR_PHY_DX5GCR1_QSNSEL_MASK | DDR_PHY_DX5GCR1_QSSEL_MASK | DDR_PHY_DX5GCR1_OEEN_MASK | DDR_PHY_DX5GCR1_PDREN_MASK | DDR_PHY_DX5GCR1_TEEN_MASK | DDR_PHY_DX5GCR1_DSEN_MASK | DDR_PHY_DX5GCR1_DMEN_MASK | DDR_PHY_DX5GCR1_DQEN_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDR_PHY_DX5GCR1_DXPDRMODE_SHIFT |
| | 0x00000000U << DDR_PHY_DX5GCR1_RESERVED_15_SHIFT |
| | 0x00000001U << DDR_PHY_DX5GCR1_QSNSEL_SHIFT |
| | 0x00000001U << DDR_PHY_DX5GCR1_QSSEL_SHIFT |
| | 0x00000001U << DDR_PHY_DX5GCR1_OEEN_SHIFT |
| | 0x00000001U << DDR_PHY_DX5GCR1_PDREN_SHIFT |
| | 0x00000001U << DDR_PHY_DX5GCR1_TEEN_SHIFT |
| | 0x00000001U << DDR_PHY_DX5GCR1_DSEN_SHIFT |
| | 0x00000001U << DDR_PHY_DX5GCR1_DMEN_SHIFT |
| | 0x000000FFU << DDR_PHY_DX5GCR1_DQEN_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDR_PHY_DX5GCR1_OFFSET ,0xFFFFFFFFU ,0x00007FFFU); |
| /*############################################################################################################################ */ |
| |
| /*Register : DX5GCR4 @ 0XFD080C10</p> |
| |
| Byte lane VREF IOM (Used only by D4MU IOs) |
| PSU_DDR_PHY_DX5GCR4_RESERVED_31_29 0x0 |
| |
| Byte Lane VREF Pad Enable |
| PSU_DDR_PHY_DX5GCR4_DXREFPEN 0x0 |
| |
| Byte Lane Internal VREF Enable |
| PSU_DDR_PHY_DX5GCR4_DXREFEEN 0x3 |
| |
| Byte Lane Single-End VREF Enable |
| PSU_DDR_PHY_DX5GCR4_DXREFSEN 0x1 |
| |
| Reserved. Returns zeros on reads. |
| PSU_DDR_PHY_DX5GCR4_RESERVED_24 0x0 |
| |
| External VREF generator REFSEL range select |
| PSU_DDR_PHY_DX5GCR4_DXREFESELRANGE 0x0 |
| |
| Byte Lane External VREF Select |
| PSU_DDR_PHY_DX5GCR4_DXREFESEL 0x0 |
| |
| Single ended VREF generator REFSEL range select |
| PSU_DDR_PHY_DX5GCR4_DXREFSSELRANGE 0x1 |
| |
| Byte Lane Single-End VREF Select |
| PSU_DDR_PHY_DX5GCR4_DXREFSSEL 0x30 |
| |
| Reserved. Returns zeros on reads. |
| PSU_DDR_PHY_DX5GCR4_RESERVED_7_6 0x0 |
| |
| VREF Enable control for DQ IO (Single Ended) buffers of a byte lane. |
| PSU_DDR_PHY_DX5GCR4_DXREFIEN 0xf |
| |
| VRMON control for DQ IO (Single Ended) buffers of a byte lane. |
| PSU_DDR_PHY_DX5GCR4_DXREFIMON 0x0 |
| |
| DATX8 n General Configuration Register 4 |
| (OFFSET, MASK, VALUE) (0XFD080C10, 0xFFFFFFFFU ,0x0E00B03CU) |
| RegMask = (DDR_PHY_DX5GCR4_RESERVED_31_29_MASK | DDR_PHY_DX5GCR4_DXREFPEN_MASK | DDR_PHY_DX5GCR4_DXREFEEN_MASK | DDR_PHY_DX5GCR4_DXREFSEN_MASK | DDR_PHY_DX5GCR4_RESERVED_24_MASK | DDR_PHY_DX5GCR4_DXREFESELRANGE_MASK | DDR_PHY_DX5GCR4_DXREFESEL_MASK | DDR_PHY_DX5GCR4_DXREFSSELRANGE_MASK | DDR_PHY_DX5GCR4_DXREFSSEL_MASK | DDR_PHY_DX5GCR4_RESERVED_7_6_MASK | DDR_PHY_DX5GCR4_DXREFIEN_MASK | DDR_PHY_DX5GCR4_DXREFIMON_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDR_PHY_DX5GCR4_RESERVED_31_29_SHIFT |
| | 0x00000000U << DDR_PHY_DX5GCR4_DXREFPEN_SHIFT |
| | 0x00000003U << DDR_PHY_DX5GCR4_DXREFEEN_SHIFT |
| | 0x00000001U << DDR_PHY_DX5GCR4_DXREFSEN_SHIFT |
| | 0x00000000U << DDR_PHY_DX5GCR4_RESERVED_24_SHIFT |
| | 0x00000000U << DDR_PHY_DX5GCR4_DXREFESELRANGE_SHIFT |
| | 0x00000000U << DDR_PHY_DX5GCR4_DXREFESEL_SHIFT |
| | 0x00000001U << DDR_PHY_DX5GCR4_DXREFSSELRANGE_SHIFT |
| | 0x00000030U << DDR_PHY_DX5GCR4_DXREFSSEL_SHIFT |
| | 0x00000000U << DDR_PHY_DX5GCR4_RESERVED_7_6_SHIFT |
| | 0x0000000FU << DDR_PHY_DX5GCR4_DXREFIEN_SHIFT |
| | 0x00000000U << DDR_PHY_DX5GCR4_DXREFIMON_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDR_PHY_DX5GCR4_OFFSET ,0xFFFFFFFFU ,0x0E00B03CU); |
| /*############################################################################################################################ */ |
| |
| /*Register : DX5GCR5 @ 0XFD080C14</p> |
| |
| Reserved. Returns zeros on reads. |
| PSU_DDR_PHY_DX5GCR5_RESERVED_31 0x0 |
| |
| Byte Lane internal VREF Select for Rank 3 |
| PSU_DDR_PHY_DX5GCR5_DXREFISELR3 0x9 |
| |
| Reserved. Returns zeros on reads. |
| PSU_DDR_PHY_DX5GCR5_RESERVED_23 0x0 |
| |
| Byte Lane internal VREF Select for Rank 2 |
| PSU_DDR_PHY_DX5GCR5_DXREFISELR2 0x9 |
| |
| Reserved. Returns zeros on reads. |
| PSU_DDR_PHY_DX5GCR5_RESERVED_15 0x0 |
| |
| Byte Lane internal VREF Select for Rank 1 |
| PSU_DDR_PHY_DX5GCR5_DXREFISELR1 0x55 |
| |
| Reserved. Returns zeros on reads. |
| PSU_DDR_PHY_DX5GCR5_RESERVED_7 0x0 |
| |
| Byte Lane internal VREF Select for Rank 0 |
| PSU_DDR_PHY_DX5GCR5_DXREFISELR0 0x55 |
| |
| DATX8 n General Configuration Register 5 |
| (OFFSET, MASK, VALUE) (0XFD080C14, 0xFFFFFFFFU ,0x09095555U) |
| RegMask = (DDR_PHY_DX5GCR5_RESERVED_31_MASK | DDR_PHY_DX5GCR5_DXREFISELR3_MASK | DDR_PHY_DX5GCR5_RESERVED_23_MASK | DDR_PHY_DX5GCR5_DXREFISELR2_MASK | DDR_PHY_DX5GCR5_RESERVED_15_MASK | DDR_PHY_DX5GCR5_DXREFISELR1_MASK | DDR_PHY_DX5GCR5_RESERVED_7_MASK | DDR_PHY_DX5GCR5_DXREFISELR0_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDR_PHY_DX5GCR5_RESERVED_31_SHIFT |
| | 0x00000009U << DDR_PHY_DX5GCR5_DXREFISELR3_SHIFT |
| | 0x00000000U << DDR_PHY_DX5GCR5_RESERVED_23_SHIFT |
| | 0x00000009U << DDR_PHY_DX5GCR5_DXREFISELR2_SHIFT |
| | 0x00000000U << DDR_PHY_DX5GCR5_RESERVED_15_SHIFT |
| | 0x00000055U << DDR_PHY_DX5GCR5_DXREFISELR1_SHIFT |
| | 0x00000000U << DDR_PHY_DX5GCR5_RESERVED_7_SHIFT |
| | 0x00000055U << DDR_PHY_DX5GCR5_DXREFISELR0_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDR_PHY_DX5GCR5_OFFSET ,0xFFFFFFFFU ,0x09095555U); |
| /*############################################################################################################################ */ |
| |
| /*Register : DX5GCR6 @ 0XFD080C18</p> |
| |
| Reserved. Returns zeros on reads. |
| PSU_DDR_PHY_DX5GCR6_RESERVED_31_30 0x0 |
| |
| DRAM DQ VREF Select for Rank3 |
| PSU_DDR_PHY_DX5GCR6_DXDQVREFR3 0x9 |
| |
| Reserved. Returns zeros on reads. |
| PSU_DDR_PHY_DX5GCR6_RESERVED_23_22 0x0 |
| |
| DRAM DQ VREF Select for Rank2 |
| PSU_DDR_PHY_DX5GCR6_DXDQVREFR2 0x9 |
| |
| Reserved. Returns zeros on reads. |
| PSU_DDR_PHY_DX5GCR6_RESERVED_15_14 0x0 |
| |
| DRAM DQ VREF Select for Rank1 |
| PSU_DDR_PHY_DX5GCR6_DXDQVREFR1 0x2b |
| |
| Reserved. Returns zeros on reads. |
| PSU_DDR_PHY_DX5GCR6_RESERVED_7_6 0x0 |
| |
| DRAM DQ VREF Select for Rank0 |
| PSU_DDR_PHY_DX5GCR6_DXDQVREFR0 0x2b |
| |
| DATX8 n General Configuration Register 6 |
| (OFFSET, MASK, VALUE) (0XFD080C18, 0xFFFFFFFFU ,0x09092B2BU) |
| RegMask = (DDR_PHY_DX5GCR6_RESERVED_31_30_MASK | DDR_PHY_DX5GCR6_DXDQVREFR3_MASK | DDR_PHY_DX5GCR6_RESERVED_23_22_MASK | DDR_PHY_DX5GCR6_DXDQVREFR2_MASK | DDR_PHY_DX5GCR6_RESERVED_15_14_MASK | DDR_PHY_DX5GCR6_DXDQVREFR1_MASK | DDR_PHY_DX5GCR6_RESERVED_7_6_MASK | DDR_PHY_DX5GCR6_DXDQVREFR0_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDR_PHY_DX5GCR6_RESERVED_31_30_SHIFT |
| | 0x00000009U << DDR_PHY_DX5GCR6_DXDQVREFR3_SHIFT |
| | 0x00000000U << DDR_PHY_DX5GCR6_RESERVED_23_22_SHIFT |
| | 0x00000009U << DDR_PHY_DX5GCR6_DXDQVREFR2_SHIFT |
| | 0x00000000U << DDR_PHY_DX5GCR6_RESERVED_15_14_SHIFT |
| | 0x0000002BU << DDR_PHY_DX5GCR6_DXDQVREFR1_SHIFT |
| | 0x00000000U << DDR_PHY_DX5GCR6_RESERVED_7_6_SHIFT |
| | 0x0000002BU << DDR_PHY_DX5GCR6_DXDQVREFR0_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDR_PHY_DX5GCR6_OFFSET ,0xFFFFFFFFU ,0x09092B2BU); |
| /*############################################################################################################################ */ |
| |
| /*Register : DX5LCDLR2 @ 0XFD080C88</p> |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DX5LCDLR2_RESERVED_31_25 0x0 |
| |
| Reserved. Caution, do not write to this register field. |
| PSU_DDR_PHY_DX5LCDLR2_RESERVED_24_16 0x0 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DX5LCDLR2_RESERVED_15_9 0x0 |
| |
| Read DQS Gating Delay |
| PSU_DDR_PHY_DX5LCDLR2_DQSGD 0x0 |
| |
| DATX8 n Local Calibrated Delay Line Register 2 |
| (OFFSET, MASK, VALUE) (0XFD080C88, 0xFFFFFFFFU ,0x00000000U) |
| RegMask = (DDR_PHY_DX5LCDLR2_RESERVED_31_25_MASK | DDR_PHY_DX5LCDLR2_RESERVED_24_16_MASK | DDR_PHY_DX5LCDLR2_RESERVED_15_9_MASK | DDR_PHY_DX5LCDLR2_DQSGD_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDR_PHY_DX5LCDLR2_RESERVED_31_25_SHIFT |
| | 0x00000000U << DDR_PHY_DX5LCDLR2_RESERVED_24_16_SHIFT |
| | 0x00000000U << DDR_PHY_DX5LCDLR2_RESERVED_15_9_SHIFT |
| | 0x00000000U << DDR_PHY_DX5LCDLR2_DQSGD_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDR_PHY_DX5LCDLR2_OFFSET ,0xFFFFFFFFU ,0x00000000U); |
| /*############################################################################################################################ */ |
| |
| /*Register : DX5GTR0 @ 0XFD080CC0</p> |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DX5GTR0_RESERVED_31_24 0x0 |
| |
| DQ Write Path Latency Pipeline |
| PSU_DDR_PHY_DX5GTR0_WDQSL 0x0 |
| |
| Reserved. Caution, do not write to this register field. |
| PSU_DDR_PHY_DX5GTR0_RESERVED_23_20 0x0 |
| |
| Write Leveling System Latency |
| PSU_DDR_PHY_DX5GTR0_WLSL 0x2 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DX5GTR0_RESERVED_15_13 0x0 |
| |
| Reserved. Caution, do not write to this register field. |
| PSU_DDR_PHY_DX5GTR0_RESERVED_12_8 0x0 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DX5GTR0_RESERVED_7_5 0x0 |
| |
| DQS Gating System Latency |
| PSU_DDR_PHY_DX5GTR0_DGSL 0x0 |
| |
| DATX8 n General Timing Register 0 |
| (OFFSET, MASK, VALUE) (0XFD080CC0, 0xFFFFFFFFU ,0x00020000U) |
| RegMask = (DDR_PHY_DX5GTR0_RESERVED_31_24_MASK | DDR_PHY_DX5GTR0_WDQSL_MASK | DDR_PHY_DX5GTR0_RESERVED_23_20_MASK | DDR_PHY_DX5GTR0_WLSL_MASK | DDR_PHY_DX5GTR0_RESERVED_15_13_MASK | DDR_PHY_DX5GTR0_RESERVED_12_8_MASK | DDR_PHY_DX5GTR0_RESERVED_7_5_MASK | DDR_PHY_DX5GTR0_DGSL_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDR_PHY_DX5GTR0_RESERVED_31_24_SHIFT |
| | 0x00000000U << DDR_PHY_DX5GTR0_WDQSL_SHIFT |
| | 0x00000000U << DDR_PHY_DX5GTR0_RESERVED_23_20_SHIFT |
| | 0x00000002U << DDR_PHY_DX5GTR0_WLSL_SHIFT |
| | 0x00000000U << DDR_PHY_DX5GTR0_RESERVED_15_13_SHIFT |
| | 0x00000000U << DDR_PHY_DX5GTR0_RESERVED_12_8_SHIFT |
| | 0x00000000U << DDR_PHY_DX5GTR0_RESERVED_7_5_SHIFT |
| | 0x00000000U << DDR_PHY_DX5GTR0_DGSL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDR_PHY_DX5GTR0_OFFSET ,0xFFFFFFFFU ,0x00020000U); |
| /*############################################################################################################################ */ |
| |
| /*Register : DX6GCR0 @ 0XFD080D00</p> |
| |
| Calibration Bypass |
| PSU_DDR_PHY_DX6GCR0_CALBYP 0x0 |
| |
| Master Delay Line Enable |
| PSU_DDR_PHY_DX6GCR0_MDLEN 0x1 |
| |
| Configurable ODT(TE) Phase Shift |
| PSU_DDR_PHY_DX6GCR0_CODTSHFT 0x0 |
| |
| DQS Duty Cycle Correction |
| PSU_DDR_PHY_DX6GCR0_DQSDCC 0x0 |
| |
| Number of Cycles ( in terms of ctl_clk) to generate ctl_dx_get_static_rd input for the respective bypte lane of the PHY |
| PSU_DDR_PHY_DX6GCR0_RDDLY 0x8 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DX6GCR0_RESERVED_19_14 0x0 |
| |
| DQSNSE Power Down Receiver |
| PSU_DDR_PHY_DX6GCR0_DQSNSEPDR 0x0 |
| |
| DQSSE Power Down Receiver |
| PSU_DDR_PHY_DX6GCR0_DQSSEPDR 0x0 |
| |
| RTT On Additive Latency |
| PSU_DDR_PHY_DX6GCR0_RTTOAL 0x0 |
| |
| RTT Output Hold |
| PSU_DDR_PHY_DX6GCR0_RTTOH 0x3 |
| |
| Configurable PDR Phase Shift |
| PSU_DDR_PHY_DX6GCR0_CPDRSHFT 0x0 |
| |
| DQSR Power Down |
| PSU_DDR_PHY_DX6GCR0_DQSRPD 0x0 |
| |
| DQSG Power Down Receiver |
| PSU_DDR_PHY_DX6GCR0_DQSGPDR 0x0 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DX6GCR0_RESERVED_4 0x0 |
| |
| DQSG On-Die Termination |
| PSU_DDR_PHY_DX6GCR0_DQSGODT 0x0 |
| |
| DQSG Output Enable |
| PSU_DDR_PHY_DX6GCR0_DQSGOE 0x1 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DX6GCR0_RESERVED_1_0 0x0 |
| |
| DATX8 n General Configuration Register 0 |
| (OFFSET, MASK, VALUE) (0XFD080D00, 0xFFFFFFFFU ,0x40800604U) |
| RegMask = (DDR_PHY_DX6GCR0_CALBYP_MASK | DDR_PHY_DX6GCR0_MDLEN_MASK | DDR_PHY_DX6GCR0_CODTSHFT_MASK | DDR_PHY_DX6GCR0_DQSDCC_MASK | DDR_PHY_DX6GCR0_RDDLY_MASK | DDR_PHY_DX6GCR0_RESERVED_19_14_MASK | DDR_PHY_DX6GCR0_DQSNSEPDR_MASK | DDR_PHY_DX6GCR0_DQSSEPDR_MASK | DDR_PHY_DX6GCR0_RTTOAL_MASK | DDR_PHY_DX6GCR0_RTTOH_MASK | DDR_PHY_DX6GCR0_CPDRSHFT_MASK | DDR_PHY_DX6GCR0_DQSRPD_MASK | DDR_PHY_DX6GCR0_DQSGPDR_MASK | DDR_PHY_DX6GCR0_RESERVED_4_MASK | DDR_PHY_DX6GCR0_DQSGODT_MASK | DDR_PHY_DX6GCR0_DQSGOE_MASK | DDR_PHY_DX6GCR0_RESERVED_1_0_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDR_PHY_DX6GCR0_CALBYP_SHIFT |
| | 0x00000001U << DDR_PHY_DX6GCR0_MDLEN_SHIFT |
| | 0x00000000U << DDR_PHY_DX6GCR0_CODTSHFT_SHIFT |
| | 0x00000000U << DDR_PHY_DX6GCR0_DQSDCC_SHIFT |
| | 0x00000008U << DDR_PHY_DX6GCR0_RDDLY_SHIFT |
| | 0x00000000U << DDR_PHY_DX6GCR0_RESERVED_19_14_SHIFT |
| | 0x00000000U << DDR_PHY_DX6GCR0_DQSNSEPDR_SHIFT |
| | 0x00000000U << DDR_PHY_DX6GCR0_DQSSEPDR_SHIFT |
| | 0x00000000U << DDR_PHY_DX6GCR0_RTTOAL_SHIFT |
| | 0x00000003U << DDR_PHY_DX6GCR0_RTTOH_SHIFT |
| | 0x00000000U << DDR_PHY_DX6GCR0_CPDRSHFT_SHIFT |
| | 0x00000000U << DDR_PHY_DX6GCR0_DQSRPD_SHIFT |
| | 0x00000000U << DDR_PHY_DX6GCR0_DQSGPDR_SHIFT |
| | 0x00000000U << DDR_PHY_DX6GCR0_RESERVED_4_SHIFT |
| | 0x00000000U << DDR_PHY_DX6GCR0_DQSGODT_SHIFT |
| | 0x00000001U << DDR_PHY_DX6GCR0_DQSGOE_SHIFT |
| | 0x00000000U << DDR_PHY_DX6GCR0_RESERVED_1_0_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDR_PHY_DX6GCR0_OFFSET ,0xFFFFFFFFU ,0x40800604U); |
| /*############################################################################################################################ */ |
| |
| /*Register : DX6GCR1 @ 0XFD080D04</p> |
| |
| Enables the PDR mode for DQ[7:0] |
| PSU_DDR_PHY_DX6GCR1_DXPDRMODE 0x0 |
| |
| Reserved. Returns zeroes on reads. |
| PSU_DDR_PHY_DX6GCR1_RESERVED_15 0x0 |
| |
| Select the delayed or non-delayed read data strobe # |
| PSU_DDR_PHY_DX6GCR1_QSNSEL 0x1 |
| |
| Select the delayed or non-delayed read data strobe |
| PSU_DDR_PHY_DX6GCR1_QSSEL 0x1 |
| |
| Enables Read Data Strobe in a byte lane |
| PSU_DDR_PHY_DX6GCR1_OEEN 0x1 |
| |
| Enables PDR in a byte lane |
| PSU_DDR_PHY_DX6GCR1_PDREN 0x1 |
| |
| Enables ODT/TE in a byte lane |
| PSU_DDR_PHY_DX6GCR1_TEEN 0x1 |
| |
| Enables Write Data strobe in a byte lane |
| PSU_DDR_PHY_DX6GCR1_DSEN 0x1 |
| |
| Enables DM pin in a byte lane |
| PSU_DDR_PHY_DX6GCR1_DMEN 0x1 |
| |
| Enables DQ corresponding to each bit in a byte |
| PSU_DDR_PHY_DX6GCR1_DQEN 0xff |
| |
| DATX8 n General Configuration Register 1 |
| (OFFSET, MASK, VALUE) (0XFD080D04, 0xFFFFFFFFU ,0x00007FFFU) |
| RegMask = (DDR_PHY_DX6GCR1_DXPDRMODE_MASK | DDR_PHY_DX6GCR1_RESERVED_15_MASK | DDR_PHY_DX6GCR1_QSNSEL_MASK | DDR_PHY_DX6GCR1_QSSEL_MASK | DDR_PHY_DX6GCR1_OEEN_MASK | DDR_PHY_DX6GCR1_PDREN_MASK | DDR_PHY_DX6GCR1_TEEN_MASK | DDR_PHY_DX6GCR1_DSEN_MASK | DDR_PHY_DX6GCR1_DMEN_MASK | DDR_PHY_DX6GCR1_DQEN_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDR_PHY_DX6GCR1_DXPDRMODE_SHIFT |
| | 0x00000000U << DDR_PHY_DX6GCR1_RESERVED_15_SHIFT |
| | 0x00000001U << DDR_PHY_DX6GCR1_QSNSEL_SHIFT |
| | 0x00000001U << DDR_PHY_DX6GCR1_QSSEL_SHIFT |
| | 0x00000001U << DDR_PHY_DX6GCR1_OEEN_SHIFT |
| | 0x00000001U << DDR_PHY_DX6GCR1_PDREN_SHIFT |
| | 0x00000001U << DDR_PHY_DX6GCR1_TEEN_SHIFT |
| | 0x00000001U << DDR_PHY_DX6GCR1_DSEN_SHIFT |
| | 0x00000001U << DDR_PHY_DX6GCR1_DMEN_SHIFT |
| | 0x000000FFU << DDR_PHY_DX6GCR1_DQEN_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDR_PHY_DX6GCR1_OFFSET ,0xFFFFFFFFU ,0x00007FFFU); |
| /*############################################################################################################################ */ |
| |
| /*Register : DX6GCR4 @ 0XFD080D10</p> |
| |
| Byte lane VREF IOM (Used only by D4MU IOs) |
| PSU_DDR_PHY_DX6GCR4_RESERVED_31_29 0x0 |
| |
| Byte Lane VREF Pad Enable |
| PSU_DDR_PHY_DX6GCR4_DXREFPEN 0x0 |
| |
| Byte Lane Internal VREF Enable |
| PSU_DDR_PHY_DX6GCR4_DXREFEEN 0x3 |
| |
| Byte Lane Single-End VREF Enable |
| PSU_DDR_PHY_DX6GCR4_DXREFSEN 0x1 |
| |
| Reserved. Returns zeros on reads. |
| PSU_DDR_PHY_DX6GCR4_RESERVED_24 0x0 |
| |
| External VREF generator REFSEL range select |
| PSU_DDR_PHY_DX6GCR4_DXREFESELRANGE 0x0 |
| |
| Byte Lane External VREF Select |
| PSU_DDR_PHY_DX6GCR4_DXREFESEL 0x0 |
| |
| Single ended VREF generator REFSEL range select |
| PSU_DDR_PHY_DX6GCR4_DXREFSSELRANGE 0x1 |
| |
| Byte Lane Single-End VREF Select |
| PSU_DDR_PHY_DX6GCR4_DXREFSSEL 0x30 |
| |
| Reserved. Returns zeros on reads. |
| PSU_DDR_PHY_DX6GCR4_RESERVED_7_6 0x0 |
| |
| VREF Enable control for DQ IO (Single Ended) buffers of a byte lane. |
| PSU_DDR_PHY_DX6GCR4_DXREFIEN 0xf |
| |
| VRMON control for DQ IO (Single Ended) buffers of a byte lane. |
| PSU_DDR_PHY_DX6GCR4_DXREFIMON 0x0 |
| |
| DATX8 n General Configuration Register 4 |
| (OFFSET, MASK, VALUE) (0XFD080D10, 0xFFFFFFFFU ,0x0E00B03CU) |
| RegMask = (DDR_PHY_DX6GCR4_RESERVED_31_29_MASK | DDR_PHY_DX6GCR4_DXREFPEN_MASK | DDR_PHY_DX6GCR4_DXREFEEN_MASK | DDR_PHY_DX6GCR4_DXREFSEN_MASK | DDR_PHY_DX6GCR4_RESERVED_24_MASK | DDR_PHY_DX6GCR4_DXREFESELRANGE_MASK | DDR_PHY_DX6GCR4_DXREFESEL_MASK | DDR_PHY_DX6GCR4_DXREFSSELRANGE_MASK | DDR_PHY_DX6GCR4_DXREFSSEL_MASK | DDR_PHY_DX6GCR4_RESERVED_7_6_MASK | DDR_PHY_DX6GCR4_DXREFIEN_MASK | DDR_PHY_DX6GCR4_DXREFIMON_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDR_PHY_DX6GCR4_RESERVED_31_29_SHIFT |
| | 0x00000000U << DDR_PHY_DX6GCR4_DXREFPEN_SHIFT |
| | 0x00000003U << DDR_PHY_DX6GCR4_DXREFEEN_SHIFT |
| | 0x00000001U << DDR_PHY_DX6GCR4_DXREFSEN_SHIFT |
| | 0x00000000U << DDR_PHY_DX6GCR4_RESERVED_24_SHIFT |
| | 0x00000000U << DDR_PHY_DX6GCR4_DXREFESELRANGE_SHIFT |
| | 0x00000000U << DDR_PHY_DX6GCR4_DXREFESEL_SHIFT |
| | 0x00000001U << DDR_PHY_DX6GCR4_DXREFSSELRANGE_SHIFT |
| | 0x00000030U << DDR_PHY_DX6GCR4_DXREFSSEL_SHIFT |
| | 0x00000000U << DDR_PHY_DX6GCR4_RESERVED_7_6_SHIFT |
| | 0x0000000FU << DDR_PHY_DX6GCR4_DXREFIEN_SHIFT |
| | 0x00000000U << DDR_PHY_DX6GCR4_DXREFIMON_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDR_PHY_DX6GCR4_OFFSET ,0xFFFFFFFFU ,0x0E00B03CU); |
| /*############################################################################################################################ */ |
| |
| /*Register : DX6GCR5 @ 0XFD080D14</p> |
| |
| Reserved. Returns zeros on reads. |
| PSU_DDR_PHY_DX6GCR5_RESERVED_31 0x0 |
| |
| Byte Lane internal VREF Select for Rank 3 |
| PSU_DDR_PHY_DX6GCR5_DXREFISELR3 0x9 |
| |
| Reserved. Returns zeros on reads. |
| PSU_DDR_PHY_DX6GCR5_RESERVED_23 0x0 |
| |
| Byte Lane internal VREF Select for Rank 2 |
| PSU_DDR_PHY_DX6GCR5_DXREFISELR2 0x9 |
| |
| Reserved. Returns zeros on reads. |
| PSU_DDR_PHY_DX6GCR5_RESERVED_15 0x0 |
| |
| Byte Lane internal VREF Select for Rank 1 |
| PSU_DDR_PHY_DX6GCR5_DXREFISELR1 0x55 |
| |
| Reserved. Returns zeros on reads. |
| PSU_DDR_PHY_DX6GCR5_RESERVED_7 0x0 |
| |
| Byte Lane internal VREF Select for Rank 0 |
| PSU_DDR_PHY_DX6GCR5_DXREFISELR0 0x55 |
| |
| DATX8 n General Configuration Register 5 |
| (OFFSET, MASK, VALUE) (0XFD080D14, 0xFFFFFFFFU ,0x09095555U) |
| RegMask = (DDR_PHY_DX6GCR5_RESERVED_31_MASK | DDR_PHY_DX6GCR5_DXREFISELR3_MASK | DDR_PHY_DX6GCR5_RESERVED_23_MASK | DDR_PHY_DX6GCR5_DXREFISELR2_MASK | DDR_PHY_DX6GCR5_RESERVED_15_MASK | DDR_PHY_DX6GCR5_DXREFISELR1_MASK | DDR_PHY_DX6GCR5_RESERVED_7_MASK | DDR_PHY_DX6GCR5_DXREFISELR0_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDR_PHY_DX6GCR5_RESERVED_31_SHIFT |
| | 0x00000009U << DDR_PHY_DX6GCR5_DXREFISELR3_SHIFT |
| | 0x00000000U << DDR_PHY_DX6GCR5_RESERVED_23_SHIFT |
| | 0x00000009U << DDR_PHY_DX6GCR5_DXREFISELR2_SHIFT |
| | 0x00000000U << DDR_PHY_DX6GCR5_RESERVED_15_SHIFT |
| | 0x00000055U << DDR_PHY_DX6GCR5_DXREFISELR1_SHIFT |
| | 0x00000000U << DDR_PHY_DX6GCR5_RESERVED_7_SHIFT |
| | 0x00000055U << DDR_PHY_DX6GCR5_DXREFISELR0_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDR_PHY_DX6GCR5_OFFSET ,0xFFFFFFFFU ,0x09095555U); |
| /*############################################################################################################################ */ |
| |
| /*Register : DX6GCR6 @ 0XFD080D18</p> |
| |
| Reserved. Returns zeros on reads. |
| PSU_DDR_PHY_DX6GCR6_RESERVED_31_30 0x0 |
| |
| DRAM DQ VREF Select for Rank3 |
| PSU_DDR_PHY_DX6GCR6_DXDQVREFR3 0x9 |
| |
| Reserved. Returns zeros on reads. |
| PSU_DDR_PHY_DX6GCR6_RESERVED_23_22 0x0 |
| |
| DRAM DQ VREF Select for Rank2 |
| PSU_DDR_PHY_DX6GCR6_DXDQVREFR2 0x9 |
| |
| Reserved. Returns zeros on reads. |
| PSU_DDR_PHY_DX6GCR6_RESERVED_15_14 0x0 |
| |
| DRAM DQ VREF Select for Rank1 |
| PSU_DDR_PHY_DX6GCR6_DXDQVREFR1 0x2b |
| |
| Reserved. Returns zeros on reads. |
| PSU_DDR_PHY_DX6GCR6_RESERVED_7_6 0x0 |
| |
| DRAM DQ VREF Select for Rank0 |
| PSU_DDR_PHY_DX6GCR6_DXDQVREFR0 0x2b |
| |
| DATX8 n General Configuration Register 6 |
| (OFFSET, MASK, VALUE) (0XFD080D18, 0xFFFFFFFFU ,0x09092B2BU) |
| RegMask = (DDR_PHY_DX6GCR6_RESERVED_31_30_MASK | DDR_PHY_DX6GCR6_DXDQVREFR3_MASK | DDR_PHY_DX6GCR6_RESERVED_23_22_MASK | DDR_PHY_DX6GCR6_DXDQVREFR2_MASK | DDR_PHY_DX6GCR6_RESERVED_15_14_MASK | DDR_PHY_DX6GCR6_DXDQVREFR1_MASK | DDR_PHY_DX6GCR6_RESERVED_7_6_MASK | DDR_PHY_DX6GCR6_DXDQVREFR0_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDR_PHY_DX6GCR6_RESERVED_31_30_SHIFT |
| | 0x00000009U << DDR_PHY_DX6GCR6_DXDQVREFR3_SHIFT |
| | 0x00000000U << DDR_PHY_DX6GCR6_RESERVED_23_22_SHIFT |
| | 0x00000009U << DDR_PHY_DX6GCR6_DXDQVREFR2_SHIFT |
| | 0x00000000U << DDR_PHY_DX6GCR6_RESERVED_15_14_SHIFT |
| | 0x0000002BU << DDR_PHY_DX6GCR6_DXDQVREFR1_SHIFT |
| | 0x00000000U << DDR_PHY_DX6GCR6_RESERVED_7_6_SHIFT |
| | 0x0000002BU << DDR_PHY_DX6GCR6_DXDQVREFR0_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDR_PHY_DX6GCR6_OFFSET ,0xFFFFFFFFU ,0x09092B2BU); |
| /*############################################################################################################################ */ |
| |
| /*Register : DX6LCDLR2 @ 0XFD080D88</p> |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DX6LCDLR2_RESERVED_31_25 0x0 |
| |
| Reserved. Caution, do not write to this register field. |
| PSU_DDR_PHY_DX6LCDLR2_RESERVED_24_16 0x0 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DX6LCDLR2_RESERVED_15_9 0x0 |
| |
| Read DQS Gating Delay |
| PSU_DDR_PHY_DX6LCDLR2_DQSGD 0x0 |
| |
| DATX8 n Local Calibrated Delay Line Register 2 |
| (OFFSET, MASK, VALUE) (0XFD080D88, 0xFFFFFFFFU ,0x00000000U) |
| RegMask = (DDR_PHY_DX6LCDLR2_RESERVED_31_25_MASK | DDR_PHY_DX6LCDLR2_RESERVED_24_16_MASK | DDR_PHY_DX6LCDLR2_RESERVED_15_9_MASK | DDR_PHY_DX6LCDLR2_DQSGD_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDR_PHY_DX6LCDLR2_RESERVED_31_25_SHIFT |
| | 0x00000000U << DDR_PHY_DX6LCDLR2_RESERVED_24_16_SHIFT |
| | 0x00000000U << DDR_PHY_DX6LCDLR2_RESERVED_15_9_SHIFT |
| | 0x00000000U << DDR_PHY_DX6LCDLR2_DQSGD_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDR_PHY_DX6LCDLR2_OFFSET ,0xFFFFFFFFU ,0x00000000U); |
| /*############################################################################################################################ */ |
| |
| /*Register : DX6GTR0 @ 0XFD080DC0</p> |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DX6GTR0_RESERVED_31_24 0x0 |
| |
| DQ Write Path Latency Pipeline |
| PSU_DDR_PHY_DX6GTR0_WDQSL 0x0 |
| |
| Reserved. Caution, do not write to this register field. |
| PSU_DDR_PHY_DX6GTR0_RESERVED_23_20 0x0 |
| |
| Write Leveling System Latency |
| PSU_DDR_PHY_DX6GTR0_WLSL 0x2 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DX6GTR0_RESERVED_15_13 0x0 |
| |
| Reserved. Caution, do not write to this register field. |
| PSU_DDR_PHY_DX6GTR0_RESERVED_12_8 0x0 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DX6GTR0_RESERVED_7_5 0x0 |
| |
| DQS Gating System Latency |
| PSU_DDR_PHY_DX6GTR0_DGSL 0x0 |
| |
| DATX8 n General Timing Register 0 |
| (OFFSET, MASK, VALUE) (0XFD080DC0, 0xFFFFFFFFU ,0x00020000U) |
| RegMask = (DDR_PHY_DX6GTR0_RESERVED_31_24_MASK | DDR_PHY_DX6GTR0_WDQSL_MASK | DDR_PHY_DX6GTR0_RESERVED_23_20_MASK | DDR_PHY_DX6GTR0_WLSL_MASK | DDR_PHY_DX6GTR0_RESERVED_15_13_MASK | DDR_PHY_DX6GTR0_RESERVED_12_8_MASK | DDR_PHY_DX6GTR0_RESERVED_7_5_MASK | DDR_PHY_DX6GTR0_DGSL_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDR_PHY_DX6GTR0_RESERVED_31_24_SHIFT |
| | 0x00000000U << DDR_PHY_DX6GTR0_WDQSL_SHIFT |
| | 0x00000000U << DDR_PHY_DX6GTR0_RESERVED_23_20_SHIFT |
| | 0x00000002U << DDR_PHY_DX6GTR0_WLSL_SHIFT |
| | 0x00000000U << DDR_PHY_DX6GTR0_RESERVED_15_13_SHIFT |
| | 0x00000000U << DDR_PHY_DX6GTR0_RESERVED_12_8_SHIFT |
| | 0x00000000U << DDR_PHY_DX6GTR0_RESERVED_7_5_SHIFT |
| | 0x00000000U << DDR_PHY_DX6GTR0_DGSL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDR_PHY_DX6GTR0_OFFSET ,0xFFFFFFFFU ,0x00020000U); |
| /*############################################################################################################################ */ |
| |
| /*Register : DX7GCR0 @ 0XFD080E00</p> |
| |
| Calibration Bypass |
| PSU_DDR_PHY_DX7GCR0_CALBYP 0x0 |
| |
| Master Delay Line Enable |
| PSU_DDR_PHY_DX7GCR0_MDLEN 0x1 |
| |
| Configurable ODT(TE) Phase Shift |
| PSU_DDR_PHY_DX7GCR0_CODTSHFT 0x0 |
| |
| DQS Duty Cycle Correction |
| PSU_DDR_PHY_DX7GCR0_DQSDCC 0x0 |
| |
| Number of Cycles ( in terms of ctl_clk) to generate ctl_dx_get_static_rd input for the respective bypte lane of the PHY |
| PSU_DDR_PHY_DX7GCR0_RDDLY 0x8 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DX7GCR0_RESERVED_19_14 0x0 |
| |
| DQSNSE Power Down Receiver |
| PSU_DDR_PHY_DX7GCR0_DQSNSEPDR 0x0 |
| |
| DQSSE Power Down Receiver |
| PSU_DDR_PHY_DX7GCR0_DQSSEPDR 0x0 |
| |
| RTT On Additive Latency |
| PSU_DDR_PHY_DX7GCR0_RTTOAL 0x0 |
| |
| RTT Output Hold |
| PSU_DDR_PHY_DX7GCR0_RTTOH 0x3 |
| |
| Configurable PDR Phase Shift |
| PSU_DDR_PHY_DX7GCR0_CPDRSHFT 0x0 |
| |
| DQSR Power Down |
| PSU_DDR_PHY_DX7GCR0_DQSRPD 0x0 |
| |
| DQSG Power Down Receiver |
| PSU_DDR_PHY_DX7GCR0_DQSGPDR 0x0 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DX7GCR0_RESERVED_4 0x0 |
| |
| DQSG On-Die Termination |
| PSU_DDR_PHY_DX7GCR0_DQSGODT 0x0 |
| |
| DQSG Output Enable |
| PSU_DDR_PHY_DX7GCR0_DQSGOE 0x1 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DX7GCR0_RESERVED_1_0 0x0 |
| |
| DATX8 n General Configuration Register 0 |
| (OFFSET, MASK, VALUE) (0XFD080E00, 0xFFFFFFFFU ,0x40800604U) |
| RegMask = (DDR_PHY_DX7GCR0_CALBYP_MASK | DDR_PHY_DX7GCR0_MDLEN_MASK | DDR_PHY_DX7GCR0_CODTSHFT_MASK | DDR_PHY_DX7GCR0_DQSDCC_MASK | DDR_PHY_DX7GCR0_RDDLY_MASK | DDR_PHY_DX7GCR0_RESERVED_19_14_MASK | DDR_PHY_DX7GCR0_DQSNSEPDR_MASK | DDR_PHY_DX7GCR0_DQSSEPDR_MASK | DDR_PHY_DX7GCR0_RTTOAL_MASK | DDR_PHY_DX7GCR0_RTTOH_MASK | DDR_PHY_DX7GCR0_CPDRSHFT_MASK | DDR_PHY_DX7GCR0_DQSRPD_MASK | DDR_PHY_DX7GCR0_DQSGPDR_MASK | DDR_PHY_DX7GCR0_RESERVED_4_MASK | DDR_PHY_DX7GCR0_DQSGODT_MASK | DDR_PHY_DX7GCR0_DQSGOE_MASK | DDR_PHY_DX7GCR0_RESERVED_1_0_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDR_PHY_DX7GCR0_CALBYP_SHIFT |
| | 0x00000001U << DDR_PHY_DX7GCR0_MDLEN_SHIFT |
| | 0x00000000U << DDR_PHY_DX7GCR0_CODTSHFT_SHIFT |
| | 0x00000000U << DDR_PHY_DX7GCR0_DQSDCC_SHIFT |
| | 0x00000008U << DDR_PHY_DX7GCR0_RDDLY_SHIFT |
| | 0x00000000U << DDR_PHY_DX7GCR0_RESERVED_19_14_SHIFT |
| | 0x00000000U << DDR_PHY_DX7GCR0_DQSNSEPDR_SHIFT |
| | 0x00000000U << DDR_PHY_DX7GCR0_DQSSEPDR_SHIFT |
| | 0x00000000U << DDR_PHY_DX7GCR0_RTTOAL_SHIFT |
| | 0x00000003U << DDR_PHY_DX7GCR0_RTTOH_SHIFT |
| | 0x00000000U << DDR_PHY_DX7GCR0_CPDRSHFT_SHIFT |
| | 0x00000000U << DDR_PHY_DX7GCR0_DQSRPD_SHIFT |
| | 0x00000000U << DDR_PHY_DX7GCR0_DQSGPDR_SHIFT |
| | 0x00000000U << DDR_PHY_DX7GCR0_RESERVED_4_SHIFT |
| | 0x00000000U << DDR_PHY_DX7GCR0_DQSGODT_SHIFT |
| | 0x00000001U << DDR_PHY_DX7GCR0_DQSGOE_SHIFT |
| | 0x00000000U << DDR_PHY_DX7GCR0_RESERVED_1_0_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDR_PHY_DX7GCR0_OFFSET ,0xFFFFFFFFU ,0x40800604U); |
| /*############################################################################################################################ */ |
| |
| /*Register : DX7GCR1 @ 0XFD080E04</p> |
| |
| Enables the PDR mode for DQ[7:0] |
| PSU_DDR_PHY_DX7GCR1_DXPDRMODE 0x0 |
| |
| Reserved. Returns zeroes on reads. |
| PSU_DDR_PHY_DX7GCR1_RESERVED_15 0x0 |
| |
| Select the delayed or non-delayed read data strobe # |
| PSU_DDR_PHY_DX7GCR1_QSNSEL 0x1 |
| |
| Select the delayed or non-delayed read data strobe |
| PSU_DDR_PHY_DX7GCR1_QSSEL 0x1 |
| |
| Enables Read Data Strobe in a byte lane |
| PSU_DDR_PHY_DX7GCR1_OEEN 0x1 |
| |
| Enables PDR in a byte lane |
| PSU_DDR_PHY_DX7GCR1_PDREN 0x1 |
| |
| Enables ODT/TE in a byte lane |
| PSU_DDR_PHY_DX7GCR1_TEEN 0x1 |
| |
| Enables Write Data strobe in a byte lane |
| PSU_DDR_PHY_DX7GCR1_DSEN 0x1 |
| |
| Enables DM pin in a byte lane |
| PSU_DDR_PHY_DX7GCR1_DMEN 0x1 |
| |
| Enables DQ corresponding to each bit in a byte |
| PSU_DDR_PHY_DX7GCR1_DQEN 0xff |
| |
| DATX8 n General Configuration Register 1 |
| (OFFSET, MASK, VALUE) (0XFD080E04, 0xFFFFFFFFU ,0x00007FFFU) |
| RegMask = (DDR_PHY_DX7GCR1_DXPDRMODE_MASK | DDR_PHY_DX7GCR1_RESERVED_15_MASK | DDR_PHY_DX7GCR1_QSNSEL_MASK | DDR_PHY_DX7GCR1_QSSEL_MASK | DDR_PHY_DX7GCR1_OEEN_MASK | DDR_PHY_DX7GCR1_PDREN_MASK | DDR_PHY_DX7GCR1_TEEN_MASK | DDR_PHY_DX7GCR1_DSEN_MASK | DDR_PHY_DX7GCR1_DMEN_MASK | DDR_PHY_DX7GCR1_DQEN_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDR_PHY_DX7GCR1_DXPDRMODE_SHIFT |
| | 0x00000000U << DDR_PHY_DX7GCR1_RESERVED_15_SHIFT |
| | 0x00000001U << DDR_PHY_DX7GCR1_QSNSEL_SHIFT |
| | 0x00000001U << DDR_PHY_DX7GCR1_QSSEL_SHIFT |
| | 0x00000001U << DDR_PHY_DX7GCR1_OEEN_SHIFT |
| | 0x00000001U << DDR_PHY_DX7GCR1_PDREN_SHIFT |
| | 0x00000001U << DDR_PHY_DX7GCR1_TEEN_SHIFT |
| | 0x00000001U << DDR_PHY_DX7GCR1_DSEN_SHIFT |
| | 0x00000001U << DDR_PHY_DX7GCR1_DMEN_SHIFT |
| | 0x000000FFU << DDR_PHY_DX7GCR1_DQEN_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDR_PHY_DX7GCR1_OFFSET ,0xFFFFFFFFU ,0x00007FFFU); |
| /*############################################################################################################################ */ |
| |
| /*Register : DX7GCR4 @ 0XFD080E10</p> |
| |
| Byte lane VREF IOM (Used only by D4MU IOs) |
| PSU_DDR_PHY_DX7GCR4_RESERVED_31_29 0x0 |
| |
| Byte Lane VREF Pad Enable |
| PSU_DDR_PHY_DX7GCR4_DXREFPEN 0x0 |
| |
| Byte Lane Internal VREF Enable |
| PSU_DDR_PHY_DX7GCR4_DXREFEEN 0x3 |
| |
| Byte Lane Single-End VREF Enable |
| PSU_DDR_PHY_DX7GCR4_DXREFSEN 0x1 |
| |
| Reserved. Returns zeros on reads. |
| PSU_DDR_PHY_DX7GCR4_RESERVED_24 0x0 |
| |
| External VREF generator REFSEL range select |
| PSU_DDR_PHY_DX7GCR4_DXREFESELRANGE 0x0 |
| |
| Byte Lane External VREF Select |
| PSU_DDR_PHY_DX7GCR4_DXREFESEL 0x0 |
| |
| Single ended VREF generator REFSEL range select |
| PSU_DDR_PHY_DX7GCR4_DXREFSSELRANGE 0x1 |
| |
| Byte Lane Single-End VREF Select |
| PSU_DDR_PHY_DX7GCR4_DXREFSSEL 0x30 |
| |
| Reserved. Returns zeros on reads. |
| PSU_DDR_PHY_DX7GCR4_RESERVED_7_6 0x0 |
| |
| VREF Enable control for DQ IO (Single Ended) buffers of a byte lane. |
| PSU_DDR_PHY_DX7GCR4_DXREFIEN 0xf |
| |
| VRMON control for DQ IO (Single Ended) buffers of a byte lane. |
| PSU_DDR_PHY_DX7GCR4_DXREFIMON 0x0 |
| |
| DATX8 n General Configuration Register 4 |
| (OFFSET, MASK, VALUE) (0XFD080E10, 0xFFFFFFFFU ,0x0E00B03CU) |
| RegMask = (DDR_PHY_DX7GCR4_RESERVED_31_29_MASK | DDR_PHY_DX7GCR4_DXREFPEN_MASK | DDR_PHY_DX7GCR4_DXREFEEN_MASK | DDR_PHY_DX7GCR4_DXREFSEN_MASK | DDR_PHY_DX7GCR4_RESERVED_24_MASK | DDR_PHY_DX7GCR4_DXREFESELRANGE_MASK | DDR_PHY_DX7GCR4_DXREFESEL_MASK | DDR_PHY_DX7GCR4_DXREFSSELRANGE_MASK | DDR_PHY_DX7GCR4_DXREFSSEL_MASK | DDR_PHY_DX7GCR4_RESERVED_7_6_MASK | DDR_PHY_DX7GCR4_DXREFIEN_MASK | DDR_PHY_DX7GCR4_DXREFIMON_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDR_PHY_DX7GCR4_RESERVED_31_29_SHIFT |
| | 0x00000000U << DDR_PHY_DX7GCR4_DXREFPEN_SHIFT |
| | 0x00000003U << DDR_PHY_DX7GCR4_DXREFEEN_SHIFT |
| | 0x00000001U << DDR_PHY_DX7GCR4_DXREFSEN_SHIFT |
| | 0x00000000U << DDR_PHY_DX7GCR4_RESERVED_24_SHIFT |
| | 0x00000000U << DDR_PHY_DX7GCR4_DXREFESELRANGE_SHIFT |
| | 0x00000000U << DDR_PHY_DX7GCR4_DXREFESEL_SHIFT |
| | 0x00000001U << DDR_PHY_DX7GCR4_DXREFSSELRANGE_SHIFT |
| | 0x00000030U << DDR_PHY_DX7GCR4_DXREFSSEL_SHIFT |
| | 0x00000000U << DDR_PHY_DX7GCR4_RESERVED_7_6_SHIFT |
| | 0x0000000FU << DDR_PHY_DX7GCR4_DXREFIEN_SHIFT |
| | 0x00000000U << DDR_PHY_DX7GCR4_DXREFIMON_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDR_PHY_DX7GCR4_OFFSET ,0xFFFFFFFFU ,0x0E00B03CU); |
| /*############################################################################################################################ */ |
| |
| /*Register : DX7GCR5 @ 0XFD080E14</p> |
| |
| Reserved. Returns zeros on reads. |
| PSU_DDR_PHY_DX7GCR5_RESERVED_31 0x0 |
| |
| Byte Lane internal VREF Select for Rank 3 |
| PSU_DDR_PHY_DX7GCR5_DXREFISELR3 0x9 |
| |
| Reserved. Returns zeros on reads. |
| PSU_DDR_PHY_DX7GCR5_RESERVED_23 0x0 |
| |
| Byte Lane internal VREF Select for Rank 2 |
| PSU_DDR_PHY_DX7GCR5_DXREFISELR2 0x9 |
| |
| Reserved. Returns zeros on reads. |
| PSU_DDR_PHY_DX7GCR5_RESERVED_15 0x0 |
| |
| Byte Lane internal VREF Select for Rank 1 |
| PSU_DDR_PHY_DX7GCR5_DXREFISELR1 0x55 |
| |
| Reserved. Returns zeros on reads. |
| PSU_DDR_PHY_DX7GCR5_RESERVED_7 0x0 |
| |
| Byte Lane internal VREF Select for Rank 0 |
| PSU_DDR_PHY_DX7GCR5_DXREFISELR0 0x55 |
| |
| DATX8 n General Configuration Register 5 |
| (OFFSET, MASK, VALUE) (0XFD080E14, 0xFFFFFFFFU ,0x09095555U) |
| RegMask = (DDR_PHY_DX7GCR5_RESERVED_31_MASK | DDR_PHY_DX7GCR5_DXREFISELR3_MASK | DDR_PHY_DX7GCR5_RESERVED_23_MASK | DDR_PHY_DX7GCR5_DXREFISELR2_MASK | DDR_PHY_DX7GCR5_RESERVED_15_MASK | DDR_PHY_DX7GCR5_DXREFISELR1_MASK | DDR_PHY_DX7GCR5_RESERVED_7_MASK | DDR_PHY_DX7GCR5_DXREFISELR0_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDR_PHY_DX7GCR5_RESERVED_31_SHIFT |
| | 0x00000009U << DDR_PHY_DX7GCR5_DXREFISELR3_SHIFT |
| | 0x00000000U << DDR_PHY_DX7GCR5_RESERVED_23_SHIFT |
| | 0x00000009U << DDR_PHY_DX7GCR5_DXREFISELR2_SHIFT |
| | 0x00000000U << DDR_PHY_DX7GCR5_RESERVED_15_SHIFT |
| | 0x00000055U << DDR_PHY_DX7GCR5_DXREFISELR1_SHIFT |
| | 0x00000000U << DDR_PHY_DX7GCR5_RESERVED_7_SHIFT |
| | 0x00000055U << DDR_PHY_DX7GCR5_DXREFISELR0_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDR_PHY_DX7GCR5_OFFSET ,0xFFFFFFFFU ,0x09095555U); |
| /*############################################################################################################################ */ |
| |
| /*Register : DX7GCR6 @ 0XFD080E18</p> |
| |
| Reserved. Returns zeros on reads. |
| PSU_DDR_PHY_DX7GCR6_RESERVED_31_30 0x0 |
| |
| DRAM DQ VREF Select for Rank3 |
| PSU_DDR_PHY_DX7GCR6_DXDQVREFR3 0x9 |
| |
| Reserved. Returns zeros on reads. |
| PSU_DDR_PHY_DX7GCR6_RESERVED_23_22 0x0 |
| |
| DRAM DQ VREF Select for Rank2 |
| PSU_DDR_PHY_DX7GCR6_DXDQVREFR2 0x9 |
| |
| Reserved. Returns zeros on reads. |
| PSU_DDR_PHY_DX7GCR6_RESERVED_15_14 0x0 |
| |
| DRAM DQ VREF Select for Rank1 |
| PSU_DDR_PHY_DX7GCR6_DXDQVREFR1 0x2b |
| |
| Reserved. Returns zeros on reads. |
| PSU_DDR_PHY_DX7GCR6_RESERVED_7_6 0x0 |
| |
| DRAM DQ VREF Select for Rank0 |
| PSU_DDR_PHY_DX7GCR6_DXDQVREFR0 0x2b |
| |
| DATX8 n General Configuration Register 6 |
| (OFFSET, MASK, VALUE) (0XFD080E18, 0xFFFFFFFFU ,0x09092B2BU) |
| RegMask = (DDR_PHY_DX7GCR6_RESERVED_31_30_MASK | DDR_PHY_DX7GCR6_DXDQVREFR3_MASK | DDR_PHY_DX7GCR6_RESERVED_23_22_MASK | DDR_PHY_DX7GCR6_DXDQVREFR2_MASK | DDR_PHY_DX7GCR6_RESERVED_15_14_MASK | DDR_PHY_DX7GCR6_DXDQVREFR1_MASK | DDR_PHY_DX7GCR6_RESERVED_7_6_MASK | DDR_PHY_DX7GCR6_DXDQVREFR0_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDR_PHY_DX7GCR6_RESERVED_31_30_SHIFT |
| | 0x00000009U << DDR_PHY_DX7GCR6_DXDQVREFR3_SHIFT |
| | 0x00000000U << DDR_PHY_DX7GCR6_RESERVED_23_22_SHIFT |
| | 0x00000009U << DDR_PHY_DX7GCR6_DXDQVREFR2_SHIFT |
| | 0x00000000U << DDR_PHY_DX7GCR6_RESERVED_15_14_SHIFT |
| | 0x0000002BU << DDR_PHY_DX7GCR6_DXDQVREFR1_SHIFT |
| | 0x00000000U << DDR_PHY_DX7GCR6_RESERVED_7_6_SHIFT |
| | 0x0000002BU << DDR_PHY_DX7GCR6_DXDQVREFR0_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDR_PHY_DX7GCR6_OFFSET ,0xFFFFFFFFU ,0x09092B2BU); |
| /*############################################################################################################################ */ |
| |
| /*Register : DX7LCDLR2 @ 0XFD080E88</p> |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DX7LCDLR2_RESERVED_31_25 0x0 |
| |
| Reserved. Caution, do not write to this register field. |
| PSU_DDR_PHY_DX7LCDLR2_RESERVED_24_16 0x0 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DX7LCDLR2_RESERVED_15_9 0x0 |
| |
| Read DQS Gating Delay |
| PSU_DDR_PHY_DX7LCDLR2_DQSGD 0xa |
| |
| DATX8 n Local Calibrated Delay Line Register 2 |
| (OFFSET, MASK, VALUE) (0XFD080E88, 0xFFFFFFFFU ,0x0000000AU) |
| RegMask = (DDR_PHY_DX7LCDLR2_RESERVED_31_25_MASK | DDR_PHY_DX7LCDLR2_RESERVED_24_16_MASK | DDR_PHY_DX7LCDLR2_RESERVED_15_9_MASK | DDR_PHY_DX7LCDLR2_DQSGD_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDR_PHY_DX7LCDLR2_RESERVED_31_25_SHIFT |
| | 0x00000000U << DDR_PHY_DX7LCDLR2_RESERVED_24_16_SHIFT |
| | 0x00000000U << DDR_PHY_DX7LCDLR2_RESERVED_15_9_SHIFT |
| | 0x0000000AU << DDR_PHY_DX7LCDLR2_DQSGD_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDR_PHY_DX7LCDLR2_OFFSET ,0xFFFFFFFFU ,0x0000000AU); |
| /*############################################################################################################################ */ |
| |
| /*Register : DX7GTR0 @ 0XFD080EC0</p> |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DX7GTR0_RESERVED_31_24 0x0 |
| |
| DQ Write Path Latency Pipeline |
| PSU_DDR_PHY_DX7GTR0_WDQSL 0x0 |
| |
| Reserved. Caution, do not write to this register field. |
| PSU_DDR_PHY_DX7GTR0_RESERVED_23_20 0x0 |
| |
| Write Leveling System Latency |
| PSU_DDR_PHY_DX7GTR0_WLSL 0x2 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DX7GTR0_RESERVED_15_13 0x0 |
| |
| Reserved. Caution, do not write to this register field. |
| PSU_DDR_PHY_DX7GTR0_RESERVED_12_8 0x0 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DX7GTR0_RESERVED_7_5 0x0 |
| |
| DQS Gating System Latency |
| PSU_DDR_PHY_DX7GTR0_DGSL 0x0 |
| |
| DATX8 n General Timing Register 0 |
| (OFFSET, MASK, VALUE) (0XFD080EC0, 0xFFFFFFFFU ,0x00020000U) |
| RegMask = (DDR_PHY_DX7GTR0_RESERVED_31_24_MASK | DDR_PHY_DX7GTR0_WDQSL_MASK | DDR_PHY_DX7GTR0_RESERVED_23_20_MASK | DDR_PHY_DX7GTR0_WLSL_MASK | DDR_PHY_DX7GTR0_RESERVED_15_13_MASK | DDR_PHY_DX7GTR0_RESERVED_12_8_MASK | DDR_PHY_DX7GTR0_RESERVED_7_5_MASK | DDR_PHY_DX7GTR0_DGSL_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDR_PHY_DX7GTR0_RESERVED_31_24_SHIFT |
| | 0x00000000U << DDR_PHY_DX7GTR0_WDQSL_SHIFT |
| | 0x00000000U << DDR_PHY_DX7GTR0_RESERVED_23_20_SHIFT |
| | 0x00000002U << DDR_PHY_DX7GTR0_WLSL_SHIFT |
| | 0x00000000U << DDR_PHY_DX7GTR0_RESERVED_15_13_SHIFT |
| | 0x00000000U << DDR_PHY_DX7GTR0_RESERVED_12_8_SHIFT |
| | 0x00000000U << DDR_PHY_DX7GTR0_RESERVED_7_5_SHIFT |
| | 0x00000000U << DDR_PHY_DX7GTR0_DGSL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDR_PHY_DX7GTR0_OFFSET ,0xFFFFFFFFU ,0x00020000U); |
| /*############################################################################################################################ */ |
| |
| /*Register : DX8GCR0 @ 0XFD080F00</p> |
| |
| Calibration Bypass |
| PSU_DDR_PHY_DX8GCR0_CALBYP 0x0 |
| |
| Master Delay Line Enable |
| PSU_DDR_PHY_DX8GCR0_MDLEN 0x1 |
| |
| Configurable ODT(TE) Phase Shift |
| PSU_DDR_PHY_DX8GCR0_CODTSHFT 0x0 |
| |
| DQS Duty Cycle Correction |
| PSU_DDR_PHY_DX8GCR0_DQSDCC 0x0 |
| |
| Number of Cycles ( in terms of ctl_clk) to generate ctl_dx_get_static_rd input for the respective bypte lane of the PHY |
| PSU_DDR_PHY_DX8GCR0_RDDLY 0x8 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DX8GCR0_RESERVED_19_14 0x0 |
| |
| DQSNSE Power Down Receiver |
| PSU_DDR_PHY_DX8GCR0_DQSNSEPDR 0x0 |
| |
| DQSSE Power Down Receiver |
| PSU_DDR_PHY_DX8GCR0_DQSSEPDR 0x0 |
| |
| RTT On Additive Latency |
| PSU_DDR_PHY_DX8GCR0_RTTOAL 0x0 |
| |
| RTT Output Hold |
| PSU_DDR_PHY_DX8GCR0_RTTOH 0x3 |
| |
| Configurable PDR Phase Shift |
| PSU_DDR_PHY_DX8GCR0_CPDRSHFT 0x0 |
| |
| DQSR Power Down |
| PSU_DDR_PHY_DX8GCR0_DQSRPD 0x0 |
| |
| DQSG Power Down Receiver |
| PSU_DDR_PHY_DX8GCR0_DQSGPDR 0x1 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DX8GCR0_RESERVED_4 0x0 |
| |
| DQSG On-Die Termination |
| PSU_DDR_PHY_DX8GCR0_DQSGODT 0x0 |
| |
| DQSG Output Enable |
| PSU_DDR_PHY_DX8GCR0_DQSGOE 0x1 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DX8GCR0_RESERVED_1_0 0x0 |
| |
| DATX8 n General Configuration Register 0 |
| (OFFSET, MASK, VALUE) (0XFD080F00, 0xFFFFFFFFU ,0x40800624U) |
| RegMask = (DDR_PHY_DX8GCR0_CALBYP_MASK | DDR_PHY_DX8GCR0_MDLEN_MASK | DDR_PHY_DX8GCR0_CODTSHFT_MASK | DDR_PHY_DX8GCR0_DQSDCC_MASK | DDR_PHY_DX8GCR0_RDDLY_MASK | DDR_PHY_DX8GCR0_RESERVED_19_14_MASK | DDR_PHY_DX8GCR0_DQSNSEPDR_MASK | DDR_PHY_DX8GCR0_DQSSEPDR_MASK | DDR_PHY_DX8GCR0_RTTOAL_MASK | DDR_PHY_DX8GCR0_RTTOH_MASK | DDR_PHY_DX8GCR0_CPDRSHFT_MASK | DDR_PHY_DX8GCR0_DQSRPD_MASK | DDR_PHY_DX8GCR0_DQSGPDR_MASK | DDR_PHY_DX8GCR0_RESERVED_4_MASK | DDR_PHY_DX8GCR0_DQSGODT_MASK | DDR_PHY_DX8GCR0_DQSGOE_MASK | DDR_PHY_DX8GCR0_RESERVED_1_0_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDR_PHY_DX8GCR0_CALBYP_SHIFT |
| | 0x00000001U << DDR_PHY_DX8GCR0_MDLEN_SHIFT |
| | 0x00000000U << DDR_PHY_DX8GCR0_CODTSHFT_SHIFT |
| | 0x00000000U << DDR_PHY_DX8GCR0_DQSDCC_SHIFT |
| | 0x00000008U << DDR_PHY_DX8GCR0_RDDLY_SHIFT |
| | 0x00000000U << DDR_PHY_DX8GCR0_RESERVED_19_14_SHIFT |
| | 0x00000000U << DDR_PHY_DX8GCR0_DQSNSEPDR_SHIFT |
| | 0x00000000U << DDR_PHY_DX8GCR0_DQSSEPDR_SHIFT |
| | 0x00000000U << DDR_PHY_DX8GCR0_RTTOAL_SHIFT |
| | 0x00000003U << DDR_PHY_DX8GCR0_RTTOH_SHIFT |
| | 0x00000000U << DDR_PHY_DX8GCR0_CPDRSHFT_SHIFT |
| | 0x00000000U << DDR_PHY_DX8GCR0_DQSRPD_SHIFT |
| | 0x00000001U << DDR_PHY_DX8GCR0_DQSGPDR_SHIFT |
| | 0x00000000U << DDR_PHY_DX8GCR0_RESERVED_4_SHIFT |
| | 0x00000000U << DDR_PHY_DX8GCR0_DQSGODT_SHIFT |
| | 0x00000001U << DDR_PHY_DX8GCR0_DQSGOE_SHIFT |
| | 0x00000000U << DDR_PHY_DX8GCR0_RESERVED_1_0_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDR_PHY_DX8GCR0_OFFSET ,0xFFFFFFFFU ,0x40800624U); |
| /*############################################################################################################################ */ |
| |
| /*Register : DX8GCR1 @ 0XFD080F04</p> |
| |
| Enables the PDR mode for DQ[7:0] |
| PSU_DDR_PHY_DX8GCR1_DXPDRMODE 0x0 |
| |
| Reserved. Returns zeroes on reads. |
| PSU_DDR_PHY_DX8GCR1_RESERVED_15 0x0 |
| |
| Select the delayed or non-delayed read data strobe # |
| PSU_DDR_PHY_DX8GCR1_QSNSEL 0x1 |
| |
| Select the delayed or non-delayed read data strobe |
| PSU_DDR_PHY_DX8GCR1_QSSEL 0x1 |
| |
| Enables Read Data Strobe in a byte lane |
| PSU_DDR_PHY_DX8GCR1_OEEN 0x1 |
| |
| Enables PDR in a byte lane |
| PSU_DDR_PHY_DX8GCR1_PDREN 0x1 |
| |
| Enables ODT/TE in a byte lane |
| PSU_DDR_PHY_DX8GCR1_TEEN 0x1 |
| |
| Enables Write Data strobe in a byte lane |
| PSU_DDR_PHY_DX8GCR1_DSEN 0x1 |
| |
| Enables DM pin in a byte lane |
| PSU_DDR_PHY_DX8GCR1_DMEN 0x1 |
| |
| Enables DQ corresponding to each bit in a byte |
| PSU_DDR_PHY_DX8GCR1_DQEN 0x0 |
| |
| DATX8 n General Configuration Register 1 |
| (OFFSET, MASK, VALUE) (0XFD080F04, 0xFFFFFFFFU ,0x00007F00U) |
| RegMask = (DDR_PHY_DX8GCR1_DXPDRMODE_MASK | DDR_PHY_DX8GCR1_RESERVED_15_MASK | DDR_PHY_DX8GCR1_QSNSEL_MASK | DDR_PHY_DX8GCR1_QSSEL_MASK | DDR_PHY_DX8GCR1_OEEN_MASK | DDR_PHY_DX8GCR1_PDREN_MASK | DDR_PHY_DX8GCR1_TEEN_MASK | DDR_PHY_DX8GCR1_DSEN_MASK | DDR_PHY_DX8GCR1_DMEN_MASK | DDR_PHY_DX8GCR1_DQEN_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDR_PHY_DX8GCR1_DXPDRMODE_SHIFT |
| | 0x00000000U << DDR_PHY_DX8GCR1_RESERVED_15_SHIFT |
| | 0x00000001U << DDR_PHY_DX8GCR1_QSNSEL_SHIFT |
| | 0x00000001U << DDR_PHY_DX8GCR1_QSSEL_SHIFT |
| | 0x00000001U << DDR_PHY_DX8GCR1_OEEN_SHIFT |
| | 0x00000001U << DDR_PHY_DX8GCR1_PDREN_SHIFT |
| | 0x00000001U << DDR_PHY_DX8GCR1_TEEN_SHIFT |
| | 0x00000001U << DDR_PHY_DX8GCR1_DSEN_SHIFT |
| | 0x00000001U << DDR_PHY_DX8GCR1_DMEN_SHIFT |
| | 0x00000000U << DDR_PHY_DX8GCR1_DQEN_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDR_PHY_DX8GCR1_OFFSET ,0xFFFFFFFFU ,0x00007F00U); |
| /*############################################################################################################################ */ |
| |
| /*Register : DX8GCR4 @ 0XFD080F10</p> |
| |
| Byte lane VREF IOM (Used only by D4MU IOs) |
| PSU_DDR_PHY_DX8GCR4_RESERVED_31_29 0x0 |
| |
| Byte Lane VREF Pad Enable |
| PSU_DDR_PHY_DX8GCR4_DXREFPEN 0x0 |
| |
| Byte Lane Internal VREF Enable |
| PSU_DDR_PHY_DX8GCR4_DXREFEEN 0x3 |
| |
| Byte Lane Single-End VREF Enable |
| PSU_DDR_PHY_DX8GCR4_DXREFSEN 0x1 |
| |
| Reserved. Returns zeros on reads. |
| PSU_DDR_PHY_DX8GCR4_RESERVED_24 0x0 |
| |
| External VREF generator REFSEL range select |
| PSU_DDR_PHY_DX8GCR4_DXREFESELRANGE 0x0 |
| |
| Byte Lane External VREF Select |
| PSU_DDR_PHY_DX8GCR4_DXREFESEL 0x0 |
| |
| Single ended VREF generator REFSEL range select |
| PSU_DDR_PHY_DX8GCR4_DXREFSSELRANGE 0x1 |
| |
| Byte Lane Single-End VREF Select |
| PSU_DDR_PHY_DX8GCR4_DXREFSSEL 0x30 |
| |
| Reserved. Returns zeros on reads. |
| PSU_DDR_PHY_DX8GCR4_RESERVED_7_6 0x0 |
| |
| VREF Enable control for DQ IO (Single Ended) buffers of a byte lane. |
| PSU_DDR_PHY_DX8GCR4_DXREFIEN 0xf |
| |
| VRMON control for DQ IO (Single Ended) buffers of a byte lane. |
| PSU_DDR_PHY_DX8GCR4_DXREFIMON 0x0 |
| |
| DATX8 n General Configuration Register 4 |
| (OFFSET, MASK, VALUE) (0XFD080F10, 0xFFFFFFFFU ,0x0E00B03CU) |
| RegMask = (DDR_PHY_DX8GCR4_RESERVED_31_29_MASK | DDR_PHY_DX8GCR4_DXREFPEN_MASK | DDR_PHY_DX8GCR4_DXREFEEN_MASK | DDR_PHY_DX8GCR4_DXREFSEN_MASK | DDR_PHY_DX8GCR4_RESERVED_24_MASK | DDR_PHY_DX8GCR4_DXREFESELRANGE_MASK | DDR_PHY_DX8GCR4_DXREFESEL_MASK | DDR_PHY_DX8GCR4_DXREFSSELRANGE_MASK | DDR_PHY_DX8GCR4_DXREFSSEL_MASK | DDR_PHY_DX8GCR4_RESERVED_7_6_MASK | DDR_PHY_DX8GCR4_DXREFIEN_MASK | DDR_PHY_DX8GCR4_DXREFIMON_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDR_PHY_DX8GCR4_RESERVED_31_29_SHIFT |
| | 0x00000000U << DDR_PHY_DX8GCR4_DXREFPEN_SHIFT |
| | 0x00000003U << DDR_PHY_DX8GCR4_DXREFEEN_SHIFT |
| | 0x00000001U << DDR_PHY_DX8GCR4_DXREFSEN_SHIFT |
| | 0x00000000U << DDR_PHY_DX8GCR4_RESERVED_24_SHIFT |
| | 0x00000000U << DDR_PHY_DX8GCR4_DXREFESELRANGE_SHIFT |
| | 0x00000000U << DDR_PHY_DX8GCR4_DXREFESEL_SHIFT |
| | 0x00000001U << DDR_PHY_DX8GCR4_DXREFSSELRANGE_SHIFT |
| | 0x00000030U << DDR_PHY_DX8GCR4_DXREFSSEL_SHIFT |
| | 0x00000000U << DDR_PHY_DX8GCR4_RESERVED_7_6_SHIFT |
| | 0x0000000FU << DDR_PHY_DX8GCR4_DXREFIEN_SHIFT |
| | 0x00000000U << DDR_PHY_DX8GCR4_DXREFIMON_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDR_PHY_DX8GCR4_OFFSET ,0xFFFFFFFFU ,0x0E00B03CU); |
| /*############################################################################################################################ */ |
| |
| /*Register : DX8GCR5 @ 0XFD080F14</p> |
| |
| Reserved. Returns zeros on reads. |
| PSU_DDR_PHY_DX8GCR5_RESERVED_31 0x0 |
| |
| Byte Lane internal VREF Select for Rank 3 |
| PSU_DDR_PHY_DX8GCR5_DXREFISELR3 0x9 |
| |
| Reserved. Returns zeros on reads. |
| PSU_DDR_PHY_DX8GCR5_RESERVED_23 0x0 |
| |
| Byte Lane internal VREF Select for Rank 2 |
| PSU_DDR_PHY_DX8GCR5_DXREFISELR2 0x9 |
| |
| Reserved. Returns zeros on reads. |
| PSU_DDR_PHY_DX8GCR5_RESERVED_15 0x0 |
| |
| Byte Lane internal VREF Select for Rank 1 |
| PSU_DDR_PHY_DX8GCR5_DXREFISELR1 0x55 |
| |
| Reserved. Returns zeros on reads. |
| PSU_DDR_PHY_DX8GCR5_RESERVED_7 0x0 |
| |
| Byte Lane internal VREF Select for Rank 0 |
| PSU_DDR_PHY_DX8GCR5_DXREFISELR0 0x55 |
| |
| DATX8 n General Configuration Register 5 |
| (OFFSET, MASK, VALUE) (0XFD080F14, 0xFFFFFFFFU ,0x09095555U) |
| RegMask = (DDR_PHY_DX8GCR5_RESERVED_31_MASK | DDR_PHY_DX8GCR5_DXREFISELR3_MASK | DDR_PHY_DX8GCR5_RESERVED_23_MASK | DDR_PHY_DX8GCR5_DXREFISELR2_MASK | DDR_PHY_DX8GCR5_RESERVED_15_MASK | DDR_PHY_DX8GCR5_DXREFISELR1_MASK | DDR_PHY_DX8GCR5_RESERVED_7_MASK | DDR_PHY_DX8GCR5_DXREFISELR0_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDR_PHY_DX8GCR5_RESERVED_31_SHIFT |
| | 0x00000009U << DDR_PHY_DX8GCR5_DXREFISELR3_SHIFT |
| | 0x00000000U << DDR_PHY_DX8GCR5_RESERVED_23_SHIFT |
| | 0x00000009U << DDR_PHY_DX8GCR5_DXREFISELR2_SHIFT |
| | 0x00000000U << DDR_PHY_DX8GCR5_RESERVED_15_SHIFT |
| | 0x00000055U << DDR_PHY_DX8GCR5_DXREFISELR1_SHIFT |
| | 0x00000000U << DDR_PHY_DX8GCR5_RESERVED_7_SHIFT |
| | 0x00000055U << DDR_PHY_DX8GCR5_DXREFISELR0_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDR_PHY_DX8GCR5_OFFSET ,0xFFFFFFFFU ,0x09095555U); |
| /*############################################################################################################################ */ |
| |
| /*Register : DX8GCR6 @ 0XFD080F18</p> |
| |
| Reserved. Returns zeros on reads. |
| PSU_DDR_PHY_DX8GCR6_RESERVED_31_30 0x0 |
| |
| DRAM DQ VREF Select for Rank3 |
| PSU_DDR_PHY_DX8GCR6_DXDQVREFR3 0x9 |
| |
| Reserved. Returns zeros on reads. |
| PSU_DDR_PHY_DX8GCR6_RESERVED_23_22 0x0 |
| |
| DRAM DQ VREF Select for Rank2 |
| PSU_DDR_PHY_DX8GCR6_DXDQVREFR2 0x9 |
| |
| Reserved. Returns zeros on reads. |
| PSU_DDR_PHY_DX8GCR6_RESERVED_15_14 0x0 |
| |
| DRAM DQ VREF Select for Rank1 |
| PSU_DDR_PHY_DX8GCR6_DXDQVREFR1 0x2b |
| |
| Reserved. Returns zeros on reads. |
| PSU_DDR_PHY_DX8GCR6_RESERVED_7_6 0x0 |
| |
| DRAM DQ VREF Select for Rank0 |
| PSU_DDR_PHY_DX8GCR6_DXDQVREFR0 0x2b |
| |
| DATX8 n General Configuration Register 6 |
| (OFFSET, MASK, VALUE) (0XFD080F18, 0xFFFFFFFFU ,0x09092B2BU) |
| RegMask = (DDR_PHY_DX8GCR6_RESERVED_31_30_MASK | DDR_PHY_DX8GCR6_DXDQVREFR3_MASK | DDR_PHY_DX8GCR6_RESERVED_23_22_MASK | DDR_PHY_DX8GCR6_DXDQVREFR2_MASK | DDR_PHY_DX8GCR6_RESERVED_15_14_MASK | DDR_PHY_DX8GCR6_DXDQVREFR1_MASK | DDR_PHY_DX8GCR6_RESERVED_7_6_MASK | DDR_PHY_DX8GCR6_DXDQVREFR0_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDR_PHY_DX8GCR6_RESERVED_31_30_SHIFT |
| | 0x00000009U << DDR_PHY_DX8GCR6_DXDQVREFR3_SHIFT |
| | 0x00000000U << DDR_PHY_DX8GCR6_RESERVED_23_22_SHIFT |
| | 0x00000009U << DDR_PHY_DX8GCR6_DXDQVREFR2_SHIFT |
| | 0x00000000U << DDR_PHY_DX8GCR6_RESERVED_15_14_SHIFT |
| | 0x0000002BU << DDR_PHY_DX8GCR6_DXDQVREFR1_SHIFT |
| | 0x00000000U << DDR_PHY_DX8GCR6_RESERVED_7_6_SHIFT |
| | 0x0000002BU << DDR_PHY_DX8GCR6_DXDQVREFR0_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDR_PHY_DX8GCR6_OFFSET ,0xFFFFFFFFU ,0x09092B2BU); |
| /*############################################################################################################################ */ |
| |
| /*Register : DX8LCDLR2 @ 0XFD080F88</p> |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DX8LCDLR2_RESERVED_31_25 0x0 |
| |
| Reserved. Caution, do not write to this register field. |
| PSU_DDR_PHY_DX8LCDLR2_RESERVED_24_16 0x0 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DX8LCDLR2_RESERVED_15_9 0x0 |
| |
| Read DQS Gating Delay |
| PSU_DDR_PHY_DX8LCDLR2_DQSGD 0x0 |
| |
| DATX8 n Local Calibrated Delay Line Register 2 |
| (OFFSET, MASK, VALUE) (0XFD080F88, 0xFFFFFFFFU ,0x00000000U) |
| RegMask = (DDR_PHY_DX8LCDLR2_RESERVED_31_25_MASK | DDR_PHY_DX8LCDLR2_RESERVED_24_16_MASK | DDR_PHY_DX8LCDLR2_RESERVED_15_9_MASK | DDR_PHY_DX8LCDLR2_DQSGD_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDR_PHY_DX8LCDLR2_RESERVED_31_25_SHIFT |
| | 0x00000000U << DDR_PHY_DX8LCDLR2_RESERVED_24_16_SHIFT |
| | 0x00000000U << DDR_PHY_DX8LCDLR2_RESERVED_15_9_SHIFT |
| | 0x00000000U << DDR_PHY_DX8LCDLR2_DQSGD_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDR_PHY_DX8LCDLR2_OFFSET ,0xFFFFFFFFU ,0x00000000U); |
| /*############################################################################################################################ */ |
| |
| /*Register : DX8GTR0 @ 0XFD080FC0</p> |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DX8GTR0_RESERVED_31_24 0x0 |
| |
| DQ Write Path Latency Pipeline |
| PSU_DDR_PHY_DX8GTR0_WDQSL 0x0 |
| |
| Reserved. Caution, do not write to this register field. |
| PSU_DDR_PHY_DX8GTR0_RESERVED_23_20 0x0 |
| |
| Write Leveling System Latency |
| PSU_DDR_PHY_DX8GTR0_WLSL 0x2 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DX8GTR0_RESERVED_15_13 0x0 |
| |
| Reserved. Caution, do not write to this register field. |
| PSU_DDR_PHY_DX8GTR0_RESERVED_12_8 0x0 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DX8GTR0_RESERVED_7_5 0x0 |
| |
| DQS Gating System Latency |
| PSU_DDR_PHY_DX8GTR0_DGSL 0x0 |
| |
| DATX8 n General Timing Register 0 |
| (OFFSET, MASK, VALUE) (0XFD080FC0, 0xFFFFFFFFU ,0x00020000U) |
| RegMask = (DDR_PHY_DX8GTR0_RESERVED_31_24_MASK | DDR_PHY_DX8GTR0_WDQSL_MASK | DDR_PHY_DX8GTR0_RESERVED_23_20_MASK | DDR_PHY_DX8GTR0_WLSL_MASK | DDR_PHY_DX8GTR0_RESERVED_15_13_MASK | DDR_PHY_DX8GTR0_RESERVED_12_8_MASK | DDR_PHY_DX8GTR0_RESERVED_7_5_MASK | DDR_PHY_DX8GTR0_DGSL_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDR_PHY_DX8GTR0_RESERVED_31_24_SHIFT |
| | 0x00000000U << DDR_PHY_DX8GTR0_WDQSL_SHIFT |
| | 0x00000000U << DDR_PHY_DX8GTR0_RESERVED_23_20_SHIFT |
| | 0x00000002U << DDR_PHY_DX8GTR0_WLSL_SHIFT |
| | 0x00000000U << DDR_PHY_DX8GTR0_RESERVED_15_13_SHIFT |
| | 0x00000000U << DDR_PHY_DX8GTR0_RESERVED_12_8_SHIFT |
| | 0x00000000U << DDR_PHY_DX8GTR0_RESERVED_7_5_SHIFT |
| | 0x00000000U << DDR_PHY_DX8GTR0_DGSL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDR_PHY_DX8GTR0_OFFSET ,0xFFFFFFFFU ,0x00020000U); |
| /*############################################################################################################################ */ |
| |
| /*Register : DX8SL0DQSCTL @ 0XFD08141C</p> |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DX8SL0DQSCTL_RESERVED_31_25 0x0 |
| |
| Read Path Rise-to-Rise Mode |
| PSU_DDR_PHY_DX8SL0DQSCTL_RRRMODE 0x1 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DX8SL0DQSCTL_RESERVED_23_22 0x0 |
| |
| Write Path Rise-to-Rise Mode |
| PSU_DDR_PHY_DX8SL0DQSCTL_WRRMODE 0x1 |
| |
| DQS Gate Extension |
| PSU_DDR_PHY_DX8SL0DQSCTL_DQSGX 0x0 |
| |
| Low Power PLL Power Down |
| PSU_DDR_PHY_DX8SL0DQSCTL_LPPLLPD 0x1 |
| |
| Low Power I/O Power Down |
| PSU_DDR_PHY_DX8SL0DQSCTL_LPIOPD 0x1 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DX8SL0DQSCTL_RESERVED_16_15 0x0 |
| |
| QS Counter Enable |
| PSU_DDR_PHY_DX8SL0DQSCTL_QSCNTEN 0x1 |
| |
| Unused DQ I/O Mode |
| PSU_DDR_PHY_DX8SL0DQSCTL_UDQIOM 0x0 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DX8SL0DQSCTL_RESERVED_12_10 0x0 |
| |
| Data Slew Rate |
| PSU_DDR_PHY_DX8SL0DQSCTL_DXSR 0x3 |
| |
| DQS_N Resistor |
| PSU_DDR_PHY_DX8SL0DQSCTL_DQSNRES 0xc |
| |
| DQS Resistor |
| PSU_DDR_PHY_DX8SL0DQSCTL_DQSRES 0x4 |
| |
| DATX8 0-1 DQS Control Register |
| (OFFSET, MASK, VALUE) (0XFD08141C, 0xFFFFFFFFU ,0x012643C4U) |
| RegMask = (DDR_PHY_DX8SL0DQSCTL_RESERVED_31_25_MASK | DDR_PHY_DX8SL0DQSCTL_RRRMODE_MASK | DDR_PHY_DX8SL0DQSCTL_RESERVED_23_22_MASK | DDR_PHY_DX8SL0DQSCTL_WRRMODE_MASK | DDR_PHY_DX8SL0DQSCTL_DQSGX_MASK | DDR_PHY_DX8SL0DQSCTL_LPPLLPD_MASK | DDR_PHY_DX8SL0DQSCTL_LPIOPD_MASK | DDR_PHY_DX8SL0DQSCTL_RESERVED_16_15_MASK | DDR_PHY_DX8SL0DQSCTL_QSCNTEN_MASK | DDR_PHY_DX8SL0DQSCTL_UDQIOM_MASK | DDR_PHY_DX8SL0DQSCTL_RESERVED_12_10_MASK | DDR_PHY_DX8SL0DQSCTL_DXSR_MASK | DDR_PHY_DX8SL0DQSCTL_DQSNRES_MASK | DDR_PHY_DX8SL0DQSCTL_DQSRES_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDR_PHY_DX8SL0DQSCTL_RESERVED_31_25_SHIFT |
| | 0x00000001U << DDR_PHY_DX8SL0DQSCTL_RRRMODE_SHIFT |
| | 0x00000000U << DDR_PHY_DX8SL0DQSCTL_RESERVED_23_22_SHIFT |
| | 0x00000001U << DDR_PHY_DX8SL0DQSCTL_WRRMODE_SHIFT |
| | 0x00000000U << DDR_PHY_DX8SL0DQSCTL_DQSGX_SHIFT |
| | 0x00000001U << DDR_PHY_DX8SL0DQSCTL_LPPLLPD_SHIFT |
| | 0x00000001U << DDR_PHY_DX8SL0DQSCTL_LPIOPD_SHIFT |
| | 0x00000000U << DDR_PHY_DX8SL0DQSCTL_RESERVED_16_15_SHIFT |
| | 0x00000001U << DDR_PHY_DX8SL0DQSCTL_QSCNTEN_SHIFT |
| | 0x00000000U << DDR_PHY_DX8SL0DQSCTL_UDQIOM_SHIFT |
| | 0x00000000U << DDR_PHY_DX8SL0DQSCTL_RESERVED_12_10_SHIFT |
| | 0x00000003U << DDR_PHY_DX8SL0DQSCTL_DXSR_SHIFT |
| | 0x0000000CU << DDR_PHY_DX8SL0DQSCTL_DQSNRES_SHIFT |
| | 0x00000004U << DDR_PHY_DX8SL0DQSCTL_DQSRES_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDR_PHY_DX8SL0DQSCTL_OFFSET ,0xFFFFFFFFU ,0x012643C4U); |
| /*############################################################################################################################ */ |
| |
| /*Register : DX8SL0DXCTL2 @ 0XFD08142C</p> |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DX8SL0DXCTL2_RESERVED_31_24 0x0 |
| |
| Configurable Read Data Enable |
| PSU_DDR_PHY_DX8SL0DXCTL2_CRDEN 0x0 |
| |
| OX Extension during Post-amble |
| PSU_DDR_PHY_DX8SL0DXCTL2_POSOEX 0x0 |
| |
| OE Extension during Pre-amble |
| PSU_DDR_PHY_DX8SL0DXCTL2_PREOEX 0x0 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DX8SL0DXCTL2_RESERVED_17 0x0 |
| |
| I/O Assisted Gate Select |
| PSU_DDR_PHY_DX8SL0DXCTL2_IOAG 0x0 |
| |
| I/O Loopback Select |
| PSU_DDR_PHY_DX8SL0DXCTL2_IOLB 0x0 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DX8SL0DXCTL2_RESERVED_14_13 0x0 |
| |
| Low Power Wakeup Threshold |
| PSU_DDR_PHY_DX8SL0DXCTL2_LPWAKEUP_THRSH 0xc |
| |
| Read Data Bus Inversion Enable |
| PSU_DDR_PHY_DX8SL0DXCTL2_RDBI 0x0 |
| |
| Write Data Bus Inversion Enable |
| PSU_DDR_PHY_DX8SL0DXCTL2_WDBI 0x0 |
| |
| PUB Read FIFO Bypass |
| PSU_DDR_PHY_DX8SL0DXCTL2_PRFBYP 0x0 |
| |
| DATX8 Receive FIFO Read Mode |
| PSU_DDR_PHY_DX8SL0DXCTL2_RDMODE 0x0 |
| |
| Disables the Read FIFO Reset |
| PSU_DDR_PHY_DX8SL0DXCTL2_DISRST 0x0 |
| |
| Read DQS Gate I/O Loopback |
| PSU_DDR_PHY_DX8SL0DXCTL2_DQSGLB 0x0 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DX8SL0DXCTL2_RESERVED_0 0x0 |
| |
| DATX8 0-1 DX Control Register 2 |
| (OFFSET, MASK, VALUE) (0XFD08142C, 0xFFFFFFFFU ,0x00001800U) |
| RegMask = (DDR_PHY_DX8SL0DXCTL2_RESERVED_31_24_MASK | DDR_PHY_DX8SL0DXCTL2_CRDEN_MASK | DDR_PHY_DX8SL0DXCTL2_POSOEX_MASK | DDR_PHY_DX8SL0DXCTL2_PREOEX_MASK | DDR_PHY_DX8SL0DXCTL2_RESERVED_17_MASK | DDR_PHY_DX8SL0DXCTL2_IOAG_MASK | DDR_PHY_DX8SL0DXCTL2_IOLB_MASK | DDR_PHY_DX8SL0DXCTL2_RESERVED_14_13_MASK | DDR_PHY_DX8SL0DXCTL2_LPWAKEUP_THRSH_MASK | DDR_PHY_DX8SL0DXCTL2_RDBI_MASK | DDR_PHY_DX8SL0DXCTL2_WDBI_MASK | DDR_PHY_DX8SL0DXCTL2_PRFBYP_MASK | DDR_PHY_DX8SL0DXCTL2_RDMODE_MASK | DDR_PHY_DX8SL0DXCTL2_DISRST_MASK | DDR_PHY_DX8SL0DXCTL2_DQSGLB_MASK | DDR_PHY_DX8SL0DXCTL2_RESERVED_0_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDR_PHY_DX8SL0DXCTL2_RESERVED_31_24_SHIFT |
| | 0x00000000U << DDR_PHY_DX8SL0DXCTL2_CRDEN_SHIFT |
| | 0x00000000U << DDR_PHY_DX8SL0DXCTL2_POSOEX_SHIFT |
| | 0x00000000U << DDR_PHY_DX8SL0DXCTL2_PREOEX_SHIFT |
| | 0x00000000U << DDR_PHY_DX8SL0DXCTL2_RESERVED_17_SHIFT |
| | 0x00000000U << DDR_PHY_DX8SL0DXCTL2_IOAG_SHIFT |
| | 0x00000000U << DDR_PHY_DX8SL0DXCTL2_IOLB_SHIFT |
| | 0x00000000U << DDR_PHY_DX8SL0DXCTL2_RESERVED_14_13_SHIFT |
| | 0x0000000CU << DDR_PHY_DX8SL0DXCTL2_LPWAKEUP_THRSH_SHIFT |
| | 0x00000000U << DDR_PHY_DX8SL0DXCTL2_RDBI_SHIFT |
| | 0x00000000U << DDR_PHY_DX8SL0DXCTL2_WDBI_SHIFT |
| | 0x00000000U << DDR_PHY_DX8SL0DXCTL2_PRFBYP_SHIFT |
| | 0x00000000U << DDR_PHY_DX8SL0DXCTL2_RDMODE_SHIFT |
| | 0x00000000U << DDR_PHY_DX8SL0DXCTL2_DISRST_SHIFT |
| | 0x00000000U << DDR_PHY_DX8SL0DXCTL2_DQSGLB_SHIFT |
| | 0x00000000U << DDR_PHY_DX8SL0DXCTL2_RESERVED_0_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDR_PHY_DX8SL0DXCTL2_OFFSET ,0xFFFFFFFFU ,0x00001800U); |
| /*############################################################################################################################ */ |
| |
| /*Register : DX8SL0IOCR @ 0XFD081430</p> |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DX8SL0IOCR_RESERVED_31 0x0 |
| |
| PVREF_DAC REFSEL range select |
| PSU_DDR_PHY_DX8SL0IOCR_DXDACRANGE 0x7 |
| |
| IOM bits for PVREF, PVREF_DAC and PVREFE cells in DX IO ring |
| PSU_DDR_PHY_DX8SL0IOCR_DXVREFIOM 0x0 |
| |
| DX IO Mode |
| PSU_DDR_PHY_DX8SL0IOCR_DXIOM 0x2 |
| |
| DX IO Transmitter Mode |
| PSU_DDR_PHY_DX8SL0IOCR_DXTXM 0x0 |
| |
| DX IO Receiver Mode |
| PSU_DDR_PHY_DX8SL0IOCR_DXRXM 0x0 |
| |
| DATX8 0-1 I/O Configuration Register |
| (OFFSET, MASK, VALUE) (0XFD081430, 0xFFFFFFFFU ,0x70800000U) |
| RegMask = (DDR_PHY_DX8SL0IOCR_RESERVED_31_MASK | DDR_PHY_DX8SL0IOCR_DXDACRANGE_MASK | DDR_PHY_DX8SL0IOCR_DXVREFIOM_MASK | DDR_PHY_DX8SL0IOCR_DXIOM_MASK | DDR_PHY_DX8SL0IOCR_DXTXM_MASK | DDR_PHY_DX8SL0IOCR_DXRXM_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDR_PHY_DX8SL0IOCR_RESERVED_31_SHIFT |
| | 0x00000007U << DDR_PHY_DX8SL0IOCR_DXDACRANGE_SHIFT |
| | 0x00000000U << DDR_PHY_DX8SL0IOCR_DXVREFIOM_SHIFT |
| | 0x00000002U << DDR_PHY_DX8SL0IOCR_DXIOM_SHIFT |
| | 0x00000000U << DDR_PHY_DX8SL0IOCR_DXTXM_SHIFT |
| | 0x00000000U << DDR_PHY_DX8SL0IOCR_DXRXM_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDR_PHY_DX8SL0IOCR_OFFSET ,0xFFFFFFFFU ,0x70800000U); |
| /*############################################################################################################################ */ |
| |
| /*Register : DX8SL1DQSCTL @ 0XFD08145C</p> |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DX8SL1DQSCTL_RESERVED_31_25 0x0 |
| |
| Read Path Rise-to-Rise Mode |
| PSU_DDR_PHY_DX8SL1DQSCTL_RRRMODE 0x1 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DX8SL1DQSCTL_RESERVED_23_22 0x0 |
| |
| Write Path Rise-to-Rise Mode |
| PSU_DDR_PHY_DX8SL1DQSCTL_WRRMODE 0x1 |
| |
| DQS Gate Extension |
| PSU_DDR_PHY_DX8SL1DQSCTL_DQSGX 0x0 |
| |
| Low Power PLL Power Down |
| PSU_DDR_PHY_DX8SL1DQSCTL_LPPLLPD 0x1 |
| |
| Low Power I/O Power Down |
| PSU_DDR_PHY_DX8SL1DQSCTL_LPIOPD 0x1 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DX8SL1DQSCTL_RESERVED_16_15 0x0 |
| |
| QS Counter Enable |
| PSU_DDR_PHY_DX8SL1DQSCTL_QSCNTEN 0x1 |
| |
| Unused DQ I/O Mode |
| PSU_DDR_PHY_DX8SL1DQSCTL_UDQIOM 0x0 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DX8SL1DQSCTL_RESERVED_12_10 0x0 |
| |
| Data Slew Rate |
| PSU_DDR_PHY_DX8SL1DQSCTL_DXSR 0x3 |
| |
| DQS_N Resistor |
| PSU_DDR_PHY_DX8SL1DQSCTL_DQSNRES 0xc |
| |
| DQS Resistor |
| PSU_DDR_PHY_DX8SL1DQSCTL_DQSRES 0x4 |
| |
| DATX8 0-1 DQS Control Register |
| (OFFSET, MASK, VALUE) (0XFD08145C, 0xFFFFFFFFU ,0x012643C4U) |
| RegMask = (DDR_PHY_DX8SL1DQSCTL_RESERVED_31_25_MASK | DDR_PHY_DX8SL1DQSCTL_RRRMODE_MASK | DDR_PHY_DX8SL1DQSCTL_RESERVED_23_22_MASK | DDR_PHY_DX8SL1DQSCTL_WRRMODE_MASK | DDR_PHY_DX8SL1DQSCTL_DQSGX_MASK | DDR_PHY_DX8SL1DQSCTL_LPPLLPD_MASK | DDR_PHY_DX8SL1DQSCTL_LPIOPD_MASK | DDR_PHY_DX8SL1DQSCTL_RESERVED_16_15_MASK | DDR_PHY_DX8SL1DQSCTL_QSCNTEN_MASK | DDR_PHY_DX8SL1DQSCTL_UDQIOM_MASK | DDR_PHY_DX8SL1DQSCTL_RESERVED_12_10_MASK | DDR_PHY_DX8SL1DQSCTL_DXSR_MASK | DDR_PHY_DX8SL1DQSCTL_DQSNRES_MASK | DDR_PHY_DX8SL1DQSCTL_DQSRES_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDR_PHY_DX8SL1DQSCTL_RESERVED_31_25_SHIFT |
| | 0x00000001U << DDR_PHY_DX8SL1DQSCTL_RRRMODE_SHIFT |
| | 0x00000000U << DDR_PHY_DX8SL1DQSCTL_RESERVED_23_22_SHIFT |
| | 0x00000001U << DDR_PHY_DX8SL1DQSCTL_WRRMODE_SHIFT |
| | 0x00000000U << DDR_PHY_DX8SL1DQSCTL_DQSGX_SHIFT |
| | 0x00000001U << DDR_PHY_DX8SL1DQSCTL_LPPLLPD_SHIFT |
| | 0x00000001U << DDR_PHY_DX8SL1DQSCTL_LPIOPD_SHIFT |
| | 0x00000000U << DDR_PHY_DX8SL1DQSCTL_RESERVED_16_15_SHIFT |
| | 0x00000001U << DDR_PHY_DX8SL1DQSCTL_QSCNTEN_SHIFT |
| | 0x00000000U << DDR_PHY_DX8SL1DQSCTL_UDQIOM_SHIFT |
| | 0x00000000U << DDR_PHY_DX8SL1DQSCTL_RESERVED_12_10_SHIFT |
| | 0x00000003U << DDR_PHY_DX8SL1DQSCTL_DXSR_SHIFT |
| | 0x0000000CU << DDR_PHY_DX8SL1DQSCTL_DQSNRES_SHIFT |
| | 0x00000004U << DDR_PHY_DX8SL1DQSCTL_DQSRES_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDR_PHY_DX8SL1DQSCTL_OFFSET ,0xFFFFFFFFU ,0x012643C4U); |
| /*############################################################################################################################ */ |
| |
| /*Register : DX8SL1DXCTL2 @ 0XFD08146C</p> |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DX8SL1DXCTL2_RESERVED_31_24 0x0 |
| |
| Configurable Read Data Enable |
| PSU_DDR_PHY_DX8SL1DXCTL2_CRDEN 0x0 |
| |
| OX Extension during Post-amble |
| PSU_DDR_PHY_DX8SL1DXCTL2_POSOEX 0x0 |
| |
| OE Extension during Pre-amble |
| PSU_DDR_PHY_DX8SL1DXCTL2_PREOEX 0x0 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DX8SL1DXCTL2_RESERVED_17 0x0 |
| |
| I/O Assisted Gate Select |
| PSU_DDR_PHY_DX8SL1DXCTL2_IOAG 0x0 |
| |
| I/O Loopback Select |
| PSU_DDR_PHY_DX8SL1DXCTL2_IOLB 0x0 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DX8SL1DXCTL2_RESERVED_14_13 0x0 |
| |
| Low Power Wakeup Threshold |
| PSU_DDR_PHY_DX8SL1DXCTL2_LPWAKEUP_THRSH 0xc |
| |
| Read Data Bus Inversion Enable |
| PSU_DDR_PHY_DX8SL1DXCTL2_RDBI 0x0 |
| |
| Write Data Bus Inversion Enable |
| PSU_DDR_PHY_DX8SL1DXCTL2_WDBI 0x0 |
| |
| PUB Read FIFO Bypass |
| PSU_DDR_PHY_DX8SL1DXCTL2_PRFBYP 0x0 |
| |
| DATX8 Receive FIFO Read Mode |
| PSU_DDR_PHY_DX8SL1DXCTL2_RDMODE 0x0 |
| |
| Disables the Read FIFO Reset |
| PSU_DDR_PHY_DX8SL1DXCTL2_DISRST 0x0 |
| |
| Read DQS Gate I/O Loopback |
| PSU_DDR_PHY_DX8SL1DXCTL2_DQSGLB 0x0 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DX8SL1DXCTL2_RESERVED_0 0x0 |
| |
| DATX8 0-1 DX Control Register 2 |
| (OFFSET, MASK, VALUE) (0XFD08146C, 0xFFFFFFFFU ,0x00001800U) |
| RegMask = (DDR_PHY_DX8SL1DXCTL2_RESERVED_31_24_MASK | DDR_PHY_DX8SL1DXCTL2_CRDEN_MASK | DDR_PHY_DX8SL1DXCTL2_POSOEX_MASK | DDR_PHY_DX8SL1DXCTL2_PREOEX_MASK | DDR_PHY_DX8SL1DXCTL2_RESERVED_17_MASK | DDR_PHY_DX8SL1DXCTL2_IOAG_MASK | DDR_PHY_DX8SL1DXCTL2_IOLB_MASK | DDR_PHY_DX8SL1DXCTL2_RESERVED_14_13_MASK | DDR_PHY_DX8SL1DXCTL2_LPWAKEUP_THRSH_MASK | DDR_PHY_DX8SL1DXCTL2_RDBI_MASK | DDR_PHY_DX8SL1DXCTL2_WDBI_MASK | DDR_PHY_DX8SL1DXCTL2_PRFBYP_MASK | DDR_PHY_DX8SL1DXCTL2_RDMODE_MASK | DDR_PHY_DX8SL1DXCTL2_DISRST_MASK | DDR_PHY_DX8SL1DXCTL2_DQSGLB_MASK | DDR_PHY_DX8SL1DXCTL2_RESERVED_0_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDR_PHY_DX8SL1DXCTL2_RESERVED_31_24_SHIFT |
| | 0x00000000U << DDR_PHY_DX8SL1DXCTL2_CRDEN_SHIFT |
| | 0x00000000U << DDR_PHY_DX8SL1DXCTL2_POSOEX_SHIFT |
| | 0x00000000U << DDR_PHY_DX8SL1DXCTL2_PREOEX_SHIFT |
| | 0x00000000U << DDR_PHY_DX8SL1DXCTL2_RESERVED_17_SHIFT |
| | 0x00000000U << DDR_PHY_DX8SL1DXCTL2_IOAG_SHIFT |
| | 0x00000000U << DDR_PHY_DX8SL1DXCTL2_IOLB_SHIFT |
| | 0x00000000U << DDR_PHY_DX8SL1DXCTL2_RESERVED_14_13_SHIFT |
| | 0x0000000CU << DDR_PHY_DX8SL1DXCTL2_LPWAKEUP_THRSH_SHIFT |
| | 0x00000000U << DDR_PHY_DX8SL1DXCTL2_RDBI_SHIFT |
| | 0x00000000U << DDR_PHY_DX8SL1DXCTL2_WDBI_SHIFT |
| | 0x00000000U << DDR_PHY_DX8SL1DXCTL2_PRFBYP_SHIFT |
| | 0x00000000U << DDR_PHY_DX8SL1DXCTL2_RDMODE_SHIFT |
| | 0x00000000U << DDR_PHY_DX8SL1DXCTL2_DISRST_SHIFT |
| | 0x00000000U << DDR_PHY_DX8SL1DXCTL2_DQSGLB_SHIFT |
| | 0x00000000U << DDR_PHY_DX8SL1DXCTL2_RESERVED_0_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDR_PHY_DX8SL1DXCTL2_OFFSET ,0xFFFFFFFFU ,0x00001800U); |
| /*############################################################################################################################ */ |
| |
| /*Register : DX8SL1IOCR @ 0XFD081470</p> |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DX8SL1IOCR_RESERVED_31 0x0 |
| |
| PVREF_DAC REFSEL range select |
| PSU_DDR_PHY_DX8SL1IOCR_DXDACRANGE 0x7 |
| |
| IOM bits for PVREF, PVREF_DAC and PVREFE cells in DX IO ring |
| PSU_DDR_PHY_DX8SL1IOCR_DXVREFIOM 0x0 |
| |
| DX IO Mode |
| PSU_DDR_PHY_DX8SL1IOCR_DXIOM 0x2 |
| |
| DX IO Transmitter Mode |
| PSU_DDR_PHY_DX8SL1IOCR_DXTXM 0x0 |
| |
| DX IO Receiver Mode |
| PSU_DDR_PHY_DX8SL1IOCR_DXRXM 0x0 |
| |
| DATX8 0-1 I/O Configuration Register |
| (OFFSET, MASK, VALUE) (0XFD081470, 0xFFFFFFFFU ,0x70800000U) |
| RegMask = (DDR_PHY_DX8SL1IOCR_RESERVED_31_MASK | DDR_PHY_DX8SL1IOCR_DXDACRANGE_MASK | DDR_PHY_DX8SL1IOCR_DXVREFIOM_MASK | DDR_PHY_DX8SL1IOCR_DXIOM_MASK | DDR_PHY_DX8SL1IOCR_DXTXM_MASK | DDR_PHY_DX8SL1IOCR_DXRXM_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDR_PHY_DX8SL1IOCR_RESERVED_31_SHIFT |
| | 0x00000007U << DDR_PHY_DX8SL1IOCR_DXDACRANGE_SHIFT |
| | 0x00000000U << DDR_PHY_DX8SL1IOCR_DXVREFIOM_SHIFT |
| | 0x00000002U << DDR_PHY_DX8SL1IOCR_DXIOM_SHIFT |
| | 0x00000000U << DDR_PHY_DX8SL1IOCR_DXTXM_SHIFT |
| | 0x00000000U << DDR_PHY_DX8SL1IOCR_DXRXM_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDR_PHY_DX8SL1IOCR_OFFSET ,0xFFFFFFFFU ,0x70800000U); |
| /*############################################################################################################################ */ |
| |
| /*Register : DX8SL2DQSCTL @ 0XFD08149C</p> |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DX8SL2DQSCTL_RESERVED_31_25 0x0 |
| |
| Read Path Rise-to-Rise Mode |
| PSU_DDR_PHY_DX8SL2DQSCTL_RRRMODE 0x1 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DX8SL2DQSCTL_RESERVED_23_22 0x0 |
| |
| Write Path Rise-to-Rise Mode |
| PSU_DDR_PHY_DX8SL2DQSCTL_WRRMODE 0x1 |
| |
| DQS Gate Extension |
| PSU_DDR_PHY_DX8SL2DQSCTL_DQSGX 0x0 |
| |
| Low Power PLL Power Down |
| PSU_DDR_PHY_DX8SL2DQSCTL_LPPLLPD 0x1 |
| |
| Low Power I/O Power Down |
| PSU_DDR_PHY_DX8SL2DQSCTL_LPIOPD 0x1 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DX8SL2DQSCTL_RESERVED_16_15 0x0 |
| |
| QS Counter Enable |
| PSU_DDR_PHY_DX8SL2DQSCTL_QSCNTEN 0x1 |
| |
| Unused DQ I/O Mode |
| PSU_DDR_PHY_DX8SL2DQSCTL_UDQIOM 0x0 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DX8SL2DQSCTL_RESERVED_12_10 0x0 |
| |
| Data Slew Rate |
| PSU_DDR_PHY_DX8SL2DQSCTL_DXSR 0x3 |
| |
| DQS_N Resistor |
| PSU_DDR_PHY_DX8SL2DQSCTL_DQSNRES 0xc |
| |
| DQS Resistor |
| PSU_DDR_PHY_DX8SL2DQSCTL_DQSRES 0x4 |
| |
| DATX8 0-1 DQS Control Register |
| (OFFSET, MASK, VALUE) (0XFD08149C, 0xFFFFFFFFU ,0x012643C4U) |
| RegMask = (DDR_PHY_DX8SL2DQSCTL_RESERVED_31_25_MASK | DDR_PHY_DX8SL2DQSCTL_RRRMODE_MASK | DDR_PHY_DX8SL2DQSCTL_RESERVED_23_22_MASK | DDR_PHY_DX8SL2DQSCTL_WRRMODE_MASK | DDR_PHY_DX8SL2DQSCTL_DQSGX_MASK | DDR_PHY_DX8SL2DQSCTL_LPPLLPD_MASK | DDR_PHY_DX8SL2DQSCTL_LPIOPD_MASK | DDR_PHY_DX8SL2DQSCTL_RESERVED_16_15_MASK | DDR_PHY_DX8SL2DQSCTL_QSCNTEN_MASK | DDR_PHY_DX8SL2DQSCTL_UDQIOM_MASK | DDR_PHY_DX8SL2DQSCTL_RESERVED_12_10_MASK | DDR_PHY_DX8SL2DQSCTL_DXSR_MASK | DDR_PHY_DX8SL2DQSCTL_DQSNRES_MASK | DDR_PHY_DX8SL2DQSCTL_DQSRES_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDR_PHY_DX8SL2DQSCTL_RESERVED_31_25_SHIFT |
| | 0x00000001U << DDR_PHY_DX8SL2DQSCTL_RRRMODE_SHIFT |
| | 0x00000000U << DDR_PHY_DX8SL2DQSCTL_RESERVED_23_22_SHIFT |
| | 0x00000001U << DDR_PHY_DX8SL2DQSCTL_WRRMODE_SHIFT |
| | 0x00000000U << DDR_PHY_DX8SL2DQSCTL_DQSGX_SHIFT |
| | 0x00000001U << DDR_PHY_DX8SL2DQSCTL_LPPLLPD_SHIFT |
| | 0x00000001U << DDR_PHY_DX8SL2DQSCTL_LPIOPD_SHIFT |
| | 0x00000000U << DDR_PHY_DX8SL2DQSCTL_RESERVED_16_15_SHIFT |
| | 0x00000001U << DDR_PHY_DX8SL2DQSCTL_QSCNTEN_SHIFT |
| | 0x00000000U << DDR_PHY_DX8SL2DQSCTL_UDQIOM_SHIFT |
| | 0x00000000U << DDR_PHY_DX8SL2DQSCTL_RESERVED_12_10_SHIFT |
| | 0x00000003U << DDR_PHY_DX8SL2DQSCTL_DXSR_SHIFT |
| | 0x0000000CU << DDR_PHY_DX8SL2DQSCTL_DQSNRES_SHIFT |
| | 0x00000004U << DDR_PHY_DX8SL2DQSCTL_DQSRES_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDR_PHY_DX8SL2DQSCTL_OFFSET ,0xFFFFFFFFU ,0x012643C4U); |
| /*############################################################################################################################ */ |
| |
| /*Register : DX8SL2DXCTL2 @ 0XFD0814AC</p> |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DX8SL2DXCTL2_RESERVED_31_24 0x0 |
| |
| Configurable Read Data Enable |
| PSU_DDR_PHY_DX8SL2DXCTL2_CRDEN 0x0 |
| |
| OX Extension during Post-amble |
| PSU_DDR_PHY_DX8SL2DXCTL2_POSOEX 0x0 |
| |
| OE Extension during Pre-amble |
| PSU_DDR_PHY_DX8SL2DXCTL2_PREOEX 0x0 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DX8SL2DXCTL2_RESERVED_17 0x0 |
| |
| I/O Assisted Gate Select |
| PSU_DDR_PHY_DX8SL2DXCTL2_IOAG 0x0 |
| |
| I/O Loopback Select |
| PSU_DDR_PHY_DX8SL2DXCTL2_IOLB 0x0 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DX8SL2DXCTL2_RESERVED_14_13 0x0 |
| |
| Low Power Wakeup Threshold |
| PSU_DDR_PHY_DX8SL2DXCTL2_LPWAKEUP_THRSH 0xc |
| |
| Read Data Bus Inversion Enable |
| PSU_DDR_PHY_DX8SL2DXCTL2_RDBI 0x0 |
| |
| Write Data Bus Inversion Enable |
| PSU_DDR_PHY_DX8SL2DXCTL2_WDBI 0x0 |
| |
| PUB Read FIFO Bypass |
| PSU_DDR_PHY_DX8SL2DXCTL2_PRFBYP 0x0 |
| |
| DATX8 Receive FIFO Read Mode |
| PSU_DDR_PHY_DX8SL2DXCTL2_RDMODE 0x0 |
| |
| Disables the Read FIFO Reset |
| PSU_DDR_PHY_DX8SL2DXCTL2_DISRST 0x0 |
| |
| Read DQS Gate I/O Loopback |
| PSU_DDR_PHY_DX8SL2DXCTL2_DQSGLB 0x0 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DX8SL2DXCTL2_RESERVED_0 0x0 |
| |
| DATX8 0-1 DX Control Register 2 |
| (OFFSET, MASK, VALUE) (0XFD0814AC, 0xFFFFFFFFU ,0x00001800U) |
| RegMask = (DDR_PHY_DX8SL2DXCTL2_RESERVED_31_24_MASK | DDR_PHY_DX8SL2DXCTL2_CRDEN_MASK | DDR_PHY_DX8SL2DXCTL2_POSOEX_MASK | DDR_PHY_DX8SL2DXCTL2_PREOEX_MASK | DDR_PHY_DX8SL2DXCTL2_RESERVED_17_MASK | DDR_PHY_DX8SL2DXCTL2_IOAG_MASK | DDR_PHY_DX8SL2DXCTL2_IOLB_MASK | DDR_PHY_DX8SL2DXCTL2_RESERVED_14_13_MASK | DDR_PHY_DX8SL2DXCTL2_LPWAKEUP_THRSH_MASK | DDR_PHY_DX8SL2DXCTL2_RDBI_MASK | DDR_PHY_DX8SL2DXCTL2_WDBI_MASK | DDR_PHY_DX8SL2DXCTL2_PRFBYP_MASK | DDR_PHY_DX8SL2DXCTL2_RDMODE_MASK | DDR_PHY_DX8SL2DXCTL2_DISRST_MASK | DDR_PHY_DX8SL2DXCTL2_DQSGLB_MASK | DDR_PHY_DX8SL2DXCTL2_RESERVED_0_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDR_PHY_DX8SL2DXCTL2_RESERVED_31_24_SHIFT |
| | 0x00000000U << DDR_PHY_DX8SL2DXCTL2_CRDEN_SHIFT |
| | 0x00000000U << DDR_PHY_DX8SL2DXCTL2_POSOEX_SHIFT |
| | 0x00000000U << DDR_PHY_DX8SL2DXCTL2_PREOEX_SHIFT |
| | 0x00000000U << DDR_PHY_DX8SL2DXCTL2_RESERVED_17_SHIFT |
| | 0x00000000U << DDR_PHY_DX8SL2DXCTL2_IOAG_SHIFT |
| | 0x00000000U << DDR_PHY_DX8SL2DXCTL2_IOLB_SHIFT |
| | 0x00000000U << DDR_PHY_DX8SL2DXCTL2_RESERVED_14_13_SHIFT |
| | 0x0000000CU << DDR_PHY_DX8SL2DXCTL2_LPWAKEUP_THRSH_SHIFT |
| | 0x00000000U << DDR_PHY_DX8SL2DXCTL2_RDBI_SHIFT |
| | 0x00000000U << DDR_PHY_DX8SL2DXCTL2_WDBI_SHIFT |
| | 0x00000000U << DDR_PHY_DX8SL2DXCTL2_PRFBYP_SHIFT |
| | 0x00000000U << DDR_PHY_DX8SL2DXCTL2_RDMODE_SHIFT |
| | 0x00000000U << DDR_PHY_DX8SL2DXCTL2_DISRST_SHIFT |
| | 0x00000000U << DDR_PHY_DX8SL2DXCTL2_DQSGLB_SHIFT |
| | 0x00000000U << DDR_PHY_DX8SL2DXCTL2_RESERVED_0_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDR_PHY_DX8SL2DXCTL2_OFFSET ,0xFFFFFFFFU ,0x00001800U); |
| /*############################################################################################################################ */ |
| |
| /*Register : DX8SL2IOCR @ 0XFD0814B0</p> |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DX8SL2IOCR_RESERVED_31 0x0 |
| |
| PVREF_DAC REFSEL range select |
| PSU_DDR_PHY_DX8SL2IOCR_DXDACRANGE 0x7 |
| |
| IOM bits for PVREF, PVREF_DAC and PVREFE cells in DX IO ring |
| PSU_DDR_PHY_DX8SL2IOCR_DXVREFIOM 0x0 |
| |
| DX IO Mode |
| PSU_DDR_PHY_DX8SL2IOCR_DXIOM 0x2 |
| |
| DX IO Transmitter Mode |
| PSU_DDR_PHY_DX8SL2IOCR_DXTXM 0x0 |
| |
| DX IO Receiver Mode |
| PSU_DDR_PHY_DX8SL2IOCR_DXRXM 0x0 |
| |
| DATX8 0-1 I/O Configuration Register |
| (OFFSET, MASK, VALUE) (0XFD0814B0, 0xFFFFFFFFU ,0x70800000U) |
| RegMask = (DDR_PHY_DX8SL2IOCR_RESERVED_31_MASK | DDR_PHY_DX8SL2IOCR_DXDACRANGE_MASK | DDR_PHY_DX8SL2IOCR_DXVREFIOM_MASK | DDR_PHY_DX8SL2IOCR_DXIOM_MASK | DDR_PHY_DX8SL2IOCR_DXTXM_MASK | DDR_PHY_DX8SL2IOCR_DXRXM_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDR_PHY_DX8SL2IOCR_RESERVED_31_SHIFT |
| | 0x00000007U << DDR_PHY_DX8SL2IOCR_DXDACRANGE_SHIFT |
| | 0x00000000U << DDR_PHY_DX8SL2IOCR_DXVREFIOM_SHIFT |
| | 0x00000002U << DDR_PHY_DX8SL2IOCR_DXIOM_SHIFT |
| | 0x00000000U << DDR_PHY_DX8SL2IOCR_DXTXM_SHIFT |
| | 0x00000000U << DDR_PHY_DX8SL2IOCR_DXRXM_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDR_PHY_DX8SL2IOCR_OFFSET ,0xFFFFFFFFU ,0x70800000U); |
| /*############################################################################################################################ */ |
| |
| /*Register : DX8SL3DQSCTL @ 0XFD0814DC</p> |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DX8SL3DQSCTL_RESERVED_31_25 0x0 |
| |
| Read Path Rise-to-Rise Mode |
| PSU_DDR_PHY_DX8SL3DQSCTL_RRRMODE 0x1 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DX8SL3DQSCTL_RESERVED_23_22 0x0 |
| |
| Write Path Rise-to-Rise Mode |
| PSU_DDR_PHY_DX8SL3DQSCTL_WRRMODE 0x1 |
| |
| DQS Gate Extension |
| PSU_DDR_PHY_DX8SL3DQSCTL_DQSGX 0x0 |
| |
| Low Power PLL Power Down |
| PSU_DDR_PHY_DX8SL3DQSCTL_LPPLLPD 0x1 |
| |
| Low Power I/O Power Down |
| PSU_DDR_PHY_DX8SL3DQSCTL_LPIOPD 0x1 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DX8SL3DQSCTL_RESERVED_16_15 0x0 |
| |
| QS Counter Enable |
| PSU_DDR_PHY_DX8SL3DQSCTL_QSCNTEN 0x1 |
| |
| Unused DQ I/O Mode |
| PSU_DDR_PHY_DX8SL3DQSCTL_UDQIOM 0x0 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DX8SL3DQSCTL_RESERVED_12_10 0x0 |
| |
| Data Slew Rate |
| PSU_DDR_PHY_DX8SL3DQSCTL_DXSR 0x3 |
| |
| DQS_N Resistor |
| PSU_DDR_PHY_DX8SL3DQSCTL_DQSNRES 0xc |
| |
| DQS Resistor |
| PSU_DDR_PHY_DX8SL3DQSCTL_DQSRES 0x4 |
| |
| DATX8 0-1 DQS Control Register |
| (OFFSET, MASK, VALUE) (0XFD0814DC, 0xFFFFFFFFU ,0x012643C4U) |
| RegMask = (DDR_PHY_DX8SL3DQSCTL_RESERVED_31_25_MASK | DDR_PHY_DX8SL3DQSCTL_RRRMODE_MASK | DDR_PHY_DX8SL3DQSCTL_RESERVED_23_22_MASK | DDR_PHY_DX8SL3DQSCTL_WRRMODE_MASK | DDR_PHY_DX8SL3DQSCTL_DQSGX_MASK | DDR_PHY_DX8SL3DQSCTL_LPPLLPD_MASK | DDR_PHY_DX8SL3DQSCTL_LPIOPD_MASK | DDR_PHY_DX8SL3DQSCTL_RESERVED_16_15_MASK | DDR_PHY_DX8SL3DQSCTL_QSCNTEN_MASK | DDR_PHY_DX8SL3DQSCTL_UDQIOM_MASK | DDR_PHY_DX8SL3DQSCTL_RESERVED_12_10_MASK | DDR_PHY_DX8SL3DQSCTL_DXSR_MASK | DDR_PHY_DX8SL3DQSCTL_DQSNRES_MASK | DDR_PHY_DX8SL3DQSCTL_DQSRES_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDR_PHY_DX8SL3DQSCTL_RESERVED_31_25_SHIFT |
| | 0x00000001U << DDR_PHY_DX8SL3DQSCTL_RRRMODE_SHIFT |
| | 0x00000000U << DDR_PHY_DX8SL3DQSCTL_RESERVED_23_22_SHIFT |
| | 0x00000001U << DDR_PHY_DX8SL3DQSCTL_WRRMODE_SHIFT |
| | 0x00000000U << DDR_PHY_DX8SL3DQSCTL_DQSGX_SHIFT |
| | 0x00000001U << DDR_PHY_DX8SL3DQSCTL_LPPLLPD_SHIFT |
| | 0x00000001U << DDR_PHY_DX8SL3DQSCTL_LPIOPD_SHIFT |
| | 0x00000000U << DDR_PHY_DX8SL3DQSCTL_RESERVED_16_15_SHIFT |
| | 0x00000001U << DDR_PHY_DX8SL3DQSCTL_QSCNTEN_SHIFT |
| | 0x00000000U << DDR_PHY_DX8SL3DQSCTL_UDQIOM_SHIFT |
| | 0x00000000U << DDR_PHY_DX8SL3DQSCTL_RESERVED_12_10_SHIFT |
| | 0x00000003U << DDR_PHY_DX8SL3DQSCTL_DXSR_SHIFT |
| | 0x0000000CU << DDR_PHY_DX8SL3DQSCTL_DQSNRES_SHIFT |
| | 0x00000004U << DDR_PHY_DX8SL3DQSCTL_DQSRES_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDR_PHY_DX8SL3DQSCTL_OFFSET ,0xFFFFFFFFU ,0x012643C4U); |
| /*############################################################################################################################ */ |
| |
| /*Register : DX8SL3DXCTL2 @ 0XFD0814EC</p> |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DX8SL3DXCTL2_RESERVED_31_24 0x0 |
| |
| Configurable Read Data Enable |
| PSU_DDR_PHY_DX8SL3DXCTL2_CRDEN 0x0 |
| |
| OX Extension during Post-amble |
| PSU_DDR_PHY_DX8SL3DXCTL2_POSOEX 0x0 |
| |
| OE Extension during Pre-amble |
| PSU_DDR_PHY_DX8SL3DXCTL2_PREOEX 0x0 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DX8SL3DXCTL2_RESERVED_17 0x0 |
| |
| I/O Assisted Gate Select |
| PSU_DDR_PHY_DX8SL3DXCTL2_IOAG 0x0 |
| |
| I/O Loopback Select |
| PSU_DDR_PHY_DX8SL3DXCTL2_IOLB 0x0 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DX8SL3DXCTL2_RESERVED_14_13 0x0 |
| |
| Low Power Wakeup Threshold |
| PSU_DDR_PHY_DX8SL3DXCTL2_LPWAKEUP_THRSH 0xc |
| |
| Read Data Bus Inversion Enable |
| PSU_DDR_PHY_DX8SL3DXCTL2_RDBI 0x0 |
| |
| Write Data Bus Inversion Enable |
| PSU_DDR_PHY_DX8SL3DXCTL2_WDBI 0x0 |
| |
| PUB Read FIFO Bypass |
| PSU_DDR_PHY_DX8SL3DXCTL2_PRFBYP 0x0 |
| |
| DATX8 Receive FIFO Read Mode |
| PSU_DDR_PHY_DX8SL3DXCTL2_RDMODE 0x0 |
| |
| Disables the Read FIFO Reset |
| PSU_DDR_PHY_DX8SL3DXCTL2_DISRST 0x0 |
| |
| Read DQS Gate I/O Loopback |
| PSU_DDR_PHY_DX8SL3DXCTL2_DQSGLB 0x0 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DX8SL3DXCTL2_RESERVED_0 0x0 |
| |
| DATX8 0-1 DX Control Register 2 |
| (OFFSET, MASK, VALUE) (0XFD0814EC, 0xFFFFFFFFU ,0x00001800U) |
| RegMask = (DDR_PHY_DX8SL3DXCTL2_RESERVED_31_24_MASK | DDR_PHY_DX8SL3DXCTL2_CRDEN_MASK | DDR_PHY_DX8SL3DXCTL2_POSOEX_MASK | DDR_PHY_DX8SL3DXCTL2_PREOEX_MASK | DDR_PHY_DX8SL3DXCTL2_RESERVED_17_MASK | DDR_PHY_DX8SL3DXCTL2_IOAG_MASK | DDR_PHY_DX8SL3DXCTL2_IOLB_MASK | DDR_PHY_DX8SL3DXCTL2_RESERVED_14_13_MASK | DDR_PHY_DX8SL3DXCTL2_LPWAKEUP_THRSH_MASK | DDR_PHY_DX8SL3DXCTL2_RDBI_MASK | DDR_PHY_DX8SL3DXCTL2_WDBI_MASK | DDR_PHY_DX8SL3DXCTL2_PRFBYP_MASK | DDR_PHY_DX8SL3DXCTL2_RDMODE_MASK | DDR_PHY_DX8SL3DXCTL2_DISRST_MASK | DDR_PHY_DX8SL3DXCTL2_DQSGLB_MASK | DDR_PHY_DX8SL3DXCTL2_RESERVED_0_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDR_PHY_DX8SL3DXCTL2_RESERVED_31_24_SHIFT |
| | 0x00000000U << DDR_PHY_DX8SL3DXCTL2_CRDEN_SHIFT |
| | 0x00000000U << DDR_PHY_DX8SL3DXCTL2_POSOEX_SHIFT |
| | 0x00000000U << DDR_PHY_DX8SL3DXCTL2_PREOEX_SHIFT |
| | 0x00000000U << DDR_PHY_DX8SL3DXCTL2_RESERVED_17_SHIFT |
| | 0x00000000U << DDR_PHY_DX8SL3DXCTL2_IOAG_SHIFT |
| | 0x00000000U << DDR_PHY_DX8SL3DXCTL2_IOLB_SHIFT |
| | 0x00000000U << DDR_PHY_DX8SL3DXCTL2_RESERVED_14_13_SHIFT |
| | 0x0000000CU << DDR_PHY_DX8SL3DXCTL2_LPWAKEUP_THRSH_SHIFT |
| | 0x00000000U << DDR_PHY_DX8SL3DXCTL2_RDBI_SHIFT |
| | 0x00000000U << DDR_PHY_DX8SL3DXCTL2_WDBI_SHIFT |
| | 0x00000000U << DDR_PHY_DX8SL3DXCTL2_PRFBYP_SHIFT |
| | 0x00000000U << DDR_PHY_DX8SL3DXCTL2_RDMODE_SHIFT |
| | 0x00000000U << DDR_PHY_DX8SL3DXCTL2_DISRST_SHIFT |
| | 0x00000000U << DDR_PHY_DX8SL3DXCTL2_DQSGLB_SHIFT |
| | 0x00000000U << DDR_PHY_DX8SL3DXCTL2_RESERVED_0_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDR_PHY_DX8SL3DXCTL2_OFFSET ,0xFFFFFFFFU ,0x00001800U); |
| /*############################################################################################################################ */ |
| |
| /*Register : DX8SL3IOCR @ 0XFD0814F0</p> |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DX8SL3IOCR_RESERVED_31 0x0 |
| |
| PVREF_DAC REFSEL range select |
| PSU_DDR_PHY_DX8SL3IOCR_DXDACRANGE 0x7 |
| |
| IOM bits for PVREF, PVREF_DAC and PVREFE cells in DX IO ring |
| PSU_DDR_PHY_DX8SL3IOCR_DXVREFIOM 0x0 |
| |
| DX IO Mode |
| PSU_DDR_PHY_DX8SL3IOCR_DXIOM 0x2 |
| |
| DX IO Transmitter Mode |
| PSU_DDR_PHY_DX8SL3IOCR_DXTXM 0x0 |
| |
| DX IO Receiver Mode |
| PSU_DDR_PHY_DX8SL3IOCR_DXRXM 0x0 |
| |
| DATX8 0-1 I/O Configuration Register |
| (OFFSET, MASK, VALUE) (0XFD0814F0, 0xFFFFFFFFU ,0x70800000U) |
| RegMask = (DDR_PHY_DX8SL3IOCR_RESERVED_31_MASK | DDR_PHY_DX8SL3IOCR_DXDACRANGE_MASK | DDR_PHY_DX8SL3IOCR_DXVREFIOM_MASK | DDR_PHY_DX8SL3IOCR_DXIOM_MASK | DDR_PHY_DX8SL3IOCR_DXTXM_MASK | DDR_PHY_DX8SL3IOCR_DXRXM_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDR_PHY_DX8SL3IOCR_RESERVED_31_SHIFT |
| | 0x00000007U << DDR_PHY_DX8SL3IOCR_DXDACRANGE_SHIFT |
| | 0x00000000U << DDR_PHY_DX8SL3IOCR_DXVREFIOM_SHIFT |
| | 0x00000002U << DDR_PHY_DX8SL3IOCR_DXIOM_SHIFT |
| | 0x00000000U << DDR_PHY_DX8SL3IOCR_DXTXM_SHIFT |
| | 0x00000000U << DDR_PHY_DX8SL3IOCR_DXRXM_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDR_PHY_DX8SL3IOCR_OFFSET ,0xFFFFFFFFU ,0x70800000U); |
| /*############################################################################################################################ */ |
| |
| /*Register : DX8SL4DQSCTL @ 0XFD08151C</p> |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DX8SL4DQSCTL_RESERVED_31_25 0x0 |
| |
| Read Path Rise-to-Rise Mode |
| PSU_DDR_PHY_DX8SL4DQSCTL_RRRMODE 0x1 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DX8SL4DQSCTL_RESERVED_23_22 0x0 |
| |
| Write Path Rise-to-Rise Mode |
| PSU_DDR_PHY_DX8SL4DQSCTL_WRRMODE 0x1 |
| |
| DQS Gate Extension |
| PSU_DDR_PHY_DX8SL4DQSCTL_DQSGX 0x0 |
| |
| Low Power PLL Power Down |
| PSU_DDR_PHY_DX8SL4DQSCTL_LPPLLPD 0x1 |
| |
| Low Power I/O Power Down |
| PSU_DDR_PHY_DX8SL4DQSCTL_LPIOPD 0x1 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DX8SL4DQSCTL_RESERVED_16_15 0x0 |
| |
| QS Counter Enable |
| PSU_DDR_PHY_DX8SL4DQSCTL_QSCNTEN 0x1 |
| |
| Unused DQ I/O Mode |
| PSU_DDR_PHY_DX8SL4DQSCTL_UDQIOM 0x0 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DX8SL4DQSCTL_RESERVED_12_10 0x0 |
| |
| Data Slew Rate |
| PSU_DDR_PHY_DX8SL4DQSCTL_DXSR 0x3 |
| |
| DQS_N Resistor |
| PSU_DDR_PHY_DX8SL4DQSCTL_DQSNRES 0xc |
| |
| DQS Resistor |
| PSU_DDR_PHY_DX8SL4DQSCTL_DQSRES 0x4 |
| |
| DATX8 0-1 DQS Control Register |
| (OFFSET, MASK, VALUE) (0XFD08151C, 0xFFFFFFFFU ,0x012643C4U) |
| RegMask = (DDR_PHY_DX8SL4DQSCTL_RESERVED_31_25_MASK | DDR_PHY_DX8SL4DQSCTL_RRRMODE_MASK | DDR_PHY_DX8SL4DQSCTL_RESERVED_23_22_MASK | DDR_PHY_DX8SL4DQSCTL_WRRMODE_MASK | DDR_PHY_DX8SL4DQSCTL_DQSGX_MASK | DDR_PHY_DX8SL4DQSCTL_LPPLLPD_MASK | DDR_PHY_DX8SL4DQSCTL_LPIOPD_MASK | DDR_PHY_DX8SL4DQSCTL_RESERVED_16_15_MASK | DDR_PHY_DX8SL4DQSCTL_QSCNTEN_MASK | DDR_PHY_DX8SL4DQSCTL_UDQIOM_MASK | DDR_PHY_DX8SL4DQSCTL_RESERVED_12_10_MASK | DDR_PHY_DX8SL4DQSCTL_DXSR_MASK | DDR_PHY_DX8SL4DQSCTL_DQSNRES_MASK | DDR_PHY_DX8SL4DQSCTL_DQSRES_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDR_PHY_DX8SL4DQSCTL_RESERVED_31_25_SHIFT |
| | 0x00000001U << DDR_PHY_DX8SL4DQSCTL_RRRMODE_SHIFT |
| | 0x00000000U << DDR_PHY_DX8SL4DQSCTL_RESERVED_23_22_SHIFT |
| | 0x00000001U << DDR_PHY_DX8SL4DQSCTL_WRRMODE_SHIFT |
| | 0x00000000U << DDR_PHY_DX8SL4DQSCTL_DQSGX_SHIFT |
| | 0x00000001U << DDR_PHY_DX8SL4DQSCTL_LPPLLPD_SHIFT |
| | 0x00000001U << DDR_PHY_DX8SL4DQSCTL_LPIOPD_SHIFT |
| | 0x00000000U << DDR_PHY_DX8SL4DQSCTL_RESERVED_16_15_SHIFT |
| | 0x00000001U << DDR_PHY_DX8SL4DQSCTL_QSCNTEN_SHIFT |
| | 0x00000000U << DDR_PHY_DX8SL4DQSCTL_UDQIOM_SHIFT |
| | 0x00000000U << DDR_PHY_DX8SL4DQSCTL_RESERVED_12_10_SHIFT |
| | 0x00000003U << DDR_PHY_DX8SL4DQSCTL_DXSR_SHIFT |
| | 0x0000000CU << DDR_PHY_DX8SL4DQSCTL_DQSNRES_SHIFT |
| | 0x00000004U << DDR_PHY_DX8SL4DQSCTL_DQSRES_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDR_PHY_DX8SL4DQSCTL_OFFSET ,0xFFFFFFFFU ,0x012643C4U); |
| /*############################################################################################################################ */ |
| |
| /*Register : DX8SL4DXCTL2 @ 0XFD08152C</p> |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DX8SL4DXCTL2_RESERVED_31_24 0x0 |
| |
| Configurable Read Data Enable |
| PSU_DDR_PHY_DX8SL4DXCTL2_CRDEN 0x0 |
| |
| OX Extension during Post-amble |
| PSU_DDR_PHY_DX8SL4DXCTL2_POSOEX 0x0 |
| |
| OE Extension during Pre-amble |
| PSU_DDR_PHY_DX8SL4DXCTL2_PREOEX 0x0 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DX8SL4DXCTL2_RESERVED_17 0x0 |
| |
| I/O Assisted Gate Select |
| PSU_DDR_PHY_DX8SL4DXCTL2_IOAG 0x0 |
| |
| I/O Loopback Select |
| PSU_DDR_PHY_DX8SL4DXCTL2_IOLB 0x0 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DX8SL4DXCTL2_RESERVED_14_13 0x0 |
| |
| Low Power Wakeup Threshold |
| PSU_DDR_PHY_DX8SL4DXCTL2_LPWAKEUP_THRSH 0xc |
| |
| Read Data Bus Inversion Enable |
| PSU_DDR_PHY_DX8SL4DXCTL2_RDBI 0x0 |
| |
| Write Data Bus Inversion Enable |
| PSU_DDR_PHY_DX8SL4DXCTL2_WDBI 0x0 |
| |
| PUB Read FIFO Bypass |
| PSU_DDR_PHY_DX8SL4DXCTL2_PRFBYP 0x0 |
| |
| DATX8 Receive FIFO Read Mode |
| PSU_DDR_PHY_DX8SL4DXCTL2_RDMODE 0x0 |
| |
| Disables the Read FIFO Reset |
| PSU_DDR_PHY_DX8SL4DXCTL2_DISRST 0x0 |
| |
| Read DQS Gate I/O Loopback |
| PSU_DDR_PHY_DX8SL4DXCTL2_DQSGLB 0x0 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DX8SL4DXCTL2_RESERVED_0 0x0 |
| |
| DATX8 0-1 DX Control Register 2 |
| (OFFSET, MASK, VALUE) (0XFD08152C, 0xFFFFFFFFU ,0x00001800U) |
| RegMask = (DDR_PHY_DX8SL4DXCTL2_RESERVED_31_24_MASK | DDR_PHY_DX8SL4DXCTL2_CRDEN_MASK | DDR_PHY_DX8SL4DXCTL2_POSOEX_MASK | DDR_PHY_DX8SL4DXCTL2_PREOEX_MASK | DDR_PHY_DX8SL4DXCTL2_RESERVED_17_MASK | DDR_PHY_DX8SL4DXCTL2_IOAG_MASK | DDR_PHY_DX8SL4DXCTL2_IOLB_MASK | DDR_PHY_DX8SL4DXCTL2_RESERVED_14_13_MASK | DDR_PHY_DX8SL4DXCTL2_LPWAKEUP_THRSH_MASK | DDR_PHY_DX8SL4DXCTL2_RDBI_MASK | DDR_PHY_DX8SL4DXCTL2_WDBI_MASK | DDR_PHY_DX8SL4DXCTL2_PRFBYP_MASK | DDR_PHY_DX8SL4DXCTL2_RDMODE_MASK | DDR_PHY_DX8SL4DXCTL2_DISRST_MASK | DDR_PHY_DX8SL4DXCTL2_DQSGLB_MASK | DDR_PHY_DX8SL4DXCTL2_RESERVED_0_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDR_PHY_DX8SL4DXCTL2_RESERVED_31_24_SHIFT |
| | 0x00000000U << DDR_PHY_DX8SL4DXCTL2_CRDEN_SHIFT |
| | 0x00000000U << DDR_PHY_DX8SL4DXCTL2_POSOEX_SHIFT |
| | 0x00000000U << DDR_PHY_DX8SL4DXCTL2_PREOEX_SHIFT |
| | 0x00000000U << DDR_PHY_DX8SL4DXCTL2_RESERVED_17_SHIFT |
| | 0x00000000U << DDR_PHY_DX8SL4DXCTL2_IOAG_SHIFT |
| | 0x00000000U << DDR_PHY_DX8SL4DXCTL2_IOLB_SHIFT |
| | 0x00000000U << DDR_PHY_DX8SL4DXCTL2_RESERVED_14_13_SHIFT |
| | 0x0000000CU << DDR_PHY_DX8SL4DXCTL2_LPWAKEUP_THRSH_SHIFT |
| | 0x00000000U << DDR_PHY_DX8SL4DXCTL2_RDBI_SHIFT |
| | 0x00000000U << DDR_PHY_DX8SL4DXCTL2_WDBI_SHIFT |
| | 0x00000000U << DDR_PHY_DX8SL4DXCTL2_PRFBYP_SHIFT |
| | 0x00000000U << DDR_PHY_DX8SL4DXCTL2_RDMODE_SHIFT |
| | 0x00000000U << DDR_PHY_DX8SL4DXCTL2_DISRST_SHIFT |
| | 0x00000000U << DDR_PHY_DX8SL4DXCTL2_DQSGLB_SHIFT |
| | 0x00000000U << DDR_PHY_DX8SL4DXCTL2_RESERVED_0_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDR_PHY_DX8SL4DXCTL2_OFFSET ,0xFFFFFFFFU ,0x00001800U); |
| /*############################################################################################################################ */ |
| |
| /*Register : DX8SL4IOCR @ 0XFD081530</p> |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DX8SL4IOCR_RESERVED_31 0x0 |
| |
| PVREF_DAC REFSEL range select |
| PSU_DDR_PHY_DX8SL4IOCR_DXDACRANGE 0x7 |
| |
| IOM bits for PVREF, PVREF_DAC and PVREFE cells in DX IO ring |
| PSU_DDR_PHY_DX8SL4IOCR_DXVREFIOM 0x0 |
| |
| DX IO Mode |
| PSU_DDR_PHY_DX8SL4IOCR_DXIOM 0x2 |
| |
| DX IO Transmitter Mode |
| PSU_DDR_PHY_DX8SL4IOCR_DXTXM 0x0 |
| |
| DX IO Receiver Mode |
| PSU_DDR_PHY_DX8SL4IOCR_DXRXM 0x0 |
| |
| DATX8 0-1 I/O Configuration Register |
| (OFFSET, MASK, VALUE) (0XFD081530, 0xFFFFFFFFU ,0x70800000U) |
| RegMask = (DDR_PHY_DX8SL4IOCR_RESERVED_31_MASK | DDR_PHY_DX8SL4IOCR_DXDACRANGE_MASK | DDR_PHY_DX8SL4IOCR_DXVREFIOM_MASK | DDR_PHY_DX8SL4IOCR_DXIOM_MASK | DDR_PHY_DX8SL4IOCR_DXTXM_MASK | DDR_PHY_DX8SL4IOCR_DXRXM_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDR_PHY_DX8SL4IOCR_RESERVED_31_SHIFT |
| | 0x00000007U << DDR_PHY_DX8SL4IOCR_DXDACRANGE_SHIFT |
| | 0x00000000U << DDR_PHY_DX8SL4IOCR_DXVREFIOM_SHIFT |
| | 0x00000002U << DDR_PHY_DX8SL4IOCR_DXIOM_SHIFT |
| | 0x00000000U << DDR_PHY_DX8SL4IOCR_DXTXM_SHIFT |
| | 0x00000000U << DDR_PHY_DX8SL4IOCR_DXRXM_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDR_PHY_DX8SL4IOCR_OFFSET ,0xFFFFFFFFU ,0x70800000U); |
| /*############################################################################################################################ */ |
| |
| /*Register : DX8SLbDQSCTL @ 0XFD0817DC</p> |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DX8SLBDQSCTL_RESERVED_31_25 0x0 |
| |
| Read Path Rise-to-Rise Mode |
| PSU_DDR_PHY_DX8SLBDQSCTL_RRRMODE 0x1 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DX8SLBDQSCTL_RESERVED_23_22 0x0 |
| |
| Write Path Rise-to-Rise Mode |
| PSU_DDR_PHY_DX8SLBDQSCTL_WRRMODE 0x1 |
| |
| DQS Gate Extension |
| PSU_DDR_PHY_DX8SLBDQSCTL_DQSGX 0x0 |
| |
| Low Power PLL Power Down |
| PSU_DDR_PHY_DX8SLBDQSCTL_LPPLLPD 0x1 |
| |
| Low Power I/O Power Down |
| PSU_DDR_PHY_DX8SLBDQSCTL_LPIOPD 0x1 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DX8SLBDQSCTL_RESERVED_16_15 0x0 |
| |
| QS Counter Enable |
| PSU_DDR_PHY_DX8SLBDQSCTL_QSCNTEN 0x1 |
| |
| Unused DQ I/O Mode |
| PSU_DDR_PHY_DX8SLBDQSCTL_UDQIOM 0x0 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_DX8SLBDQSCTL_RESERVED_12_10 0x0 |
| |
| Data Slew Rate |
| PSU_DDR_PHY_DX8SLBDQSCTL_DXSR 0x3 |
| |
| DQS# Resistor |
| PSU_DDR_PHY_DX8SLBDQSCTL_DQSNRES 0xc |
| |
| DQS Resistor |
| PSU_DDR_PHY_DX8SLBDQSCTL_DQSRES 0x4 |
| |
| DATX8 0-8 DQS Control Register |
| (OFFSET, MASK, VALUE) (0XFD0817DC, 0xFFFFFFFFU ,0x012643C4U) |
| RegMask = (DDR_PHY_DX8SLBDQSCTL_RESERVED_31_25_MASK | DDR_PHY_DX8SLBDQSCTL_RRRMODE_MASK | DDR_PHY_DX8SLBDQSCTL_RESERVED_23_22_MASK | DDR_PHY_DX8SLBDQSCTL_WRRMODE_MASK | DDR_PHY_DX8SLBDQSCTL_DQSGX_MASK | DDR_PHY_DX8SLBDQSCTL_LPPLLPD_MASK | DDR_PHY_DX8SLBDQSCTL_LPIOPD_MASK | DDR_PHY_DX8SLBDQSCTL_RESERVED_16_15_MASK | DDR_PHY_DX8SLBDQSCTL_QSCNTEN_MASK | DDR_PHY_DX8SLBDQSCTL_UDQIOM_MASK | DDR_PHY_DX8SLBDQSCTL_RESERVED_12_10_MASK | DDR_PHY_DX8SLBDQSCTL_DXSR_MASK | DDR_PHY_DX8SLBDQSCTL_DQSNRES_MASK | DDR_PHY_DX8SLBDQSCTL_DQSRES_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDR_PHY_DX8SLBDQSCTL_RESERVED_31_25_SHIFT |
| | 0x00000001U << DDR_PHY_DX8SLBDQSCTL_RRRMODE_SHIFT |
| | 0x00000000U << DDR_PHY_DX8SLBDQSCTL_RESERVED_23_22_SHIFT |
| | 0x00000001U << DDR_PHY_DX8SLBDQSCTL_WRRMODE_SHIFT |
| | 0x00000000U << DDR_PHY_DX8SLBDQSCTL_DQSGX_SHIFT |
| | 0x00000001U << DDR_PHY_DX8SLBDQSCTL_LPPLLPD_SHIFT |
| | 0x00000001U << DDR_PHY_DX8SLBDQSCTL_LPIOPD_SHIFT |
| | 0x00000000U << DDR_PHY_DX8SLBDQSCTL_RESERVED_16_15_SHIFT |
| | 0x00000001U << DDR_PHY_DX8SLBDQSCTL_QSCNTEN_SHIFT |
| | 0x00000000U << DDR_PHY_DX8SLBDQSCTL_UDQIOM_SHIFT |
| | 0x00000000U << DDR_PHY_DX8SLBDQSCTL_RESERVED_12_10_SHIFT |
| | 0x00000003U << DDR_PHY_DX8SLBDQSCTL_DXSR_SHIFT |
| | 0x0000000CU << DDR_PHY_DX8SLBDQSCTL_DQSNRES_SHIFT |
| | 0x00000004U << DDR_PHY_DX8SLBDQSCTL_DQSRES_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDR_PHY_DX8SLBDQSCTL_OFFSET ,0xFFFFFFFFU ,0x012643C4U); |
| /*############################################################################################################################ */ |
| |
| /*Register : PIR @ 0XFD080004</p> |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_PIR_RESERVED_31 0x0 |
| |
| Impedance Calibration Bypass |
| PSU_DDR_PHY_PIR_ZCALBYP 0x0 |
| |
| Digital Delay Line (DDL) Calibration Pause |
| PSU_DDR_PHY_PIR_DCALPSE 0x0 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_PIR_RESERVED_28_21 0x0 |
| |
| Write DQS2DQ Training |
| PSU_DDR_PHY_PIR_DQS2DQ 0x0 |
| |
| RDIMM Initialization |
| PSU_DDR_PHY_PIR_RDIMMINIT 0x0 |
| |
| Controller DRAM Initialization |
| PSU_DDR_PHY_PIR_CTLDINIT 0x1 |
| |
| VREF Training |
| PSU_DDR_PHY_PIR_VREF 0x0 |
| |
| Static Read Training |
| PSU_DDR_PHY_PIR_SRD 0x0 |
| |
| Write Data Eye Training |
| PSU_DDR_PHY_PIR_WREYE 0x0 |
| |
| Read Data Eye Training |
| PSU_DDR_PHY_PIR_RDEYE 0x0 |
| |
| Write Data Bit Deskew |
| PSU_DDR_PHY_PIR_WRDSKW 0x0 |
| |
| Read Data Bit Deskew |
| PSU_DDR_PHY_PIR_RDDSKW 0x0 |
| |
| Write Leveling Adjust |
| PSU_DDR_PHY_PIR_WLADJ 0x0 |
| |
| Read DQS Gate Training |
| PSU_DDR_PHY_PIR_QSGATE 0x0 |
| |
| Write Leveling |
| PSU_DDR_PHY_PIR_WL 0x0 |
| |
| DRAM Initialization |
| PSU_DDR_PHY_PIR_DRAMINIT 0x0 |
| |
| DRAM Reset (DDR3/DDR4/LPDDR4 Only) |
| PSU_DDR_PHY_PIR_DRAMRST 0x0 |
| |
| PHY Reset |
| PSU_DDR_PHY_PIR_PHYRST 0x1 |
| |
| Digital Delay Line (DDL) Calibration |
| PSU_DDR_PHY_PIR_DCAL 0x1 |
| |
| PLL Initialiazation |
| PSU_DDR_PHY_PIR_PLLINIT 0x1 |
| |
| Reserved. Return zeroes on reads. |
| PSU_DDR_PHY_PIR_RESERVED_3 0x0 |
| |
| CA Training |
| PSU_DDR_PHY_PIR_CA 0x0 |
| |
| Impedance Calibration |
| PSU_DDR_PHY_PIR_ZCAL 0x1 |
| |
| Initialization Trigger |
| PSU_DDR_PHY_PIR_INIT 0x1 |
| |
| PHY Initialization Register |
| (OFFSET, MASK, VALUE) (0XFD080004, 0xFFFFFFFFU ,0x00040073U) |
| RegMask = (DDR_PHY_PIR_RESERVED_31_MASK | DDR_PHY_PIR_ZCALBYP_MASK | DDR_PHY_PIR_DCALPSE_MASK | DDR_PHY_PIR_RESERVED_28_21_MASK | DDR_PHY_PIR_DQS2DQ_MASK | DDR_PHY_PIR_RDIMMINIT_MASK | DDR_PHY_PIR_CTLDINIT_MASK | DDR_PHY_PIR_VREF_MASK | DDR_PHY_PIR_SRD_MASK | DDR_PHY_PIR_WREYE_MASK | DDR_PHY_PIR_RDEYE_MASK | DDR_PHY_PIR_WRDSKW_MASK | DDR_PHY_PIR_RDDSKW_MASK | DDR_PHY_PIR_WLADJ_MASK | DDR_PHY_PIR_QSGATE_MASK | DDR_PHY_PIR_WL_MASK | DDR_PHY_PIR_DRAMINIT_MASK | DDR_PHY_PIR_DRAMRST_MASK | DDR_PHY_PIR_PHYRST_MASK | DDR_PHY_PIR_DCAL_MASK | DDR_PHY_PIR_PLLINIT_MASK | DDR_PHY_PIR_RESERVED_3_MASK | DDR_PHY_PIR_CA_MASK | DDR_PHY_PIR_ZCAL_MASK | DDR_PHY_PIR_INIT_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DDR_PHY_PIR_RESERVED_31_SHIFT |
| | 0x00000000U << DDR_PHY_PIR_ZCALBYP_SHIFT |
| | 0x00000000U << DDR_PHY_PIR_DCALPSE_SHIFT |
| | 0x00000000U << DDR_PHY_PIR_RESERVED_28_21_SHIFT |
| | 0x00000000U << DDR_PHY_PIR_DQS2DQ_SHIFT |
| | 0x00000000U << DDR_PHY_PIR_RDIMMINIT_SHIFT |
| | 0x00000001U << DDR_PHY_PIR_CTLDINIT_SHIFT |
| | 0x00000000U << DDR_PHY_PIR_VREF_SHIFT |
| | 0x00000000U << DDR_PHY_PIR_SRD_SHIFT |
| | 0x00000000U << DDR_PHY_PIR_WREYE_SHIFT |
| | 0x00000000U << DDR_PHY_PIR_RDEYE_SHIFT |
| | 0x00000000U << DDR_PHY_PIR_WRDSKW_SHIFT |
| | 0x00000000U << DDR_PHY_PIR_RDDSKW_SHIFT |
| | 0x00000000U << DDR_PHY_PIR_WLADJ_SHIFT |
| | 0x00000000U << DDR_PHY_PIR_QSGATE_SHIFT |
| | 0x00000000U << DDR_PHY_PIR_WL_SHIFT |
| | 0x00000000U << DDR_PHY_PIR_DRAMINIT_SHIFT |
| | 0x00000000U << DDR_PHY_PIR_DRAMRST_SHIFT |
| | 0x00000001U << DDR_PHY_PIR_PHYRST_SHIFT |
| | 0x00000001U << DDR_PHY_PIR_DCAL_SHIFT |
| | 0x00000001U << DDR_PHY_PIR_PLLINIT_SHIFT |
| | 0x00000000U << DDR_PHY_PIR_RESERVED_3_SHIFT |
| | 0x00000000U << DDR_PHY_PIR_CA_SHIFT |
| | 0x00000001U << DDR_PHY_PIR_ZCAL_SHIFT |
| | 0x00000001U << DDR_PHY_PIR_INIT_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DDR_PHY_PIR_OFFSET ,0xFFFFFFFFU ,0x00040073U); |
| /*############################################################################################################################ */ |
| |
| |
| return 1; |
| } |
| unsigned long psu_mio_init_data() { |
| // : MIO PROGRAMMING |
| /*Register : MIO_PIN_0 @ 0XFF180000</p> |
| |
| Level 0 Mux Select 0= Level 1 Mux Output 1= qspi, Output, qspi_sclk_out- (QSPI Clock) |
| PSU_IOU_SLCR_MIO_PIN_0_L0_SEL 1 |
| |
| Level 1 Mux Select 0= Level 2 Mux Output 1= Not Used |
| PSU_IOU_SLCR_MIO_PIN_0_L1_SEL 0 |
| |
| 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 |
| PSU_IOU_SLCR_MIO_PIN_0_L2_SEL 0 |
| |
| 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) |
| PSU_IOU_SLCR_MIO_PIN_0_L3_SEL 0 |
| |
| Configures MIO Pin 0 peripheral interface mapping. S |
| (OFFSET, MASK, VALUE) (0XFF180000, 0x000000FEU ,0x00000002U) |
| RegMask = (IOU_SLCR_MIO_PIN_0_L0_SEL_MASK | IOU_SLCR_MIO_PIN_0_L1_SEL_MASK | IOU_SLCR_MIO_PIN_0_L2_SEL_MASK | IOU_SLCR_MIO_PIN_0_L3_SEL_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << IOU_SLCR_MIO_PIN_0_L0_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_0_L1_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_0_L2_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_0_L3_SEL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (IOU_SLCR_MIO_PIN_0_OFFSET ,0x000000FEU ,0x00000002U); |
| /*############################################################################################################################ */ |
| |
| /*Register : MIO_PIN_1 @ 0XFF180004</p> |
| |
| 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) |
| PSU_IOU_SLCR_MIO_PIN_1_L0_SEL 1 |
| |
| Level 1 Mux Select 0= Level 2 Mux Output 1= Not Used |
| PSU_IOU_SLCR_MIO_PIN_1_L1_SEL 0 |
| |
| 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 |
| PSU_IOU_SLCR_MIO_PIN_1_L2_SEL 0 |
| |
| 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) |
| PSU_IOU_SLCR_MIO_PIN_1_L3_SEL 0 |
| |
| Configures MIO Pin 1 peripheral interface mapping |
| (OFFSET, MASK, VALUE) (0XFF180004, 0x000000FEU ,0x00000002U) |
| RegMask = (IOU_SLCR_MIO_PIN_1_L0_SEL_MASK | IOU_SLCR_MIO_PIN_1_L1_SEL_MASK | IOU_SLCR_MIO_PIN_1_L2_SEL_MASK | IOU_SLCR_MIO_PIN_1_L3_SEL_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << IOU_SLCR_MIO_PIN_1_L0_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_1_L1_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_1_L2_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_1_L3_SEL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (IOU_SLCR_MIO_PIN_1_OFFSET ,0x000000FEU ,0x00000002U); |
| /*############################################################################################################################ */ |
| |
| /*Register : MIO_PIN_2 @ 0XFF180008</p> |
| |
| Level 0 Mux Select 0= Level 1 Mux Output 1= qspi, Input, qspi_mi2- (QSPI Databus) 1= qspi, Output, qspi_mo2- (QSPI Databus) |
| PSU_IOU_SLCR_MIO_PIN_2_L0_SEL 1 |
| |
| Level 1 Mux Select 0= Level 2 Mux Output 1= Not Used |
| PSU_IOU_SLCR_MIO_PIN_2_L1_SEL 0 |
| |
| 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 |
| PSU_IOU_SLCR_MIO_PIN_2_L2_SEL 0 |
| |
| 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) |
| PSU_IOU_SLCR_MIO_PIN_2_L3_SEL 0 |
| |
| Configures MIO Pin 2 peripheral interface mapping |
| (OFFSET, MASK, VALUE) (0XFF180008, 0x000000FEU ,0x00000002U) |
| RegMask = (IOU_SLCR_MIO_PIN_2_L0_SEL_MASK | IOU_SLCR_MIO_PIN_2_L1_SEL_MASK | IOU_SLCR_MIO_PIN_2_L2_SEL_MASK | IOU_SLCR_MIO_PIN_2_L3_SEL_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << IOU_SLCR_MIO_PIN_2_L0_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_2_L1_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_2_L2_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_2_L3_SEL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (IOU_SLCR_MIO_PIN_2_OFFSET ,0x000000FEU ,0x00000002U); |
| /*############################################################################################################################ */ |
| |
| /*Register : MIO_PIN_3 @ 0XFF18000C</p> |
| |
| Level 0 Mux Select 0= Level 1 Mux Output 1= qspi, Input, qspi_mi3- (QSPI Databus) 1= qspi, Output, qspi_mo3- (QSPI Databus) |
| PSU_IOU_SLCR_MIO_PIN_3_L0_SEL 1 |
| |
| Level 1 Mux Select 0= Level 2 Mux Output 1= Not Used |
| PSU_IOU_SLCR_MIO_PIN_3_L1_SEL 0 |
| |
| 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 |
| PSU_IOU_SLCR_MIO_PIN_3_L2_SEL 0 |
| |
| 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) |
| PSU_IOU_SLCR_MIO_PIN_3_L3_SEL 0 |
| |
| Configures MIO Pin 3 peripheral interface mapping |
| (OFFSET, MASK, VALUE) (0XFF18000C, 0x000000FEU ,0x00000002U) |
| RegMask = (IOU_SLCR_MIO_PIN_3_L0_SEL_MASK | IOU_SLCR_MIO_PIN_3_L1_SEL_MASK | IOU_SLCR_MIO_PIN_3_L2_SEL_MASK | IOU_SLCR_MIO_PIN_3_L3_SEL_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << IOU_SLCR_MIO_PIN_3_L0_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_3_L1_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_3_L2_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_3_L3_SEL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (IOU_SLCR_MIO_PIN_3_OFFSET ,0x000000FEU ,0x00000002U); |
| /*############################################################################################################################ */ |
| |
| /*Register : MIO_PIN_4 @ 0XFF180010</p> |
| |
| 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) |
| PSU_IOU_SLCR_MIO_PIN_4_L0_SEL 1 |
| |
| Level 1 Mux Select 0= Level 2 Mux Output 1= Not Used |
| PSU_IOU_SLCR_MIO_PIN_4_L1_SEL 0 |
| |
| 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 |
| PSU_IOU_SLCR_MIO_PIN_4_L2_SEL 0 |
| |
| 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) |
| PSU_IOU_SLCR_MIO_PIN_4_L3_SEL 0 |
| |
| Configures MIO Pin 4 peripheral interface mapping |
| (OFFSET, MASK, VALUE) (0XFF180010, 0x000000FEU ,0x00000002U) |
| RegMask = (IOU_SLCR_MIO_PIN_4_L0_SEL_MASK | IOU_SLCR_MIO_PIN_4_L1_SEL_MASK | IOU_SLCR_MIO_PIN_4_L2_SEL_MASK | IOU_SLCR_MIO_PIN_4_L3_SEL_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << IOU_SLCR_MIO_PIN_4_L0_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_4_L1_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_4_L2_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_4_L3_SEL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (IOU_SLCR_MIO_PIN_4_OFFSET ,0x000000FEU ,0x00000002U); |
| /*############################################################################################################################ */ |
| |
| /*Register : MIO_PIN_5 @ 0XFF180014</p> |
| |
| Level 0 Mux Select 0= Level 1 Mux Output 1= qspi, Output, qspi_n_ss_out- (QSPI Slave Select) |
| PSU_IOU_SLCR_MIO_PIN_5_L0_SEL 1 |
| |
| Level 1 Mux Select 0= Level 2 Mux Output 1= Not Used |
| PSU_IOU_SLCR_MIO_PIN_5_L1_SEL 0 |
| |
| 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 |
| PSU_IOU_SLCR_MIO_PIN_5_L2_SEL 0 |
| |
| 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) |
| PSU_IOU_SLCR_MIO_PIN_5_L3_SEL 0 |
| |
| Configures MIO Pin 5 peripheral interface mapping |
| (OFFSET, MASK, VALUE) (0XFF180014, 0x000000FEU ,0x00000002U) |
| RegMask = (IOU_SLCR_MIO_PIN_5_L0_SEL_MASK | IOU_SLCR_MIO_PIN_5_L1_SEL_MASK | IOU_SLCR_MIO_PIN_5_L2_SEL_MASK | IOU_SLCR_MIO_PIN_5_L3_SEL_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << IOU_SLCR_MIO_PIN_5_L0_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_5_L1_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_5_L2_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_5_L3_SEL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (IOU_SLCR_MIO_PIN_5_OFFSET ,0x000000FEU ,0x00000002U); |
| /*############################################################################################################################ */ |
| |
| /*Register : MIO_PIN_6 @ 0XFF180018</p> |
| |
| Level 0 Mux Select 0= Level 1 Mux Output 1= qspi, Output, qspi_clk_for_lpbk- (QSPI Clock to be fed-back) |
| PSU_IOU_SLCR_MIO_PIN_6_L0_SEL 1 |
| |
| Level 1 Mux Select 0= Level 2 Mux Output 1= Not Used |
| PSU_IOU_SLCR_MIO_PIN_6_L1_SEL 0 |
| |
| 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 |
| PSU_IOU_SLCR_MIO_PIN_6_L2_SEL 0 |
| |
| 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) |
| PSU_IOU_SLCR_MIO_PIN_6_L3_SEL 0 |
| |
| Configures MIO Pin 6 peripheral interface mapping |
| (OFFSET, MASK, VALUE) (0XFF180018, 0x000000FEU ,0x00000002U) |
| RegMask = (IOU_SLCR_MIO_PIN_6_L0_SEL_MASK | IOU_SLCR_MIO_PIN_6_L1_SEL_MASK | IOU_SLCR_MIO_PIN_6_L2_SEL_MASK | IOU_SLCR_MIO_PIN_6_L3_SEL_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << IOU_SLCR_MIO_PIN_6_L0_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_6_L1_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_6_L2_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_6_L3_SEL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (IOU_SLCR_MIO_PIN_6_OFFSET ,0x000000FEU ,0x00000002U); |
| /*############################################################################################################################ */ |
| |
| /*Register : MIO_PIN_7 @ 0XFF18001C</p> |
| |
| Level 0 Mux Select 0= Level 1 Mux Output 1= qspi, Output, qspi_n_ss_out_upper- (QSPI Slave Select upper) |
| PSU_IOU_SLCR_MIO_PIN_7_L0_SEL 1 |
| |
| Level 1 Mux Select 0= Level 2 Mux Output 1= Not Used |
| PSU_IOU_SLCR_MIO_PIN_7_L1_SEL 0 |
| |
| 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 |
| PSU_IOU_SLCR_MIO_PIN_7_L2_SEL 0 |
| |
| 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) |
| PSU_IOU_SLCR_MIO_PIN_7_L3_SEL 0 |
| |
| Configures MIO Pin 7 peripheral interface mapping |
| (OFFSET, MASK, VALUE) (0XFF18001C, 0x000000FEU ,0x00000002U) |
| RegMask = (IOU_SLCR_MIO_PIN_7_L0_SEL_MASK | IOU_SLCR_MIO_PIN_7_L1_SEL_MASK | IOU_SLCR_MIO_PIN_7_L2_SEL_MASK | IOU_SLCR_MIO_PIN_7_L3_SEL_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << IOU_SLCR_MIO_PIN_7_L0_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_7_L1_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_7_L2_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_7_L3_SEL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (IOU_SLCR_MIO_PIN_7_OFFSET ,0x000000FEU ,0x00000002U); |
| /*############################################################################################################################ */ |
| |
| /*Register : MIO_PIN_8 @ 0XFF180020</p> |
| |
| 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) |
| PSU_IOU_SLCR_MIO_PIN_8_L0_SEL 1 |
| |
| Level 1 Mux Select 0= Level 2 Mux Output 1= Not Used |
| PSU_IOU_SLCR_MIO_PIN_8_L1_SEL 0 |
| |
| 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 |
| PSU_IOU_SLCR_MIO_PIN_8_L2_SEL 0 |
| |
| 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) |
| PSU_IOU_SLCR_MIO_PIN_8_L3_SEL 0 |
| |
| Configures MIO Pin 8 peripheral interface mapping |
| (OFFSET, MASK, VALUE) (0XFF180020, 0x000000FEU ,0x00000002U) |
| RegMask = (IOU_SLCR_MIO_PIN_8_L0_SEL_MASK | IOU_SLCR_MIO_PIN_8_L1_SEL_MASK | IOU_SLCR_MIO_PIN_8_L2_SEL_MASK | IOU_SLCR_MIO_PIN_8_L3_SEL_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << IOU_SLCR_MIO_PIN_8_L0_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_8_L1_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_8_L2_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_8_L3_SEL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (IOU_SLCR_MIO_PIN_8_OFFSET ,0x000000FEU ,0x00000002U); |
| /*############################################################################################################################ */ |
| |
| /*Register : MIO_PIN_9 @ 0XFF180024</p> |
| |
| 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) |
| PSU_IOU_SLCR_MIO_PIN_9_L0_SEL 1 |
| |
| Level 1 Mux Select 0= Level 2 Mux Output 1= nand, Output, nfc_ce[1]- (NAND chip enable) |
| PSU_IOU_SLCR_MIO_PIN_9_L1_SEL 0 |
| |
| 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 |
| PSU_IOU_SLCR_MIO_PIN_9_L2_SEL 0 |
| |
| 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) |
| PSU_IOU_SLCR_MIO_PIN_9_L3_SEL 0 |
| |
| Configures MIO Pin 9 peripheral interface mapping |
| (OFFSET, MASK, VALUE) (0XFF180024, 0x000000FEU ,0x00000002U) |
| RegMask = (IOU_SLCR_MIO_PIN_9_L0_SEL_MASK | IOU_SLCR_MIO_PIN_9_L1_SEL_MASK | IOU_SLCR_MIO_PIN_9_L2_SEL_MASK | IOU_SLCR_MIO_PIN_9_L3_SEL_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << IOU_SLCR_MIO_PIN_9_L0_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_9_L1_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_9_L2_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_9_L3_SEL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (IOU_SLCR_MIO_PIN_9_OFFSET ,0x000000FEU ,0x00000002U); |
| /*############################################################################################################################ */ |
| |
| /*Register : MIO_PIN_10 @ 0XFF180028</p> |
| |
| 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) |
| PSU_IOU_SLCR_MIO_PIN_10_L0_SEL 1 |
| |
| Level 1 Mux Select 0= Level 2 Mux Output 1= nand, Input, nfc_rb_n[0]- (NAND Ready/Busy) |
| PSU_IOU_SLCR_MIO_PIN_10_L1_SEL 0 |
| |
| 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 |
| PSU_IOU_SLCR_MIO_PIN_10_L2_SEL 0 |
| |
| 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) |
| PSU_IOU_SLCR_MIO_PIN_10_L3_SEL 0 |
| |
| Configures MIO Pin 10 peripheral interface mapping |
| (OFFSET, MASK, VALUE) (0XFF180028, 0x000000FEU ,0x00000002U) |
| RegMask = (IOU_SLCR_MIO_PIN_10_L0_SEL_MASK | IOU_SLCR_MIO_PIN_10_L1_SEL_MASK | IOU_SLCR_MIO_PIN_10_L2_SEL_MASK | IOU_SLCR_MIO_PIN_10_L3_SEL_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << IOU_SLCR_MIO_PIN_10_L0_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_10_L1_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_10_L2_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_10_L3_SEL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (IOU_SLCR_MIO_PIN_10_OFFSET ,0x000000FEU ,0x00000002U); |
| /*############################################################################################################################ */ |
| |
| /*Register : MIO_PIN_11 @ 0XFF18002C</p> |
| |
| 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) |
| PSU_IOU_SLCR_MIO_PIN_11_L0_SEL 1 |
| |
| Level 1 Mux Select 0= Level 2 Mux Output 1= nand, Input, nfc_rb_n[1]- (NAND Ready/Busy) |
| PSU_IOU_SLCR_MIO_PIN_11_L1_SEL 0 |
| |
| 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 |
| PSU_IOU_SLCR_MIO_PIN_11_L2_SEL 0 |
| |
| 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) |
| PSU_IOU_SLCR_MIO_PIN_11_L3_SEL 0 |
| |
| Configures MIO Pin 11 peripheral interface mapping |
| (OFFSET, MASK, VALUE) (0XFF18002C, 0x000000FEU ,0x00000002U) |
| RegMask = (IOU_SLCR_MIO_PIN_11_L0_SEL_MASK | IOU_SLCR_MIO_PIN_11_L1_SEL_MASK | IOU_SLCR_MIO_PIN_11_L2_SEL_MASK | IOU_SLCR_MIO_PIN_11_L3_SEL_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << IOU_SLCR_MIO_PIN_11_L0_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_11_L1_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_11_L2_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_11_L3_SEL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (IOU_SLCR_MIO_PIN_11_OFFSET ,0x000000FEU ,0x00000002U); |
| /*############################################################################################################################ */ |
| |
| /*Register : MIO_PIN_12 @ 0XFF180030</p> |
| |
| Level 0 Mux Select 0= Level 1 Mux Output 1= qspi, Output, qspi_sclk_out_upper- (QSPI Upper Clock) |
| PSU_IOU_SLCR_MIO_PIN_12_L0_SEL 1 |
| |
| 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 |
| |
| PSU_IOU_SLCR_MIO_PIN_12_L1_SEL 0 |
| |
| 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 |
| PSU_IOU_SLCR_MIO_PIN_12_L2_SEL 0 |
| |
| 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) |
| PSU_IOU_SLCR_MIO_PIN_12_L3_SEL 0 |
| |
| Configures MIO Pin 12 peripheral interface mapping |
| (OFFSET, MASK, VALUE) (0XFF180030, 0x000000FEU ,0x00000002U) |
| RegMask = (IOU_SLCR_MIO_PIN_12_L0_SEL_MASK | IOU_SLCR_MIO_PIN_12_L1_SEL_MASK | IOU_SLCR_MIO_PIN_12_L2_SEL_MASK | IOU_SLCR_MIO_PIN_12_L3_SEL_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << IOU_SLCR_MIO_PIN_12_L0_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_12_L1_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_12_L2_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_12_L3_SEL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (IOU_SLCR_MIO_PIN_12_OFFSET ,0x000000FEU ,0x00000002U); |
| /*############################################################################################################################ */ |
| |
| /*Register : MIO_PIN_13 @ 0XFF180034</p> |
| |
| Level 0 Mux Select 0= Level 1 Mux Output 1= Not Used |
| PSU_IOU_SLCR_MIO_PIN_13_L0_SEL 0 |
| |
| Level 1 Mux Select 0= Level 2 Mux Output 1= nand, Output, nfc_ce[0]- (NAND chip enable) |
| PSU_IOU_SLCR_MIO_PIN_13_L1_SEL 0 |
| |
| 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 |
| PSU_IOU_SLCR_MIO_PIN_13_L2_SEL 0 |
| |
| 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) |
| PSU_IOU_SLCR_MIO_PIN_13_L3_SEL 0 |
| |
| Configures MIO Pin 13 peripheral interface mapping |
| (OFFSET, MASK, VALUE) (0XFF180034, 0x000000FEU ,0x00000000U) |
| RegMask = (IOU_SLCR_MIO_PIN_13_L0_SEL_MASK | IOU_SLCR_MIO_PIN_13_L1_SEL_MASK | IOU_SLCR_MIO_PIN_13_L2_SEL_MASK | IOU_SLCR_MIO_PIN_13_L3_SEL_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << IOU_SLCR_MIO_PIN_13_L0_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_13_L1_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_13_L2_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_13_L3_SEL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (IOU_SLCR_MIO_PIN_13_OFFSET ,0x000000FEU ,0x00000000U); |
| /*############################################################################################################################ */ |
| |
| /*Register : MIO_PIN_14 @ 0XFF180038</p> |
| |
| Level 0 Mux Select 0= Level 1 Mux Output 1= Not Used |
| PSU_IOU_SLCR_MIO_PIN_14_L0_SEL 0 |
| |
| Level 1 Mux Select 0= Level 2 Mux Output 1= nand, Output, nfc_cle- (NAND Command Latch Enable) |
| PSU_IOU_SLCR_MIO_PIN_14_L1_SEL 0 |
| |
| 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 |
| PSU_IOU_SLCR_MIO_PIN_14_L2_SEL 0 |
| |
| 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) |
| PSU_IOU_SLCR_MIO_PIN_14_L3_SEL 2 |
| |
| Configures MIO Pin 14 peripheral interface mapping |
| (OFFSET, MASK, VALUE) (0XFF180038, 0x000000FEU ,0x00000040U) |
| RegMask = (IOU_SLCR_MIO_PIN_14_L0_SEL_MASK | IOU_SLCR_MIO_PIN_14_L1_SEL_MASK | IOU_SLCR_MIO_PIN_14_L2_SEL_MASK | IOU_SLCR_MIO_PIN_14_L3_SEL_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << IOU_SLCR_MIO_PIN_14_L0_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_14_L1_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_14_L2_SEL_SHIFT |
| | 0x00000002U << IOU_SLCR_MIO_PIN_14_L3_SEL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (IOU_SLCR_MIO_PIN_14_OFFSET ,0x000000FEU ,0x00000040U); |
| /*############################################################################################################################ */ |
| |
| /*Register : MIO_PIN_15 @ 0XFF18003C</p> |
| |
| Level 0 Mux Select 0= Level 1 Mux Output 1= Not Used |
| PSU_IOU_SLCR_MIO_PIN_15_L0_SEL 0 |
| |
| Level 1 Mux Select 0= Level 2 Mux Output 1= nand, Output, nfc_ale- (NAND Address Latch Enable) |
| PSU_IOU_SLCR_MIO_PIN_15_L1_SEL 0 |
| |
| 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 |
| PSU_IOU_SLCR_MIO_PIN_15_L2_SEL 0 |
| |
| 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) |
| PSU_IOU_SLCR_MIO_PIN_15_L3_SEL 2 |
| |
| Configures MIO Pin 15 peripheral interface mapping |
| (OFFSET, MASK, VALUE) (0XFF18003C, 0x000000FEU ,0x00000040U) |
| RegMask = (IOU_SLCR_MIO_PIN_15_L0_SEL_MASK | IOU_SLCR_MIO_PIN_15_L1_SEL_MASK | IOU_SLCR_MIO_PIN_15_L2_SEL_MASK | IOU_SLCR_MIO_PIN_15_L3_SEL_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << IOU_SLCR_MIO_PIN_15_L0_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_15_L1_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_15_L2_SEL_SHIFT |
| | 0x00000002U << IOU_SLCR_MIO_PIN_15_L3_SEL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (IOU_SLCR_MIO_PIN_15_OFFSET ,0x000000FEU ,0x00000040U); |
| /*############################################################################################################################ */ |
| |
| /*Register : MIO_PIN_16 @ 0XFF180040</p> |
| |
| Level 0 Mux Select 0= Level 1 Mux Output 1= Not Used |
| PSU_IOU_SLCR_MIO_PIN_16_L0_SEL 0 |
| |
| 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) |
| PSU_IOU_SLCR_MIO_PIN_16_L1_SEL 0 |
| |
| 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 |
| PSU_IOU_SLCR_MIO_PIN_16_L2_SEL 0 |
| |
| 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) |
| PSU_IOU_SLCR_MIO_PIN_16_L3_SEL 2 |
| |
| Configures MIO Pin 16 peripheral interface mapping |
| (OFFSET, MASK, VALUE) (0XFF180040, 0x000000FEU ,0x00000040U) |
| RegMask = (IOU_SLCR_MIO_PIN_16_L0_SEL_MASK | IOU_SLCR_MIO_PIN_16_L1_SEL_MASK | IOU_SLCR_MIO_PIN_16_L2_SEL_MASK | IOU_SLCR_MIO_PIN_16_L3_SEL_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << IOU_SLCR_MIO_PIN_16_L0_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_16_L1_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_16_L2_SEL_SHIFT |
| | 0x00000002U << IOU_SLCR_MIO_PIN_16_L3_SEL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (IOU_SLCR_MIO_PIN_16_OFFSET ,0x000000FEU ,0x00000040U); |
| /*############################################################################################################################ */ |
| |
| /*Register : MIO_PIN_17 @ 0XFF180044</p> |
| |
| Level 0 Mux Select 0= Level 1 Mux Output 1= Not Used |
| PSU_IOU_SLCR_MIO_PIN_17_L0_SEL 0 |
| |
| 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) |
| PSU_IOU_SLCR_MIO_PIN_17_L1_SEL 0 |
| |
| 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 |
| PSU_IOU_SLCR_MIO_PIN_17_L2_SEL 0 |
| |
| 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) |
| PSU_IOU_SLCR_MIO_PIN_17_L3_SEL 2 |
| |
| Configures MIO Pin 17 peripheral interface mapping |
| (OFFSET, MASK, VALUE) (0XFF180044, 0x000000FEU ,0x00000040U) |
| RegMask = (IOU_SLCR_MIO_PIN_17_L0_SEL_MASK | IOU_SLCR_MIO_PIN_17_L1_SEL_MASK | IOU_SLCR_MIO_PIN_17_L2_SEL_MASK | IOU_SLCR_MIO_PIN_17_L3_SEL_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << IOU_SLCR_MIO_PIN_17_L0_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_17_L1_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_17_L2_SEL_SHIFT |
| | 0x00000002U << IOU_SLCR_MIO_PIN_17_L3_SEL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (IOU_SLCR_MIO_PIN_17_OFFSET ,0x000000FEU ,0x00000040U); |
| /*############################################################################################################################ */ |
| |
| /*Register : MIO_PIN_18 @ 0XFF180048</p> |
| |
| Level 0 Mux Select 0= Level 1 Mux Output 1= Not Used |
| PSU_IOU_SLCR_MIO_PIN_18_L0_SEL 0 |
| |
| 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) |
| PSU_IOU_SLCR_MIO_PIN_18_L1_SEL 0 |
| |
| 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) |
| PSU_IOU_SLCR_MIO_PIN_18_L2_SEL 0 |
| |
| 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 |
| PSU_IOU_SLCR_MIO_PIN_18_L3_SEL 6 |
| |
| Configures MIO Pin 18 peripheral interface mapping |
| (OFFSET, MASK, VALUE) (0XFF180048, 0x000000FEU ,0x000000C0U) |
| RegMask = (IOU_SLCR_MIO_PIN_18_L0_SEL_MASK | IOU_SLCR_MIO_PIN_18_L1_SEL_MASK | IOU_SLCR_MIO_PIN_18_L2_SEL_MASK | IOU_SLCR_MIO_PIN_18_L3_SEL_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << IOU_SLCR_MIO_PIN_18_L0_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_18_L1_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_18_L2_SEL_SHIFT |
| | 0x00000006U << IOU_SLCR_MIO_PIN_18_L3_SEL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (IOU_SLCR_MIO_PIN_18_OFFSET ,0x000000FEU ,0x000000C0U); |
| /*############################################################################################################################ */ |
| |
| /*Register : MIO_PIN_19 @ 0XFF18004C</p> |
| |
| Level 0 Mux Select 0= Level 1 Mux Output 1= Not Used |
| PSU_IOU_SLCR_MIO_PIN_19_L0_SEL 0 |
| |
| 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) |
| PSU_IOU_SLCR_MIO_PIN_19_L1_SEL 0 |
| |
| 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) |
| PSU_IOU_SLCR_MIO_PIN_19_L2_SEL 0 |
| |
| 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 |
| PSU_IOU_SLCR_MIO_PIN_19_L3_SEL 6 |
| |
| Configures MIO Pin 19 peripheral interface mapping |
| (OFFSET, MASK, VALUE) (0XFF18004C, 0x000000FEU ,0x000000C0U) |
| RegMask = (IOU_SLCR_MIO_PIN_19_L0_SEL_MASK | IOU_SLCR_MIO_PIN_19_L1_SEL_MASK | IOU_SLCR_MIO_PIN_19_L2_SEL_MASK | IOU_SLCR_MIO_PIN_19_L3_SEL_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << IOU_SLCR_MIO_PIN_19_L0_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_19_L1_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_19_L2_SEL_SHIFT |
| | 0x00000006U << IOU_SLCR_MIO_PIN_19_L3_SEL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (IOU_SLCR_MIO_PIN_19_OFFSET ,0x000000FEU ,0x000000C0U); |
| /*############################################################################################################################ */ |
| |
| /*Register : MIO_PIN_20 @ 0XFF180050</p> |
| |
| Level 0 Mux Select 0= Level 1 Mux Output 1= Not Used |
| PSU_IOU_SLCR_MIO_PIN_20_L0_SEL 0 |
| |
| 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) |
| PSU_IOU_SLCR_MIO_PIN_20_L1_SEL 0 |
| |
| 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) |
| PSU_IOU_SLCR_MIO_PIN_20_L2_SEL 0 |
| |
| 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 |
| PSU_IOU_SLCR_MIO_PIN_20_L3_SEL 6 |
| |
| Configures MIO Pin 20 peripheral interface mapping |
| (OFFSET, MASK, VALUE) (0XFF180050, 0x000000FEU ,0x000000C0U) |
| RegMask = (IOU_SLCR_MIO_PIN_20_L0_SEL_MASK | IOU_SLCR_MIO_PIN_20_L1_SEL_MASK | IOU_SLCR_MIO_PIN_20_L2_SEL_MASK | IOU_SLCR_MIO_PIN_20_L3_SEL_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << IOU_SLCR_MIO_PIN_20_L0_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_20_L1_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_20_L2_SEL_SHIFT |
| | 0x00000006U << IOU_SLCR_MIO_PIN_20_L3_SEL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (IOU_SLCR_MIO_PIN_20_OFFSET ,0x000000FEU ,0x000000C0U); |
| /*############################################################################################################################ */ |
| |
| /*Register : MIO_PIN_21 @ 0XFF180054</p> |
| |
| Level 0 Mux Select 0= Level 1 Mux Output 1= Not Used |
| PSU_IOU_SLCR_MIO_PIN_21_L0_SEL 0 |
| |
| 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) |
| PSU_IOU_SLCR_MIO_PIN_21_L1_SEL 0 |
| |
| 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) |
| PSU_IOU_SLCR_MIO_PIN_21_L2_SEL 0 |
| |
| 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 |
| PSU_IOU_SLCR_MIO_PIN_21_L3_SEL 6 |
| |
| Configures MIO Pin 21 peripheral interface mapping |
| (OFFSET, MASK, VALUE) (0XFF180054, 0x000000FEU ,0x000000C0U) |
| RegMask = (IOU_SLCR_MIO_PIN_21_L0_SEL_MASK | IOU_SLCR_MIO_PIN_21_L1_SEL_MASK | IOU_SLCR_MIO_PIN_21_L2_SEL_MASK | IOU_SLCR_MIO_PIN_21_L3_SEL_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << IOU_SLCR_MIO_PIN_21_L0_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_21_L1_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_21_L2_SEL_SHIFT |
| | 0x00000006U << IOU_SLCR_MIO_PIN_21_L3_SEL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (IOU_SLCR_MIO_PIN_21_OFFSET ,0x000000FEU ,0x000000C0U); |
| /*############################################################################################################################ */ |
| |
| /*Register : MIO_PIN_22 @ 0XFF180058</p> |
| |
| Level 0 Mux Select 0= Level 1 Mux Output 1= Not Used |
| PSU_IOU_SLCR_MIO_PIN_22_L0_SEL 0 |
| |
| Level 1 Mux Select 0= Level 2 Mux Output 1= nand, Output, nfc_we_b- (NAND Write Enable) |
| PSU_IOU_SLCR_MIO_PIN_22_L1_SEL 0 |
| |
| 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) |
| PSU_IOU_SLCR_MIO_PIN_22_L2_SEL 0 |
| |
| 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 |
| PSU_IOU_SLCR_MIO_PIN_22_L3_SEL 0 |
| |
| Configures MIO Pin 22 peripheral interface mapping |
| (OFFSET, MASK, VALUE) (0XFF180058, 0x000000FEU ,0x00000000U) |
| RegMask = (IOU_SLCR_MIO_PIN_22_L0_SEL_MASK | IOU_SLCR_MIO_PIN_22_L1_SEL_MASK | IOU_SLCR_MIO_PIN_22_L2_SEL_MASK | IOU_SLCR_MIO_PIN_22_L3_SEL_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << IOU_SLCR_MIO_PIN_22_L0_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_22_L1_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_22_L2_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_22_L3_SEL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (IOU_SLCR_MIO_PIN_22_OFFSET ,0x000000FEU ,0x00000000U); |
| /*############################################################################################################################ */ |
| |
| /*Register : MIO_PIN_23 @ 0XFF18005C</p> |
| |
| Level 0 Mux Select 0= Level 1 Mux Output 1= Not Used |
| PSU_IOU_SLCR_MIO_PIN_23_L0_SEL 0 |
| |
| 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) |
| PSU_IOU_SLCR_MIO_PIN_23_L1_SEL 0 |
| |
| 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 |
| |
| PSU_IOU_SLCR_MIO_PIN_23_L2_SEL 0 |
| |
| 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 |
| PSU_IOU_SLCR_MIO_PIN_23_L3_SEL 0 |
| |
| Configures MIO Pin 23 peripheral interface mapping |
| (OFFSET, MASK, VALUE) (0XFF18005C, 0x000000FEU ,0x00000000U) |
| RegMask = (IOU_SLCR_MIO_PIN_23_L0_SEL_MASK | IOU_SLCR_MIO_PIN_23_L1_SEL_MASK | IOU_SLCR_MIO_PIN_23_L2_SEL_MASK | IOU_SLCR_MIO_PIN_23_L3_SEL_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << IOU_SLCR_MIO_PIN_23_L0_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_23_L1_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_23_L2_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_23_L3_SEL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (IOU_SLCR_MIO_PIN_23_OFFSET ,0x000000FEU ,0x00000000U); |
| /*############################################################################################################################ */ |
| |
| /*Register : MIO_PIN_24 @ 0XFF180060</p> |
| |
| Level 0 Mux Select 0= Level 1 Mux Output 1= Not Used |
| PSU_IOU_SLCR_MIO_PIN_24_L0_SEL 0 |
| |
| 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) |
| PSU_IOU_SLCR_MIO_PIN_24_L1_SEL 0 |
| |
| 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) |
| PSU_IOU_SLCR_MIO_PIN_24_L2_SEL 0 |
| |
| 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 |
| PSU_IOU_SLCR_MIO_PIN_24_L3_SEL 1 |
| |
| Configures MIO Pin 24 peripheral interface mapping |
| (OFFSET, MASK, VALUE) (0XFF180060, 0x000000FEU ,0x00000020U) |
| RegMask = (IOU_SLCR_MIO_PIN_24_L0_SEL_MASK | IOU_SLCR_MIO_PIN_24_L1_SEL_MASK | IOU_SLCR_MIO_PIN_24_L2_SEL_MASK | IOU_SLCR_MIO_PIN_24_L3_SEL_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << IOU_SLCR_MIO_PIN_24_L0_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_24_L1_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_24_L2_SEL_SHIFT |
| | 0x00000001U << IOU_SLCR_MIO_PIN_24_L3_SEL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (IOU_SLCR_MIO_PIN_24_OFFSET ,0x000000FEU ,0x00000020U); |
| /*############################################################################################################################ */ |
| |
| /*Register : MIO_PIN_25 @ 0XFF180064</p> |
| |
| Level 0 Mux Select 0= Level 1 Mux Output 1= Not Used |
| PSU_IOU_SLCR_MIO_PIN_25_L0_SEL 0 |
| |
| Level 1 Mux Select 0= Level 2 Mux Output 1= nand, Output, nfc_re_n- (NAND Read Enable) |
| PSU_IOU_SLCR_MIO_PIN_25_L1_SEL 0 |
| |
| 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) |
| PSU_IOU_SLCR_MIO_PIN_25_L2_SEL 0 |
| |
| 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 |
| PSU_IOU_SLCR_MIO_PIN_25_L3_SEL 1 |
| |
| Configures MIO Pin 25 peripheral interface mapping |
| (OFFSET, MASK, VALUE) (0XFF180064, 0x000000FEU ,0x00000020U) |
| RegMask = (IOU_SLCR_MIO_PIN_25_L0_SEL_MASK | IOU_SLCR_MIO_PIN_25_L1_SEL_MASK | IOU_SLCR_MIO_PIN_25_L2_SEL_MASK | IOU_SLCR_MIO_PIN_25_L3_SEL_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << IOU_SLCR_MIO_PIN_25_L0_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_25_L1_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_25_L2_SEL_SHIFT |
| | 0x00000001U << IOU_SLCR_MIO_PIN_25_L3_SEL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (IOU_SLCR_MIO_PIN_25_OFFSET ,0x000000FEU ,0x00000020U); |
| /*############################################################################################################################ */ |
| |
| /*Register : MIO_PIN_26 @ 0XFF180068</p> |
| |
| Level 0 Mux Select 0= Level 1 Mux Output 1= gem0, Output, gem0_rgmii_tx_clk- (TX RGMII clock) |
| PSU_IOU_SLCR_MIO_PIN_26_L0_SEL 0 |
| |
| Level 1 Mux Select 0= Level 2 Mux Output 1= nand, Output, nfc_ce[1]- (NAND chip enable) |
| PSU_IOU_SLCR_MIO_PIN_26_L1_SEL 0 |
| |
| 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) |
| PSU_IOU_SLCR_MIO_PIN_26_L2_SEL 1 |
| |
| 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) |
| PSU_IOU_SLCR_MIO_PIN_26_L3_SEL 0 |
| |
| Configures MIO Pin 26 peripheral interface mapping |
| (OFFSET, MASK, VALUE) (0XFF180068, 0x000000FEU ,0x00000008U) |
| RegMask = (IOU_SLCR_MIO_PIN_26_L0_SEL_MASK | IOU_SLCR_MIO_PIN_26_L1_SEL_MASK | IOU_SLCR_MIO_PIN_26_L2_SEL_MASK | IOU_SLCR_MIO_PIN_26_L3_SEL_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << IOU_SLCR_MIO_PIN_26_L0_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_26_L1_SEL_SHIFT |
| | 0x00000001U << IOU_SLCR_MIO_PIN_26_L2_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_26_L3_SEL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (IOU_SLCR_MIO_PIN_26_OFFSET ,0x000000FEU ,0x00000008U); |
| /*############################################################################################################################ */ |
| |
| /*Register : MIO_PIN_27 @ 0XFF18006C</p> |
| |
| Level 0 Mux Select 0= Level 1 Mux Output 1= gem0, Output, gem0_rgmii_txd[0]- (TX RGMII data) |
| PSU_IOU_SLCR_MIO_PIN_27_L0_SEL 0 |
| |
| Level 1 Mux Select 0= Level 2 Mux Output 1= nand, Input, nfc_rb_n[0]- (NAND Ready/Busy) |
| PSU_IOU_SLCR_MIO_PIN_27_L1_SEL 0 |
| |
| 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) |
| PSU_IOU_SLCR_MIO_PIN_27_L2_SEL 0 |
| |
| 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) |
| PSU_IOU_SLCR_MIO_PIN_27_L3_SEL 0 |
| |
| Configures MIO Pin 27 peripheral interface mapping |
| (OFFSET, MASK, VALUE) (0XFF18006C, 0x000000FEU ,0x00000000U) |
| RegMask = (IOU_SLCR_MIO_PIN_27_L0_SEL_MASK | IOU_SLCR_MIO_PIN_27_L1_SEL_MASK | IOU_SLCR_MIO_PIN_27_L2_SEL_MASK | IOU_SLCR_MIO_PIN_27_L3_SEL_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << IOU_SLCR_MIO_PIN_27_L0_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_27_L1_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_27_L2_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_27_L3_SEL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (IOU_SLCR_MIO_PIN_27_OFFSET ,0x000000FEU ,0x00000000U); |
| /*############################################################################################################################ */ |
| |
| /*Register : MIO_PIN_28 @ 0XFF180070</p> |
| |
| Level 0 Mux Select 0= Level 1 Mux Output 1= gem0, Output, gem0_rgmii_txd[1]- (TX RGMII data) |
| PSU_IOU_SLCR_MIO_PIN_28_L0_SEL 0 |
| |
| Level 1 Mux Select 0= Level 2 Mux Output 1= nand, Input, nfc_rb_n[1]- (NAND Ready/Busy) |
| PSU_IOU_SLCR_MIO_PIN_28_L1_SEL 0 |
| |
| 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) |
| PSU_IOU_SLCR_MIO_PIN_28_L2_SEL 0 |
| |
| 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) |
| PSU_IOU_SLCR_MIO_PIN_28_L3_SEL 0 |
| |
| Configures MIO Pin 28 peripheral interface mapping |
| (OFFSET, MASK, VALUE) (0XFF180070, 0x000000FEU ,0x00000000U) |
| RegMask = (IOU_SLCR_MIO_PIN_28_L0_SEL_MASK | IOU_SLCR_MIO_PIN_28_L1_SEL_MASK | IOU_SLCR_MIO_PIN_28_L2_SEL_MASK | IOU_SLCR_MIO_PIN_28_L3_SEL_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << IOU_SLCR_MIO_PIN_28_L0_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_28_L1_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_28_L2_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_28_L3_SEL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (IOU_SLCR_MIO_PIN_28_OFFSET ,0x000000FEU ,0x00000000U); |
| /*############################################################################################################################ */ |
| |
| /*Register : MIO_PIN_29 @ 0XFF180074</p> |
| |
| Level 0 Mux Select 0= Level 1 Mux Output 1= gem0, Output, gem0_rgmii_txd[2]- (TX RGMII data) |
| PSU_IOU_SLCR_MIO_PIN_29_L0_SEL 0 |
| |
| Level 1 Mux Select 0= Level 2 Mux Output 1= pcie, Input, pcie_reset_n- (PCIE Reset signal) |
| PSU_IOU_SLCR_MIO_PIN_29_L1_SEL 0 |
| |
| 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) |
| PSU_IOU_SLCR_MIO_PIN_29_L2_SEL 0 |
| |
| 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) |
| PSU_IOU_SLCR_MIO_PIN_29_L3_SEL 0 |
| |
| Configures MIO Pin 29 peripheral interface mapping |
| (OFFSET, MASK, VALUE) (0XFF180074, 0x000000FEU ,0x00000000U) |
| RegMask = (IOU_SLCR_MIO_PIN_29_L0_SEL_MASK | IOU_SLCR_MIO_PIN_29_L1_SEL_MASK | IOU_SLCR_MIO_PIN_29_L2_SEL_MASK | IOU_SLCR_MIO_PIN_29_L3_SEL_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << IOU_SLCR_MIO_PIN_29_L0_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_29_L1_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_29_L2_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_29_L3_SEL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (IOU_SLCR_MIO_PIN_29_OFFSET ,0x000000FEU ,0x00000000U); |
| /*############################################################################################################################ */ |
| |
| /*Register : MIO_PIN_30 @ 0XFF180078</p> |
| |
| Level 0 Mux Select 0= Level 1 Mux Output 1= gem0, Output, gem0_rgmii_txd[3]- (TX RGMII data) |
| PSU_IOU_SLCR_MIO_PIN_30_L0_SEL 0 |
| |
| Level 1 Mux Select 0= Level 2 Mux Output 1= pcie, Input, pcie_reset_n- (PCIE Reset signal) |
| PSU_IOU_SLCR_MIO_PIN_30_L1_SEL 0 |
| |
| 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) |
| PSU_IOU_SLCR_MIO_PIN_30_L2_SEL 0 |
| |
| 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) |
| PSU_IOU_SLCR_MIO_PIN_30_L3_SEL 0 |
| |
| Configures MIO Pin 30 peripheral interface mapping |
| (OFFSET, MASK, VALUE) (0XFF180078, 0x000000FEU ,0x00000000U) |
| RegMask = (IOU_SLCR_MIO_PIN_30_L0_SEL_MASK | IOU_SLCR_MIO_PIN_30_L1_SEL_MASK | IOU_SLCR_MIO_PIN_30_L2_SEL_MASK | IOU_SLCR_MIO_PIN_30_L3_SEL_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << IOU_SLCR_MIO_PIN_30_L0_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_30_L1_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_30_L2_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_30_L3_SEL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (IOU_SLCR_MIO_PIN_30_OFFSET ,0x000000FEU ,0x00000000U); |
| /*############################################################################################################################ */ |
| |
| /*Register : MIO_PIN_31 @ 0XFF18007C</p> |
| |
| Level 0 Mux Select 0= Level 1 Mux Output 1= gem0, Output, gem0_rgmii_tx_ctl- (TX RGMII control) |
| PSU_IOU_SLCR_MIO_PIN_31_L0_SEL 0 |
| |
| Level 1 Mux Select 0= Level 2 Mux Output 1= pcie, Input, pcie_reset_n- (PCIE Reset signal) |
| PSU_IOU_SLCR_MIO_PIN_31_L1_SEL 0 |
| |
| 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) |
| PSU_IOU_SLCR_MIO_PIN_31_L2_SEL 0 |
| |
| 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) |
| PSU_IOU_SLCR_MIO_PIN_31_L3_SEL 0 |
| |
| Configures MIO Pin 31 peripheral interface mapping |
| (OFFSET, MASK, VALUE) (0XFF18007C, 0x000000FEU ,0x00000000U) |
| RegMask = (IOU_SLCR_MIO_PIN_31_L0_SEL_MASK | IOU_SLCR_MIO_PIN_31_L1_SEL_MASK | IOU_SLCR_MIO_PIN_31_L2_SEL_MASK | IOU_SLCR_MIO_PIN_31_L3_SEL_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << IOU_SLCR_MIO_PIN_31_L0_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_31_L1_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_31_L2_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_31_L3_SEL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (IOU_SLCR_MIO_PIN_31_OFFSET ,0x000000FEU ,0x00000000U); |
| /*############################################################################################################################ */ |
| |
| /*Register : MIO_PIN_32 @ 0XFF180080</p> |
| |
| Level 0 Mux Select 0= Level 1 Mux Output 1= gem0, Input, gem0_rgmii_rx_clk- (RX RGMII clock) |
| PSU_IOU_SLCR_MIO_PIN_32_L0_SEL 0 |
| |
| 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 |
| |
| PSU_IOU_SLCR_MIO_PIN_32_L1_SEL 0 |
| |
| 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) |
| PSU_IOU_SLCR_MIO_PIN_32_L2_SEL 1 |
| |
| 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) |
| PSU_IOU_SLCR_MIO_PIN_32_L3_SEL 0 |
| |
| Configures MIO Pin 32 peripheral interface mapping |
| (OFFSET, MASK, VALUE) (0XFF180080, 0x000000FEU ,0x00000008U) |
| RegMask = (IOU_SLCR_MIO_PIN_32_L0_SEL_MASK | IOU_SLCR_MIO_PIN_32_L1_SEL_MASK | IOU_SLCR_MIO_PIN_32_L2_SEL_MASK | IOU_SLCR_MIO_PIN_32_L3_SEL_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << IOU_SLCR_MIO_PIN_32_L0_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_32_L1_SEL_SHIFT |
| | 0x00000001U << IOU_SLCR_MIO_PIN_32_L2_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_32_L3_SEL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (IOU_SLCR_MIO_PIN_32_OFFSET ,0x000000FEU ,0x00000008U); |
| /*############################################################################################################################ */ |
| |
| /*Register : MIO_PIN_33 @ 0XFF180084</p> |
| |
| Level 0 Mux Select 0= Level 1 Mux Output 1= gem0, Input, gem0_rgmii_rxd[0]- (RX RGMII data) |
| PSU_IOU_SLCR_MIO_PIN_33_L0_SEL 0 |
| |
| Level 1 Mux Select 0= Level 2 Mux Output 1= pcie, Input, pcie_reset_n- (PCIE Reset signal) |
| PSU_IOU_SLCR_MIO_PIN_33_L1_SEL 0 |
| |
| 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) |
| PSU_IOU_SLCR_MIO_PIN_33_L2_SEL 1 |
| |
| 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) |
| PSU_IOU_SLCR_MIO_PIN_33_L3_SEL 0 |
| |
| Configures MIO Pin 33 peripheral interface mapping |
| (OFFSET, MASK, VALUE) (0XFF180084, 0x000000FEU ,0x00000008U) |
| RegMask = (IOU_SLCR_MIO_PIN_33_L0_SEL_MASK | IOU_SLCR_MIO_PIN_33_L1_SEL_MASK | IOU_SLCR_MIO_PIN_33_L2_SEL_MASK | IOU_SLCR_MIO_PIN_33_L3_SEL_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << IOU_SLCR_MIO_PIN_33_L0_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_33_L1_SEL_SHIFT |
| | 0x00000001U << IOU_SLCR_MIO_PIN_33_L2_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_33_L3_SEL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (IOU_SLCR_MIO_PIN_33_OFFSET ,0x000000FEU ,0x00000008U); |
| /*############################################################################################################################ */ |
| |
| /*Register : MIO_PIN_34 @ 0XFF180088</p> |
| |
| Level 0 Mux Select 0= Level 1 Mux Output 1= gem0, Input, gem0_rgmii_rxd[1]- (RX RGMII data) |
| PSU_IOU_SLCR_MIO_PIN_34_L0_SEL 0 |
| |
| Level 1 Mux Select 0= Level 2 Mux Output 1= pcie, Input, pcie_reset_n- (PCIE Reset signal) |
| PSU_IOU_SLCR_MIO_PIN_34_L1_SEL 0 |
| |
| 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) |
| PSU_IOU_SLCR_MIO_PIN_34_L2_SEL 1 |
| |
| 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) |
| PSU_IOU_SLCR_MIO_PIN_34_L3_SEL 0 |
| |
| Configures MIO Pin 34 peripheral interface mapping |
| (OFFSET, MASK, VALUE) (0XFF180088, 0x000000FEU ,0x00000008U) |
| RegMask = (IOU_SLCR_MIO_PIN_34_L0_SEL_MASK | IOU_SLCR_MIO_PIN_34_L1_SEL_MASK | IOU_SLCR_MIO_PIN_34_L2_SEL_MASK | IOU_SLCR_MIO_PIN_34_L3_SEL_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << IOU_SLCR_MIO_PIN_34_L0_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_34_L1_SEL_SHIFT |
| | 0x00000001U << IOU_SLCR_MIO_PIN_34_L2_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_34_L3_SEL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (IOU_SLCR_MIO_PIN_34_OFFSET ,0x000000FEU ,0x00000008U); |
| /*############################################################################################################################ */ |
| |
| /*Register : MIO_PIN_35 @ 0XFF18008C</p> |
| |
| Level 0 Mux Select 0= Level 1 Mux Output 1= gem0, Input, gem0_rgmii_rxd[2]- (RX RGMII data) |
| PSU_IOU_SLCR_MIO_PIN_35_L0_SEL 0 |
| |
| Level 1 Mux Select 0= Level 2 Mux Output 1= pcie, Input, pcie_reset_n- (PCIE Reset signal) |
| PSU_IOU_SLCR_MIO_PIN_35_L1_SEL 0 |
| |
| 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) |
| PSU_IOU_SLCR_MIO_PIN_35_L2_SEL 1 |
| |
| 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) |
| PSU_IOU_SLCR_MIO_PIN_35_L3_SEL 0 |
| |
| Configures MIO Pin 35 peripheral interface mapping |
| (OFFSET, MASK, VALUE) (0XFF18008C, 0x000000FEU ,0x00000008U) |
| RegMask = (IOU_SLCR_MIO_PIN_35_L0_SEL_MASK | IOU_SLCR_MIO_PIN_35_L1_SEL_MASK | IOU_SLCR_MIO_PIN_35_L2_SEL_MASK | IOU_SLCR_MIO_PIN_35_L3_SEL_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << IOU_SLCR_MIO_PIN_35_L0_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_35_L1_SEL_SHIFT |
| | 0x00000001U << IOU_SLCR_MIO_PIN_35_L2_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_35_L3_SEL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (IOU_SLCR_MIO_PIN_35_OFFSET ,0x000000FEU ,0x00000008U); |
| /*############################################################################################################################ */ |
| |
| /*Register : MIO_PIN_36 @ 0XFF180090</p> |
| |
| Level 0 Mux Select 0= Level 1 Mux Output 1= gem0, Input, gem0_rgmii_rxd[3]- (RX RGMII data) |
| PSU_IOU_SLCR_MIO_PIN_36_L0_SEL 0 |
| |
| Level 1 Mux Select 0= Level 2 Mux Output 1= pcie, Input, pcie_reset_n- (PCIE Reset signal) |
| PSU_IOU_SLCR_MIO_PIN_36_L1_SEL 0 |
| |
| 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) |
| PSU_IOU_SLCR_MIO_PIN_36_L2_SEL 1 |
| |
| 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) |
| PSU_IOU_SLCR_MIO_PIN_36_L3_SEL 0 |
| |
| Configures MIO Pin 36 peripheral interface mapping |
| (OFFSET, MASK, VALUE) (0XFF180090, 0x000000FEU ,0x00000008U) |
| RegMask = (IOU_SLCR_MIO_PIN_36_L0_SEL_MASK | IOU_SLCR_MIO_PIN_36_L1_SEL_MASK | IOU_SLCR_MIO_PIN_36_L2_SEL_MASK | IOU_SLCR_MIO_PIN_36_L3_SEL_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << IOU_SLCR_MIO_PIN_36_L0_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_36_L1_SEL_SHIFT |
| | 0x00000001U << IOU_SLCR_MIO_PIN_36_L2_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_36_L3_SEL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (IOU_SLCR_MIO_PIN_36_OFFSET ,0x000000FEU ,0x00000008U); |
| /*############################################################################################################################ */ |
| |
| /*Register : MIO_PIN_37 @ 0XFF180094</p> |
| |
| Level 0 Mux Select 0= Level 1 Mux Output 1= gem0, Input, gem0_rgmii_rx_ctl- (RX RGMII control ) |
| PSU_IOU_SLCR_MIO_PIN_37_L0_SEL 0 |
| |
| Level 1 Mux Select 0= Level 2 Mux Output 1= pcie, Input, pcie_reset_n- (PCIE Reset signal) |
| PSU_IOU_SLCR_MIO_PIN_37_L1_SEL 0 |
| |
| 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) |
| PSU_IOU_SLCR_MIO_PIN_37_L2_SEL 1 |
| |
| 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) |
| PSU_IOU_SLCR_MIO_PIN_37_L3_SEL 0 |
| |
| Configures MIO Pin 37 peripheral interface mapping |
| (OFFSET, MASK, VALUE) (0XFF180094, 0x000000FEU ,0x00000008U) |
| RegMask = (IOU_SLCR_MIO_PIN_37_L0_SEL_MASK | IOU_SLCR_MIO_PIN_37_L1_SEL_MASK | IOU_SLCR_MIO_PIN_37_L2_SEL_MASK | IOU_SLCR_MIO_PIN_37_L3_SEL_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << IOU_SLCR_MIO_PIN_37_L0_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_37_L1_SEL_SHIFT |
| | 0x00000001U << IOU_SLCR_MIO_PIN_37_L2_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_37_L3_SEL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (IOU_SLCR_MIO_PIN_37_OFFSET ,0x000000FEU ,0x00000008U); |
| /*############################################################################################################################ */ |
| |
| /*Register : MIO_PIN_38 @ 0XFF180098</p> |
| |
| Level 0 Mux Select 0= Level 1 Mux Output 1= gem1, Output, gem1_rgmii_tx_clk- (TX RGMII clock) |
| PSU_IOU_SLCR_MIO_PIN_38_L0_SEL 0 |
| |
| Level 1 Mux Select 0= Level 2 Mux Output 1= Not Used |
| PSU_IOU_SLCR_MIO_PIN_38_L1_SEL 0 |
| |
| Level 2 Mux Select 0= Level 3 Mux Output 1= sd0, Output, sdio0_clk_out- (SDSDIO clock) 2= Not Used 3= Not Used |
| PSU_IOU_SLCR_MIO_PIN_38_L2_SEL 0 |
| |
| 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) |
| PSU_IOU_SLCR_MIO_PIN_38_L3_SEL 0 |
| |
| Configures MIO Pin 38 peripheral interface mapping |
| (OFFSET, MASK, VALUE) (0XFF180098, 0x000000FEU ,0x00000000U) |
| RegMask = (IOU_SLCR_MIO_PIN_38_L0_SEL_MASK | IOU_SLCR_MIO_PIN_38_L1_SEL_MASK | IOU_SLCR_MIO_PIN_38_L2_SEL_MASK | IOU_SLCR_MIO_PIN_38_L3_SEL_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << IOU_SLCR_MIO_PIN_38_L0_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_38_L1_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_38_L2_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_38_L3_SEL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (IOU_SLCR_MIO_PIN_38_OFFSET ,0x000000FEU ,0x00000000U); |
| /*############################################################################################################################ */ |
| |
| /*Register : MIO_PIN_39 @ 0XFF18009C</p> |
| |
| Level 0 Mux Select 0= Level 1 Mux Output 1= gem1, Output, gem1_rgmii_txd[0]- (TX RGMII data) |
| PSU_IOU_SLCR_MIO_PIN_39_L0_SEL 0 |
| |
| Level 1 Mux Select 0= Level 2 Mux Output 1= Not Used |
| PSU_IOU_SLCR_MIO_PIN_39_L1_SEL 0 |
| |
| 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 |
| PSU_IOU_SLCR_MIO_PIN_39_L2_SEL 0 |
| |
| 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) |
| PSU_IOU_SLCR_MIO_PIN_39_L3_SEL 0 |
| |
| Configures MIO Pin 39 peripheral interface mapping |
| (OFFSET, MASK, VALUE) (0XFF18009C, 0x000000FEU ,0x00000000U) |
| RegMask = (IOU_SLCR_MIO_PIN_39_L0_SEL_MASK | IOU_SLCR_MIO_PIN_39_L1_SEL_MASK | IOU_SLCR_MIO_PIN_39_L2_SEL_MASK | IOU_SLCR_MIO_PIN_39_L3_SEL_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << IOU_SLCR_MIO_PIN_39_L0_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_39_L1_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_39_L2_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_39_L3_SEL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (IOU_SLCR_MIO_PIN_39_OFFSET ,0x000000FEU ,0x00000000U); |
| /*############################################################################################################################ */ |
| |
| /*Register : MIO_PIN_40 @ 0XFF1800A0</p> |
| |
| Level 0 Mux Select 0= Level 1 Mux Output 1= gem1, Output, gem1_rgmii_txd[1]- (TX RGMII data) |
| PSU_IOU_SLCR_MIO_PIN_40_L0_SEL 0 |
| |
| Level 1 Mux Select 0= Level 2 Mux Output 1= Not Used |
| PSU_IOU_SLCR_MIO_PIN_40_L1_SEL 0 |
| |
| 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 |
| PSU_IOU_SLCR_MIO_PIN_40_L2_SEL 0 |
| |
| 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) |
| PSU_IOU_SLCR_MIO_PIN_40_L3_SEL 0 |
| |
| Configures MIO Pin 40 peripheral interface mapping |
| (OFFSET, MASK, VALUE) (0XFF1800A0, 0x000000FEU ,0x00000000U) |
| RegMask = (IOU_SLCR_MIO_PIN_40_L0_SEL_MASK | IOU_SLCR_MIO_PIN_40_L1_SEL_MASK | IOU_SLCR_MIO_PIN_40_L2_SEL_MASK | IOU_SLCR_MIO_PIN_40_L3_SEL_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << IOU_SLCR_MIO_PIN_40_L0_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_40_L1_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_40_L2_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_40_L3_SEL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (IOU_SLCR_MIO_PIN_40_OFFSET ,0x000000FEU ,0x00000000U); |
| /*############################################################################################################################ */ |
| |
| /*Register : MIO_PIN_41 @ 0XFF1800A4</p> |
| |
| Level 0 Mux Select 0= Level 1 Mux Output 1= gem1, Output, gem1_rgmii_txd[2]- (TX RGMII data) |
| PSU_IOU_SLCR_MIO_PIN_41_L0_SEL 0 |
| |
| Level 1 Mux Select 0= Level 2 Mux Output 1= Not Used |
| PSU_IOU_SLCR_MIO_PIN_41_L1_SEL 0 |
| |
| 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 |
| PSU_IOU_SLCR_MIO_PIN_41_L2_SEL 0 |
| |
| 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) |
| PSU_IOU_SLCR_MIO_PIN_41_L3_SEL 0 |
| |
| Configures MIO Pin 41 peripheral interface mapping |
| (OFFSET, MASK, VALUE) (0XFF1800A4, 0x000000FEU ,0x00000000U) |
| RegMask = (IOU_SLCR_MIO_PIN_41_L0_SEL_MASK | IOU_SLCR_MIO_PIN_41_L1_SEL_MASK | IOU_SLCR_MIO_PIN_41_L2_SEL_MASK | IOU_SLCR_MIO_PIN_41_L3_SEL_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << IOU_SLCR_MIO_PIN_41_L0_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_41_L1_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_41_L2_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_41_L3_SEL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (IOU_SLCR_MIO_PIN_41_OFFSET ,0x000000FEU ,0x00000000U); |
| /*############################################################################################################################ */ |
| |
| /*Register : MIO_PIN_42 @ 0XFF1800A8</p> |
| |
| Level 0 Mux Select 0= Level 1 Mux Output 1= gem1, Output, gem1_rgmii_txd[3]- (TX RGMII data) |
| PSU_IOU_SLCR_MIO_PIN_42_L0_SEL 0 |
| |
| Level 1 Mux Select 0= Level 2 Mux Output 1= Not Used |
| PSU_IOU_SLCR_MIO_PIN_42_L1_SEL 0 |
| |
| 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 |
| PSU_IOU_SLCR_MIO_PIN_42_L2_SEL 0 |
| |
| 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) |
| PSU_IOU_SLCR_MIO_PIN_42_L3_SEL 0 |
| |
| Configures MIO Pin 42 peripheral interface mapping |
| (OFFSET, MASK, VALUE) (0XFF1800A8, 0x000000FEU ,0x00000000U) |
| RegMask = (IOU_SLCR_MIO_PIN_42_L0_SEL_MASK | IOU_SLCR_MIO_PIN_42_L1_SEL_MASK | IOU_SLCR_MIO_PIN_42_L2_SEL_MASK | IOU_SLCR_MIO_PIN_42_L3_SEL_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << IOU_SLCR_MIO_PIN_42_L0_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_42_L1_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_42_L2_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_42_L3_SEL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (IOU_SLCR_MIO_PIN_42_OFFSET ,0x000000FEU ,0x00000000U); |
| /*############################################################################################################################ */ |
| |
| /*Register : MIO_PIN_43 @ 0XFF1800AC</p> |
| |
| Level 0 Mux Select 0= Level 1 Mux Output 1= gem1, Output, gem1_rgmii_tx_ctl- (TX RGMII control) |
| PSU_IOU_SLCR_MIO_PIN_43_L0_SEL 0 |
| |
| Level 1 Mux Select 0= Level 2 Mux Output 1= Not Used |
| PSU_IOU_SLCR_MIO_PIN_43_L1_SEL 0 |
| |
| 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 |
| PSU_IOU_SLCR_MIO_PIN_43_L2_SEL 2 |
| |
| 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) |
| PSU_IOU_SLCR_MIO_PIN_43_L3_SEL 0 |
| |
| Configures MIO Pin 43 peripheral interface mapping |
| (OFFSET, MASK, VALUE) (0XFF1800AC, 0x000000FEU ,0x00000010U) |
| RegMask = (IOU_SLCR_MIO_PIN_43_L0_SEL_MASK | IOU_SLCR_MIO_PIN_43_L1_SEL_MASK | IOU_SLCR_MIO_PIN_43_L2_SEL_MASK | IOU_SLCR_MIO_PIN_43_L3_SEL_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << IOU_SLCR_MIO_PIN_43_L0_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_43_L1_SEL_SHIFT |
| | 0x00000002U << IOU_SLCR_MIO_PIN_43_L2_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_43_L3_SEL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (IOU_SLCR_MIO_PIN_43_OFFSET ,0x000000FEU ,0x00000010U); |
| /*############################################################################################################################ */ |
| |
| /*Register : MIO_PIN_44 @ 0XFF1800B0</p> |
| |
| Level 0 Mux Select 0= Level 1 Mux Output 1= gem1, Input, gem1_rgmii_rx_clk- (RX RGMII clock) |
| PSU_IOU_SLCR_MIO_PIN_44_L0_SEL 0 |
| |
| Level 1 Mux Select 0= Level 2 Mux Output 1= Not Used |
| PSU_IOU_SLCR_MIO_PIN_44_L1_SEL 0 |
| |
| 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 |
| PSU_IOU_SLCR_MIO_PIN_44_L2_SEL 2 |
| |
| 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 |
| PSU_IOU_SLCR_MIO_PIN_44_L3_SEL 0 |
| |
| Configures MIO Pin 44 peripheral interface mapping |
| (OFFSET, MASK, VALUE) (0XFF1800B0, 0x000000FEU ,0x00000010U) |
| RegMask = (IOU_SLCR_MIO_PIN_44_L0_SEL_MASK | IOU_SLCR_MIO_PIN_44_L1_SEL_MASK | IOU_SLCR_MIO_PIN_44_L2_SEL_MASK | IOU_SLCR_MIO_PIN_44_L3_SEL_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << IOU_SLCR_MIO_PIN_44_L0_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_44_L1_SEL_SHIFT |
| | 0x00000002U << IOU_SLCR_MIO_PIN_44_L2_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_44_L3_SEL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (IOU_SLCR_MIO_PIN_44_OFFSET ,0x000000FEU ,0x00000010U); |
| /*############################################################################################################################ */ |
| |
| /*Register : MIO_PIN_45 @ 0XFF1800B4</p> |
| |
| Level 0 Mux Select 0= Level 1 Mux Output 1= gem1, Input, gem1_rgmii_rxd[0]- (RX RGMII data) |
| PSU_IOU_SLCR_MIO_PIN_45_L0_SEL 0 |
| |
| Level 1 Mux Select 0= Level 2 Mux Output 1= Not Used |
| PSU_IOU_SLCR_MIO_PIN_45_L1_SEL 0 |
| |
| 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 |
| PSU_IOU_SLCR_MIO_PIN_45_L2_SEL 2 |
| |
| 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 |
| PSU_IOU_SLCR_MIO_PIN_45_L3_SEL 0 |
| |
| Configures MIO Pin 45 peripheral interface mapping |
| (OFFSET, MASK, VALUE) (0XFF1800B4, 0x000000FEU ,0x00000010U) |
| RegMask = (IOU_SLCR_MIO_PIN_45_L0_SEL_MASK | IOU_SLCR_MIO_PIN_45_L1_SEL_MASK | IOU_SLCR_MIO_PIN_45_L2_SEL_MASK | IOU_SLCR_MIO_PIN_45_L3_SEL_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << IOU_SLCR_MIO_PIN_45_L0_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_45_L1_SEL_SHIFT |
| | 0x00000002U << IOU_SLCR_MIO_PIN_45_L2_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_45_L3_SEL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (IOU_SLCR_MIO_PIN_45_OFFSET ,0x000000FEU ,0x00000010U); |
| /*############################################################################################################################ */ |
| |
| /*Register : MIO_PIN_46 @ 0XFF1800B8</p> |
| |
| Level 0 Mux Select 0= Level 1 Mux Output 1= gem1, Input, gem1_rgmii_rxd[1]- (RX RGMII data) |
| PSU_IOU_SLCR_MIO_PIN_46_L0_SEL 0 |
| |
| Level 1 Mux Select 0= Level 2 Mux Output 1= Not Used |
| PSU_IOU_SLCR_MIO_PIN_46_L1_SEL 0 |
| |
| 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 |
| PSU_IOU_SLCR_MIO_PIN_46_L2_SEL 2 |
| |
| 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 |
| PSU_IOU_SLCR_MIO_PIN_46_L3_SEL 0 |
| |
| Configures MIO Pin 46 peripheral interface mapping |
| (OFFSET, MASK, VALUE) (0XFF1800B8, 0x000000FEU ,0x00000010U) |
| RegMask = (IOU_SLCR_MIO_PIN_46_L0_SEL_MASK | IOU_SLCR_MIO_PIN_46_L1_SEL_MASK | IOU_SLCR_MIO_PIN_46_L2_SEL_MASK | IOU_SLCR_MIO_PIN_46_L3_SEL_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << IOU_SLCR_MIO_PIN_46_L0_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_46_L1_SEL_SHIFT |
| | 0x00000002U << IOU_SLCR_MIO_PIN_46_L2_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_46_L3_SEL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (IOU_SLCR_MIO_PIN_46_OFFSET ,0x000000FEU ,0x00000010U); |
| /*############################################################################################################################ */ |
| |
| /*Register : MIO_PIN_47 @ 0XFF1800BC</p> |
| |
| Level 0 Mux Select 0= Level 1 Mux Output 1= gem1, Input, gem1_rgmii_rxd[2]- (RX RGMII data) |
| PSU_IOU_SLCR_MIO_PIN_47_L0_SEL 0 |
| |
| Level 1 Mux Select 0= Level 2 Mux Output 1= Not Used |
| PSU_IOU_SLCR_MIO_PIN_47_L1_SEL 0 |
| |
| 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 |
| PSU_IOU_SLCR_MIO_PIN_47_L2_SEL 2 |
| |
| 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 |
| PSU_IOU_SLCR_MIO_PIN_47_L3_SEL 0 |
| |
| Configures MIO Pin 47 peripheral interface mapping |
| (OFFSET, MASK, VALUE) (0XFF1800BC, 0x000000FEU ,0x00000010U) |
| RegMask = (IOU_SLCR_MIO_PIN_47_L0_SEL_MASK | IOU_SLCR_MIO_PIN_47_L1_SEL_MASK | IOU_SLCR_MIO_PIN_47_L2_SEL_MASK | IOU_SLCR_MIO_PIN_47_L3_SEL_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << IOU_SLCR_MIO_PIN_47_L0_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_47_L1_SEL_SHIFT |
| | 0x00000002U << IOU_SLCR_MIO_PIN_47_L2_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_47_L3_SEL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (IOU_SLCR_MIO_PIN_47_OFFSET ,0x000000FEU ,0x00000010U); |
| /*############################################################################################################################ */ |
| |
| /*Register : MIO_PIN_48 @ 0XFF1800C0</p> |
| |
| Level 0 Mux Select 0= Level 1 Mux Output 1= gem1, Input, gem1_rgmii_rxd[3]- (RX RGMII data) |
| PSU_IOU_SLCR_MIO_PIN_48_L0_SEL 0 |
| |
| Level 1 Mux Select 0= Level 2 Mux Output 1= Not Used |
| PSU_IOU_SLCR_MIO_PIN_48_L1_SEL 0 |
| |
| 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 |
| PSU_IOU_SLCR_MIO_PIN_48_L2_SEL 2 |
| |
| 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 |
| PSU_IOU_SLCR_MIO_PIN_48_L3_SEL 0 |
| |
| Configures MIO Pin 48 peripheral interface mapping |
| (OFFSET, MASK, VALUE) (0XFF1800C0, 0x000000FEU ,0x00000010U) |
| RegMask = (IOU_SLCR_MIO_PIN_48_L0_SEL_MASK | IOU_SLCR_MIO_PIN_48_L1_SEL_MASK | IOU_SLCR_MIO_PIN_48_L2_SEL_MASK | IOU_SLCR_MIO_PIN_48_L3_SEL_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << IOU_SLCR_MIO_PIN_48_L0_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_48_L1_SEL_SHIFT |
| | 0x00000002U << IOU_SLCR_MIO_PIN_48_L2_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_48_L3_SEL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (IOU_SLCR_MIO_PIN_48_OFFSET ,0x000000FEU ,0x00000010U); |
| /*############################################################################################################################ */ |
| |
| /*Register : MIO_PIN_49 @ 0XFF1800C4</p> |
| |
| Level 0 Mux Select 0= Level 1 Mux Output 1= gem1, Input, gem1_rgmii_rx_ctl- (RX RGMII control ) |
| PSU_IOU_SLCR_MIO_PIN_49_L0_SEL 0 |
| |
| Level 1 Mux Select 0= Level 2 Mux Output 1= Not Used |
| PSU_IOU_SLCR_MIO_PIN_49_L1_SEL 0 |
| |
| 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 |
| PSU_IOU_SLCR_MIO_PIN_49_L2_SEL 2 |
| |
| 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 |
| PSU_IOU_SLCR_MIO_PIN_49_L3_SEL 0 |
| |
| Configures MIO Pin 49 peripheral interface mapping |
| (OFFSET, MASK, VALUE) (0XFF1800C4, 0x000000FEU ,0x00000010U) |
| RegMask = (IOU_SLCR_MIO_PIN_49_L0_SEL_MASK | IOU_SLCR_MIO_PIN_49_L1_SEL_MASK | IOU_SLCR_MIO_PIN_49_L2_SEL_MASK | IOU_SLCR_MIO_PIN_49_L3_SEL_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << IOU_SLCR_MIO_PIN_49_L0_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_49_L1_SEL_SHIFT |
| | 0x00000002U << IOU_SLCR_MIO_PIN_49_L2_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_49_L3_SEL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (IOU_SLCR_MIO_PIN_49_OFFSET ,0x000000FEU ,0x00000010U); |
| /*############################################################################################################################ */ |
| |
| /*Register : MIO_PIN_50 @ 0XFF1800C8</p> |
| |
| Level 0 Mux Select 0= Level 1 Mux Output 1= gem_tsu, Input, gem_tsu_clk- (TSU clock) |
| PSU_IOU_SLCR_MIO_PIN_50_L0_SEL 0 |
| |
| Level 1 Mux Select 0= Level 2 Mux Output 1= Not Used |
| PSU_IOU_SLCR_MIO_PIN_50_L1_SEL 0 |
| |
| 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 |
| PSU_IOU_SLCR_MIO_PIN_50_L2_SEL 2 |
| |
| 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 |
| PSU_IOU_SLCR_MIO_PIN_50_L3_SEL 0 |
| |
| Configures MIO Pin 50 peripheral interface mapping |
| (OFFSET, MASK, VALUE) (0XFF1800C8, 0x000000FEU ,0x00000010U) |
| RegMask = (IOU_SLCR_MIO_PIN_50_L0_SEL_MASK | IOU_SLCR_MIO_PIN_50_L1_SEL_MASK | IOU_SLCR_MIO_PIN_50_L2_SEL_MASK | IOU_SLCR_MIO_PIN_50_L3_SEL_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << IOU_SLCR_MIO_PIN_50_L0_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_50_L1_SEL_SHIFT |
| | 0x00000002U << IOU_SLCR_MIO_PIN_50_L2_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_50_L3_SEL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (IOU_SLCR_MIO_PIN_50_OFFSET ,0x000000FEU ,0x00000010U); |
| /*############################################################################################################################ */ |
| |
| /*Register : MIO_PIN_51 @ 0XFF1800CC</p> |
| |
| Level 0 Mux Select 0= Level 1 Mux Output 1= gem_tsu, Input, gem_tsu_clk- (TSU clock) |
| PSU_IOU_SLCR_MIO_PIN_51_L0_SEL 0 |
| |
| Level 1 Mux Select 0= Level 2 Mux Output 1= Not Used |
| PSU_IOU_SLCR_MIO_PIN_51_L1_SEL 0 |
| |
| Level 2 Mux Select 0= Level 3 Mux Output 1= Not Used 2= sd1, Output, sdio1_clk_out- (SDSDIO clock) 3= Not Used |
| PSU_IOU_SLCR_MIO_PIN_51_L2_SEL 2 |
| |
| 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 |
| PSU_IOU_SLCR_MIO_PIN_51_L3_SEL 0 |
| |
| Configures MIO Pin 51 peripheral interface mapping |
| (OFFSET, MASK, VALUE) (0XFF1800CC, 0x000000FEU ,0x00000010U) |
| RegMask = (IOU_SLCR_MIO_PIN_51_L0_SEL_MASK | IOU_SLCR_MIO_PIN_51_L1_SEL_MASK | IOU_SLCR_MIO_PIN_51_L2_SEL_MASK | IOU_SLCR_MIO_PIN_51_L3_SEL_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << IOU_SLCR_MIO_PIN_51_L0_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_51_L1_SEL_SHIFT |
| | 0x00000002U << IOU_SLCR_MIO_PIN_51_L2_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_51_L3_SEL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (IOU_SLCR_MIO_PIN_51_OFFSET ,0x000000FEU ,0x00000010U); |
| /*############################################################################################################################ */ |
| |
| /*Register : MIO_PIN_52 @ 0XFF1800D0</p> |
| |
| Level 0 Mux Select 0= Level 1 Mux Output 1= gem2, Output, gem2_rgmii_tx_clk- (TX RGMII clock) |
| PSU_IOU_SLCR_MIO_PIN_52_L0_SEL 0 |
| |
| Level 1 Mux Select 0= Level 2 Mux Output 1= usb0, Input, usb0_ulpi_clk_in- (ULPI Clock) |
| PSU_IOU_SLCR_MIO_PIN_52_L1_SEL 1 |
| |
| Level 2 Mux Select 0= Level 3 Mux Output 1= Not Used 2= Not Used 3= Not Used |
| PSU_IOU_SLCR_MIO_PIN_52_L2_SEL 0 |
| |
| 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) |
| PSU_IOU_SLCR_MIO_PIN_52_L3_SEL 0 |
| |
| Configures MIO Pin 52 peripheral interface mapping |
| (OFFSET, MASK, VALUE) (0XFF1800D0, 0x000000FEU ,0x00000004U) |
| RegMask = (IOU_SLCR_MIO_PIN_52_L0_SEL_MASK | IOU_SLCR_MIO_PIN_52_L1_SEL_MASK | IOU_SLCR_MIO_PIN_52_L2_SEL_MASK | IOU_SLCR_MIO_PIN_52_L3_SEL_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << IOU_SLCR_MIO_PIN_52_L0_SEL_SHIFT |
| | 0x00000001U << IOU_SLCR_MIO_PIN_52_L1_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_52_L2_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_52_L3_SEL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (IOU_SLCR_MIO_PIN_52_OFFSET ,0x000000FEU ,0x00000004U); |
| /*############################################################################################################################ */ |
| |
| /*Register : MIO_PIN_53 @ 0XFF1800D4</p> |
| |
| Level 0 Mux Select 0= Level 1 Mux Output 1= gem2, Output, gem2_rgmii_txd[0]- (TX RGMII data) |
| PSU_IOU_SLCR_MIO_PIN_53_L0_SEL 0 |
| |
| Level 1 Mux Select 0= Level 2 Mux Output 1= usb0, Input, usb0_ulpi_dir- (Data bus direction control) |
| PSU_IOU_SLCR_MIO_PIN_53_L1_SEL 1 |
| |
| Level 2 Mux Select 0= Level 3 Mux Output 1= Not Used 2= Not Used 3= Not Used |
| PSU_IOU_SLCR_MIO_PIN_53_L2_SEL 0 |
| |
| 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) |
| PSU_IOU_SLCR_MIO_PIN_53_L3_SEL 0 |
| |
| Configures MIO Pin 53 peripheral interface mapping |
| (OFFSET, MASK, VALUE) (0XFF1800D4, 0x000000FEU ,0x00000004U) |
| RegMask = (IOU_SLCR_MIO_PIN_53_L0_SEL_MASK | IOU_SLCR_MIO_PIN_53_L1_SEL_MASK | IOU_SLCR_MIO_PIN_53_L2_SEL_MASK | IOU_SLCR_MIO_PIN_53_L3_SEL_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << IOU_SLCR_MIO_PIN_53_L0_SEL_SHIFT |
| | 0x00000001U << IOU_SLCR_MIO_PIN_53_L1_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_53_L2_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_53_L3_SEL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (IOU_SLCR_MIO_PIN_53_OFFSET ,0x000000FEU ,0x00000004U); |
| /*############################################################################################################################ */ |
| |
| /*Register : MIO_PIN_54 @ 0XFF1800D8</p> |
| |
| Level 0 Mux Select 0= Level 1 Mux Output 1= gem2, Output, gem2_rgmii_txd[1]- (TX RGMII data) |
| PSU_IOU_SLCR_MIO_PIN_54_L0_SEL 0 |
| |
| 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) |
| PSU_IOU_SLCR_MIO_PIN_54_L1_SEL 1 |
| |
| Level 2 Mux Select 0= Level 3 Mux Output 1= Not Used 2= Not Used 3= Not Used |
| PSU_IOU_SLCR_MIO_PIN_54_L2_SEL 0 |
| |
| 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) |
| PSU_IOU_SLCR_MIO_PIN_54_L3_SEL 0 |
| |
| Configures MIO Pin 54 peripheral interface mapping |
| (OFFSET, MASK, VALUE) (0XFF1800D8, 0x000000FEU ,0x00000004U) |
| RegMask = (IOU_SLCR_MIO_PIN_54_L0_SEL_MASK | IOU_SLCR_MIO_PIN_54_L1_SEL_MASK | IOU_SLCR_MIO_PIN_54_L2_SEL_MASK | IOU_SLCR_MIO_PIN_54_L3_SEL_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << IOU_SLCR_MIO_PIN_54_L0_SEL_SHIFT |
| | 0x00000001U << IOU_SLCR_MIO_PIN_54_L1_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_54_L2_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_54_L3_SEL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (IOU_SLCR_MIO_PIN_54_OFFSET ,0x000000FEU ,0x00000004U); |
| /*############################################################################################################################ */ |
| |
| /*Register : MIO_PIN_55 @ 0XFF1800DC</p> |
| |
| Level 0 Mux Select 0= Level 1 Mux Output 1= gem2, Output, gem2_rgmii_txd[2]- (TX RGMII data) |
| PSU_IOU_SLCR_MIO_PIN_55_L0_SEL 0 |
| |
| Level 1 Mux Select 0= Level 2 Mux Output 1= usb0, Input, usb0_ulpi_nxt- (Data flow control signal from the PHY) |
| PSU_IOU_SLCR_MIO_PIN_55_L1_SEL 1 |
| |
| Level 2 Mux Select 0= Level 3 Mux Output 1= Not Used 2= Not Used 3= Not Used |
| PSU_IOU_SLCR_MIO_PIN_55_L2_SEL 0 |
| |
| 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) |
| PSU_IOU_SLCR_MIO_PIN_55_L3_SEL 0 |
| |
| Configures MIO Pin 55 peripheral interface mapping |
| (OFFSET, MASK, VALUE) (0XFF1800DC, 0x000000FEU ,0x00000004U) |
| RegMask = (IOU_SLCR_MIO_PIN_55_L0_SEL_MASK | IOU_SLCR_MIO_PIN_55_L1_SEL_MASK | IOU_SLCR_MIO_PIN_55_L2_SEL_MASK | IOU_SLCR_MIO_PIN_55_L3_SEL_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << IOU_SLCR_MIO_PIN_55_L0_SEL_SHIFT |
| | 0x00000001U << IOU_SLCR_MIO_PIN_55_L1_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_55_L2_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_55_L3_SEL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (IOU_SLCR_MIO_PIN_55_OFFSET ,0x000000FEU ,0x00000004U); |
| /*############################################################################################################################ */ |
| |
| /*Register : MIO_PIN_56 @ 0XFF1800E0</p> |
| |
| Level 0 Mux Select 0= Level 1 Mux Output 1= gem2, Output, gem2_rgmii_txd[3]- (TX RGMII data) |
| PSU_IOU_SLCR_MIO_PIN_56_L0_SEL 0 |
| |
| 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) |
| PSU_IOU_SLCR_MIO_PIN_56_L1_SEL 1 |
| |
| Level 2 Mux Select 0= Level 3 Mux Output 1= Not Used 2= Not Used 3= Not Used |
| PSU_IOU_SLCR_MIO_PIN_56_L2_SEL 0 |
| |
| 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) |
| PSU_IOU_SLCR_MIO_PIN_56_L3_SEL 0 |
| |
| Configures MIO Pin 56 peripheral interface mapping |
| (OFFSET, MASK, VALUE) (0XFF1800E0, 0x000000FEU ,0x00000004U) |
| RegMask = (IOU_SLCR_MIO_PIN_56_L0_SEL_MASK | IOU_SLCR_MIO_PIN_56_L1_SEL_MASK | IOU_SLCR_MIO_PIN_56_L2_SEL_MASK | IOU_SLCR_MIO_PIN_56_L3_SEL_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << IOU_SLCR_MIO_PIN_56_L0_SEL_SHIFT |
| | 0x00000001U << IOU_SLCR_MIO_PIN_56_L1_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_56_L2_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_56_L3_SEL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (IOU_SLCR_MIO_PIN_56_OFFSET ,0x000000FEU ,0x00000004U); |
| /*############################################################################################################################ */ |
| |
| /*Register : MIO_PIN_57 @ 0XFF1800E4</p> |
| |
| Level 0 Mux Select 0= Level 1 Mux Output 1= gem2, Output, gem2_rgmii_tx_ctl- (TX RGMII control) |
| PSU_IOU_SLCR_MIO_PIN_57_L0_SEL 0 |
| |
| 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) |
| PSU_IOU_SLCR_MIO_PIN_57_L1_SEL 1 |
| |
| Level 2 Mux Select 0= Level 3 Mux Output 1= Not Used 2= Not Used 3= Not Used |
| PSU_IOU_SLCR_MIO_PIN_57_L2_SEL 0 |
| |
| 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) |
| PSU_IOU_SLCR_MIO_PIN_57_L3_SEL 0 |
| |
| Configures MIO Pin 57 peripheral interface mapping |
| (OFFSET, MASK, VALUE) (0XFF1800E4, 0x000000FEU ,0x00000004U) |
| RegMask = (IOU_SLCR_MIO_PIN_57_L0_SEL_MASK | IOU_SLCR_MIO_PIN_57_L1_SEL_MASK | IOU_SLCR_MIO_PIN_57_L2_SEL_MASK | IOU_SLCR_MIO_PIN_57_L3_SEL_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << IOU_SLCR_MIO_PIN_57_L0_SEL_SHIFT |
| | 0x00000001U << IOU_SLCR_MIO_PIN_57_L1_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_57_L2_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_57_L3_SEL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (IOU_SLCR_MIO_PIN_57_OFFSET ,0x000000FEU ,0x00000004U); |
| /*############################################################################################################################ */ |
| |
| /*Register : MIO_PIN_58 @ 0XFF1800E8</p> |
| |
| Level 0 Mux Select 0= Level 1 Mux Output 1= gem2, Input, gem2_rgmii_rx_clk- (RX RGMII clock) |
| PSU_IOU_SLCR_MIO_PIN_58_L0_SEL 0 |
| |
| Level 1 Mux Select 0= Level 2 Mux Output 1= usb0, Output, usb0_ulpi_stp- (Asserted to end or interrupt transfers) |
| PSU_IOU_SLCR_MIO_PIN_58_L1_SEL 1 |
| |
| Level 2 Mux Select 0= Level 3 Mux Output 1= Not Used 2= Not Used 3= Not Used |
| PSU_IOU_SLCR_MIO_PIN_58_L2_SEL 0 |
| |
| 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) |
| PSU_IOU_SLCR_MIO_PIN_58_L3_SEL 0 |
| |
| Configures MIO Pin 58 peripheral interface mapping |
| (OFFSET, MASK, VALUE) (0XFF1800E8, 0x000000FEU ,0x00000004U) |
| RegMask = (IOU_SLCR_MIO_PIN_58_L0_SEL_MASK | IOU_SLCR_MIO_PIN_58_L1_SEL_MASK | IOU_SLCR_MIO_PIN_58_L2_SEL_MASK | IOU_SLCR_MIO_PIN_58_L3_SEL_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << IOU_SLCR_MIO_PIN_58_L0_SEL_SHIFT |
| | 0x00000001U << IOU_SLCR_MIO_PIN_58_L1_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_58_L2_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_58_L3_SEL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (IOU_SLCR_MIO_PIN_58_OFFSET ,0x000000FEU ,0x00000004U); |
| /*############################################################################################################################ */ |
| |
| /*Register : MIO_PIN_59 @ 0XFF1800EC</p> |
| |
| Level 0 Mux Select 0= Level 1 Mux Output 1= gem2, Input, gem2_rgmii_rxd[0]- (RX RGMII data) |
| PSU_IOU_SLCR_MIO_PIN_59_L0_SEL 0 |
| |
| 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) |
| PSU_IOU_SLCR_MIO_PIN_59_L1_SEL 1 |
| |
| Level 2 Mux Select 0= Level 3 Mux Output 1= Not Used 2= Not Used 3= Not Used |
| PSU_IOU_SLCR_MIO_PIN_59_L2_SEL 0 |
| |
| 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) |
| PSU_IOU_SLCR_MIO_PIN_59_L3_SEL 0 |
| |
| Configures MIO Pin 59 peripheral interface mapping |
| (OFFSET, MASK, VALUE) (0XFF1800EC, 0x000000FEU ,0x00000004U) |
| RegMask = (IOU_SLCR_MIO_PIN_59_L0_SEL_MASK | IOU_SLCR_MIO_PIN_59_L1_SEL_MASK | IOU_SLCR_MIO_PIN_59_L2_SEL_MASK | IOU_SLCR_MIO_PIN_59_L3_SEL_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << IOU_SLCR_MIO_PIN_59_L0_SEL_SHIFT |
| | 0x00000001U << IOU_SLCR_MIO_PIN_59_L1_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_59_L2_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_59_L3_SEL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (IOU_SLCR_MIO_PIN_59_OFFSET ,0x000000FEU ,0x00000004U); |
| /*############################################################################################################################ */ |
| |
| /*Register : MIO_PIN_60 @ 0XFF1800F0</p> |
| |
| Level 0 Mux Select 0= Level 1 Mux Output 1= gem2, Input, gem2_rgmii_rxd[1]- (RX RGMII data) |
| PSU_IOU_SLCR_MIO_PIN_60_L0_SEL 0 |
| |
| 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) |
| PSU_IOU_SLCR_MIO_PIN_60_L1_SEL 1 |
| |
| Level 2 Mux Select 0= Level 3 Mux Output 1= Not Used 2= Not Used 3= Not Used |
| PSU_IOU_SLCR_MIO_PIN_60_L2_SEL 0 |
| |
| 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) |
| PSU_IOU_SLCR_MIO_PIN_60_L3_SEL 0 |
| |
| Configures MIO Pin 60 peripheral interface mapping |
| (OFFSET, MASK, VALUE) (0XFF1800F0, 0x000000FEU ,0x00000004U) |
| RegMask = (IOU_SLCR_MIO_PIN_60_L0_SEL_MASK | IOU_SLCR_MIO_PIN_60_L1_SEL_MASK | IOU_SLCR_MIO_PIN_60_L2_SEL_MASK | IOU_SLCR_MIO_PIN_60_L3_SEL_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << IOU_SLCR_MIO_PIN_60_L0_SEL_SHIFT |
| | 0x00000001U << IOU_SLCR_MIO_PIN_60_L1_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_60_L2_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_60_L3_SEL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (IOU_SLCR_MIO_PIN_60_OFFSET ,0x000000FEU ,0x00000004U); |
| /*############################################################################################################################ */ |
| |
| /*Register : MIO_PIN_61 @ 0XFF1800F4</p> |
| |
| Level 0 Mux Select 0= Level 1 Mux Output 1= gem2, Input, gem2_rgmii_rxd[2]- (RX RGMII data) |
| PSU_IOU_SLCR_MIO_PIN_61_L0_SEL 0 |
| |
| 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) |
| PSU_IOU_SLCR_MIO_PIN_61_L1_SEL 1 |
| |
| Level 2 Mux Select 0= Level 3 Mux Output 1= Not Used 2= Not Used 3= Not Used |
| PSU_IOU_SLCR_MIO_PIN_61_L2_SEL 0 |
| |
| 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) |
| PSU_IOU_SLCR_MIO_PIN_61_L3_SEL 0 |
| |
| Configures MIO Pin 61 peripheral interface mapping |
| (OFFSET, MASK, VALUE) (0XFF1800F4, 0x000000FEU ,0x00000004U) |
| RegMask = (IOU_SLCR_MIO_PIN_61_L0_SEL_MASK | IOU_SLCR_MIO_PIN_61_L1_SEL_MASK | IOU_SLCR_MIO_PIN_61_L2_SEL_MASK | IOU_SLCR_MIO_PIN_61_L3_SEL_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << IOU_SLCR_MIO_PIN_61_L0_SEL_SHIFT |
| | 0x00000001U << IOU_SLCR_MIO_PIN_61_L1_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_61_L2_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_61_L3_SEL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (IOU_SLCR_MIO_PIN_61_OFFSET ,0x000000FEU ,0x00000004U); |
| /*############################################################################################################################ */ |
| |
| /*Register : MIO_PIN_62 @ 0XFF1800F8</p> |
| |
| Level 0 Mux Select 0= Level 1 Mux Output 1= gem2, Input, gem2_rgmii_rxd[3]- (RX RGMII data) |
| PSU_IOU_SLCR_MIO_PIN_62_L0_SEL 0 |
| |
| 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) |
| PSU_IOU_SLCR_MIO_PIN_62_L1_SEL 1 |
| |
| Level 2 Mux Select 0= Level 3 Mux Output 1= Not Used 2= Not Used 3= Not Used |
| PSU_IOU_SLCR_MIO_PIN_62_L2_SEL 0 |
| |
| 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) |
| PSU_IOU_SLCR_MIO_PIN_62_L3_SEL 0 |
| |
| Configures MIO Pin 62 peripheral interface mapping |
| (OFFSET, MASK, VALUE) (0XFF1800F8, 0x000000FEU ,0x00000004U) |
| RegMask = (IOU_SLCR_MIO_PIN_62_L0_SEL_MASK | IOU_SLCR_MIO_PIN_62_L1_SEL_MASK | IOU_SLCR_MIO_PIN_62_L2_SEL_MASK | IOU_SLCR_MIO_PIN_62_L3_SEL_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << IOU_SLCR_MIO_PIN_62_L0_SEL_SHIFT |
| | 0x00000001U << IOU_SLCR_MIO_PIN_62_L1_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_62_L2_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_62_L3_SEL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (IOU_SLCR_MIO_PIN_62_OFFSET ,0x000000FEU ,0x00000004U); |
| /*############################################################################################################################ */ |
| |
| /*Register : MIO_PIN_63 @ 0XFF1800FC</p> |
| |
| Level 0 Mux Select 0= Level 1 Mux Output 1= gem2, Input, gem2_rgmii_rx_ctl- (RX RGMII control ) |
| PSU_IOU_SLCR_MIO_PIN_63_L0_SEL 0 |
| |
| 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) |
| PSU_IOU_SLCR_MIO_PIN_63_L1_SEL 1 |
| |
| Level 2 Mux Select 0= Level 3 Mux Output 1= Not Used 2= Not Used 3= Not Used |
| PSU_IOU_SLCR_MIO_PIN_63_L2_SEL 0 |
| |
| 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) |
| PSU_IOU_SLCR_MIO_PIN_63_L3_SEL 0 |
| |
| Configures MIO Pin 63 peripheral interface mapping |
| (OFFSET, MASK, VALUE) (0XFF1800FC, 0x000000FEU ,0x00000004U) |
| RegMask = (IOU_SLCR_MIO_PIN_63_L0_SEL_MASK | IOU_SLCR_MIO_PIN_63_L1_SEL_MASK | IOU_SLCR_MIO_PIN_63_L2_SEL_MASK | IOU_SLCR_MIO_PIN_63_L3_SEL_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << IOU_SLCR_MIO_PIN_63_L0_SEL_SHIFT |
| | 0x00000001U << IOU_SLCR_MIO_PIN_63_L1_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_63_L2_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_63_L3_SEL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (IOU_SLCR_MIO_PIN_63_OFFSET ,0x000000FEU ,0x00000004U); |
| /*############################################################################################################################ */ |
| |
| /*Register : MIO_PIN_64 @ 0XFF180100</p> |
| |
| Level 0 Mux Select 0= Level 1 Mux Output 1= gem3, Output, gem3_rgmii_tx_clk- (TX RGMII clock) |
| PSU_IOU_SLCR_MIO_PIN_64_L0_SEL 1 |
| |
| Level 1 Mux Select 0= Level 2 Mux Output 1= usb1, Input, usb1_ulpi_clk_in- (ULPI Clock) |
| PSU_IOU_SLCR_MIO_PIN_64_L1_SEL 0 |
| |
| Level 2 Mux Select 0= Level 3 Mux Output 1= sd0, Output, sdio0_clk_out- (SDSDIO clock) 2= Not Used 3= Not Used |
| PSU_IOU_SLCR_MIO_PIN_64_L2_SEL 0 |
| |
| 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) |
| PSU_IOU_SLCR_MIO_PIN_64_L3_SEL 0 |
| |
| Configures MIO Pin 64 peripheral interface mapping |
| (OFFSET, MASK, VALUE) (0XFF180100, 0x000000FEU ,0x00000002U) |
| RegMask = (IOU_SLCR_MIO_PIN_64_L0_SEL_MASK | IOU_SLCR_MIO_PIN_64_L1_SEL_MASK | IOU_SLCR_MIO_PIN_64_L2_SEL_MASK | IOU_SLCR_MIO_PIN_64_L3_SEL_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << IOU_SLCR_MIO_PIN_64_L0_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_64_L1_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_64_L2_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_64_L3_SEL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (IOU_SLCR_MIO_PIN_64_OFFSET ,0x000000FEU ,0x00000002U); |
| /*############################################################################################################################ */ |
| |
| /*Register : MIO_PIN_65 @ 0XFF180104</p> |
| |
| Level 0 Mux Select 0= Level 1 Mux Output 1= gem3, Output, gem3_rgmii_txd[0]- (TX RGMII data) |
| PSU_IOU_SLCR_MIO_PIN_65_L0_SEL 1 |
| |
| Level 1 Mux Select 0= Level 2 Mux Output 1= usb1, Input, usb1_ulpi_dir- (Data bus direction control) |
| PSU_IOU_SLCR_MIO_PIN_65_L1_SEL 0 |
| |
| 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 |
| PSU_IOU_SLCR_MIO_PIN_65_L2_SEL 0 |
| |
| 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) |
| PSU_IOU_SLCR_MIO_PIN_65_L3_SEL 0 |
| |
| Configures MIO Pin 65 peripheral interface mapping |
| (OFFSET, MASK, VALUE) (0XFF180104, 0x000000FEU ,0x00000002U) |
| RegMask = (IOU_SLCR_MIO_PIN_65_L0_SEL_MASK | IOU_SLCR_MIO_PIN_65_L1_SEL_MASK | IOU_SLCR_MIO_PIN_65_L2_SEL_MASK | IOU_SLCR_MIO_PIN_65_L3_SEL_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << IOU_SLCR_MIO_PIN_65_L0_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_65_L1_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_65_L2_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_65_L3_SEL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (IOU_SLCR_MIO_PIN_65_OFFSET ,0x000000FEU ,0x00000002U); |
| /*############################################################################################################################ */ |
| |
| /*Register : MIO_PIN_66 @ 0XFF180108</p> |
| |
| Level 0 Mux Select 0= Level 1 Mux Output 1= gem3, Output, gem3_rgmii_txd[1]- (TX RGMII data) |
| PSU_IOU_SLCR_MIO_PIN_66_L0_SEL 1 |
| |
| 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) |
| PSU_IOU_SLCR_MIO_PIN_66_L1_SEL 0 |
| |
| 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 |
| PSU_IOU_SLCR_MIO_PIN_66_L2_SEL 0 |
| |
| 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) |
| PSU_IOU_SLCR_MIO_PIN_66_L3_SEL 0 |
| |
| Configures MIO Pin 66 peripheral interface mapping |
| (OFFSET, MASK, VALUE) (0XFF180108, 0x000000FEU ,0x00000002U) |
| RegMask = (IOU_SLCR_MIO_PIN_66_L0_SEL_MASK | IOU_SLCR_MIO_PIN_66_L1_SEL_MASK | IOU_SLCR_MIO_PIN_66_L2_SEL_MASK | IOU_SLCR_MIO_PIN_66_L3_SEL_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << IOU_SLCR_MIO_PIN_66_L0_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_66_L1_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_66_L2_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_66_L3_SEL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (IOU_SLCR_MIO_PIN_66_OFFSET ,0x000000FEU ,0x00000002U); |
| /*############################################################################################################################ */ |
| |
| /*Register : MIO_PIN_67 @ 0XFF18010C</p> |
| |
| Level 0 Mux Select 0= Level 1 Mux Output 1= gem3, Output, gem3_rgmii_txd[2]- (TX RGMII data) |
| PSU_IOU_SLCR_MIO_PIN_67_L0_SEL 1 |
| |
| Level 1 Mux Select 0= Level 2 Mux Output 1= usb1, Input, usb1_ulpi_nxt- (Data flow control signal from the PHY) |
| PSU_IOU_SLCR_MIO_PIN_67_L1_SEL 0 |
| |
| 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 |
| PSU_IOU_SLCR_MIO_PIN_67_L2_SEL 0 |
| |
| 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) |
| PSU_IOU_SLCR_MIO_PIN_67_L3_SEL 0 |
| |
| Configures MIO Pin 67 peripheral interface mapping |
| (OFFSET, MASK, VALUE) (0XFF18010C, 0x000000FEU ,0x00000002U) |
| RegMask = (IOU_SLCR_MIO_PIN_67_L0_SEL_MASK | IOU_SLCR_MIO_PIN_67_L1_SEL_MASK | IOU_SLCR_MIO_PIN_67_L2_SEL_MASK | IOU_SLCR_MIO_PIN_67_L3_SEL_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << IOU_SLCR_MIO_PIN_67_L0_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_67_L1_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_67_L2_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_67_L3_SEL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (IOU_SLCR_MIO_PIN_67_OFFSET ,0x000000FEU ,0x00000002U); |
| /*############################################################################################################################ */ |
| |
| /*Register : MIO_PIN_68 @ 0XFF180110</p> |
| |
| Level 0 Mux Select 0= Level 1 Mux Output 1= gem3, Output, gem3_rgmii_txd[3]- (TX RGMII data) |
| PSU_IOU_SLCR_MIO_PIN_68_L0_SEL 1 |
| |
| 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) |
| PSU_IOU_SLCR_MIO_PIN_68_L1_SEL 0 |
| |
| 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 |
| PSU_IOU_SLCR_MIO_PIN_68_L2_SEL 0 |
| |
| 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) |
| PSU_IOU_SLCR_MIO_PIN_68_L3_SEL 0 |
| |
| Configures MIO Pin 68 peripheral interface mapping |
| (OFFSET, MASK, VALUE) (0XFF180110, 0x000000FEU ,0x00000002U) |
| RegMask = (IOU_SLCR_MIO_PIN_68_L0_SEL_MASK | IOU_SLCR_MIO_PIN_68_L1_SEL_MASK | IOU_SLCR_MIO_PIN_68_L2_SEL_MASK | IOU_SLCR_MIO_PIN_68_L3_SEL_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << IOU_SLCR_MIO_PIN_68_L0_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_68_L1_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_68_L2_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_68_L3_SEL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (IOU_SLCR_MIO_PIN_68_OFFSET ,0x000000FEU ,0x00000002U); |
| /*############################################################################################################################ */ |
| |
| /*Register : MIO_PIN_69 @ 0XFF180114</p> |
| |
| Level 0 Mux Select 0= Level 1 Mux Output 1= gem3, Output, gem3_rgmii_tx_ctl- (TX RGMII control) |
| PSU_IOU_SLCR_MIO_PIN_69_L0_SEL 1 |
| |
| 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) |
| PSU_IOU_SLCR_MIO_PIN_69_L1_SEL 0 |
| |
| 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 |
| PSU_IOU_SLCR_MIO_PIN_69_L2_SEL 0 |
| |
| 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) |
| PSU_IOU_SLCR_MIO_PIN_69_L3_SEL 0 |
| |
| Configures MIO Pin 69 peripheral interface mapping |
| (OFFSET, MASK, VALUE) (0XFF180114, 0x000000FEU ,0x00000002U) |
| RegMask = (IOU_SLCR_MIO_PIN_69_L0_SEL_MASK | IOU_SLCR_MIO_PIN_69_L1_SEL_MASK | IOU_SLCR_MIO_PIN_69_L2_SEL_MASK | IOU_SLCR_MIO_PIN_69_L3_SEL_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << IOU_SLCR_MIO_PIN_69_L0_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_69_L1_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_69_L2_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_69_L3_SEL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (IOU_SLCR_MIO_PIN_69_OFFSET ,0x000000FEU ,0x00000002U); |
| /*############################################################################################################################ */ |
| |
| /*Register : MIO_PIN_70 @ 0XFF180118</p> |
| |
| Level 0 Mux Select 0= Level 1 Mux Output 1= gem3, Input, gem3_rgmii_rx_clk- (RX RGMII clock) |
| PSU_IOU_SLCR_MIO_PIN_70_L0_SEL 1 |
| |
| Level 1 Mux Select 0= Level 2 Mux Output 1= usb1, Output, usb1_ulpi_stp- (Asserted to end or interrupt transfers) |
| PSU_IOU_SLCR_MIO_PIN_70_L1_SEL 0 |
| |
| 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 |
| PSU_IOU_SLCR_MIO_PIN_70_L2_SEL 0 |
| |
| 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 |
| PSU_IOU_SLCR_MIO_PIN_70_L3_SEL 0 |
| |
| Configures MIO Pin 70 peripheral interface mapping |
| (OFFSET, MASK, VALUE) (0XFF180118, 0x000000FEU ,0x00000002U) |
| RegMask = (IOU_SLCR_MIO_PIN_70_L0_SEL_MASK | IOU_SLCR_MIO_PIN_70_L1_SEL_MASK | IOU_SLCR_MIO_PIN_70_L2_SEL_MASK | IOU_SLCR_MIO_PIN_70_L3_SEL_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << IOU_SLCR_MIO_PIN_70_L0_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_70_L1_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_70_L2_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_70_L3_SEL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (IOU_SLCR_MIO_PIN_70_OFFSET ,0x000000FEU ,0x00000002U); |
| /*############################################################################################################################ */ |
| |
| /*Register : MIO_PIN_71 @ 0XFF18011C</p> |
| |
| Level 0 Mux Select 0= Level 1 Mux Output 1= gem3, Input, gem3_rgmii_rxd[0]- (RX RGMII data) |
| PSU_IOU_SLCR_MIO_PIN_71_L0_SEL 1 |
| |
| 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) |
| PSU_IOU_SLCR_MIO_PIN_71_L1_SEL 0 |
| |
| 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 |
| PSU_IOU_SLCR_MIO_PIN_71_L2_SEL 0 |
| |
| 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 |
| PSU_IOU_SLCR_MIO_PIN_71_L3_SEL 0 |
| |
| Configures MIO Pin 71 peripheral interface mapping |
| (OFFSET, MASK, VALUE) (0XFF18011C, 0x000000FEU ,0x00000002U) |
| RegMask = (IOU_SLCR_MIO_PIN_71_L0_SEL_MASK | IOU_SLCR_MIO_PIN_71_L1_SEL_MASK | IOU_SLCR_MIO_PIN_71_L2_SEL_MASK | IOU_SLCR_MIO_PIN_71_L3_SEL_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << IOU_SLCR_MIO_PIN_71_L0_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_71_L1_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_71_L2_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_71_L3_SEL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (IOU_SLCR_MIO_PIN_71_OFFSET ,0x000000FEU ,0x00000002U); |
| /*############################################################################################################################ */ |
| |
| /*Register : MIO_PIN_72 @ 0XFF180120</p> |
| |
| Level 0 Mux Select 0= Level 1 Mux Output 1= gem3, Input, gem3_rgmii_rxd[1]- (RX RGMII data) |
| PSU_IOU_SLCR_MIO_PIN_72_L0_SEL 1 |
| |
| 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) |
| PSU_IOU_SLCR_MIO_PIN_72_L1_SEL 0 |
| |
| 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 |
| PSU_IOU_SLCR_MIO_PIN_72_L2_SEL 0 |
| |
| 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 |
| PSU_IOU_SLCR_MIO_PIN_72_L3_SEL 0 |
| |
| Configures MIO Pin 72 peripheral interface mapping |
| (OFFSET, MASK, VALUE) (0XFF180120, 0x000000FEU ,0x00000002U) |
| RegMask = (IOU_SLCR_MIO_PIN_72_L0_SEL_MASK | IOU_SLCR_MIO_PIN_72_L1_SEL_MASK | IOU_SLCR_MIO_PIN_72_L2_SEL_MASK | IOU_SLCR_MIO_PIN_72_L3_SEL_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << IOU_SLCR_MIO_PIN_72_L0_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_72_L1_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_72_L2_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_72_L3_SEL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (IOU_SLCR_MIO_PIN_72_OFFSET ,0x000000FEU ,0x00000002U); |
| /*############################################################################################################################ */ |
| |
| /*Register : MIO_PIN_73 @ 0XFF180124</p> |
| |
| Level 0 Mux Select 0= Level 1 Mux Output 1= gem3, Input, gem3_rgmii_rxd[2]- (RX RGMII data) |
| PSU_IOU_SLCR_MIO_PIN_73_L0_SEL 1 |
| |
| 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) |
| PSU_IOU_SLCR_MIO_PIN_73_L1_SEL 0 |
| |
| 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 |
| PSU_IOU_SLCR_MIO_PIN_73_L2_SEL 0 |
| |
| 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 |
| PSU_IOU_SLCR_MIO_PIN_73_L3_SEL 0 |
| |
| Configures MIO Pin 73 peripheral interface mapping |
| (OFFSET, MASK, VALUE) (0XFF180124, 0x000000FEU ,0x00000002U) |
| RegMask = (IOU_SLCR_MIO_PIN_73_L0_SEL_MASK | IOU_SLCR_MIO_PIN_73_L1_SEL_MASK | IOU_SLCR_MIO_PIN_73_L2_SEL_MASK | IOU_SLCR_MIO_PIN_73_L3_SEL_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << IOU_SLCR_MIO_PIN_73_L0_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_73_L1_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_73_L2_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_73_L3_SEL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (IOU_SLCR_MIO_PIN_73_OFFSET ,0x000000FEU ,0x00000002U); |
| /*############################################################################################################################ */ |
| |
| /*Register : MIO_PIN_74 @ 0XFF180128</p> |
| |
| Level 0 Mux Select 0= Level 1 Mux Output 1= gem3, Input, gem3_rgmii_rxd[3]- (RX RGMII data) |
| PSU_IOU_SLCR_MIO_PIN_74_L0_SEL 1 |
| |
| 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) |
| PSU_IOU_SLCR_MIO_PIN_74_L1_SEL 0 |
| |
| 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 |
| PSU_IOU_SLCR_MIO_PIN_74_L2_SEL 0 |
| |
| 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 |
| PSU_IOU_SLCR_MIO_PIN_74_L3_SEL 0 |
| |
| Configures MIO Pin 74 peripheral interface mapping |
| (OFFSET, MASK, VALUE) (0XFF180128, 0x000000FEU ,0x00000002U) |
| RegMask = (IOU_SLCR_MIO_PIN_74_L0_SEL_MASK | IOU_SLCR_MIO_PIN_74_L1_SEL_MASK | IOU_SLCR_MIO_PIN_74_L2_SEL_MASK | IOU_SLCR_MIO_PIN_74_L3_SEL_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << IOU_SLCR_MIO_PIN_74_L0_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_74_L1_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_74_L2_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_74_L3_SEL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (IOU_SLCR_MIO_PIN_74_OFFSET ,0x000000FEU ,0x00000002U); |
| /*############################################################################################################################ */ |
| |
| /*Register : MIO_PIN_75 @ 0XFF18012C</p> |
| |
| Level 0 Mux Select 0= Level 1 Mux Output 1= gem3, Input, gem3_rgmii_rx_ctl- (RX RGMII control ) |
| PSU_IOU_SLCR_MIO_PIN_75_L0_SEL 1 |
| |
| 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) |
| PSU_IOU_SLCR_MIO_PIN_75_L1_SEL 0 |
| |
| 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 |
| PSU_IOU_SLCR_MIO_PIN_75_L2_SEL 0 |
| |
| 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 |
| PSU_IOU_SLCR_MIO_PIN_75_L3_SEL 0 |
| |
| Configures MIO Pin 75 peripheral interface mapping |
| (OFFSET, MASK, VALUE) (0XFF18012C, 0x000000FEU ,0x00000002U) |
| RegMask = (IOU_SLCR_MIO_PIN_75_L0_SEL_MASK | IOU_SLCR_MIO_PIN_75_L1_SEL_MASK | IOU_SLCR_MIO_PIN_75_L2_SEL_MASK | IOU_SLCR_MIO_PIN_75_L3_SEL_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << IOU_SLCR_MIO_PIN_75_L0_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_75_L1_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_75_L2_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_75_L3_SEL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (IOU_SLCR_MIO_PIN_75_OFFSET ,0x000000FEU ,0x00000002U); |
| /*############################################################################################################################ */ |
| |
| /*Register : MIO_PIN_76 @ 0XFF180130</p> |
| |
| Level 0 Mux Select 0= Level 1 Mux Output 1= Not Used |
| PSU_IOU_SLCR_MIO_PIN_76_L0_SEL 0 |
| |
| Level 1 Mux Select 0= Level 2 Mux Output 1= Not Used |
| PSU_IOU_SLCR_MIO_PIN_76_L1_SEL 0 |
| |
| 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 |
| PSU_IOU_SLCR_MIO_PIN_76_L2_SEL 0 |
| |
| 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 |
| PSU_IOU_SLCR_MIO_PIN_76_L3_SEL 6 |
| |
| Configures MIO Pin 76 peripheral interface mapping |
| (OFFSET, MASK, VALUE) (0XFF180130, 0x000000FEU ,0x000000C0U) |
| RegMask = (IOU_SLCR_MIO_PIN_76_L0_SEL_MASK | IOU_SLCR_MIO_PIN_76_L1_SEL_MASK | IOU_SLCR_MIO_PIN_76_L2_SEL_MASK | IOU_SLCR_MIO_PIN_76_L3_SEL_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << IOU_SLCR_MIO_PIN_76_L0_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_76_L1_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_76_L2_SEL_SHIFT |
| | 0x00000006U << IOU_SLCR_MIO_PIN_76_L3_SEL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (IOU_SLCR_MIO_PIN_76_OFFSET ,0x000000FEU ,0x000000C0U); |
| /*############################################################################################################################ */ |
| |
| /*Register : MIO_PIN_77 @ 0XFF180134</p> |
| |
| Level 0 Mux Select 0= Level 1 Mux Output 1= Not Used |
| PSU_IOU_SLCR_MIO_PIN_77_L0_SEL 0 |
| |
| Level 1 Mux Select 0= Level 2 Mux Output 1= Not Used |
| PSU_IOU_SLCR_MIO_PIN_77_L1_SEL 0 |
| |
| 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 |
| PSU_IOU_SLCR_MIO_PIN_77_L2_SEL 0 |
| |
| 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 |
| PSU_IOU_SLCR_MIO_PIN_77_L3_SEL 6 |
| |
| Configures MIO Pin 77 peripheral interface mapping |
| (OFFSET, MASK, VALUE) (0XFF180134, 0x000000FEU ,0x000000C0U) |
| RegMask = (IOU_SLCR_MIO_PIN_77_L0_SEL_MASK | IOU_SLCR_MIO_PIN_77_L1_SEL_MASK | IOU_SLCR_MIO_PIN_77_L2_SEL_MASK | IOU_SLCR_MIO_PIN_77_L3_SEL_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << IOU_SLCR_MIO_PIN_77_L0_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_77_L1_SEL_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_PIN_77_L2_SEL_SHIFT |
| | 0x00000006U << IOU_SLCR_MIO_PIN_77_L3_SEL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (IOU_SLCR_MIO_PIN_77_OFFSET ,0x000000FEU ,0x000000C0U); |
| /*############################################################################################################################ */ |
| |
| /*Register : MIO_MST_TRI0 @ 0XFF180204</p> |
| |
| Master Tri-state Enable for pin 0, active high |
| PSU_IOU_SLCR_MIO_MST_TRI0_PIN_00_TRI 0 |
| |
| Master Tri-state Enable for pin 1, active high |
| PSU_IOU_SLCR_MIO_MST_TRI0_PIN_01_TRI 0 |
| |
| Master Tri-state Enable for pin 2, active high |
| PSU_IOU_SLCR_MIO_MST_TRI0_PIN_02_TRI 0 |
| |
| Master Tri-state Enable for pin 3, active high |
| PSU_IOU_SLCR_MIO_MST_TRI0_PIN_03_TRI 0 |
| |
| Master Tri-state Enable for pin 4, active high |
| PSU_IOU_SLCR_MIO_MST_TRI0_PIN_04_TRI 0 |
| |
| Master Tri-state Enable for pin 5, active high |
| PSU_IOU_SLCR_MIO_MST_TRI0_PIN_05_TRI 0 |
| |
| Master Tri-state Enable for pin 6, active high |
| PSU_IOU_SLCR_MIO_MST_TRI0_PIN_06_TRI 0 |
| |
| Master Tri-state Enable for pin 7, active high |
| PSU_IOU_SLCR_MIO_MST_TRI0_PIN_07_TRI 0 |
| |
| Master Tri-state Enable for pin 8, active high |
| PSU_IOU_SLCR_MIO_MST_TRI0_PIN_08_TRI 0 |
| |
| Master Tri-state Enable for pin 9, active high |
| PSU_IOU_SLCR_MIO_MST_TRI0_PIN_09_TRI 0 |
| |
| Master Tri-state Enable for pin 10, active high |
| PSU_IOU_SLCR_MIO_MST_TRI0_PIN_10_TRI 0 |
| |
| Master Tri-state Enable for pin 11, active high |
| PSU_IOU_SLCR_MIO_MST_TRI0_PIN_11_TRI 0 |
| |
| Master Tri-state Enable for pin 12, active high |
| PSU_IOU_SLCR_MIO_MST_TRI0_PIN_12_TRI 0 |
| |
| Master Tri-state Enable for pin 13, active high |
| PSU_IOU_SLCR_MIO_MST_TRI0_PIN_13_TRI 0 |
| |
| Master Tri-state Enable for pin 14, active high |
| PSU_IOU_SLCR_MIO_MST_TRI0_PIN_14_TRI 0 |
| |
| Master Tri-state Enable for pin 15, active high |
| PSU_IOU_SLCR_MIO_MST_TRI0_PIN_15_TRI 0 |
| |
| Master Tri-state Enable for pin 16, active high |
| PSU_IOU_SLCR_MIO_MST_TRI0_PIN_16_TRI 0 |
| |
| Master Tri-state Enable for pin 17, active high |
| PSU_IOU_SLCR_MIO_MST_TRI0_PIN_17_TRI 0 |
| |
| Master Tri-state Enable for pin 18, active high |
| PSU_IOU_SLCR_MIO_MST_TRI0_PIN_18_TRI 1 |
| |
| Master Tri-state Enable for pin 19, active high |
| PSU_IOU_SLCR_MIO_MST_TRI0_PIN_19_TRI 0 |
| |
| Master Tri-state Enable for pin 20, active high |
| PSU_IOU_SLCR_MIO_MST_TRI0_PIN_20_TRI 0 |
| |
| Master Tri-state Enable for pin 21, active high |
| PSU_IOU_SLCR_MIO_MST_TRI0_PIN_21_TRI 1 |
| |
| Master Tri-state Enable for pin 22, active high |
| PSU_IOU_SLCR_MIO_MST_TRI0_PIN_22_TRI 0 |
| |
| Master Tri-state Enable for pin 23, active high |
| PSU_IOU_SLCR_MIO_MST_TRI0_PIN_23_TRI 0 |
| |
| Master Tri-state Enable for pin 24, active high |
| PSU_IOU_SLCR_MIO_MST_TRI0_PIN_24_TRI 0 |
| |
| Master Tri-state Enable for pin 25, active high |
| PSU_IOU_SLCR_MIO_MST_TRI0_PIN_25_TRI 1 |
| |
| Master Tri-state Enable for pin 26, active high |
| PSU_IOU_SLCR_MIO_MST_TRI0_PIN_26_TRI 1 |
| |
| Master Tri-state Enable for pin 27, active high |
| PSU_IOU_SLCR_MIO_MST_TRI0_PIN_27_TRI 0 |
| |
| Master Tri-state Enable for pin 28, active high |
| PSU_IOU_SLCR_MIO_MST_TRI0_PIN_28_TRI 0 |
| |
| Master Tri-state Enable for pin 29, active high |
| PSU_IOU_SLCR_MIO_MST_TRI0_PIN_29_TRI 0 |
| |
| Master Tri-state Enable for pin 30, active high |
| PSU_IOU_SLCR_MIO_MST_TRI0_PIN_30_TRI 0 |
| |
| Master Tri-state Enable for pin 31, active high |
| PSU_IOU_SLCR_MIO_MST_TRI0_PIN_31_TRI 0 |
| |
| MIO pin Tri-state Enables, 31:0 |
| (OFFSET, MASK, VALUE) (0XFF180204, 0xFFFFFFFFU ,0x06240000U) |
| RegMask = (IOU_SLCR_MIO_MST_TRI0_PIN_00_TRI_MASK | IOU_SLCR_MIO_MST_TRI0_PIN_01_TRI_MASK | IOU_SLCR_MIO_MST_TRI0_PIN_02_TRI_MASK | IOU_SLCR_MIO_MST_TRI0_PIN_03_TRI_MASK | IOU_SLCR_MIO_MST_TRI0_PIN_04_TRI_MASK | IOU_SLCR_MIO_MST_TRI0_PIN_05_TRI_MASK | IOU_SLCR_MIO_MST_TRI0_PIN_06_TRI_MASK | IOU_SLCR_MIO_MST_TRI0_PIN_07_TRI_MASK | IOU_SLCR_MIO_MST_TRI0_PIN_08_TRI_MASK | IOU_SLCR_MIO_MST_TRI0_PIN_09_TRI_MASK | IOU_SLCR_MIO_MST_TRI0_PIN_10_TRI_MASK | IOU_SLCR_MIO_MST_TRI0_PIN_11_TRI_MASK | IOU_SLCR_MIO_MST_TRI0_PIN_12_TRI_MASK | IOU_SLCR_MIO_MST_TRI0_PIN_13_TRI_MASK | IOU_SLCR_MIO_MST_TRI0_PIN_14_TRI_MASK | IOU_SLCR_MIO_MST_TRI0_PIN_15_TRI_MASK | IOU_SLCR_MIO_MST_TRI0_PIN_16_TRI_MASK | IOU_SLCR_MIO_MST_TRI0_PIN_17_TRI_MASK | IOU_SLCR_MIO_MST_TRI0_PIN_18_TRI_MASK | IOU_SLCR_MIO_MST_TRI0_PIN_19_TRI_MASK | IOU_SLCR_MIO_MST_TRI0_PIN_20_TRI_MASK | IOU_SLCR_MIO_MST_TRI0_PIN_21_TRI_MASK | IOU_SLCR_MIO_MST_TRI0_PIN_22_TRI_MASK | IOU_SLCR_MIO_MST_TRI0_PIN_23_TRI_MASK | IOU_SLCR_MIO_MST_TRI0_PIN_24_TRI_MASK | IOU_SLCR_MIO_MST_TRI0_PIN_25_TRI_MASK | IOU_SLCR_MIO_MST_TRI0_PIN_26_TRI_MASK | IOU_SLCR_MIO_MST_TRI0_PIN_27_TRI_MASK | IOU_SLCR_MIO_MST_TRI0_PIN_28_TRI_MASK | IOU_SLCR_MIO_MST_TRI0_PIN_29_TRI_MASK | IOU_SLCR_MIO_MST_TRI0_PIN_30_TRI_MASK | IOU_SLCR_MIO_MST_TRI0_PIN_31_TRI_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << IOU_SLCR_MIO_MST_TRI0_PIN_00_TRI_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_MST_TRI0_PIN_01_TRI_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_MST_TRI0_PIN_02_TRI_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_MST_TRI0_PIN_03_TRI_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_MST_TRI0_PIN_04_TRI_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_MST_TRI0_PIN_05_TRI_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_MST_TRI0_PIN_06_TRI_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_MST_TRI0_PIN_07_TRI_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_MST_TRI0_PIN_08_TRI_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_MST_TRI0_PIN_09_TRI_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_MST_TRI0_PIN_10_TRI_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_MST_TRI0_PIN_11_TRI_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_MST_TRI0_PIN_12_TRI_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_MST_TRI0_PIN_13_TRI_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_MST_TRI0_PIN_14_TRI_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_MST_TRI0_PIN_15_TRI_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_MST_TRI0_PIN_16_TRI_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_MST_TRI0_PIN_17_TRI_SHIFT |
| | 0x00000001U << IOU_SLCR_MIO_MST_TRI0_PIN_18_TRI_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_MST_TRI0_PIN_19_TRI_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_MST_TRI0_PIN_20_TRI_SHIFT |
| | 0x00000001U << IOU_SLCR_MIO_MST_TRI0_PIN_21_TRI_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_MST_TRI0_PIN_22_TRI_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_MST_TRI0_PIN_23_TRI_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_MST_TRI0_PIN_24_TRI_SHIFT |
| | 0x00000001U << IOU_SLCR_MIO_MST_TRI0_PIN_25_TRI_SHIFT |
| | 0x00000001U << IOU_SLCR_MIO_MST_TRI0_PIN_26_TRI_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_MST_TRI0_PIN_27_TRI_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_MST_TRI0_PIN_28_TRI_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_MST_TRI0_PIN_29_TRI_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_MST_TRI0_PIN_30_TRI_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_MST_TRI0_PIN_31_TRI_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (IOU_SLCR_MIO_MST_TRI0_OFFSET ,0xFFFFFFFFU ,0x06240000U); |
| /*############################################################################################################################ */ |
| |
| /*Register : MIO_MST_TRI1 @ 0XFF180208</p> |
| |
| Master Tri-state Enable for pin 32, active high |
| PSU_IOU_SLCR_MIO_MST_TRI1_PIN_32_TRI 0 |
| |
| Master Tri-state Enable for pin 33, active high |
| PSU_IOU_SLCR_MIO_MST_TRI1_PIN_33_TRI 0 |
| |
| Master Tri-state Enable for pin 34, active high |
| PSU_IOU_SLCR_MIO_MST_TRI1_PIN_34_TRI 0 |
| |
| Master Tri-state Enable for pin 35, active high |
| PSU_IOU_SLCR_MIO_MST_TRI1_PIN_35_TRI 0 |
| |
| Master Tri-state Enable for pin 36, active high |
| PSU_IOU_SLCR_MIO_MST_TRI1_PIN_36_TRI 0 |
| |
| Master Tri-state Enable for pin 37, active high |
| PSU_IOU_SLCR_MIO_MST_TRI1_PIN_37_TRI 0 |
| |
| Master Tri-state Enable for pin 38, active high |
| PSU_IOU_SLCR_MIO_MST_TRI1_PIN_38_TRI 0 |
| |
| Master Tri-state Enable for pin 39, active high |
| PSU_IOU_SLCR_MIO_MST_TRI1_PIN_39_TRI 0 |
| |
| Master Tri-state Enable for pin 40, active high |
| PSU_IOU_SLCR_MIO_MST_TRI1_PIN_40_TRI 0 |
| |
| Master Tri-state Enable for pin 41, active high |
| PSU_IOU_SLCR_MIO_MST_TRI1_PIN_41_TRI 0 |
| |
| Master Tri-state Enable for pin 42, active high |
| PSU_IOU_SLCR_MIO_MST_TRI1_PIN_42_TRI 0 |
| |
| Master Tri-state Enable for pin 43, active high |
| PSU_IOU_SLCR_MIO_MST_TRI1_PIN_43_TRI 0 |
| |
| Master Tri-state Enable for pin 44, active high |
| PSU_IOU_SLCR_MIO_MST_TRI1_PIN_44_TRI 1 |
| |
| Master Tri-state Enable for pin 45, active high |
| PSU_IOU_SLCR_MIO_MST_TRI1_PIN_45_TRI 1 |
| |
| Master Tri-state Enable for pin 46, active high |
| PSU_IOU_SLCR_MIO_MST_TRI1_PIN_46_TRI 0 |
| |
| Master Tri-state Enable for pin 47, active high |
| PSU_IOU_SLCR_MIO_MST_TRI1_PIN_47_TRI 0 |
| |
| Master Tri-state Enable for pin 48, active high |
| PSU_IOU_SLCR_MIO_MST_TRI1_PIN_48_TRI 0 |
| |
| Master Tri-state Enable for pin 49, active high |
| PSU_IOU_SLCR_MIO_MST_TRI1_PIN_49_TRI 0 |
| |
| Master Tri-state Enable for pin 50, active high |
| PSU_IOU_SLCR_MIO_MST_TRI1_PIN_50_TRI 0 |
| |
| Master Tri-state Enable for pin 51, active high |
| PSU_IOU_SLCR_MIO_MST_TRI1_PIN_51_TRI 0 |
| |
| Master Tri-state Enable for pin 52, active high |
| PSU_IOU_SLCR_MIO_MST_TRI1_PIN_52_TRI 1 |
| |
| Master Tri-state Enable for pin 53, active high |
| PSU_IOU_SLCR_MIO_MST_TRI1_PIN_53_TRI 1 |
| |
| Master Tri-state Enable for pin 54, active high |
| PSU_IOU_SLCR_MIO_MST_TRI1_PIN_54_TRI 0 |
| |
| Master Tri-state Enable for pin 55, active high |
| PSU_IOU_SLCR_MIO_MST_TRI1_PIN_55_TRI 1 |
| |
| Master Tri-state Enable for pin 56, active high |
| PSU_IOU_SLCR_MIO_MST_TRI1_PIN_56_TRI 0 |
| |
| Master Tri-state Enable for pin 57, active high |
| PSU_IOU_SLCR_MIO_MST_TRI1_PIN_57_TRI 0 |
| |
| Master Tri-state Enable for pin 58, active high |
| PSU_IOU_SLCR_MIO_MST_TRI1_PIN_58_TRI 0 |
| |
| Master Tri-state Enable for pin 59, active high |
| PSU_IOU_SLCR_MIO_MST_TRI1_PIN_59_TRI 0 |
| |
| Master Tri-state Enable for pin 60, active high |
| PSU_IOU_SLCR_MIO_MST_TRI1_PIN_60_TRI 0 |
| |
| Master Tri-state Enable for pin 61, active high |
| PSU_IOU_SLCR_MIO_MST_TRI1_PIN_61_TRI 0 |
| |
| Master Tri-state Enable for pin 62, active high |
| PSU_IOU_SLCR_MIO_MST_TRI1_PIN_62_TRI 0 |
| |
| Master Tri-state Enable for pin 63, active high |
| PSU_IOU_SLCR_MIO_MST_TRI1_PIN_63_TRI 0 |
| |
| MIO pin Tri-state Enables, 63:32 |
| (OFFSET, MASK, VALUE) (0XFF180208, 0xFFFFFFFFU ,0x00B03000U) |
| RegMask = (IOU_SLCR_MIO_MST_TRI1_PIN_32_TRI_MASK | IOU_SLCR_MIO_MST_TRI1_PIN_33_TRI_MASK | IOU_SLCR_MIO_MST_TRI1_PIN_34_TRI_MASK | IOU_SLCR_MIO_MST_TRI1_PIN_35_TRI_MASK | IOU_SLCR_MIO_MST_TRI1_PIN_36_TRI_MASK | IOU_SLCR_MIO_MST_TRI1_PIN_37_TRI_MASK | IOU_SLCR_MIO_MST_TRI1_PIN_38_TRI_MASK | IOU_SLCR_MIO_MST_TRI1_PIN_39_TRI_MASK | IOU_SLCR_MIO_MST_TRI1_PIN_40_TRI_MASK | IOU_SLCR_MIO_MST_TRI1_PIN_41_TRI_MASK | IOU_SLCR_MIO_MST_TRI1_PIN_42_TRI_MASK | IOU_SLCR_MIO_MST_TRI1_PIN_43_TRI_MASK | IOU_SLCR_MIO_MST_TRI1_PIN_44_TRI_MASK | IOU_SLCR_MIO_MST_TRI1_PIN_45_TRI_MASK | IOU_SLCR_MIO_MST_TRI1_PIN_46_TRI_MASK | IOU_SLCR_MIO_MST_TRI1_PIN_47_TRI_MASK | IOU_SLCR_MIO_MST_TRI1_PIN_48_TRI_MASK | IOU_SLCR_MIO_MST_TRI1_PIN_49_TRI_MASK | IOU_SLCR_MIO_MST_TRI1_PIN_50_TRI_MASK | IOU_SLCR_MIO_MST_TRI1_PIN_51_TRI_MASK | IOU_SLCR_MIO_MST_TRI1_PIN_52_TRI_MASK | IOU_SLCR_MIO_MST_TRI1_PIN_53_TRI_MASK | IOU_SLCR_MIO_MST_TRI1_PIN_54_TRI_MASK | IOU_SLCR_MIO_MST_TRI1_PIN_55_TRI_MASK | IOU_SLCR_MIO_MST_TRI1_PIN_56_TRI_MASK | IOU_SLCR_MIO_MST_TRI1_PIN_57_TRI_MASK | IOU_SLCR_MIO_MST_TRI1_PIN_58_TRI_MASK | IOU_SLCR_MIO_MST_TRI1_PIN_59_TRI_MASK | IOU_SLCR_MIO_MST_TRI1_PIN_60_TRI_MASK | IOU_SLCR_MIO_MST_TRI1_PIN_61_TRI_MASK | IOU_SLCR_MIO_MST_TRI1_PIN_62_TRI_MASK | IOU_SLCR_MIO_MST_TRI1_PIN_63_TRI_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << IOU_SLCR_MIO_MST_TRI1_PIN_32_TRI_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_MST_TRI1_PIN_33_TRI_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_MST_TRI1_PIN_34_TRI_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_MST_TRI1_PIN_35_TRI_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_MST_TRI1_PIN_36_TRI_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_MST_TRI1_PIN_37_TRI_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_MST_TRI1_PIN_38_TRI_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_MST_TRI1_PIN_39_TRI_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_MST_TRI1_PIN_40_TRI_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_MST_TRI1_PIN_41_TRI_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_MST_TRI1_PIN_42_TRI_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_MST_TRI1_PIN_43_TRI_SHIFT |
| | 0x00000001U << IOU_SLCR_MIO_MST_TRI1_PIN_44_TRI_SHIFT |
| | 0x00000001U << IOU_SLCR_MIO_MST_TRI1_PIN_45_TRI_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_MST_TRI1_PIN_46_TRI_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_MST_TRI1_PIN_47_TRI_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_MST_TRI1_PIN_48_TRI_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_MST_TRI1_PIN_49_TRI_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_MST_TRI1_PIN_50_TRI_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_MST_TRI1_PIN_51_TRI_SHIFT |
| | 0x00000001U << IOU_SLCR_MIO_MST_TRI1_PIN_52_TRI_SHIFT |
| | 0x00000001U << IOU_SLCR_MIO_MST_TRI1_PIN_53_TRI_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_MST_TRI1_PIN_54_TRI_SHIFT |
| | 0x00000001U << IOU_SLCR_MIO_MST_TRI1_PIN_55_TRI_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_MST_TRI1_PIN_56_TRI_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_MST_TRI1_PIN_57_TRI_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_MST_TRI1_PIN_58_TRI_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_MST_TRI1_PIN_59_TRI_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_MST_TRI1_PIN_60_TRI_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_MST_TRI1_PIN_61_TRI_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_MST_TRI1_PIN_62_TRI_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_MST_TRI1_PIN_63_TRI_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (IOU_SLCR_MIO_MST_TRI1_OFFSET ,0xFFFFFFFFU ,0x00B03000U); |
| /*############################################################################################################################ */ |
| |
| /*Register : MIO_MST_TRI2 @ 0XFF18020C</p> |
| |
| Master Tri-state Enable for pin 64, active high |
| PSU_IOU_SLCR_MIO_MST_TRI2_PIN_64_TRI 0 |
| |
| Master Tri-state Enable for pin 65, active high |
| PSU_IOU_SLCR_MIO_MST_TRI2_PIN_65_TRI 0 |
| |
| Master Tri-state Enable for pin 66, active high |
| PSU_IOU_SLCR_MIO_MST_TRI2_PIN_66_TRI 0 |
| |
| Master Tri-state Enable for pin 67, active high |
| PSU_IOU_SLCR_MIO_MST_TRI2_PIN_67_TRI 0 |
| |
| Master Tri-state Enable for pin 68, active high |
| PSU_IOU_SLCR_MIO_MST_TRI2_PIN_68_TRI 0 |
| |
| Master Tri-state Enable for pin 69, active high |
| PSU_IOU_SLCR_MIO_MST_TRI2_PIN_69_TRI 0 |
| |
| Master Tri-state Enable for pin 70, active high |
| PSU_IOU_SLCR_MIO_MST_TRI2_PIN_70_TRI 1 |
| |
| Master Tri-state Enable for pin 71, active high |
| PSU_IOU_SLCR_MIO_MST_TRI2_PIN_71_TRI 1 |
| |
| Master Tri-state Enable for pin 72, active high |
| PSU_IOU_SLCR_MIO_MST_TRI2_PIN_72_TRI 1 |
| |
| Master Tri-state Enable for pin 73, active high |
| PSU_IOU_SLCR_MIO_MST_TRI2_PIN_73_TRI 1 |
| |
| Master Tri-state Enable for pin 74, active high |
| PSU_IOU_SLCR_MIO_MST_TRI2_PIN_74_TRI 1 |
| |
| Master Tri-state Enable for pin 75, active high |
| PSU_IOU_SLCR_MIO_MST_TRI2_PIN_75_TRI 1 |
| |
| Master Tri-state Enable for pin 76, active high |
| PSU_IOU_SLCR_MIO_MST_TRI2_PIN_76_TRI 0 |
| |
| Master Tri-state Enable for pin 77, active high |
| PSU_IOU_SLCR_MIO_MST_TRI2_PIN_77_TRI 0 |
| |
| MIO pin Tri-state Enables, 77:64 |
| (OFFSET, MASK, VALUE) (0XFF18020C, 0x00003FFFU ,0x00000FC0U) |
| RegMask = (IOU_SLCR_MIO_MST_TRI2_PIN_64_TRI_MASK | IOU_SLCR_MIO_MST_TRI2_PIN_65_TRI_MASK | IOU_SLCR_MIO_MST_TRI2_PIN_66_TRI_MASK | IOU_SLCR_MIO_MST_TRI2_PIN_67_TRI_MASK | IOU_SLCR_MIO_MST_TRI2_PIN_68_TRI_MASK | IOU_SLCR_MIO_MST_TRI2_PIN_69_TRI_MASK | IOU_SLCR_MIO_MST_TRI2_PIN_70_TRI_MASK | IOU_SLCR_MIO_MST_TRI2_PIN_71_TRI_MASK | IOU_SLCR_MIO_MST_TRI2_PIN_72_TRI_MASK | IOU_SLCR_MIO_MST_TRI2_PIN_73_TRI_MASK | IOU_SLCR_MIO_MST_TRI2_PIN_74_TRI_MASK | IOU_SLCR_MIO_MST_TRI2_PIN_75_TRI_MASK | IOU_SLCR_MIO_MST_TRI2_PIN_76_TRI_MASK | IOU_SLCR_MIO_MST_TRI2_PIN_77_TRI_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << IOU_SLCR_MIO_MST_TRI2_PIN_64_TRI_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_MST_TRI2_PIN_65_TRI_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_MST_TRI2_PIN_66_TRI_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_MST_TRI2_PIN_67_TRI_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_MST_TRI2_PIN_68_TRI_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_MST_TRI2_PIN_69_TRI_SHIFT |
| | 0x00000001U << IOU_SLCR_MIO_MST_TRI2_PIN_70_TRI_SHIFT |
| | 0x00000001U << IOU_SLCR_MIO_MST_TRI2_PIN_71_TRI_SHIFT |
| | 0x00000001U << IOU_SLCR_MIO_MST_TRI2_PIN_72_TRI_SHIFT |
| | 0x00000001U << IOU_SLCR_MIO_MST_TRI2_PIN_73_TRI_SHIFT |
| | 0x00000001U << IOU_SLCR_MIO_MST_TRI2_PIN_74_TRI_SHIFT |
| | 0x00000001U << IOU_SLCR_MIO_MST_TRI2_PIN_75_TRI_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_MST_TRI2_PIN_76_TRI_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_MST_TRI2_PIN_77_TRI_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (IOU_SLCR_MIO_MST_TRI2_OFFSET ,0x00003FFFU ,0x00000FC0U); |
| /*############################################################################################################################ */ |
| |
| /*Register : bank0_ctrl0 @ 0XFF180138</p> |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_0 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_1 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_2 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_3 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_4 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_5 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_6 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_7 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_8 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_9 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_10 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_11 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_12 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_13 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_14 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_15 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_16 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_17 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_18 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_19 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_20 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_21 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_22 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_23 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_24 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_25 1 |
| |
| Drive0 control to MIO Bank 0 - control MIO[25:0] |
| (OFFSET, MASK, VALUE) (0XFF180138, 0x03FFFFFFU ,0x03FFFFFFU) |
| RegMask = (IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_0_MASK | IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_1_MASK | IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_2_MASK | IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_3_MASK | IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_4_MASK | IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_5_MASK | IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_6_MASK | IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_7_MASK | IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_8_MASK | IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_9_MASK | IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_10_MASK | IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_11_MASK | IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_12_MASK | IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_13_MASK | IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_14_MASK | IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_15_MASK | IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_16_MASK | IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_17_MASK | IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_18_MASK | IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_19_MASK | IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_20_MASK | IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_21_MASK | IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_22_MASK | IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_23_MASK | IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_24_MASK | IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_25_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_0_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_1_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_2_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_3_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_4_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_5_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_6_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_7_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_8_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_9_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_10_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_11_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_12_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_13_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_14_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_15_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_16_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_17_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_18_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_19_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_20_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_21_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_22_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_23_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_24_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK0_CTRL0_DRIVE0_BIT_25_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (IOU_SLCR_BANK0_CTRL0_OFFSET ,0x03FFFFFFU ,0x03FFFFFFU); |
| /*############################################################################################################################ */ |
| |
| /*Register : bank0_ctrl1 @ 0XFF18013C</p> |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_0 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_1 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_2 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_3 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_4 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_5 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_6 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_7 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_8 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_9 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_10 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_11 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_12 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_13 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_14 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_15 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_16 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_17 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_18 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_19 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_20 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_21 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_22 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_23 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_24 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_25 1 |
| |
| Drive1 control to MIO Bank 0 - control MIO[25:0] |
| (OFFSET, MASK, VALUE) (0XFF18013C, 0x03FFFFFFU ,0x03FFFFFFU) |
| RegMask = (IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_0_MASK | IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_1_MASK | IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_2_MASK | IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_3_MASK | IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_4_MASK | IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_5_MASK | IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_6_MASK | IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_7_MASK | IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_8_MASK | IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_9_MASK | IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_10_MASK | IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_11_MASK | IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_12_MASK | IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_13_MASK | IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_14_MASK | IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_15_MASK | IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_16_MASK | IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_17_MASK | IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_18_MASK | IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_19_MASK | IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_20_MASK | IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_21_MASK | IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_22_MASK | IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_23_MASK | IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_24_MASK | IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_25_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_0_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_1_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_2_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_3_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_4_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_5_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_6_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_7_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_8_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_9_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_10_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_11_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_12_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_13_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_14_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_15_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_16_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_17_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_18_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_19_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_20_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_21_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_22_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_23_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_24_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK0_CTRL1_DRIVE1_BIT_25_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (IOU_SLCR_BANK0_CTRL1_OFFSET ,0x03FFFFFFU ,0x03FFFFFFU); |
| /*############################################################################################################################ */ |
| |
| /*Register : bank0_ctrl3 @ 0XFF180140</p> |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_0 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_1 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_2 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_3 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_4 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_5 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_6 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_7 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_8 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_9 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_10 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_11 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_12 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_13 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_14 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_15 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_16 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_17 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_18 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_19 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_20 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_21 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_22 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_23 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_24 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_25 0 |
| |
| Selects either Schmitt or CMOS input for MIO Bank 0 - control MIO[25:0] |
| (OFFSET, MASK, VALUE) (0XFF180140, 0x03FFFFFFU ,0x00000000U) |
| RegMask = (IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_0_MASK | IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_1_MASK | IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_2_MASK | IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_3_MASK | IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_4_MASK | IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_5_MASK | IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_6_MASK | IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_7_MASK | IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_8_MASK | IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_9_MASK | IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_10_MASK | IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_11_MASK | IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_12_MASK | IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_13_MASK | IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_14_MASK | IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_15_MASK | IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_16_MASK | IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_17_MASK | IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_18_MASK | IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_19_MASK | IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_20_MASK | IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_21_MASK | IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_22_MASK | IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_23_MASK | IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_24_MASK | IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_25_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_0_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_1_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_2_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_3_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_4_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_5_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_6_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_7_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_8_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_9_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_10_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_11_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_12_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_13_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_14_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_15_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_16_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_17_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_18_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_19_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_20_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_21_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_22_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_23_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_24_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK0_CTRL3_SCHMITT_CMOS_N_BIT_25_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (IOU_SLCR_BANK0_CTRL3_OFFSET ,0x03FFFFFFU ,0x00000000U); |
| /*############################################################################################################################ */ |
| |
| /*Register : bank0_ctrl4 @ 0XFF180144</p> |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_0 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_1 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_2 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_3 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_4 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_5 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_6 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_7 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_8 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_9 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_10 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_11 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_12 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_13 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_14 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_15 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_16 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_17 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_18 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_19 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_20 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_21 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_22 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_23 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_24 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_25 1 |
| |
| When mio_bank0_pull_enable is set, this selects pull up or pull down for MIO Bank 0 - control MIO[25:0] |
| (OFFSET, MASK, VALUE) (0XFF180144, 0x03FFFFFFU ,0x03FFFFFFU) |
| RegMask = (IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_0_MASK | IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_1_MASK | IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_2_MASK | IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_3_MASK | IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_4_MASK | IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_5_MASK | IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_6_MASK | IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_7_MASK | IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_8_MASK | IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_9_MASK | IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_10_MASK | IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_11_MASK | IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_12_MASK | IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_13_MASK | IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_14_MASK | IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_15_MASK | IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_16_MASK | IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_17_MASK | IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_18_MASK | IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_19_MASK | IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_20_MASK | IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_21_MASK | IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_22_MASK | IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_23_MASK | IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_24_MASK | IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_25_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_0_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_1_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_2_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_3_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_4_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_5_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_6_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_7_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_8_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_9_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_10_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_11_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_12_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_13_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_14_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_15_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_16_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_17_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_18_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_19_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_20_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_21_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_22_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_23_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_24_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK0_CTRL4_PULL_HIGH_LOW_N_BIT_25_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (IOU_SLCR_BANK0_CTRL4_OFFSET ,0x03FFFFFFU ,0x03FFFFFFU); |
| /*############################################################################################################################ */ |
| |
| /*Register : bank0_ctrl5 @ 0XFF180148</p> |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_0 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_1 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_2 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_3 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_4 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_5 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_6 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_7 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_8 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_9 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_10 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_11 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_12 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_13 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_14 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_15 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_16 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_17 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_18 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_19 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_20 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_21 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_22 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_23 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_24 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_25 1 |
| |
| When set, this enables mio_bank0_pullupdown to selects pull up or pull down for MIO Bank 0 - control MIO[25:0] |
| (OFFSET, MASK, VALUE) (0XFF180148, 0x03FFFFFFU ,0x03FFFFFFU) |
| RegMask = (IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_0_MASK | IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_1_MASK | IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_2_MASK | IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_3_MASK | IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_4_MASK | IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_5_MASK | IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_6_MASK | IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_7_MASK | IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_8_MASK | IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_9_MASK | IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_10_MASK | IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_11_MASK | IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_12_MASK | IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_13_MASK | IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_14_MASK | IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_15_MASK | IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_16_MASK | IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_17_MASK | IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_18_MASK | IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_19_MASK | IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_20_MASK | IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_21_MASK | IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_22_MASK | IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_23_MASK | IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_24_MASK | IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_25_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_0_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_1_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_2_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_3_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_4_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_5_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_6_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_7_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_8_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_9_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_10_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_11_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_12_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_13_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_14_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_15_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_16_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_17_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_18_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_19_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_20_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_21_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_22_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_23_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_24_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK0_CTRL5_PULL_ENABLE_BIT_25_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (IOU_SLCR_BANK0_CTRL5_OFFSET ,0x03FFFFFFU ,0x03FFFFFFU); |
| /*############################################################################################################################ */ |
| |
| /*Register : bank0_ctrl6 @ 0XFF18014C</p> |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_0 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_1 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_2 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_3 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_4 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_5 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_6 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_7 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_8 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_9 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_10 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_11 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_12 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_13 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_14 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_15 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_16 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_17 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_18 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_19 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_20 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_21 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_22 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_23 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_24 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[0]. |
| PSU_IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_25 0 |
| |
| Slew rate control to MIO Bank 0 - control MIO[25:0] |
| (OFFSET, MASK, VALUE) (0XFF18014C, 0x03FFFFFFU ,0x00000000U) |
| RegMask = (IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_0_MASK | IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_1_MASK | IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_2_MASK | IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_3_MASK | IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_4_MASK | IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_5_MASK | IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_6_MASK | IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_7_MASK | IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_8_MASK | IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_9_MASK | IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_10_MASK | IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_11_MASK | IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_12_MASK | IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_13_MASK | IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_14_MASK | IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_15_MASK | IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_16_MASK | IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_17_MASK | IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_18_MASK | IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_19_MASK | IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_20_MASK | IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_21_MASK | IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_22_MASK | IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_23_MASK | IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_24_MASK | IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_25_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_0_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_1_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_2_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_3_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_4_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_5_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_6_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_7_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_8_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_9_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_10_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_11_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_12_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_13_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_14_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_15_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_16_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_17_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_18_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_19_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_20_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_21_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_22_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_23_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_24_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK0_CTRL6_SLOW_FAST_SLEW_N_BIT_25_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (IOU_SLCR_BANK0_CTRL6_OFFSET ,0x03FFFFFFU ,0x00000000U); |
| /*############################################################################################################################ */ |
| |
| /*Register : bank1_ctrl0 @ 0XFF180154</p> |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_0 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_1 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_2 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_3 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_4 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_5 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_6 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_7 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_8 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_9 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_10 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_11 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_12 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_13 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_14 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_15 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_16 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_17 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_18 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_19 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_20 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_21 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_22 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_23 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_24 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_25 1 |
| |
| Drive0 control to MIO Bank 1 - control MIO[51:26] |
| (OFFSET, MASK, VALUE) (0XFF180154, 0x03FFFFFFU ,0x03FFFFFFU) |
| RegMask = (IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_0_MASK | IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_1_MASK | IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_2_MASK | IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_3_MASK | IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_4_MASK | IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_5_MASK | IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_6_MASK | IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_7_MASK | IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_8_MASK | IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_9_MASK | IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_10_MASK | IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_11_MASK | IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_12_MASK | IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_13_MASK | IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_14_MASK | IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_15_MASK | IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_16_MASK | IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_17_MASK | IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_18_MASK | IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_19_MASK | IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_20_MASK | IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_21_MASK | IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_22_MASK | IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_23_MASK | IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_24_MASK | IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_25_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_0_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_1_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_2_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_3_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_4_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_5_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_6_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_7_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_8_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_9_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_10_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_11_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_12_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_13_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_14_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_15_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_16_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_17_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_18_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_19_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_20_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_21_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_22_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_23_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_24_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK1_CTRL0_DRIVE0_BIT_25_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (IOU_SLCR_BANK1_CTRL0_OFFSET ,0x03FFFFFFU ,0x03FFFFFFU); |
| /*############################################################################################################################ */ |
| |
| /*Register : bank1_ctrl1 @ 0XFF180158</p> |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_0 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_1 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_2 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_3 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_4 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_5 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_6 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_7 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_8 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_9 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_10 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_11 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_12 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_13 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_14 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_15 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_16 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_17 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_18 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_19 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_20 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_21 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_22 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_23 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_24 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_25 1 |
| |
| Drive1 control to MIO Bank 1 - control MIO[51:26] |
| (OFFSET, MASK, VALUE) (0XFF180158, 0x03FFFFFFU ,0x03FFFFFFU) |
| RegMask = (IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_0_MASK | IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_1_MASK | IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_2_MASK | IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_3_MASK | IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_4_MASK | IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_5_MASK | IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_6_MASK | IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_7_MASK | IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_8_MASK | IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_9_MASK | IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_10_MASK | IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_11_MASK | IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_12_MASK | IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_13_MASK | IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_14_MASK | IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_15_MASK | IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_16_MASK | IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_17_MASK | IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_18_MASK | IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_19_MASK | IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_20_MASK | IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_21_MASK | IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_22_MASK | IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_23_MASK | IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_24_MASK | IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_25_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_0_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_1_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_2_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_3_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_4_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_5_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_6_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_7_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_8_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_9_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_10_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_11_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_12_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_13_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_14_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_15_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_16_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_17_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_18_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_19_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_20_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_21_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_22_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_23_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_24_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK1_CTRL1_DRIVE1_BIT_25_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (IOU_SLCR_BANK1_CTRL1_OFFSET ,0x03FFFFFFU ,0x03FFFFFFU); |
| /*############################################################################################################################ */ |
| |
| /*Register : bank1_ctrl3 @ 0XFF18015C</p> |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_0 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_1 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_2 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_3 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_4 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_5 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_6 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_7 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_8 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_9 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_10 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_11 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_12 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_13 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_14 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_15 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_16 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_17 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_18 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_19 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_20 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_21 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_22 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_23 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_24 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_25 0 |
| |
| Selects either Schmitt or CMOS input for MIO Bank 1 - control MIO[51:26] |
| (OFFSET, MASK, VALUE) (0XFF18015C, 0x03FFFFFFU ,0x00000000U) |
| RegMask = (IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_0_MASK | IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_1_MASK | IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_2_MASK | IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_3_MASK | IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_4_MASK | IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_5_MASK | IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_6_MASK | IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_7_MASK | IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_8_MASK | IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_9_MASK | IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_10_MASK | IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_11_MASK | IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_12_MASK | IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_13_MASK | IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_14_MASK | IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_15_MASK | IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_16_MASK | IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_17_MASK | IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_18_MASK | IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_19_MASK | IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_20_MASK | IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_21_MASK | IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_22_MASK | IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_23_MASK | IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_24_MASK | IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_25_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_0_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_1_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_2_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_3_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_4_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_5_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_6_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_7_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_8_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_9_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_10_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_11_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_12_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_13_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_14_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_15_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_16_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_17_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_18_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_19_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_20_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_21_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_22_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_23_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_24_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK1_CTRL3_SCHMITT_CMOS_N_BIT_25_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (IOU_SLCR_BANK1_CTRL3_OFFSET ,0x03FFFFFFU ,0x00000000U); |
| /*############################################################################################################################ */ |
| |
| /*Register : bank1_ctrl4 @ 0XFF180160</p> |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_0 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_1 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_2 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_3 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_4 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_5 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_6 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_7 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_8 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_9 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_10 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_11 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_12 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_13 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_14 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_15 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_16 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_17 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_18 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_19 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_20 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_21 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_22 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_23 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_24 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_25 1 |
| |
| When mio_bank1_pull_enable is set, this selects pull up or pull down for MIO Bank 1 - control MIO[51:26] |
| (OFFSET, MASK, VALUE) (0XFF180160, 0x03FFFFFFU ,0x03FFFFFFU) |
| RegMask = (IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_0_MASK | IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_1_MASK | IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_2_MASK | IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_3_MASK | IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_4_MASK | IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_5_MASK | IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_6_MASK | IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_7_MASK | IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_8_MASK | IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_9_MASK | IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_10_MASK | IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_11_MASK | IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_12_MASK | IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_13_MASK | IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_14_MASK | IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_15_MASK | IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_16_MASK | IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_17_MASK | IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_18_MASK | IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_19_MASK | IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_20_MASK | IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_21_MASK | IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_22_MASK | IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_23_MASK | IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_24_MASK | IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_25_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_0_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_1_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_2_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_3_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_4_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_5_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_6_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_7_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_8_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_9_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_10_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_11_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_12_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_13_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_14_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_15_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_16_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_17_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_18_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_19_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_20_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_21_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_22_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_23_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_24_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK1_CTRL4_PULL_HIGH_LOW_N_BIT_25_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (IOU_SLCR_BANK1_CTRL4_OFFSET ,0x03FFFFFFU ,0x03FFFFFFU); |
| /*############################################################################################################################ */ |
| |
| /*Register : bank1_ctrl5 @ 0XFF180164</p> |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_0 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_1 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_2 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_3 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_4 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_5 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_6 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_7 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_8 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_9 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_10 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_11 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_12 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_13 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_14 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_15 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_16 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_17 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_18 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_19 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_20 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_21 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_22 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_23 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_24 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_25 1 |
| |
| When set, this enables mio_bank1_pullupdown to selects pull up or pull down for MIO Bank 1 - control MIO[51:26] |
| (OFFSET, MASK, VALUE) (0XFF180164, 0x03FFFFFFU ,0x03FFFFFFU) |
| RegMask = (IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_0_MASK | IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_1_MASK | IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_2_MASK | IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_3_MASK | IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_4_MASK | IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_5_MASK | IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_6_MASK | IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_7_MASK | IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_8_MASK | IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_9_MASK | IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_10_MASK | IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_11_MASK | IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_12_MASK | IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_13_MASK | IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_14_MASK | IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_15_MASK | IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_16_MASK | IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_17_MASK | IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_18_MASK | IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_19_MASK | IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_20_MASK | IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_21_MASK | IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_22_MASK | IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_23_MASK | IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_24_MASK | IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_25_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_0_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_1_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_2_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_3_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_4_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_5_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_6_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_7_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_8_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_9_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_10_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_11_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_12_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_13_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_14_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_15_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_16_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_17_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_18_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_19_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_20_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_21_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_22_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_23_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_24_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK1_CTRL5_PULL_ENABLE_BIT_25_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (IOU_SLCR_BANK1_CTRL5_OFFSET ,0x03FFFFFFU ,0x03FFFFFFU); |
| /*############################################################################################################################ */ |
| |
| /*Register : bank1_ctrl6 @ 0XFF180168</p> |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_0 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_1 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_2 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_3 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_4 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_5 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_6 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_7 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_8 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_9 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_10 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_11 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_12 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_13 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_14 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_15 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_16 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_17 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_18 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_19 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_20 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_21 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_22 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_23 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_24 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[26]. |
| PSU_IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_25 0 |
| |
| Slew rate control to MIO Bank 1 - control MIO[51:26] |
| (OFFSET, MASK, VALUE) (0XFF180168, 0x03FFFFFFU ,0x00000000U) |
| RegMask = (IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_0_MASK | IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_1_MASK | IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_2_MASK | IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_3_MASK | IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_4_MASK | IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_5_MASK | IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_6_MASK | IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_7_MASK | IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_8_MASK | IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_9_MASK | IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_10_MASK | IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_11_MASK | IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_12_MASK | IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_13_MASK | IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_14_MASK | IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_15_MASK | IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_16_MASK | IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_17_MASK | IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_18_MASK | IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_19_MASK | IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_20_MASK | IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_21_MASK | IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_22_MASK | IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_23_MASK | IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_24_MASK | IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_25_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_0_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_1_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_2_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_3_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_4_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_5_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_6_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_7_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_8_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_9_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_10_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_11_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_12_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_13_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_14_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_15_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_16_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_17_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_18_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_19_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_20_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_21_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_22_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_23_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_24_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK1_CTRL6_SLOW_FAST_SLEW_N_BIT_25_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (IOU_SLCR_BANK1_CTRL6_OFFSET ,0x03FFFFFFU ,0x00000000U); |
| /*############################################################################################################################ */ |
| |
| /*Register : bank2_ctrl0 @ 0XFF180170</p> |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_0 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_1 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_2 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_3 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_4 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_5 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_6 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_7 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_8 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_9 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_10 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_11 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_12 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_13 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_14 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_15 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_16 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_17 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_18 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_19 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_20 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_21 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_22 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_23 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_24 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_25 1 |
| |
| Drive0 control to MIO Bank 2 - control MIO[77:52] |
| (OFFSET, MASK, VALUE) (0XFF180170, 0x03FFFFFFU ,0x03FFFFFFU) |
| RegMask = (IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_0_MASK | IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_1_MASK | IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_2_MASK | IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_3_MASK | IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_4_MASK | IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_5_MASK | IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_6_MASK | IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_7_MASK | IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_8_MASK | IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_9_MASK | IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_10_MASK | IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_11_MASK | IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_12_MASK | IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_13_MASK | IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_14_MASK | IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_15_MASK | IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_16_MASK | IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_17_MASK | IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_18_MASK | IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_19_MASK | IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_20_MASK | IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_21_MASK | IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_22_MASK | IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_23_MASK | IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_24_MASK | IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_25_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_0_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_1_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_2_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_3_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_4_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_5_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_6_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_7_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_8_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_9_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_10_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_11_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_12_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_13_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_14_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_15_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_16_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_17_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_18_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_19_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_20_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_21_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_22_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_23_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_24_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK2_CTRL0_DRIVE0_BIT_25_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (IOU_SLCR_BANK2_CTRL0_OFFSET ,0x03FFFFFFU ,0x03FFFFFFU); |
| /*############################################################################################################################ */ |
| |
| /*Register : bank2_ctrl1 @ 0XFF180174</p> |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_0 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_1 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_2 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_3 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_4 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_5 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_6 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_7 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_8 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_9 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_10 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_11 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_12 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_13 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_14 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_15 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_16 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_17 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_18 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_19 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_20 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_21 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_22 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_23 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_24 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_25 1 |
| |
| Drive1 control to MIO Bank 2 - control MIO[77:52] |
| (OFFSET, MASK, VALUE) (0XFF180174, 0x03FFFFFFU ,0x03FFFFFFU) |
| RegMask = (IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_0_MASK | IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_1_MASK | IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_2_MASK | IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_3_MASK | IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_4_MASK | IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_5_MASK | IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_6_MASK | IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_7_MASK | IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_8_MASK | IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_9_MASK | IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_10_MASK | IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_11_MASK | IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_12_MASK | IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_13_MASK | IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_14_MASK | IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_15_MASK | IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_16_MASK | IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_17_MASK | IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_18_MASK | IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_19_MASK | IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_20_MASK | IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_21_MASK | IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_22_MASK | IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_23_MASK | IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_24_MASK | IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_25_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_0_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_1_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_2_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_3_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_4_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_5_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_6_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_7_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_8_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_9_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_10_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_11_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_12_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_13_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_14_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_15_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_16_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_17_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_18_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_19_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_20_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_21_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_22_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_23_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_24_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK2_CTRL1_DRIVE1_BIT_25_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (IOU_SLCR_BANK2_CTRL1_OFFSET ,0x03FFFFFFU ,0x03FFFFFFU); |
| /*############################################################################################################################ */ |
| |
| /*Register : bank2_ctrl3 @ 0XFF180178</p> |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_0 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_1 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_2 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_3 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_4 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_5 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_6 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_7 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_8 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_9 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_10 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_11 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_12 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_13 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_14 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_15 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_16 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_17 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_18 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_19 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_20 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_21 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_22 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_23 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_24 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_25 0 |
| |
| Selects either Schmitt or CMOS input for MIO Bank 2 - control MIO[77:52] |
| (OFFSET, MASK, VALUE) (0XFF180178, 0x03FFFFFFU ,0x00000000U) |
| RegMask = (IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_0_MASK | IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_1_MASK | IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_2_MASK | IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_3_MASK | IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_4_MASK | IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_5_MASK | IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_6_MASK | IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_7_MASK | IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_8_MASK | IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_9_MASK | IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_10_MASK | IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_11_MASK | IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_12_MASK | IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_13_MASK | IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_14_MASK | IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_15_MASK | IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_16_MASK | IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_17_MASK | IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_18_MASK | IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_19_MASK | IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_20_MASK | IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_21_MASK | IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_22_MASK | IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_23_MASK | IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_24_MASK | IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_25_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_0_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_1_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_2_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_3_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_4_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_5_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_6_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_7_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_8_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_9_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_10_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_11_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_12_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_13_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_14_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_15_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_16_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_17_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_18_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_19_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_20_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_21_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_22_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_23_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_24_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK2_CTRL3_SCHMITT_CMOS_N_BIT_25_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (IOU_SLCR_BANK2_CTRL3_OFFSET ,0x03FFFFFFU ,0x00000000U); |
| /*############################################################################################################################ */ |
| |
| /*Register : bank2_ctrl4 @ 0XFF18017C</p> |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_0 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_1 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_2 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_3 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_4 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_5 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_6 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_7 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_8 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_9 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_10 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_11 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_12 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_13 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_14 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_15 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_16 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_17 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_18 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_19 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_20 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_21 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_22 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_23 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_24 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_25 1 |
| |
| When mio_bank2_pull_enable is set, this selects pull up or pull down for MIO Bank 2 - control MIO[77:52] |
| (OFFSET, MASK, VALUE) (0XFF18017C, 0x03FFFFFFU ,0x03FFFFFFU) |
| RegMask = (IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_0_MASK | IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_1_MASK | IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_2_MASK | IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_3_MASK | IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_4_MASK | IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_5_MASK | IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_6_MASK | IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_7_MASK | IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_8_MASK | IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_9_MASK | IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_10_MASK | IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_11_MASK | IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_12_MASK | IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_13_MASK | IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_14_MASK | IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_15_MASK | IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_16_MASK | IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_17_MASK | IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_18_MASK | IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_19_MASK | IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_20_MASK | IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_21_MASK | IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_22_MASK | IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_23_MASK | IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_24_MASK | IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_25_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_0_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_1_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_2_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_3_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_4_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_5_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_6_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_7_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_8_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_9_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_10_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_11_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_12_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_13_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_14_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_15_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_16_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_17_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_18_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_19_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_20_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_21_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_22_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_23_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_24_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK2_CTRL4_PULL_HIGH_LOW_N_BIT_25_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (IOU_SLCR_BANK2_CTRL4_OFFSET ,0x03FFFFFFU ,0x03FFFFFFU); |
| /*############################################################################################################################ */ |
| |
| /*Register : bank2_ctrl5 @ 0XFF180180</p> |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_0 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_1 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_2 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_3 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_4 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_5 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_6 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_7 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_8 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_9 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_10 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_11 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_12 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_13 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_14 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_15 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_16 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_17 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_18 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_19 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_20 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_21 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_22 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_23 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_24 1 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_25 1 |
| |
| When set, this enables mio_bank2_pullupdown to selects pull up or pull down for MIO Bank 2 - control MIO[77:52] |
| (OFFSET, MASK, VALUE) (0XFF180180, 0x03FFFFFFU ,0x03FFFFFFU) |
| RegMask = (IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_0_MASK | IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_1_MASK | IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_2_MASK | IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_3_MASK | IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_4_MASK | IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_5_MASK | IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_6_MASK | IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_7_MASK | IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_8_MASK | IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_9_MASK | IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_10_MASK | IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_11_MASK | IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_12_MASK | IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_13_MASK | IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_14_MASK | IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_15_MASK | IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_16_MASK | IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_17_MASK | IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_18_MASK | IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_19_MASK | IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_20_MASK | IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_21_MASK | IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_22_MASK | IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_23_MASK | IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_24_MASK | IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_25_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_0_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_1_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_2_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_3_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_4_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_5_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_6_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_7_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_8_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_9_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_10_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_11_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_12_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_13_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_14_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_15_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_16_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_17_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_18_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_19_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_20_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_21_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_22_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_23_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_24_SHIFT |
| | 0x00000001U << IOU_SLCR_BANK2_CTRL5_PULL_ENABLE_BIT_25_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (IOU_SLCR_BANK2_CTRL5_OFFSET ,0x03FFFFFFU ,0x03FFFFFFU); |
| /*############################################################################################################################ */ |
| |
| /*Register : bank2_ctrl6 @ 0XFF180184</p> |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_0 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_1 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_2 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_3 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_4 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_5 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_6 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_7 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_8 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_9 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_10 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_11 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_12 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_13 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_14 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_15 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_16 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_17 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_18 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_19 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_20 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_21 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_22 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_23 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_24 0 |
| |
| Each bit applies to a single IO. Bit 0 for MIO[52]. |
| PSU_IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_25 0 |
| |
| Slew rate control to MIO Bank 2 - control MIO[77:52] |
| (OFFSET, MASK, VALUE) (0XFF180184, 0x03FFFFFFU ,0x00000000U) |
| RegMask = (IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_0_MASK | IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_1_MASK | IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_2_MASK | IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_3_MASK | IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_4_MASK | IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_5_MASK | IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_6_MASK | IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_7_MASK | IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_8_MASK | IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_9_MASK | IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_10_MASK | IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_11_MASK | IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_12_MASK | IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_13_MASK | IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_14_MASK | IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_15_MASK | IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_16_MASK | IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_17_MASK | IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_18_MASK | IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_19_MASK | IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_20_MASK | IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_21_MASK | IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_22_MASK | IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_23_MASK | IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_24_MASK | IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_25_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_0_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_1_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_2_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_3_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_4_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_5_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_6_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_7_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_8_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_9_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_10_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_11_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_12_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_13_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_14_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_15_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_16_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_17_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_18_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_19_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_20_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_21_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_22_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_23_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_24_SHIFT |
| | 0x00000000U << IOU_SLCR_BANK2_CTRL6_SLOW_FAST_SLEW_N_BIT_25_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (IOU_SLCR_BANK2_CTRL6_OFFSET ,0x03FFFFFFU ,0x00000000U); |
| /*############################################################################################################################ */ |
| |
| // : LOOPBACK |
| /*Register : MIO_LOOPBACK @ 0XFF180200</p> |
| |
| 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. |
| PSU_IOU_SLCR_MIO_LOOPBACK_I2C0_LOOP_I2C1 0 |
| |
| 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 |
| . |
| PSU_IOU_SLCR_MIO_LOOPBACK_CAN0_LOOP_CAN1 0 |
| |
| 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. |
| PSU_IOU_SLCR_MIO_LOOPBACK_UA0_LOOP_UA1 0 |
| |
| 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. |
| PSU_IOU_SLCR_MIO_LOOPBACK_SPI0_LOOP_SPI1 0 |
| |
| Loopback function within MIO |
| (OFFSET, MASK, VALUE) (0XFF180200, 0x0000000FU ,0x00000000U) |
| RegMask = (IOU_SLCR_MIO_LOOPBACK_I2C0_LOOP_I2C1_MASK | IOU_SLCR_MIO_LOOPBACK_CAN0_LOOP_CAN1_MASK | IOU_SLCR_MIO_LOOPBACK_UA0_LOOP_UA1_MASK | IOU_SLCR_MIO_LOOPBACK_SPI0_LOOP_SPI1_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << IOU_SLCR_MIO_LOOPBACK_I2C0_LOOP_I2C1_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_LOOPBACK_CAN0_LOOP_CAN1_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_LOOPBACK_UA0_LOOP_UA1_SHIFT |
| | 0x00000000U << IOU_SLCR_MIO_LOOPBACK_SPI0_LOOP_SPI1_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (IOU_SLCR_MIO_LOOPBACK_OFFSET ,0x0000000FU ,0x00000000U); |
| /*############################################################################################################################ */ |
| |
| |
| return 1; |
| } |
| unsigned long psu_peripherals_init_data() { |
| // : RESET BLOCKS |
| // : ENET |
| /*Register : RST_LPD_IOU0 @ 0XFF5E0230</p> |
| |
| GEM 3 reset |
| PSU_CRL_APB_RST_LPD_IOU0_GEM3_RESET 0 |
| |
| Software controlled reset for the GEMs |
| (OFFSET, MASK, VALUE) (0XFF5E0230, 0x00000008U ,0x00000000U) |
| RegMask = (CRL_APB_RST_LPD_IOU0_GEM3_RESET_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << CRL_APB_RST_LPD_IOU0_GEM3_RESET_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (CRL_APB_RST_LPD_IOU0_OFFSET ,0x00000008U ,0x00000000U); |
| /*############################################################################################################################ */ |
| |
| // : QSPI |
| /*Register : RST_LPD_IOU2 @ 0XFF5E0238</p> |
| |
| Block level reset |
| PSU_CRL_APB_RST_LPD_IOU2_QSPI_RESET 0 |
| |
| Software control register for the IOU block. Each bit will cause a singlerperipheral or part of the peripheral to be reset. |
| (OFFSET, MASK, VALUE) (0XFF5E0238, 0x00000001U ,0x00000000U) |
| RegMask = (CRL_APB_RST_LPD_IOU2_QSPI_RESET_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << CRL_APB_RST_LPD_IOU2_QSPI_RESET_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (CRL_APB_RST_LPD_IOU2_OFFSET ,0x00000001U ,0x00000000U); |
| /*############################################################################################################################ */ |
| |
| // : NAND |
| // : USB |
| /*Register : RST_LPD_TOP @ 0XFF5E023C</p> |
| |
| USB 0 reset for control registers |
| PSU_CRL_APB_RST_LPD_TOP_USB0_APB_RESET 0 |
| |
| USB 0 sleep circuit reset |
| PSU_CRL_APB_RST_LPD_TOP_USB0_HIBERRESET 0 |
| |
| USB 0 reset |
| PSU_CRL_APB_RST_LPD_TOP_USB0_CORERESET 0 |
| |
| Software control register for the LPD block. |
| (OFFSET, MASK, VALUE) (0XFF5E023C, 0x00000540U ,0x00000000U) |
| RegMask = (CRL_APB_RST_LPD_TOP_USB0_APB_RESET_MASK | CRL_APB_RST_LPD_TOP_USB0_HIBERRESET_MASK | CRL_APB_RST_LPD_TOP_USB0_CORERESET_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << CRL_APB_RST_LPD_TOP_USB0_APB_RESET_SHIFT |
| | 0x00000000U << CRL_APB_RST_LPD_TOP_USB0_HIBERRESET_SHIFT |
| | 0x00000000U << CRL_APB_RST_LPD_TOP_USB0_CORERESET_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (CRL_APB_RST_LPD_TOP_OFFSET ,0x00000540U ,0x00000000U); |
| /*############################################################################################################################ */ |
| |
| // : FPD RESET |
| /*Register : RST_FPD_TOP @ 0XFD1A0100</p> |
| |
| PCIE config reset |
| PSU_CRF_APB_RST_FPD_TOP_PCIE_CFG_RESET 0 |
| |
| PCIE control block level reset |
| PSU_CRF_APB_RST_FPD_TOP_PCIE_CTRL_RESET 0 |
| |
| PCIE bridge block level reset (AXI interface) |
| PSU_CRF_APB_RST_FPD_TOP_PCIE_BRIDGE_RESET 0 |
| |
| Display Port block level reset (includes DPDMA) |
| PSU_CRF_APB_RST_FPD_TOP_DP_RESET 0 |
| |
| FPD WDT reset |
| PSU_CRF_APB_RST_FPD_TOP_SWDT_RESET 0 |
| |
| GDMA block level reset |
| PSU_CRF_APB_RST_FPD_TOP_GDMA_RESET 0 |
| |
| Pixel Processor (submodule of GPU) block level reset |
| PSU_CRF_APB_RST_FPD_TOP_GPU_PP0_RESET 0 |
| |
| Pixel Processor (submodule of GPU) block level reset |
| PSU_CRF_APB_RST_FPD_TOP_GPU_PP1_RESET 0 |
| |
| GPU block level reset |
| PSU_CRF_APB_RST_FPD_TOP_GPU_RESET 0 |
| |
| GT block level reset |
| PSU_CRF_APB_RST_FPD_TOP_GT_RESET 0 |
| |
| Sata block level reset |
| PSU_CRF_APB_RST_FPD_TOP_SATA_RESET 0 |
| |
| FPD Block level software controlled reset |
| (OFFSET, MASK, VALUE) (0XFD1A0100, 0x000F807EU ,0x00000000U) |
| RegMask = (CRF_APB_RST_FPD_TOP_PCIE_CFG_RESET_MASK | CRF_APB_RST_FPD_TOP_PCIE_CTRL_RESET_MASK | CRF_APB_RST_FPD_TOP_PCIE_BRIDGE_RESET_MASK | CRF_APB_RST_FPD_TOP_DP_RESET_MASK | CRF_APB_RST_FPD_TOP_SWDT_RESET_MASK | CRF_APB_RST_FPD_TOP_GDMA_RESET_MASK | CRF_APB_RST_FPD_TOP_GPU_PP0_RESET_MASK | CRF_APB_RST_FPD_TOP_GPU_PP1_RESET_MASK | CRF_APB_RST_FPD_TOP_GPU_RESET_MASK | CRF_APB_RST_FPD_TOP_GT_RESET_MASK | CRF_APB_RST_FPD_TOP_SATA_RESET_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << CRF_APB_RST_FPD_TOP_PCIE_CFG_RESET_SHIFT |
| | 0x00000000U << CRF_APB_RST_FPD_TOP_PCIE_CTRL_RESET_SHIFT |
| | 0x00000000U << CRF_APB_RST_FPD_TOP_PCIE_BRIDGE_RESET_SHIFT |
| | 0x00000000U << CRF_APB_RST_FPD_TOP_DP_RESET_SHIFT |
| | 0x00000000U << CRF_APB_RST_FPD_TOP_SWDT_RESET_SHIFT |
| | 0x00000000U << CRF_APB_RST_FPD_TOP_GDMA_RESET_SHIFT |
| | 0x00000000U << CRF_APB_RST_FPD_TOP_GPU_PP0_RESET_SHIFT |
| | 0x00000000U << CRF_APB_RST_FPD_TOP_GPU_PP1_RESET_SHIFT |
| | 0x00000000U << CRF_APB_RST_FPD_TOP_GPU_RESET_SHIFT |
| | 0x00000000U << CRF_APB_RST_FPD_TOP_GT_RESET_SHIFT |
| | 0x00000000U << CRF_APB_RST_FPD_TOP_SATA_RESET_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (CRF_APB_RST_FPD_TOP_OFFSET ,0x000F807EU ,0x00000000U); |
| /*############################################################################################################################ */ |
| |
| // : SD |
| /*Register : RST_LPD_IOU2 @ 0XFF5E0238</p> |
| |
| Block level reset |
| PSU_CRL_APB_RST_LPD_IOU2_SDIO1_RESET 0 |
| |
| Software control register for the IOU block. Each bit will cause a singlerperipheral or part of the peripheral to be reset. |
| (OFFSET, MASK, VALUE) (0XFF5E0238, 0x00000040U ,0x00000000U) |
| RegMask = (CRL_APB_RST_LPD_IOU2_SDIO1_RESET_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << CRL_APB_RST_LPD_IOU2_SDIO1_RESET_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (CRL_APB_RST_LPD_IOU2_OFFSET ,0x00000040U ,0x00000000U); |
| /*############################################################################################################################ */ |
| |
| /*Register : CTRL_REG_SD @ 0XFF180310</p> |
| |
| SD or eMMC selection on SDIO1 0: SD enabled 1: eMMC enabled |
| PSU_IOU_SLCR_CTRL_REG_SD_SD1_EMMC_SEL 0 |
| |
| SD eMMC selection |
| (OFFSET, MASK, VALUE) (0XFF180310, 0x00008000U ,0x00000000U) |
| RegMask = (IOU_SLCR_CTRL_REG_SD_SD1_EMMC_SEL_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << IOU_SLCR_CTRL_REG_SD_SD1_EMMC_SEL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (IOU_SLCR_CTRL_REG_SD_OFFSET ,0x00008000U ,0x00000000U); |
| /*############################################################################################################################ */ |
| |
| /*Register : SD_CONFIG_REG2 @ 0XFF180320</p> |
| |
| 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 |
| PSU_IOU_SLCR_SD_CONFIG_REG2_SD1_SLOTTYPE 0 |
| |
| 1.8V Support 1: 1.8V supported 0: 1.8V not supported support |
| PSU_IOU_SLCR_SD_CONFIG_REG2_SD1_1P8V 0 |
| |
| 3.0V Support 1: 3.0V supported 0: 3.0V not supported support |
| PSU_IOU_SLCR_SD_CONFIG_REG2_SD1_3P0V 0 |
| |
| 3.3V Support 1: 3.3V supported 0: 3.3V not supported support |
| PSU_IOU_SLCR_SD_CONFIG_REG2_SD1_3P3V 1 |
| |
| SD Config Register 2 |
| (OFFSET, MASK, VALUE) (0XFF180320, 0x33800000U ,0x00800000U) |
| RegMask = (IOU_SLCR_SD_CONFIG_REG2_SD1_SLOTTYPE_MASK | IOU_SLCR_SD_CONFIG_REG2_SD1_1P8V_MASK | IOU_SLCR_SD_CONFIG_REG2_SD1_3P0V_MASK | IOU_SLCR_SD_CONFIG_REG2_SD1_3P3V_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << IOU_SLCR_SD_CONFIG_REG2_SD1_SLOTTYPE_SHIFT |
| | 0x00000000U << IOU_SLCR_SD_CONFIG_REG2_SD1_1P8V_SHIFT |
| | 0x00000000U << IOU_SLCR_SD_CONFIG_REG2_SD1_3P0V_SHIFT |
| | 0x00000001U << IOU_SLCR_SD_CONFIG_REG2_SD1_3P3V_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (IOU_SLCR_SD_CONFIG_REG2_OFFSET ,0x33800000U ,0x00800000U); |
| /*############################################################################################################################ */ |
| |
| // : SD1 BASE CLOCK |
| /*Register : SD_CONFIG_REG1 @ 0XFF18031C</p> |
| |
| Base Clock Frequency for SD Clock. This is the frequency of the xin_clk. |
| PSU_IOU_SLCR_SD_CONFIG_REG1_SD1_BASECLK 0xc7 |
| |
| SD Config Register 1 |
| (OFFSET, MASK, VALUE) (0XFF18031C, 0x7F800000U ,0x63800000U) |
| RegMask = (IOU_SLCR_SD_CONFIG_REG1_SD1_BASECLK_MASK | 0 ); |
| |
| RegVal = ((0x000000C7U << IOU_SLCR_SD_CONFIG_REG1_SD1_BASECLK_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (IOU_SLCR_SD_CONFIG_REG1_OFFSET ,0x7F800000U ,0x63800000U); |
| /*############################################################################################################################ */ |
| |
| // : CAN |
| /*Register : RST_LPD_IOU2 @ 0XFF5E0238</p> |
| |
| Block level reset |
| PSU_CRL_APB_RST_LPD_IOU2_CAN1_RESET 0 |
| |
| Software control register for the IOU block. Each bit will cause a singlerperipheral or part of the peripheral to be reset. |
| (OFFSET, MASK, VALUE) (0XFF5E0238, 0x00000100U ,0x00000000U) |
| RegMask = (CRL_APB_RST_LPD_IOU2_CAN1_RESET_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << CRL_APB_RST_LPD_IOU2_CAN1_RESET_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (CRL_APB_RST_LPD_IOU2_OFFSET ,0x00000100U ,0x00000000U); |
| /*############################################################################################################################ */ |
| |
| // : I2C |
| /*Register : RST_LPD_IOU2 @ 0XFF5E0238</p> |
| |
| Block level reset |
| PSU_CRL_APB_RST_LPD_IOU2_I2C0_RESET 0 |
| |
| Block level reset |
| PSU_CRL_APB_RST_LPD_IOU2_I2C1_RESET 0 |
| |
| Software control register for the IOU block. Each bit will cause a singlerperipheral or part of the peripheral to be reset. |
| (OFFSET, MASK, VALUE) (0XFF5E0238, 0x00000600U ,0x00000000U) |
| RegMask = (CRL_APB_RST_LPD_IOU2_I2C0_RESET_MASK | CRL_APB_RST_LPD_IOU2_I2C1_RESET_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << CRL_APB_RST_LPD_IOU2_I2C0_RESET_SHIFT |
| | 0x00000000U << CRL_APB_RST_LPD_IOU2_I2C1_RESET_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (CRL_APB_RST_LPD_IOU2_OFFSET ,0x00000600U ,0x00000000U); |
| /*############################################################################################################################ */ |
| |
| // : SWDT |
| /*Register : RST_LPD_IOU2 @ 0XFF5E0238</p> |
| |
| Block level reset |
| PSU_CRL_APB_RST_LPD_IOU2_SWDT_RESET 0 |
| |
| Software control register for the IOU block. Each bit will cause a singlerperipheral or part of the peripheral to be reset. |
| (OFFSET, MASK, VALUE) (0XFF5E0238, 0x00008000U ,0x00000000U) |
| RegMask = (CRL_APB_RST_LPD_IOU2_SWDT_RESET_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << CRL_APB_RST_LPD_IOU2_SWDT_RESET_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (CRL_APB_RST_LPD_IOU2_OFFSET ,0x00008000U ,0x00000000U); |
| /*############################################################################################################################ */ |
| |
| // : SPI |
| // : TTC |
| /*Register : RST_LPD_IOU2 @ 0XFF5E0238</p> |
| |
| Block level reset |
| PSU_CRL_APB_RST_LPD_IOU2_TTC0_RESET 0 |
| |
| Block level reset |
| PSU_CRL_APB_RST_LPD_IOU2_TTC1_RESET 0 |
| |
| Block level reset |
| PSU_CRL_APB_RST_LPD_IOU2_TTC2_RESET 0 |
| |
| Block level reset |
| PSU_CRL_APB_RST_LPD_IOU2_TTC3_RESET 0 |
| |
| Software control register for the IOU block. Each bit will cause a singlerperipheral or part of the peripheral to be reset. |
| (OFFSET, MASK, VALUE) (0XFF5E0238, 0x00007800U ,0x00000000U) |
| RegMask = (CRL_APB_RST_LPD_IOU2_TTC0_RESET_MASK | CRL_APB_RST_LPD_IOU2_TTC1_RESET_MASK | CRL_APB_RST_LPD_IOU2_TTC2_RESET_MASK | CRL_APB_RST_LPD_IOU2_TTC3_RESET_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << CRL_APB_RST_LPD_IOU2_TTC0_RESET_SHIFT |
| | 0x00000000U << CRL_APB_RST_LPD_IOU2_TTC1_RESET_SHIFT |
| | 0x00000000U << CRL_APB_RST_LPD_IOU2_TTC2_RESET_SHIFT |
| | 0x00000000U << CRL_APB_RST_LPD_IOU2_TTC3_RESET_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (CRL_APB_RST_LPD_IOU2_OFFSET ,0x00007800U ,0x00000000U); |
| /*############################################################################################################################ */ |
| |
| // : UART |
| /*Register : RST_LPD_IOU2 @ 0XFF5E0238</p> |
| |
| Block level reset |
| PSU_CRL_APB_RST_LPD_IOU2_UART0_RESET 0 |
| |
| Block level reset |
| PSU_CRL_APB_RST_LPD_IOU2_UART1_RESET 0 |
| |
| Software control register for the IOU block. Each bit will cause a singlerperipheral or part of the peripheral to be reset. |
| (OFFSET, MASK, VALUE) (0XFF5E0238, 0x00000006U ,0x00000000U) |
| RegMask = (CRL_APB_RST_LPD_IOU2_UART0_RESET_MASK | CRL_APB_RST_LPD_IOU2_UART1_RESET_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << CRL_APB_RST_LPD_IOU2_UART0_RESET_SHIFT |
| | 0x00000000U << CRL_APB_RST_LPD_IOU2_UART1_RESET_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (CRL_APB_RST_LPD_IOU2_OFFSET ,0x00000006U ,0x00000000U); |
| /*############################################################################################################################ */ |
| |
| // : UART BAUD RATE |
| /*Register : Baud_rate_divider_reg0 @ 0XFF000034</p> |
| |
| Baud rate divider value: 0 - 3: ignored 4 - 255: Baud rate |
| PSU_UART0_BAUD_RATE_DIVIDER_REG0_BDIV 0x5 |
| |
| Baud Rate Divider Register |
| (OFFSET, MASK, VALUE) (0XFF000034, 0x000000FFU ,0x00000005U) |
| RegMask = (UART0_BAUD_RATE_DIVIDER_REG0_BDIV_MASK | 0 ); |
| |
| RegVal = ((0x00000005U << UART0_BAUD_RATE_DIVIDER_REG0_BDIV_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (UART0_BAUD_RATE_DIVIDER_REG0_OFFSET ,0x000000FFU ,0x00000005U); |
| /*############################################################################################################################ */ |
| |
| /*Register : Baud_rate_gen_reg0 @ 0XFF000018</p> |
| |
| Baud Rate Clock Divisor Value: 0: Disables baud_sample 1: Clock divisor bypass (baud_sample = sel_clk) 2 - 65535: baud_sample |
| PSU_UART0_BAUD_RATE_GEN_REG0_CD 0x8f |
| |
| Baud Rate Generator Register. |
| (OFFSET, MASK, VALUE) (0XFF000018, 0x0000FFFFU ,0x0000008FU) |
| RegMask = (UART0_BAUD_RATE_GEN_REG0_CD_MASK | 0 ); |
| |
| RegVal = ((0x0000008FU << UART0_BAUD_RATE_GEN_REG0_CD_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (UART0_BAUD_RATE_GEN_REG0_OFFSET ,0x0000FFFFU ,0x0000008FU); |
| /*############################################################################################################################ */ |
| |
| /*Register : Control_reg0 @ 0XFF000000</p> |
| |
| 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. |
| PSU_UART0_CONTROL_REG0_STPBRK 0x0 |
| |
| 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. |
| PSU_UART0_CONTROL_REG0_STTBRK 0x0 |
| |
| Restart receiver timeout counter: 1: receiver timeout counter is restarted. This bit is self clearing once the restart has co |
| pleted. |
| PSU_UART0_CONTROL_REG0_RSTTO 0x0 |
| |
| Transmit disable: 0: enable transmitter 1: disable transmitter |
| PSU_UART0_CONTROL_REG0_TXDIS 0x0 |
| |
| Transmit enable: 0: disable transmitter 1: enable transmitter, provided the TXDIS field is set to 0. |
| PSU_UART0_CONTROL_REG0_TXEN 0x1 |
| |
| Receive disable: 0: enable 1: disable, regardless of the value of RXEN |
| PSU_UART0_CONTROL_REG0_RXDIS 0x0 |
| |
| Receive enable: 0: disable 1: enable When set to one, the receiver logic is enabled, provided the RXDIS field is set to zero. |
| PSU_UART0_CONTROL_REG0_RXEN 0x1 |
| |
| 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. |
| PSU_UART0_CONTROL_REG0_TXRES 0x1 |
| |
| 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. |
| PSU_UART0_CONTROL_REG0_RXRES 0x1 |
| |
| UART Control Register |
| (OFFSET, MASK, VALUE) (0XFF000000, 0x000001FFU ,0x00000017U) |
| RegMask = (UART0_CONTROL_REG0_STPBRK_MASK | UART0_CONTROL_REG0_STTBRK_MASK | UART0_CONTROL_REG0_RSTTO_MASK | UART0_CONTROL_REG0_TXDIS_MASK | UART0_CONTROL_REG0_TXEN_MASK | UART0_CONTROL_REG0_RXDIS_MASK | UART0_CONTROL_REG0_RXEN_MASK | UART0_CONTROL_REG0_TXRES_MASK | UART0_CONTROL_REG0_RXRES_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << UART0_CONTROL_REG0_STPBRK_SHIFT |
| | 0x00000000U << UART0_CONTROL_REG0_STTBRK_SHIFT |
| | 0x00000000U << UART0_CONTROL_REG0_RSTTO_SHIFT |
| | 0x00000000U << UART0_CONTROL_REG0_TXDIS_SHIFT |
| | 0x00000001U << UART0_CONTROL_REG0_TXEN_SHIFT |
| | 0x00000000U << UART0_CONTROL_REG0_RXDIS_SHIFT |
| | 0x00000001U << UART0_CONTROL_REG0_RXEN_SHIFT |
| | 0x00000001U << UART0_CONTROL_REG0_TXRES_SHIFT |
| | 0x00000001U << UART0_CONTROL_REG0_RXRES_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (UART0_CONTROL_REG0_OFFSET ,0x000001FFU ,0x00000017U); |
| /*############################################################################################################################ */ |
| |
| /*Register : mode_reg0 @ 0XFF000004</p> |
| |
| Channel mode: Defines the mode of operation of the UART. 00: normal 01: automatic echo 10: local loopback 11: remote loopback |
| PSU_UART0_MODE_REG0_CHMODE 0x0 |
| |
| 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 |
| PSU_UART0_MODE_REG0_NBSTOP 0x0 |
| |
| 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 |
| PSU_UART0_MODE_REG0_PAR 0x4 |
| |
| Character length select: Defines the number of bits in each character. 11: 6 bits 10: 7 bits 0x: 8 bits |
| PSU_UART0_MODE_REG0_CHRL 0x0 |
| |
| 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 |
| PSU_UART0_MODE_REG0_CLKS 0x0 |
| |
| UART Mode Register |
| (OFFSET, MASK, VALUE) (0XFF000004, 0x000003FFU ,0x00000020U) |
| RegMask = (UART0_MODE_REG0_CHMODE_MASK | UART0_MODE_REG0_NBSTOP_MASK | UART0_MODE_REG0_PAR_MASK | UART0_MODE_REG0_CHRL_MASK | UART0_MODE_REG0_CLKS_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << UART0_MODE_REG0_CHMODE_SHIFT |
| | 0x00000000U << UART0_MODE_REG0_NBSTOP_SHIFT |
| | 0x00000004U << UART0_MODE_REG0_PAR_SHIFT |
| | 0x00000000U << UART0_MODE_REG0_CHRL_SHIFT |
| | 0x00000000U << UART0_MODE_REG0_CLKS_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (UART0_MODE_REG0_OFFSET ,0x000003FFU ,0x00000020U); |
| /*############################################################################################################################ */ |
| |
| /*Register : Baud_rate_divider_reg0 @ 0XFF010034</p> |
| |
| Baud rate divider value: 0 - 3: ignored 4 - 255: Baud rate |
| PSU_UART1_BAUD_RATE_DIVIDER_REG0_BDIV 0x5 |
| |
| Baud Rate Divider Register |
| (OFFSET, MASK, VALUE) (0XFF010034, 0x000000FFU ,0x00000005U) |
| RegMask = (UART1_BAUD_RATE_DIVIDER_REG0_BDIV_MASK | 0 ); |
| |
| RegVal = ((0x00000005U << UART1_BAUD_RATE_DIVIDER_REG0_BDIV_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (UART1_BAUD_RATE_DIVIDER_REG0_OFFSET ,0x000000FFU ,0x00000005U); |
| /*############################################################################################################################ */ |
| |
| /*Register : Baud_rate_gen_reg0 @ 0XFF010018</p> |
| |
| Baud Rate Clock Divisor Value: 0: Disables baud_sample 1: Clock divisor bypass (baud_sample = sel_clk) 2 - 65535: baud_sample |
| PSU_UART1_BAUD_RATE_GEN_REG0_CD 0x8f |
| |
| Baud Rate Generator Register. |
| (OFFSET, MASK, VALUE) (0XFF010018, 0x0000FFFFU ,0x0000008FU) |
| RegMask = (UART1_BAUD_RATE_GEN_REG0_CD_MASK | 0 ); |
| |
| RegVal = ((0x0000008FU << UART1_BAUD_RATE_GEN_REG0_CD_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (UART1_BAUD_RATE_GEN_REG0_OFFSET ,0x0000FFFFU ,0x0000008FU); |
| /*############################################################################################################################ */ |
| |
| /*Register : Control_reg0 @ 0XFF010000</p> |
| |
| 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. |
| PSU_UART1_CONTROL_REG0_STPBRK 0x0 |
| |
| 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. |
| PSU_UART1_CONTROL_REG0_STTBRK 0x0 |
| |
| Restart receiver timeout counter: 1: receiver timeout counter is restarted. This bit is self clearing once the restart has co |
| pleted. |
| PSU_UART1_CONTROL_REG0_RSTTO 0x0 |
| |
| Transmit disable: 0: enable transmitter 1: disable transmitter |
| PSU_UART1_CONTROL_REG0_TXDIS 0x0 |
| |
| Transmit enable: 0: disable transmitter 1: enable transmitter, provided the TXDIS field is set to 0. |
| PSU_UART1_CONTROL_REG0_TXEN 0x1 |
| |
| Receive disable: 0: enable 1: disable, regardless of the value of RXEN |
| PSU_UART1_CONTROL_REG0_RXDIS 0x0 |
| |
| Receive enable: 0: disable 1: enable When set to one, the receiver logic is enabled, provided the RXDIS field is set to zero. |
| PSU_UART1_CONTROL_REG0_RXEN 0x1 |
| |
| 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. |
| PSU_UART1_CONTROL_REG0_TXRES 0x1 |
| |
| 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. |
| PSU_UART1_CONTROL_REG0_RXRES 0x1 |
| |
| UART Control Register |
| (OFFSET, MASK, VALUE) (0XFF010000, 0x000001FFU ,0x00000017U) |
| RegMask = (UART1_CONTROL_REG0_STPBRK_MASK | UART1_CONTROL_REG0_STTBRK_MASK | UART1_CONTROL_REG0_RSTTO_MASK | UART1_CONTROL_REG0_TXDIS_MASK | UART1_CONTROL_REG0_TXEN_MASK | UART1_CONTROL_REG0_RXDIS_MASK | UART1_CONTROL_REG0_RXEN_MASK | UART1_CONTROL_REG0_TXRES_MASK | UART1_CONTROL_REG0_RXRES_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << UART1_CONTROL_REG0_STPBRK_SHIFT |
| | 0x00000000U << UART1_CONTROL_REG0_STTBRK_SHIFT |
| | 0x00000000U << UART1_CONTROL_REG0_RSTTO_SHIFT |
| | 0x00000000U << UART1_CONTROL_REG0_TXDIS_SHIFT |
| | 0x00000001U << UART1_CONTROL_REG0_TXEN_SHIFT |
| | 0x00000000U << UART1_CONTROL_REG0_RXDIS_SHIFT |
| | 0x00000001U << UART1_CONTROL_REG0_RXEN_SHIFT |
| | 0x00000001U << UART1_CONTROL_REG0_TXRES_SHIFT |
| | 0x00000001U << UART1_CONTROL_REG0_RXRES_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (UART1_CONTROL_REG0_OFFSET ,0x000001FFU ,0x00000017U); |
| /*############################################################################################################################ */ |
| |
| /*Register : mode_reg0 @ 0XFF010004</p> |
| |
| Channel mode: Defines the mode of operation of the UART. 00: normal 01: automatic echo 10: local loopback 11: remote loopback |
| PSU_UART1_MODE_REG0_CHMODE 0x0 |
| |
| 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 |
| PSU_UART1_MODE_REG0_NBSTOP 0x0 |
| |
| 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 |
| PSU_UART1_MODE_REG0_PAR 0x4 |
| |
| Character length select: Defines the number of bits in each character. 11: 6 bits 10: 7 bits 0x: 8 bits |
| PSU_UART1_MODE_REG0_CHRL 0x0 |
| |
| 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 |
| PSU_UART1_MODE_REG0_CLKS 0x0 |
| |
| UART Mode Register |
| (OFFSET, MASK, VALUE) (0XFF010004, 0x000003FFU ,0x00000020U) |
| RegMask = (UART1_MODE_REG0_CHMODE_MASK | UART1_MODE_REG0_NBSTOP_MASK | UART1_MODE_REG0_PAR_MASK | UART1_MODE_REG0_CHRL_MASK | UART1_MODE_REG0_CLKS_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << UART1_MODE_REG0_CHMODE_SHIFT |
| | 0x00000000U << UART1_MODE_REG0_NBSTOP_SHIFT |
| | 0x00000004U << UART1_MODE_REG0_PAR_SHIFT |
| | 0x00000000U << UART1_MODE_REG0_CHRL_SHIFT |
| | 0x00000000U << UART1_MODE_REG0_CLKS_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (UART1_MODE_REG0_OFFSET ,0x000003FFU ,0x00000020U); |
| /*############################################################################################################################ */ |
| |
| // : GPIO |
| // : ADMA TZ |
| /*Register : slcr_adma @ 0XFF4B0024</p> |
| |
| TrustZone Classification for ADMA |
| PSU_LPD_SLCR_SECURE_SLCR_ADMA_TZ 0XFF |
| |
| RPU TrustZone settings |
| (OFFSET, MASK, VALUE) (0XFF4B0024, 0x000000FFU ,0x000000FFU) |
| RegMask = (LPD_SLCR_SECURE_SLCR_ADMA_TZ_MASK | 0 ); |
| |
| RegVal = ((0x000000FFU << LPD_SLCR_SECURE_SLCR_ADMA_TZ_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (LPD_SLCR_SECURE_SLCR_ADMA_OFFSET ,0x000000FFU ,0x000000FFU); |
| /*############################################################################################################################ */ |
| |
| // : CSU TAMPERING |
| // : CSU TAMPER STATUS |
| /*Register : tamper_status @ 0XFFCA5000</p> |
| |
| CSU regsiter |
| PSU_CSU_TAMPER_STATUS_TAMPER_0 0 |
| |
| External MIO |
| PSU_CSU_TAMPER_STATUS_TAMPER_1 0 |
| |
| JTAG toggle detect |
| PSU_CSU_TAMPER_STATUS_TAMPER_2 0 |
| |
| PL SEU error |
| PSU_CSU_TAMPER_STATUS_TAMPER_3 0 |
| |
| AMS over temperature alarm for LPD |
| PSU_CSU_TAMPER_STATUS_TAMPER_4 0 |
| |
| AMS over temperature alarm for APU |
| PSU_CSU_TAMPER_STATUS_TAMPER_5 0 |
| |
| AMS voltage alarm for VCCPINT_FPD |
| PSU_CSU_TAMPER_STATUS_TAMPER_6 0 |
| |
| AMS voltage alarm for VCCPINT_LPD |
| PSU_CSU_TAMPER_STATUS_TAMPER_7 0 |
| |
| AMS voltage alarm for VCCPAUX |
| PSU_CSU_TAMPER_STATUS_TAMPER_8 0 |
| |
| AMS voltage alarm for DDRPHY |
| PSU_CSU_TAMPER_STATUS_TAMPER_9 0 |
| |
| AMS voltage alarm for PSIO bank 0/1/2 |
| PSU_CSU_TAMPER_STATUS_TAMPER_10 0 |
| |
| AMS voltage alarm for PSIO bank 3 (dedicated pins) |
| PSU_CSU_TAMPER_STATUS_TAMPER_11 0 |
| |
| AMS voltaage alarm for GT |
| PSU_CSU_TAMPER_STATUS_TAMPER_12 0 |
| |
| Tamper Response Status |
| (OFFSET, MASK, VALUE) (0XFFCA5000, 0x00001FFFU ,0x00000000U) |
| RegMask = (CSU_TAMPER_STATUS_TAMPER_0_MASK | CSU_TAMPER_STATUS_TAMPER_1_MASK | CSU_TAMPER_STATUS_TAMPER_2_MASK | CSU_TAMPER_STATUS_TAMPER_3_MASK | CSU_TAMPER_STATUS_TAMPER_4_MASK | CSU_TAMPER_STATUS_TAMPER_5_MASK | CSU_TAMPER_STATUS_TAMPER_6_MASK | CSU_TAMPER_STATUS_TAMPER_7_MASK | CSU_TAMPER_STATUS_TAMPER_8_MASK | CSU_TAMPER_STATUS_TAMPER_9_MASK | CSU_TAMPER_STATUS_TAMPER_10_MASK | CSU_TAMPER_STATUS_TAMPER_11_MASK | CSU_TAMPER_STATUS_TAMPER_12_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << CSU_TAMPER_STATUS_TAMPER_0_SHIFT |
| | 0x00000000U << CSU_TAMPER_STATUS_TAMPER_1_SHIFT |
| | 0x00000000U << CSU_TAMPER_STATUS_TAMPER_2_SHIFT |
| | 0x00000000U << CSU_TAMPER_STATUS_TAMPER_3_SHIFT |
| | 0x00000000U << CSU_TAMPER_STATUS_TAMPER_4_SHIFT |
| | 0x00000000U << CSU_TAMPER_STATUS_TAMPER_5_SHIFT |
| | 0x00000000U << CSU_TAMPER_STATUS_TAMPER_6_SHIFT |
| | 0x00000000U << CSU_TAMPER_STATUS_TAMPER_7_SHIFT |
| | 0x00000000U << CSU_TAMPER_STATUS_TAMPER_8_SHIFT |
| | 0x00000000U << CSU_TAMPER_STATUS_TAMPER_9_SHIFT |
| | 0x00000000U << CSU_TAMPER_STATUS_TAMPER_10_SHIFT |
| | 0x00000000U << CSU_TAMPER_STATUS_TAMPER_11_SHIFT |
| | 0x00000000U << CSU_TAMPER_STATUS_TAMPER_12_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (CSU_TAMPER_STATUS_OFFSET ,0x00001FFFU ,0x00000000U); |
| /*############################################################################################################################ */ |
| |
| // : CSU TAMPER RESPONSE |
| // : AFIFM INTERFACE WIDTH |
| // : CPU QOS DEFAULT |
| /*Register : ACE_CTRL @ 0XFD5C0060</p> |
| |
| Set ACE outgoing AWQOS value |
| PSU_APU_ACE_CTRL_AWQOS 0X0 |
| |
| Set ACE outgoing ARQOS value |
| PSU_APU_ACE_CTRL_ARQOS 0X0 |
| |
| ACE Control Register |
| (OFFSET, MASK, VALUE) (0XFD5C0060, 0x000F000FU ,0x00000000U) |
| RegMask = (APU_ACE_CTRL_AWQOS_MASK | APU_ACE_CTRL_ARQOS_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << APU_ACE_CTRL_AWQOS_SHIFT |
| | 0x00000000U << APU_ACE_CTRL_ARQOS_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (APU_ACE_CTRL_OFFSET ,0x000F000FU ,0x00000000U); |
| /*############################################################################################################################ */ |
| |
| // : ENABLES RTC SWITCH TO BATTERY WHEN VCC_PSAUX IS NOT AVAILABLE |
| /*Register : CONTROL @ 0XFFA60040</p> |
| |
| 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. |
| PSU_RTC_CONTROL_BATTERY_DISABLE 0X1 |
| |
| This register controls various functionalities within the RTC |
| (OFFSET, MASK, VALUE) (0XFFA60040, 0x80000000U ,0x80000000U) |
| RegMask = (RTC_CONTROL_BATTERY_DISABLE_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << RTC_CONTROL_BATTERY_DISABLE_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (RTC_CONTROL_OFFSET ,0x80000000U ,0x80000000U); |
| /*############################################################################################################################ */ |
| |
| |
| return 1; |
| } |
| unsigned long psu_post_config_data() { |
| // : POST_CONFIG |
| |
| return 1; |
| } |
| unsigned long psu_peripherals_powerdwn_data() { |
| // : POWER DOWN REQUEST INTERRUPT ENABLE |
| // : POWER DOWN TRIGGER |
| |
| return 1; |
| } |
| unsigned long psu_serdes_init_data() { |
| // : SERDES INITIALIZATION |
| // : GT REFERENCE CLOCK SOURCE SELECTION |
| /*Register : PLL_REF_SEL0 @ 0XFD410000</p> |
| |
| 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 |
| PSU_SERDES_PLL_REF_SEL0_PLLREFSEL0 0xD |
| |
| PLL0 Reference Selection Register |
| (OFFSET, MASK, VALUE) (0XFD410000, 0x0000001FU ,0x0000000DU) |
| RegMask = (SERDES_PLL_REF_SEL0_PLLREFSEL0_MASK | 0 ); |
| |
| RegVal = ((0x0000000DU << SERDES_PLL_REF_SEL0_PLLREFSEL0_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (SERDES_PLL_REF_SEL0_OFFSET ,0x0000001FU ,0x0000000DU); |
| /*############################################################################################################################ */ |
| |
| /*Register : PLL_REF_SEL1 @ 0XFD410004</p> |
| |
| 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 |
| PSU_SERDES_PLL_REF_SEL1_PLLREFSEL1 0x9 |
| |
| PLL1 Reference Selection Register |
| (OFFSET, MASK, VALUE) (0XFD410004, 0x0000001FU ,0x00000009U) |
| RegMask = (SERDES_PLL_REF_SEL1_PLLREFSEL1_MASK | 0 ); |
| |
| RegVal = ((0x00000009U << SERDES_PLL_REF_SEL1_PLLREFSEL1_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (SERDES_PLL_REF_SEL1_OFFSET ,0x0000001FU ,0x00000009U); |
| /*############################################################################################################################ */ |
| |
| /*Register : PLL_REF_SEL2 @ 0XFD410008</p> |
| |
| 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 |
| PSU_SERDES_PLL_REF_SEL2_PLLREFSEL2 0x8 |
| |
| PLL2 Reference Selection Register |
| (OFFSET, MASK, VALUE) (0XFD410008, 0x0000001FU ,0x00000008U) |
| RegMask = (SERDES_PLL_REF_SEL2_PLLREFSEL2_MASK | 0 ); |
| |
| RegVal = ((0x00000008U << SERDES_PLL_REF_SEL2_PLLREFSEL2_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (SERDES_PLL_REF_SEL2_OFFSET ,0x0000001FU ,0x00000008U); |
| /*############################################################################################################################ */ |
| |
| /*Register : PLL_REF_SEL3 @ 0XFD41000C</p> |
| |
| 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 |
| PSU_SERDES_PLL_REF_SEL3_PLLREFSEL3 0xF |
| |
| PLL3 Reference Selection Register |
| (OFFSET, MASK, VALUE) (0XFD41000C, 0x0000001FU ,0x0000000FU) |
| RegMask = (SERDES_PLL_REF_SEL3_PLLREFSEL3_MASK | 0 ); |
| |
| RegVal = ((0x0000000FU << SERDES_PLL_REF_SEL3_PLLREFSEL3_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (SERDES_PLL_REF_SEL3_OFFSET ,0x0000001FU ,0x0000000FU); |
| /*############################################################################################################################ */ |
| |
| // : GT REFERENCE CLOCK FREQUENCY SELECTION |
| /*Register : L0_L0_REF_CLK_SEL @ 0XFD402860</p> |
| |
| 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. |
| PSU_SERDES_L0_L0_REF_CLK_SEL_L0_REF_CLK_LCL_SEL 0x1 |
| |
| Lane0 Ref Clock Selection Register |
| (OFFSET, MASK, VALUE) (0XFD402860, 0x00000080U ,0x00000080U) |
| RegMask = (SERDES_L0_L0_REF_CLK_SEL_L0_REF_CLK_LCL_SEL_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << SERDES_L0_L0_REF_CLK_SEL_L0_REF_CLK_LCL_SEL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (SERDES_L0_L0_REF_CLK_SEL_OFFSET ,0x00000080U ,0x00000080U); |
| /*############################################################################################################################ */ |
| |
| /*Register : L0_L1_REF_CLK_SEL @ 0XFD402864</p> |
| |
| 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. |
| PSU_SERDES_L0_L1_REF_CLK_SEL_L1_REF_CLK_LCL_SEL 0x0 |
| |
| Bit 3 of lane 1 ref clock mux one hot sel. Set to 1 to select lane 3 slicer output from ref clock network |
| PSU_SERDES_L0_L1_REF_CLK_SEL_L1_REF_CLK_SEL_3 0x1 |
| |
| Lane1 Ref Clock Selection Register |
| (OFFSET, MASK, VALUE) (0XFD402864, 0x00000088U ,0x00000008U) |
| RegMask = (SERDES_L0_L1_REF_CLK_SEL_L1_REF_CLK_LCL_SEL_MASK | SERDES_L0_L1_REF_CLK_SEL_L1_REF_CLK_SEL_3_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << SERDES_L0_L1_REF_CLK_SEL_L1_REF_CLK_LCL_SEL_SHIFT |
| | 0x00000001U << SERDES_L0_L1_REF_CLK_SEL_L1_REF_CLK_SEL_3_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (SERDES_L0_L1_REF_CLK_SEL_OFFSET ,0x00000088U ,0x00000008U); |
| /*############################################################################################################################ */ |
| |
| /*Register : L0_L2_REF_CLK_SEL @ 0XFD402868</p> |
| |
| 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. |
| PSU_SERDES_L0_L2_REF_CLK_SEL_L2_REF_CLK_LCL_SEL 0x1 |
| |
| Lane2 Ref Clock Selection Register |
| (OFFSET, MASK, VALUE) (0XFD402868, 0x00000080U ,0x00000080U) |
| RegMask = (SERDES_L0_L2_REF_CLK_SEL_L2_REF_CLK_LCL_SEL_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << SERDES_L0_L2_REF_CLK_SEL_L2_REF_CLK_LCL_SEL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (SERDES_L0_L2_REF_CLK_SEL_OFFSET ,0x00000080U ,0x00000080U); |
| /*############################################################################################################################ */ |
| |
| /*Register : L0_L3_REF_CLK_SEL @ 0XFD40286C</p> |
| |
| 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. |
| PSU_SERDES_L0_L3_REF_CLK_SEL_L3_REF_CLK_LCL_SEL 0x0 |
| |
| Bit 1 of lane 3 ref clock mux one hot sel. Set to 1 to select lane 1 slicer output from ref clock network |
| PSU_SERDES_L0_L3_REF_CLK_SEL_L3_REF_CLK_SEL_1 0x1 |
| |
| Lane3 Ref Clock Selection Register |
| (OFFSET, MASK, VALUE) (0XFD40286C, 0x00000082U ,0x00000002U) |
| RegMask = (SERDES_L0_L3_REF_CLK_SEL_L3_REF_CLK_LCL_SEL_MASK | SERDES_L0_L3_REF_CLK_SEL_L3_REF_CLK_SEL_1_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << SERDES_L0_L3_REF_CLK_SEL_L3_REF_CLK_LCL_SEL_SHIFT |
| | 0x00000001U << SERDES_L0_L3_REF_CLK_SEL_L3_REF_CLK_SEL_1_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (SERDES_L0_L3_REF_CLK_SEL_OFFSET ,0x00000082U ,0x00000002U); |
| /*############################################################################################################################ */ |
| |
| // : ENABLE SPREAD SPECTRUM |
| /*Register : L2_TM_PLL_DIG_37 @ 0XFD40A094</p> |
| |
| Enable/Disable coarse code satureation limiting logic |
| PSU_SERDES_L2_TM_PLL_DIG_37_TM_ENABLE_COARSE_SATURATION 0x1 |
| |
| Test mode register 37 |
| (OFFSET, MASK, VALUE) (0XFD40A094, 0x00000010U ,0x00000010U) |
| RegMask = (SERDES_L2_TM_PLL_DIG_37_TM_ENABLE_COARSE_SATURATION_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << SERDES_L2_TM_PLL_DIG_37_TM_ENABLE_COARSE_SATURATION_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (SERDES_L2_TM_PLL_DIG_37_OFFSET ,0x00000010U ,0x00000010U); |
| /*############################################################################################################################ */ |
| |
| /*Register : L2_PLL_SS_STEPS_0_LSB @ 0XFD40A368</p> |
| |
| Spread Spectrum No of Steps [7:0] |
| PSU_SERDES_L2_PLL_SS_STEPS_0_LSB_SS_NUM_OF_STEPS_0_LSB 0x38 |
| |
| Spread Spectrum No of Steps bits 7:0 |
| (OFFSET, MASK, VALUE) (0XFD40A368, 0x000000FFU ,0x00000038U) |
| RegMask = (SERDES_L2_PLL_SS_STEPS_0_LSB_SS_NUM_OF_STEPS_0_LSB_MASK | 0 ); |
| |
| RegVal = ((0x00000038U << SERDES_L2_PLL_SS_STEPS_0_LSB_SS_NUM_OF_STEPS_0_LSB_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (SERDES_L2_PLL_SS_STEPS_0_LSB_OFFSET ,0x000000FFU ,0x00000038U); |
| /*############################################################################################################################ */ |
| |
| /*Register : L2_PLL_SS_STEPS_1_MSB @ 0XFD40A36C</p> |
| |
| Spread Spectrum No of Steps [10:8] |
| PSU_SERDES_L2_PLL_SS_STEPS_1_MSB_SS_NUM_OF_STEPS_1_MSB 0x03 |
| |
| Spread Spectrum No of Steps bits 10:8 |
| (OFFSET, MASK, VALUE) (0XFD40A36C, 0x00000007U ,0x00000003U) |
| RegMask = (SERDES_L2_PLL_SS_STEPS_1_MSB_SS_NUM_OF_STEPS_1_MSB_MASK | 0 ); |
| |
| RegVal = ((0x00000003U << SERDES_L2_PLL_SS_STEPS_1_MSB_SS_NUM_OF_STEPS_1_MSB_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (SERDES_L2_PLL_SS_STEPS_1_MSB_OFFSET ,0x00000007U ,0x00000003U); |
| /*############################################################################################################################ */ |
| |
| /*Register : L3_PLL_SS_STEPS_0_LSB @ 0XFD40E368</p> |
| |
| Spread Spectrum No of Steps [7:0] |
| PSU_SERDES_L3_PLL_SS_STEPS_0_LSB_SS_NUM_OF_STEPS_0_LSB 0x0 |
| |
| Spread Spectrum No of Steps bits 7:0 |
| (OFFSET, MASK, VALUE) (0XFD40E368, 0x000000FFU ,0x00000000U) |
| RegMask = (SERDES_L3_PLL_SS_STEPS_0_LSB_SS_NUM_OF_STEPS_0_LSB_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << SERDES_L3_PLL_SS_STEPS_0_LSB_SS_NUM_OF_STEPS_0_LSB_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (SERDES_L3_PLL_SS_STEPS_0_LSB_OFFSET ,0x000000FFU ,0x00000000U); |
| /*############################################################################################################################ */ |
| |
| /*Register : L3_PLL_SS_STEPS_1_MSB @ 0XFD40E36C</p> |
| |
| Spread Spectrum No of Steps [10:8] |
| PSU_SERDES_L3_PLL_SS_STEPS_1_MSB_SS_NUM_OF_STEPS_1_MSB 0x0 |
| |
| Spread Spectrum No of Steps bits 10:8 |
| (OFFSET, MASK, VALUE) (0XFD40E36C, 0x00000007U ,0x00000000U) |
| RegMask = (SERDES_L3_PLL_SS_STEPS_1_MSB_SS_NUM_OF_STEPS_1_MSB_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << SERDES_L3_PLL_SS_STEPS_1_MSB_SS_NUM_OF_STEPS_1_MSB_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (SERDES_L3_PLL_SS_STEPS_1_MSB_OFFSET ,0x00000007U ,0x00000000U); |
| /*############################################################################################################################ */ |
| |
| /*Register : L1_PLL_SS_STEPS_0_LSB @ 0XFD406368</p> |
| |
| Spread Spectrum No of Steps [7:0] |
| PSU_SERDES_L1_PLL_SS_STEPS_0_LSB_SS_NUM_OF_STEPS_0_LSB 0x0 |
| |
| Spread Spectrum No of Steps bits 7:0 |
| (OFFSET, MASK, VALUE) (0XFD406368, 0x000000FFU ,0x00000000U) |
| RegMask = (SERDES_L1_PLL_SS_STEPS_0_LSB_SS_NUM_OF_STEPS_0_LSB_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << SERDES_L1_PLL_SS_STEPS_0_LSB_SS_NUM_OF_STEPS_0_LSB_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (SERDES_L1_PLL_SS_STEPS_0_LSB_OFFSET ,0x000000FFU ,0x00000000U); |
| /*############################################################################################################################ */ |
| |
| /*Register : L1_PLL_SS_STEPS_1_MSB @ 0XFD40636C</p> |
| |
| Spread Spectrum No of Steps [10:8] |
| PSU_SERDES_L1_PLL_SS_STEPS_1_MSB_SS_NUM_OF_STEPS_1_MSB 0x0 |
| |
| Spread Spectrum No of Steps bits 10:8 |
| (OFFSET, MASK, VALUE) (0XFD40636C, 0x00000007U ,0x00000000U) |
| RegMask = (SERDES_L1_PLL_SS_STEPS_1_MSB_SS_NUM_OF_STEPS_1_MSB_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << SERDES_L1_PLL_SS_STEPS_1_MSB_SS_NUM_OF_STEPS_1_MSB_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (SERDES_L1_PLL_SS_STEPS_1_MSB_OFFSET ,0x00000007U ,0x00000000U); |
| /*############################################################################################################################ */ |
| |
| /*Register : L1_PLL_SS_STEP_SIZE_0_LSB @ 0XFD406370</p> |
| |
| Step Size for Spread Spectrum [7:0] |
| PSU_SERDES_L1_PLL_SS_STEP_SIZE_0_LSB_SS_STEP_SIZE_0_LSB 0x0 |
| |
| Step Size for Spread Spectrum LSB |
| (OFFSET, MASK, VALUE) (0XFD406370, 0x000000FFU ,0x00000000U) |
| RegMask = (SERDES_L1_PLL_SS_STEP_SIZE_0_LSB_SS_STEP_SIZE_0_LSB_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << SERDES_L1_PLL_SS_STEP_SIZE_0_LSB_SS_STEP_SIZE_0_LSB_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (SERDES_L1_PLL_SS_STEP_SIZE_0_LSB_OFFSET ,0x000000FFU ,0x00000000U); |
| /*############################################################################################################################ */ |
| |
| /*Register : L1_PLL_SS_STEP_SIZE_1 @ 0XFD406374</p> |
| |
| Step Size for Spread Spectrum [15:8] |
| PSU_SERDES_L1_PLL_SS_STEP_SIZE_1_SS_STEP_SIZE_1 0x0 |
| |
| Step Size for Spread Spectrum 1 |
| (OFFSET, MASK, VALUE) (0XFD406374, 0x000000FFU ,0x00000000U) |
| RegMask = (SERDES_L1_PLL_SS_STEP_SIZE_1_SS_STEP_SIZE_1_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << SERDES_L1_PLL_SS_STEP_SIZE_1_SS_STEP_SIZE_1_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (SERDES_L1_PLL_SS_STEP_SIZE_1_OFFSET ,0x000000FFU ,0x00000000U); |
| /*############################################################################################################################ */ |
| |
| /*Register : L1_PLL_SS_STEP_SIZE_2 @ 0XFD406378</p> |
| |
| Step Size for Spread Spectrum [23:16] |
| PSU_SERDES_L1_PLL_SS_STEP_SIZE_2_SS_STEP_SIZE_2 0x0 |
| |
| Step Size for Spread Spectrum 2 |
| (OFFSET, MASK, VALUE) (0XFD406378, 0x000000FFU ,0x00000000U) |
| RegMask = (SERDES_L1_PLL_SS_STEP_SIZE_2_SS_STEP_SIZE_2_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << SERDES_L1_PLL_SS_STEP_SIZE_2_SS_STEP_SIZE_2_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (SERDES_L1_PLL_SS_STEP_SIZE_2_OFFSET ,0x000000FFU ,0x00000000U); |
| /*############################################################################################################################ */ |
| |
| /*Register : L1_PLL_SS_STEP_SIZE_3_MSB @ 0XFD40637C</p> |
| |
| Step Size for Spread Spectrum [25:24] |
| PSU_SERDES_L1_PLL_SS_STEP_SIZE_3_MSB_SS_STEP_SIZE_3_MSB 0x0 |
| |
| Enable/Disable test mode force on SS step size |
| PSU_SERDES_L1_PLL_SS_STEP_SIZE_3_MSB_FORCE_SS_STEP_SIZE 0x1 |
| |
| Enable/Disable test mode force on SS no of steps |
| PSU_SERDES_L1_PLL_SS_STEP_SIZE_3_MSB_FORCE_SS_NUM_OF_STEPS 0x1 |
| |
| Enable force on enable Spread Spectrum |
| (OFFSET, MASK, VALUE) (0XFD40637C, 0x00000033U ,0x00000030U) |
| RegMask = (SERDES_L1_PLL_SS_STEP_SIZE_3_MSB_SS_STEP_SIZE_3_MSB_MASK | SERDES_L1_PLL_SS_STEP_SIZE_3_MSB_FORCE_SS_STEP_SIZE_MASK | SERDES_L1_PLL_SS_STEP_SIZE_3_MSB_FORCE_SS_NUM_OF_STEPS_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << SERDES_L1_PLL_SS_STEP_SIZE_3_MSB_SS_STEP_SIZE_3_MSB_SHIFT |
| | 0x00000001U << SERDES_L1_PLL_SS_STEP_SIZE_3_MSB_FORCE_SS_STEP_SIZE_SHIFT |
| | 0x00000001U << SERDES_L1_PLL_SS_STEP_SIZE_3_MSB_FORCE_SS_NUM_OF_STEPS_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (SERDES_L1_PLL_SS_STEP_SIZE_3_MSB_OFFSET ,0x00000033U ,0x00000030U); |
| /*############################################################################################################################ */ |
| |
| /*Register : L2_PLL_SS_STEP_SIZE_0_LSB @ 0XFD40A370</p> |
| |
| Step Size for Spread Spectrum [7:0] |
| PSU_SERDES_L2_PLL_SS_STEP_SIZE_0_LSB_SS_STEP_SIZE_0_LSB 0xF4 |
| |
| Step Size for Spread Spectrum LSB |
| (OFFSET, MASK, VALUE) (0XFD40A370, 0x000000FFU ,0x000000F4U) |
| RegMask = (SERDES_L2_PLL_SS_STEP_SIZE_0_LSB_SS_STEP_SIZE_0_LSB_MASK | 0 ); |
| |
| RegVal = ((0x000000F4U << SERDES_L2_PLL_SS_STEP_SIZE_0_LSB_SS_STEP_SIZE_0_LSB_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (SERDES_L2_PLL_SS_STEP_SIZE_0_LSB_OFFSET ,0x000000FFU ,0x000000F4U); |
| /*############################################################################################################################ */ |
| |
| /*Register : L2_PLL_SS_STEP_SIZE_1 @ 0XFD40A374</p> |
| |
| Step Size for Spread Spectrum [15:8] |
| PSU_SERDES_L2_PLL_SS_STEP_SIZE_1_SS_STEP_SIZE_1 0x31 |
| |
| Step Size for Spread Spectrum 1 |
| (OFFSET, MASK, VALUE) (0XFD40A374, 0x000000FFU ,0x00000031U) |
| RegMask = (SERDES_L2_PLL_SS_STEP_SIZE_1_SS_STEP_SIZE_1_MASK | 0 ); |
| |
| RegVal = ((0x00000031U << SERDES_L2_PLL_SS_STEP_SIZE_1_SS_STEP_SIZE_1_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (SERDES_L2_PLL_SS_STEP_SIZE_1_OFFSET ,0x000000FFU ,0x00000031U); |
| /*############################################################################################################################ */ |
| |
| /*Register : L2_PLL_SS_STEP_SIZE_2 @ 0XFD40A378</p> |
| |
| Step Size for Spread Spectrum [23:16] |
| PSU_SERDES_L2_PLL_SS_STEP_SIZE_2_SS_STEP_SIZE_2 0x2 |
| |
| Step Size for Spread Spectrum 2 |
| (OFFSET, MASK, VALUE) (0XFD40A378, 0x000000FFU ,0x00000002U) |
| RegMask = (SERDES_L2_PLL_SS_STEP_SIZE_2_SS_STEP_SIZE_2_MASK | 0 ); |
| |
| RegVal = ((0x00000002U << SERDES_L2_PLL_SS_STEP_SIZE_2_SS_STEP_SIZE_2_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (SERDES_L2_PLL_SS_STEP_SIZE_2_OFFSET ,0x000000FFU ,0x00000002U); |
| /*############################################################################################################################ */ |
| |
| /*Register : L2_PLL_SS_STEP_SIZE_3_MSB @ 0XFD40A37C</p> |
| |
| Step Size for Spread Spectrum [25:24] |
| PSU_SERDES_L2_PLL_SS_STEP_SIZE_3_MSB_SS_STEP_SIZE_3_MSB 0x0 |
| |
| Enable/Disable test mode force on SS step size |
| PSU_SERDES_L2_PLL_SS_STEP_SIZE_3_MSB_FORCE_SS_STEP_SIZE 0x1 |
| |
| Enable/Disable test mode force on SS no of steps |
| PSU_SERDES_L2_PLL_SS_STEP_SIZE_3_MSB_FORCE_SS_NUM_OF_STEPS 0x1 |
| |
| Enable force on enable Spread Spectrum |
| (OFFSET, MASK, VALUE) (0XFD40A37C, 0x00000033U ,0x00000030U) |
| RegMask = (SERDES_L2_PLL_SS_STEP_SIZE_3_MSB_SS_STEP_SIZE_3_MSB_MASK | SERDES_L2_PLL_SS_STEP_SIZE_3_MSB_FORCE_SS_STEP_SIZE_MASK | SERDES_L2_PLL_SS_STEP_SIZE_3_MSB_FORCE_SS_NUM_OF_STEPS_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << SERDES_L2_PLL_SS_STEP_SIZE_3_MSB_SS_STEP_SIZE_3_MSB_SHIFT |
| | 0x00000001U << SERDES_L2_PLL_SS_STEP_SIZE_3_MSB_FORCE_SS_STEP_SIZE_SHIFT |
| | 0x00000001U << SERDES_L2_PLL_SS_STEP_SIZE_3_MSB_FORCE_SS_NUM_OF_STEPS_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (SERDES_L2_PLL_SS_STEP_SIZE_3_MSB_OFFSET ,0x00000033U ,0x00000030U); |
| /*############################################################################################################################ */ |
| |
| /*Register : L3_PLL_SS_STEP_SIZE_0_LSB @ 0XFD40E370</p> |
| |
| Step Size for Spread Spectrum [7:0] |
| PSU_SERDES_L3_PLL_SS_STEP_SIZE_0_LSB_SS_STEP_SIZE_0_LSB 0x0 |
| |
| Step Size for Spread Spectrum LSB |
| (OFFSET, MASK, VALUE) (0XFD40E370, 0x000000FFU ,0x00000000U) |
| RegMask = (SERDES_L3_PLL_SS_STEP_SIZE_0_LSB_SS_STEP_SIZE_0_LSB_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << SERDES_L3_PLL_SS_STEP_SIZE_0_LSB_SS_STEP_SIZE_0_LSB_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (SERDES_L3_PLL_SS_STEP_SIZE_0_LSB_OFFSET ,0x000000FFU ,0x00000000U); |
| /*############################################################################################################################ */ |
| |
| /*Register : L3_PLL_SS_STEP_SIZE_1 @ 0XFD40E374</p> |
| |
| Step Size for Spread Spectrum [15:8] |
| PSU_SERDES_L3_PLL_SS_STEP_SIZE_1_SS_STEP_SIZE_1 0x0 |
| |
| Step Size for Spread Spectrum 1 |
| (OFFSET, MASK, VALUE) (0XFD40E374, 0x000000FFU ,0x00000000U) |
| RegMask = (SERDES_L3_PLL_SS_STEP_SIZE_1_SS_STEP_SIZE_1_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << SERDES_L3_PLL_SS_STEP_SIZE_1_SS_STEP_SIZE_1_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (SERDES_L3_PLL_SS_STEP_SIZE_1_OFFSET ,0x000000FFU ,0x00000000U); |
| /*############################################################################################################################ */ |
| |
| /*Register : L3_PLL_SS_STEP_SIZE_2 @ 0XFD40E378</p> |
| |
| Step Size for Spread Spectrum [23:16] |
| PSU_SERDES_L3_PLL_SS_STEP_SIZE_2_SS_STEP_SIZE_2 0x0 |
| |
| Step Size for Spread Spectrum 2 |
| (OFFSET, MASK, VALUE) (0XFD40E378, 0x000000FFU ,0x00000000U) |
| RegMask = (SERDES_L3_PLL_SS_STEP_SIZE_2_SS_STEP_SIZE_2_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << SERDES_L3_PLL_SS_STEP_SIZE_2_SS_STEP_SIZE_2_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (SERDES_L3_PLL_SS_STEP_SIZE_2_OFFSET ,0x000000FFU ,0x00000000U); |
| /*############################################################################################################################ */ |
| |
| /*Register : L3_PLL_SS_STEP_SIZE_3_MSB @ 0XFD40E37C</p> |
| |
| Step Size for Spread Spectrum [25:24] |
| PSU_SERDES_L3_PLL_SS_STEP_SIZE_3_MSB_SS_STEP_SIZE_3_MSB 0x0 |
| |
| Enable/Disable test mode force on SS step size |
| PSU_SERDES_L3_PLL_SS_STEP_SIZE_3_MSB_FORCE_SS_STEP_SIZE 0x1 |
| |
| Enable/Disable test mode force on SS no of steps |
| PSU_SERDES_L3_PLL_SS_STEP_SIZE_3_MSB_FORCE_SS_NUM_OF_STEPS 0x1 |
| |
| Enable test mode forcing on enable Spread Spectrum |
| PSU_SERDES_L3_PLL_SS_STEP_SIZE_3_MSB_TM_FORCE_EN_SS 0x1 |
| |
| Enable force on enable Spread Spectrum |
| (OFFSET, MASK, VALUE) (0XFD40E37C, 0x000000B3U ,0x000000B0U) |
| RegMask = (SERDES_L3_PLL_SS_STEP_SIZE_3_MSB_SS_STEP_SIZE_3_MSB_MASK | SERDES_L3_PLL_SS_STEP_SIZE_3_MSB_FORCE_SS_STEP_SIZE_MASK | SERDES_L3_PLL_SS_STEP_SIZE_3_MSB_FORCE_SS_NUM_OF_STEPS_MASK | SERDES_L3_PLL_SS_STEP_SIZE_3_MSB_TM_FORCE_EN_SS_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << SERDES_L3_PLL_SS_STEP_SIZE_3_MSB_SS_STEP_SIZE_3_MSB_SHIFT |
| | 0x00000001U << SERDES_L3_PLL_SS_STEP_SIZE_3_MSB_FORCE_SS_STEP_SIZE_SHIFT |
| | 0x00000001U << SERDES_L3_PLL_SS_STEP_SIZE_3_MSB_FORCE_SS_NUM_OF_STEPS_SHIFT |
| | 0x00000001U << SERDES_L3_PLL_SS_STEP_SIZE_3_MSB_TM_FORCE_EN_SS_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (SERDES_L3_PLL_SS_STEP_SIZE_3_MSB_OFFSET ,0x000000B3U ,0x000000B0U); |
| /*############################################################################################################################ */ |
| |
| /*Register : L2_TM_DIG_6 @ 0XFD40906C</p> |
| |
| Bypass Descrambler |
| PSU_SERDES_L2_TM_DIG_6_BYPASS_DESCRAM 0x1 |
| |
| Enable Bypass for <1> TM_DIG_CTRL_6 |
| PSU_SERDES_L2_TM_DIG_6_FORCE_BYPASS_DESCRAM 0x1 |
| |
| Data path test modes in decoder and descram |
| (OFFSET, MASK, VALUE) (0XFD40906C, 0x00000003U ,0x00000003U) |
| RegMask = (SERDES_L2_TM_DIG_6_BYPASS_DESCRAM_MASK | SERDES_L2_TM_DIG_6_FORCE_BYPASS_DESCRAM_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << SERDES_L2_TM_DIG_6_BYPASS_DESCRAM_SHIFT |
| | 0x00000001U << SERDES_L2_TM_DIG_6_FORCE_BYPASS_DESCRAM_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (SERDES_L2_TM_DIG_6_OFFSET ,0x00000003U ,0x00000003U); |
| /*############################################################################################################################ */ |
| |
| /*Register : L2_TX_DIG_TM_61 @ 0XFD4080F4</p> |
| |
| Bypass scrambler signal |
| PSU_SERDES_L2_TX_DIG_TM_61_BYPASS_SCRAM 0x1 |
| |
| Enable/disable scrambler bypass signal |
| PSU_SERDES_L2_TX_DIG_TM_61_FORCE_BYPASS_SCRAM 0x1 |
| |
| MPHY PLL Gear and bypass scrambler |
| (OFFSET, MASK, VALUE) (0XFD4080F4, 0x00000003U ,0x00000003U) |
| RegMask = (SERDES_L2_TX_DIG_TM_61_BYPASS_SCRAM_MASK | SERDES_L2_TX_DIG_TM_61_FORCE_BYPASS_SCRAM_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << SERDES_L2_TX_DIG_TM_61_BYPASS_SCRAM_SHIFT |
| | 0x00000001U << SERDES_L2_TX_DIG_TM_61_FORCE_BYPASS_SCRAM_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (SERDES_L2_TX_DIG_TM_61_OFFSET ,0x00000003U ,0x00000003U); |
| /*############################################################################################################################ */ |
| |
| /*Register : L3_PLL_FBDIV_FRAC_3_MSB @ 0XFD40E360</p> |
| |
| Enable test mode force on fractional mode enable |
| PSU_SERDES_L3_PLL_FBDIV_FRAC_3_MSB_TM_FORCE_EN_FRAC 0x1 |
| |
| Fractional feedback division control and fractional value for feedback division bits 26:24 |
| (OFFSET, MASK, VALUE) (0XFD40E360, 0x00000040U ,0x00000040U) |
| RegMask = (SERDES_L3_PLL_FBDIV_FRAC_3_MSB_TM_FORCE_EN_FRAC_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << SERDES_L3_PLL_FBDIV_FRAC_3_MSB_TM_FORCE_EN_FRAC_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (SERDES_L3_PLL_FBDIV_FRAC_3_MSB_OFFSET ,0x00000040U ,0x00000040U); |
| /*############################################################################################################################ */ |
| |
| /*Register : L3_TM_DIG_6 @ 0XFD40D06C</p> |
| |
| Bypass 8b10b decoder |
| PSU_SERDES_L3_TM_DIG_6_BYPASS_DECODER 0x1 |
| |
| Enable Bypass for <3> TM_DIG_CTRL_6 |
| PSU_SERDES_L3_TM_DIG_6_FORCE_BYPASS_DEC 0x1 |
| |
| Bypass Descrambler |
| PSU_SERDES_L3_TM_DIG_6_BYPASS_DESCRAM 0x1 |
| |
| Enable Bypass for <1> TM_DIG_CTRL_6 |
| PSU_SERDES_L3_TM_DIG_6_FORCE_BYPASS_DESCRAM 0x1 |
| |
| Data path test modes in decoder and descram |
| (OFFSET, MASK, VALUE) (0XFD40D06C, 0x0000000FU ,0x0000000FU) |
| RegMask = (SERDES_L3_TM_DIG_6_BYPASS_DECODER_MASK | SERDES_L3_TM_DIG_6_FORCE_BYPASS_DEC_MASK | SERDES_L3_TM_DIG_6_BYPASS_DESCRAM_MASK | SERDES_L3_TM_DIG_6_FORCE_BYPASS_DESCRAM_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << SERDES_L3_TM_DIG_6_BYPASS_DECODER_SHIFT |
| | 0x00000001U << SERDES_L3_TM_DIG_6_FORCE_BYPASS_DEC_SHIFT |
| | 0x00000001U << SERDES_L3_TM_DIG_6_BYPASS_DESCRAM_SHIFT |
| | 0x00000001U << SERDES_L3_TM_DIG_6_FORCE_BYPASS_DESCRAM_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (SERDES_L3_TM_DIG_6_OFFSET ,0x0000000FU ,0x0000000FU); |
| /*############################################################################################################################ */ |
| |
| /*Register : L3_TX_DIG_TM_61 @ 0XFD40C0F4</p> |
| |
| Enable/disable encoder bypass signal |
| PSU_SERDES_L3_TX_DIG_TM_61_BYPASS_ENC 0x1 |
| |
| Bypass scrambler signal |
| PSU_SERDES_L3_TX_DIG_TM_61_BYPASS_SCRAM 0x1 |
| |
| Enable/disable scrambler bypass signal |
| PSU_SERDES_L3_TX_DIG_TM_61_FORCE_BYPASS_SCRAM 0x1 |
| |
| MPHY PLL Gear and bypass scrambler |
| (OFFSET, MASK, VALUE) (0XFD40C0F4, 0x0000000BU ,0x0000000BU) |
| RegMask = (SERDES_L3_TX_DIG_TM_61_BYPASS_ENC_MASK | SERDES_L3_TX_DIG_TM_61_BYPASS_SCRAM_MASK | SERDES_L3_TX_DIG_TM_61_FORCE_BYPASS_SCRAM_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << SERDES_L3_TX_DIG_TM_61_BYPASS_ENC_SHIFT |
| | 0x00000001U << SERDES_L3_TX_DIG_TM_61_BYPASS_SCRAM_SHIFT |
| | 0x00000001U << SERDES_L3_TX_DIG_TM_61_FORCE_BYPASS_SCRAM_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (SERDES_L3_TX_DIG_TM_61_OFFSET ,0x0000000BU ,0x0000000BU); |
| /*############################################################################################################################ */ |
| |
| /*Register : L3_TXPMA_ST_0 @ 0XFD40CB00</p> |
| |
| PHY Mode: 4'b000 - PCIe, 4'b001 - USB3, 4'b0010 - SATA, 4'b0100 - SGMII, 4'b0101 - DP, 4'b1000 - MPHY |
| PSU_SERDES_L3_TXPMA_ST_0_TX_PHY_MODE 0x21 |
| |
| Opmode Info |
| (OFFSET, MASK, VALUE) (0XFD40CB00, 0x000000F0U ,0x000000F0U) |
| RegMask = (SERDES_L3_TXPMA_ST_0_TX_PHY_MODE_MASK | 0 ); |
| |
| RegVal = ((0x00000021U << SERDES_L3_TXPMA_ST_0_TX_PHY_MODE_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (SERDES_L3_TXPMA_ST_0_OFFSET ,0x000000F0U ,0x000000F0U); |
| /*############################################################################################################################ */ |
| |
| // : GT LANE SETTINGS |
| /*Register : ICM_CFG0 @ 0XFD410010</p> |
| |
| Controls UPHY Lane 0 protocol configuration. 0 - PowerDown, 1 - PCIe .0, 2 - Sata0, 3 - USB0, 4 - DP.1, 5 - SGMII0, 6 - Unuse |
| , 7 - Unused |
| PSU_SERDES_ICM_CFG0_L0_ICM_CFG 1 |
| |
| Controls UPHY Lane 1 protocol configuration. 0 - PowerDown, 1 - PCIe.1, 2 - Sata1, 3 - USB0, 4 - DP.0, 5 - SGMII1, 6 - Unused |
| 7 - Unused |
| PSU_SERDES_ICM_CFG0_L1_ICM_CFG 4 |
| |
| ICM Configuration Register 0 |
| (OFFSET, MASK, VALUE) (0XFD410010, 0x00000077U ,0x00000041U) |
| RegMask = (SERDES_ICM_CFG0_L0_ICM_CFG_MASK | SERDES_ICM_CFG0_L1_ICM_CFG_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << SERDES_ICM_CFG0_L0_ICM_CFG_SHIFT |
| | 0x00000004U << SERDES_ICM_CFG0_L1_ICM_CFG_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (SERDES_ICM_CFG0_OFFSET ,0x00000077U ,0x00000041U); |
| /*############################################################################################################################ */ |
| |
| /*Register : ICM_CFG1 @ 0XFD410014</p> |
| |
| Controls UPHY Lane 2 protocol configuration. 0 - PowerDown, 1 - PCIe.1, 2 - Sata0, 3 - USB0, 4 - DP.1, 5 - SGMII2, 6 - Unused |
| 7 - Unused |
| PSU_SERDES_ICM_CFG1_L2_ICM_CFG 3 |
| |
| Controls UPHY Lane 3 protocol configuration. 0 - PowerDown, 1 - PCIe.3, 2 - Sata1, 3 - USB1, 4 - DP.0, 5 - SGMII3, 6 - Unused |
| 7 - Unused |
| PSU_SERDES_ICM_CFG1_L3_ICM_CFG 2 |
| |
| ICM Configuration Register 1 |
| (OFFSET, MASK, VALUE) (0XFD410014, 0x00000077U ,0x00000023U) |
| RegMask = (SERDES_ICM_CFG1_L2_ICM_CFG_MASK | SERDES_ICM_CFG1_L3_ICM_CFG_MASK | 0 ); |
| |
| RegVal = ((0x00000003U << SERDES_ICM_CFG1_L2_ICM_CFG_SHIFT |
| | 0x00000002U << SERDES_ICM_CFG1_L3_ICM_CFG_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (SERDES_ICM_CFG1_OFFSET ,0x00000077U ,0x00000023U); |
| /*############################################################################################################################ */ |
| |
| // : CHECKING PLL LOCK |
| // : ENABLE SERIAL DATA MUX DEEMPH |
| /*Register : L1_TXPMD_TM_45 @ 0XFD404CB4</p> |
| |
| Enable/disable DP post2 path |
| PSU_SERDES_L1_TXPMD_TM_45_DP_TM_TX_DP_ENABLE_POST2_PATH 0x1 |
| |
| Override enable/disable of DP post2 path |
| PSU_SERDES_L1_TXPMD_TM_45_DP_TM_TX_OVRD_DP_ENABLE_POST2_PATH 0x1 |
| |
| Override enable/disable of DP post1 path |
| PSU_SERDES_L1_TXPMD_TM_45_DP_TM_TX_OVRD_DP_ENABLE_POST1_PATH 0x1 |
| |
| Enable/disable DP main path |
| PSU_SERDES_L1_TXPMD_TM_45_DP_TM_TX_DP_ENABLE_MAIN_PATH 0x1 |
| |
| Override enable/disable of DP main path |
| PSU_SERDES_L1_TXPMD_TM_45_DP_TM_TX_OVRD_DP_ENABLE_MAIN_PATH 0x1 |
| |
| Post or pre or main DP path selection |
| (OFFSET, MASK, VALUE) (0XFD404CB4, 0x00000037U ,0x00000037U) |
| RegMask = (SERDES_L1_TXPMD_TM_45_DP_TM_TX_DP_ENABLE_POST2_PATH_MASK | SERDES_L1_TXPMD_TM_45_DP_TM_TX_OVRD_DP_ENABLE_POST2_PATH_MASK | SERDES_L1_TXPMD_TM_45_DP_TM_TX_OVRD_DP_ENABLE_POST1_PATH_MASK | SERDES_L1_TXPMD_TM_45_DP_TM_TX_DP_ENABLE_MAIN_PATH_MASK | SERDES_L1_TXPMD_TM_45_DP_TM_TX_OVRD_DP_ENABLE_MAIN_PATH_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << SERDES_L1_TXPMD_TM_45_DP_TM_TX_DP_ENABLE_POST2_PATH_SHIFT |
| | 0x00000001U << SERDES_L1_TXPMD_TM_45_DP_TM_TX_OVRD_DP_ENABLE_POST2_PATH_SHIFT |
| | 0x00000001U << SERDES_L1_TXPMD_TM_45_DP_TM_TX_OVRD_DP_ENABLE_POST1_PATH_SHIFT |
| | 0x00000001U << SERDES_L1_TXPMD_TM_45_DP_TM_TX_DP_ENABLE_MAIN_PATH_SHIFT |
| | 0x00000001U << SERDES_L1_TXPMD_TM_45_DP_TM_TX_OVRD_DP_ENABLE_MAIN_PATH_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (SERDES_L1_TXPMD_TM_45_OFFSET ,0x00000037U ,0x00000037U); |
| /*############################################################################################################################ */ |
| |
| /*Register : L1_TX_ANA_TM_118 @ 0XFD4041D8</p> |
| |
| Test register force for enabling/disablign TX deemphasis bits <17:0> |
| PSU_SERDES_L1_TX_ANA_TM_118_FORCE_TX_DEEMPH_17_0 0x1 |
| |
| Enable Override of TX deemphasis |
| (OFFSET, MASK, VALUE) (0XFD4041D8, 0x00000001U ,0x00000001U) |
| RegMask = (SERDES_L1_TX_ANA_TM_118_FORCE_TX_DEEMPH_17_0_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << SERDES_L1_TX_ANA_TM_118_FORCE_TX_DEEMPH_17_0_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (SERDES_L1_TX_ANA_TM_118_OFFSET ,0x00000001U ,0x00000001U); |
| /*############################################################################################################################ */ |
| |
| // : ENABLE PRE EMPHAIS AND VOLTAGE SWING |
| /*Register : L1_TXPMD_TM_48 @ 0XFD404CC0</p> |
| |
| Margining factor value |
| PSU_SERDES_L1_TXPMD_TM_48_TM_RESULTANT_MARGINING_FACTOR 0 |
| |
| Margining factor |
| (OFFSET, MASK, VALUE) (0XFD404CC0, 0x0000001FU ,0x00000000U) |
| RegMask = (SERDES_L1_TXPMD_TM_48_TM_RESULTANT_MARGINING_FACTOR_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << SERDES_L1_TXPMD_TM_48_TM_RESULTANT_MARGINING_FACTOR_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (SERDES_L1_TXPMD_TM_48_OFFSET ,0x0000001FU ,0x00000000U); |
| /*############################################################################################################################ */ |
| |
| /*Register : L1_TX_ANA_TM_18 @ 0XFD404048</p> |
| |
| pipe_TX_Deemph. 0: -6dB de-emphasis, 1: -3.5dB de-emphasis, 2 : No de-emphasis, Others: reserved |
| PSU_SERDES_L1_TX_ANA_TM_18_PIPE_TX_DEEMPH_7_0 0 |
| |
| Override for PIPE TX de-emphasis |
| (OFFSET, MASK, VALUE) (0XFD404048, 0x000000FFU ,0x00000000U) |
| RegMask = (SERDES_L1_TX_ANA_TM_18_PIPE_TX_DEEMPH_7_0_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << SERDES_L1_TX_ANA_TM_18_PIPE_TX_DEEMPH_7_0_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (SERDES_L1_TX_ANA_TM_18_OFFSET ,0x000000FFU ,0x00000000U); |
| /*############################################################################################################################ */ |
| |
| |
| return 1; |
| } |
| unsigned long psu_resetout_init_data() { |
| // : TAKING SERDES PERIPHERAL OUT OF RESET RESET |
| // : PUTTING USB0 IN RESET |
| /*Register : RST_LPD_TOP @ 0XFF5E023C</p> |
| |
| USB 0 reset for control registers |
| PSU_CRL_APB_RST_LPD_TOP_USB0_APB_RESET 0X0 |
| |
| Software control register for the LPD block. |
| (OFFSET, MASK, VALUE) (0XFF5E023C, 0x00000400U ,0x00000000U) |
| RegMask = (CRL_APB_RST_LPD_TOP_USB0_APB_RESET_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << CRL_APB_RST_LPD_TOP_USB0_APB_RESET_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (CRL_APB_RST_LPD_TOP_OFFSET ,0x00000400U ,0x00000000U); |
| /*############################################################################################################################ */ |
| |
| // : USB0 PIPE POWER PRESENT |
| /*Register : fpd_power_prsnt @ 0XFF9D0080</p> |
| |
| This bit is used to choose between PIPE power present and 1'b1 |
| PSU_USB3_0_FPD_POWER_PRSNT_OPTION 0X1 |
| |
| fpd_power_prsnt |
| (OFFSET, MASK, VALUE) (0XFF9D0080, 0x00000001U ,0x00000001U) |
| RegMask = (USB3_0_FPD_POWER_PRSNT_OPTION_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << USB3_0_FPD_POWER_PRSNT_OPTION_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (USB3_0_FPD_POWER_PRSNT_OFFSET ,0x00000001U ,0x00000001U); |
| /*############################################################################################################################ */ |
| |
| // : |
| /*Register : RST_LPD_TOP @ 0XFF5E023C</p> |
| |
| USB 0 sleep circuit reset |
| PSU_CRL_APB_RST_LPD_TOP_USB0_HIBERRESET 0X0 |
| |
| USB 0 reset |
| PSU_CRL_APB_RST_LPD_TOP_USB0_CORERESET 0X0 |
| |
| Software control register for the LPD block. |
| (OFFSET, MASK, VALUE) (0XFF5E023C, 0x00000140U ,0x00000000U) |
| RegMask = (CRL_APB_RST_LPD_TOP_USB0_HIBERRESET_MASK | CRL_APB_RST_LPD_TOP_USB0_CORERESET_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << CRL_APB_RST_LPD_TOP_USB0_HIBERRESET_SHIFT |
| | 0x00000000U << CRL_APB_RST_LPD_TOP_USB0_CORERESET_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (CRL_APB_RST_LPD_TOP_OFFSET ,0x00000140U ,0x00000000U); |
| /*############################################################################################################################ */ |
| |
| // : PUTTING GEM0 IN RESET |
| /*Register : RST_LPD_IOU0 @ 0XFF5E0230</p> |
| |
| GEM 3 reset |
| PSU_CRL_APB_RST_LPD_IOU0_GEM3_RESET 0X0 |
| |
| Software controlled reset for the GEMs |
| (OFFSET, MASK, VALUE) (0XFF5E0230, 0x00000008U ,0x00000000U) |
| RegMask = (CRL_APB_RST_LPD_IOU0_GEM3_RESET_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << CRL_APB_RST_LPD_IOU0_GEM3_RESET_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (CRL_APB_RST_LPD_IOU0_OFFSET ,0x00000008U ,0x00000000U); |
| /*############################################################################################################################ */ |
| |
| // : PUTTING SATA IN RESET |
| /*Register : sata_misc_ctrl @ 0XFD3D0100</p> |
| |
| Sata PM clock control select |
| PSU_SIOU_SATA_MISC_CTRL_SATA_PM_CLK_SEL 0x3 |
| |
| Misc Contorls for SATA.This register may only be modified during bootup (while SATA block is disabled) |
| (OFFSET, MASK, VALUE) (0XFD3D0100, 0x00000003U ,0x00000003U) |
| RegMask = (SIOU_SATA_MISC_CTRL_SATA_PM_CLK_SEL_MASK | 0 ); |
| |
| RegVal = ((0x00000003U << SIOU_SATA_MISC_CTRL_SATA_PM_CLK_SEL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (SIOU_SATA_MISC_CTRL_OFFSET ,0x00000003U ,0x00000003U); |
| /*############################################################################################################################ */ |
| |
| /*Register : RST_FPD_TOP @ 0XFD1A0100</p> |
| |
| Sata block level reset |
| PSU_CRF_APB_RST_FPD_TOP_SATA_RESET 0X0 |
| |
| FPD Block level software controlled reset |
| (OFFSET, MASK, VALUE) (0XFD1A0100, 0x00000002U ,0x00000000U) |
| RegMask = (CRF_APB_RST_FPD_TOP_SATA_RESET_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << CRF_APB_RST_FPD_TOP_SATA_RESET_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (CRF_APB_RST_FPD_TOP_OFFSET ,0x00000002U ,0x00000000U); |
| /*############################################################################################################################ */ |
| |
| // : PUTTING PCIE IN RESET |
| /*Register : RST_FPD_TOP @ 0XFD1A0100</p> |
| |
| PCIE config reset |
| PSU_CRF_APB_RST_FPD_TOP_PCIE_CFG_RESET 0X0 |
| |
| PCIE control block level reset |
| PSU_CRF_APB_RST_FPD_TOP_PCIE_CTRL_RESET 0X0 |
| |
| PCIE bridge block level reset (AXI interface) |
| PSU_CRF_APB_RST_FPD_TOP_PCIE_BRIDGE_RESET 0X0 |
| |
| FPD Block level software controlled reset |
| (OFFSET, MASK, VALUE) (0XFD1A0100, 0x000E0000U ,0x00000000U) |
| RegMask = (CRF_APB_RST_FPD_TOP_PCIE_CFG_RESET_MASK | CRF_APB_RST_FPD_TOP_PCIE_CTRL_RESET_MASK | CRF_APB_RST_FPD_TOP_PCIE_BRIDGE_RESET_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << CRF_APB_RST_FPD_TOP_PCIE_CFG_RESET_SHIFT |
| | 0x00000000U << CRF_APB_RST_FPD_TOP_PCIE_CTRL_RESET_SHIFT |
| | 0x00000000U << CRF_APB_RST_FPD_TOP_PCIE_BRIDGE_RESET_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (CRF_APB_RST_FPD_TOP_OFFSET ,0x000E0000U ,0x00000000U); |
| /*############################################################################################################################ */ |
| |
| // : PUTTING DP IN RESET |
| /*Register : RST_FPD_TOP @ 0XFD1A0100</p> |
| |
| Display Port block level reset (includes DPDMA) |
| PSU_CRF_APB_RST_FPD_TOP_DP_RESET 0X0 |
| |
| FPD Block level software controlled reset |
| (OFFSET, MASK, VALUE) (0XFD1A0100, 0x00010000U ,0x00000000U) |
| RegMask = (CRF_APB_RST_FPD_TOP_DP_RESET_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << CRF_APB_RST_FPD_TOP_DP_RESET_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (CRF_APB_RST_FPD_TOP_OFFSET ,0x00010000U ,0x00000000U); |
| /*############################################################################################################################ */ |
| |
| /*Register : DP_PHY_RESET @ 0XFD4A0200</p> |
| |
| Set to '1' to hold the GT in reset. Clear to release. |
| PSU_DP_DP_PHY_RESET_GT_RESET 0X0 |
| |
| Reset the transmitter PHY. |
| (OFFSET, MASK, VALUE) (0XFD4A0200, 0x00000002U ,0x00000000U) |
| RegMask = (DP_DP_PHY_RESET_GT_RESET_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DP_DP_PHY_RESET_GT_RESET_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DP_DP_PHY_RESET_OFFSET ,0x00000002U ,0x00000000U); |
| /*############################################################################################################################ */ |
| |
| /*Register : DP_TX_PHY_POWER_DOWN @ 0XFD4A0238</p> |
| |
| 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 |
| PSU_DP_DP_TX_PHY_POWER_DOWN_POWER_DWN 0X0 |
| |
| Control PHY Power down |
| (OFFSET, MASK, VALUE) (0XFD4A0238, 0x0000000FU ,0x00000000U) |
| RegMask = (DP_DP_TX_PHY_POWER_DOWN_POWER_DWN_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << DP_DP_TX_PHY_POWER_DOWN_POWER_DWN_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DP_DP_TX_PHY_POWER_DOWN_OFFSET ,0x0000000FU ,0x00000000U); |
| /*############################################################################################################################ */ |
| |
| // : USB0 GFLADJ |
| /*Register : GUSB2PHYCFG @ 0XFE20C200</p> |
| |
| 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. |
| PSU_USB3_0_XHCI_GUSB2PHYCFG_USBTRDTIM 0X9 |
| |
| 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. |
| PSU_USB3_0_XHCI_GUSB2PHYCFG_XCVRDLY 0X0 |
| |
| 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. |
| PSU_USB3_0_XHCI_GUSB2PHYCFG_ENBLSLPM 0X0 |
| |
| 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. |
| PSU_USB3_0_XHCI_GUSB2PHYCFG_PHYSEL 0X0 |
| |
| 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. |
| PSU_USB3_0_XHCI_GUSB2PHYCFG_SUSPENDUSB20 0X1 |
| |
| 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. |
| PSU_USB3_0_XHCI_GUSB2PHYCFG_FSINTF 0X0 |
| |
| 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. |
| PSU_USB3_0_XHCI_GUSB2PHYCFG_ULPI_UTMI_SEL 0X1 |
| |
| 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. |
| PSU_USB3_0_XHCI_GUSB2PHYCFG_PHYIF 0X0 |
| |
| 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 |
| PSU_USB3_0_XHCI_GUSB2PHYCFG_TOUTCAL 0X7 |
| |
| Global USB2 PHY Configuration Register The application must program this register before starting any transactions on either |
| he SoC bus or the USB. In Device-only configurations, only one register is needed. In Host mode, per-port registers are imple |
| ented. |
| (OFFSET, MASK, VALUE) (0XFE20C200, 0x00003FFFU ,0x00002457U) |
| RegMask = (USB3_0_XHCI_GUSB2PHYCFG_USBTRDTIM_MASK | USB3_0_XHCI_GUSB2PHYCFG_XCVRDLY_MASK | USB3_0_XHCI_GUSB2PHYCFG_ENBLSLPM_MASK | USB3_0_XHCI_GUSB2PHYCFG_PHYSEL_MASK | USB3_0_XHCI_GUSB2PHYCFG_SUSPENDUSB20_MASK | USB3_0_XHCI_GUSB2PHYCFG_FSINTF_MASK | USB3_0_XHCI_GUSB2PHYCFG_ULPI_UTMI_SEL_MASK | USB3_0_XHCI_GUSB2PHYCFG_PHYIF_MASK | USB3_0_XHCI_GUSB2PHYCFG_TOUTCAL_MASK | 0 ); |
| |
| RegVal = ((0x00000009U << USB3_0_XHCI_GUSB2PHYCFG_USBTRDTIM_SHIFT |
| | 0x00000000U << USB3_0_XHCI_GUSB2PHYCFG_XCVRDLY_SHIFT |
| | 0x00000000U << USB3_0_XHCI_GUSB2PHYCFG_ENBLSLPM_SHIFT |
| | 0x00000000U << USB3_0_XHCI_GUSB2PHYCFG_PHYSEL_SHIFT |
| | 0x00000001U << USB3_0_XHCI_GUSB2PHYCFG_SUSPENDUSB20_SHIFT |
| | 0x00000000U << USB3_0_XHCI_GUSB2PHYCFG_FSINTF_SHIFT |
| | 0x00000001U << USB3_0_XHCI_GUSB2PHYCFG_ULPI_UTMI_SEL_SHIFT |
| | 0x00000000U << USB3_0_XHCI_GUSB2PHYCFG_PHYIF_SHIFT |
| | 0x00000007U << USB3_0_XHCI_GUSB2PHYCFG_TOUTCAL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (USB3_0_XHCI_GUSB2PHYCFG_OFFSET ,0x00003FFFU ,0x00002457U); |
| /*############################################################################################################################ */ |
| |
| /*Register : GFLADJ @ 0XFE20C630</p> |
| |
| 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) |
| PSU_USB3_0_XHCI_GFLADJ_GFLADJ_REFCLK_FLADJ 0X0 |
| |
| Global Frame Length Adjustment Register This register provides options for the software to control the core behavior with res |
| ect to SOF (Start of Frame) and ITP (Isochronous Timestamp Packet) timers and frame timer functionality. It provides an optio |
| to override the fladj_30mhz_reg sideband signal. In addition, it enables running SOF or ITP frame timer counters completely |
| rom the ref_clk. This facilitates hardware LPM in host mode with the SOF or ITP counters being run from the ref_clk signal. |
| (OFFSET, MASK, VALUE) (0XFE20C630, 0x003FFF00U ,0x00000000U) |
| RegMask = (USB3_0_XHCI_GFLADJ_GFLADJ_REFCLK_FLADJ_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << USB3_0_XHCI_GFLADJ_GFLADJ_REFCLK_FLADJ_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (USB3_0_XHCI_GFLADJ_OFFSET ,0x003FFF00U ,0x00000000U); |
| /*############################################################################################################################ */ |
| |
| // : CHECK PLL LOCK FOR LANE0 |
| /*Register : L0_PLL_STATUS_READ_1 @ 0XFD4023E4</p> |
| |
| Status Read value of PLL Lock |
| PSU_SERDES_L0_PLL_STATUS_READ_1_PLL_LOCK_STATUS_READ 1 |
| (OFFSET, MASK, VALUE) (0XFD4023E4, 0x00000010U ,0x00000010U) */ |
| mask_poll(SERDES_L0_PLL_STATUS_READ_1_OFFSET,0x00000010U); |
| |
| /*############################################################################################################################ */ |
| |
| // : CHECK PLL LOCK FOR LANE1 |
| /*Register : L1_PLL_STATUS_READ_1 @ 0XFD4063E4</p> |
| |
| Status Read value of PLL Lock |
| PSU_SERDES_L1_PLL_STATUS_READ_1_PLL_LOCK_STATUS_READ 1 |
| (OFFSET, MASK, VALUE) (0XFD4063E4, 0x00000010U ,0x00000010U) */ |
| mask_poll(SERDES_L1_PLL_STATUS_READ_1_OFFSET,0x00000010U); |
| |
| /*############################################################################################################################ */ |
| |
| // : CHECK PLL LOCK FOR LANE2 |
| /*Register : L2_PLL_STATUS_READ_1 @ 0XFD40A3E4</p> |
| |
| Status Read value of PLL Lock |
| PSU_SERDES_L2_PLL_STATUS_READ_1_PLL_LOCK_STATUS_READ 1 |
| (OFFSET, MASK, VALUE) (0XFD40A3E4, 0x00000010U ,0x00000010U) */ |
| mask_poll(SERDES_L2_PLL_STATUS_READ_1_OFFSET,0x00000010U); |
| |
| /*############################################################################################################################ */ |
| |
| // : CHECK PLL LOCK FOR LANE3 |
| /*Register : L3_PLL_STATUS_READ_1 @ 0XFD40E3E4</p> |
| |
| Status Read value of PLL Lock |
| PSU_SERDES_L3_PLL_STATUS_READ_1_PLL_LOCK_STATUS_READ 1 |
| (OFFSET, MASK, VALUE) (0XFD40E3E4, 0x00000010U ,0x00000010U) */ |
| mask_poll(SERDES_L3_PLL_STATUS_READ_1_OFFSET,0x00000010U); |
| |
| /*############################################################################################################################ */ |
| |
| // : UPDATING TWO PCIE REGISTERS DEFAULT VALUES, AS THESE REGISTERS HAVE INCORRECT RESET VALUES IN SILICON. |
| /*Register : ATTR_37 @ 0XFD480094</p> |
| |
| 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 |
| PSU_PCIE_ATTRIB_ATTR_37_ATTR_LINK_CAP_ASPM_OPTIONALITY 0X1 |
| |
| ATTR_37 |
| (OFFSET, MASK, VALUE) (0XFD480094, 0x00004000U ,0x00004000U) |
| RegMask = (PCIE_ATTRIB_ATTR_37_ATTR_LINK_CAP_ASPM_OPTIONALITY_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << PCIE_ATTRIB_ATTR_37_ATTR_LINK_CAP_ASPM_OPTIONALITY_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (PCIE_ATTRIB_ATTR_37_OFFSET ,0x00004000U ,0x00004000U); |
| /*############################################################################################################################ */ |
| |
| /*Register : ATTR_25 @ 0XFD480064</p> |
| |
| 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 |
| PSU_PCIE_ATTRIB_ATTR_25_ATTR_CPL_TIMEOUT_DISABLE_SUPPORTED 0X1 |
| |
| ATTR_25 |
| (OFFSET, MASK, VALUE) (0XFD480064, 0x00000200U ,0x00000200U) |
| RegMask = (PCIE_ATTRIB_ATTR_25_ATTR_CPL_TIMEOUT_DISABLE_SUPPORTED_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << PCIE_ATTRIB_ATTR_25_ATTR_CPL_TIMEOUT_DISABLE_SUPPORTED_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (PCIE_ATTRIB_ATTR_25_OFFSET ,0x00000200U ,0x00000200U); |
| /*############################################################################################################################ */ |
| |
| // : PCIE SETTINGS |
| /*Register : ATTR_7 @ 0XFD48001C</p> |
| |
| 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 |
| PSU_PCIE_ATTRIB_ATTR_7_ATTR_BAR0 0x0 |
| |
| ATTR_7 |
| (OFFSET, MASK, VALUE) (0XFD48001C, 0x0000FFFFU ,0x00000000U) |
| RegMask = (PCIE_ATTRIB_ATTR_7_ATTR_BAR0_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << PCIE_ATTRIB_ATTR_7_ATTR_BAR0_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (PCIE_ATTRIB_ATTR_7_OFFSET ,0x0000FFFFU ,0x00000000U); |
| /*############################################################################################################################ */ |
| |
| /*Register : ATTR_8 @ 0XFD480020</p> |
| |
| 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 |
| PSU_PCIE_ATTRIB_ATTR_8_ATTR_BAR0 0x0 |
| |
| ATTR_8 |
| (OFFSET, MASK, VALUE) (0XFD480020, 0x0000FFFFU ,0x00000000U) |
| RegMask = (PCIE_ATTRIB_ATTR_8_ATTR_BAR0_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << PCIE_ATTRIB_ATTR_8_ATTR_BAR0_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (PCIE_ATTRIB_ATTR_8_OFFSET ,0x0000FFFFU ,0x00000000U); |
| /*############################################################################################################################ */ |
| |
| /*Register : ATTR_9 @ 0XFD480024</p> |
| |
| 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 |
| PSU_PCIE_ATTRIB_ATTR_9_ATTR_BAR1 0x0 |
| |
| ATTR_9 |
| (OFFSET, MASK, VALUE) (0XFD480024, 0x0000FFFFU ,0x00000000U) |
| RegMask = (PCIE_ATTRIB_ATTR_9_ATTR_BAR1_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << PCIE_ATTRIB_ATTR_9_ATTR_BAR1_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (PCIE_ATTRIB_ATTR_9_OFFSET ,0x0000FFFFU ,0x00000000U); |
| /*############################################################################################################################ */ |
| |
| /*Register : ATTR_10 @ 0XFD480028</p> |
| |
| 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 |
| PSU_PCIE_ATTRIB_ATTR_10_ATTR_BAR1 0x0 |
| |
| ATTR_10 |
| (OFFSET, MASK, VALUE) (0XFD480028, 0x0000FFFFU ,0x00000000U) |
| RegMask = (PCIE_ATTRIB_ATTR_10_ATTR_BAR1_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << PCIE_ATTRIB_ATTR_10_ATTR_BAR1_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (PCIE_ATTRIB_ATTR_10_OFFSET ,0x0000FFFFU ,0x00000000U); |
| /*############################################################################################################################ */ |
| |
| /*Register : ATTR_11 @ 0XFD48002C</p> |
| |
| 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 |
| PSU_PCIE_ATTRIB_ATTR_11_ATTR_BAR2 0xFFFF |
| |
| ATTR_11 |
| (OFFSET, MASK, VALUE) (0XFD48002C, 0x0000FFFFU ,0x0000FFFFU) |
| RegMask = (PCIE_ATTRIB_ATTR_11_ATTR_BAR2_MASK | 0 ); |
| |
| RegVal = ((0x0000FFFFU << PCIE_ATTRIB_ATTR_11_ATTR_BAR2_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (PCIE_ATTRIB_ATTR_11_OFFSET ,0x0000FFFFU ,0x0000FFFFU); |
| /*############################################################################################################################ */ |
| |
| /*Register : ATTR_12 @ 0XFD480030</p> |
| |
| 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 |
| PSU_PCIE_ATTRIB_ATTR_12_ATTR_BAR2 0xFF |
| |
| ATTR_12 |
| (OFFSET, MASK, VALUE) (0XFD480030, 0x0000FFFFU ,0x000000FFU) |
| RegMask = (PCIE_ATTRIB_ATTR_12_ATTR_BAR2_MASK | 0 ); |
| |
| RegVal = ((0x000000FFU << PCIE_ATTRIB_ATTR_12_ATTR_BAR2_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (PCIE_ATTRIB_ATTR_12_OFFSET ,0x0000FFFFU ,0x000000FFU); |
| /*############################################################################################################################ */ |
| |
| /*Register : ATTR_13 @ 0XFD480034</p> |
| |
| 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 |
| PSU_PCIE_ATTRIB_ATTR_13_ATTR_BAR3 0x0 |
| |
| ATTR_13 |
| (OFFSET, MASK, VALUE) (0XFD480034, 0x0000FFFFU ,0x00000000U) |
| RegMask = (PCIE_ATTRIB_ATTR_13_ATTR_BAR3_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << PCIE_ATTRIB_ATTR_13_ATTR_BAR3_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (PCIE_ATTRIB_ATTR_13_OFFSET ,0x0000FFFFU ,0x00000000U); |
| /*############################################################################################################################ */ |
| |
| /*Register : ATTR_14 @ 0XFD480038</p> |
| |
| 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 |
| PSU_PCIE_ATTRIB_ATTR_14_ATTR_BAR3 0xFFFF |
| |
| ATTR_14 |
| (OFFSET, MASK, VALUE) (0XFD480038, 0x0000FFFFU ,0x0000FFFFU) |
| RegMask = (PCIE_ATTRIB_ATTR_14_ATTR_BAR3_MASK | 0 ); |
| |
| RegVal = ((0x0000FFFFU << PCIE_ATTRIB_ATTR_14_ATTR_BAR3_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (PCIE_ATTRIB_ATTR_14_OFFSET ,0x0000FFFFU ,0x0000FFFFU); |
| /*############################################################################################################################ */ |
| |
| /*Register : ATTR_15 @ 0XFD48003C</p> |
| |
| 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 |
| PSU_PCIE_ATTRIB_ATTR_15_ATTR_BAR4 0xFFF0 |
| |
| ATTR_15 |
| (OFFSET, MASK, VALUE) (0XFD48003C, 0x0000FFFFU ,0x0000FFF0U) |
| RegMask = (PCIE_ATTRIB_ATTR_15_ATTR_BAR4_MASK | 0 ); |
| |
| RegVal = ((0x0000FFF0U << PCIE_ATTRIB_ATTR_15_ATTR_BAR4_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (PCIE_ATTRIB_ATTR_15_OFFSET ,0x0000FFFFU ,0x0000FFF0U); |
| /*############################################################################################################################ */ |
| |
| /*Register : ATTR_16 @ 0XFD480040</p> |
| |
| 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 |
| PSU_PCIE_ATTRIB_ATTR_16_ATTR_BAR4 0xFFF0 |
| |
| ATTR_16 |
| (OFFSET, MASK, VALUE) (0XFD480040, 0x0000FFFFU ,0x0000FFF0U) |
| RegMask = (PCIE_ATTRIB_ATTR_16_ATTR_BAR4_MASK | 0 ); |
| |
| RegVal = ((0x0000FFF0U << PCIE_ATTRIB_ATTR_16_ATTR_BAR4_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (PCIE_ATTRIB_ATTR_16_OFFSET ,0x0000FFFFU ,0x0000FFF0U); |
| /*############################################################################################################################ */ |
| |
| /*Register : ATTR_17 @ 0XFD480044</p> |
| |
| 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 |
| PSU_PCIE_ATTRIB_ATTR_17_ATTR_BAR5 0xFFF1 |
| |
| ATTR_17 |
| (OFFSET, MASK, VALUE) (0XFD480044, 0x0000FFFFU ,0x0000FFF1U) |
| RegMask = (PCIE_ATTRIB_ATTR_17_ATTR_BAR5_MASK | 0 ); |
| |
| RegVal = ((0x0000FFF1U << PCIE_ATTRIB_ATTR_17_ATTR_BAR5_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (PCIE_ATTRIB_ATTR_17_OFFSET ,0x0000FFFFU ,0x0000FFF1U); |
| /*############################################################################################################################ */ |
| |
| /*Register : ATTR_18 @ 0XFD480048</p> |
| |
| 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 |
| PSU_PCIE_ATTRIB_ATTR_18_ATTR_BAR5 0xFFF1 |
| |
| ATTR_18 |
| (OFFSET, MASK, VALUE) (0XFD480048, 0x0000FFFFU ,0x0000FFF1U) |
| RegMask = (PCIE_ATTRIB_ATTR_18_ATTR_BAR5_MASK | 0 ); |
| |
| RegVal = ((0x0000FFF1U << PCIE_ATTRIB_ATTR_18_ATTR_BAR5_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (PCIE_ATTRIB_ATTR_18_OFFSET ,0x0000FFFFU ,0x0000FFF1U); |
| /*############################################################################################################################ */ |
| |
| /*Register : ATTR_27 @ 0XFD48006C</p> |
| |
| 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 |
| PSU_PCIE_ATTRIB_ATTR_27_ATTR_DEV_CAP_MAX_PAYLOAD_SUPPORTED 1 |
| |
| 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 |
| PSU_PCIE_ATTRIB_ATTR_27_ATTR_DEV_CAP_ENDPOINT_L1_LATENCY 0x0 |
| |
| ATTR_27 |
| (OFFSET, MASK, VALUE) (0XFD48006C, 0x00000738U ,0x00000100U) |
| RegMask = (PCIE_ATTRIB_ATTR_27_ATTR_DEV_CAP_MAX_PAYLOAD_SUPPORTED_MASK | PCIE_ATTRIB_ATTR_27_ATTR_DEV_CAP_ENDPOINT_L1_LATENCY_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << PCIE_ATTRIB_ATTR_27_ATTR_DEV_CAP_MAX_PAYLOAD_SUPPORTED_SHIFT |
| | 0x00000000U << PCIE_ATTRIB_ATTR_27_ATTR_DEV_CAP_ENDPOINT_L1_LATENCY_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (PCIE_ATTRIB_ATTR_27_OFFSET ,0x00000738U ,0x00000100U); |
| /*############################################################################################################################ */ |
| |
| /*Register : ATTR_50 @ 0XFD4800C8</p> |
| |
| 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 |
| PSU_PCIE_ATTRIB_ATTR_50_ATTR_PCIE_CAP_DEVICE_PORT_TYPE 4 |
| |
| 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 |
| PSU_PCIE_ATTRIB_ATTR_50_ATTR_PCIE_CAP_NEXTPTR 0 |
| |
| ATTR_50 |
| (OFFSET, MASK, VALUE) (0XFD4800C8, 0x0000FFF0U ,0x00000040U) |
| RegMask = (PCIE_ATTRIB_ATTR_50_ATTR_PCIE_CAP_DEVICE_PORT_TYPE_MASK | PCIE_ATTRIB_ATTR_50_ATTR_PCIE_CAP_NEXTPTR_MASK | 0 ); |
| |
| RegVal = ((0x00000004U << PCIE_ATTRIB_ATTR_50_ATTR_PCIE_CAP_DEVICE_PORT_TYPE_SHIFT |
| | 0x00000000U << PCIE_ATTRIB_ATTR_50_ATTR_PCIE_CAP_NEXTPTR_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (PCIE_ATTRIB_ATTR_50_OFFSET ,0x0000FFF0U ,0x00000040U); |
| /*############################################################################################################################ */ |
| |
| /*Register : ATTR_105 @ 0XFD4801A4</p> |
| |
| 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 |
| PSU_PCIE_ATTRIB_ATTR_105_ATTR_VC0_TOTAL_CREDITS_CD 0xCD |
| |
| ATTR_105 |
| (OFFSET, MASK, VALUE) (0XFD4801A4, 0x000007FFU ,0x000000CDU) |
| RegMask = (PCIE_ATTRIB_ATTR_105_ATTR_VC0_TOTAL_CREDITS_CD_MASK | 0 ); |
| |
| RegVal = ((0x000000CDU << PCIE_ATTRIB_ATTR_105_ATTR_VC0_TOTAL_CREDITS_CD_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (PCIE_ATTRIB_ATTR_105_OFFSET ,0x000007FFU ,0x000000CDU); |
| /*############################################################################################################################ */ |
| |
| /*Register : ATTR_106 @ 0XFD4801A8</p> |
| |
| 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 |
| PSU_PCIE_ATTRIB_ATTR_106_ATTR_VC0_TOTAL_CREDITS_CH 0x24 |
| |
| 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 |
| PSU_PCIE_ATTRIB_ATTR_106_ATTR_VC0_TOTAL_CREDITS_NPH 0xC |
| |
| ATTR_106 |
| (OFFSET, MASK, VALUE) (0XFD4801A8, 0x00003FFFU ,0x00000624U) |
| RegMask = (PCIE_ATTRIB_ATTR_106_ATTR_VC0_TOTAL_CREDITS_CH_MASK | PCIE_ATTRIB_ATTR_106_ATTR_VC0_TOTAL_CREDITS_NPH_MASK | 0 ); |
| |
| RegVal = ((0x00000024U << PCIE_ATTRIB_ATTR_106_ATTR_VC0_TOTAL_CREDITS_CH_SHIFT |
| | 0x0000000CU << PCIE_ATTRIB_ATTR_106_ATTR_VC0_TOTAL_CREDITS_NPH_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (PCIE_ATTRIB_ATTR_106_OFFSET ,0x00003FFFU ,0x00000624U); |
| /*############################################################################################################################ */ |
| |
| /*Register : ATTR_107 @ 0XFD4801AC</p> |
| |
| 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 |
| PSU_PCIE_ATTRIB_ATTR_107_ATTR_VC0_TOTAL_CREDITS_NPD 0x18 |
| |
| ATTR_107 |
| (OFFSET, MASK, VALUE) (0XFD4801AC, 0x000007FFU ,0x00000018U) |
| RegMask = (PCIE_ATTRIB_ATTR_107_ATTR_VC0_TOTAL_CREDITS_NPD_MASK | 0 ); |
| |
| RegVal = ((0x00000018U << PCIE_ATTRIB_ATTR_107_ATTR_VC0_TOTAL_CREDITS_NPD_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (PCIE_ATTRIB_ATTR_107_OFFSET ,0x000007FFU ,0x00000018U); |
| /*############################################################################################################################ */ |
| |
| /*Register : ATTR_108 @ 0XFD4801B0</p> |
| |
| 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 |
| PSU_PCIE_ATTRIB_ATTR_108_ATTR_VC0_TOTAL_CREDITS_PD 0xB5 |
| |
| ATTR_108 |
| (OFFSET, MASK, VALUE) (0XFD4801B0, 0x000007FFU ,0x000000B5U) |
| RegMask = (PCIE_ATTRIB_ATTR_108_ATTR_VC0_TOTAL_CREDITS_PD_MASK | 0 ); |
| |
| RegVal = ((0x000000B5U << PCIE_ATTRIB_ATTR_108_ATTR_VC0_TOTAL_CREDITS_PD_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (PCIE_ATTRIB_ATTR_108_OFFSET ,0x000007FFU ,0x000000B5U); |
| /*############################################################################################################################ */ |
| |
| /*Register : ATTR_109 @ 0XFD4801B4</p> |
| |
| 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 |
| PSU_PCIE_ATTRIB_ATTR_109_ATTR_TECRC_EP_INV 0x0 |
| |
| Enables td bit clear and ECRC trim on received TLP's FALSE == don't trim TRUE == trim.; EP=0x0001; RP=0x0001 |
| PSU_PCIE_ATTRIB_ATTR_109_ATTR_RECRC_CHK_TRIM 0x1 |
| |
| 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 |
| PSU_PCIE_ATTRIB_ATTR_109_ATTR_RECRC_CHK 0x3 |
| |
| 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 |
| PSU_PCIE_ATTRIB_ATTR_109_ATTR_VC0_TX_LASTPACKET 0x1c |
| |
| 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 |
| PSU_PCIE_ATTRIB_ATTR_109_ATTR_VC0_TOTAL_CREDITS_PH 0x20 |
| |
| ATTR_109 |
| (OFFSET, MASK, VALUE) (0XFD4801B4, 0x0000FFFFU ,0x00007E20U) |
| RegMask = (PCIE_ATTRIB_ATTR_109_ATTR_TECRC_EP_INV_MASK | PCIE_ATTRIB_ATTR_109_ATTR_RECRC_CHK_TRIM_MASK | PCIE_ATTRIB_ATTR_109_ATTR_RECRC_CHK_MASK | PCIE_ATTRIB_ATTR_109_ATTR_VC0_TX_LASTPACKET_MASK | PCIE_ATTRIB_ATTR_109_ATTR_VC0_TOTAL_CREDITS_PH_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << PCIE_ATTRIB_ATTR_109_ATTR_TECRC_EP_INV_SHIFT |
| | 0x00000001U << PCIE_ATTRIB_ATTR_109_ATTR_RECRC_CHK_TRIM_SHIFT |
| | 0x00000003U << PCIE_ATTRIB_ATTR_109_ATTR_RECRC_CHK_SHIFT |
| | 0x0000001CU << PCIE_ATTRIB_ATTR_109_ATTR_VC0_TX_LASTPACKET_SHIFT |
| | 0x00000020U << PCIE_ATTRIB_ATTR_109_ATTR_VC0_TOTAL_CREDITS_PH_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (PCIE_ATTRIB_ATTR_109_OFFSET ,0x0000FFFFU ,0x00007E20U); |
| /*############################################################################################################################ */ |
| |
| /*Register : ATTR_34 @ 0XFD480088</p> |
| |
| 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 |
| PSU_PCIE_ATTRIB_ATTR_34_ATTR_HEADER_TYPE 0x1 |
| |
| ATTR_34 |
| (OFFSET, MASK, VALUE) (0XFD480088, 0x000000FFU ,0x00000001U) |
| RegMask = (PCIE_ATTRIB_ATTR_34_ATTR_HEADER_TYPE_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << PCIE_ATTRIB_ATTR_34_ATTR_HEADER_TYPE_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (PCIE_ATTRIB_ATTR_34_OFFSET ,0x000000FFU ,0x00000001U); |
| /*############################################################################################################################ */ |
| |
| /*Register : ATTR_53 @ 0XFD4800D4</p> |
| |
| 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 |
| PSU_PCIE_ATTRIB_ATTR_53_ATTR_PM_CAP_NEXTPTR 0x60 |
| |
| ATTR_53 |
| (OFFSET, MASK, VALUE) (0XFD4800D4, 0x000000FFU ,0x00000060U) |
| RegMask = (PCIE_ATTRIB_ATTR_53_ATTR_PM_CAP_NEXTPTR_MASK | 0 ); |
| |
| RegVal = ((0x00000060U << PCIE_ATTRIB_ATTR_53_ATTR_PM_CAP_NEXTPTR_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (PCIE_ATTRIB_ATTR_53_OFFSET ,0x000000FFU ,0x00000060U); |
| /*############################################################################################################################ */ |
| |
| /*Register : ATTR_41 @ 0XFD4800A4</p> |
| |
| 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 |
| PSU_PCIE_ATTRIB_ATTR_41_ATTR_MSI_CAP_PER_VECTOR_MASKING_CAPABLE 0x0 |
| |
| 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 |
| PSU_PCIE_ATTRIB_ATTR_41_ATTR_MSI_CAP_ON 0 |
| |
| 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 |
| PSU_PCIE_ATTRIB_ATTR_41_ATTR_MSI_CAP_NEXTPTR 0x0 |
| |
| 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 |
| PSU_PCIE_ATTRIB_ATTR_41_ATTR_MSI_CAP_ON 0 |
| |
| ATTR_41 |
| (OFFSET, MASK, VALUE) (0XFD4800A4, 0x000003FFU ,0x00000000U) |
| RegMask = (PCIE_ATTRIB_ATTR_41_ATTR_MSI_CAP_PER_VECTOR_MASKING_CAPABLE_MASK | PCIE_ATTRIB_ATTR_41_ATTR_MSI_CAP_ON_MASK | PCIE_ATTRIB_ATTR_41_ATTR_MSI_CAP_NEXTPTR_MASK | PCIE_ATTRIB_ATTR_41_ATTR_MSI_CAP_ON_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << PCIE_ATTRIB_ATTR_41_ATTR_MSI_CAP_PER_VECTOR_MASKING_CAPABLE_SHIFT |
| | 0x00000000U << PCIE_ATTRIB_ATTR_41_ATTR_MSI_CAP_ON_SHIFT |
| | 0x00000000U << PCIE_ATTRIB_ATTR_41_ATTR_MSI_CAP_NEXTPTR_SHIFT |
| | 0x00000000U << PCIE_ATTRIB_ATTR_41_ATTR_MSI_CAP_ON_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (PCIE_ATTRIB_ATTR_41_OFFSET ,0x000003FFU ,0x00000000U); |
| /*############################################################################################################################ */ |
| |
| /*Register : ATTR_97 @ 0XFD480184</p> |
| |
| Maximum Link Width. Valid settings are: 000001b x1, 000010b x2, 000100b x4, 001000b x8.; EP=0x0004; RP=0x0004 |
| PSU_PCIE_ATTRIB_ATTR_97_ATTR_LINK_CAP_MAX_LINK_WIDTH 0x1 |
| |
| Used by LTSSM to set Maximum Link Width. Valid settings are: 000001b [x1], 000010b [x2], 000100b [x4], 001000b [x8].; EP=0x00 |
| 4; RP=0x0004 |
| PSU_PCIE_ATTRIB_ATTR_97_ATTR_LTSSM_MAX_LINK_WIDTH 0x1 |
| |
| ATTR_97 |
| (OFFSET, MASK, VALUE) (0XFD480184, 0x00000FFFU ,0x00000041U) |
| RegMask = (PCIE_ATTRIB_ATTR_97_ATTR_LINK_CAP_MAX_LINK_WIDTH_MASK | PCIE_ATTRIB_ATTR_97_ATTR_LTSSM_MAX_LINK_WIDTH_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << PCIE_ATTRIB_ATTR_97_ATTR_LINK_CAP_MAX_LINK_WIDTH_SHIFT |
| | 0x00000001U << PCIE_ATTRIB_ATTR_97_ATTR_LTSSM_MAX_LINK_WIDTH_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (PCIE_ATTRIB_ATTR_97_OFFSET ,0x00000FFFU ,0x00000041U); |
| /*############################################################################################################################ */ |
| |
| /*Register : ATTR_100 @ 0XFD480190</p> |
| |
| TRUE specifies upstream-facing port. FALSE specifies downstream-facing port.; EP=0x0001; RP=0x0000 |
| PSU_PCIE_ATTRIB_ATTR_100_ATTR_UPSTREAM_FACING 0x0 |
| |
| ATTR_100 |
| (OFFSET, MASK, VALUE) (0XFD480190, 0x00000040U ,0x00000000U) |
| RegMask = (PCIE_ATTRIB_ATTR_100_ATTR_UPSTREAM_FACING_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << PCIE_ATTRIB_ATTR_100_ATTR_UPSTREAM_FACING_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (PCIE_ATTRIB_ATTR_100_OFFSET ,0x00000040U ,0x00000000U); |
| /*############################################################################################################################ */ |
| |
| /*Register : ATTR_101 @ 0XFD480194</p> |
| |
| 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 |
| PSU_PCIE_ATTRIB_ATTR_101_ATTR_ENABLE_MSG_ROUTE 0x7FF |
| |
| Disable BAR filtering. Does not change the behavior of the bar hit outputs; EP=0x0000; RP=0x0001 |
| PSU_PCIE_ATTRIB_ATTR_101_ATTR_DISABLE_BAR_FILTERING 0x1 |
| |
| ATTR_101 |
| (OFFSET, MASK, VALUE) (0XFD480194, 0x0000FFE2U ,0x0000FFE2U) |
| RegMask = (PCIE_ATTRIB_ATTR_101_ATTR_ENABLE_MSG_ROUTE_MASK | PCIE_ATTRIB_ATTR_101_ATTR_DISABLE_BAR_FILTERING_MASK | 0 ); |
| |
| RegVal = ((0x000007FFU << PCIE_ATTRIB_ATTR_101_ATTR_ENABLE_MSG_ROUTE_SHIFT |
| | 0x00000001U << PCIE_ATTRIB_ATTR_101_ATTR_DISABLE_BAR_FILTERING_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (PCIE_ATTRIB_ATTR_101_OFFSET ,0x0000FFE2U ,0x0000FFE2U); |
| /*############################################################################################################################ */ |
| |
| /*Register : ATTR_37 @ 0XFD480094</p> |
| |
| Link Bandwidth notification capability. Indicates support for the link bandwidth notification status and interrupt mechanism. |
| Required for Root.; EP=0x0000; RP=0x0001 |
| PSU_PCIE_ATTRIB_ATTR_37_ATTR_LINK_CAP_LINK_BANDWIDTH_NOTIFICATION_CAP 0x1 |
| |
| ATTR_37 |
| (OFFSET, MASK, VALUE) (0XFD480094, 0x00000200U ,0x00000200U) |
| RegMask = (PCIE_ATTRIB_ATTR_37_ATTR_LINK_CAP_LINK_BANDWIDTH_NOTIFICATION_CAP_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << PCIE_ATTRIB_ATTR_37_ATTR_LINK_CAP_LINK_BANDWIDTH_NOTIFICATION_CAP_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (PCIE_ATTRIB_ATTR_37_OFFSET ,0x00000200U ,0x00000200U); |
| /*############################################################################################################################ */ |
| |
| /*Register : ATTR_93 @ 0XFD480174</p> |
| |
| 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 |
| PSU_PCIE_ATTRIB_ATTR_93_ATTR_LL_REPLAY_TIMEOUT_EN 0x1 |
| |
| 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 |
| PSU_PCIE_ATTRIB_ATTR_93_ATTR_LL_REPLAY_TIMEOUT 0x1000 |
| |
| ATTR_93 |
| (OFFSET, MASK, VALUE) (0XFD480174, 0x0000FFFFU ,0x00009000U) |
| RegMask = (PCIE_ATTRIB_ATTR_93_ATTR_LL_REPLAY_TIMEOUT_EN_MASK | PCIE_ATTRIB_ATTR_93_ATTR_LL_REPLAY_TIMEOUT_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << PCIE_ATTRIB_ATTR_93_ATTR_LL_REPLAY_TIMEOUT_EN_SHIFT |
| | 0x00001000U << PCIE_ATTRIB_ATTR_93_ATTR_LL_REPLAY_TIMEOUT_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (PCIE_ATTRIB_ATTR_93_OFFSET ,0x0000FFFFU ,0x00009000U); |
| /*############################################################################################################################ */ |
| |
| /*Register : ID @ 0XFD480200</p> |
| |
| Device ID for the the PCIe Cap Structure Device ID field |
| PSU_PCIE_ATTRIB_ID_CFG_DEV_ID 0xd021 |
| |
| Vendor ID for the PCIe Cap Structure Vendor ID field |
| PSU_PCIE_ATTRIB_ID_CFG_VEND_ID 0x10ee |
| |
| ID |
| (OFFSET, MASK, VALUE) (0XFD480200, 0xFFFFFFFFU ,0x10EED021U) |
| RegMask = (PCIE_ATTRIB_ID_CFG_DEV_ID_MASK | PCIE_ATTRIB_ID_CFG_VEND_ID_MASK | 0 ); |
| |
| RegVal = ((0x0000D021U << PCIE_ATTRIB_ID_CFG_DEV_ID_SHIFT |
| | 0x000010EEU << PCIE_ATTRIB_ID_CFG_VEND_ID_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (PCIE_ATTRIB_ID_OFFSET ,0xFFFFFFFFU ,0x10EED021U); |
| /*############################################################################################################################ */ |
| |
| /*Register : SUBSYS_ID @ 0XFD480204</p> |
| |
| Subsystem ID for the the PCIe Cap Structure Subsystem ID field |
| PSU_PCIE_ATTRIB_SUBSYS_ID_CFG_SUBSYS_ID 0x7 |
| |
| Subsystem Vendor ID for the PCIe Cap Structure Subsystem Vendor ID field |
| PSU_PCIE_ATTRIB_SUBSYS_ID_CFG_SUBSYS_VEND_ID 0x10ee |
| |
| SUBSYS_ID |
| (OFFSET, MASK, VALUE) (0XFD480204, 0xFFFFFFFFU ,0x10EE0007U) |
| RegMask = (PCIE_ATTRIB_SUBSYS_ID_CFG_SUBSYS_ID_MASK | PCIE_ATTRIB_SUBSYS_ID_CFG_SUBSYS_VEND_ID_MASK | 0 ); |
| |
| RegVal = ((0x00000007U << PCIE_ATTRIB_SUBSYS_ID_CFG_SUBSYS_ID_SHIFT |
| | 0x000010EEU << PCIE_ATTRIB_SUBSYS_ID_CFG_SUBSYS_VEND_ID_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (PCIE_ATTRIB_SUBSYS_ID_OFFSET ,0xFFFFFFFFU ,0x10EE0007U); |
| /*############################################################################################################################ */ |
| |
| /*Register : REV_ID @ 0XFD480208</p> |
| |
| Revision ID for the the PCIe Cap Structure |
| PSU_PCIE_ATTRIB_REV_ID_CFG_REV_ID 0x0 |
| |
| REV_ID |
| (OFFSET, MASK, VALUE) (0XFD480208, 0x000000FFU ,0x00000000U) |
| RegMask = (PCIE_ATTRIB_REV_ID_CFG_REV_ID_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << PCIE_ATTRIB_REV_ID_CFG_REV_ID_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (PCIE_ATTRIB_REV_ID_OFFSET ,0x000000FFU ,0x00000000U); |
| /*############################################################################################################################ */ |
| |
| /*Register : ATTR_24 @ 0XFD480060</p> |
| |
| Code identifying basic function, subclass and applicable programming interface. Transferred to the Class Code register.; EP=0 |
| 8000; RP=0x8000 |
| PSU_PCIE_ATTRIB_ATTR_24_ATTR_CLASS_CODE 0x400 |
| |
| ATTR_24 |
| (OFFSET, MASK, VALUE) (0XFD480060, 0x0000FFFFU ,0x00000400U) |
| RegMask = (PCIE_ATTRIB_ATTR_24_ATTR_CLASS_CODE_MASK | 0 ); |
| |
| RegVal = ((0x00000400U << PCIE_ATTRIB_ATTR_24_ATTR_CLASS_CODE_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (PCIE_ATTRIB_ATTR_24_OFFSET ,0x0000FFFFU ,0x00000400U); |
| /*############################################################################################################################ */ |
| |
| /*Register : ATTR_25 @ 0XFD480064</p> |
| |
| Code identifying basic function, subclass and applicable programming interface. Transferred to the Class Code register.; EP=0 |
| 0005; RP=0x0006 |
| PSU_PCIE_ATTRIB_ATTR_25_ATTR_CLASS_CODE 0x6 |
| |
| INTX Interrupt Generation Capable. If FALSE, this will cause Command[10] to be hardwired to 0.; EP=0x0001; RP=0x0001 |
| PSU_PCIE_ATTRIB_ATTR_25_ATTR_CMD_INTX_IMPLEMENTED 0 |
| |
| ATTR_25 |
| (OFFSET, MASK, VALUE) (0XFD480064, 0x000001FFU ,0x00000006U) |
| RegMask = (PCIE_ATTRIB_ATTR_25_ATTR_CLASS_CODE_MASK | PCIE_ATTRIB_ATTR_25_ATTR_CMD_INTX_IMPLEMENTED_MASK | 0 ); |
| |
| RegVal = ((0x00000006U << PCIE_ATTRIB_ATTR_25_ATTR_CLASS_CODE_SHIFT |
| | 0x00000000U << PCIE_ATTRIB_ATTR_25_ATTR_CMD_INTX_IMPLEMENTED_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (PCIE_ATTRIB_ATTR_25_OFFSET ,0x000001FFU ,0x00000006U); |
| /*############################################################################################################################ */ |
| |
| /*Register : ATTR_4 @ 0XFD480010</p> |
| |
| 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 |
| PSU_PCIE_ATTRIB_ATTR_4_ATTR_AER_CAP_ON 0 |
| |
| 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 |
| PSU_PCIE_ATTRIB_ATTR_4_ATTR_AER_CAP_ON 0 |
| |
| ATTR_4 |
| (OFFSET, MASK, VALUE) (0XFD480010, 0x00001000U ,0x00000000U) |
| RegMask = (PCIE_ATTRIB_ATTR_4_ATTR_AER_CAP_ON_MASK | PCIE_ATTRIB_ATTR_4_ATTR_AER_CAP_ON_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << PCIE_ATTRIB_ATTR_4_ATTR_AER_CAP_ON_SHIFT |
| | 0x00000000U << PCIE_ATTRIB_ATTR_4_ATTR_AER_CAP_ON_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (PCIE_ATTRIB_ATTR_4_OFFSET ,0x00001000U ,0x00000000U); |
| /*############################################################################################################################ */ |
| |
| /*Register : ATTR_89 @ 0XFD480164</p> |
| |
| 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 |
| PSU_PCIE_ATTRIB_ATTR_89_ATTR_VSEC_CAP_NEXTPTR 0 |
| |
| ATTR_89 |
| (OFFSET, MASK, VALUE) (0XFD480164, 0x00001FFEU ,0x00000000U) |
| RegMask = (PCIE_ATTRIB_ATTR_89_ATTR_VSEC_CAP_NEXTPTR_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << PCIE_ATTRIB_ATTR_89_ATTR_VSEC_CAP_NEXTPTR_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (PCIE_ATTRIB_ATTR_89_OFFSET ,0x00001FFEU ,0x00000000U); |
| /*############################################################################################################################ */ |
| |
| /*Register : ATTR_79 @ 0XFD48013C</p> |
| |
| CRS SW Visibility. Indicates RC can return CRS to SW. Transferred to the Root Capabilities register.; EP=0x0000; RP=0x0000 |
| PSU_PCIE_ATTRIB_ATTR_79_ATTR_ROOT_CAP_CRS_SW_VISIBILITY 1 |
| |
| ATTR_79 |
| (OFFSET, MASK, VALUE) (0XFD48013C, 0x00000020U ,0x00000020U) |
| RegMask = (PCIE_ATTRIB_ATTR_79_ATTR_ROOT_CAP_CRS_SW_VISIBILITY_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << PCIE_ATTRIB_ATTR_79_ATTR_ROOT_CAP_CRS_SW_VISIBILITY_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (PCIE_ATTRIB_ATTR_79_OFFSET ,0x00000020U ,0x00000020U); |
| /*############################################################################################################################ */ |
| |
| /*Register : ATTR_43 @ 0XFD4800AC</p> |
| |
| 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 |
| PSU_PCIE_ATTRIB_ATTR_43_ATTR_MSIX_CAP_ON 0 |
| |
| ATTR_43 |
| (OFFSET, MASK, VALUE) (0XFD4800AC, 0x00000100U ,0x00000000U) |
| RegMask = (PCIE_ATTRIB_ATTR_43_ATTR_MSIX_CAP_ON_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << PCIE_ATTRIB_ATTR_43_ATTR_MSIX_CAP_ON_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (PCIE_ATTRIB_ATTR_43_OFFSET ,0x00000100U ,0x00000000U); |
| /*############################################################################################################################ */ |
| |
| |
| return 1; |
| } |
| unsigned long psu_resetin_init_data() { |
| // : PUTTING SERDES PERIPHERAL IN RESET |
| // : PUTTING USB0 IN RESET |
| /*Register : RST_LPD_TOP @ 0XFF5E023C</p> |
| |
| USB 0 reset for control registers |
| PSU_CRL_APB_RST_LPD_TOP_USB0_APB_RESET 0X1 |
| |
| USB 0 sleep circuit reset |
| PSU_CRL_APB_RST_LPD_TOP_USB0_HIBERRESET 0X1 |
| |
| USB 0 reset |
| PSU_CRL_APB_RST_LPD_TOP_USB0_CORERESET 0X1 |
| |
| Software control register for the LPD block. |
| (OFFSET, MASK, VALUE) (0XFF5E023C, 0x00000540U ,0x00000540U) |
| RegMask = (CRL_APB_RST_LPD_TOP_USB0_APB_RESET_MASK | CRL_APB_RST_LPD_TOP_USB0_HIBERRESET_MASK | CRL_APB_RST_LPD_TOP_USB0_CORERESET_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << CRL_APB_RST_LPD_TOP_USB0_APB_RESET_SHIFT |
| | 0x00000001U << CRL_APB_RST_LPD_TOP_USB0_HIBERRESET_SHIFT |
| | 0x00000001U << CRL_APB_RST_LPD_TOP_USB0_CORERESET_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (CRL_APB_RST_LPD_TOP_OFFSET ,0x00000540U ,0x00000540U); |
| /*############################################################################################################################ */ |
| |
| // : PUTTING GEM0 IN RESET |
| /*Register : RST_LPD_IOU0 @ 0XFF5E0230</p> |
| |
| GEM 3 reset |
| PSU_CRL_APB_RST_LPD_IOU0_GEM3_RESET 0X1 |
| |
| Software controlled reset for the GEMs |
| (OFFSET, MASK, VALUE) (0XFF5E0230, 0x00000008U ,0x00000008U) |
| RegMask = (CRL_APB_RST_LPD_IOU0_GEM3_RESET_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << CRL_APB_RST_LPD_IOU0_GEM3_RESET_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (CRL_APB_RST_LPD_IOU0_OFFSET ,0x00000008U ,0x00000008U); |
| /*############################################################################################################################ */ |
| |
| // : PUTTING SATA IN RESET |
| /*Register : RST_FPD_TOP @ 0XFD1A0100</p> |
| |
| Sata block level reset |
| PSU_CRF_APB_RST_FPD_TOP_SATA_RESET 0X1 |
| |
| FPD Block level software controlled reset |
| (OFFSET, MASK, VALUE) (0XFD1A0100, 0x00000002U ,0x00000002U) |
| RegMask = (CRF_APB_RST_FPD_TOP_SATA_RESET_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << CRF_APB_RST_FPD_TOP_SATA_RESET_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (CRF_APB_RST_FPD_TOP_OFFSET ,0x00000002U ,0x00000002U); |
| /*############################################################################################################################ */ |
| |
| // : PUTTING PCIE IN RESET |
| /*Register : RST_FPD_TOP @ 0XFD1A0100</p> |
| |
| PCIE config reset |
| PSU_CRF_APB_RST_FPD_TOP_PCIE_CFG_RESET 0X1 |
| |
| PCIE control block level reset |
| PSU_CRF_APB_RST_FPD_TOP_PCIE_CTRL_RESET 0X1 |
| |
| PCIE bridge block level reset (AXI interface) |
| PSU_CRF_APB_RST_FPD_TOP_PCIE_BRIDGE_RESET 0X1 |
| |
| FPD Block level software controlled reset |
| (OFFSET, MASK, VALUE) (0XFD1A0100, 0x000E0000U ,0x000E0000U) |
| RegMask = (CRF_APB_RST_FPD_TOP_PCIE_CFG_RESET_MASK | CRF_APB_RST_FPD_TOP_PCIE_CTRL_RESET_MASK | CRF_APB_RST_FPD_TOP_PCIE_BRIDGE_RESET_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << CRF_APB_RST_FPD_TOP_PCIE_CFG_RESET_SHIFT |
| | 0x00000001U << CRF_APB_RST_FPD_TOP_PCIE_CTRL_RESET_SHIFT |
| | 0x00000001U << CRF_APB_RST_FPD_TOP_PCIE_BRIDGE_RESET_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (CRF_APB_RST_FPD_TOP_OFFSET ,0x000E0000U ,0x000E0000U); |
| /*############################################################################################################################ */ |
| |
| // : PUTTING DP IN RESET |
| /*Register : DP_TX_PHY_POWER_DOWN @ 0XFD4A0238</p> |
| |
| 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 |
| PSU_DP_DP_TX_PHY_POWER_DOWN_POWER_DWN 0XA |
| |
| Control PHY Power down |
| (OFFSET, MASK, VALUE) (0XFD4A0238, 0x0000000FU ,0x0000000AU) |
| RegMask = (DP_DP_TX_PHY_POWER_DOWN_POWER_DWN_MASK | 0 ); |
| |
| RegVal = ((0x0000000AU << DP_DP_TX_PHY_POWER_DOWN_POWER_DWN_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DP_DP_TX_PHY_POWER_DOWN_OFFSET ,0x0000000FU ,0x0000000AU); |
| /*############################################################################################################################ */ |
| |
| /*Register : DP_PHY_RESET @ 0XFD4A0200</p> |
| |
| Set to '1' to hold the GT in reset. Clear to release. |
| PSU_DP_DP_PHY_RESET_GT_RESET 0X1 |
| |
| Reset the transmitter PHY. |
| (OFFSET, MASK, VALUE) (0XFD4A0200, 0x00000002U ,0x00000002U) |
| RegMask = (DP_DP_PHY_RESET_GT_RESET_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << DP_DP_PHY_RESET_GT_RESET_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (DP_DP_PHY_RESET_OFFSET ,0x00000002U ,0x00000002U); |
| /*############################################################################################################################ */ |
| |
| /*Register : RST_FPD_TOP @ 0XFD1A0100</p> |
| |
| Display Port block level reset (includes DPDMA) |
| PSU_CRF_APB_RST_FPD_TOP_DP_RESET 0X1 |
| |
| FPD Block level software controlled reset |
| (OFFSET, MASK, VALUE) (0XFD1A0100, 0x00010000U ,0x00010000U) |
| RegMask = (CRF_APB_RST_FPD_TOP_DP_RESET_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << CRF_APB_RST_FPD_TOP_DP_RESET_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (CRF_APB_RST_FPD_TOP_OFFSET ,0x00010000U ,0x00010000U); |
| /*############################################################################################################################ */ |
| |
| |
| return 1; |
| } |
| unsigned long psu_ps_pl_isolation_removal_data() { |
| // : PS-PL POWER UP REQUEST |
| /*Register : REQ_PWRUP_INT_EN @ 0XFFD80118</p> |
| |
| Power-up Request Interrupt Enable for PL |
| PSU_PMU_GLOBAL_REQ_PWRUP_INT_EN_PL 1 |
| |
| Power-up Request Interrupt Enable Register. Writing a 1 to this location will unmask the interrupt. |
| (OFFSET, MASK, VALUE) (0XFFD80118, 0x00800000U ,0x00800000U) |
| RegMask = (PMU_GLOBAL_REQ_PWRUP_INT_EN_PL_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << PMU_GLOBAL_REQ_PWRUP_INT_EN_PL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (PMU_GLOBAL_REQ_PWRUP_INT_EN_OFFSET ,0x00800000U ,0x00800000U); |
| /*############################################################################################################################ */ |
| |
| /*Register : REQ_PWRUP_TRIG @ 0XFFD80120</p> |
| |
| Power-up Request Trigger for PL |
| PSU_PMU_GLOBAL_REQ_PWRUP_TRIG_PL 1 |
| |
| Power-up Request Trigger Register. A write of one to this location will generate a power-up request to the PMU. |
| (OFFSET, MASK, VALUE) (0XFFD80120, 0x00800000U ,0x00800000U) |
| RegMask = (PMU_GLOBAL_REQ_PWRUP_TRIG_PL_MASK | 0 ); |
| |
| RegVal = ((0x00000001U << PMU_GLOBAL_REQ_PWRUP_TRIG_PL_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (PMU_GLOBAL_REQ_PWRUP_TRIG_OFFSET ,0x00800000U ,0x00800000U); |
| /*############################################################################################################################ */ |
| |
| // : POLL ON PL POWER STATUS |
| /*Register : REQ_PWRUP_STATUS @ 0XFFD80110</p> |
| |
| Power-up Request Status for PL |
| PSU_PMU_GLOBAL_REQ_PWRUP_STATUS_PL 1 |
| (OFFSET, MASK, VALUE) (0XFFD80110, 0x00800000U ,0x00000000U) */ |
| mask_pollOnValue(PMU_GLOBAL_REQ_PWRUP_STATUS_OFFSET,0x00800000U,0x00000000U); |
| |
| /*############################################################################################################################ */ |
| |
| |
| return 1; |
| } |
| unsigned long psu_ps_pl_reset_config_data() { |
| // : PS PL RESET SEQUENCE |
| // : FABRIC RESET USING EMIO |
| /*Register : MASK_DATA_5_MSW @ 0XFF0A002C</p> |
| |
| Operation is the same as MASK_DATA_0_LSW[MASK_0_LSW] |
| PSU_GPIO_MASK_DATA_5_MSW_MASK_5_MSW 0x8000 |
| |
| Maskable Output Data (GPIO Bank5, EMIO, Upper 16bits) |
| (OFFSET, MASK, VALUE) (0XFF0A002C, 0xFFFF0000U ,0x80000000U) |
| RegMask = (GPIO_MASK_DATA_5_MSW_MASK_5_MSW_MASK | 0 ); |
| |
| RegVal = ((0x00008000U << GPIO_MASK_DATA_5_MSW_MASK_5_MSW_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (GPIO_MASK_DATA_5_MSW_OFFSET ,0xFFFF0000U ,0x80000000U); |
| /*############################################################################################################################ */ |
| |
| /*Register : DIRM_5 @ 0XFF0A0344</p> |
| |
| Operation is the same as DIRM_0[DIRECTION_0] |
| PSU_GPIO_DIRM_5_DIRECTION_5 0x80000000 |
| |
| Direction mode (GPIO Bank5, EMIO) |
| (OFFSET, MASK, VALUE) (0XFF0A0344, 0xFFFFFFFFU ,0x80000000U) |
| RegMask = (GPIO_DIRM_5_DIRECTION_5_MASK | 0 ); |
| |
| RegVal = ((0x80000000U << GPIO_DIRM_5_DIRECTION_5_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (GPIO_DIRM_5_OFFSET ,0xFFFFFFFFU ,0x80000000U); |
| /*############################################################################################################################ */ |
| |
| /*Register : OEN_5 @ 0XFF0A0348</p> |
| |
| Operation is the same as OEN_0[OP_ENABLE_0] |
| PSU_GPIO_OEN_5_OP_ENABLE_5 0x80000000 |
| |
| Output enable (GPIO Bank5, EMIO) |
| (OFFSET, MASK, VALUE) (0XFF0A0348, 0xFFFFFFFFU ,0x80000000U) |
| RegMask = (GPIO_OEN_5_OP_ENABLE_5_MASK | 0 ); |
| |
| RegVal = ((0x80000000U << GPIO_OEN_5_OP_ENABLE_5_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (GPIO_OEN_5_OFFSET ,0xFFFFFFFFU ,0x80000000U); |
| /*############################################################################################################################ */ |
| |
| /*Register : DATA_5 @ 0XFF0A0054</p> |
| |
| Output Data |
| PSU_GPIO_DATA_5_DATA_5 0x80000000 |
| |
| Output Data (GPIO Bank5, EMIO) |
| (OFFSET, MASK, VALUE) (0XFF0A0054, 0xFFFFFFFFU ,0x80000000U) |
| RegMask = (GPIO_DATA_5_DATA_5_MASK | 0 ); |
| |
| RegVal = ((0x80000000U << GPIO_DATA_5_DATA_5_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (GPIO_DATA_5_OFFSET ,0xFFFFFFFFU ,0x80000000U); |
| /*############################################################################################################################ */ |
| |
| mask_delay(1); |
| |
| /*############################################################################################################################ */ |
| |
| // : FABRIC RESET USING DATA_5 TOGGLE |
| /*Register : DATA_5 @ 0XFF0A0054</p> |
| |
| Output Data |
| PSU_GPIO_DATA_5_DATA_5 0X00000000 |
| |
| Output Data (GPIO Bank5, EMIO) |
| (OFFSET, MASK, VALUE) (0XFF0A0054, 0xFFFFFFFFU ,0x00000000U) |
| RegMask = (GPIO_DATA_5_DATA_5_MASK | 0 ); |
| |
| RegVal = ((0x00000000U << GPIO_DATA_5_DATA_5_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (GPIO_DATA_5_OFFSET ,0xFFFFFFFFU ,0x00000000U); |
| /*############################################################################################################################ */ |
| |
| mask_delay(1); |
| |
| /*############################################################################################################################ */ |
| |
| // : FABRIC RESET USING DATA_5 TOGGLE |
| /*Register : DATA_5 @ 0XFF0A0054</p> |
| |
| Output Data |
| PSU_GPIO_DATA_5_DATA_5 0x80000000 |
| |
| Output Data (GPIO Bank5, EMIO) |
| (OFFSET, MASK, VALUE) (0XFF0A0054, 0xFFFFFFFFU ,0x80000000U) |
| RegMask = (GPIO_DATA_5_DATA_5_MASK | 0 ); |
| |
| RegVal = ((0x80000000U << GPIO_DATA_5_DATA_5_SHIFT |
| | 0 ) & RegMask); */ |
| PSU_Mask_Write (GPIO_DATA_5_OFFSET ,0xFFFFFFFFU ,0x80000000U); |
| /*############################################################################################################################ */ |
| |
| |
| return 1; |
| } |
| |
| unsigned long psu_ddr_phybringup_data() { |
| |
| |
| unsigned int regval = 0; |
| Xil_Out32(0xFD090000U, 0x0000A845U); |
| Xil_Out32(0xFD090004U, 0x003FFFFFU); |
| Xil_Out32(0xFD09000CU, 0x00000010U); |
| Xil_Out32(0xFD090010U, 0x00000010U); |
| // PHY BRINGUP SEQ |
| while ((Xil_In32(0xFD080030U) & 0x000000FFU) != 0x0000000FU); |
| prog_reg (0xFD080004U, 0x00000001U, 0x00000000U, 0x00000001U); |
| //poll for PHY initialization to complete |
| while ((Xil_In32(0xFD080030U) & 0x000000FFU) != 0x0000001FU); |
| |
| Xil_Out32(0xFD0701B0U, 0x00000001U); |
| Xil_Out32(0xFD070320U, 0x00000001U); |
| while ((Xil_In32(0xFD070004U) & 0x0000000FU) != 0x00000001U); |
| prog_reg (0xFD080014U, 0x00000040U, 0x00000006U, 0x00000001U); |
| Xil_Out32(0xFD080004, 0x0004FE01); //PUB_PIR |
| regval = Xil_In32(0xFD080030); //PUB_PGSR0 |
| while(regval != 0x80000FFF){ |
| regval = Xil_In32(0xFD080030); //PUB_PGSR0 |
| } |
| |
| |
| // Run Vref training in static read mode |
| Xil_Out32(0xFD080200U, 0x110011C7U); |
| Xil_Out32(0xFD080018U, 0x00F01EF2U); |
| Xil_Out32(0xFD08001CU, 0x55AA0098U); |
| Xil_Out32(0xFD08142CU, 0x00001830U); |
| Xil_Out32(0xFD08146CU, 0x00001830U); |
| Xil_Out32(0xFD0814ACU, 0x00001830U); |
| Xil_Out32(0xFD0814ECU, 0x00001830U); |
| Xil_Out32(0xFD08152CU, 0x00001830U); |
| |
| |
| Xil_Out32(0xFD080004, 0x00060001); //PUB_PIR |
| regval = Xil_In32(0xFD080030); //PUB_PGSR0 |
| while((regval & 0x80004001) != 0x80004001){ |
| regval = Xil_In32(0xFD080030); //PUB_PGSR0 |
| } |
| |
| // Vref training is complete, disabling static read mode |
| Xil_Out32(0xFD080200U, 0x810011C7U); |
| Xil_Out32(0xFD080018U, 0x00F12302U); |
| Xil_Out32(0xFD08001CU, 0x55AA0080U); |
| Xil_Out32(0xFD08142CU, 0x00001800U); |
| Xil_Out32(0xFD08146CU, 0x00001800U); |
| Xil_Out32(0xFD0814ACU, 0x00001800U); |
| Xil_Out32(0xFD0814ECU, 0x00001800U); |
| Xil_Out32(0xFD08152CU, 0x00001800U); |
| Xil_Out32(0xFD070180U, 0x01000040U); |
| Xil_Out32(0xFD070060U, 0x00000000U); |
| prog_reg (0xFD080014U, 0x00000040U, 0x00000006U, 0x00000000U); |
| |
| return 1; |
| } |
| |
| /** |
| * CRL_APB Base Address |
| */ |
| #define CRL_APB_BASEADDR 0XFF5E0000U |
| #define CRL_APB_RST_LPD_IOU0 ( ( CRL_APB_BASEADDR ) + 0X00000230U ) |
| #define CRL_APB_RST_LPD_IOU1 ( ( CRL_APB_BASEADDR ) + 0X00000234U ) |
| #define CRL_APB_RST_LPD_IOU2 ( ( CRL_APB_BASEADDR ) + 0X00000238U ) |
| #define CRL_APB_RST_LPD_TOP ( ( CRL_APB_BASEADDR ) + 0X0000023CU ) |
| #define CRL_APB_IOU_SWITCH_CTRL ( ( CRL_APB_BASEADDR ) + 0X0000009CU ) |
| |
| /** |
| * CRF_APB Base Address |
| */ |
| #define CRF_APB_BASEADDR 0XFD1A0000U |
| |
| #define CRF_APB_RST_FPD_TOP ( ( CRF_APB_BASEADDR ) + 0X00000100U ) |
| #define CRF_APB_GPU_REF_CTRL ( ( CRF_APB_BASEADDR ) + 0X00000084U ) |
| #define CRF_APB_RST_DDR_SS ( ( CRF_APB_BASEADDR ) + 0X00000108U ) |
| #define PSU_MASK_POLL_TIME 1100000 |
| |
| |
| int mask_pollOnValue(u32 add , u32 mask, u32 value ) { |
| volatile u32 *addr = (volatile u32*) add; |
| int i = 0; |
| while ((*addr & mask)!= value) { |
| if (i == PSU_MASK_POLL_TIME) { |
| return 0; |
| } |
| i++; |
| } |
| return 1; |
| //xil_printf("MaskPoll : 0x%x --> 0x%x \n \r" , add, *addr); |
| } |
| |
| int mask_poll(u32 add , u32 mask) { |
| volatile u32 *addr = (volatile u32*) add; |
| int i = 0; |
| while (!(*addr & mask)) { |
| if (i == PSU_MASK_POLL_TIME) { |
| return 0; |
| } |
| i++; |
| } |
| return 1; |
| //xil_printf("MaskPoll : 0x%x --> 0x%x \n \r" , add, *addr); |
| } |
| |
| void mask_delay(u32 delay) { |
| usleep (delay); |
| } |
| |
| u32 mask_read(u32 add , u32 mask ) { |
| volatile u32 *addr = (volatile u32*) add; |
| u32 val = (*addr & mask); |
| //xil_printf("MaskRead : 0x%x --> 0x%x \n \r" , add, val); |
| return val; |
| } |
| |
| |
| //Following SERDES programming sequences that a user need to follow to work around the known limitation with SERDES. |
| //These sequences should done before STEP 1 and STEP 2 as described in previous section. These programming steps are |
| //required for current silicon version and are likely to undergo further changes with subsequent silicon versions. |
| |
| |
| |
| int serdes_fixcal_code() { |
| int MaskStatus = 1; |
| |
| // L3_TM_CALIB_DIG19 |
| Xil_Out32(0xFD40EC4C,0x00000020); |
| //ICM_CFG0 |
| Xil_Out32(0xFD410010,0x00000001); |
| |
| //is calibration done, polling on L3_CALIB_DONE_STATUS |
| MaskStatus = mask_poll(0xFD40EF14, 0x2); |
| |
| if (MaskStatus == 0) |
| { |
| xil_printf("SERDES initialization timed out\n\r"); |
| } |
| |
| unsigned int tmp_0_1; |
| tmp_0_1 = mask_read(0xFD400B0C, 0x3F); |
| |
| unsigned int tmp_0_2 = tmp_0_1 & (0x7); |
| unsigned int tmp_0_3 = tmp_0_1 & (0x38); |
| //Configure ICM for de-asserting CMN_Resetn |
| Xil_Out32(0xFD410010,0x00000000); |
| Xil_Out32(0xFD410014,0x00000000); |
| |
| unsigned int tmp_0_2_mod = (tmp_0_2 <<1) | (0x1); |
| tmp_0_2_mod = (tmp_0_2_mod <<4); |
| |
| tmp_0_3 = tmp_0_3 >>3; |
| Xil_Out32(0xFD40EC4C,tmp_0_3); |
| |
| //L3_TM_CALIB_DIG18 |
| Xil_Out32(0xFD40EC48,tmp_0_2_mod); |
| return MaskStatus; |
| |
| |
| } |
| |
| int serdes_enb_coarse_saturation() { |
| //Enable PLL Coarse Code saturation Logic |
| Xil_Out32(0xFD402094,0x00000010); |
| Xil_Out32(0xFD406094,0x00000010); |
| Xil_Out32(0xFD40A094,0x00000010); |
| Xil_Out32(0xFD40E094,0x00000010); |
| return 1; |
| } |
| |
| int init_serdes() { |
| int status = 1; |
| status &= psu_resetin_init_data(); |
| |
| status &= serdes_fixcal_code(); |
| status &= serdes_enb_coarse_saturation(); |
| |
| status &= psu_serdes_init_data(); |
| status &= psu_resetout_init_data(); |
| |
| return status; |
| } |
| |
| |
| |
| |
| |
| |
| void init_peripheral() |
| { |
| unsigned int RegValue; |
| |
| /* Turn on IOU Clock */ |
| //Xil_Out32( CRL_APB_IOU_SWITCH_CTRL, 0x01001500); |
| |
| /* Release all resets in the IOU */ |
| Xil_Out32( CRL_APB_RST_LPD_IOU0, 0x00000000); |
| Xil_Out32( CRL_APB_RST_LPD_IOU1, 0x00000000); |
| Xil_Out32( CRL_APB_RST_LPD_IOU2, 0x00000000); |
| |
| /* Activate GPU clocks */ |
| //Xil_Out32(CRF_APB_GPU_REF_CTRL, 0x07001500); |
| |
| /* Take LPD out of reset except R5 */ |
| RegValue = Xil_In32(CRL_APB_RST_LPD_TOP); |
| RegValue &= 0x7; |
| Xil_Out32( CRL_APB_RST_LPD_TOP, RegValue); |
| |
| /* Take most of FPD out of reset */ |
| Xil_Out32( CRF_APB_RST_FPD_TOP, 0x00000000); |
| |
| /* Making DPDMA as secure */ |
| unsigned int tmp_regval; |
| tmp_regval = Xil_In32(0xFD690040); |
| tmp_regval &= ~0x00000001; |
| Xil_Out32(0xFD690040, tmp_regval); |
| |
| /* Making PCIe as secure */ |
| tmp_regval = Xil_In32(0xFD690030); |
| tmp_regval &= ~0x00000001; |
| Xil_Out32(0xFD690030, tmp_regval); |
| } |
| int |
| psu_init() |
| { |
| int status = 1; |
| status &= psu_mio_init_data (); |
| status &= psu_pll_init_data (); |
| status &= psu_clock_init_data (); |
| |
| status &= psu_ddr_init_data (); |
| status &= psu_ddr_phybringup_data (); |
| status &= psu_peripherals_init_data (); |
| |
| status &= init_serdes(); |
| init_peripheral (); |
| |
| status &= psu_peripherals_powerdwn_data (); |
| |
| if (status == 0) { |
| return 1; |
| } |
| return 0; |
| } |