xref: /linux/scripts/dtc/include-prefixes/arm64/rockchip/rk3568-nanopi-r5s.dts (revision 115e74a29b530d121891238e9551c4bcdf7b04b5)
1c6629b9aSVasily Khoruzhick// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
2c6629b9aSVasily Khoruzhick/*
3c6629b9aSVasily Khoruzhick * Copyright (c) 2022 FriendlyElec Computer Tech. Co., Ltd.
4c6629b9aSVasily Khoruzhick * (http://www.friendlyelec.com)
5c6629b9aSVasily Khoruzhick *
6c6629b9aSVasily Khoruzhick * Copyright (c) 2023 Tianling Shen <cnsztl@gmail.com>
7c6629b9aSVasily Khoruzhick */
8c6629b9aSVasily Khoruzhick
9c6629b9aSVasily Khoruzhick/dts-v1/;
10c8ec73b0STianling Shen#include "rk3568-nanopi-r5s.dtsi"
11c6629b9aSVasily Khoruzhick
12c6629b9aSVasily Khoruzhick/ {
13c6629b9aSVasily Khoruzhick	model = "FriendlyElec NanoPi R5S";
14c6629b9aSVasily Khoruzhick	compatible = "friendlyarm,nanopi-r5s", "rockchip,rk3568";
15c6629b9aSVasily Khoruzhick
16c6629b9aSVasily Khoruzhick	aliases {
17c6629b9aSVasily Khoruzhick		ethernet0 = &gmac0;
18c6629b9aSVasily Khoruzhick	};
19c6629b9aSVasily Khoruzhick
20*954f0701SDiederik de Haas	gpio-keys {
21*954f0701SDiederik de Haas		compatible = "gpio-keys";
22*954f0701SDiederik de Haas		pinctrl-0 = <&gpio4_a0_k1_pin>;
23*954f0701SDiederik de Haas		pinctrl-names = "default";
24*954f0701SDiederik de Haas
25*954f0701SDiederik de Haas		button-reset {
26*954f0701SDiederik de Haas			debounce-interval = <50>;
27*954f0701SDiederik de Haas			gpios = <&gpio4 RK_PA0 GPIO_ACTIVE_LOW>;
28*954f0701SDiederik de Haas			label = "RESET";
29*954f0701SDiederik de Haas			linux,code = <KEY_RESTART>;
30*954f0701SDiederik de Haas		};
31*954f0701SDiederik de Haas	};
32*954f0701SDiederik de Haas
33c6629b9aSVasily Khoruzhick	gpio-leds {
34c6629b9aSVasily Khoruzhick		compatible = "gpio-leds";
35c6629b9aSVasily Khoruzhick		pinctrl-names = "default";
361631cbdbSDiederik de Haas		pinctrl-0 = <&lan1_led_pin>, <&lan2_led_pin>, <&sys_led_pin>, <&wan_led_pin>;
37c6629b9aSVasily Khoruzhick
38c6629b9aSVasily Khoruzhick		led-lan1 {
39c6629b9aSVasily Khoruzhick			color = <LED_COLOR_ID_GREEN>;
401631cbdbSDiederik de Haas			default-state = "off";
41c6629b9aSVasily Khoruzhick			function = LED_FUNCTION_LAN;
42c6629b9aSVasily Khoruzhick			function-enumerator = <1>;
43c6629b9aSVasily Khoruzhick			gpios = <&gpio3 RK_PD6 GPIO_ACTIVE_HIGH>;
441631cbdbSDiederik de Haas			label = "LAN-1";
45c6629b9aSVasily Khoruzhick		};
46c6629b9aSVasily Khoruzhick
47c6629b9aSVasily Khoruzhick		led-lan2 {
48c6629b9aSVasily Khoruzhick			color = <LED_COLOR_ID_GREEN>;
491631cbdbSDiederik de Haas			default-state = "off";
50c6629b9aSVasily Khoruzhick			function = LED_FUNCTION_LAN;
51c6629b9aSVasily Khoruzhick			function-enumerator = <2>;
52c6629b9aSVasily Khoruzhick			gpios = <&gpio3 RK_PD7 GPIO_ACTIVE_HIGH>;
531631cbdbSDiederik de Haas			label = "LAN-2";
54c6629b9aSVasily Khoruzhick		};
55c6629b9aSVasily Khoruzhick
561631cbdbSDiederik de Haas		power_led: led-sys {
57c6629b9aSVasily Khoruzhick			color = <LED_COLOR_ID_RED>;
58c6629b9aSVasily Khoruzhick			function = LED_FUNCTION_POWER;
59c6629b9aSVasily Khoruzhick			gpios = <&gpio4 RK_PD2 GPIO_ACTIVE_HIGH>;
601631cbdbSDiederik de Haas			label = "SYS";
611631cbdbSDiederik de Haas			linux,default-trigger = "heartbeat";
62c6629b9aSVasily Khoruzhick		};
63c6629b9aSVasily Khoruzhick
64c6629b9aSVasily Khoruzhick		led-wan {
65c6629b9aSVasily Khoruzhick			color = <LED_COLOR_ID_GREEN>;
661631cbdbSDiederik de Haas			default-state = "off";
67c6629b9aSVasily Khoruzhick			function = LED_FUNCTION_WAN;
68c6629b9aSVasily Khoruzhick			gpios = <&gpio2 RK_PC1 GPIO_ACTIVE_HIGH>;
691631cbdbSDiederik de Haas			label = "WAN";
70c6629b9aSVasily Khoruzhick		};
71c6629b9aSVasily Khoruzhick	};
72c6629b9aSVasily Khoruzhick};
73c6629b9aSVasily Khoruzhick
74c6629b9aSVasily Khoruzhick&gmac0 {
75c6629b9aSVasily Khoruzhick	assigned-clocks = <&cru SCLK_GMAC0_RX_TX>, <&cru SCLK_GMAC0>;
76c6629b9aSVasily Khoruzhick	assigned-clock-parents = <&cru SCLK_GMAC0_RGMII_SPEED>, <&cru CLK_MAC0_2TOP>;
77c6629b9aSVasily Khoruzhick	assigned-clock-rates = <0>, <125000000>;
78c6629b9aSVasily Khoruzhick	clock_in_out = "output";
79c6629b9aSVasily Khoruzhick	phy-handle = <&rgmii_phy0>;
8031425b1fSTianling Shen	phy-mode = "rgmii";
81fdc68be8SDiederik de Haas	phy-supply = <&vcc_3v3>;
82c6629b9aSVasily Khoruzhick	pinctrl-names = "default";
83c6629b9aSVasily Khoruzhick	pinctrl-0 = <&gmac0_miim
84c6629b9aSVasily Khoruzhick		     &gmac0_tx_bus2
85c6629b9aSVasily Khoruzhick		     &gmac0_rx_bus2
86c6629b9aSVasily Khoruzhick		     &gmac0_rgmii_clk
87c6629b9aSVasily Khoruzhick		     &gmac0_rgmii_bus>;
88c6629b9aSVasily Khoruzhick	snps,reset-gpio = <&gpio0 RK_PC5 GPIO_ACTIVE_LOW>;
89c6629b9aSVasily Khoruzhick	snps,reset-active-low;
90c6629b9aSVasily Khoruzhick	/* Reset time is 15ms, 50ms for rtl8211f */
91c6629b9aSVasily Khoruzhick	snps,reset-delays-us = <0 15000 50000>;
92c6629b9aSVasily Khoruzhick	tx_delay = <0x3c>;
93c6629b9aSVasily Khoruzhick	rx_delay = <0x2f>;
94c6629b9aSVasily Khoruzhick	status = "okay";
95c6629b9aSVasily Khoruzhick};
96c6629b9aSVasily Khoruzhick
97c6629b9aSVasily Khoruzhick&mdio0 {
98c6629b9aSVasily Khoruzhick	rgmii_phy0: ethernet-phy@1 {
99c6629b9aSVasily Khoruzhick		compatible = "ethernet-phy-ieee802.3-c22";
100c6629b9aSVasily Khoruzhick		reg = <1>;
101c6629b9aSVasily Khoruzhick		pinctrl-0 = <&eth_phy0_reset_pin>;
102c6629b9aSVasily Khoruzhick		pinctrl-names = "default";
103c6629b9aSVasily Khoruzhick	};
104c6629b9aSVasily Khoruzhick};
105c6629b9aSVasily Khoruzhick
106c6629b9aSVasily Khoruzhick&pcie2x1 {
107c6629b9aSVasily Khoruzhick	num-lanes = <1>;
108c6629b9aSVasily Khoruzhick	reset-gpios = <&gpio0 RK_PB6 GPIO_ACTIVE_HIGH>;
109c6629b9aSVasily Khoruzhick	status = "okay";
110c6629b9aSVasily Khoruzhick};
111c6629b9aSVasily Khoruzhick
112c6629b9aSVasily Khoruzhick&pcie30phy {
113c6629b9aSVasily Khoruzhick	data-lanes = <1 2>;
114c6629b9aSVasily Khoruzhick	status = "okay";
115c6629b9aSVasily Khoruzhick};
116c6629b9aSVasily Khoruzhick
117c6629b9aSVasily Khoruzhick&pcie3x1 {
118c6629b9aSVasily Khoruzhick	num-lanes = <1>;
119c6629b9aSVasily Khoruzhick	reset-gpios = <&gpio0 RK_PA0 GPIO_ACTIVE_HIGH>;
120c6629b9aSVasily Khoruzhick	vpcie3v3-supply = <&vcc3v3_pcie>;
121c6629b9aSVasily Khoruzhick	status = "okay";
122c6629b9aSVasily Khoruzhick};
123c6629b9aSVasily Khoruzhick
124c6629b9aSVasily Khoruzhick&pcie3x2 {
125c6629b9aSVasily Khoruzhick	num-lanes = <1>;
126c6629b9aSVasily Khoruzhick	num-ib-windows = <8>;
127c6629b9aSVasily Khoruzhick	num-ob-windows = <8>;
128c6629b9aSVasily Khoruzhick	reset-gpios = <&gpio2 RK_PD6 GPIO_ACTIVE_HIGH>;
129c6629b9aSVasily Khoruzhick	vpcie3v3-supply = <&vcc3v3_pcie>;
130c6629b9aSVasily Khoruzhick	status = "okay";
131c6629b9aSVasily Khoruzhick};
132c6629b9aSVasily Khoruzhick
133c6629b9aSVasily Khoruzhick&pinctrl {
134c6629b9aSVasily Khoruzhick	gmac0 {
135c6629b9aSVasily Khoruzhick		eth_phy0_reset_pin: eth-phy0-reset-pin {
13631425b1fSTianling Shen			rockchip,pins = <0 RK_PC4 RK_FUNC_GPIO &pcfg_pull_up>;
137c6629b9aSVasily Khoruzhick		};
138c6629b9aSVasily Khoruzhick	};
139c6629b9aSVasily Khoruzhick
140*954f0701SDiederik de Haas	gpio-keys {
141*954f0701SDiederik de Haas		gpio4_a0_k1_pin: gpio4-a0-k1-pin {
142*954f0701SDiederik de Haas			rockchip,pins = <4 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>;
143*954f0701SDiederik de Haas		};
144*954f0701SDiederik de Haas	};
145*954f0701SDiederik de Haas
146c6629b9aSVasily Khoruzhick	gpio-leds {
147c6629b9aSVasily Khoruzhick		lan1_led_pin: lan1-led-pin {
148c6629b9aSVasily Khoruzhick			rockchip,pins = <3 RK_PD6 RK_FUNC_GPIO &pcfg_pull_none>;
149c6629b9aSVasily Khoruzhick		};
150c6629b9aSVasily Khoruzhick
151c6629b9aSVasily Khoruzhick		lan2_led_pin: lan2-led-pin {
152c6629b9aSVasily Khoruzhick			rockchip,pins = <3 RK_PD7 RK_FUNC_GPIO &pcfg_pull_none>;
153c6629b9aSVasily Khoruzhick		};
154c6629b9aSVasily Khoruzhick
1551631cbdbSDiederik de Haas		sys_led_pin: sys-led-pin {
156c6629b9aSVasily Khoruzhick			rockchip,pins = <4 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>;
157c6629b9aSVasily Khoruzhick		};
158c6629b9aSVasily Khoruzhick
159c6629b9aSVasily Khoruzhick		wan_led_pin: wan-led-pin {
160c6629b9aSVasily Khoruzhick			rockchip,pins = <2 RK_PC1 RK_FUNC_GPIO &pcfg_pull_none>;
161c6629b9aSVasily Khoruzhick		};
162c6629b9aSVasily Khoruzhick	};
163c6629b9aSVasily Khoruzhick};
164