162306a36Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
262306a36Sopenharmony_ci%YAML 1.2
362306a36Sopenharmony_ci---
462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/devfreq/nvidia,tegra30-actmon.yaml#
562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
662306a36Sopenharmony_ci
762306a36Sopenharmony_cititle: NVIDIA Tegra30 Activity Monitor
862306a36Sopenharmony_ci
962306a36Sopenharmony_cimaintainers:
1062306a36Sopenharmony_ci  - Dmitry Osipenko <digetx@gmail.com>
1162306a36Sopenharmony_ci  - Jon Hunter <jonathanh@nvidia.com>
1262306a36Sopenharmony_ci  - Thierry Reding <thierry.reding@gmail.com>
1362306a36Sopenharmony_ci
1462306a36Sopenharmony_cidescription: |
1562306a36Sopenharmony_ci  The activity monitor block collects statistics about the behaviour of other
1662306a36Sopenharmony_ci  components in the system. This information can be used to derive the rate at
1762306a36Sopenharmony_ci  which the external memory needs to be clocked in order to serve all requests
1862306a36Sopenharmony_ci  from the monitored clients.
1962306a36Sopenharmony_ci
2062306a36Sopenharmony_ciproperties:
2162306a36Sopenharmony_ci  compatible:
2262306a36Sopenharmony_ci    enum:
2362306a36Sopenharmony_ci      - nvidia,tegra30-actmon
2462306a36Sopenharmony_ci      - nvidia,tegra114-actmon
2562306a36Sopenharmony_ci      - nvidia,tegra124-actmon
2662306a36Sopenharmony_ci      - nvidia,tegra210-actmon
2762306a36Sopenharmony_ci
2862306a36Sopenharmony_ci  reg:
2962306a36Sopenharmony_ci    maxItems: 1
3062306a36Sopenharmony_ci
3162306a36Sopenharmony_ci  clocks:
3262306a36Sopenharmony_ci    maxItems: 2
3362306a36Sopenharmony_ci
3462306a36Sopenharmony_ci  clock-names:
3562306a36Sopenharmony_ci    items:
3662306a36Sopenharmony_ci      - const: actmon
3762306a36Sopenharmony_ci      - const: emc
3862306a36Sopenharmony_ci
3962306a36Sopenharmony_ci  resets:
4062306a36Sopenharmony_ci    maxItems: 1
4162306a36Sopenharmony_ci
4262306a36Sopenharmony_ci  reset-names:
4362306a36Sopenharmony_ci    items:
4462306a36Sopenharmony_ci      - const: actmon
4562306a36Sopenharmony_ci
4662306a36Sopenharmony_ci  interrupts:
4762306a36Sopenharmony_ci    maxItems: 1
4862306a36Sopenharmony_ci
4962306a36Sopenharmony_ci  interconnects:
5062306a36Sopenharmony_ci    minItems: 1
5162306a36Sopenharmony_ci    maxItems: 12
5262306a36Sopenharmony_ci
5362306a36Sopenharmony_ci  interconnect-names:
5462306a36Sopenharmony_ci    minItems: 1
5562306a36Sopenharmony_ci    maxItems: 12
5662306a36Sopenharmony_ci    description:
5762306a36Sopenharmony_ci      Should include name of the interconnect path for each interconnect
5862306a36Sopenharmony_ci      entry. Consult TRM documentation for information about available
5962306a36Sopenharmony_ci      memory clients, see MEMORY CONTROLLER and ACTIVITY MONITOR sections.
6062306a36Sopenharmony_ci
6162306a36Sopenharmony_ci  operating-points-v2:
6262306a36Sopenharmony_ci    description:
6362306a36Sopenharmony_ci      Should contain freqs and voltages and opp-supported-hw property, which
6462306a36Sopenharmony_ci      is a bitfield indicating SoC speedo ID mask.
6562306a36Sopenharmony_ci
6662306a36Sopenharmony_ci  "#cooling-cells":
6762306a36Sopenharmony_ci    const: 2
6862306a36Sopenharmony_ci
6962306a36Sopenharmony_cirequired:
7062306a36Sopenharmony_ci  - compatible
7162306a36Sopenharmony_ci  - reg
7262306a36Sopenharmony_ci  - clocks
7362306a36Sopenharmony_ci  - clock-names
7462306a36Sopenharmony_ci  - resets
7562306a36Sopenharmony_ci  - reset-names
7662306a36Sopenharmony_ci  - interrupts
7762306a36Sopenharmony_ci  - interconnects
7862306a36Sopenharmony_ci  - interconnect-names
7962306a36Sopenharmony_ci  - operating-points-v2
8062306a36Sopenharmony_ci  - "#cooling-cells"
8162306a36Sopenharmony_ci
8262306a36Sopenharmony_ciadditionalProperties: false
8362306a36Sopenharmony_ci
8462306a36Sopenharmony_ciexamples:
8562306a36Sopenharmony_ci  - |
8662306a36Sopenharmony_ci    #include <dt-bindings/memory/tegra30-mc.h>
8762306a36Sopenharmony_ci
8862306a36Sopenharmony_ci    mc: memory-controller@7000f000 {
8962306a36Sopenharmony_ci        compatible = "nvidia,tegra30-mc";
9062306a36Sopenharmony_ci        reg = <0x7000f000 0x400>;
9162306a36Sopenharmony_ci        clocks = <&clk 32>;
9262306a36Sopenharmony_ci        clock-names = "mc";
9362306a36Sopenharmony_ci
9462306a36Sopenharmony_ci        interrupts = <0 77 4>;
9562306a36Sopenharmony_ci
9662306a36Sopenharmony_ci        #iommu-cells = <1>;
9762306a36Sopenharmony_ci        #reset-cells = <1>;
9862306a36Sopenharmony_ci        #interconnect-cells = <1>;
9962306a36Sopenharmony_ci    };
10062306a36Sopenharmony_ci
10162306a36Sopenharmony_ci    emc: external-memory-controller@7000f400 {
10262306a36Sopenharmony_ci        compatible = "nvidia,tegra30-emc";
10362306a36Sopenharmony_ci        reg = <0x7000f400 0x400>;
10462306a36Sopenharmony_ci        interrupts = <0 78 4>;
10562306a36Sopenharmony_ci        clocks = <&clk 57>;
10662306a36Sopenharmony_ci
10762306a36Sopenharmony_ci        nvidia,memory-controller = <&mc>;
10862306a36Sopenharmony_ci        operating-points-v2 = <&dvfs_opp_table>;
10962306a36Sopenharmony_ci        power-domains = <&domain>;
11062306a36Sopenharmony_ci
11162306a36Sopenharmony_ci        #interconnect-cells = <0>;
11262306a36Sopenharmony_ci    };
11362306a36Sopenharmony_ci
11462306a36Sopenharmony_ci    actmon@6000c800 {
11562306a36Sopenharmony_ci        compatible = "nvidia,tegra30-actmon";
11662306a36Sopenharmony_ci        reg = <0x6000c800 0x400>;
11762306a36Sopenharmony_ci        interrupts = <0 45 4>;
11862306a36Sopenharmony_ci        clocks = <&clk 119>, <&clk 57>;
11962306a36Sopenharmony_ci        clock-names = "actmon", "emc";
12062306a36Sopenharmony_ci        resets = <&rst 119>;
12162306a36Sopenharmony_ci        reset-names = "actmon";
12262306a36Sopenharmony_ci        operating-points-v2 = <&dvfs_opp_table>;
12362306a36Sopenharmony_ci        interconnects = <&mc TEGRA30_MC_MPCORER &emc>;
12462306a36Sopenharmony_ci        interconnect-names = "cpu-read";
12562306a36Sopenharmony_ci        #cooling-cells = <2>;
12662306a36Sopenharmony_ci    };
127