am437x-idk-evm.dts revision 279377
1279377Simp/*
2279377Simp * Copyright (C) 2014 Texas Instruments Incorporated - http://www.ti.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
9279377Simp/dts-v1/;
10279377Simp
11279377Simp#include "am4372.dtsi"
12279377Simp#include <dt-bindings/pinctrl/am43xx.h>
13279377Simp#include <dt-bindings/pwm/pwm.h>
14279377Simp#include <dt-bindings/gpio/gpio.h>
15279377Simp#include <dt-bindings/input/input.h>
16279377Simp
17279377Simp/ {
18279377Simp	model = "TI AM437x Industrial Development Kit";
19279377Simp	compatible = "ti,am437x-idk-evm","ti,am4372","ti,am43";
20279377Simp
21279377Simp	v24_0d: fixed-regulator-v24_0d {
22279377Simp		compatible = "regulator-fixed";
23279377Simp		regulator-name = "V24_0D";
24279377Simp		regulator-min-microvolt = <24000000>;
25279377Simp		regulator-max-microvolt = <24000000>;
26279377Simp		regulator-always-on;
27279377Simp		regulator-boot-on;
28279377Simp	};
29279377Simp
30279377Simp	v3_3d: fixed-regulator-v3_3d {
31279377Simp		compatible = "regulator-fixed";
32279377Simp		regulator-name = "V3_3D";
33279377Simp		regulator-min-microvolt = <3300000>;
34279377Simp		regulator-max-microvolt = <3300000>;
35279377Simp		regulator-always-on;
36279377Simp		regulator-boot-on;
37279377Simp		vin-supply = <&v24_0d>;
38279377Simp	};
39279377Simp
40279377Simp	vdd_corereg: fixed-regulator-vdd_corereg {
41279377Simp		compatible = "regulator-fixed";
42279377Simp		regulator-name = "VDD_COREREG";
43279377Simp		regulator-min-microvolt = <1100000>;
44279377Simp		regulator-max-microvolt = <1100000>;
45279377Simp		regulator-always-on;
46279377Simp		regulator-boot-on;
47279377Simp		vin-supply = <&v24_0d>;
48279377Simp	};
49279377Simp
50279377Simp	vdd_core: fixed-regulator-vdd_core {
51279377Simp		compatible = "regulator-fixed";
52279377Simp		regulator-name = "VDD_CORE";
53279377Simp		regulator-min-microvolt = <1100000>;
54279377Simp		regulator-max-microvolt = <1100000>;
55279377Simp		regulator-always-on;
56279377Simp		regulator-boot-on;
57279377Simp		vin-supply = <&vdd_corereg>;
58279377Simp	};
59279377Simp
60279377Simp	v1_8dreg: fixed-regulator-v1_8dreg{
61279377Simp		compatible = "regulator-fixed";
62279377Simp		regulator-name = "V1_8DREG";
63279377Simp		regulator-min-microvolt = <1800000>;
64279377Simp		regulator-max-microvolt = <1800000>;
65279377Simp		regulator-always-on;
66279377Simp		regulator-boot-on;
67279377Simp		vin-supply = <&v24_0d>;
68279377Simp	};
69279377Simp
70279377Simp	v1_8d: fixed-regulator-v1_8d{
71279377Simp		compatible = "regulator-fixed";
72279377Simp		regulator-name = "V1_8D";
73279377Simp		regulator-min-microvolt = <1800000>;
74279377Simp		regulator-max-microvolt = <1800000>;
75279377Simp		regulator-always-on;
76279377Simp		regulator-boot-on;
77279377Simp		vin-supply = <&v1_8dreg>;
78279377Simp	};
79279377Simp
80279377Simp	v1_5dreg: fixed-regulator-v1_5dreg{
81279377Simp		compatible = "regulator-fixed";
82279377Simp		regulator-name = "V1_5DREG";
83279377Simp		regulator-min-microvolt = <1500000>;
84279377Simp		regulator-max-microvolt = <1500000>;
85279377Simp		regulator-always-on;
86279377Simp		regulator-boot-on;
87279377Simp		vin-supply = <&v24_0d>;
88279377Simp	};
89279377Simp
90279377Simp	v1_5d: fixed-regulator-v1_5d{
91279377Simp		compatible = "regulator-fixed";
92279377Simp		regulator-name = "V1_5D";
93279377Simp		regulator-min-microvolt = <1500000>;
94279377Simp		regulator-max-microvolt = <1500000>;
95279377Simp		regulator-always-on;
96279377Simp		regulator-boot-on;
97279377Simp		vin-supply = <&v1_5dreg>;
98279377Simp	};
99279377Simp
100279377Simp	gpio_keys: gpio_keys {
101279377Simp		compatible = "gpio-keys";
102279377Simp		pinctrl-names = "default";
103279377Simp		pinctrl-0 = <&gpio_keys_pins_default>;
104279377Simp		#address-cells = <1>;
105279377Simp		#size-cells = <0>;
106279377Simp
107279377Simp		switch@0 {
108279377Simp			label = "power-button";
109279377Simp			linux,code = <KEY_POWER>;
110279377Simp			gpios = <&gpio4 2 GPIO_ACTIVE_LOW>;
111279377Simp		};
112279377Simp	};
113279377Simp};
114279377Simp
115279377Simp&am43xx_pinmux {
116279377Simp	gpio_keys_pins_default: gpio_keys_pins_default {
117279377Simp		pinctrl-single,pins = <
118279377Simp			0x1b8 (PIN_INPUT | MUX_MODE7)	/* cam0_field.gpio4_2 */
119279377Simp		>;
120279377Simp	};
121279377Simp
122279377Simp	i2c0_pins_default: i2c0_pins_default {
123279377Simp		pinctrl-single,pins = <
124279377Simp			0x188 (PIN_INPUT | SLEWCTRL_FAST | MUX_MODE0) /* i2c0_sda.i2c0_sda */
125279377Simp			0x18c (PIN_INPUT | SLEWCTRL_FAST | MUX_MODE0) /* i2c0_scl.i2c0_scl */
126279377Simp		>;
127279377Simp	};
128279377Simp
129279377Simp	i2c0_pins_sleep: i2c0_pins_sleep {
130279377Simp		pinctrl-single,pins = <
131279377Simp			0x188 (PIN_INPUT_PULLDOWN | MUX_MODE7)
132279377Simp			0x18c (PIN_INPUT_PULLDOWN | MUX_MODE7)
133279377Simp		>;
134279377Simp	};
135279377Simp
136279377Simp	i2c1_pins_default: i2c1_pins_default {
137279377Simp		pinctrl-single,pins = <
138279377Simp			0x15c (PIN_INPUT | SLEWCTRL_FAST | MUX_MODE2) /* spi0_cs0.i2c1_scl */
139279377Simp			0x158 (PIN_INPUT | SLEWCTRL_FAST | MUX_MODE2) /* spi0_d1.i2c1_sda */
140279377Simp		>;
141279377Simp	};
142279377Simp
143279377Simp	i2c1_pins_sleep: i2c1_pins_sleep {
144279377Simp		pinctrl-single,pins = <
145279377Simp			0x15c (PIN_INPUT_PULLDOWN | MUX_MODE7) /* spi0_cs0.i2c1_scl */
146279377Simp			0x158 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* spi0_d1.i2c1_sda */
147279377Simp		>;
148279377Simp	};
149279377Simp
150279377Simp	mmc1_pins_default: pinmux_mmc1_pins_default {
151279377Simp		pinctrl-single,pins = <
152279377Simp			0x100 (PIN_INPUT | MUX_MODE0) /* mmc0_clk.mmc0_clk */
153279377Simp			0x104 (PIN_INPUT | MUX_MODE0) /* mmc0_cmd.mmc0_cmd */
154279377Simp			0x1f0 (PIN_INPUT | MUX_MODE0) /* mmc0_dat3.mmc0_dat3 */
155279377Simp			0x1f4 (PIN_INPUT | MUX_MODE0) /* mmc0_dat2.mmc0_dat2 */
156279377Simp			0x1f8 (PIN_INPUT | MUX_MODE0) /* mmc0_dat1.mmc0_dat1 */
157279377Simp			0x1fc (PIN_INPUT | MUX_MODE0) /* mmc0_dat0.mmc0_dat0 */
158279377Simp			0x160 (PIN_INPUT | MUX_MODE7) /* spi0_cs1.gpio0_6 */
159279377Simp		>;
160279377Simp	};
161279377Simp
162279377Simp	mmc1_pins_sleep: pinmux_mmc1_pins_sleep {
163279377Simp		pinctrl-single,pins = <
164279377Simp			0x100 (PIN_INPUT_PULLDOWN | MUX_MODE7)
165279377Simp			0x104 (PIN_INPUT_PULLDOWN | MUX_MODE7)
166279377Simp			0x1f0 (PIN_INPUT_PULLDOWN | MUX_MODE7)
167279377Simp			0x1f4 (PIN_INPUT_PULLDOWN | MUX_MODE7)
168279377Simp			0x1f8 (PIN_INPUT_PULLDOWN | MUX_MODE7)
169279377Simp			0x1fc (PIN_INPUT_PULLDOWN | MUX_MODE7)
170279377Simp			0x160 (PIN_INPUT_PULLDOWN | MUX_MODE7)
171279377Simp		>;
172279377Simp	};
173279377Simp
174279377Simp	ecap0_pins_default: backlight_pins_default {
175279377Simp		pinctrl-single,pins = <
176279377Simp			0x164 (PIN_OUTPUT | MUX_MODE0) /* ecap0_in_pwm0_out.ecap0_in_pwm0_out */
177279377Simp		>;
178279377Simp	};
179279377Simp
180279377Simp	cpsw_default: cpsw_default {
181279377Simp		pinctrl-single,pins = <
182279377Simp			0x12c (PIN_OUTPUT_PULLDOWN | MUX_MODE2)	/* mii1_txclk.rgmii1_tclk */
183279377Simp			0x114 (PIN_OUTPUT_PULLDOWN | MUX_MODE2)	/* mii1_txen.rgmii1_tctl */
184279377Simp			0x128 (PIN_OUTPUT_PULLDOWN | MUX_MODE2)	/* mii1_txd0.rgmii1_td0 */
185279377Simp			0x124 (PIN_OUTPUT_PULLDOWN | MUX_MODE2)	/* mii1_txd1.rgmii1_td1 */
186279377Simp			0x120 (PIN_OUTPUT_PULLDOWN | MUX_MODE2)	/* mii1_txd0.rgmii1_td2 */
187279377Simp			0x11c (PIN_OUTPUT_PULLDOWN | MUX_MODE2)	/* mii1_txd1.rgmii1_td3 */
188279377Simp			0x130 (PIN_INPUT_PULLDOWN | MUX_MODE2)	/* mii1_rxclk.rmii1_rclk */
189279377Simp			0x118 (PIN_INPUT_PULLDOWN | MUX_MODE2)	/* mii1_rxdv.rgmii1_rctl */
190279377Simp			0x140 (PIN_INPUT_PULLDOWN | MUX_MODE2)	/* mii1_rxd0.rgmii1_rd0 */
191279377Simp			0x13c (PIN_INPUT_PULLDOWN | MUX_MODE2)	/* mii1_rxd1.rgmii1_rd1 */
192279377Simp			0x138 (PIN_INPUT_PULLDOWN | MUX_MODE2)	/* mii1_rxd0.rgmii1_rd2 */
193279377Simp			0x134 (PIN_INPUT_PULLDOWN | MUX_MODE2)	/* mii1_rxd1.rgmii1_rd3 */
194279377Simp		>;
195279377Simp	};
196279377Simp
197279377Simp	cpsw_sleep: cpsw_sleep {
198279377Simp		pinctrl-single,pins = <
199279377Simp			0x12c (PIN_INPUT_PULLDOWN | MUX_MODE7)
200279377Simp			0x114 (PIN_INPUT_PULLDOWN | MUX_MODE7)
201279377Simp			0x128 (PIN_INPUT_PULLDOWN | MUX_MODE7)
202279377Simp			0x124 (PIN_INPUT_PULLDOWN | MUX_MODE7)
203279377Simp			0x120 (PIN_INPUT_PULLDOWN | MUX_MODE7)
204279377Simp			0x11c (PIN_INPUT_PULLDOWN | MUX_MODE7)
205279377Simp			0x130 (PIN_INPUT_PULLDOWN | MUX_MODE7)
206279377Simp			0x118 (PIN_INPUT_PULLDOWN | MUX_MODE7)
207279377Simp			0x140 (PIN_INPUT_PULLDOWN | MUX_MODE7)
208279377Simp			0x13c (PIN_INPUT_PULLDOWN | MUX_MODE7)
209279377Simp			0x138 (PIN_INPUT_PULLDOWN | MUX_MODE7)
210279377Simp			0x134 (PIN_INPUT_PULLDOWN | MUX_MODE7)
211279377Simp		>;
212279377Simp	};
213279377Simp
214279377Simp	davinci_mdio_default: davinci_mdio_default {
215279377Simp		pinctrl-single,pins = <
216279377Simp			/* MDIO */
217279377Simp			0x148 (PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE0)	/* mdio_data.mdio_data */
218279377Simp			0x14c (PIN_OUTPUT_PULLUP | MUX_MODE0)			/* mdio_clk.mdio_clk */
219279377Simp		>;
220279377Simp	};
221279377Simp
222279377Simp	davinci_mdio_sleep: davinci_mdio_sleep {
223279377Simp		pinctrl-single,pins = <
224279377Simp			/* MDIO reset value */
225279377Simp			0x148 (PIN_INPUT_PULLDOWN | MUX_MODE7)
226279377Simp			0x14c (PIN_INPUT_PULLDOWN | MUX_MODE7)
227279377Simp		>;
228279377Simp	};
229279377Simp
230279377Simp	qspi_pins_default: qspi_pins_default {
231279377Simp		pinctrl-single,pins = <
232279377Simp			0x7c (PIN_OUTPUT_PULLUP | MUX_MODE3)	/* gpmc_csn0.qspi_csn */
233279377Simp			0x88 (PIN_OUTPUT | MUX_MODE2)		/* gpmc_csn3.qspi_clk */
234279377Simp			0x90 (PIN_INPUT_PULLUP | MUX_MODE3)	/* gpmc_advn_ale.qspi_d0 */
235279377Simp			0x94 (PIN_INPUT_PULLUP | MUX_MODE3)	/* gpmc_oen_ren.qspi_d1 */
236279377Simp			0x98 (PIN_INPUT_PULLUP | MUX_MODE3)	/* gpmc_wen.qspi_d2 */
237279377Simp			0x9c (PIN_INPUT_PULLUP | MUX_MODE3)	/* gpmc_be0n_cle.qspi_d3 */
238279377Simp		>;
239279377Simp	};
240279377Simp
241279377Simp	qspi_pins_sleep: qspi_pins_sleep{
242279377Simp		pinctrl-single,pins = <
243279377Simp			0x7c (PIN_INPUT_PULLDOWN | MUX_MODE7)
244279377Simp			0x88 (PIN_INPUT_PULLDOWN | MUX_MODE7)
245279377Simp			0x90 (PIN_INPUT_PULLDOWN | MUX_MODE7)
246279377Simp			0x94 (PIN_INPUT_PULLDOWN | MUX_MODE7)
247279377Simp			0x98 (PIN_INPUT_PULLDOWN | MUX_MODE7)
248279377Simp			0x9c (PIN_INPUT_PULLDOWN | MUX_MODE7)
249279377Simp		>;
250279377Simp	};
251279377Simp};
252279377Simp
253279377Simp&i2c0 {
254279377Simp	status = "okay";
255279377Simp	pinctrl-names = "default", "sleep";
256279377Simp	pinctrl-0 = <&i2c0_pins_default>;
257279377Simp	pinctrl-1 = <&i2c0_pins_default>;
258279377Simp	clock-frequency = <400000>;
259279377Simp
260279377Simp	at24@50 {
261279377Simp		compatible = "at24,24c256";
262279377Simp		pagesize = <64>;
263279377Simp		reg = <0x50>;
264279377Simp	};
265279377Simp};
266279377Simp
267279377Simp&i2c1 {
268279377Simp	status = "okay";
269279377Simp	pinctrl-names = "default", "sleep";
270279377Simp	pinctrl-0 = <&i2c1_pins_default>;
271279377Simp	pinctrl-1 = <&i2c1_pins_default>;
272279377Simp	clock-frequency = <400000>;
273279377Simp
274279377Simp	tps: tps62362@60 {
275279377Simp		compatible = "ti,tps62362";
276279377Simp		regulator-name = "VDD_MPU";
277279377Simp		regulator-min-microvolt = <950000>;
278279377Simp		regulator-max-microvolt = <1330000>;
279279377Simp		regulator-boot-on;
280279377Simp		regulator-always-on;
281279377Simp		ti,vsel0-state-high;
282279377Simp		ti,vsel1-state-high;
283279377Simp		vin-supply = <&v3_3d>;
284279377Simp	};
285279377Simp};
286279377Simp
287279377Simp&epwmss0 {
288279377Simp	status = "okay";
289279377Simp};
290279377Simp
291279377Simp&ecap0 {
292279377Simp	status = "okay";
293279377Simp	pinctrl-names = "default";
294279377Simp	pinctrl-0 = <&ecap0_pins_default>;
295279377Simp};
296279377Simp
297279377Simp&gpio0 {
298279377Simp	status = "okay";
299279377Simp};
300279377Simp
301279377Simp&gpio1 {
302279377Simp	status = "okay";
303279377Simp};
304279377Simp
305279377Simp&gpio4 {
306279377Simp	status = "okay";
307279377Simp};
308279377Simp
309279377Simp&gpio5 {
310279377Simp	status = "okay";
311279377Simp};
312279377Simp
313279377Simp&mmc1 {
314279377Simp	status = "okay";
315279377Simp	pinctrl-names = "default", "sleep";
316279377Simp	pinctrl-0 = <&mmc1_pins_default>;
317279377Simp	pinctrl-1 = <&mmc1_pins_sleep>;
318279377Simp	vmmc-supply = <&v3_3d>;
319279377Simp	bus-width = <4>;
320279377Simp	cd-gpios = <&gpio0 6 GPIO_ACTIVE_HIGH>;
321279377Simp};
322279377Simp
323279377Simp&qspi {
324279377Simp	status = "okay";
325279377Simp	pinctrl-names = "default", "sleep";
326279377Simp	pinctrl-0 = <&qspi_pins_default>;
327279377Simp	pinctrl-1 = <&qspi_pins_sleep>;
328279377Simp
329279377Simp	spi-max-frequency = <48000000>;
330279377Simp	m25p80@0 {
331279377Simp		compatible = "mx66l51235l";
332279377Simp		spi-max-frequency = <48000000>;
333279377Simp		reg = <0>;
334279377Simp		spi-cpol;
335279377Simp		spi-cpha;
336279377Simp		spi-tx-bus-width = <1>;
337279377Simp		spi-rx-bus-width = <4>;
338279377Simp		#address-cells = <1>;
339279377Simp		#size-cells = <1>;
340279377Simp
341279377Simp		/*
342279377Simp		 * MTD partition table.  The ROM checks the first 512KiB for a
343279377Simp		 * valid file to boot(XIP).
344279377Simp		 */
345279377Simp		partition@0 {
346279377Simp			label = "QSPI.U_BOOT";
347279377Simp			reg = <0x00000000 0x000080000>;
348279377Simp		};
349279377Simp		partition@1 {
350279377Simp			label = "QSPI.U_BOOT.backup";
351279377Simp			reg = <0x00080000 0x00080000>;
352279377Simp		};
353279377Simp		partition@2 {
354279377Simp			label = "QSPI.U-BOOT-SPL_OS";
355279377Simp			reg = <0x00100000 0x00010000>;
356279377Simp		};
357279377Simp		partition@3 {
358279377Simp			label = "QSPI.U_BOOT_ENV";
359279377Simp			reg = <0x00110000 0x00010000>;
360279377Simp		};
361279377Simp		partition@4 {
362279377Simp			label = "QSPI.U-BOOT-ENV.backup";
363279377Simp			reg = <0x00120000 0x00010000>;
364279377Simp		};
365279377Simp		partition@5 {
366279377Simp			label = "QSPI.KERNEL";
367279377Simp			reg = <0x00130000 0x0800000>;
368279377Simp		};
369279377Simp		partition@6 {
370279377Simp			label = "QSPI.FILESYSTEM";
371279377Simp			reg = <0x00930000 0x36D0000>;
372279377Simp		};
373279377Simp	};
374279377Simp};
375279377Simp
376279377Simp&mac {
377279377Simp	pinctrl-names = "default", "sleep";
378279377Simp	pinctrl-0 = <&cpsw_default>;
379279377Simp	pinctrl-1 = <&cpsw_sleep>;
380279377Simp	status = "okay";
381279377Simp};
382279377Simp
383279377Simp&davinci_mdio {
384279377Simp	pinctrl-names = "default", "sleep";
385279377Simp	pinctrl-0 = <&davinci_mdio_default>;
386279377Simp	pinctrl-1 = <&davinci_mdio_sleep>;
387279377Simp	status = "okay";
388279377Simp};
389279377Simp
390279377Simp&cpsw_emac0 {
391279377Simp	phy_id = <&davinci_mdio>, <0>;
392279377Simp	phy-mode = "rgmii";
393279377Simp};
394279377Simp
395279377Simp&rtc {
396279377Simp	status = "okay";
397279377Simp};
398279377Simp
399279377Simp&wdt {
400279377Simp	status = "okay";
401279377Simp};
402279377Simp
403279377Simp&cpu {
404279377Simp	cpu0-supply = <&tps>;
405279377Simp};
406