Merge branch 'icc-msm8909' into icc-next

Add bindings and driver for the three MSM8909 NoCs/interconnects:
BIMC, SNoC and PCNoC. The driver allows scaling the bus bandwidths
for better power management.

* icc-msm8909
  dt-bindings: interconnect: Add Qualcomm MSM8909 DT bindings
  interconnect: qcom: Add MSM8909 interconnect provider driver
  interconnect: qcom: msm8909: constify pointer to qcom_icc_node

Link: https://lore.kernel.org/r/20231220-icc-msm8909-v2-0-3b68bbed2891@kernkonzept.com
Signed-off-by: Georgi Djakov <djakov@kernel.org>
This commit is contained in:
Georgi Djakov 2024-02-11 22:38:44 +02:00
commit cd6d762c20
5 changed files with 1436 additions and 0 deletions

View File

@ -23,6 +23,9 @@ properties:
compatible:
enum:
- qcom,msm8909-bimc
- qcom,msm8909-pcnoc
- qcom,msm8909-snoc
- qcom,msm8916-bimc
- qcom,msm8916-pcnoc
- qcom,msm8916-snoc

View File

@ -8,6 +8,15 @@ config INTERCONNECT_QCOM
config INTERCONNECT_QCOM_BCM_VOTER
tristate
config INTERCONNECT_QCOM_MSM8909
tristate "Qualcomm MSM8909 interconnect driver"
depends on INTERCONNECT_QCOM
depends on QCOM_SMD_RPM
select INTERCONNECT_QCOM_SMD_RPM
help
This is a driver for the Qualcomm Network-on-Chip on msm8909-based
platforms.
config INTERCONNECT_QCOM_MSM8916
tristate "Qualcomm MSM8916 interconnect driver"
depends on INTERCONNECT_QCOM

View File

@ -4,6 +4,7 @@ obj-$(CONFIG_INTERCONNECT_QCOM) += interconnect_qcom.o
interconnect_qcom-y := icc-common.o
icc-bcm-voter-objs := bcm-voter.o
qnoc-msm8909-objs := msm8909.o
qnoc-msm8916-objs := msm8916.o
qnoc-msm8939-objs := msm8939.o
qnoc-msm8974-objs := msm8974.o
@ -36,6 +37,7 @@ qnoc-x1e80100-objs := x1e80100.o
icc-smd-rpm-objs := smd-rpm.o icc-rpm.o icc-rpm-clocks.o
obj-$(CONFIG_INTERCONNECT_QCOM_BCM_VOTER) += icc-bcm-voter.o
obj-$(CONFIG_INTERCONNECT_QCOM_MSM8909) += qnoc-msm8909.o
obj-$(CONFIG_INTERCONNECT_QCOM_MSM8916) += qnoc-msm8916.o
obj-$(CONFIG_INTERCONNECT_QCOM_MSM8939) += qnoc-msm8939.o
obj-$(CONFIG_INTERCONNECT_QCOM_MSM8974) += qnoc-msm8974.o

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,93 @@
/* SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) */
/*
* Qualcomm MSM8909 interconnect IDs
*/
#ifndef __DT_BINDINGS_INTERCONNECT_QCOM_MSM8909_H
#define __DT_BINDINGS_INTERCONNECT_QCOM_MSM8909_H
/* BIMC fabric */
#define MAS_APPS_PROC 0
#define MAS_OXILI 1
#define MAS_SNOC_BIMC_0 2
#define MAS_SNOC_BIMC_1 3
#define MAS_TCU_0 4
#define MAS_TCU_1 5
#define SLV_EBI 6
#define SLV_BIMC_SNOC 7
/* PCNOC fabric */
#define MAS_AUDIO 0
#define MAS_SPDM 1
#define MAS_DEHR 2
#define MAS_QPIC 3
#define MAS_BLSP_1 4
#define MAS_USB_HS 5
#define MAS_CRYPTO 6
#define MAS_SDCC_1 7
#define MAS_SDCC_2 8
#define MAS_SNOC_PCNOC 9
#define PCNOC_M_0 10
#define PCNOC_M_1 11
#define PCNOC_INT_0 12
#define PCNOC_INT_1 13
#define PCNOC_S_0 14
#define PCNOC_S_1 15
#define PCNOC_S_2 16
#define PCNOC_S_3 17
#define PCNOC_S_4 18
#define PCNOC_S_5 19
#define PCNOC_S_7 20
#define SLV_TCSR 21
#define SLV_SDCC_1 22
#define SLV_BLSP_1 23
#define SLV_CRYPTO_0_CFG 24
#define SLV_MESSAGE_RAM 25
#define SLV_PDM 26
#define SLV_PRNG 27
#define SLV_USB_HS 28
#define SLV_QPIC 29
#define SLV_SPDM 30
#define SLV_SDCC_2 31
#define SLV_AUDIO 32
#define SLV_DEHR_CFG 33
#define SLV_SNOC_CFG 34
#define SLV_QDSS_CFG 35
#define SLV_USB_PHY 36
#define SLV_CAMERA_SS_CFG 37
#define SLV_DISP_SS_CFG 38
#define SLV_VENUS_CFG 39
#define SLV_TLMM 40
#define SLV_GPU_CFG 41
#define SLV_IMEM_CFG 42
#define SLV_BIMC_CFG 43
#define SLV_PMIC_ARB 44
#define SLV_TCU 45
#define SLV_PCNOC_SNOC 46
/* SNOC fabric */
#define MAS_QDSS_BAM 0
#define MAS_BIMC_SNOC 1
#define MAS_MDP 2
#define MAS_PCNOC_SNOC 3
#define MAS_VENUS 4
#define MAS_VFE 5
#define MAS_QDSS_ETR 6
#define MM_INT_0 7
#define MM_INT_1 8
#define MM_INT_2 9
#define MM_INT_BIMC 10
#define QDSS_INT 11
#define SNOC_INT_0 12
#define SNOC_INT_1 13
#define SNOC_INT_BIMC 14
#define SLV_KPSS_AHB 15
#define SLV_SNOC_BIMC_0 16
#define SLV_SNOC_BIMC_1 17
#define SLV_IMEM 18
#define SLV_SNOC_PCNOC 19
#define SLV_QDSS_STM 20
#define SLV_CATS_0 21
#define SLV_CATS_1 22
#endif /* __DT_BINDINGS_INTERCONNECT_QCOM_MSM8909_H */