Merge tag 'armsoc-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc
[sfrench/cifs-2.6.git] / arch / arm / boot / dts / am335x-igep0033.dtsi
1 /*
2  * am335x-igep0033.dtsi - Device Tree file for IGEP COM AQUILA AM335x
3  *
4  * Copyright (C) 2013 ISEE 2007 SL - http://www.isee.biz
5  *
6  * This program is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License version 2 as
8  * published by the Free Software Foundation.
9  */
10
11 /dts-v1/;
12
13 #include "am33xx.dtsi"
14 #include <dt-bindings/interrupt-controller/irq.h>
15
16 / {
17         cpus {
18                 cpu@0 {
19                         cpu0-supply = <&vdd1_reg>;
20                 };
21         };
22
23         memory@80000000 {
24                 device_type = "memory";
25                 reg = <0x80000000 0x10000000>; /* 256 MB */
26         };
27
28         leds {
29                 pinctrl-names = "default";
30                 pinctrl-0 = <&leds_pins>;
31
32                 compatible = "gpio-leds";
33
34                 led0 {
35                         label = "com:green:user";
36                         gpios = <&gpio1 23 GPIO_ACTIVE_HIGH>;
37                         default-state = "on";
38                 };
39         };
40
41         vbat: fixedregulator0 {
42                 compatible = "regulator-fixed";
43                 regulator-name = "vbat";
44                 regulator-min-microvolt = <5000000>;
45                 regulator-max-microvolt = <5000000>;
46                 regulator-boot-on;
47         };
48
49         vmmc: fixedregulator1 {
50                 compatible = "regulator-fixed";
51                 regulator-name = "vmmc";
52                 regulator-min-microvolt = <3300000>;
53                 regulator-max-microvolt = <3300000>;
54         };
55 };
56
57 &am33xx_pinmux {
58         i2c0_pins: pinmux_i2c0_pins {
59                 pinctrl-single,pins = <
60                         AM33XX_PADCONF(AM335X_PIN_I2C0_SDA, PIN_INPUT_PULLUP, MUX_MODE0)
61                         AM33XX_PADCONF(AM335X_PIN_I2C0_SCL, PIN_INPUT_PULLUP, MUX_MODE0)
62                 >;
63         };
64
65         nandflash_pins: pinmux_nandflash_pins {
66                 pinctrl-single,pins = <
67                         AM33XX_PADCONF(AM335X_PIN_GPMC_AD0, PIN_INPUT_PULLUP, MUX_MODE0)
68                         AM33XX_PADCONF(AM335X_PIN_GPMC_AD1, PIN_INPUT_PULLUP, MUX_MODE0)
69                         AM33XX_PADCONF(AM335X_PIN_GPMC_AD2, PIN_INPUT_PULLUP, MUX_MODE0)
70                         AM33XX_PADCONF(AM335X_PIN_GPMC_AD3, PIN_INPUT_PULLUP, MUX_MODE0)
71                         AM33XX_PADCONF(AM335X_PIN_GPMC_AD4, PIN_INPUT_PULLUP, MUX_MODE0)
72                         AM33XX_PADCONF(AM335X_PIN_GPMC_AD5, PIN_INPUT_PULLUP, MUX_MODE0)
73                         AM33XX_PADCONF(AM335X_PIN_GPMC_AD6, PIN_INPUT_PULLUP, MUX_MODE0)
74                         AM33XX_PADCONF(AM335X_PIN_GPMC_AD7, PIN_INPUT_PULLUP, MUX_MODE0)
75                         AM33XX_PADCONF(AM335X_PIN_GPMC_WAIT0, PIN_INPUT_PULLUP, MUX_MODE0)
76                         AM33XX_PADCONF(AM335X_PIN_GPMC_WPN, PIN_INPUT_PULLUP, MUX_MODE7)        /* gpmc_wpn.gpio0_30 */
77                         AM33XX_PADCONF(AM335X_PIN_GPMC_CSN0, PIN_OUTPUT, MUX_MODE0)
78                         AM33XX_PADCONF(AM335X_PIN_GPMC_ADVN_ALE, PIN_OUTPUT, MUX_MODE0)
79                         AM33XX_PADCONF(AM335X_PIN_GPMC_OEN_REN, PIN_OUTPUT, MUX_MODE0)
80                         AM33XX_PADCONF(AM335X_PIN_GPMC_WEN, PIN_OUTPUT, MUX_MODE0)
81                         AM33XX_PADCONF(AM335X_PIN_GPMC_BEN0_CLE, PIN_OUTPUT, MUX_MODE0)
82                 >;
83         };
84
85         uart0_pins: pinmux_uart0_pins {
86                 pinctrl-single,pins = <
87                         AM33XX_PADCONF(AM335X_PIN_UART0_RXD, PIN_INPUT_PULLUP, MUX_MODE0)
88                         AM33XX_PADCONF(AM335X_PIN_UART0_TXD, PIN_OUTPUT_PULLDOWN, MUX_MODE0)
89                 >;
90         };
91
92         leds_pins: pinmux_leds_pins {
93                 pinctrl-single,pins = <
94                         AM33XX_PADCONF(AM335X_PIN_GPMC_A7, PIN_OUTPUT_PULLDOWN, MUX_MODE7)      /* gpmc_a7.gpio1_23 */
95                 >;
96         };
97 };
98
99 &mac {
100         status = "okay";
101 };
102
103 &davinci_mdio {
104         status = "okay";
105
106         ethphy0: ethernet-phy@0 {
107                 reg = <0>;
108         };
109
110         ethphy1: ethernet-phy@1 {
111                 reg = <1>;
112         };
113 };
114
115 &cpsw_emac0 {
116         phy-handle = <&ethphy0>;
117         phy-mode = "rmii";
118
119 };
120
121 &cpsw_emac1 {
122         phy-handle = <&ethphy1>;
123         phy-mode = "rmii";
124 };
125
126 &elm {
127         status = "okay";
128 };
129
130 &gpmc {
131         status = "okay";
132         pinctrl-names = "default";
133         pinctrl-0 = <&nandflash_pins>;
134
135         ranges = <0 0 0x08000000 0x1000000>;    /* CS0: 16MB for NAND */
136
137         nand@0,0 {
138                 compatible = "ti,omap2-nand";
139                 reg = <0 0 4>; /* CS0, offset 0, IO size 4 */
140                 interrupt-parent = <&gpmc>;
141                 interrupts = <0 IRQ_TYPE_NONE>, /* fifoevent */
142                              <1 IRQ_TYPE_NONE>; /* termcount */
143                 rb-gpios = <&gpmc 0 GPIO_ACTIVE_HIGH>; /* gpmc_wait0 */
144                 nand-bus-width = <8>;
145                 ti,nand-ecc-opt = "bch8";
146                 gpmc,device-width = <1>;
147                 gpmc,sync-clk-ps = <0>;
148                 gpmc,cs-on-ns = <0>;
149                 gpmc,cs-rd-off-ns = <44>;
150                 gpmc,cs-wr-off-ns = <44>;
151                 gpmc,adv-on-ns = <6>;
152                 gpmc,adv-rd-off-ns = <34>;
153                 gpmc,adv-wr-off-ns = <44>;
154                 gpmc,we-on-ns = <0>;
155                 gpmc,we-off-ns = <40>;
156                 gpmc,oe-on-ns = <0>;
157                 gpmc,oe-off-ns = <54>;
158                 gpmc,access-ns = <64>;
159                 gpmc,rd-cycle-ns = <82>;
160                 gpmc,wr-cycle-ns = <82>;
161                 gpmc,bus-turnaround-ns = <0>;
162                 gpmc,cycle2cycle-delay-ns = <0>;
163                 gpmc,clk-activation-ns = <0>;
164                 gpmc,wr-access-ns = <40>;
165                 gpmc,wr-data-mux-bus-ns = <0>;
166
167                 #address-cells = <1>;
168                 #size-cells = <1>;
169                 ti,elm-id = <&elm>;
170
171                 /* MTD partition table */
172                 partition@0 {
173                         label = "SPL";
174                         reg = <0x00000000 0x000080000>;
175                 };
176
177                 partition@1 {
178                         label = "U-boot";
179                         reg = <0x00080000 0x001e0000>;
180                 };
181
182                 partition@2 {
183                         label = "U-Boot Env";
184                         reg = <0x00260000 0x00020000>;
185                 };
186
187                 partition@3 {
188                         label = "Kernel";
189                         reg = <0x00280000 0x00500000>;
190                 };
191
192                 partition@4 {
193                         label = "File System";
194                         reg = <0x00780000 0x007880000>;
195                 };
196         };
197 };
198
199 &i2c0 {
200         status = "okay";
201         pinctrl-names = "default";
202         pinctrl-0 = <&i2c0_pins>;
203
204         clock-frequency = <400000>;
205
206         tps: tps@2d {
207                 reg = <0x2d>;
208         };
209 };
210
211 &mmc1 {
212         status = "okay";
213         vmmc-supply = <&vmmc>;
214         bus-width = <4>;
215 };
216
217 &uart0 {
218         status = "okay";
219         pinctrl-names = "default";
220         pinctrl-0 = <&uart0_pins>;
221 };
222
223 &usb {
224         status = "okay";
225 };
226
227 &usb_ctrl_mod {
228         status = "okay";
229 };
230
231 &usb0_phy {
232         status = "okay";
233 };
234
235 &usb1_phy {
236         status = "okay";
237 };
238
239 &usb0 {
240         status = "okay";
241 };
242
243 &usb1 {
244         status = "okay";
245         dr_mode = "host";
246 };
247
248 &cppi41dma  {
249         status = "okay";
250 };
251
252 #include "tps65910.dtsi"
253
254 &tps {
255         vcc1-supply = <&vbat>;
256         vcc2-supply = <&vbat>;
257         vcc3-supply = <&vbat>;
258         vcc4-supply = <&vbat>;
259         vcc5-supply = <&vbat>;
260         vcc6-supply = <&vbat>;
261         vcc7-supply = <&vbat>;
262         vccio-supply = <&vbat>;
263
264         regulators {
265                 vrtc_reg: regulator@0 {
266                         regulator-always-on;
267                 };
268
269                 vio_reg: regulator@1 {
270                         regulator-always-on;
271                 };
272
273                 vdd1_reg: regulator@2 {
274                         /* VDD_MPU voltage limits 0.95V - 1.26V with +/-4% tolerance */
275                         regulator-name = "vdd_mpu";
276                         regulator-min-microvolt = <912500>;
277                         regulator-max-microvolt = <1312500>;
278                         regulator-boot-on;
279                         regulator-always-on;
280                 };
281
282                 vdd2_reg: regulator@3 {
283                         /* VDD_CORE voltage limits 0.95V - 1.1V with +/-4% tolerance */
284                         regulator-name = "vdd_core";
285                         regulator-min-microvolt = <912500>;
286                         regulator-max-microvolt = <1150000>;
287                         regulator-boot-on;
288                         regulator-always-on;
289                 };
290
291                 vdd3_reg: regulator@4 {
292                         regulator-always-on;
293                 };
294
295                 vdig1_reg: regulator@5 {
296                         regulator-always-on;
297                 };
298
299                 vdig2_reg: regulator@6 {
300                         regulator-always-on;
301                 };
302
303                 vpll_reg: regulator@7 {
304                         regulator-always-on;
305                 };
306
307                 vdac_reg: regulator@8 {
308                         regulator-always-on;
309                 };
310
311                 vaux1_reg: regulator@9 {
312                         regulator-always-on;
313                 };
314
315                 vaux2_reg: regulator@10 {
316                         regulator-always-on;
317                 };
318
319                 vaux33_reg: regulator@11 {
320                         regulator-always-on;
321                 };
322
323                 vmmc_reg: regulator@12 {
324                         regulator-always-on;
325                 };
326         };
327 };
328