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