xref: /freebsd/sys/contrib/device-tree/Bindings/arm/tegra/nvidia,tegra30-actmon.txt (revision 5def4c47d4bd90b209b9b4a4ba9faec15846d8fd)
1c66ec88fSEmmanuel VadotNVIDIA Tegra Activity Monitor
2c66ec88fSEmmanuel Vadot
3c66ec88fSEmmanuel VadotThe activity monitor block collects statistics about the behaviour of other
4c66ec88fSEmmanuel Vadotcomponents in the system. This information can be used to derive the rate at
5c66ec88fSEmmanuel Vadotwhich the external memory needs to be clocked in order to serve all requests
6c66ec88fSEmmanuel Vadotfrom the monitored clients.
7c66ec88fSEmmanuel Vadot
8c66ec88fSEmmanuel VadotRequired properties:
9c66ec88fSEmmanuel Vadot- compatible: should be "nvidia,tegra<chip>-actmon"
10c66ec88fSEmmanuel Vadot- reg: offset and length of the register set for the device
11c66ec88fSEmmanuel Vadot- interrupts: standard interrupt property
12c66ec88fSEmmanuel Vadot- clocks: Must contain a phandle and clock specifier pair for each entry in
13c66ec88fSEmmanuel Vadotclock-names. See ../../clock/clock-bindings.txt for details.
14c66ec88fSEmmanuel Vadot- clock-names: Must include the following entries:
15c66ec88fSEmmanuel Vadot  - actmon
16c66ec88fSEmmanuel Vadot  - emc
17c66ec88fSEmmanuel Vadot- resets: Must contain an entry for each entry in reset-names. See
18c66ec88fSEmmanuel Vadot../../reset/reset.txt for details.
19c66ec88fSEmmanuel Vadot- reset-names: Must include the following entries:
20c66ec88fSEmmanuel Vadot  - actmon
21*5def4c47SEmmanuel Vadot- operating-points-v2: See ../bindings/opp/opp.txt for details.
22*5def4c47SEmmanuel Vadot- interconnects: Should contain entries for memory clients sitting on
23*5def4c47SEmmanuel Vadot                 MC->EMC memory interconnect path.
24*5def4c47SEmmanuel Vadot- interconnect-names: Should include name of the interconnect path for each
25*5def4c47SEmmanuel Vadot                      interconnect entry. Consult TRM documentation for
26*5def4c47SEmmanuel Vadot                      information about available memory clients, see MEMORY
27*5def4c47SEmmanuel Vadot                      CONTROLLER section.
28*5def4c47SEmmanuel Vadot
29*5def4c47SEmmanuel VadotFor each opp entry in 'operating-points-v2' table:
30*5def4c47SEmmanuel Vadot- opp-supported-hw: bitfield indicating SoC speedo ID mask
31*5def4c47SEmmanuel Vadot- opp-peak-kBps: peak bandwidth of the memory channel
32c66ec88fSEmmanuel Vadot
33c66ec88fSEmmanuel VadotExample:
34*5def4c47SEmmanuel Vadot	dfs_opp_table: opp-table {
35*5def4c47SEmmanuel Vadot		compatible = "operating-points-v2";
36*5def4c47SEmmanuel Vadot
37*5def4c47SEmmanuel Vadot		opp@12750000 {
38*5def4c47SEmmanuel Vadot			opp-hz = /bits/ 64 <12750000>;
39*5def4c47SEmmanuel Vadot			opp-supported-hw = <0x000F>;
40*5def4c47SEmmanuel Vadot			opp-peak-kBps = <51000>;
41*5def4c47SEmmanuel Vadot		};
42*5def4c47SEmmanuel Vadot		...
43*5def4c47SEmmanuel Vadot	};
44*5def4c47SEmmanuel Vadot
45c66ec88fSEmmanuel Vadot	actmon@6000c800 {
46c66ec88fSEmmanuel Vadot		compatible = "nvidia,tegra124-actmon";
47c66ec88fSEmmanuel Vadot		reg = <0x0 0x6000c800 0x0 0x400>;
48c66ec88fSEmmanuel Vadot		interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
49c66ec88fSEmmanuel Vadot		clocks = <&tegra_car TEGRA124_CLK_ACTMON>,
50c66ec88fSEmmanuel Vadot			 <&tegra_car TEGRA124_CLK_EMC>;
51c66ec88fSEmmanuel Vadot		clock-names = "actmon", "emc";
52c66ec88fSEmmanuel Vadot		resets = <&tegra_car 119>;
53c66ec88fSEmmanuel Vadot		reset-names = "actmon";
54*5def4c47SEmmanuel Vadot		operating-points-v2 = <&dfs_opp_table>;
55*5def4c47SEmmanuel Vadot		interconnects = <&mc TEGRA124_MC_MPCORER &emc>;
56*5def4c47SEmmanuel Vadot		interconnect-names = "cpu";
57c66ec88fSEmmanuel Vadot	};
58