The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/contrib/device-tree/Bindings/devfreq/event/samsung,exynos-ppmu.yaml

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    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   derterming 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     };

Cache object: faa19963a6621e6d81f5844d730a0bdb


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.