2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2024-12-29 15:43:59 +08:00

interconnect: qcom: Add SC8280XP interconnect provider

The Qualcomm SC8280XP provides the means for the OS to request bus
bandwidth using RPMh. It consists of providers for each of the busses in
the SoC and two virtual providers, for the "memory controller" and a few
of "virtual clocks".

Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Link: https://lore.kernel.org/r/20220408214835.624494-2-bjorn.andersson@linaro.org
Signed-off-by: Georgi Djakov <djakov@kernel.org>
This commit is contained in:
Bjorn Andersson 2022-04-08 14:48:35 -07:00 committed by Georgi Djakov
parent ea3364db90
commit f29dabda79
4 changed files with 2658 additions and 0 deletions

View File

@ -110,6 +110,15 @@ config INTERCONNECT_QCOM_SC8180X
This is a driver for the Qualcomm Network-on-Chip on sc8180x-based
platforms.
config INTERCONNECT_QCOM_SC8280XP
tristate "Qualcomm SC8280XP 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 SC8280XP-based
platforms.
config INTERCONNECT_QCOM_SDM660
tristate "Qualcomm SDM660 interconnect driver"
depends on INTERCONNECT_QCOM

View File

@ -12,6 +12,7 @@ icc-rpmh-obj := icc-rpmh.o
qnoc-sc7180-objs := sc7180.o
qnoc-sc7280-objs := sc7280.o
qnoc-sc8180x-objs := sc8180x.o
qnoc-sc8280xp-objs := sc8280xp.o
qnoc-sdm660-objs := sdm660.o
qnoc-sdm845-objs := sdm845.o
qnoc-sdx55-objs := sdx55.o
@ -33,6 +34,7 @@ obj-$(CONFIG_INTERCONNECT_QCOM_RPMH) += icc-rpmh.o
obj-$(CONFIG_INTERCONNECT_QCOM_SC7180) += qnoc-sc7180.o
obj-$(CONFIG_INTERCONNECT_QCOM_SC7280) += qnoc-sc7280.o
obj-$(CONFIG_INTERCONNECT_QCOM_SC8180X) += qnoc-sc8180x.o
obj-$(CONFIG_INTERCONNECT_QCOM_SC8280XP) += qnoc-sc8280xp.o
obj-$(CONFIG_INTERCONNECT_QCOM_SDM660) += qnoc-sdm660.o
obj-$(CONFIG_INTERCONNECT_QCOM_SDM845) += qnoc-sdm845.o
obj-$(CONFIG_INTERCONNECT_QCOM_SDX55) += qnoc-sdx55.o

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,209 @@
/* SPDX-License-Identifier: GPL-2.0-only */
/*
* Copyright (c) 2021, The Linux Foundation. All rights reserved.
*/
#ifndef __DRIVERS_INTERCONNECT_QCOM_SC8280XP_H
#define __DRIVERS_INTERCONNECT_QCOM_SC8280XP_H
#define SC8280XP_MASTER_GPU_TCU 0
#define SC8280XP_MASTER_PCIE_TCU 1
#define SC8280XP_MASTER_SYS_TCU 2
#define SC8280XP_MASTER_APPSS_PROC 3
#define SC8280XP_MASTER_IPA_CORE 4
#define SC8280XP_MASTER_LLCC 5
#define SC8280XP_MASTER_CNOC_LPASS_AG_NOC 6
#define SC8280XP_MASTER_CDSP_NOC_CFG 7
#define SC8280XP_MASTER_CDSPB_NOC_CFG 8
#define SC8280XP_MASTER_QDSS_BAM 9
#define SC8280XP_MASTER_QSPI_0 10
#define SC8280XP_MASTER_QUP_0 11
#define SC8280XP_MASTER_QUP_1 12
#define SC8280XP_MASTER_QUP_2 13
#define SC8280XP_MASTER_A1NOC_CFG 14
#define SC8280XP_MASTER_A2NOC_CFG 15
#define SC8280XP_MASTER_A1NOC_SNOC 16
#define SC8280XP_MASTER_A2NOC_SNOC 17
#define SC8280XP_MASTER_USB_NOC_SNOC 18
#define SC8280XP_MASTER_CAMNOC_HF 19
#define SC8280XP_MASTER_COMPUTE_NOC 20
#define SC8280XP_MASTER_COMPUTE_NOC_1 21
#define SC8280XP_MASTER_CNOC_DC_NOC 22
#define SC8280XP_MASTER_GEM_NOC_CFG 23
#define SC8280XP_MASTER_GEM_NOC_CNOC 24
#define SC8280XP_MASTER_GEM_NOC_PCIE_SNOC 25
#define SC8280XP_MASTER_GFX3D 26
#define SC8280XP_MASTER_LPASS_ANOC 27
#define SC8280XP_MASTER_MDP0 28
#define SC8280XP_MASTER_MDP1 29
#define SC8280XP_MASTER_MDP_CORE1_0 30
#define SC8280XP_MASTER_MDP_CORE1_1 31
#define SC8280XP_MASTER_CNOC_MNOC_CFG 32
#define SC8280XP_MASTER_MNOC_HF_MEM_NOC 33
#define SC8280XP_MASTER_MNOC_SF_MEM_NOC 34
#define SC8280XP_MASTER_ANOC_PCIE_GEM_NOC 35
#define SC8280XP_MASTER_ROTATOR 36
#define SC8280XP_MASTER_ROTATOR_1 37
#define SC8280XP_MASTER_SNOC_CFG 38
#define SC8280XP_MASTER_SNOC_GC_MEM_NOC 39
#define SC8280XP_MASTER_SNOC_SF_MEM_NOC 40
#define SC8280XP_MASTER_VIDEO_P0 41
#define SC8280XP_MASTER_VIDEO_P1 42
#define SC8280XP_MASTER_VIDEO_PROC 43
#define SC8280XP_MASTER_QUP_CORE_0 44
#define SC8280XP_MASTER_QUP_CORE_1 45
#define SC8280XP_MASTER_QUP_CORE_2 46
#define SC8280XP_MASTER_CAMNOC_ICP 47
#define SC8280XP_MASTER_CAMNOC_SF 48
#define SC8280XP_MASTER_CRYPTO 49
#define SC8280XP_MASTER_IPA 50
#define SC8280XP_MASTER_LPASS_PROC 51
#define SC8280XP_MASTER_CDSP_PROC 52
#define SC8280XP_MASTER_CDSP_PROC_B 53
#define SC8280XP_MASTER_PIMEM 54
#define SC8280XP_MASTER_SENSORS_PROC 55
#define SC8280XP_MASTER_SP 56
#define SC8280XP_MASTER_EMAC 57
#define SC8280XP_MASTER_EMAC_1 58
#define SC8280XP_MASTER_GIC 59
#define SC8280XP_MASTER_PCIE_0 60
#define SC8280XP_MASTER_PCIE_1 61
#define SC8280XP_MASTER_PCIE_2A 62
#define SC8280XP_MASTER_PCIE_2B 63
#define SC8280XP_MASTER_PCIE_3A 64
#define SC8280XP_MASTER_PCIE_3B 65
#define SC8280XP_MASTER_PCIE_4 66
#define SC8280XP_MASTER_QDSS_ETR 67
#define SC8280XP_MASTER_SDCC_2 68
#define SC8280XP_MASTER_SDCC_4 69
#define SC8280XP_MASTER_UFS_CARD 70
#define SC8280XP_MASTER_UFS_MEM 71
#define SC8280XP_MASTER_USB3_0 72
#define SC8280XP_MASTER_USB3_1 73
#define SC8280XP_MASTER_USB3_MP 74
#define SC8280XP_MASTER_USB4_0 75
#define SC8280XP_MASTER_USB4_1 76
#define SC8280XP_SLAVE_EBI1 512
#define SC8280XP_SLAVE_IPA_CORE 513
#define SC8280XP_SLAVE_AHB2PHY_0 514
#define SC8280XP_SLAVE_AHB2PHY_1 515
#define SC8280XP_SLAVE_AHB2PHY_2 516
#define SC8280XP_SLAVE_AOSS 517
#define SC8280XP_SLAVE_APPSS 518
#define SC8280XP_SLAVE_CAMERA_CFG 519
#define SC8280XP_SLAVE_CLK_CTL 520
#define SC8280XP_SLAVE_CDSP_CFG 521
#define SC8280XP_SLAVE_CDSP1_CFG 522
#define SC8280XP_SLAVE_RBCPR_CX_CFG 523
#define SC8280XP_SLAVE_RBCPR_MMCX_CFG 524
#define SC8280XP_SLAVE_RBCPR_MX_CFG 525
#define SC8280XP_SLAVE_CPR_NSPCX 526
#define SC8280XP_SLAVE_CRYPTO_0_CFG 527
#define SC8280XP_SLAVE_CX_RDPM 528
#define SC8280XP_SLAVE_DCC_CFG 529
#define SC8280XP_SLAVE_DISPLAY_CFG 530
#define SC8280XP_SLAVE_DISPLAY1_CFG 531
#define SC8280XP_SLAVE_EMAC_CFG 532
#define SC8280XP_SLAVE_EMAC1_CFG 533
#define SC8280XP_SLAVE_GFX3D_CFG 534
#define SC8280XP_SLAVE_HWKM 535
#define SC8280XP_SLAVE_IMEM_CFG 536
#define SC8280XP_SLAVE_IPA_CFG 537
#define SC8280XP_SLAVE_IPC_ROUTER_CFG 538
#define SC8280XP_SLAVE_LLCC_CFG 539
#define SC8280XP_SLAVE_LPASS 540
#define SC8280XP_SLAVE_LPASS_CORE_CFG 541
#define SC8280XP_SLAVE_LPASS_LPI_CFG 542
#define SC8280XP_SLAVE_LPASS_MPU_CFG 543
#define SC8280XP_SLAVE_LPASS_TOP_CFG 544
#define SC8280XP_SLAVE_MX_RDPM 545
#define SC8280XP_SLAVE_MXC_RDPM 546
#define SC8280XP_SLAVE_PCIE_0_CFG 547
#define SC8280XP_SLAVE_PCIE_1_CFG 548
#define SC8280XP_SLAVE_PCIE_2A_CFG 549
#define SC8280XP_SLAVE_PCIE_2B_CFG 550
#define SC8280XP_SLAVE_PCIE_3A_CFG 551
#define SC8280XP_SLAVE_PCIE_3B_CFG 552
#define SC8280XP_SLAVE_PCIE_4_CFG 553
#define SC8280XP_SLAVE_PCIE_RSC_CFG 554
#define SC8280XP_SLAVE_PDM 555
#define SC8280XP_SLAVE_PIMEM_CFG 556
#define SC8280XP_SLAVE_PKA_WRAPPER_CFG 557
#define SC8280XP_SLAVE_PMU_WRAPPER_CFG 558
#define SC8280XP_SLAVE_QDSS_CFG 559
#define SC8280XP_SLAVE_QSPI_0 560
#define SC8280XP_SLAVE_QUP_0 561
#define SC8280XP_SLAVE_QUP_1 562
#define SC8280XP_SLAVE_QUP_2 563
#define SC8280XP_SLAVE_SDCC_2 564
#define SC8280XP_SLAVE_SDCC_4 565
#define SC8280XP_SLAVE_SECURITY 566
#define SC8280XP_SLAVE_SMMUV3_CFG 567
#define SC8280XP_SLAVE_SMSS_CFG 568
#define SC8280XP_SLAVE_SPSS_CFG 569
#define SC8280XP_SLAVE_TCSR 570
#define SC8280XP_SLAVE_TLMM 571
#define SC8280XP_SLAVE_UFS_CARD_CFG 572
#define SC8280XP_SLAVE_UFS_MEM_CFG 573
#define SC8280XP_SLAVE_USB3_0 574
#define SC8280XP_SLAVE_USB3_1 575
#define SC8280XP_SLAVE_USB3_MP 576
#define SC8280XP_SLAVE_USB4_0 577
#define SC8280XP_SLAVE_USB4_1 578
#define SC8280XP_SLAVE_VENUS_CFG 579
#define SC8280XP_SLAVE_VSENSE_CTRL_CFG 580
#define SC8280XP_SLAVE_VSENSE_CTRL_R_CFG 581
#define SC8280XP_SLAVE_A1NOC_CFG 582
#define SC8280XP_SLAVE_A1NOC_SNOC 583
#define SC8280XP_SLAVE_A2NOC_CFG 584
#define SC8280XP_SLAVE_A2NOC_SNOC 585
#define SC8280XP_SLAVE_USB_NOC_SNOC 586
#define SC8280XP_SLAVE_ANOC_PCIE_BRIDGE_CFG 587
#define SC8280XP_SLAVE_DDRSS_CFG 588
#define SC8280XP_SLAVE_GEM_NOC_CNOC 589
#define SC8280XP_SLAVE_GEM_NOC_CFG 590
#define SC8280XP_SLAVE_SNOC_GEM_NOC_GC 591
#define SC8280XP_SLAVE_SNOC_GEM_NOC_SF 592
#define SC8280XP_SLAVE_LLCC 593
#define SC8280XP_SLAVE_MNOC_HF_MEM_NOC 594
#define SC8280XP_SLAVE_MNOC_SF_MEM_NOC 595
#define SC8280XP_SLAVE_CNOC_MNOC_CFG 596
#define SC8280XP_SLAVE_CDSP_MEM_NOC 597
#define SC8280XP_SLAVE_CDSPB_MEM_NOC 598
#define SC8280XP_SLAVE_GEM_NOC_PCIE_CNOC 599
#define SC8280XP_SLAVE_ANOC_PCIE_GEM_NOC 600
#define SC8280XP_SLAVE_SNOC_CFG 601
#define SC8280XP_SLAVE_SNOC_SF_BRIDGE_CFG 602
#define SC8280XP_SLAVE_LPASS_SNOC 603
#define SC8280XP_SLAVE_QUP_CORE_0 604
#define SC8280XP_SLAVE_QUP_CORE_1 605
#define SC8280XP_SLAVE_QUP_CORE_2 606
#define SC8280XP_SLAVE_IMEM 607
#define SC8280XP_SLAVE_NSP_XFR 608
#define SC8280XP_SLAVE_NSPB_XFR 609
#define SC8280XP_SLAVE_PIMEM 610
#define SC8280XP_SLAVE_SERVICE_NSP_NOC 611
#define SC8280XP_SLAVE_SERVICE_NSPB_NOC 612
#define SC8280XP_SLAVE_SERVICE_A1NOC 613
#define SC8280XP_SLAVE_SERVICE_A2NOC 614
#define SC8280XP_SLAVE_SERVICE_CNOC 615
#define SC8280XP_SLAVE_SERVICE_GEM_NOC_1 616
#define SC8280XP_SLAVE_SERVICE_MNOC 617
#define SC8280XP_SLAVE_SERVICES_LPASS_AML_NOC 618
#define SC8280XP_SLAVE_SERVICE_LPASS_AG_NOC 619
#define SC8280XP_SLAVE_SERVICE_GEM_NOC_2 620
#define SC8280XP_SLAVE_SERVICE_SNOC 621
#define SC8280XP_SLAVE_SERVICE_GEM_NOC 622
#define SC8280XP_SLAVE_PCIE_0 623
#define SC8280XP_SLAVE_PCIE_1 624
#define SC8280XP_SLAVE_PCIE_2A 625
#define SC8280XP_SLAVE_PCIE_2B 626
#define SC8280XP_SLAVE_PCIE_3A 627
#define SC8280XP_SLAVE_PCIE_3B 628
#define SC8280XP_SLAVE_PCIE_4 629
#define SC8280XP_SLAVE_QDSS_STM 630
#define SC8280XP_SLAVE_SMSS 631
#define SC8280XP_SLAVE_TCU 632
#endif