Home | History | Annotate | Line # | Download | only in memory
      1      1.1  jmcneill /*	$NetBSD: tegra186-mc.h,v 1.1.1.2 2021/11/07 16:49:56 jmcneill Exp $	*/
      2      1.1  jmcneill 
      3      1.1  jmcneill #ifndef DT_BINDINGS_MEMORY_TEGRA186_MC_H
      4      1.1  jmcneill #define DT_BINDINGS_MEMORY_TEGRA186_MC_H
      5      1.1  jmcneill 
      6      1.1  jmcneill /* special clients */
      7      1.1  jmcneill #define TEGRA186_SID_INVALID		0x00
      8      1.1  jmcneill #define TEGRA186_SID_PASSTHROUGH	0x7f
      9      1.1  jmcneill 
     10      1.1  jmcneill /* host1x clients */
     11      1.1  jmcneill #define TEGRA186_SID_HOST1X		0x01
     12      1.1  jmcneill #define TEGRA186_SID_CSI		0x02
     13      1.1  jmcneill #define TEGRA186_SID_VIC		0x03
     14      1.1  jmcneill #define TEGRA186_SID_VI			0x04
     15      1.1  jmcneill #define TEGRA186_SID_ISP		0x05
     16      1.1  jmcneill #define TEGRA186_SID_NVDEC		0x06
     17      1.1  jmcneill #define TEGRA186_SID_NVENC		0x07
     18      1.1  jmcneill #define TEGRA186_SID_NVJPG		0x08
     19      1.1  jmcneill #define TEGRA186_SID_NVDISPLAY		0x09
     20      1.1  jmcneill #define TEGRA186_SID_TSEC		0x0a
     21      1.1  jmcneill #define TEGRA186_SID_TSECB		0x0b
     22      1.1  jmcneill #define TEGRA186_SID_SE			0x0c
     23      1.1  jmcneill #define TEGRA186_SID_SE1		0x0d
     24      1.1  jmcneill #define TEGRA186_SID_SE2		0x0e
     25      1.1  jmcneill #define TEGRA186_SID_SE3		0x0f
     26      1.1  jmcneill 
     27      1.1  jmcneill /* GPU clients */
     28      1.1  jmcneill #define TEGRA186_SID_GPU		0x10
     29      1.1  jmcneill 
     30      1.1  jmcneill /* other SoC clients */
     31      1.1  jmcneill #define TEGRA186_SID_AFI		0x11
     32      1.1  jmcneill #define TEGRA186_SID_HDA		0x12
     33      1.1  jmcneill #define TEGRA186_SID_ETR		0x13
     34      1.1  jmcneill #define TEGRA186_SID_EQOS		0x14
     35      1.1  jmcneill #define TEGRA186_SID_UFSHC		0x15
     36      1.1  jmcneill #define TEGRA186_SID_AON		0x16
     37      1.1  jmcneill #define TEGRA186_SID_SDMMC4		0x17
     38      1.1  jmcneill #define TEGRA186_SID_SDMMC3		0x18
     39      1.1  jmcneill #define TEGRA186_SID_SDMMC2		0x19
     40      1.1  jmcneill #define TEGRA186_SID_SDMMC1		0x1a
     41      1.1  jmcneill #define TEGRA186_SID_XUSB_HOST		0x1b
     42      1.1  jmcneill #define TEGRA186_SID_XUSB_DEV		0x1c
     43      1.1  jmcneill #define TEGRA186_SID_SATA		0x1d
     44      1.1  jmcneill #define TEGRA186_SID_APE		0x1e
     45      1.1  jmcneill #define TEGRA186_SID_SCE		0x1f
     46      1.1  jmcneill 
     47      1.1  jmcneill /* GPC DMA clients */
     48      1.1  jmcneill #define TEGRA186_SID_GPCDMA_0		0x20
     49      1.1  jmcneill #define TEGRA186_SID_GPCDMA_1		0x21
     50      1.1  jmcneill #define TEGRA186_SID_GPCDMA_2		0x22
     51      1.1  jmcneill #define TEGRA186_SID_GPCDMA_3		0x23
     52      1.1  jmcneill #define TEGRA186_SID_GPCDMA_4		0x24
     53      1.1  jmcneill #define TEGRA186_SID_GPCDMA_5		0x25
     54      1.1  jmcneill #define TEGRA186_SID_GPCDMA_6		0x26
     55      1.1  jmcneill #define TEGRA186_SID_GPCDMA_7		0x27
     56      1.1  jmcneill 
     57      1.1  jmcneill /* APE DMA clients */
     58      1.1  jmcneill #define TEGRA186_SID_APE_1		0x28
     59      1.1  jmcneill #define TEGRA186_SID_APE_2		0x29
     60      1.1  jmcneill 
     61      1.1  jmcneill /* camera RTCPU */
     62      1.1  jmcneill #define TEGRA186_SID_RCE		0x2a
     63      1.1  jmcneill 
     64      1.1  jmcneill /* camera RTCPU on host1x address space */
     65      1.1  jmcneill #define TEGRA186_SID_RCE_1X		0x2b
     66      1.1  jmcneill 
     67      1.1  jmcneill /* APE DMA clients */
     68      1.1  jmcneill #define TEGRA186_SID_APE_3		0x2c
     69      1.1  jmcneill 
     70      1.1  jmcneill /* camera RTCPU running on APE */
     71      1.1  jmcneill #define TEGRA186_SID_APE_CAM		0x2d
     72      1.1  jmcneill #define TEGRA186_SID_APE_CAM_1X		0x2e
     73      1.1  jmcneill 
     74      1.1  jmcneill /*
     75      1.1  jmcneill  * The BPMP has its SID value hardcoded in the firmware. Changing it requires
     76      1.1  jmcneill  * considerable effort.
     77      1.1  jmcneill  */
     78      1.1  jmcneill #define TEGRA186_SID_BPMP		0x32
     79      1.1  jmcneill 
     80      1.1  jmcneill /* for SMMU tests */
     81      1.1  jmcneill #define TEGRA186_SID_SMMU_TEST		0x33
     82      1.1  jmcneill 
     83      1.1  jmcneill /* host1x virtualization channels */
     84      1.1  jmcneill #define TEGRA186_SID_HOST1X_CTX0	0x38
     85      1.1  jmcneill #define TEGRA186_SID_HOST1X_CTX1	0x39
     86      1.1  jmcneill #define TEGRA186_SID_HOST1X_CTX2	0x3a
     87      1.1  jmcneill #define TEGRA186_SID_HOST1X_CTX3	0x3b
     88      1.1  jmcneill #define TEGRA186_SID_HOST1X_CTX4	0x3c
     89      1.1  jmcneill #define TEGRA186_SID_HOST1X_CTX5	0x3d
     90      1.1  jmcneill #define TEGRA186_SID_HOST1X_CTX6	0x3e
     91      1.1  jmcneill #define TEGRA186_SID_HOST1X_CTX7	0x3f
     92      1.1  jmcneill 
     93      1.1  jmcneill /* host1x command buffers */
     94      1.1  jmcneill #define TEGRA186_SID_HOST1X_VM0		0x40
     95      1.1  jmcneill #define TEGRA186_SID_HOST1X_VM1		0x41
     96      1.1  jmcneill #define TEGRA186_SID_HOST1X_VM2		0x42
     97      1.1  jmcneill #define TEGRA186_SID_HOST1X_VM3		0x43
     98      1.1  jmcneill #define TEGRA186_SID_HOST1X_VM4		0x44
     99      1.1  jmcneill #define TEGRA186_SID_HOST1X_VM5		0x45
    100      1.1  jmcneill #define TEGRA186_SID_HOST1X_VM6		0x46
    101      1.1  jmcneill #define TEGRA186_SID_HOST1X_VM7		0x47
    102      1.1  jmcneill 
    103      1.1  jmcneill /* SE data buffers */
    104      1.1  jmcneill #define TEGRA186_SID_SE_VM0		0x48
    105      1.1  jmcneill #define TEGRA186_SID_SE_VM1		0x49
    106      1.1  jmcneill #define TEGRA186_SID_SE_VM2		0x4a
    107      1.1  jmcneill #define TEGRA186_SID_SE_VM3		0x4b
    108      1.1  jmcneill #define TEGRA186_SID_SE_VM4		0x4c
    109      1.1  jmcneill #define TEGRA186_SID_SE_VM5		0x4d
    110      1.1  jmcneill #define TEGRA186_SID_SE_VM6		0x4e
    111      1.1  jmcneill #define TEGRA186_SID_SE_VM7		0x4f
    112      1.1  jmcneill 
    113  1.1.1.2  jmcneill /*
    114  1.1.1.2  jmcneill  * memory client IDs
    115  1.1.1.2  jmcneill  */
    116  1.1.1.2  jmcneill 
    117  1.1.1.2  jmcneill /* Misses from System Memory Management Unit (SMMU) Page Table Cache (PTC) */
    118  1.1.1.2  jmcneill #define TEGRA186_MEMORY_CLIENT_PTCR 0x00
    119  1.1.1.2  jmcneill /* PCIE reads */
    120  1.1.1.2  jmcneill #define TEGRA186_MEMORY_CLIENT_AFIR 0x0e
    121  1.1.1.2  jmcneill /* High-definition audio (HDA) reads */
    122  1.1.1.2  jmcneill #define TEGRA186_MEMORY_CLIENT_HDAR 0x15
    123  1.1.1.2  jmcneill /* Host channel data reads */
    124  1.1.1.2  jmcneill #define TEGRA186_MEMORY_CLIENT_HOST1XDMAR 0x16
    125  1.1.1.2  jmcneill #define TEGRA186_MEMORY_CLIENT_NVENCSRD 0x1c
    126  1.1.1.2  jmcneill /* SATA reads */
    127  1.1.1.2  jmcneill #define TEGRA186_MEMORY_CLIENT_SATAR 0x1f
    128  1.1.1.2  jmcneill /* Reads from Cortex-A9 4 CPU cores via the L2 cache */
    129  1.1.1.2  jmcneill #define TEGRA186_MEMORY_CLIENT_MPCORER 0x27
    130  1.1.1.2  jmcneill #define TEGRA186_MEMORY_CLIENT_NVENCSWR 0x2b
    131  1.1.1.2  jmcneill /* PCIE writes */
    132  1.1.1.2  jmcneill #define TEGRA186_MEMORY_CLIENT_AFIW 0x31
    133  1.1.1.2  jmcneill /* High-definition audio (HDA) writes */
    134  1.1.1.2  jmcneill #define TEGRA186_MEMORY_CLIENT_HDAW 0x35
    135  1.1.1.2  jmcneill /* Writes from Cortex-A9 4 CPU cores via the L2 cache */
    136  1.1.1.2  jmcneill #define TEGRA186_MEMORY_CLIENT_MPCOREW 0x39
    137  1.1.1.2  jmcneill /* SATA writes */
    138  1.1.1.2  jmcneill #define TEGRA186_MEMORY_CLIENT_SATAW 0x3d
    139  1.1.1.2  jmcneill /* ISP Read client for Crossbar A */
    140  1.1.1.2  jmcneill #define TEGRA186_MEMORY_CLIENT_ISPRA 0x44
    141  1.1.1.2  jmcneill /* ISP Write client for Crossbar A */
    142  1.1.1.2  jmcneill #define TEGRA186_MEMORY_CLIENT_ISPWA 0x46
    143  1.1.1.2  jmcneill /* ISP Write client Crossbar B */
    144  1.1.1.2  jmcneill #define TEGRA186_MEMORY_CLIENT_ISPWB 0x47
    145  1.1.1.2  jmcneill /* XUSB reads */
    146  1.1.1.2  jmcneill #define TEGRA186_MEMORY_CLIENT_XUSB_HOSTR 0x4a
    147  1.1.1.2  jmcneill /* XUSB_HOST writes */
    148  1.1.1.2  jmcneill #define TEGRA186_MEMORY_CLIENT_XUSB_HOSTW 0x4b
    149  1.1.1.2  jmcneill /* XUSB reads */
    150  1.1.1.2  jmcneill #define TEGRA186_MEMORY_CLIENT_XUSB_DEVR 0x4c
    151  1.1.1.2  jmcneill /* XUSB_DEV writes */
    152  1.1.1.2  jmcneill #define TEGRA186_MEMORY_CLIENT_XUSB_DEVW 0x4d
    153  1.1.1.2  jmcneill /* TSEC Memory Return Data Client Description */
    154  1.1.1.2  jmcneill #define TEGRA186_MEMORY_CLIENT_TSECSRD 0x54
    155  1.1.1.2  jmcneill /* TSEC Memory Write Client Description */
    156  1.1.1.2  jmcneill #define TEGRA186_MEMORY_CLIENT_TSECSWR 0x55
    157  1.1.1.2  jmcneill /* 3D, ltcx reads instance 0 */
    158  1.1.1.2  jmcneill #define TEGRA186_MEMORY_CLIENT_GPUSRD 0x58
    159  1.1.1.2  jmcneill /* 3D, ltcx writes instance 0 */
    160  1.1.1.2  jmcneill #define TEGRA186_MEMORY_CLIENT_GPUSWR 0x59
    161  1.1.1.2  jmcneill /* sdmmca memory read client */
    162  1.1.1.2  jmcneill #define TEGRA186_MEMORY_CLIENT_SDMMCRA 0x60
    163  1.1.1.2  jmcneill /* sdmmcbmemory read client */
    164  1.1.1.2  jmcneill #define TEGRA186_MEMORY_CLIENT_SDMMCRAA 0x61
    165  1.1.1.2  jmcneill /* sdmmc memory read client */
    166  1.1.1.2  jmcneill #define TEGRA186_MEMORY_CLIENT_SDMMCR 0x62
    167  1.1.1.2  jmcneill /* sdmmcd memory read client */
    168  1.1.1.2  jmcneill #define TEGRA186_MEMORY_CLIENT_SDMMCRAB 0x63
    169  1.1.1.2  jmcneill /* sdmmca memory write client */
    170  1.1.1.2  jmcneill #define TEGRA186_MEMORY_CLIENT_SDMMCWA 0x64
    171  1.1.1.2  jmcneill /* sdmmcb memory write client */
    172  1.1.1.2  jmcneill #define TEGRA186_MEMORY_CLIENT_SDMMCWAA 0x65
    173  1.1.1.2  jmcneill /* sdmmc memory write client */
    174  1.1.1.2  jmcneill #define TEGRA186_MEMORY_CLIENT_SDMMCW 0x66
    175  1.1.1.2  jmcneill /* sdmmcd memory write client */
    176  1.1.1.2  jmcneill #define TEGRA186_MEMORY_CLIENT_SDMMCWAB 0x67
    177  1.1.1.2  jmcneill #define TEGRA186_MEMORY_CLIENT_VICSRD 0x6c
    178  1.1.1.2  jmcneill #define TEGRA186_MEMORY_CLIENT_VICSWR 0x6d
    179  1.1.1.2  jmcneill /* VI Write client */
    180  1.1.1.2  jmcneill #define TEGRA186_MEMORY_CLIENT_VIW 0x72
    181  1.1.1.2  jmcneill #define TEGRA186_MEMORY_CLIENT_NVDECSRD 0x78
    182  1.1.1.2  jmcneill #define TEGRA186_MEMORY_CLIENT_NVDECSWR 0x79
    183  1.1.1.2  jmcneill /* Audio Processing (APE) engine reads */
    184  1.1.1.2  jmcneill #define TEGRA186_MEMORY_CLIENT_APER 0x7a
    185  1.1.1.2  jmcneill /* Audio Processing (APE) engine writes */
    186  1.1.1.2  jmcneill #define TEGRA186_MEMORY_CLIENT_APEW 0x7b
    187  1.1.1.2  jmcneill #define TEGRA186_MEMORY_CLIENT_NVJPGSRD 0x7e
    188  1.1.1.2  jmcneill #define TEGRA186_MEMORY_CLIENT_NVJPGSWR 0x7f
    189  1.1.1.2  jmcneill /* SE Memory Return Data Client Description */
    190  1.1.1.2  jmcneill #define TEGRA186_MEMORY_CLIENT_SESRD 0x80
    191  1.1.1.2  jmcneill /* SE Memory Write Client Description */
    192  1.1.1.2  jmcneill #define TEGRA186_MEMORY_CLIENT_SESWR 0x81
    193  1.1.1.2  jmcneill /* ETR reads */
    194  1.1.1.2  jmcneill #define TEGRA186_MEMORY_CLIENT_ETRR 0x84
    195  1.1.1.2  jmcneill /* ETR writes */
    196  1.1.1.2  jmcneill #define TEGRA186_MEMORY_CLIENT_ETRW 0x85
    197  1.1.1.2  jmcneill /* TSECB Memory Return Data Client Description */
    198  1.1.1.2  jmcneill #define TEGRA186_MEMORY_CLIENT_TSECSRDB 0x86
    199  1.1.1.2  jmcneill /* TSECB Memory Write Client Description */
    200  1.1.1.2  jmcneill #define TEGRA186_MEMORY_CLIENT_TSECSWRB 0x87
    201  1.1.1.2  jmcneill /* 3D, ltcx reads instance 1 */
    202  1.1.1.2  jmcneill #define TEGRA186_MEMORY_CLIENT_GPUSRD2 0x88
    203  1.1.1.2  jmcneill /* 3D, ltcx writes instance 1 */
    204  1.1.1.2  jmcneill #define TEGRA186_MEMORY_CLIENT_GPUSWR2 0x89
    205  1.1.1.2  jmcneill /* AXI Switch read client */
    206  1.1.1.2  jmcneill #define TEGRA186_MEMORY_CLIENT_AXISR 0x8c
    207  1.1.1.2  jmcneill /* AXI Switch write client */
    208  1.1.1.2  jmcneill #define TEGRA186_MEMORY_CLIENT_AXISW 0x8d
    209  1.1.1.2  jmcneill /* EQOS read client */
    210  1.1.1.2  jmcneill #define TEGRA186_MEMORY_CLIENT_EQOSR 0x8e
    211  1.1.1.2  jmcneill /* EQOS write client */
    212  1.1.1.2  jmcneill #define TEGRA186_MEMORY_CLIENT_EQOSW 0x8f
    213  1.1.1.2  jmcneill /* UFSHC read client */
    214  1.1.1.2  jmcneill #define TEGRA186_MEMORY_CLIENT_UFSHCR 0x90
    215  1.1.1.2  jmcneill /* UFSHC write client */
    216  1.1.1.2  jmcneill #define TEGRA186_MEMORY_CLIENT_UFSHCW 0x91
    217  1.1.1.2  jmcneill /* NVDISPLAY read client */
    218  1.1.1.2  jmcneill #define TEGRA186_MEMORY_CLIENT_NVDISPLAYR 0x92
    219  1.1.1.2  jmcneill /* BPMP read client */
    220  1.1.1.2  jmcneill #define TEGRA186_MEMORY_CLIENT_BPMPR 0x93
    221  1.1.1.2  jmcneill /* BPMP write client */
    222  1.1.1.2  jmcneill #define TEGRA186_MEMORY_CLIENT_BPMPW 0x94
    223  1.1.1.2  jmcneill /* BPMPDMA read client */
    224  1.1.1.2  jmcneill #define TEGRA186_MEMORY_CLIENT_BPMPDMAR 0x95
    225  1.1.1.2  jmcneill /* BPMPDMA write client */
    226  1.1.1.2  jmcneill #define TEGRA186_MEMORY_CLIENT_BPMPDMAW 0x96
    227  1.1.1.2  jmcneill /* AON read client */
    228  1.1.1.2  jmcneill #define TEGRA186_MEMORY_CLIENT_AONR 0x97
    229  1.1.1.2  jmcneill /* AON write client */
    230  1.1.1.2  jmcneill #define TEGRA186_MEMORY_CLIENT_AONW 0x98
    231  1.1.1.2  jmcneill /* AONDMA read client */
    232  1.1.1.2  jmcneill #define TEGRA186_MEMORY_CLIENT_AONDMAR 0x99
    233  1.1.1.2  jmcneill /* AONDMA write client */
    234  1.1.1.2  jmcneill #define TEGRA186_MEMORY_CLIENT_AONDMAW 0x9a
    235  1.1.1.2  jmcneill /* SCE read client */
    236  1.1.1.2  jmcneill #define TEGRA186_MEMORY_CLIENT_SCER 0x9b
    237  1.1.1.2  jmcneill /* SCE write client */
    238  1.1.1.2  jmcneill #define TEGRA186_MEMORY_CLIENT_SCEW 0x9c
    239  1.1.1.2  jmcneill /* SCEDMA read client */
    240  1.1.1.2  jmcneill #define TEGRA186_MEMORY_CLIENT_SCEDMAR 0x9d
    241  1.1.1.2  jmcneill /* SCEDMA write client */
    242  1.1.1.2  jmcneill #define TEGRA186_MEMORY_CLIENT_SCEDMAW 0x9e
    243  1.1.1.2  jmcneill /* APEDMA read client */
    244  1.1.1.2  jmcneill #define TEGRA186_MEMORY_CLIENT_APEDMAR 0x9f
    245  1.1.1.2  jmcneill /* APEDMA write client */
    246  1.1.1.2  jmcneill #define TEGRA186_MEMORY_CLIENT_APEDMAW 0xa0
    247  1.1.1.2  jmcneill /* NVDISPLAY read client instance 2 */
    248  1.1.1.2  jmcneill #define TEGRA186_MEMORY_CLIENT_NVDISPLAYR1 0xa1
    249  1.1.1.2  jmcneill #define TEGRA186_MEMORY_CLIENT_VICSRD1 0xa2
    250  1.1.1.2  jmcneill #define TEGRA186_MEMORY_CLIENT_NVDECSRD1 0xa3
    251  1.1.1.2  jmcneill 
    252      1.1  jmcneill #endif
    253