aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/boot/dts/rk3288.dtsi
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/boot/dts/rk3288.dtsi')
-rw-r--r--arch/arm/boot/dts/rk3288.dtsi99
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>;