Difference between revisions of "R-Car/Boards/Kingfisher/Yocto-Gen3/v4.1.0"
(→LVDS Camera) |
(→Build using manual steps) |
||
(13 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
{{Template:R-Car-Gen3-Navbox}} | {{Template:R-Car-Gen3-Navbox}} | ||
+ | {{Template:R-Car-Kingfisher-Yocto-Gen3-legacy-header}} | ||
{{TOC right}} | {{TOC right}} | ||
Line 18: | Line 19: | ||
{{Template:R-Car-Gen3-KF-Topic}} | {{Template:R-Car-Gen3-KF-Topic}} | ||
− | == | + | == Software revisions == |
− | [http://git.yoctoproject.org/cgit/cgit.cgi/poky/tag/?id=yocto-3.0.2 | + | |
− | + | {| class="wikitable" | |
+ | |- | ||
+ | ! Software !! Revision | ||
+ | |- | ||
+ | | Yocto Project || [http://git.yoctoproject.org/cgit/cgit.cgi/poky/tag/?id=yocto-3.0.2 3.0.2] | ||
+ | |- | ||
+ | | Toolchain gcc-poky || 9.2 | ||
+ | |- | ||
+ | | Kernel Ver || 5.4 | ||
+ | |- | ||
+ | | Userland 64/32bit || 64 | ||
+ | |- | ||
+ | | U-Boot || 2020.01 | ||
+ | |- | ||
+ | | OP_TEE || 3.8.0 | ||
+ | |- | ||
+ | | OpenGL ES || 3.2 | ||
+ | |- | ||
+ | |} | ||
== Host PC == | == Host PC == | ||
Line 31: | Line 50: | ||
<!-- #: To download Multimedia and Graphics library and related Linux drivers, please use the following link: --> | <!-- #: To download Multimedia and Graphics library and related Linux drivers, please use the following link: --> | ||
#: To download Graphics library and related Linux drivers, please use the following link: | #: To download Graphics library and related Linux drivers, please use the following link: | ||
− | #::* https://www.renesas.com/us/en/ | + | #::* https://www.renesas.com/us/en/application/automotive/r-car-h3-m3-h2-m2-e2-documents-software |
#: Download two files: | #: Download two files: | ||
#::* R-Car_Gen3_Series_Evaluation_Software_Package_for_Linux-20200910.zip | #::* R-Car_Gen3_Series_Evaluation_Software_Package_for_Linux-20200910.zip | ||
Line 92: | Line 111: | ||
git clone git://git.yoctoproject.org/poky & | git clone git://git.yoctoproject.org/poky & | ||
git clone git://git.openembedded.org/meta-openembedded & | git clone git://git.openembedded.org/meta-openembedded & | ||
− | git clone | + | git clone https://github.com/renesas-rcar/meta-renesas & |
− | git clone | + | git clone https://github.com/CogentEmbedded/meta-rcar.git & |
# Wait for all clone operations | # Wait for all clone operations | ||
Line 151: | Line 170: | ||
git clone git://git.yoctoproject.org/poky | git clone git://git.yoctoproject.org/poky | ||
git clone git://git.openembedded.org/meta-openembedded | git clone git://git.openembedded.org/meta-openembedded | ||
− | git clone | + | git clone https://github.com/renesas-rcar/meta-renesas |
− | git clone | + | git clone https://github.com/CogentEmbedded/meta-rcar.git |
</syntaxhighlight> | </syntaxhighlight> | ||
# Switch to proper branches/commits | # Switch to proper branches/commits | ||
Line 276: | Line 295: | ||
== S/W support status == | == S/W support status == | ||
+ | |||
=== Support list === | === Support list === | ||
+ | |||
{| class="wikitable" | {| class="wikitable" | ||
! Functions !! Status | ! Functions !! Status | ||
|- | |- | ||
− | | WiFi || ok | + | | [[{{PAGENAME}}#WiFi | WiFi]] || ok |
|- | |- | ||
− | | Bluetooth || ok | + | | [[{{PAGENAME}}#Bluetooth | Bluetooth ]] || ok |
|- | |- | ||
− | | Gyro || ok | + | | [[{{PAGENAME}}#Gyro | Gyro ]] || ok |
|- | |- | ||
− | | GPS || ok | + | | [[{{PAGENAME}}#GPS | GPS ]]|| ok |
|- | |- | ||
− | | CAN || ok | + | | [[{{PAGENAME}}#CAN | CAN ]]|| ok |
|- | |- | ||
− | | | + | | [[{{PAGENAME}}#Serial| Serial]](CN4) || ok |
|- | |- | ||
− | | CMOS Camera || ok | + | | [[{{PAGENAME}}#LVDS_Camera| LVDS Camera ]](CN10/CN11) || ok |
+ | |- | ||
+ | | [[{{PAGENAME}}#CMOS_Camera| CMOS Camera ]] || ok | ||
|- | |- | ||
| Raspberry Pi camera Rev 1.3 || ok | | Raspberry Pi camera Rev 1.3 || ok | ||
Line 298: | Line 321: | ||
| Raspberry Pi camera Rev 2 || ok | | Raspberry Pi camera Rev 2 || ok | ||
|- | |- | ||
− | | USB2.0(CN13) Host || ok | + | | USB2.0(CN13) Host || ok |
|- | |- | ||
| USB2.0(CN13) Func(g_mass_storage) || ok | | USB2.0(CN13) Func(g_mass_storage) || ok | ||
Line 304: | Line 327: | ||
| USB3.0(CN2) Host || ok | | USB3.0(CN2) Host || ok | ||
|- | |- | ||
− | | Multichannel Audio || ok | + | | [[{{PAGENAME}}#Multichannel_Audio| Multichannel Audio]] || ok |
|- | |- | ||
| HDMI Out || ok | | HDMI Out || ok | ||
Line 310: | Line 333: | ||
| LVDS Out || ok | | LVDS Out || ok | ||
|- | |- | ||
− | | | + | | Mini PCIe || ok (Atheros AR5418) |
|- | |- | ||
− | | | + | | [[{{PAGENAME}}#M.2| M.2]] || ok |
|- | |- | ||
− | | | + | | [[{{PAGENAME}}#MOST | MOST ]]|| ok |
|- | |- | ||
− | | | + | | [[{{PAGENAME}}#Radio| Radio ]](CN42)|| ok |
|- | |- | ||
|} | |} | ||
Line 388: | Line 411: | ||
(*)Note: SW2 ON of KF. (defalt:ON) | (*)Note: SW2 ON of KF. (defalt:ON) | ||
</syntaxhighlight> | </syntaxhighlight> | ||
+ | ::[[File:KF_CAN.jpg|350px]] | ||
: <syntaxhighlight lang="bash"> | : <syntaxhighlight lang="bash"> | ||
$ ip link set can0 up type can bitrate 125000 | $ ip link set can0 up type can bitrate 125000 | ||
Line 494: | Line 518: | ||
$ capture -d /dev/video0 -F -f rgb32 -L 0 -T 0 -W 1280 -H 720 -c 1000 -t 60 -z | $ capture -d /dev/video0 -F -f rgb32 -L 0 -T 0 -W 1280 -H 720 -c 1000 -t 60 -z | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | + | ||
==== Raspberry Pi camera Rev 1.3(OV5647) / 2(IMX219) ==== | ==== Raspberry Pi camera Rev 1.3(OV5647) / 2(IMX219) ==== | ||
− | + | * Ex) OV5647 | |
− | |||
− | |||
− | * Ex) | ||
*:<syntaxhighlight lang="bash"> | *:<syntaxhighlight lang="bash"> | ||
− | $ | + | $ media-ctl -d /dev/media0 -p | grep ov5647 |
− | $ capture -d /dev/ | + | <- "ov5647 21-0036":0 [ENABLED,IMMUTABLE] |
− | + | - entity 13: ov5647 21-0036 (1 pad, 1 link) | |
− | + | $ media-ctl -d /dev/media0 -V "'rcar_csi2 fea80000.csi2':1 [fmt:SBGGR8_1X8/2592x1944 field:none]" | |
+ | $ media-ctl -d /dev/media0 -l "'rcar_csi2 fea80000.csi2':1 -> 'VIN4 output':0 [1]" | ||
+ | $ capture -d /dev/video4 -o -f bggr8 -W 2592 -H 1944 -c 1 -t 30 > /home/root/video.bggr | ||
</syntaxhighlight> | </syntaxhighlight> | ||
+ | * Ex) IMX219 | ||
+ | *: Load "ulcb-kf-imx219.dtbo" file using device tree overlay feature: | ||
+ | *: See [[R-Car/Boards/Yocto-Gen3-CommonFAQ/How_to_use_%22Device_Tree_Overlays%22]] | ||
+ | *:<syntaxhighlight lang="bash"> | ||
+ | $ media-ctl -d /dev/media0 -p | grep imx219 | ||
+ | <- "imx219 21-0010":0 [ENABLED,IMMUTABLE] | ||
+ | - entity 13: imx219 21-0010 (1 pad, 1 link) | ||
+ | $ media-ctl -d /dev/media0 -V "'rcar_csi2 fea80000.csi2':1 [fmt:SBGGR8_1X8/3280x2464 field:none]" | ||
+ | $ media-ctl -d /dev/media0 -l "'rcar_csi2 fea80000.csi2':1 -> 'VIN4 output':0 [1]" | ||
+ | $ capture -d /dev/video4 -o -f bggr8 -W 2592 -H 1944 -c 1 -t 30 > /home/root/video.bggr | ||
+ | </syntaxhighlight> | ||
+ | * Ex) Display | ||
*:<syntaxhighlight lang="bash"> | *:<syntaxhighlight lang="bash"> | ||
Ubuntu PC$ ./bayer2rgb -i video.bggr -o video.rgb24 -w 2592 -v 1944 -b 8 -f BGGR | Ubuntu PC$ ./bayer2rgb -i video.bggr -o video.rgb24 -w 2592 -v 1944 -b 8 -f BGGR | ||
Line 512: | Line 547: | ||
Ubuntu PC$ display video24.ppm | Ubuntu PC$ display video24.ppm | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | |||
==== Multichannel Audio ==== | ==== Multichannel Audio ==== | ||
Line 601: | Line 635: | ||
==== Radio ==== | ==== Radio ==== | ||
Ex) FM Radio<br> | Ex) FM Radio<br> | ||
− | : If radio module is used for the first time, updating radio module firmware is required. | + | : Connect the antenna to CN42 on Kingfisher boards. |
− | : Updating firmware is not required after the second time. | + | :{{Note}} |
+ | :: If radio module is used for the first time, updating radio module firmware is required. | ||
+ | :: Updating firmware is not required after the second time. | ||
: <syntaxhighlight lang="bash"> | : <syntaxhighlight lang="bash"> | ||
$ si_init | $ si_init |
Latest revision as of 23:41, 22 March 2022
|
This page is out of date.
Please refer to the Kingfisher-Yocto-Gen3 page for the latest version.
Introduction
This page contains information on building and running Yocto on:
18px <translate> Note:</translate>
This version does not support Wayland/weston and Multimedia Packages.
Topic
EOL Notification of the M3SK
Production of M3SK is discontinued.
See M3SK page for detail.
The new version of R-Car Starter Kit Premier is now on sale !!
- Equipped with R-Car H3e-2G
-
(En) https://www.renesas.com/jp/en/about/press-room/renesas-launches-r-car-gen3e-20-percent-higher-cpu-speed-automotive-infotainment-cockpit-and-digital
(Zh) https://www.renesas.com/jp/zh/about/press-room/renesas-launches-r-car-gen3e-20-percent-higher-cpu-speed-automotive-infotainment-cockpit-and-digital
(Jp) https://www.renesas.com/jp/ja/about/press-room/renesas-launches-r-car-gen3e-20-percent-higher-cpu-speed-automotive-infotainment-cockpit-and-digital
- CPU performance is increased 20% by supporting up to 2GHz frequency over past products.
- You can buy from here.
SW Release Information
Board name | SW name | Release date | Note |
---|---|---|---|
R-Car Starter Kit ( Premier / Pro ) | Yocto v5.9.4 (stable) [New!!] | 2024/03/28 | |
Kingfisher Infotainment Board | Yocto v5.9.0 (stable) | 2022/02/14 | To check for latest information, please refer to the meta-rcar/tree/v5.9.0. |
Android 10 (stable) | 2021/07/26 | R-Car Starter Kit Premier(R-Car H3) + Kingfisher is supported. R-Car Starter Kit Pro(RTP8J77961ASKB0SK0SA05A) + Kingfisher is also supported from 2021/11/25. | |
Android P (stable) | 2020/09/29 | R-Car Starter Kit Premier(R-Car H3) + Kingfisher is supported. R-Car Starter Kit Pro(RTP8J77961ASKB0SK0SA05A) + Kingfisher is also supported from 2021/03/16. | |
CCPF-SK Board | Yocto v5.9.0 (stable) | 2022/02/08 | Prebuilt binary is available in Quick startup guide page. (Updated on 2022/03/18) |
Kingfisher Board Stock Information
- Click here for detail
New Camera Support
- Please refer to FAQ for how to purchase.
Software revisions
Software | Revision |
---|---|
Yocto Project | 3.0.2 |
Toolchain gcc-poky | 9.2 |
Kernel Ver | 5.4 |
Userland 64/32bit | 64 |
U-Boot | 2020.01 |
OP_TEE | 3.8.0 |
OpenGL ES | 3.2 |
Host PC
Ubuntu 16.04 LTS (64bit) is recommended as OS. 32bit version is not supported.
Required packages
- Download evaluation version of proprietary graphics package from Renesas.
- To download Graphics library and related Linux drivers, please use the following link:
- 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
- Install required packages
- Ubuntu and Debian
sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib \ build-essential chrpath socat libsdl1.2-dev xterm python-crypto cpio python python3 \ python3-pip python3-pexpect xz-utils debianutils iputils-ping libssl-dev
- Fedora
sudo yum install gawk make wget tar bzip2 gzip python unzip perl patch \ diffutils diffstat git cpp gcc gcc-c++ glibc-devel texinfo chrpath \ ccache perl-Data-Dumper perl-Text-ParseWords perl-Thread-Queue socat \ SDL-devel xterm python-crypto cpio python python3 python3-pip python3-pexpect \ ghc-lzma-conduit iputils openssl
- Refer to Yocto Project Quick Start for more information.
- Ubuntu and Debian
Building the BSP for Kingfisher
Build using script
- Directory Structure
|--build.sh `--proprietary |--R-Car_Gen3_Series_Evaluation_Software_Package_for_Linux-20200910.zip `--R-Car_Gen3_Series_Evaluation_Software_Package_of_Linux_Drivers-20200910.zip
- Build script(build.sh)
#!/bin/bash BOARD_LIST=("h3ulcb" "m3ulcb") TARGET_BOARD=$1 PROPRIETARY_DIR=`pwd`/proprietary WORK=`pwd`/${TARGET_BOARD} Usage () { echo "Usage: $0 \${TARGET_BOARD_NAME}" echo "BOARD_NAME list: " for i in ${BOARD_LIST[@]}; do echo " - $i"; done exit } # Check Param. if ! `IFS=$'\n'; echo "${BOARD_LIST[*]}" | grep -qx "${TARGET_BOARD}"`; then Usage fi # Create a directory and switch to it mkdir -p ${WORK} cd ${WORK} # Clone basic Yocto layers in parallel git clone git://git.yoctoproject.org/poky & git clone git://git.openembedded.org/meta-openembedded & git clone https://github.com/renesas-rcar/meta-renesas & git clone https://github.com/CogentEmbedded/meta-rcar.git & # Wait for all clone operations wait # Switch to proper branches/commits cd ${WORK}/poky git checkout -b tmp 5e1f52edb7a9f790fb6cb5d96502f3690267c1b1 cd ${WORK}/meta-openembedded git checkout -b tmp 9e60d30669a2ad0598e9abf0cd15ee06b523986b cd ${WORK}/meta-renesas git checkout -b tmp f6ccae7cfb669937aac221ff5cb6a13b36eff951 cd $WORK/meta-rcar git checkout -b v4.1.0 remotes/origin/v4.1.0 # Populate meta-renesas with proprietary software packages cd ${WORK}/../proprietary unzip -qo R-Car_Gen3_Series_Evaluation_Software_Package_for_Linux-20200910.zip unzip -qo R-Car_Gen3_Series_Evaluation_Software_Package_of_Linux_Drivers-20200910.zip cd ${WORK}/meta-renesas sh meta-rcar-gen3/docs/sample/copyscript/copy_proprietary_softwares.sh -f ${WORK}/../proprietary cd ${WORK} source poky/oe-init-build-env ${WORK}/build #cp ${WORK}/meta-renesas/meta-rcar-gen3/docs/sample/conf/${TARGET_BOARD}/poky-gcc/bsp/*.conf ./conf/ cp ${WORK}/meta-renesas/meta-rcar-gen3/docs/sample/conf/${TARGET_BOARD}/poky-gcc/gfx-only/*.conf ./conf/ #cp ${WORK}/meta-renesas/meta-rcar-gen3/docs/sample/conf/${TARGET_BOARD}/poky-gcc/mmp/*.conf ./conf/ cd ${WORK}/build cp conf/local-wayland.conf conf/local.conf bitbake-layers add-layer ../meta-rcar/meta-rcar-gen3-adas bitbake core-image-weston
- build
./build.sh <target_board_name>
- If the build completes successfully, all the necessary files are generated in a following directory:
./<target_board_name>/build/tmp/deploy/images/<target_board_name>
Build using manual steps
- 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 cd build export WORK=`pwd`
- Clone basic Yocto layers:
cd $WORK git clone git://git.yoctoproject.org/poky git clone git://git.openembedded.org/meta-openembedded git clone https://github.com/renesas-rcar/meta-renesas git clone https://github.com/CogentEmbedded/meta-rcar.git
- Switch to proper branches/commits
cd $WORK/poky git checkout -b tmp 5e1f52edb7a9f790fb6cb5d96502f3690267c1b1 cd $WORK/meta-openembedded git checkout -b tmp 9e60d30669a2ad0598e9abf0cd15ee06b523986b cd $WORK/meta-renesas git checkout -b tmp f6ccae7cfb669937aac221ff5cb6a13b36eff951 cd $WORK/meta-rcar git checkout -b v4.1.0 remotes/origin/v4.1.0
- Another versions are not tested for compatibility.
- Legacy BSP instruction can be found here R-Car Kingfisher Yocto Gen3 legacy
- Download proprietary driver modules to $WORK/proprietary folder
- You should see the following files:
$ ls -1 $WORK/proprietary/*.zip R-Car_Gen3_Series_Evaluation_Software_Package_for_Linux-20200910.zip R-Car_Gen3_Series_Evaluation_Software_Package_of_Linux_Drivers-20200910.zip
- Populate meta-renesas with proprietary software packages.
export PKGS_DIR=$WORK/proprietary cd $PKGS_DIR unzip -qo R-Car_Gen3_Series_Evaluation_Software_Package_for_Linux-20200910.zip unzip -qo R-Car_Gen3_Series_Evaluation_Software_Package_of_Linux_Drivers-20200910.zip cd $WORK/meta-renesas sh meta-rcar-gen3/docs/sample/copyscript/copy_proprietary_softwares.sh -f $PKGS_DIR unset PKGS_DIR
- Setup build environment
cd $WORK source poky/oe-init-build-env $WORK/build
- Prepare default configuration files.
cp $WORK/meta-renesas/meta-rcar-gen3/docs/sample/conf/<h3ulcb|m3ulcb>/poky-gcc/gfx-only/*.conf ./conf/ cd $WORK/build cp conf/local-wayland.conf conf/local.conf
- NOTE: extra configuration examples are available in the following directory:
$WORK/meta-rcar/meta-rcar-gen3-adas/docs/sample/conf/
- 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/h3ulcb/ -maxdepth 1 -type l -print` ./tmp/deploy/images/h3ulcb/core-image-weston-h3ulcb.ext4 ./tmp/deploy/images/h3ulcb/core-image-weston-h3ulcb.manifest ./tmp/deploy/images/h3ulcb/core-image-weston-h3ulcb.tar.bz2 ./tmp/deploy/images/h3ulcb/core-image-weston-h3ulcb.tar.gz ./tmp/deploy/images/h3ulcb/core-image-weston-h3ulcb.testdata.json ./tmp/deploy/images/h3ulcb/Image ./tmp/deploy/images/h3ulcb/Image-h3ulcb.bin ./tmp/deploy/images/h3ulcb/modules-h3ulcb.tgz ./tmp/deploy/images/h3ulcb/r8a7795-es1-h3ulcb.dtb ./tmp/deploy/images/h3ulcb/r8a7795-es1-h3ulcb-h3ulcb.dtb ./tmp/deploy/images/h3ulcb/r8a7795-es1-h3ulcb-kf.dtb ./tmp/deploy/images/h3ulcb/r8a7795-es1-h3ulcb-kf-h3ulcb.dtb ./tmp/deploy/images/h3ulcb/r8a7795-h3ulcb-4x2g.dtb ./tmp/deploy/images/h3ulcb/r8a7795-h3ulcb-4x2g-h3ulcb.dtb ./tmp/deploy/images/h3ulcb/r8a7795-h3ulcb-4x2g-kf.dtb ./tmp/deploy/images/h3ulcb/r8a7795-h3ulcb-4x2g-kf-h3ulcb.dtb ./tmp/deploy/images/h3ulcb/r8a7795-h3ulcb.dtb ./tmp/deploy/images/h3ulcb/r8a7795-h3ulcb-h3ulcb.dtb ./tmp/deploy/images/h3ulcb/r8a7795-h3ulcb-kf.dtb ./tmp/deploy/images/h3ulcb/r8a7795-h3ulcb-kf-h3ulcb.dtb ./tmp/deploy/images/h3ulcb/u-boot.bin ./tmp/deploy/images/h3ulcb/u-boot.bin-r8a7795_h3ulcb ./tmp/deploy/images/h3ulcb/u-boot.bin-r8a7795_h3ulcb-4x2g ./tmp/deploy/images/h3ulcb/u-boot-elf-h3ulcb-4x2g.srec ./tmp/deploy/images/h3ulcb/u-boot-elf-h3ulcb.srec ./tmp/deploy/images/h3ulcb/u-boot-h3ulcb.bin ./tmp/deploy/images/h3ulcb/u-boot-h3ulcb.bin-r8a7795_h3ulcb ./tmp/deploy/images/h3ulcb/u-boot-h3ulcb.bin-r8a7795_h3ulcb-4x2g ./tmp/deploy/images/h3ulcb/ulcb-kf-cn10-gmsl2.dtbo ./tmp/deploy/images/h3ulcb/ulcb-kf-cn10-gmsl2-h3ulcb.dtbo ./tmp/deploy/images/h3ulcb/ulcb-kf-cn10-pca.dtbo ./tmp/deploy/images/h3ulcb/ulcb-kf-cn10-pca-h3ulcb.dtbo ./tmp/deploy/images/h3ulcb/ulcb-kf-cn11.dtbo ./tmp/deploy/images/h3ulcb/ulcb-kf-cn11-gmsl2.dtbo ./tmp/deploy/images/h3ulcb/ulcb-kf-cn11-gmsl2-h3ulcb.dtbo ./tmp/deploy/images/h3ulcb/ulcb-kf-cn11-h3ulcb.dtbo ./tmp/deploy/images/h3ulcb/ulcb-kf-cn11-pca.dtbo ./tmp/deploy/images/h3ulcb/ulcb-kf-cn11-pca-h3ulcb.dtbo ./tmp/deploy/images/h3ulcb/ulcb-kf-most.dtbo ./tmp/deploy/images/h3ulcb/ulcb-kf-most-h3ulcb.dtbo ./tmp/deploy/images/h3ulcb/ulcb-kf-panel-koe-tx31d200vm0baa-1280x480.dtbo ./tmp/deploy/images/h3ulcb/ulcb-kf-panel-koe-tx31d200vm0baa-1280x480-h3ulcb.dtbo ./tmp/deploy/images/h3ulcb/ulcb-kf-panel-mitsubishi-aa104xd12-1024x768.dtbo ./tmp/deploy/images/h3ulcb/ulcb-kf-panel-mitsubishi-aa104xd12-1024x768-h3ulcb.dtbo ./tmp/deploy/images/h3ulcb/ulcb-kf-panel-mitsubishi-aa121td01-1280x800.dtbo ./tmp/deploy/images/h3ulcb/ulcb-kf-panel-mitsubishi-aa121td01-1280x800-h3ulcb.dtbo ./tmp/deploy/images/h3ulcb/ulcb-kf-sd3.dtbo ./tmp/deploy/images/h3ulcb/ulcb-kf-sd3-h3ulcb.dtbo
- Image is a Kernel image, *.dtb is a blob file, core-image-<image_type>-<board_name>.tar.bz2 is the rootfs, modules-<board_name>.tgz are kernel modules.
- 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.
S/W support status
Support list
Functions | Status |
---|---|
WiFi | ok |
Bluetooth | ok |
Gyro | ok |
GPS | ok |
CAN | ok |
Serial(CN4) | ok |
LVDS Camera (CN10/CN11) | ok |
CMOS Camera | ok |
Raspberry Pi camera Rev 1.3 | ok |
Raspberry Pi camera Rev 2 | ok |
USB2.0(CN13) Host | ok |
USB2.0(CN13) Func(g_mass_storage) | ok |
USB3.0(CN2) Host | ok |
Multichannel Audio | ok |
HDMI Out | ok |
LVDS Out | ok |
Mini PCIe | ok (Atheros AR5418) |
M.2 | ok |
MOST | ok |
Radio (CN42) | ok |
Note:
- "ok" - Function succeeded in the simple test as below.
- "NT" - Function wasn't tested
How to test some capabilities
WiFi
To check wifi and scan available WAPs run:
$ ifconfig wlan0 up $ iw dev wlan0 scan
Bluetooth
Ex 1)To check bluetooth and scan available BT devices run:
$ hciconfig hci0 up $ hcitool -i hci0 scan
Ex 2)BT-Audio
root@h3ulcb:~# bluetoothctl [NEW] Controller C8:DF:84:4C:84:98 h3ulcb [default] Agent registered [bluetooth]# power on Changing power on succeeded [bluetooth]# agent on Agent is already registered [bluetooth]# default-agent Default agent request successful [bluetooth]# scan on Discovery started ..(snip).. !!! <-- Please look for taget device !!! [bluetooth]# scan off ..(snip).. [bluetooth]# pair <MAC address of target device> ..(snip).. Request confirmation [agent] Confirm passkey 285311 (yes/no): yes ..(snip).. Pairing successful [bluetooth]# connect <MAC address of target device> ..(snip).. Connection successful ..(snip).. [Target device name]# quit
Please play music on target device.
Gyro
$ cat /sys/bus/iio/devices/iio\:device0/*_raw (Accelerometer, Magnetometer)
$ cat /sys/bus/iio/devices/iio\:device1/*_raw (Gyroscope)
GPS
$ cat /dev/ttySC2
CAN
Ex) loop back
- Connect the following pins of CN17 and CN18:
$ ip link set can0 up type can bitrate 125000 $ ip link set can1 up type can bitrate 125000 $ candump can0& $ cangen can1 can0 08D [3] B5 F4 3C can0 34E [3] 7C A1 70 can0 717 [6] 95 C5 67 4A 41 42 can0 7F1 [8] CA B9 E9 3E AE 71 FC 52
Serial
Ex) loop back
- For KF M03: Connect the following pins on CN4:
pin3(RxD) - pin5(TxD) pin4(RTS) - pin6(CTS)
- For KF M04 or later: Connect the following pins on CN4:
pin2(TxD) - pin4(RxD) pin1(RTS) - pin3(CTS)
$ stty -F /dev/ttySC3 -echo $ stty -F /dev/ttySC3 speed 9600 baud; line = 0; -brkint -imaxbel -echo $ cat /dev/ttySC3 & $ echo 123435452345 > /dev/ttySC3 123435452345
LVDS Camera
- <GMSL>
- Camera board: GMSL02
- Camera: IMI RDACM21-01 <-- This may be out of stock
- Camera: Leopard Imaging LI-OV10635-GMSL
- Camera: Entron S001A190CM0A (How to get : R-Car/Boards/Kingfisher#How_to_get_the_SA001_Camera)
[Note]
- H3 can use CN10 and CN11
- M3 can use CN10
- When you use a Leopard Imaging camera, add some parameters to bootargs.
Leopard Imagin camera type name | bootargs |
---|---|
LI-OV10635-GMSL | |
(IMI) RDACM21 | ov490.dvp_order=1 |
S001A190CM0A | max9286.him=1 max9286.vsync=0 max9286.fsync_period=2420000 max9286.crossbar=0x01234567 |
Ex1) 1 camera
- RDACM21-01
$ media-ctl -r $ media-ctl -d /dev/media0 -V "'rcar_csi2 feaa0000.csi2':2 [fmt:UYVY8_2X8/1280x1080 field:none]" $ media-ctl -d /dev/media0 -l "'rcar_csi2 feaa0000.csi2':2 -> 'VIN0 output':0 [1]" $ capture -d /dev/video0 -F -f rgb32 -L 0 -T 0 -W 1280 -H 1080 -c 1000 -z
- LI-OV10635-GMSL
media-ctl -d /dev/media0 -V "'rcar_csi2 feaa0000.csi2':1 [fmt:UYVY8_2X8/1280x800 field:none]" media-ctl -d /dev/media0 -l "'rcar_csi2 feaa0000.csi2':1 -> 'VIN0 output':0 [1]" capture -d /dev/video0 -F -f rgb32 -L 0 -T 0 -W 1280 -H 800 -c 1000 -z
- S001A190CM0A
media-ctl -d /dev/media0 -V "'rcar_csi2 feaa0000.csi2':2 [fmt:UYVY8_2X8/1280x728 field:none]" media-ctl -d /dev/media0 -l "'rcar_csi2 feaa0000.csi2':2 -> 'VIN0 output':0 [1]" capture -d /dev/video0 -F -f rgb32 -L 0 -T 0 -W 1280 -H 728 -c 1000 -z
Ex2) 4 cameras
- RDACM21-01 x4
$ media-ctl -r $ media-ctl -d /dev/media0 -V "'rcar_csi2 feaa0000.csi2':1 [fmt:UYVY8_2X8/1280x1080 field:none]" $ media-ctl -d /dev/media0 -l "'rcar_csi2 feaa0000.csi2':1 -> 'VIN0 output':0 [1]" $ media-ctl -d /dev/media0 -V "'rcar_csi2 feaa0000.csi2':2 [fmt:UYVY8_2X8/1280x1080 field:none]" $ media-ctl -d /dev/media0 -l "'rcar_csi2 feaa0000.csi2':2 -> 'VIN1 output':0 [1]" $ media-ctl -d /dev/media0 -V "'rcar_csi2 feaa0000.csi2':3 [fmt:UYVY8_2X8/1280x1080 field:none]" $ media-ctl -d /dev/media0 -l "'rcar_csi2 feaa0000.csi2':3 -> 'VIN2 output':0 [1]" $ media-ctl -d /dev/media0 -V "'rcar_csi2 feaa0000.csi2':4 [fmt:UYVY8_2X8/1280x1080 field:none]" $ media-ctl -d /dev/media0 -l "'rcar_csi2 feaa0000.csi2':4 -> 'VIN3 output':0 [1]" $ /usr/share/tests/test_lvds_4cameras_on_display1920x1080.sh
CMOS Camera
Ex)
$ media-ctl -d /dev/media0 -V "'ov5642 22-003c':0 [fmt:UYVY8_2X8/1280x720 field:none]" $ media-ctl -d /dev/media0 -l "'ov5642 22-003c':0 -> 'VIN5 output':0 [1]" $ capture -d /dev/video0 -F -f rgb32 -L 0 -T 0 -W 1280 -H 720 -c 1000 -t 60 -z
Raspberry Pi camera Rev 1.3(OV5647) / 2(IMX219)
- Ex) OV5647
$ media-ctl -d /dev/media0 -p | grep ov5647 <- "ov5647 21-0036":0 [ENABLED,IMMUTABLE] - entity 13: ov5647 21-0036 (1 pad, 1 link) $ media-ctl -d /dev/media0 -V "'rcar_csi2 fea80000.csi2':1 [fmt:SBGGR8_1X8/2592x1944 field:none]" $ media-ctl -d /dev/media0 -l "'rcar_csi2 fea80000.csi2':1 -> 'VIN4 output':0 [1]" $ capture -d /dev/video4 -o -f bggr8 -W 2592 -H 1944 -c 1 -t 30 > /home/root/video.bggr
- Ex) IMX219
- Load "ulcb-kf-imx219.dtbo" file using device tree overlay feature:
- See R-Car/Boards/Yocto-Gen3-CommonFAQ/How_to_use_"Device_Tree_Overlays"
$ media-ctl -d /dev/media0 -p | grep imx219 <- "imx219 21-0010":0 [ENABLED,IMMUTABLE] - entity 13: imx219 21-0010 (1 pad, 1 link) $ media-ctl -d /dev/media0 -V "'rcar_csi2 fea80000.csi2':1 [fmt:SBGGR8_1X8/3280x2464 field:none]" $ media-ctl -d /dev/media0 -l "'rcar_csi2 fea80000.csi2':1 -> 'VIN4 output':0 [1]" $ capture -d /dev/video4 -o -f bggr8 -W 2592 -H 1944 -c 1 -t 30 > /home/root/video.bggr
- Ex) Display
Ubuntu PC$ ./bayer2rgb -i video.bggr -o video.rgb24 -w 2592 -v 1944 -b 8 -f BGGR * https://github.com/jdthomas/bayer2rgb.git Ubuntu PC$ rawtoppm -rgb 2592 1944 video.rgb24 > video24.ppm Ubuntu PC$ display video24.ppm
Multichannel Audio
- Ex1) CN12/32/33 on KF
$ speaker-test -c 8 -t wav -W /usr/share/sounds/alsa/ $ arecord -c 6 -r 48000 -f S32_LE | aplay
- Ex2)
<KF> $ pactl set-default-sink pcm3168a_output $ speaker-test -c 8 -t wav -W /usr/share/sounds/alsa/ <SK> $ pactl set-default-sink ak4613_output $ amixer -c 1 sset "DVC Out" 10% $ speaker-test -c 2 -t wav -W /usr/share/sounds/alsa/
- Ex3)
<KF> $ paplay -d pcm3168a_output sample.wav <SK> $ amixer -c 1 sset "DVC Out" 10% $ paplay -d ak4613_output sample.wav
Radio
Ex) FM Radio
- Connect the antenna to CN42 on Kingfisher boards.
- 18px <translate> Note:</translate>
- If radio module is used for the first time, updating radio module firmware is required.
- Updating firmware is not required after the second time.
$ si_init $ si_firmware_update ( Update firmware of radio module.) $ si_fm $ si_preset <FM Radio frequency> ( In Tokyo, Japan, 91600 is Nippon Cultural Broadcasting. )
M.2
Ex) Transcend TS128GMTE850
$ dmesg|grep nvme<br> [ 1.646158] nvme nvme0: pci function 0000:01:00.0<br> [ 1.650890] nvme 0000:01:00.0: enabling device (0000 -> 0002)<br> [ 2.563406] nvme0n1: p1 p2<br> $ mount /dev/nvme0n1p1 /mnt/
MOST
Ex)
- Connect OS81092 board(Physical+ Interface Board OS81092) and CN22 of KF.
- Connect Audio board(OS81092 Audio Demo Board) and OS819092 board with exclusive cable.
- Connect Audio board and CN5 of SK with USB cable.
- Run the linux kernel
- cd /usr/share/most/
- ./most_setup.sh
$./most_setup.sh -- Setting up cdev most_ctrl_rx: rx channel ca2 -- -- Setting up cdev most_ctrl_tx: tx channel ca4 -- -- Setting up sound rx0: rx channel ca6 -- -- Setting up sound tx0: tx channel ca8 -- -- Setting up sound tx1: tx channel ca12 -- MOST setup complete
- ./setup-audio-50 &
$./setup-audio-50 & root@h3ulcb:/usr/share/most# Configuration: Timing Slave (Audio Sink) ! ET_NS_MSVAL_ERROR a MSVAL Error is reported from the NS: 0x0010 MSVAL_ERR_STARTUP_FAILED MSVAL_E_SHUTDOWN App reset MSVAL_E_SHUTDOWN App reset ! ET_NS_MSVAL_ERROR a MSVAL Error is reported from the NS: 0x0011 MSVAL_ERR_STARTUP_BUSY ! ET_NS_MSVAL_ERROR a MSVAL Error is reported from the NS: 0x0011 MSVAL_ERR_STARTUP_BUSY ! ET_NS_MSVAL_ERROR a MSVAL Error is reported from the NS: 0x0011 MSVAL_ERR_STARTUP_BUSY ! ET_NS_MSVAL_ERROR a MSVAL Error is reported from the NS: 0x0010 MSVAL_ERR_STARTUP_FAILED MSVAL_E_SHUTDOWN App reset (snip)
- Push the "Switch" button on the Audio board
-> MostAllowRemoteAccess(allow) -> SourceInfo.Status 1 (Inst_ID: 0x1, FB: 0x24, Adr: 0x400) -> SourceInfo.Status 2 (Inst_ID: 0x1, FB: 0x24, Adr: 0x400) -> Amplifier.Volume.Set 100
- Push the "Switch" button on the Audio board again
<- FB_AuxIn_Allocate_StartResult Node: 0x01, Ifn: 0x02
- Push the "Switch" button on the Audio board again
<- FB_AuxIn_Allocate_StartResult Node: 0x01, Ifn: 0x01
- ./most_play.sh /usr/share/sounds/alsa/Front_Left.wav
$./most_play.sh /usr/share/sounds/alsa/Front_Left.wav Audio file : /usr/share/sounds/alsa/Front_Left.wav Output index: 0 ALSA device : hw:4,1 Setting pipeline to PAUSED ... Pipeline is PREROLLING ... Redistribute latency... Pipeline is PREROLLED ... Setting pipeline to PLAYING ... New clock: GstAudioSinkClock
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
FAQ
Failed to DRAM initialize (-1).
If you face the following error please update(*) IPL and u-boot to the latest version.
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, occurred 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
How to get the SA001 Camera
Refer to R-Car/Boards/Kingfisher#How_to_get_the_SA001_Camera.