rk3288:rk808:support rk808 power off
[firefly-linux-kernel-4.4.55.git] / arch / arm / boot / dts / rk3288-tb.dts
index fcd87254a14f8a715355497e4427a868d391c35c..109e24170a404ccf4c03a968143a4151d2c4c51c 100755 (executable)
@@ -8,6 +8,45 @@
                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";
+
+        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>;
+
+        status = "okay";
+    };
+
+    hallsensor {
+               compatible = "hall_och165t";
+               type = <SENSOR_TYPE_HALL>;
+               irq-gpio = <&gpio0 GPIO_A6 IRQ_TYPE_EDGE_BOTH>;
+     };
+
        backlight {
                compatible = "pwm-backlight";
                pwms = <&pwm0 0 25000>;
        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>;
+                               format = "spdif";
+                               //continuous-clock;
+                               //bitclock-inversion;
+                               //frame-inversion;
+                               //bitclock-master;
+                               //frame-master;
+                       };
+               };              
+       };
+
+       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 = "i2s";
+                               //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_HIGH>;
+};
+
+&pinctrl {
+
+       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 = <50000000>;
-        clock-freq-min-max = <400000 50000000>;
+       clock-frequency = <200000000>;
+        clock-freq-min-max = <400000 200000000>;
 
         supports-highspeed;
        supports-emmc;
        broken-cd;
        card-detect-delay = <200>;
 
-       pwr-gpios = <&gpio3 GPIO_A1 GPIO_ACTIVE_LOW>; /*pwr_en = GPIO3_A1*/
-
+       
+        vmmc-supply = <&rk808_ldo5_reg>;
        status = "okay";
 };
                
                
        supports-highspeed;             
        supports-sdio;
-       cap-sdio-irq;
+       //cap-sdio-irq;
 
-       status = "diabled";
+       status = "okay";
 };
+
+&spi0 {
+       status = "okay";
+       max-freq = <48000000>;  
+       /*
+       spi_test@00 {
+               compatible = "rockchip,spi_test_bus0_cs0";
+                reg = <0>;
+                spi-max-frequency = <24000000>;
+                poll_mode = <0>;
+               type = <0>;
+               enable_dma = <0>;
+
+       };
+
+       spi_test@01 {
+               compatible = "rockchip,spi_test_bus0_cs1";
+               reg = <1>;
+               spi-max-frequency = <24000000>;
+               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>;
+               poll_mode = <0>;
+               type = <0>;
+               enable_dma = <0>;
+       };
+
+       spi_test@11 {
+               compatible = "rockchip,spi_test_bus1_cs1";
+               reg = <1>;
+               spi-max-frequency = <24000000>;
+               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>;
+               poll_mode = <0>;
+               type = <0>;
+               enable_dma = <0>;
+       };
+
+       spi_test@21 {
+               compatible = "rockchip,spi_test_bus2_cs1";
+               reg = <1>;
+               spi-max-frequency = <24000000>;
+               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";
        rk808: rk808@1b {
        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>;
        };
 };
 
                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";
+       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 {
 };
 
 &i2c5 {
-       status = "okay";
+       status = "disable";
 };
 
 &fb {
                        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>;
                };
 
                power-key {
-                       gpios = <&gpio0 GPIO_A4 GPIO_ACTIVE_LOW>;
+                       gpios = <&gpio0 GPIO_A5 GPIO_ACTIVE_LOW>;
                        linux,code = <116>;
                        label = "power";
                        gpio-key,wakeup;
        };
 };
 
+&pwm0 {
+        status = "okay";
+};
+
 &pwm1 {
        status = "okay";
 };
 
+
+&clk_core_dvfs_table {
+       operating-points = <
+               /* KHz    uV */
+               312000 1100000
+               504000 1100000
+               816000 1100000
+               1008000 1100000
+               >;
+};
+
+&clk_gpu_dvfs_table {
+       operating-points = <
+               /* KHz    uV */
+               200000 1200000
+               300000 1200000
+               400000 1200000
+               600000 1300000
+               >;
+};
+
+&clk_ddr_dvfs_table {
+       operating-points = <
+               /* KHz    uV */
+               200000 1200000
+               300000 1200000
+               400000 1200000
+               >;
+
+       freq_table = <
+               /*status                freq(KHz)*/
+               SYS_STATUS_NORMAL       400000
+               SYS_STATUS_SUSPEND      200000
+               SYS_STATUS_VIDEO        300000
+               SYS_STATUS_DUALVIEW     500000
+               >;
+};
+
 /include/ "rk808.dtsi"
 &rk808 {
        gpios =<&gpio0 GPIO_A4 GPIO_ACTIVE_HIGH>,<&gpio0 GPIO_B3 GPIO_ACTIVE_LOW>;
+       rk808,system-power-controller;
 
        regulators {