Support for different IMX8MQ LPDDR4 configurations
1. Auto-detect DDR boot frequency and backup DRAM PLL cfg
2. Save/restore all necessary DDRC/DDRPHY register to adapt to all
LPDDR4 configurations
Change-Id: I2d63fe9928e826a7d0072bd378621c38b12a2336
Signed-off-by: Michael Brooks <michaelbrooks@google.com>
diff --git a/plat/freescale/imx8mq/ddr/lpddr4_ddrc_cfg.c b/plat/freescale/imx8mq/ddr/lpddr4_ddrc_cfg.c
index a4d45bf..eb7a06c 100644
--- a/plat/freescale/imx8mq/ddr/lpddr4_ddrc_cfg.c
+++ b/plat/freescale/imx8mq/ddr/lpddr4_ddrc_cfg.c
@@ -14,133 +14,135 @@
#include <spinlock.h>
#include <soc.h>
-#define WR_POST_EXT_3200
+struct ddrc_cfg_param {
+ uint32_t offset; /*reg offset */
+ uint32_t val; /* config param */
+};
-static inline void umctl2_addrmap(void)
-{
+/* lpddr4 phy init config parameters */
+static struct ddrc_cfg_param umctl2_cfg[] = {
+ { .offset = DDRC_DBG1(0) , .val = 0x00 },
+ { .offset = DDRC_PWRCTL(0) , .val = 0x00 },
+ { .offset = DDRC_MSTR(0) , .val = 0x00 },
+ { .offset = DDRC_MSTR2(0) , .val = 0x00 },
+ { .offset = DDRC_DERATEEN(0), .val = 0x00 },
+ { .offset = DDRC_DERATEINT(0), .val = 0x00},
+ { .offset = DDRC_RFSHTMG(0), .val = 0x00 },
+ { .offset = DDRC_INIT0(0) , .val = 0x00 },
+ { .offset = DDRC_INIT1(0) , .val = 0x00 },
+ { .offset = DDRC_INIT3(0) , .val = 0x00 },
+ { .offset = DDRC_INIT4(0) , .val = 0x00 },
+ { .offset = DDRC_INIT6(0) , .val = 0x00 },
+ { .offset = DDRC_INIT7(0) , .val = 0x00 },
+ { .offset = DDRC_DRAMTMG0(0), .val = 0x00 },
+ { .offset = DDRC_DRAMTMG1(0), .val = 0x00 },
+ { .offset = DDRC_DRAMTMG3(0), .val = 0x00 },
+ { .offset = DDRC_DRAMTMG4(0), .val = 0x00 },
+ { .offset = DDRC_DRAMTMG5(0), .val = 0x00 },
+ { .offset = DDRC_DRAMTMG6(0), .val = 0x00 },
+ { .offset = DDRC_DRAMTMG7(0), .val = 0x00 },
+ { .offset = DDRC_DRAMTMG12(0), .val = 0x00 },
+ { .offset = DDRC_DRAMTMG13(0), .val = 0x00 },
+ { .offset = DDRC_DRAMTMG14(0), .val = 0x00 },
+ { .offset = DDRC_DRAMTMG17(0), .val = 0x00 },
+
+ { .offset = DDRC_ZQCTL0(0), .val = 0x00 },
+ { .offset = DDRC_ZQCTL1(0), .val = 0x00 },
+ { .offset = DDRC_ZQCTL2(0), .val = 0x00 },
+
+ { .offset = DDRC_DFITMG0(0), .val = 0x00 },
+ { .offset = DDRC_DFITMG1(0), .val = 0x00 },
+ { .offset = DDRC_DFIUPD0(0), .val = 0x00 },
+ { .offset = DDRC_DFIUPD1(0), .val = 0x00 },
+ { .offset = DDRC_DFIUPD2(0), .val = 0x00 },
+ { .offset = DDRC_DFIMISC(0), .val = 0x00 },
+ { .offset = DDRC_DFITMG2(0), .val = 0x00 },
+
+ { .offset = DDRC_DBICTL(0), .val = 0x00 },
+ { .offset = DDRC_DFIPHYMSTR(0), .val = 0x00 },
+
+ { .offset = DDRC_RANKCTL(0), .val = 0x00 },
+ { .offset = DDRC_DRAMTMG2(0), .val = 0x00 },
+
/* Address mapping */
- /* need be refined for DDR vender */
- /* Address map is from MSB 29: r15, r14, cs, r13-r0, b2-b0, c9-c0 */
- mmio_write_32(DDRC_ADDRMAP0(0), 0x00000015);
- mmio_write_32(DDRC_ADDRMAP3(0), 0x00000000);
- mmio_write_32(DDRC_ADDRMAP4(0), 0x00001F1F);
- /* bank interleave */
- mmio_write_32(DDRC_ADDRMAP1(0), 0x00080808);
- mmio_write_32(DDRC_ADDRMAP5(0), 0x07070707);
- mmio_write_32(DDRC_ADDRMAP6(0), 0x08080707);
-}
+ { .offset = DDRC_ADDRMAP0(0), .val = 0x00 },
+ { .offset = DDRC_ADDRMAP1(0), .val = 0x00 },
+ { .offset = DDRC_ADDRMAP2(0), .val = 0x00 },
+ { .offset = DDRC_ADDRMAP3(0), .val = 0x00 },
+ { .offset = DDRC_ADDRMAP4(0), .val = 0x00 },
+ { .offset = DDRC_ADDRMAP5(0), .val = 0x00 },
+ { .offset = DDRC_ADDRMAP6(0), .val = 0x00 },
-static inline void umctl2_perf(void)
-{
- mmio_write_32(DDRC_ODTCFG(0), 0x0b060908);
- mmio_write_32(DDRC_ODTMAP(0), 0x00000000);
- mmio_write_32(DDRC_SCHED(0), 0x29511505);
- mmio_write_32(DDRC_SCHED1(0), 0x0000002c);
- mmio_write_32(DDRC_PERFHPR1(0), 0x5900575b);
- mmio_write_32(DDRC_PERFLPR1(0), 0x00000009);
- mmio_write_32(DDRC_PERFWR1(0), 0x02005574);
- mmio_write_32(DDRC_DBG0(0), 0x00000016);
- mmio_write_32(DDRC_DBG1(0), 0x00000000);
- mmio_write_32(DDRC_DBGCMD(0), 0x00000000);
- mmio_write_32(DDRC_SWCTL(0), 0x00000001);
- mmio_write_32(DDRC_POISONCFG(0), 0x00000011);
- mmio_write_32(DDRC_PCCFG(0), 0x00000111);
- mmio_write_32(DDRC_PCFGR_0(0), 0x000010f3);
- mmio_write_32(DDRC_PCFGW_0(0), 0x000072ff);
- mmio_write_32(DDRC_PCTRL_0(0), 0x00000001);
- mmio_write_32(DDRC_PCFGQOS0_0(0), 0x01110d00);
- mmio_write_32(DDRC_PCFGQOS1_0(0), 0x00620790);
- mmio_write_32(DDRC_PCFGWQOS0_0(0), 0x00100001);
- mmio_write_32(DDRC_PCFGWQOS1_0(0), 0x0000041f);
- mmio_write_32(DDRC_FREQ1_DERATEEN(0), 0x00000202);
- mmio_write_32(DDRC_FREQ1_DERATEINT(0), 0xec78f4b5);
- mmio_write_32(DDRC_FREQ1_RFSHCTL0(0), 0x00618040);
- mmio_write_32(DDRC_FREQ1_RFSHTMG(0), 0x00610090);
-}
+ /* performance tunning */
+ { .offset = DDRC_ODTCFG(0), .val = 0x00 },
+ { .offset = DDRC_ODTMAP(0), .val = 0x00 },
+ { .offset = DDRC_SCHED(0), .val = 0x00 },
+ { .offset = DDRC_SCHED1(0), .val = 0x00 },
+ { .offset = DDRC_PERFHPR1(0), .val = 0x00 },
+ { .offset = DDRC_PERFLPR1(0), .val = 0x00 },
+ { .offset = DDRC_PERFWR1(0), .val = 0x00 },
+ { .offset = DDRC_DBG0(0), .val = 0x00 },
+ { .offset = DDRC_DBG1(0), .val = 0x00 },
+ { .offset = DDRC_DBGCMD(0), .val = 0x00 },
+ { .offset = DDRC_SWCTL(0), .val = 0x00 },
+ { .offset = DDRC_POISONCFG(0), .val = 0x00 },
+ { .offset = DDRC_PCCFG(0), .val = 0x00 },
+ { .offset = DDRC_PCFGR_0(0), .val = 0x00 },
+ { .offset = DDRC_PCFGW_0(0), .val = 0x00 },
+ { .offset = DDRC_PCTRL_0(0), .val = 0x00 },
+ { .offset = DDRC_PCFGQOS0_0(0), .val = 0x00 },
+ { .offset = DDRC_PCFGQOS1_0(0), .val = 0x00 },
+ { .offset = DDRC_PCFGWQOS0_0(0), .val = 0x00 },
+ { .offset = DDRC_PCFGWQOS1_0(0), .val = 0x00 },
-static inline void umctl2_freq1(void)
+ /* frequency point 1 */
+ { .offset = DDRC_FREQ1_DERATEEN(0), .val = 0x00 },
+ { .offset = DDRC_FREQ1_DERATEINT(0), .val = 0x00 },
+ { .offset = DDRC_FREQ1_RFSHCTL0(0), .val = 0x00 },
+ { .offset = DDRC_FREQ1_RFSHTMG(0), .val = 0x00 },
+ { .offset = DDRC_FREQ1_INIT3(0), .val = 0x00 },
+ { .offset = DDRC_FREQ1_INIT4(0), .val = 0x00 },
+ { .offset = DDRC_FREQ1_INIT6(0), .val = 0x00 },
+ { .offset = DDRC_FREQ1_INIT7(0), .val = 0x00 },
+ { .offset = DDRC_FREQ1_DRAMTMG0(0), .val = 0x00 },
+ { .offset = DDRC_FREQ1_DRAMTMG1(0), .val = 0x00 },
+ { .offset = DDRC_FREQ1_DRAMTMG2(0), .val = 0x00 },
+ { .offset = DDRC_FREQ1_DRAMTMG3(0), .val = 0x00 },
+ { .offset = DDRC_FREQ1_DRAMTMG4(0), .val = 0x00 },
+ { .offset = DDRC_FREQ1_DRAMTMG5(0), .val = 0x00 },
+ { .offset = DDRC_FREQ1_DRAMTMG6(0), .val = 0x00 },
+ { .offset = DDRC_FREQ1_DRAMTMG7(0), .val = 0x00 },
+ { .offset = DDRC_FREQ1_DRAMTMG12(0), .val = 0x00 },
+ { .offset = DDRC_FREQ1_DRAMTMG13(0), .val = 0x00 },
+ { .offset = DDRC_FREQ1_DRAMTMG14(0), .val = 0x00 },
+ { .offset = DDRC_FREQ1_DRAMTMG17(0), .val = 0x00 },
+ { .offset = DDRC_FREQ1_ZQCTL0(0), .val = 0x00 },
+ { .offset = DDRC_FREQ1_DFITMG0(0), .val = 0x00 },
+ { .offset = DDRC_FREQ1_DFITMG1(0), .val = 0x00 },
+ { .offset = DDRC_FREQ1_DFITMG2(0), .val = 0x00 }
+};
+
+void lpddr4_save_umctl2(void)
{
- mmio_write_32(DDRC_FREQ1_DERATEEN(0), 0x0000000);
- mmio_write_32(DDRC_FREQ1_DERATEINT(0), 0x0800000);
- mmio_write_32(DDRC_FREQ1_RFSHCTL0(0), 0x0210000);
- mmio_write_32(DDRC_FREQ1_RFSHTMG(0), 0x014001E);
- mmio_write_32(DDRC_FREQ1_INIT3(0), 0x0140009);
- mmio_write_32(DDRC_FREQ1_INIT4(0), 0x00310008);
- mmio_write_32(DDRC_FREQ1_INIT6(0), 0x0066004a);
- mmio_write_32(DDRC_FREQ1_INIT7(0), 0x0006004a);
- mmio_write_32(DDRC_FREQ1_DRAMTMG0(0), 0xB070A07);
- mmio_write_32(DDRC_FREQ1_DRAMTMG1(0), 0x003040A);
- mmio_write_32(DDRC_FREQ1_DRAMTMG2(0), 0x305080C);
- mmio_write_32(DDRC_FREQ1_DRAMTMG3(0), 0x0505000);
- mmio_write_32(DDRC_FREQ1_DRAMTMG4(0), 0x3040203);
- mmio_write_32(DDRC_FREQ1_DRAMTMG5(0), 0x2030303);
- mmio_write_32(DDRC_FREQ1_DRAMTMG6(0), 0x2020004);
- mmio_write_32(DDRC_FREQ1_DRAMTMG7(0), 0x0000302);
- mmio_write_32(DDRC_FREQ1_DRAMTMG12(0), 0x0020310);
- mmio_write_32(DDRC_FREQ1_DRAMTMG13(0), 0xA100002);
- mmio_write_32(DDRC_FREQ1_DRAMTMG14(0), 0x0000020);
- mmio_write_32(DDRC_FREQ1_DRAMTMG17(0), 0x0220011);
- mmio_write_32(DDRC_FREQ1_ZQCTL0(0), 0x0A70005);
- mmio_write_32(DDRC_FREQ1_DFITMG0(0), 0x3858202);
- mmio_write_32(DDRC_FREQ1_DFITMG1(0), 0x0000404);
- mmio_write_32(DDRC_FREQ1_DFITMG2(0), 0x0000502);
+ int index, offset, size;
+
+ size = sizeof(umctl2_cfg) / 8;
+
+ for (index = 0; index < size; index++) {
+ offset = umctl2_cfg[index].offset;
+ umctl2_cfg[index].val = mmio_read_32(offset);
+ }
}
void lpddr4_cfg_umctl2(void)
{
- /* Start to config, default 3200mbps */
- mmio_write_32(DDRC_DBG1(0), 0x00000001);
- mmio_write_32(DDRC_PWRCTL(0), 0x00000001);
- mmio_write_32(DDRC_MSTR(0), 0xa3080020);
- mmio_write_32(DDRC_MSTR2(0), 0x00000000);
- mmio_write_32(DDRC_RFSHTMG(0), 0x006100E0);
- mmio_write_32(DDRC_INIT0(0), 0xC003061B);
- mmio_write_32(DDRC_INIT1(0), 0x009D0000);
- mmio_write_32(DDRC_INIT3(0), 0x00D4002D);
-#ifdef WR_POST_EXT_3200 /* recommened to define */
- mmio_write_32(DDRC_INIT4(0), 0x00330008);
-#else
- mmio_write_32(DDRC_INIT4(0), 0x00310008);
-#endif
- mmio_write_32(DDRC_INIT6(0), 0x0066004a);
- mmio_write_32(DDRC_INIT7(0), 0x0006004a);
+ int index, offset, size, val;
- mmio_write_32(DDRC_DRAMTMG0(0), 0x1A201B22);
- mmio_write_32(DDRC_DRAMTMG1(0), 0x00060633);
- mmio_write_32(DDRC_DRAMTMG3(0), 0x00C0C000);
- mmio_write_32(DDRC_DRAMTMG4(0), 0x0F04080F);
- mmio_write_32(DDRC_DRAMTMG5(0), 0x02040C0C);
- mmio_write_32(DDRC_DRAMTMG6(0), 0x01010007);
- mmio_write_32(DDRC_DRAMTMG7(0), 0x00000401);
- mmio_write_32(DDRC_DRAMTMG12(0), 0x00020600);
- mmio_write_32(DDRC_DRAMTMG13(0), 0x0C100002);
- mmio_write_32(DDRC_DRAMTMG14(0), 0x000000E6);
- mmio_write_32(DDRC_DRAMTMG17(0), 0x00A00050);
+ size = sizeof(umctl2_cfg) / 8;
- mmio_write_32(DDRC_ZQCTL0(0), 0x03200018);
- mmio_write_32(DDRC_ZQCTL1(0), 0x028061A8);
- mmio_write_32(DDRC_ZQCTL2(0), 0x00000000);
-
- mmio_write_32(DDRC_DFITMG0(0), 0x0497820A);
- mmio_write_32(DDRC_DFITMG1(0), 0x00080303);
- mmio_write_32(DDRC_DFIUPD0(0), 0xE0400018);
- mmio_write_32(DDRC_DFIUPD1(0), 0x00DF00E4);
- mmio_write_32(DDRC_DFIUPD2(0), 0x80000000);
- mmio_write_32(DDRC_DFIMISC(0), 0x00000011);
- mmio_write_32(DDRC_DFITMG2(0), 0x0000170A);
-
- mmio_write_32(DDRC_DBICTL(0), 0x00000001);
- mmio_write_32(DDRC_DFIPHYMSTR(0), 0x00000001);
-
- mmio_write_32(DDRC_RANKCTL(0), 0x00000c99);
- mmio_write_32(DDRC_DRAMTMG2(0), 0x070E171a);
-
- /* address mapping */
- umctl2_addrmap();
-
- /* performance setting */
- umctl2_perf();
-
- /* freq set point 1 setting */
- umctl2_freq1();
+ for (index = 0; index < size; index++) {
+ offset = umctl2_cfg[index].offset;
+ val = umctl2_cfg[index].val;
+ mmio_write_32(offset,val);
+ }
}
diff --git a/plat/freescale/imx8mq/ddr/lpddr4_dvfs.c b/plat/freescale/imx8mq/ddr/lpddr4_dvfs.c
index 4cb525b..5346642 100644
--- a/plat/freescale/imx8mq/ddr/lpddr4_dvfs.c
+++ b/plat/freescale/imx8mq/ddr/lpddr4_dvfs.c
@@ -16,6 +16,7 @@
#include "lpddr4_dvfs.h"
+#define HW_DRAM_PLL_CFG2_ADDR (0x30360000 + 0x68)
#define DDRC_LPDDR4 (1 << 5)
#define DDR_TYPE_MASK 0x3f
@@ -27,6 +28,12 @@
static volatile bool wait_ddrc_hwffc_done = true;
static unsigned int init_fsp = 0x1;
+unsigned int default_ddr_pllcfg = 0;
+
+static inline int get_init_fsp(void)
+{
+ return (mmio_read_32(DDRC_DFIMISC(0))>>8)&0xf;
+}
static inline int get_ddr_type(void)
{
@@ -35,6 +42,15 @@
void lpddr4_switch_to_3200(void)
{
+ init_fsp = get_init_fsp();
+ if(init_fsp == 0)
+ {
+ default_ddr_pllcfg = mmio_read_32(HW_DRAM_PLL_CFG2_ADDR);
+ return;
+ }
+
+ default_ddr_pllcfg = 0;
+
if (get_ddr_type() == DDRC_LPDDR4)
lpddr4_dvfs_swffc(init_fsp, 0x0);
}
@@ -98,6 +114,7 @@
init_fsp = (~init_fsp) & 0x1;
#else
lpddr4_dvfs_swffc(init_fsp, target_freq);
+ init_fsp = (~init_fsp) & 0x1;
#endif
wait_ddrc_hwffc_done = false;
wfe_done = 0;
diff --git a/plat/freescale/imx8mq/ddr/lpddr4_phy_cfg.c b/plat/freescale/imx8mq/ddr/lpddr4_phy_cfg.c
index d6c57e0..ddba7f2 100644
--- a/plat/freescale/imx8mq/ddr/lpddr4_phy_cfg.c
+++ b/plat/freescale/imx8mq/ddr/lpddr4_phy_cfg.c
@@ -20,7 +20,7 @@
};
/* lpddr4 phy init config parameters */
-static const struct ddrphy_cfg_param phy_init_cfg[] = {
+static struct ddrphy_cfg_param phy_cfg[] = {
{ .offset = 0x20110, .val = 0x02 }, /* MapCAB0toDFI */
{ .offset = 0x20111, .val = 0x03 }, /* MapCAB1toDFI */
{ .offset = 0x20112, .val = 0x04 }, /* MapCAB2toDFI */
@@ -69,6 +69,7 @@
{ .offset = 0x200c5, .val = 0x19 }, // DWC_DDRPHYA_MASTER0_PllCtrl2_p0
{ .offset = 0x1200c5, .val = 0x7 }, // DWC_DDRPHYA_MASTER0_PllCtrl2_p1
{ .offset = 0x2200c5, .val = 0x7 }, // DWC_DDRPHYA_MASTER0_PllCtrl2_p2
+ { .offset = 0x200cb, .val = 0x0 }, // DWC_DDRPHYA_MASTER0_PllCtrl3
{ .offset = 0x2002e, .val = 0x2 }, // DWC_DDRPHYA_MASTER0_ARdPtrInitVal_p0
{ .offset = 0x12002e, .val = 0x1 }, // DWC_DDRPHYA_MASTER0_ARdPtrInitVal_p1
{ .offset = 0x22002e, .val = 0x2 }, // DWC_DDRPHYA_MASTER0_ARdPtrInitVal_p2
@@ -202,729 +203,738 @@
{ .offset = 0x2002d, .val = 0x0 }, // DWC_DDRPHYA_MASTER0_DMIPinPresent_p0
{ .offset = 0x12002d, .val = 0x0 }, // DWC_DDRPHYA_MASTER0_DMIPinPresent_p1
{ .offset = 0x22002d, .val = 0x0 }, // DWC_DDRPHYA_MASTER0_DMIPinPresent_p2
-};
-/* lpddr4 phy trained CSR registers */
-static struct ddrphy_cfg_param phy_trained_csr[] = {
- { .offset = 0x200b2, .val = 0 },
- { .offset = 0x1200b2, .val = 0 },
- { .offset = 0x2200b2, .val = 0 },
- { .offset = 0x200cb, .val = 0 },
- { .offset = 0x10043, .val = 0 },
- { .offset = 0x110043, .val = 0 },
- { .offset = 0x210043, .val = 0 },
- { .offset = 0x10143, .val = 0 },
- { .offset = 0x110143, .val = 0 },
- { .offset = 0x210143, .val = 0 },
- { .offset = 0x11043, .val = 0 },
- { .offset = 0x111043, .val = 0 },
- { .offset = 0x211043, .val = 0 },
- { .offset = 0x11143, .val = 0 },
- { .offset = 0x111143, .val = 0 },
- { .offset = 0x211143, .val = 0 },
- { .offset = 0x12043, .val = 0 },
- { .offset = 0x112043, .val = 0 },
- { .offset = 0x212043, .val = 0 },
- { .offset = 0x12143, .val = 0 },
- { .offset = 0x112143, .val = 0 },
- { .offset = 0x212143, .val = 0 },
- { .offset = 0x13043, .val = 0 },
- { .offset = 0x113043, .val = 0 },
- { .offset = 0x213043, .val = 0 },
- { .offset = 0x13143, .val = 0 },
- { .offset = 0x113143, .val = 0 },
- { .offset = 0x213143, .val = 0 },
- { .offset = 0x80, .val = 0 },
- { .offset = 0x100080, .val = 0 },
- { .offset = 0x200080, .val = 0 },
- { .offset = 0x1080, .val = 0 },
- { .offset = 0x101080, .val = 0 },
- { .offset = 0x201080, .val = 0 },
- { .offset = 0x2080, .val = 0 },
- { .offset = 0x102080, .val = 0 },
- { .offset = 0x202080, .val = 0 },
- { .offset = 0x3080, .val = 0 },
- { .offset = 0x103080, .val = 0 },
- { .offset = 0x203080, .val = 0 },
- { .offset = 0x4080, .val = 0 },
- { .offset = 0x104080, .val = 0 },
- { .offset = 0x204080, .val = 0 },
- { .offset = 0x5080, .val = 0 },
- { .offset = 0x105080, .val = 0 },
- { .offset = 0x205080, .val = 0 },
- { .offset = 0x6080, .val = 0 },
- { .offset = 0x106080, .val = 0 },
- { .offset = 0x206080, .val = 0 },
- { .offset = 0x7080, .val = 0 },
- { .offset = 0x107080, .val = 0 },
- { .offset = 0x207080, .val = 0 },
- { .offset = 0x8080, .val = 0 },
- { .offset = 0x108080, .val = 0 },
- { .offset = 0x208080, .val = 0 },
- { .offset = 0x9080, .val = 0 },
- { .offset = 0x109080, .val = 0 },
- { .offset = 0x209080, .val = 0 },
- { .offset = 0x10080, .val = 0 },
- { .offset = 0x110080, .val = 0 },
- { .offset = 0x210080, .val = 0 },
- { .offset = 0x10180, .val = 0 },
- { .offset = 0x110180, .val = 0 },
- { .offset = 0x210180, .val = 0 },
- { .offset = 0x11080, .val = 0 },
- { .offset = 0x111080, .val = 0 },
- { .offset = 0x211080, .val = 0 },
- { .offset = 0x11180, .val = 0 },
- { .offset = 0x111180, .val = 0 },
- { .offset = 0x211180, .val = 0 },
- { .offset = 0x12080, .val = 0 },
- { .offset = 0x112080, .val = 0 },
- { .offset = 0x212080, .val = 0 },
- { .offset = 0x12180, .val = 0 },
- { .offset = 0x112180, .val = 0 },
- { .offset = 0x212180, .val = 0 },
- { .offset = 0x13080, .val = 0 },
- { .offset = 0x113080, .val = 0 },
- { .offset = 0x213080, .val = 0 },
- { .offset = 0x13180, .val = 0 },
- { .offset = 0x113180, .val = 0 },
- { .offset = 0x213180, .val = 0 },
- { .offset = 0x10081, .val = 0 },
- { .offset = 0x110081, .val = 0 },
- { .offset = 0x210081, .val = 0 },
- { .offset = 0x10181, .val = 0 },
- { .offset = 0x110181, .val = 0 },
- { .offset = 0x210181, .val = 0 },
- { .offset = 0x11081, .val = 0 },
- { .offset = 0x111081, .val = 0 },
- { .offset = 0x211081, .val = 0 },
- { .offset = 0x11181, .val = 0 },
- { .offset = 0x111181, .val = 0 },
- { .offset = 0x211181, .val = 0 },
- { .offset = 0x12081, .val = 0 },
- { .offset = 0x112081, .val = 0 },
- { .offset = 0x212081, .val = 0 },
- { .offset = 0x12181, .val = 0 },
- { .offset = 0x112181, .val = 0 },
- { .offset = 0x212181, .val = 0 },
- { .offset = 0x13081, .val = 0 },
- { .offset = 0x113081, .val = 0 },
- { .offset = 0x213081, .val = 0 },
- { .offset = 0x13181, .val = 0 },
- { .offset = 0x113181, .val = 0 },
- { .offset = 0x213181, .val = 0 },
- { .offset = 0x100d0, .val = 0 },
- { .offset = 0x1100d0, .val = 0 },
- { .offset = 0x2100d0, .val = 0 },
- { .offset = 0x101d0, .val = 0 },
- { .offset = 0x1101d0, .val = 0 },
- { .offset = 0x2101d0, .val = 0 },
- { .offset = 0x110d0, .val = 0 },
- { .offset = 0x1110d0, .val = 0 },
- { .offset = 0x2110d0, .val = 0 },
- { .offset = 0x111d0, .val = 0 },
- { .offset = 0x1111d0, .val = 0 },
- { .offset = 0x2111d0, .val = 0 },
- { .offset = 0x120d0, .val = 0 },
- { .offset = 0x1120d0, .val = 0 },
- { .offset = 0x2120d0, .val = 0 },
- { .offset = 0x121d0, .val = 0 },
- { .offset = 0x1121d0, .val = 0 },
- { .offset = 0x2121d0, .val = 0 },
- { .offset = 0x130d0, .val = 0 },
- { .offset = 0x1130d0, .val = 0 },
- { .offset = 0x2130d0, .val = 0 },
- { .offset = 0x131d0, .val = 0 },
- { .offset = 0x1131d0, .val = 0 },
- { .offset = 0x2131d0, .val = 0 },
- { .offset = 0x100d1, .val = 0 },
- { .offset = 0x1100d1, .val = 0 },
- { .offset = 0x2100d1, .val = 0 },
- { .offset = 0x101d1, .val = 0 },
- { .offset = 0x1101d1, .val = 0 },
- { .offset = 0x2101d1, .val = 0 },
- { .offset = 0x110d1, .val = 0 },
- { .offset = 0x1110d1, .val = 0 },
- { .offset = 0x2110d1, .val = 0 },
- { .offset = 0x111d1, .val = 0 },
- { .offset = 0x1111d1, .val = 0 },
- { .offset = 0x2111d1, .val = 0 },
- { .offset = 0x120d1, .val = 0 },
- { .offset = 0x1120d1, .val = 0 },
- { .offset = 0x2120d1, .val = 0 },
- { .offset = 0x121d1, .val = 0 },
- { .offset = 0x1121d1, .val = 0 },
- { .offset = 0x2121d1, .val = 0 },
- { .offset = 0x130d1, .val = 0 },
- { .offset = 0x1130d1, .val = 0 },
- { .offset = 0x2130d1, .val = 0 },
- { .offset = 0x131d1, .val = 0 },
- { .offset = 0x1131d1, .val = 0 },
- { .offset = 0x2131d1, .val = 0 },
- { .offset = 0x10068, .val = 0 },
- { .offset = 0x10168, .val = 0 },
- { .offset = 0x10268, .val = 0 },
- { .offset = 0x10368, .val = 0 },
- { .offset = 0x10468, .val = 0 },
- { .offset = 0x10568, .val = 0 },
- { .offset = 0x10668, .val = 0 },
- { .offset = 0x10768, .val = 0 },
- { .offset = 0x10868, .val = 0 },
- { .offset = 0x11068, .val = 0 },
- { .offset = 0x11168, .val = 0 },
- { .offset = 0x11268, .val = 0 },
- { .offset = 0x11368, .val = 0 },
- { .offset = 0x11468, .val = 0 },
- { .offset = 0x11568, .val = 0 },
- { .offset = 0x11668, .val = 0 },
- { .offset = 0x11768, .val = 0 },
- { .offset = 0x11868, .val = 0 },
- { .offset = 0x12068, .val = 0 },
- { .offset = 0x12168, .val = 0 },
- { .offset = 0x12268, .val = 0 },
- { .offset = 0x12368, .val = 0 },
- { .offset = 0x12468, .val = 0 },
- { .offset = 0x12568, .val = 0 },
- { .offset = 0x12668, .val = 0 },
- { .offset = 0x12768, .val = 0 },
- { .offset = 0x12868, .val = 0 },
- { .offset = 0x13068, .val = 0 },
- { .offset = 0x13168, .val = 0 },
- { .offset = 0x13268, .val = 0 },
- { .offset = 0x13368, .val = 0 },
- { .offset = 0x13468, .val = 0 },
- { .offset = 0x13568, .val = 0 },
- { .offset = 0x13668, .val = 0 },
- { .offset = 0x13768, .val = 0 },
- { .offset = 0x13868, .val = 0 },
- { .offset = 0x10069, .val = 0 },
- { .offset = 0x10169, .val = 0 },
- { .offset = 0x10269, .val = 0 },
- { .offset = 0x10369, .val = 0 },
- { .offset = 0x10469, .val = 0 },
- { .offset = 0x10569, .val = 0 },
- { .offset = 0x10669, .val = 0 },
- { .offset = 0x10769, .val = 0 },
- { .offset = 0x10869, .val = 0 },
- { .offset = 0x11069, .val = 0 },
- { .offset = 0x11169, .val = 0 },
- { .offset = 0x11269, .val = 0 },
- { .offset = 0x11369, .val = 0 },
- { .offset = 0x11469, .val = 0 },
- { .offset = 0x11569, .val = 0 },
- { .offset = 0x11669, .val = 0 },
- { .offset = 0x11769, .val = 0 },
- { .offset = 0x11869, .val = 0 },
- { .offset = 0x12069, .val = 0 },
- { .offset = 0x12169, .val = 0 },
- { .offset = 0x12269, .val = 0 },
- { .offset = 0x12369, .val = 0 },
- { .offset = 0x12469, .val = 0 },
- { .offset = 0x12569, .val = 0 },
- { .offset = 0x12669, .val = 0 },
- { .offset = 0x12769, .val = 0 },
- { .offset = 0x12869, .val = 0 },
- { .offset = 0x13069, .val = 0 },
- { .offset = 0x13169, .val = 0 },
- { .offset = 0x13269, .val = 0 },
- { .offset = 0x13369, .val = 0 },
- { .offset = 0x13469, .val = 0 },
- { .offset = 0x13569, .val = 0 },
- { .offset = 0x13669, .val = 0 },
- { .offset = 0x13769, .val = 0 },
- { .offset = 0x13869, .val = 0 },
- { .offset = 0x1008c, .val = 0 },
- { .offset = 0x11008c, .val = 0 },
- { .offset = 0x21008c, .val = 0 },
- { .offset = 0x1018c, .val = 0 },
- { .offset = 0x11018c, .val = 0 },
- { .offset = 0x21018c, .val = 0 },
- { .offset = 0x1108c, .val = 0 },
- { .offset = 0x11108c, .val = 0 },
- { .offset = 0x21108c, .val = 0 },
- { .offset = 0x1118c, .val = 0 },
- { .offset = 0x11118c, .val = 0 },
- { .offset = 0x21118c, .val = 0 },
- { .offset = 0x1208c, .val = 0 },
- { .offset = 0x11208c, .val = 0 },
- { .offset = 0x21208c, .val = 0 },
- { .offset = 0x1218c, .val = 0 },
- { .offset = 0x11218c, .val = 0 },
- { .offset = 0x21218c, .val = 0 },
- { .offset = 0x1308c, .val = 0 },
- { .offset = 0x11308c, .val = 0 },
- { .offset = 0x21308c, .val = 0 },
- { .offset = 0x1318c, .val = 0 },
- { .offset = 0x11318c, .val = 0 },
- { .offset = 0x21318c, .val = 0 },
- { .offset = 0x1008d, .val = 0 },
- { .offset = 0x11008d, .val = 0 },
- { .offset = 0x21008d, .val = 0 },
- { .offset = 0x1018d, .val = 0 },
- { .offset = 0x11018d, .val = 0 },
- { .offset = 0x21018d, .val = 0 },
- { .offset = 0x1108d, .val = 0 },
- { .offset = 0x11108d, .val = 0 },
- { .offset = 0x21108d, .val = 0 },
- { .offset = 0x1118d, .val = 0 },
- { .offset = 0x11118d, .val = 0 },
- { .offset = 0x21118d, .val = 0 },
- { .offset = 0x1208d, .val = 0 },
- { .offset = 0x11208d, .val = 0 },
- { .offset = 0x21208d, .val = 0 },
- { .offset = 0x1218d, .val = 0 },
- { .offset = 0x11218d, .val = 0 },
- { .offset = 0x21218d, .val = 0 },
- { .offset = 0x1308d, .val = 0 },
- { .offset = 0x11308d, .val = 0 },
- { .offset = 0x21308d, .val = 0 },
- { .offset = 0x1318d, .val = 0 },
- { .offset = 0x11318d, .val = 0 },
- { .offset = 0x21318d, .val = 0 },
- { .offset = 0x100c0, .val = 0 },
- { .offset = 0x1100c0, .val = 0 },
- { .offset = 0x2100c0, .val = 0 },
- { .offset = 0x101c0, .val = 0 },
- { .offset = 0x1101c0, .val = 0 },
- { .offset = 0x2101c0, .val = 0 },
- { .offset = 0x102c0, .val = 0 },
- { .offset = 0x1102c0, .val = 0 },
- { .offset = 0x2102c0, .val = 0 },
- { .offset = 0x103c0, .val = 0 },
- { .offset = 0x1103c0, .val = 0 },
- { .offset = 0x2103c0, .val = 0 },
- { .offset = 0x104c0, .val = 0 },
- { .offset = 0x1104c0, .val = 0 },
- { .offset = 0x2104c0, .val = 0 },
- { .offset = 0x105c0, .val = 0 },
- { .offset = 0x1105c0, .val = 0 },
- { .offset = 0x2105c0, .val = 0 },
- { .offset = 0x106c0, .val = 0 },
- { .offset = 0x1106c0, .val = 0 },
- { .offset = 0x2106c0, .val = 0 },
- { .offset = 0x107c0, .val = 0 },
- { .offset = 0x1107c0, .val = 0 },
- { .offset = 0x2107c0, .val = 0 },
- { .offset = 0x108c0, .val = 0 },
- { .offset = 0x1108c0, .val = 0 },
- { .offset = 0x2108c0, .val = 0 },
- { .offset = 0x110c0, .val = 0 },
- { .offset = 0x1110c0, .val = 0 },
- { .offset = 0x2110c0, .val = 0 },
- { .offset = 0x111c0, .val = 0 },
- { .offset = 0x1111c0, .val = 0 },
- { .offset = 0x2111c0, .val = 0 },
- { .offset = 0x112c0, .val = 0 },
- { .offset = 0x1112c0, .val = 0 },
- { .offset = 0x2112c0, .val = 0 },
- { .offset = 0x113c0, .val = 0 },
- { .offset = 0x1113c0, .val = 0 },
- { .offset = 0x2113c0, .val = 0 },
- { .offset = 0x114c0, .val = 0 },
- { .offset = 0x1114c0, .val = 0 },
- { .offset = 0x2114c0, .val = 0 },
- { .offset = 0x115c0, .val = 0 },
- { .offset = 0x1115c0, .val = 0 },
- { .offset = 0x2115c0, .val = 0 },
- { .offset = 0x116c0, .val = 0 },
- { .offset = 0x1116c0, .val = 0 },
- { .offset = 0x2116c0, .val = 0 },
- { .offset = 0x117c0, .val = 0 },
- { .offset = 0x1117c0, .val = 0 },
- { .offset = 0x2117c0, .val = 0 },
- { .offset = 0x118c0, .val = 0 },
- { .offset = 0x1118c0, .val = 0 },
- { .offset = 0x2118c0, .val = 0 },
- { .offset = 0x120c0, .val = 0 },
- { .offset = 0x1120c0, .val = 0 },
- { .offset = 0x2120c0, .val = 0 },
- { .offset = 0x121c0, .val = 0 },
- { .offset = 0x1121c0, .val = 0 },
- { .offset = 0x2121c0, .val = 0 },
- { .offset = 0x122c0, .val = 0 },
- { .offset = 0x1122c0, .val = 0 },
- { .offset = 0x2122c0, .val = 0 },
- { .offset = 0x123c0, .val = 0 },
- { .offset = 0x1123c0, .val = 0 },
- { .offset = 0x2123c0, .val = 0 },
- { .offset = 0x124c0, .val = 0 },
- { .offset = 0x1124c0, .val = 0 },
- { .offset = 0x2124c0, .val = 0 },
- { .offset = 0x125c0, .val = 0 },
- { .offset = 0x1125c0, .val = 0 },
- { .offset = 0x2125c0, .val = 0 },
- { .offset = 0x126c0, .val = 0 },
- { .offset = 0x1126c0, .val = 0 },
- { .offset = 0x2126c0, .val = 0 },
- { .offset = 0x127c0, .val = 0 },
- { .offset = 0x1127c0, .val = 0 },
- { .offset = 0x2127c0, .val = 0 },
- { .offset = 0x128c0, .val = 0 },
- { .offset = 0x1128c0, .val = 0 },
- { .offset = 0x2128c0, .val = 0 },
- { .offset = 0x130c0, .val = 0 },
- { .offset = 0x1130c0, .val = 0 },
- { .offset = 0x2130c0, .val = 0 },
- { .offset = 0x131c0, .val = 0 },
- { .offset = 0x1131c0, .val = 0 },
- { .offset = 0x2131c0, .val = 0 },
- { .offset = 0x132c0, .val = 0 },
- { .offset = 0x1132c0, .val = 0 },
- { .offset = 0x2132c0, .val = 0 },
- { .offset = 0x133c0, .val = 0 },
- { .offset = 0x1133c0, .val = 0 },
- { .offset = 0x2133c0, .val = 0 },
- { .offset = 0x134c0, .val = 0 },
- { .offset = 0x1134c0, .val = 0 },
- { .offset = 0x2134c0, .val = 0 },
- { .offset = 0x135c0, .val = 0 },
- { .offset = 0x1135c0, .val = 0 },
- { .offset = 0x2135c0, .val = 0 },
- { .offset = 0x136c0, .val = 0 },
- { .offset = 0x1136c0, .val = 0 },
- { .offset = 0x2136c0, .val = 0 },
- { .offset = 0x137c0, .val = 0 },
- { .offset = 0x1137c0, .val = 0 },
- { .offset = 0x2137c0, .val = 0 },
- { .offset = 0x138c0, .val = 0 },
- { .offset = 0x1138c0, .val = 0 },
- { .offset = 0x2138c0, .val = 0 },
- { .offset = 0x100c1, .val = 0 },
- { .offset = 0x1100c1, .val = 0 },
- { .offset = 0x2100c1, .val = 0 },
- { .offset = 0x101c1, .val = 0 },
- { .offset = 0x1101c1, .val = 0 },
- { .offset = 0x2101c1, .val = 0 },
- { .offset = 0x102c1, .val = 0 },
- { .offset = 0x1102c1, .val = 0 },
- { .offset = 0x2102c1, .val = 0 },
- { .offset = 0x103c1, .val = 0 },
- { .offset = 0x1103c1, .val = 0 },
- { .offset = 0x2103c1, .val = 0 },
- { .offset = 0x104c1, .val = 0 },
- { .offset = 0x1104c1, .val = 0 },
- { .offset = 0x2104c1, .val = 0 },
- { .offset = 0x105c1, .val = 0 },
- { .offset = 0x1105c1, .val = 0 },
- { .offset = 0x2105c1, .val = 0 },
- { .offset = 0x106c1, .val = 0 },
- { .offset = 0x1106c1, .val = 0 },
- { .offset = 0x2106c1, .val = 0 },
- { .offset = 0x107c1, .val = 0 },
- { .offset = 0x1107c1, .val = 0 },
- { .offset = 0x2107c1, .val = 0 },
- { .offset = 0x108c1, .val = 0 },
- { .offset = 0x1108c1, .val = 0 },
- { .offset = 0x2108c1, .val = 0 },
- { .offset = 0x110c1, .val = 0 },
- { .offset = 0x1110c1, .val = 0 },
- { .offset = 0x2110c1, .val = 0 },
- { .offset = 0x111c1, .val = 0 },
- { .offset = 0x1111c1, .val = 0 },
- { .offset = 0x2111c1, .val = 0 },
- { .offset = 0x112c1, .val = 0 },
- { .offset = 0x1112c1, .val = 0 },
- { .offset = 0x2112c1, .val = 0 },
- { .offset = 0x113c1, .val = 0 },
- { .offset = 0x1113c1, .val = 0 },
- { .offset = 0x2113c1, .val = 0 },
- { .offset = 0x114c1, .val = 0 },
- { .offset = 0x1114c1, .val = 0 },
- { .offset = 0x2114c1, .val = 0 },
- { .offset = 0x115c1, .val = 0 },
- { .offset = 0x1115c1, .val = 0 },
- { .offset = 0x2115c1, .val = 0 },
- { .offset = 0x116c1, .val = 0 },
- { .offset = 0x1116c1, .val = 0 },
- { .offset = 0x2116c1, .val = 0 },
- { .offset = 0x117c1, .val = 0 },
- { .offset = 0x1117c1, .val = 0 },
- { .offset = 0x2117c1, .val = 0 },
- { .offset = 0x118c1, .val = 0 },
- { .offset = 0x1118c1, .val = 0 },
- { .offset = 0x2118c1, .val = 0 },
- { .offset = 0x120c1, .val = 0 },
- { .offset = 0x1120c1, .val = 0 },
- { .offset = 0x2120c1, .val = 0 },
- { .offset = 0x121c1, .val = 0 },
- { .offset = 0x1121c1, .val = 0 },
- { .offset = 0x2121c1, .val = 0 },
- { .offset = 0x122c1, .val = 0 },
- { .offset = 0x1122c1, .val = 0 },
- { .offset = 0x2122c1, .val = 0 },
- { .offset = 0x123c1, .val = 0 },
- { .offset = 0x1123c1, .val = 0 },
- { .offset = 0x2123c1, .val = 0 },
- { .offset = 0x124c1, .val = 0 },
- { .offset = 0x1124c1, .val = 0 },
- { .offset = 0x2124c1, .val = 0 },
- { .offset = 0x125c1, .val = 0 },
- { .offset = 0x1125c1, .val = 0 },
- { .offset = 0x2125c1, .val = 0 },
- { .offset = 0x126c1, .val = 0 },
- { .offset = 0x1126c1, .val = 0 },
- { .offset = 0x2126c1, .val = 0 },
- { .offset = 0x127c1, .val = 0 },
- { .offset = 0x1127c1, .val = 0 },
- { .offset = 0x2127c1, .val = 0 },
- { .offset = 0x128c1, .val = 0 },
- { .offset = 0x1128c1, .val = 0 },
- { .offset = 0x2128c1, .val = 0 },
- { .offset = 0x130c1, .val = 0 },
- { .offset = 0x1130c1, .val = 0 },
- { .offset = 0x2130c1, .val = 0 },
- { .offset = 0x131c1, .val = 0 },
- { .offset = 0x1131c1, .val = 0 },
- { .offset = 0x2131c1, .val = 0 },
- { .offset = 0x132c1, .val = 0 },
- { .offset = 0x1132c1, .val = 0 },
- { .offset = 0x2132c1, .val = 0 },
- { .offset = 0x133c1, .val = 0 },
- { .offset = 0x1133c1, .val = 0 },
- { .offset = 0x2133c1, .val = 0 },
- { .offset = 0x134c1, .val = 0 },
- { .offset = 0x1134c1, .val = 0 },
- { .offset = 0x2134c1, .val = 0 },
- { .offset = 0x135c1, .val = 0 },
- { .offset = 0x1135c1, .val = 0 },
- { .offset = 0x2135c1, .val = 0 },
- { .offset = 0x136c1, .val = 0 },
- { .offset = 0x1136c1, .val = 0 },
- { .offset = 0x2136c1, .val = 0 },
- { .offset = 0x137c1, .val = 0 },
- { .offset = 0x1137c1, .val = 0 },
- { .offset = 0x2137c1, .val = 0 },
- { .offset = 0x138c1, .val = 0 },
- { .offset = 0x1138c1, .val = 0 },
- { .offset = 0x2138c1, .val = 0 },
- { .offset = 0x10020, .val = 0 },
- { .offset = 0x110020, .val = 0 },
- { .offset = 0x210020, .val = 0 },
- { .offset = 0x11020, .val = 0 },
- { .offset = 0x111020, .val = 0 },
- { .offset = 0x211020, .val = 0 },
- { .offset = 0x12020, .val = 0 },
- { .offset = 0x112020, .val = 0 },
- { .offset = 0x212020, .val = 0 },
- { .offset = 0x13020, .val = 0 },
- { .offset = 0x113020, .val = 0 },
- { .offset = 0x213020, .val = 0 },
- { .offset = 0x20072, .val = 0 },
- { .offset = 0x20073, .val = 0 },
- { .offset = 0x20074, .val = 0 },
- { .offset = 0x100aa, .val = 0 },
- { .offset = 0x110aa, .val = 0 },
- { .offset = 0x120aa, .val = 0 },
- { .offset = 0x130aa, .val = 0 },
- { .offset = 0x20010, .val = 0 },
- { .offset = 0x120010, .val = 0 },
- { .offset = 0x220010, .val = 0 },
- { .offset = 0x20011, .val = 0 },
- { .offset = 0x120011, .val = 0 },
- { .offset = 0x220011, .val = 0 },
- { .offset = 0x100ae, .val = 0 },
- { .offset = 0x1100ae, .val = 0 },
- { .offset = 0x2100ae, .val = 0 },
- { .offset = 0x100af, .val = 0 },
- { .offset = 0x1100af, .val = 0 },
- { .offset = 0x2100af, .val = 0 },
- { .offset = 0x110ae, .val = 0 },
- { .offset = 0x1110ae, .val = 0 },
- { .offset = 0x2110ae, .val = 0 },
- { .offset = 0x110af, .val = 0 },
- { .offset = 0x1110af, .val = 0 },
- { .offset = 0x2110af, .val = 0 },
- { .offset = 0x120ae, .val = 0 },
- { .offset = 0x1120ae, .val = 0 },
- { .offset = 0x2120ae, .val = 0 },
- { .offset = 0x120af, .val = 0 },
- { .offset = 0x1120af, .val = 0 },
- { .offset = 0x2120af, .val = 0 },
- { .offset = 0x130ae, .val = 0 },
- { .offset = 0x1130ae, .val = 0 },
- { .offset = 0x2130ae, .val = 0 },
- { .offset = 0x130af, .val = 0 },
- { .offset = 0x1130af, .val = 0 },
- { .offset = 0x2130af, .val = 0 },
- { .offset = 0x20020, .val = 0 },
- { .offset = 0x120020, .val = 0 },
- { .offset = 0x220020, .val = 0 },
- { .offset = 0x100a0, .val = 0 },
- { .offset = 0x100a1, .val = 0 },
- { .offset = 0x100a2, .val = 0 },
- { .offset = 0x100a3, .val = 0 },
- { .offset = 0x100a4, .val = 0 },
- { .offset = 0x100a5, .val = 0 },
- { .offset = 0x100a6, .val = 0 },
- { .offset = 0x100a7, .val = 0 },
- { .offset = 0x110a0, .val = 0 },
- { .offset = 0x110a1, .val = 0 },
- { .offset = 0x110a2, .val = 0 },
- { .offset = 0x110a3, .val = 0 },
- { .offset = 0x110a4, .val = 0 },
- { .offset = 0x110a5, .val = 0 },
- { .offset = 0x110a6, .val = 0 },
- { .offset = 0x110a7, .val = 0 },
- { .offset = 0x120a0, .val = 0 },
- { .offset = 0x120a1, .val = 0 },
- { .offset = 0x120a2, .val = 0 },
- { .offset = 0x120a3, .val = 0 },
- { .offset = 0x120a4, .val = 0 },
- { .offset = 0x120a5, .val = 0 },
- { .offset = 0x120a6, .val = 0 },
- { .offset = 0x120a7, .val = 0 },
- { .offset = 0x130a0, .val = 0 },
- { .offset = 0x130a1, .val = 0 },
- { .offset = 0x130a2, .val = 0 },
- { .offset = 0x130a3, .val = 0 },
- { .offset = 0x130a4, .val = 0 },
- { .offset = 0x130a5, .val = 0 },
- { .offset = 0x130a6, .val = 0 },
- { .offset = 0x130a7, .val = 0 },
- { .offset = 0x2007c, .val = 0 },
- { .offset = 0x12007c, .val = 0 },
- { .offset = 0x22007c, .val = 0 },
- { .offset = 0x2007d, .val = 0 },
- { .offset = 0x12007d, .val = 0 },
- { .offset = 0x22007d, .val = 0 },
- { .offset = 0x400fd, .val = 0 },
- { .offset = 0x400c0, .val = 0 },
- { .offset = 0x90201, .val = 0 },
- { .offset = 0x190201, .val = 0 },
- { .offset = 0x290201, .val = 0 },
- { .offset = 0x90202, .val = 0 },
- { .offset = 0x190202, .val = 0 },
- { .offset = 0x290202, .val = 0 },
- { .offset = 0x90203, .val = 0 },
- { .offset = 0x190203, .val = 0 },
- { .offset = 0x290203, .val = 0 },
- { .offset = 0x90204, .val = 0 },
- { .offset = 0x190204, .val = 0 },
- { .offset = 0x290204, .val = 0 },
- { .offset = 0x90205, .val = 0 },
- { .offset = 0x190205, .val = 0 },
- { .offset = 0x290205, .val = 0 },
- { .offset = 0x90206, .val = 0 },
- { .offset = 0x190206, .val = 0 },
- { .offset = 0x290206, .val = 0 },
- { .offset = 0x90207, .val = 0 },
- { .offset = 0x190207, .val = 0 },
- { .offset = 0x290207, .val = 0 },
- { .offset = 0x90208, .val = 0 },
- { .offset = 0x190208, .val = 0 },
- { .offset = 0x290208, .val = 0 },
- { .offset = 0x10062, .val = 0 },
- { .offset = 0x10162, .val = 0 },
- { .offset = 0x10262, .val = 0 },
- { .offset = 0x10362, .val = 0 },
- { .offset = 0x10462, .val = 0 },
- { .offset = 0x10562, .val = 0 },
- { .offset = 0x10662, .val = 0 },
- { .offset = 0x10762, .val = 0 },
- { .offset = 0x10862, .val = 0 },
- { .offset = 0x11062, .val = 0 },
- { .offset = 0x11162, .val = 0 },
- { .offset = 0x11262, .val = 0 },
- { .offset = 0x11362, .val = 0 },
- { .offset = 0x11462, .val = 0 },
- { .offset = 0x11562, .val = 0 },
- { .offset = 0x11662, .val = 0 },
- { .offset = 0x11762, .val = 0 },
- { .offset = 0x11862, .val = 0 },
- { .offset = 0x12062, .val = 0 },
- { .offset = 0x12162, .val = 0 },
- { .offset = 0x12262, .val = 0 },
- { .offset = 0x12362, .val = 0 },
- { .offset = 0x12462, .val = 0 },
- { .offset = 0x12562, .val = 0 },
- { .offset = 0x12662, .val = 0 },
- { .offset = 0x12762, .val = 0 },
- { .offset = 0x12862, .val = 0 },
- { .offset = 0x13062, .val = 0 },
- { .offset = 0x13162, .val = 0 },
- { .offset = 0x13262, .val = 0 },
- { .offset = 0x13362, .val = 0 },
- { .offset = 0x13462, .val = 0 },
- { .offset = 0x13562, .val = 0 },
- { .offset = 0x13662, .val = 0 },
- { .offset = 0x13762, .val = 0 },
- { .offset = 0x13862, .val = 0 },
- { .offset = 0x20077, .val = 0 },
- { .offset = 0x10001, .val = 0 },
- { .offset = 0x11001, .val = 0 },
- { .offset = 0x12001, .val = 0 },
- { .offset = 0x13001, .val = 0 },
- { .offset = 0x10040, .val = 0 },
- { .offset = 0x10140, .val = 0 },
- { .offset = 0x10240, .val = 0 },
- { .offset = 0x10340, .val = 0 },
- { .offset = 0x10440, .val = 0 },
- { .offset = 0x10540, .val = 0 },
- { .offset = 0x10640, .val = 0 },
- { .offset = 0x10740, .val = 0 },
- { .offset = 0x10840, .val = 0 },
- { .offset = 0x10030, .val = 0 },
- { .offset = 0x10130, .val = 0 },
- { .offset = 0x10230, .val = 0 },
- { .offset = 0x10330, .val = 0 },
- { .offset = 0x10430, .val = 0 },
- { .offset = 0x10530, .val = 0 },
- { .offset = 0x10630, .val = 0 },
- { .offset = 0x10730, .val = 0 },
- { .offset = 0x10830, .val = 0 },
- { .offset = 0x11040, .val = 0 },
- { .offset = 0x11140, .val = 0 },
- { .offset = 0x11240, .val = 0 },
- { .offset = 0x11340, .val = 0 },
- { .offset = 0x11440, .val = 0 },
- { .offset = 0x11540, .val = 0 },
- { .offset = 0x11640, .val = 0 },
- { .offset = 0x11740, .val = 0 },
- { .offset = 0x11840, .val = 0 },
- { .offset = 0x11030, .val = 0 },
- { .offset = 0x11130, .val = 0 },
- { .offset = 0x11230, .val = 0 },
- { .offset = 0x11330, .val = 0 },
- { .offset = 0x11430, .val = 0 },
- { .offset = 0x11530, .val = 0 },
- { .offset = 0x11630, .val = 0 },
- { .offset = 0x11730, .val = 0 },
- { .offset = 0x11830, .val = 0 },
- { .offset = 0x12040, .val = 0 },
- { .offset = 0x12140, .val = 0 },
- { .offset = 0x12240, .val = 0 },
- { .offset = 0x12340, .val = 0 },
- { .offset = 0x12440, .val = 0 },
- { .offset = 0x12540, .val = 0 },
- { .offset = 0x12640, .val = 0 },
- { .offset = 0x12740, .val = 0 },
- { .offset = 0x12840, .val = 0 },
- { .offset = 0x12030, .val = 0 },
- { .offset = 0x12130, .val = 0 },
- { .offset = 0x12230, .val = 0 },
- { .offset = 0x12330, .val = 0 },
- { .offset = 0x12430, .val = 0 },
- { .offset = 0x12530, .val = 0 },
- { .offset = 0x12630, .val = 0 },
- { .offset = 0x12730, .val = 0 },
- { .offset = 0x12830, .val = 0 },
- { .offset = 0x13040, .val = 0 },
- { .offset = 0x13140, .val = 0 },
- { .offset = 0x13240, .val = 0 },
- { .offset = 0x13340, .val = 0 },
- { .offset = 0x13440, .val = 0 },
- { .offset = 0x13540, .val = 0 },
- { .offset = 0x13640, .val = 0 },
- { .offset = 0x13740, .val = 0 },
- { .offset = 0x13840, .val = 0 },
- { .offset = 0x13030, .val = 0 },
- { .offset = 0x13130, .val = 0 },
- { .offset = 0x13230, .val = 0 },
- { .offset = 0x13330, .val = 0 },
- { .offset = 0x13430, .val = 0 },
- { .offset = 0x13530, .val = 0 },
- { .offset = 0x13630, .val = 0 },
- { .offset = 0x13730, .val = 0 },
- { .offset = 0x13830, .val = 0 },
+ { .offset = 0x100a0, .val = 0x0 }, //DDR_PHY_Dq0LnSel_0
+ { .offset = 0x100a1, .val = 0x0 }, //DDR_PHY_Dq1LnSel_0
+ { .offset = 0x100a2, .val = 0x0 }, //DDR_PHY_Dq2LnSel_0
+ { .offset = 0x100a3, .val = 0x0 }, //DDR_PHY_Dq3LnSel_0
+ { .offset = 0x100a4, .val = 0x0 }, //DDR_PHY_Dq4LnSel_0
+ { .offset = 0x100a5, .val = 0x0 }, //DDR_PHY_Dq5LnSel_0
+ { .offset = 0x100a6, .val = 0x0 }, //DDR_PHY_Dq6LnSel_0
+ { .offset = 0x100a7, .val = 0x0 }, //DDR_PHY_Dq7LnSel_0
+ { .offset = 0x110a0, .val = 0x0 }, //DDR_PHY_Dq0LnSel_1
+ { .offset = 0x110a1, .val = 0x0 }, //DDR_PHY_Dq1LnSel_1
+ { .offset = 0x110a2, .val = 0x0 }, //DDR_PHY_Dq2LnSel_1
+ { .offset = 0x110a3, .val = 0x0 }, //DDR_PHY_Dq3LnSel_1
+ { .offset = 0x110a4, .val = 0x0 }, //DDR_PHY_Dq4LnSel_1
+ { .offset = 0x110a5, .val = 0x0 }, //DDR_PHY_Dq5LnSel_1
+ { .offset = 0x110a6, .val = 0x0 }, //DDR_PHY_Dq6LnSel_1
+ { .offset = 0x110a7, .val = 0x0 }, //DDR_PHY_Dq7LnSel_1
+ { .offset = 0x120a0, .val = 0x0 }, //DDR_PHY_Dq0LnSel_2
+ { .offset = 0x120a1, .val = 0x0 }, //DDR_PHY_Dq1LnSel_2
+ { .offset = 0x120a2, .val = 0x0 }, //DDR_PHY_Dq2LnSel_2
+ { .offset = 0x120a3, .val = 0x0 }, //DDR_PHY_Dq3LnSel_2
+ { .offset = 0x120a4, .val = 0x0 }, //DDR_PHY_Dq4LnSel_2
+ { .offset = 0x120a5, .val = 0x0 }, //DDR_PHY_Dq5LnSel_2
+ { .offset = 0x120a6, .val = 0x0 }, //DDR_PHY_Dq6LnSel_2
+ { .offset = 0x120a7, .val = 0x0 }, //DDR_PHY_Dq7LnSel_2
+ { .offset = 0x130a0, .val = 0x0 }, //DDR_PHY_Dq0LnSel_3
+ { .offset = 0x130a1, .val = 0x0 }, //DDR_PHY_Dq1LnSel_3
+ { .offset = 0x130a2, .val = 0x0 }, //DDR_PHY_Dq2LnSel_3
+ { .offset = 0x130a3, .val = 0x0 }, //DDR_PHY_Dq3LnSel_3
+ { .offset = 0x130a4, .val = 0x0 }, //DDR_PHY_Dq4LnSel_3
+ { .offset = 0x130a5, .val = 0x0 }, //DDR_PHY_Dq5LnSel_3
+ { .offset = 0x130a6, .val = 0x0 }, //DDR_PHY_Dq6LnSel_3
+ { .offset = 0x130a7, .val = 0x0 }, //DDR_PHY_Dq7LnSel_3
+
+ { .offset = 0x80, .val = 0 }, // DWC_DDRPHYA_ANIB0_ATxDly_P0
+ { .offset = 0x100080, .val = 0 }, // DWC_DDRPHYA_ANIB0_ATxDly_P1
+ { .offset = 0x200080, .val = 0 }, // DWC_DDRPHYA_ANIB0_ATxDly_P2
+ { .offset = 0x1080, .val = 0 }, // DWC_DDRPHYA_ANIB1_ATxDly_P0
+ { .offset = 0x101080, .val = 0 }, // DWC_DDRPHYA_ANIB1_ATxDly_P0
+ { .offset = 0x201080, .val = 0 }, // DWC_DDRPHYA_ANIB1_ATxDly_P2
+ { .offset = 0x2080, .val = 0 }, // DWC_DDRPHYA_ANIB2_ATxDly_P0
+ { .offset = 0x102080, .val = 0 }, // DWC_DDRPHYA_ANIB2_ATxDly_P1
+ { .offset = 0x202080, .val = 0 }, // DWC_DDRPHYA_ANIB2_ATxDly_P2
+ { .offset = 0x3080, .val = 0 }, // DWC_DDRPHYA_ANIB3_ATxDly_P0
+ { .offset = 0x103080, .val = 0 }, // DWC_DDRPHYA_ANIB3_ATxDly_P1
+ { .offset = 0x203080, .val = 0 }, // DWC_DDRPHYA_ANIB3_ATxDly_P2
+ { .offset = 0x4080, .val = 0 }, // DWC_DDRPHYA_ANIB4_ATxDly_P0
+ { .offset = 0x104080, .val = 0 }, // DWC_DDRPHYA_ANIB4_ATxDly_P1
+ { .offset = 0x204080, .val = 0 }, // DWC_DDRPHYA_ANIB4_ATxDly_P2
+ { .offset = 0x5080, .val = 0 }, // DWC_DDRPHYA_ANIB5_ATxDly_P0
+ { .offset = 0x105080, .val = 0 }, // DWC_DDRPHYA_ANIB5_ATxDly_P1
+ { .offset = 0x205080, .val = 0 }, // DWC_DDRPHYA_ANIB5_ATxDly_P2
+ { .offset = 0x6080, .val = 0 }, // DWC_DDRPHYA_ANIB6_ATxDly_P0
+ { .offset = 0x106080, .val = 0 }, // DWC_DDRPHYA_ANIB6_ATxDly_P1
+ { .offset = 0x206080, .val = 0 }, // DWC_DDRPHYA_ANIB6_ATxDly_P2
+ { .offset = 0x7080, .val = 0 }, // DWC_DDRPHYA_ANIB7_ATxDly_P0
+ { .offset = 0x107080, .val = 0 }, // DWC_DDRPHYA_ANIB7_ATxDly_P1
+ { .offset = 0x207080, .val = 0 }, // DWC_DDRPHYA_ANIB7_ATxDly_P2
+ { .offset = 0x8080, .val = 0 }, // DWC_DDRPHYA_ANIB8_ATxDly_P0
+ { .offset = 0x108080, .val = 0 }, // DWC_DDRPHYA_ANIB8_ATxDly_P1
+ { .offset = 0x208080, .val = 0 }, // DWC_DDRPHYA_ANIB8_ATxDly_P2
+ { .offset = 0x9080, .val = 0 }, // DWC_DDRPHYA_ANIB9_ATxDly_P0
+ { .offset = 0x109080, .val = 0 }, // DWC_DDRPHYA_ANIB9_ATxDly_P1
+ { .offset = 0x209080, .val = 0 }, // DWC_DDRPHYA_ANIB9_ATxDly_P2
+
+ { .offset = 0x10080, .val = 0 }, // DWC_DDRPHYA_DBYTE0_RxEnDlyTg0_b0_P0
+ { .offset = 0x110080, .val = 0 }, // DWC_DDRPHYA_DBYTE0_RxEnDlyTg0_b0_P1
+ { .offset = 0x210080, .val = 0 }, // DWC_DDRPHYA_DBYTE0_RxEnDlyTg0_b0_P2
+ { .offset = 0x10180, .val = 0 }, // DWC_DDRPHYA_DBYTE0_RxEnDlyTg0_b1_P0
+ { .offset = 0x110180, .val = 0 }, // DWC_DDRPHYA_DBYTE0_RxEnDlyTg0_b1_P1
+ { .offset = 0x210180, .val = 0 }, // DWC_DDRPHYA_DBYTE0_RxEnDlyTg0_b1_P2
+ { .offset = 0x11080, .val = 0 }, // DWC_DDRPHYA_DBYTE1_RxEnDlyTg0_b0_P0
+ { .offset = 0x111080, .val = 0 }, // DWC_DDRPHYA_DBYTE1_RxEnDlyTg0_b0_P1
+ { .offset = 0x211080, .val = 0 }, // DWC_DDRPHYA_DBYTE1_RxEnDlyTg0_b0_P2
+ { .offset = 0x11180, .val = 0 }, // DWC_DDRPHYA_DBYTE1_RxEnDlyTg0_b1_P0
+ { .offset = 0x111180, .val = 0 }, // DWC_DDRPHYA_DBYTE1_RxEnDlyTg0_b1_P1
+ { .offset = 0x211180, .val = 0 }, // DWC_DDRPHYA_DBYTE1_RxEnDlyTg0_b1_P2
+ { .offset = 0x12080, .val = 0 }, // DWC_DDRPHYA_DBYTE2_RxEnDlyTg0_b0_P0
+ { .offset = 0x112080, .val = 0 }, // DWC_DDRPHYA_DBYTE2_RxEnDlyTg0_b0_P1
+ { .offset = 0x212080, .val = 0 }, // DWC_DDRPHYA_DBYTE2_RxEnDlyTg0_b0_P2
+ { .offset = 0x12180, .val = 0 }, // DWC_DDRPHYA_DBYTE2_RxEnDlyTg0_b1_P0
+ { .offset = 0x112180, .val = 0 }, // DWC_DDRPHYA_DBYTE2_RxEnDlyTg0_b1_P1
+ { .offset = 0x212180, .val = 0 }, // DWC_DDRPHYA_DBYTE2_RxEnDlyTg0_b1_P2
+ { .offset = 0x13080, .val = 0 }, // DWC_DDRPHYA_DBYTE3_RxEnDlyTg0_b0_P0
+ { .offset = 0x113080, .val = 0 }, // DWC_DDRPHYA_DBYTE3_RxEnDlyTg0_b0_P1
+ { .offset = 0x213080, .val = 0 }, // DWC_DDRPHYA_DBYTE3_RxEnDlyTg0_b0_P2
+ { .offset = 0x13180, .val = 0 }, // DWC_DDRPHYA_DBYTE3_RxEnDlyTg0_b1_P0
+ { .offset = 0x113180, .val = 0 }, // DWC_DDRPHYA_DBYTE3_RxEnDlyTg0_b1_P1
+ { .offset = 0x213180, .val = 0 }, // DWC_DDRPHYA_DBYTE3_RxEnDlyTg0_b1_P2
+
+ { .offset = 0x10081, .val = 0 }, // DWC_DDRPHYA_DBYTE0_RxEnDlyTg1_b0_P0
+ { .offset = 0x110081, .val = 0 }, // DWC_DDRPHYA_DBYTE0_RxEnDlyTg1_b0_P1
+ { .offset = 0x210081, .val = 0 }, // DWC_DDRPHYA_DBYTE0_RxEnDlyTg1_b0_P2
+ { .offset = 0x10181, .val = 0 }, // DWC_DDRPHYA_DBYTE0_RxEnDlyTg1_b1_P0
+ { .offset = 0x110181, .val = 0 }, // DWC_DDRPHYA_DBYTE0_RxEnDlyTg1_b1_P1
+ { .offset = 0x210181, .val = 0 }, // DWC_DDRPHYA_DBYTE0_RxEnDlyTg1_b1_P2
+ { .offset = 0x11081, .val = 0 }, // DWC_DDRPHYA_DBYTE1_RxEnDlyTg1_b0_P0
+ { .offset = 0x111081, .val = 0 }, // DWC_DDRPHYA_DBYTE1_RxEnDlyTg1_b0_P1
+ { .offset = 0x211081, .val = 0 }, // DWC_DDRPHYA_DBYTE1_RxEnDlyTg1_b0_P2
+ { .offset = 0x11181, .val = 0 }, // DWC_DDRPHYA_DBYTE1_RxEnDlyTg1_b1_P0
+ { .offset = 0x111181, .val = 0 }, // DWC_DDRPHYA_DBYTE1_RxEnDlyTg1_b1_P1
+ { .offset = 0x211181, .val = 0 }, // DWC_DDRPHYA_DBYTE1_RxEnDlyTg1_b1_P2
+ { .offset = 0x12081, .val = 0 }, // DWC_DDRPHYA_DBYTE2_RxEnDlyTg1_b0_P0
+ { .offset = 0x112081, .val = 0 }, // DWC_DDRPHYA_DBYTE2_RxEnDlyTg1_b0_P1
+ { .offset = 0x212081, .val = 0 }, // DWC_DDRPHYA_DBYTE2_RxEnDlyTg1_b0_P2
+ { .offset = 0x12181, .val = 0 }, // DWC_DDRPHYA_DBYTE2_RxEnDlyTg1_b1_P0
+ { .offset = 0x112181, .val = 0 }, // DWC_DDRPHYA_DBYTE2_RxEnDlyTg1_b1_P1
+ { .offset = 0x212181, .val = 0 }, // DWC_DDRPHYA_DBYTE2_RxEnDlyTg1_b1_P2
+ { .offset = 0x13081, .val = 0 }, // DWC_DDRPHYA_DBYTE3_RxEnDlyTg1_b0_P0
+ { .offset = 0x113081, .val = 0 }, // DWC_DDRPHYA_DBYTE3_RxEnDlyTg1_b0_P1
+ { .offset = 0x213081, .val = 0 }, // DWC_DDRPHYA_DBYTE3_RxEnDlyTg1_b0_P2
+ { .offset = 0x13181, .val = 0 }, // DWC_DDRPHYA_DBYTE3_RxEnDlyTg1_b1_P0
+ { .offset = 0x113181, .val = 0 }, // DWC_DDRPHYA_DBYTE3_RxEnDlyTg1_b1_P1
+ { .offset = 0x213181, .val = 0 }, // DWC_DDRPHYA_DBYTE3_RxEnDlyTg1_b1_P2
+
+ { .offset = 0x100d0, .val = 0 }, // DWC_DDRPHYA_DBYTE0_TxDqsDlyTg0_b0_P0
+ { .offset = 0x1100d0, .val = 0 }, // DWC_DDRPHYA_DBYTE0_TxDqsDlyTg0_b0_P1,
+ { .offset = 0x2100d0, .val = 0 }, // DWC_DDRPHYA_DBYTE0_TxDqsDlyTg0_b0_P2,
+ { .offset = 0x101d0, .val = 0 }, // DWC_DDRPHYA_DBYTE0_TxDqsDlyTg0_b1_P0
+ { .offset = 0x1101d0, .val = 0 }, // DWC_DDRPHYA_DBYTE0_TxDqsDlyTg0_b1_P1,
+ { .offset = 0x2101d0, .val = 0 }, // DWC_DDRPHYA_DBYTE0_TxDqsDlyTg0_b1_P2,
+ { .offset = 0x110d0, .val = 0 }, // DWC_DDRPHYA_DBYTE1_TxDqsDlyTg0_b0_P0
+ { .offset = 0x1110d0, .val = 0 }, // DWC_DDRPHYA_DBYTE1_TxDqsDlyTg0_b0_P1,
+ { .offset = 0x2110d0, .val = 0 }, // DWC_DDRPHYA_DBYTE1_TxDqsDlyTg0_b0_P2,
+ { .offset = 0x111d0, .val = 0 }, // DWC_DDRPHYA_DBYTE1_TxDqsDlyTg0_b1_P0
+ { .offset = 0x1111d0, .val = 0 }, // DWC_DDRPHYA_DBYTE1_TxDqsDlyTg0_b1_P1,
+ { .offset = 0x2111d0, .val = 0 }, // DWC_DDRPHYA_DBYTE1_TxDqsDlyTg0_b1_P2,
+ { .offset = 0x120d0, .val = 0 }, // DWC_DDRPHYA_DBYTE2_TxDqsDlyTg0_b0_P0
+ { .offset = 0x1120d0, .val = 0 }, // DWC_DDRPHYA_DBYTE2_TxDqsDlyTg0_b0_P1,
+ { .offset = 0x2120d0, .val = 0 }, // DWC_DDRPHYA_DBYTE2_TxDqsDlyTg0_b0_P2,
+ { .offset = 0x121d0, .val = 0 }, // DWC_DDRPHYA_DBYTE2_TxDqsDlyTg0_b1_P0
+ { .offset = 0x1121d0, .val = 0 }, // DWC_DDRPHYA_DBYTE2_TxDqsDlyTg0_b1_P1,
+ { .offset = 0x2121d0, .val = 0 }, // DWC_DDRPHYA_DBYTE2_TxDqsDlyTg0_b1_P2,
+ { .offset = 0x130d0, .val = 0 }, // DWC_DDRPHYA_DBYTE3_TxDqsDlyTg0_b0_P0
+ { .offset = 0x1130d0, .val = 0 }, // DWC_DDRPHYA_DBYTE3_TxDqsDlyTg0_b0_P1,
+ { .offset = 0x2130d0, .val = 0 }, // DWC_DDRPHYA_DBYTE3_TxDqsDlyTg0_b0_P2,
+ { .offset = 0x131d0, .val = 0 }, // DWC_DDRPHYA_DBYTE3_TxDqsDlyTg0_b1_P0
+ { .offset = 0x1131d0, .val = 0 }, // DWC_DDRPHYA_DBYTE3_TxDqsDlyTg0_b1_P1,
+ { .offset = 0x2131d0, .val = 0 }, // DWC_DDRPHYA_DBYTE3_TxDqsDlyTg0_b1_P2,
+
+ { .offset = 0x100d1, .val = 0 }, // DWC_DDRPHYA_DBYTE0_TxDqsDlyTg1_b0_P0
+ { .offset = 0x1100d1, .val = 0 }, // DWC_DDRPHYA_DBYTE0_TxDqsDlyTg1_b0_P1,
+ { .offset = 0x2100d1, .val = 0 }, // DWC_DDRPHYA_DBYTE0_TxDqsDlyTg1_b0_P2,
+ { .offset = 0x101d1, .val = 0 }, // DWC_DDRPHYA_DBYTE0_TxDqsDlyTg1_b1_P0
+ { .offset = 0x1101d1, .val = 0 }, // DWC_DDRPHYA_DBYTE0_TxDqsDlyTg1_b1_P1,
+ { .offset = 0x2101d1, .val = 0 }, // DWC_DDRPHYA_DBYTE0_TxDqsDlyTg1_b1_P2,
+ { .offset = 0x110d1, .val = 0 }, // DWC_DDRPHYA_DBYTE1_TxDqsDlyTg1_b0_P0
+ { .offset = 0x1110d1, .val = 0 }, // DWC_DDRPHYA_DBYTE1_TxDqsDlyTg1_b0_P1,
+ { .offset = 0x2110d1, .val = 0 }, // DWC_DDRPHYA_DBYTE1_TxDqsDlyTg1_b0_P2,
+ { .offset = 0x111d1, .val = 0 }, // DWC_DDRPHYA_DBYTE1_TxDqsDlyTg1_b1_P0
+ { .offset = 0x1111d1, .val = 0 }, // DWC_DDRPHYA_DBYTE1_TxDqsDlyTg1_b1_P1,
+ { .offset = 0x2111d1, .val = 0 }, // DWC_DDRPHYA_DBYTE1_TxDqsDlyTg1_b1_P2,
+ { .offset = 0x120d1, .val = 0 }, // DWC_DDRPHYA_DBYTE2_TxDqsDlyTg1_b0_P0
+ { .offset = 0x1120d1, .val = 0 }, // DWC_DDRPHYA_DBYTE2_TxDqsDlyTg1_b0_P1,
+ { .offset = 0x2120d1, .val = 0 }, // DWC_DDRPHYA_DBYTE2_TxDqsDlyTg1_b0_P2,
+ { .offset = 0x121d1, .val = 0 }, // DWC_DDRPHYA_DBYTE2_TxDqsDlyTg1_b1_P0
+ { .offset = 0x1121d1, .val = 0 }, // DWC_DDRPHYA_DBYTE2_TxDqsDlyTg1_b1_P1,
+ { .offset = 0x2121d1, .val = 0 }, // DWC_DDRPHYA_DBYTE2_TxDqsDlyTg1_b1_P2,
+ { .offset = 0x130d1, .val = 0 }, // DWC_DDRPHYA_DBYTE3_TxDqsDlyTg1_b0_P0
+ { .offset = 0x1130d1, .val = 0 }, // DWC_DDRPHYA_DBYTE3_TxDqsDlyTg1_b0_P1,
+ { .offset = 0x2130d1, .val = 0 }, // DWC_DDRPHYA_DBYTE3_TxDqsDlyTg1_b0_P2,
+ { .offset = 0x131d1, .val = 0 }, // DWC_DDRPHYA_DBYTE3_TxDqsDlyTg1_b1_P0
+ { .offset = 0x1131d1, .val = 0 }, // DWC_DDRPHYA_DBYTE3_TxDqsDlyTg1_b1_P1,
+ { .offset = 0x2131d1, .val = 0 }, // DWC_DDRPHYA_DBYTE3_TxDqsDlyTg1_b1_P2,
+
+ { .offset = 0x10068, .val = 0 }, // DWC_DDRPHYA_DBYTE0_RxPBDlyTg0_b0
+ { .offset = 0x10168, .val = 0 }, // DWC_DDRPHYA_DBYTE0_RxPBDlyTg0_b1
+ { .offset = 0x10268, .val = 0 }, // DWC_DDRPHYA_DBYTE0_RxPBDlyTg0_b2
+ { .offset = 0x10368, .val = 0 }, // DWC_DDRPHYA_DBYTE0_RxPBDlyTg0_b3
+ { .offset = 0x10468, .val = 0 }, // DWC_DDRPHYA_DBYTE0_RxPBDlyTg0_b4
+ { .offset = 0x10568, .val = 0 }, // DWC_DDRPHYA_DBYTE0_RxPBDlyTg0_b5
+ { .offset = 0x10668, .val = 0 }, // DWC_DDRPHYA_DBYTE0_RxPBDlyTg0_b6
+ { .offset = 0x10768, .val = 0 }, // DWC_DDRPHYA_DBYTE0_RxPBDlyTg0_b7
+ { .offset = 0x10868, .val = 0 }, // DWC_DDRPHYA_DBYTE0_RxPBDlyTg0_dbi
+ { .offset = 0x11068, .val = 0 }, // DWC_DDRPHYA_DBYTE1_RxPBDlyTg0_b0
+ { .offset = 0x11168, .val = 0 }, // DWC_DDRPHYA_DBYTE1_RxPBDlyTg0_b1
+ { .offset = 0x11268, .val = 0 }, // DWC_DDRPHYA_DBYTE1_RxPBDlyTg0_b2
+ { .offset = 0x11368, .val = 0 }, // DWC_DDRPHYA_DBYTE1_RxPBDlyTg0_b3
+ { .offset = 0x11468, .val = 0 }, // DWC_DDRPHYA_DBYTE1_RxPBDlyTg0_b4
+ { .offset = 0x11568, .val = 0 }, // DWC_DDRPHYA_DBYTE1_RxPBDlyTg0_b5
+ { .offset = 0x11668, .val = 0 }, // DWC_DDRPHYA_DBYTE1_RxPBDlyTg0_b6
+ { .offset = 0x11768, .val = 0 }, // DWC_DDRPHYA_DBYTE1_RxPBDlyTg0_b7
+ { .offset = 0x11868, .val = 0 }, // DWC_DDRPHYA_DBYTE1_RxPBDlyTg0_dbi
+ { .offset = 0x12068, .val = 0 }, // DWC_DDRPHYA_DBYTE2_RxPBDlyTg0_b0
+ { .offset = 0x12168, .val = 0 }, // DWC_DDRPHYA_DBYTE2_RxPBDlyTg0_b1
+ { .offset = 0x12268, .val = 0 }, // DWC_DDRPHYA_DBYTE2_RxPBDlyTg0_b2
+ { .offset = 0x12368, .val = 0 }, // DWC_DDRPHYA_DBYTE2_RxPBDlyTg0_b3
+ { .offset = 0x12468, .val = 0 }, // DWC_DDRPHYA_DBYTE2_RxPBDlyTg0_b4
+ { .offset = 0x12568, .val = 0 }, // DWC_DDRPHYA_DBYTE2_RxPBDlyTg0_b5
+ { .offset = 0x12668, .val = 0 }, // DWC_DDRPHYA_DBYTE2_RxPBDlyTg0_b6
+ { .offset = 0x12768, .val = 0 }, // DWC_DDRPHYA_DBYTE2_RxPBDlyTg0_b7
+ { .offset = 0x12868, .val = 0 }, // DWC_DDRPHYA_DBYTE2_RxPBDlyTg0_dbi
+ { .offset = 0x13068, .val = 0 }, // DWC_DDRPHYA_DBYTE3_RxPBDlyTg0_b0
+ { .offset = 0x13168, .val = 0 }, // DWC_DDRPHYA_DBYTE3_RxPBDlyTg0_b1
+ { .offset = 0x13268, .val = 0 }, // DWC_DDRPHYA_DBYTE3_RxPBDlyTg0_b2
+ { .offset = 0x13368, .val = 0 }, // DWC_DDRPHYA_DBYTE3_RxPBDlyTg0_b3
+ { .offset = 0x13468, .val = 0 }, // DWC_DDRPHYA_DBYTE3_RxPBDlyTg0_b4
+ { .offset = 0x13568, .val = 0 }, // DWC_DDRPHYA_DBYTE3_RxPBDlyTg0_b5
+ { .offset = 0x13668, .val = 0 }, // DWC_DDRPHYA_DBYTE3_RxPBDlyTg0_b6
+ { .offset = 0x13768, .val = 0 }, // DWC_DDRPHYA_DBYTE3_RxPBDlyTg0_b7
+ { .offset = 0x13868, .val = 0 }, // DWC_DDRPHYA_DBYTE3_RxPBDlyTg0_dbi
+
+ { .offset = 0x10069, .val = 0 }, // DWC_DDRPHYA_DBYTE0_RxPBDlyTg1_b0
+ { .offset = 0x10169, .val = 0 }, // DWC_DDRPHYA_DBYTE0_RxPBDlyTg1_b1
+ { .offset = 0x10269, .val = 0 }, // DWC_DDRPHYA_DBYTE0_RxPBDlyTg1_b2
+ { .offset = 0x10369, .val = 0 }, // DWC_DDRPHYA_DBYTE0_RxPBDlyTg1_b3
+ { .offset = 0x10469, .val = 0 }, // DWC_DDRPHYA_DBYTE0_RxPBDlyTg1_b4
+ { .offset = 0x10569, .val = 0 }, // DWC_DDRPHYA_DBYTE0_RxPBDlyTg1_b5
+ { .offset = 0x10669, .val = 0 }, // DWC_DDRPHYA_DBYTE0_RxPBDlyTg1_b6
+ { .offset = 0x10769, .val = 0 }, // DWC_DDRPHYA_DBYTE0_RxPBDlyTg1_b7
+ { .offset = 0x10869, .val = 0 }, // DWC_DDRPHYA_DBYTE0_RxPBDlyTg1_dbi
+ { .offset = 0x11069, .val = 0 }, // DWC_DDRPHYA_DBYTE1_RxPBDlyTg1_b0
+ { .offset = 0x11169, .val = 0 }, // DWC_DDRPHYA_DBYTE1_RxPBDlyTg1_b1
+ { .offset = 0x11269, .val = 0 }, // DWC_DDRPHYA_DBYTE1_RxPBDlyTg1_b2
+ { .offset = 0x11369, .val = 0 }, // DWC_DDRPHYA_DBYTE1_RxPBDlyTg1_b3
+ { .offset = 0x11469, .val = 0 }, // DWC_DDRPHYA_DBYTE1_RxPBDlyTg1_b4
+ { .offset = 0x11569, .val = 0 }, // DWC_DDRPHYA_DBYTE1_RxPBDlyTg1_b5
+ { .offset = 0x11669, .val = 0 }, // DWC_DDRPHYA_DBYTE1_RxPBDlyTg1_b6
+ { .offset = 0x11769, .val = 0 }, // DWC_DDRPHYA_DBYTE1_RxPBDlyTg1_b7
+ { .offset = 0x11869, .val = 0 }, // DWC_DDRPHYA_DBYTE1_RxPBDlyTg1_dbi
+ { .offset = 0x12069, .val = 0 }, // DWC_DDRPHYA_DBYTE2_RxPBDlyTg1_b0
+ { .offset = 0x12169, .val = 0 }, // DWC_DDRPHYA_DBYTE2_RxPBDlyTg1_b1
+ { .offset = 0x12269, .val = 0 }, // DWC_DDRPHYA_DBYTE2_RxPBDlyTg1_b2
+ { .offset = 0x12369, .val = 0 }, // DWC_DDRPHYA_DBYTE2_RxPBDlyTg1_b3
+ { .offset = 0x12469, .val = 0 }, // DWC_DDRPHYA_DBYTE2_RxPBDlyTg1_b4
+ { .offset = 0x12569, .val = 0 }, // DWC_DDRPHYA_DBYTE2_RxPBDlyTg1_b5
+ { .offset = 0x12669, .val = 0 }, // DWC_DDRPHYA_DBYTE2_RxPBDlyTg1_b6
+ { .offset = 0x12769, .val = 0 }, // DWC_DDRPHYA_DBYTE2_RxPBDlyTg1_b7
+ { .offset = 0x12869, .val = 0 }, // DWC_DDRPHYA_DBYTE2_RxPBDlyTg1_dbi
+ { .offset = 0x13069, .val = 0 }, // DWC_DDRPHYA_DBYTE3_RxPBDlyTg1_b0
+ { .offset = 0x13169, .val = 0 }, // DWC_DDRPHYA_DBYTE3_RxPBDlyTg1_b1
+ { .offset = 0x13269, .val = 0 }, // DWC_DDRPHYA_DBYTE3_RxPBDlyTg1_b2
+ { .offset = 0x13369, .val = 0 }, // DWC_DDRPHYA_DBYTE3_RxPBDlyTg1_b3
+ { .offset = 0x13469, .val = 0 }, // DWC_DDRPHYA_DBYTE3_RxPBDlyTg1_b4
+ { .offset = 0x13569, .val = 0 }, // DWC_DDRPHYA_DBYTE3_RxPBDlyTg1_b5
+ { .offset = 0x13669, .val = 0 }, // DWC_DDRPHYA_DBYTE3_RxPBDlyTg1_b6
+ { .offset = 0x13769, .val = 0 }, // DWC_DDRPHYA_DBYTE3_RxPBDlyTg1_b7
+ { .offset = 0x13869, .val = 0 }, // DWC_DDRPHYA_DBYTE3_RxPBDlyTg1_dbi
+
+ { .offset = 0x1008c, .val = 0 },
+ { .offset = 0x11008c, .val = 0 },
+ { .offset = 0x21008c, .val = 0 },
+ { .offset = 0x1018c, .val = 0 },
+ { .offset = 0x11018c, .val = 0 },
+ { .offset = 0x21018c, .val = 0 },
+ { .offset = 0x1108c, .val = 0 },
+ { .offset = 0x11108c, .val = 0 },
+ { .offset = 0x21108c, .val = 0 },
+ { .offset = 0x1118c, .val = 0 },
+ { .offset = 0x11118c, .val = 0 },
+ { .offset = 0x21118c, .val = 0 },
+ { .offset = 0x1208c, .val = 0 },
+ { .offset = 0x11208c, .val = 0 },
+ { .offset = 0x21208c, .val = 0 },
+ { .offset = 0x1218c, .val = 0 },
+ { .offset = 0x11218c, .val = 0 },
+ { .offset = 0x21218c, .val = 0 },
+ { .offset = 0x1308c, .val = 0 },
+ { .offset = 0x11308c, .val = 0 },
+ { .offset = 0x21308c, .val = 0 },
+ { .offset = 0x1318c, .val = 0 },
+ { .offset = 0x11318c, .val = 0 },
+ { .offset = 0x21318c, .val = 0 },
+ { .offset = 0x1008d, .val = 0 },
+ { .offset = 0x11008d, .val = 0 },
+ { .offset = 0x21008d, .val = 0 },
+ { .offset = 0x1018d, .val = 0 },
+ { .offset = 0x11018d, .val = 0 },
+ { .offset = 0x21018d, .val = 0 },
+ { .offset = 0x1108d, .val = 0 },
+ { .offset = 0x11108d, .val = 0 },
+ { .offset = 0x21108d, .val = 0 },
+ { .offset = 0x1118d, .val = 0 },
+ { .offset = 0x11118d, .val = 0 },
+ { .offset = 0x21118d, .val = 0 },
+ { .offset = 0x1208d, .val = 0 },
+ { .offset = 0x11208d, .val = 0 },
+ { .offset = 0x21208d, .val = 0 },
+ { .offset = 0x1218d, .val = 0 },
+ { .offset = 0x11218d, .val = 0 },
+ { .offset = 0x21218d, .val = 0 },
+ { .offset = 0x1308d, .val = 0 },
+ { .offset = 0x11308d, .val = 0 },
+ { .offset = 0x21308d, .val = 0 },
+ { .offset = 0x1318d, .val = 0 },
+ { .offset = 0x11318d, .val = 0 },
+ { .offset = 0x21318d, .val = 0 },
+ { .offset = 0x100c0, .val = 0 },
+ { .offset = 0x1100c0, .val = 0 },
+ { .offset = 0x2100c0, .val = 0 },
+ { .offset = 0x101c0, .val = 0 },
+ { .offset = 0x1101c0, .val = 0 },
+ { .offset = 0x2101c0, .val = 0 },
+ { .offset = 0x102c0, .val = 0 },
+ { .offset = 0x1102c0, .val = 0 },
+ { .offset = 0x2102c0, .val = 0 },
+ { .offset = 0x103c0, .val = 0 },
+ { .offset = 0x1103c0, .val = 0 },
+ { .offset = 0x2103c0, .val = 0 },
+ { .offset = 0x104c0, .val = 0 },
+ { .offset = 0x1104c0, .val = 0 },
+ { .offset = 0x2104c0, .val = 0 },
+ { .offset = 0x105c0, .val = 0 },
+ { .offset = 0x1105c0, .val = 0 },
+ { .offset = 0x2105c0, .val = 0 },
+ { .offset = 0x106c0, .val = 0 },
+ { .offset = 0x1106c0, .val = 0 },
+ { .offset = 0x2106c0, .val = 0 },
+ { .offset = 0x107c0, .val = 0 },
+ { .offset = 0x1107c0, .val = 0 },
+ { .offset = 0x2107c0, .val = 0 },
+ { .offset = 0x108c0, .val = 0 },
+ { .offset = 0x1108c0, .val = 0 },
+ { .offset = 0x2108c0, .val = 0 },
+ { .offset = 0x110c0, .val = 0 },
+ { .offset = 0x1110c0, .val = 0 },
+ { .offset = 0x2110c0, .val = 0 },
+ { .offset = 0x111c0, .val = 0 },
+ { .offset = 0x1111c0, .val = 0 },
+ { .offset = 0x2111c0, .val = 0 },
+ { .offset = 0x112c0, .val = 0 },
+ { .offset = 0x1112c0, .val = 0 },
+ { .offset = 0x2112c0, .val = 0 },
+ { .offset = 0x113c0, .val = 0 },
+ { .offset = 0x1113c0, .val = 0 },
+ { .offset = 0x2113c0, .val = 0 },
+ { .offset = 0x114c0, .val = 0 },
+ { .offset = 0x1114c0, .val = 0 },
+ { .offset = 0x2114c0, .val = 0 },
+ { .offset = 0x115c0, .val = 0 },
+ { .offset = 0x1115c0, .val = 0 },
+ { .offset = 0x2115c0, .val = 0 },
+ { .offset = 0x116c0, .val = 0 },
+ { .offset = 0x1116c0, .val = 0 },
+ { .offset = 0x2116c0, .val = 0 },
+ { .offset = 0x117c0, .val = 0 },
+ { .offset = 0x1117c0, .val = 0 },
+ { .offset = 0x2117c0, .val = 0 },
+ { .offset = 0x118c0, .val = 0 },
+ { .offset = 0x1118c0, .val = 0 },
+ { .offset = 0x2118c0, .val = 0 },
+ { .offset = 0x120c0, .val = 0 },
+ { .offset = 0x1120c0, .val = 0 },
+ { .offset = 0x2120c0, .val = 0 },
+ { .offset = 0x121c0, .val = 0 },
+ { .offset = 0x1121c0, .val = 0 },
+ { .offset = 0x2121c0, .val = 0 },
+ { .offset = 0x122c0, .val = 0 },
+ { .offset = 0x1122c0, .val = 0 },
+ { .offset = 0x2122c0, .val = 0 },
+ { .offset = 0x123c0, .val = 0 },
+ { .offset = 0x1123c0, .val = 0 },
+ { .offset = 0x2123c0, .val = 0 },
+ { .offset = 0x124c0, .val = 0 },
+ { .offset = 0x1124c0, .val = 0 },
+ { .offset = 0x2124c0, .val = 0 },
+ { .offset = 0x125c0, .val = 0 },
+ { .offset = 0x1125c0, .val = 0 },
+ { .offset = 0x2125c0, .val = 0 },
+ { .offset = 0x126c0, .val = 0 },
+ { .offset = 0x1126c0, .val = 0 },
+ { .offset = 0x2126c0, .val = 0 },
+ { .offset = 0x127c0, .val = 0 },
+ { .offset = 0x1127c0, .val = 0 },
+ { .offset = 0x2127c0, .val = 0 },
+ { .offset = 0x128c0, .val = 0 },
+ { .offset = 0x1128c0, .val = 0 },
+ { .offset = 0x2128c0, .val = 0 },
+ { .offset = 0x130c0, .val = 0 },
+ { .offset = 0x1130c0, .val = 0 },
+ { .offset = 0x2130c0, .val = 0 },
+ { .offset = 0x131c0, .val = 0 },
+ { .offset = 0x1131c0, .val = 0 },
+ { .offset = 0x2131c0, .val = 0 },
+ { .offset = 0x132c0, .val = 0 },
+ { .offset = 0x1132c0, .val = 0 },
+ { .offset = 0x2132c0, .val = 0 },
+ { .offset = 0x133c0, .val = 0 },
+ { .offset = 0x1133c0, .val = 0 },
+ { .offset = 0x2133c0, .val = 0 },
+ { .offset = 0x134c0, .val = 0 },
+ { .offset = 0x1134c0, .val = 0 },
+ { .offset = 0x2134c0, .val = 0 },
+ { .offset = 0x135c0, .val = 0 },
+ { .offset = 0x1135c0, .val = 0 },
+ { .offset = 0x2135c0, .val = 0 },
+ { .offset = 0x136c0, .val = 0 },
+ { .offset = 0x1136c0, .val = 0 },
+ { .offset = 0x2136c0, .val = 0 },
+ { .offset = 0x137c0, .val = 0 },
+ { .offset = 0x1137c0, .val = 0 },
+ { .offset = 0x2137c0, .val = 0 },
+ { .offset = 0x138c0, .val = 0 },
+ { .offset = 0x1138c0, .val = 0 },
+ { .offset = 0x2138c0, .val = 0 },
+ { .offset = 0x100c1, .val = 0 },
+ { .offset = 0x1100c1, .val = 0 },
+ { .offset = 0x2100c1, .val = 0 },
+ { .offset = 0x101c1, .val = 0 },
+ { .offset = 0x1101c1, .val = 0 },
+ { .offset = 0x2101c1, .val = 0 },
+ { .offset = 0x102c1, .val = 0 },
+ { .offset = 0x1102c1, .val = 0 },
+ { .offset = 0x2102c1, .val = 0 },
+ { .offset = 0x103c1, .val = 0 },
+ { .offset = 0x1103c1, .val = 0 },
+ { .offset = 0x2103c1, .val = 0 },
+ { .offset = 0x104c1, .val = 0 },
+ { .offset = 0x1104c1, .val = 0 },
+ { .offset = 0x2104c1, .val = 0 },
+ { .offset = 0x105c1, .val = 0 },
+ { .offset = 0x1105c1, .val = 0 },
+ { .offset = 0x2105c1, .val = 0 },
+ { .offset = 0x106c1, .val = 0 },
+ { .offset = 0x1106c1, .val = 0 },
+ { .offset = 0x2106c1, .val = 0 },
+ { .offset = 0x107c1, .val = 0 },
+ { .offset = 0x1107c1, .val = 0 },
+ { .offset = 0x2107c1, .val = 0 },
+ { .offset = 0x108c1, .val = 0 },
+ { .offset = 0x1108c1, .val = 0 },
+ { .offset = 0x2108c1, .val = 0 },
+ { .offset = 0x110c1, .val = 0 },
+ { .offset = 0x1110c1, .val = 0 },
+ { .offset = 0x2110c1, .val = 0 },
+ { .offset = 0x111c1, .val = 0 },
+ { .offset = 0x1111c1, .val = 0 },
+ { .offset = 0x2111c1, .val = 0 },
+ { .offset = 0x112c1, .val = 0 },
+ { .offset = 0x1112c1, .val = 0 },
+ { .offset = 0x2112c1, .val = 0 },
+ { .offset = 0x113c1, .val = 0 },
+ { .offset = 0x1113c1, .val = 0 },
+ { .offset = 0x2113c1, .val = 0 },
+ { .offset = 0x114c1, .val = 0 },
+ { .offset = 0x1114c1, .val = 0 },
+ { .offset = 0x2114c1, .val = 0 },
+ { .offset = 0x115c1, .val = 0 },
+ { .offset = 0x1115c1, .val = 0 },
+ { .offset = 0x2115c1, .val = 0 },
+ { .offset = 0x116c1, .val = 0 },
+ { .offset = 0x1116c1, .val = 0 },
+ { .offset = 0x2116c1, .val = 0 },
+ { .offset = 0x117c1, .val = 0 },
+ { .offset = 0x1117c1, .val = 0 },
+ { .offset = 0x2117c1, .val = 0 },
+ { .offset = 0x118c1, .val = 0 },
+ { .offset = 0x1118c1, .val = 0 },
+ { .offset = 0x2118c1, .val = 0 },
+ { .offset = 0x120c1, .val = 0 },
+ { .offset = 0x1120c1, .val = 0 },
+ { .offset = 0x2120c1, .val = 0 },
+ { .offset = 0x121c1, .val = 0 },
+ { .offset = 0x1121c1, .val = 0 },
+ { .offset = 0x2121c1, .val = 0 },
+ { .offset = 0x122c1, .val = 0 },
+ { .offset = 0x1122c1, .val = 0 },
+ { .offset = 0x2122c1, .val = 0 },
+ { .offset = 0x123c1, .val = 0 },
+ { .offset = 0x1123c1, .val = 0 },
+ { .offset = 0x2123c1, .val = 0 },
+ { .offset = 0x124c1, .val = 0 },
+ { .offset = 0x1124c1, .val = 0 },
+ { .offset = 0x2124c1, .val = 0 },
+ { .offset = 0x125c1, .val = 0 },
+ { .offset = 0x1125c1, .val = 0 },
+ { .offset = 0x2125c1, .val = 0 },
+ { .offset = 0x126c1, .val = 0 },
+ { .offset = 0x1126c1, .val = 0 },
+ { .offset = 0x2126c1, .val = 0 },
+ { .offset = 0x127c1, .val = 0 },
+ { .offset = 0x1127c1, .val = 0 },
+ { .offset = 0x2127c1, .val = 0 },
+ { .offset = 0x128c1, .val = 0 },
+ { .offset = 0x1128c1, .val = 0 },
+ { .offset = 0x2128c1, .val = 0 },
+ { .offset = 0x130c1, .val = 0 },
+ { .offset = 0x1130c1, .val = 0 },
+ { .offset = 0x2130c1, .val = 0 },
+ { .offset = 0x131c1, .val = 0 },
+ { .offset = 0x1131c1, .val = 0 },
+ { .offset = 0x2131c1, .val = 0 },
+ { .offset = 0x132c1, .val = 0 },
+ { .offset = 0x1132c1, .val = 0 },
+ { .offset = 0x2132c1, .val = 0 },
+ { .offset = 0x133c1, .val = 0 },
+ { .offset = 0x1133c1, .val = 0 },
+ { .offset = 0x2133c1, .val = 0 },
+ { .offset = 0x134c1, .val = 0 },
+ { .offset = 0x1134c1, .val = 0 },
+ { .offset = 0x2134c1, .val = 0 },
+ { .offset = 0x135c1, .val = 0 },
+ { .offset = 0x1135c1, .val = 0 },
+ { .offset = 0x2135c1, .val = 0 },
+ { .offset = 0x136c1, .val = 0 },
+ { .offset = 0x1136c1, .val = 0 },
+ { .offset = 0x2136c1, .val = 0 },
+ { .offset = 0x137c1, .val = 0 },
+ { .offset = 0x1137c1, .val = 0 },
+ { .offset = 0x2137c1, .val = 0 },
+ { .offset = 0x138c1, .val = 0 },
+ { .offset = 0x1138c1, .val = 0 },
+ { .offset = 0x2138c1, .val = 0 },
+ { .offset = 0x10020, .val = 0 },
+ { .offset = 0x110020, .val = 0 },
+ { .offset = 0x210020, .val = 0 },
+ { .offset = 0x11020, .val = 0 },
+ { .offset = 0x111020, .val = 0 },
+ { .offset = 0x211020, .val = 0 },
+ { .offset = 0x12020, .val = 0 },
+ { .offset = 0x112020, .val = 0 },
+ { .offset = 0x212020, .val = 0 },
+ { .offset = 0x13020, .val = 0 },
+ { .offset = 0x113020, .val = 0 },
+ { .offset = 0x213020, .val = 0 },
+ { .offset = 0x20072, .val = 0 },
+ { .offset = 0x20073, .val = 0 },
+ { .offset = 0x20074, .val = 0 },
+ { .offset = 0x100aa, .val = 0 },
+ { .offset = 0x110aa, .val = 0 },
+ { .offset = 0x120aa, .val = 0 },
+ { .offset = 0x130aa, .val = 0 },
+ { .offset = 0x20010, .val = 0 },
+ { .offset = 0x120010, .val = 0 },
+ { .offset = 0x220010, .val = 0 },
+ { .offset = 0x20011, .val = 0 },
+ { .offset = 0x120011, .val = 0 },
+ { .offset = 0x220011, .val = 0 },
+ { .offset = 0x100ae, .val = 0 },
+ { .offset = 0x1100ae, .val = 0 },
+ { .offset = 0x2100ae, .val = 0 },
+ { .offset = 0x100af, .val = 0 },
+ { .offset = 0x1100af, .val = 0 },
+ { .offset = 0x2100af, .val = 0 },
+ { .offset = 0x110ae, .val = 0 },
+ { .offset = 0x1110ae, .val = 0 },
+ { .offset = 0x2110ae, .val = 0 },
+ { .offset = 0x110af, .val = 0 },
+ { .offset = 0x1110af, .val = 0 },
+ { .offset = 0x2110af, .val = 0 },
+ { .offset = 0x120ae, .val = 0 },
+ { .offset = 0x1120ae, .val = 0 },
+ { .offset = 0x2120ae, .val = 0 },
+ { .offset = 0x120af, .val = 0 },
+ { .offset = 0x1120af, .val = 0 },
+ { .offset = 0x2120af, .val = 0 },
+ { .offset = 0x130ae, .val = 0 },
+ { .offset = 0x1130ae, .val = 0 },
+ { .offset = 0x2130ae, .val = 0 },
+ { .offset = 0x130af, .val = 0 },
+ { .offset = 0x1130af, .val = 0 },
+ { .offset = 0x2130af, .val = 0 },
+ { .offset = 0x20020, .val = 0 },
+ { .offset = 0x120020, .val = 0 },
+ { .offset = 0x220020, .val = 0 },
+ { .offset = 0x100a0, .val = 0 },
+ { .offset = 0x100a1, .val = 0 },
+ { .offset = 0x100a2, .val = 0 },
+ { .offset = 0x100a3, .val = 0 },
+ { .offset = 0x100a4, .val = 0 },
+ { .offset = 0x100a5, .val = 0 },
+ { .offset = 0x100a6, .val = 0 },
+ { .offset = 0x100a7, .val = 0 },
+ { .offset = 0x110a0, .val = 0 },
+ { .offset = 0x110a1, .val = 0 },
+ { .offset = 0x110a2, .val = 0 },
+ { .offset = 0x110a3, .val = 0 },
+ { .offset = 0x110a4, .val = 0 },
+ { .offset = 0x110a5, .val = 0 },
+ { .offset = 0x110a6, .val = 0 },
+ { .offset = 0x110a7, .val = 0 },
+ { .offset = 0x120a0, .val = 0 },
+ { .offset = 0x120a1, .val = 0 },
+ { .offset = 0x120a2, .val = 0 },
+ { .offset = 0x120a3, .val = 0 },
+ { .offset = 0x120a4, .val = 0 },
+ { .offset = 0x120a5, .val = 0 },
+ { .offset = 0x120a6, .val = 0 },
+ { .offset = 0x120a7, .val = 0 },
+ { .offset = 0x130a0, .val = 0 },
+ { .offset = 0x130a1, .val = 0 },
+ { .offset = 0x130a2, .val = 0 },
+ { .offset = 0x130a3, .val = 0 },
+ { .offset = 0x130a4, .val = 0 },
+ { .offset = 0x130a5, .val = 0 },
+ { .offset = 0x130a6, .val = 0 },
+ { .offset = 0x130a7, .val = 0 },
+ { .offset = 0x2007c, .val = 0 },
+ { .offset = 0x12007c, .val = 0 },
+ { .offset = 0x22007c, .val = 0 },
+ { .offset = 0x2007d, .val = 0 },
+ { .offset = 0x12007d, .val = 0 },
+ { .offset = 0x22007d, .val = 0 },
+ { .offset = 0x400fd, .val = 0 },
+ { .offset = 0x400c0, .val = 0 },
+ { .offset = 0x90201, .val = 0 },
+ { .offset = 0x190201, .val = 0 },
+ { .offset = 0x290201, .val = 0 },
+ { .offset = 0x90202, .val = 0 },
+ { .offset = 0x190202, .val = 0 },
+ { .offset = 0x290202, .val = 0 },
+ { .offset = 0x90203, .val = 0 },
+ { .offset = 0x190203, .val = 0 },
+ { .offset = 0x290203, .val = 0 },
+ { .offset = 0x90204, .val = 0 },
+ { .offset = 0x190204, .val = 0 },
+ { .offset = 0x290204, .val = 0 },
+ { .offset = 0x90205, .val = 0 },
+ { .offset = 0x190205, .val = 0 },
+ { .offset = 0x290205, .val = 0 },
+ { .offset = 0x90206, .val = 0 },
+ { .offset = 0x190206, .val = 0 },
+ { .offset = 0x290206, .val = 0 },
+ { .offset = 0x90207, .val = 0 },
+ { .offset = 0x190207, .val = 0 },
+ { .offset = 0x290207, .val = 0 },
+ { .offset = 0x90208, .val = 0 },
+ { .offset = 0x190208, .val = 0 },
+ { .offset = 0x290208, .val = 0 },
+ { .offset = 0x10062, .val = 0 },
+ { .offset = 0x10162, .val = 0 },
+ { .offset = 0x10262, .val = 0 },
+ { .offset = 0x10362, .val = 0 },
+ { .offset = 0x10462, .val = 0 },
+ { .offset = 0x10562, .val = 0 },
+ { .offset = 0x10662, .val = 0 },
+ { .offset = 0x10762, .val = 0 },
+ { .offset = 0x10862, .val = 0 },
+ { .offset = 0x11062, .val = 0 },
+ { .offset = 0x11162, .val = 0 },
+ { .offset = 0x11262, .val = 0 },
+ { .offset = 0x11362, .val = 0 },
+ { .offset = 0x11462, .val = 0 },
+ { .offset = 0x11562, .val = 0 },
+ { .offset = 0x11662, .val = 0 },
+ { .offset = 0x11762, .val = 0 },
+ { .offset = 0x11862, .val = 0 },
+ { .offset = 0x12062, .val = 0 },
+ { .offset = 0x12162, .val = 0 },
+ { .offset = 0x12262, .val = 0 },
+ { .offset = 0x12362, .val = 0 },
+ { .offset = 0x12462, .val = 0 },
+ { .offset = 0x12562, .val = 0 },
+ { .offset = 0x12662, .val = 0 },
+ { .offset = 0x12762, .val = 0 },
+ { .offset = 0x12862, .val = 0 },
+ { .offset = 0x13062, .val = 0 },
+ { .offset = 0x13162, .val = 0 },
+ { .offset = 0x13262, .val = 0 },
+ { .offset = 0x13362, .val = 0 },
+ { .offset = 0x13462, .val = 0 },
+ { .offset = 0x13562, .val = 0 },
+ { .offset = 0x13662, .val = 0 },
+ { .offset = 0x13762, .val = 0 },
+ { .offset = 0x13862, .val = 0 },
+ { .offset = 0x20077, .val = 0 },
+ { .offset = 0x10001, .val = 0 },
+ { .offset = 0x11001, .val = 0 },
+ { .offset = 0x12001, .val = 0 },
+ { .offset = 0x13001, .val = 0 },
+ { .offset = 0x10040, .val = 0 },
+ { .offset = 0x10140, .val = 0 },
+ { .offset = 0x10240, .val = 0 },
+ { .offset = 0x10340, .val = 0 },
+ { .offset = 0x10440, .val = 0 },
+ { .offset = 0x10540, .val = 0 },
+ { .offset = 0x10640, .val = 0 },
+ { .offset = 0x10740, .val = 0 },
+ { .offset = 0x10840, .val = 0 },
+ { .offset = 0x10030, .val = 0 },
+ { .offset = 0x10130, .val = 0 },
+ { .offset = 0x10230, .val = 0 },
+ { .offset = 0x10330, .val = 0 },
+ { .offset = 0x10430, .val = 0 },
+ { .offset = 0x10530, .val = 0 },
+ { .offset = 0x10630, .val = 0 },
+ { .offset = 0x10730, .val = 0 },
+ { .offset = 0x10830, .val = 0 },
+ { .offset = 0x11040, .val = 0 },
+ { .offset = 0x11140, .val = 0 },
+ { .offset = 0x11240, .val = 0 },
+ { .offset = 0x11340, .val = 0 },
+ { .offset = 0x11440, .val = 0 },
+ { .offset = 0x11540, .val = 0 },
+ { .offset = 0x11640, .val = 0 },
+ { .offset = 0x11740, .val = 0 },
+ { .offset = 0x11840, .val = 0 },
+ { .offset = 0x11030, .val = 0 },
+ { .offset = 0x11130, .val = 0 },
+ { .offset = 0x11230, .val = 0 },
+ { .offset = 0x11330, .val = 0 },
+ { .offset = 0x11430, .val = 0 },
+ { .offset = 0x11530, .val = 0 },
+ { .offset = 0x11630, .val = 0 },
+ { .offset = 0x11730, .val = 0 },
+ { .offset = 0x11830, .val = 0 },
+ { .offset = 0x12040, .val = 0 },
+ { .offset = 0x12140, .val = 0 },
+ { .offset = 0x12240, .val = 0 },
+ { .offset = 0x12340, .val = 0 },
+ { .offset = 0x12440, .val = 0 },
+ { .offset = 0x12540, .val = 0 },
+ { .offset = 0x12640, .val = 0 },
+ { .offset = 0x12740, .val = 0 },
+ { .offset = 0x12840, .val = 0 },
+ { .offset = 0x12030, .val = 0 },
+ { .offset = 0x12130, .val = 0 },
+ { .offset = 0x12230, .val = 0 },
+ { .offset = 0x12330, .val = 0 },
+ { .offset = 0x12430, .val = 0 },
+ { .offset = 0x12530, .val = 0 },
+ { .offset = 0x12630, .val = 0 },
+ { .offset = 0x12730, .val = 0 },
+ { .offset = 0x12830, .val = 0 },
+ { .offset = 0x13040, .val = 0 },
+ { .offset = 0x13140, .val = 0 },
+ { .offset = 0x13240, .val = 0 },
+ { .offset = 0x13340, .val = 0 },
+ { .offset = 0x13440, .val = 0 },
+ { .offset = 0x13540, .val = 0 },
+ { .offset = 0x13640, .val = 0 },
+ { .offset = 0x13740, .val = 0 },
+ { .offset = 0x13840, .val = 0 },
+ { .offset = 0x13030, .val = 0 },
+ { .offset = 0x13130, .val = 0 },
+ { .offset = 0x13230, .val = 0 },
+ { .offset = 0x13330, .val = 0 },
+ { .offset = 0x13430, .val = 0 },
+ { .offset = 0x13530, .val = 0 },
+ { .offset = 0x13630, .val = 0 },
+ { .offset = 0x13730, .val = 0 },
+ { .offset = 0x13830, .val = 0 },
};
/* lpddr4 phy PIE image */
@@ -1526,29 +1536,16 @@
{ .offset = 0xd0000, .val = 0x1 }, // DWC_DDRPHYA_APBONLY0_MicroContMuxSel
};
-static void lpddr4_phy_init_cfg(void)
-{
- int index, offset, val, size;
-
- size = sizeof(phy_init_cfg) / 8;
-
- for (index = 0; index < size; index++) {
- val = phy_init_cfg[index].val;
- offset = phy_init_cfg[index].offset;
- dwc_ddrphy_apb_wr(offset, val);
- }
-}
-
-static void lpddr4_phy_restore_trained_csr(void)
+static void lpddr4_phy_restore_phy(void)
{
int index, offset, val, size;
dwc_ddrphy_apb_wr(0xd0000,0x0);
- size = sizeof(phy_trained_csr) / 8;
+ size = sizeof(phy_cfg) / 8;
for(index = 0; index < size; index++) {
- val = phy_trained_csr[index].val;
- offset = phy_trained_csr[index].offset;
+ val = phy_cfg[index].val;
+ offset = phy_cfg[index].offset;
dwc_ddrphy_apb_wr(offset, val);
}
@@ -1569,19 +1566,19 @@
}
}
-void lpddr4_phy_save_trained_csr(void)
+void lpddr4_phy_save_phy(void)
{
int index, offset, size;
- size = sizeof(phy_trained_csr) / 8;
+ size = sizeof(phy_cfg) / 8;
dwc_ddrphy_apb_wr(0xd0000, 0x0);
dwc_ddrphy_apb_wr(0xc0080, 0x3);
for (index = 0; index < size; index++) {
- offset = phy_trained_csr[index].offset;
- phy_trained_csr[index].val = dwc_ddrphy_apb_rd(offset);
+ offset = phy_cfg[index].offset;
+ phy_cfg[index].val = dwc_ddrphy_apb_rd(offset);
}
dwc_ddrphy_apb_wr(0xc0080, 0x0);
@@ -1590,11 +1587,8 @@
void lpddr4_phy_cfg(void)
{
- /* load the init config */
- lpddr4_phy_init_cfg();
-
/* restore the trained csr */
- lpddr4_phy_restore_trained_csr();
+ lpddr4_phy_restore_phy();
/* load the phy PIE image */
lpddr4_phy_load_pie();
diff --git a/plat/freescale/imx8mq/ddr/lpddr4_retention.c b/plat/freescale/imx8mq/ddr/lpddr4_retention.c
index 7b534d9..bce5000 100644
--- a/plat/freescale/imx8mq/ddr/lpddr4_retention.c
+++ b/plat/freescale/imx8mq/ddr/lpddr4_retention.c
@@ -27,13 +27,17 @@
static bool trained_csr_saved = false;
+void lpddr4_save_umctl2(void);
+void lpddr4_phy_save_phy(void);
+
void ddrc_enter_retention(void)
{
unsigned int tmp, tmp_t, i;
/* only need be save once */
if (!trained_csr_saved) {
- lpddr4_phy_save_trained_csr();
+ lpddr4_save_umctl2();
+ lpddr4_phy_save_phy();
trained_csr_saved = true;
}
diff --git a/plat/freescale/imx8mq/ddr/lpddr4_swffc.c b/plat/freescale/imx8mq/ddr/lpddr4_swffc.c
index 6db6f4d..434e8fd 100644
--- a/plat/freescale/imx8mq/ddr/lpddr4_swffc.c
+++ b/plat/freescale/imx8mq/ddr/lpddr4_swffc.c
@@ -11,22 +11,14 @@
#include "lpddr4_dvfs.h"
-#define P0_INIT3 0x00D4002D
-#define P0_INIT4 0x00310008
-#define P0_INIT6 0x0066004a
-#define P0_INIT7 0x0006004a
-
-#define P1_INIT3 0x0140009
-#define P1_INIT4 0x00310008
-#define P1_INIT6 0x0066004a
-#define P1_INIT7 0x0006004a
-
#define HW_DRAM_PLL_CFG0_ADDR (0x30360000 + 0x60)
#define HW_DRAM_PLL_CFG1_ADDR (0x30360000 + 0x64)
#define HW_DRAM_PLL_CFG2_ADDR (0x30360000 + 0x68)
#define DFILP_SPT
+extern unsigned int default_ddr_pllcfg;
+
void sscgpll_bypass_enable(unsigned int reg_addr)
{
unsigned int read_data;
@@ -67,16 +59,18 @@
case 667:
mmio_write_32(HW_DRAM_PLL_CFG2_ADDR, 0x00ece480);
break;
- case 400:
- mmio_write_32(HW_DRAM_PLL_CFG2_ADDR, 0x00ec6984);
+ case 400:
+ mmio_write_32(HW_DRAM_PLL_CFG2_ADDR, 0x00ec6984);
break;
- case 167:
+ case 167:
mmio_write_32(HW_DRAM_PLL_CFG2_ADDR, 0x00f5a406);
break;
- case 100:
- mmio_write_32(HW_DRAM_PLL_CFG2_ADDR, 0x015dea96);
+ case 100:
+ mmio_write_32(HW_DRAM_PLL_CFG2_ADDR, 0x015dea96);
break;
-
+ case 0:
+ mmio_write_32(HW_DRAM_PLL_CFG2_ADDR, default_ddr_pllcfg);
+ break;
default:
printf("Input freq=%d error.\n",freq);
}
@@ -118,24 +112,24 @@
/* setting for 3200 mts */
if(target_freq==0) {
- mr = P0_INIT3 >> 16;
- emr = P0_INIT3 & 0xFFFF;
- emr2 = P0_INIT4 >> 16;
- emr3 = P0_INIT4 & 0xFFFF;
- mr11 = P0_INIT6 >> 16;
- mr12 = P0_INIT6 & 0xFFFF;
- mr22 = P0_INIT7 >> 16;
- mr14 = P0_INIT7 & 0xFFFF;
+ mr = mmio_read_32(DDRC_INIT3(0)) >> 16;
+ emr = mmio_read_32(DDRC_INIT3(0)) & 0xFFFF;
+ emr2 = mmio_read_32(DDRC_INIT4(0)) >> 16;
+ emr3 = mmio_read_32(DDRC_INIT4(0)) & 0xFFFF;
+ mr11 = mmio_read_32(DDRC_INIT6(0)) >> 16;
+ mr12 = mmio_read_32(DDRC_INIT6(0)) & 0xFFFF;
+ mr22 = mmio_read_32(DDRC_INIT7(0)) >> 16;
+ mr14 = mmio_read_32(DDRC_INIT7(0)) & 0xFFFF;
} else {
/* setting for 667 mts */
- mr = P1_INIT3 >> 16;
- emr = P1_INIT3 & 0xFFFF;
- emr2 = P1_INIT4 >> 16;
- emr3 = P1_INIT4 & 0xFFFF;
- mr11 = P1_INIT6 >> 16;
- mr12 = P1_INIT6 & 0xFFFF;
- mr22 = P1_INIT7 >> 16;
- mr14 = P1_INIT7 & 0xFFFF;
+ mr = mmio_read_32(DDRC_FREQ1_INIT3(0)) >> 16;
+ emr = mmio_read_32(DDRC_FREQ1_INIT3(0)) & 0xFFFF;
+ emr2 = mmio_read_32(DDRC_FREQ1_INIT4(0)) >> 16;
+ emr3 = mmio_read_32(DDRC_FREQ1_INIT4(0)) & 0xFFFF;
+ mr11 = mmio_read_32(DDRC_FREQ1_INIT6(0)) >> 16;
+ mr12 = mmio_read_32(DDRC_FREQ1_INIT6(0)) & 0xFFFF;
+ mr22 = mmio_read_32(DDRC_FREQ1_INIT7(0)) >> 16;
+ mr14 = mmio_read_32(DDRC_FREQ1_INIT7(0)) & 0xFFFF;
}
tmp = (init_fsp== 1) ? 0x2 <<6 : 0x1 <<6;
@@ -203,10 +197,10 @@
mmio_write_32(DDRC_FREQ1_DERATEEN(0), tmp); /* ddrc_derate_enable, bit 0 */
tmp= mmio_read_32(DDRC_ZQCTL0(0));
tmp |= 0x80000000;
- mmio_write_32(DDRC_ZQCTL0(0), tmp); /* ddrc_derate_enable, bit 0 */
+ mmio_write_32(DDRC_ZQCTL0(0), tmp);
tmp= mmio_read_32(DDRC_FREQ1_ZQCTL0(0));
tmp |= 0x80000000;
- mmio_write_32(DDRC_FREQ1_ZQCTL0(0), tmp); /* ddrc_derate_enable, bit 0 */
+ mmio_write_32(DDRC_FREQ1_ZQCTL0(0), tmp);
/* 12. set PWRCTL.selfref_en=0 */
tmp= mmio_read_32(DDRC_PWRCTL(0));
@@ -275,7 +269,7 @@
/* Q4: only for legacy PHY, so here can skipped */
tmp= mmio_read_32(DDRC_DFIMISC(0));
tmp &= 0xFF;
- tmp |= (target_freq << 8); /* should be 0 */
+ tmp |= (target_freq << 8);
mmio_write_32(DDRC_DFIMISC(0),tmp);
tmp |= 0x20;
mmio_write_32(DDRC_DFIMISC(0),tmp);
@@ -288,16 +282,19 @@
/* switch_clocks for target frequency */
if(target_freq==0x1) {
/* mmio_write_32(CCM_IP_CLK_ROOT_GEN_TAGET_CLR(1),(0x7<<24)|(0x7<<16)); */
- mmio_write_32(0x3038a088, (0x7 << 24) | (0x7 << 16));
+ //mmio_write_32(0x3038a088, (0x7 << 24) | (0x7 << 16));
/* mmio_write_32(CCM_IP_CLK_ROOT_GEN_TAGET_SET(1),(0x4<<24)|(0x4<<16)); */
- mmio_write_32(0x3038a084, (0x4 << 24) | (0x4 << 16)); //to source 4 --800MHz/5
+ //mmio_write_32(0x3038a084, (0x4 << 24) | (0x4 << 16)); //to source 4 --800MHz/5
DDR_PLL_CONFIG_FREQ(167);
} else {
- DDR_PLL_CONFIG_FREQ(800);
+ if(default_ddr_pllcfg)
+ DDR_PLL_CONFIG_FREQ(0);
+ else
+ DDR_PLL_CONFIG_FREQ(800);
/* mmio_write_32(CCM_IP_CLK_ROOT_GEN_TAGET_CLR(1),(0x7<<24)|(0x7<<16)); */
- mmio_write_32(0x3038a088, (0x7 << 24) | (0x7 << 16));
+ //mmio_write_32(0x3038a088, (0x7 << 24) | (0x7 << 16));
/* mmio_write_32(CCM_IP_CLK_ROOT_GEN_TAGET_SET(1),(0x4<<24)|(0x3<<16)); */
- mmio_write_32(0x3038a084, (0x4 << 24) | (0x3 << 16)); //to source 4 --800MHz/4*/
+ //mmio_write_32(0x3038a084, (0x4 << 24) | (0x3 << 16)); //to source 4 --800MHz/4*/
}
/* dfi_init_start de-assert */
diff --git a/plat/freescale/imx8mq/include/soc.h b/plat/freescale/imx8mq/include/soc.h
index 0c55a9c..7c9de5c 100644
--- a/plat/freescale/imx8mq/include/soc.h
+++ b/plat/freescale/imx8mq/include/soc.h
@@ -24,6 +24,7 @@
void imx_clear_rbc_count(void);
void lpddr4_cfg_umctl2(void);
+void lpddr4_save_umctl2(void);
void lpddr4_phy_cfg(void);
void lpddr4_phy_save_trained_csr(void);
void lpddr4_switch_to_3200(void);