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

Rob Herring
2020-01-15T14:49:48Z

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@codeaurora.org>
> ---
> .../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?

> +
> + 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?

> +
> 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
>