xref: /linux/Documentation/devicetree/bindings/opp/operating-points-v2-ti-cpu.yaml (revision 7f71507851fc7764b36a3221839607d3a45c2025)
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  - Dhruva Gole <d-gole@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:
49        items:
50          items:
51            - description:
52                The revision of the SoC the OPP is supported by.
53                This can be easily obtained from the datasheet of the
54                part being ordered/used. For example, it will be 0x01 for SR1.0
55
56            - description:
57                The eFuse bits that indicate the particular OPP is available.
58                The device datasheet has a table talking about Device Speed Grades.
59                This table is to be sorted with only the unique elements of the
60                MAXIMUM OPERATING FREQUENCY starting from the first row which
61                tells the lowest OPP, to the highest. The corresponding bits
62                need to be set based on N elements of speed grade the device supports.
63                So, if there are 3 possible unique MAXIMUM OPERATING FREQUENCY
64                in the table, then BIT(0) | (1) | (2) will be set, which means
65                the value shall be 0x7.
66
67      opp-suspend: true
68      turbo-mode: true
69
70    required:
71      - opp-hz
72      - opp-supported-hw
73
74required:
75  - compatible
76  - syscon
77
78additionalProperties: false
79
80examples:
81  - |
82    opp-table {
83        compatible = "operating-points-v2-ti-cpu";
84        syscon = <&scm_conf>;
85
86        opp-300000000 {
87            opp-hz = /bits/ 64 <300000000>;
88            opp-microvolt = <1100000 1078000 1122000>;
89            opp-supported-hw = <0x06 0x0020>;
90            opp-suspend;
91        };
92
93        opp-500000000 {
94            opp-hz = /bits/ 64 <500000000>;
95            opp-microvolt = <1100000 1078000 1122000>;
96            opp-supported-hw = <0x01 0xFFFF>;
97        };
98
99        opp-600000000 {
100            opp-hz = /bits/ 64 <600000000>;
101            opp-microvolt = <1100000 1078000 1122000>;
102            opp-supported-hw = <0x06 0x0040>;
103        };
104
105        opp-1000000000 {
106            opp-hz = /bits/ 64 <1000000000>;
107            opp-microvolt = <1325000 1298500 1351500>;
108            opp-supported-hw = <0x04 0x0200>;
109        };
110    };
111