1c66ec88fSEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2c66ec88fSEmmanuel Vadot/* 3c66ec88fSEmmanuel Vadot * Copyright (c) 2017 Theobroma Systems Design und Consulting GmbH 4c66ec88fSEmmanuel Vadot */ 5c66ec88fSEmmanuel Vadot 6c66ec88fSEmmanuel Vadot#include <dt-bindings/pwm/pwm.h> 7c66ec88fSEmmanuel Vadot#include "rk3399.dtsi" 8c66ec88fSEmmanuel Vadot#include "rk3399-opp.dtsi" 9c66ec88fSEmmanuel Vadot 10c66ec88fSEmmanuel Vadot/ { 112eb4d8dcSEmmanuel Vadot aliases { 12*8d13bc63SEmmanuel Vadot ethernet0 = &gmac; 132eb4d8dcSEmmanuel Vadot mmc0 = &sdhci; 142eb4d8dcSEmmanuel Vadot }; 152eb4d8dcSEmmanuel Vadot 16c66ec88fSEmmanuel Vadot leds { 17c66ec88fSEmmanuel Vadot compatible = "gpio-leds"; 18c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 19c66ec88fSEmmanuel Vadot pinctrl-0 = <&module_led_pin>; 20c66ec88fSEmmanuel Vadot 21c66ec88fSEmmanuel Vadot module_led: led-0 { 22c66ec88fSEmmanuel Vadot label = "module_led"; 23c66ec88fSEmmanuel Vadot gpios = <&gpio2 RK_PD1 GPIO_ACTIVE_HIGH>; 24c66ec88fSEmmanuel Vadot linux,default-trigger = "heartbeat"; 25c66ec88fSEmmanuel Vadot panic-indicator; 26c66ec88fSEmmanuel Vadot }; 27c66ec88fSEmmanuel Vadot }; 28c66ec88fSEmmanuel Vadot 29e67e8565SEmmanuel Vadot extcon_usb3: extcon-usb3 { 30e67e8565SEmmanuel Vadot compatible = "linux,extcon-usb-gpio"; 31aa1a8ff2SEmmanuel Vadot id-gpios = <&gpio1 RK_PC2 GPIO_ACTIVE_HIGH>; 32e67e8565SEmmanuel Vadot pinctrl-names = "default"; 33e67e8565SEmmanuel Vadot pinctrl-0 = <&usb3_id>; 34e67e8565SEmmanuel Vadot }; 35e67e8565SEmmanuel Vadot 36c66ec88fSEmmanuel Vadot clkin_gmac: external-gmac-clock { 37c66ec88fSEmmanuel Vadot compatible = "fixed-clock"; 38c66ec88fSEmmanuel Vadot clock-frequency = <125000000>; 39c66ec88fSEmmanuel Vadot clock-output-names = "clkin_gmac"; 40c66ec88fSEmmanuel Vadot #clock-cells = <0>; 41c66ec88fSEmmanuel Vadot }; 42c66ec88fSEmmanuel Vadot 43c66ec88fSEmmanuel Vadot vcc1v2_phy: vcc1v2-phy { 44c66ec88fSEmmanuel Vadot compatible = "regulator-fixed"; 45c66ec88fSEmmanuel Vadot regulator-name = "vcc1v2_phy"; 46c66ec88fSEmmanuel Vadot regulator-always-on; 47c66ec88fSEmmanuel Vadot regulator-boot-on; 48c66ec88fSEmmanuel Vadot regulator-min-microvolt = <1200000>; 49c66ec88fSEmmanuel Vadot regulator-max-microvolt = <1200000>; 50c66ec88fSEmmanuel Vadot vin-supply = <&vcc5v0_sys>; 51c66ec88fSEmmanuel Vadot }; 52c66ec88fSEmmanuel Vadot 53c66ec88fSEmmanuel Vadot vcc3v3_sys: vcc3v3-sys { 54c66ec88fSEmmanuel Vadot compatible = "regulator-fixed"; 55c66ec88fSEmmanuel Vadot regulator-name = "vcc3v3_sys"; 56c66ec88fSEmmanuel Vadot regulator-always-on; 57c66ec88fSEmmanuel Vadot regulator-boot-on; 58c66ec88fSEmmanuel Vadot regulator-min-microvolt = <3300000>; 59c66ec88fSEmmanuel Vadot regulator-max-microvolt = <3300000>; 60c66ec88fSEmmanuel Vadot vin-supply = <&vcc5v0_sys>; 61c66ec88fSEmmanuel Vadot }; 62c66ec88fSEmmanuel Vadot 63c66ec88fSEmmanuel Vadot vcc5v0_host: vcc5v0-host-regulator { 64c66ec88fSEmmanuel Vadot compatible = "regulator-fixed"; 65c66ec88fSEmmanuel Vadot gpio = <&gpio4 RK_PA3 GPIO_ACTIVE_LOW>; 66c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 67c66ec88fSEmmanuel Vadot pinctrl-0 = <&vcc5v0_host_en>; 68c66ec88fSEmmanuel Vadot regulator-name = "vcc5v0_host"; 69c66ec88fSEmmanuel Vadot regulator-always-on; 70c66ec88fSEmmanuel Vadot vin-supply = <&vcc5v0_sys>; 71c66ec88fSEmmanuel Vadot }; 72c66ec88fSEmmanuel Vadot 73c66ec88fSEmmanuel Vadot vcc5v0_sys: vcc5v0-sys { 74c66ec88fSEmmanuel Vadot compatible = "regulator-fixed"; 75c66ec88fSEmmanuel Vadot regulator-name = "vcc5v0_sys"; 76c66ec88fSEmmanuel Vadot regulator-always-on; 77c66ec88fSEmmanuel Vadot regulator-boot-on; 78c66ec88fSEmmanuel Vadot regulator-min-microvolt = <5000000>; 79c66ec88fSEmmanuel Vadot regulator-max-microvolt = <5000000>; 80c66ec88fSEmmanuel Vadot }; 81c9ccf3a3SEmmanuel Vadot 82c9ccf3a3SEmmanuel Vadot vdd_log: vdd-log { 83c9ccf3a3SEmmanuel Vadot compatible = "pwm-regulator"; 84c9ccf3a3SEmmanuel Vadot pwms = <&pwm2 0 25000 1>; 85c9ccf3a3SEmmanuel Vadot pwm-supply = <&vcc5v0_sys>; 86c9ccf3a3SEmmanuel Vadot regulator-name = "vdd_log"; 87c9ccf3a3SEmmanuel Vadot regulator-min-microvolt = <800000>; 88c9ccf3a3SEmmanuel Vadot regulator-max-microvolt = <1400000>; 89c9ccf3a3SEmmanuel Vadot regulator-always-on; 90c9ccf3a3SEmmanuel Vadot regulator-boot-on; 91c9ccf3a3SEmmanuel Vadot }; 92c66ec88fSEmmanuel Vadot}; 93c66ec88fSEmmanuel Vadot 94c66ec88fSEmmanuel Vadot&cpu_b0 { 95c66ec88fSEmmanuel Vadot cpu-supply = <&vdd_cpu_b>; 96c66ec88fSEmmanuel Vadot}; 97c66ec88fSEmmanuel Vadot 98c66ec88fSEmmanuel Vadot&cpu_b1 { 99c66ec88fSEmmanuel Vadot cpu-supply = <&vdd_cpu_b>; 100c66ec88fSEmmanuel Vadot}; 101c66ec88fSEmmanuel Vadot 102c66ec88fSEmmanuel Vadot&cpu_l0 { 103c66ec88fSEmmanuel Vadot cpu-supply = <&vdd_cpu_l>; 104c66ec88fSEmmanuel Vadot}; 105c66ec88fSEmmanuel Vadot 106c66ec88fSEmmanuel Vadot&cpu_l1 { 107c66ec88fSEmmanuel Vadot cpu-supply = <&vdd_cpu_l>; 108c66ec88fSEmmanuel Vadot}; 109c66ec88fSEmmanuel Vadot 110c66ec88fSEmmanuel Vadot&cpu_l2 { 111c66ec88fSEmmanuel Vadot cpu-supply = <&vdd_cpu_l>; 112c66ec88fSEmmanuel Vadot}; 113c66ec88fSEmmanuel Vadot 114c66ec88fSEmmanuel Vadot&cpu_l3 { 115c66ec88fSEmmanuel Vadot cpu-supply = <&vdd_cpu_l>; 116c66ec88fSEmmanuel Vadot}; 117c66ec88fSEmmanuel Vadot 118c66ec88fSEmmanuel Vadot&emmc_phy { 119c66ec88fSEmmanuel Vadot status = "okay"; 120c66ec88fSEmmanuel Vadot drive-impedance-ohm = <33>; 121c66ec88fSEmmanuel Vadot}; 122c66ec88fSEmmanuel Vadot 123*8d13bc63SEmmanuel Vadot&gpio0 { 124*8d13bc63SEmmanuel Vadot /* 125*8d13bc63SEmmanuel Vadot * The BIOS_DISABLE hog is a feedback pin for the actual status of the 126*8d13bc63SEmmanuel Vadot * signal. This usually represents the state of a switch on the baseboard. 127*8d13bc63SEmmanuel Vadot * The pin has a 10k pull-up resistor connected, so no pull-up setting is needed. 128*8d13bc63SEmmanuel Vadot */ 129*8d13bc63SEmmanuel Vadot bios-disable-hog { 130*8d13bc63SEmmanuel Vadot gpios = <RK_PB0 GPIO_ACTIVE_HIGH>; 131*8d13bc63SEmmanuel Vadot gpio-hog; 132*8d13bc63SEmmanuel Vadot input; 133*8d13bc63SEmmanuel Vadot line-name = "bios_disable"; 134*8d13bc63SEmmanuel Vadot }; 135*8d13bc63SEmmanuel Vadot}; 136*8d13bc63SEmmanuel Vadot 137c66ec88fSEmmanuel Vadot&gmac { 138c66ec88fSEmmanuel Vadot assigned-clocks = <&cru SCLK_RMII_SRC>; 139c66ec88fSEmmanuel Vadot assigned-clock-parents = <&clkin_gmac>; 140c66ec88fSEmmanuel Vadot clock_in_out = "input"; 141c66ec88fSEmmanuel Vadot phy-supply = <&vcc1v2_phy>; 142c66ec88fSEmmanuel Vadot phy-mode = "rgmii"; 143c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 144c66ec88fSEmmanuel Vadot pinctrl-0 = <&rgmii_pins>; 145c66ec88fSEmmanuel Vadot snps,reset-gpio = <&gpio3 RK_PC0 GPIO_ACTIVE_LOW>; 146c66ec88fSEmmanuel Vadot snps,reset-active-low; 147c66ec88fSEmmanuel Vadot snps,reset-delays-us = <0 10000 50000>; 148c66ec88fSEmmanuel Vadot tx_delay = <0x10>; 149c66ec88fSEmmanuel Vadot rx_delay = <0x10>; 150c66ec88fSEmmanuel Vadot status = "okay"; 151c66ec88fSEmmanuel Vadot}; 152c66ec88fSEmmanuel Vadot 153c66ec88fSEmmanuel Vadot&gpu { 154c66ec88fSEmmanuel Vadot mali-supply = <&vdd_gpu>; 155c66ec88fSEmmanuel Vadot status = "okay"; 156c66ec88fSEmmanuel Vadot}; 157c66ec88fSEmmanuel Vadot 158c66ec88fSEmmanuel Vadot&i2c0 { 159c66ec88fSEmmanuel Vadot status = "okay"; 160c66ec88fSEmmanuel Vadot i2c-scl-rising-time-ns = <168>; 161c66ec88fSEmmanuel Vadot i2c-scl-falling-time-ns = <4>; 162c66ec88fSEmmanuel Vadot clock-frequency = <400000>; 163c66ec88fSEmmanuel Vadot 164c66ec88fSEmmanuel Vadot rk808: pmic@1b { 165c66ec88fSEmmanuel Vadot compatible = "rockchip,rk808"; 166c66ec88fSEmmanuel Vadot reg = <0x1b>; 167c66ec88fSEmmanuel Vadot interrupt-parent = <&gpio1>; 168c66ec88fSEmmanuel Vadot interrupts = <22 IRQ_TYPE_LEVEL_LOW>; 169c66ec88fSEmmanuel Vadot #clock-cells = <1>; 170c66ec88fSEmmanuel Vadot clock-output-names = "xin32k", "rk808-clkout2"; 171c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 172c66ec88fSEmmanuel Vadot pinctrl-0 = <&pmic_int_l>; 173c66ec88fSEmmanuel Vadot rockchip,system-power-controller; 174c66ec88fSEmmanuel Vadot wakeup-source; 175c66ec88fSEmmanuel Vadot 176c66ec88fSEmmanuel Vadot vcc1-supply = <&vcc5v0_sys>; 177c66ec88fSEmmanuel Vadot vcc2-supply = <&vcc5v0_sys>; 178c66ec88fSEmmanuel Vadot vcc3-supply = <&vcc5v0_sys>; 179c66ec88fSEmmanuel Vadot vcc4-supply = <&vcc5v0_sys>; 180c66ec88fSEmmanuel Vadot vcc6-supply = <&vcc5v0_sys>; 181c66ec88fSEmmanuel Vadot vcc7-supply = <&vcc5v0_sys>; 182c66ec88fSEmmanuel Vadot vcc8-supply = <&vcc3v3_sys>; 183c66ec88fSEmmanuel Vadot vcc9-supply = <&vcc5v0_sys>; 184c66ec88fSEmmanuel Vadot vcc10-supply = <&vcc5v0_sys>; 185c66ec88fSEmmanuel Vadot vcc11-supply = <&vcc5v0_sys>; 186c66ec88fSEmmanuel Vadot vcc12-supply = <&vcc3v3_sys>; 187c66ec88fSEmmanuel Vadot vddio-supply = <&vcc1v8_pmu>; 188c66ec88fSEmmanuel Vadot 189c66ec88fSEmmanuel Vadot regulators { 190c66ec88fSEmmanuel Vadot vdd_center: DCDC_REG1 { 191c66ec88fSEmmanuel Vadot regulator-name = "vdd_center"; 192c66ec88fSEmmanuel Vadot regulator-min-microvolt = <750000>; 193c66ec88fSEmmanuel Vadot regulator-max-microvolt = <1350000>; 194c66ec88fSEmmanuel Vadot regulator-ramp-delay = <6001>; 195c66ec88fSEmmanuel Vadot regulator-always-on; 196c66ec88fSEmmanuel Vadot regulator-boot-on; 197c66ec88fSEmmanuel Vadot regulator-state-mem { 198c66ec88fSEmmanuel Vadot regulator-off-in-suspend; 199c66ec88fSEmmanuel Vadot }; 200c66ec88fSEmmanuel Vadot }; 201c66ec88fSEmmanuel Vadot 202c66ec88fSEmmanuel Vadot vdd_cpu_l: DCDC_REG2 { 203c66ec88fSEmmanuel Vadot regulator-name = "vdd_cpu_l"; 204c66ec88fSEmmanuel Vadot regulator-min-microvolt = <750000>; 205c66ec88fSEmmanuel Vadot regulator-max-microvolt = <1350000>; 206c66ec88fSEmmanuel Vadot regulator-ramp-delay = <6001>; 207c66ec88fSEmmanuel Vadot regulator-always-on; 208c66ec88fSEmmanuel Vadot regulator-boot-on; 209c66ec88fSEmmanuel Vadot regulator-state-mem { 210c66ec88fSEmmanuel Vadot regulator-off-in-suspend; 211c66ec88fSEmmanuel Vadot }; 212c66ec88fSEmmanuel Vadot }; 213c66ec88fSEmmanuel Vadot 214c66ec88fSEmmanuel Vadot vcc_ddr: DCDC_REG3 { 215c66ec88fSEmmanuel Vadot regulator-name = "vcc_ddr"; 216c66ec88fSEmmanuel Vadot regulator-always-on; 217c66ec88fSEmmanuel Vadot regulator-boot-on; 218c66ec88fSEmmanuel Vadot regulator-state-mem { 219c66ec88fSEmmanuel Vadot regulator-on-in-suspend; 220c66ec88fSEmmanuel Vadot }; 221c66ec88fSEmmanuel Vadot }; 222c66ec88fSEmmanuel Vadot 223c66ec88fSEmmanuel Vadot vcc_1v8: DCDC_REG4 { 224c66ec88fSEmmanuel Vadot regulator-name = "vcc_1v8"; 225c66ec88fSEmmanuel Vadot regulator-min-microvolt = <1800000>; 226c66ec88fSEmmanuel Vadot regulator-max-microvolt = <1800000>; 227c66ec88fSEmmanuel Vadot regulator-always-on; 228c66ec88fSEmmanuel Vadot regulator-boot-on; 229c66ec88fSEmmanuel Vadot regulator-state-mem { 230c66ec88fSEmmanuel Vadot regulator-on-in-suspend; 231c66ec88fSEmmanuel Vadot regulator-suspend-microvolt = <1800000>; 232c66ec88fSEmmanuel Vadot }; 233c66ec88fSEmmanuel Vadot }; 234c66ec88fSEmmanuel Vadot 235c66ec88fSEmmanuel Vadot vcc_ldo1: LDO_REG1 { 236c66ec88fSEmmanuel Vadot regulator-name = "vcc_ldo1"; 237c66ec88fSEmmanuel Vadot regulator-min-microvolt = <1800000>; 238c66ec88fSEmmanuel Vadot regulator-max-microvolt = <1800000>; 239c66ec88fSEmmanuel Vadot regulator-boot-on; 240c66ec88fSEmmanuel Vadot regulator-state-mem { 241c66ec88fSEmmanuel Vadot regulator-off-in-suspend; 242c66ec88fSEmmanuel Vadot }; 243c66ec88fSEmmanuel Vadot }; 244c66ec88fSEmmanuel Vadot 245c66ec88fSEmmanuel Vadot vcc1v8_hdmi: LDO_REG2 { 246c66ec88fSEmmanuel Vadot regulator-name = "vcc1v8_hdmi"; 247c66ec88fSEmmanuel Vadot regulator-min-microvolt = <1800000>; 248c66ec88fSEmmanuel Vadot regulator-max-microvolt = <1800000>; 249c66ec88fSEmmanuel Vadot regulator-always-on; 250c66ec88fSEmmanuel Vadot regulator-boot-on; 251c66ec88fSEmmanuel Vadot regulator-state-mem { 252c66ec88fSEmmanuel Vadot regulator-off-in-suspend; 253c66ec88fSEmmanuel Vadot }; 254c66ec88fSEmmanuel Vadot }; 255c66ec88fSEmmanuel Vadot 256c66ec88fSEmmanuel Vadot vcc1v8_pmu: LDO_REG3 { 257c66ec88fSEmmanuel Vadot regulator-name = "vcc1v8_pmu"; 258c66ec88fSEmmanuel Vadot regulator-min-microvolt = <1800000>; 259c66ec88fSEmmanuel Vadot regulator-max-microvolt = <1800000>; 260c66ec88fSEmmanuel Vadot regulator-always-on; 261c66ec88fSEmmanuel Vadot regulator-boot-on; 262c66ec88fSEmmanuel Vadot regulator-state-mem { 263c66ec88fSEmmanuel Vadot regulator-on-in-suspend; 264c66ec88fSEmmanuel Vadot regulator-suspend-microvolt = <1800000>; 265c66ec88fSEmmanuel Vadot }; 266c66ec88fSEmmanuel Vadot }; 267c66ec88fSEmmanuel Vadot 268c66ec88fSEmmanuel Vadot vcc_sd: LDO_REG4 { 269c66ec88fSEmmanuel Vadot regulator-name = "vcc_sd"; 270c66ec88fSEmmanuel Vadot regulator-min-microvolt = <1800000>; 271c66ec88fSEmmanuel Vadot regulator-max-microvolt = <3000000>; 272c66ec88fSEmmanuel Vadot regulator-always-on; 273c66ec88fSEmmanuel Vadot regulator-boot-on; 274c66ec88fSEmmanuel Vadot regulator-state-mem { 275c66ec88fSEmmanuel Vadot regulator-on-in-suspend; 276c66ec88fSEmmanuel Vadot regulator-suspend-microvolt = <3000000>; 277c66ec88fSEmmanuel Vadot }; 278c66ec88fSEmmanuel Vadot }; 279c66ec88fSEmmanuel Vadot 280c66ec88fSEmmanuel Vadot vcc_ldo5: LDO_REG5 { 281c66ec88fSEmmanuel Vadot regulator-name = "vcc_ldo5"; 282c66ec88fSEmmanuel Vadot regulator-min-microvolt = <3000000>; 283c66ec88fSEmmanuel Vadot regulator-max-microvolt = <3000000>; 284c66ec88fSEmmanuel Vadot regulator-boot-on; 285c66ec88fSEmmanuel Vadot regulator-state-mem { 286c66ec88fSEmmanuel Vadot regulator-off-in-suspend; 287c66ec88fSEmmanuel Vadot }; 288c66ec88fSEmmanuel Vadot }; 289c66ec88fSEmmanuel Vadot 290c66ec88fSEmmanuel Vadot vcc_ldo6: LDO_REG6 { 291c66ec88fSEmmanuel Vadot regulator-name = "vcc_ldo6"; 292c66ec88fSEmmanuel Vadot regulator-min-microvolt = <1500000>; 293c66ec88fSEmmanuel Vadot regulator-max-microvolt = <1500000>; 294c66ec88fSEmmanuel Vadot regulator-boot-on; 295c66ec88fSEmmanuel Vadot regulator-state-mem { 296c66ec88fSEmmanuel Vadot regulator-off-in-suspend; 297c66ec88fSEmmanuel Vadot }; 298c66ec88fSEmmanuel Vadot }; 299c66ec88fSEmmanuel Vadot 300c66ec88fSEmmanuel Vadot vcc0v9_hdmi: LDO_REG7 { 301c66ec88fSEmmanuel Vadot regulator-name = "vcc0v9_hdmi"; 302c66ec88fSEmmanuel Vadot regulator-min-microvolt = <900000>; 303c66ec88fSEmmanuel Vadot regulator-max-microvolt = <900000>; 304c66ec88fSEmmanuel Vadot regulator-always-on; 305c66ec88fSEmmanuel Vadot regulator-boot-on; 306c66ec88fSEmmanuel Vadot regulator-state-mem { 307c66ec88fSEmmanuel Vadot regulator-off-in-suspend; 308c66ec88fSEmmanuel Vadot }; 309c66ec88fSEmmanuel Vadot }; 310c66ec88fSEmmanuel Vadot 311c66ec88fSEmmanuel Vadot vcc_efuse: LDO_REG8 { 312c66ec88fSEmmanuel Vadot regulator-name = "vcc_efuse"; 313c66ec88fSEmmanuel Vadot regulator-min-microvolt = <1800000>; 314c66ec88fSEmmanuel Vadot regulator-max-microvolt = <1800000>; 315c66ec88fSEmmanuel Vadot regulator-always-on; 316c66ec88fSEmmanuel Vadot regulator-boot-on; 317c66ec88fSEmmanuel Vadot regulator-state-mem { 318c66ec88fSEmmanuel Vadot regulator-off-in-suspend; 319c66ec88fSEmmanuel Vadot }; 320c66ec88fSEmmanuel Vadot }; 321c66ec88fSEmmanuel Vadot 322c66ec88fSEmmanuel Vadot vcc3v3_s3: SWITCH_REG1 { 323c66ec88fSEmmanuel Vadot regulator-name = "vcc3v3_s3"; 324c66ec88fSEmmanuel Vadot regulator-always-on; 325c66ec88fSEmmanuel Vadot regulator-boot-on; 326c66ec88fSEmmanuel Vadot regulator-state-mem { 327c66ec88fSEmmanuel Vadot regulator-off-in-suspend; 328c66ec88fSEmmanuel Vadot }; 329c66ec88fSEmmanuel Vadot }; 330c66ec88fSEmmanuel Vadot 331c66ec88fSEmmanuel Vadot vcc3v3_s0: SWITCH_REG2 { 332c66ec88fSEmmanuel Vadot regulator-name = "vcc3v3_s0"; 333c66ec88fSEmmanuel Vadot regulator-always-on; 334c66ec88fSEmmanuel Vadot regulator-boot-on; 335c66ec88fSEmmanuel Vadot regulator-state-mem { 336c66ec88fSEmmanuel Vadot regulator-off-in-suspend; 337c66ec88fSEmmanuel Vadot }; 338c66ec88fSEmmanuel Vadot }; 339c66ec88fSEmmanuel Vadot }; 340c66ec88fSEmmanuel Vadot }; 341c66ec88fSEmmanuel Vadot 342c66ec88fSEmmanuel Vadot vdd_gpu: regulator@60 { 343c66ec88fSEmmanuel Vadot compatible = "fcs,fan53555"; 344c66ec88fSEmmanuel Vadot reg = <0x60>; 345c66ec88fSEmmanuel Vadot fcs,suspend-voltage-selector = <1>; 346c66ec88fSEmmanuel Vadot regulator-name = "vdd_gpu"; 347c66ec88fSEmmanuel Vadot regulator-min-microvolt = <600000>; 348c66ec88fSEmmanuel Vadot regulator-max-microvolt = <1230000>; 349c66ec88fSEmmanuel Vadot regulator-ramp-delay = <1000>; 350c66ec88fSEmmanuel Vadot regulator-always-on; 351c66ec88fSEmmanuel Vadot regulator-boot-on; 352c66ec88fSEmmanuel Vadot vin-supply = <&vcc5v0_sys>; 353c66ec88fSEmmanuel Vadot }; 354c66ec88fSEmmanuel Vadot}; 355c66ec88fSEmmanuel Vadot 356c66ec88fSEmmanuel Vadot&i2c7 { 357c66ec88fSEmmanuel Vadot status = "okay"; 358c66ec88fSEmmanuel Vadot clock-frequency = <400000>; 359c66ec88fSEmmanuel Vadot 360c66ec88fSEmmanuel Vadot fan: fan@18 { 361c66ec88fSEmmanuel Vadot compatible = "ti,amc6821"; 362c66ec88fSEmmanuel Vadot reg = <0x18>; 363c66ec88fSEmmanuel Vadot #cooling-cells = <2>; 364c66ec88fSEmmanuel Vadot }; 365c66ec88fSEmmanuel Vadot 366c66ec88fSEmmanuel Vadot rtc_twi: rtc@6f { 367c66ec88fSEmmanuel Vadot compatible = "isil,isl1208"; 368c66ec88fSEmmanuel Vadot reg = <0x6f>; 369c66ec88fSEmmanuel Vadot }; 370c66ec88fSEmmanuel Vadot}; 371c66ec88fSEmmanuel Vadot 372c66ec88fSEmmanuel Vadot&i2c8 { 373c66ec88fSEmmanuel Vadot status = "okay"; 374c66ec88fSEmmanuel Vadot clock-frequency = <400000>; 375c66ec88fSEmmanuel Vadot 376c66ec88fSEmmanuel Vadot vdd_cpu_b: regulator@60 { 377c66ec88fSEmmanuel Vadot compatible = "fcs,fan53555"; 378c66ec88fSEmmanuel Vadot reg = <0x60>; 379c66ec88fSEmmanuel Vadot vin-supply = <&vcc5v0_sys>; 380c66ec88fSEmmanuel Vadot regulator-name = "vdd_cpu_b"; 381c66ec88fSEmmanuel Vadot regulator-min-microvolt = <600000>; 382c66ec88fSEmmanuel Vadot regulator-max-microvolt = <1230000>; 383c66ec88fSEmmanuel Vadot regulator-ramp-delay = <1000>; 384c66ec88fSEmmanuel Vadot fcs,suspend-voltage-selector = <1>; 385c66ec88fSEmmanuel Vadot regulator-always-on; 386c66ec88fSEmmanuel Vadot regulator-boot-on; 387c66ec88fSEmmanuel Vadot }; 388c66ec88fSEmmanuel Vadot}; 389c66ec88fSEmmanuel Vadot 390c66ec88fSEmmanuel Vadot&i2s0 { 391c66ec88fSEmmanuel Vadot pinctrl-0 = <&i2s0_2ch_bus>; 392c66ec88fSEmmanuel Vadot rockchip,playback-channels = <2>; 393c66ec88fSEmmanuel Vadot rockchip,capture-channels = <2>; 394c66ec88fSEmmanuel Vadot status = "okay"; 395c66ec88fSEmmanuel Vadot}; 396c66ec88fSEmmanuel Vadot 397c66ec88fSEmmanuel Vadot/* 398c66ec88fSEmmanuel Vadot * As Q7 does not specify neither a global nor a RX clock for I2S these 399c66ec88fSEmmanuel Vadot * signals are not used. Furthermore I2S0_LRCK_RX is used as GPIO. 400c66ec88fSEmmanuel Vadot * Therefore we have to redefine the i2s0_2ch_bus definition to prevent 401c66ec88fSEmmanuel Vadot * conflicts. 402c66ec88fSEmmanuel Vadot */ 403c66ec88fSEmmanuel Vadot&i2s0_2ch_bus { 404c66ec88fSEmmanuel Vadot rockchip,pins = 405c66ec88fSEmmanuel Vadot <3 RK_PD0 1 &pcfg_pull_none>, 406c66ec88fSEmmanuel Vadot <3 RK_PD2 1 &pcfg_pull_none>, 407c66ec88fSEmmanuel Vadot <3 RK_PD3 1 &pcfg_pull_none>, 408c66ec88fSEmmanuel Vadot <3 RK_PD7 1 &pcfg_pull_none>; 409c66ec88fSEmmanuel Vadot}; 410c66ec88fSEmmanuel Vadot 411c66ec88fSEmmanuel Vadot&io_domains { 412c66ec88fSEmmanuel Vadot status = "okay"; 413c66ec88fSEmmanuel Vadot bt656-supply = <&vcc_1v8>; 414c66ec88fSEmmanuel Vadot audio-supply = <&vcc_1v8>; 415c66ec88fSEmmanuel Vadot sdmmc-supply = <&vcc_sd>; 416c66ec88fSEmmanuel Vadot gpio1830-supply = <&vcc_1v8>; 417c66ec88fSEmmanuel Vadot}; 418c66ec88fSEmmanuel Vadot 419c66ec88fSEmmanuel Vadot&pmu_io_domains { 420c66ec88fSEmmanuel Vadot status = "okay"; 421c66ec88fSEmmanuel Vadot pmu1830-supply = <&vcc_1v8>; 422c66ec88fSEmmanuel Vadot}; 423c66ec88fSEmmanuel Vadot 424c66ec88fSEmmanuel Vadot&pwm2 { 425c66ec88fSEmmanuel Vadot status = "okay"; 426c66ec88fSEmmanuel Vadot}; 427c66ec88fSEmmanuel Vadot 428c66ec88fSEmmanuel Vadot&pinctrl { 429c66ec88fSEmmanuel Vadot i2c8 { 430c66ec88fSEmmanuel Vadot i2c8_xfer_a: i2c8-xfer { 431c66ec88fSEmmanuel Vadot rockchip,pins = 432c66ec88fSEmmanuel Vadot <1 RK_PC4 1 &pcfg_pull_up>, 433c66ec88fSEmmanuel Vadot <1 RK_PC5 1 &pcfg_pull_up>; 434c66ec88fSEmmanuel Vadot }; 435c66ec88fSEmmanuel Vadot }; 436c66ec88fSEmmanuel Vadot 437c66ec88fSEmmanuel Vadot leds { 438c66ec88fSEmmanuel Vadot module_led_pin: module-led-pin { 439c66ec88fSEmmanuel Vadot rockchip,pins = 440c66ec88fSEmmanuel Vadot <2 RK_PD1 RK_FUNC_GPIO &pcfg_pull_none>; 441c66ec88fSEmmanuel Vadot }; 442c66ec88fSEmmanuel Vadot }; 443c66ec88fSEmmanuel Vadot 444c66ec88fSEmmanuel Vadot pmic { 445c66ec88fSEmmanuel Vadot pmic_int_l: pmic-int-l { 446c66ec88fSEmmanuel Vadot rockchip,pins = 447c66ec88fSEmmanuel Vadot <1 RK_PC6 RK_FUNC_GPIO &pcfg_pull_up>; 448c66ec88fSEmmanuel Vadot }; 449c66ec88fSEmmanuel Vadot }; 450c66ec88fSEmmanuel Vadot 451c66ec88fSEmmanuel Vadot usb2 { 452c66ec88fSEmmanuel Vadot vcc5v0_host_en: vcc5v0-host-en { 453c66ec88fSEmmanuel Vadot rockchip,pins = 454c66ec88fSEmmanuel Vadot <4 RK_PA3 RK_FUNC_GPIO &pcfg_pull_none>; 455c66ec88fSEmmanuel Vadot }; 456c66ec88fSEmmanuel Vadot }; 457e67e8565SEmmanuel Vadot 458e67e8565SEmmanuel Vadot usb3 { 459e67e8565SEmmanuel Vadot usb3_id: usb3-id { 460e67e8565SEmmanuel Vadot rockchip,pins = 461e67e8565SEmmanuel Vadot <1 RK_PC2 RK_FUNC_GPIO &pcfg_pull_none>; 462e67e8565SEmmanuel Vadot }; 463e67e8565SEmmanuel Vadot }; 464c66ec88fSEmmanuel Vadot}; 465c66ec88fSEmmanuel Vadot 466c66ec88fSEmmanuel Vadot&sdhci { 467e67e8565SEmmanuel Vadot /* 468e67e8565SEmmanuel Vadot * Signal integrity isn't great at 200MHz but 100MHz has proven stable 469e67e8565SEmmanuel Vadot * enough. 470e67e8565SEmmanuel Vadot */ 471e67e8565SEmmanuel Vadot max-frequency = <100000000>; 472e67e8565SEmmanuel Vadot 473c66ec88fSEmmanuel Vadot bus-width = <8>; 474c66ec88fSEmmanuel Vadot mmc-hs400-1_8v; 475c66ec88fSEmmanuel Vadot mmc-hs400-enhanced-strobe; 476c66ec88fSEmmanuel Vadot non-removable; 477c66ec88fSEmmanuel Vadot status = "okay"; 478c66ec88fSEmmanuel Vadot}; 479c66ec88fSEmmanuel Vadot 480c66ec88fSEmmanuel Vadot&sdmmc { 481c66ec88fSEmmanuel Vadot vqmmc-supply = <&vcc_sd>; 482c66ec88fSEmmanuel Vadot}; 483c66ec88fSEmmanuel Vadot 484c66ec88fSEmmanuel Vadot&spi1 { 485c66ec88fSEmmanuel Vadot status = "okay"; 486c66ec88fSEmmanuel Vadot 487c66ec88fSEmmanuel Vadot norflash: flash@0 { 488c66ec88fSEmmanuel Vadot compatible = "jedec,spi-nor"; 489c66ec88fSEmmanuel Vadot reg = <0>; 490c66ec88fSEmmanuel Vadot spi-max-frequency = <50000000>; 491c66ec88fSEmmanuel Vadot }; 492c66ec88fSEmmanuel Vadot}; 493c66ec88fSEmmanuel Vadot 494c66ec88fSEmmanuel Vadot&tcphy1 { 495c66ec88fSEmmanuel Vadot status = "okay"; 496c66ec88fSEmmanuel Vadot}; 497c66ec88fSEmmanuel Vadot 498c66ec88fSEmmanuel Vadot&tsadc { 499c66ec88fSEmmanuel Vadot rockchip,hw-tshut-mode = <1>; 500c66ec88fSEmmanuel Vadot rockchip,hw-tshut-polarity = <1>; 501c66ec88fSEmmanuel Vadot status = "okay"; 502c66ec88fSEmmanuel Vadot}; 503c66ec88fSEmmanuel Vadot 504c66ec88fSEmmanuel Vadot&u2phy1 { 505c66ec88fSEmmanuel Vadot status = "okay"; 506c66ec88fSEmmanuel Vadot 507c66ec88fSEmmanuel Vadot u2phy1_otg: otg-port { 508c66ec88fSEmmanuel Vadot status = "okay"; 509c66ec88fSEmmanuel Vadot }; 510c66ec88fSEmmanuel Vadot 511c66ec88fSEmmanuel Vadot u2phy1_host: host-port { 512c66ec88fSEmmanuel Vadot phy-supply = <&vcc5v0_host>; 513c66ec88fSEmmanuel Vadot status = "okay"; 514c66ec88fSEmmanuel Vadot }; 515c66ec88fSEmmanuel Vadot}; 516c66ec88fSEmmanuel Vadot 517c66ec88fSEmmanuel Vadot&usbdrd3_1 { 518c66ec88fSEmmanuel Vadot status = "okay"; 519c66ec88fSEmmanuel Vadot}; 520c66ec88fSEmmanuel Vadot 521c66ec88fSEmmanuel Vadot&usbdrd_dwc3_1 { 522c66ec88fSEmmanuel Vadot status = "okay"; 523c66ec88fSEmmanuel Vadot dr_mode = "host"; 524c66ec88fSEmmanuel Vadot}; 525c66ec88fSEmmanuel Vadot 526c66ec88fSEmmanuel Vadot&usb_host1_ehci { 527c66ec88fSEmmanuel Vadot status = "okay"; 528c66ec88fSEmmanuel Vadot}; 529c66ec88fSEmmanuel Vadot 530c66ec88fSEmmanuel Vadot&usb_host1_ohci { 531c66ec88fSEmmanuel Vadot status = "okay"; 532c66ec88fSEmmanuel Vadot}; 533