Loading...
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 = <®_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: flash@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 = <®_3p3v>;
140 VDDIO-supply = <®_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 = <®_usb0_vbus>;
199 pinctrl-names = "default";
200 pinctrl-0 = <&usb0_pins_a>;
201 status = "okay";
202 };
203
204 usb1: usb@80090000 {
205 vbus-supply = <®_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};
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.dtsi"
14
15/ {
16 model = "DENX M28EVK";
17 compatible = "denx,m28evk", "fsl,imx28";
18
19 memory {
20 reg = <0x40000000 0x08000000>;
21 };
22
23 apb@80000000 {
24 apbh@80000000 {
25 gpmi-nand@8000c000 {
26 #address-cells = <1>;
27 #size-cells = <1>;
28 pinctrl-names = "default";
29 pinctrl-0 = <&gpmi_pins_a &gpmi_status_cfg>;
30 status = "okay";
31
32 partition@0 {
33 label = "bootloader";
34 reg = <0x00000000 0x00300000>;
35 read-only;
36 };
37
38 partition@1 {
39 label = "environment";
40 reg = <0x00300000 0x00080000>;
41 };
42
43 partition@2 {
44 label = "redundant-environment";
45 reg = <0x00380000 0x00080000>;
46 };
47
48 partition@3 {
49 label = "kernel";
50 reg = <0x00400000 0x00400000>;
51 };
52
53 partition@4 {
54 label = "filesystem";
55 reg = <0x00800000 0x0f800000>;
56 };
57 };
58
59 ssp0: ssp@80010000 {
60 compatible = "fsl,imx28-mmc";
61 pinctrl-names = "default";
62 pinctrl-0 = <&mmc0_8bit_pins_a
63 &mmc0_cd_cfg
64 &mmc0_sck_cfg>;
65 bus-width = <8>;
66 wp-gpios = <&gpio3 10 0>;
67 vmmc-supply = <®_vddio_sd0>;
68 status = "okay";
69 };
70
71 ssp2: ssp@80014000 {
72 #address-cells = <1>;
73 #size-cells = <0>;
74 compatible = "fsl,imx28-spi";
75 pinctrl-names = "default";
76 pinctrl-0 = <&spi2_pins_a>;
77 status = "okay";
78
79 flash: m25p80@0 {
80 #address-cells = <1>;
81 #size-cells = <1>;
82 compatible = "m25p80";
83 spi-max-frequency = <40000000>;
84 reg = <0>;
85 };
86 };
87
88 pinctrl@80018000 {
89 pinctrl-names = "default";
90 pinctrl-0 = <&hog_pins_a>;
91
92 hog_pins_a: hog@0 {
93 reg = <0>;
94 fsl,pinmux-ids = <
95 MX28_PAD_PWM3__GPIO_3_28
96 MX28_PAD_AUART2_CTS__GPIO_3_10
97 MX28_PAD_AUART2_RTS__GPIO_3_11
98 MX28_PAD_AUART3_RX__GPIO_3_12
99 MX28_PAD_AUART3_TX__GPIO_3_13
100 >;
101 fsl,drive-strength = <MXS_DRIVE_4mA>;
102 fsl,voltage = <MXS_VOLTAGE_HIGH>;
103 fsl,pull-up = <MXS_PULL_DISABLE>;
104 };
105
106 lcdif_pins_m28: lcdif-m28@0 {
107 reg = <0>;
108 fsl,pinmux-ids = <
109 MX28_PAD_LCD_DOTCLK__LCD_DOTCLK
110 MX28_PAD_LCD_ENABLE__LCD_ENABLE
111 >;
112 fsl,drive-strength = <MXS_DRIVE_4mA>;
113 fsl,voltage = <MXS_VOLTAGE_HIGH>;
114 fsl,pull-up = <MXS_PULL_DISABLE>;
115 };
116 };
117
118 lcdif@80030000 {
119 pinctrl-names = "default";
120 pinctrl-0 = <&lcdif_24bit_pins_a
121 &lcdif_pins_m28>;
122 display = <&display>;
123 status = "okay";
124
125 display: display {
126 bits-per-pixel = <16>;
127 bus-width = <18>;
128
129 display-timings {
130 native-mode = <&timing0>;
131 timing0: timing0 {
132 clock-frequency = <33260000>;
133 hactive = <800>;
134 vactive = <480>;
135 hback-porch = <0>;
136 hfront-porch = <256>;
137 vback-porch = <0>;
138 vfront-porch = <45>;
139 hsync-len = <1>;
140 vsync-len = <1>;
141 hsync-active = <0>;
142 vsync-active = <0>;
143 de-active = <1>;
144 pixelclk-active = <1>;
145 };
146 };
147 };
148 };
149
150 can0: can@80032000 {
151 pinctrl-names = "default";
152 pinctrl-0 = <&can0_pins_a>;
153 status = "okay";
154 };
155
156 can1: can@80034000 {
157 pinctrl-names = "default";
158 pinctrl-0 = <&can1_pins_a>;
159 status = "okay";
160 };
161 };
162
163 apbx@80040000 {
164 saif0: saif@80042000 {
165 pinctrl-names = "default";
166 pinctrl-0 = <&saif0_pins_a>;
167 status = "okay";
168 };
169
170 saif1: saif@80046000 {
171 pinctrl-names = "default";
172 pinctrl-0 = <&saif1_pins_a>;
173 fsl,saif-master = <&saif0>;
174 status = "okay";
175 };
176
177 i2c0: i2c@80058000 {
178 pinctrl-names = "default";
179 pinctrl-0 = <&i2c0_pins_a>;
180 status = "okay";
181
182 sgtl5000: codec@0a {
183 compatible = "fsl,sgtl5000";
184 reg = <0x0a>;
185 VDDA-supply = <®_3p3v>;
186 VDDIO-supply = <®_3p3v>;
187 clocks = <&saif0>;
188 };
189
190 eeprom: eeprom@51 {
191 compatible = "atmel,24c128";
192 reg = <0x51>;
193 pagesize = <32>;
194 };
195
196 rtc: rtc@68 {
197 compatible = "stm,m41t62";
198 reg = <0x68>;
199 };
200 };
201
202 lradc@80050000 {
203 status = "okay";
204 fsl,lradc-touchscreen-wires = <4>;
205 };
206
207 duart: serial@80074000 {
208 pinctrl-names = "default";
209 pinctrl-0 = <&duart_pins_a>;
210 status = "okay";
211 };
212
213 usbphy0: usbphy@8007c000 {
214 status = "okay";
215 };
216
217 usbphy1: usbphy@8007e000 {
218 status = "okay";
219 };
220
221 auart0: serial@8006a000 {
222 pinctrl-names = "default";
223 pinctrl-0 = <&auart0_pins_a>;
224 status = "okay";
225 };
226
227 auart1: serial@8006c000 {
228 pinctrl-names = "default";
229 pinctrl-0 = <&auart1_pins_a>;
230 status = "okay";
231 };
232
233 auart2: serial@8006e000 {
234 pinctrl-names = "default";
235 pinctrl-0 = <&auart2_2pins_b>;
236 status = "okay";
237 };
238
239 pwm: pwm@80064000 {
240 pinctrl-names = "default";
241 pinctrl-0 = <&pwm4_pins_a>;
242 status = "okay";
243 };
244 };
245 };
246
247 ahb@80080000 {
248 usb0: usb@80080000 {
249 vbus-supply = <®_usb0_vbus>;
250 pinctrl-names = "default";
251 pinctrl-0 = <&usb0_pins_a>;
252 status = "okay";
253 };
254
255 usb1: usb@80090000 {
256 vbus-supply = <®_usb1_vbus>;
257 pinctrl-names = "default";
258 pinctrl-0 = <&usb1_pins_a>;
259 status = "okay";
260 };
261
262 mac0: ethernet@800f0000 {
263 phy-mode = "rmii";
264 pinctrl-names = "default";
265 pinctrl-0 = <&mac0_pins_a>;
266 clocks = <&clks 57>, <&clks 57>;
267 clock-names = "ipg", "ahb";
268 status = "okay";
269 };
270
271 mac1: ethernet@800f4000 {
272 phy-mode = "rmii";
273 pinctrl-names = "default";
274 pinctrl-0 = <&mac1_pins_a>;
275 status = "okay";
276 };
277 };
278
279 backlight {
280 compatible = "pwm-backlight";
281 pwms = <&pwm 4 5000000>;
282 brightness-levels = <0 4 8 16 32 64 128 255>;
283 default-brightness-level = <6>;
284 };
285
286 regulators {
287 compatible = "simple-bus";
288 #address-cells = <1>;
289 #size-cells = <0>;
290
291 reg_3p3v: regulator@0 {
292 compatible = "regulator-fixed";
293 reg = <0>;
294 regulator-name = "3P3V";
295 regulator-min-microvolt = <3300000>;
296 regulator-max-microvolt = <3300000>;
297 regulator-always-on;
298 };
299
300 reg_vddio_sd0: regulator@1 {
301 compatible = "regulator-fixed";
302 reg = <1>;
303 regulator-name = "vddio-sd0";
304 regulator-min-microvolt = <3300000>;
305 regulator-max-microvolt = <3300000>;
306 gpio = <&gpio3 28 0>;
307 };
308
309 reg_usb0_vbus: regulator@2 {
310 compatible = "regulator-fixed";
311 reg = <2>;
312 regulator-name = "usb0_vbus";
313 regulator-min-microvolt = <5000000>;
314 regulator-max-microvolt = <5000000>;
315 gpio = <&gpio3 12 0>;
316 };
317
318 reg_usb1_vbus: regulator@3 {
319 compatible = "regulator-fixed";
320 reg = <3>;
321 regulator-name = "usb1_vbus";
322 regulator-min-microvolt = <5000000>;
323 regulator-max-microvolt = <5000000>;
324 gpio = <&gpio3 13 0>;
325 };
326 };
327
328 sound {
329 compatible = "denx,m28evk-sgtl5000",
330 "fsl,mxs-audio-sgtl5000";
331 model = "m28evk-sgtl5000";
332 saif-controllers = <&saif0 &saif1>;
333 audio-codec = <&sgtl5000>;
334 };
335};