Raviteja Laggyshetty 3063c3dfa0 interconnect: qcom: add QCS8300 interconnect provider driver
Add driver for the Qualcomm interconnect buses found in QCS8300
based platforms. The topology consists of several NoCs that are
controlled by a remote processor that collects the aggregated
bandwidth for each master-slave pairs.

Signed-off-by: Raviteja Laggyshetty <quic_rlaggysh@quicinc.com>
Link: https://lore.kernel.org/r/20240910101013.3020-3-quic_rlaggysh@quicinc.com
Signed-off-by: Georgi Djakov <djakov@kernel.org>
2024-10-22 12:36:29 +03:00

178 lines
6.7 KiB
C

/* SPDX-License-Identifier: GPL-2.0-only */
/*
* Copyright (c) 2024, Qualcomm Innovation Center, Inc. All rights reserved.
*/
#ifndef __DRIVERS_INTERCONNECT_QCOM_QCS8300_H
#define __DRIVERS_INTERCONNECT_QCOM_QCS8300_H
#define QCS8300_MASTER_GPU_TCU 0
#define QCS8300_MASTER_PCIE_TCU 1
#define QCS8300_MASTER_SYS_TCU 2
#define QCS8300_MASTER_APPSS_PROC 3
#define QCS8300_MASTER_LLCC 4
#define QCS8300_MASTER_CNOC_LPASS_AG_NOC 5
#define QCS8300_MASTER_GIC_AHB 6
#define QCS8300_MASTER_CDSP_NOC_CFG 7
#define QCS8300_MASTER_QDSS_BAM 8
#define QCS8300_MASTER_QUP_0 9
#define QCS8300_MASTER_QUP_1 10
#define QCS8300_MASTER_A1NOC_SNOC 11
#define QCS8300_MASTER_A2NOC_SNOC 12
#define QCS8300_MASTER_CAMNOC_HF 13
#define QCS8300_MASTER_CAMNOC_ICP 14
#define QCS8300_MASTER_CAMNOC_SF 15
#define QCS8300_MASTER_COMPUTE_NOC 16
#define QCS8300_MASTER_CNOC_A2NOC 17
#define QCS8300_MASTER_CNOC_DC_NOC 18
#define QCS8300_MASTER_GEM_NOC_CFG 19
#define QCS8300_MASTER_GEM_NOC_CNOC 20
#define QCS8300_MASTER_GEM_NOC_PCIE_SNOC 21
#define QCS8300_MASTER_GPDSP_SAIL 22
#define QCS8300_MASTER_GFX3D 23
#define QCS8300_MASTER_LPASS_ANOC 24
#define QCS8300_MASTER_MDP0 25
#define QCS8300_MASTER_MDP1 26
#define QCS8300_MASTER_MNOC_HF_MEM_NOC 27
#define QCS8300_MASTER_CNOC_MNOC_HF_CFG 28
#define QCS8300_MASTER_MNOC_SF_MEM_NOC 29
#define QCS8300_MASTER_CNOC_MNOC_SF_CFG 30
#define QCS8300_MASTER_ANOC_PCIE_GEM_NOC 31
#define QCS8300_MASTER_SAILSS_MD0 32
#define QCS8300_MASTER_SNOC_CFG 33
#define QCS8300_MASTER_SNOC_GC_MEM_NOC 34
#define QCS8300_MASTER_SNOC_SF_MEM_NOC 35
#define QCS8300_MASTER_VIDEO_P0 36
#define QCS8300_MASTER_VIDEO_PROC 37
#define QCS8300_MASTER_VIDEO_V_PROC 38
#define QCS8300_MASTER_QUP_CORE_0 39
#define QCS8300_MASTER_QUP_CORE_1 40
#define QCS8300_MASTER_QUP_CORE_3 41
#define QCS8300_MASTER_CRYPTO_CORE0 42
#define QCS8300_MASTER_CRYPTO_CORE1 43
#define QCS8300_MASTER_DSP0 44
#define QCS8300_MASTER_IPA 45
#define QCS8300_MASTER_LPASS_PROC 46
#define QCS8300_MASTER_CDSP_PROC 47
#define QCS8300_MASTER_PIMEM 48
#define QCS8300_MASTER_QUP_3 49
#define QCS8300_MASTER_EMAC 50
#define QCS8300_MASTER_GIC 51
#define QCS8300_MASTER_PCIE_0 52
#define QCS8300_MASTER_PCIE_1 53
#define QCS8300_MASTER_QDSS_ETR_0 54
#define QCS8300_MASTER_QDSS_ETR_1 55
#define QCS8300_MASTER_SDC 56
#define QCS8300_MASTER_UFS_MEM 57
#define QCS8300_MASTER_USB2 58
#define QCS8300_MASTER_USB3_0 59
#define QCS8300_SLAVE_EBI1 60
#define QCS8300_SLAVE_AHB2PHY_2 61
#define QCS8300_SLAVE_AHB2PHY_3 62
#define QCS8300_SLAVE_ANOC_THROTTLE_CFG 63
#define QCS8300_SLAVE_AOSS 64
#define QCS8300_SLAVE_APPSS 65
#define QCS8300_SLAVE_BOOT_ROM 66
#define QCS8300_SLAVE_CAMERA_CFG 67
#define QCS8300_SLAVE_CAMERA_NRT_THROTTLE_CFG 68
#define QCS8300_SLAVE_CAMERA_RT_THROTTLE_CFG 69
#define QCS8300_SLAVE_CLK_CTL 70
#define QCS8300_SLAVE_CDSP_CFG 71
#define QCS8300_SLAVE_RBCPR_CX_CFG 72
#define QCS8300_SLAVE_RBCPR_MMCX_CFG 73
#define QCS8300_SLAVE_RBCPR_MX_CFG 74
#define QCS8300_SLAVE_CPR_NSPCX 75
#define QCS8300_SLAVE_CPR_NSPHMX 76
#define QCS8300_SLAVE_CRYPTO_0_CFG 77
#define QCS8300_SLAVE_CX_RDPM 78
#define QCS8300_SLAVE_DISPLAY_CFG 79
#define QCS8300_SLAVE_DISPLAY_RT_THROTTLE_CFG 80
#define QCS8300_SLAVE_EMAC_CFG 81
#define QCS8300_SLAVE_GP_DSP0_CFG 82
#define QCS8300_SLAVE_GPDSP0_THROTTLE_CFG 83
#define QCS8300_SLAVE_GPU_TCU_THROTTLE_CFG 84
#define QCS8300_SLAVE_GFX3D_CFG 85
#define QCS8300_SLAVE_HWKM 86
#define QCS8300_SLAVE_IMEM_CFG 87
#define QCS8300_SLAVE_IPA_CFG 88
#define QCS8300_SLAVE_IPC_ROUTER_CFG 89
#define QCS8300_SLAVE_LLCC_CFG 90
#define QCS8300_SLAVE_LPASS 91
#define QCS8300_SLAVE_LPASS_CORE_CFG 92
#define QCS8300_SLAVE_LPASS_LPI_CFG 93
#define QCS8300_SLAVE_LPASS_MPU_CFG 94
#define QCS8300_SLAVE_LPASS_THROTTLE_CFG 95
#define QCS8300_SLAVE_LPASS_TOP_CFG 96
#define QCS8300_SLAVE_MX_RDPM 97
#define QCS8300_SLAVE_MXC_RDPM 98
#define QCS8300_SLAVE_PCIE_0_CFG 99
#define QCS8300_SLAVE_PCIE_1_CFG 100
#define QCS8300_SLAVE_PCIE_TCU_THROTTLE_CFG 101
#define QCS8300_SLAVE_PCIE_THROTTLE_CFG 102
#define QCS8300_SLAVE_PDM 103
#define QCS8300_SLAVE_PIMEM_CFG 104
#define QCS8300_SLAVE_PKA_WRAPPER_CFG 105
#define QCS8300_SLAVE_QDSS_CFG 106
#define QCS8300_SLAVE_QM_CFG 107
#define QCS8300_SLAVE_QM_MPU_CFG 108
#define QCS8300_SLAVE_QUP_0 109
#define QCS8300_SLAVE_QUP_1 110
#define QCS8300_SLAVE_QUP_3 111
#define QCS8300_SLAVE_SAIL_THROTTLE_CFG 112
#define QCS8300_SLAVE_SDC1 113
#define QCS8300_SLAVE_SECURITY 114
#define QCS8300_SLAVE_SNOC_THROTTLE_CFG 115
#define QCS8300_SLAVE_TCSR 116
#define QCS8300_SLAVE_TLMM 117
#define QCS8300_SLAVE_TSC_CFG 118
#define QCS8300_SLAVE_UFS_MEM_CFG 119
#define QCS8300_SLAVE_USB2 120
#define QCS8300_SLAVE_USB3_0 121
#define QCS8300_SLAVE_VENUS_CFG 122
#define QCS8300_SLAVE_VENUS_CVP_THROTTLE_CFG 123
#define QCS8300_SLAVE_VENUS_V_CPU_THROTTLE_CFG 124
#define QCS8300_SLAVE_VENUS_VCODEC_THROTTLE_CFG 125
#define QCS8300_SLAVE_A1NOC_SNOC 126
#define QCS8300_SLAVE_A2NOC_SNOC 127
#define QCS8300_SLAVE_DDRSS_CFG 128
#define QCS8300_SLAVE_GEM_NOC_CNOC 129
#define QCS8300_SLAVE_GEM_NOC_CFG 130
#define QCS8300_SLAVE_SNOC_GEM_NOC_GC 131
#define QCS8300_SLAVE_SNOC_GEM_NOC_SF 132
#define QCS8300_SLAVE_GP_DSP_SAIL_NOC 133
#define QCS8300_SLAVE_GPDSP_NOC_CFG 134
#define QCS8300_SLAVE_HCP_A 135
#define QCS8300_SLAVE_LLCC 136
#define QCS8300_SLAVE_MNOC_HF_MEM_NOC 137
#define QCS8300_SLAVE_MNOC_SF_MEM_NOC 138
#define QCS8300_SLAVE_CNOC_MNOC_HF_CFG 139
#define QCS8300_SLAVE_CNOC_MNOC_SF_CFG 140
#define QCS8300_SLAVE_CDSP_MEM_NOC 141
#define QCS8300_SLAVE_GEM_NOC_PCIE_CNOC 142
#define QCS8300_SLAVE_PCIE_ANOC_CFG 143
#define QCS8300_SLAVE_ANOC_PCIE_GEM_NOC 144
#define QCS8300_SLAVE_SNOC_CFG 145
#define QCS8300_SLAVE_LPASS_SNOC 146
#define QCS8300_SLAVE_QUP_CORE_0 147
#define QCS8300_SLAVE_QUP_CORE_1 148
#define QCS8300_SLAVE_QUP_CORE_3 149
#define QCS8300_SLAVE_BOOT_IMEM 150
#define QCS8300_SLAVE_IMEM 151
#define QCS8300_SLAVE_PIMEM 152
#define QCS8300_SLAVE_SERVICE_NSP_NOC 153
#define QCS8300_SLAVE_SERVICE_GEM_NOC_1 154
#define QCS8300_SLAVE_SERVICE_MNOC_HF 155
#define QCS8300_SLAVE_SERVICE_MNOC_SF 156
#define QCS8300_SLAVE_SERVICES_LPASS_AML_NOC 157
#define QCS8300_SLAVE_SERVICE_LPASS_AG_NOC 158
#define QCS8300_SLAVE_SERVICE_GEM_NOC_2 159
#define QCS8300_SLAVE_SERVICE_SNOC 160
#define QCS8300_SLAVE_SERVICE_GEM_NOC 161
#define QCS8300_SLAVE_SERVICE_GEM_NOC2 162
#define QCS8300_SLAVE_PCIE_0 163
#define QCS8300_SLAVE_PCIE_1 164
#define QCS8300_SLAVE_QDSS_STM 165
#define QCS8300_SLAVE_TCU 166
#endif