2 #include "skeleton.dtsi"
3 #include "rk3188-pinctrl.dtsi"
4 #include <dt-bindings/rkfb/rk_fb.h>
5 #include "rk3188_io_vol_domain.dtsi"
9 compatible = "rockchip,rk3188";
10 interrupt-parent = <&gic>;
11 rockchip,sram = <&sram>;
33 compatible = "arm,cortex-a9";
38 compatible = "arm,cortex-a9";
43 compatible = "arm,cortex-a9";
48 compatible = "arm,cortex-a9";
54 compatible = "arm,cortex-a9-twd-wdt";
55 reg = <0x1013c620 0x20>;
56 interrupts = <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
59 gic: interrupt-controller@1013d000 {
60 compatible = "arm,cortex-a9-gic";
62 #interrupt-cells = <3>;
63 reg = <0x1013d000 0x1000>,
67 L2: cache-controller@10138000 {
68 compatible = "rockchip,pl310-cache", "arm,pl310-cache";
69 reg = <0x10138000 0x1000>;
72 arm,tag-latency = <1 1 1>;
73 arm,data-latency = <3 1 2>;
74 rockchip,prefetch-ctrl = <0x70000003>;
75 /* L2X0_DYNAMIC_CLK_GATING_EN | L2X0_STNDBY_MODE_EN */
76 rockchip,power-ctrl = <0x3>;
78 (0x1 << 0) | // Full line of write zero behavior Enabled
79 (0x1 << 25) | // Round-robin replacement
80 (0x1 << L2X0_AUX_CTRL_DATA_PREFETCH_SHIFT) |
81 (0x1 << L2X0_AUX_CTRL_INSTR_PREFETCH_SHIFT) |
82 (0x1 << L2X0_AUX_CTRL_EARLY_BRESP_SHIFT)
84 rockchip,aux-ctrl = <0x72000001 (~0x72000001)>;
87 cpu_axi_bus: cpu_axi_bus@10128000 {
88 compatible = "rockchip,cpu_axi_bus";
89 reg = <0x10128000 0x8000>;
92 rockchip,offset = <0x1000>;
93 rockchip,priority = <0 0>;
96 rockchip,offset = <0x2000>;
97 rockchip,priority = <0 0>;
100 rockchip,offset = <0x2080>;
101 rockchip,priority = <0 0>;
104 rockchip,offset = <0x2100>;
105 rockchip,priority = <0 0>;
108 rockchip,offset = <0x4000>;
109 rockchip,priority = <2 2>;
112 rockchip,offset = <0x5000>;
113 rockchip,priority = <2 1>;
116 rockchip,offset = <0x6000>;
119 rockchip,offset = <0x7000>;
120 rockchip,priority = <3 3>;
123 rockchip,offset = <0x7080>;
126 rockchip,offset = <0x7100>;
129 rockchip,offset = <0x7180>;
130 rockchip,priority = <3 3>;
133 rockchip,offset = <0x7200>;
136 rockchip,offset = <0x7280>;
142 compatible = "rockchip,bootrom";
143 reg = <0x10120000 0x4000>;
147 compatible = "rockchip,bootram";
148 reg = <0x10080000 0x20>; /* 32 bytes */
151 sram: sram@10080020 {
152 compatible = "mmio-sram";
153 reg = <0x10080020 (0x8000 - 0x20)>; /* 32k - 32 */
158 compatible = "rockchip,pmu";
159 reg = <0x20004000 0x4000>;
163 compatible = "rockchip,timer";
164 reg = <0x20038000 0x20>;
165 interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>;
166 rockchip,percpu = <0>;
170 compatible = "rockchip,timer";
171 reg = <0x20038020 0x20>;
172 interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
173 rockchip,percpu = <1>;
177 compatible = "rockchip,timer";
178 reg = <0x20038040 0x20>;
179 interrupts = <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>;
180 rockchip,percpu = <2>;
184 compatible = "rockchip,timer";
185 reg = <0x20038060 0x20>;
186 interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>;
187 rockchip,percpu = <3>;
191 compatible = "rockchip,timer";
192 reg = <0x20038080 0x20>;
193 interrupts = <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>;
194 rockchip,broadcast = <1>;
198 compatible = "rockchip,timer";
199 reg = <0x200380a0 0x20>;
200 interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>;
201 rockchip,clocksource = <1>;
204 watchdog:wdt@2004c000 {
205 compatible = "rockchip,watch dog";
206 reg = <0x2004c000 0x100>;
207 clocks = <&clk_gates7 15>;
208 clock-names = "pclk_wdt";
209 interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>;
211 rockchip,timeout = <5>;
212 rockchip,atboot = <1>;
213 rockchip,debug = <0>;
218 #address-cells = <1>;
220 compatible = "arm,amba-bus";
221 interrupt-parent = <&gic>;
224 pdma0: pdma@20018000 {
225 compatible = "arm,pl330", "arm,primecell";
226 reg = <0x20018000 0x4000>;
227 interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
228 <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>;
231 #dma-requests = <10>;
234 pdma1: pdma@20078000 {
235 compatible = "arm,pl330", "arm,primecell";
236 reg = <0x20078000 0x4000>;
237 interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>,
238 <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>;
241 #dma-requests = <14>;
245 uart0: serial@10124000 {
246 compatible = "rockchip,serial";
247 reg = <0x10124000 0x100>;
248 interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
249 clock-frequency = <24000000>;
252 pinctrl-names = "default";
253 pinctrl-0 = <&uart0_xfer &uart0_cts &uart0_rts>;
257 uart1: serial@10126000 {
258 compatible = "rockchip,serial";
259 reg = <0x10126000 0x100>;
260 interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
261 clock-frequency = <24000000>;
264 pinctrl-names = "default";
265 pinctrl-0 = <&uart1_xfer &uart1_cts &uart1_rts>;
269 uart2: serial@20064000 {
270 compatible = "rockchip,serial";
271 reg = <0x20064000 0x100>;
272 interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
273 clock-frequency = <24000000>;
274 current-speed = <115200>;
277 pinctrl-names = "default";
278 pinctrl-0 = <&uart2_xfer>;
282 uart3: serial@20068000 {
283 compatible = "rockchip,serial";
284 reg = <0x20068000 0x100>;
285 interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
286 clock-frequency = <24000000>;
289 pinctrl-names = "default";
290 pinctrl-0 = <&uart3_xfer &uart3_cts &uart3_rts>;
295 compatible = "rockchip,fiq-debugger";
296 rockchip,serial-id = <2>;
297 rockchip,signal-irq = <112>;
298 rockchip,wake-irq = <0>;
303 compatible = "rockchip,rk30-i2c";
304 reg = <0x2002d000 0x1000>;
305 interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>;
306 #address-cells = <1>;
308 pinctrl-names = "default", "gpio";
309 pinctrl-0 = <&i2c0_sda &i2c0_scl>;
310 pinctrl-1 = <&i2c0_gpio>;
311 gpios = <&gpio1 GPIO_D0 GPIO_ACTIVE_LOW>, <&gpio1 GPIO_D1 GPIO_ACTIVE_LOW>;
312 clocks = <&clk_gates8 4>;
313 rockchip,check-idle = <1>;
318 compatible = "rockchip,rk30-i2c";
319 reg = <0x2002f000 0x1000>;
320 interrupts = <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>;
321 #address-cells = <1>;
323 pinctrl-names = "default", "gpio";
324 pinctrl-0 = <&i2c1_sda &i2c1_scl>;
325 pinctrl-1 = <&i2c1_gpio>;
326 gpios = <&gpio1 GPIO_D2 GPIO_ACTIVE_LOW>, <&gpio1 GPIO_D3 GPIO_ACTIVE_LOW>;
327 clocks = <&clk_gates8 5>;
328 rockchip,check-idle = <1>;
333 compatible = "rockchip,rk30-i2c";
334 reg = <0x20056000 0x1000>;
335 interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>;
336 #address-cells = <1>;
338 pinctrl-names = "default", "gpio";
339 pinctrl-0 = <&i2c2_sda &i2c2_scl>;
340 pinctrl-1 = <&i2c2_gpio>;
341 gpios = <&gpio1 GPIO_D4 GPIO_ACTIVE_LOW>, <&gpio1 GPIO_D5 GPIO_ACTIVE_LOW>;
342 clocks = <&clk_gates8 6>;
343 rockchip,check-idle = <1>;
348 compatible = "rockchip,rk30-i2c";
349 reg = <0x2005a000 0x1000>;
350 interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>;
351 #address-cells = <1>;
353 pinctrl-names = "default", "gpio";
354 pinctrl-0 = <&i2c3_sda &i2c3_scl>;
355 pinctrl-1 = <&i2c3_gpio>;
356 gpios = <&gpio3 GPIO_B6 GPIO_ACTIVE_LOW>, <&gpio3 GPIO_B7 GPIO_ACTIVE_LOW>;
357 clocks = <&clk_gates8 7>;
358 rockchip,check-idle = <1>;
363 compatible = "rockchip,rk30-i2c";
364 reg = <0x2005e000 0x1000>;
365 interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>;
366 #address-cells = <1>;
368 pinctrl-names = "default", "gpio";
369 pinctrl-0 = <&i2c4_sda &i2c4_scl>;
370 pinctrl-1 = <&i2c4_gpio>;
371 gpios = <&gpio1 GPIO_D6 GPIO_ACTIVE_LOW>, <&gpio1 GPIO_D7 GPIO_ACTIVE_LOW>;
372 clocks = <&clk_gates8 8>;
373 rockchip,check-idle = <1>;
378 compatible = "rockchip,clocks-init";
379 rockchip,clocks-init-parent =
380 <&clk_core &clk_apll>, <&aclk_cpu_mux &clk_gpll>,/*FIXME*/
381 <&aclk_peri_mux &clk_gpll>, <&clk_i2s_pll_mux &clk_cpll>,
382 <&clk_uart_pll_mux &clk_gpll>;
383 rockchip,clocks-init-rate =
384 <&clk_core 792000000>, <&clk_gpll 768000000>,
385 <&clk_cpll 594000000>, <&aclk_cpu 192000000>,
386 <&hclk_cpu 96000000>, <&pclk_cpu 48000000>,
387 <&pclk_ahb2apb 48000000>, <&aclk_peri 192000000>,
388 <&hclk_peri 96000000>, <&pclk_peri 48000000>,
389 <&clk_gpu 200000000>, <&aclk_lcdc0 300000000>,
390 <&aclk_lcdc1 300000000>;
394 compatible = "rockchip,rk-fb";
395 rockchip,disp-mode = <DUAL>;
399 compatible = "rockchip,rk-nandc";
400 reg = <0x10050000 0x4000>;
401 interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>;
404 lcdc0:lcdc@1010c000 {
405 compatible = "rockchip,rk3188-lcdc";
406 rockchip,prop = <PRMRY>;
407 rochchip,pwr18 = <0>;
408 reg = <0x1010c000 0x1000>;
409 interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
413 lcdc1:lcdc@1010e000 {
414 compatible = "rockchip,rk3188-lcdc";
415 rockchip,prop = <EXTEND>;
416 rockchip,pwr18 = <0>;
417 reg = <0x1010e000 0x1000>;
418 interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
419 pinctrl-names = "default", "gpio";
420 pinctrl-0 = <&lcdc1_lcdc>;
421 pinctrl-1 = <&lcdc1_gpio>;
425 compatible = "rockchip,rga";
426 reg = <0x10114000 0x1000>;
427 interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>;
428 clocks = <&clk_gates6 10>, <&clk_gates6 11>;
429 clock-names = "hclk_rga", "aclk_rga";
434 compatible = "rockchip,saradc";
435 reg = <0x2006c000 0x100>;
436 interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
437 #io-channel-cells = <1>;
439 rockchip,adc-vref = <1800>;
440 clock-frequency = <1000000>;
441 clocks = <&clk_saradc>, <&clk_gates7 14>;
442 clock-names = "saradc", "pclk_saradc";
446 spdif: rockchip-spdif@0x1011e000 {
447 compatible = "rockchip-spdif";
448 reg = <0x1011e000 0x2000>;
449 clocks = <&clk_spdif>;
450 interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
454 pinctrl-names = "default";
455 pinctrl-0 = <&spdif_tx>;
458 i2s1: rockchip-i2s@0x1011a000 {
459 compatible = "rockchip-i2s";
460 reg = <0x1011a000 0x2000>;
463 clock-names = "i2s_clk";
464 interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
468 dma-names = "tx", "rx";
469 pinctrl-names = "default", "sleep";
470 pinctrl-0 = <&i2s0_mclk &i2s0_sclk &i2s0_lrckrx &i2s0_lrcktx &i2s0_sdi &i2s0_sdo>;
471 pinctrl-1 = <&i2s0_gpio>;
475 compatible = "rockchip,pwm";
476 reg = <0x20030000 0x10>;
478 pinctrl-names = "default";
479 pinctrl-0 = <&pwm0_pin>;
485 compatible = "rockchip,pwm";
486 reg = <0x20030010 0x10>; /*0x20030000*/
488 pinctrl-names = "default";
489 pinctrl-0 = <&pwm1_pin>;
494 compatible = "rockchip,pwm";
495 reg = <0x20050020 0x10>; /*0x20030000*/
497 pinctrl-names = "default";
498 pinctrl-0 = <&pwm2_pin>;
504 compatible = "rockchip,pwm";
505 reg = <0x20050030 0x10>; /*0x20030000*/
507 pinctrl-names = "default";
508 pinctrl-0 = <&pwm3_pin>;
515 regulator_name="vdd_arm";
516 suspend_volt=<1000>; //mV
536 regulator_name="vdd_logic";
537 suspend_volt=<1000>; //mV
565 compatible = "rockchip,ion";
566 #address-cells = <1>;
568 rockchip,ion-heap@1 { /* CMA HEAP */
571 rockchip,ion-heap@3 { /* SYSTEM HEAP */
576 dwc_control_usb: dwc-control-usb@0x200080ac {
577 compatible = "rockchip,dwc-control-usb";
578 reg = <0x200080ac 0x4>,
583 reg-names = "GRF_SOC_STATUS0",
588 gpios = <&gpio0 GPIO_C0 GPIO_ACTIVE_LOW>, <&gpio3 GPIO_D5 GPIO_ACTIVE_LOW>;
589 clocks = <&clk_gates4 5>;
590 clock-names = "hclk_usb_peri";
594 compatible = "rockchip,usb20_otg";
595 reg = <0x10180000 0x40000>;
596 interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
597 clocks = <&clk_otgphy0_480m>, <&clk_gates5 13>;
598 clock-names = "otgphy0", "hclk_otg0";
602 compatible = "rockchip,usb20_host";
603 reg = <0x101c0000 0x40000>;
604 interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
605 clocks = <&clk_otgphy1_480m>, <&clk_gates7 3>;
606 clock-names = "otgphy1", "hclk_otg1";
610 compatible = "rockchip,rk_hsic_host";
611 reg = <0x10240000 0x40000>;
612 interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
613 clocks = <&clk_hsicphy480m>, <&clk_gates7 4>,
614 <&clk_hsicphy12m>, <&clk_otgphy1_480m>;
615 clock-names = "hsicphy480m", "hclk_hsic",
616 "hsicphy12m", "hsic_otgphy1";