1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/devfreq/nvidia,tegra30-actmon.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: NVIDIA Tegra30 Activity Monitor 8 9maintainers: 10 - Dmitry Osipenko <digetx@gmail.com> 11 - Jon Hunter <jonathanh@nvidia.com> 12 - Thierry Reding <thierry.reding@gmail.com> 13 14description: | 15 The activity monitor block collects statistics about the behaviour of other 16 components in the system. This information can be used to derive the rate at 17 which the external memory needs to be clocked in order to serve all requests 18 from the monitored clients. 19 20properties: 21 compatible: 22 enum: 23 - nvidia,tegra30-actmon 24 - nvidia,tegra114-actmon 25 - nvidia,tegra124-actmon 26 - nvidia,tegra210-actmon 27 28 reg: 29 maxItems: 1 30 31 clocks: 32 maxItems: 2 33 34 clock-names: 35 items: 36 - const: actmon 37 - const: emc 38 39 resets: 40 maxItems: 1 41 42 reset-names: 43 items: 44 - const: actmon 45 46 interrupts: 47 maxItems: 1 48 49 interconnects: 50 minItems: 1 51 maxItems: 12 52 53 interconnect-names: 54 minItems: 1 55 maxItems: 12 56 description: 57 Should include name of the interconnect path for each interconnect 58 entry. Consult TRM documentation for information about available 59 memory clients, see MEMORY CONTROLLER and ACTIVITY MONITOR sections. 60 61 operating-points-v2: 62 description: 63 Should contain freqs and voltages and opp-supported-hw property, which 64 is a bitfield indicating SoC speedo ID mask. 65 66 "#cooling-cells": 67 const: 2 68 69required: 70 - compatible 71 - reg 72 - clocks 73 - clock-names 74 - resets 75 - reset-names 76 - interrupts 77 - interconnects 78 - interconnect-names 79 - operating-points-v2 80 - "#cooling-cells" 81 82additionalProperties: false 83 84examples: 85 - | 86 #include <dt-bindings/memory/tegra30-mc.h> 87 88 mc: memory-controller@7000f000 { 89 compatible = "nvidia,tegra30-mc"; 90 reg = <0x7000f000 0x400>; 91 clocks = <&clk 32>; 92 clock-names = "mc"; 93 94 interrupts = <0 77 4>; 95 96 #iommu-cells = <1>; 97 #reset-cells = <1>; 98 #interconnect-cells = <1>; 99 }; 100 101 emc: external-memory-controller@7000f400 { 102 compatible = "nvidia,tegra30-emc"; 103 reg = <0x7000f400 0x400>; 104 interrupts = <0 78 4>; 105 clocks = <&clk 57>; 106 107 nvidia,memory-controller = <&mc>; 108 operating-points-v2 = <&dvfs_opp_table>; 109 power-domains = <&domain>; 110 111 #interconnect-cells = <0>; 112 }; 113 114 actmon@6000c800 { 115 compatible = "nvidia,tegra30-actmon"; 116 reg = <0x6000c800 0x400>; 117 interrupts = <0 45 4>; 118 clocks = <&clk 119>, <&clk 57>; 119 clock-names = "actmon", "emc"; 120 resets = <&rst 119>; 121 reset-names = "actmon"; 122 operating-points-v2 = <&dvfs_opp_table>; 123 interconnects = <&mc TEGRA30_MC_MPCORER &emc>; 124 interconnect-names = "cpu-read"; 125 #cooling-cells = <2>; 126 }; 127