GNU Linux-libre 4.19.264-gnu1
[releases.git] / arch / arm / boot / dts / imx28-m28evk.dts
1 /*
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/;
13 #include "imx28-m28.dtsi"
14
15 / {
16         model = "Aries/DENX M28EVK";
17         compatible = "aries,m28evk", "denx,m28evk", "fsl,imx28";
18
19         apb@80000000 {
20                 apbh@80000000 {
21                         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>;
28                                 wp-gpios = <&gpio3 10 0>;
29                                 vmmc-supply = <&reg_vddio_sd0>;
30                                 status = "okay";
31                         };
32
33                         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>;
44                                         compatible = "m25p80", "jedec,spi-nor";
45                                         spi-max-frequency = <40000000>;
46                                         reg = <0>;
47                                 };
48                         };
49
50                         pinctrl@80018000 {
51                                 pinctrl-names = "default";
52                                 pinctrl-0 = <&hog_pins_a>;
53
54                                 hog_pins_a: hog@0 {
55                                         reg = <0>;
56                                         fsl,pinmux-ids = <
57                                                 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
62                                         >;
63                                         fsl,drive-strength = <MXS_DRIVE_4mA>;
64                                         fsl,voltage = <MXS_VOLTAGE_HIGH>;
65                                         fsl,pull-up = <MXS_PULL_DISABLE>;
66                                 };
67
68                                 lcdif_pins_m28: lcdif-m28@0 {
69                                         reg = <0>;
70                                         fsl,pinmux-ids = <
71                                                 MX28_PAD_LCD_DOTCLK__LCD_DOTCLK
72                                                 MX28_PAD_LCD_ENABLE__LCD_ENABLE
73                                         >;
74                                         fsl,drive-strength = <MXS_DRIVE_4mA>;
75                                         fsl,voltage = <MXS_VOLTAGE_HIGH>;
76                                         fsl,pull-up = <MXS_PULL_DISABLE>;
77                                 };
78                         };
79
80                         lcdif@80030000 {
81                                 pinctrl-names = "default";
82                                 pinctrl-0 = <&lcdif_24bit_pins_a
83                                              &lcdif_pins_m28>;
84                                 display = <&display0>;
85                                 status = "okay";
86
87                                 display0: display0 {
88                                         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                                 };
110                         };
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 {
140                                 sgtl5000: codec@a {
141                                         compatible = "fsl,sgtl5000";
142                                         reg = <0x0a>;
143                                         #sound-dai-cells = <0>;
144                                         VDDA-supply = <&reg_3p3v>;
145                                         VDDIO-supply = <&reg_3p3v>;
146                                         clocks = <&saif0>;
147                                 };
148
149                                 eeprom: eeprom@51 {
150                                         compatible = "atmel,24c128";
151                                         reg = <0x51>;
152                                         pagesize = <32>;
153                                 };
154                         };
155
156                         lradc@80050000 {
157                                 status = "okay";
158                                 fsl,lradc-touchscreen-wires = <4>;
159                         };
160
161                         duart: serial@80074000 {
162                                 pinctrl-names = "default";
163                                 pinctrl-0 = <&duart_pins_a>;
164                                 status = "okay";
165                         };
166
167                         usbphy0: usbphy@8007c000 {
168                                 status = "okay";
169                         };
170
171                         usbphy1: usbphy@8007e000 {
172                                 status = "okay";
173                         };
174
175                         auart0: serial@8006a000 {
176                                 pinctrl-names = "default";
177                                 pinctrl-0 = <&auart0_pins_a>;
178                                 status = "okay";
179                         };
180
181                         auart1: serial@8006c000 {
182                                 pinctrl-names = "default";
183                                 pinctrl-0 = <&auart1_pins_a>;
184                                 status = "okay";
185                         };
186
187                         auart2: serial@8006e000 {
188                                 pinctrl-names = "default";
189                                 pinctrl-0 = <&auart2_2pins_b>;
190                                 status = "okay";
191                         };
192
193                         pwm: pwm@80064000 {
194                                 pinctrl-names = "default";
195                                 pinctrl-0 = <&pwm4_pins_a>;
196                                 status = "okay";
197                         };
198                 };
199         };
200
201         ahb@80080000 {
202                 usb0: usb@80080000 {
203                         vbus-supply = <&reg_usb0_vbus>;
204                         pinctrl-names = "default";
205                         pinctrl-0 = <&usb0_pins_a>;
206                         status = "okay";
207                 };
208
209                 usb1: usb@80090000 {
210                         vbus-supply = <&reg_usb1_vbus>;
211                         pinctrl-names = "default";
212                         pinctrl-0 = <&usb1_pins_a>;
213                         status = "okay";
214                 };
215
216                 mac0: ethernet@800f0000 {
217                         phy-mode = "rmii";
218                         pinctrl-names = "default";
219                         pinctrl-0 = <&mac0_pins_a>;
220                         clocks = <&clks 57>, <&clks 57>;
221                         clock-names = "ipg", "ahb";
222                         status = "okay";
223                 };
224
225                 mac1: ethernet@800f4000 {
226                         phy-mode = "rmii";
227                         pinctrl-names = "default";
228                         pinctrl-0 = <&mac1_pins_a>;
229                         status = "okay";
230                 };
231         };
232
233         backlight {
234                 compatible = "pwm-backlight";
235                 pwms = <&pwm 4 5000000>;
236                 brightness-levels = <0 4 8 16 32 64 128 255>;
237                 default-brightness-level = <6>;
238         };
239
240         regulators {
241                 reg_vddio_sd0: regulator@1 {
242                         compatible = "regulator-fixed";
243                         reg = <1>;
244                         regulator-name = "vddio-sd0";
245                         regulator-min-microvolt = <3300000>;
246                         regulator-max-microvolt = <3300000>;
247                         gpio = <&gpio3 28 0>;
248                 };
249
250                 reg_usb0_vbus: regulator@2 {
251                         compatible = "regulator-fixed";
252                         reg = <2>;
253                         regulator-name = "usb0_vbus";
254                         regulator-min-microvolt = <5000000>;
255                         regulator-max-microvolt = <5000000>;
256                         gpio = <&gpio3 12 0>;
257                 };
258
259                 reg_usb1_vbus: regulator@3 {
260                         compatible = "regulator-fixed";
261                         reg = <3>;
262                         regulator-name = "usb1_vbus";
263                         regulator-min-microvolt = <5000000>;
264                         regulator-max-microvolt = <5000000>;
265                         gpio = <&gpio3 13 0>;
266                 };
267         };
268
269         sound {
270                 compatible = "denx,m28evk-sgtl5000",
271                              "fsl,mxs-audio-sgtl5000";
272                 model = "m28evk-sgtl5000";
273                 saif-controllers = <&saif0 &saif1>;
274                 audio-codec = <&sgtl5000>;
275         };
276 };