From 9c129f1c88e11b2f8a6039e8371cae54932b56b3 Mon Sep 17 00:00:00 2001 From: Shivnandan Kumar Date: Wed, 20 Mar 2024 12:26:02 +0530 Subject: [PATCH] dt-bindings: Add devicetree bindings for bwprof drivers Add snapshot of bwprof dt bindings as of kernel 5.10 commit 6c69729ad4 ("ARM: dts: msm: Add bwprofiler nodes to anorak"). Change-Id: I240a0d1df3a79d7d0cce6c2ad76aee92eaa19340 Signed-off-by: Shivnandan Kumar --- bindings/soc/qcom/qcom,bwprof.yaml | 108 +++++++++++++++++++++++++++++ 1 file changed, 108 insertions(+) create mode 100644 bindings/soc/qcom/qcom,bwprof.yaml diff --git a/bindings/soc/qcom/qcom,bwprof.yaml b/bindings/soc/qcom/qcom,bwprof.yaml new file mode 100644 index 00000000..657162ec --- /dev/null +++ b/bindings/soc/qcom/qcom,bwprof.yaml @@ -0,0 +1,108 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/soc/qcom/qcom,bwprof.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Qualcomm Technologies, Inc. Bwprof profiling driver + +maintainers: + - Shivnandan Kumar + - Amir Vajid + +description: + The QTI BWPROF Driver is responsible for monitoring bandwidth counters on + Qualcomm Technologies, Inc. (QTI) chipset that represent the read/write traffic + through different interconnects in the system. The driver provides this data to + userspace clients at modest time intervals for the purpose of bandwidth + profiling + +properties: + compatible: + enum: + - qcom,bwprof + + reg: + items: + - description: mem freq base address + + reg-names: + items: + - const: mem-freq + + "#address-cells": + enum: [1, 2] + + "#size-cells": + enum: [1, 2] + + qcom,bus-width: + $ref: /schemas/types.yaml#/definitions/uint32 + description: The width of the bus in bits. + +patternProperties: + "^qcom,bwprof[0-9-a-z]*@[0-9]*$": + type: object + description: + bwprof use subnodes for bwmon monitor instance. + + properties: + compatible: + enum: + - qcom,bwprof-mon + + reg: + description: bwprof mon base address. + + reg-names: + items: + - const: base + + client: + $ref: /schemas/types.yaml#/definitions/string + description: The client of bandwidth monitor, which can be either "total", "cpu", or "gpu". + + additionalProperties: false + + +required: + - compatible + - reg + - reg-names + - '#address-cells' + - '#size-cells' + +additionalProperties: false + +examples: + - | + bwprof: qcom,bwprof-ddr@19090000 { + compatible = "qcom,bwprof"; + #address-cells = <1>; + #size-cells = <1>; + qcom,bus-width = <16>; + reg = <0x190BA050 0x10>; + reg-names = "mem-freq"; + + bwprof_0: qcom,bwprof0@19092000 { + compatible = "qcom,bwprof-mon"; + reg = <0x19092000 0x1000>; + reg-names = "base"; + client = "total"; + }; + + bwprof_1: qcom,bwprof1@19093000 { + compatible = "qcom,bwprof-mon"; + reg = <0x19093000 0x1000>; + reg-names = "base"; + client = "cpu"; + }; + + bwprof_2: qcom,bwprof2@19094000 { + compatible = "qcom,bwprof-mon"; + reg = <0x19094000 0x1000>; + reg-names = "base"; + client = "gpu"; + }; + + };