From patchwork Thu Jun 30 13:05:38 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Krzysztof Kozlowski X-Patchwork-Id: 586133 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 94368C43334 for ; Thu, 30 Jun 2022 13:05:51 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235181AbiF3NFt (ORCPT ); Thu, 30 Jun 2022 09:05:49 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:43638 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235157AbiF3NFt (ORCPT ); Thu, 30 Jun 2022 09:05:49 -0400 Received: from mail-ej1-x62c.google.com (mail-ej1-x62c.google.com [IPv6:2a00:1450:4864:20::62c]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C3CED22B07 for ; Thu, 30 Jun 2022 06:05:47 -0700 (PDT) Received: by mail-ej1-x62c.google.com with SMTP id h23so38822809ejj.12 for ; Thu, 30 Jun 2022 06:05:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=WoV4pas84c7AMle4/cOCqX9GxEkhRyeiQnd4AgtTb4M=; b=xfy9bScGM/9QWE4qEN0iUghHvcSTcJH3KQ6R3wGdz0K19qKA6E7M6z5XIocaWQfxju hvXxmgp1GLjOQP5JJl+B97AsjcV67+jrb33vqtGDglrnO2kg3kBdYSEKBIiwHUCbwgNQ s4zuHt/q8J0Gh6VZyQ9kGusouz62vzhHDqrhKh49eJ+AZ8IsKPUSU+XUqQ5cXJ/joDbr C1dUC8+S6V7ktlyFP5kvac3Fg2jFJAPNTXnZntimA1Rj9GYBnhAgFsr61eoly0jEjUQR VS5hs1mo6MqFnSmIkm5Vd8eZZjOCAwf4TaH7n4imtBx6t7c6xBd18E8XBeapb1vX4ei/ zwDw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=WoV4pas84c7AMle4/cOCqX9GxEkhRyeiQnd4AgtTb4M=; b=eEPkg0/Mj+q7+1+SsbpHN88MsRFDfw37JvjqIE3zqTrVeLSXsVKOoLPrg3FM3Okp08 BqTaJOcSQs0P6dw96eit99jx8p+NRSv7H2MQhzMdKMqPCrxpl3zZpxddyjwh2Db1fI52 y5UoBk8w+KA9LzWRvM7lBtzBZBk+S8RicqvKpWMn0YcBnEbas3fiP6SL2A5mxM3Eo+Mm FrBn9nsyQWLIj1m3FuuwEv6l5RzKjXDGw3a09pQC2qJ/qQ3M44rVGpygbFHliQ6gfSox +gugZiQhlqjoUDQBS9KRhVlk424vH8xh7W26xP04Cz95XttR+vvT4h/TDwJ29PM87Bpt ixSg== X-Gm-Message-State: AJIora+TEcj5WFK6Dc8QmRLXJTdlbmVSU+Hxly75XV51WGkWoP9rBIU0 IAFTpqy/zVIynezG1CvAys6elQ== X-Google-Smtp-Source: AGRyM1tyzoD4broviwi8cseUJcMss44EJFmHnXdv76S5xGNYbukNcjB8q6FsDxih9LAnfiSSugsDkw== X-Received: by 2002:a17:907:3da2:b0:718:c108:663c with SMTP id he34-20020a1709073da200b00718c108663cmr8826494ejc.252.1656594346338; Thu, 30 Jun 2022 06:05:46 -0700 (PDT) Received: from localhost.localdomain (xdsl-188-155-176-92.adslplus.ch. [188.155.176.92]) by smtp.gmail.com with ESMTPSA id f15-20020a1709062c4f00b007081282cbd8sm9124967ejh.76.2022.06.30.06.05.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 30 Jun 2022 06:05:45 -0700 (PDT) From: Krzysztof Kozlowski To: Andy Gross , Bjorn Andersson , Krzysztof Kozlowski , Georgi Djakov , Rob Herring , Catalin Marinas , Will Deacon , linux-arm-msm@vger.kernel.org, linux-pm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org Cc: Rajendra Nayak , Rob Herring Subject: [PATCH v7 1/4] dt-bindings: interconnect: qcom, msm8998-cpu-bwmon: add BWMON device Date: Thu, 30 Jun 2022 15:05:38 +0200 Message-Id: <20220630130541.563001-2-krzysztof.kozlowski@linaro.org> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220630130541.563001-1-krzysztof.kozlowski@linaro.org> References: <20220630130541.563001-1-krzysztof.kozlowski@linaro.org> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-arm-msm@vger.kernel.org Add bindings for the Qualcomm Bandwidth Monitor device providing performance data on interconnects. The bindings describe only BWMON CPU (version 4), e.g. the instance which appeared for the first on Qualcomm MSM8998 SoC and is also used on SDM845. This BWMON device sits between CPU and Last Level Cache Controller. Signed-off-by: Krzysztof Kozlowski Reviewed-by: Rob Herring Acked-by: Georgi Djakov --- .../interconnect/qcom,msm8998-llcc-bwmon.yaml | 85 +++++++++++++++++++ 1 file changed, 85 insertions(+) create mode 100644 Documentation/devicetree/bindings/interconnect/qcom,msm8998-llcc-bwmon.yaml diff --git a/Documentation/devicetree/bindings/interconnect/qcom,msm8998-llcc-bwmon.yaml b/Documentation/devicetree/bindings/interconnect/qcom,msm8998-llcc-bwmon.yaml new file mode 100644 index 000000000000..76e09658d615 --- /dev/null +++ b/Documentation/devicetree/bindings/interconnect/qcom,msm8998-llcc-bwmon.yaml @@ -0,0 +1,85 @@ +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/interconnect/qcom,msm8998-llcc-bwmon.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Qualcomm Interconnect Bandwidth Monitor + +maintainers: + - Krzysztof Kozlowski + +description: | + Bandwidth Monitor measures current throughput on buses between various NoC + fabrics and provides information when it crosses configured thresholds. + + Certain SoCs might have more than one Bandwidth Monitors, for example on SDM845:: + - Measuring the bandwidth between CPUs and Last Level Cache Controller - + called LLCC BWMON, + - Measuring the bandwidth between Last Level Cache Controller and memory (DDR). + +properties: + compatible: + oneOf: + - items: + - enum: + - qcom,sdm845-llcc-bwmon + - const: qcom,msm8998-llcc-bwmon + - const: qcom,msm8998-llcc-bwmon # BWMON v4 + + interconnects: + maxItems: 1 + + interrupts: + maxItems: 1 + + operating-points-v2: true + opp-table: true + + reg: + # BWMON v4 (currently described) and BWMON v5 use one register address + # space. BWMON v2 uses two register spaces - not yet described. + maxItems: 1 + +required: + - compatible + - interconnects + - interrupts + - operating-points-v2 + - opp-table + - reg + +additionalProperties: false + +examples: + - | + #include + #include + + pmu@1436400 { + compatible = "qcom,sdm845-llcc-bwmon", "qcom,msm8998-llcc-bwmon"; + reg = <0x01436400 0x600>; + interrupts = ; + interconnects = <&gladiator_noc MASTER_APPSS_PROC 3 &mem_noc SLAVE_LLCC 3>; + + operating-points-v2 = <&llcc_bwmon_opp_table>; + + llcc_bwmon_opp_table: opp-table { + compatible = "operating-points-v2"; + opp-0 { + opp-peak-kBps = <4800000>; + }; + opp-1 { + opp-peak-kBps = <9216000>; + }; + opp-2 { + opp-peak-kBps = <15052800>; + }; + opp-3 { + opp-peak-kBps = <20889600>; + }; + opp-4 { + opp-peak-kBps = <25497600>; + }; + }; + };