[PATCH] SystemACE support for Microblaze
authorMichal Simek <monstr@monstr.eu>
Sat, 21 Apr 2007 19:07:22 +0000 (21:07 +0200)
committerMichal Simek <monstr@monstr.eu>
Sat, 21 Apr 2007 19:07:22 +0000 (21:07 +0200)
drivers/systemace.c
include/configs/ml401.h
include/configs/xupv2p.h

index 3848d9c59c24fcbc3beae3f39ffd97ec676b3ab6..c9fd5f16701872cac07c4d4dacb7af11316aefc1 100644 (file)
@@ -211,10 +211,16 @@ static unsigned long systemace_read(int dev, unsigned long start,
                /* Write sector count | ReadMemCardData. */
                ace_writew((trans & 0xff) | 0x0300, 0x14);
 
+/* 
+ * For FPGA configuration via SystemACE is reset unacceptable
+ * CFGDONE bit in STATUSREG is not set to 1.
+ */
+#ifndef SYSTEMACE_CONFIG_FPGA
                /* Reset the configruation controller */
                val = ace_readw(0x18);
                val |= 0x0080;
                ace_writew(val, 0x18);
+#endif
 
                retry = trans * 16;
                while (retry > 0) {
index f4a8a1f2285aa3c7fb37011a0c7eec7ab32c0f45..15c2fe7ecd1ca22850a9bc050a8788bc5985585e 100644 (file)
@@ -36,7 +36,7 @@
 #define        CFG_BAUDRATE_TABLE      { CONFIG_BAUDRATE }
 
 /* setting reset address */
-#define        CFG_RESET_ADDRESS       TEXT_BASE
+//#define      CFG_RESET_ADDRESS       TEXT_BASE
 
 /* ethernet */
 #define CONFIG_EMACLITE                1
@@ -66,7 +66,7 @@
  *
  * CFG_GBL_DATA_OFFSET = 0x1000_0000 + 0x0400_0000 - 0x1000 = 0x13FF_F000
  * CFG_MONITOR_BASE = 0x13FF_F000 - 0x40000 = 0x13FB_F000
- * CFG_MALLOC_BASE = 0x13FB_F000 - 0x40000 = 0x13F7_F000 
+ * CFG_MALLOC_BASE = 0x13FB_F000 - 0x40000 = 0x13F7_F000
  *
  * 0x1000_0000 CFG_SDRAM_BASE
  *                                     FREE
@@ -93,7 +93,8 @@
 
 /* global pointer */
 #define        CFG_GBL_DATA_SIZE       0x1000  /* size of global data */
-#define        CFG_GBL_DATA_OFFSET     (CFG_SDRAM_BASE + CFG_SDRAM_SIZE - CFG_GBL_DATA_SIZE) /* start of global data */
+/* start of global data */
+#define        CFG_GBL_DATA_OFFSET     (CFG_SDRAM_BASE + CFG_SDRAM_SIZE - CFG_GBL_DATA_SIZE) 
 
 /* monitor code */
 #define        SIZE                    0x40000
                                CFG_CMD_IMI |\
                                CFG_CMD_NET |\
                                CFG_CMD_CACHE |\
+                               CFG_CMD_FAT |\
+                               CFG_CMD_EXT2 |\
                                CFG_CMD_IMLS |\
                                CFG_CMD_FLASH |\
                                CFG_CMD_PING \
                                CFG_CMD_FLASH |\
                                CFG_CMD_PING |\
                                CFG_CMD_ENV |\
+                               CFG_CMD_FAT |\
+                               CFG_CMD_EXT2 |\
                                CFG_CMD_SAVES \
                                )
 
                                CFG_CMD_BDI |\
                                CFG_CMD_RUN |\
                                CFG_CMD_LOADS |\
+                               CFG_CMD_FAT |\
+                               CFG_CMD_EXT2 |\
                                CFG_CMD_LOADB |\
                                CFG_CMD_IMI |\
                                CFG_CMD_NET |\
 #define CFG_HZ 1000
 
 /* system ace */
-/*#define CONFIG_SYSTEMACE
-#define DEBUG_SYSTEMACE
-#define CFG_SYSTEMACE_BASE     XILINX_SYSACE_BASEADDR
-#define CFG_SYSTEMACE_WIDTH    XILINX_SYSACE_MEM_WIDTH
-#define CONFIG_DOS_PARTITION
-*/
+#define        CONFIG_SYSTEMACE
+/* #define DEBUG_SYSTEMACE */
+#define        SYSTEMACE_CONFIG_FPGA
+#define        CFG_SYSTEMACE_BASE      XILINX_SYSACE_BASEADDR
+#define        CFG_SYSTEMACE_WIDTH     XILINX_SYSACE_MEM_WIDTH
+#define        CONFIG_DOS_PARTITION
+
 #endif /* __CONFIG_H */
index 224db5c8be15b1c870cbc0c7aa5d6e2c9ecbd007..c89ef7ce5c14991eda9cee58e210bcba9717a0f2 100644 (file)
                        CFG_CMD_LOADS |\
                        CFG_CMD_LOADB |\
                        CFG_CMD_MISC |\
+                       CFG_CMD_FAT |\
+                       CFG_CMD_EXT2 |\
                        CFG_CMD_PING \
                        )
 
        "base 0;" \
        "echo"
 
-
 /* system ace */
-/*#define      CONFIG_SYSTEMACE
-#define        DEBUG_SYSTEMACE
-#define        CFG_SYSTEMACE_BASE      0xCF000000
-#define        CFG_SYSTEMACE_WIDTH     16
-#define        CONFIG_DOS_PARTITION*/
+#define        CONFIG_SYSTEMACE
+/* #define DEBUG_SYSTEMACE */
+#define        SYSTEMACE_CONFIG_FPGA
+#define        CFG_SYSTEMACE_BASE      XILINX_SYSACE_BASEADDR
+#define        CFG_SYSTEMACE_WIDTH     XILINX_SYSACE_MEM_WIDTH
+#define        CONFIG_DOS_PARTITION
 
 #endif /* __CONFIG_H */