RZ-G/Boards/SK-RZG1M

Introduction
This is the official Wiki for the Renesas RZ/G1M Starter Kit board.

Refer to the RZ-G page for Renesas RZ-G SoC family. Information on the Renesas RZ/G1E Starter Kit board is on a separate page.

Hardware
For more information go to RZ-G/Boards/SK-RZG1M:Hardware

Hardware Features

 * RZ/G1M SoC
 * ARM®Cortex-A15 Dual Core 1.5­GHz
 * GPU
 * PowerVR SGX544MP2 (3D)
 * Renesas graphics processor (2D)
 * 2 GB DDR3 memory (dual channel)
 * Two flash memory chips
 * 4 MB SPI
 * 64 MB SPI
 * Debug Ethernet (100 Mbps)
 * Storage connection
 * one SATA rev. 3.1 port
 * one SD card slot
 * one microSD card slot
 * Analog Video In: ADV7180 Video Decoder
 * RCA jack
 * NTSC/PAL/SECAM autodetection
 * Audio codec: AK4643EN
 * Line In 3.5 mm jack
 * LineOut 3.5 mm jack
 * Two USB 2.0 ports
 * microUSB port supports host, device and OTG modes
 * PCI Express x1 slot
 * CAN transceiver
 * Power supply: 12V, 5A
 * Dimensions: 170x125 mm

Where to buy
The RZ/G1M System Evaluation board can be ordered from Digikey:

Click to buy the RZ/G1M Starter Kit board

RZ/G1M SoC Documentation
Official documentation is available at https://www.renesas.com/en-us/products/microcontrollers-microprocessors/rz/rzg/rzg1m.html#documents

Official RZ/G1M Starter Kit board documentation
The manual is available for download from

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 the steps necessary for building a Yocto image.

Connect 12 V power supply to the board
Use 12 V power supply with a 5.5 mm barrel plug. The power supply should be able to provide 5 Amps.

Connect to serial console
Use a microUSB cable to connect the PC to the RZ/G1M Starter Kit board. Use to the CN18 connector on the board. It is routed to SCIF0 in the RZ/G1M via a CP2102 interface converter chip.

On Linux, the CP2102 driver is included with kernel versions >=2.6.12. Windows driver and sources can be found on the Silicon Labs website. NOTE: There have been reports of system freezes caused by the latest version of the driver v6.7.2. The previous version v6.7 has been verified to work correctly.

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

On Linux:

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

minicom
sudo minicom -b 38400 -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
Switch SW26 "Power" to switch the board on. Blue LEDs should lit up. Then you should see the following output in the terminal: SKRZG1M SPI_LOADER(DDR3L-1600) V0.21 2015.11.10 DEVICE S25FL512

U-Boot 2013.01.01-gcb82c56-dirty (Dec 14 2015 - 15:04:20)

CPU: Renesas Electronics R8A7743 rev 3.0 Board: Skrzg1m Board

DRAM: 1 GiB MMC:  sh-sdhi: 0, sh-sdhi: 1, sh-sdhi: 2 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: 0 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.

Bootloader
The RZ/G1M SoC can be booted from various sources. The RZ/G1M Starter Kit board can be booted from QSPI Flash. The board has two SPI Flash memory chips selectable by JP2. In a standard configuration 4MB Flash S25FL032 stores original MiniMonitor firmware (for backup/rescue purposes) and 64 MB FLash S25FL512 stores U-Boot

Updating U-Boot
You may want to update U-Boot in case of upgrade or if the board you received does not have the U-Boot flashed into QSPI Flash. Follow these steps carefully to flash U-Boot:   Put the jumper on pins 2 and 3 of JP2. This selects the 4MB SPI Flash with MiniMonitor as a boot device. MiniMonitor is loaded via the SPI boot interface of RZ/G1M.   Connect to serial console over microUSB. If using picocom, start it with the following command line options: sudo picocom -b BAUDRATE --send-cmd "ascii-xfr -vvs" DEVICE Refer to "Connect to serial console" section for more information.   Switch the board ON or reset it. You should see the following output on the console (version numbers can be different): SKRZG1M SPI_LOADER(DDR3L-1600) V0.21 2015.11.10 DEVICE S25FL032 SKRZG1M MiniMonitor SPI_BOOT Work memory DRAM (H'40200000-) 2015.06.04 Ver0.09c ** Program on DRAM (H'40000000-) **

>   Execute the ls command: ls You should be able to see the following output: Load Program to 64MB Spiflash memory (U16:S25FL512S) JP2(SPI_SEL) 1pin-Side! Setting OK? (Push Y key) MiniMonitor is asking to connect pins 1 and 2 of JP2.   Connect pins 1 and 2 of JP2. 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 RZ/G1M and hit Enter. </li>  MiniMonitor should now display: Please send ! ('.' & CR stop load) Send uboot.srec file. It should be available in $WORK/build/tmp/deploy/images/skrzg1m/ folder which is generated by bitbake during Yocto build. Alternatively, you can download it from this site

picocom
Use Ctrl+A, Ctrl+S, then select uboot.srec file and hit Enter. Transmission should start immediately and the progress counter should be displayed: ascii-xfr -vvs /data/Renesas/skrzg1m/build/tmp/deploy/images/skrzg1m/u-boot.srec ASCII upload of "/data/Renesas/skrzg1m/build/tmp/deploy/images/skrzg1m/u-boot.srec"
 * file: /data/Renesas/skrzg1m/build/tmp/deploy/images/skrzg1m/u-boot.srec

15.0 Kbytes transferred at 3732 CPS...

minicom
Use Ctrl+A, S, choose ascii, then locate uboot.srec file and hit Enter. Transmission should start immediately and the progress counter should be displayed: +-[ascii upload - Press CTRL-C to quit]-+ +---+ </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 SPI Data Clear(H'FF) Check :H'00080000-000BFFFF Erasing..Erase Completed SAVE SPI-FLASH....... complete! -- Save (Program Start Address & Size ) - SPI Data Clear(H'FF):H'040000-07FFFF Erasing..Erase Completed SAVE SPI-FLASH....... complete!
 * ASCII upload of "uboot.srec"          |
 * 23.0 Kbytes transferred at 3857 CPS   |
 * 23.0 Kbytes transferred at 3857 CPS   |
 * 23.0 Kbytes transferred at 3857 CPS   |

=
SPI Flash Sector1 Save Information ========= Program Start Address : H'E6304000 Program Size         :  H'000385B8

=
============================================ </li>  Reboot the RZ/G1M Starter Kit board by pressing SW9 "Reset" button. You should see U-Boot prompt now. SKRZG1M SPI_LOADER(DDR3L-1600) V0.21 2015.11.10 DEVICE S25FL512

U-Boot 2013.01.01-g74b16ba-dirty (Dec 14 2015 - 15:04:20)

CPU: Renesas Electronics R8A7743 rev 3.0 Board: Skrzg1m Board

DRAM: 1 GiB MMC:  sh-sdhi: 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>

Updating QSPI Loader
You may want to update the QSPI Loader in case of upgrade or if the board you received does not have the loader flashed into QSPI Flash. Follow these steps carefully: <ol>  Put the jumper on pins 2 and 3 of JP2. This selects the 4MB SPI Flash with MiniMonitor as a boot device. MiniMonitor is loaded via the SPI boot interface of RZ/G1M. </li>  Connect to serial console over microUSB. If using picocom, start it with the following command line options: sudo picocom -b BAUDRATE --send-cmd "ascii-xfr -vvs" DEVICE Refer to "Connect to serial console" section for more information. </li>  Switch the board ON or reset it. You should see the following output on the console (version numbers can be different): SKRZG1M SPI_LOADER(DDR3L-1600) V0.21 2015.11.10 DEVICE S25FL032 SKRZG1M MiniMonitor SPI_BOOT Work memory DRAM (H'40200000-) 2015.11.10 Ver0.09c ** Program on DRAM (H'40000000-) ** > </li>  Execute the ls command: ls You should be able to see the following output: Load Program to 64MB Spiflash memory (U16:S25FL512S) JP2(SPI_SEL) 1pin-Side! Setting OK? (Push Y key) MiniMonitor is asking to connect pins 1 and 2 of JP2. </li>  Connect pins 1 and 2 of JP2. This activates the 64MB SPI Flash for U-Boot. </li>  Enter y to confirm your setting. </li>  MiniMonitor should ask now: Select area(1-2)> Answer 1 and Enter. </li>

 MiniMonitor should now display: Please send ! ('.' & CR stop load) Send SKRZG1M_SPL_LOADER_V021_DDR3L.mot file. It can be downloaded from this site

picocom
Use Ctrl+A, Ctrl+S, then select the file SKRZG1M_SPL_LOADER_V021_DDR3L.mot and hit Enter. Transmission should start immediately and the progress counter should be displayed: ascii-xfr -vvs /data/Renesas/skrzg1m/SKRZG1M_SPL_LOADER_V021_DDR3L.mot ASCII upload of "/data/Renesas/skrzg1m/SKRZG1M_SPL_LOADER_V021_DDR3L.mot"
 * file: /data/Renesas/skrzg1m/SKRZG1M_SPL_LOADER_V021_DDR3L.mot

15.0 Kbytes transferred at 3732 CPS...

minicom
Use Ctrl+A, S, choose ascii, then locate SKRZG1M_SPL_LOADER_V021_DDR3L.mot file and hit Enter. Transmission should start immediately and the progress counter should be displayed: +-[ascii upload - Press CTRL-C to quit]+ +--+ </li>  If there is some data in writing area, MiniMonitor will display: SPI Data Clear(H'FF) Check :H'00000000-0003FFFF,Clear OK?(y/n) You can safely input "y" to override area 1 of the 64MB SPI Flash. </li>  After writing is complete, MiniMonitor should display SAVE SPI-FLASH....... complete! </li>  Reboot the RZ/G1M Starter Kit board by pressing the SW9 "Reset" button. </li> </ol> You can now flash U-Boot or proceed to loading an operating system. </ol> = FAQ =
 * ASCII upload of "SKRZG1M_SPL_LOADER_V021_DDR3L.mot" |
 * 23.0 Kbytes transferred at 3857 CPS          |
 * 23.0 Kbytes transferred at 3857 CPS          |
 * 23.0 Kbytes transferred at 3857 CPS          |

How do I change/update the MAC address of the Ethernet interface?
In U-boot command line type: => env delete -f ethaddr => setenv ethaddr 2e:09:0a:00:xx:xx => saveenv

You should see the output Saving Environment to SPI Flash... SF: Detected S25FL512S with page size 256 KiB, total 64 MiB Erasing SPI flash...Writing to SPI flash...done The original (default) MAC address can be found on the label on top of RJ45 connector.

How do I connect an external LVDS display with touchscreen?
See an example for Boundary Devices BD101LCC1 display.

Which operating systems/distributions can be used with the RZ/G1M Starter Kit board?

 * Yocto 1.6.1 Linux (kernel 3.10 LTSI)
 * Yocto 2.0 Linux (kernel 4.4)
 * Android KitKat 4.4
 * Android Marshmallow

Using USB0 as host in u-boot
In u-boot, by default, USB0 (with the host connector) works as host, but USB0 does not. In order to use USB0 as host, you must do the following:
 * Set jumper JP13 to [1-2]
 * Activate the clock of the USBHS module in "ehci-rmobile.h" by setting the "System Module Stop Control Register 7 (SMSTPCR7)" to 0x18 ( "#define SMSTPCR703   0x18" )
 * Select EHCI/OHCI host module for USB0 in "ehci-rmobile.c" (previously "ehci-r8a779xx.c") by setting USB General Control Register 2 (UGCTRL2) to 0x11 ( add "writel(0x11, 0xE6590184);" )

Known Issues
TBD