aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDarren Hart <dvhart@linux.intel.com>2013-05-18 16:11:03 -0700
committerDarren Hart <dvhart@linux.intel.com>2013-05-20 21:18:22 -0700
commit1ca092e03fc7b87f5e1343ca829ed2a7218d8d4a (patch)
treee2873891614e5fd181e7e0ce04ac0efbd233443d
downloadmeta-minnow-1ca092e03fc7b87f5e1343ca829ed2a7218d8d4a.tar.gz
meta-minnow-1ca092e03fc7b87f5e1343ca829ed2a7218d8d4a.tar.bz2
meta-minnow-1ca092e03fc7b87f5e1343ca829ed2a7218d8d4a.zip
MinnowBoard BSP Layer0.9-rc2-danny-8.0.1
The MinnowBoard (minnowboard.org) is an Intel Atom E640T processor coupled with an Intel EG20T Platform Controller Hub (Tunnel Creek + Topcliff = Queens Bay). The E6xx CPU embeds on-chip graphics supported by the Intel Embedded Media and Graphics Driver (EMGD). The board targets the small and low-cost embedded market for the developer and maker community. Signed-off-by: Darren Hart <dvhart@linux.intel.com>
-rw-r--r--.gitignore3
-rw-r--r--COPYING.MIT17
-rw-r--r--README327
-rw-r--r--README.sources18
-rw-r--r--binary/.gitignore0
-rw-r--r--conf/layer.conf15
-rw-r--r--conf/machine/minnow.conf51
-rw-r--r--recipes-bsp/alsa-state/alsa-state.bbappend4
-rw-r--r--recipes-bsp/alsa-state/alsa-state/minnow/asound.state107
-rw-r--r--recipes-bsp/formfactor/formfactor/minnow/machconfig3
-rw-r--r--recipes-bsp/formfactor/formfactor_0.0.bbappend3
-rw-r--r--recipes-core/dmidecode/dmidecode_2.11.bb26
-rw-r--r--recipes-graphics/xorg-xserver/xserver-xf86-config/minnow/xorg.conf66
-rw-r--r--recipes-graphics/xorg-xserver/xserver-xf86-config_0.1.bbappend5
-rw-r--r--recipes-kernel/kern-tools/kern-tools-native_git.bbappend5
-rw-r--r--recipes-kernel/linux/linux-yocto/media.cfg518
-rw-r--r--recipes-kernel/linux/linux-yocto_3.8.bb32
-rw-r--r--recipes-kernel/perf/perf_3.4.bbappend16
-rwxr-xr-xscripts/mkefidisk.sh276
19 files changed, 1492 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..860eb37
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,3 @@
+*~
+pull-*/
+
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..3cc5fa4
--- /dev/null
+++ b/README
@@ -0,0 +1,327 @@
+This README file contains information on building the meta-minnow BSP
+layer and booting the images contained in the /binary directory. Please
+see the corresponding sections below for details.
+
+For more information on the Minnow board see:
+http://www.minnowboard.org
+
+The MinnowBoard is an Intel Atom E640T processor coupled with an Intel
+EG20T Platform Controller Hub (Tunnel Creek + Topcliff = Queens Bay).
+The E6xx CPU embeds on-chip graphics supported by the Intel Embedded
+Media and Graphics Driver (EMGD). The board targets the small and
+low-cost embedded market for the developer and maker community. Details
+on the Queens Bay platform can be found here:
+
+ http://www.intel.com/content/www/us/en/intelligent-systems/queens-bay/embedded-intel-atom-e6xx-series-with-intel-platform-controller-hub-eg20t.html
+
+Information on all Intel embedded platforms can be found here:
+
+ http://www.intel.com/p/en_US/embedded/hwsw/hardware
+
+
+Compliance
+==========
+
+This BSP is compliant with the Yocto Project as per the requirements
+listed here:
+
+ http://www.yoctoproject.org/yocto-project-compatible-registration
+
+
+Dependencies
+============
+
+This layer depends on:
+
+ URI: git://git.openembedded.org/bitbake
+ branch: master
+
+ URI: git://git.openembedded.org/openembedded-core
+ layers: meta
+ branch: danny
+
+ URI: git://git.yoctoproject.org/meta-intel
+ layers: meta-intel
+ branch: danny
+
+
+Patches
+=======
+
+The MinnowBoard BSP is dependent on the meta-intel BSP, but maintained
+separately in order to allot it the freedom necessary to meet the needs
+of the growing community. Because of its close ties to the meta-intel
+layer, development of the MinnowBoard BSP will be done alongside
+meta-intel.
+
+Please submit any patches against this BSP to the meta-intel mailing list:
+
+ https://lists.yoctoproject.org/listinfo/meta-intel
+
+Please include a "minnowboard:" prefix in your email subject and be sure to Cc
+the maintainer.
+
+ Maintainer: Darren Hart <dvhart@linux.intel.com>
+
+
+Table of Contents
+=================
+
+ I. Building the meta-minnow BSP layer
+ II. Booting the images in /binary
+III. EFI Boot Targets
+ IV. Device Notes
+ a. Serial Port
+ b. HDMI
+ c. GPIO
+ d. Expansion Connector
+ IV. Issue Tracking
+ V. Additional Resources
+
+
+I. Building the meta-minnow BSP layer
+=====================================
+
+To build an image with BSP support for a given release, you need to
+download the corresponding BSP tarball from the 'Board Support Package
+(BSP) Downloads' page of the Yocto Project website. Alternatively, you
+can work from the git repositories, ensuring you are using the same
+branch, e.g. danny, for each.
+
+Then add the meta-intel and meta-minnow layers to your bblayers.conf:
+
+BBLAYERS += "/path/to/meta-intel"
+BBLAYERS += "/path/to/meta-minnow"
+
+Update your local.conf to specify the MACHINE as "minnow" and allow for
+building the emgd-driver-bin package by white-listing the EMGD license:
+
+ MACHINE ?= "minnow"
+ LICENSE_FLAGS_WHITELIST = "license_emgd-driver-bin"
+
+The 'minnow' machine will include support for hardware video
+acceleration via gstreamer if and only if the "commercial" string is
+added to the the LICENSE_FLAGS_WHITELIST variable in your local.conf:
+
+ LICENSE_FLAGS_WHITELIST = "license_emgd-driver-bin commercial"
+
+This is required to prevent the resulting image from including anything
+that might violate the license terms of the packages used to implement
+the video acceleration feature, such as gst-ffmpeg and ffmpeg. As
+always, please consult the licenses included in the specific packages
+for details if you use packages that require particular LICENSE_FLAGS.
+
+Due to a bug in ISO generation when building for EFI-only machines, it
+is necessary to include the following in your local.conf:
+
+ NOISO = "1"
+
+You can now configure your build directory and build an image:
+
+ $ source oe-init-build-env
+ $ bitbake core-image-sato
+
+At the end of a successful build, you will have a live image that you
+can boot from a USB flash drive (see instructions on how to do that
+below, in the section 'Booting the images from /binary').
+
+
+II. Booting the images in /binary
+=================================
+
+This BSP contains (or builds) live images which must be converted to a
+partitioned image format in order to boot them on the MinnowBoard.
+
+You can deploy the hddimg image to a USB, SD, or SATA device. You will
+need to know the device name on your host as well as the device name on
+the target. Be careful with this step as using the wrong host device can
+result in overwriting data on your host machine.
+
+Under Linux, USB and SATA devices typically appears as /dev/sdb,
+/dev/sdc, etc., while SD devices may appear as one of those or as
+/dev/mmcblk0, /dev/mmcblk1, etc. Watching your system messages as you
+connect the device will tell you exactly which device name is assigned
+to the device. On the MinnowBoard, assuming only one storage device is
+attached at boot, a USB or SATA device will be /dev/sda and an SD device
+will be /dev/mmcblk0.
+
+After inserting the boot media into your host machine and determining
+your host and target device, create the image using the mkefidisk.sh
+script, provided with the BSP under scripts/. Note that root privileges
+are required. For example, using an SD card which appears as /dev/sdc on
+the host:
+
+$ sudo mkefidisk.sh /dev/sdc core-image-sato-minnow.hddimg /dev/mmcblk0
+
+Follow the prompts on the screen to confirm the action.
+
+Insert the device into the MinnowBoard and power on. This should result
+in a system booted to the Sato graphical desktop. If your system drops
+into an EFI shell instead of booting the image, see the section 'EFI
+Boot Targets'.
+
+The root password is empty on the Poky reference distribution images.
+
+
+III. EFI Boot Targets
+=====================
+
+The MinnowBoard EFI firmware supports FastBoot which optimizes the
+device initialization for a specific boot path. Out of the box, the
+board will boot from the default bootloader on the SD card. If you
+modify this card or want to boot from a different device, you will need
+to reestablish the automatic boot path.
+
+Ensure the devices, and only the devices, you intend to boot from are
+installed. Select the Shell from the EFI boot menu, or allow it to
+timeout and start the shell automatically. From within the shell,
+initialize all the devices with:
+
+> connect -r
+> map -r
+
+This will result in a listing of file-systems and block devices similar
+to the following:
+
+Mapping table
+ FS0: Alias(s):HD21a0b:;BLK1:
+ PciRoot(0x0)/Pci(0x17,0x0)/Pci(0x0,0x0)/Pci(0x8,0x3)/USB(0x0,0x0)/HD(1,MBR,0x00056299,0x800,0x9000)
+ BLK0: Alias(s):
+ PciRoot(0x0)/Pci(0x17,0x0)/Pci(0x0,0x0)/Pci(0x8,0x3)/USB(0x0,0x0)
+ BLK2: Alias(s):
+ PciRoot(0x0)/Pci(0x17,0x0)/Pci(0x0,0x0)/Pci(0x8,0x3)/USB(0x0,0x0)/HD(2,MBR,0x00056299,0x9800,0x70D000)
+ BLK3: Alias(s):
+ PciRoot(0x0)/Pci(0x17,0x0)/Pci(0x0,0x0)/Pci(0x8,0x3)/USB(0x0,0x0)/HD(3,MBR,0x00056299,0x716800,0x5F000)
+
+Note that FS0: is a file-system on a USB device. To automatically boot
+the bootia32.efi bootloader on this device, enter:
+
+> bcfg boot add 0 fs0:\efi\boot\bootia32.efi "Default Boot"
+> reset
+
+From now on, so long as that device remains connected and at that path,
+the firmware will boot it directly, skipping the boot menu and the EFI
+shell.
+
+
+IV. Device Notes
+================================
+a. Serial Port
+--------------
+UART0 from the EG20T is connected to an FTDI UART-to-USB device which
+appears as a serial port on the host computer.
+
+When you power on your MinnowBoard, your Linux host will discover a
+serial device and name it /dev/ttyUSB0 (or similar). You can communicate
+with this device at 115200 8N1 using your preferred terminal emulator.
+For example:
+
+ $ screen /dev/ttyUSB0 115200
+
+b. Video
+-------
+The on-board HDMI port is technically a DVI signal driven by the sDVO
+port. It supports resolutions up to 1920x1080. The LVDS lines are
+available on the expansion connector.
+
+c. GPIO
+-------
+The MinnowBoard provides a variety of GPIO, some with a dedicated
+purpose. To get a listing, be sure the minnowboard-gpio and
+minnowboard-keys drivers are loaded (they are by default). The purpose
+of each line is available via debugfs:
+
+$ mkdir /debug
+$ mount none -t debugfs /debug
+$ cat /debug/gpio
+GPIOs 0-4, platform/sch_gpio.33158, sch_gpio_core:
+ gpio-0 (minnow_btn0 ) in hi
+ gpio-1 (minnow_btn1 ) in hi
+ gpio-2 (minnow_btn2 ) in hi
+ gpio-3 (minnow_btn3 ) in hi
+
+GPIOs 5-13, platform/sch_gpio.33158, sch_gpio_resume:
+ gpio-5 (minnow_gpio_aux0 ) in hi
+ gpio-6 (minnow_gpio_aux1 ) in lo
+ gpio-7 (minnow_gpio_aux2 ) in lo
+ gpio-8 (minnow_gpio_aux3 ) in hi
+ gpio-9 (minnow_gpio_aux4 ) in hi
+ gpio-10 (minnow_led0 ) out lo
+ gpio-11 (minnow_led1 ) out lo
+ gpio-13 (minnow_phy_reset ) out hi
+
+GPIOs 244-255, pci/0000:02:00.2, 0000:02:00.2:
+ gpio-244 (minnow_gpio_pch0 ) in hi
+ gpio-245 (minnow_gpio_pch1 ) in hi
+ gpio-246 (minnow_gpio_pch2 ) in hi
+ gpio-247 (minnow_gpio_pch3 ) in hi
+ gpio-248 (minnow_gpio_pch4 ) in hi
+ gpio-249 (minnow_gpio_pch5 ) in hi
+ gpio-250 (minnow_gpio_pch6 ) in hi
+ gpio-251 (minnow_gpio_pch7 ) in hi
+ gpio-252 (minnow_gpio_hwid0 ) in hi
+ gpio-253 (minnow_gpio_hwid1 ) in lo
+ gpio-254 (minnow_gpio_hwid2 ) in lo
+ gpio-255 (minnow_lvds_detect ) in lo
+
+The minnowboard-keys driver maps GPIO 0-3 to the arrow keys via the
+gpio-keys-polled driver. These can be used as a four button keyboard.
+
+The auxiliary GPIO lines (5-9) are only available if the LVDS_DETECT
+line is low. For the time being, these lines should be considered LVDS
+lines only and not used for another purpose. Future Linux kernel driver
+updates should make these lines available as GPIO if LVDS is not in use.
+
+WARNING: Forcing lines 5-9 to inputs and driving them externally may
+ result in physical damage to the board.
+
+GPIO 10 and 11 are mapped to the two user LEDs on the MinnowBoard. By
+default LED0 uses the heartbeat LED trigger (it should blink by default)
+and LED1 uses the mmc0 trigger and should blink indicating SD card
+activity. These can be changed using the /sys/class/led interface.
+
+GPIO 13 is dedicated to a physical reset of the Ethernet PHY and is used
+by the minnowboard platform driver.
+
+GPIO 244-251 are exported over the expansion connector and can be
+configured as inputs or outputs. Experimenters can use the simple
+/sys/class/gpio interface. To write your own Linux kernel driver using
+these GPIOs, remove the minnowboard-gpio driver and the lines will be
+available to request by your new driver. See the Linux kernel GPIO
+documentation for more information on the GPIO subsystem.
+
+GPIO 252-254 are a three-bit integer representing the hardware ID of the
+board. This is displayed at boot from the minnowboard driver:
+
+ MinnowBoard: Hardware ID: 1
+
+Finally, GPIO 255 indicates if LVDS is being used on a daughter card
+(lure). The line is available on the expansion connector. Lures
+providing LVDS should assert this line to ensure GPIO 5-9 are reserved
+for LVDS control signals. When asserted, GPIO 5-9 are not exported by
+ the minnowboard-gpio driver.
+
+d. Expansion Connector
+----------------------
+For details and specifications of the expansion connector and the
+creation of daughter cards (lures), please see the elinux wiki:
+
+http://www.elinux.org/Minnowboard:Expansion_Interfaces
+
+IV. Issue Tracking
+==================
+The MinnowBoard BSP uses the Yocto Project Bugzilla for issue tracking. Please
+search the Bugzilla before opening new bugs. The following query lists all open
+bugs:
+https://bugzilla.yoctoproject.org/buglist.cgi?list_id=38325&query_format=advanced&bug_status=NEW&bug_status=ACCEPTED&bug_status=IN%20PROGRESS%20DESIGN&bug_status=IN%20PROGRESS%20DESIGN%20COMPLETE&bug_status=IN%20PROGRESS%20IMPLEMENTATION&bug_status=IN%20PROGRESS%20REVIEW&bug_status=REOPENED&bug_status=NEEDINFO&bug_status=WaitForUpstream&component=bsps-meta-minnow
+
+To file a new bug, use this link:
+https://bugzilla.yoctoproject.org/enter_bug.cgi?product=BSPs&component=bsps-meta-minnow
+
+V. Additional Resources
+=======================
+In addition to this README, please see the following URLs for details
+and additional documentation:
+
+http://www.minnowboard.org/
+http://www.elinux.org/MinnowBoard
diff --git a/README.sources b/README.sources
new file mode 100644
index 0000000..159768a
--- /dev/null
+++ b/README.sources
@@ -0,0 +1,18 @@
+The sources for the packages comprising the images shipped with this
+BSP can be found at the following location:
+
+http://downloads.yoctoproject.org/mirror/sources/
+
+The metadata used to generate the images shipped with this BSP, in
+addition to the code contained in this BSP, can be found at the
+following location (or a later minor version of the same):
+
+http://downloads.yoctoproject.org/releases/yocto/yocto-1.3/poky-danny-8.0.tar.bz2
+
+The metadata used to generate the images shipped with this BSP, in
+addition to the code contained in this BSP, can also be found at the
+following locations:
+
+git://git.yoctoproject.org/poky
+git://git.yoctoproject.org/meta-intel
+git://git.yoctoproject.org/meta-minnow
diff --git a/binary/.gitignore b/binary/.gitignore
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/binary/.gitignore
diff --git a/conf/layer.conf b/conf/layer.conf
new file mode 100644
index 0000000..bfe1a25
--- /dev/null
+++ b/conf/layer.conf
@@ -0,0 +1,15 @@
+# We have a conf and classes directory, add to BBPATH
+BBPATH .= ":${LAYERDIR}"
+
+# We have a recipes directory, add to BBFILES
+BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
+ ${LAYERDIR}/recipes-*/*/*.bbappend"
+
+BBFILE_COLLECTIONS += "minnow"
+BBFILE_PATTERN_minnow := "^${LAYERDIR}/"
+BBFILE_PRIORITY_minnow = "6"
+
+LAYERDEPENDS_minnow = "intel"
+
+# Additional license directories.
+LICENSE_PATH += "${LAYERDIR}/custom-licenses"
diff --git a/conf/machine/minnow.conf b/conf/machine/minnow.conf
new file mode 100644
index 0000000..0cdc21a
--- /dev/null
+++ b/conf/machine/minnow.conf
@@ -0,0 +1,51 @@
+#@TYPE: Machine
+#@NAME: minnow
+
+#@WEBTITLE: Intel Atom E640T Processor with Intel EG20T Controller Hub Development Kit (Queens Bay) with Proprietary IEMGD Accelerated Graphics.
+
+#@DESCRIPTION: Machine configuration for the Minnow Board systems
+
+require conf/machine/include/tune-atom.inc
+require conf/machine/include/ia32-base.inc
+require conf/machine/include/meta-intel.inc
+
+MACHINE_HWCODECS ?= "va-intel"
+XSERVERCODECS ?= "emgd-driver-video emgd-gst-plugins-va \
+ emgd-gst-plugins-mixvideo gst-va-intel"
+
+MACHINE_FEATURES += "efi va-impl-mixvideo"
+
+PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto"
+PREFERRED_VERSION_linux-yocto = "3.8%"
+
+XSERVER ?= "${XSERVER_IA32_BASE} \
+ ${XSERVER_IA32_EXT} \
+ ${XSERVER_IA32_EMGD} \
+ "
+
+PREFERRED_VERSION_xserver-xorg ?= "1.9.3"
+PREFERRED_VERSION_mesa ?= "9.0.2"
+PREFERRED_VERSION_xf86-input-evdev ?= "2.6.0"
+PREFERRED_VERSION_emgd-driver-bin ?= "1.16"
+PREFERRED_VERSION_libva ?= "1.0.16"
+
+APPEND += "console=ttyPCH0,115200 console=tty0 vmalloc=256MB \
+ snd-hda-intel.enable_msi=0 \
+ "
+SERIAL_CONSOLE = "115200 ttyPCH0"
+
+# Linux kernel drivers for onboard hardware
+MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += " \
+kernel-module-snd-hda-intel \
+kernel-module-lpc-sch \
+kernel-module-gpio-sch \
+kernel-module-pch-gbe \
+kernel-module-pch-udc \
+kernel-module-gpio-pch \
+kernel-module-leds-gpio \
+kernel-module-input-polldev \
+kernel-module-gpio-keys-polled \
+kernel-module-minnowboard \
+kernel-module-minnowboard-gpio \
+kernel-module-minnowboard-keys \
+"
diff --git a/recipes-bsp/alsa-state/alsa-state.bbappend b/recipes-bsp/alsa-state/alsa-state.bbappend
new file mode 100644
index 0000000..48f32f5
--- /dev/null
+++ b/recipes-bsp/alsa-state/alsa-state.bbappend
@@ -0,0 +1,4 @@
+# Start with a known good alsa state for the Minnow board
+
+FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
+PRINC := "${@int(PRINC) + 1}"
diff --git a/recipes-bsp/alsa-state/alsa-state/minnow/asound.state b/recipes-bsp/alsa-state/alsa-state/minnow/asound.state
new file mode 100644
index 0000000..9dfb0b1
--- /dev/null
+++ b/recipes-bsp/alsa-state/alsa-state/minnow/asound.state
@@ -0,0 +1,107 @@
+state.MID {
+ control.1 {
+ iface MIXER
+ name 'Capture Switch'
+ value.0 true
+ value.1 true
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 2
+ }
+ }
+ control.2 {
+ iface MIXER
+ name 'Capture Volume'
+ value.0 25
+ value.1 25
+ comment {
+ access 'read write'
+ type INTEGER
+ count 2
+ range '0 - 31'
+ dbmin -1200
+ dbmax 3450
+ dbvalue.0 2550
+ dbvalue.1 2550
+ }
+ }
+ control.3 {
+ iface MIXER
+ name 'Front Playback Switch'
+ value.0 true
+ value.1 true
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 2
+ }
+ }
+ control.4 {
+ iface MIXER
+ name 'Front Playback Volume'
+ value.0 27
+ value.1 27
+ comment {
+ access 'read write'
+ type INTEGER
+ count 2
+ range '0 - 30'
+ dbmin -4500
+ dbmax 0
+ dbvalue.0 -450
+ dbvalue.1 -450
+ }
+ }
+ control.5 {
+ iface MIXER
+ name 'Headphone Playback Switch'
+ value.0 true
+ value.1 true
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 2
+ }
+ }
+ control.6 {
+ iface MIXER
+ name 'Headphone Playback Volume'
+ value.0 0
+ value.1 0
+ comment {
+ access 'read write'
+ type INTEGER
+ count 2
+ range '0 - 3'
+ dbmin 0
+ dbmax 3000
+ dbvalue.0 0
+ dbvalue.1 0
+ }
+ }
+ control.7 {
+ iface PCM
+ name 'Playback Channel Map'
+ value.0 0
+ value.1 0
+ comment {
+ access read
+ type INTEGER
+ count 2
+ range '0 - 36'
+ }
+ }
+ control.8 {
+ iface PCM
+ name 'Capture Channel Map'
+ value.0 0
+ value.1 0
+ comment {
+ access read
+ type INTEGER
+ count 2
+ range '0 - 36'
+ }
+ }
+}
diff --git a/recipes-bsp/formfactor/formfactor/minnow/machconfig b/recipes-bsp/formfactor/formfactor/minnow/machconfig
new file mode 100644
index 0000000..ffce012
--- /dev/null
+++ b/recipes-bsp/formfactor/formfactor/minnow/machconfig
@@ -0,0 +1,3 @@
+# Assume a USB mouse and keyboard 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..2a3ee7a
--- /dev/null
+++ b/recipes-bsp/formfactor/formfactor_0.0.bbappend
@@ -0,0 +1,3 @@
+FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
+
+PRINC := "${@int(PRINC) + 2}"
diff --git a/recipes-core/dmidecode/dmidecode_2.11.bb b/recipes-core/dmidecode/dmidecode_2.11.bb
new file mode 100644
index 0000000..7038913
--- /dev/null
+++ b/recipes-core/dmidecode/dmidecode_2.11.bb
@@ -0,0 +1,26 @@
+# Shamelessly copied from BlackPole/bp-openembedded
+# https://github.com/BlackPole/bp-openembedded/blob/master/recipes/dmidecode/dmidecode_2.9.bb
+# Updated to 2.11
+DESCRIPTION = "DMI (Desktop Management Interface) table related utilities"
+HOMEPAGE = "http://www.nongnu.org/dmidecode/"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=393a5ca445f6965873eca0259a17f833"
+PR = "r0"
+
+SRC_URI = "http://savannah.nongnu.org/download/dmidecode/${P}.tar.bz2"
+
+COMPATIBLE_HOST = "i.86.*-linux"
+
+do_unpack_extra() {
+sed -i \
+-e '/^prefix/s:/usr/local:/usr:' \
+Makefile
+}
+addtask unpack_extra after do_unpack before do_patch
+
+do_install() {
+oe_runmake DESTDIR="${D}" install
+}
+
+SRC_URI[md5sum] = "535487cc041f2db746587cf40a2059f0"
+SRC_URI[sha256sum] = "6da5643479b3b591b71a91122a25b89b77920b66e1ad0a5162d3c75b50423b51"
diff --git a/recipes-graphics/xorg-xserver/xserver-xf86-config/minnow/xorg.conf b/recipes-graphics/xorg-xserver/xserver-xf86-config/minnow/xorg.conf
new file mode 100644
index 0000000..6d3ad1b
--- /dev/null
+++ b/recipes-graphics/xorg-xserver/xserver-xf86-config/minnow/xorg.conf
@@ -0,0 +1,66 @@
+##
+## X Config options generated from CED
+## x11 conf skeleton
+## DriverVer=
+##
+
+Section "Screen"
+ Identifier "Screen0"
+ Device "IntelEMGD-0"
+ Monitor "Monitor0"
+ SubSection "Display"
+ EndSubSection
+EndSection
+
+Section "Device"
+ Identifier "IntelEMGD-0"
+ Driver "emgd"
+ VendorName "Intel(R) DEG"
+ BoardName "Embedded Graphics"
+ BusID "0:2:0"
+ Screen 0
+ Option "PcfVersion" "1792"
+ Option "ConfigId" "1"
+ Option "ALL/1/name" "e6xx"
+ # Default port order: sDVOB (nothing more)
+ Option "ALL/1/General/PortOrder" "20000"
+ # Example port order: sDVOB, LVDS
+ # Option "ALL/1/General/PortOrder" "24000"
+ Option "ALL/1/General/DisplayConfig" "1"
+ Option "ALL/1/General/DisplayDetect" "1"
+ Option "ALL/1/General/TuningWA" "1"
+
+ # Primary display (main-board HDMI port, driven by sDVOB)
+ Option "ALL/1/Port/2/General/name" "Primary"
+ Option "ALL/1/Port/2/General/Edid" "1"
+ Option "ALL/1/Port/2/General/EdidAvail" "7"
+ Option "ALL/1/Port/2/General/EdidNotAvail" "5"
+ Option "ALL/1/Port/2/General/Rotation" "0"
+ Option "ALL/1/Port/2/Attr/71" "20300"
+
+ # Disable LVDS by default, uncomment to enable
+ # Secondary display (LVDS over the expansion connector, 1366x768)
+ # Option "ALL/1/Port/4/General/name" "Secondary"
+ # Option "ALL/1/Port/4/General/Edid" "0"
+ # Option "ALL/1/Port/4/General/Rotation" "0"
+ # Panel depth (the default 18 results in a dim display)
+ # Force dither off for 24-bit panels
+ # Option "ALL/1/Port/4/Attr/26" "24"
+ # Option "ALL/1/Port/4/Attr/45" "0"
+ # Backlight intensity and inverter frequency for E6xx CPUs
+ # Option "ALL/1/Port/4/Attr/70" "100"
+ # Option "ALL/1/Port/4/Attr/71" "20300"
+EndSection
+
+Section "ServerLayout"
+ Identifier "Default Layout"
+ Screen 0 "Screen0" 0 0
+ # InputDevice "Mouse0" "CorePointer"
+ # InputDevice "Keyboard0" "CoreKeyboard"
+ # InputDevice "DevInputMice" "SendCoreEvents"
+EndSection
+
+Section "ServerFlags"
+ Option "DontZap" "0"
+ Option "AutoAddDevices" "False"
+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..a06e2a5
--- /dev/null
+++ b/recipes-graphics/xorg-xserver/xserver-xf86-config_0.1.bbappend
@@ -0,0 +1,5 @@
+# Setup recommended EMGD settings for the E6xx CPUs. Default to sDVOB, but setup
+# the LVDS as secondary to enable daughter cards adding the second display.
+THISDIR := "${@os.path.dirname(bb.data.getVar('FILE', d, True))}"
+FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
+PRINC := "${@int(PRINC) + 2}"
diff --git a/recipes-kernel/kern-tools/kern-tools-native_git.bbappend b/recipes-kernel/kern-tools/kern-tools-native_git.bbappend
new file mode 100644
index 0000000..763cacc
--- /dev/null
+++ b/recipes-kernel/kern-tools/kern-tools-native_git.bbappend
@@ -0,0 +1,5 @@
+FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
+PRINC := "${@int(PRINC) + 1}"
+
+# Pull in support for the "force" keyword in the linux-yocto-3.8 meta-data
+SRCREV = "71ffb08c20022610363e68f9243350b7da020825"
diff --git a/recipes-kernel/linux/linux-yocto/media.cfg b/recipes-kernel/linux/linux-yocto/media.cfg
new file mode 100644
index 0000000..44751ca
--- /dev/null
+++ b/recipes-kernel/linux/linux-yocto/media.cfg
@@ -0,0 +1,518 @@
+++ .config 2013-04-19 11:55:51.013419546 +0200
+CONFIG_FW_LOADER=m
+CONFIG_FIRMWARE_IN_KERNEL=y
+CONFIG_EXTRA_FIRMWARE=""
+CONFIG_ALTERA_STAPL=m
+CONFIG_MFD_WL1273_CORE=m
+CONFIG_MEDIA_CAMERA_SUPPORT=y
+CONFIG_MEDIA_ANALOG_TV_SUPPORT=y
+CONFIG_MEDIA_DIGITAL_TV_SUPPORT=y
+CONFIG_MEDIA_RADIO_SUPPORT=y
+CONFIG_MEDIA_RC_SUPPORT=y
+CONFIG_MEDIA_CONTROLLER=y
+CONFIG_VIDEO_DEV=y
+CONFIG_VIDEO_V4L2_SUBDEV_API=y
+CONFIG_VIDEO_V4L2=y
+CONFIG_VIDEO_TUNER=m
+CONFIG_V4L2_MEM2MEM_DEV=m
+CONFIG_VIDEOBUF_GEN=m
+CONFIG_VIDEOBUF_DMA_SG=m
+CONFIG_VIDEOBUF_VMALLOC=m
+CONFIG_VIDEOBUF_DVB=m
+CONFIG_VIDEOBUF2_CORE=m
+CONFIG_VIDEOBUF2_MEMOPS=m
+CONFIG_VIDEOBUF2_DMA_CONTIG=m
+CONFIG_VIDEOBUF2_VMALLOC=m
+CONFIG_DVB_CORE=y
+CONFIG_DVB_NET=y
+CONFIG_DVB_MAX_ADAPTERS=8
+CONFIG_DVB_DYNAMIC_MINORS=y
+CONFIG_RC_CORE=y
+CONFIG_RC_MAP=y
+CONFIG_RC_DECODERS=y
+CONFIG_LIRC=m
+CONFIG_IR_LIRC_CODEC=m
+CONFIG_IR_NEC_DECODER=y
+CONFIG_IR_RC5_DECODER=y
+CONFIG_IR_RC6_DECODER=y
+CONFIG_IR_JVC_DECODER=y
+CONFIG_IR_SONY_DECODER=y
+CONFIG_IR_RC5_SZ_DECODER=y
+CONFIG_IR_SANYO_DECODER=y
+CONFIG_IR_MCE_KBD_DECODER=y
+# CONFIG_RC_DEVICES is not set
+CONFIG_MEDIA_USB_SUPPORT=y
+
+#
+# Webcam devices
+#
+CONFIG_USB_VIDEO_CLASS=m
+CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y
+CONFIG_USB_GSPCA=m
+CONFIG_USB_M5602=m
+CONFIG_USB_STV06XX=m
+CONFIG_USB_GL860=m
+CONFIG_USB_GSPCA_BENQ=m
+CONFIG_USB_GSPCA_CONEX=m
+CONFIG_USB_GSPCA_CPIA1=m
+CONFIG_USB_GSPCA_ETOMS=m
+CONFIG_USB_GSPCA_FINEPIX=m
+CONFIG_USB_GSPCA_JEILINJ=m
+CONFIG_USB_GSPCA_JL2005BCD=m
+CONFIG_USB_GSPCA_KINECT=m
+CONFIG_USB_GSPCA_KONICA=m
+CONFIG_USB_GSPCA_MARS=m
+CONFIG_USB_GSPCA_MR97310A=m
+CONFIG_USB_GSPCA_NW80X=m
+CONFIG_USB_GSPCA_OV519=m
+CONFIG_USB_GSPCA_OV534=m
+CONFIG_USB_GSPCA_OV534_9=m
+CONFIG_USB_GSPCA_PAC207=m
+CONFIG_USB_GSPCA_PAC7302=m
+CONFIG_USB_GSPCA_PAC7311=m
+CONFIG_USB_GSPCA_SE401=m
+CONFIG_USB_GSPCA_SN9C2028=m
+CONFIG_USB_GSPCA_SN9C20X=m
+CONFIG_USB_GSPCA_SONIXB=m
+CONFIG_USB_GSPCA_SONIXJ=m
+CONFIG_USB_GSPCA_SPCA500=m
+CONFIG_USB_GSPCA_SPCA501=m
+CONFIG_USB_GSPCA_SPCA505=m
+CONFIG_USB_GSPCA_SPCA506=m
+CONFIG_USB_GSPCA_SPCA508=m
+CONFIG_USB_GSPCA_SPCA561=m
+CONFIG_USB_GSPCA_SPCA1528=m
+CONFIG_USB_GSPCA_SQ905=m
+CONFIG_USB_GSPCA_SQ905C=m
+CONFIG_USB_GSPCA_SQ930X=m
+CONFIG_USB_GSPCA_STK014=m
+CONFIG_USB_GSPCA_STV0680=m
+CONFIG_USB_GSPCA_SUNPLUS=m
+CONFIG_USB_GSPCA_T613=m
+CONFIG_USB_GSPCA_TOPRO=m
+CONFIG_USB_GSPCA_TV8532=m
+CONFIG_USB_GSPCA_VC032X=m
+CONFIG_USB_GSPCA_VICAM=m
+CONFIG_USB_GSPCA_XIRLINK_CIT=m
+CONFIG_USB_GSPCA_ZC3XX=m
+CONFIG_USB_PWC=m
+# CONFIG_USB_PWC_DEBUG is not set
+CONFIG_USB_PWC_INPUT_EVDEV=y
+CONFIG_VIDEO_CPIA2=m
+# CONFIG_USB_ZR364XX is not set
+CONFIG_USB_STKWEBCAM=m
+CONFIG_USB_S2255=m
+CONFIG_USB_SN9C102=m
+
+#
+# Analog TV USB devices
+#
+CONFIG_VIDEO_AU0828=m
+CONFIG_VIDEO_PVRUSB2=m
+CONFIG_VIDEO_PVRUSB2_SYSFS=y
+CONFIG_VIDEO_PVRUSB2_DVB=y
+# CONFIG_VIDEO_PVRUSB2_DEBUGIFC is not set
+CONFIG_VIDEO_HDPVR=m
+CONFIG_VIDEO_TLG2300=m
+CONFIG_VIDEO_USBVISION=m
+CONFIG_VIDEO_STK1160=m
+# CONFIG_VIDEO_STK1160_AC97 is not set
+
+#
+# Analog/digital TV USB devices
+#
+CONFIG_VIDEO_CX231XX=m
+CONFIG_VIDEO_CX231XX_RC=y
+CONFIG_VIDEO_CX231XX_ALSA=m
+CONFIG_VIDEO_CX231XX_DVB=m
+CONFIG_VIDEO_TM6000=m
+CONFIG_VIDEO_TM6000_ALSA=m
+CONFIG_VIDEO_TM6000_DVB=m
+
+#
+# Digital TV USB devices
+#
+CONFIG_DVB_USB=m
+# CONFIG_DVB_USB_DEBUG is not set
+CONFIG_DVB_USB_A800=m
+CONFIG_DVB_USB_DIBUSB_MB=m
+# CONFIG_DVB_USB_DIBUSB_MB_FAULTY is not set
+CONFIG_DVB_USB_DIBUSB_MC=m
+CONFIG_DVB_USB_DIB0700=m
+CONFIG_DVB_USB_UMT_010=m
+CONFIG_DVB_USB_CXUSB=m
+CONFIG_DVB_USB_M920X=m
+CONFIG_DVB_USB_DIGITV=m
+CONFIG_DVB_USB_VP7045=m
+CONFIG_DVB_USB_VP702X=m
+CONFIG_DVB_USB_GP8PSK=m
+CONFIG_DVB_USB_NOVA_T_USB2=m
+CONFIG_DVB_USB_TTUSB2=m
+CONFIG_DVB_USB_DTT200U=m
+CONFIG_DVB_USB_OPERA1=m
+CONFIG_DVB_USB_AF9005=m
+CONFIG_DVB_USB_AF9005_REMOTE=m
+CONFIG_DVB_USB_PCTV452E=m
+CONFIG_DVB_USB_DW2102=m
+CONFIG_DVB_USB_CINERGY_T2=m
+CONFIG_DVB_USB_DTV5100=m
+CONFIG_DVB_USB_FRIIO=m
+CONFIG_DVB_USB_AZ6027=m
+CONFIG_DVB_USB_TECHNISAT_USB2=m
+CONFIG_DVB_USB_V2=m
+CONFIG_DVB_USB_CYPRESS_FIRMWARE=m
+CONFIG_DVB_USB_AF9015=m
+CONFIG_DVB_USB_AF9035=m
+CONFIG_DVB_USB_ANYSEE=m
+CONFIG_DVB_USB_AU6610=m
+CONFIG_DVB_USB_AZ6007=m
+CONFIG_DVB_USB_CE6230=m
+CONFIG_DVB_USB_EC168=m
+CONFIG_DVB_USB_GL861=m
+CONFIG_DVB_USB_IT913X=m
+CONFIG_DVB_USB_LME2510=m
+CONFIG_DVB_USB_MXL111SF=m
+CONFIG_DVB_USB_RTL28XXU=m
+CONFIG_DVB_TTUSB_BUDGET=m
+CONFIG_DVB_TTUSB_DEC=m
+CONFIG_SMS_USB_DRV=m
+CONFIG_DVB_B2C2_FLEXCOP_USB=m
+# CONFIG_DVB_B2C2_FLEXCOP_USB_DEBUG is not set
+
+#
+# Webcam, TV (analog/digital) USB devices
+#
+CONFIG_VIDEO_EM28XX=m
+CONFIG_VIDEO_EM28XX_ALSA=m
+CONFIG_VIDEO_EM28XX_DVB=m
+CONFIG_VIDEO_EM28XX_RC=m
+CONFIG_MEDIA_PCI_SUPPORT=y
+
+#
+# Media capture support
+#
+
+#
+# Media capture/analog TV support
+#
+CONFIG_VIDEO_IVTV=m
+CONFIG_VIDEO_IVTV_ALSA=m
+CONFIG_VIDEO_FB_IVTV=m
+CONFIG_VIDEO_ZORAN=m
+CONFIG_VIDEO_ZORAN_DC30=m
+CONFIG_VIDEO_ZORAN_ZR36060=m
+# CONFIG_VIDEO_ZORAN_BUZ is not set
+CONFIG_VIDEO_ZORAN_DC10=m
+CONFIG_VIDEO_ZORAN_LML33=m
+CONFIG_VIDEO_ZORAN_LML33R10=m
+CONFIG_VIDEO_ZORAN_AVS6EYES=m
+CONFIG_VIDEO_HEXIUM_GEMINI=m
+CONFIG_VIDEO_HEXIUM_ORION=m
+CONFIG_VIDEO_MXB=m
+
+#
+# Media capture/analog/hybrid TV support
+#
+CONFIG_VIDEO_CX18=m
+CONFIG_VIDEO_CX18_ALSA=m
+CONFIG_VIDEO_CX23885=m
+CONFIG_MEDIA_ALTERA_CI=m
+CONFIG_VIDEO_CX25821=m
+CONFIG_VIDEO_CX25821_ALSA=m
+CONFIG_VIDEO_CX88=m
+CONFIG_VIDEO_CX88_ALSA=m
+CONFIG_VIDEO_CX88_BLACKBIRD=m
+CONFIG_VIDEO_CX88_DVB=m
+CONFIG_VIDEO_CX88_VP3054=m
+CONFIG_VIDEO_CX88_MPEG=m
+CONFIG_VIDEO_BT848=m
+CONFIG_DVB_BT8XX=m
+CONFIG_VIDEO_SAA7134=m
+CONFIG_VIDEO_SAA7134_ALSA=m
+CONFIG_VIDEO_SAA7134_RC=y
+CONFIG_VIDEO_SAA7134_DVB=m
+CONFIG_VIDEO_SAA7164=m
+
+#
+# Media digital TV PCI Adapters
+#
+CONFIG_TTPCI_EEPROM=m
+CONFIG_DVB_AV7110=m
+CONFIG_DVB_AV7110_OSD=y
+CONFIG_DVB_BUDGET_CORE=m
+CONFIG_DVB_BUDGET=m
+CONFIG_DVB_BUDGET_CI=m
+CONFIG_DVB_BUDGET_AV=m
+CONFIG_DVB_BUDGET_PATCH=m
+CONFIG_DVB_B2C2_FLEXCOP_PCI=m
+# CONFIG_DVB_B2C2_FLEXCOP_PCI_DEBUG is not set
+CONFIG_DVB_PLUTO2=m
+CONFIG_DVB_DM1105=m
+CONFIG_DVB_PT1=m
+CONFIG_MANTIS_CORE=m
+CONFIG_DVB_MANTIS=m
+CONFIG_DVB_HOPPER=m
+CONFIG_DVB_NGENE=m
+CONFIG_DVB_DDBRIDGE=m
+# CONFIG_V4L_PLATFORM_DRIVERS is not set
+CONFIG_V4L_MEM2MEM_DRIVERS=y
+CONFIG_VIDEO_MEM2MEM_DEINTERLACE=m
+# CONFIG_V4L_TEST_DRIVERS is not set
+# CONFIG_SMS_SDIO_DRV is not set
+CONFIG_RADIO_ADAPTERS=y
+CONFIG_RADIO_SI470X=y
+CONFIG_USB_SI470X=m
+CONFIG_I2C_SI470X=m
+CONFIG_USB_MR800=m
+CONFIG_USB_DSBR=m
+CONFIG_RADIO_MAXIRADIO=m
+CONFIG_RADIO_SHARK=m
+CONFIG_RADIO_SHARK2=m
+CONFIG_I2C_SI4713=m
+CONFIG_RADIO_SI4713=m
+CONFIG_USB_KEENE=m
+CONFIG_RADIO_TEA5764=m
+CONFIG_RADIO_SAA7706H=m
+CONFIG_RADIO_TEF6862=m
+CONFIG_RADIO_WL1273=m
+
+#
+# Texas Instruments WL128x FM driver (ST based)
+#
+CONFIG_MEDIA_COMMON_OPTIONS=y
+
+#
+# common driver options
+#
+CONFIG_DVB_B2C2_FLEXCOP=m
+CONFIG_VIDEO_SAA7146=m
+CONFIG_VIDEO_SAA7146_VV=m
+CONFIG_SMS_SIANO_MDTV=m
+CONFIG_SMS_SIANO_RC=y
+CONFIG_MEDIA_SUBDRV_AUTOSELECT=y
+CONFIG_VIDEO_BTCX=m
+CONFIG_VIDEO_TVEEPROM=m
+CONFIG_VIDEO_IR_I2C=y
+# Audio decoders, processors and mixers
+#
+CONFIG_VIDEO_TVAUDIO=m
+CONFIG_VIDEO_TDA7432=m
+CONFIG_VIDEO_TDA9840=m
+CONFIG_VIDEO_TEA6415C=m
+CONFIG_VIDEO_TEA6420=m
+CONFIG_VIDEO_MSP3400=m
+CONFIG_VIDEO_CS5345=m
+CONFIG_VIDEO_CS53L32A=m
+CONFIG_VIDEO_WM8775=m
+CONFIG_VIDEO_WM8739=m
+CONFIG_VIDEO_VP27SMPX=m
+
+#
+# RDS decoders
+#
+CONFIG_VIDEO_SAA6588=m
+
+#
+# Video decoders
+#
+CONFIG_VIDEO_BT819=m
+CONFIG_VIDEO_BT856=m
+CONFIG_VIDEO_BT866=m
+CONFIG_VIDEO_KS0127=m
+CONFIG_VIDEO_SAA7110=m
+CONFIG_VIDEO_SAA711X=m
+CONFIG_VIDEO_TVP5150=m
+CONFIG_VIDEO_VPX3220=m
+
+#
+# Video and audio decoders
+#
+CONFIG_VIDEO_SAA717X=m
+CONFIG_VIDEO_CX25840=m
+
+#
+# MPEG video encoders
+#
+CONFIG_VIDEO_CX2341X=m
+
+#
+# Video encoders
+#
+CONFIG_VIDEO_SAA7127=m
+CONFIG_VIDEO_ADV7170=m
+CONFIG_VIDEO_ADV7175=m
+
+#
+# Camera sensor devices
+#
+CONFIG_VIDEO_MT9V011=m
+
+#
+# Flash devices
+#
+
+#
+# Video improvement chips
+#
+CONFIG_VIDEO_UPD64031A=m
+CONFIG_VIDEO_UPD64083=m
+
+#
+# Miscelaneous helper chips
+#
+CONFIG_VIDEO_M52790=m
+
+#
+# Sensors used on soc_camera driver
+#
+CONFIG_MEDIA_ATTACH=y
+CONFIG_MEDIA_TUNER=y
+CONFIG_MEDIA_TUNER_SIMPLE=y
+CONFIG_MEDIA_TUNER_TDA8290=y
+CONFIG_MEDIA_TUNER_TDA827X=y
+CONFIG_MEDIA_TUNER_TDA18271=y
+CONFIG_MEDIA_TUNER_TDA9887=y
+CONFIG_MEDIA_TUNER_TEA5761=y
+CONFIG_MEDIA_TUNER_TEA5767=y
+CONFIG_MEDIA_TUNER_MT20XX=y
+CONFIG_MEDIA_TUNER_MT2060=m
+CONFIG_MEDIA_TUNER_MT2063=m
+CONFIG_MEDIA_TUNER_MT2266=m
+CONFIG_MEDIA_TUNER_MT2131=m
+CONFIG_MEDIA_TUNER_QT1010=m
+CONFIG_MEDIA_TUNER_XC2028=y
+CONFIG_MEDIA_TUNER_XC5000=y
+CONFIG_MEDIA_TUNER_XC4000=y
+CONFIG_MEDIA_TUNER_MXL5005S=m
+CONFIG_MEDIA_TUNER_MXL5007T=m
+CONFIG_MEDIA_TUNER_MC44S803=y
+CONFIG_MEDIA_TUNER_MAX2165=m
+CONFIG_MEDIA_TUNER_TDA18218=m
+CONFIG_MEDIA_TUNER_FC0011=m
+CONFIG_MEDIA_TUNER_FC0012=m
+CONFIG_MEDIA_TUNER_FC0013=m
+CONFIG_MEDIA_TUNER_TDA18212=m
+CONFIG_MEDIA_TUNER_E4000=m
+CONFIG_MEDIA_TUNER_FC2580=m
+CONFIG_MEDIA_TUNER_TUA9001=m
+
+#
+# Multistandard (satellite) frontends
+#
+CONFIG_DVB_STB0899=m
+CONFIG_DVB_STB6100=m
+CONFIG_DVB_STV090x=m
+CONFIG_DVB_STV6110x=m
+
+#
+# Multistandard (cable + terrestrial) frontends
+#
+CONFIG_DVB_DRXK=m
+CONFIG_DVB_TDA18271C2DD=m
+
+#
+# DVB-S (satellite) frontends
+#
+CONFIG_DVB_CX24110=m
+CONFIG_DVB_CX24123=m
+CONFIG_DVB_MT312=m
+CONFIG_DVB_ZL10036=m
+CONFIG_DVB_ZL10039=m
+CONFIG_DVB_S5H1420=m
+CONFIG_DVB_STV0288=m
+CONFIG_DVB_STB6000=m
+CONFIG_DVB_STV0299=m
+CONFIG_DVB_STV6110=m
+CONFIG_DVB_STV0900=m
+CONFIG_DVB_TDA8083=m
+CONFIG_DVB_TDA10086=m
+CONFIG_DVB_TDA8261=m
+CONFIG_DVB_VES1X93=m
+CONFIG_DVB_TUNER_ITD1000=m
+CONFIG_DVB_TUNER_CX24113=m
+CONFIG_DVB_TDA826X=m
+CONFIG_DVB_TUA6100=m
+CONFIG_DVB_CX24116=m
+CONFIG_DVB_SI21XX=m
+CONFIG_DVB_DS3000=m
+CONFIG_DVB_MB86A16=m
+CONFIG_DVB_TDA10071=m
+
+#
+# DVB-T (terrestrial) frontends
+#
+CONFIG_DVB_SP8870=m
+CONFIG_DVB_SP887X=m
+CONFIG_DVB_CX22700=m
+CONFIG_DVB_CX22702=m
+CONFIG_DVB_DRXD=m
+CONFIG_DVB_L64781=m
+CONFIG_DVB_TDA1004X=m
+CONFIG_DVB_NXT6000=m
+CONFIG_DVB_MT352=m
+CONFIG_DVB_ZL10353=m
+CONFIG_DVB_DIB3000MB=m
+CONFIG_DVB_DIB3000MC=m
+CONFIG_DVB_DIB7000M=m
+CONFIG_DVB_DIB7000P=m
+CONFIG_DVB_TDA10048=m
+CONFIG_DVB_AF9013=m
+CONFIG_DVB_EC100=m
+CONFIG_DVB_STV0367=m
+CONFIG_DVB_CXD2820R=m
+CONFIG_DVB_RTL2830=m
+CONFIG_DVB_RTL2832=m
+
+#
+# DVB-C (cable) frontends
+#
+CONFIG_DVB_VES1820=m
+CONFIG_DVB_TDA10021=m
+CONFIG_DVB_TDA10023=m
+CONFIG_DVB_STV0297=m
+
+#
+# ATSC (North American/Korean Terrestrial/Cable DTV) frontends
+#
+CONFIG_DVB_NXT200X=m
+CONFIG_DVB_OR51211=m
+CONFIG_DVB_OR51132=m
+CONFIG_DVB_BCM3510=m
+CONFIG_DVB_LGDT330X=m
+CONFIG_DVB_LGDT3305=m
+CONFIG_DVB_LG2160=m
+CONFIG_DVB_S5H1409=m
+CONFIG_DVB_AU8522=m
+CONFIG_DVB_AU8522_DTV=m
+CONFIG_DVB_AU8522_V4L=m
+CONFIG_DVB_S5H1411=m
+
+# ISDB-T (terrestrial) frontends
+#
+CONFIG_DVB_S921=m
+CONFIG_DVB_DIB8000=m
+CONFIG_DVB_MB86A20S=m
+
+#
+# Digital terrestrial only tuners/PLL
+#
+CONFIG_DVB_PLL=m
+# SEC control devices for DVB-S
+#
+CONFIG_DVB_LNBP21=m
+CONFIG_DVB_LNBP22=m
+CONFIG_DVB_ISL6405=m
+CONFIG_DVB_ISL6421=m
+CONFIG_DVB_ISL6423=m
+CONFIG_DVB_A8293=m
+CONFIG_DVB_LGS8GXX=m
+CONFIG_DVB_ATBM8830=m
+CONFIG_DVB_TDA665x=m
+CONFIG_DVB_IX2505V=m
+CONFIG_DVB_IT913X_FE=m
+CONFIG_DVB_M88RS2000=m
+CONFIG_DVB_AF9033=m
+
+#
+CONFIG_SND_TEA575X=m
+# CONFIG_USB_G_WEBCAM is not set
diff --git a/recipes-kernel/linux/linux-yocto_3.8.bb b/recipes-kernel/linux/linux-yocto_3.8.bb
new file mode 100644
index 0000000..b3bbc51
--- /dev/null
+++ b/recipes-kernel/linux/linux-yocto_3.8.bb
@@ -0,0 +1,32 @@
+require recipes-kernel/linux/linux-yocto.inc
+
+KBRANCH_DEFAULT = "standard/minnow"
+KBRANCH = "${KBRANCH_DEFAULT}"
+KMETA = "meta"
+
+SRC_URI = "git://git.yoctoproject.org/linux-yocto-3.8;protocol=git;nocheckout=1;branch=${KBRANCH},${KMETA},emgd-1.16;name=machine,meta,emgd \
+ file://media.cfg"
+
+SRCREV_machine_pn-linux-yocto ?= "c6e199184ea2ce13ec500418a8ed81de6621b91f"
+SRCREV_meta_pn-linux-yocto ?= "edd6461602f6c2fc27bc72997e4437f422a9dccd"
+SRCREV_emgd_pn-linux-yocto ?= "caea08c988e0f41103bbe18eafca20348f95da02"
+
+LINUX_VERSION ?= "3.8.11"
+
+PR = "${INC_PR}.0"
+PV = "${LINUX_VERSION}+git${SRCPV}"
+
+COMPATIBLE_MACHINE = "minnow"
+KMACHINE_minnow = "minnow"
+
+# Functionality flags
+KERNEL_FEATURES_minnow_append = " features/drm-emgd/drm-emgd-1.16 \
+ features/netfilter/netfilter.scc \
+ features/usb-net/usb-net.scc"
+
+# Autoload modules for on-board hardware
+module_autoload_snd_hda_intel = "snd_hda_intel"
+module_autoload_pch_gbe = "pch_gbe"
+module_autoload_minnowboard = "minnowboard"
+module_autoload_minnowboard-gpio = "minnowboard-gpio"
+module_autoload_minnowboard-keys = "minnowboard-keys"
diff --git a/recipes-kernel/perf/perf_3.4.bbappend b/recipes-kernel/perf/perf_3.4.bbappend
new file mode 100644
index 0000000..ce45f70
--- /dev/null
+++ b/recipes-kernel/perf/perf_3.4.bbappend
@@ -0,0 +1,16 @@
+FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
+PRINC := "${@int(PRINC) + 1}"
+
+# From OE-Core rev: 373371432b72cb19600a45e741afdfcb9662ecfb
+# We already pass the correct arguments to our compiler for the CFLAGS (if we
+# don't override it, it'll add -m32/-m64 itself). For LDFLAGS, it was failing
+# to find bfd symbols.
+EXTRA_OEMAKE += "\
+ 'CFLAGS=${CFLAGS}' \
+ 'LDFLAGS=${LDFLAGS} -lpthread -lrt -lelf -lm -lbfd' \
+"
+
+# From OE-Core rev: dce7918a818bf86fcc11f561af3eacaf281403d4
+do_configure_prepend () {
+ sed -i 's,-Werror ,,' ${S}/tools/perf/Makefile
+}
diff --git a/scripts/mkefidisk.sh b/scripts/mkefidisk.sh
new file mode 100755
index 0000000..0c15104
--- /dev/null
+++ b/scripts/mkefidisk.sh
@@ -0,0 +1,276 @@
+#!/bin/sh
+#
+# Copyright (c) 2012, Intel Corporation.
+# All rights reserved.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
+# the GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+#
+
+LANG=C
+
+#
+# Defaults
+#
+# 20 Mb for the boot partition
+BOOT_SIZE=20
+# 5% for swap
+SWAP_RATIO=5
+
+function usage() {
+ echo "Usage: $(basename $0) DEVICE HDDIMG TARGET_DEVICE"
+ echo " DEVICE: The device to write the image to, e.g. /dev/sdh"
+ echo " HDDIMG: The hddimg file to generate the efi disk from"
+ echo " TARGET_DEVICE: The device the target will boot from, e.g. /dev/mmcblk0"
+}
+
+function image_details() {
+ IMG=$1
+ echo "Image details"
+ echo "============="
+ echo " image: $(stat --printf '%N\n' $IMG)"
+ echo " size: $(stat -L --printf '%s bytes\n' $IMG)"
+ echo " modified: $(stat -L --printf '%y\n' $IMG)"
+ echo " type: $(file -L -b $IMG)"
+ echo ""
+}
+
+function device_details() {
+ DEV=$1
+ BLOCK_SIZE=512
+
+ echo "Device details"
+ echo "=============="
+ echo " device: $DEVICE"
+ if [ -f "/sys/class/block/$DEV/device/vendor" ]; then
+ echo " vendor: $(cat /sys/class/block/$DEV/device/vendor)"
+ else
+ echo " vendor: UNKOWN"
+ fi
+ if [ -f "/sys/class/block/$DEV/device/model" ]; then
+ echo " model: $(cat /sys/class/block/$DEV/device/model)"
+ else
+ echo " model: UNKNOWN"
+ fi
+ if [ -f "/sys/class/block/$DEV/size" ]; then
+ echo " size: $[$(cat /sys/class/block/$DEV/size)*BLOCK_SIZE] bytes"
+ else
+ echo " size: UNKNOWN"
+ fi
+ echo ""
+}
+
+function unmount_device() {
+ grep -q $DEVICE /proc/mounts
+ if [ $? -eq 0 ]; then
+ echo -n "$DEVICE listed in /proc/mounts, attempting to unmount..."
+ umount $DEVICE* 2>/dev/null
+ grep -q $DEVICE /proc/mounts
+ if [ $? -eq 0 ]; then
+ echo "FAILED"
+ exit 1
+ fi
+ echo "OK"
+ fi
+}
+
+
+#
+# Parse and validate arguments
+#
+if [ $# -ne 3 ]; then
+ usage
+ exit 1
+fi
+
+DEVICE=$1
+HDDIMG=$2
+TARGET_DEVICE=$3
+
+if [ ! -w "$DEVICE" ]; then
+ echo "ERROR: Device $DEVICE does not exist or is not writable"
+ usage
+ exit 1
+fi
+
+if [ ! -e "$HDDIMG" ]; then
+ echo "ERROR: HDDIMG $HDDIMG does not exist"
+ usage
+ exit 1
+fi
+
+
+#
+# Check if any $DEVICE partitions are mounted
+#
+unmount_device
+
+
+#
+# Confirm device with user
+#
+image_details $HDDIMG
+device_details $(basename $DEVICE)
+echo -n "Prepare EFI image on $DEVICE [y/N]? "
+read RESPONSE
+if [ "$RESPONSE" != "y" ]; then
+ echo "Image creation aborted"
+ exit 0
+fi
+
+
+#
+# Partition $DEVICE
+#
+DEVICE_SIZE=$(parted $DEVICE unit mb print | grep ^Disk | cut -d" " -f 3 | sed -e "s/MB//")
+SWAP_SIZE=$((DEVICE_SIZE*SWAP_RATIO/100))
+ROOTFS_SIZE=$((DEVICE_SIZE-BOOT_SIZE-SWAP_SIZE))
+ROOTFS_START=$((BOOT_SIZE))
+ROOTFS_END=$((ROOTFS_START+ROOTFS_SIZE))
+SWAP_START=$((ROOTFS_END))
+
+# MMC devices use a partition prefix character 'p'
+PART_PREFIX=""
+if [ ! "${DEVICE#/dev/mmcblk}" = "${DEVICE}" ]; then
+ PART_PREFIX="p"
+fi
+BOOTFS=$DEVICE${PART_PREFIX}1
+ROOTFS=$DEVICE${PART_PREFIX}2
+SWAP=$DEVICE${PART_PREFIX}3
+
+TARGET_PART_PREFIX=""
+if [ ! "${TARGET_DEVICE#/dev/mmcblk}" = "${TARGET_DEVICE}" ]; then
+ TARGET_PART_PREFIX="p"
+fi
+TARGET_ROOTFS=$TARGET_DEVICE${TARGET_PART_PREFIX}2
+TARGET_SWAP=$TARGET_DEVICE${TARGET_PART_PREFIX}3
+
+echo "*****************"
+echo "Boot partition size: $BOOT_SIZE MB ($BOOTFS)"
+echo "ROOTFS partition size: $ROOTFS_SIZE MB ($ROOTFS)"
+echo "Swap partition size: $SWAP_SIZE MB ($SWAP)"
+echo "*****************"
+
+echo "Deleting partition table on $DEVICE ..."
+dd if=/dev/zero of=$DEVICE bs=512 count=2
+
+# Use MSDOS by default as GPT cannot be reliably distributed in disk image form
+# as it requires the backup table to be on the last block of the device, which
+# of course varies from device to device.
+echo "Creating new partition table (MSDOS) on $DEVICE ..."
+parted $DEVICE mklabel msdos
+
+echo "Creating boot partition on $BOOTFS"
+parted $DEVICE mkpart primary 0% $BOOT_SIZE
+
+echo "Enabling boot flag on $BOOTFS"
+parted $DEVICE set 1 boot on
+
+echo "Creating ROOTFS partition on $ROOTFS"
+parted $DEVICE mkpart primary $ROOTFS_START $ROOTFS_END
+
+echo "Creating swap partition on $SWAP"
+parted $DEVICE mkpart primary $SWAP_START 100%
+
+parted $DEVICE print
+
+
+#
+# Check if any $DEVICE partitions are mounted after partitioning
+#
+unmount_device
+
+
+#
+# Format $DEVICE partitions
+#
+echo ""
+echo "Formatting $BOOTFS as vfat..."
+mkfs.vfat $BOOTFS -n "efi"
+
+echo "Formatting $ROOTFS as ext3..."
+mkfs.ext3 $ROOTFS -L "root"
+
+echo "Formatting swap partition...($SWAP)"
+mkswap $SWAP
+
+
+#
+# Installing to $DEVICE
+#
+echo ""
+echo "Mounting images and device in preparation for installation..."
+TMPDIR=$(mktemp -d mkefidisk-XXX)
+if [ $? -ne 0 ]; then
+ echo "ERROR: Failed to create temporary mounting directory."
+ exit 1
+fi
+HDDIMG_MNT=$TMPDIR/hddimg
+HDDIMG_ROOTFS_MNT=$TMPDIR/hddimg_rootfs
+ROOTFS_MNT=$TMPDIR/rootfs
+BOOTFS_MNT=$TMPDIR/bootfs
+mkdir $HDDIMG_MNT
+mkdir $HDDIMG_ROOTFS_MNT
+mkdir $ROOTFS_MNT
+mkdir $BOOTFS_MNT
+
+mount -o loop $HDDIMG $HDDIMG_MNT
+mount -o loop $HDDIMG_MNT/rootfs.img $HDDIMG_ROOTFS_MNT
+mount $ROOTFS $ROOTFS_MNT
+mount $BOOTFS $BOOTFS_MNT
+
+echo "Copying ROOTFS files..."
+cp -a $HDDIMG_ROOTFS_MNT/* $ROOTFS_MNT
+
+echo "$TARGET_SWAP swap swap defaults 0 0" >> $ROOTFS_MNT/etc/fstab
+
+# We dont want udev to mount our root device while we're booting...
+if [ -d $ROOTFS_MNT/etc/udev/ ] ; then
+ echo "$TARGET_DEVICE" >> $ROOTFS_MNT/etc/udev/mount.blacklist
+fi
+
+umount $ROOTFS_MNT
+umount $HDDIMG_ROOTFS_MNT
+
+echo "Preparing boot partition..."
+EFIDIR="$BOOTFS_MNT/EFI/BOOT"
+mkdir -p $EFIDIR
+GRUBCFG="$EFIDIR/grub.cfg"
+
+cp $HDDIMG_MNT/vmlinuz $BOOTFS_MNT
+# Copy the efi loader and config (booti*.efi and grub.cfg)
+cp $HDDIMG_MNT/EFI/BOOT/* $EFIDIR
+
+# Update grub config for the installed image
+# Delete the install entry
+sed -i "/menuentry 'install'/,/^}/d" $GRUBCFG
+# Delete the initrd lines
+sed -i "/initrd /d" $GRUBCFG
+# Delete any LABEL= strings
+sed -i "s/ LABEL=[^ ]*/ /" $GRUBCFG
+# Remove any existing root= kernel parameters and:
+# o Add a root= parameter with the target rootfs
+# o Specify ro so fsck can be run during boot
+# o Specify rootwait in case the target media is an asyncronous block device
+# such as MMC or USB disks
+# o Specify "quiet" to minimize boot time when using slow serial consoles
+sed -i "s@ root=[^ ]*@ @" $GRUBCFG
+sed -i "s@vmlinuz @vmlinuz root=$TARGET_ROOTFS ro rootwait quiet @" $GRUBCFG
+
+umount $BOOTFS_MNT
+umount $HDDIMG_MNT
+rm -rf $TMPDIR
+sync
+
+echo "Installation complete."