xref: /openbmc/u-boot/arch/arm/dts/rk3288-vyasa.dts (revision 58b3f26f)
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
59d55af074SJagan Teki	vcc_sys: vsys-regulator {
60d55af074SJagan Teki		compatible = "regulator-fixed";
61d55af074SJagan Teki		regulator-name = "vcc_sys";
62d55af074SJagan Teki		regulator-min-microvolt = <5000000>;
63d55af074SJagan Teki		regulator-max-microvolt = <5000000>;
64d55af074SJagan Teki		regulator-always-on;
65d55af074SJagan Teki		regulator-boot-on;
66d55af074SJagan Teki	};
67d55af074SJagan Teki};
68d55af074SJagan Teki
69d55af074SJagan Teki&cpu0 {
70d55af074SJagan Teki	cpu0-supply = <&vdd_cpu>;
71d55af074SJagan Teki};
72d55af074SJagan Teki
73d11455f5SJagan Teki&gpu {
74d11455f5SJagan Teki	mali-supply = <&vdd_gpu>;
75d11455f5SJagan Teki	status = "okay";
76d11455f5SJagan Teki};
77d11455f5SJagan Teki
78d11455f5SJagan Teki&hdmi {
79d11455f5SJagan Teki	ddc-i2c-bus = <&i2c2>;
80d11455f5SJagan Teki	status = "okay";
81d11455f5SJagan Teki};
82d11455f5SJagan Teki
83d55af074SJagan Teki&i2c0 {
84d55af074SJagan Teki	clock-frequency = <400000>;
85d55af074SJagan Teki	status = "okay";
86d55af074SJagan Teki
87d55af074SJagan Teki	rk808: pmic@1b {
88d55af074SJagan Teki		compatible = "rockchip,rk808";
89d55af074SJagan Teki		reg = <0x1b>;
90d55af074SJagan Teki		interrupt-parent = <&gpio0>;
91d55af074SJagan Teki		interrupts = <RK_PA4 IRQ_TYPE_LEVEL_LOW>;
92d55af074SJagan Teki		#clock-cells = <1>;
93d55af074SJagan Teki		clock-output-names = "xin32k", "rk808-clkout2";
94d11455f5SJagan Teki		pinctrl-names = "default";
95d11455f5SJagan Teki		pinctrl-0 = <&pmic_int &global_pwroff>;
96d11455f5SJagan Teki		rockchip,system-power-controller;
97d11455f5SJagan Teki		wakeup-source;
98d55af074SJagan Teki
99d55af074SJagan Teki		vcc1-supply = <&vcc_sys>;
100d55af074SJagan Teki		vcc2-supply = <&vcc_sys>;
101d55af074SJagan Teki		vcc3-supply = <&vcc_sys>;
102d55af074SJagan Teki		vcc4-supply = <&vcc_sys>;
103d55af074SJagan Teki		vcc6-supply = <&vcc_sys>;
104d55af074SJagan Teki		vcc7-supply = <&vcc_sys>;
105d55af074SJagan Teki		vcc8-supply = <&vcc_io>;
106d55af074SJagan Teki		vcc9-supply = <&vcc_sys>;
107d55af074SJagan Teki		vcc10-supply = <&vcc_sys>;
108d55af074SJagan Teki		vcc11-supply = <&vcc_sys>;
109d55af074SJagan Teki		vcc12-supply = <&vcc_io>;
110d55af074SJagan Teki
111d55af074SJagan Teki		regulators {
112764a94d9SJagan Teki			vdd_cpu: DCDC_REG1 {
113764a94d9SJagan Teki				regulator-name = "vdd_arm";
114d55af074SJagan Teki				regulator-min-microvolt = <750000>;
115d55af074SJagan Teki				regulator-max-microvolt = <1350000>;
116d11455f5SJagan Teki				regulator-always-on;
117d11455f5SJagan Teki				regulator-boot-on;
118d55af074SJagan Teki				regulator-state-mem {
119d55af074SJagan Teki					regulator-off-in-suspend;
120d55af074SJagan Teki				};
121d55af074SJagan Teki			};
122d55af074SJagan Teki
123d55af074SJagan Teki			vdd_gpu: DCDC_REG2 {
124d11455f5SJagan Teki				regulator-name = "vdd_gpu";
125d55af074SJagan Teki				regulator-min-microvolt = <850000>;
126d55af074SJagan Teki				regulator-max-microvolt = <1250000>;
127d11455f5SJagan Teki				regulator-always-on;
128d11455f5SJagan Teki				regulator-boot-on;
129d55af074SJagan Teki				regulator-state-mem {
130d55af074SJagan Teki					regulator-on-in-suspend;
131d55af074SJagan Teki					regulator-suspend-microvolt = <1000000>;
132d55af074SJagan Teki				};
133d55af074SJagan Teki			};
134d55af074SJagan Teki
135d55af074SJagan Teki			vcc_ddr: DCDC_REG3 {
136d11455f5SJagan Teki				regulator-name = "vcc_ddr";
137d55af074SJagan Teki				regulator-always-on;
138d55af074SJagan Teki				regulator-boot-on;
139d55af074SJagan Teki				regulator-state-mem {
140d55af074SJagan Teki					regulator-on-in-suspend;
141d55af074SJagan Teki				};
142d55af074SJagan Teki			};
143d55af074SJagan Teki
144d55af074SJagan Teki			vcc_io: DCDC_REG4 {
145d11455f5SJagan Teki				regulator-name = "vcc_io";
146d55af074SJagan Teki				regulator-min-microvolt = <3300000>;
147d55af074SJagan Teki				regulator-max-microvolt = <3300000>;
148d11455f5SJagan Teki				regulator-always-on;
149d11455f5SJagan Teki				regulator-boot-on;
150d55af074SJagan Teki				regulator-state-mem {
151d55af074SJagan Teki					regulator-on-in-suspend;
152d55af074SJagan Teki					regulator-suspend-microvolt = <3300000>;
153d55af074SJagan Teki				};
154d55af074SJagan Teki			};
155d55af074SJagan Teki
156d55af074SJagan Teki			vcca_tp: LDO_REG1 {
157d11455f5SJagan Teki				regulator-name = "vcc_tp";
158d55af074SJagan Teki				regulator-min-microvolt = <3300000>;
159d55af074SJagan Teki				regulator-max-microvolt = <3300000>;
160d11455f5SJagan Teki				regulator-always-on;
161d11455f5SJagan Teki				regulator-boot-on;
162d55af074SJagan Teki				regulator-state-mem {
163d55af074SJagan Teki					regulator-on-in-suspend;
164d55af074SJagan Teki					regulator-suspend-microvolt = <3300000>;
165d55af074SJagan Teki				};
166d55af074SJagan Teki			};
167d55af074SJagan Teki
168d55af074SJagan Teki			vcc_codec: LDO_REG2 {
169d11455f5SJagan Teki				regulator-name = "vcc_codec";
170d55af074SJagan Teki				regulator-min-microvolt = <3300000>;
171d55af074SJagan Teki				regulator-max-microvolt = <3300000>;
172d11455f5SJagan Teki				regulator-always-on;
173d11455f5SJagan Teki				regulator-boot-on;
174d55af074SJagan Teki				regulator-state-mem {
175d55af074SJagan Teki					regulator-off-in-suspend;
176d55af074SJagan Teki				};
177d55af074SJagan Teki			};
178d55af074SJagan Teki
179d55af074SJagan Teki			vdd_10: LDO_REG3 {
180d11455f5SJagan Teki				regulator-name = "vdd_10";
181d55af074SJagan Teki				regulator-min-microvolt = <1000000>;
182d55af074SJagan Teki				regulator-max-microvolt = <1000000>;
183d11455f5SJagan Teki				regulator-always-on;
184d11455f5SJagan Teki				regulator-boot-on;
185d55af074SJagan Teki				regulator-state-mem {
186d55af074SJagan Teki					regulator-on-in-suspend;
187d55af074SJagan Teki					regulator-suspend-microvolt = <1000000>;
188d55af074SJagan Teki				};
189d55af074SJagan Teki			};
190d55af074SJagan Teki
191d55af074SJagan Teki			vcc_gps: LDO_REG4 {
192d11455f5SJagan Teki				regulator-name = "vcc_gps";
193d55af074SJagan Teki				regulator-min-microvolt = <1800000>;
194d55af074SJagan Teki				regulator-max-microvolt = <1800000>;
195d11455f5SJagan Teki				regulator-always-on;
196d11455f5SJagan Teki				regulator-boot-on;
197d55af074SJagan Teki				regulator-state-mem {
198d55af074SJagan Teki					regulator-on-in-suspend;
199d55af074SJagan Teki					regulator-suspend-microvolt = <1800000>;
200d55af074SJagan Teki				};
201d55af074SJagan Teki			};
202d55af074SJagan Teki
203d55af074SJagan Teki			vccio_sd: LDO_REG5 {
204d11455f5SJagan Teki				regulator-name = "vccio_sd";
205d55af074SJagan Teki				regulator-min-microvolt = <1800000>;
206d55af074SJagan Teki				regulator-max-microvolt = <3300000>;
207d11455f5SJagan Teki				regulator-always-on;
208d11455f5SJagan Teki				regulator-boot-on;
209d55af074SJagan Teki				regulator-state-mem {
210d55af074SJagan Teki					regulator-on-in-suspend;
211d55af074SJagan Teki					regulator-suspend-microvolt = <3300000>;
212d55af074SJagan Teki				};
213d55af074SJagan Teki			};
214d55af074SJagan Teki
215d55af074SJagan Teki			vcc10_lcd: LDO_REG6 {
216d11455f5SJagan Teki				regulator-name = "vcc10_lcd";
217d55af074SJagan Teki				regulator-min-microvolt = <1000000>;
218d55af074SJagan Teki				regulator-max-microvolt = <1000000>;
219d11455f5SJagan Teki				regulator-always-on;
220d11455f5SJagan Teki				regulator-boot-on;
221d55af074SJagan Teki				regulator-state-mem {
222d55af074SJagan Teki					regulator-on-in-suspend;
223d55af074SJagan Teki					regulator-suspend-microvolt = <1800000>;
224d55af074SJagan Teki				};
225d55af074SJagan Teki			};
226d55af074SJagan Teki
227d55af074SJagan Teki			vcc_18: LDO_REG7 {
228d11455f5SJagan Teki				regulator-name = "vcc_18";
229d55af074SJagan Teki				regulator-min-microvolt = <1800000>;
230d55af074SJagan Teki				regulator-max-microvolt = <1800000>;
231d11455f5SJagan Teki				regulator-always-on;
232d11455f5SJagan Teki				regulator-boot-on;
233d55af074SJagan Teki				regulator-state-mem {
234d55af074SJagan Teki					regulator-on-in-suspend;
235d55af074SJagan Teki					regulator-suspend-microvolt = <1800000>;
236d55af074SJagan Teki				};
237d55af074SJagan Teki			};
238d55af074SJagan Teki
239d55af074SJagan Teki			vcc18_lcd: LDO_REG8 {
240d11455f5SJagan Teki				regulator-name = "vcc18_lcd";
241d55af074SJagan Teki				regulator-min-microvolt = <1800000>;
242d55af074SJagan Teki				regulator-max-microvolt = <1800000>;
243d11455f5SJagan Teki				regulator-always-on;
244d11455f5SJagan Teki				regulator-boot-on;
245d55af074SJagan Teki				regulator-state-mem {
246d55af074SJagan Teki					regulator-on-in-suspend;
247d55af074SJagan Teki					regulator-suspend-microvolt = <1800000>;
248d55af074SJagan Teki				};
249d55af074SJagan Teki			};
250d55af074SJagan Teki
251*58b3f26fSJagan Teki			vcc_sd: SWITCH_REG1 {
252*58b3f26fSJagan Teki				regulator-name = "vcc_sd";
253d55af074SJagan Teki				regulator-min-microvolt = <3300000>;
254d55af074SJagan Teki				regulator-max-microvolt = <3300000>;
255d11455f5SJagan Teki				regulator-always-on;
256d11455f5SJagan Teki				regulator-boot-on;
257d55af074SJagan Teki				regulator-state-mem {
258d55af074SJagan Teki					regulator-on-in-suspend;
259d55af074SJagan Teki				};
260d55af074SJagan Teki			};
261d55af074SJagan Teki
262d55af074SJagan Teki			vcc_lan: SWITCH_REG2 {
263d11455f5SJagan Teki				regulator-name = "vcc_lan";
264d55af074SJagan Teki				regulator-min-microvolt = <3300000>;
265d55af074SJagan Teki				regulator-max-microvolt = <3300000>;
266d11455f5SJagan Teki				regulator-always-on;
267d11455f5SJagan Teki				regulator-boot-on;
268d55af074SJagan Teki				regulator-state-mem {
269d55af074SJagan Teki					regulator-on-in-suspend;
270d55af074SJagan Teki				};
271d55af074SJagan Teki			};
272d55af074SJagan Teki		};
273d55af074SJagan Teki	};
274d55af074SJagan Teki};
275d55af074SJagan Teki
276d11455f5SJagan Teki&i2c2 {
277d55af074SJagan Teki	status = "okay";
278d11455f5SJagan Teki};
279d55af074SJagan Teki
280d11455f5SJagan Teki&sdmmc {
281d55af074SJagan Teki	bus-width = <4>;
282d55af074SJagan Teki	cap-mmc-highspeed;
283d55af074SJagan Teki	cap-sd-highspeed;
284d55af074SJagan Teki	card-detect-delay = <200>;
285d55af074SJagan Teki	disable-wp;
286d55af074SJagan Teki	pinctrl-names = "default";
287d55af074SJagan Teki	pinctrl-0 = <&sdmmc_clk>, <&sdmmc_cmd>, <&sdmmc_cd>, <&sdmmc_bus4>;
288d55af074SJagan Teki	vmmc-supply = <&vcc_sd>;
289d55af074SJagan Teki	vqmmc-supply = <&vccio_sd>;
290d11455f5SJagan Teki	status = "okay";
291d55af074SJagan Teki};
292d55af074SJagan Teki
293d55af074SJagan Teki&uart2 {
294d11455f5SJagan Teki	status = "okay";
295d11455f5SJagan Teki};
296d11455f5SJagan Teki
297d11455f5SJagan Teki&vopb {
298d11455f5SJagan Teki	status = "okay";
299d11455f5SJagan Teki};
300d11455f5SJagan Teki
301d11455f5SJagan Teki&vopb_mmu {
302d11455f5SJagan Teki	status = "okay";
303d11455f5SJagan Teki};
304d11455f5SJagan Teki
305d11455f5SJagan Teki&vopl {
306d11455f5SJagan Teki	status = "okay";
307d11455f5SJagan Teki};
308d11455f5SJagan Teki
309d11455f5SJagan Teki&vopl_mmu {
310d55af074SJagan Teki	status = "okay";
311d55af074SJagan Teki};
312d55af074SJagan Teki
313d55af074SJagan Teki&wdt {
314d55af074SJagan Teki	status = "okay";
315d55af074SJagan Teki};
316d55af074SJagan Teki
317d55af074SJagan Teki&pinctrl {
318d55af074SJagan Teki	pmic {
319d55af074SJagan Teki		pmic_int: pmic-int {
320d55af074SJagan Teki			rockchip,pins = <RK_GPIO0 4 RK_FUNC_GPIO &pcfg_pull_up>;
321d55af074SJagan Teki		};
322d55af074SJagan Teki	};
323d55af074SJagan Teki};
324