Difference between revisions of "R-Car/Boards/H3SK"
Line 174: | Line 174: | ||
Refer to [[R-Car/Boards/Yocto#Running_Yocto_image|Yocto]] page for steps necessary for running Yocto. | Refer to [[R-Car/Boards/Yocto#Running_Yocto_image|Yocto]] page for steps necessary for running Yocto. | ||
+ | |||
+ | ==How to prepare and boot from SD card, eMMC== | ||
+ | |||
+ | This section describes steps that are necessary for preparing and booting from SD card. | ||
+ | |||
+ | ===Preparing 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)<br> | ||
+ | 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 == | == Serial Console == |
Revision as of 04:07, 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 SD card, eMMC
This section describes steps that are necessary for preparing and booting from SD card.
Preparing 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