R-Car/Boards/Kingfisher
Contents |
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
- MAX9286 or TI960 deserializers
- MIPI CSI2 bus
- 5V, 9V 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 OTG port
- SD card slot
- SD card slot(CN47) supports only 3.3 signal voltage(= Default/High speed class only).
- If you want to use other cards please use the slot(CN6) on the Starter Kit board.
- SD card slot(CN47) supports only 3.3 signal voltage(= Default/High speed class only).
- 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
- The main power supply domain must be connected to an external AC adapter. The voltage is +12V DC.
- DO NOT USE R-Car Starter kit AC adapter to connect this board or this board AC adapter to connect R-Car Starter kit. If connect wrong AC adapter then it has serious damage to the board.
Where to buy
Kingfisher board can be ordered from following distributors:
Click to buy Kingfisher board from SHIMAFUJI Electric - World Wide
Official board documentation
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.23.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 52a5df36b4cd2ca0f5ec8eab9446f4f128ef727c cd $WORK/meta-rcar git checkout -b v2.23.0 remotes/origin/v2.23.0
Another versions are not tested for compatibility. Legacy BSP instruction can be found here R-Car Kingfisher legacy
-
For BSP v2.23.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.23.0
$ ls -1 $WORK/proprietary R-Car_Gen3_Series_Evaluation_Software_Package_for_Linux-20170828.zip R-Car_Gen3_Series_Evaluation_Software_Package_of_Linux_Drivers-20170828.zip
-
For Yocto v2.23.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.23.0 (to enable EVA_ prefix during packages install)
DISTRO_FEATURES_append = " use_eva_pkg"
-
For Yocto v2.23.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 with MOST
MOST and GPS share the same R-CAR SoC pins and GPS is used by default.
In order to use MOST one need to perform h/w modifications on KF board:
move resistor from R661 -> R660 move resistor from R663 -> R662
And enable MOST in BSP by adding option to local.conf:
KF_ENABLE_MOST = 1
Build with SD3 (CN47)
SD3 and WIFI share the same R-CAR SoC resource and WIFI is used by default.
In order to use SD on CN47 instead WIFI add following option to local.conf:
KF_ENABLE_SD3 = 1
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 52a5df36b4cd2ca0f5ec8eab9446f4f128ef727c cd $WORK/meta-rcar git checkout -b v2.23.0 remotes/origin/v2.23.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
How to update of Sample Loader and MiniMonitor
New version:
Sample Loader: V3.02 MiniMonitor: V3.02
Down load:
File:UpdateFile v302.zip
Why update?:
ComEx Mechanical Specification: Durability: 30 mating cycles. This new version(V3.02) can update the firmware(*) while keeping Starter Kit(SK) and Kingfisher(KF) connected. (*)firmware: bootparam_sa0.srec, bl2-h3ulcb/m3ulcb.srec, cert_header_sa6.srec, bl31-h3ulcb/m3ulcb.srec, tee-h3ulcb/m3ulcb.srec, u-boot-elf.srec
How to update:
- Power off the KF and remove SK from KF
- Set SW of SK as follows:
- Power on the SK (This means that you need to prepare a 5V AC-adapter for SK)
- Send the following file from console:
- Power off the SK
- Set SW as follows:
- Power on the SK
- Send the following file from console:
- Flash AArch64_Gen3_H3_M3_SPI_LOADER_V3.02.mot. In console execute xls command (load program to hyper flash) and provide the following inputs:
- Flash AArch64_Gen3_Spi_MiniMon_V3.02_E6330000.mot. In console execute xls command (load program to hyper flash) and provide the following inputs:
- Power off the SK
- Verify Sample Loader and MiniMonitor version
- Set SW(Kernel boot mode) as follows:
- You can update the firmware with SK connected to KF.
Turn off SW5 Remove SK from KF
SW1:OFF SW6:OFF/OFF/OFF/OFF SW2:OFF/OFF/OFF/OFF
Press SW8 SCIF Download mode starts
type "ctrl+A S" and select upload method "ascii", then choose file for uploading the following file. Case of M3SK: BoardID_Writer_SCIF_64bit_ID=0x10(StarterKit-Pro_Rev1.0).mot Case of H3SK: BoardID_Writer_SCIF_64bit_ID=0x58(StarterKit-Premier_Rev1.0OB).mot
You can confirm the following log (Ex: M3SK):
+---------------------------------+ | Board ID Writer V01 2017.06.23 | +---------------------------------+ Product Code : R-Car M3 ES1.0 Now Board ID : Unknown Board Rev7 (0xFF) New Board ID : Starter Kit Rev0 (0x10) Wrote Board ID : Starter Kit Rev0 (0x10) Writer Program End.
Press SW8
M3SK = SW6:OFF/ON/OFF/OFF H3SK = SW6:OFF/OFF/OFF/OFF
Press SW8 SCIF Download mode starts
type "ctrl+A S" and select upload method "ascii", then choose file for uploading the following file. Case of M3SK: AArch32_Gen3_H3_M3_Scif_MiniMon_V3.02.mot Case of H3SK: AArch64_Gen3_H3_M3_Scif_MiniMon_V3.02.mot
You can confirm the following log (Ex: M3SK):
R-Car Gen3 Scif Download MiniMonitor V3.02 2017.07.04 Work Memory : SystemRAM Board Judge : Used Board-ID <-- Attention!! DDR_Init : boardcnf[3] Starter Kit (M3SIP) Board Name : Starter Kit Pro Product Code : R-Car M3 ES1.0 >
1 y y y 1 type "ctrl+A S" and select upload method "ascii", then choose file for uploading "AArch64_Gen3_H3_M3_SPI_LOADER_V3.02.mot", after upload finished press y key
1 y y y 3 e6330000 type "ctrl+A S" and select upload method "ascii", then choose file for uploading "AArch64_Gen3_Spi_MiniMon_V3.02_E6330000.mot", after upload finished press y key
Press SW8
SW1:OFF M3SK SW6[1]=OFF, SW6[2]=OFF, SW6[3]=OFF, SW6[4]=ON H3SK ws1.0: SW6[all]=OFF ws1.1/ws2.0: SW6[1]=ON, SW6[2]=ON, SW6[3]=OFF, SW6[4]=ON
Press SW8
You can confirm the following log (Ex: H3SK):
R-Car Gen3 Sample Loader V3.02 2017.07.04 <-- !! V3.02 !! For Salvator , Kriek , and StarterKit. Board Judge : Used Board-ID DDR_Init : boardcnf[7] Salvator / Starter Kit (H3SIP_VER2.0) INITIAL SETTING : Starter Kit Premier / R-Car H3 ES2.0 CPU : AArch64 CA57 DRAM : LPDDR4 DDR3200 DEVICE : QSPI Flash(S25FS128) at 40MHz DMA BOOT : Normal Boot BACKUP : DDR Cold Boot jump to 0xE6330000 R-Car Gen3 MiniMonitor V3.02 2017.07.04 <-- !! V3.02 !! Work Memory : SystemRAM Board Name : Starter Kit Premier Product Code : R-Car H3 ES2.0 >
SW1:ON M3SK = SW6[all]:ON H3SK ws1.0 = SW6:OFF/OFF/OFF/ON ws1.1 = SW6:ON/OFF/ON/ON ws2.0 = SW6[all]:ON
How to update:
http://elinux.org/R-Car/Boards/M3SK#Flashing_firmware
http://elinux.org/R-Car/Boards/H3SK#Flashing_firmware
FAQ
- Failed to DRAM initialize (-1).
If you face the following error please update(*) IPL and u-boot to the latest versopm.NOTICE: BL2: R-Car Gen3 Initial Program Loader(CA57) Rev.1.0.12 NOTICE: BL2: PRR is R-Car M3 ES1.0 NOTICE: BL2: Boot device is HyperFlash(80MHz) NOTICE: BL2: LCM state is CM NOTICE: BL2: AVS setting succeeded. DVFS_SetVID=0x52 NOTICE: BL2: DDR3200(rev.0.20)[COLD_BOOT]..1 NOTICE: BL2: Failed to DRAM initialize (-1). ERROR: ERROR: BL2: System WDT overflow, occured address is 0xe630d3cc
(*)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
- USB3.0(CN2) cannot use with M3 SK.
- H/W limitations
- Board type name: "SBEV-RCAR-KF-M03" and "SBEV-RCAR-KF-S03" 1. No access to Bluetooth AUDIO(U52) via I2S I/F 2. MOST RESET(CN22) SD card not working on 1.8V operation
- Power supply
SBEV-RCAR-KF-M03 and SBEV-RCAR-KF -S03 boards may not turn on even if you turn on SW6.
In that case please turn on SW6 again. - reboot
Current BSP does not support "reboot".
Please use SW6 on Kingfisher instead. - (SW limitation)Raspberry Pi camera
v2(Sony IMX219) camera does not support. (v1(ov5647)is suuported)
Known Issues
Refer to: http://elinux.org/R-Car/Boards/M3SK#Known_Issues