1/*
2 * Copyright (C) 2012 Marek Vasut <marex@denx.de>
3 *
4 * The code contained herein is licensed under the GNU General Public
5 * License. You may obtain a copy of the GNU General Public License
6 * Version 2 or later at the following locations:
7 *
8 * http://www.opensource.org/licenses/gpl-license.html
9 * http://www.gnu.org/copyleft/gpl.html
10 */
11
12/dts-v1/;
13#include "imx28-m28.dtsi"
14
15/ {
16	model = "Aries/DENX M28EVK";
17	compatible = "aries,m28evk", "denx,m28evk", "fsl,imx28";
18
19	apb@80000000 {
20		apbh@80000000 {
21			ssp0: ssp@80010000 {
22				compatible = "fsl,imx28-mmc";
23				pinctrl-names = "default";
24				pinctrl-0 = <&mmc0_8bit_pins_a
25					     &mmc0_cd_cfg
26					     &mmc0_sck_cfg>;
27				bus-width = <8>;
28				wp-gpios = <&gpio3 10 0>;
29				vmmc-supply = <&reg_vddio_sd0>;
30				status = "okay";
31			};
32
33			ssp2: ssp@80014000 {
34				#address-cells = <1>;
35				#size-cells = <0>;
36				compatible = "fsl,imx28-spi";
37				pinctrl-names = "default";
38				pinctrl-0 = <&spi2_pins_a>;
39				status = "okay";
40
41				flash: m25p80@0 {
42					#address-cells = <1>;
43					#size-cells = <1>;
44					compatible = "m25p80", "jedec,spi-nor";
45					spi-max-frequency = <40000000>;
46					reg = <0>;
47				};
48			};
49
50			pinctrl@80018000 {
51				pinctrl-names = "default";
52				pinctrl-0 = <&hog_pins_a>;
53
54				hog_pins_a: hog@0 {
55					reg = <0>;
56					fsl,pinmux-ids = <
57						MX28_PAD_PWM3__GPIO_3_28
58						MX28_PAD_AUART2_CTS__GPIO_3_10
59						MX28_PAD_AUART2_RTS__GPIO_3_11
60						MX28_PAD_AUART3_RX__GPIO_3_12
61						MX28_PAD_AUART3_TX__GPIO_3_13
62					>;
63					fsl,drive-strength = <MXS_DRIVE_4mA>;
64					fsl,voltage = <MXS_VOLTAGE_HIGH>;
65					fsl,pull-up = <MXS_PULL_DISABLE>;
66				};
67
68				lcdif_pins_m28: lcdif-m28@0 {
69					reg = <0>;
70					fsl,pinmux-ids = <
71						MX28_PAD_LCD_DOTCLK__LCD_DOTCLK
72						MX28_PAD_LCD_ENABLE__LCD_ENABLE
73					>;
74					fsl,drive-strength = <MXS_DRIVE_4mA>;
75					fsl,voltage = <MXS_VOLTAGE_HIGH>;
76					fsl,pull-up = <MXS_PULL_DISABLE>;
77				};
78			};
79
80			lcdif@80030000 {
81				pinctrl-names = "default";
82				pinctrl-0 = <&lcdif_24bit_pins_a
83					     &lcdif_pins_m28>;
84				display = <&display0>;
85				status = "okay";
86
87				display0: display0 {
88					bits-per-pixel = <16>;
89					bus-width = <18>;
90
91					display-timings {
92						native-mode = <&timing0>;
93						timing0: timing0 {
94							clock-frequency = <33260000>;
95							hactive = <800>;
96							vactive = <480>;
97							hback-porch = <0>;
98							hfront-porch = <256>;
99							vback-porch = <0>;
100							vfront-porch = <45>;
101							hsync-len = <1>;
102							vsync-len = <1>;
103							hsync-active = <0>;
104							vsync-active = <0>;
105							de-active = <1>;
106							pixelclk-active = <1>;
107						};
108					};
109				};
110			};
111
112			can0: can@80032000 {
113				pinctrl-names = "default";
114				pinctrl-0 = <&can0_pins_a>;
115				status = "okay";
116			};
117
118			can1: can@80034000 {
119				pinctrl-names = "default";
120				pinctrl-0 = <&can1_pins_a>;
121				status = "okay";
122			};
123		};
124
125		apbx@80040000 {
126			saif0: saif@80042000 {
127				pinctrl-names = "default";
128				pinctrl-0 = <&saif0_pins_a>;
129				status = "okay";
130			};
131
132			saif1: saif@80046000 {
133				pinctrl-names = "default";
134				pinctrl-0 = <&saif1_pins_a>;
135				fsl,saif-master = <&saif0>;
136				status = "okay";
137			};
138
139			i2c0: i2c@80058000 {
140				sgtl5000: codec@a {
141					compatible = "fsl,sgtl5000";
142					reg = <0x0a>;
143					#sound-dai-cells = <0>;
144					VDDA-supply = <&reg_3p3v>;
145					VDDIO-supply = <&reg_3p3v>;
146					clocks = <&saif0>;
147				};
148
149				eeprom: eeprom@51 {
150					compatible = "atmel,24c128";
151					reg = <0x51>;
152					pagesize = <32>;
153				};
154			};
155
156			lradc@80050000 {
157				status = "okay";
158				fsl,lradc-touchscreen-wires = <4>;
159			};
160
161			duart: serial@80074000 {
162				pinctrl-names = "default";
163				pinctrl-0 = <&duart_pins_a>;
164				status = "okay";
165			};
166
167			usbphy0: usbphy@8007c000 {
168				status = "okay";
169			};
170
171			usbphy1: usbphy@8007e000 {
172				status = "okay";
173			};
174
175			auart0: serial@8006a000 {
176				pinctrl-names = "default";
177				pinctrl-0 = <&auart0_pins_a>;
178				status = "okay";
179			};
180
181			auart1: serial@8006c000 {
182				pinctrl-names = "default";
183				pinctrl-0 = <&auart1_pins_a>;
184				status = "okay";
185			};
186
187			auart2: serial@8006e000 {
188				pinctrl-names = "default";
189				pinctrl-0 = <&auart2_2pins_b>;
190				status = "okay";
191			};
192
193			pwm: pwm@80064000 {
194				pinctrl-names = "default";
195				pinctrl-0 = <&pwm4_pins_a>;
196				status = "okay";
197			};
198		};
199	};
200
201	ahb@80080000 {
202		usb0: usb@80080000 {
203			vbus-supply = <&reg_usb0_vbus>;
204			pinctrl-names = "default";
205			pinctrl-0 = <&usb0_pins_a>;
206			status = "okay";
207		};
208
209		usb1: usb@80090000 {
210			vbus-supply = <&reg_usb1_vbus>;
211			pinctrl-names = "default";
212			pinctrl-0 = <&usb1_pins_a>;
213			status = "okay";
214		};
215
216		mac0: ethernet@800f0000 {
217			phy-mode = "rmii";
218			pinctrl-names = "default";
219			pinctrl-0 = <&mac0_pins_a>;
220			clocks = <&clks 57>, <&clks 57>;
221			clock-names = "ipg", "ahb";
222			status = "okay";
223		};
224
225		mac1: ethernet@800f4000 {
226			phy-mode = "rmii";
227			pinctrl-names = "default";
228			pinctrl-0 = <&mac1_pins_a>;
229			status = "okay";
230		};
231	};
232
233	backlight {
234		compatible = "pwm-backlight";
235		pwms = <&pwm 4 5000000>;
236		brightness-levels = <0 4 8 16 32 64 128 255>;
237		default-brightness-level = <6>;
238	};
239
240	regulators {
241		reg_vddio_sd0: regulator@1 {
242			compatible = "regulator-fixed";
243			reg = <1>;
244			regulator-name = "vddio-sd0";
245			regulator-min-microvolt = <3300000>;
246			regulator-max-microvolt = <3300000>;
247			gpio = <&gpio3 28 0>;
248		};
249
250		reg_usb0_vbus: regulator@2 {
251			compatible = "regulator-fixed";
252			reg = <2>;
253			regulator-name = "usb0_vbus";
254			regulator-min-microvolt = <5000000>;
255			regulator-max-microvolt = <5000000>;
256			gpio = <&gpio3 12 0>;
257		};
258
259		reg_usb1_vbus: regulator@3 {
260			compatible = "regulator-fixed";
261			reg = <3>;
262			regulator-name = "usb1_vbus";
263			regulator-min-microvolt = <5000000>;
264			regulator-max-microvolt = <5000000>;
265			gpio = <&gpio3 13 0>;
266		};
267	};
268
269	sound {
270		compatible = "denx,m28evk-sgtl5000",
271			     "fsl,mxs-audio-sgtl5000";
272		model = "m28evk-sgtl5000";
273		saif-controllers = <&saif0 &saif1>;
274		audio-codec = <&sgtl5000>;
275	};
276};
277