24
Document Number: 546069 Tizen* IVI 3.0 M2 Kernel 3.10 LTSI Linux* Support Package for the Intel ® Atom™ Processor E3800 Series Getting Started Guide APRIL 2014

Tizen ivi 3.0 m2 kernel 3.10 ltsi linux support package for the intel atom processor e3800 series

  • Upload
    ryo-jin

  • View
    1.157

  • Download
    6

Embed Size (px)

DESCRIPTION

Tizen IVI 3.0 M2 Kernel 3.10 LTSI Linux Support Package for the Intel Atom Processor E3800 Series

Citation preview

Page 1: Tizen ivi 3.0 m2 kernel 3.10 ltsi linux support package for the intel atom processor e3800 series

Document Number: 546069

Tizen* IVI 3.0 M2 Kernel 3.10 LTSI Linux* Support Package for

the Intel® Atom™ Processor

E3800 Series

Getting Started Guide

APRIL 2014

Page 2: Tizen ivi 3.0 m2 kernel 3.10 ltsi linux support package for the intel atom processor e3800 series

Tizen* IVI 3.0 M2 Kernel 3.10 LTSI Linux* Support Package for the Intel® Atom™ Processor E3800 Series - Getting Started Guide – Rev.1.0 2 Document Number: 546069

INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL PRODUCTS. NO LICENSE, EXPRESS OR IMPLIED,

BY ESTOPPEL OR OTHERWISE, TO ANY INTELLECTUAL PROPERTY RIGHTS IS GRANTED BY THIS DOCUMENT. EXCEPT AS

PROVIDED IN INTEL'S TERMS AND CONDITIONS OF SALE FOR SUCH PRODUCTS, INTEL ASSUMES NO LIABILITY WHATSOEVER

AND INTEL DISCLAIMS ANY EXPRESS OR IMPLIED WARRANTY, RELATING TO SALE AND/OR USE OF INTEL PRODUCTS INCLUDING LIABILITY OR WARRANTIES RELATING TO FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR

INFRINGEMENT OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT.

A "Mission Critical Application" is any application in which failure of the Intel Product could result, directly or indirectly, in

personal injury or death. SHOULD YOU PURCHASE OR USE INTEL'S PRODUCTS FOR ANY SUCH MISSION CRITICAL APPLICATION, YOU SHALL INDEMNIFY AND HOLD INTEL AND ITS SUBSIDIARIES, SUBCONTRACTORS AND AFFILIATES, AND THE

DIRECTORS, OFFICERS, AND EMPLOYEES OF EACH, HARMLESS AGAINST ALL CLAIMS COSTS, DAMAGES, AND EXPENSES AND

REASONABLE ATTORNEYS' FEES ARISING OUT OF, DIRECTLY OR INDIRECTLY, ANY CLAIM OF PRODUCT LIABILITY, PERSONAL

INJURY, OR DEATH ARISING IN ANY WAY OUT OF SUCH MISSION CRITICAL APPLICATION, WHETHER OR NOT INTEL OR ITS

SUBCONTRACTOR WAS NEGLIGENT IN THE DESIGN, MANUFACTURE, OR WARNING OF THE INTEL PRODUCT OR ANY OF ITS

PARTS.

Intel may make changes to specifications and product descriptions at any time, without notice. Designers must not rely on the

absence or characteristics of any features or instructions marked "reserved" or "undefined". Intel reserves these for future

definition and shall have no responsibility whatsoever for conflicts or incompatibilities arising from future changes to them. The

information here is subject to change without notice. Do not finalize a design with this information.

The products described in this document may contain design defects or errors known as errata which may cause the product to

deviate from published specifications. Current characterized errata are available on request.

Any software source code reprinted in this document is furnished under a software license and may only be used or copied in

accordance with the terms of that license.

Code Names are only for use by Intel to identify products, platforms, programs, services, etc. (“products”) in development by

Intel that have not been made commercially available to the public, i.e., announced, launched or shipped. They are never to be

used as “commercial” names for products. Also, they are not intended to function as trademarks.

Contact your local Intel sales office or your distributor to obtain the latest specifications and before placing your product order.

Copies of documents which have an order number and are referenced in this document, or other Intel literature, may be obtained

by calling 1-800-548-4725, or go to: http://www.intel.com/design/literature.htm

BlueMoon, BunnyPeople, Celeron, Celeron Inside, Centrino, Centrino Inside, Cilk, Core Inside, E-GOLD, Flexpipe, i960, Intel, the

Intel logo, the Intel Anti-Theft technology logo, Intel AppUp, Intel Atom, Intel Atom Inside, Intel CoFluent, Intel Core, Intel Inside, Intel Insider, the Intel Inside logo, Intel NetBurst, Intel NetMerge, Intel NetStructure, Intel SingleDriver, Intel SpeedStep,

Intel Sponsors of Tomorrow., the Intel Sponsors of Tomorrow. logo, Intel StrataFlash, Intel vPro, Intel Xeon Phi, Intel XScale,

InTru, the InTru logo, the InTru Inside logo, InTru soundmark, Itanium, Itanium Inside, MCS, MMX, Pentium, Pentium Inside,

Puma, skoool, the skoool logo, SMARTi, Sound Mark, Stay With It, The Creators Project, The Journey Inside, Thunderbolt,

Ultrabook, vPro Inside, VTune, Xeon, Xeon Inside, X-GOLD, XMM, X-PMU and XPOSYS are trademarks of Intel Corporation in the

U.S. and/or other countries.

*Other names and brands may be claimed as the property of others.

Copyright © 2014, Intel Corporation. All rights reserved.

Page 3: Tizen ivi 3.0 m2 kernel 3.10 ltsi linux support package for the intel atom processor e3800 series

Tizen* IVI 3.0 M2 Kernel 3.10 Linux* Support Package for Intel® Atom™ Processor E3800 Series - Getting Started Guide – Rev. 1.0

Document Number: 546069 3

Contents

1 Introduction ........................................................................................................... 7

2 System Setup ......................................................................................................... 8

2.1 Hardware and Software Requirement .................................................................. 8 2.2 BIOS and Board Configuration ........................................................................... 8

2.2.1 Intel® Atom E3800 Series Platform CRB BIOS Configurations ......... 8

3 Installation Procedure.......................................................................................... 12

3.1 Creating the Image in the Development Machine ................................................. 12 3.2 Compiling Kernel Version 3.10.28 ...................................................................... 12 3.3 Intel® EMGD, Weston, LibVA, VAAPI, Gstreamer Installation ................................. 15

3.3.1 Build the Kernel with Intel® EMGD .............................................. 15 3.4 Enable LPE and ISP Firmware and Drivers .......................................................... 16

3.4.1 Install LPE firmware .................................................................. 16 3.4.2 Build Kernel with LPE Driver ....................................................... 18 3.4.3 Copy over ISP Firmware ............................................................ 18 3.4.4 Build Kernel with ISP Driver ....................................................... 18

3.5 Weston, LibVA, VAAPI and Gstreamer Installation ............................................... 19 3.5.1 Configuring and Installing the User Space Libraries on Tizen* IV .... 19 3.5.2 Installing Mesa ......................................................................... 19 3.5.3 Installing libva and intel-vaapi driver .......................................... 20 3.5.4 Installing gstreamer and gstreamer-vaapi .................................... 20

3.6 Reboot System ............................................................................................... 21 3.7 Appendix: How to Use Intel® EMGD on Tizen* IVI ............................................... 22

3.7.1 How to Configure Weston .......................................................... 22 3.7.2 How to Use Gstreamer .............................................................. 24

Figures

Figure 1. USB Type-A to USB Micro B Cable ....................................................................... 10 Figure 2. Serial COM Port of USB Micro-B Type on CRB. ...................................................... 11

Page 4: Tizen ivi 3.0 m2 kernel 3.10 ltsi linux support package for the intel atom processor e3800 series

Tizen* IVI 3.0 M2 Kernel 3.10 LTSI Linux* Support Package for the Intel® Atom™ Processor E3800 Series - Getting Started Guide – Rev.1.0 4 Document Number: 546069

Revision History

Date Revision Description

Apr 2014 1.0 Initial release.

Page 5: Tizen ivi 3.0 m2 kernel 3.10 ltsi linux support package for the intel atom processor e3800 series

Tizen* IVI 3.0 M2 Kernel 3.10 Linux* Support Package for Intel® Atom™ Processor E3800 Series - Getting Started Guide – Rev. 1.0

Document Number: 546069 5

Terminology

Acronym/Term Definition

ACPI Advanced Configuration and Power Interface

ADMA Advanced Direct Memory Access

AGP Accelerated Graphics Port

AHCI Advanced Host Controller Interface

ATX Advanced Technology eXtended

Audio AIC Audio Add In Card

BIOS Basic Input/Output System

CRB Customer Reference Board

DMA Direct Memory Access

EHCI Enhanced Host Controller Interface

EMGD Embedded Media and Graphics Driver

FIFO First-In First-Out

FW Firmware

GFX Graphics

GPIO General Purpose Input Output

GPU Graphics Processing Unit

HSUART/HS-UART High Speed Universal Asynchronous Receiver/Transmitter

I/O Input/Output

I2C Inter-IC Bus

ISP Image Signal Processor

IVI In-Vehicle Infotainment

KSC keyboard System Controller

LPE Low Power Engine

LPSS Low Power Sub-System

OS Operating System

PCI Peripheral Connect Interface

RPM Red Hat Package Manager

SATA Serial Advanced Technology Attachment

SCC Scalable Communications Core

SDMMC Secure Digital/Multimedia Card

Page 6: Tizen ivi 3.0 m2 kernel 3.10 ltsi linux support package for the intel atom processor e3800 series

Tizen* IVI 3.0 M2 Kernel 3.10 LTSI Linux* Support Package for the Intel® Atom™ Processor E3800 Series - Getting Started Guide – Rev.1.0 6 Document Number: 546069

Acronym/Term Definition

SPI Serial Peripheral Interface

SSP Synchronous Serial Port

UART Universal Asynchronous Receiver/Transmitter

USB Universal Serial Bus

Bay Trail Valleyview

XHCI eXtensible Host Controller Interface

Page 7: Tizen ivi 3.0 m2 kernel 3.10 ltsi linux support package for the intel atom processor e3800 series

Introduction

Tizen* IVI 3.0 M2 Kernel 3.10 Linux* Support Package for Intel® Atom™ Processor E3800 Series - Getting Started Guide – Rev. 1.0

Document Number: 546069 7

1 Introduction

This document is a guide to building a customized kernel and booting it with the Tizen* 3.0 M2 Kernel 3.10 Operating System for the Intel® Atom™ E3800 Series Platform. The document contains information on I/O, LPE Audio, and ISP’s configuration and known limitations. The document also contains a general guideline

to integrate Intel® Embedded and Mobile Graphics Driver (EMGD) to the Tizen* IVI 3.0 M2 Kernel 3.10 Operating System.

The step-by-step instructions in this document have been used with the Intel®

Customer Reference Board (CRB).

For customers evaluating or using the CRB as a basis for their embedded design, and Tizen* as their operating system, this document is the primary guidance Intel®

provides for setting up the drivers and operating system.

The following items are covered in this document:

System Setup Installation Procedure

Page 8: Tizen ivi 3.0 m2 kernel 3.10 ltsi linux support package for the intel atom processor e3800 series

System Setup

Tizen* IVI 3.0 M2 Kernel 3.10 LTSI Linux* Support Package for the Intel® Atom™ Processor E3800 Series - Getting Started Guide – Rev.1.0 8 Document Number: 546069

2 System Setup

2.1 Hardware and Software Requirement

The following hardware and software items are required for a successful Tizen operating system installation on the Bay Trail platform:

Intel® Atom™ E3800 Series CRB

Power supply

Hard disk drive (>=8G), or 64 EMMC card

A development system installed with Fedora* 14 or Fedora* 16

Vanilla Kernel 3.10.28

Raw Tizen* ISO image

Linux* Support Package (LSP) patch files

Intel® EMGD driver package

2.2 BIOS and Board Configuration

Intel® Atom™ E3800 Series CRB needs to be configured with the following

configurations:

Notes: The validation is done under the KSC version and configuration below.

2.2.1 Intel® Atom E3800 Series Platform CRB BIOS

Configurations

BIOS/KSC Configuration

Board Intel® Atom™ Processor E3800 Series Platform CRB BIOS Configurations

BIOS version BYTICRB_IA32_R_SPI_0080_11_SeC_Enable.bin

KSC Version ksc_v3_12.bin

USB

Configuration

To enable XHCI controller: 1. Device Manager > System Setup > South Cluster Configuration > USB

Configuration > EHCI Controller > Disable 2. Device Manager > System Setup > South Cluster Configuration > USB

Configuration > XHCI Controller > Enable

Device Manager > System Setup > South Cluster Configuration > USB

Configuration > XHCI Mode > Enable

To enable USB Device: 1. Device Manager > System Setup > South Cluster Configuration > USB

Configuration >USB OTG Support > PCI Mode 2. Device Manager > System Setup > South Cluster Configuration > USB

Configuration >USB VBUS > OFF

Page 9: Tizen ivi 3.0 m2 kernel 3.10 ltsi linux support package for the intel atom processor e3800 series

System Setup

Tizen* IVI 3.0 M2 Kernel 3.10 Linux* Support Package for Intel® Atom™ Processor E3800 Series - Getting Started Guide – Rev. 1.0

Document Number: 546069 9

BIOS/KSC Configuration

LPSS and SCC

Configuration

If the LPSS & SCC mode is ACPI Mode by default in the BIOS setting, please change the setting to PCI Mode.

To enable PCI/ACPI mode: 1. Device Manager > System Setup > South Cluster Configuration > LPSS &

SCC Configuration > LPSS & SCC Devices Mode (select ACPI Mode or PCI Mode)

The eMMC controller v4.5 is enabled by default. To switch to eMMC controller

v4.41: 1. Device Manager > System Setup > South Cluster Configuration > LPSS &

SCC Configuration > SCC eMMC Boot Controller > eMMC4.41

Disable LPSS MIPI HSI, PWM#1 and PWM#2:

1. Device Manager > System Setup > South Cluster Configuration > LPSS &

SCC Configuration > LPSS PWM #1 Support > Disable

2. Device Manager > System Setup > South Cluster Configuration > LPSS &

SCC Configuration > LPSS PWM #2 Support > Disable

3. Device Manager > System Setup > South Cluster Configuration > LPSS &

SCC Configuration > MIPI HIS Support > Disable

LPE Audio

Configuration

Set Device Manager>System Setup > South Cluster Configuration > Audio

Configuration > LPE Audio Support>LPE Audio PCI mode

Set Device Manager>System Setup > South Cluster Configuration > Audio Configuration > Audio Controller >Disable

AIC Codec AK4614 master or slave mode selection:

a) AK4614 codec can either working in slave or master mode,

depending on platform design and VLV SSP configuration.

b) Jumper “J119 M/S” on Audio AIC board is used to select either

codec is running master or slave mode.

c) When shorted pin1&pin2 of J119 represent AK4614 codec is

running on master mode; shorted pin2&pin3 of J119 meaning

AK4614 codec is running on slave mode.

d) When codec is master mode, VLV SSP2 shall be working as slave

mode and vice versa.

e) 4 different LPE FW binaries are released,

a. fw_sst_0f28.bin-i2s_master or fw_sst_0f28.bin-

tdm_master are to be used for BYT SSP2 as master

(thus AK4614 codec is slave);

b. whereas fw_sst_0f28.bin-i2s_slave or fw_sst_0f28.bin-

tdm_slave shall be used for BYT SSP2 as slave (thus

AK4614 codec is master)

Please ensure platform is switched off before changing J119 M/S jumper setting

Page 10: Tizen ivi 3.0 m2 kernel 3.10 ltsi linux support package for the intel atom processor e3800 series

System Setup

Tizen* IVI 3.0 M2 Kernel 3.10 LTSI Linux* Support Package for the Intel® Atom™ Processor E3800 Series - Getting Started Guide – Rev.1.0 10 Document Number: 546069

BIOS/KSC Configuration

ISP

Configuration 1. System Setup -> Uncore Configuration->ISP Enable

System Setup -> Uncore Configuration ->ISP PCI Device as B0D3F0

SATA

Configuration

To enable AHCI mode:

Device Manager > System Setup > South Cluster Configuration > SATA Drives > Chipset SATA Mode > AHCI

UART Interface

Selection

To enable LDC card as serial console output:

Device Manager > System Setup > South Cluster Configuration > Miscellaneous Configuration > UART Interface Selection > SuperIO UART

Note: If the above setting is not done, you will encounter boot failure

with LDC card. You would need a USB Type A to USB micro-B cable (as below). Connect the USB micro-B end to the “SERIAL COM PORT” (as below) on platform and the other end to the USB host on Windows machine. Ensure the “Internal UART” setting is enabled: Device Manager > System Setup > South Cluster Configuration > Miscellaneous Configuration > UART Interface Selection > Internal UART

Figure 1. USB Type-A to USB Micro B Cable

Page 11: Tizen ivi 3.0 m2 kernel 3.10 ltsi linux support package for the intel atom processor e3800 series

System Setup

Tizen* IVI 3.0 M2 Kernel 3.10 Linux* Support Package for Intel® Atom™ Processor E3800 Series - Getting Started Guide – Rev. 1.0

Document Number: 546069 11

Figure 2. Serial COM Port of USB Micro-B Type on CRB.

Page 12: Tizen ivi 3.0 m2 kernel 3.10 ltsi linux support package for the intel atom processor e3800 series

Installation Procedure

Tizen* IVI 3.0 M2 Kernel 3.10 LTSI Linux* Support Package for the Intel® Atom™ Processor E3800 Series - Getting Started Guide – Rev.1.0 12 Document Number: 546069

3 Installation Procedure

3.1 Creating the Image in the Development Machine

1. By using the development machine, download Tizen* image from Tizen* repo. http://download.tizen.org/releases/milestone/tizen/ivi/tizen_20140115.4/images/ivi-

release-efi-i586/tizen_20140115.4_ivi-release-efi-i586-sdb.raw.bz2

2. Unzip the file. bunzip2 tizen_xxx_ivi-release-efi-i586-sdb.raw.bz2

3. Prepare a hard disk and a development machine. Use dd command to make a Tizen

hard disk: dd if=<image_name.raw> of=/dev/sdX bs=1M

Note: Replace sdX with the appropriate drive letter of the target hard disk (e.g., sdb)

3.2 Compiling Kernel Version 3.10.28

Note: Ensure the Fedora* machine is installed with gcc version 4.6.3-2 before compiling the Kernel 3.10.

1. Install the required dependencies by using yum command as follow

yum install gdb gcc make diffutils perl ncurses-devel patch autoconf

which dos2unix bc ncurses-devel

Type “y” when you are asked to install the packages. 2. Get a copy of Linux* Kernel stable source version 3.10.28 from open source using

git. git clone

http://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-

stable.git

cd linux-stable

git checkout v3.10.28

cd ..

3. Get a copy of Linux* LTSI kernel from open source using git:

git clone http://git.linuxfoundation.org/ltsi-kernel.git

Page 13: Tizen ivi 3.0 m2 kernel 3.10 ltsi linux support package for the intel atom processor e3800 series

Installation Procedure

Tizen* IVI 3.0 M2 Kernel 3.10 Linux* Support Package for Intel® Atom™ Processor E3800 Series - Getting Started Guide – Rev. 1.0

Document Number: 546069 13

4. Checkout the LTSI baseline code that will work for IO/LPE Intel Internal Baytrail patches: cd ltsi-kernel

git checkout v3.10.28-ltsi-rc1

cd ..

5. Apply all the LTSI patches to the linux stable source that was checked out previously:

cd linux-stable

./<Working Directory>/ltsi-kernel/scripts/generate_git

cd ..

6. Extract and apply all the LSP Patches downloaded or provided to the vanilla kernel version 3.10 by executing the following commands:

tar -xjf BYT_LSP_3.10.28_2014-03-14.tar.b BYT_LSP_3.10.28_2014-03-

14.tar.bz2

cd <Working_Directory>/linux-stable/

patch –p1 < <path-to-patch-package>/<patch-filename>

Example:

patch –p1 < ../LSP_Patches/BYT_LSP_3.10.28_CONFIG_2014-03-14.patch

Note: Before proceeding to Step #7 please perform the following driver installation:

EMGD: Refer to section 3.3 LPE: Refer to section 3.4.1 ISP: Refer to section 3.4.3

7. Build the kernel

make ARCH=i386 oldconfig

export WAYLAND_BROKEN_ON_OVERLAY=1

make ARCH=i386 –j4

If you receive the warning “clock skew detected”, please make sure your system time is set correctly. Now, bzImage is created in <Woking Directory>/linux-stable/arch/x86/boot/bzImage

8. Execute command to copy driver modules to /lib/modules

make modules_install

Page 14: Tizen ivi 3.0 m2 kernel 3.10 ltsi linux support package for the intel atom processor e3800 series

Installation Procedure

Tizen* IVI 3.0 M2 Kernel 3.10 LTSI Linux* Support Package for the Intel® Atom™ Processor E3800 Series - Getting Started Guide – Rev.1.0 14 Document Number: 546069

9. Copy bzImage from arch/x86/boot to Tizen OS /boot directory. While boot into

Tizen* OS, press “Alt-F2” to switch to another console terminal. Login information are as below:

Login: root

Password: tizen

Rename bzImage in /boot directory

mv /boot/bzImage /boot/vmlinuz-3.10.0-xxxxxxxx

10. In /boot/loader/entries directory, copy the existed conf file (vmlinuz-3.11.0-

[currentVersion].conf) with a new version name (vmlinuz-3.10.0-

[newVersion].conf).

cp vmlinuz-3.10.0-[currentVersion].conf /boot/vmlinuz-3.10.0-

[newVersion].conf

Change the version and efi line in the new configuration file with new version

vi /boot/vmlinuz-3.10.0-[newVersion].conf

version 3.10.0-newVersion

efi /vmlinuz-3.10.0-newVersion

11. Modify the boot loader config file: /boot/loader/loader.conf

Change “timeout 0” to “timeout 5”. Then you can switch kernel in the boot

loader.

12. Reboot the target system and from the boot menu choose boot to the kernel 3.10.28 which already patched with all the driver patches.

13. To configure and Install the User Space Libraries on Tizen* IVI, please refer to

section 4.5.

Page 15: Tizen ivi 3.0 m2 kernel 3.10 ltsi linux support package for the intel atom processor e3800 series

Installation Procedure

Tizen* IVI 3.0 M2 Kernel 3.10 Linux* Support Package for Intel® Atom™ Processor E3800 Series - Getting Started Guide – Rev. 1.0

Document Number: 546069 15

3.3 Intel® EMGD, Weston, LibVA, VAAPI, Gstreamer Installation

The following section is to how to build Intel® EMGD in the kernel, and enable Wayland* display server protocol, Weston desktop and video/audio multimedia API

and players.

3.3.1 Build the Kernel with Intel® EMGD

Before proceed with the below step, ensure that section 3.2 step 1 to step 6 is completed.

1. Extract the Intel® EMGD driver package.

tar -xzf Intel_CED_RC_Version_36_1_20_3719.tgz

2. Create EMGD directory by using the following commands.

cd <working directory>/linux-stable drivers/gpu/drm/

mkdir emgd

3. Copy “emgd_drm.tgz” from extracted EMGD package to emgd directory cp <emgd_package_dir>/common/drm/emgd_drm.tgz <working

directory>/linux-3.11/drivers/gpu/drm/emgd

4. In <Kernel_dir>/drivers/gpu/drm/emgd, extract emgd.tgz. tar -xzf emgd_drm.tgz

5. Copy the existing default config to the kernel top directory cd <working directory/linux-stable

cp arch/x86/configs/byt_32_tz_emgd_defconfig .config

$ vi .config make sure following item is configured to y.

CONFIG_RELOCATABLE=y

CONFIG_EFI_PARTITION=y

CONFIG_EFI=y

CONFIG_EFI_STUB=y

CONFIG_FB_EFI=y

CONFIG_EFI_VARS=y

CONFIG_DRM_EMGD=y

Return to section 3.2 step 7 to continue compiling the Kernel.

Page 16: Tizen ivi 3.0 m2 kernel 3.10 ltsi linux support package for the intel atom processor e3800 series

Installation Procedure

Tizen* IVI 3.0 M2 Kernel 3.10 LTSI Linux* Support Package for the Intel® Atom™ Processor E3800 Series - Getting Started Guide – Rev.1.0 16 Document Number: 546069

3.4 Enable LPE and ISP Firmware and Drivers

This section describes the steps to enable LPE firmware/driver and ISP firmware/driver

in the kernel.

3.4.1 Install LPE firmware

1. Extract BYT_LSP_3.10_LPE_FIRMWARE_2014-01-16.tar.bz2 tar -xjf BYT_LSP_3.10_LPE_FIRMWARE_2014-01-16.tar.bz2

2. Depending on the Intel® CRB SSP 2 port mode, either master or slave is to be

used. The Audio AK4614 AIC jumper (J119) shall be configured accordingly,

please refer Section 2.2 BIOS & Board Configuration for the configuration settings.

3. Copy the LPE firmware file fw_sst_0f28.bin-i2s_master or fw_sst_0f28.bin-i2s_slave or fw_sst_0f28.bin-tdm_master or fw_sst_0f28.bin-tdm_slave

(depending on the code mode setup) in to /lib/firmware of the Tizen* OS you

have created.

4. Rename only the desired firmware file to fw_sst_0f28.bin.

Note:

1. The fw_sst_0f28.bin binary image is targeted to use for SSP Port 2 only. 2. The fw_sst_0f28.bin only needs to be copied once.

5. Current LPE driver has implemented a method to select I2S mode or TDM mode during kernel boot time. By default, the driver will select I2S mode.

Below shows the setting method:

a) To select I2S mode, edit the kernel boot up command in file “/boot/loader/entries/vmlinuz-kernel.conf” at the end of “append”

line, add in “snd_soc_sst_platform.useMultiChannels=2”.

b) To select TDM mode, edit the kernel boot up command in file

“/boot/loader/entries/vmlinuz-kernel.conf” at the end of “append”

line, add in “snd_soc_sst_platform.useMultiChannels=8”.

c) To verify the correct configuration is passed to the LPE driver, after

system boot up, type “dmesg | grep “useMulti”” in the Linux console

and check with the driver print message.

d) After selection, the corresponding LPE firmware binary will need to be

renamed to fw_sst_0f28.bin and placed in the /lib/firmware directory.

e) Current LPE driver only support playback of 8 channels audio source for

TDM mode.

6. Current LPE driver only support playback of 8 channels audio source for TDM

mode.

Page 17: Tizen ivi 3.0 m2 kernel 3.10 ltsi linux support package for the intel atom processor e3800 series

Installation Procedure

Tizen* IVI 3.0 M2 Kernel 3.10 Linux* Support Package for Intel® Atom™ Processor E3800 Series - Getting Started Guide – Rev. 1.0

Document Number: 546069 17

a) To enable support of less than 8 channels audio wave file playback, an ALSA

virtual device is required to be created. Go to “/etc/asound.conf” file and

edit to add as below :

pcm. Xto8{

type route

slave {

pcm "hw:0,0"

channels 8

}

ttable.0.0 1

ttable.1.1 1

ttable.2.2 1

ttable.3.3 1

ttable.4.4 1

ttable.5.5 1

ttable.6.6 1

ttable.7.7 1

}

b) To make Xto8 virtual device to be the default playback device in TDM mode

only (remember to undo this when switching back to I2S mode), go to

“/etc/asound.conf” file and modify the “pcm.!default” as below :

pcm. !default {

#type hw

#card 0

type plug

slave.pcm Xto8

}

Page 18: Tizen ivi 3.0 m2 kernel 3.10 ltsi linux support package for the intel atom processor e3800 series

Installation Procedure

Tizen* IVI 3.0 M2 Kernel 3.10 LTSI Linux* Support Package for the Intel® Atom™ Processor E3800 Series - Getting Started Guide – Rev.1.0 18 Document Number: 546069

3.4.2 Build Kernel with LPE Driver

Before build/compile the kernel in section 3.2 Step 7, please do following steps to add the LPE driver into kernel image.

1. Copy the LPE driver “BYT_LSP_3.10.28_LPE_2014-03-14.patch” into a folder.

2. Patch the LPE driver patch file into kernel with the following command for patching I/O drivers.

patch –p1 < ../LSP_Patches/BYT_LSP_3.10.28_LPE_2014-03-14.patch

Return to section 3.2 steps 7 to continue compiling the Kernel.

3.4.3 Copy over ISP Firmware

1. Extract BYT_LSP_3.10.LTSI_ISP_FIRMWARE_2014-03-05.tar.bz2

tar -xjf BYT_LSP_3.10.LTSI_ISP_FIRMWARE_2014-03-05.tar.bz2

2. Copy the firmware file iaisp_2400_css.bin to /lib/firmware

cp <extract folder>/firmware/iaisp_2400_css.bin /lib/firmware

3.4.4 Build Kernel with ISP Driver

Before build/compile the kernel in section 3.2 Step 7, please do following steps to add ISP driver into kernel image.

1. Copy the patches “BYT_LSP_3.10.LTSI_ISP_2014-03-05.patch” and

“BYT_LSP_3.10.LTSI_ISP_KCONFIG_2014-03-19.patch” into a folder.

2. If you use EMGD, please make sure step 3, 4, 5 in Section 3.3.1 has been done.

Copy “emgd_drm.tgz” from extracted EMGD package to emgd directory cp <emgd_package_dir>/common/drm/emgd_drm.tgz <working

directory>/linux-3.10/drivers/gpu/emgd

In <Kernel_dir>/drivers/gpu/drm/emgd, extract emgd.tgz. tar -xzf emgd_drm.tgz

Copy the existing default config to the kernel top directory

cd <working directory/linux-3.11

cp arch/x86/configs/byt_32_tz_emgd_defconfig .config

3. Patch the file using the command below for patching I/O drivers.

patch –p1 < ../LSP_Patches/BYT_LSP_3.10.LTSI_ISP_2014-03-05.patch

patch –p1 < ../LSP_Patches/BYT_LSP_3.10.LTSI_ISP_KCONFIG_2014-03-

19.patch

Page 19: Tizen ivi 3.0 m2 kernel 3.10 ltsi linux support package for the intel atom processor e3800 series

Installation Procedure

Tizen* IVI 3.0 M2 Kernel 3.10 Linux* Support Package for Intel® Atom™ Processor E3800 Series - Getting Started Guide – Rev. 1.0

Document Number: 546069 19

4. Enable ISP by setting VIDEO_ATOMISP in kernel config. Type "make arch=i386 menuconfig".

For Linux* Kernel 3.10 LTST, ISP will need to be loaded as (M)odule.

Return to section 3.2 steps 7 to continue compiling the Kernel.

3.5 Weston, LibVA, VAAPI and Gstreamer Installation This section is for Weston configuration and LibVA, VAAPI and Gstreamer installation.

3.5.1 Configuring and Installing the User Space Libraries on

Tizen* IV

Before begin with the installation, use the following commands to install all the dependencies for the user space libraries. zypper in flex bison imake libtool xorg-x11-proto-devel libdrm-devel gcc-

c++ xorg-x11-server-devel libXi-devel libXmu-devel libXdamage-devel git

expat-devel llvm-devel libudev-devel

3.5.2 Installing Mesa

Note: Mesa is an open-source implementation of the OpenGL specification; a system that renders interactive 3-D graphics. Please download the Mesa 9.2 installation file from http://cgit.freedesktop.org/mesa/mesa/snapshot/mesa-9.2.tar.gz and perform

the below configuration.

Package Name

Patch File

Configuration

mesa-

9.2

NONE 1. Libdrm installation link:

http://cgit.freedesktop.org/mesa/drm/snapshot/libdrm-

2.4.45.tar.gz

Package name: libdrm-2.4.45

Patch File: NONE

Configuration:

./autogen.sh –prefix=/usr –disable-radeon –disable-nouveau –

disable-vmwgfx

make

make install

Page 20: Tizen ivi 3.0 m2 kernel 3.10 ltsi linux support package for the intel atom processor e3800 series

Installation Procedure

Tizen* IVI 3.0 M2 Kernel 3.10 LTSI Linux* Support Package for the Intel® Atom™ Processor E3800 Series - Getting Started Guide – Rev.1.0 20 Document Number: 546069

2. Mesa Configuration:

./autogen.sh --prefix=/usr –-enable-opengl –-enable-gles1 --

enable-gles2 --enable-gbm –enable-egl --with-egl-

platforms=x11,wayland,drm --enable-shared-glapi --with-dri-

drivers=i915,i965 –-with-gallium-drivers=

--disable-gallium-egl –-disable-gallium-llvm

make

make install

3.5.3 Installing libva and intel-vaapi driver

Please download libVA 1.2.1 from http://cgit.freedesktop.org/libva/snapshot/libva-

1.2.1.tar.gz and follow the configuration steps below to install libva and intel-vaapi.

Package Name

Patch File Configuration

libva-

1.2.1

NONE ./autogen.sh --prefix=/usr --enable-wayland

make

make install

intel-

driver-

1.2.1

NONE

./autogen.sh --prefix=/usr --enable-wayland

make

make install

Note : To make Intel video driver works for EMGD, i965_drv_video.so need to be linked as emgd_drv_video.so with the command below :

cd /usr/lib/dri/

ln –sf i965_drv_video.so emgd_drv_video.so

3.5.4 Installing gstreamer and gstreamer-vaapi

Please download the following drivers:

gstreamer-1.0.10

http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-1.0.10.tar.xz

gst-plugins-

base-1.0.10

http://gstreamer.freedesktop.org/src/gst-plugins-base/gst-

plugins-base-1.0.10.tar.xz

gst-plugins-good-1.0.10

http://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-1.0.10.tar.xz

gst-plugins-

bad-1.0.10

http://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-

plugins-bad-1.0.10.tar.xz

gst-plugins-ugly-1.0.10

http://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.0.10.tar.xz

gstreamer-vaapi

[email protected]:vaapi/gstreamer-vaapi.git commit id: 2e356b0f7efae33fb943ad11204020dcdbf1b04f

Page 21: Tizen ivi 3.0 m2 kernel 3.10 ltsi linux support package for the intel atom processor e3800 series

Installation Procedure

Tizen* IVI 3.0 M2 Kernel 3.10 Linux* Support Package for Intel® Atom™ Processor E3800 Series - Getting Started Guide – Rev. 1.0

Document Number: 546069 21

Perform the following configuration:

3.6 Reboot System

Then you can reboot system and select Kernel 3.10.28 with EMGD from the boot

menu.

Package Name

Patch File

Configuration

gstreamer-

1.0.10.tar.gz

NONE ./autogen.sh --prefix=/usr

make

make install

gst-plugins-

base-1.0.10.tar.gz

NONE ./autogen.sh --prefix=/usr --with-alsa-

prefix=/usr/lib/alsa-lib --with-alsa-inc-

prefix=/usr/include/alsa

make

make install

gst-plugins-

good-1.0.10.tar.gz

NONE ./autogen.sh --prefix=/usr

make

make install

gst-plugins-

bad-1.0.10.tar.gz

NONE ./autogen.sh --prefix=/usr

make

make install

gst-plugins-

ugly-1.0.10.tar.gz

NONE ./autogen.sh --prefix=/usr

make

make install

gstreamer-

codecparsers

NONE Note : Just extract the file source and no need to build for it

vaapi-gstreamer-vaapi-0.5.7

NONE Note : From the vaapi-gstreamer-codecparsers/ folder, copy all

source into ext/codecparsers/ by following the below command

then follows by compilation below :

cp –vrf vaapi-gstreamer-codecparsers/* vaapi-gstreamer-

vaapi/ext/codecparsers/

./autogen.sh --prefix=/usr --enable-wayland –enable-

encoders

make

make install

Page 22: Tizen ivi 3.0 m2 kernel 3.10 ltsi linux support package for the intel atom processor e3800 series

Installation Procedure

Tizen* IVI 3.0 M2 Kernel 3.10 LTSI Linux* Support Package for the Intel® Atom™ Processor E3800 Series - Getting Started Guide – Rev.1.0 22 Document Number: 546069

3.7 Appendix: How to Use Intel® EMGD on Tizen* IVI

3.7.1 How to Configure Weston

You can modify weston.ini located in /etc/xdg/weston/ to configure the display.

Here is an example of Weston.ini configuration

[core]

modules=ico_plugin_loader.so #mark this line if you want to disable ico

home screen.

[shell]

num-workspaces=1

shell-exe=

[input-method]

path=/bin/weekeyboard

[output]

name=VGA1

mode=1440x480 #use this line to set the mode, if you want to disable this

screen, you can set #the value to off.

transform=0 #use this line to set rotation. You can set this value to

0/90/180/.

[output]

name=HDMI1

transform=0

[ivi-plugin]

modules=ico_ivi_shell.so,ico_window_mgr.so,ico_window_animation.so,ico_in

put_mgr.so

[ivi-display]

Page 23: Tizen ivi 3.0 m2 kernel 3.10 ltsi linux support package for the intel atom processor e3800 series

Installation Procedure

Tizen* IVI 3.0 M2 Kernel 3.10 Linux* Support Package for Intel® Atom™ Processor E3800 Series - Getting Started Guide – Rev. 1.0

Document Number: 546069 23

displayno=1,0

[ivi-layer]

# default layer id

default=1

# layer id at the time of the system startup

startup=109

# background layer id

background=0

# input layer id

input=101

# cursor layer id

cursor=102

[ivi-animation]

# default animation

default=fade

# animation time (ms)

time=500

# animation frame rate(frame/sec)

fps=30

[ivi-debug]

# debug flags

# bit.0 0=hide on surface create(for with HomeScreen)/1=show on surface

create

# bit.1 0=not show if display not exist/1=show if display not exist

flag=0

# 0=no debug log write(1=err/2=warn/3=info/4=trace/5=debug)

Page 24: Tizen ivi 3.0 m2 kernel 3.10 ltsi linux support package for the intel atom processor e3800 series

Installation Procedure

Tizen* IVI 3.0 M2 Kernel 3.10 LTSI Linux* Support Package for the Intel® Atom™ Processor E3800 Series - Getting Started Guide – Rev.1.0 24 Document Number: 546069

log=4

3.7.2 How to Use Gstreamer

H.264 video format playback:

$ gst-launch-1.0 -v filesrc

location=/<path_of_H264_video_sample>.mp4 ! qtdemux ! vaapidecode !

vaapisink

MPEG2 video format playback:

$ gst-launch-1.0 -v filesrc

location=/<path_of_MPEG2_video_sample>.ts ! tsdemux ! vaapidecode !

vaapisink

VC-1 video format playback:

$ gst-launch-1.0 -v filesrc location=/<path_of_VC-

1_video_sample>.wmv ! asfdemux ! vaapidecode ! vaapisink

Video encoding for raw data

$ gst-launch-1.0 filesrc location=source.yuv ! videoparse

format=i420 width=1280 height=720 ! autovideoconvert ! video/x-

raw,format=NV12 ! vaapiencode_h264 ! filesink location=1.264

Video encoding for camera input

$ gst-launch-1.0 v4l2src device=/dev/video0 ! autovideoconvert !

video/x-raw,format=NV12 ! vaapiencode_h264 ! filesink

location=1.264

§