162306a36Sopenharmony_ci// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * Copyright (c) 2017 T-Chip Intelligent Technology Co., Ltd
462306a36Sopenharmony_ci * Copyright (c) 2019 Markus Reichl <m.reichl@fivetechno.de>
562306a36Sopenharmony_ci */
662306a36Sopenharmony_ci
762306a36Sopenharmony_ci/dts-v1/;
862306a36Sopenharmony_ci#include "rk3399-roc-pc.dtsi"
962306a36Sopenharmony_ci
1062306a36Sopenharmony_ci/ {
1162306a36Sopenharmony_ci	model = "Firefly ROC-RK3399-PC Mezzanine Board";
1262306a36Sopenharmony_ci	compatible = "firefly,roc-rk3399-pc-mezzanine", "rockchip,rk3399";
1362306a36Sopenharmony_ci
1462306a36Sopenharmony_ci	aliases {
1562306a36Sopenharmony_ci		mmc2 = &sdio0;
1662306a36Sopenharmony_ci	};
1762306a36Sopenharmony_ci
1862306a36Sopenharmony_ci	/* MP8009 PoE PD */
1962306a36Sopenharmony_ci	poe_12v: poe-12v {
2062306a36Sopenharmony_ci		compatible = "regulator-fixed";
2162306a36Sopenharmony_ci		regulator-name = "poe_12v";
2262306a36Sopenharmony_ci		regulator-always-on;
2362306a36Sopenharmony_ci		regulator-boot-on;
2462306a36Sopenharmony_ci		regulator-min-microvolt = <12000000>;
2562306a36Sopenharmony_ci		regulator-max-microvolt = <12000000>;
2662306a36Sopenharmony_ci	};
2762306a36Sopenharmony_ci
2862306a36Sopenharmony_ci	vcc3v3_ngff: vcc3v3-ngff {
2962306a36Sopenharmony_ci		compatible = "regulator-fixed";
3062306a36Sopenharmony_ci		regulator-name = "vcc3v3_ngff";
3162306a36Sopenharmony_ci		enable-active-high;
3262306a36Sopenharmony_ci		gpio = <&gpio4 RK_PD3 GPIO_ACTIVE_HIGH>;
3362306a36Sopenharmony_ci		pinctrl-names = "default";
3462306a36Sopenharmony_ci		pinctrl-0 = <&vcc3v3_ngff_en>;
3562306a36Sopenharmony_ci		regulator-always-on;
3662306a36Sopenharmony_ci		regulator-boot-on;
3762306a36Sopenharmony_ci		regulator-min-microvolt = <3300000>;
3862306a36Sopenharmony_ci		regulator-max-microvolt = <3300000>;
3962306a36Sopenharmony_ci		vin-supply = <&sys_12v>;
4062306a36Sopenharmony_ci	};
4162306a36Sopenharmony_ci
4262306a36Sopenharmony_ci	vcc3v3_pcie: vcc3v3-pcie {
4362306a36Sopenharmony_ci		compatible = "regulator-fixed";
4462306a36Sopenharmony_ci		regulator-name = "vcc3v3_pcie";
4562306a36Sopenharmony_ci		enable-active-high;
4662306a36Sopenharmony_ci		gpio = <&gpio1 RK_PC1 GPIO_ACTIVE_HIGH>;
4762306a36Sopenharmony_ci		pinctrl-names = "default";
4862306a36Sopenharmony_ci		pinctrl-0 = <&vcc3v3_pcie_en>;
4962306a36Sopenharmony_ci		regulator-min-microvolt = <3300000>;
5062306a36Sopenharmony_ci		regulator-max-microvolt = <3300000>;
5162306a36Sopenharmony_ci		vin-supply = <&sys_12v>;
5262306a36Sopenharmony_ci	};
5362306a36Sopenharmony_ci};
5462306a36Sopenharmony_ci
5562306a36Sopenharmony_ci&sys_12v {
5662306a36Sopenharmony_ci	vin-supply = <&poe_12v>;
5762306a36Sopenharmony_ci};
5862306a36Sopenharmony_ci
5962306a36Sopenharmony_ci&pcie_phy {
6062306a36Sopenharmony_ci	status = "okay";
6162306a36Sopenharmony_ci};
6262306a36Sopenharmony_ci
6362306a36Sopenharmony_ci&pcie0 {
6462306a36Sopenharmony_ci	ep-gpios = <&gpio4 RK_PD1 GPIO_ACTIVE_HIGH>;
6562306a36Sopenharmony_ci	num-lanes = <4>;
6662306a36Sopenharmony_ci	pinctrl-names = "default";
6762306a36Sopenharmony_ci	pinctrl-0 = <&pcie_perst>;
6862306a36Sopenharmony_ci	vpcie3v3-supply = <&vcc3v3_pcie>;
6962306a36Sopenharmony_ci	vpcie1v8-supply = <&vcc1v8_pmu>;
7062306a36Sopenharmony_ci	vpcie0v9-supply = <&vcca_0v9>;
7162306a36Sopenharmony_ci	status = "okay";
7262306a36Sopenharmony_ci};
7362306a36Sopenharmony_ci
7462306a36Sopenharmony_ci&pinctrl {
7562306a36Sopenharmony_ci	ngff {
7662306a36Sopenharmony_ci		vcc3v3_ngff_en: vcc3v3-ngff-en {
7762306a36Sopenharmony_ci			rockchip,pins = <4 RK_PD3 RK_FUNC_GPIO &pcfg_pull_none>;
7862306a36Sopenharmony_ci		};
7962306a36Sopenharmony_ci	};
8062306a36Sopenharmony_ci
8162306a36Sopenharmony_ci	pcie {
8262306a36Sopenharmony_ci		vcc3v3_pcie_en: vcc3v3-pcie-en {
8362306a36Sopenharmony_ci			rockchip,pins = <1 RK_PC1 RK_FUNC_GPIO &pcfg_pull_none>;
8462306a36Sopenharmony_ci		};
8562306a36Sopenharmony_ci
8662306a36Sopenharmony_ci		pcie_perst: pcie-perst {
8762306a36Sopenharmony_ci			rockchip,pins = <4 RK_PD1 RK_FUNC_GPIO &pcfg_pull_none>;
8862306a36Sopenharmony_ci		};
8962306a36Sopenharmony_ci	};
9062306a36Sopenharmony_ci};
9162306a36Sopenharmony_ci
9262306a36Sopenharmony_ci&sdio0 {
9362306a36Sopenharmony_ci	bus-width = <4>;
9462306a36Sopenharmony_ci	cap-sd-highspeed;
9562306a36Sopenharmony_ci	cap-sdio-irq;
9662306a36Sopenharmony_ci	keep-power-in-suspend;
9762306a36Sopenharmony_ci	mmc-pwrseq = <&sdio_pwrseq>;
9862306a36Sopenharmony_ci	non-removable;
9962306a36Sopenharmony_ci	pinctrl-names = "default";
10062306a36Sopenharmony_ci	pinctrl-0 = <&sdio0_bus4 &sdio0_cmd &sdio0_clk>;
10162306a36Sopenharmony_ci	sd-uhs-sdr104;
10262306a36Sopenharmony_ci	vmmc-supply = <&vcc3v3_ngff>;
10362306a36Sopenharmony_ci	vqmmc-supply = <&vcc_1v8>;
10462306a36Sopenharmony_ci	status = "okay";
10562306a36Sopenharmony_ci};
10662306a36Sopenharmony_ci
10762306a36Sopenharmony_ci&uart0 {
10862306a36Sopenharmony_ci	pinctrl-names = "default";
10962306a36Sopenharmony_ci	pinctrl-0 = <&uart0_xfer &uart0_cts &uart0_rts>;
11062306a36Sopenharmony_ci	status = "okay";
11162306a36Sopenharmony_ci};
112