aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDarren Hart <dvhart@linux.intel.com>2015-06-24 10:38:44 -0700
committerDarren Hart <dvhart@linux.intel.com>2015-06-24 10:38:44 -0700
commit90e36479d8259f130c01016844634d272a75a277 (patch)
treea3d7786a8e9b20b523c5023a4ec043e2a68a6b4e
parentdc39b5cc7a83424be8731ad779852aa3553c48d7 (diff)
downloadmeta-minnow-90e36479d8259f130c01016844634d272a75a277.tar.gz
meta-minnow-90e36479d8259f130c01016844634d272a75a277.tar.bz2
meta-minnow-90e36479d8259f130c01016844634d272a75a277.zip
minnow-emgd: Add new MACHINE using the EMGD graphics driver
The existing "minnow" MACHINE uses FBDEV, add a new MACHINE, minnow-emgd, which uses the proprietary emgd graphics driver. Update the linux-yocto recipe to support both machines, and move the xorg.conf from minnow to minnow-emgd. Signed-off-by: Darren Hart <dvhart@linux.intel.com>
-rw-r--r--classes/emgd-gl.bbclass11
-rw-r--r--conf/machine/include/meta-intel-emgd.inc23
-rw-r--r--conf/machine/minnow-emgd.conf53
-rw-r--r--recipes-graphics/xorg-xserver/xserver-xf86-config/minnow-emgd/xorg.conf (renamed from recipes-graphics/xorg-xserver/xserver-xf86-config/minnow/xorg.conf)0
-rw-r--r--recipes-kernel/linux/linux-yocto_3.10.bbappend37
5 files changed, 106 insertions, 18 deletions
diff --git a/classes/emgd-gl.bbclass b/classes/emgd-gl.bbclass
new file mode 100644
index 0000000..ef1df69
--- /dev/null
+++ b/classes/emgd-gl.bbclass
@@ -0,0 +1,11 @@
+# give a different PACKAGE_ARCH to the recipes involved with opengl
+python __anonymous () {
+ provides = set((d.getVar("PROVIDES", True) or "").split())
+ depends = set((d.getVar("DEPENDS", True) or "").split())
+
+ glp = set([ "virtual/libgles1", "virtual/libgles2", "virtual/egl", "virtual/mesa" , "virtual/libgl"])
+ if list(glp & (provides | depends)): # set union & intersection operations
+ # matched
+ d.appendVar("PACKAGE_ARCH", "${GLSUFFIX}")
+ return
+}
diff --git a/conf/machine/include/meta-intel-emgd.inc b/conf/machine/include/meta-intel-emgd.inc
new file mode 100644
index 0000000..55050dc
--- /dev/null
+++ b/conf/machine/include/meta-intel-emgd.inc
@@ -0,0 +1,23 @@
+INHERIT += "emgd-gl"
+GLSUFFIX = "-emgd"
+PACKAGE_EXTRA_ARCHS_append = " ${TUNE_PKGARCH}${GLSUFFIX}"
+
+
+#
+# XSERVER subcomponents, used to build the XSERVER variable
+#
+
+# for Xserver older than 1.13.0
+OLD_XSERVER_X86_EXT = "xserver-xorg-extension-dri \
+ xserver-xorg-extension-dri2 \
+ xserver-xorg-extension-extmod \
+ xserver-xorg-extension-dbe \
+ "
+XSERVER_X86_EMGD = "emgd-driver-bin \
+ ${OLD_XSERVER_X86_EXT} \
+ "
+PREFERRED_PROVIDER_virtual/mesa ?= "mesa-gl"
+PREFERRED_PROVIDER_virtual/libgl ?= "mesa-gl"
+PREFERRED_PROVIDER_virtual/libgles1 ?= "emgd-driver-bin"
+PREFERRED_PROVIDER_virtual/libgles2 ?= "emgd-driver-bin"
+PREFERRED_PROVIDER_virtual/egl ?= "emgd-driver-bin"
diff --git a/conf/machine/minnow-emgd.conf b/conf/machine/minnow-emgd.conf
new file mode 100644
index 0000000..d4351e0
--- /dev/null
+++ b/conf/machine/minnow-emgd.conf
@@ -0,0 +1,53 @@
+#@TYPE: Machine
+#@NAME: minnow-emgd
+
+#@WEBTITLE: Intel Atom E640T Processor with Intel EG20T Controller Hub Development Kit (Queens Bay) with Proprietary IEMGD Accelerated Graphics.
+
+#@DESCRIPTION: Machine configuration for MinnowBoard v1 (Intel Atom E640T). For the MinnowBoard MAX (Intel Atom E38xx), please use the meta-intel intel-corei7-64 BSP: http://www.elinux.org/Minnowboard:MinnowMaxYoctoProject
+
+require conf/machine/include/intel-core2-32-common.inc
+require conf/machine/include/meta-intel.inc
+require conf/machine/include/meta-intel-emgd.inc
+
+MACHINE_HWCODECS ?= "va-intel"
+
+MACHINE_FEATURES += "efi va-impl-mixvideo wifi"
+
+PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto"
+PREFERRED_VERSION_linux-yocto = "3.10%"
+
+XSERVER ?= "${XSERVER_X86_BASE} \
+ ${XSERVER_X86_EXT} \
+ ${XSERVER_X86_EMGD} \
+ "
+
+XSERVERCODECS ?= "emgd-driver-video emgd-gst-plugins-va \
+ emgd-gst-plugins-mixvideo gst-va-intel"
+
+APPEND += "console=ttyPCH0,115200 console=tty0 vmalloc=256MB \
+ snd-hda-intel.enable_msi=0 \
+ "
+SERIAL_CONSOLE = "115200 ttyPCH0"
+GRUB_OPTS = "terminal_input console"
+
+# 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 \
+kernel-module-spidev \
+kernel-module-i2c-dev \
+kernel-module-iwlwifi \
+"
+
+# Include all firmware packages for the most compatible experience
+MACHINE_EXTRA_RRECOMMENDS += "linux-firmware"
diff --git a/recipes-graphics/xorg-xserver/xserver-xf86-config/minnow/xorg.conf b/recipes-graphics/xorg-xserver/xserver-xf86-config/minnow-emgd/xorg.conf
index c8befc3..c8befc3 100644
--- a/recipes-graphics/xorg-xserver/xserver-xf86-config/minnow/xorg.conf
+++ b/recipes-graphics/xorg-xserver/xserver-xf86-config/minnow-emgd/xorg.conf
diff --git a/recipes-kernel/linux/linux-yocto_3.10.bbappend b/recipes-kernel/linux/linux-yocto_3.10.bbappend
index a1fb6ac..e1bcc7a 100644
--- a/recipes-kernel/linux/linux-yocto_3.10.bbappend
+++ b/recipes-kernel/linux/linux-yocto_3.10.bbappend
@@ -1,24 +1,25 @@
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
-KBRANCH_minnow = "standard/base"
+KERNEL_FEATURES_MINNOW_COMMON = "features/netfilter/netfilter.scc \
+ features/usb-net/usb-net.scc \
+ features/wifi/wifi-all.scc \
+ features/minnow-io/minnow-io.scc \
+ features/media/media-all.scc"
+# Autoload modules for on-board hardware
+KERNEL_MODULE_AUTOLOAD_COMMON = "snd_hda_intel pch_gbe \
+ minnowboard minnowboard-gpio minnowboard-keys"
+
+# MinnowBoard v1 w/ FBDEV Unaccelerated Graphics Driver
COMPATIBLE_MACHINE_minnow = "minnow"
KMACHINE_minnow = "minnow"
-KERNEL_FEATURES_append_minnow = " features/drm-emgd/drm-emgd-1.18 \
- features/netfilter/netfilter.scc \
- features/usb-net/usb-net.scc \
- features/wifi/wifi-all.scc \
- features/minnow-io/minnow-io.scc \
- features/media/media-all.scc \
- "
-
-
-SRC_URI_minnow = "git://git.yoctoproject.org/linux-yocto-3.10;protocol=git;nocheckout=1;branch=${KBRANCH},${KMETA},emgd-1.18;name=machine,meta,emgd"
+KERNEL_FEATURES_append_minnow = " ${KERNEL_FEATURES_MINNOW_COMMON}"
+KERNEL_MODULE_AUTOLOAD_minnow += "${KERNEL_MODULE_AUTOLOAD_MINNOW_COMMON}"
-
-SRCREV_emgd_pn-linux-yocto_minnow ?= "42d5e4548e8e79e094fa8697949eed4cf6af00a3"
-
-# Autoload modules for on-board hardware
-KERNEL_MODULE_AUTOLOAD_minnow += "snd_hda_intel"
-KERNEL_MODULE_AUTOLOAD_minnow += "pch_gbe"
-KERNEL_MODULE_AUTOLOAD_minnow += "minnowboard minnowboard-gpio minnowboard-keys"
+# MinnowBoard v1 w/ EMGD Proprietary Graphics Driver
+COMPATIBLE_MACHINE_minnow-emgd = "minnow"
+KMACHINE_minnow-emgd = "minnow"
+KERNEL_FEATURES_append_minnow-emgd = " ${KERNEL_FEATURES_MINNOW_COMMON} features/drm-emgd/drm-emgd-1.18"
+SRC_URI_minnow-emgd = "git://git.yoctoproject.org/linux-yocto-3.10;protocol=git;nocheckout=1;branch=${KBRANCH},${KMETA},emgd-1.18;name=machine,meta,emgd"
+SRCREV_emgd_pn-linux-yocto_minnow-emgd ?= "42d5e4548e8e79e094fa8697949eed4cf6af00a3"
+KERNEL_MODULE_AUTOLOAD_minnow-emgd += "${KERNEL_MODULE_AUTOLOAD_MINNOW_COMMON}"