xref: /openbmc/u-boot/arch/arm/dts/rk3288-vyasa.dts (revision ad6c9655)
1d55af074SJagan Teki/*
2d55af074SJagan Teki * Copyright (C) 2017 Jagan Teki <jagan@amarulasolutions.com>
3d55af074SJagan Teki *
4d55af074SJagan Teki * This file is dual-licensed: you can use it either under the terms
5d55af074SJagan Teki * of the GPL or the X11 license, at your option. Note that this dual
6d55af074SJagan Teki * licensing only applies to this file, and not this project as a
7d55af074SJagan Teki * whole.
8d55af074SJagan Teki *
9d55af074SJagan Teki *  a) This file is free software; you can redistribute it and/or
10d55af074SJagan Teki *     modify it under the terms of the GNU General Public License as
11d55af074SJagan Teki *     published by the Free Software Foundation; either version 2 of the
12d55af074SJagan Teki *     License, or (at your option) any later version.
13d55af074SJagan Teki *
14d55af074SJagan Teki *     This file is distributed in the hope that it will be useful,
15d55af074SJagan Teki *     but WITHOUT ANY WARRANTY; without even the implied warranty of
16d55af074SJagan Teki *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17d55af074SJagan Teki *     GNU General Public License for more details.
18d55af074SJagan Teki *
19d55af074SJagan Teki * Or, alternatively,
20d55af074SJagan Teki *
21d55af074SJagan Teki *  b) Permission is hereby granted, free of charge, to any person
22d55af074SJagan Teki *     obtaining a copy of this software and associated documentation
23d55af074SJagan Teki *     files (the "Software"), to deal in the Software without
24d55af074SJagan Teki *     restriction, including without limitation the rights to use,
25d55af074SJagan Teki *     copy, modify, merge, publish, distribute, sublicense, and/or
26d55af074SJagan Teki *     sell copies of the Software, and to permit persons to whom the
27d55af074SJagan Teki *     Software is furnished to do so, subject to the following
28d55af074SJagan Teki *     conditions:
29d55af074SJagan Teki *
30d55af074SJagan Teki *     The above copyright notice and this permission notice shall be
31d55af074SJagan Teki *     included in all copies or substantial portions of the Software.
32d55af074SJagan Teki *
33d55af074SJagan Teki *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
34d55af074SJagan Teki *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
35d55af074SJagan Teki *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
36d55af074SJagan Teki *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
37d55af074SJagan Teki *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
38d55af074SJagan Teki *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
39d55af074SJagan Teki *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
40d55af074SJagan Teki *     OTHER DEALINGS IN THE SOFTWARE.
41d55af074SJagan Teki */
42d55af074SJagan Teki
43d55af074SJagan Teki/dts-v1/;
44d55af074SJagan Teki#include "rk3288.dtsi"
45d55af074SJagan Teki
46d55af074SJagan Teki/ {
47d55af074SJagan Teki	model = "Amarula Vyasa-RK3288";
48d55af074SJagan Teki	compatible = "amarula,vyasa-rk3288", "rockchip,rk3288";
49d55af074SJagan Teki
50d55af074SJagan Teki	chosen {
51d55af074SJagan Teki		stdout-path = &uart2;
52d55af074SJagan Teki	};
53d55af074SJagan Teki
54d55af074SJagan Teki	memory {
55d11455f5SJagan Teki		reg = <0x0 0x0 0x0 0x80000000>;
56d55af074SJagan Teki		device_type = "memory";
57d55af074SJagan Teki	};
58d55af074SJagan Teki
59*ad6c9655SJagan Teki	dc12_vbat: dc12-vbat {
60*ad6c9655SJagan Teki		compatible = "regulator-fixed";
61*ad6c9655SJagan Teki		regulator-name = "dc12_vbat";
62*ad6c9655SJagan Teki		regulator-min-microvolt = <12000000>;
63*ad6c9655SJagan Teki		regulator-max-microvolt = <12000000>;
64*ad6c9655SJagan Teki		regulator-always-on;
65*ad6c9655SJagan Teki		regulator-boot-on;
66*ad6c9655SJagan Teki	};
67*ad6c9655SJagan Teki
68*ad6c9655SJagan Teki	vboot_3v3: vboot-3v3 {
69*ad6c9655SJagan Teki		compatible = "regulator-fixed";
70*ad6c9655SJagan Teki		regulator-name = "vboot_3v3";
71*ad6c9655SJagan Teki		regulator-min-microvolt = <3300000>;
72*ad6c9655SJagan Teki		regulator-max-microvolt = <3300000>;
73*ad6c9655SJagan Teki		regulator-always-on;
74*ad6c9655SJagan Teki		regulator-boot-on;
75*ad6c9655SJagan Teki		vin-supply = <&dc12_vbat>;
76*ad6c9655SJagan Teki	};
77*ad6c9655SJagan Teki
78d55af074SJagan Teki	vcc_sys: vsys-regulator {
79d55af074SJagan Teki		compatible = "regulator-fixed";
80d55af074SJagan Teki		regulator-name = "vcc_sys";
81*ad6c9655SJagan Teki		regulator-min-microvolt = <3700000>;
82*ad6c9655SJagan Teki		regulator-max-microvolt = <3700000>;
83*ad6c9655SJagan Teki		regulator-always-on;
84*ad6c9655SJagan Teki		regulator-boot-on;
85*ad6c9655SJagan Teki		vin-supply = <&dc12_vbat>;
86*ad6c9655SJagan Teki	};
87*ad6c9655SJagan Teki
88*ad6c9655SJagan Teki	vboot_5v: vboot-5v {
89*ad6c9655SJagan Teki		compatible = "regulator-fixed";
90*ad6c9655SJagan Teki		regulator-name = "vboot_sv";
91d55af074SJagan Teki		regulator-min-microvolt = <5000000>;
92d55af074SJagan Teki		regulator-max-microvolt = <5000000>;
93d55af074SJagan Teki		regulator-always-on;
94d55af074SJagan Teki		regulator-boot-on;
95*ad6c9655SJagan Teki		vin-supply = <&dc12_vbat>;
96*ad6c9655SJagan Teki	};
97*ad6c9655SJagan Teki
98*ad6c9655SJagan Teki	v3g_3v3: v3g-3v3 {
99*ad6c9655SJagan Teki		compatible = "regulator-fixed";
100*ad6c9655SJagan Teki		regulator-name = "v3g_3v3";
101*ad6c9655SJagan Teki		regulator-min-microvolt = <3300000>;
102*ad6c9655SJagan Teki		regulator-max-microvolt = <3300000>;
103*ad6c9655SJagan Teki		regulator-always-on;
104*ad6c9655SJagan Teki		regulator-boot-on;
105*ad6c9655SJagan Teki		vin-supply = <&dc12_vbat>;
106d55af074SJagan Teki	};
107d55af074SJagan Teki};
108d55af074SJagan Teki
109d55af074SJagan Teki&cpu0 {
110d55af074SJagan Teki	cpu0-supply = <&vdd_cpu>;
111d55af074SJagan Teki};
112d55af074SJagan Teki
113d11455f5SJagan Teki&gpu {
114d11455f5SJagan Teki	mali-supply = <&vdd_gpu>;
115d11455f5SJagan Teki	status = "okay";
116d11455f5SJagan Teki};
117d11455f5SJagan Teki
118d11455f5SJagan Teki&hdmi {
119d11455f5SJagan Teki	ddc-i2c-bus = <&i2c2>;
120d11455f5SJagan Teki	status = "okay";
121d11455f5SJagan Teki};
122d11455f5SJagan Teki
123d55af074SJagan Teki&i2c0 {
124d55af074SJagan Teki	clock-frequency = <400000>;
125d55af074SJagan Teki	status = "okay";
126d55af074SJagan Teki
127d55af074SJagan Teki	rk808: pmic@1b {
128d55af074SJagan Teki		compatible = "rockchip,rk808";
129d55af074SJagan Teki		reg = <0x1b>;
130d55af074SJagan Teki		interrupt-parent = <&gpio0>;
131d55af074SJagan Teki		interrupts = <RK_PA4 IRQ_TYPE_LEVEL_LOW>;
132d55af074SJagan Teki		#clock-cells = <1>;
133d55af074SJagan Teki		clock-output-names = "xin32k", "rk808-clkout2";
134d11455f5SJagan Teki		pinctrl-names = "default";
135d11455f5SJagan Teki		pinctrl-0 = <&pmic_int &global_pwroff>;
136d11455f5SJagan Teki		rockchip,system-power-controller;
137d11455f5SJagan Teki		wakeup-source;
138d55af074SJagan Teki
139d55af074SJagan Teki		vcc1-supply = <&vcc_sys>;
140d55af074SJagan Teki		vcc2-supply = <&vcc_sys>;
141d55af074SJagan Teki		vcc3-supply = <&vcc_sys>;
142d55af074SJagan Teki		vcc4-supply = <&vcc_sys>;
143d55af074SJagan Teki		vcc6-supply = <&vcc_sys>;
144d55af074SJagan Teki		vcc7-supply = <&vcc_sys>;
145d55af074SJagan Teki		vcc8-supply = <&vcc_io>;
146d55af074SJagan Teki		vcc9-supply = <&vcc_sys>;
147d55af074SJagan Teki		vcc10-supply = <&vcc_sys>;
148d55af074SJagan Teki		vcc11-supply = <&vcc_sys>;
149d55af074SJagan Teki		vcc12-supply = <&vcc_io>;
150d55af074SJagan Teki
151d55af074SJagan Teki		regulators {
152764a94d9SJagan Teki			vdd_cpu: DCDC_REG1 {
153764a94d9SJagan Teki				regulator-name = "vdd_arm";
154d55af074SJagan Teki				regulator-min-microvolt = <750000>;
155d55af074SJagan Teki				regulator-max-microvolt = <1350000>;
156d11455f5SJagan Teki				regulator-always-on;
157d11455f5SJagan Teki				regulator-boot-on;
158d55af074SJagan Teki				regulator-state-mem {
159d55af074SJagan Teki					regulator-off-in-suspend;
160d55af074SJagan Teki				};
161d55af074SJagan Teki			};
162d55af074SJagan Teki
163d55af074SJagan Teki			vdd_gpu: DCDC_REG2 {
164d11455f5SJagan Teki				regulator-name = "vdd_gpu";
165d55af074SJagan Teki				regulator-min-microvolt = <850000>;
166d55af074SJagan Teki				regulator-max-microvolt = <1250000>;
167d11455f5SJagan Teki				regulator-always-on;
168d11455f5SJagan Teki				regulator-boot-on;
169d55af074SJagan Teki				regulator-state-mem {
170d55af074SJagan Teki					regulator-on-in-suspend;
171d55af074SJagan Teki					regulator-suspend-microvolt = <1000000>;
172d55af074SJagan Teki				};
173d55af074SJagan Teki			};
174d55af074SJagan Teki
175d55af074SJagan Teki			vcc_ddr: DCDC_REG3 {
176d11455f5SJagan Teki				regulator-name = "vcc_ddr";
177d55af074SJagan Teki				regulator-always-on;
178d55af074SJagan Teki				regulator-boot-on;
179d55af074SJagan Teki				regulator-state-mem {
180d55af074SJagan Teki					regulator-on-in-suspend;
181d55af074SJagan Teki				};
182d55af074SJagan Teki			};
183d55af074SJagan Teki
184d55af074SJagan Teki			vcc_io: DCDC_REG4 {
185d11455f5SJagan Teki				regulator-name = "vcc_io";
186d55af074SJagan Teki				regulator-min-microvolt = <3300000>;
187d55af074SJagan Teki				regulator-max-microvolt = <3300000>;
188d11455f5SJagan Teki				regulator-always-on;
189d11455f5SJagan Teki				regulator-boot-on;
190d55af074SJagan Teki				regulator-state-mem {
191d55af074SJagan Teki					regulator-on-in-suspend;
192d55af074SJagan Teki					regulator-suspend-microvolt = <3300000>;
193d55af074SJagan Teki				};
194d55af074SJagan Teki			};
195d55af074SJagan Teki
196d55af074SJagan Teki			vcca_tp: LDO_REG1 {
197d11455f5SJagan Teki				regulator-name = "vcc_tp";
198d55af074SJagan Teki				regulator-min-microvolt = <3300000>;
199d55af074SJagan Teki				regulator-max-microvolt = <3300000>;
200d11455f5SJagan Teki				regulator-always-on;
201d11455f5SJagan Teki				regulator-boot-on;
202d55af074SJagan Teki				regulator-state-mem {
203d55af074SJagan Teki					regulator-on-in-suspend;
204d55af074SJagan Teki					regulator-suspend-microvolt = <3300000>;
205d55af074SJagan Teki				};
206d55af074SJagan Teki			};
207d55af074SJagan Teki
208d55af074SJagan Teki			vcc_codec: LDO_REG2 {
209d11455f5SJagan Teki				regulator-name = "vcc_codec";
210d55af074SJagan Teki				regulator-min-microvolt = <3300000>;
211d55af074SJagan Teki				regulator-max-microvolt = <3300000>;
212d11455f5SJagan Teki				regulator-always-on;
213d11455f5SJagan Teki				regulator-boot-on;
214d55af074SJagan Teki				regulator-state-mem {
215d55af074SJagan Teki					regulator-off-in-suspend;
216d55af074SJagan Teki				};
217d55af074SJagan Teki			};
218d55af074SJagan Teki
219d55af074SJagan Teki			vdd_10: LDO_REG3 {
220d11455f5SJagan Teki				regulator-name = "vdd_10";
221d55af074SJagan Teki				regulator-min-microvolt = <1000000>;
222d55af074SJagan Teki				regulator-max-microvolt = <1000000>;
223d11455f5SJagan Teki				regulator-always-on;
224d11455f5SJagan Teki				regulator-boot-on;
225d55af074SJagan Teki				regulator-state-mem {
226d55af074SJagan Teki					regulator-on-in-suspend;
227d55af074SJagan Teki					regulator-suspend-microvolt = <1000000>;
228d55af074SJagan Teki				};
229d55af074SJagan Teki			};
230d55af074SJagan Teki
231d55af074SJagan Teki			vcc_gps: LDO_REG4 {
232d11455f5SJagan Teki				regulator-name = "vcc_gps";
233d55af074SJagan Teki				regulator-min-microvolt = <1800000>;
234d55af074SJagan Teki				regulator-max-microvolt = <1800000>;
235d11455f5SJagan Teki				regulator-always-on;
236d11455f5SJagan Teki				regulator-boot-on;
237d55af074SJagan Teki				regulator-state-mem {
238d55af074SJagan Teki					regulator-on-in-suspend;
239d55af074SJagan Teki					regulator-suspend-microvolt = <1800000>;
240d55af074SJagan Teki				};
241d55af074SJagan Teki			};
242d55af074SJagan Teki
243d55af074SJagan Teki			vccio_sd: LDO_REG5 {
244d11455f5SJagan Teki				regulator-name = "vccio_sd";
245d55af074SJagan Teki				regulator-min-microvolt = <1800000>;
246d55af074SJagan Teki				regulator-max-microvolt = <3300000>;
247d11455f5SJagan Teki				regulator-always-on;
248d11455f5SJagan Teki				regulator-boot-on;
249d55af074SJagan Teki				regulator-state-mem {
250d55af074SJagan Teki					regulator-on-in-suspend;
251d55af074SJagan Teki					regulator-suspend-microvolt = <3300000>;
252d55af074SJagan Teki				};
253d55af074SJagan Teki			};
254d55af074SJagan Teki
255d55af074SJagan Teki			vcc10_lcd: LDO_REG6 {
256d11455f5SJagan Teki				regulator-name = "vcc10_lcd";
257d55af074SJagan Teki				regulator-min-microvolt = <1000000>;
258d55af074SJagan Teki				regulator-max-microvolt = <1000000>;
259d11455f5SJagan Teki				regulator-always-on;
260d11455f5SJagan Teki				regulator-boot-on;
261d55af074SJagan Teki				regulator-state-mem {
262d55af074SJagan Teki					regulator-on-in-suspend;
263d55af074SJagan Teki					regulator-suspend-microvolt = <1800000>;
264d55af074SJagan Teki				};
265d55af074SJagan Teki			};
266d55af074SJagan Teki
267d55af074SJagan Teki			vcc_18: LDO_REG7 {
268d11455f5SJagan Teki				regulator-name = "vcc_18";
269d55af074SJagan Teki				regulator-min-microvolt = <1800000>;
270d55af074SJagan Teki				regulator-max-microvolt = <1800000>;
271d11455f5SJagan Teki				regulator-always-on;
272d11455f5SJagan Teki				regulator-boot-on;
273d55af074SJagan Teki				regulator-state-mem {
274d55af074SJagan Teki					regulator-on-in-suspend;
275d55af074SJagan Teki					regulator-suspend-microvolt = <1800000>;
276d55af074SJagan Teki				};
277d55af074SJagan Teki			};
278d55af074SJagan Teki
279d55af074SJagan Teki			vcc18_lcd: LDO_REG8 {
280d11455f5SJagan Teki				regulator-name = "vcc18_lcd";
281d55af074SJagan Teki				regulator-min-microvolt = <1800000>;
282d55af074SJagan Teki				regulator-max-microvolt = <1800000>;
283d11455f5SJagan Teki				regulator-always-on;
284d11455f5SJagan Teki				regulator-boot-on;
285d55af074SJagan Teki				regulator-state-mem {
286d55af074SJagan Teki					regulator-on-in-suspend;
287d55af074SJagan Teki					regulator-suspend-microvolt = <1800000>;
288d55af074SJagan Teki				};
289d55af074SJagan Teki			};
290d55af074SJagan Teki
29158b3f26fSJagan Teki			vcc_sd: SWITCH_REG1 {
29258b3f26fSJagan Teki				regulator-name = "vcc_sd";
293d55af074SJagan Teki				regulator-min-microvolt = <3300000>;
294d55af074SJagan Teki				regulator-max-microvolt = <3300000>;
295d11455f5SJagan Teki				regulator-always-on;
296d11455f5SJagan Teki				regulator-boot-on;
297d55af074SJagan Teki				regulator-state-mem {
298d55af074SJagan Teki					regulator-on-in-suspend;
299d55af074SJagan Teki				};
300d55af074SJagan Teki			};
301d55af074SJagan Teki
302d55af074SJagan Teki			vcc_lan: SWITCH_REG2 {
303d11455f5SJagan Teki				regulator-name = "vcc_lan";
304d55af074SJagan Teki				regulator-min-microvolt = <3300000>;
305d55af074SJagan Teki				regulator-max-microvolt = <3300000>;
306d11455f5SJagan Teki				regulator-always-on;
307d11455f5SJagan Teki				regulator-boot-on;
308d55af074SJagan Teki				regulator-state-mem {
309d55af074SJagan Teki					regulator-on-in-suspend;
310d55af074SJagan Teki				};
311d55af074SJagan Teki			};
312d55af074SJagan Teki		};
313d55af074SJagan Teki	};
314d55af074SJagan Teki};
315d55af074SJagan Teki
316d11455f5SJagan Teki&i2c2 {
317d55af074SJagan Teki	status = "okay";
318d11455f5SJagan Teki};
319d55af074SJagan Teki
320d11455f5SJagan Teki&sdmmc {
321d55af074SJagan Teki	bus-width = <4>;
322d55af074SJagan Teki	cap-mmc-highspeed;
323d55af074SJagan Teki	cap-sd-highspeed;
324d55af074SJagan Teki	card-detect-delay = <200>;
325d55af074SJagan Teki	disable-wp;
326d55af074SJagan Teki	pinctrl-names = "default";
327d55af074SJagan Teki	pinctrl-0 = <&sdmmc_clk>, <&sdmmc_cmd>, <&sdmmc_cd>, <&sdmmc_bus4>;
328d55af074SJagan Teki	vmmc-supply = <&vcc_sd>;
329d55af074SJagan Teki	vqmmc-supply = <&vccio_sd>;
330d11455f5SJagan Teki	status = "okay";
331d55af074SJagan Teki};
332d55af074SJagan Teki
333d55af074SJagan Teki&uart2 {
334d11455f5SJagan Teki	status = "okay";
335d11455f5SJagan Teki};
336d11455f5SJagan Teki
337d11455f5SJagan Teki&vopb {
338d11455f5SJagan Teki	status = "okay";
339d11455f5SJagan Teki};
340d11455f5SJagan Teki
341d11455f5SJagan Teki&vopb_mmu {
342d11455f5SJagan Teki	status = "okay";
343d11455f5SJagan Teki};
344d11455f5SJagan Teki
345d11455f5SJagan Teki&vopl {
346d11455f5SJagan Teki	status = "okay";
347d11455f5SJagan Teki};
348d11455f5SJagan Teki
349d11455f5SJagan Teki&vopl_mmu {
350d55af074SJagan Teki	status = "okay";
351d55af074SJagan Teki};
352d55af074SJagan Teki
353d55af074SJagan Teki&wdt {
354d55af074SJagan Teki	status = "okay";
355d55af074SJagan Teki};
356d55af074SJagan Teki
357d55af074SJagan Teki&pinctrl {
358d55af074SJagan Teki	pmic {
359d55af074SJagan Teki		pmic_int: pmic-int {
360d55af074SJagan Teki			rockchip,pins = <RK_GPIO0 4 RK_FUNC_GPIO &pcfg_pull_up>;
361d55af074SJagan Teki		};
362d55af074SJagan Teki	};
363d55af074SJagan Teki};
364