14ee99cebSKlaus Goger// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2171582e0SKever Yang/* 3171582e0SKever Yang * Copyright (c) 2017 Fuzhou Rockchip Electronics Co., Ltd. 4171582e0SKever Yang */ 5171582e0SKever Yang 6171582e0SKever Yang/dts-v1/; 724e5b85aSShohei Maruyama#include <dt-bindings/input/linux-event-codes.h> 8c043dee9SKrzysztof Kozlowski#include <dt-bindings/interrupt-controller/irq.h> 9171582e0SKever Yang#include <dt-bindings/pwm/pwm.h> 10a406bfdaSPeter Robinson#include <dt-bindings/usb/pd.h> 11171582e0SKever Yang#include "rk3399.dtsi" 12bc911f25SJianqun Xu#include "rk3399-opp.dtsi" 13171582e0SKever Yang 14171582e0SKever Yang/ { 15171582e0SKever Yang model = "Firefly-RK3399 Board"; 16171582e0SKever Yang compatible = "firefly,firefly-rk3399", "rockchip,rk3399"; 17171582e0SKever Yang 185dcbe7e3SHeiko Stuebner aliases { 195dcbe7e3SHeiko Stuebner mmc0 = &sdio0; 205dcbe7e3SHeiko Stuebner mmc1 = &sdmmc; 215dcbe7e3SHeiko Stuebner mmc2 = &sdhci; 225dcbe7e3SHeiko Stuebner }; 235dcbe7e3SHeiko Stuebner 24689f2d85SHeinrich Schuchardt chosen { 25689f2d85SHeinrich Schuchardt stdout-path = "serial2:1500000n8"; 26689f2d85SHeinrich Schuchardt }; 27689f2d85SHeinrich Schuchardt 28171582e0SKever Yang backlight: backlight { 29171582e0SKever Yang compatible = "pwm-backlight"; 30171582e0SKever Yang enable-gpios = <&gpio1 RK_PB5 GPIO_ACTIVE_HIGH>; 31171582e0SKever Yang pwms = <&pwm0 0 25000 0>; 32171582e0SKever Yang brightness-levels = < 33171582e0SKever Yang 0 1 2 3 4 5 6 7 34171582e0SKever Yang 8 9 10 11 12 13 14 15 35171582e0SKever Yang 16 17 18 19 20 21 22 23 36171582e0SKever Yang 24 25 26 27 28 29 30 31 37171582e0SKever Yang 32 33 34 35 36 37 38 39 38171582e0SKever Yang 40 41 42 43 44 45 46 47 39171582e0SKever Yang 48 49 50 51 52 53 54 55 40171582e0SKever Yang 56 57 58 59 60 61 62 63 41171582e0SKever Yang 64 65 66 67 68 69 70 71 42171582e0SKever Yang 72 73 74 75 76 77 78 79 43171582e0SKever Yang 80 81 82 83 84 85 86 87 44171582e0SKever Yang 88 89 90 91 92 93 94 95 45171582e0SKever Yang 96 97 98 99 100 101 102 103 46171582e0SKever Yang 104 105 106 107 108 109 110 111 47171582e0SKever Yang 112 113 114 115 116 117 118 119 48171582e0SKever Yang 120 121 122 123 124 125 126 127 49171582e0SKever Yang 128 129 130 131 132 133 134 135 50171582e0SKever Yang 136 137 138 139 140 141 142 143 51171582e0SKever Yang 144 145 146 147 148 149 150 151 52171582e0SKever Yang 152 153 154 155 156 157 158 159 53171582e0SKever Yang 160 161 162 163 164 165 166 167 54171582e0SKever Yang 168 169 170 171 172 173 174 175 55171582e0SKever Yang 176 177 178 179 180 181 182 183 56171582e0SKever Yang 184 185 186 187 188 189 190 191 57171582e0SKever Yang 192 193 194 195 196 197 198 199 58171582e0SKever Yang 200 201 202 203 204 205 206 207 59171582e0SKever Yang 208 209 210 211 212 213 214 215 60171582e0SKever Yang 216 217 218 219 220 221 222 223 61171582e0SKever Yang 224 225 226 227 228 229 230 231 62171582e0SKever Yang 232 233 234 235 236 237 238 239 63171582e0SKever Yang 240 241 242 243 244 245 246 247 64171582e0SKever Yang 248 249 250 251 252 253 254 255>; 65171582e0SKever Yang default-brightness-level = <200>; 66171582e0SKever Yang }; 67171582e0SKever Yang 68171582e0SKever Yang clkin_gmac: external-gmac-clock { 69171582e0SKever Yang compatible = "fixed-clock"; 70171582e0SKever Yang clock-frequency = <125000000>; 71171582e0SKever Yang clock-output-names = "clkin_gmac"; 72171582e0SKever Yang #clock-cells = <0>; 73171582e0SKever Yang }; 74171582e0SKever Yang 7512335ebaSHeiko Stuebner dc_12v: dc-12v { 7612335ebaSHeiko Stuebner compatible = "regulator-fixed"; 7712335ebaSHeiko Stuebner regulator-name = "dc_12v"; 7812335ebaSHeiko Stuebner regulator-always-on; 7912335ebaSHeiko Stuebner regulator-boot-on; 8012335ebaSHeiko Stuebner regulator-min-microvolt = <12000000>; 8112335ebaSHeiko Stuebner regulator-max-microvolt = <12000000>; 8212335ebaSHeiko Stuebner }; 8312335ebaSHeiko Stuebner 8424e5b85aSShohei Maruyama gpio-keys { 8524e5b85aSShohei Maruyama compatible = "gpio-keys"; 8624e5b85aSShohei Maruyama autorepeat; 8724e5b85aSShohei Maruyama pinctrl-names = "default"; 8824e5b85aSShohei Maruyama pinctrl-0 = <&pwrbtn>; 8924e5b85aSShohei Maruyama 90*517ed0ffSKrzysztof Kozlowski key-power { 9124e5b85aSShohei Maruyama debounce-interval = <100>; 9224e5b85aSShohei Maruyama gpios = <&gpio0 RK_PA5 GPIO_ACTIVE_LOW>; 9324e5b85aSShohei Maruyama label = "GPIO Key Power"; 9424e5b85aSShohei Maruyama linux,code = <KEY_POWER>; 9524e5b85aSShohei Maruyama wakeup-source; 9624e5b85aSShohei Maruyama }; 9724e5b85aSShohei Maruyama }; 9824e5b85aSShohei Maruyama 994fab8e36SPeter Robinson ir-receiver { 1004fab8e36SPeter Robinson compatible = "gpio-ir-receiver"; 1014fab8e36SPeter Robinson gpios = <&gpio0 RK_PA6 GPIO_ACTIVE_LOW>; 1024fab8e36SPeter Robinson pinctrl-0 = <&ir_int>; 1034fab8e36SPeter Robinson pinctrl-names = "default"; 1044fab8e36SPeter Robinson }; 1054fab8e36SPeter Robinson 1060fbfe10fSShohei Maruyama leds { 1070fbfe10fSShohei Maruyama compatible = "gpio-leds"; 1080fbfe10fSShohei Maruyama pinctrl-names = "default"; 109e916d85bSJohan Jonker pinctrl-0 = <&work_led_pin>, <&diy_led_pin>; 1100fbfe10fSShohei Maruyama 111e916d85bSJohan Jonker work_led: led-0 { 1120fbfe10fSShohei Maruyama label = "work"; 1130fbfe10fSShohei Maruyama default-state = "on"; 1140fbfe10fSShohei Maruyama gpios = <&gpio2 RK_PD3 GPIO_ACTIVE_HIGH>; 1150fbfe10fSShohei Maruyama }; 1160fbfe10fSShohei Maruyama 117e916d85bSJohan Jonker diy_led: led-1 { 1180fbfe10fSShohei Maruyama label = "diy"; 1190fbfe10fSShohei Maruyama default-state = "off"; 1200fbfe10fSShohei Maruyama gpios = <&gpio0 RK_PB5 GPIO_ACTIVE_HIGH>; 1210fbfe10fSShohei Maruyama }; 1220fbfe10fSShohei Maruyama }; 1230fbfe10fSShohei Maruyama 124171582e0SKever Yang rt5640-sound { 125171582e0SKever Yang compatible = "simple-audio-card"; 126171582e0SKever Yang simple-audio-card,name = "rockchip,rt5640-codec"; 127171582e0SKever Yang simple-audio-card,format = "i2s"; 128171582e0SKever Yang simple-audio-card,mclk-fs = <256>; 129171582e0SKever Yang simple-audio-card,widgets = 130171582e0SKever Yang "Microphone", "Mic Jack", 131171582e0SKever Yang "Headphone", "Headphone Jack"; 132171582e0SKever Yang simple-audio-card,routing = 133171582e0SKever Yang "Mic Jack", "MICBIAS1", 134171582e0SKever Yang "IN1P", "Mic Jack", 135171582e0SKever Yang "Headphone Jack", "HPOL", 136171582e0SKever Yang "Headphone Jack", "HPOR"; 137171582e0SKever Yang 138171582e0SKever Yang simple-audio-card,cpu { 139171582e0SKever Yang sound-dai = <&i2s1>; 140171582e0SKever Yang }; 141171582e0SKever Yang 142171582e0SKever Yang simple-audio-card,codec { 143171582e0SKever Yang sound-dai = <&rt5640>; 144171582e0SKever Yang }; 145171582e0SKever Yang }; 146171582e0SKever Yang 147171582e0SKever Yang sdio_pwrseq: sdio-pwrseq { 148171582e0SKever Yang compatible = "mmc-pwrseq-simple"; 149171582e0SKever Yang clocks = <&rk808 1>; 150171582e0SKever Yang clock-names = "ext_clock"; 151171582e0SKever Yang pinctrl-names = "default"; 152171582e0SKever Yang pinctrl-0 = <&wifi_enable_h>; 153171582e0SKever Yang 154171582e0SKever Yang /* 155171582e0SKever Yang * On the module itself this is one of these (depending 156171582e0SKever Yang * on the actual card populated): 157171582e0SKever Yang * - SDIO_RESET_L_WL_REG_ON 158171582e0SKever Yang * - PDN (power down when low) 159171582e0SKever Yang */ 160171582e0SKever Yang reset-gpios = <&gpio0 RK_PB2 GPIO_ACTIVE_LOW>; 161171582e0SKever Yang }; 162171582e0SKever Yang 163ba2401abSPeter Robinson sound-dit { 164ba2401abSPeter Robinson compatible = "audio-graph-card"; 165ba2401abSPeter Robinson label = "SPDIF"; 166ba2401abSPeter Robinson dais = <&spdif_p0>; 167ba2401abSPeter Robinson }; 168ba2401abSPeter Robinson 169ba2401abSPeter Robinson spdif-dit { 170ba2401abSPeter Robinson compatible = "linux,spdif-dit"; 171ba2401abSPeter Robinson #sound-dai-cells = <0>; 172ba2401abSPeter Robinson 173ba2401abSPeter Robinson port { 174ba2401abSPeter Robinson dit_p0_0: endpoint { 175ba2401abSPeter Robinson remote-endpoint = <&spdif_p0_0>; 176ba2401abSPeter Robinson }; 177ba2401abSPeter Robinson }; 178ba2401abSPeter Robinson }; 179ba2401abSPeter Robinson 18012335ebaSHeiko Stuebner /* switched by pmic_sleep */ 18112335ebaSHeiko Stuebner vcc1v8_s3: vcca1v8_s3: vcc1v8-s3 { 18212335ebaSHeiko Stuebner compatible = "regulator-fixed"; 18312335ebaSHeiko Stuebner regulator-name = "vcc1v8_s3"; 18412335ebaSHeiko Stuebner regulator-always-on; 18512335ebaSHeiko Stuebner regulator-boot-on; 18612335ebaSHeiko Stuebner regulator-min-microvolt = <1800000>; 18712335ebaSHeiko Stuebner regulator-max-microvolt = <1800000>; 18812335ebaSHeiko Stuebner vin-supply = <&vcc_1v8>; 18912335ebaSHeiko Stuebner }; 19012335ebaSHeiko Stuebner 191171582e0SKever Yang vcc3v3_pcie: vcc3v3-pcie-regulator { 192171582e0SKever Yang compatible = "regulator-fixed"; 193171582e0SKever Yang enable-active-high; 194171582e0SKever Yang gpio = <&gpio1 RK_PC1 GPIO_ACTIVE_HIGH>; 195171582e0SKever Yang pinctrl-names = "default"; 19612335ebaSHeiko Stuebner pinctrl-0 = <&pcie_pwr_en>; 197171582e0SKever Yang regulator-name = "vcc3v3_pcie"; 198171582e0SKever Yang regulator-always-on; 199171582e0SKever Yang regulator-boot-on; 20012335ebaSHeiko Stuebner vin-supply = <&dc_12v>; 201171582e0SKever Yang }; 202171582e0SKever Yang 203171582e0SKever Yang vcc3v3_sys: vcc3v3-sys { 204171582e0SKever Yang compatible = "regulator-fixed"; 205171582e0SKever Yang regulator-name = "vcc3v3_sys"; 206171582e0SKever Yang regulator-always-on; 207171582e0SKever Yang regulator-boot-on; 208171582e0SKever Yang regulator-min-microvolt = <3300000>; 209171582e0SKever Yang regulator-max-microvolt = <3300000>; 21012335ebaSHeiko Stuebner vin-supply = <&vcc_sys>; 211171582e0SKever Yang }; 212171582e0SKever Yang 21312335ebaSHeiko Stuebner /* Actually 3 regulators (host0, 1, 2) controlled by the same gpio */ 214171582e0SKever Yang vcc5v0_host: vcc5v0-host-regulator { 215171582e0SKever Yang compatible = "regulator-fixed"; 216171582e0SKever Yang enable-active-high; 217171582e0SKever Yang gpio = <&gpio1 RK_PA0 GPIO_ACTIVE_HIGH>; 218171582e0SKever Yang pinctrl-names = "default"; 21912335ebaSHeiko Stuebner pinctrl-0 = <&vcc5v0_host_en>; 220171582e0SKever Yang regulator-name = "vcc5v0_host"; 221171582e0SKever Yang regulator-always-on; 22212335ebaSHeiko Stuebner vin-supply = <&vcc_sys>; 223171582e0SKever Yang }; 224171582e0SKever Yang 225a406bfdaSPeter Robinson vcc5v0_typec: vcc5v0-typec-regulator { 226a406bfdaSPeter Robinson compatible = "regulator-fixed"; 227a406bfdaSPeter Robinson enable-active-high; 228a406bfdaSPeter Robinson gpio = <&gpio1 RK_PA3 GPIO_ACTIVE_HIGH>; 229a406bfdaSPeter Robinson pinctrl-names = "default"; 230a406bfdaSPeter Robinson pinctrl-0 = <&vcc5v0_typec_en>; 231a406bfdaSPeter Robinson regulator-name = "vcc5v0_typec"; 232a406bfdaSPeter Robinson regulator-always-on; 233a406bfdaSPeter Robinson vin-supply = <&vcc_sys>; 234a406bfdaSPeter Robinson }; 235a406bfdaSPeter Robinson 23612335ebaSHeiko Stuebner vcc_sys: vcc-sys { 237171582e0SKever Yang compatible = "regulator-fixed"; 23812335ebaSHeiko Stuebner regulator-name = "vcc_sys"; 239171582e0SKever Yang regulator-always-on; 240171582e0SKever Yang regulator-boot-on; 241171582e0SKever Yang regulator-min-microvolt = <5000000>; 242171582e0SKever Yang regulator-max-microvolt = <5000000>; 24312335ebaSHeiko Stuebner vin-supply = <&dc_12v>; 244171582e0SKever Yang }; 245171582e0SKever Yang 246171582e0SKever Yang vdd_log: vdd-log { 247171582e0SKever Yang compatible = "pwm-regulator"; 248171582e0SKever Yang pwms = <&pwm2 0 25000 1>; 249dc570e8eSHeiko Stuebner pwm-supply = <&vcc_sys>; 250171582e0SKever Yang regulator-name = "vdd_log"; 251171582e0SKever Yang regulator-always-on; 252171582e0SKever Yang regulator-boot-on; 25388c5a235SKever Yang regulator-min-microvolt = <430000>; 254171582e0SKever Yang regulator-max-microvolt = <1400000>; 255171582e0SKever Yang }; 256171582e0SKever Yang}; 257171582e0SKever Yang 258171582e0SKever Yang&cpu_l0 { 259171582e0SKever Yang cpu-supply = <&vdd_cpu_l>; 260171582e0SKever Yang}; 261171582e0SKever Yang 262171582e0SKever Yang&cpu_l1 { 263171582e0SKever Yang cpu-supply = <&vdd_cpu_l>; 264171582e0SKever Yang}; 265171582e0SKever Yang 266171582e0SKever Yang&cpu_l2 { 267171582e0SKever Yang cpu-supply = <&vdd_cpu_l>; 268171582e0SKever Yang}; 269171582e0SKever Yang 270171582e0SKever Yang&cpu_l3 { 271171582e0SKever Yang cpu-supply = <&vdd_cpu_l>; 272171582e0SKever Yang}; 273171582e0SKever Yang 274171582e0SKever Yang&cpu_b0 { 275171582e0SKever Yang cpu-supply = <&vdd_cpu_b>; 276171582e0SKever Yang}; 277171582e0SKever Yang 278171582e0SKever Yang&cpu_b1 { 279171582e0SKever Yang cpu-supply = <&vdd_cpu_b>; 280171582e0SKever Yang}; 281171582e0SKever Yang 282171582e0SKever Yang&emmc_phy { 283171582e0SKever Yang status = "okay"; 284171582e0SKever Yang}; 285171582e0SKever Yang 286171582e0SKever Yang&gmac { 287171582e0SKever Yang assigned-clocks = <&cru SCLK_RMII_SRC>; 288171582e0SKever Yang assigned-clock-parents = <&clkin_gmac>; 289171582e0SKever Yang clock_in_out = "input"; 29012335ebaSHeiko Stuebner phy-supply = <&vcc_lan>; 291171582e0SKever Yang phy-mode = "rgmii"; 292171582e0SKever Yang pinctrl-names = "default"; 293171582e0SKever Yang pinctrl-0 = <&rgmii_pins>; 294171582e0SKever Yang snps,reset-gpio = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>; 295171582e0SKever Yang snps,reset-active-low; 296171582e0SKever Yang snps,reset-delays-us = <0 10000 50000>; 297171582e0SKever Yang tx_delay = <0x28>; 298171582e0SKever Yang rx_delay = <0x11>; 299171582e0SKever Yang status = "okay"; 300171582e0SKever Yang}; 301171582e0SKever Yang 3020601fbedSMichael Saunders&gpu { 3030601fbedSMichael Saunders mali-supply = <&vdd_gpu>; 3040601fbedSMichael Saunders status = "okay"; 3050601fbedSMichael Saunders}; 3060601fbedSMichael Saunders 30748f192cfSHeiko Stuebner&hdmi { 30848f192cfSHeiko Stuebner ddc-i2c-bus = <&i2c3>; 309d8543899SPierre-Hugues Husson pinctrl-names = "default"; 310d8543899SPierre-Hugues Husson pinctrl-0 = <&hdmi_cec>; 31148f192cfSHeiko Stuebner status = "okay"; 31248f192cfSHeiko Stuebner}; 31348f192cfSHeiko Stuebner 314171582e0SKever Yang&i2c0 { 315171582e0SKever Yang clock-frequency = <400000>; 316171582e0SKever Yang i2c-scl-rising-time-ns = <168>; 317171582e0SKever Yang i2c-scl-falling-time-ns = <4>; 318171582e0SKever Yang status = "okay"; 319171582e0SKever Yang 320171582e0SKever Yang rk808: pmic@1b { 321171582e0SKever Yang compatible = "rockchip,rk808"; 322171582e0SKever Yang reg = <0x1b>; 323171582e0SKever Yang interrupt-parent = <&gpio1>; 324171582e0SKever Yang interrupts = <21 IRQ_TYPE_LEVEL_LOW>; 325171582e0SKever Yang #clock-cells = <1>; 326171582e0SKever Yang clock-output-names = "xin32k", "rk808-clkout2"; 327171582e0SKever Yang pinctrl-names = "default"; 328171582e0SKever Yang pinctrl-0 = <&pmic_int_l>; 329171582e0SKever Yang rockchip,system-power-controller; 330171582e0SKever Yang wakeup-source; 331171582e0SKever Yang 33212335ebaSHeiko Stuebner vcc1-supply = <&vcc_sys>; 33312335ebaSHeiko Stuebner vcc2-supply = <&vcc_sys>; 33412335ebaSHeiko Stuebner vcc3-supply = <&vcc_sys>; 33512335ebaSHeiko Stuebner vcc4-supply = <&vcc_sys>; 33612335ebaSHeiko Stuebner vcc6-supply = <&vcc_sys>; 33712335ebaSHeiko Stuebner vcc7-supply = <&vcc_sys>; 338171582e0SKever Yang vcc8-supply = <&vcc3v3_sys>; 33912335ebaSHeiko Stuebner vcc9-supply = <&vcc_sys>; 34012335ebaSHeiko Stuebner vcc10-supply = <&vcc_sys>; 34112335ebaSHeiko Stuebner vcc11-supply = <&vcc_sys>; 342171582e0SKever Yang vcc12-supply = <&vcc3v3_sys>; 343171582e0SKever Yang vddio-supply = <&vcc1v8_pmu>; 344171582e0SKever Yang 345171582e0SKever Yang regulators { 346171582e0SKever Yang vdd_center: DCDC_REG1 { 347171582e0SKever Yang regulator-name = "vdd_center"; 348171582e0SKever Yang regulator-always-on; 349171582e0SKever Yang regulator-boot-on; 350171582e0SKever Yang regulator-min-microvolt = <750000>; 351171582e0SKever Yang regulator-max-microvolt = <1350000>; 352171582e0SKever Yang regulator-ramp-delay = <6001>; 353171582e0SKever Yang regulator-state-mem { 354171582e0SKever Yang regulator-off-in-suspend; 355171582e0SKever Yang }; 356171582e0SKever Yang }; 357171582e0SKever Yang 358171582e0SKever Yang vdd_cpu_l: DCDC_REG2 { 359171582e0SKever Yang regulator-name = "vdd_cpu_l"; 360171582e0SKever Yang regulator-always-on; 361171582e0SKever Yang regulator-boot-on; 362171582e0SKever Yang regulator-min-microvolt = <750000>; 363171582e0SKever Yang regulator-max-microvolt = <1350000>; 364171582e0SKever Yang regulator-ramp-delay = <6001>; 365171582e0SKever Yang regulator-state-mem { 366171582e0SKever Yang regulator-off-in-suspend; 367171582e0SKever Yang }; 368171582e0SKever Yang }; 369171582e0SKever Yang 370171582e0SKever Yang vcc_ddr: DCDC_REG3 { 371171582e0SKever Yang regulator-name = "vcc_ddr"; 372171582e0SKever Yang regulator-always-on; 373171582e0SKever Yang regulator-boot-on; 374171582e0SKever Yang regulator-state-mem { 375171582e0SKever Yang regulator-on-in-suspend; 376171582e0SKever Yang }; 377171582e0SKever Yang }; 378171582e0SKever Yang 379171582e0SKever Yang vcc_1v8: DCDC_REG4 { 380171582e0SKever Yang regulator-name = "vcc_1v8"; 381171582e0SKever Yang regulator-always-on; 382171582e0SKever Yang regulator-boot-on; 383171582e0SKever Yang regulator-min-microvolt = <1800000>; 384171582e0SKever Yang regulator-max-microvolt = <1800000>; 385171582e0SKever Yang regulator-state-mem { 386171582e0SKever Yang regulator-on-in-suspend; 387171582e0SKever Yang regulator-suspend-microvolt = <1800000>; 388171582e0SKever Yang }; 389171582e0SKever Yang }; 390171582e0SKever Yang 391171582e0SKever Yang vcc1v8_dvp: LDO_REG1 { 392171582e0SKever Yang regulator-name = "vcc1v8_dvp"; 393171582e0SKever Yang regulator-always-on; 394171582e0SKever Yang regulator-boot-on; 395171582e0SKever Yang regulator-min-microvolt = <1800000>; 396171582e0SKever Yang regulator-max-microvolt = <1800000>; 397171582e0SKever Yang regulator-state-mem { 398171582e0SKever Yang regulator-off-in-suspend; 399171582e0SKever Yang }; 400171582e0SKever Yang }; 401171582e0SKever Yang 40212335ebaSHeiko Stuebner vcc2v8_dvp: LDO_REG2 { 40312335ebaSHeiko Stuebner regulator-name = "vcc2v8_dvp"; 404171582e0SKever Yang regulator-always-on; 405171582e0SKever Yang regulator-boot-on; 40612335ebaSHeiko Stuebner regulator-min-microvolt = <2800000>; 40712335ebaSHeiko Stuebner regulator-max-microvolt = <2800000>; 408171582e0SKever Yang regulator-state-mem { 409171582e0SKever Yang regulator-off-in-suspend; 410171582e0SKever Yang }; 411171582e0SKever Yang }; 412171582e0SKever Yang 413171582e0SKever Yang vcc1v8_pmu: LDO_REG3 { 414171582e0SKever Yang regulator-name = "vcc1v8_pmu"; 415171582e0SKever Yang regulator-always-on; 416171582e0SKever Yang regulator-boot-on; 417171582e0SKever Yang regulator-min-microvolt = <1800000>; 418171582e0SKever Yang regulator-max-microvolt = <1800000>; 419171582e0SKever Yang regulator-state-mem { 420171582e0SKever Yang regulator-on-in-suspend; 421171582e0SKever Yang regulator-suspend-microvolt = <1800000>; 422171582e0SKever Yang }; 423171582e0SKever Yang }; 424171582e0SKever Yang 42512335ebaSHeiko Stuebner vcc_sdio: LDO_REG4 { 42612335ebaSHeiko Stuebner regulator-name = "vcc_sdio"; 427171582e0SKever Yang regulator-always-on; 428171582e0SKever Yang regulator-boot-on; 429171582e0SKever Yang regulator-min-microvolt = <1800000>; 430b31ce304SShawn Lin regulator-max-microvolt = <3000000>; 431171582e0SKever Yang regulator-state-mem { 432171582e0SKever Yang regulator-on-in-suspend; 433b31ce304SShawn Lin regulator-suspend-microvolt = <3000000>; 434171582e0SKever Yang }; 435171582e0SKever Yang }; 436171582e0SKever Yang 437171582e0SKever Yang vcca3v0_codec: LDO_REG5 { 438171582e0SKever Yang regulator-name = "vcca3v0_codec"; 439171582e0SKever Yang regulator-always-on; 440171582e0SKever Yang regulator-boot-on; 441171582e0SKever Yang regulator-min-microvolt = <3000000>; 442171582e0SKever Yang regulator-max-microvolt = <3000000>; 443171582e0SKever Yang regulator-state-mem { 444171582e0SKever Yang regulator-off-in-suspend; 445171582e0SKever Yang }; 446171582e0SKever Yang }; 447171582e0SKever Yang 448171582e0SKever Yang vcc_1v5: LDO_REG6 { 449171582e0SKever Yang regulator-name = "vcc_1v5"; 450171582e0SKever Yang regulator-always-on; 451171582e0SKever Yang regulator-boot-on; 452171582e0SKever Yang regulator-min-microvolt = <1500000>; 453171582e0SKever Yang regulator-max-microvolt = <1500000>; 454171582e0SKever Yang regulator-state-mem { 455171582e0SKever Yang regulator-on-in-suspend; 456171582e0SKever Yang regulator-suspend-microvolt = <1500000>; 457171582e0SKever Yang }; 458171582e0SKever Yang }; 459171582e0SKever Yang 460171582e0SKever Yang vcca1v8_codec: LDO_REG7 { 461171582e0SKever Yang regulator-name = "vcca1v8_codec"; 462171582e0SKever Yang regulator-always-on; 463171582e0SKever Yang regulator-boot-on; 464171582e0SKever Yang regulator-min-microvolt = <1800000>; 465171582e0SKever Yang regulator-max-microvolt = <1800000>; 466171582e0SKever Yang regulator-state-mem { 467171582e0SKever Yang regulator-off-in-suspend; 468171582e0SKever Yang }; 469171582e0SKever Yang }; 470171582e0SKever Yang 471171582e0SKever Yang vcc_3v0: LDO_REG8 { 472171582e0SKever Yang regulator-name = "vcc_3v0"; 473171582e0SKever Yang regulator-always-on; 474171582e0SKever Yang regulator-boot-on; 475171582e0SKever Yang regulator-min-microvolt = <3000000>; 476171582e0SKever Yang regulator-max-microvolt = <3000000>; 477171582e0SKever Yang regulator-state-mem { 478171582e0SKever Yang regulator-on-in-suspend; 479171582e0SKever Yang regulator-suspend-microvolt = <3000000>; 480171582e0SKever Yang }; 481171582e0SKever Yang }; 482171582e0SKever Yang 48312335ebaSHeiko Stuebner vcc3v3_s3: vcc_lan: SWITCH_REG1 { 484171582e0SKever Yang regulator-name = "vcc3v3_s3"; 485171582e0SKever Yang regulator-always-on; 486171582e0SKever Yang regulator-boot-on; 487171582e0SKever Yang regulator-state-mem { 488171582e0SKever Yang regulator-off-in-suspend; 489171582e0SKever Yang }; 490171582e0SKever Yang }; 491171582e0SKever Yang 492171582e0SKever Yang vcc3v3_s0: SWITCH_REG2 { 493171582e0SKever Yang regulator-name = "vcc3v3_s0"; 494171582e0SKever Yang regulator-always-on; 495171582e0SKever Yang regulator-boot-on; 496171582e0SKever Yang regulator-state-mem { 497171582e0SKever Yang regulator-off-in-suspend; 498171582e0SKever Yang }; 499171582e0SKever Yang }; 500171582e0SKever Yang }; 501171582e0SKever Yang }; 502171582e0SKever Yang 503171582e0SKever Yang vdd_cpu_b: regulator@40 { 504171582e0SKever Yang compatible = "silergy,syr827"; 505171582e0SKever Yang reg = <0x40>; 506171582e0SKever Yang fcs,suspend-voltage-selector = <0>; 507171582e0SKever Yang regulator-name = "vdd_cpu_b"; 508171582e0SKever Yang regulator-min-microvolt = <712500>; 509171582e0SKever Yang regulator-max-microvolt = <1500000>; 510171582e0SKever Yang regulator-ramp-delay = <1000>; 511171582e0SKever Yang regulator-always-on; 512171582e0SKever Yang regulator-boot-on; 51312335ebaSHeiko Stuebner vin-supply = <&vcc_sys>; 514171582e0SKever Yang 515171582e0SKever Yang regulator-state-mem { 516171582e0SKever Yang regulator-off-in-suspend; 517171582e0SKever Yang }; 518171582e0SKever Yang }; 519171582e0SKever Yang 520171582e0SKever Yang vdd_gpu: regulator@41 { 521171582e0SKever Yang compatible = "silergy,syr828"; 522171582e0SKever Yang reg = <0x41>; 523171582e0SKever Yang fcs,suspend-voltage-selector = <1>; 524171582e0SKever Yang regulator-name = "vdd_gpu"; 525171582e0SKever Yang regulator-min-microvolt = <712500>; 526171582e0SKever Yang regulator-max-microvolt = <1500000>; 527171582e0SKever Yang regulator-ramp-delay = <1000>; 528171582e0SKever Yang regulator-always-on; 529171582e0SKever Yang regulator-boot-on; 53012335ebaSHeiko Stuebner vin-supply = <&vcc_sys>; 531171582e0SKever Yang 532171582e0SKever Yang regulator-state-mem { 533171582e0SKever Yang regulator-off-in-suspend; 534171582e0SKever Yang }; 535171582e0SKever Yang }; 536171582e0SKever Yang}; 537171582e0SKever Yang 538171582e0SKever Yang&i2c1 { 539171582e0SKever Yang i2c-scl-rising-time-ns = <300>; 540171582e0SKever Yang i2c-scl-falling-time-ns = <15>; 541171582e0SKever Yang status = "okay"; 542171582e0SKever Yang 543171582e0SKever Yang rt5640: rt5640@1c { 544171582e0SKever Yang compatible = "realtek,rt5640"; 545171582e0SKever Yang reg = <0x1c>; 546171582e0SKever Yang clocks = <&cru SCLK_I2S_8CH_OUT>; 547171582e0SKever Yang clock-names = "mclk"; 548171582e0SKever Yang realtek,in1-differential; 549171582e0SKever Yang #sound-dai-cells = <0>; 550171582e0SKever Yang pinctrl-names = "default"; 551171582e0SKever Yang pinctrl-0 = <&rt5640_hpcon>; 552171582e0SKever Yang }; 553171582e0SKever Yang}; 554171582e0SKever Yang 555171582e0SKever Yang&i2c3 { 556171582e0SKever Yang i2c-scl-rising-time-ns = <450>; 557171582e0SKever Yang i2c-scl-falling-time-ns = <15>; 558171582e0SKever Yang status = "okay"; 559171582e0SKever Yang}; 560171582e0SKever Yang 561171582e0SKever Yang&i2c4 { 562171582e0SKever Yang i2c-scl-rising-time-ns = <600>; 563171582e0SKever Yang i2c-scl-falling-time-ns = <20>; 564171582e0SKever Yang status = "okay"; 565171582e0SKever Yang 566a406bfdaSPeter Robinson fusb0: typec-portc@22 { 567a406bfdaSPeter Robinson compatible = "fcs,fusb302"; 568a406bfdaSPeter Robinson reg = <0x22>; 569a406bfdaSPeter Robinson interrupt-parent = <&gpio1>; 570a406bfdaSPeter Robinson interrupts = <RK_PA2 IRQ_TYPE_LEVEL_LOW>; 571a406bfdaSPeter Robinson pinctrl-names = "default"; 572a406bfdaSPeter Robinson pinctrl-0 = <&fusb0_int>; 573a406bfdaSPeter Robinson vbus-supply = <&vcc5v0_typec>; 574a406bfdaSPeter Robinson status = "okay"; 575a406bfdaSPeter Robinson 576a406bfdaSPeter Robinson connector { 577a406bfdaSPeter Robinson compatible = "usb-c-connector"; 578a406bfdaSPeter Robinson data-role = "host"; 579a406bfdaSPeter Robinson label = "USB-C"; 580a406bfdaSPeter Robinson op-sink-microwatt = <1000000>; 581a406bfdaSPeter Robinson power-role = "dual"; 582a406bfdaSPeter Robinson sink-pdos = 583a406bfdaSPeter Robinson <PDO_FIXED(5000, 2500, PDO_FIXED_USB_COMM)>; 584a406bfdaSPeter Robinson source-pdos = 585a406bfdaSPeter Robinson <PDO_FIXED(5000, 1400, PDO_FIXED_USB_COMM)>; 586a406bfdaSPeter Robinson try-power-role = "sink"; 587a406bfdaSPeter Robinson 588a406bfdaSPeter Robinson ports { 589a406bfdaSPeter Robinson #address-cells = <1>; 590a406bfdaSPeter Robinson #size-cells = <0>; 591a406bfdaSPeter Robinson 592a406bfdaSPeter Robinson port@0 { 593a406bfdaSPeter Robinson reg = <0>; 594a406bfdaSPeter Robinson 595a406bfdaSPeter Robinson usbc_hs: endpoint { 596a406bfdaSPeter Robinson remote-endpoint = 597a406bfdaSPeter Robinson <&u2phy0_typec_hs>; 598a406bfdaSPeter Robinson }; 599a406bfdaSPeter Robinson }; 600a406bfdaSPeter Robinson 601a406bfdaSPeter Robinson port@1 { 602a406bfdaSPeter Robinson reg = <1>; 603a406bfdaSPeter Robinson 604a406bfdaSPeter Robinson usbc_ss: endpoint { 605a406bfdaSPeter Robinson remote-endpoint = 606a406bfdaSPeter Robinson <&tcphy0_typec_ss>; 607a406bfdaSPeter Robinson }; 608a406bfdaSPeter Robinson }; 609a406bfdaSPeter Robinson }; 610a406bfdaSPeter Robinson }; 611a406bfdaSPeter Robinson }; 612a406bfdaSPeter Robinson 613171582e0SKever Yang accelerometer@68 { 614171582e0SKever Yang compatible = "invensense,mpu6500"; 615171582e0SKever Yang reg = <0x68>; 616171582e0SKever Yang interrupt-parent = <&gpio1>; 617171582e0SKever Yang interrupts = <RK_PC6 IRQ_TYPE_EDGE_RISING>; 618171582e0SKever Yang }; 619171582e0SKever Yang}; 620171582e0SKever Yang 621171582e0SKever Yang&i2s0 { 622171582e0SKever Yang rockchip,playback-channels = <8>; 623171582e0SKever Yang rockchip,capture-channels = <8>; 624171582e0SKever Yang status = "okay"; 625171582e0SKever Yang}; 626171582e0SKever Yang 627171582e0SKever Yang&i2s1 { 628171582e0SKever Yang rockchip,playback-channels = <2>; 629171582e0SKever Yang rockchip,capture-channels = <2>; 630171582e0SKever Yang status = "okay"; 631171582e0SKever Yang}; 632171582e0SKever Yang 633171582e0SKever Yang&i2s2 { 634171582e0SKever Yang status = "okay"; 635171582e0SKever Yang}; 636171582e0SKever Yang 637171582e0SKever Yang&io_domains { 638171582e0SKever Yang status = "okay"; 639171582e0SKever Yang 640171582e0SKever Yang bt656-supply = <&vcc1v8_dvp>; 641171582e0SKever Yang audio-supply = <&vcca1v8_codec>; 64212335ebaSHeiko Stuebner sdmmc-supply = <&vcc_sdio>; 643171582e0SKever Yang gpio1830-supply = <&vcc_3v0>; 644171582e0SKever Yang}; 645171582e0SKever Yang 646171582e0SKever Yang&pcie_phy { 647171582e0SKever Yang status = "okay"; 648171582e0SKever Yang}; 649171582e0SKever Yang 650171582e0SKever Yang&pcie0 { 651171582e0SKever Yang ep-gpios = <&gpio4 RK_PD1 GPIO_ACTIVE_HIGH>; 652171582e0SKever Yang num-lanes = <4>; 653171582e0SKever Yang pinctrl-names = "default"; 65475ea96deSShawn Lin pinctrl-0 = <&pcie_clkreqn_cpm>; 655171582e0SKever Yang status = "okay"; 656171582e0SKever Yang}; 657171582e0SKever Yang 658171582e0SKever Yang&pmu_io_domains { 659171582e0SKever Yang pmu1830-supply = <&vcc_3v0>; 660171582e0SKever Yang status = "okay"; 661171582e0SKever Yang}; 662171582e0SKever Yang 663171582e0SKever Yang&pinctrl { 664171582e0SKever Yang buttons { 665171582e0SKever Yang pwrbtn: pwrbtn { 666171582e0SKever Yang rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>; 667171582e0SKever Yang }; 668171582e0SKever Yang }; 669171582e0SKever Yang 670a406bfdaSPeter Robinson fusb302x { 671a406bfdaSPeter Robinson fusb0_int: fusb0-int { 672a406bfdaSPeter Robinson rockchip,pins = <1 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up>; 673a406bfdaSPeter Robinson }; 674a406bfdaSPeter Robinson }; 675a406bfdaSPeter Robinson 6764fab8e36SPeter Robinson ir { 6774fab8e36SPeter Robinson ir_int: ir-int { 6784fab8e36SPeter Robinson rockchip,pins = <0 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>; 6794fab8e36SPeter Robinson }; 6804fab8e36SPeter Robinson }; 6814fab8e36SPeter Robinson 682171582e0SKever Yang lcd-panel { 683171582e0SKever Yang lcd_panel_reset: lcd-panel-reset { 684171582e0SKever Yang rockchip,pins = <4 RK_PD6 RK_FUNC_GPIO &pcfg_pull_up>; 685171582e0SKever Yang }; 686171582e0SKever Yang }; 687171582e0SKever Yang 6885768c5ffSPeter Robinson leds { 6895768c5ffSPeter Robinson work_led_pin: work-led-pin { 6905768c5ffSPeter Robinson rockchip,pins = <2 RK_PD3 RK_FUNC_GPIO &pcfg_pull_none>; 6915768c5ffSPeter Robinson }; 6925768c5ffSPeter Robinson 6935768c5ffSPeter Robinson diy_led_pin: diy-led-pin { 6945768c5ffSPeter Robinson rockchip,pins = <0 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>; 6955768c5ffSPeter Robinson }; 6965768c5ffSPeter Robinson }; 6975768c5ffSPeter Robinson 698171582e0SKever Yang pcie { 69912335ebaSHeiko Stuebner pcie_pwr_en: pcie-pwr-en { 700171582e0SKever Yang rockchip,pins = <1 RK_PC1 RK_FUNC_GPIO &pcfg_pull_none>; 701171582e0SKever Yang }; 702171582e0SKever Yang 703171582e0SKever Yang pcie_3g_drv: pcie-3g-drv { 704171582e0SKever Yang rockchip,pins = <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up>; 705171582e0SKever Yang }; 706171582e0SKever Yang }; 707171582e0SKever Yang 708171582e0SKever Yang pmic { 7095768c5ffSPeter Robinson pmic_int_l: pmic-int-l { 7105768c5ffSPeter Robinson rockchip,pins = <1 RK_PC5 RK_FUNC_GPIO &pcfg_pull_up>; 7115768c5ffSPeter Robinson }; 7125768c5ffSPeter Robinson 7132bc65fefSJohan Jonker vsel1_pin: vsel1-pin { 714171582e0SKever Yang rockchip,pins = <1 RK_PC2 RK_FUNC_GPIO &pcfg_pull_down>; 715171582e0SKever Yang }; 716171582e0SKever Yang 7172bc65fefSJohan Jonker vsel2_pin: vsel2-pin { 718171582e0SKever Yang rockchip,pins = <1 RK_PB6 RK_FUNC_GPIO &pcfg_pull_down>; 719171582e0SKever Yang }; 720171582e0SKever Yang }; 721171582e0SKever Yang 722171582e0SKever Yang rt5640 { 723171582e0SKever Yang rt5640_hpcon: rt5640-hpcon { 724171582e0SKever Yang rockchip,pins = <4 RK_PC5 RK_FUNC_GPIO &pcfg_pull_none>; 725171582e0SKever Yang }; 726171582e0SKever Yang }; 727171582e0SKever Yang 7285768c5ffSPeter Robinson sdio-pwrseq { 7295768c5ffSPeter Robinson wifi_enable_h: wifi-enable-h { 7305768c5ffSPeter Robinson rockchip,pins = <0 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>; 731171582e0SKever Yang }; 732171582e0SKever Yang }; 733171582e0SKever Yang 734a406bfdaSPeter Robinson usb-typec { 735a406bfdaSPeter Robinson vcc5v0_typec_en: vcc5v0_typec_en { 736a406bfdaSPeter Robinson rockchip,pins = <1 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>; 737a406bfdaSPeter Robinson }; 738a406bfdaSPeter Robinson }; 739a406bfdaSPeter Robinson 740171582e0SKever Yang usb2 { 74112335ebaSHeiko Stuebner vcc5v0_host_en: vcc5v0-host-en { 742171582e0SKever Yang rockchip,pins = <1 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>; 743171582e0SKever Yang }; 744171582e0SKever Yang }; 7450fbfe10fSShohei Maruyama 746a5002c41SShohei Maruyama wifi { 747a5002c41SShohei Maruyama wifi_host_wake_l: wifi-host-wake-l { 748a5002c41SShohei Maruyama rockchip,pins = <0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_none>; 749a5002c41SShohei Maruyama }; 750a5002c41SShohei Maruyama }; 751171582e0SKever Yang}; 752171582e0SKever Yang 753171582e0SKever Yang&pwm0 { 754171582e0SKever Yang status = "okay"; 755171582e0SKever Yang}; 756171582e0SKever Yang 757171582e0SKever Yang&pwm2 { 758171582e0SKever Yang status = "okay"; 759171582e0SKever Yang}; 760171582e0SKever Yang 761171582e0SKever Yang&saradc { 76212335ebaSHeiko Stuebner vref-supply = <&vcca1v8_s3>; 763171582e0SKever Yang status = "okay"; 764171582e0SKever Yang}; 765171582e0SKever Yang 766a5002c41SShohei Maruyama&sdio0 { 767a5002c41SShohei Maruyama /* WiFi & BT combo module Ampak AP6356S */ 768a5002c41SShohei Maruyama bus-width = <4>; 769a5002c41SShohei Maruyama cap-sdio-irq; 770a5002c41SShohei Maruyama cap-sd-highspeed; 771a5002c41SShohei Maruyama keep-power-in-suspend; 772a5002c41SShohei Maruyama mmc-pwrseq = <&sdio_pwrseq>; 773a5002c41SShohei Maruyama non-removable; 774a5002c41SShohei Maruyama pinctrl-names = "default"; 775a5002c41SShohei Maruyama pinctrl-0 = <&sdio0_bus4 &sdio0_cmd &sdio0_clk>; 776a5002c41SShohei Maruyama sd-uhs-sdr104; 777a5002c41SShohei Maruyama 778a5002c41SShohei Maruyama /* Power supply */ 77937cbd3c5SRob Herring vqmmc-supply = <&vcc1v8_s3>; /* IO line */ 78037cbd3c5SRob Herring vmmc-supply = <&vcc_sdio>; /* card's power */ 781a5002c41SShohei Maruyama 78296ff264bSJohan Jonker #address-cells = <1>; 78396ff264bSJohan Jonker #size-cells = <0>; 784a5002c41SShohei Maruyama status = "okay"; 785a5002c41SShohei Maruyama 786a5002c41SShohei Maruyama brcmf: wifi@1 { 78796ff264bSJohan Jonker reg = <1>; 788a5002c41SShohei Maruyama compatible = "brcm,bcm4329-fmac"; 789a5002c41SShohei Maruyama interrupt-parent = <&gpio0>; 790c043dee9SKrzysztof Kozlowski interrupts = <RK_PA3 IRQ_TYPE_LEVEL_HIGH>; 791a5002c41SShohei Maruyama interrupt-names = "host-wake"; 792a5002c41SShohei Maruyama brcm,drive-strength = <5>; 793a5002c41SShohei Maruyama pinctrl-names = "default"; 794a5002c41SShohei Maruyama pinctrl-0 = <&wifi_host_wake_l>; 795a5002c41SShohei Maruyama }; 796a5002c41SShohei Maruyama}; 797a5002c41SShohei Maruyama 798687ef7f2SShawn Lin&sdmmc { 799687ef7f2SShawn Lin bus-width = <4>; 800687ef7f2SShawn Lin cap-mmc-highspeed; 801687ef7f2SShawn Lin cap-sd-highspeed; 802687ef7f2SShawn Lin cd-gpios = <&gpio0 7 GPIO_ACTIVE_LOW>; 803687ef7f2SShawn Lin disable-wp; 804687ef7f2SShawn Lin max-frequency = <150000000>; 805687ef7f2SShawn Lin pinctrl-names = "default"; 806687ef7f2SShawn Lin pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_bus4>; 807687ef7f2SShawn Lin status = "okay"; 808687ef7f2SShawn Lin}; 809687ef7f2SShawn Lin 810171582e0SKever Yang&sdhci { 811171582e0SKever Yang bus-width = <8>; 812171582e0SKever Yang mmc-hs400-1_8v; 813171582e0SKever Yang mmc-hs400-enhanced-strobe; 814171582e0SKever Yang non-removable; 815171582e0SKever Yang status = "okay"; 816171582e0SKever Yang}; 817171582e0SKever Yang 818ba2401abSPeter Robinson&spdif { 819ba2401abSPeter Robinson pinctrl-0 = <&spdif_bus_1>; 820ba2401abSPeter Robinson status = "okay"; 821ba2401abSPeter Robinson 822ba2401abSPeter Robinson spdif_p0: port { 823ba2401abSPeter Robinson spdif_p0_0: endpoint { 824ba2401abSPeter Robinson remote-endpoint = <&dit_p0_0>; 825ba2401abSPeter Robinson }; 826ba2401abSPeter Robinson }; 827ba2401abSPeter Robinson}; 828ba2401abSPeter Robinson 8291438c1d2SEnric Balletbo i Serra&tcphy0 { 8301438c1d2SEnric Balletbo i Serra status = "okay"; 8311438c1d2SEnric Balletbo i Serra}; 8321438c1d2SEnric Balletbo i Serra 833a406bfdaSPeter Robinson&tcphy0_usb3 { 834a406bfdaSPeter Robinson port { 835a406bfdaSPeter Robinson tcphy0_typec_ss: endpoint { 836a406bfdaSPeter Robinson remote-endpoint = <&usbc_ss>; 837a406bfdaSPeter Robinson }; 838a406bfdaSPeter Robinson }; 839a406bfdaSPeter Robinson}; 840a406bfdaSPeter Robinson 8411438c1d2SEnric Balletbo i Serra&tcphy1 { 8421438c1d2SEnric Balletbo i Serra status = "okay"; 8431438c1d2SEnric Balletbo i Serra}; 8441438c1d2SEnric Balletbo i Serra 845171582e0SKever Yang&tsadc { 846171582e0SKever Yang /* tshut mode 0:CRU 1:GPIO */ 847171582e0SKever Yang rockchip,hw-tshut-mode = <1>; 848171582e0SKever Yang /* tshut polarity 0:LOW 1:HIGH */ 849171582e0SKever Yang rockchip,hw-tshut-polarity = <1>; 850171582e0SKever Yang status = "okay"; 851171582e0SKever Yang}; 852171582e0SKever Yang 853171582e0SKever Yang&u2phy0 { 854171582e0SKever Yang status = "okay"; 855171582e0SKever Yang 856171582e0SKever Yang u2phy0_otg: otg-port { 857171582e0SKever Yang status = "okay"; 858171582e0SKever Yang }; 859171582e0SKever Yang 860171582e0SKever Yang u2phy0_host: host-port { 861171582e0SKever Yang phy-supply = <&vcc5v0_host>; 862171582e0SKever Yang status = "okay"; 863171582e0SKever Yang }; 864a406bfdaSPeter Robinson 865a406bfdaSPeter Robinson port { 866a406bfdaSPeter Robinson u2phy0_typec_hs: endpoint { 867a406bfdaSPeter Robinson remote-endpoint = <&usbc_hs>; 868a406bfdaSPeter Robinson }; 869a406bfdaSPeter Robinson }; 870171582e0SKever Yang}; 871171582e0SKever Yang 872171582e0SKever Yang&u2phy1 { 873171582e0SKever Yang status = "okay"; 874171582e0SKever Yang 875171582e0SKever Yang u2phy1_otg: otg-port { 876171582e0SKever Yang status = "okay"; 877171582e0SKever Yang }; 878171582e0SKever Yang 879171582e0SKever Yang u2phy1_host: host-port { 880171582e0SKever Yang phy-supply = <&vcc5v0_host>; 881171582e0SKever Yang status = "okay"; 882171582e0SKever Yang }; 883171582e0SKever Yang}; 884171582e0SKever Yang 885171582e0SKever Yang&uart0 { 886171582e0SKever Yang pinctrl-names = "default"; 887171582e0SKever Yang pinctrl-0 = <&uart0_xfer &uart0_cts>; 888171582e0SKever Yang status = "okay"; 889171582e0SKever Yang}; 890171582e0SKever Yang 891171582e0SKever Yang&uart2 { 892171582e0SKever Yang status = "okay"; 893171582e0SKever Yang}; 894171582e0SKever Yang 895171582e0SKever Yang&usb_host0_ehci { 896171582e0SKever Yang status = "okay"; 897171582e0SKever Yang}; 898171582e0SKever Yang 899171582e0SKever Yang&usb_host0_ohci { 900171582e0SKever Yang status = "okay"; 901171582e0SKever Yang}; 902171582e0SKever Yang 903171582e0SKever Yang&usb_host1_ehci { 904171582e0SKever Yang status = "okay"; 905171582e0SKever Yang}; 906171582e0SKever Yang 907171582e0SKever Yang&usb_host1_ohci { 908171582e0SKever Yang status = "okay"; 909171582e0SKever Yang}; 9107152ea7dSHeiko Stuebner 9117152ea7dSHeiko Stuebner&usbdrd3_0 { 9127152ea7dSHeiko Stuebner status = "okay"; 9137152ea7dSHeiko Stuebner}; 9147152ea7dSHeiko Stuebner 9157152ea7dSHeiko Stuebner&usbdrd_dwc3_0 { 9167152ea7dSHeiko Stuebner status = "okay"; 9177152ea7dSHeiko Stuebner dr_mode = "otg"; 9187152ea7dSHeiko Stuebner}; 9197152ea7dSHeiko Stuebner 9207152ea7dSHeiko Stuebner&usbdrd3_1 { 9217152ea7dSHeiko Stuebner status = "okay"; 9227152ea7dSHeiko Stuebner}; 9237152ea7dSHeiko Stuebner 9247152ea7dSHeiko Stuebner&usbdrd_dwc3_1 { 9257152ea7dSHeiko Stuebner status = "okay"; 9267152ea7dSHeiko Stuebner dr_mode = "host"; 9277152ea7dSHeiko Stuebner}; 92848f192cfSHeiko Stuebner 92948f192cfSHeiko Stuebner&vopb { 93048f192cfSHeiko Stuebner status = "okay"; 93148f192cfSHeiko Stuebner}; 93248f192cfSHeiko Stuebner 93348f192cfSHeiko Stuebner&vopb_mmu { 93448f192cfSHeiko Stuebner status = "okay"; 93548f192cfSHeiko Stuebner}; 93648f192cfSHeiko Stuebner 93748f192cfSHeiko Stuebner&vopl { 93848f192cfSHeiko Stuebner status = "okay"; 93948f192cfSHeiko Stuebner}; 94048f192cfSHeiko Stuebner 94148f192cfSHeiko Stuebner&vopl_mmu { 94248f192cfSHeiko Stuebner status = "okay"; 94348f192cfSHeiko Stuebner}; 944