162306a36Sopenharmony_ci#ifndef DT_BINDINGS_MEMORY_TEGRA186_MC_H 262306a36Sopenharmony_ci#define DT_BINDINGS_MEMORY_TEGRA186_MC_H 362306a36Sopenharmony_ci 462306a36Sopenharmony_ci/* special clients */ 562306a36Sopenharmony_ci#define TEGRA186_SID_INVALID 0x00 662306a36Sopenharmony_ci#define TEGRA186_SID_PASSTHROUGH 0x7f 762306a36Sopenharmony_ci 862306a36Sopenharmony_ci/* host1x clients */ 962306a36Sopenharmony_ci#define TEGRA186_SID_HOST1X 0x01 1062306a36Sopenharmony_ci#define TEGRA186_SID_CSI 0x02 1162306a36Sopenharmony_ci#define TEGRA186_SID_VIC 0x03 1262306a36Sopenharmony_ci#define TEGRA186_SID_VI 0x04 1362306a36Sopenharmony_ci#define TEGRA186_SID_ISP 0x05 1462306a36Sopenharmony_ci#define TEGRA186_SID_NVDEC 0x06 1562306a36Sopenharmony_ci#define TEGRA186_SID_NVENC 0x07 1662306a36Sopenharmony_ci#define TEGRA186_SID_NVJPG 0x08 1762306a36Sopenharmony_ci#define TEGRA186_SID_NVDISPLAY 0x09 1862306a36Sopenharmony_ci#define TEGRA186_SID_TSEC 0x0a 1962306a36Sopenharmony_ci#define TEGRA186_SID_TSECB 0x0b 2062306a36Sopenharmony_ci#define TEGRA186_SID_SE 0x0c 2162306a36Sopenharmony_ci#define TEGRA186_SID_SE1 0x0d 2262306a36Sopenharmony_ci#define TEGRA186_SID_SE2 0x0e 2362306a36Sopenharmony_ci#define TEGRA186_SID_SE3 0x0f 2462306a36Sopenharmony_ci 2562306a36Sopenharmony_ci/* GPU clients */ 2662306a36Sopenharmony_ci#define TEGRA186_SID_GPU 0x10 2762306a36Sopenharmony_ci 2862306a36Sopenharmony_ci/* other SoC clients */ 2962306a36Sopenharmony_ci#define TEGRA186_SID_AFI 0x11 3062306a36Sopenharmony_ci#define TEGRA186_SID_HDA 0x12 3162306a36Sopenharmony_ci#define TEGRA186_SID_ETR 0x13 3262306a36Sopenharmony_ci#define TEGRA186_SID_EQOS 0x14 3362306a36Sopenharmony_ci#define TEGRA186_SID_UFSHC 0x15 3462306a36Sopenharmony_ci#define TEGRA186_SID_AON 0x16 3562306a36Sopenharmony_ci#define TEGRA186_SID_SDMMC4 0x17 3662306a36Sopenharmony_ci#define TEGRA186_SID_SDMMC3 0x18 3762306a36Sopenharmony_ci#define TEGRA186_SID_SDMMC2 0x19 3862306a36Sopenharmony_ci#define TEGRA186_SID_SDMMC1 0x1a 3962306a36Sopenharmony_ci#define TEGRA186_SID_XUSB_HOST 0x1b 4062306a36Sopenharmony_ci#define TEGRA186_SID_XUSB_DEV 0x1c 4162306a36Sopenharmony_ci#define TEGRA186_SID_SATA 0x1d 4262306a36Sopenharmony_ci#define TEGRA186_SID_APE 0x1e 4362306a36Sopenharmony_ci#define TEGRA186_SID_SCE 0x1f 4462306a36Sopenharmony_ci 4562306a36Sopenharmony_ci/* GPC DMA clients */ 4662306a36Sopenharmony_ci#define TEGRA186_SID_GPCDMA_0 0x20 4762306a36Sopenharmony_ci#define TEGRA186_SID_GPCDMA_1 0x21 4862306a36Sopenharmony_ci#define TEGRA186_SID_GPCDMA_2 0x22 4962306a36Sopenharmony_ci#define TEGRA186_SID_GPCDMA_3 0x23 5062306a36Sopenharmony_ci#define TEGRA186_SID_GPCDMA_4 0x24 5162306a36Sopenharmony_ci#define TEGRA186_SID_GPCDMA_5 0x25 5262306a36Sopenharmony_ci#define TEGRA186_SID_GPCDMA_6 0x26 5362306a36Sopenharmony_ci#define TEGRA186_SID_GPCDMA_7 0x27 5462306a36Sopenharmony_ci 5562306a36Sopenharmony_ci/* APE DMA clients */ 5662306a36Sopenharmony_ci#define TEGRA186_SID_APE_1 0x28 5762306a36Sopenharmony_ci#define TEGRA186_SID_APE_2 0x29 5862306a36Sopenharmony_ci 5962306a36Sopenharmony_ci/* camera RTCPU */ 6062306a36Sopenharmony_ci#define TEGRA186_SID_RCE 0x2a 6162306a36Sopenharmony_ci 6262306a36Sopenharmony_ci/* camera RTCPU on host1x address space */ 6362306a36Sopenharmony_ci#define TEGRA186_SID_RCE_1X 0x2b 6462306a36Sopenharmony_ci 6562306a36Sopenharmony_ci/* APE DMA clients */ 6662306a36Sopenharmony_ci#define TEGRA186_SID_APE_3 0x2c 6762306a36Sopenharmony_ci 6862306a36Sopenharmony_ci/* camera RTCPU running on APE */ 6962306a36Sopenharmony_ci#define TEGRA186_SID_APE_CAM 0x2d 7062306a36Sopenharmony_ci#define TEGRA186_SID_APE_CAM_1X 0x2e 7162306a36Sopenharmony_ci 7262306a36Sopenharmony_ci/* 7362306a36Sopenharmony_ci * The BPMP has its SID value hardcoded in the firmware. Changing it requires 7462306a36Sopenharmony_ci * considerable effort. 7562306a36Sopenharmony_ci */ 7662306a36Sopenharmony_ci#define TEGRA186_SID_BPMP 0x32 7762306a36Sopenharmony_ci 7862306a36Sopenharmony_ci/* for SMMU tests */ 7962306a36Sopenharmony_ci#define TEGRA186_SID_SMMU_TEST 0x33 8062306a36Sopenharmony_ci 8162306a36Sopenharmony_ci/* host1x virtualization channels */ 8262306a36Sopenharmony_ci#define TEGRA186_SID_HOST1X_CTX0 0x38 8362306a36Sopenharmony_ci#define TEGRA186_SID_HOST1X_CTX1 0x39 8462306a36Sopenharmony_ci#define TEGRA186_SID_HOST1X_CTX2 0x3a 8562306a36Sopenharmony_ci#define TEGRA186_SID_HOST1X_CTX3 0x3b 8662306a36Sopenharmony_ci#define TEGRA186_SID_HOST1X_CTX4 0x3c 8762306a36Sopenharmony_ci#define TEGRA186_SID_HOST1X_CTX5 0x3d 8862306a36Sopenharmony_ci#define TEGRA186_SID_HOST1X_CTX6 0x3e 8962306a36Sopenharmony_ci#define TEGRA186_SID_HOST1X_CTX7 0x3f 9062306a36Sopenharmony_ci 9162306a36Sopenharmony_ci/* host1x command buffers */ 9262306a36Sopenharmony_ci#define TEGRA186_SID_HOST1X_VM0 0x40 9362306a36Sopenharmony_ci#define TEGRA186_SID_HOST1X_VM1 0x41 9462306a36Sopenharmony_ci#define TEGRA186_SID_HOST1X_VM2 0x42 9562306a36Sopenharmony_ci#define TEGRA186_SID_HOST1X_VM3 0x43 9662306a36Sopenharmony_ci#define TEGRA186_SID_HOST1X_VM4 0x44 9762306a36Sopenharmony_ci#define TEGRA186_SID_HOST1X_VM5 0x45 9862306a36Sopenharmony_ci#define TEGRA186_SID_HOST1X_VM6 0x46 9962306a36Sopenharmony_ci#define TEGRA186_SID_HOST1X_VM7 0x47 10062306a36Sopenharmony_ci 10162306a36Sopenharmony_ci/* SE data buffers */ 10262306a36Sopenharmony_ci#define TEGRA186_SID_SE_VM0 0x48 10362306a36Sopenharmony_ci#define TEGRA186_SID_SE_VM1 0x49 10462306a36Sopenharmony_ci#define TEGRA186_SID_SE_VM2 0x4a 10562306a36Sopenharmony_ci#define TEGRA186_SID_SE_VM3 0x4b 10662306a36Sopenharmony_ci#define TEGRA186_SID_SE_VM4 0x4c 10762306a36Sopenharmony_ci#define TEGRA186_SID_SE_VM5 0x4d 10862306a36Sopenharmony_ci#define TEGRA186_SID_SE_VM6 0x4e 10962306a36Sopenharmony_ci#define TEGRA186_SID_SE_VM7 0x4f 11062306a36Sopenharmony_ci 11162306a36Sopenharmony_ci/* 11262306a36Sopenharmony_ci * memory client IDs 11362306a36Sopenharmony_ci */ 11462306a36Sopenharmony_ci 11562306a36Sopenharmony_ci/* Misses from System Memory Management Unit (SMMU) Page Table Cache (PTC) */ 11662306a36Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_PTCR 0x00 11762306a36Sopenharmony_ci/* PCIE reads */ 11862306a36Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_AFIR 0x0e 11962306a36Sopenharmony_ci/* High-definition audio (HDA) reads */ 12062306a36Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_HDAR 0x15 12162306a36Sopenharmony_ci/* Host channel data reads */ 12262306a36Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_HOST1XDMAR 0x16 12362306a36Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_NVENCSRD 0x1c 12462306a36Sopenharmony_ci/* SATA reads */ 12562306a36Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_SATAR 0x1f 12662306a36Sopenharmony_ci/* Reads from Cortex-A9 4 CPU cores via the L2 cache */ 12762306a36Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_MPCORER 0x27 12862306a36Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_NVENCSWR 0x2b 12962306a36Sopenharmony_ci/* PCIE writes */ 13062306a36Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_AFIW 0x31 13162306a36Sopenharmony_ci/* High-definition audio (HDA) writes */ 13262306a36Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_HDAW 0x35 13362306a36Sopenharmony_ci/* Writes from Cortex-A9 4 CPU cores via the L2 cache */ 13462306a36Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_MPCOREW 0x39 13562306a36Sopenharmony_ci/* SATA writes */ 13662306a36Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_SATAW 0x3d 13762306a36Sopenharmony_ci/* ISP Read client for Crossbar A */ 13862306a36Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_ISPRA 0x44 13962306a36Sopenharmony_ci/* ISP Write client for Crossbar A */ 14062306a36Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_ISPWA 0x46 14162306a36Sopenharmony_ci/* ISP Write client Crossbar B */ 14262306a36Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_ISPWB 0x47 14362306a36Sopenharmony_ci/* XUSB reads */ 14462306a36Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_XUSB_HOSTR 0x4a 14562306a36Sopenharmony_ci/* XUSB_HOST writes */ 14662306a36Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_XUSB_HOSTW 0x4b 14762306a36Sopenharmony_ci/* XUSB reads */ 14862306a36Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_XUSB_DEVR 0x4c 14962306a36Sopenharmony_ci/* XUSB_DEV writes */ 15062306a36Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_XUSB_DEVW 0x4d 15162306a36Sopenharmony_ci/* TSEC Memory Return Data Client Description */ 15262306a36Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_TSECSRD 0x54 15362306a36Sopenharmony_ci/* TSEC Memory Write Client Description */ 15462306a36Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_TSECSWR 0x55 15562306a36Sopenharmony_ci/* 3D, ltcx reads instance 0 */ 15662306a36Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_GPUSRD 0x58 15762306a36Sopenharmony_ci/* 3D, ltcx writes instance 0 */ 15862306a36Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_GPUSWR 0x59 15962306a36Sopenharmony_ci/* sdmmca memory read client */ 16062306a36Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_SDMMCRA 0x60 16162306a36Sopenharmony_ci/* sdmmcbmemory read client */ 16262306a36Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_SDMMCRAA 0x61 16362306a36Sopenharmony_ci/* sdmmc memory read client */ 16462306a36Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_SDMMCR 0x62 16562306a36Sopenharmony_ci/* sdmmcd memory read client */ 16662306a36Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_SDMMCRAB 0x63 16762306a36Sopenharmony_ci/* sdmmca memory write client */ 16862306a36Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_SDMMCWA 0x64 16962306a36Sopenharmony_ci/* sdmmcb memory write client */ 17062306a36Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_SDMMCWAA 0x65 17162306a36Sopenharmony_ci/* sdmmc memory write client */ 17262306a36Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_SDMMCW 0x66 17362306a36Sopenharmony_ci/* sdmmcd memory write client */ 17462306a36Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_SDMMCWAB 0x67 17562306a36Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_VICSRD 0x6c 17662306a36Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_VICSWR 0x6d 17762306a36Sopenharmony_ci/* VI Write client */ 17862306a36Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_VIW 0x72 17962306a36Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_NVDECSRD 0x78 18062306a36Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_NVDECSWR 0x79 18162306a36Sopenharmony_ci/* Audio Processing (APE) engine reads */ 18262306a36Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_APER 0x7a 18362306a36Sopenharmony_ci/* Audio Processing (APE) engine writes */ 18462306a36Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_APEW 0x7b 18562306a36Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_NVJPGSRD 0x7e 18662306a36Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_NVJPGSWR 0x7f 18762306a36Sopenharmony_ci/* SE Memory Return Data Client Description */ 18862306a36Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_SESRD 0x80 18962306a36Sopenharmony_ci/* SE Memory Write Client Description */ 19062306a36Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_SESWR 0x81 19162306a36Sopenharmony_ci/* ETR reads */ 19262306a36Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_ETRR 0x84 19362306a36Sopenharmony_ci/* ETR writes */ 19462306a36Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_ETRW 0x85 19562306a36Sopenharmony_ci/* TSECB Memory Return Data Client Description */ 19662306a36Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_TSECSRDB 0x86 19762306a36Sopenharmony_ci/* TSECB Memory Write Client Description */ 19862306a36Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_TSECSWRB 0x87 19962306a36Sopenharmony_ci/* 3D, ltcx reads instance 1 */ 20062306a36Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_GPUSRD2 0x88 20162306a36Sopenharmony_ci/* 3D, ltcx writes instance 1 */ 20262306a36Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_GPUSWR2 0x89 20362306a36Sopenharmony_ci/* AXI Switch read client */ 20462306a36Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_AXISR 0x8c 20562306a36Sopenharmony_ci/* AXI Switch write client */ 20662306a36Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_AXISW 0x8d 20762306a36Sopenharmony_ci/* EQOS read client */ 20862306a36Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_EQOSR 0x8e 20962306a36Sopenharmony_ci/* EQOS write client */ 21062306a36Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_EQOSW 0x8f 21162306a36Sopenharmony_ci/* UFSHC read client */ 21262306a36Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_UFSHCR 0x90 21362306a36Sopenharmony_ci/* UFSHC write client */ 21462306a36Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_UFSHCW 0x91 21562306a36Sopenharmony_ci/* NVDISPLAY read client */ 21662306a36Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_NVDISPLAYR 0x92 21762306a36Sopenharmony_ci/* BPMP read client */ 21862306a36Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_BPMPR 0x93 21962306a36Sopenharmony_ci/* BPMP write client */ 22062306a36Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_BPMPW 0x94 22162306a36Sopenharmony_ci/* BPMPDMA read client */ 22262306a36Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_BPMPDMAR 0x95 22362306a36Sopenharmony_ci/* BPMPDMA write client */ 22462306a36Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_BPMPDMAW 0x96 22562306a36Sopenharmony_ci/* AON read client */ 22662306a36Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_AONR 0x97 22762306a36Sopenharmony_ci/* AON write client */ 22862306a36Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_AONW 0x98 22962306a36Sopenharmony_ci/* AONDMA read client */ 23062306a36Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_AONDMAR 0x99 23162306a36Sopenharmony_ci/* AONDMA write client */ 23262306a36Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_AONDMAW 0x9a 23362306a36Sopenharmony_ci/* SCE read client */ 23462306a36Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_SCER 0x9b 23562306a36Sopenharmony_ci/* SCE write client */ 23662306a36Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_SCEW 0x9c 23762306a36Sopenharmony_ci/* SCEDMA read client */ 23862306a36Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_SCEDMAR 0x9d 23962306a36Sopenharmony_ci/* SCEDMA write client */ 24062306a36Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_SCEDMAW 0x9e 24162306a36Sopenharmony_ci/* APEDMA read client */ 24262306a36Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_APEDMAR 0x9f 24362306a36Sopenharmony_ci/* APEDMA write client */ 24462306a36Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_APEDMAW 0xa0 24562306a36Sopenharmony_ci/* NVDISPLAY read client instance 2 */ 24662306a36Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_NVDISPLAYR1 0xa1 24762306a36Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_VICSRD1 0xa2 24862306a36Sopenharmony_ci#define TEGRA186_MEMORY_CLIENT_NVDECSRD1 0xa3 24962306a36Sopenharmony_ci 25062306a36Sopenharmony_ci#endif 251