162306a36Sopenharmony_ci// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * FriendlyElec NanoPC-T4 board device tree source 462306a36Sopenharmony_ci * 562306a36Sopenharmony_ci * Copyright (c) 2018 FriendlyElec Computer Tech. Co., Ltd. 662306a36Sopenharmony_ci * (http://www.friendlyarm.com) 762306a36Sopenharmony_ci * 862306a36Sopenharmony_ci * Copyright (c) 2018 Collabora Ltd. 962306a36Sopenharmony_ci */ 1062306a36Sopenharmony_ci 1162306a36Sopenharmony_ci/dts-v1/; 1262306a36Sopenharmony_ci#include "rk3399-nanopi4.dtsi" 1362306a36Sopenharmony_ci 1462306a36Sopenharmony_ci/ { 1562306a36Sopenharmony_ci model = "FriendlyElec NanoPC-T4"; 1662306a36Sopenharmony_ci compatible = "friendlyarm,nanopc-t4", "rockchip,rk3399"; 1762306a36Sopenharmony_ci 1862306a36Sopenharmony_ci vcc12v0_sys: vcc12v0-sys { 1962306a36Sopenharmony_ci compatible = "regulator-fixed"; 2062306a36Sopenharmony_ci regulator-always-on; 2162306a36Sopenharmony_ci regulator-boot-on; 2262306a36Sopenharmony_ci regulator-max-microvolt = <12000000>; 2362306a36Sopenharmony_ci regulator-min-microvolt = <12000000>; 2462306a36Sopenharmony_ci regulator-name = "vcc12v0_sys"; 2562306a36Sopenharmony_ci }; 2662306a36Sopenharmony_ci 2762306a36Sopenharmony_ci vcc5v0_host0: vcc5v0-host0 { 2862306a36Sopenharmony_ci compatible = "regulator-fixed"; 2962306a36Sopenharmony_ci regulator-always-on; 3062306a36Sopenharmony_ci regulator-boot-on; 3162306a36Sopenharmony_ci regulator-name = "vcc5v0_host0"; 3262306a36Sopenharmony_ci vin-supply = <&vcc5v0_sys>; 3362306a36Sopenharmony_ci }; 3462306a36Sopenharmony_ci 3562306a36Sopenharmony_ci adc-keys { 3662306a36Sopenharmony_ci compatible = "adc-keys"; 3762306a36Sopenharmony_ci io-channels = <&saradc 1>; 3862306a36Sopenharmony_ci io-channel-names = "buttons"; 3962306a36Sopenharmony_ci keyup-threshold-microvolt = <1800000>; 4062306a36Sopenharmony_ci poll-interval = <100>; 4162306a36Sopenharmony_ci 4262306a36Sopenharmony_ci button-recovery { 4362306a36Sopenharmony_ci label = "Recovery"; 4462306a36Sopenharmony_ci linux,code = <KEY_VENDOR>; 4562306a36Sopenharmony_ci press-threshold-microvolt = <18000>; 4662306a36Sopenharmony_ci }; 4762306a36Sopenharmony_ci }; 4862306a36Sopenharmony_ci 4962306a36Sopenharmony_ci ir-receiver { 5062306a36Sopenharmony_ci compatible = "gpio-ir-receiver"; 5162306a36Sopenharmony_ci gpios = <&gpio0 RK_PA6 GPIO_ACTIVE_LOW>; 5262306a36Sopenharmony_ci pinctrl-names = "default"; 5362306a36Sopenharmony_ci pinctrl-0 = <&ir_rx>; 5462306a36Sopenharmony_ci }; 5562306a36Sopenharmony_ci 5662306a36Sopenharmony_ci fan: pwm-fan { 5762306a36Sopenharmony_ci compatible = "pwm-fan"; 5862306a36Sopenharmony_ci /* 5962306a36Sopenharmony_ci * With 20KHz PWM and an EVERCOOL EC4007H12SA fan, these levels 6062306a36Sopenharmony_ci * work out to 0, ~1200, ~3000, and 5000RPM respectively. 6162306a36Sopenharmony_ci */ 6262306a36Sopenharmony_ci cooling-levels = <0 12 18 255>; 6362306a36Sopenharmony_ci #cooling-cells = <2>; 6462306a36Sopenharmony_ci fan-supply = <&vcc12v0_sys>; 6562306a36Sopenharmony_ci pwms = <&pwm1 0 50000 0>; 6662306a36Sopenharmony_ci }; 6762306a36Sopenharmony_ci}; 6862306a36Sopenharmony_ci 6962306a36Sopenharmony_ci&cpu_thermal { 7062306a36Sopenharmony_ci trips { 7162306a36Sopenharmony_ci cpu_warm: cpu_warm { 7262306a36Sopenharmony_ci temperature = <55000>; 7362306a36Sopenharmony_ci hysteresis = <2000>; 7462306a36Sopenharmony_ci type = "active"; 7562306a36Sopenharmony_ci }; 7662306a36Sopenharmony_ci 7762306a36Sopenharmony_ci cpu_hot: cpu_hot { 7862306a36Sopenharmony_ci temperature = <65000>; 7962306a36Sopenharmony_ci hysteresis = <2000>; 8062306a36Sopenharmony_ci type = "active"; 8162306a36Sopenharmony_ci }; 8262306a36Sopenharmony_ci }; 8362306a36Sopenharmony_ci 8462306a36Sopenharmony_ci cooling-maps { 8562306a36Sopenharmony_ci map2 { 8662306a36Sopenharmony_ci trip = <&cpu_warm>; 8762306a36Sopenharmony_ci cooling-device = <&fan THERMAL_NO_LIMIT 1>; 8862306a36Sopenharmony_ci }; 8962306a36Sopenharmony_ci 9062306a36Sopenharmony_ci map3 { 9162306a36Sopenharmony_ci trip = <&cpu_hot>; 9262306a36Sopenharmony_ci cooling-device = <&fan 2 THERMAL_NO_LIMIT>; 9362306a36Sopenharmony_ci }; 9462306a36Sopenharmony_ci }; 9562306a36Sopenharmony_ci}; 9662306a36Sopenharmony_ci 9762306a36Sopenharmony_ci&pcie0 { 9862306a36Sopenharmony_ci ep-gpios = <&gpio2 RK_PA4 GPIO_ACTIVE_HIGH>; 9962306a36Sopenharmony_ci num-lanes = <4>; 10062306a36Sopenharmony_ci vpcie3v3-supply = <&vcc3v3_sys>; 10162306a36Sopenharmony_ci}; 10262306a36Sopenharmony_ci 10362306a36Sopenharmony_ci&pinctrl { 10462306a36Sopenharmony_ci ir { 10562306a36Sopenharmony_ci ir_rx: ir-rx { 10662306a36Sopenharmony_ci /* external pullup to VCC3V3_SYS, despite being 1.8V :/ */ 10762306a36Sopenharmony_ci rockchip,pins = <0 RK_PA6 1 &pcfg_pull_none>; 10862306a36Sopenharmony_ci }; 10962306a36Sopenharmony_ci }; 11062306a36Sopenharmony_ci}; 11162306a36Sopenharmony_ci 11262306a36Sopenharmony_ci&sdhci { 11362306a36Sopenharmony_ci mmc-hs400-1_8v; 11462306a36Sopenharmony_ci mmc-hs400-enhanced-strobe; 11562306a36Sopenharmony_ci}; 11662306a36Sopenharmony_ci 11762306a36Sopenharmony_ci&u2phy0_host { 11862306a36Sopenharmony_ci phy-supply = <&vcc5v0_host0>; 11962306a36Sopenharmony_ci}; 12062306a36Sopenharmony_ci 12162306a36Sopenharmony_ci&u2phy1_host { 12262306a36Sopenharmony_ci phy-supply = <&vcc5v0_host0>; 12362306a36Sopenharmony_ci}; 12462306a36Sopenharmony_ci 12562306a36Sopenharmony_ci&vcc5v0_sys { 12662306a36Sopenharmony_ci vin-supply = <&vcc12v0_sys>; 12762306a36Sopenharmony_ci}; 12862306a36Sopenharmony_ci 12962306a36Sopenharmony_ci&vcc3v3_sys { 13062306a36Sopenharmony_ci vin-supply = <&vcc12v0_sys>; 13162306a36Sopenharmony_ci}; 13262306a36Sopenharmony_ci 13362306a36Sopenharmony_ci&vbus_typec { 13462306a36Sopenharmony_ci enable-active-high; 13562306a36Sopenharmony_ci gpios = <&gpio4 RK_PD2 GPIO_ACTIVE_HIGH>; 13662306a36Sopenharmony_ci vin-supply = <&vcc5v0_sys>; 13762306a36Sopenharmony_ci}; 138