ARM: mx28evk: Add I2C EEPROM support
[deliverable/linux.git] / arch / arm / boot / dts / imx28-evk.dts
1 /*
2 * Copyright 2012 Freescale Semiconductor, Inc.
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 = "Freescale i.MX28 Evaluation Kit";
17 compatible = "fsl,imx28-evk", "fsl,imx28";
18
19 memory {
20 reg = <0x40000000 0x08000000>;
21 };
22
23 apb@80000000 {
24 apbh@80000000 {
25 gpmi-nand@8000c000 {
26 pinctrl-names = "default";
27 pinctrl-0 = <&gpmi_pins_a &gpmi_status_cfg
28 &gpmi_pins_evk>;
29 status = "okay";
30 };
31
32 ssp0: ssp@80010000 {
33 compatible = "fsl,imx28-mmc";
34 pinctrl-names = "default";
35 pinctrl-0 = <&mmc0_8bit_pins_a
36 &mmc0_cd_cfg &mmc0_sck_cfg>;
37 bus-width = <8>;
38 wp-gpios = <&gpio2 12 0>;
39 vmmc-supply = <&reg_vddio_sd0>;
40 status = "okay";
41 };
42
43 ssp1: ssp@80012000 {
44 compatible = "fsl,imx28-mmc";
45 bus-width = <8>;
46 wp-gpios = <&gpio0 28 0>;
47 };
48
49 ssp2: ssp@80014000 {
50 #address-cells = <1>;
51 #size-cells = <0>;
52 compatible = "fsl,imx28-spi";
53 pinctrl-names = "default";
54 pinctrl-0 = <&spi2_pins_a>;
55 status = "okay";
56
57 flash: m25p80@0 {
58 #address-cells = <1>;
59 #size-cells = <1>;
60 compatible = "sst,sst25vf016b";
61 spi-max-frequency = <40000000>;
62 reg = <0>;
63 };
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 0x20d3 /* MX28_PAD_SSP1_CMD__GPIO_2_13 */
74 0x20f3 /* MX28_PAD_SSP1_DATA3__GPIO_2_15 */
75 0x40d3 /* MX28_PAD_ENET0_RX_CLK__GPIO_4_13 */
76 0x20c3 /* MX28_PAD_SSP1_SCK__GPIO_2_12 */
77 0x31c3 /* MX28_PAD_PWM3__GPIO_3_28 */
78 0x31e3 /* MX28_PAD_LCD_RESET__GPIO_3_30 */
79 0x3053 /* MX28_PAD_AUART1_TX__GPIO_3_5 */
80 0x3083 /* MX28_PAD_AUART2_RX__GPIO_3_8 */
81 0x3093 /* MX28_PAD_AUART2_TX__GPIO_3_9 */
82 >;
83 fsl,drive-strength = <0>;
84 fsl,voltage = <1>;
85 fsl,pull-up = <0>;
86 };
87
88 gpmi_pins_evk: gpmi-nand-evk@0 {
89 reg = <0>;
90 fsl,pinmux-ids = <
91 0x0110 /* MX28_PAD_GPMI_CE1N__GPMI_CE1N */
92 0x0150 /* MX28_PAD_GPMI_RDY1__GPMI_READY1 */
93 >;
94 fsl,drive-strength = <0>;
95 fsl,voltage = <1>;
96 fsl,pull-up = <0>;
97 };
98
99 lcdif_pins_evk: lcdif-evk@0 {
100 reg = <0>;
101 fsl,pinmux-ids = <
102 0x1181 /* MX28_PAD_LCD_RD_E__LCD_VSYNC */
103 0x1191 /* MX28_PAD_LCD_WR_RWN__LCD_HSYNC */
104 0x11a1 /* MX28_PAD_LCD_RS__LCD_DOTCLK */
105 0x11b1 /* MX28_PAD_LCD_CS__LCD_ENABLE */
106 >;
107 fsl,drive-strength = <0>;
108 fsl,voltage = <1>;
109 fsl,pull-up = <0>;
110 };
111 };
112
113 lcdif@80030000 {
114 pinctrl-names = "default";
115 pinctrl-0 = <&lcdif_24bit_pins_a
116 &lcdif_pins_evk>;
117 panel-enable-gpios = <&gpio3 30 0>;
118 status = "okay";
119 };
120
121 can0: can@80032000 {
122 pinctrl-names = "default";
123 pinctrl-0 = <&can0_pins_a>;
124 status = "okay";
125 };
126
127 can1: can@80034000 {
128 pinctrl-names = "default";
129 pinctrl-0 = <&can1_pins_a>;
130 status = "okay";
131 };
132 };
133
134 apbx@80040000 {
135 saif0: saif@80042000 {
136 pinctrl-names = "default";
137 pinctrl-0 = <&saif0_pins_a>;
138 status = "okay";
139 };
140
141 saif1: saif@80046000 {
142 pinctrl-names = "default";
143 pinctrl-0 = <&saif1_pins_a>;
144 fsl,saif-master = <&saif0>;
145 status = "okay";
146 };
147
148 lradc@80050000 {
149 status = "okay";
150 };
151
152 i2c0: i2c@80058000 {
153 pinctrl-names = "default";
154 pinctrl-0 = <&i2c0_pins_a>;
155 status = "okay";
156
157 sgtl5000: codec@0a {
158 compatible = "fsl,sgtl5000";
159 reg = <0x0a>;
160 VDDA-supply = <&reg_3p3v>;
161 VDDIO-supply = <&reg_3p3v>;
162
163 };
164
165 at24@51 {
166 compatible = "at24,24c32";
167 pagesize = <32>;
168 reg = <0x51>;
169 };
170 };
171
172 pwm: pwm@80064000 {
173 pinctrl-names = "default";
174 pinctrl-0 = <&pwm2_pins_a>;
175 status = "okay";
176 };
177
178 duart: serial@80074000 {
179 pinctrl-names = "default";
180 pinctrl-0 = <&duart_pins_a>;
181 status = "okay";
182 };
183
184 auart0: serial@8006a000 {
185 pinctrl-names = "default";
186 pinctrl-0 = <&auart0_pins_a>;
187 status = "okay";
188 };
189
190 auart3: serial@80070000 {
191 pinctrl-names = "default";
192 pinctrl-0 = <&auart3_pins_a>;
193 status = "okay";
194 };
195
196 usbphy0: usbphy@8007c000 {
197 status = "okay";
198 };
199
200 usbphy1: usbphy@8007e000 {
201 status = "okay";
202 };
203 };
204 };
205
206 ahb@80080000 {
207 usb0: usb@80080000 {
208 vbus-supply = <&reg_usb0_vbus>;
209 status = "okay";
210 };
211
212 usb1: usb@80090000 {
213 vbus-supply = <&reg_usb1_vbus>;
214 status = "okay";
215 };
216
217 mac0: ethernet@800f0000 {
218 phy-mode = "rmii";
219 pinctrl-names = "default";
220 pinctrl-0 = <&mac0_pins_a>;
221 phy-supply = <&reg_fec_3v3>;
222 phy-reset-gpios = <&gpio4 13 0>;
223 phy-reset-duration = <100>;
224 status = "okay";
225 };
226
227 mac1: ethernet@800f4000 {
228 phy-mode = "rmii";
229 pinctrl-names = "default";
230 pinctrl-0 = <&mac1_pins_a>;
231 status = "okay";
232 };
233 };
234
235 regulators {
236 compatible = "simple-bus";
237
238 reg_3p3v: 3p3v {
239 compatible = "regulator-fixed";
240 regulator-name = "3P3V";
241 regulator-min-microvolt = <3300000>;
242 regulator-max-microvolt = <3300000>;
243 regulator-always-on;
244 };
245
246 reg_vddio_sd0: vddio-sd0 {
247 compatible = "regulator-fixed";
248 regulator-name = "vddio-sd0";
249 regulator-min-microvolt = <3300000>;
250 regulator-max-microvolt = <3300000>;
251 gpio = <&gpio3 28 0>;
252 };
253
254 reg_fec_3v3: fec-3v3 {
255 compatible = "regulator-fixed";
256 regulator-name = "fec-3v3";
257 regulator-min-microvolt = <3300000>;
258 regulator-max-microvolt = <3300000>;
259 gpio = <&gpio2 15 0>;
260 };
261
262 reg_usb0_vbus: usb0_vbus {
263 compatible = "regulator-fixed";
264 regulator-name = "usb0_vbus";
265 regulator-min-microvolt = <5000000>;
266 regulator-max-microvolt = <5000000>;
267 gpio = <&gpio3 9 0>;
268 enable-active-high;
269 };
270
271 reg_usb1_vbus: usb1_vbus {
272 compatible = "regulator-fixed";
273 regulator-name = "usb1_vbus";
274 regulator-min-microvolt = <5000000>;
275 regulator-max-microvolt = <5000000>;
276 gpio = <&gpio3 8 0>;
277 enable-active-high;
278 };
279 };
280
281 sound {
282 compatible = "fsl,imx28-evk-sgtl5000",
283 "fsl,mxs-audio-sgtl5000";
284 model = "imx28-evk-sgtl5000";
285 saif-controllers = <&saif0 &saif1>;
286 audio-codec = <&sgtl5000>;
287 };
288
289 leds {
290 compatible = "gpio-leds";
291
292 user {
293 label = "Heartbeat";
294 gpios = <&gpio3 5 0>;
295 linux,default-trigger = "heartbeat";
296 };
297 };
298
299 backlight {
300 compatible = "pwm-backlight";
301 pwms = <&pwm 2 5000000>;
302 brightness-levels = <0 4 8 16 32 64 128 255>;
303 default-brightness-level = <6>;
304 };
305 };
This page took 0.043415 seconds and 5 git commands to generate.