Merge tag 'icc-7.2-rc1' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/djakov/icc into char-misc-next

Georgi writes:

This pull request contains the following interconnect updates for
the 7.2-rc1 merge window:

- New driver for Shikra SoC
- New driver for Nord SoC
- New driver for Hawi SoC including CPU/LLCC bwmon support
- Add missing SDCC nodes for Eliza SoC
- Misc cleanups and fixes.

Signed-off-by: Georgi Djakov <djakov@kernel.org>

* tag 'icc-7.2-rc1' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/djakov/icc:
  interconnect: qcom: add Hawi interconnect provider driver
  dt-bindings: interconnect: qcom: document the RPMh NoC for Hawi SoC
  dt-bindings: interconnect: qcom-bwmon: Add Hawi llcc-bwmon compatible
  interconnect: qcom: eliza: Add SDCC1 slave node
  dt-bindings: interconnect: qcom,eliza-rpmh: Add SDCC1 slave
  interconnect: qcom: Restrict drivers per ARM/ARM64
  interconnect: qcom: Fix indentation
  dt-bindings: interconnect: qcom,sm6115: Restrict children and clocks
  dt-bindings: interconnect: qcom,sm6115: Drop incorrect children if:then: block
  dt-bindings: interconnect: qcom,sdm660: Disallow clocks when appropriate
  interconnect: Move MODULE_DEVICE_TABLE next to the table itself
  interconnect: Do not create empty devres on missing interconnects
  dt-bindings: interconnect: qcom-bwmon: Add Hawi cpu-bwmon compatible
  interconnect: qcom: Add interconnect provider driver for Nord SoC
  dt-bindings: interconnect: Document RPMh Network-On-Chip for Qualcomm Nord SoC
  interconnect: qcom: add Shikra interconnect provider driver
  dt-bindings: interconnect: document the RPM Network-On-Chip interconnect in Shikra SoC
This commit is contained in:
Greg Kroah-Hartman
2026-06-08 21:33:47 +02:00
18 changed files with 7577 additions and 38 deletions

View File

@@ -0,0 +1,131 @@
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/interconnect/qcom,hawi-rpmh.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Qualcomm RPMh Network-On-Chip Interconnect on Hawi
maintainers:
- Vivek Aknurwar <vivek.aknurwar@oss.qualcomm.com>
description: |
RPMh interconnect providers support system bandwidth requirements through
RPMh hardware accelerators known as Bus Clock Manager (BCM). The provider is
able to communicate with the BCM through the Resource State Coordinator (RSC)
associated with each execution environment. Provider nodes must point to at
least one RPMh device child node pertaining to their RSC and each provider
can map to multiple RPMh resources.
See also: include/dt-bindings/interconnect/qcom,hawi-rpmh.h
properties:
compatible:
enum:
- qcom,hawi-aggre1-noc
- qcom,hawi-clk-virt
- qcom,hawi-cnoc-main
- qcom,hawi-gem-noc
- qcom,hawi-llclpi-noc
- qcom,hawi-lpass-ag-noc
- qcom,hawi-lpass-lpiaon-noc
- qcom,hawi-lpass-lpicx-noc
- qcom,hawi-mc-virt
- qcom,hawi-mmss-noc
- qcom,hawi-nsp-noc
- qcom,hawi-pcie-anoc
- qcom,hawi-stdst-cfg
- qcom,hawi-stdst-main
- qcom,hawi-system-noc
reg:
maxItems: 1
clocks:
minItems: 2
maxItems: 3
required:
- compatible
allOf:
- $ref: qcom,rpmh-common.yaml#
- if:
properties:
compatible:
contains:
enum:
- qcom,hawi-clk-virt
- qcom,hawi-mc-virt
then:
properties:
reg: false
else:
required:
- reg
- if:
properties:
compatible:
contains:
enum:
- qcom,hawi-pcie-anoc
then:
properties:
clocks:
items:
- description: aggre-NOC PCIe AXI clock
- description: cfg-NOC PCIe a-NOC AHB clock
- if:
properties:
compatible:
contains:
enum:
- qcom,hawi-aggre1-noc
then:
properties:
clocks:
items:
- description: aggre UFS PHY AXI clock
- description: aggre USB3 PRIM AXI clock
- description: RPMH CC IPA clock
- if:
properties:
compatible:
contains:
enum:
- qcom,hawi-aggre1-noc
- qcom,hawi-pcie-anoc
then:
required:
- clocks
else:
properties:
clocks: false
unevaluatedProperties: false
examples:
- |
soc {
#address-cells = <2>;
#size-cells = <2>;
clk_virt: interconnect-0 {
compatible = "qcom,hawi-clk-virt";
#interconnect-cells = <2>;
qcom,bcm-voters = <&apps_bcm_voter>;
};
aggre_noc: interconnect@f00000 {
compatible = "qcom,hawi-aggre1-noc";
reg = <0x0 0xf00000 0x0 0x54400>;
#interconnect-cells = <2>;
clocks = <&gcc_aggre_ufs_phy_axi_clk>,
<&gcc_aggre_usb3_prim_axi_clk>,
<&rpmhcc_ipa_clk>;
qcom,bcm-voters = <&apps_bcm_voter>;
};
};

View File

@@ -26,6 +26,7 @@ properties:
- items:
- enum:
- qcom,glymur-cpu-bwmon
- qcom,hawi-cpu-bwmon
- qcom,kaanapali-cpu-bwmon
- qcom,qcm2290-cpu-bwmon
- qcom,qcs615-cpu-bwmon
@@ -45,6 +46,7 @@ properties:
- const: qcom,sdm845-bwmon # BWMON v4, unified register space
- items:
- enum:
- qcom,hawi-llcc-bwmon
- qcom,qcs615-llcc-bwmon
- qcom,qcs8300-llcc-bwmon
- qcom,sa8775p-llcc-bwmon

View File

@@ -0,0 +1,131 @@
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/interconnect/qcom,nord-rpmh.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Qualcomm RPMh Network-On-Chip Interconnect on Nord
maintainers:
- Odelu Kukatla <odelu.kukatla@oss.qualcomm.com>
description: |
RPMh interconnect providers support system bandwidth requirements through
RPMh hardware accelerators known as Bus Clock Manager (BCM). The provider is
able to communicate with the BCM through the Resource State Coordinator (RSC)
associated with each execution environment. Provider nodes must point to at
least one RPMh device child node pertaining to their RSC and each provider
can map to multiple RPMh resources.
See also: include/dt-bindings/interconnect/qcom,nord-rpmh.h
properties:
compatible:
enum:
- qcom,nord-aggre1-noc
- qcom,nord-aggre1-noc-tile
- qcom,nord-aggre2-noc
- qcom,nord-aggre2-noc-tile
- qcom,nord-clk-virt
- qcom,nord-cnoc-cfg
- qcom,nord-cnoc-main
- qcom,nord-hpass-ag-noc
- qcom,nord-hscnoc
- qcom,nord-mc-virt
- qcom,nord-mmss-noc
- qcom,nord-nsp-data-noc-0
- qcom,nord-nsp-data-noc-1
- qcom,nord-nsp-data-noc-2
- qcom,nord-nsp-data-noc-3
- qcom,nord-pcie-cfg
- qcom,nord-pcie-data-inbound
- qcom,nord-pcie-data-outbound
- qcom,nord-system-noc
reg:
maxItems: 1
clocks:
minItems: 1
maxItems: 4
required:
- compatible
allOf:
- $ref: qcom,rpmh-common.yaml#
- if:
properties:
compatible:
contains:
enum:
- qcom,nord-clk-virt
- qcom,nord-mc-virt
then:
properties:
reg: false
else:
required:
- reg
- if:
properties:
compatible:
contains:
enum:
- qcom,nord-aggre1-noc-tile
then:
properties:
clocks:
items:
- description: aggre UFS PHY AXI clock
- description: aggre USB2 AXI clock
- description: aggre USB3 PRIM AXI clock
- description: aggre USB3 SEC AXI clock
- if:
properties:
compatible:
contains:
enum:
- qcom,nord-aggre2-noc
then:
properties:
clocks:
items:
- description: RPMH CC IPA clock
- if:
properties:
compatible:
contains:
enum:
- qcom,nord-aggre1-noc-tile
- qcom,nord-aggre2-noc
then:
required:
- clocks
else:
properties:
clocks: false
unevaluatedProperties: false
examples:
- |
clk_virt: interconnect-clk-virt {
compatible = "qcom,nord-clk-virt";
#interconnect-cells = <2>;
qcom,bcm-voters = <&apps_bcm_voter>;
};
aggre1_noc_tile: interconnect@1720000 {
compatible = "qcom,nord-aggre1-noc-tile";
reg = <0x01720000 0x23400>;
#interconnect-cells = <2>;
qcom,bcm-voters = <&apps_bcm_voter>;
clocks = <&ne_gcc_aggre_noc_ufs_phy_axi_clk>,
<&ne_gcc_aggre_noc_usb2_axi_clk>,
<&ne_gcc_aggre_noc_usb3_prim_axi_clk>,
<&ne_gcc_aggre_noc_usb3_sec_axi_clk>;
};

View File

@@ -79,6 +79,19 @@ allOf:
- const: aggre2_usb3_axi
- const: cfg_noc_usb2_axi
- if:
properties:
compatible:
enum:
- qcom,sdm660-bimc
- qcom,sdm660-cnoc
- qcom,sdm660-gnoc
- qcom,sdm660-snoc
then:
properties:
clocks: false
clock-names: false
examples:
- |
#include <dt-bindings/clock/qcom,gcc-sdm660.h>

View File

@@ -0,0 +1,134 @@
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/interconnect/qcom,shikra.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Qualcomm Shikra Network-On-Chip interconnect
maintainers:
- Raviteja Laggyshetty <raviteja.laggyshetty@oss.qualcomm.com>
description:
The Qualcomm Shikra interconnect providers support adjusting the
bandwidth requirements between the various NoC fabrics.
properties:
compatible:
enum:
- qcom,shikra-config-noc
- qcom,shikra-mem-noc-core
- qcom,shikra-sys-noc
reg:
maxItems: 1
clocks:
minItems: 1
maxItems: 4
clock-names:
minItems: 1
maxItems: 4
# Child node's properties
patternProperties:
'^interconnect-[a-z0-9]+$':
type: object
description:
The interconnect providers do not have a separate QoS register space,
but share parent's space.
$ref: qcom,rpm-common.yaml#
properties:
compatible:
enum:
- qcom,shikra-clk-virt
- qcom,shikra-mc-virt
- qcom,shikra-mmrt-virt
- qcom,shikra-mmnrt-virt
required:
- compatible
unevaluatedProperties: false
required:
- compatible
- reg
allOf:
- $ref: qcom,rpm-common.yaml#
- if:
properties:
compatible:
const: qcom,shikra-mem-noc-core
then:
properties:
clocks:
items:
- description: GPU-NoC AXI clock
clock-names:
items:
- const: gpu_axi
patternProperties:
'^interconnect-[a-z0-9]+$': false
- if:
properties:
compatible:
const: qcom,shikra-sys-noc
then:
properties:
clocks:
items:
- description: EMAC0-NoC AXI clock.
- description: EMAC1-NoC AXI clock.
- description: USB2-NoC AXI clock.
- description: USB3-NoC AXI clock.
clock-names:
items:
- const: emac0_axi
- const: emac1_axi
- const: usb2_axi
- const: usb3_axi
- if:
properties:
compatible:
const: qcom,shikra-config-noc
then:
properties:
clocks: false
clock-names: false
patternProperties:
'^interconnect-[a-z0-9]+$': false
unevaluatedProperties: false
examples:
- |
interconnect@1880000 {
compatible = "qcom,shikra-sys-noc";
reg = <0x01880000 0x6a080>;
#interconnect-cells = <2>;
clocks = <&gcc_emac0_axi_sys_noc_clk>,
<&gcc_emac1_axi_sys_noc_clk>,
<&gcc_sys_noc_usb2_prim_axi_clk>,
<&gcc_sys_noc_usb3_prim_axi_clk>;
clock-names = "emac0_axi",
"emac1_axi",
"usb2_axi",
"usb3_axi";
interconnect-clk {
compatible = "qcom,shikra-clk-virt";
#interconnect-cells = <2>;
};
};

View File

@@ -62,23 +62,33 @@ allOf:
- if:
properties:
compatible:
const: qcom,sm6115-cnoc
const: qcom,sm6115-bimc
then:
properties:
clocks: false
clock-names: false
patternProperties:
'^interconnect-[a-z0-9]+$': false
- if:
properties:
compatible:
const: qcom,sm6115-cnoc
then:
properties:
clocks:
items:
- description: USB-NoC AXI clock
clock-names:
items:
- const: usb_axi
patternProperties:
'^interconnect-[a-z0-9]+$': false
- if:
properties:
compatible:
const: qcom,sm6115-snoc
then:
properties:
clocks:
@@ -87,7 +97,6 @@ allOf:
- description: UFS-NoC AXI clock.
- description: USB-NoC AXI clock.
- description: IPA clock.
clock-names:
items:
- const: cpu_axi
@@ -95,20 +104,6 @@ allOf:
- const: usb_axi
- const: ipa
- if:
properties:
compatible:
enum:
- qcom,sm6115-bimc
- qcom,sm6115-clk-virt
- qcom,sm6115-mmrt-virt
- qcom,sm6115-mmnrt-virt
then:
properties:
clocks: false
clock-names: false
unevaluatedProperties: false
examples:
@@ -149,4 +144,6 @@ examples:
compatible = "qcom,sm6115-cnoc";
reg = <0x01900000 0x8200>;
#interconnect-cells = <1>;
clocks = <&gcc GCC_CFG_NOC_USB3_PRIM_AXI_CLK>;
clock-names = "usb_axi";
};

View File

@@ -432,7 +432,7 @@ struct icc_path *devm_of_icc_get(struct device *dev, const char *name)
return ERR_PTR(-ENOMEM);
path = of_icc_get(dev, name);
if (!IS_ERR(path)) {
if (!IS_ERR_OR_NULL(path)) {
*ptr = path;
devres_add(dev, ptr);
} else {

View File

@@ -9,26 +9,38 @@ config INTERCONNECT_QCOM_BCM_VOTER
tristate
config INTERCONNECT_QCOM_ELIZA
tristate "Qualcomm Eliza 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 Eliza-based
platforms.
tristate "Qualcomm Eliza interconnect driver"
depends on INTERCONNECT_QCOM_RPMH_POSSIBLE
depends on ARM64 || COMPILE_TEST
select INTERCONNECT_QCOM_RPMH
select INTERCONNECT_QCOM_BCM_VOTER
help
This is a driver for the Qualcomm Network-on-Chip on Eliza-based
platforms.
config INTERCONNECT_QCOM_GLYMUR
tristate "Qualcomm Glymur 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 glymur-based
platforms.
tristate "Qualcomm Glymur interconnect driver"
depends on INTERCONNECT_QCOM_RPMH_POSSIBLE
depends on ARM64 || COMPILE_TEST
select INTERCONNECT_QCOM_RPMH
select INTERCONNECT_QCOM_BCM_VOTER
help
This is a driver for the Qualcomm Network-on-Chip on glymur-based
platforms.
config INTERCONNECT_QCOM_HAWI
tristate "Qualcomm HAWI 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 hawi-based
platforms.
config INTERCONNECT_QCOM_KAANAPALI
tristate "Qualcomm Kaanapali interconnect driver"
depends on INTERCONNECT_QCOM_RPMH_POSSIBLE
depends on ARM64 || COMPILE_TEST
select INTERCONNECT_QCOM_RPMH
select INTERCONNECT_QCOM_BCM_VOTER
help
@@ -39,6 +51,7 @@ config INTERCONNECT_QCOM_MSM8909
tristate "Qualcomm MSM8909 interconnect driver"
depends on INTERCONNECT_QCOM
depends on QCOM_SMD_RPM
depends on ARM || COMPILE_TEST
select INTERCONNECT_QCOM_SMD_RPM
help
This is a driver for the Qualcomm Network-on-Chip on msm8909-based
@@ -75,6 +88,7 @@ config INTERCONNECT_QCOM_MSM8953
tristate "Qualcomm MSM8953 interconnect driver"
depends on INTERCONNECT_QCOM
depends on QCOM_SMD_RPM
depends on ARM64 || COMPILE_TEST
select INTERCONNECT_QCOM_SMD_RPM
help
This is a driver for the Qualcomm Network-on-Chip on msm8953-based
@@ -84,6 +98,7 @@ config INTERCONNECT_QCOM_MSM8974
tristate "Qualcomm MSM8974 interconnect driver"
depends on INTERCONNECT_QCOM
depends on QCOM_SMD_RPM
depends on ARM || COMPILE_TEST
select INTERCONNECT_QCOM_SMD_RPM
help
This is a driver for the Qualcomm Network-on-Chip on msm8974-based
@@ -93,6 +108,7 @@ config INTERCONNECT_QCOM_MSM8976
tristate "Qualcomm MSM8976 interconnect driver"
depends on INTERCONNECT_QCOM
depends on QCOM_SMD_RPM
depends on ARM64 || COMPILE_TEST
select INTERCONNECT_QCOM_SMD_RPM
help
This is a driver for the Qualcomm Network-on-Chip on msm8976-based
@@ -102,14 +118,27 @@ config INTERCONNECT_QCOM_MSM8996
tristate "Qualcomm MSM8996 interconnect driver"
depends on INTERCONNECT_QCOM
depends on QCOM_SMD_RPM
depends on ARM64 || COMPILE_TEST
select INTERCONNECT_QCOM_SMD_RPM
help
This is a driver for the Qualcomm Network-on-Chip on msm8996-based
platforms.
config INTERCONNECT_QCOM_NORD
tristate "Qualcomm Nord 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 Nord-based
platforms. The topology consists of several NoCs controlled by
the RPMh hardware and communicates via Bus Clock Manager (BCM)
through the Resource State Coordinator (RSC).
config INTERCONNECT_QCOM_OSM_L3
tristate "Qualcomm OSM L3 interconnect driver"
depends on INTERCONNECT_QCOM || COMPILE_TEST
depends on ARM64 || COMPILE_TEST
help
Say y here to support the Operating State Manager (OSM) interconnect
driver which controls the scaling of L3 caches on Qualcomm SoCs.
@@ -118,6 +147,7 @@ config INTERCONNECT_QCOM_QCM2290
tristate "Qualcomm QCM2290 interconnect driver"
depends on INTERCONNECT_QCOM
depends on QCOM_SMD_RPM
depends on ARM64 || COMPILE_TEST
select INTERCONNECT_QCOM_SMD_RPM
help
This is a driver for the Qualcomm Network-on-Chip on qcm2290-based
@@ -127,6 +157,7 @@ config INTERCONNECT_QCOM_QCS404
tristate "Qualcomm QCS404 interconnect driver"
depends on INTERCONNECT_QCOM
depends on QCOM_SMD_RPM
depends on ARM64 || COMPILE_TEST
select INTERCONNECT_QCOM_SMD_RPM
help
This is a driver for the Qualcomm Network-on-Chip on qcs404-based
@@ -135,6 +166,7 @@ config INTERCONNECT_QCOM_QCS404
config INTERCONNECT_QCOM_QCS615
tristate "Qualcomm QCS615 interconnect driver"
depends on INTERCONNECT_QCOM_RPMH_POSSIBLE
depends on ARM64 || COMPILE_TEST
select INTERCONNECT_QCOM_RPMH
select INTERCONNECT_QCOM_BCM_VOTER
help
@@ -144,6 +176,7 @@ config INTERCONNECT_QCOM_QCS615
config INTERCONNECT_QCOM_QCS8300
tristate "Qualcomm QCS8300 interconnect driver"
depends on INTERCONNECT_QCOM_RPMH_POSSIBLE
depends on ARM64 || COMPILE_TEST
select INTERCONNECT_QCOM_RPMH
select INTERCONNECT_QCOM_BCM_VOTER
help
@@ -155,6 +188,7 @@ config INTERCONNECT_QCOM_QCS8300
config INTERCONNECT_QCOM_QDU1000
tristate "Qualcomm QDU1000/QRU1000 interconnect driver"
depends on INTERCONNECT_QCOM_RPMH_POSSIBLE
depends on ARM64 || COMPILE_TEST
select INTERCONNECT_QCOM_RPMH
select INTERCONNECT_QCOM_BCM_VOTER
help
@@ -178,6 +212,7 @@ config INTERCONNECT_QCOM_RPMH
config INTERCONNECT_QCOM_SA8775P
tristate "Qualcomm SA8775P interconnect driver"
depends on INTERCONNECT_QCOM_RPMH_POSSIBLE
depends on ARM64 || COMPILE_TEST
select INTERCONNECT_QCOM_RPMH
select INTERCONNECT_QCOM_BCM_VOTER
help
@@ -187,6 +222,7 @@ config INTERCONNECT_QCOM_SA8775P
config INTERCONNECT_QCOM_SAR2130P
tristate "Qualcomm SAR2130P interconnect driver"
depends on INTERCONNECT_QCOM_RPMH_POSSIBLE
depends on ARM64 || COMPILE_TEST
select INTERCONNECT_QCOM_RPMH
select INTERCONNECT_QCOM_BCM_VOTER
help
@@ -196,6 +232,7 @@ config INTERCONNECT_QCOM_SAR2130P
config INTERCONNECT_QCOM_SC7180
tristate "Qualcomm SC7180 interconnect driver"
depends on INTERCONNECT_QCOM_RPMH_POSSIBLE
depends on ARM64 || COMPILE_TEST
select INTERCONNECT_QCOM_RPMH
select INTERCONNECT_QCOM_BCM_VOTER
help
@@ -205,6 +242,7 @@ config INTERCONNECT_QCOM_SC7180
config INTERCONNECT_QCOM_SC7280
tristate "Qualcomm SC7280 interconnect driver"
depends on INTERCONNECT_QCOM_RPMH_POSSIBLE
depends on ARM64 || COMPILE_TEST
select INTERCONNECT_QCOM_RPMH
select INTERCONNECT_QCOM_BCM_VOTER
help
@@ -214,6 +252,7 @@ config INTERCONNECT_QCOM_SC7280
config INTERCONNECT_QCOM_SC8180X
tristate "Qualcomm SC8180X interconnect driver"
depends on INTERCONNECT_QCOM_RPMH_POSSIBLE
depends on ARM64 || COMPILE_TEST
select INTERCONNECT_QCOM_RPMH
select INTERCONNECT_QCOM_BCM_VOTER
help
@@ -223,6 +262,7 @@ config INTERCONNECT_QCOM_SC8180X
config INTERCONNECT_QCOM_SC8280XP
tristate "Qualcomm SC8280XP interconnect driver"
depends on INTERCONNECT_QCOM_RPMH_POSSIBLE
depends on ARM64 || COMPILE_TEST
select INTERCONNECT_QCOM_RPMH
select INTERCONNECT_QCOM_BCM_VOTER
help
@@ -232,6 +272,7 @@ config INTERCONNECT_QCOM_SC8280XP
config INTERCONNECT_QCOM_SDM660
tristate "Qualcomm SDM660 interconnect driver"
depends on INTERCONNECT_QCOM
depends on ARM64 || COMPILE_TEST
depends on QCOM_SMD_RPM
select INTERCONNECT_QCOM_SMD_RPM
help
@@ -241,6 +282,7 @@ config INTERCONNECT_QCOM_SDM660
config INTERCONNECT_QCOM_SDM670
tristate "Qualcomm SDM670 interconnect driver"
depends on INTERCONNECT_QCOM_RPMH_POSSIBLE
depends on ARM64 || COMPILE_TEST
select INTERCONNECT_QCOM_RPMH
select INTERCONNECT_QCOM_BCM_VOTER
help
@@ -250,6 +292,7 @@ config INTERCONNECT_QCOM_SDM670
config INTERCONNECT_QCOM_SDM845
tristate "Qualcomm SDM845 interconnect driver"
depends on INTERCONNECT_QCOM_RPMH_POSSIBLE
depends on ARM64 || COMPILE_TEST
select INTERCONNECT_QCOM_RPMH
select INTERCONNECT_QCOM_BCM_VOTER
help
@@ -259,6 +302,7 @@ config INTERCONNECT_QCOM_SDM845
config INTERCONNECT_QCOM_SDX55
tristate "Qualcomm SDX55 interconnect driver"
depends on INTERCONNECT_QCOM_RPMH_POSSIBLE
depends on ARM || COMPILE_TEST
select INTERCONNECT_QCOM_RPMH
select INTERCONNECT_QCOM_BCM_VOTER
help
@@ -268,6 +312,7 @@ config INTERCONNECT_QCOM_SDX55
config INTERCONNECT_QCOM_SDX65
tristate "Qualcomm SDX65 interconnect driver"
depends on INTERCONNECT_QCOM_RPMH_POSSIBLE
depends on ARM || COMPILE_TEST
select INTERCONNECT_QCOM_RPMH
select INTERCONNECT_QCOM_BCM_VOTER
help
@@ -277,16 +322,27 @@ config INTERCONNECT_QCOM_SDX65
config INTERCONNECT_QCOM_SDX75
tristate "Qualcomm SDX75 interconnect driver"
depends on INTERCONNECT_QCOM_RPMH_POSSIBLE
depends on ARM64 || COMPILE_TEST
select INTERCONNECT_QCOM_RPMH
select INTERCONNECT_QCOM_BCM_VOTER
help
This is a driver for the Qualcomm Network-on-Chip on sdx75-based
platforms.
config INTERCONNECT_QCOM_SHIKRA
tristate "Qualcomm SHIKRA 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 shikra-based
platforms.
config INTERCONNECT_QCOM_SM6115
tristate "Qualcomm SM6115 interconnect driver"
depends on INTERCONNECT_QCOM
depends on QCOM_SMD_RPM
depends on ARM64 || COMPILE_TEST
select INTERCONNECT_QCOM_SMD_RPM
help
This is a driver for the Qualcomm Network-on-Chip on sm6115-based
@@ -295,6 +351,7 @@ config INTERCONNECT_QCOM_SM6115
config INTERCONNECT_QCOM_SM6350
tristate "Qualcomm SM6350 interconnect driver"
depends on INTERCONNECT_QCOM_RPMH_POSSIBLE
depends on ARM64 || COMPILE_TEST
select INTERCONNECT_QCOM_RPMH
select INTERCONNECT_QCOM_BCM_VOTER
help
@@ -304,6 +361,7 @@ config INTERCONNECT_QCOM_SM6350
config INTERCONNECT_QCOM_SM7150
tristate "Qualcomm SM7150 interconnect driver"
depends on INTERCONNECT_QCOM_RPMH_POSSIBLE
depends on ARM64 || COMPILE_TEST
select INTERCONNECT_QCOM_RPMH
select INTERCONNECT_QCOM_BCM_VOTER
help
@@ -313,6 +371,7 @@ config INTERCONNECT_QCOM_SM7150
config INTERCONNECT_QCOM_MILOS
tristate "Qualcomm Milos interconnect driver"
depends on INTERCONNECT_QCOM_RPMH_POSSIBLE
depends on ARM64 || COMPILE_TEST
select INTERCONNECT_QCOM_RPMH
select INTERCONNECT_QCOM_BCM_VOTER
help
@@ -322,6 +381,7 @@ config INTERCONNECT_QCOM_MILOS
config INTERCONNECT_QCOM_SM8150
tristate "Qualcomm SM8150 interconnect driver"
depends on INTERCONNECT_QCOM_RPMH_POSSIBLE
depends on ARM64 || COMPILE_TEST
select INTERCONNECT_QCOM_RPMH
select INTERCONNECT_QCOM_BCM_VOTER
help
@@ -331,6 +391,7 @@ config INTERCONNECT_QCOM_SM8150
config INTERCONNECT_QCOM_SM8250
tristate "Qualcomm SM8250 interconnect driver"
depends on INTERCONNECT_QCOM_RPMH_POSSIBLE
depends on ARM64 || COMPILE_TEST
select INTERCONNECT_QCOM_RPMH
select INTERCONNECT_QCOM_BCM_VOTER
help
@@ -340,6 +401,7 @@ config INTERCONNECT_QCOM_SM8250
config INTERCONNECT_QCOM_SM8350
tristate "Qualcomm SM8350 interconnect driver"
depends on INTERCONNECT_QCOM_RPMH_POSSIBLE
depends on ARM64 || COMPILE_TEST
select INTERCONNECT_QCOM_RPMH
select INTERCONNECT_QCOM_BCM_VOTER
help
@@ -349,6 +411,7 @@ config INTERCONNECT_QCOM_SM8350
config INTERCONNECT_QCOM_SM8450
tristate "Qualcomm SM8450 interconnect driver"
depends on INTERCONNECT_QCOM_RPMH_POSSIBLE
depends on ARM64 || COMPILE_TEST
select INTERCONNECT_QCOM_RPMH
select INTERCONNECT_QCOM_BCM_VOTER
help
@@ -358,6 +421,7 @@ config INTERCONNECT_QCOM_SM8450
config INTERCONNECT_QCOM_SM8550
tristate "Qualcomm SM8550 interconnect driver"
depends on INTERCONNECT_QCOM_RPMH_POSSIBLE
depends on ARM64 || COMPILE_TEST
select INTERCONNECT_QCOM_RPMH
select INTERCONNECT_QCOM_BCM_VOTER
help
@@ -367,6 +431,7 @@ config INTERCONNECT_QCOM_SM8550
config INTERCONNECT_QCOM_SM8650
tristate "Qualcomm SM8650 interconnect driver"
depends on INTERCONNECT_QCOM_RPMH_POSSIBLE
depends on ARM64 || COMPILE_TEST
select INTERCONNECT_QCOM_RPMH
select INTERCONNECT_QCOM_BCM_VOTER
help
@@ -376,6 +441,7 @@ config INTERCONNECT_QCOM_SM8650
config INTERCONNECT_QCOM_SM8750
tristate "Qualcomm SM8750 interconnect driver"
depends on INTERCONNECT_QCOM_RPMH_POSSIBLE
depends on ARM64 || COMPILE_TEST
select INTERCONNECT_QCOM_RPMH
select INTERCONNECT_QCOM_BCM_VOTER
help
@@ -385,6 +451,7 @@ config INTERCONNECT_QCOM_SM8750
config INTERCONNECT_QCOM_X1E80100
tristate "Qualcomm X1E80100 interconnect driver"
depends on INTERCONNECT_QCOM_RPMH_POSSIBLE
depends on ARM64 || COMPILE_TEST
select INTERCONNECT_QCOM_RPMH
select INTERCONNECT_QCOM_BCM_VOTER
help

View File

@@ -6,6 +6,7 @@ interconnect_qcom-y := icc-common.o
icc-bcm-voter-objs := bcm-voter.o
qnoc-eliza-objs := eliza.o
qnoc-glymur-objs := glymur.o
qnoc-hawi-objs := hawi.o
qnoc-kaanapali-objs := kaanapali.o
qnoc-milos-objs := milos.o
qnoc-msm8909-objs := msm8909.o
@@ -16,6 +17,7 @@ qnoc-msm8953-objs := msm8953.o
qnoc-msm8974-objs := msm8974.o
qnoc-msm8976-objs := msm8976.o
qnoc-msm8996-objs := msm8996.o
qnoc-nord-objs := nord.o
icc-osm-l3-objs := osm-l3.o
qnoc-qcm2290-objs := qcm2290.o
qnoc-qcs404-objs := qcs404.o
@@ -35,6 +37,7 @@ qnoc-sdm845-objs := sdm845.o
qnoc-sdx55-objs := sdx55.o
qnoc-sdx65-objs := sdx65.o
qnoc-sdx75-objs := sdx75.o
qnoc-shikra-objs := shikra.o
qnoc-sm6115-objs := sm6115.o
qnoc-sm6350-objs := sm6350.o
qnoc-sm7150-objs := sm7150.o
@@ -51,6 +54,7 @@ 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_ELIZA) += qnoc-eliza.o
obj-$(CONFIG_INTERCONNECT_QCOM_GLYMUR) += qnoc-glymur.o
obj-$(CONFIG_INTERCONNECT_QCOM_HAWI) += qnoc-hawi.o
obj-$(CONFIG_INTERCONNECT_QCOM_KAANAPALI) += qnoc-kaanapali.o
obj-$(CONFIG_INTERCONNECT_QCOM_MILOS) += qnoc-milos.o
obj-$(CONFIG_INTERCONNECT_QCOM_MSM8909) += qnoc-msm8909.o
@@ -61,6 +65,7 @@ obj-$(CONFIG_INTERCONNECT_QCOM_MSM8953) += qnoc-msm8953.o
obj-$(CONFIG_INTERCONNECT_QCOM_MSM8974) += qnoc-msm8974.o
obj-$(CONFIG_INTERCONNECT_QCOM_MSM8976) += qnoc-msm8976.o
obj-$(CONFIG_INTERCONNECT_QCOM_MSM8996) += qnoc-msm8996.o
obj-$(CONFIG_INTERCONNECT_QCOM_NORD) += qnoc-nord.o
obj-$(CONFIG_INTERCONNECT_QCOM_OSM_L3) += icc-osm-l3.o
obj-$(CONFIG_INTERCONNECT_QCOM_QCM2290) += qnoc-qcm2290.o
obj-$(CONFIG_INTERCONNECT_QCOM_QCS404) += qnoc-qcs404.o
@@ -80,6 +85,7 @@ obj-$(CONFIG_INTERCONNECT_QCOM_SDM845) += qnoc-sdm845.o
obj-$(CONFIG_INTERCONNECT_QCOM_SDX55) += qnoc-sdx55.o
obj-$(CONFIG_INTERCONNECT_QCOM_SDX65) += qnoc-sdx65.o
obj-$(CONFIG_INTERCONNECT_QCOM_SDX75) += qnoc-sdx75.o
obj-$(CONFIG_INTERCONNECT_QCOM_SHIKRA) += qnoc-shikra.o
obj-$(CONFIG_INTERCONNECT_QCOM_SM6115) += qnoc-sm6115.o
obj-$(CONFIG_INTERCONNECT_QCOM_SM6350) += qnoc-sm6350.o
obj-$(CONFIG_INTERCONNECT_QCOM_SM7150) += qnoc-sm7150.o

View File

@@ -127,6 +127,12 @@ static struct qcom_icc_node qhs_qup2 = {
.buswidth = 4,
};
static struct qcom_icc_node qhs_sdc1 = {
.name = "qhs_sdc1",
.channels = 1,
.buswidth = 4,
};
static struct qcom_icc_node qhs_sdc2 = {
.name = "qhs_sdc2",
.channels = 1,
@@ -383,7 +389,7 @@ static struct qcom_icc_node qsm_cfg = {
.name = "qsm_cfg",
.channels = 1,
.buswidth = 4,
.num_links = 29,
.num_links = 30,
.link_nodes = { &qhs_ahb2phy0, &qhs_ahb2phy1,
&qhs_camera_cfg, &qhs_clk_ctl,
&qhs_crypto0_cfg, &qhs_display_cfg,
@@ -392,7 +398,7 @@ static struct qcom_icc_node qsm_cfg = {
&qhs_mss_cfg, &qhs_pcie_0_cfg,
&qhs_prng, &qhs_qdss_cfg,
&qhs_qspi, &qhs_qup1,
&qhs_qup2, &qhs_sdc2,
&qhs_qup2, &qhs_sdc1, &qhs_sdc2,
&qhs_tcsr, &qhs_tlmm,
&qhs_ufs_mem_cfg, &qhs_usb3_0,
&qhs_venus_cfg, &qhs_vsense_ctrl_cfg,
@@ -1111,7 +1117,7 @@ static struct qcom_icc_bcm bcm_cn0 = {
.name = "CN0",
.enable_mask = BIT(0),
.keepalive = true,
.num_nodes = 43,
.num_nodes = 44,
.nodes = { &qsm_cfg, &qhs_ahb2phy0,
&qhs_ahb2phy1, &qhs_camera_cfg,
&qhs_clk_ctl, &qhs_crypto0_cfg,
@@ -1119,7 +1125,7 @@ static struct qcom_icc_bcm bcm_cn0 = {
&qhs_i3c_ibi1_cfg, &qhs_imem_cfg,
&qhs_mss_cfg, &qhs_pcie_0_cfg,
&qhs_prng, &qhs_qdss_cfg,
&qhs_qspi, &qhs_sdc2,
&qhs_qspi, &qhs_sdc1, &qhs_sdc2,
&qhs_tcsr, &qhs_tlmm,
&qhs_ufs_mem_cfg, &qhs_usb3_0,
&qhs_venus_cfg, &qhs_vsense_ctrl_cfg,
@@ -1321,6 +1327,7 @@ static struct qcom_icc_node * const cnoc_cfg_nodes[] = {
[SLAVE_QSPI_0] = &qhs_qspi,
[SLAVE_QUP_1] = &qhs_qup1,
[SLAVE_QUP_2] = &qhs_qup2,
[SLAVE_SDCC_1] = &qhs_sdc1,
[SLAVE_SDCC_2] = &qhs_sdc2,
[SLAVE_TCSR] = &qhs_tcsr,
[SLAVE_TLMM] = &qhs_tlmm,

File diff suppressed because it is too large Load Diff

View File

@@ -1307,6 +1307,7 @@ static const struct of_device_id msm8953_noc_of_match[] = {
{ .compatible = "qcom,msm8953-snoc-mm", .data = &msm8953_snoc_mm },
{ }
};
MODULE_DEVICE_TABLE(of, msm8953_noc_of_match);
static struct platform_driver msm8953_noc_driver = {
.probe = qnoc_probe,
@@ -1318,6 +1319,5 @@ static struct platform_driver msm8953_noc_driver = {
};
module_platform_driver(msm8953_noc_driver);
MODULE_DEVICE_TABLE(of, msm8953_noc_of_match);
MODULE_DESCRIPTION("Qualcomm MSM8953 NoC driver");
MODULE_LICENSE("GPL");

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -57,6 +57,7 @@
#define SLAVE_PCIE_ANOC_CFG 27
#define SLAVE_QDSS_STM 28
#define SLAVE_TCU 29
#define SLAVE_SDCC_1 30
#define MASTER_GEM_NOC_CNOC 0
#define MASTER_GEM_NOC_PCIE_SNOC 1

View File

@@ -0,0 +1,165 @@
/* SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) */
/*
* Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
*/
#ifndef __DT_BINDINGS_INTERCONNECT_QCOM_HAWI_H
#define __DT_BINDINGS_INTERCONNECT_QCOM_HAWI_H
#define MASTER_QSPI_0 0
#define MASTER_QUP_2 1
#define MASTER_QUP_3 2
#define MASTER_QUP_4 3
#define MASTER_CRYPTO 4
#define MASTER_IPA 5
#define MASTER_QUP_1 6
#define MASTER_SOCCP_PROC 7
#define MASTER_QDSS_ETR 8
#define MASTER_QDSS_ETR_1 9
#define MASTER_SDCC_2 10
#define MASTER_SDCC_4 11
#define MASTER_UFS_MEM 12
#define MASTER_USB3 13
#define SLAVE_A1NOC_SNOC 14
#define MASTER_DDR_EFF_VETO 0
#define MASTER_QUP_CORE_0 1
#define MASTER_QUP_CORE_1 2
#define MASTER_QUP_CORE_2 3
#define MASTER_QUP_CORE_3 4
#define MASTER_QUP_CORE_4 5
#define SLAVE_DDR_EFF_VETO 6
#define SLAVE_QUP_CORE_0 7
#define SLAVE_QUP_CORE_1 8
#define SLAVE_QUP_CORE_2 9
#define SLAVE_QUP_CORE_3 10
#define SLAVE_QUP_CORE_4 11
#define MASTER_GEM_NOC_CNOC 0
#define MASTER_GEM_NOC_PCIE_SNOC 1
#define SLAVE_AOSS 2
#define SLAVE_IPA_CFG 3
#define SLAVE_IPC_ROUTER_FENCE 4
#define SLAVE_SOCCP 5
#define SLAVE_TME_CFG 6
#define SLAVE_CNOC_CFG 7
#define SLAVE_DDRSS_CFG 8
#define SLAVE_IMEM 9
#define SLAVE_PCIE_0 10
#define SLAVE_PCIE_1 11
#define MASTER_GIC 0
#define MASTER_GPU_TCU 1
#define MASTER_SYS_TCU 2
#define MASTER_APPSS_PROC 3
#define MASTER_GFX3D 4
#define MASTER_LPASS_GEM_NOC 5
#define MASTER_MSS_PROC 6
#define MASTER_MNOC_HF_MEM_NOC 7
#define MASTER_MNOC_SF_MEM_NOC 8
#define MASTER_COMPUTE_NOC 9
#define MASTER_ANOC_PCIE_GEM_NOC 10
#define MASTER_QPACE 11
#define MASTER_SNOC_SF_MEM_NOC 12
#define MASTER_WLAN_Q6 13
#define SLAVE_GEM_NOC_CNOC 14
#define SLAVE_LLCC 15
#define SLAVE_MEM_NOC_PCIE_SNOC 16
#define MASTER_LPIAON_NOC_LLCLPI_NOC 0
#define SLAVE_LPASS_LPI_CC 1
#define SLAVE_LLCC_ISLAND 2
#define SLAVE_SERVICE_LLCLPI_NOC 3
#define SLAVE_SERVICE_LLCLPI_NOC_CHIPCX 4
#define MASTER_LPIAON_NOC 0
#define SLAVE_LPASS_GEM_NOC 1
#define MASTER_LPASS_LPINOC 0
#define SLAVE_LPIAON_NOC_LLCLPI_NOC 1
#define SLAVE_LPIAON_NOC_LPASS_AG_NOC 2
#define MASTER_LPASS_PROC 0
#define SLAVE_LPICX_NOC_LPIAON_NOC 1
#define MASTER_LLCC 0
#define MASTER_DDR_RT 1
#define SLAVE_EBI1 2
#define SLAVE_DDR_RT 3
#define MASTER_CAMNOC_HF 0
#define MASTER_CAMNOC_NRT_ICP_SF 1
#define MASTER_CAMNOC_RT_CDM_SF 2
#define MASTER_CAMNOC_SF 3
#define MASTER_MDP 4
#define MASTER_MDSS_DCP 5
#define MASTER_CDSP_HCP 6
#define MASTER_VIDEO_CV_PROC 7
#define MASTER_VIDEO_EVA 8
#define MASTER_VIDEO_MVP 9
#define MASTER_VIDEO_V_PROC 10
#define SLAVE_MNOC_HF_MEM_NOC 11
#define SLAVE_MNOC_SF_MEM_NOC 12
#define MASTER_CDSP_PROC 0
#define SLAVE_CDSP_MEM_NOC 1
#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_CFG_CENTER 0
#define MASTER_CFG_EAST 1
#define MASTER_CFG_MM 2
#define MASTER_CFG_NORTH 3
#define MASTER_CFG_SOUTH 4
#define MASTER_CFG_SOUTHWEST 5
#define SLAVE_AHB2PHY_SOUTH 6
#define SLAVE_BOOT_ROM 7
#define SLAVE_CAMERA_CFG 8
#define SLAVE_CLK_CTL 9
#define SLAVE_CRYPTO_CFG 10
#define SLAVE_DISPLAY_CFG 11
#define SLAVE_EVA_CFG 12
#define SLAVE_GFX3D_CFG 13
#define SLAVE_I2C 14
#define SLAVE_IMEM_CFG 15
#define SLAVE_IPC_ROUTER_CFG 16
#define SLAVE_IRIS_CFG 17
#define SLAVE_CNOC_MSS 18
#define SLAVE_PCIE_0_CFG 19
#define SLAVE_PCIE_1_CFG 20
#define SLAVE_PRNG 21
#define SLAVE_QSPI_0 22
#define SLAVE_QUP_1 23
#define SLAVE_QUP_2 24
#define SLAVE_QUP_3 25
#define SLAVE_QUP_4 26
#define SLAVE_SDCC_2 27
#define SLAVE_SDCC_4 28
#define SLAVE_TLMM 29
#define SLAVE_UFS_MEM_CFG 30
#define SLAVE_USB3 31
#define SLAVE_VSENSE_CTRL_CFG 32
#define SLAVE_PCIE_ANOC_CFG 33
#define SLAVE_QDSS_CFG 34
#define SLAVE_QDSS_STM 35
#define SLAVE_TCSR 36
#define SLAVE_TCU 37
#define MASTER_CNOC_STARDUST 0
#define SLAVE_STARDUST_CENTER_CFG 1
#define SLAVE_STARDUST_EAST_CFG 2
#define SLAVE_STARDUST_MM_CFG 3
#define SLAVE_STARDUST_NORTH_CFG 4
#define SLAVE_STARDUST_SOUTH_CFG 5
#define SLAVE_STARDUST_SOUTHWEST_CFG 6
#define MASTER_A1NOC_SNOC 0
#define MASTER_APSS_NOC 1
#define MASTER_CNOC_SNOC 2
#define SLAVE_SNOC_GEM_NOC_SF 3
#endif

View File

@@ -0,0 +1,217 @@
/* SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) */
/*
* Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
*/
#ifndef __DT_BINDINGS_INTERCONNECT_QCOM_NORD_H
#define __DT_BINDINGS_INTERCONNECT_QCOM_NORD_H
#define MASTER_QSPI_0 0
#define MASTER_SAILSS_MD1 1
#define MASTER_QUP_3 2
#define SLAVE_A1NOC_SNOC 3
#define MASTER_QUP_2 0
#define MASTER_CRYPTO_CORE0 1
#define MASTER_CRYPTO_CORE1 2
#define MASTER_CRYPTO_CORE2 3
#define MASTER_SDCC_4 4
#define MASTER_UFS_MEM 5
#define MASTER_USB2 6
#define MASTER_USB3_0 7
#define MASTER_USB3_1 8
#define SLAVE_A1NOC_HSCNOC 9
#define MASTER_IPA 0
#define MASTER_SOCCP_AGGR_NOC 1
#define MASTER_QDSS_ETR 2
#define MASTER_QDSS_ETR_1 3
#define SLAVE_A2NOC_SNOC 4
#define MASTER_QUP_0 0
#define MASTER_QUP_1 1
#define MASTER_EMAC_0 2
#define MASTER_EMAC_1 3
#define SLAVE_A2NOC_HSCNOC 4
#define MASTER_QUP_CORE_0 0
#define MASTER_QUP_CORE_1 1
#define MASTER_QUP_CORE_2 2
#define MASTER_QUP_CORE_3 3
#define SLAVE_QUP_CORE_0 4
#define SLAVE_QUP_CORE_1 5
#define SLAVE_QUP_CORE_2 6
#define SLAVE_QUP_CORE_3 7
#define MASTER_CNOC_CFG 0
#define SLAVE_PS_ETH_0 1
#define SLAVE_PS_ETH_1 2
#define SLAVE_SHS_SERVER 3
#define SLAVE_AHB2PHY_0 4
#define SLAVE_AHB2PHY_1 5
#define SLAVE_AHB2PHY_2 6
#define SLAVE_AHB2PHY_3 7
#define SLAVE_AHB2PHY_ETH_0 8
#define SLAVE_AHB2PHY_ETH_1 9
#define SLAVE_CAMERA_CFG 10
#define SLAVE_CLK_CTL 11
#define SLAVE_CRYPTO_0_CFG 12
#define SLAVE_CRYPTO_1_CFG 13
#define SLAVE_CRYPTO_2_CFG 14
#define SLAVE_DISPLAY_1_CFG 15
#define SLAVE_DISPLAY_CFG 16
#define SLAVE_DPRX0 17
#define SLAVE_DPRX1 18
#define SLAVE_EVA_CFG 19
#define SLAVE_GFX3D_CFG 20
#define SLAVE_GFX3D_1_CFG 21
#define SLAVE_I2C 22
#define SLAVE_IMEM_CFG 23
#define SLAVE_MCW_PCIE 24
#define SLAVE_MM_RSCC 25
#define SLAVE_NE_CLK_CTL 26
#define SLAVE_NSPSS0_CFG 27
#define SLAVE_NSPSS1_CFG 28
#define SLAVE_NSPSS2_CFG 29
#define SLAVE_NSPSS3_CFG 30
#define SLAVE_NW_CLK_CTL 31
#define SLAVE_PRNG 32
#define SLAVE_QDSS_CFG 33
#define SLAVE_QSPI_0 34
#define SLAVE_QUP_0 35
#define SLAVE_QUP_3 36
#define SLAVE_QUP_1 37
#define SLAVE_QUP_2 38
#define SLAVE_SAFEDMA_CFG 39
#define SLAVE_SDCC_4 40
#define SLAVE_SE_CLK_CTL 41
#define SLAVE_TCSR 42
#define SLAVE_TLMM 43
#define SLAVE_TSC_CFG 44
#define SLAVE_UFS_MEM_CFG 45
#define SLAVE_USB2 46
#define SLAVE_USB3_0 47
#define SLAVE_USB3_1 48
#define SLAVE_VENUS_CFG 49
#define SLAVE_COMPUTENOC_CFG 50
#define SLAVE_PCIE_NOC_CFG 51
#define SLAVE_QTC_CFG 52
#define SLAVE_QDSS_STM 53
#define SLAVE_SYS_TCU0_CFG 54
#define SLAVE_SYS_TCU1_CFG 55
#define SLAVE_SYS_TCU2_CFG 56
#define MASTER_MM_RSCC 0
#define MASTER_HSCNOC_CNOC 1
#define SLAVE_AOSS 2
#define SLAVE_HBCU 3
#define SLAVE_IPA_CFG 4
#define SLAVE_IPC_ROUTER_CFG 5
#define SLAVE_SOCCP 6
#define SLAVE_TME_CFG 7
#define SLAVE_PCIE_DMA 8
#define SLAVE_CNOC_CFG 9
#define SLAVE_DDRSS_CFG 10
#define SLAVE_IMEM 11
#define MASTER_HPASS_PROC_0 0
#define MASTER_HPASS_PROC_1 1
#define MASTER_HPASS_PROC_2 2
#define SLAVE_HPASS_AGNOC_AUDIO 3
#define MASTER_GPU_TCU 0
#define MASTER_QTC_TCU 1
#define MASTER_SYS_TCU_0 2
#define MASTER_SYS_TCU_1 3
#define MASTER_SYS_TCU_2 4
#define MASTER_APPSS_PROC 5
#define MASTER_A1NOC_TILE_HSCNOC 6
#define MASTER_A2NOC_TILE_HSCNOC 7
#define MASTER_GFX3D 8
#define MASTER_GFX3D_1 9
#define MASTER_HPASS_ADAS_HSCNOC 10
#define MASTER_HPASS_AUDIO_HSCNOC 11
#define MASTER_MNOC_HF_MEM_NOC 12
#define MASTER_MNOC_SF_MEM_NOC 13
#define MASTER_NSP0_HSCNOC 14
#define MASTER_NSP1_HSCNOC 15
#define MASTER_NSP2_HSCNOC 16
#define MASTER_NSP3_HSCNOC 17
#define MASTER_ANOC_PCIE_GEM_NOC 18
#define MASTER_SAILSS_MD0_HSCNOC 19
#define MASTER_SNOC_SF_MEM_NOC 20
#define MASTER_GIC 21
#define SLAVE_HSCNOC_CNOC 22
#define SLAVE_LLCC 23
#define SLAVE_MEM_NOC_PCIE_SNOC 24
#define MASTER_LLCC 0
#define SLAVE_EBI1 1
#define MASTER_CAMNOC_HF 0
#define MASTER_CAMNOC_NRT_ICP_SF 1
#define MASTER_CAMNOC_RT_CDM_SF 2
#define MASTER_CAMNOC_SF 3
#define MASTER_DPRX0 4
#define MASTER_DPRX1 5
#define MASTER_MDP0 6
#define MASTER_MDP1 7
#define MASTER_VIDEO_CV_PROC 8
#define MASTER_VIDEO_EVA 9
#define MASTER_VIDEO_MVP0 10
#define MASTER_VIDEO_MVP1 11
#define MASTER_VIDEO_V_PROC 12
#define SLAVE_MNOC_HF_MEM_NOC 13
#define SLAVE_MNOC_SF_MEM_NOC 14
#define MASTER_NSP0_PROC 0
#define SLAVE_NSP0_HSC_NOC 1
#define MASTER_NSP1_PROC 0
#define SLAVE_NSP1_HSC_NOC 1
#define MASTER_NSP2_PROC 0
#define SLAVE_NSP2_HSC_NOC 1
#define MASTER_NSP3_PROC 0
#define SLAVE_NSP3_HSC_NOC 1
#define MASTER_PCIE_NOC_CFG 0
#define SLAVE_PCIE_AHB2PHY_CFG 1
#define SLAVE_PCIE_CFG_0 2
#define SLAVE_PCIE_CFG_1 3
#define SLAVE_PCIE_CFG_2 4
#define SLAVE_PCIE_CFG_3 5
#define SLAVE_PCIE_DMA_0_CFG 6
#define SLAVE_PCIE_DMA_1_CFG 7
#define SLAVE_PCIE_DMA_2_CFG 8
#define MASTER_PCIE_DMA_0 0
#define MASTER_PCIE_DMA_1 1
#define MASTER_PCIE_DMA_2 2
#define MASTER_PCIE_0 3
#define MASTER_PCIE_1 4
#define MASTER_PCIE_2 5
#define MASTER_PCIE_3 6
#define SLAVE_PCIE_HSCNOC 7
#define SLAVE_PCIE_OBNOC_DMA 8
#define MASTER_CNOC_PCIE_DMA 0
#define MASTER_ANOC_PCIE_HSCNOC 1
#define MASTER_PCIE_IBNOC_DMA 2
#define SLAVE_PCIE_DMA_0 3
#define SLAVE_PCIE_DMA_1 4
#define SLAVE_PCIE_DMA_2 5
#define SLAVE_PCIE_0 6
#define SLAVE_PCIE_1 7
#define SLAVE_PCIE_2 8
#define SLAVE_PCIE_3 9
#define MASTER_A1NOC_SNOC 0
#define MASTER_A2NOC_SNOC 1
#define MASTER_CNOC_SNOC 2
#define MASTER_NSINOC_SNOC 3
#define MASTER_SAFE_DMA 4
#define SLAVE_SNOC_HSCNOC_SF 5
#endif

View File

@@ -0,0 +1,121 @@
/* SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) */
/*
* Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
*/
#ifndef __DT_BINDINGS_INTERCONNECT_QCOM_SHIKRA_H
#define __DT_BINDINGS_INTERCONNECT_QCOM_SHIKRA_H
#define MASTER_QUP_CORE_0 0
#define SLAVE_QUP_CORE_0 1
#define SNOC_CNOC_MAS 0
#define MASTER_QDSS_DAP 1
#define SLAVE_AHB2PHY_USB 2
#define SLAVE_APSS_THROTTLE_CFG 3
#define SLAVE_AUDIO 4
#define SLAVE_BOOT_ROM 5
#define SLAVE_CAMERA_NRT_THROTTLE_CFG 6
#define SLAVE_CAMERA_CFG 7
#define SLAVE_CDSP_THROTTLE_CFG 8
#define SLAVE_CLK_CTL 9
#define SLAVE_DSP_CFG 10
#define SLAVE_RBCPR_CX_CFG 11
#define SLAVE_RBCPR_MX_CFG 12
#define SLAVE_CRYPTO_0_CFG 13
#define SLAVE_DDR_SS_CFG 14
#define SLAVE_DISPLAY_CFG 15
#define SLAVE_EMAC0_CFG 16
#define SLAVE_EMAC1_CFG 17
#define SLAVE_GPU_CFG 18
#define SLAVE_GPU_THROTTLE_CFG 19
#define SLAVE_HWKM 20
#define SLAVE_IMEM_CFG 21
#define SLAVE_MAPSS 22
#define SLAVE_MDSP_MPU_CFG 23
#define SLAVE_MESSAGE_RAM 24
#define SLAVE_MSS 25
#define SLAVE_PCIE_CFG 26
#define SLAVE_PDM 27
#define SLAVE_PIMEM_CFG 28
#define SLAVE_PKA_WRAPPER_CFG 29
#define SLAVE_PMIC_ARB 30
#define SLAVE_QDSS_CFG 31
#define SLAVE_QM_CFG 32
#define SLAVE_QM_MPU_CFG 33
#define SLAVE_QPIC 34
#define SLAVE_QUP_0 35
#define SLAVE_RPM 36
#define SLAVE_SDCC_1 37
#define SLAVE_SDCC_2 38
#define SLAVE_SECURITY 39
#define SLAVE_SNOC_CFG 40
#define SNOC_SF_THROTTLE_CFG 41
#define SLAVE_TLMM 42
#define SLAVE_TSCSS 43
#define SLAVE_USB2 44
#define SLAVE_USB3 45
#define SLAVE_VENUS_CFG 46
#define SLAVE_VENUS_THROTTLE_CFG 47
#define SLAVE_VSENSE_CTRL_CFG 48
#define SLAVE_SERVICE_CNOC 49
#define MASTER_LLCC 0
#define SLAVE_EBI_CH0 1
#define MASTER_GRAPHICS_3D 0
#define MASTER_MNOC_HF_MEM_NOC 1
#define MASTER_ANOC_PCIE_MEM_NOC 2
#define MASTER_SNOC_SF_MEM_NOC 3
#define MASTER_AMPSS_M0 4
#define MASTER_SYS_TCU 5
#define SLAVE_LLCC 6
#define SLAVE_MEMNOC_SNOC 7
#define SLAVE_MEM_NOC_PCIE_SNOC 8
#define MASTER_CAMNOC_SF 0
#define MASTER_VIDEO_P0 1
#define MASTER_VIDEO_PROC 2
#define SLAVE_MMNRT_VIRT 3
#define MASTER_CAMNOC_HF 0
#define MASTER_MDP_PORT0 1
#define MASTER_MMRT_VIRT 2
#define SLAVE_MM_MEMNOC 3
#define MASTER_SNOC_CFG 0
#define MASTER_TIC 1
#define MASTER_ANOC_SNOC 2
#define MASTER_MEMNOC_PCIE 3
#define MASTER_MEMNOC_SNOC 4
#define MASTER_PIMEM 5
#define MASTER_PCIE2_0 6
#define MASTER_QDSS_BAM 7
#define MASTER_QPIC 8
#define MASTER_QUP_0 9
#define CNOC_SNOC_MAS 10
#define MASTER_AUDIO 11
#define MASTER_EMAC_0 12
#define MASTER_EMAC_1 13
#define MASTER_QDSS_ETR 14
#define MASTER_SDCC_1 15
#define MASTER_SDCC_2 16
#define MASTER_USB2_0 17
#define MASTER_USB3 18
#define MASTER_CRYPTO_CORE0 19
#define SLAVE_APPSS 20
#define SLAVE_MCUSS 21
#define SLAVE_WCSS 22
#define SLAVE_MEMNOC_SF 23
#define SNOC_CNOC_SLV 24
#define SLAVE_BOOTIMEM 25
#define SLAVE_OCIMEM 26
#define SLAVE_PIMEM 27
#define SLAVE_SERVICE_SNOC 28
#define SLAVE_PCIE2_0 29
#define SLAVE_QDSS_STM 30
#define SLAVE_TCU 31
#define SLAVE_PCIE_MEMNOC 32
#define SLAVE_ANOC_SNOC 33
#endif