Difference between revisions of "R-Car/Boards/Kingfisher"

From eLinux.org
Jump to: navigation, search
Line 276: Line 276:
  
 
[http://www.shimafuji.co.jp/Kingfisher/indexEN.html Click to buy Kingfisher board from SHIMAFUJI Electric] - Japan only <br/>
 
[http://www.shimafuji.co.jp/Kingfisher/indexEN.html Click to buy Kingfisher board from SHIMAFUJI Electric] - Japan only <br/>
 +
 +
== Official board documentation ==
 +
 +
*[http://www.shimafuji.co.jp/DL/EN/InfotainmentCarrierBoard/ Board Manual]

Revision as of 23:25, 3 August 2017

Introduction

This is the official Wiki for Kingfisher Infotainment Board.

Hardware

This section contains information about Kingfisher Board hardware.

Board Layout

Kfisher top specs.png

Kfisher bot specs.png

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

How to build

Build image

  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.
    mkdir build || exit
    cd build
    WORK=`pwd`
    echo $WORK
    
  2. 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
    
  3. Switch to proper branches/commits
    1. 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

  4. 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
    
  5. Unzip downloaded proprietary driver modules to $WORK/proprietary folder.
    You should see the following files:
    1. 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
      
  6. 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
    
  7. Setup build environment
    cd $WORK
    source poky/oe-init-build-env
    
  8. 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
    
  9. Edit $WORK/build/conf/local.conf to enable/disable graphics and multimedia proprietary drivers support
  10. Edit local.conf with evaluation packages requirements:
    1. For Yocto v2.19.0 (to enable EVA_ prefix during packages install)
      DISTRO_FEATURES_append = " use_eva_pkg"
      
  11. Add layer meta-rcar
    bitbake-layers add-layer ../meta-rcar/meta-rcar-gen3-adas
    
  12. Start the build
    bitbake core-image-weston
    
  13. 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.

  14. 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.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.

  15. You can now proceed with running Yocto images

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

#!/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_proprietary_softwares.sh -f $PKGS_DIR
sh meta-rcar-gen3/docs/sample/copyscript/copy_evaproprietary_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

Where to buy

Kingfisher board can be ordered from following distributors:

Click to buy Kingfisher board from SHIMAFUJI Electric - Japan only

Official board documentation