[meta-intel] [PATCH 1/6] meta-valleyisland: new BSP layer for Intel Atom Processor E38XX

Kamble, Nitin A nitin.a.kamble at intel.com
Fri Feb 7 11:08:48 PST 2014


On 2/5/2014 2:21 AM, rebecca.swee.fun.chang at intel.com wrote:
> From: "Chang, Rebecca Swee Fun" <rebecca.swee.fun.chang at intel.com>
>
> This layer provides support for Intel Atom Processor E38XX
> product line.
>
> Signed-off-by: Chang, Rebecca Swee Fun <rebecca.swee.fun.chang at intel.com>
> ---
>   meta-isg/meta-valleyisland/COPYING.MIT     |   17 +++
>   meta-isg/meta-valleyisland/README          |  217 ++++++++++++++++++++++++++++
>   meta-isg/meta-valleyisland/README.sources  |   18 +++
>   meta-isg/meta-valleyisland/conf/layer.conf |   14 ++
>   4 files changed, 266 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
>
> diff --git a/meta-isg/meta-valleyisland/COPYING.MIT b/meta-isg/meta-valleyisland/COPYING.MIT
> new file mode 100644
> index 0000000..89de354
> --- /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 0000000..aed19d3
> --- /dev/null
> +++ b/meta-isg/meta-valleyisland/README
> @@ -0,0 +1,217 @@
> +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
> +
> +Dependencies
> +============
> +
> +This layer depends on:
> +
> +  URI: git://git.openembedded.org/bitbake
> +  branch: master
> +
> +  URI: git://git.openembedded.org/openembedded-core
> +  layers: meta
> +  branch: dylan
> +
> +  URI: git://git.yoctoproject.org/meta-intel
> +  layers: intel
> +  branch: dylan
> +
> +Patches
> +=======
> +
> +Please submit any patches against this BSP to the Yocto mailing list
> +(yocto at yoctoproject.org) and cc: the maintainer:
> +
> +Maintainer: Chang, Rebecca Swee Fun <rebecca.swee.fun.chang at intel.com>
> +
> +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"
> +
> +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 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-valleyisland-32.hddimg of=/dev/sdf
This is not the proper way to create bootable USB flash disks for EFI 
enabled disks.
Instead mkefidisk script or wic need to be mentioned here.  And this 
apply to the similar
commit in the master branch too.

Tom, can you clarify the steps for this section?

Thanks,
Nitin
> +# sync
> +# eject /dev/sdf
> +
> +This should give you a bootable USB flash device.  Insert the device
> +into one of the USB host ports 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
> +
> +
> +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)
> +
> +
> +To use SMBUS driver, you'll need to append the following argument to
> +the kernel command line.
> +
> +  "acpi_enforce_resources=lax"
> +
> +
> +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
> +
> +If you would like to use the ACPI mode LPSS device, press e to edit
> +kernel command line when you see the Yocto GRUB Menu during boot up.
> +Append the following argument at the end of kernel boot command line.
> +
> +  "byt-board.disable=1"
> +
> +
> +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 0000000..9c33a64
> --- /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.4/poky-dylan-9.0.2.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 0000000..0165aea
> --- /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"



More information about the meta-intel mailing list