14ee99cebSKlaus Goger// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 22c66fc34SKlaus Goger/* 32c66fc34SKlaus Goger * Copyright (c) 2017 Theobroma Systems Design und Consulting GmbH 42c66fc34SKlaus Goger */ 52c66fc34SKlaus Goger 62c66fc34SKlaus Goger#include <dt-bindings/pwm/pwm.h> 72c66fc34SKlaus Goger#include "rk3399.dtsi" 82c66fc34SKlaus Goger 92c66fc34SKlaus Goger/ { 105dcbe7e3SHeiko Stuebner aliases { 115d90cb1eSDragan Simic ethernet0 = &gmac; 1284a4e9bfSFarouk Bouabid i2c10 = &i2c10; 135dcbe7e3SHeiko Stuebner mmc0 = &sdhci; 145dcbe7e3SHeiko Stuebner }; 155dcbe7e3SHeiko Stuebner 162c66fc34SKlaus Goger leds { 172c66fc34SKlaus Goger compatible = "gpio-leds"; 182c66fc34SKlaus Goger pinctrl-names = "default"; 196dd5e12cSJohan Jonker pinctrl-0 = <&module_led_pin>; 202c66fc34SKlaus Goger 216dd5e12cSJohan Jonker module_led: led-0 { 222c66fc34SKlaus Goger label = "module_led"; 232c66fc34SKlaus Goger gpios = <&gpio2 RK_PD1 GPIO_ACTIVE_HIGH>; 242c66fc34SKlaus Goger linux,default-trigger = "heartbeat"; 252c66fc34SKlaus Goger panic-indicator; 262c66fc34SKlaus Goger }; 272c66fc34SKlaus Goger }; 282c66fc34SKlaus Goger 29ed2c66a9SQuentin Schulz extcon_usb3: extcon-usb3 { 30ed2c66a9SQuentin Schulz compatible = "linux,extcon-usb-gpio"; 31f6485041SAlexander Stein id-gpios = <&gpio1 RK_PC2 GPIO_ACTIVE_HIGH>; 32ed2c66a9SQuentin Schulz pinctrl-names = "default"; 33ed2c66a9SQuentin Schulz pinctrl-0 = <&usb3_id>; 34ed2c66a9SQuentin Schulz }; 35ed2c66a9SQuentin Schulz 362c66fc34SKlaus Goger clkin_gmac: external-gmac-clock { 372c66fc34SKlaus Goger compatible = "fixed-clock"; 382c66fc34SKlaus Goger clock-frequency = <125000000>; 392c66fc34SKlaus Goger clock-output-names = "clkin_gmac"; 402c66fc34SKlaus Goger #clock-cells = <0>; 412c66fc34SKlaus Goger }; 422c66fc34SKlaus Goger 435c96e633SJohan Jonker vcc1v2_phy: regulator-vcc1v2-phy { 442c66fc34SKlaus Goger compatible = "regulator-fixed"; 452c66fc34SKlaus Goger regulator-name = "vcc1v2_phy"; 462c66fc34SKlaus Goger regulator-always-on; 472c66fc34SKlaus Goger regulator-boot-on; 482c66fc34SKlaus Goger regulator-min-microvolt = <1200000>; 492c66fc34SKlaus Goger regulator-max-microvolt = <1200000>; 502c66fc34SKlaus Goger vin-supply = <&vcc5v0_sys>; 512c66fc34SKlaus Goger }; 522c66fc34SKlaus Goger 535c96e633SJohan Jonker vcc3v3_sys: regulator-vcc3v3-sys { 542c66fc34SKlaus Goger compatible = "regulator-fixed"; 552c66fc34SKlaus Goger regulator-name = "vcc3v3_sys"; 562c66fc34SKlaus Goger regulator-always-on; 572c66fc34SKlaus Goger regulator-boot-on; 582c66fc34SKlaus Goger regulator-min-microvolt = <3300000>; 592c66fc34SKlaus Goger regulator-max-microvolt = <3300000>; 602c66fc34SKlaus Goger vin-supply = <&vcc5v0_sys>; 612c66fc34SKlaus Goger }; 622c66fc34SKlaus Goger 635c96e633SJohan Jonker vcc5v0_sys: regulator-vcc5v0-sys { 642c66fc34SKlaus Goger compatible = "regulator-fixed"; 652c66fc34SKlaus Goger regulator-name = "vcc5v0_sys"; 662c66fc34SKlaus Goger regulator-always-on; 672c66fc34SKlaus Goger regulator-boot-on; 682c66fc34SKlaus Goger regulator-min-microvolt = <5000000>; 692c66fc34SKlaus Goger regulator-max-microvolt = <5000000>; 702c66fc34SKlaus Goger }; 71e6bbf0d5SHeiko Stuebner 725c96e633SJohan Jonker vcca_0v9: regulator-vcca-0v9 { 73d7ed698aSQuentin Schulz compatible = "regulator-fixed"; 74d7ed698aSQuentin Schulz regulator-name = "vcca_0v9"; 75d7ed698aSQuentin Schulz regulator-always-on; 76d7ed698aSQuentin Schulz regulator-boot-on; 77d7ed698aSQuentin Schulz regulator-min-microvolt = <900000>; 78d7ed698aSQuentin Schulz regulator-max-microvolt = <900000>; 79d7ed698aSQuentin Schulz vin-supply = <&vcc_1v8>; 80d7ed698aSQuentin Schulz }; 81d7ed698aSQuentin Schulz 825c96e633SJohan Jonker vcca_1v8: regulator-vcca-1v8 { 83d7ed698aSQuentin Schulz compatible = "regulator-fixed"; 84d7ed698aSQuentin Schulz regulator-name = "vcca_1v8"; 85d7ed698aSQuentin Schulz regulator-always-on; 86d7ed698aSQuentin Schulz regulator-boot-on; 87d7ed698aSQuentin Schulz regulator-min-microvolt = <1800000>; 88d7ed698aSQuentin Schulz regulator-max-microvolt = <1800000>; 89d7ed698aSQuentin Schulz vin-supply = <&vcc3v3_sys>; 90d7ed698aSQuentin Schulz }; 91d7ed698aSQuentin Schulz 925c96e633SJohan Jonker vdd_log: regulator-vdd-log { 93e6bbf0d5SHeiko Stuebner compatible = "pwm-regulator"; 94e6bbf0d5SHeiko Stuebner pwms = <&pwm2 0 25000 1>; 95e6bbf0d5SHeiko Stuebner pwm-supply = <&vcc5v0_sys>; 96e6bbf0d5SHeiko Stuebner regulator-name = "vdd_log"; 97e6bbf0d5SHeiko Stuebner regulator-min-microvolt = <800000>; 98e6bbf0d5SHeiko Stuebner regulator-max-microvolt = <1400000>; 99e6bbf0d5SHeiko Stuebner regulator-always-on; 100e6bbf0d5SHeiko Stuebner regulator-boot-on; 101e6bbf0d5SHeiko Stuebner }; 1022c66fc34SKlaus Goger}; 1032c66fc34SKlaus Goger 1042c66fc34SKlaus Goger&cpu_b0 { 1052c66fc34SKlaus Goger cpu-supply = <&vdd_cpu_b>; 1062c66fc34SKlaus Goger}; 1072c66fc34SKlaus Goger 1082c66fc34SKlaus Goger&cpu_b1 { 1092c66fc34SKlaus Goger cpu-supply = <&vdd_cpu_b>; 1102c66fc34SKlaus Goger}; 1112c66fc34SKlaus Goger 1122c66fc34SKlaus Goger&cpu_l0 { 1132c66fc34SKlaus Goger cpu-supply = <&vdd_cpu_l>; 1142c66fc34SKlaus Goger}; 1152c66fc34SKlaus Goger 1162c66fc34SKlaus Goger&cpu_l1 { 1172c66fc34SKlaus Goger cpu-supply = <&vdd_cpu_l>; 1182c66fc34SKlaus Goger}; 1192c66fc34SKlaus Goger 1202c66fc34SKlaus Goger&cpu_l2 { 1212c66fc34SKlaus Goger cpu-supply = <&vdd_cpu_l>; 1222c66fc34SKlaus Goger}; 1232c66fc34SKlaus Goger 1242c66fc34SKlaus Goger&cpu_l3 { 1252c66fc34SKlaus Goger cpu-supply = <&vdd_cpu_l>; 1262c66fc34SKlaus Goger}; 1272c66fc34SKlaus Goger 1282c66fc34SKlaus Goger&emmc_phy { 1292c66fc34SKlaus Goger status = "okay"; 130b4e17282SChristoph Muellner drive-impedance-ohm = <33>; 1312c66fc34SKlaus Goger}; 1322c66fc34SKlaus Goger 13339d95566SVahe Grigoryan&gpio0 { 13439d95566SVahe Grigoryan /* 13539d95566SVahe Grigoryan * The BIOS_DISABLE hog is a feedback pin for the actual status of the 13639d95566SVahe Grigoryan * signal. This usually represents the state of a switch on the baseboard. 13739d95566SVahe Grigoryan * The pin has a 10k pull-up resistor connected, so no pull-up setting is needed. 13839d95566SVahe Grigoryan */ 13939d95566SVahe Grigoryan bios-disable-hog { 14039d95566SVahe Grigoryan gpios = <RK_PB0 GPIO_ACTIVE_HIGH>; 14139d95566SVahe Grigoryan gpio-hog; 14239d95566SVahe Grigoryan input; 14339d95566SVahe Grigoryan line-name = "bios_disable"; 14439d95566SVahe Grigoryan }; 14539d95566SVahe Grigoryan}; 14639d95566SVahe Grigoryan 147741f5ba7SQuentin Schulz&gpio3 { 148741f5ba7SQuentin Schulz /* 149741f5ba7SQuentin Schulz * The Qseven BIOS_DISABLE signal on the RK3399-Q7 keeps the on-module 150741f5ba7SQuentin Schulz * eMMC and SPI flash powered-down initially (in fact it keeps the 151741f5ba7SQuentin Schulz * reset signal asserted). BIOS_DISABLE_OVERRIDE pin allows to override 152741f5ba7SQuentin Schulz * that signal so that eMMC and SPI can be used regardless of the state 153741f5ba7SQuentin Schulz * of the signal. 154741f5ba7SQuentin Schulz */ 155741f5ba7SQuentin Schulz bios-disable-override-hog { 156741f5ba7SQuentin Schulz gpios = <RK_PD5 GPIO_ACTIVE_LOW>; 157741f5ba7SQuentin Schulz gpio-hog; 158741f5ba7SQuentin Schulz line-name = "bios_disable_override"; 159741f5ba7SQuentin Schulz output-high; 160741f5ba7SQuentin Schulz }; 161741f5ba7SQuentin Schulz}; 162741f5ba7SQuentin Schulz 1632c66fc34SKlaus Goger&gmac { 1642c66fc34SKlaus Goger assigned-clocks = <&cru SCLK_RMII_SRC>; 1652c66fc34SKlaus Goger assigned-clock-parents = <&clkin_gmac>; 1662c66fc34SKlaus Goger clock_in_out = "input"; 1672c66fc34SKlaus Goger phy-supply = <&vcc1v2_phy>; 1682c66fc34SKlaus Goger phy-mode = "rgmii"; 1692c66fc34SKlaus Goger pinctrl-names = "default"; 1702c66fc34SKlaus Goger pinctrl-0 = <&rgmii_pins>; 1718a445086SHeiko Stuebner snps,reset-gpio = <&gpio3 RK_PC0 GPIO_ACTIVE_LOW>; 1722c66fc34SKlaus Goger snps,reset-active-low; 1732c66fc34SKlaus Goger snps,reset-delays-us = <0 10000 50000>; 1742c66fc34SKlaus Goger tx_delay = <0x10>; 1759d241b06SJakob Unterwurzacher rx_delay = <0x23>; 1762c66fc34SKlaus Goger}; 1772c66fc34SKlaus Goger 1782e7f8764SHeiko Stuebner&gpu { 1792e7f8764SHeiko Stuebner mali-supply = <&vdd_gpu>; 1802e7f8764SHeiko Stuebner status = "okay"; 1812e7f8764SHeiko Stuebner}; 1822e7f8764SHeiko Stuebner 1832c66fc34SKlaus Goger&i2c0 { 1842c66fc34SKlaus Goger status = "okay"; 1852c66fc34SKlaus Goger i2c-scl-rising-time-ns = <168>; 1862c66fc34SKlaus Goger i2c-scl-falling-time-ns = <4>; 1872c66fc34SKlaus Goger clock-frequency = <400000>; 1882c66fc34SKlaus Goger 1892c66fc34SKlaus Goger rk808: pmic@1b { 1902c66fc34SKlaus Goger compatible = "rockchip,rk808"; 1912c66fc34SKlaus Goger reg = <0x1b>; 1922c66fc34SKlaus Goger interrupt-parent = <&gpio1>; 1932c66fc34SKlaus Goger interrupts = <22 IRQ_TYPE_LEVEL_LOW>; 1942c66fc34SKlaus Goger #clock-cells = <1>; 1952c66fc34SKlaus Goger clock-output-names = "xin32k", "rk808-clkout2"; 1962c66fc34SKlaus Goger pinctrl-names = "default"; 1972c66fc34SKlaus Goger pinctrl-0 = <&pmic_int_l>; 1985a49e05bSDiederik de Haas system-power-controller; 1992c66fc34SKlaus Goger wakeup-source; 2002c66fc34SKlaus Goger 2012c66fc34SKlaus Goger vcc1-supply = <&vcc5v0_sys>; 2022c66fc34SKlaus Goger vcc2-supply = <&vcc5v0_sys>; 2032c66fc34SKlaus Goger vcc3-supply = <&vcc5v0_sys>; 2042c66fc34SKlaus Goger vcc4-supply = <&vcc5v0_sys>; 2052c66fc34SKlaus Goger vcc6-supply = <&vcc5v0_sys>; 2062c66fc34SKlaus Goger vcc7-supply = <&vcc5v0_sys>; 2072c66fc34SKlaus Goger vcc8-supply = <&vcc3v3_sys>; 2082c66fc34SKlaus Goger vcc9-supply = <&vcc5v0_sys>; 2092c66fc34SKlaus Goger vcc10-supply = <&vcc5v0_sys>; 2102c66fc34SKlaus Goger vcc11-supply = <&vcc5v0_sys>; 2112c66fc34SKlaus Goger vcc12-supply = <&vcc3v3_sys>; 2122c66fc34SKlaus Goger vddio-supply = <&vcc1v8_pmu>; 2132c66fc34SKlaus Goger 2142c66fc34SKlaus Goger regulators { 2152c66fc34SKlaus Goger vdd_center: DCDC_REG1 { 2162c66fc34SKlaus Goger regulator-name = "vdd_center"; 2172c66fc34SKlaus Goger regulator-min-microvolt = <750000>; 2182c66fc34SKlaus Goger regulator-max-microvolt = <1350000>; 2192c66fc34SKlaus Goger regulator-ramp-delay = <6001>; 2202c66fc34SKlaus Goger regulator-always-on; 2212c66fc34SKlaus Goger regulator-boot-on; 2222c66fc34SKlaus Goger regulator-state-mem { 2232c66fc34SKlaus Goger regulator-off-in-suspend; 2242c66fc34SKlaus Goger }; 2252c66fc34SKlaus Goger }; 2262c66fc34SKlaus Goger 2272c66fc34SKlaus Goger vdd_cpu_l: DCDC_REG2 { 2282c66fc34SKlaus Goger regulator-name = "vdd_cpu_l"; 2292c66fc34SKlaus Goger regulator-min-microvolt = <750000>; 2302c66fc34SKlaus Goger regulator-max-microvolt = <1350000>; 2312c66fc34SKlaus Goger regulator-ramp-delay = <6001>; 2322c66fc34SKlaus Goger regulator-always-on; 2332c66fc34SKlaus Goger regulator-boot-on; 2342c66fc34SKlaus Goger regulator-state-mem { 2352c66fc34SKlaus Goger regulator-off-in-suspend; 2362c66fc34SKlaus Goger }; 2372c66fc34SKlaus Goger }; 2382c66fc34SKlaus Goger 2392c66fc34SKlaus Goger vcc_ddr: DCDC_REG3 { 2402c66fc34SKlaus Goger regulator-name = "vcc_ddr"; 2412c66fc34SKlaus Goger regulator-always-on; 2422c66fc34SKlaus Goger regulator-boot-on; 2432c66fc34SKlaus Goger regulator-state-mem { 2442c66fc34SKlaus Goger regulator-on-in-suspend; 2452c66fc34SKlaus Goger }; 2462c66fc34SKlaus Goger }; 2472c66fc34SKlaus Goger 2482c66fc34SKlaus Goger vcc_1v8: DCDC_REG4 { 2492c66fc34SKlaus Goger regulator-name = "vcc_1v8"; 2502c66fc34SKlaus Goger regulator-min-microvolt = <1800000>; 2512c66fc34SKlaus Goger regulator-max-microvolt = <1800000>; 2522c66fc34SKlaus Goger regulator-always-on; 2532c66fc34SKlaus Goger regulator-boot-on; 2542c66fc34SKlaus Goger regulator-state-mem { 2552c66fc34SKlaus Goger regulator-on-in-suspend; 2562c66fc34SKlaus Goger regulator-suspend-microvolt = <1800000>; 2572c66fc34SKlaus Goger }; 2582c66fc34SKlaus Goger }; 2592c66fc34SKlaus Goger 2602c66fc34SKlaus Goger vcc_ldo1: LDO_REG1 { 2612c66fc34SKlaus Goger regulator-name = "vcc_ldo1"; 2622c66fc34SKlaus Goger regulator-min-microvolt = <1800000>; 2632c66fc34SKlaus Goger regulator-max-microvolt = <1800000>; 2642c66fc34SKlaus Goger regulator-boot-on; 2652c66fc34SKlaus Goger regulator-state-mem { 2662c66fc34SKlaus Goger regulator-off-in-suspend; 2672c66fc34SKlaus Goger }; 2682c66fc34SKlaus Goger }; 2692c66fc34SKlaus Goger 2702c66fc34SKlaus Goger vcc1v8_hdmi: LDO_REG2 { 2712c66fc34SKlaus Goger regulator-name = "vcc1v8_hdmi"; 2722c66fc34SKlaus Goger regulator-min-microvolt = <1800000>; 2732c66fc34SKlaus Goger regulator-max-microvolt = <1800000>; 2742c66fc34SKlaus Goger regulator-always-on; 2752c66fc34SKlaus Goger regulator-boot-on; 2762c66fc34SKlaus Goger regulator-state-mem { 2772c66fc34SKlaus Goger regulator-off-in-suspend; 2782c66fc34SKlaus Goger }; 2792c66fc34SKlaus Goger }; 2802c66fc34SKlaus Goger 2812c66fc34SKlaus Goger vcc1v8_pmu: LDO_REG3 { 2822c66fc34SKlaus Goger regulator-name = "vcc1v8_pmu"; 2832c66fc34SKlaus Goger regulator-min-microvolt = <1800000>; 2842c66fc34SKlaus Goger regulator-max-microvolt = <1800000>; 2852c66fc34SKlaus Goger regulator-always-on; 2862c66fc34SKlaus Goger regulator-boot-on; 2872c66fc34SKlaus Goger regulator-state-mem { 2882c66fc34SKlaus Goger regulator-on-in-suspend; 2892c66fc34SKlaus Goger regulator-suspend-microvolt = <1800000>; 2902c66fc34SKlaus Goger }; 2912c66fc34SKlaus Goger }; 2922c66fc34SKlaus Goger 2932c66fc34SKlaus Goger vcc_sd: LDO_REG4 { 2942c66fc34SKlaus Goger regulator-name = "vcc_sd"; 2952c66fc34SKlaus Goger regulator-min-microvolt = <1800000>; 296b31ce304SShawn Lin regulator-max-microvolt = <3000000>; 2972c66fc34SKlaus Goger regulator-always-on; 2982c66fc34SKlaus Goger regulator-boot-on; 2992c66fc34SKlaus Goger regulator-state-mem { 3002c66fc34SKlaus Goger regulator-on-in-suspend; 301b31ce304SShawn Lin regulator-suspend-microvolt = <3000000>; 3022c66fc34SKlaus Goger }; 3032c66fc34SKlaus Goger }; 3042c66fc34SKlaus Goger 3052c66fc34SKlaus Goger vcc_ldo5: LDO_REG5 { 3062c66fc34SKlaus Goger regulator-name = "vcc_ldo5"; 3072c66fc34SKlaus Goger regulator-min-microvolt = <3000000>; 3082c66fc34SKlaus Goger regulator-max-microvolt = <3000000>; 3092c66fc34SKlaus Goger regulator-boot-on; 3102c66fc34SKlaus Goger regulator-state-mem { 3112c66fc34SKlaus Goger regulator-off-in-suspend; 3122c66fc34SKlaus Goger }; 3132c66fc34SKlaus Goger }; 3142c66fc34SKlaus Goger 3152c66fc34SKlaus Goger vcc_ldo6: LDO_REG6 { 3162c66fc34SKlaus Goger regulator-name = "vcc_ldo6"; 3172c66fc34SKlaus Goger regulator-min-microvolt = <1500000>; 3182c66fc34SKlaus Goger regulator-max-microvolt = <1500000>; 3192c66fc34SKlaus Goger regulator-boot-on; 3202c66fc34SKlaus Goger regulator-state-mem { 3212c66fc34SKlaus Goger regulator-off-in-suspend; 3222c66fc34SKlaus Goger }; 3232c66fc34SKlaus Goger }; 3242c66fc34SKlaus Goger 3252c66fc34SKlaus Goger vcc0v9_hdmi: LDO_REG7 { 3262c66fc34SKlaus Goger regulator-name = "vcc0v9_hdmi"; 3272c66fc34SKlaus Goger regulator-min-microvolt = <900000>; 3282c66fc34SKlaus Goger regulator-max-microvolt = <900000>; 3292c66fc34SKlaus Goger regulator-always-on; 3302c66fc34SKlaus Goger regulator-boot-on; 3312c66fc34SKlaus Goger regulator-state-mem { 3322c66fc34SKlaus Goger regulator-off-in-suspend; 3332c66fc34SKlaus Goger }; 3342c66fc34SKlaus Goger }; 3352c66fc34SKlaus Goger 3362c66fc34SKlaus Goger vcc_efuse: LDO_REG8 { 3372c66fc34SKlaus Goger regulator-name = "vcc_efuse"; 3382c66fc34SKlaus Goger regulator-min-microvolt = <1800000>; 3392c66fc34SKlaus Goger regulator-max-microvolt = <1800000>; 3402c66fc34SKlaus Goger regulator-always-on; 3412c66fc34SKlaus Goger regulator-boot-on; 3422c66fc34SKlaus Goger regulator-state-mem { 3432c66fc34SKlaus Goger regulator-off-in-suspend; 3442c66fc34SKlaus Goger }; 3452c66fc34SKlaus Goger }; 3462c66fc34SKlaus Goger 3472c66fc34SKlaus Goger vcc3v3_s3: SWITCH_REG1 { 3482c66fc34SKlaus Goger regulator-name = "vcc3v3_s3"; 3492c66fc34SKlaus Goger regulator-always-on; 3502c66fc34SKlaus Goger regulator-boot-on; 3512c66fc34SKlaus Goger regulator-state-mem { 3522c66fc34SKlaus Goger regulator-off-in-suspend; 3532c66fc34SKlaus Goger }; 3542c66fc34SKlaus Goger }; 3552c66fc34SKlaus Goger 3562c66fc34SKlaus Goger vcc3v3_s0: SWITCH_REG2 { 3572c66fc34SKlaus Goger regulator-name = "vcc3v3_s0"; 3582c66fc34SKlaus Goger regulator-always-on; 3592c66fc34SKlaus Goger regulator-boot-on; 3602c66fc34SKlaus Goger regulator-state-mem { 3612c66fc34SKlaus Goger regulator-off-in-suspend; 3622c66fc34SKlaus Goger }; 3632c66fc34SKlaus Goger }; 3642c66fc34SKlaus Goger }; 3652c66fc34SKlaus Goger }; 3662c66fc34SKlaus Goger 3672c66fc34SKlaus Goger vdd_gpu: regulator@60 { 3682c66fc34SKlaus Goger compatible = "fcs,fan53555"; 3692c66fc34SKlaus Goger reg = <0x60>; 3702c66fc34SKlaus Goger fcs,suspend-voltage-selector = <1>; 3712c66fc34SKlaus Goger regulator-name = "vdd_gpu"; 3722c66fc34SKlaus Goger regulator-min-microvolt = <600000>; 3732c66fc34SKlaus Goger regulator-max-microvolt = <1230000>; 3742c66fc34SKlaus Goger regulator-ramp-delay = <1000>; 3752c66fc34SKlaus Goger regulator-always-on; 3762c66fc34SKlaus Goger regulator-boot-on; 3772c66fc34SKlaus Goger vin-supply = <&vcc5v0_sys>; 3782c66fc34SKlaus Goger }; 3792c66fc34SKlaus Goger}; 3802c66fc34SKlaus Goger 38164f6ad17SQuentin Schulz&hdmi { 38264f6ad17SQuentin Schulz ddc-i2c-bus = <&i2c3>; 38364f6ad17SQuentin Schulz}; 38464f6ad17SQuentin Schulz 38552398b8bSQuentin Schulz&i2c6 { 38652398b8bSQuentin Schulz clock-frequency = <400000>; 38752398b8bSQuentin Schulz}; 38852398b8bSQuentin Schulz 3892c66fc34SKlaus Goger&i2c7 { 3902c66fc34SKlaus Goger status = "okay"; 3912c66fc34SKlaus Goger clock-frequency = <400000>; 3922c66fc34SKlaus Goger 3932c66fc34SKlaus Goger fan: fan@18 { 39484a4e9bfSFarouk Bouabid compatible = "tsd,mule", "ti,amc6821"; 3952c66fc34SKlaus Goger reg = <0x18>; 39684a4e9bfSFarouk Bouabid 39784a4e9bfSFarouk Bouabid i2c-mux { 39884a4e9bfSFarouk Bouabid compatible = "tsd,mule-i2c-mux"; 39984a4e9bfSFarouk Bouabid #address-cells = <1>; 40084a4e9bfSFarouk Bouabid #size-cells = <0>; 40184a4e9bfSFarouk Bouabid 40284a4e9bfSFarouk Bouabid i2c10: i2c@0 { 40384a4e9bfSFarouk Bouabid reg = <0x0>; 40484a4e9bfSFarouk Bouabid #address-cells = <1>; 40584a4e9bfSFarouk Bouabid #size-cells = <0>; 4062c66fc34SKlaus Goger 4072c66fc34SKlaus Goger rtc_twi: rtc@6f { 4082c66fc34SKlaus Goger compatible = "isil,isl1208"; 4092c66fc34SKlaus Goger reg = <0x6f>; 4102c66fc34SKlaus Goger }; 4112c66fc34SKlaus Goger }; 41284a4e9bfSFarouk Bouabid }; 41384a4e9bfSFarouk Bouabid }; 41484a4e9bfSFarouk Bouabid}; 4152c66fc34SKlaus Goger 4162c66fc34SKlaus Goger&i2c8 { 4172c66fc34SKlaus Goger status = "okay"; 4182c66fc34SKlaus Goger clock-frequency = <400000>; 4192c66fc34SKlaus Goger 4202c66fc34SKlaus Goger vdd_cpu_b: regulator@60 { 4212c66fc34SKlaus Goger compatible = "fcs,fan53555"; 4222c66fc34SKlaus Goger reg = <0x60>; 4232c66fc34SKlaus Goger vin-supply = <&vcc5v0_sys>; 4242c66fc34SKlaus Goger regulator-name = "vdd_cpu_b"; 4252c66fc34SKlaus Goger regulator-min-microvolt = <600000>; 4262c66fc34SKlaus Goger regulator-max-microvolt = <1230000>; 4272c66fc34SKlaus Goger regulator-ramp-delay = <1000>; 4282c66fc34SKlaus Goger fcs,suspend-voltage-selector = <1>; 4292c66fc34SKlaus Goger regulator-always-on; 4302c66fc34SKlaus Goger regulator-boot-on; 4312c66fc34SKlaus Goger }; 4322c66fc34SKlaus Goger}; 4332c66fc34SKlaus Goger 434139eabecSKlaus Goger&i2s0 { 435139eabecSKlaus Goger pinctrl-0 = <&i2s0_2ch_bus>; 436bb94a157SQuentin Schulz pinctrl-1 = <&i2s0_2ch_bus_bclk_off>; 437139eabecSKlaus Goger rockchip,playback-channels = <2>; 438139eabecSKlaus Goger rockchip,capture-channels = <2>; 439139eabecSKlaus Goger}; 440139eabecSKlaus Goger 441d95ed430SKlaus Goger/* 442d95ed430SKlaus Goger * As Q7 does not specify neither a global nor a RX clock for I2S these 443d95ed430SKlaus Goger * signals are not used. Furthermore I2S0_LRCK_RX is used as GPIO. 444bb94a157SQuentin Schulz * Therefore we have to redefine the i2s0_2ch_bus and i2s0_2ch_bus_bclk_off 445bb94a157SQuentin Schulz * definitions to prevent conflicts. 446d95ed430SKlaus Goger */ 447d95ed430SKlaus Goger&i2s0_2ch_bus { 448d95ed430SKlaus Goger rockchip,pins = 449d64420e8SHeiko Stuebner <3 RK_PD0 1 &pcfg_pull_none>, 450d64420e8SHeiko Stuebner <3 RK_PD2 1 &pcfg_pull_none>, 451d64420e8SHeiko Stuebner <3 RK_PD3 1 &pcfg_pull_none>, 452d64420e8SHeiko Stuebner <3 RK_PD7 1 &pcfg_pull_none>; 453d95ed430SKlaus Goger}; 454d95ed430SKlaus Goger 455bb94a157SQuentin Schulz&i2s0_2ch_bus_bclk_off { 456bb94a157SQuentin Schulz rockchip,pins = 457bb94a157SQuentin Schulz <3 RK_PD0 RK_FUNC_GPIO &pcfg_pull_none>, 458bb94a157SQuentin Schulz <3 RK_PD2 1 &pcfg_pull_none>, 459bb94a157SQuentin Schulz <3 RK_PD3 1 &pcfg_pull_none>, 460bb94a157SQuentin Schulz <3 RK_PD7 1 &pcfg_pull_none>; 461bb94a157SQuentin Schulz}; 462bb94a157SQuentin Schulz 4632c66fc34SKlaus Goger&io_domains { 4642c66fc34SKlaus Goger status = "okay"; 4652c66fc34SKlaus Goger bt656-supply = <&vcc_1v8>; 4662c66fc34SKlaus Goger audio-supply = <&vcc_1v8>; 4672c66fc34SKlaus Goger sdmmc-supply = <&vcc_sd>; 4682c66fc34SKlaus Goger gpio1830-supply = <&vcc_1v8>; 4692c66fc34SKlaus Goger}; 4702c66fc34SKlaus Goger 471d7ed698aSQuentin Schulz&pcie0 { 472d7ed698aSQuentin Schulz /* PCIe PHY supplies */ 473d7ed698aSQuentin Schulz vpcie0v9-supply = <&vcca_0v9>; 474d7ed698aSQuentin Schulz vpcie1v8-supply = <&vcca_1v8>; 475d7ed698aSQuentin Schulz}; 476d7ed698aSQuentin Schulz 477945a7c85SQuentin Schulz&pcie_clkreqn_cpm { 478945a7c85SQuentin Schulz rockchip,pins = 479945a7c85SQuentin Schulz <2 RK_PD2 RK_FUNC_GPIO &pcfg_pull_up>; 480945a7c85SQuentin Schulz}; 481945a7c85SQuentin Schulz 4822c66fc34SKlaus Goger&pinctrl { 4830ac417b8SIskander Amara pinctrl-names = "default"; 484741f5ba7SQuentin Schulz pinctrl-0 = <&q7_thermal_pin &bios_disable_override_hog_pin>; 4850ac417b8SIskander Amara 4860ac417b8SIskander Amara gpios { 487741f5ba7SQuentin Schulz bios_disable_override_hog_pin: bios-disable-override-hog-pin { 488741f5ba7SQuentin Schulz rockchip,pins = 489741f5ba7SQuentin Schulz <3 RK_PD5 RK_FUNC_GPIO &pcfg_pull_down>; 490741f5ba7SQuentin Schulz }; 491741f5ba7SQuentin Schulz 4920ac417b8SIskander Amara q7_thermal_pin: q7-thermal-pin { 4930ac417b8SIskander Amara rockchip,pins = 4940ac417b8SIskander Amara <0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>; 4950ac417b8SIskander Amara }; 4960ac417b8SIskander Amara }; 4970ac417b8SIskander Amara 4982c66fc34SKlaus Goger i2c8 { 4992c66fc34SKlaus Goger i2c8_xfer_a: i2c8-xfer { 5002c66fc34SKlaus Goger rockchip,pins = 501d64420e8SHeiko Stuebner <1 RK_PC4 1 &pcfg_pull_up>, 502d64420e8SHeiko Stuebner <1 RK_PC5 1 &pcfg_pull_up>; 5032c66fc34SKlaus Goger }; 5042c66fc34SKlaus Goger }; 5052c66fc34SKlaus Goger 5062c66fc34SKlaus Goger leds { 5076dd5e12cSJohan Jonker module_led_pin: module-led-pin { 5082c66fc34SKlaus Goger rockchip,pins = 509d64420e8SHeiko Stuebner <2 RK_PD1 RK_FUNC_GPIO &pcfg_pull_none>; 5102c66fc34SKlaus Goger }; 5112c66fc34SKlaus Goger }; 5122c66fc34SKlaus Goger 5132c66fc34SKlaus Goger pmic { 5142c66fc34SKlaus Goger pmic_int_l: pmic-int-l { 5152c66fc34SKlaus Goger rockchip,pins = 516d64420e8SHeiko Stuebner <1 RK_PC6 RK_FUNC_GPIO &pcfg_pull_up>; 5172c66fc34SKlaus Goger }; 5182c66fc34SKlaus Goger }; 5192c66fc34SKlaus Goger 520*d7cc532dSLukasz Czechowski usb { 521*d7cc532dSLukasz Czechowski cy3304_reset: cy3304-reset { 5222c66fc34SKlaus Goger rockchip,pins = 523*d7cc532dSLukasz Czechowski <4 RK_PA3 RK_FUNC_GPIO &pcfg_output_high>; 5242c66fc34SKlaus Goger }; 5252c66fc34SKlaus Goger }; 526ed2c66a9SQuentin Schulz 527ed2c66a9SQuentin Schulz usb3 { 528ed2c66a9SQuentin Schulz usb3_id: usb3-id { 529ed2c66a9SQuentin Schulz rockchip,pins = 530e6b1168fSQuentin Schulz <1 RK_PC2 RK_FUNC_GPIO &pcfg_pull_up>; 531ed2c66a9SQuentin Schulz }; 532ed2c66a9SQuentin Schulz }; 5332c66fc34SKlaus Goger}; 5342c66fc34SKlaus Goger 535f0abb4b2SIskander Amara&pmu_io_domains { 536f0abb4b2SIskander Amara status = "okay"; 537f0abb4b2SIskander Amara pmu1830-supply = <&vcc_1v8>; 538f0abb4b2SIskander Amara}; 539f0abb4b2SIskander Amara 540f0abb4b2SIskander Amara&pwm2 { 541f0abb4b2SIskander Amara status = "okay"; 542f0abb4b2SIskander Amara}; 543f0abb4b2SIskander Amara 5442c66fc34SKlaus Goger&sdhci { 54562966cbdSJakob Unterwurzacher /* 54662966cbdSJakob Unterwurzacher * Signal integrity isn't great at 200MHz but 100MHz has proven stable 54762966cbdSJakob Unterwurzacher * enough. 54862966cbdSJakob Unterwurzacher */ 54962966cbdSJakob Unterwurzacher max-frequency = <100000000>; 55062966cbdSJakob Unterwurzacher 5512c66fc34SKlaus Goger bus-width = <8>; 5522c66fc34SKlaus Goger mmc-hs400-1_8v; 5532c66fc34SKlaus Goger mmc-hs400-enhanced-strobe; 5542c66fc34SKlaus Goger non-removable; 5552c66fc34SKlaus Goger status = "okay"; 5562c66fc34SKlaus Goger}; 5572c66fc34SKlaus Goger 5582c66fc34SKlaus Goger&sdmmc { 559bfb70fa5SJohan Jonker vqmmc-supply = <&vcc_sd>; 5602c66fc34SKlaus Goger}; 5612c66fc34SKlaus Goger 5622c66fc34SKlaus Goger&spi1 { 5632c66fc34SKlaus Goger status = "okay"; 5642c66fc34SKlaus Goger 5652c66fc34SKlaus Goger norflash: flash@0 { 5662c66fc34SKlaus Goger compatible = "jedec,spi-nor"; 5672c66fc34SKlaus Goger reg = <0>; 5682c66fc34SKlaus Goger spi-max-frequency = <50000000>; 5692c66fc34SKlaus Goger }; 5702c66fc34SKlaus Goger}; 5712c66fc34SKlaus Goger 572fd3e8303SEnric Balletbo i Serra&tcphy1 { 573fd3e8303SEnric Balletbo i Serra status = "okay"; 574fd3e8303SEnric Balletbo i Serra}; 575fd3e8303SEnric Balletbo i Serra 57632c79915SKlaus Goger&tsadc { 57732c79915SKlaus Goger rockchip,hw-tshut-mode = <1>; 57832c79915SKlaus Goger rockchip,hw-tshut-polarity = <1>; 57932c79915SKlaus Goger status = "okay"; 58032c79915SKlaus Goger}; 58132c79915SKlaus Goger 5822c66fc34SKlaus Goger&u2phy1 { 5832c66fc34SKlaus Goger status = "okay"; 5842c66fc34SKlaus Goger 5852c66fc34SKlaus Goger u2phy1_otg: otg-port { 5862c66fc34SKlaus Goger status = "okay"; 5872c66fc34SKlaus Goger }; 5882c66fc34SKlaus Goger}; 5892c66fc34SKlaus Goger 5902c66fc34SKlaus Goger&usbdrd3_1 { 5912c66fc34SKlaus Goger status = "okay"; 5922c66fc34SKlaus Goger}; 5932c66fc34SKlaus Goger 5942c66fc34SKlaus Goger&usbdrd_dwc3_1 { 5952c66fc34SKlaus Goger status = "okay"; 5962c66fc34SKlaus Goger dr_mode = "host"; 597*d7cc532dSLukasz Czechowski pinctrl-names = "default"; 598*d7cc532dSLukasz Czechowski pinctrl-0 = <&cy3304_reset>; 599*d7cc532dSLukasz Czechowski #address-cells = <1>; 600*d7cc532dSLukasz Czechowski #size-cells = <0>; 601*d7cc532dSLukasz Czechowski 602*d7cc532dSLukasz Czechowski hub_2_0: hub@1 { 603*d7cc532dSLukasz Czechowski compatible = "usb4b4,6502", "usb4b4,6506"; 604*d7cc532dSLukasz Czechowski reg = <1>; 605*d7cc532dSLukasz Czechowski peer-hub = <&hub_3_0>; 606*d7cc532dSLukasz Czechowski reset-gpios = <&gpio4 RK_PA3 GPIO_ACTIVE_HIGH>; 607*d7cc532dSLukasz Czechowski vdd-supply = <&vcc1v2_phy>; 608*d7cc532dSLukasz Czechowski vdd2-supply = <&vcc3v3_sys>; 609*d7cc532dSLukasz Czechowski 610*d7cc532dSLukasz Czechowski }; 611*d7cc532dSLukasz Czechowski 612*d7cc532dSLukasz Czechowski hub_3_0: hub@2 { 613*d7cc532dSLukasz Czechowski compatible = "usb4b4,6500", "usb4b4,6504"; 614*d7cc532dSLukasz Czechowski reg = <2>; 615*d7cc532dSLukasz Czechowski peer-hub = <&hub_2_0>; 616*d7cc532dSLukasz Czechowski reset-gpios = <&gpio4 RK_PA3 GPIO_ACTIVE_HIGH>; 617*d7cc532dSLukasz Czechowski vdd-supply = <&vcc1v2_phy>; 618*d7cc532dSLukasz Czechowski vdd2-supply = <&vcc3v3_sys>; 619*d7cc532dSLukasz Czechowski }; 6202c66fc34SKlaus Goger}; 621