]> git.sur5r.net Git - u-boot/blobdiff - board/inka4x0/inka4x0.c
* Fix get_partition_info() parameter error in all other calls
[u-boot] / board / inka4x0 / inka4x0.c
index a33251021f5d772793c0b069f94c29321462c8fd..4900201dd8fb741638132134b68f87e36e343c24 100644 (file)
@@ -177,6 +177,19 @@ void flash_preinit(void)
        *(vu_long *)MPC5XXX_BOOTCS_CFG &= ~0x1; /* clear RO */
 }
 
+#define GPIO_PSC3_9     0x04000000UL
+
+int misc_init_f (void)
+{
+       /*
+        * Reset Coral-P graphics controller
+        */
+        *(vu_long *) MPC5XXX_WU_GPIO_ENABLE |= GPIO_PSC3_9;
+        *(vu_long *) MPC5XXX_WU_GPIO_DIR    |= GPIO_PSC3_9;
+        *(vu_long *) MPC5XXX_WU_GPIO_DATA   |= GPIO_PSC3_9;
+        return 0;
+}
+
 #ifdef  CONFIG_PCI
 static struct pci_controller hose;
 
@@ -188,4 +201,31 @@ void pci_init_board(void)
 }
 #endif
 
+#if defined (CFG_CMD_IDE) && defined (CONFIG_IDE_RESET)
+
+#define GPIO_PSC1_4    0x01000000UL
+
+void init_ide_reset (void)
+{
+       debug ("init_ide_reset\n");
+
+       /* Configure PSC1_4 as GPIO output for ATA reset */
+       *(vu_long *) MPC5XXX_WU_GPIO_ENABLE |= GPIO_PSC1_4;
+       *(vu_long *) MPC5XXX_WU_GPIO_DIR    |= GPIO_PSC1_4;
+       /* Deassert reset */
+       *(vu_long *) MPC5XXX_WU_GPIO_DATA   |= GPIO_PSC1_4;
+}
+
+void ide_set_reset (int idereset)
+{
+       debug ("ide_reset(%d)\n", idereset);
 
+       if (idereset) {
+               *(vu_long *) MPC5XXX_WU_GPIO_DATA &= ~GPIO_PSC1_4;
+               /* Make a delay. MPC5200 spec says 25 usec min */
+               udelay(500000);
+       } else {
+               *(vu_long *) MPC5XXX_WU_GPIO_DATA |=  GPIO_PSC1_4;
+       }
+}
+#endif /* defined (CFG_CMD_IDE) && defined (CONFIG_IDE_RESET) */