rk3368:
authorguoyi <gy@rock-chips.com>
Wed, 11 Feb 2015 03:13:28 +0000 (11:13 +0800)
committerguoyi <gy@rock-chips.com>
Wed, 11 Feb 2015 06:04:40 +0000 (14:04 +0800)
    dts: add rk3368-p9_818.dts

arch/arm64/boot/dts/rk3368-p9_818.dts [new file with mode: 0755]

diff --git a/arch/arm64/boot/dts/rk3368-p9_818.dts b/arch/arm64/boot/dts/rk3368-p9_818.dts
new file mode 100755 (executable)
index 0000000..c7624eb
--- /dev/null
@@ -0,0 +1,688 @@
+/dts-v1/;
+
+#include <dt-bindings/interrupt-controller/arm-gic.h>
+#include <dt-bindings/rkfb/rk_fb.h>
+#include "rk3368.dtsi"
+#include "../../../arm/boot/dts/lcd-ld089wu1-mipi.dtsi"
+/ {
+       chosen {
+               bootargs = "earlyprintk=uart8250-32bit,0xff690000 clk_ignore_unused";
+       };
+
+       wireless-wlan {
+               compatible = "wlan-platdata";
+
+               rockchip,grf = <&grf>;
+               
+               /* wifi_chip_type - wifi chip define
+                * bcmwifi ==> like ap6xxx, rk90x;
+                * rtkwifi ==> like rtl8188xx, rtl8723xx;
+                * esp8089 ==> esp8089;
+                * other   ==> for other wifi;
+                */
+               wifi_chip_type = "bcmwifi";
+
+               sdio_vref = <1800>; //1800mv or 3300mv
+               power_pmu_regulator = "rk818_ldo8_reg";
+               power_pmu_enable_level = <1>; //1->HIGH, 0->LOW
+               vref_pmu_regulator = "rk818_ldo8_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>;
+
+               status = "okay";
+       };
+
+       wireless-bluetooth {
+               compatible = "bluetooth-platdata";
+               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>;
+       };
+
+       pwm_regulator {
+               compatible = "rockchip_pwm_regulator";
+               pwms = <&pwm1 0 2000>;
+               rockchip,pwm_id= <1>;
+               rockchip,pwm_voltage_map= <925000 950000 975000 1000000 1025000 1050000 1075000 1100000 1125000 1150000 1175000 1200000 1225000 1250000 1275000 1300000 1325000 1350000 1375000 1400000>;
+               rockchip,pwm_voltage= <1000000>;
+               rockchip,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";
+       };
+
+       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 = <&i2s0>;
+                               format = "i2s";
+                       };
+               };
+       };
+
+       rockchip-hdmi-spdif {
+               compatible = "rockchip-hdmi-spdif";
+               dais {
+                       dai0 {
+                               audio-codec = <&codec_hdmi_spdif>;
+                               i2s-controller = <&spdif>;
+                       };
+               };
+       };
+
+        rockchip-es8316 {
+                compatible = "rockchip-es8316";
+                dais {
+                        dai0 {
+                                audio-codec = <&es8316>;
+                                i2s-controller = <&i2s0>;
+                                format = "i2s";
+                        };
+               };
+        };
+
+       io-domains {
+               compatible = "rockchip,rk3368-io-voltage-domain";
+               rockchip,grf = <&grf>;
+               rockchip,pmugrf = <&pmugrf>;
+
+               /*GRF_IO_VSEL*/
+               gpio30-supply = <&rk818_dcdc4_reg>;     /*APIO1_VDD*/
+               wifi-supply = <&rk818_ldo8_reg>;     /*APIO2_VDD*/
+               audio-supply = <&rk818_dcdc4_reg>;   /*APIO3_VDD*/
+               gpio1830-supply = <&rk818_dcdc4_reg>;   /*ADIO4_VDD*/
+               sdcard-supply = <&rk818_ldo9_reg>;   /*SDMMC_VDD*/
+
+               /*PMU_GRF_IO_VSEL*/
+               pmu-supply = <&rk818_ldo5_reg>;      /*PMUIO_VDD*/
+               vop-supply = <&rk818_ldo5_reg>;      /*LCDC_VDD*/
+       };
+};
+
+&pinctrl {
+       //used for init some gpio
+       init-gpios = <&gpio0 GPIO_A6 GPIO_ACTIVE_HIGH>;
+
+       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>;
+                       };
+
+                       //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 = <100000000>;
+       clock-freq-min-max = <400000 100000000>;
+
+       supports-highspeed;
+       supports-emmc;
+       bootpart-no-access;
+
+       //supports-tSD;
+       //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 = <&rk818_ldo1_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 = "disabled";
+};
+
+&spi1 {
+       status = "disabled";
+};
+
+&spi2 {
+       status = "disabled";
+};
+
+&uart_dbg {
+       status = "okay";
+};
+
+&uart_bt {
+       status = "okay";
+       dma-names = "!tx", "!rx";
+       pinctrl-0 = <&uart0_xfer &uart0_cts>;
+};
+
+&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 = <0x2>;
+                       regulator-initial-state = <3>;
+                       regulator-state-mem {
+                               regulator-state-mode = <0x2>;
+                               regulator-state-disabled;
+                               regulator-state-uv = <900000>;
+                       };
+               };
+          };
+       };
+       syr828: syr828@41 {
+               compatible = "silergy,syr82x";
+               reg = <0x41>;
+               status = "okay";
+               regulators {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       syr828_dc1: regulator@0 {
+                       reg = <0>;
+                       regulator-compatible = "syr82x_dcdc1";
+                       regulator-name = "vdd_gpu";
+                       regulator-min-microvolt = <712500>;
+                       regulator-max-microvolt = <1500000>;
+                       regulator-always-on;
+                       regulator-boot-on;
+                       regulator-initial-mode = <0x2>;
+                       regulator-initial-state = <3>;
+                       regulator-state-mem {
+                               regulator-state-mode = <0x2>;
+                               regulator-state-enabled;
+                               regulator-state-uv = <900000>;
+                       };
+               };
+          };
+       };
+
+       rk818: rk818@1c {
+               reg = <0x1c>;
+               status = "okay";
+               compatible = "rockchip,rk818";
+               battery {
+                       ocv_table = <3300 3599 3671 3701 3728 3746 3762
+                                    3772 3781 3792 3816 3836 3866 3910
+                                    3942 3971 4002 4050 4088 4132 4183>;
+                       design_capacity = <3914>;
+                       design_qmax = <4000>;
+                       max_overcharge = <100>;
+                       max_charge_currentmA = <1500>;
+                       max_charge_voltagemV = <4260>;
+                       max_bat_voltagemV = <4200>;
+                       sleep_enter_current = <150>;
+                       sleep_exit_current = <180>;
+               };
+       };
+};
+
+&i2c1 {
+       status = "okay";
+       es8316: es8316@10 {
+               compatible = "es8316";
+               reg = <0x10>;
+               status = "okay";
+       };
+};
+
+&i2c2 {
+       status = "okay";
+       touchscreen@14 {
+               compatible = "goodix,gt9xx";
+               reg = <0x14>;
+               touch-gpio = <&gpio0 GPIO_B4 IRQ_TYPE_LEVEL_LOW>;
+               reset-gpio = <&gpio0 GPIO_B3 GPIO_ACTIVE_HIGH>;  
+               max-x = <1920>;                  
+               max-y = <1200>;
+               tp-size = <89>;
+       };
+};
+
+&i2c3 {
+       status = "okay";
+};
+
+&i2c4 {
+       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>;
+       };
+
+
+       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 = "okay";
+       };
+
+};
+
+&i2c5 {
+       status = "disabled";
+};
+
+&fb {
+       status = "okay";
+       rockchip,disp-mode = <NO_DUAL>;
+       rockchip,uboot-logo-on = <0>;
+};
+
+&rk_screen {
+       status = "okay";
+       display-timings = <&disp_timings>;
+};
+
+&lcdc {
+       status = "okay";
+       rockchip,mirror = <NO_MIRROR>;
+       rockchip,cabc_mode = <0>;
+       rockchip,fb-win-map = <FB_DEFAULT_ORDER>;
+       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";
+       rockchips,hdmi_audio_source = <0>;
+};
+
+&adc {
+       status = "okay";
+
+       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;
+               };
+       };
+};
+
+&pwm0 {
+        status = "okay";
+};
+
+&pwm1 {
+       status = "disabled";
+}
+
+&clk_ddr_dvfs_table {
+       operating-points = <
+               /* KHz    uV */
+               200000 1100000
+               300000 1100000
+               400000 1100000
+               533000 1150000
+               >;
+
+       freq-table = <
+               /*status                freq(KHz)*/
+               SYS_STATUS_NORMAL       400000
+               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="disabled";
+};
+
+&dwc_control_usb {
+       host_drv_gpio = <&gpio0 GPIO_A4 GPIO_ACTIVE_LOW>;
+       otg_drv_gpio = <&gpio0 GPIO_D1 GPIO_ACTIVE_LOW>;
+       rockchip,remote_wakeup;
+       rockchip,usb_irq_wakeup;
+};
+
+/include/ "../../../arm/boot/dts/rk818.dtsi"
+&rk818 {
+       gpios =<&gpio0 GPIO_A1 GPIO_ACTIVE_HIGH>,<&gpio0 GPIO_A0 GPIO_ACTIVE_LOW>;
+       rk818,system-power-controller;
+       
+       regulators {
+
+               rk818_dcdc1_reg: regulator@0{
+                       regulator-name= "vdd_arm";/*vcc arm*/
+                       regulator-min-microvolt = <700000>;/*<725000>;*/
+                       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= "vdd_gpu";/*vcc gpu*/
+                       regulator-min-microvolt = <700000>;
+                       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= "vcc_ddr";
+                       regulator-min-microvolt = <1200000>;
+                       regulator-max-microvolt = <1200000>;
+                       regulator-initial-mode = <0x2>;
+                       regulator-initial-state = <3>;
+                       regulator-state-mem {
+                               regulator-state-mode = <0x2>;
+                               regulator-state-enabled;
+                               regulator-state-uv = <1200000>;
+                       };
+               };
+
+               rk818_dcdc4_reg: regulator@3 {
+                       regulator-name= "vccio";
+                       regulator-min-microvolt = <3000000>;
+                       regulator-max-microvolt = <3000000>;
+                       regulator-initial-mode = <0x2>;
+                       regulator-initial-state = <3>;
+                       regulator-state-mem {
+                               regulator-state-mode = <0x2>;
+                               regulator-state-enabled;
+                               regulator-state-uv = <3000000>;
+                       };
+               };
+
+               rk818_ldo1_reg: regulator@4 {
+                       regulator-name= "vcc_codec";
+                       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= "vcc_tp";
+                       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= "vdd_10";
+                       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= "vcc18_lcd";
+                       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= "vccio_pmu";
+                       regulator-min-microvolt = <1800000>;
+                       regulator-max-microvolt = <1800000>;
+                       regulator-initial-state = <3>;
+                       regulator-state-mem {
+                               regulator-state-enabled;
+                               regulator-state-uv = <1800000>;
+                       };
+               };
+
+               rk818_ldo6_reg: regulator@9 {
+                       regulator-name= "vdd10_lcd";
+                       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= "vcc_18";
+                       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= "vccio_wl";
+                       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;
+                       };
+               };
+       };
+};
+
+&ion_cma {
+       reg = <0x00000000 0x28000000>; /* 640MB */
+};
+