2 * Copyright (C) 2013 Spreadtrum Communication Incorporated
3 * http://www.spreadtrum.com/
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License version 2 as
7 * published by the Free Software Foundation.
11 /* memory reserved for SMEM */
12 /memreserve/ 0x87800000 0x200000; /* 2MK */
14 /* memory reserved for CPW modem */
15 /memreserve/ 0x88000000 0x1b00000; /* 27M */
17 /* memory reserved for CPWCN modem */
18 /memreserve/ 0x8a800000 0x201000;/*Offset:168M, SIZE:2M+4k*/
20 /* memory reserved for fb */
21 /memreserve/ 0x9F82D000 0x4B1000; /* 480*854*4*3, 4K alignment, for display size*/
23 /* memory reserved for ION */
24 /memreserve/ 0x9FCDE000 0x322000; /* 480*854*4*2, 8K alignment, for display size*/
26 /include/ "skeleton.dtsi"
27 /include/ "scx30g-clocks.dtsi"
28 /include/ "scx30g-regulators.dtsi"
29 /include/ "sprd-sound.dtsi"
30 /include/ "sprd-battery.dtsi"
33 model = "Spreadtrum SP8835EB board";
34 compatible = "sprd,sp8835eb";
35 sprd,sc-id = <8830 1 0x20000>;
38 interrupt-parent = <&gic>;
41 bootargs = "loglevel=1 console=ttyS1,115200n8 init=/init root=/dev/ram0 rw";
42 linux,initrd-start = <0x85500000>;
43 linux,initrd-end = <0x855a3212>;
47 device_type = "memory";
48 reg = <0x80000000 0x40000000>;
64 hwspinlock0 = &hwspinlock0;
65 hwspinlock1 = &hwspinlock1;
74 compatible = "arm,cortex-a7";
80 compatible = "arm,cortex-a7";
86 compatible = "arm,cortex-a7";
92 compatible = "arm,cortex-a7";
97 compatible = "arm,cortex-a7-pmu";
98 interrupts = <0 92 0x0>,
104 gic: interrupt-controller@12001000 {
105 compatible = "arm,cortex-a15-gic", "arm,cortex-a9-gic";
106 #interrupt-cells = <3>;
107 #address-cells = <0>;
108 interrupt-controller;
109 reg = <0x12001000 0x1000>,
113 uart0: uart@70000000 {
114 compatible = "sprd,serial";
115 interrupts = <0 2 0x0>;
116 reg = <0x70000000 0x1000>;
117 clock-names = "clk_uart0";
118 clocks = <&clock 60>;
119 sprdclk = <48000000>;
120 sprdwaketype = "BT_RTS_HIGH_WHEN_SLEEP";
122 uart1: uart@70100000 {
123 compatible = "sprd,serial";
124 interrupts = <0 3 0x0>;
125 reg = <0x70100000 0x1000>;
126 clock-names = "clk_uart1";
127 clocks = <&clock 61>;
128 sprdclk = <26000000>;
129 sprdwaketype = "BT_RTS_HIGH_WHEN_SLEEP";
131 uart2: uart@70200000 {
132 compatible = "sprd,serial";
133 interrupts = <0 4 0x0>;
134 reg = <0x70200000 0x1000>;
135 clock-names = "clk_uart2";
136 clocks = <&clock 62>;
137 sprdclk = <26000000>;
138 sprdwaketype = "BT_RTS_HIGH_WHEN_SLEEP";
140 uart3: uart@70300000 {
141 compatible = "sprd,serial";
142 interrupts = <0 5 0x0>;
143 reg = <0x70300000 0x1000>;
144 clock-names = "clk_uart3";
145 clocks = <&clock 63>;
146 sprdclk = <26000000>;
147 sprdwaketype = "BT_RTS_HIGH_WHEN_SLEEP";
151 compatible = "sprd,scx35-timer";
152 reg = <0x40230000 0x1000>, /* SYSCNT */
153 <0x40050000 0x1000>, /* GPTIMER0 */
154 <0x40220000 0x1000>, /* APTIMER0 */
155 <0x40330000 0x1000>, /* APTIMER1 */
156 <0x40340000 0x1000>; /* APTIMER2 */
157 interrupts = <0 118 0x0>,
162 <0 31 0x0>;/*ap system timer*/
165 compatible = "sprd,scx35-clock";
168 d_eic_gpio: gpio@40210000{
169 compatible = "sprd,d-eic-gpio";
170 reg = <0x40210000 0x1000>;
172 interrupt-controller;
173 #interrupt-cells = <2>;
177 interrupts = <0 37 0x0>;
179 d_gpio_gpio: gpio@40280000{
180 compatible = "sprd,d-gpio-gpio";
181 reg = <0x40280000 0x1000>;
183 interrupt-controller;
184 #interrupt-cells = <2>;
188 interrupts = <0 35 0x0>;
191 compatible = "sprd,pinctrl";
192 reg = <0x402a0000 0x1000>;
193 pwr_domain = "vdd28",
200 ctrl_desc = <0x10 0 1
209 compatible = "sprd,adi";
210 reg = <0x40030000 0x10000>;
213 compatible = "sprd,adi-bus";
214 interrupts = <0 38 0x0>;
215 reg = <0x40038000 0x1000>;
216 interrupt-controller;
218 #interrupt-cells = <2>;
219 #address-cells = <1>;
221 ranges = <0X40 0x40038040 0x40>,
222 <0x80 0x40038080 0x80>,
223 <0x100 0x40038100 0x80>,
224 <0x480 0x40038480 0x80>;
226 compatible = "sprd,sprd_backlight";
232 compatible = "sprd,headset-detect";
236 irq_trigger_level_detect = <1>;
237 irq_trigger_level_button = <1>;
238 adc_threshold_3pole_detect = <100>;
239 adc_threshold_4pole_detect = <3100>;
240 irq_threshold_buttont = <1>;
241 voltage_headmicbias = <3000000>;
251 compatible = "sprd,keyboard-backlight";
254 compatible = "sprd,watchdog";
256 interrupts = <3 0x0>;
259 compatible = "sprd,rtc";
261 interrupts = <2 0x0>;
263 a_eic_gpio: gpio@100{
264 compatible = "sprd,a-eic-gpio";
265 reg = <0X100 0x80>; /* adi reg */
267 interrupt-controller;
268 #interrupt-cells = <2>;
272 interrupt-parent = <&adi>;
273 interrupts = <5 0x0>; /* ext irq 5 */
275 a_gpio_gpio: gpio@480{
276 compatible = "sprd,a-gpio-gpio";
277 reg = <0X480 0x80>; /* adi reg */
279 interrupt-controller;
280 #interrupt-cells = <2>;
284 interrupt-parent = <&adi>;
285 interrupts = <1 0x0>; /* ext irq 1 */
289 compatible = "sprd,sci-keypad";
290 reg = <0x40250000 0x1000>;
291 gpios = <&a_eic_gpio 2 0>;
292 interrupts = <0 36 0x0>;
293 sprd,keypad-num-rows = <2>;
294 sprd,keypad-num-columns = <2>;
295 sprd,keypad-rows-choose-hw = <0x30000>;
296 sprd,keypad-cols-choose-hw = <0x300>;
297 sprd,debounce_time = <5000>;
298 linux,keypad-no-autorepeat;
299 sprd,support_long_key;
318 compatible = "sprd,sprd_vsp";
319 reg = <0x60900000 0xc000>;
320 interrupts = <0 43 0x0>;
321 clock-names = "clk_mm_i", "clk_vsp", "clk_parent_0", "clk_parent_1", "clk_parent_2", "clk_parent_3";
322 clocks = <&clk_mm>, <&clk_vsp>, <&clk_256m>, <&clk_192m>, <&clk_128m>, <&clk_76m8>;
323 clock-parent-info = <2 4>;
327 compatible = "sprd,sprd_jpg";
328 reg = <0x60b00000 0x8000>;
329 interrupts = <0 42 0x0>;
330 clock-names = "clk_mm_i","clk_jpg";
331 clocks = <&clk_mm>, <&clk_jpg>;
336 compatible = "sprd,i2c";
337 interrupts = <0 11 0x0>;
338 reg = <0x70500000 0x1000>;
339 #address-cells = <1>;
342 compatible = "sprd,sensor_main";
346 compatible = "sprd,sensor_sub";
351 compatible = "sprd,i2c";
352 interrupts = <0 12 0x0>;
353 reg = <0x70600000 0x1000>;
354 #address-cells = <1>;
357 compatible = "focaltech,focaltech_ts";
359 gpios = <&d_gpio_gpio 81 0
362 virtualkeys = <130 1360 80 60
370 compatible = "sprd,i2c";
371 interrupts = <0 13 0x0>;
372 reg = <0x70700000 0x1000>;
373 #address-cells = <1>;
376 compatible = "ST,lis3dh_acc";
378 poll_interval = <10>;
389 compatible = "LITEON,ltr_558als";
391 gpios = <&d_gpio_gpio 216 0>;
395 compatible = "sprd,i2c";
396 interrupts = <0 14 0x0>;
397 reg = <0x70800000 0x1000>;
398 #address-cells = <1>;
402 compatible = "sprd,sprd_dcam";
403 interrupts = <0 45 0>;
404 reg = <0x60800000 0x100000>;
405 clock-names = "clk_mm_i","clk_dcam";
406 clocks = <&clk_mm>, <&clk_dcam>;
409 compatible = "sprd,sprd_scale";
412 compatible = "sprd,sprd_rotation";
415 compatible = "sprd,sprd_sensor";
416 reg = <0x60c00000 0x1000>;
417 gpios = <&d_gpio_gpio 186 0 /*main reset*/
418 &d_gpio_gpio 187 0 /*main power down*/
419 &d_gpio_gpio 186 0 /*sub reset*/
420 &d_gpio_gpio 188 0 /*sub power down*/
421 &d_gpio_gpio 0 0 /*main core voltage*/
425 clock-names ="clk_mm_i","clk_sensor","clk_ccir","clk_dcam","clk_dcam_mipi";
426 clocks = <&clk_mm>, <&clk_sensor>,<&clk_ccir>, <&clk_dcam>, <&clk_dcam_mipi>;
429 compatible = "sprd,sprd_isp";
430 reg = <0x60a00000 0x100000>;
431 clock-names = "clk_mm_i","clk_isp";
432 clocks = <&clk_mm>, <&clk_isp>;
435 compatible = "sprd,sprd_dma_copy";
438 compatible = "sprd,sprdfb";
439 reg = <0x20800000 0x1000>,<0x21800000 0x1000>;
440 interrupts = <0 46 0x0>,<0 48 0x0>, <0 49 0x0>;
441 clock-names = "dispc_clk_parent", "dispc_dbi_clk_parent", "dispc_dpi_clk_parent", "dispc_emc_clk_parent", "dispc_clk", "dispc_dbi_clk", "dispc_dpi_clk", "dispc_emc_clk", "fb_spi_clock", "fb_spi_clock_parent";
442 clocks = <&clk_256m>, <&clk_256m>, <&clk_384m>, <&clk_aon_apb>, <&clk_dispc0>, <&clk_dispc0_dbi>, <&clk_dispc0_dpi>, <&clk_disp_emc>, <&clk_spi2>, <&ext_26m>;
443 clock-src = <256000000 256000000 384000000>;
445 sprd,fb_use_reservemem;
446 sprd,fb_mem = <0x9F82D000 0x4B1000>;
447 sprd,fb_display_size = <480 854>;
450 compatible = "sprd,gsp";
451 reg = <0x20a00000 0x1000>;
452 interrupts = <0 51 0x0>;
453 clock-names = "clk_gsp", "clk_gsp_emc", "clk_gsp_parent", "clk_aon_apb";
454 clocks = <&clk_gsp>, <&clk_gsp_emc>, <&clk_256m>, <&clk_aon_apb>;
455 gsp_mmu_ctrl_base = <0x21408000>;
458 sprd_fm: sprd_fm@40270000{
459 compatible = "sprd,sprd_fm";
460 reg = <0x40270000 0x1000>,/*FM base*/
461 <0x402E0000 0x10000>, /*AONAPB base*/
462 <0x402B0000 0x10000>, /*PMU base*/
463 <0x402D0000 0x1000>, /*AONCKG base*/
464 <0x402A0000 0x1000> ; /*PIN base*/
467 /* sipc initializer */
468 sipc: sipc@0x87800000 {
469 compatible = "sprd,sipc";
470 reg = <0x87800000 0x200000>; /* <SMEM SIZE>*/
471 //#interrupt-cells = <2>;
472 #address-cells = <1>;
474 ranges = <0x8000000 0x88000000 0x1b00000>,
475 <0x07800000 0x87800000 0x140000>,
476 <0x9aff000 0x89aff000 0x1000>,
477 <0x0a800000 0x8a800000 0x201000>,/*WCN MEMORY:OFFSET ADDRESS SIZE*/
478 <0x07940000 0x87940000 0xc0000>,
479 <0x0aa00000 0x8aa00000 0x1000>;/*WCN SIPC-RING:OFFSET ADDRESS SIZE*/
481 sprd,name = "sipc-w";
483 sprd,ap2cp = <0x402c0000>; /* base on ipi reggister */
484 sprd,cp2ap = <0x402c0004>;
485 sprd,trig = <0x01>; /* trigger bit */
486 sprd,clr = <0x01>; /* clear bit */
487 interrupts = <0 68 0x0>;
488 reg = <0x8000000 0x1b00000> , /* <CP_start_addr size> */
489 <0x07800000 0x140000>, /* <SMEM_phy_addr total_size> */
490 <0x9aff000 0x1000>; /* smsg ring buffer <base size> */
492 sipc_wcn@0x0a800000 {
493 sprd,name = "sipc-wcn";
495 sprd,ap2cp = <0x402c0000>; /* base on ipi reggister */
496 sprd,cp2ap = <0x402c0004>;
497 sprd,trig = <0x100>; /* trigger bit */
498 sprd,clr = <0x100>; /* clear bit */
499 interrupts = <0 73 0x0>;
500 reg = <0x0a800000 0x201000> , /* <CP_start_addr size> */
501 <0x07940000 0xc0000>, /* <SMEM_phy_addr total_size> */
502 <0x0aa00000 0x1000>; /* smsg ring buffer <base size> */
508 /* cpw virtual devices */
511 compatible = "sprd,spipe";
512 sprd,name = "spipe_w";
516 sprd,size-rxbuf = <0x1000>; /* 4*1024 */
517 sprd,size-txbuf = <0x1000>; /* 4*1024 */
521 compatible = "sprd,spipe";
522 sprd,name = "slog_w";
526 sprd,size-rxbuf = <0x40000>; /* 256*1024*/
527 sprd,size-txbuf = <0x8000>; /* 32*1024 */
531 compatible = "sprd,spipe";
532 sprd,name = "stty_w";
536 sprd,size-rxbuf = <0x0800>; /* 2*1024*/
537 sprd,size-txbuf = <0x0800>; /* 2*1024 */
541 compatible = "sprd,seth";
542 sprd,name = "seth_w0";
549 compatible = "sprd,seth";
550 sprd,name = "seth_w1";
557 compatible = "sprd,seth";
558 sprd,name = "seth_w2";
564 scproc_cpw: scproc@0x88000000 {
565 compatible = "sprd,scproc";
567 sprd,ctrl-reg = <0x44 0x44 0xb0 0xff>; /* <shut_down deep_sleep reset get_status> */
568 sprd,ctrl-mask = <0x02000000 0x10000000 0x01 0xf0000>; /* masks <> */
569 sprd,iram-data = <0xe59f0000 0xe12fff10 0x88300000>; /* 3rd param equals modem_addr*/
570 reg = <0x88000000 0x1b00000>, /* <CP_start_addr total_size> = <+128M 26M> */
571 <0x50000000 0x0c>, /* <iram1_base size> */
572 <0x402b0000 0x10000>, /* <pmu_base size> */
573 <0x402b0000 0x10000>, /* <pmu_base size> */
574 <0x402b0000 0x10000>, /* <pmu_base size> */
575 <0x402b0000 0x10000>; /* <pmu_base size> */
576 interrupts = <0 84 0x0>; /* cp1_wdg_int */
577 #address-cells = <1>;
580 ranges = <0x300000 0x88300000 0x00800000>,
581 <0x20000 0x88020000 0x00220000>;
583 cproc,name = "modem";
584 reg = <0x300000 0x00800000>; /* <modem_addr size> */
588 reg = <0x20000 0x00220000>; /* <dsp_addr size>*/
593 compatible = "sprd,saudio";
594 sprd,saudio-dst-id = <2>;
595 sprd,ctrl_channel = <10>; /* SMSG_CH_VBC */
596 sprd,playback_channel = <11>; /* SMSG_CH_PLAYBACK */
597 sprd,capture_channel = <12>; /* SMSG_CH_CAPTURE */
598 sprd,monitor_channel = <13>; /*SMSG_CH_MONITOR_AUDIO */
599 sprd,saudio-names = "VIRTUAL AUDIO W";
602 compatible = "sprd,saudio";
603 sprd,saudio-dst-id = <2>;
604 sprd,ctrl_channel = <14>; /* SMSG_CH_CTRL_VOIP */
605 sprd,playback_channel = <15>; /* SMSG_CH_PLAYBACK_VOIP */
606 sprd,capture_channel = <16>; /* SMSG_CH_CAPTURE_VOIP */
607 sprd,monitor_channel = <17>; /*SMSG_CH_MONITOR_VOIP */
608 sprd,saudio-names = "saudiovoip";
611 /* cpwcn virtual devices */
614 compatible = "sprd,spipe";
615 sprd,name = "spipe_wcn";
619 sprd,size-rxbuf = <0x1000>; /* 4*1024 */
620 sprd,size-txbuf = <0x1000>; /* 4*1024 */
624 compatible = "sprd,spipe";
625 sprd,name = "slog_wcn";
629 sprd,size-rxbuf = <0x40000>; /* 256*1024*/
630 sprd,size-txbuf = <0x8000>; /* 32*1024 */
634 compatible = "sprd,stty4bt";
635 sprd,name = "sttybt";
642 scproc_cpwcn: scproc@0x8a800000 {
643 compatible = "sprd,scproc";
645 sprd,ctrl-reg = <0x68 0x68 0xb0 0xb0>; /* <shut_down deep_sleep reset get_status> */
646 sprd,ctrl-mask = <0x02000000 0x10000000 0x04 0x04>; /* masks <> */
647 sprd,iram-data = <0xe59f0000 0xe12fff10 0x8a808000>; /* 3rd param equals modem_addr*/
648 reg = <0x8a800000 0x201000>, /* <CP_start_addr total_size> = <+168M 2M+4k> */
649 <0x50003000 0x1000>, /* <iram1_phys size> use iram1 phys because of cp2 iram not maped */
650 <0x402b0000 0x10000>, /* <pmu_base size> */
651 <0x402b0000 0x10000>, /* <pmu_base size> */
652 <0x402b0000 0x10000>, /* <pmu_base size> */
653 <0x402b0000 0x10000>; /* <pmu_base size> */
654 interrupts = <0 85 0x0>; /* cp2_wdg_int */
655 #address-cells = <1>;
658 ranges = <0x8000 0x8a808000 0x201000>;
660 cproc,name = "modem";
661 reg = <0x8000 0x201000>; /* <modem_addr size> */
666 compatible = "sprd,sprd_wlan";
670 #address-cells = <2>;
673 sdio3: sdio@20600000{
674 compatible = "sprd,sdhost-3.0";
675 reg = <0 0x20600000 0 0x1000>;
676 interrupts = <0 60 0x0>;
677 sprd,name = "sdio_emmc";
678 /*detect_gpio = <-1>; */
679 SD_Pwr_Name = "vddemmccore";
680 _1_8V_signal_Name = "vddemmcio";
681 signal_default_Voltage = <1800000>;
682 ocr_avail = <0x00040000>;
683 clocks = <&clk_emmc>, <&clk_384m>;
684 base_clk = <384000000>;
689 readPosDelay = <0x4>;
690 readNegDelay = <0x4>;
693 sdio0: sdio@20300000{
694 compatible = "sprd,sdhost-3.0";
695 reg = <0 0x20300000 0 0x1000>;
696 interrupts = <0 57 0x0>;
697 sprd,name = "sdio_sd";
699 SD_Pwr_Name = "vddsd";
700 /* _1_8V_signal_Name = "vddsdio"; */
701 signal_default_Voltage = <3000000>;
702 ocr_avail = <0x00040000>;
703 clocks = <&clk_sdio0>, <&clk_384m>;
704 base_clk = <384000000>;
709 readPosDelay = <0x4>;
710 readNegDelay = <0x4>;
714 sdio1: sdio@20400000{
715 compatible = "sprd,sdhost-3.0";
716 reg = <0 0x20400000 0 0x1000>;
717 interrupts = <0 58 0x0>;
718 sprd,name = "sdio_wifi";
719 /* detect_gpio = <-1>; */
720 /* SD_Pwr_Name = "vddsdcore"; */
721 /* _1_8V_signal_Name = "vddsdio";*/
722 /* signal_default_Voltage = <3000000>; */
723 ocr_avail = <0x00360080>;
724 clocks = <&clk_sdio1>, <&clk_96m>;
725 base_clk = <96000000>;
730 readPosDelay = <0x03>;
731 readNegDelay = <0x03>;
736 compatible = "sprd,usb";
737 interrupts = <0 55 0x0>;
739 gpios = <&a_eic_gpio 0 0>,<&d_gpio_gpio 72 0>;
740 reg = <0x20200000 0x1000>;
741 tune_value = <0x44073e33>;
742 usb-supply = <&vddusb>;
743 #address-cells = <1>;
747 compatible = "sprd,sprd-thermal";
749 interrupts = <0 26 0x0>;
750 reg = <0x402f0000 0x1000>;
751 trip_points_active = <65 69 95 110>;
752 trip_points_lowoff = <0 57 61 80>;
753 trip_points_critical = <110>;
757 compatible = "sprd,sprd-cpu-cooling";
759 max_freq = <1300000 1200000 1000000 768000>;
760 max_core = <4 4 4 1>;
765 compatible = "sprd,sprd-spi";
766 interrupts = <0 7 0x0>;
767 reg = <0x70a00000 0x1000>;
768 clock-names = "clk_spi0";
769 #address-cells = <1>;
773 compatible = "sprd,sprd-spi";
774 interrupts = <0 8 0x0>;
775 reg = <0x70b00000 0x1000>;
776 clock-names = "clk_spi1";
777 #address-cells = <1>;
781 compatible = "sprd,sprd-spi";
782 interrupts = <0 9 0x0>;
783 reg = <0x70c00000 0x1000>;
784 clock-names = "clk_spi2";
785 #address-cells = <1>;
789 compatible = "sprd,sprd-dma";
790 interrupts = <0 50 0x0>;
791 reg = <0x20100000 0x4000>;
794 compatible = "sprd,sprd-adc";
795 reg = <0x40038300 0x400>;
797 hwspinlock0: hwspinlock0@20c00000{
798 compatible = "sprd,sprd-hwspinlock";
799 reg = <0x20c00000 0x1000>;
801 hwspinlock1: hwspinlock1@40060000{
802 compatible = "sprd,sprd-hwspinlock";
803 reg = <0x40060000 0x1000>;
806 compatible = "arm,mali-400", "arm,mali-utgard";
807 reg = <0x60000000 0x10000>;
808 interrupts = <0 39 0>, <0 39 0>, <0 39 0>, <0 39 0>, <0 39 0>, <0 39 0>, <0 39 0>;
809 interrupt-names = "IRQGP", "IRQGPMMU", "IRQPP0", "IRQPPMMU0", "IRQPP1", "IRQPPMMU1", "IRQPMU";
811 pmu_domain_config = <0x1000 0x1000 0x1000 0x0 0x0 0x0 0x0 0x0 0x0 0x1000 0x0 0x0>;
812 pmu_switch_delay = <0xffff>;
814 clocks = <&clk_gpu_axi>,<&clk_gpu>,<&clk_153m6>,<&clk_208m>,<&clk_256m>,<&clk_312m>,<&clk_384m>,<&clk_460m8>;
815 clock-names = "clk_gpu_axi","clk_gpu","clk_153m6","clk_208m","clk_256m","clk_312m","clk_384m","clk_460m8";
818 freq-lists = <153600 2 1>, <256000 4 1>, <384000 6 1>, <460800 7 1>;
824 freq-range-max = <3>;
825 freq-range-min = <0>;
828 compatible = "sprd,ion-sprd";
829 #address-cells = <1>;
833 reg = <1>; /* SYSTEM */
834 reg-names = "ion_heap_system";
835 sprd,ion-heap-type = <0>; /* SYSTEM */
836 sprd,ion-heap-mem = <0x0 0x0>;
841 reg-names = "ion_heap_carveout_mm";
842 sprd,ion-heap-type = <0>; /* carveout mm */
843 sprd,ion-heap-mem = <0x98800000 0x7100000>;
847 reg = <3>; /* OVERLAY */
848 reg-names = "ion_heap_carveout_overlay";
849 sprd,ion-heap-type = <2>; /* CARVEOUT */
850 sprd,ion-heap-mem = <0x9FCDE000 0x322000>;/* 480*854*4*2, 8K alignment, for display size*/
853 sprd_iommu0:sprd_iommu@21400000 {
854 compatible = "sprd,sprd_iommu";//gsp
855 func-name = "sprd_iommu_gsp";
856 reg = <0x10000000 0x2000000>, //iova
857 <0x21400000 0x8000>, //pgt
858 <0x21408000 0x8000>; //ctrl_reg
859 reg_name = "iova","pgt","ctrl_reg";
860 clock-names = "clk_gsp_emc","clk_153m6","clk_gsp";
861 clocks = <&clk_gsp_emc>, <&clk_153m6>,<&clk_gsp>;
864 sprd_iommu1:sprd_iommu@60f00000 {
865 compatible = "sprd,sprd_iommu";//mm
866 func-name = "sprd_iommu_mm";
867 reg = <0x20000000 0x8000000>, //iova
868 <0x60f00000 0x20000>, //pgt
869 <0x60f20000 0x2000>; //ctrl_reg
870 reg_name = "iova","pgt","ctrl_reg";
871 clock-names = "clk_mmu","clk_mm_i";
872 clocks = <&clk_mmu>,<&clk_mm>;
876 sprd_rf2351: sprd_rf2351@40070000{
877 compatible = "sprd,sprd_rf2351";
878 reg = <0X40070000 0x1000>, /*RFSPI*/
879 <0X402E0000 0x10000>; /*APB_EB0*/
880 clock-names = "clk_cpll";
881 clocks = <&clk_cpll>;
883 gps_2351: gps_2351@21c00000{
884 compatible = "sprd,gps_2351";
885 interrupts = <0 52 0x0>;
886 gpios = <&d_gpio_gpio 50 0>;
887 reg = <0X21C00000 0x1000>, /*GPS CORE BASE*/
888 <0X20D00000 0x10000>, /*AHB_ADDR*/
889 <0X402B0000 0x10000>; /*PMU BASE*/
893 #address-cells = <1>;
895 ranges = <0 0 0x80000000>;
897 compatible = "sprd,ahb";
898 reg = <0x20d00000 0x10000>;
901 compatible = "sprd,aonapb";
902 reg = <0x402e0000 0x10000>;
905 compatible = "sprd,apbreg";
906 reg = <0x71300000 0x10000>;
909 compatible = "sprd,pmu";
910 reg = <0x402b0000 0x10000>;
913 compatible = "sprd,mmahb";
914 reg = <0x60d00000 0x4000>;
917 compatible = "sprd,mmckg";
918 reg = <0x60e00000 0x1000>;
921 compatible = "sprd,adislave";
922 reg = <0x40038000 0x1000>;
925 compatible = "sprd,gpuapb";
926 reg = <0x60100000 0x1000>;
929 compatible = "sprd,aonckg";
930 reg = <0x402d0000 0x1000>;
933 compatible = "sprd,apbckg";
934 reg = <0x71200000 0x10000>;
937 compatible = "sprd,gpuckg";
938 reg = <0x60200000 0x1000>;
941 compatible = "sprd,core";
942 reg = <0x12000000 0x10000>;
945 compatible = "sprd,int";
946 reg = <0x40200000 0x1000>;
949 compatible = "sprd,intc0";
950 reg = <0x71400000 0x1000>;
953 compatible = "sprd,intc1";
954 reg = <0x71500000 0x1000>;
957 compatible = "sprd,intc2";
958 reg = <0x71600000 0x1000>;
961 compatible = "sprd,intc3";
962 reg = <0x71700000 0x1000>;
965 compatible = "sprd,uidefuse";
966 reg = <0x40240000 0x1000>;
969 compatible = "sprd,isp";
970 reg = <0x60a00000 0x8000>;
973 compatible = "sprd,csi2";
974 reg = <0x60c00000 0x1000>;
977 compatible = "sprd,ipi";
978 reg = <0x402c0000 0x1000>;
981 compatible = "sprd,dcam";
982 reg = <0x60800000 0x10000>;
985 compatible = "sprd,syscnt";
986 reg = <0x40230000 0x1000>;
989 compatible = "sprd,dma0";
990 reg = <0x20100000 0x4000>;
993 compatible = "sprd,pub";
994 reg = <0x30020000 0x10000>;
997 compatible = "sprd,pin";
998 reg = <0x402a0000 0x1000>;
1001 compatible = "sprd,axibm0";
1002 reg = <0 0x30040000 0 0x20000>;
1003 interrupts = <0 86 0x0>;
1007 compatible = "sprd,sprd_bm";
1008 reg = <0x30040000 0xA0000>,
1009 <0x20E00000 0x300000>;
1010 interrupts = <0 86 0x0>;
1011 sprd,bm_status = <1>;
1012 sprd,bm_count = <10 10>;
1013 sprd,mm_chn = <0 1>;
1014 sprd,gpu_chn = <1 1>;
1015 sprd,disp_chn = <2 1>;
1016 sprd,cpu_chn = <3 1>;
1017 sprd,cp0_dsp_chn = <4 1>;
1018 sprd,cp0_arm1_chn = <5 1>;
1019 sprd,cp0_arm0_chn = <6 1>;
1020 sprd,ap_chn = <7 1>;
1021 sprd,zip_chn = <8 1>;
1022 sprd,cp2_chn = <9 1>;
1023 sprd,ap_cpu_chn = <0 0>;
1024 sprd,ap_dap_chn = <0 1>;
1025 sprd,ap_dma_w_chn = <1 0>;
1026 sprd,ap_dma_r_chn = <1 1>;
1027 sprd,ap_sdio_0_chn = <1 2>;
1028 sprd,ap_sdio_1_chn = <1 3>;
1029 sprd,ap_emmc_chn = <2 0>;
1030 sprd,ap_sdio_2_chn = <2 1>;
1031 sprd,ap_nfc_chn = <2 2>;
1032 sprd,ap_usb_chn = <2 3>;
1035 compatible = "sprd,sprd-wdt";
1036 reg = <0x40290000 0x1000>,
1037 <0x40320000 0x1000>;
1038 interrupts = <0 124 0x0>;
1048 sprd,audio_power_ver = <3>;
1052 sprd,config_type = "pcm";
1053 sprd,slave_timeout = <0xF11>;
1054 sprd,_hw_port = <0>;
1056 sprd,bus_type = <1>;
1057 sprd,rtx_mode = <3>;
1058 sprd,byte_per_chan = <1>;
1059 sprd,slave_mode = <0>;
1062 sprd,low_for_left = <1>;
1064 sprd,pcm_short_frame = <1>;
1065 sprd,pcm_slot = <0x1>;
1066 sprd,pcm_cycle = <1>;
1067 sprd,tx_watermark = <12>;
1068 sprd,rx_watermark = <20>;
1085 sprd,i2s = <&i2s0>, <&i2s1>, <&i2s2>, <&i2s3>;
1088 cap-valid-range-poweron = <50>;
1089 chg-end-vol-l = <4150>;