R-Car/Boards/Kingfisher/Yocto-Gen3/v4.1.0

Introduction
This page contains information on building and running Yocto on:
 * Infotainment Carrier Board For R-Car Starter Kit(Kingfisher)

This version does not support Wayland/weston and Multimedia Packages.

Yocto versions
Poky-3.0.2 is supported with Yocto v4.1.0. Specific commit of meta-openembedded is required.

Host PC
Ubuntu 16.04 LTS (64bit) is recommended as OS. 32bit version is not supported.

Required packages

 * 1) Download evaluation version of proprietary graphics package from Renesas.


 * To download Graphics library and related Linux drivers, please use the following link:
 * https://www.renesas.com/us/en/solutions/automotive/rcar-download/rcar-demoboard.html
 * Download two files:
 * R-Car_Gen3_Series_Evaluation_Software_Package_for_Linux-20200910.zip
 * R-Car_Gen3_Series_Evaluation_Software_Package_of_Linux_Drivers-20200910.zip


 * 1) Install required packages
 * Ubuntu and Debian
 * Fedora
 * Refer to Yocto Project Quick Start for more information.
 * Refer to Yocto Project Quick Start for more information.
 * Refer to Yocto Project Quick Start for more information.

Build using script

 * 1) Directory Structure
 * 2) Build script(build.sh)
 * 3) build
 * If the build completes successfully, all the necessary files are generated in a following directory:
 * 1) build
 * If the build completes successfully, all the necessary files are generated in a following directory:
 * If the build completes successfully, all the necessary files are generated in a following directory:

Build using manual steps

 * 1) Create a directory and switch to it
 * Warning! Yocto builds require a lot of disk space (up to 100 GB). Make sure you have got enough before starting the build.
 * 1) Clone basic Yocto layers:
 * 2) Switch to proper branches/commits
 * Another versions are not tested for compatibility.
 * Legacy BSP instruction can be found here R-Car Kingfisher Yocto Gen3 legacy
 * 1) Download proprietary driver modules to $WORK/proprietary folder
 * You should see the following files:
 * 1) Populate meta-renesas with proprietary software packages.
 * 2) Setup build environment
 * 3) Prepare default configuration files.
 * NOTE: extra configuration examples are available in the following directory:
 * 1) Add layer meta-rcar
 * 2) Start the build
 * 3) Building image can take up to a few hours depending on your host system performance. After the build has been completed successfully, you should see the output similar to:
 * and the command prompt should return.
 * 1) Bitbake has generated all the necessary files in ./tmp/deploy/images directory. You can verify its content:
 * Image is a Kernel image, *.dtb is a blob file, core-image--.tar.bz2 is the rootfs, modules-.tgz are kernel modules.
 * 1) You can now proceed with running Yocto images
 * 1) Add layer meta-rcar
 * 2) Start the build
 * 3) Building image can take up to a few hours depending on your host system performance. After the build has been completed successfully, you should see the output similar to:
 * and the command prompt should return.
 * 1) Bitbake has generated all the necessary files in ./tmp/deploy/images directory. You can verify its content:
 * Image is a Kernel image, *.dtb is a blob file, core-image--.tar.bz2 is the rootfs, modules-.tgz are kernel modules.
 * 1) You can now proceed with running Yocto images
 * and the command prompt should return.
 * 1) Bitbake has generated all the necessary files in ./tmp/deploy/images directory. You can verify its content:
 * Image is a Kernel image, *.dtb is a blob file, core-image--.tar.bz2 is the rootfs, modules-.tgz are kernel modules.
 * 1) You can now proceed with running Yocto images
 * 1) You can now proceed with running Yocto images

Build SDK
Refer to Build SDK on the Yocto-Gen3 page.

Running Yocto images
Refer to Running Yocto images on the Yocto-Gen3 page. [NOTE]
 * DTB filename for Kingfisher contains suffix "-kf".
 * Ex.) r8a7795-h3ulcb-kf.dtb
 * If you want to know the combinatation of the board and dtb file, please refer to here.

Support list
Note:
 * "ok" - Function succeeded in the simple test as below.
 * "NT" - Function wasn't tested

WiFi
To check wifi and scan available WAPs run:

Bluetooth
Ex 1)To check bluetooth and scan available BT devices run:

Ex 2)BT-Audio Please play music on target device.

CAN
Ex) loop back
 * Connect the following pins of CN17 and CN18:

Serial
Ex) loop back
 * For KF M03: Connect the following pins on CN4:
 * For KF M04 or later: Connect the following pins on CN4:
 * For KF M04 or later: Connect the following pins on CN4:

LVDS Camera

 * 
 * Camera board: GMSL02
 * Camera: IMI RDACM21-01 <-- This may be out of stock
 * Camera: Leopard Imaging LI-OV10635-GMSL

[Note]
 * H3 can use CN10 and CN11
 * M3 can use CN10

Ex1) 1 camera
 * When you use a Leopard Imaging camera, add some parameters to bootargs.
 * 1) RDACM21-01

Ex2) 4 cameras
 * 1) RDACM21-01 x4

CMOS Camera
Ex)

Multichannel Audio

 * Ex1) CN12/32/33 on KF
 * Ex2)
 * Ex3)
 * Ex3)
 * Ex3)

Radio
Ex) FM Radio
 * If radio module is used for the first time, updating radio module firmware is required.
 * Updating firmware is not required after the second time.

M.2
Ex) Transcend TS128GMTE850

MOST
Ex)
 * 1) Connect OS81092 board(Physical+ Interface Board OS81092) and CN22 of KF.
 * 2) Connect Audio board(OS81092 Audio Demo Board) and OS819092 board with exclusive cable.
 * 3) Connect Audio board and CN5 of SK with USB cable.
 * 4) Run the linux kernel
 * 5) cd /usr/share/most/
 * 6) ./most_setup.sh
 * 7) ./setup-audio-50 &
 * 8) Push the "Switch" button on the Audio board
 * 9) Push the "Switch" button on the Audio board again
 * 10) Push the "Switch" button on the Audio board again
 * 11) ./most_play.sh /usr/share/sounds/alsa/Front_Left.wav
 * 1) Push the "Switch" button on the Audio board again
 * 2) Push the "Switch" button on the Audio board again
 * 3) ./most_play.sh /usr/share/sounds/alsa/Front_Left.wav
 * 1) ./most_play.sh /usr/share/sounds/alsa/Front_Left.wav
 * 1) ./most_play.sh /usr/share/sounds/alsa/Front_Left.wav

DTS overlay
Since the meta-rcar supports the DTS overlays then you can test option periferals without recompilation. Ex) => ext4load mmc 0 0x48080000 /boot/Image; ext4load mmc 0 0x48000000 /boot/r8a7795-h3ulcb-4x2g-kf.dtb Ex1) test CN11 => ext4load mmc 0 0x48040000 /boot/ulcb-kf-cn11.dtbo Ex2) test SD card(CN47) instead WiFi => ext4load mmc 0 0x48040000 /boot/ulcb-kf-sd3.dtbo Ex3) test Most => ext4load mmc 0 0x48040000 /boot/ulcb-kf-most.dtbo => fdt addr 0x48000000; fdt resize 8192; fdt apply 0x48040000 => booti 0x48080000 - 0x48000000

Q&A site
http://renesasrulz.com/r-car-h3-m3-cockpit/

FAQ page
https://elinux.org/R-Car/Boards/Yocto-Gen3-CommonFAQ

Failed to DRAM initialize (-1).
If you face the following error please update(*) IPL and u-boot to the latest version. (*)How to update
 * http://elinux.org/R-Car/Boards/Kingfisher#How_to_update_of_Sample_Loader_and_MiniMonitor
 * http://elinux.org/R-Car/Boards/M3SK#Flashing_firmware
 * http://elinux.org/R-Car/Boards/H3SK#Flashing_firmware

How to get the SA001 Camera
Refer to R-Car/Boards/Kingfisher.

Known issues and limitations

 * 1) Refer to R-Car/Boards/Kingfisher.
 * 2) Refer to R-Car/Boards/Yocto-Gen3/v4.1.0.