blob: 4d882ab338954e8b9f31d0f8fec2be8ca1478ff6 [file] [log] [blame]
Mugunthan V N0f148312015-09-22 18:45:12 +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/dts-v1/;
9
10#include "dra74x.dtsi"
11#include <dt-bindings/gpio/gpio.h>
Lokesh Vutlada047422016-11-23 13:25:29 +053012#include <dt-bindings/clk/ti-dra7-atl.h>
13#include <dt-bindings/input/input.h>
Mugunthan V N0f148312015-09-22 18:45:12 +053014
15/ {
16 model = "TI DRA742";
17 compatible = "ti,dra7-evm", "ti,dra742", "ti,dra74", "ti,dra7";
18
Mugunthan V Na5fce2f2015-11-26 17:25:41 +053019 chosen {
20 stdout-path = &uart1;
Mugunthan V N00c7f5f2015-12-24 16:08:21 +053021 tick-timer = &timer2;
Mugunthan V Na5fce2f2015-11-26 17:25:41 +053022 };
23
Lokesh Vutlada047422016-11-23 13:25:29 +053024 memory@0 {
Mugunthan V N0f148312015-09-22 18:45:12 +053025 device_type = "memory";
Lokesh Vutlada047422016-11-23 13:25:29 +053026 reg = <0x0 0x80000000 0x0 0x60000000>; /* 1536 MB */
Mugunthan V N0f148312015-09-22 18:45:12 +053027 };
28
Vignesh R5e1f11e2016-08-10 15:17:20 +053029 evm_3v3_sd: fixedregulator-sd {
30 compatible = "regulator-fixed";
31 regulator-name = "evm_3v3_sd";
32 regulator-min-microvolt = <3300000>;
33 regulator-max-microvolt = <3300000>;
34 enable-active-high;
35 gpio = <&pcf_gpio_21 5 GPIO_ACTIVE_HIGH>;
36 };
37
Lokesh Vutlada047422016-11-23 13:25:29 +053038 evm_3v3_sw: fixedregulator-evm_3v3_sw {
Mugunthan V N0f148312015-09-22 18:45:12 +053039 compatible = "regulator-fixed";
Lokesh Vutlada047422016-11-23 13:25:29 +053040 regulator-name = "evm_3v3_sw";
41 vin-supply = <&sysen1>;
Mugunthan V N0f148312015-09-22 18:45:12 +053042 regulator-min-microvolt = <3300000>;
43 regulator-max-microvolt = <3300000>;
44 };
45
Lokesh Vutlada047422016-11-23 13:25:29 +053046 aic_dvdd: fixedregulator-aic_dvdd {
47 /* TPS77018DBVT */
48 compatible = "regulator-fixed";
49 regulator-name = "aic_dvdd";
50 vin-supply = <&evm_3v3_sw>;
51 regulator-min-microvolt = <1800000>;
52 regulator-max-microvolt = <1800000>;
53 };
54
Mugunthan V N0f148312015-09-22 18:45:12 +053055 extcon_usb1: extcon_usb1 {
56 compatible = "linux,extcon-usb-gpio";
57 id-gpio = <&pcf_gpio_21 1 GPIO_ACTIVE_HIGH>;
58 };
59
60 extcon_usb2: extcon_usb2 {
61 compatible = "linux,extcon-usb-gpio";
62 id-gpio = <&pcf_gpio_21 2 GPIO_ACTIVE_HIGH>;
63 };
64
65 vtt_fixed: fixedregulator-vtt {
66 compatible = "regulator-fixed";
67 regulator-name = "vtt_fixed";
68 regulator-min-microvolt = <1350000>;
69 regulator-max-microvolt = <1350000>;
70 regulator-always-on;
71 regulator-boot-on;
72 enable-active-high;
Lokesh Vutlada047422016-11-23 13:25:29 +053073 vin-supply = <&sysen2>;
Mugunthan V N0f148312015-09-22 18:45:12 +053074 gpio = <&gpio7 11 GPIO_ACTIVE_HIGH>;
75 };
Lokesh Vutlada047422016-11-23 13:25:29 +053076
77 sound0: sound0 {
78 compatible = "simple-audio-card";
79 simple-audio-card,name = "DRA7xx-EVM";
80 simple-audio-card,widgets =
81 "Headphone", "Headphone Jack",
82 "Line", "Line Out",
83 "Microphone", "Mic Jack",
84 "Line", "Line In";
85 simple-audio-card,routing =
86 "Headphone Jack", "HPLOUT",
87 "Headphone Jack", "HPROUT",
88 "Line Out", "LLOUT",
89 "Line Out", "RLOUT",
90 "MIC3L", "Mic Jack",
91 "MIC3R", "Mic Jack",
92 "Mic Jack", "Mic Bias",
93 "LINE1L", "Line In",
94 "LINE1R", "Line In";
95 simple-audio-card,format = "dsp_b";
96 simple-audio-card,bitclock-master = <&sound0_master>;
97 simple-audio-card,frame-master = <&sound0_master>;
98 simple-audio-card,bitclock-inversion;
99
100 sound0_master: simple-audio-card,cpu {
101 sound-dai = <&mcasp3>;
102 system-clock-frequency = <5644800>;
103 };
104
105 simple-audio-card,codec {
106 sound-dai = <&tlv320aic3106>;
107 clocks = <&atl_clkin2_ck>;
108 };
109 };
110
111 leds {
112 compatible = "gpio-leds";
113 led0 {
114 label = "dra7:usr1";
115 gpios = <&pcf_lcd 4 GPIO_ACTIVE_LOW>;
116 default-state = "off";
117 };
118
119 led1 {
120 label = "dra7:usr2";
121 gpios = <&pcf_lcd 5 GPIO_ACTIVE_LOW>;
122 default-state = "off";
123 };
124
125 led2 {
126 label = "dra7:usr3";
127 gpios = <&pcf_lcd 6 GPIO_ACTIVE_LOW>;
128 default-state = "off";
129 };
130
131 led3 {
132 label = "dra7:usr4";
133 gpios = <&pcf_lcd 7 GPIO_ACTIVE_LOW>;
134 default-state = "off";
135 };
136 };
137
138 gpio_keys {
139 compatible = "gpio-keys";
140 #address-cells = <1>;
141 #size-cells = <0>;
142 autorepeat;
143
144 USER1 {
145 label = "btnUser1";
146 linux,code = <BTN_0>;
147 gpios = <&pcf_lcd 2 GPIO_ACTIVE_LOW>;
148 };
149
150 USER2 {
151 label = "btnUser2";
152 linux,code = <BTN_1>;
153 gpios = <&pcf_lcd 3 GPIO_ACTIVE_LOW>;
154 };
155 };
Mugunthan V N0f148312015-09-22 18:45:12 +0530156};
157
158&dra7_pmx_core {
159 pinctrl-names = "default";
160 pinctrl-0 = <&vtt_pin>;
161
162 vtt_pin: pinmux_vtt_pin {
163 pinctrl-single,pins = <
Lokesh Vutlada047422016-11-23 13:25:29 +0530164 DRA7XX_CORE_IOPAD(0x37b4, PIN_OUTPUT | MUX_MODE14) /* spi1_cs1.gpio7_11 */
Mugunthan V N0f148312015-09-22 18:45:12 +0530165 >;
166 };
167
168 i2c1_pins: pinmux_i2c1_pins {
169 pinctrl-single,pins = <
Lokesh Vutlada047422016-11-23 13:25:29 +0530170 DRA7XX_CORE_IOPAD(0x3800, PIN_INPUT | MUX_MODE0) /* i2c1_sda */
171 DRA7XX_CORE_IOPAD(0x3804, PIN_INPUT | MUX_MODE0) /* i2c1_scl */
Mugunthan V N0f148312015-09-22 18:45:12 +0530172 >;
173 };
174
175 i2c2_pins: pinmux_i2c2_pins {
176 pinctrl-single,pins = <
Lokesh Vutlada047422016-11-23 13:25:29 +0530177 DRA7XX_CORE_IOPAD(0x3808, PIN_INPUT | MUX_MODE0) /* i2c2_sda */
178 DRA7XX_CORE_IOPAD(0x380c, PIN_INPUT | MUX_MODE0) /* i2c2_scl */
Mugunthan V N0f148312015-09-22 18:45:12 +0530179 >;
180 };
181
182 i2c3_pins: pinmux_i2c3_pins {
183 pinctrl-single,pins = <
Lokesh Vutlada047422016-11-23 13:25:29 +0530184 DRA7XX_CORE_IOPAD(0x3688, PIN_INPUT | MUX_MODE9) /* gpio6_14.i2c3_sda */
185 DRA7XX_CORE_IOPAD(0x368c, PIN_INPUT | MUX_MODE9) /* gpio6_15.i2c3_scl */
Mugunthan V N0f148312015-09-22 18:45:12 +0530186 >;
187 };
188
189 mcspi1_pins: pinmux_mcspi1_pins {
190 pinctrl-single,pins = <
Lokesh Vutlada047422016-11-23 13:25:29 +0530191 DRA7XX_CORE_IOPAD(0x37a4, PIN_INPUT | MUX_MODE0) /* spi1_sclk */
192 DRA7XX_CORE_IOPAD(0x37a8, PIN_INPUT | MUX_MODE0) /* spi1_d1 */
193 DRA7XX_CORE_IOPAD(0x37ac, PIN_INPUT | MUX_MODE0) /* spi1_d0 */
194 DRA7XX_CORE_IOPAD(0x37b0, PIN_INPUT_SLEW | MUX_MODE0) /* spi1_cs0 */
195 DRA7XX_CORE_IOPAD(0x37b8, PIN_INPUT_SLEW | MUX_MODE6) /* spi1_cs2.hdmi1_hpd */
196 DRA7XX_CORE_IOPAD(0x37bc, PIN_INPUT_SLEW | MUX_MODE6) /* spi1_cs3.hdmi1_cec */
Mugunthan V N0f148312015-09-22 18:45:12 +0530197 >;
198 };
199
200 mcspi2_pins: pinmux_mcspi2_pins {
201 pinctrl-single,pins = <
Lokesh Vutlada047422016-11-23 13:25:29 +0530202 DRA7XX_CORE_IOPAD(0x37c0, PIN_INPUT | MUX_MODE0) /* spi2_sclk */
203 DRA7XX_CORE_IOPAD(0x37c4, PIN_INPUT_SLEW | MUX_MODE0) /* spi2_d1 */
204 DRA7XX_CORE_IOPAD(0x37c8, PIN_INPUT_SLEW | MUX_MODE0) /* spi2_d1 */
205 DRA7XX_CORE_IOPAD(0x37cc, PIN_INPUT_SLEW | MUX_MODE0) /* spi2_cs0 */
Mugunthan V N0f148312015-09-22 18:45:12 +0530206 >;
207 };
208
209 uart1_pins: pinmux_uart1_pins {
210 pinctrl-single,pins = <
Lokesh Vutlada047422016-11-23 13:25:29 +0530211 DRA7XX_CORE_IOPAD(0x37e0, PIN_INPUT_SLEW | MUX_MODE0) /* uart1_rxd */
212 DRA7XX_CORE_IOPAD(0x37e4, PIN_INPUT_SLEW | MUX_MODE0) /* uart1_txd */
213 DRA7XX_CORE_IOPAD(0x37e8, PIN_INPUT | MUX_MODE3) /* uart1_ctsn */
214 DRA7XX_CORE_IOPAD(0x37ec, PIN_INPUT | MUX_MODE3) /* uart1_rtsn */
Mugunthan V N0f148312015-09-22 18:45:12 +0530215 >;
216 };
217
218 uart2_pins: pinmux_uart2_pins {
219 pinctrl-single,pins = <
Lokesh Vutlada047422016-11-23 13:25:29 +0530220 DRA7XX_CORE_IOPAD(0x37f0, PIN_INPUT | MUX_MODE0) /* uart2_rxd */
221 DRA7XX_CORE_IOPAD(0x37f4, PIN_INPUT | MUX_MODE0) /* uart2_txd */
222 DRA7XX_CORE_IOPAD(0x37f8, PIN_INPUT | MUX_MODE0) /* uart2_ctsn */
223 DRA7XX_CORE_IOPAD(0x37fc, PIN_INPUT | MUX_MODE0) /* uart2_rtsn */
Mugunthan V N0f148312015-09-22 18:45:12 +0530224 >;
225 };
226
227 uart3_pins: pinmux_uart3_pins {
228 pinctrl-single,pins = <
Lokesh Vutlada047422016-11-23 13:25:29 +0530229 DRA7XX_CORE_IOPAD(0x3648, PIN_INPUT_SLEW | MUX_MODE0) /* uart3_rxd */
230 DRA7XX_CORE_IOPAD(0x364c, PIN_INPUT_SLEW | MUX_MODE0) /* uart3_txd */
Mugunthan V N0f148312015-09-22 18:45:12 +0530231 >;
232 };
233
Mugunthan V N0f148312015-09-22 18:45:12 +0530234 usb1_pins: pinmux_usb1_pins {
235 pinctrl-single,pins = <
Lokesh Vutlada047422016-11-23 13:25:29 +0530236 DRA7XX_CORE_IOPAD(0x3680, PIN_INPUT_SLEW | MUX_MODE0) /* usb1_drvvbus */
Mugunthan V N0f148312015-09-22 18:45:12 +0530237 >;
238 };
239
240 usb2_pins: pinmux_usb2_pins {
241 pinctrl-single,pins = <
Lokesh Vutlada047422016-11-23 13:25:29 +0530242 DRA7XX_CORE_IOPAD(0x3684, PIN_INPUT_SLEW | MUX_MODE0) /* usb2_drvvbus */
Mugunthan V N0f148312015-09-22 18:45:12 +0530243 >;
244 };
245
246 nand_flash_x16: nand_flash_x16 {
247 /* On DRA7 EVM, GPMC_WPN and NAND_BOOTn comes from DIP switch
248 * So NAND flash requires following switch settings:
Lokesh Vutlada047422016-11-23 13:25:29 +0530249 * SW5.1 (NAND_BOOTn) = ON (LOW)
250 * SW5.9 (GPMC_WPN) = OFF (HIGH)
251 */
Mugunthan V N0f148312015-09-22 18:45:12 +0530252 pinctrl-single,pins = <
Lokesh Vutlada047422016-11-23 13:25:29 +0530253 DRA7XX_CORE_IOPAD(0x3400, PIN_INPUT | MUX_MODE0) /* gpmc_ad0 */
254 DRA7XX_CORE_IOPAD(0x3404, PIN_INPUT | MUX_MODE0) /* gpmc_ad1 */
255 DRA7XX_CORE_IOPAD(0x3408, PIN_INPUT | MUX_MODE0) /* gpmc_ad2 */
256 DRA7XX_CORE_IOPAD(0x340c, PIN_INPUT | MUX_MODE0) /* gpmc_ad3 */
257 DRA7XX_CORE_IOPAD(0x3410, PIN_INPUT | MUX_MODE0) /* gpmc_ad4 */
258 DRA7XX_CORE_IOPAD(0x3414, PIN_INPUT | MUX_MODE0) /* gpmc_ad5 */
259 DRA7XX_CORE_IOPAD(0x3418, PIN_INPUT | MUX_MODE0) /* gpmc_ad6 */
260 DRA7XX_CORE_IOPAD(0x341c, PIN_INPUT | MUX_MODE0) /* gpmc_ad7 */
261 DRA7XX_CORE_IOPAD(0x3420, PIN_INPUT | MUX_MODE0) /* gpmc_ad8 */
262 DRA7XX_CORE_IOPAD(0x3424, PIN_INPUT | MUX_MODE0) /* gpmc_ad9 */
263 DRA7XX_CORE_IOPAD(0x3428, PIN_INPUT | MUX_MODE0) /* gpmc_ad10 */
264 DRA7XX_CORE_IOPAD(0x342c, PIN_INPUT | MUX_MODE0) /* gpmc_ad11 */
265 DRA7XX_CORE_IOPAD(0x3430, PIN_INPUT | MUX_MODE0) /* gpmc_ad12 */
266 DRA7XX_CORE_IOPAD(0x3434, PIN_INPUT | MUX_MODE0) /* gpmc_ad13 */
267 DRA7XX_CORE_IOPAD(0x3438, PIN_INPUT | MUX_MODE0) /* gpmc_ad14 */
268 DRA7XX_CORE_IOPAD(0x343c, PIN_INPUT | MUX_MODE0) /* gpmc_ad15 */
269 DRA7XX_CORE_IOPAD(0x34d8, PIN_INPUT_PULLUP | MUX_MODE0) /* gpmc_wait0 */
270 DRA7XX_CORE_IOPAD(0x34cc, PIN_OUTPUT | MUX_MODE0) /* gpmc_wen */
271 DRA7XX_CORE_IOPAD(0x34b4, PIN_OUTPUT_PULLUP | MUX_MODE0) /* gpmc_csn0 */
272 DRA7XX_CORE_IOPAD(0x34c4, PIN_OUTPUT | MUX_MODE0) /* gpmc_advn_ale */
273 DRA7XX_CORE_IOPAD(0x34c8, PIN_OUTPUT | MUX_MODE0) /* gpmc_oen_ren */
274 DRA7XX_CORE_IOPAD(0x34d0, PIN_OUTPUT | MUX_MODE0) /* gpmc_be0n_cle */
Mugunthan V N0f148312015-09-22 18:45:12 +0530275 >;
276 };
277
278 cpsw_default: cpsw_default {
279 pinctrl-single,pins = <
280 /* Slave 1 */
Lokesh Vutlada047422016-11-23 13:25:29 +0530281 DRA7XX_CORE_IOPAD(0x3650, PIN_OUTPUT | MUX_MODE0) /* rgmii0_txc.rgmii0_txc */
282 DRA7XX_CORE_IOPAD(0x3654, PIN_OUTPUT | MUX_MODE0) /* rgmii0_txctl.rgmii0_txctl */
283 DRA7XX_CORE_IOPAD(0x3658, PIN_OUTPUT | MUX_MODE0) /* rgmii0_td3.rgmii0_txd3 */
284 DRA7XX_CORE_IOPAD(0x365c, PIN_OUTPUT | MUX_MODE0) /* rgmii0_txd2.rgmii0_txd2 */
285 DRA7XX_CORE_IOPAD(0x3660, PIN_OUTPUT | MUX_MODE0) /* rgmii0_txd1.rgmii0_txd1 */
286 DRA7XX_CORE_IOPAD(0x3664, PIN_OUTPUT | MUX_MODE0) /* rgmii0_txd0.rgmii0_txd0 */
287 DRA7XX_CORE_IOPAD(0x3668, PIN_INPUT | MUX_MODE0) /* rgmii0_rxc.rgmii0_rxc */
288 DRA7XX_CORE_IOPAD(0x366c, PIN_INPUT | MUX_MODE0) /* rgmii0_rxctl.rgmii0_rxctl */
289 DRA7XX_CORE_IOPAD(0x3670, PIN_INPUT | MUX_MODE0) /* rgmii0_rxd3.rgmii0_rxd3 */
290 DRA7XX_CORE_IOPAD(0x3674, PIN_INPUT | MUX_MODE0) /* rgmii0_rxd2.rgmii0_rxd2 */
291 DRA7XX_CORE_IOPAD(0x3678, PIN_INPUT | MUX_MODE0) /* rgmii0_rxd1.rgmii0_rxd1 */
292 DRA7XX_CORE_IOPAD(0x367c, PIN_INPUT | MUX_MODE0) /* rgmii0_rxd0.rgmii0_rxd0 */
Mugunthan V N0f148312015-09-22 18:45:12 +0530293
294 /* Slave 2 */
Lokesh Vutlada047422016-11-23 13:25:29 +0530295 DRA7XX_CORE_IOPAD(0x3598, PIN_OUTPUT | MUX_MODE3) /* vin2a_d12.rgmii1_txc */
296 DRA7XX_CORE_IOPAD(0x359c, PIN_OUTPUT | MUX_MODE3) /* vin2a_d13.rgmii1_tctl */
297 DRA7XX_CORE_IOPAD(0x35a0, PIN_OUTPUT | MUX_MODE3) /* vin2a_d14.rgmii1_td3 */
298 DRA7XX_CORE_IOPAD(0x35a4, PIN_OUTPUT | MUX_MODE3) /* vin2a_d15.rgmii1_td2 */
299 DRA7XX_CORE_IOPAD(0x35a8, PIN_OUTPUT | MUX_MODE3) /* vin2a_d16.rgmii1_td1 */
300 DRA7XX_CORE_IOPAD(0x35ac, PIN_OUTPUT | MUX_MODE3) /* vin2a_d17.rgmii1_td0 */
301 DRA7XX_CORE_IOPAD(0x35b0, PIN_INPUT | MUX_MODE3) /* vin2a_d18.rgmii1_rclk */
302 DRA7XX_CORE_IOPAD(0x35b4, PIN_INPUT | MUX_MODE3) /* vin2a_d19.rgmii1_rctl */
303 DRA7XX_CORE_IOPAD(0x35b8, PIN_INPUT | MUX_MODE3) /* vin2a_d20.rgmii1_rd3 */
304 DRA7XX_CORE_IOPAD(0x35bc, PIN_INPUT | MUX_MODE3) /* vin2a_d21.rgmii1_rd2 */
305 DRA7XX_CORE_IOPAD(0x35c0, PIN_INPUT | MUX_MODE3) /* vin2a_d22.rgmii1_rd1 */
306 DRA7XX_CORE_IOPAD(0x35c4, PIN_INPUT | MUX_MODE3) /* vin2a_d23.rgmii1_rd0 */
Mugunthan V N0f148312015-09-22 18:45:12 +0530307 >;
308
309 };
310
311 cpsw_sleep: cpsw_sleep {
312 pinctrl-single,pins = <
313 /* Slave 1 */
Lokesh Vutlada047422016-11-23 13:25:29 +0530314 DRA7XX_CORE_IOPAD(0x3650, MUX_MODE15)
315 DRA7XX_CORE_IOPAD(0x3654, MUX_MODE15)
316 DRA7XX_CORE_IOPAD(0x3658, MUX_MODE15)
317 DRA7XX_CORE_IOPAD(0x365c, MUX_MODE15)
318 DRA7XX_CORE_IOPAD(0x3660, MUX_MODE15)
319 DRA7XX_CORE_IOPAD(0x3664, MUX_MODE15)
320 DRA7XX_CORE_IOPAD(0x3668, MUX_MODE15)
321 DRA7XX_CORE_IOPAD(0x366c, MUX_MODE15)
322 DRA7XX_CORE_IOPAD(0x3670, MUX_MODE15)
323 DRA7XX_CORE_IOPAD(0x3674, MUX_MODE15)
324 DRA7XX_CORE_IOPAD(0x3678, MUX_MODE15)
325 DRA7XX_CORE_IOPAD(0x367c, MUX_MODE15)
Mugunthan V N0f148312015-09-22 18:45:12 +0530326
327 /* Slave 2 */
Lokesh Vutlada047422016-11-23 13:25:29 +0530328 DRA7XX_CORE_IOPAD(0x3598, MUX_MODE15)
329 DRA7XX_CORE_IOPAD(0x359c, MUX_MODE15)
330 DRA7XX_CORE_IOPAD(0x35a0, MUX_MODE15)
331 DRA7XX_CORE_IOPAD(0x35a4, MUX_MODE15)
332 DRA7XX_CORE_IOPAD(0x35a8, MUX_MODE15)
333 DRA7XX_CORE_IOPAD(0x35ac, MUX_MODE15)
334 DRA7XX_CORE_IOPAD(0x35b0, MUX_MODE15)
335 DRA7XX_CORE_IOPAD(0x35b4, MUX_MODE15)
336 DRA7XX_CORE_IOPAD(0x35b8, MUX_MODE15)
337 DRA7XX_CORE_IOPAD(0x35bc, MUX_MODE15)
338 DRA7XX_CORE_IOPAD(0x35c0, MUX_MODE15)
339 DRA7XX_CORE_IOPAD(0x35c4, MUX_MODE15)
Mugunthan V N0f148312015-09-22 18:45:12 +0530340 >;
341 };
342
343 davinci_mdio_default: davinci_mdio_default {
344 pinctrl-single,pins = <
Lokesh Vutlada047422016-11-23 13:25:29 +0530345 DRA7XX_CORE_IOPAD(0x363c, PIN_OUTPUT_PULLUP | MUX_MODE0) /* mdio_d.mdio_d */
346 DRA7XX_CORE_IOPAD(0x3640, PIN_INPUT_PULLUP | MUX_MODE0) /* mdio_clk.mdio_clk */
Mugunthan V N0f148312015-09-22 18:45:12 +0530347 >;
348 };
349
350 davinci_mdio_sleep: davinci_mdio_sleep {
351 pinctrl-single,pins = <
Lokesh Vutlada047422016-11-23 13:25:29 +0530352 DRA7XX_CORE_IOPAD(0x363c, MUX_MODE15)
353 DRA7XX_CORE_IOPAD(0x3640, MUX_MODE15)
Mugunthan V N0f148312015-09-22 18:45:12 +0530354 >;
355 };
356
357 dcan1_pins_default: dcan1_pins_default {
358 pinctrl-single,pins = <
Lokesh Vutlada047422016-11-23 13:25:29 +0530359 DRA7XX_CORE_IOPAD(0x37d0, PIN_OUTPUT_PULLUP | MUX_MODE0) /* dcan1_tx */
360 DRA7XX_CORE_IOPAD(0x3818, PULL_UP | MUX_MODE1) /* wakeup0.dcan1_rx */
Mugunthan V N0f148312015-09-22 18:45:12 +0530361 >;
362 };
363
364 dcan1_pins_sleep: dcan1_pins_sleep {
365 pinctrl-single,pins = <
Lokesh Vutlada047422016-11-23 13:25:29 +0530366 DRA7XX_CORE_IOPAD(0x37d0, MUX_MODE15 | PULL_UP) /* dcan1_tx.off */
367 DRA7XX_CORE_IOPAD(0x3818, MUX_MODE15 | PULL_UP) /* wakeup0.off */
Mugunthan V N0f148312015-09-22 18:45:12 +0530368 >;
369 };
Lokesh Vutlada047422016-11-23 13:25:29 +0530370
371 atl_pins: pinmux_atl_pins {
372 pinctrl-single,pins = <
373 DRA7XX_CORE_IOPAD(0x3698, PIN_OUTPUT | MUX_MODE5) /* xref_clk1.atl_clk1 */
374 DRA7XX_CORE_IOPAD(0x369c, PIN_OUTPUT | MUX_MODE5) /* xref_clk2.atl_clk2 */
375 >;
376 };
377
378 mcasp3_pins: pinmux_mcasp3_pins {
379 pinctrl-single,pins = <
380 DRA7XX_CORE_IOPAD(0x3724, PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* mcasp3_aclkx */
381 DRA7XX_CORE_IOPAD(0x3728, PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* mcasp3_fsx */
382 DRA7XX_CORE_IOPAD(0x372c, PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* mcasp3_axr0 */
383 DRA7XX_CORE_IOPAD(0x3730, PIN_INPUT_PULLDOWN | MUX_MODE0) /* mcasp3_axr1 */
384 >;
385 };
386
387 mcasp3_sleep_pins: pinmux_mcasp3_sleep_pins {
388 pinctrl-single,pins = <
389 DRA7XX_CORE_IOPAD(0x3724, MUX_MODE15)
390 DRA7XX_CORE_IOPAD(0x3728, MUX_MODE15)
391 DRA7XX_CORE_IOPAD(0x372c, MUX_MODE15)
392 DRA7XX_CORE_IOPAD(0x3730, MUX_MODE15)
393 >;
394 };
Mugunthan V N0f148312015-09-22 18:45:12 +0530395};
396
397&i2c1 {
398 status = "okay";
399 pinctrl-names = "default";
400 pinctrl-0 = <&i2c1_pins>;
401 clock-frequency = <400000>;
402
403 tps659038: tps659038@58 {
404 compatible = "ti,tps659038";
405 reg = <0x58>;
406
407 tps659038_pmic {
408 compatible = "ti,tps659038-pmic";
409
410 regulators {
411 smps123_reg: smps123 {
412 /* VDD_MPU */
413 regulator-name = "smps123";
414 regulator-min-microvolt = < 850000>;
415 regulator-max-microvolt = <1250000>;
416 regulator-always-on;
417 regulator-boot-on;
418 };
419
420 smps45_reg: smps45 {
421 /* VDD_DSPEVE */
422 regulator-name = "smps45";
423 regulator-min-microvolt = < 850000>;
Lokesh Vutlada047422016-11-23 13:25:29 +0530424 regulator-max-microvolt = <1250000>;
Mugunthan V N0f148312015-09-22 18:45:12 +0530425 regulator-always-on;
426 regulator-boot-on;
427 };
428
429 smps6_reg: smps6 {
430 /* VDD_GPU - over VDD_SMPS6 */
431 regulator-name = "smps6";
432 regulator-min-microvolt = <850000>;
433 regulator-max-microvolt = <1250000>;
434 regulator-always-on;
435 regulator-boot-on;
436 };
437
438 smps7_reg: smps7 {
439 /* CORE_VDD */
440 regulator-name = "smps7";
441 regulator-min-microvolt = <850000>;
Lokesh Vutlada047422016-11-23 13:25:29 +0530442 regulator-max-microvolt = <1150000>;
Mugunthan V N0f148312015-09-22 18:45:12 +0530443 regulator-always-on;
444 regulator-boot-on;
445 };
446
447 smps8_reg: smps8 {
448 /* VDD_IVAHD */
449 regulator-name = "smps8";
450 regulator-min-microvolt = < 850000>;
451 regulator-max-microvolt = <1250000>;
452 regulator-always-on;
453 regulator-boot-on;
454 };
455
456 smps9_reg: smps9 {
457 /* VDDS1V8 */
458 regulator-name = "smps9";
459 regulator-min-microvolt = <1800000>;
460 regulator-max-microvolt = <1800000>;
461 regulator-always-on;
462 regulator-boot-on;
463 };
464
465 ldo1_reg: ldo1 {
466 /* LDO1_OUT --> SDIO */
467 regulator-name = "ldo1";
468 regulator-min-microvolt = <1800000>;
469 regulator-max-microvolt = <3300000>;
Lokesh Vutlada047422016-11-23 13:25:29 +0530470 regulator-always-on;
Mugunthan V N0f148312015-09-22 18:45:12 +0530471 regulator-boot-on;
472 };
473
474 ldo2_reg: ldo2 {
475 /* VDD_RTCIO */
476 /* LDO2 -> VDDSHV5, LDO2 also goes to CAN_PHY_3V3 */
477 regulator-name = "ldo2";
478 regulator-min-microvolt = <3300000>;
479 regulator-max-microvolt = <3300000>;
480 regulator-always-on;
481 regulator-boot-on;
482 };
483
484 ldo3_reg: ldo3 {
485 /* VDDA_1V8_PHY */
486 regulator-name = "ldo3";
487 regulator-min-microvolt = <1800000>;
488 regulator-max-microvolt = <1800000>;
489 regulator-always-on;
490 regulator-boot-on;
491 };
492
493 ldo9_reg: ldo9 {
494 /* VDD_RTC */
495 regulator-name = "ldo9";
496 regulator-min-microvolt = <1050000>;
497 regulator-max-microvolt = <1050000>;
498 regulator-always-on;
499 regulator-boot-on;
Lokesh Vutlada047422016-11-23 13:25:29 +0530500 regulator-allow-bypass;
Mugunthan V N0f148312015-09-22 18:45:12 +0530501 };
502
503 ldoln_reg: ldoln {
504 /* VDDA_1V8_PLL */
505 regulator-name = "ldoln";
506 regulator-min-microvolt = <1800000>;
507 regulator-max-microvolt = <1800000>;
508 regulator-always-on;
509 regulator-boot-on;
510 };
511
512 ldousb_reg: ldousb {
513 /* VDDA_3V_USB: VDDA_USBHS33 */
514 regulator-name = "ldousb";
515 regulator-min-microvolt = <3300000>;
516 regulator-max-microvolt = <3300000>;
517 regulator-boot-on;
Lokesh Vutlada047422016-11-23 13:25:29 +0530518 };
519
520 /* REGEN1 is unused */
521
522 regen2: regen2 {
523 /* Needed for PMIC internal resources */
524 regulator-name = "regen2";
525 regulator-boot-on;
526 regulator-always-on;
527 };
528
529 /* REGEN3 is unused */
530
531 sysen1: sysen1 {
532 /* PMIC_REGEN_3V3 */
533 regulator-name = "sysen1";
534 regulator-boot-on;
535 regulator-always-on;
536 };
537
538 sysen2: sysen2 {
539 /* PMIC_REGEN_DDR */
540 regulator-name = "sysen2";
541 regulator-boot-on;
542 regulator-always-on;
Mugunthan V N0f148312015-09-22 18:45:12 +0530543 };
544 };
545 };
546 };
547
Lokesh Vutlada047422016-11-23 13:25:29 +0530548 pcf_lcd: gpio@20 {
549 compatible = "ti,pcf8575", "nxp,pcf8575";
550 reg = <0x20>;
551 gpio-controller;
552 #gpio-cells = <2>;
553 interrupt-parent = <&gpio6>;
554 interrupts = <11 IRQ_TYPE_EDGE_FALLING>;
555 interrupt-controller;
556 #interrupt-cells = <2>;
557 };
558
Mugunthan V N0f148312015-09-22 18:45:12 +0530559 pcf_gpio_21: gpio@21 {
Lokesh Vutlada047422016-11-23 13:25:29 +0530560 compatible = "ti,pcf8575", "nxp,pcf8575";
Mugunthan V N0f148312015-09-22 18:45:12 +0530561 reg = <0x21>;
562 lines-initial-states = <0x1408>;
563 gpio-controller;
564 #gpio-cells = <2>;
565 interrupt-parent = <&gpio6>;
566 interrupts = <11 IRQ_TYPE_EDGE_FALLING>;
567 interrupt-controller;
568 #interrupt-cells = <2>;
Vignesh Rb28d0502016-08-02 10:14:26 +0530569 u-boot,i2c-offset-len = <0>;
Mugunthan V N0f148312015-09-22 18:45:12 +0530570 };
571
Lokesh Vutlada047422016-11-23 13:25:29 +0530572 tlv320aic3106: tlv320aic3106@19 {
573 #sound-dai-cells = <0>;
574 compatible = "ti,tlv320aic3106";
575 reg = <0x19>;
576 adc-settle-ms = <40>;
577 ai3x-micbias-vg = <1>; /* 2.0V */
578 status = "okay";
579
580 /* Regulators */
581 AVDD-supply = <&evm_3v3_sw>;
582 IOVDD-supply = <&evm_3v3_sw>;
583 DRVDD-supply = <&evm_3v3_sw>;
584 DVDD-supply = <&aic_dvdd>;
585 };
Mugunthan V N0f148312015-09-22 18:45:12 +0530586};
587
588&i2c2 {
589 status = "okay";
590 pinctrl-names = "default";
591 pinctrl-0 = <&i2c2_pins>;
592 clock-frequency = <400000>;
Lokesh Vutlada047422016-11-23 13:25:29 +0530593
594 pcf_hdmi: gpio@26 {
595 compatible = "ti,pcf8575", "nxp,pcf8575";
596 reg = <0x26>;
597 gpio-controller;
598 #gpio-cells = <2>;
599 p1 {
600 /* vin6_sel_s0: high: VIN6, low: audio */
601 gpio-hog;
602 gpios = <1 GPIO_ACTIVE_HIGH>;
603 output-low;
604 line-name = "vin6_sel_s0";
605 };
606 };
Mugunthan V N0f148312015-09-22 18:45:12 +0530607};
608
609&i2c3 {
610 status = "okay";
611 pinctrl-names = "default";
612 pinctrl-0 = <&i2c3_pins>;
613 clock-frequency = <400000>;
614};
615
616&mcspi1 {
617 status = "okay";
618 pinctrl-names = "default";
619 pinctrl-0 = <&mcspi1_pins>;
620};
621
622&mcspi2 {
623 status = "okay";
624 pinctrl-names = "default";
625 pinctrl-0 = <&mcspi2_pins>;
626};
627
628&uart1 {
629 status = "okay";
630 pinctrl-names = "default";
631 pinctrl-0 = <&uart1_pins>;
632 interrupts-extended = <&crossbar_mpu GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>,
633 <&dra7_pmx_core 0x3e0>;
634};
635
636&uart2 {
637 status = "okay";
638 pinctrl-names = "default";
639 pinctrl-0 = <&uart2_pins>;
640};
641
642&uart3 {
643 status = "okay";
644 pinctrl-names = "default";
645 pinctrl-0 = <&uart3_pins>;
646};
647
648&mmc1 {
649 status = "okay";
Vignesh R5e1f11e2016-08-10 15:17:20 +0530650 vmmc-supply = <&evm_3v3_sd>;
651 vmmc_aux-supply = <&ldo1_reg>;
Mugunthan V N0f148312015-09-22 18:45:12 +0530652 bus-width = <4>;
Mugunthan V Nc08efbe2016-04-04 17:28:03 +0530653 /*
654 * SDCD signal is not being used here - using the fact that GPIO mode
655 * is always hardwired.
656 */
657 cd-gpios = <&gpio6 27 GPIO_ACTIVE_LOW>;
Mugunthan V N0f148312015-09-22 18:45:12 +0530658};
659
660&mmc2 {
661 status = "okay";
Lokesh Vutlada047422016-11-23 13:25:29 +0530662 vmmc-supply = <&evm_3v3_sw>;
Mugunthan V N0f148312015-09-22 18:45:12 +0530663 bus-width = <8>;
664};
665
666&cpu0 {
667 cpu0-supply = <&smps123_reg>;
668};
669
670&qspi {
671 status = "okay";
Mugunthan V N0f148312015-09-22 18:45:12 +0530672
Vignesh R225b2da2016-07-25 15:45:47 +0530673 spi-max-frequency = <76800000>;
Mugunthan V N0f148312015-09-22 18:45:12 +0530674 m25p80@0 {
Lokesh Vutlada047422016-11-23 13:25:29 +0530675 compatible = "s25fl256s1", "spi-flash";
Vignesh R31de6082016-11-05 16:05:15 +0530676 spi-max-frequency = <76800000>;
Mugunthan V N0f148312015-09-22 18:45:12 +0530677 reg = <0>;
678 spi-tx-bus-width = <1>;
679 spi-rx-bus-width = <4>;
Mugunthan V N0f148312015-09-22 18:45:12 +0530680 #address-cells = <1>;
681 #size-cells = <1>;
682
683 /* MTD partition table.
684 * The ROM checks the first four physical blocks
685 * for a valid file to boot and the flash here is
686 * 64KiB block size.
687 */
688 partition@0 {
689 label = "QSPI.SPL";
690 reg = <0x00000000 0x000010000>;
691 };
692 partition@1 {
693 label = "QSPI.SPL.backup1";
694 reg = <0x00010000 0x00010000>;
695 };
696 partition@2 {
697 label = "QSPI.SPL.backup2";
698 reg = <0x00020000 0x00010000>;
699 };
700 partition@3 {
701 label = "QSPI.SPL.backup3";
702 reg = <0x00030000 0x00010000>;
703 };
704 partition@4 {
705 label = "QSPI.u-boot";
706 reg = <0x00040000 0x00100000>;
707 };
708 partition@5 {
709 label = "QSPI.u-boot-spl-os";
710 reg = <0x00140000 0x00080000>;
711 };
712 partition@6 {
713 label = "QSPI.u-boot-env";
714 reg = <0x001c0000 0x00010000>;
715 };
716 partition@7 {
717 label = "QSPI.u-boot-env.backup1";
718 reg = <0x001d0000 0x0010000>;
719 };
720 partition@8 {
721 label = "QSPI.kernel";
722 reg = <0x001e0000 0x0800000>;
723 };
724 partition@9 {
725 label = "QSPI.file-system";
726 reg = <0x009e0000 0x01620000>;
727 };
728 };
729};
730
731&omap_dwc3_1 {
732 extcon = <&extcon_usb1>;
733};
734
735&omap_dwc3_2 {
736 extcon = <&extcon_usb2>;
737};
738
739&usb1 {
740 dr_mode = "peripheral";
741 pinctrl-names = "default";
742 pinctrl-0 = <&usb1_pins>;
743};
744
745&usb2 {
746 dr_mode = "host";
747 pinctrl-names = "default";
748 pinctrl-0 = <&usb2_pins>;
749};
750
751&elm {
752 status = "okay";
753};
754
755&gpmc {
756 status = "okay";
757 pinctrl-names = "default";
758 pinctrl-0 = <&nand_flash_x16>;
Lokesh Vutlada047422016-11-23 13:25:29 +0530759 ranges = <0 0 0x08000000 0x01000000>; /* minimum GPMC partition = 16MB */
Mugunthan V N0f148312015-09-22 18:45:12 +0530760 nand@0,0 {
Lokesh Vutlada047422016-11-23 13:25:29 +0530761 compatible = "ti,omap2-nand";
Mugunthan V N0f148312015-09-22 18:45:12 +0530762 reg = <0 0 4>; /* device IO registers */
Lokesh Vutlada047422016-11-23 13:25:29 +0530763 interrupt-parent = <&gpmc>;
764 interrupts = <0 IRQ_TYPE_NONE>, /* fifoevent */
765 <1 IRQ_TYPE_NONE>; /* termcount */
766 rb-gpios = <&gpmc 0 GPIO_ACTIVE_HIGH>; /* gpmc_wait0 pin */
Mugunthan V N0f148312015-09-22 18:45:12 +0530767 ti,nand-ecc-opt = "bch8";
768 ti,elm-id = <&elm>;
769 nand-bus-width = <16>;
770 gpmc,device-width = <2>;
771 gpmc,sync-clk-ps = <0>;
772 gpmc,cs-on-ns = <0>;
773 gpmc,cs-rd-off-ns = <80>;
774 gpmc,cs-wr-off-ns = <80>;
775 gpmc,adv-on-ns = <0>;
776 gpmc,adv-rd-off-ns = <60>;
777 gpmc,adv-wr-off-ns = <60>;
778 gpmc,we-on-ns = <10>;
779 gpmc,we-off-ns = <50>;
780 gpmc,oe-on-ns = <4>;
781 gpmc,oe-off-ns = <40>;
782 gpmc,access-ns = <40>;
783 gpmc,wr-access-ns = <80>;
784 gpmc,rd-cycle-ns = <80>;
785 gpmc,wr-cycle-ns = <80>;
786 gpmc,bus-turnaround-ns = <0>;
787 gpmc,cycle2cycle-delay-ns = <0>;
788 gpmc,clk-activation-ns = <0>;
Mugunthan V N0f148312015-09-22 18:45:12 +0530789 gpmc,wr-data-mux-bus-ns = <0>;
790 /* MTD partition table */
791 /* All SPL-* partitions are sized to minimal length
792 * which can be independently programmable. For
793 * NAND flash this is equal to size of erase-block */
794 #address-cells = <1>;
795 #size-cells = <1>;
796 partition@0 {
797 label = "NAND.SPL";
798 reg = <0x00000000 0x000020000>;
799 };
800 partition@1 {
801 label = "NAND.SPL.backup1";
802 reg = <0x00020000 0x00020000>;
803 };
804 partition@2 {
805 label = "NAND.SPL.backup2";
806 reg = <0x00040000 0x00020000>;
807 };
808 partition@3 {
809 label = "NAND.SPL.backup3";
810 reg = <0x00060000 0x00020000>;
811 };
812 partition@4 {
813 label = "NAND.u-boot-spl-os";
814 reg = <0x00080000 0x00040000>;
815 };
816 partition@5 {
817 label = "NAND.u-boot";
818 reg = <0x000c0000 0x00100000>;
819 };
820 partition@6 {
821 label = "NAND.u-boot-env";
822 reg = <0x001c0000 0x00020000>;
823 };
824 partition@7 {
825 label = "NAND.u-boot-env.backup1";
826 reg = <0x001e0000 0x00020000>;
827 };
828 partition@8 {
829 label = "NAND.kernel";
830 reg = <0x00200000 0x00800000>;
831 };
832 partition@9 {
833 label = "NAND.file-system";
834 reg = <0x00a00000 0x0f600000>;
835 };
836 };
837};
838
839&usb2_phy1 {
840 phy-supply = <&ldousb_reg>;
841};
842
843&usb2_phy2 {
844 phy-supply = <&ldousb_reg>;
845};
846
847&gpio7 {
848 ti,no-reset-on-init;
849 ti,no-idle-on-init;
850};
851
852&mac {
853 status = "okay";
854 pinctrl-names = "default", "sleep";
855 pinctrl-0 = <&cpsw_default>;
856 pinctrl-1 = <&cpsw_sleep>;
857 dual_emac;
858};
859
860&cpsw_emac0 {
861 phy_id = <&davinci_mdio>, <2>;
862 phy-mode = "rgmii";
863 dual_emac_res_vlan = <1>;
864};
865
866&cpsw_emac1 {
867 phy_id = <&davinci_mdio>, <3>;
868 phy-mode = "rgmii";
869 dual_emac_res_vlan = <2>;
870};
871
872&davinci_mdio {
873 pinctrl-names = "default", "sleep";
874 pinctrl-0 = <&davinci_mdio_default>;
875 pinctrl-1 = <&davinci_mdio_sleep>;
876};
877
878&dcan1 {
879 status = "ok";
880 pinctrl-names = "default", "sleep", "active";
881 pinctrl-0 = <&dcan1_pins_sleep>;
882 pinctrl-1 = <&dcan1_pins_sleep>;
883 pinctrl-2 = <&dcan1_pins_default>;
884};
Lokesh Vutlada047422016-11-23 13:25:29 +0530885
886&atl {
887 pinctrl-names = "default";
888 pinctrl-0 = <&atl_pins>;
889
890 assigned-clocks = <&abe_dpll_sys_clk_mux>,
891 <&atl_gfclk_mux>,
892 <&dpll_abe_ck>,
893 <&dpll_abe_m2x2_ck>,
894 <&atl_clkin2_ck>;
895 assigned-clock-parents = <&sys_clkin2>, <&dpll_abe_m2_ck>;
896 assigned-clock-rates = <0>, <0>, <180633600>, <361267200>, <5644800>;
897
898 status = "okay";
899
900 atl2 {
901 bws = <DRA7_ATL_WS_MCASP2_FSX>;
902 aws = <DRA7_ATL_WS_MCASP3_FSX>;
903 };
904};
905
906&mcasp3 {
907 #sound-dai-cells = <0>;
908 pinctrl-names = "default", "sleep";
909 pinctrl-0 = <&mcasp3_pins>;
910 pinctrl-1 = <&mcasp3_sleep_pins>;
911
912 assigned-clocks = <&mcasp3_ahclkx_mux>;
913 assigned-clock-parents = <&atl_clkin2_ck>;
914
915 status = "okay";
916
917 op-mode = <0>; /* MCASP_IIS_MODE */
918 tdm-slots = <2>;
919 /* 4 serializer */
920 serial-dir = < /* 0: INACTIVE, 1: TX, 2: RX */
921 1 2 0 0
922 >;
923 tx-num-evt = <32>;
924 rx-num-evt = <32>;
925};
926
927&mailbox5 {
928 status = "okay";
929 mbox_ipu1_ipc3x: mbox_ipu1_ipc3x {
930 status = "okay";
931 };
932 mbox_dsp1_ipc3x: mbox_dsp1_ipc3x {
933 status = "okay";
934 };
935};
936
937&mailbox6 {
938 status = "okay";
939 mbox_ipu2_ipc3x: mbox_ipu2_ipc3x {
940 status = "okay";
941 };
942 mbox_dsp2_ipc3x: mbox_dsp2_ipc3x {
943 status = "okay";
944 };
945};