1/* SPDX-License-Identifier: GPL-2.0-only OR MIT */
2/* Copyright (c) 2023 Imagination Technologies Ltd. */
3
4/*  *** Autogenerated C -- do not edit ***  */
5
6#ifndef PVR_ROGUE_MMU_DEFS_H
7#define PVR_ROGUE_MMU_DEFS_H
8
9#define ROGUE_MMU_DEFS_REVISION 0
10
11#define ROGUE_BIF_DM_ENCODING_VERTEX (0x00000000U)
12#define ROGUE_BIF_DM_ENCODING_PIXEL (0x00000001U)
13#define ROGUE_BIF_DM_ENCODING_COMPUTE (0x00000002U)
14#define ROGUE_BIF_DM_ENCODING_TLA (0x00000003U)
15#define ROGUE_BIF_DM_ENCODING_PB_VCE (0x00000004U)
16#define ROGUE_BIF_DM_ENCODING_PB_TE (0x00000005U)
17#define ROGUE_BIF_DM_ENCODING_META (0x00000007U)
18#define ROGUE_BIF_DM_ENCODING_HOST (0x00000008U)
19#define ROGUE_BIF_DM_ENCODING_PM_ALIST (0x00000009U)
20
21#define ROGUE_MMUCTRL_VADDR_PC_INDEX_SHIFT (30U)
22#define ROGUE_MMUCTRL_VADDR_PC_INDEX_CLRMSK (0xFFFFFF003FFFFFFFULL)
23#define ROGUE_MMUCTRL_VADDR_PD_INDEX_SHIFT (21U)
24#define ROGUE_MMUCTRL_VADDR_PD_INDEX_CLRMSK (0xFFFFFFFFC01FFFFFULL)
25#define ROGUE_MMUCTRL_VADDR_PT_INDEX_SHIFT (12U)
26#define ROGUE_MMUCTRL_VADDR_PT_INDEX_CLRMSK (0xFFFFFFFFFFE00FFFULL)
27
28#define ROGUE_MMUCTRL_ENTRIES_PC_VALUE (0x00000400U)
29#define ROGUE_MMUCTRL_ENTRIES_PD_VALUE (0x00000200U)
30#define ROGUE_MMUCTRL_ENTRIES_PT_VALUE (0x00000200U)
31
32#define ROGUE_MMUCTRL_ENTRY_SIZE_PC_VALUE (0x00000020U)
33#define ROGUE_MMUCTRL_ENTRY_SIZE_PD_VALUE (0x00000040U)
34#define ROGUE_MMUCTRL_ENTRY_SIZE_PT_VALUE (0x00000040U)
35
36#define ROGUE_MMUCTRL_PAGE_SIZE_MASK (0x00000007U)
37#define ROGUE_MMUCTRL_PAGE_SIZE_4KB (0x00000000U)
38#define ROGUE_MMUCTRL_PAGE_SIZE_16KB (0x00000001U)
39#define ROGUE_MMUCTRL_PAGE_SIZE_64KB (0x00000002U)
40#define ROGUE_MMUCTRL_PAGE_SIZE_256KB (0x00000003U)
41#define ROGUE_MMUCTRL_PAGE_SIZE_1MB (0x00000004U)
42#define ROGUE_MMUCTRL_PAGE_SIZE_2MB (0x00000005U)
43
44#define ROGUE_MMUCTRL_PAGE_4KB_RANGE_SHIFT (12U)
45#define ROGUE_MMUCTRL_PAGE_4KB_RANGE_CLRMSK (0xFFFFFF0000000FFFULL)
46
47#define ROGUE_MMUCTRL_PAGE_16KB_RANGE_SHIFT (14U)
48#define ROGUE_MMUCTRL_PAGE_16KB_RANGE_CLRMSK (0xFFFFFF0000003FFFULL)
49
50#define ROGUE_MMUCTRL_PAGE_64KB_RANGE_SHIFT (16U)
51#define ROGUE_MMUCTRL_PAGE_64KB_RANGE_CLRMSK (0xFFFFFF000000FFFFULL)
52
53#define ROGUE_MMUCTRL_PAGE_256KB_RANGE_SHIFT (18U)
54#define ROGUE_MMUCTRL_PAGE_256KB_RANGE_CLRMSK (0xFFFFFF000003FFFFULL)
55
56#define ROGUE_MMUCTRL_PAGE_1MB_RANGE_SHIFT (20U)
57#define ROGUE_MMUCTRL_PAGE_1MB_RANGE_CLRMSK (0xFFFFFF00000FFFFFULL)
58
59#define ROGUE_MMUCTRL_PAGE_2MB_RANGE_SHIFT (21U)
60#define ROGUE_MMUCTRL_PAGE_2MB_RANGE_CLRMSK (0xFFFFFF00001FFFFFULL)
61
62#define ROGUE_MMUCTRL_PT_BASE_4KB_RANGE_SHIFT (12U)
63#define ROGUE_MMUCTRL_PT_BASE_4KB_RANGE_CLRMSK (0xFFFFFF0000000FFFULL)
64
65#define ROGUE_MMUCTRL_PT_BASE_16KB_RANGE_SHIFT (10U)
66#define ROGUE_MMUCTRL_PT_BASE_16KB_RANGE_CLRMSK (0xFFFFFF00000003FFULL)
67
68#define ROGUE_MMUCTRL_PT_BASE_64KB_RANGE_SHIFT (8U)
69#define ROGUE_MMUCTRL_PT_BASE_64KB_RANGE_CLRMSK (0xFFFFFF00000000FFULL)
70
71#define ROGUE_MMUCTRL_PT_BASE_256KB_RANGE_SHIFT (6U)
72#define ROGUE_MMUCTRL_PT_BASE_256KB_RANGE_CLRMSK (0xFFFFFF000000003FULL)
73
74#define ROGUE_MMUCTRL_PT_BASE_1MB_RANGE_SHIFT (5U)
75#define ROGUE_MMUCTRL_PT_BASE_1MB_RANGE_CLRMSK (0xFFFFFF000000001FULL)
76
77#define ROGUE_MMUCTRL_PT_BASE_2MB_RANGE_SHIFT (5U)
78#define ROGUE_MMUCTRL_PT_BASE_2MB_RANGE_CLRMSK (0xFFFFFF000000001FULL)
79
80#define ROGUE_MMUCTRL_PT_DATA_PM_META_PROTECT_SHIFT (62U)
81#define ROGUE_MMUCTRL_PT_DATA_PM_META_PROTECT_CLRMSK (0xBFFFFFFFFFFFFFFFULL)
82#define ROGUE_MMUCTRL_PT_DATA_PM_META_PROTECT_EN (0x4000000000000000ULL)
83#define ROGUE_MMUCTRL_PT_DATA_VP_PAGE_HI_SHIFT (40U)
84#define ROGUE_MMUCTRL_PT_DATA_VP_PAGE_HI_CLRMSK (0xC00000FFFFFFFFFFULL)
85#define ROGUE_MMUCTRL_PT_DATA_PAGE_SHIFT (12U)
86#define ROGUE_MMUCTRL_PT_DATA_PAGE_CLRMSK (0xFFFFFF0000000FFFULL)
87#define ROGUE_MMUCTRL_PT_DATA_VP_PAGE_LO_SHIFT (6U)
88#define ROGUE_MMUCTRL_PT_DATA_VP_PAGE_LO_CLRMSK (0xFFFFFFFFFFFFF03FULL)
89#define ROGUE_MMUCTRL_PT_DATA_ENTRY_PENDING_SHIFT (5U)
90#define ROGUE_MMUCTRL_PT_DATA_ENTRY_PENDING_CLRMSK (0xFFFFFFFFFFFFFFDFULL)
91#define ROGUE_MMUCTRL_PT_DATA_ENTRY_PENDING_EN (0x0000000000000020ULL)
92#define ROGUE_MMUCTRL_PT_DATA_PM_SRC_SHIFT (4U)
93#define ROGUE_MMUCTRL_PT_DATA_PM_SRC_CLRMSK (0xFFFFFFFFFFFFFFEFULL)
94#define ROGUE_MMUCTRL_PT_DATA_PM_SRC_EN (0x0000000000000010ULL)
95#define ROGUE_MMUCTRL_PT_DATA_SLC_BYPASS_CTRL_SHIFT (3U)
96#define ROGUE_MMUCTRL_PT_DATA_SLC_BYPASS_CTRL_CLRMSK (0xFFFFFFFFFFFFFFF7ULL)
97#define ROGUE_MMUCTRL_PT_DATA_SLC_BYPASS_CTRL_EN (0x0000000000000008ULL)
98#define ROGUE_MMUCTRL_PT_DATA_CC_SHIFT (2U)
99#define ROGUE_MMUCTRL_PT_DATA_CC_CLRMSK (0xFFFFFFFFFFFFFFFBULL)
100#define ROGUE_MMUCTRL_PT_DATA_CC_EN (0x0000000000000004ULL)
101#define ROGUE_MMUCTRL_PT_DATA_READ_ONLY_SHIFT (1U)
102#define ROGUE_MMUCTRL_PT_DATA_READ_ONLY_CLRMSK (0xFFFFFFFFFFFFFFFDULL)
103#define ROGUE_MMUCTRL_PT_DATA_READ_ONLY_EN (0x0000000000000002ULL)
104#define ROGUE_MMUCTRL_PT_DATA_VALID_SHIFT (0U)
105#define ROGUE_MMUCTRL_PT_DATA_VALID_CLRMSK (0xFFFFFFFFFFFFFFFEULL)
106#define ROGUE_MMUCTRL_PT_DATA_VALID_EN (0x0000000000000001ULL)
107
108#define ROGUE_MMUCTRL_PD_DATA_ENTRY_PENDING_SHIFT (40U)
109#define ROGUE_MMUCTRL_PD_DATA_ENTRY_PENDING_CLRMSK (0xFFFFFEFFFFFFFFFFULL)
110#define ROGUE_MMUCTRL_PD_DATA_ENTRY_PENDING_EN (0x0000010000000000ULL)
111#define ROGUE_MMUCTRL_PD_DATA_PT_BASE_SHIFT (5U)
112#define ROGUE_MMUCTRL_PD_DATA_PT_BASE_CLRMSK (0xFFFFFF000000001FULL)
113#define ROGUE_MMUCTRL_PD_DATA_PAGE_SIZE_SHIFT (1U)
114#define ROGUE_MMUCTRL_PD_DATA_PAGE_SIZE_CLRMSK (0xFFFFFFFFFFFFFFF1ULL)
115#define ROGUE_MMUCTRL_PD_DATA_PAGE_SIZE_4KB (0x0000000000000000ULL)
116#define ROGUE_MMUCTRL_PD_DATA_PAGE_SIZE_16KB (0x0000000000000002ULL)
117#define ROGUE_MMUCTRL_PD_DATA_PAGE_SIZE_64KB (0x0000000000000004ULL)
118#define ROGUE_MMUCTRL_PD_DATA_PAGE_SIZE_256KB (0x0000000000000006ULL)
119#define ROGUE_MMUCTRL_PD_DATA_PAGE_SIZE_1MB (0x0000000000000008ULL)
120#define ROGUE_MMUCTRL_PD_DATA_PAGE_SIZE_2MB (0x000000000000000aULL)
121#define ROGUE_MMUCTRL_PD_DATA_VALID_SHIFT (0U)
122#define ROGUE_MMUCTRL_PD_DATA_VALID_CLRMSK (0xFFFFFFFFFFFFFFFEULL)
123#define ROGUE_MMUCTRL_PD_DATA_VALID_EN (0x0000000000000001ULL)
124
125#define ROGUE_MMUCTRL_PC_DATA_PD_BASE_SHIFT (4U)
126#define ROGUE_MMUCTRL_PC_DATA_PD_BASE_CLRMSK (0x0000000FU)
127#define ROGUE_MMUCTRL_PC_DATA_PD_BASE_ALIGNSHIFT (12U)
128#define ROGUE_MMUCTRL_PC_DATA_PD_BASE_ALIGNSIZE (4096U)
129#define ROGUE_MMUCTRL_PC_DATA_ENTRY_PENDING_SHIFT (1U)
130#define ROGUE_MMUCTRL_PC_DATA_ENTRY_PENDING_CLRMSK (0xFFFFFFFDU)
131#define ROGUE_MMUCTRL_PC_DATA_ENTRY_PENDING_EN (0x00000002U)
132#define ROGUE_MMUCTRL_PC_DATA_VALID_SHIFT (0U)
133#define ROGUE_MMUCTRL_PC_DATA_VALID_CLRMSK (0xFFFFFFFEU)
134#define ROGUE_MMUCTRL_PC_DATA_VALID_EN (0x00000001U)
135
136#endif /* PVR_ROGUE_MMU_DEFS_H */
137