diff options
author | Arnd Bergmann <arnd@arndb.de> | 2017-12-21 12:09:54 -0500 |
---|---|---|
committer | Arnd Bergmann <arnd@arndb.de> | 2017-12-21 12:09:54 -0500 |
commit | 2939f96539e418b82fbd8ddbe52799ef042de7b0 (patch) | |
tree | 61149a54c25929e6012690da852dddce44f35bca | |
parent | b274b49e94ab4dd3be592f7e22438290a6c1fba4 (diff) | |
parent | ca977a4cae1655d0dac37a9d85455a3a3afe55eb (diff) |
Merge tag 'v4.15-next-dts64' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/matthias.bgg/linux into next/dt
Pull "arm64: Updates of aarch64 DTS for v4.15-next" from Matthias Brugger
- mt8173 add cpufreq related nodes
supply nodes
frequency/voltage operation table
- mt2712 add cpufreq related nodes
fixed regulator
supply nodes
frequency/voltage operation table
- mt2712 add clock contoller nodes
- mt2712 add scpsys node
* tag 'v4.15-next-dts64' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/matthias.bgg/linux:
arm64: dts: Add power controller device node of MT2712
arm64: dts: mediatek: add mt2712 cpufreq related device nodes
arm64: dts: mt2712: Add clock controller device nodes
arm64: dts: mediatek: add mt8173 cpufreq related device nodes
dt-bindings: soc: add MT2712 power dt-bindings
-rw-r--r-- | Documentation/devicetree/bindings/soc/mediatek/scpsys.txt | 3 | ||||
-rw-r--r-- | arch/arm64/boot/dts/mediatek/mt2712-evb.dts | 27 | ||||
-rw-r--r-- | arch/arm64/boot/dts/mediatek/mt2712e.dtsi | 188 | ||||
-rw-r--r-- | arch/arm64/boot/dts/mediatek/mt8173-evb.dts | 18 | ||||
-rw-r--r-- | arch/arm64/boot/dts/mediatek/mt8173.dtsi | 90 | ||||
-rw-r--r-- | include/dt-bindings/power/mt2712-power.h | 26 |
6 files changed, 352 insertions, 0 deletions
diff --git a/Documentation/devicetree/bindings/soc/mediatek/scpsys.txt b/Documentation/devicetree/bindings/soc/mediatek/scpsys.txt index 40056f7990f8..76bf45b893fa 100644 --- a/Documentation/devicetree/bindings/soc/mediatek/scpsys.txt +++ b/Documentation/devicetree/bindings/soc/mediatek/scpsys.txt | |||
@@ -12,11 +12,13 @@ power/power_domain.txt. It provides the power domains defined in | |||
12 | - include/dt-bindings/power/mt8173-power.h | 12 | - include/dt-bindings/power/mt8173-power.h |
13 | - include/dt-bindings/power/mt6797-power.h | 13 | - include/dt-bindings/power/mt6797-power.h |
14 | - include/dt-bindings/power/mt2701-power.h | 14 | - include/dt-bindings/power/mt2701-power.h |
15 | - include/dt-bindings/power/mt2712-power.h | ||
15 | - include/dt-bindings/power/mt7622-power.h | 16 | - include/dt-bindings/power/mt7622-power.h |
16 | 17 | ||
17 | Required properties: | 18 | Required properties: |
18 | - compatible: Should be one of: | 19 | - compatible: Should be one of: |
19 | - "mediatek,mt2701-scpsys" | 20 | - "mediatek,mt2701-scpsys" |
21 | - "mediatek,mt2712-scpsys" | ||
20 | - "mediatek,mt6797-scpsys" | 22 | - "mediatek,mt6797-scpsys" |
21 | - "mediatek,mt7622-scpsys" | 23 | - "mediatek,mt7622-scpsys" |
22 | - "mediatek,mt8173-scpsys" | 24 | - "mediatek,mt8173-scpsys" |
@@ -27,6 +29,7 @@ Required properties: | |||
27 | These are clocks which hardware needs to be | 29 | These are clocks which hardware needs to be |
28 | enabled before enabling certain power domains. | 30 | enabled before enabling certain power domains. |
29 | Required clocks for MT2701: "mm", "mfg", "ethif" | 31 | Required clocks for MT2701: "mm", "mfg", "ethif" |
32 | Required clocks for MT2712: "mm", "mfg", "venc", "jpgdec", "audio", "vdec" | ||
30 | Required clocks for MT6797: "mm", "mfg", "vdec" | 33 | Required clocks for MT6797: "mm", "mfg", "vdec" |
31 | Required clocks for MT7622: "hif_sel" | 34 | Required clocks for MT7622: "hif_sel" |
32 | Required clocks for MT8173: "mm", "mfg", "venc", "venc_lt" | 35 | Required clocks for MT8173: "mm", "mfg", "venc", "venc_lt" |
diff --git a/arch/arm64/boot/dts/mediatek/mt2712-evb.dts b/arch/arm64/boot/dts/mediatek/mt2712-evb.dts index 8c804df3da4e..10f9c76cd105 100644 --- a/arch/arm64/boot/dts/mediatek/mt2712-evb.dts +++ b/arch/arm64/boot/dts/mediatek/mt2712-evb.dts | |||
@@ -24,6 +24,33 @@ | |||
24 | chosen { | 24 | chosen { |
25 | stdout-path = "serial0:921600n8"; | 25 | stdout-path = "serial0:921600n8"; |
26 | }; | 26 | }; |
27 | |||
28 | cpus_fixed_vproc0: fixedregulator@0 { | ||
29 | compatible = "regulator-fixed"; | ||
30 | regulator-name = "vproc_buck0"; | ||
31 | regulator-min-microvolt = <1000000>; | ||
32 | regulator-max-microvolt = <1000000>; | ||
33 | }; | ||
34 | |||
35 | cpus_fixed_vproc1: fixedregulator@1 { | ||
36 | compatible = "regulator-fixed"; | ||
37 | regulator-name = "vproc_buck1"; | ||
38 | regulator-min-microvolt = <1000000>; | ||
39 | regulator-max-microvolt = <1000000>; | ||
40 | }; | ||
41 | |||
42 | }; | ||
43 | |||
44 | &cpu0 { | ||
45 | proc-supply = <&cpus_fixed_vproc0>; | ||
46 | }; | ||
47 | |||
48 | &cpu1 { | ||
49 | proc-supply = <&cpus_fixed_vproc0>; | ||
50 | }; | ||
51 | |||
52 | &cpu2 { | ||
53 | proc-supply = <&cpus_fixed_vproc1>; | ||
27 | }; | 54 | }; |
28 | 55 | ||
29 | &uart0 { | 56 | &uart0 { |
diff --git a/arch/arm64/boot/dts/mediatek/mt2712e.dtsi b/arch/arm64/boot/dts/mediatek/mt2712e.dtsi index 5d4e406bb35d..fdf66f4fe7c3 100644 --- a/arch/arm64/boot/dts/mediatek/mt2712e.dtsi +++ b/arch/arm64/boot/dts/mediatek/mt2712e.dtsi | |||
@@ -5,8 +5,10 @@ | |||
5 | * SPDX-License-Identifier: (GPL-2.0 OR MIT) | 5 | * SPDX-License-Identifier: (GPL-2.0 OR MIT) |
6 | */ | 6 | */ |
7 | 7 | ||
8 | #include <dt-bindings/clock/mt2712-clk.h> | ||
8 | #include <dt-bindings/interrupt-controller/irq.h> | 9 | #include <dt-bindings/interrupt-controller/irq.h> |
9 | #include <dt-bindings/interrupt-controller/arm-gic.h> | 10 | #include <dt-bindings/interrupt-controller/arm-gic.h> |
11 | #include <dt-bindings/power/mt2712-power.h> | ||
10 | 12 | ||
11 | / { | 13 | / { |
12 | compatible = "mediatek,mt2712"; | 14 | compatible = "mediatek,mt2712"; |
@@ -14,6 +16,48 @@ | |||
14 | #address-cells = <2>; | 16 | #address-cells = <2>; |
15 | #size-cells = <2>; | 17 | #size-cells = <2>; |
16 | 18 | ||
19 | cluster0_opp: opp_table0 { | ||
20 | compatible = "operating-points-v2"; | ||
21 | opp-shared; | ||
22 | opp00 { | ||
23 | opp-hz = /bits/ 64 <598000000>; | ||
24 | opp-microvolt = <1000000>; | ||
25 | }; | ||
26 | opp01 { | ||
27 | opp-hz = /bits/ 64 <702000000>; | ||
28 | opp-microvolt = <1000000>; | ||
29 | }; | ||
30 | opp02 { | ||
31 | opp-hz = /bits/ 64 <793000000>; | ||
32 | opp-microvolt = <1000000>; | ||
33 | }; | ||
34 | }; | ||
35 | |||
36 | cluster1_opp: opp_table1 { | ||
37 | compatible = "operating-points-v2"; | ||
38 | opp-shared; | ||
39 | opp00 { | ||
40 | opp-hz = /bits/ 64 <598000000>; | ||
41 | opp-microvolt = <1000000>; | ||
42 | }; | ||
43 | opp01 { | ||
44 | opp-hz = /bits/ 64 <702000000>; | ||
45 | opp-microvolt = <1000000>; | ||
46 | }; | ||
47 | opp02 { | ||
48 | opp-hz = /bits/ 64 <793000000>; | ||
49 | opp-microvolt = <1000000>; | ||
50 | }; | ||
51 | opp03 { | ||
52 | opp-hz = /bits/ 64 <897000000>; | ||
53 | opp-microvolt = <1000000>; | ||
54 | }; | ||
55 | opp04 { | ||
56 | opp-hz = /bits/ 64 <1001000000>; | ||
57 | opp-microvolt = <1000000>; | ||
58 | }; | ||
59 | }; | ||
60 | |||
17 | cpus { | 61 | cpus { |
18 | #address-cells = <1>; | 62 | #address-cells = <1>; |
19 | #size-cells = <0>; | 63 | #size-cells = <0>; |
@@ -39,6 +83,11 @@ | |||
39 | device_type = "cpu"; | 83 | device_type = "cpu"; |
40 | compatible = "arm,cortex-a35"; | 84 | compatible = "arm,cortex-a35"; |
41 | reg = <0x000>; | 85 | reg = <0x000>; |
86 | clocks = <&mcucfg CLK_MCU_MP0_SEL>, | ||
87 | <&topckgen CLK_TOP_F_MP0_PLL1>; | ||
88 | clock-names = "cpu", "intermediate"; | ||
89 | proc-supply = <&cpus_fixed_vproc0>; | ||
90 | operating-points-v2 = <&cluster0_opp>; | ||
42 | cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>; | 91 | cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>; |
43 | }; | 92 | }; |
44 | 93 | ||
@@ -47,6 +96,11 @@ | |||
47 | compatible = "arm,cortex-a35"; | 96 | compatible = "arm,cortex-a35"; |
48 | reg = <0x001>; | 97 | reg = <0x001>; |
49 | enable-method = "psci"; | 98 | enable-method = "psci"; |
99 | clocks = <&mcucfg CLK_MCU_MP0_SEL>, | ||
100 | <&topckgen CLK_TOP_F_MP0_PLL1>; | ||
101 | clock-names = "cpu", "intermediate"; | ||
102 | proc-supply = <&cpus_fixed_vproc0>; | ||
103 | operating-points-v2 = <&cluster0_opp>; | ||
50 | cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>; | 104 | cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>; |
51 | }; | 105 | }; |
52 | 106 | ||
@@ -55,6 +109,11 @@ | |||
55 | compatible = "arm,cortex-a72"; | 109 | compatible = "arm,cortex-a72"; |
56 | reg = <0x200>; | 110 | reg = <0x200>; |
57 | enable-method = "psci"; | 111 | enable-method = "psci"; |
112 | clocks = <&mcucfg CLK_MCU_MP2_SEL>, | ||
113 | <&topckgen CLK_TOP_F_BIG_PLL1>; | ||
114 | clock-names = "cpu", "intermediate"; | ||
115 | proc-supply = <&cpus_fixed_vproc1>; | ||
116 | operating-points-v2 = <&cluster1_opp>; | ||
58 | cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>; | 117 | cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>; |
59 | }; | 118 | }; |
60 | 119 | ||
@@ -98,6 +157,48 @@ | |||
98 | #clock-cells = <0>; | 157 | #clock-cells = <0>; |
99 | }; | 158 | }; |
100 | 159 | ||
160 | clk26m: oscillator@0 { | ||
161 | compatible = "fixed-clock"; | ||
162 | #clock-cells = <0>; | ||
163 | clock-frequency = <26000000>; | ||
164 | clock-output-names = "clk26m"; | ||
165 | }; | ||
166 | |||
167 | clk32k: oscillator@1 { | ||
168 | compatible = "fixed-clock"; | ||
169 | #clock-cells = <0>; | ||
170 | clock-frequency = <32768>; | ||
171 | clock-output-names = "clk32k"; | ||
172 | }; | ||
173 | |||
174 | clkfpc: oscillator@2 { | ||
175 | compatible = "fixed-clock"; | ||
176 | #clock-cells = <0>; | ||
177 | clock-frequency = <50000000>; | ||
178 | clock-output-names = "clkfpc"; | ||
179 | }; | ||
180 | |||
181 | clkaud_ext_i_0: oscillator@3 { | ||
182 | compatible = "fixed-clock"; | ||
183 | #clock-cells = <0>; | ||
184 | clock-frequency = <6500000>; | ||
185 | clock-output-names = "clkaud_ext_i_0"; | ||
186 | }; | ||
187 | |||
188 | clkaud_ext_i_1: oscillator@4 { | ||
189 | compatible = "fixed-clock"; | ||
190 | #clock-cells = <0>; | ||
191 | clock-frequency = <196608000>; | ||
192 | clock-output-names = "clkaud_ext_i_1"; | ||
193 | }; | ||
194 | |||
195 | clkaud_ext_i_2: oscillator@5 { | ||
196 | compatible = "fixed-clock"; | ||
197 | #clock-cells = <0>; | ||
198 | clock-frequency = <180633600>; | ||
199 | clock-output-names = "clkaud_ext_i_2"; | ||
200 | }; | ||
201 | |||
101 | timer { | 202 | timer { |
102 | compatible = "arm,armv8-timer"; | 203 | compatible = "arm,armv8-timer"; |
103 | interrupt-parent = <&gic>; | 204 | interrupt-parent = <&gic>; |
@@ -111,6 +212,39 @@ | |||
111 | (GIC_CPU_MASK_RAW(0x13) | IRQ_TYPE_LEVEL_LOW)>; | 212 | (GIC_CPU_MASK_RAW(0x13) | IRQ_TYPE_LEVEL_LOW)>; |
112 | }; | 213 | }; |
113 | 214 | ||
215 | topckgen: syscon@10000000 { | ||
216 | compatible = "mediatek,mt2712-topckgen", "syscon"; | ||
217 | reg = <0 0x10000000 0 0x1000>; | ||
218 | #clock-cells = <1>; | ||
219 | }; | ||
220 | |||
221 | infracfg: syscon@10001000 { | ||
222 | compatible = "mediatek,mt2712-infracfg", "syscon"; | ||
223 | reg = <0 0x10001000 0 0x1000>; | ||
224 | #clock-cells = <1>; | ||
225 | }; | ||
226 | |||
227 | pericfg: syscon@10003000 { | ||
228 | compatible = "mediatek,mt2712-pericfg", "syscon"; | ||
229 | reg = <0 0x10003000 0 0x1000>; | ||
230 | #clock-cells = <1>; | ||
231 | }; | ||
232 | |||
233 | scpsys: scpsys@10006000 { | ||
234 | compatible = "mediatek,mt2712-scpsys", "syscon"; | ||
235 | #power-domain-cells = <1>; | ||
236 | reg = <0 0x10006000 0 0x1000>; | ||
237 | clocks = <&topckgen CLK_TOP_MM_SEL>, | ||
238 | <&topckgen CLK_TOP_MFG_SEL>, | ||
239 | <&topckgen CLK_TOP_VENC_SEL>, | ||
240 | <&topckgen CLK_TOP_JPGDEC_SEL>, | ||
241 | <&topckgen CLK_TOP_A1SYS_HP_SEL>, | ||
242 | <&topckgen CLK_TOP_VDEC_SEL>; | ||
243 | clock-names = "mm", "mfg", "venc", | ||
244 | "jpgdec", "audio", "vdec"; | ||
245 | infracfg = <&infracfg>; | ||
246 | }; | ||
247 | |||
114 | uart5: serial@1000f000 { | 248 | uart5: serial@1000f000 { |
115 | compatible = "mediatek,mt2712-uart", | 249 | compatible = "mediatek,mt2712-uart", |
116 | "mediatek,mt6577-uart"; | 250 | "mediatek,mt6577-uart"; |
@@ -121,6 +255,18 @@ | |||
121 | status = "disabled"; | 255 | status = "disabled"; |
122 | }; | 256 | }; |
123 | 257 | ||
258 | apmixedsys: syscon@10209000 { | ||
259 | compatible = "mediatek,mt2712-apmixedsys", "syscon"; | ||
260 | reg = <0 0x10209000 0 0x1000>; | ||
261 | #clock-cells = <1>; | ||
262 | }; | ||
263 | |||
264 | mcucfg: syscon@10220000 { | ||
265 | compatible = "mediatek,mt2712-mcucfg", "syscon"; | ||
266 | reg = <0 0x10220000 0 0x1000>; | ||
267 | #clock-cells = <1>; | ||
268 | }; | ||
269 | |||
124 | sysirq: interrupt-controller@10220a80 { | 270 | sysirq: interrupt-controller@10220a80 { |
125 | compatible = "mediatek,mt2712-sysirq", | 271 | compatible = "mediatek,mt2712-sysirq", |
126 | "mediatek,mt6577-sysirq"; | 272 | "mediatek,mt6577-sysirq"; |
@@ -192,5 +338,47 @@ | |||
192 | clock-names = "baud", "bus"; | 338 | clock-names = "baud", "bus"; |
193 | status = "disabled"; | 339 | status = "disabled"; |
194 | }; | 340 | }; |
341 | |||
342 | mfgcfg: syscon@13000000 { | ||
343 | compatible = "mediatek,mt2712-mfgcfg", "syscon"; | ||
344 | reg = <0 0x13000000 0 0x1000>; | ||
345 | #clock-cells = <1>; | ||
346 | }; | ||
347 | |||
348 | mmsys: syscon@14000000 { | ||
349 | compatible = "mediatek,mt2712-mmsys", "syscon"; | ||
350 | reg = <0 0x14000000 0 0x1000>; | ||
351 | #clock-cells = <1>; | ||
352 | }; | ||
353 | |||
354 | imgsys: syscon@15000000 { | ||
355 | compatible = "mediatek,mt2712-imgsys", "syscon"; | ||
356 | reg = <0 0x15000000 0 0x1000>; | ||
357 | #clock-cells = <1>; | ||
358 | }; | ||
359 | |||
360 | bdpsys: syscon@15010000 { | ||
361 | compatible = "mediatek,mt2712-bdpsys", "syscon"; | ||
362 | reg = <0 0x15010000 0 0x1000>; | ||
363 | #clock-cells = <1>; | ||
364 | }; | ||
365 | |||
366 | vdecsys: syscon@16000000 { | ||
367 | compatible = "mediatek,mt2712-vdecsys", "syscon"; | ||
368 | reg = <0 0x16000000 0 0x1000>; | ||
369 | #clock-cells = <1>; | ||
370 | }; | ||
371 | |||
372 | vencsys: syscon@18000000 { | ||
373 | compatible = "mediatek,mt2712-vencsys", "syscon"; | ||
374 | reg = <0 0x18000000 0 0x1000>; | ||
375 | #clock-cells = <1>; | ||
376 | }; | ||
377 | |||
378 | jpgdecsys: syscon@19000000 { | ||
379 | compatible = "mediatek,mt2712-jpgdecsys", "syscon"; | ||
380 | reg = <0 0x19000000 0 0x1000>; | ||
381 | #clock-cells = <1>; | ||
382 | }; | ||
195 | }; | 383 | }; |
196 | 384 | ||
diff --git a/arch/arm64/boot/dts/mediatek/mt8173-evb.dts b/arch/arm64/boot/dts/mediatek/mt8173-evb.dts index 1c3634fa94bf..369dfcdd2f97 100644 --- a/arch/arm64/boot/dts/mediatek/mt8173-evb.dts +++ b/arch/arm64/boot/dts/mediatek/mt8173-evb.dts | |||
@@ -74,6 +74,24 @@ | |||
74 | status = "okay"; | 74 | status = "okay"; |
75 | }; | 75 | }; |
76 | 76 | ||
77 | &cpu0 { | ||
78 | proc-supply = <&mt6397_vpca15_reg>; | ||
79 | }; | ||
80 | |||
81 | &cpu1 { | ||
82 | proc-supply = <&mt6397_vpca15_reg>; | ||
83 | }; | ||
84 | |||
85 | &cpu2 { | ||
86 | proc-supply = <&da9211_vcpu_reg>; | ||
87 | sram-supply = <&mt6397_vsramca7_reg>; | ||
88 | }; | ||
89 | |||
90 | &cpu3 { | ||
91 | proc-supply = <&da9211_vcpu_reg>; | ||
92 | sram-supply = <&mt6397_vsramca7_reg>; | ||
93 | }; | ||
94 | |||
77 | &dpi0 { | 95 | &dpi0 { |
78 | status = "okay"; | 96 | status = "okay"; |
79 | }; | 97 | }; |
diff --git a/arch/arm64/boot/dts/mediatek/mt8173.dtsi b/arch/arm64/boot/dts/mediatek/mt8173.dtsi index 26396ef53bde..31bc593cc71b 100644 --- a/arch/arm64/boot/dts/mediatek/mt8173.dtsi +++ b/arch/arm64/boot/dts/mediatek/mt8173.dtsi | |||
@@ -51,6 +51,80 @@ | |||
51 | mdp_wrot1 = &mdp_wrot1; | 51 | mdp_wrot1 = &mdp_wrot1; |
52 | }; | 52 | }; |
53 | 53 | ||
54 | cluster0_opp: opp_table0 { | ||
55 | compatible = "operating-points-v2"; | ||
56 | opp-shared; | ||
57 | opp-507000000 { | ||
58 | opp-hz = /bits/ 64 <507000000>; | ||
59 | opp-microvolt = <859000>; | ||
60 | }; | ||
61 | opp-702000000 { | ||
62 | opp-hz = /bits/ 64 <702000000>; | ||
63 | opp-microvolt = <908000>; | ||
64 | }; | ||
65 | opp-1001000000 { | ||
66 | opp-hz = /bits/ 64 <1001000000>; | ||
67 | opp-microvolt = <983000>; | ||
68 | }; | ||
69 | opp-1105000000 { | ||
70 | opp-hz = /bits/ 64 <1105000000>; | ||
71 | opp-microvolt = <1009000>; | ||
72 | }; | ||
73 | opp-1209000000 { | ||
74 | opp-hz = /bits/ 64 <1209000000>; | ||
75 | opp-microvolt = <1034000>; | ||
76 | }; | ||
77 | opp-1300000000 { | ||
78 | opp-hz = /bits/ 64 <1300000000>; | ||
79 | opp-microvolt = <1057000>; | ||
80 | }; | ||
81 | opp-1508000000 { | ||
82 | opp-hz = /bits/ 64 <1508000000>; | ||
83 | opp-microvolt = <1109000>; | ||
84 | }; | ||
85 | opp-1703000000 { | ||
86 | opp-hz = /bits/ 64 <1703000000>; | ||
87 | opp-microvolt = <1125000>; | ||
88 | }; | ||
89 | }; | ||
90 | |||
91 | cluster1_opp: opp_table1 { | ||
92 | compatible = "operating-points-v2"; | ||
93 | opp-shared; | ||
94 | opp-507000000 { | ||
95 | opp-hz = /bits/ 64 <507000000>; | ||
96 | opp-microvolt = <828000>; | ||
97 | }; | ||
98 | opp-702000000 { | ||
99 | opp-hz = /bits/ 64 <702000000>; | ||
100 | opp-microvolt = <867000>; | ||
101 | }; | ||
102 | opp-1001000000 { | ||
103 | opp-hz = /bits/ 64 <1001000000>; | ||
104 | opp-microvolt = <927000>; | ||
105 | }; | ||
106 | opp-1209000000 { | ||
107 | opp-hz = /bits/ 64 <1209000000>; | ||
108 | opp-microvolt = <968000>; | ||
109 | }; | ||
110 | opp-1404000000 { | ||
111 | opp-hz = /bits/ 64 <1404000000>; | ||
112 | opp-microvolt = <1007000>; | ||
113 | }; | ||
114 | opp-1612000000 { | ||
115 | opp-hz = /bits/ 64 <1612000000>; | ||
116 | opp-microvolt = <1049000>; | ||
117 | }; | ||
118 | opp-1807000000 { | ||
119 | opp-hz = /bits/ 64 <1807000000>; | ||
120 | opp-microvolt = <1089000>; | ||
121 | }; | ||
122 | opp-2106000000 { | ||
123 | opp-hz = /bits/ 64 <2106000000>; | ||
124 | opp-microvolt = <1125000>; | ||
125 | }; | ||
126 | }; | ||
127 | |||
54 | cpus { | 128 | cpus { |
55 | #address-cells = <1>; | 129 | #address-cells = <1>; |
56 | #size-cells = <0>; | 130 | #size-cells = <0>; |
@@ -81,6 +155,10 @@ | |||
81 | reg = <0x000>; | 155 | reg = <0x000>; |
82 | enable-method = "psci"; | 156 | enable-method = "psci"; |
83 | cpu-idle-states = <&CPU_SLEEP_0>; | 157 | cpu-idle-states = <&CPU_SLEEP_0>; |
158 | clocks = <&infracfg CLK_INFRA_CA53SEL>, | ||
159 | <&apmixedsys CLK_APMIXED_MAINPLL>; | ||
160 | clock-names = "cpu", "intermediate"; | ||
161 | operating-points-v2 = <&cluster0_opp>; | ||
84 | }; | 162 | }; |
85 | 163 | ||
86 | cpu1: cpu@1 { | 164 | cpu1: cpu@1 { |
@@ -89,6 +167,10 @@ | |||
89 | reg = <0x001>; | 167 | reg = <0x001>; |
90 | enable-method = "psci"; | 168 | enable-method = "psci"; |
91 | cpu-idle-states = <&CPU_SLEEP_0>; | 169 | cpu-idle-states = <&CPU_SLEEP_0>; |
170 | clocks = <&infracfg CLK_INFRA_CA53SEL>, | ||
171 | <&apmixedsys CLK_APMIXED_MAINPLL>; | ||
172 | clock-names = "cpu", "intermediate"; | ||
173 | operating-points-v2 = <&cluster0_opp>; | ||
92 | }; | 174 | }; |
93 | 175 | ||
94 | cpu2: cpu@100 { | 176 | cpu2: cpu@100 { |
@@ -97,6 +179,10 @@ | |||
97 | reg = <0x100>; | 179 | reg = <0x100>; |
98 | enable-method = "psci"; | 180 | enable-method = "psci"; |
99 | cpu-idle-states = <&CPU_SLEEP_0>; | 181 | cpu-idle-states = <&CPU_SLEEP_0>; |
182 | clocks = <&infracfg CLK_INFRA_CA57SEL>, | ||
183 | <&apmixedsys CLK_APMIXED_MAINPLL>; | ||
184 | clock-names = "cpu", "intermediate"; | ||
185 | operating-points-v2 = <&cluster1_opp>; | ||
100 | }; | 186 | }; |
101 | 187 | ||
102 | cpu3: cpu@101 { | 188 | cpu3: cpu@101 { |
@@ -105,6 +191,10 @@ | |||
105 | reg = <0x101>; | 191 | reg = <0x101>; |
106 | enable-method = "psci"; | 192 | enable-method = "psci"; |
107 | cpu-idle-states = <&CPU_SLEEP_0>; | 193 | cpu-idle-states = <&CPU_SLEEP_0>; |
194 | clocks = <&infracfg CLK_INFRA_CA57SEL>, | ||
195 | <&apmixedsys CLK_APMIXED_MAINPLL>; | ||
196 | clock-names = "cpu", "intermediate"; | ||
197 | operating-points-v2 = <&cluster1_opp>; | ||
108 | }; | 198 | }; |
109 | 199 | ||
110 | idle-states { | 200 | idle-states { |
diff --git a/include/dt-bindings/power/mt2712-power.h b/include/dt-bindings/power/mt2712-power.h new file mode 100644 index 000000000000..92b46d772fae --- /dev/null +++ b/include/dt-bindings/power/mt2712-power.h | |||
@@ -0,0 +1,26 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2017 MediaTek Inc. | ||
3 | * | ||
4 | * This program is free software; you can redistribute it and/or modify | ||
5 | * it under the terms of the GNU General Public License version 2 as | ||
6 | * published by the Free Software Foundation. | ||
7 | * | ||
8 | * This program is distributed in the hope that it will be useful, | ||
9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | ||
11 | * See http://www.gnu.org/licenses/gpl-2.0.html for more details. | ||
12 | */ | ||
13 | |||
14 | #ifndef _DT_BINDINGS_POWER_MT2712_POWER_H | ||
15 | #define _DT_BINDINGS_POWER_MT2712_POWER_H | ||
16 | |||
17 | #define MT2712_POWER_DOMAIN_MM 0 | ||
18 | #define MT2712_POWER_DOMAIN_VDEC 1 | ||
19 | #define MT2712_POWER_DOMAIN_VENC 2 | ||
20 | #define MT2712_POWER_DOMAIN_ISP 3 | ||
21 | #define MT2712_POWER_DOMAIN_AUDIO 4 | ||
22 | #define MT2712_POWER_DOMAIN_USB 5 | ||
23 | #define MT2712_POWER_DOMAIN_USB2 6 | ||
24 | #define MT2712_POWER_DOMAIN_MFG 7 | ||
25 | |||
26 | #endif /* _DT_BINDINGS_POWER_MT2712_POWER_H */ | ||