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