diff options
| author | Tom Rini <trini@konsulko.com> | 2017-03-14 11:08:10 -0400 | 
|---|---|---|
| committer | Tom Rini <trini@konsulko.com> | 2017-04-05 13:52:01 -0400 | 
| commit | ea3310e8aafad1da72d9a5e60568d725cbdefdbd (patch) | |
| tree | 869faa824f09ce4d40f2ce503a607ceb28b5ce91 /arch/blackfin/lib/cache.c | |
| parent | c3b7cfe15ec1db047182d4ec55a3ce05f19bdf38 (diff) | |
Blackfin: Remove
The architecture is currently unmaintained, remove.
Cc: Benjamin Matthews <mben12@gmail.com>
Cc: Chong Huang <chuang@ucrobotics.com>
Cc: Dimitar Penev <dpn@switchfin.org>
Cc: Haitao Zhang <hzhang@ucrobotics.com>
Cc: I-SYST Micromodule <support@i-syst.com>
Cc: M.Hasewinkel (MHA) <info@ssv-embedded.de>
Cc: Marek Vasut <marex@denx.de>
Cc: Martin Strubel <strubel@section5.ch>
Cc: Peter Meerwald <devel@bct-electronic.com>
Cc: Sonic Zhang <sonic.adi@gmail.com>
Cc: Valentin Yakovenkov <yakovenkov@niistt.ru>
Cc: Wojtek Skulski <info@skutek.com>
Cc: Wojtek Skulski <skulski@pas.rochester.edu>
Signed-off-by: Tom Rini <trini@konsulko.com>
Diffstat (limited to 'arch/blackfin/lib/cache.c')
| -rw-r--r-- | arch/blackfin/lib/cache.c | 123 | 
1 files changed, 0 insertions, 123 deletions
| diff --git a/arch/blackfin/lib/cache.c b/arch/blackfin/lib/cache.c deleted file mode 100644 index 8d933393b41..00000000000 --- a/arch/blackfin/lib/cache.c +++ /dev/null @@ -1,123 +0,0 @@ -/* - * U-Boot - cache.c - * - * Copyright (c) 2005-2008 Analog Devices Inc. - * - * (C) Copyright 2000-2004 - * Wolfgang Denk, DENX Software Engineering, wd@denx.de. - * - * Licensed under the GPL-2 or later. - */ - -#include <common.h> -#include <asm/blackfin.h> -#include <asm/mach-common/bits/mpu.h> - -void flush_cache(unsigned long addr, unsigned long size) -{ -	void *start_addr, *end_addr; -	int istatus, dstatus; - -	/* no need to flush stuff in on chip memory (L1/L2/etc...) */ -	if (addr >= 0xE0000000) -		return; - -	start_addr = (void *)addr; -	end_addr = (void *)(addr + size); -	istatus = icache_status(); -	dstatus = dcache_status(); - -	if (istatus) { -		if (dstatus) -			blackfin_icache_dcache_flush_range(start_addr, end_addr); -		else -			blackfin_icache_flush_range(start_addr, end_addr); -	} else if (dstatus) -		blackfin_dcache_flush_range(start_addr, end_addr); -} - -#ifdef CONFIG_DCACHE_WB -static void flushinv_all_dcache(void) -{ -	u32 way, bank, subbank, set; -	u32 status, addr; -	u32 dmem_ctl = bfin_read_DMEM_CONTROL(); - -	for (bank = 0; bank < 2; ++bank) { -		if (!(dmem_ctl & (1 << (DMC1_P - bank)))) -			continue; - -		for (way = 0; way < 2; ++way) -			for (subbank = 0; subbank < 4; ++subbank) -				for (set = 0; set < 64; ++set) { - -					bfin_write_DTEST_COMMAND( -						way << 26 | -						bank << 23 | -						subbank << 16 | -						set << 5 -					); -					CSYNC(); -					status = bfin_read_DTEST_DATA0(); - -					/* only worry about valid/dirty entries */ -					if ((status & 0x3) != 0x3) -						continue; - -					/* construct the address using the tag */ -					addr = (status & 0xFFFFC800) | (subbank << 12) | (set << 5); - -					/* flush it */ -					__asm__ __volatile__("FLUSHINV[%0];" : : "a"(addr)); -				} -	} -} -#endif - -void icache_enable(void) -{ -	bfin_write_IMEM_CONTROL(IMC | ENICPLB); -	SSYNC(); -} - -void icache_disable(void) -{ -	bfin_write_IMEM_CONTROL(0); -	SSYNC(); -} - -int icache_status(void) -{ -	return bfin_read_IMEM_CONTROL() & IMC; -} - -void dcache_enable(void) -{ -	bfin_write_DMEM_CONTROL(ACACHE_BCACHE | ENDCPLB | PORT_PREF0); -	SSYNC(); -} - -void dcache_disable(void) -{ -#ifdef CONFIG_DCACHE_WB -	bfin_write_DMEM_CONTROL(bfin_read_DMEM_CONTROL() & ~(ENDCPLB)); -	flushinv_all_dcache(); -#endif -	bfin_write_DMEM_CONTROL(0); -	SSYNC(); -} - -int dcache_status(void) -{ -	return bfin_read_DMEM_CONTROL() & ACACHE_BCACHE; -} - -void invalidate_dcache_range(unsigned long start, unsigned long stop) -{ -	blackfin_dcache_flush_invalidate_range((const void *)start, (const void *)stop); -} - -void flush_dcache_range(unsigned long start, unsigned long stop) -{ -	blackfin_dcache_flush_range((const void *)start, (const void *)stop); -} | 
