aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--COPYING.MIT17
-rw-r--r--README32
-rw-r--r--README.hardware289
-rw-r--r--conf/layer.conf10
-rw-r--r--conf/machine/beagleboard.conf43
-rw-r--r--conf/machine/routerstationpro.conf27
-rw-r--r--recipes-bsp/alsa-state/alsa-state.bbappend1
-rw-r--r--recipes-bsp/alsa-state/alsa-state/beagleboard/asound.state656
-rwxr-xr-xrecipes-bsp/formfactor/formfactor/beagleboard/machconfig3
-rw-r--r--recipes-bsp/formfactor/formfactor_0.0.bbappend1
-rw-r--r--recipes-core/init-ifupdown/init-ifupdown-1.0/beagleboard/interfaces27
-rw-r--r--recipes-core/init-ifupdown/init-ifupdown_1.0.bbappend1
-rw-r--r--recipes-graphics/xorg-xserver/xserver-xf86-config/beagleboard/xorg.conf33
-rw-r--r--recipes-graphics/xorg-xserver/xserver-xf86-config_0.1.bbappend1
-rw-r--r--recipes-kernel/linux/linux-yocto_3.10.bbappend11
-rw-r--r--recipes-kernel/linux/linux-yocto_3.4.bbappend11
16 files changed, 1163 insertions, 0 deletions
diff --git a/COPYING.MIT b/COPYING.MIT
new file mode 100644
index 0000000..fb950dc
--- /dev/null
+++ b/COPYING.MIT
@@ -0,0 +1,17 @@
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
diff --git a/README b/README
new file mode 100644
index 0000000..bda52dd
--- /dev/null
+++ b/README
@@ -0,0 +1,32 @@
+meta-yocto-bsp-old
+==================
+
+This layer exists to preserve BSPs that were formerly part of the set of
+reference machines in the meta-yocto-bsp layer.
+
+NOTE: BSPs found in this layer do not constitute officially supported BSPs
+for these machines.
+
+For more information on the Yocto Project, see the website:
+
+ http://www.yoctoproject.org
+
+
+Maintenance
+-----------
+
+Send patches / pull requests to poky@yoctoproject.org with
+'[meta-yocto-bsp-old]' in the subject.
+
+Main layer maintainer: Paul Eggleton <paul.eggleton@linux.intel.com>
+
+
+License
+-------
+
+All metadata is MIT licensed unless otherwise stated. Source code included
+in tree for individual recipes is under the LICENSE stated in each recipe
+(.bb file) unless otherwise stated.
+
+See COPYING.MIT for further details on the MIT license.
+
diff --git a/README.hardware b/README.hardware
new file mode 100644
index 0000000..c39e469
--- /dev/null
+++ b/README.hardware
@@ -0,0 +1,289 @@
+ meta-yocto-bsp-old Hardware README
+ ==================================
+
+This file gives details about using Poky with the old reference machines
+supported by the meta-yocto-bsp-old layer. A full list of machines supported
+by this layer can be found by looking in the conf/machine subdirectory of
+this layer.
+
+NOTE: BSPs found in this layer do not constitute officially supported BSPs
+for these machines. If you are in doubt about using Poky/OpenEmbedded with
+your hardware, consult the documentation for your board/device.
+
+Support for additional devices is normally added by creating BSP layers - for
+more information please see the Yocto Board Support Package (BSP) Developer's
+Guide - documentation source is in documentation/bspguide or download the PDF
+from:
+
+ http://yoctoproject.org/documentation
+
+
+
+Hardware Reference Boards
+=========================
+
+The following boards are supported by the meta-yocto-bsp-old layer:
+
+ * Texas Instruments Beagleboard (beagleboard)
+ * Ubiquiti Networks RouterStation Pro (routerstationpro)
+
+For more information see the board's section below. The appropriate MACHINE
+variable value corresponding to the board is given in brackets.
+
+
+
+ Specific Hardware Documentation
+ ===============================
+
+
+Texas Instruments Beagleboard (beagleboard)
+===========================================
+
+The Beagleboard is an ARM Cortex-A8 development board with USB, DVI-D, S-Video,
+2D/3D accelerated graphics, audio, serial, JTAG, and SD/MMC. The xM adds a
+faster CPU, more RAM, an ethernet port, more USB ports, microSD, and removes
+the NAND flash. The beagleboard MACHINE is tested on the following platforms:
+
+ o Beagleboard C4
+ o Beagleboard xM rev A & B
+
+The Beagleboard C4 has NAND, while the xM does not. For the sake of simplicity,
+these instructions assume you have erased the NAND on the C4 so its boot
+behavior matches that of the xM. To do this, issue the following commands from
+the u-boot prompt (note that the unlock may be unecessary depending on the
+version of u-boot installed on your board and only one of the erase commands
+will succeed):
+
+ # nand unlock
+ # nand erase
+ # nand erase.chip
+
+To further tailor these instructions for your board, please refer to the
+documentation at http://www.beagleboard.org.
+
+From a Linux system with access to the image files perform the following steps
+as root, replacing mmcblk0* with the SD card device on your machine (such as sdc
+if used via a usb card reader):
+
+ 1. Partition and format an SD card:
+ # fdisk -lu /dev/mmcblk0
+
+ Disk /dev/mmcblk0: 3951 MB, 3951034368 bytes
+ 255 heads, 63 sectors/track, 480 cylinders, total 7716864 sectors
+ Units = sectors of 1 * 512 = 512 bytes
+
+ Device Boot Start End Blocks Id System
+ /dev/mmcblk0p1 * 63 144584 72261 c Win95 FAT32 (LBA)
+ /dev/mmcblk0p2 144585 465884 160650 83 Linux
+
+ # mkfs.vfat -F 16 -n "boot" /dev/mmcblk0p1
+ # mke2fs -j -L "root" /dev/mmcblk0p2
+
+ The following assumes the SD card partition 1 and 2 are mounted at
+ /media/boot and /media/root respectively. Removing the card and reinserting
+ it will do just that on most modern Linux desktop environments.
+
+ The files referenced below are made available after the build in
+ build/tmp/deploy/images.
+
+ 2. Install the boot loaders
+ # cp MLO-beagleboard /media/boot/MLO
+ # cp u-boot-beagleboard.bin /media/boot/u-boot.bin
+
+ 3. Install the root filesystem
+ # tar x -C /media/root -f core-image-$IMAGE_TYPE-beagleboard.tar.bz2
+ # tar x -C /media/root -f modules-$KERNEL_VERSION-beagleboard.tgz
+
+ 4. Install the kernel uImage
+ # cp uImage-beagleboard.bin /media/boot/uImage
+
+ 5. Prepare a u-boot script to simplify the boot process
+ The Beagleboard can be made to boot at this point from the u-boot command
+ shell. To automate this process, generate a user.scr script as follows.
+
+ Install uboot-mkimage (from uboot-mkimage on Ubuntu or uboot-tools on Fedora).
+
+ Prepare a script config:
+
+ # (cat << EOF
+ setenv bootcmd 'mmc init; fatload mmc 0:1 0x80300000 uImage; bootm 0x80300000'
+ setenv bootargs 'console=tty0 console=ttyO2,115200n8 root=/dev/mmcblk0p2 rootwait rootfstype=ext3 ro'
+ boot
+ EOF
+ ) > serial-boot.cmd
+ # mkimage -A arm -O linux -T script -C none -a 0 -e 0 -n "Core Minimal" -d ./serial-boot.cmd ./boot.scr
+ # cp boot.scr /media/boot
+
+ 6. Unmount the SD partitions, insert the SD card into the Beagleboard, and
+ boot the Beagleboard
+
+Note: As of the 2.6.37 linux-yocto kernel recipe, the Beagleboard uses the
+ OMAP_SERIAL device (ttyO2). If you are using an older kernel, such as the
+ 2.6.34 linux-yocto-stable, be sure to replace ttyO2 with ttyS2 above. You
+ should also override the machine SERIAL_CONSOLE in your local.conf in
+ order to setup the getty on the serial line:
+
+ SERIAL_CONSOLE_beagleboard = "115200 ttyS2"
+
+
+Ubiquiti Networks RouterStation Pro (routerstationpro)
+======================================================
+
+The RouterStation Pro is an Atheros AR7161 MIPS-based board. Geared towards
+networking applications, it has all of the usual features as well as three
+type IIIA mini-PCI slots and an on-board 3-port 10/100/1000 Ethernet switch,
+in addition to the 10/100/1000 Ethernet WAN port which supports
+Power-over-Ethernet.
+
+Setup instructions
+------------------
+
+You will need the following:
+* A serial cable - female to female (or female to male + gender changer)
+ NOTE: cable must be straight through, *not* a null modem cable.
+* USB flash drive or hard disk that is able to be powered from the
+ board's USB port.
+* tftp server installed on your workstation
+
+NOTE: in the following instructions it is assumed that /dev/sdb corresponds
+to the USB disk when it is plugged into your workstation. If this is not the
+case in your setup then please be careful to substitute the correct device
+name in all commands where appropriate.
+
+--- Preparation ---
+
+1) Build an image (e.g. core-image-minimal) using "routerstationpro" as the
+MACHINE
+
+2) Partition the USB drive so that primary partition 1 is type Linux (83).
+Minimum size depends on your root image size - core-image-minimal probably
+only needs 8-16MB, other images will need more.
+
+ # fdisk /dev/sdb
+ Command (m for help): p
+
+ Disk /dev/sdb: 4011 MB, 4011491328 bytes
+ 124 heads, 62 sectors/track, 1019 cylinders, total 7834944 sectors
+ Units = sectors of 1 * 512 = 512 bytes
+ Sector size (logical/physical): 512 bytes / 512 bytes
+ I/O size (minimum/optimal): 512 bytes / 512 bytes
+ Disk identifier: 0x0009e87d
+
+ Device Boot Start End Blocks Id System
+ /dev/sdb1 62 1952751 976345 83 Linux
+
+3) Format partition 1 on the USB as ext3
+
+ # mke2fs -j /dev/sdb1
+
+4) Mount partition 1 and then extract the contents of
+tmp/deploy/images/core-image-XXXX.tar.bz2 into it (preserving permissions).
+
+ # mount /dev/sdb1 /media/sdb1
+ # cd /media/sdb1
+ # tar -xvjpf tmp/deploy/images/core-image-XXXX.tar.bz2
+
+5) Unmount the USB drive and then plug it into the board's USB port
+
+6) Connect the board's serial port to your workstation and then start up
+your favourite serial terminal so that you will be able to interact with
+the serial console. If you don't have a favourite, picocom is suggested:
+
+ $ picocom /dev/ttyUSB0 -b 115200
+
+7) Connect the network into eth0 (the one that is NOT the 3 port switch). If
+you are using power-over-ethernet then the board will power up at this point.
+
+8) Start up the board, watch the serial console. Hit Ctrl+C to abort the
+autostart if the board is configured that way (it is by default). The
+bootloader's fconfig command can be used to disable autostart and configure
+the IP settings if you need to change them (default IP is 192.168.1.20).
+
+9) Make the kernel (tmp/deploy/images/vmlinux-routerstationpro.bin) available
+on the tftp server.
+
+10) If you are going to write the kernel to flash (optional - see "Booting a
+kernel directly" below for the alternative), remove the current kernel and
+rootfs flash partitions. You can list the partitions using the following
+bootloader command:
+
+ RedBoot> fis list
+
+You can delete the existing kernel and rootfs with these commands:
+
+ RedBoot> fis delete kernel
+ RedBoot> fis delete rootfs
+
+--- Booting a kernel directly ---
+
+1) Load the kernel using the following bootloader command:
+
+ RedBoot> load -m tftp -h <ip of tftp server> vmlinux-routerstationpro.bin
+
+You should see a message on it being successfully loaded.
+
+2) Execute the kernel:
+
+ RedBoot> exec -c "console=ttyS0,115200 root=/dev/sda1 rw rootdelay=2 board=UBNT-RSPRO"
+
+Note that specifying the command line with -c is important as linux-yocto does
+not provide a default command line.
+
+--- Writing a kernel to flash ---
+
+1) Go to your tftp server and gzip the kernel you want in flash. It should
+halve the size.
+
+2) Load the kernel using the following bootloader command:
+
+ RedBoot> load -r -b 0x80600000 -m tftp -h <ip of tftp server> vmlinux-routerstationpro.bin.gz
+
+This should output something similar to the following:
+
+ Raw file loaded 0x80600000-0x8087c537, assumed entry at 0x80600000
+
+Calculate the length by subtracting the first number from the second number
+and then rounding the result up to the nearest 0x1000.
+
+3) Using the length calculated above, create a flash partition for the kernel:
+
+ RedBoot> fis create -b 0x80600000 -l 0x240000 kernel
+
+(change 0x240000 to your rounded length -- change "kernel" to whatever
+you want to name your kernel)
+
+--- Booting a kernel from flash ---
+
+To boot the flashed kernel perform the following steps.
+
+1) At the bootloader prompt, load the kernel:
+
+ RedBoot> fis load -d -e kernel
+
+(Change the name "kernel" above if you chose something different earlier)
+
+(-e means 'elf', -d 'decompress')
+
+2) Execute the kernel using the exec command as above.
+
+--- Automating the boot process ---
+
+After writing the kernel to flash and testing the load and exec commands
+manually, you can automate the boot process with a boot script.
+
+1) RedBoot> fconfig
+ (Answer the questions not specified here as they pertain to your environment)
+2) Run script at boot: true
+ Boot script:
+ .. fis load -d -e kernel
+ .. exec
+ Enter script, terminate with empty line
+ >> fis load -d -e kernel
+ >> exec -c "console=ttyS0,115200 root=/dev/sda1 rw rootdelay=2 board=UBNT-RSPRO"
+ >>
+3) Answer the remaining questions and write the changes to flash:
+ Update RedBoot non-volatile configuration - continue (y/n)? y
+ ... Erase from 0xbfff0000-0xc0000000: .
+ ... Program from 0x87ff0000-0x88000000 at 0xbfff0000: .
+4) Power cycle the board.
+
diff --git a/conf/layer.conf b/conf/layer.conf
new file mode 100644
index 0000000..dae8ce9
--- /dev/null
+++ b/conf/layer.conf
@@ -0,0 +1,10 @@
+# We have a conf directory, add to BBPATH
+BBPATH .= ":${LAYERDIR}"
+
+# We have recipes-* directories, add to BBFILES
+BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
+ ${LAYERDIR}/recipes-*/*/*.bbappend"
+
+BBFILE_COLLECTIONS += "yoctobspold"
+BBFILE_PATTERN_yoctobspold = "^${LAYERDIR}/"
+BBFILE_PRIORITY_yoctobspold = "5"
diff --git a/conf/machine/beagleboard.conf b/conf/machine/beagleboard.conf
new file mode 100644
index 0000000..138c43a
--- /dev/null
+++ b/conf/machine/beagleboard.conf
@@ -0,0 +1,43 @@
+#@TYPE: Machine
+#@NAME: Beagleboard machine
+#@DESCRIPTION: Machine configuration for the http://beagleboard.org/ board
+
+PREFERRED_PROVIDER_virtual/xserver ?= "xserver-xorg"
+XSERVER ?= "xserver-xorg \
+ xf86-input-evdev \
+ xf86-input-mouse \
+ xf86-video-omapfb \
+ xf86-input-keyboard"
+
+# Ship all kernel modules by default
+MACHINE_EXTRA_RRECOMMENDS = " kernel-modules"
+
+# Allow for MMC booting (required by the NAND-less Beagleboard XM)
+EXTRA_IMAGEDEPENDS += "u-boot"
+
+# Uncomment the following line to enable the hard floating point abi. Note that
+# this breaks some binary libraries and 3D (neither of which ship with
+# meta-yocto). For maximum compatibility, leave this disabled.
+#DEFAULTTUNE ?= "cortexa8hf-neon"
+include conf/machine/include/tune-cortexa8.inc
+
+IMAGE_FSTYPES += "tar.bz2 jffs2"
+EXTRA_IMAGECMD_jffs2 = "-lnp "
+
+# 2.6.37 and later kernels use OMAP_SERIAL, ttyO2
+# earlier kernels use ttyS2
+SERIAL_CONSOLE = "115200 ttyO2"
+
+PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto"
+PREFERRED_VERSION_linux-yocto ?= "3.10%"
+
+KERNEL_IMAGETYPE = "zImage"
+KERNEL_DEVICETREE = "${S}/arch/arm/boot/dts/omap3-beagle.dts ${S}/arch/arm/boot/dts/omap3-beagle-xm.dts"
+
+SPL_BINARY = "MLO"
+UBOOT_SUFFIX = "img"
+UBOOT_MACHINE = "omap3_beagle_config"
+UBOOT_ENTRYPOINT = "0x80008000"
+UBOOT_LOADADDRESS = "0x80008000"
+
+MACHINE_FEATURES = "usbgadget usbhost vfat alsa"
diff --git a/conf/machine/routerstationpro.conf b/conf/machine/routerstationpro.conf
new file mode 100644
index 0000000..281d3f6
--- /dev/null
+++ b/conf/machine/routerstationpro.conf
@@ -0,0 +1,27 @@
+#@TYPE: Machine
+#@NAME: mti_malta32_be MIPS
+#@DESCRIPTION: mti_malta32_be
+
+require conf/machine/include/tune-mips32.inc
+
+MACHINE_FEATURES = "screen keyboard pci usbhost ext2 ext3 serial"
+
+KERNEL_IMAGETYPE = "vmlinux"
+KERNEL_ALT_IMAGETYPE = "vmlinux.bin"
+KERNEL_IMAGE_STRIP_EXTRA_SECTIONS = ".comment"
+
+PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto"
+PREFERRED_VERSION_linux-yocto ?= "3.10%"
+
+PREFERRED_PROVIDER_virtual/xserver ?= "xserver-xorg"
+XSERVER ?= "xserver-xorg \
+ xf86-input-evdev \
+ xf86-video-fbdev"
+
+SERIAL_CONSOLE = "115200 ttyS0"
+USE_VT ?= "0"
+
+MACHINE_EXTRA_RRECOMMENDS = " kernel-modules"
+
+IMAGE_FSTYPES ?= "jffs2 tar.bz2"
+
diff --git a/recipes-bsp/alsa-state/alsa-state.bbappend b/recipes-bsp/alsa-state/alsa-state.bbappend
new file mode 100644
index 0000000..72d991c
--- /dev/null
+++ b/recipes-bsp/alsa-state/alsa-state.bbappend
@@ -0,0 +1 @@
+FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
diff --git a/recipes-bsp/alsa-state/alsa-state/beagleboard/asound.state b/recipes-bsp/alsa-state/alsa-state/beagleboard/asound.state
new file mode 100644
index 0000000..f924491
--- /dev/null
+++ b/recipes-bsp/alsa-state/alsa-state/beagleboard/asound.state
@@ -0,0 +1,656 @@
+state.omap3beagle {
+ control.1 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 'Option 2 (voice/audio)'
+ comment.item.1 'Option 1 (audio)'
+ iface MIXER
+ name 'Codec Operation Mode'
+ value 'Option 1 (audio)'
+ }
+ control.2 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 2
+ comment.range '0 - 63'
+ comment.dbmin -6300
+ comment.dbmax 0
+ iface MIXER
+ name 'DAC1 Digital Fine Playback Volume'
+ value.0 0
+ value.1 0
+ }
+ control.3 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 2
+ comment.range '0 - 63'
+ comment.dbmin -6300
+ comment.dbmax 0
+ iface MIXER
+ name 'DAC2 Digital Fine Playback Volume'
+ value.0 50
+ value.1 50
+ }
+ control.4 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 2
+ comment.range '0 - 2'
+ comment.dbmin 0
+ comment.dbmax 1200
+ iface MIXER
+ name 'DAC1 Digital Coarse Playback Volume'
+ value.0 0
+ value.1 0
+ }
+ control.5 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 2
+ comment.range '0 - 2'
+ comment.dbmin 0
+ comment.dbmax 1200
+ iface MIXER
+ name 'DAC2 Digital Coarse Playback Volume'
+ value.0 2
+ value.1 2
+ }
+ control.6 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 2
+ comment.range '0 - 18'
+ comment.dbmin -2400
+ comment.dbmax 1200
+ iface MIXER
+ name 'DAC1 Analog Playback Volume'
+ value.0 0
+ value.1 0
+ }
+ control.7 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 2
+ comment.range '0 - 18'
+ comment.dbmin -2400
+ comment.dbmax 1200
+ iface MIXER
+ name 'DAC2 Analog Playback Volume'
+ value.0 15
+ value.1 15
+ }
+ control.8 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 2
+ iface MIXER
+ name 'DAC1 Analog Playback Switch'
+ value.0 false
+ value.1 false
+ }
+ control.9 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 2
+ iface MIXER
+ name 'DAC2 Analog Playback Switch'
+ value.0 true
+ value.1 true
+ }
+ control.10 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 49'
+ comment.dbmin -3700
+ comment.dbmax 1200
+ iface MIXER
+ name 'DAC Voice Digital Downlink Volume'
+ value 0
+ }
+ control.11 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 18'
+ comment.dbmin -2400
+ comment.dbmax 1200
+ iface MIXER
+ name 'DAC Voice Analog Downlink Volume'
+ value 18
+ }
+ control.12 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'DAC Voice Analog Downlink Switch'
+ value false
+ }
+ control.13 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 2
+ comment.range '0 - 3'
+ comment.dbmin -1200
+ comment.dbmax 600
+ iface MIXER
+ name 'PreDriv Playback Volume'
+ value.0 0
+ value.1 0
+ }
+ control.14 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 2
+ comment.range '0 - 3'
+ comment.dbmin -1200
+ comment.dbmax 600
+ iface MIXER
+ name 'Headset Playback Volume'
+ value.0 3
+ value.1 3
+ }
+ control.15 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 2
+ comment.range '0 - 3'
+ comment.dbmin -1200
+ comment.dbmax 600
+ iface MIXER
+ name 'Carkit Playback Volume'
+ value.0 0
+ value.1 0
+ }
+ control.16 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 3'
+ comment.dbmin -600
+ comment.dbmax 1200
+ iface MIXER
+ name 'Earpiece Playback Volume'
+ value 0
+ }
+ control.17 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 2
+ comment.range '0 - 31'
+ comment.dbmin 0
+ comment.dbmax 3100
+ iface MIXER
+ name 'TX1 Digital Capture Volume'
+ value.0 12
+ value.1 12
+ }
+ control.18 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 2
+ comment.range '0 - 31'
+ comment.dbmin 0
+ comment.dbmax 3100
+ iface MIXER
+ name 'TX2 Digital Capture Volume'
+ value.0 0
+ value.1 0
+ }
+ control.19 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 2
+ comment.range '0 - 5'
+ comment.dbmin 0
+ comment.dbmax 3000
+ iface MIXER
+ name 'Analog Capture Volume'
+ value.0 0
+ value.1 0
+ }
+ control.20 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 'Voice high priority'
+ comment.item.1 'HiFi high priority'
+ iface MIXER
+ name 'AVADC Clock Priority'
+ value 'Voice high priority'
+ }
+ control.21 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 '27/20/14 ms'
+ comment.item.1 '55/40/27 ms'
+ comment.item.2 '109/81/55 ms'
+ comment.item.3 '218/161/109 ms'
+ comment.item.4 '437/323/218 ms'
+ comment.item.5 '874/645/437 ms'
+ comment.item.6 '1748/1291/874 ms'
+ comment.item.7 '3495/2581/1748 ms'
+ iface MIXER
+ name 'HS ramp delay'
+ value '27/20/14 ms'
+ }
+ control.22 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 'Vibra H-bridge direction'
+ comment.item.1 'Audio data MSB'
+ iface MIXER
+ name 'Vibra H-bridge mode'
+ value 'Vibra H-bridge direction'
+ }
+ control.23 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 'Positive polarity'
+ comment.item.1 'Negative polarity'
+ iface MIXER
+ name 'Vibra H-bridge direction'
+ value 'Positive polarity'
+ }
+ control.24 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Analog Right Sub Mic Capture Switch'
+ value false
+ }
+ control.25 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Analog Right AUXR Capture Switch'
+ value true
+ }
+ control.26 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Analog Left Main Mic Capture Switch'
+ value false
+ }
+ control.27 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Analog Left Headset Mic Capture Switch'
+ value false
+ }
+ control.28 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Analog Left AUXL Capture Switch'
+ value true
+ }
+ control.29 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Analog Left Carkit Mic Capture Switch'
+ value false
+ }
+ control.30 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 Analog
+ comment.item.1 Digimic1
+ iface MIXER
+ name 'TX2 Capture Route'
+ value Analog
+ }
+ control.31 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 Analog
+ comment.item.1 Digimic0
+ iface MIXER
+ name 'TX1 Capture Route'
+ value Analog
+ }
+ control.32 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 'Local vibrator'
+ comment.item.1 Audio
+ iface MIXER
+ name 'Vibra Route'
+ value 'Local vibrator'
+ }
+ control.33 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 AudioL1
+ comment.item.1 AudioR1
+ comment.item.2 AudioL2
+ comment.item.3 AudioR2
+ iface MIXER
+ name 'Vibra Mux'
+ value AudioL1
+ }
+ control.34 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'HandsfreeR Switch'
+ value false
+ }
+ control.35 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 Voice
+ comment.item.1 AudioR1
+ comment.item.2 AudioR2
+ comment.item.3 AudioL2
+ iface MIXER
+ name 'HandsfreeR Mux'
+ value Voice
+ }
+ control.36 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'HandsfreeL Switch'
+ value false
+ }
+ control.37 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 Voice
+ comment.item.1 AudioL1
+ comment.item.2 AudioL2
+ comment.item.3 AudioR2
+ iface MIXER
+ name 'HandsfreeL Mux'
+ value Voice
+ }
+ control.38 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'CarkitR Mixer Voice'
+ value false
+ }
+ control.39 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'CarkitR Mixer AudioR1'
+ value false
+ }
+ control.40 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'CarkitR Mixer AudioR2'
+ value false
+ }
+ control.41 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'CarkitL Mixer Voice'
+ value false
+ }
+ control.42 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'CarkitL Mixer AudioL1'
+ value false
+ }
+ control.43 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'CarkitL Mixer AudioL2'
+ value false
+ }
+ control.44 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'HeadsetR Mixer Voice'
+ value false
+ }
+ control.45 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'HeadsetR Mixer AudioR1'
+ value false
+ }
+ control.46 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'HeadsetR Mixer AudioR2'
+ value true
+ }
+ control.47 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'HeadsetL Mixer Voice'
+ value false
+ }
+ control.48 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'HeadsetL Mixer AudioL1'
+ value false
+ }
+ control.49 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'HeadsetL Mixer AudioL2'
+ value true
+ }
+ control.50 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'PredriveR Mixer Voice'
+ value false
+ }
+ control.51 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'PredriveR Mixer AudioR1'
+ value false
+ }
+ control.52 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'PredriveR Mixer AudioR2'
+ value false
+ }
+ control.53 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'PredriveR Mixer AudioL2'
+ value false
+ }
+ control.54 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'PredriveL Mixer Voice'
+ value false
+ }
+ control.55 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'PredriveL Mixer AudioL1'
+ value false
+ }
+ control.56 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'PredriveL Mixer AudioL2'
+ value false
+ }
+ control.57 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'PredriveL Mixer AudioR2'
+ value false
+ }
+ control.58 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Earpiece Mixer Voice'
+ value false
+ }
+ control.59 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Earpiece Mixer AudioL1'
+ value false
+ }
+ control.60 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Earpiece Mixer AudioL2'
+ value false
+ }
+ control.61 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Earpiece Mixer AudioR1'
+ value false
+ }
+ control.62 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 41'
+ comment.dbmin -5100
+ comment.dbmax -1000
+ iface MIXER
+ name 'Voice Digital Loopback Volume'
+ value 0
+ }
+ control.63 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 7'
+ comment.dbmin -2400
+ comment.dbmax 0
+ iface MIXER
+ name 'Right Digital Loopback Volume'
+ value 0
+ }
+ control.64 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 7'
+ comment.dbmin -2400
+ comment.dbmax 0
+ iface MIXER
+ name 'Left Digital Loopback Volume'
+ value 0
+ }
+ control.65 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Voice Analog Loopback Switch'
+ value false
+ }
+ control.66 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Left2 Analog Loopback Switch'
+ value false
+ }
+ control.67 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Right2 Analog Loopback Switch'
+ value false
+ }
+ control.68 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Left1 Analog Loopback Switch'
+ value false
+ }
+ control.69 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Right1 Analog Loopback Switch'
+ value false
+ }
+}
diff --git a/recipes-bsp/formfactor/formfactor/beagleboard/machconfig b/recipes-bsp/formfactor/formfactor/beagleboard/machconfig
new file mode 100755
index 0000000..a46859f
--- /dev/null
+++ b/recipes-bsp/formfactor/formfactor/beagleboard/machconfig
@@ -0,0 +1,3 @@
+# Assume a USB mouse and touchscreen are connected
+HAVE_TOUCHSCREEN=0
+HAVE_KEYBOARD=1
diff --git a/recipes-bsp/formfactor/formfactor_0.0.bbappend b/recipes-bsp/formfactor/formfactor_0.0.bbappend
new file mode 100644
index 0000000..72d991c
--- /dev/null
+++ b/recipes-bsp/formfactor/formfactor_0.0.bbappend
@@ -0,0 +1 @@
+FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
diff --git a/recipes-core/init-ifupdown/init-ifupdown-1.0/beagleboard/interfaces b/recipes-core/init-ifupdown/init-ifupdown-1.0/beagleboard/interfaces
new file mode 100644
index 0000000..b6935c1
--- /dev/null
+++ b/recipes-core/init-ifupdown/init-ifupdown-1.0/beagleboard/interfaces
@@ -0,0 +1,27 @@
+# /etc/network/interfaces -- configuration file for ifup(8), ifdown(8)
+
+# The loopback interface
+auto lo
+iface lo inet loopback
+
+# Wireless interfaces
+iface wlan0 inet dhcp
+ wireless_mode managed
+ wireless_essid any
+ wpa-driver wext
+ wpa-conf /etc/wpa_supplicant.conf
+
+iface atml0 inet dhcp
+
+# Wired or wireless interfaces
+auto eth0
+iface eth0 inet dhcp
+iface eth1 inet dhcp
+
+# Ethernet/RNDIS gadget (g_ether) or LAN9514 on BeagleBoard xM
+auto usb0
+iface usb0 inet dhcp
+
+# Bluetooth networking
+iface bnep0 inet dhcp
+
diff --git a/recipes-core/init-ifupdown/init-ifupdown_1.0.bbappend b/recipes-core/init-ifupdown/init-ifupdown_1.0.bbappend
new file mode 100644
index 0000000..5622303
--- /dev/null
+++ b/recipes-core/init-ifupdown/init-ifupdown_1.0.bbappend
@@ -0,0 +1 @@
+FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}-${PV}:"
diff --git a/recipes-graphics/xorg-xserver/xserver-xf86-config/beagleboard/xorg.conf b/recipes-graphics/xorg-xserver/xserver-xf86-config/beagleboard/xorg.conf
new file mode 100644
index 0000000..264f3c9
--- /dev/null
+++ b/recipes-graphics/xorg-xserver/xserver-xf86-config/beagleboard/xorg.conf
@@ -0,0 +1,33 @@
+Section "Module"
+ Load "extmod"
+ Load "dbe"
+ Load "glx"
+ Load "freetype"
+ Load "type1"
+ Load "record"
+ Load "dri"
+EndSection
+
+Section "Monitor"
+ Identifier "Builtin Default Monitor"
+EndSection
+
+Section "Device"
+ Identifier "Builtin Default fbdev Device 0"
+ Driver "omapfb"
+EndSection
+
+Section "Screen"
+ Identifier "Builtin Default fbdev Screen 0"
+ Device "Builtin Default fbdev Device 0"
+ Monitor "Builtin Default Monitor"
+EndSection
+
+Section "ServerLayout"
+ Identifier "Builtin Default Layout"
+ Screen "Builtin Default fbdev Screen 0"
+EndSection
+
+Section "ServerFlags"
+ Option "DontZap" "0"
+EndSection
diff --git a/recipes-graphics/xorg-xserver/xserver-xf86-config_0.1.bbappend b/recipes-graphics/xorg-xserver/xserver-xf86-config_0.1.bbappend
new file mode 100644
index 0000000..72d991c
--- /dev/null
+++ b/recipes-graphics/xorg-xserver/xserver-xf86-config_0.1.bbappend
@@ -0,0 +1 @@
+FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
diff --git a/recipes-kernel/linux/linux-yocto_3.10.bbappend b/recipes-kernel/linux/linux-yocto_3.10.bbappend
new file mode 100644
index 0000000..2f4f780
--- /dev/null
+++ b/recipes-kernel/linux/linux-yocto_3.10.bbappend
@@ -0,0 +1,11 @@
+KBRANCH_routerstationpro = "standard/routerstationpro"
+KBRANCH_beagleboard = "standard/beagleboard"
+
+SRCREV_machine_routerstationpro ?= "628fb65e665a4179b6df049563f47f521f9dfb4e"
+SRCREV_machine_beagleboard ?= "e231c6220163d3c2a41cb380e1f759e8b222303c"
+
+COMPATIBLE_MACHINE_routerstationpro = "routerstationpro"
+COMPATIBLE_MACHINE_beagleboard = "beagleboard"
+
+# routerstationpro has a flash size of 16mb
+KERNEL_IMAGE_MAXSIZE_routerstationpro = "16777216"
diff --git a/recipes-kernel/linux/linux-yocto_3.4.bbappend b/recipes-kernel/linux/linux-yocto_3.4.bbappend
new file mode 100644
index 0000000..a7af973
--- /dev/null
+++ b/recipes-kernel/linux/linux-yocto_3.4.bbappend
@@ -0,0 +1,11 @@
+KBRANCH_routerstationpro = "standard/routerstationpro"
+KBRANCH_beagleboard = "standard/beagleboard"
+
+SRCREV_machine_routerstationpro ?= "62b86dc8ac794cd97c61a99418d7429e6a83ec1a"
+SRCREV_machine_beagleboard ?= "cdd7a546922ca1c46c94adeec3b9c90dc9aaad2d"
+
+COMPATIBLE_MACHINE_routerstationpro = "routerstationpro"
+COMPATIBLE_MACHINE_beagleboard = "beagleboard"
+
+# routerstationpro has a flash size of 16mb
+KERNEL_IMAGE_MAXSIZE_append_routerstationpro = "16777216"