18c2ecf20Sopenharmony_ci#ifndef DT_BINDINGS_MEMORY_TEGRA186_MC_H 28c2ecf20Sopenharmony_ci#define DT_BINDINGS_MEMORY_TEGRA186_MC_H 38c2ecf20Sopenharmony_ci 48c2ecf20Sopenharmony_ci/* special clients */ 58c2ecf20Sopenharmony_ci#define TEGRA186_SID_INVALID 0x00 68c2ecf20Sopenharmony_ci#define TEGRA186_SID_PASSTHROUGH 0x7f 78c2ecf20Sopenharmony_ci 88c2ecf20Sopenharmony_ci/* host1x clients */ 98c2ecf20Sopenharmony_ci#define TEGRA186_SID_HOST1X 0x01 108c2ecf20Sopenharmony_ci#define TEGRA186_SID_CSI 0x02 118c2ecf20Sopenharmony_ci#define TEGRA186_SID_VIC 0x03 128c2ecf20Sopenharmony_ci#define TEGRA186_SID_VI 0x04 138c2ecf20Sopenharmony_ci#define TEGRA186_SID_ISP 0x05 148c2ecf20Sopenharmony_ci#define TEGRA186_SID_NVDEC 0x06 158c2ecf20Sopenharmony_ci#define TEGRA186_SID_NVENC 0x07 168c2ecf20Sopenharmony_ci#define TEGRA186_SID_NVJPG 0x08 178c2ecf20Sopenharmony_ci#define TEGRA186_SID_NVDISPLAY 0x09 188c2ecf20Sopenharmony_ci#define TEGRA186_SID_TSEC 0x0a 198c2ecf20Sopenharmony_ci#define TEGRA186_SID_TSECB 0x0b 208c2ecf20Sopenharmony_ci#define TEGRA186_SID_SE 0x0c 218c2ecf20Sopenharmony_ci#define TEGRA186_SID_SE1 0x0d 228c2ecf20Sopenharmony_ci#define TEGRA186_SID_SE2 0x0e 238c2ecf20Sopenharmony_ci#define TEGRA186_SID_SE3 0x0f 248c2ecf20Sopenharmony_ci 258c2ecf20Sopenharmony_ci/* GPU clients */ 268c2ecf20Sopenharmony_ci#define TEGRA186_SID_GPU 0x10 278c2ecf20Sopenharmony_ci 288c2ecf20Sopenharmony_ci/* other SoC clients */ 298c2ecf20Sopenharmony_ci#define TEGRA186_SID_AFI 0x11 308c2ecf20Sopenharmony_ci#define TEGRA186_SID_HDA 0x12 318c2ecf20Sopenharmony_ci#define TEGRA186_SID_ETR 0x13 328c2ecf20Sopenharmony_ci#define TEGRA186_SID_EQOS 0x14 338c2ecf20Sopenharmony_ci#define TEGRA186_SID_UFSHC 0x15 348c2ecf20Sopenharmony_ci#define TEGRA186_SID_AON 0x16 358c2ecf20Sopenharmony_ci#define TEGRA186_SID_SDMMC4 0x17 368c2ecf20Sopenharmony_ci#define TEGRA186_SID_SDMMC3 0x18 378c2ecf20Sopenharmony_ci#define TEGRA186_SID_SDMMC2 0x19 388c2ecf20Sopenharmony_ci#define TEGRA186_SID_SDMMC1 0x1a 398c2ecf20Sopenharmony_ci#define TEGRA186_SID_XUSB_HOST 0x1b 408c2ecf20Sopenharmony_ci#define TEGRA186_SID_XUSB_DEV 0x1c 418c2ecf20Sopenharmony_ci#define TEGRA186_SID_SATA 0x1d 428c2ecf20Sopenharmony_ci#define TEGRA186_SID_APE 0x1e 438c2ecf20Sopenharmony_ci#define TEGRA186_SID_SCE 0x1f 448c2ecf20Sopenharmony_ci 458c2ecf20Sopenharmony_ci/* GPC DMA clients */ 468c2ecf20Sopenharmony_ci#define TEGRA186_SID_GPCDMA_0 0x20 478c2ecf20Sopenharmony_ci#define TEGRA186_SID_GPCDMA_1 0x21 488c2ecf20Sopenharmony_ci#define TEGRA186_SID_GPCDMA_2 0x22 498c2ecf20Sopenharmony_ci#define TEGRA186_SID_GPCDMA_3 0x23 508c2ecf20Sopenharmony_ci#define TEGRA186_SID_GPCDMA_4 0x24 518c2ecf20Sopenharmony_ci#define TEGRA186_SID_GPCDMA_5 0x25 528c2ecf20Sopenharmony_ci#define TEGRA186_SID_GPCDMA_6 0x26 538c2ecf20Sopenharmony_ci#define TEGRA186_SID_GPCDMA_7 0x27 548c2ecf20Sopenharmony_ci 558c2ecf20Sopenharmony_ci/* APE DMA clients */ 568c2ecf20Sopenharmony_ci#define TEGRA186_SID_APE_1 0x28 578c2ecf20Sopenharmony_ci#define TEGRA186_SID_APE_2 0x29 588c2ecf20Sopenharmony_ci 598c2ecf20Sopenharmony_ci/* camera RTCPU */ 608c2ecf20Sopenharmony_ci#define TEGRA186_SID_RCE 0x2a 618c2ecf20Sopenharmony_ci 628c2ecf20Sopenharmony_ci/* camera RTCPU on host1x address space */ 638c2ecf20Sopenharmony_ci#define TEGRA186_SID_RCE_1X 0x2b 648c2ecf20Sopenharmony_ci 658c2ecf20Sopenharmony_ci/* APE DMA clients */ 668c2ecf20Sopenharmony_ci#define TEGRA186_SID_APE_3 0x2c 678c2ecf20Sopenharmony_ci 688c2ecf20Sopenharmony_ci/* camera RTCPU running on APE */ 698c2ecf20Sopenharmony_ci#define TEGRA186_SID_APE_CAM 0x2d 708c2ecf20Sopenharmony_ci#define TEGRA186_SID_APE_CAM_1X 0x2e 718c2ecf20Sopenharmony_ci 728c2ecf20Sopenharmony_ci/* 738c2ecf20Sopenharmony_ci * The BPMP has its SID value hardcoded in the firmware. Changing it requires 748c2ecf20Sopenharmony_ci * considerable effort. 758c2ecf20Sopenharmony_ci */ 768c2ecf20Sopenharmony_ci#define TEGRA186_SID_BPMP 0x32 778c2ecf20Sopenharmony_ci 788c2ecf20Sopenharmony_ci/* for SMMU tests */ 798c2ecf20Sopenharmony_ci#define TEGRA186_SID_SMMU_TEST 0x33 808c2ecf20Sopenharmony_ci 818c2ecf20Sopenharmony_ci/* host1x virtualization channels */ 828c2ecf20Sopenharmony_ci#define TEGRA186_SID_HOST1X_CTX0 0x38 838c2ecf20Sopenharmony_ci#define TEGRA186_SID_HOST1X_CTX1 0x39 848c2ecf20Sopenharmony_ci#define TEGRA186_SID_HOST1X_CTX2 0x3a 858c2ecf20Sopenharmony_ci#define TEGRA186_SID_HOST1X_CTX3 0x3b 868c2ecf20Sopenharmony_ci#define TEGRA186_SID_HOST1X_CTX4 0x3c 878c2ecf20Sopenharmony_ci#define TEGRA186_SID_HOST1X_CTX5 0x3d 888c2ecf20Sopenharmony_ci#define TEGRA186_SID_HOST1X_CTX6 0x3e 898c2ecf20Sopenharmony_ci#define TEGRA186_SID_HOST1X_CTX7 0x3f 908c2ecf20Sopenharmony_ci 918c2ecf20Sopenharmony_ci/* host1x command buffers */ 928c2ecf20Sopenharmony_ci#define TEGRA186_SID_HOST1X_VM0 0x40 938c2ecf20Sopenharmony_ci#define TEGRA186_SID_HOST1X_VM1 0x41 948c2ecf20Sopenharmony_ci#define TEGRA186_SID_HOST1X_VM2 0x42 958c2ecf20Sopenharmony_ci#define TEGRA186_SID_HOST1X_VM3 0x43 968c2ecf20Sopenharmony_ci#define TEGRA186_SID_HOST1X_VM4 0x44 978c2ecf20Sopenharmony_ci#define TEGRA186_SID_HOST1X_VM5 0x45 988c2ecf20Sopenharmony_ci#define TEGRA186_SID_HOST1X_VM6 0x46 998c2ecf20Sopenharmony_ci#define TEGRA186_SID_HOST1X_VM7 0x47 1008c2ecf20Sopenharmony_ci 1018c2ecf20Sopenharmony_ci/* SE data buffers */ 1028c2ecf20Sopenharmony_ci#define TEGRA186_SID_SE_VM0 0x48 1038c2ecf20Sopenharmony_ci#define TEGRA186_SID_SE_VM1 0x49 1048c2ecf20Sopenharmony_ci#define TEGRA186_SID_SE_VM2 0x4a 1058c2ecf20Sopenharmony_ci#define TEGRA186_SID_SE_VM3 0x4b 1068c2ecf20Sopenharmony_ci#define TEGRA186_SID_SE_VM4 0x4c 1078c2ecf20Sopenharmony_ci#define TEGRA186_SID_SE_VM5 0x4d 1088c2ecf20Sopenharmony_ci#define TEGRA186_SID_SE_VM6 0x4e 1098c2ecf20Sopenharmony_ci#define TEGRA186_SID_SE_VM7 0x4f 1108c2ecf20Sopenharmony_ci 1118c2ecf20Sopenharmony_ci/* 1128c2ecf20Sopenharmony_ci * memory client IDs 1138c2ecf20Sopenharmony_ci */ 1148c2ecf20Sopenharmony_ci 1158c2ecf20Sopenharmony_ci/* Misses from System Memory Management Unit (SMMU) Page Table Cache (PTC) */ 1168c2ecf20Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_PTCR 0x00 1178c2ecf20Sopenharmony_ci/* PCIE reads */ 1188c2ecf20Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_AFIR 0x0e 1198c2ecf20Sopenharmony_ci/* High-definition audio (HDA) reads */ 1208c2ecf20Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_HDAR 0x15 1218c2ecf20Sopenharmony_ci/* Host channel data reads */ 1228c2ecf20Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_HOST1XDMAR 0x16 1238c2ecf20Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_NVENCSRD 0x1c 1248c2ecf20Sopenharmony_ci/* SATA reads */ 1258c2ecf20Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_SATAR 0x1f 1268c2ecf20Sopenharmony_ci/* Reads from Cortex-A9 4 CPU cores via the L2 cache */ 1278c2ecf20Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_MPCORER 0x27 1288c2ecf20Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_NVENCSWR 0x2b 1298c2ecf20Sopenharmony_ci/* PCIE writes */ 1308c2ecf20Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_AFIW 0x31 1318c2ecf20Sopenharmony_ci/* High-definition audio (HDA) writes */ 1328c2ecf20Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_HDAW 0x35 1338c2ecf20Sopenharmony_ci/* Writes from Cortex-A9 4 CPU cores via the L2 cache */ 1348c2ecf20Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_MPCOREW 0x39 1358c2ecf20Sopenharmony_ci/* SATA writes */ 1368c2ecf20Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_SATAW 0x3d 1378c2ecf20Sopenharmony_ci/* ISP Read client for Crossbar A */ 1388c2ecf20Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_ISPRA 0x44 1398c2ecf20Sopenharmony_ci/* ISP Write client for Crossbar A */ 1408c2ecf20Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_ISPWA 0x46 1418c2ecf20Sopenharmony_ci/* ISP Write client Crossbar B */ 1428c2ecf20Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_ISPWB 0x47 1438c2ecf20Sopenharmony_ci/* XUSB reads */ 1448c2ecf20Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_XUSB_HOSTR 0x4a 1458c2ecf20Sopenharmony_ci/* XUSB_HOST writes */ 1468c2ecf20Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_XUSB_HOSTW 0x4b 1478c2ecf20Sopenharmony_ci/* XUSB reads */ 1488c2ecf20Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_XUSB_DEVR 0x4c 1498c2ecf20Sopenharmony_ci/* XUSB_DEV writes */ 1508c2ecf20Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_XUSB_DEVW 0x4d 1518c2ecf20Sopenharmony_ci/* TSEC Memory Return Data Client Description */ 1528c2ecf20Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_TSECSRD 0x54 1538c2ecf20Sopenharmony_ci/* TSEC Memory Write Client Description */ 1548c2ecf20Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_TSECSWR 0x55 1558c2ecf20Sopenharmony_ci/* 3D, ltcx reads instance 0 */ 1568c2ecf20Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_GPUSRD 0x58 1578c2ecf20Sopenharmony_ci/* 3D, ltcx writes instance 0 */ 1588c2ecf20Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_GPUSWR 0x59 1598c2ecf20Sopenharmony_ci/* sdmmca memory read client */ 1608c2ecf20Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_SDMMCRA 0x60 1618c2ecf20Sopenharmony_ci/* sdmmcbmemory read client */ 1628c2ecf20Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_SDMMCRAA 0x61 1638c2ecf20Sopenharmony_ci/* sdmmc memory read client */ 1648c2ecf20Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_SDMMCR 0x62 1658c2ecf20Sopenharmony_ci/* sdmmcd memory read client */ 1668c2ecf20Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_SDMMCRAB 0x63 1678c2ecf20Sopenharmony_ci/* sdmmca memory write client */ 1688c2ecf20Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_SDMMCWA 0x64 1698c2ecf20Sopenharmony_ci/* sdmmcb memory write client */ 1708c2ecf20Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_SDMMCWAA 0x65 1718c2ecf20Sopenharmony_ci/* sdmmc memory write client */ 1728c2ecf20Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_SDMMCW 0x66 1738c2ecf20Sopenharmony_ci/* sdmmcd memory write client */ 1748c2ecf20Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_SDMMCWAB 0x67 1758c2ecf20Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_VICSRD 0x6c 1768c2ecf20Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_VICSWR 0x6d 1778c2ecf20Sopenharmony_ci/* VI Write client */ 1788c2ecf20Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_VIW 0x72 1798c2ecf20Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_NVDECSRD 0x78 1808c2ecf20Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_NVDECSWR 0x79 1818c2ecf20Sopenharmony_ci/* Audio Processing (APE) engine reads */ 1828c2ecf20Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_APER 0x7a 1838c2ecf20Sopenharmony_ci/* Audio Processing (APE) engine writes */ 1848c2ecf20Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_APEW 0x7b 1858c2ecf20Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_NVJPGSRD 0x7e 1868c2ecf20Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_NVJPGSWR 0x7f 1878c2ecf20Sopenharmony_ci/* SE Memory Return Data Client Description */ 1888c2ecf20Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_SESRD 0x80 1898c2ecf20Sopenharmony_ci/* SE Memory Write Client Description */ 1908c2ecf20Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_SESWR 0x81 1918c2ecf20Sopenharmony_ci/* ETR reads */ 1928c2ecf20Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_ETRR 0x84 1938c2ecf20Sopenharmony_ci/* ETR writes */ 1948c2ecf20Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_ETRW 0x85 1958c2ecf20Sopenharmony_ci/* TSECB Memory Return Data Client Description */ 1968c2ecf20Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_TSECSRDB 0x86 1978c2ecf20Sopenharmony_ci/* TSECB Memory Write Client Description */ 1988c2ecf20Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_TSECSWRB 0x87 1998c2ecf20Sopenharmony_ci/* 3D, ltcx reads instance 1 */ 2008c2ecf20Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_GPUSRD2 0x88 2018c2ecf20Sopenharmony_ci/* 3D, ltcx writes instance 1 */ 2028c2ecf20Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_GPUSWR2 0x89 2038c2ecf20Sopenharmony_ci/* AXI Switch read client */ 2048c2ecf20Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_AXISR 0x8c 2058c2ecf20Sopenharmony_ci/* AXI Switch write client */ 2068c2ecf20Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_AXISW 0x8d 2078c2ecf20Sopenharmony_ci/* EQOS read client */ 2088c2ecf20Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_EQOSR 0x8e 2098c2ecf20Sopenharmony_ci/* EQOS write client */ 2108c2ecf20Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_EQOSW 0x8f 2118c2ecf20Sopenharmony_ci/* UFSHC read client */ 2128c2ecf20Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_UFSHCR 0x90 2138c2ecf20Sopenharmony_ci/* UFSHC write client */ 2148c2ecf20Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_UFSHCW 0x91 2158c2ecf20Sopenharmony_ci/* NVDISPLAY read client */ 2168c2ecf20Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_NVDISPLAYR 0x92 2178c2ecf20Sopenharmony_ci/* BPMP read client */ 2188c2ecf20Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_BPMPR 0x93 2198c2ecf20Sopenharmony_ci/* BPMP write client */ 2208c2ecf20Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_BPMPW 0x94 2218c2ecf20Sopenharmony_ci/* BPMPDMA read client */ 2228c2ecf20Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_BPMPDMAR 0x95 2238c2ecf20Sopenharmony_ci/* BPMPDMA write client */ 2248c2ecf20Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_BPMPDMAW 0x96 2258c2ecf20Sopenharmony_ci/* AON read client */ 2268c2ecf20Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_AONR 0x97 2278c2ecf20Sopenharmony_ci/* AON write client */ 2288c2ecf20Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_AONW 0x98 2298c2ecf20Sopenharmony_ci/* AONDMA read client */ 2308c2ecf20Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_AONDMAR 0x99 2318c2ecf20Sopenharmony_ci/* AONDMA write client */ 2328c2ecf20Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_AONDMAW 0x9a 2338c2ecf20Sopenharmony_ci/* SCE read client */ 2348c2ecf20Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_SCER 0x9b 2358c2ecf20Sopenharmony_ci/* SCE write client */ 2368c2ecf20Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_SCEW 0x9c 2378c2ecf20Sopenharmony_ci/* SCEDMA read client */ 2388c2ecf20Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_SCEDMAR 0x9d 2398c2ecf20Sopenharmony_ci/* SCEDMA write client */ 2408c2ecf20Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_SCEDMAW 0x9e 2418c2ecf20Sopenharmony_ci/* APEDMA read client */ 2428c2ecf20Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_APEDMAR 0x9f 2438c2ecf20Sopenharmony_ci/* APEDMA write client */ 2448c2ecf20Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_APEDMAW 0xa0 2458c2ecf20Sopenharmony_ci/* NVDISPLAY read client instance 2 */ 2468c2ecf20Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_NVDISPLAYR1 0xa1 2478c2ecf20Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_VICSRD1 0xa2 2488c2ecf20Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_NVDECSRD1 0xa3 2498c2ecf20Sopenharmony_ci 2508c2ecf20Sopenharmony_ci#endif 251