Merge "interconnect: qcom: Add interconnect providers for NIOBE"

This commit is contained in:
qctecmdr 2023-11-25 03:11:21 -08:00 committed by Gerrit - the friendly Code Review server
commit 398a6df173
2 changed files with 253 additions and 110 deletions

View File

@ -386,16 +386,17 @@ static struct qcom_icc_node qnm_gemnoc_cnoc = {
.channels = 1,
.buswidth = 16,
.noc_ops = &qcom_qnoc4_ops,
.num_links = 18,
.num_links = 19,
.links = { SLAVE_AOSS, SLAVE_APPSS,
SLAVE_DISPLAY1_CFG, SLAVE_DISPLAY_CFG,
SLAVE_GFX3D_CFG, SLAVE_IPA_CFG,
SLAVE_IPC_ROUTER_CFG, SLAVE_PCIE_0_CFG,
SLAVE_PCIE_1_CFG, SLAVE_PCIE_2_CFG,
SLAVE_SOCCP, SLAVE_TME_CFG,
SLAVE_CNOC_CFG, SLAVE_DDRSS_CFG,
SLAVE_BOOT_IMEM, SLAVE_BOOT_IMEM_2,
SLAVE_IMEM, SLAVE_SERVICE_CNOC },
SLAVE_IPC_ROUTER_CFG, SLAVE_LPASS,
SLAVE_PCIE_0_CFG, SLAVE_PCIE_1_CFG,
SLAVE_PCIE_2_CFG, SLAVE_SOCCP,
SLAVE_TME_CFG, SLAVE_CNOC_CFG,
SLAVE_DDRSS_CFG, SLAVE_BOOT_IMEM,
SLAVE_BOOT_IMEM_2, SLAVE_IMEM,
SLAVE_SERVICE_CNOC },
};
static struct qcom_icc_node qnm_gemnoc_pcie = {
@ -486,6 +487,29 @@ static struct qcom_icc_node qnm_gpu = {
.links = { SLAVE_GEM_NOC_CNOC, SLAVE_LLCC },
};
static struct qcom_icc_qosbox qnm_lpass_gemnoc_qos = {
.regs = icc_qnoc_qos_regs[ICC_QNOC_QOSGEN_TYPE_RPMH],
.num_ports = 1,
.offsets = { 0xb5000 },
.config = &(struct qos_config) {
.prio = 0,
.urg_fwd = 1,
.prio_fwd_disable = 0,
},
};
static struct qcom_icc_node qnm_lpass_gemnoc = {
.name = "qnm_lpass_gemnoc",
.id = MASTER_LPASS_GEM_NOC,
.channels = 1,
.buswidth = 16,
.noc_ops = &qcom_qnoc4_ops,
.qosbox = &qnm_lpass_gemnoc_qos,
.num_links = 3,
.links = { SLAVE_GEM_NOC_CNOC, SLAVE_LLCC,
SLAVE_MEM_NOC_PCIE_SNOC },
};
static struct qcom_icc_qosbox qnm_mnoc_hf_qos = {
.regs = icc_qnoc_qos_regs[ICC_QNOC_QOSGEN_TYPE_RPMH],
.num_ports = 2,
@ -620,6 +644,29 @@ static struct qcom_icc_node xm_gic = {
.links = { SLAVE_LLCC },
};
static struct qcom_icc_node qhm_config_noc = {
.name = "qhm_config_noc",
.id = MASTER_CNOC_LPASS_AG_NOC,
.channels = 1,
.buswidth = 4,
.noc_ops = &qcom_qnoc4_ops,
.num_links = 6,
.links = { SLAVE_LPASS_CORE_CFG, SLAVE_LPASS_LPI_CFG,
SLAVE_LPASS_MPU_CFG, SLAVE_LPASS_TOP_CFG,
SLAVE_SERVICES_LPASS_AML_NOC, SLAVE_SERVICE_LPASS_AG_NOC },
};
static struct qcom_icc_node qxm_lpass_dsp = {
.name = "qxm_lpass_dsp",
.id = MASTER_LPASS_PROC,
.channels = 1,
.buswidth = 8,
.noc_ops = &qcom_qnoc4_ops,
.num_links = 4,
.links = { SLAVE_LPASS_TOP_CFG, SLAVE_LPASS_GEM_NOC,
SLAVE_SERVICES_LPASS_AML_NOC, SLAVE_SERVICE_LPASS_AG_NOC },
};
static struct qcom_icc_node llcc_mc = {
.name = "llcc_mc",
.id = MASTER_LLCC,
@ -1591,6 +1638,16 @@ static struct qcom_icc_node qhs_ipc_router = {
.num_links = 0,
};
static struct qcom_icc_node qhs_lpass_cfg = {
.name = "qhs_lpass_cfg",
.id = SLAVE_LPASS,
.channels = 1,
.buswidth = 4,
.noc_ops = &qcom_qnoc4_ops,
.num_links = 1,
.links = { MASTER_CNOC_LPASS_AG_NOC },
};
static struct qcom_icc_node qhs_pcie3_0_cfg = {
.name = "qhs_pcie3_0_cfg",
.id = SLAVE_PCIE_0_CFG,
@ -1748,6 +1805,70 @@ static struct qcom_icc_node qns_pcie = {
.links = { MASTER_GEM_NOC_PCIE_SNOC },
};
static struct qcom_icc_node qhs_lpass_core = {
.name = "qhs_lpass_core",
.id = SLAVE_LPASS_CORE_CFG,
.channels = 1,
.buswidth = 4,
.noc_ops = &qcom_qnoc4_ops,
.num_links = 0,
};
static struct qcom_icc_node qhs_lpass_lpi = {
.name = "qhs_lpass_lpi",
.id = SLAVE_LPASS_LPI_CFG,
.channels = 1,
.buswidth = 4,
.noc_ops = &qcom_qnoc4_ops,
.num_links = 0,
};
static struct qcom_icc_node qhs_lpass_mpu = {
.name = "qhs_lpass_mpu",
.id = SLAVE_LPASS_MPU_CFG,
.channels = 1,
.buswidth = 4,
.noc_ops = &qcom_qnoc4_ops,
.num_links = 0,
};
static struct qcom_icc_node qhs_lpass_top = {
.name = "qhs_lpass_top",
.id = SLAVE_LPASS_TOP_CFG,
.channels = 1,
.buswidth = 4,
.noc_ops = &qcom_qnoc4_ops,
.num_links = 0,
};
static struct qcom_icc_node qns_lpass_ag_noc_gemnoc = {
.name = "qns_lpass_ag_noc_gemnoc",
.id = SLAVE_LPASS_GEM_NOC,
.channels = 1,
.buswidth = 16,
.noc_ops = &qcom_qnoc4_ops,
.num_links = 1,
.links = { MASTER_LPASS_GEM_NOC },
};
static struct qcom_icc_node srvc_niu_aml_noc = {
.name = "srvc_niu_aml_noc",
.id = SLAVE_SERVICES_LPASS_AML_NOC,
.channels = 1,
.buswidth = 4,
.noc_ops = &qcom_qnoc4_ops,
.num_links = 0,
};
static struct qcom_icc_node srvc_niu_lpass_agnoc = {
.name = "srvc_niu_lpass_agnoc",
.id = SLAVE_SERVICE_LPASS_AG_NOC,
.channels = 1,
.buswidth = 4,
.noc_ops = &qcom_qnoc4_ops,
.num_links = 0,
};
static struct qcom_icc_node ebi = {
.name = "ebi",
.id = SLAVE_EBI1,
@ -2031,7 +2152,7 @@ static struct qcom_icc_bcm bcm_cn0 = {
.voter_idx = VOTER_IDX_HLOS,
.enable_mask = 0x1,
.keepalive = true,
.num_nodes = 47,
.num_nodes = 48,
.nodes = { &qsm_cfg, &qhs_ahb2phy0,
&qhs_ahb2phy1, &qhs_ahb2phy2,
&qhs_camera_cfg, &qhs_clk_ctl,
@ -2048,14 +2169,14 @@ static struct qcom_icc_bcm bcm_cn0 = {
&qhs_aoss, &qhs_apss,
&qhs_display1_cfg, &qhs_display_cfg,
&qhs_gpuss_cfg, &qhs_ipa,
&qhs_ipc_router, &qhs_pcie3_0_cfg,
&qhs_pcie4_1_cfg, &qhs_pcie4_0_cfg,
&qhs_soccp, &qhs_tme_cfg,
&qss_cfg, &qss_ddrss_cfg,
&qxs_boot_imem, &qxs_boot_imem2,
&qxs_imem, &srvc_cnoc_main,
&xs_pcie3_0, &xs_pcie4_1,
&xs_pcie4_0 },
&qhs_ipc_router, &qhs_lpass_cfg,
&qhs_pcie3_0_cfg, &qhs_pcie4_1_cfg,
&qhs_pcie4_0_cfg, &qhs_soccp,
&qhs_tme_cfg, &qss_cfg,
&qss_ddrss_cfg, &qxs_boot_imem,
&qxs_boot_imem2, &qxs_imem,
&srvc_cnoc_main, &xs_pcie3_0,
&xs_pcie4_1, &xs_pcie4_0 },
};
static struct qcom_icc_bcm bcm_cn1 = {
@ -2543,6 +2664,7 @@ static struct qcom_icc_node *cnoc_main_nodes[] = {
[SLAVE_GFX3D_CFG] = &qhs_gpuss_cfg,
[SLAVE_IPA_CFG] = &qhs_ipa,
[SLAVE_IPC_ROUTER_CFG] = &qhs_ipc_router,
[SLAVE_LPASS] = &qhs_lpass_cfg,
[SLAVE_PCIE_0_CFG] = &qhs_pcie3_0_cfg,
[SLAVE_PCIE_1_CFG] = &qhs_pcie4_1_cfg,
[SLAVE_PCIE_2_CFG] = &qhs_pcie4_0_cfg,
@ -2593,6 +2715,7 @@ static struct qcom_icc_node *gem_noc_nodes[] = {
[MASTER_SYS_TCU] = &alm_sys_tcu,
[MASTER_APPSS_PROC] = &chm_apps,
[MASTER_GFX3D] = &qnm_gpu,
[MASTER_LPASS_GEM_NOC] = &qnm_lpass_gemnoc,
[MASTER_MNOC_HF_MEM_NOC] = &qnm_mnoc_hf,
[MASTER_MNOC_SF_MEM_NOC] = &qnm_mnoc_sf,
[MASTER_COMPUTE_NOC] = &qnm_nsp_gemnoc,
@ -2640,6 +2763,15 @@ static struct qcom_icc_bcm *lpass_ag_noc_bcms[] = {
};
static struct qcom_icc_node *lpass_ag_noc_nodes[] = {
[MASTER_CNOC_LPASS_AG_NOC] = &qhm_config_noc,
[MASTER_LPASS_PROC] = &qxm_lpass_dsp,
[SLAVE_LPASS_CORE_CFG] = &qhs_lpass_core,
[SLAVE_LPASS_LPI_CFG] = &qhs_lpass_lpi,
[SLAVE_LPASS_MPU_CFG] = &qhs_lpass_mpu,
[SLAVE_LPASS_TOP_CFG] = &qhs_lpass_top,
[SLAVE_LPASS_GEM_NOC] = &qns_lpass_ag_noc_gemnoc,
[SLAVE_SERVICES_LPASS_AML_NOC] = &srvc_niu_aml_noc,
[SLAVE_SERVICE_LPASS_AG_NOC] = &srvc_niu_lpass_agnoc,
};
static char *lpass_ag_noc_voters[] = {

View File

@ -10,51 +10,54 @@
#define MASTER_SYS_TCU 1
#define MASTER_APPSS_PROC 2
#define MASTER_LLCC 3
#define MASTER_QDSS_BAM 4
#define MASTER_QUP_1 5
#define MASTER_QUP_2 6
#define MASTER_QUP_3 7
#define MASTER_A1NOC_SNOC 8
#define MASTER_A2NOC_SNOC 9
#define MASTER_CAMNOC_HF 10
#define MASTER_CAMNOC_ICP 11
#define MASTER_CAMNOC_SF 12
#define MASTER_GEM_NOC_CNOC 13
#define MASTER_GEM_NOC_PCIE_SNOC 14
#define MASTER_GFX3D 15
#define MASTER_MDP0 16
#define MASTER_MDP1 17
#define MASTER_MNOC_HF_MEM_NOC 18
#define MASTER_MNOC_SF_MEM_NOC 19
#define MASTER_CDSP_PROC 20
#define MASTER_COMPUTE_NOC 21
#define MASTER_ANOC_PCIE_GEM_NOC 22
#define MASTER_SNOC_SF_MEM_NOC 23
#define MASTER_VIDEO 24
#define MASTER_VIDEO_CV_PROC 25
#define MASTER_VIDEO_PROC 26
#define MASTER_VIDEO_V_PROC 27
#define MASTER_CNOC_CFG 28
#define MASTER_CNOC_MNOC_HF_CFG 29
#define MASTER_PCIE_ANOC_CFG 30
#define MASTER_CNOC_MNOC_SF_CFG 31
#define MASTER_QUP_CORE_1 32
#define MASTER_QUP_CORE_2 33
#define MASTER_QUP_CORE_3 34
#define MASTER_CRYPTO 35
#define MASTER_IPA 36
#define MASTER_SOCCP_AGGR_NOC 37
#define MASTER_SP 38
#define MASTER_GIC 39
#define MASTER_PCIE_0 40
#define MASTER_PCIE_2 41
#define MASTER_PCIE_1 42
#define MASTER_QDSS_ETR 43
#define MASTER_QDSS_ETR_1 44
#define MASTER_SDCC_2 45
#define MASTER_UFS_MEM 46
#define MASTER_USB3_0 47
#define MASTER_USB3_1 48
#define MASTER_CNOC_LPASS_AG_NOC 4
#define MASTER_QDSS_BAM 5
#define MASTER_QUP_1 6
#define MASTER_QUP_2 7
#define MASTER_QUP_3 8
#define MASTER_A1NOC_SNOC 9
#define MASTER_A2NOC_SNOC 10
#define MASTER_CAMNOC_HF 11
#define MASTER_CAMNOC_ICP 12
#define MASTER_CAMNOC_SF 13
#define MASTER_GEM_NOC_CNOC 14
#define MASTER_GEM_NOC_PCIE_SNOC 15
#define MASTER_GFX3D 16
#define MASTER_LPASS_GEM_NOC 17
#define MASTER_MDP0 18
#define MASTER_MDP1 19
#define MASTER_MNOC_HF_MEM_NOC 20
#define MASTER_MNOC_SF_MEM_NOC 21
#define MASTER_CDSP_PROC 22
#define MASTER_COMPUTE_NOC 23
#define MASTER_ANOC_PCIE_GEM_NOC 24
#define MASTER_SNOC_SF_MEM_NOC 25
#define MASTER_VIDEO 26
#define MASTER_VIDEO_CV_PROC 27
#define MASTER_VIDEO_PROC 28
#define MASTER_VIDEO_V_PROC 29
#define MASTER_CNOC_CFG 30
#define MASTER_CNOC_MNOC_HF_CFG 31
#define MASTER_PCIE_ANOC_CFG 32
#define MASTER_CNOC_MNOC_SF_CFG 33
#define MASTER_QUP_CORE_1 34
#define MASTER_QUP_CORE_2 35
#define MASTER_QUP_CORE_3 36
#define MASTER_CRYPTO 37
#define MASTER_IPA 38
#define MASTER_LPASS_PROC 39
#define MASTER_SOCCP_AGGR_NOC 40
#define MASTER_SP 41
#define MASTER_GIC 42
#define MASTER_PCIE_0 43
#define MASTER_PCIE_2 44
#define MASTER_PCIE_1 45
#define MASTER_QDSS_ETR 46
#define MASTER_QDSS_ETR_1 47
#define MASTER_SDCC_2 48
#define MASTER_UFS_MEM 49
#define MASTER_USB3_0 50
#define MASTER_USB3_1 51
#define SLAVE_EBI1 512
#define SLAVE_AHB2PHY_SOUTH 513
#define SLAVE_AHB2PHY_CENTER 514
@ -70,55 +73,63 @@
#define SLAVE_IMEM_CFG 524
#define SLAVE_IPA_CFG 525
#define SLAVE_IPC_ROUTER_CFG 526
#define SLAVE_PCIE_0_CFG 527
#define SLAVE_PCIE_2_CFG 528
#define SLAVE_PCIE_1_CFG 529
#define SLAVE_PRNG 530
#define SLAVE_QDSS_CFG 531
#define SLAVE_QUP_1 532
#define SLAVE_QUP_2 533
#define SLAVE_QUP_3 534
#define SLAVE_SDCC_2 535
#define SLAVE_SOCCP 536
#define SLAVE_SPSS_CFG 537
#define SLAVE_TCSR 538
#define SLAVE_TLMM 539
#define SLAVE_TME_CFG 540
#define SLAVE_UFS_MEM_CFG 541
#define SLAVE_USB3_0 542
#define SLAVE_USB3_1 543
#define SLAVE_VENUS_CFG 544
#define SLAVE_VSENSE_CTRL_CFG 545
#define SLAVE_A1NOC_SNOC 546
#define SLAVE_A2NOC_SNOC 547
#define SLAVE_GEM_NOC_CNOC 548
#define SLAVE_SNOC_GEM_NOC_SF 549
#define SLAVE_LLCC 550
#define SLAVE_MNOC_HF_MEM_NOC 551
#define SLAVE_MNOC_SF_MEM_NOC 552
#define SLAVE_CDSP_MEM_NOC 553
#define SLAVE_MEM_NOC_PCIE_SNOC 554
#define SLAVE_ANOC_PCIE_GEM_NOC 555
#define SLAVE_CNOC_CFG 556
#define SLAVE_DDRSS_CFG 557
#define SLAVE_CNOC_MNOC_HF_CFG 558
#define SLAVE_CNOC_MNOC_SF_CFG 559
#define SLAVE_PCIE_ANOC_CFG 560
#define SLAVE_QUP_CORE_1 561
#define SLAVE_QUP_CORE_2 562
#define SLAVE_QUP_CORE_3 563
#define SLAVE_BOOT_IMEM 564
#define SLAVE_BOOT_IMEM_2 565
#define SLAVE_IMEM 566
#define SLAVE_SERVICE_CNOC 567
#define SLAVE_SERVICE_MNOC_HF 568
#define SLAVE_SERVICE_MNOC_SF 569
#define SLAVE_SERVICE_PCIE_ANOC 570
#define SLAVE_PCIE_0 571
#define SLAVE_PCIE_2 572
#define SLAVE_PCIE_1 573
#define SLAVE_QDSS_STM 574
#define SLAVE_TCU 575
#define SLAVE_LPASS 527
#define SLAVE_LPASS_CORE_CFG 528
#define SLAVE_LPASS_LPI_CFG 529
#define SLAVE_LPASS_MPU_CFG 530
#define SLAVE_LPASS_TOP_CFG 531
#define SLAVE_PCIE_0_CFG 532
#define SLAVE_PCIE_2_CFG 533
#define SLAVE_PCIE_1_CFG 534
#define SLAVE_PRNG 535
#define SLAVE_QDSS_CFG 536
#define SLAVE_QUP_1 537
#define SLAVE_QUP_2 538
#define SLAVE_QUP_3 539
#define SLAVE_SDCC_2 540
#define SLAVE_SOCCP 541
#define SLAVE_SPSS_CFG 542
#define SLAVE_TCSR 543
#define SLAVE_TLMM 544
#define SLAVE_TME_CFG 545
#define SLAVE_UFS_MEM_CFG 546
#define SLAVE_USB3_0 547
#define SLAVE_USB3_1 548
#define SLAVE_VENUS_CFG 549
#define SLAVE_VSENSE_CTRL_CFG 550
#define SLAVE_A1NOC_SNOC 551
#define SLAVE_A2NOC_SNOC 552
#define SLAVE_GEM_NOC_CNOC 553
#define SLAVE_SNOC_GEM_NOC_SF 554
#define SLAVE_LLCC 555
#define SLAVE_LPASS_GEM_NOC 556
#define SLAVE_MNOC_HF_MEM_NOC 557
#define SLAVE_MNOC_SF_MEM_NOC 558
#define SLAVE_CDSP_MEM_NOC 559
#define SLAVE_MEM_NOC_PCIE_SNOC 560
#define SLAVE_ANOC_PCIE_GEM_NOC 561
#define SLAVE_CNOC_CFG 562
#define SLAVE_DDRSS_CFG 563
#define SLAVE_CNOC_MNOC_HF_CFG 564
#define SLAVE_CNOC_MNOC_SF_CFG 565
#define SLAVE_PCIE_ANOC_CFG 566
#define SLAVE_QUP_CORE_1 567
#define SLAVE_QUP_CORE_2 568
#define SLAVE_QUP_CORE_3 569
#define SLAVE_BOOT_IMEM 570
#define SLAVE_BOOT_IMEM_2 571
#define SLAVE_IMEM 572
#define SLAVE_SERVICE_CNOC 573
#define SLAVE_SERVICE_MNOC_HF 574
#define SLAVE_SERVICE_MNOC_SF 575
#define SLAVE_SERVICES_LPASS_AML_NOC 576
#define SLAVE_SERVICE_LPASS_AG_NOC 577
#define SLAVE_SERVICE_PCIE_ANOC 578
#define SLAVE_PCIE_0 579
#define SLAVE_PCIE_2 580
#define SLAVE_PCIE_1 581
#define SLAVE_QDSS_STM 582
#define SLAVE_TCU 583
#define MASTER_LLCC_DISP 1000
#define MASTER_MDP0_DISP 1001
#define MASTER_MNOC_HF_MEM_NOC_DISP 1002