From 9d25029d24435b11c0d2222b22db1b641e7eaea0 Mon Sep 17 00:00:00 2001 From: Oliver Chen Date: Thu, 31 May 2018 15:00:45 +0800 Subject: [PATCH] support to different 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 --- plat/freescale/imx8mq/ddr/lpddr4_ddrc_cfg.c | 236 ++-- plat/freescale/imx8mq/ddr/lpddr4_dvfs.c | 17 + plat/freescale/imx8mq/ddr/lpddr4_phy_cfg.c | 1490 +++++++++++++------------- plat/freescale/imx8mq/ddr/lpddr4_retention.c | 6 +- plat/freescale/imx8mq/ddr/lpddr4_swffc.c | 77 +- plat/freescale/imx8mq/include/soc.h | 1 + 6 files changed, 921 insertions(+), 906 deletions(-) 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 #include -#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) -{ - /* 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); -} +/* 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 }, -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); -} + { .offset = DDRC_ZQCTL0(0), .val = 0x00 }, + { .offset = DDRC_ZQCTL1(0), .val = 0x00 }, + { .offset = DDRC_ZQCTL2(0), .val = 0x00 }, -static inline void umctl2_freq1(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); -} + { .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 }, -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); + { .offset = DDRC_DBICTL(0), .val = 0x00 }, + { .offset = DDRC_DFIPHYMSTR(0), .val = 0x00 }, - 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); + { .offset = DDRC_RANKCTL(0), .val = 0x00 }, + { .offset = DDRC_DRAMTMG2(0), .val = 0x00 }, - mmio_write_32(DDRC_ZQCTL0(0), 0x03200018); - mmio_write_32(DDRC_ZQCTL1(0), 0x028061A8); - mmio_write_32(DDRC_ZQCTL2(0), 0x00000000); + /* Address mapping */ + { .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 }, - 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); + /* 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 }, - mmio_write_32(DDRC_DBICTL(0), 0x00000001); - mmio_write_32(DDRC_DFIPHYMSTR(0), 0x00000001); + /* 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) +{ + int index, offset, size; - mmio_write_32(DDRC_RANKCTL(0), 0x00000c99); - mmio_write_32(DDRC_DRAMTMG2(0), 0x070E171a); + size = sizeof(umctl2_cfg) / 8; - /* address mapping */ - umctl2_addrmap(); + for (index = 0; index < size; index++) { + offset = umctl2_cfg[index].offset; + umctl2_cfg[index].val = mmio_read_32(offset); + } +} + +void lpddr4_cfg_umctl2(void) +{ + int index, offset, size, val; - /* performance setting */ - umctl2_perf(); + size = sizeof(umctl2_cfg) / 8; - /* 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 uint32_t wfe_done; 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 @@ static inline int get_ddr_type(void) 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 @@ int lpddr4_dvfs_handler(uint32_t smc_fid, 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 @@ struct ddrphy_cfg_param { }; /* 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 @@ static const struct ddrphy_cfg_param phy_init_cfg[] = { { .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 @@ static const struct ddrphy_cfg_param phy_init_cfg[] = { { .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 @@ static const struct ddrphy_cfg_param phy_pie[] = { { .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 @@ static void lpddr4_phy_load_pie(void) } } -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_save_trained_csr(void) 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 @@ void DDR_PLL_CONFIG_FREQ(unsigned int freq) 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 @@ void lpddr4_dvfs_swffc(unsigned int init_fsp, unsigned int target_freq) /* 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 @@ void lpddr4_dvfs_swffc(unsigned int init_fsp, unsigned int target_freq) 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 @@ void lpddr4_dvfs_swffc(unsigned int init_fsp, unsigned int target_freq) /* 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 @@ void lpddr4_dvfs_swffc(unsigned int init_fsp, unsigned int target_freq) /* 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_set_rbc_count(void); 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); -- 1.9.1