• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1/*
2 * This file is dual-licensed: you can use it either under the terms
3 * of the GPL or the X11 license, at your option. Note that this dual
4 * licensing only applies to this file, and not this project as a
5 * whole.
6 *
7 *  a) This file is free software; you can redistribute it and/or
8 *     modify it under the terms of the GNU General Public License as
9 *     published by the Free Software Foundation; either version 2 of the
10 *     License, or (at your option) any later version.
11 *
12 *     This file is distributed in the hope that it will be useful,
13 *     but WITHOUT ANY WARRANTY; without even the implied warranty of
14 *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15 *     GNU General Public License for more details.
16 *
17 * Or, alternatively,
18 *
19 *  b) Permission is hereby granted, free of charge, to any person
20 *     obtaining a copy of this software and associated documentation
21 *     files (the "Software"), to deal in the Software without
22 *     restriction, including without limitation the rights to use,
23 *     copy, modify, merge, publish, distribute, sublicense, and/or
24 *     sell copies of the Software, and to permit persons to whom the
25 *     Software is furnished to do so, subject to the following
26 *     conditions:
27 *
28 *     The above copyright notice and this permission notice shall be
29 *     included in all copies or substantial portions of the Software.
30 *
31 *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
32 *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
33 *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
34 *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
35 *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
36 *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
37 *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
38 *     OTHER DEALINGS IN THE SOFTWARE.
39 */
40
41/dts-v1/;
42
43#include "rk3288.dtsi"
44
45/ {
46	model = "Rockchip RK3288 Fennec Board";
47	compatible = "rockchip,rk3288-fennec", "rockchip,rk3288";
48
49	memory@0 {
50		reg = <0x0 0x0 0x0 0x80000000>;
51		device_type = "memory";
52	};
53
54	ext_gmac: external-gmac-clock {
55		compatible = "fixed-clock";
56		#clock-cells = <0>;
57		clock-frequency = <125000000>;
58		clock-output-names = "ext_gmac";
59	};
60
61	vcc_sys: vsys-regulator {
62		compatible = "regulator-fixed";
63		regulator-name = "vcc_sys";
64		regulator-min-microvolt = <5000000>;
65		regulator-max-microvolt = <5000000>;
66		regulator-always-on;
67		regulator-boot-on;
68	};
69};
70
71&cpu0 {
72	cpu0-supply = <&vdd_cpu>;
73};
74
75&emmc {
76	bus-width = <8>;
77	cap-mmc-highspeed;
78	disable-wp;
79	non-removable;
80	pinctrl-names = "default";
81	pinctrl-0 = <&emmc_clk &emmc_cmd &emmc_pwr &emmc_bus8>;
82	status = "okay";
83};
84
85&gmac {
86	assigned-clocks = <&cru SCLK_MAC>;
87	assigned-clock-parents = <&ext_gmac>;
88	clock_in_out = "input";
89	pinctrl-names = "default";
90	pinctrl-0 = <&rgmii_pins>, <&phy_rst>, <&phy_pmeb>, <&phy_int>;
91	phy-supply = <&vcc_lan>;
92	phy-mode = "rgmii";
93	snps,reset-active-low;
94	snps,reset-delays-us = <0 10000 1000000>;
95	snps,reset-gpio = <&gpio4 RK_PB0 GPIO_ACTIVE_LOW>;
96	tx_delay = <0x30>;
97	rx_delay = <0x10>;
98	status = "okay";
99};
100
101&gpu {
102	mali-supply = <&vdd_gpu>;
103	status = "okay";
104};
105
106&hdmi {
107	status = "okay";
108};
109
110&i2c0 {
111	status = "okay";
112	clock-frequency = <400000>;
113
114	rk808: pmic@1b {
115		compatible = "rockchip,rk808";
116		reg = <0x1b>;
117		interrupt-parent = <&gpio0>;
118		interrupts = <RK_PA4 IRQ_TYPE_LEVEL_LOW>;
119		#clock-cells = <1>;
120		clock-output-names = "xin32k", "rk808-clkout2";
121		pinctrl-names = "default";
122		pinctrl-0 = <&pmic_int &global_pwroff>;
123		rockchip,system-power-controller;
124		wakeup-source;
125
126		vcc1-supply = <&vcc_sys>;
127		vcc2-supply = <&vcc_sys>;
128		vcc3-supply = <&vcc_sys>;
129		vcc4-supply = <&vcc_sys>;
130		vcc6-supply = <&vcc_sys>;
131		vcc7-supply = <&vcc_sys>;
132		vcc8-supply = <&vcc_io>;
133		vcc9-supply = <&vcc_io>;
134		vcc10-supply = <&vcc_io>;
135		vcc11-supply = <&vcc_io>;
136		vcc12-supply = <&vcc_io>;
137		vddio-supply = <&vcc_io>;
138
139		regulators {
140			vdd_cpu: DCDC_REG1 {
141				regulator-always-on;
142				regulator-boot-on;
143				regulator-min-microvolt = <750000>;
144				regulator-max-microvolt = <1350000>;
145				regulator-name = "vdd_arm";
146				regulator-state-mem {
147					regulator-off-in-suspend;
148				};
149			};
150
151			vdd_gpu: DCDC_REG2 {
152				regulator-always-on;
153				regulator-boot-on;
154				regulator-min-microvolt = <850000>;
155				regulator-max-microvolt = <1250000>;
156				regulator-name = "vdd_gpu";
157				regulator-state-mem {
158					regulator-on-in-suspend;
159					regulator-suspend-microvolt = <1000000>;
160				};
161			};
162
163			vcc_ddr: DCDC_REG3 {
164				regulator-always-on;
165				regulator-boot-on;
166				regulator-name = "vcc_ddr";
167				regulator-state-mem {
168					regulator-on-in-suspend;
169				};
170			};
171
172			vcc_io: DCDC_REG4 {
173				regulator-always-on;
174				regulator-boot-on;
175				regulator-min-microvolt = <3300000>;
176				regulator-max-microvolt = <3300000>;
177				regulator-name = "vcc_io";
178				regulator-state-mem {
179					regulator-on-in-suspend;
180					regulator-suspend-microvolt = <3300000>;
181				};
182			};
183
184			vccio_pmu: LDO_REG1 {
185				regulator-always-on;
186				regulator-boot-on;
187				regulator-min-microvolt = <3300000>;
188				regulator-max-microvolt = <3300000>;
189				regulator-name = "vccio_pmu";
190				regulator-state-mem {
191					regulator-on-in-suspend;
192					regulator-suspend-microvolt = <3300000>;
193				};
194			};
195
196			vcca_33: LDO_REG2 {
197				regulator-always-on;
198				regulator-boot-on;
199				regulator-min-microvolt = <3300000>;
200				regulator-max-microvolt = <3300000>;
201				regulator-name = "vcca_33";
202				regulator-state-mem {
203					regulator-off-in-suspend;
204				};
205			};
206
207			vdd_10: LDO_REG3 {
208				regulator-always-on;
209				regulator-boot-on;
210				regulator-min-microvolt = <1000000>;
211				regulator-max-microvolt = <1000000>;
212				regulator-name = "vdd_10";
213				regulator-state-mem {
214					regulator-on-in-suspend;
215					regulator-suspend-microvolt = <1000000>;
216				};
217			};
218
219			vcc_wl: LDO_REG4 {
220				regulator-always-on;
221				regulator-boot-on;
222				regulator-min-microvolt = <1800000>;
223				regulator-max-microvolt = <1800000>;
224				regulator-name = "vcc_wl";
225				regulator-state-mem {
226					regulator-on-in-suspend;
227					regulator-suspend-microvolt = <1800000>;
228				};
229			};
230
231			vccio_sd: LDO_REG5 {
232				regulator-always-on;
233				regulator-boot-on;
234				regulator-min-microvolt = <1800000>;
235				regulator-max-microvolt = <3300000>;
236				regulator-name = "vccio_sd";
237				regulator-state-mem {
238					regulator-on-in-suspend;
239					regulator-suspend-microvolt = <3300000>;
240				};
241			};
242
243			vdd10_lcd: LDO_REG6 {
244				regulator-always-on;
245				regulator-boot-on;
246				regulator-min-microvolt = <1000000>;
247				regulator-max-microvolt = <1000000>;
248				regulator-name = "vdd10_lcd";
249				regulator-state-mem {
250					regulator-on-in-suspend;
251					regulator-suspend-microvolt = <1000000>;
252				};
253			};
254
255			vcc_18: LDO_REG7 {
256				regulator-always-on;
257				regulator-boot-on;
258				regulator-min-microvolt = <1800000>;
259				regulator-max-microvolt = <1800000>;
260				regulator-name = "vcc_18";
261				regulator-state-mem {
262					regulator-on-in-suspend;
263					regulator-suspend-microvolt = <1800000>;
264				};
265			};
266
267			vcc18_lcd: LDO_REG8 {
268				regulator-always-on;
269				regulator-boot-on;
270				regulator-min-microvolt = <1800000>;
271				regulator-max-microvolt = <1800000>;
272				regulator-name = "vcc18_lcd";
273				regulator-state-mem {
274					regulator-on-in-suspend;
275					regulator-suspend-microvolt = <1800000>;
276				};
277			};
278
279			vcc_sd: SWITCH_REG1 {
280				regulator-always-on;
281				regulator-boot-on;
282				regulator-name = "vcc_sd";
283				regulator-state-mem {
284					regulator-on-in-suspend;
285				};
286			};
287
288			vcc_lan: SWITCH_REG2 {
289				regulator-always-on;
290				regulator-boot-on;
291				regulator-name = "vcc_lan";
292				regulator-state-mem {
293					regulator-on-in-suspend;
294				};
295			};
296		};
297	};
298};
299
300&pinctrl {
301	pcfg_output_high: pcfg-output-high {
302		output-high;
303	};
304
305	pcfg_output_low: pcfg-output-low {
306		output-low;
307	};
308
309	pcfg_pull_none_drv_8ma: pcfg-pull-none-drv-8ma {
310		drive-strength = <8>;
311	};
312
313	pcfg_pull_up_drv_8ma: pcfg-pull-up-drv-8ma {
314		bias-pull-up;
315		drive-strength = <8>;
316	};
317
318	gmac {
319		phy_int: phy-int {
320			rockchip,pins = <0 9 RK_FUNC_GPIO &pcfg_pull_up>;
321		};
322
323		phy_pmeb: phy-pmeb {
324			rockchip,pins = <0 8 RK_FUNC_GPIO &pcfg_pull_up>;
325		};
326
327		phy_rst: phy-rst {
328			rockchip,pins = <4 8 RK_FUNC_GPIO &pcfg_output_high>;
329		};
330	};
331
332	pmic {
333		pmic_int: pmic-int {
334			rockchip,pins = <RK_GPIO0 4 RK_FUNC_GPIO &pcfg_pull_up>;
335		};
336	};
337
338	usbphy {
339		host_drv: host-drv {
340			rockchip,pins = <0 14 RK_FUNC_GPIO &pcfg_pull_none>;
341		};
342	};
343};
344
345&uart2 {
346	status = "okay";
347};
348
349&usbphy {
350	pinctrl-names = "default";
351	pinctrl-0 = <&host_drv>;
352	vbus_drv-gpios = <&gpio0 RK_PB6 GPIO_ACTIVE_HIGH>;
353	status = "okay";
354};
355
356&usb_host0_ehci {
357	status = "okay";
358};
359
360&usb_host1 {
361	status = "okay";
362};
363
364&usb_otg {
365	status = "okay";
366};
367
368&usb_hsic {
369	status = "okay";
370};
371
372&vopb {
373	status = "okay";
374};
375
376&vopb_mmu {
377	status = "okay";
378};
379
380&vopl {
381	status = "okay";
382};
383
384&vopl_mmu {
385	status = "okay";
386};
387