summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkientzle <kientzle@FreeBSD.org>2013-05-10 05:34:08 +0000
committerkientzle <kientzle@FreeBSD.org>2013-05-10 05:34:08 +0000
commit777410321b66dc760d34150a04a17ee3aac67f17 (patch)
treef28765b41debc44d54eb9bf83ec50b872cf4b272
parentad9097e948a5b21dcce73de7bfca01917c3a984a (diff)
downloadFreeBSD-src-777410321b66dc760d34150a04a17ee3aac67f17.zip
FreeBSD-src-777410321b66dc760d34150a04a17ee3aac67f17.tar.gz
Move 'compatible' line out of the common am335x.dtsi and into
the beaglebone-specific .dts file. Add a new .dts for the BeagleBone Black with more memory, slightly different pinmux initialization, and with mmchs1 configured (though the latter doesn't quite work yet).
-rw-r--r--sys/boot/fdt/dts/am335x.dtsi12
-rw-r--r--sys/boot/fdt/dts/beaglebone-black.dts149
-rw-r--r--sys/boot/fdt/dts/beaglebone.dts1
3 files changed, 160 insertions, 2 deletions
diff --git a/sys/boot/fdt/dts/am335x.dtsi b/sys/boot/fdt/dts/am335x.dtsi
index bf6a620..a3a3b0d 100644
--- a/sys/boot/fdt/dts/am335x.dtsi
+++ b/sys/boot/fdt/dts/am335x.dtsi
@@ -27,7 +27,6 @@
*/
/ {
- compatible = "ti,am335x";
#address-cells = <1>;
#size-cells = <1>;
@@ -107,7 +106,7 @@
interrupt-parent = <&AINTC>;
};
- mmchs0@4809C000 {
+ mmchs0@48060000 {
compatible = "ti,mmchs";
reg =<0x48060000 0x1000 >;
interrupts = <64>;
@@ -115,6 +114,15 @@
mmchs-device-id = <0>;
};
+ mmchs1@481D8000 {
+ compatible = "ti,mmchs";
+ reg =<0x481D8000 0x1000 >;
+ interrupts = <28>;
+ interrupt-parent = <&AINTC>;
+ mmchs-device-id = <1>;
+ status = "disabled";
+ };
+
enet0: ethernet@4A100000 {
#address-cells = <1>;
#size-cells = <1>;
diff --git a/sys/boot/fdt/dts/beaglebone-black.dts b/sys/boot/fdt/dts/beaglebone-black.dts
new file mode 100644
index 0000000..0724c0a
--- /dev/null
+++ b/sys/boot/fdt/dts/beaglebone-black.dts
@@ -0,0 +1,149 @@
+/*-
+ * Copyright (c) 2012 Damjan Marion <dmarion@Freebsd.org>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * $FreeBSD$
+ */
+
+/dts-v1/;
+
+/include/ "am335x.dtsi"
+
+/ {
+ model = "beaglebone-black";
+ compatible = "beaglebone-black", "beaglebone", "ti,am335x";
+
+
+ aliases {
+ soc = &SOC;
+ uart0 = &uart0;
+ };
+
+ memory {
+ device_type = "memory";
+ reg = < 0x80000000 0x20000000 >; /* 512MB RAM */
+ };
+
+ am335x {
+ scm@44e10000 {
+ /* Set of triplets < padname, muxname, padstate> */
+ scm-pad-config =
+ /* I2C0 */
+ "I2C0_SDA", "I2C0_SDA","i2c",
+ "I2C0_SCL", "I2C0_SCL","i2c",
+ /* Ethernet */
+ "MII1_RX_ER", "gmii1_rxerr", "input_pulldown",
+ "MII1_TX_EN", "gmii1_txen", "output",
+ "MII1_RX_DV", "gmii1_rxdv", "input_pulldown",
+ "MII1_TXD3", "gmii1_txd3", "output",
+ "MII1_TXD2", "gmii1_txd2", "output",
+ "MII1_TXD1", "gmii1_txd1", "output",
+ "MII1_TXD0", "gmii1_txd0", "output",
+ "MII1_TX_CLK", "gmii1_txclk", "input_pulldown",
+ "MII1_RX_CLK", "gmii1_rxclk", "input_pulldown",
+ "MII1_RXD3", "gmii1_rxd3", "input_pulldown",
+ "MII1_RXD2", "gmii1_rxd2", "input_pulldown",
+ "MII1_RXD1", "gmii1_rxd1", "input_pulldown",
+ "MII1_RXD0", "gmii1_rxd0", "input_pulldown",
+ "MDIO", "mdio_data", "input_pullup",
+ "MDC", "mdio_clk", "output_pullup",
+ /* MMCSD0 */
+ "MMC0_CMD", "mmc0_cmd", "input_pullup",
+ "MMC0_CLK", "mmc0_clk", "input_pullup",
+ "MMC0_DAT0", "mmc0_dat0", "input_pullup",
+ "MMC0_DAT1", "mmc0_dat1", "input_pullup",
+ "MMC0_DAT2", "mmc0_dat2", "input_pullup",
+ "MMC0_DAT3", "mmc0_dat3", "input_pullup",
+ /* MMC1 */
+ "GPMC_CSn1", "mmc1_clk", "input_pulldown",
+ "GPMC_CSn2", "mmc1_cmd", "input_pulldown",
+ "GPMC_AD0", "mmc1_dat0", "input_pulldown",
+ "GPMC_AD1", "mmc1_dat1", "input_pulldown",
+ "GPMC_AD2", "mmc1_dat2", "input_pulldown",
+ "GPMC_AD3", "mmc1_dat3", "input_pulldown",
+ "GPMC_AD4", "mmc1_dat4", "input_pulldown",
+ "GPMC_AD5", "mmc1_dat5", "input_pulldown",
+ "GPMC_AD6", "mmc1_dat6", "input_pulldown",
+ "GPMC_AD7", "mmc1_dat7", "input_pulldown",
+ /* GPIO */
+ "ECAP0_IN_PWM0_OUT", "gpio0_7", "input_pulldown",
+ "GPMC_AD10", "gpio0_26", "input_pulldown",
+ "GPMC_AD11", "gpio0_27", "input_pulldown",
+ "GPMC_AD12", "gpio1_12", "input_pulldown",
+ "GPMC_AD13", "gpio1_13", "input_pulldown",
+ "GPMC_AD14", "gpio1_14", "input_pulldown",
+ "GPMC_AD15", "gpio1_15", "input_pulldown",
+ "GPMC_A0", "gpio1_16", "input_pulldown",
+ "GPMC_A1", "gpio1_17", "input_pulldown",
+ "GPMC_A5", "gpio1_21", "output", /* User LED 1 */
+ "GPMC_A6", "gpio1_22", "output", /* User LED 2 */
+ "GPMC_A7", "gpio1_23", "output", /* User LED 3 */
+ "GPMC_A8", "gpio1_24", "output", /* User LED 4 */
+ "GPMC_BEn1", "gpio1_28", "input_pulldown",
+ "GPMC_CSn0", "gpio1_29", "input_pulldown",
+ "GPMC_CLK", "gpio2_1", "input_pulldown",
+ "LCD_DATA0", "gpio2_6", "input_pulldown",
+ "LCD_DATA1", "gpio2_7", "input_pulldown",
+ "LCD_DATA2", "gpio2_8", "input_pulldown",
+ "LCD_DATA3", "gpio2_9", "input_pulldown",
+ "LCD_DATA4", "gpio2_10", "input_pulldown",
+ "LCD_DATA5", "gpio2_11", "input_pulldown",
+ "LCD_DATA6", "gpio2_12", "input_pulldown",
+ "LCD_DATA7", "gpio2_13", "input_pulldown",
+ "LCD_VSYNC", "gpio2_22", "input_pulldown",
+ "LCD_HSYNC", "gpio2_23", "input_pulldown",
+ "LCD_PCLK", "gpio2_24", "input_pulldown",
+ "LCD_AC_BIAS_EN", "gpio2_25", "input_pulldown",
+ "MCASP0_FSR", "gpio3_19", "input_pulldown",
+ "MCASP0_AHCLKX", "gpio3_21", "input_pulldown",
+ /* TIMERs */
+ "GPMC_ADVn_ALE", "timer4", "output",
+ "GPMC_BEn0_CLE", "timer5", "output",
+ "GPMC_WEn", "timer6", "output",
+ "GPMC_OEn_REn", "timer7", "output",
+ /* PWM */
+ "GPMC_A2", "ehrpwm1A", "output",
+ "GPMC_A3", "ehrpwm1B", "output",
+ "GPMC_AD8", "ehrpwm2A", "output",
+ "GPMC_AD9", "ehrpwm2B", "output";
+ };
+
+ mmchs1@481D8000 {
+ status = "ok";
+ };
+
+
+ i2c@44e0b000 {
+ pmic@24 {
+ compatible = "ti,am335x-pmic";
+ reg = <0x24>;
+ };
+ }
+ };
+
+ chosen {
+ stdin = "uart0";
+ stdout = "uart0";
+ };
+};
diff --git a/sys/boot/fdt/dts/beaglebone.dts b/sys/boot/fdt/dts/beaglebone.dts
index cc3b88b..685d502 100644
--- a/sys/boot/fdt/dts/beaglebone.dts
+++ b/sys/boot/fdt/dts/beaglebone.dts
@@ -32,6 +32,7 @@
/ {
model = "beaglebone";
+ compatible = "beaglebone", "ti,am335x";
aliases {
soc = &SOC;
OpenPOWER on IntegriCloud