1279377Simp/*
2279377Simp * Copyright (C) 2014 NovaTech LLC - http://www.novatechweb.com
3279377Simp *
4279377Simp * This program is free software; you can redistribute it and/or modify
5279377Simp * it under the terms of the GNU General Public License version 2 as
6279377Simp * published by the Free Software Foundation.
7279377Simp */
8279377Simp/dts-v1/;
9279377Simp
10279377Simp#include "am33xx.dtsi"
11279377Simp
12279377Simp/ {
13279377Simp	model = "NovaTech OrionLXm";
14279377Simp	compatible = "novatech,am335x-lxm", "ti,am33xx";
15279377Simp
16279377Simp	cpus {
17279377Simp		cpu@0 {
18279377Simp			cpu0-supply = <&vdd1_reg>;
19279377Simp		};
20279377Simp	};
21279377Simp
22279377Simp	memory {
23279377Simp		device_type = "memory";
24279377Simp		reg = <0x80000000 0x20000000>; /* 512 MB */
25279377Simp	};
26279377Simp
27279377Simp	/* Power supply provides a fixed 5V @2A */
28279377Simp	vbat: fixedregulator@0 {
29279377Simp		compatible = "regulator-fixed";
30279377Simp		regulator-name = "vbat";
31279377Simp		regulator-min-microvolt = <5000000>;
32279377Simp		regulator-max-microvolt = <5000000>;
33279377Simp		regulator-boot-on;
34279377Simp	};
35279377Simp
36279377Simp	/* Power supply provides a fixed 3.3V @3A */
37279377Simp	vmmcsd_fixed: fixedregulator@1 {
38279377Simp		compatible = "regulator-fixed";
39279377Simp		regulator-name = "vmmcsd_fixed";
40279377Simp		regulator-min-microvolt = <3300000>;
41279377Simp		regulator-max-microvolt = <3300000>;
42279377Simp		regulator-boot-on;
43279377Simp	};
44279377Simp};
45279377Simp
46279377Simp&am33xx_pinmux {
47279377Simp	mmc1_pins: pinmux_mmc1_pins {
48279377Simp		pinctrl-single,pins = <
49279377Simp			0xf0 (PIN_INPUT_PULLUP | MUX_MODE0)	/* mmc0_dat3 */
50279377Simp			0xf4 (PIN_INPUT_PULLUP | MUX_MODE0)	/* mmc0_dat2 */
51279377Simp			0xf8 (PIN_INPUT_PULLUP | MUX_MODE0)	/* mmc0_dat1 */
52279377Simp			0xfc (PIN_INPUT_PULLUP | MUX_MODE0)	/* mmc0_dat0 */
53279377Simp			0x100 (PIN_INPUT_PULLUP | MUX_MODE0)	/* mmc0_clk */
54279377Simp			0x104 (PIN_INPUT_PULLUP | MUX_MODE0)	/* mmc0_cmd */
55279377Simp		>;
56279377Simp	};
57279377Simp
58279377Simp	i2c0_pins: pinmux_i2c0_pins {
59279377Simp		pinctrl-single,pins = <
60279377Simp			0x188 (PIN_INPUT | MUX_MODE0)	/* i2c0_sda.i2c0_sda */
61279377Simp			0x18c (PIN_INPUT | MUX_MODE0)	/* i2c0_scl.i2c0_scl */
62279377Simp		>;
63279377Simp	};
64279377Simp
65279377Simp	cpsw_default: cpsw_default {
66279377Simp		pinctrl-single,pins = <
67279377Simp			/* Slave 1 */
68279377Simp			0x64 (PIN_INPUT_PULLDOWN | MUX_MODE7)	/* rmii1_int */
69279377Simp			0x10c (PIN_INPUT_PULLDOWN | MUX_MODE1)	/* rmii1_crs_dv */
70279377Simp			0x110 (PIN_INPUT_PULLDOWN | MUX_MODE1)	/* rmii1_rxer */
71279377Simp			0x114 (PIN_OUTPUT_PULLDOWN | MUX_MODE1)	/* rmii1_txen */
72279377Simp			0x124 (PIN_OUTPUT_PULLDOWN | MUX_MODE1)	/* rmii1_td1 */
73279377Simp			0x128 (PIN_OUTPUT_PULLDOWN | MUX_MODE1)	/* rmii1_td0 */
74279377Simp			0x13c (PIN_INPUT_PULLDOWN | MUX_MODE1)	/* rmii1_rd1 */
75279377Simp			0x140 (PIN_INPUT_PULLDOWN | MUX_MODE1)	/* rmii1_rd0 */
76279377Simp			0x144 (PIN_INPUT_PULLDOWN | MUX_MODE0)	/* rmii1_refclk */
77279377Simp
78279377Simp			/* Slave 2 */
79279377Simp			0x40 (PIN_OUTPUT_PULLDOWN | MUX_MODE3)	/* rmii2_txen */
80279377Simp			0x50 (PIN_OUTPUT_PULLDOWN | MUX_MODE3)	/* rmii2_td1 */
81279377Simp			0x54 (PIN_OUTPUT_PULLDOWN | MUX_MODE3)	/* rmii2_td0 */
82279377Simp			0x68 (PIN_INPUT_PULLDOWN | MUX_MODE3)	/* rmii2_rd1 */
83279377Simp			0x6c (PIN_INPUT_PULLDOWN | MUX_MODE3)	/* rmii2_rd0 */
84279377Simp			0x70 (PIN_INPUT_PULLDOWN | MUX_MODE3)	/* rmii2_crs_dv */
85279377Simp			0x74 (PIN_INPUT_PULLDOWN | MUX_MODE3)	/* rmii2_rxer */
86279377Simp			0x78 (PIN_INPUT_PULLDOWN | MUX_MODE7)	/* rmii2_int */
87279377Simp			0x108 (PIN_INPUT_PULLDOWN | MUX_MODE1)	/* rmii2_refclk */
88279377Simp		>;
89279377Simp	};
90279377Simp
91279377Simp	cpsw_sleep: cpsw_sleep {
92279377Simp		pinctrl-single,pins = <
93279377Simp			/* Slave 1 reset value */
94279377Simp			0x64 (PIN_INPUT_PULLDOWN | MUX_MODE7)	/* rmii1_int */
95279377Simp			0x10c (PIN_INPUT_PULLDOWN | MUX_MODE7)	/* rmii1_crs_dv */
96279377Simp			0x110 (PIN_INPUT_PULLDOWN | MUX_MODE7)	/* rmii1_rxer */
97279377Simp			0x114 (PIN_INPUT_PULLDOWN | MUX_MODE7)	/* rmii1_txen */
98279377Simp			0x124 (PIN_INPUT_PULLDOWN | MUX_MODE7)	/* rmii1_td1 */
99279377Simp			0x128 (PIN_INPUT_PULLDOWN | MUX_MODE7)	/* rmii1_td0 */
100279377Simp			0x13c (PIN_INPUT_PULLDOWN | MUX_MODE7)	/* rmii1_rd1 */
101279377Simp			0x140 (PIN_INPUT_PULLDOWN | MUX_MODE7)	/* rmii1_rd0 */
102279377Simp			0x144 (PIN_INPUT_PULLDOWN | MUX_MODE7)	/* rmii1_refclk */
103279377Simp
104279377Simp			/* Slave 2 reset value*/
105279377Simp			0x40 (PIN_INPUT_PULLDOWN | MUX_MODE7)	/* rmii2_txen */
106279377Simp			0x50 (PIN_INPUT_PULLDOWN | MUX_MODE7)	/* rmii2_td1 */
107279377Simp			0x54 (PIN_INPUT_PULLDOWN | MUX_MODE7)	/* rmii2_td0 */
108279377Simp			0x68 (PIN_INPUT_PULLDOWN | MUX_MODE7)	/* rmii2_rd1 */
109279377Simp			0x6c (PIN_INPUT_PULLDOWN | MUX_MODE7)	/* rmii2_rd0 */
110279377Simp			0x70 (PIN_INPUT_PULLDOWN | MUX_MODE7)	/* rmii2_crs_dv */
111279377Simp			0x74 (PIN_INPUT_PULLDOWN | MUX_MODE7)	/* rmii2_rxer */
112279377Simp			0x78 (PIN_INPUT_PULLDOWN | MUX_MODE7)	/* rmii2_int */
113279377Simp			0x108 (PIN_INPUT_PULLDOWN | MUX_MODE7)	/* rmii2_refclk */
114279377Simp		>;
115279377Simp	};
116279377Simp
117279377Simp	davinci_mdio_default: davinci_mdio_default {
118279377Simp		pinctrl-single,pins = <
119279377Simp			/* MDIO */
120279377Simp			0x148 (PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE0)	/* mdio_data.mdio_data */
121279377Simp			0x14c (PIN_OUTPUT_PULLUP | MUX_MODE0)			/* mdio_clk.mdio_clk */
122279377Simp		>;
123279377Simp	};
124279377Simp
125279377Simp	davinci_mdio_sleep: davinci_mdio_sleep {
126279377Simp		pinctrl-single,pins = <
127279377Simp			/* MDIO reset value */
128279377Simp			0x148 (PIN_INPUT_PULLDOWN | MUX_MODE7)
129279377Simp			0x14c (PIN_INPUT_PULLDOWN | MUX_MODE7)
130279377Simp		>;
131279377Simp	};
132279377Simp
133279377Simp	emmc_pins: pinmux_emmc_pins {
134279377Simp		pinctrl-single,pins = <
135279377Simp			0x80 (PIN_INPUT_PULLUP | MUX_MODE2) /* gpmc_csn1.mmc1_clk */
136279377Simp			0x84 (PIN_INPUT_PULLUP | MUX_MODE2) /* gpmc_csn2.mmc1_cmd */
137279377Simp			0x00 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad0.mmc1_dat0 */
138279377Simp			0x04 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad1.mmc1_dat1 */
139279377Simp			0x08 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad2.mmc1_dat2 */
140279377Simp			0x0c (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad3.mmc1_dat3 */
141279377Simp			0x10 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad4.mmc1_dat4 */
142279377Simp			0x14 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad5.mmc1_dat5 */
143279377Simp			0x18 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad6.mmc1_dat6 */
144279377Simp			0x1c (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad7.mmc1_dat7 */
145279377Simp		>;
146279377Simp	};
147279377Simp
148279377Simp	uart0_pins: pinmux_uart0_pins {
149279377Simp		pinctrl-single,pins = <
150279377Simp			0x170 (PIN_INPUT_PULLUP | MUX_MODE0)	/* uart0_rxd.uart0_rxd */
151279377Simp			0x174 (PIN_OUTPUT_PULLDOWN | MUX_MODE0)	/* uart0_txd.uart0_txd */
152279377Simp		>;
153279377Simp	};
154279377Simp};
155279377Simp
156279377Simp&i2c0 {
157279377Simp	pinctrl-names = "default";
158279377Simp	pinctrl-0 = <&i2c0_pins>;
159279377Simp
160279377Simp	status = "okay";
161279377Simp	clock-frequency = <400000>;
162279377Simp
163279377Simp	serial_config1: serial_config1@20 {
164279377Simp		compatible = "nxp,pca9539";
165279377Simp		reg = <0x20>;
166279377Simp	};
167279377Simp
168279377Simp	serial_config2: serial_config2@21 {
169279377Simp		compatible = "nxp,pca9539";
170279377Simp		reg = <0x21>;
171279377Simp	};
172279377Simp
173279377Simp	tps: tps@2d {
174279377Simp		compatible = "ti,tps65910";
175279377Simp		reg = <0x2d>;
176279377Simp	};
177279377Simp};
178279377Simp
179279377Simp/include/ "tps65910.dtsi"
180279377Simp
181279377Simp&tps {
182279377Simp	vcc1-supply = <&vbat>;
183279377Simp	vcc2-supply = <&vbat>;
184279377Simp	vcc3-supply = <&vbat>;
185279377Simp	vcc4-supply = <&vbat>;
186279377Simp	vcc5-supply = <&vbat>;
187279377Simp	vcc6-supply = <&vbat>;
188279377Simp	vcc7-supply = <&vbat>;
189279377Simp	vccio-supply = <&vbat>;
190279377Simp
191279377Simp	regulators {
192279377Simp		/* vrtc - unused */
193279377Simp
194279377Simp		vio_reg: regulator@1 {
195279377Simp			regulator-name = "vio_1v5,ddr";
196279377Simp			regulator-min-microvolt = <1500000>;
197279377Simp			regulator-max-microvolt = <1500000>;
198279377Simp			regulator-boot-on;
199279377Simp			regulator-always-on;
200279377Simp		};
201279377Simp
202279377Simp		vdd1_reg: regulator@2 {
203279377Simp			regulator-name = "vdd1,mpu";
204279377Simp			regulator-min-microvolt = <600000>;
205279377Simp			regulator-max-microvolt = <1500000>;
206279377Simp			regulator-boot-on;
207279377Simp			regulator-always-on;
208279377Simp		};
209279377Simp
210279377Simp		vdd2_reg: regulator@3 {
211279377Simp			regulator-name = "vdd2_1v1,core";
212279377Simp			regulator-min-microvolt = <1100000>;
213279377Simp			regulator-max-microvolt = <1100000>;
214279377Simp			regulator-boot-on;
215279377Simp			regulator-always-on;
216279377Simp		};
217279377Simp
218279377Simp		/* vdd3 - unused */
219279377Simp
220279377Simp		/* vdig1 - unused */
221279377Simp
222279377Simp		vdig2_reg: regulator@6 {
223279377Simp			regulator-name = "vdig2_1v8,vdds_pll";
224279377Simp			regulator-min-microvolt = <1800000>;
225279377Simp			regulator-max-microvolt = <1800000>;
226279377Simp			regulator-boot-on;
227279377Simp			regulator-always-on;
228279377Simp		};
229279377Simp
230279377Simp		/* vpll - unused */
231279377Simp
232279377Simp		vdac_reg: regulator@8 {
233279377Simp			regulator-name = "vdac_1v8,vdds";
234279377Simp			regulator-min-microvolt = <1800000>;
235279377Simp			regulator-max-microvolt = <1800000>;
236279377Simp			regulator-boot-on;
237279377Simp			regulator-always-on;
238279377Simp		};
239279377Simp
240279377Simp		vaux1_reg: regulator@9 {
241279377Simp			regulator-name = "vaux1_1v8,usb";
242279377Simp			regulator-min-microvolt = <1800000>;
243279377Simp			regulator-max-microvolt = <1800000>;
244279377Simp			regulator-boot-on;
245279377Simp			regulator-always-on;
246279377Simp		};
247279377Simp
248279377Simp		vaux2_reg: regulator@10 {
249279377Simp			regulator-name = "vaux2_3v3,io";
250279377Simp			regulator-min-microvolt = <3300000>;
251279377Simp			regulator-max-microvolt = <3300000>;
252279377Simp			regulator-boot-on;
253279377Simp			regulator-always-on;
254279377Simp		};
255279377Simp
256279377Simp		vaux33_reg: regulator@11 {
257279377Simp			regulator-name = "vaux33_3v3,usb";
258279377Simp			regulator-min-microvolt = <3300000>;
259279377Simp			regulator-max-microvolt = <3300000>;
260279377Simp			regulator-boot-on;
261279377Simp			regulator-always-on;
262279377Simp		};
263279377Simp
264279377Simp		vmmc_reg: regulator@12 {
265279377Simp			regulator-name = "vmmc_3v3,io";
266279377Simp			regulator-min-microvolt = <3300000>;
267279377Simp			regulator-max-microvolt = <3300000>;
268279377Simp			regulator-boot-on;
269279377Simp			regulator-always-on;
270279377Simp		};
271279377Simp	};
272279377Simp};
273279377Simp
274279377Simp&sham {
275279377Simp	status = "okay";
276279377Simp};
277279377Simp
278279377Simp&aes {
279279377Simp	status = "okay";
280279377Simp};
281279377Simp
282279377Simp&uart0 {
283279377Simp	pinctrl-names = "default";
284279377Simp	pinctrl-0 = <&uart0_pins>;
285279377Simp
286279377Simp	status = "okay";
287279377Simp};
288279377Simp
289279377Simp&usb {
290279377Simp	status = "okay";
291279377Simp};
292279377Simp
293279377Simp&usb_ctrl_mod {
294279377Simp	status = "okay";
295279377Simp};
296279377Simp
297279377Simp&usb0_phy {
298279377Simp	status = "okay";
299279377Simp};
300279377Simp
301279377Simp&usb1_phy {
302279377Simp	status = "okay";
303279377Simp};
304279377Simp
305279377Simp&usb0 {
306279377Simp	status = "okay";
307279377Simp	dr_mode = "host";
308279377Simp};
309279377Simp
310279377Simp&usb1 {
311279377Simp	status = "okay";
312279377Simp	dr_mode = "host";
313279377Simp};
314279377Simp
315279377Simp&cppi41dma  {
316279377Simp	status = "okay";
317279377Simp};
318279377Simp
319279377Simp&cpsw_emac0 {
320279377Simp	phy_id = <&davinci_mdio>, <5>;
321279377Simp	phy-mode = "rmii";
322279377Simp	dual_emac_res_vlan = <2>;
323279377Simp};
324279377Simp
325279377Simp&cpsw_emac1 {
326279377Simp	phy_id = <&davinci_mdio>, <4>;
327279377Simp	phy-mode = "rmii";
328279377Simp	dual_emac_res_vlan = <3>;
329279377Simp};
330279377Simp
331279377Simp&mac {
332279377Simp	pinctrl-names = "default", "sleep";
333279377Simp	pinctrl-0 = <&cpsw_default>;
334279377Simp	pinctrl-1 = <&cpsw_sleep>;
335279377Simp	dual_emac = <1>;
336279377Simp	status = "okay";
337279377Simp};
338279377Simp
339279377Simp&davinci_mdio {
340279377Simp	pinctrl-names = "default", "sleep";
341279377Simp	pinctrl-0 = <&davinci_mdio_default>;
342279377Simp	pinctrl-1 = <&davinci_mdio_sleep>;
343279377Simp	status = "okay";
344279377Simp};
345279377Simp
346279377Simp&mmc1 {
347279377Simp	pinctrl-names = "default";
348279377Simp	pinctrl-0 = <&mmc1_pins>;
349279377Simp	vmmc-supply = <&vmmcsd_fixed>;
350279377Simp	bus-width = <4>;
351279377Simp	status = "okay";
352279377Simp};
353279377Simp
354279377Simp&mmc2 {
355279377Simp	pinctrl-names = "default";
356279377Simp	pinctrl-0 = <&emmc_pins>;
357279377Simp	vmmc-supply = <&vmmcsd_fixed>;
358279377Simp	bus-width = <8>;
359279377Simp	ti,non-removable;
360279377Simp	status = "okay";
361279377Simp};
362279377Simp
363