R-Car/Boards/H3SK

Yocto-Gen3

Introduction
This is the Wiki for the Renesas R-Car Starter Kit Premier board (RTP0RC7795SKB00010S). Refer to the R-Car page for information about Renesas' R-Car SoC family.

H3SK has two kinds of boards
 H3 WS1.1 silicon mounted board Type name: RTP0RC7795SKBX0010SA00  H3 WS2.0 silicon mounted board Type name: RTP0RC77951SKBX010SA00 (LPDDR4: Samsung 1GB x4) Type name: RTP0RC77951SKBX010SA01 (LPDDR4: Micron 1GB x4)



Hardware Features

 * R-CAR H3
 * ARM CA57 (ARMv8) 1.5 GHz quad core, with NEON/VFPv4, L1$ I/D 48K/32K, L2$ 2MB
 * ARM CA53 (ARMv8) 1.2 GHz quad core, with NEON/VFPv4, L1$ I/D 32K/32K, L2$ 512K
 * Memory controller for LPDDR4-3200 4GB in 2 channels, each 64-bit wide
 * Two- and three-dimensional graphics engines,
 * Video processing units,
 * 3 channels Display Output,
 * 6 channels Video Input,
 * SD card host interface,
 * USB3.0 and USB2.0 interfaces,
 * CAN interfaces
 * Ethernet AVB
 * PCI Express Interfaces
 * Memories
 * INTERNAL 384KB SYSTEM RAM
 * DDR 4 GB LPDDR4
 * HYPERFLASH 64 MB HYPER FLASH (512 MBITS, 160 MHZ, 320 MBYTES/S)
 * QSPI FLASH 16MB QSPI (128 MBITS,80 MHZ,80 MBYTES/S)1 HEADER QSPI MODULE
 * EMMC 8 GB EMMC (HS400 240 MBYTES/S)
 * MICROSD-CARD SLOT (SDR104 100 MBYTES/S)
 * Connectors
 * CN1 COM Express type connector 440pin
 * CN2 QSPI Flash module
 * CN3 DEBUG JTAG
 * CN4 HDMI
 * CN5 USB 2.0
 * CN6 Push-Pull microSD Card Socket
 * CN7 Ethernet, Connector, RJ45
 * CN8 LINE Out
 * CN9 MIC Input
 * CN10 DEBUG SERIAL (not populated)
 * CN11 CPLD Programming JTAG
 * CN12 DEBUG SERIAL (serial)
 * CN13 Main Power Supply input (5VDC)
 * CN14 CPU Fan
 * Switches
 * SW1 Hyper Flash
 * SW2 Software Readable DIPSWITCHES (4x)
 * SW3 Software Readable Push button
 * SW4 Software Readable Push button
 * SW5 Software Readable Push button
 * SW6 Mode Settings
 * SW7 CPLD Reset
 * SW8 Power
 * SW9 Reset
 * Board specifications
 * Dimensions: 95mm × 95mm
 * Board thickness: 1.6mm
 * External power supply 5V / 6A max, Ripple & Noise (Vp-p) Full load 200mV
 * T opr Operating ambient temperature 0°C to 40°C Do not expose to condensation
 * Vcc 5V system power supply voltage (range 5V +- 5%)
 * I board Maximum current consumption 6A, 40W

Where to buy
R-Car Starter Kit Premier(WS2.0) board can be ordered from following distributors:

Click to buy R-Car Starter Kit Premier board from AVNET - World wide Click to by R-Car Starter Kit Premier board from FUTURE - World wide Click to buy R-Car Starter Kit Premier board from Marutsu-elec - Japan Only - Not available Click to by R-Car Starter Kit Premier board from chip1stop - Japan Only Click to buy R-Car Starter Kit Premier board from Digi-key - U.S only

R-Car H3 SoC Documentation

 * R-Car H3/M3 Device Manual

Official board documentation

 * Hardware Manual
 * Schematic
 * BOM list
 * Assembly drawing
 * CoM Express Interfaces

Kingfisher (R-Car Starter Kit extension board)
Instruction of using H3SK with the Kingfisher board located here http://elinux.org/R-Car/Boards/Kingfisher

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.

Build Yocto image
Refer to Yocto for steps necessary for making a Yocto image.

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).

Connect to serial console
Use a microUSB cable to connect the PC to R-Car Starter Kit Premier (H3ULCB) board. CN12 ("CPLD/DEBUG") must be used on Starter Kit side. It is routed to SCIF2 in the R-Car H3 via a FT232 interface converter chip.

On Linux, FT232 driver is included with kernel versions >=2.6.12. Windows driver and sources can be found on FTDI Chip website.

Serial settings are 115200 8N1. Any standard terminal emulator program can be used.

On Linux:

picocom

sudo picocom -b 115200 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   : 115200 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.

minicom

sudo minicom -b 115200 -D 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, minicom should display:

Welcome to minicom 2.6.2 OPTIONS: I18n Compiled on Aug 7 2013, 13:32:48. Port /dev/ttyUSB0 Press CTRL-A Z for help on special keys Use Ctrl+A, Q to exit minicom.

Power on the board and go to U-Boot prompt
Short-press SW8 "Power" to switch the board on. Then you should see the following output in the terminal: Welcome to minicom 2.7 OPTIONS: I18n Compiled on Jan 1 2014, 17:13:19. Port /dev/ttyUSB0, 18:31:48 Press CTRL-A Z for help on special keys NOTICE: BL2: R-Car Gen3 Initial Program Loader(CA57) Rev.1.0.9 NOTICE: BL2: PRR is R-Car H3 ES1.1 NOTICE: BL2: Boot device is HyperFlash(80MHz) NOTICE: BL2: LCM state is CM NOTICE:  BL2: AVS setting succeeded. DVFS_SetVID=0x52 NOTICE: BL2: DDR1600(rev.0.10) NOTICE: BL2: DRAM Split is 4ch NOTICE: BL2: QoS is default setting(rev.0.32) NOTICE: BL2: Lossy Decomp areas NOTICE:      Entry 0: DCMPAREACRAx:0x80000540 DCMPAREACRBx:0x570 NOTICE:      Entry 1: DCMPAREACRAx:0x40000000 DCMPAREACRBx:0x0 NOTICE:      Entry 2: DCMPAREACRAx:0x20000000 DCMPAREACRBx:0x0 NOTICE: BL2: v1.1(release):3ad02ac NOTICE: BL2: Built : 13:03:52, Sep 20 2016 NOTICE: BL2: Normal boot NOTICE: BL2: dst=0xe631a208 src=0x8180000 len=512(0x200) NOTICE: BL2: dst=0x43f00000 src=0x8180400 len=6144(0x1800) NOTICE: BL2: dst=0x44000000 src=0x81c0000 len=65536(0x10000) NOTICE: BL2: dst=0x44100000 src=0x8200000 len=524288(0x80000) NOTICE: BL2: dst=0x50000000 src=0x8640000 len=1048576(0x100000) U-Boot 2015.04 (Sep 23 2016 - 18:54:42) CPU: Renesas Electronics R8A7795 rev 1.1 Board: H3ULCB I2C:  ready DRAM: 3.9 GiB MMC:  sh-sdhi: 0, sh-sdhi: 1 In:   serial Out:  serial Err:  serial Net:  ravb Hit any key to stop autoboot: 3

Quickly hit any key to get into U-boot command prompt. Use SW9 ("Reset") to reboot the board when necessary. You should see the following:

Hit any key to stop autoboot: 0 =>

Change/update MAC address for Ethernet interface
In U-boot command line type: => setenv ethact ravb => setenv ethaddr aa:bb:cc:dd:ee:ff => saveenv

The original (board default) MAC address can be found on the label on top of RJ45 connector.

A user who purchased H3SK board must set the above by himself.

Configure U-Boot to boot over TFTP + NFS or from a micro SD card
Refer to Yocto page for steps necessary for running Yocto.

Serial Console
Use a micro-USB cable to connect to "Debug Serial-0" (CN10 for ws1.0, CN12 for ws1.1/ws2.0). Serial settings are 115200 8N1.

Booting Linux
* Kernel config: defconfig * Kernel image: arch/arm64/boot/Image * DTB (ws2.0): arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dtb * DTB (ws1.0/ws1.1): arch/arm64/boot/dts/renesas/r8a7795-es1-h3ulcb.dtb

U-Boot boot command:

tftpboot 0x48080000 Image tftpboot 0x48000000 r8a7795-h3ulcb.dtb booti 0x48080000 - 0x48000000

NOTE: ws2.0 silicon is supported since BSP2.19

Flashing firmware


 Power off the board  Press SW8  Set SW and JP as follows:  SW1=OFF ws1.0: SW6[all]=OFF ws1.1/ws2.0: SW6[1]=ON, SW6[2]=ON, SW6[3]=OFF, SW6[4]=ON JP1 -> 1-2 short  Power on the board  Press SW8 Minimonitor starts and provides prompts on console   Change SW as follows:  SW1=ON ws1.0: SW6[3]=ON ws1.1: SW6[1]=OFF, SW6[3]=ON ws2.0: SW6[3]=ON  Flash bootparam_sa0.srec. In console execute xls2 command (load program to hyper flash) and provide the following inputs:  3 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-h3ulcb.srec. In console execute xls2 command (load program to hyper flash) and provide the following inputs:  3 y e6304000 (e6302000 if using Yocto BSP versions v2.12 and v2.16) 40000 type "ctrl+A S" and select upload method "ascii", then choose file for uploading "bl2-h3ulcb.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 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-h3ulcb.srec. In console execute xls2 command (load program to hyper flash) and provide the following inputs: </li> 3 y 44000000 1C0000 type "ctrl+A S" and select upload method "ascii", then choose file for uploading "bl31-h3ulcb.srec", after upload finished press any key y

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

 Flash u-boot-elf.srec. In console execute xls2 command (load program to hyper flash) and provide the following inputs: </li> 3 y 50000000 (49000000 if using Yocto BSP version v2.12) 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

 Reset the board </li> Press SW9

</ol>

Known Issues
<ol> Some H3 v2.0 SK(RTP0RC77951SKBX010SA00) suddenly stopped. When freezing, log is not output. Workaround: Change SW6 SW6 1:OFF, 2:ON, 3:ON, 4:ON Need more test to solve this issue. </li>

Kernel hang up. If you access SD or eMMC in the following environment there is a possibility of hanging up. Please apply the following patch as a workaround. Note: Yocto v3.7 and later don't support H3 v1.1 Starter Kit. Please use the H3 v2.0 SK. </li>

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