Only the NanoPC T4 hs the PCIe reset pin routed to the SoC. For the
NanoPi M4 family, no such signal is routed to the expansion header on
the base board.
As the schematics for the expansion board were not released, it is
unclear how this is handled, but the likely answer is that the signal
is always pulled high.
Move the ep-gpios property from the common nanopi4.dtsi file to the
board level nanopc-t4.dts file. This makes the nanopi-m4 lack ep-gpios,
matching the board design.
A companion patch "PCI: rockchip: make ep_gpio optional" for the Linux
driver is required, as the driver currently requires the property to be
present.
Fixes: e7a0959082 ("arm64: dts: rockchip: Add devicetree for NanoPC-T4")
Reviewed-by: Robin Murphy <robin.murphy@arm.com>
Signed-off-by: Chen-Yu Tsai <wens@csie.org>
Link: https://lore.kernel.org/r/20210121162321.4538-4-wens@kernel.org
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
138 lines
2.5 KiB
Plaintext
138 lines
2.5 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>;
|
|
};
|
|
};
|
|
};
|
|
|
|
&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>;
|
|
};
|