X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=docs%2F0_Getting_Started%2F2_Building_AGL_Image%2F5_3_RCar_Gen_3.md;fp=docs%2F0_Getting_Started%2F2_Building_AGL_Image%2F5_3_RCar_Gen_3.md;h=dc89aaaa0d9caaee555fb91a44563c7a04c1d790;hb=eefc3ab6cbb8a5901632f46d99e13c8d90b2415d;hp=0000000000000000000000000000000000000000;hpb=4aad369c9728061c97b3de792286e743ee884b09;p=AGL%2Fdocumentation.git diff --git a/docs/0_Getting_Started/2_Building_AGL_Image/5_3_RCar_Gen_3.md b/docs/0_Getting_Started/2_Building_AGL_Image/5_3_RCar_Gen_3.md new file mode 100644 index 0000000..dc89aaa --- /dev/null +++ b/docs/0_Getting_Started/2_Building_AGL_Image/5_3_RCar_Gen_3.md @@ -0,0 +1,643 @@ +--- +title: Building for R Car Gen 3 +--- + +AGL supports building for several automotive +[Renesas](https://www.renesas.com/us/en/solutions/automotive.html) board kits. +Renesas is the number one supplier of vehicle control microcontrollers and +System on a Chip (SoC) products for the automotive industry. + +This section provides the build and deploy steps you need to create an +image for the following Renesas platforms: + +* [Renesas R-Car Starter Kit Pro Board](https://www.elinux.org/R-Car/Boards/M3SK) +* [Renesas R-Car Starter Kit Premier Board](https://www.elinux.org/R-Car/Boards/H3SK) +* [Renesas Salvator-X Board](https://www.elinux.org/R-Car/Boards/Salvator-X) +* [Renesas Kingfisher Infotainment Board](https://elinux.org/R-Car/Boards/Kingfisher) + +**NOTE:** You can find similar information for the Pro and Premier board kits on the +[R-Car/Boards/Yocto-Gen3](https://elinux.org/R-Car/Boards/Yocto-Gen3) page. +The information on this page describes setup and build procedures for both these +Renesas development kits. + +## 1. Downloading Proprietary Drivers + +Before setting up the build environment, you need to download proprietary drivers from the +[R-Car H3/M3 Software library and Technical document](https://www.renesas.com/us/en/solutions/automotive/rcar-download/rcar-demoboard-2.html) +site. + +Follow these steps to download the drivers you need: + +1. **Determine the Files You Need:** + + Run the `setup_mm_packages.sh` script as follows to + display the list of ZIP files containing the drivers you need. + + ```sh + $ grep -rn ZIP_.= $AGL_TOP/meta-agl/meta-agl-bsp/meta-rcar-gen3/scripts/setup_mm_packages.sh + ``` + + The script's output identifies the files you need to download from the page. + +2. **Get Your Board Support Package (BSP) Version:** + + Be sure to have the correct BSP version of the R-Car Starter Kit based on the version of the AGL software you are using. Find the appropriate download links on the [R-Car H3/M3 Software library and Technical document](https://www.renesas.com/us/en/solutions/automotive/rcar-download/rcar-demoboard-2.html) + site. The file pairs are grouped according to the Yocto Project version you are + using with the AGL software. + + | AGL Version| Renesas Version | + | AGL master | 3.21.0 | + +3. **Download the Files:** + + Start the download process by clicking the download link. + If you do not have an account with Renesas, you will be asked to register a free account. + You must register and follow the "Click Through" licensing process + in order to download these proprietary files. + + If needed, follow the instructions to create the free account by providing the required + account information. + Once the account is registered and you are logged in, you can download the files. + + **NOTE:** + You might have to re-access the + [original page](https://www.renesas.com/us/en/solutions/automotive/rcar-download/rcar-demoboard-2.html) + that contains the download links you need after creating the account and logging in. + +4. **Create an Environment Variable to Point to Your Download Area:** + + Create and export an environment variable named `XDG_DOWNLOAD_DIR` that points to + your download directory. + + ```sh + $ export XDG_DOWNLOAD_DIR=$HOME/Downloads + ``` + +5. **Be Sure the Files Have Rights:** + + Be sure you have the necessary rights for the files you downloaded. + + ```sh + $ chmod a+r $XDG_DOWNLOAD_DIR/*.zip + ``` + +## 2. Getting Your Hardware Together + + Gather together this list of hardware items, which is not exhaustive. + Having these items ahead of time saves you from having to try and + collect hardware during development: + + Supported Starter + + * Kit Gen3 board with its 5V power supply. + * Micro USB-A cable for serial console. + This cable is optional if you are using Ethernet and an SSH connection. + * USB 2.0 Hub. The hub is optional but makes it easy to connect multiple USB devices. + * Ethernet cable. The cable is optional if you are using a serial console. + * HDMI type D (Micro connector) cable and an associated display. + * 4 Gbyte minimum MicroSD Card. It is recommended that you use a class 10 type. + * USB touch screen device such as the GeChic 1502i/1503i. A touch screen device is optional. + + **NOTE:** The Salvator-X Board has NDA restrictions. + Consequently, less documentation is available for this board both here and across the Internet. + +## 3. Making Sure Your Build Environment is Correct + + The + "[Initializing Your Build Environment](./3_Initializing_Your_Build_Environment.md)" + section presented generic information for setting up your build environment + using the `aglsetup.sh` script. + If you are building an image for a supported Renesas board, + you need to take steps to make sure your build host is set up correctly. + + 1. **Define Your Board:** + + Depending on your Renesas board, define and export a `MACHINE` variable as follows: + + + | BOARD | `MACHINE` | + |:-:|:-:| + | Renesas RCar H3 | `MACHINE`= h3ulcb | + | Renesas RCar H3 w Kingfisher Board | `MACHINE`= h3ulcb-kf | + | Renesas RCar H3 w/o gfx blobs | `MACHINE`= h3ulcb-nogfx | + | Renesas RCar Salvator/H3 | `MACHINE`= h3-salvator-x | + | Renesas RCar M3 | `MACHINE`= m3ulcb | + | Renesas RCar M3 w Kingfisher Board | `MACHINE`= m3ulcb-kf | + | Renesas RCar M3 w/o gfx blobs | `MACHINE`= m3ulcb-nogfx | + | Renesas RCar Salvator/M3 | `MACHINE`= m3-salvator-x | + + + For example, the following command defines and exports the `MACHINE` variable + for the Starter Kit Pro/H3 Board: + + ```sh + $ export MACHINE=h3ulcb + ``` + + 2. **Run the `aglsetup.sh` Script:** + + Use the following commands to run the AGL Setup script: + + ```sh + $ cd $AGL_TOP + $ source meta-agl/scripts/aglsetup.sh -m $MACHINE -b build-$MACHINE agl-devel agl-demo + which expands to : + $ source meta-agl/scripts/aglsetup.sh -m h3ulcb -b build-h3ulcb agl-devel agl-demo + ``` + + 3. **Examine the Script's Log:** + + Running the `aglsetup.sh` script creates the `setup.log` file, which is in + the `build-h3ulcb/conf` folder. + You can examine this log to see the results of the script. + For example, suppose the graphics drivers were missing or could not be extracted + when you ran the script. + +## 4. Using BitBake + + Start the build using the `bitbake` command. + + **NOTE:** An initial build can take many hours depending on your + CPU and and Internet connection speeds. + The build also takes approximately 100G-bytes of free disk space. + + For this example, the target is "agl-demo-platform": + + ``` sh + $ time bitbake agl-demo-platform + ``` + + The build process puts the resulting image in the Build Directory: + ``` sh + build-h3ulcb/tmp/deploy/images/$MACHINE + ``` + +## 5. Booting the Image Using a MicroSD Card + + To boot your image on the Renesas board, you need to do three things: + + 1. Update all firmware on the board. + 2. Prepare the MicroSD card to you can boot from it. + 3. Boot the board. + + **NOTE:** For subsequent builds, you only have to re-write the MicroSD + card with a new image. + + * **Updating the Board's Firmware** + + Follow these steps to update the firmware: + + 1. **Update the Sample Loader and MiniMonitor:** + + You only need to make these updates one time per device. + + Follow the procedure found on the + eLinux.org wiki to update to at least version 3.02, + which is mandatory to run the AGL image ([R-car loader update](https://elinux.org/R-Car/Boards/Kingfisher#How_to_update_of_Sample_Loader_and_MiniMonitor)). + + 2. **Update the Firmware Stack:** + + You only need to update the firmware stack if you are + using the Eel or later (5.0) version of AGL software. + + M3 and H3 Renesas board are AArch64 platforms. + As such, they have a firmware stack that is divided across: **ARM Trusted Firmware**, **OP-Tee** and **U-Boot**. + + If you are using the Eel (5.0) version or later of the AGL software, you must update + the firmware using the **[R-car h3ulcb firmware update](http://elinux.org/R-Car/Boards/H3SK#Flashing_firmware)** + or **[R-car m3ulcb firmware update](https://elinux.org/R-Car/Boards/M3SK#Flashing_firmware)** links from the + [Embedded Linux Wiki](https://www.elinux.org/Main_Page) (i.e. `elinux.org`). + + The table in the wiki lists the files you need to flash the firmware. + You can find these files in the following directory: + + ```sh + $AGL_TOP/build/tmp/deploy/images/$MACHINE + ``` + + **NOTE:** The Salvator-X firmware update process is not documented on eLinux. + + * **Preparing the MicroSD Card** + + ```sh + $ lsblk + $ sudo umount + $ xzcat agl-image-ivi-crosssdk-h3ulcb.wic.xz | sudo dd of= bs=4M + $ sync + ``` + + * **Booting the Board** + + Follow these steps to boot the board: + + 1. Use the board's power switch to turn off the board. + + 2. Insert the MicroSD card into the board. + + 3. Verify that you have plugged in the following: + + * An external monitor into the board's HDMI port + + * An input device (e.g. keyboard, mouse, touchscreen, and so forth) into the board's USB ports. + + 4. Use the board's power switch to turn on the board. + + After a few seconds, you will see the AGL splash screen on the display and you + will be able to log in at the console's terminal or using the graphic screen. + +## 6. Setting Up the Serial Console + + Setting up the Serial Console involves the following: + + * Installing a serial client on your build host + * Connecting your build host to your Renesas board's serial port + * Powering on the board to get a shell at the console + * Configuring U-Boot parameters + * Logging into the console + * Determining the board's IP address + + Brief about each process : + + 1. Installing a Serial Client on Your Build Host + + You need to install a serial client on your build host. + Some examples are [GNU Screen](https://en.wikipedia.org/wiki/GNU_Screen), [picocom](https://linux.die.net/man/8/picocom), and [Minicom](https://en.wikipedia.org/wiki/Minicom). Of these three, "picocom" has less dependencies and is therefore considered the "lightest" solution. + + 2. Connecting Your Build Host to Your Renesas Board's Serial Port + + You need to physically connect your build host to the Renesas board using + a USB cable from the host to the serial CP2102 USP port (i.e. Micro USB-A port) + on the Renesas board. + + Once you connect the board, determine the device created for the serial link. + Use the `dmesg` command on your build host. + + ```sh + dmesg | tail 9 + [2097783.287091] usb 2-1.5.3: new full-speed USB device number 24 using ehci-pci + [2097783.385857] usb 2-1.5.3: New USB device found, idVendor=0403, idProduct=6001 + [2097783.385862] usb 2-1.5.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3 + [2097783.385864] usb 2-1.5.3: Product: FT232R USB UART + [2097783.385866] usb 2-1.5.3: Manufacturer: FTDI + [2097783.385867] usb 2-1.5.3: SerialNumber: AK04WWCE + [2097783.388288] ftdi_sio 2-1.5.3:1.0: FTDI USB Serial Device converter detected + [2097783.388330] usb 2-1.5.3: Detected FT232RL + [2097783.388658] usb 2-1.5.3: FTDI USB Serial Device converter now attached to ttyUSB0 + ``` + + The device created is usually `/dev/ttyUSB0`. + However, the number might vary depending on other USB serial ports connected to the host. + + To use the link, you need to launch the client. + Here are three commands, which vary based on the serial client, that show + how to launch the client: + + ```sh + picocom -b 115200 /dev/ttyUSB0 + ``` + + or + + ```sh + minicom -b 115200 -D /dev/ttyUSB0 + ``` + + or + + ```sh + screen /dev/ttyUSB0 115200 + ``` + + + 3. Powering on the Board to Get a Shell at the Console + + Both the Pro and Premier kits (e.g. + [m3ulcb](https://elinux.org/R-Car/Boards/M3SK) and + [h3ulcb](https://elinux.org/R-Car/Boards/H3SK#Hardware)) have nine + switches (SW1 through SW9). + To power on the board, "short-press" SW8, which is the power switch. + + Following, is console output for the power on process for each kit: + + h3ulcb: + + ```sh + NOTICE: BL2: R-Car Gen3 Initial Program Loader(CA57) Rev.1.0.7 + NOTICE: BL2: PRR is R-Car H3 ES1.1 + NOTICE: BL2: LCM state is CM + NOTICE: BL2: DDR1600(rev.0.15) + NOTICE: BL2: DRAM Split is 4ch + NOTICE: BL2: QoS is Gfx Oriented(rev.0.30) + NOTICE: BL2: AVS setting succeeded. DVFS_SetVID=0x52 + NOTICE: BL2: Lossy Decomp areas + NOTICE: Entry 0: DCMPAREACRAx:0x80000540 DCMPAREACRBx:0x570 + NOTICE: Entry 1: DCMPAREACRAx:0x40000000 DCMPAREACRBx:0x0 + NOTICE: Entry 2: DCMPAREACRAx:0x20000000 DCMPAREACRBx:0x0 + NOTICE: BL2: v1.1(release):41099f4 + NOTICE: BL2: Built : 19:20:52, Jun 9 2016 + NOTICE: BL2: Normal boot + NOTICE: BL2: dst=0xe63150c8 src=0x8180000 len=36(0x24) + NOTICE: BL2: dst=0x43f00000 src=0x8180400 len=3072(0xc00) + NOTICE: BL2: dst=0x44000000 src=0x81c0000 len=65536(0x10000) + NOTICE: BL2: dst=0x44100000 src=0x8200000 len=524288(0x80000) + NOTICE: BL2: dst=0x49000000 src=0x8640000 len=1048576(0x100000) + + + U-Boot 2015.04 (Jun 09 2016 - 19:21:52) + + CPU: Renesas Electronics R8A7795 rev 1.1 + Board: H3ULCB + I2C: ready + DRAM: 3.9 GiB + MMC: sh-sdhi: 0, sh-sdhi: 1 + In: serial + Out: serial + Err: serial + Net: Board Net Initialization Failed + No ethernet found. + Hit any key to stop autoboot: 0 + ``` + + + m3ulcb: + + ```sh + NOTICE: BL2: R-Car Gen3 Initial Program Loader(CA57) Rev.1.0.14 + NOTICE: BL2: PRR is R-Car M3 Ver1.0 + NOTICE: BL2: Board is Starter Kit Rev1.0 + NOTICE: BL2: Boot device is HyperFlash(80MHz) + NOTICE: BL2: LCM state is CM + NOTICE: BL2: AVS setting succeeded. DVFS_SetVID=0x52 + NOTICE: BL2: DDR1600(rev.0.22)NOTICE: [COLD_BOOT]NOTICE: ..0 + NOTICE: BL2: DRAM Split is 2ch + NOTICE: BL2: QoS is default setting(rev.0.17) + NOTICE: BL2: Lossy Decomp areas + NOTICE: Entry 0: DCMPAREACRAx:0x80000540 DCMPAREACRBx:0x570 + NOTICE: Entry 1: DCMPAREACRAx:0x40000000 DCMPAREACRBx:0x0 + NOTICE: Entry 2: DCMPAREACRAx:0x20000000 DCMPAREACRBx:0x0 + NOTICE: BL2: v1.3(release):4eef9a2 + NOTICE: BL2: Built : 00:25:19, Aug 25 2017 + NOTICE: BL2: Normal boot + NOTICE: BL2: dst=0xe631e188 src=0x8180000 len=512(0x200) + NOTICE: BL2: dst=0x43f00000 src=0x8180400 len=6144(0x1800) + NOTICE: BL2: dst=0x44000000 src=0x81c0000 len=65536(0x10000) + NOTICE: BL2: dst=0x44100000 src=0x8200000 len=524288(0x80000) + NOTICE: BL2: dst=0x50000000 src=0x8640000 len=1048576(0x100000) + + + U-Boot 2015.04-dirty (Aug 25 2017 - 10:55:49) + + CPU: Renesas Electronics R8A7796 rev 1.0 + Board: M3ULCB + I2C: ready + DRAM: 1.9 GiB + MMC: sh-sdhi: 0, sh-sdhi: 1 + In: serial + Out: serial + Err: serial + Net: ravb + Hit any key to stop autoboot: 0 + ``` + +## 7. Setting-up U-boot + + **Configuring U-Boot Parameters** + + Follow these steps to configure the board to use the MicroSD card as the + boot device and also to set the screen resolution: + + 1. As the board is powering up, press any key to stop the autoboot process. + You need to press a key quickly as you have just a few seconds in which to + press a key. + + 2. Once the autoboot process is interrupted, use the board's serial console to + enter `printenv` to check if you have correct parameters for booting your board: + + Here is an example using the **h3ulcb** board: + + ```sh + $ printenv + baudrate=115200 + bootargs=console=ttySC0,115200 root=/dev/mmcblk1p1 rootwait ro rootfstype=ext4 + bootcmd=run load_ker; run load_dtb; booti 0x48080000 - 0x48000000 + bootdelay=3 + fdt_high=0xffffffffffffffff + initrd_high=0xffffffffffffffff + load_dtb=ext4load mmc 0:1 0x48000000 /boot/r8a7795-h3ulcb.dtb + load_ker=ext4load mmc 0:1 0x48080000 /boot/Image + stderr=serial + stdin=serial + stdout=serial + ver=U-Boot 2015.04 (Jun 09 2016 - 19:21:52) + + Environment size: 648/131068 bytes + ``` + + Here is a second example using the **m3ulcb** board: + + ```sh + $ printenv + baudrate=115200 + bootargs=console=ttySC0,115200 root=/dev/mmcblk1p1 rootwait ro rootfstype=ext4 + bootcmd=run load_ker; run load_dtb; booti 0x48080000 - 0x48000000 + bootdelay=3 + fdt_high=0xffffffffffffffff + filesize=cdeb + initrd_high=0xffffffffffffffff + load_dtb=ext4load mmc 0:1 0x48000000 /boot/r8a7796-m3ulcb.dtb + load_ker=ext4load mmc 0:1 0x48080000 /boot/Image + stderr=serial + stdin=serial + stdout=serial + ver=U-Boot 2015.04 (Nov 30 2016 - 18:25:18) + + Environment size: 557/131068 bytes + ``` + + 3. Loading dtb : + + **NOTE** : Refer [here](https://elinux.org/R-Car/Boards/Yocto-Gen3-CommonFAQ/Which_dtb_file_is_required_to_boot_linux_on_the_R-Car_Starter_Kit_board_%3F) for more information. + + Make sure your ``load_dtb`` is set as follows : + + * **H3SK v2.0(DDR 4GB)** : `$ setenv load_dtb ext4load mmc 0:1 0x48000000 /boot/r8a7795-h3ulcb.dtb` + + * **H3SK v2.0(DDR 8GB)/v3.0(DDR 8GB)** : `$ setenv load_dtb ext4load mmc 0:1 0x48000000 /boot/r8a7795-h3ulcb-4x2g.dtb` + + * **M3SK v1.0** : `$ setenv load_dtb ext4load mmc 0:1 0x48000000 /boot/r8a7796-m3ulcb.dtb` + + * **M3SK v3.0** : `$ setenv load_dtb ext4load mmc 0:1 0x48000000 /boot/r8a7796-m3ulcb-2x4g.dtb` + + * **H3SK with a Kingfisher board** : `$ setenv load_dtb ext4load mmc 0:1 0x48000000 /boot/r8a7795-h3ulcb-kf.dtb` + + * **M3SK with a Kingfisher board** : `$ setenv load_dtb ext4load mmc 0:1 0x48000000 /boot/r8a7796-m3ulcb-kf.dtb` + + 4. Set Correct Environment : + + Be sure your environment is set up as follows: + + ```sh + $ setenv bootargs console=ttySC0,115200 ignore_loglevel vmalloc=384M video=HDMI-A-1:1920x1080-32@60 root=/dev/mmcblk1p1 rw rootfstype=ext4 rootwait rootdelay=2 + $ setenv bootcmd run load_ker\; run load_dtb\; booti 0x48080000 - 0x48000000 + $ setenv load_ker ext4load mmc 0:1 0x48080000 /boot/Image + ``` + + 5. Save the boot environment: `$ saveenv` + + 6. Boot the board: `$ run bootcmd` + +## 8. Troubleshooting + + * **Logging Into the Console** + + Once the board boots, you should see the + [Wayland display](https://en.wikipedia.org/wiki/Wayland_(display_server_protocol)) + on the external monitor. + A login prompt should appear as follows depending on your board: + + **h3ulcb**: + ```sh + Automotive Grade Linux ${AGL_VERSION} h3ulcb ttySC0 + + h3ulcb login: root + ``` + + **m3ulcb**: + ```sh + Automotive Grade Linux ${AGL_VERSION} m3ulcb ttySC0 + + m3ulcb login: root + ``` + + At the prompt, login by using `root` as the login. + The password is "empty" so you should not be prompted for the password. + + * **Determining the Board's IP Address** + + If your board is connected to a local network using Ethernet and + if a DHCP server is able to distribute IP addresses, + you can determine the board's IP address and log in using `ssh`. + + Here is an example for the m3ulcb board: + + ```sh + m3ulcb login: root + root@m3ulcb:~# ip -4 a + 1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default + inet 127.0.0.1/8 scope host lo + valid_lft forever preferred_lft forever + 3: eth0: mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 + inet 10.0.0.27/24 brd 10.0.0.255 scope global eth0 + valid_lft forever preferred_lft forever + ``` + + In the previous example, IP address is 10.0.0.27. + Once you know the address, you can use `ssh` to login. + + ```sh + $ ssh root@10.0.0.27 + ``` + +## 9. Supplementary Information + + * R-Car Generation 3 Information + + Refer to the following for more information from [eLinux website](https://elinux.org/R-Car). + + * Proprietary libraries for meta-rcar-gen3 + + The meta-rcar-gen3 layer of meta-renesas is supported Graphic GLES(GSX) + libraries, proprietary library of multimedia, and ICCOM software. + + 1. Build with Renesas multimedia libraries + + Multimedia portions depend on GLES portions. + + * A. Configuration for Multimedia features + + + * Please copy proprietary libraries to the directory of recipes. + + * Please set local.conf the following. + **Enable multimedia features. This provides package group of plug-ins of the GStreamer, multimedia libraries and kernel drivers.** + + ```sh + MACHINE_FEATURES_append = " multimedia" + ``` + + * B. Configuration for optional codecs and middleware + + * Please copy proprietary libraries to the directory of recipes. + + * Add features to DISTRO_FEATURES_append to local.conf + + **Additional configuration in OMX module** + + ```sh + " h263dec_lib" - for OMX Media Component H263 Decoder Library + " h264dec_lib" - for OMX Media Component H264 Decoder Library + " h264enc_lib" - for OMX Media Component H.264 Encoder Library + " h265dec_lib" - for OMX Media Component H265 Decoder Library + " mpeg2dec_lib" - for OMX Media Component MPEG2 Decoder Library + " mpeg4dec_lib" - for OMX Media Component MPEG4 Decoder Library + " vc1dec_lib" - for OMX Media Component VC-1 Decoder Library + " divxdec_lib" - for OMX Media Component DivX Decoder Library + " rvdec_lib" - for OMX Media Component RealVideo Decoder Library + " alacdec_lib" - for OMX Media Component ALAC Decoder Library + " flacdec_lib" - for OMX Media Component FLAC Decoder Library + " aaclcdec_lib" - for OMX Media Component AAC-LC Decoder Library + " aaclcdec_mdw" - for AAC-LC 2ch Decoder Middleware for Linux + " aacpv2dec_lib" - for OMX Media Component aacPlus V2 Decoder Library + " aacpv2dec_mdw" - for aacPlus V2 Decoder Middleware for Linux + " mp3dec_lib" - for OMX Media Component MP3 Decoder Library + " mp3dec_mdw" - for MP3 Decoder Middleware for Linux + " wmadec_lib" - for OMX Media Component WMA Standard Decoder Library + " wmadec_mdw" - for WMA Standard Decoder Middleware for Linux + " dddec_lib" - for OMX Media Component Dolby(R) Digital Decoder Library + " dddec_mdw" - for Dolby(R) Digital Decoder Middleware for Linux + " aaclcenc_lib" - for OMX Media Component AAC-LC Encoder Library + " vp8dec_lib" - for OMX Media Component VP8 Decoder Library for Linux + " vp8enc_lib" - for OMX Media Component VP8 Encoder Library for Linux + " vp9dec_lib" - for OMX Media Component VP9 Decoder Library for Linux + " aaclcenc_mdw" - for AAC-LC Encoder Middleware for Linux + " cmsbcm" - for CMS Basic Color Management Middleware for Linux + " cmsblc" - for CMS CMM3 Backlight Control Middleware for Linux + " cmsdgc" - for CMS VSP2 Dynamic Gamma Correction Middleware for Linux + " dtv" - for ISDB-T DTV Software Package for Linux + " dvd" - for DVD Core-Middleware for Linux + " adsp" - for ADSP driver, ADSP interface and ADSP framework for Linux + " avb" - for AVB Software Package for Linux + ``` + + Ex: + + ```sh + DISTRO_FEATURES_append = " h264dec_lib h265dec_lib mpeg2dec_lib aaclcdec_lib aaclcdec_mdw" + ``` + + * C. Configuration for test packages + + Must ensure that Multimedia features have been enabled. + (Please refer to III/A to enable Multimedia.) + + * Please add feature to DISTRO_FEATURES_append to local.conf. + + **Configuration for multimedia test package** + ```sh + DISTRO_FEATURES_append = "mm-test" + ``` + + 2. Enable Linux ICCOM driver and Linux ICCOM library + + + For Linux ICCOM driver and Linux ICCOM library + + * Please copy proprietary libraries to the directory of recipes. + + * Please set local.conf the following. + + ```sh + DISTRO_FEATURES_append = "iccom" + ``` + +