162306a36Sopenharmony_ci// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * Copyright (c) 2018 Collabora Ltd.
462306a36Sopenharmony_ci * Copyright (c) 2018 Fuzhou Rockchip Electronics Co., Ltd.
562306a36Sopenharmony_ci *
662306a36Sopenharmony_ci * Schematics available at https://dl.vamrs.com/products/ficus/docs/hw
762306a36Sopenharmony_ci */
862306a36Sopenharmony_ci
962306a36Sopenharmony_ci/dts-v1/;
1062306a36Sopenharmony_ci#include "rk3399-rock960.dtsi"
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_ci/ {
1362306a36Sopenharmony_ci	model = "96boards RK3399 Ficus";
1462306a36Sopenharmony_ci	compatible = "vamrs,ficus", "rockchip,rk3399";
1562306a36Sopenharmony_ci
1662306a36Sopenharmony_ci	chosen {
1762306a36Sopenharmony_ci		stdout-path = "serial2:1500000n8";
1862306a36Sopenharmony_ci	};
1962306a36Sopenharmony_ci
2062306a36Sopenharmony_ci	clkin_gmac: external-gmac-clock {
2162306a36Sopenharmony_ci		compatible = "fixed-clock";
2262306a36Sopenharmony_ci		clock-frequency = <125000000>;
2362306a36Sopenharmony_ci		clock-output-names = "clkin_gmac";
2462306a36Sopenharmony_ci		#clock-cells = <0>;
2562306a36Sopenharmony_ci	};
2662306a36Sopenharmony_ci
2762306a36Sopenharmony_ci	leds {
2862306a36Sopenharmony_ci		compatible = "gpio-leds";
2962306a36Sopenharmony_ci		pinctrl-names = "default";
3062306a36Sopenharmony_ci		pinctrl-0 = <&user_led1_pin>, <&user_led2_pin>,
3162306a36Sopenharmony_ci			    <&user_led3_pin>, <&user_led4_pin>,
3262306a36Sopenharmony_ci			    <&wlan_led_pin>, <&bt_led_pin>;
3362306a36Sopenharmony_ci
3462306a36Sopenharmony_ci		user_led1: led-1 {
3562306a36Sopenharmony_ci			label = "red:user1";
3662306a36Sopenharmony_ci			gpios = <&gpio4 25 0>;
3762306a36Sopenharmony_ci			linux,default-trigger = "heartbeat";
3862306a36Sopenharmony_ci		};
3962306a36Sopenharmony_ci
4062306a36Sopenharmony_ci		user_led2: led-2 {
4162306a36Sopenharmony_ci			label = "red:user2";
4262306a36Sopenharmony_ci			gpios = <&gpio4 26 0>;
4362306a36Sopenharmony_ci			linux,default-trigger = "mmc0";
4462306a36Sopenharmony_ci		};
4562306a36Sopenharmony_ci
4662306a36Sopenharmony_ci		user_led3: led-3 {
4762306a36Sopenharmony_ci			label = "red:user3";
4862306a36Sopenharmony_ci			gpios = <&gpio4 30 0>;
4962306a36Sopenharmony_ci			linux,default-trigger = "mmc1";
5062306a36Sopenharmony_ci		};
5162306a36Sopenharmony_ci
5262306a36Sopenharmony_ci		user_led4: led-4 {
5362306a36Sopenharmony_ci			label = "red:user4";
5462306a36Sopenharmony_ci			gpios = <&gpio1 0 0>;
5562306a36Sopenharmony_ci			panic-indicator;
5662306a36Sopenharmony_ci			linux,default-trigger = "none";
5762306a36Sopenharmony_ci		};
5862306a36Sopenharmony_ci
5962306a36Sopenharmony_ci		wlan_active_led: led-5 {
6062306a36Sopenharmony_ci			label = "red:wlan";
6162306a36Sopenharmony_ci			gpios = <&gpio1 1 0>;
6262306a36Sopenharmony_ci			linux,default-trigger = "phy0tx";
6362306a36Sopenharmony_ci			default-state = "off";
6462306a36Sopenharmony_ci		};
6562306a36Sopenharmony_ci
6662306a36Sopenharmony_ci		bt_active_led: led-6 {
6762306a36Sopenharmony_ci			label = "red:bt";
6862306a36Sopenharmony_ci			gpios = <&gpio1 4 0>;
6962306a36Sopenharmony_ci			linux,default-trigger = "hci0-power";
7062306a36Sopenharmony_ci			default-state = "off";
7162306a36Sopenharmony_ci		};
7262306a36Sopenharmony_ci	};
7362306a36Sopenharmony_ci};
7462306a36Sopenharmony_ci
7562306a36Sopenharmony_ci&gmac {
7662306a36Sopenharmony_ci	assigned-clocks = <&cru SCLK_RMII_SRC>;
7762306a36Sopenharmony_ci	assigned-clock-parents = <&clkin_gmac>;
7862306a36Sopenharmony_ci	clock_in_out = "input";
7962306a36Sopenharmony_ci	phy-supply = <&vcc3v3_sys>;
8062306a36Sopenharmony_ci	phy-mode = "rgmii";
8162306a36Sopenharmony_ci	pinctrl-names = "default";
8262306a36Sopenharmony_ci	pinctrl-0 = <&rgmii_pins>;
8362306a36Sopenharmony_ci	snps,reset-gpio = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>;
8462306a36Sopenharmony_ci	snps,reset-active-low;
8562306a36Sopenharmony_ci	snps,reset-delays-us = <0 10000 50000>;
8662306a36Sopenharmony_ci	tx_delay = <0x28>;
8762306a36Sopenharmony_ci	rx_delay = <0x11>;
8862306a36Sopenharmony_ci	status = "okay";
8962306a36Sopenharmony_ci};
9062306a36Sopenharmony_ci
9162306a36Sopenharmony_ci&pcie0 {
9262306a36Sopenharmony_ci	ep-gpios = <&gpio4 RK_PD4 GPIO_ACTIVE_HIGH>;
9362306a36Sopenharmony_ci};
9462306a36Sopenharmony_ci
9562306a36Sopenharmony_ci&pinctrl {
9662306a36Sopenharmony_ci	gmac {
9762306a36Sopenharmony_ci		rgmii_sleep_pins: rgmii-sleep-pins {
9862306a36Sopenharmony_ci			rockchip,pins =
9962306a36Sopenharmony_ci				<3 RK_PB7 RK_FUNC_GPIO &pcfg_output_low>;
10062306a36Sopenharmony_ci		};
10162306a36Sopenharmony_ci	};
10262306a36Sopenharmony_ci
10362306a36Sopenharmony_ci	pcie {
10462306a36Sopenharmony_ci		pcie_drv: pcie-drv {
10562306a36Sopenharmony_ci			rockchip,pins =
10662306a36Sopenharmony_ci				<1 RK_PD0 RK_FUNC_GPIO &pcfg_pull_none>;
10762306a36Sopenharmony_ci			};
10862306a36Sopenharmony_ci	};
10962306a36Sopenharmony_ci
11062306a36Sopenharmony_ci	usb2 {
11162306a36Sopenharmony_ci		host_vbus_drv: host-vbus-drv {
11262306a36Sopenharmony_ci			rockchip,pins =
11362306a36Sopenharmony_ci				<4 RK_PD3 RK_FUNC_GPIO &pcfg_pull_none>;
11462306a36Sopenharmony_ci		};
11562306a36Sopenharmony_ci	};
11662306a36Sopenharmony_ci
11762306a36Sopenharmony_ci	leds {
11862306a36Sopenharmony_ci		user_led1_pin: user-led1-pin {
11962306a36Sopenharmony_ci			rockchip,pins =
12062306a36Sopenharmony_ci				<4 RK_PD1 RK_FUNC_GPIO &pcfg_pull_none>;
12162306a36Sopenharmony_ci		};
12262306a36Sopenharmony_ci
12362306a36Sopenharmony_ci		user_led2_pin: user-led2-pin {
12462306a36Sopenharmony_ci			rockchip,pins =
12562306a36Sopenharmony_ci				<4 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>;
12662306a36Sopenharmony_ci		};
12762306a36Sopenharmony_ci
12862306a36Sopenharmony_ci		user_led3_pin: user-led3-pin {
12962306a36Sopenharmony_ci			rockchip,pins =
13062306a36Sopenharmony_ci				<4 RK_PD6 RK_FUNC_GPIO &pcfg_pull_none>;
13162306a36Sopenharmony_ci		};
13262306a36Sopenharmony_ci
13362306a36Sopenharmony_ci		user_led4_pin: user-led4-pin {
13462306a36Sopenharmony_ci			rockchip,pins =
13562306a36Sopenharmony_ci				<1 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>;
13662306a36Sopenharmony_ci		};
13762306a36Sopenharmony_ci
13862306a36Sopenharmony_ci		wlan_led_pin: wlan-led-pin {
13962306a36Sopenharmony_ci			rockchip,pins =
14062306a36Sopenharmony_ci				<1 RK_PA1 RK_FUNC_GPIO &pcfg_pull_none>;
14162306a36Sopenharmony_ci		};
14262306a36Sopenharmony_ci
14362306a36Sopenharmony_ci		bt_led_pin: bt-led-pin {
14462306a36Sopenharmony_ci			rockchip,pins =
14562306a36Sopenharmony_ci				<1 RK_PA4 RK_FUNC_GPIO &pcfg_pull_none>;
14662306a36Sopenharmony_ci		};
14762306a36Sopenharmony_ci	};
14862306a36Sopenharmony_ci};
14962306a36Sopenharmony_ci
15062306a36Sopenharmony_ci&spi1 {
15162306a36Sopenharmony_ci	/* On both Low speed and High speed expansion */
15262306a36Sopenharmony_ci	cs-gpios = <0>, <&gpio4 RK_PA6 0>, <&gpio4 RK_PA7 0>;
15362306a36Sopenharmony_ci	status = "okay";
15462306a36Sopenharmony_ci};
15562306a36Sopenharmony_ci
15662306a36Sopenharmony_ci&usbdrd_dwc3_0 {
15762306a36Sopenharmony_ci	dr_mode = "host";
15862306a36Sopenharmony_ci};
15962306a36Sopenharmony_ci
16062306a36Sopenharmony_ci&usbdrd_dwc3_1 {
16162306a36Sopenharmony_ci	dr_mode = "host";
16262306a36Sopenharmony_ci};
16362306a36Sopenharmony_ci
16462306a36Sopenharmony_ci&vcc3v3_pcie {
16562306a36Sopenharmony_ci	gpio = <&gpio1 24 GPIO_ACTIVE_HIGH>;
16662306a36Sopenharmony_ci};
16762306a36Sopenharmony_ci
16862306a36Sopenharmony_ci&vcc5v0_host {
16962306a36Sopenharmony_ci	gpio = <&gpio4 27 GPIO_ACTIVE_HIGH>;
17062306a36Sopenharmony_ci};
171