]> git.proxmox.com Git - mirror_ubuntu-eoan-kernel.git/blame - arch/arm/boot/dts/rk3288-fennec.dts
Merge tag 'linux-watchdog-4.17-rc1' of git://www.linux-watchdog.org/linux-watchdog
[mirror_ubuntu-eoan-kernel.git] / arch / arm / boot / dts / rk3288-fennec.dts
CommitLineData
0b1115bc
XZ
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
0b639b81 49 memory@0 {
79db45be 50 reg = <0x0 0x0 0x0 0x80000000>;
0b1115bc
XZ
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;
0b1115bc
XZ
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>;
e9e79d53 95 snps,reset-gpio = <&gpio4 RK_PB0 GPIO_ACTIVE_LOW>;
0b1115bc
XZ
96 tx_delay = <0x30>;
97 rx_delay = <0x10>;
98 status = "okay";
99};
100
6a23afbf
JC
101&gpu {
102 mali-supply = <&vdd_gpu>;
103 status = "okay";
104};
105
0b1115bc
XZ
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>;
e9e79d53 118 interrupts = <RK_PA4 IRQ_TYPE_LEVEL_LOW>;
0b1115bc
XZ
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>;
e9e79d53 352 vbus_drv-gpios = <&gpio0 RK_PB6 GPIO_ACTIVE_HIGH>;
0b1115bc
XZ
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};