1e7a09590STomeu Vizoso// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2e7a09590STomeu Vizoso/* 3e7a09590STomeu Vizoso * FriendlyElec NanoPC-T4 board device tree source 4e7a09590STomeu Vizoso * 5e7a09590STomeu Vizoso * Copyright (c) 2018 FriendlyElec Computer Tech. Co., Ltd. 6e7a09590STomeu Vizoso * (http://www.friendlyarm.com) 7e7a09590STomeu Vizoso * 8e7a09590STomeu Vizoso * Copyright (c) 2018 Collabora Ltd. 9e7a09590STomeu Vizoso */ 10e7a09590STomeu Vizoso 11e7a09590STomeu Vizoso/dts-v1/; 12e7a09590STomeu Vizoso#include "rk3399-nanopi4.dtsi" 13e7a09590STomeu Vizoso 14e7a09590STomeu Vizoso/ { 15e7a09590STomeu Vizoso model = "FriendlyElec NanoPC-T4"; 16e7a09590STomeu Vizoso compatible = "friendlyarm,nanopc-t4", "rockchip,rk3399"; 17c62ffaf5SRobin Murphy 18c62ffaf5SRobin Murphy vcc12v0_sys: vcc12v0-sys { 19c62ffaf5SRobin Murphy compatible = "regulator-fixed"; 20c62ffaf5SRobin Murphy regulator-always-on; 21c62ffaf5SRobin Murphy regulator-boot-on; 22c62ffaf5SRobin Murphy regulator-max-microvolt = <12000000>; 23c62ffaf5SRobin Murphy regulator-min-microvolt = <12000000>; 24c62ffaf5SRobin Murphy regulator-name = "vcc12v0_sys"; 25c62ffaf5SRobin Murphy }; 26c62ffaf5SRobin Murphy 27c62ffaf5SRobin Murphy vcc5v0_host0: vcc5v0-host0 { 28c62ffaf5SRobin Murphy compatible = "regulator-fixed"; 29c62ffaf5SRobin Murphy regulator-always-on; 30c62ffaf5SRobin Murphy regulator-boot-on; 31c62ffaf5SRobin Murphy regulator-name = "vcc5v0_host0"; 32c62ffaf5SRobin Murphy vin-supply = <&vcc5v0_sys>; 33c62ffaf5SRobin Murphy }; 34c62ffaf5SRobin Murphy 35c62ffaf5SRobin Murphy adc-keys { 36c62ffaf5SRobin Murphy compatible = "adc-keys"; 37c62ffaf5SRobin Murphy io-channels = <&saradc 1>; 38c62ffaf5SRobin Murphy io-channel-names = "buttons"; 39c62ffaf5SRobin Murphy keyup-threshold-microvolt = <1800000>; 40c62ffaf5SRobin Murphy poll-interval = <100>; 41c62ffaf5SRobin Murphy 42*f2bd2e76SJohan Jonker button-recovery { 43c62ffaf5SRobin Murphy label = "Recovery"; 44c62ffaf5SRobin Murphy linux,code = <KEY_VENDOR>; 45c62ffaf5SRobin Murphy press-threshold-microvolt = <18000>; 46c62ffaf5SRobin Murphy }; 47c62ffaf5SRobin Murphy }; 4895658e21SRobin Murphy 4995658e21SRobin Murphy ir-receiver { 5095658e21SRobin Murphy compatible = "gpio-ir-receiver"; 5195658e21SRobin Murphy gpios = <&gpio0 RK_PA6 GPIO_ACTIVE_LOW>; 5295658e21SRobin Murphy pinctrl-names = "default"; 5395658e21SRobin Murphy pinctrl-0 = <&ir_rx>; 5495658e21SRobin Murphy }; 55980b5216SRobin Murphy 56980b5216SRobin Murphy fan: pwm-fan { 57980b5216SRobin Murphy compatible = "pwm-fan"; 58980b5216SRobin Murphy /* 59980b5216SRobin Murphy * With 20KHz PWM and an EVERCOOL EC4007H12SA fan, these levels 60980b5216SRobin Murphy * work out to 0, ~1200, ~3000, and 5000RPM respectively. 61980b5216SRobin Murphy */ 62980b5216SRobin Murphy cooling-levels = <0 12 18 255>; 63980b5216SRobin Murphy #cooling-cells = <2>; 64980b5216SRobin Murphy fan-supply = <&vcc12v0_sys>; 65980b5216SRobin Murphy pwms = <&pwm1 0 50000 0>; 66980b5216SRobin Murphy }; 67980b5216SRobin Murphy}; 68980b5216SRobin Murphy 69980b5216SRobin Murphy&cpu_thermal { 70980b5216SRobin Murphy trips { 71980b5216SRobin Murphy cpu_warm: cpu_warm { 72980b5216SRobin Murphy temperature = <55000>; 73980b5216SRobin Murphy hysteresis = <2000>; 74980b5216SRobin Murphy type = "active"; 75980b5216SRobin Murphy }; 76980b5216SRobin Murphy 77980b5216SRobin Murphy cpu_hot: cpu_hot { 78980b5216SRobin Murphy temperature = <65000>; 79980b5216SRobin Murphy hysteresis = <2000>; 80980b5216SRobin Murphy type = "active"; 81980b5216SRobin Murphy }; 82980b5216SRobin Murphy }; 83980b5216SRobin Murphy 84980b5216SRobin Murphy cooling-maps { 85980b5216SRobin Murphy map2 { 86980b5216SRobin Murphy trip = <&cpu_warm>; 87980b5216SRobin Murphy cooling-device = <&fan THERMAL_NO_LIMIT 1>; 88980b5216SRobin Murphy }; 89980b5216SRobin Murphy 90980b5216SRobin Murphy map3 { 91980b5216SRobin Murphy trip = <&cpu_hot>; 92980b5216SRobin Murphy cooling-device = <&fan 2 THERMAL_NO_LIMIT>; 93980b5216SRobin Murphy }; 94980b5216SRobin Murphy }; 95980b5216SRobin Murphy}; 96980b5216SRobin Murphy 97876816b2SRobin Murphy&pcie0 { 983503376dSChen-Yu Tsai ep-gpios = <&gpio2 RK_PA4 GPIO_ACTIVE_HIGH>; 99876816b2SRobin Murphy num-lanes = <4>; 100876816b2SRobin Murphy vpcie3v3-supply = <&vcc3v3_sys>; 101876816b2SRobin Murphy}; 102876816b2SRobin Murphy 10395658e21SRobin Murphy&pinctrl { 10495658e21SRobin Murphy ir { 10595658e21SRobin Murphy ir_rx: ir-rx { 10695658e21SRobin Murphy /* external pullup to VCC3V3_SYS, despite being 1.8V :/ */ 107d64420e8SHeiko Stuebner rockchip,pins = <0 RK_PA6 1 &pcfg_pull_none>; 10895658e21SRobin Murphy }; 10995658e21SRobin Murphy }; 110c62ffaf5SRobin Murphy}; 111c62ffaf5SRobin Murphy 112c62ffaf5SRobin Murphy&sdhci { 113c62ffaf5SRobin Murphy mmc-hs400-1_8v; 114c62ffaf5SRobin Murphy mmc-hs400-enhanced-strobe; 115c62ffaf5SRobin Murphy}; 116c62ffaf5SRobin Murphy 117c62ffaf5SRobin Murphy&u2phy0_host { 118c62ffaf5SRobin Murphy phy-supply = <&vcc5v0_host0>; 119c62ffaf5SRobin Murphy}; 120c62ffaf5SRobin Murphy 121c62ffaf5SRobin Murphy&u2phy1_host { 122c62ffaf5SRobin Murphy phy-supply = <&vcc5v0_host0>; 123c62ffaf5SRobin Murphy}; 124c62ffaf5SRobin Murphy 125c62ffaf5SRobin Murphy&vcc5v0_sys { 126c62ffaf5SRobin Murphy vin-supply = <&vcc12v0_sys>; 127c62ffaf5SRobin Murphy}; 128c62ffaf5SRobin Murphy 129c62ffaf5SRobin Murphy&vcc3v3_sys { 130c62ffaf5SRobin Murphy vin-supply = <&vcc12v0_sys>; 131c62ffaf5SRobin Murphy}; 132c62ffaf5SRobin Murphy 133c62ffaf5SRobin Murphy&vbus_typec { 134c62ffaf5SRobin Murphy enable-active-high; 135c62ffaf5SRobin Murphy gpios = <&gpio4 RK_PD2 GPIO_ACTIVE_HIGH>; 136c62ffaf5SRobin Murphy vin-supply = <&vcc5v0_sys>; 137e7a09590STomeu Vizoso}; 138