1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/opp/operating-points-v2-ti-cpu.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: TI CPU OPP (Operating Performance Points)
8
9description:
10  TI SoCs, like those in the AM335x, AM437x, AM57xx, AM62x, and DRA7xx
11  families, the CPU frequencies subset and the voltage value of each
12  OPP vary based on the silicon variant used. The data sheet sections
13  corresponding to "Operating Performance Points" describe the frequency
14  and voltage values based on device type and speed bin information
15  blown in corresponding eFuse bits as referred to by the Technical
16  Reference Manual.
17
18  This document extends the operating-points-v2 binding by providing
19  the hardware description for the scheme mentioned above.
20
21maintainers:
22  - Nishanth Menon <nm@ti.com>
23
24allOf:
25  - $ref: opp-v2-base.yaml#
26
27properties:
28  compatible:
29    const: operating-points-v2-ti-cpu
30
31  syscon:
32    $ref: /schemas/types.yaml#/definitions/phandle
33    description: |
34      points to syscon node representing the control module
35      register space of the SoC.
36
37  opp-shared: true
38
39patternProperties:
40  '^opp(-?[0-9]+)*$':
41    type: object
42    additionalProperties: false
43
44    properties:
45      clock-latency-ns: true
46      opp-hz: true
47      opp-microvolt: true
48      opp-supported-hw: true
49      opp-suspend: true
50      turbo-mode: true
51
52    required:
53      - opp-hz
54      - opp-supported-hw
55
56required:
57  - compatible
58  - syscon
59
60additionalProperties: false
61
62examples:
63  - |
64    opp-table {
65        compatible = "operating-points-v2-ti-cpu";
66        syscon = <&scm_conf>;
67
68        opp-300000000 {
69            opp-hz = /bits/ 64 <300000000>;
70            opp-microvolt = <1100000 1078000 1122000>;
71            opp-supported-hw = <0x06 0x0020>;
72            opp-suspend;
73        };
74
75        opp-500000000 {
76            opp-hz = /bits/ 64 <500000000>;
77            opp-microvolt = <1100000 1078000 1122000>;
78            opp-supported-hw = <0x01 0xFFFF>;
79        };
80
81        opp-600000000 {
82            opp-hz = /bits/ 64 <600000000>;
83            opp-microvolt = <1100000 1078000 1122000>;
84            opp-supported-hw = <0x06 0x0040>;
85        };
86
87        opp-1000000000 {
88            opp-hz = /bits/ 64 <1000000000>;
89            opp-microvolt = <1325000 1298500 1351500>;
90            opp-supported-hw = <0x04 0x0200>;
91        };
92    };
93