R-Car/Boards/Kingfisher

Introduction
This is the official Wiki for Kingfisher Infotainment Board.

Hardware
This section contains information about Kingfisher Board hardware.

Hardware Features

 * Ethernet AVB phy
 * KSZ9031 phy
 * MOST interface
 * Support both 3-pin and 6-pin MLB interface
 * Pinout compatible with Microchip evaluation boards
 * LVDS camera interface
 * MAX9272 deserializer
 * 8-bit wide video bus connected to VI2 interface of R-Car M2 CPU
 * 5V or 12V selectable supply voltage for camera with current limiting
 * High quality 24-bit audio codec PCM3168A
 * 8 input channels (4 stereo jacks for microphone connection)
 * 6 line out channels (RCA connectors)
 * 6 HP outputs (3 stereo jack connectors for direct headphones connection)
 * 44100/48000 Hz sampling frequency
 * Two USB 3.0 ports
 * USB port supports host, device and OTG modes
 * SD card slot
 * Si4689 base AM/FM/DAB radio
 * Digital audio interface to R-Car M2 CPU
 * Additional flash storage for fast radio boot
 * Supply for active DAB antennas with current limit (5 or 12 V)
 * GPS/GLONASS receiver
 * Serial and i2c interface to R-Car
 * 9-axis sensor:
 * 3D digital linear acceleration sensor
 * 3D digital angular rate sensor
 * 3D digital magnetic sensor
 * WiFi/BT module Texas Instruments WL1837
 * Power supply: 12V, 9 Amps

Build image
 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. mkdir build || exit cd build WORK=`pwd` echo $WORK  Clone basic Yocto layers: cd $WORK git clone git://git.yoctoproject.org/poky git clone git://git.linaro.org/openembedded/meta-linaro.git git clone git://git.openembedded.org/meta-openembedded git clone git://github.com/renesas-rcar/meta-renesas git clone git://github.com/CogentEmbedded/meta-rcar.git 

 Switch to proper branches/commits   For BSP v2.19.0 cd $WORK/poky git checkout -b tmp yocto-2.1.2 cd $WORK/meta-openembedded git checkout -b tmp 55c8a76da5dc099a7bc3838495c672140cedb78e cd $WORK/meta-linaro git checkout -b tmp 2f51d38048599d9878f149d6d15539fb97603f8f cd $WORK/meta-renesas git checkout -b tmp 95cb48ba09bc7e55fd549817e3e26723409e68d5 cd $WORK/meta-rcar git checkout -b v2.19.0 remotes/origin/v2.19.0   Another versions are not tested for compatibility. Legacy BSP instruction can be found here R-Car Kingfisher legacy 

 Apply Linaro-GCC patch file: cd $WORK/meta-renesas export PATCH_DIR=meta-rcar-gen3/docs/sample/patch/patch-for-linaro-gcc patch -p1 < ${PATCH_DIR}/0001-rcar-gen3-add-readme-for-building-with-Linaro-Gcc.patch unset PATCH_DIR   Unzip downloaded proprietary driver modules to $WORK/proprietary folder. You should see the following files:   For Yocto v2.19.0 $ ls -1 $WORK/proprietary R-Car_Gen3_Series_Evaluation_Software_Package_for_Linux-20170427.zip R-Car_Gen3_Series_Evaluation_Software_Package_of_Linux_Drivers-20170427.zip </li> </ol> </li>

 Populate meta-renesas with proprietary software packages. export PKGS_DIR=$WORK/proprietary cd $WORK/meta-renesas sh meta-rcar-gen3/docs/sample/copyscript/copy_evaproprietary_softwares.sh -f $PKGS_DIR unset PKGS_DIR </li>

 Setup build environment cd $WORK source poky/oe-init-build-env </li>

 Prepare default configuration files. cp $WORK/meta-renesas/meta-rcar-gen3/docs/sample/conf/m3ulcb/linaro-gcc/mmp/*.conf ./conf/ cd $WORK/build cp conf/local-wayland.conf conf/local.conf

 Edit $WORK/build/conf/local.conf to enable/disable graphics and multimedia proprietary drivers support </li>

 Edit local.conf with evaluation packages requirements:   For Yocto v2.19.0 (to enable EVA_ prefix during packages install) DISTRO_FEATURES_append = " use_eva_pkg" </li> </ol> </li>

 Add layer meta-rcar bitbake-layers add-layer ../meta-rcar/meta-rcar-gen3-adas </li>

 Start the build

bitbake core-image-weston </li>

 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: NOTE: Tasks Summary: Attempted 4704 tasks of which 31 didn't need to be rerun and all succeeded. and the command prompt should return. </li>

 Bitbake has generated all the necessary files in ./tmp/deploy/images directory. You can verify its content: $ ls -1 `find ./tmp/deploy/images/m3ulcb/ -maxdepth 1 -type l -print` ./tmp/deploy/images/m3ulcb/core-image-weston-m3ulcb.cpio.gz ./tmp/deploy/images/m3ulcb/core-image-weston-m3ulcb.ext4 ./tmp/deploy/images/m3ulcb/core-image-weston-m3ulcb.manifest ./tmp/deploy/images/m3ulcb/core-image-weston-m3ulcb.tar.bz2 ./tmp/deploy/images/m3ulcb/Image ./tmp/deploy/images/m3ulcb/Image-m3ulcb.bin ./tmp/deploy/images/m3ulcb/Image-r8a7796-m3ulcb-kf-v1.dtb ./tmp/deploy/images/m3ulcb/Image-r8a7796-m3ulcb-kf.dtb ./tmp/deploy/images/m3ulcb/modules-m3ulcb.tgz ./tmp/deploy/images/m3ulcb/u-boot.bin ./tmp/deploy/images/m3ulcb/u-boot-elf-m3ulcb.srec ./tmp/deploy/images/m3ulcb/u-boot-elf.srec ./tmp/deploy/images/m3ulcb/u-boot-m3ulcb.bin Image is a Kernel image, *.dtb is a blob file, core-image-weston-m3ulcb.tar.bz2 is the rootfs, modules-m3ulcb.tgz are kernel modules. </li>  You can now proceed with running Yocto images </li> </ol>

After all these steps you can start working with boards and apps.

Build SDK
After building image run this command to build SDK bitbake core-image-weston -c populate_sdk After build success the SDK installation script must appears in ./tmp/deploy/sdk directory: tmp/deploy/sdk/poky-glibc-x86_64-core-image-weston-aarch64-toolchain-2.1.2.sh To install SDK run this command and follow instructions on the screen: ./tmp/deploy/sdk/poky-glibc-x86_64-core-image-weston-aarch64-toolchain-2.1.2.sh

Build scripts example

 * 1) !/bin/sh

mkdir build || exit cd build WORK=`pwd` echo $WORK

git clone git://git.yoctoproject.org/poky git clone git://git.linaro.org/openembedded/meta-linaro.git git clone git://git.openembedded.org/meta-openembedded git clone git://github.com/renesas-rcar/meta-renesas.git git clone git://github.com/CogentEmbedded/meta-rcar.git

cd $WORK/poky git checkout -b tmp yocto-2.1.2 cd $WORK/meta-linaro git checkout -b tmp 2f51d38048599d9878f149d6d15539fb97603f8f cd $WORK/meta-openembedded git checkout -b tmp 55c8a76da5dc099a7bc3838495c672140cedb78e cd $WORK/meta-renesas git checkout -b tmp 95cb48ba09bc7e55fd549817e3e26723409e68d5 cd $WORK/meta-rcar git checkout -b v2.19.0 remotes/origin/v2.19.0

cd $WORK/meta-renesas export PATCH_DIR=meta-rcar-gen3/docs/sample/patch/patch-for-linaro-gcc patch -p1 < ${PATCH_DIR}/0001-rcar-gen3-add-readme-for-building-with-Linaro-Gcc.patch unset PATCH_DIR

cd $WORK/ PKGS_DIR=$WORK/../proprietary cd $WORK/meta-renesas sh meta-rcar-gen3/docs/sample/copyscript/copy_evaproprietary_softwares.sh -f $PKGS_DIR
 * 1) sh meta-rcar-gen3/docs/sample/copyscript/copy_proprietary_softwares.sh -f $PKGS_DIR

cd $WORK/

source poky/oe-init-build-env

cp $WORK/meta-renesas/meta-rcar-gen3/docs/sample/conf/m3ulcb/linaro-gcc/mmp/*.conf ./conf/.

cd $WORK/build cp conf/local-wayland.conf conf/local.conf echo "DISTRO_FEATURES_append = \" use_eva_pkg\"" >> $WORK/build/conf/local.conf

bitbake core-image-weston bitbake core-image-weston -c populate_sdk