blob: 673515bc413559a24600f988baeb91e8a6b9b1d4 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001/*
2 * include/asm-sh/cpu-sh2/cache.h
3 *
4 * Copyright (C) 2003 Paul Mundt
5 *
6 * This file is subject to the terms and conditions of the GNU General Public
7 * License. See the file "COPYING" in the main directory of this archive
8 * for more details.
9 */
10#ifndef __ASM_CPU_SH2_CACHE_H
11#define __ASM_CPU_SH2_CACHE_H
12
13#define L1_CACHE_SHIFT 4
14
Paul Mundt8d5fb292007-11-08 18:44:09 +090015#define SH_CACHE_VALID 1
16#define SH_CACHE_UPDATED 2
17#define SH_CACHE_COMBINED 4
18#define SH_CACHE_ASSOC 8
19
Paul Mundtb9601c52007-06-08 11:55:28 +090020#if defined(CONFIG_CPU_SUBTYPE_SH7619)
Paul Mundt3ee77022007-11-28 15:56:27 +090021#define CCR 0xffffffec
Yoshinori Satob2296322006-11-05 16:18:08 +090022
23#define CCR_CACHE_CE 0x01 /* Cache enable */
Yoshinori Satocce2d452008-08-04 16:33:47 +090024#define CCR_CACHE_WT 0x02 /* CCR[bit1=1,bit2=1] */
Yoshinori Satob2296322006-11-05 16:18:08 +090025 /* 0x00000000-0x7fffffff: Write-through */
26 /* 0x80000000-0x9fffffff: Write-back */
27 /* 0xc0000000-0xdfffffff: Write-through */
Yoshinori Satocce2d452008-08-04 16:33:47 +090028#define CCR_CACHE_CB 0x04 /* CCR[bit1=0,bit2=0] */
Yoshinori Satob2296322006-11-05 16:18:08 +090029 /* 0x00000000-0x7fffffff: Write-back */
30 /* 0x80000000-0x9fffffff: Write-through */
31 /* 0xc0000000-0xdfffffff: Write-back */
32#define CCR_CACHE_CF 0x08 /* Cache invalidate */
33
34#define CACHE_OC_ADDRESS_ARRAY 0xf0000000
35#define CACHE_OC_DATA_ARRAY 0xf1000000
36
37#define CCR_CACHE_ENABLE CCR_CACHE_CE
38#define CCR_CACHE_INVALIDATE CCR_CACHE_CF
Yoshinori Satocce2d452008-08-04 16:33:47 +090039#define CACHE_PHYSADDR_MASK 0x1ffffc00
40
Yoshinori Satob2296322006-11-05 16:18:08 +090041#endif
Linus Torvalds1da177e2005-04-16 15:20:36 -070042
Paul Mundtb9601c52007-06-08 11:55:28 +090043#endif /* __ASM_CPU_SH2_CACHE_H */