xref: /freebsd-src/sys/contrib/device-tree/src/arm/ti/omap/am335x-bone-common.dtsi (revision b2d2a78ad80ec68d4a17f5aef97d21686cb1e29b)
1f126890aSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0-only
2f126890aSEmmanuel Vadot/*
3f126890aSEmmanuel Vadot * Copyright (C) 2012 Texas Instruments Incorporated - https://www.ti.com/
4f126890aSEmmanuel Vadot */
5f126890aSEmmanuel Vadot
6f126890aSEmmanuel Vadot/ {
7f126890aSEmmanuel Vadot	cpus {
8f126890aSEmmanuel Vadot		cpu@0 {
9f126890aSEmmanuel Vadot			cpu0-supply = <&dcdc2_reg>;
10f126890aSEmmanuel Vadot		};
11f126890aSEmmanuel Vadot	};
12f126890aSEmmanuel Vadot
13f126890aSEmmanuel Vadot	memory@80000000 {
14f126890aSEmmanuel Vadot		device_type = "memory";
15f126890aSEmmanuel Vadot		reg = <0x80000000 0x10000000>; /* 256 MB */
16f126890aSEmmanuel Vadot	};
17f126890aSEmmanuel Vadot
18f126890aSEmmanuel Vadot	chosen {
19f126890aSEmmanuel Vadot		stdout-path = &uart0;
20f126890aSEmmanuel Vadot	};
21f126890aSEmmanuel Vadot
22f126890aSEmmanuel Vadot	leds {
23f126890aSEmmanuel Vadot		pinctrl-names = "default";
24f126890aSEmmanuel Vadot		pinctrl-0 = <&user_leds_s0>;
25f126890aSEmmanuel Vadot
26f126890aSEmmanuel Vadot		compatible = "gpio-leds";
27f126890aSEmmanuel Vadot
28f126890aSEmmanuel Vadot		led2 {
29f126890aSEmmanuel Vadot			label = "beaglebone:green:heartbeat";
30f126890aSEmmanuel Vadot			gpios = <&gpio1 21 GPIO_ACTIVE_HIGH>;
31f126890aSEmmanuel Vadot			linux,default-trigger = "heartbeat";
32f126890aSEmmanuel Vadot			default-state = "off";
33f126890aSEmmanuel Vadot		};
34f126890aSEmmanuel Vadot
35f126890aSEmmanuel Vadot		led3 {
36f126890aSEmmanuel Vadot			label = "beaglebone:green:mmc0";
37f126890aSEmmanuel Vadot			gpios = <&gpio1 22 GPIO_ACTIVE_HIGH>;
38f126890aSEmmanuel Vadot			linux,default-trigger = "mmc0";
39f126890aSEmmanuel Vadot			default-state = "off";
40f126890aSEmmanuel Vadot		};
41f126890aSEmmanuel Vadot
42f126890aSEmmanuel Vadot		led4 {
43f126890aSEmmanuel Vadot			label = "beaglebone:green:usr2";
44f126890aSEmmanuel Vadot			gpios = <&gpio1 23 GPIO_ACTIVE_HIGH>;
45f126890aSEmmanuel Vadot			linux,default-trigger = "cpu0";
46f126890aSEmmanuel Vadot			default-state = "off";
47f126890aSEmmanuel Vadot		};
48f126890aSEmmanuel Vadot
49f126890aSEmmanuel Vadot		led5 {
50f126890aSEmmanuel Vadot			label = "beaglebone:green:usr3";
51f126890aSEmmanuel Vadot			gpios = <&gpio1 24 GPIO_ACTIVE_HIGH>;
52f126890aSEmmanuel Vadot			linux,default-trigger = "mmc1";
53f126890aSEmmanuel Vadot			default-state = "off";
54f126890aSEmmanuel Vadot		};
55f126890aSEmmanuel Vadot	};
56f126890aSEmmanuel Vadot
57f126890aSEmmanuel Vadot	vmmcsd_fixed: fixedregulator0 {
58f126890aSEmmanuel Vadot		compatible = "regulator-fixed";
59f126890aSEmmanuel Vadot		regulator-name = "vmmcsd_fixed";
60f126890aSEmmanuel Vadot		regulator-min-microvolt = <3300000>;
61f126890aSEmmanuel Vadot		regulator-max-microvolt = <3300000>;
62f126890aSEmmanuel Vadot	};
63f126890aSEmmanuel Vadot};
64f126890aSEmmanuel Vadot
65f126890aSEmmanuel Vadot&am33xx_pinmux {
66f126890aSEmmanuel Vadot	pinctrl-names = "default";
67f126890aSEmmanuel Vadot	pinctrl-0 = <&clkout2_pin>;
68f126890aSEmmanuel Vadot
69f126890aSEmmanuel Vadot	user_leds_s0: user-leds-s0-pins {
70f126890aSEmmanuel Vadot		pinctrl-single,pins = <
71f126890aSEmmanuel Vadot			AM33XX_PADCONF(AM335X_PIN_GPMC_A5, PIN_OUTPUT_PULLDOWN, MUX_MODE7)	/* gpmc_a5.gpio1_21 */
72f126890aSEmmanuel Vadot			AM33XX_PADCONF(AM335X_PIN_GPMC_A6, PIN_OUTPUT_PULLUP, MUX_MODE7)	/* gpmc_a6.gpio1_22 */
73f126890aSEmmanuel Vadot			AM33XX_PADCONF(AM335X_PIN_GPMC_A7, PIN_OUTPUT_PULLDOWN, MUX_MODE7)	/* gpmc_a7.gpio1_23 */
74f126890aSEmmanuel Vadot			AM33XX_PADCONF(AM335X_PIN_GPMC_A8, PIN_OUTPUT_PULLUP, MUX_MODE7)	/* gpmc_a8.gpio1_24 */
75f126890aSEmmanuel Vadot		>;
76f126890aSEmmanuel Vadot	};
77f126890aSEmmanuel Vadot
78f126890aSEmmanuel Vadot	i2c0_pins: i2c0-pins {
79f126890aSEmmanuel Vadot		pinctrl-single,pins = <
80f126890aSEmmanuel Vadot			AM33XX_PADCONF(AM335X_PIN_I2C0_SDA, PIN_INPUT_PULLUP, MUX_MODE0)	/* i2c0_sda.i2c0_sda */
81f126890aSEmmanuel Vadot			AM33XX_PADCONF(AM335X_PIN_I2C0_SCL, PIN_INPUT_PULLUP, MUX_MODE0)	/* i2c0_scl.i2c0_scl */
82f126890aSEmmanuel Vadot		>;
83f126890aSEmmanuel Vadot	};
84f126890aSEmmanuel Vadot
85f126890aSEmmanuel Vadot	i2c2_pins: i2c2-pins {
86f126890aSEmmanuel Vadot		pinctrl-single,pins = <
87f126890aSEmmanuel Vadot			AM33XX_PADCONF(AM335X_PIN_UART1_CTSN, PIN_INPUT_PULLUP, MUX_MODE3)	/* uart1_ctsn.i2c2_sda */
88f126890aSEmmanuel Vadot			AM33XX_PADCONF(AM335X_PIN_UART1_RTSN, PIN_INPUT_PULLUP, MUX_MODE3)	/* uart1_rtsn.i2c2_scl */
89f126890aSEmmanuel Vadot		>;
90f126890aSEmmanuel Vadot	};
91f126890aSEmmanuel Vadot
92f126890aSEmmanuel Vadot	uart0_pins: uart0-pins {
93f126890aSEmmanuel Vadot		pinctrl-single,pins = <
94f126890aSEmmanuel Vadot			AM33XX_PADCONF(AM335X_PIN_UART0_RXD, PIN_INPUT_PULLUP, MUX_MODE0)
95f126890aSEmmanuel Vadot			AM33XX_PADCONF(AM335X_PIN_UART0_TXD, PIN_OUTPUT_PULLDOWN, MUX_MODE0)
96f126890aSEmmanuel Vadot		>;
97f126890aSEmmanuel Vadot	};
98f126890aSEmmanuel Vadot
99f126890aSEmmanuel Vadot	clkout2_pin: clkout2-pins {
100f126890aSEmmanuel Vadot		pinctrl-single,pins = <
101f126890aSEmmanuel Vadot			AM33XX_PADCONF(AM335X_PIN_XDMA_EVENT_INTR1, PIN_OUTPUT_PULLDOWN, MUX_MODE3)	/* xdma_event_intr1.clkout2 */
102f126890aSEmmanuel Vadot		>;
103f126890aSEmmanuel Vadot	};
104f126890aSEmmanuel Vadot
105f126890aSEmmanuel Vadot	cpsw_default: cpsw-default-pins {
106f126890aSEmmanuel Vadot		pinctrl-single,pins = <
107f126890aSEmmanuel Vadot			/* Slave 1 */
108f126890aSEmmanuel Vadot			AM33XX_PADCONF(AM335X_PIN_MII1_RX_ER, PIN_INPUT_PULLUP, MUX_MODE0)
109f126890aSEmmanuel Vadot			AM33XX_PADCONF(AM335X_PIN_MII1_TX_EN, PIN_OUTPUT_PULLDOWN, MUX_MODE0)
110f126890aSEmmanuel Vadot			AM33XX_PADCONF(AM335X_PIN_MII1_RX_DV, PIN_INPUT_PULLUP, MUX_MODE0)
111f126890aSEmmanuel Vadot			AM33XX_PADCONF(AM335X_PIN_MII1_TXD3, PIN_OUTPUT_PULLDOWN, MUX_MODE0)
112f126890aSEmmanuel Vadot			AM33XX_PADCONF(AM335X_PIN_MII1_TXD2, PIN_OUTPUT_PULLDOWN, MUX_MODE0)
113f126890aSEmmanuel Vadot			AM33XX_PADCONF(AM335X_PIN_MII1_TXD1, PIN_OUTPUT_PULLDOWN, MUX_MODE0)
114f126890aSEmmanuel Vadot			AM33XX_PADCONF(AM335X_PIN_MII1_TXD0, PIN_OUTPUT_PULLDOWN, MUX_MODE0)
115f126890aSEmmanuel Vadot			AM33XX_PADCONF(AM335X_PIN_MII1_TX_CLK, PIN_INPUT_PULLUP, MUX_MODE0)
116f126890aSEmmanuel Vadot			AM33XX_PADCONF(AM335X_PIN_MII1_RX_CLK, PIN_INPUT_PULLUP, MUX_MODE0)
117f126890aSEmmanuel Vadot			AM33XX_PADCONF(AM335X_PIN_MII1_RXD3, PIN_INPUT_PULLUP, MUX_MODE0)
118f126890aSEmmanuel Vadot			AM33XX_PADCONF(AM335X_PIN_MII1_RXD2, PIN_INPUT_PULLUP, MUX_MODE0)
119f126890aSEmmanuel Vadot			AM33XX_PADCONF(AM335X_PIN_MII1_RXD1, PIN_INPUT_PULLUP, MUX_MODE0)
120f126890aSEmmanuel Vadot			AM33XX_PADCONF(AM335X_PIN_MII1_RXD0, PIN_INPUT_PULLUP, MUX_MODE0)
121f126890aSEmmanuel Vadot		>;
122f126890aSEmmanuel Vadot	};
123f126890aSEmmanuel Vadot
124f126890aSEmmanuel Vadot	cpsw_sleep: cpsw-sleep-pins {
125f126890aSEmmanuel Vadot		pinctrl-single,pins = <
126f126890aSEmmanuel Vadot			/* Slave 1 reset value */
127f126890aSEmmanuel Vadot			AM33XX_PADCONF(AM335X_PIN_MII1_RX_ER, PIN_INPUT_PULLDOWN, MUX_MODE7)
128f126890aSEmmanuel Vadot			AM33XX_PADCONF(AM335X_PIN_MII1_TX_EN, PIN_INPUT_PULLDOWN, MUX_MODE7)
129f126890aSEmmanuel Vadot			AM33XX_PADCONF(AM335X_PIN_MII1_RX_DV, PIN_INPUT_PULLDOWN, MUX_MODE7)
130f126890aSEmmanuel Vadot			AM33XX_PADCONF(AM335X_PIN_MII1_TXD3, PIN_INPUT_PULLDOWN, MUX_MODE7)
131f126890aSEmmanuel Vadot			AM33XX_PADCONF(AM335X_PIN_MII1_TXD2, PIN_INPUT_PULLDOWN, MUX_MODE7)
132f126890aSEmmanuel Vadot			AM33XX_PADCONF(AM335X_PIN_MII1_TXD1, PIN_INPUT_PULLDOWN, MUX_MODE7)
133f126890aSEmmanuel Vadot			AM33XX_PADCONF(AM335X_PIN_MII1_TXD0, PIN_INPUT_PULLDOWN, MUX_MODE7)
134f126890aSEmmanuel Vadot			AM33XX_PADCONF(AM335X_PIN_MII1_TX_CLK, PIN_INPUT_PULLDOWN, MUX_MODE7)
135f126890aSEmmanuel Vadot			AM33XX_PADCONF(AM335X_PIN_MII1_RX_CLK, PIN_INPUT_PULLDOWN, MUX_MODE7)
136f126890aSEmmanuel Vadot			AM33XX_PADCONF(AM335X_PIN_MII1_RXD3, PIN_INPUT_PULLDOWN, MUX_MODE7)
137f126890aSEmmanuel Vadot			AM33XX_PADCONF(AM335X_PIN_MII1_RXD2, PIN_INPUT_PULLDOWN, MUX_MODE7)
138f126890aSEmmanuel Vadot			AM33XX_PADCONF(AM335X_PIN_MII1_RXD1, PIN_INPUT_PULLDOWN, MUX_MODE7)
139f126890aSEmmanuel Vadot			AM33XX_PADCONF(AM335X_PIN_MII1_RXD0, PIN_INPUT_PULLDOWN, MUX_MODE7)
140f126890aSEmmanuel Vadot		>;
141f126890aSEmmanuel Vadot	};
142f126890aSEmmanuel Vadot
143f126890aSEmmanuel Vadot	davinci_mdio_default: davinci-mdio-default-pins {
144f126890aSEmmanuel Vadot		pinctrl-single,pins = <
145f126890aSEmmanuel Vadot			/* MDIO */
146f126890aSEmmanuel Vadot			AM33XX_PADCONF(AM335X_PIN_MDIO, PIN_INPUT_PULLUP | SLEWCTRL_FAST, MUX_MODE0)
147f126890aSEmmanuel Vadot			AM33XX_PADCONF(AM335X_PIN_MDC, PIN_OUTPUT_PULLUP, MUX_MODE0)
148f126890aSEmmanuel Vadot			/* Added to support GPIO controlled PHY reset */
149f126890aSEmmanuel Vadot			AM33XX_PADCONF(AM335X_PIN_UART0_CTSN, PIN_OUTPUT_PULLUP, MUX_MODE7)
150f126890aSEmmanuel Vadot		>;
151f126890aSEmmanuel Vadot	};
152f126890aSEmmanuel Vadot
153f126890aSEmmanuel Vadot	davinci_mdio_sleep: davinci-mdio-sleep-pins {
154f126890aSEmmanuel Vadot		pinctrl-single,pins = <
155f126890aSEmmanuel Vadot			/* MDIO reset value */
156f126890aSEmmanuel Vadot			AM33XX_PADCONF(AM335X_PIN_MDIO, PIN_INPUT_PULLDOWN, MUX_MODE7)
157f126890aSEmmanuel Vadot			AM33XX_PADCONF(AM335X_PIN_MDC, PIN_INPUT_PULLDOWN, MUX_MODE7)
158f126890aSEmmanuel Vadot			/* Added to support GPIO controlled PHY reset */
159f126890aSEmmanuel Vadot			AM33XX_PADCONF(AM335X_PIN_UART0_CTSN, PIN_INPUT_PULLDOWN, MUX_MODE7)
160f126890aSEmmanuel Vadot		>;
161f126890aSEmmanuel Vadot	};
162f126890aSEmmanuel Vadot
163f126890aSEmmanuel Vadot	mmc1_pins: mmc1-pins {
164f126890aSEmmanuel Vadot		pinctrl-single,pins = <
165f126890aSEmmanuel Vadot			AM33XX_PADCONF(AM335X_PIN_SPI0_CS1, PIN_INPUT, MUX_MODE7)		/* spio0_cs1.gpio0_6 */
166f126890aSEmmanuel Vadot			AM33XX_PADCONF(AM335X_PIN_MMC0_DAT0, PIN_INPUT_PULLUP, MUX_MODE0)
167f126890aSEmmanuel Vadot			AM33XX_PADCONF(AM335X_PIN_MMC0_DAT1, PIN_INPUT_PULLUP, MUX_MODE0)
168f126890aSEmmanuel Vadot			AM33XX_PADCONF(AM335X_PIN_MMC0_DAT2, PIN_INPUT_PULLUP, MUX_MODE0)
169f126890aSEmmanuel Vadot			AM33XX_PADCONF(AM335X_PIN_MMC0_DAT3, PIN_INPUT_PULLUP, MUX_MODE0)
170f126890aSEmmanuel Vadot			AM33XX_PADCONF(AM335X_PIN_MMC0_CMD, PIN_INPUT_PULLUP, MUX_MODE0)
171f126890aSEmmanuel Vadot			AM33XX_PADCONF(AM335X_PIN_MMC0_CLK, PIN_INPUT_PULLUP, MUX_MODE0)
172f126890aSEmmanuel Vadot		>;
173f126890aSEmmanuel Vadot	};
174f126890aSEmmanuel Vadot
175f126890aSEmmanuel Vadot	emmc_pins: emmc-pins {
176f126890aSEmmanuel Vadot		pinctrl-single,pins = <
177f126890aSEmmanuel Vadot			AM33XX_PADCONF(AM335X_PIN_GPMC_CSN1, PIN_INPUT_PULLUP, MUX_MODE2) /* gpmc_csn1.mmc1_clk */
178f126890aSEmmanuel Vadot			AM33XX_PADCONF(AM335X_PIN_GPMC_CSN2, PIN_INPUT_PULLUP, MUX_MODE2) /* gpmc_csn2.mmc1_cmd */
179f126890aSEmmanuel Vadot			AM33XX_PADCONF(AM335X_PIN_GPMC_AD0, PIN_INPUT_PULLUP, MUX_MODE1) /* gpmc_ad0.mmc1_dat0 */
180f126890aSEmmanuel Vadot			AM33XX_PADCONF(AM335X_PIN_GPMC_AD1, PIN_INPUT_PULLUP, MUX_MODE1) /* gpmc_ad1.mmc1_dat1 */
181f126890aSEmmanuel Vadot			AM33XX_PADCONF(AM335X_PIN_GPMC_AD2, PIN_INPUT_PULLUP, MUX_MODE1) /* gpmc_ad2.mmc1_dat2 */
182f126890aSEmmanuel Vadot			AM33XX_PADCONF(AM335X_PIN_GPMC_AD3, PIN_INPUT_PULLUP, MUX_MODE1) /* gpmc_ad3.mmc1_dat3 */
183f126890aSEmmanuel Vadot			AM33XX_PADCONF(AM335X_PIN_GPMC_AD4, PIN_INPUT_PULLUP, MUX_MODE1) /* gpmc_ad4.mmc1_dat4 */
184f126890aSEmmanuel Vadot			AM33XX_PADCONF(AM335X_PIN_GPMC_AD5, PIN_INPUT_PULLUP, MUX_MODE1) /* gpmc_ad5.mmc1_dat5 */
185f126890aSEmmanuel Vadot			AM33XX_PADCONF(AM335X_PIN_GPMC_AD6, PIN_INPUT_PULLUP, MUX_MODE1) /* gpmc_ad6.mmc1_dat6 */
186f126890aSEmmanuel Vadot			AM33XX_PADCONF(AM335X_PIN_GPMC_AD7, PIN_INPUT_PULLUP, MUX_MODE1) /* gpmc_ad7.mmc1_dat7 */
187f126890aSEmmanuel Vadot		>;
188f126890aSEmmanuel Vadot	};
189f126890aSEmmanuel Vadot};
190f126890aSEmmanuel Vadot
191f126890aSEmmanuel Vadot&uart0 {
192f126890aSEmmanuel Vadot	pinctrl-names = "default";
193f126890aSEmmanuel Vadot	pinctrl-0 = <&uart0_pins>;
194f126890aSEmmanuel Vadot
195f126890aSEmmanuel Vadot	status = "okay";
196f126890aSEmmanuel Vadot};
197f126890aSEmmanuel Vadot
198f126890aSEmmanuel Vadot&usb0 {
199f126890aSEmmanuel Vadot	dr_mode = "peripheral";
200f126890aSEmmanuel Vadot	interrupts-extended = <&intc 18 &tps 0>;
201f126890aSEmmanuel Vadot	interrupt-names = "mc", "vbus";
202f126890aSEmmanuel Vadot};
203f126890aSEmmanuel Vadot
204f126890aSEmmanuel Vadot&usb1 {
205f126890aSEmmanuel Vadot	dr_mode = "host";
206f126890aSEmmanuel Vadot};
207f126890aSEmmanuel Vadot
208f126890aSEmmanuel Vadot&i2c0 {
209f126890aSEmmanuel Vadot	pinctrl-names = "default";
210f126890aSEmmanuel Vadot	pinctrl-0 = <&i2c0_pins>;
211f126890aSEmmanuel Vadot
212f126890aSEmmanuel Vadot	status = "okay";
213f126890aSEmmanuel Vadot	clock-frequency = <400000>;
214f126890aSEmmanuel Vadot
215f126890aSEmmanuel Vadot	tps: tps@24 {
216f126890aSEmmanuel Vadot		reg = <0x24>;
217f126890aSEmmanuel Vadot	};
218f126890aSEmmanuel Vadot
219f126890aSEmmanuel Vadot	baseboard_eeprom: baseboard_eeprom@50 {
220f126890aSEmmanuel Vadot		compatible = "atmel,24c256";
221f126890aSEmmanuel Vadot		reg = <0x50>;
222f126890aSEmmanuel Vadot		vcc-supply = <&ldo4_reg>;
223f126890aSEmmanuel Vadot
224*b2d2a78aSEmmanuel Vadot		nvmem-layout {
225*b2d2a78aSEmmanuel Vadot			compatible = "fixed-layout";
226f126890aSEmmanuel Vadot			#address-cells = <1>;
227f126890aSEmmanuel Vadot			#size-cells = <1>;
228*b2d2a78aSEmmanuel Vadot
229f126890aSEmmanuel Vadot			baseboard_data: baseboard_data@0 {
230f126890aSEmmanuel Vadot				reg = <0 0x100>;
231f126890aSEmmanuel Vadot			};
232f126890aSEmmanuel Vadot		};
233f126890aSEmmanuel Vadot	};
234*b2d2a78aSEmmanuel Vadot};
235f126890aSEmmanuel Vadot
236f126890aSEmmanuel Vadot&i2c2 {
237f126890aSEmmanuel Vadot	pinctrl-names = "default";
238f126890aSEmmanuel Vadot	pinctrl-0 = <&i2c2_pins>;
239f126890aSEmmanuel Vadot
240f126890aSEmmanuel Vadot	status = "okay";
241f126890aSEmmanuel Vadot	clock-frequency = <100000>;
242f126890aSEmmanuel Vadot
243f126890aSEmmanuel Vadot	cape_eeprom0: cape_eeprom0@54 {
244f126890aSEmmanuel Vadot		compatible = "atmel,24c256";
245f126890aSEmmanuel Vadot		reg = <0x54>;
246*b2d2a78aSEmmanuel Vadot
247*b2d2a78aSEmmanuel Vadot		nvmem-layout {
248*b2d2a78aSEmmanuel Vadot			compatible = "fixed-layout";
249f126890aSEmmanuel Vadot			#address-cells = <1>;
250f126890aSEmmanuel Vadot			#size-cells = <1>;
251*b2d2a78aSEmmanuel Vadot
252f126890aSEmmanuel Vadot			cape0_data: cape_data@0 {
253f126890aSEmmanuel Vadot				reg = <0 0x100>;
254f126890aSEmmanuel Vadot			};
255f126890aSEmmanuel Vadot		};
256*b2d2a78aSEmmanuel Vadot	};
257f126890aSEmmanuel Vadot
258f126890aSEmmanuel Vadot	cape_eeprom1: cape_eeprom1@55 {
259f126890aSEmmanuel Vadot		compatible = "atmel,24c256";
260f126890aSEmmanuel Vadot		reg = <0x55>;
261*b2d2a78aSEmmanuel Vadot
262*b2d2a78aSEmmanuel Vadot		nvmem-layout {
263*b2d2a78aSEmmanuel Vadot			compatible = "fixed-layout";
264f126890aSEmmanuel Vadot			#address-cells = <1>;
265f126890aSEmmanuel Vadot			#size-cells = <1>;
266*b2d2a78aSEmmanuel Vadot
267f126890aSEmmanuel Vadot			cape1_data: cape_data@0 {
268f126890aSEmmanuel Vadot				reg = <0 0x100>;
269f126890aSEmmanuel Vadot			};
270f126890aSEmmanuel Vadot		};
271*b2d2a78aSEmmanuel Vadot	};
272f126890aSEmmanuel Vadot
273f126890aSEmmanuel Vadot	cape_eeprom2: cape_eeprom2@56 {
274f126890aSEmmanuel Vadot		compatible = "atmel,24c256";
275f126890aSEmmanuel Vadot		reg = <0x56>;
276*b2d2a78aSEmmanuel Vadot
277*b2d2a78aSEmmanuel Vadot		nvmem-layout {
278*b2d2a78aSEmmanuel Vadot			compatible = "fixed-layout";
279f126890aSEmmanuel Vadot			#address-cells = <1>;
280f126890aSEmmanuel Vadot			#size-cells = <1>;
281*b2d2a78aSEmmanuel Vadot
282f126890aSEmmanuel Vadot			cape2_data: cape_data@0 {
283f126890aSEmmanuel Vadot				reg = <0 0x100>;
284f126890aSEmmanuel Vadot			};
285f126890aSEmmanuel Vadot		};
286*b2d2a78aSEmmanuel Vadot	};
287f126890aSEmmanuel Vadot
288f126890aSEmmanuel Vadot	cape_eeprom3: cape_eeprom3@57 {
289f126890aSEmmanuel Vadot		compatible = "atmel,24c256";
290f126890aSEmmanuel Vadot		reg = <0x57>;
291*b2d2a78aSEmmanuel Vadot
292*b2d2a78aSEmmanuel Vadot		nvmem-layout {
293*b2d2a78aSEmmanuel Vadot			compatible = "fixed-layout";
294f126890aSEmmanuel Vadot			#address-cells = <1>;
295f126890aSEmmanuel Vadot			#size-cells = <1>;
296*b2d2a78aSEmmanuel Vadot
297f126890aSEmmanuel Vadot			cape3_data: cape_data@0 {
298f126890aSEmmanuel Vadot				reg = <0 0x100>;
299f126890aSEmmanuel Vadot			};
300f126890aSEmmanuel Vadot		};
301f126890aSEmmanuel Vadot	};
302*b2d2a78aSEmmanuel Vadot};
303f126890aSEmmanuel Vadot
304f126890aSEmmanuel Vadot
305f126890aSEmmanuel Vadot/include/ "../../tps65217.dtsi"
306f126890aSEmmanuel Vadot
307f126890aSEmmanuel Vadot&tps {
308f126890aSEmmanuel Vadot	/*
309f126890aSEmmanuel Vadot	 * Configure pmic to enter OFF-state instead of SLEEP-state ("RTC-only
310f126890aSEmmanuel Vadot	 * mode") at poweroff.  Most BeagleBone versions do not support RTC-only
311f126890aSEmmanuel Vadot	 * mode and risk hardware damage if this mode is entered.
312f126890aSEmmanuel Vadot	 *
313f126890aSEmmanuel Vadot	 * For details, see linux-omap mailing list May 2015 thread
314f126890aSEmmanuel Vadot	 *	[PATCH] ARM: dts: am335x-bone* enable pmic-shutdown-controller
315f126890aSEmmanuel Vadot	 * In particular, messages:
31601950c46SEmmanuel Vadot	 *	https://www.spinics.net/lists/linux-omap/msg118585.html
31701950c46SEmmanuel Vadot	 *	https://www.spinics.net/lists/linux-omap/msg118615.html
318f126890aSEmmanuel Vadot	 *
319f126890aSEmmanuel Vadot	 * You can override this later with
320f126890aSEmmanuel Vadot	 *	&tps {  /delete-property/ ti,pmic-shutdown-controller;  }
321f126890aSEmmanuel Vadot	 * if you want to use RTC-only mode and made sure you are not affected
322f126890aSEmmanuel Vadot	 * by the hardware problems. (Tip: double-check by performing a current
323f126890aSEmmanuel Vadot	 * measurement after shutdown: it should be less than 1 mA.)
324f126890aSEmmanuel Vadot	 */
325f126890aSEmmanuel Vadot
326f126890aSEmmanuel Vadot	interrupts = <7>; /* NMI */
327f126890aSEmmanuel Vadot	interrupt-parent = <&intc>;
328f126890aSEmmanuel Vadot
329f126890aSEmmanuel Vadot	ti,pmic-shutdown-controller;
330f126890aSEmmanuel Vadot
331f126890aSEmmanuel Vadot	charger {
332f126890aSEmmanuel Vadot		status = "okay";
333f126890aSEmmanuel Vadot	};
334f126890aSEmmanuel Vadot
335f126890aSEmmanuel Vadot	pwrbutton {
336f126890aSEmmanuel Vadot		status = "okay";
337f126890aSEmmanuel Vadot	};
338f126890aSEmmanuel Vadot
339f126890aSEmmanuel Vadot	regulators {
340f126890aSEmmanuel Vadot		dcdc1_reg: regulator@0 {
341f126890aSEmmanuel Vadot			regulator-name = "vdds_dpr";
342f126890aSEmmanuel Vadot			regulator-always-on;
343f126890aSEmmanuel Vadot		};
344f126890aSEmmanuel Vadot
345f126890aSEmmanuel Vadot		dcdc2_reg: regulator@1 {
346f126890aSEmmanuel Vadot			/* VDD_MPU voltage limits 0.95V - 1.26V with +/-4% tolerance */
347f126890aSEmmanuel Vadot			regulator-name = "vdd_mpu";
348f126890aSEmmanuel Vadot			regulator-min-microvolt = <925000>;
349f126890aSEmmanuel Vadot			regulator-max-microvolt = <1351500>;
350f126890aSEmmanuel Vadot			regulator-boot-on;
351f126890aSEmmanuel Vadot			regulator-always-on;
352f126890aSEmmanuel Vadot		};
353f126890aSEmmanuel Vadot
354f126890aSEmmanuel Vadot		dcdc3_reg: regulator@2 {
355f126890aSEmmanuel Vadot			/* VDD_CORE voltage limits 0.95V - 1.1V with +/-4% tolerance */
356f126890aSEmmanuel Vadot			regulator-name = "vdd_core";
357f126890aSEmmanuel Vadot			regulator-min-microvolt = <925000>;
358f126890aSEmmanuel Vadot			regulator-max-microvolt = <1150000>;
359f126890aSEmmanuel Vadot			regulator-boot-on;
360f126890aSEmmanuel Vadot			regulator-always-on;
361f126890aSEmmanuel Vadot		};
362f126890aSEmmanuel Vadot
363f126890aSEmmanuel Vadot		ldo1_reg: regulator@3 {
364f126890aSEmmanuel Vadot			regulator-name = "vio,vrtc,vdds";
365f126890aSEmmanuel Vadot			regulator-always-on;
366f126890aSEmmanuel Vadot		};
367f126890aSEmmanuel Vadot
368f126890aSEmmanuel Vadot		ldo2_reg: regulator@4 {
369f126890aSEmmanuel Vadot			regulator-name = "vdd_3v3aux";
370f126890aSEmmanuel Vadot			regulator-always-on;
371f126890aSEmmanuel Vadot		};
372f126890aSEmmanuel Vadot
373f126890aSEmmanuel Vadot		ldo3_reg: regulator@5 {
374f126890aSEmmanuel Vadot			regulator-name = "vdd_1v8";
375f126890aSEmmanuel Vadot			regulator-always-on;
376f126890aSEmmanuel Vadot		};
377f126890aSEmmanuel Vadot
378f126890aSEmmanuel Vadot		ldo4_reg: regulator@6 {
379f126890aSEmmanuel Vadot			regulator-name = "vdd_3v3a";
380f126890aSEmmanuel Vadot			regulator-always-on;
381f126890aSEmmanuel Vadot		};
382f126890aSEmmanuel Vadot	};
383f126890aSEmmanuel Vadot};
384f126890aSEmmanuel Vadot
385f126890aSEmmanuel Vadot&cpsw_port1 {
386f126890aSEmmanuel Vadot	phy-handle = <&ethphy0>;
387f126890aSEmmanuel Vadot	phy-mode = "mii";
388f126890aSEmmanuel Vadot	ti,dual-emac-pvid = <1>;
389f126890aSEmmanuel Vadot};
390f126890aSEmmanuel Vadot
391f126890aSEmmanuel Vadot&cpsw_port2 {
392f126890aSEmmanuel Vadot	status = "disabled";
393f126890aSEmmanuel Vadot};
394f126890aSEmmanuel Vadot
395f126890aSEmmanuel Vadot&mac_sw {
396f126890aSEmmanuel Vadot	pinctrl-names = "default", "sleep";
397f126890aSEmmanuel Vadot	pinctrl-0 = <&cpsw_default>;
398f126890aSEmmanuel Vadot	pinctrl-1 = <&cpsw_sleep>;
399f126890aSEmmanuel Vadot	status = "okay";
400f126890aSEmmanuel Vadot};
401f126890aSEmmanuel Vadot
402f126890aSEmmanuel Vadot&davinci_mdio_sw {
403f126890aSEmmanuel Vadot	pinctrl-names = "default", "sleep";
404f126890aSEmmanuel Vadot	pinctrl-0 = <&davinci_mdio_default>;
405f126890aSEmmanuel Vadot	pinctrl-1 = <&davinci_mdio_sleep>;
406f126890aSEmmanuel Vadot
407f126890aSEmmanuel Vadot	ethphy0: ethernet-phy@0 {
408f126890aSEmmanuel Vadot		reg = <0>;
409f126890aSEmmanuel Vadot		/* Support GPIO reset on revision C3 boards */
410f126890aSEmmanuel Vadot		reset-gpios = <&gpio1 8 GPIO_ACTIVE_LOW>;
411f126890aSEmmanuel Vadot		reset-assert-us = <300>;
412*b2d2a78aSEmmanuel Vadot		reset-deassert-us = <13000>;
413f126890aSEmmanuel Vadot	};
414f126890aSEmmanuel Vadot};
415f126890aSEmmanuel Vadot
416f126890aSEmmanuel Vadot&mmc1 {
417f126890aSEmmanuel Vadot	status = "okay";
418f126890aSEmmanuel Vadot	bus-width = <0x4>;
419f126890aSEmmanuel Vadot	pinctrl-names = "default";
420f126890aSEmmanuel Vadot	pinctrl-0 = <&mmc1_pins>;
421f126890aSEmmanuel Vadot	cd-gpios = <&gpio0 6 GPIO_ACTIVE_LOW>;
422f126890aSEmmanuel Vadot};
423f126890aSEmmanuel Vadot
424f126890aSEmmanuel Vadot&aes {
425f126890aSEmmanuel Vadot	status = "okay";
426f126890aSEmmanuel Vadot};
427f126890aSEmmanuel Vadot
428f126890aSEmmanuel Vadot&sham {
429f126890aSEmmanuel Vadot	status = "okay";
430f126890aSEmmanuel Vadot};
431f126890aSEmmanuel Vadot
432f126890aSEmmanuel Vadot&rtc {
433f126890aSEmmanuel Vadot	clocks = <&clk_32768_ck>, <&clk_24mhz_clkctrl AM3_CLK_24MHZ_CLKDIV32K_CLKCTRL 0>;
434f126890aSEmmanuel Vadot	clock-names = "ext-clk", "int-clk";
435f126890aSEmmanuel Vadot	system-power-controller;
436f126890aSEmmanuel Vadot};
437f126890aSEmmanuel Vadot
438f126890aSEmmanuel Vadot&pruss_tm {
439f126890aSEmmanuel Vadot	status = "okay";
440f126890aSEmmanuel Vadot};
441f126890aSEmmanuel Vadot
442f126890aSEmmanuel Vadot&wkup_m3_ipc {
443f126890aSEmmanuel Vadot	firmware-name = "am335x-bone-scale-data.bin";
444f126890aSEmmanuel Vadot};
445