Merge branches 'pm-cpuidle', 'pm-sleep' and 'pm-powercap'
[linux-block.git] / Documentation / devicetree / bindings / opp / allwinner,sun50i-h6-operating-points.yaml
CommitLineData
b30d8cf5
MR
1# SPDX-License-Identifier: GPL-2.0
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/opp/allwinner,sun50i-h6-operating-points.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
dd3cb467 7title: Allwinner H6 CPU OPP
b30d8cf5
MR
8
9maintainers:
10 - Chen-Yu Tsai <wens@csie.org>
11 - Maxime Ripard <mripard@kernel.org>
12
13description: |
14 For some SoCs, the CPU frequency subset and voltage value of each
15 OPP varies based on the silicon variant in use. Allwinner Process
83d4e044
MB
16 Voltage Scaling Tables define the voltage and frequency values based
17 on the speedbin blown in the efuse combination.
b30d8cf5 18
94274f20
RH
19allOf:
20 - $ref: opp-v2-base.yaml#
21
b30d8cf5
MR
22properties:
23 compatible:
83d4e044
MB
24 enum:
25 - allwinner,sun50i-h6-operating-points
26 - allwinner,sun50i-h616-operating-points
b30d8cf5
MR
27
28 nvmem-cells:
29 description: |
30 A phandle pointing to a nvmem-cells node representing the efuse
83d4e044 31 register that has information about the speedbin that is used
b30d8cf5 32 to select the right frequency/voltage value pair. Please refer
83d4e044
MB
33 to the nvmem-cells bindings in
34 Documentation/devicetree/bindings/nvmem/nvmem.yaml and also the
b30d8cf5
MR
35 examples below.
36
4828556d
RH
37 opp-shared: true
38
b30d8cf5
MR
39required:
40 - compatible
41 - nvmem-cells
42
43patternProperties:
7621aabd 44 "^opp-[0-9]+$":
b30d8cf5
MR
45 type: object
46
47 properties:
48 opp-hz: true
94274f20 49 clock-latency-ns: true
83d4e044
MB
50 opp-microvolt: true
51 opp-supported-hw:
52 maxItems: 1
53 description:
54 A single 32 bit bitmap value, representing compatible HW, one
55 bit per speed bin index.
b30d8cf5
MR
56
57 patternProperties:
7621aabd 58 "^opp-microvolt-speed[0-9]$": true
b30d8cf5
MR
59
60 required:
61 - opp-hz
b30d8cf5
MR
62
63 unevaluatedProperties: false
64
4828556d 65additionalProperties: false
b30d8cf5
MR
66
67examples:
68 - |
69 cpu_opp_table: opp-table {
70 compatible = "allwinner,sun50i-h6-operating-points";
71 nvmem-cells = <&speedbin_efuse>;
72 opp-shared;
73
74 opp-480000000 {
75 clock-latency-ns = <244144>; /* 8 32k periods */
76 opp-hz = /bits/ 64 <480000000>;
77
78 opp-microvolt-speed0 = <880000>;
79 opp-microvolt-speed1 = <820000>;
80 opp-microvolt-speed2 = <800000>;
81 };
82
83d4e044 83 opp-1080000000 {
b30d8cf5 84 clock-latency-ns = <244144>; /* 8 32k periods */
83d4e044 85 opp-hz = /bits/ 64 <1080000000>;
b30d8cf5 86
83d4e044
MB
87 opp-microvolt-speed0 = <1060000>;
88 opp-microvolt-speed1 = <880000>;
89 opp-microvolt-speed2 = <840000>;
b30d8cf5
MR
90 };
91
83d4e044 92 opp-1488000000 {
b30d8cf5 93 clock-latency-ns = <244144>; /* 8 32k periods */
83d4e044 94 opp-hz = /bits/ 64 <1488000000>;
b30d8cf5 95
83d4e044
MB
96 opp-microvolt-speed0 = <1160000>;
97 opp-microvolt-speed1 = <1000000>;
98 opp-microvolt-speed2 = <960000>;
b30d8cf5 99 };
83d4e044 100 };
b30d8cf5 101
83d4e044
MB
102 - |
103 opp-table {
104 compatible = "allwinner,sun50i-h616-operating-points";
105 nvmem-cells = <&speedbin_efuse>;
106 opp-shared;
b30d8cf5 107
83d4e044 108 opp-480000000 {
b30d8cf5 109 clock-latency-ns = <244144>; /* 8 32k periods */
83d4e044 110 opp-hz = /bits/ 64 <480000000>;
b30d8cf5 111
83d4e044
MB
112 opp-microvolt = <900000>;
113 opp-supported-hw = <0x1f>;
b30d8cf5
MR
114 };
115
83d4e044 116 opp-792000000 {
b30d8cf5 117 clock-latency-ns = <244144>; /* 8 32k periods */
83d4e044 118 opp-hz = /bits/ 64 <792000000>;
b30d8cf5 119
83d4e044
MB
120 opp-microvolt-speed1 = <900000>;
121 opp-microvolt-speed4 = <940000>;
122 opp-supported-hw = <0x12>;
b30d8cf5
MR
123 };
124
83d4e044 125 opp-1512000000 {
b30d8cf5 126 clock-latency-ns = <244144>; /* 8 32k periods */
83d4e044 127 opp-hz = /bits/ 64 <1512000000>;
b30d8cf5 128
83d4e044
MB
129 opp-microvolt = <1100000>;
130 opp-supported-hw = <0x0a>;
b30d8cf5
MR
131 };
132 };
133
134...