1 /*
2 * @file MMUAccInt.h
3 *
4 * @brief MMU Register offset definitions
5 *
6 *
7 * ============================================================================
8 *
9 * Copyright (c) 2010-2011, Texas Instruments Incorporated
10 *
11 * Redistribution and use in source and binary forms, with or without
12 * modification, are permitted provided that the following conditions
13 * are met:
14 *
15 * * Redistributions of source code must retain the above copyright
16 * notice, this list of conditions and the following disclaimer.
17 *
18 * * Redistributions in binary form must reproduce the above copyright
19 * notice, this list of conditions and the following disclaimer in the
20 * documentation and/or other materials provided with the distribution.
21 *
22 * * Neither the name of Texas Instruments Incorporated nor the names of
23 * its contributors may be used to endorse or promote products derived
24 * from this software without specific prior written permission.
25 *
26 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
27 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
28 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
29 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
30 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
31 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
32 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
33 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
34 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
35 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
36 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
37 * Contact information for paper mail:
38 * Texas Instruments
39 * Post Office Box 655303
40 * Dallas, Texas 75265
41 * Contact information:
42 * http://www-k.ext.ti.com/sc/technical-support/product-information-centers.htm?
43 * DCMP=TIHomeTracking&HQS=Other+OT+home_d_contact
44 * ============================================================================
45 *
46 */
49 #ifndef _MMU_ACC_INT_H
50 #define _MMU_ACC_INT_H
53 /* Register offset address definitions */
55 #define MMU_MMU_REVISION_OFFSET 0x0
56 #define MMU_MMU_SYSCONFIG_OFFSET 0x10
57 #define MMU_MMU_SYSSTATUS_OFFSET 014
58 #define MMU_MMU_IRQSTATUS_OFFSET 0x18
59 #define MMU_MMU_IRQENABLE_OFFSET 0x1c
60 #define MMU_MMU_WALKING_ST_OFFSET 0x40
61 #define MMU_MMU_CNTL_OFFSET 0x44
62 #define MMU_MMU_FAULT_AD_OFFSET 0x48
63 #define MMU_MMU_TTB_OFFSET 0x4c
64 #define MMU_MMU_LOCK_OFFSET 0x50
65 #define MMU_MMU_LD_TLB_OFFSET 0x54
66 #define MMU_MMU_CAM_OFFSET 0x58
67 #define MMU_MMU_RAM_OFFSET 0x5c
68 #define MMU_MMU_GFLUSH_OFFSET 0x60
69 #define MMU_MMU_FLUSH_ENTRY_OFFSET 0x64
70 #define MMU_MMU_READ_CAM_OFFSET 0x68
71 #define MMU_MMU_READ_RAM_OFFSET 0x6c
72 #define MMU_MMU_EMU_FAULT_AD_OFFSET 0x70
75 /* Bitfield mask and offset declarations */
77 #define MMU_MMU_REVISION_Rev_MASK 0xff
78 #define MMU_MMU_REVISION_Rev_OFFSET 0
80 #define MMU_MMU_SYSCONFIG_ClockActivity_MASK 0x300
81 #define MMU_MMU_SYSCONFIG_ClockActivity_OFFSET 8
83 #define MMU_MMU_SYSCONFIG_IdleMode_MASK 0x18
84 #define MMU_MMU_SYSCONFIG_IdleMode_OFFSET 3
86 #define MMU_MMU_SYSCONFIG_SoftReset_MASK 0x2
87 #define MMU_MMU_SYSCONFIG_SoftReset_OFFSET 1
89 #define MMU_MMU_SYSCONFIG_AutoIdle_MASK 0x1
90 #define MMU_MMU_SYSCONFIG_AutoIdle_OFFSET 0
92 #define MMU_MMU_SYSSTATUS_ResetDone_MASK 0x1
93 #define MMU_MMU_SYSSTATUS_ResetDone_OFFSET 0
95 #define MMU_MMU_IRQSTATUS_MultiHitFault_MASK 0x10
96 #define MMU_MMU_IRQSTATUS_MultiHitFault_OFFSET 4
98 #define MMU_MMU_IRQSTATUS_TableWalkFault_MASK 0x8
99 #define MMU_MMU_IRQSTATUS_TableWalkFault_OFFSET 3
101 #define MMU_MMU_IRQSTATUS_EMUMiss_MASK 0x4
102 #define MMU_MMU_IRQSTATUS_EMUMiss_OFFSET 2
104 #define MMU_MMU_IRQSTATUS_TranslationFault_MASK 0x2
105 #define MMU_MMU_IRQSTATUS_TranslationFault_OFFSET 1
107 #define MMU_MMU_IRQSTATUS_TLBMiss_MASK 0x1
108 #define MMU_MMU_IRQSTATUS_TLBMiss_OFFSET 0
110 #define MMU_MMU_IRQENABLE_MultiHitFault_MASK 0x10
111 #define MMU_MMU_IRQENABLE_MultiHitFault_OFFSET 4
113 #define MMU_MMU_IRQENABLE_TableWalkFault_MASK 0x8
114 #define MMU_MMU_IRQENABLE_TableWalkFault_OFFSET 3
116 #define MMU_MMU_IRQENABLE_EMUMiss_MASK 0x4
117 #define MMU_MMU_IRQENABLE_EMUMiss_OFFSET 2
119 #define MMU_MMU_IRQENABLE_TranslationFault_MASK 0x2
120 #define MMU_MMU_IRQENABLE_TranslationFault_OFFSET 1
122 #define MMU_MMU_IRQENABLE_TLBMiss_MASK 0x1
123 #define MMU_MMU_IRQENABLE_TLBMiss_OFFSET 0
125 #define MMU_MMU_WALKING_ST_TWLRunning_MASK 0x1
126 #define MMU_MMU_WALKING_ST_TWLRunning_OFFSET 0
128 #define MMU_MMU_CNTL_EmuTLBUpdate_MASK 0x8
129 #define MMU_MMU_CNTL_EmuTLBUpdate_OFFSET 3
131 #define MMU_MMU_CNTL_TWLEnable_MASK 0x4
132 #define MMU_MMU_CNTL_TWLEnable_OFFSET 2
134 #define MMU_MMU_CNTL_MMUEnable_MASK 0x2
135 #define MMU_MMU_CNTL_MMUEnable_OFFSET 1
137 #define MMU_MMU_FAULT_AD_FaultAddress_MASK 0xffffffff
138 #define MMU_MMU_FAULT_AD_FaultAddress_OFFSET 0
140 #define MMU_MMU_TTB_TTBAddress_MASK 0xffffff00
141 #define MMU_MMU_TTB_TTBAddress_OFFSET 8
143 #define MMU_MMU_LOCK_BaseValue_MASK 0xfc00
144 #define MMU_MMU_LOCK_BaseValue_OFFSET 10
146 #define MMU_MMU_LOCK_CurrentVictim_MASK 0x3f0
147 #define MMU_MMU_LOCK_CurrentVictim_OFFSET 4
149 #define MMU_MMU_LD_TLB_LdTLBItem_MASK 0x1
150 #define MMU_MMU_LD_TLB_LdTLBItem_OFFSET 0
152 #define MMU_MMU_CAM_VATag_MASK 0xfffff000
153 #define MMU_MMU_CAM_VATag_OFFSET 12
155 #define MMU_MMU_CAM_P_MASK 0x8
156 #define MMU_MMU_CAM_P_OFFSET 3
158 #define MMU_MMU_CAM_V_MASK 0x4
159 #define MMU_MMU_CAM_V_OFFSET 2
161 #define MMU_MMU_CAM_PageSize_MASK 0x3
162 #define MMU_MMU_CAM_PageSize_OFFSET 0
164 #define MMU_MMU_RAM_PhysicalAddress_MASK 0xfffff000
165 #define MMU_MMU_RAM_PhysicalAddress_OFFSET 12
167 #define MMU_MMU_RAM_Endianness_MASK 0x200
168 #define MMU_MMU_RAM_Endianness_OFFSET 9
170 #define MMU_MMU_RAM_ElementSize_MASK 0x180
171 #define MMU_MMU_RAM_ElementSize_OFFSET 7
173 #define MMU_MMU_RAM_Mixed_MASK 0x40
174 #define MMU_MMU_RAM_Mixed_OFFSET 6
176 #define MMU_MMU_GFLUSH_GlobalFlush_MASK 0x1
177 #define MMU_MMU_GFLUSH_GlobalFlush_OFFSET 0
179 #define MMU_MMU_FLUSH_ENTRY_FlushEntry_MASK 0x1
180 #define MMU_MMU_FLUSH_ENTRY_FlushEntry_OFFSET 0
182 #define MMU_MMU_READ_CAM_VATag_MASK 0xfffff000
183 #define MMU_MMU_READ_CAM_VATag_OFFSET 12
185 #define MMU_MMU_READ_CAM_P_MASK 0x8
186 #define MMU_MMU_READ_CAM_P_OFFSET 3
188 #define MMU_MMU_READ_CAM_V_MASK 0x4
189 #define MMU_MMU_READ_CAM_V_OFFSET 2
191 #define MMU_MMU_READ_CAM_PageSize_MASK 0x3
192 #define MMU_MMU_READ_CAM_PageSize_OFFSET 0
194 #define MMU_MMU_READ_RAM_PhysicalAddress_MASK 0xfffff000
195 #define MMU_MMU_READ_RAM_PhysicalAddress_OFFSET 12
197 #define MMU_MMU_READ_RAM_Endianness_MASK 0x200
198 #define MMU_MMU_READ_RAM_Endianness_OFFSET 9
200 #define MMU_MMU_READ_RAM_ElementSize_MASK 0x180
201 #define MMU_MMU_READ_RAM_ElementSize_OFFSET 7
203 #define MMU_MMU_READ_RAM_Mixed_MASK 0x40
204 #define MMU_MMU_READ_RAM_Mixed_OFFSET 6
206 #define MMU_MMU_EMU_FAULT_AD_EmuFaultAddress_MASK 0xffffffff
207 #define MMU_MMU_EMU_FAULT_AD_EmuFaultAddress_OFFSET 0
209 #endif /* _MMU_ACC_INT_H */
210 /* EOF */