Commit | Line | Data |
---|---|---|
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 | 7 | title: Allwinner H6 CPU OPP |
b30d8cf5 MR |
8 | |
9 | maintainers: | |
10 | - Chen-Yu Tsai <wens@csie.org> | |
11 | - Maxime Ripard <mripard@kernel.org> | |
12 | ||
13 | description: | | |
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 |
19 | allOf: |
20 | - $ref: opp-v2-base.yaml# | |
21 | ||
b30d8cf5 MR |
22 | properties: |
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 |
39 | required: |
40 | - compatible | |
41 | - nvmem-cells | |
42 | ||
43 | patternProperties: | |
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 | 65 | additionalProperties: false |
b30d8cf5 MR |
66 | |
67 | examples: | |
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 | ... |