Loading...
Note: File does not exist in v6.13.7.
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2/*
3 * Copyright (c) 2015 Heiko Stuebner <heiko@sntech.de>
4 */
5
6/dts-v1/;
7#include <dt-bindings/input/input.h>
8#include <dt-bindings/pwm/pwm.h>
9#include "rk3288.dtsi"
10
11/ {
12 model = "Netxeon R89";
13 compatible = "netxeon,r89", "rockchip,rk3288";
14
15 memory@0 {
16 device_type = "memory";
17 reg = <0x0 0x0 0x0 0x80000000>;
18 };
19
20 ext_gmac: external-gmac-clock {
21 compatible = "fixed-clock";
22 clock-frequency = <125000000>;
23 clock-output-names = "ext_gmac";
24 #clock-cells = <0>;
25 };
26
27 gpio-keys {
28 compatible = "gpio-keys";
29 autorepeat;
30
31 pinctrl-names = "default";
32 pinctrl-0 = <&pwrbtn>;
33
34 power {
35 gpios = <&gpio0 RK_PA5 GPIO_ACTIVE_LOW>;
36 linux,code = <KEY_POWER>;
37 label = "GPIO Key Power";
38 linux,input-type = <1>;
39 wakeup-source;
40 debounce-interval = <100>;
41 };
42 };
43
44 ir: ir-receiver {
45 compatible = "gpio-ir-receiver";
46 gpios = <&gpio7 RK_PA0 GPIO_ACTIVE_LOW>;
47 pinctrl-names = "default";
48 pinctrl-0 = <&ir_int>;
49 };
50
51 vcc_host: vcc-host-regulator {
52 compatible = "regulator-fixed";
53 enable-active-high;
54 gpio = <&gpio0 RK_PB6 GPIO_ACTIVE_HIGH>;
55 pinctrl-names = "default";
56 pinctrl-0 = <&host_vbus_drv>;
57 regulator-name = "vcc_host";
58 regulator-always-on;
59 regulator-boot-on;
60 };
61
62 vcc_otg: vcc-otg-regulator {
63 compatible = "regulator-fixed";
64 enable-active-high;
65 gpio = <&gpio0 RK_PB4 GPIO_ACTIVE_HIGH>;
66 pinctrl-names = "default";
67 pinctrl-0 = <&otg_vbus_drv>;
68 regulator-name = "vcc_otg";
69 regulator-always-on;
70 regulator-boot-on;
71 };
72
73 vcc_sdmmc: sdmmc-regulator {
74 compatible = "regulator-fixed";
75 regulator-name = "sdmmc-supply";
76 regulator-min-microvolt = <3300000>;
77 regulator-max-microvolt = <3300000>;
78 gpio = <&gpio7 RK_PB3 GPIO_ACTIVE_LOW>;
79 startup-delay-us = <100000>;
80 vin-supply = <&vcc_io>;
81 };
82
83 vcc_sys: sys-regulator {
84 compatible = "regulator-fixed";
85 regulator-name = "sys-supply";
86 regulator-min-microvolt = <5000000>;
87 regulator-max-microvolt = <5000000>;
88 regulator-always-on;
89 regulator-boot-on;
90 };
91};
92
93&cpu0 {
94 cpu0-supply = <&vdd_cpu>;
95};
96
97&gmac {
98 phy-supply = <&vcc_lan>;
99 phy-mode = "rgmii";
100 clock_in_out = "input";
101 snps,reset-gpio = <&gpio4 RK_PA7 GPIO_ACTIVE_HIGH>;
102 snps,reset-active-low;
103 snps,reset-delays-us = <0 10000 1000000>;
104 assigned-clocks = <&cru SCLK_MAC>;
105 assigned-clock-parents = <&ext_gmac>;
106 pinctrl-names = "default";
107 pinctrl-0 = <&rgmii_pins>;
108 tx_delay = <0x30>;
109 rx_delay = <0x10>;
110 status = "ok";
111};
112
113&hdmi {
114 status = "okay";
115};
116
117&i2c0 {
118 status = "okay";
119
120 vdd_cpu: pmic@40 {
121 compatible = "silergy,syr827";
122 reg = <0x40>;
123 fcs,suspend-voltage-selector = <1>;
124 regulator-name = "VDD_CPU";
125 regulator-enable-ramp-delay = <300>;
126 regulator-min-microvolt = <850000>;
127 regulator-max-microvolt = <1350000>;
128 regulator-ramp-delay = <8000>;
129 regulator-always-on;
130 regulator-boot-on;
131 vin-supply = <&vcc_sys>;
132 };
133
134 vdd_gpu: pmic@41 {
135 compatible = "silergy,syr828";
136 reg = <0x41>;
137 fcs,suspend-voltage-selector = <1>;
138 regulator-name = "VDD_GPU";
139 regulator-enable-ramp-delay = <300>;
140 regulator-min-microvolt = <850000>;
141 regulator-max-microvolt = <1350000>;
142 regulator-ramp-delay = <8000>;
143 regulator-always-on;
144 regulator-boot-on;
145 vin-supply = <&vcc_sys>;
146 };
147
148 rtc@51 {
149 compatible = "haoyu,hym8563";
150 reg = <0x51>;
151 #clock-cells = <0>;
152 clock-output-names = "xin32k";
153 interrupt-parent = <&gpio0>;
154 interrupts = <RK_PA4 IRQ_TYPE_EDGE_FALLING>;
155 pinctrl-names = "default";
156 pinctrl-0 = <&pmic_int>;
157 };
158
159 act8846: pmic@5a {
160 compatible = "active-semi,act8846";
161 reg = <0x5a>;
162 pinctrl-names = "default";
163 pinctrl-0 = <&pmic_vsel>, <&pwr_hold>;
164 system-power-controller;
165
166 regulators {
167 vcc_ddr: REG1 {
168 regulator-name = "VCC_DDR";
169 regulator-min-microvolt = <1200000>;
170 regulator-max-microvolt = <1200000>;
171 regulator-always-on;
172 };
173
174 vcc_io: REG2 {
175 regulator-name = "VCC_IO";
176 regulator-min-microvolt = <3300000>;
177 regulator-max-microvolt = <3300000>;
178 regulator-always-on;
179 };
180
181 vdd_log: REG3 {
182 regulator-name = "VDD_LOG";
183 regulator-min-microvolt = <1000000>;
184 regulator-max-microvolt = <1000000>;
185 regulator-always-on;
186 };
187
188 vcc_20: REG4 {
189 regulator-name = "VCC_20";
190 regulator-min-microvolt = <2000000>;
191 regulator-max-microvolt = <2000000>;
192 regulator-always-on;
193 };
194
195 vccio_sd: REG5 {
196 regulator-name = "VCCIO_SD";
197 regulator-min-microvolt = <3300000>;
198 regulator-max-microvolt = <3300000>;
199 regulator-always-on;
200 };
201
202 vdd10_lcd: REG6 {
203 regulator-name = "VDD10_LCD";
204 regulator-min-microvolt = <1000000>;
205 regulator-max-microvolt = <1000000>;
206 regulator-always-on;
207 };
208
209 vcc_wl: REG7 {
210 regulator-name = "VCC_WL";
211 regulator-min-microvolt = <3300000>;
212 regulator-max-microvolt = <3300000>;
213 regulator-always-on;
214 };
215
216 vcca_33: REG8 {
217 regulator-name = "VCCA_33";
218 regulator-min-microvolt = <3300000>;
219 regulator-max-microvolt = <3300000>;
220 regulator-always-on;
221 };
222
223 vcc_lan: REG9 {
224 regulator-name = "VCC_LAN";
225 regulator-min-microvolt = <3300000>;
226 regulator-max-microvolt = <3300000>;
227 regulator-always-on;
228 };
229
230 vdd_10: REG10 {
231 regulator-name = "VDD_10";
232 regulator-min-microvolt = <1000000>;
233 regulator-max-microvolt = <1000000>;
234 regulator-always-on;
235 };
236
237 vcc_18: REG11 {
238 regulator-name = "VCC_18";
239 regulator-min-microvolt = <1800000>;
240 regulator-max-microvolt = <1800000>;
241 regulator-always-on;
242 };
243
244 vcc18_lcd: REG12 {
245 regulator-name = "VCC18_LCD";
246 regulator-min-microvolt = <1800000>;
247 regulator-max-microvolt = <1800000>;
248 regulator-always-on;
249 };
250 };
251 };
252};
253
254&i2c5 {
255 status = "okay";
256};
257
258&pinctrl {
259 pcfg_output_high: pcfg-output-high {
260 output-high;
261 };
262
263 pcfg_output_low: pcfg-output-low {
264 output-low;
265 };
266
267 act8846 {
268 pmic_vsel: pmic-vsel {
269 rockchip,pins = <7 RK_PA1 RK_FUNC_GPIO &pcfg_output_low>;
270 };
271
272 pwr_hold: pwr-hold {
273 rockchip,pins = <0 RK_PA6 RK_FUNC_GPIO &pcfg_output_high>;
274 };
275 };
276
277 buttons {
278 pwrbtn: pwrbtn {
279 rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>;
280 };
281 };
282
283 ir {
284 ir_int: ir-int {
285 rockchip,pins = <7 RK_PA0 RK_FUNC_GPIO &pcfg_pull_up>;
286 };
287 };
288
289 pmic {
290 pmic_int: pmic-int {
291 rockchip,pins = <0 RK_PA4 RK_FUNC_GPIO &pcfg_pull_up>;
292 };
293 };
294
295 usb {
296 host_vbus_drv: host-vbus-drv {
297 rockchip,pins = <0 RK_PB6 RK_FUNC_GPIO &pcfg_pull_none>;
298 };
299
300 otg_vbus_drv: otg-vbus-drv {
301 rockchip,pins = <0 RK_PB4 RK_FUNC_GPIO &pcfg_pull_none>;
302 };
303 };
304};
305
306&pwm0 {
307 status = "okay";
308};
309
310&saradc {
311 vref-supply = <&vcc_18>;
312 status = "okay";
313};
314
315&sdmmc {
316 bus-width = <4>;
317 cap-mmc-highspeed;
318 cap-sd-highspeed;
319 card-detect-delay = <200>;
320 disable-wp;
321 pinctrl-names = "default";
322 pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_cd &sdmmc_bus4>;
323 vmmc-supply = <&vcc_sdmmc>;
324 vqmmc-supply = <&vccio_sd>;
325 status = "okay";
326};
327
328&tsadc {
329 rockchip,hw-tshut-mode = <0>;
330 rockchip,hw-tshut-polarity = <0>;
331 status = "okay";
332};
333
334&uart0 {
335 status = "okay";
336};
337
338&uart1 {
339 status = "okay";
340};
341
342&uart2 {
343 status = "okay";
344};
345
346&uart3 {
347 status = "okay";
348};
349
350&uart4 {
351 status = "okay";
352};
353
354&usb_host0_ehci {
355 status = "okay";
356};
357
358&usb_host1 {
359 status = "okay";
360};
361
362&usb_otg {
363 status = "okay";
364};
365
366&usbphy {
367 status = "okay";
368};
369
370&vopb {
371 status = "okay";
372};
373
374&vopb_mmu {
375 status = "okay";
376};
377
378&vopl {
379 status = "okay";
380};
381
382&vopl_mmu {
383 status = "okay";
384};
385
386&wdt {
387 status = "okay";
388};