From 2085ae74dee47ed3da63416aac0305936b43eeea Mon Sep 17 00:00:00 2001 From: Alexander Stein Date: Fri, 24 Jul 2015 09:22:10 +0200 Subject: [PATCH] arm1136/arm1176: Merge cache handling code As both cores are similar merge the cache handling code for both CPUs to arm11 directory. Signed-off-by: Alexander Stein Acked-by: Stephen Warren Tested-by: Stephen Warren [trini: Add hunk to arch/arm/cpu/arm1136/Makefile] Signed-off-by: Tom Rini --- arch/arm/cpu/arm11/Makefile | 8 ++++++ arch/arm/cpu/{arm1136 => arm11}/cpu.c | 0 arch/arm/cpu/arm1136/Makefile | 2 +- arch/arm/cpu/arm1176/Makefile | 4 ++- arch/arm/cpu/arm1176/cpu.c | 51 ----------------------------------- 5 files changed, 12 insertions(+), 53 deletions(-) create mode 100644 arch/arm/cpu/arm11/Makefile rename arch/arm/cpu/{arm1136 => arm11}/cpu.c (100%) delete mode 100644 arch/arm/cpu/arm1176/cpu.c diff --git a/arch/arm/cpu/arm11/Makefile b/arch/arm/cpu/arm11/Makefile new file mode 100644 index 0000000..2379b0f --- /dev/null +++ b/arch/arm/cpu/arm11/Makefile @@ -0,0 +1,8 @@ +# +# (C) Copyright 2000-2006 +# Wolfgang Denk, DENX Software Engineering, wd@denx.de. +# +# SPDX-License-Identifier: GPL-2.0+ +# + +obj-y = cpu.o diff --git a/arch/arm/cpu/arm1136/cpu.c b/arch/arm/cpu/arm11/cpu.c similarity index 100% rename from arch/arm/cpu/arm1136/cpu.c rename to arch/arm/cpu/arm11/cpu.c diff --git a/arch/arm/cpu/arm1136/Makefile b/arch/arm/cpu/arm1136/Makefile index 56a9390..dbdafeb 100644 --- a/arch/arm/cpu/arm1136/Makefile +++ b/arch/arm/cpu/arm1136/Makefile @@ -6,7 +6,7 @@ # extra-y = start.o -obj-y = cpu.o +obj-y += ../arm11/ obj-$(CONFIG_MX31) += mx31/ obj-$(CONFIG_MX35) += mx35/ diff --git a/arch/arm/cpu/arm1176/Makefile b/arch/arm/cpu/arm1176/Makefile index deec427..cd6dc9c 100644 --- a/arch/arm/cpu/arm1176/Makefile +++ b/arch/arm/cpu/arm1176/Makefile @@ -8,5 +8,7 @@ # SPDX-License-Identifier: GPL-2.0+ # +obj- += dummy.o extra-y = start.o -obj-y = cpu.o + +obj-y += ../arm11/ diff --git a/arch/arm/cpu/arm1176/cpu.c b/arch/arm/cpu/arm1176/cpu.c deleted file mode 100644 index 2d81651..0000000 --- a/arch/arm/cpu/arm1176/cpu.c +++ /dev/null @@ -1,51 +0,0 @@ -/* - * (C) Copyright 2004 Texas Insturments - * - * (C) Copyright 2002 - * Sysgo Real-Time Solutions, GmbH - * Marius Groeger - * - * (C) Copyright 2002 - * Gary Jennejohn, DENX Software Engineering, - * - * SPDX-License-Identifier: GPL-2.0+ - */ - -/* - * CPU specific code - */ - -#include -#include -#include - -static void cache_flush (void); - -int cleanup_before_linux (void) -{ - /* - * this function is called just before we call linux - * it prepares the processor for linux - * - * we turn off caches etc ... - */ - - disable_interrupts (); - - /* turn off I/D-cache */ - icache_disable(); - dcache_disable(); - /* flush I/D-cache */ - cache_flush(); - - return 0; -} - -/* flush I/D-cache */ -static void cache_flush (void) -{ - /* invalidate both caches and flush btb */ - asm ("mcr p15, 0, %0, c7, c7, 0": :"r" (0)); - /* mem barrier to sync things */ - asm ("mcr p15, 0, %0, c7, c10, 4": :"r" (0)); -}