blob: d97b0efa43f358de8385bb52bf8b02b1ef48dc98 [file] [log] [blame]
George McCollisterd5744542014-11-17 13:02:35 -06001/*
2 * Copyright (C) 2014 NovaTech LLC - http://www.novatechweb.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 "am33xx.dtsi"
11
12/ {
13 model = "NovaTech OrionLXm";
14 compatible = "novatech,am335x-lxm", "ti,am33xx";
15
16 cpus {
17 cpu@0 {
18 cpu0-supply = <&vdd1_reg>;
19 };
20 };
21
22 memory {
23 device_type = "memory";
24 reg = <0x80000000 0x20000000>; /* 512 MB */
25 };
26
27 /* Power supply provides a fixed 5V @2A */
28 vbat: fixedregulator@0 {
29 compatible = "regulator-fixed";
30 regulator-name = "vbat";
31 regulator-min-microvolt = <5000000>;
32 regulator-max-microvolt = <5000000>;
33 regulator-boot-on;
34 };
35
36 /* Power supply provides a fixed 3.3V @3A */
37 vmmcsd_fixed: fixedregulator@1 {
38 compatible = "regulator-fixed";
39 regulator-name = "vmmcsd_fixed";
40 regulator-min-microvolt = <3300000>;
41 regulator-max-microvolt = <3300000>;
42 regulator-boot-on;
43 };
44};
45
46&am33xx_pinmux {
47 mmc1_pins: pinmux_mmc1_pins {
48 pinctrl-single,pins = <
Javier Martinez Canillas9b0aebd2015-11-13 01:53:48 -030049 AM33XX_IOPAD(0x8f0, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc0_dat3 */
50 AM33XX_IOPAD(0x8f4, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc0_dat2 */
51 AM33XX_IOPAD(0x8f8, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc0_dat1 */
52 AM33XX_IOPAD(0x8fc, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc0_dat0 */
53 AM33XX_IOPAD(0x900, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc0_clk */
54 AM33XX_IOPAD(0x904, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc0_cmd */
George McCollisterd5744542014-11-17 13:02:35 -060055 >;
56 };
57
58 i2c0_pins: pinmux_i2c0_pins {
59 pinctrl-single,pins = <
Javier Martinez Canillas9b0aebd2015-11-13 01:53:48 -030060 AM33XX_IOPAD(0x988, PIN_INPUT | MUX_MODE0) /* i2c0_sda.i2c0_sda */
61 AM33XX_IOPAD(0x98c, PIN_INPUT | MUX_MODE0) /* i2c0_scl.i2c0_scl */
George McCollisterd5744542014-11-17 13:02:35 -060062 >;
63 };
64
65 cpsw_default: cpsw_default {
66 pinctrl-single,pins = <
67 /* Slave 1 */
Javier Martinez Canillas9b0aebd2015-11-13 01:53:48 -030068 AM33XX_IOPAD(0x864, PIN_INPUT_PULLDOWN | MUX_MODE7) /* rmii1_int */
69 AM33XX_IOPAD(0x90c, PIN_INPUT_PULLDOWN | MUX_MODE1) /* rmii1_crs_dv */
70 AM33XX_IOPAD(0x910, PIN_INPUT_PULLDOWN | MUX_MODE1) /* rmii1_rxer */
71 AM33XX_IOPAD(0x914, PIN_OUTPUT_PULLDOWN | MUX_MODE1) /* rmii1_txen */
72 AM33XX_IOPAD(0x924, PIN_OUTPUT_PULLDOWN | MUX_MODE1) /* rmii1_td1 */
73 AM33XX_IOPAD(0x928, PIN_OUTPUT_PULLDOWN | MUX_MODE1) /* rmii1_td0 */
74 AM33XX_IOPAD(0x93c, PIN_INPUT_PULLDOWN | MUX_MODE1) /* rmii1_rd1 */
75 AM33XX_IOPAD(0x940, PIN_INPUT_PULLDOWN | MUX_MODE1) /* rmii1_rd0 */
76 AM33XX_IOPAD(0x944, PIN_INPUT_PULLDOWN | MUX_MODE0) /* rmii1_refclk */
George McCollisterd5744542014-11-17 13:02:35 -060077
78 /* Slave 2 */
Javier Martinez Canillas9b0aebd2015-11-13 01:53:48 -030079 AM33XX_IOPAD(0x840, PIN_OUTPUT_PULLDOWN | MUX_MODE3) /* rmii2_txen */
80 AM33XX_IOPAD(0x850, PIN_OUTPUT_PULLDOWN | MUX_MODE3) /* rmii2_td1 */
81 AM33XX_IOPAD(0x854, PIN_OUTPUT_PULLDOWN | MUX_MODE3) /* rmii2_td0 */
82 AM33XX_IOPAD(0x868, PIN_INPUT_PULLDOWN | MUX_MODE3) /* rmii2_rd1 */
83 AM33XX_IOPAD(0x86c, PIN_INPUT_PULLDOWN | MUX_MODE3) /* rmii2_rd0 */
84 AM33XX_IOPAD(0x870, PIN_INPUT_PULLDOWN | MUX_MODE3) /* rmii2_crs_dv */
85 AM33XX_IOPAD(0x874, PIN_INPUT_PULLDOWN | MUX_MODE3) /* rmii2_rxer */
86 AM33XX_IOPAD(0x878, PIN_INPUT_PULLDOWN | MUX_MODE7) /* rmii2_int */
87 AM33XX_IOPAD(0x908, PIN_INPUT_PULLDOWN | MUX_MODE1) /* rmii2_refclk */
George McCollisterd5744542014-11-17 13:02:35 -060088 >;
89 };
90
91 cpsw_sleep: cpsw_sleep {
92 pinctrl-single,pins = <
93 /* Slave 1 reset value */
Javier Martinez Canillas9b0aebd2015-11-13 01:53:48 -030094 AM33XX_IOPAD(0x864, PIN_INPUT_PULLDOWN | MUX_MODE7) /* rmii1_int */
95 AM33XX_IOPAD(0x90c, PIN_INPUT_PULLDOWN | MUX_MODE7) /* rmii1_crs_dv */
96 AM33XX_IOPAD(0x910, PIN_INPUT_PULLDOWN | MUX_MODE7) /* rmii1_rxer */
97 AM33XX_IOPAD(0x914, PIN_INPUT_PULLDOWN | MUX_MODE7) /* rmii1_txen */
98 AM33XX_IOPAD(0x924, PIN_INPUT_PULLDOWN | MUX_MODE7) /* rmii1_td1 */
99 AM33XX_IOPAD(0x928, PIN_INPUT_PULLDOWN | MUX_MODE7) /* rmii1_td0 */
100 AM33XX_IOPAD(0x93c, PIN_INPUT_PULLDOWN | MUX_MODE7) /* rmii1_rd1 */
101 AM33XX_IOPAD(0x940, PIN_INPUT_PULLDOWN | MUX_MODE7) /* rmii1_rd0 */
102 AM33XX_IOPAD(0x944, PIN_INPUT_PULLDOWN | MUX_MODE7) /* rmii1_refclk */
George McCollisterd5744542014-11-17 13:02:35 -0600103
104 /* Slave 2 reset value*/
Javier Martinez Canillas9b0aebd2015-11-13 01:53:48 -0300105 AM33XX_IOPAD(0x840, PIN_INPUT_PULLDOWN | MUX_MODE7) /* rmii2_txen */
106 AM33XX_IOPAD(0x850, PIN_INPUT_PULLDOWN | MUX_MODE7) /* rmii2_td1 */
107 AM33XX_IOPAD(0x854, PIN_INPUT_PULLDOWN | MUX_MODE7) /* rmii2_td0 */
108 AM33XX_IOPAD(0x868, PIN_INPUT_PULLDOWN | MUX_MODE7) /* rmii2_rd1 */
109 AM33XX_IOPAD(0x86c, PIN_INPUT_PULLDOWN | MUX_MODE7) /* rmii2_rd0 */
110 AM33XX_IOPAD(0x870, PIN_INPUT_PULLDOWN | MUX_MODE7) /* rmii2_crs_dv */
111 AM33XX_IOPAD(0x874, PIN_INPUT_PULLDOWN | MUX_MODE7) /* rmii2_rxer */
112 AM33XX_IOPAD(0x878, PIN_INPUT_PULLDOWN | MUX_MODE7) /* rmii2_int */
113 AM33XX_IOPAD(0x908, PIN_INPUT_PULLDOWN | MUX_MODE7) /* rmii2_refclk */
George McCollisterd5744542014-11-17 13:02:35 -0600114 >;
115 };
116
117 davinci_mdio_default: davinci_mdio_default {
118 pinctrl-single,pins = <
119 /* MDIO */
Javier Martinez Canillas9b0aebd2015-11-13 01:53:48 -0300120 AM33XX_IOPAD(0x948, PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE0) /* mdio_data.mdio_data */
121 AM33XX_IOPAD(0x94c, PIN_OUTPUT_PULLUP | MUX_MODE0) /* mdio_clk.mdio_clk */
George McCollisterd5744542014-11-17 13:02:35 -0600122 >;
123 };
124
125 davinci_mdio_sleep: davinci_mdio_sleep {
126 pinctrl-single,pins = <
127 /* MDIO reset value */
Javier Martinez Canillas9b0aebd2015-11-13 01:53:48 -0300128 AM33XX_IOPAD(0x948, PIN_INPUT_PULLDOWN | MUX_MODE7)
129 AM33XX_IOPAD(0x94c, PIN_INPUT_PULLDOWN | MUX_MODE7)
George McCollisterd5744542014-11-17 13:02:35 -0600130 >;
131 };
132
133 emmc_pins: pinmux_emmc_pins {
134 pinctrl-single,pins = <
Javier Martinez Canillas9b0aebd2015-11-13 01:53:48 -0300135 AM33XX_IOPAD(0x880, PIN_INPUT_PULLUP | MUX_MODE2) /* gpmc_csn1.mmc1_clk */
136 AM33XX_IOPAD(0x884, PIN_INPUT_PULLUP | MUX_MODE2) /* gpmc_csn2.mmc1_cmd */
137 AM33XX_IOPAD(0x800, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad0.mmc1_dat0 */
138 AM33XX_IOPAD(0x804, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad1.mmc1_dat1 */
139 AM33XX_IOPAD(0x808, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad2.mmc1_dat2 */
140 AM33XX_IOPAD(0x80c, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad3.mmc1_dat3 */
141 AM33XX_IOPAD(0x810, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad4.mmc1_dat4 */
142 AM33XX_IOPAD(0x814, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad5.mmc1_dat5 */
143 AM33XX_IOPAD(0x818, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad6.mmc1_dat6 */
144 AM33XX_IOPAD(0x81c, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad7.mmc1_dat7 */
George McCollisterd5744542014-11-17 13:02:35 -0600145 >;
146 };
147
148 uart0_pins: pinmux_uart0_pins {
149 pinctrl-single,pins = <
Javier Martinez Canillas9b0aebd2015-11-13 01:53:48 -0300150 AM33XX_IOPAD(0x970, PIN_INPUT_PULLUP | MUX_MODE0) /* uart0_rxd.uart0_rxd */
151 AM33XX_IOPAD(0x974, PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* uart0_txd.uart0_txd */
George McCollisterd5744542014-11-17 13:02:35 -0600152 >;
153 };
154};
155
156&i2c0 {
157 pinctrl-names = "default";
158 pinctrl-0 = <&i2c0_pins>;
159
160 status = "okay";
161 clock-frequency = <400000>;
162
163 serial_config1: serial_config1@20 {
164 compatible = "nxp,pca9539";
165 reg = <0x20>;
166 };
167
168 serial_config2: serial_config2@21 {
169 compatible = "nxp,pca9539";
170 reg = <0x21>;
171 };
172
173 tps: tps@2d {
174 compatible = "ti,tps65910";
175 reg = <0x2d>;
176 };
177};
178
179/include/ "tps65910.dtsi"
180
181&tps {
182 vcc1-supply = <&vbat>;
183 vcc2-supply = <&vbat>;
184 vcc3-supply = <&vbat>;
185 vcc4-supply = <&vbat>;
186 vcc5-supply = <&vbat>;
187 vcc6-supply = <&vbat>;
188 vcc7-supply = <&vbat>;
189 vccio-supply = <&vbat>;
190
191 regulators {
192 /* vrtc - unused */
193
194 vio_reg: regulator@1 {
195 regulator-name = "vio_1v5,ddr";
196 regulator-min-microvolt = <1500000>;
197 regulator-max-microvolt = <1500000>;
198 regulator-boot-on;
199 regulator-always-on;
200 };
201
202 vdd1_reg: regulator@2 {
203 regulator-name = "vdd1,mpu";
204 regulator-min-microvolt = <600000>;
205 regulator-max-microvolt = <1500000>;
206 regulator-boot-on;
207 regulator-always-on;
208 };
209
210 vdd2_reg: regulator@3 {
211 regulator-name = "vdd2_1v1,core";
212 regulator-min-microvolt = <1100000>;
213 regulator-max-microvolt = <1100000>;
214 regulator-boot-on;
215 regulator-always-on;
216 };
217
218 /* vdd3 - unused */
219
220 /* vdig1 - unused */
221
222 vdig2_reg: regulator@6 {
223 regulator-name = "vdig2_1v8,vdds_pll";
224 regulator-min-microvolt = <1800000>;
225 regulator-max-microvolt = <1800000>;
226 regulator-boot-on;
227 regulator-always-on;
228 };
229
230 /* vpll - unused */
231
232 vdac_reg: regulator@8 {
233 regulator-name = "vdac_1v8,vdds";
234 regulator-min-microvolt = <1800000>;
235 regulator-max-microvolt = <1800000>;
236 regulator-boot-on;
237 regulator-always-on;
238 };
239
240 vaux1_reg: regulator@9 {
241 regulator-name = "vaux1_1v8,usb";
242 regulator-min-microvolt = <1800000>;
243 regulator-max-microvolt = <1800000>;
244 regulator-boot-on;
245 regulator-always-on;
246 };
247
248 vaux2_reg: regulator@10 {
249 regulator-name = "vaux2_3v3,io";
250 regulator-min-microvolt = <3300000>;
251 regulator-max-microvolt = <3300000>;
252 regulator-boot-on;
253 regulator-always-on;
254 };
255
256 vaux33_reg: regulator@11 {
257 regulator-name = "vaux33_3v3,usb";
258 regulator-min-microvolt = <3300000>;
259 regulator-max-microvolt = <3300000>;
260 regulator-boot-on;
261 regulator-always-on;
262 };
263
264 vmmc_reg: regulator@12 {
265 regulator-name = "vmmc_3v3,io";
266 regulator-min-microvolt = <3300000>;
267 regulator-max-microvolt = <3300000>;
268 regulator-boot-on;
269 regulator-always-on;
270 };
271 };
272};
273
274&sham {
275 status = "okay";
276};
277
278&aes {
279 status = "okay";
280};
281
282&uart0 {
283 pinctrl-names = "default";
284 pinctrl-0 = <&uart0_pins>;
285
286 status = "okay";
287};
288
289&usb {
290 status = "okay";
291};
292
293&usb_ctrl_mod {
294 status = "okay";
295};
296
297&usb0_phy {
298 status = "okay";
299};
300
301&usb1_phy {
302 status = "okay";
303};
304
305&usb0 {
306 status = "okay";
307 dr_mode = "host";
308};
309
310&usb1 {
311 status = "okay";
312 dr_mode = "host";
313};
314
315&cppi41dma {
316 status = "okay";
317};
318
319&cpsw_emac0 {
320 phy_id = <&davinci_mdio>, <5>;
321 phy-mode = "rmii";
322 dual_emac_res_vlan = <2>;
323};
324
325&cpsw_emac1 {
326 phy_id = <&davinci_mdio>, <4>;
327 phy-mode = "rmii";
328 dual_emac_res_vlan = <3>;
329};
330
George McCollister87be4892015-02-26 10:48:14 -0600331&phy_sel {
332 rmii-clock-ext;
333};
334
George McCollisterd5744542014-11-17 13:02:35 -0600335&mac {
336 pinctrl-names = "default", "sleep";
337 pinctrl-0 = <&cpsw_default>;
338 pinctrl-1 = <&cpsw_sleep>;
339 dual_emac = <1>;
340 status = "okay";
341};
342
343&davinci_mdio {
344 pinctrl-names = "default", "sleep";
345 pinctrl-0 = <&davinci_mdio_default>;
346 pinctrl-1 = <&davinci_mdio_sleep>;
347 status = "okay";
348};
349
350&mmc1 {
351 pinctrl-names = "default";
352 pinctrl-0 = <&mmc1_pins>;
353 vmmc-supply = <&vmmcsd_fixed>;
354 bus-width = <4>;
355 status = "okay";
356};
357
358&mmc2 {
359 pinctrl-names = "default";
360 pinctrl-0 = <&emmc_pins>;
361 vmmc-supply = <&vmmcsd_fixed>;
362 bus-width = <8>;
363 ti,non-removable;
364 status = "okay";
365};
366