1904f9832SAndy Yan// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2904f9832SAndy Yan/* 3904f9832SAndy Yan * Copyright (c) 2022 Fuzhou Rockchip Electronics Co., Ltd. 4904f9832SAndy Yan */ 5904f9832SAndy Yan 6904f9832SAndy Yan/dts-v1/; 7904f9832SAndy Yan#include <dt-bindings/input/linux-event-codes.h> 8904f9832SAndy Yan#include <dt-bindings/pwm/pwm.h> 9904f9832SAndy Yan#include <dt-bindings/usb/pd.h> 10904f9832SAndy Yan#include "rk3399.dtsi" 11904f9832SAndy Yan 12904f9832SAndy Yan/ { 13904f9832SAndy Yan model = "OPEN AI LAB EAIDK-610"; 14904f9832SAndy Yan compatible = "openailab,eaidk-610", "rockchip,rk3399"; 15904f9832SAndy Yan 16904f9832SAndy Yan aliases { 175d90cb1eSDragan Simic ethernet0 = &gmac; 18904f9832SAndy Yan mmc0 = &sdio0; 19904f9832SAndy Yan mmc1 = &sdmmc; 20904f9832SAndy Yan mmc2 = &sdhci; 21904f9832SAndy Yan }; 22904f9832SAndy Yan 23904f9832SAndy Yan backlight: backlight { 24904f9832SAndy Yan compatible = "pwm-backlight"; 25904f9832SAndy Yan pwms = <&pwm0 0 25000 0>; 26904f9832SAndy Yan brightness-levels = < 27904f9832SAndy Yan 0 1 2 3 4 5 6 7 28904f9832SAndy Yan 8 9 10 11 12 13 14 15 29904f9832SAndy Yan 16 17 18 19 20 21 22 23 30904f9832SAndy Yan 24 25 26 27 28 29 30 31 31904f9832SAndy Yan 32 33 34 35 36 37 38 39 32904f9832SAndy Yan 40 41 42 43 44 45 46 47 33904f9832SAndy Yan 48 49 50 51 52 53 54 55 34904f9832SAndy Yan 56 57 58 59 60 61 62 63 35904f9832SAndy Yan 64 65 66 67 68 69 70 71 36904f9832SAndy Yan 72 73 74 75 76 77 78 79 37904f9832SAndy Yan 80 81 82 83 84 85 86 87 38904f9832SAndy Yan 88 89 90 91 92 93 94 95 39904f9832SAndy Yan 96 97 98 99 100 101 102 103 40904f9832SAndy Yan 104 105 106 107 108 109 110 111 41904f9832SAndy Yan 112 113 114 115 116 117 118 119 42904f9832SAndy Yan 120 121 122 123 124 125 126 127 43904f9832SAndy Yan 128 129 130 131 132 133 134 135 44904f9832SAndy Yan 136 137 138 139 140 141 142 143 45904f9832SAndy Yan 144 145 146 147 148 149 150 151 46904f9832SAndy Yan 152 153 154 155 156 157 158 159 47904f9832SAndy Yan 160 161 162 163 164 165 166 167 48904f9832SAndy Yan 168 169 170 171 172 173 174 175 49904f9832SAndy Yan 176 177 178 179 180 181 182 183 50904f9832SAndy Yan 184 185 186 187 188 189 190 191 51904f9832SAndy Yan 192 193 194 195 196 197 198 199 52904f9832SAndy Yan 200 201 202 203 204 205 206 207 53904f9832SAndy Yan 208 209 210 211 212 213 214 215 54904f9832SAndy Yan 216 217 218 219 220 221 222 223 55904f9832SAndy Yan 224 225 226 227 228 229 230 231 56904f9832SAndy Yan 232 233 234 235 236 237 238 239 57904f9832SAndy Yan 240 241 242 243 244 245 246 247 58904f9832SAndy Yan 248 249 250 251 252 253 254 255>; 59904f9832SAndy Yan default-brightness-level = <200>; 60904f9832SAndy Yan }; 61904f9832SAndy Yan 62904f9832SAndy Yan clkin_gmac: external-gmac-clock { 63904f9832SAndy Yan compatible = "fixed-clock"; 64904f9832SAndy Yan clock-frequency = <125000000>; 65904f9832SAndy Yan clock-output-names = "clkin_gmac"; 66904f9832SAndy Yan #clock-cells = <0>; 67904f9832SAndy Yan }; 68904f9832SAndy Yan 69904f9832SAndy Yan dc_12v: dc-12v { 70904f9832SAndy Yan compatible = "regulator-fixed"; 71904f9832SAndy Yan regulator-name = "dc_12v"; 72904f9832SAndy Yan regulator-always-on; 73904f9832SAndy Yan regulator-boot-on; 74904f9832SAndy Yan regulator-min-microvolt = <12000000>; 75904f9832SAndy Yan regulator-max-microvolt = <12000000>; 76904f9832SAndy Yan }; 77904f9832SAndy Yan 78904f9832SAndy Yan gpio-keys { 79904f9832SAndy Yan compatible = "gpio-keys"; 80904f9832SAndy Yan autorepeat; 81904f9832SAndy Yan pinctrl-names = "default"; 82904f9832SAndy Yan pinctrl-0 = <&pwrbtn>; 83904f9832SAndy Yan 84904f9832SAndy Yan key-power { 85904f9832SAndy Yan debounce-interval = <100>; 86904f9832SAndy Yan gpios = <&gpio0 RK_PA5 GPIO_ACTIVE_LOW>; 87904f9832SAndy Yan label = "GPIO Key Power"; 88904f9832SAndy Yan linux,code = <KEY_POWER>; 89904f9832SAndy Yan wakeup-source; 90904f9832SAndy Yan }; 91904f9832SAndy Yan }; 92904f9832SAndy Yan 93904f9832SAndy Yan leds { 94904f9832SAndy Yan compatible = "gpio-leds"; 95904f9832SAndy Yan pinctrl-names = "default"; 96904f9832SAndy Yan pinctrl-0 = <&work_led_pin>, <&user_led_pin>, 97904f9832SAndy Yan <&heartbeat_led_pin>, <&wlan_active_led_pin>, 98904f9832SAndy Yan <&bt_active_led_pin>; 99904f9832SAndy Yan 100904f9832SAndy Yan work_led: led-0 { 101904f9832SAndy Yan label = "blue:work"; 102904f9832SAndy Yan default-state = "on"; 103904f9832SAndy Yan gpios = <&gpio0 RK_PA2 GPIO_ACTIVE_HIGH>; 104904f9832SAndy Yan }; 105904f9832SAndy Yan 106904f9832SAndy Yan user_led: led-1 { 107904f9832SAndy Yan label = "read:user"; 108904f9832SAndy Yan default-state = "off"; 109904f9832SAndy Yan gpios = <&gpio0 RK_PB4 GPIO_ACTIVE_HIGH>; 110904f9832SAndy Yan }; 111904f9832SAndy Yan 112904f9832SAndy Yan heartbeat_led: led-2 { 113904f9832SAndy Yan label = "green:heartbeat"; 114904f9832SAndy Yan linux,default-trigger = "heartbeat"; 115904f9832SAndy Yan gpios = <&gpio0 RK_PB5 GPIO_ACTIVE_HIGH>; 116904f9832SAndy Yan }; 117904f9832SAndy Yan 118904f9832SAndy Yan wlan_active_led: led-3 { 119904f9832SAndy Yan label = "yellow:wlan"; 120904f9832SAndy Yan gpios = <&gpio2 RK_PD3 GPIO_ACTIVE_HIGH>; 121904f9832SAndy Yan linux,default-trigger = "phy0tx"; 122904f9832SAndy Yan default-state = "off"; 123904f9832SAndy Yan }; 124904f9832SAndy Yan 125904f9832SAndy Yan bt_active_led: led-4 { 126904f9832SAndy Yan label = "blue:bt"; 127904f9832SAndy Yan gpios = <&gpio2 RK_PD4 GPIO_ACTIVE_HIGH>; 128904f9832SAndy Yan linux,default-trigger = "hci0-power"; 129904f9832SAndy Yan default-state = "off"; 130904f9832SAndy Yan }; 131904f9832SAndy Yan }; 132904f9832SAndy Yan 133904f9832SAndy Yan rt5651-sound { 134904f9832SAndy Yan compatible = "simple-audio-card"; 135904f9832SAndy Yan simple-audio-card,name = "realtek,rt5651-codec"; 136904f9832SAndy Yan simple-audio-card,format = "i2s"; 137904f9832SAndy Yan simple-audio-card,mclk-fs = <256>; 138904f9832SAndy Yan simple-audio-card,widgets = 139904f9832SAndy Yan "Microphone", "Mic Jack", 140904f9832SAndy Yan "Headphone", "Headphone Jack"; 141904f9832SAndy Yan simple-audio-card,routing = 142904f9832SAndy Yan "Mic Jack", "MICBIAS1", 143904f9832SAndy Yan "IN1P", "Mic Jack", 144904f9832SAndy Yan "Headphone Jack", "HPOL", 145904f9832SAndy Yan "Headphone Jack", "HPOR"; 146904f9832SAndy Yan simple-audio-card,cpu { 147904f9832SAndy Yan sound-dai = <&i2s1>; 148904f9832SAndy Yan }; 149904f9832SAndy Yan simple-audio-card,codec { 150904f9832SAndy Yan sound-dai = <&rt5651>; 151904f9832SAndy Yan }; 152904f9832SAndy Yan }; 153904f9832SAndy Yan 154904f9832SAndy Yan sdio_pwrseq: sdio-pwrseq { 155904f9832SAndy Yan compatible = "mmc-pwrseq-simple"; 156904f9832SAndy Yan clocks = <&rk808 1>; 157904f9832SAndy Yan clock-names = "ext_clock"; 158904f9832SAndy Yan pinctrl-names = "default"; 159904f9832SAndy Yan pinctrl-0 = <&wifi_enable_h>; 160904f9832SAndy Yan 161904f9832SAndy Yan /* 162904f9832SAndy Yan * On the module itself this is one of these (depending 163904f9832SAndy Yan * on the actual card populated): 164904f9832SAndy Yan * - SDIO_RESET_L_WL_REG_ON 165904f9832SAndy Yan * - PDN (power down when low) 166904f9832SAndy Yan */ 167904f9832SAndy Yan reset-gpios = <&gpio0 RK_PB2 GPIO_ACTIVE_LOW>; 168904f9832SAndy Yan }; 169904f9832SAndy Yan 170904f9832SAndy Yan /* switched by pmic_sleep */ 171904f9832SAndy Yan vcc1v8_s3: vcca1v8_s3: vcc1v8-s3 { 172904f9832SAndy Yan compatible = "regulator-fixed"; 173904f9832SAndy Yan regulator-name = "vcc1v8_s3"; 174904f9832SAndy Yan regulator-always-on; 175904f9832SAndy Yan regulator-boot-on; 176904f9832SAndy Yan regulator-min-microvolt = <1800000>; 177904f9832SAndy Yan regulator-max-microvolt = <1800000>; 178904f9832SAndy Yan vin-supply = <&vcc_1v8>; 179904f9832SAndy Yan }; 180904f9832SAndy Yan 181904f9832SAndy Yan vcc3v3_sys: vcc3v3-sys { 182904f9832SAndy Yan compatible = "regulator-fixed"; 183904f9832SAndy Yan regulator-name = "vcc3v3_sys"; 184904f9832SAndy Yan regulator-always-on; 185904f9832SAndy Yan regulator-boot-on; 186904f9832SAndy Yan regulator-min-microvolt = <3300000>; 187904f9832SAndy Yan regulator-max-microvolt = <3300000>; 188904f9832SAndy Yan vin-supply = <&dc_12v>; 189904f9832SAndy Yan }; 190904f9832SAndy Yan 191904f9832SAndy Yan vcc5v0_sys: vcc5v0-sys { 192904f9832SAndy Yan compatible = "regulator-fixed"; 193904f9832SAndy Yan regulator-name = "vcc5v0_sys"; 194904f9832SAndy Yan regulator-always-on; 195904f9832SAndy Yan regulator-boot-on; 196904f9832SAndy Yan regulator-min-microvolt = <5000000>; 197904f9832SAndy Yan regulator-max-microvolt = <5000000>; 198904f9832SAndy Yan vin-supply = <&dc_12v>; 199904f9832SAndy Yan }; 200904f9832SAndy Yan 201904f9832SAndy Yan /* For USB3.0 Port1/2 */ 202904f9832SAndy Yan vcc5v0_host1: vcc5v0-host1-regulator { 203904f9832SAndy Yan compatible = "regulator-fixed"; 204904f9832SAndy Yan enable-active-high; 205904f9832SAndy Yan gpio = <&gpio0 RK_PA6 GPIO_ACTIVE_HIGH>; 206904f9832SAndy Yan pinctrl-names = "default"; 207904f9832SAndy Yan pinctrl-0 = <&vcc5v0_host1_en>; 208904f9832SAndy Yan regulator-name = "vcc5v0_host1"; 209904f9832SAndy Yan regulator-always-on; 210904f9832SAndy Yan vin-supply = <&vcc5v0_sys>; 211904f9832SAndy Yan }; 212904f9832SAndy Yan 213904f9832SAndy Yan /* For USB2.0 Port1/2 */ 214904f9832SAndy Yan vcc5v0_host3: vcc5v0-host3-regulator { 215904f9832SAndy Yan compatible = "regulator-fixed"; 216904f9832SAndy Yan enable-active-high; 217904f9832SAndy Yan gpio = <&gpio0 RK_PB0 GPIO_ACTIVE_HIGH>; 218904f9832SAndy Yan pinctrl-names = "default"; 219904f9832SAndy Yan pinctrl-0 = <&vcc5v0_host3_en>; 220904f9832SAndy Yan regulator-name = "vcc5v0_host3"; 221904f9832SAndy Yan regulator-always-on; 222904f9832SAndy Yan vin-supply = <&vcc5v0_sys>; 223904f9832SAndy Yan }; 224904f9832SAndy Yan 225904f9832SAndy Yan vcc5v0_typec: vcc5v0-typec-regulator { 226904f9832SAndy Yan compatible = "regulator-fixed"; 227904f9832SAndy Yan enable-active-high; 228904f9832SAndy Yan gpio = <&gpio4 RK_PC5 GPIO_ACTIVE_HIGH>; 229904f9832SAndy Yan pinctrl-names = "default"; 230904f9832SAndy Yan pinctrl-0 = <&vcc5v0_typec_en>; 231904f9832SAndy Yan regulator-name = "vcc5v0_typec"; 232904f9832SAndy Yan regulator-always-on; 233904f9832SAndy Yan vin-supply = <&vcc3v3_sys>; 234904f9832SAndy Yan }; 235904f9832SAndy Yan 236904f9832SAndy Yan vdd_log: vdd-log { 237904f9832SAndy Yan compatible = "regulator-fixed"; 238904f9832SAndy Yan regulator-name = "vdd_log"; 239904f9832SAndy Yan regulator-always-on; 240904f9832SAndy Yan regulator-boot-on; 241904f9832SAndy Yan regulator-min-microvolt = <900000>; 242904f9832SAndy Yan regulator-max-microvolt = <900000>; 243904f9832SAndy Yan }; 244904f9832SAndy Yan}; 245904f9832SAndy Yan 246904f9832SAndy Yan&cpu_l0 { 247904f9832SAndy Yan cpu-supply = <&vdd_cpu_l>; 248904f9832SAndy Yan}; 249904f9832SAndy Yan 250904f9832SAndy Yan&cpu_l1 { 251904f9832SAndy Yan cpu-supply = <&vdd_cpu_l>; 252904f9832SAndy Yan}; 253904f9832SAndy Yan 254904f9832SAndy Yan&cpu_l2 { 255904f9832SAndy Yan cpu-supply = <&vdd_cpu_l>; 256904f9832SAndy Yan}; 257904f9832SAndy Yan 258904f9832SAndy Yan&cpu_l3 { 259904f9832SAndy Yan cpu-supply = <&vdd_cpu_l>; 260904f9832SAndy Yan}; 261904f9832SAndy Yan 262904f9832SAndy Yan&cpu_b0 { 263904f9832SAndy Yan cpu-supply = <&vdd_cpu_b>; 264904f9832SAndy Yan}; 265904f9832SAndy Yan 266904f9832SAndy Yan&cpu_b1 { 267904f9832SAndy Yan cpu-supply = <&vdd_cpu_b>; 268904f9832SAndy Yan}; 269904f9832SAndy Yan 270904f9832SAndy Yan&emmc_phy { 271904f9832SAndy Yan status = "okay"; 272904f9832SAndy Yan}; 273904f9832SAndy Yan 274904f9832SAndy Yan&gmac { 275904f9832SAndy Yan assigned-clocks = <&cru SCLK_RMII_SRC>; 276904f9832SAndy Yan assigned-clock-parents = <&clkin_gmac>; 277904f9832SAndy Yan clock_in_out = "input"; 278904f9832SAndy Yan phy-supply = <&vcc_lan>; 279904f9832SAndy Yan phy-mode = "rgmii"; 280904f9832SAndy Yan pinctrl-names = "default"; 281904f9832SAndy Yan pinctrl-0 = <&rgmii_pins>; 282904f9832SAndy Yan snps,reset-gpio = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>; 283904f9832SAndy Yan snps,reset-active-low; 284904f9832SAndy Yan snps,reset-delays-us = <0 10000 50000>; 285904f9832SAndy Yan tx_delay = <0x28>; 286904f9832SAndy Yan rx_delay = <0x11>; 287904f9832SAndy Yan status = "okay"; 288904f9832SAndy Yan}; 289904f9832SAndy Yan 290904f9832SAndy Yan&gpu { 291904f9832SAndy Yan mali-supply = <&vdd_gpu>; 292904f9832SAndy Yan status = "okay"; 293904f9832SAndy Yan}; 294904f9832SAndy Yan 295904f9832SAndy Yan&hdmi { 296904f9832SAndy Yan ddc-i2c-bus = <&i2c3>; 297904f9832SAndy Yan pinctrl-names = "default"; 298904f9832SAndy Yan pinctrl-0 = <&hdmi_cec>; 299904f9832SAndy Yan status = "okay"; 300904f9832SAndy Yan}; 301904f9832SAndy Yan 302904f9832SAndy Yan&i2c0 { 303904f9832SAndy Yan status = "okay"; 304904f9832SAndy Yan 305904f9832SAndy Yan rk808: pmic@1b { 306904f9832SAndy Yan compatible = "rockchip,rk808"; 307904f9832SAndy Yan reg = <0x1b>; 308904f9832SAndy Yan interrupt-parent = <&gpio1>; 309904f9832SAndy Yan interrupts = <21 IRQ_TYPE_LEVEL_LOW>; 310904f9832SAndy Yan pinctrl-names = "default"; 311904f9832SAndy Yan pinctrl-0 = <&pmic_int_l>; 312904f9832SAndy Yan rockchip,system-power-controller; 313904f9832SAndy Yan wakeup-source; 314904f9832SAndy Yan #clock-cells = <1>; 315904f9832SAndy Yan clock-output-names = "xin32k", "rk808-clkout2"; 316904f9832SAndy Yan 317904f9832SAndy Yan vcc1-supply = <&vcc3v3_sys>; 318904f9832SAndy Yan vcc2-supply = <&vcc3v3_sys>; 319904f9832SAndy Yan vcc3-supply = <&vcc3v3_sys>; 320904f9832SAndy Yan vcc4-supply = <&vcc3v3_sys>; 321904f9832SAndy Yan vcc6-supply = <&vcc3v3_sys>; 322904f9832SAndy Yan vcc7-supply = <&vcc3v3_sys>; 323904f9832SAndy Yan vcc8-supply = <&vcc3v3_sys>; 324904f9832SAndy Yan vcc9-supply = <&vcc3v3_sys>; 325904f9832SAndy Yan vcc10-supply = <&vcc3v3_sys>; 326904f9832SAndy Yan vcc11-supply = <&vcc3v3_sys>; 327904f9832SAndy Yan vcc12-supply = <&vcc3v3_sys>; 328904f9832SAndy Yan vddio-supply = <&vcc_3v0>; 329904f9832SAndy Yan 330904f9832SAndy Yan regulators { 331904f9832SAndy Yan vdd_center: DCDC_REG1 { 332904f9832SAndy Yan regulator-name = "vdd_center"; 333904f9832SAndy Yan regulator-min-microvolt = <750000>; 334904f9832SAndy Yan regulator-max-microvolt = <1350000>; 335904f9832SAndy Yan regulator-ramp-delay = <6001>; 336904f9832SAndy Yan regulator-always-on; 337904f9832SAndy Yan regulator-boot-on; 338904f9832SAndy Yan 339904f9832SAndy Yan regulator-state-mem { 340904f9832SAndy Yan regulator-off-in-suspend; 341904f9832SAndy Yan }; 342904f9832SAndy Yan }; 343904f9832SAndy Yan 344904f9832SAndy Yan vdd_cpu_l: DCDC_REG2 { 345904f9832SAndy Yan regulator-name = "vdd_cpu_l"; 346904f9832SAndy Yan regulator-min-microvolt = <750000>; 347904f9832SAndy Yan regulator-max-microvolt = <1350000>; 348904f9832SAndy Yan regulator-ramp-delay = <6001>; 349904f9832SAndy Yan regulator-always-on; 350904f9832SAndy Yan regulator-boot-on; 351904f9832SAndy Yan 352904f9832SAndy Yan regulator-state-mem { 353904f9832SAndy Yan regulator-off-in-suspend; 354904f9832SAndy Yan }; 355904f9832SAndy Yan }; 356904f9832SAndy Yan 357904f9832SAndy Yan vcc_ddr: DCDC_REG3 { 358904f9832SAndy Yan regulator-name = "vcc_ddr"; 359904f9832SAndy Yan regulator-always-on; 360904f9832SAndy Yan regulator-boot-on; 361904f9832SAndy Yan regulator-state-mem { 362904f9832SAndy Yan regulator-on-in-suspend; 363904f9832SAndy Yan }; 364904f9832SAndy Yan }; 365904f9832SAndy Yan 366904f9832SAndy Yan vcc_1v8: DCDC_REG4 { 367904f9832SAndy Yan regulator-name = "vcc_1v8"; 368904f9832SAndy Yan regulator-min-microvolt = <1800000>; 369904f9832SAndy Yan regulator-max-microvolt = <1800000>; 370904f9832SAndy Yan regulator-always-on; 371904f9832SAndy Yan regulator-boot-on; 372904f9832SAndy Yan 373904f9832SAndy Yan regulator-state-mem { 374904f9832SAndy Yan regulator-on-in-suspend; 375904f9832SAndy Yan regulator-suspend-microvolt = <1800000>; 376904f9832SAndy Yan }; 377904f9832SAndy Yan }; 378904f9832SAndy Yan 379904f9832SAndy Yan vcc1v8_dvp: LDO_REG1 { 380904f9832SAndy Yan regulator-name = "vcc1v8_dvp"; 381904f9832SAndy Yan regulator-min-microvolt = <1800000>; 382904f9832SAndy Yan regulator-max-microvolt = <1800000>; 383904f9832SAndy Yan regulator-always-on; 384904f9832SAndy Yan regulator-boot-on; 385904f9832SAndy Yan 386904f9832SAndy Yan regulator-state-mem { 387904f9832SAndy Yan regulator-off-in-suspend; 388904f9832SAndy Yan }; 389904f9832SAndy Yan }; 390904f9832SAndy Yan 391904f9832SAndy Yan vcc2v8_dvp: LDO_REG2 { 392904f9832SAndy Yan regulator-name = "vcc2v8_dvp"; 393904f9832SAndy Yan regulator-min-microvolt = <2800000>; 394904f9832SAndy Yan regulator-max-microvolt = <2800000>; 395904f9832SAndy Yan regulator-always-on; 396904f9832SAndy Yan regulator-boot-on; 397904f9832SAndy Yan 398904f9832SAndy Yan regulator-state-mem { 399904f9832SAndy Yan regulator-off-in-suspend; 400904f9832SAndy Yan }; 401904f9832SAndy Yan }; 402904f9832SAndy Yan 403904f9832SAndy Yan vcc1v8_pmu: LDO_REG3 { 404904f9832SAndy Yan regulator-name = "vcc1v8_pmu"; 405904f9832SAndy Yan regulator-min-microvolt = <1800000>; 406904f9832SAndy Yan regulator-max-microvolt = <1800000>; 407904f9832SAndy Yan regulator-always-on; 408904f9832SAndy Yan regulator-boot-on; 409904f9832SAndy Yan 410904f9832SAndy Yan regulator-state-mem { 411904f9832SAndy Yan regulator-on-in-suspend; 412904f9832SAndy Yan regulator-suspend-microvolt = <1800000>; 413904f9832SAndy Yan }; 414904f9832SAndy Yan }; 415904f9832SAndy Yan 416904f9832SAndy Yan vcc_sdio: LDO_REG4 { 417904f9832SAndy Yan regulator-name = "vcc_sdio"; 418904f9832SAndy Yan regulator-min-microvolt = <1800000>; 419904f9832SAndy Yan regulator-max-microvolt = <3000000>; 420904f9832SAndy Yan regulator-always-on; 421904f9832SAndy Yan regulator-boot-on; 422904f9832SAndy Yan 423904f9832SAndy Yan regulator-state-mem { 424904f9832SAndy Yan regulator-on-in-suspend; 425904f9832SAndy Yan regulator-suspend-microvolt = <3000000>; 426904f9832SAndy Yan }; 427904f9832SAndy Yan }; 428904f9832SAndy Yan 429904f9832SAndy Yan vcca3v0_codec: LDO_REG5 { 430904f9832SAndy Yan regulator-name = "vcca3v0_codec"; 431904f9832SAndy Yan regulator-min-microvolt = <3000000>; 432904f9832SAndy Yan regulator-max-microvolt = <3000000>; 433904f9832SAndy Yan regulator-always-on; 434904f9832SAndy Yan regulator-boot-on; 435904f9832SAndy Yan 436904f9832SAndy Yan regulator-state-mem { 437904f9832SAndy Yan regulator-off-in-suspend; 438904f9832SAndy Yan }; 439904f9832SAndy Yan }; 440904f9832SAndy Yan 441904f9832SAndy Yan vcc_1v5: LDO_REG6 { 442904f9832SAndy Yan regulator-name = "vcc_1v5"; 443904f9832SAndy Yan regulator-min-microvolt = <1500000>; 444904f9832SAndy Yan regulator-max-microvolt = <1500000>; 445904f9832SAndy Yan regulator-always-on; 446904f9832SAndy Yan regulator-boot-on; 447904f9832SAndy Yan 448904f9832SAndy Yan regulator-state-mem { 449904f9832SAndy Yan regulator-on-in-suspend; 450904f9832SAndy Yan regulator-suspend-microvolt = <1500000>; 451904f9832SAndy Yan }; 452904f9832SAndy Yan }; 453904f9832SAndy Yan 454904f9832SAndy Yan vcca1v8_codec: LDO_REG7 { 455904f9832SAndy Yan regulator-name = "vcca1v8_codec"; 456904f9832SAndy Yan regulator-min-microvolt = <1800000>; 457904f9832SAndy Yan regulator-max-microvolt = <1800000>; 458904f9832SAndy Yan regulator-always-on; 459904f9832SAndy Yan regulator-boot-on; 460904f9832SAndy Yan 461904f9832SAndy Yan regulator-state-mem { 462904f9832SAndy Yan regulator-off-in-suspend; 463904f9832SAndy Yan }; 464904f9832SAndy Yan }; 465904f9832SAndy Yan 466904f9832SAndy Yan vcc_3v0: LDO_REG8 { 467904f9832SAndy Yan regulator-name = "vcc_3v0"; 468904f9832SAndy Yan regulator-min-microvolt = <3000000>; 469904f9832SAndy Yan regulator-max-microvolt = <3000000>; 470904f9832SAndy Yan regulator-always-on; 471904f9832SAndy Yan regulator-boot-on; 472904f9832SAndy Yan 473904f9832SAndy Yan regulator-state-mem { 474904f9832SAndy Yan regulator-on-in-suspend; 475904f9832SAndy Yan regulator-suspend-microvolt = <3000000>; 476904f9832SAndy Yan }; 477904f9832SAndy Yan }; 478904f9832SAndy Yan 479904f9832SAndy Yan vcc3v3_s3: vcc_lan: SWITCH_REG1 { 480904f9832SAndy Yan regulator-name = "vcc3v3_s3"; 481904f9832SAndy Yan regulator-always-on; 482904f9832SAndy Yan regulator-boot-on; 483904f9832SAndy Yan regulator-state-mem { 484904f9832SAndy Yan regulator-off-in-suspend; 485904f9832SAndy Yan }; 486904f9832SAndy Yan }; 487904f9832SAndy Yan 488904f9832SAndy Yan vcc3v3_s0: SWITCH_REG2 { 489904f9832SAndy Yan regulator-name = "vcc3v3_s0"; 490904f9832SAndy Yan regulator-always-on; 491904f9832SAndy Yan regulator-boot-on; 492904f9832SAndy Yan regulator-state-mem { 493904f9832SAndy Yan regulator-off-in-suspend; 494904f9832SAndy Yan }; 495904f9832SAndy Yan }; 496904f9832SAndy Yan }; 497904f9832SAndy Yan }; 498904f9832SAndy Yan 499904f9832SAndy Yan vdd_cpu_b: regulator@40 { 500904f9832SAndy Yan compatible = "silergy,syr827"; 501904f9832SAndy Yan reg = <0x40>; 502904f9832SAndy Yan fcs,suspend-voltage-selector = <1>; 503904f9832SAndy Yan regulator-name = "vdd_cpu_b"; 504904f9832SAndy Yan pinctrl-names = "default"; 505904f9832SAndy Yan pinctrl-0 = <&vsel1_pin>; 506904f9832SAndy Yan regulator-min-microvolt = <712500>; 507904f9832SAndy Yan regulator-max-microvolt = <1500000>; 508904f9832SAndy Yan regulator-ramp-delay = <1000>; 509904f9832SAndy Yan regulator-always-on; 510904f9832SAndy Yan regulator-boot-on; 511904f9832SAndy Yan vin-supply = <&vcc3v3_sys>; 512904f9832SAndy Yan 513904f9832SAndy Yan regulator-state-mem { 514904f9832SAndy Yan regulator-off-in-suspend; 515904f9832SAndy Yan }; 516904f9832SAndy Yan }; 517904f9832SAndy Yan 518904f9832SAndy Yan vdd_gpu: regulator@41 { 519904f9832SAndy Yan compatible = "silergy,syr828"; 520904f9832SAndy Yan reg = <0x41>; 521904f9832SAndy Yan fcs,suspend-voltage-selector = <1>; 522904f9832SAndy Yan regulator-name = "vdd_gpu"; 523904f9832SAndy Yan pinctrl-names = "default"; 524904f9832SAndy Yan pinctrl-0 = <&vsel2_pin>; 525904f9832SAndy Yan regulator-min-microvolt = <712500>; 526904f9832SAndy Yan regulator-max-microvolt = <1500000>; 527904f9832SAndy Yan regulator-ramp-delay = <1000>; 528904f9832SAndy Yan regulator-always-on; 529904f9832SAndy Yan regulator-boot-on; 530904f9832SAndy Yan vin-supply = <&vcc3v3_sys>; 531904f9832SAndy Yan 532904f9832SAndy Yan regulator-state-mem { 533904f9832SAndy Yan regulator-off-in-suspend; 534904f9832SAndy Yan }; 535904f9832SAndy Yan }; 536904f9832SAndy Yan}; 537904f9832SAndy Yan 538904f9832SAndy Yan&i2c1 { 539904f9832SAndy Yan i2c-scl-rising-time-ns = <300>; 540904f9832SAndy Yan i2c-scl-falling-time-ns = <15>; 541904f9832SAndy Yan status = "okay"; 542904f9832SAndy Yan 543904f9832SAndy Yan rt5651: audio-codec@1a { 544*2f39bba3SGeert Uytterhoeven compatible = "realtek,rt5651"; 545904f9832SAndy Yan reg = <0x1a>; 546904f9832SAndy Yan clocks = <&cru SCLK_I2S_8CH_OUT>; 547904f9832SAndy Yan clock-names = "mclk"; 548904f9832SAndy Yan hp-det-gpio = <&gpio4 RK_PD4 GPIO_ACTIVE_LOW>; 549904f9832SAndy Yan spk-con-gpio = <&gpio0 RK_PB3 GPIO_ACTIVE_HIGH>; 550904f9832SAndy Yan #sound-dai-cells = <0>; 551904f9832SAndy Yan }; 552904f9832SAndy Yan 553904f9832SAndy Yan}; 554904f9832SAndy Yan 555904f9832SAndy Yan&i2c3 { 556904f9832SAndy Yan i2c-scl-rising-time-ns = <450>; 557904f9832SAndy Yan i2c-scl-falling-time-ns = <15>; 558904f9832SAndy Yan status = "okay"; 559904f9832SAndy Yan}; 560904f9832SAndy Yan 561904f9832SAndy Yan&i2c4 { 562904f9832SAndy Yan i2c-scl-rising-time-ns = <600>; 563904f9832SAndy Yan i2c-scl-falling-time-ns = <20>; 564904f9832SAndy Yan status = "okay"; 565904f9832SAndy Yan 566904f9832SAndy Yan fusb0: typec-portc@22 { 567904f9832SAndy Yan compatible = "fcs,fusb302"; 568904f9832SAndy Yan reg = <0x22>; 569904f9832SAndy Yan interrupt-parent = <&gpio1>; 570904f9832SAndy Yan interrupts = <RK_PA2 IRQ_TYPE_LEVEL_LOW>; 571904f9832SAndy Yan pinctrl-names = "default"; 572904f9832SAndy Yan pinctrl-0 = <&fusb0_int>; 573904f9832SAndy Yan vbus-supply = <&vcc5v0_typec>; 574904f9832SAndy Yan 575904f9832SAndy Yan ports { 576904f9832SAndy Yan #address-cells = <1>; 577904f9832SAndy Yan #size-cells = <0>; 578904f9832SAndy Yan 579904f9832SAndy Yan port@0 { 580904f9832SAndy Yan reg = <0>; 581904f9832SAndy Yan usbc0_role_sw: endpoint@0 { 582904f9832SAndy Yan remote-endpoint = <&dwc3_0_role_switch>; 583904f9832SAndy Yan }; 584904f9832SAndy Yan }; 585904f9832SAndy Yan }; 586904f9832SAndy Yan 587904f9832SAndy Yan connector { 588904f9832SAndy Yan compatible = "usb-c-connector"; 589904f9832SAndy Yan data-role = "dual"; 590904f9832SAndy Yan label = "USB-C"; 591904f9832SAndy Yan 592904f9832SAndy Yan ports { 593904f9832SAndy Yan #address-cells = <1>; 594904f9832SAndy Yan #size-cells = <0>; 595904f9832SAndy Yan 596904f9832SAndy Yan port@0 { 597904f9832SAndy Yan reg = <0>; 598904f9832SAndy Yan 599904f9832SAndy Yan usbc_hs: endpoint { 600904f9832SAndy Yan remote-endpoint = <&u2phy0_typec_hs>; 601904f9832SAndy Yan }; 602904f9832SAndy Yan }; 603904f9832SAndy Yan 604904f9832SAndy Yan port@1 { 605904f9832SAndy Yan reg = <1>; 606904f9832SAndy Yan 607904f9832SAndy Yan usbc_ss: endpoint { 608904f9832SAndy Yan remote-endpoint = <&tcphy0_typec_ss>; 609904f9832SAndy Yan }; 610904f9832SAndy Yan }; 611904f9832SAndy Yan }; 612904f9832SAndy Yan }; 613904f9832SAndy Yan }; 614904f9832SAndy Yan}; 615904f9832SAndy Yan 616904f9832SAndy Yan&i2s1 { 617904f9832SAndy Yan rockchip,playback-channels = <2>; 618904f9832SAndy Yan rockchip,capture-channels = <2>; 619904f9832SAndy Yan status = "okay"; 620904f9832SAndy Yan}; 621904f9832SAndy Yan 622904f9832SAndy Yan&i2s2 { 623904f9832SAndy Yan status = "okay"; 624904f9832SAndy Yan}; 625904f9832SAndy Yan 626904f9832SAndy Yan&io_domains { 627904f9832SAndy Yan status = "okay"; 628904f9832SAndy Yan 629904f9832SAndy Yan audio-supply = <&vcca1v8_codec>; 630904f9832SAndy Yan bt656-supply = <&vcc_3v0>; 631904f9832SAndy Yan gpio1830-supply = <&vcc_3v0>; 632904f9832SAndy Yan sdmmc-supply = <&vcc_sdio>; 633904f9832SAndy Yan}; 634904f9832SAndy Yan 635904f9832SAndy Yan&pmu_io_domains { 636904f9832SAndy Yan status = "okay"; 637904f9832SAndy Yan 638904f9832SAndy Yan pmu1830-supply = <&vcc_3v0>; 639904f9832SAndy Yan}; 640904f9832SAndy Yan 641904f9832SAndy Yan&pinctrl { 642904f9832SAndy Yan buttons { 643904f9832SAndy Yan pwrbtn: pwrbtn { 644904f9832SAndy Yan rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>; 645904f9832SAndy Yan }; 646904f9832SAndy Yan }; 647904f9832SAndy Yan 648904f9832SAndy Yan bt { 649904f9832SAndy Yan bt_enable_h: bt-enable-h { 650904f9832SAndy Yan rockchip,pins = <0 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>; 651904f9832SAndy Yan }; 652904f9832SAndy Yan 653904f9832SAndy Yan bt_host_wake_l: bt-host-wake-l { 654904f9832SAndy Yan rockchip,pins = <0 RK_PA4 RK_FUNC_GPIO &pcfg_pull_none>; 655904f9832SAndy Yan }; 656904f9832SAndy Yan 657904f9832SAndy Yan bt_wake_l: bt-wake-l { 658904f9832SAndy Yan rockchip,pins = <2 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>; 659904f9832SAndy Yan }; 660904f9832SAndy Yan }; 661904f9832SAndy Yan 662904f9832SAndy Yan fusb302x { 663904f9832SAndy Yan fusb0_int: fusb0-int { 664904f9832SAndy Yan rockchip,pins = <1 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up>; 665904f9832SAndy Yan }; 666904f9832SAndy Yan }; 667904f9832SAndy Yan 668904f9832SAndy Yan lcd-panel { 669904f9832SAndy Yan lcd_panel_reset: lcd-panel-reset { 670904f9832SAndy Yan rockchip,pins = <4 RK_PD6 RK_FUNC_GPIO &pcfg_pull_up>; 671904f9832SAndy Yan }; 672904f9832SAndy Yan }; 673904f9832SAndy Yan 674904f9832SAndy Yan leds { 675904f9832SAndy Yan work_led_pin: work-led-pin { 676904f9832SAndy Yan rockchip,pins = <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>; 677904f9832SAndy Yan }; 678904f9832SAndy Yan 679904f9832SAndy Yan user_led_pin: user-led-pin { 680904f9832SAndy Yan rockchip,pins = <0 RK_PB4 RK_FUNC_GPIO &pcfg_pull_none>; 681904f9832SAndy Yan }; 682904f9832SAndy Yan 683904f9832SAndy Yan heartbeat_led_pin: heartbeat-led-pin { 684904f9832SAndy Yan rockchip,pins = <0 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>; 685904f9832SAndy Yan }; 686904f9832SAndy Yan 687904f9832SAndy Yan wlan_active_led_pin: wlan-led-pin { 688904f9832SAndy Yan rockchip,pins = <2 RK_PD3 RK_FUNC_GPIO &pcfg_pull_none>; 689904f9832SAndy Yan }; 690904f9832SAndy Yan 691904f9832SAndy Yan bt_active_led_pin: bt-led-pin { 692904f9832SAndy Yan rockchip,pins = <2 RK_PD4 RK_FUNC_GPIO &pcfg_pull_none>; 693904f9832SAndy Yan }; 694904f9832SAndy Yan 695904f9832SAndy Yan 696904f9832SAndy Yan }; 697904f9832SAndy Yan 698904f9832SAndy Yan pmic { 699904f9832SAndy Yan pmic_int_l: pmic-int-l { 700904f9832SAndy Yan rockchip,pins = <1 RK_PC5 RK_FUNC_GPIO &pcfg_pull_up>; 701904f9832SAndy Yan }; 702904f9832SAndy Yan 703904f9832SAndy Yan vsel1_pin: vsel1-pin { 704904f9832SAndy Yan rockchip,pins = <1 RK_PC1 RK_FUNC_GPIO &pcfg_pull_down>; 705904f9832SAndy Yan }; 706904f9832SAndy Yan 707904f9832SAndy Yan vsel2_pin: vsel2-pin { 708904f9832SAndy Yan rockchip,pins = <1 RK_PB6 RK_FUNC_GPIO &pcfg_pull_down>; 709904f9832SAndy Yan }; 710904f9832SAndy Yan }; 711904f9832SAndy Yan 712904f9832SAndy Yan rt5651 { 713904f9832SAndy Yan rt5651_hpcon: rt5640-hpcon { 714904f9832SAndy Yan rockchip,pins = <4 RK_PD4 RK_FUNC_GPIO &pcfg_pull_none>; 715904f9832SAndy Yan }; 716904f9832SAndy Yan }; 717904f9832SAndy Yan 718904f9832SAndy Yan sdio-pwrseq { 719904f9832SAndy Yan wifi_enable_h: wifi-enable-h { 720904f9832SAndy Yan rockchip,pins = <0 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>; 721904f9832SAndy Yan }; 722904f9832SAndy Yan }; 723904f9832SAndy Yan 724904f9832SAndy Yan usb-typec { 725904f9832SAndy Yan vcc5v0_typec_en: vcc5v0_typec_en { 726904f9832SAndy Yan rockchip,pins = <4 RK_PC5 RK_FUNC_GPIO &pcfg_pull_up>; 727904f9832SAndy Yan }; 728904f9832SAndy Yan }; 729904f9832SAndy Yan 730904f9832SAndy Yan usb2 { 731904f9832SAndy Yan vcc5v0_host3_en: vcc5v0-host3-en { 732904f9832SAndy Yan rockchip,pins = <0 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>; 733904f9832SAndy Yan }; 734904f9832SAndy Yan 735904f9832SAndy Yan vcc5v0_host1_en: vcc5v0-host1-en { 736904f9832SAndy Yan rockchip,pins = <0 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>; 737904f9832SAndy Yan }; 738904f9832SAndy Yan }; 739904f9832SAndy Yan 740904f9832SAndy Yan wifi { 741904f9832SAndy Yan wifi_host_wake_l: wifi-host-wake-l { 742904f9832SAndy Yan rockchip,pins = <0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_none>; 743904f9832SAndy Yan }; 744904f9832SAndy Yan }; 745904f9832SAndy Yan}; 746904f9832SAndy Yan 747904f9832SAndy Yan&pwm0 { 748904f9832SAndy Yan status = "okay"; 749904f9832SAndy Yan}; 750904f9832SAndy Yan 751904f9832SAndy Yan&saradc { 752904f9832SAndy Yan vref-supply = <&vcca1v8_s3>; 753904f9832SAndy Yan status = "okay"; 754904f9832SAndy Yan}; 755904f9832SAndy Yan 756904f9832SAndy Yan&sdio0 { 757904f9832SAndy Yan /* WiFi & BT combo module AMPAK AP6255 */ 758904f9832SAndy Yan #address-cells = <1>; 759904f9832SAndy Yan #size-cells = <0>; 760904f9832SAndy Yan bus-width = <4>; 761904f9832SAndy Yan clock-frequency = <50000000>; 762904f9832SAndy Yan cap-sdio-irq; 763904f9832SAndy Yan cap-sd-highspeed; 764904f9832SAndy Yan keep-power-in-suspend; 765904f9832SAndy Yan mmc-pwrseq = <&sdio_pwrseq>; 766904f9832SAndy Yan non-removable; 767904f9832SAndy Yan pinctrl-names = "default"; 768904f9832SAndy Yan pinctrl-0 = <&sdio0_bus4 &sdio0_cmd &sdio0_clk>; 769904f9832SAndy Yan sd-uhs-sdr104; 770904f9832SAndy Yan status = "okay"; 771904f9832SAndy Yan 772904f9832SAndy Yan brcmf: wifi@1 { 773904f9832SAndy Yan compatible = "brcm,bcm4329-fmac"; 774904f9832SAndy Yan reg = <1>; 775904f9832SAndy Yan interrupt-parent = <&gpio0>; 7768183bb7eSKrzysztof Kozlowski interrupts = <RK_PA3 IRQ_TYPE_LEVEL_HIGH>; 777904f9832SAndy Yan interrupt-names = "host-wake"; 778904f9832SAndy Yan pinctrl-names = "default"; 779904f9832SAndy Yan pinctrl-0 = <&wifi_host_wake_l>; 780904f9832SAndy Yan }; 781904f9832SAndy Yan}; 782904f9832SAndy Yan 783904f9832SAndy Yan&sdmmc { 784904f9832SAndy Yan bus-width = <4>; 785904f9832SAndy Yan cap-mmc-highspeed; 786904f9832SAndy Yan cap-sd-highspeed; 787904f9832SAndy Yan cd-gpios = <&gpio0 RK_PA7 GPIO_ACTIVE_LOW>; 788904f9832SAndy Yan disable-wp; 789904f9832SAndy Yan max-frequency = <150000000>; 790904f9832SAndy Yan pinctrl-names = "default"; 791904f9832SAndy Yan pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_bus4>; 792904f9832SAndy Yan status = "okay"; 793904f9832SAndy Yan}; 794904f9832SAndy Yan 795904f9832SAndy Yan&sdhci { 796904f9832SAndy Yan bus-width = <8>; 797904f9832SAndy Yan non-removable; 798904f9832SAndy Yan status = "okay"; 799904f9832SAndy Yan}; 800904f9832SAndy Yan 801904f9832SAndy Yan&tcphy0 { 802904f9832SAndy Yan status = "okay"; 803904f9832SAndy Yan}; 804904f9832SAndy Yan 805904f9832SAndy Yan&tcphy0_usb3 { 806904f9832SAndy Yan orientation-switch; 807904f9832SAndy Yan port { 808904f9832SAndy Yan tcphy0_typec_ss: endpoint { 809904f9832SAndy Yan remote-endpoint = <&usbc_ss>; 810904f9832SAndy Yan }; 811904f9832SAndy Yan }; 812904f9832SAndy Yan}; 813904f9832SAndy Yan 814904f9832SAndy Yan&tcphy1 { 815904f9832SAndy Yan status = "okay"; 816904f9832SAndy Yan}; 817904f9832SAndy Yan 818904f9832SAndy Yan&tsadc { 819904f9832SAndy Yan /* tshut mode 0:CRU 1:GPIO */ 820904f9832SAndy Yan rockchip,hw-tshut-mode = <1>; 821904f9832SAndy Yan /* tshut polarity 0:LOW 1:HIGH */ 822904f9832SAndy Yan rockchip,hw-tshut-polarity = <1>; 823904f9832SAndy Yan status = "okay"; 824904f9832SAndy Yan}; 825904f9832SAndy Yan 826904f9832SAndy Yan&u2phy0 { 827904f9832SAndy Yan status = "okay"; 828904f9832SAndy Yan 829904f9832SAndy Yan u2phy0_otg: otg-port { 830904f9832SAndy Yan status = "okay"; 831904f9832SAndy Yan }; 832904f9832SAndy Yan 833904f9832SAndy Yan u2phy0_host: host-port { 834904f9832SAndy Yan phy-supply = <&vcc5v0_host3>; 835904f9832SAndy Yan status = "okay"; 836904f9832SAndy Yan }; 837904f9832SAndy Yan 838904f9832SAndy Yan port { 839904f9832SAndy Yan u2phy0_typec_hs: endpoint { 840904f9832SAndy Yan remote-endpoint = <&usbc_hs>; 841904f9832SAndy Yan }; 842904f9832SAndy Yan }; 843904f9832SAndy Yan}; 844904f9832SAndy Yan 845904f9832SAndy Yan&u2phy1 { 846904f9832SAndy Yan status = "okay"; 847904f9832SAndy Yan 848904f9832SAndy Yan u2phy1_otg: otg-port { 849904f9832SAndy Yan status = "okay"; 850904f9832SAndy Yan }; 851904f9832SAndy Yan 852904f9832SAndy Yan u2phy1_host: host-port { 853904f9832SAndy Yan phy-supply = <&vcc5v0_host3>; 854904f9832SAndy Yan status = "okay"; 855904f9832SAndy Yan }; 856904f9832SAndy Yan}; 857904f9832SAndy Yan 858904f9832SAndy Yan&uart0 { 859904f9832SAndy Yan pinctrl-names = "default"; 860904f9832SAndy Yan pinctrl-0 = <&uart0_xfer &uart0_cts &uart0_rts>; 861904f9832SAndy Yan status = "okay"; 862904f9832SAndy Yan 863904f9832SAndy Yan bluetooth { 864904f9832SAndy Yan compatible = "brcm,bcm4345c5"; 865904f9832SAndy Yan clocks = <&rk808 1>; 866904f9832SAndy Yan clock-names = "lpo"; 867904f9832SAndy Yan device-wakeup-gpios = <&gpio2 RK_PD2 GPIO_ACTIVE_HIGH>; 868904f9832SAndy Yan host-wakeup-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_HIGH>; 869904f9832SAndy Yan shutdown-gpios = <&gpio0 RK_PB1 GPIO_ACTIVE_HIGH>; 870904f9832SAndy Yan max-speed = <1500000>; 871904f9832SAndy Yan pinctrl-names = "default"; 872904f9832SAndy Yan pinctrl-0 = <&bt_host_wake_l &bt_wake_l &bt_enable_h>; 873904f9832SAndy Yan vbat-supply = <&vcc3v3_sys>; 874904f9832SAndy Yan vddio-supply = <&vcc_1v8>; 875904f9832SAndy Yan }; 876904f9832SAndy Yan}; 877904f9832SAndy Yan 878904f9832SAndy Yan&uart2 { 879904f9832SAndy Yan status = "okay"; 880904f9832SAndy Yan}; 881904f9832SAndy Yan 882904f9832SAndy Yan&usb_host0_ehci { 883904f9832SAndy Yan status = "okay"; 884904f9832SAndy Yan}; 885904f9832SAndy Yan 886904f9832SAndy Yan&usb_host0_ohci { 887904f9832SAndy Yan status = "okay"; 888904f9832SAndy Yan}; 889904f9832SAndy Yan 890904f9832SAndy Yan&usb_host1_ehci { 891904f9832SAndy Yan status = "okay"; 892904f9832SAndy Yan}; 893904f9832SAndy Yan 894904f9832SAndy Yan&usb_host1_ohci { 895904f9832SAndy Yan status = "okay"; 896904f9832SAndy Yan}; 897904f9832SAndy Yan 898904f9832SAndy Yan&usbdrd3_0 { 899904f9832SAndy Yan status = "okay"; 900904f9832SAndy Yan}; 901904f9832SAndy Yan 902904f9832SAndy Yan&usbdrd_dwc3_0 { 903904f9832SAndy Yan status = "okay"; 904904f9832SAndy Yan usb-role-switch; 905904f9832SAndy Yan 906904f9832SAndy Yan port { 907904f9832SAndy Yan #address-cells = <1>; 908904f9832SAndy Yan #size-cells = <0>; 909904f9832SAndy Yan dwc3_0_role_switch: endpoint@0 { 910904f9832SAndy Yan reg = <0>; 911904f9832SAndy Yan remote-endpoint = <&usbc0_role_sw>; 912904f9832SAndy Yan }; 913904f9832SAndy Yan }; 914904f9832SAndy Yan}; 915904f9832SAndy Yan 916904f9832SAndy Yan&usbdrd3_1 { 917904f9832SAndy Yan status = "okay"; 918904f9832SAndy Yan}; 919904f9832SAndy Yan 920904f9832SAndy Yan&usbdrd_dwc3_1 { 921904f9832SAndy Yan status = "okay"; 922904f9832SAndy Yan dr_mode = "host"; 923904f9832SAndy Yan}; 924904f9832SAndy Yan 925904f9832SAndy Yan&vopb { 926904f9832SAndy Yan status = "okay"; 927904f9832SAndy Yan}; 928904f9832SAndy Yan 929904f9832SAndy Yan&vopb_mmu { 930904f9832SAndy Yan status = "okay"; 931904f9832SAndy Yan}; 932904f9832SAndy Yan 933904f9832SAndy Yan&vopl { 934904f9832SAndy Yan status = "okay"; 935904f9832SAndy Yan}; 936904f9832SAndy Yan 937904f9832SAndy Yan&vopl_mmu { 938904f9832SAndy Yan status = "okay"; 939904f9832SAndy Yan}; 940