Difference between revisions of "R-Car/Boards/M3SK"
(→R-Car M3 SoC Documentation) |
(→Hardware Features: Fix T opr to match the latest hardware manual) |
||
Line 82: | Line 82: | ||
**Board thickness: 1.6mm | **Board thickness: 1.6mm | ||
**External power supply 5V / 6A max, Ripple & Noise (Vp-p) Full load 200mV | **External power supply 5V / 6A max, Ripple & Noise (Vp-p) Full load 200mV | ||
− | **T opr Operating ambient temperature | + | ** T<sub>opr</sub> Operating ambient temperature: Free Air room temperature 25deg ave. |
**Vcc 5V system power supply voltage (range 5V +- 5%) | **Vcc 5V system power supply voltage (range 5V +- 5%) | ||
**I board Maximum current consumption 8A , 40W | **I board Maximum current consumption 8A , 40W |
Revision as of 21:44, 11 March 2021
|
Introduction
This is the Wiki for the Renesas R-Car Starter Kit Pro board . Refer to the R-Car page for information about Renesas' R-Car SoC family.
Topic
EOL Notification of the M3SK
Production of M3SK is discontinued.
See M3SK page for detail.
The new version of R-Car Starter Kit Premier is now on sale !!
- Equipped with R-Car H3e-2G
-
(En) https://www.renesas.com/jp/en/about/press-room/renesas-launches-r-car-gen3e-20-percent-higher-cpu-speed-automotive-infotainment-cockpit-and-digital
(Zh) https://www.renesas.com/jp/zh/about/press-room/renesas-launches-r-car-gen3e-20-percent-higher-cpu-speed-automotive-infotainment-cockpit-and-digital
(Jp) https://www.renesas.com/jp/ja/about/press-room/renesas-launches-r-car-gen3e-20-percent-higher-cpu-speed-automotive-infotainment-cockpit-and-digital
- CPU performance is increased 20% by supporting up to 2GHz frequency over past products.
- You can buy from here.
SW Release Information
Board name | SW name | Release date | Note |
---|---|---|---|
R-Car Starter Kit ( Premier / Pro ) | Yocto v5.9.0 (stable) [New!!] | 2022/02/08 | |
Kingfisher Infotainment Board | Yocto v5.9.0 (stable) [New!!] | 2022/02/14 | To check for latest information, please refer to the meta-rcar/tree/v5.9.0. |
Android 10 (stable) | 2021/07/26 | R-Car Starter Kit Premier(R-Car H3) + Kingfisher is supported. R-Car Starter Kit Pro(RTP8J77961ASKB0SK0SA05A) + Kingfisher is also supported from 2021/11/25. | |
Android P (stable) | 2020/09/29 | R-Car Starter Kit Premier(R-Car H3) + Kingfisher is supported. R-Car Starter Kit Pro(RTP8J77961ASKB0SK0SA05A) + Kingfisher is also supported from 2021/03/16. | |
CCPF-SK Board | Yocto v5.9.0 (stable) [New!!] | 2022/02/08 | Prebuilt binary is available in Quick startup guide page. (Updated on 2022/03/18) |
R-Car Starter Kit is available
Board Name | SoC version | Hardware information | Where to buy |
---|---|---|---|
R-Car Starter Kit Premier (H3) | v3.0 | Click here | Click here |
R-Car Starter Kit Pro (M3) | v3.0 | Click here | Click here |
Hardware
Type Name | SoC version | DDR | eMMC | Protection circuit threshold |
---|---|---|---|---|
RTP0RC7796SKBX0010SA09 | 1.0 | 2GiB | 8GB(Samsung) | none |
RTP8J77961ASKB0SK0SA05A | 3.0 | 8GiB(Samsung 4GB x2) | 128GB(SanDisk) | 5.15 volt |
Hardware Features
- R-CAR M3
- ARM CA57 (ARMv8) 1.5 GHz dual core, with NEON/VFPv4, L1$ I/D 48K/32K, L2$ 1MB
- ARM CA53 (ARMv8) 1.2 GHz quad core, with NEON/VFPv4, L1$ I/D 32K/32K, L2$ 512K
- Memory controller for LPDDR4-3200 2GB 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 2 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
- Topr Operating ambient temperature: Free Air room temperature 25deg ave.
- Vcc 5V system power supply voltage (range 5V +- 5%)
- I board Maximum current consumption 8A , 40W
Where to buy
R-Car Starter Kit Pro(M3 v3.0) board(RTP8J77961ASKB0SK0SA05A) can be ordered from following distributors:
Click to buy R-Car Starter Kit Premier board from SHIMAFUJI ELECTRIC INCORPORATED - World wide - < Available >
Click to buy R-Car Starter Kit Premier board) from Marutsu-elec - Japan Only < Available >
R-Car M3 SoC Documentation
Official board documentation
Kingfisher(R-Car Starter kit extension board)
Instruction of using M3SK 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. Only Wayland is 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 Pro (M3ULCB) board. CN12 ("CPLD/DEBUG") must be used on Starter Kit side. It is routed to SCIF2 in the R-Car M3 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:
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.
If you encounter problems, make sure that minicom is configured with hardware flow control off. To check this, start minicom with 'minicom -s' then select "Serial port setup" and set 'F - Hardware Flow Control' to 'No'.
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 M3 ES1.0 NOTICE: BL2: Boot device is HyperFlash(80MHz) NOTICE: BL2: LCM state is CM NOTICE: BL2: AVS setting succeeded. DVFS_SetVID=0x52 NOTICE: BL2: DDR3200(rev.0.20rc8)[COLD_BOOT]..0 NOTICE: BL2: DRAM Split is 2ch NOTICE: BL2: QoS is default setting(rev.0.15) 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 : 16:12:30, Oct 24 2016 NOTICE: BL2: Normal boot NOTICE: BL2: dst=0xe6315208 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 (Oct 24 2016 - 15:48:09)
CPU: Renesas Electronics R8A7796 rev 1.0 Board: M3ULCB I2C: ready DRAM: 1.9 GiB MMC: sh-sdhi: 0, sh-sdhi: 1 In: serial Out: serial Err: serial Net: Board Net Initialization Failed No ethernet found. 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 M3SK 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" (CN12). Serial settings are 115200 8N1.
Booting Linux
* Kernel config: defconfig * Kernel image: arch/arm64/boot/Image * DTB: arch/arm64/boot/dts/renesas/r8a77960-ulcb.dtb
U-Boot boot command:
tftpboot 0x48080000 Image tftpboot 0x48000000 r8a77960-ulcb.dtb booti 0x48080000 - 0x48000000
Kernel v5.5 and older used different DTB names:
* DTB: arch/arm64/boot/dts/renesas/r8a7796-m3ulcb.dtb
Flashing firmware
Filename | Program Top Address | Flash Save Address | Description |
---|---|---|---|
bootparam_sa0.srec | 0xE6320000 | 0x000000 | Loader(Boot parameter) |
bl2-m3ulcb.srec | 0xE6304000 | 0x040000 | Loader |
cert_header_sa6.srec | 0xE6320000 | 0x180000 | Loader(Certification) |
bl31-m3ulcb.srec | 0x44000000 | 0x1C0000 | ARM Trusted Firmware |
tee-m3ulcb.srec | 0x44100000 | 0x200000 | OP-Tee |
[RTP0RC7796SKBX0010SA09] u-boot-elf.srec | 0x50000000 | 0x640000 | U-Boot |
[RTP8J77961ASKB0SK0SA05A] u-boot-elf-m3ulcb-2x4g.srec | 0x50000000 | 0x640000 | U-Boot |
Note : RTP8J77961ASKB0SK0SA05A is supported on the latest version of Yocto v3.21.0 and the Yocto v4.1.0 version.
- 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-m3ulcb.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-m3ulcb.srec. In console execute xls2 command (load program to hyper flash) and provide the following inputs:
- Flash tee-m3ulcb.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 SW6[1]=OFF, SW6[2]=OFF, SW6[3]=OFF, SW6[4]=ON JP1 -> 1-2 short
Press SW8 Minimonitor starts and provides prompts on console
SW1=ON SW6[all]=ON
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
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-m3ulcb.srec", after upload finished press any key y
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
3 y 44000000 1C0000 type "ctrl+A S" and select upload method "ascii", then choose file for uploading "bl31-m3ulcb.srec", after upload finished press any key y
3 y 44100000 200000 type "ctrl+A S" and select upload method "ascii", then choose file for uploading "tee-m3ulcb.srec", after upload finished press any key y
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
Press SW9
Tips
Enabling Automatic POWER ON
By default, the board needs to be powered by pressing the POWER button.
It might be useful for some usage (e.g. automated testing or demo purposes...) to have the board automatic power on when the power is applied.
Hardware modification is necessary to enable such behavior.
According to the page 18 of the board schematic, the PMIC chip has a pin called RSTBMODE which switches between level and edge triggered behavior of the RSTB pin.
By default, the RSTBMODE pin is pulled up by R413, which results in edge-triggered behavior. The PWRON switch is connected to the RSTB pin, and the switch pulls the pin low when pressed.
One way to configure the switch behavior would be driving the RSTBMODE pin low trough another board attached to the ComExpress connector.
However, the schematic also shows that there's an unpopulated footprint for R424, which is a zero ohm resistor for pulling the RSTBMODE low.
A small piece of wire was soldered to the unpopulated footprint of R424 to configure level-triggered mode. Alternatively, simply putting some solder in the unpopulated footprint of R424 is enough.
When power is applied, the RSTB pin is pulled up by the internal pull-up resistor of the PMIC. This results in the PMIC powering up the rest of the board when RSTB has been configured to the level-triggered mode.
Below are a couple of pictures of the location of R424, as well as the actual work that was done to do the modification.
Flashing firmware by using CPLD and Flash Writer
By using CPLD and Flash Writer, it is enabled to flash IPLs(firmware) without changing any switch(SW1/SW6) on R-Car Gen3 Starter Kit.
There are two steps to prepare to write IPLs.
First, reboot R-Car Gen3 Starter Kit in "SCIF Download Mode" via CPLD.
Then, send Flash Writer binary to the board.
After launching Flash Writer, it is possible to write IPLs by using xls2 command.
- Initial SW1/6 status
- SW1: ON
- SW6[all]: ON
How to reboot in "SCIF Download Mode" via CPLD
There are two ways to reboot in "SCIF Download Mode" via CPLD.
It is enough to execute one of the following.
- Using U-boot
=> cpld write 0x00 0x802181fe => cpld write 0x80 0x01
- Using cpld-control
- Build cpld-control for Host PC
$ sudo apt install libftdi-dev $ make
- execute following script.
#!/bin/bash DEV_NAME="/dev/ttyUSB0" USB_NAME=$( dmesg | grep "attached to ${DEV_NAME##*/}" | tail -1 | grep -oP "(?<=usb )[^:]+" ) SERIAL_NAME=$( dmesg | grep -oP "(?<=usb $USB_NAME: SerialNumber: ).*" | tail -1 ) USB_NAME+=":"$( dmesg | grep -oP "(?<=ftdi_sio $USB_NAME:)[^:]+" | tail -1 ) if [[ "$(id -u)" != "0" ]]; then echo Please run as root! exit 1 fi # enter SCIF Download Mode stty -F $DEV_NAME 115200 ./cpld-control -w $SERIAL_NAME 0x00 0x802181FE # For aarch32 flash writer # ./cpld-control -w $SERIAL_NAME 0x00 0x8021813E # For aarch64 flash writer ./cpld-control -w $SERIAL_NAME 0x80 0x01 echo "$USB_NAME" > /sys/bus/usb/drivers/ftdi_sio/bind exit
- Note: Even if reboot in "SCIF Download mode" is succeeded, there is no output on terminal(Ex. minicom).
- Note: for Windows user, python-cpld-control may be used instead of cpld-control.
- Build cpld-control for Host PC
How to boot Flash Writer
- Build Flash Writer
- https://github.com/renesas-rcar/flash_writer
- build command:
$ make AArch=32 clean $ CROSS_COMPILE=~/gcc-linaro-7.3.1-2018.05-x86_64_arm-eabi/bin/arm-eabi- make AArch=32 BOARD=ULCB
- Note: build option "BOARD=ULCB" and "AArch=32" are required.
- Note: Specific cross compiler is also required(https://github.com/renesas-rcar/flash_writer/blob/rcar_gen3/docs/application-note.md#41-prepare-the-compiler).
- Send Flash Writer to the board
- ex) Using minicom
- Type "ctrl+A S" and select upload method "ascii", then choose file for uploading "AArch32_Flash_writer_SCIF_DUMMY_CERT_E6300400_ULCB.mot", after upload finished press any key.
- Then, message like below is shown in terminal
> Flash writer for R-Car H3/M3/M3N Series Vx.xx <Date>
- ex) Using minicom
How to flash IPLs
Please refer to the following pages:
After flashing IPLs , please reboot the board by SW8 to reset CPLD register.
Q&A site
http://renesasrulz.com/r-car-h3-m3-cockpit/
FAQ page
https://elinux.org/R-Car/Boards/Yocto-Gen3-CommonFAQ
Known Issues
- USB3.0
USB3.0 host can be used via COM Ex connector(CN1). But, when connecting USB2.0 High Speed device to USB3.0 host, USB2.0 connection does not work properly for any of the following problems may occur.
- The USB device isn't normally recognized.
- An error occurs during communication, and USB3.0 host freezes.
- Kernel hang up.
If you access SD or eMMC in the following environment there is a possibility of hanging up.
Please apply the following workaround patch to the kernel.Board type name Yocto version workaround patch RTP0RC7796SKBX0010SA09 v3.4.0 or v3.7.0 File:Add-SDHI-SEQUENCER-support.zip RTP0RC7796SKBX0010SA09 v3.9.0 File:Add-SDHI-SEQUENCER-support-2.zip