1. AM64x Datasheet

1.1. Introduction

This section provides the performance numbers of device drivers supported in PDK

1.1.1. Setup Details

SOC Details Values
Core R5F
Core Operating Speed 800MHz
DDR Speed 2666 MHz
Cache status Enabled
Optimization Details Values
Profile Release
Compile Options for R5F -g -ms -DMAKEFILE_BUILD -c -qq -pdsw225 –endian=little -mv7R5 –abi=eabi -eo.oer5f -ea.ser5f –symdebug:dwarf –embed_inline_assembly –float_support=vfpv3d16 –emit_warnings_as_errors
Linker Options for R5F –emit_warnings_as_errors -w -q -u _c_int00 -c -mv7R5 –diag_suppress=10063 -x –zero_init=on
Code Placement DDR
Data Placement DDR

1.1.2. Software Performance Numbers

1.1.2.1. UDMA

1.1.2.1.1. DMA Parameters
  • Ring Order ID: 0
  • Channel Order ID: 0
  • Channel DMA Priority: 1
  • Channel Bus Priority: 4
  • Channel BUS QOS: 4
  • Channel TX FIFO depth: 128
  • Channel Fetch Word Size: 16
  • Channel Burst Size: 64 bytes
1.1.2.1.2. Test Parameters
  • Type: TR15 Block copy
  • TR: one TR per TRPD in PBR mode
  • TR Memory: Same as buffer memory (DDR, MSMC or OCMC depends on the test performed)
  • Transfer Size: 1 MB read and 1MB write
  • 1MB means 1000x1000 bytes and 1KB means 1000 bytes

Note: Throughput numbers mentioned is the combined memory throughput of both read and write operations

1.1.2.1.3. BCDMA Blockcopy (Normal Capacity Channel)

BCDMA normal capacity channel performance with TR submitted through ring

Test Description Throughput (MB/sec)
MPU1 MCU1/2
[PDK-3485] 1CH DDR 1MB to DDR 1MB | 1236 MB/s | 989 MB/s
[PDK-3486] 1CH MSMC 1KB Circular to DDR 1MB 2776 MB/s 2221 MB/s
[PDK-3487] 1CH DDR 1MB to MSMC circular 1KB 1895 MB/s 1516 MB/s
[PDK-3488] 1CH MSMC 1KB to MSMC circular 1KB (1MB per TR) 2488 MB/s 1991 MB/s
[PDK-3494] Multi CH DDR 1MB to DDR 1MB 2255 MB/s 1998 MB/s
[PDK-3496] Multi CH MSMC 1KB to MSMC circular 1KB (1 MB per TR) 2499 MB/s 1999 MB/s

1.1.2.2. IPC

  • Release build binaries are used for measurement

  • Ring Buffer : Uncached DDR

  • Buffer to be sent (RPMSG) – Cached DDR

  • Software/Application Used : ipc_multicore_perf_test loaded through SBL. Output is printed to UART.

  • R5F/MPU config : DDR config

    • bufferable - 1
    • cacheable - 1
    • shareable - 0

Capturing Round trip time in us with different data sizes

1.1.2.2.1. Performance - Host Core A53, Bios, 1 GHz
Remote Core 4 Bytes 8 Bytes 16 Bytes 32 Bytes 64 Bytes 128 Bytes 256 Bytes
MCU R5F0_0 15 15 16 18 21 28 41
MCU R5F0_1 15 15 16 17 21 27 40
MCU R5F1_0 15 15 16 17 21 27 40
MCU R5F1_1 15 15 16 17 21 27 40
1.1.2.2.2. Performance - Host Core MCU R5F0, 800 MHz
Remote Core 4 Bytes 8 Bytes 16 Bytes 32 Bytes 64 Bytes 128 Bytes 256 Bytes
A53 (bios) 19 20 21 23 27 35 52
MCU R5F0_1 19 20 22 26 33 48 77
MCU R5F1_0 19 20 22 26 33 48 77
MCU R5F1_1 19 20 22 26 33 48 77
1.1.2.2.3. Performance - Host Core MCU R5F0, 800 MHz
Remote Core 4 Bytes 8 Bytes 16 Bytes 32 Bytes 64 Bytes 128 Bytes 256 Bytes
A53 (bios) 19 20 21 22 27 35 51
MCU R5F0_0 19 20 22 26 33 48 77
MCU R5F0_1 19 20 22 26 33 48 77
MCU R5F1_1 19 20 22 26 33 48 77

1.1.2.3. OSPI

1.1.2.3.1. Test Set-up
  • Platform: AM64x EVM.
  • OS Type: Baremetal/Sysbios
  • Core : R5F_0 at 800 MHz, A72_0 at 1 GHz.
  • Software/Application Used: OSPI_Flash_TestApp/OSPI_Flash_Dma_TestApp/OSPI_Baremetal_Flash_TestApp/OSPI_Flash_Dma_TestApp
  • System Configuration: Cache OFF, Read/Write Buffer in DDR. DMA Enabled/Disabled, Interrupts ON.
1.1.2.3.2. OSPI Read/Write Performance (DDR Octal Mode)
OSPI RCLK OS CPU Mode Write Tput (MB/s) Write CPU Load Read Tput (MB/s) Read CPU Load
133 MHz Baremetal R5F_0 DAC   100% 7 100%
DAC DMA   100% 110 100%
INDAC 0.525 100% 37 100%
A72_0 DAC   100% 6.625 100%
DAC DMA   100% 106.25 100%
INDAC 0.534 100% 22.125 100%
RTOS R5F_0 DAC   100% 7 100%
DAC DMA   100% 109.25 59%
INDAC 0.528 100% 23.125 100%
A72_0 DAC   100% 8.25 100%
DAC DMA   100% 132.25 60%
INDAC 0.669 100% 27.75 100%
166 MHz Baremetal R5F_0 DAC   100% 7.875 100%
DAC DMA   100% 129.875 100%
INDAC 0.523 100% 23 100%
A72_0 DAC   100% 7.625 100%
DAC DMA   100% 123.5 100%
INDAC 0.536 100% 22.25 100%
RTOS R5F_0 DAC   100% 7.875 100%
DAC DMA   100% 129.125 62%
INDAC 0.527 100% 23 100%
A72_0 DAC   100% 9.375 100%
DAC DMA   100% 154.125 57%
INDAC 0.667 100% 27.75 100%

1.1.2.4. MMCSD

1.1.2.4.1. Test Set-up
  • Platform: AM64x EVM.
  • OS Type: Sysbios
  • Core : A72_0, 1000 Mhz.
  • Software/Application Used: MMCSD_<EMMC>_Regression_TestApp (A menu based application which outputs the benchmark numbers on UART)
  • System Configuration: Cache ON, Read/Write Buffer in DDR. ADMA enabled, Interrupts ON.
  • SD Card used: Sandisk 16GB, Class 10. FAT32 formatted with allocation size = 4K (for optimal FAT32 throughput & compatibility with various cards)
  • EMMC: EMMC on AM64x EVM. Please refer to the EVM data sheet for details
1.1.2.4.2. SD Card Performance
1.1.2.4.2.1. DS Mode (25 Mhz, 4-bit) Theoretical Max: 12.5 MB/s
Size of transfer (KB) RAW Write Throughput (MB/s) RAW Read Throughput (MB/s) FATFS Write Throughput (MB/s) FATFS Read Throughput (MB/s)
256 7.6698 12.1902 8.0597 10.7262
512 10.7129 12.7458 8.1154 11.7397
1024 11.2983 12.7858 8.2127 11.7765
2048 11.4035 12.8057 7.8079 11.7811
5120 10.4190 12.7327 8.0580 11.7923
1.1.2.4.2.2. HS Mode (50 Mhz, 4-bit) Theoretical Max: 50 MB/s
Size of transfer (KB) RAW Write Throughput (MB/s) RAW Read Throughput (MB/s) FATFS Write Throughput (MB/s) FATFS Read Throughput (MB/s)
256 15.6327 23.1970 6.1766 21.3031
512 17.1978 25.3053 7.1531 21.5917
1024 19.6301 25.4638 10.8144 21.8326
2048 20.1266 25.5414 10.5028 21.8620
5120 16.1277 25.2529 10.0321 21.8806
1.1.2.4.2.3. SDR12 Mode (25 Mhz, 4-bit) Theoretical Max: 12.5 MB/s
Size of transfer (KB) RAW Write Throughput (MB/s) RAW Read Throughput (MB/s) FATFS Write Throughput (MB/s) FATFS Read Throughput (MB/s)
256 10.4441 12.1737 7.4638 11.6136
512 11.7706 12.7451 8.3473 11.2668
1024 12.1422 12.7849 8.1162 11.7605
2048 10.6161 12.6480 8.7243 11.7944
5120 10.5560 12.7905 7.7535 11.7644
1.1.2.4.2.4. SDR25 Mode (50 Mhz, 4-bit) Theoretical Max: 25 MB/s
Size of transfer (KB) RAW Write Throughput (MB/s) RAW Read Throughput (MB/s) FATFS Write Throughput (MB/s) FATFS Read Throughput (MB/s)
256 18.2026 23.1671 8.6253 21.3138
512 22.3404 23.2119 11.5208 21.7179
1024 23.5901 25.4608 11.7399 21.8375
2048 18.4276 25.4902 9.6887 21.8445
5120 18.7401 25.4801 10.5616 21.7928
1.1.2.4.2.5. SDR50 Mode (50 Mhz, 4-bit) Theoretical Max: 50 MB/s
Size of transfer (KB) RAW Write Throughput (MB/s) RAW Read Throughput (MB/s) FATFS Write Throughput (MB/s) FATFS Read Throughput (MB/s)
256 10.2785 12.1818 8.2445 11.6118
512 11.6902 12.7454 8.7071 11.7211
1024 12.1075 12.7850 5.7749 11.7567
2048 10.6031 12.6482 8.1000 11.7854
5120 10.6788 12.7856 8.3636 11.7928
1.1.2.4.2.6. DDR50 Mode (50 Mhz, 4-bit) Theoretical Max: 50 MB/s
Size of transfer (KB) RAW Write Throughput (MB/s) RAW Read Throughput (MB/s) FATFS Write Throughput (MB/s) FATFS Read Throughput (MB/s)
256 6.9305 12.0953 8.5565 11.5589
512 10.0143 12.6839 4.6335 11.2046
1024 8.3383 12.6585 8.3296 11.7760
2048 11.3560 12.8060 8.6380 11.7942
5120 11.7524 12.8179 9.0731 11.7941
1.1.2.4.3. EMMC Performance
1.1.2.4.3.1. DS Mode (25 Mhz, 8-bit) Theoretical Max: 25 MB/s
Size of transfer (KB) RAW Write Throughput (MB/s) RAW Read Throughput (MB/s)
256 17.9307 24.1654
512 21.7098 24.3818
1024 22.2063 24.5315
2048 22.9107 24.6094
5120 23.1459 24.6557
1.1.2.4.3.2. HS-SDR Mode (50 Mhz, 8-bit) Theoretical Max: 50 MB/s
Size of transfer (KB) RAW Write Throughput (MB/s) RAW Read Throughput (MB/s)
256 28.9045 47.3296
512 40.5394 48.0476
1024 43.1190 48.6487
2048 44.8207 48.9602
5120 44.5454 49.1382
1.1.2.4.3.3. HS-DDR Mode (50 Mhz, 8-bit) Theoretical Max: 100 MB/s
Size of transfer (KB) RAW Write Throughput (MB/s) RAW Read Throughput (MB/s)
256 37.8440 85.2685
512 55.7174 87.8997
1024 61.1965 89.9847
2048 62.9917 90.9917
5120 65.6862 91.6242
1.1.2.4.3.4. HS-200 Mode (200 Mhz, 8-bit) Theoretical Max: 200 MB/s
Size of transfer (KB) RAW Write Throughput (MB/s) RAW Read Throughput (MB/s)
256 59.5625 167.1338
512 60.1588 176.7500
1024 59.9475 185.2541
2048 63.2776 189.7290
5120 63.6930 192.3779
1.1.2.4.3.5. HS-400 Mode (200 Mhz, 8-bit) Theoretical Max: 400 MB/s
Size of transfer (KB) RAW Write Throughput (MB/s) RAW Read Throughput (MB/s)
256 45.7704 277.5628
512 70.1400 299.8706
1024 59.7322 327.6698
2048 62.2072 286.5238
5120 64.9819 254.8713

1.1.2.5. CSL-FL based Optimized OSPI Example

1.1.2.5.1. CPU Mode - Test Set-up
  • Platform: AM64x EVM.

  • OS Type: Baremetal

  • Core : R5F_0 at 800 MHz

  • Software/Application Used: csl_ospi_flash_app

  • System Configuration:
    • RCLK 133/166 MHz
    • Cache ON,
    • Buffer & Critical Fxn’s in TCMB,
    • DMA Disabled,
    • Interrupts ON.
  • Theoretical Max Throughput:
    • 133 MHz :- 253.67 MB/s
    • 166 MHz :- 316.62 MB/s
1.1.2.5.2. DAC Mode OSPI Read Performance (Dual Data Rate - Octal Mode)
OSPI RCLK Size of transfer (B) Read Time (ns) Throughput (MB/s)
133 MHz 16 2530 6.3
32 2915 11.0
64 4335 14.8
128 6560 19.5
256 11435 22.4
166 MHz 16 2010 8.0
32 2920 11.0
64 4045 15.8
128 6600 19.4
256 11125 23.0
1.1.2.5.3. DMA Mode - Test Set-up
  • OS Type: Baremetal

  • Core : R5F_0 at 800 MHz

  • Software/Application Used: udma_baremetal_ospi_flash_testapp

  • System Configuration:
    • RCLK 133 MHz
    • Cache ON,
    • Buffer & Critical Fxn’s in TCMB,
    • DMA Enabled - SW Trigger mode,
    • Interrupts OFF.
1.1.2.5.4. DAC DMA Mode OSPI Read Performance (Dual Data Rate - Octal Mode)
OSPI RCLK Size of transfer (B) Read Time (ns) Throughput (MB/s)
133 MHz 16 1850 8.6
32 800 40
64 1085 60
128 2060 62.1
256 3795 67.5
512 7290 70.2
1024 14265 71.8