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