Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next
[cascardo/linux.git] / arch / arm / boot / dts / am335x-evmsk.dts
1 /*
2  * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
3  *
4  * This program is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License version 2 as
6  * published by the Free Software Foundation.
7  */
8
9 /*
10  * AM335x Starter Kit
11  * http://www.ti.com/tool/tmdssk3358
12  */
13
14 /dts-v1/;
15
16 #include "am33xx.dtsi"
17
18 / {
19         model = "TI AM335x EVM-SK";
20         compatible = "ti,am335x-evmsk", "ti,am33xx";
21
22         cpus {
23                 cpu@0 {
24                         cpu0-supply = <&vdd1_reg>;
25                 };
26         };
27
28         memory {
29                 device_type = "memory";
30                 reg = <0x80000000 0x10000000>; /* 256 MB */
31         };
32
33         am33xx_pinmux: pinmux@44e10800 {
34                 pinctrl-names = "default";
35                 pinctrl-0 = <&gpio_keys_s0 &clkout2_pin>;
36
37                 user_leds_s0: user_leds_s0 {
38                         pinctrl-single,pins = <
39                                 0x10 (PIN_OUTPUT_PULLDOWN | MUX_MODE7)  /* gpmc_ad4.gpio1_4 */
40                                 0x14 (PIN_OUTPUT_PULLDOWN | MUX_MODE7)  /* gpmc_ad5.gpio1_5 */
41                                 0x18 (PIN_OUTPUT_PULLDOWN | MUX_MODE7)  /* gpmc_ad6.gpio1_6 */
42                                 0x1c (PIN_OUTPUT_PULLDOWN | MUX_MODE7)  /* gpmc_ad7.gpio1_7 */
43                         >;
44                 };
45
46                 gpio_keys_s0: gpio_keys_s0 {
47                         pinctrl-single,pins = <
48                                 0x94 (PIN_INPUT_PULLDOWN | MUX_MODE7)   /* gpmc_oen_ren.gpio2_3 */
49                                 0x90 (PIN_INPUT_PULLDOWN | MUX_MODE7)   /* gpmc_advn_ale.gpio2_2 */
50                                 0x70 (PIN_INPUT_PULLDOWN | MUX_MODE7)   /* gpmc_wait0.gpio0_30 */
51                                 0x9c (PIN_INPUT_PULLDOWN | MUX_MODE7)   /* gpmc_ben0_cle.gpio2_5 */
52                         >;
53                 };
54
55                 i2c0_pins: pinmux_i2c0_pins {
56                         pinctrl-single,pins = <
57                                 0x188 (PIN_INPUT_PULLUP | MUX_MODE0)    /* i2c0_sda.i2c0_sda */
58                                 0x18c (PIN_INPUT_PULLUP | MUX_MODE0)    /* i2c0_scl.i2c0_scl */
59                         >;
60                 };
61
62                 uart0_pins: pinmux_uart0_pins {
63                         pinctrl-single,pins = <
64                                 0x170 (PIN_INPUT_PULLUP | MUX_MODE0)    /* uart0_rxd.uart0_rxd */
65                                 0x174 (PIN_OUTPUT_PULLDOWN | MUX_MODE0)         /* uart0_txd.uart0_txd */
66                         >;
67                 };
68
69                 clkout2_pin: pinmux_clkout2_pin {
70                         pinctrl-single,pins = <
71                                 0x1b4 (PIN_OUTPUT_PULLDOWN | MUX_MODE3)         /* xdma_event_intr1.clkout2 */
72                         >;
73                 };
74
75                 ecap2_pins: backlight_pins {
76                         pinctrl-single,pins = <
77                                 0x19c 0x4       /* mcasp0_ahclkr.ecap2_in_pwm2_out MODE4 */
78                         >;
79                 };
80
81                 cpsw_default: cpsw_default {
82                         pinctrl-single,pins = <
83                                 /* Slave 1 */
84                                 0x114 (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txen.rgmii1_tctl */
85                                 0x118 (PIN_INPUT_PULLDOWN | MUX_MODE2)  /* mii1_rxdv.rgmii1_rctl */
86                                 0x11c (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txd3.rgmii1_td3 */
87                                 0x120 (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txd2.rgmii1_td2 */
88                                 0x124 (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txd1.rgmii1_td1 */
89                                 0x128 (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txd0.rgmii1_td0 */
90                                 0x12c (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txclk.rgmii1_tclk */
91                                 0x130 (PIN_INPUT_PULLDOWN | MUX_MODE2)  /* mii1_rxclk.rgmii1_rclk */
92                                 0x134 (PIN_INPUT_PULLDOWN | MUX_MODE2)  /* mii1_rxd3.rgmii1_rd3 */
93                                 0x138 (PIN_INPUT_PULLDOWN | MUX_MODE2)  /* mii1_rxd2.rgmii1_rd2 */
94                                 0x13c (PIN_INPUT_PULLDOWN | MUX_MODE2)  /* mii1_rxd1.rgmii1_rd1 */
95                                 0x140 (PIN_INPUT_PULLDOWN | MUX_MODE2)  /* mii1_rxd0.rgmii1_rd0 */
96
97                                 /* Slave 2 */
98                                 0x40 (PIN_OUTPUT_PULLDOWN | MUX_MODE2)  /* gpmc_a0.rgmii2_tctl */
99                                 0x44 (PIN_INPUT_PULLDOWN | MUX_MODE2)   /* gpmc_a1.rgmii2_rctl */
100                                 0x48 (PIN_OUTPUT_PULLDOWN | MUX_MODE2)  /* gpmc_a2.rgmii2_td3 */
101                                 0x4c (PIN_OUTPUT_PULLDOWN | MUX_MODE2)  /* gpmc_a3.rgmii2_td2 */
102                                 0x50 (PIN_OUTPUT_PULLDOWN | MUX_MODE2)  /* gpmc_a4.rgmii2_td1 */
103                                 0x54 (PIN_OUTPUT_PULLDOWN | MUX_MODE2)  /* gpmc_a5.rgmii2_td0 */
104                                 0x58 (PIN_OUTPUT_PULLDOWN | MUX_MODE2)  /* gpmc_a6.rgmii2_tclk */
105                                 0x5c (PIN_INPUT_PULLDOWN | MUX_MODE2)   /* gpmc_a7.rgmii2_rclk */
106                                 0x60 (PIN_INPUT_PULLDOWN | MUX_MODE2)   /* gpmc_a8.rgmii2_rd3 */
107                                 0x64 (PIN_INPUT_PULLDOWN | MUX_MODE2)   /* gpmc_a9.rgmii2_rd2 */
108                                 0x68 (PIN_INPUT_PULLDOWN | MUX_MODE2)   /* gpmc_a10.rgmii2_rd1 */
109                                 0x6c (PIN_INPUT_PULLDOWN | MUX_MODE2)   /* gpmc_a11.rgmii2_rd0 */
110                         >;
111                 };
112
113                 cpsw_sleep: cpsw_sleep {
114                         pinctrl-single,pins = <
115                                 /* Slave 1 reset value */
116                                 0x114 (PIN_INPUT_PULLDOWN | MUX_MODE7)
117                                 0x118 (PIN_INPUT_PULLDOWN | MUX_MODE7)
118                                 0x11c (PIN_INPUT_PULLDOWN | MUX_MODE7)
119                                 0x120 (PIN_INPUT_PULLDOWN | MUX_MODE7)
120                                 0x124 (PIN_INPUT_PULLDOWN | MUX_MODE7)
121                                 0x128 (PIN_INPUT_PULLDOWN | MUX_MODE7)
122                                 0x12c (PIN_INPUT_PULLDOWN | MUX_MODE7)
123                                 0x130 (PIN_INPUT_PULLDOWN | MUX_MODE7)
124                                 0x134 (PIN_INPUT_PULLDOWN | MUX_MODE7)
125                                 0x138 (PIN_INPUT_PULLDOWN | MUX_MODE7)
126                                 0x13c (PIN_INPUT_PULLDOWN | MUX_MODE7)
127                                 0x140 (PIN_INPUT_PULLDOWN | MUX_MODE7)
128
129                                 /* Slave 2 reset value*/
130                                 0x40 (PIN_INPUT_PULLDOWN | MUX_MODE7)
131                                 0x44 (PIN_INPUT_PULLDOWN | MUX_MODE7)
132                                 0x48 (PIN_INPUT_PULLDOWN | MUX_MODE7)
133                                 0x4c (PIN_INPUT_PULLDOWN | MUX_MODE7)
134                                 0x50 (PIN_INPUT_PULLDOWN | MUX_MODE7)
135                                 0x54 (PIN_INPUT_PULLDOWN | MUX_MODE7)
136                                 0x58 (PIN_INPUT_PULLDOWN | MUX_MODE7)
137                                 0x5c (PIN_INPUT_PULLDOWN | MUX_MODE7)
138                                 0x60 (PIN_INPUT_PULLDOWN | MUX_MODE7)
139                                 0x64 (PIN_INPUT_PULLDOWN | MUX_MODE7)
140                                 0x68 (PIN_INPUT_PULLDOWN | MUX_MODE7)
141                                 0x6c (PIN_INPUT_PULLDOWN | MUX_MODE7)
142                         >;
143                 };
144
145                 davinci_mdio_default: davinci_mdio_default {
146                         pinctrl-single,pins = <
147                                 /* MDIO */
148                                 0x148 (PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE0)    /* mdio_data.mdio_data */
149                                 0x14c (PIN_OUTPUT_PULLUP | MUX_MODE0)                   /* mdio_clk.mdio_clk */
150                         >;
151                 };
152
153                 davinci_mdio_sleep: davinci_mdio_sleep {
154                         pinctrl-single,pins = <
155                                 /* MDIO reset value */
156                                 0x148 (PIN_INPUT_PULLDOWN | MUX_MODE7)
157                                 0x14c (PIN_INPUT_PULLDOWN | MUX_MODE7)
158                         >;
159                 };
160         };
161
162         ocp {
163                 uart0: serial@44e09000 {
164                         pinctrl-names = "default";
165                         pinctrl-0 = <&uart0_pins>;
166
167                         status = "okay";
168                 };
169
170                 i2c0: i2c@44e0b000 {
171                         pinctrl-names = "default";
172                         pinctrl-0 = <&i2c0_pins>;
173
174                         status = "okay";
175                         clock-frequency = <400000>;
176
177                         tps: tps@2d {
178                                 reg = <0x2d>;
179                         };
180
181                         lis331dlh: lis331dlh@18 {
182                                 compatible = "st,lis331dlh", "st,lis3lv02d";
183                                 reg = <0x18>;
184                                 Vdd-supply = <&lis3_reg>;
185                                 Vdd_IO-supply = <&lis3_reg>;
186
187                                 st,click-single-x;
188                                 st,click-single-y;
189                                 st,click-single-z;
190                                 st,click-thresh-x = <10>;
191                                 st,click-thresh-y = <10>;
192                                 st,click-thresh-z = <10>;
193                                 st,irq1-click;
194                                 st,irq2-click;
195                                 st,wakeup-x-lo;
196                                 st,wakeup-x-hi;
197                                 st,wakeup-y-lo;
198                                 st,wakeup-y-hi;
199                                 st,wakeup-z-lo;
200                                 st,wakeup-z-hi;
201                                 st,min-limit-x = <120>;
202                                 st,min-limit-y = <120>;
203                                 st,min-limit-z = <140>;
204                                 st,max-limit-x = <550>;
205                                 st,max-limit-y = <550>;
206                                 st,max-limit-z = <750>;
207                         };
208                 };
209
210                 epwmss2: epwmss@48304000 {
211                         status = "okay";
212
213                         ecap2: ecap@48304100 {
214                                 status = "okay";
215                                 pinctrl-names = "default";
216                                 pinctrl-0 = <&ecap2_pins>;
217                         };
218                 };
219         };
220
221         vbat: fixedregulator@0 {
222                 compatible = "regulator-fixed";
223                 regulator-name = "vbat";
224                 regulator-min-microvolt = <5000000>;
225                 regulator-max-microvolt = <5000000>;
226                 regulator-boot-on;
227         };
228
229         lis3_reg: fixedregulator@1 {
230                 compatible = "regulator-fixed";
231                 regulator-name = "lis3_reg";
232                 regulator-boot-on;
233         };
234
235         leds {
236                 pinctrl-names = "default";
237                 pinctrl-0 = <&user_leds_s0>;
238
239                 compatible = "gpio-leds";
240
241                 led@1 {
242                         label = "evmsk:green:usr0";
243                         gpios = <&gpio1 4 GPIO_ACTIVE_HIGH>;
244                         default-state = "off";
245                 };
246
247                 led@2 {
248                         label = "evmsk:green:usr1";
249                         gpios = <&gpio1 5 GPIO_ACTIVE_HIGH>;
250                         default-state = "off";
251                 };
252
253                 led@3 {
254                         label = "evmsk:green:mmc0";
255                         gpios = <&gpio1 6 GPIO_ACTIVE_HIGH>;
256                         linux,default-trigger = "mmc0";
257                         default-state = "off";
258                 };
259
260                 led@4 {
261                         label = "evmsk:green:heartbeat";
262                         gpios = <&gpio1 7 GPIO_ACTIVE_HIGH>;
263                         linux,default-trigger = "heartbeat";
264                         default-state = "off";
265                 };
266         };
267
268         gpio_buttons: gpio_buttons@0 {
269                 compatible = "gpio-keys";
270                 #address-cells = <1>;
271                 #size-cells = <0>;
272
273                 switch@1 {
274                         label = "button0";
275                         linux,code = <0x100>;
276                         gpios = <&gpio2 3 GPIO_ACTIVE_HIGH>;
277                 };
278
279                 switch@2 {
280                         label = "button1";
281                         linux,code = <0x101>;
282                         gpios = <&gpio2 2 GPIO_ACTIVE_HIGH>;
283                 };
284
285                 switch@3 {
286                         label = "button2";
287                         linux,code = <0x102>;
288                         gpios = <&gpio0 30 GPIO_ACTIVE_HIGH>;
289                         gpio-key,wakeup;
290                 };
291
292                 switch@4 {
293                         label = "button3";
294                         linux,code = <0x103>;
295                         gpios = <&gpio2 5 GPIO_ACTIVE_HIGH>;
296                 };
297         };
298
299         backlight {
300                 compatible = "pwm-backlight";
301                 pwms = <&ecap2 0 50000 1>;
302                 brightness-levels = <0 58 61 66 75 90 125 170 255>;
303                 default-brightness-level = <8>;
304         };
305 };
306
307 #include "tps65910.dtsi"
308
309 &tps {
310         vcc1-supply = <&vbat>;
311         vcc2-supply = <&vbat>;
312         vcc3-supply = <&vbat>;
313         vcc4-supply = <&vbat>;
314         vcc5-supply = <&vbat>;
315         vcc6-supply = <&vbat>;
316         vcc7-supply = <&vbat>;
317         vccio-supply = <&vbat>;
318
319         regulators {
320                 vrtc_reg: regulator@0 {
321                         regulator-always-on;
322                 };
323
324                 vio_reg: regulator@1 {
325                         regulator-always-on;
326                 };
327
328                 vdd1_reg: regulator@2 {
329                         /* VDD_MPU voltage limits 0.95V - 1.26V with +/-4% tolerance */
330                         regulator-name = "vdd_mpu";
331                         regulator-min-microvolt = <912500>;
332                         regulator-max-microvolt = <1312500>;
333                         regulator-boot-on;
334                         regulator-always-on;
335                 };
336
337                 vdd2_reg: regulator@3 {
338                         /* VDD_CORE voltage limits 0.95V - 1.1V with +/-4% tolerance */
339                         regulator-name = "vdd_core";
340                         regulator-min-microvolt = <912500>;
341                         regulator-max-microvolt = <1150000>;
342                         regulator-boot-on;
343                         regulator-always-on;
344                 };
345
346                 vdd3_reg: regulator@4 {
347                         regulator-always-on;
348                 };
349
350                 vdig1_reg: regulator@5 {
351                         regulator-always-on;
352                 };
353
354                 vdig2_reg: regulator@6 {
355                         regulator-always-on;
356                 };
357
358                 vpll_reg: regulator@7 {
359                         regulator-always-on;
360                 };
361
362                 vdac_reg: regulator@8 {
363                         regulator-always-on;
364                 };
365
366                 vaux1_reg: regulator@9 {
367                         regulator-always-on;
368                 };
369
370                 vaux2_reg: regulator@10 {
371                         regulator-always-on;
372                 };
373
374                 vaux33_reg: regulator@11 {
375                         regulator-always-on;
376                 };
377
378                 vmmc_reg: regulator@12 {
379                         regulator-always-on;
380                 };
381         };
382 };
383
384 &mac {
385         pinctrl-names = "default", "sleep";
386         pinctrl-0 = <&cpsw_default>;
387         pinctrl-1 = <&cpsw_sleep>;
388 };
389
390 &davinci_mdio {
391         pinctrl-names = "default", "sleep";
392         pinctrl-0 = <&davinci_mdio_default>;
393         pinctrl-1 = <&davinci_mdio_sleep>;
394 };
395
396 &cpsw_emac0 {
397         phy_id = <&davinci_mdio>, <0>;
398         phy-mode = "rgmii-txid";
399 };
400
401 &cpsw_emac1 {
402         phy_id = <&davinci_mdio>, <1>;
403         phy-mode = "rgmii-txid";
404 };