blob: 8d04e57039bcfcc1126c03db9e9dab588682ae8b [file] [log] [blame]
Marek Vasut8fa62e12012-07-07 21:21:38 +08001/*
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/;
Marek Vasutacb7ea52014-06-25 20:48:33 +020013#include "imx28-m28.dtsi"
Marek Vasut8fa62e12012-07-07 21:21:38 +080014
15/ {
16 model = "DENX M28EVK";
17 compatible = "denx,m28evk", "fsl,imx28";
18
Marek Vasut8fa62e12012-07-07 21:21:38 +080019 apb@80000000 {
20 apbh@80000000 {
Marek Vasut8fa62e12012-07-07 21:21:38 +080021 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>;
Marek Vasutacd3b692012-09-05 04:56:56 +020028 wp-gpios = <&gpio3 10 0>;
Marek Vasut91ed4932012-08-26 14:59:31 +020029 vmmc-supply = <&reg_vddio_sd0>;
Marek Vasut8fa62e12012-07-07 21:21:38 +080030 status = "okay";
31 };
32
Marek Vasut91ed4932012-08-26 14:59:31 +020033 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>;
Rafał Miłecki79826ac2015-08-16 08:39:17 +020044 compatible = "m25p80", "jedec,spi-nor";
Marek Vasut91ed4932012-08-26 14:59:31 +020045 spi-max-frequency = <40000000>;
46 reg = <0>;
47 };
48 };
49
Marek Vasut8fa62e12012-07-07 21:21:38 +080050 pinctrl@80018000 {
51 pinctrl-names = "default";
52 pinctrl-0 = <&hog_pins_a>;
53
Fabio Estevame0e35b42012-08-22 13:25:31 -030054 hog_pins_a: hog@0 {
Marek Vasut8fa62e12012-07-07 21:21:38 +080055 reg = <0>;
56 fsl,pinmux-ids = <
Lothar Waßmannbc3875f2013-09-19 08:59:48 +020057 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
Marek Vasut8fa62e12012-07-07 21:21:38 +080062 >;
Lothar Waßmann4191c342013-09-22 14:02:59 +080063 fsl,drive-strength = <MXS_DRIVE_4mA>;
64 fsl,voltage = <MXS_VOLTAGE_HIGH>;
65 fsl,pull-up = <MXS_PULL_DISABLE>;
Marek Vasut8fa62e12012-07-07 21:21:38 +080066 };
67
68 lcdif_pins_m28: lcdif-m28@0 {
69 reg = <0>;
70 fsl,pinmux-ids = <
Lothar Waßmannbc3875f2013-09-19 08:59:48 +020071 MX28_PAD_LCD_DOTCLK__LCD_DOTCLK
72 MX28_PAD_LCD_ENABLE__LCD_ENABLE
Marek Vasut8fa62e12012-07-07 21:21:38 +080073 >;
Lothar Waßmann4191c342013-09-22 14:02:59 +080074 fsl,drive-strength = <MXS_DRIVE_4mA>;
75 fsl,voltage = <MXS_VOLTAGE_HIGH>;
76 fsl,pull-up = <MXS_PULL_DISABLE>;
Marek Vasut8fa62e12012-07-07 21:21:38 +080077 };
78 };
79
80 lcdif@80030000 {
81 pinctrl-names = "default";
82 pinctrl-0 = <&lcdif_24bit_pins_a
83 &lcdif_pins_m28>;
Fabio Estevam433fb102014-09-04 22:31:23 -030084 display = <&display0>;
Marek Vasut8fa62e12012-07-07 21:21:38 +080085 status = "okay";
Shawn Guo0d9f8212013-03-14 11:37:15 +080086
Fabio Estevam433fb102014-09-04 22:31:23 -030087 display0: display0 {
Shawn Guo0d9f8212013-03-14 11:37:15 +080088 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 };
Marek Vasut8fa62e12012-07-07 21:21:38 +0800110 };
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 {
Marek Vasut8fa62e12012-07-07 21:21:38 +0800140 sgtl5000: codec@0a {
141 compatible = "fsl,sgtl5000";
142 reg = <0x0a>;
143 VDDA-supply = <&reg_3p3v>;
144 VDDIO-supply = <&reg_3p3v>;
Shawn Guo66acaf32013-07-01 15:46:05 +0800145 clocks = <&saif0>;
Marek Vasut8fa62e12012-07-07 21:21:38 +0800146 };
147
148 eeprom: eeprom@51 {
149 compatible = "atmel,24c128";
150 reg = <0x51>;
151 pagesize = <32>;
152 };
Marek Vasut8fa62e12012-07-07 21:21:38 +0800153 };
154
Marek Vasut91ed4932012-08-26 14:59:31 +0200155 lradc@80050000 {
156 status = "okay";
Marek Vasutda021ee2013-01-12 00:35:08 +0100157 fsl,lradc-touchscreen-wires = <4>;
Marek Vasut91ed4932012-08-26 14:59:31 +0200158 };
159
Marek Vasut8fa62e12012-07-07 21:21:38 +0800160 duart: serial@80074000 {
161 pinctrl-names = "default";
162 pinctrl-0 = <&duart_pins_a>;
163 status = "okay";
164 };
165
Marek Vasut91ed4932012-08-26 14:59:31 +0200166 usbphy0: usbphy@8007c000 {
167 status = "okay";
168 };
169
170 usbphy1: usbphy@8007e000 {
171 status = "okay";
172 };
173
Marek Vasut8fa62e12012-07-07 21:21:38 +0800174 auart0: serial@8006a000 {
175 pinctrl-names = "default";
Marek Vasut56924ad2013-05-10 14:26:35 +0200176 pinctrl-0 = <&auart0_pins_a>;
177 status = "okay";
178 };
179
180 auart1: serial@8006c000 {
181 pinctrl-names = "default";
182 pinctrl-0 = <&auart1_pins_a>;
183 status = "okay";
184 };
185
186 auart2: serial@8006e000 {
187 pinctrl-names = "default";
188 pinctrl-0 = <&auart2_2pins_b>;
Marek Vasut8fa62e12012-07-07 21:21:38 +0800189 status = "okay";
190 };
Marek Vasutdb3b9ba2013-07-11 21:30:16 +0200191
192 pwm: pwm@80064000 {
193 pinctrl-names = "default";
194 pinctrl-0 = <&pwm4_pins_a>;
195 status = "okay";
196 };
Marek Vasut8fa62e12012-07-07 21:21:38 +0800197 };
198 };
199
200 ahb@80080000 {
Marek Vasut91ed4932012-08-26 14:59:31 +0200201 usb0: usb@80080000 {
202 vbus-supply = <&reg_usb0_vbus>;
203 pinctrl-names = "default";
Michael Grzeschikc8e42bc2013-12-06 15:56:40 +0100204 pinctrl-0 = <&usb0_pins_a>;
Marek Vasut91ed4932012-08-26 14:59:31 +0200205 status = "okay";
206 };
207
208 usb1: usb@80090000 {
209 vbus-supply = <&reg_usb1_vbus>;
210 pinctrl-names = "default";
Michael Grzeschikc8e42bc2013-12-06 15:56:40 +0100211 pinctrl-0 = <&usb1_pins_a>;
Marek Vasut91ed4932012-08-26 14:59:31 +0200212 status = "okay";
213 };
214
Marek Vasut8fa62e12012-07-07 21:21:38 +0800215 mac0: ethernet@800f0000 {
216 phy-mode = "rmii";
217 pinctrl-names = "default";
218 pinctrl-0 = <&mac0_pins_a>;
Wolfram Sangf231a9f2013-01-29 15:46:12 +0100219 clocks = <&clks 57>, <&clks 57>;
220 clock-names = "ipg", "ahb";
Marek Vasut8fa62e12012-07-07 21:21:38 +0800221 status = "okay";
222 };
223
224 mac1: ethernet@800f4000 {
225 phy-mode = "rmii";
226 pinctrl-names = "default";
227 pinctrl-0 = <&mac1_pins_a>;
228 status = "okay";
229 };
230 };
231
Marek Vasutdb3b9ba2013-07-11 21:30:16 +0200232 backlight {
233 compatible = "pwm-backlight";
234 pwms = <&pwm 4 5000000>;
235 brightness-levels = <0 4 8 16 32 64 128 255>;
236 default-brightness-level = <6>;
237 };
238
Marek Vasut8fa62e12012-07-07 21:21:38 +0800239 regulators {
Shawn Guo352d3182014-02-07 23:18:30 +0800240 reg_vddio_sd0: regulator@1 {
Marek Vasut91ed4932012-08-26 14:59:31 +0200241 compatible = "regulator-fixed";
Shawn Guo352d3182014-02-07 23:18:30 +0800242 reg = <1>;
Marek Vasut91ed4932012-08-26 14:59:31 +0200243 regulator-name = "vddio-sd0";
244 regulator-min-microvolt = <3300000>;
245 regulator-max-microvolt = <3300000>;
246 gpio = <&gpio3 28 0>;
247 };
248
Shawn Guo352d3182014-02-07 23:18:30 +0800249 reg_usb0_vbus: regulator@2 {
Marek Vasut91ed4932012-08-26 14:59:31 +0200250 compatible = "regulator-fixed";
Shawn Guo352d3182014-02-07 23:18:30 +0800251 reg = <2>;
Marek Vasut91ed4932012-08-26 14:59:31 +0200252 regulator-name = "usb0_vbus";
253 regulator-min-microvolt = <5000000>;
254 regulator-max-microvolt = <5000000>;
255 gpio = <&gpio3 12 0>;
256 };
257
Shawn Guo352d3182014-02-07 23:18:30 +0800258 reg_usb1_vbus: regulator@3 {
Marek Vasut91ed4932012-08-26 14:59:31 +0200259 compatible = "regulator-fixed";
Shawn Guo352d3182014-02-07 23:18:30 +0800260 reg = <3>;
Marek Vasut91ed4932012-08-26 14:59:31 +0200261 regulator-name = "usb1_vbus";
262 regulator-min-microvolt = <5000000>;
263 regulator-max-microvolt = <5000000>;
264 gpio = <&gpio3 13 0>;
265 };
Marek Vasut8fa62e12012-07-07 21:21:38 +0800266 };
267
268 sound {
269 compatible = "denx,m28evk-sgtl5000",
270 "fsl,mxs-audio-sgtl5000";
271 model = "m28evk-sgtl5000";
272 saif-controllers = <&saif0 &saif1>;
273 audio-codec = <&sgtl5000>;
274 };
275};