mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-28 21:33:52 +00:00
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:
commit
cd6d762c20
5 changed files with 1436 additions and 0 deletions
|
@ -23,6 +23,9 @@ properties:
|
||||||
|
|
||||||
compatible:
|
compatible:
|
||||||
enum:
|
enum:
|
||||||
|
- qcom,msm8909-bimc
|
||||||
|
- qcom,msm8909-pcnoc
|
||||||
|
- qcom,msm8909-snoc
|
||||||
- qcom,msm8916-bimc
|
- qcom,msm8916-bimc
|
||||||
- qcom,msm8916-pcnoc
|
- qcom,msm8916-pcnoc
|
||||||
- qcom,msm8916-snoc
|
- qcom,msm8916-snoc
|
||||||
|
|
|
@ -8,6 +8,15 @@ config INTERCONNECT_QCOM
|
||||||
config INTERCONNECT_QCOM_BCM_VOTER
|
config INTERCONNECT_QCOM_BCM_VOTER
|
||||||
tristate
|
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
|
config INTERCONNECT_QCOM_MSM8916
|
||||||
tristate "Qualcomm MSM8916 interconnect driver"
|
tristate "Qualcomm MSM8916 interconnect driver"
|
||||||
depends on INTERCONNECT_QCOM
|
depends on INTERCONNECT_QCOM
|
||||||
|
|
|
@ -4,6 +4,7 @@ obj-$(CONFIG_INTERCONNECT_QCOM) += interconnect_qcom.o
|
||||||
|
|
||||||
interconnect_qcom-y := icc-common.o
|
interconnect_qcom-y := icc-common.o
|
||||||
icc-bcm-voter-objs := bcm-voter.o
|
icc-bcm-voter-objs := bcm-voter.o
|
||||||
|
qnoc-msm8909-objs := msm8909.o
|
||||||
qnoc-msm8916-objs := msm8916.o
|
qnoc-msm8916-objs := msm8916.o
|
||||||
qnoc-msm8939-objs := msm8939.o
|
qnoc-msm8939-objs := msm8939.o
|
||||||
qnoc-msm8974-objs := msm8974.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
|
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_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_MSM8916) += qnoc-msm8916.o
|
||||||
obj-$(CONFIG_INTERCONNECT_QCOM_MSM8939) += qnoc-msm8939.o
|
obj-$(CONFIG_INTERCONNECT_QCOM_MSM8939) += qnoc-msm8939.o
|
||||||
obj-$(CONFIG_INTERCONNECT_QCOM_MSM8974) += qnoc-msm8974.o
|
obj-$(CONFIG_INTERCONNECT_QCOM_MSM8974) += qnoc-msm8974.o
|
||||||
|
|
1329
drivers/interconnect/qcom/msm8909.c
Normal file
1329
drivers/interconnect/qcom/msm8909.c
Normal file
File diff suppressed because it is too large
Load diff
93
include/dt-bindings/interconnect/qcom,msm8909.h
Normal file
93
include/dt-bindings/interconnect/qcom,msm8909.h
Normal 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 */
|
Loading…
Reference in a new issue