Documentation / devicetree / bindings / devfreq / nvidia,tegra30-actmon.yaml


Based on kernel version 6.11. Page generated on 2024-09-24 08:21 EST.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/devfreq/nvidia,tegra30-actmon.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: NVIDIA Tegra30 Activity Monitor

maintainers:
  - Dmitry Osipenko <digetx@gmail.com>
  - Jon Hunter <jonathanh@nvidia.com>
  - Thierry Reding <thierry.reding@gmail.com>

description: |
  The activity monitor block collects statistics about the behaviour of other
  components in the system. This information can be used to derive the rate at
  which the external memory needs to be clocked in order to serve all requests
  from the monitored clients.

properties:
  compatible:
    enum:
      - nvidia,tegra30-actmon
      - nvidia,tegra114-actmon
      - nvidia,tegra124-actmon
      - nvidia,tegra210-actmon

  reg:
    maxItems: 1

  clocks:
    maxItems: 2

  clock-names:
    items:
      - const: actmon
      - const: emc

  resets:
    maxItems: 1

  reset-names:
    items:
      - const: actmon

  interrupts:
    maxItems: 1

  interconnects:
    minItems: 1
    maxItems: 12

  interconnect-names:
    minItems: 1
    maxItems: 12
    description:
      Should include name of the interconnect path for each interconnect
      entry. Consult TRM documentation for information about available
      memory clients, see MEMORY CONTROLLER and ACTIVITY MONITOR sections.

  operating-points-v2:
    description:
      Should contain freqs and voltages and opp-supported-hw property, which
      is a bitfield indicating SoC speedo ID mask.
 
  "#cooling-cells":
    const: 2

required:
  - compatible
  - reg
  - clocks
  - clock-names
  - resets
  - reset-names
  - interrupts
  - interconnects
  - interconnect-names
  - operating-points-v2
  - "#cooling-cells"

additionalProperties: false

examples:
  - |
    #include <dt-bindings/memory/tegra30-mc.h>
 
    mc: memory-controller@7000f000 {
        compatible = "nvidia,tegra30-mc";
        reg = <0x7000f000 0x400>;
        clocks = <&clk 32>;
        clock-names = "mc";
 
        interrupts = <0 77 4>;
 
        #iommu-cells = <1>;
        #reset-cells = <1>;
        #interconnect-cells = <1>;
    };
 
    emc: external-memory-controller@7000f400 {
        compatible = "nvidia,tegra30-emc";
        reg = <0x7000f400 0x400>;
        interrupts = <0 78 4>;
        clocks = <&clk 57>;
 
        nvidia,memory-controller = <&mc>;
        operating-points-v2 = <&dvfs_opp_table>;
        power-domains = <&domain>;
 
        #interconnect-cells = <0>;
    };
 
    actmon@6000c800 {
        compatible = "nvidia,tegra30-actmon";
        reg = <0x6000c800 0x400>;
        interrupts = <0 45 4>;
        clocks = <&clk 119>, <&clk 57>;
        clock-names = "actmon", "emc";
        resets = <&rst 119>;
        reset-names = "actmon";
        operating-points-v2 = <&dvfs_opp_table>;
        interconnects = <&mc TEGRA30_MC_MPCORER &emc>;
        interconnect-names = "cpu-read";
        #cooling-cells = <2>;
    };