1c66ec88fSEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2c66ec88fSEmmanuel Vadot/* 3c66ec88fSEmmanuel Vadot * Copyright (c) 2017 Fuzhou Rockchip Electronics Co., Ltd. 4c66ec88fSEmmanuel Vadot */ 5c66ec88fSEmmanuel Vadot 6c66ec88fSEmmanuel Vadot/dts-v1/; 7c66ec88fSEmmanuel Vadot 8c66ec88fSEmmanuel Vadot#include "dt-bindings/pwm/pwm.h" 9c66ec88fSEmmanuel Vadot#include "dt-bindings/input/input.h" 10d5b0e70fSEmmanuel Vadot#include <dt-bindings/interrupt-controller/irq.h> 115def4c47SEmmanuel Vadot#include "dt-bindings/usb/pd.h" 12c66ec88fSEmmanuel Vadot#include "rk3399.dtsi" 13c66ec88fSEmmanuel Vadot 14c66ec88fSEmmanuel Vadot/ { 15c66ec88fSEmmanuel Vadot model = "Orange Pi RK3399 Board"; 16*01950c46SEmmanuel Vadot compatible = "xunlong,rk3399-orangepi", "rockchip,rk3399"; 17c66ec88fSEmmanuel Vadot 182eb4d8dcSEmmanuel Vadot aliases { 198d13bc63SEmmanuel Vadot ethernet0 = &gmac; 202eb4d8dcSEmmanuel Vadot mmc0 = &sdio0; 212eb4d8dcSEmmanuel Vadot mmc1 = &sdmmc; 222eb4d8dcSEmmanuel Vadot mmc2 = &sdhci; 232eb4d8dcSEmmanuel Vadot }; 242eb4d8dcSEmmanuel Vadot 25c66ec88fSEmmanuel Vadot chosen { 26c66ec88fSEmmanuel Vadot stdout-path = "serial2:1500000n8"; 27c66ec88fSEmmanuel Vadot }; 28c66ec88fSEmmanuel Vadot 29c66ec88fSEmmanuel Vadot clkin_gmac: external-gmac-clock { 30c66ec88fSEmmanuel Vadot compatible = "fixed-clock"; 31c66ec88fSEmmanuel Vadot clock-frequency = <125000000>; 32c66ec88fSEmmanuel Vadot clock-output-names = "clkin_gmac"; 33c66ec88fSEmmanuel Vadot #clock-cells = <0>; 34c66ec88fSEmmanuel Vadot }; 35c66ec88fSEmmanuel Vadot 36c66ec88fSEmmanuel Vadot adc-keys { 37c66ec88fSEmmanuel Vadot compatible = "adc-keys"; 38c66ec88fSEmmanuel Vadot io-channels = <&saradc 1>; 39c66ec88fSEmmanuel Vadot io-channel-names = "buttons"; 40c66ec88fSEmmanuel Vadot keyup-threshold-microvolt = <1800000>; 41c66ec88fSEmmanuel Vadot poll-interval = <100>; 42c66ec88fSEmmanuel Vadot 43c66ec88fSEmmanuel Vadot button-up { 44c66ec88fSEmmanuel Vadot label = "Volume Up"; 45c66ec88fSEmmanuel Vadot linux,code = <KEY_VOLUMEUP>; 46c66ec88fSEmmanuel Vadot press-threshold-microvolt = <100000>; 47c66ec88fSEmmanuel Vadot }; 48c66ec88fSEmmanuel Vadot 49c66ec88fSEmmanuel Vadot button-down { 50c66ec88fSEmmanuel Vadot label = "Volume Down"; 51c66ec88fSEmmanuel Vadot linux,code = <KEY_VOLUMEDOWN>; 52c66ec88fSEmmanuel Vadot press-threshold-microvolt = <300000>; 53c66ec88fSEmmanuel Vadot }; 54c66ec88fSEmmanuel Vadot 557ef62cebSEmmanuel Vadot button-back { 56c66ec88fSEmmanuel Vadot label = "Back"; 57c66ec88fSEmmanuel Vadot linux,code = <KEY_BACK>; 58c66ec88fSEmmanuel Vadot press-threshold-microvolt = <985000>; 59c66ec88fSEmmanuel Vadot }; 60c66ec88fSEmmanuel Vadot 617ef62cebSEmmanuel Vadot button-menu { 62c66ec88fSEmmanuel Vadot label = "Menu"; 63c66ec88fSEmmanuel Vadot linux,code = <KEY_MENU>; 64c66ec88fSEmmanuel Vadot press-threshold-microvolt = <1314000>; 65c66ec88fSEmmanuel Vadot }; 66c66ec88fSEmmanuel Vadot }; 67c66ec88fSEmmanuel Vadot 68c66ec88fSEmmanuel Vadot dc_12v: dc-12v { 69c66ec88fSEmmanuel Vadot compatible = "regulator-fixed"; 70c66ec88fSEmmanuel Vadot regulator-name = "dc_12v"; 71c66ec88fSEmmanuel Vadot regulator-always-on; 72c66ec88fSEmmanuel Vadot regulator-boot-on; 73c66ec88fSEmmanuel Vadot regulator-min-microvolt = <12000000>; 74c66ec88fSEmmanuel Vadot regulator-max-microvolt = <12000000>; 75c66ec88fSEmmanuel Vadot }; 76c66ec88fSEmmanuel Vadot 77c66ec88fSEmmanuel Vadot keys: gpio-keys { 78c66ec88fSEmmanuel Vadot compatible = "gpio-keys"; 79c66ec88fSEmmanuel Vadot autorepeat; 80c66ec88fSEmmanuel Vadot 81b97ee269SEmmanuel Vadot key-power { 82c66ec88fSEmmanuel Vadot debounce-interval = <100>; 83c66ec88fSEmmanuel Vadot gpios = <&gpio0 RK_PA5 GPIO_ACTIVE_LOW>; 84c66ec88fSEmmanuel Vadot label = "GPIO Power"; 85c66ec88fSEmmanuel Vadot linux,code = <KEY_POWER>; 86c66ec88fSEmmanuel Vadot linux,input-type = <1>; 87c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 88c66ec88fSEmmanuel Vadot pinctrl-0 = <&pwr_btn>; 89c66ec88fSEmmanuel Vadot wakeup-source; 90c66ec88fSEmmanuel Vadot }; 91c66ec88fSEmmanuel Vadot }; 92c66ec88fSEmmanuel Vadot 93c66ec88fSEmmanuel Vadot sdio_pwrseq: sdio-pwrseq { 94c66ec88fSEmmanuel Vadot compatible = "mmc-pwrseq-simple"; 95c66ec88fSEmmanuel Vadot clocks = <&rk808 1>; 96c66ec88fSEmmanuel Vadot clock-names = "ext_clock"; 97c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 98c66ec88fSEmmanuel Vadot pinctrl-0 = <&wifi_reg_on_h>; 99c66ec88fSEmmanuel Vadot reset-gpios = <&gpio0 RK_PB2 GPIO_ACTIVE_LOW>; 100c66ec88fSEmmanuel Vadot }; 101c66ec88fSEmmanuel Vadot 102c66ec88fSEmmanuel Vadot /* switched by pmic_sleep */ 103c66ec88fSEmmanuel Vadot vcc1v8_s3: vcca1v8_s3: vcc1v8-s3 { 104c66ec88fSEmmanuel Vadot compatible = "regulator-fixed"; 105c66ec88fSEmmanuel Vadot regulator-name = "vcc1v8_s3"; 106c66ec88fSEmmanuel Vadot regulator-always-on; 107c66ec88fSEmmanuel Vadot regulator-boot-on; 108c66ec88fSEmmanuel Vadot regulator-min-microvolt = <1800000>; 109c66ec88fSEmmanuel Vadot regulator-max-microvolt = <1800000>; 110c66ec88fSEmmanuel Vadot vin-supply = <&vcc_1v8>; 111c66ec88fSEmmanuel Vadot }; 112c66ec88fSEmmanuel Vadot 113c66ec88fSEmmanuel Vadot vcc3v0_sd: vcc3v0-sd { 114c66ec88fSEmmanuel Vadot compatible = "regulator-fixed"; 115c66ec88fSEmmanuel Vadot enable-active-high; 116c66ec88fSEmmanuel Vadot gpio = <&gpio0 RK_PA1 GPIO_ACTIVE_HIGH>; 117c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 118c66ec88fSEmmanuel Vadot pinctrl-0 = <&sdmmc0_pwr_h>; 119c66ec88fSEmmanuel Vadot regulator-boot-on; 120c66ec88fSEmmanuel Vadot regulator-max-microvolt = <3000000>; 121c66ec88fSEmmanuel Vadot regulator-min-microvolt = <3000000>; 122c66ec88fSEmmanuel Vadot regulator-name = "vcc3v0_sd"; 123c66ec88fSEmmanuel Vadot vin-supply = <&vcc3v3_sys>; 124c66ec88fSEmmanuel Vadot }; 125c66ec88fSEmmanuel Vadot 126c66ec88fSEmmanuel Vadot vcc3v3_sys: vcc3v3-sys { 127c66ec88fSEmmanuel Vadot compatible = "regulator-fixed"; 128c66ec88fSEmmanuel Vadot regulator-name = "vcc3v3_sys"; 129c66ec88fSEmmanuel Vadot regulator-always-on; 130c66ec88fSEmmanuel Vadot regulator-boot-on; 131c66ec88fSEmmanuel Vadot regulator-min-microvolt = <3300000>; 132c66ec88fSEmmanuel Vadot regulator-max-microvolt = <3300000>; 133c66ec88fSEmmanuel Vadot vin-supply = <&vcc_sys>; 134c66ec88fSEmmanuel Vadot }; 135c66ec88fSEmmanuel Vadot 136c66ec88fSEmmanuel Vadot vcc5v0_host: vcc5v0-host-regulator { 137c66ec88fSEmmanuel Vadot compatible = "regulator-fixed"; 138c66ec88fSEmmanuel Vadot enable-active-high; 139c66ec88fSEmmanuel Vadot gpio = <&gpio4 RK_PD1 GPIO_ACTIVE_HIGH>; 140c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 141c66ec88fSEmmanuel Vadot pinctrl-0 = <&vcc5v0_host_en>; 142c66ec88fSEmmanuel Vadot regulator-name = "vcc5v0_host"; 143c66ec88fSEmmanuel Vadot regulator-always-on; 144c66ec88fSEmmanuel Vadot vin-supply = <&vcc_sys>; 145c66ec88fSEmmanuel Vadot }; 146c66ec88fSEmmanuel Vadot 147c66ec88fSEmmanuel Vadot vbus_typec: vbus-typec-regulator { 148c66ec88fSEmmanuel Vadot compatible = "regulator-fixed"; 149c66ec88fSEmmanuel Vadot enable-active-high; 150c66ec88fSEmmanuel Vadot gpio = <&gpio1 RK_PA3 GPIO_ACTIVE_HIGH>; 151c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 152c66ec88fSEmmanuel Vadot pinctrl-0 = <&vcc5v0_typec_en>; 153c66ec88fSEmmanuel Vadot regulator-name = "vbus_typec"; 154c66ec88fSEmmanuel Vadot vin-supply = <&vcc_sys>; 155c66ec88fSEmmanuel Vadot }; 156c66ec88fSEmmanuel Vadot 157c66ec88fSEmmanuel Vadot vcc_sys: vcc-sys { 158c66ec88fSEmmanuel Vadot compatible = "regulator-fixed"; 159c66ec88fSEmmanuel Vadot regulator-name = "vcc_sys"; 160c66ec88fSEmmanuel Vadot regulator-always-on; 161c66ec88fSEmmanuel Vadot regulator-boot-on; 162c66ec88fSEmmanuel Vadot regulator-min-microvolt = <5000000>; 163c66ec88fSEmmanuel Vadot regulator-max-microvolt = <5000000>; 164c66ec88fSEmmanuel Vadot vin-supply = <&dc_12v>; 165c66ec88fSEmmanuel Vadot }; 166c66ec88fSEmmanuel Vadot 167c66ec88fSEmmanuel Vadot vdd_log: vdd-log { 168c66ec88fSEmmanuel Vadot compatible = "pwm-regulator"; 169c66ec88fSEmmanuel Vadot pwms = <&pwm2 0 25000 1>; 170c9ccf3a3SEmmanuel Vadot pwm-supply = <&vcc_sys>; 171c66ec88fSEmmanuel Vadot regulator-name = "vdd_log"; 172c66ec88fSEmmanuel Vadot regulator-always-on; 173c66ec88fSEmmanuel Vadot regulator-boot-on; 174c66ec88fSEmmanuel Vadot regulator-min-microvolt = <800000>; 175c66ec88fSEmmanuel Vadot regulator-max-microvolt = <1400000>; 176c66ec88fSEmmanuel Vadot }; 177c66ec88fSEmmanuel Vadot}; 178c66ec88fSEmmanuel Vadot 179c66ec88fSEmmanuel Vadot&cpu_l0 { 180c66ec88fSEmmanuel Vadot cpu-supply = <&vdd_cpu_l>; 181c66ec88fSEmmanuel Vadot}; 182c66ec88fSEmmanuel Vadot 183c66ec88fSEmmanuel Vadot&cpu_l1 { 184c66ec88fSEmmanuel Vadot cpu-supply = <&vdd_cpu_l>; 185c66ec88fSEmmanuel Vadot}; 186c66ec88fSEmmanuel Vadot 187c66ec88fSEmmanuel Vadot&cpu_l2 { 188c66ec88fSEmmanuel Vadot cpu-supply = <&vdd_cpu_l>; 189c66ec88fSEmmanuel Vadot}; 190c66ec88fSEmmanuel Vadot 191c66ec88fSEmmanuel Vadot&cpu_l3 { 192c66ec88fSEmmanuel Vadot cpu-supply = <&vdd_cpu_l>; 193c66ec88fSEmmanuel Vadot}; 194c66ec88fSEmmanuel Vadot 195c66ec88fSEmmanuel Vadot&cpu_b0 { 196c66ec88fSEmmanuel Vadot cpu-supply = <&vdd_cpu_b>; 197c66ec88fSEmmanuel Vadot}; 198c66ec88fSEmmanuel Vadot 199c66ec88fSEmmanuel Vadot&cpu_b1 { 200c66ec88fSEmmanuel Vadot cpu-supply = <&vdd_cpu_b>; 201c66ec88fSEmmanuel Vadot}; 202c66ec88fSEmmanuel Vadot 203c66ec88fSEmmanuel Vadot&emmc_phy { 204c66ec88fSEmmanuel Vadot status = "okay"; 205c66ec88fSEmmanuel Vadot}; 206c66ec88fSEmmanuel Vadot 207c66ec88fSEmmanuel Vadot&gmac { 208c66ec88fSEmmanuel Vadot assigned-clocks = <&cru SCLK_RMII_SRC>; 209c66ec88fSEmmanuel Vadot assigned-clock-parents = <&clkin_gmac>; 210c66ec88fSEmmanuel Vadot clock_in_out = "input"; 211c66ec88fSEmmanuel Vadot phy-supply = <&vcc3v3_s3>; 212c66ec88fSEmmanuel Vadot phy-mode = "rgmii"; 213c66ec88fSEmmanuel Vadot phy-handle = <&rtl8211e>; 214c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 215c66ec88fSEmmanuel Vadot pinctrl-0 = <&rgmii_pins>, <&phy_intb>, <&phy_rstb>; 216c66ec88fSEmmanuel Vadot tx_delay = <0x28>; 217c66ec88fSEmmanuel Vadot rx_delay = <0x11>; 218c66ec88fSEmmanuel Vadot status = "okay"; 219c66ec88fSEmmanuel Vadot 220c66ec88fSEmmanuel Vadot mdio { 221c66ec88fSEmmanuel Vadot compatible = "snps,dwmac-mdio"; 222c66ec88fSEmmanuel Vadot #address-cells = <1>; 223c66ec88fSEmmanuel Vadot #size-cells = <0>; 224c66ec88fSEmmanuel Vadot 225c66ec88fSEmmanuel Vadot rtl8211e: ethernet-phy@1 { 226c66ec88fSEmmanuel Vadot reg = <1>; 227c66ec88fSEmmanuel Vadot interrupt-parent = <&gpio3>; 228c66ec88fSEmmanuel Vadot interrupts = <RK_PB2 IRQ_TYPE_LEVEL_LOW>; 229c66ec88fSEmmanuel Vadot reset-assert-us = <10000>; 230c66ec88fSEmmanuel Vadot reset-deassert-us = <30000>; 231c66ec88fSEmmanuel Vadot reset-gpios = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>; 232c66ec88fSEmmanuel Vadot }; 233c66ec88fSEmmanuel Vadot }; 234c66ec88fSEmmanuel Vadot}; 235c66ec88fSEmmanuel Vadot 236c66ec88fSEmmanuel Vadot&gpu { 237c66ec88fSEmmanuel Vadot mali-supply = <&vdd_gpu>; 238c66ec88fSEmmanuel Vadot status = "okay"; 239c66ec88fSEmmanuel Vadot}; 240c66ec88fSEmmanuel Vadot 241c66ec88fSEmmanuel Vadot&hdmi { 242c66ec88fSEmmanuel Vadot ddc-i2c-bus = <&i2c3>; 243c66ec88fSEmmanuel Vadot status = "okay"; 244c66ec88fSEmmanuel Vadot}; 245c66ec88fSEmmanuel Vadot 246c66ec88fSEmmanuel Vadot&hdmi_sound { 247c66ec88fSEmmanuel Vadot status = "okay"; 248c66ec88fSEmmanuel Vadot}; 249c66ec88fSEmmanuel Vadot 250c66ec88fSEmmanuel Vadot&i2c0 { 251c66ec88fSEmmanuel Vadot clock-frequency = <400000>; 252c66ec88fSEmmanuel Vadot i2c-scl-rising-time-ns = <168>; 253c66ec88fSEmmanuel Vadot i2c-scl-falling-time-ns = <4>; 254c66ec88fSEmmanuel Vadot status = "okay"; 255c66ec88fSEmmanuel Vadot 256c66ec88fSEmmanuel Vadot rk808: pmic@1b { 257c66ec88fSEmmanuel Vadot compatible = "rockchip,rk808"; 258c66ec88fSEmmanuel Vadot reg = <0x1b>; 259c66ec88fSEmmanuel Vadot interrupt-parent = <&gpio1>; 260c66ec88fSEmmanuel Vadot interrupts = <21 IRQ_TYPE_LEVEL_LOW>; 261c66ec88fSEmmanuel Vadot #clock-cells = <1>; 262c66ec88fSEmmanuel Vadot clock-output-names = "rtc_clko_soc", "rtc_clko_wifi"; 263c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 264c66ec88fSEmmanuel Vadot pinctrl-0 = <&pmic_int_l>; 265c66ec88fSEmmanuel Vadot rockchip,system-power-controller; 266c66ec88fSEmmanuel Vadot wakeup-source; 267c66ec88fSEmmanuel Vadot 268c66ec88fSEmmanuel Vadot vcc1-supply = <&vcc3v3_sys>; 269c66ec88fSEmmanuel Vadot vcc2-supply = <&vcc3v3_sys>; 270c66ec88fSEmmanuel Vadot vcc3-supply = <&vcc3v3_sys>; 271c66ec88fSEmmanuel Vadot vcc4-supply = <&vcc3v3_sys>; 272c66ec88fSEmmanuel Vadot vcc6-supply = <&vcc3v3_sys>; 273c66ec88fSEmmanuel Vadot vcc7-supply = <&vcc3v3_sys>; 274c66ec88fSEmmanuel Vadot vcc8-supply = <&vcc3v3_sys>; 275c66ec88fSEmmanuel Vadot vcc9-supply = <&vcc3v3_sys>; 276c66ec88fSEmmanuel Vadot vcc10-supply = <&vcc3v3_sys>; 277c66ec88fSEmmanuel Vadot vcc11-supply = <&vcc3v3_sys>; 278c66ec88fSEmmanuel Vadot vcc12-supply = <&vcc3v3_sys>; 279c66ec88fSEmmanuel Vadot vddio-supply = <&vcc_3v0>; 280c66ec88fSEmmanuel Vadot 281c66ec88fSEmmanuel Vadot regulators { 282c66ec88fSEmmanuel Vadot vdd_center: DCDC_REG1 { 283c66ec88fSEmmanuel Vadot regulator-name = "vdd_center"; 284c66ec88fSEmmanuel Vadot regulator-always-on; 285c66ec88fSEmmanuel Vadot regulator-boot-on; 286c66ec88fSEmmanuel Vadot regulator-min-microvolt = <700000>; 287c66ec88fSEmmanuel Vadot regulator-max-microvolt = <1500000>; 288c66ec88fSEmmanuel Vadot regulator-ramp-delay = <6001>; 289c66ec88fSEmmanuel Vadot regulator-state-mem { 290c66ec88fSEmmanuel Vadot regulator-off-in-suspend; 291c66ec88fSEmmanuel Vadot }; 292c66ec88fSEmmanuel Vadot }; 293c66ec88fSEmmanuel Vadot 294c66ec88fSEmmanuel Vadot vdd_cpu_l: DCDC_REG2 { 295c66ec88fSEmmanuel Vadot regulator-name = "vdd_cpu_l"; 296c66ec88fSEmmanuel Vadot regulator-always-on; 297c66ec88fSEmmanuel Vadot regulator-boot-on; 298c66ec88fSEmmanuel Vadot regulator-min-microvolt = <700000>; 299c66ec88fSEmmanuel Vadot regulator-max-microvolt = <1500000>; 300c66ec88fSEmmanuel Vadot regulator-ramp-delay = <6001>; 301c66ec88fSEmmanuel Vadot regulator-state-mem { 302c66ec88fSEmmanuel Vadot regulator-off-in-suspend; 303c66ec88fSEmmanuel Vadot }; 304c66ec88fSEmmanuel Vadot }; 305c66ec88fSEmmanuel Vadot 306c66ec88fSEmmanuel Vadot vcc_ddr: DCDC_REG3 { 307c66ec88fSEmmanuel Vadot regulator-name = "vcc_ddr"; 308c66ec88fSEmmanuel Vadot regulator-always-on; 309c66ec88fSEmmanuel Vadot regulator-boot-on; 310c66ec88fSEmmanuel Vadot regulator-state-mem { 311c66ec88fSEmmanuel Vadot regulator-on-in-suspend; 312c66ec88fSEmmanuel Vadot }; 313c66ec88fSEmmanuel Vadot }; 314c66ec88fSEmmanuel Vadot 315c66ec88fSEmmanuel Vadot vcc_1v8: DCDC_REG4 { 316c66ec88fSEmmanuel Vadot regulator-name = "vcc_1v8"; 317c66ec88fSEmmanuel Vadot regulator-always-on; 318c66ec88fSEmmanuel Vadot regulator-boot-on; 319c66ec88fSEmmanuel Vadot regulator-min-microvolt = <1800000>; 320c66ec88fSEmmanuel Vadot regulator-max-microvolt = <3300000>; 321c66ec88fSEmmanuel Vadot regulator-state-mem { 322c66ec88fSEmmanuel Vadot regulator-on-in-suspend; 323c66ec88fSEmmanuel Vadot regulator-suspend-microvolt = <1800000>; 324c66ec88fSEmmanuel Vadot }; 325c66ec88fSEmmanuel Vadot }; 326c66ec88fSEmmanuel Vadot 327c66ec88fSEmmanuel Vadot vcc1v8_dvp: LDO_REG1 { 328c66ec88fSEmmanuel Vadot regulator-name = "vcc1v8_dvp"; 329c66ec88fSEmmanuel Vadot regulator-always-on; 330c66ec88fSEmmanuel Vadot regulator-boot-on; 331c66ec88fSEmmanuel Vadot regulator-min-microvolt = <1800000>; 332c66ec88fSEmmanuel Vadot regulator-max-microvolt = <3400000>; 333c66ec88fSEmmanuel Vadot regulator-state-mem { 334c66ec88fSEmmanuel Vadot regulator-off-in-suspend; 335c66ec88fSEmmanuel Vadot }; 336c66ec88fSEmmanuel Vadot }; 337c66ec88fSEmmanuel Vadot 338c66ec88fSEmmanuel Vadot vcc3v0_tp: LDO_REG2 { 339c66ec88fSEmmanuel Vadot regulator-name = "vcc3v0_tp"; 340c66ec88fSEmmanuel Vadot regulator-always-on; 341c66ec88fSEmmanuel Vadot regulator-boot-on; 342c66ec88fSEmmanuel Vadot regulator-min-microvolt = <1800000>; 343c66ec88fSEmmanuel Vadot regulator-max-microvolt = <3400000>; 344c66ec88fSEmmanuel Vadot regulator-state-mem { 345c66ec88fSEmmanuel Vadot regulator-off-in-suspend; 346c66ec88fSEmmanuel Vadot }; 347c66ec88fSEmmanuel Vadot }; 348c66ec88fSEmmanuel Vadot 349c66ec88fSEmmanuel Vadot vcc1v8_pmupll: LDO_REG3 { 350c66ec88fSEmmanuel Vadot regulator-name = "vcc1v8_pmupll"; 351c66ec88fSEmmanuel Vadot regulator-always-on; 352c66ec88fSEmmanuel Vadot regulator-boot-on; 353c66ec88fSEmmanuel Vadot regulator-min-microvolt = <800000>; 354c66ec88fSEmmanuel Vadot regulator-max-microvolt = <2500000>; 355c66ec88fSEmmanuel Vadot regulator-state-mem { 356c66ec88fSEmmanuel Vadot regulator-on-in-suspend; 357c66ec88fSEmmanuel Vadot regulator-suspend-microvolt = <1800000>; 358c66ec88fSEmmanuel Vadot }; 359c66ec88fSEmmanuel Vadot }; 360c66ec88fSEmmanuel Vadot 361c66ec88fSEmmanuel Vadot vcc_sdio: LDO_REG4 { 362c66ec88fSEmmanuel Vadot regulator-name = "vcc_sdio"; 363c66ec88fSEmmanuel Vadot regulator-always-on; 364c66ec88fSEmmanuel Vadot regulator-boot-on; 365c66ec88fSEmmanuel Vadot regulator-min-microvolt = <1800000>; 366c66ec88fSEmmanuel Vadot regulator-max-microvolt = <3400000>; 367c66ec88fSEmmanuel Vadot regulator-state-mem { 368c66ec88fSEmmanuel Vadot regulator-on-in-suspend; 369c66ec88fSEmmanuel Vadot regulator-suspend-microvolt = <3000000>; 370c66ec88fSEmmanuel Vadot }; 371c66ec88fSEmmanuel Vadot }; 372c66ec88fSEmmanuel Vadot 373c66ec88fSEmmanuel Vadot vcca3v0_codec: LDO_REG5 { 374c66ec88fSEmmanuel Vadot regulator-name = "vcca3v0_codec"; 375c66ec88fSEmmanuel Vadot regulator-always-on; 376c66ec88fSEmmanuel Vadot regulator-boot-on; 377c66ec88fSEmmanuel Vadot regulator-min-microvolt = <1800000>; 378c66ec88fSEmmanuel Vadot regulator-max-microvolt = <3400000>; 379c66ec88fSEmmanuel Vadot regulator-state-mem { 380c66ec88fSEmmanuel Vadot regulator-off-in-suspend; 381c66ec88fSEmmanuel Vadot }; 382c66ec88fSEmmanuel Vadot }; 383c66ec88fSEmmanuel Vadot 384c66ec88fSEmmanuel Vadot vcc_1v5: LDO_REG6 { 385c66ec88fSEmmanuel Vadot regulator-name = "vcc_1v5"; 386c66ec88fSEmmanuel Vadot regulator-always-on; 387c66ec88fSEmmanuel Vadot regulator-boot-on; 388c66ec88fSEmmanuel Vadot regulator-min-microvolt = <800000>; 389c66ec88fSEmmanuel Vadot regulator-max-microvolt = <2500000>; 390c66ec88fSEmmanuel Vadot regulator-state-mem { 391c66ec88fSEmmanuel Vadot regulator-on-in-suspend; 392c66ec88fSEmmanuel Vadot regulator-suspend-microvolt = <1500000>; 393c66ec88fSEmmanuel Vadot }; 394c66ec88fSEmmanuel Vadot }; 395c66ec88fSEmmanuel Vadot 396c66ec88fSEmmanuel Vadot vcca1v8_codec: LDO_REG7 { 397c66ec88fSEmmanuel Vadot regulator-name = "vcca1v8_codec"; 398c66ec88fSEmmanuel Vadot regulator-always-on; 399c66ec88fSEmmanuel Vadot regulator-boot-on; 400c66ec88fSEmmanuel Vadot regulator-min-microvolt = <800000>; 401c66ec88fSEmmanuel Vadot regulator-max-microvolt = <2500000>; 402c66ec88fSEmmanuel Vadot regulator-state-mem { 403c66ec88fSEmmanuel Vadot regulator-off-in-suspend; 404c66ec88fSEmmanuel Vadot }; 405c66ec88fSEmmanuel Vadot }; 406c66ec88fSEmmanuel Vadot 407c66ec88fSEmmanuel Vadot vcc_3v0: LDO_REG8 { 408c66ec88fSEmmanuel Vadot regulator-name = "vcc_3v0"; 409c66ec88fSEmmanuel Vadot regulator-always-on; 410c66ec88fSEmmanuel Vadot regulator-boot-on; 411c66ec88fSEmmanuel Vadot regulator-min-microvolt = <1800000>; 412c66ec88fSEmmanuel Vadot regulator-max-microvolt = <3400000>; 413c66ec88fSEmmanuel Vadot regulator-state-mem { 414c66ec88fSEmmanuel Vadot regulator-on-in-suspend; 415c66ec88fSEmmanuel Vadot regulator-suspend-microvolt = <3000000>; 416c66ec88fSEmmanuel Vadot }; 417c66ec88fSEmmanuel Vadot }; 418c66ec88fSEmmanuel Vadot 419c66ec88fSEmmanuel Vadot vcc3v3_s3: SWITCH_REG1 { 420c66ec88fSEmmanuel Vadot regulator-name = "vcc3v3_s3"; 421c66ec88fSEmmanuel Vadot regulator-always-on; 422c66ec88fSEmmanuel Vadot regulator-boot-on; 423c66ec88fSEmmanuel Vadot regulator-state-mem { 424c66ec88fSEmmanuel Vadot regulator-off-in-suspend; 425c66ec88fSEmmanuel Vadot }; 426c66ec88fSEmmanuel Vadot }; 427c66ec88fSEmmanuel Vadot 428c66ec88fSEmmanuel Vadot vcc3v3_s0: SWITCH_REG2 { 429c66ec88fSEmmanuel Vadot regulator-name = "vcc3v3_s0"; 430c66ec88fSEmmanuel Vadot regulator-always-on; 431c66ec88fSEmmanuel Vadot regulator-boot-on; 432c66ec88fSEmmanuel Vadot regulator-state-mem { 433c66ec88fSEmmanuel Vadot regulator-off-in-suspend; 434c66ec88fSEmmanuel Vadot }; 435c66ec88fSEmmanuel Vadot }; 436c66ec88fSEmmanuel Vadot }; 437c66ec88fSEmmanuel Vadot }; 438c66ec88fSEmmanuel Vadot 439c66ec88fSEmmanuel Vadot vdd_cpu_b: regulator@40 { 440c66ec88fSEmmanuel Vadot compatible = "silergy,syr827"; 441c66ec88fSEmmanuel Vadot reg = <0x40>; 442c66ec88fSEmmanuel Vadot fcs,suspend-voltage-selector = <1>; 443c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 444c66ec88fSEmmanuel Vadot pinctrl-0 = <&cpu_b_sleep>; 445c66ec88fSEmmanuel Vadot regulator-name = "vdd_cpu_b"; 446c66ec88fSEmmanuel Vadot regulator-min-microvolt = <712500>; 447c66ec88fSEmmanuel Vadot regulator-max-microvolt = <1500000>; 448c66ec88fSEmmanuel Vadot regulator-ramp-delay = <1000>; 449c66ec88fSEmmanuel Vadot regulator-always-on; 450c66ec88fSEmmanuel Vadot regulator-boot-on; 451c66ec88fSEmmanuel Vadot vin-supply = <&vcc3v3_sys>; 452c66ec88fSEmmanuel Vadot 453c66ec88fSEmmanuel Vadot regulator-state-mem { 454c66ec88fSEmmanuel Vadot regulator-off-in-suspend; 455c66ec88fSEmmanuel Vadot }; 456c66ec88fSEmmanuel Vadot }; 457c66ec88fSEmmanuel Vadot 458c66ec88fSEmmanuel Vadot vdd_gpu: regulator@41 { 459c66ec88fSEmmanuel Vadot compatible = "silergy,syr828"; 460c66ec88fSEmmanuel Vadot reg = <0x41>; 461c66ec88fSEmmanuel Vadot fcs,suspend-voltage-selector = <1>; 462c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 463c66ec88fSEmmanuel Vadot pinctrl-0 = <&gpu_sleep>; 464c66ec88fSEmmanuel Vadot regulator-name = "vdd_gpu"; 465c66ec88fSEmmanuel Vadot regulator-min-microvolt = <712500>; 466c66ec88fSEmmanuel Vadot regulator-max-microvolt = <1500000>; 467c66ec88fSEmmanuel Vadot regulator-ramp-delay = <1000>; 468c66ec88fSEmmanuel Vadot regulator-always-on; 469c66ec88fSEmmanuel Vadot regulator-boot-on; 470c66ec88fSEmmanuel Vadot vin-supply = <&vcc3v3_sys>; 471c66ec88fSEmmanuel Vadot 472c66ec88fSEmmanuel Vadot regulator-state-mem { 473c66ec88fSEmmanuel Vadot regulator-off-in-suspend; 474c66ec88fSEmmanuel Vadot }; 475c66ec88fSEmmanuel Vadot }; 476c66ec88fSEmmanuel Vadot}; 477c66ec88fSEmmanuel Vadot 478c66ec88fSEmmanuel Vadot&i2c1 { 479c66ec88fSEmmanuel Vadot i2c-scl-rising-time-ns = <450>; 480c66ec88fSEmmanuel Vadot i2c-scl-falling-time-ns = <15>; 481c66ec88fSEmmanuel Vadot status = "okay"; 482c66ec88fSEmmanuel Vadot}; 483c66ec88fSEmmanuel Vadot 484c66ec88fSEmmanuel Vadot&i2c3 { 485c66ec88fSEmmanuel Vadot i2c-scl-rising-time-ns = <450>; 486c66ec88fSEmmanuel Vadot i2c-scl-falling-time-ns = <15>; 487c66ec88fSEmmanuel Vadot status = "okay"; 488c66ec88fSEmmanuel Vadot}; 489c66ec88fSEmmanuel Vadot 490c66ec88fSEmmanuel Vadot&i2c4 { 491c66ec88fSEmmanuel Vadot clock-frequency = <400000>; 492c66ec88fSEmmanuel Vadot i2c-scl-rising-time-ns = <450>; 493c66ec88fSEmmanuel Vadot i2c-scl-falling-time-ns = <15>; 494c66ec88fSEmmanuel Vadot status = "okay"; 495c66ec88fSEmmanuel Vadot 496c66ec88fSEmmanuel Vadot ak09911@c { 497c66ec88fSEmmanuel Vadot compatible = "asahi-kasei,ak09911"; 498c66ec88fSEmmanuel Vadot reg = <0x0c>; 499c66ec88fSEmmanuel Vadot vdd-supply = <&vcc3v3_s3>; 500c66ec88fSEmmanuel Vadot vid-supply = <&vcc3v3_s3>; 501c66ec88fSEmmanuel Vadot }; 502c66ec88fSEmmanuel Vadot 503c66ec88fSEmmanuel Vadot mpu6500@68 { 504c66ec88fSEmmanuel Vadot compatible = "invensense,mpu6500"; 505c66ec88fSEmmanuel Vadot reg = <0x68>; 506c66ec88fSEmmanuel Vadot interrupt-parent = <&gpio1>; 507c66ec88fSEmmanuel Vadot interrupts = <RK_PC6 IRQ_TYPE_EDGE_RISING>; 508c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 509c66ec88fSEmmanuel Vadot pinctrl-0 = <&gsensor_int_l>; 510c66ec88fSEmmanuel Vadot vddio-supply = <&vcc3v3_s3>; 511c66ec88fSEmmanuel Vadot }; 512c66ec88fSEmmanuel Vadot 513c66ec88fSEmmanuel Vadot lsm6ds3@6a { 514c66ec88fSEmmanuel Vadot compatible = "st,lsm6ds3"; 515c66ec88fSEmmanuel Vadot reg = <0x6a>; 516c66ec88fSEmmanuel Vadot interrupt-parent = <&gpio1>; 517c66ec88fSEmmanuel Vadot interrupts = <RK_PD0 IRQ_TYPE_EDGE_RISING>; 518c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 519c66ec88fSEmmanuel Vadot pinctrl-0 = <&gyr_int_l>; 520c66ec88fSEmmanuel Vadot vdd-supply = <&vcc3v3_s3>; 521c66ec88fSEmmanuel Vadot vddio-supply = <&vcc3v3_s3>; 522c66ec88fSEmmanuel Vadot }; 523c66ec88fSEmmanuel Vadot 524c66ec88fSEmmanuel Vadot cm32181@10 { 525c66ec88fSEmmanuel Vadot compatible = "capella,cm32181"; 526c66ec88fSEmmanuel Vadot reg = <0x10>; 527c66ec88fSEmmanuel Vadot interrupt-parent = <&gpio4>; 528c66ec88fSEmmanuel Vadot interrupts = <RK_PD0 IRQ_TYPE_EDGE_RISING>; 529c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 530c66ec88fSEmmanuel Vadot pinctrl-0 = <&light_int_l>; 531c66ec88fSEmmanuel Vadot vdd-supply = <&vcc3v3_s3>; 532c66ec88fSEmmanuel Vadot }; 533c66ec88fSEmmanuel Vadot 534c66ec88fSEmmanuel Vadot fusb302@22 { 535c66ec88fSEmmanuel Vadot compatible = "fcs,fusb302"; 536c66ec88fSEmmanuel Vadot reg = <0x22>; 537c66ec88fSEmmanuel Vadot interrupt-parent = <&gpio1>; 538c66ec88fSEmmanuel Vadot interrupts = <RK_PA2 IRQ_TYPE_LEVEL_LOW>; 539c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 540c66ec88fSEmmanuel Vadot pinctrl-0 = <&chg_cc_int_l>; 541c66ec88fSEmmanuel Vadot vbus-supply = <&vbus_typec>; 5425def4c47SEmmanuel Vadot 5435def4c47SEmmanuel Vadot typec_con: connector { 5445def4c47SEmmanuel Vadot compatible = "usb-c-connector"; 5455def4c47SEmmanuel Vadot data-role = "host"; 5465def4c47SEmmanuel Vadot label = "USB-C"; 5475def4c47SEmmanuel Vadot op-sink-microwatt = <1000000>; 5485def4c47SEmmanuel Vadot power-role = "dual"; 5495def4c47SEmmanuel Vadot sink-pdos = 5505def4c47SEmmanuel Vadot <PDO_FIXED(5000, 2500, PDO_FIXED_USB_COMM)>; 5515def4c47SEmmanuel Vadot source-pdos = 5525def4c47SEmmanuel Vadot <PDO_FIXED(5000, 1400, PDO_FIXED_USB_COMM)>; 5535def4c47SEmmanuel Vadot try-power-role = "sink"; 5545def4c47SEmmanuel Vadot 5555def4c47SEmmanuel Vadot ports { 5565def4c47SEmmanuel Vadot #address-cells = <1>; 5575def4c47SEmmanuel Vadot #size-cells = <0>; 5585def4c47SEmmanuel Vadot 5595def4c47SEmmanuel Vadot port@0 { 5605def4c47SEmmanuel Vadot reg = <0>; 5615def4c47SEmmanuel Vadot typec_hs: endpoint { 5625def4c47SEmmanuel Vadot remote-endpoint = <&u2phy0_typec_hs>; 5635def4c47SEmmanuel Vadot }; 5645def4c47SEmmanuel Vadot }; 5655def4c47SEmmanuel Vadot port@1 { 5665def4c47SEmmanuel Vadot reg = <1>; 5675def4c47SEmmanuel Vadot typec_ss: endpoint { 5685def4c47SEmmanuel Vadot remote-endpoint = <&tcphy0_typec_ss>; 5695def4c47SEmmanuel Vadot }; 5705def4c47SEmmanuel Vadot }; 5715def4c47SEmmanuel Vadot port@2 { 5725def4c47SEmmanuel Vadot reg = <2>; 5735def4c47SEmmanuel Vadot typec_dp: endpoint { 5745def4c47SEmmanuel Vadot remote-endpoint = <&tcphy0_typec_dp>; 5755def4c47SEmmanuel Vadot }; 5765def4c47SEmmanuel Vadot }; 5775def4c47SEmmanuel Vadot }; 5785def4c47SEmmanuel Vadot }; 579c66ec88fSEmmanuel Vadot }; 580c66ec88fSEmmanuel Vadot}; 581c66ec88fSEmmanuel Vadot 582c66ec88fSEmmanuel Vadot&io_domains { 583c66ec88fSEmmanuel Vadot status = "okay"; 584c66ec88fSEmmanuel Vadot bt656-supply = <&vcc_3v0>; 585c66ec88fSEmmanuel Vadot audio-supply = <&vcca1v8_codec>; 586c66ec88fSEmmanuel Vadot sdmmc-supply = <&vcc_sdio>; 587c66ec88fSEmmanuel Vadot gpio1830-supply = <&vcc_3v0>; 588c66ec88fSEmmanuel Vadot}; 589c66ec88fSEmmanuel Vadot 590c66ec88fSEmmanuel Vadot&pmu_io_domains { 591c66ec88fSEmmanuel Vadot status = "okay"; 592c66ec88fSEmmanuel Vadot pmu1830-supply = <&vcc_3v0>; 593c66ec88fSEmmanuel Vadot}; 594c66ec88fSEmmanuel Vadot 595c66ec88fSEmmanuel Vadot&pinctrl { 596c66ec88fSEmmanuel Vadot buttons { 597c66ec88fSEmmanuel Vadot pwr_btn: pwr-btn { 598c66ec88fSEmmanuel Vadot rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>; 599c66ec88fSEmmanuel Vadot }; 600c66ec88fSEmmanuel Vadot }; 601c66ec88fSEmmanuel Vadot 602c66ec88fSEmmanuel Vadot gmac { 603c66ec88fSEmmanuel Vadot phy_intb: phy-intb { 604c66ec88fSEmmanuel Vadot rockchip,pins = <3 RK_PB2 RK_FUNC_GPIO &pcfg_pull_up>; 605c66ec88fSEmmanuel Vadot }; 606c66ec88fSEmmanuel Vadot 607c66ec88fSEmmanuel Vadot phy_rstb: phy-rstb { 608c66ec88fSEmmanuel Vadot rockchip,pins = <3 RK_PB7 RK_FUNC_GPIO &pcfg_pull_none>; 609c66ec88fSEmmanuel Vadot }; 610c66ec88fSEmmanuel Vadot }; 611c66ec88fSEmmanuel Vadot 612c66ec88fSEmmanuel Vadot pmic { 613c66ec88fSEmmanuel Vadot cpu_b_sleep: cpu-b-sleep { 614c66ec88fSEmmanuel Vadot rockchip,pins = <1 RK_PC1 RK_FUNC_GPIO &pcfg_pull_down>; 615c66ec88fSEmmanuel Vadot }; 616c66ec88fSEmmanuel Vadot 617c66ec88fSEmmanuel Vadot gpu_sleep: gpu-sleep { 618c66ec88fSEmmanuel Vadot rockchip,pins = <1 RK_PB6 RK_FUNC_GPIO &pcfg_pull_down>; 619c66ec88fSEmmanuel Vadot }; 620c66ec88fSEmmanuel Vadot 621c66ec88fSEmmanuel Vadot pmic_int_l: pmic-int-l { 622c66ec88fSEmmanuel Vadot rockchip,pins = 623c66ec88fSEmmanuel Vadot <1 RK_PC5 RK_FUNC_GPIO &pcfg_pull_up>; 624c66ec88fSEmmanuel Vadot }; 625c66ec88fSEmmanuel Vadot }; 626c66ec88fSEmmanuel Vadot 627c66ec88fSEmmanuel Vadot sd { 628c66ec88fSEmmanuel Vadot sdmmc0_pwr_h: sdmmc0-pwr-h { 629c66ec88fSEmmanuel Vadot rockchip,pins = 630c66ec88fSEmmanuel Vadot <0 RK_PA1 RK_FUNC_GPIO &pcfg_pull_none>; 631c66ec88fSEmmanuel Vadot }; 632c66ec88fSEmmanuel Vadot }; 633c66ec88fSEmmanuel Vadot 634c66ec88fSEmmanuel Vadot usb2 { 635c66ec88fSEmmanuel Vadot vcc5v0_host_en: vcc5v0-host-en { 636c66ec88fSEmmanuel Vadot rockchip,pins = 637c66ec88fSEmmanuel Vadot <4 RK_PD1 RK_FUNC_GPIO &pcfg_pull_none>; 638c66ec88fSEmmanuel Vadot }; 639c66ec88fSEmmanuel Vadot 640c66ec88fSEmmanuel Vadot vcc5v0_typec_en: vcc5v0-typec-en { 641c66ec88fSEmmanuel Vadot rockchip,pins = 642c66ec88fSEmmanuel Vadot <1 RK_PA3 RK_FUNC_GPIO &pcfg_pull_none>; 643c66ec88fSEmmanuel Vadot }; 644c66ec88fSEmmanuel Vadot }; 645c66ec88fSEmmanuel Vadot 646c66ec88fSEmmanuel Vadot sdio-pwrseq { 647c66ec88fSEmmanuel Vadot wifi_reg_on_h: wifi-reg-on-h { 648c66ec88fSEmmanuel Vadot rockchip,pins = <0 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>; 649c66ec88fSEmmanuel Vadot }; 650c66ec88fSEmmanuel Vadot }; 651c66ec88fSEmmanuel Vadot 652c66ec88fSEmmanuel Vadot wifi { 653c66ec88fSEmmanuel Vadot wifi_host_wake_l: wifi-host-wake-l { 654c66ec88fSEmmanuel Vadot rockchip,pins = <0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_none>; 655c66ec88fSEmmanuel Vadot }; 656c66ec88fSEmmanuel Vadot }; 657c66ec88fSEmmanuel Vadot 658c66ec88fSEmmanuel Vadot bluetooth { 659c66ec88fSEmmanuel Vadot bt_reg_on_h: bt-enable-h { 660c66ec88fSEmmanuel Vadot rockchip,pins = <0 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>; 661c66ec88fSEmmanuel Vadot }; 662c66ec88fSEmmanuel Vadot 663c66ec88fSEmmanuel Vadot bt_host_wake_l: bt-host-wake-l { 664c66ec88fSEmmanuel Vadot rockchip,pins = <0 RK_PA4 RK_FUNC_GPIO &pcfg_pull_none>; 665c66ec88fSEmmanuel Vadot }; 666c66ec88fSEmmanuel Vadot 667c66ec88fSEmmanuel Vadot bt_wake_l: bt-wake-l { 668c66ec88fSEmmanuel Vadot rockchip,pins = <2 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>; 669c66ec88fSEmmanuel Vadot }; 670c66ec88fSEmmanuel Vadot }; 671c66ec88fSEmmanuel Vadot 672c66ec88fSEmmanuel Vadot mpu6500 { 673c66ec88fSEmmanuel Vadot gsensor_int_l: gsensor-int-l { 674c66ec88fSEmmanuel Vadot rockchip,pins = <1 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>; 675c66ec88fSEmmanuel Vadot }; 676c66ec88fSEmmanuel Vadot }; 677c66ec88fSEmmanuel Vadot 678c66ec88fSEmmanuel Vadot lsm6ds3 { 679c66ec88fSEmmanuel Vadot gyr_int_l: gyr-int-l { 680c66ec88fSEmmanuel Vadot rockchip,pins = <1 RK_PD0 RK_FUNC_GPIO &pcfg_pull_none>; 681c66ec88fSEmmanuel Vadot }; 682c66ec88fSEmmanuel Vadot }; 683c66ec88fSEmmanuel Vadot 684c66ec88fSEmmanuel Vadot cm32181 { 685c66ec88fSEmmanuel Vadot light_int_l: light-int-l { 686c66ec88fSEmmanuel Vadot rockchip,pins = <4 RK_PD0 RK_FUNC_GPIO &pcfg_pull_none>; 687c66ec88fSEmmanuel Vadot }; 688c66ec88fSEmmanuel Vadot }; 689c66ec88fSEmmanuel Vadot 690c66ec88fSEmmanuel Vadot fusb302 { 691c66ec88fSEmmanuel Vadot chg_cc_int_l: chg-cc-int-l { 692c66ec88fSEmmanuel Vadot rockchip,pins = <1 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up>; 693c66ec88fSEmmanuel Vadot }; 694c66ec88fSEmmanuel Vadot }; 695c66ec88fSEmmanuel Vadot}; 696c66ec88fSEmmanuel Vadot 697c66ec88fSEmmanuel Vadot&pwm0 { 698c66ec88fSEmmanuel Vadot status = "okay"; 699c66ec88fSEmmanuel Vadot}; 700c66ec88fSEmmanuel Vadot 701c66ec88fSEmmanuel Vadot&pwm2 { 702c66ec88fSEmmanuel Vadot status = "okay"; 703c66ec88fSEmmanuel Vadot}; 704c66ec88fSEmmanuel Vadot 705c66ec88fSEmmanuel Vadot&saradc { 706c66ec88fSEmmanuel Vadot vref-supply = <&vcca1v8_s3>; 707c66ec88fSEmmanuel Vadot status = "okay"; 708c66ec88fSEmmanuel Vadot}; 709c66ec88fSEmmanuel Vadot 710c66ec88fSEmmanuel Vadot&sdhci { 711c66ec88fSEmmanuel Vadot bus-width = <8>; 712c66ec88fSEmmanuel Vadot mmc-hs400-1_8v; 713c66ec88fSEmmanuel Vadot mmc-hs400-enhanced-strobe; 714c66ec88fSEmmanuel Vadot non-removable; 715c66ec88fSEmmanuel Vadot status = "okay"; 716c66ec88fSEmmanuel Vadot}; 717c66ec88fSEmmanuel Vadot 718c66ec88fSEmmanuel Vadot&sdio0 { 719c66ec88fSEmmanuel Vadot bus-width = <4>; 720c66ec88fSEmmanuel Vadot cap-sd-highspeed; 721c66ec88fSEmmanuel Vadot cap-sdio-irq; 722c66ec88fSEmmanuel Vadot clock-frequency = <50000000>; 723c66ec88fSEmmanuel Vadot disable-wp; 724c66ec88fSEmmanuel Vadot keep-power-in-suspend; 725c66ec88fSEmmanuel Vadot max-frequency = <50000000>; 726c66ec88fSEmmanuel Vadot mmc-pwrseq = <&sdio_pwrseq>; 727c66ec88fSEmmanuel Vadot non-removable; 728c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 729c66ec88fSEmmanuel Vadot pinctrl-0 = <&sdio0_bus4 &sdio0_cmd &sdio0_clk>; 730c66ec88fSEmmanuel Vadot sd-uhs-sdr104; 731c66ec88fSEmmanuel Vadot #address-cells = <1>; 732c66ec88fSEmmanuel Vadot #size-cells = <0>; 733c66ec88fSEmmanuel Vadot status = "okay"; 734c66ec88fSEmmanuel Vadot 735c66ec88fSEmmanuel Vadot brcmf: wifi@1 { 736c66ec88fSEmmanuel Vadot reg = <1>; 737c66ec88fSEmmanuel Vadot compatible = "brcm,bcm4329-fmac"; 738c66ec88fSEmmanuel Vadot interrupt-parent = <&gpio0>; 739d5b0e70fSEmmanuel Vadot interrupts = <RK_PA3 IRQ_TYPE_LEVEL_HIGH>; 740c66ec88fSEmmanuel Vadot interrupt-names = "host-wake"; 741c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 742c66ec88fSEmmanuel Vadot pinctrl-0 = <&wifi_host_wake_l>; 743c66ec88fSEmmanuel Vadot }; 744c66ec88fSEmmanuel Vadot}; 745c66ec88fSEmmanuel Vadot 746c66ec88fSEmmanuel Vadot&sdmmc { 747c66ec88fSEmmanuel Vadot bus-width = <4>; 748c66ec88fSEmmanuel Vadot cap-mmc-highspeed; 749c66ec88fSEmmanuel Vadot cap-sd-highspeed; 750c66ec88fSEmmanuel Vadot cd-gpios = <&gpio0 RK_PA7 GPIO_ACTIVE_LOW>; 751c66ec88fSEmmanuel Vadot clock-frequency = <150000000>; 752c66ec88fSEmmanuel Vadot disable-wp; 753c66ec88fSEmmanuel Vadot max-frequency = <150000000>; 754c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 755c66ec88fSEmmanuel Vadot pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_cd &sdmmc_bus4>; 756c66ec88fSEmmanuel Vadot vmmc-supply = <&vcc3v0_sd>; 757c66ec88fSEmmanuel Vadot vqmmc-supply = <&vcc_sdio>; 758c66ec88fSEmmanuel Vadot status = "okay"; 759c66ec88fSEmmanuel Vadot}; 760c66ec88fSEmmanuel Vadot 761c66ec88fSEmmanuel Vadot&tcphy0 { 762c66ec88fSEmmanuel Vadot status = "okay"; 763c66ec88fSEmmanuel Vadot}; 764c66ec88fSEmmanuel Vadot 7655def4c47SEmmanuel Vadot&tcphy0_dp { 7665def4c47SEmmanuel Vadot port { 7675def4c47SEmmanuel Vadot tcphy0_typec_dp: endpoint { 7685def4c47SEmmanuel Vadot remote-endpoint = <&typec_dp>; 7695def4c47SEmmanuel Vadot }; 7705def4c47SEmmanuel Vadot }; 7715def4c47SEmmanuel Vadot}; 7725def4c47SEmmanuel Vadot 7735def4c47SEmmanuel Vadot&tcphy0_usb3 { 7745def4c47SEmmanuel Vadot port { 7755def4c47SEmmanuel Vadot tcphy0_typec_ss: endpoint { 7765def4c47SEmmanuel Vadot remote-endpoint = <&typec_ss>; 7775def4c47SEmmanuel Vadot }; 7785def4c47SEmmanuel Vadot }; 7795def4c47SEmmanuel Vadot}; 7805def4c47SEmmanuel Vadot 781c66ec88fSEmmanuel Vadot&tcphy1 { 782c66ec88fSEmmanuel Vadot status = "okay"; 783c66ec88fSEmmanuel Vadot}; 784c66ec88fSEmmanuel Vadot 785c66ec88fSEmmanuel Vadot&tsadc { 786c66ec88fSEmmanuel Vadot rockchip,hw-tshut-mode = <1>; 787c66ec88fSEmmanuel Vadot rockchip,hw-tshut-polarity = <1>; 788c66ec88fSEmmanuel Vadot status = "okay"; 789c66ec88fSEmmanuel Vadot}; 790c66ec88fSEmmanuel Vadot 791c66ec88fSEmmanuel Vadot&u2phy0 { 792c66ec88fSEmmanuel Vadot status = "okay"; 793c66ec88fSEmmanuel Vadot 794c66ec88fSEmmanuel Vadot u2phy0_otg: otg-port { 795c66ec88fSEmmanuel Vadot phy-supply = <&vbus_typec>; 796c66ec88fSEmmanuel Vadot status = "okay"; 797c66ec88fSEmmanuel Vadot }; 798c66ec88fSEmmanuel Vadot 799c66ec88fSEmmanuel Vadot u2phy0_host: host-port { 800c66ec88fSEmmanuel Vadot phy-supply = <&vcc5v0_host>; 801c66ec88fSEmmanuel Vadot status = "okay"; 802c66ec88fSEmmanuel Vadot }; 8035def4c47SEmmanuel Vadot 8045def4c47SEmmanuel Vadot port { 8055def4c47SEmmanuel Vadot u2phy0_typec_hs: endpoint { 8065def4c47SEmmanuel Vadot remote-endpoint = <&typec_hs>; 8075def4c47SEmmanuel Vadot }; 8085def4c47SEmmanuel Vadot }; 809c66ec88fSEmmanuel Vadot}; 810c66ec88fSEmmanuel Vadot 811c66ec88fSEmmanuel Vadot&u2phy1 { 812c66ec88fSEmmanuel Vadot status = "okay"; 813c66ec88fSEmmanuel Vadot 814c66ec88fSEmmanuel Vadot u2phy1_otg: otg-port { 815c66ec88fSEmmanuel Vadot status = "okay"; 816c66ec88fSEmmanuel Vadot }; 817c66ec88fSEmmanuel Vadot 818c66ec88fSEmmanuel Vadot u2phy1_host: host-port { 819c66ec88fSEmmanuel Vadot phy-supply = <&vcc5v0_host>; 820c66ec88fSEmmanuel Vadot status = "okay"; 821c66ec88fSEmmanuel Vadot }; 822c66ec88fSEmmanuel Vadot}; 823c66ec88fSEmmanuel Vadot 824c66ec88fSEmmanuel Vadot&uart0 { 825c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 826c66ec88fSEmmanuel Vadot pinctrl-0 = <&uart0_xfer &uart0_cts &uart0_rts>; 827c66ec88fSEmmanuel Vadot status = "okay"; 828c66ec88fSEmmanuel Vadot 829c66ec88fSEmmanuel Vadot bluetooth { 830c66ec88fSEmmanuel Vadot compatible = "brcm,bcm43438-bt"; 831c66ec88fSEmmanuel Vadot clocks = <&rk808 1>; 832c66ec88fSEmmanuel Vadot clock-names = "lpo"; 833c66ec88fSEmmanuel Vadot device-wakeup-gpios = <&gpio2 RK_PD2 GPIO_ACTIVE_HIGH>; 834c66ec88fSEmmanuel Vadot host-wakeup-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_HIGH>; 835c66ec88fSEmmanuel Vadot shutdown-gpios = <&gpio0 RK_PB1 GPIO_ACTIVE_HIGH>; 836c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 837c66ec88fSEmmanuel Vadot pinctrl-0 = <&bt_host_wake_l &bt_wake_l &bt_reg_on_h>; 838c66ec88fSEmmanuel Vadot vbat-supply = <&vcc3v3_sys>; 839c66ec88fSEmmanuel Vadot vddio-supply = <&vcc_1v8>; 840c66ec88fSEmmanuel Vadot }; 841c66ec88fSEmmanuel Vadot}; 842c66ec88fSEmmanuel Vadot 843c66ec88fSEmmanuel Vadot&uart2 { 844c66ec88fSEmmanuel Vadot status = "okay"; 845c66ec88fSEmmanuel Vadot}; 846c66ec88fSEmmanuel Vadot 847c66ec88fSEmmanuel Vadot&usb_host0_ehci { 848c66ec88fSEmmanuel Vadot status = "okay"; 849c66ec88fSEmmanuel Vadot}; 850c66ec88fSEmmanuel Vadot 851c66ec88fSEmmanuel Vadot&usb_host0_ohci { 852c66ec88fSEmmanuel Vadot status = "okay"; 853c66ec88fSEmmanuel Vadot}; 854c66ec88fSEmmanuel Vadot 855c66ec88fSEmmanuel Vadot&usb_host1_ehci { 856c66ec88fSEmmanuel Vadot status = "okay"; 857c66ec88fSEmmanuel Vadot}; 858c66ec88fSEmmanuel Vadot 859c66ec88fSEmmanuel Vadot&usb_host1_ohci { 860c66ec88fSEmmanuel Vadot status = "okay"; 861c66ec88fSEmmanuel Vadot}; 862c66ec88fSEmmanuel Vadot 863c66ec88fSEmmanuel Vadot&usbdrd3_0 { 864c66ec88fSEmmanuel Vadot status = "okay"; 865c66ec88fSEmmanuel Vadot}; 866c66ec88fSEmmanuel Vadot 867c66ec88fSEmmanuel Vadot&usbdrd_dwc3_0 { 868c66ec88fSEmmanuel Vadot status = "okay"; 8695def4c47SEmmanuel Vadot dr_mode = "host"; 870c66ec88fSEmmanuel Vadot}; 871c66ec88fSEmmanuel Vadot 872c66ec88fSEmmanuel Vadot&usbdrd3_1 { 873c66ec88fSEmmanuel Vadot status = "okay"; 874c66ec88fSEmmanuel Vadot}; 875c66ec88fSEmmanuel Vadot 876c66ec88fSEmmanuel Vadot&usbdrd_dwc3_1 { 877c66ec88fSEmmanuel Vadot status = "okay"; 878c66ec88fSEmmanuel Vadot dr_mode = "host"; 879c66ec88fSEmmanuel Vadot}; 880c66ec88fSEmmanuel Vadot 881c66ec88fSEmmanuel Vadot&vopb { 882c66ec88fSEmmanuel Vadot status = "okay"; 883c66ec88fSEmmanuel Vadot}; 884c66ec88fSEmmanuel Vadot 885c66ec88fSEmmanuel Vadot&vopb_mmu { 886c66ec88fSEmmanuel Vadot status = "okay"; 887c66ec88fSEmmanuel Vadot}; 888c66ec88fSEmmanuel Vadot 889c66ec88fSEmmanuel Vadot&vopl { 890c66ec88fSEmmanuel Vadot status = "okay"; 891c66ec88fSEmmanuel Vadot}; 892c66ec88fSEmmanuel Vadot 893c66ec88fSEmmanuel Vadot&vopl_mmu { 894c66ec88fSEmmanuel Vadot status = "okay"; 895c66ec88fSEmmanuel Vadot}; 896