~funderscore blog cgit wiki get in touch
aboutsummaryrefslogtreecommitdiff
blob: 9447c8724b65a98bafe9ea319814dbb7c077991c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
 * Copyright (c) 2017 T-Chip Intelligent Technology Co., Ltd
 * Copyright (c) 2019 Markus Reichl <m.reichl@fivetechno.de>
 */

/dts-v1/;
#include "rk3399-roc-pc.dtsi"

/ {
	model = "Firefly ROC-RK3399-PC Mezzanine Board";
	compatible = "firefly,roc-rk3399-pc-mezzanine", "rockchip,rk3399";

	aliases {
		mmc2 = &sdio0;
	};

	/* MP8009 PoE PD */
	poe_12v: poe-12v {
		compatible = "regulator-fixed";
		regulator-name = "poe_12v";
		regulator-always-on;
		regulator-boot-on;
		regulator-min-microvolt = <12000000>;
		regulator-max-microvolt = <12000000>;
	};

	vcc3v3_ngff: vcc3v3-ngff {
		compatible = "regulator-fixed";
		regulator-name = "vcc3v3_ngff";
		enable-active-high;
		gpio = <&gpio4 RK_PD3 GPIO_ACTIVE_HIGH>;
		pinctrl-names = "default";
		pinctrl-0 = <&vcc3v3_ngff_en>;
		regulator-always-on;
		regulator-boot-on;
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
		vin-supply = <&sys_12v>;
	};

	vcc3v3_pcie: vcc3v3-pcie {
		compatible = "regulator-fixed";
		regulator-name = "vcc3v3_pcie";
		enable-active-high;
		gpio = <&gpio1 RK_PC1 GPIO_ACTIVE_HIGH>;
		pinctrl-names = "default";
		pinctrl-0 = <&vcc3v3_pcie_en>;
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
		vin-supply = <&sys_12v>;
	};
};

&sys_12v {
	vin-supply = <&poe_12v>;
};

&pcie_phy {
	status = "okay";
};

&pcie0 {
	ep-gpios = <&gpio4 RK_PD1 GPIO_ACTIVE_HIGH>;
	num-lanes = <4>;
	pinctrl-names = "default";
	pinctrl-0 = <&pcie_perst>;
	vpcie3v3-supply = <&vcc3v3_pcie>;
	vpcie1v8-supply = <&vcc1v8_pmu>;
	vpcie0v9-supply = <&vcca_0v9>;
	status = "okay";
};

&pinctrl {
	ngff {
		vcc3v3_ngff_en: vcc3v3-ngff-en {
			rockchip,pins = <4 RK_PD3 RK_FUNC_GPIO &pcfg_pull_none>;
		};
	};

	pcie {
		vcc3v3_pcie_en: vcc3v3-pcie-en {
			rockchip,pins = <1 RK_PC1 RK_FUNC_GPIO &pcfg_pull_none>;
		};

		pcie_perst: pcie-perst {
			rockchip,pins = <4 RK_PD1 RK_FUNC_GPIO &pcfg_pull_none>;
		};
	};
};

&sdio0 {
	bus-width = <4>;
	cap-sd-highspeed;
	cap-sdio-irq;
	keep-power-in-suspend;
	mmc-pwrseq = <&sdio_pwrseq>;
	non-removable;
	pinctrl-names = "default";
	pinctrl-0 = <&sdio0_bus4 &sdio0_cmd &sdio0_clk>;
	sd-uhs-sdr104;
	vmmc-supply = <&vcc3v3_ngff>;
	vqmmc-supply = <&vcc_1v8>;
	status = "okay";
};

&uart0 {
	pinctrl-names = "default";
	pinctrl-0 = <&uart0_xfer &uart0_cts &uart0_rts>;
	status = "okay";
};