1b9f8ca65STianling Shen// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
2b9f8ca65STianling Shen
3b9f8ca65STianling Shen#include "rk3568-fastrhino-r66s.dtsi"
4b9f8ca65STianling Shen
5b9f8ca65STianling Shen/ {
6b9f8ca65STianling Shen	model = "Lunzn FastRhino R68S";
7b9f8ca65STianling Shen	compatible = "lunzn,fastrhino-r68s", "rockchip,rk3568";
8b9f8ca65STianling Shen
9b9f8ca65STianling Shen	aliases {
10b9f8ca65STianling Shen		ethernet0 = &gmac0;
11b9f8ca65STianling Shen		ethernet1 = &gmac1;
12b9f8ca65STianling Shen		mmc0 = &sdhci;
13b9f8ca65STianling Shen	};
14b9f8ca65STianling Shen
15b9f8ca65STianling Shen	adc-keys {
16b9f8ca65STianling Shen		compatible = "adc-keys";
17b9f8ca65STianling Shen		io-channels = <&saradc 0>;
18b9f8ca65STianling Shen		io-channel-names = "buttons";
19b9f8ca65STianling Shen		keyup-threshold-microvolt = <1800000>;
20b9f8ca65STianling Shen
21b9f8ca65STianling Shen		button-recovery {
22b9f8ca65STianling Shen			label = "Recovery";
23b9f8ca65STianling Shen			linux,code = <KEY_VENDOR>;
24b9f8ca65STianling Shen			press-threshold-microvolt = <1750>;
25b9f8ca65STianling Shen		};
26b9f8ca65STianling Shen	};
27b9f8ca65STianling Shen};
28b9f8ca65STianling Shen
29b9f8ca65STianling Shen&gmac0 {
30b9f8ca65STianling Shen	assigned-clocks = <&cru SCLK_GMAC0_RX_TX>, <&cru SCLK_GMAC0>;
31b9f8ca65STianling Shen	assigned-clock-parents = <&cru SCLK_GMAC0_RGMII_SPEED>;
32b9f8ca65STianling Shen	assigned-clock-rates = <0>, <125000000>;
33b9f8ca65STianling Shen	clock_in_out = "output";
34b9f8ca65STianling Shen	phy-handle = <&rgmii_phy0>;
35b9f8ca65STianling Shen	phy-mode = "rgmii-id";
36b9f8ca65STianling Shen	pinctrl-names = "default";
37b9f8ca65STianling Shen	pinctrl-0 = <&gmac0_miim
38b9f8ca65STianling Shen		     &gmac0_tx_bus2
39b9f8ca65STianling Shen		     &gmac0_rx_bus2
40b9f8ca65STianling Shen		     &gmac0_rgmii_clk
41b9f8ca65STianling Shen		     &gmac0_rgmii_bus>;
42b9f8ca65STianling Shen	snps,reset-gpio = <&gpio0 RK_PB0 GPIO_ACTIVE_LOW>;
43b9f8ca65STianling Shen	snps,reset-active-low;
44b9f8ca65STianling Shen	/* Reset time is 15ms, 50ms for rtl8211f */
45b9f8ca65STianling Shen	snps,reset-delays-us = <0 15000 50000>;
46b9f8ca65STianling Shen	tx_delay = <0x3c>;
47b9f8ca65STianling Shen	rx_delay = <0x2f>;
48b9f8ca65STianling Shen	status = "okay";
49b9f8ca65STianling Shen};
50b9f8ca65STianling Shen
51b9f8ca65STianling Shen&gmac1 {
52b9f8ca65STianling Shen	assigned-clocks = <&cru SCLK_GMAC1_RX_TX>, <&cru SCLK_GMAC1>;
53b9f8ca65STianling Shen	assigned-clock-parents = <&cru SCLK_GMAC1_RGMII_SPEED>;
54b9f8ca65STianling Shen	assigned-clock-rates = <0>, <125000000>;
55b9f8ca65STianling Shen	clock_in_out = "output";
56b9f8ca65STianling Shen	phy-handle = <&rgmii_phy1>;
57b9f8ca65STianling Shen	phy-mode = "rgmii-id";
58b9f8ca65STianling Shen	pinctrl-names = "default";
59b9f8ca65STianling Shen	pinctrl-0 = <&gmac1m1_miim
60b9f8ca65STianling Shen		     &gmac1m1_tx_bus2
61b9f8ca65STianling Shen		     &gmac1m1_rx_bus2
62b9f8ca65STianling Shen		     &gmac1m1_rgmii_clk
63b9f8ca65STianling Shen		     &gmac1m1_rgmii_bus>;
64b9f8ca65STianling Shen	snps,reset-gpio = <&gpio0 RK_PB1 GPIO_ACTIVE_LOW>;
65b9f8ca65STianling Shen	snps,reset-active-low;
66b9f8ca65STianling Shen	/* Reset time is 15ms, 50ms for rtl8211f */
67b9f8ca65STianling Shen	snps,reset-delays-us = <0 15000 50000>;
68b9f8ca65STianling Shen	tx_delay = <0x4f>;
69b9f8ca65STianling Shen	rx_delay = <0x26>;
70b9f8ca65STianling Shen	status = "okay";
71b9f8ca65STianling Shen};
72b9f8ca65STianling Shen
73b9f8ca65STianling Shen&mdio0 {
74b9f8ca65STianling Shen	rgmii_phy0: ethernet-phy@0 {
75b9f8ca65STianling Shen		compatible = "ethernet-phy-ieee802.3-c22";
76b9f8ca65STianling Shen		reg = <0>;
77b9f8ca65STianling Shen		pinctrl-0 = <&eth_phy0_reset_pin>;
78b9f8ca65STianling Shen		pinctrl-names = "default";
79b9f8ca65STianling Shen	};
80b9f8ca65STianling Shen};
81b9f8ca65STianling Shen
82b9f8ca65STianling Shen&mdio1 {
83b9f8ca65STianling Shen	rgmii_phy1: ethernet-phy@0 {
84b9f8ca65STianling Shen		compatible = "ethernet-phy-ieee802.3-c22";
85b9f8ca65STianling Shen		reg = <0>;
86b9f8ca65STianling Shen		pinctrl-0 = <&eth_phy1_reset_pin>;
87b9f8ca65STianling Shen		pinctrl-names = "default";
88b9f8ca65STianling Shen	};
89b9f8ca65STianling Shen};
90b9f8ca65STianling Shen
91b9f8ca65STianling Shen&pinctrl {
92b9f8ca65STianling Shen	gmac0 {
93b9f8ca65STianling Shen		eth_phy0_reset_pin: eth-phy0-reset-pin {
94b9f8ca65STianling Shen			rockchip,pins = <1 RK_PB0 RK_FUNC_GPIO &pcfg_pull_up>;
95b9f8ca65STianling Shen		};
96b9f8ca65STianling Shen	};
97b9f8ca65STianling Shen
98b9f8ca65STianling Shen	gmac1 {
99b9f8ca65STianling Shen		eth_phy1_reset_pin: eth-phy1-reset-pin {
100b9f8ca65STianling Shen			rockchip,pins = <1 RK_PB1 RK_FUNC_GPIO &pcfg_pull_up>;
101b9f8ca65STianling Shen		};
102b9f8ca65STianling Shen	};
103b9f8ca65STianling Shen};
104b9f8ca65STianling Shen
105*215b1aaaSChukun Pan&pmu_io_domains {
106*215b1aaaSChukun Pan	vccio3-supply = <&vcc_3v3>;
107*215b1aaaSChukun Pan};
108*215b1aaaSChukun Pan
109b9f8ca65STianling Shen&sdhci {
110b9f8ca65STianling Shen	bus-width = <8>;
111b9f8ca65STianling Shen	max-frequency = <200000000>;
112b9f8ca65STianling Shen	non-removable;
113b9f8ca65STianling Shen	pinctrl-names = "default";
114b9f8ca65STianling Shen	pinctrl-0 = <&emmc_bus8 &emmc_clk &emmc_cmd &emmc_datastrobe>;
115b9f8ca65STianling Shen	status = "okay";
116b9f8ca65STianling Shen};
117