2 #include "skeleton.dtsi"
3 #include "rk3188-pinctrl.dtsi"
4 #include <dt-bindings/rkfb/rk_fb.h>
5 #include "rk3188_io_vol_domain.dtsi"
7 #include <dt-bindings/sensor-dev.h>
10 compatible = "rockchip,rk3188";
11 interrupt-parent = <&gic>;
12 rockchip,sram = <&sram>;
34 compatible = "arm,cortex-a9";
39 compatible = "arm,cortex-a9";
44 compatible = "arm,cortex-a9";
49 compatible = "arm,cortex-a9";
55 compatible = "arm,cortex-a9-twd-wdt";
56 reg = <0x1013c620 0x20>;
57 interrupts = <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
60 gic: interrupt-controller@1013d000 {
61 compatible = "arm,cortex-a9-gic";
63 #interrupt-cells = <3>;
64 reg = <0x1013d000 0x1000>,
68 L2: cache-controller@10138000 {
69 compatible = "rockchip,pl310-cache", "arm,pl310-cache";
70 reg = <0x10138000 0x1000>;
73 arm,tag-latency = <1 1 1>;
74 arm,data-latency = <3 1 2>;
75 rockchip,prefetch-ctrl = <0x70000003>;
76 /* L2X0_DYNAMIC_CLK_GATING_EN | L2X0_STNDBY_MODE_EN */
77 rockchip,power-ctrl = <0x3>;
79 (0x1 << 0) | // Full line of write zero behavior Enabled
80 (0x1 << 25) | // Round-robin replacement
81 (0x1 << L2X0_AUX_CTRL_DATA_PREFETCH_SHIFT) |
82 (0x1 << L2X0_AUX_CTRL_INSTR_PREFETCH_SHIFT) |
83 (0x1 << L2X0_AUX_CTRL_EARLY_BRESP_SHIFT)
85 rockchip,aux-ctrl = <0x72000001 (~0x72000001)>;
88 cpu_axi_bus: cpu_axi_bus@10128000 {
89 compatible = "rockchip,cpu_axi_bus";
90 reg = <0x10128000 0x8000>;
93 rockchip,offset = <0x1000>;
94 rockchip,priority = <0 0>;
97 rockchip,offset = <0x2000>;
98 rockchip,priority = <0 0>;
101 rockchip,offset = <0x2080>;
102 rockchip,priority = <0 0>;
105 rockchip,offset = <0x2100>;
106 rockchip,priority = <0 0>;
109 rockchip,offset = <0x4000>;
110 rockchip,priority = <2 2>;
113 rockchip,offset = <0x5000>;
114 rockchip,priority = <2 1>;
117 rockchip,offset = <0x6000>;
120 rockchip,offset = <0x7000>;
121 rockchip,priority = <3 3>;
124 rockchip,offset = <0x7080>;
127 rockchip,offset = <0x7100>;
130 rockchip,offset = <0x7180>;
131 rockchip,priority = <3 3>;
134 rockchip,offset = <0x7200>;
137 rockchip,offset = <0x7280>;
143 compatible = "rockchip,bootrom";
144 reg = <0x10120000 0x4000>;
148 compatible = "rockchip,bootram";
149 reg = <0x10080000 0x20>; /* 32 bytes */
152 sram: sram@10080020 {
153 compatible = "mmio-sram";
154 reg = <0x10080020 (0x8000 - 0x20)>; /* 32k - 32 */
159 compatible = "rockchip,pmu";
160 reg = <0x20004000 0x4000>;
164 compatible = "rockchip,timer";
165 reg = <0x20038000 0x20>;
166 interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>;
167 rockchip,percpu = <0>;
171 compatible = "rockchip,timer";
172 reg = <0x20038020 0x20>;
173 interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
174 rockchip,percpu = <1>;
178 compatible = "rockchip,timer";
179 reg = <0x20038040 0x20>;
180 interrupts = <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>;
181 rockchip,percpu = <2>;
185 compatible = "rockchip,timer";
186 reg = <0x20038060 0x20>;
187 interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>;
188 rockchip,percpu = <3>;
192 compatible = "rockchip,timer";
193 reg = <0x20038080 0x20>;
194 interrupts = <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>;
195 rockchip,broadcast = <1>;
199 compatible = "rockchip,timer";
200 reg = <0x200380a0 0x20>;
201 interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>;
202 rockchip,clocksource = <1>;
205 watchdog:wdt@2004c000 {
206 compatible = "rockchip,watch dog";
207 reg = <0x2004c000 0x100>;
208 clocks = <&clk_gates7 15>;
209 clock-names = "pclk_wdt";
210 interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>;
212 rockchip,timeout = <5>;
213 rockchip,atboot = <1>;
214 rockchip,debug = <0>;
219 #address-cells = <1>;
221 compatible = "arm,amba-bus";
222 interrupt-parent = <&gic>;
225 pdma0: pdma@20018000 {
226 compatible = "arm,pl330", "arm,primecell";
227 reg = <0x20018000 0x4000>;
228 interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
229 <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>;
233 pdma1: pdma@20078000 {
234 compatible = "arm,pl330", "arm,primecell";
235 reg = <0x20078000 0x4000>;
236 interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>,
237 <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>;
242 uart0: serial@10124000 {
243 compatible = "rockchip,serial";
244 reg = <0x10124000 0x100>;
245 interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
246 clock-frequency = <24000000>;
247 clocks = <&clk_uart0>, <&clk_gates8 0>;
248 clock-names = "sclk_uart", "pclk_uart";
251 dmas = <&pdma0 0>, <&pdma0 1>;
253 pinctrl-names = "default";
254 pinctrl-0 = <&uart0_xfer &uart0_cts &uart0_rts>;
258 uart1: serial@10126000 {
259 compatible = "rockchip,serial";
260 reg = <0x10126000 0x100>;
261 interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
262 clock-frequency = <24000000>;
263 clocks = <&clk_uart1>, <&clk_gates8 1>;
264 clock-names = "sclk_uart", "pclk_uart";
267 dmas = <&pdma0 2>, <&pdma0 3>;
269 pinctrl-names = "default";
270 pinctrl-0 = <&uart1_xfer &uart1_cts &uart1_rts>;
274 uart2: serial@20064000 {
275 compatible = "rockchip,serial";
276 reg = <0x20064000 0x100>;
277 interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
278 clock-frequency = <24000000>;
279 clocks = <&clk_uart2>, <&clk_gates8 2>;
280 clock-names = "sclk_uart", "pclk_uart";
281 current-speed = <115200>;
284 pinctrl-names = "default";
285 pinctrl-0 = <&uart2_xfer>;
289 uart3: serial@20068000 {
290 compatible = "rockchip,serial";
291 reg = <0x20068000 0x100>;
292 interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
293 clock-frequency = <24000000>;
294 clocks = <&clk_uart3>, <&clk_gates8 3>;
295 clock-names = "sclk_uart", "pclk_uart";
298 dmas = <&pdma1 8>, <&pdma1 9>;
300 pinctrl-names = "default";
301 pinctrl-0 = <&uart3_xfer &uart3_cts &uart3_rts>;
306 compatible = "rockchip,fiq-debugger";
307 rockchip,serial-id = <2>;
308 rockchip,signal-irq = <112>;
309 rockchip,wake-irq = <0>;
314 compatible = "rockchip,rk30-i2c";
315 reg = <0x2002d000 0x1000>;
316 interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>;
317 #address-cells = <1>;
319 pinctrl-names = "default", "gpio";
320 pinctrl-0 = <&i2c0_sda &i2c0_scl>;
321 pinctrl-1 = <&i2c0_gpio>;
322 gpios = <&gpio1 GPIO_D0 GPIO_ACTIVE_LOW>, <&gpio1 GPIO_D1 GPIO_ACTIVE_LOW>;
323 clocks = <&clk_gates8 4>;
324 rockchip,check-idle = <1>;
329 compatible = "rockchip,rk30-i2c";
330 reg = <0x2002f000 0x1000>;
331 interrupts = <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>;
332 #address-cells = <1>;
334 pinctrl-names = "default", "gpio";
335 pinctrl-0 = <&i2c1_sda &i2c1_scl>;
336 pinctrl-1 = <&i2c1_gpio>;
337 gpios = <&gpio1 GPIO_D2 GPIO_ACTIVE_LOW>, <&gpio1 GPIO_D3 GPIO_ACTIVE_LOW>;
338 clocks = <&clk_gates8 5>;
339 rockchip,check-idle = <1>;
344 compatible = "rockchip,rk30-i2c";
345 reg = <0x20056000 0x1000>;
346 interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>;
347 #address-cells = <1>;
349 pinctrl-names = "default", "gpio";
350 pinctrl-0 = <&i2c2_sda &i2c2_scl>;
351 pinctrl-1 = <&i2c2_gpio>;
352 gpios = <&gpio1 GPIO_D4 GPIO_ACTIVE_LOW>, <&gpio1 GPIO_D5 GPIO_ACTIVE_LOW>;
353 clocks = <&clk_gates8 6>;
354 rockchip,check-idle = <1>;
359 compatible = "rockchip,rk30-i2c";
360 reg = <0x2005a000 0x1000>;
361 interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>;
362 #address-cells = <1>;
364 pinctrl-names = "default", "gpio";
365 pinctrl-0 = <&i2c3_sda &i2c3_scl>;
366 pinctrl-1 = <&i2c3_gpio>;
367 gpios = <&gpio3 GPIO_B6 GPIO_ACTIVE_LOW>, <&gpio3 GPIO_B7 GPIO_ACTIVE_LOW>;
368 clocks = <&clk_gates8 7>;
369 rockchip,check-idle = <1>;
374 compatible = "rockchip,rk30-i2c";
375 reg = <0x2005e000 0x1000>;
376 interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>;
377 #address-cells = <1>;
379 pinctrl-names = "default", "gpio";
380 pinctrl-0 = <&i2c4_sda &i2c4_scl>;
381 pinctrl-1 = <&i2c4_gpio>;
382 gpios = <&gpio1 GPIO_D6 GPIO_ACTIVE_LOW>, <&gpio1 GPIO_D7 GPIO_ACTIVE_LOW>;
383 clocks = <&clk_gates8 8>;
384 rockchip,check-idle = <1>;
389 compatible = "rockchip,clocks-init";
390 rockchip,clocks-init-parent =
391 <&clk_core &clk_apll>, <&aclk_cpu_mux &clk_gpll>,/*FIXME*/
392 <&aclk_peri_mux &clk_gpll>, <&clk_i2s_pll_mux &clk_cpll>,
393 <&clk_uart_pll_mux &clk_gpll>;
394 rockchip,clocks-init-rate =
395 <&clk_core 792000000>, <&clk_gpll 768000000>,
396 <&clk_cpll 594000000>, <&aclk_cpu 192000000>,
397 <&hclk_cpu 96000000>, <&pclk_cpu 48000000>,
398 <&pclk_ahb2apb 48000000>, <&aclk_peri 192000000>,
399 <&hclk_peri 96000000>, <&pclk_peri 48000000>,
400 <&clk_gpu 200000000>, <&aclk_lcdc0 300000000>,
401 <&aclk_lcdc1 300000000>;
405 compatible = "rockchip,rk-fb";
406 rockchip,disp-mode = <DUAL>;
410 compatible = "rockchip,rk-nandc";
411 reg = <0x10050000 0x4000>;
412 interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>;
415 lcdc0:lcdc@1010c000 {
416 compatible = "rockchip,rk3188-lcdc";
417 rockchip,prop = <PRMRY>;
418 rochchip,pwr18 = <0>;
419 reg = <0x1010c000 0x1000>;
420 interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
424 lcdc1:lcdc@1010e000 {
425 compatible = "rockchip,rk3188-lcdc";
426 rockchip,prop = <EXTEND>;
427 rockchip,pwr18 = <0>;
428 reg = <0x1010e000 0x1000>;
429 interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
430 pinctrl-names = "default", "gpio";
431 pinctrl-0 = <&lcdc1_lcdc>;
432 pinctrl-1 = <&lcdc1_gpio>;
436 compatible = "rockchip,rga";
437 reg = <0x10114000 0x1000>;
438 interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>;
439 clocks = <&clk_gates6 10>, <&clk_gates6 11>;
440 clock-names = "hclk_rga", "aclk_rga";
444 compatible = "rockchip,saradc";
445 reg = <0x2006c000 0x100>;
446 interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
447 #io-channel-cells = <1>;
449 rockchip,adc-vref = <1800>;
450 clock-frequency = <1000000>;
451 clocks = <&clk_saradc>, <&clk_gates7 14>;
452 clock-names = "saradc", "pclk_saradc";
456 spdif: rockchip-spdif@0x1011e000 {
457 compatible = "rockchip-spdif";
458 reg = <0x1011e000 0x2000>;
459 clocks = <&clk_spdif>;
460 interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
464 pinctrl-names = "default";
465 pinctrl-0 = <&spdif_tx>;
468 i2s0: rockchip-i2s@0x1011a000 {
469 compatible = "rockchip-i2s";
470 reg = <0x1011a000 0x2000>;
473 clock-names = "i2s_clk";
474 interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
478 dma-names = "tx", "rx";
479 pinctrl-names = "default", "sleep";
480 pinctrl-0 = <&i2s0_mclk &i2s0_sclk &i2s0_lrckrx &i2s0_lrcktx &i2s0_sdi &i2s0_sdo>;
481 pinctrl-1 = <&i2s0_gpio>;
485 compatible = "rockchip,pwm";
486 reg = <0x20030000 0x10>;
488 pinctrl-names = "default";
489 pinctrl-0 = <&pwm0_pin>;
495 compatible = "rockchip,pwm";
496 reg = <0x20030010 0x10>; /*0x20030000*/
498 pinctrl-names = "default";
499 pinctrl-0 = <&pwm1_pin>;
504 compatible = "rockchip,pwm";
505 reg = <0x20050020 0x10>; /*0x20030000*/
507 pinctrl-names = "default";
508 pinctrl-0 = <&pwm2_pin>;
514 compatible = "rockchip,pwm";
515 reg = <0x20050030 0x10>; /*0x20030000*/
517 pinctrl-names = "default";
518 pinctrl-0 = <&pwm3_pin>;
525 regulator_name="vdd_arm";
526 suspend_volt=<1000>; //mV
546 regulator_name="vdd_logic";
547 suspend_volt=<1000>; //mV
575 compatible = "rockchip,ion";
576 #address-cells = <1>;
578 rockchip,ion-heap@1 { /* CMA HEAP */
581 rockchip,ion-heap@3 { /* SYSTEM HEAP */
586 dwc_control_usb: dwc-control-usb@0x200080ac {
587 compatible = "rockchip,rk3188-dwc-control-usb";
588 reg = <0x200080ac 0x4>,
593 reg-names = "GRF_SOC_STATUS0",
598 interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>;
599 interrupt-names = "bvalid";
600 gpios = <&gpio0 GPIO_C0 GPIO_ACTIVE_LOW>, <&gpio3 GPIO_D5 GPIO_ACTIVE_LOW>;
601 clocks = <&clk_gates4 5>;
602 clock-names = "hclk_usb_peri";
606 compatible = "rockchip,usb20_otg";
607 reg = <0x10180000 0x40000>;
608 interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
609 clocks = <&clk_otgphy0_480m>, <&clk_gates5 13>;
610 clock-names = "otgphy0", "hclk_otg0";
614 compatible = "rockchip,usb20_host";
615 reg = <0x101c0000 0x40000>;
616 interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
617 clocks = <&clk_otgphy1_480m>, <&clk_gates7 3>;
618 clock-names = "otgphy1", "hclk_otg1";
622 compatible = "rockchip,rk_hsic_host";
623 reg = <0x10240000 0x40000>;
624 interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
625 clocks = <&clk_hsicphy480m>, <&clk_gates7 4>,
626 <&clk_hsicphy12m>, <&clk_otgphy1_480m>;
627 clock-names = "hsicphy480m", "hclk_hsic",
628 "hsicphy12m", "hsic_otgphy1";