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