1c2753d15SKatsuhiro Suzuki// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2c2753d15SKatsuhiro Suzuki/* 3c2753d15SKatsuhiro Suzuki * Copyright (c) 2017 Fuzhou Rockchip Electronics Co., Ltd. 4c2753d15SKatsuhiro Suzuki * Copyright (c) 2018 Akash Gajjar <Akash_Gajjar@mentor.com> 5c2753d15SKatsuhiro Suzuki */ 6c2753d15SKatsuhiro Suzuki 7c2753d15SKatsuhiro Suzuki#include <dt-bindings/input/linux-event-codes.h> 8c2753d15SKatsuhiro Suzuki#include <dt-bindings/pwm/pwm.h> 9c2753d15SKatsuhiro Suzuki#include "rk3399.dtsi" 10c2753d15SKatsuhiro Suzuki#include "rk3399-opp.dtsi" 11c2753d15SKatsuhiro Suzuki 12c2753d15SKatsuhiro Suzuki/ { 135dcbe7e3SHeiko Stuebner aliases { 145dcbe7e3SHeiko Stuebner mmc0 = &sdio0; 155dcbe7e3SHeiko Stuebner mmc1 = &sdmmc; 165dcbe7e3SHeiko Stuebner mmc2 = &sdhci; 175dcbe7e3SHeiko Stuebner }; 185dcbe7e3SHeiko Stuebner 19c2753d15SKatsuhiro Suzuki chosen { 20c2753d15SKatsuhiro Suzuki stdout-path = "serial2:1500000n8"; 21c2753d15SKatsuhiro Suzuki }; 22c2753d15SKatsuhiro Suzuki 23b65155c7SPeter Geis /* enable for panel backlight support */ 24b65155c7SPeter Geis backlight: backlight { 25b65155c7SPeter Geis compatible = "pwm-backlight"; 26b65155c7SPeter Geis brightness-levels = <0 4 8 16 32 64 128 255>; 27b65155c7SPeter Geis default-brightness-level = <5>; 28b65155c7SPeter Geis pwms = <&pwm0 0 1000000 0>; 29b65155c7SPeter Geis status = "disabled"; 30b65155c7SPeter Geis }; 31b65155c7SPeter Geis 32c2753d15SKatsuhiro Suzuki clkin_gmac: external-gmac-clock { 33c2753d15SKatsuhiro Suzuki compatible = "fixed-clock"; 34c2753d15SKatsuhiro Suzuki clock-frequency = <125000000>; 35c2753d15SKatsuhiro Suzuki clock-output-names = "clkin_gmac"; 36c2753d15SKatsuhiro Suzuki #clock-cells = <0>; 37c2753d15SKatsuhiro Suzuki }; 38c2753d15SKatsuhiro Suzuki 39c2753d15SKatsuhiro Suzuki gpio-keys { 40c2753d15SKatsuhiro Suzuki compatible = "gpio-keys"; 41c2753d15SKatsuhiro Suzuki autorepeat; 42c2753d15SKatsuhiro Suzuki pinctrl-names = "default"; 43c2753d15SKatsuhiro Suzuki pinctrl-0 = <&pwrbtn>; 44c2753d15SKatsuhiro Suzuki 45517ed0ffSKrzysztof Kozlowski key-power { 46c2753d15SKatsuhiro Suzuki debounce-interval = <100>; 47c2753d15SKatsuhiro Suzuki gpios = <&gpio0 RK_PA5 GPIO_ACTIVE_LOW>; 48c2753d15SKatsuhiro Suzuki label = "GPIO Key Power"; 49c2753d15SKatsuhiro Suzuki linux,code = <KEY_POWER>; 50c2753d15SKatsuhiro Suzuki wakeup-source; 51c2753d15SKatsuhiro Suzuki }; 52c2753d15SKatsuhiro Suzuki }; 53c2753d15SKatsuhiro Suzuki 547c7f0413SThomas Schneider ir-receiver { 557c7f0413SThomas Schneider compatible = "gpio-ir-receiver"; 567c7f0413SThomas Schneider gpios = <&gpio0 RK_PA6 GPIO_ACTIVE_LOW>; 577c7f0413SThomas Schneider pinctrl-0 = <&ir_int>; 587c7f0413SThomas Schneider pinctrl-names = "default"; 597c7f0413SThomas Schneider }; 607c7f0413SThomas Schneider 61c2753d15SKatsuhiro Suzuki leds { 62c2753d15SKatsuhiro Suzuki compatible = "gpio-leds"; 63c2753d15SKatsuhiro Suzuki pinctrl-names = "default"; 646dd5e12cSJohan Jonker pinctrl-0 = <&work_led_pin>, <&diy_led_pin>; 65c2753d15SKatsuhiro Suzuki 666dd5e12cSJohan Jonker work_led: led-0 { 67c2753d15SKatsuhiro Suzuki label = "work"; 68c2753d15SKatsuhiro Suzuki default-state = "on"; 69c2753d15SKatsuhiro Suzuki gpios = <&gpio0 RK_PB3 GPIO_ACTIVE_HIGH>; 70c2753d15SKatsuhiro Suzuki }; 71c2753d15SKatsuhiro Suzuki 726dd5e12cSJohan Jonker diy_led: led-1 { 73c2753d15SKatsuhiro Suzuki label = "diy"; 74c2753d15SKatsuhiro Suzuki default-state = "off"; 75c2753d15SKatsuhiro Suzuki gpios = <&gpio0 RK_PA2 GPIO_ACTIVE_HIGH>; 76c2753d15SKatsuhiro Suzuki }; 77c2753d15SKatsuhiro Suzuki }; 78c2753d15SKatsuhiro Suzuki 79c2753d15SKatsuhiro Suzuki fan: pwm-fan { 80c2753d15SKatsuhiro Suzuki compatible = "pwm-fan"; 81d09ebc6bSPeter Geis cooling-levels = <0 100 150 200 255>; 82c2753d15SKatsuhiro Suzuki #cooling-cells = <2>; 83c2753d15SKatsuhiro Suzuki fan-supply = <&vcc12v_dcin>; 84c2753d15SKatsuhiro Suzuki pwms = <&pwm1 0 50000 0>; 85c2753d15SKatsuhiro Suzuki }; 86c2753d15SKatsuhiro Suzuki 87c2753d15SKatsuhiro Suzuki sdio_pwrseq: sdio-pwrseq { 88c2753d15SKatsuhiro Suzuki compatible = "mmc-pwrseq-simple"; 89c2753d15SKatsuhiro Suzuki clocks = <&rk808 1>; 90c2753d15SKatsuhiro Suzuki clock-names = "ext_clock"; 91c2753d15SKatsuhiro Suzuki pinctrl-names = "default"; 92c2753d15SKatsuhiro Suzuki pinctrl-0 = <&wifi_enable_h>; 93c2753d15SKatsuhiro Suzuki reset-gpios = <&gpio0 RK_PB2 GPIO_ACTIVE_LOW>; 94c2753d15SKatsuhiro Suzuki }; 95c2753d15SKatsuhiro Suzuki 96c2753d15SKatsuhiro Suzuki sound { 97c2753d15SKatsuhiro Suzuki compatible = "audio-graph-card"; 987582ad63SKatsuhiro Suzuki label = "Analog"; 99c2753d15SKatsuhiro Suzuki dais = <&i2s1_p0>; 100c2753d15SKatsuhiro Suzuki }; 101c2753d15SKatsuhiro Suzuki 1027f02feb5SKatsuhiro Suzuki sound-dit { 1037f02feb5SKatsuhiro Suzuki compatible = "audio-graph-card"; 1047582ad63SKatsuhiro Suzuki label = "SPDIF"; 1057f02feb5SKatsuhiro Suzuki dais = <&spdif_p0>; 1067f02feb5SKatsuhiro Suzuki }; 1077f02feb5SKatsuhiro Suzuki 1087f02feb5SKatsuhiro Suzuki spdif-dit { 1097f02feb5SKatsuhiro Suzuki compatible = "linux,spdif-dit"; 1107f02feb5SKatsuhiro Suzuki #sound-dai-cells = <0>; 1117f02feb5SKatsuhiro Suzuki 1127f02feb5SKatsuhiro Suzuki port { 1137f02feb5SKatsuhiro Suzuki dit_p0_0: endpoint { 1147f02feb5SKatsuhiro Suzuki remote-endpoint = <&spdif_p0_0>; 1157f02feb5SKatsuhiro Suzuki }; 1167f02feb5SKatsuhiro Suzuki }; 1177f02feb5SKatsuhiro Suzuki }; 1187f02feb5SKatsuhiro Suzuki 119b65155c7SPeter Geis avdd: avdd-regulator { 120b65155c7SPeter Geis compatible = "regulator-fixed"; 121b65155c7SPeter Geis regulator-name = "avdd"; 122b65155c7SPeter Geis regulator-min-microvolt = <11000000>; 123b65155c7SPeter Geis regulator-max-microvolt = <11000000>; 124b65155c7SPeter Geis vin-supply = <&vcc3v3_s0>; 125b65155c7SPeter Geis }; 126b65155c7SPeter Geis 127c2753d15SKatsuhiro Suzuki vcc12v_dcin: vcc12v-dcin { 128c2753d15SKatsuhiro Suzuki compatible = "regulator-fixed"; 129c2753d15SKatsuhiro Suzuki regulator-name = "vcc12v_dcin"; 130c2753d15SKatsuhiro Suzuki regulator-always-on; 131c2753d15SKatsuhiro Suzuki regulator-boot-on; 132c2753d15SKatsuhiro Suzuki regulator-min-microvolt = <12000000>; 133c2753d15SKatsuhiro Suzuki regulator-max-microvolt = <12000000>; 134c2753d15SKatsuhiro Suzuki }; 135c2753d15SKatsuhiro Suzuki 136c2753d15SKatsuhiro Suzuki /* switched by pmic_sleep */ 137c2753d15SKatsuhiro Suzuki vcc1v8_s3: vcca1v8_s3: vcc1v8-s3 { 138c2753d15SKatsuhiro Suzuki compatible = "regulator-fixed"; 139c2753d15SKatsuhiro Suzuki regulator-name = "vcc1v8_s3"; 140c2753d15SKatsuhiro Suzuki regulator-always-on; 141c2753d15SKatsuhiro Suzuki regulator-boot-on; 142c2753d15SKatsuhiro Suzuki regulator-min-microvolt = <1800000>; 143c2753d15SKatsuhiro Suzuki regulator-max-microvolt = <1800000>; 144c2753d15SKatsuhiro Suzuki vin-supply = <&vcc_1v8>; 145c2753d15SKatsuhiro Suzuki }; 146c2753d15SKatsuhiro Suzuki 1471f5a3e16STobias Schramm /* micro SD card power */ 1481f5a3e16STobias Schramm vcc3v0_sd: vcc3v0-sd { 1491f5a3e16STobias Schramm compatible = "regulator-fixed"; 1501f5a3e16STobias Schramm enable-active-high; 1511f5a3e16STobias Schramm gpio = <&gpio0 RK_PA1 GPIO_ACTIVE_HIGH>; 1521f5a3e16STobias Schramm pinctrl-names = "default"; 1531f5a3e16STobias Schramm pinctrl-0 = <&sdmmc0_pwr_h>; 1541f5a3e16STobias Schramm regulator-name = "vcc3v0_sd"; 1551f5a3e16STobias Schramm regulator-always-on; 1561f5a3e16STobias Schramm regulator-min-microvolt = <3000000>; 1571f5a3e16STobias Schramm regulator-max-microvolt = <3000000>; 1581f5a3e16STobias Schramm vin-supply = <&vcc3v3_sys>; 1591f5a3e16STobias Schramm 1601f5a3e16STobias Schramm regulator-state-mem { 1611f5a3e16STobias Schramm regulator-off-in-suspend; 1621f5a3e16STobias Schramm }; 1631f5a3e16STobias Schramm }; 1641f5a3e16STobias Schramm 165c2753d15SKatsuhiro Suzuki vcc3v3_pcie: vcc3v3-pcie-regulator { 166c2753d15SKatsuhiro Suzuki compatible = "regulator-fixed"; 167c2753d15SKatsuhiro Suzuki enable-active-high; 168c2753d15SKatsuhiro Suzuki gpio = <&gpio1 RK_PD0 GPIO_ACTIVE_HIGH>; 169c2753d15SKatsuhiro Suzuki pinctrl-names = "default"; 170c2753d15SKatsuhiro Suzuki pinctrl-0 = <&pcie_pwr_en>; 171c2753d15SKatsuhiro Suzuki regulator-name = "vcc3v3_pcie"; 172c2753d15SKatsuhiro Suzuki regulator-always-on; 173c2753d15SKatsuhiro Suzuki regulator-boot-on; 174c2753d15SKatsuhiro Suzuki vin-supply = <&vcc12v_dcin>; 175c2753d15SKatsuhiro Suzuki }; 176c2753d15SKatsuhiro Suzuki 177c2753d15SKatsuhiro Suzuki vcc3v3_sys: vcc3v3-sys { 178c2753d15SKatsuhiro Suzuki compatible = "regulator-fixed"; 179c2753d15SKatsuhiro Suzuki regulator-name = "vcc3v3_sys"; 180c2753d15SKatsuhiro Suzuki regulator-always-on; 181c2753d15SKatsuhiro Suzuki regulator-boot-on; 182c2753d15SKatsuhiro Suzuki regulator-min-microvolt = <3300000>; 183c2753d15SKatsuhiro Suzuki regulator-max-microvolt = <3300000>; 184c2753d15SKatsuhiro Suzuki vin-supply = <&vcc5v0_sys>; 185c2753d15SKatsuhiro Suzuki }; 186c2753d15SKatsuhiro Suzuki 187c2753d15SKatsuhiro Suzuki /* Actually 3 regulators (host0, 1, 2) controlled by the same gpio */ 188c2753d15SKatsuhiro Suzuki vcc5v0_host: vcc5v0-host-regulator { 189c2753d15SKatsuhiro Suzuki compatible = "regulator-fixed"; 190c2753d15SKatsuhiro Suzuki enable-active-high; 191c2753d15SKatsuhiro Suzuki gpio = <&gpio4 RK_PD2 GPIO_ACTIVE_HIGH>; 192c2753d15SKatsuhiro Suzuki pinctrl-names = "default"; 193c2753d15SKatsuhiro Suzuki pinctrl-0 = <&vcc5v0_host_en>; 194c2753d15SKatsuhiro Suzuki regulator-name = "vcc5v0_host"; 195c2753d15SKatsuhiro Suzuki regulator-always-on; 196c2753d15SKatsuhiro Suzuki vin-supply = <&vcc5v0_usb>; 197c2753d15SKatsuhiro Suzuki }; 198c2753d15SKatsuhiro Suzuki 199c2753d15SKatsuhiro Suzuki vcc5v0_typec: vcc5v0-typec-regulator { 200c2753d15SKatsuhiro Suzuki compatible = "regulator-fixed"; 201c2753d15SKatsuhiro Suzuki enable-active-high; 202c2753d15SKatsuhiro Suzuki gpio = <&gpio1 RK_PA3 GPIO_ACTIVE_HIGH>; 203c2753d15SKatsuhiro Suzuki pinctrl-names = "default"; 204c2753d15SKatsuhiro Suzuki pinctrl-0 = <&vcc5v0_typec_en>; 205c2753d15SKatsuhiro Suzuki regulator-name = "vcc5v0_typec"; 206c2753d15SKatsuhiro Suzuki regulator-always-on; 207c2753d15SKatsuhiro Suzuki vin-supply = <&vcc5v0_usb>; 208c2753d15SKatsuhiro Suzuki }; 209c2753d15SKatsuhiro Suzuki 210c2753d15SKatsuhiro Suzuki vcc5v0_sys: vcc5v0-sys { 211c2753d15SKatsuhiro Suzuki compatible = "regulator-fixed"; 212c2753d15SKatsuhiro Suzuki regulator-name = "vcc5v0_sys"; 213c2753d15SKatsuhiro Suzuki regulator-always-on; 214c2753d15SKatsuhiro Suzuki regulator-boot-on; 215c2753d15SKatsuhiro Suzuki regulator-min-microvolt = <5000000>; 216c2753d15SKatsuhiro Suzuki regulator-max-microvolt = <5000000>; 217c2753d15SKatsuhiro Suzuki vin-supply = <&vcc12v_dcin>; 218c2753d15SKatsuhiro Suzuki }; 219c2753d15SKatsuhiro Suzuki 220c2753d15SKatsuhiro Suzuki vcc5v0_usb: vcc5v0-usb { 221c2753d15SKatsuhiro Suzuki compatible = "regulator-fixed"; 222c2753d15SKatsuhiro Suzuki regulator-name = "vcc5v0_usb"; 223c2753d15SKatsuhiro Suzuki regulator-always-on; 224c2753d15SKatsuhiro Suzuki regulator-boot-on; 225c2753d15SKatsuhiro Suzuki regulator-min-microvolt = <5000000>; 226c2753d15SKatsuhiro Suzuki regulator-max-microvolt = <5000000>; 227c2753d15SKatsuhiro Suzuki vin-supply = <&vcc12v_dcin>; 228c2753d15SKatsuhiro Suzuki }; 229c2753d15SKatsuhiro Suzuki 230c2753d15SKatsuhiro Suzuki vdd_log: vdd-log { 231c2753d15SKatsuhiro Suzuki compatible = "pwm-regulator"; 232c2753d15SKatsuhiro Suzuki pwms = <&pwm2 0 25000 1>; 233dc570e8eSHeiko Stuebner pwm-supply = <&vcc5v0_sys>; 234c2753d15SKatsuhiro Suzuki regulator-name = "vdd_log"; 235c2753d15SKatsuhiro Suzuki regulator-always-on; 236c2753d15SKatsuhiro Suzuki regulator-boot-on; 237c2753d15SKatsuhiro Suzuki regulator-min-microvolt = <800000>; 238c2753d15SKatsuhiro Suzuki regulator-max-microvolt = <1700000>; 239c2753d15SKatsuhiro Suzuki }; 240c2753d15SKatsuhiro Suzuki}; 241c2753d15SKatsuhiro Suzuki 242c2753d15SKatsuhiro Suzuki&cpu_l0 { 243c2753d15SKatsuhiro Suzuki cpu-supply = <&vdd_cpu_l>; 244c2753d15SKatsuhiro Suzuki}; 245c2753d15SKatsuhiro Suzuki 246c2753d15SKatsuhiro Suzuki&cpu_l1 { 247c2753d15SKatsuhiro Suzuki cpu-supply = <&vdd_cpu_l>; 248c2753d15SKatsuhiro Suzuki}; 249c2753d15SKatsuhiro Suzuki 250c2753d15SKatsuhiro Suzuki&cpu_l2 { 251c2753d15SKatsuhiro Suzuki cpu-supply = <&vdd_cpu_l>; 252c2753d15SKatsuhiro Suzuki}; 253c2753d15SKatsuhiro Suzuki 254c2753d15SKatsuhiro Suzuki&cpu_l3 { 255c2753d15SKatsuhiro Suzuki cpu-supply = <&vdd_cpu_l>; 256c2753d15SKatsuhiro Suzuki}; 257c2753d15SKatsuhiro Suzuki 258c2753d15SKatsuhiro Suzuki&cpu_b0 { 259c2753d15SKatsuhiro Suzuki cpu-supply = <&vdd_cpu_b>; 260c2753d15SKatsuhiro Suzuki}; 261c2753d15SKatsuhiro Suzuki 262c2753d15SKatsuhiro Suzuki&cpu_b1 { 263c2753d15SKatsuhiro Suzuki cpu-supply = <&vdd_cpu_b>; 264c2753d15SKatsuhiro Suzuki}; 265c2753d15SKatsuhiro Suzuki 266d09ebc6bSPeter Geis&cpu_thermal { 267d09ebc6bSPeter Geis trips { 268d09ebc6bSPeter Geis cpu_warm: cpu_warm { 269d09ebc6bSPeter Geis temperature = <55000>; 270d09ebc6bSPeter Geis hysteresis = <2000>; 271d09ebc6bSPeter Geis type = "active"; 272d09ebc6bSPeter Geis }; 273d09ebc6bSPeter Geis 274d09ebc6bSPeter Geis cpu_hot: cpu_hot { 275d09ebc6bSPeter Geis temperature = <65000>; 276d09ebc6bSPeter Geis hysteresis = <2000>; 277d09ebc6bSPeter Geis type = "active"; 278d09ebc6bSPeter Geis }; 279d09ebc6bSPeter Geis }; 280d09ebc6bSPeter Geis 281d09ebc6bSPeter Geis cooling-maps { 282d09ebc6bSPeter Geis map2 { 283d09ebc6bSPeter Geis trip = <&cpu_warm>; 284d09ebc6bSPeter Geis cooling-device = <&fan THERMAL_NO_LIMIT 1>; 285d09ebc6bSPeter Geis }; 286d09ebc6bSPeter Geis 287d09ebc6bSPeter Geis map3 { 288d09ebc6bSPeter Geis trip = <&cpu_hot>; 289d09ebc6bSPeter Geis cooling-device = <&fan 2 THERMAL_NO_LIMIT>; 290d09ebc6bSPeter Geis }; 291d09ebc6bSPeter Geis }; 292d09ebc6bSPeter Geis}; 293d09ebc6bSPeter Geis 294c2753d15SKatsuhiro Suzuki&emmc_phy { 295c2753d15SKatsuhiro Suzuki status = "okay"; 296c2753d15SKatsuhiro Suzuki}; 297c2753d15SKatsuhiro Suzuki 298c2753d15SKatsuhiro Suzuki&gmac { 299c2753d15SKatsuhiro Suzuki assigned-clocks = <&cru SCLK_RMII_SRC>; 300c2753d15SKatsuhiro Suzuki assigned-clock-parents = <&clkin_gmac>; 301c2753d15SKatsuhiro Suzuki clock_in_out = "input"; 302c2753d15SKatsuhiro Suzuki phy-supply = <&vcc_lan>; 303c2753d15SKatsuhiro Suzuki phy-mode = "rgmii"; 304c2753d15SKatsuhiro Suzuki pinctrl-names = "default"; 305c2753d15SKatsuhiro Suzuki pinctrl-0 = <&rgmii_pins>; 306c2753d15SKatsuhiro Suzuki snps,reset-gpio = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>; 307c2753d15SKatsuhiro Suzuki snps,reset-active-low; 308c2753d15SKatsuhiro Suzuki snps,reset-delays-us = <0 10000 50000>; 309c2753d15SKatsuhiro Suzuki tx_delay = <0x28>; 310c2753d15SKatsuhiro Suzuki rx_delay = <0x11>; 311c2753d15SKatsuhiro Suzuki status = "okay"; 312c2753d15SKatsuhiro Suzuki}; 313c2753d15SKatsuhiro Suzuki 314c2753d15SKatsuhiro Suzuki&hdmi { 315c2753d15SKatsuhiro Suzuki ddc-i2c-bus = <&i2c3>; 316c2753d15SKatsuhiro Suzuki pinctrl-names = "default"; 317c2753d15SKatsuhiro Suzuki pinctrl-0 = <&hdmi_cec>; 318c2753d15SKatsuhiro Suzuki status = "okay"; 319c2753d15SKatsuhiro Suzuki}; 320c2753d15SKatsuhiro Suzuki 321c2753d15SKatsuhiro Suzuki&hdmi_sound { 322c2753d15SKatsuhiro Suzuki status = "okay"; 323c2753d15SKatsuhiro Suzuki}; 324c2753d15SKatsuhiro Suzuki 325c2753d15SKatsuhiro Suzuki&gpu { 326c2753d15SKatsuhiro Suzuki mali-supply = <&vdd_gpu>; 327c2753d15SKatsuhiro Suzuki status = "okay"; 328c2753d15SKatsuhiro Suzuki}; 329c2753d15SKatsuhiro Suzuki 330c2753d15SKatsuhiro Suzuki&i2c0 { 331c2753d15SKatsuhiro Suzuki clock-frequency = <400000>; 332c2753d15SKatsuhiro Suzuki i2c-scl-rising-time-ns = <168>; 333c2753d15SKatsuhiro Suzuki i2c-scl-falling-time-ns = <4>; 334c2753d15SKatsuhiro Suzuki status = "okay"; 335c2753d15SKatsuhiro Suzuki 336c2753d15SKatsuhiro Suzuki rk808: pmic@1b { 337c2753d15SKatsuhiro Suzuki compatible = "rockchip,rk808"; 338c2753d15SKatsuhiro Suzuki reg = <0x1b>; 339c2753d15SKatsuhiro Suzuki interrupt-parent = <&gpio3>; 340c2753d15SKatsuhiro Suzuki interrupts = <10 IRQ_TYPE_LEVEL_LOW>; 341c2753d15SKatsuhiro Suzuki #clock-cells = <1>; 342c2753d15SKatsuhiro Suzuki clock-output-names = "xin32k", "rk808-clkout2"; 343c2753d15SKatsuhiro Suzuki pinctrl-names = "default"; 344c2753d15SKatsuhiro Suzuki pinctrl-0 = <&pmic_int_l>; 345c2753d15SKatsuhiro Suzuki rockchip,system-power-controller; 346c2753d15SKatsuhiro Suzuki wakeup-source; 347c2753d15SKatsuhiro Suzuki 348c2753d15SKatsuhiro Suzuki vcc1-supply = <&vcc5v0_sys>; 349c2753d15SKatsuhiro Suzuki vcc2-supply = <&vcc5v0_sys>; 350c2753d15SKatsuhiro Suzuki vcc3-supply = <&vcc5v0_sys>; 351c2753d15SKatsuhiro Suzuki vcc4-supply = <&vcc5v0_sys>; 352c2753d15SKatsuhiro Suzuki vcc6-supply = <&vcc5v0_sys>; 353c2753d15SKatsuhiro Suzuki vcc7-supply = <&vcc5v0_sys>; 354c2753d15SKatsuhiro Suzuki vcc8-supply = <&vcc3v3_sys>; 355c2753d15SKatsuhiro Suzuki vcc9-supply = <&vcc5v0_sys>; 356c2753d15SKatsuhiro Suzuki vcc10-supply = <&vcc5v0_sys>; 357c2753d15SKatsuhiro Suzuki vcc11-supply = <&vcc5v0_sys>; 358c2753d15SKatsuhiro Suzuki vcc12-supply = <&vcc3v3_sys>; 359c2753d15SKatsuhiro Suzuki vddio-supply = <&vcca_1v8>; 360c2753d15SKatsuhiro Suzuki 361c2753d15SKatsuhiro Suzuki regulators { 362c2753d15SKatsuhiro Suzuki vdd_center: DCDC_REG1 { 363c2753d15SKatsuhiro Suzuki regulator-name = "vdd_center"; 364c2753d15SKatsuhiro Suzuki regulator-always-on; 365c2753d15SKatsuhiro Suzuki regulator-boot-on; 366c2753d15SKatsuhiro Suzuki regulator-min-microvolt = <750000>; 367c2753d15SKatsuhiro Suzuki regulator-max-microvolt = <1350000>; 368c2753d15SKatsuhiro Suzuki regulator-ramp-delay = <6001>; 369c2753d15SKatsuhiro Suzuki regulator-state-mem { 370c2753d15SKatsuhiro Suzuki regulator-off-in-suspend; 371c2753d15SKatsuhiro Suzuki }; 372c2753d15SKatsuhiro Suzuki }; 373c2753d15SKatsuhiro Suzuki 374c2753d15SKatsuhiro Suzuki vdd_cpu_l: DCDC_REG2 { 375c2753d15SKatsuhiro Suzuki regulator-name = "vdd_cpu_l"; 376c2753d15SKatsuhiro Suzuki regulator-always-on; 377c2753d15SKatsuhiro Suzuki regulator-boot-on; 378c2753d15SKatsuhiro Suzuki regulator-min-microvolt = <750000>; 379c2753d15SKatsuhiro Suzuki regulator-max-microvolt = <1350000>; 380c2753d15SKatsuhiro Suzuki regulator-ramp-delay = <6001>; 381c2753d15SKatsuhiro Suzuki regulator-state-mem { 382c2753d15SKatsuhiro Suzuki regulator-off-in-suspend; 383c2753d15SKatsuhiro Suzuki }; 384c2753d15SKatsuhiro Suzuki }; 385c2753d15SKatsuhiro Suzuki 386c2753d15SKatsuhiro Suzuki vcc_ddr: DCDC_REG3 { 387c2753d15SKatsuhiro Suzuki regulator-name = "vcc_ddr"; 388c2753d15SKatsuhiro Suzuki regulator-always-on; 389c2753d15SKatsuhiro Suzuki regulator-boot-on; 390c2753d15SKatsuhiro Suzuki regulator-state-mem { 391c2753d15SKatsuhiro Suzuki regulator-on-in-suspend; 392c2753d15SKatsuhiro Suzuki }; 393c2753d15SKatsuhiro Suzuki }; 394c2753d15SKatsuhiro Suzuki 395c2753d15SKatsuhiro Suzuki vcc_1v8: DCDC_REG4 { 396c2753d15SKatsuhiro Suzuki regulator-name = "vcc_1v8"; 397c2753d15SKatsuhiro Suzuki regulator-always-on; 398c2753d15SKatsuhiro Suzuki regulator-boot-on; 399c2753d15SKatsuhiro Suzuki regulator-min-microvolt = <1800000>; 400c2753d15SKatsuhiro Suzuki regulator-max-microvolt = <1800000>; 401c2753d15SKatsuhiro Suzuki regulator-state-mem { 402c2753d15SKatsuhiro Suzuki regulator-on-in-suspend; 403c2753d15SKatsuhiro Suzuki regulator-suspend-microvolt = <1800000>; 404c2753d15SKatsuhiro Suzuki }; 405c2753d15SKatsuhiro Suzuki }; 406c2753d15SKatsuhiro Suzuki 407c2753d15SKatsuhiro Suzuki vcc1v8_dvp: LDO_REG1 { 408c2753d15SKatsuhiro Suzuki regulator-name = "vcc1v8_dvp"; 409c2753d15SKatsuhiro Suzuki regulator-always-on; 410c2753d15SKatsuhiro Suzuki regulator-boot-on; 411c2753d15SKatsuhiro Suzuki regulator-min-microvolt = <1800000>; 412c2753d15SKatsuhiro Suzuki regulator-max-microvolt = <1800000>; 413c2753d15SKatsuhiro Suzuki regulator-state-mem { 414c2753d15SKatsuhiro Suzuki regulator-off-in-suspend; 415c2753d15SKatsuhiro Suzuki }; 416c2753d15SKatsuhiro Suzuki }; 417c2753d15SKatsuhiro Suzuki 418c2753d15SKatsuhiro Suzuki vcc3v0_touch: LDO_REG2 { 419c2753d15SKatsuhiro Suzuki regulator-name = "vcc3v0_touch"; 420c2753d15SKatsuhiro Suzuki regulator-min-microvolt = <3000000>; 421c2753d15SKatsuhiro Suzuki regulator-max-microvolt = <3000000>; 422c2753d15SKatsuhiro Suzuki regulator-state-mem { 423c2753d15SKatsuhiro Suzuki regulator-off-in-suspend; 424c2753d15SKatsuhiro Suzuki }; 425c2753d15SKatsuhiro Suzuki }; 426c2753d15SKatsuhiro Suzuki 427c2753d15SKatsuhiro Suzuki vcca_1v8: LDO_REG3 { 428c2753d15SKatsuhiro Suzuki regulator-name = "vcca_1v8"; 429c2753d15SKatsuhiro Suzuki regulator-always-on; 430c2753d15SKatsuhiro Suzuki regulator-boot-on; 431c2753d15SKatsuhiro Suzuki regulator-min-microvolt = <1800000>; 432c2753d15SKatsuhiro Suzuki regulator-max-microvolt = <1800000>; 433c2753d15SKatsuhiro Suzuki regulator-state-mem { 434c2753d15SKatsuhiro Suzuki regulator-on-in-suspend; 435c2753d15SKatsuhiro Suzuki regulator-suspend-microvolt = <1800000>; 436c2753d15SKatsuhiro Suzuki }; 437c2753d15SKatsuhiro Suzuki }; 438c2753d15SKatsuhiro Suzuki 439c2753d15SKatsuhiro Suzuki vcc_sdio: LDO_REG4 { 440c2753d15SKatsuhiro Suzuki regulator-name = "vcc_sdio"; 441c2753d15SKatsuhiro Suzuki regulator-always-on; 442c2753d15SKatsuhiro Suzuki regulator-boot-on; 443c2753d15SKatsuhiro Suzuki regulator-min-microvolt = <1800000>; 444c2753d15SKatsuhiro Suzuki regulator-max-microvolt = <3000000>; 445c2753d15SKatsuhiro Suzuki regulator-state-mem { 446c2753d15SKatsuhiro Suzuki regulator-on-in-suspend; 447c2753d15SKatsuhiro Suzuki regulator-suspend-microvolt = <3000000>; 448c2753d15SKatsuhiro Suzuki }; 449c2753d15SKatsuhiro Suzuki }; 450c2753d15SKatsuhiro Suzuki 451c2753d15SKatsuhiro Suzuki vcca3v0_codec: LDO_REG5 { 452c2753d15SKatsuhiro Suzuki regulator-name = "vcca3v0_codec"; 453c2753d15SKatsuhiro Suzuki regulator-always-on; 454c2753d15SKatsuhiro Suzuki regulator-boot-on; 455c2753d15SKatsuhiro Suzuki regulator-min-microvolt = <3000000>; 456c2753d15SKatsuhiro Suzuki regulator-max-microvolt = <3000000>; 457c2753d15SKatsuhiro Suzuki regulator-state-mem { 458c2753d15SKatsuhiro Suzuki regulator-off-in-suspend; 459c2753d15SKatsuhiro Suzuki }; 460c2753d15SKatsuhiro Suzuki }; 461c2753d15SKatsuhiro Suzuki 462c2753d15SKatsuhiro Suzuki vcc_1v5: LDO_REG6 { 463c2753d15SKatsuhiro Suzuki regulator-name = "vcc_1v5"; 464c2753d15SKatsuhiro Suzuki regulator-always-on; 465c2753d15SKatsuhiro Suzuki regulator-boot-on; 466c2753d15SKatsuhiro Suzuki regulator-min-microvolt = <1500000>; 467c2753d15SKatsuhiro Suzuki regulator-max-microvolt = <1500000>; 468c2753d15SKatsuhiro Suzuki regulator-state-mem { 469c2753d15SKatsuhiro Suzuki regulator-on-in-suspend; 470c2753d15SKatsuhiro Suzuki regulator-suspend-microvolt = <1500000>; 471c2753d15SKatsuhiro Suzuki }; 472c2753d15SKatsuhiro Suzuki }; 473c2753d15SKatsuhiro Suzuki 474c2753d15SKatsuhiro Suzuki vcca1v8_codec: LDO_REG7 { 475c2753d15SKatsuhiro Suzuki regulator-name = "vcca1v8_codec"; 476c2753d15SKatsuhiro Suzuki regulator-always-on; 477c2753d15SKatsuhiro Suzuki regulator-boot-on; 478c2753d15SKatsuhiro Suzuki regulator-min-microvolt = <1800000>; 479c2753d15SKatsuhiro Suzuki regulator-max-microvolt = <1800000>; 480c2753d15SKatsuhiro Suzuki regulator-state-mem { 481c2753d15SKatsuhiro Suzuki regulator-off-in-suspend; 482c2753d15SKatsuhiro Suzuki }; 483c2753d15SKatsuhiro Suzuki }; 484c2753d15SKatsuhiro Suzuki 485c2753d15SKatsuhiro Suzuki vcc_3v0: LDO_REG8 { 486c2753d15SKatsuhiro Suzuki regulator-name = "vcc_3v0"; 487c2753d15SKatsuhiro Suzuki regulator-always-on; 488c2753d15SKatsuhiro Suzuki regulator-boot-on; 489c2753d15SKatsuhiro Suzuki regulator-min-microvolt = <3000000>; 490c2753d15SKatsuhiro Suzuki regulator-max-microvolt = <3000000>; 491c2753d15SKatsuhiro Suzuki regulator-state-mem { 492c2753d15SKatsuhiro Suzuki regulator-on-in-suspend; 493c2753d15SKatsuhiro Suzuki regulator-suspend-microvolt = <3000000>; 494c2753d15SKatsuhiro Suzuki }; 495c2753d15SKatsuhiro Suzuki }; 496c2753d15SKatsuhiro Suzuki 497c2753d15SKatsuhiro Suzuki vcc3v3_s3: vcc_lan: SWITCH_REG1 { 498c2753d15SKatsuhiro Suzuki regulator-name = "vcc3v3_s3"; 499c2753d15SKatsuhiro Suzuki regulator-always-on; 500c2753d15SKatsuhiro Suzuki regulator-boot-on; 501c2753d15SKatsuhiro Suzuki regulator-state-mem { 502c2753d15SKatsuhiro Suzuki regulator-off-in-suspend; 503c2753d15SKatsuhiro Suzuki }; 504c2753d15SKatsuhiro Suzuki }; 505c2753d15SKatsuhiro Suzuki 506c2753d15SKatsuhiro Suzuki vcc3v3_s0: SWITCH_REG2 { 507c2753d15SKatsuhiro Suzuki regulator-name = "vcc3v3_s0"; 508c2753d15SKatsuhiro Suzuki regulator-state-mem { 509c2753d15SKatsuhiro Suzuki regulator-off-in-suspend; 510c2753d15SKatsuhiro Suzuki }; 511c2753d15SKatsuhiro Suzuki }; 512c2753d15SKatsuhiro Suzuki }; 513c2753d15SKatsuhiro Suzuki }; 514c2753d15SKatsuhiro Suzuki 515c2753d15SKatsuhiro Suzuki vdd_cpu_b: regulator@40 { 516c2753d15SKatsuhiro Suzuki compatible = "silergy,syr827"; 517c2753d15SKatsuhiro Suzuki reg = <0x40>; 518c2753d15SKatsuhiro Suzuki fcs,suspend-voltage-selector = <1>; 519c2753d15SKatsuhiro Suzuki pinctrl-names = "default"; 5202bc65fefSJohan Jonker pinctrl-0 = <&vsel1_pin>; 521c2753d15SKatsuhiro Suzuki regulator-name = "vdd_cpu_b"; 522c2753d15SKatsuhiro Suzuki regulator-min-microvolt = <712500>; 523c2753d15SKatsuhiro Suzuki regulator-max-microvolt = <1500000>; 524c2753d15SKatsuhiro Suzuki regulator-ramp-delay = <1000>; 525c2753d15SKatsuhiro Suzuki regulator-always-on; 526c2753d15SKatsuhiro Suzuki regulator-boot-on; 527c2753d15SKatsuhiro Suzuki vin-supply = <&vcc5v0_sys>; 528c2753d15SKatsuhiro Suzuki 529c2753d15SKatsuhiro Suzuki regulator-state-mem { 530c2753d15SKatsuhiro Suzuki regulator-off-in-suspend; 531c2753d15SKatsuhiro Suzuki }; 532c2753d15SKatsuhiro Suzuki }; 533c2753d15SKatsuhiro Suzuki 534c2753d15SKatsuhiro Suzuki vdd_gpu: regulator@41 { 535c2753d15SKatsuhiro Suzuki compatible = "silergy,syr828"; 536c2753d15SKatsuhiro Suzuki reg = <0x41>; 537c2753d15SKatsuhiro Suzuki fcs,suspend-voltage-selector = <1>; 538c2753d15SKatsuhiro Suzuki pinctrl-names = "default"; 5392bc65fefSJohan Jonker pinctrl-0 = <&vsel2_pin>; 540c2753d15SKatsuhiro Suzuki regulator-name = "vdd_gpu"; 541c2753d15SKatsuhiro Suzuki regulator-min-microvolt = <712500>; 542c2753d15SKatsuhiro Suzuki regulator-max-microvolt = <1500000>; 543c2753d15SKatsuhiro Suzuki regulator-ramp-delay = <1000>; 544c2753d15SKatsuhiro Suzuki regulator-always-on; 545c2753d15SKatsuhiro Suzuki regulator-boot-on; 546c2753d15SKatsuhiro Suzuki vin-supply = <&vcc5v0_sys>; 547c2753d15SKatsuhiro Suzuki 548c2753d15SKatsuhiro Suzuki regulator-state-mem { 549c2753d15SKatsuhiro Suzuki regulator-off-in-suspend; 550c2753d15SKatsuhiro Suzuki }; 551c2753d15SKatsuhiro Suzuki }; 552c2753d15SKatsuhiro Suzuki}; 553c2753d15SKatsuhiro Suzuki 554c2753d15SKatsuhiro Suzuki&i2c1 { 555c2753d15SKatsuhiro Suzuki i2c-scl-rising-time-ns = <300>; 556c2753d15SKatsuhiro Suzuki i2c-scl-falling-time-ns = <15>; 557c2753d15SKatsuhiro Suzuki status = "okay"; 558c2753d15SKatsuhiro Suzuki}; 559c2753d15SKatsuhiro Suzuki 560c2753d15SKatsuhiro Suzuki&i2c3 { 561c2753d15SKatsuhiro Suzuki i2c-scl-rising-time-ns = <450>; 562c2753d15SKatsuhiro Suzuki i2c-scl-falling-time-ns = <15>; 563c2753d15SKatsuhiro Suzuki status = "okay"; 564c2753d15SKatsuhiro Suzuki}; 565c2753d15SKatsuhiro Suzuki 566c2753d15SKatsuhiro Suzuki&i2c4 { 567c2753d15SKatsuhiro Suzuki i2c-scl-rising-time-ns = <600>; 568c2753d15SKatsuhiro Suzuki i2c-scl-falling-time-ns = <20>; 569c2753d15SKatsuhiro Suzuki status = "okay"; 570c2753d15SKatsuhiro Suzuki 571c2753d15SKatsuhiro Suzuki fusb0: typec-portc@22 { 572c2753d15SKatsuhiro Suzuki compatible = "fcs,fusb302"; 573c2753d15SKatsuhiro Suzuki reg = <0x22>; 574c2753d15SKatsuhiro Suzuki interrupt-parent = <&gpio1>; 575c2753d15SKatsuhiro Suzuki interrupts = <RK_PA2 IRQ_TYPE_LEVEL_LOW>; 576c2753d15SKatsuhiro Suzuki pinctrl-names = "default"; 577c2753d15SKatsuhiro Suzuki pinctrl-0 = <&fusb0_int>; 578c2753d15SKatsuhiro Suzuki vbus-supply = <&vcc5v0_typec>; 579c2753d15SKatsuhiro Suzuki status = "okay"; 580c2753d15SKatsuhiro Suzuki }; 581b65155c7SPeter Geis 582b65155c7SPeter Geis /* enable for pine64 touch screen support */ 583b65155c7SPeter Geis touch: touchscreen@5d { 584b65155c7SPeter Geis compatible = "goodix,gt911"; 585b65155c7SPeter Geis reg = <0x5d>; 586b65155c7SPeter Geis interrupt-parent = <&gpio4>; 587b65155c7SPeter Geis interrupts = <RK_PD5 IRQ_TYPE_EDGE_FALLING>; 588b65155c7SPeter Geis AVDD28-supply = <&vcc3v0_touch>; 589b65155c7SPeter Geis VDDIO-supply = <&vcc3v0_touch>; 590b65155c7SPeter Geis irq-gpios = <&gpio4 RK_PD5 GPIO_ACTIVE_HIGH>; 591b65155c7SPeter Geis reset-gpios = <&gpio4 RK_PD6 GPIO_ACTIVE_HIGH>; 592b65155c7SPeter Geis status = "disabled"; 593b65155c7SPeter Geis }; 594c2753d15SKatsuhiro Suzuki}; 595c2753d15SKatsuhiro Suzuki 596c2753d15SKatsuhiro Suzuki&i2s0 { 597c2753d15SKatsuhiro Suzuki rockchip,playback-channels = <8>; 598c2753d15SKatsuhiro Suzuki rockchip,capture-channels = <8>; 599c2753d15SKatsuhiro Suzuki status = "okay"; 600c2753d15SKatsuhiro Suzuki}; 601c2753d15SKatsuhiro Suzuki 602c2753d15SKatsuhiro Suzuki&i2s1 { 603c2753d15SKatsuhiro Suzuki rockchip,playback-channels = <2>; 604c2753d15SKatsuhiro Suzuki rockchip,capture-channels = <2>; 605c2753d15SKatsuhiro Suzuki status = "okay"; 606c2753d15SKatsuhiro Suzuki 607c2753d15SKatsuhiro Suzuki i2s1_p0: port { 608c2753d15SKatsuhiro Suzuki i2s1_p0_0: endpoint { 609c2753d15SKatsuhiro Suzuki dai-format = "i2s"; 610c2753d15SKatsuhiro Suzuki mclk-fs = <256>; 611c2753d15SKatsuhiro Suzuki remote-endpoint = <&es8316_p0_0>; 612c2753d15SKatsuhiro Suzuki }; 613c2753d15SKatsuhiro Suzuki }; 614c2753d15SKatsuhiro Suzuki}; 615c2753d15SKatsuhiro Suzuki 616c2753d15SKatsuhiro Suzuki&i2s2 { 617c2753d15SKatsuhiro Suzuki status = "okay"; 618c2753d15SKatsuhiro Suzuki}; 619c2753d15SKatsuhiro Suzuki 620c2753d15SKatsuhiro Suzuki&io_domains { 621c2753d15SKatsuhiro Suzuki status = "okay"; 622c2753d15SKatsuhiro Suzuki 623c2753d15SKatsuhiro Suzuki bt656-supply = <&vcc1v8_dvp>; 624c2753d15SKatsuhiro Suzuki audio-supply = <&vcc_3v0>; 625c2753d15SKatsuhiro Suzuki sdmmc-supply = <&vcc_sdio>; 626c2753d15SKatsuhiro Suzuki gpio1830-supply = <&vcc_3v0>; 627c2753d15SKatsuhiro Suzuki}; 628c2753d15SKatsuhiro Suzuki 629b65155c7SPeter Geis/* enable for pine64 panel display support */ 630b65155c7SPeter Geis&mipi_dsi { 631b65155c7SPeter Geis clock-master; 632b65155c7SPeter Geis status = "disabled"; 633b65155c7SPeter Geis 634b65155c7SPeter Geis ports { 635b65155c7SPeter Geis mipi_out: port@1 { 636b65155c7SPeter Geis reg = <1>; 637b65155c7SPeter Geis 638b65155c7SPeter Geis mipi_out_panel: endpoint { 639b65155c7SPeter Geis remote-endpoint = <&mipi_in_panel>; 640b65155c7SPeter Geis }; 641b65155c7SPeter Geis }; 642b65155c7SPeter Geis }; 643b65155c7SPeter Geis 644b65155c7SPeter Geis mipi_panel: panel@0 { 645b65155c7SPeter Geis compatible = "feiyang,fy07024di26a30d"; 646b65155c7SPeter Geis reg = <0>; 647b65155c7SPeter Geis avdd-supply = <&avdd>; 648b65155c7SPeter Geis backlight = <&backlight>; 649b65155c7SPeter Geis dvdd-supply = <&vcc3v3_s0>; 650b65155c7SPeter Geis 651*2dd16a23SKrzysztof Kozlowski port { 652b65155c7SPeter Geis mipi_in_panel: endpoint { 653b65155c7SPeter Geis remote-endpoint = <&mipi_out_panel>; 654b65155c7SPeter Geis }; 655b65155c7SPeter Geis }; 656b65155c7SPeter Geis }; 657b65155c7SPeter Geis}; 658b65155c7SPeter Geis 659c2753d15SKatsuhiro Suzuki&pcie0 { 660c2753d15SKatsuhiro Suzuki ep-gpios = <&gpio2 RK_PD4 GPIO_ACTIVE_HIGH>; 661c2753d15SKatsuhiro Suzuki num-lanes = <4>; 662c2753d15SKatsuhiro Suzuki pinctrl-names = "default"; 663c2753d15SKatsuhiro Suzuki pinctrl-0 = <&pcie_perst>; 664c2753d15SKatsuhiro Suzuki vpcie12v-supply = <&vcc12v_dcin>; 665c2753d15SKatsuhiro Suzuki vpcie3v3-supply = <&vcc3v3_pcie>; 666c2753d15SKatsuhiro Suzuki status = "okay"; 667c2753d15SKatsuhiro Suzuki}; 668c2753d15SKatsuhiro Suzuki 669c2753d15SKatsuhiro Suzuki&pcie_phy { 670c2753d15SKatsuhiro Suzuki status = "okay"; 671c2753d15SKatsuhiro Suzuki}; 672c2753d15SKatsuhiro Suzuki 673c2753d15SKatsuhiro Suzuki&pmu_io_domains { 674c2753d15SKatsuhiro Suzuki pmu1830-supply = <&vcc_3v0>; 675c2753d15SKatsuhiro Suzuki status = "okay"; 676c2753d15SKatsuhiro Suzuki}; 677c2753d15SKatsuhiro Suzuki 678c2753d15SKatsuhiro Suzuki&pinctrl { 679e09dabe4SSoeren Moch bt { 680e09dabe4SSoeren Moch bt_enable_h: bt-enable-h { 681e09dabe4SSoeren Moch rockchip,pins = <0 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>; 682e09dabe4SSoeren Moch }; 683e09dabe4SSoeren Moch 684e09dabe4SSoeren Moch bt_host_wake_l: bt-host-wake-l { 685e09dabe4SSoeren Moch rockchip,pins = <0 RK_PA4 RK_FUNC_GPIO &pcfg_pull_down>; 686e09dabe4SSoeren Moch }; 687e09dabe4SSoeren Moch 688e09dabe4SSoeren Moch bt_wake_l: bt-wake-l { 689e09dabe4SSoeren Moch rockchip,pins = <2 RK_PD3 RK_FUNC_GPIO &pcfg_pull_none>; 690e09dabe4SSoeren Moch }; 691e09dabe4SSoeren Moch }; 692e09dabe4SSoeren Moch 693c2753d15SKatsuhiro Suzuki buttons { 694c2753d15SKatsuhiro Suzuki pwrbtn: pwrbtn { 695c2753d15SKatsuhiro Suzuki rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>; 696c2753d15SKatsuhiro Suzuki }; 697c2753d15SKatsuhiro Suzuki }; 698c2753d15SKatsuhiro Suzuki 699c2753d15SKatsuhiro Suzuki fusb302x { 700c2753d15SKatsuhiro Suzuki fusb0_int: fusb0-int { 701c2753d15SKatsuhiro Suzuki rockchip,pins = <1 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up>; 702c2753d15SKatsuhiro Suzuki }; 703c2753d15SKatsuhiro Suzuki }; 704c2753d15SKatsuhiro Suzuki 7057c7f0413SThomas Schneider ir { 7067c7f0413SThomas Schneider ir_int: ir-int { 7077c7f0413SThomas Schneider rockchip,pins = <0 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>; 7087c7f0413SThomas Schneider }; 7097c7f0413SThomas Schneider }; 7107c7f0413SThomas Schneider 711c2753d15SKatsuhiro Suzuki leds { 7126dd5e12cSJohan Jonker work_led_pin: work-led-pin { 713c2753d15SKatsuhiro Suzuki rockchip,pins = <0 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>; 714c2753d15SKatsuhiro Suzuki }; 715c2753d15SKatsuhiro Suzuki 7166dd5e12cSJohan Jonker diy_led_pin: diy-led-pin { 717c2753d15SKatsuhiro Suzuki rockchip,pins = <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>; 718c2753d15SKatsuhiro Suzuki }; 719c2753d15SKatsuhiro Suzuki }; 720c2753d15SKatsuhiro Suzuki 721c2753d15SKatsuhiro Suzuki pcie { 722c2753d15SKatsuhiro Suzuki pcie_perst: pcie-perst { 723c2753d15SKatsuhiro Suzuki rockchip,pins = <2 RK_PD4 RK_FUNC_GPIO &pcfg_pull_none>; 724c2753d15SKatsuhiro Suzuki }; 725c2753d15SKatsuhiro Suzuki 726c2753d15SKatsuhiro Suzuki pcie_pwr_en: pcie-pwr-en { 727c2753d15SKatsuhiro Suzuki rockchip,pins = <1 RK_PD0 RK_FUNC_GPIO &pcfg_pull_none>; 728c2753d15SKatsuhiro Suzuki }; 729c2753d15SKatsuhiro Suzuki }; 730c2753d15SKatsuhiro Suzuki 731c2753d15SKatsuhiro Suzuki pmic { 732c2753d15SKatsuhiro Suzuki pmic_int_l: pmic-int-l { 733c2753d15SKatsuhiro Suzuki rockchip,pins = <3 RK_PB2 RK_FUNC_GPIO &pcfg_pull_up>; 734c2753d15SKatsuhiro Suzuki }; 735c2753d15SKatsuhiro Suzuki 7362bc65fefSJohan Jonker vsel1_pin: vsel1-pin { 737c2753d15SKatsuhiro Suzuki rockchip,pins = <1 RK_PC1 RK_FUNC_GPIO &pcfg_pull_down>; 738c2753d15SKatsuhiro Suzuki }; 739c2753d15SKatsuhiro Suzuki 7402bc65fefSJohan Jonker vsel2_pin: vsel2-pin { 741c2753d15SKatsuhiro Suzuki rockchip,pins = <1 RK_PB6 RK_FUNC_GPIO &pcfg_pull_down>; 742c2753d15SKatsuhiro Suzuki }; 743c2753d15SKatsuhiro Suzuki }; 744c2753d15SKatsuhiro Suzuki 7451f5a3e16STobias Schramm sdcard { 7461f5a3e16STobias Schramm sdmmc0_pwr_h: sdmmc0-pwr-h { 7471f5a3e16STobias Schramm rockchip,pins = <0 RK_PA1 RK_FUNC_GPIO &pcfg_pull_none>; 7481f5a3e16STobias Schramm }; 7491f5a3e16STobias Schramm 7501f5a3e16STobias Schramm }; 7511f5a3e16STobias Schramm 752c2753d15SKatsuhiro Suzuki sdio-pwrseq { 753c2753d15SKatsuhiro Suzuki wifi_enable_h: wifi-enable-h { 754c2753d15SKatsuhiro Suzuki rockchip,pins = <0 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>; 755c2753d15SKatsuhiro Suzuki }; 756c2753d15SKatsuhiro Suzuki }; 757c2753d15SKatsuhiro Suzuki 758c2753d15SKatsuhiro Suzuki usb-typec { 759c2753d15SKatsuhiro Suzuki vcc5v0_typec_en: vcc5v0_typec_en { 760c2753d15SKatsuhiro Suzuki rockchip,pins = <1 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>; 761c2753d15SKatsuhiro Suzuki }; 762c2753d15SKatsuhiro Suzuki }; 763c2753d15SKatsuhiro Suzuki 764c2753d15SKatsuhiro Suzuki usb2 { 765c2753d15SKatsuhiro Suzuki vcc5v0_host_en: vcc5v0-host-en { 766c2753d15SKatsuhiro Suzuki rockchip,pins = <4 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>; 767c2753d15SKatsuhiro Suzuki }; 768c2753d15SKatsuhiro Suzuki }; 769c2753d15SKatsuhiro Suzuki}; 770c2753d15SKatsuhiro Suzuki 771c2753d15SKatsuhiro Suzuki&pwm0 { 772c2753d15SKatsuhiro Suzuki status = "okay"; 773c2753d15SKatsuhiro Suzuki}; 774c2753d15SKatsuhiro Suzuki 775c2753d15SKatsuhiro Suzuki&pwm1 { 776c2753d15SKatsuhiro Suzuki status = "okay"; 777c2753d15SKatsuhiro Suzuki}; 778c2753d15SKatsuhiro Suzuki 779c2753d15SKatsuhiro Suzuki&pwm2 { 780c2753d15SKatsuhiro Suzuki status = "okay"; 781c2753d15SKatsuhiro Suzuki}; 782c2753d15SKatsuhiro Suzuki 783c2753d15SKatsuhiro Suzuki&saradc { 784c2753d15SKatsuhiro Suzuki vref-supply = <&vcca1v8_s3>; 785c2753d15SKatsuhiro Suzuki status = "okay"; 786c2753d15SKatsuhiro Suzuki}; 787c2753d15SKatsuhiro Suzuki 7887c5b6bfbSSoeren Moch&sdio0 { 7897c5b6bfbSSoeren Moch bus-width = <4>; 7907c5b6bfbSSoeren Moch cap-sd-highspeed; 7917c5b6bfbSSoeren Moch cap-sdio-irq; 7927c5b6bfbSSoeren Moch disable-wp; 7937c5b6bfbSSoeren Moch keep-power-in-suspend; 7947c5b6bfbSSoeren Moch mmc-pwrseq = <&sdio_pwrseq>; 7957c5b6bfbSSoeren Moch non-removable; 7967c5b6bfbSSoeren Moch pinctrl-names = "default"; 7977c5b6bfbSSoeren Moch pinctrl-0 = <&sdio0_bus4 &sdio0_cmd &sdio0_clk>; 7987c5b6bfbSSoeren Moch sd-uhs-sdr104; 7997c5b6bfbSSoeren Moch status = "okay"; 8007c5b6bfbSSoeren Moch}; 8017c5b6bfbSSoeren Moch 802c2753d15SKatsuhiro Suzuki&sdmmc { 803c2753d15SKatsuhiro Suzuki bus-width = <4>; 804c2753d15SKatsuhiro Suzuki cap-sd-highspeed; 805c2753d15SKatsuhiro Suzuki cd-gpios = <&gpio0 7 GPIO_ACTIVE_LOW>; 806c2753d15SKatsuhiro Suzuki disable-wp; 807c2753d15SKatsuhiro Suzuki max-frequency = <150000000>; 808c2753d15SKatsuhiro Suzuki pinctrl-names = "default"; 809c2753d15SKatsuhiro Suzuki pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_bus4>; 8101f5a3e16STobias Schramm vmmc-supply = <&vcc3v0_sd>; 8111f5a3e16STobias Schramm vqmmc-supply = <&vcc_sdio>; 812c2753d15SKatsuhiro Suzuki status = "okay"; 813c2753d15SKatsuhiro Suzuki}; 814c2753d15SKatsuhiro Suzuki 815c2753d15SKatsuhiro Suzuki&sdhci { 816c2753d15SKatsuhiro Suzuki bus-width = <8>; 817c2753d15SKatsuhiro Suzuki mmc-hs200-1_8v; 818c2753d15SKatsuhiro Suzuki non-removable; 819c2753d15SKatsuhiro Suzuki status = "okay"; 820c2753d15SKatsuhiro Suzuki}; 821c2753d15SKatsuhiro Suzuki 8227f02feb5SKatsuhiro Suzuki&spdif { 8237f02feb5SKatsuhiro Suzuki pinctrl-0 = <&spdif_bus_1>; 8247f02feb5SKatsuhiro Suzuki 8257f02feb5SKatsuhiro Suzuki spdif_p0: port { 8267f02feb5SKatsuhiro Suzuki spdif_p0_0: endpoint { 8277f02feb5SKatsuhiro Suzuki remote-endpoint = <&dit_p0_0>; 8287f02feb5SKatsuhiro Suzuki }; 8297f02feb5SKatsuhiro Suzuki }; 8307f02feb5SKatsuhiro Suzuki}; 8317f02feb5SKatsuhiro Suzuki 832c2753d15SKatsuhiro Suzuki&spi1 { 833c2753d15SKatsuhiro Suzuki status = "okay"; 834c2753d15SKatsuhiro Suzuki 835c2753d15SKatsuhiro Suzuki flash@0 { 836c2753d15SKatsuhiro Suzuki compatible = "jedec,spi-nor"; 837c2753d15SKatsuhiro Suzuki reg = <0>; 838c2753d15SKatsuhiro Suzuki spi-max-frequency = <10000000>; 839c2753d15SKatsuhiro Suzuki }; 840c2753d15SKatsuhiro Suzuki}; 841c2753d15SKatsuhiro Suzuki 842c2753d15SKatsuhiro Suzuki&tcphy0 { 843c2753d15SKatsuhiro Suzuki status = "okay"; 844c2753d15SKatsuhiro Suzuki}; 845c2753d15SKatsuhiro Suzuki 846c2753d15SKatsuhiro Suzuki&tcphy1 { 847c2753d15SKatsuhiro Suzuki status = "okay"; 848c2753d15SKatsuhiro Suzuki}; 849c2753d15SKatsuhiro Suzuki 850c2753d15SKatsuhiro Suzuki&tsadc { 851c2753d15SKatsuhiro Suzuki /* tshut mode 0:CRU 1:GPIO */ 852c2753d15SKatsuhiro Suzuki rockchip,hw-tshut-mode = <1>; 853c2753d15SKatsuhiro Suzuki /* tshut polarity 0:LOW 1:HIGH */ 854c2753d15SKatsuhiro Suzuki rockchip,hw-tshut-polarity = <1>; 855c2753d15SKatsuhiro Suzuki status = "okay"; 856c2753d15SKatsuhiro Suzuki}; 857c2753d15SKatsuhiro Suzuki 858c2753d15SKatsuhiro Suzuki&u2phy0 { 859c2753d15SKatsuhiro Suzuki status = "okay"; 860c2753d15SKatsuhiro Suzuki 861c2753d15SKatsuhiro Suzuki u2phy0_otg: otg-port { 862c2753d15SKatsuhiro Suzuki status = "okay"; 863c2753d15SKatsuhiro Suzuki }; 864c2753d15SKatsuhiro Suzuki 865c2753d15SKatsuhiro Suzuki u2phy0_host: host-port { 866c2753d15SKatsuhiro Suzuki phy-supply = <&vcc5v0_host>; 867c2753d15SKatsuhiro Suzuki status = "okay"; 868c2753d15SKatsuhiro Suzuki }; 869c2753d15SKatsuhiro Suzuki}; 870c2753d15SKatsuhiro Suzuki 871c2753d15SKatsuhiro Suzuki&u2phy1 { 872c2753d15SKatsuhiro Suzuki status = "okay"; 873c2753d15SKatsuhiro Suzuki 874c2753d15SKatsuhiro Suzuki u2phy1_otg: otg-port { 875c2753d15SKatsuhiro Suzuki status = "okay"; 876c2753d15SKatsuhiro Suzuki }; 877c2753d15SKatsuhiro Suzuki 878c2753d15SKatsuhiro Suzuki u2phy1_host: host-port { 879c2753d15SKatsuhiro Suzuki phy-supply = <&vcc5v0_host>; 880c2753d15SKatsuhiro Suzuki status = "okay"; 881c2753d15SKatsuhiro Suzuki }; 882c2753d15SKatsuhiro Suzuki}; 883c2753d15SKatsuhiro Suzuki 884c2753d15SKatsuhiro Suzuki&uart0 { 885c2753d15SKatsuhiro Suzuki pinctrl-names = "default"; 886e09dabe4SSoeren Moch pinctrl-0 = <&uart0_xfer &uart0_cts &uart0_rts>; 887c2753d15SKatsuhiro Suzuki status = "okay"; 888e09dabe4SSoeren Moch 889e09dabe4SSoeren Moch bluetooth { 890e09dabe4SSoeren Moch compatible = "brcm,bcm43438-bt"; 891e09dabe4SSoeren Moch clocks = <&rk808 1>; 892e09dabe4SSoeren Moch clock-names = "lpo"; 893e09dabe4SSoeren Moch device-wakeup-gpios = <&gpio2 RK_PD3 GPIO_ACTIVE_HIGH>; 894e09dabe4SSoeren Moch host-wakeup-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_HIGH>; 895e09dabe4SSoeren Moch shutdown-gpios = <&gpio0 RK_PB1 GPIO_ACTIVE_HIGH>; 896e09dabe4SSoeren Moch pinctrl-names = "default"; 897e09dabe4SSoeren Moch pinctrl-0 = <&bt_host_wake_l &bt_wake_l &bt_enable_h>; 898e09dabe4SSoeren Moch vbat-supply = <&vcc3v3_sys>; 899e09dabe4SSoeren Moch vddio-supply = <&vcc_1v8>; 900e09dabe4SSoeren Moch }; 901c2753d15SKatsuhiro Suzuki}; 902c2753d15SKatsuhiro Suzuki 903c2753d15SKatsuhiro Suzuki&uart2 { 904c2753d15SKatsuhiro Suzuki status = "okay"; 905c2753d15SKatsuhiro Suzuki}; 906c2753d15SKatsuhiro Suzuki 907c2753d15SKatsuhiro Suzuki&usb_host0_ehci { 908c2753d15SKatsuhiro Suzuki status = "okay"; 909c2753d15SKatsuhiro Suzuki}; 910c2753d15SKatsuhiro Suzuki 911c2753d15SKatsuhiro Suzuki&usb_host0_ohci { 912c2753d15SKatsuhiro Suzuki status = "okay"; 913c2753d15SKatsuhiro Suzuki}; 914c2753d15SKatsuhiro Suzuki 915c2753d15SKatsuhiro Suzuki&usb_host1_ehci { 916c2753d15SKatsuhiro Suzuki status = "okay"; 917c2753d15SKatsuhiro Suzuki}; 918c2753d15SKatsuhiro Suzuki 919c2753d15SKatsuhiro Suzuki&usb_host1_ohci { 920c2753d15SKatsuhiro Suzuki status = "okay"; 921c2753d15SKatsuhiro Suzuki}; 922c2753d15SKatsuhiro Suzuki 923c2753d15SKatsuhiro Suzuki&usbdrd3_0 { 924c2753d15SKatsuhiro Suzuki status = "okay"; 925c2753d15SKatsuhiro Suzuki}; 926c2753d15SKatsuhiro Suzuki 927c2753d15SKatsuhiro Suzuki&usbdrd_dwc3_0 { 928c2753d15SKatsuhiro Suzuki status = "okay"; 92975152d66SPeter Geis dr_mode = "host"; 930c2753d15SKatsuhiro Suzuki}; 931c2753d15SKatsuhiro Suzuki 932c2753d15SKatsuhiro Suzuki&usbdrd3_1 { 933c2753d15SKatsuhiro Suzuki status = "okay"; 934c2753d15SKatsuhiro Suzuki}; 935c2753d15SKatsuhiro Suzuki 936c2753d15SKatsuhiro Suzuki&usbdrd_dwc3_1 { 937c2753d15SKatsuhiro Suzuki status = "okay"; 938c2753d15SKatsuhiro Suzuki dr_mode = "host"; 939c2753d15SKatsuhiro Suzuki}; 940c2753d15SKatsuhiro Suzuki 941c2753d15SKatsuhiro Suzuki&vopb { 942c2753d15SKatsuhiro Suzuki status = "okay"; 943c2753d15SKatsuhiro Suzuki}; 944c2753d15SKatsuhiro Suzuki 945c2753d15SKatsuhiro Suzuki&vopb_mmu { 946c2753d15SKatsuhiro Suzuki status = "okay"; 947c2753d15SKatsuhiro Suzuki}; 948c2753d15SKatsuhiro Suzuki 949c2753d15SKatsuhiro Suzuki&vopl { 950c2753d15SKatsuhiro Suzuki status = "okay"; 951c2753d15SKatsuhiro Suzuki}; 952c2753d15SKatsuhiro Suzuki 953c2753d15SKatsuhiro Suzuki&vopl_mmu { 954c2753d15SKatsuhiro Suzuki status = "okay"; 955c2753d15SKatsuhiro Suzuki}; 956