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