ARM: DRA7xx: EMIF: Change settings required for EVM board

DRA7 EVM board has the below configuration. Adding the
settings for the same here.

   2Gb_1_35V_DDR3L part * 2 on EMIF1
   2Gb_1_35V_DDR3L part * 4 on EMIF2

Signed-off-by: Sricharan R <r.sricharan@ti.com>
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
This commit is contained in:
Sricharan R 2013-05-30 03:19:39 +00:00 committed by Tom Rini
parent 97405d843e
commit 92b0482c17
8 changed files with 221 additions and 32 deletions

View File

@ -209,7 +209,8 @@ void emif_update_timings(u32 base, const struct emif_regs *regs)
writel(regs->temp_alert_config, &emif->emif_temp_alert_config); writel(regs->temp_alert_config, &emif->emif_temp_alert_config);
writel(regs->emif_ddr_phy_ctlr_1, &emif->emif_ddr_phy_ctrl_1_shdw); writel(regs->emif_ddr_phy_ctlr_1, &emif->emif_ddr_phy_ctrl_1_shdw);
if (omap_revision() >= OMAP5430_ES1_0) { if ((omap_revision() >= OMAP5430_ES1_0) ||
(omap_revision() == DRA752_ES1_0)) {
writel(EMIF_L3_CONFIG_VAL_SYS_10_MPU_5_LL_0, writel(EMIF_L3_CONFIG_VAL_SYS_10_MPU_5_LL_0,
&emif->emif_l3_config); &emif->emif_l3_config);
} else if (omap_revision() >= OMAP4460_ES1_0) { } else if (omap_revision() >= OMAP4460_ES1_0) {
@ -263,6 +264,18 @@ static void ddr3_leveling(u32 base, const struct emif_regs *regs)
__udelay(130); __udelay(130);
} }
static void ddr3_sw_leveling(u32 base, const struct emif_regs *regs)
{
struct emif_reg_struct *emif = (struct emif_reg_struct *)base;
writel(regs->emif_ddr_phy_ctlr_1, &emif->emif_ddr_phy_ctrl_1);
writel(regs->emif_ddr_phy_ctlr_1, &emif->emif_ddr_phy_ctrl_1_shdw);
config_data_eye_leveling_samples(base);
writel(regs->emif_rd_wr_lvl_ctl, &emif->emif_rd_wr_lvl_ctl);
writel(regs->sdram_config, &emif->emif_sdram_config);
}
static void ddr3_init(u32 base, const struct emif_regs *regs) static void ddr3_init(u32 base, const struct emif_regs *regs)
{ {
struct emif_reg_struct *emif = (struct emif_reg_struct *)base; struct emif_reg_struct *emif = (struct emif_reg_struct *)base;
@ -273,6 +286,7 @@ static void ddr3_init(u32 base, const struct emif_regs *regs)
* defined, contents of mode Registers must be fully initialized. * defined, contents of mode Registers must be fully initialized.
* H/W takes care of this initialization * H/W takes care of this initialization
*/ */
writel(regs->sdram_config2, &emif->emif_lpddr2_nvm_config);
writel(regs->sdram_config_init, &emif->emif_sdram_config); writel(regs->sdram_config_init, &emif->emif_sdram_config);
writel(regs->emif_ddr_phy_ctlr_1_init, &emif->emif_ddr_phy_ctrl_1); writel(regs->emif_ddr_phy_ctlr_1_init, &emif->emif_ddr_phy_ctrl_1);
@ -290,7 +304,10 @@ static void ddr3_init(u32 base, const struct emif_regs *regs)
/* enable leveling */ /* enable leveling */
writel(regs->emif_rd_wr_lvl_rmp_ctl, &emif->emif_rd_wr_lvl_rmp_ctl); writel(regs->emif_rd_wr_lvl_rmp_ctl, &emif->emif_rd_wr_lvl_rmp_ctl);
ddr3_leveling(base, regs); if (omap_revision() == DRA752_ES1_0)
ddr3_sw_leveling(base, regs);
else
ddr3_leveling(base, regs);
} }
#ifndef CONFIG_SYS_EMIF_PRECALCULATED_TIMING_REGS #ifndef CONFIG_SYS_EMIF_PRECALCULATED_TIMING_REGS
@ -1078,7 +1095,10 @@ static void do_sdram_init(u32 base)
if (warm_reset() && (emif_sdram_type() == EMIF_SDRAM_TYPE_DDR3)) { if (warm_reset() && (emif_sdram_type() == EMIF_SDRAM_TYPE_DDR3)) {
set_lpmode_selfrefresh(base); set_lpmode_selfrefresh(base);
emif_reset_phy(base); emif_reset_phy(base);
ddr3_leveling(base, regs); if (omap_revision() == DRA752_ES1_0)
ddr3_sw_leveling(base, regs);
else
ddr3_leveling(base, regs);
} }
/* Write to the shadow registers */ /* Write to the shadow registers */

View File

@ -602,6 +602,17 @@ const struct ctrl_ioregs ioregs_omap5432_es2 = {
.ctrl_emif_sdram_config_ext = SDRAM_CONFIG_EXT_RD_LVL_11_SAMPLES, .ctrl_emif_sdram_config_ext = SDRAM_CONFIG_EXT_RD_LVL_11_SAMPLES,
}; };
const struct ctrl_ioregs ioregs_dra7xx_es1 = {
.ctrl_ddrch = 0x40404040,
.ctrl_lpddr2ch = 0x40404040,
.ctrl_ddr3ch = 0x80808080,
.ctrl_ddrio_0 = 0xbae8c631,
.ctrl_ddrio_1 = 0xb46318d8,
.ctrl_ddrio_2 = 0x84210000,
.ctrl_emif_sdram_config_ext = 0xb2c00000,
.ctrl_ddr_ctrl_ext_0 = 0xA2000000,
};
void hw_data_init(void) void hw_data_init(void)
{ {
u32 omap_rev = omap_revision(); u32 omap_rev = omap_revision();
@ -644,14 +655,16 @@ void get_ioregs(const struct ctrl_ioregs **regs)
case OMAP5430_ES1_0: case OMAP5430_ES1_0:
case OMAP5430_ES2_0: case OMAP5430_ES2_0:
*regs = &ioregs_omap5430; *regs = &ioregs_omap5430;
break; break;
case OMAP5432_ES1_0: case OMAP5432_ES1_0:
*regs = &ioregs_omap5432_es1; *regs = &ioregs_omap5432_es1;
break; break;
case OMAP5432_ES2_0: case OMAP5432_ES2_0:
case DRA752_ES1_0:
*regs = &ioregs_omap5432_es2; *regs = &ioregs_omap5432_es2;
break; break;
case DRA752_ES1_0:
*regs = &ioregs_dra7xx_es1;
break;
default: default:
printf("\n INVALID OMAP REVISION "); printf("\n INVALID OMAP REVISION ");

View File

@ -100,16 +100,21 @@ static void io_settings_ddr3(void)
writel(ioregs->ctrl_emif_sdram_config_ext, writel(ioregs->ctrl_emif_sdram_config_ext,
(*ctrl)->control_emif2_sdram_config_ext); (*ctrl)->control_emif2_sdram_config_ext);
/* Disable DLL select */ if (is_omap54xx()) {
io_settings = (readl((*ctrl)->control_port_emif1_sdram_config) /* Disable DLL select */
io_settings = (readl((*ctrl)->control_port_emif1_sdram_config)
& 0xFFEFFFFF); & 0xFFEFFFFF);
writel(io_settings, writel(io_settings,
(*ctrl)->control_port_emif1_sdram_config); (*ctrl)->control_port_emif1_sdram_config);
io_settings = (readl((*ctrl)->control_port_emif2_sdram_config) io_settings = (readl((*ctrl)->control_port_emif2_sdram_config)
& 0xFFEFFFFF); & 0xFFEFFFFF);
writel(io_settings, writel(io_settings,
(*ctrl)->control_port_emif2_sdram_config); (*ctrl)->control_port_emif2_sdram_config);
} else {
writel(ioregs->ctrl_ddr_ctrl_ext_0,
(*ctrl)->control_ddr_control_ext_0);
}
} }
/* /*

View File

@ -439,6 +439,7 @@ struct omap_sys_ctrl_regs const dra7xx_ctrl = {
.control_srcomp_east_side = 0x4A002E7C, .control_srcomp_east_side = 0x4A002E7C,
.control_srcomp_west_side = 0x4A002E80, .control_srcomp_west_side = 0x4A002E80,
.control_srcomp_code_latch = 0x4A002E84, .control_srcomp_code_latch = 0x4A002E84,
.control_ddr_control_ext_0 = 0x4A002E88,
.control_padconf_core_base = 0x4A003400, .control_padconf_core_base = 0x4A003400,
.control_port_emif1_sdram_config = 0x4AE0C110, .control_port_emif1_sdram_config = 0x4AE0C110,
.control_port_emif1_lpddr2_nvm_config = 0x4AE0C114, .control_port_emif1_lpddr2_nvm_config = 0x4AE0C114,

View File

@ -108,6 +108,7 @@ const struct emif_regs emif_regs_266_mhz_2cs = {
const struct emif_regs emif_regs_ddr3_532_mhz_1cs = { const struct emif_regs emif_regs_ddr3_532_mhz_1cs = {
.sdram_config_init = 0x61851B32, .sdram_config_init = 0x61851B32,
.sdram_config = 0x61851B32, .sdram_config = 0x61851B32,
.sdram_config2 = 0x0,
.ref_ctrl = 0x00001035, .ref_ctrl = 0x00001035,
.sdram_tim1 = 0xCCCF36B3, .sdram_tim1 = 0xCCCF36B3,
.sdram_tim2 = 0x308F7FDA, .sdram_tim2 = 0x308F7FDA,
@ -131,6 +132,7 @@ const struct emif_regs emif_regs_ddr3_532_mhz_1cs = {
const struct emif_regs emif_regs_ddr3_532_mhz_1cs_es2 = { const struct emif_regs emif_regs_ddr3_532_mhz_1cs_es2 = {
.sdram_config_init = 0x61851B32, .sdram_config_init = 0x61851B32,
.sdram_config = 0x61851B32, .sdram_config = 0x61851B32,
.sdram_config2 = 0x0,
.ref_ctrl = 0x00001035, .ref_ctrl = 0x00001035,
.sdram_tim1 = 0xCCCF36B3, .sdram_tim1 = 0xCCCF36B3,
.sdram_tim2 = 0x308F7FDA, .sdram_tim2 = 0x308F7FDA,
@ -151,6 +153,54 @@ const struct emif_regs emif_regs_ddr3_532_mhz_1cs_es2 = {
.emif_rd_wr_exec_thresh = 0x40000305 .emif_rd_wr_exec_thresh = 0x40000305
}; };
const struct emif_regs emif_1_regs_ddr3_532_mhz_1cs_dra_es1 = {
.sdram_config_init = 0x61851ab2,
.sdram_config = 0x61851ab2,
.sdram_config2 = 0x08000000,
.ref_ctrl = 0x00001035,
.sdram_tim1 = 0xCCCF36B3,
.sdram_tim2 = 0x308F7FDA,
.sdram_tim3 = 0x027F88A8,
.read_idle_ctrl = 0x00050000,
.zq_config = 0x0007190B,
.temp_alert_config = 0x00000000,
.emif_ddr_phy_ctlr_1_init = 0x0E20400A,
.emif_ddr_phy_ctlr_1 = 0x0E24400A,
.emif_ddr_ext_phy_ctrl_1 = 0x04040100,
.emif_ddr_ext_phy_ctrl_2 = 0x009E009E,
.emif_ddr_ext_phy_ctrl_3 = 0x009E009E,
.emif_ddr_ext_phy_ctrl_4 = 0x009E009E,
.emif_ddr_ext_phy_ctrl_5 = 0x009E009E,
.emif_rd_wr_lvl_rmp_win = 0x00000000,
.emif_rd_wr_lvl_rmp_ctl = 0x80000000,
.emif_rd_wr_lvl_ctl = 0x00000000,
.emif_rd_wr_exec_thresh = 0x00000305
};
const struct emif_regs emif_2_regs_ddr3_532_mhz_1cs_dra_es1 = {
.sdram_config_init = 0x61851B32,
.sdram_config = 0x61851B32,
.sdram_config2 = 0x08000000,
.ref_ctrl = 0x00001035,
.sdram_tim1 = 0xCCCF36B3,
.sdram_tim2 = 0x308F7FDA,
.sdram_tim3 = 0x027F88A8,
.read_idle_ctrl = 0x00050000,
.zq_config = 0x0007190B,
.temp_alert_config = 0x00000000,
.emif_ddr_phy_ctlr_1_init = 0x0020400A,
.emif_ddr_phy_ctlr_1 = 0x0E24400A,
.emif_ddr_ext_phy_ctrl_1 = 0x04040100,
.emif_ddr_ext_phy_ctrl_2 = 0x009D009D,
.emif_ddr_ext_phy_ctrl_3 = 0x009D009D,
.emif_ddr_ext_phy_ctrl_4 = 0x009D009D,
.emif_ddr_ext_phy_ctrl_5 = 0x009D009D,
.emif_rd_wr_lvl_rmp_win = 0x00000000,
.emif_rd_wr_lvl_rmp_ctl = 0x80000000,
.emif_rd_wr_lvl_ctl = 0x00000000,
.emif_rd_wr_exec_thresh = 0x00000305
};
const struct dmm_lisa_map_regs lisa_map_4G_x_2_x_2 = { const struct dmm_lisa_map_regs lisa_map_4G_x_2_x_2 = {
.dmm_lisa_map_0 = 0x0, .dmm_lisa_map_0 = 0x0,
.dmm_lisa_map_1 = 0x0, .dmm_lisa_map_1 = 0x0,
@ -159,11 +209,39 @@ const struct dmm_lisa_map_regs lisa_map_4G_x_2_x_2 = {
.is_ma_present = 0x1 .is_ma_present = 0x1
}; };
const struct dmm_lisa_map_regs lisa_map_512M_x_1 = { /*
* DRA752 EVM board has 1.5 GB of memory
* EMIF1 --> 2Gb * 2 = 512MB
* EMIF2 --> 2Gb * 4 = 1GB
* so mapping 1GB interleaved and 512MB non-interleaved
*/
const struct dmm_lisa_map_regs lisa_map_2G_x_2_x_2_2G_x_1_x_2 = {
.dmm_lisa_map_0 = 0x0,
.dmm_lisa_map_1 = 0x80640300,
.dmm_lisa_map_2 = 0xC0500220,
.dmm_lisa_map_3 = 0xFF020100,
.is_ma_present = 0x1
};
/*
* DRA752 EVM EMIF1 ONLY CONFIGURATION
*/
const struct dmm_lisa_map_regs lisa_map_2G_x_1_x_2 = {
.dmm_lisa_map_0 = 0x0, .dmm_lisa_map_0 = 0x0,
.dmm_lisa_map_1 = 0x0, .dmm_lisa_map_1 = 0x0,
.dmm_lisa_map_2 = 0x0, .dmm_lisa_map_2 = 0x80500100,
.dmm_lisa_map_3 = 0x80500100, .dmm_lisa_map_3 = 0xFF020100,
.is_ma_present = 0x1
};
/*
* DRA752 EVM EMIF2 ONLY CONFIGURATION
*/
const struct dmm_lisa_map_regs lisa_map_2G_x_2_x_2 = {
.dmm_lisa_map_0 = 0x0,
.dmm_lisa_map_1 = 0x0,
.dmm_lisa_map_2 = 0x80600200,
.dmm_lisa_map_3 = 0xFF020100,
.is_ma_present = 0x1 .is_ma_present = 0x1
}; };
@ -180,9 +258,20 @@ static void emif_get_reg_dump_sdp(u32 emif_nr, const struct emif_regs **regs)
*regs = &emif_regs_532_mhz_2cs_es2; *regs = &emif_regs_532_mhz_2cs_es2;
break; break;
case OMAP5432_ES2_0: case OMAP5432_ES2_0:
case DRA752_ES1_0:
default:
*regs = &emif_regs_ddr3_532_mhz_1cs_es2; *regs = &emif_regs_ddr3_532_mhz_1cs_es2;
break;
case DRA752_ES1_0:
switch (emif_nr) {
case 1:
*regs = &emif_1_regs_ddr3_532_mhz_1cs_dra_es1;
break;
case 2:
*regs = &emif_2_regs_ddr3_532_mhz_1cs_dra_es1;
break;
}
break;
default:
*regs = &emif_1_regs_ddr3_532_mhz_1cs_dra_es1;
} }
} }
@ -201,7 +290,7 @@ static void emif_get_dmm_regs_sdp(const struct dmm_lisa_map_regs
break; break;
case DRA752_ES1_0: case DRA752_ES1_0:
default: default:
*dmm_lisa_regs = &lisa_map_512M_x_1; *dmm_lisa_regs = &lisa_map_2G_x_2_x_2_2G_x_1_x_2;
} }
} }
@ -252,7 +341,8 @@ const u32 ext_phy_ctrl_const_base[EMIF_EXT_PHY_CTRL_CONST_REG] = {
0x00000000, 0x00000000,
0x00000000, 0x00000000,
0x00000000, 0x00000000,
0x00000077 0x00000077,
0x0
}; };
const u32 ddr3_ext_phy_ctrl_const_base_es1[EMIF_EXT_PHY_CTRL_CONST_REG] = { const u32 ddr3_ext_phy_ctrl_const_base_es1[EMIF_EXT_PHY_CTRL_CONST_REG] = {
@ -274,7 +364,8 @@ const u32 ddr3_ext_phy_ctrl_const_base_es1[EMIF_EXT_PHY_CTRL_CONST_REG] = {
0x00000000, 0x00000000,
0x00000000, 0x00000000,
0x00000000, 0x00000000,
0x00000057 0x00000057,
0x0
}; };
const u32 ddr3_ext_phy_ctrl_const_base_es2[EMIF_EXT_PHY_CTRL_CONST_REG] = { const u32 ddr3_ext_phy_ctrl_const_base_es2[EMIF_EXT_PHY_CTRL_CONST_REG] = {
@ -296,7 +387,56 @@ const u32 ddr3_ext_phy_ctrl_const_base_es2[EMIF_EXT_PHY_CTRL_CONST_REG] = {
0x00000000, 0x00000000,
0x00000000, 0x00000000,
0x00000000, 0x00000000,
0x00000057 0x00000057,
0x0
};
const u32
dra_ddr3_ext_phy_ctrl_const_base_es1_emif1[EMIF_EXT_PHY_CTRL_CONST_REG] = {
0x009E009E,
0x002E002E,
0x002E002E,
0x002E002E,
0x002E002E,
0x002E002E,
0x004D004D,
0x004D004D,
0x004D004D,
0x004D004D,
0x004D004D,
0x004D004D,
0x004D004D,
0x004D004D,
0x004D004D,
0x004D004D,
0x0,
0x600020,
0x40010080,
0x8102040
};
const u32
dra_ddr3_ext_phy_ctrl_const_base_es1_emif2[EMIF_EXT_PHY_CTRL_CONST_REG] = {
0x009D009D,
0x002D002D,
0x002D002D,
0x002D002D,
0x002D002D,
0x002D002D,
0x00570057,
0x00570057,
0x00570057,
0x00570057,
0x00570057,
0x00570057,
0x00570057,
0x00570057,
0x00570057,
0x00570057,
0x0,
0x600020,
0x40010080,
0x8102040
}; };
const struct lpddr2_mr_regs mr_regs = { const struct lpddr2_mr_regs mr_regs = {
@ -307,7 +447,7 @@ const struct lpddr2_mr_regs mr_regs = {
.mr16 = MR16_REF_FULL_ARRAY .mr16 = MR16_REF_FULL_ARRAY
}; };
static void emif_get_ext_phy_ctrl_const_regs(const u32 **regs) static void emif_get_ext_phy_ctrl_const_regs(u32 emif_nr, const u32 **regs)
{ {
switch (omap_revision()) { switch (omap_revision()) {
case OMAP5430_ES1_0: case OMAP5430_ES1_0:
@ -318,7 +458,14 @@ static void emif_get_ext_phy_ctrl_const_regs(const u32 **regs)
*regs = ddr3_ext_phy_ctrl_const_base_es1; *regs = ddr3_ext_phy_ctrl_const_base_es1;
break; break;
case OMAP5432_ES2_0: case OMAP5432_ES2_0:
*regs = ddr3_ext_phy_ctrl_const_base_es2;
break;
case DRA752_ES1_0: case DRA752_ES1_0:
if (emif_nr == 1)
*regs = dra_ddr3_ext_phy_ctrl_const_base_es1_emif1;
else
*regs = dra_ddr3_ext_phy_ctrl_const_base_es1_emif2;
break;
default: default:
*regs = ddr3_ext_phy_ctrl_const_base_es2; *regs = ddr3_ext_phy_ctrl_const_base_es2;
@ -334,9 +481,12 @@ void do_ext_phy_settings(u32 base, const struct emif_regs *regs)
{ {
u32 *ext_phy_ctrl_base = 0; u32 *ext_phy_ctrl_base = 0;
u32 *emif_ext_phy_ctrl_base = 0; u32 *emif_ext_phy_ctrl_base = 0;
u32 emif_nr;
const u32 *ext_phy_ctrl_const_regs; const u32 *ext_phy_ctrl_const_regs;
u32 i = 0; u32 i = 0;
emif_nr = (base == EMIF1_BASE) ? 1 : 2;
struct emif_reg_struct *emif = (struct emif_reg_struct *)base; struct emif_reg_struct *emif = (struct emif_reg_struct *)base;
ext_phy_ctrl_base = (u32 *) &(regs->emif_ddr_ext_phy_ctrl_1); ext_phy_ctrl_base = (u32 *) &(regs->emif_ddr_ext_phy_ctrl_1);
@ -353,7 +503,7 @@ void do_ext_phy_settings(u32 base, const struct emif_regs *regs)
* external phy 6-24 registers do not change with * external phy 6-24 registers do not change with
* ddr frequency * ddr frequency
*/ */
emif_get_ext_phy_ctrl_const_regs(&ext_phy_ctrl_const_regs); emif_get_ext_phy_ctrl_const_regs(emif_nr, &ext_phy_ctrl_const_regs);
for (i = 0; i < EMIF_EXT_PHY_CTRL_CONST_REG; i++) { for (i = 0; i < EMIF_EXT_PHY_CTRL_CONST_REG; i++) {
writel(ext_phy_ctrl_const_regs[i], writel(ext_phy_ctrl_const_regs[i],
emif_ext_phy_ctrl_base++); emif_ext_phy_ctrl_base++);

View File

@ -221,6 +221,7 @@ struct ctrl_ioregs {
u32 ctrl_ddrio_1; u32 ctrl_ddrio_1;
u32 ctrl_ddrio_2; u32 ctrl_ddrio_2;
u32 ctrl_emif_sdram_config_ext; u32 ctrl_emif_sdram_config_ext;
u32 ctrl_ddr_ctrl_ext_0;
}; };
#endif /* __ASSEMBLY__ */ #endif /* __ASSEMBLY__ */
#endif #endif

View File

@ -581,7 +581,7 @@
(0xFF << EMIF_SYS_ADDR_SHIFT)) (0xFF << EMIF_SYS_ADDR_SHIFT))
#define EMIF_EXT_PHY_CTRL_TIMING_REG 0x5 #define EMIF_EXT_PHY_CTRL_TIMING_REG 0x5
#define EMIF_EXT_PHY_CTRL_CONST_REG 0x13 #define EMIF_EXT_PHY_CTRL_CONST_REG 0x14
/* Reg mapping structure */ /* Reg mapping structure */
struct emif_reg_struct { struct emif_reg_struct {
@ -855,13 +855,10 @@ struct dmm_lisa_map_regs {
#define DPD_ENABLE 1 #define DPD_ENABLE 1
/* Maximum delay before Low Power Modes */ /* Maximum delay before Low Power Modes */
#ifndef CONFIG_OMAP54XX
#define REG_CS_TIM 0xF
#else
#define REG_CS_TIM 0x0 #define REG_CS_TIM 0x0
#endif #define REG_SR_TIM 0x0
#define REG_SR_TIM 0xF #define REG_PD_TIM 0x0
#define REG_PD_TIM 0xF
/* EMIF_PWR_MGMT_CTRL register */ /* EMIF_PWR_MGMT_CTRL register */
#define EMIF_PWR_MGMT_CTRL (\ #define EMIF_PWR_MGMT_CTRL (\
@ -1113,6 +1110,7 @@ struct emif_regs {
u32 freq; u32 freq;
u32 sdram_config_init; u32 sdram_config_init;
u32 sdram_config; u32 sdram_config;
u32 sdram_config2;
u32 ref_ctrl; u32 ref_ctrl;
u32 sdram_tim1; u32 sdram_tim1;
u32 sdram_tim2; u32 sdram_tim2;

View File

@ -401,6 +401,7 @@ struct omap_sys_ctrl_regs {
u32 control_ddrio_0; u32 control_ddrio_0;
u32 control_ddrio_1; u32 control_ddrio_1;
u32 control_ddrio_2; u32 control_ddrio_2;
u32 control_ddr_control_ext_0;
u32 control_lpddr2io1_0; u32 control_lpddr2io1_0;
u32 control_lpddr2io1_1; u32 control_lpddr2io1_1;
u32 control_lpddr2io1_2; u32 control_lpddr2io1_2;