blob: f432685957b85180af6f23702dd3a6e2cce09875 [file] [log] [blame]
Lokesh Vutla11e21912013-12-19 18:03:38 +05301/*
2 * Copyright (C) 2013 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/* AM437x GP EVM */
10
11/dts-v1/;
12
13#include "am4372.dtsi"
14#include <dt-bindings/pinctrl/am43xx.h>
Sourav Poddarc540b472013-12-19 18:03:39 +053015#include <dt-bindings/pwm/pwm.h>
Sourav Poddar51724db2013-12-19 18:03:41 +053016#include <dt-bindings/gpio/gpio.h>
Lokesh Vutla11e21912013-12-19 18:03:38 +053017
18/ {
19 model = "TI AM437x GP EVM";
20 compatible = "ti,am437x-gp-evm","ti,am4372","ti,am43";
Sourav Poddarc540b472013-12-19 18:03:39 +053021
Balaji T K506be3f2014-03-03 20:20:18 +053022 vmmcsd_fixed: fixedregulator-sd {
23 compatible = "regulator-fixed";
24 regulator-name = "vmmcsd_fixed";
25 regulator-min-microvolt = <3300000>;
26 regulator-max-microvolt = <3300000>;
27 enable-active-high;
28 };
29
Dave Gerlachb2873bf2014-05-05 14:58:28 -050030 vtt_fixed: fixedregulator-vtt {
31 compatible = "regulator-fixed";
32 regulator-name = "vtt_fixed";
33 regulator-min-microvolt = <1500000>;
34 regulator-max-microvolt = <1500000>;
35 regulator-always-on;
36 regulator-boot-on;
37 enable-active-high;
38 gpio = <&gpio5 7 GPIO_ACTIVE_HIGH>;
39 };
40
Sourav Poddarc540b472013-12-19 18:03:39 +053041 backlight {
42 compatible = "pwm-backlight";
43 pwms = <&ecap0 0 50000 PWM_POLARITY_INVERTED>;
44 brightness-levels = <0 51 53 56 62 75 101 152 255>;
45 default-brightness-level = <8>;
46 };
Sourav Poddar51724db2013-12-19 18:03:41 +053047
48 matrix_keypad: matrix_keypad@0 {
49 compatible = "gpio-matrix-keypad";
50 debounce-delay-ms = <5>;
51 col-scan-delay-us = <2>;
52
53 row-gpios = <&gpio3 21 GPIO_ACTIVE_HIGH /* Bank3, pin21 */
54 &gpio4 3 GPIO_ACTIVE_HIGH /* Bank4, pin3 */
55 &gpio4 2 GPIO_ACTIVE_HIGH>; /* Bank4, pin2 */
56
57 col-gpios = <&gpio3 19 GPIO_ACTIVE_HIGH /* Bank3, pin19 */
58 &gpio3 20 GPIO_ACTIVE_HIGH>; /* Bank3, pin20 */
59
60 linux,keymap = <0x00000201 /* P1 */
61 0x00010202 /* P2 */
62 0x01000067 /* UP */
63 0x0101006a /* RIGHT */
64 0x02000069 /* LEFT */
65 0x0201006c>; /* DOWN */
66 };
Lokesh Vutla11e21912013-12-19 18:03:38 +053067};
68
69&am43xx_pinmux {
70 i2c0_pins: i2c0_pins {
71 pinctrl-single,pins = <
72 0x188 (PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE0) /* i2c0_sda.i2c0_sda */
73 0x18c (PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE0) /* i2c0_scl.i2c0_scl */
74 >;
75 };
76
77 i2c1_pins: i2c1_pins {
78 pinctrl-single,pins = <
79 0x15c (PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE2) /* spi0_cs0.i2c1_scl */
80 0x158 (PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE2) /* spi0_d1.i2c1_sda */
81 >;
82 };
Sourav Poddarc540b472013-12-19 18:03:39 +053083
Balaji T K506be3f2014-03-03 20:20:18 +053084 mmc1_pins: pinmux_mmc1_pins {
85 pinctrl-single,pins = <
86 0x160 (PIN_INPUT | MUX_MODE7) /* spi0_cs1.gpio0_6 */
87 >;
88 };
89
Sourav Poddarc540b472013-12-19 18:03:39 +053090 ecap0_pins: backlight_pins {
91 pinctrl-single,pins = <
92 0x164 MUX_MODE0 /* eCAP0_in_PWM0_out.eCAP0_in_PWM0_out MODE0 */
93 >;
94 };
Sekhar Nori0ebc1e22014-04-30 15:43:25 +030095
96 pixcir_ts_pins: pixcir_ts_pins {
97 pinctrl-single,pins = <
98 0x264 (PIN_INPUT_PULLUP | MUX_MODE7) /* spi2_d0.gpio3_22 */
99 >;
100 };
Mugunthan V N7b25bab2014-05-13 14:14:31 +0530101
102 cpsw_default: cpsw_default {
103 pinctrl-single,pins = <
104 /* Slave 1 */
105 0x114 (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txen.rgmii1_txen */
106 0x118 (PIN_INPUT_PULLDOWN | MUX_MODE2) /* mii1_rxdv.rgmii1_rxctl */
107 0x11c (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txd1.rgmii1_txd3 */
108 0x120 (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txd0.rgmii1_txd2 */
109 0x124 (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txd1.rgmii1_txd1 */
110 0x128 (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txd0.rgmii1_txd0 */
111 0x12c (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txclk.rmii1_tclk */
112 0x130 (PIN_INPUT_PULLDOWN | MUX_MODE2) /* mii1_rxclk.rmii1_rclk */
113 0x134 (PIN_INPUT_PULLDOWN | MUX_MODE2) /* mii1_rxd1.rgmii1_rxd3 */
114 0x138 (PIN_INPUT_PULLDOWN | MUX_MODE2) /* mii1_rxd0.rgmii1_rxd2 */
115 0x13c (PIN_INPUT_PULLDOWN | MUX_MODE2) /* mii1_rxd1.rgmii1_rxd1 */
116 0x140 (PIN_INPUT_PULLDOWN | MUX_MODE2) /* mii1_rxd0.rgmii1_rxd0 */
117 >;
118 };
119
120 cpsw_sleep: cpsw_sleep {
121 pinctrl-single,pins = <
122 /* Slave 1 reset value */
123 0x114 (PIN_INPUT_PULLDOWN | MUX_MODE7)
124 0x118 (PIN_INPUT_PULLDOWN | MUX_MODE7)
125 0x11c (PIN_INPUT_PULLDOWN | MUX_MODE7)
126 0x120 (PIN_INPUT_PULLDOWN | MUX_MODE7)
127 0x124 (PIN_INPUT_PULLDOWN | MUX_MODE7)
128 0x128 (PIN_INPUT_PULLDOWN | MUX_MODE7)
129 0x12c (PIN_INPUT_PULLDOWN | MUX_MODE7)
130 0x130 (PIN_INPUT_PULLDOWN | MUX_MODE7)
131 0x134 (PIN_INPUT_PULLDOWN | MUX_MODE7)
132 0x138 (PIN_INPUT_PULLDOWN | MUX_MODE7)
133 0x13c (PIN_INPUT_PULLDOWN | MUX_MODE7)
134 0x140 (PIN_INPUT_PULLDOWN | MUX_MODE7)
135 >;
136 };
137
138 davinci_mdio_default: davinci_mdio_default {
139 pinctrl-single,pins = <
140 /* MDIO */
141 0x148 (PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE0) /* mdio_data.mdio_data */
142 0x14c (PIN_OUTPUT_PULLUP | MUX_MODE0) /* mdio_clk.mdio_clk */
143 >;
144 };
145
146 davinci_mdio_sleep: davinci_mdio_sleep {
147 pinctrl-single,pins = <
148 /* MDIO reset value */
149 0x148 (PIN_INPUT_PULLDOWN | MUX_MODE7)
150 0x14c (PIN_INPUT_PULLDOWN | MUX_MODE7)
151 >;
152 };
Pekon Gupta99ffa642014-05-19 14:45:46 +0530153
154 nand_flash_x8: nand_flash_x8 {
155 pinctrl-single,pins = <
156 0x26c(PIN_OUTPUT_PULLDOWN | MUX_MODE7) /* spi2_cs0.gpio/eMMCorNANDsel */
157 0x0 (PIN_INPUT | MUX_MODE0) /* gpmc_ad0.gpmc_ad0 */
158 0x4 (PIN_INPUT | MUX_MODE0) /* gpmc_ad1.gpmc_ad1 */
159 0x8 (PIN_INPUT | MUX_MODE0) /* gpmc_ad2.gpmc_ad2 */
160 0xc (PIN_INPUT | MUX_MODE0) /* gpmc_ad3.gpmc_ad3 */
161 0x10 (PIN_INPUT | MUX_MODE0) /* gpmc_ad4.gpmc_ad4 */
162 0x14 (PIN_INPUT | MUX_MODE0) /* gpmc_ad5.gpmc_ad5 */
163 0x18 (PIN_INPUT | MUX_MODE0) /* gpmc_ad6.gpmc_ad6 */
164 0x1c (PIN_INPUT | MUX_MODE0) /* gpmc_ad7.gpmc_ad7 */
165 0x70 (PIN_INPUT_PULLUP | MUX_MODE0) /* gpmc_wait0.gpmc_wait0 */
166 0x74 (PIN_OUTPUT_PULLUP | MUX_MODE7) /* gpmc_wpn.gpmc_wpn */
167 0x7c (PIN_OUTPUT | MUX_MODE0) /* gpmc_csn0.gpmc_csn0 */
168 0x90 (PIN_OUTPUT | MUX_MODE0) /* gpmc_advn_ale.gpmc_advn_ale */
169 0x94 (PIN_OUTPUT | MUX_MODE0) /* gpmc_oen_ren.gpmc_oen_ren */
170 0x98 (PIN_OUTPUT | MUX_MODE0) /* gpmc_wen.gpmc_wen */
171 0x9c (PIN_OUTPUT | MUX_MODE0) /* gpmc_be0n_cle.gpmc_be0n_cle */
172 >;
173 };
Lokesh Vutla11e21912013-12-19 18:03:38 +0530174};
175
176&i2c0 {
177 status = "okay";
178 pinctrl-names = "default";
179 pinctrl-0 = <&i2c0_pins>;
180};
181
182&i2c1 {
183 status = "okay";
184 pinctrl-names = "default";
185 pinctrl-0 = <&i2c1_pins>;
Sekhar Nori0ebc1e22014-04-30 15:43:25 +0300186
187 pixcir_ts@5c {
188 compatible = "pixcir,pixcir_tangoc";
189 pinctrl-names = "default";
190 pinctrl-0 = <&pixcir_ts_pins>;
191 reg = <0x5c>;
192 interrupt-parent = <&gpio3>;
193 interrupts = <22 0>;
194
195 attb-gpio = <&gpio3 22 GPIO_ACTIVE_HIGH>;
196
197 x-size = <1024>;
198 y-size = <600>;
199 };
Lokesh Vutla11e21912013-12-19 18:03:38 +0530200};
Sourav Poddarc540b472013-12-19 18:03:39 +0530201
202&epwmss0 {
203 status = "okay";
204};
205
206&ecap0 {
207 status = "okay";
208 pinctrl-names = "default";
209 pinctrl-0 = <&ecap0_pins>;
210};
Sourav Poddard3d46cc2013-12-19 18:03:40 +0530211
Balaji T K506be3f2014-03-03 20:20:18 +0530212&gpio0 {
213 status = "okay";
214};
215
Sourav Poddard3d46cc2013-12-19 18:03:40 +0530216&gpio3 {
217 status = "okay";
218};
219
220&gpio4 {
221 status = "okay";
222};
Balaji T K506be3f2014-03-03 20:20:18 +0530223
224&mmc1 {
225 status = "okay";
226 vmmc-supply = <&vmmcsd_fixed>;
227 bus-width = <4>;
228 pinctrl-names = "default";
229 pinctrl-0 = <&mmc1_pins>;
230 cd-gpios = <&gpio0 6 GPIO_ACTIVE_HIGH>;
231};
George Cherianb5820d32014-03-19 15:40:02 +0530232
233&usb2_phy1 {
234 status = "okay";
235};
236
237&usb1 {
238 dr_mode = "peripheral";
239 status = "okay";
240};
241
242&usb2_phy2 {
243 status = "okay";
244};
245
246&usb2 {
247 dr_mode = "host";
248 status = "okay";
249};
Mugunthan V N7b25bab2014-05-13 14:14:31 +0530250
251&mac {
252 slaves = <1>;
253 pinctrl-names = "default", "sleep";
254 pinctrl-0 = <&cpsw_default>;
255 pinctrl-1 = <&cpsw_sleep>;
256 status = "okay";
257};
258
259&davinci_mdio {
260 pinctrl-names = "default", "sleep";
261 pinctrl-0 = <&davinci_mdio_default>;
262 pinctrl-1 = <&davinci_mdio_sleep>;
263 status = "okay";
264};
265
266&cpsw_emac0 {
267 phy_id = <&davinci_mdio>, <0>;
268 phy-mode = "rgmii";
269};
Pekon Gupta99ffa642014-05-19 14:45:46 +0530270
271&elm {
272 status = "okay";
273};
274
275&gpmc {
276 status = "okay";
277 pinctrl-names = "default";
278 pinctrl-0 = <&nand_flash_x8>;
279 ranges = <0 0 0 0x01000000>; /* minimum GPMC partition = 16MB */
280 nand@0,0 {
281 reg = <0 0 4>; /* device IO registers */
282 ti,nand-ecc-opt = "bch8";
283 ti,elm-id = <&elm>;
284 nand-bus-width = <8>;
285 gpmc,device-width = <1>;
286 gpmc,sync-clk-ps = <0>;
287 gpmc,cs-on-ns = <0>;
288 gpmc,cs-rd-off-ns = <40>;
289 gpmc,cs-wr-off-ns = <40>;
290 gpmc,adv-on-ns = <0>;
291 gpmc,adv-rd-off-ns = <25>;
292 gpmc,adv-wr-off-ns = <25>;
293 gpmc,we-on-ns = <0>;
294 gpmc,we-off-ns = <20>;
295 gpmc,oe-on-ns = <3>;
296 gpmc,oe-off-ns = <30>;
297 gpmc,access-ns = <30>;
298 gpmc,rd-cycle-ns = <40>;
299 gpmc,wr-cycle-ns = <40>;
300 gpmc,wait-pin = <0>;
301 gpmc,wait-on-read;
302 gpmc,wait-on-write;
303 gpmc,bus-turnaround-ns = <0>;
304 gpmc,cycle2cycle-delay-ns = <0>;
305 gpmc,clk-activation-ns = <0>;
306 gpmc,wait-monitoring-ns = <0>;
307 gpmc,wr-access-ns = <40>;
308 gpmc,wr-data-mux-bus-ns = <0>;
309 /* MTD partition table */
310 /* All SPL-* partitions are sized to minimal length
311 * which can be independently programmable. For
312 * NAND flash this is equal to size of erase-block */
313 #address-cells = <1>;
314 #size-cells = <1>;
315 partition@0 {
316 label = "NAND.SPL";
317 reg = <0x00000000 0x00040000>;
318 };
319 partition@1 {
320 label = "NAND.SPL.backup1";
321 reg = <0x00040000 0x00040000>;
322 };
323 partition@2 {
324 label = "NAND.SPL.backup2";
325 reg = <0x00080000 0x00040000>;
326 };
327 partition@3 {
328 label = "NAND.SPL.backup3";
329 reg = <0x000c0000 0x00040000>;
330 };
331 partition@4 {
332 label = "NAND.u-boot-spl-os";
333 reg = <0x00100000 0x00080000>;
334 };
335 partition@5 {
336 label = "NAND.u-boot";
337 reg = <0x00180000 0x00100000>;
338 };
339 partition@6 {
340 label = "NAND.u-boot-env";
341 reg = <0x00280000 0x00040000>;
342 };
343 partition@7 {
344 label = "NAND.u-boot-env.backup1";
345 reg = <0x002c0000 0x00040000>;
346 };
347 partition@8 {
348 label = "NAND.kernel";
349 reg = <0x00300000 0x00700000>;
350 };
351 partition@9 {
352 label = "NAND.file-system";
353 reg = <0x00a00000 0x1f600000>;
354 };
355 };
356};