~ubuntu-branches/ubuntu/maverick/u-boot-omap3/maverick

« back to all changes in this revision

Viewing changes to include/asm-blackfin/mach-common/bits/mpu.h

  • Committer: Bazaar Package Importer
  • Author(s): Oliver Grawert
  • Date: 2010-03-22 15:06:23 UTC
  • Revision ID: james.westby@ubuntu.com-20100322150623-i21g8rgiyl5dohag
Tags: upstream-2010.3git20100315
ImportĀ upstreamĀ versionĀ 2010.3git20100315

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
 * MPU Masks
 
3
 */
 
4
 
 
5
#ifndef __BFIN_PERIPHERAL_MPU__
 
6
#define __BFIN_PERIPHERAL_MPU__
 
7
 
 
8
/*
 
9
 * DMEM_CONTROL Register
 
10
 */
 
11
 
 
12
/* ** Bit Positions */
 
13
#define ENDM_P                  0x00    /* (doesn't really exist) Enable Data Memory L1 */
 
14
#define DMCTL_ENDM_P            ENDM_P  /* "" (older define) */
 
15
#define ENDCPLB_P               0x01    /* Enable DCPLBS */
 
16
#define DMCTL_ENDCPLB_P         ENDCPLB_P       /* "" (older define) */
 
17
#define DMC0_P                  0x02    /* L1 Data Memory Configure bit 0 */
 
18
#define DMCTL_DMC0_P            DMC0_P  /* "" (older define) */
 
19
#define DMC1_P                  0x03    /* L1 Data Memory Configure bit 1 */
 
20
#define DMCTL_DMC1_P            DMC1_P  /* "" (older define) */
 
21
#define DCBS_P                  0x04    /* L1 Data Cache Bank Select */
 
22
#define PORT_PREF0_P            0x12    /* DAG0 Port Preference */
 
23
#define PORT_PREF1_P            0x13    /* DAG1 Port Preference */
 
24
 
 
25
/* ** Masks */
 
26
#define ENDM                    0x00000001      /* (doesn't really exist) Enable Data Memory L1 */
 
27
#define ENDCPLB                 0x00000002      /* Enable DCPLB */
 
28
#define ASRAM_BSRAM             0x00000000
 
29
#define ACACHE_BSRAM            0x00000008
 
30
#define ACACHE_BCACHE           0x0000000C
 
31
#define DCBS                    0x00000010      /*  L1 Data Cache Bank Select */
 
32
#define PORT_PREF0              0x00001000      /* DAG0 Port Preference */
 
33
#define PORT_PREF1              0x00002000      /* DAG1 Port Preference */
 
34
 
 
35
/* IMEM_CONTROL Register */
 
36
/* ** Bit Positions */
 
37
#define ENIM_P                  0x00    /* Enable L1 Code Memory */
 
38
#define IMCTL_ENIM_P            0x00    /* "" (older define) */
 
39
#define ENICPLB_P               0x01    /* Enable ICPLB */
 
40
#define IMCTL_ENICPLB_P         0x01    /* "" (older define) */
 
41
#define IMC_P                   0x02    /* Enable */
 
42
#define IMCTL_IMC_P             0x02    /* Configure L1 code memory as cache (0=SRAM) */
 
43
#define ILOC0_P                 0x03    /* Lock Way 0 */
 
44
#define ILOC1_P                 0x04    /* Lock Way 1 */
 
45
#define ILOC2_P                 0x05    /* Lock Way 2 */
 
46
#define ILOC3_P                 0x06    /* Lock Way 3 */
 
47
#define LRUPRIORST_P            0x0D    /* Least Recently Used Replacement Priority */
 
48
 
 
49
/* ** Masks */
 
50
#define ENIM                    0x00000001      /* Enable L1 Code Memory */
 
51
#define ENICPLB                 0x00000002      /* Enable ICPLB */
 
52
#define IMC                     0x00000004      /* Configure L1 code memory as cache (0=SRAM) */
 
53
#define ILOC0                   0x00000008      /* Lock Way 0 */
 
54
#define ILOC1                   0x00000010      /* Lock Way 1 */
 
55
#define ILOC2                   0x00000020      /* Lock Way 2 */
 
56
#define ILOC3                   0x00000040      /* Lock Way 3 */
 
57
#define LRUPRIORST              0x00002000      /* Least Recently Used Replacement Priority */
 
58
 
 
59
/* DCPLB_DATA and ICPLB_DATA Registers */
 
60
/* ** Bit Positions */
 
61
#define CPLB_VALID_P            0x00000000      /* 0=invalid entry, 1=valid entry */
 
62
#define CPLB_LOCK_P             0x00000001      /* 0=entry may be replaced, 1=entry locked */
 
63
#define CPLB_USER_RD_P          0x00000002      /* 0=no read access, 1=read access allowed (user mode) */
 
64
 
 
65
/* ** Masks */
 
66
#define CPLB_VALID              0x00000001      /* 0=invalid entry, 1=valid entry */
 
67
#define CPLB_LOCK               0x00000002      /* 0=entry may be replaced, 1=entry locked */
 
68
#define CPLB_USER_RD            0x00000004      /* 0=no read access, 1=read access allowed (user mode) */
 
69
#define PAGE_SIZE_1KB           0x00000000      /* 1 KB page size */
 
70
#define PAGE_SIZE_4KB           0x00010000      /* 4 KB page size */
 
71
#define PAGE_SIZE_1MB           0x00020000      /* 1 MB page size */
 
72
#define PAGE_SIZE_4MB           0x00030000      /* 4 MB page size */
 
73
#define PAGE_SIZE_MASK          0x00030000      /* the bits for the page_size field */
 
74
#define PAGE_SIZE_SHIFT         16
 
75
#define CPLB_L1SRAM             0x00000020      /* 0=SRAM mapped in L1, 0=SRAM not mapped to L1 */
 
76
#define CPLB_PORTPRIO           0x00000200      /* 0=low priority port, 1= high priority port */
 
77
#define CPLB_L1_CHBL            0x00001000      /* 0=non-cacheable in L1, 1=cacheable in L1 */
 
78
 
 
79
/* ICPLB_DATA only */
 
80
#define CPLB_LRUPRIO            0x00000100      /* 0=can be replaced by any line, 1=priority for non-replacement */
 
81
 
 
82
/* DCPLB_DATA only */
 
83
#define CPLB_USER_WR            0x00000008      /* 0=no write access, 0=write access allowed (user mode) */
 
84
#define CPLB_SUPV_WR            0x00000010      /* 0=no write access, 0=write access allowed (supervisor mode) */
 
85
#define CPLB_DIRTY              0x00000080      /* 1=dirty, 0=clean */
 
86
#define CPLB_L1_AOW             0x00008000      /* 0=do not allocate cache lines on write-through writes, */
 
87
                                                /* 1= allocate cache lines on write-through writes. */
 
88
#define CPLB_WT                 0x00004000      /* 0=write-back, 1=write-through */
 
89
 
 
90
/* ITEST_COMMAND and DTEST_COMMAND Registers */
 
91
/* ** Masks */
 
92
#define TEST_READ               0x00000000      /* Read Access */
 
93
#define TEST_WRITE              0x00000002      /* Write Access */
 
94
#define TEST_TAG                0x00000000      /* Access TAG */
 
95
#define TEST_DATA               0x00000004      /* Access DATA */
 
96
#define TEST_DW0                0x00000000      /* Select Double Word 0 */
 
97
#define TEST_DW1                0x00000008      /* Select Double Word 1 */
 
98
#define TEST_DW2                0x00000010      /* Select Double Word 2 */
 
99
#define TEST_DW3                0x00000018      /* Select Double Word 3 */
 
100
#define TEST_MB0                0x00000000      /* Select Mini-Bank 0 */
 
101
#define TEST_MB1                0x00010000      /* Select Mini-Bank 1 */
 
102
#define TEST_MB2                0x00020000      /* Select Mini-Bank 2 */
 
103
#define TEST_MB3                0x00030000      /* Select Mini-Bank 3 */
 
104
#define TEST_SET(x)             ((x << 5) & 0x03E0)     /* Set Index 0->31 */
 
105
#define TEST_WAY0               0x00000000      /* Access Way0 */
 
106
#define TEST_WAY1               0x04000000      /* Access Way1 */
 
107
 
 
108
/* ** ITEST_COMMAND only */
 
109
#define TEST_WAY2               0x08000000      /* Access Way2 */
 
110
#define TEST_WAY3               0x0C000000      /* Access Way3 */
 
111
 
 
112
/* ** DTEST_COMMAND only */
 
113
#define TEST_BNKSELA            0x00000000      /* Access SuperBank A */
 
114
#define TEST_BNKSELB            0x00800000      /* Access SuperBank B */
 
115
 
 
116
#endif