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

  • 867 views
Uploaded on

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

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
867
On Slideshare
0
From Embeds
0
Number of Embeds
6

Actions

Shares
Downloads
17
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. 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
  • 2. 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.
  • 3. 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
  • 4. 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.
  • 5. 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 I2 C 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
  • 6. 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
  • 7. 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
  • 8. 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
  • 9. 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
  • 10. 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
  • 11. 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.
  • 12. 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
  • 13. 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
  • 14. 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.
  • 15. 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.
  • 16. 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.
  • 17. 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 }
  • 18. 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
  • 19. 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
  • 20. 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 git@gitorious.org:vaapi/gstreamer-vaapi.git commit id: 2e356b0f7efae33fb943ad11204020dcdbf1b04f
  • 21. 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
  • 22. 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]
  • 23. 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)
  • 24. 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 §