1/*
2 * Copyright (c) 2011 Intel Corporation. All Rights Reserved.
3 * Copyright (c) Imagination Technologies Limited, UK
4 *
5 * Permission is hereby granted, free of charge, to any person obtaining a
6 * copy of this software and associated documentation files (the
7 * "Software"), to deal in the Software without restriction, including
8 * without limitation the rights to use, copy, modify, merge, publish,
9 * distribute, sub license, and/or sell copies of the Software, and to
10 * permit persons to whom the Software is furnished to do so, subject to
11 * the following conditions:
12 *
13 * The above copyright notice and this permission notice (including the
14 * next paragraph) shall be included in all copies or substantial portions
15 * of the Software.
16 *
17 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
18 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
19 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
20 * IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR
21 * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
22 * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
23 * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
24 */
25
26
27/******************************************************************************
28
29 @File         msvdx_mtx_reg_io2.h
30
31 @Title        MSVDX MMU defines
32
33 @Platform     </b>\n
34
35 @Description  </b>\n This file contains the MSVDX_MTX_REG_IO2_H Defintions.
36
37******************************************************************************/
38#if !defined (__MSVDX_MTX_REG_IO2_H__)
39#define __MSVDX_MTX_REG_IO2_H__
40
41#ifdef __cplusplus
42extern "C" {
43#endif
44
45
46#define MTX_CORE_CR_MTX_ENABLE_OFFSET           (0x0000)
47
48// MTX_CORE     CR_MTX_ENABLE     MTX_MAJ_REV
49#define MTX_CORE_CR_MTX_ENABLE_MTX_MAJ_REV_MASK         (0xFF000000)
50#define MTX_CORE_CR_MTX_ENABLE_MTX_MAJ_REV_LSBMASK              (0x000000FF)
51#define MTX_CORE_CR_MTX_ENABLE_MTX_MAJ_REV_SHIFT                (24)
52
53// MTX_CORE     CR_MTX_ENABLE     MTX_MIN_REV
54#define MTX_CORE_CR_MTX_ENABLE_MTX_MIN_REV_MASK         (0x00FF0000)
55#define MTX_CORE_CR_MTX_ENABLE_MTX_MIN_REV_LSBMASK              (0x000000FF)
56#define MTX_CORE_CR_MTX_ENABLE_MTX_MIN_REV_SHIFT                (16)
57
58// MTX_CORE     CR_MTX_ENABLE     MTX_TCAPS
59#define MTX_CORE_CR_MTX_ENABLE_MTX_TCAPS_MASK           (0x0000F000)
60#define MTX_CORE_CR_MTX_ENABLE_MTX_TCAPS_LSBMASK                (0x0000000F)
61#define MTX_CORE_CR_MTX_ENABLE_MTX_TCAPS_SHIFT          (12)
62
63// MTX_CORE     CR_MTX_ENABLE     MTX_ARCH
64#define MTX_CORE_CR_MTX_ENABLE_MTX_ARCH_MASK            (0x00000800)
65#define MTX_CORE_CR_MTX_ENABLE_MTX_ARCH_LSBMASK         (0x00000001)
66#define MTX_CORE_CR_MTX_ENABLE_MTX_ARCH_SHIFT           (11)
67
68// MTX_CORE     CR_MTX_ENABLE     MTX_STEP_REC
69#define MTX_CORE_CR_MTX_ENABLE_MTX_STEP_REC_MASK                (0x000000F0)
70#define MTX_CORE_CR_MTX_ENABLE_MTX_STEP_REC_LSBMASK             (0x0000000F)
71#define MTX_CORE_CR_MTX_ENABLE_MTX_STEP_REC_SHIFT               (4)
72
73// MTX_CORE     CR_MTX_ENABLE     MTX_TSTOPPED
74#define MTX_CORE_CR_MTX_ENABLE_MTX_TSTOPPED_MASK                (0x00000004)
75#define MTX_CORE_CR_MTX_ENABLE_MTX_TSTOPPED_LSBMASK             (0x00000001)
76#define MTX_CORE_CR_MTX_ENABLE_MTX_TSTOPPED_SHIFT               (2)
77
78// MTX_CORE     CR_MTX_ENABLE     MTX_TOFF
79#define MTX_CORE_CR_MTX_ENABLE_MTX_TOFF_MASK            (0x00000002)
80#define MTX_CORE_CR_MTX_ENABLE_MTX_TOFF_LSBMASK         (0x00000001)
81#define MTX_CORE_CR_MTX_ENABLE_MTX_TOFF_SHIFT           (1)
82
83// MTX_CORE     CR_MTX_ENABLE     MTX_ENABLE
84#define MTX_CORE_CR_MTX_ENABLE_MTX_ENABLE_MASK          (0x00000001)
85#define MTX_CORE_CR_MTX_ENABLE_MTX_ENABLE_LSBMASK               (0x00000001)
86#define MTX_CORE_CR_MTX_ENABLE_MTX_ENABLE_SHIFT         (0)
87
88#define MTX_CORE_CR_MTX_STATUS_OFFSET           (0x0008)
89
90// MTX_CORE     CR_MTX_STATUS     MTX_HREASON
91#define MTX_CORE_CR_MTX_STATUS_MTX_HREASON_MASK         (0x000C0000)
92#define MTX_CORE_CR_MTX_STATUS_MTX_HREASON_LSBMASK              (0x00000003)
93#define MTX_CORE_CR_MTX_STATUS_MTX_HREASON_SHIFT                (18)
94
95// MTX_CORE     CR_MTX_STATUS     MTX_LSM_STEP
96#define MTX_CORE_CR_MTX_STATUS_MTX_LSM_STEP_MASK                (0x00000700)
97#define MTX_CORE_CR_MTX_STATUS_MTX_LSM_STEP_LSBMASK             (0x00000007)
98#define MTX_CORE_CR_MTX_STATUS_MTX_LSM_STEP_SHIFT               (8)
99
100// MTX_CORE     CR_MTX_STATUS     MTX_CF_Z
101#define MTX_CORE_CR_MTX_STATUS_MTX_CF_Z_MASK            (0x00000008)
102#define MTX_CORE_CR_MTX_STATUS_MTX_CF_Z_LSBMASK         (0x00000001)
103#define MTX_CORE_CR_MTX_STATUS_MTX_CF_Z_SHIFT           (3)
104
105// MTX_CORE     CR_MTX_STATUS     MTX_CF_N
106#define MTX_CORE_CR_MTX_STATUS_MTX_CF_N_MASK            (0x00000004)
107#define MTX_CORE_CR_MTX_STATUS_MTX_CF_N_LSBMASK         (0x00000001)
108#define MTX_CORE_CR_MTX_STATUS_MTX_CF_N_SHIFT           (2)
109
110// MTX_CORE     CR_MTX_STATUS     MTX_CR_O
111#define MTX_CORE_CR_MTX_STATUS_MTX_CR_O_MASK            (0x00000002)
112#define MTX_CORE_CR_MTX_STATUS_MTX_CR_O_LSBMASK         (0x00000001)
113#define MTX_CORE_CR_MTX_STATUS_MTX_CR_O_SHIFT           (1)
114
115// MTX_CORE     CR_MTX_STATUS     MTX_CF_C
116#define MTX_CORE_CR_MTX_STATUS_MTX_CF_C_MASK            (0x00000001)
117#define MTX_CORE_CR_MTX_STATUS_MTX_CF_C_LSBMASK         (0x00000001)
118#define MTX_CORE_CR_MTX_STATUS_MTX_CF_C_SHIFT           (0)
119
120#define MTX_CORE_CR_MTX_KICK_OFFSET             (0x0080)
121
122// MTX_CORE     CR_MTX_KICK     MTX_KICK
123#define MTX_CORE_CR_MTX_KICK_MTX_KICK_MASK              (0x0000FFFF)
124#define MTX_CORE_CR_MTX_KICK_MTX_KICK_LSBMASK           (0x0000FFFF)
125#define MTX_CORE_CR_MTX_KICK_MTX_KICK_SHIFT             (0)
126
127#define MTX_CORE_CR_MTX_KICKI_OFFSET            (0x0088)
128
129// MTX_CORE     CR_MTX_KICKI     MTX_KICKI
130#define MTX_CORE_CR_MTX_KICKI_MTX_KICKI_MASK            (0x0000FFFF)
131#define MTX_CORE_CR_MTX_KICKI_MTX_KICKI_LSBMASK         (0x0000FFFF)
132#define MTX_CORE_CR_MTX_KICKI_MTX_KICKI_SHIFT           (0)
133
134#define MTX_CORE_CR_MTX_FAULT0_OFFSET           (0x0090)
135
136// MTX_CORE     CR_MTX_FAULT0     REQ_LD_REG
137#define MTX_CORE_CR_MTX_FAULT0_REQ_LD_REG_MASK          (0xF8000000)
138#define MTX_CORE_CR_MTX_FAULT0_REQ_LD_REG_LSBMASK               (0x0000001F)
139#define MTX_CORE_CR_MTX_FAULT0_REQ_LD_REG_SHIFT         (27)
140
141// MTX_CORE     CR_MTX_FAULT0     REQ_LD_DEST
142#define MTX_CORE_CR_MTX_FAULT0_REQ_LD_DEST_MASK         (0x00FF0000)
143#define MTX_CORE_CR_MTX_FAULT0_REQ_LD_DEST_LSBMASK              (0x000000FF)
144#define MTX_CORE_CR_MTX_FAULT0_REQ_LD_DEST_SHIFT                (16)
145
146// MTX_CORE     CR_MTX_FAULT0     REQ_STATE
147#define MTX_CORE_CR_MTX_FAULT0_REQ_STATE_MASK           (0x00000C00)
148#define MTX_CORE_CR_MTX_FAULT0_REQ_STATE_LSBMASK                (0x00000003)
149#define MTX_CORE_CR_MTX_FAULT0_REQ_STATE_SHIFT          (10)
150
151// MTX_CORE     CR_MTX_FAULT0     REQ_RN_W
152#define MTX_CORE_CR_MTX_FAULT0_REQ_RN_W_MASK            (0x00000100)
153#define MTX_CORE_CR_MTX_FAULT0_REQ_RN_W_LSBMASK         (0x00000001)
154#define MTX_CORE_CR_MTX_FAULT0_REQ_RN_W_SHIFT           (8)
155
156// MTX_CORE     CR_MTX_FAULT0     REQ_SB
157#define MTX_CORE_CR_MTX_FAULT0_REQ_SB_MASK              (0x000000FF)
158#define MTX_CORE_CR_MTX_FAULT0_REQ_SB_LSBMASK           (0x000000FF)
159#define MTX_CORE_CR_MTX_FAULT0_REQ_SB_SHIFT             (0)
160
161#define MTX_CORE_CR_MTX_REGISTER_READ_WRITE_DATA_OFFSET         (0x00F8)
162
163#define MTX_CORE_CR_MTX_REGISTER_READ_WRITE_REQUEST_OFFSET              (0x00FC)
164
165// MTX_CORE     CR_MTX_REGISTER_READ_WRITE_REQUEST     MTX_DREADY
166#define MTX_CORE_CR_MTX_REGISTER_READ_WRITE_REQUEST_MTX_DREADY_MASK             (0x80000000)
167#define MTX_CORE_CR_MTX_REGISTER_READ_WRITE_REQUEST_MTX_DREADY_LSBMASK          (0x00000001)
168#define MTX_CORE_CR_MTX_REGISTER_READ_WRITE_REQUEST_MTX_DREADY_SHIFT            (31)
169
170// MTX_CORE     CR_MTX_REGISTER_READ_WRITE_REQUEST     MTX_RNW
171#define MTX_CORE_CR_MTX_REGISTER_READ_WRITE_REQUEST_MTX_RNW_MASK                (0x00010000)
172#define MTX_CORE_CR_MTX_REGISTER_READ_WRITE_REQUEST_MTX_RNW_LSBMASK             (0x00000001)
173#define MTX_CORE_CR_MTX_REGISTER_READ_WRITE_REQUEST_MTX_RNW_SHIFT               (16)
174
175// MTX_CORE     CR_MTX_REGISTER_READ_WRITE_REQUEST     MTX_RSPECIFIER
176#define MTX_CORE_CR_MTX_REGISTER_READ_WRITE_REQUEST_MTX_RSPECIFIER_MASK         (0x00000070)
177#define MTX_CORE_CR_MTX_REGISTER_READ_WRITE_REQUEST_MTX_RSPECIFIER_LSBMASK              (0x00000007)
178#define MTX_CORE_CR_MTX_REGISTER_READ_WRITE_REQUEST_MTX_RSPECIFIER_SHIFT                (4)
179
180// MTX_CORE     CR_MTX_REGISTER_READ_WRITE_REQUEST     MTX_USPECIFIER
181#define MTX_CORE_CR_MTX_REGISTER_READ_WRITE_REQUEST_MTX_USPECIFIER_MASK         (0x0000000F)
182#define MTX_CORE_CR_MTX_REGISTER_READ_WRITE_REQUEST_MTX_USPECIFIER_LSBMASK              (0x0000000F)
183#define MTX_CORE_CR_MTX_REGISTER_READ_WRITE_REQUEST_MTX_USPECIFIER_SHIFT                (0)
184
185#define MTX_CORE_CR_MTX_RAM_ACCESS_DATA_EXCHANGE_OFFSET         (0x0100)
186
187#define MTX_CORE_CR_MTX_RAM_ACCESS_DATA_TRANSFER_OFFSET         (0x0104)
188
189#define MTX_CORE_CR_MTX_RAM_ACCESS_CONTROL_OFFSET               (0x0108)
190
191// MTX_CORE     CR_MTX_RAM_ACCESS_CONTROL     MTX_MCMID
192#define MTX_CORE_CR_MTX_RAM_ACCESS_CONTROL_MTX_MCMID_MASK               (0x0FF00000)
193#define MTX_CORE_CR_MTX_RAM_ACCESS_CONTROL_MTX_MCMID_LSBMASK            (0x000000FF)
194#define MTX_CORE_CR_MTX_RAM_ACCESS_CONTROL_MTX_MCMID_SHIFT              (20)
195
196// MTX_CORE     CR_MTX_RAM_ACCESS_CONTROL     MTX_MCM_ADDR
197#define MTX_CORE_CR_MTX_RAM_ACCESS_CONTROL_MTX_MCM_ADDR_MASK            (0x000FFFFC)
198#define MTX_CORE_CR_MTX_RAM_ACCESS_CONTROL_MTX_MCM_ADDR_LSBMASK         (0x0003FFFF)
199#define MTX_CORE_CR_MTX_RAM_ACCESS_CONTROL_MTX_MCM_ADDR_SHIFT           (2)
200
201// MTX_CORE     CR_MTX_RAM_ACCESS_CONTROL     MTX_MCMAI
202#define MTX_CORE_CR_MTX_RAM_ACCESS_CONTROL_MTX_MCMAI_MASK               (0x00000002)
203#define MTX_CORE_CR_MTX_RAM_ACCESS_CONTROL_MTX_MCMAI_LSBMASK            (0x00000001)
204#define MTX_CORE_CR_MTX_RAM_ACCESS_CONTROL_MTX_MCMAI_SHIFT              (1)
205
206// MTX_CORE     CR_MTX_RAM_ACCESS_CONTROL     MTX_MCMR
207#define MTX_CORE_CR_MTX_RAM_ACCESS_CONTROL_MTX_MCMR_MASK                (0x00000001)
208#define MTX_CORE_CR_MTX_RAM_ACCESS_CONTROL_MTX_MCMR_LSBMASK             (0x00000001)
209#define MTX_CORE_CR_MTX_RAM_ACCESS_CONTROL_MTX_MCMR_SHIFT               (0)
210
211#define MTX_CORE_CR_MTX_RAM_ACCESS_STATUS_OFFSET                (0x010C)
212
213// MTX_CORE     CR_MTX_RAM_ACCESS_STATUS     MTX_MTX_MCM_STAT
214#define MTX_CORE_CR_MTX_RAM_ACCESS_STATUS_MTX_MTX_MCM_STAT_MASK         (0x00000001)
215#define MTX_CORE_CR_MTX_RAM_ACCESS_STATUS_MTX_MTX_MCM_STAT_LSBMASK              (0x00000001)
216#define MTX_CORE_CR_MTX_RAM_ACCESS_STATUS_MTX_MTX_MCM_STAT_SHIFT                (0)
217
218#define MTX_CORE_CR_MTX_SOFT_RESET_OFFSET               (0x0200)
219
220// MTX_CORE     CR_MTX_SOFT_RESET     MTX_RESET
221#define MTX_CORE_CR_MTX_SOFT_RESET_MTX_RESET_MASK               (0x00000001)
222#define MTX_CORE_CR_MTX_SOFT_RESET_MTX_RESET_LSBMASK            (0x00000001)
223#define MTX_CORE_CR_MTX_SOFT_RESET_MTX_RESET_SHIFT              (0)
224
225#define MTX_CORE_CR_MTX_SYSC_CDMAC_OFFSET               (0x0340)
226
227// MTX_CORE     CR_MTX_SYSC_CDMAC     BURSTSIZE
228#define MTX_CORE_CR_MTX_SYSC_CDMAC_BURSTSIZE_MASK               (0x07000000)
229#define MTX_CORE_CR_MTX_SYSC_CDMAC_BURSTSIZE_LSBMASK            (0x00000007)
230#define MTX_CORE_CR_MTX_SYSC_CDMAC_BURSTSIZE_SHIFT              (24)
231
232// MTX_CORE     CR_MTX_SYSC_CDMAC     RNW
233#define MTX_CORE_CR_MTX_SYSC_CDMAC_RNW_MASK             (0x00020000)
234#define MTX_CORE_CR_MTX_SYSC_CDMAC_RNW_LSBMASK          (0x00000001)
235#define MTX_CORE_CR_MTX_SYSC_CDMAC_RNW_SHIFT            (17)
236
237// MTX_CORE     CR_MTX_SYSC_CDMAC     ENABLE
238#define MTX_CORE_CR_MTX_SYSC_CDMAC_ENABLE_MASK          (0x00010000)
239#define MTX_CORE_CR_MTX_SYSC_CDMAC_ENABLE_LSBMASK               (0x00000001)
240#define MTX_CORE_CR_MTX_SYSC_CDMAC_ENABLE_SHIFT         (16)
241
242// MTX_CORE     CR_MTX_SYSC_CDMAC     LENGTH
243#define MTX_CORE_CR_MTX_SYSC_CDMAC_LENGTH_MASK          (0x0000FFFF)
244#define MTX_CORE_CR_MTX_SYSC_CDMAC_LENGTH_LSBMASK               (0x0000FFFF)
245#define MTX_CORE_CR_MTX_SYSC_CDMAC_LENGTH_SHIFT         (0)
246
247#define MTX_CORE_CR_MTX_SYSC_CDMAA_OFFSET               (0x0344)
248
249// MTX_CORE     CR_MTX_SYSC_CDMAA     CDMAA_ADDRESS
250#define MTX_CORE_CR_MTX_SYSC_CDMAA_CDMAA_ADDRESS_MASK           (0x03FFFFFC)
251#define MTX_CORE_CR_MTX_SYSC_CDMAA_CDMAA_ADDRESS_LSBMASK                (0x00FFFFFF)
252#define MTX_CORE_CR_MTX_SYSC_CDMAA_CDMAA_ADDRESS_SHIFT          (2)
253
254#define MTX_CORE_CR_MTX_SYSC_CDMAS0_OFFSET              (0x0348)
255
256// MTX_CORE     CR_MTX_SYSC_CDMAS0     COUNT
257#define MTX_CORE_CR_MTX_SYSC_CDMAS0_COUNT_MASK          (0xFFFF0000)
258#define MTX_CORE_CR_MTX_SYSC_CDMAS0_COUNT_LSBMASK               (0x0000FFFF)
259#define MTX_CORE_CR_MTX_SYSC_CDMAS0_COUNT_SHIFT         (16)
260
261// MTX_CORE     CR_MTX_SYSC_CDMAS0     RAMNUMBER
262#define MTX_CORE_CR_MTX_SYSC_CDMAS0_RAMNUMBER_MASK              (0x00000F00)
263#define MTX_CORE_CR_MTX_SYSC_CDMAS0_RAMNUMBER_LSBMASK           (0x0000000F)
264#define MTX_CORE_CR_MTX_SYSC_CDMAS0_RAMNUMBER_SHIFT             (8)
265
266// MTX_CORE     CR_MTX_SYSC_CDMAS0     DMAREQUEST
267#define MTX_CORE_CR_MTX_SYSC_CDMAS0_DMAREQUEST_MASK             (0x00000010)
268#define MTX_CORE_CR_MTX_SYSC_CDMAS0_DMAREQUEST_LSBMASK          (0x00000001)
269#define MTX_CORE_CR_MTX_SYSC_CDMAS0_DMAREQUEST_SHIFT            (4)
270
271// MTX_CORE     CR_MTX_SYSC_CDMAS0     DONOTHING
272#define MTX_CORE_CR_MTX_SYSC_CDMAS0_DONOTHING_MASK              (0x00000001)
273#define MTX_CORE_CR_MTX_SYSC_CDMAS0_DONOTHING_LSBMASK           (0x00000001)
274#define MTX_CORE_CR_MTX_SYSC_CDMAS0_DONOTHING_SHIFT             (0)
275
276#define MTX_CORE_CR_MTX_SYSC_CDMAS1_OFFSET              (0x034C)
277
278// MTX_CORE     CR_MTX_SYSC_CDMAS1     CDMAS1_ADDRESS
279#define MTX_CORE_CR_MTX_SYSC_CDMAS1_CDMAS1_ADDRESS_MASK         (0x03FFFFFC)
280#define MTX_CORE_CR_MTX_SYSC_CDMAS1_CDMAS1_ADDRESS_LSBMASK              (0x00FFFFFF)
281#define MTX_CORE_CR_MTX_SYSC_CDMAS1_CDMAS1_ADDRESS_SHIFT                (2)
282
283#define MTX_CORE_CR_MTX_SYSC_CDMAT_OFFSET               (0x0350)
284
285// MTX_CORE     CR_MTX_SYSC_CDMAT     TRANSFERDATA
286#define MTX_CORE_CR_MTX_SYSC_CDMAT_TRANSFERDATA_MASK            (0xFFFFFFFF)
287#define MTX_CORE_CR_MTX_SYSC_CDMAT_TRANSFERDATA_LSBMASK         (0xFFFFFFFF)
288#define MTX_CORE_CR_MTX_SYSC_CDMAT_TRANSFERDATA_SHIFT           (0)
289
290
291
292#ifdef __cplusplus
293}
294#endif
295
296#endif /* __MSVDX_MTX_REG_IO2_H__ */
297