Re: [PATCH v2 3/6] dt-bindings: interconnect: Update Qualcomm SDM845 DT bindings

From: David Dai
Date: Thu Jan 16 2020 - 19:07:18 EST



On 1/15/2020 6:49 AM, Rob Herring wrote:
On Thu, Jan 09, 2020 at 08:33:01PM -0800, David Dai wrote:
Redefine the Network-on-Chip devices to more accurately describe
the interconnect topology on Qualcomm's SDM845 platform. Each
interconnect device can communicate with different instances of the
RPMh hardware which are described as RSCs(Resource State Coordinators).

Signed-off-by: David Dai <daidavid1@xxxxxxxxxxxxxx>
---
.../bindings/interconnect/qcom,sdm845.yaml | 49 ++++++++++++++++++----
1 file changed, 40 insertions(+), 9 deletions(-)

diff --git a/Documentation/devicetree/bindings/interconnect/qcom,sdm845.yaml b/Documentation/devicetree/bindings/interconnect/qcom,sdm845.yaml
index 61e0097..6741a12 100644
--- a/Documentation/devicetree/bindings/interconnect/qcom,sdm845.yaml
+++ b/Documentation/devicetree/bindings/interconnect/qcom,sdm845.yaml
@@ -13,21 +13,44 @@ 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 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.
properties:
+ reg:
+ maxItems: 1
+
compatible:
enum:
- - 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':
const: 1
+ qcom,bcm-voter-names:
+ items:
+ - const: apps
+ - const: disp
If these are always the names, why do you need them?
Disp and apps bcm voters are the only ones supported for sdm845, but the number of voters and voter names may be different for other non-sdm845 based boards.
+
+ 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.
Is the max length 2?
For sdm845, yes.
+
required:
- compatible
+ - reg
- '#interconnect-cells'
+ - qcom,bcm-voters
additionalProperties: false
@@ -35,9 +58,17 @@ examples:
- |
#include <dt-bindings/interconnect/qcom,sdm845.h>
- 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-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>;
};
--
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project

--
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project