Blackfin: bf533-stamp: split and cleanup CF/IDE code
[pandora-u-boot.git] / board / bf533-stamp / bf533-stamp.c
index 7a63c52..4abad08 100644 (file)
@@ -62,118 +62,11 @@ void swap_to(int device_id)
 /* miscellaneous platform dependent initialisations */
 int misc_init_r(void)
 {
-       int i;
-       int cf_stat = 0;
-
-       /* Check whether CF card is inserted */
-       *pFIO_EDGE = FIO_EDGE_CF_BITS;
-       *pFIO_POLAR = FIO_POLAR_CF_BITS;
-       for (i = 0; i < 0x300; i++)
-               asm("nop;");
-
-       if ((*pFIO_FLAG_S) & CF_STAT_BITS) {
-               cf_stat = 0;
-       } else {
-               cf_stat = 1;
-       }
-
-       *pFIO_EDGE = FIO_EDGE_BITS;
-       *pFIO_POLAR = FIO_POLAR_BITS;
-
-       if (cf_stat) {
-               printf("Booting from COMPACT flash\n");
-
-               for (i = 0; i < 0x1000; i++)
-                       asm("nop;");
-               for (i = 0; i < 0x1000; i++)
-                       asm("nop;");
-               for (i = 0; i < 0x1000; i++)
-                       asm("nop;");
-
-               serial_setbrg();
-               ide_init();
-
-               setenv("bootargs", "");
-               setenv("bootcmd",
-                      "fatload ide 0:1 0x1000000 uImage-stamp;bootm 0x1000000;bootm 0x20100000");
-       } else {
-               printf("Booting from FLASH\n");
-       }
-
-       return 0;
-}
-#endif
-
 #ifdef CONFIG_STAMP_CF
+       cf_ide_init();
+#endif
 
-void cf_outb(unsigned char val, volatile unsigned char *addr)
-{
-       /*
-        * Set PF1 PF0 respectively to 0 1 to divert address
-        * to the expansion memory banks
-        */
-       *pFIO_FLAG_S = CF_PF0;
-       *pFIO_FLAG_C = CF_PF1;
-       SSYNC();
-
-       *(addr) = val;
-       SSYNC();
-
-       /* Setback PF1 PF0 to 0 0 to address external
-        * memory banks  */
-       *(volatile unsigned short *)pFIO_FLAG_C = CF_PF1_PF0;
-       SSYNC();
-}
-
-unsigned char cf_inb(volatile unsigned char *addr)
-{
-       volatile unsigned char c;
-
-       *pFIO_FLAG_S = CF_PF0;
-       *pFIO_FLAG_C = CF_PF1;
-       SSYNC();
-
-       c = *(addr);
-       SSYNC();
-
-       *pFIO_FLAG_C = CF_PF1_PF0;
-       SSYNC();
-
-       return c;
-}
-
-void cf_insw(unsigned short *sect_buf, unsigned short *addr, int words)
-{
-       int i;
-
-       *pFIO_FLAG_S = CF_PF0;
-       *pFIO_FLAG_C = CF_PF1;
-       SSYNC();
-
-       for (i = 0; i < words; i++) {
-               *(sect_buf + i) = *(addr);
-               SSYNC();
-       }
-
-       *pFIO_FLAG_C = CF_PF1_PF0;
-       SSYNC();
-}
-
-void cf_outsw(unsigned short *addr, unsigned short *sect_buf, int words)
-{
-       int i;
-
-       *pFIO_FLAG_S = CF_PF0;
-       *pFIO_FLAG_C = CF_PF1;
-       SSYNC();
-
-       for (i = 0; i < words; i++) {
-               *(addr) = *(sect_buf + i);
-               SSYNC();
-       }
-
-       *pFIO_FLAG_C = CF_PF1_PF0;
-       SSYNC();
+       return 0;
 }
 #endif