Merge branch 'linux-linaro-lsk-v4.4' into linux-linaro-lsk-v4.4-android
[firefly-linux-kernel-4.4.55.git] / arch / arm / boot / dts / dm8168-evm.dts
1 /*
2  * This program is free software; you can redistribute it and/or modify
3  * it under the terms of the GNU General Public License version 2 as
4  * published by the Free Software Foundation.
5  */
6 /dts-v1/;
7
8 #include "dm816x.dtsi"
9
10 / {
11         model = "DM8168 EVM";
12         compatible = "ti,dm8168-evm", "ti,dm8168";
13
14         memory {
15                 device_type = "memory";
16                 reg = <0x80000000 0x40000000    /* 1 GB */
17                        0xc0000000 0x40000000>;  /* 1 GB */
18         };
19
20         /* FDC6331L controlled by SD_POW pin */
21         vmmcsd_fixed: fixedregulator@0 {
22                 compatible = "regulator-fixed";
23                 regulator-name = "vmmcsd_fixed";
24                 regulator-min-microvolt = <3300000>;
25                 regulator-max-microvolt = <3300000>;
26         };
27 };
28
29 &dm816x_pinmux {
30         mcspi1_pins: pinmux_mcspi1_pins {
31                 pinctrl-single,pins = <
32                         DM816X_IOPAD(0x0a94, MUX_MODE0)                 /* SPI_SCLK */
33                         DM816X_IOPAD(0x0a98, MUX_MODE0)                 /* SPI_SCS0 */
34                         DM816X_IOPAD(0x0aa8, MUX_MODE0)                 /* SPI_D0 */
35                         DM816X_IOPAD(0x0aac, MUX_MODE0)                 /* SPI_D1 */
36                 >;
37         };
38
39         mmc_pins: pinmux_mmc_pins {
40                 pinctrl-single,pins = <
41                         DM816X_IOPAD(0x0a70, MUX_MODE0)                 /* SD_POW */
42                         DM816X_IOPAD(0x0a74, MUX_MODE0)                 /* SD_CLK */
43                         DM816X_IOPAD(0x0a78, MUX_MODE0)                 /* SD_CMD */
44                         DM816X_IOPAD(0x0a7C, MUX_MODE0)                 /* SD_DAT0 */
45                         DM816X_IOPAD(0x0a80, MUX_MODE0)                 /* SD_DAT1 */
46                         DM816X_IOPAD(0x0a84, MUX_MODE0)                 /* SD_DAT2 */
47                         DM816X_IOPAD(0x0a88, MUX_MODE0)                 /* SD_DAT2 */
48                         DM816X_IOPAD(0x0a8c, MUX_MODE2)                 /* GP1[7] */
49                         DM816X_IOPAD(0x0a90, MUX_MODE2)                 /* GP1[8] */
50                 >;
51         };
52
53         usb0_pins: pinmux_usb0_pins {
54                 pinctrl-single,pins = <
55                         DM816X_IOPAD(0x0d04, MUX_MODE0)                 /* USB0_DRVVBUS */
56                 >;
57         };
58
59         usb1_pins: pinmux_usb1_pins {
60                 pinctrl-single,pins = <
61                         DM816X_IOPAD(0x0d08, MUX_MODE0)                 /* USB1_DRVVBUS */
62                 >;
63         };
64 };
65
66 &i2c1 {
67         extgpio0: pcf8575@20 {
68                 compatible = "nxp,pcf8575";
69                 reg = <0x20>;
70                 gpio-controller;
71                 #gpio-cells = <2>;
72         };
73 };
74
75 &i2c2 {
76         extgpio1: pcf8575@20 {
77                 compatible = "nxp,pcf8575";
78                 reg = <0x20>;
79                 gpio-controller;
80                 #gpio-cells = <2>;
81         };
82 };
83
84 &gpmc {
85         ranges = <0 0 0x04000000 0x01000000>;   /* CS0: 16MB for NAND */
86
87         nand@0,0 {
88                 linux,mtd-name= "micron,mt29f2g16aadwp";
89                 reg = <0 0 4>; /* CS0, offset 0, IO size 4 */
90                 #address-cells = <1>;
91                 #size-cells = <1>;
92                 ti,nand-ecc-opt = "bch8";
93                 nand-bus-width = <16>;
94                 gpmc,device-width = <2>;
95                 gpmc,sync-clk-ps = <0>;
96                 gpmc,cs-on-ns = <0>;
97                 gpmc,cs-rd-off-ns = <44>;
98                 gpmc,cs-wr-off-ns = <44>;
99                 gpmc,adv-on-ns = <6>;
100                 gpmc,adv-rd-off-ns = <34>;
101                 gpmc,adv-wr-off-ns = <44>;
102                 gpmc,we-on-ns = <0>;
103                 gpmc,we-off-ns = <40>;
104                 gpmc,oe-on-ns = <0>;
105                 gpmc,oe-off-ns = <54>;
106                 gpmc,access-ns = <64>;
107                 gpmc,rd-cycle-ns = <82>;
108                 gpmc,wr-cycle-ns = <82>;
109                 gpmc,wait-on-read = "true";
110                 gpmc,wait-on-write = "true";
111                 gpmc,bus-turnaround-ns = <0>;
112                 gpmc,cycle2cycle-delay-ns = <0>;
113                 gpmc,clk-activation-ns = <0>;
114                 gpmc,wait-monitoring-ns = <0>;
115                 gpmc,wr-access-ns = <40>;
116                 gpmc,wr-data-mux-bus-ns = <0>;
117                 partition@0 {
118                         label = "X-Loader";
119                         reg = <0 0x80000>;
120                 };
121                 partition@0x80000 {
122                         label = "U-Boot";
123                         reg = <0x80000 0x1c0000>;
124                 };
125                 partition@0x1c0000 {
126                         label = "Environment";
127                         reg = <0x240000 0x40000>;
128                 };
129                 partition@0x280000 {
130                         label = "Kernel";
131                         reg = <0x280000 0x500000>;
132                 };
133                 partition@0x780000 {
134                         label = "Filesystem";
135                         reg = <0x780000 0xf880000>;
136                 };
137         };
138 };
139
140 &mcspi1 {
141         pinctrl-names = "default";
142         pinctrl-0 = <&mcspi1_pins>;
143
144         m25p80@0 {
145                 compatible = "w25x32";
146                 spi-max-frequency = <48000000>;
147                 reg = <0>;
148                 #address-cells = <1>;
149                 #size-cells = <1>;
150         };
151 };
152
153 &mmc1 {
154         pinctrl-names = "default";
155         pinctrl-0 = <&mmc_pins>;
156         vmmc-supply = <&vmmcsd_fixed>;
157         bus-width = <4>;
158         cd-gpios = <&gpio2 7 GPIO_ACTIVE_LOW>;
159         wp-gpios = <&gpio2 8 GPIO_ACTIVE_LOW>;
160 };
161
162 /* At least dm8168-evm rev c won't support multipoint, later may */
163 &usb0 {
164         pinctrl-names = "default";
165         pinctrl-0 = <&usb0_pins>;
166         mentor,multipoint = <0>;
167 };
168
169 &usb1 {
170         pinctrl-names = "default";
171         pinctrl-0 = <&usb1_pins>;
172         mentor,multipoint = <0>;
173 };