18c2ecf20Sopenharmony_ci// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
28c2ecf20Sopenharmony_ci/*
38c2ecf20Sopenharmony_ci * Copyright (c) 2018 Collabora Ltd.
48c2ecf20Sopenharmony_ci * Copyright (c) 2018 Fuzhou Rockchip Electronics Co., Ltd.
58c2ecf20Sopenharmony_ci *
68c2ecf20Sopenharmony_ci * Schematics available at https://dl.vamrs.com/products/ficus/docs/hw
78c2ecf20Sopenharmony_ci */
88c2ecf20Sopenharmony_ci
98c2ecf20Sopenharmony_ci/dts-v1/;
108c2ecf20Sopenharmony_ci#include "rk3399-rock960.dtsi"
118c2ecf20Sopenharmony_ci
128c2ecf20Sopenharmony_ci/ {
138c2ecf20Sopenharmony_ci	model = "96boards RK3399 Ficus";
148c2ecf20Sopenharmony_ci	compatible = "vamrs,ficus", "rockchip,rk3399";
158c2ecf20Sopenharmony_ci
168c2ecf20Sopenharmony_ci	chosen {
178c2ecf20Sopenharmony_ci		stdout-path = "serial2:1500000n8";
188c2ecf20Sopenharmony_ci	};
198c2ecf20Sopenharmony_ci
208c2ecf20Sopenharmony_ci	clkin_gmac: external-gmac-clock {
218c2ecf20Sopenharmony_ci		compatible = "fixed-clock";
228c2ecf20Sopenharmony_ci		clock-frequency = <125000000>;
238c2ecf20Sopenharmony_ci		clock-output-names = "clkin_gmac";
248c2ecf20Sopenharmony_ci		#clock-cells = <0>;
258c2ecf20Sopenharmony_ci	};
268c2ecf20Sopenharmony_ci
278c2ecf20Sopenharmony_ci	leds {
288c2ecf20Sopenharmony_ci		compatible = "gpio-leds";
298c2ecf20Sopenharmony_ci		pinctrl-names = "default";
308c2ecf20Sopenharmony_ci		pinctrl-0 = <&user_led1_pin>, <&user_led2_pin>,
318c2ecf20Sopenharmony_ci			    <&user_led3_pin>, <&user_led4_pin>,
328c2ecf20Sopenharmony_ci			    <&wlan_led_pin>, <&bt_led_pin>;
338c2ecf20Sopenharmony_ci
348c2ecf20Sopenharmony_ci		user_led1: led-1 {
358c2ecf20Sopenharmony_ci			label = "red:user1";
368c2ecf20Sopenharmony_ci			gpios = <&gpio4 25 0>;
378c2ecf20Sopenharmony_ci			linux,default-trigger = "heartbeat";
388c2ecf20Sopenharmony_ci		};
398c2ecf20Sopenharmony_ci
408c2ecf20Sopenharmony_ci		user_led2: led-2 {
418c2ecf20Sopenharmony_ci			label = "red:user2";
428c2ecf20Sopenharmony_ci			gpios = <&gpio4 26 0>;
438c2ecf20Sopenharmony_ci			linux,default-trigger = "mmc0";
448c2ecf20Sopenharmony_ci		};
458c2ecf20Sopenharmony_ci
468c2ecf20Sopenharmony_ci		user_led3: led-3 {
478c2ecf20Sopenharmony_ci			label = "red:user3";
488c2ecf20Sopenharmony_ci			gpios = <&gpio4 30 0>;
498c2ecf20Sopenharmony_ci			linux,default-trigger = "mmc1";
508c2ecf20Sopenharmony_ci		};
518c2ecf20Sopenharmony_ci
528c2ecf20Sopenharmony_ci		user_led4: led-4 {
538c2ecf20Sopenharmony_ci			label = "red:user4";
548c2ecf20Sopenharmony_ci			gpios = <&gpio1 0 0>;
558c2ecf20Sopenharmony_ci			panic-indicator;
568c2ecf20Sopenharmony_ci			linux,default-trigger = "none";
578c2ecf20Sopenharmony_ci		};
588c2ecf20Sopenharmony_ci
598c2ecf20Sopenharmony_ci		wlan_active_led: led-5 {
608c2ecf20Sopenharmony_ci			label = "red:wlan";
618c2ecf20Sopenharmony_ci			gpios = <&gpio1 1 0>;
628c2ecf20Sopenharmony_ci			linux,default-trigger = "phy0tx";
638c2ecf20Sopenharmony_ci			default-state = "off";
648c2ecf20Sopenharmony_ci		};
658c2ecf20Sopenharmony_ci
668c2ecf20Sopenharmony_ci		bt_active_led: led-6 {
678c2ecf20Sopenharmony_ci			label = "red:bt";
688c2ecf20Sopenharmony_ci			gpios = <&gpio1 4 0>;
698c2ecf20Sopenharmony_ci			linux,default-trigger = "hci0-power";
708c2ecf20Sopenharmony_ci			default-state = "off";
718c2ecf20Sopenharmony_ci		};
728c2ecf20Sopenharmony_ci	};
738c2ecf20Sopenharmony_ci};
748c2ecf20Sopenharmony_ci
758c2ecf20Sopenharmony_ci&gmac {
768c2ecf20Sopenharmony_ci	assigned-clocks = <&cru SCLK_RMII_SRC>;
778c2ecf20Sopenharmony_ci	assigned-clock-parents = <&clkin_gmac>;
788c2ecf20Sopenharmony_ci	clock_in_out = "input";
798c2ecf20Sopenharmony_ci	phy-supply = <&vcc3v3_sys>;
808c2ecf20Sopenharmony_ci	phy-mode = "rgmii";
818c2ecf20Sopenharmony_ci	pinctrl-names = "default";
828c2ecf20Sopenharmony_ci	pinctrl-0 = <&rgmii_pins>;
838c2ecf20Sopenharmony_ci	snps,reset-gpio = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>;
848c2ecf20Sopenharmony_ci	snps,reset-active-low;
858c2ecf20Sopenharmony_ci	snps,reset-delays-us = <0 10000 50000>;
868c2ecf20Sopenharmony_ci	tx_delay = <0x28>;
878c2ecf20Sopenharmony_ci	rx_delay = <0x11>;
888c2ecf20Sopenharmony_ci	status = "okay";
898c2ecf20Sopenharmony_ci};
908c2ecf20Sopenharmony_ci
918c2ecf20Sopenharmony_ci&pcie0 {
928c2ecf20Sopenharmony_ci	ep-gpios = <&gpio4 RK_PD4 GPIO_ACTIVE_HIGH>;
938c2ecf20Sopenharmony_ci};
948c2ecf20Sopenharmony_ci
958c2ecf20Sopenharmony_ci&pinctrl {
968c2ecf20Sopenharmony_ci	gmac {
978c2ecf20Sopenharmony_ci		rgmii_sleep_pins: rgmii-sleep-pins {
988c2ecf20Sopenharmony_ci			rockchip,pins =
998c2ecf20Sopenharmony_ci				<3 RK_PB7 RK_FUNC_GPIO &pcfg_output_low>;
1008c2ecf20Sopenharmony_ci		};
1018c2ecf20Sopenharmony_ci	};
1028c2ecf20Sopenharmony_ci
1038c2ecf20Sopenharmony_ci	pcie {
1048c2ecf20Sopenharmony_ci		pcie_drv: pcie-drv {
1058c2ecf20Sopenharmony_ci			rockchip,pins =
1068c2ecf20Sopenharmony_ci				<1 RK_PD0 RK_FUNC_GPIO &pcfg_pull_none>;
1078c2ecf20Sopenharmony_ci			};
1088c2ecf20Sopenharmony_ci	};
1098c2ecf20Sopenharmony_ci
1108c2ecf20Sopenharmony_ci	usb2 {
1118c2ecf20Sopenharmony_ci		host_vbus_drv: host-vbus-drv {
1128c2ecf20Sopenharmony_ci			rockchip,pins =
1138c2ecf20Sopenharmony_ci				<4 RK_PD3 RK_FUNC_GPIO &pcfg_pull_none>;
1148c2ecf20Sopenharmony_ci		};
1158c2ecf20Sopenharmony_ci	};
1168c2ecf20Sopenharmony_ci
1178c2ecf20Sopenharmony_ci	leds {
1188c2ecf20Sopenharmony_ci		user_led1_pin: user-led1-pin {
1198c2ecf20Sopenharmony_ci			rockchip,pins =
1208c2ecf20Sopenharmony_ci				<4 RK_PD1 RK_FUNC_GPIO &pcfg_pull_none>;
1218c2ecf20Sopenharmony_ci		};
1228c2ecf20Sopenharmony_ci
1238c2ecf20Sopenharmony_ci		user_led2_pin: user-led2-pin {
1248c2ecf20Sopenharmony_ci			rockchip,pins =
1258c2ecf20Sopenharmony_ci				<4 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>;
1268c2ecf20Sopenharmony_ci		};
1278c2ecf20Sopenharmony_ci
1288c2ecf20Sopenharmony_ci		user_led3_pin: user-led3-pin {
1298c2ecf20Sopenharmony_ci			rockchip,pins =
1308c2ecf20Sopenharmony_ci				<4 RK_PD6 RK_FUNC_GPIO &pcfg_pull_none>;
1318c2ecf20Sopenharmony_ci		};
1328c2ecf20Sopenharmony_ci
1338c2ecf20Sopenharmony_ci		user_led4_pin: user-led4-pin {
1348c2ecf20Sopenharmony_ci			rockchip,pins =
1358c2ecf20Sopenharmony_ci				<1 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>;
1368c2ecf20Sopenharmony_ci		};
1378c2ecf20Sopenharmony_ci
1388c2ecf20Sopenharmony_ci		wlan_led_pin: wlan-led-pin {
1398c2ecf20Sopenharmony_ci			rockchip,pins =
1408c2ecf20Sopenharmony_ci				<1 RK_PA1 RK_FUNC_GPIO &pcfg_pull_none>;
1418c2ecf20Sopenharmony_ci		};
1428c2ecf20Sopenharmony_ci
1438c2ecf20Sopenharmony_ci		bt_led_pin: bt-led-pin {
1448c2ecf20Sopenharmony_ci			rockchip,pins =
1458c2ecf20Sopenharmony_ci				<1 RK_PA4 RK_FUNC_GPIO &pcfg_pull_none>;
1468c2ecf20Sopenharmony_ci		};
1478c2ecf20Sopenharmony_ci	};
1488c2ecf20Sopenharmony_ci};
1498c2ecf20Sopenharmony_ci
1508c2ecf20Sopenharmony_ci&spi1 {
1518c2ecf20Sopenharmony_ci	/* On both Low speed and High speed expansion */
1528c2ecf20Sopenharmony_ci	cs-gpios = <0>, <&gpio4 RK_PA6 0>, <&gpio4 RK_PA7 0>;
1538c2ecf20Sopenharmony_ci	status = "okay";
1548c2ecf20Sopenharmony_ci};
1558c2ecf20Sopenharmony_ci
1568c2ecf20Sopenharmony_ci&usbdrd_dwc3_0 {
1578c2ecf20Sopenharmony_ci	dr_mode = "host";
1588c2ecf20Sopenharmony_ci};
1598c2ecf20Sopenharmony_ci
1608c2ecf20Sopenharmony_ci&usbdrd_dwc3_1 {
1618c2ecf20Sopenharmony_ci	dr_mode = "host";
1628c2ecf20Sopenharmony_ci};
1638c2ecf20Sopenharmony_ci
1648c2ecf20Sopenharmony_ci&vcc3v3_pcie {
1658c2ecf20Sopenharmony_ci	gpio = <&gpio1 24 GPIO_ACTIVE_HIGH>;
1668c2ecf20Sopenharmony_ci};
1678c2ecf20Sopenharmony_ci
1688c2ecf20Sopenharmony_ci&vcc5v0_host {
1698c2ecf20Sopenharmony_ci	gpio = <&gpio4 27 GPIO_ACTIVE_HIGH>;
1708c2ecf20Sopenharmony_ci};
171