mm: hugetlb: fix hugepage memory leak caused by wrong reserve count
[linux/fpc-iii.git] / arch / arm / boot / dts / lpc4357-ea4357-devkit.dts
blob391121d24daa390a46b1d431123a6ebdd59ac7ba
1 /*
2  * Embedded Artist LPC4357 Developer's Kit
3  *
4  * Copyright 2015 Joachim Eastwood <manabian@gmail.com>
5  *
6  * This code is released using a dual license strategy: BSD/GPL
7  * You can choose the licence that better fits your requirements.
8  *
9  * Released under the terms of 3-clause BSD License
10  * Released under the terms of GNU General Public License Version 2.0
11  *
12  */
13 /dts-v1/;
15 #include "lpc18xx.dtsi"
16 #include "lpc4357.dtsi"
18 #include "dt-bindings/input/input.h"
19 #include "dt-bindings/gpio/gpio.h"
21 / {
22         model = "Embedded Artists' LPC4357 Developer's Kit";
23         compatible = "ea,lpc4357-developers-kit", "nxp,lpc4357", "nxp,lpc4350";
25         aliases {
26                 serial0 = &uart0;
27                 serial1 = &uart1;
28                 serial2 = &uart2;
29                 serial3 = &uart3;
30         };
32         chosen {
33                 stdout-path = &uart0;
34         };
36         memory {
37                 device_type = "memory";
38                 reg = <0x28000000 0x2000000>; /* 32 MB */
39         };
41         /* vmmc is controlled by sdmmc host internally */
42         vmmc: vmmc_fixed {
43                 compatible = "regulator-fixed";
44                 regulator-name = "vmmc-supply";
45                 regulator-min-microvolt = <3300000>;
46                 regulator-max-microvolt = <3300000>;
47         };
49         gpio_joystick {
50                 compatible = "gpio-keys-polled";
51                 pinctrl-names = "default";
52                 pinctrl-0 = <&gpio_joystick_pins>;
53                 #address-cells = <1>;
54                 #size-cells = <0>;
55                 poll-interval = <100>;
56                 autorepeat;
58                 button@0 {
59                         label = "joy_enter";
60                         linux,code = <KEY_ENTER>;
61                         gpios = <&gpio LPC_GPIO(4,8) GPIO_ACTIVE_LOW>;
62                 };
64                 button@1 {
65                         label = "joy_left";
66                         linux,code = <KEY_LEFT>;
67                         gpios = <&gpio LPC_GPIO(4,9) GPIO_ACTIVE_LOW>;
68                 };
70                 button@2 {
71                         label = "joy_up";
72                         linux,code = <KEY_UP>;
73                         gpios = <&gpio LPC_GPIO(4,10) GPIO_ACTIVE_LOW>;
74                 };
76                 button@3 {
77                         label = "joy_right";
78                         linux,code = <KEY_RIGHT>;
79                         gpios = <&gpio LPC_GPIO(4,12) GPIO_ACTIVE_LOW>;
80                 };
82                 button@4 {
83                         label = "joy_down";
84                         linux,code = <KEY_DOWN>;
85                         gpios = <&gpio LPC_GPIO(4,13) GPIO_ACTIVE_LOW>;
86                 };
87         };
89         leds_mmio {
90                 compatible = "gpio-leds";
92                 led1 {
93                         gpios = <&mmio_leds 15 GPIO_ACTIVE_HIGH>;
94                         linux,default-trigger = "heartbeat";
95                 };
97                 led2 {
98                         gpios = <&mmio_leds 14 GPIO_ACTIVE_HIGH>;
99                 };
101                 led3 {
102                         gpios = <&mmio_leds 13 GPIO_ACTIVE_HIGH>;
103                 };
105                 led4 {
106                         gpios = <&mmio_leds 12 GPIO_ACTIVE_HIGH>;
107                 };
109                 led5 {
110                         gpios = <&mmio_leds 11 GPIO_ACTIVE_HIGH>;
111                 };
113                 led6 {
114                         gpios = <&mmio_leds 10 GPIO_ACTIVE_HIGH>;
115                 };
117                 led7 {
118                         gpios = <&mmio_leds 9 GPIO_ACTIVE_HIGH>;
119                 };
121                 led8 {
122                         gpios = <&mmio_leds 8 GPIO_ACTIVE_HIGH>;
123                 };
125                 led9 {
126                         gpios = <&mmio_leds 7 GPIO_ACTIVE_HIGH>;
127                 };
129                 led10 {
130                         gpios = <&mmio_leds 6 GPIO_ACTIVE_HIGH>;
131                 };
133                 led11 {
134                         gpios = <&mmio_leds 5 GPIO_ACTIVE_HIGH>;
135                 };
137                 led12 {
138                         gpios = <&mmio_leds 4 GPIO_ACTIVE_HIGH>;
139                 };
141                 led13 {
142                         gpios = <&mmio_leds 3 GPIO_ACTIVE_HIGH>;
143                 };
145                 led14 {
146                         gpios = <&mmio_leds 2 GPIO_ACTIVE_HIGH>;
147                 };
149                 led15 {
150                         gpios = <&mmio_leds 1 GPIO_ACTIVE_HIGH>;
151                 };
153                 led16 {
154                         gpios = <&mmio_leds 0 GPIO_ACTIVE_HIGH>;
155                 };
156         };
159 &pinctrl {
160         emc_pins: emc-pins {
161                 emc_addr0_23_cfg {
162                         pins =  "p2_9",  "p2_10", "p2_11", "p2_12",
163                                 "p2_13", "p1_0",  "p1_1",  "p1_2",
164                                 "p2_8",  "p2_7",  "p2_6",  "p2_2",
165                                 "p2_1",  "p2_0",  "p6_8",  "p6_7",
166                                 "pd_16", "pd_15", "pe_0",  "pe_1",
167                                 "pe_2",  "pe_3",  "pe_4",  "pa_4";
168                         function = "emc";
169                         slew-rate = <1>;
170                         bias-disable;
171                         input-enable;
172                         input-schmitt-disable;
173                 };
175                 emc_data0_31_cfg {
176                         pins =  "p1_7",  "p1_8",  "p1_9",  "p1_10",
177                                 "p1_11", "p1_12", "p1_13", "p1_14",
178                                 "p5_4",  "p5_5",  "p5_6",  "p5_7",
179                                 "p5_0",  "p5_1",  "p5_2",  "p5_3",
180                                 "pd_2",  "pd_3",  "pd_4",  "pd_5",
181                                 "pd_6",  "pd_7",  "pd_8",  "pd_9",
182                                 "pe_5",  "pe_6",  "pe_7",  "pe_8",
183                                 "pe_9",  "pe_10", "pe_11", "pe_12";
184                         function = "emc";
185                         slew-rate = <1>;
186                         bias-disable;
187                         input-enable;
188                         input-schmitt-disable;
189                 };
191                 emc_we_oe_cfg {
192                         pins = "p1_6", "p1_3";
193                         function = "emc";
194                         slew-rate = <1>;
195                         bias-disable;
196                         input-enable;
197                         input-schmitt-disable;
198                 };
200                 emc_bls0_3_cfg {
201                         pins = "p1_4", "p6_6", "pd_13", "pd_10";
202                         function = "emc";
203                         slew-rate = <1>;
204                         bias-disable;
205                         input-enable;
206                         input-schmitt-disable;
207                 };
209                 emc_cs0_3_cfg {
210                         pins = "p1_5", "p6_3", "pd_12", "pd_11";
211                         function = "emc";
212                         slew-rate = <1>;
213                         bias-disable;
214                         input-enable;
215                         input-schmitt-disable;
216                 };
218                 emc_sdram_dqm0_3_cfg {
219                         pins = "p6_12", "p6_10", "pd_0", "pe_13";
220                         function = "emc";
221                         slew-rate = <1>;
222                         bias-disable;
223                         input-enable;
224                         input-schmitt-disable;
225                 };
227                 emc_sdram_ras_cas_cfg {
228                         pins = "p6_5", "p6_4";
229                         function = "emc";
230                         slew-rate = <1>;
231                         bias-disable;
232                         input-enable;
233                         input-schmitt-disable;
234                 };
236                 emc_sdram_dycs0_cfg {
237                         pins = "p6_9";
238                         function = "emc";
239                         slew-rate = <1>;
240                         bias-disable;
241                         input-enable;
242                         input-schmitt-disable;
243                 };
245                 emc_sdram_cke_cfg {
246                         pins = "p6_11";
247                         function = "emc";
248                         slew-rate = <1>;
249                         bias-disable;
250                         input-enable;
251                         input-schmitt-disable;
252                 };
254                 emc_sdram_clock_cfg {
255                         pins = "clk0", "clk1", "clk2", "clk3";
256                         function = "emc";
257                         slew-rate = <1>;
258                         bias-disable;
259                         input-enable;
260                         input-schmitt-disable;
261                 };
262         };
264         enet_rmii_pins: enet-rmii-pins {
265                 enet_rmii_rxd_cfg {
266                         pins = "p1_15", "p0_0";
267                         function = "enet";
268                         slew-rate = <1>;
269                         bias-disable;
270                         input-enable;
271                         input-schmitt-disable;
272                 };
274                 enet_rmii_txd_cfg {
275                         pins = "p1_18", "p1_20";
276                         function = "enet";
277                         slew-rate = <1>;
278                         bias-disable;
279                         input-enable;
280                         input-schmitt-disable;
281                 };
283                 enet_rmii_rx_dv_cfg {
284                         pins = "p1_16";
285                         function = "enet";
286                         bias-disable;
287                         input-enable;
288                         input-schmitt-disable;
289                 };
291                 enet_rmii_tx_en_cfg {
292                         pins = "p0_1";
293                         function = "enet";
294                         bias-disable;
295                         input-enable;
296                         input-schmitt-disable;
297                 };
299                 enet_ref_clk_cfg {
300                         pins = "p1_19";
301                         function = "enet";
302                         slew-rate = <1>;
303                         bias-disable;
304                         input-enable;
305                         input-schmitt-disable;
306                 };
308                 enet_mdio_cfg {
309                         pins = "p1_17";
310                         function = "enet";
311                         bias-disable;
312                         input-enable;
313                         input-schmitt-disable;
314                 };
316                 enet_mdc_cfg {
317                         pins = "pc_1";
318                         function = "enet";
319                         slew-rate = <1>;
320                         bias-disable;
321                         input-enable;
322                         input-schmitt-disable;
323                 };
324         };
326         gpio_joystick_pins: gpio-joystick-pins {
327                 gpio_joystick_cfg {
328                         pins =  "p9_0", "p9_1", "pa_1", "pa_2", "pa_3";
329                         function = "gpio";
330                         input-enable;
331                         bias-disable;
332                 };
333         };
335         i2c0_pins: i2c0-pins {
336                 i2c0_pins_cfg {
337                         pins = "i2c0_scl", "i2c0_sda";
338                         function = "i2c0";
339                         input-enable;
340                 };
341         };
343         sdmmc_pins: sdmmc-pins {
344                 sdmmc_clk_cfg {
345                         pins = "pc_0";
346                         function = "sdmmc";
347                         slew-rate = <1>;
348                         bias-pull-down;
349                 };
351                 sdmmc_cmd_dat0_3_cfg {
352                         pins = "pc_4", "pc_5", "pc_6", "pc_7", "pc_10";
353                         function = "sdmmc";
354                         slew-rate = <1>;
355                         bias-disable;
356                         input-enable;
357                         input-schmitt-disable;
358                 };
360                 sdmmc_cd_cfg {
361                         pins = "pc_8";
362                         function = "sdmmc";
363                         bias-pull-down;
364                         input-enable;
365                 };
367                 sdmmc_pow_cfg {
368                         pins = "pc_9";
369                         function = "sdmmc";
370                         bias-pull-down;
371                 };
372         };
374         spifi_pins: spifi-pins {
375                 spifi_clk_cfg {
376                         pins = "p3_3";
377                         function = "spifi";
378                         slew-rate = <1>;
379                         bias-disable;
380                         input-enable;
381                         input-schmitt-disable;
382                 };
384                 spifi_mosi_miso_sio2_3_cfg {
385                         pins = "p3_7", "p3_6", "p3_5", "p3_4";
386                         function = "spifi";
387                         slew-rate = <0>;
388                         bias-disable;
389                         input-enable;
390                         input-schmitt-disable;
391                 };
393                 spifi_cs_cfg {
394                         pins = "p3_8";
395                         function = "spifi";
396                         bias-disable;
397                 };
398         };
400         ssp0_pins: ssp0-pins {
401                 ssp0_sck_miso_mosi {
402                         pins = "pf_0", "pf_2", "pf_3";
403                         function = "ssp0";
404                         slew-rate = <1>;
405                         bias-pull-down;
406                         input-enable;
407                         input-schmitt-disable;
408                 };
410                 ssp0_ssel {
411                         pins = "pf_1";
412                         function = "ssp0";
413                         bias-pull-up;
414                 };
415         };
417         uart0_pins: uart0-pins {
418                 uart0_rx_cfg {
419                         pins = "pf_11";
420                         function = "uart0";
421                         input-schmitt-disable;
422                         bias-disable;
423                         input-enable;
424                 };
426                 uart0_tx_cfg {
427                         pins = "pf_10";
428                         function = "uart0";
429                         bias-pull-down;
430                 };
431         };
433         uart3_pins: uart3-pins {
434                 uart3_rx_cfg {
435                         pins = "p2_4";
436                         function = "uart3";
437                         input-schmitt-disable;
438                         bias-disable;
439                         input-enable;
440                 };
442                 uart3_tx_cfg {
443                         pins = "p9_3";
444                         function = "uart3";
445                         bias-pull-down;
446                 };
447         };
449         usb0_pins: usb0-pins {
450                 usb0_pwr_enable {
451                         pins = "p2_3";
452                         function = "usb0";
453                 };
455                 usb0_pwr_fault {
456                         pins = "p8_0";
457                         function = "usb0";
458                         bias-disable;
459                         input-enable;
460                 };
461         };
464 &i2c0 {
465         status = "okay";
466         pinctrl-names = "default";
467         pinctrl-0 = <&i2c0_pins>;
468         clock-frequency = <400000>;
470         lm75@48 {
471                 compatible = "nxp,lm75";
472                 reg = <0x48>;
473         };
475         eeprom@57 {
476                 compatible = "microchip,24c64";
477                 reg = <0x57>;
478         };
481 &emc {
482         status = "okay";
483         pinctrl-names = "default";
484         pinctrl-0 = <&emc_pins>;
486         cs0 {
487                 #address-cells = <2>;
488                 #size-cells = <1>;
489                 ranges;
491                 mpmc,cs = <0>;
492                 mpmc,memory-width = <16>;
493                 mpmc,byte-lane-low;
494                 mpmc,write-enable-delay = <0>;
495                 mpmc,output-enable-delay = <0>;
496                 mpmc,read-access-delay = <70>;
497                 mpmc,page-mode-read-delay = <70>;
499                 flash@0,0 {
500                         compatible = "sst,sst39vf320", "cfi-flash";
501                         reg = <0 0 0x400000>;
502                         bank-width = <2>;
503                         #address-cells = <1>;
504                         #size-cells = <1>;
506                         partition@0 {
507                                 label = "bootloader";
508                                 reg = <0x000000 0x040000>; /* 256 KiB */
509                         };
511                         partition@1 {
512                                 label = "kernel";
513                                 reg = <0x040000 0x2c0000>; /* 2.75 MiB */
514                         };
516                         partition@2 {
517                                 label = "rootfs";
518                                 reg = <0x300000 0x100000>; /* 1 MiB */
519                         };
520                 };
521         };
523         cs2 {
524                 #address-cells = <2>;
525                 #size-cells = <1>;
526                 ranges;
528                 mpmc,cs = <2>;
529                 mpmc,memory-width = <16>;
531                 mmio_leds: gpio@2,0 {
532                         compatible = "ti,7416374";
533                         reg = <2 0 0x2>;
534                         gpio-controller;
535                         #gpio-cells = <2>;
536                 };
538         };
541 &enet_tx_clk {
542         clock-frequency = <50000000>;
545 &mac {
546         status = "okay";
547         phy-mode = "rmii";
548         pinctrl-names = "default";
549         pinctrl-0 = <&enet_rmii_pins>;
552 &mmcsd {
553         status = "okay";
554         bus-width = <4>;
555         vmmc-supply = <&vmmc>;
556         pinctrl-names = "default";
557         pinctrl-0 = <&sdmmc_pins>;
560 &spifi {
561         status = "okay";
562         pinctrl-names = "default";
563         pinctrl-0 = <&spifi_pins>;
565         flash@0 {
566                 compatible = "jedec,spi-nor";
567                 spi-cpol;
568                 spi-cpha;
569                 spi-rx-bus-width = <4>;
570                 #address-cells = <1>;
571                 #size-cells = <1>;
573                 partition@0 {
574                         label = "data";
575                         reg = <0 0x200000>;
576                 };
577         };
580 &ssp0 {
581         status = "okay";
582         pinctrl-names = "default";
583         pinctrl-0 = <&ssp0_pins>;
584         num-cs = <1>;
587 &uart0 {
588         status = "okay";
589         pinctrl-names = "default";
590         pinctrl-0 = <&uart0_pins>;
593 &uart3 {
594         status = "okay";
595         pinctrl-names = "default";
596         pinctrl-0 = <&uart3_pins>;
599 &usb0 {
600         status = "okay";
601         pinctrl-names = "default";
602         pinctrl-0 = <&usb0_pins>;