NOTICE: The Processors Wiki will End-of-Life on January 15, 2021. It is recommended to download any files or other content you may need that are hosted on processors.wiki.ti.com. The site is now set to read only.

Processor SDK Linux Automotive Data Sheet

From Texas Instruments Wiki
Jump to: navigation, search

Ti stk 1c rev rgb png.png

Last updated: 12/28/2017

Contents


Read This First [edit]

All performance numbers provided in this document are gathered using DRA75x Evaluation Module with A15 running at 1500Mhz and DDR3 configured at 532MHz and DRA72x Evaluation module with A15 running at 1500Mhz and DDR3 configured at 666Mhz

About This Manual [edit]

This document provides a feature overview and performance data for each of the device drivers which are part of the Processor SDK Linux Automotive Release package. This document should be used in conjunction with the release notes provided with the Processor SDK Linux Automotive package for information on specific issues present with drivers included in a particular release.


U-Boot Overview [edit]

Boot Modes Supported [edit]

Green colored box in the table below means that the particular boot mode is supported on the device in the release.

DRA7xx Supported Boot Modes
Boot Mode DRA7xx Evaluation Module (EVM)
QSPI Flash Yes
MMC/SD Yes
eMMC Boot Yes
UART Boot No
NOR Flash No
EMAC Boot No
USB Boot No


Note: These are supported boot modes in Processor SDK Linux Automotive software, the actual hardware may support many more boot modes than shown here. Please refer to hardware documentation for list of all supported boot modes.


U-Boot Features Supported [edit]

U-Boot is the defacto bootloader for Linux kernel on ARM. The following features of U-Boot are supported in this release.

U-Boot supported feature table
Feature DRA7xx (Evaluation Module)
Ethernet Download (TFTP) Yes
MMC/SD Yes
QSPI Flash Yes
eMMC Yes
UART No


Memory Section Details[edit]

MMC/SD bootmode 1st Stage Memory Section on DRA7xx
Memory Section Size( in bytes)
.text 62700
.rodata 37310
.data 5462
.bss 200188
  • MMC/SD bootmode u-boot 1st Stage (MLO) size: 106720 bytes


MMC/SD bootmode 2nd Stage Memory Section on DRA7xx
Memory Section Size( in bytes)
.text 267424
.rodata 105836
.data 13536
.bss 324060
  • MMC/SD bootmode u-boot 2nd Stage (u-boot.img) size: 831664 bytes


Linux Kernel [edit]

Kernel Virtual Memory Layout (DRA75x) [edit]

The default DRA7xx kernel configuration, uses following Virtual Memory laout:

[0.000000] Memory: 1309568K/1564672K available (6619K kernel code, 371K rwdata, 2560K rodata, 336K init, 290K bss, 25728K reserved, 229376K cma-reserved, 716800K highmem) 
[0.000000] Virtual kernel memory layout:
[0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
[0.000000]     fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
[0.000000]     vmalloc : 0xf0800000 - 0xff800000   ( 240 MB)
[0.000000]     lowmem  : 0xc0000000 - 0xf0000000   ( 768 MB)
[0.000000]     pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
[0.000000]     modules : 0xbf000000 - 0xbfe00000   (  14 MB)
[0.000000]        .text : 0xc0008000 - 0xc08ff044   (9181 kB)
[0.000000]        .init : 0xc0900000 - 0xc0954000   ( 336 kB)
[0.000000]        .data : 0xc0954000 - 0xc09b0f50   ( 372 kB)
[0.000000]        .bss : 0xc09b2000 - 0xc09fa840   ( 291 kB)



Kernel Virtual Memory Layout (DRA72x) [edit]

The default DRA72x kernel configuration, uses following Virtual Memory layout:

[    0.000000] Memory: 1821272K/2072576K available (6619K kernel code, 371K rwdata, 2560K rodata, 336K init, 290K bss, 30120K reserved, 221184K cma-reserved, 1224704K highmem)
[    0.000000] Virtual kernel memory layout:
[    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
[    0.000000]     fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
[    0.000000]     vmalloc : 0xf0800000 - 0xff800000   ( 240 MB)
[    0.000000]     lowmem  : 0xc0000000 - 0xf0000000   ( 768 MB)
[    0.000000]     pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
[    0.000000]     modules : 0xbf000000 - 0xbfe00000   (  14 MB)
[    0.000000]       .text : 0xc0008000 - 0xc08ff044   (9181 kB)
[    0.000000]       .init : 0xc0900000 - 0xc0954000   ( 336 kB)
[    0.000000]       .data : 0xc0954000 - 0xc09b0f50   ( 372 kB)
[    0.000000]        .bss : 0xc09b2000 - 0xc09fa840   ( 291 kB)


Kernel Virtual Memory Layout (DRA71x) [edit]

The default DRA71x kernel configuration, uses following Virtual Memory layout:

[0.000000] Memory: 1821268K/2072576K available (6619K kernel code, 371K rwdata, 2560K rodata, 336K init, 290K bss, 30124K reserved, 221184K cma-reserved, 1224704K highmem)
[0.000000] Virtual kernel memory layout:
[0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
[0.000000]     fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
[0.000000]     vmalloc : 0xf0800000 - 0xff800000   ( 240 MB)
[0.000000]     lowmem  : 0xc0000000 - 0xf0000000   ( 768 MB)
[0.000000]     pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
[0.000000]     modules : 0xbf000000 - 0xbfe00000   (  14 MB)
[0.000000]       .text : 0xc0008000 - 0xc08ff044   (9181 kB)
[0.000000]       .init : 0xc0900000 - 0xc0954000   ( 336 kB)
[0.000000]       .data : 0xc0954000 - 0xc09b0f50   ( 372 kB)
[0.000000]        .bss : 0xc09b2000 - 0xc09fa840   ( 291 kB)


Kernel Virtual Memory Layout (DRA76x) [edit]

The default DRA76x kernel configuration, uses following Virtual Memory layout:

[    0.000000] Memory: 3896972K/4174848K available (6611K kernel code, 319K rwdata, 2452K rodata, 340K init, 290K bss, 48500K reserved, 229376K cma-reserved, 3322880K highmem)
[    0.000000] Virtual kernel memory layout:
[    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
[    0.000000]     fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
[    0.000000]     vmalloc : 0xf0800000 - 0xff800000   ( 240 MB)
[    0.000000]     lowmem  : 0xc0000000 - 0xf0000000   ( 768 MB)
[    0.000000]     pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
[    0.000000]     modules : 0xbf000000 - 0xbfe00000   (  14 MB)
[    0.000000]       .text : 0xc0008000 - 0xc08e202c   (9065 kB)
[    0.000000]       .init : 0xc08e3000 - 0xc0938000   ( 340 kB)
[    0.000000]       .data : 0xc0938000 - 0xc0987ce0   ( 320 kB)
[    0.000000]        .bss : 0xc0989000 - 0xc09d1800   ( 290 kB)



Carveout size and location [edit]

Below table lists the size and memory of areas that are set aside from the Linux memory map for use by remotecores. This information is taken from $PSDKLA/board-support/linux/arch/arm/boot/dts/dra7-evm.dts.

Remotecore Start Address Carveout size(MB)
IPU2 0x95800000 56
DSP1 0x99000000 64
IPU1 0x9d000000 32
DSP2(only DRA75X) 0x9f000000 8


There is also an additional carveout set aside for use by the CMEM allocator. This memory region can be used to transfer data between remotecores and MPU without doing a data copy. This information is taken from $PSDKLA/board-support/linux/arch/arm/boot/dts/dra7xx-jamr3.dtsi.

Purpose Start Address Carveout size(MB)
CMEM 0x95400000 4


Linux Kernel Drivers [edit]

This section provides brief overview of the device drivers supported in the Linux Kernel of the release package.

Device Driver List [edit]

The following table list the various device drivers supported and the device they are supported on. On detailed information on specific features or limitations of a pariticular driver, refer to the chapter catering to that driver in this document.

Peripheral Driver Support
Peripheral Description Linux driver type DMA usage
Audio (McASP) Audio Record and Playback ALSA SoC sDMA / eDMA
Ethernet Ethernet Network driver Netdev Internal DMA
USB1 DWC3(DRD)-SS/HS/FS/LS DWC3 Device & xhci host controller driver USB HCD/DCD USB Internal DMA
USB2 DWC3(DRD)-HS/FS/LS DWC3 Device & xhci host controller driver USB HCD/DCD USB Internal DMA
QSPI Flash/Controller Driver Flash storage system MTD Block EDMA(for read)
eMMC/SD/MMC Interface to MultiMedia Secure Digital cards Block SDMA
UART Serial Communication Interface Character Supported
I2C Inter-IC Communication Character Not Supported
DSS Display Subsystem driver Platform driver Internal DMA
VIP Video IP driver V4L2 Capture VPDMA
VPE Video Processing Engine driver V4L2 Mem to Mem VPDMA
CPUFreq Supports multiple SoC operating levels for MPU(OPPs) NA None
RTC Realtime clock Character None



ALSA SoC Audio Driver [edit]

This section an overview of the ALSA SoC audio driver features along with the throughput and CPU load numbers.

Introduction [edit]

DRA7xx Audio driver complies to the Advanced Linux Sound Architecture (ALSA) System on Chip (SoC) framework (ASoC).

The ASoC framework splits an embedded audio system into three components:

  • Codec driver: The codec driver is generic and hardware independent code that configures the audio codec to provide audio capture and playback. It should contain no code that is specific to the target platform or machine.
  • Platform driver: The platform driver can be divided into audio DMA and SoC Digital Audio Interface (DAI) configuration and control. The platform driver only targets the SoC CPU and must have no board specific code.
  • Machine driver: The ASoC machine (or board) driver is the code that glues together the platform and codec drivers. It can contain codec and platform specific code. It registers the audio subsystem with the kernel as a platform device.

Driver Features [edit]

The driver supports the following features:

  1. Supports AIC3106 audio codec in ALSA SoC framework.
  2. Sample rate support - 44.1kHz for both capture and playback.
  3. Supports audio in stereo mode
  4. Supports simultaneous playback and record (full-duplex mode).
  5. Supports mixer interface for the audio codec


Features Not Supported [edit]

  1. OSS based applications, which use ALSA-OSS emulation layer, are not supported.
  2. Synthesizer and midi interfaces are not supported.

Constraints [edit]

Supported System Calls [edit]

Refer ALSA project - the C library reference [1] for API calls.

Performance and Benchmarks [edit]

  1. Access type - RW_INTERLEAVED
  2. Channels - 2
  3. Format - S16_LE
  4. Period size - 64


ALSA Playback performance
Sampling Rate (bytes) Processor SDK Linux Automotive 3.04
DRA71x DRA72x DRA74x DRA76x
Throughput (bits /sec) CPU Load (%) Throughput (bits/sec) CPU Load (%) Throughput (bits/sec) CPU Load (%) Throughput (bits/sec) CPU Load (%)
8000 352800.0 0.32 352790.0 0.26 352793.0 0.08 352800.0 0.12
11025 352800.0 0.28 352790.0 0.25 352793.0 0.1 352800.0 0.13
16000 352800.0 0.28 352790.0 0.27 352793.0 0.08 352800.0 0.14
22050 705599.0 0.45 705580.0 0.37 705586.0 0.15 705599.0 0.21
24000 705599.0 0.49 705580.0 0.5 705586.0 0.13 705599.0 0.16
32000 705599.0 0.47 705580.0 0.37 705586.0 0.15 705599.0 0.18
44100 1411198.0 0.85 1411160.0 0.6 1411172.0 0.26 1411198.0 0.29
48000 1411198.0 0.87 1411160.0 0.6 1411172.0 0.31 1411198.0 0.3
88200 2822393.0 1.77 2822318.0 1.14 2822342.0 0.55 2822394.0 0.67
96000 2822393.0 1.46 2822318.0 1.07 2822342.0 0.53 2822394.0 0.62




ALSA Playback performance
Sampling Rate (bytes) Processor SDK Linux Automotive 3.04
DRA71x DRA72x DRA74x DRA76x
Throughput (bits /sec) CPU Load (%) Throughput (bits/sec) CPU Load (%) Throughput (bits/sec) CPU Load (%) Throughput (bits/sec) CPU Load (%)
8000 352942.0 0.3 352933.0 0.19 352935.0 0.08 352942.0 0.12
11025 352942.0 0.3 352933.0 1.62 352935.0 0.06 352942.0 0.12
16000 352942.0 0.25 352932.0 0.16 352935.0 0.07 352942.0 0.1
22050 705884.0 0.4 705865.0 0.29 705871.0 0.15 705884.0 0.16
24000 705884.0 0.48 705865.0 0.33 705871.0 0.11 705884.0 0.17
32000 705884.0 0.43 705865.0 0.35 705871.0 0.16 705884.0 0.17
44100 1411767.0 0.78 1411729.0 0.52 1411741.0 0.21 1411767.0 0.31
48000 1411767.0 0.67 1411729.0 0.7 1411741.0 0.2 1411767.0 0.28
88200 2823531.0 1.36 2823457.0 1.1 2823481.0 0.41 2823533.0 0.43
96000 2823531.5 1.39 2823457.0 1.28 2823481.0 0.43 2823533.0 0.67



Ethernet Driver [edit]

This section provides an overview of the Ethernet driver features along with throughput and CPU load numbers. Ethernet driver follows standard Linux network interface architecture.

Introduction [edit]

The Ethernet driver supports the Linux netdev interface.

CPSW STACK

Driver Features [edit]

The driver supports the following features:

  1. 10/100/1000 Mbps mode of operation.
  2. Auto negotiation.
  3. Full duplex and half duplex mode of operation.
  4. Linux NAPI support
  5. Support for MII and RGMII interfaces to PHY
  6. Operation of both external ports as independent network interfaces on DRA75x
* Enable CONFIG_ETHERNET through menuconfig (Menu Config->Device Drivers->Network device support & Menu config-> Networking support)

Features Not Supported [edit]

On DRA72x only the first port instance on the EVM base board is supported. The second port instance is not supported


Supported System Calls [edit]

Supports the socket() and related system calls in accordance with Linux architecture.

Performance and Benchmarks [edit]

Setup : Device under test connected to Linux PC through gigabit switch.

DRA75x DRA72x DRA71x
Revision Frequency Revision Frequency Revision Frequency
DRA752 ES2.0 Rev-G3 @1.5Gh DRA722-GP ES2.0 Rev-C @1.5Gh DRA71 EVM ES2.0 REV A.1 @1Gh


TCP Performance [edit]

Ethernet performance table
TCP Window Size(Kbytes) Processor SDK Linux Automotive 3.04
DRA71x DRA72x DRA74x DRA76x
Bandwidth (without interrupt pacing, in Mbits/sec) CPU Load (without interrupt pacing, in %) Bandwidth (with interrupt pacing, in Mbits/sec) CPU Load (with interrupt pacing, in %) Bandwidth (without interrupt pacing, in Mbits/sec) CPU Load (without interrupt pacing, in %) Bandwidth (with interrupt pacing, in Mbits/sec) CPU Load (with interrupt pacing, in %) Bandwidth (without interrupt pacing, in Mbits/sec) CPU Load (without interrupt pacing, in %) Bandwidth (with interrupt pacing, in Mbits/sec) CPU Load (with interrupt pacing, in %) Bandwidth (without interrupt pacing, in Mbits/sec) CPU Load (without interrupt pacing, in %) Bandwidth (with interrupt pacing, in Mbits/sec) CPU Load (with interrupt pacing, in %)
8 274.4 77.48 268.8 62.12 292.8 61.19 278.4 51.65 352.0 49.53 380.0 55.09 710.2 62.3 385.6 45.72
16 362.4 99.91 279.76 100.0 434.4 84.37 548.8 89.12 507.2 63.69 656.0 80.54 699.2 60.38 558.4 64.03
32 389.6 99.96 312.48 99.98 613.6 99.98 666.4 99.44 378.4 50.14 867.2 93.57 994.4 75.16 798.4 69.49
64 388.0 99.98 334.4 99.98 632.0 100.0 739.2 99.8 384.0 50.29 948.8 97.62 1088.8 87.89 1080.0 92.86
128 363.2 100.0 384.8 100.0 600.0 100.0 772.0 99.87 791.2 84.68 1006.4 98.64 1093.6 88.88 1031.2 90.05
256 388.8 100.0 472.0 99.95 635.2 100.0 848.0 98.54 390.4 50.57 784.0 68.24 1173 98.3 992.7 87.2


Note:Throughput reported is cumulative throughput of Tx+Rx collected from concurrent bi-directional test

The performance numbers were captured using the iperf tool. Usage details are mentioned below:

  • iperf version 2.0.5
  • On PC Host invoke iperf in the server mode.
iperf -s
  • On the DUT iperf is invoked in client mode   (bi-directional traffic for 60 seconds).
iperf -c <server ip> -w <window size> -d -t 60
  • Interrupt pacing feature enabled with pacing interval set to 125usecs.
ethtool -C eth0 rx-usecs 125
  • DUT is connected to a gigabit network.


OMAPDRM/OMAPDSS (Display Subsystem Driver) [edit]

Introduction [edit]

The OMAPDRM internally uses OMAPDSS driver interface for configuration of panel drivers and the encoder interface(DPI/HDMI).

Menuconfig Option[edit]
Enable CONFIG_DRM_OMAP through (Menuconfig->Device Drivers->Graphics support)
Enable CONFIG_OMAP2_DSS_DRA7XX_DPI, CONFIG_OMAP5_DSS_HDMI, CONFIG_OMAP5_DSS_HDMI_DDC through (Menuconfig->Device Drivers->Graphics support->OMAP2+ Display Subsystem support)
Enable CONFIG_PANEL_TFCS9700 through (Menuconfig->Device Drivers->Graphics support->OMAP2+ Display Subsystem support->OMAP2/3 Display Device Drivers)
Source Location[edit]
  • omapdss
drivers/video/fbdev/omap2/dss/
  • display drivers
drivers/video/fbdev/omap2/displays-new
  • omapdrm
drivers/gpu/drm/omapdrm/

Driver Features [edit]

OMAPDRM Display controller (DISPC)[edit]

DRM Plane Features:

  • One Graphics (GFX) and Three Video pipelines (VID1, VID2, and VID3)
  • Z-order, Alpha blending (Global, pre-multipled), Scaler and CSC

DRM CRTC Features:

  • One TV and three LCD Overlay Managers
  • Supports 1080p at 60Hz for all CRTCs

OMAPDRM Interfaces[edit]

HDMI Interface

  • HDMI protocol engine
  • HDMI 1.4 support

RGB Interface

  • Supports 24bit LCD Fixed Resolution Panels

Features Not Supported [edit]

  • Rotation/Tiler 2D
  • Default BG color, Transparency and color Keys

Constraints [edit]

  • Number of CRTCs must be passed either through bootargs or kernel config, which limits number of free DRM planes.
  • When DSS Writeback pipeline is used to perform scaling, some formats have limitations on scaling ratios as shown below.
Format Max Horz. Downscale Max Vert Downscale
YUYV 2 4
UYVY 2 4
NV12 2 2

Supported System Calls [edit]

All libdrm APIs are supported.

QSPI Driver [edit]

Introduction [edit]

This chapter describes the QSPI platform driver & flash driver features and performance numbers (throughput and CPU load).

QSPI Platform driver feature [edit]

QSPI is a serial driver. Supports 4-Pin single read, 4-Pin single write & 6-Pin quad read. It implements only SPI_CORE mode & no support for memory mapped interface. Clock phase & polarity configured to mode-3 & functional clock programmed at 48MHz. There is no support for DMA data transfer.

The pointer to TI qspi hardware driver is drivers/spi/spi-ti-qspi.c

 * Enable CONFIG_SPI_TI_QSPI through menuconfig (Menuconfig->Device Drivers->SPI support->DRA7xxx QSPI controller support)


QSPI Flash driver feature [edit]

Spansioin S25FL256S serial flash used on DRA7xx evm. The property of the flash are

  • 256 Mbits (32 Mbytes)
  • 256 or 512 Byte Page Programming buffer options
  • 64KB erase sector size
  • Normal, Fast, Dual & Quad

Linux mtd m25p80 used as serial flash device driver for s25FL256S. The driver layer exports API for device info read, sector erase, chip erase, data read & write. It creates the device node for user space access (example, /dev/mtd0)

The pointer to mtd m25p80 flash device driver is drivers/mtd/devices/m25p80.c

 * Enable CONFIG_MTD_M25P80 through menuconfig (Menuconfig->Device Drivers->Memory Technology Device(MTD) support ->Self-contained
   MTD device drivers->Support most SPI Flash chips)


JFFS2 Filesystem Support [edit]

QSPI flash driver is mtd based block driver. Support to mount JFFS2 filesystem on /dev/mtd0. Validated to mount JFFS2 filesystem & performed basic file IO operations.

There is an exception on remounting the filesystem. It is known limitation in this release.

Erase the flash to mount JFFS2 filesystem
$flash_eraseall -j /dev/mtd0
Mount the serial flash
$mount -t jffs2 /dev/mtdblock01 /mnt/nor
Create a new file
$echo NewFileCreated > /mnt/nor/testfile.txt
Read the file
$cat /mnt/nor/testfile.txt
Delete the file
$rm /mnt/nor/testfile.txt

Performance Benchmark [edit]

Not available for this release.

MMC/SD Driver [edit]

This chapter provides details on MMC/SD driver along with throughput and CPU load numbers.

Introduction [edit]

The MMC controller provides an interface to external MMC cards. The MMC driver is implemented as a block driver. Block device nodes(such as /dev/mmcblockp1, /dev/mmcblockp2) are created for user space access.
Compliance with standards:

• Full compliance with SD command/response sets as defined in the SD Physical Layer specification v3.01
• Full compliance with SD Host Controller Standard Specification sets as defined in the SD card specification Part A2 v3.00
. Full compliance with MMC/eMMC command/response sets as defined in the JC64 MMC/eMMC standard specification, v4.5.
MMC SD Driver diag.png

Driver Features [edit]

The driver supports the following features:

  1. MMC/SD native protocol command/response set
  2. Single/multiple block data transfers
  3. Linux file system and generic MMC layer abstract details of block devices (MMC)
  4. High-speed (SDv1.1) and High Capacity (SDv2.0) cards
  5. Support for 4 bit modes
  6. Support for card detect and Write protect features
  7. DMA and polled mode for data transfer operations

Features Not Supported [edit]

  1. SPI mode of operation
  2. PIO mode of operation
  3. Write protection is not supported on the J6 EVM

Constraints [edit]

  1. MMC/SD cards should not be removed when the card is mounted. If done so, data integrity cannot be guaranteed.

Supported System Calls [edit]

open(),close(),read(),write()

Performance and Benchmarks [edit]

IMPORTANT
The performance numbers can be severely affected if the media is mounted in sync mode. Hot plug scripts in the filesystem mount removable media in sync mode to ensure data integrity. For performance sensitive applications, umount the auto-mounted filesystem and re-mount in async mode.

*Note: On DRA6x-EVM, UHS mode is not supported hence the card is used in high speed mode Refer to release notes for defect details.

EXT4 file system [edit]

MMC-SD EXT4 write Performance
Buffer size (bytes) Processor SDK Linux Automotive 3.04
DRA71x DRA72x DRA74x DRA76x
Write Throughput (Mbytes/sec) Write CPU Load (%) Write Throughput (Mbytes/sec) Write CPU Load (%) Write Throughput (Mbytes/sec) Write CPU Load (%) Write Throughput (Mbytes/sec) Write CPU Load (%)
102400 40.7 36.69 46.2 29.65 42.27 12.79 20.58 5.94
262144 40.94 38.19 54.99 35.08 41.25 14.48 20.11 5.65
524288 41.03 37.85 60.29 37.57 42.78 16.37 19.98 6.48
1048576 40.55 38.28 57.79 35.96 42.53 17.12 20.33 6.82
5242880 40.83 38.67 54.74 33.69 42.81 15.7 20.46 5.18
MMC-SD EXT4 read Performance
Buffer size (bytes) Processor SDK Linux Automotive 3.04
DRA71x DRA72x DRA74x DRA76x
Read Throughput (Mbytes/sec) Read CPU Load (%) Read Throughput (Mbytes/sec) Read CPU Load (%) Read Throughput (Mbytes/sec) Read CPU Load (%) Read Throughput (Mbytes/sec) Read CPU Load (%)
102400 75.85 21.21 70.55 14.58 75.32 9.85 22.0 3.09
262144 75.28 23.13 70.71 15.75 76.16 9.56 21.95 2.88
524288 75.21 26.09 70.28 14.58 76.16 10.95 22.09 2.99
1048576 75.99 19.84 70.52 18.12 75.8 48.7 22.05 2.99
5242880 74.81 25.55 70.57 14.79 76.33 11.15 22.03 2.88


The performance numbers were captured using the following:

  • SD Card Sandisk Ultra 16G Class 10 [UHS-1] SDHC card
  • File System: ext4
  • Partition was mounted with async option


VFAT file system [edit]

MMC-SD VFAT write Performance
Buffer size (bytes) Processor SDK Linux Automotive 3.04
DRA71x DRA72x DRA74x DRA76x
Write Throughput (Mbytes/sec) Write CPU Load (%) Write Throughput (Mbytes/sec) Write CPU Load (%) Write Throughput (Mbytes/sec) Write CPU Load (%) Write Throughput (Mbytes/sec) Write CPU Load (%)
102400 30.79 31.66 26.61 21.28 32.16 41.64 17.7 7.21
262144 31.04 31.95 43.34 34.3 32.91 13.74 18.42 7.07
524288 31.33 32.54 48.74 36.79 32.64 13.82 18.52 7.26
1048576 31.35 31.71 45.35 33.92 33.14 14.15 19.06 6.94
5242880 31.34 31.12 43.85 33.33 32.73 13.17 18.51 8.05
MMC-SD VFAT read Performance
Buffer size (bytes) Processor SDK Linux Automotive 3.04
DRA71x DRA72x DRA74x DRA76x
Read Throughput (Mbytes/sec) Read CPU Load (%) Read Throughput (Mbytes/sec) Read CPU Load (%) Read Throughput (Mbytes/sec) Read CPU Load (%) Read Throughput (Mbytes/sec) Read CPU Load (%)
102400 73.96 24.46 65.39 12.67 70.27 33.22 21.0 3.06
262144 73.68 24.09 65.07 17.61 72.89 10.92 21.02 2.77
524288 74.07 26.95 64.49 18.52 71.75 10.45 20.79 3.53
1048576 72.56 24.29 65.34 15.03 72.14 11.15 21.12 2.98
5242880 72.69 27.14 66.06 16.0 71.43 11.38 21.15 2.88

EMMC Performance and Benchmarks [edit]

IMPORTANT
The performance numbers can be severely affected if the media is mounted in sync mode. Hot plug scripts in the filesystem mount removable media in sync mode to ensure data integrity. For performance sensitive applications, umount the auto-mounted filesystem and re-mount in async mode.

VFAT file system [edit]

EMMC VFAT write Performance
Buffer size (bytes) PSDKLA_3.04
DRA71x DRA72x DRA74x DRA76x
Write Throughput (Mbytes/sec) Write CPU Load (%) Write Throughput (Mbytes/sec) Write CPU Load (%) Write Throughput (Mbytes/sec) Write CPU Load (%) Write Throughput (Mbytes/sec) Write CPU Load (%)
102400 10.74 11.41 10.89 7.87 12.14 5.07 11.75 4.49
262144 10.72 12.05 11.27 8.34 12.2 5.85 11.79 5.34
524288 10.72 12.14 11.75 7.87 11.79 5.05 11.62 4.39
1048576 10.72 12.14 11.74 8.49 12.08 5.03 11.79 4.58
5242880 10.75 12.08 11.79 8.52 12.19 5.26 11.79 4.69
EMMC VFAT read Performance
Buffer size (bytes) PSDKLA_3.04
DRA71x DRA72x DRA74x DRA76x
Read Throughput (Mbytes/sec) Read CPU Load (%) Read Throughput (Mbytes/sec) Read CPU Load (%) Read Throughput (Mbytes/sec) Read CPU Load (%) Read Throughput (Mbytes/sec) Read CPU Load (%)
102400 92.75 31.07 105.64 24.47 95.2 14.42 94.44 13.82
262144 92.87 37.61 106.5 26.04 96.11 14.95 93.12 13.96
524288 92.92 38.05 105.88 29.29 98.8 16.36 93.64 14.22
1048576 92.77 34.86 105.73 29.17 97.19 16.04 90.14 13.66
5242880 92.95 35.19 105.71 23.6 97.24 13.04 94.28 12.62

The performance numbers were captured using the following:

  • File System: vfat
  • Partition was mounted with async option


EXT4 file system [edit]

EMMC EXT4 write Performance
Buffer size (bytes) PSDKLA_3.04
DRA71x DRA72x DRA74x DRA76x
Write Throughput (Mbytes/sec) Write CPU Load (%) Write Throughput (Mbytes/sec) Write CPU Load (%) Write Throughput (Mbytes/sec) Write CPU Load (%) Write Throughput (Mbytes/sec) Write CPU Load (%)
102400 11.19 10.21 12.16 6.44 12.62 4.19 12.26 3.76
262144 12.03 11.29 12.21 7.67 12.66 3.91 12.28 3.64
524288 12.06 10.45 12.23 6.47 12.49 4.14 12.27 3.3
1048576 12.1 10.58 12.27 7.83 12.0 3.53 12.48 4.11
5242880 12.06 10.33 12.22 6.58 12.64 4.08 12.5 3.89
EMMC EXT4 read Performance
Buffer size (bytes) PSDKLA_3.04
DRA71x DRA72x DRA74x DRA76x
Read Throughput (Mbytes/sec) Read CPU Load (%) Read Throughput (Mbytes/sec) Read CPU Load (%) Read Throughput (Mbytes/sec) Read CPU Load (%) Read Throughput (Mbytes/sec) Read CPU Load (%)
102400 98.36 25.0 85.18 18.33 98.68 14.22 86.08 9.83
262144 98.29 28.71 97.44 23.58 83.92 12.5 99.22 12.92
524288 84.58 24.14 84.79 21.95 97.73 12.21 99.36 14.29
1048576 84.35 26.05 97.61 22.33 97.9 11.9 87.08 10.87
5242880 84.57 26.27 85.12 21.67 98.91 12.25 99.63 14.08


The performance numbers were captured using the following:

  • File System: ext4
  • Partition was mounted with async option


UART Driver [edit]

This chapter provides details on UART driver.

Introduction [edit]

The UART driver is implemented as a serial driver, and can be accessed from user space as /dev/ttyOX(X=0-5)

Uart diag.png


Driver Features [edit]

  • Both Peripheral mode and DMA mode are supported

Features Not Supported [edit]

  • Hardware Flow Control due to board limitation
  • UART DMA mode supported but not validated at baud rates greater than 115200 due to HW limitation mentioned above (Flow control).
  • Baud rate of 12 Mbps was not validated.



Supported System Calls [edit]

open(),close(),read(),write(),ioctl()

Supported IOCTLs [edit]

Constant Description
TIOCGSERIAL Gets device parameters from the UART (example, port type, port num, baud rate, base divisor, and so on.
TIOCSSERIAL Sets UART device parameters (example, port type, port num, baud rate, base divisor, and so on)

Performance and Benchmarks [edit]

Performance and Benchmarks not available in this release.


I2C Driver [edit]

This chapter provides details on I2C driver.

Introduction [edit]

The I2C peripheral is compliant with the Philips Semiconductor I2C-bus specification version 2.1. The I2C driver is implemented as a serial driver. The I2C driver can be accessed from the user space as /dev/i2c/0.

I2C Driver.png

Driver Features [edit]

The driver supports the following features:

  1. 7-bit addressing mode
  2. Fast mode
  3. Interrupt mode

Features Not Supported [edit]

  1. 7-bit and 10-bit addressing combined format is not supported
  2. DMA mode is not supported

Supported System Calls [edit]

open(),close(),read(),write(),ioctl()

Supported IOCTLs [edit]

Constant Description
I2C_SLAVE_FORCE Changes slave address. Slave address is 7 or 10 bits. This changes the address, even if it is already considered.
I2C_FUNCS Gets the adapter functionality
I2C_RDWR Combined R/W transfer (one stop only)

Performance and Benchmarks [edit]

Performance and Benchmarks not available in this release.


VIP Driver[edit]

Introduction [edit]

The Video Input Port (VIP) is a V4L2 based video capture driver.

Driver Features [edit]

  • V4L2 Single planar ioctls supported.
  • Supports MMAP and DMABUF buffering methods
  • Inline Scaling support
  • Multi instance capture support
  • Simultaneous capture from multiple ports
  • Configurable video interfaces via endpoint nodes in DT
  • Supports descrete/embedded sync, 8/16/24 bit bus, YUYV and RGB format cameras
  • Capture upto 60 fields/frames per second
  • Selection of muxed cameras through device tree
  • Multi channel CVBS camera capture


Features Not Supported [edit]

Following features are not supported at this point of time.

  • Inline Color Space Conversion support
  • Multi planar buffer support
  • Runtime selection of cameras
  • Media controller framework


Supported System Calls [edit]

  • Standard V4L2 streaming ioctls
  • Format negotiation with subdevice
  • Frame size enumration ioctls
  • Control ioctls as implemented by subdev
  • No custom ioctls needed

Performance Benchmarks [edit]

The following performance benchmarks were measured on DRA7xx

  • IRQ latency
    • The average IRQ latency of the interrupts to the VIP driver is measured as the time difference between a VPDMA list post and VIP ISR callback
    • A zero sized list post would generate IRQ immediately
    • When measured across 1002 samples, the average interrupt latency is 15.94 us
    • Peak IRQ latency is 138 us
    • For all the following latencies, IRQ latency is not considered
  • Capture latency
    • average capture latency is the time taken by the driver to make the buffer available for the userspace
    • It is calculated as the time difference between the IRQ and the time where DQBUF ioctl returns
    • This would vary based on the size of the captured buffer
  • Capture display latency
    • Average capture display latency is the time difference between the time a buffer was captured and the time when it was given for display
    • This is the total latency between end of the capture frame and start of display frame

Following table shows latencies for different capture sizes with around 10000 frames

Capture display performance on DRA7xx
Capture size Capture latency (J6) Capture latency (J6Eco) Capture latency (J6Entry)
720x240 60fps (Analog decoder TVP5158) 48us 51us 102us
1280x720 30fps (Digital OV camera) 59us 65us 116us
  • multi instance capture latency
    • Following table shows latencies for for multi instance capture scenario
    • Here, five different VIP ports are used to capture from LVDS cameras
    • All the captures are at 1280x720 YUYV format at 30fps
VIP driver Capture latency multi-instance
Capture thread Average capture latency
LVDS cam1 35us
LVDS cam2 32us
LVDS cam3 51us
LVDS cam4 36us




CAL Driver[edit]

Introduction [edit]

The Camera Adaptor Layer (CAL) is a V4L2 based video capture driver used with CSI cameras.

Driver Features [edit]

  • V4L2 Single planar ioctls supported.
  • Supports MMAP and DMABUF buffering methods
  • Simultaneous capture from two phy0(4lane) and phy1(2lane)
  • Configurable video interfaces via endpoint nodes in DT - Supports CSI bindings


Features Not Supported [edit]

Following features are not supported at this point of time.

  • Multi planar buffer support
  • Media controller framework
  • Multi channel capture from muxed CSI input


Supported System Calls [edit]

  • Standard V4L2 Capture ioctls
  • No custom ioctls needed

Performance Benchmarks [edit]

The following performance benchmarks were measured on DRA7xx

Following table shows latencies using CSI video capture with around 10000 frames

Capture display performance on DRA7xx
Capture size Capture latency (J6eco)
1280x720 30fps (4 lane CSI capture) 78us



VPE Driver[edit]

Introduction [edit]

Video processing Engine(VPE) is a V4L2 Mem to Mem driver. It supports video operations such as scaling, colour space conversion and deinterlacing.

Driver Features [edit]

Video processing Engine(VPE) supports following formats for scaling, csc and deinterlacing:

  • Supported Input formats: NV12, YUYV, UYVY
  • Supported Output formats: NV12, YUYV, UYVY, RGB24, BGR24, ARGB24, ABGR24
  • Inline Scaling supports
  • Horizontal up-scaling up to 8x and Downscaling up to 4x using Pre-decimation filter.
  • Vertical up-scaling up to 8x and Polyphase down-scaling up to 4x followed by RAV scaling.
  • V4L2 M2M Multiplanar ioctl() supported.
  • Multiple V4L2 device context supported.

Features Not Supported [edit]

  • Following formats are not supported : YUV444, YVYU, VYUY, NV16, NV61, NV21, 16bit and Lower RGB formats are not supported.
  • Passing of custom scaler and CSC coeffficients through user spcase are not supported.
  • Only Linear scaling is supported without peaking and trimming.
  • Deinterlacer does not support film mode detection.

Constraints [edit]

  • VPE functional clock is restricted to 266Mhz due to HW constraints.

Supported System Calls [edit]

  • Standard v4l2 m2m ioctls

Performance benchmarks [edit]

  • Frames per second (FPS)
    • FPS is the total number of frames processed by VPE per second
    • FPS for a mem2mem device like VPE depends on the size of the data that is being processed.
    • As VPE performs deinterlacing, scaling, color space conversion on the fly, FPS value for any of these combination should be same.
    • Following tables shows the fps values for multiple operations measured when VPE is running at 266Mhz
J6 VPE performance measures
Operation Time for 1000 frames Frames per second Hardware utilization
DEI 1920 540 yuyv to 1920 1080 yuyv 1 7.93 s 126.10 98.30%
DEI + SC 1920 540 yuyv to 1280 720 yuyv 1 7.93 s 126.10 98.30%
DEI + SC + CSC 1920 540 yuyv to 1280 720 rgb24 1 7.94 s 125.94 98.17%
SC 1280 720 yuyv to 1920 1080 yuyv 0 7.89 s 126.74 98.80%
CSC 1920 1080 yuyv to 1920 1080 rgb24 0 7.92 s 126.26 98.42%
CSC + SC 320 240 yuyv to 640 480 nv12 0 1.20 s 833.33 96.24%
DEI + SC 720 240 nv12 to 1280 720 yuyv 1 3.56 s 280.89 97.31%
DEI + CSC 720 240 yuyv to 720 480 yuyv 1 1.36 s 735.29 95.53%
J6eco VPE performance measures
Operation Time for 1000 frames Frames per second Hardware utilization
DEI 1920 540 yuyv to 1920 1080 yuyv 1 7.94 s 125.94 98.17%
SC 1280 720 yuyv to 1920 1080 yuyv 0 7.89 s 126.74 98.80%
CSC 1920 1080 yuyv to 1920 1080 rgb24 0 7.92 s 126.26 98.42%
CSC + SC 320 240 yuyv to 640 480 nv12 0 1.20 s 833.33 96.24%
DEI + SC 720 240 nv12 to 1280 720 yuyv 1 3.56 s 280.89 97.31%
DEI + CSC 720 240 yuyv to 720 480 yuyv 1 1.37 s 729.92 94.83%
J6entry VPE performance measures
Operation Time for 1000 frames Frames per second Hardware utilization
DEI 1920 540 yuyv to 1920 1080 yuyv 1 7.95 s 125.78 98.05%
SC 1280 720 yuyv to 1920 1080 yuyv 0 7.90 s 126.58 98.67%
CSC 1920 1080 yuyv to 1920 1080 rgb24 0 7.93 s 126.10 98.30%
CSC + SC 320 240 yuyv to 640 480 nv12 0 1.21 s 826.44 95.44%
DEI + SC 720 240 nv12 to 1280 720 yuyv 1 3.56 s 280.89 97.31%
DEI + CSC 720 240 yuyv to 720 480 yuyv 1 1.37 s 729.92 94.83%
J6Plus VPE performance measures
Operation Time for 1000 frames Frames per second Hardware utilization
DEI 1920 540 yuyv to 1920 1080 yuyv 1 7.92 s 126.26 98.42%
SC 1280 720 yuyv to 1920 1080 yuyv 0 7.89 s 126.74 98.80%
CSC 1920 1080 yuyv to 1920 1080 rgb24 0 7.91 s 126.42 98.55%
CSC + SC 320 240 yuyv to 640 480 nv12 0 1.20 s 833.33 96.24%
DEI + SC 720 240 nv12 to 1280 720 yuyv 1 3.55 s 281.69 97.59%
DEI + CSC 720 240 yuyv to 720 480 yuyv 1 1.37 s 729.92 94.83%


USB Driver [edit]

This section gives an overview of the USB DWC3(XHCI) controller driver features supported/not supported, constraints and performance numbers.

DWC3(XHCI) USB controller[edit]

The DWC3 (XHCI) based controller supports following features

  • USB1: SuperSpeed (SS) USB 3.0 Dual-Role-Device (DRD) subsystem with integrated SS (USB3.0) PHY and HS/FS (USB2.0) PHY
  • USB2: High-Speed (HS) USB 2.0 Dual-Role-Device (DRD) subsystem with integrated HS/FS PHY

Features Not Supported [edit]

  • OTG support (HNP/SRP)

Features Supported [edit]

  • USB Host mode.
  • USB Peripheral mode
  • USB DRD mode (Dual Role Device)

USB Configuration [edit]

For USB configuration selection please refer to USB General Guide Linux

Driver Features [edit]

The driver supports the following features

DRD (Dual Role Device) support[edit]

The DRD (Dual role device) support enable the each instance of controller to configure either as "Host" or "Device" mode. Refer to User's Guide for more details how to configure the controller into DRD mode.

Host mode support[edit]

Host Mode
Host Mode Feature Supported
HUB class support Yes
Human Interface Class (HID) Yes
Mass Storage Class (MSC) Yes
USB Video Class (UVC) Yes
USB Audio Class (UAC) Yes


USB Mass Storage Class Host Driver[edit]

Constraint [edit]

None

Supported System Calls[edit]

open(), close(), read(), write(), ioctl()

Supported IOCTLS [edit]

None

Performance Benchmarks [edit]

 Setup : Western Digital Ultra Superspeed HDD (500GB) connected to usb1 or usb2 port.
 SS - SuperSpeed, HS - Highspeed.

Note: The performance number is limited by the USB HDD used. The high performance device (SSD based USB3.0) would give better performance numbers.


USB - ext2 File System Performance [edit]

USB EXT2 write Performance
Buffer size (bytes) 3.04
DRA75x DRA72x DRA71x DRA76x
USB1 SS USB2 HS USB1 SS USB2 HS USB1 SS USB2 HS USB1 SS USB2 HS
Write Throughput (Mbytes/sec) Write CPU Load (%) Write Throughput (Mbytes/sec) Write CPU Load (%) Write Throughput (Mbytes/sec) Write CPU Load (%) Write Throughput (Mbytes/sec) Write CPU Load (%) Write Throughput (Mbytes/sec) Write CPU Load (%) Write Throughput (Mbytes/sec) Write CPU Load (%) Write Throughput (Mbytes/sec) Write CPU Load (%) Write Throughput (Mbytes/sec) Write CPU Load (%)
102400 35.62 14.78 32.78 12.78 35.65 29.27 32.91 27.51 34.64 35.22 32.03 31.56 34.53 14.55 33.73 12.52
262144 74.27 28.68 34.17 13.04 72.02 59.31 33.55 27.42 70.93 71.23 32.65 30.49 75.49 29.63 34.16 15.13
524288 74.87 27.99 33.67 13.14 73.70 58.87 33.91 27.81 69.78 70.14 31.94 31.17 71.49 30.69 34.66 14.38
1048576 73.14 28.89 34.16 12.92 72.02 59.31 33.67 29.49 70.93 72.55 32.66 31.17 76.71 32.58 34.41 14.14
5242880 73.70 27.99 34.27 12.98 72.59 60.14 33.78 28.38 70.93 70.14 32.30 33.02 72.59 32.17 34.41 14.07


USB EXT2 read Performance
Buffer size (bytes) 3.04
DRA75x DRA72x DRA71x DRA76x
USB1 SS USB2 HS USB1 SS USB2 HS USB1 SS USB2 HS USB1 SS USB2 HS
Read Throughput (Mbytes/sec) Read CPU Load (%) Read Throughput (Mbytes/sec) Read CPU Load (%) Read Throughput (Mbytes/sec) Read CPU Load (%) Read Throughput (Mbytes/sec) Read CPU Load (%) Read Throughput (Mbytes/sec) Read CPU Load (%) Read Throughput (Mbytes/sec) Read CPU Load (%) Read Throughput (Mbytes/sec) Read CPU Load (%) Read Throughput (Mbytes/sec) Read CPU Load (%)
102400 102.70 15.30 36.34 10.43 102.70 41.49 36.72 13.33 102.69 43.18 36.56 15.07 104.98 20.00 35.44 8.36
262144 104.97 17.03 36.25 5.61 106.14 40.00 36.22 11.28 106.14 47.78 36.03 11.28 98.42 18.78 35.59 6.85
524288 95.76 16.00 36.31 6.24 106.14 45.65 36.73 14.02 106.14 45.35 36.17 13.64 99.05 20.51 36.19 5.62
1048576 104.72 17.13 36.41 7.27 106.14 43.18 37.17 16.12 106.14 48.86 36.67 14.34 100.24 20.51 35.46 7.32
5242880 104.97 21.51 36.96 7.41 102.37 40.00 36.39 15.83 106.14 49.45 35.64 20.14 98.98 18.56 35.80 6.90


USB - VFAT File System Performance [edit]

USB VFAT write Performance
Buffer size (bytes) 3.04
DRA75x DRA72x DRA71x DRA76x
USB1 SS USB2 HS USB1 SS USB2 HS USB1 SS USB2 HS USB1 SS USB2 HS
Write Throughput (Mbytes/sec) Write CPU Load (%) Write Throughput (Mbytes/sec) Write CPU Load (%) Write Throughput (Mbytes/sec) Write CPU Load (%) Write Throughput (Mbytes/sec) Write CPU Load (%) Write Throughput (Mbytes/sec) Write CPU Load (%) Write Throughput (Mbytes/sec) Write CPU Load (%) Write Throughput (Mbytes/sec) Write CPU Load (%) Write Throughput (Mbytes/sec) Write CPU Load (%)
102400 52.15 22.11 26.40 12.76 50.16 47.76 24.82 24.57 48.36 53.77 25.35 27.00 51.72 24.04 26.61 12.83
262144 48.72 21.72 25.56 12.53 49.11 46.92 25.59 27.41 46.25 50.46 24.62 26.46 51.37 23.62 26.16 13.49
524288 48.81 22.01 25.67 11.67 49.99 45.69 25.21 23.10 47.16 51.63 24.75 26.16 50.86 23.81 25.12 12.77
1048576 50.79 22.19 26.48 13.23 50.35 48.53 25.23 26.65 47.91 51.20 24.19 26.19 49.60 24.51 26.51 13.08
5242880 50.70 21.61 25.61 11.29 50.35 48.53 26.74 27.58 47.34 51.17 24.77 25.31 50.86 23.86 25.56 12.56
USB VFAT read Performance
Buffer size (bytes) 3.04
DRA75x DRA72x DRA71x DRA76x
USB1 SS USB2 HS USB1 SS USB2 HS USB1 SS USB2 HS USB1 SS USB2 HS
Read Throughput (Mbytes/sec) Read CPU Load (%) Read Throughput (Mbytes/sec) Read CPU Load (%) Read Throughput (Mbytes/sec) Read CPU Load (%) Read Throughput (Mbytes/sec) Read CPU Load (%) Read Throughput (Mbytes/sec) Read CPU Load (%) Read Throughput (Mbytes/sec) Read CPU Load (%) Read Throughput (Mbytes/sec) Read CPU Load (%) Read Throughput (Mbytes/sec) Read CPU Load (%)
102400 98.95 19.90 33.12 5.75 98.92 43.33 33.70 8.7 99.79 50.53 32.98 18.06 98.79 22.28 32.19 6.38
262144 102.48 19.57 33.74 5.53 99.97 50.00 32.89 15.91 102.38 50.57 32.99 13.56 102.36 23.12 32.01 7.01
524288 102.61 21.39 33.96 6.90 98.23 42.22 33.54 17.38 102.75 48.81 32.99 20.31 102.32 22.75 32.01 7.11
1048576 102.46 20.00 34.15 4.35 98.26 44.09 33.58 20.25 102.40 53.33 33.58 21.45 102.59 20.56 32.06 7.11
5242880 94.71 15.38 33.25 4.30 97.71 47.47 33.70 16.11 99.78 52.17 32.58 11.64 102.54 22.99 31.98 7.23

USB Peripheral mode Support [edit]

NCM Gadget Support [edit]

The NCM(Network control Model) gadget driver that is used to send standard Ethernet frames using USB. The driver will create an Ethernet device by the name usb0.

Driver Features [edit]

Supports default DMA mode.

Features Not Supported [edit]

None

Constraint [edit]

None

Supported System Calls [edit]

open(), close(), read(), write(), ioctl()

Supported IOCTLS [edit]

None

Performance Benchmarks [edit]

Performance benchmarks were collected using the Iperf tool and default options were used to collect the throughput numbers.


USB NCM Gadget Performance [edit]

    Setup : EVM as client and Linux Host PC as server
command at EVM: iperf -c <linux host ip_adr> -w <8|16|32|64|128>K -t 60 -d
command at Host: iperf -s
USB NCM Gadget Performance values - Client
TCP Window Size(in KBytes)
DRA75X DRA72X DRA71X DRA76X
Mbps Mbps Mbps Mbps
16 103.6 100.2 95.9 105.0
32 221.5 208.8 201.2 222.1
64 300.0 292.0 284.0 311.0
128 286.0 285.0 284.0 295.0
  • DRA75X: The cpu load is 12%, 21%, 32%, 31% for 16K, 32K, 64K, 128K window size respectively.
  • DRA72X: The cpu load is 19%, 37%, 49%, 58% for 16K, 32K, 64K, 128K window size respectively.
  • DRA71X: The cpu load is 21%, 45%, 61%, 59% for 16K, 32K, 64K, 128K window size respectively
  • DRA76X: The cpu load is 13%, 21%, 33%, 32% for 16K, 32K, 64K, 128K window size respectively.


SATA Driver [edit]

The SATA controller compliance to Serial ATA Standard specification (revision 2.6) and Serial ATA Advanced Host Controller Interface Specification (AHCI) revision 1.1. The AHCI based SATA host controller supports both Gen1/2 speeds, 1.5-Gbps (SATA-1) and 3Gbps (SATA-2)

  • Please refer Technical Reference Module for more information.

Registers as a SCSI controller with the Linux SCSI Subsystem. SATA devices get registered as SCSI devices and can be accessed as "/dev/sd{*}" devices.

The driver supports the following features:

1. SATA HDD
2. CD/DVD support

 * Enable CONFIG_ISO9660_FS through menuconfig (Menuconfig->File Systems->CD-ROM/DVD Filesytem->"ISO 9660 CDROM file system support")
 * Enable CONFIG_BLK_DEV_SR through menuconfig (Menuconfig->Device Drivers->Scsi Device Support->"SCSI CD ROM support")

3. Port Multiplier support

 * Enable CONFIG_SATA_PMP through menuconfig (Menuconfig->Device Drivers->Serial ATA and Paralle ATA drivers->SATA Port Multiplier support)

Features Not Supported [edit]

  • None.

Constraints [edit]

Supported System Calls [edit]

All Linux ATA/SCSI system calls related to SATA

Supported IOCTLs [edit]

Supports IOCTLS available in Linux SCSI and ATA frameworks and which are applicable for SATA. Refer kernel source or documentation for details.

Performance and Benchmarks [edit]

  • Western Digital 500GB (3Gbps)SATA (16M cache) HDD is used to measure the performance data

SATA - ext4 -File System Performance [edit]

  • Note: SATA is not supported on DRA71x.
SATA EXT4 write Performance
Buffer size (bytes) Processor SDK Linux Automotive 3.04
DRA72x DRA74x DRA76x
Write Throughput (Mbytes/sec) Write CPU Load (%) Write Throughput (Mbytes/sec) Write CPU Load (%) Write Throughput (Mbytes/sec) Write CPU Load (%)
102400 109.37 38.78 109.28 17.44 109.65 15.0
262144 109.01 38.28 107.58 16.43 109.17 13.88
524288 106.77 39.02 108.32 18.74 108.42 13.76
1048576 112.83 37.46 109.36 17.89 109.75 13.62
5242880 110.94 35.48 107.22 17.98 109.27 14.46
SATA EXT4 read Performance
Buffer size (bytes) Processor SDK Linux Automotive 3.04
DRA72x DRA74x DRA76x
Read Throughput (Mbytes/sec) Read CPU Load (%) Read Throughput (Mbytes/sec) Read CPU Load (%) Read Throughput (Mbytes/sec) Read CPU Load (%)
102400 108.67 23.35 118.52 12.97 118.93 10.59
262144 107.05 24.15 120.02 12.87 118.96 10.01
524288 112.57 26.58 111.19 12.68 116.69 9.88
1048576 114.42 27.76 115.05 12.53 115.66 10.66
5242880 112.22 26.85 113.19 13.34 113.37 11.5

SATA - VFAT File System Performance [edit]

  • Note: SATA is not supported on DRA71x
SATA VFAT write Performance
Buffer size (bytes) Processor SDK Linux Automotive 3.04
DRA72x DRA74x DRA76x
Write Throughput (Mbytes/sec) Write CPU Load (%) Write Throughput (Mbytes/sec) Write CPU Load (%) Write Throughput (Mbytes/sec) Write CPU Load (%)
102400 70.81 45.82 70.77 30.48 81.45 26.05
262144 70.66 46.07 69.56 29.92 81.42 25.33
524288 70.06 45.1 70.05 29.94 81.62 25.69
1048576 70.09 45.34 69.97 29.45 82.45 26.03
5242880 69.61 44.71 70.86 30.01 82.18 26.2
SATA VFAT read Performance
Buffer size (bytes) Processor SDK Linux Automotive 3.04
DRA72x DRA74x DRA76x
Read Throughput (Mbytes/sec) Read CPU Load (%) Read Throughput (Mbytes/sec) Read CPU Load (%) Read Throughput (Mbytes/sec) Read CPU Load (%)
102400 122.44 26.95 126.28 14.33 126.35 11.59
262144 124.02 29.07 126.25 15.15 126.18 11.09
524288 123.44 30.4 126.18 14.88 126.5 12.08
1048576 121.5 29.71 126.03 15.01 126.04 11.89
5242880 124.18 32.25 126.01 15.39 125.99 10.88

Power Management [edit]

Introduction [edit]

DRA7xx provides a rich set of power management features. The features include Clock control at module level, multiple power and voltage domains etc. It also provides the typical power consumption observed for different scenarios.

Lock Frequency of various PLLs
IP DRA75x Frequency (MHz) DRA72x Frequency (MHz) DRA71x Frequency (MHz) DRA76x Frequency (MHz)
MPU As per OPP (1000/1176/1500) As per OPP (1000/1176/1500) As per OPP (600/800/1000) As per OPP (1000/1176/1500/1800)
IPU 212.8 212.8 212.8 212.8
DSP 700 700 600 700
IVA 532 532 532 532
SGX 425 425 425 425
L3 266 266 266 266
DDR 532 667 667 667



Multimedia [edit]

Introduction [edit]

Multimedia consist of hardware accelerated video decoder(IVAHD). IVAHD subsystem is used for video decoding/encoding through libdce interface.
Multimedia Stack

Supported Codecs[edit]

MJPEG decoder - version 01.00.16.01
H264 decoder - version 02.00.21.01
MPEG4 decoder - version 01.00.15.01
VC1 decoder - version 01.00.02.05
MPEG2 decoder - version 01.00.17.01
MPEG4 Encoder - Version 01.00.02.01
H264 Encoder - Version 02.00.09.01
MJPEG Encoder - Version 01.00.17.01

Supported Playback Application[edit]

GStreamer version 1.6 with following display sinks:

  • waylandsink
  • kmssink

Viddec3test: application that demonstrates viddec3 API usage for video decode and display (using KMS).

Features Not Supported [edit]

  • viddec3test doesn't support mpeg1 video playback
  • viddec3test doesn't support h264 level 5 streams

Constraints [edit]


Performance Benchmarks [edit]

IVAHD decode performance on DRA75x
Stream Resolution H264 MPEG4 MPEG2 Opp Frequency
IVAHD FPS at load(in %) Application FPS IVAHD FPS at load(in %) Application FPS IVAHD FPS at load(in %) Application FPS
720p 65.30 at 34% 184.54 59.28 at 29% 223.88 58.74 at 34% 160.56 IVAHD at 532MHz

IPU at 212MHz

1080p 56.34 at 67% 86.82 57.26 at 58% 108.88 54.79 at 59% 113.26


IVAHD encode performance on DRA75x
Stream Resolution H264 MPEG4 Opp Frequency
IVAHD FPS at load(in %) Application FPS IVAHD FPS at load(in %) Application FPS
720p 58.32 at 40% 156.06 55.25 at 41% 145.10 IVAHD at 532MHz

IPU at 212MHz

1080p 28.87 at 39% 75.94 27.54 at 41% 69.81


IVAHD decode performance on DRA72x
Stream Resolution H264 MPEG4 MPEG2 Opp Frequency
IVAHD FPS at load(in %) Application FPS IVAHD FPS at load(in %) Application FPS IVAHD FPS at load(in %) Application FPS
720p 60 at 36% 183.53 59.95 at 30% 212.44 58.76 at 34% 223.35 IVAHD at 532MHz

IPU at 212MHz

1080p 58.52 at 69% 87.37 58.92 at 60% 110.29 56.78 at 65% 105.16


IVAHD encode performance on DRA72x
Stream Resolution H264 MPEG4 Opp Frequency
IVAHD FPS at load(in %) Application FPS IVAHD FPS at load(in %) Application FPS
720p 55.73 at 38% 173.28 56.73 at 39% 165.60 IVAHD at 532MHz

IPU at 212MHz

1080p 28.32 at 38% 84.12 26.5 at 40% 81.61


IVAHD decode performance on DRA71x
Stream Resolution H264 MPEG4 MPEG2 Opp Frequency
IVAHD FPS at load(in %) Application FPS IVAHD FPS at load(in %) Application FPS IVAHD FPS at load(in %) Application FPS
720p 57.8 at 37% 136.60 59.41 at 30% 168.24 57.90 at 31% 171.88 IVAHD at 532MHz

IPU at 212MHz

1080p 52.51 at 62% 65.81 57.92 at 58% 88.41 53.14 at 60% 87.01


IVAHD encode performance on DRA71x
Stream Resolution H264 MPEG4 Opp Frequency
IVAHD FPS at load(in %) Application FPS IVAHD FPS at load(in %) Application FPS
720p 53.13 at 37% 113.12 53.25 at 36% 103.47 IVAHD at 532MHz

IPU at 212MHz

1080p 25.32 at 35% 54.51 25.31 at 37% 50.78


IVAHD decode performance on DRA76x
Stream Resolution H264 MPEG4 MPEG2 Opp Frequency
IVAHD FPS at load(in %) Application FPS IVAHD FPS at load(in %) Application FPS IVAHD FPS at load(in %) Application FPS
720p 58.08 at 33% - 58.58 at 28% - 57.55 at 29% - IVAHD at 532MHz

IPU at 212MHz

1080p 53.01 at 60% - 58.50 at 55% - 52.53 at 57% -


IVAHD encode performance on DRA76x
Stream Resolution H264 MPEG4 Opp Frequency
IVAHD FPS at load(in %) Application FPS IVAHD FPS at load(in %) Application FPS
720p 66.14 at 47% - 65.34 at 47% - IVAHD at 532MHz

IPU at 212MHz

1080p 33.29 at 45% - 32.9 at 47% -


  • Performance is calculated using the gstreamer video decoder application with the following command :
 gst-launch-1.0 playbin uri=file://<Path to stream> video-sink="kmssink sync=false" 
  • Performance is calculated using the gstreamer video encoder application with the following command :
 gst-launch-1.0 videotestsrc num-buffers=250 ! 'capture-format' ! <ducati encoder> ! fakesink 


Graphics [edit]

GC320 [edit]

Introduction [edit]

GC320 is a 2D GPU core from Vivante Technologies. The GC320 2D engine takes surfaces and performs functions like blending, filtering, rotation, overlay, resizing, transparency, and other dynamic effects.

Driver Features [edit]

Vivante provides Hardware and Platform independent API for its 2D GPU series. Vivante software includes 2D control mechanisms which allow the user to implement customized applications and drivers using the Vivante 2D –specific API. The API relies on a HAL (Hardware Abstraction Layer) designed to simplify the complexity of graphics software development and hide platform and architecture dependent code. The HAL is portable across different platforms and architectures without changing the core—all platform and architecture dependent code lives within a tiny shell around the core.

Performance Benchmarks [edit]

GC320 unified driver has been validated for few performance benchmarking testcases.

GC320 performance measures
Operation Source format Destination Format Source Resolution Destination Resolution DRA75x (MPix/s) DRA72x (MPix/s)
BitBlit RGB565 RGB565 640x480 640x480 819.2 620.6
BitBlit RGB565 RGB565 1280x720 1280x720 930.9 644.4
BitBlit RGB565 RGB565 1920x1080 1920x1080 917.5 641.9
BitBlit A8R8B8G8 A8R8B8G8 640x480 640x480 415.1 316.7
BitBlit A8R8B8G8 A8R8B8G8 1280x720 1280x720 494.1 312.9
BitBlit A8R8B8G8 A8R8B8G8 1920x1080 1920x1080 503.3 314.4
StretchBlit RGB565 RGB565 320x240 640x480 333.9 330.3
StretchBlit RGB565 RGB565 640x360 1280x720 335.7 333.3
StretchBlit RGB565 RGB565 470x270 1920x1080 338.5 337.7
StretchBlit A8R8B8G8 A8R8B8G8 320x240 640x480 323.3 318.3
StretchBlit A8R8B8G8 A8R8B8G8 640x360 1280x720 325.6 320.5
StretchBlit A8R8B8G8 A8R8B8G8 480x270 1920x1080 330.4 327.3
FilterBlit RGB565 RGB565 320x240 640x480 230.1 227.5
FilterBlit RGB565 RGB565 640x360 1280x720 230.6 227.8
FilterBlit RGB565 RGB565 470x270 1920x1080 241.6 240.2
FilterBlit A8R8B8G8 A8R8B8G8 320x240 640x480 176.0 171.6
FilterBlit A8R8B8G8 A8R8B8G8 640x360 1280x720 176.3 172.2
FilterBlit A8R8B8G8 A8R8B8G8 480x270 1920x1080 189.7 187.9

SGX544-MP2 [edit]

Introduction [edit]

The SGX544-MP2 is a multicore (dual-core) evolution of the PowerVR® SGX544 GPU from Imagination Technologies. The 3D graphics processing unit (GPU) accelerates 3-dimensional (3D) graphics applications and 2-dimensional (2D) composition operations.

Driver Features [edit]

The following specifications are supported on the platform:

  • OpenGL ES 1.0
  • OpenGL ES 1.1
  • OpenGL ES 2.0
  • EGL 1.4

Features Not Supported [edit]

The following specifications are not supported on the platform:

  • OpenVG
  • OpenGL ES 3.0

Performance Benchmarks [edit]

The following performance benchmarks were measured on DRA7xx EVM with GLBenchmark offscreen tests.

GLBenchmark 2.5 performance on DRA7xx
Benchmark Test Number
FPS
DRA75x DRA72x DRA71x
GLBenchmark 2.1 Egypt Classic ETC1 - C16Z16 Offscreen 2000010 96 52 45
GLBenchmark 2.5 Egypt HD ETC1 - C24Z16 Fixed timestep Offscreen 2500015 25 13 11
GLBenchmark 2.5 Egypt HD ETC1 - C24Z16 Offscreen 2501011 29 15 13
GLBenchmark 2.5 Egypt HD PVRTC4 - C24Z16 Offscreen 2501111 29 16 13
GLBenchmark 2.5 Egypt HD ETC1->565 - C24Z16 Offscreen 2501411 29 15 13


GLBenchmark 2.5 Vertex throughput on DRA7xx
Benchmark Test Number
Mtriangles/sec
DRA75x DRA72x DRA71x
Triangle throughput: Textured 888 - C24Z16 Offscreen 2500311 46.64 20.25 18.72


GLBenchmark 2.5 pixel throughput on DRA7xx
Benchmark Test Number
MTexels/sec
DRA75x DRA72x DRA71x
Fill rate 888 - C24Z16 Offscreen 2500111 1476.32 775.01 688.72


Wayland [edit]

Introduction [edit]

Wayland is a protocol that specifies the communication between the display server (called Wayland compositor) and its clients. The Wayland protocol is essentially only about input handling and buffer management. The handling of the input hardware relies on evdev in Linux, and similar components in other operating systems. The initial implementation, chiefly libwayland-server, libwayland-client, libwayland-EGL and the reference implementation Weston are published under the MIT License.

It is widely regarded as a replacement for the X Window System.


Wayland API documentation [edit]

The documentation from the Wayland project can be accessed here [[2]]

Default supported clients [edit]

The list of clients and instructions on running them can be referenced from DRA7xx_Processor_SDK_Linux_Automotive_Software_Developers_Guide#Running_weston_clients

Performance Benchmarks [edit]

Performance benchmarks have not been run for this release.

E2e.jpg {{
  1. switchcategory:MultiCore=
  • For technical support on MultiCore devices, please post your questions in the C6000 MultiCore Forum
  • For questions related to the BIOS MultiCore SDK (MCSDK), please use the BIOS Forum

Please post only comments related to the article Processor SDK Linux Automotive Data Sheet here.

Keystone=
  • For technical support on MultiCore devices, please post your questions in the C6000 MultiCore Forum
  • For questions related to the BIOS MultiCore SDK (MCSDK), please use the BIOS Forum

Please post only comments related to the article Processor SDK Linux Automotive Data Sheet here.

C2000=For technical support on the C2000 please post your questions on The C2000 Forum. Please post only comments about the article Processor SDK Linux Automotive Data Sheet here. DaVinci=For technical support on DaVincoplease post your questions on The DaVinci Forum. Please post only comments about the article Processor SDK Linux Automotive Data Sheet here. MSP430=For technical support on MSP430 please post your questions on The MSP430 Forum. Please post only comments about the article Processor SDK Linux Automotive Data Sheet here. OMAP35x=For technical support on OMAP please post your questions on The OMAP Forum. Please post only comments about the article Processor SDK Linux Automotive Data Sheet here. OMAPL1=For technical support on OMAP please post your questions on The OMAP Forum. Please post only comments about the article Processor SDK Linux Automotive Data Sheet here. MAVRK=For technical support on MAVRK please post your questions on The MAVRK Toolbox Forum. Please post only comments about the article Processor SDK Linux Automotive Data Sheet here. For technical support please post your questions at http://e2e.ti.com. Please post only comments about the article Processor SDK Linux Automotive Data Sheet here.

}}

Hyperlink blue.png Links

Amplifiers & Linear
Audio
Broadband RF/IF & Digital Radio
Clocks & Timers
Data Converters

DLP & MEMS
High-Reliability
Interface
Logic
Power Management

Processors

Switches & Multiplexers
Temperature Sensors & Control ICs
Wireless Connectivity