FILE
e5010-mmu-regs.h
File preview with syntax highlighting.
linux-6.19.14/drivers/media/platform/imagination/e5010-mmu-regs.h
1/* SPDX-License-Identifier: GPL-2.0 */ 2/* 3 * Imagination E5010 JPEG Encoder driver. 4 * 5 * Copyright (C) 2023 Texas Instruments Incorporated - https://www.ti.com/ 6 * 7 * Author: David Huang <d-huang@ti.com> 8 * Author: Devarsh Thakkar <devarsht@ti.com> 9 */ 10 11#ifndef _E5010_MMU_REGS_H 12#define _E5010_MMU_REGS_H 13 14#define MMU_MMU_DIR_BASE_ADDR_OFFSET (0x0020) 15#define MMU_MMU_DIR_BASE_ADDR_STRIDE (4) 16#define MMU_MMU_DIR_BASE_ADDR_NO_ENTRIES (4) 17 18#define MMU_MMU_DIR_BASE_ADDR_MMU_DIR_BASE_ADDR_MASK (0xFFFFFFFF) 19#define MMU_MMU_DIR_BASE_ADDR_MMU_DIR_BASE_ADDR_SHIFT (0) 20 21#define MMU_MMU_TILE_CFG_OFFSET (0x0040) 22#define MMU_MMU_TILE_CFG_STRIDE (4) 23#define MMU_MMU_TILE_CFG_NO_ENTRIES (4) 24 25#define MMU_MMU_TILE_CFG_TILE_128INTERLEAVE_MASK (0x00000010) 26#define MMU_MMU_TILE_CFG_TILE_128INTERLEAVE_SHIFT (4) 27 28#define MMU_MMU_TILE_CFG_TILE_ENABLE_MASK (0x00000008) 29#define MMU_MMU_TILE_CFG_TILE_ENABLE_SHIFT (3) 30 31#define MMU_MMU_TILE_CFG_TILE_STRIDE_MASK (0x00000007) 32#define MMU_MMU_TILE_CFG_TILE_STRIDE_SHIFT (0) 33 34#define MMU_MMU_TILE_MIN_ADDR_OFFSET (0x0050) 35#define MMU_MMU_TILE_MIN_ADDR_STRIDE (4) 36#define MMU_MMU_TILE_MIN_ADDR_NO_ENTRIES (4) 37 38#define MMU_MMU_TILE_MIN_ADDR_TILE_MIN_ADDR_MASK (0xFFFFFFFF) 39#define MMU_MMU_TILE_MIN_ADDR_TILE_MIN_ADDR_SHIFT (0) 40 41#define MMU_MMU_TILE_MAX_ADDR_OFFSET (0x0060) 42#define MMU_MMU_TILE_MAX_ADDR_STRIDE (4) 43#define MMU_MMU_TILE_MAX_ADDR_NO_ENTRIES (4) 44 45#define MMU_MMU_TILE_MAX_ADDR_TILE_MAX_ADDR_MASK (0xFFFFFFFF) 46#define MMU_MMU_TILE_MAX_ADDR_TILE_MAX_ADDR_SHIFT (0) 47 48#define MMU_MMU_CONTROL0_OFFSET (0x0000) 49 50#define MMU_MMU_CONTROL0_MMU_TILING_SCHEME_MASK (0x00000001) 51#define MMU_MMU_CONTROL0_MMU_TILING_SCHEME_SHIFT (0) 52 53#define MMU_MMU_CONTROL0_MMU_CACHE_POLICY_MASK (0x00000100) 54#define MMU_MMU_CONTROL0_MMU_CACHE_POLICY_SHIFT (8) 55 56#define MMU_MMU_CONTROL0_FORCE_CACHE_POLICY_BYPASS_MASK (0x00000200) 57#define MMU_MMU_CONTROL0_FORCE_CACHE_POLICY_BYPASS_SHIFT (9) 58 59#define MMU_MMU_CONTROL0_STALL_ON_PROTOCOL_FAULT_MASK (0x00001000) 60#define MMU_MMU_CONTROL0_STALL_ON_PROTOCOL_FAULT_SHIFT (12) 61 62#define MMU_MMU_CONTROL1_OFFSET (0x0008) 63 64#define MMU_MMU_CONTROL1_MMU_FLUSH_MASK (0x00000008) 65#define MMU_MMU_CONTROL1_MMU_FLUSH_SHIFT (3) 66#define MMU_MMU_CONTROL1_MMU_FLUSH_NO_REPS (4) 67#define MMU_MMU_CONTROL1_MMU_FLUSH_SIZE (1) 68 69#define MMU_MMU_CONTROL1_MMU_INVALDC_MASK (0x00000800) 70#define MMU_MMU_CONTROL1_MMU_INVALDC_SHIFT (11) 71#define MMU_MMU_CONTROL1_MMU_INVALDC_NO_REPS (4) 72#define MMU_MMU_CONTROL1_MMU_INVALDC_SIZE (1) 73 74#define MMU_MMU_CONTROL1_MMU_FAULT_CLEAR_MASK (0x00010000) 75#define MMU_MMU_CONTROL1_MMU_FAULT_CLEAR_SHIFT (16) 76 77#define MMU_MMU_CONTROL1_PROTOCOL_FAULT_CLEAR_MASK (0x00100000) 78#define MMU_MMU_CONTROL1_PROTOCOL_FAULT_CLEAR_SHIFT (20) 79 80#define MMU_MMU_CONTROL1_MMU_PAUSE_SET_MASK (0x01000000) 81#define MMU_MMU_CONTROL1_MMU_PAUSE_SET_SHIFT (24) 82 83#define MMU_MMU_CONTROL1_MMU_PAUSE_CLEAR_MASK (0x02000000) 84#define MMU_MMU_CONTROL1_MMU_PAUSE_CLEAR_SHIFT (25) 85 86#define MMU_MMU_CONTROL1_MMU_SOFT_RESET_MASK (0x10000000) 87#define MMU_MMU_CONTROL1_MMU_SOFT_RESET_SHIFT (28) 88 89#define MMU_MMU_BANK_INDEX_OFFSET (0x0010) 90 91#define MMU_MMU_BANK_INDEX_MMU_BANK_INDEX_MASK (0xC0000000) 92#define MMU_MMU_BANK_INDEX_MMU_BANK_INDEX_SHIFT (30) 93#define MMU_MMU_BANK_INDEX_MMU_BANK_INDEX_NO_REPS (16) 94#define MMU_MMU_BANK_INDEX_MMU_BANK_INDEX_SIZE (2) 95 96#define MMU_REQUEST_PRIORITY_ENABLE_OFFSET (0x0018) 97 98#define MMU_REQUEST_PRIORITY_ENABLE_CMD_PRIORITY_ENABLE_MASK (0x00008000) 99#define MMU_REQUEST_PRIORITY_ENABLE_CMD_PRIORITY_ENABLE_SHIFT (15) 100#define MMU_REQUEST_PRIORITY_ENABLE_CMD_PRIORITY_ENABLE_NO_REPS (16) 101#define MMU_REQUEST_PRIORITY_ENABLE_CMD_PRIORITY_ENABLE_SIZE (1) 102 103#define MMU_REQUEST_PRIORITY_ENABLE_CMD_MMU_PRIORITY_ENABLE_MASK (0x00010000) 104#define MMU_REQUEST_PRIORITY_ENABLE_CMD_MMU_PRIORITY_ENABLE_SHIFT (16) 105 106#define MMU_REQUEST_LIMITED_THROUGHPUT_OFFSET (0x001C) 107 108#define MMU_REQUEST_LIMITED_THROUGHPUT_LIMITED_WORDS_MASK (0x000003FF) 109#define MMU_REQUEST_LIMITED_THROUGHPUT_LIMITED_WORDS_SHIFT (0) 110 111#define MMU_REQUEST_LIMITED_THROUGHPUT_REQUEST_GAP_MASK (0x0FFF0000) 112#define MMU_REQUEST_LIMITED_THROUGHPUT_REQUEST_GAP_SHIFT (16) 113 114#define MMU_MMU_ADDRESS_CONTROL_OFFSET (0x0070) 115#define MMU_MMU_ADDRESS_CONTROL_TRUSTED (IMG_TRUE) 116 117#define MMU_MMU_ADDRESS_CONTROL_MMU_BYPASS_MASK (0x00000001) 118#define MMU_MMU_ADDRESS_CONTROL_MMU_BYPASS_SHIFT (0) 119 120#define MMU_MMU_ADDRESS_CONTROL_MMU_ENABLE_EXT_ADDRESSING_MASK (0x00000010) 121#define MMU_MMU_ADDRESS_CONTROL_MMU_ENABLE_EXT_ADDRESSING_SHIFT (4) 122 123#define MMU_MMU_ADDRESS_CONTROL_UPPER_ADDRESS_FIXED_MASK (0x00FF0000) 124#define MMU_MMU_ADDRESS_CONTROL_UPPER_ADDRESS_FIXED_SHIFT (16) 125 126#define MMU_MMU_CONFIG0_OFFSET (0x0080) 127 128#define MMU_MMU_CONFIG0_NUM_REQUESTORS_MASK (0x0000000F) 129#define MMU_MMU_CONFIG0_NUM_REQUESTORS_SHIFT (0) 130 131#define MMU_MMU_CONFIG0_EXTENDED_ADDR_RANGE_MASK (0x000000F0) 132#define MMU_MMU_CONFIG0_EXTENDED_ADDR_RANGE_SHIFT (4) 133 134#define MMU_MMU_CONFIG0_GROUP_OVERRIDE_SIZE_MASK (0x00000700) 135#define MMU_MMU_CONFIG0_GROUP_OVERRIDE_SIZE_SHIFT (8) 136 137#define MMU_MMU_CONFIG0_ADDR_COHERENCY_SUPPORTED_MASK (0x00001000) 138#define MMU_MMU_CONFIG0_ADDR_COHERENCY_SUPPORTED_SHIFT (12) 139 140#define MMU_MMU_CONFIG0_MMU_SUPPORTED_MASK (0x00002000) 141#define MMU_MMU_CONFIG0_MMU_SUPPORTED_SHIFT (13) 142 143#define MMU_MMU_CONFIG0_TILE_ADDR_GRANULARITY_MASK (0x001F0000) 144#define MMU_MMU_CONFIG0_TILE_ADDR_GRANULARITY_SHIFT (16) 145 146#define MMU_MMU_CONFIG0_NO_READ_REORDER_MASK (0x00200000) 147#define MMU_MMU_CONFIG0_NO_READ_REORDER_SHIFT (21) 148 149#define MMU_MMU_CONFIG0_TAGS_SUPPORTED_MASK (0xFFC00000) 150#define MMU_MMU_CONFIG0_TAGS_SUPPORTED_SHIFT (22) 151 152#define MMU_MMU_CONFIG1_OFFSET (0x0084) 153 154#define MMU_MMU_CONFIG1_PAGE_SIZE_MASK (0x0000000F) 155#define MMU_MMU_CONFIG1_PAGE_SIZE_SHIFT (0) 156 157#define MMU_MMU_CONFIG1_PAGE_CACHE_ENTRIES_MASK (0x0000FF00) 158#define MMU_MMU_CONFIG1_PAGE_CACHE_ENTRIES_SHIFT (8) 159 160#define MMU_MMU_CONFIG1_DIR_CACHE_ENTRIES_MASK (0x001F0000) 161#define MMU_MMU_CONFIG1_DIR_CACHE_ENTRIES_SHIFT (16) 162 163#define MMU_MMU_CONFIG1_BANDWIDTH_COUNT_SUPPORTED_MASK (0x01000000) 164#define MMU_MMU_CONFIG1_BANDWIDTH_COUNT_SUPPORTED_SHIFT (24) 165 166#define MMU_MMU_CONFIG1_STALL_COUNT_SUPPORTED_MASK (0x02000000) 167#define MMU_MMU_CONFIG1_STALL_COUNT_SUPPORTED_SHIFT (25) 168 169#define MMU_MMU_CONFIG1_LATENCY_COUNT_SUPPORTED_MASK (0x04000000) 170#define MMU_MMU_CONFIG1_LATENCY_COUNT_SUPPORTED_SHIFT (26) 171 172#define MMU_MMU_STATUS0_OFFSET (0x0088) 173 174#define MMU_MMU_STATUS0_MMU_PF_N_RW_MASK (0x00000001) 175#define MMU_MMU_STATUS0_MMU_PF_N_RW_SHIFT (0) 176 177#define MMU_MMU_STATUS0_MMU_FAULT_ADDR_MASK (0xFFFFF000) 178#define MMU_MMU_STATUS0_MMU_FAULT_ADDR_SHIFT (12) 179 180#define MMU_MMU_STATUS1_OFFSET (0x008C) 181 182#define MMU_MMU_STATUS1_MMU_FAULT_REQ_STAT_MASK (0x0000FFFF) 183#define MMU_MMU_STATUS1_MMU_FAULT_REQ_STAT_SHIFT (0) 184 185#define MMU_MMU_STATUS1_MMU_FAULT_REQ_ID_MASK (0x000F0000) 186#define MMU_MMU_STATUS1_MMU_FAULT_REQ_ID_SHIFT (16) 187 188#define MMU_MMU_STATUS1_MMU_FAULT_INDEX_MASK (0x03000000) 189#define MMU_MMU_STATUS1_MMU_FAULT_INDEX_SHIFT (24) 190 191#define MMU_MMU_STATUS1_MMU_FAULT_RNW_MASK (0x10000000) 192#define MMU_MMU_STATUS1_MMU_FAULT_RNW_SHIFT (28) 193 194#define MMU_MMU_MEM_REQ_OFFSET (0x0090) 195 196#define MMU_MMU_MEM_REQ_TAG_OUTSTANDING_MASK (0x000003FF) 197#define MMU_MMU_MEM_REQ_TAG_OUTSTANDING_SHIFT (0) 198 199#define MMU_MMU_MEM_REQ_EXT_WRRESP_FAULT_MASK (0x00001000) 200#define MMU_MMU_MEM_REQ_EXT_WRRESP_FAULT_SHIFT (12) 201 202#define MMU_MMU_MEM_REQ_EXT_RDRESP_FAULT_MASK (0x00002000) 203#define MMU_MMU_MEM_REQ_EXT_RDRESP_FAULT_SHIFT (13) 204 205#define MMU_MMU_MEM_REQ_EXT_READ_BURST_FAULT_MASK (0x00004000) 206#define MMU_MMU_MEM_REQ_EXT_READ_BURST_FAULT_SHIFT (14) 207 208#define MMU_MMU_MEM_REQ_INT_PROTOCOL_FAULT_MASK (0x80000000) 209#define MMU_MMU_MEM_REQ_INT_PROTOCOL_FAULT_SHIFT (31) 210#define MMU_MMU_MEM_REQ_INT_PROTOCOL_FAULT_NO_REPS (16) 211#define MMU_MMU_MEM_REQ_INT_PROTOCOL_FAULT_SIZE (1) 212 213#define MMU_MMU_FAULT_SELECT_OFFSET (0x00A0) 214 215#define MMU_MMU_FAULT_SELECT_MMU_FAULT_SELECT_MASK (0x0000000F) 216#define MMU_MMU_FAULT_SELECT_MMU_FAULT_SELECT_SHIFT (0) 217 218#define MMU_PROTOCOL_FAULT_OFFSET (0x00A8) 219 220#define MMU_PROTOCOL_FAULT_FAULT_PAGE_BREAK_MASK (0x00000001) 221#define MMU_PROTOCOL_FAULT_FAULT_PAGE_BREAK_SHIFT (0) 222 223#define MMU_PROTOCOL_FAULT_FAULT_WRITE_MASK (0x00000010) 224#define MMU_PROTOCOL_FAULT_FAULT_WRITE_SHIFT (4) 225 226#define MMU_PROTOCOL_FAULT_FAULT_READ_MASK (0x00000020) 227#define MMU_PROTOCOL_FAULT_FAULT_READ_SHIFT (5) 228 229#define MMU_TOTAL_READ_REQ_OFFSET (0x0100) 230 231#define MMU_TOTAL_READ_REQ_TOTAL_READ_REQ_MASK (0xFFFFFFFF) 232#define MMU_TOTAL_READ_REQ_TOTAL_READ_REQ_SHIFT (0) 233 234#define MMU_TOTAL_WRITE_REQ_OFFSET (0x0104) 235 236#define MMU_TOTAL_WRITE_REQ_TOTAL_WRITE_REQ_MASK (0xFFFFFFFF) 237#define MMU_TOTAL_WRITE_REQ_TOTAL_WRITE_REQ_SHIFT (0) 238 239#define MMU_READS_LESS_64_REQ_OFFSET (0x0108) 240 241#define MMU_READS_LESS_64_REQ_READS_LESS_64_REQ_MASK (0xFFFFFFFF) 242#define MMU_READS_LESS_64_REQ_READS_LESS_64_REQ_SHIFT (0) 243 244#define MMU_WRITES_LESS_64_REQ_OFFSET (0x010C) 245 246#define MMU_WRITES_LESS_64_REQ_WRITES_LESS_64_REQ_MASK (0xFFFFFFFF) 247#define MMU_WRITES_LESS_64_REQ_WRITES_LESS_64_REQ_SHIFT (0) 248 249#define MMU_EXT_CMD_STALL_OFFSET (0x0120) 250 251#define MMU_EXT_CMD_STALL_EXT_CMD_STALL_MASK (0xFFFFFFFF) 252#define MMU_EXT_CMD_STALL_EXT_CMD_STALL_SHIFT (0) 253 254#define MMU_WRITE_REQ_STALL_OFFSET (0x0124) 255 256#define MMU_WRITE_REQ_STALL_WRITE_REQ_STALL_MASK (0xFFFFFFFF) 257#define MMU_WRITE_REQ_STALL_WRITE_REQ_STALL_SHIFT (0) 258 259#define MMU_MMU_MISS_STALL_OFFSET (0x0128) 260 261#define MMU_MMU_MISS_STALL_MMU_MISS_STALL_MASK (0xFFFFFFFF) 262#define MMU_MMU_MISS_STALL_MMU_MISS_STALL_SHIFT (0) 263 264#define MMU_ADDRESS_STALL_OFFSET (0x012C) 265 266#define MMU_ADDRESS_STALL_ADDRESS_STALL_MASK (0xFFFFFFFF) 267#define MMU_ADDRESS_STALL_ADDRESS_STALL_SHIFT (0) 268 269#define MMU_TAG_STALL_OFFSET (0x0130) 270 271#define MMU_TAG_STALL_TAG_STALL_MASK (0xFFFFFFFF) 272#define MMU_TAG_STALL_TAG_STALL_SHIFT (0) 273 274#define MMU_PEAK_READ_OUTSTANDING_OFFSET (0x0140) 275 276#define MMU_PEAK_READ_OUTSTANDING_PEAK_TAG_OUTSTANDING_MASK (0x000003FF) 277#define MMU_PEAK_READ_OUTSTANDING_PEAK_TAG_OUTSTANDING_SHIFT (0) 278 279#define MMU_PEAK_READ_OUTSTANDING_PEAK_READ_LATENCY_MASK (0xFFFF0000) 280#define MMU_PEAK_READ_OUTSTANDING_PEAK_READ_LATENCY_SHIFT (16) 281 282#define MMU_AVERAGE_READ_LATENCY_OFFSET (0x0144) 283 284#define MMU_AVERAGE_READ_LATENCY_AVERAGE_READ_LATENCY_MASK (0xFFFFFFFF) 285#define MMU_AVERAGE_READ_LATENCY_AVERAGE_READ_LATENCY_SHIFT (0) 286 287#define MMU_STATISTICS_CONTROL_OFFSET (0x0160) 288 289#define MMU_STATISTICS_CONTROL_BANDWIDTH_STATS_INIT_MASK (0x00000001) 290#define MMU_STATISTICS_CONTROL_BANDWIDTH_STATS_INIT_SHIFT (0) 291 292#define MMU_STATISTICS_CONTROL_STALL_STATS_INIT_MASK (0x00000002) 293#define MMU_STATISTICS_CONTROL_STALL_STATS_INIT_SHIFT (1) 294 295#define MMU_STATISTICS_CONTROL_LATENCY_STATS_INIT_MASK (0x00000004) 296#define MMU_STATISTICS_CONTROL_LATENCY_STATS_INIT_SHIFT (2) 297 298#define MMU_MMU_VERSION_OFFSET (0x01D0) 299 300#define MMU_MMU_VERSION_MMU_MAJOR_REV_MASK (0x00FF0000) 301#define MMU_MMU_VERSION_MMU_MAJOR_REV_SHIFT (16) 302 303#define MMU_MMU_VERSION_MMU_MINOR_REV_MASK (0x0000FF00) 304#define MMU_MMU_VERSION_MMU_MINOR_REV_SHIFT (8) 305 306#define MMU_MMU_VERSION_MMU_MAINT_REV_MASK (0x000000FF) 307#define MMU_MMU_VERSION_MMU_MAINT_REV_SHIFT (0) 308 309#define MMU_BYTE_SIZE (0x01D4) 310 311#endif
~/
Read-only file preview.