diff options
Diffstat (limited to 'arch/arm/boot/dts/rk3288.dtsi')
-rw-r--r-- | arch/arm/boot/dts/rk3288.dtsi | 99 |
1 files changed, 98 insertions, 1 deletions
diff --git a/arch/arm/boot/dts/rk3288.dtsi b/arch/arm/boot/dts/rk3288.dtsi index 874e66dbb93b..fd19f00784bd 100644 --- a/arch/arm/boot/dts/rk3288.dtsi +++ b/arch/arm/boot/dts/rk3288.dtsi | |||
@@ -15,6 +15,7 @@ | |||
15 | #include <dt-bindings/interrupt-controller/arm-gic.h> | 15 | #include <dt-bindings/interrupt-controller/arm-gic.h> |
16 | #include <dt-bindings/pinctrl/rockchip.h> | 16 | #include <dt-bindings/pinctrl/rockchip.h> |
17 | #include <dt-bindings/clock/rk3288-cru.h> | 17 | #include <dt-bindings/clock/rk3288-cru.h> |
18 | #include <dt-bindings/thermal/thermal.h> | ||
18 | #include "skeleton.dtsi" | 19 | #include "skeleton.dtsi" |
19 | 20 | ||
20 | / { | 21 | / { |
@@ -46,26 +47,50 @@ | |||
46 | cpus { | 47 | cpus { |
47 | #address-cells = <1>; | 48 | #address-cells = <1>; |
48 | #size-cells = <0>; | 49 | #size-cells = <0>; |
50 | enable-method = "rockchip,rk3066-smp"; | ||
51 | rockchip,pmu = <&pmu>; | ||
49 | 52 | ||
50 | cpu@500 { | 53 | cpu0: cpu@500 { |
51 | device_type = "cpu"; | 54 | device_type = "cpu"; |
52 | compatible = "arm,cortex-a12"; | 55 | compatible = "arm,cortex-a12"; |
53 | reg = <0x500>; | 56 | reg = <0x500>; |
57 | resets = <&cru SRST_CORE0>; | ||
58 | operating-points = < | ||
59 | /* KHz uV */ | ||
60 | 1608000 1350000 | ||
61 | 1512000 1300000 | ||
62 | 1416000 1200000 | ||
63 | 1200000 1100000 | ||
64 | 1008000 1050000 | ||
65 | 816000 1000000 | ||
66 | 696000 950000 | ||
67 | 600000 900000 | ||
68 | 408000 900000 | ||
69 | 312000 900000 | ||
70 | 216000 900000 | ||
71 | 126000 900000 | ||
72 | >; | ||
73 | #cooling-cells = <2>; /* min followed by max */ | ||
74 | clock-latency = <40000>; | ||
75 | clocks = <&cru ARMCLK>; | ||
54 | }; | 76 | }; |
55 | cpu@501 { | 77 | cpu@501 { |
56 | device_type = "cpu"; | 78 | device_type = "cpu"; |
57 | compatible = "arm,cortex-a12"; | 79 | compatible = "arm,cortex-a12"; |
58 | reg = <0x501>; | 80 | reg = <0x501>; |
81 | resets = <&cru SRST_CORE1>; | ||
59 | }; | 82 | }; |
60 | cpu@502 { | 83 | cpu@502 { |
61 | device_type = "cpu"; | 84 | device_type = "cpu"; |
62 | compatible = "arm,cortex-a12"; | 85 | compatible = "arm,cortex-a12"; |
63 | reg = <0x502>; | 86 | reg = <0x502>; |
87 | resets = <&cru SRST_CORE2>; | ||
64 | }; | 88 | }; |
65 | cpu@503 { | 89 | cpu@503 { |
66 | device_type = "cpu"; | 90 | device_type = "cpu"; |
67 | compatible = "arm,cortex-a12"; | 91 | compatible = "arm,cortex-a12"; |
68 | reg = <0x503>; | 92 | reg = <0x503>; |
93 | resets = <&cru SRST_CORE3>; | ||
69 | }; | 94 | }; |
70 | }; | 95 | }; |
71 | 96 | ||
@@ -116,6 +141,7 @@ | |||
116 | 141 | ||
117 | timer { | 142 | timer { |
118 | compatible = "arm,armv7-timer"; | 143 | compatible = "arm,armv7-timer"; |
144 | arm,cpu-registers-not-fw-configured; | ||
119 | interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>, | 145 | interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>, |
120 | <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>, | 146 | <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>, |
121 | <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>, | 147 | <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>, |
@@ -177,6 +203,8 @@ | |||
177 | compatible = "rockchip,rk3288-spi", "rockchip,rk3066-spi"; | 203 | compatible = "rockchip,rk3288-spi", "rockchip,rk3066-spi"; |
178 | clocks = <&cru SCLK_SPI0>, <&cru PCLK_SPI0>; | 204 | clocks = <&cru SCLK_SPI0>, <&cru PCLK_SPI0>; |
179 | clock-names = "spiclk", "apb_pclk"; | 205 | clock-names = "spiclk", "apb_pclk"; |
206 | dmas = <&dmac_peri 11>, <&dmac_peri 12>; | ||
207 | dma-names = "tx", "rx"; | ||
180 | interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>; | 208 | interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>; |
181 | pinctrl-names = "default"; | 209 | pinctrl-names = "default"; |
182 | pinctrl-0 = <&spi0_clk &spi0_tx &spi0_rx &spi0_cs0>; | 210 | pinctrl-0 = <&spi0_clk &spi0_tx &spi0_rx &spi0_cs0>; |
@@ -190,6 +218,8 @@ | |||
190 | compatible = "rockchip,rk3288-spi", "rockchip,rk3066-spi"; | 218 | compatible = "rockchip,rk3288-spi", "rockchip,rk3066-spi"; |
191 | clocks = <&cru SCLK_SPI1>, <&cru PCLK_SPI1>; | 219 | clocks = <&cru SCLK_SPI1>, <&cru PCLK_SPI1>; |
192 | clock-names = "spiclk", "apb_pclk"; | 220 | clock-names = "spiclk", "apb_pclk"; |
221 | dmas = <&dmac_peri 13>, <&dmac_peri 14>; | ||
222 | dma-names = "tx", "rx"; | ||
193 | interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>; | 223 | interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>; |
194 | pinctrl-names = "default"; | 224 | pinctrl-names = "default"; |
195 | pinctrl-0 = <&spi1_clk &spi1_tx &spi1_rx &spi1_cs0>; | 225 | pinctrl-0 = <&spi1_clk &spi1_tx &spi1_rx &spi1_cs0>; |
@@ -203,6 +233,8 @@ | |||
203 | compatible = "rockchip,rk3288-spi", "rockchip,rk3066-spi"; | 233 | compatible = "rockchip,rk3288-spi", "rockchip,rk3066-spi"; |
204 | clocks = <&cru SCLK_SPI2>, <&cru PCLK_SPI2>; | 234 | clocks = <&cru SCLK_SPI2>, <&cru PCLK_SPI2>; |
205 | clock-names = "spiclk", "apb_pclk"; | 235 | clock-names = "spiclk", "apb_pclk"; |
236 | dmas = <&dmac_peri 15>, <&dmac_peri 16>; | ||
237 | dma-names = "tx", "rx"; | ||
206 | interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>; | 238 | interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>; |
207 | pinctrl-names = "default"; | 239 | pinctrl-names = "default"; |
208 | pinctrl-0 = <&spi2_clk &spi2_tx &spi2_rx &spi2_cs0>; | 240 | pinctrl-0 = <&spi2_clk &spi2_tx &spi2_rx &spi2_cs0>; |
@@ -329,6 +361,25 @@ | |||
329 | status = "disabled"; | 361 | status = "disabled"; |
330 | }; | 362 | }; |
331 | 363 | ||
364 | thermal-zones { | ||
365 | #include "rk3288-thermal.dtsi" | ||
366 | }; | ||
367 | |||
368 | tsadc: tsadc@ff280000 { | ||
369 | compatible = "rockchip,rk3288-tsadc"; | ||
370 | reg = <0xff280000 0x100>; | ||
371 | interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>; | ||
372 | clocks = <&cru SCLK_TSADC>, <&cru PCLK_TSADC>; | ||
373 | clock-names = "tsadc", "apb_pclk"; | ||
374 | resets = <&cru SRST_TSADC>; | ||
375 | reset-names = "tsadc-apb"; | ||
376 | pinctrl-names = "default"; | ||
377 | pinctrl-0 = <&otp_out>; | ||
378 | #thermal-sensor-cells = <1>; | ||
379 | rockchip,hw-tshut-temp = <95000>; | ||
380 | status = "disabled"; | ||
381 | }; | ||
382 | |||
332 | usb_host0_ehci: usb@ff500000 { | 383 | usb_host0_ehci: usb@ff500000 { |
333 | compatible = "generic-ehci"; | 384 | compatible = "generic-ehci"; |
334 | reg = <0xff500000 0x100>; | 385 | reg = <0xff500000 0x100>; |
@@ -439,6 +490,18 @@ | |||
439 | status = "disabled"; | 490 | status = "disabled"; |
440 | }; | 491 | }; |
441 | 492 | ||
493 | bus_intmem@ff700000 { | ||
494 | compatible = "mmio-sram"; | ||
495 | reg = <0xff700000 0x18000>; | ||
496 | #address-cells = <1>; | ||
497 | #size-cells = <1>; | ||
498 | ranges = <0 0xff700000 0x18000>; | ||
499 | smp-sram@0 { | ||
500 | compatible = "rockchip,rk3066-smp-sram"; | ||
501 | reg = <0x00 0x10>; | ||
502 | }; | ||
503 | }; | ||
504 | |||
442 | pmu: power-management@ff730000 { | 505 | pmu: power-management@ff730000 { |
443 | compatible = "rockchip,rk3288-pmu", "syscon"; | 506 | compatible = "rockchip,rk3288-pmu", "syscon"; |
444 | reg = <0xff730000 0x100>; | 507 | reg = <0xff730000 0x100>; |
@@ -455,6 +518,16 @@ | |||
455 | rockchip,grf = <&grf>; | 518 | rockchip,grf = <&grf>; |
456 | #clock-cells = <1>; | 519 | #clock-cells = <1>; |
457 | #reset-cells = <1>; | 520 | #reset-cells = <1>; |
521 | assigned-clocks = <&cru PLL_GPLL>, <&cru PLL_CPLL>, | ||
522 | <&cru PLL_NPLL>, <&cru ACLK_CPU>, | ||
523 | <&cru HCLK_CPU>, <&cru PCLK_CPU>, | ||
524 | <&cru ACLK_PERI>, <&cru HCLK_PERI>, | ||
525 | <&cru PCLK_PERI>; | ||
526 | assigned-clock-rates = <594000000>, <400000000>, | ||
527 | <500000000>, <300000000>, | ||
528 | <150000000>, <75000000>, | ||
529 | <300000000>, <150000000>, | ||
530 | <75000000>; | ||
458 | }; | 531 | }; |
459 | 532 | ||
460 | grf: syscon@ff770000 { | 533 | grf: syscon@ff770000 { |
@@ -484,6 +557,24 @@ | |||
484 | status = "disabled"; | 557 | status = "disabled"; |
485 | }; | 558 | }; |
486 | 559 | ||
560 | vopb_mmu: iommu@ff930300 { | ||
561 | compatible = "rockchip,iommu"; | ||
562 | reg = <0xff930300 0x100>; | ||
563 | interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>; | ||
564 | interrupt-names = "vopb_mmu"; | ||
565 | #iommu-cells = <0>; | ||
566 | status = "disabled"; | ||
567 | }; | ||
568 | |||
569 | vopl_mmu: iommu@ff940300 { | ||
570 | compatible = "rockchip,iommu"; | ||
571 | reg = <0xff940300 0x100>; | ||
572 | interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>; | ||
573 | interrupt-names = "vopl_mmu"; | ||
574 | #iommu-cells = <0>; | ||
575 | status = "disabled"; | ||
576 | }; | ||
577 | |||
487 | gic: interrupt-controller@ffc01000 { | 578 | gic: interrupt-controller@ffc01000 { |
488 | compatible = "arm,gic-400"; | 579 | compatible = "arm,gic-400"; |
489 | interrupt-controller; | 580 | interrupt-controller; |
@@ -948,6 +1039,12 @@ | |||
948 | }; | 1039 | }; |
949 | }; | 1040 | }; |
950 | 1041 | ||
1042 | tsadc { | ||
1043 | otp_out: otp-out { | ||
1044 | rockchip,pins = <0 10 RK_FUNC_1 &pcfg_pull_none>; | ||
1045 | }; | ||
1046 | }; | ||
1047 | |||
951 | pwm0 { | 1048 | pwm0 { |
952 | pwm0_pin: pwm0-pin { | 1049 | pwm0_pin: pwm0-pin { |
953 | rockchip,pins = <7 0 RK_FUNC_1 &pcfg_pull_none>; | 1050 | rockchip,pins = <7 0 RK_FUNC_1 &pcfg_pull_none>; |