Difference between revisions of "R-Car/Boards/Porter"

From eLinux.org
Jump to: navigation, search
(Bootloader)
(Updating U-Boot)
Line 163: Line 163:
  
 
=== Updating 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:
+
You may want to update U-Boot in case of upgrade or if the board you received does not have the U-Boot flashed. Follow these steps carefully to flash U-Boot:
 
<ol>
 
<ol>
 
<li>
 
<li>
Power off
+
Selects 4MB SPI Flash with MiniMonitor as a boot device. Use JP2 for this.<br/>
 +
MiniMonitor is loaded via SPI boot interface of R-Car M2.
 
</li>
 
</li>
 
<li>
 
<li>
Set JP2 and JP8 jumpers to boot from NOR Flash.
+
Connect to serial console over microUSB.<br/>
* JP2 : 1-2 closed
+
If using picocom, start it with the following command line options:
* JP8 : closed
+
<pre>
 +
sudo picocom -b BAUDRATE --send-cmd "ascii-xfr -vvs" DEVICE
 +
</pre>
 +
Refer to "[[R-Car/Boards/Porter#Connect_to_serial_console|Connect to serial console]]" section for more information.
 +
</li>
 +
<li>
 +
Switch the board ON or reset it. <br/>
 +
You should see the following output on the console (version numbers can be different):
 +
<pre class="bash">
 +
PORTER(M2W) SPI_LOADER(DDR3L) V0.20 2015.07.14
 +
DEVICE S25FL032
 +
 
 +
PORTER MiniMonitor SPI_BOOT
 +
Work memory DRAM (H'40200000-)
 +
2015.06.04 Ver0.09c ** Program on DRAM (H'40000000-)  **
 +
 
 +
>
 +
</pre>
 +
</li>
 +
<li>
 +
Execute the '''ls''' command:
 +
<pre>
 +
ls
 +
</pre>
 +
You should be able to see the following output:
 +
<pre class="bash">
 +
Load Program to 64MB Spiflash memory (U16:S25FL512S)
 +
JP2(SPI_SEL) 1pin-Side! Setting OK? (Push Y key)
 +
</pre>
 +
MiniMonitor is asking to connect pins 1 and 2 of JP2.
 
</li>
 
</li>
 
<li>
 
<li>
Power on
+
Connect pins 1 and 2 of JP2. This activates 64MB SPI Flash for U-Boot.<br/>
 +
[[File:SILKSwitch.png|100px|Switch pin layout]]
 
</li>
 
</li>
 
<li>
 
<li>
Set JP2 and JP8 jumpers for flashing QSPI
+
Enter '''y''' to confirm your setting.<br/>
* JP2 : 2-3 closed
 
* JP8 : closed
 
 
</li>
 
</li>
 
<li>
 
<li>
Load and update QSPI U-boot with the following commands:
+
MiniMonitor should ask now:
 +
<pre class="bash">
 +
Select area(1-2)>
 +
</pre>
 +
Answer '''2''' and Enter.
 +
</li>
 +
<li>
 +
Mini monitor should display:
 +
<pre class="bash">
 +
Please Input User Program Start Address :
 +
</pre>
 +
Enter '''e6304000''' for R-Car M2 and hit Enter.
 +
</li>
 +
<li>
 +
MiniMonitor should now display:
 +
<pre class="bash">
 +
Please send ! ('.' & CR stop load)
 +
</pre>
 +
Send '''uboot.srec''' file. It should be available in $WORK/build/tmp/deploy/images/porter/ folder which is generated by bitbake during Yocto build.
 +
===== picocom =====
 +
Use '''Ctrl+A''', '''Ctrl+S''', then select '''uboot.srec''' file and hit Enter. <br/>
 +
Transmission should start immediately and the progress counter should be displayed:
 +
<pre class="bash">
 +
*** file: /data/Renesas/Porter/build/tmp/deploy/images/porter/u-boot.srec
 +
ascii-xfr -vvs /data/Renesas/Porter/build/tmp/deploy/images/porter/u-boot.srec
 +
ASCII upload of "/data/Renesas/Porter/build/tmp/deploy/images/porter/u-boot.srec"
 +
 
 +
15.0 Kbytes transferred at 3732 CPS...
 +
</pre>
 +
 
 +
===== 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:<br/>
 
<pre>
 
<pre>
=> tftp 0x48100000 ${YOUR_PATH}/u-boot.bin
+
+-[ascii upload - Press CTRL-C to quit]-+
sh_eth Waiting for PHY auto negotiation to complete...... done
+
|ASCII upload of "uboot.srec"          |
sh_eth: 100Base/Full
+
|                                      |
Using sh_eth device
+
|                                      |
TFTP from server 192.168.10.30; our IP address is 192.168.10.23
+
|23.0 Kbytes transferred at 3857 CPS    |
Filename 'rcar-m2/rootfs/u-boot.bin'.
+
|                                      |
Load address: 0x48100000
+
+---------------------------------------+
Loading: ################
 
        1.8 MiB/s
 
done
 
Bytes transferred = 231144 (386e8 hex)
 
=> sf probe
 
SF: Detected S25FL512S with page size 256 KiB, total 64 MiB
 
=> mm 48000000
 
48000000: 779f51ff ? e6304000
 
48000004: 5fffffd7 ? 386e8
 
48000008: 5fdf39df ? .
 
=> sf erase 40000 +8
 
=> sf write 48000000 40000 8
 
=> sf erase 80000 +386e8
 
=> sf write 48100000 80000 386e8
 
 
</pre>
 
</pre>
 
</li>
 
</li>
 
<li>
 
<li>
Power off
+
If there are some data in writing area, MiniMonitor will display:
 +
<pre class="bash">
 +
SPI Data Clear(H'FF) Check :H'0080000-00BFFFF Clear OK?(y/n)
 +
</pre>
 +
You can safely input "y" to override area 2 of 64MB SPI Flash.
 
</li>
 
</li>
 
<li>
 
<li>
Set JP2 and JP8 jumpers to boot from QSPI Flash.
+
After writing is complete, MiniMonitor should display
* JP2 : 2-3 closed
+
<pre class="bash">
* JP8 : opened
+
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!
 +
 
 +
==========  SPI Flash Sector1 Save Information  =========
 +
Program Start Address : H'E6304000
 +
Program Size          :  H'000385B8
 +
=========================================================
 +
</pre>
 
</li>
 
</li>
 
<li>
 
<li>
Power on
+
Reboot R-Car M2 Porter board by pressing SW9 "Reset" button.<br/>
 +
You should see U-Boot prompt now.
 +
<pre class="bash">
 +
PORTER(M2W) SPI_LOADER(DDR3L) V0.20 2015.07.14
 +
DEVICE S25FL512
 +
 
 +
 
 +
U-Boot 2013.01.01-g74b16ba-dirty (Jun 05 2015 - 10:03:26)
 +
 
 +
CPU: Renesas Electronics R8A7791 rev 3.0
 +
Board: Porter 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
 +
</pre>
 
</li>
 
</li>
 
</ol>
 
</ol>

Revision as of 02:07, 26 November 2015

Introduction

This is the official Wiki for Renesas R-Car M2 Porter board.

Refer to R-Car page for Renesas R-Car SoC family. Information on Renesas R-Car E2 SILK board is on a separate page.

Hardware

Top view
For more information go to R-Car/Boards/Porter:Hardware

Hardware Features

  • R-Car M2 SoC
    • ARM®Cortex-A15 Dual Core 1.5­GHz
    • Multimedia Engine SH­4A 780 MHz
    • 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, 9 Amps
  • Dimensions: 170x125 mm

Where to buy

Porter board can be ordered from Digikey:

Click to buy Porter board

R-Car M2 SoC Documentation

TBD At the moment just short description is available http://am.renesas.com/applications/automotive/cis/cis_highend/rcar_m2/

TBD Add here link to public R-Car M2 datasheet

Official Porter board documentation

Hardware Manual: File:Porter HardwareManual 02242015.pdf
Setup Manual: File:PORTER B SetupManual rev0.01.pdf

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 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 9 Amps.

Connect to serial console

Use a miniUSB cable to connect the PC to R-Car M2 Porter board. CN18 must be used on Porter side. It is routed to SCIF0 in the R-Car M2 via a CP2102 interface converter chip.

On Linux, CP2102 driver is included with kernel versions >=2.6.12. Windows driver and sources can be found on Silicon Labs website.

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:

PORTER SPI_LOADER(DDR3L) V0.19 2015.02.12
 DEVICE S25FL512


U-Boot 2013.01.01-gc4d5d6e (Nov 13 2014 - 17:21:53)

CPU: Renesas Electronics R8A7791 rev 2.0
Board: Porter 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

R-Car M2 SoC can be booted from various sources. Porter board can be booted from QSPI Flash device. Porter 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.

Boot source JP2 state
QSPI (64MB) 1-2 closed
QSPI (4MB) 2-3 closed

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. Follow these steps carefully to flash U-Boot:

  1. Selects 4MB SPI Flash with MiniMonitor as a boot device. Use JP2 for this.
    MiniMonitor is loaded via SPI boot interface of R-Car M2.
  2. 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.

  3. Switch the board ON or reset it.
    You should see the following output on the console (version numbers can be different):
    PORTER(M2W) SPI_LOADER(DDR3L) V0.20 2015.07.14
     DEVICE S25FL032
      
    PORTER MiniMonitor SPI_BOOT 
     Work memory DRAM (H'40200000-) 
     2015.06.04 Ver0.09c ** Program on DRAM (H'40000000-)  ** 
    
    >
    
  4. 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.

  5. Connect pins 1 and 2 of JP2. This activates 64MB SPI Flash for U-Boot.
    Switch pin layout
  6. Enter y to confirm your setting.
  7. MiniMonitor should ask now:
    Select area(1-2)> 
    

    Answer 2 and Enter.

  8. Mini monitor should display:
    Please Input User Program Start Address :
    

    Enter e6304000 for R-Car M2 and hit Enter.

  9. MiniMonitor should now display:
    Please send ! ('.' & CR stop load)
    

    Send uboot.srec file. It should be available in $WORK/build/tmp/deploy/images/porter/ folder which is generated by bitbake during Yocto build.

    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:

    *** file: /data/Renesas/Porter/build/tmp/deploy/images/porter/u-boot.srec
    ascii-xfr -vvs /data/Renesas/Porter/build/tmp/deploy/images/porter/u-boot.srec 
    ASCII upload of "/data/Renesas/Porter/build/tmp/deploy/images/porter/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]-+
    |ASCII upload of "uboot.srec"           |
    |                                       |
    |                                       |
    |23.0 Kbytes transferred at 3857 CPS    |
    |                                       |
    +---------------------------------------+
    
  10. 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.

  11. 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!
    
    ==========  SPI Flash Sector1 Save Information  =========
     Program Start Address :  H'E6304000
     Program Size          :  H'000385B8
    =========================================================
    
  12. Reboot R-Car M2 Porter board by pressing SW9 "Reset" button.
    You should see U-Boot prompt now.
    PORTER(M2W) SPI_LOADER(DDR3L) V0.20 2015.07.14
     DEVICE S25FL512
    
    
    U-Boot 2013.01.01-g74b16ba-dirty (Jun 05 2015 - 10:03:26)
    
    CPU: Renesas Electronics R8A7791 rev 3.0
    Board: Porter 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
    

Updating QSPI Loader

You may want to update QSPI Loader in case of upgrade or if the board you received does not have the QSPI Loader flashed into QSPI Flash. Follow these steps carefully:
Latest QSPI Loader: File:PORTER SPI LOADER V019 DDR3L.bin

  1. Power off
  2. Set JP2 and JP8 jumpers to boot from NOR Flash.
    • JP2 : 1-2 closed
    • JP8 : closed
  3. Power on
  4. Set JP2 and JP8 jumpers for flashing QSPI
    • JP2 : 2-3 closed
    • JP8 : closed
  5. Load and update QSPI Loader with the following commands:
    => tftp 0x48000000 ${YOUR_PATH}/PORTER_SPI_LOADER_V019_DDR3L.bin
    sh_eth Waiting for PHY auto negotiation to complete.. done
    sh_eth: 100Base/Full
    Using sh_eth device
    TFTP from server 192.168.10.30; our IP address is 192.168.10.10
    Filename '${YOUR_PATH}/PORTER_SPI_LOADER_V019_DDR3L.bin'.
    Load address: 0x48000000
    Loading: #
             1.8 MiB/s
    done
    Bytes transferred = 13388 (344c hex)
    => 
    => sf probe
    SF: Detected S25FL512S with page size 256 KiB, total 64 MiB
    => sf erase 0 +34ff
    => sf write 0x48000000 0 344c
    
  6. Power off
  7. Set JP2 and JP8 jumpers to boot from QSPI Flash.
    • JP2 : 2-3 closed
    • JP8 : opened
  8. Power on

FAQ

How do I change/update MAC address for 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 R-Car M2 Porter board?

Automotive Grade Linux (AGL) is a Linux Foundation Workgroup dedicated to creating open source software solutions for automotive applications. Porter board can be use to run an AGL distribution.

Currently (oct. 2015), this project is a work in progress but a Kickstart guide to start AGL on Renesas Porter board is already available.

Known Issues

TBD