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