blob: 2df63bee6f4e1a5df65a00fd9620951dac3e9e5e [file] [log] [blame]
Marek Vasute0ec2f32013-09-30 00:41:29 +02001/*
2 * Copyright (C) 2013 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 = "MSR M28CU3";
17 compatible = "msr,m28cu3", "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 = "gpmi-nfc-0-boot";
34 reg = <0x00000000 0x01400000>;
35 read-only;
36 };
37
38 partition@1 {
39 label = "gpmi-nfc-general-use";
40 reg = <0x01400000 0x0ec00000>;
41 };
42 };
43
44 ssp0: ssp@80010000 {
45 compatible = "fsl,imx28-mmc";
46 pinctrl-names = "default";
47 pinctrl-0 = <&mmc0_4bit_pins_a
48 &mmc0_cd_cfg
49 &mmc0_sck_cfg>;
50 bus-width = <4>;
51 vmmc-supply = <&reg_vddio_sd0>;
52 status = "okay";
53 };
54
55 ssp2: ssp@80014000 {
56 compatible = "fsl,imx28-mmc";
57 pinctrl-names = "default";
58 pinctrl-0 = <&mmc2_4bit_pins_a
59 &mmc2_cd_cfg
60 &mmc2_sck_cfg>;
61 bus-width = <4>;
62 vmmc-supply = <&reg_vddio_sd1>;
63 status = "okay";
64 };
65
66 pinctrl@80018000 {
67 pinctrl-names = "default";
68 pinctrl-0 = <&hog_pins_a>;
69
70 hog_pins_a: hog@0 {
71 reg = <0>;
72 fsl,pinmux-ids = <
73 MX28_PAD_SSP2_SS0__GPIO_2_19
74 MX28_PAD_PWM4__GPIO_3_29
75 MX28_PAD_AUART2_RX__GPIO_3_8
76 MX28_PAD_ENET0_RX_CLK__GPIO_4_13
77 >;
78 fsl,drive-strength = <MXS_DRIVE_4mA>;
79 fsl,voltage = <MXS_VOLTAGE_HIGH>;
80 fsl,pull-up = <MXS_PULL_DISABLE>;
81 };
82
83 lcdif_pins_m28: lcdif-m28@0 {
84 reg = <0>;
85 fsl,pinmux-ids = <
86 MX28_PAD_LCD_VSYNC__LCD_VSYNC
87 MX28_PAD_LCD_HSYNC__LCD_HSYNC
88 MX28_PAD_LCD_DOTCLK__LCD_DOTCLK
89 MX28_PAD_LCD_RESET__LCD_RESET
90 MX28_PAD_LCD_CS__LCD_ENABLE
91 MX28_PAD_AUART1_TX__GPIO_3_5
92 >;
93 fsl,drive-strength = <MXS_DRIVE_4mA>;
94 fsl,voltage = <MXS_VOLTAGE_HIGH>;
95 fsl,pull-up = <MXS_PULL_DISABLE>;
96 };
97
98 led_pins_gpio: leds-m28@0 {
99 reg = <0>;
100 fsl,pinmux-ids = <
101 MX28_PAD_SSP3_MISO__GPIO_2_26
102 MX28_PAD_SSP3_SCK__GPIO_2_24
103 >;
104 fsl,drive-strength = <MXS_DRIVE_4mA>;
105 fsl,voltage = <MXS_VOLTAGE_HIGH>;
106 fsl,pull-up = <MXS_PULL_DISABLE>;
107 };
108 };
109
110 ocotp@8002c000 {
111 status = "okay";
112 };
113
114 lcdif@80030000 {
115 pinctrl-names = "default";
116 pinctrl-0 = <&lcdif_24bit_pins_a
117 &lcdif_pins_m28>;
Fabio Estevam7f0d61d2014-09-04 22:31:21 -0300118 display = <&display0>;
Marek Vasute0ec2f32013-09-30 00:41:29 +0200119 status = "okay";
120
Fabio Estevam7f0d61d2014-09-04 22:31:21 -0300121 display0: display0 {
Marek Vasute0ec2f32013-09-30 00:41:29 +0200122 bits-per-pixel = <32>;
123 bus-width = <24>;
124
125 display-timings {
126 native-mode = <&timing0>;
127 timing0: timing0 {
128 clock-frequency = <6410256>;
129 hactive = <320>;
130 vactive = <240>;
131 hback-porch = <38>;
132 hfront-porch = <20>;
133 vback-porch = <15>;
134 vfront-porch = <5>;
135 hsync-len = <30>;
136 vsync-len = <3>;
137 hsync-active = <0>;
138 vsync-active = <0>;
139 de-active = <1>;
140 pixelclk-active = <1>;
141 };
142 };
143 };
144 };
145 };
146
147 apbx@80040000 {
148 duart: serial@80074000 {
149 pinctrl-names = "default";
150 pinctrl-0 = <&duart_pins_b>;
151 status = "okay";
152 };
153
154 usbphy1: usbphy@8007e000 {
155 status = "okay";
156 };
157
158 auart0: serial@8006a000 {
159 pinctrl-names = "default";
160 pinctrl-0 = <&auart0_2pins_a>;
161 status = "okay";
162 };
163
164 auart3: serial@80070000 {
165 pinctrl-names = "default";
166 pinctrl-0 = <&auart3_2pins_b>;
167 status = "okay";
168 };
169
170 pwm: pwm@80064000 {
171 pinctrl-names = "default";
172 pinctrl-0 = <&pwm3_pins_a>;
173 status = "okay";
174 };
175 };
176 };
177
178 ahb@80080000 {
179 usb1: usb@80090000 {
180 vbus-supply = <&reg_usb1_vbus>;
181 pinctrl-names = "default";
Michael Grzeschikc8e42bc2013-12-06 15:56:40 +0100182 pinctrl-0 = <&usb1_pins_a>;
Marek Vasute0ec2f32013-09-30 00:41:29 +0200183 disable-over-current;
184 status = "okay";
185 };
186
187 mac0: ethernet@800f0000 {
188 phy-mode = "rmii";
189 pinctrl-names = "default";
190 pinctrl-0 = <&mac0_pins_a>;
191 phy-reset-gpios = <&gpio4 13 0>;
192 phy-reset-duration = <100>;
193 status = "okay";
194 };
195
196 mac1: ethernet@800f4000 {
197 phy-mode = "rmii";
198 pinctrl-names = "default";
199 pinctrl-0 = <&mac1_pins_a>;
200 status = "okay";
201 };
202 };
203
204 backlight {
205 compatible = "pwm-backlight";
206 pwms = <&pwm 3 5000000>;
207 brightness-levels = <0 4 8 16 32 64 128 255>;
208 default-brightness-level = <6>;
209 };
210
211 leds {
212 compatible = "gpio-leds";
213 pinctrl-names = "default";
214 pinctrl-0 = <&led_pins_gpio>;
215
216 user1 {
217 label = "sd0-led";
218 gpios = <&gpio2 26 0>;
219 linux,default-trigger = "mmc0";
220 };
221
222 user2 {
223 label = "sd1-led";
224 gpios = <&gpio2 24 0>;
225 linux,default-trigger = "mmc2";
226 };
227 };
228
229 regulators {
230 compatible = "simple-bus";
Shawn Guo352d3182014-02-07 23:18:30 +0800231 #address-cells = <1>;
232 #size-cells = <0>;
Marek Vasute0ec2f32013-09-30 00:41:29 +0200233
Shawn Guo352d3182014-02-07 23:18:30 +0800234 reg_3p3v: regulator@0 {
Marek Vasute0ec2f32013-09-30 00:41:29 +0200235 compatible = "regulator-fixed";
Shawn Guo352d3182014-02-07 23:18:30 +0800236 reg = <0>;
Marek Vasute0ec2f32013-09-30 00:41:29 +0200237 regulator-name = "3P3V";
238 regulator-min-microvolt = <3300000>;
239 regulator-max-microvolt = <3300000>;
240 regulator-always-on;
241 };
242
Shawn Guo352d3182014-02-07 23:18:30 +0800243 reg_vddio_sd0: regulator@1 {
Marek Vasute0ec2f32013-09-30 00:41:29 +0200244 compatible = "regulator-fixed";
Shawn Guo352d3182014-02-07 23:18:30 +0800245 reg = <1>;
Marek Vasute0ec2f32013-09-30 00:41:29 +0200246 regulator-name = "vddio-sd0";
247 regulator-min-microvolt = <3300000>;
248 regulator-max-microvolt = <3300000>;
249 gpio = <&gpio3 29 0>;
250 };
251
Shawn Guo352d3182014-02-07 23:18:30 +0800252 reg_vddio_sd1: regulator@2 {
Marek Vasute0ec2f32013-09-30 00:41:29 +0200253 compatible = "regulator-fixed";
Shawn Guo352d3182014-02-07 23:18:30 +0800254 reg = <2>;
Marek Vasute0ec2f32013-09-30 00:41:29 +0200255 regulator-name = "vddio-sd1";
256 regulator-min-microvolt = <3300000>;
257 regulator-max-microvolt = <3300000>;
258 gpio = <&gpio2 19 0>;
259 };
260
Shawn Guo352d3182014-02-07 23:18:30 +0800261 reg_usb1_vbus: regulator@3 {
Marek Vasute0ec2f32013-09-30 00:41:29 +0200262 compatible = "regulator-fixed";
Shawn Guo352d3182014-02-07 23:18:30 +0800263 reg = <3>;
Marek Vasute0ec2f32013-09-30 00:41:29 +0200264 regulator-name = "usb1_vbus";
265 regulator-min-microvolt = <5000000>;
266 regulator-max-microvolt = <5000000>;
267 gpio = <&gpio3 8 0>;
268 enable-active-high;
269 };
270 };
271};