]> git.sur5r.net Git - freertos/blobdiff - FreeRTOS/Demo/CORTEX_A53_64-bit_UltraScale_MPSoC/ZynqMP_ZCU102_hw_platform/psu_init.tcl
Update Zynq MPSoC hardware definition and BSP files to be those shipped with the...
[freertos] / FreeRTOS / Demo / CORTEX_A53_64-bit_UltraScale_MPSoC / ZynqMP_ZCU102_hw_platform / psu_init.tcl
index ce5a46e853e5b5533a9a84ea4386d27eb5dab537..b6d9c04187aac9edadc70c3faec886e99e40fa83 100644 (file)
@@ -521,69 +521,6 @@ set psu_pll_init_data {
 
 set 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)  */
-    mask_write 0XFF5E0050 0x063F3F07 0x06010800
-               # 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)  */
-    mask_write 0XFF5E0054 0x063F3F07 0x06010800
-               # 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)  */
-    mask_write 0XFF5E0058 0x063F3F07 0x06010800
                # Register : GEM3_REF_CTRL @ 0XFF5E005C</p>
 
                # Clock active for the RX channel
@@ -605,24 +542,6 @@ set psu_clock_init_data {
                # This register controls this reference clock
                #(OFFSET, MASK, VALUE)      (0XFF5E005C, 0x063F3F07U ,0x06010C00U)  */
     mask_write 0XFF5E005C 0x063F3F07 0x06010C00
-               # 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)  */
-    mask_write 0XFF5E0100 0x013F3F07 0x01010602
                # Register : USB0_BUS_REF_CTRL @ 0XFF5E0060</p>
 
                # Clock active signal. Switch to 0 to disable the clock
@@ -641,24 +560,6 @@ set psu_clock_init_data {
                # This register controls this reference clock
                #(OFFSET, MASK, VALUE)      (0XFF5E0060, 0x023F3F07U ,0x02010600U)  */
     mask_write 0XFF5E0060 0x023F3F07 0x02010600
-               # 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)  */
-    mask_write 0XFF5E0064 0x023F3F07 0x02010400
                # Register : USB3_DUAL_REF_CTRL @ 0XFF5E004C</p>
 
                # Clock active signal. Switch to 0 to disable the clock
@@ -695,24 +596,6 @@ set psu_clock_init_data {
                # This register controls this reference clock
                #(OFFSET, MASK, VALUE)      (0XFF5E0068, 0x013F3F07U ,0x01010C00U)  */
     mask_write 0XFF5E0068 0x013F3F07 0x01010C00
-               # 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)  */
-    mask_write 0XFF5E006C 0x013F3F07 0x01010702
                # Register : SDIO1_REF_CTRL @ 0XFF5E0070</p>
 
                # Clock active signal. Switch to 0 to disable the clock
@@ -811,60 +694,6 @@ set psu_clock_init_data {
                # This register controls this reference clock
                #(OFFSET, MASK, VALUE)      (0XFF5E0124, 0x013F3F07U ,0x01010F00U)  */
     mask_write 0XFF5E0124 0x013F3F07 0x01010F00
-               # 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)  */
-    mask_write 0XFF5E007C 0x013F3F07 0x01010702
-               # 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)  */
-    mask_write 0XFF5E0080 0x013F3F07 0x01010702
-               # 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)  */
-    mask_write 0XFF5E0084 0x013F3F07 0x01010A00
                # Register : CAN1_REF_CTRL @ 0XFF5E0088</p>
 
                # Clock active signal. Switch to 0 to disable the clock
@@ -914,21 +743,6 @@ set psu_clock_init_data {
                # This register controls this reference clock
                #(OFFSET, MASK, VALUE)      (0XFF5E009C, 0x01003F07U ,0x01000602U)  */
     mask_write 0XFF5E009C 0x01003F07 0x01000602
-               # 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)  */
-    mask_write 0XFF5E00A0 0x01003F07 0x01000302
                # Register : PCAP_CTRL @ 0XFF5E00A4</p>
 
                # Clock active signal. Switch to 0 to disable the clock
@@ -989,24 +803,6 @@ set psu_clock_init_data {
                # This register controls this reference clock
                #(OFFSET, MASK, VALUE)      (0XFF5E00B0, 0x01003F07U ,0x01000602U)  */
     mask_write 0XFF5E00B0 0x01003F07 0x01000602
-               # 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)  */
-    mask_write 0XFF5E00B4 0x013F3F07 0x01010A00
                # Register : ADMA_REF_CTRL @ 0XFF5E00B8</p>
 
                # Clock active signal. Switch to 0 to disable the clock
@@ -1362,21 +1158,6 @@ set psu_clock_init_data {
                # This register controls this reference clock
                #(OFFSET, MASK, VALUE)      (0XFD1A00C4, 0x01003F07U ,0x01000502U)  */
     mask_write 0XFD1A00C4 0x01003F07 0x01000502
-               # 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)  */
-    mask_write 0XFD1A00C8 0x01003F07 0x01000400
                # Register : DBG_TSTMP_CTRL @ 0XFD1A00F8</p>
 
                # 6 bit divider
@@ -2246,17 +2027,17 @@ set psu_ddr_init_data {
                # 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
+               # PSU_DDRC_DRAMTMG7_T_CKPDE                                                       0x6
 
                # 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
+               # PSU_DDRC_DRAMTMG7_T_CKPDX                                                       0x6
 
                # SDRAM Timing Register 7
-               #(OFFSET, MASK, VALUE)      (0XFD07011C, 0x00000F0FU ,0x00000101U)  */
-    mask_write 0XFD07011C 0x00000F0F 0x00000101
+               #(OFFSET, MASK, VALUE)      (0XFD07011C, 0x00000F0FU ,0x00000606U)  */
+    mask_write 0XFD07011C 0x00000F0F 0x00000606
                # 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
@@ -2503,14 +2284,14 @@ set psu_ddr_init_data {
                # 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
+               # PSU_DDRC_DFILPCFG0_DFI_LP_WAKEUP_PD                                             0x0
 
                # 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)  */
-    mask_write 0XFD070198 0x0FF1F1F1 0x07000141
+               #(OFFSET, MASK, VALUE)      (0XFD070198, 0x0FF1F1F1U ,0x07000101U)  */
+    mask_write 0XFD070198 0x0FF1F1F1 0x07000101
                # 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
@@ -3906,11 +3687,52 @@ set psu_ddr_init_data {
                # PSU_DDR_PHY_PGCR2_PLLFSMBYP                                                     0x0
 
                # Refresh Period
-               # PSU_DDR_PHY_PGCR2_TREFPRD                                                       0x12302
+               # PSU_DDR_PHY_PGCR2_TREFPRD                                                       0x10028
 
                # PHY General Configuration Register 2
-               #(OFFSET, MASK, VALUE)      (0XFD080018, 0xFFFFFFFFU ,0x00F12302U)  */
-    mask_write 0XFD080018 0xFFFFFFFF 0x00F12302
+               #(OFFSET, MASK, VALUE)      (0XFD080018, 0xFFFFFFFFU ,0x00F10028U)  */
+    mask_write 0XFD080018 0xFFFFFFFF 0x00F10028
+               # Register : PGCR3 @ 0XFD08001C</p>
+
+               # CKN Enable
+               # PSU_DDR_PHY_PGCR3_CKNEN                                                         0x55
+
+               # CK Enable
+               # PSU_DDR_PHY_PGCR3_CKEN                                                          0xaa
+
+               # Reserved. Return zeroes on reads.
+               # PSU_DDR_PHY_PGCR3_RESERVED_15                                                   0x0
+
+               # Enable Clock Gating for AC [0] ctl_rd_clk
+               # PSU_DDR_PHY_PGCR3_GATEACRDCLK                                                   0x2
+
+               # Enable Clock Gating for AC [0] ddr_clk
+               # PSU_DDR_PHY_PGCR3_GATEACDDRCLK                                                  0x2
+
+               # Enable Clock Gating for AC [0] ctl_clk
+               # PSU_DDR_PHY_PGCR3_GATEACCTLCLK                                                  0x2
+
+               # Reserved. Return zeroes on reads.
+               # PSU_DDR_PHY_PGCR3_RESERVED_8                                                    0x0
+
+               # Controls DDL Bypass Modes
+               # PSU_DDR_PHY_PGCR3_DDLBYPMODE                                                    0x2
+
+               # IO Loop-Back Select
+               # PSU_DDR_PHY_PGCR3_IOLB                                                          0x0
+
+               # AC Receive FIFO Read Mode
+               # PSU_DDR_PHY_PGCR3_RDMODE                                                        0x0
+
+               # Read FIFO Reset Disable
+               # PSU_DDR_PHY_PGCR3_DISRST                                                        0x0
+
+               # Clock Level when Clock Gating
+               # PSU_DDR_PHY_PGCR3_CLKLEVEL                                                      0x0
+
+               # PHY General Configuration Register 3
+               #(OFFSET, MASK, VALUE)      (0XFD08001C, 0xFFFFFFFFU ,0x55AA5480U)  */
+    mask_write 0XFD08001C 0xFFFFFFFF 0x55AA5480
                # Register : PGCR5 @ 0XFD080024</p>
 
                # Frequency B Ratio Term
@@ -4093,17 +3915,17 @@ set psu_ddr_init_data {
                # PSU_DDR_PHY_DTPR0_RESERVED_15                                                   0x0
 
                # Precharge command period
-               # PSU_DDR_PHY_DTPR0_TRP                                                           0x12
+               # PSU_DDR_PHY_DTPR0_TRP                                                           0xf
 
                # 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
+               # PSU_DDR_PHY_DTPR0_TRTP                                                          0x9
 
                # DRAM Timing Parameters Register 0
-               #(OFFSET, MASK, VALUE)      (0XFD080110, 0xFFFFFFFFU ,0x06241208U)  */
-    mask_write 0XFD080110 0xFFFFFFFF 0x06241208
+               #(OFFSET, MASK, VALUE)      (0XFD080110, 0xFFFFFFFFU ,0x06240F09U)  */
+    mask_write 0XFD080110 0xFFFFFFFF 0x06240F09
                # Register : DTPR1 @ 0XFD080114</p>
 
                # Reserved. Return zeroes on reads.
@@ -4183,11 +4005,11 @@ set psu_ddr_init_data {
                # PSU_DDR_PHY_DTPR3_RESERVED_7_3                                                  0x0
 
                # DQS output access time from CK/CK# (LPDDR2/3 only)
-               # PSU_DDR_PHY_DTPR3_TDQSCK                                                        0x4
+               # PSU_DDR_PHY_DTPR3_TDQSCK                                                        0x0
 
                # DRAM Timing Parameters Register 3
-               #(OFFSET, MASK, VALUE)      (0XFD08011C, 0xFFFFFFFFU ,0x83000804U)  */
-    mask_write 0XFD08011C 0xFFFFFFFF 0x83000804
+               #(OFFSET, MASK, VALUE)      (0XFD08011C, 0xFFFFFFFFU ,0x83000800U)  */
+    mask_write 0XFD08011C 0xFFFFFFFF 0x83000800
                # Register : DTPR4 @ 0XFD080120</p>
 
                # Reserved. Return zeroes on reads.
@@ -4360,6 +4182,37 @@ set psu_ddr_init_data {
                # RDIMM General Configuration Register 1
                #(OFFSET, MASK, VALUE)      (0XFD080144, 0xFFFFFFFFU ,0x00000C80U)  */
     mask_write 0XFD080144 0xFFFFFFFF 0x00000C80
+               # Register : RDIMMCR0 @ 0XFD080150</p>
+
+               # DDR4/DDR3 Control Word 7
+               # PSU_DDR_PHY_RDIMMCR0_RC7                                                        0x0
+
+               # DDR4 Control Word 6 (Comman space Control Word) / DDR3 Reserved
+               # PSU_DDR_PHY_RDIMMCR0_RC6                                                        0x0
+
+               # DDR4/DDR3 Control Word 5 (CK Driver Characteristics Control Word)
+               # PSU_DDR_PHY_RDIMMCR0_RC5                                                        0x0
+
+               # DDR4 Control Word 4 (ODT and CKE Signals Driver Characteristics Control Word) / DDR3 Control Word 4 (Control Signals Driver C
+               # aracteristics Control Word)
+               # PSU_DDR_PHY_RDIMMCR0_RC4                                                        0x0
+
+               # DDR4 Control Word 3 (CA and CS Signals Driver Characteristics Control Word) / DDR3 Control Word 3 (Command/Address Signals Dr
+               # ver Characteristrics Control Word)
+               # PSU_DDR_PHY_RDIMMCR0_RC3                                                        0x0
+
+               # DDR4 Control Word 2 (Timing and IBT Control Word) / DDR3 Control Word 2 (Timing Control Word)
+               # PSU_DDR_PHY_RDIMMCR0_RC2                                                        0x0
+
+               # DDR4/DDR3 Control Word 1 (Clock Driver Enable Control Word)
+               # PSU_DDR_PHY_RDIMMCR0_RC1                                                        0x0
+
+               # DDR4/DDR3 Control Word 0 (Global Features Control Word)
+               # PSU_DDR_PHY_RDIMMCR0_RC0                                                        0x0
+
+               # RDIMM Control Register 0
+               #(OFFSET, MASK, VALUE)      (0XFD080150, 0xFFFFFFFFU ,0x00000000U)  */
+    mask_write 0XFD080150 0xFFFFFFFF 0x00000000
                # Register : RDIMMCR1 @ 0XFD080154</p>
 
                # Control Word 15
@@ -4703,7 +4556,7 @@ set psu_ddr_init_data {
                # PSU_DDR_PHY_DTCR0_RESERVED_27_26                                                0x0
 
                # Data Training Debug Rank Select
-               # PSU_DDR_PHY_DTCR0_DTDRS                                                         0x1
+               # PSU_DDR_PHY_DTCR0_DTDRS                                                         0x0
 
                # Data Training with Early/Extended Gate
                # PSU_DDR_PHY_DTCR0_DTEXG                                                         0x0
@@ -4721,7 +4574,7 @@ set psu_ddr_init_data {
                # PSU_DDR_PHY_DTCR0_DTDBS                                                         0x0
 
                # Data Training read DBI deskewing configuration
-               # PSU_DDR_PHY_DTCR0_DTRDBITR                                                      0x0
+               # PSU_DDR_PHY_DTCR0_DTRDBITR                                                      0x2
 
                # Reserved. Return zeroes on reads.
                # PSU_DDR_PHY_DTCR0_RESERVED_13                                                   0x0
@@ -4745,8 +4598,8 @@ set psu_ddr_init_data {
                # PSU_DDR_PHY_DTCR0_DTRPTN                                                        0x7
 
                # Data Training Configuration Register 0
-               #(OFFSET, MASK, VALUE)      (0XFD080200, 0xFFFFFFFFU ,0x810011C7U)  */
-    mask_write 0XFD080200 0xFFFFFFFF 0x810011C7
+               #(OFFSET, MASK, VALUE)      (0XFD080200, 0xFFFFFFFFU ,0x800091C7U)  */
+    mask_write 0XFD080200 0xFFFFFFFF 0x800091C7
                # Register : DTCR1 @ 0XFD080204</p>
 
                # Rank Enable.
@@ -4812,6 +4665,14 @@ set psu_ddr_init_data {
                # CA Training Register 0
                #(OFFSET, MASK, VALUE)      (0XFD080240, 0xFFFFFFFFU ,0x00141054U)  */
     mask_write 0XFD080240 0xFFFFFFFF 0x00141054
+               # Register : BISTLSR @ 0XFD080414</p>
+
+               # LFSR seed for pseudo-random BIST patterns
+               # PSU_DDR_PHY_BISTLSR_SEED                                                        0x12341000
+
+               # BIST LFSR Seed Register
+               #(OFFSET, MASK, VALUE)      (0XFD080414, 0xFFFFFFFFU ,0x12341000U)  */
+    mask_write 0XFD080414 0xFFFFFFFF 0x12341000
                # Register : RIOCR5 @ 0XFD0804F4</p>
 
                # Reserved. Return zeroes on reads.
@@ -5045,13 +4906,13 @@ set psu_ddr_init_data {
                # 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
+               # PSU_DDR_PHY_VTCR1_TVREFIO                                                       0x7
 
                # Eye LCDL Offset value for VREF training
-               # PSU_DDR_PHY_VTCR1_EOFF                                                          0x1
+               # PSU_DDR_PHY_VTCR1_EOFF                                                          0x0
 
                # Number of LCDL Eye points for which VREF training is repeated
-               # PSU_DDR_PHY_VTCR1_ENUM                                                          0x1
+               # PSU_DDR_PHY_VTCR1_ENUM                                                          0x0
 
                # HOST (IO) internal VREF training Enable
                # PSU_DDR_PHY_VTCR1_HVEN                                                          0x1
@@ -5060,8 +4921,66 @@ set psu_ddr_init_data {
                # PSU_DDR_PHY_VTCR1_HVIO                                                          0x1
 
                # VREF Training Control Register 1
-               #(OFFSET, MASK, VALUE)      (0XFD08052C, 0xFFFFFFFFU ,0x07F0018FU)  */
-    mask_write 0XFD08052C 0xFFFFFFFF 0x07F0018F
+               #(OFFSET, MASK, VALUE)      (0XFD08052C, 0xFFFFFFFFU ,0x07F001E3U)  */
+    mask_write 0XFD08052C 0xFFFFFFFF 0x07F001E3
+               # Register : ACBDLR1 @ 0XFD080544</p>
+
+               # Reserved. Return zeroes on reads.
+               # PSU_DDR_PHY_ACBDLR1_RESERVED_31_30                                              0x0
+
+               # Delay select for the BDL on Parity.
+               # PSU_DDR_PHY_ACBDLR1_PARBD                                                       0x0
+
+               # Reserved. Return zeroes on reads.
+               # PSU_DDR_PHY_ACBDLR1_RESERVED_23_22                                              0x0
+
+               # Delay select for the BDL on Address A[16]. In DDR3 mode this pin is connected to WE.
+               # PSU_DDR_PHY_ACBDLR1_A16BD                                                       0x0
+
+               # Reserved. Return zeroes on reads.
+               # PSU_DDR_PHY_ACBDLR1_RESERVED_15_14                                              0x0
+
+               # Delay select for the BDL on Address A[17]. When not in DDR4 modemode this pin is connected to CAS.
+               # PSU_DDR_PHY_ACBDLR1_A17BD                                                       0x0
+
+               # Reserved. Return zeroes on reads.
+               # PSU_DDR_PHY_ACBDLR1_RESERVED_7_6                                                0x0
+
+               # Delay select for the BDL on ACTN.
+               # PSU_DDR_PHY_ACBDLR1_ACTBD                                                       0x0
+
+               # AC Bit Delay Line Register 1
+               #(OFFSET, MASK, VALUE)      (0XFD080544, 0xFFFFFFFFU ,0x00000000U)  */
+    mask_write 0XFD080544 0xFFFFFFFF 0x00000000
+               # Register : ACBDLR2 @ 0XFD080548</p>
+
+               # Reserved. Return zeroes on reads.
+               # PSU_DDR_PHY_ACBDLR2_RESERVED_31_30                                              0x0
+
+               # Delay select for the BDL on BG[1].
+               # PSU_DDR_PHY_ACBDLR2_BG1BD                                                       0x0
+
+               # Reserved. Return zeroes on reads.
+               # PSU_DDR_PHY_ACBDLR2_RESERVED_23_22                                              0x0
+
+               # Delay select for the BDL on BG[0].
+               # PSU_DDR_PHY_ACBDLR2_BG0BD                                                       0x0
+
+               # Reser.ved Return zeroes on reads.
+               # PSU_DDR_PHY_ACBDLR2_RESERVED_15_14                                              0x0
+
+               # Delay select for the BDL on BA[1].
+               # PSU_DDR_PHY_ACBDLR2_BA1BD                                                       0x0
+
+               # Reserved. Return zeroes on reads.
+               # PSU_DDR_PHY_ACBDLR2_RESERVED_7_6                                                0x0
+
+               # Delay select for the BDL on BA[0].
+               # PSU_DDR_PHY_ACBDLR2_BA0BD                                                       0x0
+
+               # AC Bit Delay Line Register 2
+               #(OFFSET, MASK, VALUE)      (0XFD080548, 0xFFFFFFFFU ,0x00000000U)  */
+    mask_write 0XFD080548 0xFFFFFFFF 0x00000000
                # Register : ACBDLR6 @ 0XFD080558</p>
 
                # Reserved. Return zeroes on reads.
@@ -5149,6 +5068,35 @@ set psu_ddr_init_data {
                # AC Bit Delay Line Register 8
                #(OFFSET, MASK, VALUE)      (0XFD080560, 0xFFFFFFFFU ,0x00000000U)  */
     mask_write 0XFD080560 0xFFFFFFFF 0x00000000
+               # Register : ACBDLR9 @ 0XFD080564</p>
+
+               # Reserved. Return zeroes on reads.
+               # PSU_DDR_PHY_ACBDLR9_RESERVED_31_30                                              0x0
+
+               # Delay select for the BDL on Address A[15].
+               # PSU_DDR_PHY_ACBDLR9_A15BD                                                       0x0
+
+               # Reserved. Return zeroes on reads.
+               # PSU_DDR_PHY_ACBDLR9_RESERVED_23_22                                              0x0
+
+               # Delay select for the BDL on Address A[14].
+               # PSU_DDR_PHY_ACBDLR9_A14BD                                                       0x0
+
+               # Reserved. Return zeroes on reads.
+               # PSU_DDR_PHY_ACBDLR9_RESERVED_15_14                                              0x0
+
+               # Delay select for the BDL on Address A[13].
+               # PSU_DDR_PHY_ACBDLR9_A13BD                                                       0x0
+
+               # Reserved. Return zeroes on reads.
+               # PSU_DDR_PHY_ACBDLR9_RESERVED_7_6                                                0x0
+
+               # Delay select for the BDL on Address A[12].
+               # PSU_DDR_PHY_ACBDLR9_A12BD                                                       0x0
+
+               # AC Bit Delay Line Register 9
+               #(OFFSET, MASK, VALUE)      (0XFD080564, 0xFFFFFFFFU ,0x00000000U)  */
+    mask_write 0XFD080564 0xFFFFFFFF 0x00000000
                # Register : ZQCR @ 0XFD080680</p>
 
                # Reserved. Return zeroes on reads.
@@ -5430,17 +5378,17 @@ set psu_ddr_init_data {
                # PSU_DDR_PHY_DX0GCR5_RESERVED_15                                                 0x0
 
                # Byte Lane internal VREF Select for Rank 1
-               # PSU_DDR_PHY_DX0GCR5_DXREFISELR1                                                 0x55
+               # PSU_DDR_PHY_DX0GCR5_DXREFISELR1                                                 0x4f
 
                # 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
+               # PSU_DDR_PHY_DX0GCR5_DXREFISELR0                                                 0x4f
 
                # DATX8 n General Configuration Register 5
-               #(OFFSET, MASK, VALUE)      (0XFD080714, 0xFFFFFFFFU ,0x09095555U)  */
-    mask_write 0XFD080714 0xFFFFFFFF 0x09095555
+               #(OFFSET, MASK, VALUE)      (0XFD080714, 0xFFFFFFFFU ,0x09094F4FU)  */
+    mask_write 0XFD080714 0xFFFFFFFF 0x09094F4F
                # Register : DX0GCR6 @ 0XFD080718</p>
 
                # Reserved. Returns zeros on reads.
@@ -5631,17 +5579,17 @@ set psu_ddr_init_data {
                # PSU_DDR_PHY_DX1GCR5_RESERVED_15                                                 0x0
 
                # Byte Lane internal VREF Select for Rank 1
-               # PSU_DDR_PHY_DX1GCR5_DXREFISELR1                                                 0x55
+               # PSU_DDR_PHY_DX1GCR5_DXREFISELR1                                                 0x4f
 
                # 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
+               # PSU_DDR_PHY_DX1GCR5_DXREFISELR0                                                 0x4f
 
                # DATX8 n General Configuration Register 5
-               #(OFFSET, MASK, VALUE)      (0XFD080814, 0xFFFFFFFFU ,0x09095555U)  */
-    mask_write 0XFD080814 0xFFFFFFFF 0x09095555
+               #(OFFSET, MASK, VALUE)      (0XFD080814, 0xFFFFFFFFU ,0x09094F4FU)  */
+    mask_write 0XFD080814 0xFFFFFFFF 0x09094F4F
                # Register : DX1GCR6 @ 0XFD080818</p>
 
                # Reserved. Returns zeros on reads.
@@ -5867,17 +5815,17 @@ set psu_ddr_init_data {
                # PSU_DDR_PHY_DX2GCR5_RESERVED_15                                                 0x0
 
                # Byte Lane internal VREF Select for Rank 1
-               # PSU_DDR_PHY_DX2GCR5_DXREFISELR1                                                 0x55
+               # PSU_DDR_PHY_DX2GCR5_DXREFISELR1                                                 0x4f
 
                # 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
+               # PSU_DDR_PHY_DX2GCR5_DXREFISELR0                                                 0x4f
 
                # DATX8 n General Configuration Register 5
-               #(OFFSET, MASK, VALUE)      (0XFD080914, 0xFFFFFFFFU ,0x09095555U)  */
-    mask_write 0XFD080914 0xFFFFFFFF 0x09095555
+               #(OFFSET, MASK, VALUE)      (0XFD080914, 0xFFFFFFFFU ,0x09094F4FU)  */
+    mask_write 0XFD080914 0xFFFFFFFF 0x09094F4F
                # Register : DX2GCR6 @ 0XFD080918</p>
 
                # Reserved. Returns zeros on reads.
@@ -6103,17 +6051,17 @@ set psu_ddr_init_data {
                # PSU_DDR_PHY_DX3GCR5_RESERVED_15                                                 0x0
 
                # Byte Lane internal VREF Select for Rank 1
-               # PSU_DDR_PHY_DX3GCR5_DXREFISELR1                                                 0x55
+               # PSU_DDR_PHY_DX3GCR5_DXREFISELR1                                                 0x4f
 
                # 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
+               # PSU_DDR_PHY_DX3GCR5_DXREFISELR0                                                 0x4f
 
                # DATX8 n General Configuration Register 5
-               #(OFFSET, MASK, VALUE)      (0XFD080A14, 0xFFFFFFFFU ,0x09095555U)  */
-    mask_write 0XFD080A14 0xFFFFFFFF 0x09095555
+               #(OFFSET, MASK, VALUE)      (0XFD080A14, 0xFFFFFFFFU ,0x09094F4FU)  */
+    mask_write 0XFD080A14 0xFFFFFFFF 0x09094F4F
                # Register : DX3GCR6 @ 0XFD080A18</p>
 
                # Reserved. Returns zeros on reads.
@@ -6339,17 +6287,17 @@ set psu_ddr_init_data {
                # PSU_DDR_PHY_DX4GCR5_RESERVED_15                                                 0x0
 
                # Byte Lane internal VREF Select for Rank 1
-               # PSU_DDR_PHY_DX4GCR5_DXREFISELR1                                                 0x55
+               # PSU_DDR_PHY_DX4GCR5_DXREFISELR1                                                 0x4f
 
                # 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
+               # PSU_DDR_PHY_DX4GCR5_DXREFISELR0                                                 0x4f
 
                # DATX8 n General Configuration Register 5
-               #(OFFSET, MASK, VALUE)      (0XFD080B14, 0xFFFFFFFFU ,0x09095555U)  */
-    mask_write 0XFD080B14 0xFFFFFFFF 0x09095555
+               #(OFFSET, MASK, VALUE)      (0XFD080B14, 0xFFFFFFFFU ,0x09094F4FU)  */
+    mask_write 0XFD080B14 0xFFFFFFFF 0x09094F4F
                # Register : DX4GCR6 @ 0XFD080B18</p>
 
                # Reserved. Returns zeros on reads.
@@ -6575,17 +6523,17 @@ set psu_ddr_init_data {
                # PSU_DDR_PHY_DX5GCR5_RESERVED_15                                                 0x0
 
                # Byte Lane internal VREF Select for Rank 1
-               # PSU_DDR_PHY_DX5GCR5_DXREFISELR1                                                 0x55
+               # PSU_DDR_PHY_DX5GCR5_DXREFISELR1                                                 0x4f
 
                # 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
+               # PSU_DDR_PHY_DX5GCR5_DXREFISELR0                                                 0x4f
 
                # DATX8 n General Configuration Register 5
-               #(OFFSET, MASK, VALUE)      (0XFD080C14, 0xFFFFFFFFU ,0x09095555U)  */
-    mask_write 0XFD080C14 0xFFFFFFFF 0x09095555
+               #(OFFSET, MASK, VALUE)      (0XFD080C14, 0xFFFFFFFFU ,0x09094F4FU)  */
+    mask_write 0XFD080C14 0xFFFFFFFF 0x09094F4F
                # Register : DX5GCR6 @ 0XFD080C18</p>
 
                # Reserved. Returns zeros on reads.
@@ -6811,17 +6759,17 @@ set psu_ddr_init_data {
                # PSU_DDR_PHY_DX6GCR5_RESERVED_15                                                 0x0
 
                # Byte Lane internal VREF Select for Rank 1
-               # PSU_DDR_PHY_DX6GCR5_DXREFISELR1                                                 0x55
+               # PSU_DDR_PHY_DX6GCR5_DXREFISELR1                                                 0x4f
 
                # 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
+               # PSU_DDR_PHY_DX6GCR5_DXREFISELR0                                                 0x4f
 
                # DATX8 n General Configuration Register 5
-               #(OFFSET, MASK, VALUE)      (0XFD080D14, 0xFFFFFFFFU ,0x09095555U)  */
-    mask_write 0XFD080D14 0xFFFFFFFF 0x09095555
+               #(OFFSET, MASK, VALUE)      (0XFD080D14, 0xFFFFFFFFU ,0x09094F4FU)  */
+    mask_write 0XFD080D14 0xFFFFFFFF 0x09094F4F
                # Register : DX6GCR6 @ 0XFD080D18</p>
 
                # Reserved. Returns zeros on reads.
@@ -7047,17 +6995,17 @@ set psu_ddr_init_data {
                # PSU_DDR_PHY_DX7GCR5_RESERVED_15                                                 0x0
 
                # Byte Lane internal VREF Select for Rank 1
-               # PSU_DDR_PHY_DX7GCR5_DXREFISELR1                                                 0x55
+               # PSU_DDR_PHY_DX7GCR5_DXREFISELR1                                                 0x4f
 
                # 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
+               # PSU_DDR_PHY_DX7GCR5_DXREFISELR0                                                 0x4f
 
                # DATX8 n General Configuration Register 5
-               #(OFFSET, MASK, VALUE)      (0XFD080E14, 0xFFFFFFFFU ,0x09095555U)  */
-    mask_write 0XFD080E14 0xFFFFFFFF 0x09095555
+               #(OFFSET, MASK, VALUE)      (0XFD080E14, 0xFFFFFFFFU ,0x09094F4FU)  */
+    mask_write 0XFD080E14 0xFFFFFFFF 0x09094F4F
                # Register : DX7GCR6 @ 0XFD080E18</p>
 
                # Reserved. Returns zeros on reads.
@@ -7283,17 +7231,17 @@ set psu_ddr_init_data {
                # PSU_DDR_PHY_DX8GCR5_RESERVED_15                                                 0x0
 
                # Byte Lane internal VREF Select for Rank 1
-               # PSU_DDR_PHY_DX8GCR5_DXREFISELR1                                                 0x55
+               # PSU_DDR_PHY_DX8GCR5_DXREFISELR1                                                 0x4f
 
                # 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
+               # PSU_DDR_PHY_DX8GCR5_DXREFISELR0                                                 0x4f
 
                # DATX8 n General Configuration Register 5
-               #(OFFSET, MASK, VALUE)      (0XFD080F14, 0xFFFFFFFFU ,0x09095555U)  */
-    mask_write 0XFD080F14 0xFFFFFFFF 0x09095555
+               #(OFFSET, MASK, VALUE)      (0XFD080F14, 0xFFFFFFFFU ,0x09094F4FU)  */
+    mask_write 0XFD080F14 0xFFFFFFFF 0x09094F4F
                # Register : DX8GCR6 @ 0XFD080F18</p>
 
                # Reserved. Returns zeros on reads.
@@ -7369,6 +7317,68 @@ set psu_ddr_init_data {
                # DATX8 n General Timing Register 0
                #(OFFSET, MASK, VALUE)      (0XFD080FC0, 0xFFFFFFFFU ,0x00020000U)  */
     mask_write 0XFD080FC0 0xFFFFFFFF 0x00020000
+               # Register : DX8SL0OSC @ 0XFD081400</p>
+
+               # Reserved. Return zeroes on reads.
+               # PSU_DDR_PHY_DX8SL0OSC_RESERVED_31_30                                            0x0
+
+               # Enable Clock Gating for DX ddr_clk
+               # PSU_DDR_PHY_DX8SL0OSC_GATEDXRDCLK                                               0x2
+
+               # Enable Clock Gating for DX ctl_rd_clk
+               # PSU_DDR_PHY_DX8SL0OSC_GATEDXDDRCLK                                              0x2
+
+               # Enable Clock Gating for DX ctl_clk
+               # PSU_DDR_PHY_DX8SL0OSC_GATEDXCTLCLK                                              0x2
+
+               # Selects the level to which clocks will be stalled when clock gating is enabled.
+               # PSU_DDR_PHY_DX8SL0OSC_CLKLEVEL                                                  0x0
+
+               # Loopback Mode
+               # PSU_DDR_PHY_DX8SL0OSC_LBMODE                                                    0x0
+
+               # Load GSDQS LCDL with 2x the calibrated GSDQSPRD value
+               # PSU_DDR_PHY_DX8SL0OSC_LBGSDQS                                                   0x0
+
+               # Loopback DQS Gating
+               # PSU_DDR_PHY_DX8SL0OSC_LBGDQS                                                    0x0
+
+               # Loopback DQS Shift
+               # PSU_DDR_PHY_DX8SL0OSC_LBDQSS                                                    0x0
+
+               # PHY High-Speed Reset
+               # PSU_DDR_PHY_DX8SL0OSC_PHYHRST                                                   0x1
+
+               # PHY FIFO Reset
+               # PSU_DDR_PHY_DX8SL0OSC_PHYFRST                                                   0x1
+
+               # Delay Line Test Start
+               # PSU_DDR_PHY_DX8SL0OSC_DLTST                                                     0x0
+
+               # Delay Line Test Mode
+               # PSU_DDR_PHY_DX8SL0OSC_DLTMODE                                                   0x0
+
+               # Reserved. Caution, do not write to this register field.
+               # PSU_DDR_PHY_DX8SL0OSC_RESERVED_12_11                                            0x3
+
+               # Oscillator Mode Write-Data Delay Line Select
+               # PSU_DDR_PHY_DX8SL0OSC_OSCWDDL                                                   0x3
+
+               # Reserved. Caution, do not write to this register field.
+               # PSU_DDR_PHY_DX8SL0OSC_RESERVED_8_7                                              0x3
+
+               # Oscillator Mode Write-Leveling Delay Line Select
+               # PSU_DDR_PHY_DX8SL0OSC_OSCWDL                                                    0x3
+
+               # Oscillator Mode Division
+               # PSU_DDR_PHY_DX8SL0OSC_OSCDIV                                                    0xf
+
+               # Oscillator Enable
+               # PSU_DDR_PHY_DX8SL0OSC_OSCEN                                                     0x0
+
+               # DATX8 0-1 Oscillator, Delay Line Test, PHY FIFO and High Speed Reset, Loopback, and Gated Clock Control Register
+               #(OFFSET, MASK, VALUE)      (0XFD081400, 0xFFFFFFFFU ,0x2A019FFEU)  */
+    mask_write 0XFD081400 0xFFFFFFFF 0x2A019FFE
                # Register : DX8SL0DQSCTL @ 0XFD08141C</p>
 
                # Reserved. Return zeroes on reads.
@@ -7408,14 +7418,14 @@ set psu_ddr_init_data {
                # PSU_DDR_PHY_DX8SL0DQSCTL_DXSR                                                   0x3
 
                # DQS_N Resistor
-               # PSU_DDR_PHY_DX8SL0DQSCTL_DQSNRES                                                0xc
+               # PSU_DDR_PHY_DX8SL0DQSCTL_DQSNRES                                                0x0
 
                # DQS Resistor
-               # PSU_DDR_PHY_DX8SL0DQSCTL_DQSRES                                                 0x4
+               # PSU_DDR_PHY_DX8SL0DQSCTL_DQSRES                                                 0x0
 
                # DATX8 0-1 DQS Control Register
-               #(OFFSET, MASK, VALUE)      (0XFD08141C, 0xFFFFFFFFU ,0x012643C4U)  */
-    mask_write 0XFD08141C 0xFFFFFFFF 0x012643C4
+               #(OFFSET, MASK, VALUE)      (0XFD08141C, 0xFFFFFFFFU ,0x01264300U)  */
+    mask_write 0XFD08141C 0xFFFFFFFF 0x01264300
                # Register : DX8SL0DXCTL2 @ 0XFD08142C</p>
 
                # Reserved. Return zeroes on reads.
@@ -7428,7 +7438,7 @@ set psu_ddr_init_data {
                # PSU_DDR_PHY_DX8SL0DXCTL2_POSOEX                                                 0x0
 
                # OE Extension during Pre-amble
-               # PSU_DDR_PHY_DX8SL0DXCTL2_PREOEX                                                 0x0
+               # PSU_DDR_PHY_DX8SL0DXCTL2_PREOEX                                                 0x1
 
                # Reserved. Return zeroes on reads.
                # PSU_DDR_PHY_DX8SL0DXCTL2_RESERVED_17                                            0x0
@@ -7467,8 +7477,8 @@ set psu_ddr_init_data {
                # PSU_DDR_PHY_DX8SL0DXCTL2_RESERVED_0                                             0x0
 
                # DATX8 0-1 DX Control Register 2
-               #(OFFSET, MASK, VALUE)      (0XFD08142C, 0xFFFFFFFFU ,0x00001800U)  */
-    mask_write 0XFD08142C 0xFFFFFFFF 0x00001800
+               #(OFFSET, MASK, VALUE)      (0XFD08142C, 0xFFFFFFFFU ,0x00041800U)  */
+    mask_write 0XFD08142C 0xFFFFFFFF 0x00041800
                # Register : DX8SL0IOCR @ 0XFD081430</p>
 
                # Reserved. Return zeroes on reads.
@@ -7492,6 +7502,68 @@ set psu_ddr_init_data {
                # DATX8 0-1 I/O Configuration Register
                #(OFFSET, MASK, VALUE)      (0XFD081430, 0xFFFFFFFFU ,0x70800000U)  */
     mask_write 0XFD081430 0xFFFFFFFF 0x70800000
+               # Register : DX8SL1OSC @ 0XFD081440</p>
+
+               # Reserved. Return zeroes on reads.
+               # PSU_DDR_PHY_DX8SL1OSC_RESERVED_31_30                                            0x0
+
+               # Enable Clock Gating for DX ddr_clk
+               # PSU_DDR_PHY_DX8SL1OSC_GATEDXRDCLK                                               0x2
+
+               # Enable Clock Gating for DX ctl_rd_clk
+               # PSU_DDR_PHY_DX8SL1OSC_GATEDXDDRCLK                                              0x2
+
+               # Enable Clock Gating for DX ctl_clk
+               # PSU_DDR_PHY_DX8SL1OSC_GATEDXCTLCLK                                              0x2
+
+               # Selects the level to which clocks will be stalled when clock gating is enabled.
+               # PSU_DDR_PHY_DX8SL1OSC_CLKLEVEL                                                  0x0
+
+               # Loopback Mode
+               # PSU_DDR_PHY_DX8SL1OSC_LBMODE                                                    0x0
+
+               # Load GSDQS LCDL with 2x the calibrated GSDQSPRD value
+               # PSU_DDR_PHY_DX8SL1OSC_LBGSDQS                                                   0x0
+
+               # Loopback DQS Gating
+               # PSU_DDR_PHY_DX8SL1OSC_LBGDQS                                                    0x0
+
+               # Loopback DQS Shift
+               # PSU_DDR_PHY_DX8SL1OSC_LBDQSS                                                    0x0
+
+               # PHY High-Speed Reset
+               # PSU_DDR_PHY_DX8SL1OSC_PHYHRST                                                   0x1
+
+               # PHY FIFO Reset
+               # PSU_DDR_PHY_DX8SL1OSC_PHYFRST                                                   0x1
+
+               # Delay Line Test Start
+               # PSU_DDR_PHY_DX8SL1OSC_DLTST                                                     0x0
+
+               # Delay Line Test Mode
+               # PSU_DDR_PHY_DX8SL1OSC_DLTMODE                                                   0x0
+
+               # Reserved. Caution, do not write to this register field.
+               # PSU_DDR_PHY_DX8SL1OSC_RESERVED_12_11                                            0x3
+
+               # Oscillator Mode Write-Data Delay Line Select
+               # PSU_DDR_PHY_DX8SL1OSC_OSCWDDL                                                   0x3
+
+               # Reserved. Caution, do not write to this register field.
+               # PSU_DDR_PHY_DX8SL1OSC_RESERVED_8_7                                              0x3
+
+               # Oscillator Mode Write-Leveling Delay Line Select
+               # PSU_DDR_PHY_DX8SL1OSC_OSCWDL                                                    0x3
+
+               # Oscillator Mode Division
+               # PSU_DDR_PHY_DX8SL1OSC_OSCDIV                                                    0xf
+
+               # Oscillator Enable
+               # PSU_DDR_PHY_DX8SL1OSC_OSCEN                                                     0x0
+
+               # DATX8 0-1 Oscillator, Delay Line Test, PHY FIFO and High Speed Reset, Loopback, and Gated Clock Control Register
+               #(OFFSET, MASK, VALUE)      (0XFD081440, 0xFFFFFFFFU ,0x2A019FFEU)  */
+    mask_write 0XFD081440 0xFFFFFFFF 0x2A019FFE
                # Register : DX8SL1DQSCTL @ 0XFD08145C</p>
 
                # Reserved. Return zeroes on reads.
@@ -7531,14 +7603,14 @@ set psu_ddr_init_data {
                # PSU_DDR_PHY_DX8SL1DQSCTL_DXSR                                                   0x3
 
                # DQS_N Resistor
-               # PSU_DDR_PHY_DX8SL1DQSCTL_DQSNRES                                                0xc
+               # PSU_DDR_PHY_DX8SL1DQSCTL_DQSNRES                                                0x0
 
                # DQS Resistor
-               # PSU_DDR_PHY_DX8SL1DQSCTL_DQSRES                                                 0x4
+               # PSU_DDR_PHY_DX8SL1DQSCTL_DQSRES                                                 0x0
 
                # DATX8 0-1 DQS Control Register
-               #(OFFSET, MASK, VALUE)      (0XFD08145C, 0xFFFFFFFFU ,0x012643C4U)  */
-    mask_write 0XFD08145C 0xFFFFFFFF 0x012643C4
+               #(OFFSET, MASK, VALUE)      (0XFD08145C, 0xFFFFFFFFU ,0x01264300U)  */
+    mask_write 0XFD08145C 0xFFFFFFFF 0x01264300
                # Register : DX8SL1DXCTL2 @ 0XFD08146C</p>
 
                # Reserved. Return zeroes on reads.
@@ -7551,7 +7623,7 @@ set psu_ddr_init_data {
                # PSU_DDR_PHY_DX8SL1DXCTL2_POSOEX                                                 0x0
 
                # OE Extension during Pre-amble
-               # PSU_DDR_PHY_DX8SL1DXCTL2_PREOEX                                                 0x0
+               # PSU_DDR_PHY_DX8SL1DXCTL2_PREOEX                                                 0x1
 
                # Reserved. Return zeroes on reads.
                # PSU_DDR_PHY_DX8SL1DXCTL2_RESERVED_17                                            0x0
@@ -7590,8 +7662,8 @@ set psu_ddr_init_data {
                # PSU_DDR_PHY_DX8SL1DXCTL2_RESERVED_0                                             0x0
 
                # DATX8 0-1 DX Control Register 2
-               #(OFFSET, MASK, VALUE)      (0XFD08146C, 0xFFFFFFFFU ,0x00001800U)  */
-    mask_write 0XFD08146C 0xFFFFFFFF 0x00001800
+               #(OFFSET, MASK, VALUE)      (0XFD08146C, 0xFFFFFFFFU ,0x00041800U)  */
+    mask_write 0XFD08146C 0xFFFFFFFF 0x00041800
                # Register : DX8SL1IOCR @ 0XFD081470</p>
 
                # Reserved. Return zeroes on reads.
@@ -7615,16 +7687,78 @@ set psu_ddr_init_data {
                # DATX8 0-1 I/O Configuration Register
                #(OFFSET, MASK, VALUE)      (0XFD081470, 0xFFFFFFFFU ,0x70800000U)  */
     mask_write 0XFD081470 0xFFFFFFFF 0x70800000
-               # Register : DX8SL2DQSCTL @ 0XFD08149C</p>
+               # Register : DX8SL2OSC @ 0XFD081480</p>
 
                # Reserved. Return zeroes on reads.
-               # PSU_DDR_PHY_DX8SL2DQSCTL_RESERVED_31_25                                         0x0
+               # PSU_DDR_PHY_DX8SL2OSC_RESERVED_31_30                                            0x0
 
-               # Read Path Rise-to-Rise Mode
-               # PSU_DDR_PHY_DX8SL2DQSCTL_RRRMODE                                                0x1
+               # Enable Clock Gating for DX ddr_clk
+               # PSU_DDR_PHY_DX8SL2OSC_GATEDXRDCLK                                               0x2
 
-               # Reserved. Return zeroes on reads.
-               # PSU_DDR_PHY_DX8SL2DQSCTL_RESERVED_23_22                                         0x0
+               # Enable Clock Gating for DX ctl_rd_clk
+               # PSU_DDR_PHY_DX8SL2OSC_GATEDXDDRCLK                                              0x2
+
+               # Enable Clock Gating for DX ctl_clk
+               # PSU_DDR_PHY_DX8SL2OSC_GATEDXCTLCLK                                              0x2
+
+               # Selects the level to which clocks will be stalled when clock gating is enabled.
+               # PSU_DDR_PHY_DX8SL2OSC_CLKLEVEL                                                  0x0
+
+               # Loopback Mode
+               # PSU_DDR_PHY_DX8SL2OSC_LBMODE                                                    0x0
+
+               # Load GSDQS LCDL with 2x the calibrated GSDQSPRD value
+               # PSU_DDR_PHY_DX8SL2OSC_LBGSDQS                                                   0x0
+
+               # Loopback DQS Gating
+               # PSU_DDR_PHY_DX8SL2OSC_LBGDQS                                                    0x0
+
+               # Loopback DQS Shift
+               # PSU_DDR_PHY_DX8SL2OSC_LBDQSS                                                    0x0
+
+               # PHY High-Speed Reset
+               # PSU_DDR_PHY_DX8SL2OSC_PHYHRST                                                   0x1
+
+               # PHY FIFO Reset
+               # PSU_DDR_PHY_DX8SL2OSC_PHYFRST                                                   0x1
+
+               # Delay Line Test Start
+               # PSU_DDR_PHY_DX8SL2OSC_DLTST                                                     0x0
+
+               # Delay Line Test Mode
+               # PSU_DDR_PHY_DX8SL2OSC_DLTMODE                                                   0x0
+
+               # Reserved. Caution, do not write to this register field.
+               # PSU_DDR_PHY_DX8SL2OSC_RESERVED_12_11                                            0x3
+
+               # Oscillator Mode Write-Data Delay Line Select
+               # PSU_DDR_PHY_DX8SL2OSC_OSCWDDL                                                   0x3
+
+               # Reserved. Caution, do not write to this register field.
+               # PSU_DDR_PHY_DX8SL2OSC_RESERVED_8_7                                              0x3
+
+               # Oscillator Mode Write-Leveling Delay Line Select
+               # PSU_DDR_PHY_DX8SL2OSC_OSCWDL                                                    0x3
+
+               # Oscillator Mode Division
+               # PSU_DDR_PHY_DX8SL2OSC_OSCDIV                                                    0xf
+
+               # Oscillator Enable
+               # PSU_DDR_PHY_DX8SL2OSC_OSCEN                                                     0x0
+
+               # DATX8 0-1 Oscillator, Delay Line Test, PHY FIFO and High Speed Reset, Loopback, and Gated Clock Control Register
+               #(OFFSET, MASK, VALUE)      (0XFD081480, 0xFFFFFFFFU ,0x2A019FFEU)  */
+    mask_write 0XFD081480 0xFFFFFFFF 0x2A019FFE
+               # 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
@@ -7654,14 +7788,14 @@ set psu_ddr_init_data {
                # PSU_DDR_PHY_DX8SL2DQSCTL_DXSR                                                   0x3
 
                # DQS_N Resistor
-               # PSU_DDR_PHY_DX8SL2DQSCTL_DQSNRES                                                0xc
+               # PSU_DDR_PHY_DX8SL2DQSCTL_DQSNRES                                                0x0
 
                # DQS Resistor
-               # PSU_DDR_PHY_DX8SL2DQSCTL_DQSRES                                                 0x4
+               # PSU_DDR_PHY_DX8SL2DQSCTL_DQSRES                                                 0x0
 
                # DATX8 0-1 DQS Control Register
-               #(OFFSET, MASK, VALUE)      (0XFD08149C, 0xFFFFFFFFU ,0x012643C4U)  */
-    mask_write 0XFD08149C 0xFFFFFFFF 0x012643C4
+               #(OFFSET, MASK, VALUE)      (0XFD08149C, 0xFFFFFFFFU ,0x01264300U)  */
+    mask_write 0XFD08149C 0xFFFFFFFF 0x01264300
                # Register : DX8SL2DXCTL2 @ 0XFD0814AC</p>
 
                # Reserved. Return zeroes on reads.
@@ -7674,7 +7808,7 @@ set psu_ddr_init_data {
                # PSU_DDR_PHY_DX8SL2DXCTL2_POSOEX                                                 0x0
 
                # OE Extension during Pre-amble
-               # PSU_DDR_PHY_DX8SL2DXCTL2_PREOEX                                                 0x0
+               # PSU_DDR_PHY_DX8SL2DXCTL2_PREOEX                                                 0x1
 
                # Reserved. Return zeroes on reads.
                # PSU_DDR_PHY_DX8SL2DXCTL2_RESERVED_17                                            0x0
@@ -7713,8 +7847,8 @@ set psu_ddr_init_data {
                # PSU_DDR_PHY_DX8SL2DXCTL2_RESERVED_0                                             0x0
 
                # DATX8 0-1 DX Control Register 2
-               #(OFFSET, MASK, VALUE)      (0XFD0814AC, 0xFFFFFFFFU ,0x00001800U)  */
-    mask_write 0XFD0814AC 0xFFFFFFFF 0x00001800
+               #(OFFSET, MASK, VALUE)      (0XFD0814AC, 0xFFFFFFFFU ,0x00041800U)  */
+    mask_write 0XFD0814AC 0xFFFFFFFF 0x00041800
                # Register : DX8SL2IOCR @ 0XFD0814B0</p>
 
                # Reserved. Return zeroes on reads.
@@ -7738,6 +7872,68 @@ set psu_ddr_init_data {
                # DATX8 0-1 I/O Configuration Register
                #(OFFSET, MASK, VALUE)      (0XFD0814B0, 0xFFFFFFFFU ,0x70800000U)  */
     mask_write 0XFD0814B0 0xFFFFFFFF 0x70800000
+               # Register : DX8SL3OSC @ 0XFD0814C0</p>
+
+               # Reserved. Return zeroes on reads.
+               # PSU_DDR_PHY_DX8SL3OSC_RESERVED_31_30                                            0x0
+
+               # Enable Clock Gating for DX ddr_clk
+               # PSU_DDR_PHY_DX8SL3OSC_GATEDXRDCLK                                               0x2
+
+               # Enable Clock Gating for DX ctl_rd_clk
+               # PSU_DDR_PHY_DX8SL3OSC_GATEDXDDRCLK                                              0x2
+
+               # Enable Clock Gating for DX ctl_clk
+               # PSU_DDR_PHY_DX8SL3OSC_GATEDXCTLCLK                                              0x2
+
+               # Selects the level to which clocks will be stalled when clock gating is enabled.
+               # PSU_DDR_PHY_DX8SL3OSC_CLKLEVEL                                                  0x0
+
+               # Loopback Mode
+               # PSU_DDR_PHY_DX8SL3OSC_LBMODE                                                    0x0
+
+               # Load GSDQS LCDL with 2x the calibrated GSDQSPRD value
+               # PSU_DDR_PHY_DX8SL3OSC_LBGSDQS                                                   0x0
+
+               # Loopback DQS Gating
+               # PSU_DDR_PHY_DX8SL3OSC_LBGDQS                                                    0x0
+
+               # Loopback DQS Shift
+               # PSU_DDR_PHY_DX8SL3OSC_LBDQSS                                                    0x0
+
+               # PHY High-Speed Reset
+               # PSU_DDR_PHY_DX8SL3OSC_PHYHRST                                                   0x1
+
+               # PHY FIFO Reset
+               # PSU_DDR_PHY_DX8SL3OSC_PHYFRST                                                   0x1
+
+               # Delay Line Test Start
+               # PSU_DDR_PHY_DX8SL3OSC_DLTST                                                     0x0
+
+               # Delay Line Test Mode
+               # PSU_DDR_PHY_DX8SL3OSC_DLTMODE                                                   0x0
+
+               # Reserved. Caution, do not write to this register field.
+               # PSU_DDR_PHY_DX8SL3OSC_RESERVED_12_11                                            0x3
+
+               # Oscillator Mode Write-Data Delay Line Select
+               # PSU_DDR_PHY_DX8SL3OSC_OSCWDDL                                                   0x3
+
+               # Reserved. Caution, do not write to this register field.
+               # PSU_DDR_PHY_DX8SL3OSC_RESERVED_8_7                                              0x3
+
+               # Oscillator Mode Write-Leveling Delay Line Select
+               # PSU_DDR_PHY_DX8SL3OSC_OSCWDL                                                    0x3
+
+               # Oscillator Mode Division
+               # PSU_DDR_PHY_DX8SL3OSC_OSCDIV                                                    0xf
+
+               # Oscillator Enable
+               # PSU_DDR_PHY_DX8SL3OSC_OSCEN                                                     0x0
+
+               # DATX8 0-1 Oscillator, Delay Line Test, PHY FIFO and High Speed Reset, Loopback, and Gated Clock Control Register
+               #(OFFSET, MASK, VALUE)      (0XFD0814C0, 0xFFFFFFFFU ,0x2A019FFEU)  */
+    mask_write 0XFD0814C0 0xFFFFFFFF 0x2A019FFE
                # Register : DX8SL3DQSCTL @ 0XFD0814DC</p>
 
                # Reserved. Return zeroes on reads.
@@ -7777,14 +7973,14 @@ set psu_ddr_init_data {
                # PSU_DDR_PHY_DX8SL3DQSCTL_DXSR                                                   0x3
 
                # DQS_N Resistor
-               # PSU_DDR_PHY_DX8SL3DQSCTL_DQSNRES                                                0xc
+               # PSU_DDR_PHY_DX8SL3DQSCTL_DQSNRES                                                0x0
 
                # DQS Resistor
-               # PSU_DDR_PHY_DX8SL3DQSCTL_DQSRES                                                 0x4
+               # PSU_DDR_PHY_DX8SL3DQSCTL_DQSRES                                                 0x0
 
                # DATX8 0-1 DQS Control Register
-               #(OFFSET, MASK, VALUE)      (0XFD0814DC, 0xFFFFFFFFU ,0x012643C4U)  */
-    mask_write 0XFD0814DC 0xFFFFFFFF 0x012643C4
+               #(OFFSET, MASK, VALUE)      (0XFD0814DC, 0xFFFFFFFFU ,0x01264300U)  */
+    mask_write 0XFD0814DC 0xFFFFFFFF 0x01264300
                # Register : DX8SL3DXCTL2 @ 0XFD0814EC</p>
 
                # Reserved. Return zeroes on reads.
@@ -7797,7 +7993,7 @@ set psu_ddr_init_data {
                # PSU_DDR_PHY_DX8SL3DXCTL2_POSOEX                                                 0x0
 
                # OE Extension during Pre-amble
-               # PSU_DDR_PHY_DX8SL3DXCTL2_PREOEX                                                 0x0
+               # PSU_DDR_PHY_DX8SL3DXCTL2_PREOEX                                                 0x1
 
                # Reserved. Return zeroes on reads.
                # PSU_DDR_PHY_DX8SL3DXCTL2_RESERVED_17                                            0x0
@@ -7836,8 +8032,8 @@ set psu_ddr_init_data {
                # PSU_DDR_PHY_DX8SL3DXCTL2_RESERVED_0                                             0x0
 
                # DATX8 0-1 DX Control Register 2
-               #(OFFSET, MASK, VALUE)      (0XFD0814EC, 0xFFFFFFFFU ,0x00001800U)  */
-    mask_write 0XFD0814EC 0xFFFFFFFF 0x00001800
+               #(OFFSET, MASK, VALUE)      (0XFD0814EC, 0xFFFFFFFFU ,0x00041800U)  */
+    mask_write 0XFD0814EC 0xFFFFFFFF 0x00041800
                # Register : DX8SL3IOCR @ 0XFD0814F0</p>
 
                # Reserved. Return zeroes on reads.
@@ -7861,6 +8057,68 @@ set psu_ddr_init_data {
                # DATX8 0-1 I/O Configuration Register
                #(OFFSET, MASK, VALUE)      (0XFD0814F0, 0xFFFFFFFFU ,0x70800000U)  */
     mask_write 0XFD0814F0 0xFFFFFFFF 0x70800000
+               # Register : DX8SL4OSC @ 0XFD081500</p>
+
+               # Reserved. Return zeroes on reads.
+               # PSU_DDR_PHY_DX8SL4OSC_RESERVED_31_30                                            0x0
+
+               # Enable Clock Gating for DX ddr_clk
+               # PSU_DDR_PHY_DX8SL4OSC_GATEDXRDCLK                                               0x2
+
+               # Enable Clock Gating for DX ctl_rd_clk
+               # PSU_DDR_PHY_DX8SL4OSC_GATEDXDDRCLK                                              0x2
+
+               # Enable Clock Gating for DX ctl_clk
+               # PSU_DDR_PHY_DX8SL4OSC_GATEDXCTLCLK                                              0x2
+
+               # Selects the level to which clocks will be stalled when clock gating is enabled.
+               # PSU_DDR_PHY_DX8SL4OSC_CLKLEVEL                                                  0x0
+
+               # Loopback Mode
+               # PSU_DDR_PHY_DX8SL4OSC_LBMODE                                                    0x0
+
+               # Load GSDQS LCDL with 2x the calibrated GSDQSPRD value
+               # PSU_DDR_PHY_DX8SL4OSC_LBGSDQS                                                   0x0
+
+               # Loopback DQS Gating
+               # PSU_DDR_PHY_DX8SL4OSC_LBGDQS                                                    0x0
+
+               # Loopback DQS Shift
+               # PSU_DDR_PHY_DX8SL4OSC_LBDQSS                                                    0x0
+
+               # PHY High-Speed Reset
+               # PSU_DDR_PHY_DX8SL4OSC_PHYHRST                                                   0x1
+
+               # PHY FIFO Reset
+               # PSU_DDR_PHY_DX8SL4OSC_PHYFRST                                                   0x1
+
+               # Delay Line Test Start
+               # PSU_DDR_PHY_DX8SL4OSC_DLTST                                                     0x0
+
+               # Delay Line Test Mode
+               # PSU_DDR_PHY_DX8SL4OSC_DLTMODE                                                   0x0
+
+               # Reserved. Caution, do not write to this register field.
+               # PSU_DDR_PHY_DX8SL4OSC_RESERVED_12_11                                            0x3
+
+               # Oscillator Mode Write-Data Delay Line Select
+               # PSU_DDR_PHY_DX8SL4OSC_OSCWDDL                                                   0x3
+
+               # Reserved. Caution, do not write to this register field.
+               # PSU_DDR_PHY_DX8SL4OSC_RESERVED_8_7                                              0x3
+
+               # Oscillator Mode Write-Leveling Delay Line Select
+               # PSU_DDR_PHY_DX8SL4OSC_OSCWDL                                                    0x3
+
+               # Oscillator Mode Division
+               # PSU_DDR_PHY_DX8SL4OSC_OSCDIV                                                    0xf
+
+               # Oscillator Enable
+               # PSU_DDR_PHY_DX8SL4OSC_OSCEN                                                     0x0
+
+               # DATX8 0-1 Oscillator, Delay Line Test, PHY FIFO and High Speed Reset, Loopback, and Gated Clock Control Register
+               #(OFFSET, MASK, VALUE)      (0XFD081500, 0xFFFFFFFFU ,0x2A019FFEU)  */
+    mask_write 0XFD081500 0xFFFFFFFF 0x2A019FFE
                # Register : DX8SL4DQSCTL @ 0XFD08151C</p>
 
                # Reserved. Return zeroes on reads.
@@ -7900,14 +8158,14 @@ set psu_ddr_init_data {
                # PSU_DDR_PHY_DX8SL4DQSCTL_DXSR                                                   0x3
 
                # DQS_N Resistor
-               # PSU_DDR_PHY_DX8SL4DQSCTL_DQSNRES                                                0xc
+               # PSU_DDR_PHY_DX8SL4DQSCTL_DQSNRES                                                0x0
 
                # DQS Resistor
-               # PSU_DDR_PHY_DX8SL4DQSCTL_DQSRES                                                 0x4
+               # PSU_DDR_PHY_DX8SL4DQSCTL_DQSRES                                                 0x0
 
                # DATX8 0-1 DQS Control Register
-               #(OFFSET, MASK, VALUE)      (0XFD08151C, 0xFFFFFFFFU ,0x012643C4U)  */
-    mask_write 0XFD08151C 0xFFFFFFFF 0x012643C4
+               #(OFFSET, MASK, VALUE)      (0XFD08151C, 0xFFFFFFFFU ,0x01264300U)  */
+    mask_write 0XFD08151C 0xFFFFFFFF 0x01264300
                # Register : DX8SL4DXCTL2 @ 0XFD08152C</p>
 
                # Reserved. Return zeroes on reads.
@@ -7920,7 +8178,7 @@ set psu_ddr_init_data {
                # PSU_DDR_PHY_DX8SL4DXCTL2_POSOEX                                                 0x0
 
                # OE Extension during Pre-amble
-               # PSU_DDR_PHY_DX8SL4DXCTL2_PREOEX                                                 0x0
+               # PSU_DDR_PHY_DX8SL4DXCTL2_PREOEX                                                 0x1
 
                # Reserved. Return zeroes on reads.
                # PSU_DDR_PHY_DX8SL4DXCTL2_RESERVED_17                                            0x0
@@ -7959,8 +8217,8 @@ set psu_ddr_init_data {
                # PSU_DDR_PHY_DX8SL4DXCTL2_RESERVED_0                                             0x0
 
                # DATX8 0-1 DX Control Register 2
-               #(OFFSET, MASK, VALUE)      (0XFD08152C, 0xFFFFFFFFU ,0x00001800U)  */
-    mask_write 0XFD08152C 0xFFFFFFFF 0x00001800
+               #(OFFSET, MASK, VALUE)      (0XFD08152C, 0xFFFFFFFFU ,0x00041800U)  */
+    mask_write 0XFD08152C 0xFFFFFFFF 0x00041800
                # Register : DX8SL4IOCR @ 0XFD081530</p>
 
                # Reserved. Return zeroes on reads.
@@ -8717,7 +8975,7 @@ set psu_mio_init_data {
 
                # 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
+               # PSU_IOU_SLCR_MIO_PIN_26_L2_SEL                                                  0
 
                # 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
@@ -8727,8 +8985,8 @@ set psu_mio_init_data {
                # PSU_IOU_SLCR_MIO_PIN_26_L3_SEL                                                  0
 
                # Configures MIO Pin 26 peripheral interface mapping
-               #(OFFSET, MASK, VALUE)      (0XFF180068, 0x000000FEU ,0x00000008U)  */
-    mask_write 0XFF180068 0x000000FE 0x00000008
+               #(OFFSET, MASK, VALUE)      (0XFF180068, 0x000000FEU ,0x00000000U)  */
+    mask_write 0XFF180068 0x000000FE 0x00000000
                # 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)
@@ -8740,7 +8998,7 @@ set psu_mio_init_data {
                # 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
+               # PSU_IOU_SLCR_MIO_PIN_27_L2_SEL                                                  3
 
                # 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
@@ -8750,8 +9008,8 @@ set psu_mio_init_data {
                # PSU_IOU_SLCR_MIO_PIN_27_L3_SEL                                                  0
 
                # Configures MIO Pin 27 peripheral interface mapping
-               #(OFFSET, MASK, VALUE)      (0XFF18006C, 0x000000FEU ,0x00000000U)  */
-    mask_write 0XFF18006C 0x000000FE 0x00000000
+               #(OFFSET, MASK, VALUE)      (0XFF18006C, 0x000000FEU ,0x00000018U)  */
+    mask_write 0XFF18006C 0x000000FE 0x00000018
                # 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)
@@ -8762,7 +9020,7 @@ set psu_mio_init_data {
 
                # 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
+               # PSU_IOU_SLCR_MIO_PIN_28_L2_SEL                                                  3
 
                # 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
@@ -8771,8 +9029,8 @@ set psu_mio_init_data {
                # PSU_IOU_SLCR_MIO_PIN_28_L3_SEL                                                  0
 
                # Configures MIO Pin 28 peripheral interface mapping
-               #(OFFSET, MASK, VALUE)      (0XFF180070, 0x000000FEU ,0x00000000U)  */
-    mask_write 0XFF180070 0x000000FE 0x00000000
+               #(OFFSET, MASK, VALUE)      (0XFF180070, 0x000000FEU ,0x00000018U)  */
+    mask_write 0XFF180070 0x000000FE 0x00000018
                # 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)
@@ -8784,7 +9042,7 @@ set psu_mio_init_data {
                # 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
+               # PSU_IOU_SLCR_MIO_PIN_29_L2_SEL                                                  3
 
                # 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
@@ -8794,8 +9052,8 @@ set psu_mio_init_data {
                # PSU_IOU_SLCR_MIO_PIN_29_L3_SEL                                                  0
 
                # Configures MIO Pin 29 peripheral interface mapping
-               #(OFFSET, MASK, VALUE)      (0XFF180074, 0x000000FEU ,0x00000000U)  */
-    mask_write 0XFF180074 0x000000FE 0x00000000
+               #(OFFSET, MASK, VALUE)      (0XFF180074, 0x000000FEU ,0x00000018U)  */
+    mask_write 0XFF180074 0x000000FE 0x00000018
                # 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)
@@ -8806,7 +9064,7 @@ set psu_mio_init_data {
 
                # 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
+               # PSU_IOU_SLCR_MIO_PIN_30_L2_SEL                                                  3
 
                # 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
@@ -8816,8 +9074,8 @@ set psu_mio_init_data {
                # PSU_IOU_SLCR_MIO_PIN_30_L3_SEL                                                  0
 
                # Configures MIO Pin 30 peripheral interface mapping
-               #(OFFSET, MASK, VALUE)      (0XFF180078, 0x000000FEU ,0x00000000U)  */
-    mask_write 0XFF180078 0x000000FE 0x00000000
+               #(OFFSET, MASK, VALUE)      (0XFF180078, 0x000000FEU ,0x00000018U)  */
+    mask_write 0XFF180078 0x000000FE 0x00000018
                # 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)
@@ -9923,26 +10181,26 @@ set psu_mio_init_data {
                # 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
+               # PSU_IOU_SLCR_MIO_MST_TRI0_PIN_26_TRI                                            0
 
                # 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
+               # PSU_IOU_SLCR_MIO_MST_TRI0_PIN_28_TRI                                            1
 
                # 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
+               # PSU_IOU_SLCR_MIO_MST_TRI0_PIN_30_TRI                                            1
 
                # 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)  */
-    mask_write 0XFF180204 0xFFFFFFFF 0x06240000
+               #(OFFSET, MASK, VALUE)      (0XFF180204, 0xFFFFFFFFU ,0x52240000U)  */
+    mask_write 0XFF180204 0xFFFFFFFF 0x52240000
                # Register : MIO_MST_TRI1 @ 0XFF180208</p>
 
                # Master Tri-state Enable for pin 32, active high
@@ -11611,6 +11869,15 @@ set psu_mio_init_data {
 
 set psu_peripherals_init_data {
                # : RESET BLOCKS
+               # : TIMESTAMP
+               # Register : RST_LPD_IOU2 @ 0XFF5E0238</p>
+
+               # Block level reset
+               # PSU_CRL_APB_RST_LPD_IOU2_TIMESTAMP_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, 0x00100000U ,0x00000000U)  */
+    mask_write 0XFF5E0238 0x00100000 0x00000000
                # : ENET
                # Register : RST_LPD_IOU0 @ 0XFF5E0230</p>
 
@@ -11629,6 +11896,15 @@ set psu_peripherals_init_data {
                # 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)  */
     mask_write 0XFF5E0238 0x00000001 0x00000000
+               # : QSPI TAP DELAY
+               # Register : IOU_TAPDLY_BYPASS @ 0XFF180390</p>
+
+               # 0: Do not by pass the tap delays on the Rx clock signal of LQSPI 1: Bypass the Tap delay on the Rx clock signal of LQSPI
+               # PSU_IOU_SLCR_IOU_TAPDLY_BYPASS_LQSPI_RX                                         1
+
+               # IOU tap delay bypass for the LQSPI and NAND controllers
+               #(OFFSET, MASK, VALUE)      (0XFF180390, 0x00000004U ,0x00000004U)  */
+    mask_write 0XFF180390 0x00000004 0x00000004
                # : NAND
                # : USB
                # Register : RST_LPD_TOP @ 0XFF5E023C</p>
@@ -11728,6 +12004,17 @@ set psu_peripherals_init_data {
                # SD Config Register 1
                #(OFFSET, MASK, VALUE)      (0XFF18031C, 0x7F800000U ,0x63800000U)  */
     mask_write 0XFF18031C 0x7F800000 0x63800000
+               # : SD1 RETUNER
+               # Register : SD_CONFIG_REG3 @ 0XFF180324</p>
+
+               # This is the Timer Count for Re-Tuning Timer for Re-Tuning Mode 1 to 3. Setting to 4'b0 disables Re-Tuning Timer. 0h - Get inf
+               # rmation via other source 1h = 1 seconds 2h = 2 seconds 3h = 4 seconds 4h = 8 seconds -- n = 2(n-1) seconds -- Bh = 1024 secon
+               # s Fh - Ch = Reserved
+               # PSU_IOU_SLCR_SD_CONFIG_REG3_SD1_RETUNETMR                                       0X0
+
+               # SD Config Register 3
+               #(OFFSET, MASK, VALUE)      (0XFF180324, 0x03C00000U ,0x00000000U)  */
+    mask_write 0XFF180324 0x03C00000 0x00000000
                # : CAN
                # Register : RST_LPD_IOU2 @ 0XFF5E0238</p>
 
@@ -12024,6 +12311,25 @@ set psu_peripherals_init_data {
                # This register controls various functionalities within the RTC
                #(OFFSET, MASK, VALUE)      (0XFFA60040, 0x80000000U ,0x80000000U)  */
     mask_write 0XFFA60040 0x80000000 0x80000000
+               # : TIMESTAMP COUNTER
+               # Register : base_frequency_ID_register @ 0XFF260020</p>
+
+               # Frequency in number of ticks per second. Valid range from 10 MHz to 100 MHz.
+               # PSU_IOU_SCNTRS_BASE_FREQUENCY_ID_REGISTER_FREQ                                  0x5f5e100
+
+               # Program this register to match the clock frequency of the timestamp generator, in ticks per second. For example, for a 50 MHz
+               # clock, program 0x02FAF080. This register is not accessible to the read-only programming interface.
+               #(OFFSET, MASK, VALUE)      (0XFF260020, 0xFFFFFFFFU ,0x05F5E100U)  */
+    mask_write 0XFF260020 0xFFFFFFFF 0x05F5E100
+               # Register : counter_control_register @ 0XFF260000</p>
+
+               # Enable 0: The counter is disabled and not incrementing. 1: The counter is enabled and is incrementing.
+               # PSU_IOU_SCNTRS_COUNTER_CONTROL_REGISTER_EN                                      0x1
+
+               # Controls the counter increments. This register is not accessible to the read-only programming interface.
+               #(OFFSET, MASK, VALUE)      (0XFF260000, 0x00000001U ,0x00000001U)  */
+    mask_write 0XFF260000 0x00000001 0x00000001
+               # : TTC SRC SELECT
 }
 
 set psu_post_config_data {
@@ -12035,6 +12341,75 @@ set psu_peripherals_powerdwn_data {
                # : POWER DOWN TRIGGER
 }
 
+set psu_lpd_xppu_data {
+               # : XPPU INTERRUPT ENABLE
+               # Register : IEN @ 0XFF980018</p>
+
+               # See Interuppt Status Register for details
+               # PSU_LPD_XPPU_CFG_IEN_APER_PARITY                                                0X1
+
+               # See Interuppt Status Register for details
+               # PSU_LPD_XPPU_CFG_IEN_APER_TZ                                                    0X1
+
+               # See Interuppt Status Register for details
+               # PSU_LPD_XPPU_CFG_IEN_APER_PERM                                                  0X1
+
+               # See Interuppt Status Register for details
+               # PSU_LPD_XPPU_CFG_IEN_MID_PARITY                                                 0X1
+
+               # See Interuppt Status Register for details
+               # PSU_LPD_XPPU_CFG_IEN_MID_RO                                                     0X1
+
+               # See Interuppt Status Register for details
+               # PSU_LPD_XPPU_CFG_IEN_MID_MISS                                                   0X1
+
+               # See Interuppt Status Register for details
+               # PSU_LPD_XPPU_CFG_IEN_INV_APB                                                    0X1
+
+               # Interrupt Enable Register
+               #(OFFSET, MASK, VALUE)      (0XFF980018, 0x000000EFU ,0x000000EFU)  */
+    mask_write 0XFF980018 0x000000EF 0x000000EF
+}
+
+set psu_ddr_xmpu0_data {
+}
+
+set psu_ddr_xmpu1_data {
+}
+
+set psu_ddr_xmpu2_data {
+}
+
+set psu_ddr_xmpu3_data {
+}
+
+set psu_ddr_xmpu4_data {
+}
+
+set psu_ddr_xmpu5_data {
+}
+
+set psu_ocm_xmpu_data {
+}
+
+set psu_fpd_xmpu_data {
+}
+
+set psu_protection_lock_data {
+}
+
+set psu_apply_master_tz {
+               # : RPU
+               # : DP TZ
+               # : SATA TZ
+               # : PCIE TZ
+               # : USB TZ
+               # : SD TZ
+               # : GEM TZ
+               # : QSPI TZ
+               # : NAND TZ
+}
+
 set psu_serdes_init_data {
                # : SERDES INITIALIZATION
                # : GT REFERENCE CLOCK SOURCE SELECTION
@@ -12145,59 +12520,59 @@ set psu_serdes_init_data {
                # 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
+               # PSU_SERDES_L3_PLL_SS_STEPS_0_LSB_SS_NUM_OF_STEPS_0_LSB                          0xE0
 
                # Spread Spectrum No of Steps bits 7:0
-               #(OFFSET, MASK, VALUE)      (0XFD40E368, 0x000000FFU ,0x00000000U)  */
-    mask_write 0XFD40E368 0x000000FF 0x00000000
+               #(OFFSET, MASK, VALUE)      (0XFD40E368, 0x000000FFU ,0x000000E0U)  */
+    mask_write 0XFD40E368 0x000000FF 0x000000E0
                # 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
+               # PSU_SERDES_L3_PLL_SS_STEPS_1_MSB_SS_NUM_OF_STEPS_1_MSB                          0x3
 
                # Spread Spectrum No of Steps bits 10:8
-               #(OFFSET, MASK, VALUE)      (0XFD40E36C, 0x00000007U ,0x00000000U)  */
-    mask_write 0XFD40E36C 0x00000007 0x00000000
+               #(OFFSET, MASK, VALUE)      (0XFD40E36C, 0x00000007U ,0x00000003U)  */
+    mask_write 0XFD40E36C 0x00000007 0x00000003
                # 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
+               # PSU_SERDES_L1_PLL_SS_STEPS_0_LSB_SS_NUM_OF_STEPS_0_LSB                          0x58
 
                # Spread Spectrum No of Steps bits 7:0
-               #(OFFSET, MASK, VALUE)      (0XFD406368, 0x000000FFU ,0x00000000U)  */
-    mask_write 0XFD406368 0x000000FF 0x00000000
+               #(OFFSET, MASK, VALUE)      (0XFD406368, 0x000000FFU ,0x00000058U)  */
+    mask_write 0XFD406368 0x000000FF 0x00000058
                # 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
+               # PSU_SERDES_L1_PLL_SS_STEPS_1_MSB_SS_NUM_OF_STEPS_1_MSB                          0x3
 
                # Spread Spectrum No of Steps bits 10:8
-               #(OFFSET, MASK, VALUE)      (0XFD40636C, 0x00000007U ,0x00000000U)  */
-    mask_write 0XFD40636C 0x00000007 0x00000000
+               #(OFFSET, MASK, VALUE)      (0XFD40636C, 0x00000007U ,0x00000003U)  */
+    mask_write 0XFD40636C 0x00000007 0x00000003
                # 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
+               # PSU_SERDES_L1_PLL_SS_STEP_SIZE_0_LSB_SS_STEP_SIZE_0_LSB                         0x7C
 
                # Step Size for Spread Spectrum LSB
-               #(OFFSET, MASK, VALUE)      (0XFD406370, 0x000000FFU ,0x00000000U)  */
-    mask_write 0XFD406370 0x000000FF 0x00000000
+               #(OFFSET, MASK, VALUE)      (0XFD406370, 0x000000FFU ,0x0000007CU)  */
+    mask_write 0XFD406370 0x000000FF 0x0000007C
                # 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
+               # PSU_SERDES_L1_PLL_SS_STEP_SIZE_1_SS_STEP_SIZE_1                                 0x33
 
                # Step Size for Spread Spectrum 1
-               #(OFFSET, MASK, VALUE)      (0XFD406374, 0x000000FFU ,0x00000000U)  */
-    mask_write 0XFD406374 0x000000FF 0x00000000
+               #(OFFSET, MASK, VALUE)      (0XFD406374, 0x000000FFU ,0x00000033U)  */
+    mask_write 0XFD406374 0x000000FF 0x00000033
                # 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
+               # PSU_SERDES_L1_PLL_SS_STEP_SIZE_2_SS_STEP_SIZE_2                                 0x2
 
                # Step Size for Spread Spectrum 2
-               #(OFFSET, MASK, VALUE)      (0XFD406378, 0x000000FFU ,0x00000000U)  */
-    mask_write 0XFD406378 0x000000FF 0x00000000
+               #(OFFSET, MASK, VALUE)      (0XFD406378, 0x000000FFU ,0x00000002U)  */
+    mask_write 0XFD406378 0x000000FF 0x00000002
                # Register : L1_PLL_SS_STEP_SIZE_3_MSB @ 0XFD40637C</p>
 
                # Step Size for Spread Spectrum [25:24]
@@ -12253,27 +12628,27 @@ set psu_serdes_init_data {
                # 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
+               # PSU_SERDES_L3_PLL_SS_STEP_SIZE_0_LSB_SS_STEP_SIZE_0_LSB                         0xC9
 
                # Step Size for Spread Spectrum LSB
-               #(OFFSET, MASK, VALUE)      (0XFD40E370, 0x000000FFU ,0x00000000U)  */
-    mask_write 0XFD40E370 0x000000FF 0x00000000
+               #(OFFSET, MASK, VALUE)      (0XFD40E370, 0x000000FFU ,0x000000C9U)  */
+    mask_write 0XFD40E370 0x000000FF 0x000000C9
                # 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
+               # PSU_SERDES_L3_PLL_SS_STEP_SIZE_1_SS_STEP_SIZE_1                                 0xD2
 
                # Step Size for Spread Spectrum 1
-               #(OFFSET, MASK, VALUE)      (0XFD40E374, 0x000000FFU ,0x00000000U)  */
-    mask_write 0XFD40E374 0x000000FF 0x00000000
+               #(OFFSET, MASK, VALUE)      (0XFD40E374, 0x000000FFU ,0x000000D2U)  */
+    mask_write 0XFD40E374 0x000000FF 0x000000D2
                # 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
+               # PSU_SERDES_L3_PLL_SS_STEP_SIZE_2_SS_STEP_SIZE_2                                 0x1
 
                # Step Size for Spread Spectrum 2
-               #(OFFSET, MASK, VALUE)      (0XFD40E378, 0x000000FFU ,0x00000000U)  */
-    mask_write 0XFD40E378 0x000000FF 0x00000000
+               #(OFFSET, MASK, VALUE)      (0XFD40E378, 0x000000FFU ,0x00000001U)  */
+    mask_write 0XFD40E378 0x000000FF 0x00000001
                # Register : L3_PLL_SS_STEP_SIZE_3_MSB @ 0XFD40E37C</p>
 
                # Step Size for Spread Spectrum [25:24]
@@ -12360,6 +12735,491 @@ set psu_serdes_init_data {
                # Opmode Info
                #(OFFSET, MASK, VALUE)      (0XFD40CB00, 0x000000F0U ,0x000000F0U)  */
     mask_write 0XFD40CB00 0x000000F0 0x000000F0
+               # : ENABLE CHICKEN BIT FOR PCIE AND USB
+               # Register : L0_TM_AUX_0 @ 0XFD4010CC</p>
+
+               # Spare- not used
+               # PSU_SERDES_L0_TM_AUX_0_BIT_2                                                    1
+
+               # Spare registers
+               #(OFFSET, MASK, VALUE)      (0XFD4010CC, 0x00000020U ,0x00000020U)  */
+    mask_write 0XFD4010CC 0x00000020 0x00000020
+               # Register : L2_TM_AUX_0 @ 0XFD4090CC</p>
+
+               # Spare- not used
+               # PSU_SERDES_L2_TM_AUX_0_BIT_2                                                    1
+
+               # Spare registers
+               #(OFFSET, MASK, VALUE)      (0XFD4090CC, 0x00000020U ,0x00000020U)  */
+    mask_write 0XFD4090CC 0x00000020 0x00000020
+               # : ENABLING EYE SURF
+               # Register : L0_TM_DIG_8 @ 0XFD401074</p>
+
+               # Enable Eye Surf
+               # PSU_SERDES_L0_TM_DIG_8_EYESURF_ENABLE                                           0x1
+
+               # Test modes for Elastic buffer and enabling Eye Surf
+               #(OFFSET, MASK, VALUE)      (0XFD401074, 0x00000010U ,0x00000010U)  */
+    mask_write 0XFD401074 0x00000010 0x00000010
+               # Register : L1_TM_DIG_8 @ 0XFD405074</p>
+
+               # Enable Eye Surf
+               # PSU_SERDES_L1_TM_DIG_8_EYESURF_ENABLE                                           0x1
+
+               # Test modes for Elastic buffer and enabling Eye Surf
+               #(OFFSET, MASK, VALUE)      (0XFD405074, 0x00000010U ,0x00000010U)  */
+    mask_write 0XFD405074 0x00000010 0x00000010
+               # Register : L2_TM_DIG_8 @ 0XFD409074</p>
+
+               # Enable Eye Surf
+               # PSU_SERDES_L2_TM_DIG_8_EYESURF_ENABLE                                           0x1
+
+               # Test modes for Elastic buffer and enabling Eye Surf
+               #(OFFSET, MASK, VALUE)      (0XFD409074, 0x00000010U ,0x00000010U)  */
+    mask_write 0XFD409074 0x00000010 0x00000010
+               # Register : L3_TM_DIG_8 @ 0XFD40D074</p>
+
+               # Enable Eye Surf
+               # PSU_SERDES_L3_TM_DIG_8_EYESURF_ENABLE                                           0x1
+
+               # Test modes for Elastic buffer and enabling Eye Surf
+               #(OFFSET, MASK, VALUE)      (0XFD40D074, 0x00000010U ,0x00000010U)  */
+    mask_write 0XFD40D074 0x00000010 0x00000010
+               # : ILL SETTINGS FOR GAIN AND LOCK SETTINGS
+               # Register : L0_TM_MISC2 @ 0XFD40189C</p>
+
+               # ILL calib counts BYPASSED with calcode bits
+               # PSU_SERDES_L0_TM_MISC2_ILL_CAL_BYPASS_COUNTS                                    0x1
+
+               # sampler cal
+               #(OFFSET, MASK, VALUE)      (0XFD40189C, 0x00000080U ,0x00000080U)  */
+    mask_write 0XFD40189C 0x00000080 0x00000080
+               # Register : L0_TM_IQ_ILL1 @ 0XFD4018F8</p>
+
+               # IQ ILL F0 CALCODE bypass value. MPHY : G1a, PCIE : Gen 1, SATA : Gen1 , USB3 : SS
+               # PSU_SERDES_L0_TM_IQ_ILL1_ILL_BYPASS_IQ_CALCODE_F0                               0x64
+
+               # iqpi cal code
+               #(OFFSET, MASK, VALUE)      (0XFD4018F8, 0x000000FFU ,0x00000064U)  */
+    mask_write 0XFD4018F8 0x000000FF 0x00000064
+               # Register : L0_TM_IQ_ILL2 @ 0XFD4018FC</p>
+
+               # IQ ILL F1 CALCODE bypass value. MPHY : G1b, PCIE : Gen2, SATA: Gen2
+               # PSU_SERDES_L0_TM_IQ_ILL2_ILL_BYPASS_IQ_CALCODE_F1                               0x64
+
+               # iqpi cal code
+               #(OFFSET, MASK, VALUE)      (0XFD4018FC, 0x000000FFU ,0x00000064U)  */
+    mask_write 0XFD4018FC 0x000000FF 0x00000064
+               # Register : L0_TM_ILL12 @ 0XFD401990</p>
+
+               # G1A pll ctr bypass value
+               # PSU_SERDES_L0_TM_ILL12_G1A_PLL_CTR_BYP_VAL                                      0x11
+
+               # ill pll counter values
+               #(OFFSET, MASK, VALUE)      (0XFD401990, 0x000000FFU ,0x00000011U)  */
+    mask_write 0XFD401990 0x000000FF 0x00000011
+               # Register : L0_TM_E_ILL1 @ 0XFD401924</p>
+
+               # E ILL F0 CALCODE bypass value. MPHY : G1a, PCIE : Gen 1, SATA : Gen1 , USB3 : SS
+               # PSU_SERDES_L0_TM_E_ILL1_ILL_BYPASS_E_CALCODE_F0                                 0x4
+
+               # epi cal code
+               #(OFFSET, MASK, VALUE)      (0XFD401924, 0x000000FFU ,0x00000004U)  */
+    mask_write 0XFD401924 0x000000FF 0x00000004
+               # Register : L0_TM_E_ILL2 @ 0XFD401928</p>
+
+               # E ILL F1 CALCODE bypass value. MPHY : G1b, PCIE : Gen2, SATA: Gen2
+               # PSU_SERDES_L0_TM_E_ILL2_ILL_BYPASS_E_CALCODE_F1                                 0xFE
+
+               # epi cal code
+               #(OFFSET, MASK, VALUE)      (0XFD401928, 0x000000FFU ,0x000000FEU)  */
+    mask_write 0XFD401928 0x000000FF 0x000000FE
+               # Register : L0_TM_IQ_ILL3 @ 0XFD401900</p>
+
+               # IQ ILL F2CALCODE bypass value. MPHY : G2a, SATA : Gen3
+               # PSU_SERDES_L0_TM_IQ_ILL3_ILL_BYPASS_IQ_CALCODE_F2                               0x64
+
+               # iqpi cal code
+               #(OFFSET, MASK, VALUE)      (0XFD401900, 0x000000FFU ,0x00000064U)  */
+    mask_write 0XFD401900 0x000000FF 0x00000064
+               # Register : L0_TM_E_ILL3 @ 0XFD40192C</p>
+
+               # E ILL F2CALCODE bypass value. MPHY : G2a, SATA : Gen3
+               # PSU_SERDES_L0_TM_E_ILL3_ILL_BYPASS_E_CALCODE_F2                                 0x0
+
+               # epi cal code
+               #(OFFSET, MASK, VALUE)      (0XFD40192C, 0x000000FFU ,0x00000000U)  */
+    mask_write 0XFD40192C 0x000000FF 0x00000000
+               # Register : L0_TM_ILL8 @ 0XFD401980</p>
+
+               # ILL calibration code change wait time
+               # PSU_SERDES_L0_TM_ILL8_ILL_CAL_ITER_WAIT                                         0xFF
+
+               # ILL cal routine control
+               #(OFFSET, MASK, VALUE)      (0XFD401980, 0x000000FFU ,0x000000FFU)  */
+    mask_write 0XFD401980 0x000000FF 0x000000FF
+               # Register : L0_TM_IQ_ILL8 @ 0XFD401914</p>
+
+               # IQ ILL polytrim bypass value
+               # PSU_SERDES_L0_TM_IQ_ILL8_ILL_BYPASS_IQ_POLYTRIM_VAL                             0xF7
+
+               # iqpi polytrim
+               #(OFFSET, MASK, VALUE)      (0XFD401914, 0x000000FFU ,0x000000F7U)  */
+    mask_write 0XFD401914 0x000000FF 0x000000F7
+               # Register : L0_TM_IQ_ILL9 @ 0XFD401918</p>
+
+               # bypass IQ polytrim
+               # PSU_SERDES_L0_TM_IQ_ILL9_ILL_BYPASS_IQ_POLYTIM                                  0x1
+
+               # enables for lf,constant gm trim and polytirm
+               #(OFFSET, MASK, VALUE)      (0XFD401918, 0x00000001U ,0x00000001U)  */
+    mask_write 0XFD401918 0x00000001 0x00000001
+               # Register : L0_TM_E_ILL8 @ 0XFD401940</p>
+
+               # E ILL polytrim bypass value
+               # PSU_SERDES_L0_TM_E_ILL8_ILL_BYPASS_E_POLYTRIM_VAL                               0xF7
+
+               # epi polytrim
+               #(OFFSET, MASK, VALUE)      (0XFD401940, 0x000000FFU ,0x000000F7U)  */
+    mask_write 0XFD401940 0x000000FF 0x000000F7
+               # Register : L0_TM_E_ILL9 @ 0XFD401944</p>
+
+               # bypass E polytrim
+               # PSU_SERDES_L0_TM_E_ILL9_ILL_BYPASS_E_POLYTIM                                    0x1
+
+               # enables for lf,constant gm trim and polytirm
+               #(OFFSET, MASK, VALUE)      (0XFD401944, 0x00000001U ,0x00000001U)  */
+    mask_write 0XFD401944 0x00000001 0x00000001
+               # Register : L2_TM_MISC2 @ 0XFD40989C</p>
+
+               # ILL calib counts BYPASSED with calcode bits
+               # PSU_SERDES_L2_TM_MISC2_ILL_CAL_BYPASS_COUNTS                                    0x1
+
+               # sampler cal
+               #(OFFSET, MASK, VALUE)      (0XFD40989C, 0x00000080U ,0x00000080U)  */
+    mask_write 0XFD40989C 0x00000080 0x00000080
+               # Register : L2_TM_IQ_ILL1 @ 0XFD4098F8</p>
+
+               # IQ ILL F0 CALCODE bypass value. MPHY : G1a, PCIE : Gen 1, SATA : Gen1 , USB3 : SS
+               # PSU_SERDES_L2_TM_IQ_ILL1_ILL_BYPASS_IQ_CALCODE_F0                               0x1A
+
+               # iqpi cal code
+               #(OFFSET, MASK, VALUE)      (0XFD4098F8, 0x000000FFU ,0x0000001AU)  */
+    mask_write 0XFD4098F8 0x000000FF 0x0000001A
+               # Register : L2_TM_IQ_ILL2 @ 0XFD4098FC</p>
+
+               # IQ ILL F1 CALCODE bypass value. MPHY : G1b, PCIE : Gen2, SATA: Gen2
+               # PSU_SERDES_L2_TM_IQ_ILL2_ILL_BYPASS_IQ_CALCODE_F1                               0x1A
+
+               # iqpi cal code
+               #(OFFSET, MASK, VALUE)      (0XFD4098FC, 0x000000FFU ,0x0000001AU)  */
+    mask_write 0XFD4098FC 0x000000FF 0x0000001A
+               # Register : L2_TM_ILL12 @ 0XFD409990</p>
+
+               # G1A pll ctr bypass value
+               # PSU_SERDES_L2_TM_ILL12_G1A_PLL_CTR_BYP_VAL                                      0x10
+
+               # ill pll counter values
+               #(OFFSET, MASK, VALUE)      (0XFD409990, 0x000000FFU ,0x00000010U)  */
+    mask_write 0XFD409990 0x000000FF 0x00000010
+               # Register : L2_TM_E_ILL1 @ 0XFD409924</p>
+
+               # E ILL F0 CALCODE bypass value. MPHY : G1a, PCIE : Gen 1, SATA : Gen1 , USB3 : SS
+               # PSU_SERDES_L2_TM_E_ILL1_ILL_BYPASS_E_CALCODE_F0                                 0xFE
+
+               # epi cal code
+               #(OFFSET, MASK, VALUE)      (0XFD409924, 0x000000FFU ,0x000000FEU)  */
+    mask_write 0XFD409924 0x000000FF 0x000000FE
+               # Register : L2_TM_E_ILL2 @ 0XFD409928</p>
+
+               # E ILL F1 CALCODE bypass value. MPHY : G1b, PCIE : Gen2, SATA: Gen2
+               # PSU_SERDES_L2_TM_E_ILL2_ILL_BYPASS_E_CALCODE_F1                                 0x0
+
+               # epi cal code
+               #(OFFSET, MASK, VALUE)      (0XFD409928, 0x000000FFU ,0x00000000U)  */
+    mask_write 0XFD409928 0x000000FF 0x00000000
+               # Register : L2_TM_IQ_ILL3 @ 0XFD409900</p>
+
+               # IQ ILL F2CALCODE bypass value. MPHY : G2a, SATA : Gen3
+               # PSU_SERDES_L2_TM_IQ_ILL3_ILL_BYPASS_IQ_CALCODE_F2                               0x1A
+
+               # iqpi cal code
+               #(OFFSET, MASK, VALUE)      (0XFD409900, 0x000000FFU ,0x0000001AU)  */
+    mask_write 0XFD409900 0x000000FF 0x0000001A
+               # Register : L2_TM_E_ILL3 @ 0XFD40992C</p>
+
+               # E ILL F2CALCODE bypass value. MPHY : G2a, SATA : Gen3
+               # PSU_SERDES_L2_TM_E_ILL3_ILL_BYPASS_E_CALCODE_F2                                 0x0
+
+               # epi cal code
+               #(OFFSET, MASK, VALUE)      (0XFD40992C, 0x000000FFU ,0x00000000U)  */
+    mask_write 0XFD40992C 0x000000FF 0x00000000
+               # Register : L2_TM_ILL8 @ 0XFD409980</p>
+
+               # ILL calibration code change wait time
+               # PSU_SERDES_L2_TM_ILL8_ILL_CAL_ITER_WAIT                                         0xFF
+
+               # ILL cal routine control
+               #(OFFSET, MASK, VALUE)      (0XFD409980, 0x000000FFU ,0x000000FFU)  */
+    mask_write 0XFD409980 0x000000FF 0x000000FF
+               # Register : L2_TM_IQ_ILL8 @ 0XFD409914</p>
+
+               # IQ ILL polytrim bypass value
+               # PSU_SERDES_L2_TM_IQ_ILL8_ILL_BYPASS_IQ_POLYTRIM_VAL                             0xF7
+
+               # iqpi polytrim
+               #(OFFSET, MASK, VALUE)      (0XFD409914, 0x000000FFU ,0x000000F7U)  */
+    mask_write 0XFD409914 0x000000FF 0x000000F7
+               # Register : L2_TM_IQ_ILL9 @ 0XFD409918</p>
+
+               # bypass IQ polytrim
+               # PSU_SERDES_L2_TM_IQ_ILL9_ILL_BYPASS_IQ_POLYTIM                                  0x1
+
+               # enables for lf,constant gm trim and polytirm
+               #(OFFSET, MASK, VALUE)      (0XFD409918, 0x00000001U ,0x00000001U)  */
+    mask_write 0XFD409918 0x00000001 0x00000001
+               # Register : L2_TM_E_ILL8 @ 0XFD409940</p>
+
+               # E ILL polytrim bypass value
+               # PSU_SERDES_L2_TM_E_ILL8_ILL_BYPASS_E_POLYTRIM_VAL                               0xF7
+
+               # epi polytrim
+               #(OFFSET, MASK, VALUE)      (0XFD409940, 0x000000FFU ,0x000000F7U)  */
+    mask_write 0XFD409940 0x000000FF 0x000000F7
+               # Register : L2_TM_E_ILL9 @ 0XFD409944</p>
+
+               # bypass E polytrim
+               # PSU_SERDES_L2_TM_E_ILL9_ILL_BYPASS_E_POLYTIM                                    0x1
+
+               # enables for lf,constant gm trim and polytirm
+               #(OFFSET, MASK, VALUE)      (0XFD409944, 0x00000001U ,0x00000001U)  */
+    mask_write 0XFD409944 0x00000001 0x00000001
+               # Register : L3_TM_MISC2 @ 0XFD40D89C</p>
+
+               # ILL calib counts BYPASSED with calcode bits
+               # PSU_SERDES_L3_TM_MISC2_ILL_CAL_BYPASS_COUNTS                                    0x1
+
+               # sampler cal
+               #(OFFSET, MASK, VALUE)      (0XFD40D89C, 0x00000080U ,0x00000080U)  */
+    mask_write 0XFD40D89C 0x00000080 0x00000080
+               # Register : L3_TM_IQ_ILL1 @ 0XFD40D8F8</p>
+
+               # IQ ILL F0 CALCODE bypass value. MPHY : G1a, PCIE : Gen 1, SATA : Gen1 , USB3 : SS
+               # PSU_SERDES_L3_TM_IQ_ILL1_ILL_BYPASS_IQ_CALCODE_F0                               0x7D
+
+               # iqpi cal code
+               #(OFFSET, MASK, VALUE)      (0XFD40D8F8, 0x000000FFU ,0x0000007DU)  */
+    mask_write 0XFD40D8F8 0x000000FF 0x0000007D
+               # Register : L3_TM_IQ_ILL2 @ 0XFD40D8FC</p>
+
+               # IQ ILL F1 CALCODE bypass value. MPHY : G1b, PCIE : Gen2, SATA: Gen2
+               # PSU_SERDES_L3_TM_IQ_ILL2_ILL_BYPASS_IQ_CALCODE_F1                               0x7D
+
+               # iqpi cal code
+               #(OFFSET, MASK, VALUE)      (0XFD40D8FC, 0x000000FFU ,0x0000007DU)  */
+    mask_write 0XFD40D8FC 0x000000FF 0x0000007D
+               # Register : L3_TM_ILL12 @ 0XFD40D990</p>
+
+               # G1A pll ctr bypass value
+               # PSU_SERDES_L3_TM_ILL12_G1A_PLL_CTR_BYP_VAL                                      0x1
+
+               # ill pll counter values
+               #(OFFSET, MASK, VALUE)      (0XFD40D990, 0x000000FFU ,0x00000001U)  */
+    mask_write 0XFD40D990 0x000000FF 0x00000001
+               # Register : L3_TM_E_ILL1 @ 0XFD40D924</p>
+
+               # E ILL F0 CALCODE bypass value. MPHY : G1a, PCIE : Gen 1, SATA : Gen1 , USB3 : SS
+               # PSU_SERDES_L3_TM_E_ILL1_ILL_BYPASS_E_CALCODE_F0                                 0x9C
+
+               # epi cal code
+               #(OFFSET, MASK, VALUE)      (0XFD40D924, 0x000000FFU ,0x0000009CU)  */
+    mask_write 0XFD40D924 0x000000FF 0x0000009C
+               # Register : L3_TM_E_ILL2 @ 0XFD40D928</p>
+
+               # E ILL F1 CALCODE bypass value. MPHY : G1b, PCIE : Gen2, SATA: Gen2
+               # PSU_SERDES_L3_TM_E_ILL2_ILL_BYPASS_E_CALCODE_F1                                 0x39
+
+               # epi cal code
+               #(OFFSET, MASK, VALUE)      (0XFD40D928, 0x000000FFU ,0x00000039U)  */
+    mask_write 0XFD40D928 0x000000FF 0x00000039
+               # Register : L3_TM_ILL11 @ 0XFD40D98C</p>
+
+               # G2A_PCIe1 PLL ctr bypass value
+               # PSU_SERDES_L3_TM_ILL11_G2A_PCIEG1_PLL_CTR_11_8_BYP_VAL                          0x2
+
+               # ill pll counter values
+               #(OFFSET, MASK, VALUE)      (0XFD40D98C, 0x000000F0U ,0x00000020U)  */
+    mask_write 0XFD40D98C 0x000000F0 0x00000020
+               # Register : L3_TM_IQ_ILL3 @ 0XFD40D900</p>
+
+               # IQ ILL F2CALCODE bypass value. MPHY : G2a, SATA : Gen3
+               # PSU_SERDES_L3_TM_IQ_ILL3_ILL_BYPASS_IQ_CALCODE_F2                               0x7D
+
+               # iqpi cal code
+               #(OFFSET, MASK, VALUE)      (0XFD40D900, 0x000000FFU ,0x0000007DU)  */
+    mask_write 0XFD40D900 0x000000FF 0x0000007D
+               # Register : L3_TM_E_ILL3 @ 0XFD40D92C</p>
+
+               # E ILL F2CALCODE bypass value. MPHY : G2a, SATA : Gen3
+               # PSU_SERDES_L3_TM_E_ILL3_ILL_BYPASS_E_CALCODE_F2                                 0x64
+
+               # epi cal code
+               #(OFFSET, MASK, VALUE)      (0XFD40D92C, 0x000000FFU ,0x00000064U)  */
+    mask_write 0XFD40D92C 0x000000FF 0x00000064
+               # Register : L3_TM_ILL8 @ 0XFD40D980</p>
+
+               # ILL calibration code change wait time
+               # PSU_SERDES_L3_TM_ILL8_ILL_CAL_ITER_WAIT                                         0xFF
+
+               # ILL cal routine control
+               #(OFFSET, MASK, VALUE)      (0XFD40D980, 0x000000FFU ,0x000000FFU)  */
+    mask_write 0XFD40D980 0x000000FF 0x000000FF
+               # Register : L3_TM_IQ_ILL8 @ 0XFD40D914</p>
+
+               # IQ ILL polytrim bypass value
+               # PSU_SERDES_L3_TM_IQ_ILL8_ILL_BYPASS_IQ_POLYTRIM_VAL                             0xF7
+
+               # iqpi polytrim
+               #(OFFSET, MASK, VALUE)      (0XFD40D914, 0x000000FFU ,0x000000F7U)  */
+    mask_write 0XFD40D914 0x000000FF 0x000000F7
+               # Register : L3_TM_IQ_ILL9 @ 0XFD40D918</p>
+
+               # bypass IQ polytrim
+               # PSU_SERDES_L3_TM_IQ_ILL9_ILL_BYPASS_IQ_POLYTIM                                  0x1
+
+               # enables for lf,constant gm trim and polytirm
+               #(OFFSET, MASK, VALUE)      (0XFD40D918, 0x00000001U ,0x00000001U)  */
+    mask_write 0XFD40D918 0x00000001 0x00000001
+               # Register : L3_TM_E_ILL8 @ 0XFD40D940</p>
+
+               # E ILL polytrim bypass value
+               # PSU_SERDES_L3_TM_E_ILL8_ILL_BYPASS_E_POLYTRIM_VAL                               0xF7
+
+               # epi polytrim
+               #(OFFSET, MASK, VALUE)      (0XFD40D940, 0x000000FFU ,0x000000F7U)  */
+    mask_write 0XFD40D940 0x000000FF 0x000000F7
+               # Register : L3_TM_E_ILL9 @ 0XFD40D944</p>
+
+               # bypass E polytrim
+               # PSU_SERDES_L3_TM_E_ILL9_ILL_BYPASS_E_POLYTIM                                    0x1
+
+               # enables for lf,constant gm trim and polytirm
+               #(OFFSET, MASK, VALUE)      (0XFD40D944, 0x00000001U ,0x00000001U)  */
+    mask_write 0XFD40D944 0x00000001 0x00000001
+               # : SYMBOL LOCK AND WAIT
+               # Register : L0_TM_DIG_21 @ 0XFD4010A8</p>
+
+               # pre lock comma count threshold. 2'b 00 : 3, 2'b 01 : 5, 2'b 10 : 10, 2'b 11 : 20
+               # PSU_SERDES_L0_TM_DIG_21_COMMA_PRE_LOCK_THRESH                                   0x11
+
+               # Control symbol alignment locking - wait counts
+               #(OFFSET, MASK, VALUE)      (0XFD4010A8, 0x00000003U ,0x00000003U)  */
+    mask_write 0XFD4010A8 0x00000003 0x00000003
+               # Register : L0_TM_DIG_10 @ 0XFD40107C</p>
+
+               # CDR lock wait time. (1-16 us). cdr_lock_wait_time = 4'b xxxx + 4'b 0001
+               # PSU_SERDES_L0_TM_DIG_10_CDR_BIT_LOCK_TIME                                       0xF
+
+               # test control for changing cdr lock wait time
+               #(OFFSET, MASK, VALUE)      (0XFD40107C, 0x0000000FU ,0x0000000FU)  */
+    mask_write 0XFD40107C 0x0000000F 0x0000000F
+               # : SIOU SETTINGS FOR BYPASS CONTROL,HSRX-DIG
+               # Register : L0_TM_RST_DLY @ 0XFD4019A4</p>
+
+               # Delay apb reset by specified amount
+               # PSU_SERDES_L0_TM_RST_DLY_APB_RST_DLY                                            0xFF
+
+               # reset delay for apb reset w.r.t pso of hsrx
+               #(OFFSET, MASK, VALUE)      (0XFD4019A4, 0x000000FFU ,0x000000FFU)  */
+    mask_write 0XFD4019A4 0x000000FF 0x000000FF
+               # Register : L0_TM_ANA_BYP_15 @ 0XFD401038</p>
+
+               # Enable Bypass for <7> of TM_ANA_BYPS_15
+               # PSU_SERDES_L0_TM_ANA_BYP_15_FORCE_UPHY_ENABLE_LOW_LEAKAGE                       0x1
+
+               # Bypass control for pcs-pma interface. EQ supplies, main master supply and ps for samp c2c
+               #(OFFSET, MASK, VALUE)      (0XFD401038, 0x00000040U ,0x00000040U)  */
+    mask_write 0XFD401038 0x00000040 0x00000040
+               # Register : L0_TM_ANA_BYP_12 @ 0XFD40102C</p>
+
+               # Enable Bypass for <7> of TM_ANA_BYPS_12
+               # PSU_SERDES_L0_TM_ANA_BYP_12_FORCE_UPHY_PSO_HSRXDIG                              0x1
+
+               # Bypass control for pcs-pma interface. Hsrx supply, hsrx des, and cdr enable controls
+               #(OFFSET, MASK, VALUE)      (0XFD40102C, 0x00000040U ,0x00000040U)  */
+    mask_write 0XFD40102C 0x00000040 0x00000040
+               # Register : L1_TM_RST_DLY @ 0XFD4059A4</p>
+
+               # Delay apb reset by specified amount
+               # PSU_SERDES_L1_TM_RST_DLY_APB_RST_DLY                                            0xFF
+
+               # reset delay for apb reset w.r.t pso of hsrx
+               #(OFFSET, MASK, VALUE)      (0XFD4059A4, 0x000000FFU ,0x000000FFU)  */
+    mask_write 0XFD4059A4 0x000000FF 0x000000FF
+               # Register : L1_TM_ANA_BYP_15 @ 0XFD405038</p>
+
+               # Enable Bypass for <7> of TM_ANA_BYPS_15
+               # PSU_SERDES_L1_TM_ANA_BYP_15_FORCE_UPHY_ENABLE_LOW_LEAKAGE                       0x1
+
+               # Bypass control for pcs-pma interface. EQ supplies, main master supply and ps for samp c2c
+               #(OFFSET, MASK, VALUE)      (0XFD405038, 0x00000040U ,0x00000040U)  */
+    mask_write 0XFD405038 0x00000040 0x00000040
+               # Register : L1_TM_ANA_BYP_12 @ 0XFD40502C</p>
+
+               # Enable Bypass for <7> of TM_ANA_BYPS_12
+               # PSU_SERDES_L1_TM_ANA_BYP_12_FORCE_UPHY_PSO_HSRXDIG                              0x1
+
+               # Bypass control for pcs-pma interface. Hsrx supply, hsrx des, and cdr enable controls
+               #(OFFSET, MASK, VALUE)      (0XFD40502C, 0x00000040U ,0x00000040U)  */
+    mask_write 0XFD40502C 0x00000040 0x00000040
+               # Register : L2_TM_RST_DLY @ 0XFD4099A4</p>
+
+               # Delay apb reset by specified amount
+               # PSU_SERDES_L2_TM_RST_DLY_APB_RST_DLY                                            0xFF
+
+               # reset delay for apb reset w.r.t pso of hsrx
+               #(OFFSET, MASK, VALUE)      (0XFD4099A4, 0x000000FFU ,0x000000FFU)  */
+    mask_write 0XFD4099A4 0x000000FF 0x000000FF
+               # Register : L2_TM_ANA_BYP_15 @ 0XFD409038</p>
+
+               # Enable Bypass for <7> of TM_ANA_BYPS_15
+               # PSU_SERDES_L2_TM_ANA_BYP_15_FORCE_UPHY_ENABLE_LOW_LEAKAGE                       0x1
+
+               # Bypass control for pcs-pma interface. EQ supplies, main master supply and ps for samp c2c
+               #(OFFSET, MASK, VALUE)      (0XFD409038, 0x00000040U ,0x00000040U)  */
+    mask_write 0XFD409038 0x00000040 0x00000040
+               # Register : L2_TM_ANA_BYP_12 @ 0XFD40902C</p>
+
+               # Enable Bypass for <7> of TM_ANA_BYPS_12
+               # PSU_SERDES_L2_TM_ANA_BYP_12_FORCE_UPHY_PSO_HSRXDIG                              0x1
+
+               # Bypass control for pcs-pma interface. Hsrx supply, hsrx des, and cdr enable controls
+               #(OFFSET, MASK, VALUE)      (0XFD40902C, 0x00000040U ,0x00000040U)  */
+    mask_write 0XFD40902C 0x00000040 0x00000040
+               # Register : L3_TM_RST_DLY @ 0XFD40D9A4</p>
+
+               # Delay apb reset by specified amount
+               # PSU_SERDES_L3_TM_RST_DLY_APB_RST_DLY                                            0xFF
+
+               # reset delay for apb reset w.r.t pso of hsrx
+               #(OFFSET, MASK, VALUE)      (0XFD40D9A4, 0x000000FFU ,0x000000FFU)  */
+    mask_write 0XFD40D9A4 0x000000FF 0x000000FF
+               # Register : L3_TM_ANA_BYP_15 @ 0XFD40D038</p>
+
+               # Enable Bypass for <7> of TM_ANA_BYPS_15
+               # PSU_SERDES_L3_TM_ANA_BYP_15_FORCE_UPHY_ENABLE_LOW_LEAKAGE                       0x1
+
+               # Bypass control for pcs-pma interface. EQ supplies, main master supply and ps for samp c2c
+               #(OFFSET, MASK, VALUE)      (0XFD40D038, 0x00000040U ,0x00000040U)  */
+    mask_write 0XFD40D038 0x00000040 0x00000040
+               # Register : L3_TM_ANA_BYP_12 @ 0XFD40D02C</p>
+
+               # Enable Bypass for <7> of TM_ANA_BYPS_12
+               # PSU_SERDES_L3_TM_ANA_BYP_12_FORCE_UPHY_PSO_HSRXDIG                              0x1
+
+               # Bypass control for pcs-pma interface. Hsrx supply, hsrx des, and cdr enable controls
+               #(OFFSET, MASK, VALUE)      (0XFD40D02C, 0x00000040U ,0x00000040U)  */
+    mask_write 0XFD40D02C 0x00000040 0x00000040
                # : GT LANE SETTINGS
                # Register : ICM_CFG0 @ 0XFD410010</p>
 
@@ -12417,6 +13277,54 @@ set psu_serdes_init_data {
                # Enable Override of TX deemphasis
                #(OFFSET, MASK, VALUE)      (0XFD4041D8, 0x00000001U ,0x00000001U)  */
     mask_write 0XFD4041D8 0x00000001 0x00000001
+               # Register : L3_TX_ANA_TM_118 @ 0XFD40C1D8</p>
+
+               # Test register force for enabling/disablign TX deemphasis bits <17:0>
+               # PSU_SERDES_L3_TX_ANA_TM_118_FORCE_TX_DEEMPH_17_0                                0x1
+
+               # Enable Override of TX deemphasis
+               #(OFFSET, MASK, VALUE)      (0XFD40C1D8, 0x00000001U ,0x00000001U)  */
+    mask_write 0XFD40C1D8 0x00000001 0x00000001
+               # : CDR AND RX EQUALIZATION SETTINGS
+               # Register : L3_TM_CDR5 @ 0XFD40DC14</p>
+
+               # FPHL FSM accumulate cycles
+               # PSU_SERDES_L3_TM_CDR5_FPHL_FSM_ACC_CYCLES                                       0x7
+
+               # FFL Phase0 int gain aka 2ol SD update rate
+               # PSU_SERDES_L3_TM_CDR5_FFL_PH0_INT_GAIN                                          0x6
+
+               # Fast phase lock controls -- FSM accumulator cycle control and phase 0 int gain control.
+               #(OFFSET, MASK, VALUE)      (0XFD40DC14, 0x000000FFU ,0x000000E6U)  */
+    mask_write 0XFD40DC14 0x000000FF 0x000000E6
+               # Register : L3_TM_CDR16 @ 0XFD40DC40</p>
+
+               # FFL Phase0 prop gain aka 1ol SD update rate
+               # PSU_SERDES_L3_TM_CDR16_FFL_PH0_PROP_GAIN                                        0xC
+
+               # Fast phase lock controls -- phase 0 prop gain
+               #(OFFSET, MASK, VALUE)      (0XFD40DC40, 0x0000001FU ,0x0000000CU)  */
+    mask_write 0XFD40DC40 0x0000001F 0x0000000C
+               # Register : L3_TM_EQ0 @ 0XFD40D94C</p>
+
+               # EQ stg 2 controls BYPASSED
+               # PSU_SERDES_L3_TM_EQ0_EQ_STG2_CTRL_BYP                                           1
+
+               # eq stg1 and stg2 controls
+               #(OFFSET, MASK, VALUE)      (0XFD40D94C, 0x00000020U ,0x00000020U)  */
+    mask_write 0XFD40D94C 0x00000020 0x00000020
+               # Register : L3_TM_EQ1 @ 0XFD40D950</p>
+
+               # EQ STG2 RL PROG
+               # PSU_SERDES_L3_TM_EQ1_EQ_STG2_RL_PROG                                            0x2
+
+               # EQ stg 2 preamp mode val
+               # PSU_SERDES_L3_TM_EQ1_EQ_STG2_PREAMP_MODE_VAL                                    0x1
+
+               # eq stg1 and stg2 controls
+               #(OFFSET, MASK, VALUE)      (0XFD40D950, 0x00000007U ,0x00000006U)  */
+    mask_write 0XFD40D950 0x00000007 0x00000006
+               # : GEM SERDES SETTINGS
                # : ENABLE PRE EMPHAIS AND VOLTAGE SWING
                # Register : L1_TXPMD_TM_48 @ 0XFD404CC0</p>
 
@@ -12434,6 +13342,14 @@ set psu_serdes_init_data {
                # Override for PIPE TX de-emphasis
                #(OFFSET, MASK, VALUE)      (0XFD404048, 0x000000FFU ,0x00000000U)  */
     mask_write 0XFD404048 0x000000FF 0x00000000
+               # Register : L3_TX_ANA_TM_18 @ 0XFD40C048</p>
+
+               # pipe_TX_Deemph. 0: -6dB de-emphasis, 1: -3.5dB de-emphasis, 2 : No de-emphasis, Others: reserved
+               # PSU_SERDES_L3_TX_ANA_TM_18_PIPE_TX_DEEMPH_7_0                                   0x1
+
+               # Override for PIPE TX de-emphasis
+               #(OFFSET, MASK, VALUE)      (0XFD40C048, 0x000000FFU ,0x00000001U)  */
+    mask_write 0XFD40C048 0x000000FF 0x00000001
 }
 
 set psu_resetout_init_data {
@@ -12456,6 +13372,14 @@ set psu_resetout_init_data {
                # fpd_power_prsnt
                #(OFFSET, MASK, VALUE)      (0XFF9D0080, 0x00000001U ,0x00000001U)  */
     mask_write 0XFF9D0080 0x00000001 0x00000001
+               # Register : fpd_pipe_clk @ 0XFF9D007C</p>
+
+               # This bit is used to choose between PIPE clock coming from SerDes and the suspend clk
+               # PSU_USB3_0_FPD_PIPE_CLK_OPTION                                                  0x0
+
+               # fpd_pipe_clk
+               #(OFFSET, MASK, VALUE)      (0XFF9D007C, 0x00000001U ,0x00000000U)  */
+    mask_write 0XFF9D007C 0x00000001 0x00000000
                # : 
                # Register : RST_LPD_TOP @ 0XFF5E023C</p>
 
@@ -12494,21 +13418,18 @@ set psu_resetout_init_data {
                # FPD Block level software controlled reset
                #(OFFSET, MASK, VALUE)      (0XFD1A0100, 0x00000002U ,0x00000000U)  */
     mask_write 0XFD1A0100 0x00000002 0x00000000
-               # : PUTTING PCIE IN RESET
+               # : PUTTING PCIE CFG AND BRIDGE 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)  */
-    mask_write 0XFD1A0100 0x000E0000 0x00000000
+               #(OFFSET, MASK, VALUE)      (0XFD1A0100, 0x000C0000U ,0x00000000U)  */
+    mask_write 0XFD1A0100 0x000C0000 0x00000000
                # : PUTTING DP IN RESET
                # Register : RST_FPD_TOP @ 0XFD1A0100</p>
 
@@ -12544,7 +13465,7 @@ set psu_resetout_init_data {
                # . 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
+               # 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
@@ -12552,7 +13473,7 @@ set psu_resetout_init_data {
                # 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
+               # 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
@@ -12561,42 +13482,33 @@ set psu_resetout_init_data {
                # 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
+               # 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
+               # PSU_USB3_0_XHCI_GUSB2PHYCFG_PHYSEL                                              0x0
 
                # 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
+               # 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
+               # 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
+               # 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 
@@ -12606,13 +13518,13 @@ set psu_resetout_init_data {
                # 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
+               # 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)  */
-    mask_write 0XFE20C200 0x00003FFF 0x00002457
+               #(OFFSET, MASK, VALUE)      (0XFE20C200, 0x00003FBFU ,0x00002417U)  */
+    mask_write 0XFE20C200 0x00003FBF 0x00002417
                # 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 
@@ -12624,7 +13536,7 @@ set psu_resetout_init_data {
                # 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
+               # 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
@@ -12632,40 +13544,7 @@ set psu_resetout_init_data {
                # 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)  */
     mask_write 0XFE20C630 0x003FFF00 0x00000000
-               # : 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
-    mask_poll 0XFD4023E4 0x00000010
-               # : 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
-    mask_poll 0XFD4063E4 0x00000010
-               # : 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
-    mask_poll 0XFD40A3E4 0x00000010
-               # : 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
-    mask_poll 0XFD40E3E4 0x00000010
                # : 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)  */
-    mask_write 0XFD480094 0x00004000 0x00004000
                # 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
@@ -13029,9 +13908,13 @@ set psu_resetout_init_data {
                # Required for Root.; EP=0x0000; RP=0x0001
                # PSU_PCIE_ATTRIB_ATTR_37_ATTR_LINK_CAP_LINK_BANDWIDTH_NOTIFICATION_CAP           0x1
 
+               # 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, 0x00000200U ,0x00000200U)  */
-    mask_write 0XFD480094 0x00000200 0x00000200
+               #(OFFSET, MASK, VALUE)      (0XFD480094, 0x00004200U ,0x00004200U)  */
+    mask_write 0XFD480094 0x00004200 0x00004200
                # 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
@@ -13138,6 +14021,173 @@ set psu_resetout_init_data {
                # ATTR_43
                #(OFFSET, MASK, VALUE)      (0XFD4800AC, 0x00000100U ,0x00000000U)  */
     mask_write 0XFD4800AC 0x00000100 0x00000000
+               # Register : ATTR_48 @ 0XFD4800C0</p>
+
+               # MSI-X Table Size. This value is transferred to the MSI-X Message Control[10:0] field. Set to 0 if MSI-X is not enabled. Note 
+               # hat the core does not implement the table; that must be implemented in user logic.; EP=0x0003; RP=0x0000
+               # PSU_PCIE_ATTRIB_ATTR_48_ATTR_MSIX_CAP_TABLE_SIZE                                0
+
+               # ATTR_48
+               #(OFFSET, MASK, VALUE)      (0XFD4800C0, 0x000007FFU ,0x00000000U)  */
+    mask_write 0XFD4800C0 0x000007FF 0x00000000
+               # Register : ATTR_46 @ 0XFD4800B8</p>
+
+               # MSI-X Table Offset. This value is transferred to the MSI-X Table Offset field. Set to 0 if MSI-X is not enabled.; EP=0x0001; 
+               # P=0x0000
+               # PSU_PCIE_ATTRIB_ATTR_46_ATTR_MSIX_CAP_TABLE_OFFSET                              0
+
+               # ATTR_46
+               #(OFFSET, MASK, VALUE)      (0XFD4800B8, 0x0000FFFFU ,0x00000000U)  */
+    mask_write 0XFD4800B8 0x0000FFFF 0x00000000
+               # Register : ATTR_47 @ 0XFD4800BC</p>
+
+               # MSI-X Table Offset. This value is transferred to the MSI-X Table Offset field. Set to 0 if MSI-X is not enabled.; EP=0x0000; 
+               # P=0x0000
+               # PSU_PCIE_ATTRIB_ATTR_47_ATTR_MSIX_CAP_TABLE_OFFSET                              0
+
+               # ATTR_47
+               #(OFFSET, MASK, VALUE)      (0XFD4800BC, 0x00001FFFU ,0x00000000U)  */
+    mask_write 0XFD4800BC 0x00001FFF 0x00000000
+               # Register : ATTR_44 @ 0XFD4800B0</p>
+
+               # MSI-X Pending Bit Array Offset This value is transferred to the MSI-X PBA Offset field. Set to 0 if MSI-X is not enabled.; EP
+               # 0x0001; RP=0x0000
+               # PSU_PCIE_ATTRIB_ATTR_44_ATTR_MSIX_CAP_PBA_OFFSET                                0
+
+               # ATTR_44
+               #(OFFSET, MASK, VALUE)      (0XFD4800B0, 0x0000FFFFU ,0x00000000U)  */
+    mask_write 0XFD4800B0 0x0000FFFF 0x00000000
+               # Register : ATTR_45 @ 0XFD4800B4</p>
+
+               # MSI-X Pending Bit Array Offset This value is transferred to the MSI-X PBA Offset field. Set to 0 if MSI-X is not enabled.; EP
+               # 0x1000; RP=0x0000
+               # PSU_PCIE_ATTRIB_ATTR_45_ATTR_MSIX_CAP_PBA_OFFSET                                0
+
+               # ATTR_45
+               #(OFFSET, MASK, VALUE)      (0XFD4800B4, 0x0000FFF8U ,0x00000000U)  */
+    mask_write 0XFD4800B4 0x0000FFF8 0x00000000
+               # Register : CB @ 0XFD48031C</p>
+
+               # DT837748 Enable
+               # PSU_PCIE_ATTRIB_CB_CB1                                                          0x0
+
+               # ECO Register 1
+               #(OFFSET, MASK, VALUE)      (0XFD48031C, 0x00000002U ,0x00000000U)  */
+    mask_write 0XFD48031C 0x00000002 0x00000000
+               # Register : ATTR_35 @ 0XFD48008C</p>
+
+               # Active State PM Support. Indicates the level of active state power management supported by the selected PCI Express Link, enc
+               # ded as follows: 0 Reserved, 1 L0s entry supported, 2 Reserved, 3 L0s and L1 entry supported.; EP=0x0001; RP=0x0001
+               # PSU_PCIE_ATTRIB_ATTR_35_ATTR_LINK_CAP_ASPM_SUPPORT                              0x0
+
+               # ATTR_35
+               #(OFFSET, MASK, VALUE)      (0XFD48008C, 0x00003000U ,0x00000000U)  */
+    mask_write 0XFD48008C 0x00003000 0x00000000
+               # : PUTTING PCIE CONTROL IN RESET
+               # Register : RST_FPD_TOP @ 0XFD1A0100</p>
+
+               # PCIE control block level reset
+               # PSU_CRF_APB_RST_FPD_TOP_PCIE_CTRL_RESET                                         0X0
+
+               # FPD Block level software controlled reset
+               #(OFFSET, MASK, VALUE)      (0XFD1A0100, 0x00020000U ,0x00000000U)  */
+    mask_write 0XFD1A0100 0x00020000 0x00000000
+               # : 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
+    mask_poll 0XFD4023E4 0x00000010
+               # : 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
+    mask_poll 0XFD4063E4 0x00000010
+               # : 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
+    mask_poll 0XFD40A3E4 0x00000010
+               # : 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
+    mask_poll 0XFD40E3E4 0x00000010
+               # : SATA AHCI VENDOR SETTING
+               # Register : PP2C @ 0XFD0C00AC</p>
+
+               # CIBGMN: COMINIT Burst Gap Minimum.
+               # PSU_SATA_AHCI_VENDOR_PP2C_CIBGMN                                                0x18
+
+               # CIBGMX: COMINIT Burst Gap Maximum.
+               # PSU_SATA_AHCI_VENDOR_PP2C_CIBGMX                                                0x40
+
+               # CIBGN: COMINIT Burst Gap Nominal.
+               # PSU_SATA_AHCI_VENDOR_PP2C_CIBGN                                                 0x18
+
+               # CINMP: COMINIT Negate Minimum Period.
+               # PSU_SATA_AHCI_VENDOR_PP2C_CINMP                                                 0x28
+
+               # PP2C - Port Phy2Cfg Register. This register controls the configuration of the Phy Control OOB timing for the COMINIT paramete
+               # s for either Port 0 or Port 1. The Port configured is controlled by the value programmed into the Port Config Register.
+               #(OFFSET, MASK, VALUE)      (0XFD0C00AC, 0xFFFFFFFFU ,0x28184018U)  */
+    mask_write 0XFD0C00AC 0xFFFFFFFF 0x28184018
+               # Register : PP3C @ 0XFD0C00B0</p>
+
+               # CWBGMN: COMWAKE Burst Gap Minimum.
+               # PSU_SATA_AHCI_VENDOR_PP3C_CWBGMN                                                0x06
+
+               # CWBGMX: COMWAKE Burst Gap Maximum.
+               # PSU_SATA_AHCI_VENDOR_PP3C_CWBGMX                                                0x14
+
+               # CWBGN: COMWAKE Burst Gap Nominal.
+               # PSU_SATA_AHCI_VENDOR_PP3C_CWBGN                                                 0x08
+
+               # CWNMP: COMWAKE Negate Minimum Period.
+               # PSU_SATA_AHCI_VENDOR_PP3C_CWNMP                                                 0x0E
+
+               # PP3C - Port Phy3CfgRegister. This register controls the configuration of the Phy Control OOB timing for the COMWAKE parameter
+               #  for either Port 0 or Port 1. The Port configured is controlled by the value programmed into the Port Config Register.
+               #(OFFSET, MASK, VALUE)      (0XFD0C00B0, 0xFFFFFFFFU ,0x0E081406U)  */
+    mask_write 0XFD0C00B0 0xFFFFFFFF 0x0E081406
+               # Register : PP4C @ 0XFD0C00B4</p>
+
+               # BMX: COM Burst Maximum.
+               # PSU_SATA_AHCI_VENDOR_PP4C_BMX                                                   0x13
+
+               # BNM: COM Burst Nominal.
+               # PSU_SATA_AHCI_VENDOR_PP4C_BNM                                                   0x08
+
+               # SFD: Signal Failure Detection, if the signal detection de-asserts for a time greater than this then the OOB detector will det
+               # rmine this is a line idle and cause the PhyInit state machine to exit the Phy Ready State. A value of zero disables the Signa
+               #  Failure Detector. The value is based on the OOB Detector Clock typically (PMCLK Clock Period) * SFD giving a nominal time of
+               # 500ns based on a 150MHz PMCLK.
+               # PSU_SATA_AHCI_VENDOR_PP4C_SFD                                                   0x4A
+
+               # PTST: Partial to Slumber timer value, specific delay the controller should apply while in partial before entering slumber. Th
+               #  value is bases on the system clock divided by 128, total delay = (Sys Clock Period) * PTST * 128
+               # PSU_SATA_AHCI_VENDOR_PP4C_PTST                                                  0x06
+
+               # PP4C - Port Phy4Cfg Register. This register controls the configuration of the Phy Control Burst timing for the COM parameters
+               # for either Port 0 or Port 1. The Port configured is controlled by the value programmed into the Port Config Register.
+               #(OFFSET, MASK, VALUE)      (0XFD0C00B4, 0xFFFFFFFFU ,0x064A0813U)  */
+    mask_write 0XFD0C00B4 0xFFFFFFFF 0x064A0813
+               # Register : PP5C @ 0XFD0C00B8</p>
+
+               # RIT: Retry Interval Timer. The calculated value divided by two, the lower digit of precision is not needed.
+               # PSU_SATA_AHCI_VENDOR_PP5C_RIT                                                   0xC96A4
+
+               # RCT: Rate Change Timer, a value based on the 54.2us for which a SATA device will transmit at a fixed rate ALIGNp after OOB ha
+               #  completed, for a fast SERDES it is suggested that this value be 54.2us / 4
+               # PSU_SATA_AHCI_VENDOR_PP5C_RCT                                                   0x3FF
+
+               # PP5C - Port Phy5Cfg Register. This register controls the configuration of the Phy Control Retry Interval timing for either Po
+               # t 0 or Port 1. The Port configured is controlled by the value programmed into the Port Config Register.
+               #(OFFSET, MASK, VALUE)      (0XFD0C00B8, 0xFFFFFFFFU ,0x3FFC96A4U)  */
+    mask_write 0XFD0C00B8 0xFFFFFFFF 0x3FFC96A4
 }
 
 set psu_resetin_init_data {
@@ -13438,9 +14488,15 @@ proc init_serdes {} {
 proc poll { addr mask data} {
     set curval "0x[string range [mrd -force $addr] end-8 end]"
     set maskedval [expr {$curval & $mask}]
+    set count 1
     while { $maskedval != $data } {
         set curval "0x[string range [mrd -force $addr] end-8 end]"
         set maskedval [expr {$curval & $mask}]
+        set count [ expr { $count + 1 } ]
+        if { $count == 100000000 } {
+          puts "Timeout Reached. Mask poll failed at ADDRESS: $addr MASK: $mask"
+          break
+        }
     }
 }
 
@@ -13465,13 +14521,97 @@ proc init_peripheral {} {
    mask_write 0xFD690030 0x00000001 0x00000000 
 
 }
+proc psu_init_xppu_aper_ram {} {
+       set APER_OFFSET  0xFF981000 
+       set i 0
+       while { $i <= 400 } {
+               mask_write $APER_OFFSET 0xF80FFFFF 0x08080000 
+               set APER_OFFSET [ expr  $APER_OFFSET + 4  ]
+               set APER_OFFSET "0x[format %08X  [ expr  $APER_OFFSET]  ]"
+               set i [ expr { $i + 1 } ]
+       }
+
+}
 
 
+proc psu_lpd_protection {} {
+    set saved_mode [configparams force-mem-accesses]                  
+    configparams force-mem-accesses 1 
+    
+    psu_init_xppu_aper_ram;
+    variable psu_lpd_xppu_data
+    init_ps [subst {$psu_lpd_xppu_data }]
+    
+       configparams force-mem-accesses $saved_mode                                       
+}
+
+proc psu_ddr_protection {} {
+    set saved_mode [configparams force-mem-accesses]                  
+    configparams force-mem-accesses 1 
+    
+    variable psu_ddr_xmpu0_data
+    variable psu_ddr_xmpu1_data
+    variable psu_ddr_xmpu2_data
+    variable psu_ddr_xmpu3_data
+    variable psu_ddr_xmpu4_data
+    variable psu_ddr_xmpu5_data
+    init_ps [subst {$psu_ddr_xmpu0_data  $psu_ddr_xmpu1_data  $psu_ddr_xmpu2_data  $psu_ddr_xmpu3_data  $psu_ddr_xmpu4_data  $psu_ddr_xmpu5_data}]
+    
+       configparams force-mem-accesses $saved_mode                                       
+}
+
+proc psu_ocm_protection {} {
+    set saved_mode [configparams force-mem-accesses]                  
+    configparams force-mem-accesses 1 
+    
+    variable psu_ocm_xmpu_data
+    init_ps [subst {$psu_ocm_xmpu_data }]
+    
+       configparams force-mem-accesses $saved_mode                                       
+}
+
+proc psu_fpd_protection {} {
+    set saved_mode [configparams force-mem-accesses]                  
+    configparams force-mem-accesses 1 
+    
+       variable psu_fpd_xmpu_data
+    init_ps [subst {$psu_fpd_xmpu_data }]
+    
+       configparams force-mem-accesses $saved_mode                                       
+}
+
+proc psu_protection_lock {} {
+    set saved_mode [configparams force-mem-accesses]                  
+    configparams force-mem-accesses 1 
+    
+       variable psu_protection_lock_data
+    init_ps [subst {$psu_protection_lock_data }]
+    
+       configparams force-mem-accesses $saved_mode                                       
+}
+
+proc psu_protection {} {
+   psu_ddr_protection
+   psu_ocm_protection
+   psu_fpd_protection
+   psu_lpd_protection
+}
+
 proc psu_ddr_phybringup_data {} {
-mwr -force  0xFD090000 0x0000A845
-mwr -force  0xFD090004 0x003FFFFF
-mwr -force  0xFD09000C 0x00000010
-mwr -force  0xFD090010 0x00000010
+set dpll_divisor [expr {(0x00003F00 & [mrd -force -value 0xFD1A0080]) >> 0x00000008 }]
+       psu_mask_write 0xFD1A0080 0x00003F00 0x00000500
+       psu_mask_write 0xFD080028 0x00000001 0x00000001
+mwr -force  0xFD080004 0x00040003
+mask_poll 0xFD080030 0x00000001
+       psu_mask_write 0xFD080684 0x06000000 0x02000000
+       psu_mask_write 0xFD0806A4 0x06000000 0x02000000
+       psu_mask_write 0xFD0806C4 0x06000000 0x02000000
+       psu_mask_write 0xFD0806E4 0x06000000 0x02000000
+       psu_mask_write 0xFD1A0080 0x3F00 [expr {($dpll_divisor << 8)}]
+mwr -force  0xFD080004 0x40040071
+mask_poll 0xFD080030 0x00000001
+mwr -force  0xFD080004 0x40040001
+mask_poll 0xFD080030 0x00000001
 
 poll 0xFD080030 0x0000000F 0x0000000F  
        psu_mask_write 0xFD080004 0x00000001 0x00000001
@@ -13505,29 +14645,34 @@ poll 0xFD080030 0x00000FFF 0x00000FFF
 
 
  # Run Vref training in static read mode  
-mwr -force  0xFD080200 0x110011C7
+mwr -force  0xFD080200 0x100091C7
 mwr -force  0xFD080018 0x00F01EF2
-mwr -force  0xFD08001C 0x55AA0098
-mwr -force  0xFD08142C 0x00001830
-mwr -force  0xFD08146C 0x00001830
-mwr -force  0xFD0814AC 0x00001830
-mwr -force  0xFD0814EC 0x00001830
-mwr -force  0xFD08152C 0x00001830
+mwr -force  0xFD08001C 0x55AA5498
+mwr -force  0xFD08142C 0x00041830
+mwr -force  0xFD08146C 0x00041830
+mwr -force  0xFD0814AC 0x00041830
+mwr -force  0xFD0814EC 0x00041830
+mwr -force  0xFD08152C 0x00041830
 psu_mask_write 0xFD080004 0xFFFFFFFF 0x00060001
   
  #trigger VreFPHY training 
-poll 0xFD080030 0x00004001 0x00004001
+poll 0xFD080030 0x00000C01 0x00000C01
      
  #//Poll PUB_PGSR0 for Trng complete  
- # Vref training is complete, disabling static read mode 
-mwr -force  0xFD080200 0x810011C7
+mwr -force  0xFD080200 0x800091C7
 mwr -force  0xFD080018 0x00F12302
-mwr -force  0xFD08001C 0x55AA0080
-mwr -force  0xFD08142C 0x00001800
-mwr -force  0xFD08146C 0x00001800
-mwr -force  0xFD0814AC 0x00001800
-mwr -force  0xFD0814EC 0x00001800
-mwr -force  0xFD08152C 0x00001800
+mwr -force  0xFD08001C 0x55AA5480
+mwr -force  0xFD08142C 0x00041800
+mwr -force  0xFD08146C 0x00041800
+mwr -force  0xFD0814AC 0x00041800
+mwr -force  0xFD0814EC 0x00041800
+mwr -force  0xFD08152C 0x00041800
+psu_mask_write 0xFD080004 0xFFFFFFFF 0x0000C001
+  
+ #trigger VreFPHY training 
+poll 0xFD080030 0x00004001 0x00004001
+     
+ #//Poll PUB_PGSR0 for Trng complete  
 mwr -force  0xFD070180 0x01000040
 mwr -force  0xFD070060 0x00000000
        psu_mask_write 0xFD080014 0x00000040 0x00000000