| Bryan Wu | 1394f03 | 2007-05-06 14:50:22 -0700 | [diff] [blame] | 1 | /* | 
 | 2 |  * File:         Documentation/blackfin/cachefeatures.txt | 
 | 3 |  * Based on: | 
 | 4 |  * Author: | 
 | 5 |  * | 
 | 6 |  * Created: | 
 | 7 |  * Description:  This file contains the simple DMA Implementation for Blackfin | 
 | 8 |  * | 
 | 9 |  * Rev:          $Id: cachefeatures.txt 2384 2006-11-01 04:12:43Z magicyang $ | 
 | 10 |  * | 
 | 11 |  * Modified: | 
 | 12 |  *               Copyright 2004-2006 Analog Devices Inc. | 
 | 13 |  * | 
 | 14 |  * Bugs:         Enter bugs at http://blackfin.uclinux.org/ | 
 | 15 |  * | 
 | 16 |  */ | 
 | 17 |  | 
 | 18 | 	- Instruction and Data cache initialization. | 
 | 19 | 		icache_init(); | 
 | 20 | 		dcache_init(); | 
 | 21 |  | 
 | 22 | 	-  Instruction and Data cache Invalidation Routines, when flushing the | 
 | 23 | 	   same is not required. | 
 | 24 | 		_icache_invalidate(); | 
 | 25 | 		_dcache_invalidate(); | 
 | 26 |  | 
 | 27 | 	Also, for invalidating the entire instruction and data cache, the below | 
 | 28 | 	routines are provided (another method for invalidation, refer page no 267 and 287 of | 
 | 29 | 	ADSP-BF533 Hardware Reference manual) | 
 | 30 |  | 
 | 31 | 		invalidate_entire_dcache(); | 
 | 32 | 		invalidate_entire_icache(); | 
 | 33 |  | 
 | 34 | 	-External Flushing of Instruction and data cache routines. | 
 | 35 |  | 
 | 36 | 		flush_instruction_cache(); | 
 | 37 | 		flush_data_cache(); | 
 | 38 |  | 
 | 39 | 	- Internal Flushing of Instruction and Data Cache. | 
 | 40 |  | 
 | 41 | 		icplb_flush(); | 
 | 42 | 		dcplb_flush(); | 
 | 43 |  | 
 | 44 | 	- Locking the cache. | 
 | 45 |  | 
 | 46 | 		cache_grab_lock(); | 
 | 47 | 		cache_lock(); | 
 | 48 |  | 
 | 49 | 	Please refer linux-2.6.x/Documentation/blackfin/cache-lock.txt for how to | 
 | 50 | 	lock the cache. | 
 | 51 |  | 
 | 52 | 	Locking the cache is optional feature. | 
 | 53 |  | 
 | 54 | 	- Miscellaneous cache functions. | 
 | 55 |  | 
 | 56 | 		flush_cache_all(); | 
 | 57 | 		flush_cache_mm(); | 
 | 58 | 		invalidate_dcache_range(); | 
 | 59 | 		flush_dcache_range(); | 
 | 60 | 		flush_dcache_page(); | 
 | 61 | 		flush_cache_range(); | 
 | 62 | 		flush_cache_page(); | 
 | 63 | 		invalidate_dcache_range(); | 
 | 64 | 		flush_page_to_ram(); | 
 | 65 |  |