rk3288:pmic:rk818:support rk818 regulator and rtc
[firefly-linux-kernel-4.4.55.git] / arch / arm / boot / dts / rk3288-tb.dts
old mode 100755 (executable)
new mode 100644 (file)
index 4605b94..0092e9d
@@ -4,11 +4,52 @@
 #include "lcd-b101ew05.dtsi"
 
 / {
+       fiq-debugger {
+               status = "okay";
+       };
+
+    wireless-wlan {
+        compatible = "wlan-platdata";
+
+        wifi_chip_type = "";
+        sdio_vref = <1800>; //1800mv or 3300mv
+
+        //power_ctrl_by_pmu;
+        pmu_regulator = "act_ldo3";
+        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>;
+        //WIFI,reset_gpio = <&gpio0 GPIO_A2 GPIO_ACTIVE_LOW>;
+
+        status = "okay";
+    };
+
+    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>;
+        pinctrl-1 = <&uart0_rts_gpio>;
+
+        BT,power_gpio = <&gpio4 GPIO_D3 GPIO_ACTIVE_HIGH>;
+        BT,reset_gpio = <&gpio4 GPIO_D5 GPIO_ACTIVE_HIGH>;
+        BT,wake_gpio = <&gpio4 GPIO_D2 GPIO_ACTIVE_HIGH>;
+        BT,wake_host_irq = <&gpio4 GPIO_D7 GPIO_ACTIVE_LOW>;
 
-fiq-debugger {
         status = "okay";
+    };
+
+    hallsensor {
+               compatible = "hall_och165t";
+               type = <SENSOR_TYPE_HALL>;
+               irq-gpio = <&gpio0 GPIO_A6 IRQ_TYPE_EDGE_BOTH>;
      };
-backlight {
+
+       backlight {
                compatible = "pwm-backlight";
                pwms = <&pwm0 0 25000>;
                brightness-levels = <0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255>;
@@ -16,31 +57,30 @@ backlight {
                enable-gpios = <&gpio7 GPIO_A2 GPIO_ACTIVE_HIGH>;
        };
 
-pwm_regulator {
-       compatible = "rockchip_pwm_regulator";
-       pwms = <&pwm1 0 25000>;
-       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,pwm_min_voltage= <925000>;
-       rockchip,pwm_max_voltage= <1400000>;
-       rockchip,pwm_suspend_voltage= <950000>;
-       rockchip,pwm_coefficient= <475>;
-       regulators {
-               #address-cells = <1>;
-               #size-cells = <0>;                      
-                pwm_reg0: regulator@0{
-                       regulator-compatible = "pwm_dcdc1";
-                       regulator-name= "vdd_logic";
-                       regulator-min-microvolt = <925000>;
-                       regulator-max-microvolt = <1400000>;    
-                       regulator-always-on;
-                       regulator-boot-on;
+       pwm_regulator {
+               compatible = "rockchip_pwm_regulator";
+               pwms = <&pwm1 0 25000>;
+               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,pwm_min_voltage= <925000>;
+               rockchip,pwm_max_voltage= <1400000>;
+               rockchip,pwm_suspend_voltage= <950000>;
+               rockchip,pwm_coefficient= <475>;
+               regulators {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       pwm_reg0: regulator@0 {
+                               regulator-compatible = "pwm_dcdc1";
+                               regulator-name= "vdd_logic";
+                               regulator-min-microvolt = <925000>;
+                               regulator-max-microvolt = <1400000>;
+                               regulator-always-on;
+                               regulator-boot-on;
+                       };
                };
-           };
        };
 
-
        codec_hdmi_i2s: codec-hdmi-i2s {
                compatible = "hdmi-i2s";
        };
@@ -48,7 +88,219 @@ pwm_regulator {
        codec_hdmi_spdif: codec-hdmi-spdif {
                compatible = "hdmi-spdif";
        };
-}
+
+       rockchip-hdmi-i2s {
+               compatible = "rockchip-hdmi-i2s";
+               dais {
+                       dai0 {
+                               audio-codec = <&codec_hdmi_i2s>;
+                               i2s-controller = <&i2s>;
+                               format = "i2s";
+                               //continuous-clock;
+                               //bitclock-inversion;
+                               //frame-inversion;
+                               //bitclock-master;
+                               //frame-master;
+                       };
+               };
+       };
+       
+       rockchip-hdmi-spdif {
+               compatible = "rockchip-hdmi-spdif";
+               dais {
+                       dai0 {
+                               audio-codec = <&codec_hdmi_spdif>;
+                               i2s-controller = <&spdif>;
+                       };
+               };
+       };
+
+       rockchip-rt5631 {
+               compatible = "rockchip-rt5631";
+               dais {
+                       dai0 {
+                               audio-codec = <&rt5631>;
+                               i2s-controller = <&i2s>;
+                               format = "i2s";
+                               //continuous-clock;
+                               //bitclock-inversion;
+                               //frame-inversion;
+                               //bitclock-master;
+                               //frame-master;
+                       };
+               };
+       };
+
+       rockchip-rt3224 {
+               compatible = "rockchip-rt3261";
+               dais {
+                       dai0 {
+                               audio-codec = <&rt3261>;
+                               i2s-controller = <&i2s>;
+                               format = "i2s";
+                               //continuous-clock;
+                               //bitclock-inversion;
+                               //frame-inversion;
+                               //bitclock-master;
+                               //frame-master;
+                       };
+                       dai1 {
+                               audio-codec = <&rt3261>;
+                               i2s-controller = <&i2s>;
+                               format = "dsp_a";
+                               //continuous-clock;
+                               bitclock-inversion;
+                               //frame-inversion;
+                               //bitclock-master;
+                               //frame-master;
+                       };
+               };
+       };
+
+};
+
+&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 {
+       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
+
+};
+
+&emmc {
+               clock-frequency = <200000000>;
+               clock-freq-min-max = <400000 200000000>;
+        supports-highspeed;
+               supports-emmc;
+               bootpart-no-access;
+        ignore-pm-notify;
+               keep-power-in-suspend;
+       status = "okay";
+};
+    
+&sdmmc {
+               clock-frequency = <50000000>;
+               lock-freq-min-max = <400000 50000000>;
+               supports-highspeed;
+               supports-sd;
+               broken-cd;
+               card-detect-delay = <200>;
+               vmmc-supply = <&rk808_ldo5_reg>;
+               status = "okay";
+};
+               
+&sdio {
+               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 {
        status = "okay";
@@ -56,19 +308,92 @@ pwm_regulator {
                reg = <0x1b>;
                status = "okay";
        };
-       
+       rk818: rk818@1c {
+               reg = <0x1c>;
+               status = "okay";
+       };
+               syb827b: syb827b@40 {
+               compatible = "silergy,syb827";
+       reg = <0x40>;
+               status = "okay";
+               regulators {
+                       #address-cells = <1>;
+                       #size-cells = <0>;      
+                       syb827b_dc1: regulator@0 {
+                       reg = <0>;
+                       regulator-compatible = "syb827_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>;
+                       };
+               };
+          };
+       };
+       syb827c: syb827c@41 {
+               compatible = "silergy,syb827";
+               reg = <0x41>;
+               status = "okay";
+               regulators {
+                       #address-cells = <1>;
+                       #size-cells = <0>;      
+                       syb827c_dc1: regulator@0 {
+                       reg = <0>;
+                       regulator-compatible = "syb827_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>;
+                       };      
+               };
+          };
+       };
+
+       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>;
        };
 };
 
@@ -83,7 +408,7 @@ pwm_regulator {
                compatible = "gs_mma8452";
                reg = <0x1d>;
                type = <SENSOR_TYPE_ACCEL>;
-               irq-gpio = <&gpio8 GPIO_A0 IRQ_TYPE_EDGE_FALLING>;              
+               irq-gpio = <&gpio8 GPIO_A0 IRQ_TYPE_EDGE_FALLING>;
                irq_enable = <1>;
                poll_delay_ms = <30>;
                layout = <1>;
@@ -92,7 +417,7 @@ pwm_regulator {
                compatible = "gs_lis3dh";
                reg = <0x19>;
                type = <SENSOR_TYPE_ACCEL>;
-               irq-gpio = <&gpio0 GPIO_A0 IRQ_TYPE_LEVEL_LOW>;         
+               irq-gpio = <&gpio0 GPIO_A0 IRQ_TYPE_LEVEL_LOW>;
                irq_enable = <1>;
                poll_delay_ms = <30>;
                layout = <1>;
@@ -101,7 +426,7 @@ pwm_regulator {
                compatible = "ak8963";
                reg = <0x0d>;
                type = <SENSOR_TYPE_COMPASS>;
-               irq-gpio = <&gpio8 GPIO_A2 IRQ_TYPE_EDGE_RISING>;               
+               irq-gpio = <&gpio8 GPIO_A2 IRQ_TYPE_EDGE_RISING>;
                irq_enable = <1>;
                poll_delay_ms = <30>;
                layout = <1>;
@@ -111,16 +436,48 @@ pwm_regulator {
                compatible = "l3g20d_gyro";
                reg = <0x6b>;
                type = <SENSOR_TYPE_GYROSCOPE>;
-               irq-gpio = <&gpio8 GPIO_A3 IRQ_TYPE_LEVEL_LOW>;         
+               irq-gpio = <&gpio8 GPIO_A3 IRQ_TYPE_LEVEL_LOW>;
                irq_enable = <1>;
                poll_delay_ms = <30>;
                layout = <1>;
        };
+       sensor@10 {
+              compatible = "ls_cm3218";
+              reg = <0x10>;
+              type = <SENSOR_TYPE_LIGHT>;
+              irq-gpio = <&gpio8 GPIO_A3 IRQ_TYPE_EDGE_FALLING>;              
+              irq_enable = <1>;
+              poll_delay_ms = <30>;
+              layout = <1>;
+       };
        
 };
 
 &i2c2 {
-       status = "okay";        
+       status = "okay";
+       rt5631: rt5631@1a {
+               compatible = "rt5631";
+               reg = <0x1a>;
+       };
+       es8323: es8323@10 {
+               compatible = "es8323";
+               reg = <0x10>;
+       };
+       rt3261: rt3261@1c {
+               compatible = "rt3261";
+               reg = <0x1c>;
+       //      codec-en-gpio = <0>;//sdk default high level
+               spk-num= <2>;
+               modem-input-mode = <1>;
+               lout-to-modem_mode = <1>;
+               spk-amplify = <2>;
+               playback-if1-data_control = <0>;
+               playback-if2-data_control = <0>;
+       };
+       rt5616: rt5616@1b {
+               compatible = "rt5616";
+               reg = <0x1b>;
+       };
 };
 
 &i2c3 {
@@ -152,7 +509,7 @@ pwm_regulator {
 };
 
 &i2c5 {
-       status = "okay";
+       status = "disable";
 };
 
 &fb {
@@ -163,23 +520,25 @@ pwm_regulator {
         display-timings = <&disp_timings>;
 };
 
-&lcdc0 {
+/*lcdc1 as PRMRY(LCD),lcdc0 as EXTEND(HDMI)*/
+&lcdc1 {
        status = "okay";
        power_ctr: power_ctr {
                rockchip,debug = <0>;
-               /*lcd_en:lcd_en {
+               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>;
+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>;
@@ -188,14 +547,30 @@ pwm_regulator {
        };
 };
 
-&lcdc1 {
+&lcdc0 {
        status = "okay";
 };
 
+&hdmi {
+       status = "okay";
+       rockchips,hdmi_audio_source = <0>;
+};
 
 &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>;
@@ -211,16 +586,16 @@ pwm_regulator {
                        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>;
                };
@@ -245,19 +620,73 @@ pwm_regulator {
        };
 };
 
+&pwm0 {
+        status = "okay";
+};
+
 &pwm1 {
        status = "okay";
 };
 
 
+&clk_core_dvfs_table {
+       operating-points = <
+               /* KHz    uV */
+               126000 850000
+               216000 850000
+               312000 850000
+               408000 850000
+               600000 850000
+               696000 900000
+               816000 950000
+               1008000 1000000
+               1200000 1050000
+               1416000 1150000
+               >;
+       status="okay";
+};
+
+&clk_gpu_dvfs_table {
+       operating-points = <
+               /* KHz    uV */
+               100000 850000
+               200000 850000
+               300000 900000
+               400000 1000000
+               500000 1100000
+               600000 1250000
+               >;
+       status="okay";
+};
+
+&clk_ddr_dvfs_table {
+       operating-points = <
+               /* KHz    uV */
+               200000 950000
+               300000 950000
+               400000 1000000
+               533000 1050000
+               >;
+
+       freq_table = <
+               /*status                freq(KHz)*/
+               SYS_STATUS_NORMAL       400000
+               SYS_STATUS_SUSPEND      200000
+               SYS_STATUS_VIDEO        300000
+               SYS_STATUS_DUALVIEW     500000
+               >;
+       status="okay";
+};
+
 /include/ "rk808.dtsi"
 &rk808 {
        gpios =<&gpio0 GPIO_A4 GPIO_ACTIVE_HIGH>,<&gpio0 GPIO_B3 GPIO_ACTIVE_LOW>;
+       rk808,system-power-controller;
 
        regulators {
                
                rk808_dcdc1_reg: regulator@0{
-                       regulator-name= "vdd_arm";      
+                       regulator-name= "vdd_arm";
                        regulator-always-on;
                        regulator-boot-on;
                };
@@ -265,7 +694,7 @@ pwm_regulator {
                rk808_dcdc2_reg: regulator@1 {
                        regulator-name= "vdd_gpu";
                        regulator-always-on;
-                       regulator-boot-on;              
+                       regulator-boot-on;
                };
 
                rk808_dcdc3_reg: regulator@2 {
@@ -317,8 +746,8 @@ pwm_regulator {
                };
 
                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;
@@ -347,5 +776,392 @@ pwm_regulator {
                        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>;
+       ricoh619,system-power-controller;
+       
+       regulators {
+               ricoh619_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>;
+                       };      
+               };
+               ricoh619_dcdc2_reg: regulator@1 {
+                       regulator-name = "ricoh619_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>;
+                       };      
+               };
+               ricoh619_dcdc3_reg: regulator@2 {
+                       regulator-name = "ricoh619_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>;
+                       };      
+               };
+               ricoh619_dcdc4_reg: regulator@3 {
+                       regulator-name = "ricoh619_dcdc4";
+                       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_dcdc5_reg: regulator@4 {
+                       regulator-name = "ricoh619_dcdc5";
+                       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_ldo1_reg: regulator@5  {
+                       regulator-name = "ricoh619_ldo1";
+                       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 = "ricoh619_ldo5";
+                       regulator-min-microvolt = <3300000>;
+                       regulator-max-microvolt = <3300000>;
+                       regulator-initial-state = <3>;
+                       regulator-state-mem {
+                               regulator-state-enabled;
+                               regulator-state-uv = <3300000>;
+                       };
+               };
+               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 = <3300000>;
+                       };
+               };
+               ricoh619_ldo8_reg: regulator@12  {
+                       regulator-name = "ricoh619_ldo8";
+                       regulator-min-microvolt = <1800000>;
+                       regulator-max-microvolt = <1800000>;
+                       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 = <3300000>;
+                       };
+               };
+               ricoh619_ldo10_reg: regulator@14  {
+                       regulator-name = "ricoh619_ldo10";
+                       regulator-min-microvolt = <1800000>;
+                       regulator-max-microvolt = <1800000>;
+                       regulator-initial-state = <3>;
+                       regulator-state-mem {
+                               regulator-state-enabled;
+                               regulator-state-uv = <3300000>;
+                       };
+               };
+               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;
+                       };
+               };
+       };
+};
+
+&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";                      
+       };
+