Merge branch 'icc-sm8450' into icc-next

This add device tree binding and driver for interconnect providers found in
SM8450 SoC.

* icc-sm8450
  dt-bindings: interconnect: Add Qualcomm SM8450 DT bindings
  interconnect: qcom: Add SM8450 interconnect provider driver

Link: https://lore.kernel.org/r/20211209084842.189627-1-vkoul@kernel.org
Signed-off-by: Georgi Djakov <djakov@kernel.org>
This commit is contained in:
Georgi Djakov 2021-12-14 23:44:01 +02:00
commit 4a5cf65d00
6 changed files with 2349 additions and 0 deletions

View File

@ -104,6 +104,17 @@ properties:
- qcom,sm8350-mmss-noc
- qcom,sm8350-compute-noc
- qcom,sm8350-system-noc
- qcom,sm8450-aggre1-noc
- qcom,sm8450-aggre2-noc
- qcom,sm8450-clk-virt
- qcom,sm8450-config-noc
- qcom,sm8450-gem-noc
- qcom,sm8450-lpass-ag-noc
- qcom,sm8450-mc-virt
- qcom,sm8450-mmss-noc
- qcom,sm8450-nsp-noc
- qcom,sm8450-pcie-anoc
- qcom,sm8450-system-noc
'#interconnect-cells':
enum: [ 1, 2 ]

View File

@ -155,5 +155,14 @@ config INTERCONNECT_QCOM_SM8350
This is a driver for the Qualcomm Network-on-Chip on SM8350-based
platforms.
config INTERCONNECT_QCOM_SM8450
tristate "Qualcomm SM8450 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 SM8450-based
platforms.
config INTERCONNECT_QCOM_SMD_RPM
tristate

View File

@ -17,6 +17,7 @@ qnoc-sdx55-objs := sdx55.o
qnoc-sm8150-objs := sm8150.o
qnoc-sm8250-objs := sm8250.o
qnoc-sm8350-objs := sm8350.o
qnoc-sm8450-objs := sm8450.o
icc-smd-rpm-objs := smd-rpm.o icc-rpm.o
obj-$(CONFIG_INTERCONNECT_QCOM_BCM_VOTER) += icc-bcm-voter.o
@ -36,4 +37,5 @@ obj-$(CONFIG_INTERCONNECT_QCOM_SDX55) += qnoc-sdx55.o
obj-$(CONFIG_INTERCONNECT_QCOM_SM8150) += qnoc-sm8150.o
obj-$(CONFIG_INTERCONNECT_QCOM_SM8250) += qnoc-sm8250.o
obj-$(CONFIG_INTERCONNECT_QCOM_SM8350) += qnoc-sm8350.o
obj-$(CONFIG_INTERCONNECT_QCOM_SM8450) += qnoc-sm8450.o
obj-$(CONFIG_INTERCONNECT_QCOM_SMD_RPM) += icc-smd-rpm.o

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,169 @@
/* SPDX-License-Identifier: GPL-2.0-only */
/*
* SM8450 interconnect IDs
*
* Copyright (c) 2020-2021, The Linux Foundation. All rights reserved.
* Copyright (c) 2021, Linaro Limited
*/
#ifndef __DRIVERS_INTERCONNECT_QCOM_SM8450_H
#define __DRIVERS_INTERCONNECT_QCOM_SM8450_H
#define SM8450_MASTER_GPU_TCU 0
#define SM8450_MASTER_SYS_TCU 1
#define SM8450_MASTER_APPSS_PROC 2
#define SM8450_MASTER_LLCC 3
#define SM8450_MASTER_CNOC_LPASS_AG_NOC 4
#define SM8450_MASTER_GIC_AHB 5
#define SM8450_MASTER_CDSP_NOC_CFG 6
#define SM8450_MASTER_QDSS_BAM 7
#define SM8450_MASTER_QSPI_0 8
#define SM8450_MASTER_QUP_0 9
#define SM8450_MASTER_QUP_1 10
#define SM8450_MASTER_QUP_2 11
#define SM8450_MASTER_A1NOC_CFG 12
#define SM8450_MASTER_A2NOC_CFG 13
#define SM8450_MASTER_A1NOC_SNOC 14
#define SM8450_MASTER_A2NOC_SNOC 15
#define SM8450_MASTER_CAMNOC_HF 16
#define SM8450_MASTER_CAMNOC_ICP 17
#define SM8450_MASTER_CAMNOC_SF 18
#define SM8450_MASTER_GEM_NOC_CNOC 19
#define SM8450_MASTER_GEM_NOC_PCIE_SNOC 20
#define SM8450_MASTER_GFX3D 21
#define SM8450_MASTER_LPASS_ANOC 22
#define SM8450_MASTER_MDP 23
#define SM8450_MASTER_MDP0 SM8450_MASTER_MDP
#define SM8450_MASTER_MDP1 SM8450_MASTER_MDP
#define SM8450_MASTER_MSS_PROC 24
#define SM8450_MASTER_CNOC_MNOC_CFG 25
#define SM8450_MASTER_MNOC_HF_MEM_NOC 26
#define SM8450_MASTER_MNOC_SF_MEM_NOC 27
#define SM8450_MASTER_COMPUTE_NOC 28
#define SM8450_MASTER_ANOC_PCIE_GEM_NOC 29
#define SM8450_MASTER_PCIE_ANOC_CFG 30
#define SM8450_MASTER_ROTATOR 31
#define SM8450_MASTER_SNOC_CFG 32
#define SM8450_MASTER_SNOC_GC_MEM_NOC 33
#define SM8450_MASTER_SNOC_SF_MEM_NOC 34
#define SM8450_MASTER_CDSP_HCP 35
#define SM8450_MASTER_VIDEO 36
#define SM8450_MASTER_VIDEO_P0 SM8450_MASTER_VIDEO
#define SM8450_MASTER_VIDEO_P1 SM8450_MASTER_VIDEO
#define SM8450_MASTER_VIDEO_CV_PROC 37
#define SM8450_MASTER_VIDEO_PROC 38
#define SM8450_MASTER_VIDEO_V_PROC 39
#define SM8450_MASTER_QUP_CORE_0 40
#define SM8450_MASTER_QUP_CORE_1 41
#define SM8450_MASTER_QUP_CORE_2 42
#define SM8450_MASTER_CRYPTO 43
#define SM8450_MASTER_IPA 44
#define SM8450_MASTER_LPASS_PROC 45
#define SM8450_MASTER_CDSP_PROC 46
#define SM8450_MASTER_PIMEM 47
#define SM8450_MASTER_SENSORS_PROC 48
#define SM8450_MASTER_SP 49
#define SM8450_MASTER_GIC 50
#define SM8450_MASTER_PCIE_0 51
#define SM8450_MASTER_PCIE_1 52
#define SM8450_MASTER_QDSS_ETR 53
#define SM8450_MASTER_QDSS_ETR_1 54
#define SM8450_MASTER_SDCC_2 55
#define SM8450_MASTER_SDCC_4 56
#define SM8450_MASTER_UFS_MEM 57
#define SM8450_MASTER_USB3_0 58
#define SM8450_SLAVE_EBI1 512
#define SM8450_SLAVE_AHB2PHY_SOUTH 513
#define SM8450_SLAVE_AHB2PHY_NORTH 514
#define SM8450_SLAVE_AOSS 515
#define SM8450_SLAVE_CAMERA_CFG 516
#define SM8450_SLAVE_CLK_CTL 517
#define SM8450_SLAVE_CDSP_CFG 518
#define SM8450_SLAVE_RBCPR_CX_CFG 519
#define SM8450_SLAVE_RBCPR_MMCX_CFG 520
#define SM8450_SLAVE_RBCPR_MXA_CFG 521
#define SM8450_SLAVE_RBCPR_MXC_CFG 522
#define SM8450_SLAVE_CRYPTO_0_CFG 523
#define SM8450_SLAVE_CX_RDPM 524
#define SM8450_SLAVE_DISPLAY_CFG 525
#define SM8450_SLAVE_GFX3D_CFG 526
#define SM8450_SLAVE_IMEM_CFG 527
#define SM8450_SLAVE_IPA_CFG 528
#define SM8450_SLAVE_IPC_ROUTER_CFG 529
#define SM8450_SLAVE_LPASS 530
#define SM8450_SLAVE_LPASS_CORE_CFG 531
#define SM8450_SLAVE_LPASS_LPI_CFG 532
#define SM8450_SLAVE_LPASS_MPU_CFG 533
#define SM8450_SLAVE_LPASS_TOP_CFG 534
#define SM8450_SLAVE_CNOC_MSS 535
#define SM8450_SLAVE_MX_RDPM 536
#define SM8450_SLAVE_PCIE_0_CFG 537
#define SM8450_SLAVE_PCIE_1_CFG 538
#define SM8450_SLAVE_PDM 539
#define SM8450_SLAVE_PIMEM_CFG 540
#define SM8450_SLAVE_PRNG 541
#define SM8450_SLAVE_QDSS_CFG 542
#define SM8450_SLAVE_QSPI_0 543
#define SM8450_SLAVE_QUP_0 544
#define SM8450_SLAVE_QUP_1 545
#define SM8450_SLAVE_QUP_2 546
#define SM8450_SLAVE_SDCC_2 547
#define SM8450_SLAVE_SDCC_4 548
#define SM8450_SLAVE_SPSS_CFG 549
#define SM8450_SLAVE_TCSR 550
#define SM8450_SLAVE_TLMM 551
#define SM8450_SLAVE_TME_CFG 552
#define SM8450_SLAVE_UFS_MEM_CFG 553
#define SM8450_SLAVE_USB3_0 554
#define SM8450_SLAVE_VENUS_CFG 555
#define SM8450_SLAVE_VSENSE_CTRL_CFG 556
#define SM8450_SLAVE_A1NOC_CFG 557
#define SM8450_SLAVE_A1NOC_SNOC 558
#define SM8450_SLAVE_A2NOC_CFG 559
#define SM8450_SLAVE_A2NOC_SNOC 560
#define SM8450_SLAVE_DDRSS_CFG 561
#define SM8450_SLAVE_GEM_NOC_CNOC 562
#define SM8450_SLAVE_SNOC_GEM_NOC_GC 563
#define SM8450_SLAVE_SNOC_GEM_NOC_SF 564
#define SM8450_SLAVE_LLCC 565
#define SM8450_SLAVE_MNOC_HF_MEM_NOC 566
#define SM8450_SLAVE_MNOC_SF_MEM_NOC 567
#define SM8450_SLAVE_CNOC_MNOC_CFG 568
#define SM8450_SLAVE_CDSP_MEM_NOC 569
#define SM8450_SLAVE_MEM_NOC_PCIE_SNOC 570
#define SM8450_SLAVE_PCIE_ANOC_CFG 571
#define SM8450_SLAVE_ANOC_PCIE_GEM_NOC 572
#define SM8450_SLAVE_SNOC_CFG 573
#define SM8450_SLAVE_LPASS_SNOC 574
#define SM8450_SLAVE_QUP_CORE_0 575
#define SM8450_SLAVE_QUP_CORE_1 576
#define SM8450_SLAVE_QUP_CORE_2 577
#define SM8450_SLAVE_IMEM 578
#define SM8450_SLAVE_PIMEM 579
#define SM8450_SLAVE_SERVICE_NSP_NOC 580
#define SM8450_SLAVE_SERVICE_A1NOC 581
#define SM8450_SLAVE_SERVICE_A2NOC 582
#define SM8450_SLAVE_SERVICE_CNOC 583
#define SM8450_SLAVE_SERVICE_MNOC 584
#define SM8450_SLAVE_SERVICES_LPASS_AML_NOC 585
#define SM8450_SLAVE_SERVICE_LPASS_AG_NOC 586
#define SM8450_SLAVE_SERVICE_PCIE_ANOC 587
#define SM8450_SLAVE_SERVICE_SNOC 588
#define SM8450_SLAVE_PCIE_0 589
#define SM8450_SLAVE_PCIE_1 590
#define SM8450_SLAVE_QDSS_STM 591
#define SM8450_SLAVE_TCU 592
#define SM8450_MASTER_LLCC_DISP 1000
#define SM8450_MASTER_MDP_DISP 1001
#define SM8450_MASTER_MDP0_DISP SM8450_MASTER_MDP_DISP
#define SM8450_MASTER_MDP1_DISP SM8450_MASTER_MDP_DISP
#define SM8450_MASTER_MNOC_HF_MEM_NOC_DISP 1002
#define SM8450_MASTER_MNOC_SF_MEM_NOC_DISP 1003
#define SM8450_MASTER_ANOC_PCIE_GEM_NOC_DISP 1004
#define SM8450_MASTER_ROTATOR_DISP 1005
#define SM8450_SLAVE_EBI1_DISP 1512
#define SM8450_SLAVE_LLCC_DISP 1513
#define SM8450_SLAVE_MNOC_HF_MEM_NOC_DISP 1514
#define SM8450_SLAVE_MNOC_SF_MEM_NOC_DISP 1515
#endif

View File

@ -0,0 +1,171 @@
/* SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) */
/*
* Copyright (c) 2020-2021, The Linux Foundation. All rights reserved.
* Copyright (c) 2021, Linaro Limited
*/
#ifndef __DT_BINDINGS_INTERCONNECT_QCOM_SM8450_H
#define __DT_BINDINGS_INTERCONNECT_QCOM_SM8450_H
#define MASTER_QSPI_0 0
#define MASTER_QUP_1 1
#define MASTER_A1NOC_CFG 2
#define MASTER_SDCC_4 3
#define MASTER_UFS_MEM 4
#define MASTER_USB3_0 5
#define SLAVE_A1NOC_SNOC 6
#define SLAVE_SERVICE_A1NOC 7
#define MASTER_QDSS_BAM 0
#define MASTER_QUP_0 1
#define MASTER_QUP_2 2
#define MASTER_A2NOC_CFG 3
#define MASTER_CRYPTO 4
#define MASTER_IPA 5
#define MASTER_SENSORS_PROC 6
#define MASTER_SP 7
#define MASTER_QDSS_ETR 8
#define MASTER_QDSS_ETR_1 9
#define MASTER_SDCC_2 10
#define SLAVE_A2NOC_SNOC 11
#define SLAVE_SERVICE_A2NOC 12
#define MASTER_QUP_CORE_0 0
#define MASTER_QUP_CORE_1 1
#define MASTER_QUP_CORE_2 2
#define SLAVE_QUP_CORE_0 3
#define SLAVE_QUP_CORE_1 4
#define SLAVE_QUP_CORE_2 5
#define MASTER_GEM_NOC_CNOC 0
#define MASTER_GEM_NOC_PCIE_SNOC 1
#define SLAVE_AHB2PHY_SOUTH 2
#define SLAVE_AHB2PHY_NORTH 3
#define SLAVE_AOSS 4
#define SLAVE_CAMERA_CFG 5
#define SLAVE_CLK_CTL 6
#define SLAVE_CDSP_CFG 7
#define SLAVE_RBCPR_CX_CFG 8
#define SLAVE_RBCPR_MMCX_CFG 9
#define SLAVE_RBCPR_MXA_CFG 10
#define SLAVE_RBCPR_MXC_CFG 11
#define SLAVE_CRYPTO_0_CFG 12
#define SLAVE_CX_RDPM 13
#define SLAVE_DISPLAY_CFG 14
#define SLAVE_GFX3D_CFG 15
#define SLAVE_IMEM_CFG 16
#define SLAVE_IPA_CFG 17
#define SLAVE_IPC_ROUTER_CFG 18
#define SLAVE_LPASS 19
#define SLAVE_CNOC_MSS 20
#define SLAVE_MX_RDPM 21
#define SLAVE_PCIE_0_CFG 22
#define SLAVE_PCIE_1_CFG 23
#define SLAVE_PDM 24
#define SLAVE_PIMEM_CFG 25
#define SLAVE_PRNG 26
#define SLAVE_QDSS_CFG 27
#define SLAVE_QSPI_0 28
#define SLAVE_QUP_0 29
#define SLAVE_QUP_1 30
#define SLAVE_QUP_2 31
#define SLAVE_SDCC_2 32
#define SLAVE_SDCC_4 33
#define SLAVE_SPSS_CFG 34
#define SLAVE_TCSR 35
#define SLAVE_TLMM 36
#define SLAVE_TME_CFG 37
#define SLAVE_UFS_MEM_CFG 38
#define SLAVE_USB3_0 39
#define SLAVE_VENUS_CFG 40
#define SLAVE_VSENSE_CTRL_CFG 41
#define SLAVE_A1NOC_CFG 42
#define SLAVE_A2NOC_CFG 43
#define SLAVE_DDRSS_CFG 44
#define SLAVE_CNOC_MNOC_CFG 45
#define SLAVE_PCIE_ANOC_CFG 46
#define SLAVE_SNOC_CFG 47
#define SLAVE_IMEM 48
#define SLAVE_PIMEM 49
#define SLAVE_SERVICE_CNOC 50
#define SLAVE_PCIE_0 51
#define SLAVE_PCIE_1 52
#define SLAVE_QDSS_STM 53
#define SLAVE_TCU 54
#define MASTER_GPU_TCU 0
#define MASTER_SYS_TCU 1
#define MASTER_APPSS_PROC 2
#define MASTER_GFX3D 3
#define MASTER_MSS_PROC 4
#define MASTER_MNOC_HF_MEM_NOC 5
#define MASTER_MNOC_SF_MEM_NOC 6
#define MASTER_COMPUTE_NOC 7
#define MASTER_ANOC_PCIE_GEM_NOC 8
#define MASTER_SNOC_GC_MEM_NOC 9
#define MASTER_SNOC_SF_MEM_NOC 10
#define SLAVE_GEM_NOC_CNOC 11
#define SLAVE_LLCC 12
#define SLAVE_MEM_NOC_PCIE_SNOC 13
#define MASTER_MNOC_HF_MEM_NOC_DISP 14
#define MASTER_MNOC_SF_MEM_NOC_DISP 15
#define MASTER_ANOC_PCIE_GEM_NOC_DISP 16
#define SLAVE_LLCC_DISP 17
#define MASTER_CNOC_LPASS_AG_NOC 0
#define MASTER_LPASS_PROC 1
#define SLAVE_LPASS_CORE_CFG 2
#define SLAVE_LPASS_LPI_CFG 3
#define SLAVE_LPASS_MPU_CFG 4
#define SLAVE_LPASS_TOP_CFG 5
#define SLAVE_LPASS_SNOC 6
#define SLAVE_SERVICES_LPASS_AML_NOC 7
#define SLAVE_SERVICE_LPASS_AG_NOC 8
#define MASTER_LLCC 0
#define SLAVE_EBI1 1
#define MASTER_LLCC_DISP 2
#define SLAVE_EBI1_DISP 3
#define MASTER_CAMNOC_HF 0
#define MASTER_CAMNOC_ICP 1
#define MASTER_CAMNOC_SF 2
#define MASTER_MDP 3
#define MASTER_CNOC_MNOC_CFG 4
#define MASTER_ROTATOR 5
#define MASTER_CDSP_HCP 6
#define MASTER_VIDEO 7
#define MASTER_VIDEO_CV_PROC 8
#define MASTER_VIDEO_PROC 9
#define MASTER_VIDEO_V_PROC 10
#define SLAVE_MNOC_HF_MEM_NOC 11
#define SLAVE_MNOC_SF_MEM_NOC 12
#define SLAVE_SERVICE_MNOC 13
#define MASTER_MDP_DISP 14
#define MASTER_ROTATOR_DISP 15
#define SLAVE_MNOC_HF_MEM_NOC_DISP 16
#define SLAVE_MNOC_SF_MEM_NOC_DISP 17
#define MASTER_CDSP_NOC_CFG 0
#define MASTER_CDSP_PROC 1
#define SLAVE_CDSP_MEM_NOC 2
#define SLAVE_SERVICE_NSP_NOC 3
#define MASTER_PCIE_ANOC_CFG 0
#define MASTER_PCIE_0 1
#define MASTER_PCIE_1 2
#define SLAVE_ANOC_PCIE_GEM_NOC 3
#define SLAVE_SERVICE_PCIE_ANOC 4
#define MASTER_GIC_AHB 0
#define MASTER_A1NOC_SNOC 1
#define MASTER_A2NOC_SNOC 2
#define MASTER_LPASS_ANOC 3
#define MASTER_SNOC_CFG 4
#define MASTER_PIMEM 5
#define MASTER_GIC 6
#define SLAVE_SNOC_GEM_NOC_GC 7
#define SLAVE_SNOC_GEM_NOC_SF 8
#define SLAVE_SERVICE_SNOC 9
#endif