R-Car/Boards/M3NSK

From eLinux.org
Jump to: navigation, search

Yocto-Gen3

Introduction

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

Typename: RTP0RC77965SKBX010SA00

Quick Start How To

Build Yocto 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
    cd build
    export WORK=`pwd`
    
  2. 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
    
  3. Switch to proper branches/commits
    1. 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
      
    2. 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
      
    3. 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
      
    4. 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.21.0 remotes/origin/v3.21.0 <-- coming soon
      
  4. Please get the proprietary package for R-Car M3N from the your company's distributer.
    And copy them to $WORK/proprietary folder.
  5. 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
    
  6. Setup build environment
    cd $WORK
    source poky/oe-init-build-env
    
  7. Prepare default configuration files.
    1. 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
      
    2. For Yocto v3.19.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
      
  8. 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
    
  9. Start the build
    bitbake core-image-weston
    

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

Writing data
Filename Program Top Address Flash Save Address Description
bootparam_sa0.srec 0xE6320000 0x000000 Loader(Boot parameter)
bl2-m3nulcb.srec 0xE6304000 0x040000 Loader
cert_header_sa6.srec 0xE6320000 0x180000 Loader(Certification)
bl31-m3nulcb.srec 0x44000000 0x1C0000 ARM Trusted Firmware
tee-m3nulcb.srec 0x44100000 0x200000 OP-Tee
u-boot-elf.srec 0x50000000 0x640000 U-Boot
  1. Power off the board
  2. Press SW8
    
  3. Set SW and JP as follows:
  4. SW1=OFF
    SW6[1]=ON, SW6[2]=ON, SW6[3]=OFF, SW6[4]=ON
    JP1 -> 1-2 short
    
  5. Power on the board
  6. Press SW8
    Minimonitor starts and provides prompts on console
    
  7. Change SW as follows:
  8. SW1=ON
    SW6[all]=ON
    
  9. Flash bootparam_sa0.srec. In console execute xls2 command (load program to hyper flash) and provide the following inputs:
  10. 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
    
  11. Flash bl2-m3nulcb.srec. In console execute xls2 command (load program to hyper flash) and provide the following inputs:
  12. 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
    
  13. Flash cert_header_sa6.srec. In console execute xls2 command (load program to hyper flash) and provide the following inputs:
  14. 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
    
  15. Flash bl31-m3nulcb.srec. In console execute xls2 command (load program to hyper flash) and provide the following inputs:
  16. 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
    
  17. Flash tee-m3nulcb.srec. In console execute xls2 command (load program to hyper flash) and provide the following inputs:
  18. 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
    
  19. Flash u-boot-elf.srec. In console execute xls2 command (load program to hyper flash) and provide the following inputs:
  20. 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
    
  21. Reset the board
  22. Press SW9
    

Test procedures

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

Known Issues