xref: /linux/scripts/dtc/include-prefixes/arm64/rockchip/rk3399-puma.dtsi (revision ec71f661a572a770d7c861cd52a50cbbb0e1a8d1)
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