-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge tag 'icc-5.7-rc1' of https://git.linaro.org/people/georgi.djako…
…v/linux into char-misc-next Georgi writes: interconnect changes for 5.7 Here is a pull request with interconnect changes for the 5.7-rc1 merge window. It contains just driver updates, and these are: - Refactoring of the SDM845 driver, which is now improved to better represent the hardware. - New driver for SC7180 platforms. - New driver for OSM L3 interconnect hardware found on SDM845/SC7180 platforms. Signed-off-by: Georgi Djakov <georgi.djakov@linaro.org> * tag 'icc-5.7-rc1' of https://git.linaro.org/people/georgi.djakov/linux: interconnect: qcom: Add OSM L3 support on SC7180 dt-bindings: interconnect: Add OSM L3 DT binding on SC7180 interconnect: qcom: Add OSM L3 interconnect provider support dt-bindings: interconnect: Add OSM L3 DT bindings interconnect: qcom: Allow icc node to be used across icc providers interconnect: qcom: Add SC7180 interconnect provider driver dt-bindings: interconnect: Add Qualcomm SC7180 DT bindings interconnect: qcom: sdm845: Split qnodes into their respective NoCs interconnect: qcom: Consolidate interconnect RPMh support dt-bindings: interconnect: Update Qualcomm SDM845 DT bindings dt-bindings: interconnect: Add YAML schemas for QCOM bcm-voter dt-bindings: interconnect: Convert qcom,sdm845 to DT schema
- Loading branch information
Showing
19 changed files
with
2,875 additions
and
841 deletions.
There are no files selected for viewing
45 changes: 45 additions & 0 deletions
45
Documentation/devicetree/bindings/interconnect/qcom,bcm-voter.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,45 @@ | ||
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) | ||
%YAML 1.2 | ||
--- | ||
$id: http://devicetree.org/schemas/interconnect/qcom,bcm-voter.yaml# | ||
$schema: http://devicetree.org/meta-schemas/core.yaml# | ||
|
||
title: Qualcomm BCM-Voter Interconnect | ||
|
||
maintainers: | ||
- Georgi Djakov <georgi.djakov@linaro.org> | ||
|
||
description: | | ||
The Bus Clock Manager (BCM) is a dedicated hardware accelerator that manages | ||
shared system resources by aggregating requests from multiple Resource State | ||
Coordinators (RSC). Interconnect providers are able to vote for aggregated | ||
thresholds values from consumers by communicating through their respective | ||
RSCs. | ||
properties: | ||
compatible: | ||
enum: | ||
- qcom,bcm-voter | ||
|
||
required: | ||
- compatible | ||
|
||
additionalProperties: false | ||
|
||
examples: | ||
# Example 1: apps bcm_voter on SDM845 SoC should be defined inside &apps_rsc node | ||
# as defined in Documentation/devicetree/bindings/soc/qcom/rpmh-rsc.txt | ||
- | | ||
apps_bcm_voter: bcm_voter { | ||
compatible = "qcom,bcm-voter"; | ||
}; | ||
# Example 2: disp bcm_voter on SDM845 should be defined inside &disp_rsc node | ||
# as defined in Documentation/devicetree/bindings/soc/qcom/rpmh-rsc.txt | ||
- | | ||
disp_bcm_voter: bcm_voter { | ||
compatible = "qcom,bcm-voter"; | ||
}; | ||
... |
62 changes: 62 additions & 0 deletions
62
Documentation/devicetree/bindings/interconnect/qcom,osm-l3.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,62 @@ | ||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) | ||
%YAML 1.2 | ||
--- | ||
$id: http://devicetree.org/schemas/interconnect/qcom,osm-l3.yaml# | ||
$schema: http://devicetree.org/meta-schemas/core.yaml# | ||
|
||
title: Qualcomm Operating State Manager (OSM) L3 Interconnect Provider | ||
|
||
maintainers: | ||
- Sibi Sankar <sibis@codeaurora.org> | ||
|
||
description: | ||
L3 cache bandwidth requirements on Qualcomm SoCs is serviced by the OSM. | ||
The OSM L3 interconnect provider aggregates the L3 bandwidth requests | ||
from CPU/GPU and relays it to the OSM. | ||
|
||
properties: | ||
compatible: | ||
enum: | ||
- qcom,sc7180-osm-l3 | ||
- qcom,sdm845-osm-l3 | ||
|
||
reg: | ||
maxItems: 1 | ||
|
||
clocks: | ||
items: | ||
- description: xo clock | ||
- description: alternate clock | ||
|
||
clock-names: | ||
items: | ||
- const: xo | ||
- const: alternate | ||
|
||
'#interconnect-cells': | ||
const: 1 | ||
|
||
required: | ||
- compatible | ||
- reg | ||
- clocks | ||
- clock-names | ||
- '#interconnect-cells' | ||
|
||
additionalProperties: false | ||
|
||
examples: | ||
- | | ||
#define GPLL0 165 | ||
#define RPMH_CXO_CLK 0 | ||
osm_l3: interconnect@17d41000 { | ||
compatible = "qcom,sdm845-osm-l3"; | ||
reg = <0x17d41000 0x1400>; | ||
clocks = <&rpmhcc RPMH_CXO_CLK>, <&gcc GPLL0>; | ||
clock-names = "xo", "alternate"; | ||
#interconnect-cells = <1>; | ||
}; |
85 changes: 85 additions & 0 deletions
85
Documentation/devicetree/bindings/interconnect/qcom,sc7180.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,85 @@ | ||
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) | ||
%YAML 1.2 | ||
--- | ||
$id: http://devicetree.org/schemas/interconnect/qcom,sc7180.yaml# | ||
$schema: http://devicetree.org/meta-schemas/core.yaml# | ||
|
||
title: Qualcomm SC7180 Network-On-Chip Interconnect | ||
|
||
maintainers: | ||
- Odelu Kukatla <okukatla@codeaurora.org> | ||
|
||
description: | | ||
SC7180 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. | ||
properties: | ||
reg: | ||
maxItems: 1 | ||
|
||
compatible: | ||
enum: | ||
- qcom,sc7180-aggre1-noc | ||
- qcom,sc7180-aggre2-noc | ||
- qcom,sc7180-camnoc-virt | ||
- qcom,sc7180-compute-noc | ||
- qcom,sc7180-config-noc | ||
- qcom,sc7180-dc-noc | ||
- qcom,sc7180-gem-noc | ||
- qcom,sc7180-ipa-virt | ||
- qcom,sc7180-mc-virt | ||
- qcom,sc7180-mmss-noc | ||
- qcom,sc7180-npu-noc | ||
- qcom,sc7180-qup-virt | ||
- qcom,sc7180-system-noc | ||
|
||
'#interconnect-cells': | ||
const: 1 | ||
|
||
qcom,bcm-voters: | ||
$ref: /schemas/types.yaml#/definitions/phandle-array | ||
description: | | ||
List of phandles to qcom,bcm-voter nodes that are required by | ||
this interconnect to send RPMh commands. | ||
qcom,bcm-voter-names: | ||
$ref: /schemas/types.yaml#/definitions/string-array | ||
description: | | ||
Names for each of the qcom,bcm-voters specified. | ||
required: | ||
- compatible | ||
- reg | ||
- '#interconnect-cells' | ||
- qcom,bcm-voters | ||
|
||
additionalProperties: false | ||
|
||
examples: | ||
- | | ||
#include <dt-bindings/interconnect/qcom,sc7180.h> | ||
config_noc: interconnect@1500000 { | ||
compatible = "qcom,sc7180-config-noc"; | ||
reg = <0 0x01500000 0 0x28000>; | ||
#interconnect-cells = <1>; | ||
qcom,bcm-voters = <&apps_bcm_voter>; | ||
}; | ||
system_noc: interconnect@1620000 { | ||
compatible = "qcom,sc7180-system-noc"; | ||
reg = <0 0x01620000 0 0x17080>; | ||
#interconnect-cells = <1>; | ||
qcom,bcm-voters = <&apps_bcm_voter>; | ||
}; | ||
mmss_noc: interconnect@1740000 { | ||
compatible = "qcom,sc7180-mmss-noc"; | ||
reg = <0 0x01740000 0 0x1c100>; | ||
#interconnect-cells = <1>; | ||
qcom,bcm-voters = <&apps_bcm_voter>; | ||
}; |
24 changes: 0 additions & 24 deletions
24
Documentation/devicetree/bindings/interconnect/qcom,sdm845.txt
This file was deleted.
Oops, something went wrong.
74 changes: 74 additions & 0 deletions
74
Documentation/devicetree/bindings/interconnect/qcom,sdm845.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,74 @@ | ||
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) | ||
%YAML 1.2 | ||
--- | ||
$id: http://devicetree.org/schemas/interconnect/qcom,sdm845.yaml# | ||
$schema: http://devicetree.org/meta-schemas/core.yaml# | ||
|
||
title: Qualcomm SDM845 Network-On-Chip Interconnect | ||
|
||
maintainers: | ||
- Georgi Djakov <georgi.djakov@linaro.org> | ||
|
||
description: | | ||
SDM845 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. | ||
properties: | ||
reg: | ||
maxItems: 1 | ||
|
||
compatible: | ||
enum: | ||
- qcom,sdm845-aggre1-noc | ||
- qcom,sdm845-aggre2-noc | ||
- qcom,sdm845-config-noc | ||
- qcom,sdm845-dc-noc | ||
- qcom,sdm845-gladiator-noc | ||
- qcom,sdm845-mem-noc | ||
- qcom,sdm845-mmss-noc | ||
- qcom,sdm845-system-noc | ||
|
||
'#interconnect-cells': | ||
const: 1 | ||
|
||
qcom,bcm-voters: | ||
$ref: /schemas/types.yaml#/definitions/phandle-array | ||
description: | | ||
List of phandles to qcom,bcm-voter nodes that are required by | ||
this interconnect to send RPMh commands. | ||
qcom,bcm-voter-names: | ||
$ref: /schemas/types.yaml#/definitions/string-array | ||
description: | | ||
Names for each of the qcom,bcm-voters specified. | ||
required: | ||
- compatible | ||
- reg | ||
- '#interconnect-cells' | ||
- qcom,bcm-voters | ||
|
||
additionalProperties: false | ||
|
||
examples: | ||
- | | ||
#include <dt-bindings/interconnect/qcom,sdm845.h> | ||
mem_noc: interconnect@1380000 { | ||
compatible = "qcom,sdm845-mem-noc"; | ||
reg = <0 0x01380000 0 0x27200>; | ||
#interconnect-cells = <1>; | ||
qcom,bcm-voters = <&apps_bcm_voter>; | ||
}; | ||
mmss_noc: interconnect@1740000 { | ||
compatible = "qcom,sdm845-mmss-noc"; | ||
reg = <0 0x01740000 0 0x1c1000>; | ||
#interconnect-cells = <1>; | ||
qcom,bcm-voter-names = "apps", "disp"; | ||
qcom,bcm-voters = <&apps_bcm_voter>, <&disp_bcm_voter>; | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,13 +1,21 @@ | ||
# SPDX-License-Identifier: GPL-2.0 | ||
|
||
icc-bcm-voter-objs := bcm-voter.o | ||
qnoc-msm8916-objs := msm8916.o | ||
qnoc-msm8974-objs := msm8974.o | ||
icc-osm-l3-objs := osm-l3.o | ||
qnoc-qcs404-objs := qcs404.o | ||
icc-rpmh-obj := icc-rpmh.o | ||
qnoc-sc7180-objs := sc7180.o | ||
qnoc-sdm845-objs := sdm845.o | ||
icc-smd-rpm-objs := smd-rpm.o | ||
|
||
obj-$(CONFIG_INTERCONNECT_QCOM_BCM_VOTER) += icc-bcm-voter.o | ||
obj-$(CONFIG_INTERCONNECT_QCOM_MSM8916) += qnoc-msm8916.o | ||
obj-$(CONFIG_INTERCONNECT_QCOM_MSM8974) += qnoc-msm8974.o | ||
obj-$(CONFIG_INTERCONNECT_QCOM_OSM_L3) += icc-osm-l3.o | ||
obj-$(CONFIG_INTERCONNECT_QCOM_QCS404) += qnoc-qcs404.o | ||
obj-$(CONFIG_INTERCONNECT_QCOM_RPMH) += icc-rpmh.o | ||
obj-$(CONFIG_INTERCONNECT_QCOM_SC7180) += qnoc-sc7180.o | ||
obj-$(CONFIG_INTERCONNECT_QCOM_SDM845) += qnoc-sdm845.o | ||
obj-$(CONFIG_INTERCONNECT_QCOM_SMD_RPM) += icc-smd-rpm.o |
Oops, something went wrong.