1f9010b0eSMarkus Reichl// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2f9010b0eSMarkus Reichl/*
3f9010b0eSMarkus Reichl * Copyright (c) 2017 T-Chip Intelligent Technology Co., Ltd
4f9010b0eSMarkus Reichl * Copyright (c) 2019 Markus Reichl <m.reichl@fivetechno.de>
5f9010b0eSMarkus Reichl */
6f9010b0eSMarkus Reichl
7f9010b0eSMarkus Reichl/dts-v1/;
8f9010b0eSMarkus Reichl#include "rk3399-roc-pc.dtsi"
9f9010b0eSMarkus Reichl
10f9010b0eSMarkus Reichl/ {
11f9010b0eSMarkus Reichl	model = "Firefly ROC-RK3399-PC Mezzanine Board";
12f9010b0eSMarkus Reichl	compatible = "firefly,roc-rk3399-pc-mezzanine", "rockchip,rk3399";
13f9010b0eSMarkus Reichl
14f9010b0eSMarkus Reichl	vcc3v3_ngff: vcc3v3-ngff {
15f9010b0eSMarkus Reichl		compatible = "regulator-fixed";
16f9010b0eSMarkus Reichl		regulator-name = "vcc3v3_ngff";
17f9010b0eSMarkus Reichl		enable-active-high;
18f9010b0eSMarkus Reichl		gpio = <&gpio4 RK_PD3 GPIO_ACTIVE_HIGH>;
19f9010b0eSMarkus Reichl		pinctrl-names = "default";
20f9010b0eSMarkus Reichl		pinctrl-0 = <&vcc3v3_ngff_en>;
21f9010b0eSMarkus Reichl		regulator-always-on;
22f9010b0eSMarkus Reichl		regulator-boot-on;
23f9010b0eSMarkus Reichl		regulator-min-microvolt = <3300000>;
24f9010b0eSMarkus Reichl		regulator-max-microvolt = <3300000>;
25f9010b0eSMarkus Reichl		vin-supply = <&dc_12v>;
26f9010b0eSMarkus Reichl	};
27f9010b0eSMarkus Reichl
28f9010b0eSMarkus Reichl	vcc3v3_pcie: vcc3v3-pcie {
29f9010b0eSMarkus Reichl		compatible = "regulator-fixed";
30f9010b0eSMarkus Reichl		regulator-name = "vcc3v3_pcie";
31f9010b0eSMarkus Reichl		enable-active-high;
32f9010b0eSMarkus Reichl		gpio = <&gpio1 RK_PC1 GPIO_ACTIVE_HIGH>;
33f9010b0eSMarkus Reichl		pinctrl-names = "default";
34f9010b0eSMarkus Reichl		pinctrl-0 = <&vcc3v3_pcie_en>;
35f9010b0eSMarkus Reichl		regulator-always-on;
36f9010b0eSMarkus Reichl		regulator-boot-on;
37f9010b0eSMarkus Reichl		regulator-min-microvolt = <3300000>;
38f9010b0eSMarkus Reichl		regulator-max-microvolt = <3300000>;
39f9010b0eSMarkus Reichl		vin-supply = <&dc_12v>;
40f9010b0eSMarkus Reichl	};
41f9010b0eSMarkus Reichl};
42f9010b0eSMarkus Reichl
43f9010b0eSMarkus Reichl&pcie_phy {
44f9010b0eSMarkus Reichl	status = "okay";
45f9010b0eSMarkus Reichl};
46f9010b0eSMarkus Reichl
47f9010b0eSMarkus Reichl&pcie0 {
48f9010b0eSMarkus Reichl	ep-gpios = <&gpio4 RK_PD1 GPIO_ACTIVE_HIGH>;
49f9010b0eSMarkus Reichl	num-lanes = <4>;
50f9010b0eSMarkus Reichl	pinctrl-names = "default";
51f9010b0eSMarkus Reichl	pinctrl-0 = <&pcie_perst>;
52f9010b0eSMarkus Reichl	vpcie3v3-supply = <&vcc3v3_pcie>;
53ec5b0af7SMarkus Reichl	vpcie1v8-supply = <&vcc1v8_pmu>;
54ec5b0af7SMarkus Reichl	vpcie0v9-supply = <&vcca_0v9>;
55f9010b0eSMarkus Reichl	status = "okay";
56f9010b0eSMarkus Reichl};
57f9010b0eSMarkus Reichl
58f9010b0eSMarkus Reichl&pinctrl {
59f9010b0eSMarkus Reichl	ngff {
60f9010b0eSMarkus Reichl		vcc3v3_ngff_en: vcc3v3-ngff-en {
61f9010b0eSMarkus Reichl			rockchip,pins = <4 RK_PD3 RK_FUNC_GPIO &pcfg_pull_none>;
62f9010b0eSMarkus Reichl		};
63f9010b0eSMarkus Reichl	};
64f9010b0eSMarkus Reichl
65f9010b0eSMarkus Reichl	pcie {
66f9010b0eSMarkus Reichl		vcc3v3_pcie_en: vcc3v3-pcie-en {
67f9010b0eSMarkus Reichl			rockchip,pins = <1 RK_PC1 RK_FUNC_GPIO &pcfg_pull_none>;
68f9010b0eSMarkus Reichl		};
69f9010b0eSMarkus Reichl
70f9010b0eSMarkus Reichl		pcie_perst: pcie-perst {
71f9010b0eSMarkus Reichl			rockchip,pins = <4 RK_PD1 RK_FUNC_GPIO &pcfg_pull_none>;
72f9010b0eSMarkus Reichl		};
73f9010b0eSMarkus Reichl	};
74f9010b0eSMarkus Reichl};
75