1 #include <dt-bindings/interrupt-controller/arm-gic.h>
2 #include <dt-bindings/suspend/rockchip-pm.h>
3 #include <dt-bindings/sensor-dev.h>
4 #include <dt-bindings/clock/rk_system_status.h>
5 #include <dt-bindings/rkfb/rk_fb.h>
7 #include "skeleton.dtsi"
8 #include "rk312x-clocks.dtsi"
9 #include "rk312x-pinctrl.dtsi"
12 compatible = "rockchip,rk312x";
13 rockchip,sram = <&sram>;
14 interrupt-parent = <&gic>;
34 compatible = "arm,cortex-a7";
39 compatible = "arm,cortex-a7";
44 compatible = "arm,cortex-a7";
49 compatible = "arm,cortex-a7";
54 gic: interrupt-controller@10139000 {
55 compatible = "arm,cortex-a15-gic";
57 #interrupt-cells = <3>;
59 reg = <0x10139000 0x1000>,
64 compatible = "arm,cortex-a7-pmu";
65 interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>,
66 <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>,
67 <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>,
68 <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>;
71 cpu_axi_bus: cpu_axi_bus {
72 compatible = "rockchip,cpu_axi_bus";
83 reg = <0x10128080 0x20>;
86 reg = <0x1012a000 0x20>;
89 reg = <0x1012c000 0x20>;
92 reg = <0x1012d000 0x20>;
95 reg = <0x1012e000 0x20>;
98 reg = <0x1012f000 0x20>;
101 reg = <0x1012f080 0x20>;
104 reg = <0x1012f100 0x20>;
107 reg = <0x1012f180 0x20>;
108 rockchip,priority = <3 3>;
111 reg = <0x1012f200 0x20>;
112 rockchip,priority = <3 3>;
117 #address-cells = <1>;
122 reg = <0x10128000 0x20>;
123 rockchip,read-latency = <0x3f>;
128 sram: sram@10080400 {
129 compatible = "mmio-sram";
130 reg = <0x10080400 0x1C00>;
136 compatible = "arm,armv7-timer";
137 interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>,
138 <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
139 clock-frequency = <24000000>;
143 compatible = "rockchip,timer";
144 reg = <0x20044000 0x20>;
145 interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
146 rockchip,broadcast = <1>;
149 watchdog: wdt@2004c000 {
150 compatible = "rockchip,watch dog";
151 reg = <0x2004c000 0x100>;
152 // clocks = <&clk_gates7 15>;
153 clock-names = "pclk_wdt";
154 interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
156 rockchip,timeout = <60>;
157 rockchip,atboot = <1>;
158 rockchip,debug = <0>;
163 #address-cells = <1>;
165 compatible = "arm,amba-bus";
166 interrupt-parent = <&gic>;
169 pdma: pdma@20078000 {
170 compatible = "arm,pl330", "arm,primecell";
171 reg = <0x20078000 0x4000>;
172 clocks = <&clk_gates5 1>;
173 clock-names = "apb_pclk";
174 interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
175 <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>;
180 reset: reset@20000110 {
181 compatible = "rockchip,reset";
182 reg = <0x20000110 0x24>;
183 rockchip,reset-flag = <ROCKCHIP_RESET_HIWORD_MASK>;
187 nandc: nandc@10500000 {
188 compatible = "rockchip,rk-nandc";
189 reg = <0x10500000 0x4000>;
190 interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>;
191 //pinctrl-names = "default";
192 //pinctrl-0 = <&nandc_ale &nandc_cle &nandc_wrn &nandc_rdn &nandc_rdy &nandc_cs0 &nandc_data>;
194 clocks = <&clk_nandc>, <&clk_gates5 9>, <&clk_gates10 15>;
195 clock-names = "clk_nandc", "g_clk_nandc", "hclk_nandc";
198 nandc0reg: nandc0@10500000 {
199 compatible = "rockchip,rk-nandc";
200 reg = <0x10500000 0x4000>;
202 uart0: serial@20060000 {
203 compatible = "rockchip,serial";
204 reg = <0x20060000 0x100>;
205 interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
206 clock-frequency = <24000000>;
207 clocks = <&clk_uart0>, <&clk_gates8 0>;
208 clock-names = "sclk_uart", "pclk_uart";
211 dmas = <&pdma 2>, <&pdma 3>;
213 pinctrl-names = "default";
214 pinctrl-0 = <&uart0_xfer &uart0_cts &uart0_rts>;
218 uart1: serial@20064000 {
219 compatible = "rockchip,serial";
220 reg = <0x20064000 0x100>;
221 interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>;
222 clock-frequency = <24000000>;
223 clocks = <&clk_uart1>, <&clk_gates8 1>;
224 clock-names = "sclk_uart", "pclk_uart";
227 dmas = <&pdma 4>, <&pdma 5>;
229 pinctrl-names = "default";
230 pinctrl-0 = <&uart1_xfer &uart1_cts &uart1_rts>;
234 uart2: serial@20068000 {
235 compatible = "rockchip,serial";
236 reg = <0x20068000 0x100>;
237 interrupts = <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>;
238 clock-frequency = <24000000>;
239 clocks = <&clk_uart2>, <&clk_gates8 2>;
240 clock-names = "sclk_uart", "pclk_uart";
243 dmas = <&pdma 6>, <&pdma 7>;
245 pinctrl-names = "default";
246 pinctrl-0 = <&uart2_xfer>;
251 compatible = "rockchip,rk312x-gmac";
252 reg = <0x2008c000 0x4000>;
253 interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>; /*irq=88*/
254 interrupt-names = "macirq";
255 clocks = <&clk_mac_ref>, <&clk_gates2 6>,
256 <&clk_gates2 7>, <&clk_gates2 4>,
257 <&clk_gates2 5>, <&clk_gates10 10>,
259 clock-names = "clk_mac", "mac_clk_rx",
260 "mac_clk_tx", "clk_mac_ref",
261 "clk_mac_refout", "aclk_mac",
264 pinctrl-names = "default";
265 pinctrl-0 = <&gmac_rxdv &gmac_txclk &gmac_crs &gmac_rxclk &gmac_mdio &gmac_txen &gmac_clk &gmac_rxer &gmac_rxd1 &gmac_rxd0 &gmac_txd1 &gmac_txd0 &gmac_rxd3 &gmac_rxd2 &gmac_txd2 &gmac_txd3 &gmac_col_gpio &gmac_mdc>;
269 compatible = "rockchip,fiq-debugger";
270 rockchip,serial-id = <2>;
271 rockchip,signal-irq = <106>;
272 rockchip,wake-irq = <0>;
276 rockchip_clocks_init: clocks-init{
277 compatible = "rockchip,clocks-init";
278 rockchip,clocks-init-parent =
279 <&clk_core &clk_apll>, <&aclk_cpu &clk_gpll_div2>,
280 <&aclk_peri &clk_gpll_div2>, <&clk_uart0_pll &clk_gpll>,
281 <&clk_uart2_pll &clk_gpll>, <&clk_i2s_2ch_pll &clk_gpll>,
282 <&clk_i2s_8ch_pll &clk_gpll>, <&clk_spdif_pll &clk_gpll>,
283 <&clk_vepu &clk_gpll_div2>, <&clk_vdpu &clk_gpll_div2>,
284 <&clk_hevc_core &clk_gpll>, <&aclk_vio0_pre &clk_gpll_div2>,
285 <&aclk_vio1_pre &clk_gpll_div2>, <&hclk_vio_pre &clk_gpll_div2>,
286 <&sclk_lcdc0 &clk_cpll>, <&clk_gpu &clk_gpll_div2>,
287 <&clk_cif_pll &clk_gpll_div2>, <&dclk_ebc &clk_gpll_div2>,
288 <&clk_emmc &clk_gpll_div2>, <&clk_sdio &clk_gpll_div2>,
289 <&clk_sfc &clk_gpll_div2>, <&clk_sdmmc0 &clk_gpll_div2>,
290 <&clk_tsp &clk_gpll_div2>, <&clk_nandc &clk_gpll_div2>,
291 <&clk_mac_pll &clk_cpll>;
292 rockchip,clocks-init-rate =
293 <&clk_core 600000000>, <&clk_gpll 594000000>,
294 <&clk_cpll 400000000>, <&aclk_cpu 300000000>,
295 <&hclk_cpu_pre 150000000>, <&pclk_cpu_pre 75000000>,
296 <&aclk_peri 300000000>, <&hclk_peri_pre 150000000>,
297 <&pclk_peri_pre 75000000>, <&clk_gpu 300000000>,
298 <&aclk_vio0_pre 300000000>, <&hclk_vio_pre 150000000>,
299 <&aclk_vio1_pre 300000000>, <&clk_vepu 300000000>,
300 <&clk_vdpu 300000000>, <&clk_hevc_core 200000000>,
301 <&clk_mac_ref 125000000>;
302 /* rockchip,clocks-uboot-has-init =
306 compatible = "arm,mali400";
307 reg = <0x10091000 0x200>,
315 reg-names = "Mali_L2",
323 interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>,
324 <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
325 <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>,
326 <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
327 <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>,
328 <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
330 interrupt-names = "Mali_GP_IRQ",
339 compatible = "rockchip,clocks-enable";
342 <&clk_gates0 6>,<&clk_gates0 0>,
346 <&clk_gates0 1>, <&clk_gates0 3>,
347 <&clk_gates0 4>, <&clk_gates0 5>,
351 <&clk_gates10 3>, <&clk_gates10 4>,
352 <&clk_gates10 5>, <&clk_gates10 6>,
353 <&clk_gates10 7>, <&clk_gates10 8>,
356 <&clk_gates2 0>, <&hclk_peri_pre>,
357 <&pclk_peri_pre>, <&clk_gates2 1>,
360 <&clk_gates4 12>,/*aclk_intmem*/
361 <&clk_gates4 10>,/*aclk_strc_sys*/
364 //<&clk_gates5 6>,/*hclk_rom*/
365 <&clk_gates3 5>,/*hclk_crypto*/
368 <&clk_gates5 4>,/*pclk_grf*/
369 <&clk_gates5 7>,/*pclk_ddrupctl*/
370 //<&clk_gates5 14>,/*pclk_acodec*/
371 //<&clk_gates3 8>,/*pclk_hdmi*/
374 //<&clk_gates10 10>,/*aclk_gmac*/
375 <&clk_gates4 3>,/*aclk_peri_axi_matrix*/
376 //<&clk_gates5 1>,/*aclk_dmac2*/
377 <&clk_gates9 15>,/*aclk_peri_niu*/
378 <&clk_gates9 2>,/*g_pclk_pmu*/
379 <&clk_gates9 3>,/*g_pclk_pmu_noc*/
380 <&clk_gates4 2>,/*aclk_cpu_peri*/
383 <&clk_gates4 0>,/*hclk_peri_matrix*/
384 //<&clk_gates9 13>,/*hclk_usb_peri*/
385 <&clk_gates9 14>,/*hclk_peri_arbi*/
388 <&clk_gates4 1>,/*pclk_peri_axi_matrix*/
391 //<&clk_gates6 12>,/*hclk_vio_niu*/
392 //<&clk_gates6 1>,/*hclk_lcdc*/
395 //<&clk_gates6 13>,/*aclk_vio*/
396 //<&clk_gates6 0>,/*aclk_lcdc*/
399 //<&clk_gates9 10>,/*aclk_vio1_niu*/
404 <&clk_gates8 2>,/*pclk_uart2*/
409 //<&clk_gates1 3>,/*clk_jtag*/
412 <&clk_gates1 0>;/*pclk_pmu_pre*/
416 compatible = "rockchip,rk30-i2c";
417 reg = <0x20072000 0x1000>;
418 interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>;
419 #address-cells = <1>;
421 pinctrl-names = "default", "gpio";
422 pinctrl-0 = <&i2c0_sda &i2c0_scl>;
423 pinctrl-1 = <&i2c0_gpio>;
424 gpios = <&gpio0 GPIO_A1 GPIO_ACTIVE_LOW>, <&gpio0 GPIO_A0 GPIO_ACTIVE_LOW>;
425 clocks = <&clk_gates8 4>;
426 rockchip,check-idle = <1>;
431 compatible = "rockchip,rk30-i2c";
432 reg = <0x20056000 0x1000>;
433 interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
434 #address-cells = <1>;
436 pinctrl-names = "default", "gpio";
437 pinctrl-0 = <&i2c1_sda &i2c1_scl>;
438 pinctrl-1 = <&i2c1_gpio>;
439 gpios = <&gpio0 GPIO_A3 GPIO_ACTIVE_LOW>, <&gpio0 GPIO_A2 GPIO_ACTIVE_LOW>;
440 clocks = <&clk_gates8 5>;
441 rockchip,check-idle = <1>;
446 compatible = "rockchip,rk30-i2c";
447 reg = <0x2005a000 0x1000>;
448 interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
449 #address-cells = <1>;
451 pinctrl-names = "default", "gpio";
452 pinctrl-0 = <&i2c2_sda &i2c2_scl>;
453 pinctrl-1 = <&i2c2_gpio>;
454 gpios = <&gpio2 GPIO_C4 GPIO_ACTIVE_LOW>, <&gpio2 GPIO_C5 GPIO_ACTIVE_LOW>;
455 clocks = <&clk_gates8 6>;
456 rockchip,check-idle = <1>;
461 compatible = "rockchip,rk30-i2c";
462 reg = <0x2005e000 0x1000>;
463 interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>;
464 #address-cells = <1>;
466 pinctrl-names = "default", "gpio";
467 pinctrl-0 = <&i2c3_sda &i2c3_scl>;
468 pinctrl-1 = <&i2c3_gpio>;
469 gpios = <&gpio0 GPIO_A7 GPIO_ACTIVE_LOW>, <&gpio0 GPIO_A6 GPIO_ACTIVE_LOW>;
470 clocks = <&clk_gates8 7>;
471 rockchip,check-idle = <1>;
475 i2s0: i2s0@10220000 {
476 compatible = "rockchip-i2s";
477 reg = <0x10220000 0x1000>;
479 clocks = <&clk_i2s_2ch>, <&clk_i2s_2ch_out>, <&clk_gates7 2>;
480 clock-names = "i2s_clk", "i2s_mclk", "i2s_hclk";
481 interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
482 dmas = <&pdma 0>, <&pdma 1>;
484 dma-names = "tx", "rx";
485 //pinctrl-names = "default", "sleep";
486 //pinctrl-0 = <&i2s0_mclk &i2s0_sclk &i2s0_lrckrx &i2s0_lrcktx &i2s0_sdi &i2s0_sdo>;
487 //pinctrl-1 = <&i2s0_gpio>;
491 i2s1: i2s1@10200000 {
492 compatible = "rockchip-i2s";
493 reg = <0x10200000 0x1000>;
495 clocks = <&clk_i2s_8ch>, <&clk_gates7 4>;
496 clock-names = "i2s_clk", "i2s_hclk";
497 interrupts = <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>;
498 dmas = <&pdma 14>, <&pdma 15>;
500 dma-names = "tx", "rx";
503 spdif: spdif@10204000 {
504 compatible = "rockchip-spdif";
505 reg = <0x10204000 0x1000>;
506 clocks = <&clk_spdif>, <&clk_gates10 9>;
507 clock-names = "spdif_mclk", "spdif_hclk";
508 interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>;
512 pinctrl-names = "default";
513 pinctrl-0 = <&spdif_tx>;
516 dsihost0: mipi@10110000{
517 compatible = "rockchip,rk312x-dsi";
519 reg = <0x10110000 0x4000>, <0x20038000 0x4000>;
520 reg-names = "mipi_dsi_host" ,"mipi_dsi_phy";
521 interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
522 clocks = <&clk_gates2 15>, <&clk_gates5 0>, <&clk_gates9 6>, <&clk_gates9 5>, <&pd_mipidsi>;
523 clock-names = "clk_mipi_24m", "pclk_mipi_dsi", "pclk_mipi_dsi_host", "hclk_vio_h2p", "pd_mipi_dsi";
527 emmc: rksdmmc@1021c000 {
528 compatible = "rockchip,rk_mmc", "rockchip,rk312x-sdmmc";
529 reg = <0x1021c000 0x4000>;
530 interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
531 #address-cells = <1>;
533 //pinctrl-names = "default",,"suspend";
534 //pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_cd &sd0_wp &sd0_pwr &sd0_bus1 &sd0_bus4>;
535 clocks = <&clk_emmc>, <&clk_gates7 0>;
536 clock-names = "clk_mmc", "hclk_mmc";
538 dma-names = "dw_mci";
540 fifo-depth = <0x100>;
542 cru_regsbase = <0x124>;
543 cru_reset_offset = <3>;
547 sdmmc: rksdmmc@10214000 {
548 compatible = "rockchip,rk_mmc", "rockchip,rk312x-sdmmc";
549 reg = <0x10214000 0x4000>;
550 interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
551 #address-cells = <1>;
553 pinctrl-names = "default", "idle", "udbg";
554 pinctrl-0 = <&sdmmc0_clk &sdmmc0_cmd &sdmmc0_dectn &sdmmc0_bus4>;
555 pinctrl-1 = <&sdmmc0_gpio>;
556 pinctrl-2 = <&uart2_xfer &sdmmc0_dectn>;
557 clocks = <&clk_sdmmc0>, <&clk_gates5 10>;
558 clock-names = "clk_mmc", "hclk_mmc";
560 dma-names = "dw_mci";
562 fifo-depth = <0x100>;
564 cru_regsbase = <0x124>;
565 cru_reset_offset = <1>;
568 sdio: rksdmmc@10218000 {
569 compatible = "rockchip,rk_mmc", "rockchip,rk312x-sdmmc";
570 reg = <0x10218000 0x4000>;
571 interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
572 #address-cells = <1>;
574 pinctrl-names = "default","idle";
575 pinctrl-0 = <&sdio0_pwren &sdio0_cmd &sdio0_clk &sdio0_bus4>;
576 pinctrl-1 = <&sdio0_gpio>;
577 clocks = <&clk_sdio>, <&clk_gates5 11>;
578 clock-names = "clk_mmc", "hclk_mmc";
580 dma-names = "dw_mci";
582 fifo-depth = <0x100>;
584 cru_regsbase = <0x124>;
585 cru_reset_offset = <2>;
589 compatible = "rockchip,rockchip-spi";
590 reg = <0x20074000 0x1000>;
591 interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
592 #address-cells = <1>;
594 pinctrl-names = "default";
595 pinctrl-0 = <&spi0_txd_mux0 &spi0_rxd_mux0 &spi0_clk_mux0 &spi0_cs0_mux0 &spi0_cs1_mux0>;
596 //pinctrl-0 = <&spi0_txd_mux1 &spi0_rxd_mux1 &spi0_clk_mux1 &spi0_cs0_mux1 &spi0_cs1_mux1>;
597 //pinctrl-0 = <&spi0_txd_mux2 &spi0_rxd_mux2 &spi0_clk_mux2 &spi0_cs0_mux2>;
598 rockchip,spi-src-clk = <0>;
600 clocks =<&clk_spi0>, <&clk_gates7 12>;
601 clock-names = "spi","pclk_spi0";
602 dmas = <&pdma 8>, <&pdma 9>;
604 dma-names = "tx", "rx";
609 compatible = "rockchip,saradc";
610 reg = <0x2006c000 0x100>;
611 interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
612 #io-channel-cells = <1>;
614 rockchip,adc-vref = <1800>;
615 clock-frequency = <1000000>;
616 clocks = <&clk_saradc>, <&clk_gates7 14>;
617 clock-names = "saradc", "pclk_saradc";
622 compatible = "rockchip,rk-pwm";
623 reg = <0x20050000 0x10>;
625 pinctrl-names = "default";
626 pinctrl-0 = <&pwm0_pin>;
627 clocks = <&clk_gates7 10>;
628 clock-names = "pclk_pwm";
633 compatible = "rockchip,rk-pwm";
634 reg = <0x20050010 0x10>;
636 pinctrl-names = "default";
637 pinctrl-0 = <&pwm1_pin>;
638 clocks = <&clk_gates7 10>;
639 clock-names = "pclk_pwm";
644 compatible = "rockchip,rk-pwm";
645 reg = <0x20050020 0x10>;
647 pinctrl-names = "default";
648 pinctrl-0 = <&pwm2_pin>;
649 clocks = <&clk_gates7 10>;
650 clock-names = "pclk_pwm";
655 compatible = "rockchip,rk-pwm";
656 reg = <0x20050030 0x10>;
658 pinctrl-names = "default";
659 pinctrl-0 = <&pwm3_pin>;
660 clocks = <&clk_gates7 10>;
661 clock-names = "pclk_pwm";
665 remotectl: pwm@20050030 {
666 compatible = "rockchip,remotectl-pwm";
667 reg = <0x20050030 0x10>;
669 pinctrl-names = "default";
670 pinctrl-0 = <&pwm3_pin>;
671 clocks = <&clk_gates7 10>;
672 clock-names = "pclk_pwm";
674 interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
677 dwc_control_usb: dwc-control-usb@20008000 {
678 compatible = "rockchip,rk3126-dwc-control-usb";
679 reg = <0x20008000 0x4>;
680 interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>,
681 <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>,
682 <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>;
683 interrupt-names = "otg_bvalid",
686 clocks = <&clk_gates9 13>;
687 clock-names = "hclk_usb_peri";
688 rockchip,remote_wakeup;
689 rockchip,usb_irq_wakeup;
690 resets = <&reset RK3128_RST_USBPOR>;
691 reset-names = "usbphy_por";
693 compatible = "inno,phy";
694 regbase = &dwc_control_usb;
695 rk_usb,bvalid = <0x14c 5 1>;
696 rk_usb,iddig = <0x14c 8 1>;
697 rk_usb,vdmsrcen = <0x184 12 1>;
698 rk_usb,vdpsrcen = <0x184 11 1>;
699 rk_usb,rdmpden = <0x184 10 1>;
700 rk_usb,idpsrcen = <0x184 9 1>;
701 rk_usb,idmsinken = <0x184 8 1>;
702 rk_usb,idpsinken = <0x184 7 1>;
703 rk_usb,dpattach = <0x2c0 7 1>;
704 rk_usb,cpdet = <0x2c0 6 1>;
705 rk_usb,dcpattach = <0x2c0 5 1>;
710 compatible = "rockchip,rk3126_usb20_otg";
711 reg = <0x10180000 0x40000>;
712 interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
713 clocks = <&clk_gates1 5>, <&clk_gates5 13>;
714 clock-names = "clk_usbphy0", "hclk_usb0";
715 resets = <&reset RK3128_RST_USBOTG0>, <&reset RK3128_RST_UTMI0>,
716 <&reset RK3128_RST_OTGC0>;
717 reset-names = "otg_ahb", "otg_phy", "otg_controller";
718 /*0 - Normal, 1 - Force Host, 2 - Force Device*/
719 rockchip,usb-mode = <0>;
723 compatible = "rockchip,rk3126_ehci";
724 reg = <0x101c0000 0x20000>;
725 interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
726 clocks = <&clk_gates1 6>, <&clk_gates7 3>;
727 clock-names = "clk_usbphy1", "hclk_host0";
728 resets = <&reset RK3128_RST_USBOTG1>, <&reset RK3128_RST_UTMI1>,
729 <&reset RK3128_RST_OTGC1>;
730 reset-names = "host_ahb", "host_phy", "host_controller";
734 compatible = "rockchip,rk3126_ohci";
735 reg = <0x101e0000 0x20000>;
736 interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
740 compatible = "rockchip,rk-fb";
741 rockchip,disp-mode = <ONE_DUAL>;
744 rk_screen: rk_screen{
745 compatible = "rockchip,screen";
748 lvds: lvds@20038000 {
749 compatible = "rockchip,rk31xx-lvds";
750 reg = <0x20038000 0x4000>, <0x101100b0 0x01>;
751 reg-names = "mipi_lvds_phy", "mipi_lvds_ctl";
752 clocks = <&clk_gates5 0>, <&clk_gates9 6>, <&clk_gates9 5>;
753 clock-names = "pclk_lvds", "pclk_lvds_ctl", "hclk_vio_h2p";
757 lcdc: lcdc@1010e000 {
758 compatible = "rockchip,rk312x-lcdc";
759 rockchip,prop = <PRMRY>;
760 reg = <0x1010e000 0x1000>;
761 interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
762 clocks = <&clk_gates6 0>, <&dclk_lcdc0>, <&clk_gates6 1>, <&sclk_lcdc0>, <&pd_vop>, <&clk_cpll>;
763 clock-names = "aclk_lcdc", "dclk_lcdc", "hclk_lcdc", "sclk_lcdc", "pd_lcdc", "sclk_pll";
764 rockchip,iommu-enabled = <1>;
768 hdmi: hdmi@20034000 {
769 compatible = "rockchip,rk312x-hdmi";
770 reg = <0x20034000 0x4000>;
771 interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
772 rockchip,hdmi_lcdc_source = <0>;
773 pinctrl-names = "default", "gpio";
774 pinctrl-0 = <&hdmi_cec &hdmi_sda &hdmi_scl &hdmi_hpd>;
775 pinctrl-1 = <&hdmi_gpio>;
776 clocks = <&clk_gates3 8>, <&pd_hdmi>;
777 clock-names = "pclk_hdmi", "pd_hdmi";
778 rockchip,hdcp_enable = <0>;
779 rockchip,cec_enable = <0>;
784 compatible = "rockchip,rk312x-tve";
785 reg = <0x1010e200 0x100>;
790 compatible = "rockchip,vpu_sub";
792 reg = <0x10106000 0x800>;
793 interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>,
794 <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
795 interrupt-names = "irq_enc", "irq_dec";
797 name = "vpu_service";
801 compatible = "rockchip,hevc_sub";
803 reg = <0x10104000 0x400>;
804 interrupts = <GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH>;
805 interrupt-names = "irq_dec";
807 name = "hevc_service";
810 vpu_combo: vpu_combo@ff9a0000 {
811 compatible = "rockchip,vpu_combo";
813 rockchip,sub = <&vpu>, <&hevc>;
814 clocks = <&clk_vdpu>, <&hclk_vdpu>, <&clk_hevc_core>;
815 clock-names = "aclk_vcodec", "hclk_vcodec", "clk_core";
816 resets = <&reset RK3128_RST_VCODEC_H>, <&reset RK3128_RST_VCODEC_A>,
817 <&reset RK3128_RST_HEVC>;
818 reset-names = "video_h", "video_a", "video";
826 compatible = "rockchip,iep";
828 reg = <0x10108000 0x800>;
829 interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>;
830 clocks = <&clk_gates9 8>, <&clk_gates9 7>;
831 clock-names = "aclk_iep", "hclk_iep";
837 compatible = "rockchip,rk312x-rga";
838 reg = <0x1010c000 0x1000>;
839 interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>;
840 clocks = <&clk_gates6 10>, <&clk_gates6 11>;
841 clock-names = "hclk_rga", "aclk_rga";
847 compatible = "rockchip,vop_mmu";
848 reg = <0x1010e300 0x100>;
849 interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
850 interrupt-names = "vop_mmu";
855 compatible = "rockchip,hevc_mmu";
856 reg = <0x10104440 0x40>,
858 interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>;
859 interrupt-names = "hevc_mmu";
864 compatible = "rockchip,vpu_mmu";
865 reg = <0x10106800 0x100>;
866 interrupts = <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>;
867 interrupt-names = "vpu_mmu";
872 compatible = "rockchip,iep_mmu";
873 reg = <0x10108800 0x100>;
874 interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>;
875 interrupt-names = "iep_mmu";
880 regulator_name = "vdd_arm";
882 clk_core_dvfs_table: clk_core {
890 temp-limit-enable = <0>;
893 normal-temp-limit = <
894 /*delta-temp delta-freq*/
900 performance-temp-limit = <
911 lkg_adjust_volt_en = <1>;
913 def_table_lkg = <35>;
914 min_adjust_freq = <1200000>;
915 lkg_adjust_volt_table = <
924 regulator_name = "vdd_logic";
926 clk_ddr_dvfs_table: clk_ddr {
938 clk_gpu_dvfs_table: clk_gpu {
957 compatible = "rockchip,ion";
958 #address-cells = <1>;
961 ion_cma: rockchip,ion-heap@4 { /* CMA HEAP */
962 compatible = "rockchip,ion-heap";
963 rockchip,ion_heap = <4>;
964 reg = <0x00000000 0x800000>; /* 8MB */
966 rockchip,ion-heap@0 { /* VMALLOC HEAP */
967 compatible = "rockchip,ion-heap";
968 rockchip,ion_heap = <0>;
972 compatible = "rockchip,cif";
973 reg = <0x1010a000 0x2000>;
974 interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
975 clocks = <&pd_vip>,<&clk_gates6 5>,<&clk_gates6 4>,<&clk_cif0_in>,<&clk_cif_out>;
976 clock-names = "pd_cif0", "aclk_cif0","hclk_cif0","cif0_in","cif0_out";
980 codec_hdmi_spdif: codec-hdmi-spdif {
981 compatible = "hdmi-spdif";
984 rockchip-hdmi-spdif {
985 compatible = "rockchip-hdmi-spdif";
988 audio-codec = <&codec_hdmi_spdif>;
989 audio-controller = <&spdif>;
993 codec: codec@20030000 {
994 compatible = "rk312x-codec";
995 reg = <0x20030000 0x4000>;
996 //pinctrl-names = "default";
997 //pinctrl-0 = <&i2s_gpio>;
999 pa_enable_time = <1000>;
1000 clocks = <&clk_gates5 14>;
1001 clock-names = "g_pclk_acodec";
1003 rockchip_audio: audio-rk312x {
1004 compatible = "audio-rk312x";
1007 audio-codec = <&codec>;
1008 audio-controller = <&i2s1>;
1011 //bitclock-inversion;
1017 audio-codec = <&codec>;
1018 audio-controller = <&i2s1>;
1021 //bitclock-inversion;