1a6672683SKever Yang/* 2a6672683SKever Yang * Copyright (c) 2017 Fuzhou Rockchip Electronics Co., Ltd. 3a6672683SKever Yang * 4a6672683SKever Yang * SPDX-License-Identifier: GPL-2.0+ 5a6672683SKever Yang */ 6a6672683SKever Yang 7a6672683SKever Yang/dts-v1/; 8a6672683SKever Yang#include <dt-bindings/pwm/pwm.h> 9a6672683SKever Yang#include <dt-bindings/pinctrl/rockchip.h> 10a6672683SKever Yang#include "rk3399.dtsi" 1156f2dd0aSKever Yang#include "rk3399-sdram-ddr3-1600.dtsi" 1248b6ef28SKever Yang#include "rk3399-u-boot.dtsi" 13a6672683SKever Yang 14a6672683SKever Yang/ { 15a6672683SKever Yang model = "Firefly-RK3399 Board"; 16a6672683SKever Yang compatible = "firefly,firefly-rk3399", "rockchip,rk3399"; 17a6672683SKever Yang 18a6672683SKever Yang chosen { 19a6672683SKever Yang stdout-path = &uart2; 20*56581d0eSKever Yang u-boot,spl-boot-order = &sdmmc, &sdhci; 21a6672683SKever Yang }; 22a6672683SKever Yang 23a6672683SKever Yang backlight: backlight { 24a6672683SKever Yang compatible = "pwm-backlight"; 25a6672683SKever Yang enable-gpios = <&gpio1 RK_PB5 GPIO_ACTIVE_HIGH>; 26a6672683SKever Yang pwms = <&pwm0 0 25000 0>; 27a6672683SKever Yang brightness-levels = < 28a6672683SKever Yang 0 1 2 3 4 5 6 7 29a6672683SKever Yang 8 9 10 11 12 13 14 15 30a6672683SKever Yang 16 17 18 19 20 21 22 23 31a6672683SKever Yang 24 25 26 27 28 29 30 31 32a6672683SKever Yang 32 33 34 35 36 37 38 39 33a6672683SKever Yang 40 41 42 43 44 45 46 47 34a6672683SKever Yang 48 49 50 51 52 53 54 55 35a6672683SKever Yang 56 57 58 59 60 61 62 63 36a6672683SKever Yang 64 65 66 67 68 69 70 71 37a6672683SKever Yang 72 73 74 75 76 77 78 79 38a6672683SKever Yang 80 81 82 83 84 85 86 87 39a6672683SKever Yang 88 89 90 91 92 93 94 95 40a6672683SKever Yang 96 97 98 99 100 101 102 103 41a6672683SKever Yang 104 105 106 107 108 109 110 111 42a6672683SKever Yang 112 113 114 115 116 117 118 119 43a6672683SKever Yang 120 121 122 123 124 125 126 127 44a6672683SKever Yang 128 129 130 131 132 133 134 135 45a6672683SKever Yang 136 137 138 139 140 141 142 143 46a6672683SKever Yang 144 145 146 147 148 149 150 151 47a6672683SKever Yang 152 153 154 155 156 157 158 159 48a6672683SKever Yang 160 161 162 163 164 165 166 167 49a6672683SKever Yang 168 169 170 171 172 173 174 175 50a6672683SKever Yang 176 177 178 179 180 181 182 183 51a6672683SKever Yang 184 185 186 187 188 189 190 191 52a6672683SKever Yang 192 193 194 195 196 197 198 199 53a6672683SKever Yang 200 201 202 203 204 205 206 207 54a6672683SKever Yang 208 209 210 211 212 213 214 215 55a6672683SKever Yang 216 217 218 219 220 221 222 223 56a6672683SKever Yang 224 225 226 227 228 229 230 231 57a6672683SKever Yang 232 233 234 235 236 237 238 239 58a6672683SKever Yang 240 241 242 243 244 245 246 247 59a6672683SKever Yang 248 249 250 251 252 253 254 255>; 60a6672683SKever Yang default-brightness-level = <200>; 61a6672683SKever Yang }; 62a6672683SKever Yang 63a6672683SKever Yang clkin_gmac: external-gmac-clock { 64a6672683SKever Yang compatible = "fixed-clock"; 65a6672683SKever Yang clock-frequency = <125000000>; 66a6672683SKever Yang clock-output-names = "clkin_gmac"; 67a6672683SKever Yang #clock-cells = <0>; 68a6672683SKever Yang }; 69a6672683SKever Yang 70a6672683SKever Yang rt5640-sound { 71a6672683SKever Yang compatible = "simple-audio-card"; 72a6672683SKever Yang simple-audio-card,name = "rockchip,rt5640-codec"; 73a6672683SKever Yang simple-audio-card,format = "i2s"; 74a6672683SKever Yang simple-audio-card,mclk-fs = <256>; 75a6672683SKever Yang simple-audio-card,widgets = 76a6672683SKever Yang "Microphone", "Mic Jack", 77a6672683SKever Yang "Headphone", "Headphone Jack"; 78a6672683SKever Yang simple-audio-card,routing = 79a6672683SKever Yang "Mic Jack", "MICBIAS1", 80a6672683SKever Yang "IN1P", "Mic Jack", 81a6672683SKever Yang "Headphone Jack", "HPOL", 82a6672683SKever Yang "Headphone Jack", "HPOR"; 83a6672683SKever Yang 84a6672683SKever Yang simple-audio-card,cpu { 85a6672683SKever Yang sound-dai = <&i2s1>; 86a6672683SKever Yang }; 87a6672683SKever Yang 88a6672683SKever Yang simple-audio-card,codec { 89a6672683SKever Yang sound-dai = <&rt5640>; 90a6672683SKever Yang }; 91a6672683SKever Yang }; 92a6672683SKever Yang 93a6672683SKever Yang sdio_pwrseq: sdio-pwrseq { 94a6672683SKever Yang compatible = "mmc-pwrseq-simple"; 95a6672683SKever Yang clocks = <&rk808 1>; 96a6672683SKever Yang clock-names = "ext_clock"; 97a6672683SKever Yang pinctrl-names = "default"; 98a6672683SKever Yang pinctrl-0 = <&wifi_enable_h>; 99a6672683SKever Yang 100a6672683SKever Yang /* 101a6672683SKever Yang * On the module itself this is one of these (depending 102a6672683SKever Yang * on the actual card populated): 103a6672683SKever Yang * - SDIO_RESET_L_WL_REG_ON 104a6672683SKever Yang * - PDN (power down when low) 105a6672683SKever Yang */ 106a6672683SKever Yang reset-gpios = <&gpio0 RK_PB2 GPIO_ACTIVE_LOW>; 107a6672683SKever Yang }; 108a6672683SKever Yang 109a6672683SKever Yang vcc3v3_pcie: vcc3v3-pcie-regulator { 110a6672683SKever Yang compatible = "regulator-fixed"; 111a6672683SKever Yang enable-active-high; 112a6672683SKever Yang gpio = <&gpio1 RK_PC1 GPIO_ACTIVE_HIGH>; 113a6672683SKever Yang pinctrl-names = "default"; 114a6672683SKever Yang pinctrl-0 = <&pcie_drv>; 115a6672683SKever Yang regulator-name = "vcc3v3_pcie"; 116a6672683SKever Yang regulator-always-on; 117a6672683SKever Yang regulator-boot-on; 118a6672683SKever Yang }; 119a6672683SKever Yang 120a6672683SKever Yang vcc3v3_sys: vcc3v3-sys { 121a6672683SKever Yang compatible = "regulator-fixed"; 122a6672683SKever Yang regulator-name = "vcc3v3_sys"; 123a6672683SKever Yang regulator-always-on; 124a6672683SKever Yang regulator-boot-on; 125a6672683SKever Yang regulator-min-microvolt = <3300000>; 126a6672683SKever Yang regulator-max-microvolt = <3300000>; 127a6672683SKever Yang }; 128a6672683SKever Yang 129a6672683SKever Yang vcc5v0_host: vcc5v0-host-regulator { 130a6672683SKever Yang compatible = "regulator-fixed"; 131a6672683SKever Yang enable-active-high; 132a6672683SKever Yang gpio = <&gpio1 RK_PA0 GPIO_ACTIVE_HIGH>; 133a6672683SKever Yang pinctrl-names = "default"; 134a6672683SKever Yang pinctrl-0 = <&host_vbus_drv>; 135a6672683SKever Yang regulator-name = "vcc5v0_host"; 136a6672683SKever Yang regulator-always-on; 137a6672683SKever Yang }; 138a6672683SKever Yang 139a6672683SKever Yang vcc5v0_sys: vcc5v0-sys { 140a6672683SKever Yang compatible = "regulator-fixed"; 141a6672683SKever Yang regulator-name = "vcc5v0_sys"; 142a6672683SKever Yang regulator-always-on; 143a6672683SKever Yang regulator-boot-on; 144a6672683SKever Yang regulator-min-microvolt = <5000000>; 145a6672683SKever Yang regulator-max-microvolt = <5000000>; 146a6672683SKever Yang }; 147a6672683SKever Yang 148a6672683SKever Yang vcc_phy: vcc-phy-regulator { 149a6672683SKever Yang compatible = "regulator-fixed"; 150a6672683SKever Yang regulator-name = "vcc_phy"; 151a6672683SKever Yang regulator-always-on; 152a6672683SKever Yang regulator-boot-on; 153a6672683SKever Yang }; 154a6672683SKever Yang 155a6672683SKever Yang vdd_log: vdd-log { 156a6672683SKever Yang compatible = "pwm-regulator"; 157a6672683SKever Yang pwms = <&pwm2 0 25000 1>; 158a6672683SKever Yang regulator-name = "vdd_log"; 159a6672683SKever Yang regulator-always-on; 160a6672683SKever Yang regulator-boot-on; 1617ba3182eSKever Yang regulator-min-microvolt = <430000>; 162a6672683SKever Yang regulator-max-microvolt = <1400000>; 1637ba3182eSKever Yang regulator-init-microvolt = <950000>; 164a6672683SKever Yang }; 165a6672683SKever Yang 166a6672683SKever Yang vccadc_ref: vccadc-ref { 167a6672683SKever Yang compatible = "regulator-fixed"; 168a6672683SKever Yang regulator-name = "vcc1v8_sys"; 169a6672683SKever Yang regulator-always-on; 170a6672683SKever Yang regulator-boot-on; 171a6672683SKever Yang regulator-min-microvolt = <1800000>; 172a6672683SKever Yang regulator-max-microvolt = <1800000>; 173a6672683SKever Yang }; 174a6672683SKever Yang}; 175a6672683SKever Yang 176a6672683SKever Yang&cpu_l0 { 177a6672683SKever Yang cpu-supply = <&vdd_cpu_l>; 178a6672683SKever Yang}; 179a6672683SKever Yang 180a6672683SKever Yang&cpu_l1 { 181a6672683SKever Yang cpu-supply = <&vdd_cpu_l>; 182a6672683SKever Yang}; 183a6672683SKever Yang 184a6672683SKever Yang&cpu_l2 { 185a6672683SKever Yang cpu-supply = <&vdd_cpu_l>; 186a6672683SKever Yang}; 187a6672683SKever Yang 188a6672683SKever Yang&cpu_l3 { 189a6672683SKever Yang cpu-supply = <&vdd_cpu_l>; 190a6672683SKever Yang}; 191a6672683SKever Yang 192a6672683SKever Yang&cpu_b0 { 193a6672683SKever Yang cpu-supply = <&vdd_cpu_b>; 194a6672683SKever Yang}; 195a6672683SKever Yang 196a6672683SKever Yang&cpu_b1 { 197a6672683SKever Yang cpu-supply = <&vdd_cpu_b>; 198a6672683SKever Yang}; 199a6672683SKever Yang 200a6672683SKever Yang&emmc_phy { 201a6672683SKever Yang status = "okay"; 202a6672683SKever Yang}; 203a6672683SKever Yang 204a6672683SKever Yang&gmac { 205a6672683SKever Yang assigned-clocks = <&cru SCLK_RMII_SRC>; 206a6672683SKever Yang assigned-clock-parents = <&clkin_gmac>; 207a6672683SKever Yang clock_in_out = "input"; 208a6672683SKever Yang phy-supply = <&vcc_phy>; 209a6672683SKever Yang phy-mode = "rgmii"; 210a6672683SKever Yang pinctrl-names = "default"; 211a6672683SKever Yang pinctrl-0 = <&rgmii_pins>; 212a6672683SKever Yang snps,reset-gpio = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>; 213a6672683SKever Yang snps,reset-active-low; 214a6672683SKever Yang snps,reset-delays-us = <0 10000 50000>; 2151ade3a90SKever Yang tx_delay = <0x33>; 2161ade3a90SKever Yang rx_delay = <0x45>; 217a6672683SKever Yang status = "okay"; 218a6672683SKever Yang}; 219a6672683SKever Yang 220a6672683SKever Yang&i2c0 { 221a6672683SKever Yang clock-frequency = <400000>; 222a6672683SKever Yang i2c-scl-rising-time-ns = <168>; 223a6672683SKever Yang i2c-scl-falling-time-ns = <4>; 224a6672683SKever Yang status = "okay"; 225a6672683SKever Yang 226a6672683SKever Yang rk808: pmic@1b { 227a6672683SKever Yang compatible = "rockchip,rk808"; 228a6672683SKever Yang reg = <0x1b>; 229a6672683SKever Yang interrupt-parent = <&gpio1>; 230a6672683SKever Yang interrupts = <21 IRQ_TYPE_LEVEL_LOW>; 231a6672683SKever Yang #clock-cells = <1>; 232a6672683SKever Yang clock-output-names = "xin32k", "rk808-clkout2"; 233a6672683SKever Yang pinctrl-names = "default"; 234a6672683SKever Yang pinctrl-0 = <&pmic_int_l>; 235a6672683SKever Yang rockchip,system-power-controller; 236a6672683SKever Yang wakeup-source; 237a6672683SKever Yang 238a6672683SKever Yang vcc1-supply = <&vcc3v3_sys>; 239a6672683SKever Yang vcc2-supply = <&vcc3v3_sys>; 240a6672683SKever Yang vcc3-supply = <&vcc3v3_sys>; 241a6672683SKever Yang vcc4-supply = <&vcc3v3_sys>; 242a6672683SKever Yang vcc6-supply = <&vcc3v3_sys>; 243a6672683SKever Yang vcc7-supply = <&vcc3v3_sys>; 244a6672683SKever Yang vcc8-supply = <&vcc3v3_sys>; 245a6672683SKever Yang vcc9-supply = <&vcc3v3_sys>; 246a6672683SKever Yang vcc10-supply = <&vcc3v3_sys>; 247a6672683SKever Yang vcc11-supply = <&vcc3v3_sys>; 248a6672683SKever Yang vcc12-supply = <&vcc3v3_sys>; 249a6672683SKever Yang vddio-supply = <&vcc1v8_pmu>; 250a6672683SKever Yang 251a6672683SKever Yang regulators { 252a6672683SKever Yang vdd_center: DCDC_REG1 { 253a6672683SKever Yang regulator-name = "vdd_center"; 254a6672683SKever Yang regulator-always-on; 255a6672683SKever Yang regulator-boot-on; 256a6672683SKever Yang regulator-min-microvolt = <750000>; 257a6672683SKever Yang regulator-max-microvolt = <1350000>; 258a6672683SKever Yang regulator-ramp-delay = <6001>; 259a6672683SKever Yang regulator-state-mem { 260a6672683SKever Yang regulator-off-in-suspend; 261a6672683SKever Yang }; 262a6672683SKever Yang }; 263a6672683SKever Yang 264a6672683SKever Yang vdd_cpu_l: DCDC_REG2 { 265a6672683SKever Yang regulator-name = "vdd_cpu_l"; 266a6672683SKever Yang regulator-always-on; 267a6672683SKever Yang regulator-boot-on; 268a6672683SKever Yang regulator-min-microvolt = <750000>; 269a6672683SKever Yang regulator-max-microvolt = <1350000>; 270a6672683SKever Yang regulator-ramp-delay = <6001>; 271a6672683SKever Yang regulator-state-mem { 272a6672683SKever Yang regulator-off-in-suspend; 273a6672683SKever Yang }; 274a6672683SKever Yang }; 275a6672683SKever Yang 276a6672683SKever Yang vcc_ddr: DCDC_REG3 { 277a6672683SKever Yang regulator-name = "vcc_ddr"; 278a6672683SKever Yang regulator-always-on; 279a6672683SKever Yang regulator-boot-on; 280a6672683SKever Yang regulator-state-mem { 281a6672683SKever Yang regulator-on-in-suspend; 282a6672683SKever Yang }; 283a6672683SKever Yang }; 284a6672683SKever Yang 285a6672683SKever Yang vcc_1v8: DCDC_REG4 { 286a6672683SKever Yang regulator-name = "vcc_1v8"; 287a6672683SKever Yang regulator-always-on; 288a6672683SKever Yang regulator-boot-on; 289a6672683SKever Yang regulator-min-microvolt = <1800000>; 290a6672683SKever Yang regulator-max-microvolt = <1800000>; 291a6672683SKever Yang regulator-state-mem { 292a6672683SKever Yang regulator-on-in-suspend; 293a6672683SKever Yang regulator-suspend-microvolt = <1800000>; 294a6672683SKever Yang }; 295a6672683SKever Yang }; 296a6672683SKever Yang 297a6672683SKever Yang vcc1v8_dvp: LDO_REG1 { 298a6672683SKever Yang regulator-name = "vcc1v8_dvp"; 299a6672683SKever Yang regulator-always-on; 300a6672683SKever Yang regulator-boot-on; 301a6672683SKever Yang regulator-min-microvolt = <1800000>; 302a6672683SKever Yang regulator-max-microvolt = <1800000>; 303a6672683SKever Yang regulator-state-mem { 304a6672683SKever Yang regulator-off-in-suspend; 305a6672683SKever Yang }; 306a6672683SKever Yang }; 307a6672683SKever Yang 308a6672683SKever Yang vcc3v0_tp: LDO_REG2 { 309a6672683SKever Yang regulator-name = "vcc3v0_tp"; 310a6672683SKever Yang regulator-always-on; 311a6672683SKever Yang regulator-boot-on; 312a6672683SKever Yang regulator-min-microvolt = <3000000>; 313a6672683SKever Yang regulator-max-microvolt = <3000000>; 314a6672683SKever Yang regulator-state-mem { 315a6672683SKever Yang regulator-off-in-suspend; 316a6672683SKever Yang }; 317a6672683SKever Yang }; 318a6672683SKever Yang 319a6672683SKever Yang vcc1v8_pmu: LDO_REG3 { 320a6672683SKever Yang regulator-name = "vcc1v8_pmu"; 321a6672683SKever Yang regulator-always-on; 322a6672683SKever Yang regulator-boot-on; 323a6672683SKever Yang regulator-min-microvolt = <1800000>; 324a6672683SKever Yang regulator-max-microvolt = <1800000>; 325a6672683SKever Yang regulator-state-mem { 326a6672683SKever Yang regulator-on-in-suspend; 327a6672683SKever Yang regulator-suspend-microvolt = <1800000>; 328a6672683SKever Yang }; 329a6672683SKever Yang }; 330a6672683SKever Yang 331a6672683SKever Yang vcc_sd: LDO_REG4 { 332a6672683SKever Yang regulator-name = "vcc_sd"; 333a6672683SKever Yang regulator-always-on; 334a6672683SKever Yang regulator-boot-on; 335a6672683SKever Yang regulator-min-microvolt = <1800000>; 336352ddda1SKlaus Goger regulator-max-microvolt = <3000000>; 337a6672683SKever Yang regulator-state-mem { 338a6672683SKever Yang regulator-on-in-suspend; 339352ddda1SKlaus Goger regulator-suspend-microvolt = <3000000>; 340a6672683SKever Yang }; 341a6672683SKever Yang }; 342a6672683SKever Yang 343a6672683SKever Yang vcca3v0_codec: LDO_REG5 { 344a6672683SKever Yang regulator-name = "vcca3v0_codec"; 345a6672683SKever Yang regulator-always-on; 346a6672683SKever Yang regulator-boot-on; 347a6672683SKever Yang regulator-min-microvolt = <3000000>; 348a6672683SKever Yang regulator-max-microvolt = <3000000>; 349a6672683SKever Yang regulator-state-mem { 350a6672683SKever Yang regulator-off-in-suspend; 351a6672683SKever Yang }; 352a6672683SKever Yang }; 353a6672683SKever Yang 354a6672683SKever Yang vcc_1v5: LDO_REG6 { 355a6672683SKever Yang regulator-name = "vcc_1v5"; 356a6672683SKever Yang regulator-always-on; 357a6672683SKever Yang regulator-boot-on; 358a6672683SKever Yang regulator-min-microvolt = <1500000>; 359a6672683SKever Yang regulator-max-microvolt = <1500000>; 360a6672683SKever Yang regulator-state-mem { 361a6672683SKever Yang regulator-on-in-suspend; 362a6672683SKever Yang regulator-suspend-microvolt = <1500000>; 363a6672683SKever Yang }; 364a6672683SKever Yang }; 365a6672683SKever Yang 366a6672683SKever Yang vcca1v8_codec: LDO_REG7 { 367a6672683SKever Yang regulator-name = "vcca1v8_codec"; 368a6672683SKever Yang regulator-always-on; 369a6672683SKever Yang regulator-boot-on; 370a6672683SKever Yang regulator-min-microvolt = <1800000>; 371a6672683SKever Yang regulator-max-microvolt = <1800000>; 372a6672683SKever Yang regulator-state-mem { 373a6672683SKever Yang regulator-off-in-suspend; 374a6672683SKever Yang }; 375a6672683SKever Yang }; 376a6672683SKever Yang 377a6672683SKever Yang vcc_3v0: LDO_REG8 { 378a6672683SKever Yang regulator-name = "vcc_3v0"; 379a6672683SKever Yang regulator-always-on; 380a6672683SKever Yang regulator-boot-on; 381a6672683SKever Yang regulator-min-microvolt = <3000000>; 382a6672683SKever Yang regulator-max-microvolt = <3000000>; 383a6672683SKever Yang regulator-state-mem { 384a6672683SKever Yang regulator-on-in-suspend; 385a6672683SKever Yang regulator-suspend-microvolt = <3000000>; 386a6672683SKever Yang }; 387a6672683SKever Yang }; 388a6672683SKever Yang 389a6672683SKever Yang vcc3v3_s3: SWITCH_REG1 { 390a6672683SKever Yang regulator-name = "vcc3v3_s3"; 391a6672683SKever Yang regulator-always-on; 392a6672683SKever Yang regulator-boot-on; 393a6672683SKever Yang regulator-state-mem { 394a6672683SKever Yang regulator-off-in-suspend; 395a6672683SKever Yang }; 396a6672683SKever Yang }; 397a6672683SKever Yang 398a6672683SKever Yang vcc3v3_s0: SWITCH_REG2 { 399a6672683SKever Yang regulator-name = "vcc3v3_s0"; 400a6672683SKever Yang regulator-always-on; 401a6672683SKever Yang regulator-boot-on; 402a6672683SKever Yang regulator-state-mem { 403a6672683SKever Yang regulator-off-in-suspend; 404a6672683SKever Yang }; 405a6672683SKever Yang }; 406a6672683SKever Yang }; 407a6672683SKever Yang }; 408a6672683SKever Yang 409a6672683SKever Yang vdd_cpu_b: regulator@40 { 410a6672683SKever Yang compatible = "silergy,syr827"; 411a6672683SKever Yang reg = <0x40>; 412a6672683SKever Yang fcs,suspend-voltage-selector = <0>; 413a6672683SKever Yang regulator-name = "vdd_cpu_b"; 414a6672683SKever Yang regulator-min-microvolt = <712500>; 415a6672683SKever Yang regulator-max-microvolt = <1500000>; 416a6672683SKever Yang regulator-ramp-delay = <1000>; 417a6672683SKever Yang regulator-always-on; 418a6672683SKever Yang regulator-boot-on; 419a6672683SKever Yang vin-supply = <&vcc5v0_sys>; 420a6672683SKever Yang 421a6672683SKever Yang regulator-state-mem { 422a6672683SKever Yang regulator-off-in-suspend; 423a6672683SKever Yang }; 424a6672683SKever Yang }; 425a6672683SKever Yang 426a6672683SKever Yang vdd_gpu: regulator@41 { 427a6672683SKever Yang compatible = "silergy,syr828"; 428a6672683SKever Yang reg = <0x41>; 429a6672683SKever Yang fcs,suspend-voltage-selector = <1>; 430a6672683SKever Yang regulator-name = "vdd_gpu"; 431a6672683SKever Yang regulator-min-microvolt = <712500>; 432a6672683SKever Yang regulator-max-microvolt = <1500000>; 433a6672683SKever Yang regulator-ramp-delay = <1000>; 434a6672683SKever Yang regulator-always-on; 435a6672683SKever Yang regulator-boot-on; 436a6672683SKever Yang vin-supply = <&vcc5v0_sys>; 437a6672683SKever Yang 438a6672683SKever Yang regulator-state-mem { 439a6672683SKever Yang regulator-off-in-suspend; 440a6672683SKever Yang }; 441a6672683SKever Yang }; 442a6672683SKever Yang}; 443a6672683SKever Yang 444a6672683SKever Yang&i2c1 { 445a6672683SKever Yang i2c-scl-rising-time-ns = <300>; 446a6672683SKever Yang i2c-scl-falling-time-ns = <15>; 447a6672683SKever Yang status = "okay"; 448a6672683SKever Yang 449a6672683SKever Yang rt5640: rt5640@1c { 450a6672683SKever Yang compatible = "realtek,rt5640"; 451a6672683SKever Yang reg = <0x1c>; 452a6672683SKever Yang clocks = <&cru SCLK_I2S_8CH_OUT>; 453a6672683SKever Yang clock-names = "mclk"; 454a6672683SKever Yang realtek,in1-differential; 455a6672683SKever Yang #sound-dai-cells = <0>; 456a6672683SKever Yang pinctrl-names = "default"; 457a6672683SKever Yang pinctrl-0 = <&rt5640_hpcon>; 458a6672683SKever Yang }; 459a6672683SKever Yang}; 460a6672683SKever Yang 461a6672683SKever Yang&i2c3 { 462a6672683SKever Yang i2c-scl-rising-time-ns = <450>; 463a6672683SKever Yang i2c-scl-falling-time-ns = <15>; 464a6672683SKever Yang status = "okay"; 465a6672683SKever Yang}; 466a6672683SKever Yang 467a6672683SKever Yang&i2c4 { 468a6672683SKever Yang i2c-scl-rising-time-ns = <600>; 469a6672683SKever Yang i2c-scl-falling-time-ns = <20>; 470a6672683SKever Yang status = "okay"; 471a6672683SKever Yang 472a6672683SKever Yang accelerometer@68 { 473a6672683SKever Yang compatible = "invensense,mpu6500"; 474a6672683SKever Yang reg = <0x68>; 475a6672683SKever Yang interrupt-parent = <&gpio1>; 476a6672683SKever Yang interrupts = <RK_PC6 IRQ_TYPE_EDGE_RISING>; 477a6672683SKever Yang }; 478a6672683SKever Yang}; 479a6672683SKever Yang 480a6672683SKever Yang&i2s0 { 481a6672683SKever Yang rockchip,playback-channels = <8>; 482a6672683SKever Yang rockchip,capture-channels = <8>; 483a6672683SKever Yang #sound-dai-cells = <0>; 484a6672683SKever Yang status = "okay"; 485a6672683SKever Yang}; 486a6672683SKever Yang 487a6672683SKever Yang&i2s1 { 488a6672683SKever Yang rockchip,playback-channels = <2>; 489a6672683SKever Yang rockchip,capture-channels = <2>; 490a6672683SKever Yang #sound-dai-cells = <0>; 491a6672683SKever Yang status = "okay"; 492a6672683SKever Yang}; 493a6672683SKever Yang 494a6672683SKever Yang&i2s2 { 495a6672683SKever Yang #sound-dai-cells = <0>; 496a6672683SKever Yang status = "okay"; 497a6672683SKever Yang}; 498a6672683SKever Yang 499a6672683SKever Yang&io_domains { 500a6672683SKever Yang status = "okay"; 501a6672683SKever Yang 502a6672683SKever Yang bt656-supply = <&vcc1v8_dvp>; 503a6672683SKever Yang audio-supply = <&vcca1v8_codec>; 504a6672683SKever Yang sdmmc-supply = <&vcc_sd>; 505a6672683SKever Yang gpio1830-supply = <&vcc_3v0>; 506a6672683SKever Yang}; 507a6672683SKever Yang 508a6672683SKever Yang&pcie_phy { 509a6672683SKever Yang status = "okay"; 510a6672683SKever Yang}; 511a6672683SKever Yang 512a6672683SKever Yang&pcie0 { 513a6672683SKever Yang ep-gpios = <&gpio4 RK_PD1 GPIO_ACTIVE_HIGH>; 514a6672683SKever Yang num-lanes = <4>; 515a6672683SKever Yang pinctrl-names = "default"; 516a6672683SKever Yang pinctrl-0 = <&pcie_clkreqn>; 517a6672683SKever Yang status = "okay"; 518a6672683SKever Yang}; 519a6672683SKever Yang 520a6672683SKever Yang&pmu_io_domains { 521a6672683SKever Yang pmu1830-supply = <&vcc_3v0>; 522a6672683SKever Yang status = "okay"; 523a6672683SKever Yang}; 524a6672683SKever Yang 525a6672683SKever Yang&pinctrl { 526a6672683SKever Yang buttons { 527a6672683SKever Yang pwrbtn: pwrbtn { 528a6672683SKever Yang rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>; 529a6672683SKever Yang }; 530a6672683SKever Yang }; 531a6672683SKever Yang 532a6672683SKever Yang lcd-panel { 533a6672683SKever Yang lcd_panel_reset: lcd-panel-reset { 534a6672683SKever Yang rockchip,pins = <4 RK_PD6 RK_FUNC_GPIO &pcfg_pull_up>; 535a6672683SKever Yang }; 536a6672683SKever Yang }; 537a6672683SKever Yang 538a6672683SKever Yang pcie { 539a6672683SKever Yang pcie_drv: pcie-drv { 540a6672683SKever Yang rockchip,pins = <1 RK_PC1 RK_FUNC_GPIO &pcfg_pull_none>; 541a6672683SKever Yang }; 542a6672683SKever Yang 543a6672683SKever Yang pcie_3g_drv: pcie-3g-drv { 544a6672683SKever Yang rockchip,pins = <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up>; 545a6672683SKever Yang }; 546a6672683SKever Yang }; 547a6672683SKever Yang 548a6672683SKever Yang pmic { 549a6672683SKever Yang vsel1_gpio: vsel1-gpio { 550a6672683SKever Yang rockchip,pins = <1 RK_PC2 RK_FUNC_GPIO &pcfg_pull_down>; 551a6672683SKever Yang }; 552a6672683SKever Yang 553a6672683SKever Yang vsel2_gpio: vsel2-gpio { 554a6672683SKever Yang rockchip,pins = <1 RK_PB6 RK_FUNC_GPIO &pcfg_pull_down>; 555a6672683SKever Yang }; 556a6672683SKever Yang }; 557a6672683SKever Yang 558a6672683SKever Yang sdio-pwrseq { 559a6672683SKever Yang wifi_enable_h: wifi-enable-h { 560a6672683SKever Yang rockchip,pins = <0 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>; 561a6672683SKever Yang }; 562a6672683SKever Yang }; 563a6672683SKever Yang 564a6672683SKever Yang rt5640 { 565a6672683SKever Yang rt5640_hpcon: rt5640-hpcon { 566a6672683SKever Yang rockchip,pins = <4 RK_PC5 RK_FUNC_GPIO &pcfg_pull_none>; 567a6672683SKever Yang }; 568a6672683SKever Yang }; 569a6672683SKever Yang 570a6672683SKever Yang pmic { 571a6672683SKever Yang pmic_int_l: pmic-int-l { 572a6672683SKever Yang rockchip,pins = <1 RK_PC5 RK_FUNC_GPIO &pcfg_pull_up>; 573a6672683SKever Yang }; 574a6672683SKever Yang }; 575a6672683SKever Yang 576a6672683SKever Yang usb2 { 577a6672683SKever Yang host_vbus_drv: host-vbus-drv { 578a6672683SKever Yang rockchip,pins = <1 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>; 579a6672683SKever Yang }; 580a6672683SKever Yang }; 581a6672683SKever Yang}; 582a6672683SKever Yang 583a6672683SKever Yang&pwm0 { 584a6672683SKever Yang status = "okay"; 585a6672683SKever Yang}; 586a6672683SKever Yang 587a6672683SKever Yang&pwm2 { 588a6672683SKever Yang status = "okay"; 589a6672683SKever Yang}; 590a6672683SKever Yang 591a6672683SKever Yang&saradc { 592a6672683SKever Yang vref-supply = <&vccadc_ref>; 593a6672683SKever Yang status = "okay"; 594a6672683SKever Yang}; 595a6672683SKever Yang 596522cd580SKever Yang&sdmmc { 597522cd580SKever Yang bus-width = <4>; 598522cd580SKever Yang status = "okay"; 599522cd580SKever Yang}; 600522cd580SKever Yang 601a6672683SKever Yang&sdhci { 602a6672683SKever Yang bus-width = <8>; 603a6672683SKever Yang keep-power-in-suspend; 604a6672683SKever Yang mmc-hs400-1_8v; 605a6672683SKever Yang mmc-hs400-enhanced-strobe; 606a6672683SKever Yang non-removable; 607a6672683SKever Yang status = "okay"; 608a6672683SKever Yang}; 609a6672683SKever Yang 610a6672683SKever Yang&tsadc { 611a6672683SKever Yang /* tshut mode 0:CRU 1:GPIO */ 612a6672683SKever Yang rockchip,hw-tshut-mode = <1>; 613a6672683SKever Yang /* tshut polarity 0:LOW 1:HIGH */ 614a6672683SKever Yang rockchip,hw-tshut-polarity = <1>; 615a6672683SKever Yang status = "okay"; 616a6672683SKever Yang}; 617a6672683SKever Yang 618a6672683SKever Yang&u2phy0 { 619a6672683SKever Yang status = "okay"; 620a6672683SKever Yang 621a6672683SKever Yang u2phy0_otg: otg-port { 622a6672683SKever Yang status = "okay"; 623a6672683SKever Yang }; 624a6672683SKever Yang 625a6672683SKever Yang u2phy0_host: host-port { 626a6672683SKever Yang phy-supply = <&vcc5v0_host>; 627a6672683SKever Yang status = "okay"; 628a6672683SKever Yang }; 629a6672683SKever Yang}; 630a6672683SKever Yang 631a6672683SKever Yang&u2phy1 { 632a6672683SKever Yang status = "okay"; 633a6672683SKever Yang 634a6672683SKever Yang u2phy1_otg: otg-port { 635a6672683SKever Yang status = "okay"; 636a6672683SKever Yang }; 637a6672683SKever Yang 638a6672683SKever Yang u2phy1_host: host-port { 639a6672683SKever Yang phy-supply = <&vcc5v0_host>; 640a6672683SKever Yang status = "okay"; 641a6672683SKever Yang }; 642a6672683SKever Yang}; 643a6672683SKever Yang 644a6672683SKever Yang&uart0 { 645a6672683SKever Yang pinctrl-names = "default"; 646a6672683SKever Yang pinctrl-0 = <&uart0_xfer &uart0_cts>; 647a6672683SKever Yang status = "okay"; 648a6672683SKever Yang}; 649a6672683SKever Yang 650a6672683SKever Yang&usb_host0_ehci { 651a6672683SKever Yang status = "okay"; 652a6672683SKever Yang}; 653a6672683SKever Yang 654a6672683SKever Yang&usb_host0_ohci { 655a6672683SKever Yang status = "okay"; 656a6672683SKever Yang}; 657a6672683SKever Yang 658a6672683SKever Yang&usb_host1_ehci { 659a6672683SKever Yang status = "okay"; 660a6672683SKever Yang}; 661a6672683SKever Yang 662a6672683SKever Yang&usb_host1_ohci { 663a6672683SKever Yang status = "okay"; 664a6672683SKever Yang}; 665