R-Car/Boards/SILK

Introduction
This is the official Wiki for embedded Renesas R-Car E2 SILK board.

Refer to R-Car page as a starting/initial page for Renesas R-Car family. Information on Renesas R-Car M2 Porter board is on a separate page.

Hardware
For more information go to R-Car/Boards/SILK:Hardware

Hardware Features

 * R-Car E2 SoC
 * ARM®Cortex-A7 Dual Core
 * SH-4A core (optional)
 * GPU: PowerVR SGX540
 * Various hardware IP blocks for video and audio processing
 * 1 GB DDR3 memory
 * Two SPI flash memory chips (selected by SW9)
 * 4 MB
 * 64 MB
 * 8GB eMMC chip MTFC8GLWDQ-3M AIT Z
 * WiFi+Bluetooth module
 * Audio codec: AK4643EN
 * Line In 3.5 mm jack
 * LineOut 3.5 mm jack
 * HDMI type A output
 * Max. resolutions support TBD
 * LCD connector (bottom side)
 * VGA output (DB-15F)
 * Analog Video In: ADV7180WBCP32Z Video Decoder
 * RCA jack
 * NTSC/PAL/SECAM autodetection
 * Two USB 2.0 ports
 * One USB type A connector can be switched to Host or Function mode by SW10
 * I2C EEPROM (Renesas R1EX24002ATAS0)
 * Dialog Semiconductor DA9063 Power Regulator
 * Power supply: 5V, TBD Amps
 * Dimensions: 140x120 mm

Where to buy
TBD

List here distributors that sell SILK board

R-Car E2 SoC Documentation
TBD At the moment just block diagram reference is available http://am.renesas.com/applications/automotive/cis/cis_highend/rcar_e2/index.jsp

TBD Add here link to public R-Car E2 datasheet

Official SILK board documentation
TBD Add link to the official page or attach downloadable file

Quick Start How To
This sections describes steps that are necessary to run a "Hello, World!" application using Yocto build. Both X11 and Wayland are supported.

Download proprietary graphics and multimedia drivers from Renesas
Graphic drivers are required for X11 and Wayland. Multimedia drivers are optional.

TBD Insert link to official R-Car E2 public GFX/Multimedia binaries download page

Download them to a separate folder for convenience.

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

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

Refer to Yocto Project Quick Start for more information.

Build Yocto
Refer to R-Car/Boards/SILK:Yocto for steps necessary for making Yocto build.

Connect 5 V power source to R-Car E2 SILK board
Use 5 V power supply with a 5.5 mm barrel plug. The power supply should be able to provide TBD Amps.

Connect to serial console over microUSB
Use a microUSB cable to connect the PC to R-Car E2 SILK board. CN13 ("DEBUG") must be used on SILK side. It is routed to SCIF2 in the R-Car E2 via a CP2102 interface converter chip.

On Linux, CP2102 driver is included with kernel versions >=2.6.12. Windows driver and sources can be found at Silicon Labs website.

Serial settings are 38400 8N1.

On Linux, a popular terminal emulator program called picocom can be used (or alternatives, like minicom) sudo picocom -b 38400 DEVICE replace DEVICE with the proper tty device name, for example /dev/ttyUSB0. Running dmesg | tail can help locating proper device. After the successful connection, picocom should display: picocom v1.7

port is       : /dev/ttyUSB0 flowcontrol   : none baudrate is   : 38400 parity is     : none databits are  : 8 escape is     : C-a local echo is : no noinit is      : no noreset is     : no nolock is      : no send_cmd is    : sz -vv receive_cmd is : rz -vv imap is       : omap is       : emap is       : crcrlf,delbs,

Terminal ready

Use Ctrl+A, Ctrl+Q to exit picocom.

Bootcode
R-Car E2 SoC can be booted various sources. SILK board is booted from QSPI Flash device. SILK has two SPI Flash memory chips selectable by SW9. In a standard configuration 4MB Flash S25FL032 stores original MiniMonitor firmware (for backup/rescue purposes) and 64 MB FLash S25FL512 stores MiniMonitor (QSPI Loader) and U-Boot (main storage).

Updating U-Boot using MiniMonitor
You may want to update U-Boot in case of upgrade or if the board you received does not have the U-Boot flashed. Follow these steps carefully to flash U-Boot:   Set SW9 to 3 pin side. This selects 4MB SPI Flash with MiniMonitor as boot device/active QSPI flash MiniMonitor is loaded via SPI boot interface of R-Car E2.   Connect to serial console over microUSB. Start picocom with the following command line options: sudo picocom -b 38400 --send-cmd "ascii-xfr -vvs" /dev/ttyUSBnn   Switch the board ON or reset it. You should see the following output on the console (version numbers can be different): SILK SPI_LOADER V0.05 2014.08.14 DEVICE S25FL032 SILK MiniMonitor SPI_BOOT Work memory DRAM (H'40200000-) 2014.08.15 Ver0.05 ** Program on DRAM (H'40000000-) **

>   Execute the ls command: ls You should be able to see the following output: Load Program to Spiflash memory (U6:S25FL512S) SW9 1pin-Side! Setting OK? (Push Y key) MiniMonitor is asking to flip SW9 to 1 pin side.   Switch SW9 to 1 pin side. This activates 64MB SPI Flash for U-Boot.   Enter y to confirm your setting.   MiniMonitor should ask now: Select area(1-2)> Answer 2 and Enter.   Mini monitor should display: Please Input User Program Start Address : Enter e6304000 for R-Car E2 and hit Enter. </li>  MiniMonitor should now display: Please send ! ('.' & CR stop load) Use Ctrl+A, Ctrl+S, then select uboot.srec file and hit Enter. uboot.srec should be available in $WORK/build/tmp/deploy/images/silk/ folder which is generated by bitbake. </li>  Transmission should start immediately and the progress counter should be displayed: ascii-xfr -vvs /data/Renesas/SILK/build/tmp/deploy/images/silk/u-boot.srec ASCII upload of "/data/Renesas/SILK/build/tmp/deploy/images/silk/u-boot.srec"
 * file: /data/Renesas/SILK/build/tmp/deploy/images/silk/u-boot.srec

15.0 Kbytes transferred at 3732 CPS... </li>  If there are some data in writing area, MiniMonitor will display: SPI Data Clear(H'FF) Check :H'0080000-00BFFFF Clear OK?(y/n) You can safely input "y" to override area 2 of 64MB SPI Flash. </li>  After writing is complete, MiniMonitor should display 658.0 Kbytes transferred at 3850 CPS... Done.

SPI Data Clear(H'FF) Check : OK SAVE SPI-FLASH....... complete! -- Save (Program Start Address & Size ) - SPI Data Clear(H'FF):H'040000-07FFFF Erasing..Erase Completed SAVE SPI-FLASH....... complete!
 * exit status: 0

=
SPI Flash Sector1 Save Information ========= Program Start Address : H'E6304000 Program Size         :  H'00036D44

=
============================================ </li>  Reboot R-Car E2 SILK board by pressing SW5 "Reset" button. Leave SW9 on 1 pin side. You should see U-Boot prompt now. SILK SPI_LOADER V0.05 2014.08.14 DEVICE S25FL512

U-Boot 2013.01.01-g74b16ba-dirty (Dec 10 2014 - 16:16:57)

CPU: Renesas Electronics R8A7794 rev 1.0 Board: Silk Board

DRAM: 1 GiB MMC:  sh_mmcif: 0, sh-sdhi: 1 SF: Detected S25FL512S with page size 256 KiB, total 64 MiB In:   serial Out:  serial Err:  serial Net:  sh_eth Hit any key to stop autoboot: 3 </li> </ol>

Booting over TFTP from U-Boot
Linux Kernel can be booted over TFTP from U-Boot. You can specify kernel cmdline to mount rootfs image over NFS. <ol>  Setup a tftp server. TBD. Instructions could be different for various host environments

Fedora
</li>

 Make sure SW9 is on pin 1 side. </li>

 Connect to serial console over microUSB. Start picocom with the following command line options: sudo picocom -b 38400 /dev/ttyUSBnn </li>

 Switch the board ON or reset it. You should see the following output on the console (version numbers can be different): >>>>>>>>>>>>>>>>>>TBD<<<<<<<<<<<<<<<<<<<<<<<< </li>

 Type the following commands to prepare the environment: setenv ethaddr xx:xx:xx:xx:xx:xx setenv ipaddr 192.168.1.10 setenv serverip 192.168.1.1 Replace xx:xx:xx:xx:xx:xx with the MAC address of your board. It should be on the sticker on top of the Ethernet port. Set proper ip for the board and for the server. You can also use dhcp command to obtain information from DHCP server. </li>

 Set Kernel cmdline to mount rootfs over NFS setenv bootargs root=/dev/nfs rw nfsroot=192.168.1.1:/opt/dev/silkrootfs ip=192.168.1.10 TBD </li>  Load the kernel setenv bootcmd 'tftp 0x40007fc0 uImage; tftp 0x40f00000 r8a7794-silk.dtb; bootm 0x40007fc0 - 0x40f00000'

</li>

Running Yocto
Refer to R-Car/Boards/SILK:Yocto for making Yocto build

= FAQ =

Operating systems/distributions can be used on R-Car E2 SILK boards?
It known to run
 * Yocto, Android, Tizen (supported)
 * Buildroot (experimental)
 * Ubuntu (unsupported)