diff options
Diffstat (limited to 'board/ti/dra7xx/evm.c')
-rw-r--r-- | board/ti/dra7xx/evm.c | 36 |
1 files changed, 26 insertions, 10 deletions
diff --git a/board/ti/dra7xx/evm.c b/board/ti/dra7xx/evm.c index 94a1a8c256..9603f10f8a 100644 --- a/board/ti/dra7xx/evm.c +++ b/board/ti/dra7xx/evm.c @@ -80,17 +80,33 @@ void set_muxconf_regs_essential(void) #ifdef CONFIG_IODELAY_RECALIBRATION void recalibrate_iodelay(void) { - if (is_dra72x()) { - __recalibrate_iodelay(core_padconf_array_essential, - ARRAY_SIZE(core_padconf_array_essential), - iodelay_cfg_array, - ARRAY_SIZE(iodelay_cfg_array)); - } else { - __recalibrate_iodelay(dra74x_core_padconf_array, - ARRAY_SIZE(dra74x_core_padconf_array), - dra742_iodelay_cfg_array, - ARRAY_SIZE(dra742_iodelay_cfg_array)); + struct pad_conf_entry const *pads; + struct iodelay_cfg_entry const *iodelay; + int npads, niodelays; + + switch (omap_revision()) { + case DRA722_ES1_0: + pads = core_padconf_array_essential; + npads = ARRAY_SIZE(core_padconf_array_essential); + iodelay = iodelay_cfg_array; + niodelays = ARRAY_SIZE(iodelay_cfg_array); + break; + case DRA752_ES1_0: + case DRA752_ES1_1: + pads = dra74x_core_padconf_array; + npads = ARRAY_SIZE(dra74x_core_padconf_array); + iodelay = dra742_es1_1_iodelay_cfg_array; + niodelays = ARRAY_SIZE(dra742_es1_1_iodelay_cfg_array); + break; + default: + case DRA752_ES2_0: + pads = dra74x_core_padconf_array; + npads = ARRAY_SIZE(dra74x_core_padconf_array); + iodelay = dra742_es2_0_iodelay_cfg_array; + niodelays = ARRAY_SIZE(dra742_es2_0_iodelay_cfg_array); + break; } + __recalibrate_iodelay(pads, npads, iodelay, niodelays); } #endif |