beaglebone-black.dts revision 270243
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: stable/10/sys/boot/fdt/dts/arm/beaglebone-black.dts 270243 2014-08-20 19:37:05Z loos $
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				/* I2C1 */
56				"SPI0_D1", "I2C1_SDA", "i2c",
57				"SPI0_CS0", "I2C1_SCL", "i2c",
58				/* I2C2 */
59				"UART1_CTSn", "I2C2_SDA", "i2c",
60				"UART1_RTSn", "I2C2_SCL", "i2c",
61				/* Ethernet */
62				"MII1_RX_ER", "gmii1_rxerr", "input_pulldown",
63				"MII1_TX_EN", "gmii1_txen", "output",
64				"MII1_RX_DV", "gmii1_rxdv", "input_pulldown",
65				"MII1_TXD3", "gmii1_txd3", "output",
66				"MII1_TXD2", "gmii1_txd2", "output",
67				"MII1_TXD1", "gmii1_txd1", "output",
68				"MII1_TXD0", "gmii1_txd0", "output",
69				"MII1_TX_CLK", "gmii1_txclk", "input_pulldown",
70				"MII1_RX_CLK", "gmii1_rxclk", "input_pulldown",
71				"MII1_RXD3", "gmii1_rxd3", "input_pulldown",
72				"MII1_RXD2", "gmii1_rxd2", "input_pulldown",
73				"MII1_RXD1", "gmii1_rxd1",  "input_pulldown",
74				"MII1_RXD0", "gmii1_rxd0",  "input_pulldown",
75				"MDIO", "mdio_data", "input_pullup",
76				"MDC", "mdio_clk", "output_pullup",
77				/* MMCSD0 */
78				"MMC0_CMD", "mmc0_cmd", "input_pullup",
79				"MMC0_CLK", "mmc0_clk", "input_pullup",
80				"MMC0_DAT0", "mmc0_dat0", "input_pullup",
81				"MMC0_DAT1", "mmc0_dat1", "input_pullup",
82				"MMC0_DAT2", "mmc0_dat2", "input_pullup",
83				"MMC0_DAT3", "mmc0_dat3", "input_pullup",
84				/* MMC1 */
85				"GPMC_CSn1", "mmc1_clk", "input_pullup",
86				"GPMC_CSn2", "mmc1_cmd", "input_pullup",
87				"GPMC_CSn3", "gpio2_0", "output_pullup", /* Reset */
88				"GPMC_AD0", "mmc1_dat0", "input_pullup",
89				"GPMC_AD1", "mmc1_dat1", "input_pullup",
90				"GPMC_AD2", "mmc1_dat2", "input_pullup",
91				"GPMC_AD3", "mmc1_dat3", "input_pullup",
92				"GPMC_AD4", "mmc1_dat4", "input_pullup",
93				"GPMC_AD5", "mmc1_dat5", "input_pullup",
94				"GPMC_AD6", "mmc1_dat6", "input_pullup",
95				"GPMC_AD7", "mmc1_dat7", "input_pullup",
96				/* GPIO */
97				"ECAP0_IN_PWM0_OUT", "gpio0_7", "input_pulldown",
98				"GPMC_AD10", "gpio0_26", "input_pulldown",
99				"GPMC_AD11", "gpio0_27", "input_pulldown",
100				"GPMC_AD12", "gpio1_12", "input_pulldown",
101				"GPMC_AD13", "gpio1_13", "input_pulldown",
102				"GPMC_AD14", "gpio1_14", "input_pulldown",
103				"GPMC_AD15", "gpio1_15", "input_pulldown",
104				"GPMC_A0", "gpio1_16", "input_pulldown",
105				"GPMC_A1", "gpio1_17", "input_pulldown",
106				"GPMC_A5", "gpio1_21", "output", /* User LED 1 */
107				"GPMC_A6", "gpio1_22", "output", /* User LED 2 */
108				"GPMC_A7", "gpio1_23", "output", /* User LED 3 */
109				"GPMC_A8", "gpio1_24", "output", /* User LED 4 */
110				"GPMC_BEn1", "gpio1_28", "input_pulldown",
111				"GPMC_CSn0", "gpio1_29", "input_pulldown",
112				"GPMC_CLK", "gpio2_1", "input_pulldown",
113				"LCD_DATA0", "gpio2_6", "input_pulldown", 
114				"LCD_DATA1", "gpio2_7", "input_pulldown", 
115				"LCD_DATA2", "gpio2_8", "input_pulldown", 
116				"LCD_DATA3", "gpio2_9", "input_pulldown", 
117				"LCD_DATA4", "gpio2_10", "input_pulldown", 
118				"LCD_DATA5", "gpio2_11", "input_pulldown", 
119				"LCD_DATA6", "gpio2_12", "input_pulldown", 
120				"LCD_DATA7", "gpio2_13", "input_pulldown", 
121				"LCD_VSYNC", "gpio2_22", "input_pulldown",
122				"LCD_HSYNC", "gpio2_23", "input_pulldown",
123				"LCD_PCLK", "gpio2_24", "input_pulldown",
124				"LCD_AC_BIAS_EN", "gpio2_25", "input_pulldown",
125				"MCASP0_FSR", "gpio3_19", "input_pulldown",
126				"MCASP0_AHCLKX", "gpio3_21", "input_pulldown",
127				/* TIMERs */
128				"GPMC_ADVn_ALE", "timer4", "output",
129				"GPMC_BEn0_CLE", "timer5", "output",
130				"GPMC_WEn", "timer6", "output",
131				"GPMC_OEn_REn", "timer7", "output",
132				/* USB0 and USB1 */
133				"USB0_DRVVBUS", "USB0_DRVVBUS", "output",
134				"USB1_DRVVBUS", "USB1_DRVVBUS", "output",
135				/* PWM */
136				"GPMC_A2", "ehrpwm1A", "output",
137				"GPMC_A3", "ehrpwm1B", "output",
138				"GPMC_AD8", "ehrpwm2A", "output",
139				"GPMC_AD9", "ehrpwm2B", "output";
140 		};
141
142		mmchs1@481D8000 {
143                	bus-width = <8>;
144			status = "okay";
145			non-removable;
146		};
147
148 
149		i2c@44e0b000 {
150			pmic@24 {
151				compatible = "ti,am335x-pmic";
152				reg = <0x48>;
153			};
154		};
155	};
156
157	leds {
158		compatible = "gpio-leds";
159
160		led1 {
161			gpios = <&GPIO 53 2 0>;
162			name = "led1";
163		};
164
165		led2 {
166			gpios = <&GPIO 54 2 0>;
167			name = "led2";
168		};
169
170		led3 {
171			gpios = <&GPIO 55 2 0>;
172			name = "led3";
173		};
174
175		led4 {
176			gpios = <&GPIO 56 2 0>;
177			name = "led4";
178		};
179	};
180
181	chosen {
182		stdin = "uart0";
183		stdout = "uart0";
184	};
185};
186