R-Car/Boards/Kingfisher
Introduction
This is the official Wiki for Kingfisher Infotainment Board.
Hardware
This section contains information about Kingfisher Board hardware.
Board Layout
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
- 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
-
For BSP v2.19.0
-
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
-
For Yocto v2.19.0
-
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
-
Setup build environment
cd $WORK source poky/oe-init-build-env
-
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
-
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"
-
For Yocto v2.19.0 (to enable EVA_ prefix during packages install)
-
Add layer meta-rcar
bitbake-layers add-layer ../meta-rcar/meta-rcar-gen3-adas
-
Start the build
bitbake core-image-weston
-
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.
-
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.
- 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