From 3038ba05555ded1e68692ca7c214de896b51e18e Mon Sep 17 00:00:00 2001 From: Rebecca Chang Swee Fun Date: Sat, 10 May 2014 01:58:32 +0800 Subject: meta-valleyisland: new BSP layer for Intel Atom E38XX Processor This layer provides support for Intel Atom E38XX Processor product line. Signed-off-by: Chan Wei Sern Signed-off-by: Rebecca Chang Swee Fun Acked-By: Nitin A Kamble --- meta-isg/meta-valleyisland/COPYING.MIT | 17 +++ meta-isg/meta-valleyisland/README | 218 +++++++++++++++++++++++++++++ meta-isg/meta-valleyisland/README.sources | 18 +++ meta-isg/meta-valleyisland/conf/layer.conf | 14 ++ 4 files changed, 267 insertions(+) create mode 100644 meta-isg/meta-valleyisland/COPYING.MIT create mode 100644 meta-isg/meta-valleyisland/README create mode 100644 meta-isg/meta-valleyisland/README.sources create mode 100644 meta-isg/meta-valleyisland/conf/layer.conf (limited to 'meta-isg/meta-valleyisland') diff --git a/meta-isg/meta-valleyisland/COPYING.MIT b/meta-isg/meta-valleyisland/COPYING.MIT new file mode 100644 index 00000000..89de3547 --- /dev/null +++ b/meta-isg/meta-valleyisland/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/meta-isg/meta-valleyisland/README b/meta-isg/meta-valleyisland/README new file mode 100644 index 00000000..99cba0d1 --- /dev/null +++ b/meta-isg/meta-valleyisland/README @@ -0,0 +1,218 @@ +This README file contains information on building the meta-valleyisland +BSP layer, and booting the images contained in the /binary directory. +Please see the corresponding sections below for details. + +The Valley Island BSP consists of two versions: +1. 32-bit Valley Island +2. 64-bit Valley Island + +The BSP is made specifically for Intel Atom E38XX Processor E38XX +Development Kit (formerly known as Valley Island). This BSP integrates +Intel Graphics for Linux driver as the integrated graphics. + +Valley Island BSP is meant to support Valley Island Development +Kit, "Bayley Bay" CRB and "Bakersport" CRB. + +Further information on the platforms supported by this BSP can be +found here: + + http://www.intel.com/content/www/us/en/intelligent-systems/bay-trail/atom-processor-e3800-family-overview.html + +Information on all IntelĀ® embedded platforms can be found here: + + http://www.intel.com/p/en_US/embedded/hwsw/hardware + +Yocto Project Compatible +======================== + +This BSP is compatible with the Yocto Project as per the requirements +listed here: + + https://www.yoctoproject.org/webform/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: master + + URI: git://git.yoctoproject.org/meta-intel + layers: intel + branch: master + +Patches +======= + +Please submit any patches against this BSP to the Meta-Intel Yocto mailing list +(meta-intel@yoctoproject.org) and cc: the maintainer: + +Maintainer: Chang Rebecca Swee Fun + +Please see the meta-isg/MAINTAINERS file for more details. + +Table of Contents +================= + + I. Building the meta-valleyisland BSP layer + II. Booting the images in /binary +III. Device Notes + a. Boot Loader + b. I/O drivers + c. LPIO ACPI enumeration support + IV. Known Issues + a. I/O drivers + + +I. Building the meta-valleyisland 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 that done, and assuming you have extracted the BSP tarball contents +at the top-level of your Yocto build tree, you can build a valleyisland +image by adding the location of the meta-valleyisland 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-isg/meta-valleyisland \ + +To enable the 32-bit Valley Island layer, add the valleyisland-32 MACHINE to local.conf: + + MACHINE ?= "valleyisland-32" + +To enable the 64-bit Valley Island layer, add the valleyisland-64 MACHINE to local.conf: + + MACHINE ?= "valleyisland-64" + +The meta-valleyisland contains support for Intel HD Audio. However, HD Audio +driver is dependent on gstreamer plugins and ffmpeg plugins to work properly. +These gstreamer plugins require license flags in order to be included in the build. + +Add "commercial" in the LICENSE_FLAGS_WHITELIST in local.conf. For example: + + LICENSE_FLAGS_WHITELIST = "commercial" + +You should then be able to build a valleyisland 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 (or builds) live images which must be converted to a +partitioned image format in order to boot them on the Valley Island +Development Kit, Bayley Bay CRB and Bakersport CRB. + +You can deploy the hddimg image to a USB 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. Watching your system messages as you connect the device +will tell you exactly which device name is assigned to the device. +On the Valley Island platform, assuming only one storage device is +attached at boot, a USB or SATA device will be /dev/sda. + +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 by poky under scripts/contrib/. Note that root +privileges are required. For example, using an USB device which appears +as /dev/sdc on the host: + +$ sudo ./mkefidisk.sh /dev/sdc core-image-sato-valleyisland-32.hddimg /dev/sda + +Follow the prompts on the screen to confirm the action. + +Insert the device into the Valley Island platform and power on. This +should result in a system booted to the Sato graphical desktop. + +The root password is empty on the Poky reference distribution images. + + +III. Device Notes +================= +a. Boot Loader +-------------- +BIOS : Bayley Bay 072_011 +EC : KSC v3.10 for Bayley Bay/Bakersport CRB Fab3 + +Required settings in BIOS + + Turn off Secure-boot: + Device Manager -> System Setup -> Boot -> Security Boot -> Disable + + Turn off LPE Audio Support: + Device Manager -> System Setup -> South Cluster Configuration -> + Audio Configuration -> LPE Audio Support -> Disable + +Please use EFI mode for all boot medium types, i.e. USB disk and Hard Disk. +Setting in BIOS: + + Choose boot medium: + Boot Manager -> EFI (Hard Drive/USB Device) + + Save settings: + Boot Maintenance Manager -> Boot Options -> Change Boot Order -> + Change the order -> Commmit Changes and Exit + + +b. I/O drivers +-------------- +The I2C controller driver supports fast mode by default. +To enable standard mode, appends the arguments to kernel command line. + + "i2c-designware-pci.force_std_mode=1" (PCI mode) + "i2c-designware-platform.force_std_mode=1" (ACPI mode) + + +c. LPIO ACPI enumeration support +-------------------------------- +Required settings in BIOS + + Turn on ACPI mode + Device Manager -> System Setup -> South Cluster Configuration -> + LPSS & SCC Configuration -> LPSS & SCC Device Mode -> ACPI mode + +Some LPSS devices are hidden in ACPI mode to support Windows. To enable +these devices, toggle the following in the BIOS Menu. + + Device Manager -> System Setup -> South Cluster Configuration -> Miscellaneous + Configuration -> Unsupported LPSS Device and select "Unhide" + + +IV. Known Limitations +===================== +a. I/O drivers +-------------- +HSUART: + +When runninig PCI mode HSUART at baud rate 2M and above, you may observe +kernel message "serial8250: too much work for irq...". Most of the time it +won't disrupt the transfer and able to complete without data corruption. +However, occasionally your transfer may halt when that kernel message appear. +In this case, you would need to re-open the HSUART port. diff --git a/meta-isg/meta-valleyisland/README.sources b/meta-isg/meta-valleyisland/README.sources new file mode 100644 index 00000000..eef58fec --- /dev/null +++ b/meta-isg/meta-valleyisland/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: + +http://downloads.yoctoproject.org/releases/yocto/yocto-1.5/poky-dora-10.0.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 diff --git a/meta-isg/meta-valleyisland/conf/layer.conf b/meta-isg/meta-valleyisland/conf/layer.conf new file mode 100644 index 00000000..00eea9cd --- /dev/null +++ b/meta-isg/meta-valleyisland/conf/layer.conf @@ -0,0 +1,14 @@ +#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 += "valleyisland" +BBFILE_PATTERN_valleyisland := "^${LAYERDIR}/" +BBFILE_PRIORITY_valleyisland = "6" + +LAYERDEPENDS_valleyisland = "intel" + +LICENSE_PATH += "${LAYERDIR}/custom-licenses" -- cgit v1.2.3-54-g00ecf