Upload
ryo-jin
View
1.154
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
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 - 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.
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
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.
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
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
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
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
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
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
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.
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
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
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.
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.
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.
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
}
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
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
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
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
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]
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)
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
§