All of lore.kernel.org
 help / color / mirror / Atom feed
From: okukatla@codeaurora.org
To: Sibi Sankar <sibis@codeaurora.org>
Cc: georgi.djakov@linaro.org, daidavid1@codeaurora.org,
	bjorn.andersson@linaro.org, evgreen@google.com, sboyd@kernel.org,
	Andy Gross <agross@kernel.org>, Rob Herring <robh+dt@kernel.org>,
	Mark Rutland <mark.rutland@arm.com>,
	linux-arm-msm@vger.kernel.org, linux-pm@vger.kernel.org,
	devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
	ilina@codeaurora.org, seansw@qti.qualcomm.com, elder@linaro.org,
	linux-arm-msm-owner@vger.kernel.org
Subject: Re: [PATCH V1 1/2] dt-bindings: interconnect: Add Qualcomm SC7180 DT bindings
Date: Mon, 30 Dec 2019 17:17:01 +0530	[thread overview]
Message-ID: <61e527c57ea22e197c0fcf06bb6bce57@codeaurora.org> (raw)
In-Reply-To: <0101016eac183058-afcce911-d283-4748-b3ff-8455e076a313-000000@us-west-2.amazonses.com>

On 2019-11-27 14:31, Sibi Sankar wrote:
> Hey Odelu,
> 
> On 2019-11-26 20:31, Odelu Kukatla wrote:
>> The Qualcomm SC7180 platform has several bus fabrics that could be
>> controlled and tuned dynamically according to the bandwidth demand.
>> 
>> Signed-off-by: Odelu Kukatla <okukatla@codeaurora.org>
>> ---
>>  .../bindings/interconnect/qcom,bcm-voter.yaml      |   1 +
>>  .../bindings/interconnect/qcom,sc7180.yaml         | 155 
>> +++++++++++++++++++++
>>  include/dt-bindings/interconnect/qcom,sc7180.h     | 149 
>> ++++++++++++++++++++
>>  3 files changed, 305 insertions(+)
>>  create mode 100644
>> Documentation/devicetree/bindings/interconnect/qcom,sc7180.yaml
>>  create mode 100644 include/dt-bindings/interconnect/qcom,sc7180.h
>> 
>> diff --git
>> a/Documentation/devicetree/bindings/interconnect/qcom,bcm-voter.yaml
>> b/Documentation/devicetree/bindings/interconnect/qcom,bcm-voter.yaml
>> index 74f0715..55c9f34 100644
>> --- 
>> a/Documentation/devicetree/bindings/interconnect/qcom,bcm-voter.yaml
>> +++ 
>> b/Documentation/devicetree/bindings/interconnect/qcom,bcm-voter.yaml
>> @@ -19,6 +19,7 @@ description: |
>>  properties:
>>    compatible:
>>      enum:
>> +      - qcom,sc7180-bcm-voter
>>        - qcom,sdm845-bcm-voter
>> 
>>  required:
>> diff --git
>> a/Documentation/devicetree/bindings/interconnect/qcom,sc7180.yaml
>> b/Documentation/devicetree/bindings/interconnect/qcom,sc7180.yaml
>> new file mode 100644
>> index 0000000..487da5e
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/interconnect/qcom,sc7180.yaml
>> @@ -0,0 +1,155 @@
>> +# SPDX-License-Identifier: GPL-2.0
>> +%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
>> +
> 
> seems to be same as the SDM845
> icc description can't we just
> re-use/add it to that?
> 
No, NoC topology is different b/w SDM845 and SC7180. we need to have 
separate file for SC7180.
>> +maintainers:
>> +  - David Dai <daidavid1@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>;
>> +      };
>> +
>> +      mc_virt: interconnect@1630000 {
>> +            compatible = "qcom,sc7180-mc-virt";
>> +            reg = <0 0x01630000 0 0x4000>;
>> +            #interconnect-cells = <1>;
>> +            qcom,bcm-voters = <&apps_bcm_voter>;
>> +      };
>> +
>> +      qup_virt: interconnect@1650000 {
>> +            compatible = "qcom,sc7180-qup-virt";
>> +            reg = <0 0x01650000 0 0x4000>;
>> +            #interconnect-cells = <1>;
>> +            qcom,bcm-voters = <&apps_bcm_voter>;
>> +      };
>> +
>> +      aggre1_noc: interconnect@16e0000 {
>> +            compatible = "qcom,sc7180-aggre1-noc";
>> +            reg = <0 0x016e0000 0 0x15080>;
>> +            #interconnect-cells = <1>;
>> +            qcom,bcm-voters = <&apps_bcm_voter>;
>> +      };
>> +
>> +      aggre2_noc: interconnect@1700000 {
>> +            compatible = "qcom,sc7180-aggre2-noc";
>> +            reg = <0 0x01700000 0 0x1f880>;
>> +            #interconnect-cells = <1>;
>> +            qcom,bcm-voters = <&apps_bcm_voter>;
>> +      };
>> +
>> +      compute_noc: interconnect@170e000 {
>> +            compatible = "qcom,sc7180-compute-noc";
>> +            reg = <0 0x0170e000 0 0x11880>;
>> +            #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>;
>> +      };
>> +
>> +      ipa_virt: interconnect@1e00000 {
>> +            compatible = "qcom,sc7180-ipa-virt";
>> +            reg = <0 0x01e00000 0 0x4000>;
>> +            #interconnect-cells = <1>;
>> +            qcom,bcm-voters = <&apps_bcm_voter>;
>> +      };
>> +
>> +      dc_noc: interconnect@9160000 {
>> +            compatible = "qcom,sc7180-dc-noc";
>> +            reg = <0 0x09160000 0 0x03200>;
>> +            #interconnect-cells = <1>;
>> +            qcom,bcm-voters = <&apps_bcm_voter>;
>> +      };
>> +
>> +      gem_noc: interconnect@9680000 {
>> +            compatible = "qcom,sc7180-gem-noc";
>> +            reg = <0 0x09680000 0 0x3e200>;
>> +            #interconnect-cells = <1>;
>> +            qcom,bcm-voters = <&apps_bcm_voter>;
>> +      };
>> +
>> +      npu_noc: interconnect@9990000 {
>> +            compatible = "qcom,sc7180-npu-noc";
>> +            reg = <0 0x09990000 0 0x1600>;
>> +            #interconnect-cells = <1>;
>> +            qcom,bcm-voters = <&apps_bcm_voter>;
>> +      };
>> +
>> +      camnoc_virt: interconnect@ac00000 {
>> +            compatible = "qcom,sc7180-camnoc-virt";
>> +            reg = <0 0x0ac00000 0 0x4000>;
>> +            #interconnect-cells = <1>;
>> +            qcom,bcm-voters = <&apps_bcm_voter>;
>> +      };
>> diff --git a/include/dt-bindings/interconnect/qcom,sc7180.h
>> b/include/dt-bindings/interconnect/qcom,sc7180.h
>> new file mode 100644
>> index 0000000..b762bc3
>> --- /dev/null
>> +++ b/include/dt-bindings/interconnect/qcom,sc7180.h
>> @@ -0,0 +1,149 @@
>> +/* SPDX-License-Identifier: GPL-2.0 */
>> +/*
>> + * Qualcomm SC7180 interconnect IDs
>> + *
>> + * Copyright (c) 2019, The Linux Foundation. All rights reserved.
>> + */
>> +
>> +#ifndef __DT_BINDINGS_INTERCONNECT_QCOM_SC7180_H
>> +#define __DT_BINDINGS_INTERCONNECT_QCOM_SC7180_H
> 
> Please use local ids instead, the
> following way of defining nodes will
> lead to unnecessarily large array
> sizes.
> 
I will fix it. Thank you!
>> +
>> +#define MASTER_APPSS_PROC			0
>> +#define MASTER_SYS_TCU				1
>> +#define MASTER_NPU_SYS				2
>> +#define MASTER_IPA_CORE				3
>> +#define MASTER_LLCC				4
>> +#define MASTER_A1NOC_CFG			5
>> +#define MASTER_A2NOC_CFG			6
>> +#define MASTER_CNOC_DC_NOC			7
>> +#define MASTER_GEM_NOC_CFG			8
>> +#define MASTER_CNOC_MNOC_CFG			9
>> +#define MASTER_NPU_NOC_CFG			10
>> +#define MASTER_QDSS_BAM				11
>> +#define MASTER_QSPI				12
>> +#define MASTER_QUP_0				13
>> +#define MASTER_QUP_1				14
>> +#define MASTER_SNOC_CFG				15
>> +#define MASTER_A1NOC_SNOC			16
>> +#define MASTER_A2NOC_SNOC			17
>> +#define MASTER_COMPUTE_NOC			18
>> +#define MASTER_GEM_NOC_SNOC			19
>> +#define MASTER_MNOC_HF_MEM_NOC			20
>> +#define MASTER_MNOC_SF_MEM_NOC			21
>> +#define MASTER_NPU				22
>> +#define MASTER_SNOC_CNOC			23
>> +#define MASTER_SNOC_GC_MEM_NOC			24
>> +#define MASTER_SNOC_SF_MEM_NOC			25
>> +#define MASTER_QUP_CORE_0			26
>> +#define MASTER_QUP_CORE_1			27
>> +#define MASTER_CAMNOC_HF0			28
>> +#define MASTER_CAMNOC_HF1			29
>> +#define MASTER_CAMNOC_HF0_UNCOMP		30
>> +#define MASTER_CAMNOC_HF1_UNCOMP		31
>> +#define MASTER_CAMNOC_SF			32
>> +#define MASTER_CAMNOC_SF_UNCOMP			33
>> +#define MASTER_CRYPTO				34
>> +#define MASTER_GFX3D				35
>> +#define MASTER_IPA				36
>> +#define MASTER_MDP0				37
>> +#define MASTER_NPU_PROC				38
>> +#define MASTER_PIMEM				39
>> +#define MASTER_ROTATOR				40
>> +#define MASTER_VIDEO_P0				41
>> +#define MASTER_VIDEO_PROC			42
>> +#define MASTER_QDSS_DAP				43
>> +#define MASTER_QDSS_ETR				44
>> +#define MASTER_SDCC_2				45
>> +#define MASTER_UFS_MEM				46
>> +#define MASTER_USB3				47
>> +#define MASTER_EMMC				48
>> +#define SLAVE_EBI1				512
> 
> Shouldn't the node ids be just
> sequential?
> 
I will address  it.
>> +#define SLAVE_IPA_CORE				513
>> +#define SLAVE_A1NOC_CFG				514
>> +#define SLAVE_A2NOC_CFG				515
>> +#define SLAVE_AHB2PHY_SOUTH			516
>> +#define SLAVE_AHB2PHY_CENTER			517
>> +#define SLAVE_AOP				518
>> +#define SLAVE_AOSS				519
>> +#define SLAVE_APPSS				520
>> +#define SLAVE_BOOT_ROM				521
>> +#define SLAVE_NPU_CAL_DP0			522
>> +#define SLAVE_CAMERA_CFG			523
>> +#define SLAVE_CAMERA_NRT_THROTTLE_CFG		524
>> +#define SLAVE_CAMERA_RT_THROTTLE_CFG		525
>> +#define SLAVE_CLK_CTL				526
>> +#define SLAVE_NPU_CP				527
>> +#define SLAVE_RBCPR_CX_CFG			528
>> +#define SLAVE_RBCPR_MX_CFG			529
>> +#define SLAVE_CRYPTO_0_CFG			530
>> +#define SLAVE_DCC_CFG				531
>> +#define SLAVE_CNOC_DDRSS			532
>> +#define SLAVE_DISPLAY_CFG			533
>> +#define SLAVE_DISPLAY_RT_THROTTLE_CFG		534
>> +#define SLAVE_DISPLAY_THROTTLE_CFG		535
>> +#define SLAVE_NPU_INT_DMA_BWMON_CFG		536
>> +#define SLAVE_NPU_DPM				537
>> +#define SLAVE_EMMC_CFG				538
>> +#define SLAVE_GEM_NOC_CFG			539
>> +#define SLAVE_GLM				540
>> +#define SLAVE_GFX3D_CFG				541
>> +#define SLAVE_IMEM_CFG				542
>> +#define SLAVE_IPA_CFG				543
>> +#define SLAVE_ISENSE_CFG			544
>> +#define SLAVE_LLCC_CFG				545
>> +#define SLAVE_NPU_LLM_CFG			546
>> +#define SLAVE_MSS_PROC_MS_MPU_CFG		547
>> +#define SLAVE_CNOC_MNOC_CFG			548
>> +#define SLAVE_CNOC_MSS				549
>> +#define SLAVE_NPU_CFG				550
>> +#define SLAVE_NPU_DMA_BWMON_CFG			551
>> +#define SLAVE_NPU_PROC_BWMON_CFG		552
>> +#define SLAVE_PDM				553
>> +#define SLAVE_PIMEM_CFG				554
>> +#define SLAVE_PRNG				555
>> +#define SLAVE_QDSS_CFG				556
>> +#define SLAVE_QM_CFG				557
>> +#define SLAVE_QM_MPU_CFG			558
>> +#define SLAVE_QSPI_0				559
>> +#define SLAVE_QUP_0				560
>> +#define SLAVE_QUP_1				561
>> +#define SLAVE_SDCC_2				562
>> +#define SLAVE_SECURITY				563
>> +#define SLAVE_SNOC_CFG				564
>> +#define SLAVE_NPU_TCM				565
>> +#define SLAVE_TCSR				566
>> +#define SLAVE_TLMM_WEST				567
>> +#define SLAVE_TLMM_NORTH			568
>> +#define SLAVE_TLMM_SOUTH			569
>> +#define SLAVE_UFS_MEM_CFG			570
>> +#define SLAVE_USB3				571
>> +#define SLAVE_VENUS_CFG				572
>> +#define SLAVE_VENUS_THROTTLE_CFG		573
>> +#define SLAVE_VSENSE_CTRL_CFG			574
>> +#define SLAVE_A1NOC_SNOC			575
>> +#define SLAVE_A2NOC_SNOC			576
>> +#define SLAVE_CAMNOC_UNCOMP			577
>> +#define SLAVE_CDSP_GEM_NOC			578
>> +#define SLAVE_SNOC_CNOC				579
>> +#define SLAVE_GEM_NOC_SNOC			580
>> +#define SLAVE_SNOC_GEM_NOC_GC			581
>> +#define SLAVE_SNOC_GEM_NOC_SF			582
>> +#define SLAVE_LLCC				583
>> +#define SLAVE_MNOC_HF_MEM_NOC			584
>> +#define SLAVE_MNOC_SF_MEM_NOC			585
>> +#define SLAVE_NPU_COMPUTE_NOC			586
>> +#define SLAVE_QUP_CORE_0			587
>> +#define SLAVE_QUP_CORE_1			588
>> +#define SLAVE_IMEM				589
>> +#define SLAVE_PIMEM				590
>> +#define SLAVE_SERVICE_A1NOC			591
>> +#define SLAVE_SERVICE_A2NOC			592
>> +#define SLAVE_SERVICE_CNOC			593
>> +#define SLAVE_SERVICE_GEM_NOC			594
>> +#define SLAVE_SERVICE_MNOC			595
>> +#define SLAVE_SERVICE_NPU_NOC			596
>> +#define SLAVE_SERVICE_SNOC			597
>> +#define SLAVE_QDSS_STM				598
>> +#define SLAVE_TCU				599
>> +
>> +#endif

  reply	other threads:[~2019-12-30 11:47 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <1574780408-21282-1-git-send-email-okukatla@codeaurora.org>
2019-11-26 15:01 ` [PATCH V1 1/2] dt-bindings: interconnect: Add Qualcomm SC7180 DT bindings Odelu Kukatla
2019-11-27  9:01   ` Sibi Sankar
2019-12-30 11:47     ` okukatla [this message]
2019-11-26 15:01 ` [PATCH V1 2/2] interconnect: qcom: Add SC7180 interconnect provider driver Odelu Kukatla
2019-12-06 19:46   ` Evan Green
2019-12-30 17:51     ` okukatla
2019-12-19 12:41   ` Georgi Djakov
2019-12-30 10:24     ` okukatla

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=61e527c57ea22e197c0fcf06bb6bce57@codeaurora.org \
    --to=okukatla@codeaurora.org \
    --cc=agross@kernel.org \
    --cc=bjorn.andersson@linaro.org \
    --cc=daidavid1@codeaurora.org \
    --cc=devicetree@vger.kernel.org \
    --cc=elder@linaro.org \
    --cc=evgreen@google.com \
    --cc=georgi.djakov@linaro.org \
    --cc=ilina@codeaurora.org \
    --cc=linux-arm-msm-owner@vger.kernel.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=robh+dt@kernel.org \
    --cc=sboyd@kernel.org \
    --cc=seansw@qti.qualcomm.com \
    --cc=sibis@codeaurora.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.