FDT: Update ARM FDT's based on FreeBSD HEAD

* Pull in Beaglebone, Beaglebone Black, and Cubieboard because
  those could be targets some day
This commit is contained in:
Alexander von Gluck IV
2015-03-04 20:16:10 -06:00
parent 6f4df461de
commit e2ec1f2f8e
9 changed files with 1137 additions and 2 deletions
+349
View File
@@ -0,0 +1,349 @@
/*-
* Copyright (c) 2012 Damjan Marion <[email protected]>
* 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$
*/
/ {
#address-cells = <1>;
#size-cells = <1>;
interrupt-parent = <&AINTC>;
SOC: am335x {
#address-cells = <1>;
#size-cells = <1>;
compatible = "simple-bus";
ranges;
bus-frequency = <0>;
AINTC: interrupt-controller@48200000 {
compatible = "ti,aintc";
interrupt-controller;
#address-cells = <0>;
#interrupt-cells = <1>;
reg = < 0x48200000 0x1000 >;
};
pmu {
compatible = "arm,cortex-a8-pmu";
interrupts = <3>;
};
scm@44e10000 {
compatible = "ti,scm";
reg = < 0x44e10000 0x2000 >;
};
prcm@44E00000 {
compatible = "am335x,prcm";
#address-cells = <1>;
#size-cells = <1>;
reg = < 0x44E00000 0x1300 >;
};
dmtimers@44E05000 {
compatible = "ti,am335x-dmtimer";
#address-cells = <1>;
#size-cells = <1>;
reg = < 0x44E05000 0x1000
0x44E31000 0x1000
0x48040000 0x1000
0x48042000 0x1000
0x48044000 0x1000
0x48046000 0x1000
0x48048000 0x1000
0x4804A000 0x1000 >;
interrupts = < 66 67 68 69 92 93 94 95 >;
interrupt-parent = <&AINTC>;
};
rtc: rtc@44E3E000 {
compatible = "ti,da830-rtc";
reg = <0x44E3E000 0x1000>;
interrupts = < 75 76 >;
interrupt-parent = <&AINTC>;
};
adc0: adc@44E0D000 {
compatible = "ti,adc";
reg = <0x44E0D000 0x2000>;
interrupts = < 16 >;
interrupt-parent = <&AINTC>;
};
wdt1@44E35000 {
compatible = "ti,omap3-wdt";
reg = <0x44E35000 0x1000>;
interrupts = <91>;
interrupt-parent = <&AINTC>;
};
GPIO: gpio {
#gpio-cells = <3>;
compatible = "ti,gpio";
gpio-controller;
reg =< 0x44E07000 0x1000
0x4804C000 0x1000
0x481AC000 0x1000
0x481AE000 0x1000 >;
interrupts = < 96 97 98 99 32 33 62 63 >;
interrupt-parent = <&AINTC>;
interrupt-controller;
#interrupt-cells = <1>;
};
uart0: serial@44E09000 {
compatible = "ti,ns16550";
reg = <0x44E09000 0x1000>;
reg-shift = <2>;
interrupts = < 72 >;
interrupt-parent = <&AINTC>;
clock-frequency = < 48000000 >;
uart-device-id = < 0 >;
};
uart1: serial@48022000 {
compatible = "ti,ns16550";
reg = <0x48022000 0x1000>;
reg-shift = <2>;
interrupts = < 73 >;
interrupt-parent = <&AINTC>;
clock-frequency = < 48000000 >;
uart-device-id = < 1 >;
status = "disabled";
};
uart2: serial@48024000 {
compatible = "ti,ns16550";
reg = <0x48024000 0x1000>;
reg-shift = <2>;
interrupts = < 74 >;
interrupt-parent = <&AINTC>;
clock-frequency = < 48000000 >;
uart-device-id = < 2 >;
status = "disabled";
};
uart3: serial@481a6000 {
compatible = "ti,ns16550";
reg = <0x481A6000 0x1000>;
reg-shift = <2>;
interrupts = < 44 >;
interrupt-parent = <&AINTC>;
clock-frequency = < 48000000 >;
uart-device-id = < 3 >;
status = "disabled";
};
uart4: serial@481a8000 {
compatible = "ti,ns16550";
reg = <0x481A8000 0x1000>;
reg-shift = <2>;
interrupts = < 45 >;
interrupt-parent = <&AINTC>;
clock-frequency = < 48000000 >;
uart-device-id = < 4 >;
status = "disabled";
};
uart5: serial@481aa000 {
compatible = "ti,ns16550";
reg = <0x481AA000 0x1000>;
reg-shift = <2>;
interrupts = < 46 >;
interrupt-parent = <&AINTC>;
clock-frequency = < 48000000 >;
uart-device-id = < 5 >;
status = "disabled";
};
edma3@49000000 {
compatible = "ti,edma3";
reg =< 0x49000000 0x100000 /* Channel Controller Regs */
0x49800000 0x100000 /* Transfer Controller 0 Regs */
0x49900000 0x100000 /* Transfer Controller 1 Regs */
0x49a00000 0x100000 >; /* Transfer Controller 2 Regs */
interrupts = <12 13 14>;
interrupt-parent = <&AINTC>;
};
mmchs0@48060000 {
compatible = "ti,omap3-hsmmc", "ti,mmchs";
reg =<0x48060000 0x1000 >;
interrupts = <64>;
interrupt-parent = <&AINTC>;
mmchs-device-id = <0>;
mmchs-wp-gpio-pin = <0xffffffff>;
ti,dual-volt;
};
mmchs1@481D8000 {
compatible = "ti,omap3-hsmmc", "ti,mmchs";
reg =<0x481D8000 0x1000 >;
interrupts = <28>;
interrupt-parent = <&AINTC>;
mmchs-device-id = <1>;
mmchs-wp-gpio-pin = <0xffffffff>;
status = "disabled";
};
enet0: ethernet@4A100000 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "ti,cpsw";
reg = <0x4A100000 0x4000>;
interrupts = <40 41 42 43>;
interrupt-parent = <&AINTC>;
phy-handle = <&phy0>;
mdio@0 {
#address-cells = <1>;
#size-cells = <0>;
compatible = "ti,cpsw-mdio";
phy0: ethernet-phy@0 {
reg = <0x0>;
};
};
};
i2c0: i2c@44e0b000 {
#address-cells = <1>;
#size-cells = <0>;
compatible = "ti,i2c";
reg =< 0x44e0b000 0x1000 >;
interrupts = <70>;
interrupt-parent = <&AINTC>;
i2c-device-id = <0>;
};
i2c1: i2c@4802a000 {
#address-cells = <1>;
#size-cells = <0>;
compatible = "ti,i2c";
reg =< 0x4802a000 0x1000 >;
interrupts = <71>;
interrupt-parent = <&AINTC>;
i2c-device-id = <1>;
};
i2c2: i2c@4819c000 {
#address-cells = <1>;
#size-cells = <0>;
compatible = "ti,i2c";
reg =< 0x4819c000 0x1000 >;
interrupts = <30>;
interrupt-parent = <&AINTC>;
i2c-device-id = <2>;
};
pwm@48300000 {
compatible = "ti,am335x-pwm";
#address-cells = <1>;
#size-cells = <1>;
reg = < 0x48300000 0x100 /* PWMSS0 */
0x48300100 0x80 /* eCAP0 */
0x48300180 0x80 /* eQEP0 */
0x48300200 0x60 /* ePWM0 */
>;
interrupts = <86 58>; /* ePWM0INT, ePWM0_TZINT */
interrupt-parent = <&AINTC>;
pwm-device-id = <0>;
};
pwm@48302000 {
compatible = "ti,am335x-pwm";
#address-cells = <1>;
#size-cells = <1>;
reg = < 0x48302000 0x100 /* PWMSS1 */
0x48302100 0x80 /* eCAP1 */
0x48302180 0x80 /* eQEP1 */
0x48302200 0x60 /* ePWM1 */
>;
interrupts = <87 59>; /* ePWM1INT, ePWM1_TZINT */
interrupt-parent = <&AINTC>;
pwm-device-id = <1>;
};
pwm@48304000 {
compatible = "ti,am335x-pwm";
#address-cells = <1>;
#size-cells = <1>;
reg = < 0x48304000 0x100 /* PWMSS2 */
0x48304100 0x80 /* eCAP2 */
0x48304180 0x80 /* eQEP2 */
0x48304200 0x60 /* ePWM2 */
>;
interrupts = <88 60>; /* ePWM2INT, ePWM2_TZINT */
interrupt-parent = <&AINTC>;
pwm-device-id = <2>;
};
lcd: lcd@4830e000 {
#address-cells = <1>;
#size-cells = <0>;
compatible = "ti,am335x-lcd";
reg =< 0x4830e000 0x1000 >;
interrupts = <36>;
interrupt-parent = <&AINTC>;
};
usb@47400000 {
#address-cells = <1>;
#size-cells = <0>;
compatible = "ti,musb-am33xx";
reg =< 0x47400000 0x1000 /* USBSS */
0x47401000 0x300 /* USB0 */
0x47401300 0x100 /* USB0_PHY */
0x47401400 0x400 /* USB0_CORE */
0x47401800 0x300 /* USB1 */
0x47401B00 0x100 /* USB1_PHY */
0x47401C00 0x400 /* USB1_CORE */
>;
interrupts = <17 18 19>;
interrupt-parent = <&AINTC>;
/* 1 - Host Mode, 0 - Device Mode */
modemask = <2>;
};
mbox0@480C8000 {
compatible = "am335x,system-mbox";
reg = < 0x480C8000 0x1000 >;
interrupts = <77>;
interrupt-parent = <&AINTC>;
};
spinlock0@480CA000 {
compatible = "am335x,spinlock";
reg = < 0x480CA000 0x1000 >;
};
pruss@4A300000 {
compatible = "ti,pruss-v2";
reg = <0x4A300000 0x80000>;
interrupt-parent = <&AINTC>;
interrupts = <20 21 22 23 24 25 26 27>;
};
};
};
+28
View File
@@ -396,6 +396,34 @@
};
};
bsc0 {
#address-cells = <1>;
#size-cells = <0>;
compatible = "broadcom,bcm2835-bsc",
"broadcom,bcm2708-bsc";
reg = <0x205000 0x20>;
interrupts = <61>;
interrupt-parent = <&intc>;
};
bsc1 {
#address-cells = <1>;
#size-cells = <0>;
compatible = "broadcom,bcm2835-bsc",
"broadcom,bcm2708-bsc";
reg = <0x804000 0x20>;
interrupts = <61>;
interrupt-parent = <&intc>;
};
spi0 {
compatible = "broadcom,bcm2835-spi",
"broadcom,bcm2708-spi";
reg = <0x204000 0x20>;
interrupts = <62>;
interrupt-parent = <&intc>;
};
dma: dma {
compatible = "broadcom,bcm2835-dma",
"broadcom,bcm2708-dma";
+184
View File
@@ -0,0 +1,184 @@
/*-
* 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",
/* I2C1 */
"SPI0_D1", "I2C1_SDA", "i2c",
"SPI0_CS0", "I2C1_SCL", "i2c",
/* I2C2 */
"UART1_CTSn", "I2C2_SDA", "i2c",
"UART1_RTSn", "I2C2_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_pullup",
"GPMC_CSn2", "mmc1_cmd", "input_pullup",
"GPMC_CSn3", "gpio2_0", "output_pullup", /* Reset */
"GPMC_AD0", "mmc1_dat0", "input_pullup",
"GPMC_AD1", "mmc1_dat1", "input_pullup",
"GPMC_AD2", "mmc1_dat2", "input_pullup",
"GPMC_AD3", "mmc1_dat3", "input_pullup",
"GPMC_AD4", "mmc1_dat4", "input_pullup",
"GPMC_AD5", "mmc1_dat5", "input_pullup",
"GPMC_AD6", "mmc1_dat6", "input_pullup",
"GPMC_AD7", "mmc1_dat7", "input_pullup",
/* 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",
/* USB0 and USB1 */
"USB0_DRVVBUS", "USB0_DRVVBUS", "output",
"USB1_DRVVBUS", "USB1_DRVVBUS", "output",
/* PWM */
"GPMC_A2", "ehrpwm1A", "output",
"GPMC_A3", "ehrpwm1B", "output",
"GPMC_AD8", "ehrpwm2A", "output",
"GPMC_AD9", "ehrpwm2B", "output";
};
mmchs1@481D8000 {
bus-width = <8>;
status = "okay";
non-removable;
};
i2c@44e0b000 {
pmic@48 {
compatible = "ti,am335x-pmic";
reg = <0x48>;
};
};
};
leds {
compatible = "gpio-leds";
led1 {
gpios = <&GPIO 53 2 0>;
name = "led1";
};
led2 {
gpios = <&GPIO 54 2 0>;
name = "led2";
};
led3 {
gpios = <&GPIO 55 2 0>;
name = "led3";
};
led4 {
gpios = <&GPIO 56 2 0>;
name = "led4";
};
};
chosen {
stdin = "uart0";
stdout = "uart0";
};
};
+145
View File
@@ -0,0 +1,145 @@
/*-
* 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";
compatible = "beaglebone", "ti,am335x";
aliases {
soc = &SOC;
uart0 = &uart0;
};
memory {
device_type = "memory";
reg = < 0x80000000 0x10000000 >; /* 256MB 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",
/* USB0 and USB1 */
"USB0_DRVVBUS", "USB0_DRVVBUS", "output",
"USB1_DRVVBUS", "USB1_DRVVBUS", "output",
/* GPIO */
"ECAP0_IN_PWM0_OUT", "gpio0_7", "input_pulldown",
"GPMC_AD10", "gpio0_26", "input_pulldown",
"GPMC_AD11", "gpio0_27", "input_pulldown",
"GPMC_AD0", "gpio1_0", "input_pulldown",
"GPMC_AD1", "gpio1_1", "input_pulldown",
"GPMC_AD2", "gpio1_2", "input_pulldown",
"GPMC_AD3", "gpio1_3", "input_pulldown",
"GPMC_AD4", "gpio1_4", "input_pulldown",
"GPMC_AD5", "gpio1_5", "input_pulldown",
"GPMC_AD6", "gpio1_6", "input_pulldown",
"GPMC_AD7", "gpio1_7", "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_CSn1", "gpio1_30", "input_pulldown",
"GPMC_CSn2", "gpio1_31", "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";
};
i2c@44e0b000 {
pmic@24 {
compatible = "ti,am335x-pmic";
reg = <0x48>;
};
};
};
chosen {
stdin = "uart0";
stdout = "uart0";
};
};
+71
View File
@@ -0,0 +1,71 @@
/*-
* Copyright (c) 2012 Ganbold Tsagaankhuu <ganbold@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/ "sun4i-a10.dtsi"
/ {
model = "Cubietech Cubieboard";
memory {
device_type = "memory";
reg = < 0x40000000 0x40000000 >; /* 1GB RAM */
};
aliases {
soc = &SOC;
UART0 = &UART0;
};
SOC: a10 {
usb1: usb@01c14000 {
status = "okay";
};
usb2: usb@01c1c000 {
status = "okay";
};
UART0: serial@01c28000 {
status = "okay";
};
emac@01c0b000 {
status = "okay";
};
};
chosen {
bootargs = "-v";
stdin = "UART0";
stdout = "UART0";
};
};
+75
View File
@@ -0,0 +1,75 @@
/*-
* Copyright (c) 2013 Ganbold Tsagaankhuu <ganbold@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/ "sun7i-a20.dtsi"
/ {
model = "Cubietech Cubieboard2";
memory {
device_type = "memory";
reg = < 0x40000000 0x40000000 >; /* 1GB RAM */
};
aliases {
soc = &SOC;
UART0 = &UART0;
};
SOC: a20 {
usb1: usb@01c14000 {
status = "okay";
};
usb2: usb@01c1c000 {
status = "okay";
};
UART0: serial@01c28000 {
status = "okay";
};
emac@01c0b000 {
status = "okay";
};
ahci: sata@01c18000 {
status = "okay";
};
};
chosen {
bootargs = "-v";
stdin = "UART0";
stdout = "UART0";
};
};
+13 -2
View File
@@ -28,13 +28,24 @@
/include/ "bcm2835.dtsi"
/memreserve/ 0x08000000 0x08000000; /* Set by VideoCore */
/ {
model = "Raspberry Pi (BCM2835)";
compatible = "raspberrypi,model-a", "raspberrypi,model-b",
"broadcom,bcm2835-vc", "broadcom,bcm2708-vc";
memreserve = <0x08000000 0x08000000>; /* Set by VideoCore */
cpus {
#address-cells = <1>;
#size-cells = <0>;
cpu@0 {
compatible = "arm,1176jzf-s";
device_type = "cpu";
reg = <0>; /* CPU ID=0 */
clock-frequency = <700000000>; /* 700MHz */
};
};
memory {
device_type = "memory";
reg = <0 0x8000000>; /* 128MB, Set by VideoCore */
+133
View File
@@ -0,0 +1,133 @@
/*-
* Copyright (c) 2014 Ganbold Tsagaankhuu <ganbold@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$
*/
/ {
compatible = "allwinner,sun4i-a10";
#address-cells = <1>;
#size-cells = <1>;
interrupt-parent = <&AINTC>;
aliases {
soc = &SOC;
};
SOC: a10 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "simple-bus";
ranges;
bus-frequency = <0>;
AINTC: interrupt-controller@01c20400 {
compatible = "allwinner,sun4i-ic";
interrupt-controller;
#address-cells = <0>;
#interrupt-cells = <1>;
reg = < 0x01c20400 0x400 >;
};
sramc@01c00000 {
compatible = "allwinner,sun4i-sramc";
#address-cells = <1>;
#size-cells = <1>;
reg = < 0x01c00000 0x1000 >;
};
ccm@01c20000 {
compatible = "allwinner,sun4i-ccm";
#address-cells = <1>;
#size-cells = <1>;
reg = < 0x01c20000 0x400 >;
};
timer@01c20c00 {
compatible = "allwinner,sun4i-timer";
reg = <0x01c20c00 0x90>;
interrupts = < 22 >;
interrupt-parent = <&AINTC>;
clock-frequency = < 24000000 >;
};
watchdog@01c20c90 {
compatible = "allwinner,sun4i-wdt";
reg = <0x01c20c90 0x08>;
};
GPIO: gpio@01c20800 {
#gpio-cells = <3>;
compatible = "allwinner,sun4i-gpio";
gpio-controller;
reg =< 0x01c20800 0x400 >;
interrupts = < 28 >;
interrupt-parent = <&AINTC>;
};
usb1: usb@01c14000 {
compatible = "allwinner,usb-ehci", "usb-ehci";
reg = <0x01c14000 0x1000>;
interrupts = < 39 >;
interrupt-parent = <&AINTC>;
};
usb2: usb@01c1c000 {
compatible = "allwinner,usb-ehci", "usb-ehci";
reg = <0x01c1c000 0x1000>;
interrupts = < 40 >;
interrupt-parent = <&AINTC>;
};
sata@01c18000 {
compatible = "allwinner,sun4i-ahci";
reg = <0x01c18000 0x1000>;
interrupts = <56>;
interrupt-parent = <&AINTC>;
};
UART0: serial@01c28000 {
compatible = "ns16550";
reg = <0x01c28000 0x400>;
reg-shift = <2>;
interrupts = <1>;
interrupt-parent = <&AINTC>;
current-speed = <115200>;
clock-frequency = < 24000000 >;
busy-detect = <1>;
broken-txfifo = <1>;
};
emac@01c0b000 {
compatible = "allwinner,sun4i-emac";
reg = <0x01c0b000 0x1000>;
interrupts = <55>;
interrupt-parent = <&AINTC>;
};
};
};
+139
View File
@@ -0,0 +1,139 @@
/*-
* Copyright (c) 2014 Ganbold Tsagaankhuu <ganbold@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$
*/
/ {
compatible = "allwinner,sun7i-a20";
#address-cells = <1>;
#size-cells = <1>;
interrupt-parent = <&GIC>;
aliases {
soc = &SOC;
};
SOC: a20 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "simple-bus";
ranges;
bus-frequency = <0>;
GIC: interrupt-controller@01c81000 {
compatible = "arm,gic";
reg = <0x01c81000 0x1000>, /* Distributor Registers */
<0x01c82000 0x0100>; /* CPU Interface Registers */
interrupt-controller;
#interrupt-cells = <1>;
};
sramc@01c00000 {
compatible = "allwinner,sun4i-sramc";
#address-cells = <1>;
#size-cells = <1>;
reg = < 0x01c00000 0x1000 >;
};
cpu-cfg@01c25c00 {
compatible = "allwinner,sun7i-cpu-cfg";
#address-cells = <1>;
#size-cells = <1>;
reg = < 0x01c25c00 0x400 >;
};
ccm@01c20000 {
compatible = "allwinner,sun4i-ccm";
#address-cells = <1>;
#size-cells = <1>;
reg = < 0x01c20000 0x400 >;
};
timer@01c20c00 {
compatible = "allwinner,sun7i-timer";
reg = <0x01c20c00 0x90>;
interrupts = < 22 >;
interrupt-parent = <&GIC>;
clock-frequency = < 24000000 >;
};
watchdog@01c20c90 {
compatible = "allwinner,sun4i-wdt";
reg = <0x01c20c90 0x10>;
};
GPIO: gpio@01c20800 {
#gpio-cells = <3>;
compatible = "allwinner,sun4i-gpio";
gpio-controller;
reg =< 0x01c20800 0x400 >;
interrupts = < 28 >;
interrupt-parent = <&GIC>;
};
usb1: usb@01c14000 {
compatible = "allwinner,usb-ehci", "usb-ehci";
reg = <0x01c14000 0x1000>;
interrupts = < 39 >;
interrupt-parent = <&GIC>;
};
usb2: usb@01c1c000 {
compatible = "allwinner,usb-ehci", "usb-ehci";
reg = <0x01c1c000 0x1000>;
interrupts = < 40 >;
interrupt-parent = <&GIC>;
};
sata@01c18000 {
compatible = "allwinner,sun4i-a10-ahci";
reg = <0x01c18000 0x1000>;
interrupts = <56>;
interrupt-parent = <&GIC>;
};
UART0: serial@01c28000 {
compatible = "ns16550";
reg = <0x01c28000 0x400>;
reg-shift = <2>;
interrupts = <1>;
interrupt-parent = <&GIC>;
current-speed = <115200>;
clock-frequency = < 24000000 >;
busy-detect = <1>;
broken-txfifo = <1>;
};
emac@01c0b000 {
compatible = "allwinner,sun4i-emac";
reg = <0x01c0b000 0x1000>;
interrupts = <55>;
interrupt-parent = <&GIC>;
};
};
};