1/*-
2 * Copyright (c) 2012 Damjan Marion <dmarion@Freebsd.org>
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright
9 *    notice, this list of conditions and the following disclaimer.
10 * 2. Redistributions in binary form must reproduce the above copyright
11 *    notice, this list of conditions and the following disclaimer in the
12 *    documentation and/or other materials provided with the distribution.
13 *
14 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
15 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
17 * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
18 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
20 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
24 * SUCH DAMAGE.
25 *
26 * $FreeBSD$
27 */
28
29/dts-v1/;
30
31/include/ "am335x.dtsi"
32
33/ {
34	model = "beaglebone-black";
35	compatible = "beaglebone-black", "beaglebone", "ti,am335x";
36
37
38	aliases {
39		soc = &SOC;
40		uart0 = &uart0;
41	};
42
43	memory {
44		device_type = "memory";
45		reg = < 0x80000000 0x20000000 >;	/* 512MB RAM */
46	};
47
48	am335x {
49 		scm@44e10000 {
50			/* Set of triplets < padname, muxname, padstate> */
51			scm-pad-config =
52				/* I2C0 */
53				"I2C0_SDA", "I2C0_SDA","i2c",
54				"I2C0_SCL", "I2C0_SCL","i2c",
55				/* Ethernet */
56				"MII1_RX_ER", "gmii1_rxerr", "input_pulldown",
57				"MII1_TX_EN", "gmii1_txen", "output",
58				"MII1_RX_DV", "gmii1_rxdv", "input_pulldown",
59				"MII1_TXD3", "gmii1_txd3", "output",
60				"MII1_TXD2", "gmii1_txd2", "output",
61				"MII1_TXD1", "gmii1_txd1", "output",
62				"MII1_TXD0", "gmii1_txd0", "output",
63				"MII1_TX_CLK", "gmii1_txclk", "input_pulldown",
64				"MII1_RX_CLK", "gmii1_rxclk", "input_pulldown",
65				"MII1_RXD3", "gmii1_rxd3", "input_pulldown",
66				"MII1_RXD2", "gmii1_rxd2", "input_pulldown",
67				"MII1_RXD1", "gmii1_rxd1",  "input_pulldown",
68				"MII1_RXD0", "gmii1_rxd0",  "input_pulldown",
69				"MDIO", "mdio_data", "input_pullup",
70				"MDC", "mdio_clk", "output_pullup",
71				/* MMCSD0 */
72				"MMC0_CMD", "mmc0_cmd", "input_pullup",
73				"MMC0_CLK", "mmc0_clk", "input_pullup",
74				"MMC0_DAT0", "mmc0_dat0", "input_pullup",
75				"MMC0_DAT1", "mmc0_dat1", "input_pullup",
76				"MMC0_DAT2", "mmc0_dat2", "input_pullup",
77				"MMC0_DAT3", "mmc0_dat3", "input_pullup",
78				/* MMC1 */
79				"GPMC_CSn1", "mmc1_clk", "input_pullup",
80				"GPMC_CSn2", "mmc1_cmd", "input_pullup",
81				"GPMC_CSn3", "gpio2_0", "output_pullup", /* Reset */
82				"GPMC_AD0", "mmc1_dat0", "input_pullup",
83				"GPMC_AD1", "mmc1_dat1", "input_pullup",
84				"GPMC_AD2", "mmc1_dat2", "input_pullup",
85				"GPMC_AD3", "mmc1_dat3", "input_pullup",
86				"GPMC_AD4", "mmc1_dat4", "input_pullup",
87				"GPMC_AD5", "mmc1_dat5", "input_pullup",
88				"GPMC_AD6", "mmc1_dat6", "input_pullup",
89				"GPMC_AD7", "mmc1_dat7", "input_pullup",
90				/* GPIO */
91				"ECAP0_IN_PWM0_OUT", "gpio0_7", "input_pulldown",
92				"GPMC_AD10", "gpio0_26", "input_pulldown",
93				"GPMC_AD11", "gpio0_27", "input_pulldown",
94				"GPMC_AD12", "gpio1_12", "input_pulldown",
95				"GPMC_AD13", "gpio1_13", "input_pulldown",
96				"GPMC_AD14", "gpio1_14", "input_pulldown",
97				"GPMC_AD15", "gpio1_15", "input_pulldown",
98				"GPMC_A0", "gpio1_16", "input_pulldown",
99				"GPMC_A1", "gpio1_17", "input_pulldown",
100				"GPMC_A5", "gpio1_21", "output", /* User LED 1 */
101				"GPMC_A6", "gpio1_22", "output", /* User LED 2 */
102				"GPMC_A7", "gpio1_23", "output", /* User LED 3 */
103				"GPMC_A8", "gpio1_24", "output", /* User LED 4 */
104				"GPMC_BEn1", "gpio1_28", "input_pulldown",
105				"GPMC_CSn0", "gpio1_29", "input_pulldown",
106				"GPMC_CLK", "gpio2_1", "input_pulldown",
107				"LCD_DATA0", "gpio2_6", "input_pulldown",
108				"LCD_DATA1", "gpio2_7", "input_pulldown",
109				"LCD_DATA2", "gpio2_8", "input_pulldown",
110				"LCD_DATA3", "gpio2_9", "input_pulldown",
111				"LCD_DATA4", "gpio2_10", "input_pulldown",
112				"LCD_DATA5", "gpio2_11", "input_pulldown",
113				"LCD_DATA6", "gpio2_12", "input_pulldown",
114				"LCD_DATA7", "gpio2_13", "input_pulldown",
115				"LCD_VSYNC", "gpio2_22", "input_pulldown",
116				"LCD_HSYNC", "gpio2_23", "input_pulldown",
117				"LCD_PCLK", "gpio2_24", "input_pulldown",
118				"LCD_AC_BIAS_EN", "gpio2_25", "input_pulldown",
119				"MCASP0_FSR", "gpio3_19", "input_pulldown",
120				"MCASP0_AHCLKX", "gpio3_21", "input_pulldown",
121				/* TIMERs */
122				"GPMC_ADVn_ALE", "timer4", "output",
123				"GPMC_BEn0_CLE", "timer5", "output",
124				"GPMC_WEn", "timer6", "output",
125				"GPMC_OEn_REn", "timer7", "output",
126				/* USB0 and USB1 */
127				"USB0_DRVVBUS", "USB0_DRVVBUS", "output",
128				"USB1_DRVVBUS", "USB1_DRVVBUS", "output",
129				/* PWM */
130				"GPMC_A2", "ehrpwm1A", "output",
131				"GPMC_A3", "ehrpwm1B", "output",
132				"GPMC_AD8", "ehrpwm2A", "output",
133				"GPMC_AD9", "ehrpwm2B", "output";
134 		};
135
136		mmchs1@481D8000 {
137			status = "okay";
138		};
139
140
141		i2c@44e0b000 {
142			pmic@24 {
143				compatible = "ti,am335x-pmic";
144				reg = <0x24>;
145			};
146		}
147	};
148
149	chosen {
150		stdin = "uart0";
151		stdout = "uart0";
152	};
153};
154