1/*
2 * Copyright 2014 Toradex AG
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
11 *     version 2 as published by the Free Software Foundation.
12 *
13 *     This file is distributed in the hope that it will be useful,
14 *     but WITHOUT ANY WARRANTY; without even the implied warranty of
15 *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16 *     GNU General Public License for more details.
17 *
18 * Or, alternatively,
19 *
20 *  b) Permission is hereby granted, free of charge, to any person
21 *     obtaining a copy of this software and associated documentation
22 *     files (the "Software"), to deal in the Software without
23 *     restriction, including without limitation the rights to use,
24 *     copy, modify, merge, publish, distribute, sublicense, and/or
25 *     sell copies of the Software, and to permit persons to whom the
26 *     Software is furnished to do so, subject to the following
27 *     conditions:
28 *
29 *     The above copyright notice and this permission notice shall be
30 *     included in all copies or substantial portions of the Software.
31 *
32 *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
33 *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
34 *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
35 *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
36 *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
37 *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
38 *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
39 *     OTHER DEALINGS IN THE SOFTWARE.
40 */
41
42/ {
43	chosen {
44		stdout-path = "serial0:115200n8";
45	};
46
47	clk16m: clk16m {
48		compatible = "fixed-clock";
49		#clock-cells = <0>;
50		clock-frequency = <16000000>;
51	};
52
53	panel: panel {
54		compatible = "edt,et057090dhu";
55		backlight = <&bl>;
56
57		port {
58			panel_in: endpoint {
59				remote-endpoint = <&dcu_out>;
60			};
61		};
62	};
63
64	reg_3v3: regulator-3v3 {
65		compatible = "regulator-fixed";
66		regulator-name = "3.3V";
67		regulator-min-microvolt = <3300000>;
68		regulator-max-microvolt = <3300000>;
69	};
70
71	reg_5v0: regulator-5v0 {
72		compatible = "regulator-fixed";
73		regulator-name = "5V";
74		regulator-min-microvolt = <5000000>;
75		regulator-max-microvolt = <5000000>;
76	};
77
78	reg_usbh_vbus: regulator-usbh-vbus {
79		compatible = "regulator-fixed";
80		pinctrl-names = "default";
81		pinctrl-0 = <&pinctrl_usbh1_reg>;
82		regulator-name = "VCC_USB[1-4]";
83		regulator-min-microvolt = <5000000>;
84		regulator-max-microvolt = <5000000>;
85		gpio = <&gpio2 19 GPIO_ACTIVE_LOW>; /* USBH_PEN resp. USBH_P_EN */
86		vin-supply = <&reg_5v0>;
87	};
88};
89
90&bl {
91	brightness-levels = <0 4 8 16 32 64 128 255>;
92	default-brightness-level = <6>;
93	power-supply = <&reg_3v3>;
94	status  = "okay";
95};
96
97&dcu0 {
98	pinctrl-names = "default";
99	pinctrl-0 = <&pinctrl_dcu0_1>;
100	status = "okay";
101
102	port {
103		dcu_out: endpoint {
104			remote-endpoint = <&panel_in>;
105		};
106	};
107};
108
109&dspi1 {
110	status = "okay";
111
112	mcp2515can: can@0 {
113		compatible = "microchip,mcp2515";
114		pinctrl-names = "default";
115		pinctrl-0 = <&pinctrl_can_int>;
116		reg = <0>;
117		clocks = <&clk16m>;
118		spi-max-frequency = <10000000>;
119		interrupt-parent = <&gpio1>;
120		interrupts = <11 IRQ_TYPE_EDGE_RISING>;
121	};
122};
123
124&esdhc1 {
125	pinctrl-names = "default";
126	pinctrl-0 = <&pinctrl_esdhc1>;
127	bus-width = <4>;
128	status = "okay";
129};
130
131&fec1 {
132	phy-mode = "rmii";
133	pinctrl-names = "default";
134	pinctrl-0 = <&pinctrl_fec1>;
135	status = "okay";
136};
137
138&i2c0 {
139	status = "okay";
140
141	/* M41T0M6 real time clock on carrier board */
142	rtc: m41t0m6@68 {
143		compatible = "st,m41t0";
144		reg = <0x68>;
145	};
146};
147
148&pwm0 {
149	status = "okay";
150};
151
152&pwm1 {
153	status = "okay";
154};
155
156&reg_module_3v3 {
157	vin-supply = <&reg_3v3>;
158};
159
160&tcon0 {
161	status = "okay";
162};
163
164&uart0 {
165	status = "okay";
166};
167
168&uart1 {
169	status = "okay";
170};
171
172&uart2 {
173	status = "okay";
174};
175
176&usbh1 {
177	vbus-supply = <&reg_usbh_vbus>;
178};
179
180&iomuxc {
181	vf610-colibri {
182		pinctrl_can_int: can_int {
183			fsl,pins = <
184				VF610_PAD_PTB21__GPIO_43	0x22ed
185			>;
186		};
187	};
188};
189