summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2009-02-06 14:26:10 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2009-02-06 14:44:46 +0100
commit8d62c1f6290d7739e0c7221537b47b3969b6f8dc (patch)
tree6d14c4ff31e10bef5c410f938e08f8653493f84d
parent4e2fe88944220ab6c6390f4aff69ecab7a9278be (diff)
downloadbarebox-8d62c1f6290d7739e0c7221537b47b3969b6f8dc.tar.gz
barebox-8d62c1f6290d7739e0c7221537b47b3969b6f8dc.tar.xz
ARM: Add simple icache enable/disable command
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
-rw-r--r--arch/arm/cpu/cpu.c24
1 files changed, 24 insertions, 0 deletions
diff --git a/arch/arm/cpu/cpu.c b/arch/arm/cpu/cpu.c
index babcd10a10..84958579eb 100644
--- a/arch/arm/cpu/cpu.c
+++ b/arch/arm/cpu/cpu.c
@@ -161,3 +161,27 @@ int cleanup_before_linux (void)
* What's to do on ARM to run Linux after U-Boot did its job?
*/
+static int do_icache(cmd_tbl_t *cmdtp, int argc, char *argv[])
+{
+ if (argc == 1) {
+ printf("icache is %sabled\n", icache_status() ? "en" : "dis");
+ return 0;
+ }
+
+ if (simple_strtoul(argv[1], NULL, 0) > 0)
+ icache_enable();
+ else
+ icache_disable();
+
+ return 0;
+}
+
+static const __maybe_unused char cmd_icache_help[] =
+"Usage: icache [0|1]\n";
+
+U_BOOT_CMD_START(icache)
+ .maxargs = CONFIG_MAXARGS,
+ .cmd = do_icache,
+ .usage = "show/change icache status",
+ U_BOOT_CMD_HELP(cmd_icache_help)
+U_BOOT_CMD_END