ARM: DRA7-evm: Enable IO delay recalibration sequence
authorLokesh Vutla <lokeshvutla@ti.com>
Thu, 4 Jun 2015 11:12:38 +0000 (16:42 +0530)
committerTom Rini <trini@konsulko.com>
Fri, 12 Jun 2015 17:02:06 +0000 (13:02 -0400)
Enabling IO delay recalibration sequence for DRA7 EVM.
UART and I2C are configured before IO delay recalibration sequence
as these are used earlier and safe to use.

Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Signed-off-by: Nishanth Menon <nm@ti.com>
board/ti/dra7xx/evm.c
include/configs/dra7xx_evm.h

index 1b051509a658b75cd3d7cb77bdeed803a2cbab54..06adaac70adc51e0ec3ad8b72c22d2780203e723 100644 (file)
@@ -17,6 +17,7 @@
 #include <usb.h>
 #include <linux/usb/gadget.h>
 #include <asm/arch/gpio.h>
+#include <asm/arch/dra7xx_iodelay.h>
 #include <asm/arch/sys_proto.h>
 #include <asm/arch/mmc_host_def.h>
 #include <asm/arch/sata.h>
@@ -110,11 +111,18 @@ int board_late_init(void)
 void set_muxconf_regs_essential(void)
 {
        do_set_mux32((*ctrl)->control_padconf_core_base,
-                    core_padconf_array_essential,
-                    sizeof(core_padconf_array_essential) /
-                    sizeof(struct pad_conf_entry));
+                    early_padconf, ARRAY_SIZE(early_padconf));
 }
 
+#ifdef CONFIG_IODELAY_RECALIBRATION
+void recalibrate_iodelay(void)
+{
+       __recalibrate_iodelay(core_padconf_array_essential,
+                             ARRAY_SIZE(core_padconf_array_essential),
+                             iodelay_cfg_array, ARRAY_SIZE(iodelay_cfg_array));
+}
+#endif
+
 #if !defined(CONFIG_SPL_BUILD) && defined(CONFIG_GENERIC_MMC)
 int board_mmc_init(bd_t *bis)
 {
index 77edc21d9c5531cfdda372ef515dd79e640516fb..afcc36bb25ef76a58293596aeb0e4c5e82488b0c 100644 (file)
 #define CONFIG_DRA7XX
 #define CONFIG_BOARD_EARLY_INIT_F
 
+#ifdef CONFIG_SPL_BUILD
+#define CONFIG_IODELAY_RECALIBRATION
+#endif
+
 #ifndef CONFIG_QSPI_BOOT
 /* MMC ENV related defines */
 #define CONFIG_ENV_IS_IN_MMC