zynqmp-r5.rst 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137
  1. .. SPDX-License-Identifier: GPL-2.0
  2. .. (C) Copyright 2020 Xilinx, Inc.
  3. ZYNQMP-R5
  4. =========
  5. About this
  6. ----------
  7. This document describes the information about Xilinx Zynq UltraScale+ MPSOC
  8. U-Boot Cortex R5 support.
  9. ZynqMP R5 boards
  10. ----------------
  11. * zynqmp-r5 - U-Boot running on RPU Cortex-R5
  12. Building
  13. --------
  14. configure and build armv7 toolchain::
  15. $ make xilinx_zynqmp_r5_defconfig
  16. $ make
  17. Notes
  18. ^^^^^
  19. Output fragment is u-boot.
  20. Loading
  21. -------
  22. ZynqMP R5 U-Boot was created for supporting loading OS on RPU. There are two
  23. ways how to start U-Boot on R5.
  24. Bootgen
  25. ^^^^^^^
  26. The first way is to use Xilinx FSBL (First stage
  27. bootloader) to load u-boot and start it. The following bif can be used for boot
  28. image generation via Xilinx bootgen utility::
  29. the_ROM_image:
  30. {
  31. [bootloader,destination_cpu=r5-0] fsbl_rpu.elf
  32. [destination_cpu=r5-0]u-boot.elf
  33. }
  34. Bootgen command for building boot.bin::
  35. bootgen -image <bif>.bif -r -w -o i boot.bin
  36. U-Boot cpu command
  37. ^^^^^^^^^^^^^^^^^^
  38. The second way to load U-Boot to Cortex R5 is from U-Boot running on A53 as is
  39. visible from the following log::
  40. U-Boot SPL 2020.10-rc4-00090-g801b3d5c5757 (Sep 15 2020 - 14:07:24 +0200)
  41. PMUFW: v1.1
  42. Loading new PMUFW cfg obj (2024 bytes)
  43. EL Level: EL3
  44. Multiboot: 0
  45. Trying to boot from MMC2
  46. spl: could not initialize mmc. error: -19
  47. Trying to boot from MMC1
  48. spl_load_image_fat_os: error reading image u-boot.bin, err - -2
  49. NOTICE: ATF running on XCZU7EG/EV/silicon v4/RTL5.1 at 0xfffea000
  50. NOTICE: BL31: v2.2(release):v2.2-614-ged9dc512fb9c
  51. NOTICE: BL31: Built : 09:32:09, Mar 13 2020
  52. U-Boot 2020.10-rc4-00090-g801b3d5c5757 (Sep 15 2020 - 14:07:24 +0200)
  53. Model: ZynqMP ZCU104 RevC
  54. Board: Xilinx ZynqMP
  55. DRAM: 2 GiB
  56. PMUFW: v1.1
  57. EL Level: EL2
  58. Chip ID: zu7e
  59. WDT: Started with servicing (60s timeout)
  60. NAND: 0 MiB
  61. MMC: mmc@ff170000: 0
  62. Loading Environment from FAT... *** Warning - bad CRC, using default environment
  63. In: serial
  64. Out: serial
  65. Err: serial
  66. Bootmode: LVL_SHFT_SD_MODE1
  67. Reset reason: SOFT
  68. Net:
  69. ZYNQ GEM: ff0e0000, mdio bus ff0e0000, phyaddr 12, interface rgmii-id
  70. eth0: ethernet@ff0e0000
  71. Hit any key to stop autoboot: 0
  72. ZynqMP> setenv autoload no
  73. ZynqMP> dhcp
  74. BOOTP broadcast 1
  75. DHCP client bound to address 192.168.0.167 (8 ms)
  76. ZynqMP> tftpboot 20000000 192.168.0.105:u-boot-r5-2.elf
  77. Using ethernet@ff0e0000 device
  78. TFTP from server 192.168.0.105; our IP address is 192.168.0.167
  79. Filename 'u-boot-r5-2.elf'.
  80. Load address: 0x20000000
  81. Loading: #################################################################
  82. #################################################################
  83. #################################################################
  84. #################################################################
  85. #################################################################
  86. #################################################################
  87. ################
  88. 376 KiB/s
  89. done
  90. Bytes transferred = 2075464 (1fab48 hex)
  91. ZynqMP> setenv autostart no
  92. ZynqMP> bootelf -p 20000000
  93. ZynqMP> cpu 4 release 10000000 lockstep
  94. Using TCM jump trampoline for address 0x10000000
  95. R5 lockstep mode
  96. ZynqMP>
  97. Then on second uart you can see U-Boot up and running on R5::
  98. U-Boot 2020.10-rc4-00071-g7045622cc9ba (Sep 16 2020 - 13:38:53 +0200)
  99. Model: Xilinx ZynqMP R5
  100. DRAM: 512 MiB
  101. MMC:
  102. In: serial@ff010000
  103. Out: serial@ff010000
  104. Err: serial@ff010000
  105. Net: No ethernet found.
  106. ZynqMP r5>
  107. Please make sure MIO pins for uart are properly configured to see output.