1fc702ed4SAndy Yan// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2fc702ed4SAndy Yan/* 3fc702ed4SAndy Yan * Copyright (c) 2019 Andy Yan <andy.yan@gmail.com> 4fc702ed4SAndy Yan */ 5fc702ed4SAndy Yan 6fc702ed4SAndy Yan/dts-v1/; 7fc702ed4SAndy Yan#include <dt-bindings/input/linux-event-codes.h> 8*c043dee9SKrzysztof Kozlowski#include <dt-bindings/interrupt-controller/irq.h> 9fc702ed4SAndy Yan#include <dt-bindings/pwm/pwm.h> 10fc702ed4SAndy Yan#include "rk3399.dtsi" 11fc702ed4SAndy Yan#include "rk3399-opp.dtsi" 12fc702ed4SAndy Yan 13fc702ed4SAndy Yan/ { 14fc702ed4SAndy Yan model = "Leez RK3399 P710"; 15fc702ed4SAndy Yan compatible = "leez,p710", "rockchip,rk3399"; 16fc702ed4SAndy Yan 175dcbe7e3SHeiko Stuebner aliases { 185dcbe7e3SHeiko Stuebner mmc0 = &sdio0; 195dcbe7e3SHeiko Stuebner mmc1 = &sdmmc; 205dcbe7e3SHeiko Stuebner mmc2 = &sdhci; 215dcbe7e3SHeiko Stuebner }; 225dcbe7e3SHeiko Stuebner 23fc702ed4SAndy Yan chosen { 24fc702ed4SAndy Yan stdout-path = "serial2:1500000n8"; 25fc702ed4SAndy Yan }; 26fc702ed4SAndy Yan 27fc702ed4SAndy Yan clkin_gmac: external-gmac-clock { 28fc702ed4SAndy Yan compatible = "fixed-clock"; 29fc702ed4SAndy Yan clock-frequency = <125000000>; 30fc702ed4SAndy Yan clock-output-names = "clkin_gmac"; 31fc702ed4SAndy Yan #clock-cells = <0>; 32fc702ed4SAndy Yan }; 33fc702ed4SAndy Yan 34fc702ed4SAndy Yan sdio_pwrseq: sdio-pwrseq { 35fc702ed4SAndy Yan compatible = "mmc-pwrseq-simple"; 36fc702ed4SAndy Yan clocks = <&rk808 1>; 37fc702ed4SAndy Yan clock-names = "ext_clock"; 38fc702ed4SAndy Yan pinctrl-names = "default"; 39fc702ed4SAndy Yan pinctrl-0 = <&wifi_reg_on_h>; 40fc702ed4SAndy Yan reset-gpios = <&gpio0 RK_PB2 GPIO_ACTIVE_LOW>; 41fc702ed4SAndy Yan }; 42fc702ed4SAndy Yan 43fc702ed4SAndy Yan dc5v_adp: dc5v-adp { 44fc702ed4SAndy Yan compatible = "regulator-fixed"; 45fc702ed4SAndy Yan regulator-name = "dc5v_adapter"; 46fc702ed4SAndy Yan regulator-always-on; 47fc702ed4SAndy Yan regulator-boot-on; 48fc702ed4SAndy Yan regulator-min-microvolt = <5000000>; 49fc702ed4SAndy Yan regulator-max-microvolt = <5000000>; 50fc702ed4SAndy Yan }; 51fc702ed4SAndy Yan 52fc702ed4SAndy Yan vcc3v3_lan: vcc3v3-lan { 53fc702ed4SAndy Yan compatible = "regulator-fixed"; 54fc702ed4SAndy Yan regulator-name = "vcc3v3_lan"; 55fc702ed4SAndy Yan regulator-always-on; 56fc702ed4SAndy Yan regulator-boot-on; 57fc702ed4SAndy Yan regulator-min-microvolt = <3300000>; 58fc702ed4SAndy Yan regulator-max-microvolt = <3300000>; 592b454a90SJohn Keeping vin-supply = <&vcc3v3_sys>; 60fc702ed4SAndy Yan }; 61fc702ed4SAndy Yan 62fc702ed4SAndy Yan vcc3v3_sys: vcc3v3-sys { 63fc702ed4SAndy Yan compatible = "regulator-fixed"; 64fc702ed4SAndy Yan regulator-name = "vcc3v3_sys"; 65fc702ed4SAndy Yan regulator-always-on; 66fc702ed4SAndy Yan regulator-boot-on; 67fc702ed4SAndy Yan regulator-min-microvolt = <3300000>; 68fc702ed4SAndy Yan regulator-max-microvolt = <3300000>; 69fc702ed4SAndy Yan vin-supply = <&vcc5v0_sys>; 70fc702ed4SAndy Yan }; 71fc702ed4SAndy Yan 72fc702ed4SAndy Yan vcc5v0_host0: vcc5v0_host1: vcc5v0-host { 73fc702ed4SAndy Yan compatible = "regulator-fixed"; 74fc702ed4SAndy Yan regulator-name = "vcc5v0_host"; 75fc702ed4SAndy Yan regulator-boot-on; 76fc702ed4SAndy Yan regulator-always-on; 77fc702ed4SAndy Yan regulator-min-microvolt = <5500000>; 78fc702ed4SAndy Yan regulator-max-microvolt = <5500000>; 79fc702ed4SAndy Yan vin-supply = <&vcc5v0_sys>; 80fc702ed4SAndy Yan }; 81fc702ed4SAndy Yan 82fc702ed4SAndy Yan vcc5v0_host3: vcc5v0-host3 { 83fc702ed4SAndy Yan compatible = "regulator-fixed"; 84fc702ed4SAndy Yan regulator-name = "vcc5v0_host3"; 85fc702ed4SAndy Yan enable-active-high; 86fc702ed4SAndy Yan gpio = <&gpio2 RK_PA2 GPIO_ACTIVE_HIGH>; 87fc702ed4SAndy Yan pinctrl-names = "default"; 88fc702ed4SAndy Yan pinctrl-0 = <&vcc5v0_host3_en>; 89fc702ed4SAndy Yan regulator-always-on; 90fc702ed4SAndy Yan vin-supply = <&vcc5v0_sys>; 91fc702ed4SAndy Yan }; 92fc702ed4SAndy Yan 93fc702ed4SAndy Yan vcc5v0_sys: vcc5v0-sys { 94fc702ed4SAndy Yan compatible = "regulator-fixed"; 95fc702ed4SAndy Yan regulator-name = "vcc5v0_sys"; 96fc702ed4SAndy Yan regulator-always-on; 97fc702ed4SAndy Yan regulator-boot-on; 98fc702ed4SAndy Yan regulator-min-microvolt = <5000000>; 99fc702ed4SAndy Yan regulator-max-microvolt = <5000000>; 100fc702ed4SAndy Yan vin-supply = <&dc5v_adp>; 101fc702ed4SAndy Yan }; 102fc702ed4SAndy Yan 103fc702ed4SAndy Yan vdd_log: vdd-log { 104fc702ed4SAndy Yan compatible = "pwm-regulator"; 105fc702ed4SAndy Yan pwms = <&pwm2 0 25000 1>; 106dc570e8eSHeiko Stuebner pwm-supply = <&vcc5v0_sys>; 107fc702ed4SAndy Yan regulator-name = "vdd_log"; 108fc702ed4SAndy Yan regulator-always-on; 109fc702ed4SAndy Yan regulator-boot-on; 110fc702ed4SAndy Yan regulator-min-microvolt = <800000>; 111fc702ed4SAndy Yan regulator-max-microvolt = <1400000>; 112fc702ed4SAndy Yan }; 113fc702ed4SAndy Yan}; 114fc702ed4SAndy Yan 115fc702ed4SAndy Yan&cpu_l0 { 116fc702ed4SAndy Yan cpu-supply = <&vdd_cpu_l>; 117fc702ed4SAndy Yan}; 118fc702ed4SAndy Yan 119fc702ed4SAndy Yan&cpu_l1 { 120fc702ed4SAndy Yan cpu-supply = <&vdd_cpu_l>; 121fc702ed4SAndy Yan}; 122fc702ed4SAndy Yan 123fc702ed4SAndy Yan&cpu_l2 { 124fc702ed4SAndy Yan cpu-supply = <&vdd_cpu_l>; 125fc702ed4SAndy Yan}; 126fc702ed4SAndy Yan 127fc702ed4SAndy Yan&cpu_l3 { 128fc702ed4SAndy Yan cpu-supply = <&vdd_cpu_l>; 129fc702ed4SAndy Yan}; 130fc702ed4SAndy Yan 131fc702ed4SAndy Yan&cpu_b0 { 132fc702ed4SAndy Yan cpu-supply = <&vdd_cpu_b>; 133fc702ed4SAndy Yan}; 134fc702ed4SAndy Yan 135fc702ed4SAndy Yan&cpu_b1 { 136fc702ed4SAndy Yan cpu-supply = <&vdd_cpu_b>; 137fc702ed4SAndy Yan}; 138fc702ed4SAndy Yan 139fc702ed4SAndy Yan&emmc_phy { 140fc702ed4SAndy Yan status = "okay"; 141fc702ed4SAndy Yan}; 142fc702ed4SAndy Yan 143fc702ed4SAndy Yan&gmac { 144fc702ed4SAndy Yan assigned-clocks = <&cru SCLK_RMII_SRC>; 145fc702ed4SAndy Yan assigned-clock-parents = <&clkin_gmac>; 146fc702ed4SAndy Yan clock_in_out = "input"; 147fc702ed4SAndy Yan phy-supply = <&vcc3v3_lan>; 148fc702ed4SAndy Yan phy-mode = "rgmii"; 149fc702ed4SAndy Yan pinctrl-names = "default"; 150fc702ed4SAndy Yan pinctrl-0 = <&rgmii_pins>; 151fc702ed4SAndy Yan snps,reset-gpio = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>; 152fc702ed4SAndy Yan snps,reset-active-low; 153fc702ed4SAndy Yan snps,reset-delays-us = <0 10000 50000>; 154fc702ed4SAndy Yan tx_delay = <0x28>; 155fc702ed4SAndy Yan rx_delay = <0x11>; 156fc702ed4SAndy Yan status = "okay"; 157fc702ed4SAndy Yan}; 158fc702ed4SAndy Yan 159fc702ed4SAndy Yan&gpu { 160fc702ed4SAndy Yan mali-supply = <&vdd_gpu>; 161fc702ed4SAndy Yan status = "okay"; 162fc702ed4SAndy Yan}; 163fc702ed4SAndy Yan 164fc702ed4SAndy Yan&hdmi { 165fc702ed4SAndy Yan ddc-i2c-bus = <&i2c7>; 166fc702ed4SAndy Yan pinctrl-names = "default"; 167fc702ed4SAndy Yan pinctrl-0 = <&hdmi_cec>; 168fc702ed4SAndy Yan status = "okay"; 169fc702ed4SAndy Yan}; 170fc702ed4SAndy Yan 171fc702ed4SAndy Yan&hdmi_sound { 172fc702ed4SAndy Yan status = "okay"; 173fc702ed4SAndy Yan}; 174fc702ed4SAndy Yan 175fc702ed4SAndy Yan&i2c0 { 176fc702ed4SAndy Yan clock-frequency = <400000>; 177fc702ed4SAndy Yan i2c-scl-rising-time-ns = <168>; 178fc702ed4SAndy Yan i2c-scl-falling-time-ns = <4>; 179fc702ed4SAndy Yan status = "okay"; 180fc702ed4SAndy Yan 181fc702ed4SAndy Yan rk808: pmic@1b { 182fc702ed4SAndy Yan compatible = "rockchip,rk808"; 183fc702ed4SAndy Yan reg = <0x1b>; 184fc702ed4SAndy Yan interrupt-parent = <&gpio1>; 185fc702ed4SAndy Yan interrupts = <21 IRQ_TYPE_LEVEL_LOW>; 186fc702ed4SAndy Yan #clock-cells = <1>; 187fc702ed4SAndy Yan clock-output-names = "xin32k", "rk808-clkout2"; 188fc702ed4SAndy Yan pinctrl-names = "default"; 189fc702ed4SAndy Yan pinctrl-0 = <&pmic_int_l>; 190fc702ed4SAndy Yan rockchip,system-power-controller; 191fc702ed4SAndy Yan wakeup-source; 192fc702ed4SAndy Yan 193fc702ed4SAndy Yan vcc1-supply = <&vcc5v0_sys>; 194fc702ed4SAndy Yan vcc2-supply = <&vcc5v0_sys>; 195fc702ed4SAndy Yan vcc3-supply = <&vcc5v0_sys>; 196fc702ed4SAndy Yan vcc4-supply = <&vcc5v0_sys>; 197fc702ed4SAndy Yan vcc6-supply = <&vcc5v0_sys>; 198fc702ed4SAndy Yan vcc7-supply = <&vcc5v0_sys>; 199fc702ed4SAndy Yan vcc8-supply = <&vcc3v3_sys>; 200fc702ed4SAndy Yan vcc9-supply = <&vcc5v0_sys>; 201fc702ed4SAndy Yan vcc10-supply = <&vcc5v0_sys>; 202fc702ed4SAndy Yan vcc11-supply = <&vcc5v0_sys>; 203fc702ed4SAndy Yan vcc12-supply = <&vcc3v3_sys>; 204fc702ed4SAndy Yan vddio-supply = <&vcc_1v8>; 205fc702ed4SAndy Yan 206fc702ed4SAndy Yan regulators { 207fc702ed4SAndy Yan vdd_center: DCDC_REG1 { 208fc702ed4SAndy Yan regulator-name = "vdd_center"; 209fc702ed4SAndy Yan regulator-always-on; 210fc702ed4SAndy Yan regulator-boot-on; 211fc702ed4SAndy Yan regulator-min-microvolt = <750000>; 212fc702ed4SAndy Yan regulator-max-microvolt = <1350000>; 213fc702ed4SAndy Yan regulator-ramp-delay = <6001>; 214fc702ed4SAndy Yan regulator-state-mem { 215fc702ed4SAndy Yan regulator-off-in-suspend; 216fc702ed4SAndy Yan }; 217fc702ed4SAndy Yan }; 218fc702ed4SAndy Yan 219fc702ed4SAndy Yan vdd_cpu_l: DCDC_REG2 { 220fc702ed4SAndy Yan regulator-name = "vdd_cpu_l"; 221fc702ed4SAndy Yan regulator-always-on; 222fc702ed4SAndy Yan regulator-boot-on; 223fc702ed4SAndy Yan regulator-min-microvolt = <750000>; 224fc702ed4SAndy Yan regulator-max-microvolt = <1350000>; 225fc702ed4SAndy Yan regulator-ramp-delay = <6001>; 226fc702ed4SAndy Yan regulator-state-mem { 227fc702ed4SAndy Yan regulator-off-in-suspend; 228fc702ed4SAndy Yan }; 229fc702ed4SAndy Yan }; 230fc702ed4SAndy Yan 231fc702ed4SAndy Yan vcc_ddr: DCDC_REG3 { 232fc702ed4SAndy Yan regulator-name = "vcc_ddr"; 233fc702ed4SAndy Yan regulator-always-on; 234fc702ed4SAndy Yan regulator-boot-on; 235fc702ed4SAndy Yan regulator-state-mem { 236fc702ed4SAndy Yan regulator-on-in-suspend; 237fc702ed4SAndy Yan }; 238fc702ed4SAndy Yan }; 239fc702ed4SAndy Yan 240fc702ed4SAndy Yan vcc_1v8: DCDC_REG4 { 241fc702ed4SAndy Yan regulator-name = "vcc_1v8"; 242fc702ed4SAndy Yan regulator-always-on; 243fc702ed4SAndy Yan regulator-boot-on; 244fc702ed4SAndy Yan regulator-min-microvolt = <1800000>; 245fc702ed4SAndy Yan regulator-max-microvolt = <1800000>; 246fc702ed4SAndy Yan regulator-state-mem { 247fc702ed4SAndy Yan regulator-on-in-suspend; 248fc702ed4SAndy Yan regulator-suspend-microvolt = <1800000>; 249fc702ed4SAndy Yan }; 250fc702ed4SAndy Yan }; 251fc702ed4SAndy Yan 252fc702ed4SAndy Yan vcc1v8_dvp: LDO_REG1 { 253fc702ed4SAndy Yan regulator-name = "vcc1v8_dvp"; 254fc702ed4SAndy Yan regulator-always-on; 255fc702ed4SAndy Yan regulator-boot-on; 256fc702ed4SAndy Yan regulator-min-microvolt = <1800000>; 257fc702ed4SAndy Yan regulator-max-microvolt = <1800000>; 258fc702ed4SAndy Yan regulator-state-mem { 259fc702ed4SAndy Yan regulator-off-in-suspend; 260fc702ed4SAndy Yan }; 261fc702ed4SAndy Yan }; 262fc702ed4SAndy Yan 263fc702ed4SAndy Yan vcc1v8_hdmi: LDO_REG2 { 264fc702ed4SAndy Yan regulator-name = "vcc1v8_hdmi"; 265fc702ed4SAndy Yan regulator-always-on; 266fc702ed4SAndy Yan regulator-boot-on; 267fc702ed4SAndy Yan regulator-min-microvolt = <1800000>; 268fc702ed4SAndy Yan regulator-max-microvolt = <1800000>; 269fc702ed4SAndy Yan regulator-state-mem { 270fc702ed4SAndy Yan regulator-off-in-suspend; 271fc702ed4SAndy Yan }; 272fc702ed4SAndy Yan }; 273fc702ed4SAndy Yan 274fc702ed4SAndy Yan vcca_1v8: LDO_REG3 { 275fc702ed4SAndy Yan regulator-name = "vcca_1v8"; 276fc702ed4SAndy Yan regulator-always-on; 277fc702ed4SAndy Yan regulator-boot-on; 278fc702ed4SAndy Yan regulator-min-microvolt = <1800000>; 279fc702ed4SAndy Yan regulator-max-microvolt = <1800000>; 280fc702ed4SAndy Yan regulator-state-mem { 281fc702ed4SAndy Yan regulator-on-in-suspend; 282fc702ed4SAndy Yan regulator-suspend-microvolt = <1800000>; 283fc702ed4SAndy Yan }; 284fc702ed4SAndy Yan }; 285fc702ed4SAndy Yan 286fc702ed4SAndy Yan vccio_sd: LDO_REG4 { 287fc702ed4SAndy Yan regulator-name = "vccio_sd"; 288fc702ed4SAndy Yan regulator-always-on; 289fc702ed4SAndy Yan regulator-boot-on; 290fc702ed4SAndy Yan regulator-min-microvolt = <3000000>; 291fc702ed4SAndy Yan regulator-max-microvolt = <3000000>; 292fc702ed4SAndy Yan regulator-state-mem { 293fc702ed4SAndy Yan regulator-on-in-suspend; 294fc702ed4SAndy Yan regulator-suspend-microvolt = <3000000>; 295fc702ed4SAndy Yan }; 296fc702ed4SAndy Yan }; 297fc702ed4SAndy Yan 298fc702ed4SAndy Yan vcca3v0_codec: LDO_REG5 { 299fc702ed4SAndy Yan regulator-name = "vcca3v0_codec"; 300fc702ed4SAndy Yan regulator-always-on; 301fc702ed4SAndy Yan regulator-boot-on; 302fc702ed4SAndy Yan regulator-min-microvolt = <3000000>; 303fc702ed4SAndy Yan regulator-max-microvolt = <3000000>; 304fc702ed4SAndy Yan regulator-state-mem { 305fc702ed4SAndy Yan regulator-off-in-suspend; 306fc702ed4SAndy Yan }; 307fc702ed4SAndy Yan }; 308fc702ed4SAndy Yan 309fc702ed4SAndy Yan vcc_1v5: LDO_REG6 { 310fc702ed4SAndy Yan regulator-name = "vcc_1v5"; 311fc702ed4SAndy Yan regulator-always-on; 312fc702ed4SAndy Yan regulator-boot-on; 313fc702ed4SAndy Yan regulator-min-microvolt = <1500000>; 314fc702ed4SAndy Yan regulator-max-microvolt = <1500000>; 315fc702ed4SAndy Yan regulator-state-mem { 316fc702ed4SAndy Yan regulator-on-in-suspend; 317fc702ed4SAndy Yan regulator-suspend-microvolt = <1500000>; 318fc702ed4SAndy Yan }; 319fc702ed4SAndy Yan }; 320fc702ed4SAndy Yan 321fc702ed4SAndy Yan vcc0v9_hdmi: LDO_REG7 { 322fc702ed4SAndy Yan regulator-name = "vcc0v9_hdmi"; 323fc702ed4SAndy Yan regulator-always-on; 324fc702ed4SAndy Yan regulator-boot-on; 325fc702ed4SAndy Yan regulator-min-microvolt = <900000>; 326fc702ed4SAndy Yan regulator-max-microvolt = <900000>; 327fc702ed4SAndy Yan regulator-state-mem { 328fc702ed4SAndy Yan regulator-off-in-suspend; 329fc702ed4SAndy Yan }; 330fc702ed4SAndy Yan }; 331fc702ed4SAndy Yan 332fc702ed4SAndy Yan vcc_3v0: LDO_REG8 { 333fc702ed4SAndy Yan regulator-name = "vcc_3v0"; 334fc702ed4SAndy Yan regulator-always-on; 335fc702ed4SAndy Yan regulator-boot-on; 336fc702ed4SAndy Yan regulator-min-microvolt = <3000000>; 337fc702ed4SAndy Yan regulator-max-microvolt = <3000000>; 338fc702ed4SAndy Yan regulator-state-mem { 339fc702ed4SAndy Yan regulator-on-in-suspend; 340fc702ed4SAndy Yan regulator-suspend-microvolt = <3000000>; 341fc702ed4SAndy Yan }; 342fc702ed4SAndy Yan }; 343fc702ed4SAndy Yan }; 344fc702ed4SAndy Yan }; 345fc702ed4SAndy Yan 346fc702ed4SAndy Yan vdd_cpu_b: regulator@40 { 347fc702ed4SAndy Yan compatible = "silergy,syr827"; 348fc702ed4SAndy Yan reg = <0x40>; 349fc702ed4SAndy Yan fcs,suspend-voltage-selector = <1>; 350fc702ed4SAndy Yan pinctrl-names = "default"; 3512bc65fefSJohan Jonker pinctrl-0 = <&vsel1_pin>; 352fc702ed4SAndy Yan regulator-name = "vdd_cpu_b"; 353fc702ed4SAndy Yan regulator-min-microvolt = <712500>; 354fc702ed4SAndy Yan regulator-max-microvolt = <1500000>; 355fc702ed4SAndy Yan regulator-ramp-delay = <1000>; 356fc702ed4SAndy Yan regulator-always-on; 357fc702ed4SAndy Yan regulator-boot-on; 358fc702ed4SAndy Yan vin-supply = <&vcc5v0_sys>; 359fc702ed4SAndy Yan 360fc702ed4SAndy Yan regulator-state-mem { 361fc702ed4SAndy Yan regulator-off-in-suspend; 362fc702ed4SAndy Yan }; 363fc702ed4SAndy Yan }; 364fc702ed4SAndy Yan 365fc702ed4SAndy Yan vdd_gpu: regulator@41 { 366fc702ed4SAndy Yan compatible = "silergy,syr828"; 367fc702ed4SAndy Yan reg = <0x41>; 368fc702ed4SAndy Yan fcs,suspend-voltage-selector = <1>; 369fc702ed4SAndy Yan pinctrl-names = "default"; 3702bc65fefSJohan Jonker pinctrl-0 = <&vsel2_pin>; 371fc702ed4SAndy Yan regulator-name = "vdd_gpu"; 372fc702ed4SAndy Yan regulator-min-microvolt = <712500>; 373fc702ed4SAndy Yan regulator-max-microvolt = <1500000>; 374fc702ed4SAndy Yan regulator-ramp-delay = <1000>; 375fc702ed4SAndy Yan regulator-always-on; 376fc702ed4SAndy Yan regulator-boot-on; 377fc702ed4SAndy Yan vin-supply = <&vcc5v0_sys>; 378fc702ed4SAndy Yan 379fc702ed4SAndy Yan regulator-state-mem { 380fc702ed4SAndy Yan regulator-off-in-suspend; 381fc702ed4SAndy Yan }; 382fc702ed4SAndy Yan }; 383fc702ed4SAndy Yan}; 384fc702ed4SAndy Yan 385fc702ed4SAndy Yan&i2c1 { 386fc702ed4SAndy Yan i2c-scl-rising-time-ns = <300>; 387fc702ed4SAndy Yan i2c-scl-falling-time-ns = <15>; 388fc702ed4SAndy Yan status = "okay"; 389fc702ed4SAndy Yan}; 390fc702ed4SAndy Yan 391fc702ed4SAndy Yan&i2c3 { 392fc702ed4SAndy Yan i2c-scl-rising-time-ns = <450>; 393fc702ed4SAndy Yan i2c-scl-falling-time-ns = <15>; 394fc702ed4SAndy Yan status = "okay"; 395fc702ed4SAndy Yan}; 396fc702ed4SAndy Yan 397fc702ed4SAndy Yan&i2c4 { 398fc702ed4SAndy Yan i2c-scl-rising-time-ns = <600>; 399fc702ed4SAndy Yan i2c-scl-falling-time-ns = <20>; 400fc702ed4SAndy Yan status = "okay"; 401fc702ed4SAndy Yan}; 402fc702ed4SAndy Yan 403fc702ed4SAndy Yan&i2c7 { 404fc702ed4SAndy Yan status = "okay"; 405fc702ed4SAndy Yan}; 406fc702ed4SAndy Yan 407fc702ed4SAndy Yan&i2s0 { 408fc702ed4SAndy Yan rockchip,playback-channels = <8>; 409fc702ed4SAndy Yan rockchip,capture-channels = <8>; 410fc702ed4SAndy Yan status = "okay"; 411fc702ed4SAndy Yan}; 412fc702ed4SAndy Yan 413fc702ed4SAndy Yan&i2s1 { 414fc702ed4SAndy Yan rockchip,playback-channels = <2>; 415fc702ed4SAndy Yan rockchip,capture-channels = <2>; 416fc702ed4SAndy Yan status = "okay"; 417fc702ed4SAndy Yan}; 418fc702ed4SAndy Yan 419fc702ed4SAndy Yan&i2s2 { 420fc702ed4SAndy Yan status = "okay"; 421fc702ed4SAndy Yan}; 422fc702ed4SAndy Yan 423fc702ed4SAndy Yan&io_domains { 424fc702ed4SAndy Yan status = "okay"; 425fc702ed4SAndy Yan 426fc702ed4SAndy Yan bt656-supply = <&vcc1v8_dvp>; 427fc702ed4SAndy Yan audio-supply = <&vcc_1v8>; 428fc702ed4SAndy Yan sdmmc-supply = <&vccio_sd>; 429fc702ed4SAndy Yan gpio1830-supply = <&vcc_3v0>; 430fc702ed4SAndy Yan}; 431fc702ed4SAndy Yan 432fc702ed4SAndy Yan&pmu_io_domains { 433fc702ed4SAndy Yan status = "okay"; 434fc702ed4SAndy Yan pmu1830-supply = <&vcc_3v0>; 435fc702ed4SAndy Yan}; 436fc702ed4SAndy Yan 437fc702ed4SAndy Yan&pinctrl { 438fc702ed4SAndy Yan bt { 439fc702ed4SAndy Yan bt_reg_on_h: bt-reg-on-h { 440fc702ed4SAndy Yan rockchip,pins = <0 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>; 441fc702ed4SAndy Yan }; 442fc702ed4SAndy Yan 443fc702ed4SAndy Yan bt_host_wake_l: bt-host-wake-l { 444fc702ed4SAndy Yan rockchip,pins = <0 RK_PA4 RK_FUNC_GPIO &pcfg_pull_none>; 445fc702ed4SAndy Yan }; 446fc702ed4SAndy Yan 447fc702ed4SAndy Yan bt_wake_l: bt-wake-l { 448fc702ed4SAndy Yan rockchip,pins = <2 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>; 449fc702ed4SAndy Yan }; 450fc702ed4SAndy Yan }; 451fc702ed4SAndy Yan 452fc702ed4SAndy Yan pmic { 453fc702ed4SAndy Yan pmic_int_l: pmic-int-l { 454fc702ed4SAndy Yan rockchip,pins = <1 RK_PC5 RK_FUNC_GPIO &pcfg_pull_up>; 455fc702ed4SAndy Yan }; 456fc702ed4SAndy Yan 4572bc65fefSJohan Jonker vsel1_pin: vsel1-pin { 458fc702ed4SAndy Yan rockchip,pins = <1 RK_PC1 RK_FUNC_GPIO &pcfg_pull_down>; 459fc702ed4SAndy Yan }; 460fc702ed4SAndy Yan 4612bc65fefSJohan Jonker vsel2_pin: vsel2-pin { 462fc702ed4SAndy Yan rockchip,pins = <1 RK_PB6 RK_FUNC_GPIO &pcfg_pull_down>; 463fc702ed4SAndy Yan }; 464fc702ed4SAndy Yan }; 465fc702ed4SAndy Yan 466fc702ed4SAndy Yan usb2 { 467fc702ed4SAndy Yan vcc5v0_host3_en: vcc5v0-host3-en { 468fc702ed4SAndy Yan rockchip,pins = <2 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>; 469fc702ed4SAndy Yan }; 470fc702ed4SAndy Yan }; 471fc702ed4SAndy Yan 472fc702ed4SAndy Yan wifi { 473fc702ed4SAndy Yan wifi_reg_on_h: wifi-reg-on-h { 474fc702ed4SAndy Yan rockchip,pins = 475fc702ed4SAndy Yan <0 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>; 476fc702ed4SAndy Yan }; 477fc702ed4SAndy Yan 478fc702ed4SAndy Yan wifi_host_wake_l: wifi-host-wake-l { 479fc702ed4SAndy Yan rockchip,pins = <0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_none>; 480fc702ed4SAndy Yan }; 481fc702ed4SAndy Yan }; 482fc702ed4SAndy Yan}; 483fc702ed4SAndy Yan 484fc702ed4SAndy Yan&pwm2 { 485fc702ed4SAndy Yan status = "okay"; 486fc702ed4SAndy Yan}; 487fc702ed4SAndy Yan 488fc702ed4SAndy Yan&saradc { 489fc702ed4SAndy Yan status = "okay"; 490fc702ed4SAndy Yan 491fc702ed4SAndy Yan vref-supply = <&vcc_1v8>; 492fc702ed4SAndy Yan}; 493fc702ed4SAndy Yan 494fc702ed4SAndy Yan&sdio0 { 495fc702ed4SAndy Yan #address-cells = <1>; 496fc702ed4SAndy Yan #size-cells = <0>; 497fc702ed4SAndy Yan bus-width = <4>; 498fc702ed4SAndy Yan clock-frequency = <50000000>; 499fc702ed4SAndy Yan cap-sdio-irq; 500fc702ed4SAndy Yan cap-sd-highspeed; 501fc702ed4SAndy Yan keep-power-in-suspend; 502fc702ed4SAndy Yan mmc-pwrseq = <&sdio_pwrseq>; 503fc702ed4SAndy Yan non-removable; 504fc702ed4SAndy Yan pinctrl-names = "default"; 505fc702ed4SAndy Yan pinctrl-0 = <&sdio0_bus4 &sdio0_cmd &sdio0_clk>; 506fc702ed4SAndy Yan sd-uhs-sdr104; 507fc702ed4SAndy Yan status = "okay"; 508fc702ed4SAndy Yan 509fc702ed4SAndy Yan brcmf: wifi@1 { 510fc702ed4SAndy Yan compatible = "brcm,bcm4329-fmac"; 511fc702ed4SAndy Yan reg = <1>; 512fc702ed4SAndy Yan interrupt-parent = <&gpio0>; 513*c043dee9SKrzysztof Kozlowski interrupts = <RK_PA3 IRQ_TYPE_LEVEL_HIGH>; 514fc702ed4SAndy Yan interrupt-names = "host-wake"; 515fc702ed4SAndy Yan pinctrl-names = "default"; 516fc702ed4SAndy Yan pinctrl-0 = <&wifi_host_wake_l>; 517fc702ed4SAndy Yan }; 518fc702ed4SAndy Yan}; 519fc702ed4SAndy Yan 520fc702ed4SAndy Yan&sdhci { 521fc702ed4SAndy Yan bus-width = <8>; 522fc702ed4SAndy Yan mmc-hs400-1_8v; 523fc702ed4SAndy Yan mmc-hs400-enhanced-strobe; 524fc702ed4SAndy Yan non-removable; 525fc702ed4SAndy Yan status = "okay"; 526fc702ed4SAndy Yan}; 527fc702ed4SAndy Yan 528fc702ed4SAndy Yan&sdmmc { 529fc702ed4SAndy Yan bus-width = <4>; 530fc702ed4SAndy Yan cap-mmc-highspeed; 531fc702ed4SAndy Yan cap-sd-highspeed; 532fc702ed4SAndy Yan cd-gpios = <&gpio0 RK_PA7 GPIO_ACTIVE_LOW>; 533fc702ed4SAndy Yan disable-wp; 534fc702ed4SAndy Yan max-frequency = <150000000>; 535fc702ed4SAndy Yan pinctrl-names = "default"; 536fc702ed4SAndy Yan pinctrl-0 = <&sdmmc_clk &sdmmc_cd &sdmmc_cmd &sdmmc_bus4>; 537fc702ed4SAndy Yan status = "okay"; 538fc702ed4SAndy Yan}; 539fc702ed4SAndy Yan 540fc702ed4SAndy Yan&tcphy0 { 541fc702ed4SAndy Yan status = "okay"; 542fc702ed4SAndy Yan}; 543fc702ed4SAndy Yan 544fc702ed4SAndy Yan&tcphy1 { 545fc702ed4SAndy Yan status = "okay"; 546fc702ed4SAndy Yan}; 547fc702ed4SAndy Yan 548fc702ed4SAndy Yan&tsadc { 549fc702ed4SAndy Yan status = "okay"; 550fc702ed4SAndy Yan 551fc702ed4SAndy Yan /* tshut mode 0:CRU 1:GPIO */ 552fc702ed4SAndy Yan rockchip,hw-tshut-mode = <1>; 553fc702ed4SAndy Yan /* tshut polarity 0:LOW 1:HIGH */ 554fc702ed4SAndy Yan rockchip,hw-tshut-polarity = <1>; 555fc702ed4SAndy Yan}; 556fc702ed4SAndy Yan 557fc702ed4SAndy Yan&u2phy0 { 558fc702ed4SAndy Yan status = "okay"; 559fc702ed4SAndy Yan 560fc702ed4SAndy Yan u2phy0_otg: otg-port { 561fc702ed4SAndy Yan status = "okay"; 562fc702ed4SAndy Yan }; 563fc702ed4SAndy Yan 564fc702ed4SAndy Yan u2phy0_host: host-port { 565fc702ed4SAndy Yan phy-supply = <&vcc5v0_host0>; 566fc702ed4SAndy Yan status = "okay"; 567fc702ed4SAndy Yan }; 568fc702ed4SAndy Yan}; 569fc702ed4SAndy Yan 570fc702ed4SAndy Yan&u2phy1 { 571fc702ed4SAndy Yan status = "okay"; 572fc702ed4SAndy Yan 573fc702ed4SAndy Yan u2phy1_otg: otg-port { 574fc702ed4SAndy Yan status = "okay"; 575fc702ed4SAndy Yan }; 576fc702ed4SAndy Yan 577fc702ed4SAndy Yan u2phy1_host: host-port { 578fc702ed4SAndy Yan phy-supply = <&vcc5v0_host1>; 579fc702ed4SAndy Yan status = "okay"; 580fc702ed4SAndy Yan }; 581fc702ed4SAndy Yan}; 582fc702ed4SAndy Yan 583fc702ed4SAndy Yan&uart0 { 584fc702ed4SAndy Yan pinctrl-names = "default"; 585fc702ed4SAndy Yan pinctrl-0 = <&uart0_xfer &uart0_cts &uart0_rts>; 586fc702ed4SAndy Yan status = "okay"; 587fc702ed4SAndy Yan 588fc702ed4SAndy Yan bluetooth { 589fc702ed4SAndy Yan compatible = "brcm,bcm43438-bt"; 590fc702ed4SAndy Yan clocks = <&rk808 1>; 591fc702ed4SAndy Yan clock-names = "ext_clock"; 592fc702ed4SAndy Yan device-wakeup-gpios = <&gpio2 RK_PD2 GPIO_ACTIVE_HIGH>; 593fc702ed4SAndy Yan host-wakeup-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_HIGH>; 594fc702ed4SAndy Yan shutdown-gpios = <&gpio0 RK_PB1 GPIO_ACTIVE_HIGH>; 595fc702ed4SAndy Yan pinctrl-names = "default"; 596fc702ed4SAndy Yan pinctrl-0 = <&bt_host_wake_l &bt_wake_l &bt_reg_on_h>; 597fc702ed4SAndy Yan }; 598fc702ed4SAndy Yan}; 599fc702ed4SAndy Yan 600fc702ed4SAndy Yan&uart2 { 601fc702ed4SAndy Yan status = "okay"; 602fc702ed4SAndy Yan}; 603fc702ed4SAndy Yan 604fc702ed4SAndy Yan&usb_host0_ehci { 605fc702ed4SAndy Yan status = "okay"; 606fc702ed4SAndy Yan}; 607fc702ed4SAndy Yan 608fc702ed4SAndy Yan&usb_host0_ohci { 609fc702ed4SAndy Yan status = "okay"; 610fc702ed4SAndy Yan}; 611fc702ed4SAndy Yan 612fc702ed4SAndy Yan&usb_host1_ehci { 613fc702ed4SAndy Yan status = "okay"; 614fc702ed4SAndy Yan}; 615fc702ed4SAndy Yan 616fc702ed4SAndy Yan&usb_host1_ohci { 617fc702ed4SAndy Yan status = "okay"; 618fc702ed4SAndy Yan}; 619fc702ed4SAndy Yan 620fc702ed4SAndy Yan&usbdrd3_0 { 621fc702ed4SAndy Yan status = "okay"; 622fc702ed4SAndy Yan}; 623fc702ed4SAndy Yan 624fc702ed4SAndy Yan&usbdrd_dwc3_0 { 625fc702ed4SAndy Yan status = "okay"; 626fc702ed4SAndy Yan dr_mode = "otg"; 627fc702ed4SAndy Yan}; 628fc702ed4SAndy Yan 629fc702ed4SAndy Yan&usbdrd3_1 { 630fc702ed4SAndy Yan status = "okay"; 631fc702ed4SAndy Yan}; 632fc702ed4SAndy Yan 633fc702ed4SAndy Yan&usbdrd_dwc3_1 { 634fc702ed4SAndy Yan status = "okay"; 635fc702ed4SAndy Yan dr_mode = "host"; 636fc702ed4SAndy Yan}; 637fc702ed4SAndy Yan 638fc702ed4SAndy Yan&vopb { 639fc702ed4SAndy Yan status = "okay"; 640fc702ed4SAndy Yan}; 641fc702ed4SAndy Yan 642fc702ed4SAndy Yan&vopb_mmu { 643fc702ed4SAndy Yan status = "okay"; 644fc702ed4SAndy Yan}; 645fc702ed4SAndy Yan 646fc702ed4SAndy Yan&vopl { 647fc702ed4SAndy Yan status = "okay"; 648fc702ed4SAndy Yan}; 649fc702ed4SAndy Yan 650fc702ed4SAndy Yan&vopl_mmu { 651fc702ed4SAndy Yan status = "okay"; 652fc702ed4SAndy Yan}; 653