]> git.sur5r.net Git - u-boot/blobdiff - arch/nios2/cpu/cpu.c
Merge branch 'sr@denx.de' of git://git.denx.de/u-boot-staging
[u-boot] / arch / nios2 / cpu / cpu.c
index 6379534a0b5c59175332a11b317fbd5f35fec39d..edf256017a3c2e79bcf295df3a2ee9034b48a739 100644 (file)
@@ -24,6 +24,7 @@
 #include <common.h>
 #include <nios2.h>
 #include <nios2-io.h>
+#include <asm/cache.h>
 
 #if defined (CONFIG_SYS_NIOS_SYSID_BASE)
 extern void display_sysid (void);
@@ -40,11 +41,25 @@ int checkcpu (void)
        return (0);
 }
 
+int do_reset(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
+{
+       disable_interrupts();
+       /* indirect call to go beyond 256MB limitation of toolchain */
+       nios2_callr(CONFIG_SYS_RESET_ADDR);
+       return 0;
+}
+
+int dcache_status(void)
+{
+       return 1;
+}
+
+void dcache_enable(void)
+{
+       flush_dcache(CONFIG_SYS_DCACHE_SIZE, CONFIG_SYS_DCACHELINE_SIZE);
+}
 
-int do_reset (void)
+void dcache_disable(void)
 {
-       void (*rst)(void) = (void(*)(void))CONFIG_SYS_RESET_ADDR;
-       disable_interrupts ();
-       rst();
-       return(0);
+       flush_dcache(CONFIG_SYS_DCACHE_SIZE, CONFIG_SYS_DCACHELINE_SIZE);
 }