meta-intel: Add Inforce SYS940x BSP

The Inforce SYS940x-ECX Developer-Ready Reference Platform features:
o Intel Atom E6xx (0.6-1.6 GHz)
o Up to 1GB on-board DDR2
o Intel Platform Controller Hub EG20T
o VGA,LVDS
o HD Audio
o SD Card
o Dual SATA
o Mini-PCIe

http://www.inforcecomputing.com/SYS940X_ECX.html

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
This commit is contained in:
Darren Hart 2012-01-23 15:46:07 -08:00
parent c6d991cf83
commit 6aad740746
15 changed files with 344 additions and 0 deletions

17
meta-sys940x/COPYING.MIT Normal file
View File

@ -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.

140
meta-sys940x/README Normal file
View File

@ -0,0 +1,140 @@
This README file contains information on building the meta-sys940x BSP
layer, and booting the images contained in the /binary directory.
Please see the corresponding sections below for details.
The Inforce SYS940x platform consists of the Intel Atom E6xx
processor, plus the Intel EG20T Platform Controller Hub (Tunnel Creek
+ Topcliff).
It also supports the E6xx embedded on-chip graphics via the Intel
Embedded Media and Graphics Driver (EMGD) 1.10 Driver.
Dependencies
============
This layer depends on:
URI: git://git.openembedded.org/bitbake
branch: master
URI: git://git.openembedded.org/openembedded-core
layers: meta
branch: master
URI: git://git.yoctoproject.org/meta-intel
layers: intel
branch: master
Patches
=======
Please submit any patches against this BSP to the Yocto mailing list
(yocto@yoctoproject.org) and cc: the maintainer:
Maintainer: Darren Hart <dvhart@linux.intel.com>
Please see the meta-intel/MAINTAINERS file for more details.
Table of Contents
=================
I. Building the meta-sys940x BSP layer
II. Booting the images in /binary
I. Building the meta-sys940x BSP layer
===================================
In order 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.
Having done that, and assuming you extracted the BSP tarball contents
at the top-level of your yocto build tree, you can build an sys940x image
by adding the location of the meta-sys940x layer to bblayers.conf, along
with the meta-intel layer itself (to access common metadata shared
between BSPs) e.g.:
yocto/meta-intel \
yocto/meta-intel/meta-sys940x \
The meta-sys940x layer contains support for two different machine
configurations. These configurations are identical except for the fact
that the one prefixed with 'sys940x' makes use of the Intel-proprietary
EMGD 1.10 graphics driver, while the one prefixed with 'sys940x-noemgd'
does not.
If you want to enable the layer that supports EMGD graphics add the
following to the local.conf file:
MACHINE ?= "sys940x"
The 'sys940x' machine includes the emgd-driver-bin package, which has a
proprietary license that must be whitelisted by adding the string
"license_emgd-driver-bin_1.10" to the LICENSE_FLAGS_WHITELIST variable
in your local.conf. For example:
LICENSE_FLAGS_WHITELIST = "license_emgd-driver-bin_1.10"
If you want to enable the layer that does not support EMGD graphics
add the following to the local.conf file:
MACHINE ?= "sys940x-noemgd"
You should then be able to build an sys940x image as such:
$ source oe-init-build-env
$ bitbake core-image-sato
At the end of a successful build, you should 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').
As an alternative to downloading the BSP tarball, you can also work
directly from the meta-intel git repository. For each BSP in the
'meta-intel' repository, there are multiple branches, one
corresponding to each major release starting with 'laverne' (0.90), in
addition to the latest code which tracks the current master (note that
not all BSPs are present in every release). Instead of extracting a
BSP tarball at the top level of your yocto build tree, you can
equivalently check out the appropriate branch from the meta-intel
repository at the same location.
II. Booting the images in /binary
=================================
This BSP contains bootable live images, which can be used to directly
boot Yocto off of a USB flash drive.
Under Linux, insert a USB flash drive. Assuming the USB flash drive
takes device /dev/sdf, use dd to copy the live image to it. For
example:
# dd if=core-image-sato-sys940x-20101207053738.hddimg of=/dev/sdf
# sync
# eject /dev/sdf
This should give you a bootable USB flash device. Insert the device
into a bootable USB socket on the target, and power on. This should
result in a system booted to the Sato graphical desktop.
If you want a terminal, use the arrows at the top of the UI to move to
different pages of available applications, one of which is named
'Terminal'. Clicking that should give you a root terminal.
If you want to ssh into the system, you can use the root terminal to
ifconfig the IP address and use that to ssh in. The root password is
empty, so to log in type 'root' for the user name and hit 'Enter' at
the Password prompt: and you should be in.
----
If you find you're getting corrupt images on the USB (it doesn't show
the syslinux boot: prompt, or the boot: prompt contains strange
characters), try doing this first:
# dd if=/dev/zero of=/dev/sdf bs=1M count=512

View File

@ -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:
# FIXME: update the following link after the Yocto Project 1.2 release
http://www.yoctoproject.org/downloads/yocto-1.2/poky-RELEASENAME-6.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://git.yoctoproject.org/meta-intel

0
meta-sys940x/binary/.gitignore vendored Normal file
View File

View File

@ -0,0 +1,10 @@
# We have a conf and classes directory, add to BBPATH
BBPATH := "${BBPATH}:${LAYERDIR}"
# We have a recipes directory, add to BBFILES
BBFILES := "${BBFILES} ${LAYERDIR}/recipes-*/*/*.bb \
${LAYERDIR}/recipes-*/*/*.bbappend"
BBFILE_COLLECTIONS += "sys940x"
BBFILE_PATTERN_sys940x := "^${LAYERDIR}/"
BBFILE_PRIORITY_sys940x = "6"

View File

@ -0,0 +1,19 @@
#@TYPE: Machine
#@NAME: sys940x
#@DESCRIPTION: Machine configuration for Inforce SYS940X systems
# i.e. E660 + EG20T
include conf/machine/include/tune-atom.inc
include conf/machine/include/ia32-base.inc
# Add "pcbios" if you have a non-efi version of the firmware
MACHINE_FEATURES += "efi pcbios"
XSERVER ?= "${XSERVER_IA32_BASE} \
${XSERVER_IA32_EXT} \
${XSERVER_IA32_VESA} \
"
SERIAL_CONSOLE = "115200 ttyS0"
APPEND += "console=ttyS0,115200 console=tty0"

View File

@ -0,0 +1,23 @@
#@TYPE: Machine
#@NAME: sys940x
#@DESCRIPTION: Machine configuration for Inforce SYS940x systems
# i.e. E660 + EG20T
include conf/machine/include/tune-atom.inc
include conf/machine/include/ia32-base.inc
# Add "pcbios" if you have a non-efi version of the firmware
MACHINE_FEATURES += "efi pcbios"
XSERVER ?= "${XSERVER_IA32_BASE} \
${XSERVER_IA32_EXT} \
${XSERVER_IA32_EMGD} \
"
PREFERRED_VERSION_xserver-xorg ?= "1.9.3"
PREFERRED_VERSION_mesa-dri ?= "7.11"
PREFERRED_VERSION_emgd-driver-bin ?= "1.8"
SERIAL_CONSOLE = "115200 ttyS0"
APPEND += "console=ttyS0,115200 console=tty0"

View File

@ -0,0 +1,3 @@
# Assume a USB mouse and keyboard are connected
HAVE_TOUCHSCREEN=0
HAVE_KEYBOARD=1

View File

@ -0,0 +1,3 @@
# Assume a USB mouse and keyboard are connected
HAVE_TOUCHSCREEN=0
HAVE_KEYBOARD=1

View File

@ -0,0 +1,3 @@
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
PRINC = "1"

View File

@ -0,0 +1,26 @@
Section "Device"
Identifier "Generic VESA"
Driver "vesa"
EndSection
Section "Monitor"
Identifier "Generic Monitor"
Option "DPMS"
EndSection
Section "Screen"
Identifier "Default Screen"
Device "Generic VESA"
Monitor "Generic Monitor"
DefaultDepth 24
EndSection
Section "ServerLayout"
Identifier "Default Layout"
Screen "Default Screen"
EndSection
Section "ServerFlags"
Option "DontZap" "0"
Option "AutoAddDevices" "False"
EndSection

View File

@ -0,0 +1,48 @@
##
## X Config options generated from CED
## x11 conf skeleton
## DriverVer=
##
Section "Screen"
Identifier "Screen0"
Device "IntelEMGD-0"
Monitor "Monitor0"
SubSectionSub "Display"
EndSubSection
EndSection
# Primary (First/only) display
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"
Option "ALL/1/General/PortOrder" "32400"
Option "ALL/1/General/DisplayConfig" "1"
Option "ALL/1/General/DisplayDetect" "1"
Option "ALL/1/General/TuningWA" "1"
Option "ALL/1/Port/4/General/name" "lvds"
Option "ALL/1/Port/4/General/EdidAvail" "3"
Option "ALL/1/Port/4/General/EdidNotAvail" "1"
Option "ALL/1/Port/4/General/Rotation" "0"
Option "ALL/1/Port/4/General/Edid" "0"
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

View File

@ -0,0 +1,3 @@
THISDIR := "${@os.path.dirname(bb.data.getVar('FILE', d, True))}"
FILESPATH =. "${@base_set_filespath(["${THISDIR}/${PN}"], d)}:"

View File

@ -0,0 +1,14 @@
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
COMPATIBLE_MACHINE_sys940x = "sys940x"
KMACHINE_sys940x = "sys940x"
KERNEL_FEATURES_append_sys940x += " cfg/smp.scc cfg/efi-ext.scc"
COMPATIBLE_MACHINE_sys940x-noemgd = "sys940x-noemgd"
KMACHINE_sys940x-noemgd = "sys940x"
KERNEL_FEATURES_append_sys940x-noemgd += " cfg/smp.scc cfg/efi-ext.scc"
# Update the following to use a different BSP branch or meta SRCREV
#KBRANCH_sys940x = "yocto/standard/preempt-rt/base"
#SRCREV_machine_pn-linux-yocto-rt_sys940x ?= XXXX
#SRCREV_meta_pn-linux-yocto-rt_sys940x ?= XXXX

View File

@ -0,0 +1,17 @@
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
COMPATIBLE_MACHINE_sys940x = "sys940x"
KMACHINE_sys940x = "sys940x"
KBRANCH_sys940x = "yocto/standard/base"
KERNEL_FEATURES_append_sys940x += " cfg/smp.scc cfg/efi-ext.scc"
COMPATIBLE_MACHINE_sys940x-noemgd = "sys940x-noemgd"
KMACHINE_sys940x-noemgd = "sys940x"
KBRANCH_sys940x-noemgd = "yocto/standard/base"
KERNEL_FEATURES_append_sys940x-noemgd += " cfg/smp.scc cfg/efi-ext.scc"
SRCREV_machine_pn-linux-yocto_sys940x ?= "5df0b4c2538399aed543133b3855f809adf08ab8"
SRCREV_meta_pn-linux-yocto_sys940x ?= "77ca4855e80acb8dad21acea946908716c308b5b"
SRCREV_machine_pn-linux-yocto_sys940x-noemgd ?= "5df0b4c2538399aed543133b3855f809adf08ab8"
SRCREV_meta_pn-linux-yocto_sys940x-noemgd ?= "77ca4855e80acb8dad21acea946908716c308b5b"