beaglebone-black.dts revision 246026
1193323Sed/*- 2193323Sed * Copyright (c) 2012 Damjan Marion <dmarion@Freebsd.org> 3193323Sed * All rights reserved. 4193323Sed * 5193323Sed * Redistribution and use in source and binary forms, with or without 6193323Sed * modification, are permitted provided that the following conditions 7193323Sed * are met: 8193323Sed * 1. Redistributions of source code must retain the above copyright 9193323Sed * notice, this list of conditions and the following disclaimer. 10193323Sed * 2. Redistributions in binary form must reproduce the above copyright 11193323Sed * notice, this list of conditions and the following disclaimer in the 12193323Sed * documentation and/or other materials provided with the distribution. 13193323Sed * 14193323Sed * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 15193323Sed * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 16193323Sed * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 17193323Sed * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 18193323Sed * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 19193323Sed * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 20193323Sed * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 21193323Sed * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 22249423Sdim * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 23249423Sdim * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 24249423Sdim * SUCH DAMAGE. 25249423Sdim * 26249423Sdim * $FreeBSD: head/sys/boot/fdt/dts/beaglebone.dts 246026 2013-01-28 09:47:00Z dmarion $ 27249423Sdim */ 28193323Sed 29193323Sed/dts-v1/; 30198090Srdivacky 31198090Srdivacky/ { 32249423Sdim model = "beaglebone"; 33193323Sed compatible = "beaglebone", "ti,am335x"; 34193323Sed #address-cells = <1>; 35193323Sed #size-cells = <1>; 36193323Sed 37193323Sed interrupt-parent = <&AINTC>; 38193323Sed 39193323Sed aliases { 40193323Sed soc = &SOC; 41193323Sed uart0 = &uart0; 42193323Sed }; 43234353Sdim 44234353Sdim memory { 45193323Sed device_type = "memory"; 46193323Sed reg = < 0x80000000 0x10000000 >; /* 256MB RAM */ 47202375Srdivacky }; 48221345Sdim 49221345Sdim SOC: am335x { 50193323Sed #address-cells = <1>; 51193323Sed #size-cells = <1>; 52193323Sed compatible = "simple-bus"; 53193323Sed ranges; 54193323Sed bus-frequency = <0>; 55193323Sed 56212904Sdim AINTC: interrupt-controller@48200000 { 57212904Sdim compatible = "ti,aintc"; 58212904Sdim interrupt-controller; 59212904Sdim #address-cells = <0>; 60212904Sdim #interrupt-cells = <1>; 61212904Sdim reg = < 0x48200000 0x1000 >; 62263508Sdim }; 63212904Sdim 64212904Sdim scm@44e10000 { 65212904Sdim compatible = "ti,scm"; 66212904Sdim reg = < 0x44e10000 0x2000 >; 67193323Sed /* Set of triplets < padname, muxname, padstate> */ 68218893Sdim scm-pad-config = 69193323Sed /* I2C0 */ 70193323Sed "I2C0_SDA", "I2C0_SDA","i2c", 71193323Sed "I2C0_SCL", "I2C0_SCL","i2c", 72193323Sed /* Ethernet */ 73193323Sed "MII1_RX_ER", "gmii1_rxerr", "input_pulldown", 74193323Sed "MII1_TX_EN", "gmii1_txen", "output", 75193323Sed "MII1_RX_DV", "gmii1_rxdv", "input_pulldown", 76193323Sed "MII1_TXD3", "gmii1_txd3", "output", 77193323Sed "MII1_TXD2", "gmii1_txd2", "output", 78193323Sed "MII1_TXD1", "gmii1_txd1", "output", 79193323Sed "MII1_TXD0", "gmii1_txd0", "output", 80193323Sed "MII1_TX_CLK", "gmii1_txclk", "input_pulldown", 81193323Sed "MII1_RX_CLK", "gmii1_rxclk", "input_pulldown", 82234353Sdim "MII1_RXD3", "gmii1_rxd3", "input_pulldown", 83234353Sdim "MII1_RXD2", "gmii1_rxd2", "input_pulldown", 84234353Sdim "MII1_RXD1", "gmii1_rxd1", "input_pulldown", 85193323Sed "MII1_RXD0", "gmii1_rxd0", "input_pulldown", 86193323Sed "MDIO", "mdio_data", "input_pullup", 87218893Sdim "MDC", "mdio_clk", "output_pullup", 88218893Sdim /* MMCSD0 */ 89193323Sed "MMC0_CMD", "mmc0_cmd", "input_pullup", 90193323Sed "MMC0_CLK", "mmc0_clk", "input_pullup", 91193323Sed "MMC0_DAT0", "mmc0_dat0", "input_pullup", 92193323Sed "MMC0_DAT1", "mmc0_dat1", "input_pullup", 93193323Sed "MMC0_DAT2", "mmc0_dat2", "input_pullup", 94193323Sed "MMC0_DAT3", "mmc0_dat3", "input_pullup", 95193323Sed /* GPIO */ 96193323Sed "ECAP0_IN_PWM0_OUT", "gpio0_7", "input_pulldown", 97193323Sed "GPMC_AD10", "gpio0_26", "input_pulldown", 98193323Sed "GPMC_AD11", "gpio0_27", "input_pulldown", 99193323Sed "GPMC_AD0", "gpio1_0", "input_pulldown", 100193323Sed "GPMC_AD1", "gpio1_1", "input_pulldown", 101193323Sed "GPMC_AD2", "gpio1_2", "input_pulldown", 102193323Sed "GPMC_AD3", "gpio1_3", "input_pulldown", 103193323Sed "GPMC_AD4", "gpio1_4", "input_pulldown", 104193323Sed "GPMC_AD5", "gpio1_5", "input_pulldown", 105193323Sed "GPMC_AD6", "gpio1_6", "input_pulldown", 106193323Sed "GPMC_AD7", "gpio1_7", "input_pulldown", 107193323Sed "GPMC_AD12", "gpio1_12", "input_pulldown", 108193323Sed "GPMC_AD13", "gpio1_13", "input_pulldown", 109202375Srdivacky "GPMC_AD14", "gpio1_14", "input_pulldown", 110263508Sdim "GPMC_AD15", "gpio1_15", "input_pulldown", 111221345Sdim "GPMC_A0", "gpio1_16", "input_pulldown", 112221345Sdim "GPMC_A1", "gpio1_17", "input_pulldown", 113221345Sdim "GPMC_A5", "gpio1_21", "output", /* User LED 1 */ 114221345Sdim "GPMC_A6", "gpio1_22", "output", /* User LED 2 */ 115221345Sdim "GPMC_A7", "gpio1_23", "output", /* User LED 3 */ 116221345Sdim "GPMC_A8", "gpio1_24", "output", /* User LED 4 */ 117221345Sdim "GPMC_BEn1", "gpio1_28", "input_pulldown", 118263508Sdim "GPMC_CSn0", "gpio1_29", "input_pulldown", 119221345Sdim "GPMC_CSn1", "gpio1_30", "input_pulldown", 120221345Sdim "GPMC_CSn2", "gpio1_31", "input_pulldown", 121193323Sed "GPMC_CLK", "gpio2_1", "input_pulldown", 122221345Sdim "LCD_DATA0", "gpio2_6", "input_pulldown", 123221345Sdim "LCD_DATA1", "gpio2_7", "input_pulldown", 124221345Sdim "LCD_DATA2", "gpio2_8", "input_pulldown", 125221345Sdim "LCD_DATA3", "gpio2_9", "input_pulldown", 126263508Sdim "LCD_DATA4", "gpio2_10", "input_pulldown", 127226633Sdim "LCD_DATA5", "gpio2_11", "input_pulldown", 128226633Sdim "LCD_DATA6", "gpio2_12", "input_pulldown", 129226633Sdim "LCD_DATA7", "gpio2_13", "input_pulldown", 130226633Sdim "LCD_VSYNC", "gpio2_22", "input_pulldown", 131226633Sdim "LCD_HSYNC", "gpio2_23", "input_pulldown", 132226633Sdim "LCD_PCLK", "gpio2_24", "input_pulldown", 133226633Sdim "LCD_AC_BIAS_EN", "gpio2_25", "input_pulldown", 134226633Sdim "MCASP0_FSR", "gpio3_19", "input_pulldown", 135221345Sdim "MCASP0_AHCLKX", "gpio3_21", "input_pulldown", 136221345Sdim /* TIMERs */ 137193323Sed "GPMC_ADVn_ALE", "timer4", "output", 138221345Sdim "GPMC_BEn0_CLE", "timer5", "output", 139221345Sdim "GPMC_WEn", "timer6", "output", 140221345Sdim "GPMC_OEn_REn", "timer7", "output", 141221345Sdim /* PWM */ 142251662Sdim "GPMC_A2", "ehrpwm1A", "output", 143221345Sdim "GPMC_A3", "ehrpwm1B", "output", 144221345Sdim "GPMC_AD8", "ehrpwm2A", "output", 145221345Sdim "GPMC_AD9", "ehrpwm2B", "output"; 146221345Sdim }; 147221345Sdim 148251662Sdim prcm@44E00000 { 149221345Sdim compatible = "am335x,prcm"; 150221345Sdim #address-cells = <1>; 151221345Sdim #size-cells = <1>; 152221345Sdim reg = < 0x44E00000 0x1300 >; 153221345Sdim }; 154251662Sdim 155221345Sdim dmtimers@44E05000 { 156221345Sdim compatible = "ti,am335x-dmtimer"; 157221345Sdim #address-cells = <1>; 158221345Sdim #size-cells = <1>; 159221345Sdim reg = < 0x44E05000 0x1000 160251662Sdim 0x44E31000 0x1000 161221345Sdim 0x48040000 0x1000 162221345Sdim 0x48042000 0x1000 163221345Sdim 0x48044000 0x1000 164221345Sdim 0x48046000 0x1000 165221345Sdim 0x48048000 0x1000 166251662Sdim 0x4804A000 0x1000 >; 167221345Sdim interrupts = < 66 67 68 69 92 93 94 95 >; 168249423Sdim interrupt-parent = <&AINTC>; 169249423Sdim }; 170249423Sdim 171251662Sdim GPIO: gpio { 172223017Sdim #gpio-cells = <3>; 173221345Sdim compatible = "ti,gpio"; 174221345Sdim gpio-controller; 175221345Sdim reg =< 0x44E07000 0x1000 176221345Sdim 0x4804C000 0x1000 177221345Sdim 0x481AC000 0x1000 178221345Sdim 0x481AE000 0x1000 >; 179202375Srdivacky interrupts = < 96 97 98 99 32 33 62 63 >; 180193323Sed interrupt-parent = <&AINTC>; 181221345Sdim }; 182221345Sdim 183221345Sdim 184221345Sdim uart0: serial@44E09000 { 185221345Sdim compatible = "ns16550"; 186221345Sdim reg = <0x44E09000 0x1000>; 187221345Sdim reg-shift = <2>; 188221345Sdim interrupts = < 72 >; 189221345Sdim interrupt-parent = <&AINTC>; 190221345Sdim clock-frequency = < 48000000 >; /* FIXME */ 191221345Sdim }; 192221345Sdim 193221345Sdim edma3@49000000 { 194221345Sdim compatible = "ti,edma3"; 195221345Sdim reg =< 0x49000000 0x100000 /* Channel Controller Regs */ 196221345Sdim 0x49800000 0x100000 /* Transfer Controller 0 Regs */ 197221345Sdim 0x49900000 0x100000 /* Transfer Controller 1 Regs */ 198221345Sdim 0x49a00000 0x100000 >; /* Transfer Controller 2 Regs */ 199221345Sdim interrupts = <12 13 14>; 200221345Sdim interrupt-parent = <&AINTC>; 201221345Sdim }; 202221345Sdim 203221345Sdim mmchs0@4809C000 { 204221345Sdim compatible = "ti,mmchs"; 205263508Sdim reg =<0x48060000 0x1000 >; 206221345Sdim interrupts = <64>; 207221345Sdim interrupt-parent = <&AINTC>; 208221345Sdim mmchs-device-id = <0>; 209221345Sdim }; 210263508Sdim 211221345Sdim enet0: ethernet@4A100000 { 212221345Sdim #address-cells = <1>; 213221345Sdim #size-cells = <1>; 214221345Sdim compatible = "ti,cpsw"; 215221345Sdim reg = <0x4A100000 0x4000>; 216221345Sdim interrupts = <40 41 42 43>; 217221345Sdim interrupt-parent = <&AINTC>; 218221345Sdim phy-handle = <&phy0>; 219221345Sdim mdio@0 { 220221345Sdim #address-cells = <1>; 221221345Sdim #size-cells = <0>; 222221345Sdim compatible = "ti,cpsw-mdio"; 223221345Sdim phy0: ethernet-phy@0 { 224221345Sdim reg = <0x0>; 225221345Sdim }; 226221345Sdim }; 227221345Sdim }; 228221345Sdim 229221345Sdim i2c0: i2c@44e0b000 { 230221345Sdim #address-cells = <1>; 231221345Sdim #size-cells = <0>; 232221345Sdim compatible = "ti,i2c"; 233221345Sdim reg =< 0x44e0b000 0x1000 >; 234221345Sdim interrupts = <70>; 235221345Sdim interrupt-parent = <&AINTC>; 236221345Sdim i2c-device-id = <0>; 237221345Sdim pmic@24 { 238221345Sdim compatible = "ti,am335x-pmic"; 239221345Sdim reg = <0x24>; 240221345Sdim }; 241221345Sdim }; 242221345Sdim }; 243221345Sdim 244221345Sdim chosen { 245221345Sdim stdin = "uart0"; 246221345Sdim stdout = "uart0"; 247221345Sdim }; 248221345Sdim}; 249221345Sdim