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