// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
 * FriendlyElec NanoPC-T4 board device tree source
 *
 * Copyright (c) 2018 FriendlyElec Computer Tech. Co., Ltd.
 * (http://www.friendlyarm.com)
 *
 * Copyright (c) 2018 Collabora Ltd.
 */

/dts-v1/;
#include "rk3399-nanopi4.dtsi"

/ {
	model = "FriendlyElec NanoPC-T4";
	compatible = "friendlyarm,nanopc-t4", "rockchip,rk3399";

	vcc12v0_sys: vcc12v0-sys {
		compatible = "regulator-fixed";
		regulator-always-on;
		regulator-boot-on;
		regulator-max-microvolt = <12000000>;
		regulator-min-microvolt = <12000000>;
		regulator-name = "vcc12v0_sys";
	};

	vcc5v0_host0: vcc5v0-host0 {
		compatible = "regulator-fixed";
		regulator-always-on;
		regulator-boot-on;
		regulator-name = "vcc5v0_host0";
		vin-supply = <&vcc5v0_sys>;
	};

	adc-keys {
		compatible = "adc-keys";
		io-channels = <&saradc 1>;
		io-channel-names = "buttons";
		keyup-threshold-microvolt = <1800000>;
		poll-interval = <100>;

		button-recovery {
			label = "Recovery";
			linux,code = <KEY_VENDOR>;
			press-threshold-microvolt = <18000>;
		};
	};

	ir-receiver {
		compatible = "gpio-ir-receiver";
		gpios = <&gpio0 RK_PA6 GPIO_ACTIVE_LOW>;
		pinctrl-names = "default";
		pinctrl-0 = <&ir_rx>;
	};

	fan: pwm-fan {
		compatible = "pwm-fan";
		/*
		 * With 20KHz PWM and an EVERCOOL EC4007H12SA fan, these levels
		 * work out to 0, ~1200, ~3000, and 5000RPM respectively.
		 */
		cooling-levels = <0 12 18 255>;
		#cooling-cells = <2>;
		fan-supply = <&vcc12v0_sys>;
		pwms = <&pwm1 0 50000 0>;
	};
};

&cpu_thermal {
	trips {
		cpu_warm: cpu_warm {
			temperature = <55000>;
			hysteresis = <2000>;
			type = "active";
		};

		cpu_hot: cpu_hot {
			temperature = <65000>;
			hysteresis = <2000>;
			type = "active";
		};
	};

	cooling-maps {
		map2 {
			trip = <&cpu_warm>;
			cooling-device = <&fan THERMAL_NO_LIMIT 1>;
		};

		map3 {
			trip = <&cpu_hot>;
			cooling-device = <&fan 2 THERMAL_NO_LIMIT>;
		};
	};
};

&pcie0 {
	ep-gpios = <&gpio2 RK_PA4 GPIO_ACTIVE_HIGH>;
	num-lanes = <4>;
	vpcie3v3-supply = <&vcc3v3_sys>;
};

&pinctrl {
	ir {
		ir_rx: ir-rx {
			/* external pullup to VCC3V3_SYS, despite being 1.8V :/ */
			rockchip,pins = <0 RK_PA6 1 &pcfg_pull_none>;
		};
	};
};

&sdhci {
	mmc-hs400-1_8v;
	mmc-hs400-enhanced-strobe;
};

&u2phy0_host {
	phy-supply = <&vcc5v0_host0>;
};

&u2phy1_host {
	phy-supply = <&vcc5v0_host0>;
};

&vcc5v0_sys {
	vin-supply = <&vcc12v0_sys>;
};

&vcc3v3_sys {
	vin-supply = <&vcc12v0_sys>;
};

&vbus_typec {
	enable-active-high;
	gpios = <&gpio4 RK_PD2 GPIO_ACTIVE_HIGH>;
	vin-supply = <&vcc5v0_sys>;
};
