Back to home page

OSCL-LXR

 
 

    


0001 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
0002 %YAML 1.2
0003 ---
0004 $id: http://devicetree.org/schemas/devfreq/nvidia,tegra30-actmon.yaml#
0005 $schema: http://devicetree.org/meta-schemas/core.yaml#
0006 
0007 title: NVIDIA Tegra30 Activity Monitor
0008 
0009 maintainers:
0010   - Dmitry Osipenko <digetx@gmail.com>
0011   - Jon Hunter <jonathanh@nvidia.com>
0012   - Thierry Reding <thierry.reding@gmail.com>
0013 
0014 description: |
0015   The activity monitor block collects statistics about the behaviour of other
0016   components in the system. This information can be used to derive the rate at
0017   which the external memory needs to be clocked in order to serve all requests
0018   from the monitored clients.
0019 
0020 properties:
0021   compatible:
0022     enum:
0023       - nvidia,tegra30-actmon
0024       - nvidia,tegra114-actmon
0025       - nvidia,tegra124-actmon
0026       - nvidia,tegra210-actmon
0027 
0028   reg:
0029     maxItems: 1
0030 
0031   clocks:
0032     maxItems: 2
0033 
0034   clock-names:
0035     items:
0036       - const: actmon
0037       - const: emc
0038 
0039   resets:
0040     maxItems: 1
0041 
0042   reset-names:
0043     items:
0044       - const: actmon
0045 
0046   interrupts:
0047     maxItems: 1
0048 
0049   interconnects:
0050     minItems: 1
0051     maxItems: 12
0052 
0053   interconnect-names:
0054     minItems: 1
0055     maxItems: 12
0056     description:
0057       Should include name of the interconnect path for each interconnect
0058       entry. Consult TRM documentation for information about available
0059       memory clients, see MEMORY CONTROLLER and ACTIVITY MONITOR sections.
0060 
0061   operating-points-v2:
0062     description:
0063       Should contain freqs and voltages and opp-supported-hw property, which
0064       is a bitfield indicating SoC speedo ID mask.
0065 
0066   "#cooling-cells":
0067     const: 2
0068 
0069 required:
0070   - compatible
0071   - reg
0072   - clocks
0073   - clock-names
0074   - resets
0075   - reset-names
0076   - interrupts
0077   - interconnects
0078   - interconnect-names
0079   - operating-points-v2
0080   - "#cooling-cells"
0081 
0082 additionalProperties: false
0083 
0084 examples:
0085   - |
0086     #include <dt-bindings/memory/tegra30-mc.h>
0087 
0088     mc: memory-controller@7000f000 {
0089         compatible = "nvidia,tegra30-mc";
0090         reg = <0x7000f000 0x400>;
0091         clocks = <&clk 32>;
0092         clock-names = "mc";
0093 
0094         interrupts = <0 77 4>;
0095 
0096         #iommu-cells = <1>;
0097         #reset-cells = <1>;
0098         #interconnect-cells = <1>;
0099     };
0100 
0101     emc: external-memory-controller@7000f400 {
0102         compatible = "nvidia,tegra30-emc";
0103         reg = <0x7000f400 0x400>;
0104         interrupts = <0 78 4>;
0105         clocks = <&clk 57>;
0106 
0107         nvidia,memory-controller = <&mc>;
0108         operating-points-v2 = <&dvfs_opp_table>;
0109         power-domains = <&domain>;
0110 
0111         #interconnect-cells = <0>;
0112     };
0113 
0114     actmon@6000c800 {
0115         compatible = "nvidia,tegra30-actmon";
0116         reg = <0x6000c800 0x400>;
0117         interrupts = <0 45 4>;
0118         clocks = <&clk 119>, <&clk 57>;
0119         clock-names = "actmon", "emc";
0120         resets = <&rst 119>;
0121         reset-names = "actmon";
0122         operating-points-v2 = <&dvfs_opp_table>;
0123         interconnects = <&mc TEGRA30_MC_MPCORER &emc>;
0124         interconnect-names = "cpu-read";
0125         #cooling-cells = <2>;
0126     };