R-Car/Boards/M3NSK

Yocto-Gen3

Introduction
This is the Wiki for the Renesas R-Car Starter Kit Pro board(M3N). Typename: RTP0RC77965SKBX010SA00

Build Yocto 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 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 git://git.linaro.org/openembedded/meta-linaro.git git clone git://github.com/renesas-rcar/meta-renesas git clone git://github.com/CogentEmbedded/meta-rcar.git 

 Switch to proper branches/commits   For Yocto v3.9.0 cd $WORK/poky git checkout -b tmp 342fbd6a3e57021c8e28b124b3adb241936f3d9d cd $WORK/meta-openembedded git checkout -b tmp dacfa2b1920e285531bec55cd2f08743390aaf57 cd $WORK/meta-linaro git checkout -b tmp 75dfb67bbb14a70cd47afda9726e2e1c76731885 cd $WORK/meta-renesas git checkout -b tmp fd078b6ece537d986852cb827bd21e022a797b2f cd $WORK/meta-rcar git checkout -b v3.9.0 remotes/origin/v3.9.0   For Yocto v3.13.0 (Note: https://elinux.org/R-Car/Boards/Yocto-Gen3#Known_issues_and_limitations (No.3)) cd $WORK/poky git checkout -b tmp 7e7ee662f5dea4d090293045f7498093322802cc cd $WORK/meta-openembedded git checkout -b tmp 352531015014d1957d6444d114f4451e241c4d23 cd $WORK/meta-linaro git checkout -b tmp 75dfb67bbb14a70cd47afda9726e2e1c76731885 cd $WORK/meta-renesas git checkout -b tmp 00f70f062aace04c051fa92d3cd7b887718fc313 cd $WORK/meta-rcar git checkout -b v3.13.0 remotes/origin/v3.13.0   For Yocto v3.15.0 cd $WORK/poky git checkout -b tmp 7e7ee662f5dea4d090293045f7498093322802cc cd $WORK/meta-openembedded git checkout -b tmp 352531015014d1957d6444d114f4451e241c4d23 cd $WORK/meta-linaro git checkout -b tmp 75dfb67bbb14a70cd47afda9726e2e1c76731885 cd $WORK/meta-renesas git checkout -b tmp 8af0b7d6e445b532088a068dc012757001be3a1f cd $WORK/meta-rcar git checkout -b v3.15.0 remotes/origin/v3.15.0   For Yocto v3.19.0 cd $WORK/poky git checkout -b tmp 7e7ee662f5dea4d090293045f7498093322802cc cd $WORK/meta-openembedded git checkout -b tmp 352531015014d1957d6444d114f4451e241c4d23 cd $WORK/meta-linaro git checkout -b tmp 75dfb67bbb14a70cd47afda9726e2e1c76731885 cd $WORK/meta-renesas git checkout -b tmp 20fcc94a8d05eda80250f27e87aaa3cfc3275300 [if you use Kingfisher] cd $WORK/meta-rcar git checkout -b v3.19.0 remotes/origin/v3.19.0   For Yocto v3.21.0 cd $WORK/poky git checkout -b tmp 7e7ee662f5dea4d090293045f7498093322802cc cd $WORK/meta-openembedded git checkout -b tmp 352531015014d1957d6444d114f4451e241c4d23 cd $WORK/meta-linaro git checkout -b tmp 75dfb67bbb14a70cd47afda9726e2e1c76731885 cd $WORK/meta-renesas git checkout -b tmp ad3a8cfee5b6a6fab17cf1c6e5af851eaec75bd7 [if you use Kingfisher] cd $WORK/meta-rcar git checkout -b v3.21.0 remotes/origin/v3.21.0 </li>

</ol>

 Please get the proprietary package for R-Car M3N from the your company's distributer. And copy them to $WORK/proprietary folder. </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_proprietary_softwares.sh $PKGS_DIR unset PKGS_DIR </li>

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

 Prepare default configuration files. <ol>  For Yocto v3.9.0, v3.13.0 and v3.15.0 cp $WORK/meta-rcar/meta-rcar-gen3-adas/docs/sample/conf/m3nulcb/poky-gcc/mmp/*.conf ./conf/ cd $WORK/build cp conf/local-wayland.conf conf/local.conf </li>  For Yocto v3.19.0, v3.21.0 cp $WORK/meta-renesas/meta-rcar-gen3/docs/sample/conf/m3nulcb/poky-gcc/mmp/*.conf ./conf/ cd $WORK/build cp conf/local-wayland.conf conf/local.conf </li> </ol>

 Add layer meta-rcar [Target Yocto version: v3.9.0, v3.13.0 and v3.15.0. Or when using Kingfisher] bitbake-layers add-layer ../meta-rcar/meta-rcar-gen3-adas </li>

 Start the build

bitbake core-image-weston </li> </ol>

Connect 5 V power supply to the board
Use 5 V power supply with a 5.5 mm barrel plug. The power supply should be able to provide 4(Min) ~ 8(Max)Amps.

Note
 * The recommended value is 8 Amps. But, user can use 4 Amps. and 6 Amps. (depends on the use case).

Booting Linux
* Kernel config: defconfig * Kernel image: arch/arm64/boot/Image * DTB: arch/arm64/boot/dts/renesas/r8a77965-m3nulcb.dtb * DTB: arch/arm64/boot/dts/renesas/r8a77965-m3nulcb-kf.dtb

U-Boot boot command:

tftpboot 0x48080000 Image tftpboot 0x48000000 r8a77965-m3nulcb(-kf).dtb booti 0x48080000 - 0x48000000

Flashing firmware
<ol>

 Power off the board </li> Press SW8  Set SW and JP as follows: </li> SW1=OFF SW6[1]=ON, SW6[2]=ON, SW6[3]=OFF, SW6[4]=ON JP1 -> 1-2 short  Power on the board </li> Press SW8 Minimonitor starts and provides prompts on console </li>  Change SW as follows: </li> SW1=ON SW6[all]=ON  Flash bootparam_sa0.srec. In console execute xls2 command (load program to hyper flash) and provide the following inputs: </li> 3 y y e6320000 0 type "ctrl+A S" and select upload method "ascii", then choose file for uploading "bootparam_sa0.srec", after upload finished press any key y

 Flash bl2-m3nulcb.srec. In console execute xls2 command (load program to hyper flash) and provide the following inputs: </li> 3 y y e6304000 40000 type "ctrl+A S" and select upload method "ascii", then choose file for uploading "bl2-m3nulcb.srec", after upload finished press any key y

 Flash cert_header_sa6.srec. In console execute xls2 command (load program to hyper flash) and provide the following inputs: </li> 3 y y e6320000 180000 type "ctrl+A S" and select upload method "ascii", then choose file for uploading "cert_header_sa6.srec", after upload finished press any key y

 Flash bl31-m3nulcb.srec. In console execute xls2 command (load program to hyper flash) and provide the following inputs: </li> 3 y y 44000000 1C0000 type "ctrl+A S" and select upload method "ascii", then choose file for uploading "bl31-m3nulcb.srec", after upload finished press any key y

<li> Flash tee-m3nulcb.srec. In console execute xls2 command (load program to hyper flash) and provide the following inputs: </li> 3 y y 44100000 200000 type "ctrl+A S" and select upload method "ascii", then choose file for uploading "tee-m3nulcb.srec", after upload finished press any key y

<li> Flash u-boot-elf.srec. In console execute xls2 command (load program to hyper flash) and provide the following inputs: </li> 3 y y 50000000 640000 type "ctrl+A S" and select upload method "ascii", then choose file for uploading "u-boot-elf.srec", after upload finished press any key y

<li> Reset the board </li> Press SW9 </ol>

Audio
Ex) In the case of "r8a77965-m3nulcb.dtb" amixer set "DVC Out" 1% aplay sample.wav

Ex) In the case of "r8a77965-m3nulcb-kf.dtb" amixer -c ak4613 set "DVC Out" 1% aplay sample.wav

FAQ
http://elinux.org/Talk:R-Car/Boards/Yocto-Gen3