• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1/*
2 * Copyright (c) 2014 Romain Perier <romain.perier@gmail.com>
3 *
4 * This file is dual-licensed: you can use it either under the terms
5 * of the GPL or the X11 license, at your option. Note that this dual
6 * licensing only applies to this file, and not this project as a
7 * whole.
8 *
9 *  a) This file is free software; you can redistribute it and/or
10 *     modify it under the terms of the GNU General Public License as
11 *     published by the Free Software Foundation; either version 2 of the
12 *     License, or (at your option) any later version.
13 *
14 *     This file is distributed in the hope that it will be useful,
15 *     but WITHOUT ANY WARRANTY; without even the implied warranty of
16 *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17 *     GNU General Public License for more details.
18 *
19 * Or, alternatively,
20 *
21 *  b) Permission is hereby granted, free of charge, to any person
22 *     obtaining a copy of this software and associated documentation
23 *     files (the "Software"), to deal in the Software without
24 *     restriction, including without limitation the rights to use,
25 *     copy, modify, merge, publish, distribute, sublicense, and/or
26 *     sell copies of the Software, and to permit persons to whom the
27 *     Software is furnished to do so, subject to the following
28 *     conditions:
29 *
30 *     The above copyright notice and this permission notice shall be
31 *     included in all copies or substantial portions of the Software.
32 *
33 *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
34 *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
35 *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
36 *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
37 *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
38 *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
39 *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
40 *     OTHER DEALINGS IN THE SOFTWARE.
41 */
42
43/dts-v1/;
44#include "rk3066a.dtsi"
45
46/ {
47	model = "MarsBoard RK3066";
48	compatible = "haoyu,marsboard-rk3066", "rockchip,rk3066a";
49
50	memory {
51		device_type = "memory";
52		reg = <0x60000000 0x40000000>;
53	};
54
55	vdd_log: vdd-log {
56		compatible = "pwm-regulator";
57		pwms = <&pwm3 0 1000>;
58		regulator-name = "vdd_log";
59		regulator-min-microvolt = <1200000>;
60		regulator-max-microvolt = <1200000>;
61		regulator-always-on;
62		voltage-table = <1000000 100>,
63				<1200000 42>;
64		status = "okay";
65	};
66
67	vcc_sd0: sdmmc-regulator {
68		compatible = "regulator-fixed";
69		regulator-name = "sdmmc-supply";
70		regulator-min-microvolt = <3000000>;
71		regulator-max-microvolt = <3000000>;
72		gpio = <&gpio3 7 GPIO_ACTIVE_LOW>;
73		startup-delay-us = <100000>;
74		vin-supply = <&vcc_io>;
75	};
76
77	vsys: vsys-regulator {
78		compatible = "regulator-fixed";
79		regulator-name = "vsys";
80		regulator-min-microvolt = <5000000>;
81		regulator-max-microvolt = <5000000>;
82		regulator-boot-on;
83	};
84};
85
86&i2c1 {
87	status = "okay";
88	clock-frequency = <400000>;
89
90	tps: tps@2d {
91		reg = <0x2d>;
92
93		interrupt-parent = <&gpio6>;
94		interrupts = <4 IRQ_TYPE_LEVEL_LOW>;
95
96		vcc1-supply = <&vsys>;
97		vcc2-supply = <&vsys>;
98		vcc3-supply = <&vsys>;
99		vcc4-supply = <&vsys>;
100		vcc5-supply = <&vcc_io>;
101		vcc6-supply = <&vcc_io>;
102		vcc7-supply = <&vsys>;
103		vccio-supply = <&vsys>;
104
105		regulators {
106			vcc_rtc: regulator@0 {
107				regulator-name = "vcc_rtc";
108				regulator-always-on;
109			};
110
111			vcc_io: regulator@1 {
112				regulator-name = "vcc_io";
113				regulator-always-on;
114			};
115
116			vdd_arm: regulator@2 {
117				regulator-name = "vdd_arm";
118				regulator-min-microvolt = <600000>;
119				regulator-max-microvolt = <1500000>;
120				regulator-boot-on;
121				regulator-always-on;
122			};
123
124			vcc_ddr: regulator@3 {
125				regulator-name = "vcc_ddr";
126				regulator-min-microvolt = <600000>;
127				regulator-max-microvolt = <1500000>;
128				regulator-boot-on;
129				regulator-always-on;
130			};
131
132			vcc18_cif: regulator@5 {
133				regulator-name = "vcc18_cif";
134				regulator-always-on;
135			};
136
137			vdd_11: regulator@6 {
138				regulator-name = "vdd_11";
139				regulator-always-on;
140			};
141
142			vcc_25: regulator@7 {
143				regulator-name = "vcc_25";
144				regulator-always-on;
145			};
146
147			vcc_18: regulator@8 {
148				regulator-name = "vcc_18";
149				regulator-always-on;
150			};
151
152			vcc25_hdmi: regulator@9 {
153				regulator-name = "vcc25_hdmi";
154				regulator-always-on;
155			};
156
157			vcca_33: regulator@10 {
158				regulator-name = "vcca_33";
159				regulator-always-on;
160			};
161
162			vcc_rmii: regulator@11 {
163				regulator-name = "vcc_rmii";
164			};
165
166			vcc28_cif: regulator@12 {
167				regulator-name = "vcc28_cif";
168				regulator-always-on;
169			};
170		};
171	};
172};
173
174/* must be included after &tps gets defined */
175#include "tps65910.dtsi"
176
177&emac {
178	status = "okay";
179
180	phy = <&phy0>;
181	phy-supply = <&vcc_rmii>;
182
183	pinctrl-names = "default";
184	pinctrl-0 = <&emac_xfer>, <&emac_mdio>, <&phy_int>;
185
186	phy0: ethernet-phy@0 {
187		reg = <0>;
188		interrupt-parent = <&gpio1>;
189		interrupts = <26 IRQ_TYPE_LEVEL_LOW>;
190	};
191};
192
193&mmc0 {
194	status = "okay";
195
196	pinctrl-names = "default";
197	pinctrl-0 = <&sd0_clk>, <&sd0_cmd>, <&sd0_cd>, <&sd0_bus4>;
198	vmmc-supply = <&vcc_sd0>;
199};
200
201&pinctrl {
202	lan8720a {
203		phy_int: phy-int {
204			rockchip,pins = <RK_GPIO1 26 RK_FUNC_GPIO &pcfg_pull_none>;
205		};
206	};
207};
208
209&pwm3 {
210	status = "okay";
211};
212
213&uart0 {
214	status = "okay";
215};
216
217&uart1 {
218	status = "okay";
219};
220
221&uart2 {
222	status = "okay";
223};
224
225&uart3 {
226	status = "okay";
227};
228
229&usbphy {
230	status = "okay";
231};
232
233&usb_host {
234	status = "okay";
235};
236
237&usb_otg {
238	status = "okay";
239};
240
241&wdt {
242	status = "okay";
243};
244