mmc: dts: limit clk for audi(s), and enable sdio by default
[firefly-linux-kernel-4.4.55.git] / arch / arm / boot / dts / rk3288-tb.dts
index 08925d07739b1a312b88717e9cb1d62136a9212e..2f99f0b032dbf111351b77f00c918be8af0e7c21 100755 (executable)
         compatible = "wlan-platdata";
 
         wifi_chip_type = "";
-        sdio_vref = <28000>;
+        sdio_vref = <1800>; //1800mv or 3300mv
 
         //power_ctrl_by_pmu;
-        pmu_regulator = "act_ldo3";
-        pmu_enable_level = <1>; //1->HIGH, 0->LOW
+        power_pmu_regulator = "act_ldo3";
+        power_pmu_enable_level = <1>; //1->HIGH, 0->LOW
+
+        //vref_ctrl_enable;
+        //vref_ctrl_gpio = <&gpio0 GPIO_A2 GPIO_ACTIVE_HIGH>;
+        vref_pmu_regulator = "act_ldo3";
+        vref_pmu_enable_level = <1>; //1->HIGH, 0->LOW
 
         WIFI,poweren_gpio = <&gpio4 GPIO_D4 GPIO_ACTIVE_HIGH>;
         WIFI,host_wake_irq = <&gpio4 GPIO_D6 GPIO_ACTIVE_HIGH>;
@@ -28,6 +33,8 @@
     wireless-bluetooth {
         compatible = "bluetooth-platdata";
 
+        //wifi-bt-power-toggle;
+
         uart_rts_gpios = <&gpio4 GPIO_C3 GPIO_ACTIVE_LOW>;
         pinctrl-names = "default","rts_gpio";
         pinctrl-0 = <&uart0_rts>;
@@ -57,7 +64,7 @@
 
        pwm_regulator {
                compatible = "rockchip_pwm_regulator";
-               pwms = <&pwm1 0 25000>;
+               pwms = <&pwm1 0 2000>;
                rockchip,pwm_id= <1>;
                rockchip,pwm_voltage_map= <925000 950000 975000 1000000 1025000 1050000 1075000 1100000 1125000 1150000 1175000 1200000 1225000 1250000 1275000 1300000 1325000 1350000 1375000 1400000>;
                rockchip,pwm_voltage= <1000000>;
        
        rockchip-hdmi-spdif {
                compatible = "rockchip-hdmi-spdif";
+               dais {
+                       dai0 {
+                               audio-codec = <&codec_hdmi_spdif>;
+                               i2s-controller = <&spdif>;
+                       };
+               };
        };
 
        rockchip-rt5631 {
                                //bitclock-master;
                                //frame-master;
                        };
+                       dai1 {
+                               audio-codec = <&rt3261>;
+                               i2s-controller = <&i2s>;
+                               format = "dsp_a";
+                               //continuous-clock;
+                               bitclock-inversion;
+                               //frame-inversion;
+                               //bitclock-master;
+                               //frame-master;
+                       };
                };
        };
 
+       usb_control {
+               compatible = "rockchip,rk3288-usb-control";
+
+               host_drv_gpio = <&gpio0 GPIO_B6 GPIO_ACTIVE_LOW>;
+               otg_drv_gpio = <&gpio0 GPIO_B4 GPIO_ACTIVE_LOW>;
+
+               rockchip,remote_wakeup;
+               rockchip,usb_irq_wakeup;
+       };
+       chosen {
+                bootargs = "vmalloc=512M";
+        };
+};
+
+&gmac {
+//     power_ctl_by = "gpio";  //"gpio" "pmu"
+       power-gpio = <&gpio0 GPIO_A6 GPIO_ACTIVE_HIGH>;
+//     power-pmu = "act_ldo"
+       reset-gpio = <&gpio4 GPIO_A7 GPIO_ACTIVE_LOW>;
+};
+
+&pinctrl {
+       //used for init some gpio
+       init-gpios = <&gpio0 GPIO_A6 GPIO_ACTIVE_HIGH
+                       /*&gpio0 GPIO_C2 GPIO_ACTIVE_HIGH */
+                       /*&gpio7 GPIO_B7 GPIO_ACTIVE_LOW */>;
+       
+       gpio0_gpio {
+                       gpio0_c2: gpio0-c2 {
+                               rockchip,pins = <GPIO0_C2>;
+                               rockchip,pull = <VALUE_PULL_DOWN>;
+                       };
+
+                       //to add
+               };
+               
+       gpio7_gpio {
+                       gpio7_b7: gpio7-b7 {
+                               rockchip,pins = <GPIO7_B7>;
+                               rockchip,pull = <VALUE_PULL_UP>;
+                       };
+
+                       //to add
+               };
+               
+       //could add other pinctrl definition such as gpio
+
+};
+
+&nandc0 {
+       status = "disabled"; // used nand set "disabled" ,used emmc set "okay"
+};
+&nandc1 {
+       status = "disabled"; // used nand set "disabled" ,used emmc set "okay"
+};   
+
+&nandc0reg {
+       status = "okay"; // used nand set "disabled" ,used emmc set "okay"
 };
 
 &emmc {
-       clock-frequency = <50000000>;
-        clock-freq-min-max = <400000 50000000>;
+       clock-frequency = <100000000>;
+       clock-freq-min-max = <400000 100000000>;
 
         supports-highspeed;
        supports-emmc;
         bootpart-no-access;
-        
-       status = "okay";
+
+       //supports-DDR_MODE; //you should set the two value in your project. only close in RK3288-SDK board.
+       //caps2-mmc-hs200;
+
+        ignore-pm-notify;
+       keep-power-in-suspend;
+       
+       //poll-hw-reset 
+       status = "okay";
 };
     
 &sdmmc {
-       clock-frequency = <50000000>;
-       lock-freq-min-max = <400000 50000000>;              
-           
-       supports-highspeed;
-       supports-sd;
-       broken-cd;
-       card-detect-delay = <200>;
-
+               clock-frequency = <50000000>;
+               clock-freq-min-max = <400000 50000000>;
+               supports-highspeed;
+               supports-sd;
+               broken-cd;
+               card-detect-delay = <200>;
+
+               ignore-pm-notify;
+               keep-power-in-suspend;
        
-        vmmc-supply = <&rk808_ldo5_reg>;
-       status = "okay";
+               vmmc-supply = <&rk808_ldo5_reg>;
+               status = "okay";
 };
                
 &sdio {
-       clock-frequency = <50000000>;
-        clock-freq-min-max = <200000 50000000>;
-               
-       supports-highspeed;             
-       supports-sdio;
-       //cap-sdio-irq;
-
-       status = "diabled";
+               clock-frequency = <50000000>;
+               clock-freq-min-max = <200000 50000000>;
+               supports-highspeed;
+               supports-sdio;
+               ignore-pm-notify;
+               keep-power-in-suspend;
+               //cap-sdio-irq;
+               status = "okay";
 };
 
 &spi0 {
        status = "okay";
+       max-freq = <48000000>;  
+       /*
+       spi_test@00 {
+               compatible = "rockchip,spi_test_bus0_cs0";
+                reg = <0>;
+                spi-max-frequency = <24000000>;
+                //spi-cpha;
+               //spi-cpol;
+                poll_mode = <0>;
+               type = <0>;
+               enable_dma = <0>;
+
+       };
+
+       spi_test@01 {
+               compatible = "rockchip,spi_test_bus0_cs1";
+               reg = <1>;
+               spi-max-frequency = <24000000>;
+               spi-cpha;
+               spi-cpol;
+               poll_mode = <0>;
+               type = <0>;
+               enable_dma = <0>;               
+       };
+       */
 };
 
 &spi1 {
        status = "okay";
+       max-freq = <48000000>;
+       /*
+       spi_test@10 {
+               compatible = "rockchip,spi_test_bus1_cs0";
+               reg = <0>;
+               spi-max-frequency = <24000000>;
+               //spi-cpha;
+               //spi-cpol;
+               poll_mode = <0>;
+               type = <0>;
+               enable_dma = <0>;
+       };
+
+       */
 };
 
 &spi2 {
        status = "okay";
+       max-freq = <48000000>;
+       /*
+       spi_test@20 {
+               compatible = "rockchip,spi_test_bus2_cs0";
+               reg = <0>;
+               spi-max-frequency = <24000000>;
+               //spi-cpha;
+               //spi-cpol;
+               poll_mode = <0>;
+               type = <0>;
+               enable_dma = <0>;
+       };
+
+       spi_test@21 {
+               compatible = "rockchip,spi_test_bus2_cs1";
+               reg = <1>;
+               spi-max-frequency = <24000000>;
+               //spi-cpha;
+               //spi-cpol;
+               poll_mode = <0>;
+               type = <0>;
+               enable_dma = <0>;
+       };
+       */
+};
+
+&uart_bt {
+        status = "okay";
+        dma-names = "!tx", "!rx";
+        pinctrl-0 = <&uart0_xfer &uart0_cts>;
 };
 
 &i2c0 {
                reg = <0x1b>;
                status = "okay";
        };
-       
+       rk818: rk818@1c {
+               reg = <0x1c>;
+               status = "okay";
+       };
+               syr827: syr827@40 {
+               compatible = "silergy,syr82x";
+       reg = <0x40>;
+               status = "okay";
+               regulators {
+                       #address-cells = <1>;
+                       #size-cells = <0>;      
+                       syr827_dc1: regulator@0 {
+                       reg = <0>;
+                       regulator-compatible = "syr82x_dcdc1";
+                       regulator-name = "vdd_arm";
+                       regulator-min-microvolt = <712500>;
+                       regulator-max-microvolt = <1500000>;
+                       regulator-always-on;
+                       regulator-boot-on;
+                       regulator-initial-mode = <0x2>;
+                       regulator-initial-state = <3>;
+                       regulator-state-mem {
+                               regulator-state-mode = <0x2>;
+                               regulator-state-disabled;
+                               regulator-state-uv = <900000>;
+                       };
+               };
+          };
+       };
+       syr828: syr828@41 {
+               compatible = "silergy,syr82x";
+               reg = <0x41>;
+               status = "okay";
+               regulators {
+                       #address-cells = <1>;
+                       #size-cells = <0>;      
+                       syr828_dc1: regulator@0 {
+                       reg = <0>;
+                       regulator-compatible = "syr82x_dcdc1";
+                       regulator-name = "vdd_gpu";
+                       regulator-min-microvolt = <712500>;
+                       regulator-max-microvolt = <1500000>;
+                       regulator-always-on;
+               regulator-boot-on;
+                       regulator-initial-mode = <0x2>;
+                       regulator-initial-state = <3>;
+                       regulator-state-mem {
+                               regulator-state-mode = <0x2>;
+                               regulator-state-enabled;
+                               regulator-state-uv = <900000>;
+                       };      
+               };
+          };
+       };
+       act8846: act8846@5a {
+               reg = <0x5a>;
+               status = "okay";
+       };
+
+       ricoh619: ricoh619@32 {
+               reg = <0x32>;
+               status = "okay";
+       };
        bq24296: bq24296@6b {
                compatible = "ti,bq24296";
                reg = <0x6b>;
-               gpios = <&gpio0 GPIO_A7 GPIO_ACTIVE_HIGH>;
-               bq24296,chg_current = <1000 500 2000>;
-               status = "disable";
+               gpios = <&gpio0 GPIO_A7 GPIO_ACTIVE_HIGH>,<&gpio0 GPIO_B0 GPIO_ACTIVE_HIGH>;
+               bq24296,chg_current = <1000 2000 3000>;
+               status = "okay";
        };
+       
        bq27320: bq27320@55 {
                compatible = "ti,bq27320";
                reg = <0x55>;
        /*   gpios = <&gpio0 GPIO_A7 GPIO_ACTIVE_HIGH>; */
-               status = "disable";
+               status = "okay";
+       };
+
+       CW2015@62 {
+               compatible = "cw201x";
+               reg = <0x62>;
+               dc_det_gpio = <&gpio0 GPIO_B0 GPIO_ACTIVE_LOW>;
+               bat_low_gpio = <&gpio0 GPIO_A7 GPIO_ACTIVE_LOW>;
+               chg_ok_gpio = <&gpio0 GPIO_B1 GPIO_ACTIVE_HIGH>;
+               bat_config_info = <0x15 0x42 0x60 0x59 0x52 0x58 0x4D 0x48 0x48 0x44 0x44 0x46 0x49 0x48 0x32
+                       0x24 0x20 0x17 0x13 0x0F 0x19 0x3E 0x51 0x45 0x08 0x76 0x0B 0x85 0x0E 0x1C 0x2E 0x3E 0x4D 0x52 0x52
+                       0x57 0x3D 0x1B 0x6A 0x2D 0x25 0x43 0x52 0x87 0x8F 0x91 0x94 0x52 0x82 0x8C 0x92 0x96 0xFF 0x7B 0xBB
+                       0xCB 0x2F 0x7D 0x72 0xA5 0xB5 0xC1 0x46 0xAE>;
+               is_dc_charge = <1>;
+               is_usb_charge = <0>;
+       };
+       
+       rtc@51 {
+               compatible = "rtc,hym8563";
+               reg = <0x51>;
+               irq_gpio = <&gpio0 GPIO_A4 IRQ_TYPE_EDGE_FALLING>;
        };
+
 };
 
 &i2c1 {
               poll_delay_ms = <30>;
               layout = <1>;
        };
-       
+
+    nfc-bcm2079x@76 {
+        compatible = "nfc-bcm2079x.ap6441";
+        reg = <0x76>;
+        en_gpio = <&gpio4 GPIO_D3 GPIO_ACTIVE_HIGH>;
+        wake_gpio = <&gpio5 GPIO_C0 GPIO_ACTIVE_HIGH>;
+        irq_gpio = <&gpio5 GPIO_B7 IRQ_TYPE_EDGE_RISING>;
+        status = "disabled";
+    };
+    nfc-bcm2079x@77 {
+        compatible = "nfc-bcm2079x.ap6493";
+        reg = <0x77>;
+        en_gpio = <&gpio4 GPIO_D3 GPIO_ACTIVE_HIGH>;
+        wake_gpio = <&gpio5 GPIO_C0 GPIO_ACTIVE_HIGH>;
+        irq_gpio = <&gpio5 GPIO_B7 IRQ_TYPE_EDGE_RISING>;
+        status = "disabled";
+    };
 };
 
 &i2c2 {
        rt3261: rt3261@1c {
                compatible = "rt3261";
                reg = <0x1c>;
-               codec-en-gpio = <0>;//sdk default high level
+       //      codec-en-gpio = <0>;//sdk default high level
                spk-num= <2>;
                modem-input-mode = <1>;
                lout-to-modem_mode = <1>;
        };
        
        ts@01 {
-               compatible = "ct,ct36x";
+               compatible = "ct,vtl_ts";
                reg = <0x01>;
-               ct-model = <365>;
-               touch-gpio = <&gpio7 GPIO_A6 IRQ_TYPE_LEVEL_LOW>;
-               reset-gpio = <&gpio7 GPIO_A5 GPIO_ACTIVE_HIGH>;
-               max-x = <1280>;
-               max-y = <800>;
-               orientation=<1 0 0 1>;
+               screen_max_x = <2048>;
+               screen_max_y = <1536>;
+               irq_gpio_number = <&gpio7 GPIO_A6 IRQ_TYPE_LEVEL_LOW>;
+               rst_gpio_number = <&gpio7 GPIO_A5 GPIO_ACTIVE_HIGH>;
        };
 };
 
 &i2c5 {
-       status = "okay";
+       status = "disable";
 };
 
 &fb {
        rockchip,disp-mode = <DUAL>;
+       rockchip,uboot-logo-on = <1>;
 };
 
 &rk_screen {
         display-timings = <&disp_timings>;
 };
 
-/*lcdc1 as PRMRY(LCD),lcdc0 as EXTEND(HDMI)*/
-&lcdc1 {
+/*lcdc0 as PRMRY(LCD),lcdc1 as EXTEND(HDMI)*/
+&lcdc0 {
        status = "okay";
+       rockchip,mirror = <NO_MIRROR>;
+       rockchip,cabc_mode = <0>;
        power_ctr: power_ctr {
                rockchip,debug = <0>;
-               rockchip,mirror = <NO_MIRROR>;
                lcd_en:lcd_en {
                        rockchip,power_type = <GPIO>;
                        gpios = <&gpio7 GPIO_A3 GPIO_ACTIVE_HIGH>;
                        rockchip,delay = <10>;
                };
                
-               /*lcd_cs:lcd_cs {
-                       rockchip,power_type = <REGULATOR>;
+               lcd_cs:lcd_cs {
+                       rockchip,power_type = <GPIO>;
+                       gpios = <&gpio7 GPIO_A4 GPIO_ACTIVE_HIGH>;
                        rockchip,delay = <10>;
                };
 
-               lcd_rst:lcd_rst {
+               /*lcd_rst:lcd_rst {
                        rockchip,power_type = <GPIO>;
                        gpios = <&gpio3 GPIO_D6 GPIO_ACTIVE_HIGH>;
                        rockchip,delay = <5>;
        };
 };
 
-&lcdc0 {
+&lcdc1 {
        status = "okay";
+       rockchip,mirror = <NO_MIRROR>;
 };
 
 &hdmi {
 &adc {
        status = "okay";
 
+       rockchip_headset {
+               compatible = "rockchip_headset";
+               headset_gpio = <&gpio0 GPIO_C2 GPIO_ACTIVE_LOW>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&gpio0_c2>;
+               io-channels = <&adc 2>; 
+       /*
+               hook_gpio = ;
+               hook_down_type = ; //interrupt hook key down status 
+               */       
+       };
+
        key {
                compatible = "rockchip,key";
                io-channels = <&adc 1>;
                        label = "volume down";
                        rockchip,adc_value = <170>;
                };
-
+               
                power-key {
-                       gpios = <&gpio0 GPIO_A4 GPIO_ACTIVE_LOW>;
+                       gpios = <&gpio0 GPIO_A5 GPIO_ACTIVE_LOW>;
                        linux,code = <116>;
                        label = "power";
                        gpio-key,wakeup;
                };
 
                menu-key {
-                       linux,code = <139>;
+                       linux,code = <59>;
                        label = "menu";
                        rockchip,adc_value = <355>;
                };
 &clk_core_dvfs_table {
        operating-points = <
                /* KHz    uV */
-               312000 1100000
-               504000 1100000
-               816000 1100000
-               1008000 1100000
+               126000 850000
+               216000 850000
+               312000 850000
+               408000 850000
+               600000 900000
+               696000 950000
+               816000 1000000
+               1008000 1050000
+               1200000 1100000
+               1416000 1200000
                >;
+       status="okay";
 };
 
 &clk_gpu_dvfs_table {
        operating-points = <
                /* KHz    uV */
-               200000 1200000
-               300000 1200000
-               400000 1200000
+               100000 850000
+               200000 900000
+               300000 950000
+               420000 1050000
+               500000 1150000
                >;
+       status="okay";
 };
 
 &clk_ddr_dvfs_table {
        operating-points = <
                /* KHz    uV */
-               200000 1200000
-               300000 1200000
-               400000 1200000
+               200000 950000
+               300000 950000
+               400000 1000000
+               533000 1050000
                >;
 
-       freq_table = <
+       freq-table = <
                /*status                freq(KHz)*/
                SYS_STATUS_NORMAL       400000
                SYS_STATUS_SUSPEND      200000
-               SYS_STATUS_VIDEO        300000
-               SYS_STATUS_DUALVIEW     500000
+               SYS_STATUS_VIDEO_1080P  240000
+               SYS_STATUS_VIDEO_4K     400000
+               SYS_STATUS_PERFORMANCE  528000
+               SYS_STATUS_DUALVIEW     400000
+               SYS_STATUS_BOOST        324000
+               SYS_STATUS_ISP          533000
                >;
+       auto-freq-table = <
+               240000
+               324000
+               396000
+               528000
+               >;
+       auto-freq=<1>;
+       status="okay";
+};
+/include/ "act8846.dtsi"
+&act8846 {
+       gpios =<&gpio7 GPIO_A1 GPIO_ACTIVE_LOW>,<&gpio0 GPIO_B2 GPIO_ACTIVE_HIGH>;
+       act8846,system-power-controller;
+
+       regulators {
+               
+               dcdc1_reg: regulator@0{
+                       regulator-name= "act_dcdc1";
+                       regulator-min-microvolt = <1200000>;
+                       regulator-max-microvolt = <1200000>;
+                       regulator-always-on;
+                       regulator-boot-on;
+               };
+
+               dcdc2_reg: regulator@1 {
+                       regulator-name= "vccio";
+                       regulator-min-microvolt = <3300000>;
+                       regulator-max-microvolt = <3300000>;
+                       regulator-initial-state = <3>;
+                       regulator-state-mem {
+                               regulator-state-enabled;
+                               regulator-state-uv = <3300000>;
+                       };              
+               };
+
+               dcdc3_reg: regulator@2 {
+                       regulator-name= "vdd_logic";
+                       regulator-min-microvolt = <700000>;
+                       regulator-max-microvolt = <1500000>;
+                       regulator-initial-state = <3>;
+                       regulator-state-mem {
+                               regulator-state-enabled;
+                               regulator-state-uv = <1200000>;
+                       };              
+               
+               };
+
+               dcdc4_reg: regulator@3 {
+                       regulator-name= "act_dcdc4";
+                       regulator-min-microvolt = <2000000>;
+                       regulator-max-microvolt = <2000000>;
+                               regulator-initial-state = <3>;
+                       regulator-state-mem {
+                               regulator-state-enabled;
+                               regulator-state-uv = <2000000>;
+                       };
+               };
+
+               ldo1_reg: regulator@4 {
+                       regulator-name= "vccio_sd";
+                       regulator-min-microvolt = <1800000>;
+                       regulator-max-microvolt = <3300000>;
+                       
+               };
+
+               ldo2_reg: regulator@5 {
+                       regulator-name= "act_ldo2";
+                       regulator-min-microvolt = <1000000>;
+                       regulator-max-microvolt = <1000000>;
+               
+               };
+
+               ldo3_reg: regulator@6 {
+                       regulator-name= "act_ldo3";
+                       regulator-min-microvolt = <3300000>;
+                       regulator-max-microvolt = <3300000>;
+                       
+               };
+
+               ldo4_reg:regulator@7 {
+                       regulator-name= "act_ldo4";
+                       regulator-min-microvolt = <3300000>;
+                       regulator-max-microvolt = <3300000>;
+               
+               };
+
+               ldo5_reg: regulator@8 {
+                       regulator-name= "act_ldo5";
+                       regulator-min-microvolt = <3300000>;
+                       regulator-max-microvolt = <3300000>;
+               
+               };
+
+               ldo6_reg: regulator@9 {
+                       regulator-name= "act_ldo6";
+                       regulator-min-microvolt = <1000000>;
+                       regulator-max-microvolt = <1000000>;
+                       regulator-initial-state = <3>;
+                       regulator-state-mem {
+                               regulator-state-enabled;
+                       };
+                       
+               };
+
+               ldo7_reg: regulator@10 {
+                       regulator-name= "vcc_18";
+                       regulator-min-microvolt = <1800000>;
+                       regulator-max-microvolt = <1800000>;
+                       regulator-initial-state = <3>;
+                       regulator-state-mem {
+                               regulator-state-enabled;
+                       };
+               
+               };
+
+               ldo8_reg: regulator@11 {
+                       regulator-name= "act_ldo8";
+                       regulator-min-microvolt = <1800000>;
+                       regulator-max-microvolt = <1800000>;
+               
+               };
+       };
 };
 
+
 /include/ "rk808.dtsi"
 &rk808 {
        gpios =<&gpio0 GPIO_A4 GPIO_ACTIVE_HIGH>,<&gpio0 GPIO_B3 GPIO_ACTIVE_LOW>;
+       rk808,system-power-controller;
 
        regulators {
                
 
                rk808_dcdc2_reg: regulator@1 {
                        regulator-name= "vdd_gpu";
-                       regulator-always-on;
-                       regulator-boot-on;
+                       //regulator-always-on;
+                       //regulator-boot-on;
                };
 
                rk808_dcdc3_reg: regulator@2 {
                };
 
                rk808_ldo5_reg: regulator@8 {
-                       regulator-name= "rk_ldo5";
-                       regulator-min-microvolt = <3300000>;
+                       regulator-name= "vcc_sd";
+                       regulator-min-microvolt = <1800000>;
                        regulator-max-microvolt = <3300000>;
                        regulator-always-on;
                        regulator-boot-on;
                        regulator-always-on;
                        regulator-boot-on;
                };
+
+               rk808_ldo9_reg: regulator@12 {
+                       regulator-name= "rk_ldo9";
+                       regulator-always-on;
+                       regulator-boot-on;
+               };
+
+               rk808_ldo10_reg: regulator@13 {
+                       regulator-name= "rk_ldo10";
+                       regulator-always-on;
+                       regulator-boot-on;
+               };
+       };
+};
+
+/include/ "ricoh619.dtsi"
+&ricoh619 {
+       gpios =<&gpio0 GPIO_A4 GPIO_ACTIVE_HIGH>,<&gpio0 GPIO_B3 GPIO_ACTIVE_LOW>,<&gpio0 GPIO_B0 GPIO_ACTIVE_HIGH>;
+       ricoh619,system-power-controller;
+       
+       regulators {
+               ricoh619_dcdc1_reg: regulator@0 {
+                       regulator-name = "vccio";
+                       regulator-min-microvolt = <3300000>;
+                       regulator-max-microvolt = <3300000>;
+                       regulator-initial-mode = <0x2>;
+                       regulator-initial-state = <3>;
+                       regulator-state-mem {
+                               regulator-state-mode = <0x2>;
+                               regulator-state-enabled;
+                               regulator-state-uv = <2800000>;
+                       };      
+               };
+               ricoh619_dcdc2_reg: regulator@1 {
+                       regulator-name = "ricoh619_dcdc2";
+                       regulator-min-microvolt = <2000000>;
+                       regulator-max-microvolt = <2000000>;
+                       regulator-initial-mode = <0x2>;
+                       regulator-initial-state = <3>;
+                       regulator-state-mem {
+                               regulator-state-mode = <0x2>;
+                               regulator-state-enabled;
+                               regulator-state-uv = <2000000>;
+                       };      
+               };
+               ricoh619_dcdc3_reg: regulator@2 {
+                       regulator-name = "vcc_lcd";
+                       regulator-min-microvolt = <3300000>;
+                       regulator-max-microvolt = <3300000>;
+                       regulator-initial-mode = <0x2>;
+                       regulator-initial-state = <3>;
+                       regulator-state-mem {
+                               regulator-state-mode = <0x2>;
+                               regulator-state-enabled;
+                               regulator-state-uv = <3300000>;
+                       };      
+               };
+               ricoh619_dcdc4_reg: regulator@3 {
+                       regulator-name = "vdd_logic";
+                       regulator-min-microvolt = <700000>;
+                       regulator-max-microvolt = <1500000>;
+                       regulator-initial-mode = <0x2>;
+                       regulator-initial-state = <3>;
+                       regulator-state-mem {
+                               regulator-state-mode = <0x2>;
+                               regulator-state-enabled;
+                               regulator-state-uv = <900000>;
+                       };      
+               };
+               ricoh619_dcdc5_reg: regulator@4 {
+                       regulator-name = "vcc_ddr";
+                       regulator-min-microvolt = <1200000>;
+                       regulator-max-microvolt = <1200000>;
+                       regulator-initial-mode = <0x2>;
+                       regulator-initial-state = <3>;
+                       regulator-state-mem {
+                               regulator-state-mode = <0x2>;
+                               regulator-state-enabled;
+                               regulator-state-uv = <1200000>;
+                       };      
+               };
+               ricoh619_ldo1_reg: regulator@5  {
+                       regulator-name = "vccio_pmu";
+                       regulator-min-microvolt = <3300000>;
+                       regulator-max-microvolt = <3300000>;
+                       regulator-initial-state = <3>;
+                       regulator-state-mem {
+                               regulator-state-enabled;
+                               regulator-state-uv = <3300000>;
+                       };      
+               };
+               ricoh619_ldo2_reg: regulator@6  {
+                       regulator-name = "ricoh619_ldo2";
+                       regulator-min-microvolt = <3300000>;
+                       regulator-max-microvolt = <3300000>;
+                       regulator-initial-state = <3>;
+                       regulator-state-mem {
+                               regulator-state-enabled;
+                               regulator-state-uv = <3300000>;
+                       };
+               };
+               ricoh619_ldo3_reg: regulator@7  {
+                       regulator-name = "ricoh619_ldo3";
+                       regulator-min-microvolt = <3300000>;
+                       regulator-max-microvolt = <3300000>;
+                       regulator-initial-state = <3>;
+                       regulator-state-mem {
+                               regulator-state-enabled;
+                               regulator-state-uv = <3300000>;
+                       };
+               };
+               ricoh619_ldo4_reg: regulator@8  {
+                       regulator-name = "vcc_sd";
+                       regulator-min-microvolt = <3300000>;
+                       regulator-max-microvolt = <3300000>;
+                       regulator-initial-state = <3>;
+                       regulator-state-mem {
+                               regulator-state-enabled;
+                               regulator-state-uv = <3300000>;
+                       };
+               };
+               ricoh619_ldo5_reg: regulator@9  {
+                       regulator-name = "vcc_wl";
+                       regulator-min-microvolt = <1800000>;
+                       regulator-max-microvolt = <1800000>;
+                       regulator-initial-state = <3>;
+                       regulator-state-mem {
+                               regulator-state-enabled;
+                               regulator-state-uv = <1800000>;
+                       };
+               };
+               ricoh619_ldo6_reg: regulator@10  {
+                       regulator-name = "ricoh619_ldo6";
+                       regulator-min-microvolt = <1800000>;
+                       regulator-max-microvolt = <1800000>;
+                       regulator-initial-state = <3>;
+                       regulator-state-mem {
+                               regulator-state-enabled;
+                               regulator-state-uv = <1800000>;
+                       };
+               };
+               ricoh619_ldo7_reg: regulator@11  {
+                       regulator-name = "ricoh619_ldo7";
+                       regulator-min-microvolt = <1000000>;
+                       regulator-max-microvolt = <1000000>;
+                       regulator-initial-state = <3>;
+                       regulator-state-mem {
+                               regulator-state-enabled;
+                               regulator-state-uv = <1000000>;
+                       };
+               };
+               ricoh619_ldo8_reg: regulator@12  {
+                       regulator-name = "ricoh619_ldo8";
+                       regulator-min-microvolt = <3300000>;
+                       regulator-max-microvolt = <3300000>;
+                       regulator-initial-state = <3>;
+                       regulator-state-mem {
+                               regulator-state-enabled;
+                               regulator-state-uv = <3300000>;
+                       };
+               };
+               ricoh619_ldo9_reg: regulator@13  {
+                       regulator-name = "ricoh619_ldo9";
+                       regulator-min-microvolt = <1000000>;
+                       regulator-max-microvolt = <1000000>;
+                       regulator-initial-state = <3>;
+                       regulator-state-mem {
+                               regulator-state-enabled;
+                               regulator-state-uv = <1000000>;
+                       };
+               };
+               ricoh619_ldo10_reg: regulator@14  {
+                       regulator-name = "vcc_18";
+                       regulator-min-microvolt = <1800000>;
+                       regulator-max-microvolt = <1800000>;
+                       regulator-initial-state = <3>;
+                       regulator-state-mem {
+                               regulator-state-enabled;
+                               regulator-state-uv = <1800000>;
+                       };
+               };
+               ricoh619_ldortc1_reg: regulator@15  {
+                       regulator-name = "ricoh619_ldortc1";
+                       regulator-min-microvolt = < 3300000>;
+                       regulator-max-microvolt = <3300000>;
+               };
+               ricoh619_ldortc2_reg: regulator@16  {
+                       regulator-name = "ricoh619_ldortc2";
+                       regulator-min-microvolt = < 3300000>;
+                       regulator-max-microvolt = <3300000>;
+               };
+       };
+};
+/include/ "rk818.dtsi"
+&rk818 {
+       gpios =<&gpio0 GPIO_A4 GPIO_ACTIVE_HIGH>,<&gpio0 GPIO_B3 GPIO_ACTIVE_LOW>;
+       rk818,system-power-controller;
+
+       regulators {
+               
+               rk818_dcdc1_reg: regulator@0{
+                       regulator-name= "vdd_logic";
+                       regulator-min-microvolt = <700000>;
+                       regulator-max-microvolt = <1500000>;
+                       regulator-initial-mode = <0x2>;
+                       regulator-initial-state = <3>;
+                       regulator-state-mem {
+                               regulator-state-mode = <0x2>;
+                               regulator-state-enabled;
+                               regulator-state-uv = <900000>;
+                       };              
+               };
+
+               rk818_dcdc2_reg: regulator@1 {
+                       regulator-name= "rk818_dcdc2";
+                       regulator-min-microvolt = <1200000>;
+                       regulator-max-microvolt = <1200000>;    
+                       regulator-initial-mode = <0x2>;
+                       regulator-initial-state = <3>;
+                       regulator-state-mem {
+                               regulator-state-mode = <0x2>;
+                               regulator-state-enabled;
+                               regulator-state-uv = <1200000>;
+                       };      
+               };
+
+               rk818_dcdc3_reg: regulator@2 {
+                       regulator-name= "rk818_dcdc3";
+                       regulator-min-microvolt = <1200000>;
+                       regulator-max-microvolt = <1200000>;
+                               regulator-initial-mode = <0x2>;
+                       regulator-initial-state = <3>;
+                       regulator-state-mem {
+                               regulator-state-mode = <0x2>;
+                               regulator-state-enabled;
+                               regulator-state-uv = <1200000>;
+                       };      
+               };
+
+               rk818_dcdc4_reg: regulator@3 {
+                       regulator-name= "vccio";
+                       regulator-min-microvolt = <1800000>;
+                       regulator-max-microvolt = <3300000>;
+                       regulator-initial-mode = <0x2>;
+                       regulator-initial-state = <3>;
+                       regulator-state-mem {
+                               regulator-state-mode = <0x2>;
+                               regulator-state-enabled;
+                               regulator-state-uv = <2800000>;
+                       };      
+               };
+
+               rk818_ldo1_reg: regulator@4 {
+                       regulator-name= "rk818_ldo1";
+                       regulator-min-microvolt = <3300000>;
+                       regulator-max-microvolt = <3300000>;
+                       regulator-initial-state = <3>;
+                       regulator-state-mem {
+                               regulator-state-enabled;
+                               regulator-state-uv = <3300000>;
+                       };      
+               };
+
+               rk818_ldo2_reg: regulator@5 {
+                       regulator-name= "rk818_ldo2";
+                       regulator-min-microvolt = <3300000>;
+                       regulator-max-microvolt = <3300000>;
+                       regulator-initial-state = <3>;
+                       regulator-state-mem {
+                               regulator-state-enabled;
+                               regulator-state-uv = <3300000>;
+                       };      
+               };
+
+               rk818_ldo3_reg: regulator@6 {
+                       regulator-name= "rk818_ldo3";
+                       regulator-min-microvolt = <1000000>;
+                       regulator-max-microvolt = <1000000>;
+                       regulator-initial-state = <3>;
+                       regulator-state-mem {
+                               regulator-state-enabled;
+                               regulator-state-uv = <1000000>;
+                       };      
+               };
+
+               rk818_ldo4_reg:regulator@7 {
+                       regulator-name= "rk818_ldo4";
+                       regulator-min-microvolt = <1800000>;
+                       regulator-max-microvolt = <1800000>;
+                       regulator-initial-state = <3>;
+                       regulator-state-mem {
+                               regulator-state-disabled;
+                               regulator-state-uv = <1800000>;
+                       };
+               };
+
+               rk818_ldo5_reg: regulator@8 {
+                       regulator-name= "rk818_ldo5";
+                       regulator-min-microvolt = <3300000>;
+                       regulator-max-microvolt = <3300000>;
+                       regulator-initial-state = <3>;
+                       regulator-state-mem {
+                               regulator-state-enabled;
+                               regulator-state-uv = <3300000>;
+                       };
+               };
+
+               rk818_ldo6_reg: regulator@9 {
+                       regulator-name= "rk818_ldo6";
+                       regulator-min-microvolt = <1000000>;
+                       regulator-max-microvolt = <1000000>;
+                       regulator-initial-state = <3>;
+                       regulator-state-mem {
+                               regulator-state-disabled;
+                               regulator-state-uv = <1000000>;
+                       };      
+               };
+
+               rk818_ldo7_reg: regulator@10 {
+                       regulator-name= "rk818_ldo7";
+                       regulator-min-microvolt = <1800000>;
+                       regulator-max-microvolt = <1800000>;
+                       regulator-initial-state = <3>;
+                       regulator-state-mem {
+                               regulator-state-enabled;
+                               regulator-state-uv = <1800000>;
+                       };      
+               };
+
+               rk818_ldo8_reg: regulator@11 {
+                       regulator-name= "rk818_ldo8";
+                       regulator-min-microvolt = <1800000>;
+                       regulator-max-microvolt = <1800000>;
+                       regulator-initial-state = <3>;
+                       regulator-state-mem {
+                               regulator-state-enabled;
+                               regulator-state-uv = <1800000>;
+                       };      
+               };
+               rk818_ldo9_reg: regulator@12 {
+                       regulator-name= "vcc_sd";
+                       regulator-min-microvolt = <1800000>;
+               regulator-max-microvolt = <3300000>;
+                       regulator-initial-state = <3>;
+                       regulator-state-mem {
+                               regulator-state-enabled;
+                               regulator-state-uv = <3300000>;
+                       };
+               };
+               rk818_ldo10_reg: regulator@13 {
+                       regulator-name= "rk818_ldo10";
+                       regulator-state-mem {
+                               regulator-state-disabled;
+                       };
+               };
+       };
+       battery {
+               ocv_table = <3350 3677 3693 3719 3752 3770 3775 3778 3785 3796 3812 3839 3881 3907 3933 3958 3978 4033 4087 4123 4174>;
+               design_capacity = <2100>;
+               design_qmax = <2200>;
+               max_overcharge = <100>;
+               max_charge_currentma = <1500>;
+               max_charge_voltagemv = <4260>;
+               max_bat_voltagemv = <4200>;
+        };
+};
+
+&lcdc_vdd_domain {
+       regulator-name = "vcc30_lcd";
+       };
+&dpio_vdd_domain{
+       regulator-name = "vcc18_cif";   
+       };
+&flash0_vdd_domain{
+       regulator-name = "vcc_flash";   
+       };
+&flash1_vdd_domain{
+       regulator-name = "vcc_flash";                   
+       };
+&apio3_vdd_domain{
+       regulator-name = "vccio_wl";            
+       };
+&apio5_vdd_domain{
+       regulator-name = "vccio";               
+       };
+&apio4_vdd_domain{
+       regulator-name = "vccio";               
+       };
+&apio1_vdd_domain{
+       regulator-name = "vccio";                       
+       };
+&apio2_vdd_domain{
+       regulator-name = "vccio";               
+       };
+&sdmmc0_vdd_domain{
+       regulator-name = "vcc_sd";                      
+       };
+
+&ion_cma {
+       reg = <0x40000000 0x28000000>; /* 640MB */
+};
+
+&dwc_control_usb {
+       usb_uart {
+               status = "disabled";
        };
 };