~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/devicetree/bindings/devfreq/event/samsung,exynos-ppmu.yaml

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 # SPDX-License-Identifier: GPL-2.0
  2 %YAML 1.2
  3 ---
  4 $id: http://devicetree.org/schemas/devfreq/event/samsung,exynos-ppmu.yaml#
  5 $schema: http://devicetree.org/meta-schemas/core.yaml#
  6 
  7 title: Samsung Exynos SoC PPMU (Platform Performance Monitoring Unit)
  8 
  9 maintainers:
 10   - Chanwoo Choi <cw00.choi@samsung.com>
 11   - Krzysztof Kozlowski <krzk@kernel.org>
 12 
 13 description: |
 14   The Samsung Exynos SoC has PPMU (Platform Performance Monitoring Unit) for
 15   each IP. PPMU provides the primitive values to get performance data. These
 16   PPMU events provide information of the SoC's behaviors so that you may use to
 17   analyze system performance, to make behaviors visible and to count usages of
 18   each IP (DMC, CPU, RIGHTBUS, LEFTBUS, CAM interface, LCD, G3D, MFC).  The
 19   Exynos PPMU driver uses the devfreq-event class to provide event data to
 20   various devfreq devices. The devfreq devices would use the event data when
 21   determining the current state of each IP.
 22 
 23 properties:
 24   compatible:
 25     enum:
 26       - samsung,exynos-ppmu
 27       - samsung,exynos-ppmu-v2
 28 
 29   clock-names:
 30     items:
 31       - const: ppmu
 32 
 33   clocks:
 34     maxItems: 1
 35 
 36   reg:
 37     maxItems: 1
 38 
 39   events:
 40     type: object
 41 
 42     patternProperties:
 43       '^ppmu-event[0-9]+(-[a-z0-9]+){,2}$':
 44         type: object
 45         properties:
 46           event-name:
 47             description: |
 48               The unique event name among PPMU device
 49             $ref: /schemas/types.yaml#/definitions/string
 50 
 51           event-data-type:
 52             description: |
 53               Define the type of data which shell be counted by the counter.
 54               You can check include/dt-bindings/pmu/exynos_ppmu.h for all
 55               possible type, i.e. count read requests, count write data in
 56               bytes, etc.  This field is optional and when it is missing, the
 57               driver code will use default data type.
 58             $ref: /schemas/types.yaml#/definitions/uint32
 59 
 60         required:
 61           - event-name
 62 
 63         additionalProperties: false
 64 
 65     additionalProperties: false
 66 
 67 required:
 68   - compatible
 69   - reg
 70 
 71 additionalProperties: false
 72 
 73 examples:
 74   - |
 75     // PPMUv1 nodes for Exynos3250 (although the board DTS defines events)
 76     #include <dt-bindings/clock/exynos3250.h>
 77 
 78     ppmu_dmc0: ppmu@106a0000 {
 79         compatible = "samsung,exynos-ppmu";
 80         reg = <0x106a0000 0x2000>;
 81 
 82         events {
 83             ppmu_dmc0_3: ppmu-event3-dmc0 {
 84                 event-name = "ppmu-event3-dmc0";
 85             };
 86 
 87             ppmu_dmc0_2: ppmu-event2-dmc0 {
 88                 event-name = "ppmu-event2-dmc0";
 89             };
 90 
 91             ppmu_dmc0_1: ppmu-event1-dmc0 {
 92                 event-name = "ppmu-event1-dmc0";
 93             };
 94 
 95             ppmu_dmc0_0: ppmu-event0-dmc0 {
 96                 event-name = "ppmu-event0-dmc0";
 97             };
 98         };
 99     };
100 
101     ppmu_rightbus: ppmu@112a0000 {
102         compatible = "samsung,exynos-ppmu";
103         reg = <0x112a0000 0x2000>;
104         clocks = <&cmu CLK_PPMURIGHT>;
105         clock-names = "ppmu";
106 
107         events {
108             ppmu_rightbus_3: ppmu-event3-rightbus {
109                 event-name = "ppmu-event3-rightbus";
110             };
111         };
112     };
113 
114   - |
115     // PPMUv2 nodes in Exynos5433
116     ppmu_d0_cpu: ppmu@10480000 {
117         compatible = "samsung,exynos-ppmu-v2";
118         reg = <0x10480000 0x2000>;
119     };
120 
121     ppmu_d0_general: ppmu@10490000 {
122         compatible = "samsung,exynos-ppmu-v2";
123         reg = <0x10490000 0x2000>;
124 
125         events {
126             ppmu_event0_d0_general: ppmu-event0-d0-general {
127                 event-name = "ppmu-event0-d0-general";
128             };
129         };
130     };
131 
132     ppmu_d0_rt: ppmu@104a0000 {
133         compatible = "samsung,exynos-ppmu-v2";
134         reg = <0x104a0000 0x2000>;
135     };
136 
137     ppmu_d1_cpu: ppmu@104b0000 {
138         compatible = "samsung,exynos-ppmu-v2";
139         reg = <0x104b0000 0x2000>;
140     };
141 
142     ppmu_d1_general: ppmu@104c0000 {
143         compatible = "samsung,exynos-ppmu-v2";
144         reg = <0x104c0000 0x2000>;
145     };
146 
147     ppmu_d1_rt: ppmu@104d0000 {
148         compatible = "samsung,exynos-ppmu-v2";
149         reg = <0x104d0000 0x2000>;
150     };
151 
152   - |
153     // PPMUv1 nodes with event-data-type for Exynos4412
154     #include <dt-bindings/pmu/exynos_ppmu.h>
155 
156     ppmu@106a0000 {
157         compatible = "samsung,exynos-ppmu";
158         reg = <0x106a0000 0x2000>;
159         clocks = <&clock 400>;
160         clock-names = "ppmu";
161 
162         events {
163             ppmu-event3-dmc0 {
164                 event-name = "ppmu-event3-dmc0";
165                 event-data-type = <(PPMU_RO_DATA_CNT |
166                                     PPMU_WO_DATA_CNT)>;
167             };
168         };
169     };

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php