31.05.2021 12:36, Thierry Reding пишет: > On Tue, May 11, 2021 at 12:10:04AM +0300, Dmitry Osipenko wrote: >> Convert NVIDIA Tegra ACTMON binding to schema. >> >> Signed-off-by: Dmitry Osipenko <digetx@xxxxxxxxx> >> --- >> .../arm/tegra/nvidia,tegra30-actmon.txt | 57 --------- >> .../devfreq/nvidia,tegra30-actmon.yaml | 121 ++++++++++++++++++ >> 2 files changed, 121 insertions(+), 57 deletions(-) >> delete mode 100644 Documentation/devicetree/bindings/arm/tegra/nvidia,tegra30-actmon.txt >> create mode 100644 Documentation/devicetree/bindings/devfreq/nvidia,tegra30-actmon.yaml >> >> diff --git a/Documentation/devicetree/bindings/arm/tegra/nvidia,tegra30-actmon.txt b/Documentation/devicetree/bindings/arm/tegra/nvidia,tegra30-actmon.txt >> deleted file mode 100644 >> index 897eedfa2bc8..000000000000 >> --- a/Documentation/devicetree/bindings/arm/tegra/nvidia,tegra30-actmon.txt >> +++ /dev/null >> @@ -1,57 +0,0 @@ >> -NVIDIA Tegra Activity Monitor >> - >> -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. >> - >> -Required properties: >> -- compatible: should be "nvidia,tegra<chip>-actmon" >> -- reg: offset and length of the register set for the device >> -- interrupts: standard interrupt property >> -- clocks: Must contain a phandle and clock specifier pair for each entry in >> -clock-names. See ../../clock/clock-bindings.txt for details. >> -- clock-names: Must include the following entries: >> - - actmon >> - - emc >> -- resets: Must contain an entry for each entry in reset-names. See >> -../../reset/reset.txt for details. >> -- reset-names: Must include the following entries: >> - - actmon >> -- operating-points-v2: See ../bindings/opp/opp.txt for details. >> -- interconnects: Should contain entries for memory clients sitting on >> - MC->EMC memory interconnect path. >> -- interconnect-names: Should include name of the interconnect path for each >> - interconnect entry. Consult TRM documentation for >> - information about available memory clients, see MEMORY >> - CONTROLLER section. >> - >> -For each opp entry in 'operating-points-v2' table: >> -- opp-supported-hw: bitfield indicating SoC speedo ID mask >> -- opp-peak-kBps: peak bandwidth of the memory channel >> - >> -Example: >> - dfs_opp_table: opp-table { >> - compatible = "operating-points-v2"; >> - >> - opp@12750000 { >> - opp-hz = /bits/ 64 <12750000>; >> - opp-supported-hw = <0x000F>; >> - opp-peak-kBps = <51000>; >> - }; >> - ... >> - }; >> - >> - actmon@6000c800 { >> - compatible = "nvidia,tegra124-actmon"; >> - reg = <0x0 0x6000c800 0x0 0x400>; >> - interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>; >> - clocks = <&tegra_car TEGRA124_CLK_ACTMON>, >> - <&tegra_car TEGRA124_CLK_EMC>; >> - clock-names = "actmon", "emc"; >> - resets = <&tegra_car 119>; >> - reset-names = "actmon"; >> - operating-points-v2 = <&dfs_opp_table>; >> - interconnects = <&mc TEGRA124_MC_MPCORER &emc>; >> - interconnect-names = "cpu"; >> - }; >> diff --git a/Documentation/devicetree/bindings/devfreq/nvidia,tegra30-actmon.yaml b/Documentation/devicetree/bindings/devfreq/nvidia,tegra30-actmon.yaml >> new file mode 100644 >> index 000000000000..2a940d5d7ab4 >> --- /dev/null >> +++ b/Documentation/devicetree/bindings/devfreq/nvidia,tegra30-actmon.yaml >> @@ -0,0 +1,121 @@ >> +# 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@xxxxxxxxx> >> + - Jon Hunter <jonathanh@xxxxxxxxxx> >> + - Thierry Reding <thierry.reding@xxxxxxxxx> >> + >> +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 ACTIVITY MONITOR section. > > This used to be "see MEMORY CONTROLLER section", so I looked at the TRM > to see if this was perhaps a fix for an earlier typo, but looking at the > TRM (v3) I can't find a section named "ACTIVITY MONITOR". > > Should this be changed back to "MEMORY CONTROLLER"? The "ACTIVITY MONITOR" is documented only in the T124/210 TRMs, the h/w modules supported by ACTMON are enumerated there. Both "ACTIVITY MONITOR" and "MEMORY CONTROLLER" could be mentioned for completeness.