dts:rk3368-box-r88_808: add dts support for the BOX board of R88(RK3368)_PMU_Vxx
authorAiyoujun <ayj@rock-chips.com>
Tue, 30 Jun 2015 02:07:18 +0000 (10:07 +0800)
committerAiyoujun <ayj@rock-chips.com>
Tue, 30 Jun 2015 02:07:18 +0000 (10:07 +0800)
Signed-off-by: Aiyoujun <ayj@rock-chips.com>
arch/arm64/boot/dts/rk3368-box-r88_808.dts [new file with mode: 0755]

diff --git a/arch/arm64/boot/dts/rk3368-box-r88_808.dts b/arch/arm64/boot/dts/rk3368-box-r88_808.dts
new file mode 100755 (executable)
index 0000000..46ed29c
--- /dev/null
@@ -0,0 +1,1137 @@
+/dts-v1/;
+
+#include <dt-bindings/interrupt-controller/arm-gic.h>
+#include <dt-bindings/rkfb/rk_fb.h>
+#include <dt-bindings/input/input.h>
+#include "rk3368.dtsi"
+#include "../../../arm/boot/dts/vtl_ts_sdk8846.dtsi"
+//#include "../../../arm/boot/dts/lcd-b101ew05.dtsi"
+#include "../../../arm/boot/dts/lcd-box.dtsi"
+
+
+/ {
+       chosen {
+               bootargs = "earlyprintk=uart8250-32bit,0xff690000";
+       };
+
+       wireless-wlan {
+               compatible = "wlan-platdata";
+                rockchip,grf = <&grf>;
+
+                /* wifi_chip_type - wifi chip define
+                 * ap6210, ap6330, ap6335
+                 * rtl8188eu, rtl8723bs, rtl8723bu
+                 * esp8089
+                */
+                wifi_chip_type = "rtl8189es";
+
+               sdio_vref = <1800>; //1800mv or 3300mv
+
+               //keep_wifi_power_on;
+
+               //power_ctrl_by_pmu;
+               power_pmu_regulator = "rk808_ldo3_reg";
+               power_pmu_enable_level = <1>; //1->HIGH, 0->LOW
+
+               //vref_ctrl_enable;
+               //vref_ctrl_gpio = <&gpio0 GPIO_A2 GPIO_ACTIVE_HIGH>;
+               vref_pmu_regulator = "rk808_ldo3_reg";
+               vref_pmu_enable_level = <1>; //1->HIGH, 0->LOW
+
+               WIFI,poweren_gpio = <&gpio3 GPIO_A4 GPIO_ACTIVE_HIGH>;
+               WIFI,host_wake_irq = <&gpio3 GPIO_A6 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 = <&gpio2 GPIO_D3 GPIO_ACTIVE_LOW>;
+               pinctrl-names = "default","rts_gpio";
+               pinctrl-0 = <&uart0_rts>;
+               pinctrl-1 = <&uart0_rts_gpio>;
+
+               BT,power_gpio = <&gpio3 GPIO_A3 GPIO_ACTIVE_HIGH>;
+               BT,reset_gpio = <&gpio3 GPIO_A5 GPIO_ACTIVE_HIGH>;
+               BT,wake_gpio = <&gpio3 GPIO_A2 GPIO_ACTIVE_HIGH>;
+               BT,wake_host_irq = <&gpio3 GPIO_A7 GPIO_ACTIVE_HIGH>;
+               status = "okay";
+       };
+
+       hallsensor {
+              compatible = "hall_och165t";
+              type = <SENSOR_TYPE_HALL>;
+              irq-gpio = <&gpio0 GPIO_C0 IRQ_TYPE_EDGE_BOTH>;
+       };
+
+       backlight {
+               compatible = "pwm-backlight";
+               pwms = <&pwm0 0 25000>;
+               brightness-levels = <255 254 253 252 251 250 249 248 247 246 245 244 243 242 241 240
+                    239 238 237 236 235 234 233 232 231 230 229 228 227 226 225 224 223 222 221 220
+                    219 218 217 216 215 214 213 212 211 210 209 208 207 206 205 204 203 202 201 200
+                    199 198 197 196 195 194 193 192 191 190 189 188 187 186 185 184 183 182 181 180
+                    179 178 177 176 175 174 173 172 171 170 169 168 167 166 165 164 163 162 161 160
+                    159 158 157 156 155 154 153 152 151 150 149 148 147 146 145 144 143 142 141 140
+                    139 138 137 136 135 134 133 132 131 130 129 128 127 126 125 124 123 122 121 120
+                    119 118 117 116 115 114 113 112 111 110 109 108 107 106 105 104 103 102 101 100
+                    99 98 97 96 95 94 93 92 91 90 89 88 87 86 85 84 83 82 81 80 79 78 77 76 75 74 73 72 71 70
+                    69 68 67 66 65 64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 45 44 43 42 41 40
+                    39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10
+                    9 8 7 6 5 4 3 2 1 0>;
+               default-brightness-level = <200>;
+               enable-gpios = <&gpio0 GPIO_C4 GPIO_ACTIVE_HIGH>;
+               status = "disabled"; 
+       };
+
+       pwm_regulator {
+               compatible = "rockchip_pwm_regulator";
+               pwms = <&pwm1 0 2000>;
+               rockchip,pwm_id= <1>;
+               rockchip,pwm_voltage_map= <900000 925000 950000 975000 1000000 1025000 1050000 1075000 1100000 1125000 1150000 1175000 1200000 1225000 1250000 1275000 1300000 1325000 1350000 1375000>;
+               rockchip,pwm_voltage= <1000000>;
+               rockchip,pwm_min_voltage= <900000>;
+               rockchip,pwm_max_voltage= <1375000>;
+               rockchip,pwm_suspend_voltage= <950000>;
+               rockchip,pwm_coefficient= <555>;
+               regulators {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       pwm_reg0: regulator@0 {
+                               regulator-compatible = "pwm_dcdc1";
+                               regulator-name= "vdd_logic";
+                               regulator-min-microvolt = <900000>;
+                               regulator-max-microvolt = <1375000>;
+                               regulator-always-on;
+                               regulator-boot-on;
+                       };
+               };
+               test-power{
+                       status = "okay";
+               };
+       };
+
+       codec_hdmi_i2s: codec-hdmi-i2s {
+               compatible = "hdmi-i2s";
+       };
+
+       codec_hdmi_spdif: codec-hdmi-spdif {
+               compatible = "hdmi-spdif";
+       };
+
+       rockchip-hdmi-i2s {
+               status = "disabled";
+               compatible = "rockchip-hdmi-i2s";
+               dais {
+                       dai0 {
+                               audio-codec = <&codec_hdmi_i2s>;
+                               audio-controller = <&i2s0>;
+                               format = "i2s";
+                               //continuous-clock;
+                               //bitclock-inversion;
+                               //frame-inversion;
+                               //bitclock-master;
+                               //frame-master;
+                       };
+               };
+       };
+
+       
+       
+       rockchip-spdif-card {
+                       compatible = "rockchip-spdif-card";
+                       dais {
+                               dai0 {
+                                       audio-codec = <&codec_hdmi_spdif>;
+                                       audio-controller = <&spdif>;
+                               };
+                       };
+               };
+       rockchip-rk1000 {
+               compatible = "rockchip-rk1000";
+               dais {
+                       dai0 {
+                               audio-codec = <&rk1000_codec>;
+                               audio-controller = <&i2s0>;
+                               format = "i2s";
+                       };
+               };
+       };
+       rockchip-rt5631 {
+               compatible = "rockchip-rt5631";
+               dais {
+                       dai0 {
+                               audio-codec = <&rt5631>;
+                               audio-controller = <&i2s0>;
+                               format = "i2s";
+                               //continuous-clock;
+                               //bitclock-inversion;
+                               //frame-inversion;
+                               //bitclock-master;
+                               //frame-master;
+                       };
+               };
+       };
+
+       rockchip-rt3224 {
+               compatible = "rockchip-rt3261";
+               dais {
+                       dai0 {
+                               audio-codec = <&rt3261>;
+                               audio-controller = <&i2s0>;
+                               format = "i2s";
+                               //continuous-clock;
+                               //bitclock-inversion;
+                               //frame-inversion;
+                               //bitclock-master;
+                               //frame-master;
+                       };
+                       dai1 {
+                               audio-codec = <&rt3261>;
+                               audio-controller = <&i2s0>;
+                               format = "dsp_a";
+                               //continuous-clock;
+                               bitclock-inversion;
+                               //frame-inversion;
+                               //bitclock-master;
+                               //frame-master;
+                       };
+               };
+       };
+       power-led {
+               compatible = "gpio-leds";
+               green {
+                       gpios = <&gpio3 GPIO_D5 GPIO_ACTIVE_LOW>;
+                       default-state = "on";
+               };
+       };
+       io-domains {
+               compatible = "rockchip,rk3368-io-voltage-domain";
+               rockchip,grf = <&grf>;
+               rockchip,pmugrf = <&pmugrf>;
+
+               /*GRF_IO_VSEL*/
+               dvp-supply = <&rk808_dcdc4_reg>;      /*DVPIO_VDD*/
+               flash0-supply = <&rk808_ldo1_reg>;  /*FLASH0_VDD*/
+               wifi-supply = <&rk808_dcdc4_reg>;     /*APIO2_VDD*/
+               audio-supply = <&rk808_dcdc4_reg>;   /*APIO3_VDD*/
+               sdcard-supply = <&rk808_ldo5_reg>;   /*SDMMC0_VDD*/
+               gpio30-supply = <&rk808_dcdc4_reg>;  /*APIO1_VDD*/
+               gpio1830-supply = <&rk808_dcdc4_reg>;/*ADIO4_VDD*/
+               
+               /*PMU_GRF_IO_VSEL*/
+               pmu-supply = <&rk808_ldo3_reg>;      /*PMUIO_VDD*/
+               vop-supply = <&rk808_ldo8_reg>;      /*LCDC_VDD*/
+       };
+};
+
+&gmac_clkin {
+        clock-frequency = <50000000>;
+};
+
+&gmac {
+       //power_ctl_by = "gpio";        //"gpio" "pmu"
+       //power-gpio = <&gpio0 GPIO_A6 GPIO_ACTIVE_HIGH>;
+       //power-pmu = "act_ldo"
+       reset-gpio = <&gpio3 GPIO_B4 GPIO_ACTIVE_LOW>;
+       phy-mode = "rmii";
+       pinctrl-names = "default";
+       pinctrl-0 = <&rmii_pins>;
+       clock_in_out = "output";
+       tx_delay = <0x28>;
+       rx_delay = <0x10>;
+       status = "okay"; //if want to use gmac, please set "okay"
+};
+
+&pinctrl {
+       //used for init some gpio
+       init-gpios = <&gpio0 GPIO_A6 GPIO_ACTIVE_HIGH
+       &gpio0 GPIO_B1 GPIO_ACTIVE_LOW>;
+       
+       gpio0_gpio {
+               gpio0_c7: gpio0-c7 {
+               rockchip,pins = <0 GPIO_C7 RK_FUNC_GPIO &pcfg_pull_down>;
+       };
+       gpio0_a3: gpio0-a3 {
+               rockchip,pins = <0 GPIO_A3 RK_FUNC_3 &pcfg_pull_none>;
+       };
+       gpio0_c2: gpio0-c2 {
+               rockchip,pins = <0 GPIO_C2 RK_FUNC_GPIO &pcfg_pull_down>;
+       };
+       gpio0_a5: gpio0-a5{
+               rockchip,pins = <0 GPIO_A5 RK_FUNC_GPIO &pcfg_pull_up>;
+       };
+       //to add
+       };
+
+};
+
+&nandc0 {
+       status = "disabled"; // used nand set "disabled" ,used emmc set "okay"
+};
+
+&nandc0reg {
+       status = "okay"; // used nand set "disabled" ,used emmc set "okay"
+};
+
+&emmc {
+       clock-frequency = <150000000>;
+       clock-freq-min-max = <400000 150000000>;
+
+       supports-highspeed;
+       supports-emmc;
+       bootpart-no-access;
+
+       //supports-sd;
+       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>;
+       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";
+};
+
+&edp{
+       status = "disabled";
+};
+
+&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 = "disabled";
+       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 = "disabled";
+       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 = "disabled";
+       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_dbg {
+       status = "okay";
+};
+
+&uart_bt {
+       status = "okay";
+       dma-names = "!tx", "!rx";
+       pinctrl-0 = <&uart0_xfer &uart0_cts>;
+};
+
+&tsadc {
+       tsadc-tshut-mode = <0>; /* tshut mode 0:CRU 1:GPIO */
+       //tsadc-tshut-polarity = <0>; /* tshut polarity 0:LOW 1:HIGH */
+       status = "okay";
+};
+
+&i2c0 {
+       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 = <0x1>;
+                       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 = "disabled";
+               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 = <0x1>;
+                       regulator-initial-state = <3>;
+                       regulator-state-mem {
+                               regulator-state-mode = <0x2>;
+                               regulator-state-enabled;
+                               regulator-state-uv = <900000>;
+                       };
+               };
+          };
+       };
+       
+       act8846: act8846@5a {
+               reg = <0x5a>;
+               status = "diasbled";
+       };
+       
+       rk808: rk808@1b {
+               reg = <0x1b>;
+               status = "okay";
+               compatible = "rockchip,rk808";
+       };      
+       
+       CW2015@62 {
+               compatible = "cw201x";
+               reg = <0x62>;
+               dc_det_gpio = <&gpio0 GPIO_C1 GPIO_ACTIVE_LOW>;
+               bat_low_gpio = <&gpio0 GPIO_C2 GPIO_ACTIVE_LOW>;
+               chg_ok_gpio = <&gpio0 GPIO_D3 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>;
+               status = "diasbled";
+       };
+       rtc@51 {
+               compatible = "rtc,hym8563";
+               reg = <0x51>;
+               /*box not used rtc irq,and this pin used as rk1000 spk ctrl*/
+               #irq_gpio = <&gpio0 GPIO_A1 IRQ_TYPE_EDGE_FALLING>;
+       };
+
+};
+
+&i2c1 {
+       status = "okay";
+       rk1000_control@40 {
+               compatible = "rockchip,rk1000_control";
+               reg = <0x40>;
+               gpio-reset = <&gpio0 GPIO_A1 GPIO_ACTIVE_LOW>;
+               #clocks = <&clk_i2s>, <&i2s_out>, <&clk_gates12 7>;
+               #clock-names = "i2s_clk", "i2s_mclk", "i2s_hclk";
+               #pinctrl-names = "default";
+               #pinctrl-0 = <&i2s_mclk>;
+               status = "okay";
+       };
+       rk1000_tve@42 {
+               compatible = "rockchip,rk1000_tve";
+               reg = <0x42>;
+               rockchip,source = <0>; //0: LCDC0; 1: LCDC1
+               rockchip,prop = <PRMRY>;//<EXTEND>
+               status = "okay";
+       };
+       rk1000_codec: rk1000_codec@60 {
+               compatible = "rockchip,rk1000_codec";
+               reg = <0x60>;
+               spk_ctl_io = <&gpio3 GPIO_D7 GPIO_ACTIVE_LOW>;
+               boot_depop = <1>;
+               pa_enable_time = <5000>;
+               status = "okay";
+       };
+       mpu6050:mpu@68{
+               compatible = "mpu6050";
+               reg = <0x68>;
+               mpu-int_config = <0x10>;
+               mpu-level_shifter = <0>;
+               mpu-orientation = <0 1 0 1 0 0 0 0 1>;
+               orientation-x= <0>;
+               orientation-y= <1>;
+               orientation-z= <1>;
+               irq-gpio = <&gpio3 GPIO_B6 IRQ_TYPE_LEVEL_LOW>;
+               mpu-debug = <0>;
+               status = "disabled";
+       };
+       ak8963:compass@0d{
+               compatible = "mpu_ak8963";
+               reg = <0x0d>;
+               compass-bus = <0>;
+               compass-adapt_num = <0>;
+               compass-orientation = <1 0 0 0 1 0 0 0 1>;
+               orientation-x= <0>;
+               orientation-y= <0>;
+               orientation-z= <1>;
+               compass-debug = <1>;
+               status = "disabled";
+       };
+       rt3261: rt3261@1c {
+               compatible = "rt3261";
+               reg = <0x1c>;
+               spk-num= <2>;
+               modem-input-mode = <1>;
+               lout-to-modem_mode = <1>;
+               spk-amplify = <2>;
+               status = "disabled";
+       };
+};
+
+&i2c2 {
+       status = "disabled";
+       rt5631: rt5631@1a {
+               compatible = "rt5631";
+               reg = <0x1a>;
+       };
+       ts@01 {
+               compatible = "ct,vtl_ts";
+               reg = <0x01>;
+               screen_max_x = <1536>;
+               screen_max_y = <2048>;
+               xy_swap = <1>;
+               x_reverse = <0>;
+               y_reverse = <0>;
+               x_mul = <2>;
+               y_mul = <2>;
+               bin_ver = <0>;
+               irq_gpio_number = <&gpio0 GPIO_B4 IRQ_TYPE_LEVEL_LOW>;
+               rst_gpio_number = <&gpio0 GPIO_B3 GPIO_ACTIVE_HIGH>;
+       };
+};
+
+&i2c3 {
+       status = "disabled";
+};
+
+&i2c4 {
+       status = "disabled";
+};
+
+&i2c5 {
+       status = "disabled";
+};
+
+&CPU_SLEEP_0 {
+       arm,psci-suspend-param = <0x1010000>;
+};
+
+&fb {
+       rockchip,disp-mode = <NO_DUAL>;
+       rockchip,uboot-logo-on = <1>;
+       rockchip,disp-policy = <DISPLAY_POLICY_BOX_TEMP>;
+};
+
+&disp_timings {
+       native-mode = <&timing1>;
+};
+
+&rk_screen {
+       display-timings = <&disp_timings>;
+};
+
+
+&lvds {
+       status = "okay";
+       //pinctrl-names = "lcdc", "sleep";
+       //pinctrl-0 = <&lcdc_lcdc>;
+       //pinctrl-1 = <&lcdc_gpio>;
+};
+
+&lcdc {
+       status = "okay";
+       rockchip,mirror = <NO_MIRROR>;
+       rockchip,cabc_mode = <0>;
+       rockchip,fb-win-map = <FB_DEFAULT_ORDER>;
+       pinctrl-names = "default", "gpio";
+       pinctrl-0 = <&lcdc_lcdc>;
+       pinctrl-1 = <&lcdc_gpio>;
+
+       power_ctr: power_ctr {
+               rockchip,debug = <0>;
+               /*lcd_en:lcd_en {
+                       rockchip,power_type = <GPIO>;
+                       gpios = <&gpio0 GPIO_C6 GPIO_ACTIVE_HIGH>;
+                       rockchip,delay = <10>;
+               };
+
+               lcd_cs:lcd_cs {
+                       rockchip,power_type = <GPIO>;
+                       gpios = <&gpio0 GPIO_C5 GPIO_ACTIVE_HIGH>;
+                       rockchip,delay = <10>;
+               };
+
+               lcd_rst:lcd_rst {
+                       rockchip,power_type = <GPIO>;
+                       gpios = <&gpio3 GPIO_D6 GPIO_ACTIVE_HIGH>;
+                       rockchip,delay = <5>;
+               };*/
+       };
+};
+
+
+
+
+&hdmi {
+       status = "okay";
+};
+
+&adc {
+       status = "disabled";
+
+       rockchip_headset {
+               compatible = "rockchip_headset";
+               headset_gpio = <&gpio0 GPIO_C7 GPIO_ACTIVE_LOW>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&gpio0_c7>;//gpio0_c7
+               io-channels = <&adc 2>;
+               /*
+               hook_gpio = ;
+               hook_down_type = ; //interrupt hook key down status
+               */
+       };
+
+       key {
+               compatible = "rockchip,key";
+               io-channels = <&adc 1>;
+
+               vol-up-key {
+                       linux,code = <115>;
+                       label = "volume up";
+                       rockchip,adc_value = <1>;
+               };
+
+               vol-down-key {
+                       linux,code = <114>;
+                       label = "volume down";
+                       rockchip,adc_value = <170>;
+               };
+
+               power-key {
+                       gpios = <&gpio0 GPIO_A2 GPIO_ACTIVE_LOW>;
+                       linux,code = <116>;
+                       label = "power";
+                       gpio-key,wakeup;
+               };
+
+               menu-key {
+                       linux,code = <59>;
+                       label = "menu";
+                       rockchip,adc_value = <355>;
+               };
+
+               home-key {
+                       linux,code = <102>;
+                       label = "home";
+                       rockchip,adc_value = <746>;
+               };
+
+               back-key {
+                       linux,code = <158>;
+                       label = "back";
+                       rockchip,adc_value = <560>;
+               };
+
+               camera-key {
+                       linux,code = <212>;
+                       label = "camera";
+                       rockchip,adc_value = <450>;
+               };
+       };
+};
+
+&pwm0 {
+        status = "disabled";
+};
+
+&pwm1 {
+        status = "okay";
+};
+
+&clk_core_b_dvfs_table {
+       operating-points = <
+               /* KHz    uV */
+               //216000 950000
+               312000 950000
+               408000 950000
+               600000 975000
+               696000 975000
+               816000 1000000
+               1008000 1100000
+               1200000 1175000
+               1416000 1300000
+               1488000 1325000
+               1512000 1350000
+               >;
+       status = "okay";
+};
+
+&clk_core_l_dvfs_table {
+       operating-points = <
+               /* KHz    uV */
+               //216000 950000
+               312000 950000
+               408000 950000
+               600000 950000
+               696000 975000
+               816000 1050000
+               1008000 1100000
+               1200000 1250000
+               //1300000 1300000
+               >;
+       status = "okay";
+};
+
+&clk_gpu_dvfs_table {
+       operating-points = <
+               /* KHz    uV */
+               //200000 1200000
+               300000 1200000
+               400000 1200000
+               600000 1200000
+               >;
+};
+
+&clk_ddr_dvfs_table {
+       operating-points = <
+               /* KHz    uV */
+               200000 1050000
+               300000 1050000
+               400000 1100000
+               533000 1150000
+               800000 1200000
+               >;
+
+       freq-table = <
+               /*status                freq(KHz)*/
+               SYS_STATUS_NORMAL       800000
+               /*SYS_STATUS_SUSPEND    200000
+               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          400000*/
+               >;
+       auto-freq-table = <
+               240000
+               324000
+               396000
+               528000
+               >;
+       auto-freq=<0>;
+       status="okay";
+};
+
+&dwc_control_usb {
+               host_drv_gpio = <&gpio0 GPIO_A4 GPIO_ACTIVE_LOW>;
+               /*otg_drv_gpio = <&gpio0 GPIO_A5 GPIO_ACTIVE_LOW>;*/
+
+               rockchip,remote_wakeup;
+               rockchip,usb_irq_wakeup;
+       };
+       
+&usb0 {
+       /*0 - Normal, 1 - Force Host, 2 - Force Device*/
+       rockchip,usb-mode = <1>;
+};
+
+#include  "../../../arm/boot/dts/rk808.dtsi"
+&rk808 {
+       gpios =<&gpio0 GPIO_A5 GPIO_ACTIVE_HIGH>,<&gpio0 GPIO_A0 GPIO_ACTIVE_LOW>;
+       rk808,system-power-controller;
+
+       regulators {
+
+               rk808_dcdc1_reg: regulator@0{
+                       regulator-name= "vdd_arm";/*vcc arm*/
+                       regulator-min-microvolt = <700000>;/*<725000>;*/
+                       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>;
+                       };
+               };
+
+               rk808_dcdc2_reg: regulator@1 {
+                       regulator-name= "vdd_logic";/*vcc gpu*/
+                       regulator-min-microvolt = <700000>;
+                       regulator-max-microvolt = <1200000>;
+                       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 = <1200000>;
+                       };
+               };
+
+               rk808_dcdc3_reg: regulator@2 {
+                       regulator-name= "vcc_ddr";
+                       regulator-min-microvolt = <1200000>;
+                       regulator-max-microvolt = <1200000>;
+                       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 = <1200000>;
+                       };
+               };
+
+               rk808_dcdc4_reg: regulator@3 {
+                       regulator-name= "vccio";
+                       regulator-min-microvolt = <3300000>;
+                       regulator-max-microvolt = <3300000>;
+                       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 = <3000000>;
+                       };
+               };
+
+               rk808_ldo1_reg: regulator@4 {
+                       regulator-name= "vcc_flash";
+                       regulator-min-microvolt = <1800000>;
+                       regulator-max-microvolt = <1800000>;
+                       regulator-always-on;
+                       regulator-boot-on;                      
+                       regulator-initial-state = <3>;
+                       regulator-state-mem {
+                               regulator-state-enabled;
+                               regulator-state-uv = <1800000>;
+                       };
+               };
+
+
+               rk808_ldo2_reg: regulator@5 {
+                       regulator-name= "vcca_33";
+                       regulator-min-microvolt = <3300000>;
+                       regulator-max-microvolt = <3300000>;
+                       regulator-always-on;
+                       regulator-boot-on;                      
+                       regulator-initial-state = <3>;
+                       regulator-state-mem {
+                               regulator-state-disabled;
+                               regulator-state-uv = <3300000>;
+                       };
+               };              
+
+               rk808_ldo3_reg: regulator@6 {
+                       regulator-name= "vdd_10";
+                       regulator-min-microvolt = <1000000>;
+                       regulator-max-microvolt = <1000000>;
+                       regulator-always-on;            
+                       regulator-initial-state = <3>;
+                       regulator-state-mem {
+                               regulator-state-enabled;
+                               regulator-state-uv = <1000000>;
+                       };
+               };
+
+               rk808_ldo4_reg:regulator@7 {
+                       regulator-name= "vcca_18";
+                       regulator-min-microvolt = <1800000>;
+                       regulator-max-microvolt = <1800000>;
+                       regulator-always-on;
+                       regulator-boot-on;                      
+                       regulator-initial-state = <3>;
+                       regulator-state-mem {
+                               regulator-state-disabled;
+                               regulator-state-uv = <1800000>;
+                       };
+               };
+
+               rk808_ldo5_reg: regulator@8 {
+                       regulator-name= "vccio_sd";
+                       regulator-min-microvolt = <1800000>;
+                       regulator-max-microvolt = <3300000>;
+                       regulator-always-on;
+                       regulator-boot-on;                      
+                       regulator-initial-state = <3>;
+                       regulator-state-mem {
+                               regulator-state-enabled;
+                               regulator-state-uv = <3300000>;
+                       };
+               };
+
+               rk808_ldo6_reg: regulator@9 {
+                       regulator-name= "vdd10_lcd";
+                       regulator-min-microvolt = <1100000>;
+                       regulator-max-microvolt = <1100000>;
+                       regulator-always-on;
+                       regulator-boot-on;                      
+                       regulator-initial-state = <3>;
+                       regulator-state-mem {
+                               regulator-state-disabled;
+                               regulator-state-uv = <1100000>;
+                       };
+               };
+
+               rk808_ldo7_reg: regulator@10 {
+                       regulator-name= "vcc_18";
+                       regulator-min-microvolt = <1800000>;
+                       regulator-max-microvolt = <1800000>;
+                       regulator-always-on;
+                       regulator-boot-on;                      
+                       regulator-initial-state = <3>;
+                       regulator-state-mem {
+                               regulator-state-enabled;
+                               regulator-state-uv = <1800000>;
+                       };
+               };
+
+               rk808_ldo8_reg: regulator@11 {
+                       regulator-name= "vccio18_lcd";
+                       regulator-min-microvolt = <1800000>;
+                       regulator-max-microvolt = <1800000>;
+                       regulator-always-on;
+                       regulator-boot-on;                      
+                       regulator-initial-state = <3>;
+                       regulator-state-mem {
+                               regulator-state-disabled;
+                               regulator-state-uv = <1800000>;
+                       };
+               };
+               
+               rk818_ldo9_reg: regulator@12 {
+                       regulator-name= "vcc_sd";
+                       regulator-min-microvolt = <1800000>;
+                       regulator-max-microvolt = <3300000>;
+                       regulator-always-on;
+                       regulator-boot-on;                      
+                       regulator-initial-state = <3>;
+                       regulator-state-mem {
+                               regulator-state-enabled;
+                               regulator-state-uv = <3300000>;
+                       };
+               };
+
+               rk818_ldo10_reg: regulator@13 {
+                       regulator-name= "vcc_lan";
+                       regulator-min-microvolt = <3300000>;
+                       regulator-max-microvolt = <3300000>;
+                       regulator-always-on;
+                       regulator-boot-on;                      
+                       regulator-initial-state = <3>;
+                       regulator-state-mem {
+                               regulator-state-disabled;
+                               regulator-state-uv = <3300000>;
+                       };
+               };
+
+       };
+};
+
+&ion_cma {
+       reg = <0x00000000 0x00000000>; /* 0MB */
+};
+
+/*
+&dwc_control_usb {
+       usb_uart {
+               status = "disabled";
+       };
+};
+
+&rk3288_cif_sensor{
+       status = "okay";
+};
+*/
+
+&remotectl {
+       handle_cpu_id = <1>;
+       status = "okay";
+       ir_key1{
+               rockchip,usercode = <0x4040>;
+               rockchip,key_table =
+                       <0xf2   KEY_REPLY>,
+                       <0xba   KEY_BACK>,
+                       <0xf4   KEY_UP>,
+                       <0xf1   KEY_DOWN>,
+                       <0xef   KEY_LEFT>,
+                       <0xee   KEY_RIGHT>,
+                       <0xbd   KEY_HOME>,
+                       <0xea   KEY_VOLUMEUP>,
+                       <0xe3   KEY_VOLUMEDOWN>,
+                       <0xe2   KEY_SEARCH>,
+                       <0xb2   KEY_POWER>,
+                       <0xbc   KEY_MUTE>,
+                       <0xec   KEY_MENU>,
+                       <0xbf   0x190>,
+                       <0xe0   0x191>,
+                       <0xe1   0x192>,
+                       <0xe9   183>,
+                       <0xe6   248>,
+                       <0xe8   185>,
+                       <0xe7   186>,
+                       <0xf0   388>,
+                       <0xbe   0x175>;
+       };
+       ir_key2{
+               rockchip,usercode = <0xff00>;
+               rockchip,key_table =
+                       <0xf9   KEY_HOME>,
+                       <0xbf   KEY_BACK>,
+                       <0xfb   KEY_MENU>,
+                       <0xaa   KEY_REPLY>,
+                       <0xb9   KEY_UP>,
+                       <0xe9   KEY_DOWN>,
+                       <0xb8   KEY_LEFT>,
+                       <0xea   KEY_RIGHT>,
+                       <0xeb   KEY_VOLUMEDOWN>,
+                       <0xef   KEY_VOLUMEUP>,
+                       <0xf7   KEY_MUTE>,
+                       <0xe7   KEY_POWER>,
+                       <0xfc   KEY_POWER>,
+                       <0xa9   KEY_VOLUMEDOWN>,
+                       <0xa8   KEY_VOLUMEDOWN>,
+                       <0xe0   KEY_VOLUMEDOWN>,
+                       <0xa5   KEY_VOLUMEDOWN>,
+                       <0xab   183>,
+                       <0xb7   388>,
+                       <0xf8   184>,
+                       <0xaf   185>,
+                       <0xed   KEY_VOLUMEDOWN>,
+                       <0xee   186>,
+                       <0xb3   KEY_VOLUMEDOWN>,
+                       <0xf1   KEY_VOLUMEDOWN>,
+                       <0xf2   KEY_VOLUMEDOWN>,
+                       <0xf3   KEY_SEARCH>,
+                       <0xb4   KEY_VOLUMEDOWN>,
+                       <0xbe   KEY_SEARCH>;
+       };
+       ir_key3{
+               rockchip,usercode = <0x1dcc>;
+               rockchip,key_table =
+                       <0xee   KEY_REPLY>,
+                       <0xf0   KEY_BACK>,
+                       <0xf8   KEY_UP>,
+                       <0xbb   KEY_DOWN>,
+                       <0xef   KEY_LEFT>,
+                       <0xed   KEY_RIGHT>,
+                       <0xfc   KEY_HOME>,
+                       <0xf1   KEY_VOLUMEUP>,
+                       <0xfd   KEY_VOLUMEDOWN>,
+                       <0xb7   KEY_SEARCH>,
+                       <0xff   KEY_POWER>,
+                       <0xf3   KEY_MUTE>,
+                       <0xbf   KEY_MENU>,
+                       <0xf9   0x191>,
+                       <0xf5   0x192>,
+                       <0xb3   388>,
+                       <0xbe   KEY_1>,
+                       <0xba   KEY_2>,
+                       <0xb2   KEY_3>,
+                       <0xbd   KEY_4>,
+                       <0xf9   KEY_5>,
+                       <0xb1   KEY_6>,
+                       <0xfc   KEY_7>,
+                       <0xf8   KEY_8>,
+                       <0xb0   KEY_9>,
+                       <0xb6   KEY_0>,
+                       <0xb5   KEY_BACKSPACE>;
+       };
+};