1/* 2 * Copyright (c) 2017 Fuzhou Rockchip Electronics Co., Ltd 3 * 4 * SPDX-License-Identifier: GPL-2.0+ X11 5 */ 6 7/dts-v1/; 8 9#include "rk322x.dtsi" 10#include <dt-bindings/input/input.h> 11 12/ { 13 model = "RK3229 GVA/Android Things Board V1.0"; 14 compatible = "rockchip,rk3229-gva", "rockchip,rk3229"; 15 16 chosen { 17 stdout-path = &uart2; 18 }; 19 20 memory@60000000 { 21 device_type = "memory"; 22 reg = <0x60000000 0x40000000>; 23 }; 24 25 sdio_pwrseq: sdio-pwrseq { 26 compatible = "mmc-pwrseq-simple"; 27 clocks = <&rk805 1>; 28 clock-names = "ext_clock"; 29 pinctrl-names = "default"; 30 pinctrl-0 = <&wifi_enable_h>; 31 32 /* 33 * On the module itself this is one of these (depending 34 * on the actual card populated): 35 * - SDIO_RESET_L_WL_REG_ON 36 * - PDN (power down when low) 37 */ 38 reset-gpios = <&gpio2 26 GPIO_ACTIVE_LOW>; /* GPIO2_D2 */ 39 }; 40 41 vcc_host: vcc-host-regulator { 42 compatible = "regulator-fixed"; 43 enable-active-high; 44 gpio = <&gpio3 20 GPIO_ACTIVE_HIGH>; 45 pinctrl-names = "default"; 46 pinctrl-0 = <&host_vbus_drv>; 47 regulator-name = "vcc_host"; 48 regulator-always-on; 49 regulator-boot-on; 50 }; 51 52 wireless-bluetooth { 53 compatible = "bluetooth-platdata"; 54 clocks = <&rk805 1>; 55 clock-names = "ext_clock"; 56 uart_rts_gpios = <&gpio3 6 GPIO_ACTIVE_LOW>; 57 pinctrl-names = "default", "rts_gpio"; 58 BT,reset_gpio = <&gpio2 29 GPIO_ACTIVE_HIGH>; 59 BT,wake_gpio = <&gpio3 27 GPIO_ACTIVE_HIGH>; 60 BT,wake_host_irq = <&gpio3 26 GPIO_ACTIVE_HIGH>; 61 status = "okay"; 62 }; 63 64 wireless-wlan { 65 compatible = "wlan-platdata"; 66 rockchip,grf = <&grf>; 67 wifi_chip_type = "ap6255"; 68 WIFI,host_wake_irq = <&gpio0 28 GPIO_ACTIVE_HIGH>; 69 status = "okay"; 70 }; 71 72 gpio_keys { 73 compatible = "gpio-keys"; 74 #address-cells = <1>; 75 #size-cells = <0>; 76 autorepeat; 77 78 pinctrl-names = "default"; 79 pinctrl-0 = <&pwr_key>; 80 81 power_key: power-key { 82 label = "GPIO Key Power"; 83 gpios = <&gpio3 23 GPIO_ACTIVE_LOW>; 84 linux,code = <116>; 85 debounce-interval = <100>; 86 wakeup-source; 87 }; 88 }; 89}; 90 91 92&i2c0 { 93 status = "okay"; 94 95 rk805: rk805@18 { 96 compatible = "rockchip,rk805"; 97 status = "okay"; 98 reg = <0x18>; 99 interrupt-parent = <&gpio1>; 100 interrupts = <12 IRQ_TYPE_LEVEL_LOW>; 101 pinctrl-names = "default"; 102 pinctrl-0 = <&pmic_int_l>; 103 rockchip,system-power-controller; 104 wakeup-source; 105 gpio-controller; 106 #gpio-cells = <2>; 107 #clock-cells = <1>; 108 clock-output-names = "xin32k", "rk805-clkout2"; 109 110 rtc { 111 status = "okay"; 112 }; 113 114 pwrkey { 115 status = "okay"; 116 }; 117 118 gpio { 119 status = "okay"; 120 }; 121 122 regulators { 123 compatible = "rk805-regulator"; 124 status = "okay"; 125 #address-cells = <1>; 126 #size-cells = <0>; 127 128 vdd_arm: RK805_DCDC1@0 { 129 regulator-compatible = "RK805_DCDC1"; 130 regulator-name = "vdd_arm"; 131 regulator-min-microvolt = <712500>; 132 regulator-max-microvolt = <1450000>; 133 regulator-initial-mode = <0x1>; 134 regulator-ramp-delay = <12500>; 135 regulator-boot-on; 136 regulator-always-on; 137 regulator-state-mem { 138 regulator-mode = <0x2>; 139 regulator-on-in-suspend; 140 regulator-suspend-microvolt = <950000>; 141 }; 142 }; 143 144 vdd_logic: RK805_DCDC2@1 { 145 regulator-compatible = "RK805_DCDC2"; 146 regulator-name = "vdd_logic"; 147 regulator-min-microvolt = <712500>; 148 regulator-max-microvolt = <1450000>; 149 regulator-initial-mode = <0x1>; 150 regulator-ramp-delay = <12500>; 151 regulator-boot-on; 152 regulator-always-on; 153 regulator-state-mem { 154 regulator-mode = <0x2>; 155 regulator-on-in-suspend; 156 regulator-suspend-microvolt = <1000000>; 157 }; 158 }; 159 160 vcc_ddr: RK805_DCDC3@2 { 161 regulator-compatible = "RK805_DCDC3"; 162 regulator-name = "vcc_ddr"; 163 regulator-initial-mode = <0x1>; 164 regulator-boot-on; 165 regulator-always-on; 166 regulator-state-mem { 167 regulator-mode = <0x2>; 168 regulator-on-in-suspend; 169 }; 170 }; 171 172 vcc_io: RK805_DCDC4@3 { 173 regulator-compatible = "RK805_DCDC4"; 174 regulator-name = "vcc_io"; 175 regulator-min-microvolt = <3300000>; 176 regulator-max-microvolt = <3300000>; 177 regulator-initial-mode = <0x1>; 178 regulator-boot-on; 179 regulator-always-on; 180 regulator-state-mem { 181 regulator-mode = <0x2>; 182 regulator-on-in-suspend; 183 regulator-suspend-microvolt = <3300000>; 184 }; 185 }; 186 187 vcc_18: RK805_LDO1@4 { 188 regulator-compatible = "RK805_LDO1"; 189 regulator-name = "vcc_18"; 190 regulator-min-microvolt = <1800000>; 191 regulator-max-microvolt = <1800000>; 192 regulator-boot-on; 193 regulator-always-on; 194 regulator-state-mem { 195 regulator-on-in-suspend; 196 regulator-suspend-microvolt = <1800000>; 197 }; 198 }; 199 200 vcc_18emmc: RK805_LDO2@5 { 201 regulator-compatible = "RK805_LDO2"; 202 regulator-name = "vcc_18emmc"; 203 regulator-min-microvolt = <1800000>; 204 regulator-max-microvolt = <1800000>; 205 regulator-boot-on; 206 regulator-always-on; 207 regulator-state-mem { 208 regulator-on-in-suspend; 209 regulator-suspend-microvolt = <1800000>; 210 }; 211 }; 212 213 vdd_10: RK805_LDO3@6 { 214 regulator-compatible = "RK805_LDO3"; 215 regulator-name = "vdd_10"; 216 regulator-min-microvolt = <1000000>; 217 regulator-max-microvolt = <1000000>; 218 regulator-boot-on; 219 regulator-always-on; 220 regulator-state-mem { 221 regulator-on-in-suspend; 222 regulator-suspend-microvolt = <1000000>; 223 }; 224 }; 225 }; 226 }; 227 228 cw201x: cw2015@62 { 229 compatible = "cw201x"; 230 status = "okay"; 231 reg = <0x62>; 232 bat_config_info = <0x15 0x42 0x60 0x59 0x52 0x58 0x4D 0x48 233 0x48 0x44 0x44 0x46 0x49 0x48 0x32 0x24 234 0x20 0x17 0x13 0x0F 0x19 0x3E 0x51 0x45 235 0x08 0x76 0x0B 0x85 0x0E 0x1C 0x2E 0x3E 236 0x4D 0x52 0x52 0x57 0x3D 0x1B 0x6A 0x2D 237 0x25 0x43 0x52 0x87 0x8F 0x91 0x94 0x52 238 0x82 0x8C 0x92 0x96 0xFF 0x7B 0xBB 0xCB 239 0x2F 0x7D 0x72 0xA5 0xB5 0xC1 0x46 0xAE>; 240 support_dc_adp = <1>; 241 dc_det_gpio = <88>; 242 dc_det_flag = <1>; 243 hw_id_check = <1>; 244 hw_id0_gpio = <86>; 245 hw_id1_gpio = <87>; 246 }; 247}; 248 249&cpu0 { 250 cpu-supply = <&vdd_arm>; 251}; 252 253&pinctrl { 254 pmic { 255 pmic_int_l: pmic-int-l { 256 rockchip,pins = <1 12 RK_FUNC_GPIO &pcfg_pull_up>; /* gpio1_b4 */ 257 }; 258 }; 259 260 sdio-pwrseq { 261 wifi_enable_h: wifi-enable-h { 262 rockchip,pins = <2 26 RK_FUNC_GPIO &pcfg_pull_none>; 263 }; 264 }; 265 266 usb { 267 host_vbus_drv: host-vbus-drv { 268 rockchip,pins = <3 20 RK_FUNC_GPIO &pcfg_pull_none>; 269 }; 270 }; 271 272 keys { 273 pwr_key: pwr-key { 274 rockchip,pins = <3 23 RK_FUNC_GPIO &pcfg_pull_up>; 275 }; 276 }; 277}; 278 279&dmc { 280 rockchip,pctl-timing = <0x96 0xC8 0x1F3 0xF 0x8000004D 0x4 0x4E 0x6 0x3 281 0x0 0x6 0x5 0xC 0x10 0x6 0x4 0x4 282 0x5 0x4 0x200 0x3 0xA 0x40 0x0 0x1 283 0x5 0x5 0x3 0xC 0x1E 0x100 0x0 0x4 284 0x0 0x924>; 285 rockchip,phy-timing = <0x220 0x1 0x0 0x0 0x0 0x4 0x60>; 286 rockchip,sdram-params = <0x428B188 0x0 0x21 0x472 0x15 287 0 300 3 0 120>; 288}; 289 290&emmc { 291 u-boot,dm-pre-reloc; 292 status = "okay"; 293}; 294 295&uart2 { 296 u-boot,dm-pre-reloc; 297 status = "okay"; 298}; 299 300&usb20_otg { 301 status = "okay"; 302}; 303