1 // SPDX-License-Identifier: GPL-2.0
2 /*
3 * dts file for Hisilicon Hi3660 SoC
4 *
5 * Copyright (C) 2016, HiSilicon Ltd.
6 */
7
8 #include <dt-bindings/interrupt-controller/arm-gic.h>
9 #include <dt-bindings/clock/hi3660-clock.h>
10 #include <dt-bindings/thermal/thermal.h>
11
12 / {
13 compatible = "hisilicon,hi3660";
14 interrupt-parent = <&gic>;
15 #address-cells = <2>;
16 #size-cells = <2>;
17
18 psci {
19 compatible = "arm,psci-0.2";
20 method = "smc";
21 };
22
23 cpus {
24 #address-cells = <2>;
25 #size-cells = <0>;
26
27 cpu-map {
28 cluster0 {
29 core0 {
30 cpu = <&cpu0>;
31 };
32 core1 {
33 cpu = <&cpu1>;
34 };
35 core2 {
36 cpu = <&cpu2>;
37 };
38 core3 {
39 cpu = <&cpu3>;
40 };
41 };
42 cluster1 {
43 core0 {
44 cpu = <&cpu4>;
45 };
46 core1 {
47 cpu = <&cpu5>;
48 };
49 core2 {
50 cpu = <&cpu6>;
51 };
52 core3 {
53 cpu = <&cpu7>;
54 };
55 };
56 };
57
58 cpu0: cpu@0 {
59 compatible = "arm,cortex-a53";
60 device_type = "cpu";
61 reg = <0x0 0x0>;
62 enable-method = "psci";
63 next-level-cache = <&A53_L2>;
64 cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>;
65 capacity-dmips-mhz = <592>;
66 clocks = <&stub_clock HI3660_CLK_STUB_CLUSTER0>;
67 operating-points-v2 = <&cluster0_opp>;
68 #cooling-cells = <2>;
69 dynamic-power-coefficient = <110>;
70 };
71
72 cpu1: cpu@1 {
73 compatible = "arm,cortex-a53";
74 device_type = "cpu";
75 reg = <0x0 0x1>;
76 enable-method = "psci";
77 next-level-cache = <&A53_L2>;
78 cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>;
79 capacity-dmips-mhz = <592>;
80 clocks = <&stub_clock HI3660_CLK_STUB_CLUSTER0>;
81 operating-points-v2 = <&cluster0_opp>;
82 #cooling-cells = <2>;
83 };
84
85 cpu2: cpu@2 {
86 compatible = "arm,cortex-a53";
87 device_type = "cpu";
88 reg = <0x0 0x2>;
89 enable-method = "psci";
90 next-level-cache = <&A53_L2>;
91 cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>;
92 capacity-dmips-mhz = <592>;
93 clocks = <&stub_clock HI3660_CLK_STUB_CLUSTER0>;
94 operating-points-v2 = <&cluster0_opp>;
95 #cooling-cells = <2>;
96 };
97
98 cpu3: cpu@3 {
99 compatible = "arm,cortex-a53";
100 device_type = "cpu";
101 reg = <0x0 0x3>;
102 enable-method = "psci";
103 next-level-cache = <&A53_L2>;
104 cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>;
105 capacity-dmips-mhz = <592>;
106 clocks = <&stub_clock HI3660_CLK_STUB_CLUSTER0>;
107 operating-points-v2 = <&cluster0_opp>;
108 #cooling-cells = <2>;
109 };
110
111 cpu4: cpu@100 {
112 compatible = "arm,cortex-a73";
113 device_type = "cpu";
114 reg = <0x0 0x100>;
115 enable-method = "psci";
116 next-level-cache = <&A73_L2>;
117 cpu-idle-states = <&CPU_SLEEP_1 &CLUSTER_SLEEP_1>;
118 capacity-dmips-mhz = <1024>;
119 clocks = <&stub_clock HI3660_CLK_STUB_CLUSTER1>;
120 operating-points-v2 = <&cluster1_opp>;
121 #cooling-cells = <2>;
122 dynamic-power-coefficient = <550>;
123 };
124
125 cpu5: cpu@101 {
126 compatible = "arm,cortex-a73";
127 device_type = "cpu";
128 reg = <0x0 0x101>;
129 enable-method = "psci";
130 next-level-cache = <&A73_L2>;
131 cpu-idle-states = <&CPU_SLEEP_1 &CLUSTER_SLEEP_1>;
132 capacity-dmips-mhz = <1024>;
133 clocks = <&stub_clock HI3660_CLK_STUB_CLUSTER1>;
134 operating-points-v2 = <&cluster1_opp>;
135 #cooling-cells = <2>;
136 };
137
138 cpu6: cpu@102 {
139 compatible = "arm,cortex-a73";
140 device_type = "cpu";
141 reg = <0x0 0x102>;
142 enable-method = "psci";
143 next-level-cache = <&A73_L2>;
144 cpu-idle-states = <&CPU_SLEEP_1 &CLUSTER_SLEEP_1>;
145 capacity-dmips-mhz = <1024>;
146 clocks = <&stub_clock HI3660_CLK_STUB_CLUSTER1>;
147 operating-points-v2 = <&cluster1_opp>;
148 #cooling-cells = <2>;
149 };
150
151 cpu7: cpu@103 {
152 compatible = "arm,cortex-a73";
153 device_type = "cpu";
154 reg = <0x0 0x103>;
155 enable-method = "psci";
156 next-level-cache = <&A73_L2>;
157 cpu-idle-states = <&CPU_SLEEP_1 &CLUSTER_SLEEP_1>;
158 capacity-dmips-mhz = <1024>;
159 clocks = <&stub_clock HI3660_CLK_STUB_CLUSTER1>;
160 operating-points-v2 = <&cluster1_opp>;
161 #cooling-cells = <2>;
162 };
163
164 idle-states {
165 entry-method = "psci";
166
167 CPU_SLEEP_0: cpu-sleep-0 {
168 compatible = "arm,idle-state";
169 local-timer-stop;
170 arm,psci-suspend-param = <0x0010000>;
171 entry-latency-us = <400>;
172 exit-latency-us = <650>;
173 min-residency-us = <1500>;
174 };
175 CLUSTER_SLEEP_0: cluster-sleep-0 {
176 compatible = "arm,idle-state";
177 local-timer-stop;
178 arm,psci-suspend-param = <0x1010000>;
179 entry-latency-us = <500>;
180 exit-latency-us = <1600>;
181 min-residency-us = <3500>;
182 };
183
184
185 CPU_SLEEP_1: cpu-sleep-1 {
186 compatible = "arm,idle-state";
187 local-timer-stop;
188 arm,psci-suspend-param = <0x0010000>;
189 entry-latency-us = <400>;
190 exit-latency-us = <550>;
191 min-residency-us = <1500>;
192 };
193
194 CLUSTER_SLEEP_1: cluster-sleep-1 {
195 compatible = "arm,idle-state";
196 local-timer-stop;
197 arm,psci-suspend-param = <0x1010000>;
198 entry-latency-us = <800>;
199 exit-latency-us = <2900>;
200 min-residency-us = <3500>;
201 };
202 };
203
204 A53_L2: l2-cache0 {
205 compatible = "cache";
206 };
207
208 A73_L2: l2-cache1 {
209 compatible = "cache";
210 };
211 };
212
213 cluster0_opp: opp-table-0 {
214 compatible = "operating-points-v2";
215 opp-shared;
216
217 opp00 {
218 opp-hz = /bits/ 64 <533000000>;
219 opp-microvolt = <700000>;
220 clock-latency-ns = <300000>;
221 };
222
223 opp01 {
224 opp-hz = /bits/ 64 <999000000>;
225 opp-microvolt = <800000>;
226 clock-latency-ns = <300000>;
227 };
228
229 opp02 {
230 opp-hz = /bits/ 64 <1402000000>;
231 opp-microvolt = <900000>;
232 clock-latency-ns = <300000>;
233 };
234
235 opp03 {
236 opp-hz = /bits/ 64 <1709000000>;
237 opp-microvolt = <1000000>;
238 clock-latency-ns = <300000>;
239 };
240
241 opp04 {
242 opp-hz = /bits/ 64 <1844000000>;
243 opp-microvolt = <1100000>;
244 clock-latency-ns = <300000>;
245 };
246 };
247
248 cluster1_opp: opp-table-1 {
249 compatible = "operating-points-v2";
250 opp-shared;
251
252 opp10 {
253 opp-hz = /bits/ 64 <903000000>;
254 opp-microvolt = <700000>;
255 clock-latency-ns = <300000>;
256 };
257
258 opp11 {
259 opp-hz = /bits/ 64 <1421000000>;
260 opp-microvolt = <800000>;
261 clock-latency-ns = <300000>;
262 };
263
264 opp12 {
265 opp-hz = /bits/ 64 <1805000000>;
266 opp-microvolt = <900000>;
267 clock-latency-ns = <300000>;
268 };
269
270 opp13 {
271 opp-hz = /bits/ 64 <2112000000>;
272 opp-microvolt = <1000000>;
273 clock-latency-ns = <300000>;
274 };
275
276 opp14 {
277 opp-hz = /bits/ 64 <2362000000>;
278 opp-microvolt = <1100000>;
279 clock-latency-ns = <300000>;
280 };
281 };
282
283 gic: interrupt-controller@e82b0000 {
284 compatible = "arm,gic-400";
285 reg = <0x0 0xe82b1000 0 0x1000>, /* GICD */
286 <0x0 0xe82b2000 0 0x2000>, /* GICC */
287 <0x0 0xe82b4000 0 0x2000>, /* GICH */
288 <0x0 0xe82b6000 0 0x2000>; /* GICV */
289 #address-cells = <0>;
290 #interrupt-cells = <3>;
291 interrupt-controller;
292 interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(8) |
293 IRQ_TYPE_LEVEL_HIGH)>;
294 };
295
296 a53-pmu {
297 compatible = "arm,cortex-a53-pmu";
298 interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>,
299 <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>,
300 <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>,
301 <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>;
302 interrupt-affinity = <&cpu0>,
303 <&cpu1>,
304 <&cpu2>,
305 <&cpu3>;
306 };
307
308 a73-pmu {
309 compatible = "arm,cortex-a73-pmu";
310 interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>,
311 <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>,
312 <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
313 <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
314 interrupt-affinity = <&cpu4>,
315 <&cpu5>,
316 <&cpu6>,
317 <&cpu7>;
318 };
319
320 timer {
321 compatible = "arm,armv8-timer";
322 interrupt-parent = <&gic>;
323 interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(8) |
324 IRQ_TYPE_LEVEL_LOW)>,
325 <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(8) |
326 IRQ_TYPE_LEVEL_LOW)>,
327 <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(8) |
328 IRQ_TYPE_LEVEL_LOW)>,
329 <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(8) |
330 IRQ_TYPE_LEVEL_LOW)>;
331 };
332
333 soc {
334 compatible = "simple-bus";
335 #address-cells = <2>;
336 #size-cells = <2>;
337 ranges;
338
339 crg_ctrl: crg_ctrl@fff35000 {
340 compatible = "hisilicon,hi3660-crgctrl", "syscon";
341 reg = <0x0 0xfff35000 0x0 0x1000>;
342 #clock-cells = <1>;
343 };
344
345 crg_rst: crg_rst_controller {
346 compatible = "hisilicon,hi3660-reset";
347 #reset-cells = <2>;
348 hisi,rst-syscon = <&crg_ctrl>;
349 };
350
351
352 pctrl: pctrl@e8a09000 {
353 compatible = "hisilicon,hi3660-pctrl", "syscon";
354 reg = <0x0 0xe8a09000 0x0 0x2000>;
355 #clock-cells = <1>;
356 };
357
358 pmuctrl: crg_ctrl@fff34000 {
359 compatible = "hisilicon,hi3660-pmuctrl", "syscon";
360 reg = <0x0 0xfff34000 0x0 0x1000>;
361 #clock-cells = <1>;
362 };
363
364 sctrl: sctrl@fff0a000 {
365 compatible = "hisilicon,hi3660-sctrl", "syscon";
366 reg = <0x0 0xfff0a000 0x0 0x1000>;
367 #clock-cells = <1>;
368 };
369
370 iomcu: iomcu@ffd7e000 {
371 compatible = "hisilicon,hi3660-iomcu", "syscon";
372 reg = <0x0 0xffd7e000 0x0 0x1000>;
373 #clock-cells = <1>;
374
375 };
376
377 iomcu_rst: reset {
378 compatible = "hisilicon,hi3660-reset";
379 hisi,rst-syscon = <&iomcu>;
380 #reset-cells = <2>;
381 };
382
383 mailbox: mailbox@e896b000 {
384 compatible = "hisilicon,hi3660-mbox";
385 reg = <0x0 0xe896b000 0x0 0x1000>;
386 interrupts = <GIC_SPI 192 IRQ_TYPE_LEVEL_HIGH>,
387 <GIC_SPI 193 IRQ_TYPE_LEVEL_HIGH>;
388 #mbox-cells = <3>;
389 };
390
391 stub_clock: stub_clock@e896b500 {
392 compatible = "hisilicon,hi3660-stub-clk";
393 reg = <0x0 0xe896b500 0x0 0x0100>;
394 #clock-cells = <1>;
395 mboxes = <&mailbox 13 3 0>;
396 };
397
398 dual_timer0: timer@fff14000 {
399 compatible = "arm,sp804", "arm,primecell";
400 reg = <0x0 0xfff14000 0x0 0x1000>;
401 interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>,
402 <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>;
403 clocks = <&crg_ctrl HI3660_OSC32K>,
404 <&crg_ctrl HI3660_OSC32K>,
405 <&crg_ctrl HI3660_OSC32K>;
406 clock-names = "timer1", "timer2", "apb_pclk";
407 };
408
409 i2c0: i2c@ffd71000 {
410 compatible = "snps,designware-i2c";
411 reg = <0x0 0xffd71000 0x0 0x1000>;
412 interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>;
413 #address-cells = <1>;
414 #size-cells = <0>;
415 clock-frequency = <400000>;
416 clocks = <&crg_ctrl HI3660_CLK_GATE_I2C0>;
417 resets = <&iomcu_rst 0x20 3>;
418 pinctrl-names = "default";
419 pinctrl-0 = <&i2c0_pmx_func &i2c0_cfg_func>;
420 status = "disabled";
421 };
422
423 i2c1: i2c@ffd72000 {
424 compatible = "snps,designware-i2c";
425 reg = <0x0 0xffd72000 0x0 0x1000>;
426 interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>;
427 #address-cells = <1>;
428 #size-cells = <0>;
429 clock-frequency = <400000>;
430 clocks = <&crg_ctrl HI3660_CLK_GATE_I2C1>;
431 resets = <&iomcu_rst 0x20 4>;
432 pinctrl-names = "default";
433 pinctrl-0 = <&i2c1_pmx_func &i2c1_cfg_func>;
434 status = "disabled";
435 };
436
437 i2c3: i2c@fdf0c000 {
438 compatible = "snps,designware-i2c";
439 reg = <0x0 0xfdf0c000 0x0 0x1000>;
440 interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>;
441 #address-cells = <1>;
442 #size-cells = <0>;
443 clock-frequency = <400000>;
444 clocks = <&crg_ctrl HI3660_CLK_GATE_I2C3>;
445 resets = <&crg_rst 0x78 7>;
446 pinctrl-names = "default";
447 pinctrl-0 = <&i2c3_pmx_func &i2c3_cfg_func>;
448 status = "disabled";
449 };
450
451 i2c7: i2c@fdf0b000 {
452 compatible = "snps,designware-i2c";
453 reg = <0x0 0xfdf0b000 0x0 0x1000>;
454 interrupts = <GIC_SPI 314 IRQ_TYPE_LEVEL_HIGH>;
455 #address-cells = <1>;
456 #size-cells = <0>;
457 clock-frequency = <400000>;
458 clocks = <&crg_ctrl HI3660_CLK_GATE_I2C7>;
459 resets = <&crg_rst 0x60 14>;
460 pinctrl-names = "default";
461 pinctrl-0 = <&i2c7_pmx_func &i2c7_cfg_func>;
462 status = "disabled";
463 };
464
465 uart0: serial@fdf02000 {
466 compatible = "arm,pl011", "arm,primecell";
467 reg = <0x0 0xfdf02000 0x0 0x1000>;
468 interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
469 clocks = <&crg_ctrl HI3660_CLK_MUX_UART0>,
470 <&crg_ctrl HI3660_PCLK>;
471 clock-names = "uartclk", "apb_pclk";
472 pinctrl-names = "default";
473 pinctrl-0 = <&uart0_pmx_func &uart0_cfg_func>;
474 status = "disabled";
475 };
476
477 uart1: serial@fdf00000 {
478 compatible = "arm,pl011", "arm,primecell";
479 reg = <0x0 0xfdf00000 0x0 0x1000>;
480 interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>;
481 dma-names = "rx", "tx";
482 dmas = <&dma0 2 &dma0 3>;
483 clocks = <&crg_ctrl HI3660_CLK_GATE_UART1>,
484 <&crg_ctrl HI3660_CLK_GATE_UART1>;
485 clock-names = "uartclk", "apb_pclk";
486 pinctrl-names = "default";
487 pinctrl-0 = <&uart1_pmx_func &uart1_cfg_func>;
488 status = "disabled";
489 };
490
491 uart2: serial@fdf03000 {
492 compatible = "arm,pl011", "arm,primecell";
493 reg = <0x0 0xfdf03000 0x0 0x1000>;
494 interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>;
495 dma-names = "rx", "tx";
496 dmas = <&dma0 4 &dma0 5>;
497 clocks = <&crg_ctrl HI3660_CLK_GATE_UART2>,
498 <&crg_ctrl HI3660_PCLK>;
499 clock-names = "uartclk", "apb_pclk";
500 pinctrl-names = "default";
501 pinctrl-0 = <&uart2_pmx_func &uart2_cfg_func>;
502 status = "disabled";
503 };
504
505 uart3: serial@ffd74000 {
506 compatible = "arm,pl011", "arm,primecell";
507 reg = <0x0 0xffd74000 0x0 0x1000>;
508 interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>;
509 clocks = <&crg_ctrl HI3660_FACTOR_UART3>,
510 <&crg_ctrl HI3660_PCLK>;
511 clock-names = "uartclk", "apb_pclk";
512 pinctrl-names = "default";
513 pinctrl-0 = <&uart3_pmx_func &uart3_cfg_func>;
514 status = "disabled";
515 };
516
517 uart4: serial@fdf01000 {
518 compatible = "arm,pl011", "arm,primecell";
519 reg = <0x0 0xfdf01000 0x0 0x1000>;
520 interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>;
521 dma-names = "rx", "tx";
522 dmas = <&dma0 6 &dma0 7>;
523 clocks = <&crg_ctrl HI3660_CLK_GATE_UART4>,
524 <&crg_ctrl HI3660_CLK_GATE_UART4>;
525 clock-names = "uartclk", "apb_pclk";
526 pinctrl-names = "default";
527 pinctrl-0 = <&uart4_pmx_func &uart4_cfg_func>;
528 status = "disabled";
529 };
530
531 uart5: serial@fdf05000 {
532 compatible = "arm,pl011", "arm,primecell";
533 reg = <0x0 0xfdf05000 0x0 0x1000>;
534 interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>;
535 dma-names = "rx", "tx";
536 dmas = <&dma0 8 &dma0 9>;
537 clocks = <&crg_ctrl HI3660_CLK_GATE_UART5>,
538 <&crg_ctrl HI3660_CLK_GATE_UART5>;
539 clock-names = "uartclk", "apb_pclk";
540 pinctrl-names = "default";
541 pinctrl-0 = <&uart5_pmx_func &uart5_cfg_func>;
542 status = "disabled";
543 };
544
545 uart6: serial@fff32000 {
546 compatible = "arm,pl011", "arm,primecell";
547 reg = <0x0 0xfff32000 0x0 0x1000>;
548 interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>;
549 clocks = <&crg_ctrl HI3660_CLK_UART6>,
550 <&crg_ctrl HI3660_PCLK>;
551 clock-names = "uartclk", "apb_pclk";
552 pinctrl-names = "default";
553 pinctrl-0 = <&uart6_pmx_func &uart6_cfg_func>;
554 status = "disabled";
555 };
556
557 dma0: dma@fdf30000 {
558 compatible = "hisilicon,k3-dma-1.0";
559 reg = <0x0 0xfdf30000 0x0 0x1000>;
560 #dma-cells = <1>;
561 dma-channels = <16>;
562 dma-requests = <32>;
563 dma-channel-mask = <0xfffe>;
564 interrupts = <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>;
565 clocks = <&crg_ctrl HI3660_CLK_GATE_DMAC>;
566 dma-no-cci;
567 dma-type = "hi3660_dma";
568 };
569
570 asp_dmac: dma-controller@e804b000 {
571 compatible = "hisilicon,hisi-pcm-asp-dma-1.0";
572 reg = <0x0 0xe804b000 0x0 0x1000>;
573 #dma-cells = <1>;
574 dma-channels = <16>;
575 dma-requests = <32>;
576 interrupts = <GIC_SPI 216 IRQ_TYPE_LEVEL_HIGH>;
577 interrupt-names = "asp_dma_irq";
578 };
579
580 rtc0: rtc@fff04000 {
581 compatible = "arm,pl031", "arm,primecell";
582 reg = <0x0 0Xfff04000 0x0 0x1000>;
583 interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
584 clocks = <&crg_ctrl HI3660_PCLK>;
585 clock-names = "apb_pclk";
586 };
587
588 gpio0: gpio@e8a0b000 {
589 compatible = "arm,pl061", "arm,primecell";
590 reg = <0 0xe8a0b000 0 0x1000>;
591 interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
592 gpio-controller;
593 #gpio-cells = <2>;
594 gpio-ranges = <&pmx0 1 0 7>;
595 interrupt-controller;
596 #interrupt-cells = <2>;
597 clocks = <&crg_ctrl HI3660_PCLK_GPIO0>;
598 clock-names = "apb_pclk";
599 };
600
601 gpio1: gpio@e8a0c000 {
602 compatible = "arm,pl061", "arm,primecell";
603 reg = <0 0xe8a0c000 0 0x1000>;
604 interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
605 gpio-controller;
606 #gpio-cells = <2>;
607 gpio-ranges = <&pmx0 1 7 7>;
608 interrupt-controller;
609 #interrupt-cells = <2>;
610 clocks = <&crg_ctrl HI3660_PCLK_GPIO1>;
611 clock-names = "apb_pclk";
612 };
613
614 gpio2: gpio@e8a0d000 {
615 compatible = "arm,pl061", "arm,primecell";
616 reg = <0 0xe8a0d000 0 0x1000>;
617 interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
618 gpio-controller;
619 #gpio-cells = <2>;
620 gpio-ranges = <&pmx0 0 14 8>;
621 interrupt-controller;
622 #interrupt-cells = <2>;
623 clocks = <&crg_ctrl HI3660_PCLK_GPIO2>;
624 clock-names = "apb_pclk";
625 };
626
627 gpio3: gpio@e8a0e000 {
628 compatible = "arm,pl061", "arm,primecell";
629 reg = <0 0xe8a0e000 0 0x1000>;
630 interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>;
631 gpio-controller;
632 #gpio-cells = <2>;
633 gpio-ranges = <&pmx0 0 22 8>;
634 interrupt-controller;
635 #interrupt-cells = <2>;
636 clocks = <&crg_ctrl HI3660_PCLK_GPIO3>;
637 clock-names = "apb_pclk";
638 };
639
640 gpio4: gpio@e8a0f000 {
641 compatible = "arm,pl061", "arm,primecell";
642 reg = <0 0xe8a0f000 0 0x1000>;
643 interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>;
644 gpio-controller;
645 #gpio-cells = <2>;
646 gpio-ranges = <&pmx0 0 30 8>;
647 interrupt-controller;
648 #interrupt-cells = <2>;
649 clocks = <&crg_ctrl HI3660_PCLK_GPIO4>;
650 clock-names = "apb_pclk";
651 };
652
653 gpio5: gpio@e8a10000 {
654 compatible = "arm,pl061", "arm,primecell";
655 reg = <0 0xe8a10000 0 0x1000>;
656 interrupts = <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>;
657 gpio-controller;
658 #gpio-cells = <2>;
659 gpio-ranges = <&pmx0 0 38 8>;
660 interrupt-controller;
661 #interrupt-cells = <2>;
662 clocks = <&crg_ctrl HI3660_PCLK_GPIO5>;
663 clock-names = "apb_pclk";
664 };
665
666 gpio6: gpio@e8a11000 {
667 compatible = "arm,pl061", "arm,primecell";
668 reg = <0 0xe8a11000 0 0x1000>;
669 interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>;
670 gpio-controller;
671 #gpio-cells = <2>;
672 gpio-ranges = <&pmx0 0 46 8>;
673 interrupt-controller;
674 #interrupt-cells = <2>;
675 clocks = <&crg_ctrl HI3660_PCLK_GPIO6>;
676 clock-names = "apb_pclk";
677 };
678
679 gpio7: gpio@e8a12000 {
680 compatible = "arm,pl061", "arm,primecell";
681 reg = <0 0xe8a12000 0 0x1000>;
682 interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>;
683 gpio-controller;
684 #gpio-cells = <2>;
685 gpio-ranges = <&pmx0 0 54 8>;
686 interrupt-controller;
687 #interrupt-cells = <2>;
688 clocks = <&crg_ctrl HI3660_PCLK_GPIO7>;
689 clock-names = "apb_pclk";
690 };
691
692 gpio8: gpio@e8a13000 {
693 compatible = "arm,pl061", "arm,primecell";
694 reg = <0 0xe8a13000 0 0x1000>;
695 interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>;
696 gpio-controller;
697 #gpio-cells = <2>;
698 gpio-ranges = <&pmx0 0 62 8>;
699 interrupt-controller;
700 #interrupt-cells = <2>;
701 clocks = <&crg_ctrl HI3660_PCLK_GPIO8>;
702 clock-names = "apb_pclk";
703 };
704
705 gpio9: gpio@e8a14000 {
706 compatible = "arm,pl061", "arm,primecell";
707 reg = <0 0xe8a14000 0 0x1000>;
708 interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>;
709 gpio-controller;
710 #gpio-cells = <2>;
711 gpio-ranges = <&pmx0 0 70 8>;
712 interrupt-controller;
713 #interrupt-cells = <2>;
714 clocks = <&crg_ctrl HI3660_PCLK_GPIO9>;
715 clock-names = "apb_pclk";
716 };
717
718 gpio10: gpio@e8a15000 {
719 compatible = "arm,pl061", "arm,primecell";
720 reg = <0 0xe8a15000 0 0x1000>;
721 interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>;
722 gpio-controller;
723 #gpio-cells = <2>;
724 gpio-ranges = <&pmx0 0 78 8>;
725 interrupt-controller;
726 #interrupt-cells = <2>;
727 clocks = <&crg_ctrl HI3660_PCLK_GPIO10>;
728 clock-names = "apb_pclk";
729 };
730
731 gpio11: gpio@e8a16000 {
732 compatible = "arm,pl061", "arm,primecell";
733 reg = <0 0xe8a16000 0 0x1000>;
734 interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
735 gpio-controller;
736 #gpio-cells = <2>;
737 gpio-ranges = <&pmx0 0 86 8>;
738 interrupt-controller;
739 #interrupt-cells = <2>;
740 clocks = <&crg_ctrl HI3660_PCLK_GPIO11>;
741 clock-names = "apb_pclk";
742 };
743
744 gpio12: gpio@e8a17000 {
745 compatible = "arm,pl061", "arm,primecell";
746 reg = <0 0xe8a17000 0 0x1000>;
747 interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
748 gpio-controller;
749 #gpio-cells = <2>;
750 gpio-ranges = <&pmx0 0 94 3 &pmx0 7 101 1>;
751 interrupt-controller;
752 #interrupt-cells = <2>;
753 clocks = <&crg_ctrl HI3660_PCLK_GPIO12>;
754 clock-names = "apb_pclk";
755 };
756
757 gpio13: gpio@e8a18000 {
758 compatible = "arm,pl061", "arm,primecell";
759 reg = <0 0xe8a18000 0 0x1000>;
760 interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
761 gpio-controller;
762 #gpio-cells = <2>;
763 gpio-ranges = <&pmx0 0 102 8>;
764 interrupt-controller;
765 #interrupt-cells = <2>;
766 clocks = <&crg_ctrl HI3660_PCLK_GPIO13>;
767 clock-names = "apb_pclk";
768 };
769
770 gpio14: gpio@e8a19000 {
771 compatible = "arm,pl061", "arm,primecell";
772 reg = <0 0xe8a19000 0 0x1000>;
773 interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
774 gpio-controller;
775 #gpio-cells = <2>;
776 gpio-ranges = <&pmx0 0 110 8>;
777 interrupt-controller;
778 #interrupt-cells = <2>;
779 clocks = <&crg_ctrl HI3660_PCLK_GPIO14>;
780 clock-names = "apb_pclk";
781 };
782
783 gpio15: gpio@e8a1a000 {
784 compatible = "arm,pl061", "arm,primecell";
785 reg = <0 0xe8a1a000 0 0x1000>;
786 interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>;
787 gpio-controller;
788 #gpio-cells = <2>;
789 gpio-ranges = <&pmx0 0 118 6>;
790 interrupt-controller;
791 #interrupt-cells = <2>;
792 clocks = <&crg_ctrl HI3660_PCLK_GPIO15>;
793 clock-names = "apb_pclk";
794 };
795
796 gpio16: gpio@e8a1b000 {
797 compatible = "arm,pl061", "arm,primecell";
798 reg = <0 0xe8a1b000 0 0x1000>;
799 interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
800 gpio-controller;
801 #gpio-cells = <2>;
802 interrupt-controller;
803 #interrupt-cells = <2>;
804 clocks = <&crg_ctrl HI3660_PCLK_GPIO16>;
805 clock-names = "apb_pclk";
806 };
807
808 gpio17: gpio@e8a1c000 {
809 compatible = "arm,pl061", "arm,primecell";
810 reg = <0 0xe8a1c000 0 0x1000>;
811 interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>;
812 gpio-controller;
813 #gpio-cells = <2>;
814 interrupt-controller;
815 #interrupt-cells = <2>;
816 clocks = <&crg_ctrl HI3660_PCLK_GPIO17>;
817 clock-names = "apb_pclk";
818 };
819
820 gpio18: gpio@ff3b4000 {
821 compatible = "arm,pl061", "arm,primecell";
822 reg = <0 0xff3b4000 0 0x1000>;
823 interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>;
824 gpio-controller;
825 #gpio-cells = <2>;
826 gpio-ranges = <&pmx2 0 0 8>;
827 interrupt-controller;
828 #interrupt-cells = <2>;
829 clocks = <&crg_ctrl HI3660_PCLK_GPIO18>;
830 clock-names = "apb_pclk";
831 };
832
833 gpio19: gpio@ff3b5000 {
834 compatible = "arm,pl061", "arm,primecell";
835 reg = <0 0xff3b5000 0 0x1000>;
836 interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
837 gpio-controller;
838 #gpio-cells = <2>;
839 gpio-ranges = <&pmx2 0 8 4>;
840 interrupt-controller;
841 #interrupt-cells = <2>;
842 clocks = <&crg_ctrl HI3660_PCLK_GPIO19>;
843 clock-names = "apb_pclk";
844 };
845
846 gpio20: gpio@e8a1f000 {
847 compatible = "arm,pl061", "arm,primecell";
848 reg = <0 0xe8a1f000 0 0x1000>;
849 interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>;
850 gpio-controller;
851 #gpio-cells = <2>;
852 gpio-ranges = <&pmx1 0 0 6>;
853 interrupt-controller;
854 #interrupt-cells = <2>;
855 clocks = <&crg_ctrl HI3660_PCLK_GPIO20>;
856 clock-names = "apb_pclk";
857 };
858
859 gpio21: gpio@e8a20000 {
860 compatible = "arm,pl061", "arm,primecell";
861 reg = <0 0xe8a20000 0 0x1000>;
862 interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
863 gpio-controller;
864 #gpio-cells = <2>;
865 interrupt-controller;
866 #interrupt-cells = <2>;
867 gpio-ranges = <&pmx3 0 0 6>;
868 clocks = <&crg_ctrl HI3660_PCLK_GPIO21>;
869 clock-names = "apb_pclk";
870 };
871
872 gpio22: gpio@fff0b000 {
873 compatible = "arm,pl061", "arm,primecell";
874 reg = <0 0xfff0b000 0 0x1000>;
875 interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>;
876 gpio-controller;
877 #gpio-cells = <2>;
878 /* GPIO176 */
879 gpio-ranges = <&pmx4 2 0 6>;
880 interrupt-controller;
881 #interrupt-cells = <2>;
882 clocks = <&sctrl HI3660_PCLK_AO_GPIO0>;
883 clock-names = "apb_pclk";
884 };
885
886 gpio23: gpio@fff0c000 {
887 compatible = "arm,pl061", "arm,primecell";
888 reg = <0 0xfff0c000 0 0x1000>;
889 interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>;
890 gpio-controller;
891 #gpio-cells = <2>;
892 /* GPIO184 */
893 gpio-ranges = <&pmx4 0 6 7>;
894 interrupt-controller;
895 #interrupt-cells = <2>;
896 clocks = <&sctrl HI3660_PCLK_AO_GPIO1>;
897 clock-names = "apb_pclk";
898 };
899
900 gpio24: gpio@fff0d000 {
901 compatible = "arm,pl061", "arm,primecell";
902 reg = <0 0xfff0d000 0 0x1000>;
903 interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
904 gpio-controller;
905 #gpio-cells = <2>;
906 /* GPIO192 */
907 gpio-ranges = <&pmx4 0 13 8>;
908 interrupt-controller;
909 #interrupt-cells = <2>;
910 clocks = <&sctrl HI3660_PCLK_AO_GPIO2>;
911 clock-names = "apb_pclk";
912 };
913
914 gpio25: gpio@fff0e000 {
915 compatible = "arm,pl061", "arm,primecell";
916 reg = <0 0xfff0e000 0 0x1000>;
917 interrupts = <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>;
918 gpio-controller;
919 #gpio-cells = <2>;
920 /* GPIO200 */
921 gpio-ranges = <&pmx4 0 21 4 &pmx4 5 25 3>;
922 interrupt-controller;
923 #interrupt-cells = <2>;
924 clocks = <&sctrl HI3660_PCLK_AO_GPIO3>;
925 clock-names = "apb_pclk";
926 };
927
928 gpio26: gpio@fff0f000 {
929 compatible = "arm,pl061", "arm,primecell";
930 reg = <0 0xfff0f000 0 0x1000>;
931 interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>;
932 gpio-controller;
933 #gpio-cells = <2>;
934 /* GPIO208 */
935 gpio-ranges = <&pmx4 0 28 8>;
936 interrupt-controller;
937 #interrupt-cells = <2>;
938 clocks = <&sctrl HI3660_PCLK_AO_GPIO4>;
939 clock-names = "apb_pclk";
940 };
941
942 gpio27: gpio@fff10000 {
943 compatible = "arm,pl061", "arm,primecell";
944 reg = <0 0xfff10000 0 0x1000>;
945 interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>;
946 gpio-controller;
947 #gpio-cells = <2>;
948 /* GPIO216 */
949 gpio-ranges = <&pmx4 0 36 6>;
950 interrupt-controller;
951 #interrupt-cells = <2>;
952 clocks = <&sctrl HI3660_PCLK_AO_GPIO5>;
953 clock-names = "apb_pclk";
954 };
955
956 gpio28: gpio@fff1d000 {
957 compatible = "arm,pl061", "arm,primecell";
958 reg = <0 0xfff1d000 0 0x1000>;
959 interrupts = <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>;
960 gpio-controller;
961 #gpio-cells = <2>;
962 interrupt-controller;
963 #interrupt-cells = <2>;
964 clocks = <&sctrl HI3660_PCLK_AO_GPIO6>;
965 clock-names = "apb_pclk";
966 };
967
968 spi2: spi@ffd68000 {
969 compatible = "arm,pl022", "arm,primecell";
970 reg = <0x0 0xffd68000 0x0 0x1000>;
971 #address-cells = <1>;
972 #size-cells = <0>;
973 interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>;
974 clocks = <&crg_ctrl HI3660_CLK_GATE_SPI2>, <&crg_ctrl HI3660_CLK_GATE_SPI2>;
975 clock-names = "sspclk", "apb_pclk";
976 pinctrl-names = "default";
977 pinctrl-0 = <&spi2_pmx_func &spi2_cfg_func>;
978 num-cs = <1>;
979 cs-gpios = <&gpio27 2 0>;
980 status = "disabled";
981 };
982
983 spi3: spi@ff3b3000 {
984 compatible = "arm,pl022", "arm,primecell";
985 reg = <0x0 0xff3b3000 0x0 0x1000>;
986 #address-cells = <1>;
987 #size-cells = <0>;
988 interrupts = <GIC_SPI 312 IRQ_TYPE_LEVEL_HIGH>;
989 clocks = <&crg_ctrl HI3660_CLK_GATE_SPI3>, <&crg_ctrl HI3660_CLK_GATE_SPI3>;
990 clock-names = "sspclk", "apb_pclk";
991 pinctrl-names = "default";
992 pinctrl-0 = <&spi3_pmx_func &spi3_cfg_func>;
993 num-cs = <1>;
994 cs-gpios = <&gpio18 5 0>;
995 status = "disabled";
996 };
997
998 pcie@f4000000 {
999 compatible = "hisilicon,kirin960-pcie";
1000 reg = <0x0 0xf4000000 0x0 0x1000>,
1001 <0x0 0xff3fe000 0x0 0x1000>,
1002 <0x0 0xf3f20000 0x0 0x40000>,
1003 <0x0 0xf5000000 0x0 0x2000>;
1004 reg-names = "dbi", "apb", "phy", "config";
1005 bus-range = <0x0 0xff>;
1006 #address-cells = <3>;
1007 #size-cells = <2>;
1008 device_type = "pci";
1009 ranges = <0x02000000 0x0 0x00000000
1010 0x0 0xf6000000
1011 0x0 0x02000000>;
1012 num-lanes = <1>;
1013 #interrupt-cells = <1>;
1014 interrupts = <0 283 4>;
1015 interrupt-names = "msi";
1016 interrupt-map-mask = <0xf800 0 0 7>;
1017 interrupt-map = <0x0 0 0 1
1018 &gic GIC_SPI 282 IRQ_TYPE_LEVEL_HIGH>,
1019 <0x0 0 0 2
1020 &gic GIC_SPI 283 IRQ_TYPE_LEVEL_HIGH>,
1021 <0x0 0 0 3
1022 &gic GIC_SPI 284 IRQ_TYPE_LEVEL_HIGH>,
1023 <0x0 0 0 4
1024 &gic GIC_SPI 285 IRQ_TYPE_LEVEL_HIGH>;
1025 clocks = <&crg_ctrl HI3660_PCIEPHY_REF>,
1026 <&crg_ctrl HI3660_CLK_GATE_PCIEAUX>,
1027 <&crg_ctrl HI3660_PCLK_GATE_PCIE_PHY>,
1028 <&crg_ctrl HI3660_PCLK_GATE_PCIE_SYS>,
1029 <&crg_ctrl HI3660_ACLK_GATE_PCIE>;
1030 clock-names = "pcie_phy_ref", "pcie_aux",
1031 "pcie_apb_phy", "pcie_apb_sys",
1032 "pcie_aclk";
1033 reset-gpios = <&gpio11 1 0 >;
1034 };
1035
1036 /* UFS */
1037 ufs: ufs@ff3b0000 {
1038 compatible = "hisilicon,hi3660-ufs", "jedec,ufs-1.1";
1039 /* 0: HCI standard */
1040 /* 1: UFS SYS CTRL */
1041 reg = <0x0 0xff3b0000 0x0 0x1000>,
1042 <0x0 0xff3b1000 0x0 0x1000>;
1043 interrupt-parent = <&gic>;
1044 interrupts = <GIC_SPI 278 IRQ_TYPE_LEVEL_HIGH>;
1045 clocks = <&crg_ctrl HI3660_CLK_GATE_UFSIO_REF>,
1046 <&crg_ctrl HI3660_CLK_GATE_UFSPHY_CFG>;
1047 clock-names = "ref_clk", "phy_clk";
1048 freq-table-hz = <0 0>,
1049 <0 0>;
1050 /* offset: 0x84; bit: 12 */
1051 resets = <&crg_rst 0x84 12>;
1052 reset-names = "rst";
1053 };
1054
1055 /* SD */
1056 dwmmc1: dwmmc1@ff37f000 {
1057 compatible = "hisilicon,hi3660-dw-mshc";
1058 reg = <0x0 0xff37f000 0x0 0x1000>;
1059 #address-cells = <1>;
1060 #size-cells = <0>;
1061 interrupts = <GIC_SPI 139 IRQ_TYPE_LEVEL_HIGH>;
1062 clocks = <&crg_ctrl HI3660_CLK_GATE_SD>,
1063 <&crg_ctrl HI3660_HCLK_GATE_SD>;
1064 clock-names = "ciu", "biu";
1065 clock-frequency = <3200000>;
1066 resets = <&crg_rst 0x94 18>;
1067 reset-names = "reset";
1068 hisilicon,peripheral-syscon = <&sctrl>;
1069 card-detect-delay = <200>;
1070 status = "disabled";
1071 };
1072
1073 /* SDIO */
1074 dwmmc2: dwmmc2@ff3ff000 {
1075 compatible = "hisilicon,hi3660-dw-mshc";
1076 reg = <0x0 0xff3ff000 0x0 0x1000>;
1077 #address-cells = <0x1>;
1078 #size-cells = <0x0>;
1079 interrupts = <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>;
1080 clocks = <&crg_ctrl HI3660_CLK_GATE_SDIO0>,
1081 <&crg_ctrl HI3660_HCLK_GATE_SDIO0>;
1082 clock-names = "ciu", "biu";
1083 resets = <&crg_rst 0x94 20>;
1084 reset-names = "reset";
1085 card-detect-delay = <200>;
1086 status = "disabled";
1087 };
1088
1089 watchdog0: watchdog@e8a06000 {
1090 compatible = "arm,sp805", "arm,primecell";
1091 reg = <0x0 0xe8a06000 0x0 0x1000>;
1092 interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>;
1093 clocks = <&crg_ctrl HI3660_OSC32K>,
1094 <&crg_ctrl HI3660_OSC32K>;
1095 clock-names = "wdog_clk", "apb_pclk";
1096 };
1097
1098 watchdog1: watchdog@e8a07000 {
1099 compatible = "arm,sp805", "arm,primecell";
1100 reg = <0x0 0xe8a07000 0x0 0x1000>;
1101 interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
1102 clocks = <&crg_ctrl HI3660_OSC32K>,
1103 <&crg_ctrl HI3660_OSC32K>;
1104 clock-names = "wdog_clk", "apb_pclk";
1105 };
1106
1107 tsensor: tsensor@fff30000 {
1108 compatible = "hisilicon,hi3660-tsensor";
1109 reg = <0x0 0xfff30000 0x0 0x1000>;
1110 interrupts = <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>;
1111 #thermal-sensor-cells = <1>;
1112 };
1113
1114 thermal-zones {
1115
1116 cls0: cls0-thermal {
1117 polling-delay = <1000>;
1118 polling-delay-passive = <100>;
1119 sustainable-power = <4500>;
1120
1121 /* sensor ID */
1122 thermal-sensors = <&tsensor 1>;
1123
1124 trips {
1125 threshold: trip-point0 {
1126 temperature = <65000>;
1127 hysteresis = <1000>;
1128 type = "passive";
1129 };
1130
1131 target: trip-point1 {
1132 temperature = <75000>;
1133 hysteresis = <1000>;
1134 type = "passive";
1135 };
1136 };
1137
1138 cooling-maps {
1139 map0 {
1140 trip = <&target>;
1141 contribution = <1024>;
1142 cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
1143 <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
1144 <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
1145 <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
1146 };
1147 map1 {
1148 trip = <&target>;
1149 contribution = <512>;
1150 cooling-device = <&cpu4 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
1151 <&cpu5 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
1152 <&cpu6 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
1153 <&cpu7 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
1154 };
1155 };
1156 };
1157 };
1158
1159 usb3_otg_bc: usb3_otg_bc@ff200000 {
1160 compatible = "syscon", "simple-mfd";
1161 reg = <0x0 0xff200000 0x0 0x1000>;
1162
1163 usb_phy: usb-phy {
1164 compatible = "hisilicon,hi3660-usb-phy";
1165 #phy-cells = <0>;
1166 hisilicon,pericrg-syscon = <&crg_ctrl>;
1167 hisilicon,pctrl-syscon = <&pctrl>;
1168 hisilicon,eye-diagram-param = <0x22466e4>;
1169 };
1170 };
1171
1172 dwc3: usb@ff100000 {
1173 compatible = "snps,dwc3";
1174 reg = <0x0 0xff100000 0x0 0x100000>;
1175
1176 clocks = <&crg_ctrl HI3660_CLK_ABB_USB>,
1177 <&crg_ctrl HI3660_ACLK_GATE_USB3OTG>;
1178 clock-names = "ref", "bus_early";
1179
1180 assigned-clocks = <&crg_ctrl HI3660_ACLK_GATE_USB3OTG>;
1181 assigned-clock-rates = <229000000>;
1182
1183 resets = <&crg_rst 0x90 8>,
1184 <&crg_rst 0x90 7>,
1185 <&crg_rst 0x90 6>,
1186 <&crg_rst 0x90 5>;
1187
1188 interrupts = <0 159 4>, <0 161 4>;
1189 phys = <&usb_phy>;
1190 phy-names = "usb3-phy";
1191 };
1192 };
1193 };
1194
1195 #include "hi3660-coresight.dtsi"
Cache object: 7d1fab68b3c6036268995f98f1f5fa13
|