mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-28 11:18:45 +07:00
980b521628
NanoPC-T4 has a dedicated circuit for driving a 12V fan from PWM1, so let's add that along with some rough empirically-derived thermal settings for the benefit of anyone determined enough to hook one up. The vendor does not currently offer a suitable fan, but this seems as good a place as any to note that pre-terminated 3-pin JST GH connectors are readily available online, and if you even have to ask, then splicing one of those really will be orders of magnitude cheaper and simpler than getting set up to crimp the teeny-tiny things by hand. Signed-off-by: Robin Murphy <robin.murphy@arm.com> Signed-off-by: Heiko Stuebner <heiko@sntech.de>
159 lines
2.8 KiB
Plaintext
159 lines
2.8 KiB
Plaintext
// 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>;
|
|
|
|
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>;
|
|
};
|
|
};
|
|
};
|
|
|
|
&gpu_thermal {
|
|
trips {
|
|
gpu_warm: gpu_warm {
|
|
temperature = <55000>;
|
|
hysteresis = <2000>;
|
|
type = "active";
|
|
};
|
|
|
|
gpu_hot: gpu_hot {
|
|
temperature = <65000>;
|
|
hysteresis = <2000>;
|
|
type = "active";
|
|
};
|
|
};
|
|
cooling-maps {
|
|
map1 {
|
|
trip = <&gpu_warm>;
|
|
cooling-device = <&fan THERMAL_NO_LIMIT 1>;
|
|
};
|
|
|
|
map2 {
|
|
trip = <&gpu_hot>;
|
|
cooling-device = <&fan 2 THERMAL_NO_LIMIT>;
|
|
};
|
|
};
|
|
};
|
|
|
|
&pinctrl {
|
|
ir {
|
|
ir_rx: ir-rx {
|
|
/* external pullup to VCC3V3_SYS, despite being 1.8V :/ */
|
|
rockchip,pins = <0 RK_PA6 RK_FUNC_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>;
|
|
};
|