summaryrefslogtreecommitdiffstats
path: root/meta-agl-refhw-gen3/docs/ReferenceHW_Rcar_gen3.md
diff options
context:
space:
mode:
Diffstat (limited to 'meta-agl-refhw-gen3/docs/ReferenceHW_Rcar_gen3.md')
-rw-r--r--meta-agl-refhw-gen3/docs/ReferenceHW_Rcar_gen3.md314
1 files changed, 177 insertions, 137 deletions
diff --git a/meta-agl-refhw-gen3/docs/ReferenceHW_Rcar_gen3.md b/meta-agl-refhw-gen3/docs/ReferenceHW_Rcar_gen3.md
index 1d72c4d..f0a6d99 100644
--- a/meta-agl-refhw-gen3/docs/ReferenceHW_Rcar_gen3.md
+++ b/meta-agl-refhw-gen3/docs/ReferenceHW_Rcar_gen3.md
@@ -2,127 +2,79 @@
- [About](#about)
- [Difference to Salvator-XS When Flashing Firmware](#difference-to-salvator-xs-when-flashing-firmware)
-- [How to build the Flash Writer](#how-to-build-the-flash-writer)
+- [How to Build the Flash Writer](#how-to-build-the-flash-writer)
- [How to Flash Firmware](#how-to-flash-firmware)
+- [How to Build the Firmware](#how-to-build-the-firmware)
## About
-Reference hardware board with R-Car H3 SoC is made by Panasonic for AGL community.
+The AGL Reference hardware board with R-Car H3 SoC is made by Panasonic for the
+AGL community.
## Difference to Salvator-XS When Flashing Firmware
-The HyperFlash/QSPI flash switch function is not implemented on reference
-hardware board at present, HyperFlash and QSPI flash are not used.
-Firmwares (arm-trusted-firmware, U-boot...) are stored into eMMC and updated by
-using serial download.
+The HyperFlash/QSPI flash switch function is not implemented on the reference
+hardware board at present, HyperFlash and QSPI flash are not used. Firmware
+(arm-trusted-firmware, U-Boot...) is stored in eMMC and updated by using serial
+download.
## How to build the Flash Writer
-1. Gets cross compiler.
-```
- $ cd ~/
- $ wget https://releases.linaro.org/components/toolchain/binaries/7.3-2018.05/aarch64-elf/gcc-linaro-7.3.1-2018.05-x86_64_aarch64-elf.tar.xz
- $ tar xvf gcc-linaro-7.3.1-2018.05-x86_64_aarch64-elf.tar.xz
-```
-
-2. Prepare the source code
-```
- $ cd ~/
- $ git clone https://github.com/renesas-rcar/flash_writer.git
- $ cd flash_writer
- $ git checkout rcar_gen3
-```
-
+1. Get the prebuilt cross compiler:
+ ```
+ $ cd ~/
+ $ wget https://releases.linaro.org/components/toolchain/binaries/7.3-2018.05/aarch64-elf/gcc-linaro-7.3.1-2018.05-x86_64_aarch64-elf.tar.xz
+ $ tar xvf gcc-linaro-7.3.1-2018.05-x86_64_aarch64-elf.tar.xz
+ ```
+2. Prepare the source code:
+ ```
+ $ cd ~/
+ $ git clone https://github.com/renesas-rcar/flash_writer.git
+ $ cd flash_writer
+ $ git checkout rcar_gen3
+ ```
3. Build the Flash Writer
-```
- $ make AArch=64 clean
- $ CROSS_COMPILE=~/gcc-linaro-7.3.1-2018.05-x86_64_aarch64-elf/bin/aarch64-elf- make AArch=64
-```
-
-Output the following image.
-./AArch64_output/AArch64_Flash_writer_SCIF_DUMMY_CERT_E6300400_salvator-x.mot
+ ```
+ $ make AArch=64 clean
+ $ CROSS_COMPILE=~/gcc-linaro-7.3.1-2018.05-x86_64_aarch64-elf/bin/aarch64-elf- make AArch=64
+ ```
+ The output image is at:
+ ```
+ ./AArch64_output/AArch64_Flash_writer_SCIF_DUMMY_CERT_E6300400_salvator-x.mot
+ ```
-## How to build the Firmware
-
-1. In a temporary working directory, clone poky the poky repository and check out the dunfell branch:
-```
- git clone git://git.yoctoproject.org/poky
- cd poky
- git checkout dunfell
- ..
-```
-2. Clone the Renesas BSP and it's dependent layers:
-```
- git clone https://github.com/renesas-rcar/meta-renesas
- cd meta-renesas
- git checkout dunfell-dev-4.14
- cd ..
- git clone git://git.openembedded.org/meta-openembedded
- cd meta-openembedded
- git checkout dunfell
- cd ..
-```
-3. Clone the reference hardware BSP layer:
-```
- git clone https://gerrit.automotivelinux.org/gerrit/AGL/meta-agl-refhw
-```
-4. Create a build environment:
-```
- . ./poky/oe-init-build-env build
-```
-5. Add the layers to `conf/bblayers.conf`, the `BBLAYERS` variable definition should look like:
-```
- BBLAYERS ?= " \
- /home/user/workdir/poky/meta \
- /home/user/workdir/poky/meta-poky \
- /home/user/poky/meta-yocto-bsp \
- /home/user/workdir/meta-openembedded/meta-oe \
- /home/user/workdir/meta-openembedded/meta-python \
- /home/user/workdir/meta-renesas/meta-rcar-gen3 \
- /home/user/workdir/meta-agl-refhw/meta-agl-refhw-gen3 \
- "
-```
-6. Add the machine setting to `conf/local.conf`, for example:
-```
- echo MACHINE=agl-refhw-h3 >> conf/local.conf
-```
-7. Build the firmware:
-```
- bitbake arm-trusted-firmware optee-os u-boot
-```
-8. Afterwards, the firmware files will be in the directory `tmp/deploy/images/agl-refhw-h3`.
## How to Flash Firmware
-1. Connect reference hardware board to the development PC by using USB serial
- cable.
+1. Connect reference hardware board to the development PC by using USB serial cable.
+
2. Open a serial console (like Teraterm in Windows, or gtkterm in Ubuntu that
can easily send files) with a baudrate of 115200n8.
-3. Set bit2 of SW2221 (on the top of SoC board) to "off"which turns SW2221 to be
+
+4. Set bit2 of SW2221 (on the top of SoC board) to "off"which turns SW2221 to be
off,off,off,off.
-4. Power on the reference board, you will find fillowing message outputed on the
- serial console:
-
-```
- SCIF Download mode (w/o verification)
- (C) Renesas Electronics Corp.
-
- -- Load Program to SystemRAM ---------------
- please send !
-
-```
-5. Use console application menu to send the flash writer binary provided:
-
-```
- AArch64_Flash_writer_SCIF_DUMMY_CERT_E6300400_salvator-x.mot
-```
-6. After file is transferred correctly, following message will be outputed:
-
-```
- Flash writer for R-Car H3/M3/M3N Series V1.11 Feb.12,2020
- >
-```
-7. Set reference board to boot from eMMC.
+
+5. Power on the reference board, you will find following message on the serial
+ console:
+ ```
+ SCIF Download mode (w/o verification)
+ (C) Renesas Electronics Corp.
+
+ -- Load Program to SystemRAM ---------------
+ please send !
+ ```
+
+6. Use console application menu to send the flash writer binary:
+ ```
+ AArch64_Flash_writer_SCIF_DUMMY_CERT_E6300400_salvator-x.mot
+ ```
+
+7. After the writer is transferred correctly, the following message will be displayed:
+ ```
+ Flash writer for R-Car H3/M3/M3N Series V1.11 Feb.12,2020
+ >
+ ```
+8. Set reference board to boot from eMMC:
\> **EM_SECSD**
Please Input EXT_CSD Index(H'00 - H'1FF) :**b1**
@@ -172,40 +124,128 @@ Output the following image.
[ 9: 8] ECC 0x00
[ 7: 1] CRC 0x00
-
-8. Flash firmware
- The firmware are supposed to be stored on eMMC as following:
-
- Name | eMMC partition | Flash address | Load address | Description
- --------------------------------------|-----------------------|-----------------------|-----------------------|-----------------------------
- bootparam_sa0-4x2g.srec | 1 | H'000000 | H'E6320000 | Boot parameter
- bl2-agl-refhw-h3-4x2g.srec | 1 | H'00001E | H'E6304000 | bl2 loader
- cert_header_sa6-4x2g.srec | 1 | H'000180 | H'E6320000 | Certification
- bl31-agl-refhw-h3-4x2g.srec | 1 | H'000200 | H'44000000 | bl3 loader
- tee-agl-refhw-h3.srec | 1 | H'001000 | H'44100000 | OP-Tee
- u-boot-elf-salvator-xs-4x2g.srec | 2 | H'000000 | H'50000000 | U-boot
-
- You can find these firmwares in the AGL build directory $AGL_TOP/build/tmp/deploy/images/salvator-x
- and you can flash them by using **EM_W** command as following:
-
- \> **EM_W**
- \---------------------------------------------------------
- Please select,eMMC Partition Area.
- 0:User Partition Area : 62496768 KBytes
- eMMC Sector Cnt : H'0 - H'07733FFF
- 1:Boot Partition 1 : 32640 KBytes
- eMMC Sector Cnt : H'0 - H'0000FEFF
- 2:Boot Partition 2 : 32640 KBytes
- eMMC Sector Cnt : H'0 - H'0000FEFF
- \---------------------------------------------------------
- Select area(0-2)> **\<Enter the eMMC partition number above, Ex.'1' \>**
- -- Boot Partition X Program -----------------------------
- Please Input Start Address in sector : **\<Enter the Flash address above, Ex.'1e'\>**
- Please Input Program Start Address : **\<Enter the Load address above, Ex. 'e6304000'\>**
- Work RAM(H'50000000-H'50FFFFFF) Clear....
- please send ! ('.' & CR stop load)
- **\<Send the fimware file above by using console appliction, Ex. send 'bl2-salvator-x-4x2g.srec'\>**
+9. Flash the firmware.
+
+ If using an AGL build with the agl-refhw-h3 feature, you can find the firmware
+ files under the build directory in `tmp/deploy/images/h3ulcb`.
+
+ The firmware should be stored on the eMMC as follows:
+
+ | Name | eMMC partition | Flash address | Load address | Description
+ |-------------------------------------|:--------------:|:-------------:|:------------:|------------------|
+ | bootparam_sa0-agl-refhw-4x2g.srec | 1 | H'000000 | H'E6320000 | Boot parameter
+ | bl2-agl-refhw-4x2g.srec | 1 | H'00001E | H'E6304000 | bl2 loader
+ | cert_header_sa6-agl-refhw-4x2g.srec | 1 | H'000180 | H'E6320000 | Certification
+ | bl31-agl-refhw-4x2g.srec | 1 | H'000200 | H'44000000 | bl3 loader
+ | tee-h3ulcb.srec | 1 | H'001000 | H'44100000 | OP-Tee
+ | u-boot-elf-agl-refhw-4x2g.srec | 2 | H'000000 | H'50000000 | U-boot
+
+ If the firmware has been built using a standalone build outside of AGL
+ (see [below](#standalone-build)), then the firmware files can be be found in
+ `tmp/deploy/images/agl-refhw-h3`, and should be stored on the eMMC as follows:
+
+ | Name | eMMC partition | Flash address | Load address | Description
+ |-------------------------------------|:--------------:|:-------------:|:------------:|------------------|
+ | bootparam_sa0-4x2g.srec | 1 | H'000000 | H'E6320000 | Boot parameter
+ | bl2-agl-refhw-h3-4x2g.srec | 1 | H'00001E | H'E6304000 | bl2 loader
+ | cert_header_sa6-4x2g.srec | 1 | H'000180 | H'E6320000 | Certification
+ | bl31-agl-refhw-h3-4x2g.srec | 1 | H'000200 | H'44000000 | bl3 loader
+ | tee-agl-refhw-h3.srec | 1 | H'001000 | H'44100000 | OP-Tee
+ | u-boot-elf-salvator-xs-4x2g.srec | 2 | H'000000 | H'50000000 | U-boot
+
+ The firmware files can be flashed by using **EM_W** command for each of them:
+
+ \> **EM_W**
+ \---------------------------------------------------------
+ Please select,eMMC Partition Area.
+ 0:User Partition Area : 62496768 KBytes
+ eMMC Sector Cnt : H'0 - H'07733FFF
+ 1:Boot Partition 1 : 32640 KBytes
+ eMMC Sector Cnt : H'0 - H'0000FEFF
+ 2:Boot Partition 2 : 32640 KBytes
+ eMMC Sector Cnt : H'0 - H'0000FEFF
+ \---------------------------------------------------------
+ Select area(0-2)> **\<Enter the eMMC partition number above, Ex.'1' \>**
+ -- Boot Partition X Program -----------------------------
+ Please Input Start Address in sector : **\<Enter the Flash address above, Ex.'1e'\>**
+ Please Input Program Start Address : **\<Enter the Load address above, Ex. 'e6304000'\>**
+ Work RAM(H'50000000-H'50FFFFFF) Clear....
+ please send ! ('.' & CR stop load)
+ **\<Send the fimware file above by using console appliction, Ex. send 'bl2-agl-refhw-x-4x2g.srec'\>**
9. Power off the board.
10. Reset bit2 of SW2221 (on the top of SoC board) to "on", which turns SW2221 to be
- off,on,off,off
+ off,on,off,off.
+
+
+## How to build the Firmware
+
+### In AGL Build
+
+1. Initialize build environment:
+ ```
+ source meta-agl/scripts/aglsetup.sh -m h3ulcb agl-refhw-h3
+ ```
+ or:
+ ```
+ source meta-agl/scripts/aglsetup.sh -m h3ulcb-nogfx agl-refhw-h3
+ ```
+2. Build the firmware:
+ ```
+ bitbake arm-trusted-firmware optee-os u-boot
+ ```
+3. Afterwards, the firmware files will be in the directory `tmp/deploy/images/agl-refhw-h3`.
+
+
+### Standalone Build
+
+It is also possible to build the firmware outside of the AGL build by using this
+BSP layer on top of the meta-rcar-gen3 layer in meta-renesas.
+
+1. In a temporary working directory, clone poky the poky repository and check out the dunfell branch:
+ ```
+ git clone git://git.yoctoproject.org/poky
+ cd poky
+ git checkout dunfell
+ ..
+ ```
+2. Clone the Renesas BSP and it's dependent layers:
+ ```
+ git clone https://github.com/renesas-rcar/meta-renesas
+ cd meta-renesas
+ git checkout dunfell-dev-4.14
+ cd ..
+ git clone git://git.openembedded.org/meta-openembedded
+ cd meta-openembedded
+ git checkout dunfell
+ cd ..
+ ```
+3. Clone the reference hardware BSP layer:
+ ```
+ git clone https://gerrit.automotivelinux.org/gerrit/AGL/meta-agl-refhw
+ ```
+4. Create a build environment:
+ ```
+ . ./poky/oe-init-build-env build
+ ```
+5. Add the layers to `conf/bblayers.conf`, the `BBLAYERS` variable definition should look like:
+ ```
+ BBLAYERS ?= " \
+ /home/user/workdir/poky/meta \
+ /home/user/workdir/poky/meta-poky \
+ /home/user/poky/meta-yocto-bsp \
+ /home/user/workdir/meta-openembedded/meta-oe \
+ /home/user/workdir/meta-openembedded/meta-python \
+ /home/user/workdir/meta-renesas/meta-rcar-gen3 \
+ /home/user/workdir/meta-agl-refhw/meta-agl-refhw-gen3 \
+ "
+ ```
+6. Add the machine setting to `conf/local.conf`, for example:
+ ```
+ echo MACHINE=agl-refhw-h3 >> conf/local.conf
+ ```
+7. Build the firmware:
+ ```
+ bitbake arm-trusted-firmware optee-os u-boot
+ ```
+8. Afterwards, the firmware files will be in the directory `tmp/deploy/images/agl-refhw-h3`.