Linux 6.7-rc7
[linux-modified.git] / Documentation / devicetree / bindings / opp / operating-points-v2-ti-cpu.yaml
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
7 title: TI CPU OPP (Operating Performance Points)
8
9 description:
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
21 maintainers:
22   - Nishanth Menon <nm@ti.com>
23
24 allOf:
25   - $ref: opp-v2-base.yaml#
26
27 properties:
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
39 patternProperties:
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
56 required:
57   - compatible
58   - syscon
59
60 additionalProperties: false
61
62 examples:
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     };