1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2/*
3 * FriendlyElec NanoPC-T4 board device tree source
4 *
5 * Copyright (c) 2018 FriendlyElec Computer Tech. Co., Ltd.
6 * (http://www.friendlyarm.com)
7 *
8 * Copyright (c) 2018 Collabora Ltd.
9 */
10
11/dts-v1/;
12#include "rk3399-nanopi4.dtsi"
13
14/ {
15	model = "FriendlyElec NanoPC-T4";
16	compatible = "friendlyarm,nanopc-t4", "rockchip,rk3399";
17
18	vcc12v0_sys: vcc12v0-sys {
19		compatible = "regulator-fixed";
20		regulator-always-on;
21		regulator-boot-on;
22		regulator-max-microvolt = <12000000>;
23		regulator-min-microvolt = <12000000>;
24		regulator-name = "vcc12v0_sys";
25	};
26
27	vcc5v0_host0: vcc5v0-host0 {
28		compatible = "regulator-fixed";
29		regulator-always-on;
30		regulator-boot-on;
31		regulator-name = "vcc5v0_host0";
32		vin-supply = <&vcc5v0_sys>;
33	};
34
35	adc-keys {
36		compatible = "adc-keys";
37		io-channels = <&saradc 1>;
38		io-channel-names = "buttons";
39		keyup-threshold-microvolt = <1800000>;
40		poll-interval = <100>;
41
42		button-recovery {
43			label = "Recovery";
44			linux,code = <KEY_VENDOR>;
45			press-threshold-microvolt = <18000>;
46		};
47	};
48
49	ir-receiver {
50		compatible = "gpio-ir-receiver";
51		gpios = <&gpio0 RK_PA6 GPIO_ACTIVE_LOW>;
52		pinctrl-names = "default";
53		pinctrl-0 = <&ir_rx>;
54	};
55
56	fan: pwm-fan {
57		compatible = "pwm-fan";
58		/*
59		 * With 20KHz PWM and an EVERCOOL EC4007H12SA fan, these levels
60		 * work out to 0, ~1200, ~3000, and 5000RPM respectively.
61		 */
62		cooling-levels = <0 12 18 255>;
63		#cooling-cells = <2>;
64		fan-supply = <&vcc12v0_sys>;
65		pwms = <&pwm1 0 50000 0>;
66	};
67};
68
69&cpu_thermal {
70	trips {
71		cpu_warm: cpu_warm {
72			temperature = <55000>;
73			hysteresis = <2000>;
74			type = "active";
75		};
76
77		cpu_hot: cpu_hot {
78			temperature = <65000>;
79			hysteresis = <2000>;
80			type = "active";
81		};
82	};
83
84	cooling-maps {
85		map2 {
86			trip = <&cpu_warm>;
87			cooling-device = <&fan THERMAL_NO_LIMIT 1>;
88		};
89
90		map3 {
91			trip = <&cpu_hot>;
92			cooling-device = <&fan 2 THERMAL_NO_LIMIT>;
93		};
94	};
95};
96
97&pcie0 {
98	ep-gpios = <&gpio2 RK_PA4 GPIO_ACTIVE_HIGH>;
99	num-lanes = <4>;
100	vpcie3v3-supply = <&vcc3v3_sys>;
101};
102
103&pinctrl {
104	ir {
105		ir_rx: ir-rx {
106			/* external pullup to VCC3V3_SYS, despite being 1.8V :/ */
107			rockchip,pins = <0 RK_PA6 1 &pcfg_pull_none>;
108		};
109	};
110};
111
112&sdhci {
113	mmc-hs400-1_8v;
114	mmc-hs400-enhanced-strobe;
115};
116
117&u2phy0_host {
118	phy-supply = <&vcc5v0_host0>;
119};
120
121&u2phy1_host {
122	phy-supply = <&vcc5v0_host0>;
123};
124
125&vcc5v0_sys {
126	vin-supply = <&vcc12v0_sys>;
127};
128
129&vcc3v3_sys {
130	vin-supply = <&vcc12v0_sys>;
131};
132
133&vbus_typec {
134	enable-active-high;
135	gpios = <&gpio4 RK_PD2 GPIO_ACTIVE_HIGH>;
136	vin-supply = <&vcc5v0_sys>;
137};
138