xref: /linux/arch/arm64/boot/dts/rockchip/rk3528-hinlink-h28k.dts (revision cbe8aadf1551f3f4a853f24b3b96d9f0eea49c53)
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2
3/dts-v1/;
4
5#include <dt-bindings/input/input.h>
6#include <dt-bindings/leds/common.h>
7#include <dt-bindings/pwm/pwm.h>
8#include "rk3528.dtsi"
9
10/ {
11	model = "HINLINK H28K";
12	compatible = "hinlink,h28k", "rockchip,rk3528";
13
14	aliases {
15		ethernet0 = &gmac1;
16		mmc0 = &sdhci;
17		mmc1 = &sdmmc;
18		serial0 = &uart0;
19	};
20
21	chosen {
22		stdout-path = "serial0:1500000n8";
23	};
24
25	keys {
26		compatible = "adc-keys";
27		io-channels = <&saradc 0>;
28		io-channel-names = "buttons";
29		keyup-threshold-microvolt = <1800000>;
30		poll-interval = <100>;
31
32		button-boot {
33			label = "BOOT";
34			linux,code = <KEY_SETUP>;
35			press-threshold-microvolt = <0>;
36		};
37	};
38
39	leds {
40		compatible = "gpio-leds";
41		pinctrl-names = "default";
42		pinctrl-0 = <&lan_led>, <&wan_led>, <&work_led>;
43
44		led-0 {
45			color = <LED_COLOR_ID_AMBER>;
46			function = LED_FUNCTION_LAN;
47			gpios = <&gpio4 RK_PC1 GPIO_ACTIVE_LOW>;
48			linux,default-trigger = "netdev";
49		};
50
51		led-1 {
52			color = <LED_COLOR_ID_BLUE>;
53			function = LED_FUNCTION_WAN;
54			gpios = <&gpio4 RK_PC0 GPIO_ACTIVE_LOW>;
55			linux,default-trigger = "netdev";
56		};
57
58		led-2 {
59			color = <LED_COLOR_ID_GREEN>;
60			function = LED_FUNCTION_STATUS;
61			gpios = <&gpio4 RK_PB7 GPIO_ACTIVE_LOW>;
62			linux,default-trigger = "default-on";
63		};
64	};
65
66	vdd_0v9: regulator-0v9-vdd {
67		compatible = "regulator-fixed";
68		regulator-name = "vdd_0v9";
69		regulator-always-on;
70		regulator-boot-on;
71		regulator-min-microvolt = <900000>;
72		regulator-max-microvolt = <900000>;
73		vin-supply = <&vcc5v0_sys>;
74	};
75
76	vcc_ddr: regulator-1v1-vcc-ddr {
77		compatible = "regulator-fixed";
78		regulator-name = "vcc_ddr";
79		regulator-always-on;
80		regulator-boot-on;
81		regulator-min-microvolt = <1100000>;
82		regulator-max-microvolt = <1100000>;
83		vin-supply = <&vcc5v0_sys>;
84	};
85
86	vcc_1v8: regulator-1v8-vcc {
87		compatible = "regulator-fixed";
88		regulator-name = "vcc_1v8";
89		regulator-always-on;
90		regulator-boot-on;
91		regulator-min-microvolt = <1800000>;
92		regulator-max-microvolt = <1800000>;
93		vin-supply = <&vcc_3v3>;
94	};
95
96	vcc_3v3: regulator-3v3-vcc {
97		compatible = "regulator-fixed";
98		regulator-name = "vcc_3v3";
99		regulator-always-on;
100		regulator-boot-on;
101		regulator-min-microvolt = <3300000>;
102		regulator-max-microvolt = <3300000>;
103		vin-supply = <&vcc5v0_sys>;
104	};
105
106	vcc3v3_sd: regulator-3v3-vcc-sd {
107		compatible = "regulator-fixed";
108		gpios = <&gpio4 RK_PA1 GPIO_ACTIVE_LOW>;
109		pinctrl-names = "default";
110		pinctrl-0 = <&sdmmc_pwren_l>;
111		regulator-name = "vcc3v3_sd";
112		regulator-min-microvolt = <3300000>;
113		regulator-max-microvolt = <3300000>;
114		vin-supply = <&vcc_3v3>;
115	};
116
117	vcc5v0_sys: regulator-5v0-vcc-sys {
118		compatible = "regulator-fixed";
119		regulator-name = "vcc5v0_sys";
120		regulator-always-on;
121		regulator-boot-on;
122		regulator-min-microvolt = <5000000>;
123		regulator-max-microvolt = <5000000>;
124	};
125
126	vccio_sd: regulator-vccio-sd {
127		compatible = "regulator-gpio";
128		gpios = <&gpio4 RK_PB6 GPIO_ACTIVE_HIGH>;
129		pinctrl-names = "default";
130		pinctrl-0 = <&sdmmc_vol_ctrl_h>;
131		regulator-name = "vccio_sd";
132		regulator-min-microvolt = <1800000>;
133		regulator-max-microvolt = <3300000>;
134		states = <1800000 0x0>, <3300000 0x1>;
135		vin-supply = <&vcc5v0_sys>;
136	};
137
138	vdd_arm: regulator-vdd-arm {
139		compatible = "pwm-regulator";
140		pwms = <&pwm1 0 5000 PWM_POLARITY_INVERTED>;
141		pwm-supply = <&vcc5v0_sys>;
142		regulator-name = "vdd_arm";
143		regulator-always-on;
144		regulator-boot-on;
145		regulator-min-microvolt = <746000>;
146		regulator-max-microvolt = <1201000>;
147		regulator-settling-time-up-us = <250>;
148	};
149
150	vdd_logic: regulator-vdd-logic {
151		compatible = "pwm-regulator";
152		pwms = <&pwm2 0 5000 PWM_POLARITY_INVERTED>;
153		pwm-supply = <&vcc5v0_sys>;
154		regulator-name = "vdd_logic";
155		regulator-always-on;
156		regulator-boot-on;
157		regulator-min-microvolt = <705000>;
158		regulator-max-microvolt = <1006000>;
159		regulator-settling-time-up-us = <250>;
160	};
161};
162
163&combphy {
164	status = "okay";
165};
166
167&cpu0 {
168	cpu-supply = <&vdd_arm>;
169};
170
171&cpu1 {
172	cpu-supply = <&vdd_arm>;
173};
174
175&cpu2 {
176	cpu-supply = <&vdd_arm>;
177};
178
179&cpu3 {
180	cpu-supply = <&vdd_arm>;
181};
182
183&gmac1 {
184	clock_in_out = "output";
185	phy-handle = <&rgmii_phy>;
186	phy-mode = "rgmii-id";
187	phy-supply = <&vcc_3v3>;
188	pinctrl-names = "default";
189	pinctrl-0 = <&rgmii_miim>,
190		    <&rgmii_tx_bus2>,
191		    <&rgmii_rx_bus2>,
192		    <&rgmii_rgmii_clk>,
193		    <&rgmii_rgmii_bus>;
194	status = "okay";
195};
196
197&gpu {
198	mali-supply = <&vdd_logic>;
199	status = "okay";
200};
201
202&mdio1 {
203	rgmii_phy: ethernet-phy@1 {
204		compatible = "ethernet-phy-ieee802.3-c22";
205		reg = <0x1>;
206		pinctrl-names = "default";
207		pinctrl-0 = <&gmac1_rstn_l>;
208		reset-assert-us = <20000>;
209		reset-deassert-us = <100000>;
210		reset-gpios = <&gpio4 RK_PC2 GPIO_ACTIVE_LOW>;
211	};
212};
213
214&pcie {
215	pinctrl-names = "default";
216	pinctrl-0 = <&rtl8111hs_isolateb_l>;
217	reset-gpios = <&gpio4 RK_PA3 GPIO_ACTIVE_HIGH>;
218	vpcie3v3-supply = <&vcc_3v3>;
219	status = "okay";
220};
221
222&pinctrl {
223	gmac {
224		gmac1_rstn_l: gmac1-rstn-l {
225			rockchip,pins = <4 RK_PC2 RK_FUNC_GPIO &pcfg_pull_none>;
226		};
227	};
228
229	leds {
230		lan_led: lan-led {
231			rockchip,pins = <4 RK_PC1 RK_FUNC_GPIO &pcfg_pull_none>;
232		};
233
234		wan_led: wan-led {
235			rockchip,pins = <4 RK_PC0 RK_FUNC_GPIO &pcfg_pull_none>;
236		};
237
238		work_led: work-led {
239			rockchip,pins = <4 RK_PB7 RK_FUNC_GPIO &pcfg_pull_none>;
240		};
241	};
242
243	pcie {
244		rtl8111hs_isolateb_l: rtl8111hs-isolateb-l {
245			rockchip,pins = <4 RK_PA6 RK_FUNC_GPIO &pcfg_pull_up>;
246		};
247	};
248
249	sdmmc {
250		sdmmc_pwren_l: sdmmc-pwren-l {
251			rockchip,pins = <4 RK_PA1 RK_FUNC_GPIO &pcfg_pull_none>;
252		};
253
254		sdmmc_vol_ctrl_h: sdmmc-vol-ctrl-h {
255			rockchip,pins = <4 RK_PB6 RK_FUNC_GPIO &pcfg_pull_none>;
256		};
257	};
258};
259
260&pwm1 {
261	pinctrl-names = "default";
262	pinctrl-0 = <&pwm1m0_pins>;
263	status = "okay";
264};
265
266&pwm2 {
267	pinctrl-names = "default";
268	pinctrl-0 = <&pwm2m0_pins>;
269	status = "okay";
270};
271
272&saradc {
273	vref-supply = <&vcc_1v8>;
274	status = "okay";
275};
276
277&sdhci {
278	bus-width = <8>;
279	cap-mmc-highspeed;
280	mmc-hs200-1_8v;
281	non-removable;
282	vmmc-supply = <&vcc_3v3>;
283	vqmmc-supply = <&vcc_1v8>;
284	status = "okay";
285};
286
287&sdmmc {
288	bus-width = <4>;
289	cap-sd-highspeed;
290	disable-wp;
291	sd-uhs-sdr104;
292	vmmc-supply = <&vcc3v3_sd>;
293	vqmmc-supply = <&vccio_sd>;
294	status = "okay";
295};
296
297&uart0 {
298	pinctrl-names = "default";
299	pinctrl-0 = <&uart0m0_xfer>;
300	status = "okay";
301};
302
303&usb2phy {
304	status = "okay";
305};
306
307&usb2phy_host {
308	phy-supply = <&vcc5v0_sys>;
309	status = "okay";
310};
311
312&usb_host0_ehci {
313	status = "okay";
314};
315
316&usb_host0_ohci {
317	status = "okay";
318};
319