summaryrefslogtreecommitdiff
path: root/board/ti/dra7xx/evm.c
diff options
context:
space:
mode:
authorNishanth Menon <nm@ti.com>2015-08-13 09:50:59 -0500
committerTom Rini <trini@konsulko.com>2015-08-28 12:33:13 -0400
commit03589234090db645f80896a2ee5bce98096172da (patch)
treeda645e06acfe9a28a1e4854c3e2a8a81a3a74ef1 /board/ti/dra7xx/evm.c
parentc1ea3bece22da38c9aba3d7cd00e1720634add12 (diff)
ARM: DRA74-evm: Add iodelay values for SR2.0
Silicon revision 2.0 has new signal routing hence has an updated set of iodelay parameters to be used. Update the configuration for the same. Padmux remains the same. Based on data from VayuES2_EVM_Base_Config-20150807. NOTE: With respect to the RGMII values, the Manual IODelay values are used for the fine adjusments needed to meet the tight RGMII specification. Signed-off-by: Nishanth Menon <nm@ti.com> Reviewed-by: Tom Rini <trini@konsulko.com>
Diffstat (limited to 'board/ti/dra7xx/evm.c')
-rw-r--r--board/ti/dra7xx/evm.c36
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