From e993d2fe84125cfdc2370f6ea37fb47f49dffec0 Mon Sep 17 00:00:00 2001 From: David Dai Date: Fri, 27 Sep 2019 18:48:42 -0700 Subject: [PATCH 1/2] dt-bindings: interconnect: Update QTI SDM845 DT bindings Redefine the Network-on-Chip devices to more accurately describe the interconnect topology on QTI's SDM845 platform. Each interconnect device can communicate with different instances of the RPMh hardware which are described as RSCs(Resource State Coordinators). Change-Id: Icc4ad0410e98bef4a7acc786a19bb4048ae2b1a8 --- bindings/interconnect/qcom,bcm-voter.txt | 31 ++++++++++++++++ bindings/interconnect/qcom,sdm845.txt | 46 +++++++++++++++++++----- 2 files changed, 68 insertions(+), 9 deletions(-) create mode 100644 bindings/interconnect/qcom,bcm-voter.txt diff --git a/bindings/interconnect/qcom,bcm-voter.txt b/bindings/interconnect/qcom,bcm-voter.txt new file mode 100644 index 00000000..4695492f --- /dev/null +++ b/bindings/interconnect/qcom,bcm-voter.txt @@ -0,0 +1,31 @@ +QTI BCM-Voter interconnect driver binding +----------------------------------------------------------- + +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. + +Required properties : +- compatible : shall contain only one of the following: + "qcom,sdm845-bcm-voter", + "qcom,bcm-voter", + +Examples: + +apps_rsc: interconnect@179c0000 { + compatible = "qcom,rpmh-rsc"; + + apps_bcm_voter: bcm_voter { + compatible = "qcom,sdm845-bcm-voter"; + }; +} + +disp_rsc: interconnect@179d0000 { + compatible = "qcom,rpmh-rsc"; + + disp_bcm_voter: bcm_voter { + compatible = "qcom,sdm845-bcm-voter"; + }; +} diff --git a/bindings/interconnect/qcom,sdm845.txt b/bindings/interconnect/qcom,sdm845.txt index 5c4f1d91..35ec4ba2 100644 --- a/bindings/interconnect/qcom,sdm845.txt +++ b/bindings/interconnect/qcom,sdm845.txt @@ -4,21 +4,49 @@ Qualcomm SDM845 Network-On-Chip interconnect driver binding 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 reside within -an RPMh device node pertaining to their RSC and each provider maps to a single -RPMh resource. +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. Required properties : - compatible : shall contain only one of the following: - "qcom,sdm845-rsc-hlos" + "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 : should contain 1 +- reg : shall contain base register location and length +- qcom,bcm-voters : shall contain phandles to bcm voters + +Optional properties: +qcom,bcm-voter-names : List of bcm-voter name strings sorted in the same + order as the qcom,bcm-voters property. The names will + be used to differentiate the specific RSC being targeted. Examples: -apps_rsc: rsc { - rsc_hlos: interconnect { - compatible = "qcom,sdm845-rsc-hlos"; - #interconnect-cells = <1>; - }; +mem_noc: interconnect@1380000 { + compatible = "qcom,sdm845-mem-noc"; + reg = <0 0x01380000 0 0x27200>; + #interconnect-cells = <1>; + qcom,bcm-voter-names = "apps_rsc", "disp_rsc"; + qcom,bcm-voters = <&apps_bcm_voter>, <&disp_bcm_voter>; +}; +aggre1_noc: interconnect@16e0000 { + compatible = "qcom,sdm845-aggre1-noc"; + reg = <0x016e0000 0xd080>; + interconnect-cells = <1>; + qcom,bcm-voters = <&apps_bcm_voter>; }; +mmss_noc: interconnect@1740000 { + compatible = "qcom,sdm845-mmss-noc"; + reg = <0x01740000 0x1c1000>; + interconnect-cells = <1>; + qcom,bcm-voter-names = "apps_rsc", "disp_rsc"; + qcom,bcm-voters = <&apps_bcm_voter>, <&disp_bcm_voter>; +}; From 67a348a2ee6870375da7c93c5e0774d0525720a8 Mon Sep 17 00:00:00 2001 From: David Dai Date: Tue, 10 Sep 2019 16:28:41 -0700 Subject: [PATCH 2/2] ARM: dts: msm: Add bcm voter devices for lahaina Add bcm voter devices that live under RSC devices to allow interconnect providers to target their votes for meeting bandwidth constraints. Change-Id: I83f320bff8a37cf6d101d225061961c900d7140e --- qcom/lahaina.dtsi | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/qcom/lahaina.dtsi b/qcom/lahaina.dtsi index da9aad2e..1bdf4deb 100644 --- a/qcom/lahaina.dtsi +++ b/qcom/lahaina.dtsi @@ -568,51 +568,61 @@ aggre1_noc: interconnect@16e0000 { compatible = "qcom,lahaina-aggre1_noc"; #interconnect-cells = <1>; + qcom,bcm-voters = <&apps_bcm_voter>; }; aggre2_noc: interconnect@1700000 { compatible = "qcom,lahaina-aggre2_noc"; #interconnect-cells = <1>; + qcom,bcm-voters = <&apps_bcm_voter>; }; config_noc: interconnect@1500000 { compatible = "qcom,lahaina-config_noc"; #interconnect-cells = <1>; + qcom,bcm-voters = <&apps_bcm_voter>; }; dc_noc: interconnect@14e0000 { compatible = "qcom,lahaina-dc_noc"; #interconnect-cells = <1>; + qcom,bcm-voters = <&apps_bcm_voter>; }; gem_noc: interconnect@1380000 { compatible = "qcom,lahaina-gem_noc"; #interconnect-cells = <1>; + qcom,bcm-voters = <&apps_bcm_voter>; }; lpass_ag_noc: interconnect@1480000 { compatible = "qcom,lahaina-lpass_ag_noc"; #interconnect-cells = <1>; + qcom,bcm-voters = <&apps_bcm_voter>; }; mc_virt: interconnect@1580000 { compatible = "qcom,lahaina-mc_virt"; #interconnect-cells = <1>; + qcom,bcm-voters = <&apps_bcm_voter>; }; mmss_noc: interconnect@1740000 { compatible = "qcom,lahaina-mmss_noc"; #interconnect-cells = <1>; + qcom,bcm-voters = <&apps_bcm_voter>; }; nsp_noc: interconnect@1750000 { compatible = "qcom,lahaina-nsp_noc"; #interconnect-cells = <1>; + qcom,bcm-voters = <&apps_bcm_voter>; }; system_noc: interconnect@1620000 { compatible = "qcom,lahaina-system_noc"; #interconnect-cells = <1>; + qcom,bcm-voters = <&apps_bcm_voter>; }; pil_scm_pas { @@ -767,6 +777,10 @@ , , ; + + apps_bcm_voter: bcm_voter { + compatible = "qcom,bcm-voter"; + }; }; disp_rsc: rsc@af20000 {