summaryrefslogtreecommitdiff
path: root/common/cmd_ide.c
diff options
context:
space:
mode:
authorPavel Herrmann <morpheus.ibis@gmail.com>2012-10-07 05:56:07 +0000
committerTom Rini <trini@ti.com>2012-10-17 07:59:08 -0700
commite4148c1165d11807e51a9587716e6a513ce1c021 (patch)
treee4d17b75584eb122e5ed7a29334a836cbb7d6553 /common/cmd_ide.c
parent8d1165e11a7aad00a2bbb05f20bacf021f6d1c12 (diff)
downloadu-boot-imx-e4148c1165d11807e51a9587716e6a513ce1c021.zip
u-boot-imx-e4148c1165d11807e51a9587716e6a513ce1c021.tar.gz
u-boot-imx-e4148c1165d11807e51a9587716e6a513ce1c021.tar.bz2
split IVM power hooks from cmd_ide.c
Move power control code from ide_reset() into IVM-specific IDE reset code. Signed-off-by: Pavel Herrmann <morpheus.ibis@gmail.com>
Diffstat (limited to 'common/cmd_ide.c')
-rw-r--r--common/cmd_ide.c48
1 files changed, 0 insertions, 48 deletions
diff --git a/common/cmd_ide.c b/common/cmd_ide.c
index 9bbdc5d..6b4813e 100644
--- a/common/cmd_ide.c
+++ b/common/cmd_ide.c
@@ -1169,9 +1169,6 @@ extern void ide_set_reset(int idereset);
static void ide_reset(void)
{
-#if defined(CONFIG_SYS_PB_12V_ENABLE) || defined(CONFIG_SYS_PB_IDE_MOTOR)
- volatile immap_t *immr = (immap_t *) CONFIG_SYS_IMMR;
-#endif
int i;
curr_device = -1;
@@ -1187,51 +1184,6 @@ static void ide_reset(void)
WATCHDOG_RESET();
-#ifdef CONFIG_SYS_PB_12V_ENABLE
- /* 12V Enable output OFF */
- immr->im_cpm.cp_pbdat &= ~(CONFIG_SYS_PB_12V_ENABLE);
-
- immr->im_cpm.cp_pbpar &= ~(CONFIG_SYS_PB_12V_ENABLE);
- immr->im_cpm.cp_pbodr &= ~(CONFIG_SYS_PB_12V_ENABLE);
- immr->im_cpm.cp_pbdir |= CONFIG_SYS_PB_12V_ENABLE;
-
- /* wait 500 ms for the voltage to stabilize */
- for (i = 0; i < 500; ++i)
- udelay(1000);
-
- /* 12V Enable output ON */
- immr->im_cpm.cp_pbdat |= CONFIG_SYS_PB_12V_ENABLE;
-#endif /* CONFIG_SYS_PB_12V_ENABLE */
-
-#ifdef CONFIG_SYS_PB_IDE_MOTOR
- /* configure IDE Motor voltage monitor pin as input */
- immr->im_cpm.cp_pbpar &= ~(CONFIG_SYS_PB_IDE_MOTOR);
- immr->im_cpm.cp_pbodr &= ~(CONFIG_SYS_PB_IDE_MOTOR);
- immr->im_cpm.cp_pbdir &= ~(CONFIG_SYS_PB_IDE_MOTOR);
-
- /* wait up to 1 s for the motor voltage to stabilize */
- for (i = 0; i < 1000; ++i) {
- if ((immr->im_cpm.cp_pbdat & CONFIG_SYS_PB_IDE_MOTOR) != 0) {
- break;
- }
- udelay(1000);
- }
-
- if (i == 1000) { /* Timeout */
- printf("\nWarning: 5V for IDE Motor missing\n");
-#ifdef CONFIG_STATUS_LED
-#ifdef STATUS_LED_YELLOW
- status_led_set(STATUS_LED_YELLOW, STATUS_LED_ON);
-#endif
-#ifdef STATUS_LED_GREEN
- status_led_set(STATUS_LED_GREEN, STATUS_LED_OFF);
-#endif
-#endif /* CONFIG_STATUS_LED */
- }
-#endif /* CONFIG_SYS_PB_IDE_MOTOR */
-
- WATCHDOG_RESET();
-
/* de-assert RESET signal */
ide_set_reset(0);