xref: /rk3399_rockchip-uboot/arch/arm/dts/rk3288-phycore-som.dtsi (revision c22f479c2b2028dd9089075991f61ae46b44cc52)
1bafcf2dbSWadim Egorov/*
2bafcf2dbSWadim Egorov * Device tree file for Phytec phyCORE-RK3288 SoM
3bafcf2dbSWadim Egorov * Copyright (C) 2017 PHYTEC Messtechnik GmbH
4bafcf2dbSWadim Egorov * Author: Wadim Egorov <w.egorov@phytec.de>
5bafcf2dbSWadim Egorov *
6bafcf2dbSWadim Egorov * This file is dual-licensed: you can use it either under the terms
7bafcf2dbSWadim Egorov * of the GPL or the X11 license, at your option. Note that this dual
8bafcf2dbSWadim Egorov * licensing only applies to this file, and not this project as a
9bafcf2dbSWadim Egorov * whole.
10bafcf2dbSWadim Egorov *
11bafcf2dbSWadim Egorov *  a) This file is free software; you can redistribute it and/or
12bafcf2dbSWadim Egorov *     modify it under the terms of the GNU General Public License as
13bafcf2dbSWadim Egorov *     published by the Free Software Foundation; either version 2 of the
14bafcf2dbSWadim Egorov *     License, or (at your option) any later version.
15bafcf2dbSWadim Egorov *
16bafcf2dbSWadim Egorov *     This file is distributed in the hope that it will be useful,
17bafcf2dbSWadim Egorov *     but WITHOUT ANY WARRANTY; without even the implied warranty of
18bafcf2dbSWadim Egorov *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
19bafcf2dbSWadim Egorov *     GNU General Public License for more details.
20bafcf2dbSWadim Egorov *
21bafcf2dbSWadim Egorov * Or, alternatively,
22bafcf2dbSWadim Egorov *
23bafcf2dbSWadim Egorov *  b) Permission is hereby granted, free of charge, to any person
24bafcf2dbSWadim Egorov *     obtaining a copy of this software and associated documentation
25bafcf2dbSWadim Egorov *     files (the "Software"), to deal in the Software without
26bafcf2dbSWadim Egorov *     restriction, including without limitation the rights to use,
27bafcf2dbSWadim Egorov *     copy, modify, merge, publish, distribute, sublicense, and/or
28bafcf2dbSWadim Egorov *     sell copies of the Software, and to permit persons to whom the
29bafcf2dbSWadim Egorov *     Software is furnished to do so, subject to the following
30bafcf2dbSWadim Egorov *     conditions:
31bafcf2dbSWadim Egorov *
32bafcf2dbSWadim Egorov *     The above copyright notice and this permission notice shall be
33bafcf2dbSWadim Egorov *     included in all copies or substantial portions of the Software.
34bafcf2dbSWadim Egorov *
35bafcf2dbSWadim Egorov *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
36bafcf2dbSWadim Egorov *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
37bafcf2dbSWadim Egorov *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
38bafcf2dbSWadim Egorov *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
39bafcf2dbSWadim Egorov *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
40bafcf2dbSWadim Egorov *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
41bafcf2dbSWadim Egorov *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
42bafcf2dbSWadim Egorov *     OTHER DEALINGS IN THE SOFTWARE.
43bafcf2dbSWadim Egorov */
44bafcf2dbSWadim Egorov
45bafcf2dbSWadim Egorov#include <dt-bindings/net/ti-dp83867.h>
46bafcf2dbSWadim Egorov#include "rk3288.dtsi"
47*c22f479cSJoseph Chen#include "rk3288-u-boot.dtsi"
48bafcf2dbSWadim Egorov
49bafcf2dbSWadim Egorov/ {
50bafcf2dbSWadim Egorov	model = "Phytec RK3288 phyCORE";
51bafcf2dbSWadim Egorov	compatible = "phytec,rk3288-phycore-som", "rockchip,rk3288";
52bafcf2dbSWadim Egorov
53bafcf2dbSWadim Egorov	/*
54bafcf2dbSWadim Egorov	 * Set the minimum memory size here and
55bafcf2dbSWadim Egorov	 * let the bootloader set the real size.
56bafcf2dbSWadim Egorov	 */
57bafcf2dbSWadim Egorov	memory {
58bafcf2dbSWadim Egorov		device_type = "memory";
59bafcf2dbSWadim Egorov		reg = <0 0x8000000>;
60bafcf2dbSWadim Egorov	};
61bafcf2dbSWadim Egorov
62bafcf2dbSWadim Egorov	aliases {
63bafcf2dbSWadim Egorov		rtc0 = &i2c_rtc;
64bafcf2dbSWadim Egorov		rtc1 = &rk818;
65c03635c3SWadim Egorov		eeprom0 = &i2c_eeprom_id;
66bafcf2dbSWadim Egorov	};
67bafcf2dbSWadim Egorov
68bafcf2dbSWadim Egorov	ext_gmac: external-gmac-clock {
69bafcf2dbSWadim Egorov		compatible = "fixed-clock";
70bafcf2dbSWadim Egorov		#clock-cells = <0>;
71bafcf2dbSWadim Egorov		clock-frequency = <125000000>;
72bafcf2dbSWadim Egorov		clock-output-names = "ext_gmac";
73bafcf2dbSWadim Egorov	};
74bafcf2dbSWadim Egorov
75bafcf2dbSWadim Egorov	io_domains: io_domains {
76bafcf2dbSWadim Egorov		compatible = "rockchip,rk3288-io-voltage-domain";
77bafcf2dbSWadim Egorov
78bafcf2dbSWadim Egorov		status = "okay";
79bafcf2dbSWadim Egorov		sdcard-supply = <&vdd_io_sd>;
80bafcf2dbSWadim Egorov		flash0-supply = <&vdd_emmc_io>;
81bafcf2dbSWadim Egorov		flash1-supply = <&vdd_misc_1v8>;
82bafcf2dbSWadim Egorov		gpio1830-supply = <&vdd_3v3_io>;
83bafcf2dbSWadim Egorov		gpio30-supply = <&vdd_3v3_io>;
84bafcf2dbSWadim Egorov		bb-supply = <&vdd_3v3_io>;
85bafcf2dbSWadim Egorov		dvp-supply = <&vdd_3v3_io>;
86bafcf2dbSWadim Egorov		lcdc-supply = <&vdd_3v3_io>;
87bafcf2dbSWadim Egorov		wifi-supply = <&vdd_3v3_io>;
88bafcf2dbSWadim Egorov		audio-supply = <&vdd_3v3_io>;
89bafcf2dbSWadim Egorov	};
90bafcf2dbSWadim Egorov
91bafcf2dbSWadim Egorov	leds: user-leds {
92bafcf2dbSWadim Egorov		compatible = "gpio-leds";
93bafcf2dbSWadim Egorov		pinctrl-names = "default";
94bafcf2dbSWadim Egorov		pinctrl-0 = <&user_led>;
95bafcf2dbSWadim Egorov
96bafcf2dbSWadim Egorov		user {
97bafcf2dbSWadim Egorov			label = "green_led";
98bafcf2dbSWadim Egorov			gpios = <&gpio7 2 GPIO_ACTIVE_HIGH>;
99bafcf2dbSWadim Egorov			linux,default-trigger = "heartbeat";
100bafcf2dbSWadim Egorov			default-state = "keep";
101bafcf2dbSWadim Egorov		};
102bafcf2dbSWadim Egorov	};
103bafcf2dbSWadim Egorov
104bafcf2dbSWadim Egorov	vdd_emmc_io: vdd-emmc-io {
105bafcf2dbSWadim Egorov		compatible = "regulator-fixed";
106bafcf2dbSWadim Egorov		regulator-name = "vdd_emmc_io";
107bafcf2dbSWadim Egorov		regulator-min-microvolt = <1800000>;
108bafcf2dbSWadim Egorov		regulator-max-microvolt = <1800000>;
109bafcf2dbSWadim Egorov		vin-supply = <&vdd_3v3_io>;
110bafcf2dbSWadim Egorov	};
111bafcf2dbSWadim Egorov
112bafcf2dbSWadim Egorov	vdd_in_otg_out: vdd-in-otg-out {
113bafcf2dbSWadim Egorov		compatible = "regulator-fixed";
114bafcf2dbSWadim Egorov		regulator-name = "vdd_in_otg_out";
115bafcf2dbSWadim Egorov		regulator-always-on;
116bafcf2dbSWadim Egorov		regulator-boot-on;
117bafcf2dbSWadim Egorov		regulator-min-microvolt = <5000000>;
118bafcf2dbSWadim Egorov		regulator-max-microvolt = <5000000>;
119bafcf2dbSWadim Egorov	};
120bafcf2dbSWadim Egorov
121bafcf2dbSWadim Egorov	vdd_misc_1v8: vdd-misc-1v8 {
122bafcf2dbSWadim Egorov		compatible = "regulator-fixed";
123bafcf2dbSWadim Egorov		regulator-name = "vdd_misc_1v8";
124bafcf2dbSWadim Egorov		regulator-always-on;
125bafcf2dbSWadim Egorov		regulator-boot-on;
126bafcf2dbSWadim Egorov		regulator-min-microvolt = <1800000>;
127bafcf2dbSWadim Egorov		regulator-max-microvolt = <1800000>;
128bafcf2dbSWadim Egorov	};
129bafcf2dbSWadim Egorov};
130bafcf2dbSWadim Egorov
131bafcf2dbSWadim Egorov&cpu0 {
132bafcf2dbSWadim Egorov	cpu0-supply = <&vdd_cpu>;
133bafcf2dbSWadim Egorov	operating-points = <
134bafcf2dbSWadim Egorov		/* KHz    uV */
135bafcf2dbSWadim Egorov		1800000	1400000
136bafcf2dbSWadim Egorov		1608000	1350000
137bafcf2dbSWadim Egorov		1512000 1300000
138bafcf2dbSWadim Egorov		1416000 1200000
139bafcf2dbSWadim Egorov		1200000 1100000
140bafcf2dbSWadim Egorov		1008000 1050000
141bafcf2dbSWadim Egorov		 816000 1000000
142bafcf2dbSWadim Egorov		 696000  950000
143bafcf2dbSWadim Egorov		 600000  900000
144bafcf2dbSWadim Egorov		 408000  900000
145bafcf2dbSWadim Egorov		 312000  900000
146bafcf2dbSWadim Egorov		 216000  900000
147bafcf2dbSWadim Egorov		 126000  900000
148bafcf2dbSWadim Egorov	>;
149bafcf2dbSWadim Egorov};
150bafcf2dbSWadim Egorov
151bafcf2dbSWadim Egorov&emmc {
152bafcf2dbSWadim Egorov	status = "okay";
153bafcf2dbSWadim Egorov	u-boot,dm-pre-reloc;
154bafcf2dbSWadim Egorov
155bafcf2dbSWadim Egorov	bus-width = <8>;
156bafcf2dbSWadim Egorov	cap-mmc-highspeed;
157bafcf2dbSWadim Egorov	disable-wp;
158bafcf2dbSWadim Egorov	non-removable;
159bafcf2dbSWadim Egorov	num-slots = <1>;
160bafcf2dbSWadim Egorov	pinctrl-names = "default";
161bafcf2dbSWadim Egorov	pinctrl-0 = <&emmc_clk &emmc_cmd &emmc_pwr &emmc_bus8>;
162bafcf2dbSWadim Egorov	vmmc-supply = <&vdd_3v3_io>;
163bafcf2dbSWadim Egorov	vqmmc-supply = <&vdd_emmc_io>;
164bafcf2dbSWadim Egorov};
165bafcf2dbSWadim Egorov
166bafcf2dbSWadim Egorov&gmac {
167bafcf2dbSWadim Egorov	assigned-clocks = <&cru SCLK_MAC>;
168bafcf2dbSWadim Egorov	assigned-clock-parents = <&ext_gmac>;
169bafcf2dbSWadim Egorov	clock_in_out = "input";
170bafcf2dbSWadim Egorov	pinctrl-names = "default";
171bafcf2dbSWadim Egorov	pinctrl-0 = <&rgmii_pins &phy_rst &phy_int>;
172bafcf2dbSWadim Egorov	phy-handle = <&phy0>;
173bafcf2dbSWadim Egorov	phy-supply = <&vdd_eth_2v5>;
174bafcf2dbSWadim Egorov	phy-mode = "rgmii-id";
175bafcf2dbSWadim Egorov	snps,reset-active-low;
176bafcf2dbSWadim Egorov	snps,reset-delays-us = <0 10000 1000000>;
177bafcf2dbSWadim Egorov	snps,reset-gpio = <&gpio4 8 GPIO_ACTIVE_HIGH>;
178bafcf2dbSWadim Egorov	tx_delay = <0x0>;
179bafcf2dbSWadim Egorov	rx_delay = <0x0>;
180bafcf2dbSWadim Egorov
181bafcf2dbSWadim Egorov	mdio0 {
182bafcf2dbSWadim Egorov		compatible = "snps,dwmac-mdio";
183bafcf2dbSWadim Egorov		#address-cells = <1>;
184bafcf2dbSWadim Egorov		#size-cells = <0>;
185bafcf2dbSWadim Egorov
186bafcf2dbSWadim Egorov		phy0: ethernet-phy@0 {
187bafcf2dbSWadim Egorov			compatible = "ethernet-phy-ieee802.3-c22";
188bafcf2dbSWadim Egorov			reg = <0>;
189bafcf2dbSWadim Egorov			interrupt-parent = <&gpio4>;
190bafcf2dbSWadim Egorov			interrupts = <2 IRQ_TYPE_EDGE_FALLING>;
191bafcf2dbSWadim Egorov			ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>;
192bafcf2dbSWadim Egorov			ti,tx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>;
193bafcf2dbSWadim Egorov			ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
194bafcf2dbSWadim Egorov			enet-phy-lane-no-swap;
195bafcf2dbSWadim Egorov		};
196bafcf2dbSWadim Egorov	};
197bafcf2dbSWadim Egorov};
198bafcf2dbSWadim Egorov
199bafcf2dbSWadim Egorov&hdmi {
200bafcf2dbSWadim Egorov	ddc-i2c-bus = <&i2c5>;
201bafcf2dbSWadim Egorov};
202bafcf2dbSWadim Egorov
203bafcf2dbSWadim Egorov&i2c0 {
204bafcf2dbSWadim Egorov	status = "okay";
205bafcf2dbSWadim Egorov	u-boot,dm-pre-reloc;
206bafcf2dbSWadim Egorov
207bafcf2dbSWadim Egorov	clock-frequency = <400000>;
208bafcf2dbSWadim Egorov
209bafcf2dbSWadim Egorov	rk818: pmic@1c {
210bafcf2dbSWadim Egorov		status = "okay";
211bafcf2dbSWadim Egorov		compatible = "rockchip,rk818";
212bafcf2dbSWadim Egorov		reg = <0x1c>;
213bafcf2dbSWadim Egorov		interrupt-parent = <&gpio0>;
214bafcf2dbSWadim Egorov		interrupts = <4 IRQ_TYPE_LEVEL_LOW>;
215bafcf2dbSWadim Egorov		pinctrl-names = "default";
216bafcf2dbSWadim Egorov		pinctrl-0 = <&pmic_int>;
217bafcf2dbSWadim Egorov		rockchip,system-power-controller;
218bafcf2dbSWadim Egorov		wakeup-source;
219bafcf2dbSWadim Egorov		#clock-cells = <1>;
220bafcf2dbSWadim Egorov		u-boot,dm-pre-reloc;
221bafcf2dbSWadim Egorov
222bafcf2dbSWadim Egorov		vcc1-supply = <&vdd_sys>;
223bafcf2dbSWadim Egorov		vcc2-supply = <&vdd_sys>;
224bafcf2dbSWadim Egorov		vcc3-supply = <&vdd_sys>;
225bafcf2dbSWadim Egorov		vcc4-supply = <&vdd_sys>;
226bafcf2dbSWadim Egorov		boost-supply = <&vdd_in_otg_out>;
227bafcf2dbSWadim Egorov		vcc6-supply = <&vdd_sys>;
228bafcf2dbSWadim Egorov		vcc7-supply = <&vdd_misc_1v8>;
229bafcf2dbSWadim Egorov		vcc8-supply = <&vdd_misc_1v8>;
230bafcf2dbSWadim Egorov		vcc9-supply = <&vdd_3v3_io>;
231bafcf2dbSWadim Egorov		vddio-supply = <&vdd_3v3_io>;
232bafcf2dbSWadim Egorov
233bafcf2dbSWadim Egorov		regulators {
234bafcf2dbSWadim Egorov			u-boot,dm-pre-reloc;
235bafcf2dbSWadim Egorov			vdd_log: DCDC_REG1 {
236bafcf2dbSWadim Egorov				regulator-name = "vdd_log";
237bafcf2dbSWadim Egorov				regulator-always-on;
238bafcf2dbSWadim Egorov				regulator-boot-on;
239bafcf2dbSWadim Egorov				regulator-min-microvolt = <1100000>;
240bafcf2dbSWadim Egorov				regulator-max-microvolt = <1100000>;
241bafcf2dbSWadim Egorov				regulator-state-mem {
242bafcf2dbSWadim Egorov					regulator-off-in-suspend;
243bafcf2dbSWadim Egorov				};
244bafcf2dbSWadim Egorov			};
245bafcf2dbSWadim Egorov
246bafcf2dbSWadim Egorov			vdd_gpu: DCDC_REG2 {
247bafcf2dbSWadim Egorov				regulator-name = "vdd_gpu";
248bafcf2dbSWadim Egorov				regulator-always-on;
249bafcf2dbSWadim Egorov				regulator-boot-on;
250bafcf2dbSWadim Egorov				regulator-min-microvolt = <800000>;
251bafcf2dbSWadim Egorov				regulator-max-microvolt = <1250000>;
252bafcf2dbSWadim Egorov				regulator-state-mem {
253bafcf2dbSWadim Egorov					regulator-on-in-suspend;
254bafcf2dbSWadim Egorov					regulator-suspend-microvolt = <1000000>;
255bafcf2dbSWadim Egorov				};
256bafcf2dbSWadim Egorov			};
257bafcf2dbSWadim Egorov
258bafcf2dbSWadim Egorov			vcc_ddr: DCDC_REG3 {
259bafcf2dbSWadim Egorov				regulator-name = "vcc_ddr";
260bafcf2dbSWadim Egorov				regulator-always-on;
261bafcf2dbSWadim Egorov				regulator-boot-on;
262bafcf2dbSWadim Egorov				regulator-state-mem {
263bafcf2dbSWadim Egorov					regulator-on-in-suspend;
264bafcf2dbSWadim Egorov				};
265bafcf2dbSWadim Egorov			};
266bafcf2dbSWadim Egorov
267bafcf2dbSWadim Egorov			vdd_3v3_io: DCDC_REG4 {
268bafcf2dbSWadim Egorov				regulator-name = "vdd_3v3_io";
269bafcf2dbSWadim Egorov				regulator-always-on;
270bafcf2dbSWadim Egorov				regulator-boot-on;
271bafcf2dbSWadim Egorov				regulator-min-microvolt = <3300000>;
272bafcf2dbSWadim Egorov				regulator-max-microvolt = <3300000>;
273bafcf2dbSWadim Egorov				regulator-state-mem {
274bafcf2dbSWadim Egorov					regulator-on-in-suspend;
275bafcf2dbSWadim Egorov					regulator-suspend-microvolt = <3300000>;
276bafcf2dbSWadim Egorov				};
277bafcf2dbSWadim Egorov			};
278bafcf2dbSWadim Egorov
279bafcf2dbSWadim Egorov			vdd_sys: DCDC_BOOST {
280bafcf2dbSWadim Egorov				regulator-name = "vdd_sys";
281bafcf2dbSWadim Egorov				regulator-always-on;
282bafcf2dbSWadim Egorov				regulator-boot-on;
283bafcf2dbSWadim Egorov				regulator-min-microvolt = <5000000>;
284bafcf2dbSWadim Egorov				regulator-max-microvolt = <5000000>;
285bafcf2dbSWadim Egorov				regulator-state-mem {
286bafcf2dbSWadim Egorov					regulator-on-in-suspend;
287bafcf2dbSWadim Egorov					regulator-suspend-microvolt = <5000000>;
288bafcf2dbSWadim Egorov				};
289bafcf2dbSWadim Egorov			};
290bafcf2dbSWadim Egorov
291bafcf2dbSWadim Egorov			/* vcc9 */
292bafcf2dbSWadim Egorov			vdd_sd: SWITCH_REG {
293bafcf2dbSWadim Egorov				regulator-name = "vdd_sd";
294bafcf2dbSWadim Egorov				regulator-always-on;
295bafcf2dbSWadim Egorov				regulator-boot-on;
296bafcf2dbSWadim Egorov				regulator-state-mem {
297bafcf2dbSWadim Egorov					regulator-off-in-suspend;
298bafcf2dbSWadim Egorov				};
299bafcf2dbSWadim Egorov			};
300bafcf2dbSWadim Egorov
301bafcf2dbSWadim Egorov			/* vcc6 */
302bafcf2dbSWadim Egorov			vdd_eth_2v5: LDO_REG2 {
303bafcf2dbSWadim Egorov				regulator-name = "vdd_eth_2v5";
304bafcf2dbSWadim Egorov				regulator-always-on;
305bafcf2dbSWadim Egorov				regulator-boot-on;
306bafcf2dbSWadim Egorov				regulator-min-microvolt = <2500000>;
307bafcf2dbSWadim Egorov				regulator-max-microvolt = <2500000>;
308bafcf2dbSWadim Egorov				regulator-state-mem {
309bafcf2dbSWadim Egorov					regulator-on-in-suspend;
310bafcf2dbSWadim Egorov					regulator-suspend-microvolt = <2500000>;
311bafcf2dbSWadim Egorov				};
312bafcf2dbSWadim Egorov			};
313bafcf2dbSWadim Egorov
314bafcf2dbSWadim Egorov			/* vcc7 */
315bafcf2dbSWadim Egorov			vdd_1v0: LDO_REG3 {
316bafcf2dbSWadim Egorov				regulator-name = "vdd_1v0";
317bafcf2dbSWadim Egorov				regulator-always-on;
318bafcf2dbSWadim Egorov				regulator-boot-on;
319bafcf2dbSWadim Egorov				regulator-min-microvolt = <1000000>;
320bafcf2dbSWadim Egorov				regulator-max-microvolt = <1000000>;
321bafcf2dbSWadim Egorov				regulator-state-mem {
322bafcf2dbSWadim Egorov					regulator-on-in-suspend;
323bafcf2dbSWadim Egorov					regulator-suspend-microvolt = <1000000>;
324bafcf2dbSWadim Egorov				};
325bafcf2dbSWadim Egorov			};
326bafcf2dbSWadim Egorov
327bafcf2dbSWadim Egorov			/* vcc8 */
328bafcf2dbSWadim Egorov			vdd_1v8_lcd_ldo: LDO_REG4 {
329bafcf2dbSWadim Egorov				regulator-name = "vdd_1v8_lcd_ldo";
330bafcf2dbSWadim Egorov				regulator-always-on;
331bafcf2dbSWadim Egorov				regulator-boot-on;
332bafcf2dbSWadim Egorov				regulator-min-microvolt = <1800000>;
333bafcf2dbSWadim Egorov				regulator-max-microvolt = <1800000>;
334bafcf2dbSWadim Egorov				regulator-state-mem {
335bafcf2dbSWadim Egorov					regulator-on-in-suspend;
336bafcf2dbSWadim Egorov					regulator-suspend-microvolt = <1800000>;
337bafcf2dbSWadim Egorov				};
338bafcf2dbSWadim Egorov			};
339bafcf2dbSWadim Egorov
340bafcf2dbSWadim Egorov			/* vcc8 */
341bafcf2dbSWadim Egorov			vdd_1v0_lcd: LDO_REG6 {
342bafcf2dbSWadim Egorov				regulator-name = "vdd_1v0_lcd";
343bafcf2dbSWadim Egorov				regulator-always-on;
344bafcf2dbSWadim Egorov				regulator-boot-on;
345bafcf2dbSWadim Egorov				regulator-min-microvolt = <1000000>;
346bafcf2dbSWadim Egorov				regulator-max-microvolt = <1000000>;
347bafcf2dbSWadim Egorov				regulator-state-mem {
348bafcf2dbSWadim Egorov					regulator-on-in-suspend;
349bafcf2dbSWadim Egorov					regulator-suspend-microvolt = <1000000>;
350bafcf2dbSWadim Egorov				};
351bafcf2dbSWadim Egorov			};
352bafcf2dbSWadim Egorov
353bafcf2dbSWadim Egorov			/* vcc7 */
354bafcf2dbSWadim Egorov			vdd_1v8_ldo: LDO_REG7 {
355bafcf2dbSWadim Egorov				regulator-name = "vdd_1v8_ldo";
356bafcf2dbSWadim Egorov				regulator-always-on;
357bafcf2dbSWadim Egorov				regulator-boot-on;
358bafcf2dbSWadim Egorov				regulator-min-microvolt = <1800000>;
359bafcf2dbSWadim Egorov				regulator-max-microvolt = <1800000>;
360bafcf2dbSWadim Egorov				regulator-state-mem {
361bafcf2dbSWadim Egorov					regulator-off-in-suspend;
362bafcf2dbSWadim Egorov					regulator-suspend-microvolt = <1800000>;
363bafcf2dbSWadim Egorov				};
364bafcf2dbSWadim Egorov			};
365bafcf2dbSWadim Egorov
366bafcf2dbSWadim Egorov			/* vcc9 */
367bafcf2dbSWadim Egorov			vdd_io_sd: LDO_REG9 {
368bafcf2dbSWadim Egorov				regulator-name = "vdd_io_sd";
369bafcf2dbSWadim Egorov				regulator-always-on;
370bafcf2dbSWadim Egorov				regulator-boot-on;
371bafcf2dbSWadim Egorov				regulator-min-microvolt = <3300000>;
372bafcf2dbSWadim Egorov				regulator-max-microvolt = <3300000>;
373bafcf2dbSWadim Egorov				regulator-state-mem {
374bafcf2dbSWadim Egorov					regulator-on-in-suspend;
375bafcf2dbSWadim Egorov					regulator-suspend-microvolt = <3300000>;
376bafcf2dbSWadim Egorov				};
377bafcf2dbSWadim Egorov			};
378bafcf2dbSWadim Egorov		};
379bafcf2dbSWadim Egorov	};
380bafcf2dbSWadim Egorov
381bafcf2dbSWadim Egorov	/* M24C32-D */
382bafcf2dbSWadim Egorov	i2c_eeprom: eeprom@50 {
383bafcf2dbSWadim Egorov		compatible = "atmel,24c32";
384bafcf2dbSWadim Egorov		reg = <0x50>;
385bafcf2dbSWadim Egorov		pagesize = <32>;
386bafcf2dbSWadim Egorov	};
387bafcf2dbSWadim Egorov
388c03635c3SWadim Egorov	/* M24C32-D Identification page */
389c03635c3SWadim Egorov	i2c_eeprom_id: eeprom@58 {
390c03635c3SWadim Egorov		compatible = "atmel,24c32";
391c03635c3SWadim Egorov		reg = <0x58>;
392c03635c3SWadim Egorov		pagesize = <32>;
393c03635c3SWadim Egorov	};
394c03635c3SWadim Egorov
395bafcf2dbSWadim Egorov	vdd_cpu: regulator@60 {
396bafcf2dbSWadim Egorov		compatible = "fcs,fan53555";
397bafcf2dbSWadim Egorov		reg = <0x60>;
398bafcf2dbSWadim Egorov		fcs,suspend-voltage-selector = <1>;
399bafcf2dbSWadim Egorov		regulator-always-on;
400bafcf2dbSWadim Egorov		regulator-boot-on;
401bafcf2dbSWadim Egorov		regulator-enable-ramp-delay = <300>;
402bafcf2dbSWadim Egorov		regulator-name = "vdd_cpu";
403bafcf2dbSWadim Egorov		regulator-min-microvolt = <800000>;
404bafcf2dbSWadim Egorov		regulator-max-microvolt = <1430000>;
405bafcf2dbSWadim Egorov		regulator-ramp-delay = <8000>;
406bafcf2dbSWadim Egorov		vin-supply = <&vdd_sys>;
407bafcf2dbSWadim Egorov	};
408bafcf2dbSWadim Egorov};
409bafcf2dbSWadim Egorov
410bafcf2dbSWadim Egorov&pinctrl {
411bafcf2dbSWadim Egorov	pcfg_output_high: pcfg-output-high {
412bafcf2dbSWadim Egorov		output-high;
413bafcf2dbSWadim Egorov	};
414bafcf2dbSWadim Egorov
415bafcf2dbSWadim Egorov	emmc {
416bafcf2dbSWadim Egorov		/*
417bafcf2dbSWadim Egorov		 * We run eMMC at max speed; bump up drive strength.
418bafcf2dbSWadim Egorov		 * We also have external pulls, so disable the internal ones.
419bafcf2dbSWadim Egorov		 */
420bafcf2dbSWadim Egorov		emmc_clk: emmc-clk {
421bafcf2dbSWadim Egorov			rockchip,pins = <3 18 RK_FUNC_2 &pcfg_pull_none_12ma>;
422bafcf2dbSWadim Egorov		};
423bafcf2dbSWadim Egorov
424bafcf2dbSWadim Egorov		emmc_cmd: emmc-cmd {
425bafcf2dbSWadim Egorov			rockchip,pins = <3 16 RK_FUNC_2 &pcfg_pull_none_12ma>;
426bafcf2dbSWadim Egorov		};
427bafcf2dbSWadim Egorov
428bafcf2dbSWadim Egorov		emmc_bus8: emmc-bus8 {
429bafcf2dbSWadim Egorov			rockchip,pins = <3 0 RK_FUNC_2 &pcfg_pull_none_12ma>,
430bafcf2dbSWadim Egorov					<3 1 RK_FUNC_2 &pcfg_pull_none_12ma>,
431bafcf2dbSWadim Egorov					<3 2 RK_FUNC_2 &pcfg_pull_none_12ma>,
432bafcf2dbSWadim Egorov					<3 3 RK_FUNC_2 &pcfg_pull_none_12ma>,
433bafcf2dbSWadim Egorov					<3 4 RK_FUNC_2 &pcfg_pull_none_12ma>,
434bafcf2dbSWadim Egorov					<3 5 RK_FUNC_2 &pcfg_pull_none_12ma>,
435bafcf2dbSWadim Egorov					<3 6 RK_FUNC_2 &pcfg_pull_none_12ma>,
436bafcf2dbSWadim Egorov					<3 7 RK_FUNC_2 &pcfg_pull_none_12ma>;
437bafcf2dbSWadim Egorov		};
438bafcf2dbSWadim Egorov	};
439bafcf2dbSWadim Egorov
440bafcf2dbSWadim Egorov	gmac {
441bafcf2dbSWadim Egorov		phy_int: phy-int {
442bafcf2dbSWadim Egorov			rockchip,pins = <4 2 RK_FUNC_GPIO &pcfg_pull_up>;
443bafcf2dbSWadim Egorov		};
444bafcf2dbSWadim Egorov
445bafcf2dbSWadim Egorov		phy_rst: phy-rst {
446bafcf2dbSWadim Egorov			rockchip,pins = <4 8 RK_FUNC_GPIO &pcfg_output_high>;
447bafcf2dbSWadim Egorov		};
448bafcf2dbSWadim Egorov	};
449bafcf2dbSWadim Egorov
450bafcf2dbSWadim Egorov	leds {
451bafcf2dbSWadim Egorov		user_led: user-led {
452bafcf2dbSWadim Egorov			rockchip,pins = <7 2 RK_FUNC_GPIO &pcfg_output_high>;
453bafcf2dbSWadim Egorov		};
454bafcf2dbSWadim Egorov	};
455bafcf2dbSWadim Egorov
456bafcf2dbSWadim Egorov	pmic {
457bafcf2dbSWadim Egorov		pmic_int: pmic-int {
458bafcf2dbSWadim Egorov			rockchip,pins = <RK_GPIO0 4 RK_FUNC_GPIO &pcfg_pull_up>;
459bafcf2dbSWadim Egorov		};
460bafcf2dbSWadim Egorov
461bafcf2dbSWadim Egorov		/* Pin for switching state between sleep and non-sleep state */
462bafcf2dbSWadim Egorov		pmic_sleep: pmic-sleep {
463bafcf2dbSWadim Egorov			rockchip,pins = <RK_GPIO0 0 RK_FUNC_GPIO &pcfg_pull_up>;
464bafcf2dbSWadim Egorov		};
465bafcf2dbSWadim Egorov	};
466bafcf2dbSWadim Egorov};
467bafcf2dbSWadim Egorov
468bafcf2dbSWadim Egorov&pwm1 {
469bafcf2dbSWadim Egorov	status = "okay";
470bafcf2dbSWadim Egorov};
471bafcf2dbSWadim Egorov
472bafcf2dbSWadim Egorov&saradc {
473bafcf2dbSWadim Egorov	status = "okay";
474bafcf2dbSWadim Egorov	vref-supply = <&vdd_1v8_ldo>;
475bafcf2dbSWadim Egorov};
476bafcf2dbSWadim Egorov
477bafcf2dbSWadim Egorov&spi2 {
478bafcf2dbSWadim Egorov	status = "okay";
479bafcf2dbSWadim Egorov
480bafcf2dbSWadim Egorov	serial_flash: flash@0 {
481bafcf2dbSWadim Egorov		compatible = "micron,n25q128a13", "jedec,spi-nor";
482bafcf2dbSWadim Egorov		reg = <0x0>;
483bafcf2dbSWadim Egorov		spi-max-frequency = <50000000>;
484bafcf2dbSWadim Egorov		m25p,fast-read;
485bafcf2dbSWadim Egorov		#address-cells = <1>;
486bafcf2dbSWadim Egorov		#size-cells = <1>;
487bafcf2dbSWadim Egorov		status = "okay";
488bafcf2dbSWadim Egorov	};
489bafcf2dbSWadim Egorov};
490bafcf2dbSWadim Egorov
491bafcf2dbSWadim Egorov&tsadc {
492bafcf2dbSWadim Egorov	status = "okay";
493bafcf2dbSWadim Egorov	rockchip,hw-tshut-mode = <0>;
494bafcf2dbSWadim Egorov	rockchip,hw-tshut-polarity = <0>;
495bafcf2dbSWadim Egorov};
496bafcf2dbSWadim Egorov
497bafcf2dbSWadim Egorov&vopb {
498bafcf2dbSWadim Egorov	status = "okay";
499bafcf2dbSWadim Egorov};
500bafcf2dbSWadim Egorov
501bafcf2dbSWadim Egorov&vopb_mmu {
502bafcf2dbSWadim Egorov	status = "okay";
503bafcf2dbSWadim Egorov};
504bafcf2dbSWadim Egorov
505bafcf2dbSWadim Egorov&vopl {
506bafcf2dbSWadim Egorov	status = "okay";
507bafcf2dbSWadim Egorov};
508bafcf2dbSWadim Egorov
509bafcf2dbSWadim Egorov&vopl_mmu {
510bafcf2dbSWadim Egorov	status = "okay";
511bafcf2dbSWadim Egorov};
512bafcf2dbSWadim Egorov
513bafcf2dbSWadim Egorov&wdt {
514bafcf2dbSWadim Egorov	status = "okay";
515bafcf2dbSWadim Egorov};
516