ARM: dts: imx28-evk: Move regulators outside simple-bus
[linux-2.6-microblaze.git] / arch / arm / boot / dts / imx28-evk.dts
1 // SPDX-License-Identifier: GPL-2.0+
2 //
3 // Copyright 2012 Freescale Semiconductor, Inc.
4
5 /dts-v1/;
6 #include "imx28.dtsi"
7
8 / {
9         model = "Freescale i.MX28 Evaluation Kit";
10         compatible = "fsl,imx28-evk", "fsl,imx28";
11
12         memory@40000000 {
13                 reg = <0x40000000 0x08000000>;
14         };
15
16
17         reg_3p3v: regulator-3p3v {
18                 compatible = "regulator-fixed";
19                 regulator-name = "3P3V";
20                 regulator-min-microvolt = <3300000>;
21                 regulator-max-microvolt = <3300000>;
22                 regulator-always-on;
23         };
24
25         reg_vddio_sd0: regulator-vddio-sd0 {
26                 compatible = "regulator-fixed";
27                 regulator-name = "vddio-sd0";
28                 regulator-min-microvolt = <3300000>;
29                 regulator-max-microvolt = <3300000>;
30                 gpio = <&gpio3 28 0>;
31         };
32
33         reg_fec_3v3: regulator-fec-3v3 {
34                 compatible = "regulator-fixed";
35                 regulator-name = "fec-3v3";
36                 regulator-min-microvolt = <3300000>;
37                 regulator-max-microvolt = <3300000>;
38                 gpio = <&gpio2 15 0>;
39         };
40
41         reg_usb0_vbus: regulator-usb0-vbus {
42                 compatible = "regulator-fixed";
43                 regulator-name = "usb0_vbus";
44                 regulator-min-microvolt = <5000000>;
45                 regulator-max-microvolt = <5000000>;
46                 gpio = <&gpio3 9 0>;
47                 enable-active-high;
48         };
49
50         reg_usb1_vbus: regulator-usb1-vbus {
51                 compatible = "regulator-fixed";
52                 regulator-name = "usb1_vbus";
53                 regulator-min-microvolt = <5000000>;
54                 regulator-max-microvolt = <5000000>;
55                 gpio = <&gpio3 8 0>;
56                 enable-active-high;
57         };
58
59         reg_lcd_3v3: regulator-lcd-3v3 {
60                 compatible = "regulator-fixed";
61                 regulator-name = "lcd-3v3";
62                 regulator-min-microvolt = <3300000>;
63                 regulator-max-microvolt = <3300000>;
64                 gpio = <&gpio3 30 0>;
65                 enable-active-high;
66         };
67
68         reg_can_3v3: regulator-can-3v3 {
69                 compatible = "regulator-fixed";
70                 regulator-name = "can-3v3";
71                 regulator-min-microvolt = <3300000>;
72                 regulator-max-microvolt = <3300000>;
73                 gpio = <&gpio2 13 0>;
74                 enable-active-high;
75         };
76
77         apb@80000000 {
78                 apbh@80000000 {
79                         gpmi-nand@8000c000 {
80                                 pinctrl-names = "default";
81                                 pinctrl-0 = <&gpmi_pins_a &gpmi_status_cfg
82                                              &gpmi_pins_evk>;
83                                 status = "okay";
84                         };
85
86                         ssp0: ssp@80010000 {
87                                 compatible = "fsl,imx28-mmc";
88                                 pinctrl-names = "default";
89                                 pinctrl-0 = <&mmc0_8bit_pins_a
90                                         &mmc0_cd_cfg &mmc0_sck_cfg>;
91                                 bus-width = <8>;
92                                 wp-gpios = <&gpio2 12 0>;
93                                 vmmc-supply = <&reg_vddio_sd0>;
94                                 status = "okay";
95                         };
96
97                         ssp1: ssp@80012000 {
98                                 compatible = "fsl,imx28-mmc";
99                                 bus-width = <8>;
100                                 wp-gpios = <&gpio0 28 0>;
101                         };
102
103                         ssp2: ssp@80014000 {
104                                 #address-cells = <1>;
105                                 #size-cells = <0>;
106                                 compatible = "fsl,imx28-spi";
107                                 pinctrl-names = "default";
108                                 pinctrl-0 = <&spi2_pins_a>;
109                                 status = "okay";
110
111                                 flash: m25p80@0 {
112                                         #address-cells = <1>;
113                                         #size-cells = <1>;
114                                         compatible = "sst,sst25vf016b", "jedec,spi-nor";
115                                         spi-max-frequency = <40000000>;
116                                         reg = <0>;
117                                 };
118                         };
119
120                         pinctrl@80018000 {
121                                 pinctrl-names = "default";
122                                 pinctrl-0 = <&hog_pins_a>;
123
124                                 hog_pins_a: hog@0 {
125                                         reg = <0>;
126                                         fsl,pinmux-ids = <
127                                                 MX28_PAD_SSP1_CMD__GPIO_2_13
128                                                 MX28_PAD_SSP1_DATA3__GPIO_2_15
129                                                 MX28_PAD_ENET0_RX_CLK__GPIO_4_13
130                                                 MX28_PAD_SSP1_SCK__GPIO_2_12
131                                                 MX28_PAD_PWM3__GPIO_3_28
132                                                 MX28_PAD_LCD_RESET__GPIO_3_30
133                                                 MX28_PAD_AUART2_RX__GPIO_3_8
134                                                 MX28_PAD_AUART2_TX__GPIO_3_9
135                                         >;
136                                         fsl,drive-strength = <MXS_DRIVE_4mA>;
137                                         fsl,voltage = <MXS_VOLTAGE_HIGH>;
138                                         fsl,pull-up = <MXS_PULL_DISABLE>;
139                                 };
140
141                                 led_pin_gpio3_5: led_gpio3_5@0 {
142                                         reg = <0>;
143                                         fsl,pinmux-ids = <
144                                                 MX28_PAD_AUART1_TX__GPIO_3_5
145                                         >;
146                                         fsl,drive-strength = <MXS_DRIVE_4mA>;
147                                         fsl,voltage = <MXS_VOLTAGE_HIGH>;
148                                         fsl,pull-up = <MXS_PULL_DISABLE>;
149                                 };
150
151                                 gpmi_pins_evk: gpmi-nand-evk@0 {
152                                         reg = <0>;
153                                         fsl,pinmux-ids = <
154                                                 MX28_PAD_GPMI_CE1N__GPMI_CE1N
155                                                 MX28_PAD_GPMI_RDY1__GPMI_READY1
156                                         >;
157                                         fsl,drive-strength = <MXS_DRIVE_4mA>;
158                                         fsl,voltage = <MXS_VOLTAGE_HIGH>;
159                                         fsl,pull-up = <MXS_PULL_DISABLE>;
160                                 };
161
162                                 lcdif_pins_evk: lcdif-evk@0 {
163                                         reg = <0>;
164                                         fsl,pinmux-ids = <
165                                                 MX28_PAD_LCD_RD_E__LCD_VSYNC
166                                                 MX28_PAD_LCD_WR_RWN__LCD_HSYNC
167                                                 MX28_PAD_LCD_RS__LCD_DOTCLK
168                                                 MX28_PAD_LCD_CS__LCD_ENABLE
169                                         >;
170                                         fsl,drive-strength = <MXS_DRIVE_4mA>;
171                                         fsl,voltage = <MXS_VOLTAGE_HIGH>;
172                                         fsl,pull-up = <MXS_PULL_DISABLE>;
173                                 };
174                         };
175
176                         lcdif@80030000 {
177                                 pinctrl-names = "default";
178                                 pinctrl-0 = <&lcdif_24bit_pins_a
179                                              &lcdif_pins_evk>;
180                                 lcd-supply = <&reg_lcd_3v3>;
181                                 display = <&display0>;
182                                 status = "okay";
183
184                                 display0: display0 {
185                                         bits-per-pixel = <32>;
186                                         bus-width = <24>;
187
188                                         display-timings {
189                                                 native-mode = <&timing0>;
190                                                 timing0: timing0 {
191                                                         clock-frequency = <33500000>;
192                                                         hactive = <800>;
193                                                         vactive = <480>;
194                                                         hback-porch = <89>;
195                                                         hfront-porch = <164>;
196                                                         vback-porch = <23>;
197                                                         vfront-porch = <10>;
198                                                         hsync-len = <10>;
199                                                         vsync-len = <10>;
200                                                         hsync-active = <0>;
201                                                         vsync-active = <0>;
202                                                         de-active = <1>;
203                                                         pixelclk-active = <0>;
204                                                 };
205                                         };
206                                 };
207                         };
208
209                         can0: can@80032000 {
210                                 pinctrl-names = "default";
211                                 pinctrl-0 = <&can0_pins_a>;
212                                 xceiver-supply = <&reg_can_3v3>;
213                                 status = "okay";
214                         };
215
216                         can1: can@80034000 {
217                                 pinctrl-names = "default";
218                                 pinctrl-0 = <&can1_pins_a>;
219                                 xceiver-supply = <&reg_can_3v3>;
220                                 status = "okay";
221                         };
222                 };
223
224                 apbx@80040000 {
225                         saif0: saif@80042000 {
226                                 pinctrl-names = "default";
227                                 pinctrl-0 = <&saif0_pins_a>;
228                                 status = "okay";
229                         };
230
231                         saif1: saif@80046000 {
232                                 pinctrl-names = "default";
233                                 pinctrl-0 = <&saif1_pins_a>;
234                                 fsl,saif-master = <&saif0>;
235                                 status = "okay";
236                         };
237
238                         lradc@80050000 {
239                                 status = "okay";
240                                 fsl,lradc-touchscreen-wires = <4>;
241                                 fsl,ave-ctrl = <4>;
242                                 fsl,ave-delay = <2>;
243                                 fsl,settling = <10>;
244                         };
245
246                         i2c0: i2c@80058000 {
247                                 pinctrl-names = "default";
248                                 pinctrl-0 = <&i2c0_pins_a>;
249                                 status = "okay";
250
251                                 sgtl5000: codec@a {
252                                         compatible = "fsl,sgtl5000";
253                                         reg = <0x0a>;
254                                         #sound-dai-cells = <0>;
255                                         VDDA-supply = <&reg_3p3v>;
256                                         VDDIO-supply = <&reg_3p3v>;
257                                         clocks = <&saif0>;
258                                 };
259
260                                 at24@51 {
261                                         compatible = "atmel,24c32";
262                                         pagesize = <32>;
263                                         reg = <0x51>;
264                                 };
265                         };
266
267                         pwm: pwm@80064000 {
268                                 pinctrl-names = "default";
269                                 pinctrl-0 = <&pwm2_pins_a>;
270                                 status = "okay";
271                         };
272
273                         duart: serial@80074000 {
274                                 pinctrl-names = "default";
275                                 pinctrl-0 = <&duart_pins_a>;
276                                 status = "okay";
277                         };
278
279                         auart0: serial@8006a000 {
280                                 pinctrl-names = "default";
281                                 pinctrl-0 = <&auart0_pins_a>;
282                                 uart-has-rtscts;
283                                 status = "okay";
284                         };
285
286                         auart3: serial@80070000 {
287                                 pinctrl-names = "default";
288                                 pinctrl-0 = <&auart3_pins_a>;
289                                 status = "okay";
290                         };
291
292                         usbphy0: usbphy@8007c000 {
293                                 status = "okay";
294                         };
295
296                         usbphy1: usbphy@8007e000 {
297                                 status = "okay";
298                         };
299                 };
300         };
301
302         ahb@80080000 {
303                 usb0: usb@80080000 {
304                         pinctrl-names = "default";
305                         pinctrl-0 = <&usb0_id_pins_a>;
306                         vbus-supply = <&reg_usb0_vbus>;
307                         status = "okay";
308                 };
309
310                 usb1: usb@80090000 {
311                         vbus-supply = <&reg_usb1_vbus>;
312                         status = "okay";
313                 };
314
315                 mac0: ethernet@800f0000 {
316                         phy-mode = "rmii";
317                         pinctrl-names = "default";
318                         pinctrl-0 = <&mac0_pins_a>;
319                         phy-supply = <&reg_fec_3v3>;
320                         phy-reset-gpios = <&gpio4 13 GPIO_ACTIVE_LOW>;
321                         phy-reset-duration = <100>;
322                         status = "okay";
323                 };
324
325                 mac1: ethernet@800f4000 {
326                         phy-mode = "rmii";
327                         pinctrl-names = "default";
328                         pinctrl-0 = <&mac1_pins_a>;
329                         status = "okay";
330                 };
331         };
332
333         sound {
334                 compatible = "fsl,imx28-evk-sgtl5000",
335                              "fsl,mxs-audio-sgtl5000";
336                 model = "imx28-evk-sgtl5000";
337                 saif-controllers = <&saif0 &saif1>;
338                 audio-codec = <&sgtl5000>;
339         };
340
341         leds {
342                 compatible = "gpio-leds";
343                 pinctrl-names = "default";
344                 pinctrl-0 = <&led_pin_gpio3_5>;
345
346                 user {
347                         label = "Heartbeat";
348                         gpios = <&gpio3 5 0>;
349                         linux,default-trigger = "heartbeat";
350                 };
351         };
352
353         backlight {
354                 compatible = "pwm-backlight";
355                 pwms = <&pwm 2 5000000>;
356                 brightness-levels = <0 4 8 16 32 64 128 255>;
357                 default-brightness-level = <6>;
358         };
359 };