Difference between revisions of "R-Car/Boards/H3SK"
Line 173: | Line 173: | ||
===Configure U-Boot to boot over TFTP + NFS or from a micro SD card=== | ===Configure U-Boot to boot over TFTP + NFS or from a micro SD card=== | ||
− | Refer to [[R-Car/Boards/Yocto#Running_Yocto_image|Yocto]] page for steps necessary for running Yocto. | + | Refer to [[R-Car/Boards/Yocto-Gen3#Running_Yocto_image|Yocto]] page for steps necessary for running Yocto. |
− | ==How to prepare and boot from SD card | + | ==How to prepare and boot from eMMC/SD card== |
This section describes steps that are necessary for preparing and booting from SD card. | This section describes steps that are necessary for preparing and booting from SD card. | ||
− | ===Preparing SD card=== | + | ===Preparing eMMC/SD card=== |
In order to prepare you SD card, follow these instructions: | In order to prepare you SD card, follow these instructions: | ||
Revision as of 04:24, 27 October 2016
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.
Hardware
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 32 GB EMMC (HS400 240 MBYTES/S)
- MICROSD-CARD SLOT (SDR104 100 MBYTES/S)
- Connecotrs
- 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
- Swithces
- 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 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
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 3 Amps.
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 Silicon Labs website.
Serial settings are 115200 8N1. Any standard terminal emulator program can be used.
On Linux:
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.
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=0x49000000 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 =>
Configure U-Boot to boot over TFTP + NFS or from a micro SD card
Refer to Yocto page for steps necessary for running Yocto.
How to prepare and boot from eMMC/SD card
This section describes steps that are necessary for preparing and booting from SD card.
Preparing eMMC/SD card
In order to prepare you SD card, follow these instructions:
1.Partion your SD card to set 1 partition and ID=83 (Linux)
$ fdisk /dev/mmcblk0 -> d -> n -> p -> 1 -> t -> 83
2.Format this partition to ext3 (or ext4)
$ mkfs.ext3 /dev/mmcblk0p1
3.Mount this partition on your host to any directory and upack the core-image-weston-XXXX.tar.bz2 into mounted folder.
$ mount /dev/mmcblk0p1 /mnt $ cd <your_yocto_build_directory> $ tar xfj build/tmp/deploy/images/salvator-x/core-image-weston-salvator-x-20160927181256.rootfs.tar.bz2 -C /mnt
NOTE: probably you need to be a root user, hence use "sudo"
Configure U-Boot to boot from SD card
Proper U-Boot command to boot from SD:
# setenv bootargs 'rw root=/dev/mmcblk1p1 rootfstype=ext3 rootwait' # ext2load mmc 0:1 0x48080000 /boot/Image # ext2load mmc 0:1 0x48000000 /boot/Image-r8a7795-salvator-x.dtb # booti 0x48080000 - 0x48000000'
Exaple of a proper hardware log:
baudrate=115200 bootargs_emmc=rw root=/dev/mmcblk0p1 rootfstype=ext3 rootwait bootargs_nfs=rw root=/dev/nfs rootwait ip=dhcp bootargs_sd0=rw root=/dev/mmcblk1p1 rootfstype=ext3 rootwait bootargs_sd2=rw root=/dev/mmcblk2p1 rootfstype=ext3 rootwait bootcmd=run bootcmd_sd0 bootcmd_emmc=set bootargs ${bootargs_emmc};ext2load mmc 1:1 0x48080000 /boot/Image;ext2load mmc 1:1 0x48000000 /boot/${dtb};run booti_cmd bootcmd_nfs=set bootargs ${bootargs_nfs};bootp 0x48080000 Image;tftp 0x48000000 ${dtb};run booti_cmd bootcmd_sd0=set bootargs ${bootargs_sd0};ext2load mmc 0:1 0x48080000 /boot/Image;ext2load mmc 0:1 0x48000000 /boot/${dtb};run booti_cmd bootcmd_sd2=set bootargs ${bootargs_sd2};ext2load mmc 2:1 0x48080000 /boot/Image;ext2load mmc 2:1 0x48000000 /boot/${dtb};run booti_cmd bootdelay=3 booti_cmd=booti 0x48080000 - 0x48000000 dtb=Image-r8a7795-salvator-x.dtb ethact=ravb ethaddr=2E:09:0A:00:BE:11 fdt_high=0xffffffffffffffff initrd_high=0xffffffffffffffff stderr=serial stdin=serial stdout=serial ver=U-Boot 2015.04 (Sep 23 2016 - 13:45:29)
Environment size: 1092/131068 bytes
To verify the SD card you type the following:
=> mmc dev 0 switch to partitions #0, OK mmc0 is current device => mmc info Device: sh-sdhi Manufacturer ID: 3 OEM: 5344 Name: SL64G Tran Speed: 50000000 Rd Block Len: 512 SD version 3.0 High Capacity: Yes Capacity: 59.5 GiB Bus Width: 4-bit Erase Group Size: 512 Bytes => ext2ls mmc 0:1 /boot <DIR> 4096 . <DIR> 4096 .. <SYM> 32 Image 14039040 Image-4.6.0-yocto-standard 69584 Image-r8a7795-salvator-x.dtb
Serial Console
Use a micro-USB cable to connect to "Debug Serial-0" (CN10 for ws1.0, CN12 for ws1.1). Serial settings are 115200 8N1.
Booting Linux
* Kernel config: defconfig * Kernel image: arch/arm64/boot/Image * DTB: arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dtb
U-Boot boot command:
tftpboot 0x48080000 Image tftpboot 0x48f00000 r8a7795-h3ulcb.dtb booti 0x48080000 - 0x48f00000
Flashing firmware
- Power off the board
- Set SW and JP as follows:
- Power on the board
- Change SW as follows:
- Flash bootparam_sa0.srec. In console execute xls2 command (load program to hyper flash) and provide the following inputs:
- Flash bl2-h3ulcb.srec. In console execute xls2 command (load program to hyper flash) and provide the following inputs:
- Flash cert_header_sa6.srec. In console execute xls2 command (load program to hyper flash) and provide the following inputs:
- Flash bl31-h3ulcb.srec. In console execute xls2 command (load program to hyper flash) and provide the following inputs:
- Flash tee-h3ulcb.srec. In console execute xls2 command (load program to hyper flash) and provide the following inputs:
- Flash u-boot-elf.srec. In console execute xls2 command (load program to hyper flash) and provide the following inputs:
- Reset the board
Press SW8
SW1=OFF ws1.0: SW6[all]=OFF ws1.1: SW6[1]=ON, SW6[2]=ON, SW6[3]=OFF, SW6[4]=ON JP1 -> 1-2 short
Press SW8 Minimonitor starts and provides prompts on console
SW1=ON ws1.0: SW6[3]=ON ws1.1: SW6[2]=OFF, SW6[3]=ON
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
3 y y e6302000 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
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
3 y 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
3 y 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
3 y y 49000000 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
Press SW9