diff options
Diffstat (limited to 'meta-agl-refhw-gen3/docs/ReferenceHW_Rcar_gen3.md')
-rw-r--r-- | meta-agl-refhw-gen3/docs/ReferenceHW_Rcar_gen3.md | 161 |
1 files changed, 161 insertions, 0 deletions
diff --git a/meta-agl-refhw-gen3/docs/ReferenceHW_Rcar_gen3.md b/meta-agl-refhw-gen3/docs/ReferenceHW_Rcar_gen3.md new file mode 100644 index 0000000..9e826dc --- /dev/null +++ b/meta-agl-refhw-gen3/docs/ReferenceHW_Rcar_gen3.md @@ -0,0 +1,161 @@ +# Reference Hardware Board + +- [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 Flash Firmware](#how-to-flash-firmware) + + +## About +Reference hardware board with R-Car H3 SoC is made by Panasonic for 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. + +## 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 +``` + +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 + +## How to Flash Firmware + +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 + 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. + + \> **EM_SECSD** + Please Input EXT_CSD Index(H'00 - H'1FF) :**b1** + EXT_CSD[B1] = 0x00 + Please Input Value(H'00 - H'FF) :**a** + EXT_CSD[B1] = 0x0A + + \> **EM_SECSD** + Please Input EXT_CSD Index(H'00 - H'1FF) :**b3** + EXT_CSD[B3] = 0x00 + Please Input Value(H'00 - H'FF) :**8** + EXT_CSD[B3] = 0x08 + + \>**EM_DCSD** + [CSD Field Data] + [127:126] CSD_STRUCTURE 0x03 + [125:122] SPEC_VERS 0x04 + [119:112] TAAC 0x27 + [111:104] NSAC 0x01 + [103: 96] TRAN_SPEED 0x32 + [ 95: 84] CCC 0x00F5 + [ 83: 80] READ_BL_LEN 0x09 + [ 79: 79] READ_BL_PARTIAL 0x00 + [ 78: 78] WRITE_BLK_MISALIGN 0x00 + [ 77: 77] READ_BLK_MISALIGN 0x00 + [ 76: 76] DSR_IMP 0x00 + [ 73: 62] C_SIZE 0x0FFF + [ 61: 59] VDD_R_CURR_MIN 0x06 + [ 58: 56] VDD_R_CURR_MAX 0x06 + [ 55: 53] VDD_W_CURR_MIN 0x06 + [ 52: 50] VDD_W_CURR_MAX 0x06 + [ 49: 47] C_SIZE_MULT 0x07 + [ 46: 42] ERASE_GRP_SIZE 0x1F + [ 41: 37] ERASE_GRP_MULT 0x1F + [ 36: 32] WP_GRP_SIZE 0x0F + [ 31: 31] WP_GRP_ENABLE 0x01 + [ 30: 29] DEFAULT_ECC 0x00 + [ 28: 26] R2W_FACTOR 0x03 + [ 25: 22] WRITE_BL_LEN 0x09 + [ 21: 21] WRITE_BL_PARTIAL 0x00 + [ 16: 16] CONTENT_PROT_APP 0x00 + [ 15: 15] FILE_FORMAT_GRP 0x00 + [ 14: 14] COPY 0x01 + [ 13: 13] PERM_WRITE_PROTECT 0x00 + [ 12: 12] TMP_WRITE_PROTECT 0x00 + [ 11: 10] FILE_FORMAT 0x00 + [ 9: 8] ECC 0x00 + [ 7: 1] CRC 0x00 + + +8. Flash firmware + The firmware are supposed to be stored on eMMC as following: + + Name | Load address | eMMC partition | Flash address | Description + --------------------------------------|-----------------------|-----------------------|-----------------------|----------------------------- + bootparam_sa0-4x2g.srec | H'E6320000 | 1 | H'000000 | Boot parameter + bl2-salvator-x-4x2g.srec | H'E6304000 | 1 | H'00001E | bl2 loader + cert_header_sa6-4x2g.srec | H'E6320000 | 1 | H'000180 | Certification + bl31-salvator-x-4x2g.srec | H'44000000 | 1 | H'000200 | bl3 loader + tee-salvator-x.srec | H'44100000 | 1 | H'001000 | OP-Tee + u-boot-elf-salvator-xs-4x2g.srec | H'50000000 | 2 | H'000000 | 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. 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 |