Merge tag 'pinctrl-v5.1-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw...
[sfrench/cifs-2.6.git] / arch / arm / boot / dts / lpc3250-ea3250.dts
1 /*
2  * Embedded Artists LPC3250 board
3  *
4  * Copyright 2012 Roland Stigge <stigge@antcom.de>
5  *
6  * The code contained herein is licensed under the GNU General Public
7  * License. You may obtain a copy of the GNU General Public License
8  * Version 2 or later at the following locations:
9  *
10  * http://www.opensource.org/licenses/gpl-license.html
11  * http://www.gnu.org/copyleft/gpl.html
12  */
13
14 /dts-v1/;
15 #include "lpc32xx.dtsi"
16
17 / {
18         model = "Embedded Artists LPC3250 board based on NXP LPC3250";
19         compatible = "ea,ea3250", "nxp,lpc3250";
20
21         memory@80000000 {
22                 device_type = "memory";
23                 reg = <0x80000000 0x4000000>;
24         };
25
26         gpio-keys {
27                 compatible = "gpio-keys";
28                 autorepeat;
29
30                 button {
31                         label = "Interrupt Key";
32                         linux,code = <103>;
33                         gpios = <&gpio 4 1 0>; /* GPI_P3 1 */
34                 };
35
36                 key1 {
37                         label = "KEY1";
38                         linux,code = <1>;
39                         gpios = <&pca9532 0 0>;
40                 };
41
42                 key2 {
43                         label = "KEY2";
44                         linux,code = <2>;
45                         gpios = <&pca9532 1 0>;
46                 };
47
48                 key3 {
49                         label = "KEY3";
50                         linux,code = <3>;
51                         gpios = <&pca9532 2 0>;
52                 };
53
54                 key4 {
55                         label = "KEY4";
56                         linux,code = <4>;
57                         gpios = <&pca9532 3 0>;
58                 };
59
60                 joy0 {
61                         label = "Joystick Key 0";
62                         linux,code = <10>;
63                         gpios = <&gpio 2 0 0>; /* P2.0 */
64                 };
65
66                 joy1 {
67                         label = "Joystick Key 1";
68                         linux,code = <11>;
69                         gpios = <&gpio 2 1 0>; /* P2.1 */
70                 };
71
72                 joy2 {
73                         label = "Joystick Key 2";
74                         linux,code = <12>;
75                         gpios = <&gpio 2 2 0>; /* P2.2 */
76                 };
77
78                 joy3 {
79                         label = "Joystick Key 3";
80                         linux,code = <13>;
81                         gpios = <&gpio 2 3 0>; /* P2.3 */
82                 };
83
84                 joy4 {
85                         label = "Joystick Key 4";
86                         linux,code = <14>;
87                         gpios = <&gpio 2 4 0>; /* P2.4 */
88                 };
89         };
90
91         leds {
92                 compatible = "gpio-leds";
93
94                 /* LEDs on OEM Board */
95
96                 led1 {
97                         gpios = <&gpio 5 14 1>; /* GPO_P3 14, GPIO 93, active low */
98                         linux,default-trigger = "timer";
99                         default-state = "off";
100                 };
101
102                 led2 {
103                         gpios = <&gpio 2 10 1>; /* P2.10, active low */
104                         default-state = "off";
105                 };
106
107                 led3 {
108                         gpios = <&gpio 2 11 1>; /* P2.11, active low */
109                         default-state = "off";
110                 };
111
112                 led4 {
113                         gpios = <&gpio 2 12 1>; /* P2.12, active low */
114                         default-state = "off";
115                 };
116
117                 /* LEDs on Base Board */
118
119                 lede1 {
120                         gpios = <&pca9532 8 0>;
121                         default-state = "off";
122                 };
123                 lede2 {
124                         gpios = <&pca9532 9 0>;
125                         default-state = "off";
126                 };
127                 lede3 {
128                         gpios = <&pca9532 10 0>;
129                         default-state = "off";
130                 };
131                 lede4 {
132                         gpios = <&pca9532 11 0>;
133                         default-state = "off";
134                 };
135                 lede5 {
136                         gpios = <&pca9532 12 0>;
137                         default-state = "off";
138                 };
139                 lede6 {
140                         gpios = <&pca9532 13 0>;
141                         default-state = "off";
142                 };
143                 lede7 {
144                         gpios = <&pca9532 14 0>;
145                         default-state = "off";
146                 };
147                 lede8 {
148                         gpios = <&pca9532 15 0>;
149                         default-state = "off";
150                 };
151         };
152 };
153
154 /* 3-axis accelerometer X,Y,Z (or AD-IN instead of Z) */
155 &adc {
156         status = "okay";
157 };
158
159 &i2c1 {
160         clock-frequency = <100000>;
161
162         uda1380: uda1380@18 {
163                 compatible = "nxp,uda1380";
164                 reg = <0x18>;
165                 power-gpio = <&gpio 3 10 0>;
166                 reset-gpio = <&gpio 3 2 0>;
167                 dac-clk = "wspll";
168         };
169
170         eeprom@50 {
171                 compatible = "atmel,24c256";
172                 reg = <0x50>;
173         };
174
175         eeprom@57 {
176                 compatible = "atmel,24c64";
177                 reg = <0x57>;
178         };
179
180         pca9532: pca9532@60 {
181                 compatible = "nxp,pca9532";
182                 gpio-controller;
183                 #gpio-cells = <2>;
184                 reg = <0x60>;
185         };
186 };
187
188 &i2c2 {
189         clock-frequency = <100000>;
190 };
191
192 &i2cusb {
193         clock-frequency = <100000>;
194
195         isp1301: usb-transceiver@2d {
196                 compatible = "nxp,isp1301";
197                 reg = <0x2d>;
198         };
199 };
200
201 &mac {
202         phy-mode = "rmii";
203         use-iram;
204 };
205
206 /* Here, choose exactly one from: ohci, usbd */
207 &ohci /* &usbd */ {
208         transceiver = <&isp1301>;
209         status = "okay";
210 };
211
212 &sd {
213         wp-gpios = <&pca9532 5 0>;
214         cd-gpios = <&pca9532 4 0>;
215         cd-inverted;
216         bus-width = <4>;
217         status = "okay";
218 };
219
220 /* 128MB Flash via SLC NAND controller */
221 &slc {
222         status = "okay";
223
224         nxp,wdr-clks = <14>;
225         nxp,wwidth = <260000000>;
226         nxp,whold = <104000000>;
227         nxp,wsetup = <200000000>;
228         nxp,rdr-clks = <14>;
229         nxp,rwidth = <34666666>;
230         nxp,rhold = <104000000>;
231         nxp,rsetup = <200000000>;
232         nand-on-flash-bbt;
233         gpios = <&gpio 5 19 1>; /* GPO_P3 19, active low */
234
235         partitions {
236                 compatible = "fixed-partitions";
237                 #address-cells = <1>;
238                 #size-cells = <1>;
239
240                 mtd0@0 {
241                         label = "ea3250-boot";
242                         reg = <0x00000000 0x00080000>;
243                         read-only;
244                 };
245
246                 mtd1@80000 {
247                         label = "ea3250-uboot";
248                         reg = <0x00080000 0x000c0000>;
249                         read-only;
250                 };
251
252                 mtd2@140000 {
253                         label = "ea3250-kernel";
254                         reg = <0x00140000 0x00400000>;
255                 };
256
257                 mtd3@540000 {
258                         label = "ea3250-rootfs";
259                         reg = <0x00540000 0x07ac0000>;
260                 };
261         };
262 };
263
264 &uart1 {
265         status = "okay";
266 };
267
268 &uart3 {
269         status = "okay";
270 };
271
272 &uart5 {
273         status = "okay";
274 };
275
276 &uart6 {
277         status = "okay";
278 };