From 67edf30694dabd3685c4d2acf9190872b432f6fc Mon Sep 17 00:00:00 2001 From: guoyi Date: Wed, 11 Feb 2015 11:13:28 +0800 Subject: [PATCH] rk3368: dts: add rk3368-p9_818.dts --- arch/arm64/boot/dts/rk3368-p9_818.dts | 688 ++++++++++++++++++++++++++ 1 file changed, 688 insertions(+) create mode 100755 arch/arm64/boot/dts/rk3368-p9_818.dts diff --git a/arch/arm64/boot/dts/rk3368-p9_818.dts b/arch/arm64/boot/dts/rk3368-p9_818.dts new file mode 100755 index 000000000000..c7624eb59102 --- /dev/null +++ b/arch/arm64/boot/dts/rk3368-p9_818.dts @@ -0,0 +1,688 @@ +/dts-v1/; + +#include +#include +#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 = ; + 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 = ; + rockchip,uboot-logo-on = <0>; +}; + +&rk_screen { + status = "okay"; + display-timings = <&disp_timings>; +}; + +&lcdc { + status = "okay"; + rockchip,mirror = ; + rockchip,cabc_mode = <0>; + rockchip,fb-win-map = ; + power_ctr: power_ctr { + rockchip,debug = <0>; + lcd_en:lcd_en { + rockchip,power_type = ; + gpios = <&gpio0 GPIO_C6 GPIO_ACTIVE_HIGH>; + rockchip,delay = <10>; + }; + + lcd_cs:lcd_cs { + rockchip,power_type = ; + gpios = <&gpio0 GPIO_C5 GPIO_ACTIVE_HIGH>; + rockchip,delay = <10>; + }; + + /*lcd_rst:lcd_rst { + rockchip,power_type = ; + 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 */ +}; + -- 2.34.1