Commit 77d79677 authored by Raviteja Laggyshetty's avatar Raviteja Laggyshetty Committed by Georgi Djakov
Browse files

interconnect: qcom: add QCS615 interconnect provider driver



Add driver for the Qualcomm interconnect buses found in QCS615
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: default avatarRaviteja Laggyshetty <quic_rlaggysh@quicinc.com>
Link: https://lore.kernel.org/r/20240924143958.25-3-quic_rlaggysh@quicinc.com


Signed-off-by: default avatarGeorgi Djakov <djakov@kernel.org>
parent 6c5e948f
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -105,6 +105,15 @@ config INTERCONNECT_QCOM_QCS404
	  This is a driver for the Qualcomm Network-on-Chip on qcs404-based
	  platforms.

config INTERCONNECT_QCOM_QCS615
	tristate "Qualcomm QCS615 interconnect driver"
	depends on INTERCONNECT_QCOM_RPMH_POSSIBLE
	select INTERCONNECT_QCOM_RPMH
	select INTERCONNECT_QCOM_BCM_VOTER
	help
	  This is a driver for the Qualcomm Network-on-Chip on qcs615-based
	  platforms.

config INTERCONNECT_QCOM_QDU1000
	tristate "Qualcomm QDU1000/QRU1000 interconnect driver"
	depends on INTERCONNECT_QCOM_RPMH_POSSIBLE
+2 −0
Original line number Diff line number Diff line
@@ -15,6 +15,7 @@ qnoc-msm8996-objs := msm8996.o
icc-osm-l3-objs				:= osm-l3.o
qnoc-qcm2290-objs			:= qcm2290.o
qnoc-qcs404-objs			:= qcs404.o
qnoc-qcs615-objs			:= qcs615.o
qnoc-qdu1000-objs			:= qdu1000.o
icc-rpmh-obj				:= icc-rpmh.o
qnoc-sa8775p-objs			:= sa8775p.o
@@ -52,6 +53,7 @@ obj-$(CONFIG_INTERCONNECT_QCOM_MSM8996) += qnoc-msm8996.o
obj-$(CONFIG_INTERCONNECT_QCOM_OSM_L3) += icc-osm-l3.o
obj-$(CONFIG_INTERCONNECT_QCOM_QCM2290) += qnoc-qcm2290.o
obj-$(CONFIG_INTERCONNECT_QCOM_QCS404) += qnoc-qcs404.o
obj-$(CONFIG_INTERCONNECT_QCOM_QCS615) += qnoc-qcs615.o
obj-$(CONFIG_INTERCONNECT_QCOM_QDU1000) += qnoc-qdu1000.o
obj-$(CONFIG_INTERCONNECT_QCOM_RPMH) += icc-rpmh.o
obj-$(CONFIG_INTERCONNECT_QCOM_SA8775P) += qnoc-sa8775p.o
+1563 −0

File added.

Preview size limit exceeded, changes collapsed.

+128 −0
Original line number Diff line number Diff line
/* SPDX-License-Identifier: GPL-2.0-only */
/*
 * Copyright (c) 2024, Qualcomm Innovation Center, Inc. All rights reserved.
 */

#ifndef __DRIVERS_INTERCONNECT_QCOM_QCS615_H
#define __DRIVERS_INTERCONNECT_QCOM_QCS615_H

#define QCS615_MASTER_A1NOC_CFG				1
#define QCS615_MASTER_A1NOC_SNOC			2
#define QCS615_MASTER_ANOC_PCIE_SNOC			3
#define QCS615_MASTER_APPSS_PROC			4
#define QCS615_MASTER_BLSP_1				5
#define QCS615_MASTER_CAMNOC_HF0			6
#define QCS615_MASTER_CAMNOC_HF0_UNCOMP			7
#define QCS615_MASTER_CAMNOC_HF1			8
#define QCS615_MASTER_CAMNOC_HF1_UNCOMP			9
#define QCS615_MASTER_CAMNOC_SF				10
#define QCS615_MASTER_CAMNOC_SF_UNCOMP			11
#define QCS615_MASTER_CNOC_A2NOC			12
#define QCS615_MASTER_CNOC_DC_NOC			13
#define QCS615_MASTER_CNOC_MNOC_CFG			14
#define QCS615_MASTER_CRYPTO				15
#define QCS615_MASTER_EMAC_EVB				16
#define QCS615_MASTER_GEM_NOC_CFG			17
#define QCS615_MASTER_GEM_NOC_PCIE_SNOC			18
#define QCS615_MASTER_GEM_NOC_SNOC			19
#define QCS615_MASTER_GFX3D				20
#define QCS615_MASTER_GIC				21
#define QCS615_MASTER_GPU_TCU				22
#define QCS615_MASTER_IPA				23
#define QCS615_MASTER_IPA_CORE				24
#define QCS615_MASTER_LLCC				25
#define QCS615_MASTER_LPASS_ANOC			26
#define QCS615_MASTER_MDP0				27
#define QCS615_MASTER_MNOC_HF_MEM_NOC			28
#define QCS615_MASTER_MNOC_SF_MEM_NOC			29
#define QCS615_MASTER_PCIE				30
#define QCS615_MASTER_PIMEM				31
#define QCS615_MASTER_QDSS_BAM				32
#define QCS615_MASTER_QDSS_DAP				33
#define QCS615_MASTER_QDSS_ETR				34
#define QCS615_MASTER_QSPI				35
#define QCS615_MASTER_QUP_0				36
#define QCS615_MASTER_ROTATOR				37
#define QCS615_MASTER_SDCC_1				38
#define QCS615_MASTER_SDCC_2				39
#define QCS615_MASTER_SNOC_CFG				40
#define QCS615_MASTER_SNOC_CNOC				41
#define QCS615_MASTER_SNOC_GC_MEM_NOC			42
#define QCS615_MASTER_SNOC_SF_MEM_NOC			43
#define QCS615_MASTER_SPDM				44
#define QCS615_MASTER_SYS_TCU				45
#define QCS615_MASTER_UFS_MEM				46
#define QCS615_MASTER_USB2				47
#define QCS615_MASTER_USB3_0				48
#define QCS615_MASTER_VIDEO_P0				49
#define QCS615_MASTER_VIDEO_PROC			50
#define QCS615_SLAVE_A1NOC_CFG				51
#define QCS615_SLAVE_A1NOC_SNOC				52
#define QCS615_SLAVE_AHB2PHY_EAST			53
#define QCS615_SLAVE_AHB2PHY_WEST			54
#define QCS615_SLAVE_ANOC_PCIE_SNOC			55
#define QCS615_SLAVE_AOP				56
#define QCS615_SLAVE_AOSS				57
#define QCS615_SLAVE_APPSS				58
#define QCS615_SLAVE_CAMERA_CFG				59
#define QCS615_SLAVE_CAMNOC_UNCOMP			60
#define QCS615_SLAVE_CLK_CTL				61
#define QCS615_SLAVE_CNOC_A2NOC				62
#define QCS615_SLAVE_CNOC_DDRSS				63
#define QCS615_SLAVE_CNOC_MNOC_CFG			64
#define QCS615_SLAVE_CRYPTO_0_CFG			65
#define QCS615_SLAVE_DC_NOC_GEMNOC			66
#define QCS615_SLAVE_DISPLAY_CFG			67
#define QCS615_SLAVE_EBI1				68
#define QCS615_SLAVE_EMAC_AVB_CFG			69
#define QCS615_SLAVE_GEM_NOC_SNOC			70
#define QCS615_SLAVE_GFX3D_CFG				71
#define QCS615_SLAVE_GLM				72
#define QCS615_SLAVE_IMEM				73
#define QCS615_SLAVE_IMEM_CFG				74
#define QCS615_SLAVE_IPA_CFG				75
#define QCS615_SLAVE_IPA_CORE				76
#define QCS615_SLAVE_LLCC				77
#define QCS615_SLAVE_LLCC_CFG				78
#define QCS615_SLAVE_LPASS_SNOC				79
#define QCS615_SLAVE_MEM_NOC_PCIE_SNOC			80
#define QCS615_SLAVE_MNOC_HF_MEM_NOC			81
#define QCS615_SLAVE_MNOC_SF_MEM_NOC			82
#define QCS615_SLAVE_MSS_PROC_MS_MPU_CFG		83
#define QCS615_SLAVE_PCIE_0				84
#define QCS615_SLAVE_PCIE_CFG				85
#define QCS615_SLAVE_PIMEM				86
#define QCS615_SLAVE_PIMEM_CFG				87
#define QCS615_SLAVE_PRNG				88
#define QCS615_SLAVE_QDSS_CFG				89
#define QCS615_SLAVE_QDSS_STM				90
#define QCS615_SLAVE_QSPI				91
#define QCS615_SLAVE_QUP_0				92
#define QCS615_SLAVE_QUP_1				93
#define QCS615_SLAVE_RBCPR_CX_CFG			94
#define QCS615_SLAVE_RBCPR_MX_CFG			95
#define QCS615_SLAVE_SDCC_1				96
#define QCS615_SLAVE_SDCC_2				97
#define QCS615_SLAVE_SERVICE_A2NOC			98
#define QCS615_SLAVE_SERVICE_CNOC			99
#define QCS615_SLAVE_SERVICE_GEM_NOC			100
#define QCS615_SLAVE_SERVICE_MNOC			101
#define QCS615_SLAVE_SERVICE_SNOC			102
#define QCS615_SLAVE_SNOC_CFG				103
#define QCS615_SLAVE_SNOC_CNOC				104
#define QCS615_SLAVE_SNOC_GEM_NOC_SF			105
#define QCS615_SLAVE_SNOC_MEM_NOC_GC			106
#define QCS615_SLAVE_SPDM_WRAPPER			107
#define QCS615_SLAVE_TCSR				108
#define QCS615_SLAVE_TCU				109
#define QCS615_SLAVE_TLMM_EAST				110
#define QCS615_SLAVE_TLMM_SOUTH				111
#define QCS615_SLAVE_TLMM_WEST				112
#define QCS615_SLAVE_UFS_MEM_CFG			113
#define QCS615_SLAVE_USB2				114
#define QCS615_SLAVE_USB3				115
#define QCS615_SLAVE_VENUS_CFG				116
#define QCS615_SLAVE_VSENSE_CTRL_CFG			117

#endif