/*- * Copyright (c) 2011 The FreeBSD Foundation * All rights reserved. * * Developed by Damjan Marion * * 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/; / { model = "pandaboard"; compatible = "pandaboard", "ti,omap4430"; #address-cells = <1>; #size-cells = <1>; interrupt-parent = <&GIC>; aliases { soc = &SOC; uart3 = &uart3; }; memory { device_type = "memory"; reg = < 0x80000000 0x40000000 >; /* 1GB RAM at 0x0 */ }; SOC: omap4430 { #address-cells = <1>; #size-cells = <1>; compatible = "simple-bus"; ranges; bus-frequency = <0>; GIC: interrupt-controller@48241000 { compatible = "arm,gic"; interrupt-controller; #address-cells = <0>; #interrupt-cells = <1>; reg = < 0x48241000 0x1000 >, /* Distributor Registers */ < 0x48240100 0x0100 >; /* CPU Interface Registers */ }; omap4_prcm@4a306000 { compatible = "ti,omap4_prcm"; reg =< 0x4a306000 0x2000 0x4a004000 0x1000 0x4a008000 0x8000>; }; pl310@48242000 { compatible = "arm,pl310"; reg = < 0x48242000 0x1000 >; interrupts = < 32 >; interrupt-parent = < &GIC >; }; mp_tmr@48240200 { compatible = "arm,mpcore-timers"; #address-cells = <1>; #size-cells = <0>; reg = < 0x48240200 0x100 >, /* Global Timer Registers */ < 0x48240600 0x100 >; /* Private Timer Registers */ interrupts = < 27 29 >; interrupt-parent = < &GIC >; }; uart3: serial@48020000 { compatible = "ns16550"; reg = <0x48020000 0x1000>; reg-shift = <2>; interrupts = < 106 >; interrupt-parent = <&GIC>; clock-frequency = < 48000000 >; /* 48Mhz clock for all uarts */ /* (techref 17.3.1.1) */ }; scm@4a100000 { compatible = "ti,scm"; reg = < 0x4a100000 0x1000 >; /* Set of triplets < padname, muxname, padstate> */ scm-pad-config = "ag19", "usbb1_ulpiphy_stp", "output", "ae18", "usbb1_ulpiphy_clk", "input_pulldown", "af19", "usbb1_ulpiphy_dir", "input_pulldown", "ae19", "usbb1_ulpiphy_nxt", "input_pulldown", "af18", "usbb1_ulpiphy_dat0", "input_pulldown", "ag18", "usbb1_ulpiphy_dat1", "input_pulldown", "ae17", "usbb1_ulpiphy_dat2", "input_pulldown", "af17", "usbb1_ulpiphy_dat3", "input_pulldown", "ah17", "usbb1_ulpiphy_dat4", "input_pulldown", "ae16", "usbb1_ulpiphy_dat5", "input_pulldown", "af16", "usbb1_ulpiphy_dat6", "input_pulldown", "ag16", "usbb1_ulpiphy_dat7", "input_pulldown"; }; GPIO: gpio { #gpio-cells = <3>; compatible = "ti,gpio"; gpio-controller; reg =< 0x4a310000 0x1000 0x48055000 0x1000 0x48057000 0x1000 0x48059000 0x1000 0x4805b000 0x1000 0x4805d000 0x1000>; interrupts = <61 62 63 64 65 66>; interrupt-parent = <&GIC>; }; ehci { compatible = "ti,usb-ehci", "usb-ehci"; /* * USB port PHY configuration is a tuple: * mode is one of the following values: * 0 - unknown * 1 - PHY * 2 - TLL * 3 - HSIC * * reset indicates (if non-zero) if port reset is required * gpio_pin - GPIO pin that is used to perform reset */ phy-config = < 1 0 0 0 0 0 0 0 0>; reg = < 0x4a064c00 0x100 /* EHCI regs */ 0x4a064000 0x700 /* UHH regs */ 0x4a062000 0x1000>; /* TLL regs */ interrupts = <109>; interrupt-parent = <&GIC>; }; I2C1: i2c@x48070000 { compatible = "ti,i2c"; reg =< 0x48070000 0x100 >; interrupts = <88>; interrupt-parent = <&GIC>; i2c-device-id = <1>; }; sdma@x48070000 { compatible = "ti,sdma"; reg =< 0x4A056000 0x1000 >; interrupts = <44 45 46 47>; interrupt-parent = <&GIC>; }; mmc@x4809C000 { compatible = "ti,mmchs"; reg =<0x4809C000 0x1000 >; interrupts = <115>; interrupt-parent = <&GIC>; mmchs-device-id = <1>; non-removable; /* XXX need real solution */ }; }; chosen { stdin = "uart3"; stdout = "uart3"; }; };