Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target...
[sfrench/cifs-2.6.git] / arch / arm / boot / dts / imx51-eukrea-mbimxsd51-baseboard.dts
1 /*
2  * Copyright 2013 EukrĂ©a Electromatique <denis@eukrea.com>
3  *
4  * This program is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU General Public License
6  * as published by the Free Software Foundation; either version 2
7  * of the License, or (at your option) any later version.
8  * This program is distributed in the hope that it will be useful,
9  * but WITHOUT ANY WARRANTY; without even the implied warranty of
10  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11  * GNU General Public License for more details.
12  *
13  * You should have received a copy of the GNU General Public License
14  * along with this program; if not, write to the Free Software
15  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
16  * MA 02110-1301, USA.
17  */
18
19 /dts-v1/;
20 #include "imx51-eukrea-cpuimx51.dtsi"
21 #include <dt-bindings/gpio/gpio.h>
22
23 / {
24         model = "Eukrea CPUIMX51";
25         compatible = "eukrea,mbimxsd51","eukrea,cpuimx51", "fsl,imx51";
26
27         clocks {
28                 clk24M: can_clock {
29                         compatible = "fixed-clock";
30                         #clock-cells = <0>;
31                         clock-frequency = <24000000>;
32                 };
33         };
34
35         gpio_keys {
36                 compatible = "gpio-keys";
37                 pinctrl-names = "default";
38                 pinctrl-0 = <&pinctrl_gpiokeys_1>;
39
40                 button-1 {
41                         label = "BP1";
42                         gpios = <&gpio3 31 GPIO_ACTIVE_LOW>;
43                         linux,code = <256>;
44                         wakeup-source;
45                         linux,input-type = <1>;
46                 };
47         };
48
49         leds {
50                 compatible = "gpio-leds";
51                 pinctrl-names = "default";
52                 pinctrl-0 = <&pinctrl_gpioled>;
53
54                 led1 {
55                         label = "led1";
56                         gpios = <&gpio3 30 GPIO_ACTIVE_LOW>;
57                         linux,default-trigger = "heartbeat";
58                 };
59         };
60
61         regulators {
62                 compatible = "simple-bus";
63                 #address-cells = <1>;
64                 #size-cells = <0>;
65
66                 reg_can: regulator@0 {
67                         compatible = "regulator-fixed";
68                         reg = <0>;
69                         regulator-name = "CAN_RST";
70                         regulator-min-microvolt = <3300000>;
71                         regulator-max-microvolt = <3300000>;
72                         gpio = <&gpio4 15 GPIO_ACTIVE_HIGH>;
73                         startup-delay-us = <20000>;
74                         enable-active-high;
75                 };
76         };
77
78         sound {
79                 compatible = "eukrea,asoc-tlv320";
80                 eukrea,model = "imx51-eukrea-tlv320aic23";
81                 ssi-controller = <&ssi2>;
82                 fsl,mux-int-port = <2>;
83                 fsl,mux-ext-port = <3>;
84         };
85
86         usbphy {
87                 #address-cells = <1>;
88                 #size-cells = <0>;
89                 compatible = "simple-bus";
90
91                 usbh1phy: usbh1phy@0 {
92                         compatible = "usb-nop-xceiv";
93                         reg = <0>;
94                         clocks = <&clks IMX5_CLK_USB_PHY_GATE>;
95                         clock-names = "main_clk";
96                         clock-frequency = <19200000>;
97                 };
98         };
99 };
100
101 &audmux {
102         pinctrl-names = "default";
103         pinctrl-0 = <&pinctrl_audmux>;
104         status = "okay";
105 };
106
107 &esdhc1 {
108         pinctrl-names = "default";
109         pinctrl-0 = <&pinctrl_esdhc1 &pinctrl_esdhc1_cd>;
110         cd-gpios = <&gpio1 0 GPIO_ACTIVE_LOW>;
111         status = "okay";
112 };
113
114 &ecspi1 {
115         pinctrl-names = "default";
116         pinctrl-0 = <&pinctrl_ecspi1>;
117         cs-gpios = <&gpio4 24 GPIO_ACTIVE_LOW>;
118         status = "okay";
119
120         can0: can@0 {
121                 pinctrl-names = "default";
122                 pinctrl-0 = <&pinctrl_can>;
123                 compatible = "microchip,mcp2515";
124                 reg = <0>;
125                 clocks = <&clk24M>;
126                 spi-max-frequency = <10000000>;
127                 interrupt-parent = <&gpio1>;
128                 interrupts = <1 IRQ_TYPE_EDGE_FALLING>;
129                 vdd-supply = <&reg_can>;
130         };
131 };
132
133 &i2c1 {
134         tlv320aic23: codec@1a {
135                 compatible = "ti,tlv320aic23";
136                 reg = <0x1a>;
137         };
138 };
139
140 &iomuxc {
141         imx51-eukrea {
142                 pinctrl_audmux: audmuxgrp {
143                         fsl,pins = <
144                                 MX51_PAD_AUD3_BB_TXD__AUD3_TXD          0x80000000
145                                 MX51_PAD_AUD3_BB_RXD__AUD3_RXD          0x80000000
146                                 MX51_PAD_AUD3_BB_CK__AUD3_TXC           0x80000000
147                                 MX51_PAD_AUD3_BB_FS__AUD3_TXFS          0x80000000
148                         >;
149                 };
150
151
152                 pinctrl_can: cangrp {
153                         fsl,pins = <
154                                 MX51_PAD_CSI2_PIXCLK__GPIO4_15          0x80000000      /* nReset */
155                                 MX51_PAD_GPIO1_1__GPIO1_1               0x80000000      /* IRQ */
156                         >;
157                 };
158
159                 pinctrl_ecspi1: ecspi1grp {
160                         fsl,pins = <
161                                 MX51_PAD_CSPI1_MISO__ECSPI1_MISO        0x185
162                                 MX51_PAD_CSPI1_MOSI__ECSPI1_MOSI        0x185
163                                 MX51_PAD_CSPI1_SCLK__ECSPI1_SCLK        0x185
164                                 MX51_PAD_CSPI1_SS0__GPIO4_24            0x80000000      /* CS0 */
165                         >;
166                 };
167
168                 pinctrl_esdhc1: esdhc1grp {
169                         fsl,pins = <
170                                 MX51_PAD_SD1_CMD__SD1_CMD               0x400020d5
171                                 MX51_PAD_SD1_CLK__SD1_CLK               0x20d5
172                                 MX51_PAD_SD1_DATA0__SD1_DATA0           0x20d5
173                                 MX51_PAD_SD1_DATA1__SD1_DATA1           0x20d5
174                                 MX51_PAD_SD1_DATA2__SD1_DATA2           0x20d5
175                                 MX51_PAD_SD1_DATA3__SD1_DATA3           0x20d5
176                         >;
177                 };
178
179                 pinctrl_uart1: uart1grp {
180                         fsl,pins = <
181                                 MX51_PAD_UART1_RXD__UART1_RXD           0x1c5
182                                 MX51_PAD_UART1_TXD__UART1_TXD           0x1c5
183                         >;
184                 };
185
186                 pinctrl_uart3: uart3grp {
187                         fsl,pins = <
188                                 MX51_PAD_UART3_RXD__UART3_RXD           0x1c5
189                                 MX51_PAD_UART3_TXD__UART3_TXD           0x1c5
190                         >;
191                 };
192
193                 pinctrl_uart3_rtscts: uart3rtsctsgrp {
194                         fsl,pins = <
195                                 MX51_PAD_KEY_COL4__UART3_RTS            0x1c5
196                                 MX51_PAD_KEY_COL5__UART3_CTS            0x1c5
197                         >;
198                 };
199
200                 pinctrl_backlight_1: backlightgrp-1 {
201                         fsl,pins = <
202                                 MX51_PAD_DI1_D1_CS__GPIO3_4 0x1f5
203                         >;
204                 };
205
206                 pinctrl_esdhc1_cd: esdhc1_cd {
207                         fsl,pins = <
208                                 MX51_PAD_GPIO1_0__GPIO1_0 0xd5
209                         >;
210                 };
211
212                 pinctrl_gpiokeys_1: gpiokeysgrp-1 {
213                         fsl,pins = <
214                                 MX51_PAD_NANDF_D9__GPIO3_31 0x1f5
215                         >;
216                 };
217
218                 pinctrl_gpioled: gpioledgrp-1 {
219                         fsl,pins = <
220                                 MX51_PAD_NANDF_D10__GPIO3_30 0x80000000
221                         >;
222                 };
223
224                 pinctrl_reg_lcd_3v3: reg_lcd_3v3 {
225                         fsl,pins = <
226                                 MX51_PAD_CSI1_D9__GPIO3_13 0x1f5
227                         >;
228                 };
229
230                 pinctrl_usbh1: usbh1grp {
231                         fsl,pins = <
232                                 MX51_PAD_USBH1_CLK__USBH1_CLK     0x1e5
233                                 MX51_PAD_USBH1_DIR__USBH1_DIR     0x1e5
234                                 MX51_PAD_USBH1_NXT__USBH1_NXT     0x1e5
235                                 MX51_PAD_USBH1_DATA0__USBH1_DATA0 0x1e5
236                                 MX51_PAD_USBH1_DATA1__USBH1_DATA1 0x1e5
237                                 MX51_PAD_USBH1_DATA2__USBH1_DATA2 0x1e5
238                                 MX51_PAD_USBH1_DATA3__USBH1_DATA3 0x1e5
239                                 MX51_PAD_USBH1_DATA4__USBH1_DATA4 0x1e5
240                                 MX51_PAD_USBH1_DATA5__USBH1_DATA5 0x1e5
241                                 MX51_PAD_USBH1_DATA6__USBH1_DATA6 0x1e5
242                                 MX51_PAD_USBH1_DATA7__USBH1_DATA7 0x1e5
243                                 MX51_PAD_USBH1_STP__USBH1_STP     0x1e5
244                         >;
245                 };
246
247                 pinctrl_usbh1_vbus: usbh1-vbusgrp {
248                         fsl,pins = <
249                                 MX51_PAD_EIM_CS3__GPIO2_28 0x1f5
250                         >;
251                 };
252         };
253 };
254
255 &ssi2 {
256         codec-handle = <&tlv320aic23>;
257         status = "okay";
258 };
259
260 &uart1 {
261         pinctrl-names = "default";
262         pinctrl-0 = <&pinctrl_uart1>;
263         uart-has-rtscts;
264         status = "okay";
265 };
266
267 &uart3 {
268         pinctrl-names = "default";
269         pinctrl-0 = <&pinctrl_uart3 &pinctrl_uart3_rtscts>;
270         uart-has-rtscts;
271         status = "okay";
272 };
273
274 &usbh1 {
275         pinctrl-names = "default";
276         pinctrl-0 = <&pinctrl_usbh1>;
277         fsl,usbphy = <&usbh1phy>;
278         dr_mode = "host";
279         phy_type = "ulpi";
280         status = "okay";
281 };
282
283 &usbotg {
284         dr_mode = "otg";
285         phy_type = "utmi_wide";
286         status = "okay";
287 };
288
289 &usbphy0 {
290         pinctrl-names = "default";
291         pinctrl-0 = <&pinctrl_usbh1_vbus>;
292         reset-gpios = <&gpio2 28 GPIO_ACTIVE_LOW>;
293 };