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