xref: /freebsd/sys/contrib/device-tree/src/arm64/rockchip/rk3399-roc-pc-mezzanine.dts (revision 2eb4d8dc723da3cf7d735a3226ae49da4c8c5dbc)
1c66ec88fSEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2c66ec88fSEmmanuel Vadot/*
3c66ec88fSEmmanuel Vadot * Copyright (c) 2017 T-Chip Intelligent Technology Co., Ltd
4c66ec88fSEmmanuel Vadot * Copyright (c) 2019 Markus Reichl <m.reichl@fivetechno.de>
5c66ec88fSEmmanuel Vadot */
6c66ec88fSEmmanuel Vadot
7c66ec88fSEmmanuel Vadot/dts-v1/;
8c66ec88fSEmmanuel Vadot#include "rk3399-roc-pc.dtsi"
9c66ec88fSEmmanuel Vadot
10c66ec88fSEmmanuel Vadot/ {
11c66ec88fSEmmanuel Vadot	model = "Firefly ROC-RK3399-PC Mezzanine Board";
12c66ec88fSEmmanuel Vadot	compatible = "firefly,roc-rk3399-pc-mezzanine", "rockchip,rk3399";
13c66ec88fSEmmanuel Vadot
14*2eb4d8dcSEmmanuel Vadot	aliases {
15*2eb4d8dcSEmmanuel Vadot		mmc2 = &sdio0;
16*2eb4d8dcSEmmanuel Vadot	};
17*2eb4d8dcSEmmanuel Vadot
186be33864SEmmanuel Vadot	/* MP8009 PoE PD */
196be33864SEmmanuel Vadot	poe_12v: poe-12v {
206be33864SEmmanuel Vadot		compatible = "regulator-fixed";
216be33864SEmmanuel Vadot		regulator-name = "poe_12v";
226be33864SEmmanuel Vadot		regulator-always-on;
236be33864SEmmanuel Vadot		regulator-boot-on;
246be33864SEmmanuel Vadot		regulator-min-microvolt = <12000000>;
256be33864SEmmanuel Vadot		regulator-max-microvolt = <12000000>;
266be33864SEmmanuel Vadot	};
276be33864SEmmanuel Vadot
28c66ec88fSEmmanuel Vadot	vcc3v3_ngff: vcc3v3-ngff {
29c66ec88fSEmmanuel Vadot		compatible = "regulator-fixed";
30c66ec88fSEmmanuel Vadot		regulator-name = "vcc3v3_ngff";
31c66ec88fSEmmanuel Vadot		enable-active-high;
32c66ec88fSEmmanuel Vadot		gpio = <&gpio4 RK_PD3 GPIO_ACTIVE_HIGH>;
33c66ec88fSEmmanuel Vadot		pinctrl-names = "default";
34c66ec88fSEmmanuel Vadot		pinctrl-0 = <&vcc3v3_ngff_en>;
35c66ec88fSEmmanuel Vadot		regulator-always-on;
36c66ec88fSEmmanuel Vadot		regulator-boot-on;
37c66ec88fSEmmanuel Vadot		regulator-min-microvolt = <3300000>;
38c66ec88fSEmmanuel Vadot		regulator-max-microvolt = <3300000>;
396be33864SEmmanuel Vadot		vin-supply = <&sys_12v>;
40c66ec88fSEmmanuel Vadot	};
41c66ec88fSEmmanuel Vadot
42c66ec88fSEmmanuel Vadot	vcc3v3_pcie: vcc3v3-pcie {
43c66ec88fSEmmanuel Vadot		compatible = "regulator-fixed";
44c66ec88fSEmmanuel Vadot		regulator-name = "vcc3v3_pcie";
45c66ec88fSEmmanuel Vadot		enable-active-high;
46c66ec88fSEmmanuel Vadot		gpio = <&gpio1 RK_PC1 GPIO_ACTIVE_HIGH>;
47c66ec88fSEmmanuel Vadot		pinctrl-names = "default";
48c66ec88fSEmmanuel Vadot		pinctrl-0 = <&vcc3v3_pcie_en>;
49c66ec88fSEmmanuel Vadot		regulator-min-microvolt = <3300000>;
50c66ec88fSEmmanuel Vadot		regulator-max-microvolt = <3300000>;
516be33864SEmmanuel Vadot		vin-supply = <&sys_12v>;
52c66ec88fSEmmanuel Vadot	};
53c66ec88fSEmmanuel Vadot};
54c66ec88fSEmmanuel Vadot
556be33864SEmmanuel Vadot&sys_12v {
566be33864SEmmanuel Vadot	vin-supply = <&poe_12v>;
576be33864SEmmanuel Vadot};
586be33864SEmmanuel Vadot
59c66ec88fSEmmanuel Vadot&pcie_phy {
60c66ec88fSEmmanuel Vadot	status = "okay";
61c66ec88fSEmmanuel Vadot};
62c66ec88fSEmmanuel Vadot
63c66ec88fSEmmanuel Vadot&pcie0 {
64c66ec88fSEmmanuel Vadot	ep-gpios = <&gpio4 RK_PD1 GPIO_ACTIVE_HIGH>;
65c66ec88fSEmmanuel Vadot	num-lanes = <4>;
66c66ec88fSEmmanuel Vadot	pinctrl-names = "default";
67c66ec88fSEmmanuel Vadot	pinctrl-0 = <&pcie_perst>;
68c66ec88fSEmmanuel Vadot	vpcie3v3-supply = <&vcc3v3_pcie>;
69c66ec88fSEmmanuel Vadot	vpcie1v8-supply = <&vcc1v8_pmu>;
70c66ec88fSEmmanuel Vadot	vpcie0v9-supply = <&vcca_0v9>;
71c66ec88fSEmmanuel Vadot	status = "okay";
72c66ec88fSEmmanuel Vadot};
73c66ec88fSEmmanuel Vadot
74c66ec88fSEmmanuel Vadot&pinctrl {
75c66ec88fSEmmanuel Vadot	ngff {
76c66ec88fSEmmanuel Vadot		vcc3v3_ngff_en: vcc3v3-ngff-en {
77c66ec88fSEmmanuel Vadot			rockchip,pins = <4 RK_PD3 RK_FUNC_GPIO &pcfg_pull_none>;
78c66ec88fSEmmanuel Vadot		};
79c66ec88fSEmmanuel Vadot	};
80c66ec88fSEmmanuel Vadot
81c66ec88fSEmmanuel Vadot	pcie {
82c66ec88fSEmmanuel Vadot		vcc3v3_pcie_en: vcc3v3-pcie-en {
83c66ec88fSEmmanuel Vadot			rockchip,pins = <1 RK_PC1 RK_FUNC_GPIO &pcfg_pull_none>;
84c66ec88fSEmmanuel Vadot		};
85c66ec88fSEmmanuel Vadot
86c66ec88fSEmmanuel Vadot		pcie_perst: pcie-perst {
87c66ec88fSEmmanuel Vadot			rockchip,pins = <4 RK_PD1 RK_FUNC_GPIO &pcfg_pull_none>;
88c66ec88fSEmmanuel Vadot		};
89c66ec88fSEmmanuel Vadot	};
90c66ec88fSEmmanuel Vadot};
91c66ec88fSEmmanuel Vadot
92c66ec88fSEmmanuel Vadot&sdio0 {
93c66ec88fSEmmanuel Vadot	bus-width = <4>;
94c66ec88fSEmmanuel Vadot	cap-sd-highspeed;
95c66ec88fSEmmanuel Vadot	cap-sdio-irq;
96c66ec88fSEmmanuel Vadot	keep-power-in-suspend;
97c66ec88fSEmmanuel Vadot	mmc-pwrseq = <&sdio_pwrseq>;
98c66ec88fSEmmanuel Vadot	non-removable;
99c66ec88fSEmmanuel Vadot	pinctrl-names = "default";
100c66ec88fSEmmanuel Vadot	pinctrl-0 = <&sdio0_bus4 &sdio0_cmd &sdio0_clk>;
101c66ec88fSEmmanuel Vadot	sd-uhs-sdr104;
102c66ec88fSEmmanuel Vadot	vmmc-supply = <&vcc3v3_ngff>;
103c66ec88fSEmmanuel Vadot	vqmmc-supply = <&vcc_1v8>;
104c66ec88fSEmmanuel Vadot	status = "okay";
105c66ec88fSEmmanuel Vadot};
106c66ec88fSEmmanuel Vadot
107c66ec88fSEmmanuel Vadot&uart0 {
108c66ec88fSEmmanuel Vadot	pinctrl-names = "default";
109c66ec88fSEmmanuel Vadot	pinctrl-0 = <&uart0_xfer &uart0_cts &uart0_rts>;
110c66ec88fSEmmanuel Vadot	status = "okay";
111c66ec88fSEmmanuel Vadot};
112